Re: Open-Type Support (was: Greek Prosgegrammeni)

Date: Wed Nov 22 2000 - 13:45:46 EST

Let me add a little to what Marco has written:

>- Open Type itself (see in http:/
>The "font-specific intelligence" is in the font itself; the "generic
>intelligence" is in a software component called UniScribe.

OpenType provides partial support for complex script rendering. It is
dependent upon software to interpret the font-specific information in the
OT tables in an OT font, and to also take care of some rendering issues
which OT itself does not address (e.g. reordering as needed for Indic).
These things can be handled directly by an application. MS has also
provided the Uniscribe engine for this purpose, however. (There are some
aspects of OT support related to fine typography that Uniscribe does not
address. Uniscribe is intended eventually to provide adequate support for
complex script rendering, however.)

On Win9x/Me and on WinNT4, Uniscribe support must be explicitly written
into an app; i.e. an app must explicitly call the Uniscribe engine to take
advantage of its benefits. Word 2000 does this, for example, to handle
Arabic, but it does not do this for Thai (except in the S. Asia version of
Word 2000). In contrast, on Win2000, all Win32 text drawing interfaces make
use of Uniscribe. Thus, *any* app running on Win2000 benefits from

As has been mentioned, current versions of Uniscribe provide support for
some scripts but not others. Work is being done to extend the selection of
scripts that are supported. Currently, polytonic Greek is not supported,
but it will be supported in the future. New updates of the Uniscribe engine
will appear next year with Office 10 and with Whistler (apparently Win2000
consumer version) or with other updates to Windows, Office or Internet
Explorer. I have no idea what new script support will appear when. I just
know that more is coming.

OT implementations are being done for Mac and Unix/Linux. On the Mac side,
Apple reps have made statements that suggest that they would incorporate
system-level support for the aspects of complex rendering that OT itself
doesn't provide (i.e. they'd write something comparable to Uniscribe). On
Unix/Linux, I'm not sure what is being done about providing the support
that OT itself lacks.

>- AAT/ATSUI (see in http:/
>Most of the "intelligence" is in the font itself, which also includes a
>state machine to operate substitution. The behavior of the smart fonts may
>be influenced by external user settings.

Essentially, all of the intelligence is in the font. (There is an external
engine that runs the state tables in the font, but that's a generic engine
- all the behaviour is embodied in the state tables in the font). Thus,
complex script rendering for polytonic Greek (for example) is available if
a system has an AAT font that implements support for that script. In order
to take advantage of that capability, however, an application must be
written to use the ATSUI text drawing interfaces rather than the older
QuickDraw interfaces. Developers have been slow on the uptake, but Apple
has been working hard to make it easier for developers to support these

>- Graphite --my favorite, so far-- (see in http:/
>Takes a "stupid" TrueType font and merges it with the "intelligence"
>in an ad-hoc description language (GDL), to produce an "intelligent" font
>quite similar to AAT/ATSUI. The accent is on extendability and, specially,
>in supporting the Private User Area (which is a precious resource for
>linguistic research and defining new orthographies).

The font technology itself is indeed very much like AAT, though there are
some differences. The existence of GDL is an important difference, though I
wouldn't have called it an "ad-hoc" language. It is a carefully designed
high-level language intended to deal specifically with the kinds of issues
involved in complex scripts. Graphite also relies on a generic run-time
engine that interprets the state tables that are added to the font, and
also requires applications to be written using special interfaces that call
upon that engine. There is not yet support for this outside of SIL that I
know of, though many have expressed interest. In particular, there has been
a lot of interest in seeing this technology implemented for the Unix/Linux

>- Omega (
>Built on top of the old and glorious TeX typesetting system. It may
>(or already is?) the standard for Unicode in Linux.

Whatever Omega does or doesn't do, I wouldn't categorize it as a general
script rendering system like AAT, OT/Uniscribe and Graphite. It is an
end-user application, not a system extension for complex script support. I
suppose you could write an app that only output text by generating TeX
source and processing it via Omega, but I wouldn't expect to find much of a
market for such an app.

The other platform of potential interest is Java. Sun has been working on
providing complex script support in Java 2. Like Uniscribe, the script
behaviour is embodied in software code rather than the font. I'm not sure
what the current status of this work is, and I'm also not familiar enough
with this technology to know what its potential or limitations might be.


This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:21:15 EDT