[aat] In ContextualSubstitute, apply end-of-text action to last glyph

pull/754/head
Behdad Esfahbod 7 years ago
parent c0b1c7eb2e
commit 8be596f0b7
  1. 9
      src/hb-aat-layout-morx-table.hh

@ -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…
Cancel
Save