Re: Implementing Complex Unicode Scripts

From: Peter_Constable@sil.org
Date: Tue Feb 20 2001 - 12:08:32 EST


On 02/20/2001 10:19:37 AM John Hudson wrote:

>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.

Graphite works in basically the same way. What most distinguishes it from
AAT is the development side: font developers don't need to build state
tables by hand. Rather, they describe the shaping behaviour in terms of a
high-level description language, GDL. A compiler is provided that compiles
a GDL description against a given font to create the Graphite tables and
incorporate them into that font. So, hopefully you get most or all of the
benefits of AAT without the pain for font developers.

Character reordering, since that was mentioned specifically, is
accommodated in the GDL language (and in the tables). There is a means in
GDL to do class based reordering, and also to reconstruct the original
ordering from a glyph stream so that there is a way to resolve a screen
position into underlying character positions (hit testing).

- Peter

---------------------------------------------------------------------------
Peter Constable

Non-Roman Script Initiative, SIL International
7500 W. Camp Wisdom Rd., Dallas, TX 75236, USA
Tel: +1 972 708 7485
E-mail: <peter_constable@sil.org>



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