Behdad Esfahbod
bbf4cfa393
[config] Add missing HB_NO_BORING_EXPANSION options
...
Those others are only HB_EXPERIMENTAL_API anyway, but still.
2 years ago
Garret Rieger
d339298f37
[subset] fix hb_subset_input_old_to_new_gid_mapping method comment.
2 years ago
Garret Rieger
374a9a9f5e
[subset] restore accidentally removed function doc.
2 years ago
Garret Rieger
3021b2dbe2
[subset] change glyph mapping api to return a mutable map.
...
Maintains consistency with our other set based api methods.
2 years ago
Garret Rieger
d4c1322547
[subset] Add new glyph map method to docs.
2 years ago
Garret Rieger
77a8155425
[subset] Add some basic tests for a provided glyph map.
2 years ago
Behdad Esfahbod
3194963657
Revert "[layout] Cache subtable coverages in hb_map_t"
...
This reverts commit 7a715d74e0
.
2 years ago
Behdad Esfahbod
7a715d74e0
[layout] Cache subtable coverages in hb_map_t
...
Proof-of-concept. Going to revert. Memory consumption is more
than I like. It does speed up Roboto shaping another 15% though.
Perhaps if we could add logic to choose which subtables to
cache, this might be a useful approach.
2 years ago
Garret Rieger
98e73192f4
[subset] Add command line flag to provide a gid mapping.
2 years ago
Behdad Esfahbod
975980d368
[gsubgpos] Add apply_cached() as separate method
...
In prep for some other work.
2 years ago
Garret Rieger
779e8297fa
[subset] fix requested_glyph_map presence check.
2 years ago
Garret Rieger
e14020b27a
[subset] remove return value from mapping setting function.
2 years ago
Garret Rieger
6826634714
[subset] apply the user supplied glyph map.
2 years ago
Garret Rieger
e711e305c8
[subset] Add new subsetting API method to receive a user specified glyph mapping.
2 years ago
Behdad Esfahbod
1be3972914
[subset] Support unordered glyphlist in Coverage/ClassDef serialize
2 years ago
Behdad Esfahbod
a10fad7cc2
[config] Add HB_NO_GDEF_CACHE
2 years ago
Behdad Esfahbod
e138319fcc
[config] Allow overriding HB_OPTIMIZE_SIZE
2 years ago
Behdad Esfahbod
319a488b39
[GDEF] Fix null check
...
Fixes https://oss-fuzz.com/testcase-detail/5920994267889664
2 years ago
Behdad Esfahbod
3f2401e2f1
[layout] Don't init iters successively multiple times
2 years ago
Behdad Esfahbod
959f16343b
[gsubgpos] Minor reduce variable scope
2 years ago
Behdad Esfahbod
fb795dc3c5
[GPOS] Optimize iterator reset
...
Speeds up Gulzar shaping 5%.
2 years ago
Behdad Esfahbod
0c1637b606
[aat] Fix HB_NO_OT_LAYOUT build
2 years ago
Behdad Esfahbod
8a8fc37c42
[GDEF] Use a cache for glyph classes
...
Shows 5% speedup for Roboto shaping.
2 years ago
Behdad Esfahbod
323a1fe496
[PairPos] Fix what I broke
2 years ago
Behdad Esfahbod
a6f5f0dc4a
[PairSet] Micro-optimize
2 years ago
Behdad Esfahbod
4e495eb0a7
[PairPos] Add an unlikely
2 years ago
Behdad Esfahbod
5528bdd46f
[PairPos] Remove a likely
2 years ago
Behdad Esfahbod
ae0fe02d13
[Ligature] Use slow path if 2 or fewer ligatures
2 years ago
Behdad Esfahbod
ddd6c2e7a2
[Ligature] Micro-optimize more
2 years ago
Behdad Esfahbod
045ae4b0b5
[GPOS] Micro-optimize
2 years ago
Behdad Esfahbod
0fe90ebc00
[Ligature] Micro-optimize
2 years ago
Behdad Esfahbod
51061d2854
[Ligature] Minor tweak to recent code
2 years ago
Behdad Esfahbod
7881eadffc
[Ligature] Speed up
...
Match the first component of the ligature in the LigatureSet loop.
Speeds up Roboto shaping by 25%. I don't think it breaks anything.
The test suite seems happy.
2 years ago
Behdad Esfahbod
95f155573c
[PairPosFormat2] Micro-optimize and don't kern if class2=0
...
If class2=0 we expect no kerning to happen. Just bail out.
2 years ago
Behdad Esfahbod
5996715436
[PairPos2] Micro-optimize
2 years ago
Behdad Esfahbod
49ac5e11ef
[match_input] Micro-optimize
2 years ago
Behdad Esfahbod
7e7f1d0414
Drop a pair of parantheses from likely/unlikely
...
Such that "if likely(...)" wouldn't compile.
2 years ago
Behdad Esfahbod
db730f46d0
Simplify likely/unlikely
...
This surprisingly saves bytes and speeds up.
2 years ago
Behdad Esfahbod
2f9945ca01
[Glyph] Only treat numContours=-1 as Composite
...
Leave the other negative numbers as empty glyph.
2 years ago
Garret Rieger
db23be642f
[subset] clamp head *Min/*Max values to fit within 16 bit signed int.
...
Fixes fuzzer https://oss-fuzz.com/testcase-detail/4549472192692224 .
2 years ago
Behdad Esfahbod
a8b8eb53c3
[Coverage] Micro-optimize
2 years ago
Behdad Esfahbod
af21ea359c
[Coverage/serialize] Micro-optimize
2 years ago
Behdad Esfahbod
491f2968cd
[gvar] Micro-optimize
...
We don't need the flag in the case of apply_to_all.
2 years ago
Behdad Esfahbod
19d8328b63
[VarComposite] Minor use pad instead of StructAfter
2 years ago
Behdad Esfahbod
1b74cd7c2d
[gvar] Micro-optimize
2 years ago
Behdad Esfahbod
267ecd20c8
[normalize] Micro-optimize
2 years ago
Behdad Esfahbod
577bc8a239
[layout] Micro-optimize
2 years ago
Behdad Esfahbod
5b78e9a924
[layout] Whitespace
2 years ago
Behdad Esfahbod
3f9eb03b40
[graph] Micro-optimize
2 years ago
Behdad Esfahbod
1cbb85dc84
[Glyph] Protect against an underflow
2 years ago