Graphite: An Extensible Rendering Engine for Complex Writing Systems

Sharon Correll - SIL International

Intended Audience: Software Engineer, Systems Analyst
Session Level: Intermediate

Statement of Purpose

Graphite is a software development project within SIL International whose purpose is to provide a customizable, Unicode-conformant rendering engine for complex writing systems on the Windows platform.


SIL International is a non-profit organization engaged in linguistic research and translation work among minority language groups worldwide. Rendering solutions available for non-Roman writing systems, particularly on the Windows platform, are generally aimed at major, economically significant languages. Because our work is with linguistic minorities, we often encounter situations where these solutions are not adequately flexible. For example, it is generally not possible to add a new stacking diacritic or a new character with context-sensitive forms when a minority language has a phonemic need that is not present in the national language.

Graphite is specifically tailored to handle complexities encountered in writing systems derived from complex scripts, such as Arabic and Devanagari. Features include: bidirectionality, contexual glyph selection, ligatures, reordering, stacking diacritics, and sloping baselines. Services are provided for editing data in place, including support for split cursors.

The Graphite system includes a programming language called "Graphite Description Language" (GDL), consisting of rules to perform substitution, reordering, and positioning of glyphs according the to behavior of the writing system. GDL is compiled against a TrueType font file; the output is a font extended with several customized tables. The Graphite engine is a DLL that uses the extended font to perform the specified transformations on Unicode input and produce the rendered output.


Because Graphite requires calling applications be written to the interface specifications of the DLL, the development team wants to collaborate with related software efforts in order to make this powerful program widely useful.

When the world wants to talk, it speaks Unicode
Unicode Standard Program Conference Board Call for Papers Talks and Papers Past Conferences
Showcase Registration Accommodation Travel Sponsors Next Conference
International Unicode Conferences are organized by Global Meeting Services, Inc., (GMS). GMS is pleased to be able to offer the International Unicode Conferences under an exclusive license granted by the Unicode Consortium. All responsibility for conference finances and operations is borne by GMS. The independent conference board serves solely at the pleasure of GMS and is composed of volunteers active in Unicode and in international software development. All inquiries regarding International Unicode Conferences should be addressed to info@global-conference.com.

Unicode and the Unicode logo are registered trademarks of Unicode, Inc. Used with permission.

16 Jun 2000, Webmaster