[morx] Remove mark_set from Insertion

text-rendering-tests test MORX-32 shows that for Insertion, an unset mark is treated
as mark set at 0.  This is unlike the Reordering lookup where un unset mark performs
nothing.

Fixes MORX-32.
pull/1197/head^2
Behdad Esfahbod 6 years ago
parent 0d18ec5467
commit f4072e8cb8
  1. 7
      src/hb-aat-layout-morx-table.hh

@ -592,7 +592,6 @@ struct InsertionSubtable
hb_aat_apply_context_t *c_) :
ret (false),
c (c_),
mark_set (false),
mark (0),
insertionAction (table+table->insertionAction) {}
@ -608,7 +607,7 @@ struct InsertionSubtable
hb_buffer_t *buffer = driver->buffer;
unsigned int flags = entry->flags;
if (entry->data.markedInsertIndex != 0xFFFF && mark_set)
if (entry->data.markedInsertIndex != 0xFFFF)
{
unsigned int count = (flags & MarkedInsertCount);
unsigned int start = entry->data.markedInsertIndex;
@ -669,10 +668,7 @@ struct InsertionSubtable
}
if (flags & SetMark)
{
mark_set = true;
mark = buffer->out_len;
}
return true;
}
@ -681,7 +677,6 @@ struct InsertionSubtable
bool ret;
private:
hb_aat_apply_context_t *c;
bool mark_set;
unsigned int mark;
const UnsizedArrayOf<GlyphID> &insertionAction;
};

Loading…
Cancel
Save