Tests: add tests for 'subtable' breaks
This commit is contained in:
parent
9456ae9485
commit
33084b74cf
@ -512,6 +512,18 @@ class BuilderTest(unittest.TestCase):
|
|||||||
addOpenTypeFeatures(font, tree)
|
addOpenTypeFeatures(font, tree)
|
||||||
assert "GSUB" in font
|
assert "GSUB" in font
|
||||||
|
|
||||||
|
def test_unsupported_subtable_break(self):
|
||||||
|
self.assertRaisesRegex(
|
||||||
|
FeatureLibError,
|
||||||
|
'explicit "subtable" statement is intended for .* class kerning',
|
||||||
|
self.build,
|
||||||
|
"feature liga {"
|
||||||
|
" sub f f by f_f;"
|
||||||
|
" subtable;"
|
||||||
|
" sub f i by f_i;"
|
||||||
|
"} liga;"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def generate_feature_file_test(name):
|
def generate_feature_file_test(name):
|
||||||
return lambda self: self.check_feature_file(name)
|
return lambda self: self.check_feature_file(name)
|
||||||
|
@ -1,12 +1,16 @@
|
|||||||
languagesystem DFLT dflt;
|
languagesystem DFLT dflt;
|
||||||
languagesystem latn dflt;
|
languagesystem latn dflt;
|
||||||
|
|
||||||
|
@group1 = [b o];
|
||||||
|
@group2 = [c d];
|
||||||
|
@group3 = [v w];
|
||||||
|
|
||||||
lookup kernlookup {
|
lookup kernlookup {
|
||||||
pos A V -34;
|
pos A V -34;
|
||||||
subtable;
|
subtable;
|
||||||
@group1 = [b o];
|
|
||||||
@group2 = [c d];
|
|
||||||
pos @group1 @group2 -12;
|
pos @group1 @group2 -12;
|
||||||
|
subtable;
|
||||||
|
pos @group3 @group2 -20;
|
||||||
} kernlookup;
|
} kernlookup;
|
||||||
|
|
||||||
feature kern {
|
feature kern {
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
<Lookup index="0">
|
<Lookup index="0">
|
||||||
<LookupType value="2"/>
|
<LookupType value="2"/>
|
||||||
<LookupFlag value="0"/>
|
<LookupFlag value="0"/>
|
||||||
<!-- SubTableCount=2 -->
|
<!-- SubTableCount=3 -->
|
||||||
<PairPos index="0" Format="1">
|
<PairPos index="0" Format="1">
|
||||||
<Coverage>
|
<Coverage>
|
||||||
<Glyph value="A"/>
|
<Glyph value="A"/>
|
||||||
@ -82,6 +82,29 @@
|
|||||||
</Class2Record>
|
</Class2Record>
|
||||||
</Class1Record>
|
</Class1Record>
|
||||||
</PairPos>
|
</PairPos>
|
||||||
|
<PairPos index="2" Format="2">
|
||||||
|
<Coverage>
|
||||||
|
<Glyph value="v"/>
|
||||||
|
<Glyph value="w"/>
|
||||||
|
</Coverage>
|
||||||
|
<ValueFormat1 value="4"/>
|
||||||
|
<ValueFormat2 value="0"/>
|
||||||
|
<ClassDef1>
|
||||||
|
</ClassDef1>
|
||||||
|
<ClassDef2>
|
||||||
|
<ClassDef glyph="c" class="1"/>
|
||||||
|
<ClassDef glyph="d" class="1"/>
|
||||||
|
</ClassDef2>
|
||||||
|
<!-- Class1Count=1 -->
|
||||||
|
<!-- Class2Count=2 -->
|
||||||
|
<Class1Record index="0">
|
||||||
|
<Class2Record index="0">
|
||||||
|
</Class2Record>
|
||||||
|
<Class2Record index="1">
|
||||||
|
<Value1 XAdvance="-20"/>
|
||||||
|
</Class2Record>
|
||||||
|
</Class1Record>
|
||||||
|
</PairPos>
|
||||||
</Lookup>
|
</Lookup>
|
||||||
</LookupList>
|
</LookupList>
|
||||||
</GPOS>
|
</GPOS>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user