SIL Writing Systems Technology


A free and open rendering engine for complex scripts

Adding Graphite to your application

Graphite system overview

The Graphite system consists of:

  • Graphite Description Language (GDL) - a rule-based programming language that is used to describe the behavior of a writing system
  • the Graphite compiler - used to compile the GDL program along with a font to generate the Graphite-enabled version of the font
  • the Graphite engine - uses the Graphite font to assist a text-processing application in performing text layout



The Graphite2 engine represents a rework of the original engine developed for the Graphite package. Implementation began in 2010. It is the package used by LibreOffice 3.4 (and later) and Firefox 11 (and later), and can be integrated into applications on the Android versions 2.2 - 2.3.4.

The Graphite2 engine can be downloaded from the  GitHub release page.

The source code is located on Git Hub:

A manual for integrating Graphite2 into an application:

Graphite2 Manual
Martin Hosken, 2012-02-22
Download "Graphite2_manual.pdf", Acrobat PDF document, 215KB [6894 downloads]



SilGraphite is deprecated. Further development on the engine is not expected, and it is possible that it may not support fonts developed in the future.

The original Graphite engine, packaged under the name SilGraphite, is used by OpenOffice, Fieldworks, and WorldPad.

The source code can be downloaded from:  SilGraphite SourceForge project

SilGraphite API Documentation
Sharon Correll, 2012-02-20
Download "", ZIP archive, 601KB [1606 downloads]

Graphite Application Programmer's Guide
Sharon Correll, 2012-02-20
Download "GrAppProgGuide.pdf", Acrobat PDF document, 560KB [2493 downloads]

(The documents above describe version 2 of the Graphite API; the original API is obsolete.)

Copyright © 2012 SIL International® and released under the  Creative Commons Attribution-ShareAlike 3.0 license (CC-BY-SA) unless noted otherwise.