[unsafe-to-concat] Mark as unsafe in kern machine

Fixes that last test. Yay!
This commit is contained in:
Behdad Esfahbod 2022-01-22 11:19:05 -07:00
parent 14d43d1235
commit bcdfedbc09
2 changed files with 1 additions and 2 deletions

View File

@ -406,7 +406,6 @@ struct KerxSubTableFormat2
accelerator_t accel (*this, c); accelerator_t accel (*this, c);
hb_kern_machine_t<accelerator_t> machine (accel, header.coverage & header.CrossStream); hb_kern_machine_t<accelerator_t> machine (accel, header.coverage & header.CrossStream);
machine.kern (c->font, c->buffer, c->plan->kern_mask); machine.kern (c->font, c->buffer, c->plan->kern_mask);
c->buffer->set_glyph_flags (HB_GLYPH_FLAG_UNSAFE_TO_CONCAT);
return_trace (true); return_trace (true);
} }

View File

@ -49,6 +49,7 @@ struct hb_kern_machine_t
hb_mask_t kern_mask, hb_mask_t kern_mask,
bool scale = true) const bool scale = true) const
{ {
buffer->set_glyph_flags (HB_GLYPH_FLAG_UNSAFE_TO_CONCAT);
OT::hb_ot_apply_context_t c (1, font, buffer); OT::hb_ot_apply_context_t c (1, font, buffer);
c.set_lookup_mask (kern_mask); c.set_lookup_mask (kern_mask);
c.set_lookup_props (OT::LookupFlag::IgnoreMarks); c.set_lookup_props (OT::LookupFlag::IgnoreMarks);
@ -70,7 +71,6 @@ struct hb_kern_machine_t
unsigned unsafe_to; unsigned unsafe_to;
if (!skippy_iter.next (&unsafe_to)) if (!skippy_iter.next (&unsafe_to))
{ {
buffer->unsafe_to_concat (idx, unsafe_to);
idx++; idx++;
continue; continue;
} }