[subset] Add "--name-languages" and "--name-legacy" options Make name table subsetting consistent with fontTools
diff --git a/src/hb-ot-name-table.hh b/src/hb-ot-name-table.hh index a95261d..7147484 100644 --- a/src/hb-ot-name-table.hh +++ b/src/hb-ot-name-table.hh
@@ -108,6 +108,15 @@ return_trace (out); } + bool isUnicode () const + { + unsigned int p = platformID; + unsigned int e = encodingID; + + return (p == 0 || + (p == 3 && (e == 0 || e == 1 || e == 10))); + } + bool sanitize (hb_sanitize_context_t *c, const void *base) const { TRACE_SANITIZE (this); @@ -210,6 +219,8 @@ auto it = + nameRecordZ.as_array (count) | hb_filter (c->plan->name_ids, &NameRecord::nameID) + | hb_filter (c->plan->name_languages, &NameRecord::languageID) + | hb_filter ([&] (const NameRecord& namerecord) { return c->plan->name_legacy || namerecord.isUnicode (); }) ; name_prime->serialize (c->serializer, it, hb_addressof (this + stringOffset));
diff --git a/src/hb-subset-input.cc b/src/hb-subset-input.cc index df5333b..fe9be3c 100644 --- a/src/hb-subset-input.cc +++ b/src/hb-subset-input.cc
@@ -46,10 +46,13 @@ input->glyphs = hb_set_create (); input->name_ids = hb_set_create (); hb_set_add_range (input->name_ids, 0, 6); + input->name_languages = hb_set_create (); + hb_set_add (input->name_languages, 0x0409); input->drop_tables = hb_set_create (); input->drop_hints = false; input->desubroutinize = false; input->retain_gids = false; + input->name_legacy = false; hb_tag_t default_drop_tables[] = { // Layout disabled by default @@ -114,6 +117,7 @@ hb_set_destroy (subset_input->unicodes); hb_set_destroy (subset_input->glyphs); hb_set_destroy (subset_input->name_ids); + hb_set_destroy (subset_input->name_languages); hb_set_destroy (subset_input->drop_tables); free (subset_input); @@ -150,6 +154,12 @@ } HB_EXTERN hb_set_t * +hb_subset_input_namelangid_set (hb_subset_input_t *subset_input) +{ + return subset_input->name_languages; +} + +HB_EXTERN hb_set_t * hb_subset_input_drop_tables_set (hb_subset_input_t *subset_input) { return subset_input->drop_tables; @@ -204,3 +214,16 @@ { return subset_input->retain_gids; } + +HB_EXTERN void +hb_subset_input_set_name_legacy (hb_subset_input_t *subset_input, + hb_bool_t name_legacy) +{ + subset_input->name_legacy = name_legacy; +} + +HB_EXTERN hb_bool_t +hb_subset_input_get_name_legacy (hb_subset_input_t *subset_input) +{ + return subset_input->name_legacy; +}
diff --git a/src/hb-subset-input.hh b/src/hb-subset-input.hh index f6dd4ac..0aeb966 100644 --- a/src/hb-subset-input.hh +++ b/src/hb-subset-input.hh
@@ -41,11 +41,13 @@ hb_set_t *unicodes; hb_set_t *glyphs; hb_set_t *name_ids; + hb_set_t *name_languages; hb_set_t *drop_tables; bool drop_hints; bool desubroutinize; bool retain_gids; + bool name_legacy; /* TODO * * features
diff --git a/src/hb-subset-plan.cc b/src/hb-subset-plan.cc index beb0447..bbb05c5 100644 --- a/src/hb-subset-plan.cc +++ b/src/hb-subset-plan.cc
@@ -278,9 +278,11 @@ plan->drop_hints = input->drop_hints; plan->desubroutinize = input->desubroutinize; plan->retain_gids = input->retain_gids; + plan->name_legacy = input->name_legacy; plan->unicodes = hb_set_create (); plan->name_ids = hb_set_reference (input->name_ids); _nameid_closure (face, plan->name_ids); + plan->name_languages = hb_set_reference (input->name_languages); plan->drop_tables = hb_set_reference (input->drop_tables); plan->source = hb_face_reference (face); plan->dest = hb_face_builder_create (); @@ -323,6 +325,7 @@ hb_set_destroy (plan->unicodes); hb_set_destroy (plan->name_ids); + hb_set_destroy (plan->name_languages); hb_set_destroy (plan->drop_tables); hb_face_destroy (plan->source); hb_face_destroy (plan->dest);
diff --git a/src/hb-subset-plan.hh b/src/hb-subset-plan.hh index 22bbac9..1e24796 100644 --- a/src/hb-subset-plan.hh +++ b/src/hb-subset-plan.hh
@@ -42,6 +42,7 @@ bool drop_hints : 1; bool desubroutinize : 1; bool retain_gids : 1; + bool name_legacy : 1; // For each cp that we'd like to retain maps to the corresponding gid. hb_set_t *unicodes; @@ -49,6 +50,9 @@ // name_ids we would like to retain hb_set_t *name_ids; + // name_languages we would like to retain + hb_set_t *name_languages; + // Tables which should be dropped. hb_set_t *drop_tables;
diff --git a/src/hb-subset.h b/src/hb-subset.h index 960afef..ddf4409 100644 --- a/src/hb-subset.h +++ b/src/hb-subset.h
@@ -58,6 +58,9 @@ hb_subset_input_nameid_set (hb_subset_input_t *subset_input); HB_EXTERN hb_set_t * +hb_subset_input_namelangid_set (hb_subset_input_t *subset_input); + +HB_EXTERN hb_set_t * hb_subset_input_drop_tables_set (hb_subset_input_t *subset_input); HB_EXTERN void @@ -78,6 +81,12 @@ HB_EXTERN hb_bool_t hb_subset_input_get_retain_gids (hb_subset_input_t *subset_input); +HB_EXTERN void +hb_subset_input_set_name_legacy (hb_subset_input_t *subset_input, + hb_bool_t name_legacy); +HB_EXTERN hb_bool_t +hb_subset_input_get_name_legacy (hb_subset_input_t *subset_input); + /* hb_subset () */ HB_EXTERN hb_face_t * hb_subset (hb_face_t *source, hb_subset_input_t *input);
diff --git a/test/api/hb-subset-test.h b/test/api/hb-subset-test.h index 99f567a..4aa6d6c 100644 --- a/test/api/hb-subset-test.h +++ b/test/api/hb-subset-test.h
@@ -71,6 +71,11 @@ hb_subset_input_t *input = hb_subset_input_create_or_fail (); hb_set_t * input_name_ids = hb_subset_input_nameid_set (input); hb_set_set (input_name_ids, name_ids); + + hb_set_t *name_langids = hb_subset_input_namelangid_set (input); + hb_set_add_range (name_langids, 0, 0x5FFF); + + hb_subset_input_set_name_legacy (input, true); return input; }
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.default.61,62,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.default.61,62,63.ttf index bb28743..31a4093 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.default.61,62,63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.default.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.default.61,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.default.61,63.ttf index 5b61a31..31b8d9a 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.default.61,63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.default.61,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.default.61.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.default.61.ttf index 687c82b..9411e46 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.default.61.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.default.61.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.default.62.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.default.62.ttf index ff9379c..8d561d5 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.default.62.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.default.62.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.default.63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.default.63.ttf index 7658bc3..88ab0e1 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.default.63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.default.63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.default.retain-all-codepoint.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.default.retain-all-codepoint.ttf index 1e2d19f..a29c708 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.default.retain-all-codepoint.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.default.retain-all-codepoint.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61,62,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61,62,63.ttf index edc9c66..7582995 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61,62,63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61,63.ttf index 3137fc4..1f83796 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61,63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61.ttf index 619b427..354ee07 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.62.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.62.ttf index 5d2f4eb..68c21bf 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.62.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.62.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.63.ttf index 419f9bb..c2d90fc 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.retain-all-codepoint.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.retain-all-codepoint.ttf index 9382c52..41a6bee 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.retain-all-codepoint.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.retain-all-codepoint.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.61,62,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.61,62,63.ttf index 53bdbd1..345b9c9 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.61,62,63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.61,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.61,63.ttf index a0390b1..d6fab9b 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.61,63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.61,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.61.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.61.ttf index fd9fc0c..84313ca 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.61.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.61.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.62.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.62.ttf index 467f0fb..c41f61b 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.62.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.62.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.63.ttf index c265754..01482f0 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.retain-all-codepoint.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.retain-all-codepoint.ttf index c85ca1e..eaadf25 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.retain-all-codepoint.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.drop-hints.retain-all-codepoint.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.61,62,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.61,62,63.ttf index ea9bb95..748b6d9 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.61,62,63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.61,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.61,63.ttf index fb23713..c639e4d 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.61,63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.61,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.61.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.61.ttf index 72e0860..2cf7df7 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.61.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.61.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.62.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.62.ttf index 15b4d19..4890c3b 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.62.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.62.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.63.ttf index fdc0413..13fc238 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.retain-all-codepoint.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.retain-all-codepoint.ttf index 2f5944e..4128989 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.retain-all-codepoint.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-ids.retain-all-codepoint.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.61,62,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.61,62,63.ttf new file mode 100644 index 0000000..31a4093 --- /dev/null +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.61,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.61,63.ttf new file mode 100644 index 0000000..31b8d9a --- /dev/null +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.61,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.61.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.61.ttf new file mode 100644 index 0000000..9411e46 --- /dev/null +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.61.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.62.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.62.ttf new file mode 100644 index 0000000..8d561d5 --- /dev/null +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.62.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.63.ttf new file mode 100644 index 0000000..88ab0e1 --- /dev/null +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.retain-all-codepoint.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.retain-all-codepoint.ttf new file mode 100644 index 0000000..a29c708 --- /dev/null +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-languages.retain-all-codepoint.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.61,62,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.61,62,63.ttf new file mode 100644 index 0000000..31a4093 --- /dev/null +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.61,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.61,63.ttf new file mode 100644 index 0000000..31b8d9a --- /dev/null +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.61,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.61.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.61.ttf new file mode 100644 index 0000000..9411e46 --- /dev/null +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.61.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.62.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.62.ttf new file mode 100644 index 0000000..8d561d5 --- /dev/null +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.62.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.63.ttf new file mode 100644 index 0000000..88ab0e1 --- /dev/null +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.retain-all-codepoint.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.retain-all-codepoint.ttf new file mode 100644 index 0000000..a29c708 --- /dev/null +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.name-legacy.retain-all-codepoint.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.61,62,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.61,62,63.ttf index a028adc..fbe8501 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.61,62,63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.61,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.61,63.ttf index 32d959e..be4e5b4 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.61,63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.61,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.61.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.61.ttf index 41b0744..89f37bf 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.61.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.61.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.62.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.62.ttf index 3352e31..e299483 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.62.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.62.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.63.ttf index afb2037..5787e50 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.63.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.retain-all-codepoint.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.retain-all-codepoint.ttf index 4b0138f..75f4803 100644 --- a/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.retain-all-codepoint.ttf +++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.retain-gids.retain-all-codepoint.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.61,62,63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.61,62,63.ttf new file mode 100644 index 0000000..12d9208 --- /dev/null +++ b/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.61,63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.61,63.ttf new file mode 100644 index 0000000..1af233f --- /dev/null +++ b/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.61,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.61.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.61.ttf new file mode 100644 index 0000000..a699eea --- /dev/null +++ b/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.61.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.62.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.62.ttf new file mode 100644 index 0000000..52706dc --- /dev/null +++ b/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.62.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.63.ttf new file mode 100644 index 0000000..3de7c77 --- /dev/null +++ b/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.retain-all-codepoint.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.retain-all-codepoint.ttf new file mode 100644 index 0000000..12d9208 --- /dev/null +++ b/test/subset/data/expected/basics/Roboto-Regular.abc.name-languages.retain-all-codepoint.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.61,62,63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.61,62,63.ttf new file mode 100644 index 0000000..12d9208 --- /dev/null +++ b/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.61,63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.61,63.ttf new file mode 100644 index 0000000..1af233f --- /dev/null +++ b/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.61,63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.61.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.61.ttf new file mode 100644 index 0000000..a699eea --- /dev/null +++ b/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.61.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.62.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.62.ttf new file mode 100644 index 0000000..52706dc --- /dev/null +++ b/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.62.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.63.ttf new file mode 100644 index 0000000..3de7c77 --- /dev/null +++ b/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.63.ttf Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.retain-all-codepoint.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.retain-all-codepoint.ttf new file mode 100644 index 0000000..12d9208 --- /dev/null +++ b/test/subset/data/expected/basics/Roboto-Regular.abc.name-legacy.retain-all-codepoint.ttf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.1FC,21,41,20,62,63.otf index f0ea3ca..780b278 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.1FC,21,41,20,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.1FC,21,41,20,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.61,62,63.otf index 7ea55a2..655f8c2 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.61,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.61,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf index 07b9aa2..bbc29ed 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.1FC,21,41,20,62,63.otf index 2811017..012e843 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.1FC,21,41,20,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.1FC,21,41,20,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.61,62,63.otf index 98bbf38..eaafafe 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.61,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.61,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf index 2d88e57..4449e0e 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf index cf0fbf6..de556b5 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.61,62,63.otf index 8ab8294..85e2711 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.61,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.61,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf index de475e6..98a856e 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.1FC,21,41,20,62,63.otf index e5775fd..86b849a 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.1FC,21,41,20,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.1FC,21,41,20,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.61,62,63.otf index 572ea74..08b023c 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.61,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.61,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf index 376f658..1c246c1 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.1FC,21,41,20,62,63.otf index cf3228d..d409eab 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.1FC,21,41,20,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.1FC,21,41,20,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.61,62,63.otf index 1bafff1..910216e 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.61,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.61,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf index 34303e7..c1d8776 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.1FC,21,41,20,62,63.otf index e23e37f..76505a0 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.1FC,21,41,20,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.1FC,21,41,20,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.61,62,63.otf index b5a565e..87a279f 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.61,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.61,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf index 6045b4c..edb013e 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf index 112dec7..2cf6200 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.61,62,63.otf index 929c4e2..3e500ab 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.61,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.61,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf index 939a565..02edb95 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.1FC,21,41,20,62,63.otf index e1613ac..def021f 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.1FC,21,41,20,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.1FC,21,41,20,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.61,62,63.otf index 479c5e0..8ca5055 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.61,62,63.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.61,62,63.otf Binary files differ
diff --git a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf index 95149dc..0529b72 100644 --- a/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf +++ b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf Binary files differ
diff --git a/test/subset/data/expected/full-font/Roboto-Regular.default.1FC,21,41,20,62,63.ttf b/test/subset/data/expected/full-font/Roboto-Regular.default.1FC,21,41,20,62,63.ttf index e8b7b37..cf126ce 100644 --- a/test/subset/data/expected/full-font/Roboto-Regular.default.1FC,21,41,20,62,63.ttf +++ b/test/subset/data/expected/full-font/Roboto-Regular.default.1FC,21,41,20,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/full-font/Roboto-Regular.default.61,62,63.ttf b/test/subset/data/expected/full-font/Roboto-Regular.default.61,62,63.ttf index 912e1fb..0bc7d80 100644 --- a/test/subset/data/expected/full-font/Roboto-Regular.default.61,62,63.ttf +++ b/test/subset/data/expected/full-font/Roboto-Regular.default.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/full-font/Roboto-Regular.default.D7,D8,D9,DA,DE.ttf b/test/subset/data/expected/full-font/Roboto-Regular.default.D7,D8,D9,DA,DE.ttf index 6f19df6..1dae8e5 100644 --- a/test/subset/data/expected/full-font/Roboto-Regular.default.D7,D8,D9,DA,DE.ttf +++ b/test/subset/data/expected/full-font/Roboto-Regular.default.D7,D8,D9,DA,DE.ttf Binary files differ
diff --git a/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf b/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf index 9ea42ab..03459bc 100644 --- a/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf +++ b/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.61,62,63.ttf b/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.61,62,63.ttf index 4d12593..46d88cf 100644 --- a/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.61,62,63.ttf +++ b/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf b/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf index 281b475..91f4682 100644 --- a/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf +++ b/test/subset/data/expected/full-font/Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSerifVariable-Roman.default.1FC,21,41,20,62,63.ttf b/test/subset/data/expected/full-font/SourceSerifVariable-Roman.default.1FC,21,41,20,62,63.ttf index 3424a3d..91da5dd 100644 --- a/test/subset/data/expected/full-font/SourceSerifVariable-Roman.default.1FC,21,41,20,62,63.ttf +++ b/test/subset/data/expected/full-font/SourceSerifVariable-Roman.default.1FC,21,41,20,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSerifVariable-Roman.default.61,62,63.ttf b/test/subset/data/expected/full-font/SourceSerifVariable-Roman.default.61,62,63.ttf index ae4ee43..175e856 100644 --- a/test/subset/data/expected/full-font/SourceSerifVariable-Roman.default.61,62,63.ttf +++ b/test/subset/data/expected/full-font/SourceSerifVariable-Roman.default.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf b/test/subset/data/expected/full-font/SourceSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf index 1a5ba47..b966f04 100644 --- a/test/subset/data/expected/full-font/SourceSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf +++ b/test/subset/data/expected/full-font/SourceSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSerifVariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf b/test/subset/data/expected/full-font/SourceSerifVariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf index 3424a3d..91da5dd 100644 --- a/test/subset/data/expected/full-font/SourceSerifVariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf +++ b/test/subset/data/expected/full-font/SourceSerifVariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSerifVariable-Roman.drop-hints.61,62,63.ttf b/test/subset/data/expected/full-font/SourceSerifVariable-Roman.drop-hints.61,62,63.ttf index ae4ee43..175e856 100644 --- a/test/subset/data/expected/full-font/SourceSerifVariable-Roman.drop-hints.61,62,63.ttf +++ b/test/subset/data/expected/full-font/SourceSerifVariable-Roman.drop-hints.61,62,63.ttf Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSerifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf b/test/subset/data/expected/full-font/SourceSerifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf index 1a5ba47..b966f04 100644 --- a/test/subset/data/expected/full-font/SourceSerifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf +++ b/test/subset/data/expected/full-font/SourceSerifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf Binary files differ
diff --git a/test/subset/data/expected/japanese/Mplus1p-Regular.default.1D715,1D7D8,41,42.ttf b/test/subset/data/expected/japanese/Mplus1p-Regular.default.1D715,1D7D8,41,42.ttf index 8a99570..7232004 100644 --- a/test/subset/data/expected/japanese/Mplus1p-Regular.default.1D715,1D7D8,41,42.ttf +++ b/test/subset/data/expected/japanese/Mplus1p-Regular.default.1D715,1D7D8,41,42.ttf Binary files differ
diff --git a/test/subset/data/expected/japanese/Mplus1p-Regular.default.3042,3044,3046,3048,304A,304B.ttf b/test/subset/data/expected/japanese/Mplus1p-Regular.default.3042,3044,3046,3048,304A,304B.ttf index 6770dac..92e2feb 100644 --- a/test/subset/data/expected/japanese/Mplus1p-Regular.default.3042,3044,3046,3048,304A,304B.ttf +++ b/test/subset/data/expected/japanese/Mplus1p-Regular.default.3042,3044,3046,3048,304A,304B.ttf Binary files differ
diff --git a/test/subset/data/expected/japanese/Mplus1p-Regular.default.3042,3044,3046,73E0,5EA6,8F38.ttf b/test/subset/data/expected/japanese/Mplus1p-Regular.default.3042,3044,3046,73E0,5EA6,8F38.ttf index 0c66219..8b9ec31 100644 --- a/test/subset/data/expected/japanese/Mplus1p-Regular.default.3042,3044,3046,73E0,5EA6,8F38.ttf +++ b/test/subset/data/expected/japanese/Mplus1p-Regular.default.3042,3044,3046,73E0,5EA6,8F38.ttf Binary files differ
diff --git a/test/subset/data/expected/japanese/Mplus1p-Regular.default.61,63,65,6B.ttf b/test/subset/data/expected/japanese/Mplus1p-Regular.default.61,63,65,6B.ttf index 4a5a6f8..a02fec6 100644 --- a/test/subset/data/expected/japanese/Mplus1p-Regular.default.61,63,65,6B.ttf +++ b/test/subset/data/expected/japanese/Mplus1p-Regular.default.61,63,65,6B.ttf Binary files differ
diff --git a/test/subset/data/expected/japanese/Mplus1p-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf b/test/subset/data/expected/japanese/Mplus1p-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf index 465ce34..fb20dc7 100644 --- a/test/subset/data/expected/japanese/Mplus1p-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf +++ b/test/subset/data/expected/japanese/Mplus1p-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf Binary files differ
diff --git a/test/subset/data/expected/japanese/Mplus1p-Regular.default.660E.ttf b/test/subset/data/expected/japanese/Mplus1p-Regular.default.660E.ttf index 28f3c37..c1c2f51 100644 --- a/test/subset/data/expected/japanese/Mplus1p-Regular.default.660E.ttf +++ b/test/subset/data/expected/japanese/Mplus1p-Regular.default.660E.ttf Binary files differ
diff --git a/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.1D715,1D7D8,41,42.ttf b/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.1D715,1D7D8,41,42.ttf index 6de3320..f98c029 100644 --- a/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.1D715,1D7D8,41,42.ttf +++ b/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.1D715,1D7D8,41,42.ttf Binary files differ
diff --git a/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.3042,3044,3046,3048,304A,304B.ttf b/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.3042,3044,3046,3048,304A,304B.ttf index 1bebda7..cf97a83 100644 --- a/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.3042,3044,3046,3048,304A,304B.ttf +++ b/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.3042,3044,3046,3048,304A,304B.ttf Binary files differ
diff --git a/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf b/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf index a43998d..b3dba2e 100644 --- a/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf +++ b/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf Binary files differ
diff --git a/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.61,63,65,6B.ttf b/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.61,63,65,6B.ttf index 34c7788..1ba361a 100644 --- a/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.61,63,65,6B.ttf +++ b/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.61,63,65,6B.ttf Binary files differ
diff --git a/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf b/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf index 92ec10b..6c54f62 100644 --- a/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf +++ b/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf Binary files differ
diff --git a/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.660E.ttf b/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.660E.ttf index b9bb539..08bbbdc 100644 --- a/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.660E.ttf +++ b/test/subset/data/expected/japanese/Mplus1p-Regular.drop-hints.660E.ttf Binary files differ
diff --git a/test/subset/data/profiles/name-languages.txt b/test/subset/data/profiles/name-languages.txt new file mode 100644 index 0000000..1a6f933 --- /dev/null +++ b/test/subset/data/profiles/name-languages.txt
@@ -0,0 +1 @@ +--name-languages=*
diff --git a/test/subset/data/profiles/name-legacy.txt b/test/subset/data/profiles/name-legacy.txt new file mode 100644 index 0000000..1867445 --- /dev/null +++ b/test/subset/data/profiles/name-legacy.txt
@@ -0,0 +1 @@ +--name-legacy
diff --git a/test/subset/data/tests/basics.tests b/test/subset/data/tests/basics.tests index 772f33c..738c2b3 100644 --- a/test/subset/data/tests/basics.tests +++ b/test/subset/data/tests/basics.tests
@@ -8,6 +8,8 @@ drop-hints-retain-gids.txt retain-gids.txt name-ids.txt +name-languages.txt +name-legacy.txt SUBSETS: abc
diff --git a/test/subset/generate-expected-outputs.py b/test/subset/generate-expected-outputs.py index 0db9698..e2c75c5 100755 --- a/test/subset/generate-expected-outputs.py +++ b/test/subset/generate-expected-outputs.py
@@ -20,11 +20,9 @@ def generate_expected_output(input_file, unicodes, profile_flags, output_path): args = ["fonttools", "subset", input_file] args.extend(["--notdef-outline", - "--name-languages=*", - "--name-legacy", - "--layout-features=*", + "--layout-features=*", "--drop-tables+=DSIG,GPOS,GSUB,GDEF", - "--drop-tables-=sbix", + "--drop-tables-=sbix", "--unicodes=%s" % unicodes, "--output-file=%s" % output_path]) args.extend(profile_flags)
diff --git a/util/options-subset.cc b/util/options-subset.cc index 35fa05e..fce0a70 100644 --- a/util/options-subset.cc +++ b/util/options-subset.cc
@@ -85,6 +85,62 @@ } static gboolean +parse_name_languages (const char *name, + const char *arg, + gpointer data, + GError **error G_GNUC_UNUSED) +{ + subset_options_t *subset_opts = (subset_options_t *) data; + hb_set_t *name_languages = subset_opts->input->name_languages; + + char last_name_char = name[strlen (name) - 1]; + + if (last_name_char != '+' && last_name_char != '-') + hb_set_clear (name_languages); + + if (0 == strcmp (arg, "*")) + { + if (last_name_char == '-') + hb_set_del_range (name_languages, 0, 0x5FFF); + else + hb_set_add_range (name_languages, 0, 0x5FFF); + return true; + } + + char *s = (char *) arg; + char *p; + + while (s && *s) + { + while (*s && strchr (", ", *s)) + s++; + if (!*s) + break; + + errno = 0; + hb_codepoint_t u = strtoul (s, &p, 10); + if (errno || s == p) + { + hb_set_destroy (name_languages); + g_set_error (error, G_OPTION_ERROR, G_OPTION_ERROR_BAD_VALUE, + "Failed parsing name_languages values at: '%s'", s); + return false; + } + + if (last_name_char != '-') + { + hb_set_add (name_languages, u); + } else { + hb_set_del (name_languages, u); + } + + s = p; + } + + return true; +} + +static gboolean parse_drop_tables (const char *name, const char *arg, gpointer data, @@ -130,6 +186,8 @@ {"retain-gids", 0, 0, G_OPTION_ARG_NONE, &this->input->retain_gids, "If set don't renumber glyph ids in the subset.", nullptr}, {"desubroutinize", 0, 0, G_OPTION_ARG_NONE, &this->input->desubroutinize, "Remove CFF/CFF2 use of subroutines", nullptr}, {"name-IDs", 0, 0, G_OPTION_ARG_CALLBACK, (gpointer) &parse_nameids, "Subset specified nameids", "list of int numbers"}, + {"name-legacy", 0, 0, G_OPTION_ARG_NONE, &this->input->name_legacy, "Keep legacy (non-Unicode) 'name' table entries", nullptr}, + {"name-languages", 0, 0, G_OPTION_ARG_CALLBACK, (gpointer) &parse_name_languages, "Subset nameRecords with specified language IDs", "list of int numbers"}, {"drop-tables", 0, 0, G_OPTION_ARG_CALLBACK, (gpointer) &parse_drop_tables, "Drop the specified tables.", "list of string table tags."}, {"drop-tables+", 0, 0, G_OPTION_ARG_CALLBACK, (gpointer) &parse_drop_tables, "Drop the specified tables.", "list of string table tags."}, {"drop-tables-", 0, 0, G_OPTION_ARG_CALLBACK, (gpointer) &parse_drop_tables, "Drop the specified tables.", "list of string table tags."},