[kern] Remove Override business
authorBehdad Esfahbod <behdad@behdad.org>
Wed, 7 Nov 2018 14:53:02 +0000 (09:53 -0500)
committerBehdad Esfahbod <behdad@behdad.org>
Wed, 7 Nov 2018 14:53:50 +0000 (09:53 -0500)
Not used in any fonts.  Not well-specified when mixing kerning with
Cross-Stream positioning.

src/hb-ot-kern-table.hh

index b800600..33e6827 100644 (file)
@@ -588,8 +588,6 @@ struct KernTable
           (st->u.header.Variation | st->u.header.CrossStream | st->u.header.Direction)) !=
          st->u.header.DirectionHorizontal)
         continue;
-      if (st->u.header.coverage & st->u.header.Override)
-        v = 0;
       v += st->get_kerning (left, right);
       st = &StructAfter<SubTable> (*st);
     }
@@ -603,15 +601,6 @@ struct KernTable
     c->set_lookup_index (0);
     const SubTable *st = CastP<SubTable> (&thiz()->dataZ);
     unsigned int count = thiz()->nTables;
-    /* If there's an override subtable, skip subtables before that. */
-    unsigned int last_override = 0;
-    for (unsigned int i = 0; i < count; i++)
-    {
-      if (!(st->u.header.coverage & (st->u.header.Variation | st->u.header.CrossStream)) &&
-         (st->u.header.coverage & st->u.header.Override))
-        last_override = i;
-      st = &StructAfter<SubTable> (*st);
-    }
     st = CastP<SubTable> (&thiz()->dataZ);
     for (unsigned int i = 0; i < count; i++)
     {
@@ -622,9 +611,6 @@ struct KernTable
          ((st->u.header.coverage & st->u.header.Direction) == st->u.header.DirectionHorizontal))
        goto skip;
 
-      if (i < last_override)
-       goto skip;
-
       if (!c->buffer->message (c->font, "start kern subtable %d", c->lookup_index))
        goto skip;
 
@@ -719,8 +705,6 @@ struct KernAAT : KernTable<KernAAT>
       CrossStream      = 0x40u,
       Variation                = 0x20u,
 
-      Override         = 0x00u, /* Not supported. */
-
       DirectionHorizontal= 0x00u
     };