- Various AAT shaping fixes: legacy
mortcontextual offsets (which could produce out-of-font glyph IDs), in-place deleted-glyph replacements, and overflow in obsolete offset math. - Fix Arabic PUA fallback shaping for the isolated lam-alef-maksura ligature.
- Fix float-to-int overflow in
avar2mapping with malformed fonts. - Harden buffer verification after detecting non-monotone clusters.
- Various
COLRv1 fixes: fix handling of.notdefwithout paint, round alpha consistently, and report the root clip under the font transform. - Various Glyph-extents fixes: inclusive rounding, and floating-point scaling before rounding so the reported box always covers the glyph.
- Various Subsetting fixes: keep the
paltspacing feature by default, raise the repackerMAX_SPACESlimit, fix a repacker crash on sharedLigatureSetnodes, guardgvarsize overflow on 32-bit, and fix thepostglyph-name sort comparator on macOS. - Replace
std::sortwith an internal quicksort, removing leakedstd::symbols from thelibharfbuzzABI. - Harden size computations with saturating arithmetic against 32-bit overflow.
- Various improvements to the experimental Rust shaper (HarfRust) and font functions (
fontations): honor custom font funcs, key shape plans on features, faster buffer handling, and update to HarfRust 0.8. - Various fixes to the experimental
harfbuzz-gpuandharfbuzz-vectorlibraries, including aharfbuzz-vectorheap buffer overflow and Windows build fixes. - Map the
Hrkt(Katakana or Hiragana) script tag to thekanaOpenType tag. - Build configuration: new
HB_CONFIG_OVERRIDE_LAST_Hoverride header, decoupleHB_NO_DRAWfromHB_NO_CFF, and an optionalhb-allocatorCargo feature. - Various build, CI, and fuzzing fixes.