Add support for custom family names. Fixes #239.
This commit is contained in:
parent
a7f0d9b201
commit
31bf5dea5b
5 changed files with 45 additions and 505 deletions
461
.esformatter
461
.esformatter
|
@ -1,461 +0,0 @@
|
|||
{
|
||||
"indent" : {
|
||||
"ReturnStatement": ">=1",
|
||||
"value": "\t",
|
||||
"alignComments": true,
|
||||
"ArrayExpression": 1,
|
||||
"ArrayPattern": 1,
|
||||
"ArrowFunctionExpression": 1,
|
||||
"AssignmentExpression": 1,
|
||||
"AssignmentExpression.BinaryExpression": 1,
|
||||
"AssignmentExpression.LogicalExpression": 1,
|
||||
"AssignmentExpression.UnaryExpression": 1,
|
||||
"CallExpression": 1,
|
||||
"CallExpression.BinaryExpression": 1,
|
||||
"CallExpression.LogicalExpression": 1,
|
||||
"CallExpression.UnaryExpression": 1,
|
||||
"CatchClause": 1,
|
||||
"ConditionalExpression": 1,
|
||||
"CommentInsideEmptyBlock": 1,
|
||||
"ClassDeclaration": 1,
|
||||
"DoWhileStatement": 1,
|
||||
"ForInStatement": 1,
|
||||
"ForOfStatement": 1,
|
||||
"ForStatement": 1,
|
||||
"FunctionDeclaration": 1,
|
||||
"FunctionExpression": 1,
|
||||
"IfStatement": 1,
|
||||
"MemberExpression": 1,
|
||||
"MultipleVariableDeclaration": 1,
|
||||
"NewExpression": 1,
|
||||
"ObjectExpression": 1,
|
||||
"ObjectExpression.BinaryExpression": 1,
|
||||
"ObjectExpression.LogicalExpression": 1,
|
||||
"ObjectExpression.UnaryExpression": 1,
|
||||
"ObjectPattern": 1,
|
||||
"ParameterList": 1,
|
||||
"SingleVariableDeclaration": 0,
|
||||
"SwitchCase": 1,
|
||||
"SwitchStatement": 1,
|
||||
"TopLevelFunctionBlock": 1,
|
||||
"TryStatement": 1,
|
||||
"VariableDeclaration.BinaryExpression": 1,
|
||||
"VariableDeclaration.LogicalExpression": 1,
|
||||
"VariableDeclaration.UnaryExpression": 1,
|
||||
"WhileStatement": 1
|
||||
},
|
||||
|
||||
"lineBreak" : {
|
||||
"value" : "\n",
|
||||
|
||||
"before" : {
|
||||
"AssignmentExpression" : -1,
|
||||
"AssignmentOperator": -1,
|
||||
"AssignmentPattern" : 0,
|
||||
"ArrayPatternOpening": 0,
|
||||
"ArrayPatternClosing": 0,
|
||||
"ArrayPatternComma": 0,
|
||||
"ArrowFunctionExpressionArrow": 0,
|
||||
"ArrowFunctionExpressionOpeningBrace": 0,
|
||||
"ArrowFunctionExpressionClosingBrace": "<=1",
|
||||
"BlockStatement" : -1,
|
||||
"BreakKeyword": ">=1",
|
||||
"CallExpression" : -1,
|
||||
"CallExpressionOpeningParentheses" : 0,
|
||||
"CallExpressionClosingParentheses" : -1,
|
||||
"ClassDeclaration" : ">=1",
|
||||
"ClassDeclarationOpeningBrace" : 0,
|
||||
"ClassDeclarationClosingBrace" : "<=1",
|
||||
"ConditionalExpression" : ">=1",
|
||||
"CatchOpeningBrace" : 0,
|
||||
"CatchClosingBrace" : "<=1",
|
||||
"CatchKeyword": 0,
|
||||
"DeleteOperator" : -1,
|
||||
"DoWhileStatement" : -1,
|
||||
"DoWhileStatementOpeningBrace" : 0,
|
||||
"DoWhileStatementClosingBrace" : "<=1",
|
||||
"EndOfFile" : 1,
|
||||
"EmptyStatement" : -1,
|
||||
"FinallyKeyword" : -1,
|
||||
"FinallyOpeningBrace" : 0,
|
||||
"FinallyClosingBrace" : "<=1",
|
||||
"ForInStatement" : -1,
|
||||
"ForInStatementExpressionOpening" : -1,
|
||||
"ForInStatementExpressionClosing" : -1,
|
||||
"ForInStatementOpeningBrace" : 0,
|
||||
"ForInStatementClosingBrace" : "<=1",
|
||||
"ForOfStatement" : ">=1",
|
||||
"ForOfStatementExpressionOpening" : 0,
|
||||
"ForOfStatementExpressionClosing" : 0,
|
||||
"ForOfStatementOpeningBrace" : 0,
|
||||
"ForOfStatementClosingBrace" : "<=1",
|
||||
"ForStatement" : -1,
|
||||
"ForStatementExpressionOpening" : -1,
|
||||
"ForStatementExpressionClosing" : -1,
|
||||
"ForStatementOpeningBrace" : 0,
|
||||
"ForStatementClosingBrace" : "<=1",
|
||||
"FunctionExpression" : -1,
|
||||
"FunctionExpressionOpeningBrace" : 0,
|
||||
"FunctionExpressionClosingBrace" : "<=1",
|
||||
"FunctionDeclaration" : -1,
|
||||
"FunctionDeclarationOpeningBrace" : 0,
|
||||
"FunctionDeclarationClosingBrace" : "<=1",
|
||||
"IIFEClosingParentheses" : 0,
|
||||
"IfStatement" : -1,
|
||||
"IfStatementOpeningBrace" : 0,
|
||||
"IfStatementClosingBrace" : "<=1",
|
||||
"ElseIfStatement" : -1,
|
||||
"ElseIfStatementOpeningBrace" : 0,
|
||||
"ElseIfStatementClosingBrace" : "<=1",
|
||||
"ElseStatement" : 0,
|
||||
"ElseStatementOpeningBrace" : 0,
|
||||
"ElseStatementClosingBrace" : "<=1",
|
||||
"LogicalExpression" : -1,
|
||||
"MethodDefinition": ">=1",
|
||||
"MemberExpressionOpening": 0,
|
||||
"MemberExpressionClosing": 0,
|
||||
"MemberExpressionPeriod": -1,
|
||||
"ObjectExpressionClosingBrace" : -1,
|
||||
"ObjectPatternOpeningBrace": 0,
|
||||
"ObjectPatternClosingBrace": 0,
|
||||
"ObjectPatternComma": 0,
|
||||
"Property" : -1,
|
||||
"PropertyValue" : 0,
|
||||
"ReturnStatement" : -1,
|
||||
"SwitchOpeningBrace" : 0,
|
||||
"SwitchClosingBrace" : -1,
|
||||
"ThisExpression" : -1,
|
||||
"ThrowStatement" : -1,
|
||||
"TryKeyword": -1,
|
||||
"TryOpeningBrace" : 0,
|
||||
"TryClosingBrace" : "<=1",
|
||||
"VariableName" : -1,
|
||||
"VariableValue" : -1,
|
||||
"VariableDeclaration" : -1,
|
||||
"VariableDeclarationSemiColon": -1,
|
||||
"VariableDeclarationWithoutInit" : -1,
|
||||
"WhileStatement" : -1,
|
||||
"WhileStatementOpeningBrace" : 0,
|
||||
"WhileStatementClosingBrace" : "<=1"
|
||||
},
|
||||
|
||||
"after" : {
|
||||
"AssignmentExpression" : -1,
|
||||
"AssignmentOperator" : -1,
|
||||
"AssignmentPattern" : 0,
|
||||
"ArrayPatternOpening": 0,
|
||||
"ArrayPatternClosing": 0,
|
||||
"ArrayPatternComma": 0,
|
||||
"ArrowFunctionExpressionArrow": 0,
|
||||
"ArrowFunctionExpressionOpeningBrace": ">=1",
|
||||
"ArrowFunctionExpressionClosingBrace": -1,
|
||||
"BlockStatement" : -1,
|
||||
"BreakKeyword": -1,
|
||||
"CallExpression" : -1,
|
||||
"CallExpressionOpeningParentheses" : -1,
|
||||
"CallExpressionClosingParentheses" : -1,
|
||||
"ClassDeclaration" : ">=1",
|
||||
"ClassDeclarationOpeningBrace" : ">=1",
|
||||
"ClassDeclarationClosingBrace" : ">=1",
|
||||
"CatchOpeningBrace" : "<=1",
|
||||
"CatchClosingBrace" : -1,
|
||||
"CatchKeyword": 0,
|
||||
"ConditionalExpression" : -1,
|
||||
"DeleteOperator" : -1,
|
||||
"DoWhileStatement" : -1,
|
||||
"DoWhileStatementOpeningBrace" : "<=1",
|
||||
"DoWhileStatementClosingBrace" : -1,
|
||||
"EmptyStatement" : 1,
|
||||
"FinallyKeyword" : -1,
|
||||
"FinallyOpeningBrace" : "<=2",
|
||||
"FinallyClosingBrace" : -1,
|
||||
"ForInStatement" : -1,
|
||||
"ForInStatementExpressionOpening" : -1,
|
||||
"ForInStatementExpressionClosing" : -1,
|
||||
"ForInStatementOpeningBrace" : "<=1",
|
||||
"ForInStatementClosingBrace" : -1,
|
||||
"ForOfStatement" : -1,
|
||||
"ForOfStatementExpressionOpening" : "<2",
|
||||
"ForOfStatementExpressionClosing" : -1,
|
||||
"ForOfStatementOpeningBrace" : ">=1",
|
||||
"ForOfStatementClosingBrace" : ">=1",
|
||||
"ForStatement" : -1,
|
||||
"ForStatementExpressionOpening" : -1,
|
||||
"ForStatementExpressionClosing" : -1,
|
||||
"ForStatementOpeningBrace" : "<=1",
|
||||
"ForStatementClosingBrace" : -1,
|
||||
"FunctionExpression" : -1,
|
||||
"FunctionExpressionOpeningBrace" : "<=1",
|
||||
"FunctionExpressionClosingBrace" : -1,
|
||||
"FunctionDeclaration" : -1,
|
||||
"FunctionDeclarationOpeningBrace" : "<=1",
|
||||
"FunctionDeclarationClosingBrace" : -1,
|
||||
"IIFEOpeningParentheses" : 0,
|
||||
"IfStatement" : -1,
|
||||
"IfStatementOpeningBrace" : "<=1",
|
||||
"IfStatementClosingBrace" : -1,
|
||||
"ElseIfStatement" : -1,
|
||||
"ElseIfStatementOpeningBrace" : "<=1",
|
||||
"ElseIfStatementClosingBrace" : -1,
|
||||
"ElseStatement" : -1,
|
||||
"ElseStatementOpeningBrace" : "<=1",
|
||||
"ElseStatementClosingBrace" : -1,
|
||||
"LogicalExpression" : -1,
|
||||
"MethodDefinition": ">=1",
|
||||
"MemberExpressionOpening": 0,
|
||||
"MemberExpressionClosing" : ">=0",
|
||||
"MemberExpressionPeriod": 0,
|
||||
"ObjectExpressionOpeningBrace" : "<=1",
|
||||
"ObjectPatternOpeningBrace": 0,
|
||||
"ObjectPatternClosingBrace": 0,
|
||||
"ObjectPatternComma": 0,
|
||||
"Property" : -1,
|
||||
"PropertyName" : 0,
|
||||
"ReturnStatement" : -1,
|
||||
"SwitchOpeningBrace" : "<=1",
|
||||
"SwitchClosingBrace" : -1,
|
||||
"SwitchCaseColon": ">=1",
|
||||
"ThisExpression" : -1,
|
||||
"ThrowStatement" : -1,
|
||||
"TryKeyword": -1,
|
||||
"TryOpeningBrace" : "<=1",
|
||||
"TryClosingBrace" : -1,
|
||||
"VariableValue" : -1,
|
||||
"VariableDeclaration" : -1,
|
||||
"VariableDeclarationSemiColon" : ">=1",
|
||||
"WhileStatement" : -1,
|
||||
"WhileStatementOpeningBrace" : "<=1",
|
||||
"WhileStatementClosingBrace" : -1
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
"whiteSpace" : {
|
||||
"value" : " ",
|
||||
"removeTrailing" : 1,
|
||||
|
||||
"before" : {
|
||||
"AssignmentPattern" : 1,
|
||||
"ArrayExpressionOpening" : -1,
|
||||
"ArrayExpressionClosing" : -1,
|
||||
"ArrayExpressionComma" : -1,
|
||||
"ArrayPatternOpening": 1,
|
||||
"ArrayPatternClosing": 0,
|
||||
"ArrayPatternComma": 0,
|
||||
"ArrowFunctionExpressionArrow": 1,
|
||||
"ArrowFunctionExpressionOpeningBrace": 1,
|
||||
"ArrowFunctionExpressionClosingBrace": 0,
|
||||
"ArgumentComma" : -1,
|
||||
"ArgumentList" : 0,
|
||||
"AssignmentOperator" : 1,
|
||||
"BinaryExpression": -1,
|
||||
"BinaryExpressionOperator" : 1,
|
||||
"BlockComment" : 1,
|
||||
"CallExpression" : -1,
|
||||
"CallExpressionOpeningParentheses" : 0,
|
||||
"CallExpressionClosingParentheses" : -1,
|
||||
"CatchParameterList" : 0,
|
||||
"CatchOpeningBrace" : 1,
|
||||
"CatchClosingBrace" : 1,
|
||||
"CatchKeyword" : 1,
|
||||
"CommaOperator" : 0,
|
||||
"ClassDeclarationOpeningBrace" : 1,
|
||||
"ClassDeclarationClosingBrace" : 1,
|
||||
"ConditionalExpressionConsequent" : 1,
|
||||
"ConditionalExpressionAlternate" : 1,
|
||||
"DoWhileStatementOpeningBrace" : 1,
|
||||
"DoWhileStatementClosingBrace" : 1,
|
||||
"DoWhileStatementConditional" : 1,
|
||||
"EmptyStatement" : 0,
|
||||
"ExpressionClosingParentheses": 0,
|
||||
"FinallyKeyword" : -1,
|
||||
"FinallyOpeningBrace" : 1,
|
||||
"FinallyClosingBrace" : 1,
|
||||
"ForInStatement" : 1,
|
||||
"ForInStatementExpressionOpening" : 1,
|
||||
"ForInStatementExpressionClosing" : 0,
|
||||
"ForInStatementOpeningBrace" : 1,
|
||||
"ForInStatementClosingBrace" : 1,
|
||||
"ForOfStatement" : 1,
|
||||
"ForOfStatementExpressionOpening" : 1,
|
||||
"ForOfStatementExpressionClosing" : 0,
|
||||
"ForOfStatementOpeningBrace" : 1,
|
||||
"ForOfStatementClosingBrace" : 1,
|
||||
"ForStatement" : 1,
|
||||
"ForStatementExpressionOpening" : 1,
|
||||
"ForStatementExpressionClosing" : 0,
|
||||
"ForStatementOpeningBrace" : 1,
|
||||
"ForStatementClosingBrace" : -1,
|
||||
"ForStatementSemicolon" : 0,
|
||||
"FunctionDeclarationOpeningBrace" : 1,
|
||||
"FunctionDeclarationClosingBrace" : 1,
|
||||
"FunctionExpressionOpeningBrace" : 1,
|
||||
"FunctionExpressionClosingBrace" : 1,
|
||||
"FunctionGeneratorAsterisk": 1,
|
||||
"FunctionName" : 1,
|
||||
"IIFEClosingParentheses" : 0,
|
||||
"IfStatementConditionalOpening" : 1,
|
||||
"IfStatementConditionalClosing" : 0,
|
||||
"IfStatementOpeningBrace" : 1,
|
||||
"IfStatementClosingBrace" : -1,
|
||||
"ModuleSpecifierClosingBrace": 1,
|
||||
"ElseStatementOpeningBrace" : 1,
|
||||
"ElseStatementClosingBrace" : -1,
|
||||
"ElseIfStatementOpeningBrace" : 1,
|
||||
"ElseIfStatementClosingBrace" : -1,
|
||||
"LineComment" : 1,
|
||||
"LogicalExpressionOperator" : 1,
|
||||
"MemberExpressionOpening": 0,
|
||||
"MemberExpressionClosing" : -1,
|
||||
"MemberExpressionPeriod": 0,
|
||||
"ObjectExpressionOpeningBrace": -1,
|
||||
"ObjectExpressionClosingBrace": -1,
|
||||
"ObjectPatternOpeningBrace": -1,
|
||||
"ObjectPatternClosingBrace": -1,
|
||||
"ObjectPatternComma": 0,
|
||||
"Property" : -1,
|
||||
"PropertyValue" : 1,
|
||||
"ParameterComma" : -1,
|
||||
"ParameterList" : 0,
|
||||
"SwitchDiscriminantOpening" : 1,
|
||||
"SwitchDiscriminantClosing" : -1,
|
||||
"SwitchCaseColon": 0,
|
||||
"ThrowKeyword": -1,
|
||||
"TryKeyword": -1,
|
||||
"TryOpeningBrace" : 1,
|
||||
"TryClosingBrace" : -1,
|
||||
"UnaryExpressionOperator": -1,
|
||||
"VariableName" : -1,
|
||||
"VariableValue" : 1,
|
||||
"VariableDeclarationSemiColon" : 0,
|
||||
"WhileStatementConditionalOpening" : -1,
|
||||
"WhileStatementConditionalClosing" : -1,
|
||||
"WhileStatementOpeningBrace" : -1,
|
||||
"WhileStatementClosingBrace" : -1
|
||||
},
|
||||
|
||||
"after" : {
|
||||
"AssignmentPattern" : 1,
|
||||
"ArrayExpressionOpening" : -1,
|
||||
"ArrayExpressionClosing" : -1,
|
||||
"ArrayExpressionComma" : 1,
|
||||
"ArrayPatternOpening": 0,
|
||||
"ArrayPatternClosing": 1,
|
||||
"ArrayPatternComma": 1,
|
||||
"ArrowFunctionExpressionArrow": 1,
|
||||
"ArrowFunctionExpressionOpeningBrace": 0,
|
||||
"ArrowFunctionExpressionClosingBrace": 0,
|
||||
"ArgumentComma" : 1,
|
||||
"ArgumentList" : 0,
|
||||
"AssignmentOperator" : 1,
|
||||
"BinaryExpression": -1,
|
||||
"BinaryExpressionOperator" : 1,
|
||||
"BlockComment" : -1,
|
||||
"CallExpression" : -1,
|
||||
"CallExpressionOpeningParentheses" : -1,
|
||||
"CallExpressionClosingParentheses" : -1,
|
||||
"CatchParameterList" : -1,
|
||||
"CatchOpeningBrace" : -1,
|
||||
"CatchClosingBrace" : -1,
|
||||
"CatchKeyword" : -1,
|
||||
"ClassDeclarationOpeningBrace" : 1,
|
||||
"ClassDeclarationClosingBrace" : 1,
|
||||
"CommaOperator" : 1,
|
||||
"ConditionalExpressionConsequent" : 1,
|
||||
"ConditionalExpressionTest" : 1,
|
||||
"DoWhileStatementOpeningBrace" : -1,
|
||||
"DoWhileStatementClosingBrace" : -1,
|
||||
"DoWhileStatementBody" : -1,
|
||||
"EmptyStatement" : -1,
|
||||
"ExpressionOpeningParentheses" : 0,
|
||||
"FinallyKeyword" : -1,
|
||||
"FinallyOpeningBrace" : -1,
|
||||
"FinallyClosingBrace" : -1,
|
||||
"ForInStatement" : -1,
|
||||
"ForInStatementExpressionOpening" : -1,
|
||||
"ForInStatementExpressionClosing" : -1,
|
||||
"ForInStatementOpeningBrace" : -1,
|
||||
"ForInStatementClosingBrace" : -1,
|
||||
"ForStatement" : -1,
|
||||
"ForStatementExpressionOpening" : -1,
|
||||
"ForStatementExpressionClosing" : -1,
|
||||
"ForStatementClosingBrace" : -1,
|
||||
"ForStatementOpeningBrace" : -1,
|
||||
"ForStatementSemicolon" : -1,
|
||||
"FunctionReservedWord": 1,
|
||||
"FunctionName" : 0,
|
||||
"FunctionExpressionOpeningBrace" : 1,
|
||||
"FunctionExpressionClosingBrace" : -1,
|
||||
"FunctionDeclarationOpeningBrace" : 1,
|
||||
"FunctionDeclarationClosingBrace" : -1,
|
||||
"IIFEOpeningParentheses" : 0,
|
||||
"IfStatementConditionalOpening" : 0,
|
||||
"IfStatementConditionalClosing" : -1,
|
||||
"IfStatementOpeningBrace" : -1,
|
||||
"IfStatementClosingBrace" : 1,
|
||||
"ModuleSpecifierOpeningBrace": 1,
|
||||
"ElseStatementOpeningBrace" : -1,
|
||||
"ElseStatementClosingBrace" : -1,
|
||||
"ElseIfStatementOpeningBrace" : -1,
|
||||
"ElseIfStatementClosingBrace" : -1,
|
||||
"MemberExpressionOpening" : -1,
|
||||
"MemberExpressionClosing": 0,
|
||||
"MemberExpressionPeriod": 0,
|
||||
"MethodDefinitionName" : 0,
|
||||
"LogicalExpressionOperator" : 1,
|
||||
"ObjectExpressionOpeningBrace": -1,
|
||||
"ObjectExpressionClosingBrace": -1,
|
||||
"ObjectPatternOpeningBrace": -1,
|
||||
"ObjectPatternClosingBrace": -1,
|
||||
"ObjectPatternComma": 1,
|
||||
"PropertyName" : 0,
|
||||
"PropertyValue" : -1,
|
||||
"ParameterComma" : 1,
|
||||
"ParameterList" : 0,
|
||||
"SwitchDiscriminantOpening" : -1,
|
||||
"SwitchDiscriminantClosing" : 1,
|
||||
"ThrowKeyword": -1,
|
||||
"TryKeyword": -1,
|
||||
"TryOpeningBrace" : -1,
|
||||
"TryClosingBrace" : -1,
|
||||
"UnaryExpressionOperator": -1,
|
||||
"VariableName" : 1,
|
||||
"VariableValue" : 0,
|
||||
"VariableDeclarationSemiColon": -1,
|
||||
"WhileStatementConditionalOpening" : -1,
|
||||
"WhileStatementConditionalClosing" : -1,
|
||||
"WhileStatementOpeningBrace" : -1,
|
||||
"WhileStatementClosingBrace" : -1
|
||||
}
|
||||
},
|
||||
|
||||
"jsx": {
|
||||
"formatJSX": true,
|
||||
"attrsOnSameLineAsTag": false,
|
||||
"maxAttrsOnTag": 3,
|
||||
"firstAttributeOnSameLine": false,
|
||||
"alignWithFirstAttribute": false,
|
||||
"spaceInJSXExpressionContainers": "",
|
||||
"htmlOptions": {
|
||||
"brace_style": "collapse",
|
||||
"indent_char": " ",
|
||||
"indent_size": 2,
|
||||
"max_preserve_newlines": 2,
|
||||
"preserve_newlines": true
|
||||
}
|
||||
},
|
||||
|
||||
"plugins": [
|
||||
"esformatter-quotes",
|
||||
"esformatter-literal-notation",
|
||||
"esformatter-spaced-lined-comment",
|
||||
"esformatter-semicolons",
|
||||
"esformatter-semicolon-first",
|
||||
"esformatter-jsx"
|
||||
],
|
||||
|
||||
"quotes": {
|
||||
"type": "double",
|
||||
"avoidEscape": true
|
||||
}
|
||||
}
|
|
@ -81,7 +81,11 @@ The first step, `make custom-config` takes following parameters to set styles of
|
|||
* `italic='<styles>'`, styles for italics only.
|
||||
* `oblique='<styles>'`, styles for obliques only.
|
||||
|
||||
You can add arbitary styles for these variables, for example, `make custom-config upright='v-l-zshaped v-i-zshaped' && make custom` will create a variant with Z-shaped letter `l` and `i` for uprights.
|
||||
You can also customize the font family:
|
||||
|
||||
* `family='<Font Family>'`, for a customized font family name.
|
||||
|
||||
You can add arbitary styles for these variables, for example, `make custom-config upright='v-l-zshaped v-i-zshaped' family='Iosevka X' && make custom` will create a variant with Z-shaped letter `l` and `i` for uprights, and it would be named as '`Iosevka X`' after installation.
|
||||
|
||||
The current available styles are:
|
||||
|
||||
|
|
53
generator.js
53
generator.js
|
@ -82,18 +82,17 @@ const font = (function() {
|
|||
const variantData = toml.parse(fs.readFileSync(path.join(__dirname, "variants.toml"), "utf-8"));
|
||||
const emptyFont = toml.parse(fs.readFileSync(path.join(__dirname, "emptyfont.toml"), "utf-8"));
|
||||
|
||||
let para = parameters.build(parametersData, argv._);
|
||||
let vsdata = formVariantData(variantData, para);
|
||||
const para = parameters.build(parametersData, argv._);
|
||||
const vsdata = formVariantData(variantData, para);
|
||||
para.variants = vsdata;
|
||||
para.variantSelector = parameters.build(vsdata, argv._);
|
||||
para.defaultVariant = vsdata.default;
|
||||
|
||||
var fontUniqueName =
|
||||
if (argv.family) para.family = argv.family;
|
||||
const fontUniqueName =
|
||||
para.family + " " + para.style + " " + para.version + " (" + para.codename + ")";
|
||||
|
||||
console.log(" Start building font " + fontUniqueName);
|
||||
var font = buildGlyphs.build.call(emptyFont, para);
|
||||
console.log(" " + fontUniqueName + " Successfully built.");
|
||||
const font = buildGlyphs.build.call(emptyFont, para);
|
||||
|
||||
font.parameters = para;
|
||||
font.glyf = font.glyf
|
||||
.map(function(g, j) {
|
||||
|
@ -101,8 +100,8 @@ const font = (function() {
|
|||
return g;
|
||||
})
|
||||
.sort(function(a, b) {
|
||||
var pri1 = a.cmpPriority || 0;
|
||||
var pri2 = b.cmpPriority || 0;
|
||||
const pri1 = a.cmpPriority || 0;
|
||||
const pri2 = b.cmpPriority || 0;
|
||||
if (pri1 > pri2) return -1;
|
||||
if (pri1 < pri2) return 1;
|
||||
if (a.contours && b.contours && a.contours.length < b.contours.length) return 1;
|
||||
|
@ -133,30 +132,24 @@ const font = (function() {
|
|||
})();
|
||||
|
||||
if (argv.charmap) {
|
||||
(function() {
|
||||
console.log(" Writing character map -> " + argv.charmap);
|
||||
fs.writeFileSync(
|
||||
argv.charmap,
|
||||
JSON.stringify(
|
||||
font.glyf.map(function(glyph) {
|
||||
return [
|
||||
glyph.name,
|
||||
glyph.unicode,
|
||||
glyph.advanceWidth === 0
|
||||
? hasv(glyph.anchors)
|
||||
? 1
|
||||
: glyph.contours && glyph.contours.length ? 2 : 0
|
||||
: 0
|
||||
];
|
||||
})
|
||||
),
|
||||
"utf8"
|
||||
);
|
||||
})();
|
||||
fs.writeFileSync(
|
||||
argv.charmap,
|
||||
JSON.stringify(
|
||||
font.glyf.map(function(glyph) {
|
||||
return [
|
||||
glyph.name,
|
||||
glyph.unicode,
|
||||
glyph.advanceWidth === 0
|
||||
? hasv(glyph.anchors) ? 1 : glyph.contours && glyph.contours.length ? 2 : 0
|
||||
: 0
|
||||
];
|
||||
})
|
||||
),
|
||||
"utf8"
|
||||
);
|
||||
}
|
||||
|
||||
if (argv.o) {
|
||||
console.log(" Writing output -> " + argv.o);
|
||||
var o_glyf = {};
|
||||
var cmap = {};
|
||||
var skew = (argv.uprightify ? 1 : 0) * Math.tan((font.post.italicAngle || 0) / 180 * Math.PI);
|
||||
|
|
2
makefile
2
makefile
|
@ -53,7 +53,7 @@ ifndef prestyle
|
|||
prestyle = nothing
|
||||
endif
|
||||
|
||||
CREATECONFIG = node maker.js --custom $(set) --design '$(design)' --upright '$(upright)' --italic '$(italic)' --oblique '$(oblique)' --prestyle '$(prestyle)' > $(BUILD)/targets-$(set).mk
|
||||
CREATECONFIG = node maker.js --custom $(set) --design '$(design)' --upright '$(upright)' --italic '$(italic)' --oblique '$(oblique)' --prestyle '$(prestyle)' --family '$(family)' > $(BUILD)/targets-$(set).mk
|
||||
|
||||
custom-config : maker.js | $(BUILD)/
|
||||
$(CREATECONFIG)
|
||||
|
|
28
maker.js
28
maker.js
|
@ -64,29 +64,33 @@ let definedBuildSeqs = {};
|
|||
|
||||
function createMake(mapping) {
|
||||
const { hives, dir, filename, cm, custom } = mapping;
|
||||
let tfname = `$(BUILD)/${filename}.0.otd`;
|
||||
let cmTarget = `$(BUILD)/${filename}.charmap`;
|
||||
const tfname = `$(BUILD)/${filename}.0.otd`;
|
||||
const cmTarget = `$(BUILD)/${filename}.charmap`;
|
||||
|
||||
let target = `$(DIST)/${dir}/ttf/${filename}.ttf`;
|
||||
let woffTarget = `$(DIST)/${dir}/woff/${filename}.woff`;
|
||||
let woff2Target = `$(DIST)/${dir}/woff2/${filename}.woff2`;
|
||||
const target = `$(DIST)/${dir}/ttf/${filename}.ttf`;
|
||||
const woffTarget = `$(DIST)/${dir}/woff/${filename}.woff`;
|
||||
const woff2Target = `$(DIST)/${dir}/woff2/${filename}.woff2`;
|
||||
|
||||
let buf = "";
|
||||
if (!definedBuildSeqs[tfname]) {
|
||||
const output = `-o $@`;
|
||||
const charmapOutput = cm ? "--charmap $(BUILD)/" + filename + ".charmap" : "";
|
||||
const familyDirective = argv.family ? `--family '${argv.family}'` : "";
|
||||
|
||||
buf += `
|
||||
${tfname} : ${custom || ""} $(SCRIPTS) | $(BUILD) $(DIST)/${dir}/
|
||||
@echo Building ${filename} with ${hives.join(" ")}
|
||||
$(GENERATE) ${hives.join(" ")} -o $@ ${cm ? "--charmap $(BUILD)/" + filename + ".charmap" : ""}`;
|
||||
@echo Building ${filename}, with ${hives.join(" ")}
|
||||
$(GENERATE) ${hives.join(" ")} ${familyDirective} ${output} ${charmapOutput}
|
||||
`;
|
||||
definedBuildSeqs[tfname] = true;
|
||||
}
|
||||
buf += `
|
||||
${target} : ${tfname} | $(DIST)/${dir}/ttf/
|
||||
@echo Hinting and optimizing ${tfname} '->' $@
|
||||
@otfccbuild ${tfname} -o $(BUILD)/${filename}.1.ttf --keep-average-char-width
|
||||
@ttfautohint $(BUILD)/${filename}.1.ttf $(BUILD)/${filename}.2.ttf
|
||||
@otfccdump $(BUILD)/${filename}.2.ttf -o $(BUILD)/${filename}.2.otd --pretty
|
||||
@otfccbuild $(BUILD)/${filename}.2.otd -o $@ -O3 -s --keep-average-char-width
|
||||
@rm $(BUILD)/${filename}.1.ttf $(BUILD)/${filename}.2.ttf $(BUILD)/${filename}.2.otd`;
|
||||
@otfccbuild ${tfname} -o $(BUILD)/${filename}.1.ttf -O3 --keep-average-char-width
|
||||
@ttfautohint $(BUILD)/${filename}.1.ttf $@
|
||||
@rm $(BUILD)/${filename}.1.ttf
|
||||
`;
|
||||
|
||||
buf += `
|
||||
${woffTarget} : ${target} | $(DIST)/${dir}/woff/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue