]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commit
harfbuzz: Update to version 6.0.0
authorAdolf Belka <adolf.belka@ipfire.org>
Tue, 27 Dec 2022 11:59:53 +0000 (12:59 +0100)
committerPeter Müller <peter.mueller@ipfire.org>
Thu, 29 Dec 2022 11:23:11 +0000 (11:23 +0000)
commit2e65bba2a07cc62e2e55b057be485827cacbae3c
treebdcb1d776b19759402db3e2d5c6658685d0597e2
parentab2d5f16ee5305b680b83a3d2652c47989a57bda
harfbuzz: Update to version 6.0.0

- Update from version 4.4.1 to 6.0.0
- Update of rootfile
- Changelog
    Overview of changes leading to 6.0.0
- A new API have been added to pre-process the face and speed up future
  subsetting operations on that face. Provides up to a 95% reduction in
  subsetting times when the same face is subset more than once.
  For more details and benchmarks, see:
  https://github.com/harfbuzz/harfbuzz/blob/main/docs/subset-preprocessing.md
- Shaping have been speedup by skipping entire lookups when the buffer contents
  don't intersect with the lookup. Shows up to a 10% speedup in shaping some
  fonts. (Behdad Esfahbod)
- A new experimental feature, “Variable Composites” (enabled by passing
  -Dexperimental_api=true to meson), is also featured in this release.
  This technology enables drastic compression of fonts in the Chinese,
  Japanese, Korean, and other writing systems, by reusing the OpenType Font
  Variations technology for encoding “smart components” into the font.
  The specification for these  extensions to the font format can be found in:
  https://github.com/harfbuzz/boring-expansion-spec/blob/glyf1/glyf1.md
  A test variable-font with ~7160 Hangul syllables derived from the
  NotoSerifKR-VF font has been built, with existing OpenType technology, as
  well as with the new Variable Composites (VarComposites) technology. The
  VarComposites font is over 90% smaller than the OpenType version of the font!
  Both fonts can be obtained from the “smarties” repository:
  https://github.com/behdad/smarties/tree/3.0/fonts/hangul/serif
  When building HarfBuzz with experimental features enabled, you can test
  the “smarties” font with a sample character like this:
  $ hb-view butchered-hangul-serif-smarties-variable.ttf -u AE01 --variations=wght=700
- The HarfBuzz subsetter can now drop axes by pinning them to specific values
  (also referred to as instancing). There are a couple of restrictions
  currently:
  - Only works with TrueType (“glyf”) based fonts. “CFF2” fonts are not yet
    supported.
  - Only supports the case where all axes in a font are pinned.
- Miscellaneous fixes and improvements.
- New API
+hb_subset_input_pin_axis_location()
+hb_subset_input_pin_axis_to_default()
+hb_subset_preprocess()
    Overview of changes leading to 5.3.1
- Subsetter repacker fixes. (Garret Rieger)
- Adjust Grapheme clusters for Katakana voiced sound marks. (Behdad Esfahbod)
- New “hb-subset” option “--preprocess-face”. (Garret Rieger)
    Overview of changes leading to 5.3.0
- Don’t add glyphs from dropped MATH or COLR tables to the subset glyphs.
  (Khaled Hosny)
- Map “rlig” to appropriate AAT feature selectors. (Jonathan Kew)
- Update USE data files to latest version. (David Corbett)
- Check “CBDT” extents first before outline tables, to help with fonts that
  also include an empty “glyf” table. (Khaled Hosny)
- More work towards variable font instancing in the subsetter. (Qunxin Liu)
- Subsetter repacker improvements. (Garret Rieger)
- New API:
+hb_ot_layout_lookup_get_optical_bound()
+hb_face_builder_sort_tables()
    Overview of changes leading to 5.2.0
- Fix regressions in hb-ft font functions for FT_Face’s with transformation
  matrix. (Behdad Esfahbod)
- The experimental hb-repacker API now supports splitting several GPOS subtable
  types when needed. (Garret Rieger)
- The HarfBuzz extensions to OpenType font format are now opt-in behind
  build-time flags. (Behdad Esfahbod)
- The experimental hb-subset variable fonts instantiation API can now
  instantiate more font tables and arbitrary axis locations. (Qunxin Liu)
- Unicode 15 support. (David Corbett)
- Various documentation improvements. (Behdad Esfahbod, Matthias Clasen)
- The hb-view command line tool now detects WezTerm inline images support.
  (Wez Furlong)
- Fix FreeType and ICU dependency lookup with meson. (Xavier Claessens)
- New API:
+HB_SCRIPT_KAWI
+HB_SCRIPT_NAG_MUNDARI
    Overview of changes leading to 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” to “hb-shape” tool. (Behdad Esfahbod)
- New API
+HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL
+HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_TATWEEL
    Overview of changes leading to 5.0.1
- Fix version 2 “avar” table with hb-ft. (Behdad Esfahbod)
    Overview of changes leading to 5.0.0
- Support fonts with more than 65535 glyphs in “GDEF”, “GSUB”, and “GPOS”
  tables. This is part of https://github.com/be-fonts/boring-expansion-spec to
  extend OpenType in a backward-compatible way.
  (Behdad Esfahbod, Garret Rieger)
- 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.
- 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()

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
config/rootfiles/common/harfbuzz
lfs/harfbuzz