Behdad Esfahbod
bab8ec58b0
[subset-cff] Disable sharing when packing charstring INDEXes
...
Saves another 8%ish.
2 years ago
Behdad Esfahbod
2cadacad6c
[cff] Simplify str_encoder_t error handling
2 years ago
Behdad Esfahbod
f263e3fe2e
[cff] Manually copy short strings instead of memcpy()
2 years ago
Behdad Esfahbod
38efd1862f
[cff] Add a likely()
2 years ago
Behdad Esfahbod
191025cc96
[cff] Adjust buffer pre-allocation
...
Most ops take one or two bytes, so allocate count*2, not count*3.
Shows minor speedup in subsetting benchmark (around 2%).
2 years ago
Behdad Esfahbod
4b2caafea2
[subset-cff] Optimize parsed_cs_op_t size
...
Shows 5% speedup on SourceHanSans-Regular/10000 benchmark.
2 years ago
Behdad Esfahbod
e0b06bd1b1
[subset] Cache has_seac in accelerator
...
Speeds up SourceHanSans-Regular/10000 benchmark by %25.
2 years ago
Garret Rieger
dd1ba328a8
[repacker] fix fuzzer timeout.
...
For https://oss-fuzz.com/testcase-detail/5845846876356608 . Only process the set of unique overflows.
2 years ago
Behdad Esfahbod
59451502e9
[cff] Optimize env error checking
2 years ago
Behdad Esfahbod
b238578a9c
[cff] Optimize INDEX operator[]
2 years ago
Behdad Esfahbod
d9de515a38
[cff] Optimize byte_str_ref_t array access
2 years ago
Behdad Esfahbod
a81ec9b2b6
[cff] Optimize byte_str_ref_t inc()
...
Shows a couple percent speedup.
2 years ago
Behdad Esfahbod
3ff75411bd
[algs] Fix bot fail
2 years ago
Behdad Esfahbod
b81e3989f8
Try fixing arm-eabi build after a10cfe3f32
2 years ago
Behdad Esfahbod
4c14043b06
[algs] Add output argument to hb_unsigned_mul_overflows()
2 years ago
Behdad Esfahbod
25adbb3825
[algs] Use __builtin_mul_overflow
...
Compiles to smaller binary.
2 years ago
Behdad Esfahbod
a10cfe3f32
[algs] Write hb_in_ranges() recursively
2 years ago
Behdad Esfahbod
2e86700e30
[gvar] Add memory-barrier as in ArrayOf
2 years ago
Behdad Esfahbod
b00a911fa7
[sorted-array] Add faster iterator implementation here as well
2 years ago
Behdad Esfahbod
7cc79a8a86
[vector] Adjust comment
2 years ago
Behdad Esfahbod
e82a3c69dd
[array/vector] Optimize range-based for-loop
...
Avoid bounds-checking.
2 years ago
Behdad Esfahbod
0387182c2a
[ot-map] Minor refactor features[i] access
2 years ago
Behdad Esfahbod
5ee6d5d77e
[cff] Add memory-barrier to INDEX
...
Like we do for ArrayOf.
2 years ago
Behdad Esfahbod
6905d36d73
[cff] Fix fetch_op() bounds-checking
2 years ago
Behdad Esfahbod
b51ab1a9e5
[cff] Optimize byte_str_ref_t
...
Make it 16 bytes instead of 24. This struct is used in the subroutine
call stack heavily.
This change makes the HB AdobeVFPrototype benchmark to become faster
than FT one, with about 6% speedup as a result of this change.
2 years ago
Behdad Esfahbod
7a39464b18
[cff] Hide members of byte_str_ref_t
2 years ago
Behdad Esfahbod
18141f0007
[cff] Move a sub_array call
...
No logic change.... I hope?!
2 years ago
Behdad Esfahbod
f66415cdd1
[cff] Move initialization of a type to constructor
2 years ago
Behdad Esfahbod
70a5cd53f6
[algs] Assert trivial copy assignable in stable_sort
2 years ago
Behdad Esfahbod
9bb39423f5
[algs] Simplify stable_sort signatures
2 years ago
Behdad Esfahbod
d119568df6
[cbdt] Use vector tail()
2 years ago
Behdad Esfahbod
87a88117c8
[object] Use vector tail()
2 years ago
Behdad Esfahbod
76ce390b5a
[ucd] Document algorithms
2 years ago
Behdad Esfahbod
ed43bc5118
[buffer] Move delete_glyphs_inplace() here
2 years ago
Behdad Esfahbod
dd88dae8a9
[unicode] Simplify set_funcs a bit more
2 years ago
Behdad Esfahbod
2d8ff3bcbe
[unicode] Destroy user_data in set_funcs fail paths
...
This is what the font_funcs / draw_funcs do.
2 years ago
Behdad Esfahbod
527823ccac
[unicode] Destroy user_data in set_funcs fail paths
...
This is what the font_funcs / draw_funcs do.
2 years ago
Behdad Esfahbod
56d6b6992b
[font/draw] Remove unneeded branch
...
The preamble sets user_data/destroy to nullptr if func is nullptr.
2 years ago
Behdad Esfahbod
976bb26cc1
[draw] Optimize set_func functions
2 years ago
Behdad Esfahbod
114167a933
[font] Optimize set_func functions
2 years ago
Behdad Esfahbod
f9d7b303ed
[thai] Use smaller type for arrays
...
No logic change.
2 years ago
Behdad Esfahbod
72c4e431af
[use-table] Add a OPTIMIZE_SIZE version
2 years ago
Behdad Esfahbod
83c3a91dc6
[gen-use-table] Report fullCost
2 years ago
Behdad Esfahbod
ba08de624e
[ucd] Change OPTIMIZE_SIZE to compression level 9
...
Also changes default compression level from 3 to 5, but that shows
no change in the generated table size.
2 years ago
Behdad Esfahbod
b68f9f3cfe
[machinery] Adjust comment
2 years ago
Behdad Esfahbod
a47ba1dc0e
[lazy-pointer] Hide instance
2 years ago
Behdad Esfahbod
281b4705b4
[pool] Rewrite a loop as dagger
2 years ago
Behdad Esfahbod
3ff8abf272
Revert "[map] Allow std::move-ing keys into the map"
...
This reverts commit f657ef7e57
.
This breaks many compilers with messages like this:
hb-subset-plan.hh:226: undefined reference to `OT::head::tableTag'
I'm out of my depth re how to fix it.
2 years ago
Behdad Esfahbod
039e476bac
[test-vector] Test sink-move'ing
2 years ago
Behdad Esfahbod
a3a218edb5
[map] Add a couple more sink interfaces
2 years ago