提交 d2984a24 编写于 作者: B Behdad Esfahbod

Add map->substitute_closure()

上级 31081f73
......@@ -125,6 +125,9 @@ struct hb_ot_map_t
void *face_or_font,
hb_buffer_t *buffer) const;
HB_INTERNAL void substitute_closure (hb_face_t *face,
hb_glyph_map_t *glyphs) const;
hb_mask_t global_mask;
hb_tag_t chosen_script[2];
......
......@@ -95,6 +95,21 @@ void hb_ot_map_t::apply (unsigned int table_index,
apply_lookup_func (face_or_font, buffer, lookups[table_index][i].index, lookups[table_index][i].mask);
}
void hb_ot_map_t::substitute_closure (hb_face_t *face,
hb_glyph_map_t *glyphs) const
{
unsigned int table_index = 0;
unsigned int i = 0;
for (unsigned int pause_index = 0; pause_index < pauses[table_index].len; pause_index++) {
const pause_map_t *pause = &pauses[table_index][pause_index];
for (; i < pause->num_lookups; i++)
hb_ot_layout_substitute_closure_lookup (face, glyphs, lookups[table_index][i].index);
}
for (; i < lookups[table_index].len; i++)
hb_ot_layout_substitute_closure_lookup (face, glyphs, lookups[table_index][i].index);
}
void hb_ot_map_builder_t::add_pause (unsigned int table_index, hb_ot_map_t::pause_func_t pause_func, void *user_data)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册