Don't use replace_glyphs_be for MultipleSubst
This commit is contained in:
parent
4b7192125f
commit
3ec77d6ae0
|
@ -213,7 +213,10 @@ struct Sequence
|
||||||
if (unlikely (!substitute.len)) return TRACE_RETURN (false);
|
if (unlikely (!substitute.len)) return TRACE_RETURN (false);
|
||||||
|
|
||||||
unsigned int klass = c->property & HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE ? HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH : 0;
|
unsigned int klass = c->property & HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE ? HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH : 0;
|
||||||
c->replace_glyphs_be16 (1, substitute.len, (const char *) substitute.array, klass);
|
unsigned int count = substitute.len;
|
||||||
|
for (unsigned int i = 0; i < count; i++)
|
||||||
|
c->output_glyph (substitute.array[i], klass);
|
||||||
|
c->buffer->skip_glyph ();
|
||||||
|
|
||||||
return TRACE_RETURN (true);
|
return TRACE_RETURN (true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -221,7 +221,12 @@ struct hb_apply_context_t
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inline void output_glyph (hb_codepoint_t glyph_index,
|
||||||
|
unsigned int klass = 0) const
|
||||||
|
{
|
||||||
|
buffer->cur().props_cache() = klass; /*XXX if has gdef? */
|
||||||
|
buffer->output_glyph (glyph_index);
|
||||||
|
}
|
||||||
inline void replace_glyph (hb_codepoint_t glyph_index,
|
inline void replace_glyph (hb_codepoint_t glyph_index,
|
||||||
unsigned int klass = 0) const
|
unsigned int klass = 0) const
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue