src/hb-subset-plan.cc


Log

Author Commit Date CI Message
Garret Rieger ea1ee0d4 2023-01-14T00:23:53 [instance] drop and don't collect lookups from feature variations when fully instancing. This previously incorrectly collected lookups that could be reached via feature variations that are dropped and not activated by the current instance position.
Behdad Esfahbod c5281052 2023-01-12T12:53:46 [subset-plan] Move construction to constructor
Behdad Esfahbod 1426f1c8 2023-01-11T13:23:34 [subset-plan] Simplify name_table_overrides allocation
Behdad Esfahbod 5cab4a55 2023-01-11T13:21:57 [subset-input] Simplify axes_location allocation
Behdad Esfahbod 4e7c8039 2023-01-11T12:38:26 [subset-plan] Simplify name_table_overrides allocation
Behdad Esfahbod 65d3db37 2023-01-11T12:36:54 [subset-plan] Simplify user_axes_location allocation
Behdad Esfahbod 60418fcb 2023-01-11T12:33:25 [subset-plan] Simplify axes_index_map allocation
Behdad Esfahbod 8265277c 2023-01-11T12:32:04 [subset-plan] Simplify axes_location allocation
Behdad Esfahbod d54902c6 2023-01-11T12:29:25 [subset-plan] Simplify axes_old_index_tag_map allocation
Behdad Esfahbod a34a204b 2023-01-11T12:27:19 [subset-plan] Simplify unicodes allocation
Behdad Esfahbod 75b33cb0 2023-01-11T12:24:35 [subset-plan] Simplify hmtx_map / vmtx_map allocation
Behdad Esfahbod 33ce3a0d 2023-01-11T12:21:26 [subset] Minor adjust a couple types
Behdad Esfahbod b2007abf 2023-01-11T11:27:22 [subset-plan] Simplify glyph_map_gsub allocation
Behdad Esfahbod bd4b040e 2023-01-11T11:23:48 [shape-plan] Simplify glyphs_requested allocation
Behdad Esfahbod c51d3368 2023-01-11T11:22:22 [subset-plan] Simplify no_subset_tables allocation
Behdad Esfahbod 999be721 2023-01-11T11:21:17 [subset-plan] Simplify drop_tables allocation
Behdad Esfahbod b33eb9ec 2023-01-11T11:20:04 [subset-plan] Simplify layout_variation_idx_delta_map allocation
Behdad Esfahbod 9c45d98f 2023-01-11T11:16:18 [subset-plan] Simplify colr_palettes allocation
Behdad Esfahbod b74a2651 2023-01-11T11:15:15 [subset-plan] Simplify colrv1_layers allocation
Behdad Esfahbod 89905368 2023-01-11T11:13:49 [subset-plan] Simplify sanitized_table_cache allocation
Behdad Esfahbod 9e24873c 2023-01-11T11:12:07 [subset-plan] Simplify gsub/gpos_feature_substitutes_map allocation
Behdad Esfahbod 01208c7c 2023-01-11T11:10:28 [subset-plan] Simplify gsub/gpos_feature_record_cond_idx_map allocation
Behdad Esfahbod 06039db0 2023-01-11T11:07:31 [subset-plan] Simplify gsub_langsys and gpos_langsys allocation
Behdad Esfahbod 5fc91de2 2023-01-11T11:04:17 [shape-plan] Simplify _glyphset_colred allocation
Behdad Esfahbod efafe7aa 2023-01-11T11:03:19 [subset-plan] Simplify _glyphset_mathed allocation
Behdad Esfahbod 113a1700 2023-01-11T11:01:11 [subset-plan] Simplify _glyphset_gsub allocation
Behdad Esfahbod 4a9268f2 2023-01-11T11:00:02 [subset-plan] Simplify _glyphset allocation
Behdad Esfahbod 1a00ab69 2023-01-11T10:56:16 [subset-plan] Simplify gsub_lookups and gpos_lookups allocation
Behdad Esfahbod 1a716bad 2023-01-11T10:51:48 [subset-plan] Simplify gsub_features and gpos_features allocation
Behdad Esfahbod 78aa9f1e 2023-01-11T10:47:40 [subset-plan] Simplify name_ids allocation
Behdad Esfahbod cfb48f91 2023-01-11T10:45:02 [subset-plan] Simplify name_languages allocation
Behdad Esfahbod e4ca0fe4 2023-01-11T10:43:01 [subset-plan] Simplify layout_features allocation
Behdad Esfahbod 4de66eec 2023-01-11T10:40:54 [subset-plan] Simplify layout_scripts allocation
Behdad Esfahbod a59116cd 2023-01-06T11:09:09 Oops
Behdad Esfahbod c632a164 2023-01-06T11:01:25 [subset/cff] Support instancing
Behdad Esfahbod c3504585 2023-01-04T13:25:03 [subset-plan] Relax const return type of a few functions Fixes https://github.com/harfbuzz/harfbuzz/issues/4003
Matthias Clasen 4adc748b 2023-01-01T09:46:11 Move Color tables to src/OT/Color/
Behdad Esfahbod aa7f5e37 2022-12-04T15:31:47 [subset] Conditionalize call to hb_font_set_variations
Behdad Esfahbod 2cdaedaf 2022-12-03T10:16:35 Use hb_enumerate in more places
Qunxin Liu 8eadb836 2022-11-10T10:33:26 [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.
Behdad Esfahbod ff419789 2022-12-02T16:25:26 [subset-plan] Sort unicode_to_new_gid_list when needed
Behdad Esfahbod 1a40da4a 2022-12-02T16:13:37 [subset-plan] Use add_array instead of add_sorted_array That vector is not declared as sorted.
Behdad Esfahbod 32e049a3 2022-12-02T16:09:10 [subset-plan] Use gid-to-unicodes multimap One test fails. Need investigation.
Behdad Esfahbod 7d6893a8 2022-12-02T15:50:52 [subset-accelerator] Cache gid-to-unicodes
Garret Rieger 2c0afde7 2022-11-23T20:24:40 [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.
Garret Rieger 463ae07e 2022-11-23T18:41:23 [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.
Behdad Esfahbod e0b06bd1 2022-11-21T16:09:39 [subset] Cache has_seac in accelerator Speeds up SourceHanSans-Regular/10000 benchmark by %25.
Behdad Esfahbod f6076890 2022-11-14T16:06:39 Hide all mentions of name_table_overrides behind EXPERIMENTAL_API Fixes https://github.com/harfbuzz/harfbuzz/issues/3872
Behdad Esfahbod ebc382a8 2022-11-14T15:59:46 Revert "Avoid use values () in hb-hashmap if value_t has an overriden operator &" This reverts commit b92e4cc0091e093f6941019e1a53cc04a137017a.
Qunxin Liu b92e4cc0 2022-11-14T08:54:24 Avoid use values () in hb-hashmap if value_t has an overriden operator &
Behdad Esfahbod 630f09c8 2022-11-09T11:32:30 Another hb_memcpy instead of strncpy use
Qunxin Liu 6314aa7d 2022-10-28T10:44:48 [subset] add an experimental API that can override name strings for specified name_id
Garret Rieger 515863e5 2022-10-13T23:42:00 [subset] Remove add accelerator flag, replace with new api method. Adds hb_subset_preprocess() which preprocesses the face and attaches accelerator data.
Garret Rieger 01481db5 2022-10-13T21:12:22 [subset] use accelerator unicode to gid map if available.
Qunxin Liu f4813e3b 2022-09-09T10:34:09 [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.
Qunxin Liu 64e2f2fc 2022-09-09T09:36:19 [instance] store active featurevariation record/condition idxes in the plan
Qunxin Liu 0a6c16a3 2022-08-08T13:47:39 [instance] instantiate fvar table Added an old->new axes_indices mapping in the subset plan
Khaled Hosny d827a5ee 2022-09-19T10:40:49 [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.
Qunxin Liu 2b766e8a 2022-09-02T11:34:31 [subset] No need to collect_features twice
Qunxin Liu a3e6dbbb 2022-09-02T13:53:10 [subset] skip the script if it's not included in the final subset
Qunxin Liu 7d7b4923 2022-08-24T11:49:50 [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
Qunxin Liu b72995ff 2022-08-01T14:48:01 [instance] GDEF table: collect both varidxes and deltas
Qunxin Liu e03043bd 2022-08-01T11:37:47 [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
Qunxin Liu ac0e22fa 2022-07-22T09:37:09 [instance] update glyf/hmtx/vmtx tables
Garret Rieger 37d61afd 2022-08-18T21:05:48 [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.
Qunxin Liu 0f800769 2022-07-20T14:59:02 [subset] Do not repeat COLR table closure
Behdad Esfahbod e1b5f2f8 2022-07-20T15:03:20 [object] Call destructor in hb_object_destroy()
Qunxin Liu 712bfa88 2022-07-19T13:57:14 build fix for HB_NO_VAR
Qunxin Liu be8e8e8c 2022-06-30T14:24:36 [instance] prune name tables after axes pinned at fixed locations Restricting axes to ranges is not supported yet.
Qunxin Liu df55f840 2022-06-30T09:36:19 [instance] instantiate STAT table when axes are pinned at fixed locations restricting ranges is not supported yet.
Qunxin Liu 2a4773e4 2022-06-21T19:29:52 add option "--instance", store axes_location in subset_plan and drop all variation tables when all axes are pinned at default
Behdad Esfahbod 09de9478 2022-07-11T15:08:22 [>64k:glyf] Hid composite glyphIndex
Behdad Esfahbod 04c5cd40 2022-07-11T11:39:41 [subset/layout] Move find_duplicate_features to subset from layout
Garret Rieger 29f149c1 2022-07-07T20:16:16 [subset] cache sanitized tables in subset plan to avoid sanitizing tables multiple times.
Behdad Esfahbod 386e1bba 2022-07-05T12:46:05 Merge pull request #3699 from googlefonts/filter_scripts [subset] Add support for --layout-scripts
Garret Rieger 30309ec8 2022-07-05T18:33:19 [subset] add null element in _filter_tag_list.
Garret Rieger 216cf594 2022-07-05T17:49:12 [subset] Allocate space for null entry in script/feature list.
Garret Rieger dbfd2bf3 2022-06-30T23:04:35 minor.
Garret Rieger 5fdae684 2022-06-29T23:52:08 [reorg] Move GSUB.hh up one level and change GSUB namespace to GSUB_impl.
Garret Rieger 70e32a66 2022-06-30T21:00:48 [subset] Add layout_scripts to subset input.
Garret Rieger 41d2c335 2022-06-30T20:24:42 [subset] Apply script list filter when doing layout collection.
Garret Rieger e5c8a2f4 2022-06-30T20:14:29 [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.
Garret Rieger 1bf051ef 2022-06-30T20:03:33 [subset] refactor feature tag filtering so it can be used for scripts as well.
Khaled Hosny 98e90cc6 2022-06-30T08:43:57 [docs] Reduce warnings Use markdown syntax for inline code blocks instead of %true, %false, and %NULL.
Garret Rieger 3fbf2dec 2022-06-28T23:55:32 [reorg] Move OT::Layout::GPOS_impl::GPOS to OT::Layout::GPOS.
Garret Rieger 88ef3c5a 2022-06-28T23:26:49 [reorg] Change OT::Layout::GPOS to OT::Layout::GPOS_impl.
Garret Rieger 74f45f7c 2022-06-24T23:14:30 [reorg] Move remaining GPOS lookup types to new directory.
Behdad Esfahbod db039d97 2022-06-25T19:06:27 [glyf/Composite] Make glyphIndex public
Behdad Esfahbod b4a0c30d 2022-06-25T17:01:11 [glyf] Remove hardcoded HB_MAX_COMPOSITE_OPERATIONS
Behdad Esfahbod 36373ee1 2022-06-25T16:54:46 [glyf] Move add_gid_and_children to subset-plan where it belongs
Behdad Esfahbod 100576b7 2022-06-25T14:38:43 [glyf] Start splitting file
Behdad Esfahbod f13a7954 2022-06-03T01:17:20 [subset] Convert another use of hashmap to unique_ptr
Garret Rieger adae2f22 2022-05-18T21:42:28 [subset-perf] Cache a glyph map for gsub. This allows us in some cases to avoid using glyph_set_gsub as a filter.
Behdad Esfahbod ce604621 2022-05-18T12:34:27 [subset-plan] Pre-size maps in _create_old_gid_to_new_gid_map()
Behdad Esfahbod 8bfeea48 2022-05-05T10:48:24 [subset] Compute set max using previous()
Behdad Esfahbod 00cb8c62 2022-05-05T10:33:50 [subset] Don't go into glyf table if it's empty
Behdad Esfahbod 4fe69bc4 2022-05-05T10:19:16 [subset] Use del_range in _remove_invalid_gids
Behdad Esfahbod 2a42edcc 2022-05-04T17:06:18 [subset] Cosmetic; use set bulk array population instead of for loop
Behdad Esfahbod 43938ecd 2022-05-04T16:59:28 [subset] Remove outdated comment I tried something like that. It was slower because of the allocations.
Behdad Esfahbod 50db78ba 2022-05-04T15:48:18 [subset] In cmap planning, remove a qsort()