mirror of
https://github.com/weiweihuanghuang/Work-Sans.git
synced 2024-11-22 12:14:09 +03:00
Update Build
This commit is contained in:
parent
a20571832a
commit
83c2a6874c
Binary file not shown.
@ -5,7 +5,8 @@ DisplayStrings = (
|
|||||||
"/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",
|
||||||
"Done:\012/apple.001 \012/cedi/cedi.rvrn ¢/cent.rvrn/colonsign/colonsign.rvrn $/dollar.rvrn/guarani/guarani.rvrn/naira/naira.rvrn/peseta/peseta.rvrn/peso/peso.rvrn/won/won.rvrn/dollar.tf/dollar.tf.rvrn/curvedStemParagraphSignOrnament/curvedStemParagraphSignOrnament.rvrn ¶/paragraph.rvrn ©®/cent.tf/cent.tf.rvrn \012\012Brace:\012æes",
|
"Done:\012/apple.001 \012/cedi/cedi.rvrn ¢/cent.rvrn/colonsign/colonsign.rvrn $/dollar.rvrn/guarani/guarani.rvrn/naira/naira.rvrn/peseta/peseta.rvrn/peso/peso.rvrn/won/won.rvrn/dollar.tf/dollar.tf.rvrn/curvedStemParagraphSignOrnament/curvedStemParagraphSignOrnament.rvrn ¶/paragraph.rvrn ©®/cent.tf/cent.tf.rvrn \012\012Brace:\012æes",
|
||||||
";¡¿/semicolon.tf )]/parenrightsuperior/bracketright.case/exclamdown.sc/questiondown.sc/rightanglebracket-math >/rightArrow/downArrow/southWestArrow/downWhiteTriangle/heavySingleCommaQuotationMarkOrnament/heavyDoubleCommaQuotationMarkOrnament/ringhalfright/bracketrightsuperior/colonsign/colonsign.rvrn",
|
";¡¿/semicolon.tf )]/parenrightsuperior/bracketright.case/exclamdown.sc/questiondown.sc/rightanglebracket-math >/rightArrow/downArrow/southWestArrow/downWhiteTriangle/heavySingleCommaQuotationMarkOrnament/heavyDoubleCommaQuotationMarkOrnament/ringhalfright/bracketrightsuperior/colonsign/colonsign.rvrn",
|
||||||
"/dollar.tf/cent.tf \012/dollar.tf.rvrn/cent.tf.rvrn \012$¢ÄÜÖ\012/dollar.rvrn/cent.rvrn"
|
"/dollar.tf/cent.tf \012/dollar.tf.rvrn/cent.tf.rvrn \012$¢ÄÜÖ\012/dollar.rvrn/cent.rvrn",
|
||||||
|
"/apple"
|
||||||
);
|
);
|
||||||
classes = (
|
classes = (
|
||||||
{
|
{
|
||||||
@ -79,7 +80,7 @@ name = vendorID;
|
|||||||
value = WEI;
|
value = WEI;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
date = "2018-11-14 10:39:40 +0000";
|
date = "2018-11-15 04:39:21 +0000";
|
||||||
designer = "Wei Huang";
|
designer = "Wei Huang";
|
||||||
designerURL = "http://wweeiihhuuaanngg@gmail.com";
|
designerURL = "http://wweeiihhuuaanngg@gmail.com";
|
||||||
familyName = "Work Sans";
|
familyName = "Work Sans";
|
||||||
@ -99918,67 +99919,6 @@ nodes = (
|
|||||||
{
|
{
|
||||||
closed = 1;
|
closed = 1;
|
||||||
nodes = (
|
nodes = (
|
||||||
"754 75 LINE SMOOTH",
|
|
||||||
"833 75 OFFCURVE",
|
|
||||||
"903 91 OFFCURVE",
|
|
||||||
"957 125 CURVE",
|
|
||||||
"1033 131 LINE",
|
|
||||||
"990 190 LINE",
|
|
||||||
"1074 203 LINE",
|
|
||||||
"1018 253 LINE",
|
|
||||||
"1095 284 LINE",
|
|
||||||
"1030 326 LINE",
|
|
||||||
"1104 360 LINE",
|
|
||||||
"1032 400 LINE",
|
|
||||||
"1101 440 LINE",
|
|
||||||
"1020 461 LINE",
|
|
||||||
"1075 516 LINE",
|
|
||||||
"987 514 LINE",
|
|
||||||
"1023 575 LINE",
|
|
||||||
"932 562 LINE",
|
|
||||||
"958 628 LINE",
|
|
||||||
"873 600 LINE",
|
|
||||||
"881 666 LINE",
|
|
||||||
"803 625 LINE",
|
|
||||||
"807 686 LINE",
|
|
||||||
"727 634 LINE",
|
|
||||||
"720 690 LINE",
|
|
||||||
"641 639 LINE",
|
|
||||||
"622 686 LINE",
|
|
||||||
"562 625 LINE",
|
|
||||||
"535 672 LINE",
|
|
||||||
"488 610 LINE",
|
|
||||||
"451 643 LINE",
|
|
||||||
"413 581 LINE",
|
|
||||||
"378 611 LINE",
|
|
||||||
"343 548 LINE",
|
|
||||||
"306 571 LINE",
|
|
||||||
"280 512 LINE",
|
|
||||||
"254 539 LINE",
|
|
||||||
"224 473 LINE",
|
|
||||||
"198 498 LINE",
|
|
||||||
"164 418 LINE",
|
|
||||||
"164 359 OFFCURVE",
|
|
||||||
"117 283 OFFCURVE",
|
|
||||||
"69 246 CURVE",
|
|
||||||
"66 247 OFFCURVE",
|
|
||||||
"62 248 OFFCURVE",
|
|
||||||
"58 248 CURVE SMOOTH",
|
|
||||||
"36 248 OFFCURVE",
|
|
||||||
"17 229 OFFCURVE",
|
|
||||||
"17 207 CURVE SMOOTH",
|
|
||||||
"17 185 OFFCURVE",
|
|
||||||
"36 166 OFFCURVE",
|
|
||||||
"58 166 CURVE SMOOTH",
|
|
||||||
"63 166 LINE",
|
|
||||||
"105 129 OFFCURVE",
|
|
||||||
"219 75 OFFCURVE",
|
|
||||||
"307 75 CURVE SMOOTH"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"262 0 LINE SMOOTH",
|
"262 0 LINE SMOOTH",
|
||||||
"289 0 OFFCURVE",
|
"289 0 OFFCURVE",
|
||||||
"294 10 OFFCURVE",
|
"294 10 OFFCURVE",
|
||||||
@ -100059,6 +99999,67 @@ nodes = (
|
|||||||
"750 0 OFFCURVE",
|
"750 0 OFFCURVE",
|
||||||
"769 0 CURVE SMOOTH"
|
"769 0 CURVE SMOOTH"
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"754 75 LINE SMOOTH",
|
||||||
|
"833 75 OFFCURVE",
|
||||||
|
"903 91 OFFCURVE",
|
||||||
|
"957 125 CURVE",
|
||||||
|
"1033 131 LINE",
|
||||||
|
"990 190 LINE",
|
||||||
|
"1074 203 LINE",
|
||||||
|
"1018 253 LINE",
|
||||||
|
"1095 284 LINE",
|
||||||
|
"1030 326 LINE",
|
||||||
|
"1104 360 LINE",
|
||||||
|
"1032 400 LINE",
|
||||||
|
"1101 440 LINE",
|
||||||
|
"1020 461 LINE",
|
||||||
|
"1075 516 LINE",
|
||||||
|
"987 514 LINE",
|
||||||
|
"1023 575 LINE",
|
||||||
|
"932 562 LINE",
|
||||||
|
"958 628 LINE",
|
||||||
|
"873 600 LINE",
|
||||||
|
"881 666 LINE",
|
||||||
|
"803 625 LINE",
|
||||||
|
"807 686 LINE",
|
||||||
|
"727 634 LINE",
|
||||||
|
"720 690 LINE",
|
||||||
|
"641 639 LINE",
|
||||||
|
"622 686 LINE",
|
||||||
|
"562 625 LINE",
|
||||||
|
"535 672 LINE",
|
||||||
|
"488 610 LINE",
|
||||||
|
"451 643 LINE",
|
||||||
|
"413 581 LINE",
|
||||||
|
"378 611 LINE",
|
||||||
|
"343 548 LINE",
|
||||||
|
"306 571 LINE",
|
||||||
|
"280 512 LINE",
|
||||||
|
"254 539 LINE",
|
||||||
|
"224 473 LINE",
|
||||||
|
"198 498 LINE",
|
||||||
|
"164 418 LINE",
|
||||||
|
"164 359 OFFCURVE",
|
||||||
|
"117 283 OFFCURVE",
|
||||||
|
"69 246 CURVE",
|
||||||
|
"66 247 OFFCURVE",
|
||||||
|
"62 248 OFFCURVE",
|
||||||
|
"58 248 CURVE SMOOTH",
|
||||||
|
"36 248 OFFCURVE",
|
||||||
|
"17 229 OFFCURVE",
|
||||||
|
"17 207 CURVE SMOOTH",
|
||||||
|
"17 185 OFFCURVE",
|
||||||
|
"36 166 OFFCURVE",
|
||||||
|
"58 166 CURVE SMOOTH",
|
||||||
|
"63 166 LINE",
|
||||||
|
"105 129 OFFCURVE",
|
||||||
|
"219 75 OFFCURVE",
|
||||||
|
"307 75 CURVE SMOOTH"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
width = 1130;
|
width = 1130;
|
||||||
@ -100897,67 +100898,6 @@ nodes = (
|
|||||||
{
|
{
|
||||||
closed = 1;
|
closed = 1;
|
||||||
nodes = (
|
nodes = (
|
||||||
"754 81 LINE SMOOTH",
|
|
||||||
"833 81 OFFCURVE",
|
|
||||||
"903 97 OFFCURVE",
|
|
||||||
"957 131 CURVE",
|
|
||||||
"1033 137 LINE",
|
|
||||||
"990 196 LINE",
|
|
||||||
"1074 209 LINE",
|
|
||||||
"1018 259 LINE",
|
|
||||||
"1095 290 LINE",
|
|
||||||
"1030 332 LINE",
|
|
||||||
"1104 366 LINE",
|
|
||||||
"1032 406 LINE",
|
|
||||||
"1101 446 LINE",
|
|
||||||
"1020 467 LINE",
|
|
||||||
"1075 522 LINE",
|
|
||||||
"987 520 LINE",
|
|
||||||
"1023 581 LINE",
|
|
||||||
"932 568 LINE",
|
|
||||||
"958 634 LINE",
|
|
||||||
"873 606 LINE",
|
|
||||||
"881 672 LINE",
|
|
||||||
"803 631 LINE",
|
|
||||||
"807 692 LINE",
|
|
||||||
"727 640 LINE",
|
|
||||||
"720 696 LINE",
|
|
||||||
"641 645 LINE",
|
|
||||||
"622 692 LINE",
|
|
||||||
"562 631 LINE",
|
|
||||||
"535 678 LINE",
|
|
||||||
"488 616 LINE",
|
|
||||||
"451 649 LINE",
|
|
||||||
"413 587 LINE",
|
|
||||||
"378 617 LINE",
|
|
||||||
"343 554 LINE",
|
|
||||||
"306 577 LINE",
|
|
||||||
"280 518 LINE",
|
|
||||||
"254 545 LINE",
|
|
||||||
"224 479 LINE",
|
|
||||||
"198 504 LINE",
|
|
||||||
"164 424 LINE",
|
|
||||||
"164 365 OFFCURVE",
|
|
||||||
"117 289 OFFCURVE",
|
|
||||||
"69 252 CURVE",
|
|
||||||
"66 253 OFFCURVE",
|
|
||||||
"62 254 OFFCURVE",
|
|
||||||
"58 254 CURVE SMOOTH",
|
|
||||||
"36 254 OFFCURVE",
|
|
||||||
"17 235 OFFCURVE",
|
|
||||||
"17 213 CURVE SMOOTH",
|
|
||||||
"17 191 OFFCURVE",
|
|
||||||
"36 172 OFFCURVE",
|
|
||||||
"58 172 CURVE SMOOTH",
|
|
||||||
"63 172 LINE",
|
|
||||||
"105 135 OFFCURVE",
|
|
||||||
"219 81 OFFCURVE",
|
|
||||||
"307 81 CURVE SMOOTH"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"312 0 LINE SMOOTH",
|
"312 0 LINE SMOOTH",
|
||||||
"339 0 OFFCURVE",
|
"339 0 OFFCURVE",
|
||||||
"350 13 OFFCURVE",
|
"350 13 OFFCURVE",
|
||||||
@ -100988,7 +100928,7 @@ nodes = (
|
|||||||
"351 181 LINE",
|
"351 181 LINE",
|
||||||
"352 143 LINE",
|
"352 143 LINE",
|
||||||
"373 65 LINE",
|
"373 65 LINE",
|
||||||
"362 61 LINE SMOOTH",
|
"362 61 LINE",
|
||||||
"346 53 OFFCURVE",
|
"346 53 OFFCURVE",
|
||||||
"340 40 OFFCURVE",
|
"340 40 OFFCURVE",
|
||||||
"346 25 CURVE SMOOTH",
|
"346 25 CURVE SMOOTH",
|
||||||
@ -101000,7 +100940,7 @@ nodes = (
|
|||||||
{
|
{
|
||||||
closed = 1;
|
closed = 1;
|
||||||
nodes = (
|
nodes = (
|
||||||
"966 36 LINE SMOOTH",
|
"966 36 LINE",
|
||||||
"981 49 OFFCURVE",
|
"981 49 OFFCURVE",
|
||||||
"983 62 OFFCURVE",
|
"983 62 OFFCURVE",
|
||||||
"972 77 CURVE SMOOTH",
|
"972 77 CURVE SMOOTH",
|
||||||
@ -101012,10 +100952,10 @@ nodes = (
|
|||||||
"901 47 LINE SMOOTH",
|
"901 47 LINE SMOOTH",
|
||||||
"885 36 OFFCURVE",
|
"885 36 OFFCURVE",
|
||||||
"882 22 OFFCURVE",
|
"882 22 OFFCURVE",
|
||||||
"892 9 CURVE SMOOTH",
|
"892 9 CURVE",
|
||||||
"902 -4 OFFCURVE",
|
"902 -4 OFFCURVE",
|
||||||
"915 -4 OFFCURVE",
|
"915 -4 OFFCURVE",
|
||||||
"930 8 CURVE SMOOTH"
|
"930 8 CURVE"
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -101038,6 +100978,67 @@ nodes = (
|
|||||||
"763 0 OFFCURVE",
|
"763 0 OFFCURVE",
|
||||||
"782 0 CURVE SMOOTH"
|
"782 0 CURVE SMOOTH"
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"754 81 LINE SMOOTH",
|
||||||
|
"833 81 OFFCURVE",
|
||||||
|
"903 97 OFFCURVE",
|
||||||
|
"957 131 CURVE",
|
||||||
|
"1027 145 LINE",
|
||||||
|
"990 196 LINE",
|
||||||
|
"1061 213 LINE",
|
||||||
|
"1018 259 LINE",
|
||||||
|
"1084 290 LINE",
|
||||||
|
"1030 332 LINE",
|
||||||
|
"1093 365 LINE",
|
||||||
|
"1032 406 LINE",
|
||||||
|
"1092 449 LINE",
|
||||||
|
"1020 467 LINE",
|
||||||
|
"1064 523 LINE",
|
||||||
|
"987 520 LINE",
|
||||||
|
"1012 582 LINE",
|
||||||
|
"932 568 LINE",
|
||||||
|
"947 635 LINE",
|
||||||
|
"873 606 LINE",
|
||||||
|
"870 673 LINE",
|
||||||
|
"803 631 LINE",
|
||||||
|
"796 693 LINE",
|
||||||
|
"727 640 LINE",
|
||||||
|
"709 697 LINE",
|
||||||
|
"641 645 LINE",
|
||||||
|
"611 693 LINE",
|
||||||
|
"562 631 LINE",
|
||||||
|
"524 679 LINE",
|
||||||
|
"488 616 LINE",
|
||||||
|
"440 650 LINE",
|
||||||
|
"413 587 LINE",
|
||||||
|
"367 618 LINE",
|
||||||
|
"343 554 LINE",
|
||||||
|
"295 578 LINE",
|
||||||
|
"280 518 LINE",
|
||||||
|
"243 546 LINE",
|
||||||
|
"224 479 LINE",
|
||||||
|
"187 505 LINE",
|
||||||
|
"164 424 LINE",
|
||||||
|
"164 365 OFFCURVE",
|
||||||
|
"117 289 OFFCURVE",
|
||||||
|
"69 252 CURVE",
|
||||||
|
"66 253 OFFCURVE",
|
||||||
|
"62 254 OFFCURVE",
|
||||||
|
"58 254 CURVE SMOOTH",
|
||||||
|
"36 254 OFFCURVE",
|
||||||
|
"17 235 OFFCURVE",
|
||||||
|
"17 213 CURVE SMOOTH",
|
||||||
|
"17 191 OFFCURVE",
|
||||||
|
"36 172 OFFCURVE",
|
||||||
|
"58 172 CURVE SMOOTH",
|
||||||
|
"63 172 LINE",
|
||||||
|
"105 135 OFFCURVE",
|
||||||
|
"219 81 OFFCURVE",
|
||||||
|
"307 81 CURVE SMOOTH"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
width = 1130;
|
width = 1130;
|
||||||
@ -101095,67 +101096,6 @@ nodes = (
|
|||||||
{
|
{
|
||||||
closed = 1;
|
closed = 1;
|
||||||
nodes = (
|
nodes = (
|
||||||
"754 82 LINE SMOOTH",
|
|
||||||
"833 82 OFFCURVE",
|
|
||||||
"903 98 OFFCURVE",
|
|
||||||
"957 132 CURVE",
|
|
||||||
"1033 138 LINE",
|
|
||||||
"990 197 LINE",
|
|
||||||
"1074 210 LINE",
|
|
||||||
"1018 260 LINE",
|
|
||||||
"1095 291 LINE",
|
|
||||||
"1030 333 LINE",
|
|
||||||
"1104 367 LINE",
|
|
||||||
"1032 407 LINE",
|
|
||||||
"1101 447 LINE",
|
|
||||||
"1020 468 LINE",
|
|
||||||
"1075 523 LINE",
|
|
||||||
"987 521 LINE",
|
|
||||||
"1023 582 LINE",
|
|
||||||
"932 569 LINE",
|
|
||||||
"958 635 LINE",
|
|
||||||
"873 607 LINE",
|
|
||||||
"881 673 LINE",
|
|
||||||
"803 632 LINE",
|
|
||||||
"807 693 LINE",
|
|
||||||
"727 641 LINE",
|
|
||||||
"720 697 LINE",
|
|
||||||
"641 646 LINE",
|
|
||||||
"622 693 LINE",
|
|
||||||
"562 632 LINE",
|
|
||||||
"535 679 LINE",
|
|
||||||
"488 617 LINE",
|
|
||||||
"451 650 LINE",
|
|
||||||
"413 588 LINE",
|
|
||||||
"378 618 LINE",
|
|
||||||
"343 555 LINE",
|
|
||||||
"306 578 LINE",
|
|
||||||
"280 519 LINE",
|
|
||||||
"254 546 LINE",
|
|
||||||
"224 480 LINE",
|
|
||||||
"198 505 LINE",
|
|
||||||
"164 425 LINE",
|
|
||||||
"164 366 OFFCURVE",
|
|
||||||
"117 290 OFFCURVE",
|
|
||||||
"69 253 CURVE",
|
|
||||||
"66 254 OFFCURVE",
|
|
||||||
"62 255 OFFCURVE",
|
|
||||||
"58 255 CURVE SMOOTH",
|
|
||||||
"36 255 OFFCURVE",
|
|
||||||
"17 236 OFFCURVE",
|
|
||||||
"17 214 CURVE SMOOTH",
|
|
||||||
"17 192 OFFCURVE",
|
|
||||||
"36 173 OFFCURVE",
|
|
||||||
"58 173 CURVE SMOOTH",
|
|
||||||
"63 173 LINE",
|
|
||||||
"105 136 OFFCURVE",
|
|
||||||
"219 82 OFFCURVE",
|
|
||||||
"307 82 CURVE SMOOTH"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"318 0 LINE SMOOTH",
|
"318 0 LINE SMOOTH",
|
||||||
"345 0 OFFCURVE",
|
"345 0 OFFCURVE",
|
||||||
"356 13 OFFCURVE",
|
"356 13 OFFCURVE",
|
||||||
@ -101186,7 +101126,7 @@ nodes = (
|
|||||||
"351 181 LINE",
|
"351 181 LINE",
|
||||||
"351 146 LINE",
|
"351 146 LINE",
|
||||||
"373 67 LINE",
|
"373 67 LINE",
|
||||||
"362 62 LINE SMOOTH",
|
"362 62 LINE",
|
||||||
"346 53 OFFCURVE",
|
"346 53 OFFCURVE",
|
||||||
"340 40 OFFCURVE",
|
"340 40 OFFCURVE",
|
||||||
"347 25 CURVE SMOOTH",
|
"347 25 CURVE SMOOTH",
|
||||||
@ -101198,7 +101138,7 @@ nodes = (
|
|||||||
{
|
{
|
||||||
closed = 1;
|
closed = 1;
|
||||||
nodes = (
|
nodes = (
|
||||||
"969 38 LINE SMOOTH",
|
"969 38 LINE",
|
||||||
"983 51 OFFCURVE",
|
"983 51 OFFCURVE",
|
||||||
"985 64 OFFCURVE",
|
"985 64 OFFCURVE",
|
||||||
"973 79 CURVE SMOOTH",
|
"973 79 CURVE SMOOTH",
|
||||||
@ -101210,10 +101150,10 @@ nodes = (
|
|||||||
"903 47 LINE SMOOTH",
|
"903 47 LINE SMOOTH",
|
||||||
"887 36 OFFCURVE",
|
"887 36 OFFCURVE",
|
||||||
"885 21 OFFCURVE",
|
"885 21 OFFCURVE",
|
||||||
"895 9 CURVE SMOOTH",
|
"895 9 CURVE",
|
||||||
"905 -4 OFFCURVE",
|
"905 -4 OFFCURVE",
|
||||||
"918 -4 OFFCURVE",
|
"918 -4 OFFCURVE",
|
||||||
"933 9 CURVE SMOOTH"
|
"933 9 CURVE"
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -101236,6 +101176,67 @@ nodes = (
|
|||||||
"764 0 OFFCURVE",
|
"764 0 OFFCURVE",
|
||||||
"783 0 CURVE SMOOTH"
|
"783 0 CURVE SMOOTH"
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"754 82 LINE SMOOTH",
|
||||||
|
"833 82 OFFCURVE",
|
||||||
|
"903 98 OFFCURVE",
|
||||||
|
"957 132 CURVE",
|
||||||
|
"1026 146 LINE",
|
||||||
|
"990 197 LINE",
|
||||||
|
"1060 214 LINE",
|
||||||
|
"1018 260 LINE",
|
||||||
|
"1083 291 LINE",
|
||||||
|
"1030 333 LINE",
|
||||||
|
"1092 366 LINE",
|
||||||
|
"1032 407 LINE",
|
||||||
|
"1091 450 LINE",
|
||||||
|
"1020 468 LINE",
|
||||||
|
"1063 524 LINE",
|
||||||
|
"987 521 LINE",
|
||||||
|
"1011 583 LINE",
|
||||||
|
"932 569 LINE",
|
||||||
|
"946 636 LINE",
|
||||||
|
"873 607 LINE",
|
||||||
|
"869 674 LINE",
|
||||||
|
"803 632 LINE",
|
||||||
|
"795 694 LINE",
|
||||||
|
"727 641 LINE",
|
||||||
|
"708 698 LINE",
|
||||||
|
"641 646 LINE",
|
||||||
|
"610 694 LINE",
|
||||||
|
"562 632 LINE",
|
||||||
|
"523 680 LINE",
|
||||||
|
"488 617 LINE",
|
||||||
|
"439 651 LINE",
|
||||||
|
"413 588 LINE",
|
||||||
|
"366 619 LINE",
|
||||||
|
"343 555 LINE",
|
||||||
|
"294 579 LINE",
|
||||||
|
"280 519 LINE",
|
||||||
|
"242 547 LINE",
|
||||||
|
"224 480 LINE",
|
||||||
|
"186 506 LINE",
|
||||||
|
"164 425 LINE",
|
||||||
|
"164 366 OFFCURVE",
|
||||||
|
"117 290 OFFCURVE",
|
||||||
|
"69 253 CURVE",
|
||||||
|
"66 254 OFFCURVE",
|
||||||
|
"62 255 OFFCURVE",
|
||||||
|
"58 255 CURVE SMOOTH",
|
||||||
|
"36 255 OFFCURVE",
|
||||||
|
"17 236 OFFCURVE",
|
||||||
|
"17 214 CURVE SMOOTH",
|
||||||
|
"17 192 OFFCURVE",
|
||||||
|
"36 173 OFFCURVE",
|
||||||
|
"58 173 CURVE SMOOTH",
|
||||||
|
"63 173 LINE",
|
||||||
|
"105 136 OFFCURVE",
|
||||||
|
"219 82 OFFCURVE",
|
||||||
|
"307 82 CURVE SMOOTH"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
width = 1130;
|
width = 1130;
|
||||||
@ -101316,67 +101317,6 @@ nodes = (
|
|||||||
{
|
{
|
||||||
closed = 1;
|
closed = 1;
|
||||||
nodes = (
|
nodes = (
|
||||||
"754 82 LINE SMOOTH",
|
|
||||||
"833 82 OFFCURVE",
|
|
||||||
"903 98 OFFCURVE",
|
|
||||||
"957 132 CURVE",
|
|
||||||
"1033 138 LINE",
|
|
||||||
"990 197 LINE",
|
|
||||||
"1074 210 LINE",
|
|
||||||
"1018 260 LINE",
|
|
||||||
"1095 291 LINE",
|
|
||||||
"1030 333 LINE",
|
|
||||||
"1104 367 LINE",
|
|
||||||
"1032 407 LINE",
|
|
||||||
"1101 447 LINE",
|
|
||||||
"1020 468 LINE",
|
|
||||||
"1075 523 LINE",
|
|
||||||
"987 521 LINE",
|
|
||||||
"1023 582 LINE",
|
|
||||||
"932 569 LINE",
|
|
||||||
"958 635 LINE",
|
|
||||||
"873 607 LINE",
|
|
||||||
"881 673 LINE",
|
|
||||||
"803 632 LINE",
|
|
||||||
"807 693 LINE",
|
|
||||||
"727 641 LINE",
|
|
||||||
"720 697 LINE",
|
|
||||||
"641 646 LINE",
|
|
||||||
"622 693 LINE",
|
|
||||||
"562 632 LINE",
|
|
||||||
"535 679 LINE",
|
|
||||||
"488 617 LINE",
|
|
||||||
"451 650 LINE",
|
|
||||||
"413 588 LINE",
|
|
||||||
"378 618 LINE",
|
|
||||||
"343 555 LINE",
|
|
||||||
"306 578 LINE",
|
|
||||||
"280 519 LINE",
|
|
||||||
"254 546 LINE",
|
|
||||||
"224 480 LINE",
|
|
||||||
"198 505 LINE",
|
|
||||||
"164 425 LINE",
|
|
||||||
"164 366 OFFCURVE",
|
|
||||||
"117 290 OFFCURVE",
|
|
||||||
"69 253 CURVE",
|
|
||||||
"66 254 OFFCURVE",
|
|
||||||
"62 255 OFFCURVE",
|
|
||||||
"58 255 CURVE SMOOTH",
|
|
||||||
"36 255 OFFCURVE",
|
|
||||||
"17 236 OFFCURVE",
|
|
||||||
"17 214 CURVE SMOOTH",
|
|
||||||
"17 192 OFFCURVE",
|
|
||||||
"36 173 OFFCURVE",
|
|
||||||
"58 173 CURVE SMOOTH",
|
|
||||||
"63 173 LINE",
|
|
||||||
"105 136 OFFCURVE",
|
|
||||||
"219 82 OFFCURVE",
|
|
||||||
"307 82 CURVE SMOOTH"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"358 0 LINE SMOOTH",
|
"358 0 LINE SMOOTH",
|
||||||
"380 0 OFFCURVE",
|
"380 0 OFFCURVE",
|
||||||
"393 13 OFFCURVE",
|
"393 13 OFFCURVE",
|
||||||
@ -101457,6 +101397,67 @@ nodes = (
|
|||||||
"792 0 OFFCURVE",
|
"792 0 OFFCURVE",
|
||||||
"811 0 CURVE SMOOTH"
|
"811 0 CURVE SMOOTH"
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"754 82 LINE SMOOTH",
|
||||||
|
"833 82 OFFCURVE",
|
||||||
|
"903 98 OFFCURVE",
|
||||||
|
"957 132 CURVE",
|
||||||
|
"1026 146 LINE",
|
||||||
|
"990 197 LINE",
|
||||||
|
"1060 214 LINE",
|
||||||
|
"1018 260 LINE",
|
||||||
|
"1083 291 LINE",
|
||||||
|
"1030 333 LINE",
|
||||||
|
"1092 366 LINE",
|
||||||
|
"1032 407 LINE",
|
||||||
|
"1091 450 LINE",
|
||||||
|
"1020 468 LINE",
|
||||||
|
"1063 524 LINE",
|
||||||
|
"987 521 LINE",
|
||||||
|
"1011 583 LINE",
|
||||||
|
"932 569 LINE",
|
||||||
|
"946 636 LINE",
|
||||||
|
"873 607 LINE",
|
||||||
|
"869 674 LINE",
|
||||||
|
"803 632 LINE",
|
||||||
|
"795 694 LINE",
|
||||||
|
"727 641 LINE",
|
||||||
|
"708 698 LINE",
|
||||||
|
"641 646 LINE",
|
||||||
|
"610 694 LINE",
|
||||||
|
"562 632 LINE",
|
||||||
|
"523 680 LINE",
|
||||||
|
"488 617 LINE",
|
||||||
|
"439 651 LINE",
|
||||||
|
"413 588 LINE",
|
||||||
|
"366 619 LINE",
|
||||||
|
"343 555 LINE",
|
||||||
|
"294 579 LINE",
|
||||||
|
"280 519 LINE",
|
||||||
|
"242 547 LINE",
|
||||||
|
"224 480 LINE",
|
||||||
|
"186 506 LINE",
|
||||||
|
"164 425 LINE",
|
||||||
|
"164 366 OFFCURVE",
|
||||||
|
"117 290 OFFCURVE",
|
||||||
|
"69 253 CURVE",
|
||||||
|
"66 254 OFFCURVE",
|
||||||
|
"62 255 OFFCURVE",
|
||||||
|
"58 255 CURVE SMOOTH",
|
||||||
|
"36 255 OFFCURVE",
|
||||||
|
"17 236 OFFCURVE",
|
||||||
|
"17 214 CURVE SMOOTH",
|
||||||
|
"17 192 OFFCURVE",
|
||||||
|
"36 173 OFFCURVE",
|
||||||
|
"58 173 CURVE SMOOTH",
|
||||||
|
"63 173 LINE",
|
||||||
|
"105 136 OFFCURVE",
|
||||||
|
"219 82 OFFCURVE",
|
||||||
|
"307 82 CURVE SMOOTH"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
width = 1130;
|
width = 1130;
|
||||||
@ -101701,67 +101702,6 @@ nodes = (
|
|||||||
{
|
{
|
||||||
closed = 1;
|
closed = 1;
|
||||||
nodes = (
|
nodes = (
|
||||||
"754 75 LINE SMOOTH",
|
|
||||||
"833 75 OFFCURVE",
|
|
||||||
"903 91 OFFCURVE",
|
|
||||||
"957 125 CURVE",
|
|
||||||
"1033 131 LINE",
|
|
||||||
"990 190 LINE",
|
|
||||||
"1074 203 LINE",
|
|
||||||
"1018 253 LINE",
|
|
||||||
"1095 284 LINE",
|
|
||||||
"1030 326 LINE",
|
|
||||||
"1104 360 LINE",
|
|
||||||
"1032 400 LINE",
|
|
||||||
"1101 440 LINE",
|
|
||||||
"1020 461 LINE",
|
|
||||||
"1075 516 LINE",
|
|
||||||
"987 514 LINE",
|
|
||||||
"1023 575 LINE",
|
|
||||||
"932 562 LINE",
|
|
||||||
"958 628 LINE",
|
|
||||||
"873 600 LINE",
|
|
||||||
"881 666 LINE",
|
|
||||||
"803 625 LINE",
|
|
||||||
"807 686 LINE",
|
|
||||||
"727 634 LINE",
|
|
||||||
"720 690 LINE",
|
|
||||||
"641 639 LINE",
|
|
||||||
"622 686 LINE",
|
|
||||||
"562 625 LINE",
|
|
||||||
"535 672 LINE",
|
|
||||||
"488 610 LINE",
|
|
||||||
"451 643 LINE",
|
|
||||||
"413 581 LINE",
|
|
||||||
"378 611 LINE",
|
|
||||||
"343 548 LINE",
|
|
||||||
"306 571 LINE",
|
|
||||||
"280 512 LINE",
|
|
||||||
"254 539 LINE",
|
|
||||||
"224 473 LINE",
|
|
||||||
"198 498 LINE",
|
|
||||||
"164 418 LINE",
|
|
||||||
"164 359 OFFCURVE",
|
|
||||||
"117 283 OFFCURVE",
|
|
||||||
"69 246 CURVE",
|
|
||||||
"66 247 OFFCURVE",
|
|
||||||
"62 248 OFFCURVE",
|
|
||||||
"58 248 CURVE SMOOTH",
|
|
||||||
"36 248 OFFCURVE",
|
|
||||||
"17 229 OFFCURVE",
|
|
||||||
"17 207 CURVE SMOOTH",
|
|
||||||
"17 185 OFFCURVE",
|
|
||||||
"36 166 OFFCURVE",
|
|
||||||
"58 166 CURVE SMOOTH",
|
|
||||||
"63 166 LINE",
|
|
||||||
"105 129 OFFCURVE",
|
|
||||||
"219 75 OFFCURVE",
|
|
||||||
"307 75 CURVE SMOOTH"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"400 0 LINE SMOOTH",
|
"400 0 LINE SMOOTH",
|
||||||
"427 0 OFFCURVE",
|
"427 0 OFFCURVE",
|
||||||
"445 10 OFFCURVE",
|
"445 10 OFFCURVE",
|
||||||
@ -101842,6 +101782,67 @@ nodes = (
|
|||||||
"883 -5 OFFCURVE",
|
"883 -5 OFFCURVE",
|
||||||
"901 3 CURVE SMOOTH"
|
"901 3 CURVE SMOOTH"
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"754 75 LINE SMOOTH",
|
||||||
|
"833 75 OFFCURVE",
|
||||||
|
"903 91 OFFCURVE",
|
||||||
|
"957 125 CURVE",
|
||||||
|
"1033 131 LINE",
|
||||||
|
"990 190 LINE",
|
||||||
|
"1074 203 LINE",
|
||||||
|
"1018 253 LINE",
|
||||||
|
"1095 284 LINE",
|
||||||
|
"1030 326 LINE",
|
||||||
|
"1104 360 LINE",
|
||||||
|
"1032 400 LINE",
|
||||||
|
"1101 440 LINE",
|
||||||
|
"1020 461 LINE",
|
||||||
|
"1075 516 LINE",
|
||||||
|
"987 514 LINE",
|
||||||
|
"1023 575 LINE",
|
||||||
|
"932 562 LINE",
|
||||||
|
"958 628 LINE",
|
||||||
|
"873 600 LINE",
|
||||||
|
"881 666 LINE",
|
||||||
|
"803 625 LINE",
|
||||||
|
"807 686 LINE",
|
||||||
|
"727 634 LINE",
|
||||||
|
"720 690 LINE",
|
||||||
|
"641 639 LINE",
|
||||||
|
"622 686 LINE",
|
||||||
|
"562 625 LINE",
|
||||||
|
"535 672 LINE",
|
||||||
|
"488 610 LINE",
|
||||||
|
"451 643 LINE",
|
||||||
|
"413 581 LINE",
|
||||||
|
"378 611 LINE",
|
||||||
|
"343 548 LINE",
|
||||||
|
"306 571 LINE",
|
||||||
|
"280 512 LINE",
|
||||||
|
"254 539 LINE",
|
||||||
|
"224 473 LINE",
|
||||||
|
"198 498 LINE",
|
||||||
|
"164 418 LINE",
|
||||||
|
"164 359 OFFCURVE",
|
||||||
|
"117 283 OFFCURVE",
|
||||||
|
"69 246 CURVE",
|
||||||
|
"66 247 OFFCURVE",
|
||||||
|
"62 248 OFFCURVE",
|
||||||
|
"58 248 CURVE SMOOTH",
|
||||||
|
"36 248 OFFCURVE",
|
||||||
|
"17 229 OFFCURVE",
|
||||||
|
"17 207 CURVE SMOOTH",
|
||||||
|
"17 185 OFFCURVE",
|
||||||
|
"36 166 OFFCURVE",
|
||||||
|
"58 166 CURVE SMOOTH",
|
||||||
|
"63 166 LINE",
|
||||||
|
"105 129 OFFCURVE",
|
||||||
|
"219 75 OFFCURVE",
|
||||||
|
"307 75 CURVE SMOOTH"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
width = 1130;
|
width = 1130;
|
||||||
|
Binary file not shown.
@ -99,7 +99,7 @@ name = vendorID;
|
|||||||
value = WEI;
|
value = WEI;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
date = "2018-11-14 10:39:57 +0000";
|
date = "2018-11-15 04:39:32 +0000";
|
||||||
designer = "Wei Huang";
|
designer = "Wei Huang";
|
||||||
designerURL = "http://wweeiihhuuaanngg@gmail.com";
|
designerURL = "http://wweeiihhuuaanngg@gmail.com";
|
||||||
familyName = "Work Sans";
|
familyName = "Work Sans";
|
||||||
|
162
sources/build.sh
162
sources/build.sh
@ -2,99 +2,103 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
### WIP macOS build script for Work Sans Upright and Italic VF, based on a build script by Mike LaGuttuta
|
### 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
|
# To add brace trick glyphs, define them in $BraceGlyphs variable, and export the VF from Glyphs App 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
|
# 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"
|
glyphsSource="WorkSans.glyphs WorkSans-Italic.glyphs"
|
||||||
VFname="WorkSans-VF"
|
|
||||||
GXname="WorkSansGX"
|
|
||||||
|
|
||||||
if [ "$1" == "Upright" ]; then
|
for i in $glyphsSource; do
|
||||||
# Setting which brace glyphs will get copied from the VF generated from glyphs app
|
|
||||||
BraceGlyphs="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
|
|
||||||
|
|
||||||
python tools/makeBuildGlyphsFile.py "${glyphsSource}" "$1"
|
if [ $i == "WorkSans.glyphs" ]; then
|
||||||
glyphsBuildSource=${glyphsSource/".glyphs"/"-build.glyphs"}
|
style="Upright"
|
||||||
|
VFname="WorkSans-VF"
|
||||||
|
GXname="WorkSansGX"
|
||||||
|
BraceGlyphs="a,ae,e,s"
|
||||||
|
elif [ $i == "WorkSans-Italic.glyphs" ]; then
|
||||||
|
style="Italic"
|
||||||
|
VFname="WorkSans-Italic-VF"
|
||||||
|
GXname="WorkSansItalicGX"
|
||||||
|
BraceGlyphs="ae,e,s"
|
||||||
|
fi
|
||||||
|
|
||||||
# Call fontmake to generate variable font
|
# Generat -build version of .glyphs files with bracket tricks enabled, also add extra OpenType code for featureVariation to work
|
||||||
echo "\tBuilding ${glyphsSource}.glyphs..."
|
python tools/makeBuildGlyphsFile.py "${i}"
|
||||||
fontmake -o variable -g $glyphsBuildSource
|
glyphsBuildSource=${i/".glyphs"/"-build.glyphs"}
|
||||||
echo "\t${VFname}.ttf generated"
|
|
||||||
|
|
||||||
# Clean up files
|
# Call fontmake to generate variable font
|
||||||
mv variable_ttf/${VFname}.ttf ${VFname}.ttf
|
echo "\tBuilding ${i}.glyphs..."
|
||||||
rm $glyphsBuildSource
|
fontmake -o variable -g $glyphsBuildSource
|
||||||
rm -rf master_ufo
|
echo "\t${VFname}.ttf generated"
|
||||||
rm -rf instance_ufo
|
|
||||||
rm -rf variable_ttf
|
|
||||||
|
|
||||||
ttx ${VFname}.ttf
|
# Clean up files
|
||||||
rm ${VFname}.ttf
|
mv variable_ttf/${VFname}.ttf ${VFname}.ttf
|
||||||
ttx ${GXname}.ttf
|
rm $glyphsBuildSource
|
||||||
mv ${GXname}.ttx tools/${GXname}.ttx
|
rm -rf master_ufo
|
||||||
|
rm -rf instance_ufo
|
||||||
|
rm -rf variable_ttf
|
||||||
|
|
||||||
# Copy brace glyphs from variable font generated from Glyphs App
|
ttx ${VFname}.ttf
|
||||||
# Run script to find and copy TTGlyph and glyphVariations elements from source file and copy into target file
|
rm ${VFname}.ttf
|
||||||
# Could probablh be done just with fonttools...
|
ttx ${GXname}.ttf
|
||||||
echo "\tAdding brace glyphs..."
|
mv ${GXname}.ttx tools/${GXname}.ttx
|
||||||
xml tr tools/replaceBraceGlyphs.xsl \
|
|
||||||
-s replacements=${GXname}.ttx \
|
|
||||||
-s replacenames=$BraceGlyphs \
|
|
||||||
${VFname}.ttx > ${VFname}-brace.ttx
|
|
||||||
|
|
||||||
# Clean up files
|
# Copy brace glyphs from variable font generated from Glyphs App
|
||||||
rm tools/${GXname}.ttx
|
# Run script to find and copy TTGlyph and glyphVariations elements from source file and copy into target file
|
||||||
rm ${VFname}.ttx
|
# Could probablh be done just with fonttools...
|
||||||
ttx ${VFname}-brace.ttx
|
echo "\tAdding brace glyphs..."
|
||||||
rm ${VFname}-brace.ttx
|
xml tr tools/replaceBraceGlyphs.xsl \
|
||||||
mv ${VFname}-brace.ttf ${VFname}.ttf
|
-s replacements=${GXname}.ttx \
|
||||||
|
-s replacenames=$BraceGlyphs \
|
||||||
|
${VFname}.ttx > ${VFname}-brace.ttx
|
||||||
|
|
||||||
# Add featureVariation for bracket trick glyphs
|
# Clean up files
|
||||||
echo "\tAdding bracket glyphs..."
|
rm tools/${GXname}.ttx
|
||||||
python tools/replaceBracketTrick.py ${VFname}.ttf "$1"
|
rm ${VFname}.ttx
|
||||||
mv ${VFname}-swap.ttf ${VFname}.ttf
|
ttx ${VFname}-brace.ttx
|
||||||
|
rm ${VFname}-brace.ttx
|
||||||
|
mv ${VFname}-brace.ttf ${VFname}.ttf
|
||||||
|
|
||||||
# Fix non-hinting, DSIG and GASP table
|
# Add featureVariation for bracket trick glyphs
|
||||||
gftools fix-nonhinting ${VFname}.ttf ${VFname}.ttf
|
echo "\tAdding bracket glyphs..."
|
||||||
gftools fix-gasp ${VFname}.ttf
|
python tools/replaceBracketTrick.py ${VFname}.ttf "$1"
|
||||||
echo "nonhinting, gasp fixed"
|
mv ${VFname}-swap.ttf ${VFname}.ttf
|
||||||
|
|
||||||
# Clean up files
|
# Fix non-hinting and GASP table
|
||||||
rm ${VFname}-backup-fonttools-prep-gasp.ttf
|
echo "\tFixing non-hinting and GASP table"
|
||||||
# rm ${GXname}.ttf
|
gftools fix-nonhinting ${VFname}.ttf ${VFname}.ttf
|
||||||
|
gftools fix-gasp ${VFname}.ttf
|
||||||
|
|
||||||
# # Fix VF Metadata
|
# Clean up files
|
||||||
# python tools/gftools-fix-vf-meta.py ${VFname}.ttf
|
rm ${VFname}-backup-fonttools-prep-gasp.ttf
|
||||||
# echo "vf-meta fixed"
|
rm ${GXname}.ttf
|
||||||
# # Clean up and rename VF
|
done
|
||||||
# rm ${VFname}.ttf
|
|
||||||
# mv ${VFname}.ttf.fix ${VFname}.ttf
|
|
||||||
|
# Fix VF Metadata
|
||||||
|
VFfonts=""
|
||||||
|
for i in *.ttf; do
|
||||||
|
VFfonts+="$i "
|
||||||
|
done
|
||||||
|
echo "\tFixing VF Family Metadata..."
|
||||||
|
python tools/gftools-fix-vf-meta.py $VFfonts
|
||||||
|
|
||||||
|
|
||||||
|
# Clean up VFs
|
||||||
|
for i in $VFfonts; do
|
||||||
|
rm "$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# Rename VFs
|
||||||
|
for i in *.fix; do
|
||||||
|
mv $i ${i/".ttf.fix"/".ttf"}
|
||||||
|
done
|
||||||
|
|
||||||
# # 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
|
# Fix DSIG
|
||||||
gftools fix-dsig --autofix ${VFname}.ttf
|
for i in *.ttf; do
|
||||||
|
echo "\tFixing DSIG $i..."
|
||||||
# if [ "$1" = "Italic" ]; then
|
# Fix DSIG
|
||||||
# # Rename *-ItalicItalic to -Italic
|
gftools fix-dsig --autofix "$i"
|
||||||
# for i in *.ttf; do
|
done
|
||||||
# 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
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
13
sources/test.sh
Normal file
13
sources/test.sh
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
glyphsSource="WorkSans.glyphs WorkSans-Italic.glyphs"
|
||||||
|
|
||||||
|
for i in $glyphsSource; do
|
||||||
|
if [ $i == "WorkSans.glyphs" ]; then
|
||||||
|
echo $i
|
||||||
|
elif [ $i == "WorkSans-Italic.glyphs" ]; then
|
||||||
|
echo $i
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
13
sources/test/fontbakery.sh
Normal file
13
sources/test/fontbakery.sh
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# for i in *.ttf; do
|
||||||
|
# fontbakery check-googlefonts "$i" --ghmarkdown $i-fontbakery-report.md
|
||||||
|
# echo "Processing $i"
|
||||||
|
# done
|
||||||
|
|
||||||
|
# fontbakery check-googlefonts "WorkSans-VF.ttf" --ghmarkdown WorkSans-VF-fontbakery-report.md
|
||||||
|
fontbakery check-googlefonts "WorkSans-Italic-VF.ttf" --ghmarkdown WorkSans-Italic-VF-fontbakery-report.md
|
||||||
|
|
||||||
|
## move font into folder of dist/, with timestamp, then fontbake the font
|
||||||
|
# python3 tools/distdate-and-fontbake.py ${VFname}.ttf
|
@ -11,7 +11,7 @@ file = sys.argv[1]
|
|||||||
font = GSFont(file)
|
font = GSFont(file)
|
||||||
print "\tPreparing %s" % file
|
print "\tPreparing %s" % file
|
||||||
|
|
||||||
# Glyphs to re-enable export, in the Glyphs App static fonts export these are not active but get swapped with a custom parameter, for the VFs though it needs to be exported
|
# List of Glyphs which should have export enabled - in the Glyphs App static fonts export these are not active but get swapped with a custom parameter, for the VFs though they needs to be exported
|
||||||
italicBracketGlyphs = [
|
italicBracketGlyphs = [
|
||||||
"cedi.rvrn",
|
"cedi.rvrn",
|
||||||
"colonsign.rvrn",
|
"colonsign.rvrn",
|
||||||
@ -62,11 +62,10 @@ for instance in font.instances:
|
|||||||
if deavtivateThisInstance == True:
|
if deavtivateThisInstance == True:
|
||||||
instance.active = 0
|
instance.active = 0
|
||||||
|
|
||||||
style = sys.argv[2]
|
if "Italic" in file:
|
||||||
if style == "Italic":
|
|
||||||
glyphsToActivateExport = italicBracketGlyphs
|
glyphsToActivateExport = italicBracketGlyphs
|
||||||
appendFeatureCode = italicFeaCode
|
appendFeatureCode = italicFeaCode
|
||||||
elif style == "Upright":
|
else:
|
||||||
glyphsToActivateExport = uprightBracketGlyphs
|
glyphsToActivateExport = uprightBracketGlyphs
|
||||||
appendFeatureCode = uprightFeaCode
|
appendFeatureCode = uprightFeaCode
|
||||||
|
|
||||||
|
100
sources/tools/old/buildOld2.sh
Normal file
100
sources/tools/old/buildOld2.sh
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
### 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="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
|
||||||
|
|
||||||
|
python tools/makeBuildGlyphsFile.py "${glyphsSource}" "$1"
|
||||||
|
glyphsBuildSource=${glyphsSource/".glyphs"/"-build.glyphs"}
|
||||||
|
|
||||||
|
# Call fontmake to generate variable font
|
||||||
|
echo "\tBuilding ${glyphsSource}.glyphs..."
|
||||||
|
fontmake -o variable -g $glyphsBuildSource
|
||||||
|
echo "\t${VFname}.ttf generated"
|
||||||
|
|
||||||
|
# Clean up files
|
||||||
|
mv variable_ttf/${VFname}.ttf ${VFname}.ttf
|
||||||
|
rm $glyphsBuildSource
|
||||||
|
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
|
||||||
|
# Could probablh be done just with fonttools...
|
||||||
|
echo "\tAdding brace glyphs..."
|
||||||
|
xml tr tools/replaceBraceGlyphs.xsl \
|
||||||
|
-s replacements=${GXname}.ttx \
|
||||||
|
-s replacenames=$BraceGlyphs \
|
||||||
|
${VFname}.ttx > ${VFname}-brace.ttx
|
||||||
|
|
||||||
|
# Clean up files
|
||||||
|
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
|
||||||
|
echo "\tAdding bracket glyphs..."
|
||||||
|
python tools/replaceBracketTrick.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, gasp fixed"
|
||||||
|
|
||||||
|
# Clean up files
|
||||||
|
rm ${VFname}-backup-fonttools-prep-gasp.ttf
|
||||||
|
# rm ${GXname}.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
|
30
sources/tools/old/test.sh
Normal file
30
sources/tools/old/test.sh
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Fix VF Metadata
|
||||||
|
VFfonts=""
|
||||||
|
for i in *.ttf; do
|
||||||
|
VFfonts+="$i "
|
||||||
|
done
|
||||||
|
echo "\tFixing VF Family Metadata..."
|
||||||
|
python tools/gftools-fix-vf-meta.py $VFfonts
|
||||||
|
|
||||||
|
|
||||||
|
# Clean up VFs
|
||||||
|
for i in $VFfonts; do
|
||||||
|
rm "$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# Rename VFs
|
||||||
|
for i in *.fix; do
|
||||||
|
mv $i ${i/".ttf.fix"/".ttf"}
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# Fix DSIG
|
||||||
|
for i in *.ttf; do
|
||||||
|
echo "\tFixing DSIG $i..."
|
||||||
|
# Fix DSIG
|
||||||
|
gftools fix-dsig --autofix "$i"
|
||||||
|
done
|
@ -7,10 +7,30 @@ from fontTools.ttLib import TTFont
|
|||||||
from fontTools.varLib.featureVars import addFeatureVariations
|
from fontTools.varLib.featureVars import addFeatureVariations
|
||||||
|
|
||||||
inputTTF = sys.argv[1]
|
inputTTF = sys.argv[1]
|
||||||
style = sys.argv[2]
|
# style = sys.argv[2]
|
||||||
|
|
||||||
f = TTFont(inputTTF)
|
f = TTFont(inputTTF)
|
||||||
if style == "Upright":
|
|
||||||
|
|
||||||
|
if "Italic" in inputTTF:
|
||||||
|
condSubst = [
|
||||||
|
# A list of (Region, Substitution) tuples.
|
||||||
|
([{"wght": (.8134, 1)}], {"uni20B5": "uni20B5.rvrn", # cedi
|
||||||
|
"cent": "cent.rvrn",
|
||||||
|
"dollar": "dollar.rvrn",
|
||||||
|
"uni20B2": "uni20B2.rvrn", # guarani
|
||||||
|
"dollar.tf": "dollar.tf.rvrn",
|
||||||
|
"cent.tf": "cent.tf.rvrn"}),
|
||||||
|
([{"wght": (0.6, 1)}], {"peseta": "peseta.rvrn",
|
||||||
|
"uni20A9": "uni20A9.rvrn", # won
|
||||||
|
"uni2761": "uni2761.rvrn", # curvedStemParagraphSignOrnament
|
||||||
|
"paragraph": "paragraph.rvrn"}), # won
|
||||||
|
([{"wght": (0.38, 1)}], {"uni20A6": "uni20A6.rvrn", # naira,
|
||||||
|
"colonmonetary": "colonmonetary.rvrn"}),
|
||||||
|
([{"wght": (0.18, 1)}], {"uni20B1": "uni20B1.rvrn"}) # peso
|
||||||
|
]
|
||||||
|
|
||||||
|
else:
|
||||||
condSubst = [
|
condSubst = [
|
||||||
# A list of (Region, Substitution) tuples.
|
# A list of (Region, Substitution) tuples.
|
||||||
([{"wght": (-.46, .18)}], {"uniF8FF": "uniF8FF.rvrn"}), # apple
|
([{"wght": (-.46, .18)}], {"uniF8FF": "uniF8FF.rvrn"}), # apple
|
||||||
@ -35,25 +55,6 @@ if style == "Upright":
|
|||||||
([{"wght": (0.178, 1)}], {"uni20B1": "uni20B1.rvrn"}) # peso
|
([{"wght": (0.178, 1)}], {"uni20B1": "uni20B1.rvrn"}) # peso
|
||||||
]
|
]
|
||||||
|
|
||||||
elif style == "Italic":
|
|
||||||
condSubst = [
|
|
||||||
# A list of (Region, Substitution) tuples.
|
|
||||||
([{"wght": (.8134, 1)}], {"uni20B5": "uni20B5.rvrn", # cedi
|
|
||||||
"cent": "cent.rvrn",
|
|
||||||
"dollar": "dollar.rvrn",
|
|
||||||
"uni20B2": "uni20B2.rvrn", # guarani
|
|
||||||
"dollar.tf": "dollar.tf.rvrn",
|
|
||||||
"cent.tf": "cent.tf.rvrn"}),
|
|
||||||
([{"wght": (0.6, 1)}], {"peseta": "peseta.rvrn",
|
|
||||||
"uni20A9": "uni20A9.rvrn", # won
|
|
||||||
"uni2761": "uni2761.rvrn", # curvedStemParagraphSignOrnament
|
|
||||||
"paragraph": "paragraph.rvrn"}), # won
|
|
||||||
([{"wght": (0.38, 1)}], {"uni20A6": "uni20A6.rvrn", # naira,
|
|
||||||
"colonmonetary": "colonmonetary.rvrn"}),
|
|
||||||
([{"wght": (0.18, 1)}], {"uni20B1": "uni20B1.rvrn"}) # peso
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
addFeatureVariations(f, condSubst)
|
addFeatureVariations(f, condSubst)
|
||||||
|
|
||||||
outputTTF = inputTTF.replace('.ttf', '-swap.ttf')
|
outputTTF = inputTTF.replace('.ttf', '-swap.ttf')
|
||||||
|
Loading…
Reference in New Issue
Block a user