Merge pull request #259 from adobe-fonts/SVGpatch

SVG patch 2
This commit is contained in:
Paul D. Hunt 2021-01-15 16:19:47 +11:00 committed by GitHub
commit 992a20b872
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
67 changed files with 1697 additions and 720 deletions

View File

@ -1,2 +1,2 @@
# Romans
FontRevision 1.052;
FontRevision 1.058;

53
Italic/Masters/STAT.fea Normal file
View File

@ -0,0 +1,53 @@
table STAT {
ElidedFallbackName { name "Italic"; };
DesignAxis wght 0 { name "Weight"; };
DesignAxis ital 1 { name "Italic"; };
AxisValue {
location wght 200 200 250;
name "ExtraLight";
};
AxisValue {
location wght 300 250 350;
name "Light";
};
AxisValue {
location wght 400 350 450;
name "Regular";
flag ElidableAxisValueName;
};
AxisValue {
location wght 500 450 550;
name "Medium";
};
AxisValue {
location wght 600 550 650;
name "Semibold";
};
AxisValue {
location wght 700 650 750;
name "Bold";
};
AxisValue {
location wght 800 750 800;
name "ExtraBold";
};
AxisValue {
location wght 900 800 900;
name "Black";
};
AxisValue {
location ital 1 0;
name "Italic";
};
} STAT;

View File

@ -1,85 +1,85 @@
<?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 filename="master_0/SourceCode_ExtraLight-Italic.ufo" name="master_0">
<lib copy="1" />
<groups copy="1" />
<info copy="1" />
<location>
<dimension name="weight" xvalue="0" />
</location>
</source>
<source filename="master_1/SourceCode_Regular-Italic.ufo" name="master_1">
<glyph mute="1" name="D" />
<glyph mute="1" name="H" />
<glyph mute="1" name="T" />
<glyph mute="1" name="dotlessi" />
<glyph mute="1" name="dotlessj" />
<glyph mute="1" name="esh" />
<glyph mute="1" name="l" />
<glyph mute="1" name="t" />
<location>
<dimension name="weight" xvalue="368" />
</location>
</source>
<source filename="master_2/SourceCode_Black-Italic.ufo" name="master_2">
<location>
<dimension name="weight" xvalue="1000" />
</location>
</source>
</sources>
<instances>
<instance familyname="Source Code Pro" filename="../Instances/ExtraLightIt/font.ufo" postscriptfontname="SourceCodePro-ExtraLightIt" stylename="ExtraLightIt">
<location>
<dimension name="weight" xvalue="0" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Pro" filename="../Instances/LightIt/font.ufo" postscriptfontname="SourceCodePro-LightIt" stylename="LightIt">
<location>
<dimension name="weight" xvalue="100" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Pro" filename="../Instances/It/font.ufo" postscriptfontname="SourceCodePro-It" stylename="It">
<location>
<dimension name="weight" xvalue="368" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Pro" filename="../Instances/MediumIt/font.ufo" postscriptfontname="SourceCodePro-MediumIt" stylename="MediumIt">
<location>
<dimension name="weight" xvalue="486" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Pro" filename="../Instances/SemiboldIt/font.ufo" postscriptfontname="SourceCodePro-SemiboldIt" stylename="SemiboldIt">
<location>
<dimension name="weight" xvalue="600" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Pro" filename="../Instances/BoldIt/font.ufo" postscriptfontname="SourceCodePro-BoldIt" stylename="BoldIt">
<location>
<dimension name="weight" xvalue="824" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Pro" filename="../Instances/BlackIt/font.ufo" postscriptfontname="SourceCodePro-BlackIt" stylename="BlackIt">
<location>
<dimension name="weight" xvalue="1000" />
</location>
<kerning />
<info />
</instance>
</instances>
<axes>
<axis default="0.0" maximum="1000.0" minimum="0.0" name="weight" tag="wght"/>
</axes>
<sources>
<source filename="master_0/SourceCode_ExtraLight-Italic.ufo" name="master_0">
<lib copy="1"/>
<groups copy="1"/>
<info copy="1"/>
<location>
<dimension name="weight" xvalue="0"/>
</location>
</source>
<source filename="master_1/SourceCode_Regular-Italic.ufo" name="master_1">
<glyph mute="1" name="D"/>
<glyph mute="1" name="H"/>
<glyph mute="1" name="T"/>
<glyph mute="1" name="dotlessi"/>
<glyph mute="1" name="dotlessj"/>
<glyph mute="1" name="esh"/>
<glyph mute="1" name="l"/>
<glyph mute="1" name="t"/>
<location>
<dimension name="weight" xvalue="368"/>
</location>
</source>
<source filename="master_2/SourceCode_Black-Italic.ufo" name="master_2">
<location>
<dimension name="weight" xvalue="1000"/>
</location>
</source>
</sources>
<instances>
<instance familyname="Source Code Pro" filename="../Instances/ExtraLightIt/font.ufo" postscriptfontname="SourceCodePro-ExtraLightIt" stylename="ExtraLightIt">
<location>
<dimension name="weight" xvalue="0"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Pro" filename="../Instances/LightIt/font.ufo" postscriptfontname="SourceCodePro-LightIt" stylename="LightIt">
<location>
<dimension name="weight" xvalue="100"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Pro" filename="../Instances/It/font.ufo" postscriptfontname="SourceCodePro-It" stylename="It">
<location>
<dimension name="weight" xvalue="368"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Pro" filename="../Instances/MediumIt/font.ufo" postscriptfontname="SourceCodePro-MediumIt" stylename="MediumIt">
<location>
<dimension name="weight" xvalue="486"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Pro" filename="../Instances/SemiboldIt/font.ufo" postscriptfontname="SourceCodePro-SemiboldIt" stylename="SemiboldIt">
<location>
<dimension name="weight" xvalue="600"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Pro" filename="../Instances/BoldIt/font.ufo" postscriptfontname="SourceCodePro-BoldIt" stylename="BoldIt">
<location>
<dimension name="weight" xvalue="824"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Pro" filename="../Instances/BlackIt/font.ufo" postscriptfontname="SourceCodePro-BlackIt" stylename="BlackIt">
<location>
<dimension name="weight" xvalue="1000"/>
</location>
<kerning/>
<info/>
</instance>
</instances>
</designspace>

View File

@ -1,92 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<designspace format="3">
<axes>
<axis default="200.0" maximum="900.0" minimum="200.0" name="weight" tag="wght">
<map input="200" output="0" /> <!-- ExtraLight -->
<map input="300" output="100" /> <!-- Light -->
<map input="400" output="368" /> <!-- Regular -->
<map input="500" output="486" /> <!-- Medium -->
<map input="600" output="600" /> <!-- Semibold -->
<map input="700" output="824" /> <!-- Bold -->
<map input="900" output="1000" /><!-- Black -->
</axis>
</axes>
<sources>
<source filename="master_0/SourceCode_ExtraLight-Italic.ufo" name="master_0">
<lib copy="1" />
<location>
<dimension name="weight" xvalue="0" />
</location>
</source>
<source filename="master_1/SourceCode_Regular-Italic.ufo" name="master_1">
<glyph mute="1" name="D" />
<glyph mute="1" name="H" />
<glyph mute="1" name="T" />
<glyph mute="1" name="dotlessi" />
<glyph mute="1" name="dotlessj" />
<glyph mute="1" name="esh" />
<glyph mute="1" name="l" />
<glyph mute="1" name="t" />
<info copy="1" />
<location>
<dimension name="weight" xvalue="368" />
</location>
</source>
<source filename="master_2/SourceCode_Black-Italic.ufo" name="master_2">
<location>
<dimension name="weight" xvalue="1000" />
</location>
</source>
</sources>
<instances>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-ExtraLight" stylename="ExtraLight Italic">
<location>
<dimension name="weight" xvalue="0" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-Light" stylename="Light Italic">
<location>
<dimension name="weight" xvalue="100" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-Regular" stylename="Italic">
<location>
<dimension name="weight" xvalue="368" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-Medium" stylename="Medium Italic">
<location>
<dimension name="weight" xvalue="486" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-Semibold" stylename="Semibold Italic">
<location>
<dimension name="weight" xvalue="600" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-Bold" stylename="Bold Italic">
<location>
<dimension name="weight" xvalue="824" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-Black" stylename="Black Italic">
<location>
<dimension name="weight" xvalue="1000" />
</location>
<kerning />
<info />
</instance>
</instances>
<axes>
<axis default="200.0" maximum="900.0" minimum="200.0" name="weight" tag="wght">
<map input="200" output="0"/> <!-- ExtraLight -->
<map input="300" output="100"/> <!-- Light -->
<map input="400" output="368"/> <!-- Regular -->
<map input="500" output="486"/> <!-- Medium -->
<map input="600" output="600"/> <!-- Semibold -->
<map input="700" output="824"/> <!-- Bold -->
<map input="900" output="1000"/> <!-- Black -->
</axis>
</axes>
<sources>
<source filename="master_0/SourceCode_ExtraLight-Italic.ufo" name="master_0">
<lib copy="1"/>
<groups copy="1"/>
<info copy="1"/>
<location>
<dimension name="weight" xvalue="0"/>
</location>
</source>
<source filename="master_1/SourceCode_Regular-Italic.ufo" name="master_1">
<glyph mute="1" name="D"/>
<glyph mute="1" name="H"/>
<glyph mute="1" name="T"/>
<glyph mute="1" name="dotlessi"/>
<glyph mute="1" name="dotlessj"/>
<glyph mute="1" name="esh"/>
<glyph mute="1" name="l"/>
<glyph mute="1" name="t"/>
<location>
<dimension name="weight" xvalue="368"/>
</location>
</source>
<source filename="master_2/SourceCode_Black-Italic.ufo" name="master_2">
<location>
<dimension name="weight" xvalue="1000"/>
</location>
</source>
</sources>
<instances>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-ExtraLight" stylename="ExtraLight Italic">
<location>
<dimension name="weight" xvalue="0"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-Light" stylename="Light Italic">
<location>
<dimension name="weight" xvalue="100"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-Regular" stylename="Italic">
<location>
<dimension name="weight" xvalue="368"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-Medium" stylename="Medium Italic">
<location>
<dimension name="weight" xvalue="486"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-Semibold" stylename="Semibold Italic">
<location>
<dimension name="weight" xvalue="600"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-Bold" stylename="Bold Italic">
<location>
<dimension name="weight" xvalue="824"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Italic" postscriptfontname="SourceCodeItalic-Black" stylename="Black Italic">
<location>
<dimension name="weight" xvalue="1000"/>
</location>
<kerning/>
<info/>
</instance>
</instances>
</designspace>

View File

@ -1,2 +1,2 @@
# Italic variable
FontRevision 1.012;
FontRevision 1.016;

View File

@ -17,6 +17,8 @@
</array>
<key>italicAngle</key>
<integer>-11</integer>
<key>openTypeOS2VendorID</key>
<string>ADBO</string>
<key>postscriptBlueFuzz</key>
<integer>0</integer>
<key>postscriptBlueScale</key>
@ -86,7 +88,7 @@
<key>versionMajor</key>
<integer>1</integer>
<key>versionMinor</key>
<integer>0</integer>
<integer>16</integer>
<key>xHeight</key>
<integer>478</integer>
</dict>

View File

@ -17,6 +17,8 @@
</array>
<key>italicAngle</key>
<integer>-11</integer>
<key>openTypeOS2VendorID</key>
<string>ADBO</string>
<key>postscriptBlueFuzz</key>
<integer>0</integer>
<key>postscriptBlueScale</key>
@ -86,7 +88,7 @@
<key>versionMajor</key>
<integer>1</integer>
<key>versionMinor</key>
<integer>0</integer>
<integer>16</integer>
<key>xHeight</key>
<integer>486</integer>
</dict>

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -17,6 +17,8 @@
</array>
<key>italicAngle</key>
<integer>-11</integer>
<key>openTypeOS2VendorID</key>
<string>ADBO</string>
<key>postscriptBlueFuzz</key>
<integer>0</integer>
<key>postscriptBlueScale</key>
@ -86,7 +88,7 @@
<key>versionMajor</key>
<integer>1</integer>
<key>versionMinor</key>
<integer>0</integer>
<integer>16</integer>
<key>xHeight</key>
<integer>500</integer>
</dict>

View File

@ -1,95 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ttFont sfntVersion="OTTO" ttLibVersion="3.13">
<STAT>
<Version value="0x00010001"/>
<DesignAxisRecordSize value="8"/>
<!-- DesignAxisCount=2 -->
<DesignAxisRecord>
<Axis index="0">
<AxisTag value="wght"/>
<AxisNameID value="280"/> <!-- Weight -->
<AxisOrdering value="0"/>
</Axis>
<Axis index="1">
<AxisTag value="ital"/>
<AxisNameID value="272"/> <!-- Italic -->
<AxisOrdering value="1"/>
</Axis>
</DesignAxisRecord>
<!-- AxisValueCount=9 -->
<AxisValueArray>
<AxisValue index="0" Format="2">
<AxisIndex value="0"/>
<Flags value="0"/>
<ValueNameID value="273"/> <!-- ExtraLight -->
<NominalValue value="200.0"/>
<RangeMinValue value="200.0"/>
<RangeMaxValue value="250.0"/>
</AxisValue>
<AxisValue index="1" Format="2">
<AxisIndex value="0"/>
<Flags value="0"/>
<ValueNameID value="274"/> <!-- Light -->
<NominalValue value="300.0"/>
<RangeMinValue value="250.0"/>
<RangeMaxValue value="350.0"/>
</AxisValue>
<AxisValue index="2" Format="2">
<AxisIndex value="0"/>
<Flags value="2"/>
<ValueNameID value="275"/> <!-- Regular -->
<NominalValue value="400.0"/>
<RangeMinValue value="350.0"/>
<RangeMaxValue value="450.0"/>
</AxisValue>
<AxisValue index="3" Format="2">
<AxisIndex value="0"/>
<Flags value="0"/>
<ValueNameID value="276"/> <!-- Medium -->
<NominalValue value="500.0"/>
<RangeMinValue value="450.0"/>
<RangeMaxValue value="550.0"/>
</AxisValue>
<AxisValue index="4" Format="2">
<AxisIndex value="0"/>
<Flags value="0"/>
<ValueNameID value="277"/> <!-- Semibold -->
<NominalValue value="600.0"/>
<RangeMinValue value="550.0"/>
<RangeMaxValue value="650.0"/>
</AxisValue>
<AxisValue index="5" Format="2">
<AxisIndex value="0"/>
<Flags value="0"/>
<ValueNameID value="278"/> <!-- Bold -->
<NominalValue value="700.0"/>
<RangeMinValue value="650.0"/>
<RangeMaxValue value="800.0"/>
</AxisValue>
<AxisValue index="6" Format="2">
<AxisIndex value="0"/>
<Flags value="0"/>
<ValueNameID value="279"/> <!-- Black -->
<NominalValue value="900.0"/>
<RangeMinValue value="800.0"/>
<RangeMaxValue value="900.0"/>
</AxisValue>
<AxisValue index="7" Format="3">
<AxisIndex value="0"/>
<Flags value="2"/>
<ValueNameID value="275"/> <!-- Regular -->
<Value value="400.0"/>
<LinkedValue value="700.0"/>
</AxisValue>
<AxisValue index="8" Format="1">
<AxisIndex value="1"/>
<Flags value="0"/>
<ValueNameID value="272"/> <!-- Italic -->
<Value value="1.0"/>
</AxisValue>
</AxisValueArray>
<ElidedFallbackNameID value="2"/> <!-- Italic -->
</STAT>
</ttFont>

View File

@ -31,7 +31,7 @@
@LETTERS_MAJUSCULE_ALL = [@LETTERS_MAJUSCULE_LATIN_ALL]; ##### @LETTERS_MAJUSCULE_GREEK_ALL @LETTERS_MAJUSCULE_CYRILLIC_ALL];
@MARKS_ABOVE_CMB = [gravecmb acutecmb circumflexcmb tildecmb macroncmb overlinecmb brevecmb brevecmb.cyr dotaccentcmb dieresiscmb hoicmb ringcmb hungarumlautcmb caroncmb dblgravecmb breveinvertedcmb perispomenicmb];
@MARKS_ABOVE_CMB = [gravecmb acutecmb circumflexcmb tildecmb macroncmb overlinecmb brevecmb dotaccentcmb dieresiscmb hoicmb candrabinducmb ringcmb hungarumlautcmb caroncmb dblgravecmb breveinvertedcmb perispomenicmb];
# dieresisacutecmb dieresisgravecmb dieresismacroncmb dieresiscaroncmb circumflexacutecmb circumflexgravecmb circumflexhoicmb circumflextildecmb breveacutecmb brevegravecmb brevehoicmb brevetildecmb circumflexbrevecmb macronacutecmb];
@MARKS_BELOW_CMB = [cedillacmb ogonekcmb];
@MARKS_CMB_ALL = [@MARKS_ABOVE_CMB @MARKS_BELOW_CMB];

View File

@ -1,4 +1,4 @@
Copyright 2010-2019 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.
Copyright 2010-2020 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.
This Font Software is licensed under the SIL Open Font License, Version 1.1.

View File

@ -1,2 +1,2 @@
# Romans
FontRevision 2.032;
FontRevision 2.038;

54
Roman/Masters/STAT.fea Normal file
View File

@ -0,0 +1,54 @@
table STAT {
ElidedFallbackName { name "Regular"; };
DesignAxis wght 0 { name "Weight"; };
DesignAxis ital 1 { name "Italic"; };
AxisValue {
location wght 200 200 250;
name "ExtraLight";
};
AxisValue {
location wght 300 250 350;
name "Light";
};
AxisValue {
location wght 400 350 450;
name "Regular";
flag ElidableAxisValueName;
};
AxisValue {
location wght 500 450 550;
name "Medium";
};
AxisValue {
location wght 600 550 650;
name "Semibold";
};
AxisValue {
location wght 700 650 750;
name "Bold";
};
AxisValue {
location wght 800 750 800;
name "ExtraBold";
};
AxisValue {
location wght 900 800 900;
name "Black";
};
AxisValue {
location ital 0 1;
name "Regular";
flag ElidableAxisValueName;
};
} STAT;

View File

@ -1,96 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<designspace format="3">
<axes>
<axis default="200.0" maximum="900.0" minimum="200.0" name="weight" tag="wght">
<map input="200" output="0" /> <!-- ExtraLight -->
<map input="300" output="100" /> <!-- Light -->
<map input="400" output="368" /> <!-- Regular -->
<map input="500" output="486" /> <!-- Medium -->
<map input="600" output="600" /> <!-- Semibold -->
<map input="700" output="824" /> <!-- Bold -->
<map input="900" output="1000" /><!-- Black -->
</axis>
</axes>
<sources>
<source filename="master_0/SourceCode_ExtraLight.ufo" name="master_0">
<lib copy="1" />
<location>
<dimension name="weight" xvalue="0" />
</location>
</source>
<source filename="master_1/SourceCode_Regular.ufo" name="master_1">
<info copy="1" />
<glyph mute="1" name="H" />
<glyph mute="1" name="O" />
<glyph mute="1" name="T" />
<glyph mute="1" name="Y" />
<glyph mute="1" name="Ustraight" />
<glyph mute="1" name="dotlessi.a" />
<glyph mute="1" name="dotlessi" />
<glyph mute="1" name="dotlessj" />
<glyph mute="1" name="esh" />
<glyph mute="1" name="l" />
<glyph mute="1" name="t" />
<glyph mute="1" name="ustraight" />
<location>
<dimension name="weight" xvalue="368" />
</location>
</source>
<source filename="master_2/SourceCode_Black.ufo" name="master_2">
<location>
<dimension name="weight" xvalue="1000" />
</location>
</source>
</sources>
<instances>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-ExtraLight" stylename="ExtraLight">
<location>
<dimension name="weight" xvalue="0" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-Light" stylename="Light">
<location>
<dimension name="weight" xvalue="100" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-Regular" stylename="Regular">
<location>
<dimension name="weight" xvalue="368" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-Medium" stylename="Medium">
<location>
<dimension name="weight" xvalue="486" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-Semibold" stylename="Semibold">
<location>
<dimension name="weight" xvalue="600" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-Bold" stylename="Bold">
<location>
<dimension name="weight" xvalue="824" />
</location>
<kerning />
<info />
</instance>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-Black" stylename="Black">
<location>
<dimension name="weight" xvalue="1000" />
</location>
<kerning />
<info />
</instance>
</instances>
<axes>
<axis default="200.0" maximum="900.0" minimum="200.0" name="weight" tag="wght">
<map input="200" output="0"/> <!-- ExtraLight -->
<map input="300" output="100"/> <!-- Light -->
<map input="400" output="368"/> <!-- Regular -->
<map input="500" output="486"/> <!-- Medium -->
<map input="600" output="600"/> <!-- Semibold -->
<map input="700" output="824"/> <!-- Bold -->
<map input="900" output="1000"/> <!-- Black -->
</axis>
</axes>
<sources>
<source filename="master_0/SourceCode_ExtraLight.ufo" name="master_0">
<lib copy="1"/>
<groups copy="1"/>
<info copy="1"/>
<location>
<dimension name="weight" xvalue="0"/>
</location>
</source>
<source filename="master_1/SourceCode_Regular.ufo" name="master_1">
<info copy="1"/>
<glyph mute="1" name="H"/>
<glyph mute="1" name="O"/>
<glyph mute="1" name="T"/>
<glyph mute="1" name="Y"/>
<glyph mute="1" name="Ustraight"/>
<glyph mute="1" name="dotlessi.a"/>
<glyph mute="1" name="dotlessi"/>
<glyph mute="1" name="dotlessj"/>
<glyph mute="1" name="esh"/>
<glyph mute="1" name="l"/>
<glyph mute="1" name="t"/>
<glyph mute="1" name="ustraight"/>
<kerning mute="1"/>
<location>
<dimension name="weight" xvalue="368"/>
</location>
</source>
<source filename="master_2/SourceCode_Black.ufo" name="master_2">
<location>
<dimension name="weight" xvalue="1000"/>
</location>
</source>
</sources>
<instances>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-ExtraLight" stylename="ExtraLight">
<location>
<dimension name="weight" xvalue="0"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-Light" stylename="Light">
<location>
<dimension name="weight" xvalue="100"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-Regular" stylename="Regular">
<location>
<dimension name="weight" xvalue="368"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-Medium" stylename="Medium">
<location>
<dimension name="weight" xvalue="486"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-Semibold" stylename="Semibold">
<location>
<dimension name="weight" xvalue="600"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-Bold" stylename="Bold">
<location>
<dimension name="weight" xvalue="824"/>
</location>
<kerning/>
<info/>
</instance>
<instance familyname="Source Code Roman" postscriptfontname="SourceCodeRoman-Black" stylename="Black">
<location>
<dimension name="weight" xvalue="1000"/>
</location>
<kerning/>
<info/>
</instance>
</instances>
</designspace>

View File

@ -1,2 +1,2 @@
# Roman variable
FontRevision 1.012;
FontRevision 1.018;

View File

@ -15,6 +15,8 @@
<key>guidelines</key>
<array>
</array>
<key>openTypeOS2VendorID</key>
<string>ADBO</string>
<key>postscriptBlueFuzz</key>
<integer>0</integer>
<key>postscriptBlueScale</key>
@ -82,9 +84,9 @@
<key>unitsPerEm</key>
<integer>1000</integer>
<key>versionMajor</key>
<integer>1</integer>
<integer>2</integer>
<key>versionMinor</key>
<integer>0</integer>
<integer>36</integer>
<key>xHeight</key>
<integer>478</integer>
</dict>

View File

@ -15,6 +15,8 @@
<key>guidelines</key>
<array>
</array>
<key>openTypeOS2VendorID</key>
<string>ADBO</string>
<key>postscriptBlueFuzz</key>
<integer>0</integer>
<key>postscriptBlueScale</key>
@ -82,9 +84,9 @@
<key>unitsPerEm</key>
<integer>1000</integer>
<key>versionMajor</key>
<integer>1</integer>
<integer>2</integer>
<key>versionMinor</key>
<integer>0</integer>
<integer>36</integer>
<key>xHeight</key>
<integer>486</integer>
</dict>

View File

@ -15,6 +15,8 @@
<key>guidelines</key>
<array>
</array>
<key>openTypeOS2VendorID</key>
<string>ADBO</string>
<key>postscriptBlueFuzz</key>
<integer>0</integer>
<key>postscriptBlueScale</key>
@ -82,9 +84,9 @@
<key>unitsPerEm</key>
<integer>1000</integer>
<key>versionMajor</key>
<integer>1</integer>
<integer>2</integer>
<key>versionMinor</key>
<integer>0</integer>
<integer>36</integer>
<key>xHeight</key>
<integer>500</integer>
</dict>

View File

@ -1,96 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ttFont sfntVersion="OTTO" ttLibVersion="3.13">
<STAT>
<Version value="0x00010001"/>
<DesignAxisRecordSize value="8"/>
<!-- DesignAxisCount=2 -->
<DesignAxisRecord>
<Axis index="0">
<AxisTag value="wght"/>
<AxisNameID value="279"/> <!-- Weight -->
<AxisOrdering value="0"/>
</Axis>
<Axis index="1">
<AxisTag value="ital"/>
<AxisNameID value="278"/> <!-- Italic -->
<AxisOrdering value="1"/>
</Axis>
</DesignAxisRecord>
<!-- AxisValueCount=9 -->
<AxisValueArray>
<AxisValue index="0" Format="2">
<AxisIndex value="0"/>
<Flags value="0"/>
<ValueNameID value="280"/> <!-- ExtraLight -->
<NominalValue value="200.0"/>
<RangeMinValue value="200.0"/>
<RangeMaxValue value="250.0"/>
</AxisValue>
<AxisValue index="1" Format="2">
<AxisIndex value="0"/>
<Flags value="0"/>
<ValueNameID value="282"/> <!-- Light -->
<NominalValue value="300.0"/>
<RangeMinValue value="250.0"/>
<RangeMaxValue value="350.0"/>
</AxisValue>
<AxisValue index="2" Format="2">
<AxisIndex value="0"/>
<Flags value="2"/>
<ValueNameID value="284"/> <!-- Regular -->
<NominalValue value="400.0"/>
<RangeMinValue value="350.0"/>
<RangeMaxValue value="450.0"/>
</AxisValue>
<AxisValue index="3" Format="2">
<AxisIndex value="0"/>
<Flags value="0"/>
<ValueNameID value="286"/> <!-- Medium -->
<NominalValue value="500.0"/>
<RangeMinValue value="450.0"/>
<RangeMaxValue value="550.0"/>
</AxisValue>
<AxisValue index="4" Format="2">
<AxisIndex value="0"/>
<Flags value="0"/>
<ValueNameID value="288"/> <!-- Semibold -->
<NominalValue value="600.0"/>
<RangeMinValue value="550.0"/>
<RangeMaxValue value="650.0"/>
</AxisValue>
<AxisValue index="5" Format="2">
<AxisIndex value="0"/>
<Flags value="0"/>
<ValueNameID value="290"/> <!-- Bold -->
<NominalValue value="700.0"/>
<RangeMinValue value="650.0"/>
<RangeMaxValue value="800.0"/>
</AxisValue>
<AxisValue index="6" Format="2">
<AxisIndex value="0"/>
<Flags value="0"/>
<ValueNameID value="292"/> <!-- Black -->
<NominalValue value="900.0"/>
<RangeMinValue value="800.0"/>
<RangeMaxValue value="900.0"/>
</AxisValue>
<AxisValue index="7" Format="3">
<AxisIndex value="0"/>
<Flags value="2"/>
<ValueNameID value="284"/> <!-- Regular -->
<Value value="400.0"/>
<LinkedValue value="700.0"/>
</AxisValue>
<AxisValue index="8" Format="3">
<AxisIndex value="1"/>
<Flags value="2"/>
<ValueNameID value="277"/> <!-- Roman -->
<Value value="0.0"/>
<LinkedValue value="1.0"/>
</AxisValue>
</AxisValueArray>
<ElidedFallbackNameID value="2"/> <!-- Regular -->
</STAT>
</ttFont>

View File

@ -166,7 +166,7 @@ feature ccmp { # Glyph Composition / Decomposition
#substitutes dotless forms of i & j when followed by combining accents above: (Navajo language support)
sub i' ogonekcmb' @MARKS_ABOVE_CMB by iogonek.d;
sub i.a' ogonekcmb' @MARKS_ABOVE_CMB by iogonek.da;
sub [i j iogonek iogonek.a istroke jcrossedtail]' @MARKS_ABOVE_CMB by [dotlessi dotlessj iogonek.d iogonek.da istroke.d jcrossedtail.d];
sub [i j iogonek iogonek.a istroke istroke.a jcrossedtail]' @MARKS_ABOVE_CMB by [dotlessi dotlessj iogonek.d iogonek.da istroke.d istroke.da jcrossedtail.d];
} GLYPH_COMPOSITION_CONTEXTUAL;
lookup ASC_RAISE_CMB_CONTEXTUAL {

View File

@ -1,200 +0,0 @@
#!/usr/bin/env python3
"""
Adds an SVG table to a TTF or OTF font.
The file names of the SVG glyphs need to match their corresponding glyph final names.
"""
import os
import sys
import re
try:
from fontTools import ttLib
except ImportError:
print("ERROR: FontTools Python module is not installed.", file=sys.stderr)
sys.exit(1)
TABLE_TAG = 'SVG '
# Regexp patterns
reSVGelement = re.compile(r"<svg.+?>.+?</svg>", re.DOTALL)
reIDvalue = re.compile(r"<svg[^>]+?(id=\".*?\").+?>", re.DOTALL)
reViewBox = re.compile(r"<svg.+?(viewBox=[\"|\'][\d, ]+[\"|\']).+?>", re.DOTALL)
reWhiteSpace = re.compile(r">\s+<", re.DOTALL)
def readFile(filePath):
with open(filePath, "rt") as f:
return f.read()
def setIDvalue(data, gid):
id = reIDvalue.search(data)
if id:
newData = re.sub(id.group(1), 'id="glyph{}"'.format(gid), data)
else:
newData = re.sub('<svg', '<svg id="glyph{}"'.format(gid), data)
return newData
def fixViewBox(data):
viewBox = reViewBox.search(data)
if not viewBox:
return data
fixedViewBox = 'viewBox=\"0 1000 1000 1000\"'
fixedData = re.sub(viewBox.group(1), fixedViewBox, data)
return fixedData
def getGlyphNameFromFileName(filePath):
folderPath, fontFileName = os.path.split(filePath)
fileNameNoExtension, fileExtension = os.path.splitext(fontFileName)
return fileNameNoExtension
def processFontFile(fontFilePath, svgFilePathsList):
font = ttLib.TTFont(fontFilePath)
# first create a dictionary because the SVG glyphs need to be sorted in the table
svgDocsDict = {}
for svgFilePath in svgFilePathsList:
gName = getGlyphNameFromFileName(svgFilePath)
try:
gid = font.getGlyphID(gName)
except KeyError:
print(
"ERROR: Could not find a glyph named {} in the font {}.".format(
gName, os.path.split(fontFilePath)[1]
),
file=sys.stderr
)
continue
svgItemsList = []
svgItemData = readFile(svgFilePath)
svgItemData = setIDvalue(svgItemData, gid)
svgItemData = fixViewBox(svgItemData)
# Remove all white space between elements
for whiteSpace in set(reWhiteSpace.findall(svgItemData)):
svgItemData = svgItemData.replace(whiteSpace, '><')
svgItemsList.append(svgItemData.strip())
svgItemsList.extend([gid, gid])
svgDocsDict[gid] = svgItemsList
# don't do any changes to the source OTF/TTF font if there's no SVG data
if not svgDocsDict:
print(
"ERROR: Could not find any artwork files "
"that can be added to the font.",
file=sys.stderr
)
return
svgDocsList = [svgDocsDict[index] for index in sorted(svgDocsDict.keys())]
svgTable = ttLib.newTable(TABLE_TAG)
svgTable.compressed = False # GZIP the SVG docs
svgTable.docList = svgDocsList
font[TABLE_TAG] = svgTable
font.save(fontFilePath)
font.close()
print(
"SVG table successfully added to {}".format(fontFilePath),
file=sys.stderr
)
def validateSVGfiles(svgFilePathsList):
"""
Light validation of SVG files.
Checks that there is an <svg> element.
"""
validatedPaths = []
for filePath in svgFilePathsList:
# skip hidden files (filenames that start with period)
fileName = os.path.basename(filePath)
if fileName[0] == '.':
continue
# read file
data = readFile(filePath)
# find <svg> blob
svg = reSVGelement.search(data)
if not svg:
print(
"WARNING: Could not find <svg> element in the file. "
"Skiping {}".format(filePath)
)
continue
validatedPaths.append(filePath)
return validatedPaths
def getFontFormat(fontFilePath):
# these lines were scavenged from fontTools
with open(fontFilePath, "rb") as f:
header = f.read(256)
head = header[:4]
if head == b"OTTO":
return "OTF"
elif head in (b"\0\1\0\0", b"true"):
return "TTF"
return None
def run():
fontFilePath = os.path.realpath(sys.argv[1])
svgFolderPath = os.path.realpath(sys.argv[2])
# Font file path
if os.path.isfile(fontFilePath):
if getFontFormat(fontFilePath) not in ["OTF", "TTF"]:
print("ERROR: The path is not a valid OTF or TTF font.",
file=sys.stderr)
return
else:
print("ERROR: The path to the font is invalid.",
file=sys.stderr)
return
# SVG folder path
if os.path.isdir(svgFolderPath):
svgFilePathsList = []
for dirName, subdirList, fileList in os.walk(
svgFolderPath): # Support nested folders
for file in fileList:
svgFilePathsList.append(os.path.join(dirName,
file)) # Assemble the full paths, not just file names
else:
print(
"ERROR: The path to the folder "
"containing the SVG files is invalid.",
file=sys.stderr
)
return
# validate the SVGs
svgFilePathsList = validateSVGfiles(svgFilePathsList)
if not svgFilePathsList:
print("WARNING: No SVG files were found.", file=sys.stderr)
return
processFontFile(fontFilePath, svgFilePathsList)
if __name__ == "__main__":
if len(sys.argv) != 3:
print("To run this script type:\n "
"python {} <path to input OTF/TTF file> "
"<path to folder tree containing SVG files>".format(sys.argv[0]))
else:
run()

View File

@ -10,7 +10,6 @@ for /f %%a in ('where makeotf') do set MAKEOTF_PATH=%%a
if "%MAKEOTF_PATH%" == "" goto error_makeotf_not_found
call :GetDirectoryName PYTHON_PATH "%MAKEOTF_PATH%"
set PYTHON_PATH=%PYTHON_PATH%Python\AFDKOPython27\python.exe
set TARGET_PATH=%~dp0\target\
set TARGET_OTF_PATH=%TARGET_PATH%OTF\
@ -43,10 +42,8 @@ goto :eof
:: %1 - Roman/Italic
:: %2 - Weight
:build_font
call makeotf -f "%~dp0\%1\Instances\%2\font.ufo" -r -ci "%~dp0\uvs.txt" -o "%TARGET_OTF_PATH%\%FAMILY%-%2.otf"
call makeotf -f "%~dp0\%1\Instances\%2\font.ttf" -r -ci "%~dp0\uvs.txt" -o "%TARGET_TTF_PATH%\%FAMILY%-%2.ttf" -ff "%~dp0\%1\Instances\%2\font.ufo\features.fea"
:: "%PYTHON_PATH%" "%~dp0\addSVGtable.py" "%TARGET_OTF_PATH%\%FAMILY%-%2.otf" "%~dp0\svg"
:: "%PYTHON_PATH%" "%~dp0\addSVGtable.py" "%TARGET_TTF_PATH%\%FAMILY%-%2.ttf" "%~dp0\svg"
call makeotf -f "%~dp0\%1\Instances\%2\font.ufo" -r -o "%TARGET_OTF_PATH%\%FAMILY%-%2.otf"
call makeotf -f "%~dp0\%1\Instances\%2\font.ttf" -r -o "%TARGET_TTF_PATH%\%FAMILY%-%2.ttf" -ff "%~dp0\%1\Instances\%2\font.ufo\features.fea"
goto :eof
:error_makeotf_not_found

BIN
docs/WOFF/OTF/SourceCodePro-Black.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-BlackIt.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-Bold.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-BoldIt.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-ExtraLight.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-ExtraLightIt.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-It.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-Light.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-LightIt.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-Medium.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-MediumIt.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-Regular.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-Semibold.otf.woff Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF/OTF/SourceCodePro-SemiboldIt.otf.woff Executable file → Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-Black.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-BlackIt.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-BoldIt.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-ExtraLight.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-ExtraLightIt.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-It.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-Light.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-LightIt.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-Medium.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-MediumIt.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-Semibold.ttf.woff2 Executable file → Normal file

Binary file not shown.

BIN
docs/WOFF2/TTF/SourceCodePro-SemiboldIt.ttf.woff2 Executable file → Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,4 @@
nameid 0 "\00a9 2010 - 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name \2018Source\2019.";
nameid 0 "\00a9 2010 - 2020 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name \2018Source\2019.";
nameid 7 "Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.";
nameid 8 "Adobe Systems Incorporated";
nameid 9 "Paul D. Hunt, Teo Tuominen";

2
familynameIDsVar.fea Normal file
View File

@ -0,0 +1,2 @@
nameid 256 "Roman";
nameid 257 "Italic";

View File

@ -3,6 +3,8 @@ include (../../../familyTables.fea);
table name {
include (../nameIDs.fea);
include (../../../familynameIDs.fea);
include (../../../familynameIDsVar.fea);
} name;
include (../../familyGSUB.fea);
include (../STAT.fea);

View File

@ -1,7 +1,10 @@
version 2.038 (romans) & version 1.058 (italics) & version 1.018 (VAR) created 2021/07/01
Resolves issue with faulty style linking in variable fonts. (issue #256)
version 2.032 (romans) & version 1.052 (italics) created 2020/10/09
Removes SVG table to allow for color-coded text in text editing apps. (issue #250)
Removes SVG table to allow for colored syntax highlighting in text editing apps. (issue #250)
version 2.030 (romans) & version 1.050 (italics) created 2016/06/09

40
uvs.txt
View File

@ -1,40 +0,0 @@
# http://www.unicode.org/reports/tr51/index.html#Emoji_Variation_Sequences
# FE0E text style
# FE0F emoji style
# Test page
# http://unicode.org/emoji/charts/emoji-style.html
# Standard variation sequences
# http://unicode.org/emoji/charts/emoji-variants.html
# Code point / Variation selector / Final glyph name
2611 FE0E; uni2611
2615 FE0E; uni2615
2713 FE0E; uni2713
2764 FE0E; uni2764
266A FE0E; u1F3B5
1F3B5 FE0E; u1F3B5
1F3B6 FE0E; u1F3B6
266B FE0E; u1F3B6
1F4A9 FE0E; u1F4A9
1F512 FE0E; u1F512
1F916 FE0E; u1F916
2611 FE0F; uni2611_uniFE0F
2615 FE0F; uni2615_uniFE0F
263A FE0F; uni263A_uniFE0F
263B FE0F; uni263B_uniFE0F
2660 FE0F; uni2660_uniFE0F
2663 FE0F; uni2663_uniFE0F
2665 FE0F; uni2665_uniFE0F
2666 FE0F; uni2666_uniFE0F
2713 FE0F; uni2713_uniFE0F
2764 FE0F; uni2764_uniFE0F
266A FE0F; u1F3B5_uniFE0F
1F3B5 FE0F; u1F3B5_uniFE0F
1F3B6 FE0F; u1F3B6_uniFE0F
266B FE0F; u1F3B6_uniFE0F
1F4A9 FE0F; u1F4A9_uniFE0F
1F512 FE0F; u1F512_uniFE0F
1F916 FE0F; u1F916_uniFE0F