Updated build process
@ -3,8 +3,8 @@
|
|||||||
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",
|
||||||
"Done:\012/apple.001 \012/cedi/cedi.rvrn ¢/cent.rvrn/colonsign/colonsign.136_230 $/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.136_230",
|
";¡¿/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"
|
||||||
);
|
);
|
||||||
classes = (
|
classes = (
|
||||||
@ -79,7 +79,7 @@ name = vendorID;
|
|||||||
value = WEI;
|
value = WEI;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
date = "2018-11-09 06:50:14 +0000";
|
date = "2018-11-14 10:39:40 +0000";
|
||||||
designer = "Wei Huang";
|
designer = "Wei Huang";
|
||||||
designerURL = "http://wweeiihhuuaanngg@gmail.com";
|
designerURL = "http://wweeiihhuuaanngg@gmail.com";
|
||||||
familyName = "Work Sans";
|
familyName = "Work Sans";
|
||||||
@ -121,7 +121,9 @@ feature tnum;
|
|||||||
feature onum;
|
feature onum;
|
||||||
feature case;
|
feature case;
|
||||||
feature zero;
|
feature zero;
|
||||||
|
feature ornm;
|
||||||
feature calt;
|
feature calt;
|
||||||
|
feature salt;
|
||||||
feature hist;
|
feature hist;
|
||||||
feature ss02;
|
feature ss02;
|
||||||
feature ss03;
|
feature ss03;
|
||||||
@ -184,6 +186,21 @@ name = locl;
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
automatic = 1;
|
automatic = 1;
|
||||||
|
code = "sub zero by zero.numr;
|
||||||
|
sub one by one.numr;
|
||||||
|
sub two by two.numr;
|
||||||
|
sub three by three.numr;
|
||||||
|
sub four by four.numr;
|
||||||
|
sub five by five.numr;
|
||||||
|
sub six by six.numr;
|
||||||
|
sub seven by seven.numr;
|
||||||
|
sub eight by eight.numr;
|
||||||
|
sub nine by nine.numr;
|
||||||
|
";
|
||||||
|
name = numr;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
automatic = 1;
|
||||||
code = "sub zero by zero.dnom;
|
code = "sub zero by zero.dnom;
|
||||||
sub one by one.dnom;
|
sub one by one.dnom;
|
||||||
sub two by two.dnom;
|
sub two by two.dnom;
|
||||||
@ -869,21 +886,6 @@ sub dagger by daggersuperior;
|
|||||||
name = sups;
|
name = sups;
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
automatic = 1;
|
|
||||||
code = "sub zero by zero.numr;
|
|
||||||
sub one by one.numr;
|
|
||||||
sub two by two.numr;
|
|
||||||
sub three by three.numr;
|
|
||||||
sub four by four.numr;
|
|
||||||
sub five by five.numr;
|
|
||||||
sub six by six.numr;
|
|
||||||
sub seven by seven.numr;
|
|
||||||
sub eight by eight.numr;
|
|
||||||
sub nine by nine.numr;
|
|
||||||
";
|
|
||||||
name = numr;
|
|
||||||
},
|
|
||||||
{
|
|
||||||
code = "sub one by one.sansSerifCircled;
|
code = "sub one by one.sansSerifCircled;
|
||||||
sub two by two.sansSerifCircled;
|
sub two by two.sansSerifCircled;
|
||||||
sub three by three.sansSerifCircled;
|
sub three by three.sansSerifCircled;
|
||||||
@ -88779,6 +88781,354 @@ rightKerningGroup = c;
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
export = 0;
|
export = 0;
|
||||||
|
glyphname = colonsign.rvrn;
|
||||||
|
layers = (
|
||||||
|
{
|
||||||
|
color = 5;
|
||||||
|
components = (
|
||||||
|
{
|
||||||
|
name = euro.part;
|
||||||
|
transform = "{1, 0, 0, 1, -55, 0}";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
layerId = "F97236B5-7CBD-4FD1-81B0-6670342ADB4E";
|
||||||
|
paths = (
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"164 56 LINE",
|
||||||
|
"91 -49 LINE",
|
||||||
|
"109 -49 LINE",
|
||||||
|
"174 44 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"115 137 LINE",
|
||||||
|
"-15 -49 LINE",
|
||||||
|
"3 -49 LINE",
|
||||||
|
"121 120 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"486 642 LINE",
|
||||||
|
"533 709 LINE",
|
||||||
|
"515 709 LINE",
|
||||||
|
"473 649 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"550 582 LINE",
|
||||||
|
"639 709 LINE",
|
||||||
|
"621 709 LINE",
|
||||||
|
"541 595 LINE"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
width = 590;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
associatedMasterId = "DBFAC7D3-9CB2-48DD-9F53-AD59A4BD1301";
|
||||||
|
background = {
|
||||||
|
components = (
|
||||||
|
{
|
||||||
|
name = euro.part;
|
||||||
|
transform = "{1, 0, 0, 1, -83, 0}";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
paths = (
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"562 843 LINE",
|
||||||
|
"551 720 LINE",
|
||||||
|
"340 720 LINE",
|
||||||
|
"493 847 LINE",
|
||||||
|
"4 -168 LINE",
|
||||||
|
"-23 -68 LINE",
|
||||||
|
"188 -68 LINE",
|
||||||
|
"89 -138 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"710 842 LINE",
|
||||||
|
"719 720 LINE",
|
||||||
|
"525 720 LINE",
|
||||||
|
"619 801 LINE",
|
||||||
|
"151 -169 LINE",
|
||||||
|
"123 -68 LINE",
|
||||||
|
"334 -68 LINE",
|
||||||
|
"168 -285 LINE"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
color = 3;
|
||||||
|
components = (
|
||||||
|
{
|
||||||
|
name = euro.part;
|
||||||
|
transform = "{1, 0, 0, 1, -83, 0}";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
layerId = "B04DB746-8680-40EB-966B-C426C7E49D78";
|
||||||
|
name = "Nov 7 18, 11:51";
|
||||||
|
paths = (
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"272 -68 LINE",
|
||||||
|
"651 720 LINE",
|
||||||
|
"580 720 LINE",
|
||||||
|
"200 -68 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"123 -68 LINE",
|
||||||
|
"503 720 LINE",
|
||||||
|
"432 720 LINE",
|
||||||
|
"52 -68 LINE"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
width = 603;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
color = 3;
|
||||||
|
components = (
|
||||||
|
{
|
||||||
|
name = euro.part;
|
||||||
|
transform = "{1, 0, 0, 1, -83, 0}";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
layerId = "DBFAC7D3-9CB2-48DD-9F53-AD59A4BD1301";
|
||||||
|
paths = (
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"257 50 LINE",
|
||||||
|
"200 -68 LINE",
|
||||||
|
"272 -68 LINE",
|
||||||
|
"322 37 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"146 126 LINE",
|
||||||
|
"52 -68 LINE",
|
||||||
|
"123 -68 LINE",
|
||||||
|
"194 78 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"463 636 LINE",
|
||||||
|
"503 720 LINE",
|
||||||
|
"432 720 LINE",
|
||||||
|
"399 651 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"563 538 LINE",
|
||||||
|
"651 720 LINE",
|
||||||
|
"580 720 LINE",
|
||||||
|
"519 594 LINE"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
width = 603;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
associatedMasterId = "EA77C764-8343-414A-A941-E69667BA8F3A";
|
||||||
|
background = {
|
||||||
|
paths = (
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"462 -10 OFFCURVE",
|
||||||
|
"575 50 OFFCURVE",
|
||||||
|
"658 168 CURVE",
|
||||||
|
"528 231 LINE",
|
||||||
|
"491 174 OFFCURVE",
|
||||||
|
"438 142 OFFCURVE",
|
||||||
|
"366 142 CURVE SMOOTH",
|
||||||
|
"238 142 OFFCURVE",
|
||||||
|
"207 202 OFFCURVE",
|
||||||
|
"234 320 CURVE SMOOTH",
|
||||||
|
"260 433 OFFCURVE",
|
||||||
|
"323 496 OFFCURVE",
|
||||||
|
"447 496 CURVE SMOOTH",
|
||||||
|
"500 496 OFFCURVE",
|
||||||
|
"551 470 OFFCURVE",
|
||||||
|
"540 402 CURVE",
|
||||||
|
"733 503 LINE",
|
||||||
|
"685 639 OFFCURVE",
|
||||||
|
"602 670 OFFCURVE",
|
||||||
|
"478 670 CURVE SMOOTH",
|
||||||
|
"270 670 OFFCURVE",
|
||||||
|
"113 545 OFFCURVE",
|
||||||
|
"63 330 CURVE SMOOTH",
|
||||||
|
"14 115 OFFCURVE",
|
||||||
|
"112 -10 OFFCURVE",
|
||||||
|
"320 -10 CURVE SMOOTH"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"103 -80 LINE",
|
||||||
|
"216 92 LINE",
|
||||||
|
"147 149 LINE",
|
||||||
|
"-2 -80 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"283 -80 LINE",
|
||||||
|
"376 67 LINE",
|
||||||
|
"276 75 LINE",
|
||||||
|
"178 -80 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"510 575 LINE",
|
||||||
|
"409 581 LINE",
|
||||||
|
"149 152 LINE",
|
||||||
|
"218 95 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"646 504 LINE",
|
||||||
|
"577 561 LINE",
|
||||||
|
"282 78 LINE",
|
||||||
|
"382 70 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"608 740 LINE",
|
||||||
|
"503 740 LINE",
|
||||||
|
"403 581 LINE",
|
||||||
|
"504 575 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"788 740 LINE",
|
||||||
|
"683 740 LINE",
|
||||||
|
"571 561 LINE",
|
||||||
|
"640 504 LINE"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
color = 5;
|
||||||
|
components = (
|
||||||
|
{
|
||||||
|
name = euro.part;
|
||||||
|
transform = "{1, 0, 0, 0.97059, -32, 10}";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
layerId = "1EA06B81-CB83-418F-84F5-A4F5F2993A74";
|
||||||
|
name = "Nov 7 18, 11:51";
|
||||||
|
paths = (
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"331 -80 LINE",
|
||||||
|
"750 740 LINE",
|
||||||
|
"631 740 LINE",
|
||||||
|
"212 -80 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"161 -80 LINE",
|
||||||
|
"580 740 LINE",
|
||||||
|
"461 740 LINE",
|
||||||
|
"42 -80 LINE"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
width = 658;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
color = 5;
|
||||||
|
components = (
|
||||||
|
{
|
||||||
|
name = euro.part;
|
||||||
|
transform = "{1, 0, 0, 0.97059, -32, 10}";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
layerId = "EA77C764-8343-414A-A941-E69667BA8F3A";
|
||||||
|
paths = (
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"315 121 LINE",
|
||||||
|
"212 -80 LINE",
|
||||||
|
"331 -80 LINE",
|
||||||
|
"418 90 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"167 164 LINE",
|
||||||
|
"42 -80 LINE",
|
||||||
|
"161 -80 LINE",
|
||||||
|
"270 134 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"484 552 LINE",
|
||||||
|
"580 740 LINE",
|
||||||
|
"461 740 LINE",
|
||||||
|
"393 607 LINE"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
closed = 1;
|
||||||
|
nodes = (
|
||||||
|
"614 473 LINE",
|
||||||
|
"750 740 LINE",
|
||||||
|
"631 740 LINE",
|
||||||
|
"523 528 LINE"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
width = 658;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
leftKerningGroup = O;
|
||||||
|
leftMetricsKey = O;
|
||||||
|
rightKerningGroup = C;
|
||||||
|
rightMetricsKey = C;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
export = 0;
|
||||||
glyphname = dollar.rvrn;
|
glyphname = dollar.rvrn;
|
||||||
layers = (
|
layers = (
|
||||||
{
|
{
|
||||||
@ -106618,354 +106968,6 @@ width = 486;
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
export = 0;
|
|
||||||
glyphname = colonsign.136_230;
|
|
||||||
layers = (
|
|
||||||
{
|
|
||||||
color = 5;
|
|
||||||
components = (
|
|
||||||
{
|
|
||||||
name = euro.part;
|
|
||||||
transform = "{1, 0, 0, 1, -55, 0}";
|
|
||||||
}
|
|
||||||
);
|
|
||||||
layerId = "F97236B5-7CBD-4FD1-81B0-6670342ADB4E";
|
|
||||||
paths = (
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"164 56 LINE",
|
|
||||||
"91 -49 LINE",
|
|
||||||
"109 -49 LINE",
|
|
||||||
"174 44 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"115 137 LINE",
|
|
||||||
"-15 -49 LINE",
|
|
||||||
"3 -49 LINE",
|
|
||||||
"121 120 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"486 642 LINE",
|
|
||||||
"533 709 LINE",
|
|
||||||
"515 709 LINE",
|
|
||||||
"473 649 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"550 582 LINE",
|
|
||||||
"639 709 LINE",
|
|
||||||
"621 709 LINE",
|
|
||||||
"541 595 LINE"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
width = 590;
|
|
||||||
},
|
|
||||||
{
|
|
||||||
associatedMasterId = "DBFAC7D3-9CB2-48DD-9F53-AD59A4BD1301";
|
|
||||||
background = {
|
|
||||||
components = (
|
|
||||||
{
|
|
||||||
name = euro.part;
|
|
||||||
transform = "{1, 0, 0, 1, -83, 0}";
|
|
||||||
}
|
|
||||||
);
|
|
||||||
paths = (
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"562 843 LINE",
|
|
||||||
"551 720 LINE",
|
|
||||||
"340 720 LINE",
|
|
||||||
"493 847 LINE",
|
|
||||||
"4 -168 LINE",
|
|
||||||
"-23 -68 LINE",
|
|
||||||
"188 -68 LINE",
|
|
||||||
"89 -138 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"710 842 LINE",
|
|
||||||
"719 720 LINE",
|
|
||||||
"525 720 LINE",
|
|
||||||
"619 801 LINE",
|
|
||||||
"151 -169 LINE",
|
|
||||||
"123 -68 LINE",
|
|
||||||
"334 -68 LINE",
|
|
||||||
"168 -285 LINE"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
|
||||||
color = 3;
|
|
||||||
components = (
|
|
||||||
{
|
|
||||||
name = euro.part;
|
|
||||||
transform = "{1, 0, 0, 1, -83, 0}";
|
|
||||||
}
|
|
||||||
);
|
|
||||||
layerId = "B04DB746-8680-40EB-966B-C426C7E49D78";
|
|
||||||
name = "Nov 7 18, 11:51";
|
|
||||||
paths = (
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"272 -68 LINE",
|
|
||||||
"651 720 LINE",
|
|
||||||
"580 720 LINE",
|
|
||||||
"200 -68 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"123 -68 LINE",
|
|
||||||
"503 720 LINE",
|
|
||||||
"432 720 LINE",
|
|
||||||
"52 -68 LINE"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
width = 603;
|
|
||||||
},
|
|
||||||
{
|
|
||||||
color = 3;
|
|
||||||
components = (
|
|
||||||
{
|
|
||||||
name = euro.part;
|
|
||||||
transform = "{1, 0, 0, 1, -83, 0}";
|
|
||||||
}
|
|
||||||
);
|
|
||||||
layerId = "DBFAC7D3-9CB2-48DD-9F53-AD59A4BD1301";
|
|
||||||
paths = (
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"257 50 LINE",
|
|
||||||
"200 -68 LINE",
|
|
||||||
"272 -68 LINE",
|
|
||||||
"322 37 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"146 126 LINE",
|
|
||||||
"52 -68 LINE",
|
|
||||||
"123 -68 LINE",
|
|
||||||
"194 78 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"463 636 LINE",
|
|
||||||
"503 720 LINE",
|
|
||||||
"432 720 LINE",
|
|
||||||
"399 651 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"563 538 LINE",
|
|
||||||
"651 720 LINE",
|
|
||||||
"580 720 LINE",
|
|
||||||
"519 594 LINE"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
width = 603;
|
|
||||||
},
|
|
||||||
{
|
|
||||||
associatedMasterId = "EA77C764-8343-414A-A941-E69667BA8F3A";
|
|
||||||
background = {
|
|
||||||
paths = (
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"462 -10 OFFCURVE",
|
|
||||||
"575 50 OFFCURVE",
|
|
||||||
"658 168 CURVE",
|
|
||||||
"528 231 LINE",
|
|
||||||
"491 174 OFFCURVE",
|
|
||||||
"438 142 OFFCURVE",
|
|
||||||
"366 142 CURVE SMOOTH",
|
|
||||||
"238 142 OFFCURVE",
|
|
||||||
"207 202 OFFCURVE",
|
|
||||||
"234 320 CURVE SMOOTH",
|
|
||||||
"260 433 OFFCURVE",
|
|
||||||
"323 496 OFFCURVE",
|
|
||||||
"447 496 CURVE SMOOTH",
|
|
||||||
"500 496 OFFCURVE",
|
|
||||||
"551 470 OFFCURVE",
|
|
||||||
"540 402 CURVE",
|
|
||||||
"733 503 LINE",
|
|
||||||
"685 639 OFFCURVE",
|
|
||||||
"602 670 OFFCURVE",
|
|
||||||
"478 670 CURVE SMOOTH",
|
|
||||||
"270 670 OFFCURVE",
|
|
||||||
"113 545 OFFCURVE",
|
|
||||||
"63 330 CURVE SMOOTH",
|
|
||||||
"14 115 OFFCURVE",
|
|
||||||
"112 -10 OFFCURVE",
|
|
||||||
"320 -10 CURVE SMOOTH"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"103 -80 LINE",
|
|
||||||
"216 92 LINE",
|
|
||||||
"147 149 LINE",
|
|
||||||
"-2 -80 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"283 -80 LINE",
|
|
||||||
"376 67 LINE",
|
|
||||||
"276 75 LINE",
|
|
||||||
"178 -80 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"510 575 LINE",
|
|
||||||
"409 581 LINE",
|
|
||||||
"149 152 LINE",
|
|
||||||
"218 95 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"646 504 LINE",
|
|
||||||
"577 561 LINE",
|
|
||||||
"282 78 LINE",
|
|
||||||
"382 70 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"608 740 LINE",
|
|
||||||
"503 740 LINE",
|
|
||||||
"403 581 LINE",
|
|
||||||
"504 575 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"788 740 LINE",
|
|
||||||
"683 740 LINE",
|
|
||||||
"571 561 LINE",
|
|
||||||
"640 504 LINE"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
|
||||||
color = 5;
|
|
||||||
components = (
|
|
||||||
{
|
|
||||||
name = euro.part;
|
|
||||||
transform = "{1, 0, 0, 0.97059, -32, 10}";
|
|
||||||
}
|
|
||||||
);
|
|
||||||
layerId = "1EA06B81-CB83-418F-84F5-A4F5F2993A74";
|
|
||||||
name = "Nov 7 18, 11:51";
|
|
||||||
paths = (
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"331 -80 LINE",
|
|
||||||
"750 740 LINE",
|
|
||||||
"631 740 LINE",
|
|
||||||
"212 -80 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"161 -80 LINE",
|
|
||||||
"580 740 LINE",
|
|
||||||
"461 740 LINE",
|
|
||||||
"42 -80 LINE"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
width = 658;
|
|
||||||
},
|
|
||||||
{
|
|
||||||
color = 5;
|
|
||||||
components = (
|
|
||||||
{
|
|
||||||
name = euro.part;
|
|
||||||
transform = "{1, 0, 0, 0.97059, -32, 10}";
|
|
||||||
}
|
|
||||||
);
|
|
||||||
layerId = "EA77C764-8343-414A-A941-E69667BA8F3A";
|
|
||||||
paths = (
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"315 121 LINE",
|
|
||||||
"212 -80 LINE",
|
|
||||||
"331 -80 LINE",
|
|
||||||
"418 90 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"167 164 LINE",
|
|
||||||
"42 -80 LINE",
|
|
||||||
"161 -80 LINE",
|
|
||||||
"270 134 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"484 552 LINE",
|
|
||||||
"580 740 LINE",
|
|
||||||
"461 740 LINE",
|
|
||||||
"393 607 LINE"
|
|
||||||
);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
closed = 1;
|
|
||||||
nodes = (
|
|
||||||
"614 473 LINE",
|
|
||||||
"750 740 LINE",
|
|
||||||
"631 740 LINE",
|
|
||||||
"523 528 LINE"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
width = 658;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
leftKerningGroup = O;
|
|
||||||
leftMetricsKey = O;
|
|
||||||
rightKerningGroup = C;
|
|
||||||
rightMetricsKey = C;
|
|
||||||
},
|
|
||||||
{
|
|
||||||
glyphname = apostrophemod;
|
glyphname = apostrophemod;
|
||||||
layers = (
|
layers = (
|
||||||
{
|
{
|
||||||
|
@ -43,6 +43,7 @@ mv ${GXname}.ttx tools/${GXname}.ttx
|
|||||||
|
|
||||||
# Copy brace glyphs from variable font generated from Glyphs App
|
# 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
|
# 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..."
|
echo "\tAdding brace glyphs..."
|
||||||
xml tr tools/replaceBraceGlyphs.xsl \
|
xml tr tools/replaceBraceGlyphs.xsl \
|
||||||
-s replacements=${GXname}.ttx \
|
-s replacements=${GXname}.ttx \
|
||||||
|
BIN
sources/fonts/Desktop OTF/WorkSans-Black.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-BlackItalic.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-Bold.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-BoldItalic.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-ExtraBold.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-ExtraBoldItalic.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-ExtraLight.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-ExtraLightItalic.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-Italic.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-Light.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-LightItalic.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-Medium.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-MediumItalic.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-Regular.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-SemiBold.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-SemiBoldItalic.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-Thin.otf
Normal file
BIN
sources/fonts/Desktop OTF/WorkSans-ThinItalic.otf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-Black.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-BlackItalic.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-Bold.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-BoldItalic.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-ExtraBold.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-ExtraBoldItalic.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-ExtraLight.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-ExtraLightItalic.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-Italic.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-Light.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-LightItalic.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-Medium.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-MediumItalic.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-Regular.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-SemiBold.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-SemiBoldItalic.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-Thin.ttf
Normal file
BIN
sources/fonts/Web TTF/WorkSans-ThinItalic.ttf
Normal file
@ -8,7 +8,7 @@ body {
|
|||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
font-family: 'Work Sans';/* 'AdobeBlank';*/
|
font-family: 'Work Sans';/* 'AdobeBlank';*/
|
||||||
font-weight: 900;
|
font-weight: 400;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
margin: 4px 8px;
|
margin: 4px 8px;
|
||||||
font-feature-settings:"kern" 1, "liga" 1;
|
font-feature-settings:"kern" 1, "liga" 1;
|
||||||
@ -19,7 +19,7 @@ p {
|
|||||||
margin: 0 0 3em;
|
margin: 0 0 3em;
|
||||||
}
|
}
|
||||||
b {
|
b {
|
||||||
font-weight:900;
|
font-weight:600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fourteen {font-size:14px;line-height:1.2}
|
.fourteen {font-size:14px;line-height:1.2}
|
||||||
|
@ -97,7 +97,7 @@ html {
|
|||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Work Sans';
|
font-family: 'Work Sans';
|
||||||
src: url('WorkSans-RegularItalic.ttf') format('truetype');
|
src: url('WorkSans-Italic.ttf') format('truetype');
|
||||||
font-weight:400;
|
font-weight:400;
|
||||||
font-style:italic;
|
font-style:italic;
|
||||||
}
|
}
|
||||||
|
BIN
sources/fonts/Web Variable TTF/WorkSans-Italic-VF.ttf
Normal file
BIN
sources/fonts/Web Variable TTF/WorkSans-VF.ttf
Normal file
14
sources/post-build.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
VFname="WorkSans-VF"
|
||||||
|
VFItalicname="WorkSans-Italic-VF"
|
||||||
|
|
||||||
|
# Fix VF Metadata
|
||||||
|
echo "\tFixing VF Family Metadata..."
|
||||||
|
python tools/gftools-fix-vf-meta.py ${VFname}.ttf ${VFItalicname}.ttf
|
||||||
|
# Clean up and rename VF
|
||||||
|
rm ${VFname}.ttf
|
||||||
|
rm ${VFItalicname}.ttf
|
||||||
|
mv ${VFname}.ttf.fix ${VFname}.ttf
|
||||||
|
mv ${VFItalicname}.ttf.fix ${VFItalicname}.ttf
|
BIN
sources/test/Italic-VF/WorkSans-Italic-VF-fontbakery-report.md
Normal file
114688
sources/test/Italic-VF/WorkSans-Italic-VF.ttf.report.html
Normal file
28561
sources/test/Italic-VF/WorkSans-Italic-VF.ttf.report.xml
Normal file
322
sources/test/Italic-VF/fval.xsl
Normal file
@ -0,0 +1,322 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||||
|
|
||||||
|
<xsl:template match="/">
|
||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<script language="JavaScript">
|
||||||
|
function cbInfo_onclick()
|
||||||
|
{
|
||||||
|
display_row(document.FORM1.cbInfo, "class_I");
|
||||||
|
}
|
||||||
|
function cbPass_onclick()
|
||||||
|
{
|
||||||
|
display_row(document.FORM1.cbPass, "class_P");
|
||||||
|
}
|
||||||
|
function cbWarn_onclick()
|
||||||
|
{
|
||||||
|
display_row(document.FORM1.cbWarn, "class_W");
|
||||||
|
}
|
||||||
|
function cbErr_onclick()
|
||||||
|
{
|
||||||
|
display_row(document.FORM1.cbErr, "class_E");
|
||||||
|
}
|
||||||
|
function display_table(table_id)
|
||||||
|
{
|
||||||
|
table_id.style.display = (table_id.style.display == "none" ) ? "" : "none";
|
||||||
|
}
|
||||||
|
function display_row(cb_id, row_classname)
|
||||||
|
{
|
||||||
|
if (typeof document.all != "undefined")
|
||||||
|
{
|
||||||
|
rowColl = document.all.tags("TR");
|
||||||
|
for (i=0; i!=rowColl.length; i++) {
|
||||||
|
if (rowColl(i).className == row_classname)
|
||||||
|
{
|
||||||
|
if (cb_id.checked)
|
||||||
|
{
|
||||||
|
rowColl(i).style.display = "";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rowColl(i).style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rowColl = document.getElementsByClassName(row_classname);
|
||||||
|
for (i=0; i!=rowColl.length; i++) {
|
||||||
|
if (cb_id.checked)
|
||||||
|
{
|
||||||
|
rowColl[i].style.display = "";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rowColl[i].style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<STYLE>
|
||||||
|
body {font-family: Trebuchet MS;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
TABLE {font-family: Trebuchet MS;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
H2 {font-family: Trebuchet MS;
|
||||||
|
font-weight:bold;
|
||||||
|
font-size: 14pt;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
TR {background-color: #f0f0f0;
|
||||||
|
}
|
||||||
|
TR.caption {background-color: #cccccc}
|
||||||
|
TR.class_A {background-color: #000000; color: #ffff00}
|
||||||
|
TR.class_E {background-color: #ff9999}
|
||||||
|
TR.class_W {background-color: #ffff99}
|
||||||
|
TR.class_P {background-color: #99ff99}
|
||||||
|
TR.class_I {background-color: #ccffff}
|
||||||
|
</STYLE>
|
||||||
|
</HEAD>
|
||||||
|
<BODY>
|
||||||
|
|
||||||
|
<FORM NAME="FORM1">
|
||||||
|
<H2>
|
||||||
|
Font Validator Report -
|
||||||
|
<xsl:value-of select="FontValidatorReport/FontFile/@FileName"/>
|
||||||
|
</H2>
|
||||||
|
|
||||||
|
<TABLE WIDTH="450"><TR>
|
||||||
|
<TD BGCOLOR="#ffffff" WIDTH="50">
|
||||||
|
Show
|
||||||
|
</TD>
|
||||||
|
|
||||||
|
<TD BGCOLOR="#ccffff" WIDTH="100">
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cbInfo' type='checkbox' name='cbInfo' onclick='cbInfo_onclick()'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked></xsl:text>
|
||||||
|
Info
|
||||||
|
</TD>
|
||||||
|
|
||||||
|
<TD BGCOLOR="#99ff99" WIDTH="100">
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cbPass' type='checkbox' name='cbPass' onclick='cbPass_onclick()'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
Pass
|
||||||
|
</TD>
|
||||||
|
|
||||||
|
<TD BGCOLOR="#ffff99" WIDTH="100">
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cbWarn' type='checkbox' name='cbWarn' onclick='cbWarn_onclick()'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
Warning
|
||||||
|
</TD>
|
||||||
|
|
||||||
|
<TD BGCOLOR="#ff9999" WIDTH="100">
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cbErr' type='checkbox' name='cbErr' onclick='cbErr_onclick()'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
Error
|
||||||
|
</TD>
|
||||||
|
|
||||||
|
</TR></TABLE>
|
||||||
|
|
||||||
|
</FORM>
|
||||||
|
|
||||||
|
|
||||||
|
<TABLE WIDTH="100%">
|
||||||
|
<TR>
|
||||||
|
<TD WIDTH="15%"><I>Run DateTime: </I></TD>
|
||||||
|
<TD><xsl:value-of select="FontValidatorReport/@RunDateTime"/></TD>
|
||||||
|
</TR>
|
||||||
|
<TR>
|
||||||
|
<TD WIDTH="15%"><I>Machine Name: </I></TD>
|
||||||
|
<TD><xsl:value-of select="FontValidatorReport/@MachineName"/></TD>
|
||||||
|
</TR>
|
||||||
|
<TR>
|
||||||
|
<TD WIDTH="15%"><I>Font file: </I></TD>
|
||||||
|
<TD><xsl:value-of select="FontValidatorReport/FontFile/@FileNameAndPath"/></TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>
|
||||||
|
|
||||||
|
<TABLE WIDTH="100%">
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="FontValidatorReport/FontFile/Report"/><BR/>
|
||||||
|
</TABLE>
|
||||||
|
|
||||||
|
<xsl:for-each select="FontValidatorReport/FontFile/Font">
|
||||||
|
|
||||||
|
<HR></HR><BR/>
|
||||||
|
|
||||||
|
<P><B><I>Index: </I><xsl:value-of select="@FontIndex"/>, <xsl:value-of select="FontInfo/@FontName"/>, <xsl:value-of select="FontInfo/@FontVersion"/>, <xsl:value-of select="FontInfo/@FontDate"/></B></P>
|
||||||
|
<BR/>
|
||||||
|
|
||||||
|
<TABLE WIDTH="100%">
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="25%"><I>Table Tag</I></TD>
|
||||||
|
<TD WIDTH="25%"><I>Table Offset</I></TD>
|
||||||
|
<TD WIDTH="25%"><I>Table Length</I></TD>
|
||||||
|
<TD WIDTH="25%"><I>Table Checksum</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:for-each select="TableEntry">
|
||||||
|
<TR>
|
||||||
|
<TD>
|
||||||
|
|
||||||
|
<xsl:text disable-output-escaping="yes"><A</xsl:text>
|
||||||
|
HREF='#<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<xsl:value-of select="@Tag"/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></A></xsl:text>
|
||||||
|
</TD>
|
||||||
|
<TD><xsl:value-of select="@Offset"/></TD>
|
||||||
|
<TD><xsl:value-of select="@Length"/></TD>
|
||||||
|
<TD><xsl:value-of select="@Checksum"/></TD>
|
||||||
|
</TR>
|
||||||
|
</xsl:for-each>
|
||||||
|
</TABLE>
|
||||||
|
<BR/>
|
||||||
|
|
||||||
|
<B>General Font Information</B>
|
||||||
|
<TABLE WIDTH="100%">
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="Report"/><BR/>
|
||||||
|
</TABLE><BR/>
|
||||||
|
|
||||||
|
<xsl:for-each select="TableEntry">
|
||||||
|
<BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' type='checkbox' name='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' onclick='display_table(table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>)'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
<B>
|
||||||
|
<xsl:text disable-output-escaping="yes"><A</xsl:text>
|
||||||
|
NAME='<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<xsl:value-of select="@Tag"/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></A></xsl:text>
|
||||||
|
</B><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><TABLE</xsl:text>
|
||||||
|
WIDTH='100%' id='table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="Report"/><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></TABLE></xsl:text>
|
||||||
|
<BR/>
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:for-each select="RasterizationTest">
|
||||||
|
<BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' type='checkbox' name='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' onclick='display_table(table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>)'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
<B>Rasterization Test</B><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><TABLE</xsl:text>
|
||||||
|
WIDTH='100%' id='table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="Report"/><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></TABLE></xsl:text>
|
||||||
|
<BR/>
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:for-each select="RasterizationTest_BW">
|
||||||
|
<BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' type='checkbox' name='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' onclick='display_table(table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>)'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
<B>Rasterization Test, BW</B><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><TABLE</xsl:text>
|
||||||
|
WIDTH='100%' id='table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="Report"/><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></TABLE></xsl:text>
|
||||||
|
<BR/>
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:for-each select="RasterizationTest_Grayscale">
|
||||||
|
<BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' type='checkbox' name='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' onclick='display_table(table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>)'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
<B>Rasterization Test, Grayscale</B><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><TABLE</xsl:text>
|
||||||
|
WIDTH='100%' id='table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="Report"/><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></TABLE></xsl:text>
|
||||||
|
<BR/>
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:for-each select="RasterizationTest_ClearType">
|
||||||
|
<BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' type='checkbox' name='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' onclick='display_table(table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>)'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
<B>Rasterization Test, ClearType</B><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><TABLE</xsl:text>
|
||||||
|
WIDTH='100%' id='table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="Report"/><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></TABLE></xsl:text>
|
||||||
|
<BR/>
|
||||||
|
</xsl:for-each>
|
||||||
|
|
||||||
|
</xsl:for-each>
|
||||||
|
|
||||||
|
<BR/>
|
||||||
|
<P>
|
||||||
|
Note: The Font Validator's helpfile contains detailed information about each error message.
|
||||||
|
The latest OpenType specification is available at the
|
||||||
|
<A TARGET="TOP" HREF="http://www.microsoft.com/typography">Microsoft Typography website</A>.
|
||||||
|
</P>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<xsl:template match = "Report">
|
||||||
|
|
||||||
|
<xsl:text disable-output-escaping="yes"><TR</xsl:text>
|
||||||
|
class='class_<xsl:value-of select="@ErrorType"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<TD VALIGN="TOP"> <xsl:value-of select="@ErrorCode"/> </TD>
|
||||||
|
<TD VALIGN="TOP"> <xsl:value-of select="@Message"/> </TD>
|
||||||
|
<TD VALIGN="TOP"> <xsl:value-of select="@Details"/> </TD>
|
||||||
|
<xsl:text disable-output-escaping="yes"></TR></xsl:text>
|
||||||
|
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
1120
sources/test/Upright-VF/WorkSans-VF-fontbakery-report.md
Normal file
124525
sources/test/Upright-VF/WorkSans-VF.ttf.report.html
Normal file
31023
sources/test/Upright-VF/WorkSans-VF.ttf.report.xml
Normal file
322
sources/test/Upright-VF/fval.xsl
Normal file
@ -0,0 +1,322 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||||
|
|
||||||
|
<xsl:template match="/">
|
||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<script language="JavaScript">
|
||||||
|
function cbInfo_onclick()
|
||||||
|
{
|
||||||
|
display_row(document.FORM1.cbInfo, "class_I");
|
||||||
|
}
|
||||||
|
function cbPass_onclick()
|
||||||
|
{
|
||||||
|
display_row(document.FORM1.cbPass, "class_P");
|
||||||
|
}
|
||||||
|
function cbWarn_onclick()
|
||||||
|
{
|
||||||
|
display_row(document.FORM1.cbWarn, "class_W");
|
||||||
|
}
|
||||||
|
function cbErr_onclick()
|
||||||
|
{
|
||||||
|
display_row(document.FORM1.cbErr, "class_E");
|
||||||
|
}
|
||||||
|
function display_table(table_id)
|
||||||
|
{
|
||||||
|
table_id.style.display = (table_id.style.display == "none" ) ? "" : "none";
|
||||||
|
}
|
||||||
|
function display_row(cb_id, row_classname)
|
||||||
|
{
|
||||||
|
if (typeof document.all != "undefined")
|
||||||
|
{
|
||||||
|
rowColl = document.all.tags("TR");
|
||||||
|
for (i=0; i!=rowColl.length; i++) {
|
||||||
|
if (rowColl(i).className == row_classname)
|
||||||
|
{
|
||||||
|
if (cb_id.checked)
|
||||||
|
{
|
||||||
|
rowColl(i).style.display = "";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rowColl(i).style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rowColl = document.getElementsByClassName(row_classname);
|
||||||
|
for (i=0; i!=rowColl.length; i++) {
|
||||||
|
if (cb_id.checked)
|
||||||
|
{
|
||||||
|
rowColl[i].style.display = "";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rowColl[i].style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<STYLE>
|
||||||
|
body {font-family: Trebuchet MS;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
TABLE {font-family: Trebuchet MS;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
H2 {font-family: Trebuchet MS;
|
||||||
|
font-weight:bold;
|
||||||
|
font-size: 14pt;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
TR {background-color: #f0f0f0;
|
||||||
|
}
|
||||||
|
TR.caption {background-color: #cccccc}
|
||||||
|
TR.class_A {background-color: #000000; color: #ffff00}
|
||||||
|
TR.class_E {background-color: #ff9999}
|
||||||
|
TR.class_W {background-color: #ffff99}
|
||||||
|
TR.class_P {background-color: #99ff99}
|
||||||
|
TR.class_I {background-color: #ccffff}
|
||||||
|
</STYLE>
|
||||||
|
</HEAD>
|
||||||
|
<BODY>
|
||||||
|
|
||||||
|
<FORM NAME="FORM1">
|
||||||
|
<H2>
|
||||||
|
Font Validator Report -
|
||||||
|
<xsl:value-of select="FontValidatorReport/FontFile/@FileName"/>
|
||||||
|
</H2>
|
||||||
|
|
||||||
|
<TABLE WIDTH="450"><TR>
|
||||||
|
<TD BGCOLOR="#ffffff" WIDTH="50">
|
||||||
|
Show
|
||||||
|
</TD>
|
||||||
|
|
||||||
|
<TD BGCOLOR="#ccffff" WIDTH="100">
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cbInfo' type='checkbox' name='cbInfo' onclick='cbInfo_onclick()'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked></xsl:text>
|
||||||
|
Info
|
||||||
|
</TD>
|
||||||
|
|
||||||
|
<TD BGCOLOR="#99ff99" WIDTH="100">
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cbPass' type='checkbox' name='cbPass' onclick='cbPass_onclick()'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
Pass
|
||||||
|
</TD>
|
||||||
|
|
||||||
|
<TD BGCOLOR="#ffff99" WIDTH="100">
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cbWarn' type='checkbox' name='cbWarn' onclick='cbWarn_onclick()'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
Warning
|
||||||
|
</TD>
|
||||||
|
|
||||||
|
<TD BGCOLOR="#ff9999" WIDTH="100">
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cbErr' type='checkbox' name='cbErr' onclick='cbErr_onclick()'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
Error
|
||||||
|
</TD>
|
||||||
|
|
||||||
|
</TR></TABLE>
|
||||||
|
|
||||||
|
</FORM>
|
||||||
|
|
||||||
|
|
||||||
|
<TABLE WIDTH="100%">
|
||||||
|
<TR>
|
||||||
|
<TD WIDTH="15%"><I>Run DateTime: </I></TD>
|
||||||
|
<TD><xsl:value-of select="FontValidatorReport/@RunDateTime"/></TD>
|
||||||
|
</TR>
|
||||||
|
<TR>
|
||||||
|
<TD WIDTH="15%"><I>Machine Name: </I></TD>
|
||||||
|
<TD><xsl:value-of select="FontValidatorReport/@MachineName"/></TD>
|
||||||
|
</TR>
|
||||||
|
<TR>
|
||||||
|
<TD WIDTH="15%"><I>Font file: </I></TD>
|
||||||
|
<TD><xsl:value-of select="FontValidatorReport/FontFile/@FileNameAndPath"/></TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>
|
||||||
|
|
||||||
|
<TABLE WIDTH="100%">
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="FontValidatorReport/FontFile/Report"/><BR/>
|
||||||
|
</TABLE>
|
||||||
|
|
||||||
|
<xsl:for-each select="FontValidatorReport/FontFile/Font">
|
||||||
|
|
||||||
|
<HR></HR><BR/>
|
||||||
|
|
||||||
|
<P><B><I>Index: </I><xsl:value-of select="@FontIndex"/>, <xsl:value-of select="FontInfo/@FontName"/>, <xsl:value-of select="FontInfo/@FontVersion"/>, <xsl:value-of select="FontInfo/@FontDate"/></B></P>
|
||||||
|
<BR/>
|
||||||
|
|
||||||
|
<TABLE WIDTH="100%">
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="25%"><I>Table Tag</I></TD>
|
||||||
|
<TD WIDTH="25%"><I>Table Offset</I></TD>
|
||||||
|
<TD WIDTH="25%"><I>Table Length</I></TD>
|
||||||
|
<TD WIDTH="25%"><I>Table Checksum</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:for-each select="TableEntry">
|
||||||
|
<TR>
|
||||||
|
<TD>
|
||||||
|
|
||||||
|
<xsl:text disable-output-escaping="yes"><A</xsl:text>
|
||||||
|
HREF='#<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<xsl:value-of select="@Tag"/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></A></xsl:text>
|
||||||
|
</TD>
|
||||||
|
<TD><xsl:value-of select="@Offset"/></TD>
|
||||||
|
<TD><xsl:value-of select="@Length"/></TD>
|
||||||
|
<TD><xsl:value-of select="@Checksum"/></TD>
|
||||||
|
</TR>
|
||||||
|
</xsl:for-each>
|
||||||
|
</TABLE>
|
||||||
|
<BR/>
|
||||||
|
|
||||||
|
<B>General Font Information</B>
|
||||||
|
<TABLE WIDTH="100%">
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="Report"/><BR/>
|
||||||
|
</TABLE><BR/>
|
||||||
|
|
||||||
|
<xsl:for-each select="TableEntry">
|
||||||
|
<BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' type='checkbox' name='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' onclick='display_table(table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>)'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
<B>
|
||||||
|
<xsl:text disable-output-escaping="yes"><A</xsl:text>
|
||||||
|
NAME='<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<xsl:value-of select="@Tag"/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></A></xsl:text>
|
||||||
|
</B><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><TABLE</xsl:text>
|
||||||
|
WIDTH='100%' id='table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="Report"/><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></TABLE></xsl:text>
|
||||||
|
<BR/>
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:for-each select="RasterizationTest">
|
||||||
|
<BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' type='checkbox' name='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' onclick='display_table(table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>)'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
<B>Rasterization Test</B><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><TABLE</xsl:text>
|
||||||
|
WIDTH='100%' id='table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="Report"/><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></TABLE></xsl:text>
|
||||||
|
<BR/>
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:for-each select="RasterizationTest_BW">
|
||||||
|
<BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' type='checkbox' name='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' onclick='display_table(table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>)'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
<B>Rasterization Test, BW</B><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><TABLE</xsl:text>
|
||||||
|
WIDTH='100%' id='table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="Report"/><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></TABLE></xsl:text>
|
||||||
|
<BR/>
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:for-each select="RasterizationTest_Grayscale">
|
||||||
|
<BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' type='checkbox' name='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' onclick='display_table(table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>)'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
<B>Rasterization Test, Grayscale</B><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><TABLE</xsl:text>
|
||||||
|
WIDTH='100%' id='table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="Report"/><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></TABLE></xsl:text>
|
||||||
|
<BR/>
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:for-each select="RasterizationTest_ClearType">
|
||||||
|
<BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><INPUT</xsl:text>
|
||||||
|
id='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' type='checkbox' name='cb_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>' onclick='display_table(table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>)'
|
||||||
|
<xsl:text disable-output-escaping="yes">checked ></xsl:text>
|
||||||
|
<B>Rasterization Test, ClearType</B><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"><TABLE</xsl:text>
|
||||||
|
WIDTH='100%' id='table_<xsl:value-of select="@CodeFriendlyTag"/>_<xsl:value-of select="parent::node()/@FontIndex"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<TR CLASS="caption">
|
||||||
|
<TD WIDTH="10%"><I>Error code</I></TD>
|
||||||
|
<TD WIDTH="50%"><I>Message</I></TD>
|
||||||
|
<TD WIDTH="40%"><I>Details</I></TD>
|
||||||
|
</TR>
|
||||||
|
<xsl:apply-templates select="Report"/><BR/>
|
||||||
|
<xsl:text disable-output-escaping="yes"></TABLE></xsl:text>
|
||||||
|
<BR/>
|
||||||
|
</xsl:for-each>
|
||||||
|
|
||||||
|
</xsl:for-each>
|
||||||
|
|
||||||
|
<BR/>
|
||||||
|
<P>
|
||||||
|
Note: The Font Validator's helpfile contains detailed information about each error message.
|
||||||
|
The latest OpenType specification is available at the
|
||||||
|
<A TARGET="TOP" HREF="http://www.microsoft.com/typography">Microsoft Typography website</A>.
|
||||||
|
</P>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<xsl:template match = "Report">
|
||||||
|
|
||||||
|
<xsl:text disable-output-escaping="yes"><TR</xsl:text>
|
||||||
|
class='class_<xsl:value-of select="@ErrorType"/>'
|
||||||
|
<xsl:text disable-output-escaping="yes">></xsl:text>
|
||||||
|
<TD VALIGN="TOP"> <xsl:value-of select="@ErrorCode"/> </TD>
|
||||||
|
<TD VALIGN="TOP"> <xsl:value-of select="@Message"/> </TD>
|
||||||
|
<TD VALIGN="TOP"> <xsl:value-of select="@Details"/> </TD>
|
||||||
|
<xsl:text disable-output-escaping="yes"></TR></xsl:text>
|
||||||
|
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
After Width: | Height: | Size: 1.5 MiB |
After Width: | Height: | Size: 5.9 MiB |
After Width: | Height: | Size: 152 KiB |
After Width: | Height: | Size: 520 KiB |
After Width: | Height: | Size: 1.6 MiB |
After Width: | Height: | Size: 5.3 MiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 5.4 MiB |
After Width: | Height: | Size: 1.1 MiB |
After Width: | Height: | Size: 5.3 MiB |
After Width: | Height: | Size: 1.7 MiB |
After Width: | Height: | Size: 7.8 MiB |
After Width: | Height: | Size: 4.2 MiB |
After Width: | Height: | Size: 11 MiB |
After Width: | Height: | Size: 422 KiB |
After Width: | Height: | Size: 1.6 MiB |
After Width: | Height: | Size: 503 KiB |
After Width: | Height: | Size: 2.3 MiB |
After Width: | Height: | Size: 392 KiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 120 KiB |
@ -1,17 +0,0 @@
|
|||||||
apple.001
|
|
||||||
cedi.201_230
|
|
||||||
cent.201_230
|
|
||||||
colonsign.201_230
|
|
||||||
dollar.201_230
|
|
||||||
guarani.201_230
|
|
||||||
dollar.tf.201_230
|
|
||||||
cent.tf.201_230
|
|
||||||
naira.169_230
|
|
||||||
peseta.169_230
|
|
||||||
won.169_230
|
|
||||||
peso.136_230
|
|
||||||
curvedStemParagraphSignOrnament.79_230
|
|
||||||
paragraph.79_230
|
|
||||||
Adieresis.titl.136_230
|
|
||||||
Odieresis.titl.106_230
|
|
||||||
Udieresis.titl.136_230
|
|
@ -1,14 +0,0 @@
|
|||||||
apple.001
|
|
||||||
cedi.201_230
|
|
||||||
cent.201_230
|
|
||||||
colonsign.201_230
|
|
||||||
dollar.201_230
|
|
||||||
guarani.201_230
|
|
||||||
dollar.tf.201_230
|
|
||||||
cent.tf.201_230
|
|
||||||
naira.169_230
|
|
||||||
peseta.169_230
|
|
||||||
won.169_230
|
|
||||||
peso.136_230
|
|
||||||
curvedStemParagraphSignOrnament.79_230
|
|
||||||
paragraph.79_230
|
|
BIN
sources/tools/WorkSansGX.ttf
Normal file
BIN
sources/tools/WorkSansItalicGX.ttf
Normal file
@ -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 export these are not active but get swapped with a custom parameter
|
# 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
|
||||||
italicBracketGlyphs = [
|
italicBracketGlyphs = [
|
||||||
"cedi.rvrn",
|
"cedi.rvrn",
|
||||||
"colonsign.rvrn",
|
"colonsign.rvrn",
|
||||||
|
@ -24,10 +24,6 @@ if style == "Upright":
|
|||||||
"uni20A9": "uni20A9.rvrn", # won
|
"uni20A9": "uni20A9.rvrn", # won
|
||||||
"uni2761": "uni2761.rvrn", # curvedStemParagraphSignOrnament
|
"uni2761": "uni2761.rvrn", # curvedStemParagraphSignOrnament
|
||||||
"paragraph": "paragraph.rvrn"}), # won
|
"paragraph": "paragraph.rvrn"}), # won
|
||||||
# ([{"wght": (0.6, 1)}], {"Odieresis.titl": "Odieresis.titl.rvrn",
|
|
||||||
# "Odieresis": "Odieresis.rvrn",
|
|
||||||
# "Udieresis": "Udieresis.rvrn",
|
|
||||||
# "Udieresis.titl": "Udieresis.titl.rvrn"}),
|
|
||||||
([{"wght": (0.38, 1)}], {"uni20A6": "uni20A6.rvrn", # naira,
|
([{"wght": (0.38, 1)}], {"uni20A6": "uni20A6.rvrn", # naira,
|
||||||
"colonmonetary": "colonmonetary.rvrn", # colon
|
"colonmonetary": "colonmonetary.rvrn", # colon
|
||||||
"Adieresis": "Adieresis.rvrn",
|
"Adieresis": "Adieresis.rvrn",
|
||||||
@ -42,7 +38,6 @@ if style == "Upright":
|
|||||||
elif style == "Italic":
|
elif style == "Italic":
|
||||||
condSubst = [
|
condSubst = [
|
||||||
# A list of (Region, Substitution) tuples.
|
# A list of (Region, Substitution) tuples.
|
||||||
([{"wght": (-.4688, .1800)}], {"uniF8FF": "uniF8FF.rvrn"}), # apple
|
|
||||||
([{"wght": (.8134, 1)}], {"uni20B5": "uni20B5.rvrn", # cedi
|
([{"wght": (.8134, 1)}], {"uni20B5": "uni20B5.rvrn", # cedi
|
||||||
"cent": "cent.rvrn",
|
"cent": "cent.rvrn",
|
||||||
"dollar": "dollar.rvrn",
|
"dollar": "dollar.rvrn",
|
||||||
|