Add hb_face_get_table_tags()
New API:
hb_face_get_table_tags()
Fixes https://github.com/behdad/harfbuzz/issues/560
diff --git a/src/hb-open-file-private.hh b/src/hb-open-file-private.hh
index f208419..dcfdfd6 100644
--- a/src/hb-open-file-private.hh
+++ b/src/hb-open-file-private.hh
@@ -79,6 +79,24 @@
if (unlikely (i >= numTables)) return Null(TableRecord);
return tables[i];
}
+ inline unsigned int get_table_tags (unsigned int start_offset,
+ unsigned int *table_count, /* IN/OUT */
+ hb_tag_t *table_tags /* OUT */) const
+ {
+ if (table_count)
+ {
+ if (start_offset >= numTables)
+ *table_count = 0;
+ else
+ *table_count = MIN (*table_count, numTables - start_offset);
+
+ const TableRecord *sub_tables = tables + start_offset;
+ unsigned int count = *table_count;
+ for (unsigned int i = 0; i < count; i++)
+ table_tags[i] = sub_tables[i].tag;
+ }
+ return numTables;
+ }
inline bool find_table_index (hb_tag_t tag, unsigned int *table_index) const
{
Tag t;