HarfBuzz is an OpenType text shaping engine.
This package contains the subset library
Provides
Requires
License
MIT
Changelog
* Sun Jan 25 2026 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 12.3.2:
+ Fix padding gvar table during subsetting when the original font
uses long format and subset font using short format.
+ Various fuzzing fixes.
+ Fix NULL pointer deference when malloc fails.
* Wed Jan 21 2026 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 12.3.1:
+ Various speed optimizations.
+ Build fixes for GCC 4.9.
+ Fix NULL pointer deference when malloc fails.
- Drop harfbuzz-CVE-2026-22693.patch: Fixed upstream.
* Fri Jan 16 2026 Michael Gorse <mgorse@suse.com>
- Add harfbuzz-CVE-2026-22693.patch: fix a NULL pointer dereference
(bsc#1256459 CVE-2026-22693).
* Sun Dec 28 2025 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 12.3.0:
+ Invalid font tables (eg. GSUB/GPOS) are outright rejected,
instead of partially validated and used. This behavior is
different from DirectWrite and HarfRust, and is in line with
CoreText.
+ Various speed optimizations:
- AAT shaping: speed up state machine on Apple silicon using a
fast-path.
- 12% faster in LucidaGrande benchmark.
- OpenType shaping: speed up (Chain)Context lookup shaping
using a fast-path and Coverage caching. 20% speedup in
NotoNastaliqUrdu benchmark.
- Drawing mega variable-fonts: 30% speedup on GoogleSansFlex
benchmark.
- Drawing VARC fonts: 5% speedup on varc-hanzi benchmark.
- Always apply synthetic slant around horizontal glyph origin
in hb-draw API.
- Fix undefined C++ behavior in some uses union.
- Remove the disabled by default uniscribe-bug-compatible mode
from Indic and Khmer shapers, that used to be used when
testing against Uniscribe shaping behaviour.
- Support full instancing fonts with v2 avar table.
- Various subsetting, build, fuzzing, and documentation fixes.
* Wed Nov 05 2025 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 12.2.0:
+ While Windows platform contain the matching of the ChainContext
rules to within the syllable for those features that are
applied per syllable (in Indic-like and USE shapers), in 2015
we decided that in HarfBuzz we would allow the backtrack /
lookahead parts of the rule to match across syllables. However,
our implementation had a latent bug, causing the backtrack
sequences to be matched within syllable most of the time, and
inconsistently so. As such, and after empirical testing, we
have decided to match the Windows implementation for this, so
now both backtrack and lookahead sequences are contained to
within the syllable, just like DirectWrite does.
+ Disable legacy kern table for most shapers, enabling it only
for default, Arabic, Hangul, and Hebrew shapers.
+ When dropping STAT table during subsetting, drop also named IDs
that are referenced only by it.
+ Don’t apply synthetic slant to glyph origin, fixing horizontal
shift in slanted glyphs.
+ Various build and fuzzing fixes.
+ Documentation fixes.
* Wed Oct 01 2025 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 12.1.0:
+ Build fixes with GCC 15 on some 32 bit platforms.
+ Fix misaligned pointer use.
+ New API, hb_ot_layout_lookup_collect_glyph_alternates(), to
collect glyph substitutions from single and alternate
substitution lookups in one call, instead of getting
substitutions one by one using
hb_ot_layout_lookup_get_glyph_alternates().
+ New API: +hb_ot_layout_lookup_collect_glyph_alternates()
* Sun Sep 28 2025 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 12.0.0:
+ The major feature of this release is that the Variable
Composites / Components (VARC table) addition to the ISO
OpenFontFormat has graduated from experimental, and is now
enabled by default. It can be disabled at compile time b