[subset] In preperation for 3.0.0 release remove legacy subsetting api methods.
diff --git a/src/hb-subset-input.cc b/src/hb-subset-input.cc
index 498f92d..4885280 100644
--- a/src/hb-subset-input.cc
+++ b/src/hb-subset-input.cc
@@ -270,75 +270,6 @@
}
/**
- * hb_subset_input_nameid_set:
- * @input: a #hb_subset_input_t object.
- *
- * Gets the set of name table name IDs to retain, the caller should modify the
- * set as needed.
- *
- * Return value: (transfer none): pointer to the #hb_set_t of name IDs.
- *
- * Since: 2.9.0
- **/
-HB_EXTERN hb_set_t *
-hb_subset_input_nameid_set (hb_subset_input_t *input)
-{
- return input->sets.name_ids;
-}
-
-/**
- * hb_subset_input_namelangid_set:
- * @input: a #hb_subset_input_t object.
- *
- * Gets the set of name table language IDs to retain, the caller should modify
- * the set as needed.
- *
- * Return value: (transfer none): pointer to the #hb_set_t of language IDs.
- *
- * Since: 2.9.0
- **/
-HB_EXTERN hb_set_t *
-hb_subset_input_namelangid_set (hb_subset_input_t *input)
-{
- return input->sets.name_languages;
-}
-
-
-/**
- * hb_subset_input_layout_features_set:
- * @input: a #hb_subset_input_t object.
- *
- * Gets the set of layout feature tags to retain, the caller should modify the
- * set as needed.
- *
- * Return value: (transfer none): pointer to the #hb_set_t of feature tags.
- *
- * Since: 2.9.0
- **/
-HB_EXTERN hb_set_t *
-hb_subset_input_layout_features_set (hb_subset_input_t *input)
-{
- return input->sets.layout_features;
-}
-
-/**
- * hb_subset_input_drop_tables_set:
- * @input: a #hb_subset_input_t object.
- *
- * Gets the set of table tags to drop, the caller should modify the set as
- * needed.
- *
- * Return value: (transfer none): pointer to the #hb_set_t of table tags.
- *
- * Since: 2.9.0
- **/
-HB_EXTERN hb_set_t *
-hb_subset_input_drop_tables_set (hb_subset_input_t *input)
-{
- return input->sets.drop_tables;
-}
-
-/**
* hb_subset_input_set:
* @input: a #hb_subset_input_t object.
* @set_type: a #hb_subset_sets_t set type.
@@ -356,24 +287,6 @@
}
/**
- * hb_subset_input_no_subset_tables_set:
- * @input: a #hb_subset_input_t object.
- *
- * Gets the set of table tags which specifies tables that should not be
- * subsetted, the caller should modify the set as needed.
- *
- * Return value: (transfer none): pointer to the #hb_set_t of table tags.
- *
- * Since: 2.9.0
- **/
-HB_EXTERN hb_set_t *
-hb_subset_input_no_subset_tables_set (hb_subset_input_t *input)
-{
- return input->sets.no_subset_tables;
-}
-
-
-/**
* hb_subset_input_get_flags:
* @input: a #hb_subset_input_t object.
*
@@ -448,118 +361,3 @@
{
return hb_object_get_user_data (input, key);
}
-
-
-static void set_flag_value (hb_subset_input_t *input, hb_subset_flags_t flag, hb_bool_t value)
-{
- hb_subset_input_set_flags (input,
- value
- ? hb_subset_input_get_flags (input) | flag
- : hb_subset_input_get_flags (input) & ~flag);
-}
-
-void
-hb_subset_input_set_drop_hints (hb_subset_input_t *subset_input,
- hb_bool_t drop_hints)
-{
- return set_flag_value (subset_input,
- HB_SUBSET_FLAGS_NO_HINTING,
- drop_hints);
-}
-
-hb_bool_t
-hb_subset_input_get_drop_hints (hb_subset_input_t *subset_input)
-{
- return (bool) (hb_subset_input_get_flags (subset_input) & HB_SUBSET_FLAGS_NO_HINTING);
-}
-
-void
-hb_subset_input_set_desubroutinize (hb_subset_input_t *subset_input,
- hb_bool_t desubroutinize)
-{
- return set_flag_value (subset_input,
- HB_SUBSET_FLAGS_DESUBROUTINIZE,
- desubroutinize);
-}
-
-hb_bool_t
-hb_subset_input_get_desubroutinize (hb_subset_input_t *subset_input)
-{
- return (bool) (hb_subset_input_get_flags (subset_input) & HB_SUBSET_FLAGS_DESUBROUTINIZE);
-}
-
-void
-hb_subset_input_set_retain_gids (hb_subset_input_t *subset_input,
- hb_bool_t retain_gids)
-{
- return set_flag_value (subset_input,
- HB_SUBSET_FLAGS_RETAIN_GIDS,
- retain_gids);
-}
-
-hb_bool_t
-hb_subset_input_get_retain_gids (hb_subset_input_t *subset_input)
-{
- return (bool) (hb_subset_input_get_flags (subset_input) & HB_SUBSET_FLAGS_RETAIN_GIDS);
-}
-
-void
-hb_subset_input_set_name_legacy (hb_subset_input_t *subset_input,
- hb_bool_t name_legacy)
-{
- return set_flag_value (subset_input,
- HB_SUBSET_FLAGS_NAME_LEGACY,
- name_legacy);
-}
-
-hb_bool_t
-hb_subset_input_get_name_legacy (hb_subset_input_t *subset_input)
-{
- return (bool) (hb_subset_input_get_flags (subset_input) & HB_SUBSET_FLAGS_NAME_LEGACY);
-}
-
-void
-hb_subset_input_set_overlaps_flag (hb_subset_input_t *subset_input,
- hb_bool_t overlaps_flag)
-{
- return set_flag_value (subset_input,
- HB_SUBSET_FLAGS_SET_OVERLAPS_FLAG,
- overlaps_flag);
-}
-
-hb_bool_t
-hb_subset_input_get_overlaps_flag (hb_subset_input_t *subset_input)
-{
- return (bool) (hb_subset_input_get_flags (subset_input) & HB_SUBSET_FLAGS_SET_OVERLAPS_FLAG);
-}
-
-void
-hb_subset_input_set_notdef_outline (hb_subset_input_t *subset_input,
- hb_bool_t notdef_outline)
-{
- return set_flag_value (subset_input,
- HB_SUBSET_FLAGS_NOTDEF_OUTLINE,
- notdef_outline);
-}
-
-hb_bool_t
-hb_subset_input_get_notdef_outline (hb_subset_input_t *subset_input)
-{
- return (bool) (hb_subset_input_get_flags (subset_input) & HB_SUBSET_FLAGS_NOTDEF_OUTLINE);
-}
-
-void
-hb_subset_input_set_no_prune_unicode_ranges (hb_subset_input_t *subset_input,
- hb_bool_t no_prune_unicode_ranges)
-{
- return set_flag_value (subset_input,
- HB_SUBSET_FLAGS_NO_PRUNE_UNICODE_RANGES,
- no_prune_unicode_ranges);
-}
-
-
-hb_bool_t
-hb_subset_input_get_no_prune_unicode_ranges (hb_subset_input_t *subset_input)
-{
- return (bool) (hb_subset_input_get_flags (subset_input) & HB_SUBSET_FLAGS_NO_PRUNE_UNICODE_RANGES);
-}
diff --git a/src/hb-subset.cc b/src/hb-subset.cc
index 9c4d644..34f92e0 100644
--- a/src/hb-subset.cc
+++ b/src/hb-subset.cc
@@ -330,14 +330,6 @@
}
}
-hb_face_t *
-hb_subset (hb_face_t *source, hb_subset_input_t *input)
-{
- hb_face_t* face = hb_subset_or_fail (source, input);
- if (face) return face;
- return hb_face_get_empty ();
-}
-
/**
* hb_subset_or_fail:
* @source: font face data to be subset.
diff --git a/src/hb-subset.h b/src/hb-subset.h
index cd1e75c..1c65a4d 100644
--- a/src/hb-subset.h
+++ b/src/hb-subset.h
@@ -127,6 +127,12 @@
hb_user_data_key_t *key);
HB_EXTERN hb_set_t *
+hb_subset_input_unicode_set (hb_subset_input_t *input);
+
+HB_EXTERN hb_set_t *
+hb_subset_input_glyph_set (hb_subset_input_t *input);
+
+HB_EXTERN hb_set_t *
hb_subset_input_set (hb_subset_input_t *input, hb_subset_sets_t set_type);
HB_EXTERN hb_subset_flags_t
@@ -139,82 +145,6 @@
HB_EXTERN hb_face_t *
hb_subset_or_fail (hb_face_t *source, const hb_subset_input_t *input);
-
-/*
- * ### Legacy API ###
- * The methods below are part of the legacy harfbuzz subsetting API and will be
- * Removed as of version 3.0.0
- */
-
-HB_EXTERN void
-hb_subset_input_set_drop_hints (hb_subset_input_t *subset_input,
- hb_bool_t drop_hints);
-HB_EXTERN hb_bool_t
-hb_subset_input_get_drop_hints (hb_subset_input_t *subset_input);
-
-HB_EXTERN void
-hb_subset_input_set_desubroutinize (hb_subset_input_t *subset_input,
- hb_bool_t desubroutinize);
-HB_EXTERN hb_bool_t
-hb_subset_input_get_desubroutinize (hb_subset_input_t *subset_input);
-
-HB_EXTERN void
-hb_subset_input_set_retain_gids (hb_subset_input_t *subset_input,
- hb_bool_t retain_gids);
-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_EXTERN void
-hb_subset_input_set_overlaps_flag (hb_subset_input_t *subset_input,
- hb_bool_t overlaps_flag);
-
-HB_EXTERN hb_bool_t
-hb_subset_input_get_overlaps_flag (hb_subset_input_t *subset_input);
-
-HB_EXTERN void
-hb_subset_input_set_notdef_outline (hb_subset_input_t *subset_input,
- hb_bool_t notdef_outline);
-
-HB_EXTERN hb_bool_t
-hb_subset_input_get_notdef_outline (hb_subset_input_t *subset_input);
-
-HB_EXTERN void
-hb_subset_input_set_no_prune_unicode_ranges (hb_subset_input_t *subset_input,
- hb_bool_t no_prune_unicode_ranges);
-
-HB_EXTERN hb_bool_t
-hb_subset_input_get_no_prune_unicode_ranges (hb_subset_input_t *subset_input);
-
-HB_EXTERN hb_set_t *
-hb_subset_input_unicode_set (hb_subset_input_t *input);
-
-HB_EXTERN hb_set_t *
-hb_subset_input_glyph_set (hb_subset_input_t *input);
-
-HB_EXTERN hb_set_t *
-hb_subset_input_nameid_set (hb_subset_input_t *input);
-
-HB_EXTERN hb_set_t *
-hb_subset_input_namelangid_set (hb_subset_input_t *input);
-
-HB_EXTERN hb_set_t *
-hb_subset_input_layout_features_set (hb_subset_input_t *input);
-
-HB_EXTERN hb_set_t *
-hb_subset_input_no_subset_tables_set (hb_subset_input_t *input);
-
-HB_EXTERN hb_set_t *
-hb_subset_input_drop_tables_set (hb_subset_input_t *input);
-
-HB_EXTERN hb_face_t *
-hb_subset (hb_face_t *source, hb_subset_input_t *input);
-
HB_END_DECLS
#endif /* HB_SUBSET_H */
diff --git a/test/api/hb-subset-test.h b/test/api/hb-subset-test.h
index a8db116..61a9260 100644
--- a/test/api/hb-subset-test.h
+++ b/test/api/hb-subset-test.h
@@ -69,10 +69,10 @@
hb_subset_test_create_input_from_nameids (const hb_set_t *name_ids)
{
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_t * input_name_ids = hb_subset_input_set (input, HB_SUBSET_SETS_NAME_ID);
hb_set_set (input_name_ids, name_ids);
- hb_set_t *name_langids = hb_subset_input_namelangid_set (input);
+ hb_set_t *name_langids = hb_subset_input_set (input, HB_SUBSET_SETS_NAME_LANG_ID);
hb_set_add_range (name_langids, 0, 0x5FFF);
hb_subset_input_set_flags (input,
diff --git a/test/api/test-subset-drop-tables.c b/test/api/test-subset-drop-tables.c
index b2c453a..327b17b 100644
--- a/test/api/test-subset-drop-tables.c
+++ b/test/api/test-subset-drop-tables.c
@@ -38,8 +38,8 @@
hb_set_add (codepoints, 97);
hb_set_add (codepoints, 99);
hb_subset_input_t *input = hb_subset_test_create_input (codepoints);
- hb_set_add (hb_subset_input_drop_tables_set (input), HB_TAG ('h', 'd', 'm', 'x'));
- hb_set_add (hb_subset_input_drop_tables_set (input), HB_TAG ('h', 'm', 't', 'x'));
+ hb_set_add (hb_subset_input_set (input, HB_SUBSET_SETS_DROP_TABLE_TAG), HB_TAG ('h', 'd', 'm', 'x'));
+ hb_set_add (hb_subset_input_set (input, HB_SUBSET_SETS_DROP_TABLE_TAG), HB_TAG ('h', 'm', 't', 'x'));
hb_set_destroy (codepoints);
hb_face_t* subset = hb_subset_or_fail (face, input);
diff --git a/test/api/test-subset-glyf.c b/test/api/test-subset-glyf.c
index 1e283dc..94670be 100644
--- a/test/api/test-subset-glyf.c
+++ b/test/api/test-subset-glyf.c
@@ -162,9 +162,9 @@
input = hb_subset_test_create_input (codepoints);
hb_set_destroy (codepoints);
- hb_set_del (hb_subset_input_drop_tables_set (input), HB_TAG('G', 'S', 'U', 'B'));
- hb_set_del (hb_subset_input_drop_tables_set (input), HB_TAG('G', 'P', 'O', 'S'));
- hb_set_del (hb_subset_input_drop_tables_set (input), HB_TAG('G', 'D', 'E', 'F'));
+ hb_set_del (hb_subset_input_set (input, HB_SUBSET_SETS_DROP_TABLE_TAG), HB_TAG('G', 'S', 'U', 'B'));
+ hb_set_del (hb_subset_input_set (input, HB_SUBSET_SETS_DROP_TABLE_TAG), HB_TAG('G', 'P', 'O', 'S'));
+ hb_set_del (hb_subset_input_set (input, HB_SUBSET_SETS_DROP_TABLE_TAG), HB_TAG('G', 'D', 'E', 'F'));
face_subset = hb_subset_test_create_subset (face_fil, input);
@@ -191,9 +191,9 @@
input = hb_subset_test_create_input (codepoints);
hb_set_destroy (codepoints);
- hb_set_add (hb_subset_input_drop_tables_set (input), HB_TAG('G', 'S', 'U', 'B'));
- hb_set_add (hb_subset_input_drop_tables_set (input), HB_TAG('G', 'P', 'O', 'S'));
- hb_set_add (hb_subset_input_drop_tables_set (input), HB_TAG('G', 'D', 'E', 'F'));
+ hb_set_add (hb_subset_input_set (input, HB_SUBSET_SETS_DROP_TABLE_TAG), HB_TAG('G', 'S', 'U', 'B'));
+ hb_set_add (hb_subset_input_set (input, HB_SUBSET_SETS_DROP_TABLE_TAG), HB_TAG('G', 'P', 'O', 'S'));
+ hb_set_add (hb_subset_input_set (input, HB_SUBSET_SETS_DROP_TABLE_TAG), HB_TAG('G', 'D', 'E', 'F'));
face_subset = hb_subset_test_create_subset (face_fil, input);
diff --git a/test/api/test-subset-gpos.c b/test/api/test-subset-gpos.c
index e1b3d00..ff7defb 100644
--- a/test/api/test-subset-gpos.c
+++ b/test/api/test-subset-gpos.c
@@ -42,7 +42,8 @@
hb_subset_input_t *input = hb_subset_test_create_input (codepoints);
- hb_set_del (hb_subset_input_drop_tables_set (input), HB_TAG ('G', 'P', 'O', 'S'));
+ hb_set_del (hb_subset_input_set (input, HB_SUBSET_SETS_DROP_TABLE_TAG),
+ HB_TAG ('G', 'P', 'O', 'S'));
face_pwa_subset = hb_subset_test_create_subset (face_pwa, input);
hb_set_destroy (codepoints);
@@ -67,7 +68,8 @@
hb_subset_input_t *input = hb_subset_test_create_input (codepoints);
- hb_set_del (hb_subset_input_drop_tables_set (input), HB_TAG ('G', 'P', 'O', 'S'));
+ hb_set_del (hb_subset_input_set (input, HB_SUBSET_SETS_DROP_TABLE_TAG),
+ HB_TAG ('G', 'P', 'O', 'S'));
face_wav_subset = hb_subset_test_create_subset (face_wav, input);
hb_set_destroy (codepoints);
diff --git a/test/api/test-subset.c b/test/api/test-subset.c
index 41017bc..27bf73c 100644
--- a/test/api/test-subset.c
+++ b/test/api/test-subset.c
@@ -148,63 +148,13 @@
hb_set_clear (set);
hb_set_add (set, 87);
- g_assert (hb_set_is_equal (hb_subset_input_layout_features_set (input), set));
+ g_assert (hb_set_is_equal (hb_subset_input_set (input, HB_SUBSET_SETS_LAYOUT_FEATURE_TAG), set));
hb_set_clear (set);
hb_set_destroy (set);
hb_subset_input_destroy (input);
}
-
-static void
-test_subset_legacy_api (void)
-{
- hb_subset_input_t *input = hb_subset_input_create_or_fail ();
-
- g_assert (hb_subset_input_get_flags (input) == HB_SUBSET_FLAGS_DEFAULT);
-
- hb_subset_input_set_flags (input,
- HB_SUBSET_FLAGS_NAME_LEGACY |
- HB_SUBSET_FLAGS_NOTDEF_OUTLINE);
-
- g_assert (hb_subset_input_get_name_legacy (input));
- g_assert (hb_subset_input_get_notdef_outline (input));
- g_assert (!hb_subset_input_get_desubroutinize (input));
- g_assert (!hb_subset_input_get_drop_hints (input));
-
- hb_subset_input_set_drop_hints (input, true);
- hb_subset_input_set_name_legacy (input, false);
- g_assert (!hb_subset_input_get_name_legacy (input));
- g_assert (hb_subset_input_get_notdef_outline (input));
- g_assert (!hb_subset_input_get_desubroutinize (input));
- g_assert (hb_subset_input_get_drop_hints (input));
-
-
- hb_face_t *face_abc = hb_test_open_font_file ("fonts/Roboto-Regular.abc.ttf");
-
- hb_set_t *codepoints = hb_set_create();
- hb_set_add (codepoints, 97);
- hb_set_add (codepoints, 99);
- hb_set_union (hb_subset_input_unicode_set (input), codepoints);
- hb_set_destroy (codepoints);
-
- hb_face_t *face_abc_subset_new = hb_subset (face_abc, input);
- hb_face_t *face_abc_subset_legacy = hb_subset_or_fail (face_abc, input);
-
-
- hb_blob_t* a = hb_face_reference_blob (face_abc_subset_new);
- hb_blob_t* b = hb_face_reference_blob (face_abc_subset_new);
- hb_test_assert_blobs_equal (a, b);
-
- hb_blob_destroy (a);
- hb_blob_destroy (b);
- hb_face_destroy (face_abc_subset_new);
- hb_face_destroy (face_abc_subset_legacy);
- hb_face_destroy (face_abc);
-
- hb_subset_input_destroy (input);
-}
-
int
main (int argc, char **argv)
{
@@ -215,7 +165,6 @@
hb_test_add (test_subset_crash);
hb_test_add (test_subset_set_flags);
hb_test_add (test_subset_sets);
- hb_test_add (test_subset_legacy_api);
return hb_test_run();
}
diff --git a/util/hb-subset.cc b/util/hb-subset.cc
index 1bf1ff5..ec76330 100644
--- a/util/hb-subset.cc
+++ b/util/hb-subset.cc
@@ -418,7 +418,7 @@
subset_main_t *subset_main = (subset_main_t *) data;
hb_bool_t is_remove = (name[strlen (name) - 1] == '-');
hb_bool_t is_add = (name[strlen (name) - 1] == '+');
- hb_set_t *name_ids = hb_subset_input_nameid_set (subset_main->input);
+ hb_set_t *name_ids = hb_subset_input_set (subset_main->input, HB_SUBSET_SETS_NAME_ID);
if (!is_remove && !is_add) hb_set_clear (name_ids);
@@ -472,7 +472,7 @@
subset_main_t *subset_main = (subset_main_t *) data;
hb_bool_t is_remove = (name[strlen (name) - 1] == '-');
hb_bool_t is_add = (name[strlen (name) - 1] == '+');
- hb_set_t *name_languages = hb_subset_input_namelangid_set (subset_main->input);
+ hb_set_t *name_languages = hb_subset_input_set (subset_main->input, HB_SUBSET_SETS_NAME_LANG_ID);
if (!is_remove && !is_add) hb_set_clear (name_languages);
@@ -540,7 +540,7 @@
subset_main_t *subset_main = (subset_main_t *) data;
hb_bool_t is_remove = (name[strlen (name) - 1] == '-');
hb_bool_t is_add = (name[strlen (name) - 1] == '+');
- hb_set_t *layout_features = hb_subset_input_layout_features_set (subset_main->input);
+ hb_set_t *layout_features = hb_subset_input_set (subset_main->input, HB_SUBSET_SETS_LAYOUT_FEATURE_TAG);
if (!is_remove && !is_add) hb_set_clear (layout_features);
@@ -584,7 +584,7 @@
subset_main_t *subset_main = (subset_main_t *) data;
hb_bool_t is_remove = (name[strlen (name) - 1] == '-');
hb_bool_t is_add = (name[strlen (name) - 1] == '+');
- hb_set_t *drop_tables = hb_subset_input_drop_tables_set (subset_main->input);
+ hb_set_t *drop_tables = hb_subset_input_set (subset_main->input, HB_SUBSET_SETS_DROP_TABLE_TAG);
if (!is_remove && !is_add) hb_set_clear (drop_tables);