Behdad Esfahbod
c5afe026bd
[gvar] Comment
2023-04-26 13:44:03 -06:00
Behdad Esfahbod
87c6e68ec3
[gvar] Assertion
2023-04-26 13:20:51 -06:00
Behdad Esfahbod
0938673731
[gvar] Error handling & micro-optimization
2023-04-26 13:19:27 -06:00
Behdad Esfahbod
b6aa2d71f3
[gvar] Speed up calculate_scalar more
...
Use a gvar-wide cache of the one active peak index for shared-tuples
that have only one active peak. This speeds up the scalar calculation.
This shows significant speedup for the CJK VarComposite font for
example since that has tens of axes with mostly only one active peak.
2023-04-26 13:13:34 -06:00
Han Seung Min - 한승민
ffbfab123f
oops docs
2023-04-26 10:56:29 -06:00
Han Seung Min - 한승민
e428edc371
[unicode] Fix typo
...
I believe the `hb-unicode.h` has a typo where `HB_UNICODE_COMBINING_CLASS_CCC133 = 132,` is supposed to be `HB_UNICODE_COMBINING_CLASS_CCC132`
2023-04-26 10:56:29 -06:00
Behdad Esfahbod
63afb4f2e7
[syllabic] Better fix for previous issue
...
With previous fix the GPOS application was still reading the syllable()
member, which was already freed. This fix is more correct.
2023-04-26 10:29:25 -06:00
Behdad Esfahbod
c5f3b3feb1
[syllabic] Actually clear syllables
...
Such that they don't affect GPOS.
I broke this in 044d7a06db
.
2023-04-26 10:23:34 -06:00
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