|
30e405e4
|
2022-12-01T22:12:59
|
|
[repacker] ensure link obj indices are valid.
|
|
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.
|
|
edf7a295
|
2022-09-08T22:59:34
|
|
[repacker] Validate link positions before running the repacker.
|
|
9e99d084
|
2022-09-08T23:19:02
|
|
[repacker] validate link widths during repacker setup.
|
|
261a605f
|
2022-09-07T22:43:06
|
|
[repacker] verify graph is a dag before using the fuzzer input.
|
|
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.
|
|
985b19f6
|
2022-09-07T22:21:16
|
|
[repacker] begin implementing a fuzzer for the repacker api.
|
|
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
|
|
a5d35fd8
|
2022-11-25T23:17:05
|
|
[subset] use charstrings directly from accelerator cache if mutability isn't needed.
|
|
026b64ef
|
2022-11-25T14:57:40
|
|
[subset-cff] Avoid set mallocation in hb_plan_subset_cff_fdselect
|
|
74acf52f
|
2022-11-25T14:43:44
|
|
[subset-cff] Micro-optimize copy_str more
|
|
d2f3cde7
|
2022-11-25T14:38:30
|
|
[subset-cff] Micro-optimize copy_str
|
|
e333223f
|
2022-11-25T14:23:57
|
|
[array] Optimize serializing copy()
|
|
22990fca
|
2022-11-25T14:12:58
|
|
Merge pull request #3894 from googlefonts/cff_accel
[subset] Cache parsed char strings in CFF accelerator
|
|
8d5c899b
|
2022-11-25T20:33:39
|
|
[subset] In cff accelerator hold reference to CFF table instead of the whole font.
|
|
7b197446
|
2022-11-25T13:28:53
|
|
[vector] Adjust for HB_OPTIMIZE_SIZE
|
|
75a99f28
|
2022-11-25T18:38:13
|
|
[subset] destruct cff accelerator if present.
|
|
1d474194
|
2022-11-25T13:21:35
|
|
[subset-cff] Micro-optimize encode_str
|
|
3c4a610b
|
2022-11-25T13:16:30
|
|
[subset-cff] Micro-optimize copy_str some more
|
|
535aadb3
|
2022-11-25T13:07:42
|
|
[subset-cff] Micro-optimize collect_subr_refs_in_str more
|
|
00a9df3a
|
2022-11-25T13:05:05
|
|
[subset-cff] Micro-optimize collect_subr_refs_in_str
|
|
d2a2f5bf
|
2022-11-25T12:44:02
|
|
[vector] Handroll copy
|
|
1fed366d
|
2022-11-25T12:37:24
|
|
[serialize] Shut compiler warning off
|
|
f2297e69
|
2022-11-25T11:33:00
|
|
[buffer] Documentation
Fixes https://github.com/harfbuzz/harfbuzz/issues/3889
|
|
71c23c1c
|
2022-11-25T18:04:44
|
|
[subset] don't copy the entire global/loca subr lists from the accelerator.
Instead run a closure on the retained charstrings and copy only the referenced subrs. This significantly speeds up cases with small character sets.
|
|
4ff09274
|
2022-11-24T22:47:29
|
|
[subset] In CFF accelerator keep a reference to original face.
The charstring objects reference memory from the original face so we need to maintain a reference to prevent it from being destroyed.
|
|
6aaa1662
|
2022-11-24T14:58:42
|
|
[Coverage] Comment
|
|
06e2147a
|
2022-11-24T14:56:04
|
|
More call set->next() directly
|
|
196c9db0
|
2022-11-24T14:51:52
|
|
Call ->next() directly
|
|
03d64b74
|
2022-11-24T14:33:18
|
|
[bit-set] Remove TODO that would never happen
|
|
690df8a3
|
2022-11-24T14:32:51
|
|
[bit-set] Micro-optimize prev()
|
|
fe5d9176
|
2022-11-24T14:30:18
|
|
[bit-set] Micro-optimize size
It's silly that this saves size at all. :(
|
|
cf9b9929
|
2022-11-24T14:26:28
|
|
[bit-set] Micro-optimize process()
|