Add map->substitute_closure()
This commit is contained in:
parent
31081f7390
commit
d2984a241e
|
@ -125,6 +125,9 @@ struct hb_ot_map_t
|
||||||
void *face_or_font,
|
void *face_or_font,
|
||||||
hb_buffer_t *buffer) const;
|
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_mask_t global_mask;
|
||||||
|
|
||||||
hb_tag_t chosen_script[2];
|
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);
|
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)
|
void hb_ot_map_builder_t::add_pause (unsigned int table_index, hb_ot_map_t::pause_func_t pause_func, void *user_data)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue