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.
|
* `italic='<styles>'`, styles for italics only.
|
||||||
* `oblique='<styles>'`, styles for obliques 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:
|
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 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"));
|
const emptyFont = toml.parse(fs.readFileSync(path.join(__dirname, "emptyfont.toml"), "utf-8"));
|
||||||
|
|
||||||
let para = parameters.build(parametersData, argv._);
|
const para = parameters.build(parametersData, argv._);
|
||||||
let vsdata = formVariantData(variantData, para);
|
const vsdata = formVariantData(variantData, para);
|
||||||
para.variants = vsdata;
|
para.variants = vsdata;
|
||||||
para.variantSelector = parameters.build(vsdata, argv._);
|
para.variantSelector = parameters.build(vsdata, argv._);
|
||||||
para.defaultVariant = vsdata.default;
|
para.defaultVariant = vsdata.default;
|
||||||
|
if (argv.family) para.family = argv.family;
|
||||||
var fontUniqueName =
|
const fontUniqueName =
|
||||||
para.family + " " + para.style + " " + para.version + " (" + para.codename + ")";
|
para.family + " " + para.style + " " + para.version + " (" + para.codename + ")";
|
||||||
|
|
||||||
console.log(" Start building font " + fontUniqueName);
|
const font = buildGlyphs.build.call(emptyFont, para);
|
||||||
var font = buildGlyphs.build.call(emptyFont, para);
|
|
||||||
console.log(" " + fontUniqueName + " Successfully built.");
|
|
||||||
font.parameters = para;
|
font.parameters = para;
|
||||||
font.glyf = font.glyf
|
font.glyf = font.glyf
|
||||||
.map(function(g, j) {
|
.map(function(g, j) {
|
||||||
|
@ -101,8 +100,8 @@ const font = (function() {
|
||||||
return g;
|
return g;
|
||||||
})
|
})
|
||||||
.sort(function(a, b) {
|
.sort(function(a, b) {
|
||||||
var pri1 = a.cmpPriority || 0;
|
const pri1 = a.cmpPriority || 0;
|
||||||
var pri2 = b.cmpPriority || 0;
|
const pri2 = b.cmpPriority || 0;
|
||||||
if (pri1 > pri2) return -1;
|
if (pri1 > pri2) return -1;
|
||||||
if (pri1 < pri2) return 1;
|
if (pri1 < pri2) return 1;
|
||||||
if (a.contours && b.contours && a.contours.length < b.contours.length) 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) {
|
if (argv.charmap) {
|
||||||
(function() {
|
fs.writeFileSync(
|
||||||
console.log(" Writing character map -> " + argv.charmap);
|
argv.charmap,
|
||||||
fs.writeFileSync(
|
JSON.stringify(
|
||||||
argv.charmap,
|
font.glyf.map(function(glyph) {
|
||||||
JSON.stringify(
|
return [
|
||||||
font.glyf.map(function(glyph) {
|
glyph.name,
|
||||||
return [
|
glyph.unicode,
|
||||||
glyph.name,
|
glyph.advanceWidth === 0
|
||||||
glyph.unicode,
|
? hasv(glyph.anchors) ? 1 : glyph.contours && glyph.contours.length ? 2 : 0
|
||||||
glyph.advanceWidth === 0
|
: 0
|
||||||
? hasv(glyph.anchors)
|
];
|
||||||
? 1
|
})
|
||||||
: glyph.contours && glyph.contours.length ? 2 : 0
|
),
|
||||||
: 0
|
"utf8"
|
||||||
];
|
);
|
||||||
})
|
|
||||||
),
|
|
||||||
"utf8"
|
|
||||||
);
|
|
||||||
})();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (argv.o) {
|
if (argv.o) {
|
||||||
console.log(" Writing output -> " + argv.o);
|
|
||||||
var o_glyf = {};
|
var o_glyf = {};
|
||||||
var cmap = {};
|
var cmap = {};
|
||||||
var skew = (argv.uprightify ? 1 : 0) * Math.tan((font.post.italicAngle || 0) / 180 * Math.PI);
|
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
|
prestyle = nothing
|
||||||
endif
|
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)/
|
custom-config : maker.js | $(BUILD)/
|
||||||
$(CREATECONFIG)
|
$(CREATECONFIG)
|
||||||
|
|
28
maker.js
28
maker.js
|
@ -64,29 +64,33 @@ let definedBuildSeqs = {};
|
||||||
|
|
||||||
function createMake(mapping) {
|
function createMake(mapping) {
|
||||||
const { hives, dir, filename, cm, custom } = mapping;
|
const { hives, dir, filename, cm, custom } = mapping;
|
||||||
let tfname = `$(BUILD)/${filename}.0.otd`;
|
const tfname = `$(BUILD)/${filename}.0.otd`;
|
||||||
let cmTarget = `$(BUILD)/${filename}.charmap`;
|
const cmTarget = `$(BUILD)/${filename}.charmap`;
|
||||||
|
|
||||||
let target = `$(DIST)/${dir}/ttf/${filename}.ttf`;
|
const target = `$(DIST)/${dir}/ttf/${filename}.ttf`;
|
||||||
let woffTarget = `$(DIST)/${dir}/woff/${filename}.woff`;
|
const woffTarget = `$(DIST)/${dir}/woff/${filename}.woff`;
|
||||||
let woff2Target = `$(DIST)/${dir}/woff2/${filename}.woff2`;
|
const woff2Target = `$(DIST)/${dir}/woff2/${filename}.woff2`;
|
||||||
|
|
||||||
let buf = "";
|
let buf = "";
|
||||||
if (!definedBuildSeqs[tfname]) {
|
if (!definedBuildSeqs[tfname]) {
|
||||||
|
const output = `-o $@`;
|
||||||
|
const charmapOutput = cm ? "--charmap $(BUILD)/" + filename + ".charmap" : "";
|
||||||
|
const familyDirective = argv.family ? `--family '${argv.family}'` : "";
|
||||||
|
|
||||||
buf += `
|
buf += `
|
||||||
${tfname} : ${custom || ""} $(SCRIPTS) | $(BUILD) $(DIST)/${dir}/
|
${tfname} : ${custom || ""} $(SCRIPTS) | $(BUILD) $(DIST)/${dir}/
|
||||||
@echo Building ${filename} with ${hives.join(" ")}
|
@echo Building ${filename}, with ${hives.join(" ")}
|
||||||
$(GENERATE) ${hives.join(" ")} -o $@ ${cm ? "--charmap $(BUILD)/" + filename + ".charmap" : ""}`;
|
$(GENERATE) ${hives.join(" ")} ${familyDirective} ${output} ${charmapOutput}
|
||||||
|
`;
|
||||||
definedBuildSeqs[tfname] = true;
|
definedBuildSeqs[tfname] = true;
|
||||||
}
|
}
|
||||||
buf += `
|
buf += `
|
||||||
${target} : ${tfname} | $(DIST)/${dir}/ttf/
|
${target} : ${tfname} | $(DIST)/${dir}/ttf/
|
||||||
@echo Hinting and optimizing ${tfname} '->' $@
|
@echo Hinting and optimizing ${tfname} '->' $@
|
||||||
@otfccbuild ${tfname} -o $(BUILD)/${filename}.1.ttf --keep-average-char-width
|
@otfccbuild ${tfname} -o $(BUILD)/${filename}.1.ttf -O3 --keep-average-char-width
|
||||||
@ttfautohint $(BUILD)/${filename}.1.ttf $(BUILD)/${filename}.2.ttf
|
@ttfautohint $(BUILD)/${filename}.1.ttf $@
|
||||||
@otfccdump $(BUILD)/${filename}.2.ttf -o $(BUILD)/${filename}.2.otd --pretty
|
@rm $(BUILD)/${filename}.1.ttf
|
||||||
@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`;
|
|
||||||
|
|
||||||
buf += `
|
buf += `
|
||||||
${woffTarget} : ${target} | $(DIST)/${dir}/woff/
|
${woffTarget} : ${target} | $(DIST)/${dir}/woff/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue