Commit graph

15930 commits

Author SHA1 Message Date
Behdad Esfahbod
070f837be6 [VarComposite] Optimize rotate() 2023-04-27 11:56:03 -06:00
Behdad Esfahbod
4e256f5a57 [VarComposite] Optimize scale() 2023-04-27 11:56:03 -06:00
Behdad Esfahbod
6a55e73d6a [VarComposite] Optimize translate() 2023-04-27 11:56:03 -06:00
Behdad Esfahbod
cdc02acd3d [VarComposite] Minor adjust initialization values 2023-04-27 11:56:03 -06:00
Behdad Esfahbod
a257546de4 [VarComposite] Minor micro-optimize / indent 2023-04-27 11:56:03 -06:00
Behdad Esfahbod
18396b8e27 [VarComposite] Micro-optimize 2023-04-27 11:56:03 -06:00
Behdad Esfahbod
1e71a673e9 [VarComposite] Micro-optimize 2023-04-27 11:56:03 -06:00
Behdad Esfahbod
dd860fad80 [VarComposite] Micro-optimize 2023-04-27 11:56:03 -06:00
Behdad Esfahbod
6457847719 [VarComposite] Minor change variable types 2023-04-27 11:56:03 -06:00
Behdad Esfahbod
50e758e345 [glyf] Tweak assertion 2023-04-27 11:56:03 -06:00
Behdad Esfahbod
1056590f00 [config] Add HB_OPTIMIZE_SIZE_VAL 2023-04-27 11:56:03 -06:00
Behdad Esfahbod
726590ed5f [gvar] Add optimize-size code path 2023-04-27 11:56:03 -06:00
Khaled Hosny
7c9ed76d0a [doc] Use simpler markdown link syntax 2023-04-27 03:27:24 +02:00
Behdad Esfahbod
a200f0a3fe [gvar] Micro-optimize 2023-04-26 17:29:49 -06:00
Behdad Esfahbod
db86e977a0 [gvar] Micro-optimize 2023-04-26 17:08:53 -06:00
Behdad Esfahbod
27b8a208ec [gvar] Minor variable reuse 2023-04-26 17:00:52 -06:00
Behdad Esfahbod
2bbb605d08 [glyf] Micro-optimize
No need to init the whole array.
2023-04-26 17:00:52 -06:00
Behdad Esfahbod
c87f26018d [glyf] Micro-optimize 2023-04-26 17:00:52 -06:00
Khaled Hosny
a321c4fee5 7.2.0 2023-04-27 00:48:00 +02:00
Behdad Esfahbod
fd52c4cf7b [gvar] Comment 2023-04-26 16:28:22 -06:00
Behdad Esfahbod
0c59c629c1 [gvar] Micro-optimize
For cases where no deltaset applies.
2023-04-26 16:26:35 -06:00
Behdad Esfahbod
5d1a603ad1 [var] Fix compiler warnings 2023-04-26 16:25:53 -06:00
Behdad Esfahbod
af393e9652 [gvar] Refactor a variable 2023-04-26 16:02:06 -06:00
Behdad Esfahbod
2a3bf5a542 [gvar] Minor error-handling 2023-04-26 15:58:55 -06:00
Behdad Esfahbod
57faabb78e [gvar] Micro-optimize 2023-04-26 15:56:04 -06:00
Behdad Esfahbod
76e269af9e [gvar] Micro-optimize 2023-04-26 15:48:06 -06:00
Behdad Esfahbod
7349cea127 [gvar] Micro-optimization 2023-04-26 14:27:24 -06:00
Behdad Esfahbod
bc53587002 [deprecated] Add HB_UNICODE_COMBINING_CLASS_CCC133
https://github.com/harfbuzz/harfbuzz/pull/4207
2023-04-26 13:57:11 -06:00
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