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 |
Behdad Esfahbod
|
db039d97ff
|
[glyf/Composite] Make glyphIndex public
|
2022-06-26 13:08:37 -06:00 |
Behdad Esfahbod
|
b4a0c30d98
|
[glyf] Remove hardcoded HB_MAX_COMPOSITE_OPERATIONS
|
2022-06-25 17:01:11 -06:00 |
Behdad Esfahbod
|
36373ee15c
|
[glyf] Move add_gid_and_children to subset-plan where it belongs
|
2022-06-25 16:55:26 -06:00 |
Behdad Esfahbod
|
100576b7b7
|
[glyf] Start splitting file
|
2022-06-25 14:38:43 -06:00 |
Behdad Esfahbod
|
f13a79548f
|
[subset] Convert another use of hashmap to unique_ptr
|
2022-06-03 01:17:20 -06:00 |
Garret Rieger
|
adae2f2272
|
[subset-perf] Cache a glyph map for gsub.
This allows us in some cases to avoid using glyph_set_gsub as a filter.
|
2022-05-18 18:25:36 -06:00 |
Behdad Esfahbod
|
ce60462173
|
[subset-plan] Pre-size maps in _create_old_gid_to_new_gid_map()
|
2022-05-18 12:34:27 -06:00 |
Behdad Esfahbod
|
8bfeea4828
|
[subset] Compute set max using previous()
|
2022-05-05 11:13:57 -06:00 |
Behdad Esfahbod
|
00cb8c629d
|
[subset] Don't go into glyf table if it's empty
|
2022-05-05 11:13:57 -06:00 |
Behdad Esfahbod
|
4fe69bc413
|
[subset] Use del_range in _remove_invalid_gids
|
2022-05-05 11:13:57 -06:00 |
Behdad Esfahbod
|
2a42edccbe
|
[subset] Cosmetic; use set bulk array population instead of for loop
|
2022-05-05 10:35:54 -06:00 |
Behdad Esfahbod
|
43938ecdc2
|
[subset] Remove outdated comment
I tried something like that. It was slower because of the allocations.
|
2022-05-04 16:59:28 -06:00 |
Behdad Esfahbod
|
50db78ba83
|
[subset] In cmap planning, remove a qsort()
|
2022-05-04 16:18:27 -06:00 |
Garret Rieger
|
7cb36e4222
|
[subset] Re-introduce size threshold in choosing unicode collection method.
Threshold is needed since the unicodes set might be an inverted set.
|
2022-05-04 21:22:26 +00:00 |
Garret Rieger
|
42c54eba83
|
[subset] Presize unicode to gid list to unicodes + glyphs size.
|
2022-05-04 20:21:43 +00:00 |
Garret Rieger
|
7c7c01d28c
|
[subset] Remove switch to alternate unicode collection at large subset sizes.
Benchmarks show that the first path is always faster even at large subset sizes:
BM_subset_codepoints/subset_roboto/10_median +0.0324 +0.0325 0 0 0 0
BM_subset_codepoints/subset_roboto/64_median +0.0253 +0.0255 0 1 0 1
BM_subset_codepoints/subset_roboto/512_median +0.0126 +0.0128 1 1 1 1
BM_subset_codepoints/subset_roboto/4000_median +0.0500 +0.0491 6 7 6 7
BM_subset_codepoints/subset_amiri/10_median +0.0338 +0.0332 1 1 1 1
BM_subset_codepoints/subset_amiri/64_median +0.0238 +0.0234 1 1 1 1
BM_subset_codepoints/subset_amiri/512_median +0.0066 +0.0063 8 8 8 8
BM_subset_codepoints/subset_amiri/4000_median -0.0011 -0.0012 13 13 13 13
BM_subset_codepoints/subset_noto_nastaliq_urdu/10_median +0.0226 +0.0226 0 0 0 0
BM_subset_codepoints/subset_noto_nastaliq_urdu/64_median +0.0047 +0.0044 20 20 20 20
BM_subset_codepoints/subset_noto_nastaliq_urdu/512_median +0.0022 +0.0021 165 166 165 166
BM_subset_codepoints/subset_noto_nastaliq_urdu/1000_median -0.0021 -0.0023 166 166 166 165
BM_subset_codepoints/subset_noto_devangari/10_median +0.0054 +0.0054 0 0 0 0
BM_subset_codepoints/subset_noto_devangari/64_median +0.0024 +0.0019 0 0 0 0
BM_subset_codepoints/subset_noto_devangari/512_median +0.0089 +0.0090 5 5 5 5
BM_subset_codepoints/subset_noto_devangari/1000_median -0.0028 -0.0019 5 5 5 5
BM_subset_codepoints/subset_mplus1p/10_median +0.0001 +0.0002 0 0 0 0
BM_subset_codepoints/subset_mplus1p/64_median +0.0073 +0.0075 1 1 1 1
BM_subset_codepoints/subset_mplus1p/512_median +0.0034 +0.0034 1 1 1 1
BM_subset_codepoints/subset_mplus1p/4096_median -0.1248 -0.1248 7 6 7 6
BM_subset_codepoints/subset_mplus1p/10000_median -0.0885 -0.0885 13 12 13 12
BM_subset_codepoints/subset_notocjk/10_median +0.0031 +0.0032 2 2 2 2
BM_subset_codepoints/subset_notocjk/64_median -0.0010 -0.0010 2 2 2 2
BM_subset_codepoints/subset_notocjk/512_median -0.0023 -0.0023 9 9 9 9
BM_subset_codepoints/subset_notocjk/4096_median -0.1725 -0.1726 28 23 28 23
BM_subset_codepoints/subset_notocjk/32768_median -0.0277 -0.0287 140 137 140 136
BM_subset_codepoints/subset_notocjk/100000_median -0.0929 -0.0926 162 147 162 147
|
2022-05-03 22:45:39 +00:00 |
Garret Rieger
|
f0c04114bc
|
[subset] Embed unicode to gid list vector in subset plan.
|
2022-05-03 22:02:59 +00:00 |