Commit graph

16436 commits

Author SHA1 Message Date
Behdad Esfahbod
5fe96213aa [subset/cff] Micro-optimize CFFIndex writing 2023-06-07 12:05:57 -06:00
Behdad Esfahbod
70b13ef00b
Merge pull request #4267 from googlefonts/decompile_tuple_varstore
[instancer] decompile tuple varstore
2023-06-07 11:46:37 -06:00
Behdad Esfahbod
b80b6a4f5f [cff] Remove unused types 2023-06-06 18:11:55 -06:00
Behdad Esfahbod
26ac1d4b48 [cff] Remove unused method 2023-06-06 18:08:59 -06:00
Behdad Esfahbod
c6ce1f81ec [cff] Micro-optimize CFFIndex::operator[] 2023-06-06 17:17:29 -06:00
Behdad Esfahbod
a55d0b8866 [subset/cff] Inline type only used once 2023-06-06 17:13:09 -06:00
Behdad Esfahbod
2960d13f1b [subset/cff1] Micro-optimize string writing 2023-06-06 16:24:28 -06:00
Behdad Esfahbod
35e152b9f4 [subset/cff] Micro-optimize CFFIndex for empty strings 2023-06-06 16:21:14 -06:00
Behdad Esfahbod
acae5ed25c [subset/cff1] Speed up sid mapping
Don't need a full inc_bimap.
2023-06-06 16:18:44 -06:00
Behdad Esfahbod
9e80f6b1b6 [subset/cff1] Speed up plan_subset_charset
25% speedup in --benchmark_filter=subset_glyphs/SourceSansPro'.*retaingids/10
2023-06-06 15:38:14 -06:00
Behdad Esfahbod
fd13aa9eff [subset/cff1] Optimize CFF::CFF1StringIndex::serialize 2023-06-06 15:33:51 -06:00
Behdad Esfahbod
ada1e9a924 [graph/serialize] Handle empty blob
Fixes https://oss-fuzz.com/testcase-detail/4877513265119232
2023-06-06 14:46:47 -06:00
Behdad Esfahbod
a92b288e65 [serializer] Handle snapshotting when current is nullptr
Happens with memory failure / fuzzing.

Fixes https://oss-fuzz.com/testcase-detail/6292420615340032
2023-06-06 14:32:25 -06:00
Qunxin Liu
01f9b79777 address review comments 2023-06-05 20:56:58 -07:00
Behdad Esfahbod
f01ebe97b2 [vector] Minor write more idiomatic 2023-06-05 21:38:37 -06:00
Behdad Esfahbod
cd8f7c0201 [subset/cff] Optimize fdselect 2023-06-05 17:17:44 -06:00
Qunxin Liu
796a0df93e try to fix bot 2023-06-05 15:40:46 -07:00
Behdad Esfahbod
dcecb4d16b [subset/ValueFormat] Micro-optimize 2023-06-05 16:03:36 -06:00
Behdad Esfahbod
5676adefbc [subset/cff1] Remove an unneeded copy method
Same as serializer embed().
2023-06-05 15:56:19 -06:00
Behdad Esfahbod
7d9698123c [subset/cff1] Micro-optimize
Is ugly but shows speedup.
2023-06-05 15:44:50 -06:00
Behdad Esfahbod
469e82a227 [subset/PairPos] Micro-optimize 2023-06-05 15:23:22 -06:00
Behdad Esfahbod
6593d2aaba [subset/PairPos] Speed up 2023-06-05 15:11:43 -06:00
Qunxin Liu
ed6bee2004 [instancer] add a test for decompile cvar tuple variations data 2023-06-05 14:03:22 -07:00
Qunxin Liu
bd9cdecd59 [instancer] add decompile_tuple_variations() for cvar table 2023-06-05 13:52:05 -07:00
Behdad Esfahbod
452990edca [cff1] Add TODO 2023-06-05 14:47:32 -06:00
Behdad Esfahbod
072c9c06e0 Revert "[subset/cff1] Micro-optimize"
This reverts commit 93020621f0651920ff92e19f543fbf2351c8311b.

This slowed down the common path actually.
2023-06-05 14:47:32 -06:00
Behdad Esfahbod
f102d57a52 [subset/cff1] Micro-optimize 2023-06-05 14:47:32 -06:00
Behdad Esfahbod
cdfbd7b6c6 [subset/cff1] Micro-optimize 2023-06-05 14:47:32 -06:00
Behdad Esfahbod
7b97262b03 [subset/cff1] Micro-optimize 2023-06-05 14:47:32 -06:00
Behdad Esfahbod
59387dbe43 [subset/cff] Speed up sid mapping 2023-06-05 14:47:27 -06:00
Qunxin Liu
2012df0755 [instancer] add struct tuple_variation_t
And add function to decompile TupleVariationData into the struct
2023-06-05 13:46:04 -07:00
Qunxin Liu
9f508b7393 [instancer] add unpack_axis_tuples () in TupleVariationHeader 2023-06-05 13:35:28 -07:00
Behdad Esfahbod
ffc6899b0c [subset/cff1] Use a vector, instead of map, for glyph_to_sid_map
Much faster.
2023-06-05 14:16:47 -06:00
Qunxin Liu
7b0ecbd896 [instancer] add struct tuple_delta_t to represent 1 tuple variation 2023-06-05 13:08:12 -07:00
Behdad Esfahbod
1636e112c4 [cff] Micro-optimize 2023-06-05 13:44:00 -06:00
Behdad Esfahbod
27299e0d20 [subset/cff] Minor use hb_len() 2023-06-05 13:41:04 -06:00
Behdad Esfahbod
377ccb31e1 [subset/cff] Speed up set_offset_at 2023-06-05 13:38:06 -06:00
Behdad Esfahbod
90122925ff [subset/cff1] Minor speedup 2023-06-05 13:33:10 -06:00
Behdad Esfahbod
238cb0fbfd [subset/cff1] Speed up for retaingids 2023-06-05 13:27:03 -06:00
Behdad Esfahbod
9de413bf01 [subset/cff1] Micro-optimize 2023-06-04 17:43:48 -06:00
Behdad Esfahbod
ca353e644d [subset/cff1] Style 2023-06-04 17:40:37 -06:00
Behdad Esfahbod
e077ca893e [subset/cff] Micro-optimize 2023-06-04 17:24:38 -06:00
Behdad Esfahbod
126d144196 [subset/cff] Micro-optimize 2023-06-04 16:23:36 -06:00
Behdad Esfahbod
a24025c90d [subset/cff1] Micro-optimize 2023-06-04 16:16:05 -06:00
Behdad Esfahbod
5a3ac0ab34 [subset/cff1] Another micro-optimization 2023-06-04 15:37:25 -06:00
Behdad Esfahbod
331398286a [subset/cff1] Micro-optimize 2023-06-04 15:33:22 -06:00
Behdad Esfahbod
595aa58379 [UnsizedArray] Minor simplify operator[] 2023-06-04 15:24:36 -06:00
Behdad Esfahbod
319ea3b967 [UnsizedArrayOf] Simplify operator[]
No need to check for overflow. Caller is responsible for correct
access.
2023-06-04 15:23:20 -06:00
Behdad Esfahbod
6188a3f5a4 [subset/cff] Minor signedness change 2023-06-04 15:12:56 -06:00
Behdad Esfahbod
887f299351 [susbet/cff] Reuse iterator 2023-06-04 15:11:35 -06:00