Commit graph

15894 commits

Author SHA1 Message Date
Behdad Esfahbod
9ee7c2ea63 [cmap] Minor remove magic number 2023-04-25 16:13:54 -06:00
Behdad Esfahbod
580b0dc1c3 [cmap] Comment 2023-04-25 16:11:01 -06:00
Behdad Esfahbod
1d31da91ce
Merge pull request #4205 from harfbuzz/gvar-optimize
Gvar optimize
2023-04-25 15:34:06 -06:00
Garret Rieger
e41f317199 [subset] Update expectation files for full_instance tests. 2023-04-25 20:54:27 +00:00
Behdad Esfahbod
f6803b06bf [VarRegionAxis] Micro-optimize
peak==0 is common.
2023-04-25 14:46:44 -06:00
Behdad Esfahbod
f91929d6da Minor return floats instead of doubles from function
Not that any compiler complained...
2023-04-25 14:42:00 -06:00
Behdad Esfahbod
808a21f8de [gvar] Simplify ref_points logic 2023-04-25 14:03:52 -06:00
Behdad Esfahbod
78a0216a03 [gvar] Write a for loop as range loop 2023-04-25 13:52:00 -06:00
Behdad Esfahbod
f654823fe0 [gvar] Handle an error case 2023-04-25 13:09:40 -06:00
Behdad Esfahbod
30d08dc62c [gvar] Populate end_points lazily
Tiny micro-optimization...
2023-04-25 12:16:04 -06:00
Behdad Esfahbod
fe8c91707b [gvar] Micro-optimize has_intermediate() access 2023-04-25 11:30:36 -06:00
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.
2023-04-24 18:11:48 -06:00
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!
2023-04-24 17:51:58 -06:00
Behdad Esfahbod
7a3928e2b6 [var] Optimize calculate_scalar
For varfonts with lots of deltasets, the loop in this function is
*really* hot...
2023-04-24 17:38:20 -06:00
Behdad Esfahbod
8929603631 [gvar] Another minor optimization
Allocate orig_points lazily only when needed.
2023-04-24 16:16:27 -06:00
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.
2023-04-24 15:50:58 -06:00
Behdad Esfahbod
491aa572ce [gvar] Minor call a function instead of handcoding 2023-04-24 15:06:03 -06:00
Behdad Esfahbod
cf95f3193b [VarComposite] Another minor resue of num_points 2023-04-24 14:45:52 -06:00
Behdad Esfahbod
fc8dfe64d0 [benchmark-font] Minor rename 2023-04-24 14:39:20 -06:00
Behdad Esfahbod
0a52084228 [VarComposite] Minor resue of num_points 2023-04-24 14:23:24 -06:00
Behdad Esfahbod
a9a9f278b8 [atomic] Remove incomplete comment 2023-04-24 14:16:48 -06:00
Behdad Esfahbod
d1c00c0470 [COLR] Respect HB_NO_PAINT
Fixes https://github.com/harfbuzz/harfbuzz/issues/4204
2023-04-24 13:24:47 -06:00
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
2023-04-24 13:04:05 -06:00
Behdad Esfahbod
e76a3649db [atomic] Comment 2023-04-22 10:20:25 -06:00
Behdad Esfahbod
8e43e3a8ce [priority-heap] Comment 2023-04-22 10:16:43 -06:00
Behdad Esfahbod
48f8ed7e02 Docs 2023-04-22 10:14:01 -06:00
Behdad Esfahbod
b31684dca4 [cache] Add some AI-generated comments 2023-04-22 09:47:58 -06:00
Behdad Esfahbod
bffdca89f7 [pool] Add funny Copilot comment 2023-04-22 09:32:57 -06:00
Behdad Esfahbod
a960571f24 [glyf] Comments 2023-04-21 16:45:08 -06:00
Behdad Esfahbod
2b042cc5c6 [VarComposite] Implement trim_padding() 2023-04-21 16:43:47 -06:00
Qunxin Liu
591c9460dc [instancer] compile composite glyphs directly with shifted component
points instead of deltas
2023-04-21 15:47:26 -06:00
Behdad Esfahbod
3520f528aa [CompositeGlyph] Apply gvar deltas with component transform
This was being done wrong for one of the scaled_offsets() cases.
2023-04-21 15:46:36 -06:00
Behdad Esfahbod
33972b3bf6 [glyf] Increase CompositeGlyf memory allocation
The 50% wasn't justified by logic.
2023-04-21 12:37:51 -06:00
Behdad Esfahbod
290cef39be [glyf] When instancing, just spew empty VarComposites
Before we were dropping the entire glyf table.
2023-04-21 12:22:30 -06:00
Behdad Esfahbod
4353192d05 [aat] Tweak a couple sanitize calls that are never called 2023-04-21 11:59:15 -06:00
Behdad Esfahbod
305012609b [hdmx] Remove unused unsafe function 2023-04-21 11:42:18 -06:00
Behdad Esfahbod
f74abc307d [face] Comment 2023-04-21 11:37:37 -06:00
Behdad Esfahbod
d1f49ba6d2 [VarComposites] More ifdef guards 2023-04-20 18:17:14 -06:00
Behdad Esfahbod
1e9a0511f3 [subset] Fix HB_TINY build 2023-04-20 17:47:04 -06:00
Behdad Esfahbod
106a237e40 [subset/glyf] Close over VarComposite glyphs
Subsetting VarComposite glyphs works now.
2023-04-20 17:46:07 -06:00
Behdad Esfahbod
f2d21425a3 [VarC/subset] Support subsetting VarComposites
By renumbering components.
2023-04-20 17:32:59 -06:00
Behdad Esfahbod
15d0a1dcfd [glyf] TODO 2023-04-20 17:28:10 -06:00
Behdad Esfahbod
85d0c3b5f1 [glyf] Comment 2023-04-20 17:17:28 -06:00
Behdad Esfahbod
5d74b42b9e [glyf] Change variable name 2023-04-20 17:15:57 -06:00
Behdad Esfahbod
c997e490c7 Remove unnecessary return 2023-04-20 17:02:38 -06:00
Behdad Esfahbod
781da13e99 [glyf] Comment 2023-04-20 16:59:25 -06:00
Behdad Esfahbod
0e4bcf908c [hmtx] Add TODO 2023-04-20 16:23:41 -06:00
Behdad Esfahbod
639f45ef9e [beyond-64k/subset] Implement subsetting of hmtx beyond64k 2023-04-20 16:21:08 -06:00
Behdad Esfahbod
b3da715b9c Fix HB_TINY build 2023-04-20 16:05:03 -06:00
Behdad Esfahbod
32f145ff9c Fix build 2023-04-20 15:58:26 -06:00