Releases: harfbuzz/harfbuzz
Releases · harfbuzz/harfbuzz
2.9.1
- Final subset API is in place and if no issues are discovered, it will be the stable subset API of HarfBuzz 3.0.0. Old API is kept to ease transition, but will be removed in 3.0.0.
- Various fuzzer-found bug fixes.
hb_buffer_append()
now handles the pre- and post-context which previously were left unchanged in the destination buffer.- hb-view / hb-shape now accept following new arguments:
--unicodes-before/after
: takes a list of hex numbers that represent Unicode
codepoints.
- Undeprecated API:
hb_set_invert()
2.9.0
- Subsetter API is being stabilized, with the first stable API to happen in
3.0.0 release (#3078). - Support multiple variation axes with same tag, aka HOI.
- The “coretext” testing shaper now passes font variations to CoreText.
hb-shape
/hb-view
does not break line at new lines unless text is read from
file.hb-view
andhb-subset
has a--batch
now, similar tohb-shap
e.- The
--batch
mode now uses ; as argument separator instead of : used previously. - The
--batch
inhb-shape
does not expect 0th argument anymore. That is, the
lines read are interpreted asargv[1:]
, instead ofargv[0:]
. - The
--batch
option has been undocumented. We are ready to document it; send
feedback if you find it useful. hb-subset
got arguments revamps. Added much-requested--gids-file
,--glyphs
,
--glyphs-file
,--unicodes-file
, supporting ranges in--unicodes
.- Various bug fixes.
2.8.2
- Shaping LTR digits for RTL scripts now makes the native direction of the
digits LTR, applying shaping and positioning rules on the same glyph order as
Uniscribe. (Jonathan Kew, Khaled Hosny). - Subsetting COLR v1 and CPAL tables is now supported. (Garret Rieger, Qunxin Liu)
- Various fixes and improvements to the subsetter. (Garret Rieger, Qunxin Liu, Behdad)
- When applying morx table, mark glyph widths should not be zeroed. (Jonathan Kew)
- GPOS is preferred over kerx, if GSUB was applied. (Behdad)
- Regional_Indicator pairs are grouped together when clustering. (Behdad)
- New APIs:
+hb_blob_create_or_fail()
+hb_blob_create_from_file_or_fail()
+hb_set_copy()
2.8.1
- Subsetter now fully supports GSUB/GPOS/GDEF tables (including variations); as
such, layout tables are retained by subsetter by default. (Garret Rieger, Qunxin Liu) - Build scripts no longer check for FontConfig as HarfBuzz does not use it.
- hb-view supports iTerm2 and kitty inline image protocols (Khaled Hosny),
it can also use Chafa for terminal graphics if available (Hans Petter Jansson).
2.8.0
- Shape joining scripts other than Arabic/Syriac using the Universal Shaping Engine.
Previously these were shaped using the generalized Arabic shaper. (David Corbett) - Fix regression in shaping of U+0B55 ORIYA SIGN OVERLINE. (David Corbett)
- Update language tags. (David Corbett)
- Variations: reduce error: do not round each interpolated delta. (Just van Rossum)
- Documentation improvements. (Khaled Hosny, Nathan Willis)
- Subsetter improvements: subsets most, if not all, lookup types now. (Garret Rieger, Qunxin Liu)
- Fuzzer-found fixes and other improvements when memory failures happen. (Behdad)
- Removed most atomic implementations now that we have C++11 atomic impl. (Behdad)
- General codebase upkeep; using more C++11 features: constexpr constructors, etc. (Behdad)
2.7.4
2.7.3
- Update USE shaper to 2020-08-13 specification, and other improvements.
- Don’t disable liga feature in myanmar shaper, to match Uniscribe.
- Improvements to language and script tags handling.
- Update language system tag registry to OpenType 1.8.4
- Support for serializing and deserializing Unicode buffers. Serialized buffers
are now delimited with<>
or[]
based on whether it is a Unicode or
glyphs buffer. - Increase buffer work limits to handle fonts with many complex lookups.
- Handle more shaping operations in trace output.
- Memory access fixes.
- More OOM fixes.
- Improved documentation.
- Build system improvements.
- New API:
+hb_buffer_has_positions()
+hb_buffer_serialize()
+hb_buffer_serialize_unicode()
+hb_buffer_deserialize_unicode()
2.7.2
- Fix a regression in the previous release that caused a crash with Kaithi.
- More OOM fixes.
2.7.1
2.7.0
Overview of changes leading to 2.7.0
Saturday, July 25, 2020
- Use an implementation for round that always rounds up, some minor fluctuations
are expected on var font specially when hb-ot callback is used. - Fix an AAT's
kerx
issue on broken rendering of Devanagari Sangam MN. - Remove AAT's
lcar
table support from _get_ligature_carets API, not even much
use on macOS installed fonts (only two files). GDEF support is the recommended
one and expected to work properly after issues fixed two releases ago. - Minor memory fixes to handle OOM better specially in hb-ft.
- Minor .so files versioning scheme change and remove stable/unstable scheme
differences, was never used in practice (always default to stable scheme). - We are now suggesting careful packaging of the library using meson,
https://github.com/harfbuzz/harfbuzz/wiki/Notes-on-migration-to-meson
for more information. - Distribution package URL is changed, either use GitHub generated tarballs,
https://github.com/harfbuzz/harfbuzz/archive/$pkgver.tar.gz
or, even more preferably use commit hash of the release and git checkouts like,
git+https://github.com/harfbuzz/harfbuzz#commit=$commit