This document is for HarfBuzz 12.3.0 . The latest version of this documentation can be found on-line at https://harfbuzz.github.io.

HarfBuzz is a text shaping library. Using the HarfBuzz library allows programs to convert a sequence of Unicode input into properly formatted and positioned glyph outputfor any writing system and language.

The canonical source-code tree is available at github.com/harfbuzz/harfbuzz. See ??? for release tarballs.


I. User's manual
II. Reference manual
Core API
OpenType API
Apple Advanced Typography API
Integration API
Style API
Subset API
API Index
Index of deprecated API
Index of new symbols in 12.1.0
Index of new symbols in 11.3.0
Index of new symbols in 11.2.0
Index of new symbols in 11.0.0
Index of new symbols in 10.4.0
Index of new symbols in 10.3.0
Index of new symbols in 10.2.0
Index of new symbols in 10.1.0
Index of new symbols in 10.0.0
Index of new symbols in 8.5.0
Index of new symbols in 8.4.0
Index of new symbols in 8.3.1
Index of new symbols in 8.2.0
Index of new symbols in 8.1.0
Index of new symbols in 8.0.0
Index of new symbols in 7.3.0
Index of new symbols in 7.1.0
Index of new symbols in 7.0.0
Index of new symbols in 6.0.0
Index of new symbols in 5.3.0
Index of new symbols in 5.0.0
Index of new symbols in 4.4.0
Index of new symbols in 4.3.0
Index of new symbols in 4.2.0
Index of new symbols in 4.1.0
Index of new symbols in 4.0.0
Index of new symbols in 3.4.0
Index of new symbols in 3.3.0
Index of new symbols in 3.1.0
Index of new symbols in 3.0.0
Index of new symbols in 2.9.1
Index of new symbols in 2.9.0
Index of new symbols in 2.8.2
Index of new symbols in 2.7.3
Index of new symbols in 2.6.8
Index of new symbols in 2.6.5
Index of new symbols in 2.6.3
Index of new symbols in 2.6.0
Index of new symbols in 2.5.0
Index of new symbols in 2.4.0
Index of new symbols in 2.3.0
Index of new symbols in 2.2.0
Index of new symbols in 2.1.0
Index of new symbols in 2.0.0
Index of new symbols in 1.9.0
Index of new symbols in 1.8.6
Index of new symbols in 1.8.5
Index of new symbols in 1.8.1
Index of new symbols in 1.8.0
Index of new symbols in 1.7.7
Index of new symbols in 1.7.2
Index of new symbols in 1.6.0
Index of new symbols in 1.5.0
Index of new symbols in 1.4.3
Index of new symbols in 1.4.2
Index of new symbols in 1.4.0
Index of new symbols in 1.3.3
Index of new symbols in 1.2.3
Index of new symbols in 1.1.3
Index of new symbols in 1.1.2
Index of new symbols in 1.0.5
Index of new symbols in 0.9.42
Index of new symbols in 0.9.41
Index of new symbols in 0.9.39
Index of new symbols in 0.9.38
Index of new symbols in 0.9.33
Index of new symbols in 0.9.31
Index of new symbols in 0.9.30
Index of new symbols in 0.9.28
Index of new symbols in 0.9.26
Index of new symbols in 0.9.22
Index of new symbols in 0.9.21
Index of new symbols in 0.9.20
Index of new symbols in 0.9.11
Index of new symbols in 0.9.10
Index of new symbols in 0.9.8
Index of new symbols in 0.9.7
Index of new symbols in 0.9.5
Index of new symbols in 0.9.2
Index of new symbols in 0.6.0

The current HarfBuzz codebase is stable and under active maintenance. This is what is used in latest versions of Firefox, GNOME, ChromeOS, Chrome, LibreOffice, XeTeX, Android, and KDE, among other places.

Prior to 2012, the original HarfBuzz codebase (which, these days, is referred to as harfbuzz-old) was derived from code in FreeType, Pango, and Qt. It is not actively developed or maintained, and is extremely buggy. All users of harfbuzz-old are encouraged to switch over to the new HarfBuzz as soon as possible.

To make this distinction clearer in discussions, the current HarfBuzz codebase is sometimes referred to as harfbuzz-ng.

For reference purposes, the harfbuzz-old source tree is archived here. There are no release tarballs of harfbuzz-old whatsoever.