src


Log

Author Commit Date CI Message
Behdad Esfahbod 4d590199 2025-09-14T18:04:51 [instancer/tuplevar] Allocate intermediates array on demand
Behdad Esfahbod 35212ba3 2025-09-14T17:46:13 [gvar] Change a storage type No functional change.
Behdad Esfahbod 20457df5 2025-09-14T16:05:29 [map] Tune for small maps
Behdad Esfahbod 323901f8 2025-09-14T13:47:32 [instancer/tuplevars] Reduce work by combining two loops
Behdad Esfahbod eb6de664 2025-09-14T13:13:22 [instancer/tuplevars] Reduce work
Behdad Esfahbod 90ea408e 2025-09-13T18:18:08 [map] Speed up copying of trivially-assignable types
Behdad Esfahbod fd282dcf 2025-09-13T17:56:34 [map] Speed up operator= for trivial item types
Behdad Esfahbod 1f936e23 2025-09-13T16:58:45 [instancer] Try to move instead of copy some tuples
Behdad Esfahbod 2319d763 2025-09-13T16:21:34 [TupleValues] Micro-optimize encoding Also, a check for 32bit values in the word-encoding function was missing. Ouch.
Behdad Esfahbod f2c4ab45 2025-09-13T16:14:55 [instancer/varstore] Micro-optimize
Behdad Esfahbod b97369bb 2025-09-13T14:10:20 Merge pull request #5549 from harfbuzz/instancer-varstore-optimize-compromise [instancer/varstore] Only optimize instanced varstore incrementally
Behdad Esfahbod cf6c9d8a 2025-09-13T13:49:56 [instancer/varstore] Put back sort again In testing with GoogleSansFlex, this produces slightly smaller result.
Behdad Esfahbod c7e46ab2 2025-09-13T12:54:18 [instancer/varstore] Avoid copies in loops
Behdad Esfahbod 7a430de3 2025-09-13T00:08:10 Add -Wpessimizing-move warning Part of https://github.com/harfbuzz/harfbuzz/issues/5550
Behdad Esfahbod a4a50892 2025-09-12T23:41:40 [instancer/varstore] Speed up encoding merging Don't recalculate chars from all row data.
Behdad Esfahbod f0a1289a 2025-09-12T19:25:57 [instancer/varstore] Massage optimizer a bit
Behdad Esfahbod a878dca0 2025-09-12T19:19:07 [instancer/varstore] Remove sorting from the optimizer Just work with incoming order.
Behdad Esfahbod e16be515 2025-09-12T17:42:57 [instancer/varstore] Only optimize instanced varstore incrementally See comments. This basically wipes of the varstore optimization costs out of the profiles, which saves eg. 25% total time in GoogleSansFlex instantiation, with practically no file size downside.
Behdad Esfahbod a4087e7f 2025-09-12T15:48:26 [instancer/varlib] Minor non-functional change
Behdad Esfahbod d8c1bce2 2025-09-12T14:39:38 [instancer/varstore] Mark a function HOT
Garret Rieger aa58b43d 2025-09-12T14:24:41 [subset] Introduce HB_SUBSET_FLAGS_RETAIN_NUM_GLYPHS. (#5547) Used in conjunction with retain gids, when set the num glyphs from the input font will be preserved. Empty glyphs will be inserted as necessary to maintain the num glyphs value. Put under experimental for now.
Behdad Esfahbod bf8929fb 2025-09-12T13:32:38 11.5.0
Behdad Esfahbod 74c31861 2025-09-12T13:31:29 [rust] Update to HarfRust 0.3.0 (#5548)
Behdad Esfahbod 3965e9a6 2025-09-12T13:12:05 [instancer/varstore] Change sort key (#5540) See https://github.com/harfbuzz/harfbuzz/pull/5540
Behdad Esfahbod c9480db9 2025-09-12T12:22:17 [instancer/varstore] Add a heuristic to speed up optimization
David Corbett dce73766 2025-09-12T13:56:01 [Unicode 17] Update the script direction list
Behdad Esfahbod 0f1dab0f 2025-09-12T11:43:21 [instancer/varstore] More gain_from_merging optimization (#5543) * [instancer/varstore] More gain_from_merging optimization * [tests] Re-enable a test that was disabled until an issue fixed See comment.
Behdad Esfahbod e4957b0c 2025-09-12T10:57:49 [varLib/instancer] Simplify gain encoding
Behdad Esfahbod 20d7ef5f 2025-09-12T10:45:08 [instancer/varstore] Change gain encoding gain can be high in theory.
Behdad Esfahbod ca9a8aba 2025-09-12T03:50:46 Revert "[instancer/varstore] Micro-optimize" This reverts commit 7484eb5807d6127bea6b888a7d8fdad1b73a8c0b.
Behdad Esfahbod f12be45c 2025-09-12T03:42:49 [instancer/varstore] Optimize gain comparisons
Behdad Esfahbod 7484eb58 2025-09-12T03:16:59 [instancer/varstore] Micro-optimize
Behdad Esfahbod 92ec75f8 2025-09-12T03:13:25 [instancer/varstore] Micro-optimize
Behdad Esfahbod 14e7d5b2 2025-09-12T03:04:59 [instancer/varstore] Speed up gain_from_merging 10% speedup instancing GoogleSansFlex.
Behdad Esfahbod 006ec160 2025-09-12T02:52:29 [instancer/varstore] Minor refactor in anticipation of next change
Behdad Esfahbod aba798dd 2025-09-12T00:52:40 [instancer/varstore] Use heapify() instead of inserts()
Behdad Esfahbod 12c46237 2025-09-12T00:05:37 Revert "[instancer/varstore] Change chars_t storage scheme" This reverts commit aaeea5729b97813eb71b1d809212534a77436ca2.
Behdad Esfahbod aaeea572 2025-09-11T23:52:44 [instancer/varstore] Change chars_t storage scheme Slows down. Gonna revert. Apparently builtin popcount is not fast unless built for archs that support it.
Behdad Esfahbod 3dc5e3d6 2025-09-11T23:27:51 [instancer/varstore] Consolidate chars_t logic
Behdad Esfahbod fe6c9a0f 2025-09-11T23:23:41 [instancer/varstore] Fix a logic bug combined_chars was moved already. Also, see comment.
Behdad Esfahbod 9d971169 2025-09-11T23:10:50 [instancer/varstore] Add a chars_t type
Behdad Esfahbod 1a6c6d78 2025-09-11T21:59:41 [instancer] Micro-optimize a couple of hot comparisons
Behdad Esfahbod c938e8ce 2025-09-11T21:57:14 [instancer] Micro-optimize by using bit-set directly
Behdad Esfahbod 266e1c24 2025-09-11T20:12:39 [instancer] Short-circuit some work in gain_from_merging
Behdad Esfahbod a34f8b31 2025-09-11T19:10:05 [instancer] Use bitset instead of vector for VarStore optimizer columns ~30% faster on GoogleSansFlex.
Behdad Esfahbod 2e86070e 2025-09-11T18:15:19 [instancer] Don't clear a couple of resize allocations Not needed.
Behdad Esfahbod 01fd17d6 2025-09-11T17:05:03 [instancer] Reduce mallocs in create_from_tuple_var_data
Behdad Esfahbod 23e40cd7 2025-09-11T16:53:44 [instancer] Reduce mallocs in gain_from_merging
Behdad Esfahbod 3225bd73 2025-09-11T16:44:24 [instancer] Minor default construction simplify
Behdad Esfahbod 3df6e510 2025-09-11T16:33:10 [instancer] Reduce mallocs in merge_tuple_variations
Behdad Esfahbod 6d82b40a 2025-09-11T16:09:13 [instancer] Remove unnecessary vector fini
Behdad Esfahbod 87c36992 2025-09-11T15:42:59 [instancer] Reduce mallocs in calc_inferred_deltas
Behdad Esfahbod 740cbf1c 2025-09-11T15:30:30 [vector] Add malloc debug facility
Behdad Esfahbod 67bddf15 2025-09-11T15:16:30 [instancer] Reduce mallocs in change_tuple_var_axis_limit
Behdad Esfahbod 17aa37ab 2025-09-11T15:13:51 [instancer] Reduce mallocs in rebase-tent
David Corbett 0fbbf749 2025-09-10T21:11:44 [ot-tags] Update IANA subtags to 2025-08-25 (#5537)
David Corbett 13c8ffa0 2025-09-10T11:35:54 [Unicode 17] Send the new scripts to USE
David Corbett f59d532b 2025-09-10T11:34:07 [Unicode 17] Update the USE table
David Corbett 5b6409f0 2025-09-10T11:22:02 [Unicode 17] Update the vowel constraint table
David Corbett 7c611a2b 2025-09-10T11:21:36 [Unicode 17] Update the Indic table
David Corbett e189b34e 2025-09-10T11:19:14 [Unicode 17] Update the emoji table & cluster test
David Corbett e0e0a757 2025-09-10T11:18:07 [Unicode 17] Update the Arabic joining script list
David Corbett 5b72f304 2025-09-10T11:17:25 [Unicode 17] Update the Arabic table
David Corbett 147db69b 2025-09-10T11:15:30 [Unicode 17] Update the UCD table
David Corbett d08a72dd 2025-09-10T11:12:37 [Unicode 17] Add new `hb_script_t` values
Behdad Esfahbod dd291f48 2025-09-07T23:46:27 Short-circuit ASCII more (#5528)
Behdad Esfahbod d94851e5 2025-09-03T11:52:51 [rust] Use inherited codegen-units=1 in debugoptimized build It makes significant (30% in Nastaliq benchmark) difference.
Qunxin Liu cb4548d3 2025-09-02T14:58:00 [subset] always generate AdvMap (#5524)
Qunxin Liu 77d07304 2025-09-02T14:40:51 [subset] fix HVAR encoding width (#5523)
Behdad Esfahbod 12ec6682 2025-09-02T14:21:57 [buffer] Micro-optimize set_masks Somehow this specialization loop was in HarfRust / RustyBuzz.
Behdad Esfahbod 598da8c8 2025-09-02T14:21:08 [buffer] Add some buffer op accounting to a few methods (#5522) Should fix a fuzzer-found issue, now that we have increased most buffer limits.
Behdad Esfahbod a89c36e0 2025-09-02T13:05:11 [GPOS/kerx] Support attaching marks to bases after them (#5520) See comments. Fuzzer found. I'm surprised this was not discovered before though. I hope I have not missed anything. Fixes https://oss-fuzz.com/testcase-detail/6399443634290688
Khaled Hosny 22f77d48 2025-08-30T11:39:01 11.4.5
Behdad Esfahbod 6d1c70bf 2025-08-29T17:09:00 Remove unused code
Behdad Esfahbod 01072c5c 2025-08-29T13:19:59 [harfrust] Require 0.2.0
Behdad Esfahbod c61a4f26 2025-08-29T02:11:52 [GPOS] Micro-optimize offset propagation
Behdad Esfahbod cb8b47eb 2025-08-29T00:08:28 [kern] Use reset_fast
Behdad Esfahbod 772279df 2025-08-28T15:58:39 [utf] inline some
Behdad Esfahbod c6e3f5a8 2025-08-27T16:41:25 [aat] Reverse buffer only when necessary (#5516)
Behdad Esfahbod 141df8b9 2025-08-27T16:09:35 [buffer] Adjust inlining
Behdad Esfahbod ff8d8e44 2025-08-27T15:36:48 Fixup
Behdad Esfahbod 1091b8a9 2025-08-27T15:35:26 [shape-fallback] Adjust inlining
Behdad Esfahbod bc6eba94 2025-08-27T13:29:15 Fix kerx attachment shaping issues (#5515) * [ot-shape] Don't zero offsets of default-ignorables Part of fixing https://github.com/harfbuzz/harfbuzz/issues/5514 * [ot-shape] Propagate chain offsets in opposite direction if RTL Part of fixing https://github.com/harfbuzz/harfbuzz/issues/5514
Behdad Esfahbod 7d936359 2025-08-26T01:46:34 [aat] Clear cached buffer glyph set (#5508) Ouch.
Behdad Esfahbod 12b0f086 2025-08-26T01:29:50 [morx] Move a few initializations later (#5507)
Behdad Esfahbod 8e2e18fe 2025-08-25T23:55:30 [aat] Rename a few members (#5506)
Behdad Esfahbod 653b7722 2025-08-25T20:15:43 [kern] Simplify Format3 collect_glyphs() (#5505) No idea why I wrote it that way initially.
Behdad Esfahbod 1e5b65b7 2025-08-25T19:55:13 [aat] Remove unused code (#5504)
Behdad Esfahbod 8f4778d2 2025-08-25T19:49:48 [aat] Implement collect_glyphs_filtered for LookupFormat10 (#5503) Oops.
Khaled Hosny 3420ef02 2025-08-26T00:57:35 11.4.4
Khaled Hosny b7c55efe 2025-08-26T00:28:12 [subset] Fix shaping behaviour when pruning empty mark sets See https://github.com/harfbuzz/harfbuzz/issues/5499
Behdad Esfahbod 6b62d367 2025-08-25T14:02:59 [ligature-cache] Handle case of ligature with no components (#5500) In the cache with "seconds" set-digest.
Behdad Esfahbod 724ae78d 2025-08-25T13:14:43 Revert "[check-glyph-properties] Cache current lookup-prop's matching result." (#5497) This reverts commit 5b6836e10802266b4c216208e517d617c0a75693. This broke some shaping, namely, "j̣̈́J̣J̈́" with Google Sans, and is quite tricky to debug. Since this slowed down everything other than Duployan, and we also decided NOT to port it to HarfRust, just revert and keep the simpler and more reasonable code logic.
Steve Lhomme 567dde62 2025-08-25T17:50:54 [coretext] fix unsigned integer comparison (#5496) Comparing a CFIndex with an unsigned int results in a compilation error on iOS armv7 targets: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.4.sdk -Isrc/libharfbuzz.a.p -Isrc -I../src -I. -I.. -I/Volumes/External/videolanci/builds/vCi6yJP3/0/robUx4/vlc/contrib/armv7-iphoneos/include/freetype2 -I/Volumes/External/videolanci/builds/vCi6yJP3/0/robUx4/vlc/contrib/armv7-iphoneos/include -fdiagnostics-color=always -Wall -Winvalid-pch -std=c++11 -fno-exceptions -O2 -g -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -DHAVE_CONFIG_H -mios-version-min=9.0 -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.4.sdk -Werror=partial-availability -fno-stack-check -g -O2 -MD -MQ src/libharfbuzz.a.p/hb-coretext-font.cc.o -MF src/libharfbuzz.a.p/hb-coretext-font.cc.o.d -o src/libharfbuzz.a.p/hb-coretext-font.cc.o -c ../src/hb-coretext-font.cc ../src/hb-coretext-font.cc:413:11: error: comparison of integers of different signs: 'CFIndex' (aka 'long') and 'unsigned int' [-Werror,-Wsign-compare] if (len > size - 1) ~~~ ^ ~~~~~~~~ 1 error generated.
Behdad Esfahbod 029eb215 2025-08-23T18:43:50 [harfrust] Encode pre-context in the correct order (#5495) https://github.com/harfbuzz/harfrust/issues/205
Khaled Hosny 9ac9af25 2025-08-23T11:48:18 11.4.3
Behdad Esfahbod 04953dca 2025-08-21T23:00:37 [vector] Enable set_storage only on trivial types (#5493)
Behdad Esfahbod 7ba05752 2025-08-21T19:38:10 [harfrust] Fix compile with clang
Behdad Esfahbod 5fddacc1 2025-08-21T12:54:49 [harfrust] Set buffer pre/post-context (#5492) * [harfrust] Set buffer pre/post-context Fixes the failing item-context tests. Yay. * Bump MSRV
eri e80b6d11 2025-08-21T19:24:35 [ot-math] Fix constant scaling when checking if the font is Cambria Math (#5490) Co-authored-by: Khaled Hosny <khaled@aliftype.com>