Behdad Esfahbod
1d31da91ce
Merge pull request #4205 from harfbuzz/gvar-optimize
...
Gvar optimize
2 years ago
Garret Rieger
e41f317199
[subset] Update expectation files for full_instance tests.
2 years ago
Behdad Esfahbod
f6803b06bf
[VarRegionAxis] Micro-optimize
...
peak==0 is common.
2 years ago
Behdad Esfahbod
f91929d6da
Minor return floats instead of doubles from function
...
Not that any compiler complained...
2 years ago
Behdad Esfahbod
808a21f8de
[gvar] Simplify ref_points logic
2 years ago
Behdad Esfahbod
78a0216a03
[gvar] Write a for loop as range loop
2 years ago
Behdad Esfahbod
f654823fe0
[gvar] Handle an error case
2 years ago
Behdad Esfahbod
30d08dc62c
[gvar] Populate end_points lazily
...
Tiny micro-optimization...
2 years ago
Behdad Esfahbod
fe8c91707b
[gvar] Micro-optimize has_intermediate() access
2 years ago
Garret Rieger
2175f5d050
[subset] Fix inefficient ItemVariationStore subsetting w/ retain_gids.
...
ItemVariationStore is relying on the assumption that the inner_map is populated for all output glyphs, this is not true for subsetting operations with retain gids enabled. Fixes fuzzer timeout: https://oss-fuzz.com/testcase-detail/4575222591520768 .
2 years ago
Behdad Esfahbod
385e23762d
[var] Optimize calculate_scalar more
...
This change alone is showing me 14% scalar in a benchmark.
The reason being that the array::operator[] is not being invoked
a lot of time, which was, many times, hitting the unlikely() path.
Weird!
2 years ago
Behdad Esfahbod
7a3928e2b6
[var] Optimize calculate_scalar
...
For varfonts with lots of deltasets, the loop in this function is
*really* hot...
2 years ago
Behdad Esfahbod
8929603631
[gvar] Another minor optimization
...
Allocate orig_points lazily only when needed.
2 years ago
Behdad Esfahbod
20454eaa39
[gvar] Optimize by applying deltas in batches
...
Shows up to 7% speedup in one of my benchmarks.
One test fails by one rounding issue. To be updated.
2 years ago
Behdad Esfahbod
491aa572ce
[gvar] Minor call a function instead of handcoding
2 years ago
Behdad Esfahbod
cf95f3193b
[VarComposite] Another minor resue of num_points
2 years ago
Behdad Esfahbod
fc8dfe64d0
[benchmark-font] Minor rename
2 years ago
Behdad Esfahbod
0a52084228
[VarComposite] Minor resue of num_points
2 years ago
Behdad Esfahbod
a9a9f278b8
[atomic] Remove incomplete comment
2 years ago
Behdad Esfahbod
d1c00c0470
[COLR] Respect HB_NO_PAINT
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/4204
2 years ago
Behdad Esfahbod
4129061e37
Revert "Move hb-ot-name-language-static.hh out of hb-static.cc"
...
This reverts commit 7b5f0dd3a8
.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4203
2 years ago
Behdad Esfahbod
e76a3649db
[atomic] Comment
2 years ago
Behdad Esfahbod
8e43e3a8ce
[priority-heap] Comment
2 years ago
Behdad Esfahbod
48f8ed7e02
Docs
2 years ago
Behdad Esfahbod
b31684dca4
[cache] Add some AI-generated comments
2 years ago
Behdad Esfahbod
bffdca89f7
[pool] Add funny Copilot comment
2 years ago
Behdad Esfahbod
a960571f24
[glyf] Comments
2 years ago
Behdad Esfahbod
2b042cc5c6
[VarComposite] Implement trim_padding()
2 years ago
Qunxin Liu
591c9460dc
[instancer] compile composite glyphs directly with shifted component
...
points instead of deltas
2 years ago
Behdad Esfahbod
3520f528aa
[CompositeGlyph] Apply gvar deltas with component transform
...
This was being done wrong for one of the scaled_offsets() cases.
2 years ago
Behdad Esfahbod
33972b3bf6
[glyf] Increase CompositeGlyf memory allocation
...
The 50% wasn't justified by logic.
2 years ago
Behdad Esfahbod
290cef39be
[glyf] When instancing, just spew empty VarComposites
...
Before we were dropping the entire glyf table.
2 years ago
Behdad Esfahbod
4353192d05
[aat] Tweak a couple sanitize calls that are never called
2 years ago
Behdad Esfahbod
305012609b
[hdmx] Remove unused unsafe function
2 years ago
Behdad Esfahbod
f74abc307d
[face] Comment
2 years ago
Behdad Esfahbod
d1f49ba6d2
[VarComposites] More ifdef guards
2 years ago
Behdad Esfahbod
1e9a0511f3
[subset] Fix HB_TINY build
2 years ago
Behdad Esfahbod
106a237e40
[subset/glyf] Close over VarComposite glyphs
...
Subsetting VarComposite glyphs works now.
2 years ago
Behdad Esfahbod
f2d21425a3
[VarC/subset] Support subsetting VarComposites
...
By renumbering components.
2 years ago
Behdad Esfahbod
15d0a1dcfd
[glyf] TODO
2 years ago
Behdad Esfahbod
85d0c3b5f1
[glyf] Comment
2 years ago
Behdad Esfahbod
5d74b42b9e
[glyf] Change variable name
2 years ago
Behdad Esfahbod
c997e490c7
Remove unnecessary return
2 years ago
Behdad Esfahbod
781da13e99
[glyf] Comment
2 years ago
Behdad Esfahbod
0e4bcf908c
[hmtx] Add TODO
2 years ago
Behdad Esfahbod
639f45ef9e
[beyond-64k/subset] Implement subsetting of hmtx beyond64k
2 years ago
Behdad Esfahbod
b3da715b9c
Fix HB_TINY build
2 years ago
Behdad Esfahbod
32f145ff9c
Fix build
2 years ago
Behdad Esfahbod
000a3c5dca
[beyond-64k/subset] Fetch lsb from glyph table if not available
...
The beyond-64k hmtx table doesn't encode LSB. If subsetting brings
the glyph under 64k (which currently is the only mode we support),
then we need to encode the LSB, which wasn't available. We need to
fetch xMin from glyf table and set it as LSB.
2 years ago
Behdad Esfahbod
1111c7578e
hb_memset
2 years ago