[aat] Remove morx deleted-glyphs before GPOS processing
Fixes new Apple Color Emoji glyphs sequences rendering. Fixes https://github.com/harfbuzz/harfbuzz/issues/3512
This commit is contained in:
parent
0dcbdbde9c
commit
94f5c630fc
|
@ -935,17 +935,23 @@ hb_ot_substitute_pre (const hb_ot_shape_context_t *c)
|
||||||
_hb_buffer_allocate_gsubgpos_vars (c->buffer);
|
_hb_buffer_allocate_gsubgpos_vars (c->buffer);
|
||||||
|
|
||||||
hb_ot_substitute_complex (c);
|
hb_ot_substitute_complex (c);
|
||||||
|
|
||||||
|
#ifndef HB_NO_AAT_SHAPE
|
||||||
|
if (c->plan->apply_morx && c->plan->apply_gpos)
|
||||||
|
hb_aat_layout_remove_deleted_glyphs (c->buffer);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
hb_ot_substitute_post (const hb_ot_shape_context_t *c)
|
hb_ot_substitute_post (const hb_ot_shape_context_t *c)
|
||||||
{
|
{
|
||||||
hb_ot_hide_default_ignorables (c->buffer, c->font);
|
|
||||||
#ifndef HB_NO_AAT_SHAPE
|
#ifndef HB_NO_AAT_SHAPE
|
||||||
if (c->plan->apply_morx)
|
if (c->plan->apply_morx && !c->plan->apply_gpos)
|
||||||
hb_aat_layout_remove_deleted_glyphs (c->buffer);
|
hb_aat_layout_remove_deleted_glyphs (c->buffer);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
hb_ot_hide_default_ignorables (c->buffer, c->font);
|
||||||
|
|
||||||
if (c->plan->shaper->postprocess_glyphs &&
|
if (c->plan->shaper->postprocess_glyphs &&
|
||||||
c->buffer->message(c->font, "start postprocess-glyphs")) {
|
c->buffer->message(c->font, "start postprocess-glyphs")) {
|
||||||
c->plan->shaper->postprocess_glyphs (c->plan, c->buffer, c->font);
|
c->plan->shaper->postprocess_glyphs (c->plan, c->buffer, c->font);
|
||||||
|
|
Loading…
Reference in New Issue