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.
The following package includes the fonts to be used for the exercises, solution files, and a PDF of the tutorial.
![]() | Graphite Tutorial Package Sharon Correll, 2012-11-19 Download "graphite_tutorial_pkg_v6.zip", ZIP archive, 1MB [1057 downloads] |
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 [7560 downloads] |
In order to use these tutorials, you will be using the Graide tool (Graide stands for GRAphite Interactive Development Environment). Graide allows you to run the Graphite compiler to create a Graphite enabled font, and test the results of the font using simple test data. It also includes debugging tools to analyze the behavior of your font.
If you choose not to try every exercise, you should put priority on the exercises that include a section called “Exploring Graide…”.
When experimenting with Graide, this tutorial assumes that the GDL program you are working with looks very similar to the provided solution. If your program is quite different, it may be helpful to replace your program with the provided solution for the purposes of exploring the features of Graide.
Each unit of the tutorial consists of a short discussion section followed by one or more exercises for you to try.
Start: Running, initializing, and debugging with Graide
Return to Graphite font development
Unit 1: Running, initializing, and debugging with Graide
Unit 2: A very simple GDL program
Unit 4: Corresponding class items
Unit 5: Deletion and insertion
Unit 9: Multiple passes per table
Unit 10: Positioning by shifting
Unit 12: Positioning by attachment
Unit 14: Ligatures (not available in Graide)
Copyright © 2012 SIL International® and released under the Creative Commons Attribution-ShareAlike 3.0 license (CC-BY-SA) unless noted otherwise.