add initial marp implementation with sample content and build configuration
This commit is contained in:
+4
@@ -0,0 +1,4 @@
|
||||
import { Configuration } from '../Configuration.js';
|
||||
import { ParseMethod } from '../Types.js';
|
||||
export declare let UnicodeMethods: Record<string, ParseMethod>;
|
||||
export declare const UnicodeConfiguration: Configuration;
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.UnicodeConfiguration = exports.UnicodeMethods = void 0;
|
||||
var Configuration_js_1 = require("../Configuration.js");
|
||||
var TexError_js_1 = __importDefault(require("../TexError.js"));
|
||||
var SymbolMap_js_1 = require("../SymbolMap.js");
|
||||
var ParseUtil_js_1 = __importDefault(require("../ParseUtil.js"));
|
||||
var NodeUtil_js_1 = __importDefault(require("../NodeUtil.js"));
|
||||
var Entities_js_1 = require("../../../util/Entities.js");
|
||||
exports.UnicodeMethods = {};
|
||||
var UnicodeCache = {};
|
||||
exports.UnicodeMethods.Unicode = function (parser, name) {
|
||||
var HD = parser.GetBrackets(name);
|
||||
var HDsplit = null;
|
||||
var font = null;
|
||||
if (HD) {
|
||||
if (HD.replace(/ /g, '').
|
||||
match(/^(\d+(\.\d*)?|\.\d+),(\d+(\.\d*)?|\.\d+)$/)) {
|
||||
HDsplit = HD.replace(/ /g, '').split(/,/);
|
||||
font = parser.GetBrackets(name);
|
||||
}
|
||||
else {
|
||||
font = HD;
|
||||
}
|
||||
}
|
||||
var n = ParseUtil_js_1.default.trimSpaces(parser.GetArgument(name)).replace(/^0x/, 'x');
|
||||
if (!n.match(/^(x[0-9A-Fa-f]+|[0-9]+)$/)) {
|
||||
throw new TexError_js_1.default('BadUnicode', 'Argument to \\unicode must be a number');
|
||||
}
|
||||
var N = parseInt(n.match(/^x/) ? '0' + n : n);
|
||||
if (!UnicodeCache[N]) {
|
||||
UnicodeCache[N] = [800, 200, font, N];
|
||||
}
|
||||
else if (!font) {
|
||||
font = UnicodeCache[N][2];
|
||||
}
|
||||
if (HDsplit) {
|
||||
UnicodeCache[N][0] = Math.floor(parseFloat(HDsplit[0]) * 1000);
|
||||
UnicodeCache[N][1] = Math.floor(parseFloat(HDsplit[1]) * 1000);
|
||||
}
|
||||
var variant = parser.stack.env.font;
|
||||
var def = {};
|
||||
if (font) {
|
||||
UnicodeCache[N][2] = def.fontfamily = font.replace(/'/g, '\'');
|
||||
if (variant) {
|
||||
if (variant.match(/bold/)) {
|
||||
def.fontweight = 'bold';
|
||||
}
|
||||
if (variant.match(/italic|-mathit/)) {
|
||||
def.fontstyle = 'italic';
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (variant) {
|
||||
def.mathvariant = variant;
|
||||
}
|
||||
var node = parser.create('token', 'mtext', def, (0, Entities_js_1.numeric)(n));
|
||||
NodeUtil_js_1.default.setProperty(node, 'unicode', true);
|
||||
parser.Push(node);
|
||||
};
|
||||
new SymbolMap_js_1.CommandMap('unicode', { unicode: 'Unicode' }, exports.UnicodeMethods);
|
||||
exports.UnicodeConfiguration = Configuration_js_1.Configuration.create('unicode', { handler: { macro: ['unicode'] } });
|
||||
//# sourceMappingURL=UnicodeConfiguration.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"UnicodeConfiguration.js","sourceRoot":"","sources":["../../../../ts/input/tex/unicode/UnicodeConfiguration.ts"],"names":[],"mappings":"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"}
|
||||
Reference in New Issue
Block a user