Releases: harfbuzz/harfbuzz
5.1.0
-
More extensive buffer tracing messages. (Behdad Esfahbod)
-
Fix hb-ft regression in bitmap fonts rendering. (Behdad Esfahbod)
-
Support extension promotion of lookups in hb-subset-repacker. (Garret Rieger)
-
A new
HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL
for scripts that use elongation (e.g. Arabic) to signify where it is safe to insert tatweel glyph without interrupting shaping. (Behdad Esfahbod) -
Add
--safe-to-insert-tatweel
tohb-shape
tool. (Behdad Esfahbod) -
New API
+HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL
+HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_TATWEEL
5.0.1
- Fix version 2
avar
table with hb-ft. (Behdad Esfahbod)
5.0.0
-
Support fonts with more than 65535 glyphs in
GDEF
,GSUB
, andGPOS
tables. This is part of boring-expansion-spec to extend OpenType in a backward-compatible way. (Behdad Esfahbod, Garret Riegerr) -
Complete support for more than 65535 glyphs in
glyf
table that started in 4.0.0 release. Part of boring-expansion-spec. (Behdad Esfahbod) -
Support version 2 of
avar
table. Part of boring-expansion-spec. (Behdad Esfahbod) -
Fix mark attachment on multiple substitutions in some cases. (Behdad Esfahbod)
-
Fix application of
calt
,rclt
, andccmp
features to better match Uniscribe behaviour with some Arabic fonts. (Behdad Esfahbod) -
Improvement to interaction between multiple cursive attachments. (Behdad Esfahbod)
-
Improve multiple mark interactions in Hebrew. (Behdad Esfahbod)
-
Implement language-specific forms in AAT shaping. (Behdad Esfahbod)
-
Fix variation of
VORG
table. (Behdad Esfahbod) -
Support for specific script tags to be retained in the subsetter, and add
--layout-scripts
option tohb-subset
tool. (Garret Rieger) -
Accept space as delimiter for
--features
/--variations
in command line tools. (Behdad Esfahbod) -
Improve subsetting of
COLR
table. (Qunxin Liu) -
Improved fuzzing coverage for ot-math API. (Frédéric Wang)
-
Fix
kern
table version 2 (AAT) sanitization on 32-bit systems. (Behdad Esfahbod) -
Allow negative glyph advances from
graphite2
shaper. (Stephan Bergmann) -
Implement loading (color) bitmap fonts with hb-ft. (Behdad Esfahbod)
-
Fix regression in hb-ft when changing font size. (Behdad Esfahbod)
-
Fix build on GCC < 7. (Kleis Auke Wolthuizen)
-
Dynamically load dwrite.dll on windows if
directwrite
shaper is enabled. (Luca Bacci) -
Provide a single-file
harfbuzz-subset.cc
file for easier alternate building of hb-subset library, similar toharfbuzz.cc
. (Khaled Hosny) -
New API
+HB_SUBSET_SETS_LAYOUT_SCRIPT_TAG
+hb_language_matches()
4.4.1
- Fix test failure with some compilers.
- Fix Telugu and Kannada kerning regression.
4.4.0
-
Caching of variable fonts shaping, in particular when using HarfBuzz’s own font loading functions (ot). Bringing performance of variable shaping in par with non-variable fonts shaping. (Behdad Esfahbod)
-
Caching of format 2 “Contextual Substitution” and “Chained Contexts Substitution” lookups. Resulting in up to 20% speedup of lookup-heavy fonts like Gulzar or Noto Nastaliq Urdu. (Behdad Esfahbod)
-
Improved ANSI output from hb-view. (Behdad Esfahbod)
-
Support for shaping legacy, pre-OpenType, Windows 3.1-era, Arabic fonts that relied on a fixed PUA encoding. (Khaled Hosny, Behdad Esfahbod)
-
Sinhala script is now shaped by the USE shaper instead of “indic” one. (Behdad Esfahbod, David Corbett)
-
Thai shaper improvements. (David Corbett)
-
hb-ot-name API supports approximate BCP-47 language matching, for example asking for “en_US” in a font that has only “en” names will return them. (Behdad Esfahbod)
-
Optimized TrueType glyph shape loading. (Behdad Esfahbod)
-
Fix subsetting of HarfBuzz faces created via
hb_face_create_for_tables()
. (Garret Rieger) -
Add 32 bit var store support to the subsetter. (Garret Rieger)
-
New API
+HB_BUFFER_FLAG_DEFINED
+HB_BUFFER_SERIALIZE_FLAG_DEFINED
+hb_font_changed()
+hb_font_get_serial()
+hb_ft_hb_font_changed()
+hb_set_hash()
+hb_map_copy()
+hb_map_hash()
4.3.0
-
Major speed up in loading and subsetting fonts, especially in handling CFF table. Subsetting some fonts is now 3 times faster. (Behdad Esfahbod, Garret Rieger)
-
Speed up blending CFF2 table. (Behdad Esfahbod)
-
Speed up
hb_ot_tags_from_language()
. (Behdad Esfahbod, David Corbett) -
Fix USE classification of U+10A38 to fix multiple marks on single Kharoshthi base. (David Corbett)
-
Fix parsing of empty CFF Index. (Behdad Esfahbod)
-
Fix subsetting CPAL table with partial palette overlaps. (Garret Rieger)
-
New API
+hb_map_is_equal() (Behdad Esfahbod)
4.2.1
- Make sure
hb_blob_create_from_file_or_fail()
always returnsnullptr
in case of failure and not empty blob sometimes. (Khaled Hosny) - Add
--passthrough-tables
option tohb-subset
. (Cosimo Lupo) - Reinstate a pause after basic features in Khmer shaper, fixing a regression introduced in previous release. (Behdad Esfahbod)
- Better handling of Regional_Indicator when shaped with RTL-native scripts, reverting earlier fix that caused regressions in AAT shaping. (Behdad Esfahbod)
4.2.0
-
Source code reorganization, splitting large hb-ot-layout files into smaller, per-subtable ones under OT/Layout/*. Code for more tables will follow suit in later releases. (Garret Rieger, Behdad Esfahbod)
-
Revert Indic shaper change in previous release that broke some fonts and instead make per-syllable restriction of “GSUB” application limited to script-specific Indic features, while applying them and discretionary features in one go. (Behdad Esfahbod)
-
Fix decoding of private in gvar table. (Behdad Esfahbod)
-
Fix handling of contextual lookups that delete too many glyphs. (Behdad Esfahbod)
-
Make “morx” deleted glyphs don’t block “GPOS” application. (Behdad Esfahbod)
-
Various build fixes. (Chun-wei Fan, Khaled Hosny)
-
New API
+hb_set_next_many() (Andrew John)
4.1.0
-
Various OSS-Fuzz fixes. (Behdad Esfahbod)
-
Make fallback vertical-origin match FreeType’s. (Behdad Esfahbod)
-
Treat visible viramas like dependent vowels in USE shaper. (David Corbett)
-
Apply presentation forms features and discretionary features in one go in Indic shaper, which seems to match Uniscribe and CoreText behaviour. (Behdad Esfahbod, David Corbett)
-
Various bug fixes.
-
New API
+hb_set_add_sorted_array() (Andrew John)
4.0.1
-
Update OpenType to AAT mappings for
hist
andvrtr
features. (Florian Pircher) -
Update IANA Language Subtag Registry to 2022-03-02. (David Corbett)
-
Update USE shaper to allow any non-numeric tail in a symbol cluster, and remove obsolete data overrides. (David Corbett)
-
Fix handling of baseline variations to return correctly scaled values. (Matthias Clasen)
-
A new experimental
hb_subset_repack_or_fail()
to repack an array of objects, eliminating offset overflows. The API is not available unless HarfBuzz is built with experimental APIs enabled. (Qunxin Liu) -
New experimental API
+hb_link_t
+hb_object_t
+hb_subset_repack_or_fail()