# Install graphite2 with Homebrew, apk, apt, dnf, MacPorts, Nix, zypper

Smart font renderer for non-Roman scripts. Version 1.3.15 via Homebrew; verified 2026-06-30.

## Install

```sh
sudo av install brew:graphite2
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install graphite2
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install graphite2
```

  Evidence: MacPorts ports tree: graphics/graphite2/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add graphite2
```

  Evidence: Alpine Linux edge package indexes: graphite2 from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install libgraphite2-3
```

  Evidence: Debian stable package indexes: libgraphite2-3 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install graphite2
```

  Evidence: Fedora Rawhide package metadata: graphite2 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#graphite2
```

  Evidence: nixpkgs package indexes: graphite2 from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- zypper (92%):

```sh
sudo zypper install graphite2
```

  Evidence: openSUSE Tumbleweed package metadata: graphite2 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:graphite2
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/graphite2>
- **Version:** 1.3.15
- **Source summary:** Smart font renderer for non-Roman scripts
- **Homepage:** <https://graphite.sil.org/>
- **Repository:** <https://github.com/silnrsi/graphite>
- **Upstream docs:** <https://graphite.sil.org/>
- **License:** MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
- **Source archive:** <https://github.com/silnrsi/graphite/releases/download/1.3.15/graphite2-1.3.15.tgz>
- **Last updated:** 2026-06-30T12:12:03-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gr2fonttest (cli)
- gr2fonttest (alias)

## Build dependencies

- cmake

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.3.15
- Package-manager updated: 2026-06-30
- Local data: ok
- Upstream repository: https://github.com/silnrsi/graphite
- info: No cached GitHub release or tag data was available.
## Project history and usage

Graphite2 is the second-generation rendering engine for SIL International's Graphite smart-font system. Graphite lets TrueType fonts carry extra rule tables so applications can render complex writing systems, especially those used by minority-language communities.

As a package, Graphite2 is small but consequential: many users never invoke `gr2fonttest` directly, yet the library sits underneath typography stacks in applications such as LibreOffice and Firefox that need support for Graphite-enabled fonts.

### Project history

SIL developed Graphite because its field work encountered orthographies and complex script behavior that mainstream text-rendering systems did not always handle. The official documentation says the original need came from supporting lesser-known languages on Windows, then expanding to Linux and Mac.

The original engine, SilGraphite, began implementation in 2000. Graphite2 began implementation in 2010 as a rework of that engine, with a faster, more robust design and an API better matched to text-layout engines that prefer to receive glyph and positioning information rather than have the font engine draw directly.

The Graphite system is more than a library: it includes Graphite Description Language, a compiler that adds Graphite tables to TrueType fonts, and a rendering engine. Graphite2 is the engine package most distributions expose for application integration.

### Adoption history

Graphite's adoption path ran through applications that needed high-quality complex-script rendering. SIL's application list identifies OpenOffice, LibreOffice, Firefox, XeTeX, FieldWorks, Paratext, Bloom, Pale Moon, and Godot as Graphite-supporting applications, with several of the newer integrations using Graphite2.

LibreOffice 3.4 and later and Firefox 11 and later are the key adoption milestones for Graphite2 because they moved Graphite support into widely packaged desktop software. Firefox documentation also notes Graphite support across Mac OS X, Linux, Windows, and Android, with CSS feature control for Graphite-enabled fonts.

Because text shaping is infrastructure, Graphite2 adoption is mostly invisible to end users. Its package-manager footprint matters most to maintainers building office suites, browsers, font tools, and TeX-adjacent stacks with correct optional support for complex scripts.

### How it is used

Direct CLI usage is mostly diagnostic through tools such as `gr2fonttest`. The main use is as a C/C++ rendering library linked into applications that already have a text-layout pipeline.

A Graphite-enabled workflow starts with a TrueType font and a GDL program, compiles extra Graphite tables into the font, then lets the Graphite2 engine return glyph and positioning information to the host application.

There is no ordinary user configuration or credential file for Graphite2 as packaged by Homebrew; behavior is driven by application integration and the Graphite tables embedded in fonts.

### Why package nerds care

Graphite2 is one of those deceptively small libraries that keeps a large stack honest. Removing or misbuilding it can silently degrade minority-script support in software that otherwise appears unrelated to font engineering.

It is also a neat packaging example of a second-generation engine replacing an older implementation: SilGraphite remains historically important, but Graphite2 is the speed-and-robustness path adopted by major applications.

For dependency graph readers, Graphite2 often appears near HarfBuzz, FreeType, ICU, LibreOffice, and browser builds: not glamorous, but central to internationalized text rendering.

### Timeline

- 2000: Initial SilGraphite engine implementation began.
- 2010: Graphite2 implementation began as a rework of the original engine.
- 2011: LibreOffice 3.4 and later used the Graphite2 engine.
- 2012: Firefox 11 and later supported Graphite using Graphite2.
- 2020: Graphite2 1.3.14 shipped with bug fixes and no API change.
- 2026: Graphite2 1.3.15 release notes show ongoing build and maintenance fixes.

### Related projects

- SilGraphite is the original Graphite engine and is described by SIL as deprecated.
- LibreOffice and Firefox are major Graphite2 consumers named by SIL documentation.
- OpenType and Apple Advanced Typography are adjacent smart-font technologies discussed in Graphite's documentation.
- HarfBuzz and FreeType are common neighbors in modern text-rendering dependency stacks.

### Sources

- <https://github.com/silnrsi/graphite>
- <https://github.com/silnrsi/graphite/releases>
- <https://graphite.sil.org/>
- <https://graphite.sil.org/graphite_aboutWhy>
- <https://graphite.sil.org/graphite_apps>
- <https://graphite.sil.org/graphite_devApp>
- <https://graphite.sil.org/graphite_firefox>
- <https://graphite.sil.org/graphite_techAbout>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** graphite2
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - libgraphite2-3 - 1.3.14-2+b1: normalized package name match | Debian stable package indexes: libgraphite2-3 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Font rendering engine for Complex Scripts -- library | https://graphite.sil.org/
- Debian apt - libgraphite2-dev - 1.3.14-2+b1: normalized package name match | Debian stable package indexes: libgraphite2-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Development files for libgraphite2 | https://graphite.sil.org/
- Debian apt - libgraphite2-doc - 1.3.14-2: normalized package name match | Debian stable package indexes: libgraphite2-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Documentation for libgraphite2 | https://graphite.sil.org/
- Debian apt - libgraphite2-utils - 1.3.14-2+b1: normalized package name match | Debian stable package indexes: libgraphite2-utils from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Font rendering engine for Complex Scripts -- utilities | https://graphite.sil.org/
- Debian apt - python3-graphite2 - 1.3.14-2: normalized package name match | Debian stable package indexes: python3-graphite2 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Python bindings for libgraphite2 | https://graphite.sil.org/
- Nix - graphite2: normalized package name match | nixpkgs package indexes: graphite2 from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - libgraphite2-3 - 1.3.14-2build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libgraphite2-3 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Font rendering engine for Complex Scripts -- library | https://graphite.sil.org/
- Ubuntu apt - libgraphite2-dev - 1.3.14-2build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libgraphite2-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Development files for libgraphite2 | https://graphite.sil.org/
- Ubuntu apt - libgraphite2-doc - 1.3.14-2build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libgraphite2-doc from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Documentation for libgraphite2 | https://graphite.sil.org/
- Ubuntu apt - libgraphite2-utils - 1.3.14-2build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libgraphite2-utils from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Font rendering engine for Complex Scripts -- utilities | https://graphite.sil.org/
- Ubuntu apt - python3-graphite2 - 1.3.14-2build1: normalized package name match | Ubuntu 24.04 LTS package indexes: python3-graphite2 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Python bindings for libgraphite2 | https://graphite.sil.org/
- apk - graphite2 - 1.3.14-r6: normalized package name match | Alpine Linux edge package indexes: graphite2 from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | reimplementation of the SIL Graphite text processing engine | https://graphite.sil.org/
- apk - graphite2-dev - 1.3.14-r6: normalized package name match | Alpine Linux edge package indexes: graphite2-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | reimplementation of the SIL Graphite text processing engine (development files) | https://graphite.sil.org/
- apk - graphite2-static - 1.3.14-r6: normalized package name match | Alpine Linux edge package indexes: graphite2-static from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | reimplementation of the SIL Graphite text processing engine (static library) | https://graphite.sil.org/
- dnf - graphite2 - 1.3.14-20.fc44: normalized package name match | Fedora Rawhide package metadata: graphite2 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Font rendering capabilities for complex non-Roman writing systems | https://sourceforge.net/projects/silgraphite/
- dnf - graphite2-devel - 1.3.14-20.fc44: normalized package name match | Fedora Rawhide package metadata: graphite2-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Files for developing with graphite2 | https://sourceforge.net/projects/silgraphite/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://www.automicvault.com/pkg/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [harfbuzz](https://www.automicvault.com/pkg/brew/harfbuzz/) - Popular package that depends on this formula.
- [tectonic](https://www.automicvault.com/pkg/brew/tectonic/) - Popular package that depends on this formula.
- [texlive](https://www.automicvault.com/pkg/brew/texlive/) - Popular package that depends on this formula.
- [freetype](https://www.automicvault.com/pkg/brew/freetype/) - Shares av.db curated category or tags: cli, font-rendering, fonts, media, typography.
- [eot-utils](https://www.automicvault.com/pkg/brew/eot-utils/) - Shares av.db curated category or tags: cli, fonts, media.
- [font-util](https://www.automicvault.com/pkg/brew/font-util/) - Shares av.db curated category or tags: cli, fonts, media.
- [fontconfig](https://www.automicvault.com/pkg/brew/fontconfig/) - Shares av.db curated category or tags: cli, fonts, media.
- [fontforge](https://www.automicvault.com/pkg/brew/fontforge/) - Shares av.db curated category or tags: cli, fonts, media.
- [fribidi](https://www.automicvault.com/pkg/brew/fribidi/) - Shares av.db curated category or tags: cli, media, text-layout, unicode.
- [libdrawtext](https://www.automicvault.com/pkg/brew/libdrawtext/) - Shares av.db curated category or tags: cli, media, text-rendering.
- [mftrace](https://www.automicvault.com/pkg/brew/mftrace/) - Shares av.db curated category or tags: cli, fonts, media.
- [chafa](https://www.automicvault.com/pkg/brew/chafa/) - Local package facts share a topical domain. Shared terms: cli, media, renderer, rendering, unicode.

## Combined YAML source

View the package source record on GitHub. [combined/graphite2.yml](https://github.com/automic-vault/db/blob/main/combined/graphite2.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
