RE: Single Unicode Font

From: Marco Cimarosti (marco.cimarosti@essetre.it)
Date: Fri May 25 2001 - 05:42:11 EDT


G. Adam Stanislav wrote:
> >There is no easy solution.
>
> Nevertheless, there is a very simple solution. It needs to be done
> on the OS level: Create metafonts.

I agree that metafonts (or font groups) may be a viable solution, but NOT
that it is a simple one.

In order for this idea to solve more problems that it creates, it must be
carefully thought, and the result can be much more complex that you suggest.

ADVANTAGES:

A "pan Unicode (meta)font" becomes modular. This is very handy for at least
two reasons:

1) People can install only the scripts they actually use, in whatever
combinations they need (you know Russian, Hindi and Tigrigna? only install
Cyrillic, Devanagari and Ethiopic).

2) People can choose which "module" they want for a certain script. For
instance, there is no doubt what "Times" is for Latin, Greek, Cyrillic and
Armenian, but what is the corresponding Arabic style
(http://www.sakkal.com/Arab_Calligraphy_Art7.html)? I say that Naskh goes
together well with Times, but you may have a different opinion: so we set up
metafonts differently.

DISADVANTAGES:

Metafonts can also make things more difficult in some cases:

1) Characters that go together MUST have a consistent design. For instance,
you cannot have "Arabic" letters in a font and additional "Persian" letters
in another font, because if the letters in the two fonts don't have the same
style and metrics, they won't link correctly.

2) When a character is in two or more fonts, the preference should not be
based on a fixed order. E.g., if I have a Japanese and a Chinese font into
the same metafont, I want that ideographs are taken from the font relative
to the language under the cursor.

3) Your explanation of how a metafont works seems to be based on the
assumption that each character has one and only one glyph, but this is not
true, as we know. "Smart" fonts like OpenType or ATSUI, in addition to
glyphs and metrics, contain RULES for choosing glyphs. These rules (I think)
cannot work across different fonts. So what to do?

NO ADVANTAGES / NO DISADVANTAGES:

Metafonts don't solve some of the problems involved (although they don't
make them more complicated). E.g., someone mentioned that there are
typographic problems in putting together glyphs from different graphic
traditions:

1) Types are measured with different units: Europe uses pica points (1/72 of
an inch, I think), while other continents mostly use millimeters.

2) Different scripts have different baselines: European letters "walk" over
an imaginary horizontal line, Hindi letters are "hang" under it; CJK
characters are at the crosses of imaginary squares.

3) Even letters that have the same kind of baseline (e.g. Latin and Arabic),
have a different distribution of ascenders and descenders. In other words,
different scripts need a different amount of white space between lines.
I.e., a nominal size of 6 mm (20 pt) is a title size for English but text
size for Arabic.

4) Some attributes (such as "Italic") only make sense for some scripts but
not for others. One may want to specify arbitrary substitutions for these
attributes (e.g., when I say "Italic", use underline in Chinese).

ALTERNATIVES?

Perhaps there is another possible solution, half-way between a monolithic
font and a loose grouping of fonts: a genuinely *modular* font.

A "main" font could contain just the general metrics (and rules) plus,
probably, a small selection of glyphs, such as ASCII characters. All other
glyphs (and their metrics and rules), are contained in script-specific
modules.

If a script-specific module is not installed, the main font could have some
substitution for it (e.g. a default shared module for that script; or even
just a single placeholder glyph for that script).

Of course, nothing impedes that more that one font share the same module for
a certain script. For instance, as somebody mentioned, there is no need that
every font has its own version of symbols or iconic characters.

Each script-specific module would not be usable as a standalone font. It
would rather be something like hyphenation dictionaries or collation tables
in current word processor: something designed to be used by some external
"caller".

AFAIK, there is currently no technology that can implement this. Perhaps
only SIL Graphite (the "3rd way" smart font technology) has some similar
concept that a font may include other fonts, or tables of rules.

_ Marco



This archive was generated by hypermail 2.1.2 : Fri Jul 06 2001 - 00:18:17 EDT