W3C home > Mailing lists > Public > www-style@w3.org > July 2012

Re: [css3-fonts] default font features

From: Adam Twardoch (List) <list.adam@twardoch.com>
Date: Fri, 06 Jul 2012 18:51:30 +0200
Message-ID: <4FF71792.6070908@twardoch.com>
To: John Daggett <jdaggett@mozilla.com>
CC: www-style list <www-style@w3.org>, www-font@w3.org
John,

I think this comparison would be even more useful if you add #p3 which
does not specify any font-feature-settings at all (i.e. not even
"normal"). Is the behavior the same as with "normal" for each browser?
A.

On 12-07-06 08:37, John Daggett wrote:
> I wanted to point out a somewhat subtle point about default font
> features and how implementations so far have implemented support for
> font-feature-settings.
>
> Doing some tests [1] I noticed that current implementations treat
> default features differently.  In both Webkit and IE10, if the
> 'font-feature-settings' property is 'normal' then no features are
> applied.  Common ligatures, which are a default feature, are not
> applied.  Language-sensitive forms are also not applied.
>
> Consider this example:
>
>   #p1 { font-feature-settings: normal; }
>   #p2 { font-feature-settings: "blah" on; }
>
>   <p id="p1">final AW Ta To <span lang="sr">б</span></p>
>   <p id="p2">final AW Ta To <span lang="sr">б</span></p>
>
> Since "blah" isn't a feature enabled by any font in use, these two
> lines *should* render the same.  They do in Firefox but in Webkit
> browsers the first line shows without kerning and ligatures, the
> second line with.  IE10 doesn't enable kerning and ligatures but it
> does show language specific forms in the second line (some fonts have
> a Serbian form of the 'б' character, which the lang="sr" tag should
> enable).
>
> The reason for the difference in both cases is a value other than
> 'normal' for font-feature-settings causes the browser to switch to
> some form of "typographic rendering mode" which enables a particular
> set of default features.  Having different modes is done for
> performance reasons to avoid the overhead of running through the
> OpenType layout process for all text.
>
> I think it's important for improving text rendering on the web that
> default features be on by default.  There's been agreement on that in
> the past but it's possible the implications of that for
> implementations were not clear to everyone.  Rather than having two
> modes for text rendering that change based on factors that aren't
> clear to authors or users (e.g. the use of 'font-variant',
> 'font-feature-settings' or the use of a complex script such as
> Arabic), text should appear the same, independent of short cuts and
> optimizations.  User agents can of course use fast path codepaths but
> the resulting text quality should always be the same as the
> unoptimized path.
>
> For situations that require bulk text rendering, authors can
> explicitly enable fast-path rendering by disabling default features.
>
> Regards,
>
> John Daggett
>
> [1] Simple kerning and ligature tests
> http://people.mozilla.org/~jdaggett/tests/simplekerningligs.html
>
>


-- 

May success attend your efforts,
-- Adam Twardoch
(Remove "list." from e-mail address to contact me directly.)
Received on Friday, 6 July 2012 16:52:03 GMT

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