Skip to content

Releases: harfbuzz/harfbuzz

5.1.0

31 Jul 13:51
5.1.0
Compare
Choose a tag to compare
  • 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 to hb-shape tool. (Behdad Esfahbod)

  • New API
    +HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL
    +HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_TATWEEL

5.0.1

23 Jul 20:11
5.0.1
Compare
Choose a tag to compare

5.0.0

23 Jul 18:03
5.0.0
Compare
Choose a tag to compare
  • Support fonts with more than 65535 glyphs in GDEF, GSUB, and GPOS 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, and ccmp 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 to hb-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 to harfbuzz.cc. (Khaled Hosny)

  • New API
    +HB_SUBSET_SETS_LAYOUT_SCRIPT_TAG
    +hb_language_matches()

4.4.1

29 Jun 05:31
4.4.1
Compare
Choose a tag to compare
  • Fix test failure with some compilers.
  • Fix Telugu and Kannada kerning regression.

4.4.0

27 Jun 18:52
4.4.0
Compare
Choose a tag to compare
  • 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

20 May 19:11
4.3.0
Compare
Choose a tag to compare

4.2.1

24 Apr 03:51
4.2.1
Compare
Choose a tag to compare
  • Make sure hb_blob_create_from_file_or_fail() always returns nullptr in case of failure and not empty blob sometimes. (Khaled Hosny)
  • Add --passthrough-tables option to hb-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

30 Mar 13:13
4.2.0
Compare
Choose a tag to compare
  • 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

23 Mar 05:24
4.1.0
Compare
Choose a tag to compare
  • 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

11 Mar 18:20
4.0.1
Compare
Choose a tag to compare
  • Update OpenType to AAT mappings for hist and vrtr 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()