From ae8ed58a6e53441d9ccbf67afd8a00b815cde99e Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sat, 24 Nov 2018 17:11:09 -0500 Subject: [PATCH] [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. --- src/hb-aat-layout-morx-table.hh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/hb-aat-layout-morx-table.hh b/src/hb-aat-layout-morx-table.hh index dc406f59f..77abf457f 100644 --- a/src/hb-aat-layout-morx-table.hh +++ b/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 > (*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 > (*subtable); } - c->reset_object (); return_trace (true); }