Graphite (smart font technology)

Last updated
Graphite
Developer(s) SIL International
Stable release
1.3.14 / 1 April 2020;3 years ago (2020-04-01) [1]
Repository
Written in C++
Operating system Multi-platform
Type Software development library
License LGPL, CPL
Website graphite.sil.org

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]

Contents

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]

Graphite support can be added to applications on Linux with the package pango-graphite [9] and on Windows with the experimental add-on MultiScribe. [10]

See also

Related Research Articles

TrueType is an outline font standard developed by Apple in the late 1980s as a competitor to Adobe's Type 1 fonts used in PostScript. It has become the most common format for fonts on the classic Mac OS, macOS, and Microsoft Windows operating systems.

OpenType is a format for scalable computer fonts. Derived from TrueType, it retains TrueType's basic structure but adds many intricate data structures for describing typographic behavior. OpenType is a registered trademark of Microsoft Corporation.

<span class="mw-page-title-main">Pango</span> Library for text rendering

Pango is a text layout engine library which works with the HarfBuzz shaping engine for displaying multi-language text.

Cairo (graphics) Vector graphics-based software library

Cairo is an open-source graphics library that provides a vector graphics-based, device-independent API for software developers. It provides primitives for two-dimensional drawing across a number of different back ends. Cairo uses hardware acceleration when available.

<span class="mw-page-title-main">XeTeX</span> TeX typesetting engine

XeTeX is a TeX typesetting engine using Unicode and supporting modern font technologies such as OpenType, Graphite and Apple Advanced Typography (AAT). It was originally written by Jonathan Kew and is distributed under the X11 free software license.

<span class="mw-page-title-main">Open-source Unicode typefaces</span>

There are Unicode typefaces which are open-source and designed to contain glyphs of all Unicode characters, or at least a broad selection of Unicode scripts. There are also numerous projects aimed at providing only a certain script, such as the Arabeyes Arabic font. The advantage of targeting only some scripts with a font was that certain Unicode characters should be rendered differently depending on which language they are used in, and that a font that only includes the characters a certain user needs will be much smaller in file size compared to one with many glyphs. Unicode fonts in modern formats such as OpenType can in theory cover multiple languages by including multiple glyphs per character, though very few actually cover more than one language's forms of the unified Han characters.

Apple Advanced Typography (AAT) is Apple Inc.'s computer technology for advanced font rendering, supporting internationalization and complex features for typographers, a successor to Apple's little-used QuickDraw GX font technology of the mid-1990s. It is a set of extensions to the TrueType outline font standard, with smartfont features similar to the OpenType font format that was developed by Adobe and Microsoft, and to Graphite. It also incorporates concepts from Adobe's "multiple master" font format, allowing for axes of traits to be defined and morphing of a glyph independently along each of these axes. AAT font features do not alter the underlying typed text; they only affect the characters' representation during glyph conversion.

<span class="mw-page-title-main">Complex text layout</span> Neighbour-dependent grapheme positioning

Complex text layout (CTL) or complex text rendering is the typesetting of writing systems in which the shape or positioning of a grapheme depends on its relation to other graphemes. The term is used in the field of software internationalization, where each grapheme is a character.

<span class="mw-page-title-main">Charis SIL</span> Typeface

Charis SIL is a transitional serif typeface developed by SIL International based on Bitstream Charter, one of the first fonts designed for laser printers. The font offers four family members: roman, bold, italic, and bold italic.

A Unicode font is a computer font that maps glyphs to code points defined in the Unicode Standard. The vast majority of modern computer fonts use Unicode mappings, even those fonts which only include glyphs for a single writing system, or even only support the basic Latin alphabet. Fonts which support a wide range of Unicode scripts and Unicode symbols are sometimes referred to as "pan-Unicode fonts", although as the maximum number of glyphs that can be defined in a TrueType font is restricted to 65,535, it is not possible for a single font to provide individual glyphs for all defined Unicode characters. This article lists some widely used Unicode fonts that support a comparatively large number and broad range of Unicode characters.

<span class="mw-page-title-main">Swiftfox</span> Discontinued web browser based on Mozilla Firefox

Swiftfox was a web browser based on Mozilla Firefox. It was available for Linux platforms and distributed by Jason Halme. Swiftfox was a set of builds of Firefox optimized for different Intel and AMD microprocessors. Swiftfox was freely downloadable with open source code and proprietary binaries. Firefox extensions and plugins were compatible with Swiftfox, with notable exceptions. The name Swiftfox comes from the animal swift fox. Swiftfox differs from Firefox by a limited number of changes, and builds for different processors. Swiftfox was discontinued at some point prior to April 2017, and the project homepage now redirects to the creator's private Twitter account.

Apple's Macintosh computer supports a wide variety of fonts. This support was one of the features that initially distinguished it from other systems.

<span class="mw-page-title-main">GNU IceCat</span> Firefox derivative recommending only free software

GNU IceCat, formerly known as GNU IceWeasel, is a completely free version of the Mozilla Firefox web browser distributed by the GNU Project. It is compatible with Linux, Windows, Android and macOS.

HarfBuzz is a software development library for text shaping, which is the process of converting Unicode text to glyph indices and positions. The newer version, New HarfBuzz (2012–), targets various font technologies while the first version, Old HarfBuzz (2006–2012), targeted only OpenType fonts.

DirectWrite is a text layout and glyph rendering API by Microsoft. It was designed to replace GDI/GDI+ and Uniscribe for screen-oriented rendering and was first shipped with Windows 7 and Windows Server 2008 R2, as well as Windows Vista and Windows Server 2008. DirectWrite is hardware-accelerated when running on top of Direct2D, but can also use the CPU to render on any target, including a GDI bitmap.

<span class="mw-page-title-main">Pale Moon</span> Open-source web browser with an emphasis on customization

Pale Moon is an open-source web browser with an emphasis on customization; its motto is "Your browser, Your way". There are official releases for Microsoft Windows, FreeBSD, macOS, and Linux, as well as contributed builds for various platforms.

Firefox was created by Dave Hyatt and Blake Ross as an experimental branch of the Mozilla browser, first released as Firefox 1.0 on November 9, 2004. Starting with version 5.0, a rapid release cycle was put into effect, resulting in a new major version release every six weeks. This was gradually accelerated further in late 2019, so that new major releases occur on four-week cycles starting in 2020.

<span class="mw-page-title-main">Noto fonts</span> Multilingual font family from Google

Noto is a font family comprising over 100 individual fonts, which are together designed to cover all the scripts encoded in the Unicode standard. As of October 2016, Noto fonts cover all 93 scripts defined in Unicode version 6.1, although fewer than 30,000 of the nearly 75,000 CJK unified ideographs in version 6.0 are covered. In total, Noto fonts cover over 77,000 characters, which is around half of the 149,186 characters defined in Unicode 15.0.

The implementation of emojis on different platforms took place across a three-decade period, starting in the 1990s. Today, the exact appearance of emoji is not prescribed but can vary between fonts and platforms, much like different typefaces.

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.
  9. Debian Webmaster. "pango-graphite". Packages.debian.org. Retrieved 2012-08-14.
  10. "MultiScribe". Projects.palaso.org. Archived from the original on 2012-03-03. Retrieved 2012-08-14.