Home

Contact Us

General

Initiative B@bel

WSI Guidelines

Encoding

Principles

Unicode

Training

Tutorials

PUA

Conversion

Resources

Utilities

TECkit

Maps

Resources

Input

Principles

Utilities

Tutorials

Resources

Type Design

Principles

Design Tools

Formats

Resources

Font Downloads

Gentium

Doulos

IPA

Rendering

Principles

Technologies

OpenType

Graphite

Resources

Font FAQ

Links

Glossary


NRSI: Computers & Writing Systems

SIL HOME | SUPPORT | DONATE

You are here: Rendering > Technologies > Graphite
Short URL: http://scripts.sil.org/CatGraphite

Graphite

Sharon Correll

Note

The Graphite web site has been moved. Please  click here for the new site.





















Contents

Overview

Graphite is a project under development within SIL’s Non-Roman Script Initiative and Language Software Development groups to provide rendering capabilities for complex non-Roman writing systems. (Work began in 1997 under the code name WinRend.) The original goal was a system for the Windows platform; the system has also been ported to Linux. Graphite can be used to create “smart fonts” capable of displaying writing systems with various complex behaviors. With respect to the Text Encoding Model, Graphite handles the "Rendering" aspect of writing system implementation.

See “What Is Graphite?” for a more complete description.

Graphite is intended to serve as the principal non-Roman renderer for the  FieldWorks package, the new generation of linguistic and translation tools under development within SIL. We also want to make the Graphite library available to any software developer who is working to develop multilingual text processing applications. Contact graphite_nrsi at sil.org with inquiries.

Download

GDL Tutorial for smart font developers
Sharon Correll, 2007-04-18
Download "GraphiteTutorial_zip.zip", ZIP archive, 647KB [10008 downloads]

Contact Information

Send email to: graphite_nrsi at sil.org

You are invited to subscribe to any of the Graphite-related mailing lists:

  • The  Graphite development list is for those who would like to participate in the development of the Graphite system, either by seeing new features added, porting to other platforms, or integrating Graphite support into an application.
  • The  Graphite fonts list is for those are interested in using Graphite to create smart fonts.
  • There is an list for receiving  general announcements about Graphite.

Links

FAQ

Click here for answers to frequently asked questions about Graphite.

Documentation

The following are resources that provide more information about the Graphite system. All are in PDF format.

A description of the API by which a text-processing application communicates with Graphite.

Graphite API Documentation: Version 2
Sharon Correll, 2006-02-23
Download "GraphiteAPI_v2.zip", ZIP archive, 601KB [5525 downloads]

A document describing how to integrate Graphite support into a text-processing application.

Graphite Application Programmer's Guide
Sharon Correll, 2006-07-24
Download "GrAppProgGuide.pdf", Acrobat PDF document, 560KB [9425 downloads]

The GDL paper is an informal overview of the rule-based programming language used to describe font behavior in Graphite.

Graphite Description Language
Sharon Correll, 2007-08-22
Download "GDL.pdf", Acrobat PDF document, 267KB [10658 downloads]

A tutorial that provides an introduction to the GDL programming language and the process of creating Graphite fonts.

GDL Tutorial for smart font developers
Sharon Correll, 2007-04-18
Download "GraphiteTutorial_zip.zip", ZIP archive, 647KB [10008 downloads]

Describes the font table extensions used by the Graphite system. The current version of the compiler will produce version 2 by default, but can be requested to output versions 1 or 3.

Graphite Binary Table Format, version 2.0
Sharon Correll, 2003-03-31
Download "GraphiteBinaryFormat_pdf.pdf", Acrobat PDF document, 39KB [7861 downloads]
Graphite Binary Table Format, version 3.0
Sharon Correll, 2007-03-15
Download "GraphiteBinaryFormat_3_0.pdf", Acrobat PDF document, 54KB [5760 downloads]

An internal working paper that lays out formal requirements for the system, annotated with actual implementation as of version 1.0.

Graphite Requirements
Sharon Correll, 2003-02-25
Download "GraphiteRequirements_pdf.pdf", Acrobat PDF document, 74KB [8657 downloads]

Coming Attractions

The following are new features that are under consideration for future versions of Graphite:

  • Make it possible to store the Graphite tables in a separate file from the original font.
  • Add the capability for non-exclusive features in order to increase consistency with  Apple's font feature registry.
  • Implement pass-level constraints.
  • Enhance justification.
  • Implement vertical rendering.
  • Add the capability to set the color of glyphs within the Graphite engine.

Other Resources

TechKnowLogia article (2001-11-1)

 TechKnowLogia published an article titled “Graphite and WorldPad: Tools for Writing the World’s Other Languages”. The abstract appears below. If you would like to read the complete article you can access it at:  www.TechKnowLogia.org and select “Technologies Tomorrow”. You will have to register at the site to view the article, but it is a short and painless procedure.

Over 6,000 languages are spoken in the world, of which about 2,000 are in countries using non-Roman writing systems. Although computer tools have existed for some time to write the national languages in these countries, the tools often have restrictions that make them unusable for the minorities of these same nations. Graphite, and later WorldPad, was developed to provide smart font rendering capabilities and text editing that enables any combination of symbols when writing any script. The first use of this has been with the International Phonetic Alphabet, which is often used by linguists and others for learning these minority languages. Thus, Graphite and WorldPad provide tools for learning minority languages, as well as for literacy for those minorities.


© 2003-2014 SIL International, all rights reserved, unless otherwise noted elsewhere on this page.
Provided by SIL's Non-Roman Script Initiative. Contact us here.