Commit graph

16421 commits

Author SHA1 Message Date
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
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
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
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
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
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
Behdad Esfahbod
f5b8284633 [subset/cff1] Minor use hb_len 2023-06-04 15:10:08 -06:00
Behdad Esfahbod
7063817071 [subset/cff1] Speed up writing 1byte charstrings
As in the holes of retaingids.
2023-06-04 15:03:16 -06:00
Behdad Esfahbod
21ff023a46 [subset/cff1] Speed up encoding for retaingids 2023-06-04 14:08:24 -06:00
Behdad Esfahbod
b152223998 [cff] Minor type change 2023-06-04 13:58:10 -06:00
Behdad Esfahbod
640774b9f1 [subset/cff] Speed up subsr subset for retaingids 2023-06-04 13:26:14 -06:00
Behdad Esfahbod
6b11a3d971 [subset/cff] Speed up closure_subroutines for retaingids 2023-06-04 13:18:43 -06:00
Behdad Esfahbod
31014832a9 [cff1] More hygiene 2023-06-04 12:58:02 -06:00
Behdad Esfahbod
bf0a08c930 [cff1] Hygiene 2023-06-04 12:54:35 -06:00
Behdad Esfahbod
ebc5257e29 [cff1] Add a couple of unlikely's 2023-06-04 11:25:16 -06:00
Behdad Esfahbod
9cdc0b6419 [subset/cff] Speed up subset_cff_fdselect 2023-06-04 11:18:56 -06:00
Behdad Esfahbod
858a022358 Revert "[cff] Optimize writing out Index offsets"
This reverts commit 78ba23c587.

Not enough gain, and bloats code size.
2023-06-04 10:55:41 -06:00
Behdad Esfahbod
78ba23c587 [cff] Optimize writing out Index offsets 2023-06-04 10:52:19 -06:00
Behdad Esfahbod
89ce804833 [serialize] Remove attribute malloc
This broke tests. It wasn't technically correct.
2023-06-04 10:20:39 -06:00
Behdad Esfahbod
3f2a1b644a Fix build 2023-06-04 10:13:53 -06:00
Behdad Esfahbod
e1715056fc [serialize] One more attribute 2023-06-04 10:09:02 -06:00