src/hb-subset-plan.hh


Log

Author Commit Date CI Message
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 00f2657b 2022-11-29T13:49:15 [subset] Accelerate sanitize-table-cache Big wins all across small subsets BM_subset/subset_codepoints/Roboto-Regular.ttf/nohinting/10                              -0.1140         -0.1129             0             0             0             0 BM_subset/subset_codepoints/Amiri-Regular.ttf/nohinting/10                               -0.4717         -0.4714             0             0             0             0 BM_subset/subset_codepoints/NotoNastaliqUrdu-Regular.ttf/nohinting/10                    -0.8147         -0.8146             0             0             0             0 BM_subset/subset_codepoints/NotoSansDevanagari-Regular.ttf/nohinting/10                  -0.3248         -0.3242             0             0             0             0 BM_subset/subset_codepoints/Mplus1p-Regular.ttf/nohinting/10                             -0.1262         -0.1260             0             0             0             0 BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/10                -0.0308         -0.0309             0             0             0             0 BM_subset/subset_codepoints/SourceSansPro-Regular.otf/nohinting/10                       -0.1374         -0.1373             0             0             0             0 BM_subset/subset_codepoints/AdobeVFPrototype.otf/nohinting/10                            -0.4555         -0.4555             0             0             0             0 BM_subset/subset_codepoints/MPLUS1-Variable.ttf/nohinting/10                             -0.4175         -0.4174             0             0             0             0 BM_subset/subset_codepoints/RobotoFlex-Variable.ttf/nohinting/10                         -0.4214         -0.4214             0             0             0
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 a750cb01 2022-11-21T21:03:32 Simplify rvalue creation
Behdad Esfahbod cf20d2ec 2022-11-21T20:46:01 [map] Take const key
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 &
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
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 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
Garret Rieger 29f149c1 2022-07-07T20:16:16 [subset] cache sanitized tables in subset plan to avoid sanitizing tables multiple times.
Garret Rieger 1bf051ef 2022-06-30T20:03:33 [subset] refactor feature tag filtering so it can be used for scripts as well.
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.
Garret Rieger f0c04114 2022-05-03T22:02:59 [subset] Embed unicode to gid list vector in subset plan.
Garret Rieger 088133d9 2022-05-02T21:29:16 [subset] cache cp to new gid list in subset plan. This avoids having to recompute the ordered list multiple times during cmap generation.
Garret Rieger b65e48a7 2022-02-11T12:44:58 [subset] Add subset plan to public API. Add the ability to create a subset plan which an be used to gather info on things like glyph mappings in the final subset. The plan can then be passed on to perform the subsetting operation.
Qunxin Liu 51655a07 2021-12-05T19:27:57 [subset] COLR : only include glyphs after COLR closure
Behdad Esfahbod 394f7729 2021-11-19T11:49:23 [map] Allow storing classes in the hashmap Fixes https://github.com/harfbuzz/harfbuzz/issues/3293 The trick was to change the type of the invalid key/value to be non-class.
Qunxin Liu ca7b9dae 2021-09-20T14:42:51 [subset] subset MATH table
Garret Rieger f9d8e4a9 2021-07-29T15:25:41 [subset] switch ..._set_flags to not take a mask.
Garret Rieger 46d4a5e6 2021-07-29T15:07:13 [subset] Convert subset plan to use a flags bit set.
Qunxin Liu 71b5509c 2021-07-20T20:05:35 [subset] support option --glyph-names
Garret Rieger a6c6cda4 2021-06-09T17:46:47 [subset] Add no subset tables and passthrough unrecognized tables to the subset api. Matches fontTools options.
Garret Rieger edb57a8d 2021-06-09T10:42:48 Make subset input const in the subsetting operation. Don't modify the subset input's sets.
Qunxin Liu eee7b459 2021-06-24T10:17:46 [subset] add option --no-prune-unicode-ranges
Qunxin Liu d07f789a 2021-06-09T15:36:40 [subset] support option "--notdef-outline"
Qunxin Liu cb5a6b5a 2021-05-19T17:33:46 [subset] support option --layout-features
Garret Rieger 73ff04a3 2021-05-18T16:54:01 [subset] add option to have the subsetter set the mac overlaps flag on each glyph.
Qunxin Liu f739e1dc 2021-05-11T11:44:32 [subset] subset both CPAL and COLRv1
Qunxin Liu e59ffe54 2021-04-01T12:01:19 [subset] COLRv1 layer/palette indices closure
Qunxin Liu 56ca4357 2021-01-28T15:21:26 [subset] fix for collect_features and remove_redundant_lamngsys previously remove_redundant_sys () is missing in harfbuzz, after redundant langsys removal, some features are removed as well in prune_features() in fonttools. This change is trying to get the same result between harfbuzz and fonttools.
Behdad Esfahbod 7a60f4e3 2021-02-12T14:14:17 [subset] Remove debug burden Fixes https://github.com/harfbuzz/harfbuzz/issues/2360
Garret Rieger 32f052b0 2020-07-30T13:45:04 [ENOMEM] Fix several instances of not checking resize in CFF.
Ebrahim Byagowi 5a7cc7fd 2020-07-29T08:33:32 minor spacing tweak
Garret Rieger dae32b4f 2020-07-28T18:31:46 [subset] bail out of subsetting if plan allocation fails.
Qunxin Liu 8200e48f 2020-02-26T13:11:42 [subset] GDEF Variation Store: step 1 closure device variation indexes, create old->new variation idx mapping and store them in subset-plan
Qunxin Liu b2a965df 2020-04-22T15:58:41 [subset] Add support for "--gids" option cmap subsetting now retains entries associated with any glyph ids explicitly requested
Qunxin Liu 36a5c042 2020-01-21T13:37:28 [subset] Add "--name-languages" and "--name-legacy" options Make name table subsetting consistent with fontTools
Ebrahim Byagowi e171beeb 2020-01-24T19:51:21 Revert "[subset] Add "--name-languages" and "--name-legacy" options" Causes tests failures, please reapply when tests are fixed, thanks. This reverts commit fd85818b5b85fb0ad2db71c60e94ca0689d38bca.
Qunxin Liu fd85818b 2020-01-21T13:37:28 [subset] Add "--name-languages" and "--name-legacy" options Make name table subsetting consistent with fontTools
Qunxin Liu 8ffc9add 2019-10-31T15:59:02 [subset] layout closure_features and store them in subset-plan
Qunxin Liu 0b39c480 2019-10-22T16:00:43 [subset] closure lookups for GSUB/GPOS
Ebrahim Byagowi a0b4ac4d 2019-08-24T17:57:14 Turn 8 spaces to tab across the project According to the current code style of the project
rsheeter 96de9476 2019-05-24T11:22:41 Merge pull request #1722 from googlefonts/glyf [subset] Use iterators in glyf/loca subsetting
Garret Rieger 0af9de13 2019-05-20T15:04:20 [subset] For gsub subsetting only consider glyphs reachable via gsub closure.
Rod Sheeter d1b12a54 2019-05-20T21:29:54 Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
rsheeter 02d4d4f3 2019-05-08T14:43:18 [subset] Starting to sketch glyf as iter
rsheeter f9b089b6 2019-05-08T14:43:18 [subset] Starting to sketch glyf as iter
Garret Rieger 0ff3618c 2019-05-17T15:30:01 [subset] Use hb_subset_input_t inside of subset_options_t so that input defaults are shared between the library and cli.
Garret Rieger 3be0ffe4 2019-05-16T11:29:15 [subset] Add drop tables to subset input.
Qunxin Liu e501ea14 2019-04-05T10:05:55 [subset] Subset name table step 3, add --nameids option to guide the selection of which name records to keep in the subset method.
Michiharu Ariza 474f3587 2019-04-26T10:12:38 copy retain_gids from input to plan
Qunxin Liu 2f97cd7a 2019-03-26T10:37:24 completely remove lines that are commented out
Qunxin Liu b12a5daa 2019-03-25T19:59:37 try to remove deprecated variable from struct definition
Qunxin Liu 2d903449 2019-03-26T10:37:24 completely remove lines that are commented out
Qunxin Liu 79a6c258 2019-03-25T19:59:37 try to remove deprecated variable from struct definition
Garret Rieger bdbe047d 2019-01-28T16:59:15 [subset] Update hb-subset-plan.cc to match hb-subset-plan.hh.
Garret Rieger 846e05a2 2019-01-28T16:50:20 [subset] Re-add glyphs array to subset plan, with new name 'glyphs_deprecated'. Switch CFF subsetting to use it.
Garret Rieger 03e88eab 2019-01-28T16:15:06 Re-implement HMTX/VMTX subsetting. Update it to support glyph renumbering and simplify the implementation.
Garret Rieger 4af3be6e 2019-01-25T18:03:47 Remove glyph array from subset plan, make num_glyphs and glyphset private.
Garret Rieger 23f36442 2019-01-18T18:33:21 [subset] Fix hdmx subsetting when retain gids is enabled.
Garret Rieger 2da1654a 2019-01-18T17:49:35 [subset] Compute num_glyphs during subset plan construction. Update maxp to use the correct num glyphs.
Ebrahim Byagowi b2ebaa9a 2018-12-16T22:38:10 Remove redundant 'inline' from methods (#1483)
Michiharu Ariza b403be8a 2018-11-16T12:29:18 Merge branch 'master' into cff-subset
Ebrahim Byagowi 11aa0468 2018-11-15T23:10:56 [subset] minor, adjust spaces
Michiharu Ariza e600e544 2018-11-01T16:13:56 Merge branch 'master' into cff-subset
Michiharu Ariza d56e338a 2018-10-31T22:30:34 CFF1 no-desubroutinize + no-hinting no-desubroutinize option is disabled for now code cleanup (esp. CFF1 width handling) bug fixes & renaming
Behdad Esfahbod 35d410f2 2018-10-29T14:45:44 Remove ASSERT_POD Newer compilers / language allows structs with constructor in union. So, this was not actually testing anything. Indeed, the recent change in DISALLOW_COPY *is* making some of our types non-POD. That broke some bots. Just remove this since it wasn't doing much, and I'd rather have DISALLOW_COPY.
Behdad Esfahbod 3f00d0b0 2018-09-03T18:54:32 [subset] Keep glyph set in plan Should remove the vector version at some point...
Behdad Esfahbod aba0a945 2018-08-31T13:25:19 [subset] Add hb-subset-input.hh and make hb-subset.hh toplevel include
Behdad Esfahbod 93fe0faa 2018-08-29T18:24:03 [subset] Clean up hb_subset_input_t API
Behdad Esfahbod f39166f0 2018-08-29T18:09:55 [subset] Remove unused hb_subset_profile_t We might reintroduce it later, but for now remove, as it was unused. Some things that should have been in this object (drop_hints, etc) are already in hb_subset_input_t. So, for now, keep everything there.
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.
Behdad Esfahbod aadb2a91 2018-08-25T08:18:53 Add face-builder New API: +hb_face_builder_create +hb_face_builder_add_table
Behdad Esfahbod be458eb0 2018-07-10T14:41:04 Include more basic internal headers from hb-private.hh
Garret Rieger a5673da9 2018-06-07T14:23:03 [subset] Add drop_ot_layout setting to subset input.
Behdad Esfahbod 58400a2a 2018-06-02T20:30:09 Remove DISALLOW_* from vector, set, and map Some of the build bots, still fail on this. I suppose mine pass because I enable C++11... Anyway, remove these again.
Garret Rieger 251cc977 2018-05-30T12:23:51 [subset] Switch to using hb_map_t inside of hb_subset_plan_t.
Garret Rieger 03b27548 2018-05-02T15:42:08 [subset] Add const to the hb_subset_plan_t input to a couple functions in hb-subset-plan.
Behdad Esfahbod 5c3112ae 2018-05-01T19:07:04 s/hb_prealloced_array_t/hb_vector_t/g Part of https://github.com/harfbuzz/harfbuzz/issues/1017
Rod Sheeter 74e0c13a 2018-02-21T11:19:18 [subset] drop hint tables if so flagged. Still need to dump glyf instructions.
Behdad Esfahbod 4fcbd22b 2018-02-19T11:49:25 Fix build after previous commit
Garret Rieger dcac9fe9 2018-02-16T11:27:03 [subset] Use complex glyph closure to populate gids_to_retain_sorted.
Rod Sheeter 66e282df 2018-02-14T15:31:13 [subset] remove TODO that was already done
Rod Sheeter fa877703 2018-02-14T14:16:25 [subset] First pass at hmtx
Rod Sheeter 1330edc4 2018-02-12T14:29:23 Use functions to get new gids. Avoid 0; fonttools drops it from cmap.
Behdad Esfahbod c31fcf4c 2018-02-10T14:20:10 [subset] Replace auto_array with prealloced_array auto_array has constructor/destructor. Cannot be used in POD object, as the clang bots all noticed...