Releases: harfbuzz/harfbuzz
9.0.0
What's Changed
- HarfBuzz now the supports the proposed new OpenType “VARC” table. This replaces the previously supported “Variable Composites” experimental feature. “VARC” support is still experimental and it is not enabled unless HarfBuzz is built with experimental APIs enabled:
https://github.com/harfbuzz/boring-expansion-spec/blob/main/VARC.md - Autotools build system have been dropped. Meson is the only supported build system in HarfBuzz going forward.
- Speed up “AAT” shaping for short words by up to 4%.
- Ignore unknown “CFF” operators.
- “hb_subset_input_keep_everything()” now keeps also non-unicode “name” table records.
- Update the IANA and OpenType language tag registries.
- Support composite glyphs with very large number of points in hb-draw API.
- Various build fixes.
New Contributors
- @kanavin made their first contribution in #4734
- @ssmid made their first contribution in #4761
- @correabuscar made their first contribution in #4771
Full Changelog: 8.5.0...9.0.0
8.5.0
What's Changed
-
API for partial instancing is now stable and have been promoted out of experimental APIs.
-
Support instancing “BASE” table.
-
Speedup AAT shaping by 13–30%.
-
Various build fixes.
-
Various subsetter and instancer fixes.
-
New API
+HB_SUBSET_FLAGS_OPTIMIZE_IUP_DELTAS
+hb_subset_input_get_axis_range()
+hb_subset_input_pin_axis_location()
Full Changelog: 8.4.0...8.5.0
8.4.0
What's Changed
- Add /bigobj to MSVC compiler flags in meson build, to fix building hb-subset.cc
- Specify minimum versions of various dependencies in meson and autotools build.
- When subsetting, place variation store at the end of “GDEF” table to fix shaping issues with some versions of Adobe InDesign.
- Various build fixes.
- New API:
+hb_buffer_set_random_state()
+hb_buffer_get_random_state()
New Contributors
Full Changelog: 8.3.1...8.4.0
8.3.1
What's Changed
- hb_blob_create_from_file_or_fail() on Windows will now try to interpret the file name as UTF-8 first, and as system code page if it is not valid UTF-8.
- Fix hb_style_get_value() in fonts with “STAT” table.
- Properly handle negative offsets in CFF table.
- Update IANA Language Subtag Registry to 2024-03-07.
- Subsetter now supports subsetting “BASE” table.
- Subsetter will update “hhea” font metrics in sync with “OS/2” ones.
- “--variations” option of “hb-subset” now supports leaving out values that should be unchanged, e.g. “wght=:500:” will change the default and keep max and min unchanged. It also supports “*=drop” to to pin all axes to default location.
- Fix hb_ot_math_get_glyph_kerning() to match updated “MATH” table spec.
- Support legacy MacRoman encoding in “cmap” table.
- Various build fixes.
- Various subsetting and instancing fixes.
New Contributors
- @pseiderer made their first contribution in #4512
- @utelle made their first contribution in #4514
- @lie-yan made their first contribution in #4541
- @sezero made their first contribution in #4546
- @apache-hb made their first contribution in #4561
- @TingPing made their first contribution in #4562
- @lzsiga made their first contribution in #4576
- @chrsan made their first contribution in #4579
- @Nopey made their first contribution in #4585
- @jpcomito made their first contribution in #4619
Full Changelog: 8.3.0...8.3.1
8.3.0
What's Changed
-
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
New Contributors
- @manthey made their first contribution in #4450
- @biodranik made their first contribution in #4448
- @yisibl made their first contribution in #4455
- @dalboris made their first contribution in #4492
Full Changelog: 8.2.2...8.3.0
8.2.2
What's Changed
- Fix regression from 8.1.0 in shaping fonts with duplicate feature tags.
- Fix regression from 8.2.0 in parsing CSS-style feature strings.
- Variable fonts instanciation now handles more tables.
- Various CMake build improvements.
- various fixes to build without errors with gcc 4.9.2.
New Contributors
- @tpetillon made their first contribution in #4408
- @Duncaen made their first contribution in #4413
- @inobelar made their first contribution in #4417
Full Changelog: 8.2.1...8.2.2
8.2.1
8.2.0
What's Changed
-
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
New Contributors
- @benoit-pierre made their first contribution in #4391
- @amyspark made their first contribution in #4394
Full Changelog: 8.1.1...8.2.0
8.1.1
- Fix shaping of contextual rules at the end of string, introduced in 8.1.0
- Fix stack-overflow in repacker with malicious fonts.
- 30% speed up loading Noto Duployan font.
Full Changelog: 8.1.0...8.1.1
8.1.0
What's Changed
-
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:
- 45% speed up in shaping Noto Duployan font.
- 10% speed up in subsetting Noto Duployan font.
- Another 8% speed up in shaping Gulzar.
- 5% speed up in loading Roboto.
-
New API:
+hb_ot_layout_collect_features_map()
New Contributors
- @derekdreery made their first contribution in #4334
Full Changelog: 8.0.1...8.1.0