W3C home > Mailing lists > Public > www-style@w3.org > March 2010

Re: [css3-fonts] opentype font feature support

From: Thomas Phinney <tphinney@cal.berkeley.edu>
Date: Thu, 4 Mar 2010 17:52:04 -0800
Message-ID: <f49ae6ac1003041752q332be80cq473fffae022faa5d@mail.gmail.com>
To: Jonathan Kew <jonathan@jfkew.plus.com>
Cc: www-style list <www-style@w3.org>
On Thu, Mar 4, 2010 at 5:08 PM, Jonathan Kew <jonathan@jfkew.plus.com> wrote:
> 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.

I think one problem is that what is "normal" is ambiguous here,
especially in a universe where most user agents don't know how to kern
at all (yet).

"Auto" to me suggests the UA is free to do what it thinks best. This
might mean kerning at larger sizes only, or only kerning at text sizes
when the size of the kern exceeds some threshold, or....

There is also the idea of "auto" as in "override the kerning in the
font (if there is any) with your own best guess as to correct
kerning"; this is an option in InDesign, but one doesn't see it in
much of anything else, and it is reasonably processing-intensive.

If one wants the first meaning of "auto" perhaps it should be named
"agent-choice" while the second meaning could be called
"agent-created"?

Cheers,

T

-- 
"The rat's perturbed; it must sense nanobots! Code grey! We have a
Helvetica scenario!" — http://xkcd.com/683/
Received on Friday, 5 March 2010 01:52:40 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:25 GMT