[aat] In ContextualSubstitute, apply end-of-text action to last glyph
This commit is contained in:
parent
c0b1c7eb2e
commit
8be596f0b7
|
@ -219,15 +219,16 @@ struct ContextualSubtable
|
|||
ret = true;
|
||||
}
|
||||
}
|
||||
if (entry->data.currentIndex != 0xFFFF && buffer->idx < buffer->len)
|
||||
if (entry->data.currentIndex != 0xFFFF)
|
||||
{
|
||||
unsigned int idx = MIN (buffer->idx, buffer->len - 1);
|
||||
const Lookup<GlyphID> &lookup = subs[entry->data.currentIndex];
|
||||
hb_glyph_info_t *info = buffer->info;
|
||||
const GlyphID *replacement = lookup.get_value (info[buffer->idx].codepoint, driver->num_glyphs);
|
||||
const GlyphID *replacement = lookup.get_value (info[idx].codepoint, driver->num_glyphs);
|
||||
if (replacement)
|
||||
{
|
||||
buffer->unsafe_to_break (driver->last_zero, MIN (buffer->idx + 1, buffer->len));
|
||||
info[buffer->idx].codepoint = *replacement;
|
||||
buffer->unsafe_to_break (driver->last_zero, idx + 1);
|
||||
info[idx].codepoint = *replacement;
|
||||
ret = true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue