Garret Rieger
dde0a2b071
[repacker] track estimated coverage size during PairPosFormat1 split point analysis.
2 years ago
Garret Rieger
b37e8bef0e
[repacker] count size of the current class at the split point in the next segment.
2 years ago
Qunxin Liu
7fde6ab025
fuzzer fix: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49790
2 years ago
Behdad Esfahbod
a4e0fd1685
[MultipleSubst] Rewrite serialize signature as single iterator
2 years ago
Behdad Esfahbod
65d28bc5a7
[MultipleSubst] Rewrite serialize() in terms of iterators
...
Unused still, and hence untested
2 years ago
Behdad Esfahbod
b57ea3b053
Revert "[iter] Use && in uses of is_source_of"
...
This reverts commit ccbba667a9
.
2 years ago
Garret Rieger
0e48a65d32
[repacker] estimate size of classDef1 and coverage during PairPos2 split point analysis.
2 years ago
Garret Rieger
2264df6da3
[repacker] add utility that can calculate the size of Coverage+ClassDef via incremental class inclusion.
2 years ago
Behdad Esfahbod
ccbba667a9
[iter] Use && in uses of is_source_of
2 years ago
Behdad Esfahbod
8fb7cc1c63
[iter] Use && in is_sink_of uses
2 years ago
Garret Rieger
5d824c09c0
[repacker] during table splits don't mutate shared coverage/classdef in place.
...
If other subtables are sharing coverage with a subtable being split we have to duplicate the coverage/classdef tables before they are modified during the shrink operation.
2 years ago
Garret Rieger
e1ab355056
[repacker] correct lookup link insertion.
2 years ago
Garret Rieger
a733a9afa5
[repacker] insert new subtables immediately after the subtable they split from in the lookup.
2 years ago
Garret Rieger
506547c958
[repacker] Use hb_pair_t constructor instead of hb_pair ().
...
hb_pair was causing corrupted gid values.
2 years ago
Garret Rieger
fdd1952c75
[repacker] PairPosFormat2 splitting - fix coverage and classdef splitting.
...
The old code was splitting based on coverage index, but should have been splitting on class value.
2 years ago
Behdad Esfahbod
c67c1b745b
VarStore: simplify again
2 years ago
Behdad Esfahbod
914542bd18
Whitespace
2 years ago
Behdad Esfahbod
d7adc55e18
[ot-font] Allow 24bit glyphs in advance cache
2 years ago
Behdad Esfahbod
99070a734a
[cache] Use short instead of int if fits
2 years ago
Qunxin Liu
d831e935df
bug fix in VarData get_delta ()
...
when LONG_WORDS flag is set, item row is not computed correctly
lcursor should be interpreted as INT32
2 years ago
Garret Rieger
b154b1e4c3
[repacker] pull out PairPosFormat1,2::do_split() into a common helper method.
2 years ago
Garret Rieger
88e0dd02cb
[repacker] add sanitization for PairPosFormat2.
2 years ago
Garret Rieger
51a5060273
[repacker] add test for splitting a PairPos2 w/ device tables.
2 years ago
Garret Rieger
54fab21cb1
[repacker] get basic pair pos 2 split test working.
2 years ago
Garret Rieger
60d6ffb375
[repacker] always duplicate classDef2 when splitting a PairPos2.
...
Splits are done in a way that it shouldn't be possible to share the classDef2 between split PairPos2's so pre-emptively duplicate it.
2 years ago
Garret Rieger
6be152420f
[repacker] add basic test for PairPos2 splitting.
2 years ago
Behdad Esfahbod
b78546b1d2
[cache] Residual
2 years ago
Behdad Esfahbod
ec90d1e161
[cache] Add a non-threadsafe version
...
Use in hb-ft, since already mutex'ed.
2 years ago
Behdad Esfahbod
f73c15ca6c
[atomic-int] Add operators for relaxed ops
2 years ago
Behdad Esfahbod
86d1e22d4f
[atomic-ptr] Rename get
2 years ago
Behdad Esfahbod
d3f2287e0b
[atomic-int] Rename get/set
2 years ago
Khaled Hosny
afe6629b2f
Fix make dist
2 years ago
Behdad Esfahbod
e68e874da6
Update test/fuzzing/README
2 years ago
Behdad Esfahbod
c80e32972f
[mvar] Use VarIdx
2 years ago
Khaled Hosny
52bdc750c1
Revert "[meson] Use pathlib in gen-harfbuzzcc.py"
...
This reverts commit eaf7e5686c
.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3776
No idea what is going on, but lets restore the old code.
2 years ago
Garret Rieger
65ed82fde5
[repacker] PairPosFormat2::do_split.
2 years ago
Garret Rieger
f43055f35a
[repacker] Implement PairPosFormat2::shrink.
2 years ago
Khaled Hosny
16bfe6536b
[meson] use cpp.get_argument_syntax not cpp.get_id
...
To account for both MSVC and clang-cl.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3756
2 years ago
Garret Rieger
9f2a44640c
[repack] implement device table transfer for PairPosFormat2.
2 years ago
Garret Rieger
22eae32b3b
[repacker] add classDef1 clone_range to PairPosFormat2 split.
2 years ago
Garret Rieger
68b90153ea
[repacker] Add class def sanitize and range cloning.
2 years ago
Garret Rieger
ca0df565f7
[repacker] extract coverage cloning into helper.
2 years ago
Behdad Esfahbod
ee18ae3b76
[avar] Minor move code around
2 years ago
Garret Rieger
7f4b2037a5
[repacker] include size of device tables when determining PairPos2 split points.
2 years ago
Behdad Esfahbod
826639fab2
[src] Add test-use-table
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3758
2 years ago
Garret Rieger
58fdbd8e5d
[repacker] begin adding PairPosFormat2 splitting support.
2 years ago
Behdad Esfahbod
e387b3acd3
[ft] Try harder
2 years ago
Khaled Hosny
40a3468906
hb-ft: cast to float to help windows sqrtf
2 years ago
Behdad Esfahbod
6549aec89d
[SingleSubstFormat1] Help avoid timeouts in closure() some more
...
For https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49712
2 years ago
Behdad Esfahbod
ba9b20534c
[ft] Try working around fonts with transform set
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3772
2 years ago