Graphite (smart font technology)

Programmable font system

This is the current revision of this page, as edited by 64.184.115.132 (talk) at 08:30, 11 August 2024 (→‎Graphite support: outdated information. there is no longer a pango-graphite package, now the dependency chain is that pango depends on HarfBuzz, and HarfBuzz depends on graphite (nothing else actually seems to use graphite directly, it's just buried deep in the software stack). Multiscribe for windows was also a dead link with no relevance today.). The present address (URL) is a permanent link to this version.

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Graphite is a programmable Unicode-compliant smart font technology and rendering system developed by SIL International as free software, distributed under the terms of the GNU Lesser General Public License and the Common Public License.[2]

Graphite
Developer(s)SIL International
Stable release
1.3.14 / 1 April 2020; 5 years ago (2020-04-01)[1]
Written inC++
Operating systemMulti-platform
TypeSoftware development library
LicenseLGPL, CPL
Websitegraphite.sil.org

Capabilities and comparison to other smart font technologies

Graphite is based on the TrueType font format, and adds three of its own tables. It allows for a variety of rendering rules, including ligatures, glyph substitution, glyph insertion, glyph rearrangement, anchoring diacritics, kerning, and justification. Graphite rules may be sensitive to the context. For instance, there might be a glyph substitution rule that replaces every non-final s by an ſ.

In a Graphite font, all smart rendering information resides within the font file. In order to display the Graphite smart rendering, an application needs only Graphite support, but no built-in knowledge about the writing system’s rendering. This makes Graphite especially suited for minority writing systems that cannot rely on applications to provide built-in rendering information. In this regard, Graphite is similar to AAT and different from OpenType which requires applications to provide built-in rendering information.

Graphite support

Graphite was originally implemented on Windows. It has been ported to Linux. It is also available on Mac OS X Snow Leopard[3] although with AAT, macOS already provides a technology suitable for minority scripts.

Applications that support Graphite include the SIL WorldPad,[4] XeTeX, OpenOffice.org (since version 3.2, except for the macOS version), LibreOffice (formerly except for the macOS version, since version 5.3, Graphite is available on all platforms).[5] It was built into Thunderbird 11 and Firefox 11,[6] and was turned on by default since version 22, but was disabled in Firefox version 45.0.1 and re-enabled in version 49.0.[7][8]

See also

Lua error in mw.title.lua at line 346: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

References

  1. ^ "Releases - silnrsi/graphite". Retrieved 1 April 2020 – via GitHub.
  2. ^ Byfield, Bruce (March 28, 2006). "Graphite: Smart font technology comes to FOSS". Linux.com.
  3. ^ "Why was Graphite developed?". SIL International.
  4. ^ "SIL WorldPad". Scripts.sil.org. Retrieved 2012-08-14.
  5. ^ "Release Notes 5.3". Wiki. The Document Foundation. 11 November 2016. Retrieved 13 December 2016.
  6. ^ "Graphite - Using Graphite in Mozilla Firefox". SIL International. Retrieved 24 April 2013.
  7. ^ "Firefox — Notes (45.0.1) — Mozilla". Mozilla. Retrieved 24 September 2016.
  8. ^ "Firefox — Notes (49.0) — Mozilla". Mozilla. Retrieved 24 September 2016.

External links