-
Add buffer deserialization APIs that report progress as a byte offset, for use from introspection bindings.
-
Fix Indic shaping of the Unicode 18 Devanagari and Bengali additions.
-
Fix Arabic fallback shaping: wrong ligatures when a component is missing from the font, and disappearing marks in legacy fonts.
-
Fix
COLRglyph extents and mark positioning in fonts with empty layers. -
Fix AAT shaping: wrong
kerxkerning (formats 1 and 2) and mark positioning (format 4, a 14.3.0 regression), and ignoredkernandmorttables with a non-first initial state. -
Various fixes to the Graphite2 shaper.
-
Report HarfRust shaping failures through
hb_buffer_allocation_successful(). -
Fix wrong outlines in
gvarfonts with intermediate tuples. -
Fix
hb_face_create_or_fail()rejecting face indices with named-instance bits set. -
Fix wrong fallback metrics: the vertical descender in fonts without
vhea, and the hanging baseline for some scripts. -
Fix
hb_ot_layout_lookup_collect_glyph_alternates()collecting garbage fromAlternateSubstandSingleSubstformat 1 lookups. -
Speed up shaping on faces with many shape plans,
hb_language_from_string(), vertical text withhb-ft, andCBDTandsbixfonts. -
Fix crashes and deadlocks with FreeType, including
hb_ft_font_set_funcs()on immutable fonts and font queries from color paint callbacks. -
Fix crashes with NULL result pointers in
hb_ot_metrics_get_position_with_fallback(),hb_ot_layout_get_font_extents(), andhb_ot_layout_get_font_extents2(). -
Fix use-after-free in
hb_map_update()when updating a map from itself. -
Various fixes for crashes, hangs, and memory use with malformed fonts.
-
Faster subsetting of large
GSUBandGPOStables, and smallerCFFoutput. -
Partially instancing or desubroutinizing
CFF2fonts with nested blends now fails instead of changing the outlines. -
Subsetting now fails if a glyph mapping assigns another glyph to glyph 0.
-
Fix
hb_subset_axis_range_from_string()reading past the given length. -
Fix subsetting beyond-64k variable fonts losing
HVARadvance deltas. -
Various subsetting and instancing fixes, mostly for
CFF,CFF2, andCOLR. -
Fix rotated and skewed rectangle clips hiding their contents in the raster library, and out-of-bounds access when extents change during painting.
-
Fix the vector library mirroring path clips in SVG, and writing PDFs with wrong page bounds and misplaced or clipped
COLRgradients. -
Fix wrong clipping of
COLRlayers in the GPU library. -
Various Cairo integration fixes, including a memory leak per scaled font.
-
Fix
hb-info --list-*crashes on unusual fonts. -
Various build and CI fixes.
-
New API:
+hb_buffer_deserialize_glyphs2()
+hb_buffer_deserialize_unicode2()