aboutsummaryrefslogtreecommitdiff
path: root/test/api/test-subset-nameids.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/api/test-subset-nameids.c')
-rw-r--r--test/api/test-subset-nameids.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/api/test-subset-nameids.c b/test/api/test-subset-nameids.c
index b58a86c91..e51b470ab 100644
--- a/test/api/test-subset-nameids.c
+++ b/test/api/test-subset-nameids.c
@@ -67,6 +67,44 @@ test_subset_nameids_with_dup_strs (void)
hb_face_destroy (face_expected);
}
+#ifdef HB_EXPERIMENTAL_API
+static void
+test_subset_name_overrides (void)
+{
+ hb_face_t *face_origin = hb_test_open_font_file ("fonts/nameID.origin.ttf");
+ hb_face_t *face_expected = hb_test_open_font_file ("fonts/nameID.override.expected.ttf");
+
+ char str1[] = "Roboto Test";
+ char str1_3[] = "Roboto Test unicode platform";
+ char str2[] = "Bold";
+ char str6[] = "Roboto-Bold";
+ char str12[] = "Non ascii test Ü";
+ char str16[] = "Roboto-test-inserting";
+
+ hb_set_t *name_ids = hb_set_create();
+ hb_face_t *face_subset;
+ hb_set_add_range (name_ids, 0, 15);
+
+ hb_subset_input_t *subset_input = hb_subset_test_create_input_from_nameids (name_ids);
+ hb_subset_input_override_name_table (subset_input, 1, 1, 0, 0, str1, -1);
+ hb_subset_input_override_name_table (subset_input, 1, 3, 1, 0x409, str1_3, -1);
+ hb_subset_input_override_name_table (subset_input, 2, 1, 0, 0, str2, 4);
+ hb_subset_input_override_name_table (subset_input, 6, 1, 0, 0, str6, -1);
+ hb_subset_input_override_name_table (subset_input, 12, 1, 0, 0, str12, -1);
+ hb_subset_input_override_name_table (subset_input, 14, 1, 0, 0, NULL, -1);
+ hb_subset_input_override_name_table (subset_input, 16, 1, 0, 0, str16, -1);
+
+ face_subset = hb_subset_test_create_subset (face_origin, subset_input);
+ hb_set_destroy (name_ids);
+
+ hb_subset_test_check (face_expected, face_subset, HB_TAG ('n','a','m','e'));
+
+ hb_face_destroy (face_subset);
+ hb_face_destroy (face_origin);
+ hb_face_destroy (face_expected);
+}
+#endif
+
int
main (int argc, char **argv)
{
@@ -74,6 +112,9 @@ main (int argc, char **argv)
hb_test_add (test_subset_nameids);
hb_test_add (test_subset_nameids_with_dup_strs);
+#ifdef HB_EXPERIMENTAL_API
+ hb_test_add (test_subset_name_overrides);
+#endif
return hb_test_run();
}