Log

Author Commit Date CI Message
Garret Rieger bc5129d7 2022-05-04T22:16:03 [perf] use option_t in subset benchmark to select between glyphs and codepoint subset.
Behdad Esfahbod 43938ecd 2022-05-04T16:59:28 [subset] Remove outdated comment I tried something like that. It was slower because of the allocations.
Garret Rieger 6212856c 2022-05-04T22:16:03 [perf] benchmark subsetting via glyphs.
Behdad Esfahbod 6829dd30 2022-05-04T16:49:45 Merge pull request #3562 from harfbuzz/subset-cmap-no-qsort [subset] In cmap planning, remove a qsort()
Behdad Esfahbod 50db78ba 2022-05-04T15:48:18 [subset] In cmap planning, remove a qsort()
Behdad Esfahbod 052812b6 2022-05-04T15:38:30 Merge pull request #3561 from googlefonts/cmap_opt [subset] Further cmap subsetting speed optimizations
Garret Rieger 7cb36e42 2022-05-04T21:22:26 [subset] Re-introduce size threshold in choosing unicode collection method. Threshold is needed since the unicodes set might be an inverted set.
Garret Rieger 42c54eba 2022-05-04T20:21:43 [subset] Presize unicode to gid list to unicodes + glyphs size.
Garret Rieger 7c7c01d2 2022-05-03T22:40:56 [subset] Remove switch to alternate unicode collection at large subset sizes. Benchmarks show that the first path is always faster even at large subset sizes: BM_subset_codepoints/subset_roboto/10_median +0.0324 +0.0325 0 0 0 0 BM_subset_codepoints/subset_roboto/64_median +0.0253 +0.0255 0 1 0 1 BM_subset_codepoints/subset_roboto/512_median +0.0126 +0.0128 1 1 1 1 BM_subset_codepoints/subset_roboto/4000_median +0.0500 +0.0491 6 7 6 7 BM_subset_codepoints/subset_amiri/10_median +0.0338 +0.0332 1 1 1 1 BM_subset_codepoints/subset_amiri/64_median +0.0238 +0.0234 1 1 1 1 BM_subset_codepoints/subset_amiri/512_median +0.0066 +0.0063 8 8 8 8 BM_subset_codepoints/subset_amiri/4000_median -0.0011 -0.0012 13 13 13 13 BM_subset_codepoints/subset_noto_nastaliq_urdu/10_median +0.0226 +0.0226 0 0 0 0 BM_subset_codepoints/subset_noto_nastaliq_urdu/64_median +0.0047 +0.0044 20 20 20 20 BM_subset_codepoints/subset_noto_nastaliq_urdu/512_median +0.0022 +0.0021 165 166 165 166 BM_subset_codepoints/subset_noto_nastaliq_urdu/1000_median -0.0021 -0.0023 166 166 166 165 BM_subset_codepoints/subset_noto_devangari/10_median +0.0054 +0.0054 0 0 0 0 BM_subset_codepoints/subset_noto_devangari/64_median +0.0024 +0.0019 0 0 0 0 BM_subset_codepoints/subset_noto_devangari/512_median +0.0089 +0.0090 5 5 5 5 BM_subset_codepoints/subset_noto_devangari/1000_median -0.0028 -0.0019 5 5 5 5 BM_subset_codepoints/subset_mplus1p/10_median +0.0001 +0.0002 0 0 0 0 BM_subset_codepoints/subset_mplus1p/64_median +0.0073 +0.0075 1 1 1 1 BM_subset_codepoints/subset_mplus1p/512_median +0.0034 +0.0034 1 1 1 1 BM_subset_codepoints/subset_mplus1p/4096_median -0.1248 -0.1248 7 6 7 6 BM_subset_codepoints/subset_mplus1p/10000_median -0.0885 -0.0885 13 12 13 12 BM_subset_codepoints/subset_notocjk/10_median +0.0031 +0.0032 2 2 2 2 BM_subset_codepoints/subset_notocjk/64_median -0.0010 -0.0010 2 2 2 2 BM_subset_codepoints/subset_notocjk/512_median -0.0023 -0.0023 9 9 9 9 BM_subset_codepoints/subset_notocjk/4096_median -0.1725 -0.1726 28 23 28 23 BM_subset_codepoints/subset_notocjk/32768_median -0.0277 -0.0287 140 137 140 136 BM_subset_codepoints/subset_notocjk/100000_median -0.0929 -0.0926 162 147 162 147
Garret Rieger f0c04114 2022-05-03T22:02:59 [subset] Embed unicode to gid list vector in subset plan.
Behdad Esfahbod f67e6bf7 2022-05-02T16:59:48 [perf/benchmark-font] Add benchmark for glyph_h_advance
Behdad Esfahbod 1c0a3d4d 2022-05-02T16:50:54 [perf/benchmark-font] Add a couple Noto fonts
Behdad Esfahbod 15fa8afb 2022-05-02T16:46:41 Add fast-path for big-endian 32-bit byteswap Speeds up cmap format-12 decoding by some 40% as measured by the newly added test in perf/benchmark-font!
Behdad Esfahbod 3fff2e91 2022-05-02T16:31:59 [perf/benchmark-font] Cosmetic
Behdad Esfahbod 307d2d8b 2022-05-02T16:30:22 [cmap] Sprinkle some 'unlikely's
Garret Rieger 85ec5cbc 2022-05-02T22:29:43 [subset] In _populate_unicodes_to_retain populate unicodes in order. Allows the set insert to take advantage of page lookup cache.
Behdad Esfahbod 0d1f8dca 2022-05-02T16:18:53 [perf/benchmark-font] Actually make nominal_glyph bench work
Behdad Esfahbod 6cf69d10 2022-05-02T16:07:32 [perf/benchmark-font] Add back testing of is_variable
Behdad Esfahbod 3aa2ff79 2022-05-02T16:01:22 [perf/benchmark-font] Fix build without freetype
Behdad Esfahbod 58a0988b 2022-05-02T15:57:19 [perf/benchmark-font] Benchmark get_nominal_glyph
Behdad Esfahbod 03f16fab 2022-05-02T15:44:41 Merge pull request #3560 from harfbuzz/perf-cleanup Perf cleanup
Garret Rieger 088133d9 2022-05-02T21:29:16 [subset] cache cp to new gid list in subset plan. This avoids having to recompute the ordered list multiple times during cmap generation.
Behdad Esfahbod 6d29903e 2022-05-02T14:03:15 [perf/benchmark-font] Parametrize test
Behdad Esfahbod 636c90e8 2022-05-02T13:41:49 [perf/perf] Rename to benchmark-font
Behdad Esfahbod 036d03d2 2022-05-02T13:39:54 [perf/perf] Move all logic to perf-draw, for now To be renamed.
Behdad Esfahbod 746c3c03 2022-05-02T13:26:41 [perf/perf] Remove ttf-parser backend
Behdad Esfahbod 4aaa0af7 2022-05-02T13:06:27 [perf/perf] Rely on hb-draw to measure ft performance
Behdad Esfahbod a4522df3 2022-04-29T18:34:00 Merge pull request #3558 from harfbuzz/set-optimize [perf] hb_set_t optimizations and perf suite improvements
Garret Rieger 6922a256 2022-04-29T23:30:32 [subset] Change serialize_rangeoffset_glyid back to using iterator.
Garret Rieger c66fd50c 2022-04-29T23:18:53 [subset] in cmap4 serialization save cp to gid iter to memory. Iterator accesses are slow and it's iterated multiple times.
Garret Rieger 17b98563 2022-04-29T22:49:02 [subset] In cmap4 serialization reduce unnessecary calls into the iterator. Gives ~20% speedup for large subsets.
Garret Rieger 5e241094 2022-04-29T22:44:43 [subset] In unicodes cache cleanup if set insert fails.
Behdad Esfahbod 217d38df 2022-04-29T16:18:17 Try to fix distcheck
Garret Rieger a424a92c 2022-04-29T22:14:03 [subset] s/void */intptr_t.
Garret Rieger aad67f56 2022-04-29T22:01:06 [subset] cache results of collect_unicodes.
Behdad Esfahbod 35681b3e 2022-04-29T16:02:55 [benchmark-shape] Break lines and shape separately
Behdad Esfahbod be1ac9c5 2022-04-29T15:55:19 [benchmark-shape] Data-driven test sets
Behdad Esfahbod ae3efc64 2022-04-29T15:37:11 [perf] Spawn off benchmark-shape from perf runner
Behdad Esfahbod 5f43ce82 2022-04-29T13:37:46 [benchmark-set] Split SetLookup into an ordered and random version
Behdad Esfahbod ae9c7b86 2022-04-29T13:39:04 [benchmark-set] At least increase needle by one in lookup benchmark
Behdad Esfahbod 68a9b83d 2022-04-29T13:27:42 [benchmark-set] At least increase needle by one in lookup benchmark
Garret Rieger b4236b7d 2022-04-29T19:21:13 [subset] Optimize Cmap4 collect_unicodes. Use set add_range() instead of individual add() calls.
Behdad Esfahbod 5866ec05 2022-04-29T13:14:41 [benchmark-map] Remove rand() overhead from benchmark
Behdad Esfahbod 067225a8 2022-04-29T13:04:36 [set] Optimize const page_for() using last_page_lookup caching Similar to previous commit. This speeds up SetLookup benchmark by 50%, but that's because that lookup always hits the same page...
Behdad Esfahbod c283e41c 2022-04-29T12:45:48 [set] Optimize non-const page_for() using last_page_lookup caching This speeds up SetOrderedInsert tests by 15 to 40 percent, and the subset_mplus1p benchmarks by 9 to 27 percent.
Behdad Esfahbod dd005911 2022-04-29T12:23:53 [benchmark-set] Reduce lookup benchmark overhead Turnsout 90% was overhead... Now lookup is in the 4ns ballpark.
Behdad Esfahbod 4de5352a 2022-04-28T14:40:33 [test] Add test From https://github.com/harfbuzz/harfbuzz/issues/3545 Dropped the CFF table.
Behdad Esfahbod d8292b84 2022-04-27T12:38:35 [CFF] Fix parsing of empty Index https://github.com/harfbuzz/harfbuzz/issues/3545#issuecomment-1111047941
David Corbett 6454cec0 2022-04-24T11:10:17 [USE] Classify U+10A38 as CONS_MOD_BELOW
Khaled Hosny f7aee78e 2022-04-24T05:47:57 4.2.1
Behdad Esfahbod 6695bf05 2022-04-22T13:48:41 [gsubgpos] Remove wrong condition in Context application Fixes https://github.com/harfbuzz/harfbuzz/issues/3545
Khaled Hosny 038203de 2022-04-22T01:29:29 Remove ABI tracker link Seems dead, no update since 2020.
Khaled Hosny c8810277 2022-04-22T01:01:06 Update Coverity settings
Khaled Hosny b2d31733 2022-04-22T00:47:37 Update codacy badge
Khaled Hosny 6a38c83d 2022-04-22T00:39:45 Remove coveralls badge We stopped pushing coveralls builds since 2020.
Khaled Hosny 392f2010 2022-04-21T21:24:58 [ci] Pin gcovr to version 5.0 Fixes https://github.com/harfbuzz/harfbuzz/issues/3540
Behdad Esfahbod 4c177de1 2022-04-21T13:51:37 [perf] Err. Remove HUGE font from perf suite
Behdad Esfahbod 7f7ebdc6 2022-04-21T11:25:12 [perf] Reuse a font
Behdad Esfahbod 9ad30036 2022-04-20T15:53:37 [perf/perf-draw] Port to new draw API
Behdad Esfahbod 23c7c305 2022-04-20T15:45:37 [perf/benchmark-map] Adjust range specifiers
Garret Rieger 2b03bced 2022-04-20T21:34:45 [perf] Cleanup range specifiers in set benchmark.
Garret Rieger 178c6700 2022-04-20T21:19:54 [perf] Rework set insert test to not use pause/resume timing. These have high overhead which affect the result. Also change set iteration to time the individual iteration operation.
Garret Rieger fbd183d0 2022-04-20T20:05:14 [perf] Start writing subset benchmarks.
Garret Rieger fc2027bf 2022-04-20T19:33:04 [perf] Add map benchmarks.
Garret Rieger 057ec2c9 2022-04-20T19:15:03 [perf] Add set ieration and lookup benchmarks.
Garret Rieger 40975fc3 2022-04-20T18:54:36 [perf] Add some instructions for building/running benchmarks.
Garret Rieger cef64b94 2022-04-20T18:36:35 [perf] Add the start of a benchmark for set operations.
Garret Rieger e8b40c7a 2022-04-20T17:47:02 Upgrade google benchmark dep to latest version to fix build failure.
Garret Rieger 85142f32 2022-04-20T22:32:54 [perf] Add missing ninja command in profiling instructions.
Garret Rieger a5cf9178 2022-04-20T22:31:26 [perf] Update readme with profiling instructions.
Behdad Esfahbod df3ecea7 2022-04-20T16:06:06 [perf/perf] Fix run when ttfparser is not available
Garret Rieger f48647e5 2022-04-20T22:08:33 In perf/README update meson command line to set release build type.
Garret Rieger b3ce96da 2022-04-20T21:51:20 [perf] Add several more fonts to the subset benchmarks.
Behdad Esfahbod 8575a8f5 2022-04-21T11:14:09 Add _hb_codepoint_is_regional_indicator()
Behdad Esfahbod c1ee7d28 2022-04-20T13:38:05 Typo Co-authored-by: Khaled Hosny <khaled@aliftype.com>
Behdad Esfahbod 4d48fae4 2022-04-20T11:35:19 Enforce Regional_Indicators native direction to LTR And undo the morx direction reversal change introduced in https://github.com/harfbuzz/harfbuzz/pull/3315 23159084b43c1ce429d9e98035bf845919fd8a89 This fixes original bug https://github.com/harfbuzz/harfbuzz/issues/3314 And the reversion in morx code fixes regressions: https://github.com/harfbuzz/harfbuzz/issues/3528 https://github.com/harfbuzz/harfbuzz/issues/3535 Supersedes: https://github.com/harfbuzz/harfbuzz/pull/3529
Behdad Esfahbod a85461b9 2022-04-20T12:13:16 Add link to Context LookupFlag discussion https://github.com/harfbuzz/harfbuzz/discussions/3538
Simon Cozens af9eb685 2022-04-20T16:55:31 Updated version
Simon Cozens 91e2f3b9 2022-04-19T15:20:53 Add cheat sheet
Simon Cozens 9e59c401 2022-04-20T16:56:34 [myanmar] Reword confusing comment about masks
Khaled Hosny 383c11d7 2022-04-19T16:31:44 Add test for ligature-id allocation Test for the fix in 7bdc20ec810c14056d6362b076aa6717f10f26a0 for the regression from 43be5ba442548528c89ad31c0927cc68515b736e.
Behdad Esfahbod 903cf8cf 2022-04-13T15:31:51 [check-static-inits] Unbreak test
Behdad Esfahbod ec925ece 2022-04-13T11:51:48 [khmer] Reinstate a pause after basic features This was removed as part of 044d7a06db552e1564b8575f4d23798f009d9dde, which caused the regression. Just adding a pause fixes the shaping. Debugged by just tracing the good/bad shaping and observing the lookup orders intermingling in the bad shaping. Test: hb-shape LeelawUI.ttf --unicodes U+1780,U+17D2,U+179A,U+17BB Fixes https://github.com/harfbuzz/harfbuzz/issues/3531
Cosimo Lupo cc0f1f3b 2022-04-12T10:45:43 Expose --passthrough-tables option to hb-subset CLI tool
Cosimo Lupo 53eeeab0 2022-04-06T12:54:40 CMakeLists.txt: also match 'AppleClang' compiler to not link with libc++
Khaled Hosny 88bb746b 2022-04-01T02:18:37 [blob] Return nullptr from create_from_file_or_fail Fix a couple of cases where it would return empty blob, possibly missed in bdfed8f113431a2156e13d59a4b21e19feb7efd9.
Behdad Esfahbod b179d357 2022-03-30T12:59:52 [main] Fix unused-variable warnings
Khaled Hosny 9d5730b9 2022-03-30T15:08:34 4.2.0
David Corbett ecb3e7ec 2022-03-28T19:42:04 Enable indic-feature-order.tests
Behdad Esfahbod 044d7a06 2022-03-28T12:38:56 [indic-like] Add per-lookup per-syllable flag This allows mix-and-matching per-syllable and other lookups. In fact, removes the clear-syllables call completely. Fixes https://github.com/harfbuzz/harfbuzz/issues/3513
Behdad Esfahbod 61486746 2022-03-28T15:57:07 Revert "[indic] Clear syllables before presentation features" This reverts commit 90f09b1e877dc6edf63fc4ac2b397ef4e5c92083. This regressed Indic shaping. See: https://github.com/harfbuzz/harfbuzz/issues/3513
Behdad Esfahbod 18c0290c 2022-03-28T13:24:16 Add test for previous commit
Behdad Esfahbod e8f3397f 2022-03-28T12:07:05 [matcher] Simplify syllable initialization
Behdad Esfahbod 94f5c630 2022-03-28T11:25:44 [aat] Remove morx deleted-glyphs before GPOS processing Fixes new Apple Color Emoji glyphs sequences rendering. Fixes https://github.com/harfbuzz/harfbuzz/issues/3512
David Corbett 0dcbdbde 2022-03-26T20:56:50 [indic] Categorize U+0D04 as Consonant_Placeholder
Behdad Esfahbod a665e29e 2022-03-23T17:30:25 [use] Avoid O(n^2) in the machine Fixes https://github.com/harfbuzz/harfbuzz/issues/3502
Behdad Esfahbod ccd9161b 2022-03-24T13:10:48 [apply-lookup] Try to fix the logic for contextual lookups Fixes https://github.com/harfbuzz/harfbuzz/issues/1611 Notably, this fixes Myles's AdditionFont: https://litherum.blogspot.com/2019/03/addition-font.html Test with AdditionFont, eg.: $ util/hb-view AdditionFont.otf =1112112+1113134=
Behdad Esfahbod fa15fc44 2022-03-25T15:00:11 [subset] Require exact harfbuzz version in .pc file Fixes https://github.com/harfbuzz/harfbuzz/issues/1446
Behdad Esfahbod b619b05f 2022-03-25T14:56:55 [subset] Adjust name in .pc file
Khaled Hosny 12290786 2022-03-25T22:41:25 [set] Fix annotation