HarfBuzz text shaping engine
Full Changelog: https://github.com/harfbuzz/harfbuzz/compare/8.3.1...8.4.0
Full Changelog: https://github.com/harfbuzz/harfbuzz/compare/8.3.0...8.3.1
Improve memory barrier to fix potential segfaults.
Various build fixes.
Various subsetting and instancing fixes.
Rename “hb-subset” option “--instance” to “--variations” to match the other tools. Old option is kept as an alias.
New API: HB_AAT_LAYOUT_FEATURE_TYPE_CURSIVE_CONNECTION
Deprecated API: HB_AAT_LAYOUT_FEATURE_TYPE_CURISVE_CONNECTION
Full Changelog: https://github.com/harfbuzz/harfbuzz/compare/8.2.2...8.3.0
Full Changelog: https://github.com/harfbuzz/harfbuzz/compare/8.2.1...8.2.2
Unicode 15.1 support.
Full Changelog: https://github.com/harfbuzz/harfbuzz/compare/8.2.0...8.2.1
Various build and fuzzing fixes
Improvements to COLRv1 painting.
New API: +hb_paint_color_glyph_func_t +hb_paint_funcs_set_color_glyph_func +hb_paint_color_glyph
Full Changelog: https://github.com/harfbuzz/harfbuzz/compare/8.1.1...8.2.0
Full Changelog: https://github.com/harfbuzz/harfbuzz/compare/8.1.0...8.1.1
Fix long-standing build issue with the AIX compiler and older Apple clang.
Revert optimization that could cause timeout during subsetting with malicious fonts.
More optimization work:
New API: +hb_ot_layout_collect_features_map()
Full Changelog: https://github.com/harfbuzz/harfbuzz/compare/8.0.1...8.1.0
Build fix on 32-bit ARM.
More speed optimizations:
Full Changelog: https://github.com/harfbuzz/harfbuzz/compare/8.0.0...8.0.1
New, experimental, WebAssembly (WASM) shaper, that provides greater flexibility over OpenType/AAT/Graphite shaping, using WebAssembly embedded inside the font file. Currently WASM shaper is disabled by default and needs to be enabled at build time. For details, see:
https://github.com/harfbuzz/harfbuzz/blob/main/docs/wasm-shaper.md
For example fonts making use of the WASM shaper, see:
Improvements to Experimental features introduced in earlier releases:
Many big speed optimizations:
New macro HB_ALWAYS_INLINE. HarfBuzz now inlines functions more aggressively, which results in some speedup at the expense of bigger code size. To disable this feature define the macro to just inline.
New API: +HB_CODEPOINT_INVALID +hb_ot_layout_get_baseline2() +hb_ot_layout_get_baseline_with_fallback2() +hb_ot_layout_get_font_extents() +hb_ot_layout_get_font_extents2() +hb_subset_input_set_axis_range()
Full Changelog: https://github.com/harfbuzz/harfbuzz/compare/7.3.0...8.0.0