Commit graph

16542 commits

Author SHA1 Message Date
Behdad Esfahbod
b80b628a8a [subset/cff1] Speed up plan_subset_charset 2023-06-23 13:41:42 -06:00
Behdad Esfahbod
1902f6ccbb [map] Inline an accessor function 2023-06-23 13:21:21 -06:00
Behdad Esfahbod
43d2ced841 [map] Minor remove a conditional 2023-06-23 13:16:51 -06:00
Behdad Esfahbod
817236dcb8 [map] Speed up is_real 2023-06-23 13:12:40 -06:00
Behdad Esfahbod
628ffd052e
Merge pull request #4287 from googlefonts/tuple_varstore_compile
[instancer] compile tuple variations
2023-06-23 14:43:09 -04:00
Behdad Esfahbod
33507a9c27 [subset/cff] Micro-optimize hb_plan_subset_cff_fdselect 2023-06-23 12:40:35 -06:00
Behdad Esfahbod
ecb46f7013 [subset/cff1] Comment 2023-06-23 12:18:33 -06:00
Behdad Esfahbod
4332cb3376 [subset] Fix bot failure 2023-06-23 12:03:42 -06:00
Behdad Esfahbod
c4b2950deb [subset/cff1] Use cached subset-accel for seac calculations
Before we were creating a new (non-subset) accel each time.
2023-06-23 11:55:39 -06:00
Qunxin Liu
b10cff9906 [instancer] address review comments
manage memory through vector when possible
2023-06-23 10:48:22 -07:00
Behdad Esfahbod
5f39913918 [subset/cff] Move lazy cff-accelerator to cff-subset-accelerator
Fixes https://github.com/harfbuzz/harfbuzz/issues/4295
2023-06-23 11:22:01 -06:00
Behdad Esfahbod
3a827123a1 [benchmark-subset] Free cached face upon exist
For better valgrind output.
2023-06-23 11:16:57 -06:00
Behdad Esfahbod
97d63e8d1d [subset/cff] Move serialize to accelerator 2023-06-23 10:43:34 -06:00
Behdad Esfahbod
7344411cc2 [subset] Sprinkle some HB_NO_SUBSET_CFF 2023-06-23 10:27:44 -06:00
Behdad Esfahbod
26f320dcd3 [subset/cff] Remove unused method 2023-06-23 10:24:32 -06:00
Behdad Esfahbod
43ec78f92c [subset/cff] Cache CFF accelerator in hb_subset_plan_t
This shows 7% speedup in:
BM_subset/subset_glyphs/SourceHanSans-Regular_subset.otf/retaingids/10
2023-06-23 10:22:30 -06:00
Behdad Esfahbod
154aae3af6 [subset] Minor use an auto variable
I need this later. :D
2023-06-22 20:41:16 -06:00
Behdad Esfahbod
64e49e0f71 [subset-cff2] Store num_glyphs in plan
Like cff1 code does.

Also, check for .notdef, like cff1 code does.
2023-06-22 20:27:20 -06:00
Behdad Esfahbod
f05561dd4e [subset-cff1] Use plan.num_glyphs instead of passing again 2023-06-22 20:25:04 -06:00
Behdad Esfahbod
7a124a0b4e [cff1] Use constructor for accelerator_templ_t 2023-06-22 20:18:20 -06:00
Behdad Esfahbod
ad025ddf05 [subset-cff] Simplify a bit 2023-06-22 20:09:36 -06:00
Behdad Esfahbod
e1753782c1 [subset-cff] Handle an error condition 2023-06-22 19:45:29 -06:00
Behdad Esfahbod
cb5f4d0c68 [subset-plan] Avoid a copy in freeing name-table-overrides 2023-06-22 18:56:17 -06:00
David Corbett
d8fba5c6b0 [use] Add FM categories to POST_BASE_FLAGS64 2023-06-22 20:56:08 -04:00
Behdad Esfahbod
6a17622a75 [array] Speed up iteration
These are faster than relying on the random-access methods
(forward, rewind, item_it).
2023-06-22 18:35:10 -06:00
Behdad Esfahbod
f839bd11d2 [multimap] Use one fewer object
Also fix error-checking to check for sub-object errors.
2023-06-22 17:29:57 -06:00
Behdad Esfahbod
280edb909b [map] Use a variable instead of function for is_trivial 2023-06-22 17:07:31 -06:00
Behdad Esfahbod
0aa939e70f [map] Add a constexpr 2023-06-22 17:05:55 -06:00
Behdad Esfahbod
cf386e8ce2 [map] Speed up resize() 2023-06-22 17:02:10 -06:00
Behdad Esfahbod
abd6c305ff [subset-plan] Micro-optimize 2023-06-22 16:44:29 -06:00
Behdad Esfahbod
7b53d2dbdd [subset] Avoid copying gid_to_unicode multimap
Construct it in the accelerator directly.
2023-06-22 16:35:11 -06:00
Behdad Esfahbod
272e159c89 [subset] Speed up populating reverse cmap 2023-06-22 16:31:50 -06:00
Behdad Esfahbod
8f80d9d38d [subset-accelerator] Avoid a multimap copy 2023-06-22 16:22:47 -06:00
Qunxin Liu
f55619b836 [instancer] add subset () for cvar 2023-06-22 10:09:13 -07:00
Qunxin Liu
e39e02017e [instancer] add serialize() method for TupleVariationData 2023-06-22 10:09:13 -07:00
Qunxin Liu
5ef0199da3 [instancer] instantiate() and compile_bytes () for tuple_variations_t
Also add testing code
2023-06-22 10:09:13 -07:00
Qunxin Liu
48c70ce5f6 [instancer] add compile_tuple_var_header() 2023-06-22 10:09:13 -07:00
Qunxin Liu
6354b71f81 [instancer] add compile_deltas() for tuple_delta_t 2023-06-22 10:09:13 -07:00
Qunxin Liu
a00ad83a3b [instancer] add encode_delta_run() 2023-06-22 10:09:13 -07:00
Qunxin Liu
19e5033b9c [instancer] add compile_all_point_sets() and find_shared_points ()
compiled bytes for points set are stored in a hashmap
2023-06-22 10:09:13 -07:00
Qunxin Liu
065e0af592 [instancer] add compile_point_set() for tuple_variations_t
Also add a byte_data_t struct to store compiled bytes
2023-06-22 10:09:12 -07:00
Qunxin Liu
e41b688b50 [instancer] fix bug in tuple varstore decompiling
when points count is 0, it means deltas will apply to all points
2023-06-22 10:09:12 -07:00
Behdad Esfahbod
5c2aa1a8e7 [syllabic] Add buffer messages for inserting dotted-circle 2023-06-22 11:02:22 -06:00
Behdad Esfahbod
f0f6f6a805 [layout] More message massaging 2023-06-22 10:59:00 -06:00
Qunxin Liu
7232c01dce [instancer-solver] add tests for instancer-solver crossing calculation fix 2023-06-22 12:47:56 -04:00
Behdad Esfahbod
37555f8489 [layout] Trace chosen script tag 2023-06-22 10:21:19 -06:00
Behdad Esfahbod
c56275c09c [instancer-solver] Notation 2023-06-21 19:01:46 -06:00
Behdad Esfahbod
dbac23357f [instancer-solver] Simplify, from upstream 2023-06-21 18:54:11 -06:00
Behdad Esfahbod
32a9ac2e3a [instancer/L4] Add a comment from upstream 2023-06-21 18:30:31 -06:00
Behdad Esfahbod
244f3224b9 [instancer-solver] Port optimization from upstream
Fixes https://github.com/harfbuzz/harfbuzz/issues/4291
2023-06-21 17:54:49 -06:00