varLib_test: test build_many doesn't overwrite pre-existing STAT
This commit is contained in:
parent
5955a47f42
commit
d9570826ad
36
Tests/varLib/data/TestNoOverwriteSTAT.designspace
Normal file
36
Tests/varLib/data/TestNoOverwriteSTAT.designspace
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<designspace format="5.0">
|
||||||
|
<axes>
|
||||||
|
<axis tag="wght" name="Weight" minimum="100" maximum="900" default="100">
|
||||||
|
<map input="100" output="30"/>
|
||||||
|
<map input="900" output="240"/>
|
||||||
|
</axis>
|
||||||
|
<axis tag="wdth" name="Width" minimum="80" maximum="115" default="80"/>
|
||||||
|
</axes>
|
||||||
|
<sources>
|
||||||
|
<source filename="master_no_overwrite_stat/Test-CondensedThin.ttx" name="Test Condensed Thin">
|
||||||
|
<location>
|
||||||
|
<dimension name="Weight" xvalue="30"/>
|
||||||
|
<dimension name="Width" xvalue="80"/>
|
||||||
|
</location>
|
||||||
|
</source>
|
||||||
|
<source filename="master_no_overwrite_stat/Test-CondensedBlack.ttx" name="Test Condensed Black">
|
||||||
|
<location>
|
||||||
|
<dimension name="Weight" xvalue="240"/>
|
||||||
|
<dimension name="Width" xvalue="80"/>
|
||||||
|
</location>
|
||||||
|
</source>
|
||||||
|
<source filename="master_no_overwrite_stat/Test-ExtendedThin.ttx" name="Test Extended Thin">
|
||||||
|
<location>
|
||||||
|
<dimension name="Weight" xvalue="30"/>
|
||||||
|
<dimension name="Width" xvalue="115"/>
|
||||||
|
</location>
|
||||||
|
</source>
|
||||||
|
<source filename="master_no_overwrite_stat/Test-ExtendedBlack.ttx" name="Test Extended Black">
|
||||||
|
<location>
|
||||||
|
<dimension name="Weight" xvalue="240"/>
|
||||||
|
<dimension name="Width" xvalue="115"/>
|
||||||
|
</location>
|
||||||
|
</source>
|
||||||
|
</sources>
|
||||||
|
</designspace>
|
@ -0,0 +1,243 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="4.39">
|
||||||
|
|
||||||
|
<GlyphOrder>
|
||||||
|
<!-- The 'id' attribute is only for humans; it is ignored when parsed. -->
|
||||||
|
<GlyphID id="0" name=".notdef"/>
|
||||||
|
<GlyphID id="1" name="A"/>
|
||||||
|
</GlyphOrder>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<!-- Most of this table will be recalculated by the compiler -->
|
||||||
|
<tableVersion value="1.0"/>
|
||||||
|
<fontRevision value="3.013"/>
|
||||||
|
<checkSumAdjustment value="0x37268237"/>
|
||||||
|
<magicNumber value="0x5f0f3cf5"/>
|
||||||
|
<flags value="00000000 00000011"/>
|
||||||
|
<unitsPerEm value="1000"/>
|
||||||
|
<created value="Fri Feb 17 14:29:44 2023"/>
|
||||||
|
<modified value="Tue Mar 7 12:56:58 2023"/>
|
||||||
|
<xMin value="-2"/>
|
||||||
|
<yMin value="-250"/>
|
||||||
|
<xMax value="583"/>
|
||||||
|
<yMax value="750"/>
|
||||||
|
<macStyle value="00000000 00000000"/>
|
||||||
|
<lowestRecPPEM value="6"/>
|
||||||
|
<fontDirectionHint value="2"/>
|
||||||
|
<indexToLocFormat value="0"/>
|
||||||
|
<glyphDataFormat value="0"/>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<hhea>
|
||||||
|
<tableVersion value="0x00010000"/>
|
||||||
|
<ascent value="1000"/>
|
||||||
|
<descent value="-300"/>
|
||||||
|
<lineGap value="0"/>
|
||||||
|
<advanceWidthMax value="582"/>
|
||||||
|
<minLeftSideBearing value="-2"/>
|
||||||
|
<minRightSideBearing value="-1"/>
|
||||||
|
<xMaxExtent value="583"/>
|
||||||
|
<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="2"/>
|
||||||
|
</hhea>
|
||||||
|
|
||||||
|
<maxp>
|
||||||
|
<!-- Most of this table will be recalculated by the compiler -->
|
||||||
|
<tableVersion value="0x10000"/>
|
||||||
|
<numGlyphs value="2"/>
|
||||||
|
<maxPoints value="19"/>
|
||||||
|
<maxContours value="2"/>
|
||||||
|
<maxCompositePoints value="0"/>
|
||||||
|
<maxCompositeContours value="0"/>
|
||||||
|
<maxZones value="1"/>
|
||||||
|
<maxTwilightPoints value="0"/>
|
||||||
|
<maxStorage value="0"/>
|
||||||
|
<maxFunctionDefs value="0"/>
|
||||||
|
<maxInstructionDefs value="0"/>
|
||||||
|
<maxStackElements value="0"/>
|
||||||
|
<maxSizeOfInstructions value="0"/>
|
||||||
|
<maxComponentElements value="0"/>
|
||||||
|
<maxComponentDepth value="0"/>
|
||||||
|
</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="3"/>
|
||||||
|
<fsType value="00000000 00001000"/>
|
||||||
|
<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="80"/>
|
||||||
|
<yStrikeoutPosition value="303"/>
|
||||||
|
<sFamilyClass value="0"/>
|
||||||
|
<panose>
|
||||||
|
<bFamilyType value="0"/>
|
||||||
|
<bSerifStyle value="0"/>
|
||||||
|
<bWeight value="0"/>
|
||||||
|
<bProportion value="0"/>
|
||||||
|
<bContrast value="0"/>
|
||||||
|
<bStrokeVariation value="0"/>
|
||||||
|
<bArmStyle value="0"/>
|
||||||
|
<bLetterForm value="0"/>
|
||||||
|
<bMidline value="0"/>
|
||||||
|
<bXHeight value="0"/>
|
||||||
|
</panose>
|
||||||
|
<ulUnicodeRange1 value="00000000 00000000 00000000 00000001"/>
|
||||||
|
<ulUnicodeRange2 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<ulUnicodeRange3 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<ulUnicodeRange4 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<achVendID value="NONE"/>
|
||||||
|
<fsSelection value="00000000 01000000"/>
|
||||||
|
<usFirstCharIndex value="65"/>
|
||||||
|
<usLastCharIndex value="65"/>
|
||||||
|
<sTypoAscender value="750"/>
|
||||||
|
<sTypoDescender value="-250"/>
|
||||||
|
<sTypoLineGap value="250"/>
|
||||||
|
<usWinAscent value="1000"/>
|
||||||
|
<usWinDescent value="300"/>
|
||||||
|
<ulCodePageRange1 value="00000000 00000000 00000000 00000001"/>
|
||||||
|
<ulCodePageRange2 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<sxHeight value="505"/>
|
||||||
|
<sCapHeight value="670"/>
|
||||||
|
<usDefaultChar value="0"/>
|
||||||
|
<usBreakChar value="32"/>
|
||||||
|
<usMaxContext value="0"/>
|
||||||
|
</OS_2>
|
||||||
|
|
||||||
|
<hmtx>
|
||||||
|
<mtx name=".notdef" width="500" lsb="50"/>
|
||||||
|
<mtx name="A" width="582" lsb="-2"/>
|
||||||
|
</hmtx>
|
||||||
|
|
||||||
|
<cmap>
|
||||||
|
<tableVersion version="0"/>
|
||||||
|
<cmap_format_4 platformID="0" platEncID="3" language="0">
|
||||||
|
<map code="0x41" name="A"/><!-- LATIN CAPITAL LETTER A -->
|
||||||
|
</cmap_format_4>
|
||||||
|
<cmap_format_4 platformID="3" platEncID="1" language="0">
|
||||||
|
<map code="0x41" name="A"/><!-- LATIN CAPITAL LETTER A -->
|
||||||
|
</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="50" yMin="-250" xMax="450" yMax="750">
|
||||||
|
<contour>
|
||||||
|
<pt x="50" y="-250" on="1"/>
|
||||||
|
<pt x="50" y="750" on="1"/>
|
||||||
|
<pt x="450" y="750" on="1"/>
|
||||||
|
<pt x="450" y="-250" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<contour>
|
||||||
|
<pt x="100" y="-200" on="1"/>
|
||||||
|
<pt x="400" y="-200" on="1"/>
|
||||||
|
<pt x="400" y="700" on="1"/>
|
||||||
|
<pt x="100" y="700" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<instructions/>
|
||||||
|
</TTGlyph>
|
||||||
|
|
||||||
|
<TTGlyph name="A" xMin="-2" yMin="0" xMax="583" yMax="672">
|
||||||
|
<contour>
|
||||||
|
<pt x="410" y="672" on="1"/>
|
||||||
|
<pt x="570" y="81" on="1"/>
|
||||||
|
<pt x="576" y="58" on="0"/>
|
||||||
|
<pt x="583" y="19" on="0"/>
|
||||||
|
<pt x="583" y="0" on="1"/>
|
||||||
|
<pt x="384" y="0" on="1"/>
|
||||||
|
<pt x="315" y="355" on="1"/>
|
||||||
|
<pt x="297" y="480" on="1"/>
|
||||||
|
<pt x="292" y="480" on="1"/>
|
||||||
|
<pt x="195" y="0" on="1"/>
|
||||||
|
<pt x="-2" y="0" on="1"/>
|
||||||
|
<pt x="-2" y="15" on="0"/>
|
||||||
|
<pt x="2" y="55" on="0"/>
|
||||||
|
<pt x="9" y="79" on="1"/>
|
||||||
|
<pt x="176" y="668" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<contour>
|
||||||
|
<pt x="422" y="257" on="1"/>
|
||||||
|
<pt x="422" y="107" on="1"/>
|
||||||
|
<pt x="137" y="107" on="1"/>
|
||||||
|
<pt x="137" y="257" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<instructions/>
|
||||||
|
</TTGlyph>
|
||||||
|
|
||||||
|
</glyf>
|
||||||
|
|
||||||
|
<name>
|
||||||
|
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test Condensed Black
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Regular
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
3.013;NONE;Test-CondensedBlack
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test Condensed Black
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="5" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Version 3.013
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test-CondensedBlack
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="16" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Condensed Black
|
||||||
|
</namerecord>
|
||||||
|
</name>
|
||||||
|
|
||||||
|
<post>
|
||||||
|
<formatType value="2.0"/>
|
||||||
|
<italicAngle value="0.0"/>
|
||||||
|
<underlinePosition value="-130"/>
|
||||||
|
<underlineThickness value="80"/>
|
||||||
|
<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 -->
|
||||||
|
</extraNames>
|
||||||
|
</post>
|
||||||
|
|
||||||
|
</ttFont>
|
@ -0,0 +1,373 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="4.39">
|
||||||
|
|
||||||
|
<GlyphOrder>
|
||||||
|
<!-- The 'id' attribute is only for humans; it is ignored when parsed. -->
|
||||||
|
<GlyphID id="0" name=".notdef"/>
|
||||||
|
<GlyphID id="1" name="A"/>
|
||||||
|
</GlyphOrder>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<!-- Most of this table will be recalculated by the compiler -->
|
||||||
|
<tableVersion value="1.0"/>
|
||||||
|
<fontRevision value="3.013"/>
|
||||||
|
<checkSumAdjustment value="0x176a479f"/>
|
||||||
|
<magicNumber value="0x5f0f3cf5"/>
|
||||||
|
<flags value="00000000 00000011"/>
|
||||||
|
<unitsPerEm value="1000"/>
|
||||||
|
<created value="Fri Feb 17 14:29:44 2023"/>
|
||||||
|
<modified value="Tue Mar 7 12:56:58 2023"/>
|
||||||
|
<xMin value="28"/>
|
||||||
|
<yMin value="-250"/>
|
||||||
|
<xMax value="450"/>
|
||||||
|
<yMax value="750"/>
|
||||||
|
<macStyle value="00000000 00000000"/>
|
||||||
|
<lowestRecPPEM value="6"/>
|
||||||
|
<fontDirectionHint value="2"/>
|
||||||
|
<indexToLocFormat value="0"/>
|
||||||
|
<glyphDataFormat value="0"/>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<hhea>
|
||||||
|
<tableVersion value="0x00010000"/>
|
||||||
|
<ascent value="1000"/>
|
||||||
|
<descent value="-300"/>
|
||||||
|
<lineGap value="0"/>
|
||||||
|
<advanceWidthMax value="500"/>
|
||||||
|
<minLeftSideBearing value="28"/>
|
||||||
|
<minRightSideBearing value="31"/>
|
||||||
|
<xMaxExtent value="450"/>
|
||||||
|
<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="2"/>
|
||||||
|
</hhea>
|
||||||
|
|
||||||
|
<maxp>
|
||||||
|
<!-- Most of this table will be recalculated by the compiler -->
|
||||||
|
<tableVersion value="0x10000"/>
|
||||||
|
<numGlyphs value="2"/>
|
||||||
|
<maxPoints value="19"/>
|
||||||
|
<maxContours value="2"/>
|
||||||
|
<maxCompositePoints value="0"/>
|
||||||
|
<maxCompositeContours value="0"/>
|
||||||
|
<maxZones value="1"/>
|
||||||
|
<maxTwilightPoints value="0"/>
|
||||||
|
<maxStorage value="0"/>
|
||||||
|
<maxFunctionDefs value="0"/>
|
||||||
|
<maxInstructionDefs value="0"/>
|
||||||
|
<maxStackElements value="0"/>
|
||||||
|
<maxSizeOfInstructions value="0"/>
|
||||||
|
<maxComponentElements value="0"/>
|
||||||
|
<maxComponentDepth value="0"/>
|
||||||
|
</maxp>
|
||||||
|
|
||||||
|
<OS_2>
|
||||||
|
<!-- The fields 'usFirstCharIndex' and 'usLastCharIndex'
|
||||||
|
will be recalculated by the compiler -->
|
||||||
|
<version value="4"/>
|
||||||
|
<xAvgCharWidth value="482"/>
|
||||||
|
<usWeightClass value="100"/>
|
||||||
|
<usWidthClass value="3"/>
|
||||||
|
<fsType value="00000000 00001000"/>
|
||||||
|
<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="25"/>
|
||||||
|
<yStrikeoutPosition value="274"/>
|
||||||
|
<sFamilyClass value="0"/>
|
||||||
|
<panose>
|
||||||
|
<bFamilyType value="0"/>
|
||||||
|
<bSerifStyle value="0"/>
|
||||||
|
<bWeight value="0"/>
|
||||||
|
<bProportion value="0"/>
|
||||||
|
<bContrast value="0"/>
|
||||||
|
<bStrokeVariation value="0"/>
|
||||||
|
<bArmStyle value="0"/>
|
||||||
|
<bLetterForm value="0"/>
|
||||||
|
<bMidline value="0"/>
|
||||||
|
<bXHeight value="0"/>
|
||||||
|
</panose>
|
||||||
|
<ulUnicodeRange1 value="00000000 00000000 00000000 00000001"/>
|
||||||
|
<ulUnicodeRange2 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<ulUnicodeRange3 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<ulUnicodeRange4 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<achVendID value="NONE"/>
|
||||||
|
<fsSelection value="00000000 01000000"/>
|
||||||
|
<usFirstCharIndex value="65"/>
|
||||||
|
<usLastCharIndex value="65"/>
|
||||||
|
<sTypoAscender value="750"/>
|
||||||
|
<sTypoDescender value="-250"/>
|
||||||
|
<sTypoLineGap value="250"/>
|
||||||
|
<usWinAscent value="1000"/>
|
||||||
|
<usWinDescent value="300"/>
|
||||||
|
<ulCodePageRange1 value="00000000 00000000 00000000 00000001"/>
|
||||||
|
<ulCodePageRange2 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<sxHeight value="456"/>
|
||||||
|
<sCapHeight value="670"/>
|
||||||
|
<usDefaultChar value="0"/>
|
||||||
|
<usBreakChar value="32"/>
|
||||||
|
<usMaxContext value="0"/>
|
||||||
|
</OS_2>
|
||||||
|
|
||||||
|
<hmtx>
|
||||||
|
<mtx name=".notdef" width="500" lsb="50"/>
|
||||||
|
<mtx name="A" width="464" lsb="28"/>
|
||||||
|
</hmtx>
|
||||||
|
|
||||||
|
<cmap>
|
||||||
|
<tableVersion version="0"/>
|
||||||
|
<cmap_format_4 platformID="0" platEncID="3" language="0">
|
||||||
|
<map code="0x41" name="A"/><!-- LATIN CAPITAL LETTER A -->
|
||||||
|
</cmap_format_4>
|
||||||
|
<cmap_format_4 platformID="3" platEncID="1" language="0">
|
||||||
|
<map code="0x41" name="A"/><!-- LATIN CAPITAL LETTER A -->
|
||||||
|
</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="50" yMin="-250" xMax="450" yMax="750">
|
||||||
|
<contour>
|
||||||
|
<pt x="50" y="-250" on="1"/>
|
||||||
|
<pt x="50" y="750" on="1"/>
|
||||||
|
<pt x="450" y="750" on="1"/>
|
||||||
|
<pt x="450" y="-250" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<contour>
|
||||||
|
<pt x="100" y="-200" on="1"/>
|
||||||
|
<pt x="400" y="-200" on="1"/>
|
||||||
|
<pt x="400" y="700" on="1"/>
|
||||||
|
<pt x="100" y="700" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<instructions/>
|
||||||
|
</TTGlyph>
|
||||||
|
|
||||||
|
<TTGlyph name="A" xMin="28" yMin="0" xMax="433" yMax="672">
|
||||||
|
<contour>
|
||||||
|
<pt x="247" y="672" on="1"/>
|
||||||
|
<pt x="408" y="90" on="1"/>
|
||||||
|
<pt x="414" y="68" on="0"/>
|
||||||
|
<pt x="427" y="23" on="0"/>
|
||||||
|
<pt x="433" y="0" on="1"/>
|
||||||
|
<pt x="399" y="0" on="1"/>
|
||||||
|
<pt x="266" y="482" on="1"/>
|
||||||
|
<pt x="235" y="613" on="1"/>
|
||||||
|
<pt x="233" y="613" on="1"/>
|
||||||
|
<pt x="62" y="0" on="1"/>
|
||||||
|
<pt x="28" y="0" on="1"/>
|
||||||
|
<pt x="35" y="23" on="0"/>
|
||||||
|
<pt x="47" y="68" on="0"/>
|
||||||
|
<pt x="54" y="90" on="1"/>
|
||||||
|
<pt x="218" y="668" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<contour>
|
||||||
|
<pt x="354" y="244" on="1"/>
|
||||||
|
<pt x="354" y="217" on="1"/>
|
||||||
|
<pt x="109" y="217" on="1"/>
|
||||||
|
<pt x="109" y="244" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<instructions/>
|
||||||
|
</TTGlyph>
|
||||||
|
|
||||||
|
</glyf>
|
||||||
|
|
||||||
|
<name>
|
||||||
|
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test Condensed Thin
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Regular
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
3.013;NONE;Test-CondensedThin
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test Condensed Thin
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="5" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Version 3.013
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test-CondensedThin
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="16" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Condensed Thin
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="256" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Standard
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="257" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Heaviness
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="258" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Extralight
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="259" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Thin
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="260" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Light
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="261" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Regular
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="262" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Medium
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="263" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Semibold
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="264" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Bold
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="265" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Wideness
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="266" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Compressed
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="267" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Condensed
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="268" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Normal
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="269" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Extended
|
||||||
|
</namerecord>
|
||||||
|
</name>
|
||||||
|
|
||||||
|
<post>
|
||||||
|
<formatType value="2.0"/>
|
||||||
|
<italicAngle value="0.0"/>
|
||||||
|
<underlinePosition value="-130"/>
|
||||||
|
<underlineThickness value="25"/>
|
||||||
|
<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 -->
|
||||||
|
</extraNames>
|
||||||
|
</post>
|
||||||
|
|
||||||
|
<STAT>
|
||||||
|
<Version value="0x00010001"/>
|
||||||
|
<DesignAxisRecordSize value="8"/>
|
||||||
|
<!-- DesignAxisCount=2 -->
|
||||||
|
<DesignAxisRecord>
|
||||||
|
<Axis index="0">
|
||||||
|
<AxisTag value="wght"/>
|
||||||
|
<AxisNameID value="257"/> <!-- Heaviness -->
|
||||||
|
<AxisOrdering value="0"/>
|
||||||
|
</Axis>
|
||||||
|
<Axis index="1">
|
||||||
|
<AxisTag value="wdth"/>
|
||||||
|
<AxisNameID value="265"/> <!-- Wideness -->
|
||||||
|
<AxisOrdering value="1"/>
|
||||||
|
</Axis>
|
||||||
|
</DesignAxisRecord>
|
||||||
|
<!-- AxisValueCount=11 -->
|
||||||
|
<AxisValueArray>
|
||||||
|
<AxisValue index="0" Format="1">
|
||||||
|
<AxisIndex value="0"/>
|
||||||
|
<Flags value="0"/>
|
||||||
|
<ValueNameID value="258"/> <!-- Extralight -->
|
||||||
|
<Value value="100.0"/>
|
||||||
|
</AxisValue>
|
||||||
|
<AxisValue index="1" Format="1">
|
||||||
|
<AxisIndex value="0"/>
|
||||||
|
<Flags value="0"/>
|
||||||
|
<ValueNameID value="259"/> <!-- Thin -->
|
||||||
|
<Value value="200.0"/>
|
||||||
|
</AxisValue>
|
||||||
|
<AxisValue index="2" Format="1">
|
||||||
|
<AxisIndex value="0"/>
|
||||||
|
<Flags value="0"/>
|
||||||
|
<ValueNameID value="260"/> <!-- Light -->
|
||||||
|
<Value value="300.0"/>
|
||||||
|
</AxisValue>
|
||||||
|
<AxisValue index="3" Format="1">
|
||||||
|
<AxisIndex value="0"/>
|
||||||
|
<Flags value="2"/> <!-- ElidableAxisValueName -->
|
||||||
|
<ValueNameID value="261"/> <!-- Regular -->
|
||||||
|
<Value value="400.0"/>
|
||||||
|
</AxisValue>
|
||||||
|
<AxisValue index="4" Format="1">
|
||||||
|
<AxisIndex value="0"/>
|
||||||
|
<Flags value="0"/>
|
||||||
|
<ValueNameID value="262"/> <!-- Medium -->
|
||||||
|
<Value value="500.0"/>
|
||||||
|
</AxisValue>
|
||||||
|
<AxisValue index="5" Format="1">
|
||||||
|
<AxisIndex value="0"/>
|
||||||
|
<Flags value="0"/>
|
||||||
|
<ValueNameID value="263"/> <!-- Semibold -->
|
||||||
|
<Value value="600.0"/>
|
||||||
|
</AxisValue>
|
||||||
|
<AxisValue index="6" Format="1">
|
||||||
|
<AxisIndex value="0"/>
|
||||||
|
<Flags value="0"/>
|
||||||
|
<ValueNameID value="264"/> <!-- Bold -->
|
||||||
|
<Value value="700.0"/>
|
||||||
|
</AxisValue>
|
||||||
|
<AxisValue index="7" Format="1">
|
||||||
|
<AxisIndex value="1"/>
|
||||||
|
<Flags value="0"/>
|
||||||
|
<ValueNameID value="266"/> <!-- Compressed -->
|
||||||
|
<Value value="80.0"/>
|
||||||
|
</AxisValue>
|
||||||
|
<AxisValue index="8" Format="1">
|
||||||
|
<AxisIndex value="1"/>
|
||||||
|
<Flags value="0"/>
|
||||||
|
<ValueNameID value="267"/> <!-- Condensed -->
|
||||||
|
<Value value="90.0"/>
|
||||||
|
</AxisValue>
|
||||||
|
<AxisValue index="9" Format="1">
|
||||||
|
<AxisIndex value="1"/>
|
||||||
|
<Flags value="0"/>
|
||||||
|
<ValueNameID value="268"/> <!-- Normal -->
|
||||||
|
<Value value="100.0"/>
|
||||||
|
</AxisValue>
|
||||||
|
<AxisValue index="10" Format="1">
|
||||||
|
<AxisIndex value="1"/>
|
||||||
|
<Flags value="0"/>
|
||||||
|
<ValueNameID value="269"/> <!-- Extended -->
|
||||||
|
<Value value="115.0"/>
|
||||||
|
</AxisValue>
|
||||||
|
</AxisValueArray>
|
||||||
|
<ElidedFallbackNameID value="256"/> <!-- Standard -->
|
||||||
|
</STAT>
|
||||||
|
|
||||||
|
</ttFont>
|
@ -0,0 +1,243 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="4.39">
|
||||||
|
|
||||||
|
<GlyphOrder>
|
||||||
|
<!-- The 'id' attribute is only for humans; it is ignored when parsed. -->
|
||||||
|
<GlyphID id="0" name=".notdef"/>
|
||||||
|
<GlyphID id="1" name="A"/>
|
||||||
|
</GlyphOrder>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<!-- Most of this table will be recalculated by the compiler -->
|
||||||
|
<tableVersion value="1.0"/>
|
||||||
|
<fontRevision value="3.013"/>
|
||||||
|
<checkSumAdjustment value="0xc2b89a77"/>
|
||||||
|
<magicNumber value="0x5f0f3cf5"/>
|
||||||
|
<flags value="00000000 00000011"/>
|
||||||
|
<unitsPerEm value="1000"/>
|
||||||
|
<created value="Fri Feb 17 14:29:44 2023"/>
|
||||||
|
<modified value="Tue Mar 7 12:56:58 2023"/>
|
||||||
|
<xMin value="-6"/>
|
||||||
|
<yMin value="-250"/>
|
||||||
|
<xMax value="759"/>
|
||||||
|
<yMax value="750"/>
|
||||||
|
<macStyle value="00000000 00000000"/>
|
||||||
|
<lowestRecPPEM value="6"/>
|
||||||
|
<fontDirectionHint value="2"/>
|
||||||
|
<indexToLocFormat value="0"/>
|
||||||
|
<glyphDataFormat value="0"/>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<hhea>
|
||||||
|
<tableVersion value="0x00010000"/>
|
||||||
|
<ascent value="1000"/>
|
||||||
|
<descent value="-300"/>
|
||||||
|
<lineGap value="0"/>
|
||||||
|
<advanceWidthMax value="762"/>
|
||||||
|
<minLeftSideBearing value="-6"/>
|
||||||
|
<minRightSideBearing value="3"/>
|
||||||
|
<xMaxExtent value="759"/>
|
||||||
|
<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="2"/>
|
||||||
|
</hhea>
|
||||||
|
|
||||||
|
<maxp>
|
||||||
|
<!-- Most of this table will be recalculated by the compiler -->
|
||||||
|
<tableVersion value="0x10000"/>
|
||||||
|
<numGlyphs value="2"/>
|
||||||
|
<maxPoints value="19"/>
|
||||||
|
<maxContours value="2"/>
|
||||||
|
<maxCompositePoints value="0"/>
|
||||||
|
<maxCompositeContours value="0"/>
|
||||||
|
<maxZones value="1"/>
|
||||||
|
<maxTwilightPoints value="0"/>
|
||||||
|
<maxStorage value="0"/>
|
||||||
|
<maxFunctionDefs value="0"/>
|
||||||
|
<maxInstructionDefs value="0"/>
|
||||||
|
<maxStackElements value="0"/>
|
||||||
|
<maxSizeOfInstructions value="0"/>
|
||||||
|
<maxComponentElements value="0"/>
|
||||||
|
<maxComponentDepth value="0"/>
|
||||||
|
</maxp>
|
||||||
|
|
||||||
|
<OS_2>
|
||||||
|
<!-- The fields 'usFirstCharIndex' and 'usLastCharIndex'
|
||||||
|
will be recalculated by the compiler -->
|
||||||
|
<version value="4"/>
|
||||||
|
<xAvgCharWidth value="631"/>
|
||||||
|
<usWeightClass value="900"/>
|
||||||
|
<usWidthClass value="6"/>
|
||||||
|
<fsType value="00000000 00001000"/>
|
||||||
|
<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="100"/>
|
||||||
|
<yStrikeoutPosition value="303"/>
|
||||||
|
<sFamilyClass value="0"/>
|
||||||
|
<panose>
|
||||||
|
<bFamilyType value="0"/>
|
||||||
|
<bSerifStyle value="0"/>
|
||||||
|
<bWeight value="0"/>
|
||||||
|
<bProportion value="0"/>
|
||||||
|
<bContrast value="0"/>
|
||||||
|
<bStrokeVariation value="0"/>
|
||||||
|
<bArmStyle value="0"/>
|
||||||
|
<bLetterForm value="0"/>
|
||||||
|
<bMidline value="0"/>
|
||||||
|
<bXHeight value="0"/>
|
||||||
|
</panose>
|
||||||
|
<ulUnicodeRange1 value="00000000 00000000 00000000 00000001"/>
|
||||||
|
<ulUnicodeRange2 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<ulUnicodeRange3 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<ulUnicodeRange4 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<achVendID value="NONE"/>
|
||||||
|
<fsSelection value="00000000 01000000"/>
|
||||||
|
<usFirstCharIndex value="65"/>
|
||||||
|
<usLastCharIndex value="65"/>
|
||||||
|
<sTypoAscender value="750"/>
|
||||||
|
<sTypoDescender value="-250"/>
|
||||||
|
<sTypoLineGap value="250"/>
|
||||||
|
<usWinAscent value="1000"/>
|
||||||
|
<usWinDescent value="300"/>
|
||||||
|
<ulCodePageRange1 value="00000000 00000000 00000000 00000001"/>
|
||||||
|
<ulCodePageRange2 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<sxHeight value="505"/>
|
||||||
|
<sCapHeight value="670"/>
|
||||||
|
<usDefaultChar value="0"/>
|
||||||
|
<usBreakChar value="32"/>
|
||||||
|
<usMaxContext value="0"/>
|
||||||
|
</OS_2>
|
||||||
|
|
||||||
|
<hmtx>
|
||||||
|
<mtx name=".notdef" width="500" lsb="50"/>
|
||||||
|
<mtx name="A" width="762" lsb="-6"/>
|
||||||
|
</hmtx>
|
||||||
|
|
||||||
|
<cmap>
|
||||||
|
<tableVersion version="0"/>
|
||||||
|
<cmap_format_4 platformID="0" platEncID="3" language="0">
|
||||||
|
<map code="0x41" name="A"/><!-- LATIN CAPITAL LETTER A -->
|
||||||
|
</cmap_format_4>
|
||||||
|
<cmap_format_4 platformID="3" platEncID="1" language="0">
|
||||||
|
<map code="0x41" name="A"/><!-- LATIN CAPITAL LETTER A -->
|
||||||
|
</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="50" yMin="-250" xMax="450" yMax="750">
|
||||||
|
<contour>
|
||||||
|
<pt x="50" y="-250" on="1"/>
|
||||||
|
<pt x="50" y="750" on="1"/>
|
||||||
|
<pt x="450" y="750" on="1"/>
|
||||||
|
<pt x="450" y="-250" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<contour>
|
||||||
|
<pt x="100" y="-200" on="1"/>
|
||||||
|
<pt x="400" y="-200" on="1"/>
|
||||||
|
<pt x="400" y="700" on="1"/>
|
||||||
|
<pt x="100" y="700" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<instructions/>
|
||||||
|
</TTGlyph>
|
||||||
|
|
||||||
|
<TTGlyph name="A" xMin="-6" yMin="0" xMax="759" yMax="672">
|
||||||
|
<contour>
|
||||||
|
<pt x="542" y="672" on="1"/>
|
||||||
|
<pt x="735" y="121" on="1"/>
|
||||||
|
<pt x="747" y="86" on="0"/>
|
||||||
|
<pt x="759" y="24" on="0"/>
|
||||||
|
<pt x="759" y="0" on="1"/>
|
||||||
|
<pt x="501" y="0" on="1"/>
|
||||||
|
<pt x="421" y="258" on="1"/>
|
||||||
|
<pt x="384" y="458" on="1"/>
|
||||||
|
<pt x="377" y="458" on="1"/>
|
||||||
|
<pt x="244" y="0" on="1"/>
|
||||||
|
<pt x="-6" y="0" on="1"/>
|
||||||
|
<pt x="-6" y="21" on="0"/>
|
||||||
|
<pt x="4" y="87" on="0"/>
|
||||||
|
<pt x="17" y="121" on="1"/>
|
||||||
|
<pt x="233" y="668" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<contour>
|
||||||
|
<pt x="545" y="259" on="1"/>
|
||||||
|
<pt x="545" y="92" on="1"/>
|
||||||
|
<pt x="176" y="92" on="1"/>
|
||||||
|
<pt x="176" y="259" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<instructions/>
|
||||||
|
</TTGlyph>
|
||||||
|
|
||||||
|
</glyf>
|
||||||
|
|
||||||
|
<name>
|
||||||
|
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test Extended Black
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Regular
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
3.013;NONE;Test-ExtendedBlack
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test Extended Black
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="5" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Version 3.013
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test-ExtendedBlack
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="16" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Extended Black
|
||||||
|
</namerecord>
|
||||||
|
</name>
|
||||||
|
|
||||||
|
<post>
|
||||||
|
<formatType value="2.0"/>
|
||||||
|
<italicAngle value="0.0"/>
|
||||||
|
<underlinePosition value="-130"/>
|
||||||
|
<underlineThickness value="100"/>
|
||||||
|
<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 -->
|
||||||
|
</extraNames>
|
||||||
|
</post>
|
||||||
|
|
||||||
|
</ttFont>
|
243
Tests/varLib/data/master_no_overwrite_stat/Test-ExtendedThin.ttx
Normal file
243
Tests/varLib/data/master_no_overwrite_stat/Test-ExtendedThin.ttx
Normal file
@ -0,0 +1,243 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="4.39">
|
||||||
|
|
||||||
|
<GlyphOrder>
|
||||||
|
<!-- The 'id' attribute is only for humans; it is ignored when parsed. -->
|
||||||
|
<GlyphID id="0" name=".notdef"/>
|
||||||
|
<GlyphID id="1" name="A"/>
|
||||||
|
</GlyphOrder>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<!-- Most of this table will be recalculated by the compiler -->
|
||||||
|
<tableVersion value="1.0"/>
|
||||||
|
<fontRevision value="3.013"/>
|
||||||
|
<checkSumAdjustment value="0x4af8381f"/>
|
||||||
|
<magicNumber value="0x5f0f3cf5"/>
|
||||||
|
<flags value="00000000 00000011"/>
|
||||||
|
<unitsPerEm value="1000"/>
|
||||||
|
<created value="Fri Feb 17 14:29:44 2023"/>
|
||||||
|
<modified value="Tue Mar 7 12:56:58 2023"/>
|
||||||
|
<xMin value="23"/>
|
||||||
|
<yMin value="-250"/>
|
||||||
|
<xMax value="605"/>
|
||||||
|
<yMax value="750"/>
|
||||||
|
<macStyle value="00000000 00000000"/>
|
||||||
|
<lowestRecPPEM value="6"/>
|
||||||
|
<fontDirectionHint value="2"/>
|
||||||
|
<indexToLocFormat value="0"/>
|
||||||
|
<glyphDataFormat value="0"/>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<hhea>
|
||||||
|
<tableVersion value="0x00010000"/>
|
||||||
|
<ascent value="1000"/>
|
||||||
|
<descent value="-300"/>
|
||||||
|
<lineGap value="0"/>
|
||||||
|
<advanceWidthMax value="633"/>
|
||||||
|
<minLeftSideBearing value="23"/>
|
||||||
|
<minRightSideBearing value="28"/>
|
||||||
|
<xMaxExtent value="605"/>
|
||||||
|
<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="2"/>
|
||||||
|
</hhea>
|
||||||
|
|
||||||
|
<maxp>
|
||||||
|
<!-- Most of this table will be recalculated by the compiler -->
|
||||||
|
<tableVersion value="0x10000"/>
|
||||||
|
<numGlyphs value="2"/>
|
||||||
|
<maxPoints value="19"/>
|
||||||
|
<maxContours value="2"/>
|
||||||
|
<maxCompositePoints value="0"/>
|
||||||
|
<maxCompositeContours value="0"/>
|
||||||
|
<maxZones value="1"/>
|
||||||
|
<maxTwilightPoints value="0"/>
|
||||||
|
<maxStorage value="0"/>
|
||||||
|
<maxFunctionDefs value="0"/>
|
||||||
|
<maxInstructionDefs value="0"/>
|
||||||
|
<maxStackElements value="0"/>
|
||||||
|
<maxSizeOfInstructions value="0"/>
|
||||||
|
<maxComponentElements value="0"/>
|
||||||
|
<maxComponentDepth value="0"/>
|
||||||
|
</maxp>
|
||||||
|
|
||||||
|
<OS_2>
|
||||||
|
<!-- The fields 'usFirstCharIndex' and 'usLastCharIndex'
|
||||||
|
will be recalculated by the compiler -->
|
||||||
|
<version value="4"/>
|
||||||
|
<xAvgCharWidth value="567"/>
|
||||||
|
<usWeightClass value="100"/>
|
||||||
|
<usWidthClass value="6"/>
|
||||||
|
<fsType value="00000000 00001000"/>
|
||||||
|
<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="28"/>
|
||||||
|
<yStrikeoutPosition value="274"/>
|
||||||
|
<sFamilyClass value="0"/>
|
||||||
|
<panose>
|
||||||
|
<bFamilyType value="0"/>
|
||||||
|
<bSerifStyle value="0"/>
|
||||||
|
<bWeight value="0"/>
|
||||||
|
<bProportion value="0"/>
|
||||||
|
<bContrast value="0"/>
|
||||||
|
<bStrokeVariation value="0"/>
|
||||||
|
<bArmStyle value="0"/>
|
||||||
|
<bLetterForm value="0"/>
|
||||||
|
<bMidline value="0"/>
|
||||||
|
<bXHeight value="0"/>
|
||||||
|
</panose>
|
||||||
|
<ulUnicodeRange1 value="00000000 00000000 00000000 00000001"/>
|
||||||
|
<ulUnicodeRange2 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<ulUnicodeRange3 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<ulUnicodeRange4 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<achVendID value="NONE"/>
|
||||||
|
<fsSelection value="00000000 01000000"/>
|
||||||
|
<usFirstCharIndex value="65"/>
|
||||||
|
<usLastCharIndex value="65"/>
|
||||||
|
<sTypoAscender value="750"/>
|
||||||
|
<sTypoDescender value="-250"/>
|
||||||
|
<sTypoLineGap value="250"/>
|
||||||
|
<usWinAscent value="1000"/>
|
||||||
|
<usWinDescent value="300"/>
|
||||||
|
<ulCodePageRange1 value="00000000 00000000 00000000 00000001"/>
|
||||||
|
<ulCodePageRange2 value="00000000 00000000 00000000 00000000"/>
|
||||||
|
<sxHeight value="456"/>
|
||||||
|
<sCapHeight value="670"/>
|
||||||
|
<usDefaultChar value="0"/>
|
||||||
|
<usBreakChar value="32"/>
|
||||||
|
<usMaxContext value="0"/>
|
||||||
|
</OS_2>
|
||||||
|
|
||||||
|
<hmtx>
|
||||||
|
<mtx name=".notdef" width="500" lsb="50"/>
|
||||||
|
<mtx name="A" width="633" lsb="23"/>
|
||||||
|
</hmtx>
|
||||||
|
|
||||||
|
<cmap>
|
||||||
|
<tableVersion version="0"/>
|
||||||
|
<cmap_format_4 platformID="0" platEncID="3" language="0">
|
||||||
|
<map code="0x41" name="A"/><!-- LATIN CAPITAL LETTER A -->
|
||||||
|
</cmap_format_4>
|
||||||
|
<cmap_format_4 platformID="3" platEncID="1" language="0">
|
||||||
|
<map code="0x41" name="A"/><!-- LATIN CAPITAL LETTER A -->
|
||||||
|
</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="50" yMin="-250" xMax="450" yMax="750">
|
||||||
|
<contour>
|
||||||
|
<pt x="50" y="-250" on="1"/>
|
||||||
|
<pt x="50" y="750" on="1"/>
|
||||||
|
<pt x="450" y="750" on="1"/>
|
||||||
|
<pt x="450" y="-250" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<contour>
|
||||||
|
<pt x="100" y="-200" on="1"/>
|
||||||
|
<pt x="400" y="-200" on="1"/>
|
||||||
|
<pt x="400" y="700" on="1"/>
|
||||||
|
<pt x="100" y="700" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<instructions/>
|
||||||
|
</TTGlyph>
|
||||||
|
|
||||||
|
<TTGlyph name="A" xMin="23" yMin="0" xMax="605" yMax="672">
|
||||||
|
<contour>
|
||||||
|
<pt x="339" y="672" on="1"/>
|
||||||
|
<pt x="566" y="100" on="1"/>
|
||||||
|
<pt x="576" y="75" on="0"/>
|
||||||
|
<pt x="595" y="25" on="0"/>
|
||||||
|
<pt x="605" y="0" on="1"/>
|
||||||
|
<pt x="563" y="0" on="1"/>
|
||||||
|
<pt x="384" y="453" on="1"/>
|
||||||
|
<pt x="320" y="626" on="1"/>
|
||||||
|
<pt x="317" y="626" on="1"/>
|
||||||
|
<pt x="62" y="0" on="1"/>
|
||||||
|
<pt x="23" y="0" on="1"/>
|
||||||
|
<pt x="34" y="25" on="0"/>
|
||||||
|
<pt x="54" y="75" on="0"/>
|
||||||
|
<pt x="64" y="100" on="1"/>
|
||||||
|
<pt x="297" y="668" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<contour>
|
||||||
|
<pt x="491" y="250" on="1"/>
|
||||||
|
<pt x="491" y="217" on="1"/>
|
||||||
|
<pt x="139" y="217" on="1"/>
|
||||||
|
<pt x="139" y="250" on="1"/>
|
||||||
|
</contour>
|
||||||
|
<instructions/>
|
||||||
|
</TTGlyph>
|
||||||
|
|
||||||
|
</glyf>
|
||||||
|
|
||||||
|
<name>
|
||||||
|
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test Extended Thin
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Regular
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
3.013;NONE;Test-ExtendedThin
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test Extended Thin
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="5" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Version 3.013
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test-ExtendedThin
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="16" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Test
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Extended Thin
|
||||||
|
</namerecord>
|
||||||
|
</name>
|
||||||
|
|
||||||
|
<post>
|
||||||
|
<formatType value="2.0"/>
|
||||||
|
<italicAngle value="0.0"/>
|
||||||
|
<underlinePosition value="-130"/>
|
||||||
|
<underlineThickness value="28"/>
|
||||||
|
<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 -->
|
||||||
|
</extraNames>
|
||||||
|
</post>
|
||||||
|
|
||||||
|
</ttFont>
|
@ -1,7 +1,7 @@
|
|||||||
from fontTools.colorLib.builder import buildCOLR
|
from fontTools.colorLib.builder import buildCOLR
|
||||||
from fontTools.ttLib import TTFont, newTable
|
from fontTools.ttLib import TTFont, newTable
|
||||||
from fontTools.ttLib.tables import otTables as ot
|
from fontTools.ttLib.tables import otTables as ot
|
||||||
from fontTools.varLib import build, load_designspace, _add_COLR
|
from fontTools.varLib import build, build_many, load_designspace, _add_COLR
|
||||||
from fontTools.varLib.errors import VarLibValidationError
|
from fontTools.varLib.errors import VarLibValidationError
|
||||||
import fontTools.varLib.errors as varLibErrors
|
import fontTools.varLib.errors as varLibErrors
|
||||||
from fontTools.varLib.models import VariationModel
|
from fontTools.varLib.models import VariationModel
|
||||||
@ -538,6 +538,29 @@ class BuildTest(unittest.TestCase):
|
|||||||
self.assertTrue(os.path.isdir(outdir))
|
self.assertTrue(os.path.isdir(outdir))
|
||||||
self.assertTrue(os.path.exists(os.path.join(outdir, "BuildMain-VF.ttf")))
|
self.assertTrue(os.path.exists(os.path.join(outdir, "BuildMain-VF.ttf")))
|
||||||
|
|
||||||
|
def test_varLib_build_many_no_overwrite_STAT(self):
|
||||||
|
# Ensure that varLib.build_many doesn't overwrite a pre-existing STAT table,
|
||||||
|
# e.g. one built by feaLib from features.fea; the VF simply should inherit the
|
||||||
|
# STAT from the base master: https://github.com/googlefonts/fontmake/issues/985
|
||||||
|
base_master = TTFont()
|
||||||
|
base_master.importXML(
|
||||||
|
self.get_test_input("master_no_overwrite_stat/Test-CondensedThin.ttx")
|
||||||
|
)
|
||||||
|
assert "STAT" in base_master
|
||||||
|
|
||||||
|
vf = next(
|
||||||
|
iter(
|
||||||
|
build_many(
|
||||||
|
DesignSpaceDocument.fromfile(
|
||||||
|
self.get_test_input("TestNoOverwriteSTAT.designspace")
|
||||||
|
)
|
||||||
|
).values()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
assert "STAT" in vf
|
||||||
|
|
||||||
|
assert vf["STAT"].table == base_master["STAT"].table
|
||||||
|
|
||||||
def test_varlib_build_from_ds_object_in_memory_ttfonts(self):
|
def test_varlib_build_from_ds_object_in_memory_ttfonts(self):
|
||||||
ds_path = self.get_test_input("Build.designspace")
|
ds_path = self.get_test_input("Build.designspace")
|
||||||
ttx_dir = self.get_test_input("master_ttx_interpolatable_ttf")
|
ttx_dir = self.get_test_input("master_ttx_interpolatable_ttf")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user