1
0
Fork
You've already forked harfbuzz
0
No description
  • C++ 79%
  • C 14.8%
  • Python 2.7%
  • Meson 1.2%
  • Rust 1%
  • Other 1.2%
2026年07月08日 13:15:01 -07:00
.ci Bump meson from 1.10.0 to 1.10.1 in /.ci 2026年01月19日 16:06:52 +02:00
.github Bump github/codeql-action from 4.31.9 to 4.31.10 2026年01月19日 16:06:08 +02:00
docs [docs] Fix build 2025年10月01日 08:26:58 +03:00
perf [benchmark-shape] Fix unused-var under NDEBUG 2026年01月12日 13:09:51 -07:00
src 12.3.2 2026年01月24日 14:09:52 +02:00
subprojects [kbts] Update to version 2.07 ( #5697 ) 2026年01月01日 21:01:30 -07:00
test fix fuzzer issue: https://oss-fuzz.com/testcase-detail/6005602106277888 2026年01月23日 11:44:39 -07:00
util [util] Fix compiler warning 2025年10月02日 18:58:40 -07:00
.clang-format fix clang-format repeated flags ( #5559 ) 2025年09月15日 10:11:36 -06:00
.codecov.yml [codecov] Enable information patch mode 2023年02月02日 15:51:13 -07:00
.editorconfig Drop more remnants of autotools build 2024年06月27日 16:33:16 +03:00
AUTHORS Update AUTHORS / COPYING 2019年04月21日 12:26:07 -04:00
BUILD.md harfbuzz.cc hb-shape ( #5474 ) 2025年08月17日 17:12:22 -06:00
CMakeLists.txt [cmake] Remove warning message, updated cmake version, and force build with freetype 2026年07月08日 13:15:01 -07:00
CONFIG.md [test] Build with HB_MINI 2024年06月20日 11:17:10 -07:00
COPYING [outline] Add FreeType authors copyrights 2023年02月02日 15:51:22 -07:00
harfbuzz.doap [doap] Update 2022年06月21日 13:19:08 -06:00
HarfBuzz.jpg Add logo ( #5650 ) 2025年11月23日 15:22:58 -07:00
HarfBuzz.png [logo] Remove the background [ci skip] ( #5659 ) 2025年11月28日 11:11:57 -07:00
meson.build 12.3.2 2026年01月24日 14:09:52 +02:00
meson_options.txt [kbts] Add dummy shaper 2025年07月23日 21:39:23 +03:00
NEWS 12.3.2 2026年01月24日 14:09:52 +02:00
README.md Small typo README ( #5696 ) 2025年12月28日 00:40:25 -07:00
README.mingw.md [README.mingw.md] Update for newer meson 2025年03月24日 16:35:51 -06:00
README.python.md README.python.md: Add some notes for Windows 2023年06月28日 11:37:45 -04:00
RELEASING.md Minor [ci skip] 2026年01月24日 14:04:46 +02:00
replace-enum-strings.cmake Revert "Remove cmake build files" 2020年08月12日 01:00:33 +04:30
SECURITY.md [SECURITY] Update 2023年04月14日 11:35:34 -06:00
TESTING.md Update test/fuzzing/README 2022年08月03日 11:31:34 -06:00
THANKS [THANKS] Add Ivan Kuckir < https://photopea.com/ > 2019年04月24日 15:08:27 -07:00
xkcd.png Add xkcd.png 2023年11月06日 13:25:42 -07:00

HarfBuzz

HarfBuzz is a text shaping engine. It primarily supports OpenType, but also Apple Advanced Typography. Check "What is HarfBuzz?" chapter in the user manual for more inforamation on what HarfBuzz do and what it doesn’t do.

The canonical source tree and bug trackers are available on github. Both development and user support discussion around HarfBuzz happen on github as well.

For license information, see COPYING.

API stability

The API that comes with hb.h will not change incompatibly. Other, peripheral, headers are more likely to go through minor modifications, but again, we do our best to never change API in an incompatible way. We will never break the ABI.

The API and ABI are stable even across major version number jumps. In fact, current HarfBuzz is API/ABI compatible all the way back to the 0.9.x series. If one day we need to break the API/ABI, that would be called a new library.

As such, we bump the major version number only when we add major new features, the minor version when there is new API, and the micro version when there are bug fixes.

Documentation

For user manual as well as API documentation, check: https://harfbuzz.github.io

Download

Tarball releases of HarfBuzz are available on github releases page. At the same place you will also find Win32/Win64 binary bundles that include libharfbuzz DLL, hb-view.exe, hb-shape.exe, and all dependencies.

Development

For build information, see BUILD.md.

For custom configurations, see CONFIG.md.

For testing and profiling, see TESTING.md.

For using with Python, see README.python.md. There is also uharfbuzz.

For cross-compiling to Windows from Linux or macOS, see README.mingw.md.

To report bugs or submit patches please use github issues and pull-requests.

Developer documents

To get a better idea of where HarfBuzz stands in the text rendering stack you may want to read State of Text Rendering 2024. Here are a few presentation slides about HarfBuzz at the Internationalization and Unicode Conference over the years:

More presentations and papers are available on behdad's website. In particular, the following studies are relevant to HarfBuzz development:

Name

HarfBuzz (حرف‌باز) is the literal Persian translation of "OpenType", transliterated using the Latin script. It also means "talkative" or "glib" (also a nod to the GNOME project where HarfBuzz originates from).

Background: Originally there was this font format called TrueType. People and companies started calling their type engines all things ending in Type: FreeType, CoolType, ClearType, etc. And then came OpenType, which is the successor of TrueType. So, for my OpenType implementation, I decided to stick with the concept but use the Persian translation. Which is fitting given that Persian is written in the Arabic script, and OpenType is an extension of TrueType that adds support for complex script rendering, and HarfBuzz is an implementation of OpenType complex text shaping.

Users

HarfBuzz is used in Android, Chrome, ChromeOS, Firefox, GNOME, GTK+, KDE, Qt, LibreOffice, OpenJDK, XeTeX, Scribus, PlayStation, Microsoft Edge, Amazon Kindle, Adobe Photoshop, Illustrator, InDesign, Godot Engine, Unreal Engine, QuarkXPress, Figma, and other places.

xkcd-derived image

Distribution

Packaging status of HarfBuzz

Packaging status