[feaLib] Add test case for class-based pair kerning with zero values

https://github.com/fonttools/fonttools/issues/633
This commit is contained in:
Sascha Brawer 2017-02-16 15:53:19 +01:00
parent 7c67e4a63d
commit fa69c64466
3 changed files with 79 additions and 1 deletions

View File

@ -63,7 +63,7 @@ class BuilderTest(unittest.TestCase):
spec9a spec9b spec9c1 spec9c2 spec9c3 spec9d spec9e spec9f spec9g spec9a spec9b spec9c1 spec9c2 spec9c3 spec9d spec9e spec9f spec9g
spec10 spec10
bug453 bug457 bug463 bug501 bug502 bug504 bug505 bug506 bug509 bug453 bug457 bug463 bug501 bug502 bug504 bug505 bug506 bug509
bug512 bug568 bug512 bug568 bug633
name size size2 multiple_feature_blocks omitted_GlyphClassDef name size size2 multiple_feature_blocks omitted_GlyphClassDef
ZeroValue_SinglePos ZeroValue_SinglePos
ZeroValue_PairPos_horizontal ZeroValue_PairPos_vertical ZeroValue_PairPos_horizontal ZeroValue_PairPos_vertical

View File

@ -0,0 +1,10 @@
# https://github.com/fonttools/fonttools/issues/633
@public.kern1.K = [K X];
@public.kern2.O = [C O];
@public.kern2.V = [V W];
feature kern {
pos @public.kern1.K @public.kern2.O -20;
pos @public.kern1.K @public.kern2.V 0;
} kern;

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<ttFont sfntVersion="true" ttLibVersion="3.0">
<GPOS>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=1 -->
<ScriptRecord index="0">
<ScriptTag value="DFLT"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="0"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=1 -->
<FeatureRecord index="0">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=1 -->
<Lookup index="0">
<LookupType value="2"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<PairPos index="0" Format="2">
<Coverage>
<Glyph value="K"/>
<Glyph value="X"/>
</Coverage>
<ValueFormat1 value="4"/>
<ValueFormat2 value="0"/>
<ClassDef1>
</ClassDef1>
<ClassDef2>
<ClassDef glyph="C" class="2"/>
<ClassDef glyph="O" class="2"/>
<ClassDef glyph="V" class="1"/>
<ClassDef glyph="W" class="1"/>
</ClassDef2>
<!-- Class1Count=1 -->
<!-- Class2Count=3 -->
<Class1Record index="0">
<Class2Record index="0">
</Class2Record>
<Class2Record index="1">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="2">
<Value1 XAdvance="-20"/>
</Class2Record>
</Class1Record>
</PairPos>
</Lookup>
</LookupList>
</GPOS>
</ttFont>