At 8:51 PM +0900 on 07/13/2010, Philippe Wittenbergh wrote about Re:
[css-d] Fonts, fall-backs & Unicode:
>A modern OS / browser will do the job for you. You can specify a
>fallback font if your first choice is not available:
>
>p { font-family: font-a, font-b, font-c, serif;}
>
>Gecko, WebKit, Opera, and IE 8+ will look for the glyphs in font-a,
>if that doesn't have the coverage [*], the browser looks at font-b,
>then font-c; if that fail, it takes the default serif font / or /
>look for something in the list of installed fonts that provide
>coverage.
The problem is two fold (in my opinion).
First is that unlike with printing use, there is no "Font of Last
Resort" fall-back. That support says to use the defined font BUT if
there are glyphs in the text which are not in the font then to
attempt to display them using the FoLR (ie: The only use of the FoLR
glyphs to display the "missing" codepoints).
The second problem is that there is no way to request that the
fall-back be done ONLY for missing codepoints (similar to the FoLR
support). In your example above, requesting one or more glyphs that
are not in font-a makes the browser try font-b and then font-c until
a font is found that has support for ALL the requested glyphs. If
none contain all the needed glyphs (even though all the glyphs exist
in the combined list of supported glyphs), you get the browser's
default serif with "undefined codepoint glyphs" for the codepoints
not in the serif font. What I think should be looked into for the
long term is defining a CSS font-x parm that says use font-a to
display those glyphs that it supports (assuming that the font exists
- non-existence is equivalent for this purpose as does not support a
glyph) and fall-back down the list for the remaining glyphs until
every glyph has been displayed by a suggested font or a "missing
codepoint" glyph gets defaulted to.
______________________________________________________________________
css-discuss [[email protected]]
http://www.css-discuss.org/mailman/listinfo/css-d
List wiki/FAQ -- http://css-discuss.incutio.com/
List policies -- http://css-discuss.org/policies.html
Supported by evolt.org -- http://www.evolt.org/help_support_evolt/