mirror of
https://github.com/weiweihuanghuang/Work-Sans.git
synced 2024-11-22 12:14:09 +03:00
Testing build
This commit is contained in:
parent
dbcc69d6b6
commit
5ca2532c30
46
sources/Test/tools/swapBracketTrick.py
Executable file
46
sources/Test/tools/swapBracketTrick.py
Executable file
@ -0,0 +1,46 @@
|
||||
### Based on a script by Stephen Nixon
|
||||
|
||||
import os
|
||||
import sys
|
||||
import fontTools
|
||||
from fontTools.ttLib import TTFont
|
||||
from fontTools.varLib.featureVars import addFeatureVariations
|
||||
from fontTools.ttx import makeOutputFileName
|
||||
|
||||
inputTTF = sys.argv[1]
|
||||
# style = sys.argv[2]
|
||||
|
||||
# f = TTFont(fontPath)
|
||||
f = TTFont(inputTTF)
|
||||
|
||||
condSubst = [
|
||||
# A list of (Region, Substitution) tuples.
|
||||
([{"wght": (0.158, 0.564)}], {"uniF8FF": "uniF8FF.001"}),
|
||||
# ([{"wght": (0.868, 1)}], {"uni20B5": "uni20B5.201_230"}),
|
||||
# ([{"wght": (0.868, 1)}], {"cent": "cent.201_230"}),
|
||||
# ([{"wght": (0.868, 1)}], {"colonmonetary": "colonmonetary.201_230"}),
|
||||
# ([{"wght": (0.868, 1)}], {"dollar": "dollar.201_230"}),
|
||||
# ([{"wght": (0.868, 1)}], {"uni20B2": "uni20B2.201_230"}),
|
||||
# ([{"wght": (0.868, 1)}], {"dollar.tf": "dollar.tf.201_230"}),
|
||||
# ([{"wght": (0.868, 1)}], {"cent.tf": "cent.tf.201_230"}),
|
||||
# ([{"wght": (0.71, 1)}], {"uni20A6": "uni20A6.169_230"}),
|
||||
# ([{"wght": (0.71, 1)}], {"peseta": "peseta.169_230"}),
|
||||
# ([{"wght": (0.71, 1)}], {"uni20A9": "uni20A9.169_230"}),
|
||||
# ([{"wght": (0.564, 1)}], {"uni20B1": "uni20B1.136_230"}),
|
||||
# ([{"wght": (0.424, 1)}], {"uni2761": "uni2761.79_230"}),
|
||||
# ([{"wght": (0.424, 1)}], {"paragraph": "paragraph.79_230"}),
|
||||
]
|
||||
|
||||
# if style == "Upright":
|
||||
# condSubst += [
|
||||
# ([{"wght": (0.564, 1)}], {"Adieresis.titl": "Adieresis.titl.136_230"}),
|
||||
# ([{"wght": (0.564, 1)}], {"Odieresis.titl": "Odieresis.titl.136_230"}),
|
||||
# ]
|
||||
|
||||
addFeatureVariations(f, condSubst)
|
||||
|
||||
# newFontPath = fontPath.split(".")[0] + "-italic.ttf"
|
||||
# f.save(fontPath)
|
||||
extension = os.path.splitext(inputTTF)[1]
|
||||
outputTTF = makeOutputFileName(inputTTF, '', extension)
|
||||
f.save(outputTTF)
|
@ -100693,101 +100693,7 @@ rightMetricsKey = blackMediumDiamond;
|
||||
unicode = 2B26;
|
||||
},
|
||||
{
|
||||
glyphname = at.case;
|
||||
layers = (
|
||||
{
|
||||
color = 5;
|
||||
components = (
|
||||
{
|
||||
name = at;
|
||||
transform = "{1, 0, 0, 1, 23, 98}";
|
||||
}
|
||||
);
|
||||
layerId = "DBFAC7D3-9CB2-48DD-9F53-AD59A4BD1301";
|
||||
width = 950;
|
||||
},
|
||||
{
|
||||
color = 5;
|
||||
components = (
|
||||
{
|
||||
name = at;
|
||||
transform = "{1, 0, 0, 1, 20, 86}";
|
||||
}
|
||||
);
|
||||
layerId = "EA77C764-8343-414A-A941-E69667BA8F3A";
|
||||
width = 924;
|
||||
},
|
||||
{
|
||||
color = 5;
|
||||
components = (
|
||||
{
|
||||
name = at;
|
||||
transform = "{1, 0, 0, 1, 20, 89}";
|
||||
}
|
||||
);
|
||||
layerId = "F97236B5-7CBD-4FD1-81B0-6670342ADB4E";
|
||||
width = 909;
|
||||
}
|
||||
);
|
||||
leftMetricsKey = at;
|
||||
rightMetricsKey = at;
|
||||
},
|
||||
{
|
||||
glyphname = bar.case;
|
||||
layers = (
|
||||
{
|
||||
color = 5;
|
||||
layerId = "DBFAC7D3-9CB2-48DD-9F53-AD59A4BD1301";
|
||||
paths = (
|
||||
{
|
||||
closed = 1;
|
||||
nodes = (
|
||||
"203 752 LINE",
|
||||
"7 -97 LINE",
|
||||
"76 -97 LINE",
|
||||
"272 752 LINE"
|
||||
);
|
||||
}
|
||||
);
|
||||
width = 243;
|
||||
},
|
||||
{
|
||||
color = 5;
|
||||
layerId = "EA77C764-8343-414A-A941-E69667BA8F3A";
|
||||
paths = (
|
||||
{
|
||||
closed = 1;
|
||||
nodes = (
|
||||
"200 752 LINE",
|
||||
"4 -97 LINE",
|
||||
"208 -97 LINE",
|
||||
"404 752 LINE"
|
||||
);
|
||||
}
|
||||
);
|
||||
width = 372;
|
||||
},
|
||||
{
|
||||
color = 5;
|
||||
layerId = "F97236B5-7CBD-4FD1-81B0-6670342ADB4E";
|
||||
paths = (
|
||||
{
|
||||
closed = 1;
|
||||
nodes = (
|
||||
"192 752 LINE",
|
||||
"-4 -97 LINE",
|
||||
"11 -97 LINE",
|
||||
"207 752 LINE"
|
||||
);
|
||||
}
|
||||
);
|
||||
width = 167;
|
||||
}
|
||||
);
|
||||
},
|
||||
{
|
||||
color = 9;
|
||||
export = 0;
|
||||
glyphname = apple.001;
|
||||
layers = (
|
||||
{
|
||||
@ -101432,152 +101338,79 @@ width = 1130;
|
||||
);
|
||||
},
|
||||
{
|
||||
color = 5;
|
||||
glyphname = ampersand.sc;
|
||||
glyphname = at.case;
|
||||
layers = (
|
||||
{
|
||||
color = 5;
|
||||
components = (
|
||||
{
|
||||
name = at;
|
||||
transform = "{1, 0, 0, 1, 23, 98}";
|
||||
}
|
||||
);
|
||||
layerId = "DBFAC7D3-9CB2-48DD-9F53-AD59A4BD1301";
|
||||
width = 950;
|
||||
},
|
||||
{
|
||||
color = 5;
|
||||
components = (
|
||||
{
|
||||
name = at;
|
||||
transform = "{1, 0, 0, 1, 20, 86}";
|
||||
}
|
||||
);
|
||||
layerId = "EA77C764-8343-414A-A941-E69667BA8F3A";
|
||||
width = 924;
|
||||
},
|
||||
{
|
||||
color = 5;
|
||||
components = (
|
||||
{
|
||||
name = at;
|
||||
transform = "{1, 0, 0, 1, 20, 89}";
|
||||
}
|
||||
);
|
||||
layerId = "F97236B5-7CBD-4FD1-81B0-6670342ADB4E";
|
||||
width = 909;
|
||||
}
|
||||
);
|
||||
leftMetricsKey = at;
|
||||
rightMetricsKey = at;
|
||||
},
|
||||
{
|
||||
glyphname = bar.case;
|
||||
layers = (
|
||||
{
|
||||
color = 5;
|
||||
layerId = "DBFAC7D3-9CB2-48DD-9F53-AD59A4BD1301";
|
||||
paths = (
|
||||
{
|
||||
closed = 1;
|
||||
nodes = (
|
||||
"270 -7 OFFCURVE",
|
||||
"324 19 OFFCURVE",
|
||||
"374 59 CURVE",
|
||||
"391 72 LINE",
|
||||
"446 119 OFFCURVE",
|
||||
"489 192 OFFCURVE",
|
||||
"504 264 CURVE",
|
||||
"439 269 LINE",
|
||||
"427 202 OFFCURVE",
|
||||
"392 152 OFFCURVE",
|
||||
"354 117 CURVE",
|
||||
"340 109 LINE",
|
||||
"300 76 OFFCURVE",
|
||||
"263 56 OFFCURVE",
|
||||
"205 56 CURVE SMOOTH",
|
||||
"135 56 OFFCURVE",
|
||||
"85 91 OFFCURVE",
|
||||
"85 155 CURVE SMOOTH",
|
||||
"85 229 OFFCURVE",
|
||||
"141 259 OFFCURVE",
|
||||
"232 284 CURVE",
|
||||
"238 287 LINE",
|
||||
"353 319 OFFCURVE",
|
||||
"432 364 OFFCURVE",
|
||||
"432 461 CURVE SMOOTH",
|
||||
"432 525 OFFCURVE",
|
||||
"384 568 OFFCURVE",
|
||||
"312 568 CURVE SMOOTH",
|
||||
"224 568 OFFCURVE",
|
||||
"161 508 OFFCURVE",
|
||||
"161 419 CURVE SMOOTH",
|
||||
"161 355 OFFCURVE",
|
||||
"190 273 OFFCURVE",
|
||||
"249 169 CURVE SMOOTH",
|
||||
"306 68 OFFCURVE",
|
||||
"391 -9 OFFCURVE",
|
||||
"489 -9 CURVE",
|
||||
"491 -9 LINE",
|
||||
"503 49 LINE",
|
||||
"430 48 OFFCURVE",
|
||||
"353 121 OFFCURVE",
|
||||
"305 210 CURVE SMOOTH",
|
||||
"262 290 OFFCURVE",
|
||||
"231 369 OFFCURVE",
|
||||
"231 421 CURVE SMOOTH",
|
||||
"231 475 OFFCURVE",
|
||||
"265 508 OFFCURVE",
|
||||
"307 508 CURVE SMOOTH",
|
||||
"339 508 OFFCURVE",
|
||||
"364 487 OFFCURVE",
|
||||
"364 449 CURVE SMOOTH",
|
||||
"364 391 OFFCURVE",
|
||||
"305 363 OFFCURVE",
|
||||
"234 343 CURVE",
|
||||
"200 329 LINE",
|
||||
"90 302 OFFCURVE",
|
||||
"11 254 OFFCURVE",
|
||||
"11 150 CURVE SMOOTH",
|
||||
"11 54 OFFCURVE",
|
||||
"81 -7 OFFCURVE",
|
||||
"202 -7 CURVE SMOOTH"
|
||||
"203 752 LINE",
|
||||
"7 -97 LINE",
|
||||
"76 -97 LINE",
|
||||
"272 752 LINE"
|
||||
);
|
||||
}
|
||||
);
|
||||
width = 546;
|
||||
width = 243;
|
||||
},
|
||||
{
|
||||
color = 5;
|
||||
layerId = "EA77C764-8343-414A-A941-E69667BA8F3A";
|
||||
paths = (
|
||||
{
|
||||
closed = 1;
|
||||
nodes = (
|
||||
"304 -9 OFFCURVE",
|
||||
"363 31 OFFCURVE",
|
||||
"417 74 CURVE",
|
||||
"437 85 LINE",
|
||||
"490 117 OFFCURVE",
|
||||
"533 181 OFFCURVE",
|
||||
"554 260 CURVE",
|
||||
"419 259 LINE",
|
||||
"409 214 OFFCURVE",
|
||||
"392 189 OFFCURVE",
|
||||
"368 174 CURVE",
|
||||
"345 162 LINE",
|
||||
"317 136 OFFCURVE",
|
||||
"291 118 OFFCURVE",
|
||||
"254 118 CURVE SMOOTH",
|
||||
"206 118 OFFCURVE",
|
||||
"179 138 OFFCURVE",
|
||||
"179 172 CURVE SMOOTH",
|
||||
"179 217 OFFCURVE",
|
||||
"216 247 OFFCURVE",
|
||||
"276 254 CURVE",
|
||||
"294 268 LINE",
|
||||
"423 276 OFFCURVE",
|
||||
"509 345 OFFCURVE",
|
||||
"509 446 CURVE SMOOTH",
|
||||
"509 525 OFFCURVE",
|
||||
"448 568 OFFCURVE",
|
||||
"337 568 CURVE SMOOTH",
|
||||
"207 568 OFFCURVE",
|
||||
"121 495 OFFCURVE",
|
||||
"121 393 CURVE SMOOTH",
|
||||
"121 330 OFFCURVE",
|
||||
"151 278 OFFCURVE",
|
||||
"256 142 CURVE SMOOTH",
|
||||
"351 19 OFFCURVE",
|
||||
"408 -8 OFFCURVE",
|
||||
"497 -8 CURVE SMOOTH",
|
||||
"523 -8 LINE",
|
||||
"559 124 LINE",
|
||||
"474 113 OFFCURVE",
|
||||
"429 165 OFFCURVE",
|
||||
"375 237 CURVE SMOOTH",
|
||||
"295 344 OFFCURVE",
|
||||
"287 367 OFFCURVE",
|
||||
"287 395 CURVE SMOOTH",
|
||||
"287 414 OFFCURVE",
|
||||
"296 437 OFFCURVE",
|
||||
"331 437 CURVE SMOOTH",
|
||||
"350 437 OFFCURVE",
|
||||
"364 426 OFFCURVE",
|
||||
"364 408 CURVE SMOOTH",
|
||||
"364 364 OFFCURVE",
|
||||
"314 349 OFFCURVE",
|
||||
"249 348 CURVE",
|
||||
"203 333 LINE",
|
||||
"64 327 OFFCURVE",
|
||||
"-3 261 OFFCURVE",
|
||||
"-3 159 CURVE SMOOTH",
|
||||
"-3 54 OFFCURVE",
|
||||
"78 -9 OFFCURVE",
|
||||
"199 -9 CURVE SMOOTH"
|
||||
"200 752 LINE",
|
||||
"4 -97 LINE",
|
||||
"208 -97 LINE",
|
||||
"404 752 LINE"
|
||||
);
|
||||
}
|
||||
);
|
||||
width = 601;
|
||||
width = 372;
|
||||
},
|
||||
{
|
||||
color = 5;
|
||||
@ -101586,76 +101419,18 @@ paths = (
|
||||
{
|
||||
closed = 1;
|
||||
nodes = (
|
||||
"245 -8 OFFCURVE",
|
||||
"302 14 OFFCURVE",
|
||||
"348 55 CURVE",
|
||||
"351 58 LINE",
|
||||
"414 116 OFFCURVE",
|
||||
"451 206 OFFCURVE",
|
||||
"458 308 CURVE",
|
||||
"443 308 LINE",
|
||||
"435 213 OFFCURVE",
|
||||
"402 126 OFFCURVE",
|
||||
"343 71 CURVE",
|
||||
"338 65 LINE",
|
||||
"294 26 OFFCURVE",
|
||||
"241 5 OFFCURVE",
|
||||
"181 5 CURVE SMOOTH",
|
||||
"94 5 OFFCURVE",
|
||||
"31 51 OFFCURVE",
|
||||
"31 128 CURVE SMOOTH",
|
||||
"31 212 OFFCURVE",
|
||||
"96 248 OFFCURVE",
|
||||
"200 287 CURVE",
|
||||
"205 288 LINE",
|
||||
"315 328 OFFCURVE",
|
||||
"396 373 OFFCURVE",
|
||||
"396 464 CURVE SMOOTH",
|
||||
"396 522 OFFCURVE",
|
||||
"354 568 OFFCURVE",
|
||||
"281 568 CURVE SMOOTH",
|
||||
"205 568 OFFCURVE",
|
||||
"153 513 OFFCURVE",
|
||||
"153 443 CURVE SMOOTH",
|
||||
"153 383 OFFCURVE",
|
||||
"189 280 OFFCURVE",
|
||||
"247 184 CURVE SMOOTH",
|
||||
"334 42 OFFCURVE",
|
||||
"396 -9 OFFCURVE",
|
||||
"456 -9 CURVE",
|
||||
"456 -9 LINE",
|
||||
"460 6 LINE",
|
||||
"404 6 OFFCURVE",
|
||||
"348 49 OFFCURVE",
|
||||
"261 191 CURVE SMOOTH",
|
||||
"199 293 OFFCURVE",
|
||||
"169 390 OFFCURVE",
|
||||
"169 443 CURVE SMOOTH",
|
||||
"169 504 OFFCURVE",
|
||||
"216 554 OFFCURVE",
|
||||
"281 554 CURVE SMOOTH",
|
||||
"341 554 OFFCURVE",
|
||||
"380 515 OFFCURVE",
|
||||
"380 464 CURVE SMOOTH",
|
||||
"380 382 OFFCURVE",
|
||||
"308 341 OFFCURVE",
|
||||
"199 301 CURVE",
|
||||
"194 299 LINE",
|
||||
"81 259 OFFCURVE",
|
||||
"15 219 OFFCURVE",
|
||||
"15 128 CURVE SMOOTH",
|
||||
"15 43 OFFCURVE",
|
||||
"83 -8 OFFCURVE",
|
||||
"181 -8 CURVE SMOOTH"
|
||||
"192 752 LINE",
|
||||
"-4 -97 LINE",
|
||||
"11 -97 LINE",
|
||||
"207 752 LINE"
|
||||
);
|
||||
}
|
||||
);
|
||||
width = 486;
|
||||
width = 167;
|
||||
}
|
||||
);
|
||||
},
|
||||
{
|
||||
export = 0;
|
||||
glyphname = peso.136_230;
|
||||
layers = (
|
||||
{
|
||||
@ -101886,7 +101661,6 @@ width = 941;
|
||||
);
|
||||
},
|
||||
{
|
||||
export = 0;
|
||||
glyphname = naira.169_230;
|
||||
layers = (
|
||||
{
|
||||
@ -102203,7 +101977,6 @@ leftMetricsKey = "=kip";
|
||||
rightMetricsKey = "=|kip";
|
||||
},
|
||||
{
|
||||
export = 0;
|
||||
glyphname = peseta.169_230;
|
||||
layers = (
|
||||
{
|
||||
@ -102376,7 +102149,6 @@ leftMetricsKey = kip;
|
||||
rightKerningGroup = P;
|
||||
},
|
||||
{
|
||||
export = 0;
|
||||
glyphname = won.169_230;
|
||||
layers = (
|
||||
{
|
||||
@ -102638,7 +102410,6 @@ rightKerningGroup = W;
|
||||
rightMetricsKey = "=|";
|
||||
},
|
||||
{
|
||||
export = 0;
|
||||
glyphname = cedi.201_230;
|
||||
layers = (
|
||||
{
|
||||
@ -102789,7 +102560,6 @@ rightKerningGroup = C;
|
||||
rightMetricsKey = C;
|
||||
},
|
||||
{
|
||||
export = 0;
|
||||
glyphname = cent.201_230;
|
||||
layers = (
|
||||
{
|
||||
@ -103114,7 +102884,6 @@ leftKerningGroup = o;
|
||||
rightKerningGroup = c;
|
||||
},
|
||||
{
|
||||
export = 0;
|
||||
glyphname = colonsign.201_230;
|
||||
layers = (
|
||||
{
|
||||
@ -103462,7 +103231,6 @@ rightKerningGroup = C;
|
||||
rightMetricsKey = C;
|
||||
},
|
||||
{
|
||||
export = 0;
|
||||
glyphname = dollar.201_230;
|
||||
layers = (
|
||||
{
|
||||
@ -104003,7 +103771,6 @@ leftKerningGroup = S;
|
||||
rightKerningGroup = S;
|
||||
},
|
||||
{
|
||||
export = 0;
|
||||
glyphname = guarani.201_230;
|
||||
layers = (
|
||||
{
|
||||
@ -104411,7 +104178,6 @@ rightKerningGroup = G;
|
||||
rightMetricsKey = G;
|
||||
},
|
||||
{
|
||||
export = 0;
|
||||
glyphname = cent.tf.201_230;
|
||||
layers = (
|
||||
{
|
||||
@ -104585,7 +104351,6 @@ width = 604;
|
||||
);
|
||||
},
|
||||
{
|
||||
export = 0;
|
||||
glyphname = dollar.tf.201_230;
|
||||
layers = (
|
||||
{
|
||||
@ -104935,7 +104700,6 @@ width = 604;
|
||||
},
|
||||
{
|
||||
color = 0;
|
||||
export = 0;
|
||||
glyphname = curvedStemParagraphSignOrnament.79_230;
|
||||
layers = (
|
||||
{
|
||||
@ -105237,7 +105001,6 @@ width = 654;
|
||||
},
|
||||
{
|
||||
color = 0;
|
||||
export = 0;
|
||||
glyphname = paragraph.79_230;
|
||||
layers = (
|
||||
{
|
||||
@ -105363,6 +105126,229 @@ width = 657;
|
||||
);
|
||||
},
|
||||
{
|
||||
color = 5;
|
||||
glyphname = ampersand.sc;
|
||||
layers = (
|
||||
{
|
||||
layerId = "DBFAC7D3-9CB2-48DD-9F53-AD59A4BD1301";
|
||||
paths = (
|
||||
{
|
||||
closed = 1;
|
||||
nodes = (
|
||||
"270 -7 OFFCURVE",
|
||||
"324 19 OFFCURVE",
|
||||
"374 59 CURVE",
|
||||
"391 72 LINE",
|
||||
"446 119 OFFCURVE",
|
||||
"489 192 OFFCURVE",
|
||||
"504 264 CURVE",
|
||||
"439 269 LINE",
|
||||
"427 202 OFFCURVE",
|
||||
"392 152 OFFCURVE",
|
||||
"354 117 CURVE",
|
||||
"340 109 LINE",
|
||||
"300 76 OFFCURVE",
|
||||
"263 56 OFFCURVE",
|
||||
"205 56 CURVE SMOOTH",
|
||||
"135 56 OFFCURVE",
|
||||
"85 91 OFFCURVE",
|
||||
"85 155 CURVE SMOOTH",
|
||||
"85 229 OFFCURVE",
|
||||
"141 259 OFFCURVE",
|
||||
"232 284 CURVE",
|
||||
"238 287 LINE",
|
||||
"353 319 OFFCURVE",
|
||||
"432 364 OFFCURVE",
|
||||
"432 461 CURVE SMOOTH",
|
||||
"432 525 OFFCURVE",
|
||||
"384 568 OFFCURVE",
|
||||
"312 568 CURVE SMOOTH",
|
||||
"224 568 OFFCURVE",
|
||||
"161 508 OFFCURVE",
|
||||
"161 419 CURVE SMOOTH",
|
||||
"161 355 OFFCURVE",
|
||||
"190 273 OFFCURVE",
|
||||
"249 169 CURVE SMOOTH",
|
||||
"306 68 OFFCURVE",
|
||||
"391 -9 OFFCURVE",
|
||||
"489 -9 CURVE",
|
||||
"491 -9 LINE",
|
||||
"503 49 LINE",
|
||||
"430 48 OFFCURVE",
|
||||
"353 121 OFFCURVE",
|
||||
"305 210 CURVE SMOOTH",
|
||||
"262 290 OFFCURVE",
|
||||
"231 369 OFFCURVE",
|
||||
"231 421 CURVE SMOOTH",
|
||||
"231 475 OFFCURVE",
|
||||
"265 508 OFFCURVE",
|
||||
"307 508 CURVE SMOOTH",
|
||||
"339 508 OFFCURVE",
|
||||
"364 487 OFFCURVE",
|
||||
"364 449 CURVE SMOOTH",
|
||||
"364 391 OFFCURVE",
|
||||
"305 363 OFFCURVE",
|
||||
"234 343 CURVE",
|
||||
"200 329 LINE",
|
||||
"90 302 OFFCURVE",
|
||||
"11 254 OFFCURVE",
|
||||
"11 150 CURVE SMOOTH",
|
||||
"11 54 OFFCURVE",
|
||||
"81 -7 OFFCURVE",
|
||||
"202 -7 CURVE SMOOTH"
|
||||
);
|
||||
}
|
||||
);
|
||||
width = 546;
|
||||
},
|
||||
{
|
||||
layerId = "EA77C764-8343-414A-A941-E69667BA8F3A";
|
||||
paths = (
|
||||
{
|
||||
closed = 1;
|
||||
nodes = (
|
||||
"304 -9 OFFCURVE",
|
||||
"363 31 OFFCURVE",
|
||||
"417 74 CURVE",
|
||||
"437 85 LINE",
|
||||
"490 117 OFFCURVE",
|
||||
"533 181 OFFCURVE",
|
||||
"554 260 CURVE",
|
||||
"419 259 LINE",
|
||||
"409 214 OFFCURVE",
|
||||
"392 189 OFFCURVE",
|
||||
"368 174 CURVE",
|
||||
"345 162 LINE",
|
||||
"317 136 OFFCURVE",
|
||||
"291 118 OFFCURVE",
|
||||
"254 118 CURVE SMOOTH",
|
||||
"206 118 OFFCURVE",
|
||||
"179 138 OFFCURVE",
|
||||
"179 172 CURVE SMOOTH",
|
||||
"179 217 OFFCURVE",
|
||||
"216 247 OFFCURVE",
|
||||
"276 254 CURVE",
|
||||
"294 268 LINE",
|
||||
"423 276 OFFCURVE",
|
||||
"509 345 OFFCURVE",
|
||||
"509 446 CURVE SMOOTH",
|
||||
"509 525 OFFCURVE",
|
||||
"448 568 OFFCURVE",
|
||||
"337 568 CURVE SMOOTH",
|
||||
"207 568 OFFCURVE",
|
||||
"121 495 OFFCURVE",
|
||||
"121 393 CURVE SMOOTH",
|
||||
"121 330 OFFCURVE",
|
||||
"151 278 OFFCURVE",
|
||||
"256 142 CURVE SMOOTH",
|
||||
"351 19 OFFCURVE",
|
||||
"408 -8 OFFCURVE",
|
||||
"497 -8 CURVE SMOOTH",
|
||||
"523 -8 LINE",
|
||||
"559 124 LINE",
|
||||
"474 113 OFFCURVE",
|
||||
"429 165 OFFCURVE",
|
||||
"375 237 CURVE SMOOTH",
|
||||
"295 344 OFFCURVE",
|
||||
"287 367 OFFCURVE",
|
||||
"287 395 CURVE SMOOTH",
|
||||
"287 414 OFFCURVE",
|
||||
"296 437 OFFCURVE",
|
||||
"331 437 CURVE SMOOTH",
|
||||
"350 437 OFFCURVE",
|
||||
"364 426 OFFCURVE",
|
||||
"364 408 CURVE SMOOTH",
|
||||
"364 364 OFFCURVE",
|
||||
"314 349 OFFCURVE",
|
||||
"249 348 CURVE",
|
||||
"203 333 LINE",
|
||||
"64 327 OFFCURVE",
|
||||
"-3 261 OFFCURVE",
|
||||
"-3 159 CURVE SMOOTH",
|
||||
"-3 54 OFFCURVE",
|
||||
"78 -9 OFFCURVE",
|
||||
"199 -9 CURVE SMOOTH"
|
||||
);
|
||||
}
|
||||
);
|
||||
width = 601;
|
||||
},
|
||||
{
|
||||
color = 5;
|
||||
layerId = "F97236B5-7CBD-4FD1-81B0-6670342ADB4E";
|
||||
paths = (
|
||||
{
|
||||
closed = 1;
|
||||
nodes = (
|
||||
"245 -8 OFFCURVE",
|
||||
"302 14 OFFCURVE",
|
||||
"348 55 CURVE",
|
||||
"351 58 LINE",
|
||||
"414 116 OFFCURVE",
|
||||
"451 206 OFFCURVE",
|
||||
"458 308 CURVE",
|
||||
"443 308 LINE",
|
||||
"435 213 OFFCURVE",
|
||||
"402 126 OFFCURVE",
|
||||
"343 71 CURVE",
|
||||
"338 65 LINE",
|
||||
"294 26 OFFCURVE",
|
||||
"241 5 OFFCURVE",
|
||||
"181 5 CURVE SMOOTH",
|
||||
"94 5 OFFCURVE",
|
||||
"31 51 OFFCURVE",
|
||||
"31 128 CURVE SMOOTH",
|
||||
"31 212 OFFCURVE",
|
||||
"96 248 OFFCURVE",
|
||||
"200 287 CURVE",
|
||||
"205 288 LINE",
|
||||
"315 328 OFFCURVE",
|
||||
"396 373 OFFCURVE",
|
||||
"396 464 CURVE SMOOTH",
|
||||
"396 522 OFFCURVE",
|
||||
"354 568 OFFCURVE",
|
||||
"281 568 CURVE SMOOTH",
|
||||
"205 568 OFFCURVE",
|
||||
"153 513 OFFCURVE",
|
||||
"153 443 CURVE SMOOTH",
|
||||
"153 383 OFFCURVE",
|
||||
"189 280 OFFCURVE",
|
||||
"247 184 CURVE SMOOTH",
|
||||
"334 42 OFFCURVE",
|
||||
"396 -9 OFFCURVE",
|
||||
"456 -9 CURVE",
|
||||
"456 -9 LINE",
|
||||
"460 6 LINE",
|
||||
"404 6 OFFCURVE",
|
||||
"348 49 OFFCURVE",
|
||||
"261 191 CURVE SMOOTH",
|
||||
"199 293 OFFCURVE",
|
||||
"169 390 OFFCURVE",
|
||||
"169 443 CURVE SMOOTH",
|
||||
"169 504 OFFCURVE",
|
||||
"216 554 OFFCURVE",
|
||||
"281 554 CURVE SMOOTH",
|
||||
"341 554 OFFCURVE",
|
||||
"380 515 OFFCURVE",
|
||||
"380 464 CURVE SMOOTH",
|
||||
"380 382 OFFCURVE",
|
||||
"308 341 OFFCURVE",
|
||||
"199 301 CURVE",
|
||||
"194 299 LINE",
|
||||
"81 259 OFFCURVE",
|
||||
"15 219 OFFCURVE",
|
||||
"15 128 CURVE SMOOTH",
|
||||
"15 43 OFFCURVE",
|
||||
"83 -8 OFFCURVE",
|
||||
"181 -8 CURVE SMOOTH"
|
||||
);
|
||||
}
|
||||
);
|
||||
width = 486;
|
||||
}
|
||||
);
|
||||
},
|
||||
{
|
||||
glyphname = apostrophemod;
|
||||
layers = (
|
||||
{
|
||||
@ -117684,6 +117670,7 @@ periodcentered = -33;
|
||||
"@MMK_R_W" = -25;
|
||||
"@MMK_R_Y" = -50;
|
||||
"@MMK_R_Z" = -11;
|
||||
"@MMK_R_n" = 0;
|
||||
"@MMK_R_quoteleft" = -9;
|
||||
"@MMK_R_quoteright" = -9;
|
||||
V = -29;
|
||||
@ -117694,7 +117681,6 @@ bracketright = -42;
|
||||
parenright = -30;
|
||||
question = -50;
|
||||
trademark = -19;
|
||||
"@MMK_R_n" = 0;
|
||||
};
|
||||
"@MMK_L_u.sc" = {
|
||||
"@MMK_R_a.sc" = -13;
|
||||
@ -117705,6 +117691,14 @@ bracketright = -30;
|
||||
parenright = -16;
|
||||
slash = -12;
|
||||
};
|
||||
"@MMK_L_uhorn" = {
|
||||
"@MMK_R_i" = 0;
|
||||
"@MMK_R_n" = 35;
|
||||
"@MMK_R_u" = 0;
|
||||
i = 20;
|
||||
n = 15;
|
||||
u = 20;
|
||||
};
|
||||
"@MMK_L_v" = {
|
||||
"@MMK_R_A" = -27;
|
||||
"@MMK_R_O" = -5;
|
||||
@ -118019,13 +118013,13 @@ Q = {
|
||||
j = 60;
|
||||
};
|
||||
T = {
|
||||
"@MMK_R_o" = -83;
|
||||
atilde = -55;
|
||||
ecircumflex = -53;
|
||||
germandbls = -37;
|
||||
iacute = -38;
|
||||
idieresis = -8;
|
||||
idotless = -103;
|
||||
"@MMK_R_o" = -83;
|
||||
ecircumflex = -53;
|
||||
};
|
||||
Thorn = {
|
||||
"@MMK_R_A" = -19;
|
||||
@ -119199,14 +119193,6 @@ parenright = -31;
|
||||
seven.sc = -20;
|
||||
v.sc = -11;
|
||||
};
|
||||
"@MMK_L_uhorn" = {
|
||||
"@MMK_R_u" = 0;
|
||||
u = 20;
|
||||
n = 15;
|
||||
"@MMK_R_i" = 0;
|
||||
i = 20;
|
||||
"@MMK_R_n" = 35;
|
||||
};
|
||||
};
|
||||
"DBFAC7D3-9CB2-48DD-9F53-AD59A4BD1301" = {
|
||||
"@MMK_L_A" = {
|
||||
@ -119553,6 +119539,7 @@ J = -91;
|
||||
ae.sc = -130;
|
||||
ampersand = -61;
|
||||
at = -47;
|
||||
ecircumflex = -90;
|
||||
eth = -74;
|
||||
icircumflex = 18;
|
||||
j.sc = -150;
|
||||
@ -119565,7 +119552,6 @@ space = -27;
|
||||
v = -43;
|
||||
x = -68;
|
||||
x.sc = -40;
|
||||
ecircumflex = -90;
|
||||
};
|
||||
"@MMK_L_U" = {
|
||||
"@MMK_R_A" = -23;
|
||||
@ -120681,6 +120667,7 @@ seven = -20;
|
||||
"@MMK_R_W" = -22;
|
||||
"@MMK_R_Y" = -57;
|
||||
"@MMK_R_Z" = -10;
|
||||
"@MMK_R_n" = 0;
|
||||
"@MMK_R_quoteright" = -20;
|
||||
V = -35;
|
||||
backslash = -25;
|
||||
@ -120689,7 +120676,6 @@ bracketright = -43;
|
||||
j = 0;
|
||||
parenright = -35;
|
||||
trademark = -16;
|
||||
"@MMK_R_n" = 0;
|
||||
};
|
||||
"@MMK_L_u.sc" = {
|
||||
"@MMK_R_a.sc" = -23;
|
||||
@ -120986,11 +120972,11 @@ Q = {
|
||||
j = 40;
|
||||
};
|
||||
T = {
|
||||
ecircumflex = -60;
|
||||
germandbls = -30;
|
||||
iacute = -26;
|
||||
idieresis = -3;
|
||||
idotless = -69;
|
||||
ecircumflex = -60;
|
||||
};
|
||||
Thorn = {
|
||||
"@MMK_R_A" = -20;
|
||||
@ -123191,11 +123177,11 @@ seven = -17;
|
||||
"@MMK_L_u" = {
|
||||
"@MMK_R_W" = -23;
|
||||
"@MMK_R_f" = 5;
|
||||
"@MMK_R_n" = 0;
|
||||
"@MMK_R_t" = 5;
|
||||
V = -8;
|
||||
ohorndotbelow = 0;
|
||||
i = 0;
|
||||
"@MMK_R_n" = 0;
|
||||
ohorndotbelow = 0;
|
||||
};
|
||||
"@MMK_L_u.sc" = {
|
||||
"@MMK_R_a.sc" = -25;
|
||||
@ -123204,16 +123190,16 @@ ae.sc = -25;
|
||||
slash = -60;
|
||||
};
|
||||
"@MMK_L_uhorn" = {
|
||||
ohorndotbelow = 20;
|
||||
"@MMK_R_o" = 0;
|
||||
ohornacute = 25;
|
||||
"@MMK_R_u" = 0;
|
||||
u = 35;
|
||||
n = 35;
|
||||
a = 20;
|
||||
"@MMK_R_n" = 50;
|
||||
i = 45;
|
||||
"@MMK_R_h" = 40;
|
||||
"@MMK_R_n" = 50;
|
||||
"@MMK_R_o" = 0;
|
||||
"@MMK_R_u" = 0;
|
||||
a = 20;
|
||||
i = 45;
|
||||
n = 35;
|
||||
ohornacute = 25;
|
||||
ohorndotbelow = 20;
|
||||
u = 35;
|
||||
};
|
||||
"@MMK_L_v" = {
|
||||
"@MMK_R_A" = -60;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -4,19 +4,30 @@ glyphsSource="WorkSans.glyphs"
|
||||
VFname="WorkSans-VF"
|
||||
|
||||
fontmake -o variable -g $glyphsSource
|
||||
echo "${VFname}.ttf generated"
|
||||
|
||||
# mv variable_ttf/${VFname}.ttf ${VFname}.ttf
|
||||
mv variable_ttf/${VFname}.ttf ${VFname}.ttf
|
||||
|
||||
# rm -rf master_ufo
|
||||
# rm -rf variable_ttf
|
||||
rm -rf master_ufo
|
||||
rm -rf instance_ufo
|
||||
rm -rf variable_ttf
|
||||
|
||||
# python tools/swapBracketTrick.py ${VFname}.ttf "Upright"
|
||||
|
||||
# gftools fix-nonhinting ${VFname}.ttf ${VFname}.ttf
|
||||
# gftools fix-dsig --autofix ${VFname}.ttf
|
||||
# gftools fix-gasp ${VFname}.ttf
|
||||
gftools fix-nonhinting ${VFname}.ttf ${VFname}.ttf
|
||||
gftools fix-dsig --autofix ${VFname}.ttf
|
||||
gftools fix-gasp ${VFname}.ttf
|
||||
echo "nonhinting, dsig, gasp fixed"
|
||||
|
||||
# python tools/gftools-fix-vf-meta.py ${VFname}.ttf
|
||||
rm -rf ${VFname}-backup-fonttools-prep-gasp.ttf
|
||||
|
||||
# ## move font into folder of dist/, with timestamp, then fontbake the font
|
||||
python tools/gftools-fix-vf-meta.py ${VFname}.ttf
|
||||
echo "vf-meta fixed"
|
||||
|
||||
rm -rf ${VFname}.ttf
|
||||
mv ${VFname}.ttf.fix ${VFname}.ttf
|
||||
|
||||
fontbakery check-googlefonts ${VFname}.ttf --ghmarkdown fontbakery-report.md
|
||||
|
||||
## move font into folder of dist/, with timestamp, then fontbake the font
|
||||
# python3 tools/distdate-and-fontbake.py ${VFname}.ttf
|
32344
sources/fontbakery-report.md
Normal file
32344
sources/fontbakery-report.md
Normal file
File diff suppressed because it is too large
Load Diff
46
sources/tools/swapBracketTrick-NiceNames.py
Normal file
46
sources/tools/swapBracketTrick-NiceNames.py
Normal file
@ -0,0 +1,46 @@
|
||||
### Based on a script by Stephen Nixon
|
||||
|
||||
import os
|
||||
import sys
|
||||
import fontTools
|
||||
from fontTools.ttLib import TTFont
|
||||
from fontTools.varLib.featureVars import addFeatureVariations
|
||||
from fontTools.ttx import makeOutputFileName
|
||||
|
||||
inputTTF = sys.argv[1]
|
||||
style = sys.argv[2]
|
||||
|
||||
# f = TTFont(fontPath)
|
||||
f = TTFont(inputTTF)
|
||||
|
||||
condSubst = [
|
||||
# A list of (Region, Substitution) tuples.
|
||||
([{"wght": (0.158, 0.564)}], {"apple": "apple.001"}),
|
||||
([{"wght": (0.868, 1)}], {"cedi": "cedi.201_230"}),
|
||||
([{"wght": (0.868, 1)}], {"cent": "cent.201_230"}),
|
||||
([{"wght": (0.868, 1)}], {"colonsign": "colonsign.201_230"}),
|
||||
([{"wght": (0.868, 1)}], {"dollar": "dollar.201_230"}),
|
||||
([{"wght": (0.868, 1)}], {"guarani": "guarani.201_230"}),
|
||||
([{"wght": (0.868, 1)}], {"dollar.tf": "dollar.tf.201_230"}),
|
||||
([{"wght": (0.868, 1)}], {"cent.tf": "cent.tf.201_230"}),
|
||||
([{"wght": (0.71, 1)}], {"naira": "naira.169_230"}),
|
||||
([{"wght": (0.71, 1)}], {"peseta": "peseta.169_230"}),
|
||||
([{"wght": (0.71, 1)}], {"won": "won.169_230"}),
|
||||
([{"wght": (0.564, 1)}], {"peso": "peso.136_230"}),
|
||||
([{"wght": (0.424, 1)}], {"curvedStemParagraphSignOrnament": "curvedStemParagraphSignOrnament.79_230"}),
|
||||
([{"wght": (0.424, 1)}], {"paragraph": "paragraph.79_230"}),
|
||||
]
|
||||
|
||||
if style == "Upright":
|
||||
condSubst += [
|
||||
([{"wght": (0.564, 1)}], {"Adieresis.titl": "Adieresis.titl.136_230"}),
|
||||
([{"wght": (0.564, 1)}], {"Odieresis.titl": "Odieresis.titl.136_230"}),
|
||||
]
|
||||
|
||||
addFeatureVariations(f, condSubst)
|
||||
|
||||
# newFontPath = fontPath.split(".")[0] + "-italic.ttf"
|
||||
# f.save(fontPath)
|
||||
extension = os.path.splitext(inputTTF)[1]
|
||||
outputTTF = makeOutputFileName(inputTTF, '', extension)
|
||||
f.save(outputTTF)
|
@ -8,34 +8,34 @@ from fontTools.varLib.featureVars import addFeatureVariations
|
||||
from fontTools.ttx import makeOutputFileName
|
||||
|
||||
inputTTF = sys.argv[1]
|
||||
style = sys.argv[2]
|
||||
# style = sys.argv[2]
|
||||
|
||||
# f = TTFont(fontPath)
|
||||
f = TTFont(inputTTF)
|
||||
|
||||
condSubst = [
|
||||
# A list of (Region, Substitution) tuples.
|
||||
([{"wght": (0.158, 0.564)}], {"apple", "apple.001"}),
|
||||
([{"wght": (0.868, 1)}], {"cedi", "cedi.201_230"}),
|
||||
([{"wght": (0.868, 1)}], {"cent", "cent.201_230"}),
|
||||
([{"wght": (0.868, 1)}], {"colonsign", "colonsign.201_230"}),
|
||||
([{"wght": (0.868, 1)}], {"dollar", "dollar.201_230"}),
|
||||
([{"wght": (0.868, 1)}], {"guarani", "guarani.201_230"}),
|
||||
([{"wght": (0.868, 1)}], {"dollar.tf", "dollar.tf.201_230"}),
|
||||
([{"wght": (0.868, 1)}], {"cent.tf", "cent.tf.201_230"}),
|
||||
([{"wght": (0.71, 1)}], {"naira", "naira.169_230"}),
|
||||
([{"wght": (0.71, 1)}], {"peseta", "peseta.169_230"}),
|
||||
([{"wght": (0.71, 1)}], {"won", "won.169_230"}),
|
||||
([{"wght": (0.564, 1)}], {"peso", "peso.136_230"}),
|
||||
([{"wght": (0.424, 1)}], {"curvedStemParagraphSignOrnament", "curvedStemParagraphSignOrnament.79_230"}),
|
||||
([{"wght": (0.424, 1)}], {"paragraph", "paragraph.79_230"})
|
||||
([{"wght": (0.158, 0.564)}], {"uniF8FF": "uniF8FF.001"}),
|
||||
# ([{"wght": (0.868, 1)}], {"uni20B5": "uni20B5.201_230"}),
|
||||
# ([{"wght": (0.868, 1)}], {"cent": "cent.201_230"}),
|
||||
# ([{"wght": (0.868, 1)}], {"colonmonetary": "colonmonetary.201_230"}),
|
||||
# ([{"wght": (0.868, 1)}], {"dollar": "dollar.201_230"}),
|
||||
# ([{"wght": (0.868, 1)}], {"uni20B2": "uni20B2.201_230"}),
|
||||
# ([{"wght": (0.868, 1)}], {"dollar.tf": "dollar.tf.201_230"}),
|
||||
# ([{"wght": (0.868, 1)}], {"cent.tf": "cent.tf.201_230"}),
|
||||
# ([{"wght": (0.71, 1)}], {"uni20A6": "uni20A6.169_230"}),
|
||||
# ([{"wght": (0.71, 1)}], {"peseta": "peseta.169_230"}),
|
||||
# ([{"wght": (0.71, 1)}], {"uni20A9": "uni20A9.169_230"}),
|
||||
# ([{"wght": (0.564, 1)}], {"uni20B1": "uni20B1.136_230"}),
|
||||
# ([{"wght": (0.424, 1)}], {"uni2761": "uni2761.79_230"}),
|
||||
# ([{"wght": (0.424, 1)}], {"paragraph": "paragraph.79_230"}),
|
||||
]
|
||||
|
||||
if style == "Upright":
|
||||
condSubst += [
|
||||
([{"wght": (0.564, 1)}], {"Adieresis.titl", "Adieresis.titl.136_230"}),
|
||||
([{"wght": (0.564, 1)}], {"Odieresis.titl", "Odieresis.titl.136_230"}),
|
||||
]
|
||||
# if style == "Upright":
|
||||
# condSubst += [
|
||||
# ([{"wght": (0.564, 1)}], {"Adieresis.titl": "Adieresis.titl.136_230"}),
|
||||
# ([{"wght": (0.564, 1)}], {"Odieresis.titl": "Odieresis.titl.136_230"}),
|
||||
# ]
|
||||
|
||||
addFeatureVariations(f, condSubst)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user