9d6db6b454
- Update to version 12.3.2: + Fix padding gvar table during subsetting when the original font uses long format and subset font using short format. + Various fuzzing fixes. + Fix NULL pointer deference when malloc fails.
Dominique Leuenberger2026-01-26 12:50:32 +00:00
0ceed513ab
Accepting request 1324682 from GNOME:Factory
Ana Guerrero2025-12-30 11:00:46 +00:00
3cb03d4f36
- Update to version 12.3.0: + Invalid font tables (eg. GSUB/GPOS) are outright rejected, instead of partially validated and used. This behavior is different from DirectWrite and HarfRust, and is in line with CoreText. + Various speed optimizations: - AAT shaping: speed up state machine on Apple silicon using a fast-path. - 12% faster in LucidaGrande benchmark. - OpenType shaping: speed up (Chain)Context lookup shaping using a fast-path and Coverage caching. 20% speedup in NotoNastaliqUrdu benchmark. - Drawing mega variable-fonts: 30% speedup on GoogleSansFlex benchmark. - Drawing VARC fonts: 5% speedup on varc-hanzi benchmark. - Always apply synthetic slant around horizontal glyph origin in hb-draw API. - Fix undefined C++ behavior in some uses union. - Remove the disabled by default uniscribe-bug-compatible mode from Indic and Khmer shapers, that used to be used when testing against Uniscribe shaping behaviour. - Support full instancing fonts with v2 avar table. - Various subsetting, build, fuzzing, and documentation fixes.
Dominique Leuenberger2025-12-29 10:45:01 +00:00
331fc40c05
Accepting request 1315783 from GNOME:Factory
Ana Guerrero2025-11-07 17:20:31 +00:00
3cef05023a
- Update to version 12.2.0: + While Windows platform contain the matching of the ChainContext rules to within the syllable for those features that are applied per syllable (in Indic-like and USE shapers), in 2015 we decided that in HarfBuzz we would allow the backtrack / lookahead parts of the rule to match across syllables. However, our implementation had a latent bug, causing the backtrack sequences to be matched within syllable most of the time, and inconsistently so. As such, and after empirical testing, we have decided to match the Windows implementation for this, so now both backtrack and lookahead sequences are contained to within the syllable, just like DirectWrite does. + Disable legacy kern table for most shapers, enabling it only for default, Arabic, Hangul, and Hebrew shapers. + When dropping STAT table during subsetting, drop also named IDs that are referenced only by it. + Don’t apply synthetic slant to glyph origin, fixing horizontal shift in slanted glyphs. + Various build and fuzzing fixes. + Documentation fixes.
Dominique Leuenberger2025-11-05 18:37:18 +00:00
6ce40667de
Accepting request 1308560 from GNOME:Factory
Ana Guerrero2025-10-03 13:42:29 +00:00
2c4267d11d
- Update to version 12.1.0: + Build fixes with GCC 15 on some 32 bit platforms. + Fix misaligned pointer use. + New API, hb_ot_layout_lookup_collect_glyph_alternates(), to collect glyph substitutions from single and alternate substitution lookups in one call, instead of getting substitutions one by one using hb_ot_layout_lookup_get_glyph_alternates(). + New API: +hb_ot_layout_lookup_collect_glyph_alternates()
Bjørn Lie2025-10-02 09:28:56 +00:00
b5ad7ac925
Accepting request 1306711 from GNOME:Factory
Ana Guerrero2025-09-24 13:22:42 +00:00
9c3cab7e5d
- Update to version 11.5.1: + Optimized partial-instancing of fonts with a large number of axes. Now over two times faster. + Fix C++ STL atomics implementation.
Dominique Leuenberger2025-09-23 11:49:04 +00:00
d837d8b5c2
Accepting request 1301466 from GNOME:Factory
Ana Guerrero2025-08-27 19:33:21 +00:00
45596152f9
- Update to version 11.4.4: + Fix a shaping regression affecting mark glyphs in certain fonts. + Fix pruning of mark filtering sets when subsetting fonts, which caused changes in shaping behaviour.
Dominique Leuenberger2025-08-26 16:16:16 +00:00
9b61e22bf8
Accepting request 1301222 from GNOME:Factory
Ana Guerrero2025-08-25 18:36:13 +00:00
78ac0c6e67
- Update to version 11.4.3: + Make shaping fail much faster for certain malformed fonts (e.g., those that trigger infinite recursion). + Fix undefined behaviour introduced in 11.4.2. + Fix detection of the “Cambria Math” font when fonts are scaled, so the workaround for the bad MATH table constant is applied.
Bjørn Lie2025-08-25 08:36:44 +00:00
a536725552
- Update to version 11.4.2: + Various performance and memory usage improvements. + The hb-shape command line tool can now be built with the amalgamated harfbuzz.cc source. + Fix regression in handling version 2 of avar table. + Increase various buffer length limits for better handling of fonts that generate huge number of glyphs per codepoint (e.g. Noto Sans Duployan). + Improvements to the harfrust shaper for more accurate testing.
Dominique Leuenberger2025-08-22 11:31:22 +00:00
509e2ff7f0
- Update to version 11.4.1: + Fix clang compiler warnings. - Changes from version 11.4.0: + General shaping and subsetting speedups. + Fix in Graphite shaping backend when glyph advances became negative. + Subsetting improvements, pruning empty mark-attachment lookups. + Don't use the macro name _S, which is reserved by system liberaries. + Build fixes and speedup. + Add a kbts shaping backend that calls into the kb_text_shape single-header shaping library. This is purely for testing and performance evaluation and we do NOT recommend using it for any other purposes.
Dominique Leuenberger2025-08-14 12:16:21 +00:00
845461c812
- Update to version 11.3.3: + Fix bug in vertical shaping of fonts without the vmtx table.
Dominique Leuenberger2025-07-30 18:30:42 +00:00
0f3a27a03e
Accepting request 1294977 from GNOME:Factory
Ana Guerrero2025-07-23 14:32:08 +00:00
71fffdcc5a
- Update to version 11.3.2: + Fix build with non-compliant C++11 compilers that don't recognize the "and" keyword. - Changes from version 11.3.1: + Fix crasher in the glyph_v_origin function introduced in 11.3.0. - Changes from version 11.3.0: + Speed up handling fonts with very large number of variations. + Speed up getting horizontal and vertical glyph advances by up to 24%. + Significantly speed up vertical text shaping. + Various documentation improvements. + Various build improvements. + Various subsetting improvements. + Various improvements to Rust font functions (fontations integration) and shaper (HarfRust integration). + Rename harfruzz option and shaper to harfrust following upstream rename. + Implement hb_face_reference_blob() for DirectWrite font functions.
Bjørn Lie2025-07-22 07:45:29 +00:00
fc41d4f0cf
Accepting request 1277946 from GNOME:Factory
Ana Guerrero2025-05-23 12:27:53 +00:00
b4e2561d5c
Accepting request 1270274 from GNOME:Factory
Ana Guerrero2025-04-18 14:14:44 +00:00
145a00d9c2
- Update to version 11.1.0: + Include bidi mirroring variants of the requested codepoints when subsetting. The new HB_SUBSET_FLAGS_NO_BIDI_CLOSURE can be used to disable this behaviour. + Various bug fixes. + Various build fixes and improvements. + Various test suite improvements.
Dominique Leuenberger2025-04-17 10:59:21 +00:00
362890903b
Accepting request 1267614 from GNOME:Factory
Ana Guerrero2025-04-08 15:50:49 +00:00
e5495e41b9
- Update to version 11.0.1: + The change in version 10.3.0 to apply “trak” table tracking values to glyph advances directly has been reverted as it required every font functions implementation to handle it, which breaks existing custom font functions. Tracking is instead back to being applied during shaping. + When directwrite integration is enabled, we now link to dwrite.dll instead of dynamically loading it. + A new experimental APIs for getting raw “CFF” and “CFF2” CharStrings. + We now provide manpages for the various command line utilities. Building manpages requires “help2man” and will be skipped if it is not present. + The command line utilities now set different return value for different kinds of failures. Details are provided in the manpages. + Various fixes and improvements to fontations font functions. + All shaping operations using the ot shaper have become memory allocation-free. + Glyph extents returned by hb-ot and hb-ft font functions are now rounded in stead of flooring/ceiling them, which also matches what other font libraries do. + Fix “AAT” deleted glyph marks interfering with fallback mark positioning. + Glyph outlines emboldening have been moved out of hb-ot and hb-ft font functions to the HarfBuzz font layer, so that it works with any font functions implementation. + Fix our fallback C++11 atomics integration, which seems to not be widely used. + Various testing fixes and improvements.
Dominique Leuenberger2025-04-07 10:33:16 +00:00
0e15e4c9df
- Update to version 10.0.1: + Relax sanitization checks for “morx” subtables to fix broken AAT shaping of macOS 15.0 version of GeezaPro. - Switch to source service for tarball.
Dominique Leuenberger2024-09-25 08:51:17 +00:00