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
Garret Rieger
37d61afd5e
[subset] add destructor to subset plan.
...
This ensures that it's members get destructed before the plan itself is destructed, as hb_object_destroy calls the destructor for plan.
2022-08-18 16:09:36 -06:00
Qunxin Liu
0f80076937
[subset] Do not repeat COLR table closure
2022-07-20 19:17:34 -06:00
Behdad Esfahbod
e1b5f2f806
[object] Call destructor in hb_object_destroy()
2022-07-20 15:07:55 -06:00
Qunxin Liu
712bfa8872
build fix for HB_NO_VAR
2022-07-19 15:16:37 -06:00
Qunxin Liu
be8e8e8c80
[instance] prune name tables after axes pinned at fixed locations
...
Restricting axes to ranges is not supported yet.
2022-07-18 14:59:07 -06:00
Qunxin Liu
df55f840cb
[instance] instantiate STAT table when axes are pinned at fixed locations
...
restricting ranges is not supported yet.
2022-07-18 14:59:07 -06:00
Qunxin Liu
2a4773e43d
add option "--instance", store axes_location in subset_plan and drop all
...
variation tables when all axes are pinned at default
2022-07-18 14:59:07 -06:00
Behdad Esfahbod
09de94788b
[>64k:glyf] Hid composite glyphIndex
2022-07-12 13:42:52 -06:00
Behdad Esfahbod
04c5cd4085
[subset/layout] Move find_duplicate_features to subset from layout
2022-07-12 13:42:52 -06:00
Garret Rieger
29f149c16c
[subset] cache sanitized tables in subset plan to avoid sanitizing tables multiple times.
2022-07-08 13:42:38 -06:00
Behdad Esfahbod
386e1bbad8
Merge pull request #3699 from googlefonts/filter_scripts
...
[subset] Add support for --layout-scripts
2022-07-05 12:46:05 -06:00
Garret Rieger
30309ec8d3
[subset] add null element in _filter_tag_list.
2022-07-05 18:33:19 +00:00
Garret Rieger
216cf5946b
[subset] Allocate space for null entry in script/feature list.
2022-07-05 17:49:12 +00:00
Garret Rieger
dbfd2bf327
minor.
2022-06-30 23:04:35 +00:00
Garret Rieger
5fdae68481
[reorg] Move GSUB.hh up one level and change GSUB namespace to GSUB_impl.
2022-06-30 15:33:20 -06:00
Garret Rieger
70e32a662f
[subset] Add layout_scripts to subset input.
2022-06-30 21:00:48 +00:00
Garret Rieger
41d2c335bc
[subset] Apply script list filter when doing layout collection.
2022-06-30 20:24:42 +00:00
Garret Rieger
e5c8a2f4e1
[subset] Pass plan through to collect methods.
...
Allows to more easily access the filtering sets as they are added and enables propagating errors to the plan.
2022-06-30 20:14:29 +00:00
Garret Rieger
1bf051ef3b
[subset] refactor feature tag filtering so it can be used for scripts as well.
2022-06-30 20:03:33 +00:00
Khaled Hosny
98e90cc67c
[docs] Reduce warnings
...
Use markdown syntax for inline code blocks instead of %true, %false, and
%NULL.
2022-06-30 08:44:40 +02:00
Garret Rieger
3fbf2dece7
[reorg] Move OT::Layout::GPOS_impl::GPOS to OT::Layout::GPOS.
2022-06-28 18:47:50 -06:00
Garret Rieger
88ef3c5a9a
[reorg] Change OT::Layout::GPOS to OT::Layout::GPOS_impl.
2022-06-28 18:47:50 -06:00
Garret Rieger
74f45f7c2a
[reorg] Move remaining GPOS lookup types to new directory.
2022-06-28 18:47:50 -06:00