[aat.morx] Remove set_object() business

With OS X 10.13 Apple Chancery fails to ligate if we limit each morx
sub-chain to its declared length.  Perhaps their newer compiler does
object-sharing across sub-chains.  Anyway, since that's a valid, if
unspecified, way to compile tables, remove enforcement.

Probably do the same with kern/kerx.
pull/1411/head
Behdad Esfahbod 6 years ago
parent b518e5af9f
commit ae8ed58a6e
  1. 8
      src/hb-aat-layout-morx-table.hh

@ -1026,8 +1026,6 @@ struct Chain
if (reverse)
c->buffer->reverse ();
c->sanitizer.set_object (*subtable);
subtable->dispatch (c);
if (reverse)
@ -1041,7 +1039,6 @@ struct Chain
subtable = &StructAfter<ChainSubtable<Types> > (*subtable);
c->set_lookup_index (c->lookup_index + 1);
}
c->sanitizer.reset_object ();
}
inline unsigned int get_size (void) const { return length; }
@ -1061,15 +1058,10 @@ struct Chain
unsigned int count = subtableCount;
for (unsigned int i = 0; i < count; i++)
{
c->reset_object ();
if (unlikely (!c->check_struct (subtable)))
return_trace (false);
c->set_object (*subtable);
if (!subtable->sanitize (c))
return_trace (false);
subtable = &StructAfter<ChainSubtable<Types> > (*subtable);
}
c->reset_object ();
return_trace (true);
}

Loading…
Cancel
Save