Updated build process
@ -3,8 +3,8 @@
|
||||
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",
|
||||
"/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",
|
||||
";¡¿/semicolon.tf )]/parenrightsuperior/bracketright.case/exclamdown.sc/questiondown.sc/rightanglebracket-math >/rightArrow/downArrow/southWestArrow/downWhiteTriangle/heavySingleCommaQuotationMarkOrnament/heavyDoubleCommaQuotationMarkOrnament/ringhalfright/bracketrightsuperior/colonsign/colonsign.136_230",
|
||||
"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",
|
||||
"/dollar.tf/cent.tf \012/dollar.tf.rvrn/cent.tf.rvrn \012$¢ÄÜÖ\012/dollar.rvrn/cent.rvrn"
|
||||
);
|
||||
classes = (
|
||||
@ -79,7 +79,7 @@ name = vendorID;
|
||||
value = WEI;
|
||||
}
|
||||
);
|
||||
date = "2018-11-09 06:50:14 +0000";
|
||||
date = "2018-11-14 10:39:40 +0000";
|
||||
designer = "Wei Huang";
|
||||
designerURL = "http://wweeiihhuuaanngg@gmail.com";
|
||||
familyName = "Work Sans";
|
||||
@ -121,7 +121,9 @@ feature tnum;
|
||||
feature onum;
|
||||
feature case;
|
||||
feature zero;
|
||||
feature ornm;
|
||||
feature calt;
|
||||
feature salt;
|
||||
feature hist;
|
||||
feature ss02;
|
||||
feature ss03;
|
||||
@ -184,6 +186,21 @@ name = locl;
|
||||
},
|
||||
{
|
||||
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;
|
||||
sub one by one.dnom;
|
||||
sub two by two.dnom;
|
||||
@ -869,21 +886,6 @@ sub dagger by daggersuperior;
|
||||
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;
|
||||
sub two by two.sansSerifCircled;
|
||||
sub three by three.sansSerifCircled;
|
||||
@ -88779,6 +88781,354 @@ rightKerningGroup = c;
|
||||
},
|
||||
{
|
||||
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;
|
||||
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;
|
||||
layers = (
|
||||
{
|
||||
|
@ -43,6 +43,7 @@ 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 \
|
||||
|
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;
|
||||
color: #000000;
|
||||
font-family: 'Work Sans';/* 'AdobeBlank';*/
|
||||
font-weight: 900;
|
||||
font-weight: 400;
|
||||
text-align: left;
|
||||
margin: 4px 8px;
|
||||
font-feature-settings:"kern" 1, "liga" 1;
|
||||
@ -19,7 +19,7 @@ p {
|
||||
margin: 0 0 3em;
|
||||
}
|
||||
b {
|
||||
font-weight:900;
|
||||
font-weight:600;
|
||||
}
|
||||
|
||||
.fourteen {font-size:14px;line-height:1.2}
|
||||
|
@ -97,7 +97,7 @@ html {
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Work Sans';
|
||||
src: url('WorkSans-RegularItalic.ttf') format('truetype');
|
||||
src: url('WorkSans-Italic.ttf') format('truetype');
|
||||
font-weight:400;
|
||||
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)
|
||||
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 = [
|
||||
"cedi.rvrn",
|
||||
"colonsign.rvrn",
|
||||
|
@ -24,10 +24,6 @@ if style == "Upright":
|
||||
"uni20A9": "uni20A9.rvrn", # won
|
||||
"uni2761": "uni2761.rvrn", # curvedStemParagraphSignOrnament
|
||||
"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,
|
||||
"colonmonetary": "colonmonetary.rvrn", # colon
|
||||
"Adieresis": "Adieresis.rvrn",
|
||||
@ -42,7 +38,6 @@ if style == "Upright":
|
||||
elif style == "Italic":
|
||||
condSubst = [
|
||||
# A list of (Region, Substitution) tuples.
|
||||
([{"wght": (-.4688, .1800)}], {"uniF8FF": "uniF8FF.rvrn"}), # apple
|
||||
([{"wght": (.8134, 1)}], {"uni20B5": "uni20B5.rvrn", # cedi
|
||||
"cent": "cent.rvrn",
|
||||
"dollar": "dollar.rvrn",
|
||||
|