Re: [css3-fonts] default font features


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?

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


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 UTC