Merge pull request #871 from miguelsousa/more-varlib-tests

varLib.interpolate_layout test
This commit is contained in:
Cosimo Lupo 2017-03-03 10:32:21 +00:00 committed by GitHub
commit f8349bab83
49 changed files with 4425 additions and 0 deletions

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<designspace format="3">
<axes>
<axis default="0.0" maximum="1000.0" minimum="0.0" name="weight" tag="wght" />
</axes>
<sources>
<source familyname="Test Family 2" filename="master_ufo/TestFamily2-Master0.ufo" name="master_0" stylename="Master0">
<lib copy="1" />
<groups copy="1" />
<info copy="1" />
<location>
<dimension name="weight" xvalue="0" />
</location>
</source>
<source familyname="Test Family 2" filename="master_ufo/TestFamily2-Master1.ufo" name="master_1" stylename="Master1">
<location>
<dimension name="weight" xvalue="1000" />
</location>
</source>
</sources>
<instances>
<instance familyname="Test Family 2" filename="instances/TestFamily2-ExtraLight.ufo" name="instance_ExtraLight" postscriptfontname="TestFamily2-ExtraLight" stylename="ExtraLight">
<location>
<dimension name="weight" xvalue="0" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Test Family 2" filename="instances/TestFamily2-Light.ufo" name="instance_Light" postscriptfontname="TestFamily2-Light" stylename="Light">
<location>
<dimension name="weight" xvalue="100" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Test Family 2" filename="instances/TestFamily2-Regular.ufo" name="instance_Regular" postscriptfontname="TestFamily2-Regular" stylename="Regular">
<location>
<dimension name="weight" xvalue="368" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Test Family 2" filename="instances/TestFamily2-Semibold.ufo" name="instance_Semibold" postscriptfontname="TestFamily2-Semibold" stylename="Semibold">
<location>
<dimension name="weight" xvalue="600" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Test Family 2" filename="instances/TestFamily2-Bold.ufo" name="instance_Bold" postscriptfontname="TestFamily2-Bold" stylename="Bold">
<location>
<dimension name="weight" xvalue="824" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Test Family 2" filename="instances/TestFamily2-Black.ufo" name="instance_Black" postscriptfontname="TestFamily2-Black" stylename="Black">
<location>
<dimension name="weight" xvalue="1000" />
</location>
<kerning />
<info />
</instance>
</instances>
</designspace>

View File

@ -0,0 +1,161 @@
<?xml version="1.0" encoding="UTF-8"?>
<ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="3.7">
<GSUB>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=2 -->
<ScriptRecord index="0">
<ScriptTag value="DFLT"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=6 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="1"/>
<FeatureIndex index="2" value="2"/>
<FeatureIndex index="3" value="3"/>
<FeatureIndex index="4" value="4"/>
<FeatureIndex index="5" value="5"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
<ScriptRecord index="1">
<ScriptTag value="latn"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=6 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="1"/>
<FeatureIndex index="2" value="2"/>
<FeatureIndex index="3" value="3"/>
<FeatureIndex index="4" value="4"/>
<FeatureIndex index="5" value="5"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=6 -->
<FeatureRecord index="0">
<FeatureTag value="c2sc"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="calt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="2">
<FeatureTag value="ccmp"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="2"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="3">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="4">
<FeatureTag value="salt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="3"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="5">
<FeatureTag value="ss01"/>
<Feature>
<FeatureParamsStylisticSet>
<Version value="0"/>
<UINameID value="256"/> <!-- Alternate a -->
</FeatureParamsStylisticSet>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="1"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=6 -->
<Lookup index="0">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="A" out="A.sc"/>
</SingleSubst>
</Lookup>
<Lookup index="1">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="a" out="a.alt"/>
</SingleSubst>
</Lookup>
<Lookup index="2">
<LookupType value="2"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<MultipleSubst index="0" Format="1">
<Substitution in="ampersand" out="a,n,d"/>
</MultipleSubst>
</Lookup>
<Lookup index="3">
<LookupType value="3"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<AlternateSubst index="0" Format="1">
<AlternateSet glyph="a">
<Alternate glyph="a.alt"/>
<Alternate glyph="A.sc"/>
</AlternateSet>
</AlternateSubst>
</Lookup>
<Lookup index="4">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="f">
<Ligature components="t" glyph="f_t"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="5">
<LookupType value="6"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<ChainContextSubst index="0" Format="3">
<!-- BacktrackGlyphCount=0 -->
<!-- InputGlyphCount=1 -->
<InputCoverage index="0" Format="1">
<Glyph value="a"/>
</InputCoverage>
<!-- LookAheadGlyphCount=1 -->
<LookAheadCoverage index="0" Format="1">
<Glyph value="t"/>
</LookAheadCoverage>
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="1"/>
</SubstLookupRecord>
</ChainContextSubst>
</Lookup>
</LookupList>
</GSUB>
</ttFont>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,977 @@
<?xml version="1.0" encoding="UTF-8"?>
<ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="3.7">
<GlyphOrder>
<!-- The 'id' attribute is only for humans; it is ignored when parsed. -->
<GlyphID id="0" name=".notdef"/>
<GlyphID id="1" name="space"/>
<GlyphID id="2" name="A"/>
<GlyphID id="3" name="a"/>
<GlyphID id="4" name="d"/>
<GlyphID id="5" name="f"/>
<GlyphID id="6" name="n"/>
<GlyphID id="7" name="t"/>
<GlyphID id="8" name="f_t"/>
<GlyphID id="9" name="a.alt"/>
<GlyphID id="10" name="A.sc"/>
<GlyphID id="11" name="ampersand"/>
<GlyphID id="12" name="uni25CC"/>
<GlyphID id="13" name="uni0303"/>
<GlyphID id="14" name="uni0308"/>
<GlyphID id="15" name="uni0330"/>
<GlyphID id="16" name="uni0324"/>
</GlyphOrder>
<head>
<!-- Most of this table will be recalculated by the compiler -->
<tableVersion value="1.0"/>
<fontRevision value="2.02"/>
<checkSumAdjustment value="0x4e99b130"/>
<magicNumber value="0x5f0f3cf5"/>
<flags value="00000000 00000001"/>
<unitsPerEm value="1000"/>
<created value="Thu Mar 2 22:23:11 2017"/>
<modified value="Thu Mar 2 22:23:11 2017"/>
<xMin value="-196"/>
<yMin value="-228"/>
<xMax value="706"/>
<yMax value="746"/>
<macStyle value="00000000 00000000"/>
<lowestRecPPEM value="6"/>
<fontDirectionHint value="2"/>
<indexToLocFormat value="0"/>
<glyphDataFormat value="0"/>
</head>
<hhea>
<tableVersion value="0x00010000"/>
<ascent value="984"/>
<descent value="-273"/>
<lineGap value="0"/>
<advanceWidthMax value="724"/>
<minLeftSideBearing value="-196"/>
<minRightSideBearing value="-196"/>
<xMaxExtent value="706"/>
<caretSlopeRise value="1"/>
<caretSlopeRun value="0"/>
<caretOffset value="0"/>
<reserved0 value="0"/>
<reserved1 value="0"/>
<reserved2 value="0"/>
<reserved3 value="0"/>
<metricDataFormat value="0"/>
<numberOfHMetrics value="14"/>
</hhea>
<maxp>
<!-- Most of this table will be recalculated by the compiler -->
<tableVersion value="0x10000"/>
<numGlyphs value="17"/>
<maxPoints value="123"/>
<maxContours value="12"/>
<maxCompositePoints value="24"/>
<maxCompositeContours value="2"/>
<maxZones value="1"/>
<maxTwilightPoints value="0"/>
<maxStorage value="0"/>
<maxFunctionDefs value="0"/>
<maxInstructionDefs value="0"/>
<maxStackElements value="0"/>
<maxSizeOfInstructions value="0"/>
<maxComponentElements value="1"/>
<maxComponentDepth value="1"/>
</maxp>
<OS_2>
<!-- The fields 'usFirstCharIndex' and 'usLastCharIndex'
will be recalculated by the compiler -->
<version value="4"/>
<xAvgCharWidth value="541"/>
<usWeightClass value="900"/>
<usWidthClass value="5"/>
<fsType value="00000000 00000000"/>
<ySubscriptXSize value="650"/>
<ySubscriptYSize value="600"/>
<ySubscriptXOffset value="0"/>
<ySubscriptYOffset value="75"/>
<ySuperscriptXSize value="650"/>
<ySuperscriptYSize value="600"/>
<ySuperscriptXOffset value="0"/>
<ySuperscriptYOffset value="350"/>
<yStrikeoutSize value="50"/>
<yStrikeoutPosition value="300"/>
<sFamilyClass value="0"/>
<panose>
<bFamilyType value="2"/>
<bSerifStyle value="11"/>
<bWeight value="8"/>
<bProportion value="3"/>
<bContrast value="3"/>
<bStrokeVariation value="4"/>
<bArmStyle value="3"/>
<bLetterForm value="2"/>
<bMidline value="2"/>
<bXHeight value="4"/>
</panose>
<ulUnicodeRange1 value="00000000 00000000 00000000 00000011"/>
<ulUnicodeRange2 value="00000000 00000000 00000000 00000000"/>
<ulUnicodeRange3 value="00000000 00000000 00000000 00000000"/>
<ulUnicodeRange4 value="00000000 00000000 00000000 00000000"/>
<achVendID value="ADBO"/>
<fsSelection value="00000000 01000000"/>
<usFirstCharIndex value="32"/>
<usLastCharIndex value="9676"/>
<sTypoAscender value="750"/>
<sTypoDescender value="-250"/>
<sTypoLineGap value="0"/>
<usWinAscent value="984"/>
<usWinDescent value="273"/>
<ulCodePageRange1 value="00100000 00000000 00000000 00000011"/>
<ulCodePageRange2 value="00000000 00000000 00000000 00000000"/>
<sxHeight value="500"/>
<sCapHeight value="660"/>
<usDefaultChar value="0"/>
<usBreakChar value="32"/>
<usMaxContext value="0"/>
</OS_2>
<hmtx>
<mtx name=".notdef" width="704" lsb="76"/>
<mtx name="A" width="584" lsb="-10"/>
<mtx name="A.sc" width="516" lsb="-10"/>
<mtx name="a" width="536" lsb="38"/>
<mtx name="a.alt" width="580" lsb="36"/>
<mtx name="ampersand" width="690" lsb="21"/>
<mtx name="d" width="580" lsb="36"/>
<mtx name="f" width="360" lsb="22"/>
<mtx name="f_t" width="724" lsb="22"/>
<mtx name="n" width="582" lsb="58"/>
<mtx name="space" width="200" lsb="0"/>
<mtx name="t" width="400" lsb="14"/>
<mtx name="uni0303" width="0" lsb="-196"/>
<mtx name="uni0308" width="0" lsb="-194"/>
<mtx name="uni0324" width="0" lsb="-194"/>
<mtx name="uni0330" width="0" lsb="-196"/>
<mtx name="uni25CC" width="574" lsb="32"/>
</hmtx>
<cmap>
<tableVersion version="0"/>
<cmap_format_4 platformID="0" platEncID="3" language="0">
<map code="0x20" name="space"/><!-- SPACE -->
<map code="0x26" name="ampersand"/><!-- AMPERSAND -->
<map code="0x41" name="A"/><!-- LATIN CAPITAL LETTER A -->
<map code="0x61" name="a"/><!-- LATIN SMALL LETTER A -->
<map code="0x64" name="d"/><!-- LATIN SMALL LETTER D -->
<map code="0x66" name="f"/><!-- LATIN SMALL LETTER F -->
<map code="0x6e" name="n"/><!-- LATIN SMALL LETTER N -->
<map code="0x74" name="t"/><!-- LATIN SMALL LETTER T -->
<map code="0x303" name="uni0303"/><!-- COMBINING TILDE -->
<map code="0x308" name="uni0308"/><!-- COMBINING DIAERESIS -->
<map code="0x324" name="uni0324"/><!-- COMBINING DIAERESIS BELOW -->
<map code="0x330" name="uni0330"/><!-- COMBINING TILDE BELOW -->
<map code="0x25cc" name="uni25CC"/><!-- DOTTED CIRCLE -->
</cmap_format_4>
<cmap_format_4 platformID="3" platEncID="1" language="0">
<map code="0x20" name="space"/><!-- SPACE -->
<map code="0x26" name="ampersand"/><!-- AMPERSAND -->
<map code="0x41" name="A"/><!-- LATIN CAPITAL LETTER A -->
<map code="0x61" name="a"/><!-- LATIN SMALL LETTER A -->
<map code="0x64" name="d"/><!-- LATIN SMALL LETTER D -->
<map code="0x66" name="f"/><!-- LATIN SMALL LETTER F -->
<map code="0x6e" name="n"/><!-- LATIN SMALL LETTER N -->
<map code="0x74" name="t"/><!-- LATIN SMALL LETTER T -->
<map code="0x303" name="uni0303"/><!-- COMBINING TILDE -->
<map code="0x308" name="uni0308"/><!-- COMBINING DIAERESIS -->
<map code="0x324" name="uni0324"/><!-- COMBINING DIAERESIS BELOW -->
<map code="0x330" name="uni0330"/><!-- COMBINING TILDE BELOW -->
<map code="0x25cc" name="uni25CC"/><!-- DOTTED CIRCLE -->
</cmap_format_4>
</cmap>
<loca>
<!-- The 'loca' table will be calculated by the compiler -->
</loca>
<glyf>
<!-- The xMin, yMin, xMax and yMax values
will be recalculated by the compiler. -->
<TTGlyph name=".notdef" xMin="76" yMin="0" xMax="628" yMax="660">
<contour>
<pt x="76" y="0" on="1"/>
<pt x="76" y="660" on="1"/>
<pt x="628" y="660" on="1"/>
<pt x="628" y="0" on="1"/>
</contour>
<contour>
<pt x="288" y="104" on="1"/>
<pt x="416" y="104" on="1"/>
<pt x="390" y="160" on="1"/>
<pt x="354" y="256" on="1"/>
<pt x="350" y="256" on="1"/>
<pt x="314" y="160" on="1"/>
</contour>
<contour>
<pt x="350" y="424" on="1"/>
<pt x="354" y="424" on="1"/>
<pt x="394" y="520" on="1"/>
<pt x="412" y="556" on="1"/>
<pt x="292" y="556" on="1"/>
<pt x="310" y="520" on="1"/>
</contour>
<contour>
<pt x="188" y="172" on="1"/>
<pt x="270" y="340" on="1"/>
<pt x="188" y="508" on="1"/>
</contour>
<contour>
<pt x="516" y="172" on="1"/>
<pt x="516" y="508" on="1"/>
<pt x="434" y="340" on="1"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="A" xMin="-10" yMin="0" xMax="594" yMax="650">
<contour>
<pt x="-10" y="0" on="1"/>
<pt x="188" y="650" on="1"/>
<pt x="396" y="650" on="1"/>
<pt x="594" y="0" on="1"/>
<pt x="412" y="0" on="1"/>
<pt x="338" y="316" on="1"/>
<pt x="326" y="362" on="0"/>
<pt x="302" y="473" on="0"/>
<pt x="290" y="522" on="1"/>
<pt x="286" y="522" on="1"/>
<pt x="276" y="472" on="0"/>
<pt x="252" y="362" on="0"/>
<pt x="240" y="316" on="1"/>
<pt x="166" y="0" on="1"/>
</contour>
<contour>
<pt x="132" y="138" on="1"/>
<pt x="132" y="271" on="1"/>
<pt x="450" y="271" on="1"/>
<pt x="450" y="138" on="1"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="A.sc" xMin="-10" yMin="0" xMax="526" yMax="532">
<contour>
<pt x="-10" y="0" on="1"/>
<pt x="155" y="532" on="1"/>
<pt x="361" y="532" on="1"/>
<pt x="526" y="0" on="1"/>
<pt x="346" y="0" on="1"/>
<pt x="291" y="244" on="1"/>
<pt x="283" y="280" on="0"/>
<pt x="266" y="372" on="0"/>
<pt x="256" y="409" on="1"/>
<pt x="252" y="409" on="1"/>
<pt x="244" y="371" on="0"/>
<pt x="227" y="280" on="0"/>
<pt x="219" y="244" on="1"/>
<pt x="164" y="0" on="1"/>
</contour>
<contour>
<pt x="118" y="94" on="1"/>
<pt x="118" y="216" on="1"/>
<pt x="397" y="216" on="1"/>
<pt x="397" y="94" on="1"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="a" xMin="38" yMin="-12" xMax="482" yMax="512">
<contour>
<pt x="188" y="-12" on="1"/>
<pt x="118" y="-12" on="0"/>
<pt x="38" y="80" on="0"/>
<pt x="38" y="142" on="1"/>
<pt x="38" y="220" on="0"/>
<pt x="166" y="309" on="0"/>
<pt x="310" y="324" on="1"/>
<pt x="307" y="351" on="0"/>
<pt x="273" y="376" on="0"/>
<pt x="240" y="376" on="1"/>
<pt x="213" y="376" on="0"/>
<pt x="153" y="355" on="0"/>
<pt x="114" y="334" on="1"/>
<pt x="54" y="446" on="1"/>
<pt x="106" y="478" on="0"/>
<pt x="216" y="512" on="0"/>
<pt x="274" y="512" on="1"/>
<pt x="372" y="512" on="0"/>
<pt x="482" y="401" on="0"/>
<pt x="482" y="278" on="1"/>
<pt x="482" y="0" on="1"/>
<pt x="342" y="0" on="1"/>
<pt x="330" y="48" on="1"/>
<pt x="326" y="48" on="1"/>
<pt x="296" y="21" on="0"/>
<pt x="228" y="-12" on="0"/>
</contour>
<contour>
<pt x="248" y="120" on="1"/>
<pt x="269" y="120" on="0"/>
<pt x="296" y="139" on="0"/>
<pt x="310" y="154" on="1"/>
<pt x="310" y="222" on="1"/>
<pt x="248" y="213" on="0"/>
<pt x="202" y="177" on="0"/>
<pt x="202" y="156" on="1"/>
<pt x="202" y="139" on="0"/>
<pt x="226" y="120" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="a.alt" xMin="36" yMin="-12" xMax="522" yMax="512">
<contour>
<pt x="240" y="-12" on="1"/>
<pt x="147" y="-12" on="0"/>
<pt x="36" y="128" on="0"/>
<pt x="36" y="250" on="1"/>
<pt x="36" y="373" on="0"/>
<pt x="168" y="512" on="0"/>
<pt x="244" y="512" on="1"/>
<pt x="280" y="512" on="0"/>
<pt x="342" y="483" on="0"/>
<pt x="370" y="450" on="1"/>
<pt x="374" y="450" on="1"/>
<pt x="388" y="500" on="1"/>
<pt x="522" y="500" on="1"/>
<pt x="522" y="0" on="1"/>
<pt x="382" y="0" on="1"/>
<pt x="370" y="46" on="1"/>
<pt x="366" y="46" on="1"/>
<pt x="340" y="20" on="0"/>
<pt x="273" y="-12" on="0"/>
</contour>
<contour>
<pt x="286" y="128" on="1"/>
<pt x="306" y="128" on="0"/>
<pt x="336" y="143" on="0"/>
<pt x="350" y="164" on="1"/>
<pt x="350" y="348" on="1"/>
<pt x="335" y="362" on="0"/>
<pt x="298" y="372" on="0"/>
<pt x="282" y="372" on="1"/>
<pt x="255" y="372" on="0"/>
<pt x="212" y="318" on="0"/>
<pt x="212" y="252" on="1"/>
<pt x="212" y="184" on="0"/>
<pt x="252" y="128" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="ampersand" xMin="22" yMin="-12" xMax="670" yMax="662">
<contour>
<pt x="246" y="-12" on="1"/>
<pt x="133" y="-12" on="0"/>
<pt x="22" y="102" on="0"/>
<pt x="22" y="176" on="1"/>
<pt x="22" y="242" on="0"/>
<pt x="84" y="326" on="0"/>
<pt x="175" y="380" on="0"/>
<pt x="266" y="423" on="0"/>
<pt x="328" y="471" on="0"/>
<pt x="328" y="508" on="1"/>
<pt x="328" y="529" on="0"/>
<pt x="309" y="550" on="0"/>
<pt x="290" y="550" on="1"/>
<pt x="270" y="550" on="0"/>
<pt x="239" y="518" on="0"/>
<pt x="239" y="486" on="1"/>
<pt x="239" y="438" on="0"/>
<pt x="322" y="326" on="0"/>
<pt x="450" y="220" on="0"/>
<pt x="518" y="183" on="1"/>
<pt x="559" y="160" on="0"/>
<pt x="638" y="130" on="0"/>
<pt x="670" y="126" on="1"/>
<pt x="630" y="-12" on="1"/>
<pt x="578" y="-3" on="0"/>
<pt x="468" y="42" on="0"/>
<pt x="415" y="75" on="1"/>
<pt x="330" y="128" on="0"/>
<pt x="185" y="272" on="0"/>
<pt x="98" y="422" on="0"/>
<pt x="98" y="486" on="1"/>
<pt x="98" y="556" on="0"/>
<pt x="199" y="662" on="0"/>
<pt x="286" y="662" on="1"/>
<pt x="364" y="662" on="0"/>
<pt x="458" y="578" on="0"/>
<pt x="458" y="508" on="1"/>
<pt x="458" y="442" on="0"/>
<pt x="375" y="355" on="0"/>
<pt x="267" y="290" on="0"/>
<pt x="184" y="227" on="0"/>
<pt x="184" y="186" on="1"/>
<pt x="184" y="156" on="0"/>
<pt x="229" y="118" on="0"/>
<pt x="268" y="118" on="1"/>
<pt x="300" y="118" on="0"/>
<pt x="366" y="152" on="0"/>
<pt x="398" y="180" on="1"/>
<pt x="436" y="216" on="0"/>
<pt x="496" y="312" on="0"/>
<pt x="512" y="374" on="1"/>
<pt x="668" y="374" on="1"/>
<pt x="646" y="300" on="0"/>
<pt x="572" y="166" on="0"/>
<pt x="516" y="104" on="1"/>
<pt x="468" y="52" on="0"/>
<pt x="333" y="-12" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="d" xMin="36" yMin="-12" xMax="522" yMax="696">
<contour>
<pt x="240" y="-12" on="1"/>
<pt x="147" y="-12" on="0"/>
<pt x="36" y="128" on="0"/>
<pt x="36" y="250" on="1"/>
<pt x="36" y="373" on="0"/>
<pt x="164" y="512" on="0"/>
<pt x="240" y="512" on="1"/>
<pt x="280" y="512" on="0"/>
<pt x="334" y="484" on="0"/>
<pt x="356" y="462" on="1"/>
<pt x="350" y="534" on="1"/>
<pt x="350" y="696" on="1"/>
<pt x="522" y="696" on="1"/>
<pt x="522" y="0" on="1"/>
<pt x="382" y="0" on="1"/>
<pt x="370" y="46" on="1"/>
<pt x="366" y="46" on="1"/>
<pt x="340" y="20" on="0"/>
<pt x="273" y="-12" on="0"/>
</contour>
<contour>
<pt x="286" y="128" on="1"/>
<pt x="306" y="128" on="0"/>
<pt x="336" y="143" on="0"/>
<pt x="350" y="164" on="1"/>
<pt x="350" y="348" on="1"/>
<pt x="335" y="362" on="0"/>
<pt x="298" y="372" on="0"/>
<pt x="282" y="372" on="1"/>
<pt x="255" y="372" on="0"/>
<pt x="212" y="318" on="0"/>
<pt x="212" y="252" on="1"/>
<pt x="212" y="184" on="0"/>
<pt x="252" y="128" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="f" xMin="22" yMin="0" xMax="392" yMax="708">
<contour>
<pt x="88" y="0" on="1"/>
<pt x="88" y="506" on="1"/>
<pt x="88" y="586" on="0"/>
<pt x="175" y="708" on="0"/>
<pt x="286" y="708" on="1"/>
<pt x="320" y="708" on="0"/>
<pt x="376" y="696" on="0"/>
<pt x="392" y="690" on="1"/>
<pt x="362" y="564" on="1"/>
<pt x="335" y="574" on="0"/>
<pt x="312" y="574" on="1"/>
<pt x="288" y="574" on="0"/>
<pt x="260" y="547" on="0"/>
<pt x="260" y="512" on="1"/>
<pt x="260" y="0" on="1"/>
</contour>
<contour>
<pt x="22" y="366" on="1"/>
<pt x="22" y="494" on="1"/>
<pt x="98" y="500" on="1"/>
<pt x="344" y="500" on="1"/>
<pt x="344" y="366" on="1"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="f_t" xMin="22" yMin="-12" xMax="706" yMax="708">
<contour>
<pt x="88" y="0" on="1"/>
<pt x="88" y="506" on="1"/>
<pt x="88" y="586" on="0"/>
<pt x="175" y="708" on="0"/>
<pt x="286" y="708" on="1"/>
<pt x="320" y="708" on="0"/>
<pt x="376" y="696" on="0"/>
<pt x="392" y="690" on="1"/>
<pt x="362" y="564" on="1"/>
<pt x="335" y="574" on="0"/>
<pt x="312" y="574" on="1"/>
<pt x="288" y="574" on="0"/>
<pt x="260" y="547" on="0"/>
<pt x="260" y="512" on="1"/>
<pt x="260" y="0" on="1"/>
</contour>
<contour>
<pt x="588" y="-12" on="1"/>
<pt x="490" y="-12" on="0"/>
<pt x="404" y="100" on="0"/>
<pt x="404" y="192" on="1"/>
<pt x="404" y="366" on="1"/>
<pt x="22" y="366" on="1"/>
<pt x="22" y="494" on="1"/>
<pt x="98" y="500" on="1"/>
<pt x="414" y="500" on="1"/>
<pt x="434" y="630" on="1"/>
<pt x="576" y="630" on="1"/>
<pt x="576" y="500" on="1"/>
<pt x="690" y="500" on="1"/>
<pt x="690" y="366" on="1"/>
<pt x="576" y="366" on="1"/>
<pt x="576" y="195" on="1"/>
<pt x="576" y="154" on="0"/>
<pt x="612" y="122" on="0"/>
<pt x="636" y="122" on="1"/>
<pt x="648" y="122" on="0"/>
<pt x="671" y="127" on="0"/>
<pt x="680" y="130" on="1"/>
<pt x="706" y="6" on="1"/>
<pt x="686" y="0" on="0"/>
<pt x="629" y="-12" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="n" xMin="58" yMin="0" xMax="528" yMax="512">
<contour>
<pt x="58" y="0" on="1"/>
<pt x="58" y="500" on="1"/>
<pt x="198" y="500" on="1"/>
<pt x="210" y="440" on="1"/>
<pt x="214" y="440" on="1"/>
<pt x="244" y="468" on="0"/>
<pt x="321" y="512" on="0"/>
<pt x="372" y="512" on="1"/>
<pt x="454" y="512" on="0"/>
<pt x="528" y="401" on="0"/>
<pt x="528" y="308" on="1"/>
<pt x="528" y="0" on="1"/>
<pt x="356" y="0" on="1"/>
<pt x="356" y="286" on="1"/>
<pt x="356" y="334" on="0"/>
<pt x="332" y="366" on="0"/>
<pt x="306" y="366" on="1"/>
<pt x="282" y="366" on="0"/>
<pt x="250" y="346" on="0"/>
<pt x="230" y="328" on="1"/>
<pt x="230" y="0" on="1"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="space"/><!-- contains no outline data -->
<TTGlyph name="t" xMin="14" yMin="-12" xMax="382" yMax="630">
<contour>
<pt x="264" y="-12" on="1"/>
<pt x="166" y="-12" on="0"/>
<pt x="80" y="100" on="0"/>
<pt x="80" y="192" on="1"/>
<pt x="80" y="366" on="1"/>
<pt x="14" y="366" on="1"/>
<pt x="14" y="494" on="1"/>
<pt x="90" y="500" on="1"/>
<pt x="110" y="630" on="1"/>
<pt x="252" y="630" on="1"/>
<pt x="252" y="500" on="1"/>
<pt x="366" y="500" on="1"/>
<pt x="366" y="366" on="1"/>
<pt x="252" y="366" on="1"/>
<pt x="252" y="195" on="1"/>
<pt x="252" y="154" on="0"/>
<pt x="288" y="122" on="0"/>
<pt x="312" y="122" on="1"/>
<pt x="324" y="122" on="0"/>
<pt x="347" y="127" on="0"/>
<pt x="356" y="130" on="1"/>
<pt x="382" y="6" on="1"/>
<pt x="362" y="0" on="0"/>
<pt x="305" y="-12" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="uni0303" xMin="-196" yMin="572" xMax="196" yMax="746">
<contour>
<pt x="64" y="572" on="1"/>
<pt x="34" y="572" on="0"/>
<pt x="-12" y="600" on="0"/>
<pt x="-47" y="628" on="0"/>
<pt x="-60" y="628" on="1"/>
<pt x="-72" y="628" on="0"/>
<pt x="-87" y="609" on="0"/>
<pt x="-90" y="582" on="1"/>
<pt x="-196" y="588" on="1"/>
<pt x="-194" y="673" on="0"/>
<pt x="-124" y="746" on="0"/>
<pt x="-64" y="746" on="1"/>
<pt x="-34" y="746" on="0"/>
<pt x="12" y="718" on="0"/>
<pt x="47" y="690" on="0"/>
<pt x="60" y="690" on="1"/>
<pt x="72" y="690" on="0"/>
<pt x="87" y="709" on="0"/>
<pt x="90" y="736" on="1"/>
<pt x="196" y="730" on="1"/>
<pt x="194" y="645" on="0"/>
<pt x="124" y="572" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="uni0308" xMin="-194" yMin="562" xMax="194" yMax="722">
<contour>
<pt x="-114" y="562" on="1"/>
<pt x="-149" y="562" on="0"/>
<pt x="-194" y="608" on="0"/>
<pt x="-194" y="642" on="1"/>
<pt x="-194" y="676" on="0"/>
<pt x="-149" y="722" on="0"/>
<pt x="-114" y="722" on="1"/>
<pt x="-79" y="722" on="0"/>
<pt x="-34" y="676" on="0"/>
<pt x="-34" y="642" on="1"/>
<pt x="-34" y="608" on="0"/>
<pt x="-79" y="562" on="0"/>
</contour>
<contour>
<pt x="114" y="562" on="1"/>
<pt x="79" y="562" on="0"/>
<pt x="34" y="608" on="0"/>
<pt x="34" y="642" on="1"/>
<pt x="34" y="676" on="0"/>
<pt x="79" y="722" on="0"/>
<pt x="114" y="722" on="1"/>
<pt x="149" y="722" on="0"/>
<pt x="194" y="676" on="0"/>
<pt x="194" y="642" on="1"/>
<pt x="194" y="608" on="0"/>
<pt x="149" y="562" on="0"/>
</contour>
<instructions/>
</TTGlyph>
<TTGlyph name="uni0324" xMin="-194" yMin="-224" xMax="194" yMax="-64">
<component glyphName="uni0308" x="0" y="-786" flags="0x204"/>
</TTGlyph>
<TTGlyph name="uni0330" xMin="-196" yMin="-228" xMax="196" yMax="-54">
<component glyphName="uni0303" x="0" y="-800" flags="0x204"/>
</TTGlyph>
<TTGlyph name="uni25CC" xMin="32" yMin="-13" xMax="543" yMax="512">
<contour>
<pt x="104" y="96" on="1"/>
<pt x="88" y="96" on="0"/>
<pt x="61" y="119" on="0"/>
<pt x="61" y="141" on="1"/>
<pt x="61" y="163" on="0"/>
<pt x="88" y="187" on="0"/>
<pt x="104" y="187" on="1"/>
<pt x="149" y="187" on="0"/>
<pt x="149" y="141" on="1"/>
<pt x="149" y="96" on="0"/>
</contour>
<contour>
<pt x="76" y="204" on="1"/>
<pt x="59" y="204" on="0"/>
<pt x="32" y="228" on="0"/>
<pt x="32" y="251" on="1"/>
<pt x="32" y="272" on="0"/>
<pt x="59" y="295" on="0"/>
<pt x="76" y="295" on="1"/>
<pt x="122" y="295" on="0"/>
<pt x="122" y="251" on="1"/>
<pt x="122" y="204" on="0"/>
</contour>
<contour>
<pt x="104" y="313" on="1"/>
<pt x="88" y="313" on="0"/>
<pt x="61" y="338" on="0"/>
<pt x="61" y="360" on="1"/>
<pt x="61" y="382" on="0"/>
<pt x="88" y="405" on="0"/>
<pt x="104" y="405" on="1"/>
<pt x="149" y="405" on="0"/>
<pt x="149" y="360" on="1"/>
<pt x="149" y="313" on="0"/>
</contour>
<contour>
<pt x="182" y="14" on="1"/>
<pt x="164" y="14" on="0"/>
<pt x="137" y="38" on="0"/>
<pt x="137" y="61" on="1"/>
<pt x="137" y="82" on="0"/>
<pt x="164" y="105" on="0"/>
<pt x="182" y="105" on="1"/>
<pt x="200" y="105" on="0"/>
<pt x="227" y="82" on="0"/>
<pt x="227" y="61" on="1"/>
<pt x="227" y="14" on="0"/>
</contour>
<contour>
<pt x="182" y="395" on="1"/>
<pt x="164" y="395" on="0"/>
<pt x="137" y="419" on="0"/>
<pt x="137" y="440" on="1"/>
<pt x="137" y="462" on="0"/>
<pt x="164" y="486" on="0"/>
<pt x="182" y="486" on="1"/>
<pt x="200" y="486" on="0"/>
<pt x="227" y="462" on="0"/>
<pt x="227" y="440" on="1"/>
<pt x="227" y="395" on="0"/>
</contour>
<contour>
<pt x="287" y="-13" on="1"/>
<pt x="270" y="-13" on="0"/>
<pt x="244" y="12" on="0"/>
<pt x="244" y="34" on="1"/>
<pt x="244" y="55" on="0"/>
<pt x="270" y="78" on="0"/>
<pt x="287" y="78" on="1"/>
<pt x="332" y="78" on="0"/>
<pt x="332" y="34" on="1"/>
<pt x="332" y="-13" on="0"/>
</contour>
<contour>
<pt x="287" y="421" on="1"/>
<pt x="270" y="421" on="0"/>
<pt x="244" y="446" on="0"/>
<pt x="244" y="468" on="1"/>
<pt x="244" y="489" on="0"/>
<pt x="270" y="512" on="0"/>
<pt x="287" y="512" on="1"/>
<pt x="332" y="512" on="0"/>
<pt x="332" y="468" on="1"/>
<pt x="332" y="421" on="0"/>
</contour>
<contour>
<pt x="392" y="14" on="1"/>
<pt x="375" y="14" on="0"/>
<pt x="348" y="38" on="0"/>
<pt x="348" y="61" on="1"/>
<pt x="348" y="82" on="0"/>
<pt x="375" y="105" on="0"/>
<pt x="392" y="105" on="1"/>
<pt x="411" y="105" on="0"/>
<pt x="438" y="82" on="0"/>
<pt x="438" y="61" on="1"/>
<pt x="438" y="14" on="0"/>
</contour>
<contour>
<pt x="392" y="394" on="1"/>
<pt x="375" y="394" on="0"/>
<pt x="348" y="418" on="0"/>
<pt x="348" y="440" on="1"/>
<pt x="348" y="462" on="0"/>
<pt x="375" y="486" on="0"/>
<pt x="392" y="486" on="1"/>
<pt x="411" y="486" on="0"/>
<pt x="438" y="462" on="0"/>
<pt x="438" y="440" on="1"/>
<pt x="438" y="394" on="0"/>
</contour>
<contour>
<pt x="472" y="96" on="1"/>
<pt x="453" y="96" on="0"/>
<pt x="426" y="119" on="0"/>
<pt x="426" y="141" on="1"/>
<pt x="426" y="163" on="0"/>
<pt x="453" y="187" on="0"/>
<pt x="472" y="187" on="1"/>
<pt x="516" y="187" on="0"/>
<pt x="516" y="141" on="1"/>
<pt x="516" y="96" on="0"/>
</contour>
<contour>
<pt x="498" y="204" on="1"/>
<pt x="453" y="204" on="0"/>
<pt x="453" y="251" on="1"/>
<pt x="453" y="295" on="0"/>
<pt x="498" y="295" on="1"/>
<pt x="516" y="295" on="0"/>
<pt x="543" y="272" on="0"/>
<pt x="543" y="251" on="1"/>
<pt x="543" y="204" on="0"/>
</contour>
<contour>
<pt x="472" y="313" on="1"/>
<pt x="453" y="313" on="0"/>
<pt x="426" y="337" on="0"/>
<pt x="426" y="359" on="1"/>
<pt x="426" y="381" on="0"/>
<pt x="453" y="404" on="0"/>
<pt x="472" y="404" on="1"/>
<pt x="516" y="404" on="0"/>
<pt x="516" y="359" on="1"/>
<pt x="516" y="313" on="0"/>
</contour>
<instructions/>
</TTGlyph>
</glyf>
<name>
<namerecord nameID="9" platformID="1" platEncID="0" langID="0x0" unicode="True">
Paul D. Hunt
</namerecord>
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
Test Family 2
</namerecord>
<namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
Regular
</namerecord>
<namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
Version 2.020;ADBO;Test Family 2 Regular
</namerecord>
<namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
Test Family 2
</namerecord>
<namerecord nameID="5" platformID="3" platEncID="1" langID="0x409">
Version 2.020
</namerecord>
<namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
TestFamily2-Master1
</namerecord>
<namerecord nameID="9" platformID="3" platEncID="1" langID="0x409">
Paul D. Hunt
</namerecord>
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Master 1
</namerecord>
</name>
<post>
<formatType value="2.0"/>
<italicAngle value="0.0"/>
<underlinePosition value="-75"/>
<underlineThickness value="50"/>
<isFixedPitch value="0"/>
<minMemType42 value="0"/>
<maxMemType42 value="0"/>
<minMemType1 value="0"/>
<maxMemType1 value="0"/>
<psNames>
<!-- This file uses unique glyph names based on the information
found in the 'post' table. Since these names might not be unique,
we have to invent artificial names in case of clashes. In order to
be able to retain the original information, we need a name to
ps name mapping for those cases where they differ. That's what
you see below.
-->
</psNames>
<extraNames>
<!-- following are the name that are not taken from the standard Mac glyph order -->
<psName name="f_t"/>
<psName name="a.alt"/>
<psName name="A.sc"/>
<psName name="circledotted"/>
<psName name="tildecmb"/>
<psName name="dieresiscmb"/>
<psName name="tildebelowcmb"/>
<psName name="dieresisbelowcmb"/>
<psName name="uni25CC"/>
<psName name="uni0303"/>
<psName name="uni0308"/>
<psName name="uni0330"/>
<psName name="uni0324"/>
</extraNames>
</post>
<BASE>
<Version value="0x00010000"/>
<HorizAxis>
<BaseTagList>
<!-- BaseTagCount=2 -->
<BaselineTag index="0" value="ideo"/>
<BaselineTag index="1" value="romn"/>
</BaseTagList>
<BaseScriptList>
<!-- BaseScriptCount=4 -->
<BaseScriptRecord index="0">
<BaseScriptTag value="DFLT"/>
<BaseScript>
<BaseValues>
<DefaultIndex value="1"/>
<!-- BaseCoordCount=2 -->
<BaseCoord index="0" Format="1">
<Coordinate value="-170"/>
</BaseCoord>
<BaseCoord index="1" Format="1">
<Coordinate value="0"/>
</BaseCoord>
</BaseValues>
<!-- BaseLangSysCount=0 -->
</BaseScript>
</BaseScriptRecord>
<BaseScriptRecord index="1">
<BaseScriptTag value="cyrl"/>
<BaseScript>
<BaseValues>
<DefaultIndex value="1"/>
<!-- BaseCoordCount=2 -->
<BaseCoord index="0" Format="1">
<Coordinate value="-170"/>
</BaseCoord>
<BaseCoord index="1" Format="1">
<Coordinate value="0"/>
</BaseCoord>
</BaseValues>
<!-- BaseLangSysCount=0 -->
</BaseScript>
</BaseScriptRecord>
<BaseScriptRecord index="2">
<BaseScriptTag value="grek"/>
<BaseScript>
<BaseValues>
<DefaultIndex value="1"/>
<!-- BaseCoordCount=2 -->
<BaseCoord index="0" Format="1">
<Coordinate value="-170"/>
</BaseCoord>
<BaseCoord index="1" Format="1">
<Coordinate value="0"/>
</BaseCoord>
</BaseValues>
<!-- BaseLangSysCount=0 -->
</BaseScript>
</BaseScriptRecord>
<BaseScriptRecord index="3">
<BaseScriptTag value="latn"/>
<BaseScript>
<BaseValues>
<DefaultIndex value="1"/>
<!-- BaseCoordCount=2 -->
<BaseCoord index="0" Format="1">
<Coordinate value="-170"/>
</BaseCoord>
<BaseCoord index="1" Format="1">
<Coordinate value="0"/>
</BaseCoord>
</BaseValues>
<!-- BaseLangSysCount=0 -->
</BaseScript>
</BaseScriptRecord>
</BaseScriptList>
</HorizAxis>
</BASE>
</ttFont>

View File

@ -0,0 +1,81 @@
table head {
FontRevision 2.020;
} head;
table name {
nameid 9 "Paul D. Hunt";
nameid 9 1 "Paul D. Hunt";
} name;
table hhea {
Ascender 984;
Descender -273;
LineGap 0;
} hhea;
table BASE {
HorizAxis.BaseTagList ideo romn;
HorizAxis.BaseScriptList
latn romn -170 0,
grek romn -170 0,
cyrl romn -170 0,
DFLT romn -170 0;
} BASE;
table OS/2 {
Panose 2 11 3 3 3 4 3 2 2 4;
XHeight 478;
WeightClass 200;
TypoAscender 750;
TypoDescender -250;
TypoLineGap 0;
winAscent 984;
winDescent 273;
CapHeight 660;
WidthClass 5;
Vendor "ADBO";
FSType 0;
} OS/2;
languagesystem DFLT dflt;
languagesystem latn dflt;
# GSUB =========================================
# Merging of GSUB is not performed. The variable
# font will inherit the GSUB table from the
# base master.
feature c2sc {
sub A by A.sc; # GSUB LookupType 1
} c2sc;
feature ss01 {
featureNames {
name "Alternate a";
name 1 0 0 "Alternate a";};
sub a by a.alt;
} ss01;
feature ccmp {
sub ampersand by a n d; # GSUB LookupType 2
} ccmp;
feature salt {
sub a from [a.alt A.sc]; # GSUB LookupType 3
} salt;
feature liga {
sub f t by f_t; # GSUB LookupType 4
} liga;
feature calt {
sub a' t by a.alt; # GSUB LookupType 6
} calt;

View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ascender</key>
<integer>722</integer>
<key>capHeight</key>
<integer>660</integer>
<key>descender</key>
<integer>-222</integer>
<key>familyName</key>
<string>Test Family 2</string>
<key>italicAngle</key>
<integer>0</integer>
<key>openTypeHheaAscender</key>
<integer>984</integer>
<key>openTypeHheaDescender</key>
<integer>-273</integer>
<key>openTypeHheaLineGap</key>
<integer>0</integer>
<key>openTypeNameDesigner</key>
<string>Paul D. Hunt</string>
<key>openTypeOS2CodePageRanges</key>
<array>
<integer>0</integer>
<integer>1</integer>
<integer>29</integer>
</array>
<key>openTypeOS2Panose</key>
<array>
<integer>2</integer>
<integer>11</integer>
<integer>5</integer>
<integer>3</integer>
<integer>3</integer>
<integer>4</integer>
<integer>3</integer>
<integer>2</integer>
<integer>2</integer>
<integer>4</integer>
</array>
<key>openTypeOS2TypoAscender</key>
<integer>750</integer>
<key>openTypeOS2TypoDescender</key>
<integer>-250</integer>
<key>openTypeOS2TypoLineGap</key>
<integer>0</integer>
<key>openTypeOS2UnicodeRanges</key>
<array>
<integer>0</integer>
<integer>1</integer>
</array>
<key>openTypeOS2VendorID</key>
<string>ADBO</string>
<key>openTypeOS2WeightClass</key>
<integer>200</integer>
<key>openTypeOS2WinAscent</key>
<integer>984</integer>
<key>openTypeOS2WinDescent</key>
<integer>273</integer>
<key>postscriptBlueFuzz</key>
<integer>0</integer>
<key>postscriptBlueScale</key>
<real>0.0625</real>
<key>postscriptBlueValues</key>
<array>
<integer>-12</integer>
<integer>0</integer>
<integer>478</integer>
<integer>490</integer>
<integer>510</integer>
<integer>522</integer>
<integer>570</integer>
<integer>582</integer>
<integer>640</integer>
<integer>652</integer>
<integer>660</integer>
<integer>672</integer>
<integer>722</integer>
<integer>734</integer>
</array>
<key>postscriptFamilyBlues</key>
<array>
<integer>-12</integer>
<integer>0</integer>
<integer>486</integer>
<integer>498</integer>
<integer>518</integer>
<integer>530</integer>
<integer>574</integer>
<integer>586</integer>
<integer>638</integer>
<integer>650</integer>
<integer>656</integer>
<integer>668</integer>
<integer>712</integer>
<integer>724</integer>
</array>
<key>postscriptFamilyOtherBlues</key>
<array>
<integer>-217</integer>
<integer>-205</integer>
</array>
<key>postscriptFontName</key>
<string>TestFamily2-Master0</string>
<key>postscriptForceBold</key>
<false/>
<key>postscriptOtherBlues</key>
<array>
<integer>-234</integer>
<integer>-222</integer>
</array>
<key>postscriptStemSnapH</key>
<array>
<integer>28</integer>
<integer>40</integer>
</array>
<key>postscriptStemSnapV</key>
<array>
<integer>32</integer>
<integer>48</integer>
</array>
<key>postscriptUnderlinePosition</key>
<integer>-75</integer>
<key>postscriptUnderlineThickness</key>
<integer>50</integer>
<key>styleMapFamilyName</key>
<string>Test Family 2</string>
<key>styleName</key>
<string>Master 0</string>
<key>unitsPerEm</key>
<integer>1000</integer>
<key>versionMajor</key>
<integer>2</integer>
<key>versionMinor</key>
<integer>20</integer>
<key>xHeight</key>
<integer>478</integer>
</dict>
</plist>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="A" format="1">
<unicode hex="0041"/>
<advance width="520"/>
<outline>
<contour>
<point x="10" y="0" type="line"/>
<point x="42" y="0" type="line"/>
<point x="182" y="396" type="line" smooth="yes"/>
<point x="210" y="476"/>
<point x="234" y="544"/>
<point x="258" y="626" type="curve"/>
<point x="262" y="626" type="line"/>
<point x="286" y="544"/>
<point x="310" y="476"/>
<point x="338" y="396" type="curve" smooth="yes"/>
<point x="476" y="0" type="line"/>
<point x="510" y="0" type="line"/>
<point x="274" y="660" type="line"/>
<point x="246" y="660" type="line"/>
</contour>
<contour>
<point x="112" y="236" type="line"/>
<point x="405" y="236" type="line"/>
<point x="405" y="264" type="line"/>
<point x="112" y="264" type="line"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="A.sc" format="1">
<advance width="444"/>
<outline>
<contour>
<point x="10" y="0" type="line"/>
<point x="42" y="0" type="line"/>
<point x="158" y="304" type="line" smooth="yes"/>
<point x="181" y="366"/>
<point x="199" y="414"/>
<point x="220" y="475" type="curve"/>
<point x="224" y="475" type="line"/>
<point x="245" y="415"/>
<point x="263" y="367"/>
<point x="286" y="304" type="curve" smooth="yes"/>
<point x="400" y="0" type="line"/>
<point x="434" y="0" type="line"/>
<point x="236" y="510" type="line"/>
<point x="207" y="510" type="line"/>
</contour>
<contour>
<point x="97" y="176" type="line"/>
<point x="345" y="176" type="line"/>
<point x="345" y="204" type="line"/>
<point x="97" y="204" type="line"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name=".notdef" format="1">
<advance width="624"/>
<outline>
<contour>
<point x="96" y="0" type="line"/>
<point x="528" y="0" type="line"/>
<point x="528" y="660" type="line"/>
<point x="96" y="660" type="line"/>
</contour>
<contour>
<point x="144" y="32" type="line"/>
<point x="246" y="208" type="line"/>
<point x="310" y="314" type="line"/>
<point x="314" y="314" type="line"/>
<point x="376" y="208" type="line"/>
<point x="476" y="32" type="line"/>
</contour>
<contour>
<point x="310" y="366" type="line"/>
<point x="254" y="458" type="line"/>
<point x="160" y="626" type="line"/>
<point x="462" y="626" type="line"/>
<point x="368" y="458" type="line"/>
<point x="314" y="366" type="line"/>
</contour>
<contour>
<point x="134" y="74" type="line"/>
<point x="134" y="610" type="line"/>
<point x="288" y="340" type="line"/>
</contour>
<contour>
<point x="488" y="74" type="line"/>
<point x="336" y="340" type="line"/>
<point x="488" y="610" type="line"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="a.alt" format="1">
<advance width="540"/>
<outline>
<contour>
<point x="252" y="-12" type="curve" smooth="yes"/>
<point x="318" y="-12"/>
<point x="372" y="24"/>
<point x="412" y="64" type="curve"/>
<point x="414" y="64" type="line"/>
<point x="418" y="0" type="line"/>
<point x="444" y="0" type="line"/>
<point x="444" y="478" type="line"/>
<point x="416" y="478" type="line"/>
<point x="414" y="432" type="line"/>
<point x="412" y="432" type="line"/>
<point x="366" y="468"/>
<point x="326" y="490"/>
<point x="268" y="490" type="curve" smooth="yes"/>
<point x="152" y="490"/>
<point x="54" y="392"/>
<point x="54" y="238" type="curve" smooth="yes"/>
<point x="54" y="76"/>
<point x="132" y="-12"/>
</contour>
<contour>
<point x="254" y="16" type="curve" smooth="yes"/>
<point x="146" y="16"/>
<point x="86" y="106"/>
<point x="86" y="238" type="curve" smooth="yes"/>
<point x="86" y="362"/>
<point x="164" y="462"/>
<point x="266" y="462" type="curve" smooth="yes"/>
<point x="316" y="462"/>
<point x="360" y="444"/>
<point x="414" y="396" type="curve"/>
<point x="414" y="100" type="line"/>
<point x="360" y="46"/>
<point x="310" y="16"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="a" format="1">
<unicode hex="0061"/>
<advance width="486"/>
<outline>
<contour>
<point x="198" y="-12" type="curve" smooth="yes"/>
<point x="262" y="-12"/>
<point x="322" y="24"/>
<point x="372" y="64" type="curve"/>
<point x="374" y="64" type="line"/>
<point x="378" y="0" type="line"/>
<point x="404" y="0" type="line"/>
<point x="404" y="310" type="line" smooth="yes"/>
<point x="404" y="406"/>
<point x="370" y="490"/>
<point x="258" y="490" type="curve" smooth="yes"/>
<point x="180" y="490"/>
<point x="114" y="450"/>
<point x="84" y="428" type="curve"/>
<point x="100" y="404" type="line"/>
<point x="130" y="428"/>
<point x="188" y="462"/>
<point x="256" y="462" type="curve" smooth="yes"/>
<point x="356" y="462"/>
<point x="376" y="376"/>
<point x="374" y="298" type="curve"/>
<point x="158" y="274"/>
<point x="60" y="224"/>
<point x="60" y="117" type="curve" smooth="yes"/>
<point x="60" y="26"/>
<point x="124" y="-12"/>
</contour>
<contour>
<point x="200" y="16" type="curve" smooth="yes"/>
<point x="142" y="16"/>
<point x="92" y="44"/>
<point x="92" y="118" type="curve" smooth="yes"/>
<point x="92" y="200"/>
<point x="164" y="248"/>
<point x="374" y="272" type="curve"/>
<point x="374" y="98" type="line"/>
<point x="310" y="44"/>
<point x="258" y="16"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="ampersand" format="1">
<unicode hex="0026"/>
<advance width="562"/>
<outline>
<contour>
<point x="224" y="-12" type="curve" smooth="yes"/>
<point x="302" y="-12"/>
<point x="360" y="28"/>
<point x="410" y="84" type="curve" smooth="yes"/>
<point x="468" y="153"/>
<point x="510" y="244"/>
<point x="538" y="342" type="curve"/>
<point x="508" y="342" type="line"/>
<point x="482" y="248"/>
<point x="444" y="166"/>
<point x="388" y="102" type="curve" smooth="yes"/>
<point x="344" y="52"/>
<point x="288" y="16"/>
<point x="226" y="16" type="curve" smooth="yes"/>
<point x="142" y="16"/>
<point x="70" y="76"/>
<point x="70" y="168" type="curve" smooth="yes"/>
<point x="70" y="332"/>
<point x="364" y="392"/>
<point x="364" y="556" type="curve" smooth="yes"/>
<point x="364" y="622"/>
<point x="328" y="672"/>
<point x="260" y="672" type="curve" smooth="yes"/>
<point x="184" y="672"/>
<point x="130" y="612"/>
<point x="130" y="528" type="curve" smooth="yes"/>
<point x="130" y="382"/>
<point x="264" y="196"/>
<point x="392" y="82" type="curve" smooth="yes"/>
<point x="446" y="34"/>
<point x="496" y="4"/>
<point x="538" y="-12" type="curve"/>
<point x="550" y="16" type="line"/>
<point x="508" y="32"/>
<point x="460" y="62"/>
<point x="410" y="106" type="curve" smooth="yes"/>
<point x="290" y="210"/>
<point x="160" y="392"/>
<point x="160" y="530" type="curve" smooth="yes"/>
<point x="160" y="592"/>
<point x="196" y="644"/>
<point x="258" y="644" type="curve" smooth="yes"/>
<point x="314" y="644"/>
<point x="334" y="598"/>
<point x="334" y="554" type="curve" smooth="yes"/>
<point x="334" y="402"/>
<point x="38" y="346"/>
<point x="38" y="166" type="curve" smooth="yes"/>
<point x="38" y="56"/>
<point x="124" y="-12"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,175 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="circledotted" format="1">
<unicode hex="25CC"/>
<advance width="592"/>
<outline>
<contour>
<point x="110" y="97" type="curve" smooth="yes"/>
<point x="129" y="97"/>
<point x="141" y="110"/>
<point x="141" y="129" type="curve" smooth="yes"/>
<point x="141" y="150"/>
<point x="128" y="161"/>
<point x="110" y="161" type="curve" smooth="yes"/>
<point x="94" y="161"/>
<point x="81" y="150"/>
<point x="81" y="129" type="curve" smooth="yes"/>
<point x="81" y="110"/>
<point x="94" y="97"/>
</contour>
<contour>
<point x="82" y="207" type="curve" smooth="yes"/>
<point x="101" y="207"/>
<point x="114" y="219"/>
<point x="114" y="239" type="curve" smooth="yes"/>
<point x="114" y="260"/>
<point x="101" y="270"/>
<point x="82" y="270" type="curve" smooth="yes"/>
<point x="67" y="270"/>
<point x="54" y="260"/>
<point x="54" y="239" type="curve" smooth="yes"/>
<point x="54" y="219"/>
<point x="67" y="207"/>
</contour>
<contour>
<point x="110" y="318" type="curve" smooth="yes"/>
<point x="129" y="318"/>
<point x="141" y="330"/>
<point x="141" y="351" type="curve" smooth="yes"/>
<point x="141" y="371"/>
<point x="128" y="382"/>
<point x="110" y="382" type="curve" smooth="yes"/>
<point x="94" y="382"/>
<point x="81" y="371"/>
<point x="81" y="351" type="curve" smooth="yes"/>
<point x="81" y="330"/>
<point x="94" y="318"/>
</contour>
<contour>
<point x="189" y="15" type="curve" smooth="yes"/>
<point x="207" y="15"/>
<point x="219" y="27"/>
<point x="219" y="49" type="curve" smooth="yes"/>
<point x="219" y="68"/>
<point x="206" y="78"/>
<point x="189" y="78" type="curve" smooth="yes"/>
<point x="173" y="78"/>
<point x="160" y="68"/>
<point x="160" y="49" type="curve" smooth="yes"/>
<point x="160" y="27"/>
<point x="173" y="15"/>
</contour>
<contour>
<point x="189" y="400" type="curve" smooth="yes"/>
<point x="207" y="400"/>
<point x="219" y="412"/>
<point x="219" y="431" type="curve" smooth="yes"/>
<point x="219" y="453"/>
<point x="206" y="463"/>
<point x="189" y="463" type="curve" smooth="yes"/>
<point x="173" y="463"/>
<point x="160" y="453"/>
<point x="160" y="431" type="curve" smooth="yes"/>
<point x="160" y="412"/>
<point x="173" y="400"/>
</contour>
<contour>
<point x="295" y="-12" type="curve" smooth="yes"/>
<point x="313" y="-12"/>
<point x="326" y="-1"/>
<point x="326" y="20" type="curve" smooth="yes"/>
<point x="326" y="40"/>
<point x="313" y="51"/>
<point x="295" y="51" type="curve" smooth="yes"/>
<point x="279" y="51"/>
<point x="266" y="40"/>
<point x="266" y="20" type="curve" smooth="yes"/>
<point x="266" y="-1"/>
<point x="279" y="-12"/>
</contour>
<contour>
<point x="295" y="426" type="curve" smooth="yes"/>
<point x="313" y="426"/>
<point x="326" y="438"/>
<point x="326" y="458" type="curve" smooth="yes"/>
<point x="326" y="478"/>
<point x="313" y="490"/>
<point x="295" y="490" type="curve" smooth="yes"/>
<point x="279" y="490"/>
<point x="266" y="478"/>
<point x="266" y="458" type="curve" smooth="yes"/>
<point x="266" y="438"/>
<point x="279" y="426"/>
</contour>
<contour>
<point x="401" y="15" type="curve" smooth="yes"/>
<point x="420" y="15"/>
<point x="431" y="27"/>
<point x="431" y="49" type="curve" smooth="yes"/>
<point x="431" y="68"/>
<point x="418" y="78"/>
<point x="401" y="78" type="curve" smooth="yes"/>
<point x="386" y="78"/>
<point x="373" y="68"/>
<point x="373" y="49" type="curve" smooth="yes"/>
<point x="373" y="27"/>
<point x="386" y="15"/>
</contour>
<contour>
<point x="401" y="399" type="curve" smooth="yes"/>
<point x="420" y="399"/>
<point x="431" y="412"/>
<point x="431" y="431" type="curve" smooth="yes"/>
<point x="431" y="452"/>
<point x="418" y="462"/>
<point x="401" y="462" type="curve" smooth="yes"/>
<point x="386" y="462"/>
<point x="373" y="452"/>
<point x="373" y="431" type="curve" smooth="yes"/>
<point x="373" y="412"/>
<point x="386" y="399"/>
</contour>
<contour>
<point x="480" y="97" type="curve" smooth="yes"/>
<point x="499" y="97"/>
<point x="510" y="110"/>
<point x="510" y="129" type="curve" smooth="yes"/>
<point x="510" y="150"/>
<point x="497" y="161"/>
<point x="480" y="161" type="curve" smooth="yes"/>
<point x="465" y="161"/>
<point x="451" y="150"/>
<point x="451" y="129" type="curve" smooth="yes"/>
<point x="451" y="110"/>
<point x="465" y="97"/>
</contour>
<contour>
<point x="508" y="207" type="curve" smooth="yes"/>
<point x="526" y="207"/>
<point x="538" y="219"/>
<point x="538" y="239" type="curve" smooth="yes"/>
<point x="538" y="260"/>
<point x="523" y="270"/>
<point x="508" y="270" type="curve" smooth="yes"/>
<point x="491" y="270"/>
<point x="478" y="260"/>
<point x="478" y="239" type="curve" smooth="yes"/>
<point x="478" y="219"/>
<point x="491" y="207"/>
</contour>
<contour>
<point x="480" y="317" type="curve" smooth="yes"/>
<point x="499" y="317"/>
<point x="510" y="329"/>
<point x="510" y="349" type="curve" smooth="yes"/>
<point x="510" y="369"/>
<point x="497" y="380"/>
<point x="480" y="380" type="curve" smooth="yes"/>
<point x="465" y="380"/>
<point x="451" y="369"/>
<point x="451" y="349" type="curve" smooth="yes"/>
<point x="451" y="329"/>
<point x="465" y="317"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>.notdef</key>
<string>_notdef.glif</string>
<key>A</key>
<string>A_.glif</string>
<key>A.sc</key>
<string>A_.sc.glif</string>
<key>a</key>
<string>a.glif</string>
<key>a.alt</key>
<string>a.alt.glif</string>
<key>ampersand</key>
<string>ampersand.glif</string>
<key>circledotted</key>
<string>circledotted.glif</string>
<key>d</key>
<string>d.glif</string>
<key>dieresisbelowcmb</key>
<string>dieresisbelowcmb.glif</string>
<key>dieresiscmb</key>
<string>dieresiscmb.glif</string>
<key>f</key>
<string>f.glif</string>
<key>f_t</key>
<string>f_t.glif</string>
<key>n</key>
<string>n.glif</string>
<key>space</key>
<string>space.glif</string>
<key>t</key>
<string>t.glif</string>
<key>tildebelowcmb</key>
<string>tildebelowcmb.glif</string>
<key>tildecmb</key>
<string>tildecmb.glif</string>
</dict>
</plist>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="d" format="1">
<unicode hex="0064"/>
<advance width="540"/>
<outline>
<contour>
<point x="252" y="-12" type="curve" smooth="yes"/>
<point x="318" y="-12"/>
<point x="372" y="24"/>
<point x="412" y="64" type="curve"/>
<point x="414" y="64" type="line"/>
<point x="418" y="0" type="line"/>
<point x="444" y="0" type="line"/>
<point x="444" y="722" type="line"/>
<point x="414" y="722" type="line"/>
<point x="414" y="520" type="line"/>
<point x="416" y="430" type="line"/>
<point x="366" y="468"/>
<point x="326" y="490"/>
<point x="268" y="490" type="curve" smooth="yes"/>
<point x="152" y="490"/>
<point x="54" y="392"/>
<point x="54" y="238" type="curve" smooth="yes"/>
<point x="54" y="76"/>
<point x="132" y="-12"/>
</contour>
<contour>
<point x="254" y="16" type="curve" smooth="yes"/>
<point x="146" y="16"/>
<point x="86" y="106"/>
<point x="86" y="238" type="curve" smooth="yes"/>
<point x="86" y="362"/>
<point x="164" y="462"/>
<point x="266" y="462" type="curve" smooth="yes"/>
<point x="316" y="462"/>
<point x="360" y="444"/>
<point x="414" y="396" type="curve"/>
<point x="414" y="100" type="line"/>
<point x="360" y="46"/>
<point x="310" y="16"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="dieresisbelowcmb" format="1">
<unicode hex="0324"/>
<outline>
<component base="dieresiscmb" yOffset="-790"/>
</outline>
</glyph>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="dieresiscmb" format="1">
<unicode hex="0308"/>
<outline>
<contour>
<point x="-86" y="602" type="curve" smooth="yes"/>
<point x="-68" y="602"/>
<point x="-54" y="616"/>
<point x="-54" y="634" type="curve" smooth="yes"/>
<point x="-54" y="652"/>
<point x="-68" y="666"/>
<point x="-86" y="666" type="curve" smooth="yes"/>
<point x="-104" y="666"/>
<point x="-118" y="652"/>
<point x="-118" y="634" type="curve" smooth="yes"/>
<point x="-118" y="616"/>
<point x="-104" y="602"/>
</contour>
<contour>
<point x="86" y="602" type="curve" smooth="yes"/>
<point x="104" y="602"/>
<point x="118" y="616"/>
<point x="118" y="634" type="curve" smooth="yes"/>
<point x="118" y="652"/>
<point x="104" y="666"/>
<point x="86" y="666" type="curve" smooth="yes"/>
<point x="68" y="666"/>
<point x="54" y="652"/>
<point x="54" y="634" type="curve" smooth="yes"/>
<point x="54" y="616"/>
<point x="68" y="602"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="f" format="1">
<unicode hex="0066"/>
<advance width="252"/>
<outline>
<contour>
<point x="100" y="0" type="line"/>
<point x="130" y="0" type="line"/>
<point x="130" y="592" type="line" smooth="yes"/>
<point x="130" y="664"/>
<point x="154" y="706"/>
<point x="208" y="706" type="curve" smooth="yes"/>
<point x="226" y="706"/>
<point x="246" y="702"/>
<point x="266" y="692" type="curve"/>
<point x="276" y="718" type="line"/>
<point x="254" y="728"/>
<point x="230" y="734"/>
<point x="210" y="734" type="curve" smooth="yes"/>
<point x="142" y="734"/>
<point x="100" y="690"/>
<point x="100" y="596" type="curve" smooth="yes"/>
</contour>
<contour>
<point x="34" y="450" type="line"/>
<point x="244" y="450" type="line"/>
<point x="244" y="478" type="line"/>
<point x="100" y="478" type="line"/>
<point x="34" y="474" type="line"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="f_t" format="1">
<advance width="518"/>
<outline>
<contour>
<point x="100" y="0" type="line"/>
<point x="130" y="0" type="line"/>
<point x="130" y="592" type="line" smooth="yes"/>
<point x="130" y="664"/>
<point x="154" y="706"/>
<point x="208" y="706" type="curve" smooth="yes"/>
<point x="226" y="706"/>
<point x="246" y="702"/>
<point x="266" y="692" type="curve"/>
<point x="276" y="718" type="line"/>
<point x="254" y="728"/>
<point x="230" y="734"/>
<point x="210" y="734" type="curve" smooth="yes"/>
<point x="142" y="734"/>
<point x="100" y="690"/>
<point x="100" y="596" type="curve" smooth="yes"/>
</contour>
<contour>
<point x="434" y="-12" type="curve" smooth="yes"/>
<point x="450" y="-12"/>
<point x="480" y="-4"/>
<point x="508" y="6" type="curve"/>
<point x="498" y="32" type="line"/>
<point x="480" y="24"/>
<point x="454" y="16"/>
<point x="436" y="16" type="curve" smooth="yes"/>
<point x="366" y="16"/>
<point x="352" y="60"/>
<point x="352" y="122" type="curve" smooth="yes"/>
<point x="352" y="450" type="line"/>
<point x="494" y="450" type="line"/>
<point x="494" y="478" type="line"/>
<point x="352" y="478" type="line"/>
<point x="352" y="618" type="line"/>
<point x="326" y="618" type="line"/>
<point x="322" y="478" type="line"/>
<point x="100" y="478" type="line"/>
<point x="34" y="474" type="line"/>
<point x="34" y="450" type="line"/>
<point x="322" y="450" type="line"/>
<point x="322" y="126" type="line" smooth="yes"/>
<point x="322" y="44"/>
<point x="346" y="-12"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="n" format="1">
<unicode hex="006E"/>
<advance width="526"/>
<outline>
<contour>
<point x="96" y="0" type="line"/>
<point x="126" y="0" type="line"/>
<point x="126" y="366" type="line"/>
<point x="188" y="430"/>
<point x="232" y="462"/>
<point x="292" y="462" type="curve" smooth="yes"/>
<point x="374" y="462"/>
<point x="408" y="410"/>
<point x="408" y="304" type="curve" smooth="yes"/>
<point x="408" y="0" type="line"/>
<point x="438" y="0" type="line"/>
<point x="438" y="308" type="line" smooth="yes"/>
<point x="438" y="432"/>
<point x="392" y="490"/>
<point x="294" y="490" type="curve" smooth="yes"/>
<point x="228" y="490"/>
<point x="178" y="452"/>
<point x="128" y="402" type="curve"/>
<point x="126" y="402" type="line"/>
<point x="122" y="478" type="line"/>
<point x="96" y="478" type="line"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="space" format="1">
<unicode hex="0020"/>
<advance width="200"/>
</glyph>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="t" format="1">
<unicode hex="0074"/>
<advance width="302"/>
<outline>
<contour>
<point x="218" y="-12" type="curve" smooth="yes"/>
<point x="234" y="-12"/>
<point x="264" y="-4"/>
<point x="292" y="6" type="curve"/>
<point x="282" y="32" type="line"/>
<point x="264" y="24"/>
<point x="238" y="16"/>
<point x="220" y="16" type="curve" smooth="yes"/>
<point x="150" y="16"/>
<point x="136" y="60"/>
<point x="136" y="122" type="curve" smooth="yes"/>
<point x="136" y="450" type="line"/>
<point x="278" y="450" type="line"/>
<point x="278" y="478" type="line"/>
<point x="136" y="478" type="line"/>
<point x="136" y="618" type="line"/>
<point x="110" y="618" type="line"/>
<point x="106" y="478" type="line"/>
<point x="30" y="474" type="line"/>
<point x="30" y="450" type="line"/>
<point x="106" y="450" type="line"/>
<point x="106" y="126" type="line" smooth="yes"/>
<point x="106" y="44"/>
<point x="130" y="-12"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="tildebelowcmb" format="1">
<unicode hex="0330"/>
<outline>
<component base="tildecmb" yOffset="-800"/>
</outline>
</glyph>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="tildecmb" format="1">
<unicode hex="0303"/>
<outline>
<contour>
<point x="77" y="580" type="curve" smooth="yes"/>
<point x="140" y="580"/>
<point x="156" y="646"/>
<point x="160" y="702" type="curve"/>
<point x="134" y="704" type="line"/>
<point x="132" y="652"/>
<point x="116" y="606"/>
<point x="79" y="606" type="curve" smooth="yes"/>
<point x="20" y="606"/>
<point x="0" y="706"/>
<point x="-76" y="706" type="curve" smooth="yes"/>
<point x="-140" y="706"/>
<point x="-156" y="641"/>
<point x="-160" y="584" type="curve"/>
<point x="-134" y="582" type="line"/>
<point x="-132" y="636"/>
<point x="-116" y="680"/>
<point x="-78" y="680" type="curve" smooth="yes"/>
<point x="-20" y="680"/>
<point x="0" y="580"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>public.glyphOrder</key>
<array>
<string>.notdef</string>
<string>space</string>
<string>A</string>
<string>a</string>
<string>d</string>
<string>f</string>
<string>n</string>
<string>t</string>
<string>f_t</string>
<string>a.alt</string>
<string>A.sc</string>
<string>ampersand</string>
<string>circledotted</string>
<string>tildecmb</string>
<string>dieresiscmb</string>
<string>tildebelowcmb</string>
<string>dieresisbelowcmb</string>
</array>
<key>public.postscriptNames</key>
<dict>
<key>circledotted</key>
<string>uni25CC</string>
<key>dieresisbelowcmb</key>
<string>uni0324</string>
<key>dieresiscmb</key>
<string>uni0308</string>
<key>tildebelowcmb</key>
<string>uni0330</string>
<key>tildecmb</key>
<string>uni0303</string>
</dict>
</dict>
</plist>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>creator</key>
<string>org.robofab.ufoLib</string>
<key>formatVersion</key>
<integer>2</integer>
</dict>
</plist>

View File

@ -0,0 +1,54 @@
table head {
FontRevision 2.020;
} head;
table name {
nameid 9 "Paul D. Hunt";
nameid 9 1 "Paul D. Hunt";
} name;
table hhea {
Ascender 984;
Descender -273;
LineGap 0;
} hhea;
table BASE {
HorizAxis.BaseTagList ideo romn;
HorizAxis.BaseScriptList
latn romn -170 0,
grek romn -170 0,
cyrl romn -170 0,
DFLT romn -170 0;
} BASE;
table OS/2 {
Panose 2 11 8 3 3 4 3 2 2 4;
XHeight 500;
WeightClass 900;
TypoAscender 750;
TypoDescender -250;
TypoLineGap 0;
winAscent 984;
winDescent 273;
CapHeight 660;
WidthClass 5;
Vendor "ADBO";
FSType 0;
} OS/2;
languagesystem DFLT dflt;
languagesystem latn dflt;
# GSUB =========================================
# No merging of GSUB is performed. The variable
# font will inherit the GSUB table from the
# base master.

View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ascender</key>
<integer>696</integer>
<key>capHeight</key>
<integer>650</integer>
<key>descender</key>
<integer>-176</integer>
<key>familyName</key>
<string>Test Family 2</string>
<key>italicAngle</key>
<integer>0</integer>
<key>openTypeHheaAscender</key>
<integer>984</integer>
<key>openTypeHheaDescender</key>
<integer>-273</integer>
<key>openTypeHheaLineGap</key>
<integer>0</integer>
<key>openTypeNameDesigner</key>
<string>Paul D. Hunt</string>
<key>openTypeOS2CodePageRanges</key>
<array>
<integer>0</integer>
<integer>1</integer>
<integer>29</integer>
</array>
<key>openTypeOS2Panose</key>
<array>
<integer>2</integer>
<integer>11</integer>
<integer>5</integer>
<integer>3</integer>
<integer>3</integer>
<integer>4</integer>
<integer>3</integer>
<integer>2</integer>
<integer>2</integer>
<integer>4</integer>
</array>
<key>openTypeOS2TypoAscender</key>
<integer>750</integer>
<key>openTypeOS2TypoDescender</key>
<integer>-250</integer>
<key>openTypeOS2TypoLineGap</key>
<integer>0</integer>
<key>openTypeOS2UnicodeRanges</key>
<array>
<integer>0</integer>
<integer>1</integer>
</array>
<key>openTypeOS2VendorID</key>
<string>ADBO</string>
<key>openTypeOS2WeightClass</key>
<integer>900</integer>
<key>openTypeOS2WinAscent</key>
<integer>984</integer>
<key>openTypeOS2WinDescent</key>
<integer>273</integer>
<key>postscriptBlueFuzz</key>
<integer>0</integer>
<key>postscriptBlueScale</key>
<real>0.0625</real>
<key>postscriptBlueValues</key>
<array>
<integer>-12</integer>
<integer>0</integer>
<integer>500</integer>
<integer>512</integer>
<integer>532</integer>
<integer>544</integer>
<integer>580</integer>
<integer>592</integer>
<integer>634</integer>
<integer>646</integer>
<integer>650</integer>
<integer>662</integer>
<integer>696</integer>
<integer>708</integer>
</array>
<key>postscriptFamilyBlues</key>
<array>
<integer>-12</integer>
<integer>0</integer>
<integer>486</integer>
<integer>498</integer>
<integer>518</integer>
<integer>530</integer>
<integer>574</integer>
<integer>586</integer>
<integer>638</integer>
<integer>650</integer>
<integer>656</integer>
<integer>668</integer>
<integer>712</integer>
<integer>724</integer>
</array>
<key>postscriptFamilyOtherBlues</key>
<array>
<integer>-217</integer>
<integer>-205</integer>
</array>
<key>postscriptFontName</key>
<string>TestFamily2-Master1</string>
<key>postscriptForceBold</key>
<false/>
<key>postscriptOtherBlues</key>
<array>
<integer>-188</integer>
<integer>-176</integer>
</array>
<key>postscriptStemSnapH</key>
<array>
<integer>134</integer>
<integer>144</integer>
</array>
<key>postscriptStemSnapV</key>
<array>
<integer>172</integer>
<integer>176</integer>
</array>
<key>postscriptUnderlinePosition</key>
<integer>-75</integer>
<key>postscriptUnderlineThickness</key>
<integer>50</integer>
<key>styleMapFamilyName</key>
<string>Test Family 2</string>
<key>styleName</key>
<string>Master 1</string>
<key>unitsPerEm</key>
<integer>1000</integer>
<key>versionMajor</key>
<integer>2</integer>
<key>versionMinor</key>
<integer>20</integer>
<key>xHeight</key>
<integer>500</integer>
</dict>
</plist>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="A" format="1">
<unicode hex="0041"/>
<advance width="584"/>
<outline>
<contour>
<point x="-10" y="0" type="line"/>
<point x="166" y="0" type="line"/>
<point x="240" y="316" type="line" smooth="yes"/>
<point x="256" y="378"/>
<point x="272" y="456"/>
<point x="286" y="522" type="curve"/>
<point x="290" y="522" type="line"/>
<point x="306" y="457"/>
<point x="322" y="378"/>
<point x="338" y="316" type="curve" smooth="yes"/>
<point x="412" y="0" type="line"/>
<point x="594" y="0" type="line"/>
<point x="396" y="650" type="line"/>
<point x="188" y="650" type="line"/>
</contour>
<contour>
<point x="132" y="138" type="line"/>
<point x="450" y="138" type="line"/>
<point x="450" y="271" type="line"/>
<point x="132" y="271" type="line"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="A.sc" format="1">
<advance width="516"/>
<outline>
<contour>
<point x="-10" y="0" type="line"/>
<point x="164" y="0" type="line"/>
<point x="219" y="244" type="line" smooth="yes"/>
<point x="230" y="292"/>
<point x="241" y="358"/>
<point x="252" y="409" type="curve"/>
<point x="256" y="409" type="line"/>
<point x="269" y="359"/>
<point x="280" y="292"/>
<point x="291" y="244" type="curve" smooth="yes"/>
<point x="346" y="0" type="line"/>
<point x="526" y="0" type="line"/>
<point x="361" y="532" type="line"/>
<point x="155" y="532" type="line"/>
</contour>
<contour>
<point x="118" y="94" type="line"/>
<point x="397" y="94" type="line"/>
<point x="397" y="216" type="line"/>
<point x="118" y="216" type="line"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name=".notdef" format="1">
<advance width="704"/>
<outline>
<contour>
<point x="76" y="0" type="line"/>
<point x="628" y="0" type="line"/>
<point x="628" y="660" type="line"/>
<point x="76" y="660" type="line"/>
</contour>
<contour>
<point x="288" y="104" type="line"/>
<point x="314" y="160" type="line"/>
<point x="350" y="256" type="line"/>
<point x="354" y="256" type="line"/>
<point x="390" y="160" type="line"/>
<point x="416" y="104" type="line"/>
</contour>
<contour>
<point x="350" y="424" type="line"/>
<point x="310" y="520" type="line"/>
<point x="292" y="556" type="line"/>
<point x="412" y="556" type="line"/>
<point x="394" y="520" type="line"/>
<point x="354" y="424" type="line"/>
</contour>
<contour>
<point x="188" y="172" type="line"/>
<point x="188" y="508" type="line"/>
<point x="270" y="340" type="line"/>
</contour>
<contour>
<point x="516" y="172" type="line"/>
<point x="434" y="340" type="line"/>
<point x="516" y="508" type="line"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="a.alt" format="1">
<advance width="580"/>
<outline>
<contour>
<point x="240" y="-12" type="curve" smooth="yes"/>
<point x="284" y="-12"/>
<point x="332" y="12"/>
<point x="366" y="46" type="curve"/>
<point x="370" y="46" type="line"/>
<point x="382" y="0" type="line"/>
<point x="522" y="0" type="line"/>
<point x="522" y="500" type="line"/>
<point x="388" y="500" type="line"/>
<point x="374" y="450" type="line"/>
<point x="370" y="450" type="line"/>
<point x="332" y="494"/>
<point x="292" y="512"/>
<point x="244" y="512" type="curve" smooth="yes"/>
<point x="142" y="512"/>
<point x="36" y="414"/>
<point x="36" y="250" type="curve" smooth="yes"/>
<point x="36" y="88"/>
<point x="116" y="-12"/>
</contour>
<contour>
<point x="286" y="128" type="curve" smooth="yes"/>
<point x="240" y="128"/>
<point x="212" y="162"/>
<point x="212" y="252" type="curve" smooth="yes"/>
<point x="212" y="340"/>
<point x="246" y="372"/>
<point x="282" y="372" type="curve" smooth="yes"/>
<point x="304" y="372"/>
<point x="330" y="366"/>
<point x="350" y="348" type="curve"/>
<point x="350" y="164" type="line"/>
<point x="332" y="136"/>
<point x="312" y="128"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="a" format="1">
<unicode hex="0061"/>
<advance width="536"/>
<outline>
<contour>
<point x="188" y="-12" type="curve" smooth="yes"/>
<point x="242" y="-12"/>
<point x="286" y="12"/>
<point x="326" y="48" type="curve"/>
<point x="330" y="48" type="line"/>
<point x="342" y="0" type="line"/>
<point x="482" y="0" type="line"/>
<point x="482" y="278" type="line" smooth="yes"/>
<point x="482" y="442"/>
<point x="404" y="512"/>
<point x="274" y="512" type="curve" smooth="yes"/>
<point x="196" y="512"/>
<point x="124" y="488"/>
<point x="54" y="446" type="curve"/>
<point x="114" y="334" type="line"/>
<point x="166" y="362"/>
<point x="204" y="376"/>
<point x="240" y="376" type="curve" smooth="yes"/>
<point x="284" y="376"/>
<point x="306" y="360"/>
<point x="310" y="324" type="curve"/>
<point x="118" y="304"/>
<point x="38" y="246"/>
<point x="38" y="142" type="curve" smooth="yes"/>
<point x="38" y="60"/>
<point x="94" y="-12"/>
</contour>
<contour>
<point x="248" y="120" type="curve" smooth="yes"/>
<point x="218" y="120"/>
<point x="202" y="133"/>
<point x="202" y="156" type="curve" smooth="yes"/>
<point x="202" y="184"/>
<point x="228" y="210"/>
<point x="310" y="222" type="curve"/>
<point x="310" y="154" type="line"/>
<point x="292" y="134"/>
<point x="276" y="120"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="ampersand" format="1">
<unicode hex="0026"/>
<advance width="690"/>
<outline>
<contour>
<point x="246" y="-12" type="curve" smooth="yes"/>
<point x="362" y="-12"/>
<point x="452" y="34"/>
<point x="516" y="104" type="curve" smooth="yes"/>
<point x="590" y="187"/>
<point x="638" y="276"/>
<point x="668" y="374" type="curve"/>
<point x="512" y="374" type="line"/>
<point x="490" y="292"/>
<point x="448" y="228"/>
<point x="398" y="180" type="curve" smooth="yes"/>
<point x="356" y="142"/>
<point x="310" y="118"/>
<point x="268" y="118" type="curve" smooth="yes"/>
<point x="216" y="118"/>
<point x="184" y="146"/>
<point x="184" y="186" type="curve" smooth="yes"/>
<point x="184" y="296"/>
<point x="458" y="332"/>
<point x="458" y="508" type="curve" smooth="yes"/>
<point x="458" y="602"/>
<point x="390" y="662"/>
<point x="286" y="662" type="curve" smooth="yes"/>
<point x="170" y="662"/>
<point x="98" y="580"/>
<point x="98" y="486" type="curve" smooth="yes"/>
<point x="98" y="359"/>
<point x="244" y="182"/>
<point x="415" y="75" type="curve" smooth="yes"/>
<point x="485" y="31"/>
<point x="560" y="0"/>
<point x="630" y="-12" type="curve"/>
<point x="670" y="126" type="line"/>
<point x="627" y="131"/>
<point x="573" y="153"/>
<point x="518" y="183" type="curve" smooth="yes"/>
<point x="382" y="258"/>
<point x="239" y="390"/>
<point x="239" y="486" type="curve" smooth="yes"/>
<point x="239" y="528"/>
<point x="263" y="550"/>
<point x="290" y="550" type="curve" smooth="yes"/>
<point x="315" y="550"/>
<point x="328" y="536"/>
<point x="328" y="508" type="curve" smooth="yes"/>
<point x="328" y="386"/>
<point x="22" y="396"/>
<point x="22" y="176" type="curve" smooth="yes"/>
<point x="22" y="78"/>
<point x="95" y="-12"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,175 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="circledotted" format="1">
<unicode hex="25CC"/>
<advance width="574"/>
<outline>
<contour>
<point x="104" y="96" type="curve" smooth="yes"/>
<point x="131" y="96"/>
<point x="149" y="112"/>
<point x="149" y="141" type="curve" smooth="yes"/>
<point x="149" y="170"/>
<point x="130" y="187"/>
<point x="104" y="187" type="curve" smooth="yes"/>
<point x="82" y="187"/>
<point x="61" y="170"/>
<point x="61" y="141" type="curve" smooth="yes"/>
<point x="61" y="112"/>
<point x="82" y="96"/>
</contour>
<contour>
<point x="76" y="204" type="curve" smooth="yes"/>
<point x="104" y="204"/>
<point x="122" y="221"/>
<point x="122" y="251" type="curve" smooth="yes"/>
<point x="122" y="279"/>
<point x="102" y="295"/>
<point x="76" y="295" type="curve" smooth="yes"/>
<point x="53" y="295"/>
<point x="32" y="279"/>
<point x="32" y="251" type="curve" smooth="yes"/>
<point x="32" y="221"/>
<point x="53" y="204"/>
</contour>
<contour>
<point x="104" y="313" type="curve" smooth="yes"/>
<point x="131" y="313"/>
<point x="149" y="331"/>
<point x="149" y="360" type="curve" smooth="yes"/>
<point x="149" y="390"/>
<point x="130" y="405"/>
<point x="104" y="405" type="curve" smooth="yes"/>
<point x="82" y="405"/>
<point x="61" y="390"/>
<point x="61" y="360" type="curve" smooth="yes"/>
<point x="61" y="331"/>
<point x="82" y="313"/>
</contour>
<contour>
<point x="182" y="14" type="curve" smooth="yes"/>
<point x="208" y="14"/>
<point x="227" y="31"/>
<point x="227" y="61" type="curve" smooth="yes"/>
<point x="227" y="89"/>
<point x="206" y="105"/>
<point x="182" y="105" type="curve" smooth="yes"/>
<point x="158" y="105"/>
<point x="137" y="89"/>
<point x="137" y="61" type="curve" smooth="yes"/>
<point x="137" y="31"/>
<point x="158" y="14"/>
</contour>
<contour>
<point x="182" y="395" type="curve" smooth="yes"/>
<point x="208" y="395"/>
<point x="227" y="412"/>
<point x="227" y="440" type="curve" smooth="yes"/>
<point x="227" y="470"/>
<point x="206" y="486"/>
<point x="182" y="486" type="curve" smooth="yes"/>
<point x="158" y="486"/>
<point x="137" y="470"/>
<point x="137" y="440" type="curve" smooth="yes"/>
<point x="137" y="412"/>
<point x="158" y="395"/>
</contour>
<contour>
<point x="287" y="-13" type="curve" smooth="yes"/>
<point x="314" y="-13"/>
<point x="332" y="4"/>
<point x="332" y="34" type="curve" smooth="yes"/>
<point x="332" y="62"/>
<point x="313" y="78"/>
<point x="287" y="78" type="curve" smooth="yes"/>
<point x="264" y="78"/>
<point x="244" y="62"/>
<point x="244" y="34" type="curve" smooth="yes"/>
<point x="244" y="4"/>
<point x="264" y="-13"/>
</contour>
<contour>
<point x="287" y="421" type="curve" smooth="yes"/>
<point x="314" y="421"/>
<point x="332" y="439"/>
<point x="332" y="468" type="curve" smooth="yes"/>
<point x="332" y="496"/>
<point x="313" y="512"/>
<point x="287" y="512" type="curve" smooth="yes"/>
<point x="264" y="512"/>
<point x="244" y="496"/>
<point x="244" y="468" type="curve" smooth="yes"/>
<point x="244" y="439"/>
<point x="264" y="421"/>
</contour>
<contour>
<point x="392" y="14" type="curve" smooth="yes"/>
<point x="420" y="14"/>
<point x="438" y="31"/>
<point x="438" y="61" type="curve" smooth="yes"/>
<point x="438" y="89"/>
<point x="417" y="105"/>
<point x="392" y="105" type="curve" smooth="yes"/>
<point x="369" y="105"/>
<point x="348" y="89"/>
<point x="348" y="61" type="curve" smooth="yes"/>
<point x="348" y="31"/>
<point x="369" y="14"/>
</contour>
<contour>
<point x="392" y="394" type="curve" smooth="yes"/>
<point x="420" y="394"/>
<point x="438" y="411"/>
<point x="438" y="440" type="curve" smooth="yes"/>
<point x="438" y="469"/>
<point x="417" y="486"/>
<point x="392" y="486" type="curve" smooth="yes"/>
<point x="369" y="486"/>
<point x="348" y="469"/>
<point x="348" y="440" type="curve" smooth="yes"/>
<point x="348" y="411"/>
<point x="369" y="394"/>
</contour>
<contour>
<point x="472" y="96" type="curve" smooth="yes"/>
<point x="498" y="96"/>
<point x="516" y="112"/>
<point x="516" y="141" type="curve" smooth="yes"/>
<point x="516" y="170"/>
<point x="496" y="187"/>
<point x="472" y="187" type="curve" smooth="yes"/>
<point x="447" y="187"/>
<point x="426" y="170"/>
<point x="426" y="141" type="curve" smooth="yes"/>
<point x="426" y="112"/>
<point x="447" y="96"/>
</contour>
<contour>
<point x="498" y="204" type="curve" smooth="yes"/>
<point x="524" y="204"/>
<point x="543" y="221"/>
<point x="543" y="251" type="curve" smooth="yes"/>
<point x="543" y="279"/>
<point x="522" y="295"/>
<point x="498" y="295" type="curve" smooth="yes"/>
<point x="473" y="295"/>
<point x="453" y="279"/>
<point x="453" y="251" type="curve" smooth="yes"/>
<point x="453" y="221"/>
<point x="473" y="204"/>
</contour>
<contour>
<point x="472" y="313" type="curve" smooth="yes"/>
<point x="498" y="313"/>
<point x="516" y="330"/>
<point x="516" y="359" type="curve" smooth="yes"/>
<point x="516" y="388"/>
<point x="496" y="404"/>
<point x="472" y="404" type="curve" smooth="yes"/>
<point x="447" y="404"/>
<point x="426" y="388"/>
<point x="426" y="359" type="curve" smooth="yes"/>
<point x="426" y="330"/>
<point x="447" y="313"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>.notdef</key>
<string>_notdef.glif</string>
<key>A</key>
<string>A_.glif</string>
<key>A.sc</key>
<string>A_.sc.glif</string>
<key>a</key>
<string>a.glif</string>
<key>a.alt</key>
<string>a.alt.glif</string>
<key>ampersand</key>
<string>ampersand.glif</string>
<key>circledotted</key>
<string>circledotted.glif</string>
<key>d</key>
<string>d.glif</string>
<key>dieresisbelowcmb</key>
<string>dieresisbelowcmb.glif</string>
<key>dieresiscmb</key>
<string>dieresiscmb.glif</string>
<key>f</key>
<string>f.glif</string>
<key>f_t</key>
<string>f_t.glif</string>
<key>n</key>
<string>n.glif</string>
<key>space</key>
<string>space.glif</string>
<key>t</key>
<string>t.glif</string>
<key>tildebelowcmb</key>
<string>tildebelowcmb.glif</string>
<key>tildecmb</key>
<string>tildecmb.glif</string>
</dict>
</plist>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="d" format="1">
<unicode hex="0064"/>
<advance width="580"/>
<outline>
<contour>
<point x="240" y="-12" type="curve" smooth="yes"/>
<point x="284" y="-12"/>
<point x="332" y="12"/>
<point x="366" y="46" type="curve"/>
<point x="370" y="46" type="line"/>
<point x="382" y="0" type="line"/>
<point x="522" y="0" type="line"/>
<point x="522" y="696" type="line"/>
<point x="350" y="696" type="line"/>
<point x="350" y="534" type="line"/>
<point x="356" y="462" type="line"/>
<point x="326" y="492"/>
<point x="294" y="512"/>
<point x="240" y="512" type="curve" smooth="yes"/>
<point x="138" y="512"/>
<point x="36" y="414"/>
<point x="36" y="250" type="curve" smooth="yes"/>
<point x="36" y="88"/>
<point x="116" y="-12"/>
</contour>
<contour>
<point x="286" y="128" type="curve" smooth="yes"/>
<point x="240" y="128"/>
<point x="212" y="162"/>
<point x="212" y="252" type="curve" smooth="yes"/>
<point x="212" y="340"/>
<point x="246" y="372"/>
<point x="282" y="372" type="curve" smooth="yes"/>
<point x="304" y="372"/>
<point x="330" y="366"/>
<point x="350" y="348" type="curve"/>
<point x="350" y="164" type="line"/>
<point x="332" y="136"/>
<point x="312" y="128"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="dieresisbelowcmb" format="1">
<unicode hex="0324"/>
<outline>
<component base="dieresiscmb" yOffset="-786"/>
</outline>
</glyph>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="dieresiscmb" format="1">
<unicode hex="0308"/>
<outline>
<contour>
<point x="-114" y="562" type="curve" smooth="yes"/>
<point x="-67" y="562"/>
<point x="-34" y="597"/>
<point x="-34" y="642" type="curve" smooth="yes"/>
<point x="-34" y="687"/>
<point x="-67" y="722"/>
<point x="-114" y="722" type="curve" smooth="yes"/>
<point x="-161" y="722"/>
<point x="-194" y="687"/>
<point x="-194" y="642" type="curve" smooth="yes"/>
<point x="-194" y="597"/>
<point x="-161" y="562"/>
</contour>
<contour>
<point x="114" y="562" type="curve" smooth="yes"/>
<point x="161" y="562"/>
<point x="194" y="597"/>
<point x="194" y="642" type="curve" smooth="yes"/>
<point x="194" y="687"/>
<point x="161" y="722"/>
<point x="114" y="722" type="curve" smooth="yes"/>
<point x="67" y="722"/>
<point x="34" y="687"/>
<point x="34" y="642" type="curve" smooth="yes"/>
<point x="34" y="597"/>
<point x="67" y="562"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="f" format="1">
<unicode hex="0066"/>
<advance width="360"/>
<outline>
<contour>
<point x="88" y="0" type="line"/>
<point x="260" y="0" type="line"/>
<point x="260" y="512" type="line" smooth="yes"/>
<point x="260" y="559"/>
<point x="280" y="574"/>
<point x="312" y="574" type="curve" smooth="yes"/>
<point x="328" y="574"/>
<point x="346" y="570"/>
<point x="362" y="564" type="curve"/>
<point x="392" y="690" type="line"/>
<point x="370" y="698"/>
<point x="332" y="708"/>
<point x="286" y="708" type="curve" smooth="yes"/>
<point x="138" y="708"/>
<point x="88" y="613"/>
<point x="88" y="506" type="curve" smooth="yes"/>
</contour>
<contour>
<point x="22" y="366" type="line"/>
<point x="344" y="366" type="line"/>
<point x="344" y="500" type="line"/>
<point x="98" y="500" type="line"/>
<point x="22" y="494" type="line"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="f_t" format="1">
<advance width="724"/>
<outline>
<contour>
<point x="88" y="0" type="line"/>
<point x="260" y="0" type="line"/>
<point x="260" y="512" type="line" smooth="yes"/>
<point x="260" y="559"/>
<point x="280" y="574"/>
<point x="312" y="574" type="curve" smooth="yes"/>
<point x="328" y="574"/>
<point x="346" y="570"/>
<point x="362" y="564" type="curve"/>
<point x="392" y="690" type="line"/>
<point x="370" y="698"/>
<point x="332" y="708"/>
<point x="286" y="708" type="curve" smooth="yes"/>
<point x="138" y="708"/>
<point x="88" y="613"/>
<point x="88" y="506" type="curve" smooth="yes"/>
</contour>
<contour>
<point x="588" y="-12" type="curve" smooth="yes"/>
<point x="643" y="-12"/>
<point x="680" y="-2"/>
<point x="706" y="6" type="curve"/>
<point x="680" y="130" type="line"/>
<point x="668" y="126"/>
<point x="652" y="122"/>
<point x="636" y="122" type="curve" smooth="yes"/>
<point x="604" y="122"/>
<point x="576" y="140"/>
<point x="576" y="195" type="curve"/>
<point x="576" y="366" type="line"/>
<point x="690" y="366" type="line"/>
<point x="690" y="500" type="line"/>
<point x="576" y="500" type="line"/>
<point x="576" y="630" type="line"/>
<point x="434" y="630" type="line"/>
<point x="414" y="500" type="line"/>
<point x="98" y="500" type="line"/>
<point x="22" y="494" type="line"/>
<point x="22" y="366" type="line"/>
<point x="404" y="366" type="line"/>
<point x="404" y="192" type="line" smooth="yes"/>
<point x="404" y="70"/>
<point x="458" y="-12"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="n" format="1">
<unicode hex="006E"/>
<advance width="582"/>
<outline>
<contour>
<point x="58" y="0" type="line"/>
<point x="230" y="0" type="line"/>
<point x="230" y="328" type="line"/>
<point x="256" y="352"/>
<point x="274" y="366"/>
<point x="306" y="366" type="curve" smooth="yes"/>
<point x="340" y="366"/>
<point x="356" y="350"/>
<point x="356" y="286" type="curve" smooth="yes"/>
<point x="356" y="0" type="line"/>
<point x="528" y="0" type="line"/>
<point x="528" y="308" type="line" smooth="yes"/>
<point x="528" y="432"/>
<point x="482" y="512"/>
<point x="372" y="512" type="curve" smooth="yes"/>
<point x="304" y="512"/>
<point x="254" y="478"/>
<point x="214" y="440" type="curve"/>
<point x="210" y="440" type="line"/>
<point x="198" y="500" type="line"/>
<point x="58" y="500" type="line"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="space" format="1">
<unicode hex="0020"/>
<advance width="200"/>
</glyph>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="t" format="1">
<unicode hex="0074"/>
<advance width="400"/>
<outline>
<contour>
<point x="264" y="-12" type="curve" smooth="yes"/>
<point x="319" y="-12"/>
<point x="356" y="-2"/>
<point x="382" y="6" type="curve"/>
<point x="356" y="130" type="line"/>
<point x="344" y="126"/>
<point x="328" y="122"/>
<point x="312" y="122" type="curve" smooth="yes"/>
<point x="280" y="122"/>
<point x="252" y="140"/>
<point x="252" y="195" type="curve" smooth="yes"/>
<point x="252" y="366" type="line"/>
<point x="366" y="366" type="line"/>
<point x="366" y="500" type="line"/>
<point x="252" y="500" type="line"/>
<point x="252" y="630" type="line"/>
<point x="110" y="630" type="line"/>
<point x="90" y="500" type="line"/>
<point x="14" y="494" type="line"/>
<point x="14" y="366" type="line"/>
<point x="80" y="366" type="line"/>
<point x="80" y="192" type="line" smooth="yes"/>
<point x="80" y="70"/>
<point x="134" y="-12"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="tildebelowcmb" format="1">
<unicode hex="0330"/>
<outline>
<component base="tildecmb" yOffset="-800"/>
</outline>
</glyph>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="tildecmb" format="1">
<unicode hex="0303"/>
<outline>
<contour>
<point x="64" y="572" type="curve" smooth="yes"/>
<point x="144" y="572"/>
<point x="194" y="617"/>
<point x="196" y="730" type="curve"/>
<point x="90" y="736" type="line"/>
<point x="86" y="700"/>
<point x="76" y="690"/>
<point x="60" y="690" type="curve" smooth="yes"/>
<point x="34" y="690"/>
<point x="-4" y="746"/>
<point x="-64" y="746" type="curve" smooth="yes"/>
<point x="-144" y="746"/>
<point x="-194" y="701"/>
<point x="-196" y="588" type="curve"/>
<point x="-90" y="582" type="line"/>
<point x="-86" y="618"/>
<point x="-76" y="628"/>
<point x="-60" y="628" type="curve" smooth="yes"/>
<point x="-34" y="628"/>
<point x="4" y="572"/>
</contour>
</outline>
</glyph>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>public.glyphOrder</key>
<array>
<string>.notdef</string>
<string>space</string>
<string>A</string>
<string>a</string>
<string>d</string>
<string>f</string>
<string>n</string>
<string>t</string>
<string>f_t</string>
<string>a.alt</string>
<string>A.sc</string>
<string>ampersand</string>
<string>circledotted</string>
<string>tildecmb</string>
<string>dieresiscmb</string>
<string>tildebelowcmb</string>
<string>dieresisbelowcmb</string>
</array>
<key>public.postscriptNames</key>
<dict>
<key>circledotted</key>
<string>uni25CC</string>
<key>dieresisbelowcmb</key>
<string>uni0324</string>
<key>dieresiscmb</key>
<string>uni0308</string>
<key>tildebelowcmb</key>
<string>uni0330</string>
<key>tildecmb</key>
<string>uni0303</string>
</dict>
</dict>
</plist>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>creator</key>
<string>org.robofab.ufoLib</string>
<key>formatVersion</key>
<integer>2</integer>
</dict>
</plist>

View File

@ -0,0 +1,113 @@
from __future__ import print_function, division, absolute_import
from fontTools.misc.py23 import *
from fontTools.ttLib import TTFont
from fontTools.varLib.interpolate_layout import interpolate_layout
import difflib
import os
import shutil
import sys
import tempfile
import unittest
class InterpolateLayoutTest(unittest.TestCase):
def __init__(self, methodName):
unittest.TestCase.__init__(self, methodName)
# Python 3 renamed assertRaisesRegexp to assertRaisesRegex,
# and fires deprecation warnings if a program uses the old name.
if not hasattr(self, "assertRaisesRegex"):
self.assertRaisesRegex = self.assertRaisesRegexp
def setUp(self):
self.tempdir = None
self.num_tempfiles = 0
def tearDown(self):
if self.tempdir:
shutil.rmtree(self.tempdir)
@staticmethod
def get_test_input(test_file_or_folder):
path, _ = os.path.split(__file__)
return os.path.join(path, "data", test_file_or_folder)
@staticmethod
def get_file_list(folder, suffix):
all_files = os.listdir(folder)
return [os.path.abspath(os.path.join(folder, p)) for p in all_files
if p.endswith(suffix)]
def temp_path(self, suffix):
self.temp_dir()
self.num_tempfiles += 1
return os.path.join(self.tempdir,
"tmp%d%s" % (self.num_tempfiles, suffix))
def temp_dir(self):
if not self.tempdir:
self.tempdir = tempfile.mkdtemp()
def read_ttx(self, path):
lines = []
with open(path, "r", encoding="utf-8") as ttx:
for line in ttx.readlines():
# Elide ttFont attributes because ttLibVersion may change,
# and use os-native line separators so we can run difflib.
if line.startswith("<ttFont "):
lines.append("<ttFont>" + os.linesep)
else:
lines.append(line.rstrip() + os.linesep)
return lines
def expect_ttx(self, font, expected_ttx, tables):
path = self.temp_path(suffix=".ttx")
font.saveXML(path, tables=tables)
actual = self.read_ttx(path)
expected = self.read_ttx(expected_ttx)
if actual != expected:
for line in difflib.unified_diff(
expected, actual, fromfile=expected_ttx, tofile=path):
sys.stdout.write(line)
self.fail("TTX output is different from expected")
def check_ttx_dump(self, font, expected_ttx, tables, suffix):
"""Ensure the TTX dump is the same after saving and reloading the font."""
path = self.temp_path(suffix=suffix)
font.save(path)
self.expect_ttx(TTFont(path), expected_ttx, tables)
def compile_font(self, path, suffix, temp_dir):
ttx_filename = os.path.basename(path)
savepath = os.path.join(temp_dir, ttx_filename.replace('.ttx', suffix))
font = TTFont(recalcBBoxes=False, recalcTimestamp=False)
font.importXML(path)
font.save(savepath, reorderTables=None)
return font, savepath
# -----
# Tests
# -----
def test_varlib_interpolate_layout_GSUB_only_ttf(self):
"""Only GSUB, and only in the base master."""
suffix = '.ttf'
ds_path = self.get_test_input('InterpolateLayoutTest.designspace')
ufo_dir = self.get_test_input('master_ufo')
ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf')
ttx_paths = self.get_file_list(ttx_dir, '.ttx')
self.temp_dir()
for path in ttx_paths:
self.compile_font(path, suffix, self.tempdir)
finder = lambda s: s.replace(ufo_dir, self.tempdir).replace('.ufo', suffix)
instfont = interpolate_layout(ds_path, {'weight': 500}, finder)
tables = ['GSUB']
expected_ttx_path = ds_path.replace('.designspace', '.ttx')
self.expect_ttx(instfont, expected_ttx_path, tables)
self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix)
if __name__ == "__main__":
sys.exit(unittest.main())