Graphite (smart font technology)

{{short description|Programmable font system}}

{{refimprove|date=March 2013}}

{{Infobox software

| name = Graphite

| developer = SIL International

| latest_release_version =

| latest_release_date =

| genre = Software development library

| programming language = C++

| operating system = Multi-platform

| license = LGPL, CPL

| website = {{URL|http://graphite.sil.org}}

| latest release version = 1.3.14

| latest release date = {{Start date and age|2020|4|1|df=yes}}{{Cite web|url=https://github.com/silnrsi/graphite/releases|title=Releases - silnrsi/graphite|access-date=1 April 2020|via=GitHub}}

}}

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.{{cite news|last1=Byfield|first1=Bruce|title=Graphite: Smart font technology comes to FOSS|url=https://www.linux.com/news/graphite-smart-font-technology-comes-foss|work=Linux.com|date=March 28, 2006}}

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{{cite web |url=http://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_aboutWhy |title=Why was Graphite developed? |publisher=SIL International}} although with AAT, macOS already provides a technology suitable for minority scripts.

Applications that support Graphite include the SIL WorldPad,{{cite web|url=http://scripts.sil.org/WorldPadDownload |title=SIL WorldPad |publisher=Scripts.sil.org |access-date=2012-08-14}} 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).{{cite web|date=11 November 2016|title=Release Notes 5.3|url=http://wiki.documentfoundation.org/ReleaseNotes/5.3|access-date=13 December 2016|work=Wiki|publisher=The Document Foundation}} It was built into Thunderbird 11 and Firefox 11,{{cite web |url=http://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_firefox |title=Graphite - Using Graphite in Mozilla Firefox |publisher=SIL International |access-date=24 April 2013}} 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.{{cite web |url=https://www.mozilla.org/en-US/firefox/45.0.1/releasenotes/ |title=Firefox — Notes (45.0.1) — Mozilla |publisher=Mozilla |access-date=24 September 2016}}{{cite web |url=https://www.mozilla.org/en-US/firefox/49.0/releasenotes/ |title=Firefox — Notes (49.0) — Mozilla |publisher=Mozilla |access-date=24 September 2016}}

See also

References

{{Reflist}}