Graphite is a package that can be used to create “smart fonts” capable of displaying writing systems with various complex behaviors. A smart font contains not only letter shapes but also additional instructions indicating how to combine and position the letters in complex ways.
Graphite was developed to provide the flexibility needed for minority languages which often need to be written according to slightly different rules than well-known languages that use the same script.
Examples of complex script behaviors Graphite can handle include:
The Graphite system consists of:
Graphite renders TrueType fonts that have been extended by means of compiling a GDL program.
Further technical information is available on the Graphite technical overview page.
SIL International is a non-profit organization that performs linguistic research, literacy development, and translation work among ethnic minorities around the world. Our members are currently working with approximately a thousand language groups on six continents, and increasingly, many of the areas in which we work use scripts that require complex rendering.
OpenType is the most prevalent smart font technology. Given the extra costs of supporting Graphite in addition to OpenType, what are the gains?
Graphite and OpenType are not competing technologies. Applications may support both Graphite and OpenType rendering and fonts may be developed that work with both Graphite and OpenType.
The following are some benefits of including Graphite support in a font:
Version 1.2.4 of the Graphite2 engine was released in November 2013. We believe this to be a stable and feature-complete version and do not anticipate much new development in the near future. Future changes are more likely to be made to the compiler rather than the engine, although we certainly plan to fix any bugs that appear.
So please be aware that the lack of a recently released version does not indicate a moribund project, but rather a mature and stable product!