HarfBuzz

HarfBuzz is an OpenType text shaping engine.

The current HarfBuzz codebase, formerly known as harfbuzz-ng, is versioned 1.x.x and 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. The canonical source tree is available here. Also available on github. See Download for release tarballs.

The old HarfBuzz codebase, these days known as harfbuzz-old, was derived from FreeType, Pango, and Qt and is available here. It is not actively developed or maintained, and is extremely buggy. All users are encouraged to switch over to the new HarfBuzz as soon as possible. There are no release tarballs of old HarfBuzz whatsoever.


I. User's manual
What is HarfBuzz?
Why do I need it?
Why is it called HarfBuzz?
Install HarfBuzz
Download
Building
Hello, HarfBuzz
What HarfBuzz doesn't do
Buffers, language, script and direction
Creating and destroying buffers
Adding text to the buffer
Setting buffer properties
What about the other scripts?
Customizing Unicode functions
Fonts and faces
Using FreeType
Using HarfBuzz's native OpenType implementation
Using your own font functions
Clusters
A clustering example for levels 0 and 1
Reordering in levels 0 and 1
The distinction between levels 0 and 1
Level 2
Ligatures with combining marks
Reordering
Shaping and shape plans
OpenType features
Plans and caching
II. Reference manual
HarfBuzz API
hb
hb-common
hb-unicode
Buffers — Input and output buffers
hb-blob
hb-face
hb-font
Shaping — Conversion of text strings into positioned glyphs
hb-version
hb-deprecated
hb-set
hb-ot
hb-ot-layout
hb-ot-tag
hb-ot-font
hb-ot-shape
hb-ot-math
hb-shape-plan
hb-glib
hb-icu
hb-ft
hb-graphite2
hb-uniscribe
hb-coretext
hb-gobject
Object Hierarchy
API Index
Index of new symbols in 0.9.2
Index of new symbols in 0.9.5
Index of new symbols in 0.9.7
Index of new symbols in 0.9.8
Index of new symbols in 0.9.10
Index of new symbols in 0.9.11
Index of new symbols in 0.9.20
Index of new symbols in 0.9.22
Index of new symbols in 0.9.28
Index of new symbols in 0.9.30
Index of new symbols in 0.9.31
Index of new symbols in 0.9.38
Index of new symbols in 0.9.39
Index of new symbols in 0.9.41
Index of new symbols in 0.9.42
Index of new symbols in 1.0.5
Index of new symbols in 1.1.2
Index of new symbols in 1.1.3
Index of new symbols in 1.2.3
Index of new symbols in 1.3.3
Index of new symbols in 1.4.2
Index of new symbols in 1.4.3
Index of new symbols in 1.5.0
Index of new symbols in 1.6.0
Index of deprecated API
Annotation Glossary