|
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
|
|
5e41766b
|
2022-12-01T20:19:04
|
|
[array] Fix hb_bytes_t memcpy copy
Wasn't being used!
|
|
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
|
|
a5616227
|
2022-12-01T20:11:34
|
|
[subset-cff] Fix buffer size calculation
|
|
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.
|
|
a24d4e92
|
2022-12-01T20:27:56
|
|
[array] Oops. Fix memcpy copy()!
|
|
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
|
|
6012d3b2
|
2022-12-01T17:33:53
|
|
[subset-cff] Write out charstrings zerocopy to serializer
|
|
36e1a633
|
2022-12-01T16:52:29
|
|
[cff] Add total_size to INDEX
|
|
38430006
|
2022-12-01T16:48:22
|
|
[serialize] Add start_zerocopy()
|
|
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.
|
|
70ac6dfb
|
2022-12-01T14:56:28
|
|
[subset-cff] Don't memset 0 INDEX and other serialize methods
Not necessary.
|
|
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
|
|
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
|
|
69ce606d
|
2022-11-26T18:18:35
|
|
[subset-cff] Immediately drop subr numbers instead of marking for skip
Seems to work and saves ~2% time.
|
|
1cf4f3e0
|
2022-11-26T18:15:28
|
|
[subset-cff] More comment
|
|
f68221ff
|
2022-11-26T18:12:14
|
|
[subset-cff] Add comment
|
|
048ab8a0
|
2022-11-26T18:00:43
|
|
[subset-cff] Remove unused bits
|
|
37cbfc0c
|
2022-11-26T17:57:44
|
|
[subset-cff] Remove unneeded member
|
|
46ab1513
|
2022-11-26T17:49:21
|
|
[subset-cff] Add has_calls to parsed charstrings
Optimize closure based on it.
|
|
6d53074e
|
2022-11-26T17:23:09
|
|
[subset-cff] Drop another unused parameter
|
|
42615561
|
2022-11-26T17:10:58
|
|
Optimize a couple array references
|
|
04d23b7c
|
2022-11-26T17:08:00
|
|
[subset-cff] Micro-optimize collect_subr_refs_in_str
|
|
9d18180c
|
2022-11-26T15:38:21
|
|
[array] Use hb_hash instead of handrolling
|
|
1e6f77c2
|
2022-11-26T15:31:56
|
|
[benchmark-subset] Adjust num glyphs more
|
|
0382defa
|
2022-11-26T15:27:07
|
|
[benchmark-subset] Adjust number of glyphs of fonts
|
|
4cb441df
|
2022-11-26T15:23:07
|
|
[benchmark-subset] Add AdobeVFPrototype
|
|
e302b9d5
|
2022-11-26T15:18:16
|
|
Fix build
|
|
70d97d07
|
2022-11-26T15:16:11
|
|
[subset-cff] Remove unused argument
|
|
4167e93a
|
2022-11-26T15:14:52
|
|
[subset-cff2] Micro-optimize blend operator
|
|
f159bf07
|
2022-11-26T15:11:32
|
|
[cff2] Micro-optimize blend operator
|
|
a331e913
|
2022-11-26T14:59:37
|
|
[bit-page] Hand-code equality
Faster than memcmp() because of alignment.
|
|
9df06a26
|
2022-11-26T14:56:45
|
|
[bit-set] Fix is_subset() short-circut criteria
Ouch!
|
|
915c1a00
|
2022-11-26T14:48:57
|
|
[vector] Add remove_unordered
Saves 5% in NotoNastaliq/1000 subset benchmark.
|
|
4b8d8fbe
|
2022-11-26T14:31:15
|
|
[ot-map] Micro-optimize for size
|
|
93f3a9db
|
2022-11-26T14:19:00
|
|
[ot-map] Micro-optimize more
Another 500 bytes.
|
|
f39f0498
|
2022-11-26T14:16:15
|
|
[ot-map] Micro-optimize
Weird that shrinks size by 500 bytes.
|
|
60bb32c4
|
2022-11-26T14:12:57
|
|
[ot-map] Minor refactor
|
|
e3cc6183
|
2022-11-26T13:58:04
|
|
[PairPos] Adjust kerning buffer messages
|
|
a81dd105
|
2022-11-26T13:43:15
|
|
[layout] Adjust printing feature tags
For required-feature, print spaces, not nul bytes.
|
|
56e3868b
|
2022-11-26T13:14:23
|
|
[layout/buffer-message] Print feature name in lookup buffer messages
|