SIL Writing Systems Technology

Graphite

A free and open rendering engine for complex scripts

Graphite Tutorial

The following exercises are provided to give you an introduction to programming Graphite fonts. It includes an explanation of the fundamentals of the system and basic experience in using its most important smart rendering capabilities. This tutorial is not intended to be a comprehensive overview of the Graphite system, nor to provide an exhaustive discussion of all the features and syntax of the GDL programming language. For a complete discussion of GDL, see the “Graphite Description Language” document.

GDL Documentation
Sharon Correll, 2020-05-21
Download "GDLdocumentation.pdf", Acrobat PDF document, 725KB [8637 downloads]

In order to use these tutorials, you will need to use the Graphite compiler and WorldPad, a Graphite-enabled text editor for Windows. The readme files contain installation instructions. For some of the later exercises, it may also be helpful to use the Keyman utility for typing test data.

Download Graphite compiler

Download WorldPad

These tutorials are compatible with WorldPad 2.1 and GrCompiler 1.0.1 and later versions. (GrCompiler 1.0 does not support the U+… syntax in the glyph table. Earlier versions of WorldPad require a special font installation process.)

Each unit of the tutorial consists of a short discussion section followed by one or more exercises for you to try.

Start: Compiling, installing, and testing a Graphite font

Return to Graphite font development

Contents

Unit 1: Compiling, installing, and testing a Graphite font

Unit 2: A very simple GDL program

Unit 3: The glyph table

Unit 4: Corresponding class items

Unit 5: Deletion and insertion

Unit 6: Context

Unit 7: Glyph attributes

Unit 8: Slot attributes

Intermission

Unit 9: Multiple passes per table

Unit 10: Positioning by shifting

Unit 11: Glyph metrics

Unit 12: Positioning by attachment

Unit 13: Features

Unit 14: Ligatures

Unit 15: Bidirectionality

Unit 16: Reordering

Unit 17: Optional items

Unit 18: Corresponding classes revisited

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