1f6d384a65
This effectively backs out bug 1272647, which was not necessary in the first place: the underlying issue had been fixed in bug 1245076, but the bug reporter had reported against version 45, while bug 1245076 was fixed in version 48. As a matter of fact, the reporter of bug 1272647 acknowledged in bug 1245076 that bug 1245076 fixed the issue. Differential Revision: https://phabricator.services.mozilla.com/D8179 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
include/graphite2 | ||
src | ||
COPYING | ||
ChangeLog | ||
LICENSE | ||
README.md | ||
README.mozilla | ||
moz-gr-update.sh |
README.md
Graphite engine
Project CI status
OS | Intel 64 bit | Intel 32 bit | Arm 32 bit |
---|---|---|---|
Linux | |||
Windows |
What is Graphite?
Graphite is a system that can be used to create “smart fonts” capable of displaying writing systems with various complex behaviors. A smart font contains not only letter shapes but also additional instructions indicating how to combine and position the letters in complex ways.
Graphite was primarily developed to provide the flexibility needed for minority languages which often need to be written according to slightly different rules than well-known languages that use the same script.
Examples of complex script behaviors Graphite can handle include:
- contextual shaping
- ligatures
- reordering
- split glyphs
- bidirectionality
- stacking diacritics
- complex positioning
- shape aware kerning
- automatic diacritic collision avoidance
See examples of scripts with complex rendering.
Graphite system overview
The Graphite system consists of:
- A rule-based programming language Graphite Description Language (GDL) that can be used to describe the behavior of a writing system
- A compiler for that language
- A rendering engine that can serve as the layout component of a text-processing application
Graphite renders TrueType fonts that have been extended by means of compiling a GDL program.
Further technical information is available on the Graphite technical overview page.