|
bc5129d7
|
2022-05-04T22:16:03
|
|
[perf] use option_t in subset benchmark to select between glyphs and codepoint subset.
|
|
43938ecd
|
2022-05-04T16:59:28
|
|
[subset] Remove outdated comment
I tried something like that. It was slower because of the allocations.
|
|
6212856c
|
2022-05-04T22:16:03
|
|
[perf] benchmark subsetting via glyphs.
|
|
6829dd30
|
2022-05-04T16:49:45
|
|
Merge pull request #3562 from harfbuzz/subset-cmap-no-qsort
[subset] In cmap planning, remove a qsort()
|
|
50db78ba
|
2022-05-04T15:48:18
|
|
[subset] In cmap planning, remove a qsort()
|
|
052812b6
|
2022-05-04T15:38:30
|
|
Merge pull request #3561 from googlefonts/cmap_opt
[subset] Further cmap subsetting speed optimizations
|
|
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.
|
|
42c54eba
|
2022-05-04T20:21:43
|
|
[subset] Presize unicode to gid list to unicodes + glyphs size.
|
|
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
|
|
f0c04114
|
2022-05-03T22:02:59
|
|
[subset] Embed unicode to gid list vector in subset plan.
|
|
f67e6bf7
|
2022-05-02T16:59:48
|
|
[perf/benchmark-font] Add benchmark for glyph_h_advance
|
|
1c0a3d4d
|
2022-05-02T16:50:54
|
|
[perf/benchmark-font] Add a couple Noto fonts
|
|
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!
|
|
3fff2e91
|
2022-05-02T16:31:59
|
|
[perf/benchmark-font] Cosmetic
|
|
307d2d8b
|
2022-05-02T16:30:22
|
|
[cmap] Sprinkle some 'unlikely's
|
|
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.
|
|
0d1f8dca
|
2022-05-02T16:18:53
|
|
[perf/benchmark-font] Actually make nominal_glyph bench work
|
|
6cf69d10
|
2022-05-02T16:07:32
|
|
[perf/benchmark-font] Add back testing of is_variable
|
|
3aa2ff79
|
2022-05-02T16:01:22
|
|
[perf/benchmark-font] Fix build without freetype
|
|
58a0988b
|
2022-05-02T15:57:19
|
|
[perf/benchmark-font] Benchmark get_nominal_glyph
|
|
03f16fab
|
2022-05-02T15:44:41
|
|
Merge pull request #3560 from harfbuzz/perf-cleanup
Perf cleanup
|
|
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.
|
|
6d29903e
|
2022-05-02T14:03:15
|
|
[perf/benchmark-font] Parametrize test
|
|
636c90e8
|
2022-05-02T13:41:49
|
|
[perf/perf] Rename to benchmark-font
|
|
036d03d2
|
2022-05-02T13:39:54
|
|
[perf/perf] Move all logic to perf-draw, for now
To be renamed.
|
|
746c3c03
|
2022-05-02T13:26:41
|
|
[perf/perf] Remove ttf-parser backend
|
|
4aaa0af7
|
2022-05-02T13:06:27
|
|
[perf/perf] Rely on hb-draw to measure ft performance
|
|
a4522df3
|
2022-04-29T18:34:00
|
|
Merge pull request #3558 from harfbuzz/set-optimize
[perf] hb_set_t optimizations and perf suite improvements
|
|
6922a256
|
2022-04-29T23:30:32
|
|
[subset] Change serialize_rangeoffset_glyid back to using iterator.
|
|
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.
|
|
17b98563
|
2022-04-29T22:49:02
|
|
[subset] In cmap4 serialization reduce unnessecary calls into the iterator.
Gives ~20% speedup for large subsets.
|
|
5e241094
|
2022-04-29T22:44:43
|
|
[subset] In unicodes cache cleanup if set insert fails.
|
|
217d38df
|
2022-04-29T16:18:17
|
|
Try to fix distcheck
|
|
a424a92c
|
2022-04-29T22:14:03
|
|
[subset] s/void */intptr_t.
|
|
aad67f56
|
2022-04-29T22:01:06
|
|
[subset] cache results of collect_unicodes.
|
|
35681b3e
|
2022-04-29T16:02:55
|
|
[benchmark-shape] Break lines and shape separately
|
|
be1ac9c5
|
2022-04-29T15:55:19
|
|
[benchmark-shape] Data-driven test sets
|
|
ae3efc64
|
2022-04-29T15:37:11
|
|
[perf] Spawn off benchmark-shape from perf runner
|
|
5f43ce82
|
2022-04-29T13:37:46
|
|
[benchmark-set] Split SetLookup into an ordered and random version
|
|
ae9c7b86
|
2022-04-29T13:39:04
|
|
[benchmark-set] At least increase needle by one in lookup benchmark
|
|
68a9b83d
|
2022-04-29T13:27:42
|
|
[benchmark-set] At least increase needle by one in lookup benchmark
|
|
b4236b7d
|
2022-04-29T19:21:13
|
|
[subset] Optimize Cmap4 collect_unicodes.
Use set add_range() instead of individual add() calls.
|
|
5866ec05
|
2022-04-29T13:14:41
|
|
[benchmark-map] Remove rand() overhead from benchmark
|
|
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...
|
|
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.
|
|
dd005911
|
2022-04-29T12:23:53
|
|
[benchmark-set] Reduce lookup benchmark overhead
Turnsout 90% was overhead... Now lookup is in the 4ns ballpark.
|
|
4de5352a
|
2022-04-28T14:40:33
|
|
[test] Add test
From https://github.com/harfbuzz/harfbuzz/issues/3545
Dropped the CFF table.
|
|
d8292b84
|
2022-04-27T12:38:35
|
|
[CFF] Fix parsing of empty Index
https://github.com/harfbuzz/harfbuzz/issues/3545#issuecomment-1111047941
|
|
6454cec0
|
2022-04-24T11:10:17
|
|
[USE] Classify U+10A38 as CONS_MOD_BELOW
|
|
f7aee78e
|
2022-04-24T05:47:57
|
|
4.2.1
|
|
6695bf05
|
2022-04-22T13:48:41
|
|
[gsubgpos] Remove wrong condition in Context application
Fixes https://github.com/harfbuzz/harfbuzz/issues/3545
|
|
038203de
|
2022-04-22T01:29:29
|
|
Remove ABI tracker link
Seems dead, no update since 2020.
|
|
c8810277
|
2022-04-22T01:01:06
|
|
Update Coverity settings
|
|
b2d31733
|
2022-04-22T00:47:37
|
|
Update codacy badge
|
|
6a38c83d
|
2022-04-22T00:39:45
|
|
Remove coveralls badge
We stopped pushing coveralls builds since 2020.
|
|
392f2010
|
2022-04-21T21:24:58
|
|
[ci] Pin gcovr to version 5.0
Fixes https://github.com/harfbuzz/harfbuzz/issues/3540
|
|
4c177de1
|
2022-04-21T13:51:37
|
|
[perf] Err. Remove HUGE font from perf suite
|
|
7f7ebdc6
|
2022-04-21T11:25:12
|
|
[perf] Reuse a font
|
|
9ad30036
|
2022-04-20T15:53:37
|
|
[perf/perf-draw] Port to new draw API
|
|
23c7c305
|
2022-04-20T15:45:37
|
|
[perf/benchmark-map] Adjust range specifiers
|
|
2b03bced
|
2022-04-20T21:34:45
|
|
[perf] Cleanup range specifiers in set benchmark.
|
|
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.
|
|
fbd183d0
|
2022-04-20T20:05:14
|
|
[perf] Start writing subset benchmarks.
|
|
fc2027bf
|
2022-04-20T19:33:04
|
|
[perf] Add map benchmarks.
|
|
057ec2c9
|
2022-04-20T19:15:03
|
|
[perf] Add set ieration and lookup benchmarks.
|
|
40975fc3
|
2022-04-20T18:54:36
|
|
[perf] Add some instructions for building/running benchmarks.
|
|
cef64b94
|
2022-04-20T18:36:35
|
|
[perf] Add the start of a benchmark for set operations.
|
|
e8b40c7a
|
2022-04-20T17:47:02
|
|
Upgrade google benchmark dep to latest version to fix build failure.
|
|
85142f32
|
2022-04-20T22:32:54
|
|
[perf] Add missing ninja command in profiling instructions.
|
|
a5cf9178
|
2022-04-20T22:31:26
|
|
[perf] Update readme with profiling instructions.
|
|
df3ecea7
|
2022-04-20T16:06:06
|
|
[perf/perf] Fix run when ttfparser is not available
|
|
f48647e5
|
2022-04-20T22:08:33
|
|
In perf/README update meson command line to set release build type.
|
|
b3ce96da
|
2022-04-20T21:51:20
|
|
[perf] Add several more fonts to the subset benchmarks.
|
|
8575a8f5
|
2022-04-21T11:14:09
|
|
Add _hb_codepoint_is_regional_indicator()
|
|
c1ee7d28
|
2022-04-20T13:38:05
|
|
Typo
Co-authored-by: Khaled Hosny <khaled@aliftype.com>
|
|
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
|
|
a85461b9
|
2022-04-20T12:13:16
|
|
Add link to Context LookupFlag discussion
https://github.com/harfbuzz/harfbuzz/discussions/3538
|
|
af9eb685
|
2022-04-20T16:55:31
|
|
Updated version
|
|
91e2f3b9
|
2022-04-19T15:20:53
|
|
Add cheat sheet
|
|
9e59c401
|
2022-04-20T16:56:34
|
|
[myanmar] Reword confusing comment about masks
|
|
383c11d7
|
2022-04-19T16:31:44
|
|
Add test for ligature-id allocation
Test for the fix in 7bdc20ec810c14056d6362b076aa6717f10f26a0 for the
regression from 43be5ba442548528c89ad31c0927cc68515b736e.
|
|
903cf8cf
|
2022-04-13T15:31:51
|
|
[check-static-inits] Unbreak test
|
|
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
|
|
cc0f1f3b
|
2022-04-12T10:45:43
|
|
Expose --passthrough-tables option to hb-subset CLI tool
|
|
53eeeab0
|
2022-04-06T12:54:40
|
|
CMakeLists.txt: also match 'AppleClang' compiler to not link with libc++
|
|
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.
|
|
b179d357
|
2022-03-30T12:59:52
|
|
[main] Fix unused-variable warnings
|
|
9d5730b9
|
2022-03-30T15:08:34
|
|
4.2.0
|
|
ecb3e7ec
|
2022-03-28T19:42:04
|
|
Enable indic-feature-order.tests
|
|
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
|
|
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
|
|
18c0290c
|
2022-03-28T13:24:16
|
|
Add test for previous commit
|
|
e8f3397f
|
2022-03-28T12:07:05
|
|
[matcher] Simplify syllable initialization
|
|
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
|
|
0dcbdbde
|
2022-03-26T20:56:50
|
|
[indic] Categorize U+0D04 as Consonant_Placeholder
|
|
a665e29e
|
2022-03-23T17:30:25
|
|
[use] Avoid O(n^2) in the machine
Fixes https://github.com/harfbuzz/harfbuzz/issues/3502
|
|
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=
|
|
fa15fc44
|
2022-03-25T15:00:11
|
|
[subset] Require exact harfbuzz version in .pc file
Fixes https://github.com/harfbuzz/harfbuzz/issues/1446
|
|
b619b05f
|
2022-03-25T14:56:55
|
|
[subset] Adjust name in .pc file
|
|
12290786
|
2022-03-25T22:41:25
|
|
[set] Fix annotation
|