Re: Implementing Complex Unicode Scripts

From: John Hudson (
Date: Tue Feb 20 2001 - 11:43:51 EST

At 04:21 AM 2/20/2001 -0800, Charlie Jolly wrote:

>Do fonts have to tie themselves to a script engine. Will an Opentype font
>for lets say Hindi such as MS Mangal work on an Apple OS or Linux? Or is
>this font tied to Uniscribe? If this is correct then shouldn't there be a
>better solution?

Mangal is not 'tied' to the Uniscribe script processing engine, but it does
make assumptions about how it will be handled by such an engine. As Peter
Constable has pointed out, OpenType complex script processing presumes that
a shaping engine at the system or application level will handle some
aspects of processing and will call appropriate, registered features in the
font. Obviously, this means that OpenType complex script fonts have to be
built with this in mind, and have to include those script shaping layout
features that the engine expects to find. The MS Typography specification
'Creating and Supporting OpenType fonts for Indic scripts' explains this in

Similar documents for Arabic and Hebrew are currently in development.

The Apple AAT and SIL Graphite approach work a little differently. I'm not
familiar enough with Graphite to know how they handle stuff like character
reordering, or how difficult it is to achieve such things in their Graphite
Description Language, but I do have some experience with AAT fonts. AAT
avoids dependence on an exterior shaping engine by building a finite state
machine into the font itself. This is an extremely powerful approach to
glyph processing, but it has the significant development drawback of
requiring font developers to build state tables. I don't think it reflects
poorly on any of my type design colleagues to say that most of them are not
up for this, and without higher level tools I doubt if many of them will
ever make AAT fonts.

John Hudson

Tiro Typeworks |
Vancouver, BC | All empty souls tend to extreme opinion. | W.B. Yeats |

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