[feaLib] Add test case for bug 463

https://github.com/behdad/fonttools/issues/463
This commit is contained in:
Sascha Brawer 2016-01-26 12:45:56 +01:00
parent 6dcddd9e36
commit ab8f9ee785
3 changed files with 117 additions and 0 deletions

View File

@ -51,6 +51,7 @@ class BuilderTest(unittest.TestCase):
spec4h1 spec5d1 spec5d2 spec5fi1 spec5fi2 spec5fi3 spec5fi4
spec5h1 spec6d2 spec6e spec6f spec6h_ii spec6h_iii_1 spec8a
spec9b spec9c1 spec9c2 spec9c3
bug463
""".split()
def __init__(self, methodName):

View File

@ -0,0 +1,6 @@
# https://github.com/behdad/fonttools/issues/463
feature ordn {
@DIGIT = [zero one two three four five six seven eight nine];
sub @DIGIT [A a]' by ordfeminine;
sub @DIGIT [O o]' by ordmasculine;
} ordn;

110
Lib/fontTools/feaLib/testdata/bug463.ttx vendored Normal file
View File

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8"?>
<ttFont>
<GSUB>
<Version value="1.0"/>
<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="ordn"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="1"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=3 -->
<Lookup index="0">
<!-- LookupType=1 -->
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0">
<Substitution in="A" out="ordfeminine"/>
<Substitution in="a" out="ordfeminine"/>
</SingleSubst>
</Lookup>
<Lookup index="1">
<!-- LookupType=6 -->
<LookupFlag value="0"/>
<!-- SubTableCount=2 -->
<ChainContextSubst index="0" Format="3">
<!-- BacktrackGlyphCount=1 -->
<BacktrackCoverage index="0">
<Glyph value="zero"/>
<Glyph value="one"/>
<Glyph value="two"/>
<Glyph value="three"/>
<Glyph value="four"/>
<Glyph value="five"/>
<Glyph value="six"/>
<Glyph value="seven"/>
<Glyph value="eight"/>
<Glyph value="nine"/>
</BacktrackCoverage>
<!-- InputGlyphCount=1 -->
<InputCoverage index="0">
<Glyph value="A"/>
<Glyph value="a"/>
</InputCoverage>
<!-- LookAheadGlyphCount=0 -->
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="0"/>
</SubstLookupRecord>
</ChainContextSubst>
<ChainContextSubst index="1" Format="3">
<!-- BacktrackGlyphCount=1 -->
<BacktrackCoverage index="0">
<Glyph value="zero"/>
<Glyph value="one"/>
<Glyph value="two"/>
<Glyph value="three"/>
<Glyph value="four"/>
<Glyph value="five"/>
<Glyph value="six"/>
<Glyph value="seven"/>
<Glyph value="eight"/>
<Glyph value="nine"/>
</BacktrackCoverage>
<!-- InputGlyphCount=1 -->
<InputCoverage index="0">
<Glyph value="O"/>
<Glyph value="o"/>
</InputCoverage>
<!-- LookAheadGlyphCount=0 -->
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="2"/>
</SubstLookupRecord>
</ChainContextSubst>
</Lookup>
<Lookup index="2">
<!-- LookupType=1 -->
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0">
<Substitution in="O" out="ordmasculine"/>
<Substitution in="o" out="ordmasculine"/>
</SingleSubst>
</Lookup>
</LookupList>
</GSUB>
</ttFont>