SIL Non-Roman Script Initiative

Graphite

A free and open rendering engine for complex scripts

Adding Graphite to your application

Graphite system overview

The Graphite package 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

Read more...

Graphite2

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 Firefox 11, and can be integrated into applications on the Android versions 2.2 - 2.3.4.

The main project site is:  http://projects.palaso.org/projects/graphitedev

A manual for integrating Graphite2 into an application:

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

SilGraphite

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 "GraphiteAPI.zip", ZIP archive, 601KB [178 downloads]
Graphite Application Programmer's Guide
Sharon Correll, 2012-02-20
Download "GrAppProgGuide.pdf", Acrobat PDF document, 560KB [243 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.