|
29903f46
|
2022-12-02T17:45:01
|
|
[benchmark-subset] Cache (preprocessed) face amongst runs
|
|
3fb4ea29
|
2022-12-02T17:08:31
|
|
Merge pull request #3914 from harfbuzz/multimap
[multimap] Add a multimap datastructure & use for gid-to-unicodes subset accelerator
|
|
ddeac365
|
2022-12-02T16:51:07
|
|
[test-multimap] More tests
|
|
ff419789
|
2022-12-02T16:25:26
|
|
[subset-plan] Sort unicode_to_new_gid_list when needed
|
|
1a40da4a
|
2022-12-02T16:13:37
|
|
[subset-plan] Use add_array instead of add_sorted_array
That vector is not declared as sorted.
|
|
32e049a3
|
2022-12-02T16:09:10
|
|
[subset-plan] Use gid-to-unicodes multimap
One test fails. Need investigation.
|
|
da7961b2
|
2022-12-02T16:08:40
|
|
.
|
|
7d6893a8
|
2022-12-02T15:50:52
|
|
[subset-accelerator] Cache gid-to-unicodes
|
|
10c8fc55
|
2022-12-02T15:34:34
|
|
[multimap] Add a multimap datastructure
|
|
a42fc8ec
|
2022-12-02T15:41:18
|
|
[subset-accelerator] Adjust in_error()
|
|
65d96303
|
2022-12-02T14:59:26
|
|
[subset-cff2] Whitespace
|
|
b33297ee
|
2022-12-02T14:43:37
|
|
[cff2] Remove unused typedef
|
|
3ade2ffa
|
2022-12-02T14:26:36
|
|
[serialize] Adjust pop_discard for zerocopy
|
|
043eeb29
|
2022-12-02T13:58:36
|
|
[subset-cff] Optimize encode_subrs
Don't loop over all original subrs. Just walk over closure subrs.
|
|
0ad5977c
|
2022-12-02T13:41:06
|
|
[subset-cff] Simplify hinting processing
We already have drop_hints in the params.
|
|
16cbe41b
|
2022-12-02T12:43:13
|
|
Merge pull request #3910 from googlefonts/repacker_fuzz
[repacker] Add a fuzzer for the hb-subset-repacker api.
|
|
2a7a1d5a
|
2022-12-02T12:33:24
|
|
[Coverage] Avoid timeout on broken ranges
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53929
|
|
c9476527
|
2022-12-01T21:48:35
|
|
[subset-cff] Micro-optimize
|
|
a24d4e92
|
2022-12-01T20:27:56
|
|
[array] Oops. Fix memcpy copy()!
|
|
5e41766b
|
2022-12-01T20:19:04
|
|
[array] Fix hb_bytes_t memcpy copy
Wasn't being used!
|
|
a5616227
|
2022-12-01T20:11:34
|
|
[subset-cff] Fix buffer size calculation
|
|
015af5a8
|
2022-12-01T20:08:59
|
|
[subset-cff] Write a couple loops as range-based for
|
|
bfbbd4af
|
2022-12-01T20:05:20
|
|
[subset-cff] Copy str for call ops
|
|
c755b388
|
2022-12-01T20:02:38
|
|
[subset-cff] Pre-alloc enough for check-less copy
|
|
062e59ae
|
2022-12-01T19:43:48
|
|
[subset-cff] Optimize vector allocation for preprocessed input
|
|
8e9e94db
|
2022-12-01T19:40:21
|
|
Revert "[vector] Optimize grow_vector() for size"
This reverts commit 1dd9396c7a4c24fe9d578551fab735bdd699e52a.
Is faster indeed.
15% on SourceHanSans/10000 benchmark.
|
|
2644540a
|
2022-12-01T18:49:09
|
|
[subset-cff] Compact parsed strings if using accelerator
Saves 32% on SourceHanSans/10000 benchmark!
Also, use memcmp now for writing out strings since now that our
ops are not super short, that's faster.
This makes cff-japanese test takes super long though; that needs
inspection.
|
|
6012d3b2
|
2022-12-01T17:33:53
|
|
[subset-cff] Write out charstrings zerocopy to serializer
|
|
16f61a1c
|
2022-12-01T23:57:30
|
|
[repacker] only build repacker fuzzer when experimental api is enabled.
|
|
36e1a633
|
2022-12-01T16:52:29
|
|
[cff] Add total_size to INDEX
|
|
38430006
|
2022-12-01T16:48:22
|
|
[serialize] Add start_zerocopy()
|
|
de5a6213
|
2022-12-01T23:37:16
|
|
[repacker] enforce root node having no incoming edges.
|
|
a2681c37
|
2022-12-01T16:09:03
|
|
[cff-subset] Simplify INDEX serialize() more
|
|
c4b05878
|
2022-12-01T15:56:37
|
|
[subset-cff] Remove INDEX unused serialize() methods
|
|
b3ad4d72
|
2022-12-01T15:46:00
|
|
[cff] Another no-memset in INDEX
|
|
5fd2f255
|
2022-12-01T15:18:59
|
|
[open-type] Don't memset 0 in serialize for ArrayOf family
Not necessary.
|
|
30e405e4
|
2022-12-01T22:12:59
|
|
[repacker] ensure link obj indices are valid.
|
|
70ac6dfb
|
2022-12-01T14:56:28
|
|
[subset-cff] Don't memset 0 INDEX and other serialize methods
Not necessary.
|
|
554ed06f
|
2022-12-01T21:51:17
|
|
[repacker] add cycle detection to the graph sort.
This allows us to bail early if the graph is not acyclic.
|
|
a66de336
|
2022-12-01T14:32:13
|
|
[vector] Minor use get_size() in as_bytes()
|
|
0b826368
|
2022-12-01T14:23:25
|
|
[serializer] Don't memset memory in embed
Not necessary.
|
|
3b68c714
|
2022-12-01T14:19:27
|
|
[array] Don't clear serializer buffer when copying out
Not needed.
|
|
57808609
|
2022-12-01T14:03:56
|
|
[VarData] Move an unlikely
|
|
9e99d084
|
2022-09-08T23:19:02
|
|
[repacker] validate link widths during repacker setup.
|
|
edf7a295
|
2022-09-08T22:59:34
|
|
[repacker] Validate link positions before running the repacker.
|
|
88d43752
|
2022-09-08T21:19:25
|
|
[repacker] add test for repacker fuzzer.
|
|
6627a1ab
|
2022-09-08T21:11:39
|
|
[repacker] Add a initial seed for the fuzzer repacker.
|
|
deca30b2
|
2022-09-08T21:10:06
|
|
[repacker] get repacker fuzzer working.
Additionally add helper method that allows a graph to be saved as a fuzzer seed.
|
|
261a605f
|
2022-09-07T22:43:06
|
|
[repacker] verify graph is a dag before using the fuzzer input.
|
|
985b19f6
|
2022-09-07T22:21:16
|
|
[repacker] begin implementing a fuzzer for the repacker api.
|
|
8805a866
|
2022-11-30T17:15:00
|
|
[ClassDef2] Write a few loops as range-based for
|
|
ac8b232a
|
2022-11-30T16:42:15
|
|
[gsub] Cache intersects_class results for closure
Benchmark Time CPU Time Old Time New CPU Old CPU New
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
BM_subset/subset_codepoints/NotoNastaliqUrdu-Regular.ttf/nohinting/10 +0.0246 +0.0240 0 0 0 0
BM_subset/subset_codepoints/NotoNastaliqUrdu-Regular.ttf/nohinting/64 -0.5541 -0.5544 4 2 4 2
BM_subset/subset_codepoints/NotoNastaliqUrdu-Regular.ttf/nohinting/512 -0.1120 -0.1123 43 38 43 38
BM_subset/subset_codepoints/NotoNastaliqUrdu-Regular.ttf/nohinting/1400 -0.1154 -0.1159 43 38 43 38
|
|
20a0a467
|
2022-11-30T15:59:54
|
|
[perf] Remove stale run.sh
|
|
38e7bc34
|
2022-11-30T15:01:38
|
|
[benchmark-subset] Support testing arbitrary fonts from cmdline
|
|
c6a4b601
|
2022-11-30T14:09:59
|
|
[gsubgpos] Add an unlikely
|
|
d4dec54c
|
2022-11-30T13:51:14
|
|
[ci] Switch configs build to Ubuntu 20.04
https://github.com/actions/runner-images/issues/6002
|
|
52d8346d
|
2022-11-30T13:50:16
|
|
[ci] Change Linux runner to Ubuntu 20.04
https://github.com/actions/runner-images/issues/6002
|
|
32dd9810
|
2022-11-30T13:15:58
|
|
[subset-cff1] Cache glyph-to-sid-map in the accelerator
Benchmark Time CPU Time Old Time New CPU Old CPU New
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/10 -0.0841 -0.0843 0 0 0 0
BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/64 -0.1305 -0.1305 0 0 0 0
BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/512 -0.1398 -0.1401 1 1 1 1
BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/4096 +0.0382 +0.0380 9 9 9 9
BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/10000 +0.0213 +0.0211 11 11 11 11
|
|
72fabef0
|
2022-11-30T11:37:49
|
|
[SingleSubstFormat2] Speed up closure
|
|
2dc2e016
|
2022-11-30T11:25:50
|
|
[cff] Enable an unlikely
|
|
582a87ef
|
2022-11-30T11:20:19
|
|
[cff] Speed up FDSelect0 sanitize
|
|
2658370f
|
2022-11-30T00:19:10
|
|
[subset] make the cmap cache in accelerator const.
|
|
7551a668
|
2022-11-30T00:04:16
|
|
[subset] Make cff_accelerator const.
This gives more confidence that it won't be accidentally modified by the subset operation using it.
|
|
d8d0e066
|
2022-11-29T21:35:54
|
|
[array] Comment
|
|
2fecf2aa
|
2022-11-29T21:25:01
|
|
[ClassDef] Minor rename
|
|
8f632ca8
|
2022-11-29T21:23:35
|
|
[ClassDef] Write another loop as range for
|
|
87b12aee
|
2022-11-29T21:18:48
|
|
[ClassDef] Write a couple loops as range for
|
|
ccd40c84
|
2022-11-29T21:14:44
|
|
[ClassDef] Optimize intersected_class_glyphs
|
|
44c585a6
|
2022-11-29T20:51:58
|
|
[ClassDef] Fix disabled codeblock
|
|
9b7617d4
|
2022-11-29T20:29:58
|
|
[ClassDef2] Use a faster algorithm in subset()
Speedup across the board; up to 40% for MPlus1 at small sizes.
|
|
ae5e6d56
|
2022-11-29T15:48:38
|
|
[ClassDef2] Micro-optimize
|
|
7129b794
|
2022-11-29T15:33:07
|
|
[open-type] Add faster range-based loop to array types
|
|
dc823340
|
2022-11-29T15:26:55
|
|
Remove a couple of unneeded .iter() invocations
|
|
00f2657b
|
2022-11-29T13:49:15
|
|
[subset] Accelerate sanitize-table-cache
Big wins all across small subsets
BM_subset/subset_codepoints/Roboto-Regular.ttf/nohinting/10 -0.1140 -0.1129 0 0 0 0
BM_subset/subset_codepoints/Amiri-Regular.ttf/nohinting/10 -0.4717 -0.4714 0 0 0 0
BM_subset/subset_codepoints/NotoNastaliqUrdu-Regular.ttf/nohinting/10 -0.8147 -0.8146 0 0 0 0
BM_subset/subset_codepoints/NotoSansDevanagari-Regular.ttf/nohinting/10 -0.3248 -0.3242 0 0 0 0
BM_subset/subset_codepoints/Mplus1p-Regular.ttf/nohinting/10 -0.1262 -0.1260 0 0 0 0
BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/10 -0.0308 -0.0309 0 0 0 0
BM_subset/subset_codepoints/SourceSansPro-Regular.otf/nohinting/10 -0.1374 -0.1373 0 0 0 0
BM_subset/subset_codepoints/AdobeVFPrototype.otf/nohinting/10 -0.4555 -0.4555 0 0 0 0
BM_subset/subset_codepoints/MPLUS1-Variable.ttf/nohinting/10 -0.4175 -0.4174 0 0 0 0
BM_subset/subset_codepoints/RobotoFlex-Variable.ttf/nohinting/10 -0.4214 -0.4214 0 0 0
|
|
33165f48
|
2022-11-29T15:14:15
|
|
[bit-page] Remove ELT_BITS_LOG_2
My compiler is smart enough to take care of it.
|
|
58925ed9
|
2022-11-29T13:14:10
|
|
Update freetype subproject to 2.12.1
|
|
80dd7515
|
2022-11-29T19:15:31
|
|
CI: work around flaky 64bit MSYS2 builds
MSYS2 Python+meson has some random crashes in CI which we haven't been
able to reproduce yet. Naturally enabling debugging fixes them.. :)
|
|
8f41b6a1
|
2022-11-29T18:29:46
|
|
CI: fix msvc build
The Windows image for some reason now contains a zlib and freetype build
which meson finds and tries to use. Force meson to use the subprojects always
to avoid picking up system libs.
|
|
7a004a7a
|
2022-11-29T00:47:55
|
|
[subset] Cache per subtable cmap unicode mappings.
|
|
d2a2670e
|
2022-11-28T19:42:27
|
|
[iter] Simplify has() interface implementations
|
|
cba82829
|
2022-11-28T16:19:54
|
|
[subset-cff1] Share subrs object
Multiple FDs might share the same subrs...
|
|
c7b998b3
|
2022-11-28T16:18:21
|
|
[cff2] Don't share fd-array link
No point.
|
|
3d9e3c2d
|
2022-11-28T16:17:09
|
|
[subset-cff2] Don't share varstore object
|
|
c503cf00
|
2022-11-28T15:53:35
|
|
[cmap] Store offset, not pointer, in cmap cache
|
|
3e151139
|
2022-11-28T14:23:49
|
|
[PairPos] Optimize get_effective_value_format
Speeds up BM_subset/subset_glyphs/SourceHanSans-Regular_subset.otf/nohinting/512
12%.
|
|
3131aecf
|
2022-11-28T14:12:55
|
|
[array/hash] Fix asan issue
../src/hb-algs.hh:240:43: runtime error: reference binding to misaligned address 0x7ffe91a08b0e for type 'const unsigned int', which requires 4 byte alignment
|
|
26ad7a60
|
2022-11-28T14:09:21
|
|
[gpos] Minor micro-optimize
|
|
c769d7e1
|
2022-11-28T14:03:58
|
|
[gpos] Whitespace
|
|
3ea0f37c
|
2022-11-28T13:58:44
|
|
[subset-cff] Move an init to constructor
The init was not called anyway.
|
|
6c92c3e0
|
2022-11-28T13:54:24
|
|
[subset-cff] Remove unnecessary check
|
|
7fd300dd
|
2022-11-28T13:51:16
|
|
[subset-cff] Use constructor for parsed_cs_op_t
|
|
bd37900e
|
2022-11-28T20:35:34
|
|
[subset] use a reference to cached global/loca subrs.
Previously they were being copied in. Copying is no longer necessary now that hint dropping doesn't mutate the arrays.
|
|
ded9de9c
|
2022-11-28T13:31:40
|
|
[cff] bsearch in fdselect
Saves 8% in NotoSansCJK / 10000 subset benchmark.
|
|
0c33aba3
|
2022-11-28T12:28:13
|
|
[subset-cff] Rename drop flag to hinting flag
|
|
6f5b5319
|
2022-11-28T11:39:24
|
|
[subset-cff] Make no-hinting use accelerator as well
|
|
fad8322b
|
2022-11-27T15:09:48
|
|
[benchmark-subset] Add no-hinting ops
|
|
f51a624e
|
2022-11-27T14:54:39
|
|
[subset-cff] Micro-optimize drop_hints_in_str
|
|
38603266
|
2022-11-27T13:23:13
|
|
[subset-cff] Write loop more idiomatic
|
|
3ff502d3
|
2022-11-27T12:58:04
|
|
[subset-cff] Remove unnecessary initialization
|
|
6af4985b
|
2022-11-26T18:20:20
|
|
[subset-cff] No need for bitflag here anymore
|