You are here: Rendering > Technologies > Graphite
Short URL: http://scripts.sil.org/RenderingGraphite
Graphite
Sharon Correll; 18250 reads
Contents
Overview
Download
Contact Information
Links
FAQ
Documentation
Coming Attractions
Other Resources
TechKnowLogia article (2001-11-1)
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
- Graphite source code (API version 2.0) can be obtained from our Subversion server: http://scripts.sil.org/svn/graphite/graphite/trunk. For anonymous, read-only access, you can also use http://scripts.sil.org/svn-public/graphite/graphite/trunk.
- Version 1.0 is available from the
SilGraphite project on SourceForge.
- Click here to go to the WorldPad download page. This is an application that can be used to demonstrate or experiment with Graphite fonts.
- Click here to download the Graphite compiler. The Graphite compiler is used to add Graphite rendering tables to a TrueType font.
- Click here to download sample Graphite fonts.
- There is a Graphite enabled version of OpenOffice available.
- The following is a tutorial that provides an introduction to the GDL programming language and the process of creating Graphite fonts.
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
SILA is an open-source project to put Graphite support into Mozilla.
- A framework has been developed to auto-generate GDL code directly from the TTF file data.
Documentation and
source code available.
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.
A document describing how to integrate Graphite support into a text-processing application.
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 [5526 downloads] |
A tutorial that provides an introduction to the GDL programming language and the process of creating Graphite fonts.
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.
An internal working paper that lays out formal requirements for the system, annotated with actual implementation as of version 1.0.
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.
Backlinks (20 most popular; affiliated sites and popular search engines removed)
http://silgraphite.sourceforge.net/
http://lambda.weblogs.com/
http://www.unicode.org/faq/font_keyboard.html
http://zsigri.tripod.com/fontboard/silwpupd.html
http://www.kuro5hin.org/story/2004/2/5/01839/12103
http://www.lisa.org/archive_domain/newsletters/2003/4.3/gaultney.html
http://www.bauhahnm.clara.net/Khmer/Welcome.html
http://www.ethnologue.com/tools_docs/fieldworks.asp
http://sila.mozdev.org/
Note: If you want to add a response to this article, you need to enable cookies in your browser, and then restart your browser.
Note: the opinions expressed in submitted contributions below do not necessarily reflect the opinions of our website.
© 2003-2009 SIL International, all rights reserved, unless otherwise noted elsewhere on this page.
Provided by SIL's Non-Roman Script Initiative. Contact us at nrsi@sil.org.