Library

harfbuzz 14.5.0

Version14.5.0
Stars★ 6,092
Released2026-09-20

HarfBuzz text shaping engine

Release notes

- Update Unicode 18.0 data and script support, including script values for
  Jurchen, Proto-Cuneiform, and Seal, and the corresponding shaping support.
- Add support for VARC table subsetting, including pruning auxiliary data,
  remapping glyph IDs, and guarding the feature in lean builds.
- Add rendering work budgets to the draw and paint APIs and share them across
  the raster, vector, GPU, and Cairo renderers so nested outline work remains
  bounded.
- Improve performance in set iteration, lookup traversal, and the repacker, and
  add coverage for new benchmarks and fuzzing seeds.
- Fix various correctness and robustness issues across the CFF, Graphite,
  DirectWrite, and repacker code paths, including memory leaks, overflow checks,
  bounds issues, and malformed-font handling.
- Various build, portability, and CI fixes.

- New API:
  * Common:
    +HB_BUDGET_DEFAULT
    +HB_BUDGET_UNLIMITED
    +HB_SCRIPT_JURCHEN
    +HB_SCRIPT_PROTO_CUNEIFORM
    +HB_SCRIPT_SEAL
  * Draw:
    +hb_draw_set_budget_func_t
    +hb_draw_get_budget_func_t
    +hb_draw_get_budget_remaining_func_t
    +hb_draw_funcs_set_set_budget_func()
    +hb_draw_funcs_set_get_budget_func()
    +hb_draw_funcs_set_get_budget_remaining_func()
    +hb_draw_set_budget()
    +hb_draw_get_budget()
    +hb_draw_get_budget_remaining()
  * Paint:
    +hb_paint_set_budget_func_t
    +hb_paint_get_budget_func_t
    +hb_paint_get_budget_remaining_func_t
    +hb_paint_funcs_set_set_budget_func()
    +hb_paint_funcs_set_get_budget_func()
    +hb_paint_funcs_set_get_budget_remaining_func()
    +hb_paint_set_budget()
    +hb_paint_get_budget()
    +hb_paint_get_budget_remaining()




Share this resource


Discovered 2026-09-22 Source GitHub Archive 2026-09 →