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 |
Garret Rieger
|
85ec5cbcef
|
[subset] In _populate_unicodes_to_retain populate unicodes in order.
Allows the set insert to take advantage of page lookup cache.
|
2022-05-02 22:29:43 +00:00 |
Garret Rieger
|
088133d939
|
[subset] cache cp to new gid list in subset plan.
This avoids having to recompute the ordered list multiple times during cmap generation.
|
2022-05-02 21:29:16 +00:00 |
Garret Rieger
|
b342adeb96
|
[reorg] Move GSUB into OT::Layout::GSUB namespace.
|
2022-03-23 18:05:24 -06:00 |
Khaled Hosny
|
8d1b000a3e
|
4.0.0
|
2022-03-01 21:27:32 +02:00 |