From: Erik van der Poel (erik@vanderpoel.org)
Date: Tue Apr 26 2005 - 10:56:42 CST
Jukka K. Korpela wrote:
> On Mon, 25 Apr 2005, Curtis Clark wrote:
>>Actually, it is user-selectable, and at least in the case of Firefox, on
>>somewhat of a per-language basis.
>
> On Opera, too. But there are two kinds of settings, unless I've missed
> something:
> a) mapping serif, sans-serif etc. to specific fonts
> b) selecting the font to be used when a page makes no font suggestion
> (even using a generic font name) or when the browser has been set
> to ignore such suggestions.
> The latter is possible on IE, too, and the default font can be set
> differently for different writing systems. Presumably, this means that
> when processing text with no font suggestions, the browser determines
> which writing system each character belongs to and selects a font
> accordingly. Things are probably rather confusing and confused when
> we get into details. For example, the second kind of settings might
> look like being for _language_ dependent settings; and to add to the
> confusion, it probably partly _is_ dependent on the declared language.
>
> I've noticed that if I set e.g. lang="ru" for a piece of text containing
> Russian as transliterated (in Latin letters), browsers may think (from the
> lang attribute) that the text must be in Cyrillic letters, so they use
> the font selected for Cyrillic script. This is somewhat understandable,
> since browsers cannot really recognize the writing system - they need
> to make a guess.
It does get a little confusing when you get into the details. I don't
know exactly how Opera does it, so I won't comment on that, but I did
the initial implementations for the open source Windows and Linux/Unix
versions of Mozilla, so I'll say a little about that.
The CSS generics (serif, sans-serif, etc) are set on a
per-language-group basis. One of the groups is called Western, and this
is selected e.g. when no language has been specified and the charset has
been set to a Western one like iso-8859-1 via HTTP, HTML or browser
menu. So the language group concept is based on charsets, and this was
done because the early browsers set fonts on a per-charset basis, and a
lot of the Web at that point had come to rely on that.
Of course, when the language _is_ specified, Mozilla uses that to select
a font, by first mapping it to a language group, and so on. A while ago,
I wrote up a more detailed description for this mailing list:
http://www.unicode.org/mail-arch/unicode-ml/Archives-Old/UML025/0107.html
The approach and early intentions are written up here:
http://www.mozilla.org/projects/intl/fonts.html
Another bridge that we had to build from the old font preference world
to the new was from (proportional vs fixed width) to (serif vs
sans-serif vs monospace). This one was addressed by another UI element
to choose serif or sans-serif for proportional text. (Fixed width _is_
monospace, of course.)
Erik
This archive was generated by hypermail 2.1.5 : Tue Apr 26 2005 - 10:57:24 CST