Re: [css3-fonts] opentype font feature support

On 5 Mar 2010, at 00:40, Richard Fink wrote:

> Thursday, March 04, 2010 6:31 PM <tphinney@cal.berkeley.edu>:
> 
> Håkon Wium Lie wrote:
>> How about:
>> font-kerning: none | normal | auto
> 
> Thomas Phinney wrote:
> 
>> I don't much care for "auto" here. Surely "kern" could be used and
>> would be clear enough.
> 
> I'm losing the semantic gist here, as if the apples were turning to oranges.
> If: 
> "none" means no kerning.
> "normal" means "use the kerning data that exists in the font"
> "auto" means "user agent, you make the decision on kerning"
> 
> Then "normal" means "kern". "Kern" wouldn't substitute for "auto". Or are
> you suggesting that "auto" be excised?
> 
> And if I'm getting the apples and oranges mixed up, I'm assuming others
> will, too, as I'm no stranger to CSS syntax.
> 
> font-kerning: none | normal | auto
> seems perfectly ok as long as the properties mean what I think they mean.
> 

Well, the draft says, "The value ‘normal’ implies that the default behavior of the rendering engine is used." In other words, this is the setting where the user agent makes the decision. So I think you've got "auto" and "normal" exchanged.

However, I agree that "normal" really ought to mean using the kerning data in the font. (And could be renamed "kern" if people want it to be more explicit.) Then "none" or "no-kerning" is obviously used to turn it off.

I'm not at all sure I'm in favor of a setting that means "user agent to decide".... it seems to me that if a UA is capable of kerning at all, then it should be doing it by default as a standard part of text rendering (just like it should be doing other standard features such as ccmp, locl, etc.) And "auto" sounds almost like it could imply InDesign's "optical kerning", where the UA would be encouraged to kern based on glyph outlines even in the absence of explicit kerning tables in the font. (That might be a nice feature, actually, though it's perhaps not likely to be implemented as quickly as standard table-driven kerning.)

So, I think the essentials would be

    font-kerning: none | normal
or
    font-kerning: no-kern | kern

with the default being normal/kern, of course. And possibly also an "auto" option, which would behave like "normal" if the font has kerning tables, but would also be encouraged to apply shape-based heuristics in the absence of explicit kerning data.

JK

Received on Friday, 5 March 2010 01:09:18 UTC