wok-next annotate graphite2/description.txt @ rev 21727

created recipe for vbindiff
author Hans-G?nter Theisgen
date Sat Nov 21 14:32:44 2020 +0100 (2020-11-21)
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.