On Tuesday 2010-07-13 09:57 +0100, Philip Taylor (Webmaster, Ret'd) wrote:
> Is there, therefore, in CSS, some way of specifying as a part of the
> font fallback sequence that any font selected as a result of fallback
> must support a specific subset of Unicode such that the page can be
> guaranteed to display correctly provided that such a font does in
> fact exist on the visitor's machine ?

As was already pointed out, this is already guaranteed by CSS.  I'd
like to explain in a drop more detail, though:

Font fallback is defined by CSS as being *per character*.  In other
words, for each character, the implementation is required to find
the font that best matches the font-family, font-weight, font-style,
etc.  This is defined in CSS 2.1:
  http://www.w3.org/TR/CSS21/fonts.html#algorithm
see especially bullet (2) ("and for each character in that
element"), bullet (4) ("but it does not contain a glyph for the
current character"), and bullet (5) ("If a particular character
...").

So the list given in the font-family property is a list of fonts to
be searched for each character in the text that is displayed, and
the generic families (explicitly or implicitly at the end of that
list) should cover a large set of fonts.  Browsers should not
display a "missing glyph" symbol unless there's no font they can
access with an appropriate glyph.

I suspect that browsers don't actually follow this algorithm to the
letter (it's rather hard to test, for a start).  However, I think
major browsers are generally quite good about finding some usable
font, if present, before falling back to a missing glyph symbol.

-David

-- 
L. David Baron                                 http://dbaron.org/
Mozilla Corporation                       http://www.mozilla.com/
______________________________________________________________________
css-discuss [cs...@lists.css-discuss.org]
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/

Reply via email to