Log message:
harfbuzz*: update to 8.3.0
Overview of changes leading to 8.3.0
Saturday, November 11, 2023
====================================
- 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
|
Log message:
harfbuzz*: update to 7.2.0
Overview of changes leading to 7.2.0
Thursday, April 27, 2023
====================================
- Add Tifinagh to the list of scripts that can natively be either right-to-left
or left-to-right, to improve handling of its glyph positioning.
(Simon Cozens)
- Return also single substitution from hb_ot_layout_lookup_get_glyph_alternates()
(Behdad Esfahbod)
- Fix 4.2.0 regression in applying across syllables in syllabic scripts.
(Behdad Esfahbod)
- Add flag to avoid glyph substitution closure during subsetting, and the
corresponding “--no-layout-closure” option to “hb-subset” command line \
tool.
(Garret Rieger)
- Support instancing COLRv1 table. (Qunxin Liu)
- Don’t drop used user-defined name table entries during subsetting.
(Qunxin Liu)
- Optimize handling of “gvar” table. (Behdad Esfahbod)
- Various subsetter bug fixes and improvements. (Garret Rieger, Qunxin Liu)
- Various documentation improvements. (Behdad Esfahbod, Josef Friedrich)
- New API:
+HB_SUBSET_FLAGS_NO_LAYOUT_CLOSURE
+HB_UNICODE_COMBINING_CLASS_CCC132
- Deprecated API:
+HB_UNICODE_COMBINING_CLASS_CCC133
|
Log message:
harfbuzz, harfbuzz-icu: Update to 6.0.0
Changelog:
* 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
(Garret Rieger, Behdad Esfahbod)
* 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
(Behdad Esfahbod)
* 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.
(Garret Rieger, Qunxin Liu)
* Miscellaneous fixes and improvements.
(Behdad Esfahbod, Christoph Reiter, David Corbett, Eli Schwartz, Garret
Rieger, Joel Auterson, Jordan Petridis, Khaled Hosny, Lorenz Wildberg,
Marco Rebhan, Martin Storsj?, Matthias Clasen, Qunxin Liu, Satadru
Pramanik)
* New API
+hb_subset_input_pin_axis_location()
+hb_subset_input_pin_axis_to_default()
+hb_subset_preprocess()
|