[feaLib] Skip noop class PairPos subtables

If Coverage is None then the subtable is a noop that does nothing and
there is no point in building it. As a bonus, it makes OTS happy since
it will reject subtables where coverageOffset is NULL (0) and the spec
does not say whether this is allowed or not.
This commit is contained in:
Khaled Hosny 2018-09-16 12:23:34 +02:00
parent 0dd03bd1ad
commit baf4f560bb
2 changed files with 6 additions and 0 deletions

View File

@ -1494,6 +1494,8 @@ class ClassPairPosSubtableBuilder(object):
return return
st = otl.buildPairPosClassesSubtable(self.values_, st = otl.buildPairPosClassesSubtable(self.values_,
self.builder_.glyphMap) self.builder_.glyphMap)
if st.Coverage is None:
return
self.subtables_.append(st) self.subtables_.append(st)
self.forceSubtableBreak_ = False self.forceSubtableBreak_ = False

View File

@ -4,6 +4,7 @@ languagesystem latn dflt;
@group1 = [b o]; @group1 = [b o];
@group2 = [c d]; @group2 = [c d];
@group3 = [v w]; @group3 = [v w];
@group4 = [];
lookup kernlookup { lookup kernlookup {
pos A V -34; pos A V -34;
@ -12,6 +13,9 @@ lookup kernlookup {
subtable; subtable;
pos @group1 @group3 -10; pos @group1 @group3 -10;
pos @group3 @group2 -20; pos @group3 @group2 -20;
subtable;
pos @group4 @group1 -10;
pos @group4 @group4 -10;
} kernlookup; } kernlookup;
feature kern { feature kern {