mirror of
https://github.com/weiweihuanghuang/Work-Sans.git
synced 2024-11-26 09:20:15 +03:00
Update build process
- Includes brace copying
This commit is contained in:
parent
5459550f4e
commit
8347ca1232
@ -3,10 +3,7 @@
|
|||||||
DisplayStrings = (
|
DisplayStrings = (
|
||||||
"/Uhorn/Ohorn/uhorn/ohorn/Ahookabove/ahookabove \012/Acircumflexacute/Acircumflexgrave/Acircumflexhookabove/Acircumflextilde/acircumflexacute/acircumflexgrave/acircumflexhookabove/acircumflextilde \012/circumflexcomb_acutecomb/circumflexcomb_gravecomb/circumflexcomb_hookabovecomb/circumflexcomb_tildecomb \012/Ohornacute/Ohorngrave/Ohornhookabove/Ohorntilde \012/Uhornacute/Uhorngrave/Uhornhookabove/Uhorntilde \012/Abreveacute/Abrevegrave/Abrevehookabove/Abrevetilde \012/Acircumflexacute/Acircumflexgrave/Acircumflexhookabove/Acircumflextilde \012/Etilde/Ecircumflexacute/Ecircumflexgrave/Ecircumflexhookabove/Ecircumflextilde \012/Ocircumflexacute/Ocircumflexgrave/Ocircumflexhookabove/Ocircumflextilde \012/ohornacute/ohorngrave/ohornhookabove/ohorntilde \012/uhornacute/uhorngrave/uhornhookabove/uhorntilde \012/abreveacute/abrevegrave/abrevehookabove/abrevetilde \012/acircumflexacute/acircumflexgrave/acircumflexhookabove/acircumflextilde \012/ecircumflexacute/ecircumflexgrave/ecircumflexhookabove/ecircumflextilde \012/ocircumflexacute/ocircumflexgrave/ocircumflexhookabove/ocircumflextilde \012\012/Abreveacute/Abrevegrave/Abrevehookabove/Abrevetilde/abreveacute/abrevegrave/abrevehookabove/abrevetilde \012/Ohorn/Ohornacute/Ohorngrave/Ohornhookabove/Ohorntilde/ohorn/ohornacute/ohorngrave/ohornhookabove/ohorntilde \012/Uhorn/Uhornacute/Uhorngrave/Uhornhookabove/Uhorntilde/uhorn/uhornacute/uhorngrave/uhornhookabove/uhorntilde \012/Acircumflexacute/Acircumflexgrave/Acircumflexhookabove/Acircumflextilde/acircumflexacute/acircumflexgrave/acircumflexhookabove/acircumflextilde \012/Ecircumflexacute/Ecircumflexgrave/Ecircumflexhookabove/Ecircumflextilde/ecircumflexacute/ecircumflexgrave/ecircumflexhookabove/ecircumflextilde \012/Ocircumflexacute/Ocircumflexgrave/Ocircumflexhookabove/Ocircumflextilde/ocircumflexacute/ocircumflexgrave/ocircumflexhookabove/ocircumflextilde",
|
"/Uhorn/Ohorn/uhorn/ohorn/Ahookabove/ahookabove \012/Acircumflexacute/Acircumflexgrave/Acircumflexhookabove/Acircumflextilde/acircumflexacute/acircumflexgrave/acircumflexhookabove/acircumflextilde \012/circumflexcomb_acutecomb/circumflexcomb_gravecomb/circumflexcomb_hookabovecomb/circumflexcomb_tildecomb \012/Ohornacute/Ohorngrave/Ohornhookabove/Ohorntilde \012/Uhornacute/Uhorngrave/Uhornhookabove/Uhorntilde \012/Abreveacute/Abrevegrave/Abrevehookabove/Abrevetilde \012/Acircumflexacute/Acircumflexgrave/Acircumflexhookabove/Acircumflextilde \012/Etilde/Ecircumflexacute/Ecircumflexgrave/Ecircumflexhookabove/Ecircumflextilde \012/Ocircumflexacute/Ocircumflexgrave/Ocircumflexhookabove/Ocircumflextilde \012/ohornacute/ohorngrave/ohornhookabove/ohorntilde \012/uhornacute/uhorngrave/uhornhookabove/uhorntilde \012/abreveacute/abrevegrave/abrevehookabove/abrevetilde \012/acircumflexacute/acircumflexgrave/acircumflexhookabove/acircumflextilde \012/ecircumflexacute/ecircumflexgrave/ecircumflexhookabove/ecircumflextilde \012/ocircumflexacute/ocircumflexgrave/ocircumflexhookabove/ocircumflextilde \012\012/Abreveacute/Abrevegrave/Abrevehookabove/Abrevetilde/abreveacute/abrevegrave/abrevehookabove/abrevetilde \012/Ohorn/Ohornacute/Ohorngrave/Ohornhookabove/Ohorntilde/ohorn/ohornacute/ohorngrave/ohornhookabove/ohorntilde \012/Uhorn/Uhornacute/Uhorngrave/Uhornhookabove/Uhorntilde/uhorn/uhornacute/uhorngrave/uhornhookabove/uhorntilde \012/Acircumflexacute/Acircumflexgrave/Acircumflexhookabove/Acircumflextilde/acircumflexacute/acircumflexgrave/acircumflexhookabove/acircumflextilde \012/Ecircumflexacute/Ecircumflexgrave/Ecircumflexhookabove/Ecircumflextilde/ecircumflexacute/ecircumflexgrave/ecircumflexhookabove/ecircumflextilde \012/Ocircumflexacute/Ocircumflexgrave/Ocircumflexhookabove/Ocircumflextilde/ocircumflexacute/ocircumflexgrave/ocircumflexhookabove/ocircumflextilde",
|
||||||
"/ldot/lslash //space\012\012\012L\012HUB/Germandbls EL/Lslash ZFPÞT/Tbar YVWARKXOØQGCS\012naqgudlijfrtoecðsßkxvz\0120917426583\012/zero.osf/one.osf/two.osf/four.osf/seven.osf/five.osf/three.osf/nine.osf/six.osf/eight.osf \012/zerosuperior ¹/foursuperior/sevensuperior/ninesuperior ²/sixsuperior/fivesuperior/eightsuperior ³/zeroinferior/oneinferior/fourinferior/seveninferior/nineinferior/twoinferior/sixinferior/fiveinferior/eightinferior/threeinferior/zerosuperior/sevensuperior/zeroinferior/seveninferior \012.,/quotesinglbase/quoteleft/quoteright ':;-/endash *!?¡¿/exclamdown.case/questiondown.case \012///backslash {}[]()/guilsinglleft/guilsinglright \012#/dagger \012\012R\012HUTZAÆYVWXOØSJ\012hlnijpuaoøðßftgsyvwxz\0120617238954\012/zero.osf/one.osf/two.osf/three.osf/nine.osf/five.osf/four.osf/seven.osf/six.osf/eight.osf \012.,/quotesinglbase/quoteleft/quoteright ':-*!?\012///backslash {}[]()/guilsinglleft/guilsinglright \012#/dagger °\012\012.,:;-/endash/guilsinglleft/guilsinglright {}[]()///backslash *!?&@#\012H, /quoteleft H/quoteright /quoteleft H/quoteleft /quoteright H/quoteright /quotesinglbase H/quoteright /quotesinglbase H/quoteleft 'H'\012\012L /leftArrow/rightArrow/northEastArrow/southWestArrow/downArrow/upArrow/southEastArrow/northWestArrow/leftHookArrow/anticlockwiseOpenCircleArrow/clockwiseOpenCircleArrow \012R /leftArrow/rightArrow/northEastArrow/southWestArrow/upArrow/downArrow/southEastArrow/northWestArrow/anticlockwiseOpenCircleArrow/clockwiseOpenCircleArrow \012\012Triple:\012h/hbar blnijpruoødqecðagsßftvywxkz\012HOTYAVWXZ",
|
"/ldot/lslash //space\012\012\012L\012HUB/Germandbls EL/Lslash ZFPÞT/Tbar YVWARKXOØQGCS\012naqgudlijfrtoecðsßkxvz\0120917426583\012/zero.osf/one.osf/two.osf/four.osf/seven.osf/five.osf/three.osf/nine.osf/six.osf/eight.osf \012/zerosuperior ¹/foursuperior/sevensuperior/ninesuperior ²/sixsuperior/fivesuperior/eightsuperior ³/zeroinferior/oneinferior/fourinferior/seveninferior/nineinferior/twoinferior/sixinferior/fiveinferior/eightinferior/threeinferior/zerosuperior/sevensuperior/zeroinferior/seveninferior \012.,/quotesinglbase/quoteleft/quoteright ':;-/endash *!?¡¿/exclamdown.case/questiondown.case \012///backslash {}[]()/guilsinglleft/guilsinglright \012#/dagger \012\012R\012HUTZAÆYVWXOØSJ\012hlnijpuaoøðßftgsyvwxz\0120617238954\012/zero.osf/one.osf/two.osf/three.osf/nine.osf/five.osf/four.osf/seven.osf/six.osf/eight.osf \012.,/quotesinglbase/quoteleft/quoteright ':-*!?\012///backslash {}[]()/guilsinglleft/guilsinglright \012#/dagger °\012\012.,:;-/endash/guilsinglleft/guilsinglright {}[]()///backslash *!?&@#\012H, /quoteleft H/quoteright /quoteleft H/quoteleft /quoteright H/quoteright /quotesinglbase H/quoteright /quotesinglbase H/quoteleft 'H'\012\012L /leftArrow/rightArrow/northEastArrow/southWestArrow/downArrow/upArrow/southEastArrow/northWestArrow/leftHookArrow/anticlockwiseOpenCircleArrow/clockwiseOpenCircleArrow \012R /leftArrow/rightArrow/northEastArrow/southWestArrow/upArrow/downArrow/southEastArrow/northWestArrow/anticlockwiseOpenCircleArrow/clockwiseOpenCircleArrow \012\012Triple:\012h/hbar blnijpruoødqecðagsßftvywxkz\012HOTYAVWXZ",
|
||||||
"JGCOQSU/OE \012BPRÞGCOQDS/OE \012AÆEFCGJLPRSYVWMKXZ\012AÆKXZYVWMNR (diag)\012sðoceaæ/oe bpdqßgt \012ltfjy (bot top tail)\012kxzyvw (diag)\012",
|
"Done:\012/apple/apple.001 \012/cedi/cedi.201_230 ¢/cent.201_230/colonsign/colonsign.201_230 $/dollar.201_230/guarani/guarani.201_230/naira/naira.169_230/peseta/peseta.169_230/peso/peso.136_230/won/won.169_230/dollar.tf/dollar.tf.201_230/curvedStemParagraphSignOrnament/curvedStemParagraphSignOrnament.79_230 ¶/paragraph.79_230 ©®/cent.tf/cent.tf.201_230 \012\012Brace:\012æes"
|
||||||
"Done:\012/apple/apple.001 \012/cedi/cedi.201_230 ¢/cent.201_230/colonsign/colonsign.201_230 $/dollar.201_230/guarani/guarani.201_230/naira/naira.169_230/peseta/peseta.169_230/peso/peso.136_230/won/won.169_230/dollar.tf/dollar.tf.201_230/curvedStemParagraphSignOrnament/curvedStemParagraphSignOrnament.79_230 ¶/paragraph.79_230 ©®/cent.tf/cent.tf.201_230 \012\012Brace:\012æes",
|
|
||||||
"$/dollar.tf/dollar.201_230/dollar.tf.201_230",
|
|
||||||
"{"
|
|
||||||
);
|
);
|
||||||
classes = (
|
classes = (
|
||||||
{
|
{
|
||||||
@ -70,6 +67,10 @@ value = 1;
|
|||||||
{
|
{
|
||||||
name = "Use Line Breaks";
|
name = "Use Line Breaks";
|
||||||
value = 1;
|
value = 1;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Variable Font Origin";
|
||||||
|
value = "DBFAC7D3-9CB2-48DD-9F53-AD59A4BD1301";
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
date = "2018-11-06 02:08:55 +0000";
|
date = "2018-11-06 02:08:55 +0000";
|
||||||
@ -115487,6 +115488,10 @@ customParameters = (
|
|||||||
{
|
{
|
||||||
name = weightClass;
|
name = weightClass;
|
||||||
value = 250;
|
value = 250;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Save as TrueType";
|
||||||
|
value = 1;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115505,6 +115510,10 @@ customParameters = (
|
|||||||
{
|
{
|
||||||
name = weightClass;
|
name = weightClass;
|
||||||
value = 275;
|
value = 275;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Save as TrueType";
|
||||||
|
value = 1;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115526,6 +115535,10 @@ name = "Rename Glyphs";
|
|||||||
value = (
|
value = (
|
||||||
"apple.001=apple"
|
"apple.001=apple"
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Save as TrueType";
|
||||||
|
value = 1;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115547,6 +115560,10 @@ name = "Rename Glyphs";
|
|||||||
value = (
|
value = (
|
||||||
"apple.001=apple"
|
"apple.001=apple"
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Save as TrueType";
|
||||||
|
value = 1;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115567,6 +115584,10 @@ value = (
|
|||||||
"curvedStemParagraphSignOrnament.79_230=curvedStemParagraphSignOrnament",
|
"curvedStemParagraphSignOrnament.79_230=curvedStemParagraphSignOrnament",
|
||||||
"paragraph.79_230=paragraph"
|
"paragraph.79_230=paragraph"
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Save as TrueType";
|
||||||
|
value = 1;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115590,6 +115611,10 @@ value = (
|
|||||||
"curvedStemParagraphSignOrnament.79_230=curvedStemParagraphSignOrnament",
|
"curvedStemParagraphSignOrnament.79_230=curvedStemParagraphSignOrnament",
|
||||||
"paragraph.79_230=paragraph"
|
"paragraph.79_230=paragraph"
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Save as TrueType";
|
||||||
|
value = 1;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115616,6 +115641,10 @@ value = (
|
|||||||
"curvedStemParagraphSignOrnament.79_230=curvedStemParagraphSignOrnament",
|
"curvedStemParagraphSignOrnament.79_230=curvedStemParagraphSignOrnament",
|
||||||
"paragraph.79_230=paragraph"
|
"paragraph.79_230=paragraph"
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Save as TrueType";
|
||||||
|
value = 1;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115649,6 +115678,10 @@ value = (
|
|||||||
"curvedStemParagraphSignOrnament.79_230=curvedStemParagraphSignOrnament",
|
"curvedStemParagraphSignOrnament.79_230=curvedStemParagraphSignOrnament",
|
||||||
"paragraph.79_230=paragraph"
|
"paragraph.79_230=paragraph"
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Save as TrueType";
|
||||||
|
value = 1;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115682,6 +115715,10 @@ value = (
|
|||||||
"curvedStemParagraphSignOrnament.79_230=curvedStemParagraphSignOrnament",
|
"curvedStemParagraphSignOrnament.79_230=curvedStemParagraphSignOrnament",
|
||||||
"paragraph.79_230=paragraph"
|
"paragraph.79_230=paragraph"
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Save as TrueType";
|
||||||
|
value = 1;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115733,10 +115770,6 @@ value = -343;
|
|||||||
{
|
{
|
||||||
name = hheaAscender;
|
name = hheaAscender;
|
||||||
value = 1105;
|
value = 1105;
|
||||||
},
|
|
||||||
{
|
|
||||||
name = Autohint;
|
|
||||||
value = 1;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115788,10 +115821,6 @@ value = -343;
|
|||||||
{
|
{
|
||||||
name = hheaAscender;
|
name = hheaAscender;
|
||||||
value = 1105;
|
value = 1105;
|
||||||
},
|
|
||||||
{
|
|
||||||
name = Autohint;
|
|
||||||
value = 1;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115846,10 +115875,6 @@ value = -343;
|
|||||||
{
|
{
|
||||||
name = hheaAscender;
|
name = hheaAscender;
|
||||||
value = 1105;
|
value = 1105;
|
||||||
},
|
|
||||||
{
|
|
||||||
name = Autohint;
|
|
||||||
value = 1;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115904,10 +115929,6 @@ value = -343;
|
|||||||
{
|
{
|
||||||
name = hheaAscender;
|
name = hheaAscender;
|
||||||
value = 1105;
|
value = 1105;
|
||||||
},
|
|
||||||
{
|
|
||||||
name = Autohint;
|
|
||||||
value = 1;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -115961,10 +115982,6 @@ value = -343;
|
|||||||
{
|
{
|
||||||
name = hheaAscender;
|
name = hheaAscender;
|
||||||
value = 1105;
|
value = 1105;
|
||||||
},
|
|
||||||
{
|
|
||||||
name = Autohint;
|
|
||||||
value = 1;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -116021,10 +116038,6 @@ value = -343;
|
|||||||
{
|
{
|
||||||
name = hheaAscender;
|
name = hheaAscender;
|
||||||
value = 1105;
|
value = 1105;
|
||||||
},
|
|
||||||
{
|
|
||||||
name = Autohint;
|
|
||||||
value = 1;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -116084,10 +116097,6 @@ value = -343;
|
|||||||
{
|
{
|
||||||
name = hheaAscender;
|
name = hheaAscender;
|
||||||
value = 1105;
|
value = 1105;
|
||||||
},
|
|
||||||
{
|
|
||||||
name = Autohint;
|
|
||||||
value = 1;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -116154,10 +116163,6 @@ value = -343;
|
|||||||
{
|
{
|
||||||
name = hheaAscender;
|
name = hheaAscender;
|
||||||
value = 1105;
|
value = 1105;
|
||||||
},
|
|
||||||
{
|
|
||||||
name = Autohint;
|
|
||||||
value = 1;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
@ -116224,10 +116229,6 @@ value = -343;
|
|||||||
{
|
{
|
||||||
name = hheaAscender;
|
name = hheaAscender;
|
||||||
value = 1105;
|
value = 1105;
|
||||||
},
|
|
||||||
{
|
|
||||||
name = Autohint;
|
|
||||||
value = 1;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
interpolationCustom = -1;
|
interpolationCustom = -1;
|
||||||
|
@ -88,6 +88,10 @@ value = 1;
|
|||||||
{
|
{
|
||||||
name = "Use Line Breaks";
|
name = "Use Line Breaks";
|
||||||
value = 1;
|
value = 1;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Variable Font Origin";
|
||||||
|
value = "4A17B37A-CBFD-40E5-9E02-2080A0E1F76C";
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
date = "2018-11-06 02:08:55 +0000";
|
date = "2018-11-06 02:08:55 +0000";
|
||||||
|
@ -22,9 +22,9 @@ rm -rf master_ufo
|
|||||||
rm -rf instance_ufo
|
rm -rf instance_ufo
|
||||||
rm -rf variable_ttf
|
rm -rf variable_ttf
|
||||||
|
|
||||||
# Add featureVariation for bracket trick glyphs
|
# # Add featureVariation for bracket trick glyphs
|
||||||
python tools/swapBracketTrick.py ${VFname}.ttf "$1"
|
# python tools/swapBracketTrick.py ${VFname}.ttf "$1"
|
||||||
mv ${VFname}-swap.ttf ${VFname}.ttf
|
# mv ${VFname}-swap.ttf ${VFname}.ttf
|
||||||
|
|
||||||
# Fix non-hinting, DSIG and GASP table
|
# Fix non-hinting, DSIG and GASP table
|
||||||
gftools fix-nonhinting ${VFname}.ttf ${VFname}.ttf
|
gftools fix-nonhinting ${VFname}.ttf ${VFname}.ttf
|
||||||
|
89
sources/buildTest.sh
Normal file
89
sources/buildTest.sh
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
### WIP macOS build script for Work Sans Upright and Italic VF, based on a build script by Mike LaGuttuta
|
||||||
|
# To add brace trick glyphs, define them in $BraceGlyphs variable, and save the source VF in the same folder as the script
|
||||||
|
|
||||||
|
# Setting the Source and VF name, determine if it's for Italic or Upright source from the argument passed to this script
|
||||||
|
|
||||||
|
glyphsSource="WorkSans.glyphs"
|
||||||
|
VFname="WorkSans-VF"
|
||||||
|
GXname="WorkSansGX"
|
||||||
|
|
||||||
|
if [ "$1" == "Upright" ]; then
|
||||||
|
# Setting which brace glyphs will get copied from the VF generated from glyphs app
|
||||||
|
BraceGlyphs="Odieresis.titl,Udieresis.titl,a,ae,e,s"
|
||||||
|
elif [ "$1" == "Italic" ]; then
|
||||||
|
BraceGlyphs="ae,e,s"
|
||||||
|
# Italic
|
||||||
|
glyphsSource=${glyphsSource/".glyphs"/"-Italic.glyphs"}
|
||||||
|
VFname=${VFname/"-VF"/"-Italic-VF"}
|
||||||
|
GXname=${GXname/"GX"/"ItalicGX"}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Call fontmake to generate variable font
|
||||||
|
fontmake -o variable -g $glyphsSource
|
||||||
|
echo "${VFname}.ttf generated"
|
||||||
|
|
||||||
|
# Clean up folders
|
||||||
|
mv variable_ttf/${VFname}.ttf ${VFname}.ttf
|
||||||
|
|
||||||
|
rm -rf master_ufo
|
||||||
|
rm -rf instance_ufo
|
||||||
|
rm -rf variable_ttf
|
||||||
|
|
||||||
|
ttx ${VFname}.ttf
|
||||||
|
rm ${VFname}.ttf
|
||||||
|
ttx ${GXname}.ttf
|
||||||
|
mv ${GXname}.ttx tools/${GXname}.ttx
|
||||||
|
|
||||||
|
# Copy brace glyphs from variable font generated from Glyphs App
|
||||||
|
# Run script to find and copy TTGlyph and glyphVariations elements from source file and copy into target file
|
||||||
|
xml tr tools/replaceBraceGlyphs.xsl \
|
||||||
|
-s replacements=${GXname}.ttx \
|
||||||
|
-s replacenames=$BraceGlyphs \
|
||||||
|
${VFname}.ttx > ${VFname}-brace.ttx
|
||||||
|
|
||||||
|
# Clean up folders
|
||||||
|
rm tools/${GXname}.ttx
|
||||||
|
rm ${VFname}.ttx
|
||||||
|
ttx ${VFname}-brace.ttx
|
||||||
|
rm ${VFname}-brace.ttx
|
||||||
|
mv ${VFname}-brace.ttf ${VFname}.ttf
|
||||||
|
|
||||||
|
# Add featureVariation for bracket trick glyphs
|
||||||
|
python tools/swapBracketTrick.py ${VFname}.ttf "$1"
|
||||||
|
mv ${VFname}-swap.ttf ${VFname}.ttf
|
||||||
|
|
||||||
|
# Fix non-hinting, DSIG and GASP table
|
||||||
|
gftools fix-nonhinting ${VFname}.ttf ${VFname}.ttf
|
||||||
|
gftools fix-gasp ${VFname}.ttf
|
||||||
|
echo "nonhinting, dsig, gasp fixed"
|
||||||
|
|
||||||
|
# Clean up backup file
|
||||||
|
rm ${VFname}-backup-fonttools-prep-gasp.ttf
|
||||||
|
|
||||||
|
# # Fix VF Metadata
|
||||||
|
# python tools/gftools-fix-vf-meta.py ${VFname}.ttf
|
||||||
|
# echo "vf-meta fixed"
|
||||||
|
# # Clean up and rename VF
|
||||||
|
# rm ${VFname}.ttf
|
||||||
|
# mv ${VFname}.ttf.fix ${VFname}.ttf
|
||||||
|
|
||||||
|
# # Correct nameID 6 (remove space)
|
||||||
|
# python tools/NAMEpatch.py ${VFname}.ttf
|
||||||
|
# rm ${VFname}.ttf
|
||||||
|
# mv ${VFname}#1.ttf ${VFname}.ttf
|
||||||
|
# echo "nameID 6 fixed"
|
||||||
|
|
||||||
|
# Fix DSIG
|
||||||
|
gftools fix-dsig --autofix ${VFname}.ttf
|
||||||
|
|
||||||
|
# if [ "$1" = "Italic" ]; then
|
||||||
|
# # Rename *-ItalicItalic to -Italic
|
||||||
|
# for i in *.ttf; do
|
||||||
|
# mv "$i" "${i//ItalicItalic/Italic}"
|
||||||
|
# done
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# fontbakery check-googlefonts ${VFname}.ttf --ghmarkdown fontbakery-report.md
|
||||||
|
|
||||||
|
## move font into folder of dist/, with timestamp, then fontbake the font
|
||||||
|
# python3 tools/distdate-and-fontbake.py ${VFname}.ttf
|
364
sources/fonts/worksanswebfonts.css
Normal file
364
sources/fonts/worksanswebfonts.css
Normal file
File diff suppressed because one or more lines are too long
@ -19,7 +19,7 @@ axis (covers 95% of GF cases).
|
|||||||
"""
|
"""
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
from fontTools.ttLib import TTFont, newTable
|
from fontTools.ttLib import TTFont, newTable
|
||||||
from fontTools.ttLib.tables import otTablesos
|
from fontTools.ttLib.tables import otTables
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
||||||
@ -121,7 +121,7 @@ def fix_nametable(ttfont):
|
|||||||
fullname = '{} {}'.format(family_name, default_style)
|
fullname = '{} {}'.format(family_name, default_style)
|
||||||
table.setName(unicode(fullname), 4, 3, 1, 1033)
|
table.setName(unicode(fullname), 4, 3, 1, 1033)
|
||||||
|
|
||||||
psname = '{}-{}'.format(family_name, default_style.replace(' ', ''))
|
psname = '{}-{}'.format(family_name.replace(' ', ''), default_style.replace(' ', ''))
|
||||||
table.setName(unicode(psname), 6, 3, 1, 1033)
|
table.setName(unicode(psname), 6, 3, 1, 1033)
|
||||||
|
|
||||||
# uniqueid basedon fontmake output version;vendorid;psname
|
# uniqueid basedon fontmake output version;vendorid;psname
|
||||||
@ -151,7 +151,7 @@ def create_stat_table(ttfont):
|
|||||||
this, we'll create a STAT using the font's fvar table."""
|
this, we'll create a STAT using the font's fvar table."""
|
||||||
stat = newTable('STAT')
|
stat = newTable('STAT')
|
||||||
stat.table = otTables.STAT()
|
stat.table = otTables.STAT()
|
||||||
stat.table.Version = 0x00010002
|
stat.table.Version = 0x00010001
|
||||||
|
|
||||||
# # Build DesignAxisRecords from fvar
|
# # Build DesignAxisRecords from fvar
|
||||||
stat.table.DesignAxisRecord = otTables.AxisRecordArray()
|
stat.table.DesignAxisRecord = otTables.AxisRecordArray()
|
||||||
|
47
sources/tools/makeGlyphsFileWithOnlyBraceGlyphs.py
Normal file
47
sources/tools/makeGlyphsFileWithOnlyBraceGlyphs.py
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# Make a .glyphs file with only brace glyphs to export
|
||||||
|
import sys
|
||||||
|
import re
|
||||||
|
from glyphsLib import GSFont
|
||||||
|
from glyphsLib import GSGlyph
|
||||||
|
from glyphsLib import GSLayer
|
||||||
|
|
||||||
|
file = sys.argv[1]
|
||||||
|
print file
|
||||||
|
|
||||||
|
font = GSFont()
|
||||||
|
# font = GSFont(file)
|
||||||
|
|
||||||
|
# Clear all features
|
||||||
|
font.features = []
|
||||||
|
font.classes = []
|
||||||
|
font.featurePrefixes = []
|
||||||
|
|
||||||
|
# Find brace glyphs
|
||||||
|
listOfBraceGlyphs = []
|
||||||
|
for eachGlyph in font.glyphs:
|
||||||
|
for eachLayer in eachGlyph.layers:
|
||||||
|
if re.match('.*\d\}$', eachLayer.name):
|
||||||
|
listOfBraceGlyphs += [eachGlyph.name]
|
||||||
|
|
||||||
|
print "brace glyphs: ", listOfBraceGlyphs
|
||||||
|
listOfBraceGlyphs += ["space", ".notdef"]
|
||||||
|
|
||||||
|
# Append Italic to font family naame if Italics
|
||||||
|
style = sys.argv[2]
|
||||||
|
if style == "Italic":
|
||||||
|
font.familyName = "%s %s" % (font.familyName, style)
|
||||||
|
|
||||||
|
listOfGlyphsNotToExport = [g.name for g in font.glyphs if g not in listOfBraceGlyphs]
|
||||||
|
|
||||||
|
for eachGlyph in listOfGlyphsNotToExport:
|
||||||
|
font.glyphs[eachGlyph].export = 0
|
||||||
|
|
||||||
|
# for eachGlyph in listOfBraceGlyphs:
|
||||||
|
# try:
|
||||||
|
# font.glyphs[eachGlyph].export = 1
|
||||||
|
# except:
|
||||||
|
# pass
|
||||||
|
|
||||||
|
newFileName = file.replace(".glyphs", "-onlyBraceGlyphs.glyphs")
|
||||||
|
|
||||||
|
font.save(newFileName)
|
Loading…
Reference in New Issue
Block a user