Re: A few notes on text

Gavin Nicol ([email protected])
Tue, 6 Jun 1995 21:36:10 -0400


>The problem here is that Unicode has lots (50,000???) of symbols, which
>would never be in a single font. With a single family specified you'd
>have to display nothing or a "missing character" glyph if the requested
>character does not exist in that family. Specifying multiples just gives
>more fonts from which to find glyphs.

Unicode has around 32500 characters in it. In a fully multilingual
system based on Unicode (an example is Plan 9), the working set of
charcaters is not overly large (maybe 2000 or so). It is quite
possible to make it appear to the application that is has a single
large font, and the plan 9 papers describe one way. Basically, they
use a font map, which maps sub-fonts onto ranges of Unicode. This
seems possible for VRML (possibly, we could add a FontMap node).

Another idea is to have "font servers". A glyph, after all, is nothing
more than an image, which can be sent across the net. If a particular
viewer does not have the glyph image corresponding to a character, it
can go off and fetch it. Given caching, and the small working set, I
doubt performance would suffer overly much.

>Right. Multiple families does not solve this. Each string could contain
>only a single language. You'd need separate nodes for Japanes and
>Chinese, but with multiple families specified you could specifiy a
>language of "ja" and then give a string that has Japanese and Russian
>since glyphs for both exist in Unicode.

Hmm. Perhaps you could make language MFString as well, which would
give at least a fairly good idea of the glyphs required, so a
multithreading system could possibly start loading the fonts in
advance. Either that, or have a default value of "*" for language,
indicating "all". I think it's probably better to use a font map.