Behdad Esfahbod
c51d33685d
[subset-plan] Simplify no_subset_tables allocation
2023-01-11 11:22:22 -07:00
Behdad Esfahbod
999be72135
[subset-plan] Simplify drop_tables allocation
2023-01-11 11:21:17 -07:00
Behdad Esfahbod
b33eb9ecfc
[subset-plan] Simplify layout_variation_idx_delta_map allocation
2023-01-11 11:20:04 -07:00
Behdad Esfahbod
9c45d98f73
[subset-plan] Simplify colr_palettes allocation
2023-01-11 11:16:18 -07:00
Behdad Esfahbod
b74a265196
[subset-plan] Simplify colrv1_layers allocation
2023-01-11 11:15:15 -07:00
Behdad Esfahbod
89905368ca
[subset-plan] Simplify sanitized_table_cache allocation
2023-01-11 11:13:49 -07:00
Behdad Esfahbod
9e24873c1e
[subset-plan] Simplify gsub/gpos_feature_substitutes_map allocation
2023-01-11 11:12:07 -07:00
Behdad Esfahbod
01208c7c02
[subset-plan] Simplify gsub/gpos_feature_record_cond_idx_map allocation
2023-01-11 11:10:28 -07:00
Behdad Esfahbod
06039db080
[subset-plan] Simplify gsub_langsys and gpos_langsys allocation
2023-01-11 11:07:31 -07:00
Behdad Esfahbod
5fc91de2c0
[shape-plan] Simplify _glyphset_colred allocation
2023-01-11 11:04:17 -07:00
Behdad Esfahbod
efafe7aa3b
[subset-plan] Simplify _glyphset_mathed allocation
2023-01-11 11:03:19 -07:00
Behdad Esfahbod
113a1700df
[subset-plan] Simplify _glyphset_gsub allocation
2023-01-11 11:01:11 -07:00
Behdad Esfahbod
4a9268f280
[subset-plan] Simplify _glyphset allocation
2023-01-11 11:00:02 -07:00
Behdad Esfahbod
1a00ab69ec
[subset-plan] Simplify gsub_lookups and gpos_lookups allocation
2023-01-11 10:56:16 -07:00
Behdad Esfahbod
1a716bad03
[subset-plan] Simplify gsub_features and gpos_features allocation
2023-01-11 10:51:48 -07:00
Behdad Esfahbod
78aa9f1e9c
[subset-plan] Simplify name_ids allocation
2023-01-11 10:47:40 -07:00
Behdad Esfahbod
cfb48f91da
[subset-plan] Simplify name_languages allocation
2023-01-11 10:45:26 -07:00
Behdad Esfahbod
e4ca0fe436
[subset-plan] Simplify layout_features allocation
2023-01-11 10:43:01 -07:00
Behdad Esfahbod
4de66eec57
[subset-plan] Simplify layout_scripts allocation
2023-01-11 10:40:54 -07:00
Behdad Esfahbod
a59116cd8f
Oops
2023-01-06 11:09:09 -07:00
Behdad Esfahbod
c632a164b9
[subset/cff] Support instancing
2023-01-06 11:01:25 -07:00
Behdad Esfahbod
c350458539
[subset-plan] Relax const return type of a few functions
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/4003
2023-01-04 13:25:03 -07:00
Matthias Clasen
4adc748b13
Move Color tables to src/OT/Color/
2023-01-01 14:57:53 -07:00
Behdad Esfahbod
aa7f5e3742
[subset] Conditionalize call to hb_font_set_variations
2022-12-04 15:33:18 -07:00
Behdad Esfahbod
2cdaedaf54
Use hb_enumerate in more places
2022-12-03 10:16:35 -07:00
Qunxin Liu
8eadb83640
[subset] Update hb_subset_input_override_name_table API
...
Override the name string for the NameRecord identified by name_id,
platform_id, encoding_id and language_ids specified by the user.
If a record with specified name_id does not exist, this API will create
a new NameRecord with provided info and insert it to the name table.
2022-12-02 18:05:53 -07:00
Behdad Esfahbod
ff419789ef
[subset-plan] Sort unicode_to_new_gid_list when needed
2022-12-02 16:43:33 -07:00
Behdad Esfahbod
1a40da4ad1
[subset-plan] Use add_array instead of add_sorted_array
...
That vector is not declared as sorted.
2022-12-02 16:13:37 -07:00
Behdad Esfahbod
32e049a315
[subset-plan] Use gid-to-unicodes multimap
...
One test fails. Need investigation.
2022-12-02 16:09:10 -07:00
Behdad Esfahbod
7d6893a803
[subset-accelerator] Cache gid-to-unicodes
2022-12-02 15:50:52 -07:00
Garret Rieger
2c0afde737
[subset] add an inprogress accelerator to plan.
...
This allows subset code to cache information into the accelerator during preprocess subset. Previously the accelerator was created at the end of subsetting.
2022-11-23 13:41:52 -07:00
Garret Rieger
463ae07e99
[subset] In the preprocess subset call always use long loca.
...
Long loca is needed so that we can store the trimmed glyph bytes to allow us to safely skip trimming in the later subset.
2022-11-23 12:52:55 -07:00
Behdad Esfahbod
e0b06bd1b1
[subset] Cache has_seac in accelerator
...
Speeds up SourceHanSans-Regular/10000 benchmark by %25.
2022-11-21 16:30:34 -07:00
Behdad Esfahbod
f6076890c5
Hide all mentions of name_table_overrides behind EXPERIMENTAL_API
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3872
2022-11-14 16:06:39 -07:00
Behdad Esfahbod
ebc382a847
Revert "Avoid use values () in hb-hashmap if value_t has an overriden operator &"
...
This reverts commit b92e4cc009
.
2022-11-14 15:59:46 -07:00
Qunxin Liu
b92e4cc009
Avoid use values () in hb-hashmap if value_t has an overriden operator &
2022-11-14 13:19:55 -07:00
Behdad Esfahbod
630f09c8b6
Another hb_memcpy instead of strncpy use
2022-11-09 11:32:30 -07:00
Qunxin Liu
6314aa7da4
[subset] add an experimental API that can override name strings for specified name_id
2022-11-08 14:10:25 -07:00
Garret Rieger
515863e57c
[subset] Remove add accelerator flag, replace with new api method.
...
Adds hb_subset_preprocess() which preprocesses the face and attaches accelerator data.
2022-10-13 23:42:00 +00:00
Garret Rieger
01481db582
[subset] use accelerator unicode to gid map if available.
2022-10-13 21:12:22 +00:00
Qunxin Liu
f4813e3b7f
[instance] update collect_lookups/prune_features()/closure_features() with variations
...
Some features will be substituted with variations, so we do not collect
lookups from the original feature tables.
2022-09-29 12:14:43 -06:00
Qunxin Liu
64e2f2fc58
[instance] store active featurevariation record/condition idxes in the plan
2022-09-29 12:14:43 -06:00
Qunxin Liu
0a6c16a313
[instance] instantiate fvar table
...
Added an old->new axes_indices mapping in the subset plan
2022-09-29 12:14:43 -06:00
Khaled Hosny
d827a5ee40
[subset] Skip glyph closure for any dropped table
...
If COLR or MATH tables are being dropped, there is no point in closing
glyphs over them, just like it is done for GSUB.
2022-09-19 13:49:42 -06:00
Qunxin Liu
2b766e8ade
[subset] No need to collect_features twice
2022-09-06 13:41:51 -06:00
Qunxin Liu
a3e6dbbb43
[subset] skip the script if it's not included in the final subset
2022-09-06 11:29:34 -06:00
Qunxin Liu
7d7b492344
[instance] move _normalize_axes_location to the beginning of
...
subset_plan_create
pinned_at_default flag decides whether delta will be collected as well
when collecting layout variation indices
2022-09-01 09:44:28 -07:00
Qunxin Liu
b72995ff16
[instance] GDEF table: collect both varidxes and deltas
2022-09-01 09:33:02 -07:00
Qunxin Liu
e03043bd0b
[subset] don't let VariationStore subset() produce inner_maps
...
Make it a subset-planning object so VariationStore can subset to
specified inner_maps.
Also add a layout_variation_idx_delta_map in subset_plan
2022-09-01 09:32:41 -07:00
Qunxin Liu
ac0e22fa8e
[instance] update glyf/hmtx/vmtx tables
2022-08-22 09:29:37 -07:00