[subset] add a new closure call to hb-ot-layout that can compute the closure over multiple lookups.
diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc index c20b110..36e0bf9 100644 --- a/src/hb-ot-shape.cc +++ b/src/hb-ot-shape.cc
@@ -957,15 +957,7 @@ hb_set_t *lookups = hb_set_create (); hb_ot_shape_plan_collect_lookups (shape_plan, HB_OT_TAG_GSUB, lookups); - - /* And find transitive closure. */ - hb_set_t *copy = hb_set_create (); - do { - copy->set (glyphs); - for (hb_codepoint_t lookup_index = HB_SET_VALUE_INVALID; hb_set_next (lookups, &lookup_index);) - hb_ot_layout_lookup_substitute_closure (font->face, lookup_index, glyphs); - } while (!copy->is_equal (glyphs)); - hb_set_destroy (copy); + hb_ot_layout_lookups_substitute_closure (font->face, lookups, glyphs); hb_set_destroy (lookups);