[API] Add hb_ot_layout_lookup_get_coverage()

This commit is contained in:
Behdad Esfahbod 2013-04-21 16:34:18 -04:00
parent 5d59f99920
commit 07034f447b
2 changed files with 31 additions and 0 deletions

View File

@ -591,6 +591,31 @@ hb_ot_layout_collect_lookups (hb_face_t *face,
} }
} }
void
hb_ot_layout_lookup_get_coverage (hb_face_t *face,
hb_tag_t table_tag,
unsigned int lookup_index,
hb_set_t *glyphs /* OUT */)
{
if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return;
switch (table_tag)
{
case HB_OT_TAG_GSUB:
{
const OT::SubstLookup& l = hb_ot_layout_from_face (face)->gsub->get_lookup (lookup_index);
l.add_coverage (glyphs);
return;
}
case HB_OT_TAG_GPOS:
{
const OT::PosLookup& l = hb_ot_layout_from_face (face)->gpos->get_lookup (lookup_index);
l.add_coverage (glyphs);
return;
}
}
}
void void
hb_ot_layout_lookup_collect_glyphs (hb_face_t *face, hb_ot_layout_lookup_collect_glyphs (hb_face_t *face,
hb_tag_t table_tag, hb_tag_t table_tag,

View File

@ -192,6 +192,12 @@ hb_ot_shape_plan_collect_lookups (hb_shape_plan_t *shape_plan,
hb_tag_t table_tag, hb_tag_t table_tag,
hb_set_t *lookup_indexes /* OUT */); hb_set_t *lookup_indexes /* OUT */);
void
hb_ot_layout_lookup_get_coverage (hb_face_t *face,
hb_tag_t table_tag,
unsigned int lookup_index,
hb_set_t *glyphs /* OUT */);
void void
hb_ot_layout_lookup_collect_glyphs (hb_face_t *face, hb_ot_layout_lookup_collect_glyphs (hb_face_t *face,
hb_tag_t table_tag, hb_tag_t table_tag,