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