On 07/13/2010 03:38 AM, Philip Taylor (Webmaster, Ret'd) wrote:
> Michael Adams wrote:
>> Would it help to create a page with all the Unicode chars in the range you are
>> using and ask who can see how many based on font selections on a per
>> paragraph basis. For *my* Linux "Nimbus Roman No9 L" may be a well populated
>> serif font and "Nimbus Sans L" as sans serif (dunno i haven't gone into it
>> that much). You could also get replies from Mac, Windows 7, Vista and XP
>> users and try for the best combinations. I don't know the maximum fonts you
>> can have in a CSS fonts list - anyone?
> Thank you for the suggestion, Michael; it is certainly worth
> listing the more common "well populated" fonts as you suggest,
> but it doesn't address the real issue, which /seems/ to
> be (in the absence of any evidence to the contrary) that the
> CSS fallback mechanism was formulated at a time when Unicode
> was not yet prevalent, and does not seem to have evolved to
> cope with the need to have greater control over the fallback
> font selected in order to deal with the various character
> sets that the page uses.
I'm not sure what limitation you have in mind. If you list
a lot of fonts, the CSS font fallback algorithm will check
all of them on a *per character* basis, until it finds one
that has the glyph it needs. In some cases, this means the
text will be rendered in multiple fonts, because the first
font listed had some characters but not others, and the
second font had the remaining characters, etc.
The last step in the fallback algorithm is for the UA to
check its "default font" for the glyphs. On some OSes, this
"default font" is actually a set of fonts that collectively
covers the widest possible range of characters. And the
spec explicitly gives the UA permission to use any means
it wishes to find an appropriate glyph before falling back
to a missing character rendering.
If you want to exclude certain characters from a font from
ever being matched, then you would need to use an @font-face
rule with a unicode-range descriptor. This functionality was
part of CSS2, but was removed from CSS2.1 due to lack of
implementation, and has been re-introduced for CSS3.
Was there something else you wanted?
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/