diff options
Diffstat (limited to 'Tests/feaLib/data')
-rw-r--r-- | Tests/feaLib/data/PairPosSubtable.fea | 13 | ||||
-rw-r--r-- | Tests/feaLib/data/PairPosSubtable.ttx | 54 | ||||
-rw-r--r-- | Tests/feaLib/data/bug1307.fea | 65 | ||||
-rw-r--r-- | Tests/feaLib/data/bug1307.ttx | 215 |
4 files changed, 334 insertions, 13 deletions
diff --git a/Tests/feaLib/data/PairPosSubtable.fea b/Tests/feaLib/data/PairPosSubtable.fea index 021f3cc0..cb78801c 100644 --- a/Tests/feaLib/data/PairPosSubtable.fea +++ b/Tests/feaLib/data/PairPosSubtable.fea @@ -1,12 +1,21 @@ languagesystem DFLT dflt; languagesystem latn dflt; +@group1 = [b o]; +@group2 = [c d]; +@group3 = [v w]; +@group4 = []; + lookup kernlookup { pos A V -34; subtable; - @group1 = [b o]; - @group2 = [c d]; pos @group1 @group2 -12; + subtable; + pos @group1 @group3 -10; + pos @group3 @group2 -20; + subtable; + pos @group4 @group1 -10; + pos @group4 @group4 -10; } kernlookup; feature kern { diff --git a/Tests/feaLib/data/PairPosSubtable.ttx b/Tests/feaLib/data/PairPosSubtable.ttx index 13a77aaa..4b76f991 100644 --- a/Tests/feaLib/data/PairPosSubtable.ttx +++ b/Tests/feaLib/data/PairPosSubtable.ttx @@ -22,14 +22,14 @@ <DefaultLangSys> <ReqFeatureIndex value="65535"/> <!-- FeatureCount=1 --> - <FeatureIndex index="0" value="1"/> + <FeatureIndex index="0" value="0"/> </DefaultLangSys> <!-- LangSysCount=0 --> </Script> </ScriptRecord> </ScriptList> <FeatureList> - <!-- FeatureCount=2 --> + <!-- FeatureCount=1 --> <FeatureRecord index="0"> <FeatureTag value="kern"/> <Feature> @@ -37,21 +37,13 @@ <LookupListIndex index="0" value="0"/> </Feature> </FeatureRecord> - <FeatureRecord index="1"> - <FeatureTag value="kern"/> - <Feature> - <!-- LookupCount=2 --> - <LookupListIndex index="0" value="0"/> - <LookupListIndex index="1" value="0"/> - </Feature> - </FeatureRecord> </FeatureList> <LookupList> <!-- LookupCount=1 --> <Lookup index="0"> <LookupType value="2"/> <LookupFlag value="0"/> - <!-- SubTableCount=2 --> + <!-- SubTableCount=3 --> <PairPos index="0" Format="1"> <Coverage> <Glyph value="A"/> @@ -90,6 +82,46 @@ </Class2Record> </Class1Record> </PairPos> + <PairPos index="2" Format="2"> + <Coverage> + <Glyph value="b"/> + <Glyph value="o"/> + <Glyph value="v"/> + <Glyph value="w"/> + </Coverage> + <ValueFormat1 value="4"/> + <ValueFormat2 value="0"/> + <ClassDef1> + <ClassDef glyph="b" class="1"/> + <ClassDef glyph="o" class="1"/> + </ClassDef1> + <ClassDef2> + <ClassDef glyph="c" class="2"/> + <ClassDef glyph="d" class="2"/> + <ClassDef glyph="v" class="1"/> + <ClassDef glyph="w" class="1"/> + </ClassDef2> + <!-- Class1Count=2 --> + <!-- Class2Count=3 --> + <Class1Record index="0"> + <Class2Record index="0"> + </Class2Record> + <Class2Record index="1"> + </Class2Record> + <Class2Record index="2"> + <Value1 XAdvance="-20"/> + </Class2Record> + </Class1Record> + <Class1Record index="1"> + <Class2Record index="0"> + </Class2Record> + <Class2Record index="1"> + <Value1 XAdvance="-10"/> + </Class2Record> + <Class2Record index="2"> + </Class2Record> + </Class1Record> + </PairPos> </Lookup> </LookupList> </GPOS> diff --git a/Tests/feaLib/data/bug1307.fea b/Tests/feaLib/data/bug1307.fea new file mode 100644 index 00000000..dbc4ae36 --- /dev/null +++ b/Tests/feaLib/data/bug1307.fea @@ -0,0 +1,65 @@ +# Test of features and languagesystems + +lookup a { + sub a by A; +} a; + +lookup b { + sub b by B; +} b; + +lookup c { + sub c by C; +} c; + +lookup d { + sub d by D; +} d; + +lookup e { + sub e by E; +} e; + +lookup f { + sub f by F; +} f; + +lookup g { + sub g by G; +} g; + +lookup h { + sub h by H; +} h; + +lookup i { + sub i by I; +} i; + +languagesystem DFLT dflt; +languagesystem DFLT FRE; +languagesystem DFLT ABC; +languagesystem latn dflt; +languagesystem latn ABC; + +feature smcp { + lookup a; +} smcp; + +feature liga { + lookup b; + script DFLT; + lookup c; + language dflt; + lookup d; + language FRE; + lookup e; + script latn; + lookup f; + language dflt; + lookup g; + language FRE; + lookup h; + language DEF exclude_dflt; + lookup i; +} liga; diff --git a/Tests/feaLib/data/bug1307.ttx b/Tests/feaLib/data/bug1307.ttx new file mode 100644 index 00000000..1ecbf03f --- /dev/null +++ b/Tests/feaLib/data/bug1307.ttx @@ -0,0 +1,215 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ttFont> + + <GSUB> + <Version value="0x00010000"/> + <ScriptList> + <!-- ScriptCount=2 --> + <ScriptRecord index="0"> + <ScriptTag value="DFLT"/> + <Script> + <DefaultLangSys> + <ReqFeatureIndex value="65535"/> + <!-- FeatureCount=2 --> + <FeatureIndex index="0" value="4"/> + <FeatureIndex index="1" value="6"/> + </DefaultLangSys> + <!-- LangSysCount=2 --> + <LangSysRecord index="0"> + <LangSysTag value="ABC "/> + <LangSys> + <ReqFeatureIndex value="65535"/> + <!-- FeatureCount=2 --> + <FeatureIndex index="0" value="0"/> + <FeatureIndex index="1" value="6"/> + </LangSys> + </LangSysRecord> + <LangSysRecord index="1"> + <LangSysTag value="FRE "/> + <LangSys> + <ReqFeatureIndex value="65535"/> + <!-- FeatureCount=2 --> + <FeatureIndex index="0" value="2"/> + <FeatureIndex index="1" value="6"/> + </LangSys> + </LangSysRecord> + </Script> + </ScriptRecord> + <ScriptRecord index="1"> + <ScriptTag value="latn"/> + <Script> + <DefaultLangSys> + <ReqFeatureIndex value="65535"/> + <!-- FeatureCount=2 --> + <FeatureIndex index="0" value="5"/> + <FeatureIndex index="1" value="6"/> + </DefaultLangSys> + <!-- LangSysCount=3 --> + <LangSysRecord index="0"> + <LangSysTag value="ABC "/> + <LangSys> + <ReqFeatureIndex value="65535"/> + <!-- FeatureCount=2 --> + <FeatureIndex index="0" value="0"/> + <FeatureIndex index="1" value="6"/> + </LangSys> + </LangSysRecord> + <LangSysRecord index="1"> + <LangSysTag value="DEF "/> + <LangSys> + <ReqFeatureIndex value="65535"/> + <!-- FeatureCount=1 --> + <FeatureIndex index="0" value="1"/> + </LangSys> + </LangSysRecord> + <LangSysRecord index="2"> + <LangSysTag value="FRE "/> + <LangSys> + <ReqFeatureIndex value="65535"/> + <!-- FeatureCount=1 --> + <FeatureIndex index="0" value="3"/> + </LangSys> + </LangSysRecord> + </Script> + </ScriptRecord> + </ScriptList> + <FeatureList> + <!-- FeatureCount=7 --> + <FeatureRecord index="0"> + <FeatureTag value="liga"/> + <Feature> + <!-- LookupCount=1 --> + <LookupListIndex index="0" value="1"/> + </Feature> + </FeatureRecord> + <FeatureRecord index="1"> + <FeatureTag value="liga"/> + <Feature> + <!-- LookupCount=1 --> + <LookupListIndex index="0" value="8"/> + </Feature> + </FeatureRecord> + <FeatureRecord index="2"> + <FeatureTag value="liga"/> + <Feature> + <!-- LookupCount=4 --> + <LookupListIndex index="0" value="1"/> + <LookupListIndex index="1" value="2"/> + <LookupListIndex index="2" value="3"/> + <LookupListIndex index="3" value="4"/> + </Feature> + </FeatureRecord> + <FeatureRecord index="3"> + <FeatureTag value="liga"/> + <Feature> + <!-- LookupCount=4 --> + <LookupListIndex index="0" value="1"/> + <LookupListIndex index="1" value="5"/> + <LookupListIndex index="2" value="6"/> + <LookupListIndex index="3" value="7"/> + </Feature> + </FeatureRecord> + <FeatureRecord index="4"> + <FeatureTag value="liga"/> + <Feature> + <!-- LookupCount=3 --> + <LookupListIndex index="0" value="1"/> + <LookupListIndex index="1" value="2"/> + <LookupListIndex index="2" value="3"/> + </Feature> + </FeatureRecord> + <FeatureRecord index="5"> + <FeatureTag value="liga"/> + <Feature> + <!-- LookupCount=3 --> + <LookupListIndex index="0" value="1"/> + <LookupListIndex index="1" value="5"/> + <LookupListIndex index="2" value="6"/> + </Feature> + </FeatureRecord> + <FeatureRecord index="6"> + <FeatureTag value="smcp"/> + <Feature> + <!-- LookupCount=1 --> + <LookupListIndex index="0" value="0"/> + </Feature> + </FeatureRecord> + </FeatureList> + <LookupList> + <!-- LookupCount=9 --> + <Lookup index="0"> + <LookupType value="1"/> + <LookupFlag value="0"/> + <!-- SubTableCount=1 --> + <SingleSubst index="0"> + <Substitution in="a" out="A"/> + </SingleSubst> + </Lookup> + <Lookup index="1"> + <LookupType value="1"/> + <LookupFlag value="0"/> + <!-- SubTableCount=1 --> + <SingleSubst index="0"> + <Substitution in="b" out="B"/> + </SingleSubst> + </Lookup> + <Lookup index="2"> + <LookupType value="1"/> + <LookupFlag value="0"/> + <!-- SubTableCount=1 --> + <SingleSubst index="0"> + <Substitution in="c" out="C"/> + </SingleSubst> + </Lookup> + <Lookup index="3"> + <LookupType value="1"/> + <LookupFlag value="0"/> + <!-- SubTableCount=1 --> + <SingleSubst index="0"> + <Substitution in="d" out="D"/> + </SingleSubst> + </Lookup> + <Lookup index="4"> + <LookupType value="1"/> + <LookupFlag value="0"/> + <!-- SubTableCount=1 --> + <SingleSubst index="0"> + <Substitution in="e" out="E"/> + </SingleSubst> + </Lookup> + <Lookup index="5"> + <LookupType value="1"/> + <LookupFlag value="0"/> + <!-- SubTableCount=1 --> + <SingleSubst index="0"> + <Substitution in="f" out="F"/> + </SingleSubst> + </Lookup> + <Lookup index="6"> + <LookupType value="1"/> + <LookupFlag value="0"/> + <!-- SubTableCount=1 --> + <SingleSubst index="0"> + <Substitution in="g" out="G"/> + </SingleSubst> + </Lookup> + <Lookup index="7"> + <LookupType value="1"/> + <LookupFlag value="0"/> + <!-- SubTableCount=1 --> + <SingleSubst index="0"> + <Substitution in="h" out="H"/> + </SingleSubst> + </Lookup> + <Lookup index="8"> + <LookupType value="1"/> + <LookupFlag value="0"/> + <!-- SubTableCount=1 --> + <SingleSubst index="0"> + <Substitution in="i" out="I"/> + </SingleSubst> + </Lookup> + </LookupList> + </GSUB> + +</ttFont> |