[subset] Use internal API of hb_set_t

This commit is contained in:
Ebrahim Byagowi 2019-09-02 01:41:48 +04:30
parent 8ccf328d54
commit 41d6e95b0d
1 changed files with 3 additions and 4 deletions

View File

@ -285,24 +285,23 @@ hb_subset (hb_face_t *source,
hb_tag_t table_tags[32];
unsigned int offset = 0, count;
bool success = true;
hb_set_t *tags_set = hb_set_create ();
hb_set_t tags_set;
do {
count = ARRAY_LENGTH (table_tags);
hb_face_get_table_tags (source, offset, &count, table_tags);
for (unsigned int i = 0; i < count; i++)
{
hb_tag_t tag = table_tags[i];
if (_should_drop_table (plan, tag) && !hb_set_has (tags_set, tag))
if (_should_drop_table (plan, tag) && !tags_set.has (tag))
{
DEBUG_MSG(SUBSET, nullptr, "drop %c%c%c%c", HB_UNTAG (tag));
continue;
}
hb_set_add (tags_set, tag);
tags_set.add (tag);
success = success && _subset_table (plan, tag);
}
offset += count;
} while (success && count == ARRAY_LENGTH (table_tags));
hb_set_destroy (tags_set);
hb_face_t *result = success ? hb_face_reference (plan->dest) : hb_face_get_empty ();
hb_subset_plan_destroy (plan);