wok-next view graphite2/description.txt @ rev 19980

Up libva (1.8.2)
author Aleksej Bobylev <al.bobylev@gmail.com>
date Wed Oct 18 03:39:08 2017 +0300 (2017-10-18)
parents
children
line source
1 # Graphite engine
3 ## What is Graphite?
5 Graphite is a system that can be used to create "smart fonts" capable of
6 displaying writing systems with various complex behaviors. A smart font
7 contains not only letter shapes but also additional instructions indicating how
8 to combine and position the letters in complex ways.
10 Graphite was primarily developed to provide the flexibility needed for minority
11 languages which often need to be written according to slightly different rules
12 than well-known languages that use the same script.
14 Examples of complex script behaviors Graphite can handle include:
16 * contextual shaping
17 * ligatures
18 * reordering
19 * split glyphs
20 * bidirectionality
21 * stacking diacritics
22 * complex positioning
23 * shape aware kerning
24 * automatic diacritic collision avoidance
26 See [examples of scripts with complex rendering]
27 (http://scripts.sil.org/CmplxRndExamples).
29 ## Graphite system overview
31 The Graphite system consists of:
33 * A rule-based programming language
34 [Graphite Description Language]
35 (http://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_devFont#gdl)
36 (GDL) that can be used to describe the behavior of a writing system
37 * A compiler for that language
38 * A rendering engine that can serve as the layout component of a
39 text-processing application
41 Graphite renders TrueType fonts that have been extended by means of compiling a
42 GDL program.
44 Further technical information is available on the [Graphite technical overview]
45 (http://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_techAbout)
46 page.