[mtiLib] Add some more tests

This commit is contained in:
Behdad Esfahbod 2016-12-26 17:35:21 -05:00
parent 2d3610bb6b
commit ab01846a8d
11 changed files with 521 additions and 0 deletions

View File

@ -20,6 +20,12 @@ class BuilderTest(unittest.TestCase):
#'mti/cmap', #'mti/cmap',
), ),
'GSUB': ( 'GSUB': (
'featurename-backward',
'featurename-forward',
'lookupnames-backward',
'lookupnames-forward',
'mixed-toplevels',
'mti/scripttable', 'mti/scripttable',
'mti/chainedclass', 'mti/chainedclass',
'mti/chainedcoverage', 'mti/chainedcoverage',

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<GSUB>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=2 -->
<ScriptRecord index="0">
<ScriptTag value="tel2"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=2 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="1"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
<ScriptRecord index="1">
<ScriptTag value="telu"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=2 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="1"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=2 -->
<FeatureRecord index="0">
<FeatureTag value="akhn"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="akh2"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=1 -->
<Lookup index="0">
<!-- LookupType=1 -->
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="a" out="b"/>
</SingleSubst>
</Lookup>
</LookupList>
</GSUB>

View File

@ -0,0 +1,14 @@
feature table begin
f0 akhn l1
1 akh2 l1
feature table end
script table begin
telu default 0, 1
tel2 default f0, 1
script table end
lookup l1 single
a b
lookup end

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<GSUB>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=2 -->
<ScriptRecord index="0">
<ScriptTag value="tel2"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=2 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="1"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
<ScriptRecord index="1">
<ScriptTag value="telu"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=2 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="1"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=2 -->
<FeatureRecord index="0">
<FeatureTag value="akhn"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="akh2"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=1 -->
<Lookup index="0">
<!-- LookupType=1 -->
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="a" out="b"/>
</SingleSubst>
</Lookup>
</LookupList>
</GSUB>

View File

@ -0,0 +1,14 @@
script table begin
telu default 0, 1
tel2 default f0, 1
script table end
feature table begin
f0 akhn l1
1 akh2 l1
feature table end
lookup l1 single
a b
lookup end

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<GSUB>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=1 -->
<ScriptRecord index="0">
<ScriptTag value="telu"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=2 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="1"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=2 -->
<FeatureRecord index="0">
<FeatureTag value="akhn"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="akh2"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="1"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=2 -->
<Lookup index="0">
<!-- LookupType=1 -->
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="uuvowelsignkannada" out="uuvowelsignaltkannada"/>
<Substitution in="uvowelsignkannada" out="uvowelsignaltkannada"/>
</SingleSubst>
</Lookup>
<Lookup index="1">
<!-- LookupType=6 -->
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<ChainContextSubst index="0" Format="2">
<Coverage Format="1">
<Glyph value="uvowelsignkannada"/>
<Glyph value="uuvowelsignkannada"/>
</Coverage>
<BacktrackClassDef Format="2">
<ClassDef glyph="pakannada" class="1"/>
<ClassDef glyph="pevowelkannada" class="1"/>
<ClassDef glyph="phakannada" class="1"/>
<ClassDef glyph="phevowelkannada" class="1"/>
<ClassDef glyph="vakannada" class="1"/>
<ClassDef glyph="vevowelkannada" class="1"/>
</BacktrackClassDef>
<InputClassDef Format="1">
<ClassDef glyph="uuvowelsignkannada" class="1"/>
<ClassDef glyph="uvowelsignkannada" class="1"/>
</InputClassDef>
<!-- ChainSubClassSetCount=2 -->
<ChainSubClassSet index="0" empty="1"/>
<ChainSubClassSet index="1">
<!-- ChainSubClassRuleCount=1 -->
<ChainSubClassRule index="0">
<!-- BacktrackGlyphCount=1 -->
<Backtrack index="0" value="1"/>
<!-- InputGlyphCount=1 -->
<!-- LookAheadGlyphCount=0 -->
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="0"/>
</SubstLookupRecord>
</ChainSubClassRule>
</ChainSubClassSet>
</ChainContextSubst>
</Lookup>
</LookupList>
</GSUB>

View File

@ -0,0 +1,36 @@
lookup l1 single
uvowelsignkannada uvowelsignaltkannada
uuvowelsignkannada uuvowelsignaltkannada
lookup end
lookup l0 chained
backtrackclass definition begin
pakannada 1
phakannada 1
vakannada 1
pevowelkannada 1
phevowelkannada 1
vevowelkannada 1
class definition end
class definition begin
uvowelsignkannada 1
uuvowelsignkannada 1
class definition end
class-chain 1 1 1,l1
lookup end
script table begin
telu default 0, 1
script table end
feature table begin
0 akhn l1
1 akh2 l0
feature table end

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<GSUB>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=1 -->
<ScriptRecord index="0">
<ScriptTag value="telu"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=2 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="1"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=2 -->
<FeatureRecord index="0">
<FeatureTag value="akhn"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="1"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="akh2"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=2 -->
<Lookup index="0">
<!-- LookupType=6 -->
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<ChainContextSubst index="0" Format="2">
<Coverage Format="1">
<Glyph value="uvowelsignkannada"/>
<Glyph value="uuvowelsignkannada"/>
</Coverage>
<BacktrackClassDef Format="2">
<ClassDef glyph="pakannada" class="1"/>
<ClassDef glyph="pevowelkannada" class="1"/>
<ClassDef glyph="phakannada" class="1"/>
<ClassDef glyph="phevowelkannada" class="1"/>
<ClassDef glyph="vakannada" class="1"/>
<ClassDef glyph="vevowelkannada" class="1"/>
</BacktrackClassDef>
<InputClassDef Format="1">
<ClassDef glyph="uuvowelsignkannada" class="1"/>
<ClassDef glyph="uvowelsignkannada" class="1"/>
</InputClassDef>
<!-- ChainSubClassSetCount=2 -->
<ChainSubClassSet index="0" empty="1"/>
<ChainSubClassSet index="1">
<!-- ChainSubClassRuleCount=1 -->
<ChainSubClassRule index="0">
<!-- BacktrackGlyphCount=1 -->
<Backtrack index="0" value="1"/>
<!-- InputGlyphCount=1 -->
<!-- LookAheadGlyphCount=0 -->
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="1"/>
</SubstLookupRecord>
</ChainSubClassRule>
</ChainSubClassSet>
</ChainContextSubst>
</Lookup>
<Lookup index="1">
<!-- LookupType=1 -->
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="uuvowelsignkannada" out="uuvowelsignaltkannada"/>
<Substitution in="uvowelsignkannada" out="uvowelsignaltkannada"/>
</SingleSubst>
</Lookup>
</LookupList>
</GSUB>

View File

@ -0,0 +1,36 @@
lookup l0 chained
backtrackclass definition begin
pakannada 1
phakannada 1
vakannada 1
pevowelkannada 1
phevowelkannada 1
vevowelkannada 1
class definition end
class definition begin
uvowelsignkannada 1
uuvowelsignkannada 1
class definition end
class-chain 1 1 1,l1
lookup end
script table begin
telu default 0, 1
script table end
lookup l1 single
uvowelsignkannada uvowelsignaltkannada
uuvowelsignkannada uuvowelsignaltkannada
lookup end
feature table begin
0 akhn l1
1 akh2 l0
feature table end

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<GSUB>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=1 -->
<ScriptRecord index="0">
<ScriptTag value="telu"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=2 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="1"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=2 -->
<FeatureRecord index="0">
<FeatureTag value="akhn"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="1"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="akh2"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=2 -->
<Lookup index="0">
<!-- LookupType=6 -->
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<ChainContextSubst index="0" Format="2">
<Coverage Format="1">
<Glyph value="uvowelsignkannada"/>
<Glyph value="uuvowelsignkannada"/>
</Coverage>
<BacktrackClassDef Format="2">
<ClassDef glyph="pakannada" class="1"/>
<ClassDef glyph="pevowelkannada" class="1"/>
<ClassDef glyph="phakannada" class="1"/>
<ClassDef glyph="phevowelkannada" class="1"/>
<ClassDef glyph="vakannada" class="1"/>
<ClassDef glyph="vevowelkannada" class="1"/>
</BacktrackClassDef>
<InputClassDef Format="1">
<ClassDef glyph="uuvowelsignkannada" class="1"/>
<ClassDef glyph="uvowelsignkannada" class="1"/>
</InputClassDef>
<!-- ChainSubClassSetCount=2 -->
<ChainSubClassSet index="0" empty="1"/>
<ChainSubClassSet index="1">
<!-- ChainSubClassRuleCount=1 -->
<ChainSubClassRule index="0">
<!-- BacktrackGlyphCount=1 -->
<Backtrack index="0" value="1"/>
<!-- InputGlyphCount=1 -->
<!-- LookAheadGlyphCount=0 -->
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="1"/>
</SubstLookupRecord>
</ChainSubClassRule>
</ChainSubClassSet>
</ChainContextSubst>
</Lookup>
<Lookup index="1">
<!-- LookupType=1 -->
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="uuvowelsignkannada" out="uuvowelsignaltkannada"/>
<Substitution in="uvowelsignkannada" out="uvowelsignaltkannada"/>
</SingleSubst>
</Lookup>
</LookupList>
</GSUB>

View File

@ -0,0 +1,36 @@
lookup 0 chained
backtrackclass definition begin
pakannada 1
phakannada 1
vakannada 1
pevowelkannada 1
phevowelkannada 1
vevowelkannada 1
class definition end
class definition begin
uvowelsignkannada 1
uuvowelsignkannada 1
class definition end
class-chain 1 1 1,1
lookup end
script table begin
telu default 0, 1
script table end
lookup 1 single
uvowelsignkannada uvowelsignaltkannada
uuvowelsignkannada uuvowelsignaltkannada
lookup end
feature table begin
0 akhn 1
1 akh2 0
feature table end