10295 lines
331 KiB
JavaScript
10295 lines
331 KiB
JavaScript
class u0 {
|
||
constructor(e, t, a) {
|
||
(this.lexer = void 0), (this.start = void 0), (this.end = void 0), (this.lexer = e), (this.start = t), (this.end = a);
|
||
}
|
||
static range(e, t) {
|
||
return t ? (!e || !e.loc || !t.loc || e.loc.lexer !== t.loc.lexer ? null : new u0(e.loc.lexer, e.loc.start, t.loc.end)) : e && e.loc;
|
||
}
|
||
}
|
||
class f0 {
|
||
constructor(e, t) {
|
||
(this.text = void 0), (this.loc = void 0), (this.noexpand = void 0), (this.treatAsRelax = void 0), (this.text = e), (this.loc = t);
|
||
}
|
||
range(e, t) {
|
||
return new f0(t, u0.range(this, e));
|
||
}
|
||
}
|
||
class M {
|
||
constructor(e, t) {
|
||
(this.name = void 0), (this.position = void 0), (this.length = void 0), (this.rawMessage = void 0);
|
||
var a = 'KaTeX parse error: ' + e,
|
||
n,
|
||
s,
|
||
o = t && t.loc;
|
||
if (o && o.start <= o.end) {
|
||
var h = o.lexer.input;
|
||
(n = o.start), (s = o.end), n === h.length ? (a += ' at end of input: ') : (a += ' at position ' + (n + 1) + ': ');
|
||
var c = h.slice(n, s).replace(/[^]/g, '$&̲'),
|
||
p;
|
||
n > 15 ? (p = '…' + h.slice(n - 15, n)) : (p = h.slice(0, n));
|
||
var g;
|
||
s + 15 < h.length ? (g = h.slice(s, s + 15) + '…') : (g = h.slice(s)), (a += p + c + g);
|
||
}
|
||
var y = new Error(a);
|
||
return (
|
||
(y.name = 'ParseError'), (y.__proto__ = M.prototype), (y.position = n), n != null && s != null && (y.length = s - n), (y.rawMessage = e), y
|
||
);
|
||
}
|
||
}
|
||
M.prototype.__proto__ = Error.prototype;
|
||
var da = function (e, t) {
|
||
return e.indexOf(t) !== -1;
|
||
},
|
||
fa = function (e, t) {
|
||
return e === void 0 ? t : e;
|
||
},
|
||
pa = /([A-Z])/g,
|
||
va = function (e) {
|
||
return e.replace(pa, '-$1').toLowerCase();
|
||
},
|
||
ga = { '&': '&', '>': '>', '<': '<', '"': '"', "'": ''' },
|
||
ba = /[&><"']/g;
|
||
function ya(r) {
|
||
return String(r).replace(ba, (e) => ga[e]);
|
||
}
|
||
var pr = function r(e) {
|
||
return e.type === 'ordgroup' || e.type === 'color' ? (e.body.length === 1 ? r(e.body[0]) : e) : e.type === 'font' ? r(e.body) : e;
|
||
},
|
||
xa = function (e) {
|
||
var t = pr(e);
|
||
return t.type === 'mathord' || t.type === 'textord' || t.type === 'atom';
|
||
},
|
||
wa = function (e) {
|
||
if (!e) throw new Error('Expected non-null, but got ' + String(e));
|
||
return e;
|
||
},
|
||
ka = function (e) {
|
||
var t = /^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);
|
||
return t ? (t[2] !== ':' || !/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1]) ? null : t[1].toLowerCase()) : '_relative';
|
||
},
|
||
q = { contains: da, deflt: fa, escape: ya, hyphenate: va, getBaseElem: pr, isCharacterBox: xa, protocolFromUrl: ka },
|
||
ze = {
|
||
displayMode: {
|
||
type: 'boolean',
|
||
description:
|
||
'Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.',
|
||
cli: '-d, --display-mode',
|
||
},
|
||
output: {
|
||
type: { enum: ['htmlAndMathml', 'html', 'mathml'] },
|
||
description: 'Determines the markup language of the output.',
|
||
cli: '-F, --format <type>',
|
||
},
|
||
leqno: { type: 'boolean', description: 'Render display math in leqno style (left-justified tags).' },
|
||
fleqn: { type: 'boolean', description: 'Render display math flush left.' },
|
||
throwOnError: {
|
||
type: 'boolean',
|
||
default: !0,
|
||
cli: '-t, --no-throw-on-error',
|
||
cliDescription: 'Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.',
|
||
},
|
||
errorColor: {
|
||
type: 'string',
|
||
default: '#cc0000',
|
||
cli: '-c, --error-color <color>',
|
||
cliDescription:
|
||
"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",
|
||
cliProcessor: (r) => '#' + r,
|
||
},
|
||
macros: {
|
||
type: 'object',
|
||
cli: '-m, --macro <def>',
|
||
cliDescription: "Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",
|
||
cliDefault: [],
|
||
cliProcessor: (r, e) => (e.push(r), e),
|
||
},
|
||
minRuleThickness: {
|
||
type: 'number',
|
||
description:
|
||
'Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.',
|
||
processor: (r) => Math.max(0, r),
|
||
cli: '--min-rule-thickness <size>',
|
||
cliProcessor: parseFloat,
|
||
},
|
||
colorIsTextColor: {
|
||
type: 'boolean',
|
||
description: "Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",
|
||
cli: '-b, --color-is-text-color',
|
||
},
|
||
strict: {
|
||
type: [{ enum: ['warn', 'ignore', 'error'] }, 'boolean', 'function'],
|
||
description: 'Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.',
|
||
cli: '-S, --strict',
|
||
cliDefault: !1,
|
||
},
|
||
trust: { type: ['boolean', 'function'], description: 'Trust the input, enabling all HTML features such as \\url.', cli: '-T, --trust' },
|
||
maxSize: {
|
||
type: 'number',
|
||
default: 1 / 0,
|
||
description:
|
||
'If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large',
|
||
processor: (r) => Math.max(0, r),
|
||
cli: '-s, --max-size <n>',
|
||
cliProcessor: parseInt,
|
||
},
|
||
maxExpand: {
|
||
type: 'number',
|
||
default: 1e3,
|
||
description:
|
||
'Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.',
|
||
processor: (r) => Math.max(0, r),
|
||
cli: '-e, --max-expand <n>',
|
||
cliProcessor: (r) => (r === 'Infinity' ? 1 / 0 : parseInt(r)),
|
||
},
|
||
globalGroup: { type: 'boolean', cli: !1 },
|
||
};
|
||
function Sa(r) {
|
||
if (r.default) return r.default;
|
||
var e = r.type,
|
||
t = Array.isArray(e) ? e[0] : e;
|
||
if (typeof t != 'string') return t.enum[0];
|
||
switch (t) {
|
||
case 'boolean':
|
||
return !1;
|
||
case 'string':
|
||
return '';
|
||
case 'number':
|
||
return 0;
|
||
case 'object':
|
||
return {};
|
||
}
|
||
}
|
||
class ct {
|
||
constructor(e) {
|
||
(this.displayMode = void 0),
|
||
(this.output = void 0),
|
||
(this.leqno = void 0),
|
||
(this.fleqn = void 0),
|
||
(this.throwOnError = void 0),
|
||
(this.errorColor = void 0),
|
||
(this.macros = void 0),
|
||
(this.minRuleThickness = void 0),
|
||
(this.colorIsTextColor = void 0),
|
||
(this.strict = void 0),
|
||
(this.trust = void 0),
|
||
(this.maxSize = void 0),
|
||
(this.maxExpand = void 0),
|
||
(this.globalGroup = void 0),
|
||
(e = e || {});
|
||
for (var t in ze)
|
||
if (ze.hasOwnProperty(t)) {
|
||
var a = ze[t];
|
||
this[t] = e[t] !== void 0 ? (a.processor ? a.processor(e[t]) : e[t]) : Sa(a);
|
||
}
|
||
}
|
||
reportNonstrict(e, t, a) {
|
||
var n = this.strict;
|
||
if ((typeof n == 'function' && (n = n(e, t, a)), !(!n || n === 'ignore'))) {
|
||
if (n === !0 || n === 'error') throw new M("LaTeX-incompatible input and strict mode is set to 'error': " + (t + ' [' + e + ']'), a);
|
||
n === 'warn'
|
||
? typeof console < 'u' && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + (t + ' [' + e + ']'))
|
||
: typeof console < 'u' &&
|
||
console.warn('LaTeX-incompatible input and strict mode is set to ' + ("unrecognized '" + n + "': " + t + ' [' + e + ']'));
|
||
}
|
||
}
|
||
useStrictBehavior(e, t, a) {
|
||
var n = this.strict;
|
||
if (typeof n == 'function')
|
||
try {
|
||
n = n(e, t, a);
|
||
} catch {
|
||
n = 'error';
|
||
}
|
||
return !n || n === 'ignore'
|
||
? !1
|
||
: n === !0 || n === 'error'
|
||
? !0
|
||
: n === 'warn'
|
||
? (typeof console < 'u' && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + (t + ' [' + e + ']')), !1)
|
||
: (typeof console < 'u' &&
|
||
console.warn('LaTeX-incompatible input and strict mode is set to ' + ("unrecognized '" + n + "': " + t + ' [' + e + ']')),
|
||
!1);
|
||
}
|
||
isTrusted(e) {
|
||
if (e.url && !e.protocol) {
|
||
var t = q.protocolFromUrl(e.url);
|
||
if (t == null) return !1;
|
||
e.protocol = t;
|
||
}
|
||
var a = typeof this.trust == 'function' ? this.trust(e) : this.trust;
|
||
return !!a;
|
||
}
|
||
}
|
||
class O0 {
|
||
constructor(e, t, a) {
|
||
(this.id = void 0), (this.size = void 0), (this.cramped = void 0), (this.id = e), (this.size = t), (this.cramped = a);
|
||
}
|
||
sup() {
|
||
return y0[Ma[this.id]];
|
||
}
|
||
sub() {
|
||
return y0[za[this.id]];
|
||
}
|
||
fracNum() {
|
||
return y0[Aa[this.id]];
|
||
}
|
||
fracDen() {
|
||
return y0[Ta[this.id]];
|
||
}
|
||
cramp() {
|
||
return y0[Ba[this.id]];
|
||
}
|
||
text() {
|
||
return y0[Da[this.id]];
|
||
}
|
||
isTight() {
|
||
return this.size >= 2;
|
||
}
|
||
}
|
||
var dt = 0,
|
||
Te = 1,
|
||
_0 = 2,
|
||
T0 = 3,
|
||
le = 4,
|
||
d0 = 5,
|
||
ee = 6,
|
||
n0 = 7,
|
||
y0 = [
|
||
new O0(dt, 0, !1),
|
||
new O0(Te, 0, !0),
|
||
new O0(_0, 1, !1),
|
||
new O0(T0, 1, !0),
|
||
new O0(le, 2, !1),
|
||
new O0(d0, 2, !0),
|
||
new O0(ee, 3, !1),
|
||
new O0(n0, 3, !0),
|
||
],
|
||
Ma = [le, d0, le, d0, ee, n0, ee, n0],
|
||
za = [d0, d0, d0, d0, n0, n0, n0, n0],
|
||
Aa = [_0, T0, le, d0, ee, n0, ee, n0],
|
||
Ta = [T0, T0, d0, d0, n0, n0, n0, n0],
|
||
Ba = [Te, Te, T0, T0, d0, d0, n0, n0],
|
||
Da = [dt, Te, _0, T0, _0, T0, _0, T0],
|
||
R = { DISPLAY: y0[dt], TEXT: y0[_0], SCRIPT: y0[le], SCRIPTSCRIPT: y0[ee] },
|
||
at = [
|
||
{
|
||
name: 'latin',
|
||
blocks: [
|
||
[256, 591],
|
||
[768, 879],
|
||
],
|
||
},
|
||
{ name: 'cyrillic', blocks: [[1024, 1279]] },
|
||
{ name: 'armenian', blocks: [[1328, 1423]] },
|
||
{ name: 'brahmic', blocks: [[2304, 4255]] },
|
||
{ name: 'georgian', blocks: [[4256, 4351]] },
|
||
{
|
||
name: 'cjk',
|
||
blocks: [
|
||
[12288, 12543],
|
||
[19968, 40879],
|
||
[65280, 65376],
|
||
],
|
||
},
|
||
{ name: 'hangul', blocks: [[44032, 55215]] },
|
||
];
|
||
function Ca(r) {
|
||
for (var e = 0; e < at.length; e++)
|
||
for (var t = at[e], a = 0; a < t.blocks.length; a++) {
|
||
var n = t.blocks[a];
|
||
if (r >= n[0] && r <= n[1]) return t.name;
|
||
}
|
||
return null;
|
||
}
|
||
var Ae = [];
|
||
at.forEach((r) => r.blocks.forEach((e) => Ae.push(...e)));
|
||
function vr(r) {
|
||
for (var e = 0; e < Ae.length; e += 2) if (r >= Ae[e] && r <= Ae[e + 1]) return !0;
|
||
return !1;
|
||
}
|
||
var Q0 = 80,
|
||
Na = function (e, t) {
|
||
return (
|
||
'M95,' +
|
||
(622 + e + t) +
|
||
`
|
||
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
|
||
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
|
||
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
|
||
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
|
||
c69,-144,104.5,-217.7,106.5,-221
|
||
l` +
|
||
e / 2.075 +
|
||
' -' +
|
||
e +
|
||
`
|
||
c5.3,-9.3,12,-14,20,-14
|
||
H400000v` +
|
||
(40 + e) +
|
||
`H845.2724
|
||
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
|
||
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
|
||
M` +
|
||
(834 + e) +
|
||
' ' +
|
||
t +
|
||
'h400000v' +
|
||
(40 + e) +
|
||
'h-400000z'
|
||
);
|
||
},
|
||
qa = function (e, t) {
|
||
return (
|
||
'M263,' +
|
||
(601 + e + t) +
|
||
`c0.7,0,18,39.7,52,119
|
||
c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
|
||
c340,-704.7,510.7,-1060.3,512,-1067
|
||
l` +
|
||
e / 2.084 +
|
||
' -' +
|
||
e +
|
||
`
|
||
c4.7,-7.3,11,-11,19,-11
|
||
H40000v` +
|
||
(40 + e) +
|
||
`H1012.3
|
||
s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
|
||
c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
|
||
s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
|
||
c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
|
||
M` +
|
||
(1001 + e) +
|
||
' ' +
|
||
t +
|
||
'h400000v' +
|
||
(40 + e) +
|
||
'h-400000z'
|
||
);
|
||
},
|
||
Ea = function (e, t) {
|
||
return (
|
||
'M983 ' +
|
||
(10 + e + t) +
|
||
`
|
||
l` +
|
||
e / 3.13 +
|
||
' -' +
|
||
e +
|
||
`
|
||
c4,-6.7,10,-10,18,-10 H400000v` +
|
||
(40 + e) +
|
||
`
|
||
H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
|
||
s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
|
||
c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
|
||
c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
|
||
c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
|
||
c53.7,-170.3,84.5,-266.8,92.5,-289.5z
|
||
M` +
|
||
(1001 + e) +
|
||
' ' +
|
||
t +
|
||
'h400000v' +
|
||
(40 + e) +
|
||
'h-400000z'
|
||
);
|
||
},
|
||
Ra = function (e, t) {
|
||
return (
|
||
'M424,' +
|
||
(2398 + e + t) +
|
||
`
|
||
c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
|
||
c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
|
||
s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
|
||
s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
|
||
l` +
|
||
e / 4.223 +
|
||
' -' +
|
||
e +
|
||
`c4,-6.7,10,-10,18,-10 H400000
|
||
v` +
|
||
(40 + e) +
|
||
`H1014.6
|
||
s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
|
||
c-2,6,-10,9,-24,9
|
||
c-8,0,-12,-0.7,-12,-2z M` +
|
||
(1001 + e) +
|
||
' ' +
|
||
t +
|
||
`
|
||
h400000v` +
|
||
(40 + e) +
|
||
'h-400000z'
|
||
);
|
||
},
|
||
Ia = function (e, t) {
|
||
return (
|
||
'M473,' +
|
||
(2713 + e + t) +
|
||
`
|
||
c339.3,-1799.3,509.3,-2700,510,-2702 l` +
|
||
e / 5.298 +
|
||
' -' +
|
||
e +
|
||
`
|
||
c3.3,-7.3,9.3,-11,18,-11 H400000v` +
|
||
(40 + e) +
|
||
`H1017.7
|
||
s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
|
||
c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
|
||
c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
|
||
s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
|
||
606zM` +
|
||
(1001 + e) +
|
||
' ' +
|
||
t +
|
||
'h400000v' +
|
||
(40 + e) +
|
||
'H1017.7z'
|
||
);
|
||
},
|
||
Oa = function (e) {
|
||
var t = e / 2;
|
||
return 'M400000 ' + e + ' H0 L' + t + ' 0 l65 45 L145 ' + (e - 80) + ' H400000z';
|
||
},
|
||
Ha = function (e, t, a) {
|
||
var n = a - 54 - t - e;
|
||
return (
|
||
'M702 ' +
|
||
(e + t) +
|
||
'H400000' +
|
||
(40 + e) +
|
||
`
|
||
H742v` +
|
||
n +
|
||
`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
|
||
h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
|
||
c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
|
||
219 661 l218 661zM702 ` +
|
||
t +
|
||
'H400000v' +
|
||
(40 + e) +
|
||
'H742z'
|
||
);
|
||
},
|
||
Fa = function (e, t, a) {
|
||
t = 1e3 * t;
|
||
var n = '';
|
||
switch (e) {
|
||
case 'sqrtMain':
|
||
n = Na(t, Q0);
|
||
break;
|
||
case 'sqrtSize1':
|
||
n = qa(t, Q0);
|
||
break;
|
||
case 'sqrtSize2':
|
||
n = Ea(t, Q0);
|
||
break;
|
||
case 'sqrtSize3':
|
||
n = Ra(t, Q0);
|
||
break;
|
||
case 'sqrtSize4':
|
||
n = Ia(t, Q0);
|
||
break;
|
||
case 'sqrtTall':
|
||
n = Ha(t, Q0, a);
|
||
}
|
||
return n;
|
||
},
|
||
La = function (e, t) {
|
||
switch (e) {
|
||
case '⎜':
|
||
return 'M291 0 H417 V' + t + ' H291z M291 0 H417 V' + t + ' H291z';
|
||
case '∣':
|
||
return 'M145 0 H188 V' + t + ' H145z M145 0 H188 V' + t + ' H145z';
|
||
case '∥':
|
||
return 'M145 0 H188 V' + t + ' H145z M145 0 H188 V' + t + ' H145z' + ('M367 0 H410 V' + t + ' H367z M367 0 H410 V' + t + ' H367z');
|
||
case '⎟':
|
||
return 'M457 0 H583 V' + t + ' H457z M457 0 H583 V' + t + ' H457z';
|
||
case '⎢':
|
||
return 'M319 0 H403 V' + t + ' H319z M319 0 H403 V' + t + ' H319z';
|
||
case '⎥':
|
||
return 'M263 0 H347 V' + t + ' H263z M263 0 H347 V' + t + ' H263z';
|
||
case '⎪':
|
||
return 'M384 0 H504 V' + t + ' H384z M384 0 H504 V' + t + ' H384z';
|
||
case '⏐':
|
||
return 'M312 0 H355 V' + t + ' H312z M312 0 H355 V' + t + ' H312z';
|
||
case '‖':
|
||
return 'M257 0 H300 V' + t + ' H257z M257 0 H300 V' + t + ' H257z' + ('M478 0 H521 V' + t + ' H478z M478 0 H521 V' + t + ' H478z');
|
||
default:
|
||
return '';
|
||
}
|
||
},
|
||
It = {
|
||
doubleleftarrow: `M262 157
|
||
l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
|
||
0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
|
||
14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
|
||
c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5
|
||
157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87
|
||
-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
|
||
-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
|
||
m8 0v40h399730v-40zm0 194v40h399730v-40z`,
|
||
doublerightarrow: `M399738 392l
|
||
-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5
|
||
14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88
|
||
-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68
|
||
-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18
|
||
-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
|
||
c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3
|
||
-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,
|
||
leftarrow: `M400000 241H110l3-3c68.7-52.7 113.7-120
|
||
135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8
|
||
-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247
|
||
c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208
|
||
490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3
|
||
1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202
|
||
l-3-3h399890zM100 241v40h399900v-40z`,
|
||
leftbrace: `M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
|
||
-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
|
||
5-6 9-10 13-.7 1-7.3 1-20 1H6z`,
|
||
leftbraceunder: `M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
|
||
35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688
|
||
0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
|
||
-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,
|
||
leftgroup: `M400000 80
|
||
H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0
|
||
435 0h399565z`,
|
||
leftgroupunder: `M400000 262
|
||
H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
|
||
435 219h399565z`,
|
||
leftharpoon: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
|
||
-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5
|
||
-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7
|
||
-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,
|
||
leftharpoonplus: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
|
||
20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3
|
||
-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7
|
||
-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
|
||
m0 0v40h400000v-40z`,
|
||
leftharpoondown: `M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
|
||
5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
|
||
1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667
|
||
-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,
|
||
leftharpoondownplus: `M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
|
||
10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7
|
||
-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
|
||
v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,
|
||
lefthook: `M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
|
||
-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
|
||
-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
|
||
71.5 23h399859zM103 281v-40h399897v40z`,
|
||
leftlinesegment: `M40 281 V428 H0 V94 H40 V241 H400000 v40z
|
||
M40 281 V428 H0 V94 H40 V241 H400000 v40z`,
|
||
leftmapsto: `M40 281 V448H0V74H40V241H400000v40z
|
||
M40 281 V448H0V74H40V241H400000v40z`,
|
||
leftToFrom: `M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
|
||
-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
|
||
c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
|
||
68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,
|
||
longequal: `M0 50 h400000 v40H0z m0 194h40000v40H0z
|
||
M0 50 h400000 v40H0z m0 194h40000v40H0z`,
|
||
midbrace: `M200428 334
|
||
c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
|
||
-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
|
||
311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
|
||
12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,
|
||
midbraceunder: `M199572 214
|
||
c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14
|
||
53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
|
||
11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0
|
||
-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,
|
||
oiintSize1: `M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
|
||
-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
|
||
m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8
|
||
60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,
|
||
oiintSize2: `M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
|
||
-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
|
||
m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
|
||
c0 110 84 276 504 276s502.4-166 502.4-276z`,
|
||
oiiintSize1: `M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
|
||
-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
|
||
m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
|
||
85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,
|
||
oiiintSize2: `M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
|
||
-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
|
||
m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
|
||
c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,
|
||
rightarrow: `M0 241v40h399891c-47.3 35.3-84 78-110 128
|
||
-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20
|
||
11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7
|
||
39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85
|
||
-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
|
||
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
|
||
151.7 139 205zm0 0v40h399900v-40z`,
|
||
rightbrace: `M400000 542l
|
||
-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5
|
||
s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
|
||
c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,
|
||
rightbraceunder: `M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
|
||
28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
|
||
-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,
|
||
rightgroup: `M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
|
||
3-1 3-3v-38c-76-158-257-219-435-219H0z`,
|
||
rightgroupunder: `M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
|
||
0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,
|
||
rightharpoon: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
|
||
-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2
|
||
-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58
|
||
69.2 92 94.5zm0 0v40h399900v-40z`,
|
||
rightharpoonplus: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
|
||
-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7
|
||
2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z
|
||
m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,
|
||
rightharpoondown: `M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
|
||
8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5
|
||
-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95
|
||
-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,
|
||
rightharpoondownplus: `M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
|
||
15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3
|
||
8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3
|
||
-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
|
||
m0-194v40h400000v-40zm0 0v40h400000v-40z`,
|
||
righthook: `M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
|
||
15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
|
||
-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
|
||
66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,
|
||
rightlinesegment: `M399960 241 V94 h40 V428 h-40 V281 H0 v-40z
|
||
M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,
|
||
rightToFrom: `M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
|
||
1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
|
||
-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
|
||
-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,
|
||
twoheadleftarrow: `M0 167c68 40
|
||
115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69
|
||
-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
|
||
-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
|
||
-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
|
||
10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,
|
||
twoheadrightarrow: `M400000 167
|
||
c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3
|
||
41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42
|
||
18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
|
||
-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
|
||
101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,
|
||
tilde1: `M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
|
||
-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0
|
||
114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0
|
||
4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
|
||
-68.267.847-113-73.952-191-73.952z`,
|
||
tilde2: `M344 55.266c-142 0-300.638 81.316-311.5 86.418
|
||
-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9
|
||
31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
|
||
c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751
|
||
181.476 676 181.476c-149 0-189-126.21-332-126.21z`,
|
||
tilde3: `M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
|
||
-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
|
||
411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
|
||
16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
|
||
-338 0-409-156.573-744-156.573z`,
|
||
tilde4: `M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
|
||
-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
|
||
177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
|
||
14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
|
||
-175.236-744-175.236z`,
|
||
vec: `M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
|
||
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
|
||
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
|
||
-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
|
||
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
|
||
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
|
||
c-16-25.333-24-45-24-59z`,
|
||
widehat1: `M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
|
||
c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,
|
||
widehat2: `M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
|
||
-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,
|
||
widehat3: `M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
|
||
-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,
|
||
widehat4: `M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
|
||
-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,
|
||
widecheck1: `M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
|
||
-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,
|
||
widecheck2: `M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
|
||
-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,
|
||
widecheck3: `M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
|
||
-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,
|
||
widecheck4: `M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
|
||
-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,
|
||
baraboveleftarrow: `M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
|
||
c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
|
||
c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130
|
||
s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47
|
||
121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6
|
||
s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11
|
||
c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
|
||
M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,
|
||
rightarrowabovebar: `M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
|
||
-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0
|
||
13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39
|
||
-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5
|
||
-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
|
||
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
|
||
151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,
|
||
baraboveshortleftharpoon: `M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
|
||
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
|
||
c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21
|
||
c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
|
||
c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
|
||
M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,
|
||
rightharpoonaboveshortbar: `M0,241 l0,40c399126,0,399993,0,399993,0
|
||
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
|
||
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
|
||
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
|
||
M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,
|
||
shortbaraboveleftharpoon: `M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
|
||
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,
|
||
1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,
|
||
-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
|
||
M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,
|
||
shortrightharpoonabovebar: `M53,241l0,40c398570,0,399437,0,399437,0
|
||
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
|
||
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
|
||
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
|
||
M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`,
|
||
},
|
||
Pa = function (e, t) {
|
||
switch (e) {
|
||
case 'lbrack':
|
||
return (
|
||
'M403 1759 V84 H666 V0 H319 V1759 v' +
|
||
t +
|
||
` v1759 h347 v-84
|
||
H403z M403 1759 V0 H319 V1759 v` +
|
||
t +
|
||
' v1759 h84z'
|
||
);
|
||
case 'rbrack':
|
||
return (
|
||
'M347 1759 V0 H0 V84 H263 V1759 v' +
|
||
t +
|
||
` v1759 H0 v84 H347z
|
||
M347 1759 V0 H263 V1759 v` +
|
||
t +
|
||
' v1759 h84z'
|
||
);
|
||
case 'vert':
|
||
return (
|
||
'M145 15 v585 v' +
|
||
t +
|
||
` v585 c2.667,10,9.667,15,21,15
|
||
c10,0,16.667,-5,20,-15 v-585 v` +
|
||
-t +
|
||
` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
||
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` +
|
||
t +
|
||
' v585 h43z'
|
||
);
|
||
case 'doublevert':
|
||
return (
|
||
'M145 15 v585 v' +
|
||
t +
|
||
` v585 c2.667,10,9.667,15,21,15
|
||
c10,0,16.667,-5,20,-15 v-585 v` +
|
||
-t +
|
||
` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
||
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` +
|
||
t +
|
||
` v585 h43z
|
||
M367 15 v585 v` +
|
||
t +
|
||
` v585 c2.667,10,9.667,15,21,15
|
||
c10,0,16.667,-5,20,-15 v-585 v` +
|
||
-t +
|
||
` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
||
c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v` +
|
||
t +
|
||
' v585 h43z'
|
||
);
|
||
case 'lfloor':
|
||
return (
|
||
'M319 602 V0 H403 V602 v' +
|
||
t +
|
||
` v1715 h263 v84 H319z
|
||
MM319 602 V0 H403 V602 v` +
|
||
t +
|
||
' v1715 H319z'
|
||
);
|
||
case 'rfloor':
|
||
return (
|
||
'M319 602 V0 H403 V602 v' +
|
||
t +
|
||
` v1799 H0 v-84 H319z
|
||
MM319 602 V0 H403 V602 v` +
|
||
t +
|
||
' v1715 H319z'
|
||
);
|
||
case 'lceil':
|
||
return (
|
||
'M403 1759 V84 H666 V0 H319 V1759 v' +
|
||
t +
|
||
` v602 h84z
|
||
M403 1759 V0 H319 V1759 v` +
|
||
t +
|
||
' v602 h84z'
|
||
);
|
||
case 'rceil':
|
||
return (
|
||
'M347 1759 V0 H0 V84 H263 V1759 v' +
|
||
t +
|
||
` v602 h84z
|
||
M347 1759 V0 h-84 V1759 v` +
|
||
t +
|
||
' v602 h84z'
|
||
);
|
||
case 'lparen':
|
||
return (
|
||
`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
|
||
c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,
|
||
-36,557 l0,` +
|
||
(t + 84) +
|
||
`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
|
||
949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9
|
||
c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
|
||
-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
|
||
l0,-` +
|
||
(t + 92) +
|
||
`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
|
||
-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`
|
||
);
|
||
case 'rparen':
|
||
return (
|
||
`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
|
||
63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
|
||
c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,` +
|
||
(t + 9) +
|
||
`
|
||
c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664
|
||
c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11
|
||
c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
|
||
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
|
||
l0,-` +
|
||
(t + 144) +
|
||
`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
|
||
-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`
|
||
);
|
||
default:
|
||
throw new Error('Unknown stretchy delimiter.');
|
||
}
|
||
};
|
||
class ue {
|
||
constructor(e) {
|
||
(this.children = void 0),
|
||
(this.classes = void 0),
|
||
(this.height = void 0),
|
||
(this.depth = void 0),
|
||
(this.maxFontSize = void 0),
|
||
(this.style = void 0),
|
||
(this.children = e),
|
||
(this.classes = []),
|
||
(this.height = 0),
|
||
(this.depth = 0),
|
||
(this.maxFontSize = 0),
|
||
(this.style = {});
|
||
}
|
||
hasClass(e) {
|
||
return q.contains(this.classes, e);
|
||
}
|
||
toNode() {
|
||
for (var e = document.createDocumentFragment(), t = 0; t < this.children.length; t++) e.appendChild(this.children[t].toNode());
|
||
return e;
|
||
}
|
||
toMarkup() {
|
||
for (var e = '', t = 0; t < this.children.length; t++) e += this.children[t].toMarkup();
|
||
return e;
|
||
}
|
||
toText() {
|
||
var e = (t) => t.toText();
|
||
return this.children.map(e).join('');
|
||
}
|
||
}
|
||
var x0 = {
|
||
'AMS-Regular': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
65: [0, 0.68889, 0, 0, 0.72222],
|
||
66: [0, 0.68889, 0, 0, 0.66667],
|
||
67: [0, 0.68889, 0, 0, 0.72222],
|
||
68: [0, 0.68889, 0, 0, 0.72222],
|
||
69: [0, 0.68889, 0, 0, 0.66667],
|
||
70: [0, 0.68889, 0, 0, 0.61111],
|
||
71: [0, 0.68889, 0, 0, 0.77778],
|
||
72: [0, 0.68889, 0, 0, 0.77778],
|
||
73: [0, 0.68889, 0, 0, 0.38889],
|
||
74: [0.16667, 0.68889, 0, 0, 0.5],
|
||
75: [0, 0.68889, 0, 0, 0.77778],
|
||
76: [0, 0.68889, 0, 0, 0.66667],
|
||
77: [0, 0.68889, 0, 0, 0.94445],
|
||
78: [0, 0.68889, 0, 0, 0.72222],
|
||
79: [0.16667, 0.68889, 0, 0, 0.77778],
|
||
80: [0, 0.68889, 0, 0, 0.61111],
|
||
81: [0.16667, 0.68889, 0, 0, 0.77778],
|
||
82: [0, 0.68889, 0, 0, 0.72222],
|
||
83: [0, 0.68889, 0, 0, 0.55556],
|
||
84: [0, 0.68889, 0, 0, 0.66667],
|
||
85: [0, 0.68889, 0, 0, 0.72222],
|
||
86: [0, 0.68889, 0, 0, 0.72222],
|
||
87: [0, 0.68889, 0, 0, 1],
|
||
88: [0, 0.68889, 0, 0, 0.72222],
|
||
89: [0, 0.68889, 0, 0, 0.72222],
|
||
90: [0, 0.68889, 0, 0, 0.66667],
|
||
107: [0, 0.68889, 0, 0, 0.55556],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
165: [0, 0.675, 0.025, 0, 0.75],
|
||
174: [0.15559, 0.69224, 0, 0, 0.94666],
|
||
240: [0, 0.68889, 0, 0, 0.55556],
|
||
295: [0, 0.68889, 0, 0, 0.54028],
|
||
710: [0, 0.825, 0, 0, 2.33334],
|
||
732: [0, 0.9, 0, 0, 2.33334],
|
||
770: [0, 0.825, 0, 0, 2.33334],
|
||
771: [0, 0.9, 0, 0, 2.33334],
|
||
989: [0.08167, 0.58167, 0, 0, 0.77778],
|
||
1008: [0, 0.43056, 0.04028, 0, 0.66667],
|
||
8245: [0, 0.54986, 0, 0, 0.275],
|
||
8463: [0, 0.68889, 0, 0, 0.54028],
|
||
8487: [0, 0.68889, 0, 0, 0.72222],
|
||
8498: [0, 0.68889, 0, 0, 0.55556],
|
||
8502: [0, 0.68889, 0, 0, 0.66667],
|
||
8503: [0, 0.68889, 0, 0, 0.44445],
|
||
8504: [0, 0.68889, 0, 0, 0.66667],
|
||
8513: [0, 0.68889, 0, 0, 0.63889],
|
||
8592: [-0.03598, 0.46402, 0, 0, 0.5],
|
||
8594: [-0.03598, 0.46402, 0, 0, 0.5],
|
||
8602: [-0.13313, 0.36687, 0, 0, 1],
|
||
8603: [-0.13313, 0.36687, 0, 0, 1],
|
||
8606: [0.01354, 0.52239, 0, 0, 1],
|
||
8608: [0.01354, 0.52239, 0, 0, 1],
|
||
8610: [0.01354, 0.52239, 0, 0, 1.11111],
|
||
8611: [0.01354, 0.52239, 0, 0, 1.11111],
|
||
8619: [0, 0.54986, 0, 0, 1],
|
||
8620: [0, 0.54986, 0, 0, 1],
|
||
8621: [-0.13313, 0.37788, 0, 0, 1.38889],
|
||
8622: [-0.13313, 0.36687, 0, 0, 1],
|
||
8624: [0, 0.69224, 0, 0, 0.5],
|
||
8625: [0, 0.69224, 0, 0, 0.5],
|
||
8630: [0, 0.43056, 0, 0, 1],
|
||
8631: [0, 0.43056, 0, 0, 1],
|
||
8634: [0.08198, 0.58198, 0, 0, 0.77778],
|
||
8635: [0.08198, 0.58198, 0, 0, 0.77778],
|
||
8638: [0.19444, 0.69224, 0, 0, 0.41667],
|
||
8639: [0.19444, 0.69224, 0, 0, 0.41667],
|
||
8642: [0.19444, 0.69224, 0, 0, 0.41667],
|
||
8643: [0.19444, 0.69224, 0, 0, 0.41667],
|
||
8644: [0.1808, 0.675, 0, 0, 1],
|
||
8646: [0.1808, 0.675, 0, 0, 1],
|
||
8647: [0.1808, 0.675, 0, 0, 1],
|
||
8648: [0.19444, 0.69224, 0, 0, 0.83334],
|
||
8649: [0.1808, 0.675, 0, 0, 1],
|
||
8650: [0.19444, 0.69224, 0, 0, 0.83334],
|
||
8651: [0.01354, 0.52239, 0, 0, 1],
|
||
8652: [0.01354, 0.52239, 0, 0, 1],
|
||
8653: [-0.13313, 0.36687, 0, 0, 1],
|
||
8654: [-0.13313, 0.36687, 0, 0, 1],
|
||
8655: [-0.13313, 0.36687, 0, 0, 1],
|
||
8666: [0.13667, 0.63667, 0, 0, 1],
|
||
8667: [0.13667, 0.63667, 0, 0, 1],
|
||
8669: [-0.13313, 0.37788, 0, 0, 1],
|
||
8672: [-0.064, 0.437, 0, 0, 1.334],
|
||
8674: [-0.064, 0.437, 0, 0, 1.334],
|
||
8705: [0, 0.825, 0, 0, 0.5],
|
||
8708: [0, 0.68889, 0, 0, 0.55556],
|
||
8709: [0.08167, 0.58167, 0, 0, 0.77778],
|
||
8717: [0, 0.43056, 0, 0, 0.42917],
|
||
8722: [-0.03598, 0.46402, 0, 0, 0.5],
|
||
8724: [0.08198, 0.69224, 0, 0, 0.77778],
|
||
8726: [0.08167, 0.58167, 0, 0, 0.77778],
|
||
8733: [0, 0.69224, 0, 0, 0.77778],
|
||
8736: [0, 0.69224, 0, 0, 0.72222],
|
||
8737: [0, 0.69224, 0, 0, 0.72222],
|
||
8738: [0.03517, 0.52239, 0, 0, 0.72222],
|
||
8739: [0.08167, 0.58167, 0, 0, 0.22222],
|
||
8740: [0.25142, 0.74111, 0, 0, 0.27778],
|
||
8741: [0.08167, 0.58167, 0, 0, 0.38889],
|
||
8742: [0.25142, 0.74111, 0, 0, 0.5],
|
||
8756: [0, 0.69224, 0, 0, 0.66667],
|
||
8757: [0, 0.69224, 0, 0, 0.66667],
|
||
8764: [-0.13313, 0.36687, 0, 0, 0.77778],
|
||
8765: [-0.13313, 0.37788, 0, 0, 0.77778],
|
||
8769: [-0.13313, 0.36687, 0, 0, 0.77778],
|
||
8770: [-0.03625, 0.46375, 0, 0, 0.77778],
|
||
8774: [0.30274, 0.79383, 0, 0, 0.77778],
|
||
8776: [-0.01688, 0.48312, 0, 0, 0.77778],
|
||
8778: [0.08167, 0.58167, 0, 0, 0.77778],
|
||
8782: [0.06062, 0.54986, 0, 0, 0.77778],
|
||
8783: [0.06062, 0.54986, 0, 0, 0.77778],
|
||
8785: [0.08198, 0.58198, 0, 0, 0.77778],
|
||
8786: [0.08198, 0.58198, 0, 0, 0.77778],
|
||
8787: [0.08198, 0.58198, 0, 0, 0.77778],
|
||
8790: [0, 0.69224, 0, 0, 0.77778],
|
||
8791: [0.22958, 0.72958, 0, 0, 0.77778],
|
||
8796: [0.08198, 0.91667, 0, 0, 0.77778],
|
||
8806: [0.25583, 0.75583, 0, 0, 0.77778],
|
||
8807: [0.25583, 0.75583, 0, 0, 0.77778],
|
||
8808: [0.25142, 0.75726, 0, 0, 0.77778],
|
||
8809: [0.25142, 0.75726, 0, 0, 0.77778],
|
||
8812: [0.25583, 0.75583, 0, 0, 0.5],
|
||
8814: [0.20576, 0.70576, 0, 0, 0.77778],
|
||
8815: [0.20576, 0.70576, 0, 0, 0.77778],
|
||
8816: [0.30274, 0.79383, 0, 0, 0.77778],
|
||
8817: [0.30274, 0.79383, 0, 0, 0.77778],
|
||
8818: [0.22958, 0.72958, 0, 0, 0.77778],
|
||
8819: [0.22958, 0.72958, 0, 0, 0.77778],
|
||
8822: [0.1808, 0.675, 0, 0, 0.77778],
|
||
8823: [0.1808, 0.675, 0, 0, 0.77778],
|
||
8828: [0.13667, 0.63667, 0, 0, 0.77778],
|
||
8829: [0.13667, 0.63667, 0, 0, 0.77778],
|
||
8830: [0.22958, 0.72958, 0, 0, 0.77778],
|
||
8831: [0.22958, 0.72958, 0, 0, 0.77778],
|
||
8832: [0.20576, 0.70576, 0, 0, 0.77778],
|
||
8833: [0.20576, 0.70576, 0, 0, 0.77778],
|
||
8840: [0.30274, 0.79383, 0, 0, 0.77778],
|
||
8841: [0.30274, 0.79383, 0, 0, 0.77778],
|
||
8842: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
8843: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
8847: [0.03517, 0.54986, 0, 0, 0.77778],
|
||
8848: [0.03517, 0.54986, 0, 0, 0.77778],
|
||
8858: [0.08198, 0.58198, 0, 0, 0.77778],
|
||
8859: [0.08198, 0.58198, 0, 0, 0.77778],
|
||
8861: [0.08198, 0.58198, 0, 0, 0.77778],
|
||
8862: [0, 0.675, 0, 0, 0.77778],
|
||
8863: [0, 0.675, 0, 0, 0.77778],
|
||
8864: [0, 0.675, 0, 0, 0.77778],
|
||
8865: [0, 0.675, 0, 0, 0.77778],
|
||
8872: [0, 0.69224, 0, 0, 0.61111],
|
||
8873: [0, 0.69224, 0, 0, 0.72222],
|
||
8874: [0, 0.69224, 0, 0, 0.88889],
|
||
8876: [0, 0.68889, 0, 0, 0.61111],
|
||
8877: [0, 0.68889, 0, 0, 0.61111],
|
||
8878: [0, 0.68889, 0, 0, 0.72222],
|
||
8879: [0, 0.68889, 0, 0, 0.72222],
|
||
8882: [0.03517, 0.54986, 0, 0, 0.77778],
|
||
8883: [0.03517, 0.54986, 0, 0, 0.77778],
|
||
8884: [0.13667, 0.63667, 0, 0, 0.77778],
|
||
8885: [0.13667, 0.63667, 0, 0, 0.77778],
|
||
8888: [0, 0.54986, 0, 0, 1.11111],
|
||
8890: [0.19444, 0.43056, 0, 0, 0.55556],
|
||
8891: [0.19444, 0.69224, 0, 0, 0.61111],
|
||
8892: [0.19444, 0.69224, 0, 0, 0.61111],
|
||
8901: [0, 0.54986, 0, 0, 0.27778],
|
||
8903: [0.08167, 0.58167, 0, 0, 0.77778],
|
||
8905: [0.08167, 0.58167, 0, 0, 0.77778],
|
||
8906: [0.08167, 0.58167, 0, 0, 0.77778],
|
||
8907: [0, 0.69224, 0, 0, 0.77778],
|
||
8908: [0, 0.69224, 0, 0, 0.77778],
|
||
8909: [-0.03598, 0.46402, 0, 0, 0.77778],
|
||
8910: [0, 0.54986, 0, 0, 0.76042],
|
||
8911: [0, 0.54986, 0, 0, 0.76042],
|
||
8912: [0.03517, 0.54986, 0, 0, 0.77778],
|
||
8913: [0.03517, 0.54986, 0, 0, 0.77778],
|
||
8914: [0, 0.54986, 0, 0, 0.66667],
|
||
8915: [0, 0.54986, 0, 0, 0.66667],
|
||
8916: [0, 0.69224, 0, 0, 0.66667],
|
||
8918: [0.0391, 0.5391, 0, 0, 0.77778],
|
||
8919: [0.0391, 0.5391, 0, 0, 0.77778],
|
||
8920: [0.03517, 0.54986, 0, 0, 1.33334],
|
||
8921: [0.03517, 0.54986, 0, 0, 1.33334],
|
||
8922: [0.38569, 0.88569, 0, 0, 0.77778],
|
||
8923: [0.38569, 0.88569, 0, 0, 0.77778],
|
||
8926: [0.13667, 0.63667, 0, 0, 0.77778],
|
||
8927: [0.13667, 0.63667, 0, 0, 0.77778],
|
||
8928: [0.30274, 0.79383, 0, 0, 0.77778],
|
||
8929: [0.30274, 0.79383, 0, 0, 0.77778],
|
||
8934: [0.23222, 0.74111, 0, 0, 0.77778],
|
||
8935: [0.23222, 0.74111, 0, 0, 0.77778],
|
||
8936: [0.23222, 0.74111, 0, 0, 0.77778],
|
||
8937: [0.23222, 0.74111, 0, 0, 0.77778],
|
||
8938: [0.20576, 0.70576, 0, 0, 0.77778],
|
||
8939: [0.20576, 0.70576, 0, 0, 0.77778],
|
||
8940: [0.30274, 0.79383, 0, 0, 0.77778],
|
||
8941: [0.30274, 0.79383, 0, 0, 0.77778],
|
||
8994: [0.19444, 0.69224, 0, 0, 0.77778],
|
||
8995: [0.19444, 0.69224, 0, 0, 0.77778],
|
||
9416: [0.15559, 0.69224, 0, 0, 0.90222],
|
||
9484: [0, 0.69224, 0, 0, 0.5],
|
||
9488: [0, 0.69224, 0, 0, 0.5],
|
||
9492: [0, 0.37788, 0, 0, 0.5],
|
||
9496: [0, 0.37788, 0, 0, 0.5],
|
||
9585: [0.19444, 0.68889, 0, 0, 0.88889],
|
||
9586: [0.19444, 0.74111, 0, 0, 0.88889],
|
||
9632: [0, 0.675, 0, 0, 0.77778],
|
||
9633: [0, 0.675, 0, 0, 0.77778],
|
||
9650: [0, 0.54986, 0, 0, 0.72222],
|
||
9651: [0, 0.54986, 0, 0, 0.72222],
|
||
9654: [0.03517, 0.54986, 0, 0, 0.77778],
|
||
9660: [0, 0.54986, 0, 0, 0.72222],
|
||
9661: [0, 0.54986, 0, 0, 0.72222],
|
||
9664: [0.03517, 0.54986, 0, 0, 0.77778],
|
||
9674: [0.11111, 0.69224, 0, 0, 0.66667],
|
||
9733: [0.19444, 0.69224, 0, 0, 0.94445],
|
||
10003: [0, 0.69224, 0, 0, 0.83334],
|
||
10016: [0, 0.69224, 0, 0, 0.83334],
|
||
10731: [0.11111, 0.69224, 0, 0, 0.66667],
|
||
10846: [0.19444, 0.75583, 0, 0, 0.61111],
|
||
10877: [0.13667, 0.63667, 0, 0, 0.77778],
|
||
10878: [0.13667, 0.63667, 0, 0, 0.77778],
|
||
10885: [0.25583, 0.75583, 0, 0, 0.77778],
|
||
10886: [0.25583, 0.75583, 0, 0, 0.77778],
|
||
10887: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
10888: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
10889: [0.26167, 0.75726, 0, 0, 0.77778],
|
||
10890: [0.26167, 0.75726, 0, 0, 0.77778],
|
||
10891: [0.48256, 0.98256, 0, 0, 0.77778],
|
||
10892: [0.48256, 0.98256, 0, 0, 0.77778],
|
||
10901: [0.13667, 0.63667, 0, 0, 0.77778],
|
||
10902: [0.13667, 0.63667, 0, 0, 0.77778],
|
||
10933: [0.25142, 0.75726, 0, 0, 0.77778],
|
||
10934: [0.25142, 0.75726, 0, 0, 0.77778],
|
||
10935: [0.26167, 0.75726, 0, 0, 0.77778],
|
||
10936: [0.26167, 0.75726, 0, 0, 0.77778],
|
||
10937: [0.26167, 0.75726, 0, 0, 0.77778],
|
||
10938: [0.26167, 0.75726, 0, 0, 0.77778],
|
||
10949: [0.25583, 0.75583, 0, 0, 0.77778],
|
||
10950: [0.25583, 0.75583, 0, 0, 0.77778],
|
||
10955: [0.28481, 0.79383, 0, 0, 0.77778],
|
||
10956: [0.28481, 0.79383, 0, 0, 0.77778],
|
||
57350: [0.08167, 0.58167, 0, 0, 0.22222],
|
||
57351: [0.08167, 0.58167, 0, 0, 0.38889],
|
||
57352: [0.08167, 0.58167, 0, 0, 0.77778],
|
||
57353: [0, 0.43056, 0.04028, 0, 0.66667],
|
||
57356: [0.25142, 0.75726, 0, 0, 0.77778],
|
||
57357: [0.25142, 0.75726, 0, 0, 0.77778],
|
||
57358: [0.41951, 0.91951, 0, 0, 0.77778],
|
||
57359: [0.30274, 0.79383, 0, 0, 0.77778],
|
||
57360: [0.30274, 0.79383, 0, 0, 0.77778],
|
||
57361: [0.41951, 0.91951, 0, 0, 0.77778],
|
||
57366: [0.25142, 0.75726, 0, 0, 0.77778],
|
||
57367: [0.25142, 0.75726, 0, 0, 0.77778],
|
||
57368: [0.25142, 0.75726, 0, 0, 0.77778],
|
||
57369: [0.25142, 0.75726, 0, 0, 0.77778],
|
||
57370: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
57371: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
},
|
||
'Caligraphic-Regular': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
65: [0, 0.68333, 0, 0.19445, 0.79847],
|
||
66: [0, 0.68333, 0.03041, 0.13889, 0.65681],
|
||
67: [0, 0.68333, 0.05834, 0.13889, 0.52653],
|
||
68: [0, 0.68333, 0.02778, 0.08334, 0.77139],
|
||
69: [0, 0.68333, 0.08944, 0.11111, 0.52778],
|
||
70: [0, 0.68333, 0.09931, 0.11111, 0.71875],
|
||
71: [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],
|
||
72: [0, 0.68333, 0.00965, 0.11111, 0.84452],
|
||
73: [0, 0.68333, 0.07382, 0, 0.54452],
|
||
74: [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],
|
||
75: [0, 0.68333, 0.01445, 0.05556, 0.76195],
|
||
76: [0, 0.68333, 0, 0.13889, 0.68972],
|
||
77: [0, 0.68333, 0, 0.13889, 1.2009],
|
||
78: [0, 0.68333, 0.14736, 0.08334, 0.82049],
|
||
79: [0, 0.68333, 0.02778, 0.11111, 0.79611],
|
||
80: [0, 0.68333, 0.08222, 0.08334, 0.69556],
|
||
81: [0.09722, 0.68333, 0, 0.11111, 0.81667],
|
||
82: [0, 0.68333, 0, 0.08334, 0.8475],
|
||
83: [0, 0.68333, 0.075, 0.13889, 0.60556],
|
||
84: [0, 0.68333, 0.25417, 0, 0.54464],
|
||
85: [0, 0.68333, 0.09931, 0.08334, 0.62583],
|
||
86: [0, 0.68333, 0.08222, 0, 0.61278],
|
||
87: [0, 0.68333, 0.08222, 0.08334, 0.98778],
|
||
88: [0, 0.68333, 0.14643, 0.13889, 0.7133],
|
||
89: [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],
|
||
90: [0, 0.68333, 0.07944, 0.13889, 0.72473],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
},
|
||
'Fraktur-Regular': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
33: [0, 0.69141, 0, 0, 0.29574],
|
||
34: [0, 0.69141, 0, 0, 0.21471],
|
||
38: [0, 0.69141, 0, 0, 0.73786],
|
||
39: [0, 0.69141, 0, 0, 0.21201],
|
||
40: [0.24982, 0.74947, 0, 0, 0.38865],
|
||
41: [0.24982, 0.74947, 0, 0, 0.38865],
|
||
42: [0, 0.62119, 0, 0, 0.27764],
|
||
43: [0.08319, 0.58283, 0, 0, 0.75623],
|
||
44: [0, 0.10803, 0, 0, 0.27764],
|
||
45: [0.08319, 0.58283, 0, 0, 0.75623],
|
||
46: [0, 0.10803, 0, 0, 0.27764],
|
||
47: [0.24982, 0.74947, 0, 0, 0.50181],
|
||
48: [0, 0.47534, 0, 0, 0.50181],
|
||
49: [0, 0.47534, 0, 0, 0.50181],
|
||
50: [0, 0.47534, 0, 0, 0.50181],
|
||
51: [0.18906, 0.47534, 0, 0, 0.50181],
|
||
52: [0.18906, 0.47534, 0, 0, 0.50181],
|
||
53: [0.18906, 0.47534, 0, 0, 0.50181],
|
||
54: [0, 0.69141, 0, 0, 0.50181],
|
||
55: [0.18906, 0.47534, 0, 0, 0.50181],
|
||
56: [0, 0.69141, 0, 0, 0.50181],
|
||
57: [0.18906, 0.47534, 0, 0, 0.50181],
|
||
58: [0, 0.47534, 0, 0, 0.21606],
|
||
59: [0.12604, 0.47534, 0, 0, 0.21606],
|
||
61: [-0.13099, 0.36866, 0, 0, 0.75623],
|
||
63: [0, 0.69141, 0, 0, 0.36245],
|
||
65: [0, 0.69141, 0, 0, 0.7176],
|
||
66: [0, 0.69141, 0, 0, 0.88397],
|
||
67: [0, 0.69141, 0, 0, 0.61254],
|
||
68: [0, 0.69141, 0, 0, 0.83158],
|
||
69: [0, 0.69141, 0, 0, 0.66278],
|
||
70: [0.12604, 0.69141, 0, 0, 0.61119],
|
||
71: [0, 0.69141, 0, 0, 0.78539],
|
||
72: [0.06302, 0.69141, 0, 0, 0.7203],
|
||
73: [0, 0.69141, 0, 0, 0.55448],
|
||
74: [0.12604, 0.69141, 0, 0, 0.55231],
|
||
75: [0, 0.69141, 0, 0, 0.66845],
|
||
76: [0, 0.69141, 0, 0, 0.66602],
|
||
77: [0, 0.69141, 0, 0, 1.04953],
|
||
78: [0, 0.69141, 0, 0, 0.83212],
|
||
79: [0, 0.69141, 0, 0, 0.82699],
|
||
80: [0.18906, 0.69141, 0, 0, 0.82753],
|
||
81: [0.03781, 0.69141, 0, 0, 0.82699],
|
||
82: [0, 0.69141, 0, 0, 0.82807],
|
||
83: [0, 0.69141, 0, 0, 0.82861],
|
||
84: [0, 0.69141, 0, 0, 0.66899],
|
||
85: [0, 0.69141, 0, 0, 0.64576],
|
||
86: [0, 0.69141, 0, 0, 0.83131],
|
||
87: [0, 0.69141, 0, 0, 1.04602],
|
||
88: [0, 0.69141, 0, 0, 0.71922],
|
||
89: [0.18906, 0.69141, 0, 0, 0.83293],
|
||
90: [0.12604, 0.69141, 0, 0, 0.60201],
|
||
91: [0.24982, 0.74947, 0, 0, 0.27764],
|
||
93: [0.24982, 0.74947, 0, 0, 0.27764],
|
||
94: [0, 0.69141, 0, 0, 0.49965],
|
||
97: [0, 0.47534, 0, 0, 0.50046],
|
||
98: [0, 0.69141, 0, 0, 0.51315],
|
||
99: [0, 0.47534, 0, 0, 0.38946],
|
||
100: [0, 0.62119, 0, 0, 0.49857],
|
||
101: [0, 0.47534, 0, 0, 0.40053],
|
||
102: [0.18906, 0.69141, 0, 0, 0.32626],
|
||
103: [0.18906, 0.47534, 0, 0, 0.5037],
|
||
104: [0.18906, 0.69141, 0, 0, 0.52126],
|
||
105: [0, 0.69141, 0, 0, 0.27899],
|
||
106: [0, 0.69141, 0, 0, 0.28088],
|
||
107: [0, 0.69141, 0, 0, 0.38946],
|
||
108: [0, 0.69141, 0, 0, 0.27953],
|
||
109: [0, 0.47534, 0, 0, 0.76676],
|
||
110: [0, 0.47534, 0, 0, 0.52666],
|
||
111: [0, 0.47534, 0, 0, 0.48885],
|
||
112: [0.18906, 0.52396, 0, 0, 0.50046],
|
||
113: [0.18906, 0.47534, 0, 0, 0.48912],
|
||
114: [0, 0.47534, 0, 0, 0.38919],
|
||
115: [0, 0.47534, 0, 0, 0.44266],
|
||
116: [0, 0.62119, 0, 0, 0.33301],
|
||
117: [0, 0.47534, 0, 0, 0.5172],
|
||
118: [0, 0.52396, 0, 0, 0.5118],
|
||
119: [0, 0.52396, 0, 0, 0.77351],
|
||
120: [0.18906, 0.47534, 0, 0, 0.38865],
|
||
121: [0.18906, 0.47534, 0, 0, 0.49884],
|
||
122: [0.18906, 0.47534, 0, 0, 0.39054],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
8216: [0, 0.69141, 0, 0, 0.21471],
|
||
8217: [0, 0.69141, 0, 0, 0.21471],
|
||
58112: [0, 0.62119, 0, 0, 0.49749],
|
||
58113: [0, 0.62119, 0, 0, 0.4983],
|
||
58114: [0.18906, 0.69141, 0, 0, 0.33328],
|
||
58115: [0.18906, 0.69141, 0, 0, 0.32923],
|
||
58116: [0.18906, 0.47534, 0, 0, 0.50343],
|
||
58117: [0, 0.69141, 0, 0, 0.33301],
|
||
58118: [0, 0.62119, 0, 0, 0.33409],
|
||
58119: [0, 0.47534, 0, 0, 0.50073],
|
||
},
|
||
'Main-Bold': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
33: [0, 0.69444, 0, 0, 0.35],
|
||
34: [0, 0.69444, 0, 0, 0.60278],
|
||
35: [0.19444, 0.69444, 0, 0, 0.95833],
|
||
36: [0.05556, 0.75, 0, 0, 0.575],
|
||
37: [0.05556, 0.75, 0, 0, 0.95833],
|
||
38: [0, 0.69444, 0, 0, 0.89444],
|
||
39: [0, 0.69444, 0, 0, 0.31944],
|
||
40: [0.25, 0.75, 0, 0, 0.44722],
|
||
41: [0.25, 0.75, 0, 0, 0.44722],
|
||
42: [0, 0.75, 0, 0, 0.575],
|
||
43: [0.13333, 0.63333, 0, 0, 0.89444],
|
||
44: [0.19444, 0.15556, 0, 0, 0.31944],
|
||
45: [0, 0.44444, 0, 0, 0.38333],
|
||
46: [0, 0.15556, 0, 0, 0.31944],
|
||
47: [0.25, 0.75, 0, 0, 0.575],
|
||
48: [0, 0.64444, 0, 0, 0.575],
|
||
49: [0, 0.64444, 0, 0, 0.575],
|
||
50: [0, 0.64444, 0, 0, 0.575],
|
||
51: [0, 0.64444, 0, 0, 0.575],
|
||
52: [0, 0.64444, 0, 0, 0.575],
|
||
53: [0, 0.64444, 0, 0, 0.575],
|
||
54: [0, 0.64444, 0, 0, 0.575],
|
||
55: [0, 0.64444, 0, 0, 0.575],
|
||
56: [0, 0.64444, 0, 0, 0.575],
|
||
57: [0, 0.64444, 0, 0, 0.575],
|
||
58: [0, 0.44444, 0, 0, 0.31944],
|
||
59: [0.19444, 0.44444, 0, 0, 0.31944],
|
||
60: [0.08556, 0.58556, 0, 0, 0.89444],
|
||
61: [-0.10889, 0.39111, 0, 0, 0.89444],
|
||
62: [0.08556, 0.58556, 0, 0, 0.89444],
|
||
63: [0, 0.69444, 0, 0, 0.54305],
|
||
64: [0, 0.69444, 0, 0, 0.89444],
|
||
65: [0, 0.68611, 0, 0, 0.86944],
|
||
66: [0, 0.68611, 0, 0, 0.81805],
|
||
67: [0, 0.68611, 0, 0, 0.83055],
|
||
68: [0, 0.68611, 0, 0, 0.88194],
|
||
69: [0, 0.68611, 0, 0, 0.75555],
|
||
70: [0, 0.68611, 0, 0, 0.72361],
|
||
71: [0, 0.68611, 0, 0, 0.90416],
|
||
72: [0, 0.68611, 0, 0, 0.9],
|
||
73: [0, 0.68611, 0, 0, 0.43611],
|
||
74: [0, 0.68611, 0, 0, 0.59444],
|
||
75: [0, 0.68611, 0, 0, 0.90138],
|
||
76: [0, 0.68611, 0, 0, 0.69166],
|
||
77: [0, 0.68611, 0, 0, 1.09166],
|
||
78: [0, 0.68611, 0, 0, 0.9],
|
||
79: [0, 0.68611, 0, 0, 0.86388],
|
||
80: [0, 0.68611, 0, 0, 0.78611],
|
||
81: [0.19444, 0.68611, 0, 0, 0.86388],
|
||
82: [0, 0.68611, 0, 0, 0.8625],
|
||
83: [0, 0.68611, 0, 0, 0.63889],
|
||
84: [0, 0.68611, 0, 0, 0.8],
|
||
85: [0, 0.68611, 0, 0, 0.88472],
|
||
86: [0, 0.68611, 0.01597, 0, 0.86944],
|
||
87: [0, 0.68611, 0.01597, 0, 1.18888],
|
||
88: [0, 0.68611, 0, 0, 0.86944],
|
||
89: [0, 0.68611, 0.02875, 0, 0.86944],
|
||
90: [0, 0.68611, 0, 0, 0.70277],
|
||
91: [0.25, 0.75, 0, 0, 0.31944],
|
||
92: [0.25, 0.75, 0, 0, 0.575],
|
||
93: [0.25, 0.75, 0, 0, 0.31944],
|
||
94: [0, 0.69444, 0, 0, 0.575],
|
||
95: [0.31, 0.13444, 0.03194, 0, 0.575],
|
||
97: [0, 0.44444, 0, 0, 0.55902],
|
||
98: [0, 0.69444, 0, 0, 0.63889],
|
||
99: [0, 0.44444, 0, 0, 0.51111],
|
||
100: [0, 0.69444, 0, 0, 0.63889],
|
||
101: [0, 0.44444, 0, 0, 0.52708],
|
||
102: [0, 0.69444, 0.10903, 0, 0.35139],
|
||
103: [0.19444, 0.44444, 0.01597, 0, 0.575],
|
||
104: [0, 0.69444, 0, 0, 0.63889],
|
||
105: [0, 0.69444, 0, 0, 0.31944],
|
||
106: [0.19444, 0.69444, 0, 0, 0.35139],
|
||
107: [0, 0.69444, 0, 0, 0.60694],
|
||
108: [0, 0.69444, 0, 0, 0.31944],
|
||
109: [0, 0.44444, 0, 0, 0.95833],
|
||
110: [0, 0.44444, 0, 0, 0.63889],
|
||
111: [0, 0.44444, 0, 0, 0.575],
|
||
112: [0.19444, 0.44444, 0, 0, 0.63889],
|
||
113: [0.19444, 0.44444, 0, 0, 0.60694],
|
||
114: [0, 0.44444, 0, 0, 0.47361],
|
||
115: [0, 0.44444, 0, 0, 0.45361],
|
||
116: [0, 0.63492, 0, 0, 0.44722],
|
||
117: [0, 0.44444, 0, 0, 0.63889],
|
||
118: [0, 0.44444, 0.01597, 0, 0.60694],
|
||
119: [0, 0.44444, 0.01597, 0, 0.83055],
|
||
120: [0, 0.44444, 0, 0, 0.60694],
|
||
121: [0.19444, 0.44444, 0.01597, 0, 0.60694],
|
||
122: [0, 0.44444, 0, 0, 0.51111],
|
||
123: [0.25, 0.75, 0, 0, 0.575],
|
||
124: [0.25, 0.75, 0, 0, 0.31944],
|
||
125: [0.25, 0.75, 0, 0, 0.575],
|
||
126: [0.35, 0.34444, 0, 0, 0.575],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
163: [0, 0.69444, 0, 0, 0.86853],
|
||
168: [0, 0.69444, 0, 0, 0.575],
|
||
172: [0, 0.44444, 0, 0, 0.76666],
|
||
176: [0, 0.69444, 0, 0, 0.86944],
|
||
177: [0.13333, 0.63333, 0, 0, 0.89444],
|
||
184: [0.17014, 0, 0, 0, 0.51111],
|
||
198: [0, 0.68611, 0, 0, 1.04166],
|
||
215: [0.13333, 0.63333, 0, 0, 0.89444],
|
||
216: [0.04861, 0.73472, 0, 0, 0.89444],
|
||
223: [0, 0.69444, 0, 0, 0.59722],
|
||
230: [0, 0.44444, 0, 0, 0.83055],
|
||
247: [0.13333, 0.63333, 0, 0, 0.89444],
|
||
248: [0.09722, 0.54167, 0, 0, 0.575],
|
||
305: [0, 0.44444, 0, 0, 0.31944],
|
||
338: [0, 0.68611, 0, 0, 1.16944],
|
||
339: [0, 0.44444, 0, 0, 0.89444],
|
||
567: [0.19444, 0.44444, 0, 0, 0.35139],
|
||
710: [0, 0.69444, 0, 0, 0.575],
|
||
711: [0, 0.63194, 0, 0, 0.575],
|
||
713: [0, 0.59611, 0, 0, 0.575],
|
||
714: [0, 0.69444, 0, 0, 0.575],
|
||
715: [0, 0.69444, 0, 0, 0.575],
|
||
728: [0, 0.69444, 0, 0, 0.575],
|
||
729: [0, 0.69444, 0, 0, 0.31944],
|
||
730: [0, 0.69444, 0, 0, 0.86944],
|
||
732: [0, 0.69444, 0, 0, 0.575],
|
||
733: [0, 0.69444, 0, 0, 0.575],
|
||
915: [0, 0.68611, 0, 0, 0.69166],
|
||
916: [0, 0.68611, 0, 0, 0.95833],
|
||
920: [0, 0.68611, 0, 0, 0.89444],
|
||
923: [0, 0.68611, 0, 0, 0.80555],
|
||
926: [0, 0.68611, 0, 0, 0.76666],
|
||
928: [0, 0.68611, 0, 0, 0.9],
|
||
931: [0, 0.68611, 0, 0, 0.83055],
|
||
933: [0, 0.68611, 0, 0, 0.89444],
|
||
934: [0, 0.68611, 0, 0, 0.83055],
|
||
936: [0, 0.68611, 0, 0, 0.89444],
|
||
937: [0, 0.68611, 0, 0, 0.83055],
|
||
8211: [0, 0.44444, 0.03194, 0, 0.575],
|
||
8212: [0, 0.44444, 0.03194, 0, 1.14999],
|
||
8216: [0, 0.69444, 0, 0, 0.31944],
|
||
8217: [0, 0.69444, 0, 0, 0.31944],
|
||
8220: [0, 0.69444, 0, 0, 0.60278],
|
||
8221: [0, 0.69444, 0, 0, 0.60278],
|
||
8224: [0.19444, 0.69444, 0, 0, 0.51111],
|
||
8225: [0.19444, 0.69444, 0, 0, 0.51111],
|
||
8242: [0, 0.55556, 0, 0, 0.34444],
|
||
8407: [0, 0.72444, 0.15486, 0, 0.575],
|
||
8463: [0, 0.69444, 0, 0, 0.66759],
|
||
8465: [0, 0.69444, 0, 0, 0.83055],
|
||
8467: [0, 0.69444, 0, 0, 0.47361],
|
||
8472: [0.19444, 0.44444, 0, 0, 0.74027],
|
||
8476: [0, 0.69444, 0, 0, 0.83055],
|
||
8501: [0, 0.69444, 0, 0, 0.70277],
|
||
8592: [-0.10889, 0.39111, 0, 0, 1.14999],
|
||
8593: [0.19444, 0.69444, 0, 0, 0.575],
|
||
8594: [-0.10889, 0.39111, 0, 0, 1.14999],
|
||
8595: [0.19444, 0.69444, 0, 0, 0.575],
|
||
8596: [-0.10889, 0.39111, 0, 0, 1.14999],
|
||
8597: [0.25, 0.75, 0, 0, 0.575],
|
||
8598: [0.19444, 0.69444, 0, 0, 1.14999],
|
||
8599: [0.19444, 0.69444, 0, 0, 1.14999],
|
||
8600: [0.19444, 0.69444, 0, 0, 1.14999],
|
||
8601: [0.19444, 0.69444, 0, 0, 1.14999],
|
||
8636: [-0.10889, 0.39111, 0, 0, 1.14999],
|
||
8637: [-0.10889, 0.39111, 0, 0, 1.14999],
|
||
8640: [-0.10889, 0.39111, 0, 0, 1.14999],
|
||
8641: [-0.10889, 0.39111, 0, 0, 1.14999],
|
||
8656: [-0.10889, 0.39111, 0, 0, 1.14999],
|
||
8657: [0.19444, 0.69444, 0, 0, 0.70277],
|
||
8658: [-0.10889, 0.39111, 0, 0, 1.14999],
|
||
8659: [0.19444, 0.69444, 0, 0, 0.70277],
|
||
8660: [-0.10889, 0.39111, 0, 0, 1.14999],
|
||
8661: [0.25, 0.75, 0, 0, 0.70277],
|
||
8704: [0, 0.69444, 0, 0, 0.63889],
|
||
8706: [0, 0.69444, 0.06389, 0, 0.62847],
|
||
8707: [0, 0.69444, 0, 0, 0.63889],
|
||
8709: [0.05556, 0.75, 0, 0, 0.575],
|
||
8711: [0, 0.68611, 0, 0, 0.95833],
|
||
8712: [0.08556, 0.58556, 0, 0, 0.76666],
|
||
8715: [0.08556, 0.58556, 0, 0, 0.76666],
|
||
8722: [0.13333, 0.63333, 0, 0, 0.89444],
|
||
8723: [0.13333, 0.63333, 0, 0, 0.89444],
|
||
8725: [0.25, 0.75, 0, 0, 0.575],
|
||
8726: [0.25, 0.75, 0, 0, 0.575],
|
||
8727: [-0.02778, 0.47222, 0, 0, 0.575],
|
||
8728: [-0.02639, 0.47361, 0, 0, 0.575],
|
||
8729: [-0.02639, 0.47361, 0, 0, 0.575],
|
||
8730: [0.18, 0.82, 0, 0, 0.95833],
|
||
8733: [0, 0.44444, 0, 0, 0.89444],
|
||
8734: [0, 0.44444, 0, 0, 1.14999],
|
||
8736: [0, 0.69224, 0, 0, 0.72222],
|
||
8739: [0.25, 0.75, 0, 0, 0.31944],
|
||
8741: [0.25, 0.75, 0, 0, 0.575],
|
||
8743: [0, 0.55556, 0, 0, 0.76666],
|
||
8744: [0, 0.55556, 0, 0, 0.76666],
|
||
8745: [0, 0.55556, 0, 0, 0.76666],
|
||
8746: [0, 0.55556, 0, 0, 0.76666],
|
||
8747: [0.19444, 0.69444, 0.12778, 0, 0.56875],
|
||
8764: [-0.10889, 0.39111, 0, 0, 0.89444],
|
||
8768: [0.19444, 0.69444, 0, 0, 0.31944],
|
||
8771: [0.00222, 0.50222, 0, 0, 0.89444],
|
||
8773: [0.027, 0.638, 0, 0, 0.894],
|
||
8776: [0.02444, 0.52444, 0, 0, 0.89444],
|
||
8781: [0.00222, 0.50222, 0, 0, 0.89444],
|
||
8801: [0.00222, 0.50222, 0, 0, 0.89444],
|
||
8804: [0.19667, 0.69667, 0, 0, 0.89444],
|
||
8805: [0.19667, 0.69667, 0, 0, 0.89444],
|
||
8810: [0.08556, 0.58556, 0, 0, 1.14999],
|
||
8811: [0.08556, 0.58556, 0, 0, 1.14999],
|
||
8826: [0.08556, 0.58556, 0, 0, 0.89444],
|
||
8827: [0.08556, 0.58556, 0, 0, 0.89444],
|
||
8834: [0.08556, 0.58556, 0, 0, 0.89444],
|
||
8835: [0.08556, 0.58556, 0, 0, 0.89444],
|
||
8838: [0.19667, 0.69667, 0, 0, 0.89444],
|
||
8839: [0.19667, 0.69667, 0, 0, 0.89444],
|
||
8846: [0, 0.55556, 0, 0, 0.76666],
|
||
8849: [0.19667, 0.69667, 0, 0, 0.89444],
|
||
8850: [0.19667, 0.69667, 0, 0, 0.89444],
|
||
8851: [0, 0.55556, 0, 0, 0.76666],
|
||
8852: [0, 0.55556, 0, 0, 0.76666],
|
||
8853: [0.13333, 0.63333, 0, 0, 0.89444],
|
||
8854: [0.13333, 0.63333, 0, 0, 0.89444],
|
||
8855: [0.13333, 0.63333, 0, 0, 0.89444],
|
||
8856: [0.13333, 0.63333, 0, 0, 0.89444],
|
||
8857: [0.13333, 0.63333, 0, 0, 0.89444],
|
||
8866: [0, 0.69444, 0, 0, 0.70277],
|
||
8867: [0, 0.69444, 0, 0, 0.70277],
|
||
8868: [0, 0.69444, 0, 0, 0.89444],
|
||
8869: [0, 0.69444, 0, 0, 0.89444],
|
||
8900: [-0.02639, 0.47361, 0, 0, 0.575],
|
||
8901: [-0.02639, 0.47361, 0, 0, 0.31944],
|
||
8902: [-0.02778, 0.47222, 0, 0, 0.575],
|
||
8968: [0.25, 0.75, 0, 0, 0.51111],
|
||
8969: [0.25, 0.75, 0, 0, 0.51111],
|
||
8970: [0.25, 0.75, 0, 0, 0.51111],
|
||
8971: [0.25, 0.75, 0, 0, 0.51111],
|
||
8994: [-0.13889, 0.36111, 0, 0, 1.14999],
|
||
8995: [-0.13889, 0.36111, 0, 0, 1.14999],
|
||
9651: [0.19444, 0.69444, 0, 0, 1.02222],
|
||
9657: [-0.02778, 0.47222, 0, 0, 0.575],
|
||
9661: [0.19444, 0.69444, 0, 0, 1.02222],
|
||
9667: [-0.02778, 0.47222, 0, 0, 0.575],
|
||
9711: [0.19444, 0.69444, 0, 0, 1.14999],
|
||
9824: [0.12963, 0.69444, 0, 0, 0.89444],
|
||
9825: [0.12963, 0.69444, 0, 0, 0.89444],
|
||
9826: [0.12963, 0.69444, 0, 0, 0.89444],
|
||
9827: [0.12963, 0.69444, 0, 0, 0.89444],
|
||
9837: [0, 0.75, 0, 0, 0.44722],
|
||
9838: [0.19444, 0.69444, 0, 0, 0.44722],
|
||
9839: [0.19444, 0.69444, 0, 0, 0.44722],
|
||
10216: [0.25, 0.75, 0, 0, 0.44722],
|
||
10217: [0.25, 0.75, 0, 0, 0.44722],
|
||
10815: [0, 0.68611, 0, 0, 0.9],
|
||
10927: [0.19667, 0.69667, 0, 0, 0.89444],
|
||
10928: [0.19667, 0.69667, 0, 0, 0.89444],
|
||
57376: [0.19444, 0.69444, 0, 0, 0],
|
||
},
|
||
'Main-BoldItalic': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
33: [0, 0.69444, 0.11417, 0, 0.38611],
|
||
34: [0, 0.69444, 0.07939, 0, 0.62055],
|
||
35: [0.19444, 0.69444, 0.06833, 0, 0.94444],
|
||
37: [0.05556, 0.75, 0.12861, 0, 0.94444],
|
||
38: [0, 0.69444, 0.08528, 0, 0.88555],
|
||
39: [0, 0.69444, 0.12945, 0, 0.35555],
|
||
40: [0.25, 0.75, 0.15806, 0, 0.47333],
|
||
41: [0.25, 0.75, 0.03306, 0, 0.47333],
|
||
42: [0, 0.75, 0.14333, 0, 0.59111],
|
||
43: [0.10333, 0.60333, 0.03306, 0, 0.88555],
|
||
44: [0.19444, 0.14722, 0, 0, 0.35555],
|
||
45: [0, 0.44444, 0.02611, 0, 0.41444],
|
||
46: [0, 0.14722, 0, 0, 0.35555],
|
||
47: [0.25, 0.75, 0.15806, 0, 0.59111],
|
||
48: [0, 0.64444, 0.13167, 0, 0.59111],
|
||
49: [0, 0.64444, 0.13167, 0, 0.59111],
|
||
50: [0, 0.64444, 0.13167, 0, 0.59111],
|
||
51: [0, 0.64444, 0.13167, 0, 0.59111],
|
||
52: [0.19444, 0.64444, 0.13167, 0, 0.59111],
|
||
53: [0, 0.64444, 0.13167, 0, 0.59111],
|
||
54: [0, 0.64444, 0.13167, 0, 0.59111],
|
||
55: [0.19444, 0.64444, 0.13167, 0, 0.59111],
|
||
56: [0, 0.64444, 0.13167, 0, 0.59111],
|
||
57: [0, 0.64444, 0.13167, 0, 0.59111],
|
||
58: [0, 0.44444, 0.06695, 0, 0.35555],
|
||
59: [0.19444, 0.44444, 0.06695, 0, 0.35555],
|
||
61: [-0.10889, 0.39111, 0.06833, 0, 0.88555],
|
||
63: [0, 0.69444, 0.11472, 0, 0.59111],
|
||
64: [0, 0.69444, 0.09208, 0, 0.88555],
|
||
65: [0, 0.68611, 0, 0, 0.86555],
|
||
66: [0, 0.68611, 0.0992, 0, 0.81666],
|
||
67: [0, 0.68611, 0.14208, 0, 0.82666],
|
||
68: [0, 0.68611, 0.09062, 0, 0.87555],
|
||
69: [0, 0.68611, 0.11431, 0, 0.75666],
|
||
70: [0, 0.68611, 0.12903, 0, 0.72722],
|
||
71: [0, 0.68611, 0.07347, 0, 0.89527],
|
||
72: [0, 0.68611, 0.17208, 0, 0.8961],
|
||
73: [0, 0.68611, 0.15681, 0, 0.47166],
|
||
74: [0, 0.68611, 0.145, 0, 0.61055],
|
||
75: [0, 0.68611, 0.14208, 0, 0.89499],
|
||
76: [0, 0.68611, 0, 0, 0.69777],
|
||
77: [0, 0.68611, 0.17208, 0, 1.07277],
|
||
78: [0, 0.68611, 0.17208, 0, 0.8961],
|
||
79: [0, 0.68611, 0.09062, 0, 0.85499],
|
||
80: [0, 0.68611, 0.0992, 0, 0.78721],
|
||
81: [0.19444, 0.68611, 0.09062, 0, 0.85499],
|
||
82: [0, 0.68611, 0.02559, 0, 0.85944],
|
||
83: [0, 0.68611, 0.11264, 0, 0.64999],
|
||
84: [0, 0.68611, 0.12903, 0, 0.7961],
|
||
85: [0, 0.68611, 0.17208, 0, 0.88083],
|
||
86: [0, 0.68611, 0.18625, 0, 0.86555],
|
||
87: [0, 0.68611, 0.18625, 0, 1.15999],
|
||
88: [0, 0.68611, 0.15681, 0, 0.86555],
|
||
89: [0, 0.68611, 0.19803, 0, 0.86555],
|
||
90: [0, 0.68611, 0.14208, 0, 0.70888],
|
||
91: [0.25, 0.75, 0.1875, 0, 0.35611],
|
||
93: [0.25, 0.75, 0.09972, 0, 0.35611],
|
||
94: [0, 0.69444, 0.06709, 0, 0.59111],
|
||
95: [0.31, 0.13444, 0.09811, 0, 0.59111],
|
||
97: [0, 0.44444, 0.09426, 0, 0.59111],
|
||
98: [0, 0.69444, 0.07861, 0, 0.53222],
|
||
99: [0, 0.44444, 0.05222, 0, 0.53222],
|
||
100: [0, 0.69444, 0.10861, 0, 0.59111],
|
||
101: [0, 0.44444, 0.085, 0, 0.53222],
|
||
102: [0.19444, 0.69444, 0.21778, 0, 0.4],
|
||
103: [0.19444, 0.44444, 0.105, 0, 0.53222],
|
||
104: [0, 0.69444, 0.09426, 0, 0.59111],
|
||
105: [0, 0.69326, 0.11387, 0, 0.35555],
|
||
106: [0.19444, 0.69326, 0.1672, 0, 0.35555],
|
||
107: [0, 0.69444, 0.11111, 0, 0.53222],
|
||
108: [0, 0.69444, 0.10861, 0, 0.29666],
|
||
109: [0, 0.44444, 0.09426, 0, 0.94444],
|
||
110: [0, 0.44444, 0.09426, 0, 0.64999],
|
||
111: [0, 0.44444, 0.07861, 0, 0.59111],
|
||
112: [0.19444, 0.44444, 0.07861, 0, 0.59111],
|
||
113: [0.19444, 0.44444, 0.105, 0, 0.53222],
|
||
114: [0, 0.44444, 0.11111, 0, 0.50167],
|
||
115: [0, 0.44444, 0.08167, 0, 0.48694],
|
||
116: [0, 0.63492, 0.09639, 0, 0.385],
|
||
117: [0, 0.44444, 0.09426, 0, 0.62055],
|
||
118: [0, 0.44444, 0.11111, 0, 0.53222],
|
||
119: [0, 0.44444, 0.11111, 0, 0.76777],
|
||
120: [0, 0.44444, 0.12583, 0, 0.56055],
|
||
121: [0.19444, 0.44444, 0.105, 0, 0.56166],
|
||
122: [0, 0.44444, 0.13889, 0, 0.49055],
|
||
126: [0.35, 0.34444, 0.11472, 0, 0.59111],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
168: [0, 0.69444, 0.11473, 0, 0.59111],
|
||
176: [0, 0.69444, 0, 0, 0.94888],
|
||
184: [0.17014, 0, 0, 0, 0.53222],
|
||
198: [0, 0.68611, 0.11431, 0, 1.02277],
|
||
216: [0.04861, 0.73472, 0.09062, 0, 0.88555],
|
||
223: [0.19444, 0.69444, 0.09736, 0, 0.665],
|
||
230: [0, 0.44444, 0.085, 0, 0.82666],
|
||
248: [0.09722, 0.54167, 0.09458, 0, 0.59111],
|
||
305: [0, 0.44444, 0.09426, 0, 0.35555],
|
||
338: [0, 0.68611, 0.11431, 0, 1.14054],
|
||
339: [0, 0.44444, 0.085, 0, 0.82666],
|
||
567: [0.19444, 0.44444, 0.04611, 0, 0.385],
|
||
710: [0, 0.69444, 0.06709, 0, 0.59111],
|
||
711: [0, 0.63194, 0.08271, 0, 0.59111],
|
||
713: [0, 0.59444, 0.10444, 0, 0.59111],
|
||
714: [0, 0.69444, 0.08528, 0, 0.59111],
|
||
715: [0, 0.69444, 0, 0, 0.59111],
|
||
728: [0, 0.69444, 0.10333, 0, 0.59111],
|
||
729: [0, 0.69444, 0.12945, 0, 0.35555],
|
||
730: [0, 0.69444, 0, 0, 0.94888],
|
||
732: [0, 0.69444, 0.11472, 0, 0.59111],
|
||
733: [0, 0.69444, 0.11472, 0, 0.59111],
|
||
915: [0, 0.68611, 0.12903, 0, 0.69777],
|
||
916: [0, 0.68611, 0, 0, 0.94444],
|
||
920: [0, 0.68611, 0.09062, 0, 0.88555],
|
||
923: [0, 0.68611, 0, 0, 0.80666],
|
||
926: [0, 0.68611, 0.15092, 0, 0.76777],
|
||
928: [0, 0.68611, 0.17208, 0, 0.8961],
|
||
931: [0, 0.68611, 0.11431, 0, 0.82666],
|
||
933: [0, 0.68611, 0.10778, 0, 0.88555],
|
||
934: [0, 0.68611, 0.05632, 0, 0.82666],
|
||
936: [0, 0.68611, 0.10778, 0, 0.88555],
|
||
937: [0, 0.68611, 0.0992, 0, 0.82666],
|
||
8211: [0, 0.44444, 0.09811, 0, 0.59111],
|
||
8212: [0, 0.44444, 0.09811, 0, 1.18221],
|
||
8216: [0, 0.69444, 0.12945, 0, 0.35555],
|
||
8217: [0, 0.69444, 0.12945, 0, 0.35555],
|
||
8220: [0, 0.69444, 0.16772, 0, 0.62055],
|
||
8221: [0, 0.69444, 0.07939, 0, 0.62055],
|
||
},
|
||
'Main-Italic': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
33: [0, 0.69444, 0.12417, 0, 0.30667],
|
||
34: [0, 0.69444, 0.06961, 0, 0.51444],
|
||
35: [0.19444, 0.69444, 0.06616, 0, 0.81777],
|
||
37: [0.05556, 0.75, 0.13639, 0, 0.81777],
|
||
38: [0, 0.69444, 0.09694, 0, 0.76666],
|
||
39: [0, 0.69444, 0.12417, 0, 0.30667],
|
||
40: [0.25, 0.75, 0.16194, 0, 0.40889],
|
||
41: [0.25, 0.75, 0.03694, 0, 0.40889],
|
||
42: [0, 0.75, 0.14917, 0, 0.51111],
|
||
43: [0.05667, 0.56167, 0.03694, 0, 0.76666],
|
||
44: [0.19444, 0.10556, 0, 0, 0.30667],
|
||
45: [0, 0.43056, 0.02826, 0, 0.35778],
|
||
46: [0, 0.10556, 0, 0, 0.30667],
|
||
47: [0.25, 0.75, 0.16194, 0, 0.51111],
|
||
48: [0, 0.64444, 0.13556, 0, 0.51111],
|
||
49: [0, 0.64444, 0.13556, 0, 0.51111],
|
||
50: [0, 0.64444, 0.13556, 0, 0.51111],
|
||
51: [0, 0.64444, 0.13556, 0, 0.51111],
|
||
52: [0.19444, 0.64444, 0.13556, 0, 0.51111],
|
||
53: [0, 0.64444, 0.13556, 0, 0.51111],
|
||
54: [0, 0.64444, 0.13556, 0, 0.51111],
|
||
55: [0.19444, 0.64444, 0.13556, 0, 0.51111],
|
||
56: [0, 0.64444, 0.13556, 0, 0.51111],
|
||
57: [0, 0.64444, 0.13556, 0, 0.51111],
|
||
58: [0, 0.43056, 0.0582, 0, 0.30667],
|
||
59: [0.19444, 0.43056, 0.0582, 0, 0.30667],
|
||
61: [-0.13313, 0.36687, 0.06616, 0, 0.76666],
|
||
63: [0, 0.69444, 0.1225, 0, 0.51111],
|
||
64: [0, 0.69444, 0.09597, 0, 0.76666],
|
||
65: [0, 0.68333, 0, 0, 0.74333],
|
||
66: [0, 0.68333, 0.10257, 0, 0.70389],
|
||
67: [0, 0.68333, 0.14528, 0, 0.71555],
|
||
68: [0, 0.68333, 0.09403, 0, 0.755],
|
||
69: [0, 0.68333, 0.12028, 0, 0.67833],
|
||
70: [0, 0.68333, 0.13305, 0, 0.65277],
|
||
71: [0, 0.68333, 0.08722, 0, 0.77361],
|
||
72: [0, 0.68333, 0.16389, 0, 0.74333],
|
||
73: [0, 0.68333, 0.15806, 0, 0.38555],
|
||
74: [0, 0.68333, 0.14028, 0, 0.525],
|
||
75: [0, 0.68333, 0.14528, 0, 0.76888],
|
||
76: [0, 0.68333, 0, 0, 0.62722],
|
||
77: [0, 0.68333, 0.16389, 0, 0.89666],
|
||
78: [0, 0.68333, 0.16389, 0, 0.74333],
|
||
79: [0, 0.68333, 0.09403, 0, 0.76666],
|
||
80: [0, 0.68333, 0.10257, 0, 0.67833],
|
||
81: [0.19444, 0.68333, 0.09403, 0, 0.76666],
|
||
82: [0, 0.68333, 0.03868, 0, 0.72944],
|
||
83: [0, 0.68333, 0.11972, 0, 0.56222],
|
||
84: [0, 0.68333, 0.13305, 0, 0.71555],
|
||
85: [0, 0.68333, 0.16389, 0, 0.74333],
|
||
86: [0, 0.68333, 0.18361, 0, 0.74333],
|
||
87: [0, 0.68333, 0.18361, 0, 0.99888],
|
||
88: [0, 0.68333, 0.15806, 0, 0.74333],
|
||
89: [0, 0.68333, 0.19383, 0, 0.74333],
|
||
90: [0, 0.68333, 0.14528, 0, 0.61333],
|
||
91: [0.25, 0.75, 0.1875, 0, 0.30667],
|
||
93: [0.25, 0.75, 0.10528, 0, 0.30667],
|
||
94: [0, 0.69444, 0.06646, 0, 0.51111],
|
||
95: [0.31, 0.12056, 0.09208, 0, 0.51111],
|
||
97: [0, 0.43056, 0.07671, 0, 0.51111],
|
||
98: [0, 0.69444, 0.06312, 0, 0.46],
|
||
99: [0, 0.43056, 0.05653, 0, 0.46],
|
||
100: [0, 0.69444, 0.10333, 0, 0.51111],
|
||
101: [0, 0.43056, 0.07514, 0, 0.46],
|
||
102: [0.19444, 0.69444, 0.21194, 0, 0.30667],
|
||
103: [0.19444, 0.43056, 0.08847, 0, 0.46],
|
||
104: [0, 0.69444, 0.07671, 0, 0.51111],
|
||
105: [0, 0.65536, 0.1019, 0, 0.30667],
|
||
106: [0.19444, 0.65536, 0.14467, 0, 0.30667],
|
||
107: [0, 0.69444, 0.10764, 0, 0.46],
|
||
108: [0, 0.69444, 0.10333, 0, 0.25555],
|
||
109: [0, 0.43056, 0.07671, 0, 0.81777],
|
||
110: [0, 0.43056, 0.07671, 0, 0.56222],
|
||
111: [0, 0.43056, 0.06312, 0, 0.51111],
|
||
112: [0.19444, 0.43056, 0.06312, 0, 0.51111],
|
||
113: [0.19444, 0.43056, 0.08847, 0, 0.46],
|
||
114: [0, 0.43056, 0.10764, 0, 0.42166],
|
||
115: [0, 0.43056, 0.08208, 0, 0.40889],
|
||
116: [0, 0.61508, 0.09486, 0, 0.33222],
|
||
117: [0, 0.43056, 0.07671, 0, 0.53666],
|
||
118: [0, 0.43056, 0.10764, 0, 0.46],
|
||
119: [0, 0.43056, 0.10764, 0, 0.66444],
|
||
120: [0, 0.43056, 0.12042, 0, 0.46389],
|
||
121: [0.19444, 0.43056, 0.08847, 0, 0.48555],
|
||
122: [0, 0.43056, 0.12292, 0, 0.40889],
|
||
126: [0.35, 0.31786, 0.11585, 0, 0.51111],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
168: [0, 0.66786, 0.10474, 0, 0.51111],
|
||
176: [0, 0.69444, 0, 0, 0.83129],
|
||
184: [0.17014, 0, 0, 0, 0.46],
|
||
198: [0, 0.68333, 0.12028, 0, 0.88277],
|
||
216: [0.04861, 0.73194, 0.09403, 0, 0.76666],
|
||
223: [0.19444, 0.69444, 0.10514, 0, 0.53666],
|
||
230: [0, 0.43056, 0.07514, 0, 0.71555],
|
||
248: [0.09722, 0.52778, 0.09194, 0, 0.51111],
|
||
338: [0, 0.68333, 0.12028, 0, 0.98499],
|
||
339: [0, 0.43056, 0.07514, 0, 0.71555],
|
||
710: [0, 0.69444, 0.06646, 0, 0.51111],
|
||
711: [0, 0.62847, 0.08295, 0, 0.51111],
|
||
713: [0, 0.56167, 0.10333, 0, 0.51111],
|
||
714: [0, 0.69444, 0.09694, 0, 0.51111],
|
||
715: [0, 0.69444, 0, 0, 0.51111],
|
||
728: [0, 0.69444, 0.10806, 0, 0.51111],
|
||
729: [0, 0.66786, 0.11752, 0, 0.30667],
|
||
730: [0, 0.69444, 0, 0, 0.83129],
|
||
732: [0, 0.66786, 0.11585, 0, 0.51111],
|
||
733: [0, 0.69444, 0.1225, 0, 0.51111],
|
||
915: [0, 0.68333, 0.13305, 0, 0.62722],
|
||
916: [0, 0.68333, 0, 0, 0.81777],
|
||
920: [0, 0.68333, 0.09403, 0, 0.76666],
|
||
923: [0, 0.68333, 0, 0, 0.69222],
|
||
926: [0, 0.68333, 0.15294, 0, 0.66444],
|
||
928: [0, 0.68333, 0.16389, 0, 0.74333],
|
||
931: [0, 0.68333, 0.12028, 0, 0.71555],
|
||
933: [0, 0.68333, 0.11111, 0, 0.76666],
|
||
934: [0, 0.68333, 0.05986, 0, 0.71555],
|
||
936: [0, 0.68333, 0.11111, 0, 0.76666],
|
||
937: [0, 0.68333, 0.10257, 0, 0.71555],
|
||
8211: [0, 0.43056, 0.09208, 0, 0.51111],
|
||
8212: [0, 0.43056, 0.09208, 0, 1.02222],
|
||
8216: [0, 0.69444, 0.12417, 0, 0.30667],
|
||
8217: [0, 0.69444, 0.12417, 0, 0.30667],
|
||
8220: [0, 0.69444, 0.1685, 0, 0.51444],
|
||
8221: [0, 0.69444, 0.06961, 0, 0.51444],
|
||
8463: [0, 0.68889, 0, 0, 0.54028],
|
||
},
|
||
'Main-Regular': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
33: [0, 0.69444, 0, 0, 0.27778],
|
||
34: [0, 0.69444, 0, 0, 0.5],
|
||
35: [0.19444, 0.69444, 0, 0, 0.83334],
|
||
36: [0.05556, 0.75, 0, 0, 0.5],
|
||
37: [0.05556, 0.75, 0, 0, 0.83334],
|
||
38: [0, 0.69444, 0, 0, 0.77778],
|
||
39: [0, 0.69444, 0, 0, 0.27778],
|
||
40: [0.25, 0.75, 0, 0, 0.38889],
|
||
41: [0.25, 0.75, 0, 0, 0.38889],
|
||
42: [0, 0.75, 0, 0, 0.5],
|
||
43: [0.08333, 0.58333, 0, 0, 0.77778],
|
||
44: [0.19444, 0.10556, 0, 0, 0.27778],
|
||
45: [0, 0.43056, 0, 0, 0.33333],
|
||
46: [0, 0.10556, 0, 0, 0.27778],
|
||
47: [0.25, 0.75, 0, 0, 0.5],
|
||
48: [0, 0.64444, 0, 0, 0.5],
|
||
49: [0, 0.64444, 0, 0, 0.5],
|
||
50: [0, 0.64444, 0, 0, 0.5],
|
||
51: [0, 0.64444, 0, 0, 0.5],
|
||
52: [0, 0.64444, 0, 0, 0.5],
|
||
53: [0, 0.64444, 0, 0, 0.5],
|
||
54: [0, 0.64444, 0, 0, 0.5],
|
||
55: [0, 0.64444, 0, 0, 0.5],
|
||
56: [0, 0.64444, 0, 0, 0.5],
|
||
57: [0, 0.64444, 0, 0, 0.5],
|
||
58: [0, 0.43056, 0, 0, 0.27778],
|
||
59: [0.19444, 0.43056, 0, 0, 0.27778],
|
||
60: [0.0391, 0.5391, 0, 0, 0.77778],
|
||
61: [-0.13313, 0.36687, 0, 0, 0.77778],
|
||
62: [0.0391, 0.5391, 0, 0, 0.77778],
|
||
63: [0, 0.69444, 0, 0, 0.47222],
|
||
64: [0, 0.69444, 0, 0, 0.77778],
|
||
65: [0, 0.68333, 0, 0, 0.75],
|
||
66: [0, 0.68333, 0, 0, 0.70834],
|
||
67: [0, 0.68333, 0, 0, 0.72222],
|
||
68: [0, 0.68333, 0, 0, 0.76389],
|
||
69: [0, 0.68333, 0, 0, 0.68056],
|
||
70: [0, 0.68333, 0, 0, 0.65278],
|
||
71: [0, 0.68333, 0, 0, 0.78472],
|
||
72: [0, 0.68333, 0, 0, 0.75],
|
||
73: [0, 0.68333, 0, 0, 0.36111],
|
||
74: [0, 0.68333, 0, 0, 0.51389],
|
||
75: [0, 0.68333, 0, 0, 0.77778],
|
||
76: [0, 0.68333, 0, 0, 0.625],
|
||
77: [0, 0.68333, 0, 0, 0.91667],
|
||
78: [0, 0.68333, 0, 0, 0.75],
|
||
79: [0, 0.68333, 0, 0, 0.77778],
|
||
80: [0, 0.68333, 0, 0, 0.68056],
|
||
81: [0.19444, 0.68333, 0, 0, 0.77778],
|
||
82: [0, 0.68333, 0, 0, 0.73611],
|
||
83: [0, 0.68333, 0, 0, 0.55556],
|
||
84: [0, 0.68333, 0, 0, 0.72222],
|
||
85: [0, 0.68333, 0, 0, 0.75],
|
||
86: [0, 0.68333, 0.01389, 0, 0.75],
|
||
87: [0, 0.68333, 0.01389, 0, 1.02778],
|
||
88: [0, 0.68333, 0, 0, 0.75],
|
||
89: [0, 0.68333, 0.025, 0, 0.75],
|
||
90: [0, 0.68333, 0, 0, 0.61111],
|
||
91: [0.25, 0.75, 0, 0, 0.27778],
|
||
92: [0.25, 0.75, 0, 0, 0.5],
|
||
93: [0.25, 0.75, 0, 0, 0.27778],
|
||
94: [0, 0.69444, 0, 0, 0.5],
|
||
95: [0.31, 0.12056, 0.02778, 0, 0.5],
|
||
97: [0, 0.43056, 0, 0, 0.5],
|
||
98: [0, 0.69444, 0, 0, 0.55556],
|
||
99: [0, 0.43056, 0, 0, 0.44445],
|
||
100: [0, 0.69444, 0, 0, 0.55556],
|
||
101: [0, 0.43056, 0, 0, 0.44445],
|
||
102: [0, 0.69444, 0.07778, 0, 0.30556],
|
||
103: [0.19444, 0.43056, 0.01389, 0, 0.5],
|
||
104: [0, 0.69444, 0, 0, 0.55556],
|
||
105: [0, 0.66786, 0, 0, 0.27778],
|
||
106: [0.19444, 0.66786, 0, 0, 0.30556],
|
||
107: [0, 0.69444, 0, 0, 0.52778],
|
||
108: [0, 0.69444, 0, 0, 0.27778],
|
||
109: [0, 0.43056, 0, 0, 0.83334],
|
||
110: [0, 0.43056, 0, 0, 0.55556],
|
||
111: [0, 0.43056, 0, 0, 0.5],
|
||
112: [0.19444, 0.43056, 0, 0, 0.55556],
|
||
113: [0.19444, 0.43056, 0, 0, 0.52778],
|
||
114: [0, 0.43056, 0, 0, 0.39167],
|
||
115: [0, 0.43056, 0, 0, 0.39445],
|
||
116: [0, 0.61508, 0, 0, 0.38889],
|
||
117: [0, 0.43056, 0, 0, 0.55556],
|
||
118: [0, 0.43056, 0.01389, 0, 0.52778],
|
||
119: [0, 0.43056, 0.01389, 0, 0.72222],
|
||
120: [0, 0.43056, 0, 0, 0.52778],
|
||
121: [0.19444, 0.43056, 0.01389, 0, 0.52778],
|
||
122: [0, 0.43056, 0, 0, 0.44445],
|
||
123: [0.25, 0.75, 0, 0, 0.5],
|
||
124: [0.25, 0.75, 0, 0, 0.27778],
|
||
125: [0.25, 0.75, 0, 0, 0.5],
|
||
126: [0.35, 0.31786, 0, 0, 0.5],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
163: [0, 0.69444, 0, 0, 0.76909],
|
||
167: [0.19444, 0.69444, 0, 0, 0.44445],
|
||
168: [0, 0.66786, 0, 0, 0.5],
|
||
172: [0, 0.43056, 0, 0, 0.66667],
|
||
176: [0, 0.69444, 0, 0, 0.75],
|
||
177: [0.08333, 0.58333, 0, 0, 0.77778],
|
||
182: [0.19444, 0.69444, 0, 0, 0.61111],
|
||
184: [0.17014, 0, 0, 0, 0.44445],
|
||
198: [0, 0.68333, 0, 0, 0.90278],
|
||
215: [0.08333, 0.58333, 0, 0, 0.77778],
|
||
216: [0.04861, 0.73194, 0, 0, 0.77778],
|
||
223: [0, 0.69444, 0, 0, 0.5],
|
||
230: [0, 0.43056, 0, 0, 0.72222],
|
||
247: [0.08333, 0.58333, 0, 0, 0.77778],
|
||
248: [0.09722, 0.52778, 0, 0, 0.5],
|
||
305: [0, 0.43056, 0, 0, 0.27778],
|
||
338: [0, 0.68333, 0, 0, 1.01389],
|
||
339: [0, 0.43056, 0, 0, 0.77778],
|
||
567: [0.19444, 0.43056, 0, 0, 0.30556],
|
||
710: [0, 0.69444, 0, 0, 0.5],
|
||
711: [0, 0.62847, 0, 0, 0.5],
|
||
713: [0, 0.56778, 0, 0, 0.5],
|
||
714: [0, 0.69444, 0, 0, 0.5],
|
||
715: [0, 0.69444, 0, 0, 0.5],
|
||
728: [0, 0.69444, 0, 0, 0.5],
|
||
729: [0, 0.66786, 0, 0, 0.27778],
|
||
730: [0, 0.69444, 0, 0, 0.75],
|
||
732: [0, 0.66786, 0, 0, 0.5],
|
||
733: [0, 0.69444, 0, 0, 0.5],
|
||
915: [0, 0.68333, 0, 0, 0.625],
|
||
916: [0, 0.68333, 0, 0, 0.83334],
|
||
920: [0, 0.68333, 0, 0, 0.77778],
|
||
923: [0, 0.68333, 0, 0, 0.69445],
|
||
926: [0, 0.68333, 0, 0, 0.66667],
|
||
928: [0, 0.68333, 0, 0, 0.75],
|
||
931: [0, 0.68333, 0, 0, 0.72222],
|
||
933: [0, 0.68333, 0, 0, 0.77778],
|
||
934: [0, 0.68333, 0, 0, 0.72222],
|
||
936: [0, 0.68333, 0, 0, 0.77778],
|
||
937: [0, 0.68333, 0, 0, 0.72222],
|
||
8211: [0, 0.43056, 0.02778, 0, 0.5],
|
||
8212: [0, 0.43056, 0.02778, 0, 1],
|
||
8216: [0, 0.69444, 0, 0, 0.27778],
|
||
8217: [0, 0.69444, 0, 0, 0.27778],
|
||
8220: [0, 0.69444, 0, 0, 0.5],
|
||
8221: [0, 0.69444, 0, 0, 0.5],
|
||
8224: [0.19444, 0.69444, 0, 0, 0.44445],
|
||
8225: [0.19444, 0.69444, 0, 0, 0.44445],
|
||
8230: [0, 0.123, 0, 0, 1.172],
|
||
8242: [0, 0.55556, 0, 0, 0.275],
|
||
8407: [0, 0.71444, 0.15382, 0, 0.5],
|
||
8463: [0, 0.68889, 0, 0, 0.54028],
|
||
8465: [0, 0.69444, 0, 0, 0.72222],
|
||
8467: [0, 0.69444, 0, 0.11111, 0.41667],
|
||
8472: [0.19444, 0.43056, 0, 0.11111, 0.63646],
|
||
8476: [0, 0.69444, 0, 0, 0.72222],
|
||
8501: [0, 0.69444, 0, 0, 0.61111],
|
||
8592: [-0.13313, 0.36687, 0, 0, 1],
|
||
8593: [0.19444, 0.69444, 0, 0, 0.5],
|
||
8594: [-0.13313, 0.36687, 0, 0, 1],
|
||
8595: [0.19444, 0.69444, 0, 0, 0.5],
|
||
8596: [-0.13313, 0.36687, 0, 0, 1],
|
||
8597: [0.25, 0.75, 0, 0, 0.5],
|
||
8598: [0.19444, 0.69444, 0, 0, 1],
|
||
8599: [0.19444, 0.69444, 0, 0, 1],
|
||
8600: [0.19444, 0.69444, 0, 0, 1],
|
||
8601: [0.19444, 0.69444, 0, 0, 1],
|
||
8614: [0.011, 0.511, 0, 0, 1],
|
||
8617: [0.011, 0.511, 0, 0, 1.126],
|
||
8618: [0.011, 0.511, 0, 0, 1.126],
|
||
8636: [-0.13313, 0.36687, 0, 0, 1],
|
||
8637: [-0.13313, 0.36687, 0, 0, 1],
|
||
8640: [-0.13313, 0.36687, 0, 0, 1],
|
||
8641: [-0.13313, 0.36687, 0, 0, 1],
|
||
8652: [0.011, 0.671, 0, 0, 1],
|
||
8656: [-0.13313, 0.36687, 0, 0, 1],
|
||
8657: [0.19444, 0.69444, 0, 0, 0.61111],
|
||
8658: [-0.13313, 0.36687, 0, 0, 1],
|
||
8659: [0.19444, 0.69444, 0, 0, 0.61111],
|
||
8660: [-0.13313, 0.36687, 0, 0, 1],
|
||
8661: [0.25, 0.75, 0, 0, 0.61111],
|
||
8704: [0, 0.69444, 0, 0, 0.55556],
|
||
8706: [0, 0.69444, 0.05556, 0.08334, 0.5309],
|
||
8707: [0, 0.69444, 0, 0, 0.55556],
|
||
8709: [0.05556, 0.75, 0, 0, 0.5],
|
||
8711: [0, 0.68333, 0, 0, 0.83334],
|
||
8712: [0.0391, 0.5391, 0, 0, 0.66667],
|
||
8715: [0.0391, 0.5391, 0, 0, 0.66667],
|
||
8722: [0.08333, 0.58333, 0, 0, 0.77778],
|
||
8723: [0.08333, 0.58333, 0, 0, 0.77778],
|
||
8725: [0.25, 0.75, 0, 0, 0.5],
|
||
8726: [0.25, 0.75, 0, 0, 0.5],
|
||
8727: [-0.03472, 0.46528, 0, 0, 0.5],
|
||
8728: [-0.05555, 0.44445, 0, 0, 0.5],
|
||
8729: [-0.05555, 0.44445, 0, 0, 0.5],
|
||
8730: [0.2, 0.8, 0, 0, 0.83334],
|
||
8733: [0, 0.43056, 0, 0, 0.77778],
|
||
8734: [0, 0.43056, 0, 0, 1],
|
||
8736: [0, 0.69224, 0, 0, 0.72222],
|
||
8739: [0.25, 0.75, 0, 0, 0.27778],
|
||
8741: [0.25, 0.75, 0, 0, 0.5],
|
||
8743: [0, 0.55556, 0, 0, 0.66667],
|
||
8744: [0, 0.55556, 0, 0, 0.66667],
|
||
8745: [0, 0.55556, 0, 0, 0.66667],
|
||
8746: [0, 0.55556, 0, 0, 0.66667],
|
||
8747: [0.19444, 0.69444, 0.11111, 0, 0.41667],
|
||
8764: [-0.13313, 0.36687, 0, 0, 0.77778],
|
||
8768: [0.19444, 0.69444, 0, 0, 0.27778],
|
||
8771: [-0.03625, 0.46375, 0, 0, 0.77778],
|
||
8773: [-0.022, 0.589, 0, 0, 0.778],
|
||
8776: [-0.01688, 0.48312, 0, 0, 0.77778],
|
||
8781: [-0.03625, 0.46375, 0, 0, 0.77778],
|
||
8784: [-0.133, 0.673, 0, 0, 0.778],
|
||
8801: [-0.03625, 0.46375, 0, 0, 0.77778],
|
||
8804: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
8805: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
8810: [0.0391, 0.5391, 0, 0, 1],
|
||
8811: [0.0391, 0.5391, 0, 0, 1],
|
||
8826: [0.0391, 0.5391, 0, 0, 0.77778],
|
||
8827: [0.0391, 0.5391, 0, 0, 0.77778],
|
||
8834: [0.0391, 0.5391, 0, 0, 0.77778],
|
||
8835: [0.0391, 0.5391, 0, 0, 0.77778],
|
||
8838: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
8839: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
8846: [0, 0.55556, 0, 0, 0.66667],
|
||
8849: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
8850: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
8851: [0, 0.55556, 0, 0, 0.66667],
|
||
8852: [0, 0.55556, 0, 0, 0.66667],
|
||
8853: [0.08333, 0.58333, 0, 0, 0.77778],
|
||
8854: [0.08333, 0.58333, 0, 0, 0.77778],
|
||
8855: [0.08333, 0.58333, 0, 0, 0.77778],
|
||
8856: [0.08333, 0.58333, 0, 0, 0.77778],
|
||
8857: [0.08333, 0.58333, 0, 0, 0.77778],
|
||
8866: [0, 0.69444, 0, 0, 0.61111],
|
||
8867: [0, 0.69444, 0, 0, 0.61111],
|
||
8868: [0, 0.69444, 0, 0, 0.77778],
|
||
8869: [0, 0.69444, 0, 0, 0.77778],
|
||
8872: [0.249, 0.75, 0, 0, 0.867],
|
||
8900: [-0.05555, 0.44445, 0, 0, 0.5],
|
||
8901: [-0.05555, 0.44445, 0, 0, 0.27778],
|
||
8902: [-0.03472, 0.46528, 0, 0, 0.5],
|
||
8904: [0.005, 0.505, 0, 0, 0.9],
|
||
8942: [0.03, 0.903, 0, 0, 0.278],
|
||
8943: [-0.19, 0.313, 0, 0, 1.172],
|
||
8945: [-0.1, 0.823, 0, 0, 1.282],
|
||
8968: [0.25, 0.75, 0, 0, 0.44445],
|
||
8969: [0.25, 0.75, 0, 0, 0.44445],
|
||
8970: [0.25, 0.75, 0, 0, 0.44445],
|
||
8971: [0.25, 0.75, 0, 0, 0.44445],
|
||
8994: [-0.14236, 0.35764, 0, 0, 1],
|
||
8995: [-0.14236, 0.35764, 0, 0, 1],
|
||
9136: [0.244, 0.744, 0, 0, 0.412],
|
||
9137: [0.244, 0.745, 0, 0, 0.412],
|
||
9651: [0.19444, 0.69444, 0, 0, 0.88889],
|
||
9657: [-0.03472, 0.46528, 0, 0, 0.5],
|
||
9661: [0.19444, 0.69444, 0, 0, 0.88889],
|
||
9667: [-0.03472, 0.46528, 0, 0, 0.5],
|
||
9711: [0.19444, 0.69444, 0, 0, 1],
|
||
9824: [0.12963, 0.69444, 0, 0, 0.77778],
|
||
9825: [0.12963, 0.69444, 0, 0, 0.77778],
|
||
9826: [0.12963, 0.69444, 0, 0, 0.77778],
|
||
9827: [0.12963, 0.69444, 0, 0, 0.77778],
|
||
9837: [0, 0.75, 0, 0, 0.38889],
|
||
9838: [0.19444, 0.69444, 0, 0, 0.38889],
|
||
9839: [0.19444, 0.69444, 0, 0, 0.38889],
|
||
10216: [0.25, 0.75, 0, 0, 0.38889],
|
||
10217: [0.25, 0.75, 0, 0, 0.38889],
|
||
10222: [0.244, 0.744, 0, 0, 0.412],
|
||
10223: [0.244, 0.745, 0, 0, 0.412],
|
||
10229: [0.011, 0.511, 0, 0, 1.609],
|
||
10230: [0.011, 0.511, 0, 0, 1.638],
|
||
10231: [0.011, 0.511, 0, 0, 1.859],
|
||
10232: [0.024, 0.525, 0, 0, 1.609],
|
||
10233: [0.024, 0.525, 0, 0, 1.638],
|
||
10234: [0.024, 0.525, 0, 0, 1.858],
|
||
10236: [0.011, 0.511, 0, 0, 1.638],
|
||
10815: [0, 0.68333, 0, 0, 0.75],
|
||
10927: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
10928: [0.13597, 0.63597, 0, 0, 0.77778],
|
||
57376: [0.19444, 0.69444, 0, 0, 0],
|
||
},
|
||
'Math-BoldItalic': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
48: [0, 0.44444, 0, 0, 0.575],
|
||
49: [0, 0.44444, 0, 0, 0.575],
|
||
50: [0, 0.44444, 0, 0, 0.575],
|
||
51: [0.19444, 0.44444, 0, 0, 0.575],
|
||
52: [0.19444, 0.44444, 0, 0, 0.575],
|
||
53: [0.19444, 0.44444, 0, 0, 0.575],
|
||
54: [0, 0.64444, 0, 0, 0.575],
|
||
55: [0.19444, 0.44444, 0, 0, 0.575],
|
||
56: [0, 0.64444, 0, 0, 0.575],
|
||
57: [0.19444, 0.44444, 0, 0, 0.575],
|
||
65: [0, 0.68611, 0, 0, 0.86944],
|
||
66: [0, 0.68611, 0.04835, 0, 0.8664],
|
||
67: [0, 0.68611, 0.06979, 0, 0.81694],
|
||
68: [0, 0.68611, 0.03194, 0, 0.93812],
|
||
69: [0, 0.68611, 0.05451, 0, 0.81007],
|
||
70: [0, 0.68611, 0.15972, 0, 0.68889],
|
||
71: [0, 0.68611, 0, 0, 0.88673],
|
||
72: [0, 0.68611, 0.08229, 0, 0.98229],
|
||
73: [0, 0.68611, 0.07778, 0, 0.51111],
|
||
74: [0, 0.68611, 0.10069, 0, 0.63125],
|
||
75: [0, 0.68611, 0.06979, 0, 0.97118],
|
||
76: [0, 0.68611, 0, 0, 0.75555],
|
||
77: [0, 0.68611, 0.11424, 0, 1.14201],
|
||
78: [0, 0.68611, 0.11424, 0, 0.95034],
|
||
79: [0, 0.68611, 0.03194, 0, 0.83666],
|
||
80: [0, 0.68611, 0.15972, 0, 0.72309],
|
||
81: [0.19444, 0.68611, 0, 0, 0.86861],
|
||
82: [0, 0.68611, 0.00421, 0, 0.87235],
|
||
83: [0, 0.68611, 0.05382, 0, 0.69271],
|
||
84: [0, 0.68611, 0.15972, 0, 0.63663],
|
||
85: [0, 0.68611, 0.11424, 0, 0.80027],
|
||
86: [0, 0.68611, 0.25555, 0, 0.67778],
|
||
87: [0, 0.68611, 0.15972, 0, 1.09305],
|
||
88: [0, 0.68611, 0.07778, 0, 0.94722],
|
||
89: [0, 0.68611, 0.25555, 0, 0.67458],
|
||
90: [0, 0.68611, 0.06979, 0, 0.77257],
|
||
97: [0, 0.44444, 0, 0, 0.63287],
|
||
98: [0, 0.69444, 0, 0, 0.52083],
|
||
99: [0, 0.44444, 0, 0, 0.51342],
|
||
100: [0, 0.69444, 0, 0, 0.60972],
|
||
101: [0, 0.44444, 0, 0, 0.55361],
|
||
102: [0.19444, 0.69444, 0.11042, 0, 0.56806],
|
||
103: [0.19444, 0.44444, 0.03704, 0, 0.5449],
|
||
104: [0, 0.69444, 0, 0, 0.66759],
|
||
105: [0, 0.69326, 0, 0, 0.4048],
|
||
106: [0.19444, 0.69326, 0.0622, 0, 0.47083],
|
||
107: [0, 0.69444, 0.01852, 0, 0.6037],
|
||
108: [0, 0.69444, 0.0088, 0, 0.34815],
|
||
109: [0, 0.44444, 0, 0, 1.0324],
|
||
110: [0, 0.44444, 0, 0, 0.71296],
|
||
111: [0, 0.44444, 0, 0, 0.58472],
|
||
112: [0.19444, 0.44444, 0, 0, 0.60092],
|
||
113: [0.19444, 0.44444, 0.03704, 0, 0.54213],
|
||
114: [0, 0.44444, 0.03194, 0, 0.5287],
|
||
115: [0, 0.44444, 0, 0, 0.53125],
|
||
116: [0, 0.63492, 0, 0, 0.41528],
|
||
117: [0, 0.44444, 0, 0, 0.68102],
|
||
118: [0, 0.44444, 0.03704, 0, 0.56666],
|
||
119: [0, 0.44444, 0.02778, 0, 0.83148],
|
||
120: [0, 0.44444, 0, 0, 0.65903],
|
||
121: [0.19444, 0.44444, 0.03704, 0, 0.59028],
|
||
122: [0, 0.44444, 0.04213, 0, 0.55509],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
915: [0, 0.68611, 0.15972, 0, 0.65694],
|
||
916: [0, 0.68611, 0, 0, 0.95833],
|
||
920: [0, 0.68611, 0.03194, 0, 0.86722],
|
||
923: [0, 0.68611, 0, 0, 0.80555],
|
||
926: [0, 0.68611, 0.07458, 0, 0.84125],
|
||
928: [0, 0.68611, 0.08229, 0, 0.98229],
|
||
931: [0, 0.68611, 0.05451, 0, 0.88507],
|
||
933: [0, 0.68611, 0.15972, 0, 0.67083],
|
||
934: [0, 0.68611, 0, 0, 0.76666],
|
||
936: [0, 0.68611, 0.11653, 0, 0.71402],
|
||
937: [0, 0.68611, 0.04835, 0, 0.8789],
|
||
945: [0, 0.44444, 0, 0, 0.76064],
|
||
946: [0.19444, 0.69444, 0.03403, 0, 0.65972],
|
||
947: [0.19444, 0.44444, 0.06389, 0, 0.59003],
|
||
948: [0, 0.69444, 0.03819, 0, 0.52222],
|
||
949: [0, 0.44444, 0, 0, 0.52882],
|
||
950: [0.19444, 0.69444, 0.06215, 0, 0.50833],
|
||
951: [0.19444, 0.44444, 0.03704, 0, 0.6],
|
||
952: [0, 0.69444, 0.03194, 0, 0.5618],
|
||
953: [0, 0.44444, 0, 0, 0.41204],
|
||
954: [0, 0.44444, 0, 0, 0.66759],
|
||
955: [0, 0.69444, 0, 0, 0.67083],
|
||
956: [0.19444, 0.44444, 0, 0, 0.70787],
|
||
957: [0, 0.44444, 0.06898, 0, 0.57685],
|
||
958: [0.19444, 0.69444, 0.03021, 0, 0.50833],
|
||
959: [0, 0.44444, 0, 0, 0.58472],
|
||
960: [0, 0.44444, 0.03704, 0, 0.68241],
|
||
961: [0.19444, 0.44444, 0, 0, 0.6118],
|
||
962: [0.09722, 0.44444, 0.07917, 0, 0.42361],
|
||
963: [0, 0.44444, 0.03704, 0, 0.68588],
|
||
964: [0, 0.44444, 0.13472, 0, 0.52083],
|
||
965: [0, 0.44444, 0.03704, 0, 0.63055],
|
||
966: [0.19444, 0.44444, 0, 0, 0.74722],
|
||
967: [0.19444, 0.44444, 0, 0, 0.71805],
|
||
968: [0.19444, 0.69444, 0.03704, 0, 0.75833],
|
||
969: [0, 0.44444, 0.03704, 0, 0.71782],
|
||
977: [0, 0.69444, 0, 0, 0.69155],
|
||
981: [0.19444, 0.69444, 0, 0, 0.7125],
|
||
982: [0, 0.44444, 0.03194, 0, 0.975],
|
||
1009: [0.19444, 0.44444, 0, 0, 0.6118],
|
||
1013: [0, 0.44444, 0, 0, 0.48333],
|
||
57649: [0, 0.44444, 0, 0, 0.39352],
|
||
57911: [0.19444, 0.44444, 0, 0, 0.43889],
|
||
},
|
||
'Math-Italic': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
48: [0, 0.43056, 0, 0, 0.5],
|
||
49: [0, 0.43056, 0, 0, 0.5],
|
||
50: [0, 0.43056, 0, 0, 0.5],
|
||
51: [0.19444, 0.43056, 0, 0, 0.5],
|
||
52: [0.19444, 0.43056, 0, 0, 0.5],
|
||
53: [0.19444, 0.43056, 0, 0, 0.5],
|
||
54: [0, 0.64444, 0, 0, 0.5],
|
||
55: [0.19444, 0.43056, 0, 0, 0.5],
|
||
56: [0, 0.64444, 0, 0, 0.5],
|
||
57: [0.19444, 0.43056, 0, 0, 0.5],
|
||
65: [0, 0.68333, 0, 0.13889, 0.75],
|
||
66: [0, 0.68333, 0.05017, 0.08334, 0.75851],
|
||
67: [0, 0.68333, 0.07153, 0.08334, 0.71472],
|
||
68: [0, 0.68333, 0.02778, 0.05556, 0.82792],
|
||
69: [0, 0.68333, 0.05764, 0.08334, 0.7382],
|
||
70: [0, 0.68333, 0.13889, 0.08334, 0.64306],
|
||
71: [0, 0.68333, 0, 0.08334, 0.78625],
|
||
72: [0, 0.68333, 0.08125, 0.05556, 0.83125],
|
||
73: [0, 0.68333, 0.07847, 0.11111, 0.43958],
|
||
74: [0, 0.68333, 0.09618, 0.16667, 0.55451],
|
||
75: [0, 0.68333, 0.07153, 0.05556, 0.84931],
|
||
76: [0, 0.68333, 0, 0.02778, 0.68056],
|
||
77: [0, 0.68333, 0.10903, 0.08334, 0.97014],
|
||
78: [0, 0.68333, 0.10903, 0.08334, 0.80347],
|
||
79: [0, 0.68333, 0.02778, 0.08334, 0.76278],
|
||
80: [0, 0.68333, 0.13889, 0.08334, 0.64201],
|
||
81: [0.19444, 0.68333, 0, 0.08334, 0.79056],
|
||
82: [0, 0.68333, 0.00773, 0.08334, 0.75929],
|
||
83: [0, 0.68333, 0.05764, 0.08334, 0.6132],
|
||
84: [0, 0.68333, 0.13889, 0.08334, 0.58438],
|
||
85: [0, 0.68333, 0.10903, 0.02778, 0.68278],
|
||
86: [0, 0.68333, 0.22222, 0, 0.58333],
|
||
87: [0, 0.68333, 0.13889, 0, 0.94445],
|
||
88: [0, 0.68333, 0.07847, 0.08334, 0.82847],
|
||
89: [0, 0.68333, 0.22222, 0, 0.58056],
|
||
90: [0, 0.68333, 0.07153, 0.08334, 0.68264],
|
||
97: [0, 0.43056, 0, 0, 0.52859],
|
||
98: [0, 0.69444, 0, 0, 0.42917],
|
||
99: [0, 0.43056, 0, 0.05556, 0.43276],
|
||
100: [0, 0.69444, 0, 0.16667, 0.52049],
|
||
101: [0, 0.43056, 0, 0.05556, 0.46563],
|
||
102: [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],
|
||
103: [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],
|
||
104: [0, 0.69444, 0, 0, 0.57616],
|
||
105: [0, 0.65952, 0, 0, 0.34451],
|
||
106: [0.19444, 0.65952, 0.05724, 0, 0.41181],
|
||
107: [0, 0.69444, 0.03148, 0, 0.5206],
|
||
108: [0, 0.69444, 0.01968, 0.08334, 0.29838],
|
||
109: [0, 0.43056, 0, 0, 0.87801],
|
||
110: [0, 0.43056, 0, 0, 0.60023],
|
||
111: [0, 0.43056, 0, 0.05556, 0.48472],
|
||
112: [0.19444, 0.43056, 0, 0.08334, 0.50313],
|
||
113: [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],
|
||
114: [0, 0.43056, 0.02778, 0.05556, 0.45116],
|
||
115: [0, 0.43056, 0, 0.05556, 0.46875],
|
||
116: [0, 0.61508, 0, 0.08334, 0.36111],
|
||
117: [0, 0.43056, 0, 0.02778, 0.57246],
|
||
118: [0, 0.43056, 0.03588, 0.02778, 0.48472],
|
||
119: [0, 0.43056, 0.02691, 0.08334, 0.71592],
|
||
120: [0, 0.43056, 0, 0.02778, 0.57153],
|
||
121: [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],
|
||
122: [0, 0.43056, 0.04398, 0.05556, 0.46505],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
915: [0, 0.68333, 0.13889, 0.08334, 0.61528],
|
||
916: [0, 0.68333, 0, 0.16667, 0.83334],
|
||
920: [0, 0.68333, 0.02778, 0.08334, 0.76278],
|
||
923: [0, 0.68333, 0, 0.16667, 0.69445],
|
||
926: [0, 0.68333, 0.07569, 0.08334, 0.74236],
|
||
928: [0, 0.68333, 0.08125, 0.05556, 0.83125],
|
||
931: [0, 0.68333, 0.05764, 0.08334, 0.77986],
|
||
933: [0, 0.68333, 0.13889, 0.05556, 0.58333],
|
||
934: [0, 0.68333, 0, 0.08334, 0.66667],
|
||
936: [0, 0.68333, 0.11, 0.05556, 0.61222],
|
||
937: [0, 0.68333, 0.05017, 0.08334, 0.7724],
|
||
945: [0, 0.43056, 0.0037, 0.02778, 0.6397],
|
||
946: [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],
|
||
947: [0.19444, 0.43056, 0.05556, 0, 0.51773],
|
||
948: [0, 0.69444, 0.03785, 0.05556, 0.44444],
|
||
949: [0, 0.43056, 0, 0.08334, 0.46632],
|
||
950: [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],
|
||
951: [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],
|
||
952: [0, 0.69444, 0.02778, 0.08334, 0.46944],
|
||
953: [0, 0.43056, 0, 0.05556, 0.35394],
|
||
954: [0, 0.43056, 0, 0, 0.57616],
|
||
955: [0, 0.69444, 0, 0, 0.58334],
|
||
956: [0.19444, 0.43056, 0, 0.02778, 0.60255],
|
||
957: [0, 0.43056, 0.06366, 0.02778, 0.49398],
|
||
958: [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],
|
||
959: [0, 0.43056, 0, 0.05556, 0.48472],
|
||
960: [0, 0.43056, 0.03588, 0, 0.57003],
|
||
961: [0.19444, 0.43056, 0, 0.08334, 0.51702],
|
||
962: [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],
|
||
963: [0, 0.43056, 0.03588, 0, 0.57141],
|
||
964: [0, 0.43056, 0.1132, 0.02778, 0.43715],
|
||
965: [0, 0.43056, 0.03588, 0.02778, 0.54028],
|
||
966: [0.19444, 0.43056, 0, 0.08334, 0.65417],
|
||
967: [0.19444, 0.43056, 0, 0.05556, 0.62569],
|
||
968: [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],
|
||
969: [0, 0.43056, 0.03588, 0, 0.62245],
|
||
977: [0, 0.69444, 0, 0.08334, 0.59144],
|
||
981: [0.19444, 0.69444, 0, 0.08334, 0.59583],
|
||
982: [0, 0.43056, 0.02778, 0, 0.82813],
|
||
1009: [0.19444, 0.43056, 0, 0.08334, 0.51702],
|
||
1013: [0, 0.43056, 0, 0.05556, 0.4059],
|
||
57649: [0, 0.43056, 0, 0.02778, 0.32246],
|
||
57911: [0.19444, 0.43056, 0, 0.08334, 0.38403],
|
||
},
|
||
'SansSerif-Bold': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
33: [0, 0.69444, 0, 0, 0.36667],
|
||
34: [0, 0.69444, 0, 0, 0.55834],
|
||
35: [0.19444, 0.69444, 0, 0, 0.91667],
|
||
36: [0.05556, 0.75, 0, 0, 0.55],
|
||
37: [0.05556, 0.75, 0, 0, 1.02912],
|
||
38: [0, 0.69444, 0, 0, 0.83056],
|
||
39: [0, 0.69444, 0, 0, 0.30556],
|
||
40: [0.25, 0.75, 0, 0, 0.42778],
|
||
41: [0.25, 0.75, 0, 0, 0.42778],
|
||
42: [0, 0.75, 0, 0, 0.55],
|
||
43: [0.11667, 0.61667, 0, 0, 0.85556],
|
||
44: [0.10556, 0.13056, 0, 0, 0.30556],
|
||
45: [0, 0.45833, 0, 0, 0.36667],
|
||
46: [0, 0.13056, 0, 0, 0.30556],
|
||
47: [0.25, 0.75, 0, 0, 0.55],
|
||
48: [0, 0.69444, 0, 0, 0.55],
|
||
49: [0, 0.69444, 0, 0, 0.55],
|
||
50: [0, 0.69444, 0, 0, 0.55],
|
||
51: [0, 0.69444, 0, 0, 0.55],
|
||
52: [0, 0.69444, 0, 0, 0.55],
|
||
53: [0, 0.69444, 0, 0, 0.55],
|
||
54: [0, 0.69444, 0, 0, 0.55],
|
||
55: [0, 0.69444, 0, 0, 0.55],
|
||
56: [0, 0.69444, 0, 0, 0.55],
|
||
57: [0, 0.69444, 0, 0, 0.55],
|
||
58: [0, 0.45833, 0, 0, 0.30556],
|
||
59: [0.10556, 0.45833, 0, 0, 0.30556],
|
||
61: [-0.09375, 0.40625, 0, 0, 0.85556],
|
||
63: [0, 0.69444, 0, 0, 0.51945],
|
||
64: [0, 0.69444, 0, 0, 0.73334],
|
||
65: [0, 0.69444, 0, 0, 0.73334],
|
||
66: [0, 0.69444, 0, 0, 0.73334],
|
||
67: [0, 0.69444, 0, 0, 0.70278],
|
||
68: [0, 0.69444, 0, 0, 0.79445],
|
||
69: [0, 0.69444, 0, 0, 0.64167],
|
||
70: [0, 0.69444, 0, 0, 0.61111],
|
||
71: [0, 0.69444, 0, 0, 0.73334],
|
||
72: [0, 0.69444, 0, 0, 0.79445],
|
||
73: [0, 0.69444, 0, 0, 0.33056],
|
||
74: [0, 0.69444, 0, 0, 0.51945],
|
||
75: [0, 0.69444, 0, 0, 0.76389],
|
||
76: [0, 0.69444, 0, 0, 0.58056],
|
||
77: [0, 0.69444, 0, 0, 0.97778],
|
||
78: [0, 0.69444, 0, 0, 0.79445],
|
||
79: [0, 0.69444, 0, 0, 0.79445],
|
||
80: [0, 0.69444, 0, 0, 0.70278],
|
||
81: [0.10556, 0.69444, 0, 0, 0.79445],
|
||
82: [0, 0.69444, 0, 0, 0.70278],
|
||
83: [0, 0.69444, 0, 0, 0.61111],
|
||
84: [0, 0.69444, 0, 0, 0.73334],
|
||
85: [0, 0.69444, 0, 0, 0.76389],
|
||
86: [0, 0.69444, 0.01528, 0, 0.73334],
|
||
87: [0, 0.69444, 0.01528, 0, 1.03889],
|
||
88: [0, 0.69444, 0, 0, 0.73334],
|
||
89: [0, 0.69444, 0.0275, 0, 0.73334],
|
||
90: [0, 0.69444, 0, 0, 0.67223],
|
||
91: [0.25, 0.75, 0, 0, 0.34306],
|
||
93: [0.25, 0.75, 0, 0, 0.34306],
|
||
94: [0, 0.69444, 0, 0, 0.55],
|
||
95: [0.35, 0.10833, 0.03056, 0, 0.55],
|
||
97: [0, 0.45833, 0, 0, 0.525],
|
||
98: [0, 0.69444, 0, 0, 0.56111],
|
||
99: [0, 0.45833, 0, 0, 0.48889],
|
||
100: [0, 0.69444, 0, 0, 0.56111],
|
||
101: [0, 0.45833, 0, 0, 0.51111],
|
||
102: [0, 0.69444, 0.07639, 0, 0.33611],
|
||
103: [0.19444, 0.45833, 0.01528, 0, 0.55],
|
||
104: [0, 0.69444, 0, 0, 0.56111],
|
||
105: [0, 0.69444, 0, 0, 0.25556],
|
||
106: [0.19444, 0.69444, 0, 0, 0.28611],
|
||
107: [0, 0.69444, 0, 0, 0.53056],
|
||
108: [0, 0.69444, 0, 0, 0.25556],
|
||
109: [0, 0.45833, 0, 0, 0.86667],
|
||
110: [0, 0.45833, 0, 0, 0.56111],
|
||
111: [0, 0.45833, 0, 0, 0.55],
|
||
112: [0.19444, 0.45833, 0, 0, 0.56111],
|
||
113: [0.19444, 0.45833, 0, 0, 0.56111],
|
||
114: [0, 0.45833, 0.01528, 0, 0.37222],
|
||
115: [0, 0.45833, 0, 0, 0.42167],
|
||
116: [0, 0.58929, 0, 0, 0.40417],
|
||
117: [0, 0.45833, 0, 0, 0.56111],
|
||
118: [0, 0.45833, 0.01528, 0, 0.5],
|
||
119: [0, 0.45833, 0.01528, 0, 0.74445],
|
||
120: [0, 0.45833, 0, 0, 0.5],
|
||
121: [0.19444, 0.45833, 0.01528, 0, 0.5],
|
||
122: [0, 0.45833, 0, 0, 0.47639],
|
||
126: [0.35, 0.34444, 0, 0, 0.55],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
168: [0, 0.69444, 0, 0, 0.55],
|
||
176: [0, 0.69444, 0, 0, 0.73334],
|
||
180: [0, 0.69444, 0, 0, 0.55],
|
||
184: [0.17014, 0, 0, 0, 0.48889],
|
||
305: [0, 0.45833, 0, 0, 0.25556],
|
||
567: [0.19444, 0.45833, 0, 0, 0.28611],
|
||
710: [0, 0.69444, 0, 0, 0.55],
|
||
711: [0, 0.63542, 0, 0, 0.55],
|
||
713: [0, 0.63778, 0, 0, 0.55],
|
||
728: [0, 0.69444, 0, 0, 0.55],
|
||
729: [0, 0.69444, 0, 0, 0.30556],
|
||
730: [0, 0.69444, 0, 0, 0.73334],
|
||
732: [0, 0.69444, 0, 0, 0.55],
|
||
733: [0, 0.69444, 0, 0, 0.55],
|
||
915: [0, 0.69444, 0, 0, 0.58056],
|
||
916: [0, 0.69444, 0, 0, 0.91667],
|
||
920: [0, 0.69444, 0, 0, 0.85556],
|
||
923: [0, 0.69444, 0, 0, 0.67223],
|
||
926: [0, 0.69444, 0, 0, 0.73334],
|
||
928: [0, 0.69444, 0, 0, 0.79445],
|
||
931: [0, 0.69444, 0, 0, 0.79445],
|
||
933: [0, 0.69444, 0, 0, 0.85556],
|
||
934: [0, 0.69444, 0, 0, 0.79445],
|
||
936: [0, 0.69444, 0, 0, 0.85556],
|
||
937: [0, 0.69444, 0, 0, 0.79445],
|
||
8211: [0, 0.45833, 0.03056, 0, 0.55],
|
||
8212: [0, 0.45833, 0.03056, 0, 1.10001],
|
||
8216: [0, 0.69444, 0, 0, 0.30556],
|
||
8217: [0, 0.69444, 0, 0, 0.30556],
|
||
8220: [0, 0.69444, 0, 0, 0.55834],
|
||
8221: [0, 0.69444, 0, 0, 0.55834],
|
||
},
|
||
'SansSerif-Italic': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
33: [0, 0.69444, 0.05733, 0, 0.31945],
|
||
34: [0, 0.69444, 0.00316, 0, 0.5],
|
||
35: [0.19444, 0.69444, 0.05087, 0, 0.83334],
|
||
36: [0.05556, 0.75, 0.11156, 0, 0.5],
|
||
37: [0.05556, 0.75, 0.03126, 0, 0.83334],
|
||
38: [0, 0.69444, 0.03058, 0, 0.75834],
|
||
39: [0, 0.69444, 0.07816, 0, 0.27778],
|
||
40: [0.25, 0.75, 0.13164, 0, 0.38889],
|
||
41: [0.25, 0.75, 0.02536, 0, 0.38889],
|
||
42: [0, 0.75, 0.11775, 0, 0.5],
|
||
43: [0.08333, 0.58333, 0.02536, 0, 0.77778],
|
||
44: [0.125, 0.08333, 0, 0, 0.27778],
|
||
45: [0, 0.44444, 0.01946, 0, 0.33333],
|
||
46: [0, 0.08333, 0, 0, 0.27778],
|
||
47: [0.25, 0.75, 0.13164, 0, 0.5],
|
||
48: [0, 0.65556, 0.11156, 0, 0.5],
|
||
49: [0, 0.65556, 0.11156, 0, 0.5],
|
||
50: [0, 0.65556, 0.11156, 0, 0.5],
|
||
51: [0, 0.65556, 0.11156, 0, 0.5],
|
||
52: [0, 0.65556, 0.11156, 0, 0.5],
|
||
53: [0, 0.65556, 0.11156, 0, 0.5],
|
||
54: [0, 0.65556, 0.11156, 0, 0.5],
|
||
55: [0, 0.65556, 0.11156, 0, 0.5],
|
||
56: [0, 0.65556, 0.11156, 0, 0.5],
|
||
57: [0, 0.65556, 0.11156, 0, 0.5],
|
||
58: [0, 0.44444, 0.02502, 0, 0.27778],
|
||
59: [0.125, 0.44444, 0.02502, 0, 0.27778],
|
||
61: [-0.13, 0.37, 0.05087, 0, 0.77778],
|
||
63: [0, 0.69444, 0.11809, 0, 0.47222],
|
||
64: [0, 0.69444, 0.07555, 0, 0.66667],
|
||
65: [0, 0.69444, 0, 0, 0.66667],
|
||
66: [0, 0.69444, 0.08293, 0, 0.66667],
|
||
67: [0, 0.69444, 0.11983, 0, 0.63889],
|
||
68: [0, 0.69444, 0.07555, 0, 0.72223],
|
||
69: [0, 0.69444, 0.11983, 0, 0.59722],
|
||
70: [0, 0.69444, 0.13372, 0, 0.56945],
|
||
71: [0, 0.69444, 0.11983, 0, 0.66667],
|
||
72: [0, 0.69444, 0.08094, 0, 0.70834],
|
||
73: [0, 0.69444, 0.13372, 0, 0.27778],
|
||
74: [0, 0.69444, 0.08094, 0, 0.47222],
|
||
75: [0, 0.69444, 0.11983, 0, 0.69445],
|
||
76: [0, 0.69444, 0, 0, 0.54167],
|
||
77: [0, 0.69444, 0.08094, 0, 0.875],
|
||
78: [0, 0.69444, 0.08094, 0, 0.70834],
|
||
79: [0, 0.69444, 0.07555, 0, 0.73611],
|
||
80: [0, 0.69444, 0.08293, 0, 0.63889],
|
||
81: [0.125, 0.69444, 0.07555, 0, 0.73611],
|
||
82: [0, 0.69444, 0.08293, 0, 0.64584],
|
||
83: [0, 0.69444, 0.09205, 0, 0.55556],
|
||
84: [0, 0.69444, 0.13372, 0, 0.68056],
|
||
85: [0, 0.69444, 0.08094, 0, 0.6875],
|
||
86: [0, 0.69444, 0.1615, 0, 0.66667],
|
||
87: [0, 0.69444, 0.1615, 0, 0.94445],
|
||
88: [0, 0.69444, 0.13372, 0, 0.66667],
|
||
89: [0, 0.69444, 0.17261, 0, 0.66667],
|
||
90: [0, 0.69444, 0.11983, 0, 0.61111],
|
||
91: [0.25, 0.75, 0.15942, 0, 0.28889],
|
||
93: [0.25, 0.75, 0.08719, 0, 0.28889],
|
||
94: [0, 0.69444, 0.0799, 0, 0.5],
|
||
95: [0.35, 0.09444, 0.08616, 0, 0.5],
|
||
97: [0, 0.44444, 0.00981, 0, 0.48056],
|
||
98: [0, 0.69444, 0.03057, 0, 0.51667],
|
||
99: [0, 0.44444, 0.08336, 0, 0.44445],
|
||
100: [0, 0.69444, 0.09483, 0, 0.51667],
|
||
101: [0, 0.44444, 0.06778, 0, 0.44445],
|
||
102: [0, 0.69444, 0.21705, 0, 0.30556],
|
||
103: [0.19444, 0.44444, 0.10836, 0, 0.5],
|
||
104: [0, 0.69444, 0.01778, 0, 0.51667],
|
||
105: [0, 0.67937, 0.09718, 0, 0.23889],
|
||
106: [0.19444, 0.67937, 0.09162, 0, 0.26667],
|
||
107: [0, 0.69444, 0.08336, 0, 0.48889],
|
||
108: [0, 0.69444, 0.09483, 0, 0.23889],
|
||
109: [0, 0.44444, 0.01778, 0, 0.79445],
|
||
110: [0, 0.44444, 0.01778, 0, 0.51667],
|
||
111: [0, 0.44444, 0.06613, 0, 0.5],
|
||
112: [0.19444, 0.44444, 0.0389, 0, 0.51667],
|
||
113: [0.19444, 0.44444, 0.04169, 0, 0.51667],
|
||
114: [0, 0.44444, 0.10836, 0, 0.34167],
|
||
115: [0, 0.44444, 0.0778, 0, 0.38333],
|
||
116: [0, 0.57143, 0.07225, 0, 0.36111],
|
||
117: [0, 0.44444, 0.04169, 0, 0.51667],
|
||
118: [0, 0.44444, 0.10836, 0, 0.46111],
|
||
119: [0, 0.44444, 0.10836, 0, 0.68334],
|
||
120: [0, 0.44444, 0.09169, 0, 0.46111],
|
||
121: [0.19444, 0.44444, 0.10836, 0, 0.46111],
|
||
122: [0, 0.44444, 0.08752, 0, 0.43472],
|
||
126: [0.35, 0.32659, 0.08826, 0, 0.5],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
168: [0, 0.67937, 0.06385, 0, 0.5],
|
||
176: [0, 0.69444, 0, 0, 0.73752],
|
||
184: [0.17014, 0, 0, 0, 0.44445],
|
||
305: [0, 0.44444, 0.04169, 0, 0.23889],
|
||
567: [0.19444, 0.44444, 0.04169, 0, 0.26667],
|
||
710: [0, 0.69444, 0.0799, 0, 0.5],
|
||
711: [0, 0.63194, 0.08432, 0, 0.5],
|
||
713: [0, 0.60889, 0.08776, 0, 0.5],
|
||
714: [0, 0.69444, 0.09205, 0, 0.5],
|
||
715: [0, 0.69444, 0, 0, 0.5],
|
||
728: [0, 0.69444, 0.09483, 0, 0.5],
|
||
729: [0, 0.67937, 0.07774, 0, 0.27778],
|
||
730: [0, 0.69444, 0, 0, 0.73752],
|
||
732: [0, 0.67659, 0.08826, 0, 0.5],
|
||
733: [0, 0.69444, 0.09205, 0, 0.5],
|
||
915: [0, 0.69444, 0.13372, 0, 0.54167],
|
||
916: [0, 0.69444, 0, 0, 0.83334],
|
||
920: [0, 0.69444, 0.07555, 0, 0.77778],
|
||
923: [0, 0.69444, 0, 0, 0.61111],
|
||
926: [0, 0.69444, 0.12816, 0, 0.66667],
|
||
928: [0, 0.69444, 0.08094, 0, 0.70834],
|
||
931: [0, 0.69444, 0.11983, 0, 0.72222],
|
||
933: [0, 0.69444, 0.09031, 0, 0.77778],
|
||
934: [0, 0.69444, 0.04603, 0, 0.72222],
|
||
936: [0, 0.69444, 0.09031, 0, 0.77778],
|
||
937: [0, 0.69444, 0.08293, 0, 0.72222],
|
||
8211: [0, 0.44444, 0.08616, 0, 0.5],
|
||
8212: [0, 0.44444, 0.08616, 0, 1],
|
||
8216: [0, 0.69444, 0.07816, 0, 0.27778],
|
||
8217: [0, 0.69444, 0.07816, 0, 0.27778],
|
||
8220: [0, 0.69444, 0.14205, 0, 0.5],
|
||
8221: [0, 0.69444, 0.00316, 0, 0.5],
|
||
},
|
||
'SansSerif-Regular': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
33: [0, 0.69444, 0, 0, 0.31945],
|
||
34: [0, 0.69444, 0, 0, 0.5],
|
||
35: [0.19444, 0.69444, 0, 0, 0.83334],
|
||
36: [0.05556, 0.75, 0, 0, 0.5],
|
||
37: [0.05556, 0.75, 0, 0, 0.83334],
|
||
38: [0, 0.69444, 0, 0, 0.75834],
|
||
39: [0, 0.69444, 0, 0, 0.27778],
|
||
40: [0.25, 0.75, 0, 0, 0.38889],
|
||
41: [0.25, 0.75, 0, 0, 0.38889],
|
||
42: [0, 0.75, 0, 0, 0.5],
|
||
43: [0.08333, 0.58333, 0, 0, 0.77778],
|
||
44: [0.125, 0.08333, 0, 0, 0.27778],
|
||
45: [0, 0.44444, 0, 0, 0.33333],
|
||
46: [0, 0.08333, 0, 0, 0.27778],
|
||
47: [0.25, 0.75, 0, 0, 0.5],
|
||
48: [0, 0.65556, 0, 0, 0.5],
|
||
49: [0, 0.65556, 0, 0, 0.5],
|
||
50: [0, 0.65556, 0, 0, 0.5],
|
||
51: [0, 0.65556, 0, 0, 0.5],
|
||
52: [0, 0.65556, 0, 0, 0.5],
|
||
53: [0, 0.65556, 0, 0, 0.5],
|
||
54: [0, 0.65556, 0, 0, 0.5],
|
||
55: [0, 0.65556, 0, 0, 0.5],
|
||
56: [0, 0.65556, 0, 0, 0.5],
|
||
57: [0, 0.65556, 0, 0, 0.5],
|
||
58: [0, 0.44444, 0, 0, 0.27778],
|
||
59: [0.125, 0.44444, 0, 0, 0.27778],
|
||
61: [-0.13, 0.37, 0, 0, 0.77778],
|
||
63: [0, 0.69444, 0, 0, 0.47222],
|
||
64: [0, 0.69444, 0, 0, 0.66667],
|
||
65: [0, 0.69444, 0, 0, 0.66667],
|
||
66: [0, 0.69444, 0, 0, 0.66667],
|
||
67: [0, 0.69444, 0, 0, 0.63889],
|
||
68: [0, 0.69444, 0, 0, 0.72223],
|
||
69: [0, 0.69444, 0, 0, 0.59722],
|
||
70: [0, 0.69444, 0, 0, 0.56945],
|
||
71: [0, 0.69444, 0, 0, 0.66667],
|
||
72: [0, 0.69444, 0, 0, 0.70834],
|
||
73: [0, 0.69444, 0, 0, 0.27778],
|
||
74: [0, 0.69444, 0, 0, 0.47222],
|
||
75: [0, 0.69444, 0, 0, 0.69445],
|
||
76: [0, 0.69444, 0, 0, 0.54167],
|
||
77: [0, 0.69444, 0, 0, 0.875],
|
||
78: [0, 0.69444, 0, 0, 0.70834],
|
||
79: [0, 0.69444, 0, 0, 0.73611],
|
||
80: [0, 0.69444, 0, 0, 0.63889],
|
||
81: [0.125, 0.69444, 0, 0, 0.73611],
|
||
82: [0, 0.69444, 0, 0, 0.64584],
|
||
83: [0, 0.69444, 0, 0, 0.55556],
|
||
84: [0, 0.69444, 0, 0, 0.68056],
|
||
85: [0, 0.69444, 0, 0, 0.6875],
|
||
86: [0, 0.69444, 0.01389, 0, 0.66667],
|
||
87: [0, 0.69444, 0.01389, 0, 0.94445],
|
||
88: [0, 0.69444, 0, 0, 0.66667],
|
||
89: [0, 0.69444, 0.025, 0, 0.66667],
|
||
90: [0, 0.69444, 0, 0, 0.61111],
|
||
91: [0.25, 0.75, 0, 0, 0.28889],
|
||
93: [0.25, 0.75, 0, 0, 0.28889],
|
||
94: [0, 0.69444, 0, 0, 0.5],
|
||
95: [0.35, 0.09444, 0.02778, 0, 0.5],
|
||
97: [0, 0.44444, 0, 0, 0.48056],
|
||
98: [0, 0.69444, 0, 0, 0.51667],
|
||
99: [0, 0.44444, 0, 0, 0.44445],
|
||
100: [0, 0.69444, 0, 0, 0.51667],
|
||
101: [0, 0.44444, 0, 0, 0.44445],
|
||
102: [0, 0.69444, 0.06944, 0, 0.30556],
|
||
103: [0.19444, 0.44444, 0.01389, 0, 0.5],
|
||
104: [0, 0.69444, 0, 0, 0.51667],
|
||
105: [0, 0.67937, 0, 0, 0.23889],
|
||
106: [0.19444, 0.67937, 0, 0, 0.26667],
|
||
107: [0, 0.69444, 0, 0, 0.48889],
|
||
108: [0, 0.69444, 0, 0, 0.23889],
|
||
109: [0, 0.44444, 0, 0, 0.79445],
|
||
110: [0, 0.44444, 0, 0, 0.51667],
|
||
111: [0, 0.44444, 0, 0, 0.5],
|
||
112: [0.19444, 0.44444, 0, 0, 0.51667],
|
||
113: [0.19444, 0.44444, 0, 0, 0.51667],
|
||
114: [0, 0.44444, 0.01389, 0, 0.34167],
|
||
115: [0, 0.44444, 0, 0, 0.38333],
|
||
116: [0, 0.57143, 0, 0, 0.36111],
|
||
117: [0, 0.44444, 0, 0, 0.51667],
|
||
118: [0, 0.44444, 0.01389, 0, 0.46111],
|
||
119: [0, 0.44444, 0.01389, 0, 0.68334],
|
||
120: [0, 0.44444, 0, 0, 0.46111],
|
||
121: [0.19444, 0.44444, 0.01389, 0, 0.46111],
|
||
122: [0, 0.44444, 0, 0, 0.43472],
|
||
126: [0.35, 0.32659, 0, 0, 0.5],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
168: [0, 0.67937, 0, 0, 0.5],
|
||
176: [0, 0.69444, 0, 0, 0.66667],
|
||
184: [0.17014, 0, 0, 0, 0.44445],
|
||
305: [0, 0.44444, 0, 0, 0.23889],
|
||
567: [0.19444, 0.44444, 0, 0, 0.26667],
|
||
710: [0, 0.69444, 0, 0, 0.5],
|
||
711: [0, 0.63194, 0, 0, 0.5],
|
||
713: [0, 0.60889, 0, 0, 0.5],
|
||
714: [0, 0.69444, 0, 0, 0.5],
|
||
715: [0, 0.69444, 0, 0, 0.5],
|
||
728: [0, 0.69444, 0, 0, 0.5],
|
||
729: [0, 0.67937, 0, 0, 0.27778],
|
||
730: [0, 0.69444, 0, 0, 0.66667],
|
||
732: [0, 0.67659, 0, 0, 0.5],
|
||
733: [0, 0.69444, 0, 0, 0.5],
|
||
915: [0, 0.69444, 0, 0, 0.54167],
|
||
916: [0, 0.69444, 0, 0, 0.83334],
|
||
920: [0, 0.69444, 0, 0, 0.77778],
|
||
923: [0, 0.69444, 0, 0, 0.61111],
|
||
926: [0, 0.69444, 0, 0, 0.66667],
|
||
928: [0, 0.69444, 0, 0, 0.70834],
|
||
931: [0, 0.69444, 0, 0, 0.72222],
|
||
933: [0, 0.69444, 0, 0, 0.77778],
|
||
934: [0, 0.69444, 0, 0, 0.72222],
|
||
936: [0, 0.69444, 0, 0, 0.77778],
|
||
937: [0, 0.69444, 0, 0, 0.72222],
|
||
8211: [0, 0.44444, 0.02778, 0, 0.5],
|
||
8212: [0, 0.44444, 0.02778, 0, 1],
|
||
8216: [0, 0.69444, 0, 0, 0.27778],
|
||
8217: [0, 0.69444, 0, 0, 0.27778],
|
||
8220: [0, 0.69444, 0, 0, 0.5],
|
||
8221: [0, 0.69444, 0, 0, 0.5],
|
||
},
|
||
'Script-Regular': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
65: [0, 0.7, 0.22925, 0, 0.80253],
|
||
66: [0, 0.7, 0.04087, 0, 0.90757],
|
||
67: [0, 0.7, 0.1689, 0, 0.66619],
|
||
68: [0, 0.7, 0.09371, 0, 0.77443],
|
||
69: [0, 0.7, 0.18583, 0, 0.56162],
|
||
70: [0, 0.7, 0.13634, 0, 0.89544],
|
||
71: [0, 0.7, 0.17322, 0, 0.60961],
|
||
72: [0, 0.7, 0.29694, 0, 0.96919],
|
||
73: [0, 0.7, 0.19189, 0, 0.80907],
|
||
74: [0.27778, 0.7, 0.19189, 0, 1.05159],
|
||
75: [0, 0.7, 0.31259, 0, 0.91364],
|
||
76: [0, 0.7, 0.19189, 0, 0.87373],
|
||
77: [0, 0.7, 0.15981, 0, 1.08031],
|
||
78: [0, 0.7, 0.3525, 0, 0.9015],
|
||
79: [0, 0.7, 0.08078, 0, 0.73787],
|
||
80: [0, 0.7, 0.08078, 0, 1.01262],
|
||
81: [0, 0.7, 0.03305, 0, 0.88282],
|
||
82: [0, 0.7, 0.06259, 0, 0.85],
|
||
83: [0, 0.7, 0.19189, 0, 0.86767],
|
||
84: [0, 0.7, 0.29087, 0, 0.74697],
|
||
85: [0, 0.7, 0.25815, 0, 0.79996],
|
||
86: [0, 0.7, 0.27523, 0, 0.62204],
|
||
87: [0, 0.7, 0.27523, 0, 0.80532],
|
||
88: [0, 0.7, 0.26006, 0, 0.94445],
|
||
89: [0, 0.7, 0.2939, 0, 0.70961],
|
||
90: [0, 0.7, 0.24037, 0, 0.8212],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
},
|
||
'Size1-Regular': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
40: [0.35001, 0.85, 0, 0, 0.45834],
|
||
41: [0.35001, 0.85, 0, 0, 0.45834],
|
||
47: [0.35001, 0.85, 0, 0, 0.57778],
|
||
91: [0.35001, 0.85, 0, 0, 0.41667],
|
||
92: [0.35001, 0.85, 0, 0, 0.57778],
|
||
93: [0.35001, 0.85, 0, 0, 0.41667],
|
||
123: [0.35001, 0.85, 0, 0, 0.58334],
|
||
125: [0.35001, 0.85, 0, 0, 0.58334],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
710: [0, 0.72222, 0, 0, 0.55556],
|
||
732: [0, 0.72222, 0, 0, 0.55556],
|
||
770: [0, 0.72222, 0, 0, 0.55556],
|
||
771: [0, 0.72222, 0, 0, 0.55556],
|
||
8214: [-99e-5, 0.601, 0, 0, 0.77778],
|
||
8593: [1e-5, 0.6, 0, 0, 0.66667],
|
||
8595: [1e-5, 0.6, 0, 0, 0.66667],
|
||
8657: [1e-5, 0.6, 0, 0, 0.77778],
|
||
8659: [1e-5, 0.6, 0, 0, 0.77778],
|
||
8719: [0.25001, 0.75, 0, 0, 0.94445],
|
||
8720: [0.25001, 0.75, 0, 0, 0.94445],
|
||
8721: [0.25001, 0.75, 0, 0, 1.05556],
|
||
8730: [0.35001, 0.85, 0, 0, 1],
|
||
8739: [-0.00599, 0.606, 0, 0, 0.33333],
|
||
8741: [-0.00599, 0.606, 0, 0, 0.55556],
|
||
8747: [0.30612, 0.805, 0.19445, 0, 0.47222],
|
||
8748: [0.306, 0.805, 0.19445, 0, 0.47222],
|
||
8749: [0.306, 0.805, 0.19445, 0, 0.47222],
|
||
8750: [0.30612, 0.805, 0.19445, 0, 0.47222],
|
||
8896: [0.25001, 0.75, 0, 0, 0.83334],
|
||
8897: [0.25001, 0.75, 0, 0, 0.83334],
|
||
8898: [0.25001, 0.75, 0, 0, 0.83334],
|
||
8899: [0.25001, 0.75, 0, 0, 0.83334],
|
||
8968: [0.35001, 0.85, 0, 0, 0.47222],
|
||
8969: [0.35001, 0.85, 0, 0, 0.47222],
|
||
8970: [0.35001, 0.85, 0, 0, 0.47222],
|
||
8971: [0.35001, 0.85, 0, 0, 0.47222],
|
||
9168: [-99e-5, 0.601, 0, 0, 0.66667],
|
||
10216: [0.35001, 0.85, 0, 0, 0.47222],
|
||
10217: [0.35001, 0.85, 0, 0, 0.47222],
|
||
10752: [0.25001, 0.75, 0, 0, 1.11111],
|
||
10753: [0.25001, 0.75, 0, 0, 1.11111],
|
||
10754: [0.25001, 0.75, 0, 0, 1.11111],
|
||
10756: [0.25001, 0.75, 0, 0, 0.83334],
|
||
10758: [0.25001, 0.75, 0, 0, 0.83334],
|
||
},
|
||
'Size2-Regular': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
40: [0.65002, 1.15, 0, 0, 0.59722],
|
||
41: [0.65002, 1.15, 0, 0, 0.59722],
|
||
47: [0.65002, 1.15, 0, 0, 0.81111],
|
||
91: [0.65002, 1.15, 0, 0, 0.47222],
|
||
92: [0.65002, 1.15, 0, 0, 0.81111],
|
||
93: [0.65002, 1.15, 0, 0, 0.47222],
|
||
123: [0.65002, 1.15, 0, 0, 0.66667],
|
||
125: [0.65002, 1.15, 0, 0, 0.66667],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
710: [0, 0.75, 0, 0, 1],
|
||
732: [0, 0.75, 0, 0, 1],
|
||
770: [0, 0.75, 0, 0, 1],
|
||
771: [0, 0.75, 0, 0, 1],
|
||
8719: [0.55001, 1.05, 0, 0, 1.27778],
|
||
8720: [0.55001, 1.05, 0, 0, 1.27778],
|
||
8721: [0.55001, 1.05, 0, 0, 1.44445],
|
||
8730: [0.65002, 1.15, 0, 0, 1],
|
||
8747: [0.86225, 1.36, 0.44445, 0, 0.55556],
|
||
8748: [0.862, 1.36, 0.44445, 0, 0.55556],
|
||
8749: [0.862, 1.36, 0.44445, 0, 0.55556],
|
||
8750: [0.86225, 1.36, 0.44445, 0, 0.55556],
|
||
8896: [0.55001, 1.05, 0, 0, 1.11111],
|
||
8897: [0.55001, 1.05, 0, 0, 1.11111],
|
||
8898: [0.55001, 1.05, 0, 0, 1.11111],
|
||
8899: [0.55001, 1.05, 0, 0, 1.11111],
|
||
8968: [0.65002, 1.15, 0, 0, 0.52778],
|
||
8969: [0.65002, 1.15, 0, 0, 0.52778],
|
||
8970: [0.65002, 1.15, 0, 0, 0.52778],
|
||
8971: [0.65002, 1.15, 0, 0, 0.52778],
|
||
10216: [0.65002, 1.15, 0, 0, 0.61111],
|
||
10217: [0.65002, 1.15, 0, 0, 0.61111],
|
||
10752: [0.55001, 1.05, 0, 0, 1.51112],
|
||
10753: [0.55001, 1.05, 0, 0, 1.51112],
|
||
10754: [0.55001, 1.05, 0, 0, 1.51112],
|
||
10756: [0.55001, 1.05, 0, 0, 1.11111],
|
||
10758: [0.55001, 1.05, 0, 0, 1.11111],
|
||
},
|
||
'Size3-Regular': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
40: [0.95003, 1.45, 0, 0, 0.73611],
|
||
41: [0.95003, 1.45, 0, 0, 0.73611],
|
||
47: [0.95003, 1.45, 0, 0, 1.04445],
|
||
91: [0.95003, 1.45, 0, 0, 0.52778],
|
||
92: [0.95003, 1.45, 0, 0, 1.04445],
|
||
93: [0.95003, 1.45, 0, 0, 0.52778],
|
||
123: [0.95003, 1.45, 0, 0, 0.75],
|
||
125: [0.95003, 1.45, 0, 0, 0.75],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
710: [0, 0.75, 0, 0, 1.44445],
|
||
732: [0, 0.75, 0, 0, 1.44445],
|
||
770: [0, 0.75, 0, 0, 1.44445],
|
||
771: [0, 0.75, 0, 0, 1.44445],
|
||
8730: [0.95003, 1.45, 0, 0, 1],
|
||
8968: [0.95003, 1.45, 0, 0, 0.58334],
|
||
8969: [0.95003, 1.45, 0, 0, 0.58334],
|
||
8970: [0.95003, 1.45, 0, 0, 0.58334],
|
||
8971: [0.95003, 1.45, 0, 0, 0.58334],
|
||
10216: [0.95003, 1.45, 0, 0, 0.75],
|
||
10217: [0.95003, 1.45, 0, 0, 0.75],
|
||
},
|
||
'Size4-Regular': {
|
||
32: [0, 0, 0, 0, 0.25],
|
||
40: [1.25003, 1.75, 0, 0, 0.79167],
|
||
41: [1.25003, 1.75, 0, 0, 0.79167],
|
||
47: [1.25003, 1.75, 0, 0, 1.27778],
|
||
91: [1.25003, 1.75, 0, 0, 0.58334],
|
||
92: [1.25003, 1.75, 0, 0, 1.27778],
|
||
93: [1.25003, 1.75, 0, 0, 0.58334],
|
||
123: [1.25003, 1.75, 0, 0, 0.80556],
|
||
125: [1.25003, 1.75, 0, 0, 0.80556],
|
||
160: [0, 0, 0, 0, 0.25],
|
||
710: [0, 0.825, 0, 0, 1.8889],
|
||
732: [0, 0.825, 0, 0, 1.8889],
|
||
770: [0, 0.825, 0, 0, 1.8889],
|
||
771: [0, 0.825, 0, 0, 1.8889],
|
||
8730: [1.25003, 1.75, 0, 0, 1],
|
||
8968: [1.25003, 1.75, 0, 0, 0.63889],
|
||
8969: [1.25003, 1.75, 0, 0, 0.63889],
|
||
8970: [1.25003, 1.75, 0, 0, 0.63889],
|
||
8971: [1.25003, 1.75, 0, 0, 0.63889],
|
||
9115: [0.64502, 1.155, 0, 0, 0.875],
|
||
9116: [1e-5, 0.6, 0, 0, 0.875],
|
||
9117: [0.64502, 1.155, 0, 0, 0.875],
|
||
9118: [0.64502, 1.155, 0, 0, 0.875],
|
||
9119: [1e-5, 0.6, 0, 0, 0.875],
|
||
9120: [0.64502, 1.155, 0, 0, 0.875],
|
||
9121: [0.64502, 1.155, 0, 0, 0.66667],
|
||
9122: [-99e-5, 0.601, 0, 0, 0.66667],
|
||
9123: [0.64502, 1.155, 0, 0, 0.66667],
|
||
9124: [0.64502, 1.155, 0, 0, 0.66667],
|
||
9125: [-99e-5, 0.601, 0, 0, 0.66667],
|
||
9126: [0.64502, 1.155, 0, 0, 0.66667],
|
||
9127: [1e-5, 0.9, 0, 0, 0.88889],
|
||
9128: [0.65002, 1.15, 0, 0, 0.88889],
|
||
9129: [0.90001, 0, 0, 0, 0.88889],
|
||
9130: [0, 0.3, 0, 0, 0.88889],
|
||
9131: [1e-5, 0.9, 0, 0, 0.88889],
|
||
9132: [0.65002, 1.15, 0, 0, 0.88889],
|
||
9133: [0.90001, 0, 0, 0, 0.88889],
|
||
9143: [0.88502, 0.915, 0, 0, 1.05556],
|
||
10216: [1.25003, 1.75, 0, 0, 0.80556],
|
||
10217: [1.25003, 1.75, 0, 0, 0.80556],
|
||
57344: [-0.00499, 0.605, 0, 0, 1.05556],
|
||
57345: [-0.00499, 0.605, 0, 0, 1.05556],
|
||
57680: [0, 0.12, 0, 0, 0.45],
|
||
57681: [0, 0.12, 0, 0, 0.45],
|
||
57682: [0, 0.12, 0, 0, 0.45],
|
||
57683: [0, 0.12, 0, 0, 0.45],
|
||
},
|
||
'Typewriter-Regular': {
|
||
32: [0, 0, 0, 0, 0.525],
|
||
33: [0, 0.61111, 0, 0, 0.525],
|
||
34: [0, 0.61111, 0, 0, 0.525],
|
||
35: [0, 0.61111, 0, 0, 0.525],
|
||
36: [0.08333, 0.69444, 0, 0, 0.525],
|
||
37: [0.08333, 0.69444, 0, 0, 0.525],
|
||
38: [0, 0.61111, 0, 0, 0.525],
|
||
39: [0, 0.61111, 0, 0, 0.525],
|
||
40: [0.08333, 0.69444, 0, 0, 0.525],
|
||
41: [0.08333, 0.69444, 0, 0, 0.525],
|
||
42: [0, 0.52083, 0, 0, 0.525],
|
||
43: [-0.08056, 0.53055, 0, 0, 0.525],
|
||
44: [0.13889, 0.125, 0, 0, 0.525],
|
||
45: [-0.08056, 0.53055, 0, 0, 0.525],
|
||
46: [0, 0.125, 0, 0, 0.525],
|
||
47: [0.08333, 0.69444, 0, 0, 0.525],
|
||
48: [0, 0.61111, 0, 0, 0.525],
|
||
49: [0, 0.61111, 0, 0, 0.525],
|
||
50: [0, 0.61111, 0, 0, 0.525],
|
||
51: [0, 0.61111, 0, 0, 0.525],
|
||
52: [0, 0.61111, 0, 0, 0.525],
|
||
53: [0, 0.61111, 0, 0, 0.525],
|
||
54: [0, 0.61111, 0, 0, 0.525],
|
||
55: [0, 0.61111, 0, 0, 0.525],
|
||
56: [0, 0.61111, 0, 0, 0.525],
|
||
57: [0, 0.61111, 0, 0, 0.525],
|
||
58: [0, 0.43056, 0, 0, 0.525],
|
||
59: [0.13889, 0.43056, 0, 0, 0.525],
|
||
60: [-0.05556, 0.55556, 0, 0, 0.525],
|
||
61: [-0.19549, 0.41562, 0, 0, 0.525],
|
||
62: [-0.05556, 0.55556, 0, 0, 0.525],
|
||
63: [0, 0.61111, 0, 0, 0.525],
|
||
64: [0, 0.61111, 0, 0, 0.525],
|
||
65: [0, 0.61111, 0, 0, 0.525],
|
||
66: [0, 0.61111, 0, 0, 0.525],
|
||
67: [0, 0.61111, 0, 0, 0.525],
|
||
68: [0, 0.61111, 0, 0, 0.525],
|
||
69: [0, 0.61111, 0, 0, 0.525],
|
||
70: [0, 0.61111, 0, 0, 0.525],
|
||
71: [0, 0.61111, 0, 0, 0.525],
|
||
72: [0, 0.61111, 0, 0, 0.525],
|
||
73: [0, 0.61111, 0, 0, 0.525],
|
||
74: [0, 0.61111, 0, 0, 0.525],
|
||
75: [0, 0.61111, 0, 0, 0.525],
|
||
76: [0, 0.61111, 0, 0, 0.525],
|
||
77: [0, 0.61111, 0, 0, 0.525],
|
||
78: [0, 0.61111, 0, 0, 0.525],
|
||
79: [0, 0.61111, 0, 0, 0.525],
|
||
80: [0, 0.61111, 0, 0, 0.525],
|
||
81: [0.13889, 0.61111, 0, 0, 0.525],
|
||
82: [0, 0.61111, 0, 0, 0.525],
|
||
83: [0, 0.61111, 0, 0, 0.525],
|
||
84: [0, 0.61111, 0, 0, 0.525],
|
||
85: [0, 0.61111, 0, 0, 0.525],
|
||
86: [0, 0.61111, 0, 0, 0.525],
|
||
87: [0, 0.61111, 0, 0, 0.525],
|
||
88: [0, 0.61111, 0, 0, 0.525],
|
||
89: [0, 0.61111, 0, 0, 0.525],
|
||
90: [0, 0.61111, 0, 0, 0.525],
|
||
91: [0.08333, 0.69444, 0, 0, 0.525],
|
||
92: [0.08333, 0.69444, 0, 0, 0.525],
|
||
93: [0.08333, 0.69444, 0, 0, 0.525],
|
||
94: [0, 0.61111, 0, 0, 0.525],
|
||
95: [0.09514, 0, 0, 0, 0.525],
|
||
96: [0, 0.61111, 0, 0, 0.525],
|
||
97: [0, 0.43056, 0, 0, 0.525],
|
||
98: [0, 0.61111, 0, 0, 0.525],
|
||
99: [0, 0.43056, 0, 0, 0.525],
|
||
100: [0, 0.61111, 0, 0, 0.525],
|
||
101: [0, 0.43056, 0, 0, 0.525],
|
||
102: [0, 0.61111, 0, 0, 0.525],
|
||
103: [0.22222, 0.43056, 0, 0, 0.525],
|
||
104: [0, 0.61111, 0, 0, 0.525],
|
||
105: [0, 0.61111, 0, 0, 0.525],
|
||
106: [0.22222, 0.61111, 0, 0, 0.525],
|
||
107: [0, 0.61111, 0, 0, 0.525],
|
||
108: [0, 0.61111, 0, 0, 0.525],
|
||
109: [0, 0.43056, 0, 0, 0.525],
|
||
110: [0, 0.43056, 0, 0, 0.525],
|
||
111: [0, 0.43056, 0, 0, 0.525],
|
||
112: [0.22222, 0.43056, 0, 0, 0.525],
|
||
113: [0.22222, 0.43056, 0, 0, 0.525],
|
||
114: [0, 0.43056, 0, 0, 0.525],
|
||
115: [0, 0.43056, 0, 0, 0.525],
|
||
116: [0, 0.55358, 0, 0, 0.525],
|
||
117: [0, 0.43056, 0, 0, 0.525],
|
||
118: [0, 0.43056, 0, 0, 0.525],
|
||
119: [0, 0.43056, 0, 0, 0.525],
|
||
120: [0, 0.43056, 0, 0, 0.525],
|
||
121: [0.22222, 0.43056, 0, 0, 0.525],
|
||
122: [0, 0.43056, 0, 0, 0.525],
|
||
123: [0.08333, 0.69444, 0, 0, 0.525],
|
||
124: [0.08333, 0.69444, 0, 0, 0.525],
|
||
125: [0.08333, 0.69444, 0, 0, 0.525],
|
||
126: [0, 0.61111, 0, 0, 0.525],
|
||
127: [0, 0.61111, 0, 0, 0.525],
|
||
160: [0, 0, 0, 0, 0.525],
|
||
176: [0, 0.61111, 0, 0, 0.525],
|
||
184: [0.19445, 0, 0, 0, 0.525],
|
||
305: [0, 0.43056, 0, 0, 0.525],
|
||
567: [0.22222, 0.43056, 0, 0, 0.525],
|
||
711: [0, 0.56597, 0, 0, 0.525],
|
||
713: [0, 0.56555, 0, 0, 0.525],
|
||
714: [0, 0.61111, 0, 0, 0.525],
|
||
715: [0, 0.61111, 0, 0, 0.525],
|
||
728: [0, 0.61111, 0, 0, 0.525],
|
||
730: [0, 0.61111, 0, 0, 0.525],
|
||
770: [0, 0.61111, 0, 0, 0.525],
|
||
771: [0, 0.61111, 0, 0, 0.525],
|
||
776: [0, 0.61111, 0, 0, 0.525],
|
||
915: [0, 0.61111, 0, 0, 0.525],
|
||
916: [0, 0.61111, 0, 0, 0.525],
|
||
920: [0, 0.61111, 0, 0, 0.525],
|
||
923: [0, 0.61111, 0, 0, 0.525],
|
||
926: [0, 0.61111, 0, 0, 0.525],
|
||
928: [0, 0.61111, 0, 0, 0.525],
|
||
931: [0, 0.61111, 0, 0, 0.525],
|
||
933: [0, 0.61111, 0, 0, 0.525],
|
||
934: [0, 0.61111, 0, 0, 0.525],
|
||
936: [0, 0.61111, 0, 0, 0.525],
|
||
937: [0, 0.61111, 0, 0, 0.525],
|
||
8216: [0, 0.61111, 0, 0, 0.525],
|
||
8217: [0, 0.61111, 0, 0, 0.525],
|
||
8242: [0, 0.61111, 0, 0, 0.525],
|
||
9251: [0.11111, 0.21944, 0, 0, 0.525],
|
||
},
|
||
},
|
||
ve = {
|
||
slant: [0.25, 0.25, 0.25],
|
||
space: [0, 0, 0],
|
||
stretch: [0, 0, 0],
|
||
shrink: [0, 0, 0],
|
||
xHeight: [0.431, 0.431, 0.431],
|
||
quad: [1, 1.171, 1.472],
|
||
extraSpace: [0, 0, 0],
|
||
num1: [0.677, 0.732, 0.925],
|
||
num2: [0.394, 0.384, 0.387],
|
||
num3: [0.444, 0.471, 0.504],
|
||
denom1: [0.686, 0.752, 1.025],
|
||
denom2: [0.345, 0.344, 0.532],
|
||
sup1: [0.413, 0.503, 0.504],
|
||
sup2: [0.363, 0.431, 0.404],
|
||
sup3: [0.289, 0.286, 0.294],
|
||
sub1: [0.15, 0.143, 0.2],
|
||
sub2: [0.247, 0.286, 0.4],
|
||
supDrop: [0.386, 0.353, 0.494],
|
||
subDrop: [0.05, 0.071, 0.1],
|
||
delim1: [2.39, 1.7, 1.98],
|
||
delim2: [1.01, 1.157, 1.42],
|
||
axisHeight: [0.25, 0.25, 0.25],
|
||
defaultRuleThickness: [0.04, 0.049, 0.049],
|
||
bigOpSpacing1: [0.111, 0.111, 0.111],
|
||
bigOpSpacing2: [0.166, 0.166, 0.166],
|
||
bigOpSpacing3: [0.2, 0.2, 0.2],
|
||
bigOpSpacing4: [0.6, 0.611, 0.611],
|
||
bigOpSpacing5: [0.1, 0.143, 0.143],
|
||
sqrtRuleThickness: [0.04, 0.04, 0.04],
|
||
ptPerEm: [10, 10, 10],
|
||
doubleRuleSep: [0.2, 0.2, 0.2],
|
||
arrayRuleWidth: [0.04, 0.04, 0.04],
|
||
fboxsep: [0.3, 0.3, 0.3],
|
||
fboxrule: [0.04, 0.04, 0.04],
|
||
},
|
||
Ot = {
|
||
Å: 'A',
|
||
Ð: 'D',
|
||
Þ: 'o',
|
||
å: 'a',
|
||
ð: 'd',
|
||
þ: 'o',
|
||
А: 'A',
|
||
Б: 'B',
|
||
В: 'B',
|
||
Г: 'F',
|
||
Д: 'A',
|
||
Е: 'E',
|
||
Ж: 'K',
|
||
З: '3',
|
||
И: 'N',
|
||
Й: 'N',
|
||
К: 'K',
|
||
Л: 'N',
|
||
М: 'M',
|
||
Н: 'H',
|
||
О: 'O',
|
||
П: 'N',
|
||
Р: 'P',
|
||
С: 'C',
|
||
Т: 'T',
|
||
У: 'y',
|
||
Ф: 'O',
|
||
Х: 'X',
|
||
Ц: 'U',
|
||
Ч: 'h',
|
||
Ш: 'W',
|
||
Щ: 'W',
|
||
Ъ: 'B',
|
||
Ы: 'X',
|
||
Ь: 'B',
|
||
Э: '3',
|
||
Ю: 'X',
|
||
Я: 'R',
|
||
а: 'a',
|
||
б: 'b',
|
||
в: 'a',
|
||
г: 'r',
|
||
д: 'y',
|
||
е: 'e',
|
||
ж: 'm',
|
||
з: 'e',
|
||
и: 'n',
|
||
й: 'n',
|
||
к: 'n',
|
||
л: 'n',
|
||
м: 'm',
|
||
н: 'n',
|
||
о: 'o',
|
||
п: 'n',
|
||
р: 'p',
|
||
с: 'c',
|
||
т: 'o',
|
||
у: 'y',
|
||
ф: 'b',
|
||
х: 'x',
|
||
ц: 'n',
|
||
ч: 'n',
|
||
ш: 'w',
|
||
щ: 'w',
|
||
ъ: 'a',
|
||
ы: 'm',
|
||
ь: 'a',
|
||
э: 'e',
|
||
ю: 'm',
|
||
я: 'r',
|
||
};
|
||
function Ga(r, e) {
|
||
x0[r] = e;
|
||
}
|
||
function ft(r, e, t) {
|
||
if (!x0[e]) throw new Error('Font metrics not found for font: ' + e + '.');
|
||
var a = r.charCodeAt(0),
|
||
n = x0[e][a];
|
||
if ((!n && r[0] in Ot && ((a = Ot[r[0]].charCodeAt(0)), (n = x0[e][a])), !n && t === 'text' && vr(a) && (n = x0[e][77]), n))
|
||
return { depth: n[0], height: n[1], italic: n[2], skew: n[3], width: n[4] };
|
||
}
|
||
var Ue = {};
|
||
function Va(r) {
|
||
var e;
|
||
if ((r >= 5 ? (e = 0) : r >= 3 ? (e = 1) : (e = 2), !Ue[e])) {
|
||
var t = (Ue[e] = { cssEmPerMu: ve.quad[e] / 18 });
|
||
for (var a in ve) ve.hasOwnProperty(a) && (t[a] = ve[a][e]);
|
||
}
|
||
return Ue[e];
|
||
}
|
||
var Ua = [
|
||
[1, 1, 1],
|
||
[2, 1, 1],
|
||
[3, 1, 1],
|
||
[4, 2, 1],
|
||
[5, 2, 1],
|
||
[6, 3, 1],
|
||
[7, 4, 2],
|
||
[8, 6, 3],
|
||
[9, 7, 6],
|
||
[10, 8, 7],
|
||
[11, 10, 9],
|
||
],
|
||
Ht = [0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488],
|
||
Ft = function (e, t) {
|
||
return t.size < 2 ? e : Ua[e - 1][t.size - 1];
|
||
};
|
||
class A0 {
|
||
constructor(e) {
|
||
(this.style = void 0),
|
||
(this.color = void 0),
|
||
(this.size = void 0),
|
||
(this.textSize = void 0),
|
||
(this.phantom = void 0),
|
||
(this.font = void 0),
|
||
(this.fontFamily = void 0),
|
||
(this.fontWeight = void 0),
|
||
(this.fontShape = void 0),
|
||
(this.sizeMultiplier = void 0),
|
||
(this.maxSize = void 0),
|
||
(this.minRuleThickness = void 0),
|
||
(this._fontMetrics = void 0),
|
||
(this.style = e.style),
|
||
(this.color = e.color),
|
||
(this.size = e.size || A0.BASESIZE),
|
||
(this.textSize = e.textSize || this.size),
|
||
(this.phantom = !!e.phantom),
|
||
(this.font = e.font || ''),
|
||
(this.fontFamily = e.fontFamily || ''),
|
||
(this.fontWeight = e.fontWeight || ''),
|
||
(this.fontShape = e.fontShape || ''),
|
||
(this.sizeMultiplier = Ht[this.size - 1]),
|
||
(this.maxSize = e.maxSize),
|
||
(this.minRuleThickness = e.minRuleThickness),
|
||
(this._fontMetrics = void 0);
|
||
}
|
||
extend(e) {
|
||
var t = {
|
||
style: this.style,
|
||
size: this.size,
|
||
textSize: this.textSize,
|
||
color: this.color,
|
||
phantom: this.phantom,
|
||
font: this.font,
|
||
fontFamily: this.fontFamily,
|
||
fontWeight: this.fontWeight,
|
||
fontShape: this.fontShape,
|
||
maxSize: this.maxSize,
|
||
minRuleThickness: this.minRuleThickness,
|
||
};
|
||
for (var a in e) e.hasOwnProperty(a) && (t[a] = e[a]);
|
||
return new A0(t);
|
||
}
|
||
havingStyle(e) {
|
||
return this.style === e ? this : this.extend({ style: e, size: Ft(this.textSize, e) });
|
||
}
|
||
havingCrampedStyle() {
|
||
return this.havingStyle(this.style.cramp());
|
||
}
|
||
havingSize(e) {
|
||
return this.size === e && this.textSize === e ? this : this.extend({ style: this.style.text(), size: e, textSize: e, sizeMultiplier: Ht[e - 1] });
|
||
}
|
||
havingBaseStyle(e) {
|
||
e = e || this.style.text();
|
||
var t = Ft(A0.BASESIZE, e);
|
||
return this.size === t && this.textSize === A0.BASESIZE && this.style === e ? this : this.extend({ style: e, size: t });
|
||
}
|
||
havingBaseSizing() {
|
||
var e;
|
||
switch (this.style.id) {
|
||
case 4:
|
||
case 5:
|
||
e = 3;
|
||
break;
|
||
case 6:
|
||
case 7:
|
||
e = 1;
|
||
break;
|
||
default:
|
||
e = 6;
|
||
}
|
||
return this.extend({ style: this.style.text(), size: e });
|
||
}
|
||
withColor(e) {
|
||
return this.extend({ color: e });
|
||
}
|
||
withPhantom() {
|
||
return this.extend({ phantom: !0 });
|
||
}
|
||
withFont(e) {
|
||
return this.extend({ font: e });
|
||
}
|
||
withTextFontFamily(e) {
|
||
return this.extend({ fontFamily: e, font: '' });
|
||
}
|
||
withTextFontWeight(e) {
|
||
return this.extend({ fontWeight: e, font: '' });
|
||
}
|
||
withTextFontShape(e) {
|
||
return this.extend({ fontShape: e, font: '' });
|
||
}
|
||
sizingClasses(e) {
|
||
return e.size !== this.size ? ['sizing', 'reset-size' + e.size, 'size' + this.size] : [];
|
||
}
|
||
baseSizingClasses() {
|
||
return this.size !== A0.BASESIZE ? ['sizing', 'reset-size' + this.size, 'size' + A0.BASESIZE] : [];
|
||
}
|
||
fontMetrics() {
|
||
return this._fontMetrics || (this._fontMetrics = Va(this.size)), this._fontMetrics;
|
||
}
|
||
getColor() {
|
||
return this.phantom ? 'transparent' : this.color;
|
||
}
|
||
}
|
||
A0.BASESIZE = 6;
|
||
var nt = {
|
||
pt: 1,
|
||
mm: 7227 / 2540,
|
||
cm: 7227 / 254,
|
||
in: 72.27,
|
||
bp: 803 / 800,
|
||
pc: 12,
|
||
dd: 1238 / 1157,
|
||
cc: 14856 / 1157,
|
||
nd: 685 / 642,
|
||
nc: 1370 / 107,
|
||
sp: 1 / 65536,
|
||
px: 803 / 800,
|
||
},
|
||
Ya = { ex: !0, em: !0, mu: !0 },
|
||
gr = function (e) {
|
||
return typeof e != 'string' && (e = e.unit), e in nt || e in Ya || e === 'ex';
|
||
},
|
||
K = function (e, t) {
|
||
var a;
|
||
if (e.unit in nt) a = nt[e.unit] / t.fontMetrics().ptPerEm / t.sizeMultiplier;
|
||
else if (e.unit === 'mu') a = t.fontMetrics().cssEmPerMu;
|
||
else {
|
||
var n;
|
||
if ((t.style.isTight() ? (n = t.havingStyle(t.style.text())) : (n = t), e.unit === 'ex')) a = n.fontMetrics().xHeight;
|
||
else if (e.unit === 'em') a = n.fontMetrics().quad;
|
||
else throw new M("Invalid unit: '" + e.unit + "'");
|
||
n !== t && (a *= n.sizeMultiplier / t.sizeMultiplier);
|
||
}
|
||
return Math.min(e.number * a, t.maxSize);
|
||
},
|
||
A = function (e) {
|
||
return +e.toFixed(4) + 'em';
|
||
},
|
||
L0 = function (e) {
|
||
return e.filter((t) => t).join(' ');
|
||
},
|
||
br = function (e, t, a) {
|
||
if (((this.classes = e || []), (this.attributes = {}), (this.height = 0), (this.depth = 0), (this.maxFontSize = 0), (this.style = a || {}), t)) {
|
||
t.style.isTight() && this.classes.push('mtight');
|
||
var n = t.getColor();
|
||
n && (this.style.color = n);
|
||
}
|
||
},
|
||
yr = function (e) {
|
||
var t = document.createElement(e);
|
||
t.className = L0(this.classes);
|
||
for (var a in this.style) this.style.hasOwnProperty(a) && (t.style[a] = this.style[a]);
|
||
for (var n in this.attributes) this.attributes.hasOwnProperty(n) && t.setAttribute(n, this.attributes[n]);
|
||
for (var s = 0; s < this.children.length; s++) t.appendChild(this.children[s].toNode());
|
||
return t;
|
||
},
|
||
xr = function (e) {
|
||
var t = '<' + e;
|
||
this.classes.length && (t += ' class="' + q.escape(L0(this.classes)) + '"');
|
||
var a = '';
|
||
for (var n in this.style) this.style.hasOwnProperty(n) && (a += q.hyphenate(n) + ':' + this.style[n] + ';');
|
||
a && (t += ' style="' + q.escape(a) + '"');
|
||
for (var s in this.attributes) this.attributes.hasOwnProperty(s) && (t += ' ' + s + '="' + q.escape(this.attributes[s]) + '"');
|
||
t += '>';
|
||
for (var o = 0; o < this.children.length; o++) t += this.children[o].toMarkup();
|
||
return (t += '</' + e + '>'), t;
|
||
};
|
||
class he {
|
||
constructor(e, t, a, n) {
|
||
(this.children = void 0),
|
||
(this.attributes = void 0),
|
||
(this.classes = void 0),
|
||
(this.height = void 0),
|
||
(this.depth = void 0),
|
||
(this.width = void 0),
|
||
(this.maxFontSize = void 0),
|
||
(this.style = void 0),
|
||
br.call(this, e, a, n),
|
||
(this.children = t || []);
|
||
}
|
||
setAttribute(e, t) {
|
||
this.attributes[e] = t;
|
||
}
|
||
hasClass(e) {
|
||
return q.contains(this.classes, e);
|
||
}
|
||
toNode() {
|
||
return yr.call(this, 'span');
|
||
}
|
||
toMarkup() {
|
||
return xr.call(this, 'span');
|
||
}
|
||
}
|
||
class pt {
|
||
constructor(e, t, a, n) {
|
||
(this.children = void 0),
|
||
(this.attributes = void 0),
|
||
(this.classes = void 0),
|
||
(this.height = void 0),
|
||
(this.depth = void 0),
|
||
(this.maxFontSize = void 0),
|
||
(this.style = void 0),
|
||
br.call(this, t, n),
|
||
(this.children = a || []),
|
||
this.setAttribute('href', e);
|
||
}
|
||
setAttribute(e, t) {
|
||
this.attributes[e] = t;
|
||
}
|
||
hasClass(e) {
|
||
return q.contains(this.classes, e);
|
||
}
|
||
toNode() {
|
||
return yr.call(this, 'a');
|
||
}
|
||
toMarkup() {
|
||
return xr.call(this, 'a');
|
||
}
|
||
}
|
||
class Xa {
|
||
constructor(e, t, a) {
|
||
(this.src = void 0),
|
||
(this.alt = void 0),
|
||
(this.classes = void 0),
|
||
(this.height = void 0),
|
||
(this.depth = void 0),
|
||
(this.maxFontSize = void 0),
|
||
(this.style = void 0),
|
||
(this.alt = t),
|
||
(this.src = e),
|
||
(this.classes = ['mord']),
|
||
(this.style = a);
|
||
}
|
||
hasClass(e) {
|
||
return q.contains(this.classes, e);
|
||
}
|
||
toNode() {
|
||
var e = document.createElement('img');
|
||
(e.src = this.src), (e.alt = this.alt), (e.className = 'mord');
|
||
for (var t in this.style) this.style.hasOwnProperty(t) && (e.style[t] = this.style[t]);
|
||
return e;
|
||
}
|
||
toMarkup() {
|
||
var e = '<img src="' + q.escape(this.src) + '"' + (' alt="' + q.escape(this.alt) + '"'),
|
||
t = '';
|
||
for (var a in this.style) this.style.hasOwnProperty(a) && (t += q.hyphenate(a) + ':' + this.style[a] + ';');
|
||
return t && (e += ' style="' + q.escape(t) + '"'), (e += "'/>"), e;
|
||
}
|
||
}
|
||
var $a = { î: 'ı̂', ï: 'ı̈', í: 'ı́', ì: 'ı̀' };
|
||
class p0 {
|
||
constructor(e, t, a, n, s, o, h, c) {
|
||
(this.text = void 0),
|
||
(this.height = void 0),
|
||
(this.depth = void 0),
|
||
(this.italic = void 0),
|
||
(this.skew = void 0),
|
||
(this.width = void 0),
|
||
(this.maxFontSize = void 0),
|
||
(this.classes = void 0),
|
||
(this.style = void 0),
|
||
(this.text = e),
|
||
(this.height = t || 0),
|
||
(this.depth = a || 0),
|
||
(this.italic = n || 0),
|
||
(this.skew = s || 0),
|
||
(this.width = o || 0),
|
||
(this.classes = h || []),
|
||
(this.style = c || {}),
|
||
(this.maxFontSize = 0);
|
||
var p = Ca(this.text.charCodeAt(0));
|
||
p && this.classes.push(p + '_fallback'), /[îïíì]/.test(this.text) && (this.text = $a[this.text]);
|
||
}
|
||
hasClass(e) {
|
||
return q.contains(this.classes, e);
|
||
}
|
||
toNode() {
|
||
var e = document.createTextNode(this.text),
|
||
t = null;
|
||
this.italic > 0 && ((t = document.createElement('span')), (t.style.marginRight = A(this.italic))),
|
||
this.classes.length > 0 && ((t = t || document.createElement('span')), (t.className = L0(this.classes)));
|
||
for (var a in this.style) this.style.hasOwnProperty(a) && ((t = t || document.createElement('span')), (t.style[a] = this.style[a]));
|
||
return t ? (t.appendChild(e), t) : e;
|
||
}
|
||
toMarkup() {
|
||
var e = !1,
|
||
t = '<span';
|
||
this.classes.length && ((e = !0), (t += ' class="'), (t += q.escape(L0(this.classes))), (t += '"'));
|
||
var a = '';
|
||
this.italic > 0 && (a += 'margin-right:' + this.italic + 'em;');
|
||
for (var n in this.style) this.style.hasOwnProperty(n) && (a += q.hyphenate(n) + ':' + this.style[n] + ';');
|
||
a && ((e = !0), (t += ' style="' + q.escape(a) + '"'));
|
||
var s = q.escape(this.text);
|
||
return e ? ((t += '>'), (t += s), (t += '</span>'), t) : s;
|
||
}
|
||
}
|
||
class D0 {
|
||
constructor(e, t) {
|
||
(this.children = void 0), (this.attributes = void 0), (this.children = e || []), (this.attributes = t || {});
|
||
}
|
||
toNode() {
|
||
var e = 'http://www.w3.org/2000/svg',
|
||
t = document.createElementNS(e, 'svg');
|
||
for (var a in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, a) && t.setAttribute(a, this.attributes[a]);
|
||
for (var n = 0; n < this.children.length; n++) t.appendChild(this.children[n].toNode());
|
||
return t;
|
||
}
|
||
toMarkup() {
|
||
var e = '<svg xmlns="http://www.w3.org/2000/svg"';
|
||
for (var t in this.attributes)
|
||
Object.prototype.hasOwnProperty.call(this.attributes, t) && (e += ' ' + t + '="' + q.escape(this.attributes[t]) + '"');
|
||
e += '>';
|
||
for (var a = 0; a < this.children.length; a++) e += this.children[a].toMarkup();
|
||
return (e += '</svg>'), e;
|
||
}
|
||
}
|
||
class P0 {
|
||
constructor(e, t) {
|
||
(this.pathName = void 0), (this.alternate = void 0), (this.pathName = e), (this.alternate = t);
|
||
}
|
||
toNode() {
|
||
var e = 'http://www.w3.org/2000/svg',
|
||
t = document.createElementNS(e, 'path');
|
||
return this.alternate ? t.setAttribute('d', this.alternate) : t.setAttribute('d', It[this.pathName]), t;
|
||
}
|
||
toMarkup() {
|
||
return this.alternate ? '<path d="' + q.escape(this.alternate) + '"/>' : '<path d="' + q.escape(It[this.pathName]) + '"/>';
|
||
}
|
||
}
|
||
class it {
|
||
constructor(e) {
|
||
(this.attributes = void 0), (this.attributes = e || {});
|
||
}
|
||
toNode() {
|
||
var e = 'http://www.w3.org/2000/svg',
|
||
t = document.createElementNS(e, 'line');
|
||
for (var a in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, a) && t.setAttribute(a, this.attributes[a]);
|
||
return t;
|
||
}
|
||
toMarkup() {
|
||
var e = '<line';
|
||
for (var t in this.attributes)
|
||
Object.prototype.hasOwnProperty.call(this.attributes, t) && (e += ' ' + t + '="' + q.escape(this.attributes[t]) + '"');
|
||
return (e += '/>'), e;
|
||
}
|
||
}
|
||
function Lt(r) {
|
||
if (r instanceof p0) return r;
|
||
throw new Error('Expected symbolNode but got ' + String(r) + '.');
|
||
}
|
||
function Wa(r) {
|
||
if (r instanceof he) return r;
|
||
throw new Error('Expected span<HtmlDomNode> but got ' + String(r) + '.');
|
||
}
|
||
var ja = { bin: 1, close: 1, inner: 1, open: 1, punct: 1, rel: 1 },
|
||
Za = { 'accent-token': 1, mathord: 1, 'op-token': 1, spacing: 1, textord: 1 },
|
||
$ = { math: {}, text: {} };
|
||
function i(r, e, t, a, n, s) {
|
||
($[r][n] = { font: e, group: t, replace: a }), s && a && ($[r][a] = $[r][n]);
|
||
}
|
||
var l = 'math',
|
||
k = 'text',
|
||
u = 'main',
|
||
d = 'ams',
|
||
W = 'accent-token',
|
||
D = 'bin',
|
||
i0 = 'close',
|
||
te = 'inner',
|
||
E = 'mathord',
|
||
_ = 'op-token',
|
||
h0 = 'open',
|
||
qe = 'punct',
|
||
f = 'rel',
|
||
q0 = 'spacing',
|
||
v = 'textord';
|
||
i(l, u, f, '≡', '\\equiv', !0);
|
||
i(l, u, f, '≺', '\\prec', !0);
|
||
i(l, u, f, '≻', '\\succ', !0);
|
||
i(l, u, f, '∼', '\\sim', !0);
|
||
i(l, u, f, '⊥', '\\perp');
|
||
i(l, u, f, '⪯', '\\preceq', !0);
|
||
i(l, u, f, '⪰', '\\succeq', !0);
|
||
i(l, u, f, '≃', '\\simeq', !0);
|
||
i(l, u, f, '∣', '\\mid', !0);
|
||
i(l, u, f, '≪', '\\ll', !0);
|
||
i(l, u, f, '≫', '\\gg', !0);
|
||
i(l, u, f, '≍', '\\asymp', !0);
|
||
i(l, u, f, '∥', '\\parallel');
|
||
i(l, u, f, '⋈', '\\bowtie', !0);
|
||
i(l, u, f, '⌣', '\\smile', !0);
|
||
i(l, u, f, '⊑', '\\sqsubseteq', !0);
|
||
i(l, u, f, '⊒', '\\sqsupseteq', !0);
|
||
i(l, u, f, '≐', '\\doteq', !0);
|
||
i(l, u, f, '⌢', '\\frown', !0);
|
||
i(l, u, f, '∋', '\\ni', !0);
|
||
i(l, u, f, '∝', '\\propto', !0);
|
||
i(l, u, f, '⊢', '\\vdash', !0);
|
||
i(l, u, f, '⊣', '\\dashv', !0);
|
||
i(l, u, f, '∋', '\\owns');
|
||
i(l, u, qe, '.', '\\ldotp');
|
||
i(l, u, qe, '⋅', '\\cdotp');
|
||
i(l, u, v, '#', '\\#');
|
||
i(k, u, v, '#', '\\#');
|
||
i(l, u, v, '&', '\\&');
|
||
i(k, u, v, '&', '\\&');
|
||
i(l, u, v, 'ℵ', '\\aleph', !0);
|
||
i(l, u, v, '∀', '\\forall', !0);
|
||
i(l, u, v, 'ℏ', '\\hbar', !0);
|
||
i(l, u, v, '∃', '\\exists', !0);
|
||
i(l, u, v, '∇', '\\nabla', !0);
|
||
i(l, u, v, '♭', '\\flat', !0);
|
||
i(l, u, v, 'ℓ', '\\ell', !0);
|
||
i(l, u, v, '♮', '\\natural', !0);
|
||
i(l, u, v, '♣', '\\clubsuit', !0);
|
||
i(l, u, v, '℘', '\\wp', !0);
|
||
i(l, u, v, '♯', '\\sharp', !0);
|
||
i(l, u, v, '♢', '\\diamondsuit', !0);
|
||
i(l, u, v, 'ℜ', '\\Re', !0);
|
||
i(l, u, v, '♡', '\\heartsuit', !0);
|
||
i(l, u, v, 'ℑ', '\\Im', !0);
|
||
i(l, u, v, '♠', '\\spadesuit', !0);
|
||
i(l, u, v, '§', '\\S', !0);
|
||
i(k, u, v, '§', '\\S');
|
||
i(l, u, v, '¶', '\\P', !0);
|
||
i(k, u, v, '¶', '\\P');
|
||
i(l, u, v, '†', '\\dag');
|
||
i(k, u, v, '†', '\\dag');
|
||
i(k, u, v, '†', '\\textdagger');
|
||
i(l, u, v, '‡', '\\ddag');
|
||
i(k, u, v, '‡', '\\ddag');
|
||
i(k, u, v, '‡', '\\textdaggerdbl');
|
||
i(l, u, i0, '⎱', '\\rmoustache', !0);
|
||
i(l, u, h0, '⎰', '\\lmoustache', !0);
|
||
i(l, u, i0, '⟯', '\\rgroup', !0);
|
||
i(l, u, h0, '⟮', '\\lgroup', !0);
|
||
i(l, u, D, '∓', '\\mp', !0);
|
||
i(l, u, D, '⊖', '\\ominus', !0);
|
||
i(l, u, D, '⊎', '\\uplus', !0);
|
||
i(l, u, D, '⊓', '\\sqcap', !0);
|
||
i(l, u, D, '∗', '\\ast');
|
||
i(l, u, D, '⊔', '\\sqcup', !0);
|
||
i(l, u, D, '◯', '\\bigcirc', !0);
|
||
i(l, u, D, '∙', '\\bullet', !0);
|
||
i(l, u, D, '‡', '\\ddagger');
|
||
i(l, u, D, '≀', '\\wr', !0);
|
||
i(l, u, D, '⨿', '\\amalg');
|
||
i(l, u, D, '&', '\\And');
|
||
i(l, u, f, '⟵', '\\longleftarrow', !0);
|
||
i(l, u, f, '⇐', '\\Leftarrow', !0);
|
||
i(l, u, f, '⟸', '\\Longleftarrow', !0);
|
||
i(l, u, f, '⟶', '\\longrightarrow', !0);
|
||
i(l, u, f, '⇒', '\\Rightarrow', !0);
|
||
i(l, u, f, '⟹', '\\Longrightarrow', !0);
|
||
i(l, u, f, '↔', '\\leftrightarrow', !0);
|
||
i(l, u, f, '⟷', '\\longleftrightarrow', !0);
|
||
i(l, u, f, '⇔', '\\Leftrightarrow', !0);
|
||
i(l, u, f, '⟺', '\\Longleftrightarrow', !0);
|
||
i(l, u, f, '↦', '\\mapsto', !0);
|
||
i(l, u, f, '⟼', '\\longmapsto', !0);
|
||
i(l, u, f, '↗', '\\nearrow', !0);
|
||
i(l, u, f, '↩', '\\hookleftarrow', !0);
|
||
i(l, u, f, '↪', '\\hookrightarrow', !0);
|
||
i(l, u, f, '↘', '\\searrow', !0);
|
||
i(l, u, f, '↼', '\\leftharpoonup', !0);
|
||
i(l, u, f, '⇀', '\\rightharpoonup', !0);
|
||
i(l, u, f, '↙', '\\swarrow', !0);
|
||
i(l, u, f, '↽', '\\leftharpoondown', !0);
|
||
i(l, u, f, '⇁', '\\rightharpoondown', !0);
|
||
i(l, u, f, '↖', '\\nwarrow', !0);
|
||
i(l, u, f, '⇌', '\\rightleftharpoons', !0);
|
||
i(l, d, f, '≮', '\\nless', !0);
|
||
i(l, d, f, '', '\\@nleqslant');
|
||
i(l, d, f, '', '\\@nleqq');
|
||
i(l, d, f, '⪇', '\\lneq', !0);
|
||
i(l, d, f, '≨', '\\lneqq', !0);
|
||
i(l, d, f, '', '\\@lvertneqq');
|
||
i(l, d, f, '⋦', '\\lnsim', !0);
|
||
i(l, d, f, '⪉', '\\lnapprox', !0);
|
||
i(l, d, f, '⊀', '\\nprec', !0);
|
||
i(l, d, f, '⋠', '\\npreceq', !0);
|
||
i(l, d, f, '⋨', '\\precnsim', !0);
|
||
i(l, d, f, '⪹', '\\precnapprox', !0);
|
||
i(l, d, f, '≁', '\\nsim', !0);
|
||
i(l, d, f, '', '\\@nshortmid');
|
||
i(l, d, f, '∤', '\\nmid', !0);
|
||
i(l, d, f, '⊬', '\\nvdash', !0);
|
||
i(l, d, f, '⊭', '\\nvDash', !0);
|
||
i(l, d, f, '⋪', '\\ntriangleleft');
|
||
i(l, d, f, '⋬', '\\ntrianglelefteq', !0);
|
||
i(l, d, f, '⊊', '\\subsetneq', !0);
|
||
i(l, d, f, '', '\\@varsubsetneq');
|
||
i(l, d, f, '⫋', '\\subsetneqq', !0);
|
||
i(l, d, f, '', '\\@varsubsetneqq');
|
||
i(l, d, f, '≯', '\\ngtr', !0);
|
||
i(l, d, f, '', '\\@ngeqslant');
|
||
i(l, d, f, '', '\\@ngeqq');
|
||
i(l, d, f, '⪈', '\\gneq', !0);
|
||
i(l, d, f, '≩', '\\gneqq', !0);
|
||
i(l, d, f, '', '\\@gvertneqq');
|
||
i(l, d, f, '⋧', '\\gnsim', !0);
|
||
i(l, d, f, '⪊', '\\gnapprox', !0);
|
||
i(l, d, f, '⊁', '\\nsucc', !0);
|
||
i(l, d, f, '⋡', '\\nsucceq', !0);
|
||
i(l, d, f, '⋩', '\\succnsim', !0);
|
||
i(l, d, f, '⪺', '\\succnapprox', !0);
|
||
i(l, d, f, '≆', '\\ncong', !0);
|
||
i(l, d, f, '', '\\@nshortparallel');
|
||
i(l, d, f, '∦', '\\nparallel', !0);
|
||
i(l, d, f, '⊯', '\\nVDash', !0);
|
||
i(l, d, f, '⋫', '\\ntriangleright');
|
||
i(l, d, f, '⋭', '\\ntrianglerighteq', !0);
|
||
i(l, d, f, '', '\\@nsupseteqq');
|
||
i(l, d, f, '⊋', '\\supsetneq', !0);
|
||
i(l, d, f, '', '\\@varsupsetneq');
|
||
i(l, d, f, '⫌', '\\supsetneqq', !0);
|
||
i(l, d, f, '', '\\@varsupsetneqq');
|
||
i(l, d, f, '⊮', '\\nVdash', !0);
|
||
i(l, d, f, '⪵', '\\precneqq', !0);
|
||
i(l, d, f, '⪶', '\\succneqq', !0);
|
||
i(l, d, f, '', '\\@nsubseteqq');
|
||
i(l, d, D, '⊴', '\\unlhd');
|
||
i(l, d, D, '⊵', '\\unrhd');
|
||
i(l, d, f, '↚', '\\nleftarrow', !0);
|
||
i(l, d, f, '↛', '\\nrightarrow', !0);
|
||
i(l, d, f, '⇍', '\\nLeftarrow', !0);
|
||
i(l, d, f, '⇏', '\\nRightarrow', !0);
|
||
i(l, d, f, '↮', '\\nleftrightarrow', !0);
|
||
i(l, d, f, '⇎', '\\nLeftrightarrow', !0);
|
||
i(l, d, f, '△', '\\vartriangle');
|
||
i(l, d, v, 'ℏ', '\\hslash');
|
||
i(l, d, v, '▽', '\\triangledown');
|
||
i(l, d, v, '◊', '\\lozenge');
|
||
i(l, d, v, 'Ⓢ', '\\circledS');
|
||
i(l, d, v, '®', '\\circledR');
|
||
i(k, d, v, '®', '\\circledR');
|
||
i(l, d, v, '∡', '\\measuredangle', !0);
|
||
i(l, d, v, '∄', '\\nexists');
|
||
i(l, d, v, '℧', '\\mho');
|
||
i(l, d, v, 'Ⅎ', '\\Finv', !0);
|
||
i(l, d, v, '⅁', '\\Game', !0);
|
||
i(l, d, v, '‵', '\\backprime');
|
||
i(l, d, v, '▲', '\\blacktriangle');
|
||
i(l, d, v, '▼', '\\blacktriangledown');
|
||
i(l, d, v, '■', '\\blacksquare');
|
||
i(l, d, v, '⧫', '\\blacklozenge');
|
||
i(l, d, v, '★', '\\bigstar');
|
||
i(l, d, v, '∢', '\\sphericalangle', !0);
|
||
i(l, d, v, '∁', '\\complement', !0);
|
||
i(l, d, v, 'ð', '\\eth', !0);
|
||
i(k, u, v, 'ð', 'ð');
|
||
i(l, d, v, '╱', '\\diagup');
|
||
i(l, d, v, '╲', '\\diagdown');
|
||
i(l, d, v, '□', '\\square');
|
||
i(l, d, v, '□', '\\Box');
|
||
i(l, d, v, '◊', '\\Diamond');
|
||
i(l, d, v, '¥', '\\yen', !0);
|
||
i(k, d, v, '¥', '\\yen', !0);
|
||
i(l, d, v, '✓', '\\checkmark', !0);
|
||
i(k, d, v, '✓', '\\checkmark');
|
||
i(l, d, v, 'ℶ', '\\beth', !0);
|
||
i(l, d, v, 'ℸ', '\\daleth', !0);
|
||
i(l, d, v, 'ℷ', '\\gimel', !0);
|
||
i(l, d, v, 'ϝ', '\\digamma', !0);
|
||
i(l, d, v, 'ϰ', '\\varkappa');
|
||
i(l, d, h0, '┌', '\\@ulcorner', !0);
|
||
i(l, d, i0, '┐', '\\@urcorner', !0);
|
||
i(l, d, h0, '└', '\\@llcorner', !0);
|
||
i(l, d, i0, '┘', '\\@lrcorner', !0);
|
||
i(l, d, f, '≦', '\\leqq', !0);
|
||
i(l, d, f, '⩽', '\\leqslant', !0);
|
||
i(l, d, f, '⪕', '\\eqslantless', !0);
|
||
i(l, d, f, '≲', '\\lesssim', !0);
|
||
i(l, d, f, '⪅', '\\lessapprox', !0);
|
||
i(l, d, f, '≊', '\\approxeq', !0);
|
||
i(l, d, D, '⋖', '\\lessdot');
|
||
i(l, d, f, '⋘', '\\lll', !0);
|
||
i(l, d, f, '≶', '\\lessgtr', !0);
|
||
i(l, d, f, '⋚', '\\lesseqgtr', !0);
|
||
i(l, d, f, '⪋', '\\lesseqqgtr', !0);
|
||
i(l, d, f, '≑', '\\doteqdot');
|
||
i(l, d, f, '≓', '\\risingdotseq', !0);
|
||
i(l, d, f, '≒', '\\fallingdotseq', !0);
|
||
i(l, d, f, '∽', '\\backsim', !0);
|
||
i(l, d, f, '⋍', '\\backsimeq', !0);
|
||
i(l, d, f, '⫅', '\\subseteqq', !0);
|
||
i(l, d, f, '⋐', '\\Subset', !0);
|
||
i(l, d, f, '⊏', '\\sqsubset', !0);
|
||
i(l, d, f, '≼', '\\preccurlyeq', !0);
|
||
i(l, d, f, '⋞', '\\curlyeqprec', !0);
|
||
i(l, d, f, '≾', '\\precsim', !0);
|
||
i(l, d, f, '⪷', '\\precapprox', !0);
|
||
i(l, d, f, '⊲', '\\vartriangleleft');
|
||
i(l, d, f, '⊴', '\\trianglelefteq');
|
||
i(l, d, f, '⊨', '\\vDash', !0);
|
||
i(l, d, f, '⊪', '\\Vvdash', !0);
|
||
i(l, d, f, '⌣', '\\smallsmile');
|
||
i(l, d, f, '⌢', '\\smallfrown');
|
||
i(l, d, f, '≏', '\\bumpeq', !0);
|
||
i(l, d, f, '≎', '\\Bumpeq', !0);
|
||
i(l, d, f, '≧', '\\geqq', !0);
|
||
i(l, d, f, '⩾', '\\geqslant', !0);
|
||
i(l, d, f, '⪖', '\\eqslantgtr', !0);
|
||
i(l, d, f, '≳', '\\gtrsim', !0);
|
||
i(l, d, f, '⪆', '\\gtrapprox', !0);
|
||
i(l, d, D, '⋗', '\\gtrdot');
|
||
i(l, d, f, '⋙', '\\ggg', !0);
|
||
i(l, d, f, '≷', '\\gtrless', !0);
|
||
i(l, d, f, '⋛', '\\gtreqless', !0);
|
||
i(l, d, f, '⪌', '\\gtreqqless', !0);
|
||
i(l, d, f, '≖', '\\eqcirc', !0);
|
||
i(l, d, f, '≗', '\\circeq', !0);
|
||
i(l, d, f, '≜', '\\triangleq', !0);
|
||
i(l, d, f, '∼', '\\thicksim');
|
||
i(l, d, f, '≈', '\\thickapprox');
|
||
i(l, d, f, '⫆', '\\supseteqq', !0);
|
||
i(l, d, f, '⋑', '\\Supset', !0);
|
||
i(l, d, f, '⊐', '\\sqsupset', !0);
|
||
i(l, d, f, '≽', '\\succcurlyeq', !0);
|
||
i(l, d, f, '⋟', '\\curlyeqsucc', !0);
|
||
i(l, d, f, '≿', '\\succsim', !0);
|
||
i(l, d, f, '⪸', '\\succapprox', !0);
|
||
i(l, d, f, '⊳', '\\vartriangleright');
|
||
i(l, d, f, '⊵', '\\trianglerighteq');
|
||
i(l, d, f, '⊩', '\\Vdash', !0);
|
||
i(l, d, f, '∣', '\\shortmid');
|
||
i(l, d, f, '∥', '\\shortparallel');
|
||
i(l, d, f, '≬', '\\between', !0);
|
||
i(l, d, f, '⋔', '\\pitchfork', !0);
|
||
i(l, d, f, '∝', '\\varpropto');
|
||
i(l, d, f, '◀', '\\blacktriangleleft');
|
||
i(l, d, f, '∴', '\\therefore', !0);
|
||
i(l, d, f, '∍', '\\backepsilon');
|
||
i(l, d, f, '▶', '\\blacktriangleright');
|
||
i(l, d, f, '∵', '\\because', !0);
|
||
i(l, d, f, '⋘', '\\llless');
|
||
i(l, d, f, '⋙', '\\gggtr');
|
||
i(l, d, D, '⊲', '\\lhd');
|
||
i(l, d, D, '⊳', '\\rhd');
|
||
i(l, d, f, '≂', '\\eqsim', !0);
|
||
i(l, u, f, '⋈', '\\Join');
|
||
i(l, d, f, '≑', '\\Doteq', !0);
|
||
i(l, d, D, '∔', '\\dotplus', !0);
|
||
i(l, d, D, '∖', '\\smallsetminus');
|
||
i(l, d, D, '⋒', '\\Cap', !0);
|
||
i(l, d, D, '⋓', '\\Cup', !0);
|
||
i(l, d, D, '⩞', '\\doublebarwedge', !0);
|
||
i(l, d, D, '⊟', '\\boxminus', !0);
|
||
i(l, d, D, '⊞', '\\boxplus', !0);
|
||
i(l, d, D, '⋇', '\\divideontimes', !0);
|
||
i(l, d, D, '⋉', '\\ltimes', !0);
|
||
i(l, d, D, '⋊', '\\rtimes', !0);
|
||
i(l, d, D, '⋋', '\\leftthreetimes', !0);
|
||
i(l, d, D, '⋌', '\\rightthreetimes', !0);
|
||
i(l, d, D, '⋏', '\\curlywedge', !0);
|
||
i(l, d, D, '⋎', '\\curlyvee', !0);
|
||
i(l, d, D, '⊝', '\\circleddash', !0);
|
||
i(l, d, D, '⊛', '\\circledast', !0);
|
||
i(l, d, D, '⋅', '\\centerdot');
|
||
i(l, d, D, '⊺', '\\intercal', !0);
|
||
i(l, d, D, '⋒', '\\doublecap');
|
||
i(l, d, D, '⋓', '\\doublecup');
|
||
i(l, d, D, '⊠', '\\boxtimes', !0);
|
||
i(l, d, f, '⇢', '\\dashrightarrow', !0);
|
||
i(l, d, f, '⇠', '\\dashleftarrow', !0);
|
||
i(l, d, f, '⇇', '\\leftleftarrows', !0);
|
||
i(l, d, f, '⇆', '\\leftrightarrows', !0);
|
||
i(l, d, f, '⇚', '\\Lleftarrow', !0);
|
||
i(l, d, f, '↞', '\\twoheadleftarrow', !0);
|
||
i(l, d, f, '↢', '\\leftarrowtail', !0);
|
||
i(l, d, f, '↫', '\\looparrowleft', !0);
|
||
i(l, d, f, '⇋', '\\leftrightharpoons', !0);
|
||
i(l, d, f, '↶', '\\curvearrowleft', !0);
|
||
i(l, d, f, '↺', '\\circlearrowleft', !0);
|
||
i(l, d, f, '↰', '\\Lsh', !0);
|
||
i(l, d, f, '⇈', '\\upuparrows', !0);
|
||
i(l, d, f, '↿', '\\upharpoonleft', !0);
|
||
i(l, d, f, '⇃', '\\downharpoonleft', !0);
|
||
i(l, u, f, '⊶', '\\origof', !0);
|
||
i(l, u, f, '⊷', '\\imageof', !0);
|
||
i(l, d, f, '⊸', '\\multimap', !0);
|
||
i(l, d, f, '↭', '\\leftrightsquigarrow', !0);
|
||
i(l, d, f, '⇉', '\\rightrightarrows', !0);
|
||
i(l, d, f, '⇄', '\\rightleftarrows', !0);
|
||
i(l, d, f, '↠', '\\twoheadrightarrow', !0);
|
||
i(l, d, f, '↣', '\\rightarrowtail', !0);
|
||
i(l, d, f, '↬', '\\looparrowright', !0);
|
||
i(l, d, f, '↷', '\\curvearrowright', !0);
|
||
i(l, d, f, '↻', '\\circlearrowright', !0);
|
||
i(l, d, f, '↱', '\\Rsh', !0);
|
||
i(l, d, f, '⇊', '\\downdownarrows', !0);
|
||
i(l, d, f, '↾', '\\upharpoonright', !0);
|
||
i(l, d, f, '⇂', '\\downharpoonright', !0);
|
||
i(l, d, f, '⇝', '\\rightsquigarrow', !0);
|
||
i(l, d, f, '⇝', '\\leadsto');
|
||
i(l, d, f, '⇛', '\\Rrightarrow', !0);
|
||
i(l, d, f, '↾', '\\restriction');
|
||
i(l, u, v, '‘', '`');
|
||
i(l, u, v, '$', '\\$');
|
||
i(k, u, v, '$', '\\$');
|
||
i(k, u, v, '$', '\\textdollar');
|
||
i(l, u, v, '%', '\\%');
|
||
i(k, u, v, '%', '\\%');
|
||
i(l, u, v, '_', '\\_');
|
||
i(k, u, v, '_', '\\_');
|
||
i(k, u, v, '_', '\\textunderscore');
|
||
i(l, u, v, '∠', '\\angle', !0);
|
||
i(l, u, v, '∞', '\\infty', !0);
|
||
i(l, u, v, '′', '\\prime');
|
||
i(l, u, v, '△', '\\triangle');
|
||
i(l, u, v, 'Γ', '\\Gamma', !0);
|
||
i(l, u, v, 'Δ', '\\Delta', !0);
|
||
i(l, u, v, 'Θ', '\\Theta', !0);
|
||
i(l, u, v, 'Λ', '\\Lambda', !0);
|
||
i(l, u, v, 'Ξ', '\\Xi', !0);
|
||
i(l, u, v, 'Π', '\\Pi', !0);
|
||
i(l, u, v, 'Σ', '\\Sigma', !0);
|
||
i(l, u, v, 'Υ', '\\Upsilon', !0);
|
||
i(l, u, v, 'Φ', '\\Phi', !0);
|
||
i(l, u, v, 'Ψ', '\\Psi', !0);
|
||
i(l, u, v, 'Ω', '\\Omega', !0);
|
||
i(l, u, v, 'A', 'Α');
|
||
i(l, u, v, 'B', 'Β');
|
||
i(l, u, v, 'E', 'Ε');
|
||
i(l, u, v, 'Z', 'Ζ');
|
||
i(l, u, v, 'H', 'Η');
|
||
i(l, u, v, 'I', 'Ι');
|
||
i(l, u, v, 'K', 'Κ');
|
||
i(l, u, v, 'M', 'Μ');
|
||
i(l, u, v, 'N', 'Ν');
|
||
i(l, u, v, 'O', 'Ο');
|
||
i(l, u, v, 'P', 'Ρ');
|
||
i(l, u, v, 'T', 'Τ');
|
||
i(l, u, v, 'X', 'Χ');
|
||
i(l, u, v, '¬', '\\neg', !0);
|
||
i(l, u, v, '¬', '\\lnot');
|
||
i(l, u, v, '⊤', '\\top');
|
||
i(l, u, v, '⊥', '\\bot');
|
||
i(l, u, v, '∅', '\\emptyset');
|
||
i(l, d, v, '∅', '\\varnothing');
|
||
i(l, u, E, 'α', '\\alpha', !0);
|
||
i(l, u, E, 'β', '\\beta', !0);
|
||
i(l, u, E, 'γ', '\\gamma', !0);
|
||
i(l, u, E, 'δ', '\\delta', !0);
|
||
i(l, u, E, 'ϵ', '\\epsilon', !0);
|
||
i(l, u, E, 'ζ', '\\zeta', !0);
|
||
i(l, u, E, 'η', '\\eta', !0);
|
||
i(l, u, E, 'θ', '\\theta', !0);
|
||
i(l, u, E, 'ι', '\\iota', !0);
|
||
i(l, u, E, 'κ', '\\kappa', !0);
|
||
i(l, u, E, 'λ', '\\lambda', !0);
|
||
i(l, u, E, 'μ', '\\mu', !0);
|
||
i(l, u, E, 'ν', '\\nu', !0);
|
||
i(l, u, E, 'ξ', '\\xi', !0);
|
||
i(l, u, E, 'ο', '\\omicron', !0);
|
||
i(l, u, E, 'π', '\\pi', !0);
|
||
i(l, u, E, 'ρ', '\\rho', !0);
|
||
i(l, u, E, 'σ', '\\sigma', !0);
|
||
i(l, u, E, 'τ', '\\tau', !0);
|
||
i(l, u, E, 'υ', '\\upsilon', !0);
|
||
i(l, u, E, 'ϕ', '\\phi', !0);
|
||
i(l, u, E, 'χ', '\\chi', !0);
|
||
i(l, u, E, 'ψ', '\\psi', !0);
|
||
i(l, u, E, 'ω', '\\omega', !0);
|
||
i(l, u, E, 'ε', '\\varepsilon', !0);
|
||
i(l, u, E, 'ϑ', '\\vartheta', !0);
|
||
i(l, u, E, 'ϖ', '\\varpi', !0);
|
||
i(l, u, E, 'ϱ', '\\varrho', !0);
|
||
i(l, u, E, 'ς', '\\varsigma', !0);
|
||
i(l, u, E, 'φ', '\\varphi', !0);
|
||
i(l, u, D, '∗', '*', !0);
|
||
i(l, u, D, '+', '+');
|
||
i(l, u, D, '−', '-', !0);
|
||
i(l, u, D, '⋅', '\\cdot', !0);
|
||
i(l, u, D, '∘', '\\circ', !0);
|
||
i(l, u, D, '÷', '\\div', !0);
|
||
i(l, u, D, '±', '\\pm', !0);
|
||
i(l, u, D, '×', '\\times', !0);
|
||
i(l, u, D, '∩', '\\cap', !0);
|
||
i(l, u, D, '∪', '\\cup', !0);
|
||
i(l, u, D, '∖', '\\setminus', !0);
|
||
i(l, u, D, '∧', '\\land');
|
||
i(l, u, D, '∨', '\\lor');
|
||
i(l, u, D, '∧', '\\wedge', !0);
|
||
i(l, u, D, '∨', '\\vee', !0);
|
||
i(l, u, v, '√', '\\surd');
|
||
i(l, u, h0, '⟨', '\\langle', !0);
|
||
i(l, u, h0, '∣', '\\lvert');
|
||
i(l, u, h0, '∥', '\\lVert');
|
||
i(l, u, i0, '?', '?');
|
||
i(l, u, i0, '!', '!');
|
||
i(l, u, i0, '⟩', '\\rangle', !0);
|
||
i(l, u, i0, '∣', '\\rvert');
|
||
i(l, u, i0, '∥', '\\rVert');
|
||
i(l, u, f, '=', '=');
|
||
i(l, u, f, ':', ':');
|
||
i(l, u, f, '≈', '\\approx', !0);
|
||
i(l, u, f, '≅', '\\cong', !0);
|
||
i(l, u, f, '≥', '\\ge');
|
||
i(l, u, f, '≥', '\\geq', !0);
|
||
i(l, u, f, '←', '\\gets');
|
||
i(l, u, f, '>', '\\gt', !0);
|
||
i(l, u, f, '∈', '\\in', !0);
|
||
i(l, u, f, '', '\\@not');
|
||
i(l, u, f, '⊂', '\\subset', !0);
|
||
i(l, u, f, '⊃', '\\supset', !0);
|
||
i(l, u, f, '⊆', '\\subseteq', !0);
|
||
i(l, u, f, '⊇', '\\supseteq', !0);
|
||
i(l, d, f, '⊈', '\\nsubseteq', !0);
|
||
i(l, d, f, '⊉', '\\nsupseteq', !0);
|
||
i(l, u, f, '⊨', '\\models');
|
||
i(l, u, f, '←', '\\leftarrow', !0);
|
||
i(l, u, f, '≤', '\\le');
|
||
i(l, u, f, '≤', '\\leq', !0);
|
||
i(l, u, f, '<', '\\lt', !0);
|
||
i(l, u, f, '→', '\\rightarrow', !0);
|
||
i(l, u, f, '→', '\\to');
|
||
i(l, d, f, '≱', '\\ngeq', !0);
|
||
i(l, d, f, '≰', '\\nleq', !0);
|
||
i(l, u, q0, ' ', '\\ ');
|
||
i(l, u, q0, ' ', '\\space');
|
||
i(l, u, q0, ' ', '\\nobreakspace');
|
||
i(k, u, q0, ' ', '\\ ');
|
||
i(k, u, q0, ' ', ' ');
|
||
i(k, u, q0, ' ', '\\space');
|
||
i(k, u, q0, ' ', '\\nobreakspace');
|
||
i(l, u, q0, null, '\\nobreak');
|
||
i(l, u, q0, null, '\\allowbreak');
|
||
i(l, u, qe, ',', ',');
|
||
i(l, u, qe, ';', ';');
|
||
i(l, d, D, '⊼', '\\barwedge', !0);
|
||
i(l, d, D, '⊻', '\\veebar', !0);
|
||
i(l, u, D, '⊙', '\\odot', !0);
|
||
i(l, u, D, '⊕', '\\oplus', !0);
|
||
i(l, u, D, '⊗', '\\otimes', !0);
|
||
i(l, u, v, '∂', '\\partial', !0);
|
||
i(l, u, D, '⊘', '\\oslash', !0);
|
||
i(l, d, D, '⊚', '\\circledcirc', !0);
|
||
i(l, d, D, '⊡', '\\boxdot', !0);
|
||
i(l, u, D, '△', '\\bigtriangleup');
|
||
i(l, u, D, '▽', '\\bigtriangledown');
|
||
i(l, u, D, '†', '\\dagger');
|
||
i(l, u, D, '⋄', '\\diamond');
|
||
i(l, u, D, '⋆', '\\star');
|
||
i(l, u, D, '◃', '\\triangleleft');
|
||
i(l, u, D, '▹', '\\triangleright');
|
||
i(l, u, h0, '{', '\\{');
|
||
i(k, u, v, '{', '\\{');
|
||
i(k, u, v, '{', '\\textbraceleft');
|
||
i(l, u, i0, '}', '\\}');
|
||
i(k, u, v, '}', '\\}');
|
||
i(k, u, v, '}', '\\textbraceright');
|
||
i(l, u, h0, '{', '\\lbrace');
|
||
i(l, u, i0, '}', '\\rbrace');
|
||
i(l, u, h0, '[', '\\lbrack', !0);
|
||
i(k, u, v, '[', '\\lbrack', !0);
|
||
i(l, u, i0, ']', '\\rbrack', !0);
|
||
i(k, u, v, ']', '\\rbrack', !0);
|
||
i(l, u, h0, '(', '\\lparen', !0);
|
||
i(l, u, i0, ')', '\\rparen', !0);
|
||
i(k, u, v, '<', '\\textless', !0);
|
||
i(k, u, v, '>', '\\textgreater', !0);
|
||
i(l, u, h0, '⌊', '\\lfloor', !0);
|
||
i(l, u, i0, '⌋', '\\rfloor', !0);
|
||
i(l, u, h0, '⌈', '\\lceil', !0);
|
||
i(l, u, i0, '⌉', '\\rceil', !0);
|
||
i(l, u, v, '\\', '\\backslash');
|
||
i(l, u, v, '∣', '|');
|
||
i(l, u, v, '∣', '\\vert');
|
||
i(k, u, v, '|', '\\textbar', !0);
|
||
i(l, u, v, '∥', '\\|');
|
||
i(l, u, v, '∥', '\\Vert');
|
||
i(k, u, v, '∥', '\\textbardbl');
|
||
i(k, u, v, '~', '\\textasciitilde');
|
||
i(k, u, v, '\\', '\\textbackslash');
|
||
i(k, u, v, '^', '\\textasciicircum');
|
||
i(l, u, f, '↑', '\\uparrow', !0);
|
||
i(l, u, f, '⇑', '\\Uparrow', !0);
|
||
i(l, u, f, '↓', '\\downarrow', !0);
|
||
i(l, u, f, '⇓', '\\Downarrow', !0);
|
||
i(l, u, f, '↕', '\\updownarrow', !0);
|
||
i(l, u, f, '⇕', '\\Updownarrow', !0);
|
||
i(l, u, _, '∐', '\\coprod');
|
||
i(l, u, _, '⋁', '\\bigvee');
|
||
i(l, u, _, '⋀', '\\bigwedge');
|
||
i(l, u, _, '⨄', '\\biguplus');
|
||
i(l, u, _, '⋂', '\\bigcap');
|
||
i(l, u, _, '⋃', '\\bigcup');
|
||
i(l, u, _, '∫', '\\int');
|
||
i(l, u, _, '∫', '\\intop');
|
||
i(l, u, _, '∬', '\\iint');
|
||
i(l, u, _, '∭', '\\iiint');
|
||
i(l, u, _, '∏', '\\prod');
|
||
i(l, u, _, '∑', '\\sum');
|
||
i(l, u, _, '⨂', '\\bigotimes');
|
||
i(l, u, _, '⨁', '\\bigoplus');
|
||
i(l, u, _, '⨀', '\\bigodot');
|
||
i(l, u, _, '∮', '\\oint');
|
||
i(l, u, _, '∯', '\\oiint');
|
||
i(l, u, _, '∰', '\\oiiint');
|
||
i(l, u, _, '⨆', '\\bigsqcup');
|
||
i(l, u, _, '∫', '\\smallint');
|
||
i(k, u, te, '…', '\\textellipsis');
|
||
i(l, u, te, '…', '\\mathellipsis');
|
||
i(k, u, te, '…', '\\ldots', !0);
|
||
i(l, u, te, '…', '\\ldots', !0);
|
||
i(l, u, te, '⋯', '\\@cdots', !0);
|
||
i(l, u, te, '⋱', '\\ddots', !0);
|
||
i(l, u, v, '⋮', '\\varvdots');
|
||
i(l, u, W, 'ˊ', '\\acute');
|
||
i(l, u, W, 'ˋ', '\\grave');
|
||
i(l, u, W, '¨', '\\ddot');
|
||
i(l, u, W, '~', '\\tilde');
|
||
i(l, u, W, 'ˉ', '\\bar');
|
||
i(l, u, W, '˘', '\\breve');
|
||
i(l, u, W, 'ˇ', '\\check');
|
||
i(l, u, W, '^', '\\hat');
|
||
i(l, u, W, '⃗', '\\vec');
|
||
i(l, u, W, '˙', '\\dot');
|
||
i(l, u, W, '˚', '\\mathring');
|
||
i(l, u, E, '', '\\@imath');
|
||
i(l, u, E, '', '\\@jmath');
|
||
i(l, u, v, 'ı', 'ı');
|
||
i(l, u, v, 'ȷ', 'ȷ');
|
||
i(k, u, v, 'ı', '\\i', !0);
|
||
i(k, u, v, 'ȷ', '\\j', !0);
|
||
i(k, u, v, 'ß', '\\ss', !0);
|
||
i(k, u, v, 'æ', '\\ae', !0);
|
||
i(k, u, v, 'œ', '\\oe', !0);
|
||
i(k, u, v, 'ø', '\\o', !0);
|
||
i(k, u, v, 'Æ', '\\AE', !0);
|
||
i(k, u, v, 'Œ', '\\OE', !0);
|
||
i(k, u, v, 'Ø', '\\O', !0);
|
||
i(k, u, W, 'ˊ', "\\'");
|
||
i(k, u, W, 'ˋ', '\\`');
|
||
i(k, u, W, 'ˆ', '\\^');
|
||
i(k, u, W, '˜', '\\~');
|
||
i(k, u, W, 'ˉ', '\\=');
|
||
i(k, u, W, '˘', '\\u');
|
||
i(k, u, W, '˙', '\\.');
|
||
i(k, u, W, '¸', '\\c');
|
||
i(k, u, W, '˚', '\\r');
|
||
i(k, u, W, 'ˇ', '\\v');
|
||
i(k, u, W, '¨', '\\"');
|
||
i(k, u, W, '˝', '\\H');
|
||
i(k, u, W, '◯', '\\textcircled');
|
||
var wr = { '--': !0, '---': !0, '``': !0, "''": !0 };
|
||
i(k, u, v, '–', '--', !0);
|
||
i(k, u, v, '–', '\\textendash');
|
||
i(k, u, v, '—', '---', !0);
|
||
i(k, u, v, '—', '\\textemdash');
|
||
i(k, u, v, '‘', '`', !0);
|
||
i(k, u, v, '‘', '\\textquoteleft');
|
||
i(k, u, v, '’', "'", !0);
|
||
i(k, u, v, '’', '\\textquoteright');
|
||
i(k, u, v, '“', '``', !0);
|
||
i(k, u, v, '“', '\\textquotedblleft');
|
||
i(k, u, v, '”', "''", !0);
|
||
i(k, u, v, '”', '\\textquotedblright');
|
||
i(l, u, v, '°', '\\degree', !0);
|
||
i(k, u, v, '°', '\\degree');
|
||
i(k, u, v, '°', '\\textdegree', !0);
|
||
i(l, u, v, '£', '\\pounds');
|
||
i(l, u, v, '£', '\\mathsterling', !0);
|
||
i(k, u, v, '£', '\\pounds');
|
||
i(k, u, v, '£', '\\textsterling', !0);
|
||
i(l, d, v, '✠', '\\maltese');
|
||
i(k, d, v, '✠', '\\maltese');
|
||
var Pt = '0123456789/@."';
|
||
for (var Ye = 0; Ye < Pt.length; Ye++) {
|
||
var Gt = Pt.charAt(Ye);
|
||
i(l, u, v, Gt, Gt);
|
||
}
|
||
var Vt = '0123456789!@*()-=+";:?/.,';
|
||
for (var Xe = 0; Xe < Vt.length; Xe++) {
|
||
var Ut = Vt.charAt(Xe);
|
||
i(k, u, v, Ut, Ut);
|
||
}
|
||
var Be = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
||
for (var $e = 0; $e < Be.length; $e++) {
|
||
var ge = Be.charAt($e);
|
||
i(l, u, E, ge, ge), i(k, u, v, ge, ge);
|
||
}
|
||
i(l, d, v, 'C', 'ℂ');
|
||
i(k, d, v, 'C', 'ℂ');
|
||
i(l, d, v, 'H', 'ℍ');
|
||
i(k, d, v, 'H', 'ℍ');
|
||
i(l, d, v, 'N', 'ℕ');
|
||
i(k, d, v, 'N', 'ℕ');
|
||
i(l, d, v, 'P', 'ℙ');
|
||
i(k, d, v, 'P', 'ℙ');
|
||
i(l, d, v, 'Q', 'ℚ');
|
||
i(k, d, v, 'Q', 'ℚ');
|
||
i(l, d, v, 'R', 'ℝ');
|
||
i(k, d, v, 'R', 'ℝ');
|
||
i(l, d, v, 'Z', 'ℤ');
|
||
i(k, d, v, 'Z', 'ℤ');
|
||
i(l, u, E, 'h', 'ℎ');
|
||
i(k, u, E, 'h', 'ℎ');
|
||
var I = '';
|
||
for (var a0 = 0; a0 < Be.length; a0++) {
|
||
var J = Be.charAt(a0);
|
||
(I = String.fromCharCode(55349, 56320 + a0)),
|
||
i(l, u, E, J, I),
|
||
i(k, u, v, J, I),
|
||
(I = String.fromCharCode(55349, 56372 + a0)),
|
||
i(l, u, E, J, I),
|
||
i(k, u, v, J, I),
|
||
(I = String.fromCharCode(55349, 56424 + a0)),
|
||
i(l, u, E, J, I),
|
||
i(k, u, v, J, I),
|
||
(I = String.fromCharCode(55349, 56580 + a0)),
|
||
i(l, u, E, J, I),
|
||
i(k, u, v, J, I),
|
||
(I = String.fromCharCode(55349, 56684 + a0)),
|
||
i(l, u, E, J, I),
|
||
i(k, u, v, J, I),
|
||
(I = String.fromCharCode(55349, 56736 + a0)),
|
||
i(l, u, E, J, I),
|
||
i(k, u, v, J, I),
|
||
(I = String.fromCharCode(55349, 56788 + a0)),
|
||
i(l, u, E, J, I),
|
||
i(k, u, v, J, I),
|
||
(I = String.fromCharCode(55349, 56840 + a0)),
|
||
i(l, u, E, J, I),
|
||
i(k, u, v, J, I),
|
||
(I = String.fromCharCode(55349, 56944 + a0)),
|
||
i(l, u, E, J, I),
|
||
i(k, u, v, J, I),
|
||
a0 < 26 &&
|
||
((I = String.fromCharCode(55349, 56632 + a0)),
|
||
i(l, u, E, J, I),
|
||
i(k, u, v, J, I),
|
||
(I = String.fromCharCode(55349, 56476 + a0)),
|
||
i(l, u, E, J, I),
|
||
i(k, u, v, J, I));
|
||
}
|
||
I = String.fromCharCode(55349, 56668);
|
||
i(l, u, E, 'k', I);
|
||
i(k, u, v, 'k', I);
|
||
for (var Y0 = 0; Y0 < 10; Y0++) {
|
||
var H0 = Y0.toString();
|
||
(I = String.fromCharCode(55349, 57294 + Y0)),
|
||
i(l, u, E, H0, I),
|
||
i(k, u, v, H0, I),
|
||
(I = String.fromCharCode(55349, 57314 + Y0)),
|
||
i(l, u, E, H0, I),
|
||
i(k, u, v, H0, I),
|
||
(I = String.fromCharCode(55349, 57324 + Y0)),
|
||
i(l, u, E, H0, I),
|
||
i(k, u, v, H0, I),
|
||
(I = String.fromCharCode(55349, 57334 + Y0)),
|
||
i(l, u, E, H0, I),
|
||
i(k, u, v, H0, I);
|
||
}
|
||
var st = 'ÐÞþ';
|
||
for (var We = 0; We < st.length; We++) {
|
||
var be = st.charAt(We);
|
||
i(l, u, E, be, be), i(k, u, v, be, be);
|
||
}
|
||
var ye = [
|
||
['mathbf', 'textbf', 'Main-Bold'],
|
||
['mathbf', 'textbf', 'Main-Bold'],
|
||
['mathnormal', 'textit', 'Math-Italic'],
|
||
['mathnormal', 'textit', 'Math-Italic'],
|
||
['boldsymbol', 'boldsymbol', 'Main-BoldItalic'],
|
||
['boldsymbol', 'boldsymbol', 'Main-BoldItalic'],
|
||
['mathscr', 'textscr', 'Script-Regular'],
|
||
['', '', ''],
|
||
['', '', ''],
|
||
['', '', ''],
|
||
['mathfrak', 'textfrak', 'Fraktur-Regular'],
|
||
['mathfrak', 'textfrak', 'Fraktur-Regular'],
|
||
['mathbb', 'textbb', 'AMS-Regular'],
|
||
['mathbb', 'textbb', 'AMS-Regular'],
|
||
['mathboldfrak', 'textboldfrak', 'Fraktur-Regular'],
|
||
['mathboldfrak', 'textboldfrak', 'Fraktur-Regular'],
|
||
['mathsf', 'textsf', 'SansSerif-Regular'],
|
||
['mathsf', 'textsf', 'SansSerif-Regular'],
|
||
['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
|
||
['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
|
||
['mathitsf', 'textitsf', 'SansSerif-Italic'],
|
||
['mathitsf', 'textitsf', 'SansSerif-Italic'],
|
||
['', '', ''],
|
||
['', '', ''],
|
||
['mathtt', 'texttt', 'Typewriter-Regular'],
|
||
['mathtt', 'texttt', 'Typewriter-Regular'],
|
||
],
|
||
Yt = [
|
||
['mathbf', 'textbf', 'Main-Bold'],
|
||
['', '', ''],
|
||
['mathsf', 'textsf', 'SansSerif-Regular'],
|
||
['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
|
||
['mathtt', 'texttt', 'Typewriter-Regular'],
|
||
],
|
||
Ka = function (e, t) {
|
||
var a = e.charCodeAt(0),
|
||
n = e.charCodeAt(1),
|
||
s = (a - 55296) * 1024 + (n - 56320) + 65536,
|
||
o = t === 'math' ? 0 : 1;
|
||
if (119808 <= s && s < 120484) {
|
||
var h = Math.floor((s - 119808) / 26);
|
||
return [ye[h][2], ye[h][o]];
|
||
} else if (120782 <= s && s <= 120831) {
|
||
var c = Math.floor((s - 120782) / 10);
|
||
return [Yt[c][2], Yt[c][o]];
|
||
} else {
|
||
if (s === 120485 || s === 120486) return [ye[0][2], ye[0][o]];
|
||
if (120486 < s && s < 120782) return ['', ''];
|
||
throw new M('Unsupported character: ' + e);
|
||
}
|
||
},
|
||
Ee = function (e, t, a) {
|
||
return $[a][e] && $[a][e].replace && (e = $[a][e].replace), { value: e, metrics: ft(e, t, a) };
|
||
},
|
||
b0 = function (e, t, a, n, s) {
|
||
var o = Ee(e, t, a),
|
||
h = o.metrics;
|
||
e = o.value;
|
||
var c;
|
||
if (h) {
|
||
var p = h.italic;
|
||
(a === 'text' || (n && n.font === 'mathit')) && (p = 0), (c = new p0(e, h.height, h.depth, p, h.skew, h.width, s));
|
||
} else
|
||
typeof console < 'u' && console.warn('No character metrics ' + ("for '" + e + "' in style '" + t + "' and mode '" + a + "'")),
|
||
(c = new p0(e, 0, 0, 0, 0, 0, s));
|
||
if (n) {
|
||
(c.maxFontSize = n.sizeMultiplier), n.style.isTight() && c.classes.push('mtight');
|
||
var g = n.getColor();
|
||
g && (c.style.color = g);
|
||
}
|
||
return c;
|
||
},
|
||
Ja = function (e, t, a, n) {
|
||
return (
|
||
n === void 0 && (n = []),
|
||
a.font === 'boldsymbol' && Ee(e, 'Main-Bold', t).metrics
|
||
? b0(e, 'Main-Bold', t, a, n.concat(['mathbf']))
|
||
: e === '\\' || $[t][e].font === 'main'
|
||
? b0(e, 'Main-Regular', t, a, n)
|
||
: b0(e, 'AMS-Regular', t, a, n.concat(['amsrm']))
|
||
);
|
||
},
|
||
Qa = function (e, t, a, n, s) {
|
||
return s !== 'textord' && Ee(e, 'Math-BoldItalic', t).metrics
|
||
? { fontName: 'Math-BoldItalic', fontClass: 'boldsymbol' }
|
||
: { fontName: 'Main-Bold', fontClass: 'mathbf' };
|
||
},
|
||
_a = function (e, t, a) {
|
||
var n = e.mode,
|
||
s = e.text,
|
||
o = ['mord'],
|
||
h = n === 'math' || (n === 'text' && t.font),
|
||
c = h ? t.font : t.fontFamily,
|
||
p = '',
|
||
g = '';
|
||
if ((s.charCodeAt(0) === 55349 && ([p, g] = Ka(s, n)), p.length > 0)) return b0(s, p, n, t, o.concat(g));
|
||
if (c) {
|
||
var y, w;
|
||
if (c === 'boldsymbol') {
|
||
var x = Qa(s, n, t, o, a);
|
||
(y = x.fontName), (w = [x.fontClass]);
|
||
} else h ? ((y = Mr[c].fontName), (w = [c])) : ((y = xe(c, t.fontWeight, t.fontShape)), (w = [c, t.fontWeight, t.fontShape]));
|
||
if (Ee(s, y, n).metrics) return b0(s, y, n, t, o.concat(w));
|
||
if (wr.hasOwnProperty(s) && y.slice(0, 10) === 'Typewriter') {
|
||
for (var z = [], T = 0; T < s.length; T++) z.push(b0(s[T], y, n, t, o.concat(w)));
|
||
return Sr(z);
|
||
}
|
||
}
|
||
if (a === 'mathord') return b0(s, 'Math-Italic', n, t, o.concat(['mathnormal']));
|
||
if (a === 'textord') {
|
||
var C = $[n][s] && $[n][s].font;
|
||
if (C === 'ams') {
|
||
var N = xe('amsrm', t.fontWeight, t.fontShape);
|
||
return b0(s, N, n, t, o.concat('amsrm', t.fontWeight, t.fontShape));
|
||
} else if (C === 'main' || !C) {
|
||
var O = xe('textrm', t.fontWeight, t.fontShape);
|
||
return b0(s, O, n, t, o.concat(t.fontWeight, t.fontShape));
|
||
} else {
|
||
var H = xe(C, t.fontWeight, t.fontShape);
|
||
return b0(s, H, n, t, o.concat(H, t.fontWeight, t.fontShape));
|
||
}
|
||
} else throw new Error('unexpected type: ' + a + ' in makeOrd');
|
||
},
|
||
e1 = (r, e) => {
|
||
if (L0(r.classes) !== L0(e.classes) || r.skew !== e.skew || r.maxFontSize !== e.maxFontSize) return !1;
|
||
if (r.classes.length === 1) {
|
||
var t = r.classes[0];
|
||
if (t === 'mbin' || t === 'mord') return !1;
|
||
}
|
||
for (var a in r.style) if (r.style.hasOwnProperty(a) && r.style[a] !== e.style[a]) return !1;
|
||
for (var n in e.style) if (e.style.hasOwnProperty(n) && r.style[n] !== e.style[n]) return !1;
|
||
return !0;
|
||
},
|
||
t1 = (r) => {
|
||
for (var e = 0; e < r.length - 1; e++) {
|
||
var t = r[e],
|
||
a = r[e + 1];
|
||
t instanceof p0 &&
|
||
a instanceof p0 &&
|
||
e1(t, a) &&
|
||
((t.text += a.text),
|
||
(t.height = Math.max(t.height, a.height)),
|
||
(t.depth = Math.max(t.depth, a.depth)),
|
||
(t.italic = a.italic),
|
||
r.splice(e + 1, 1),
|
||
e--);
|
||
}
|
||
return r;
|
||
},
|
||
vt = function (e) {
|
||
for (var t = 0, a = 0, n = 0, s = 0; s < e.children.length; s++) {
|
||
var o = e.children[s];
|
||
o.height > t && (t = o.height), o.depth > a && (a = o.depth), o.maxFontSize > n && (n = o.maxFontSize);
|
||
}
|
||
(e.height = t), (e.depth = a), (e.maxFontSize = n);
|
||
},
|
||
l0 = function (e, t, a, n) {
|
||
var s = new he(e, t, a, n);
|
||
return vt(s), s;
|
||
},
|
||
kr = (r, e, t, a) => new he(r, e, t, a),
|
||
r1 = function (e, t, a) {
|
||
var n = l0([e], [], t);
|
||
return (
|
||
(n.height = Math.max(a || t.fontMetrics().defaultRuleThickness, t.minRuleThickness)),
|
||
(n.style.borderBottomWidth = A(n.height)),
|
||
(n.maxFontSize = 1),
|
||
n
|
||
);
|
||
},
|
||
a1 = function (e, t, a, n) {
|
||
var s = new pt(e, t, a, n);
|
||
return vt(s), s;
|
||
},
|
||
Sr = function (e) {
|
||
var t = new ue(e);
|
||
return vt(t), t;
|
||
},
|
||
n1 = function (e, t) {
|
||
return e instanceof ue ? l0([], [e], t) : e;
|
||
},
|
||
i1 = function (e) {
|
||
if (e.positionType === 'individualShift') {
|
||
for (var t = e.children, a = [t[0]], n = -t[0].shift - t[0].elem.depth, s = n, o = 1; o < t.length; o++) {
|
||
var h = -t[o].shift - s - t[o].elem.depth,
|
||
c = h - (t[o - 1].elem.height + t[o - 1].elem.depth);
|
||
(s = s + h), a.push({ type: 'kern', size: c }), a.push(t[o]);
|
||
}
|
||
return { children: a, depth: n };
|
||
}
|
||
var p;
|
||
if (e.positionType === 'top') {
|
||
for (var g = e.positionData, y = 0; y < e.children.length; y++) {
|
||
var w = e.children[y];
|
||
g -= w.type === 'kern' ? w.size : w.elem.height + w.elem.depth;
|
||
}
|
||
p = g;
|
||
} else if (e.positionType === 'bottom') p = -e.positionData;
|
||
else {
|
||
var x = e.children[0];
|
||
if (x.type !== 'elem') throw new Error('First child must have type "elem".');
|
||
if (e.positionType === 'shift') p = -x.elem.depth - e.positionData;
|
||
else if (e.positionType === 'firstBaseline') p = -x.elem.depth;
|
||
else throw new Error('Invalid positionType ' + e.positionType + '.');
|
||
}
|
||
return { children: e.children, depth: p };
|
||
},
|
||
s1 = function (e, t) {
|
||
for (var { children: a, depth: n } = i1(e), s = 0, o = 0; o < a.length; o++) {
|
||
var h = a[o];
|
||
if (h.type === 'elem') {
|
||
var c = h.elem;
|
||
s = Math.max(s, c.maxFontSize, c.height);
|
||
}
|
||
}
|
||
s += 2;
|
||
var p = l0(['pstrut'], []);
|
||
p.style.height = A(s);
|
||
for (var g = [], y = n, w = n, x = n, z = 0; z < a.length; z++) {
|
||
var T = a[z];
|
||
if (T.type === 'kern') x += T.size;
|
||
else {
|
||
var C = T.elem,
|
||
N = T.wrapperClasses || [],
|
||
O = T.wrapperStyle || {},
|
||
H = l0(N, [p, C], void 0, O);
|
||
(H.style.top = A(-s - x - C.depth)),
|
||
T.marginLeft && (H.style.marginLeft = T.marginLeft),
|
||
T.marginRight && (H.style.marginRight = T.marginRight),
|
||
g.push(H),
|
||
(x += C.height + C.depth);
|
||
}
|
||
(y = Math.min(y, x)), (w = Math.max(w, x));
|
||
}
|
||
var V = l0(['vlist'], g);
|
||
V.style.height = A(w);
|
||
var L;
|
||
if (y < 0) {
|
||
var U = l0([], []),
|
||
G = l0(['vlist'], [U]);
|
||
G.style.height = A(-y);
|
||
var j = l0(['vlist-s'], [new p0('')]);
|
||
L = [l0(['vlist-r'], [V, j]), l0(['vlist-r'], [G])];
|
||
} else L = [l0(['vlist-r'], [V])];
|
||
var Y = l0(['vlist-t'], L);
|
||
return L.length === 2 && Y.classes.push('vlist-t2'), (Y.height = w), (Y.depth = -y), Y;
|
||
},
|
||
l1 = (r, e) => {
|
||
var t = l0(['mspace'], [], e),
|
||
a = K(r, e);
|
||
return (t.style.marginRight = A(a)), t;
|
||
},
|
||
xe = function (e, t, a) {
|
||
var n = '';
|
||
switch (e) {
|
||
case 'amsrm':
|
||
n = 'AMS';
|
||
break;
|
||
case 'textrm':
|
||
n = 'Main';
|
||
break;
|
||
case 'textsf':
|
||
n = 'SansSerif';
|
||
break;
|
||
case 'texttt':
|
||
n = 'Typewriter';
|
||
break;
|
||
default:
|
||
n = e;
|
||
}
|
||
var s;
|
||
return (
|
||
t === 'textbf' && a === 'textit' ? (s = 'BoldItalic') : t === 'textbf' ? (s = 'Bold') : t === 'textit' ? (s = 'Italic') : (s = 'Regular'),
|
||
n + '-' + s
|
||
);
|
||
},
|
||
Mr = {
|
||
mathbf: { variant: 'bold', fontName: 'Main-Bold' },
|
||
mathrm: { variant: 'normal', fontName: 'Main-Regular' },
|
||
textit: { variant: 'italic', fontName: 'Main-Italic' },
|
||
mathit: { variant: 'italic', fontName: 'Main-Italic' },
|
||
mathnormal: { variant: 'italic', fontName: 'Math-Italic' },
|
||
mathbb: { variant: 'double-struck', fontName: 'AMS-Regular' },
|
||
mathcal: { variant: 'script', fontName: 'Caligraphic-Regular' },
|
||
mathfrak: { variant: 'fraktur', fontName: 'Fraktur-Regular' },
|
||
mathscr: { variant: 'script', fontName: 'Script-Regular' },
|
||
mathsf: { variant: 'sans-serif', fontName: 'SansSerif-Regular' },
|
||
mathtt: { variant: 'monospace', fontName: 'Typewriter-Regular' },
|
||
},
|
||
zr = {
|
||
vec: ['vec', 0.471, 0.714],
|
||
oiintSize1: ['oiintSize1', 0.957, 0.499],
|
||
oiintSize2: ['oiintSize2', 1.472, 0.659],
|
||
oiiintSize1: ['oiiintSize1', 1.304, 0.499],
|
||
oiiintSize2: ['oiiintSize2', 1.98, 0.659],
|
||
},
|
||
o1 = function (e, t) {
|
||
var [a, n, s] = zr[e],
|
||
o = new P0(a),
|
||
h = new D0([o], {
|
||
width: A(n),
|
||
height: A(s),
|
||
style: 'width:' + A(n),
|
||
viewBox: '0 0 ' + 1e3 * n + ' ' + 1e3 * s,
|
||
preserveAspectRatio: 'xMinYMin',
|
||
}),
|
||
c = kr(['overlay'], [h], t);
|
||
return (c.height = s), (c.style.height = A(s)), (c.style.width = A(n)), c;
|
||
},
|
||
b = {
|
||
fontMap: Mr,
|
||
makeSymbol: b0,
|
||
mathsym: Ja,
|
||
makeSpan: l0,
|
||
makeSvgSpan: kr,
|
||
makeLineSpan: r1,
|
||
makeAnchor: a1,
|
||
makeFragment: Sr,
|
||
wrapFragment: n1,
|
||
makeVList: s1,
|
||
makeOrd: _a,
|
||
makeGlue: l1,
|
||
staticSvg: o1,
|
||
svgData: zr,
|
||
tryCombineChars: t1,
|
||
},
|
||
Z = { number: 3, unit: 'mu' },
|
||
X0 = { number: 4, unit: 'mu' },
|
||
z0 = { number: 5, unit: 'mu' },
|
||
u1 = {
|
||
mord: { mop: Z, mbin: X0, mrel: z0, minner: Z },
|
||
mop: { mord: Z, mop: Z, mrel: z0, minner: Z },
|
||
mbin: { mord: X0, mop: X0, mopen: X0, minner: X0 },
|
||
mrel: { mord: z0, mop: z0, mopen: z0, minner: z0 },
|
||
mopen: {},
|
||
mclose: { mop: Z, mbin: X0, mrel: z0, minner: Z },
|
||
mpunct: { mord: Z, mop: Z, mrel: z0, mopen: Z, mclose: Z, mpunct: Z, minner: Z },
|
||
minner: { mord: Z, mop: Z, mbin: X0, mrel: z0, mopen: Z, mpunct: Z, minner: Z },
|
||
},
|
||
h1 = { mord: { mop: Z }, mop: { mord: Z, mop: Z }, mbin: {}, mrel: {}, mopen: {}, mclose: { mop: Z }, mpunct: {}, minner: { mop: Z } },
|
||
Ar = {},
|
||
De = {},
|
||
Ce = {};
|
||
function B(r) {
|
||
for (
|
||
var { type: e, names: t, props: a, handler: n, htmlBuilder: s, mathmlBuilder: o } = r,
|
||
h = {
|
||
type: e,
|
||
numArgs: a.numArgs,
|
||
argTypes: a.argTypes,
|
||
allowedInArgument: !!a.allowedInArgument,
|
||
allowedInText: !!a.allowedInText,
|
||
allowedInMath: a.allowedInMath === void 0 ? !0 : a.allowedInMath,
|
||
numOptionalArgs: a.numOptionalArgs || 0,
|
||
infix: !!a.infix,
|
||
primitive: !!a.primitive,
|
||
handler: n,
|
||
},
|
||
c = 0;
|
||
c < t.length;
|
||
++c
|
||
)
|
||
Ar[t[c]] = h;
|
||
e && (s && (De[e] = s), o && (Ce[e] = o));
|
||
}
|
||
function $0(r) {
|
||
var { type: e, htmlBuilder: t, mathmlBuilder: a } = r;
|
||
B({
|
||
type: e,
|
||
names: [],
|
||
props: { numArgs: 0 },
|
||
handler() {
|
||
throw new Error('Should never be called.');
|
||
},
|
||
htmlBuilder: t,
|
||
mathmlBuilder: a,
|
||
});
|
||
}
|
||
var Ne = function (e) {
|
||
return e.type === 'ordgroup' && e.body.length === 1 ? e.body[0] : e;
|
||
},
|
||
Q = function (e) {
|
||
return e.type === 'ordgroup' ? e.body : [e];
|
||
},
|
||
C0 = b.makeSpan,
|
||
m1 = ['leftmost', 'mbin', 'mopen', 'mrel', 'mop', 'mpunct'],
|
||
c1 = ['rightmost', 'mrel', 'mclose', 'mpunct'],
|
||
d1 = { display: R.DISPLAY, text: R.TEXT, script: R.SCRIPT, scriptscript: R.SCRIPTSCRIPT },
|
||
f1 = { mord: 'mord', mop: 'mop', mbin: 'mbin', mrel: 'mrel', mopen: 'mopen', mclose: 'mclose', mpunct: 'mpunct', minner: 'minner' },
|
||
t0 = function (e, t, a, n) {
|
||
n === void 0 && (n = [null, null]);
|
||
for (var s = [], o = 0; o < e.length; o++) {
|
||
var h = P(e[o], t);
|
||
if (h instanceof ue) {
|
||
var c = h.children;
|
||
s.push(...c);
|
||
} else s.push(h);
|
||
}
|
||
if ((b.tryCombineChars(s), !a)) return s;
|
||
var p = t;
|
||
if (e.length === 1) {
|
||
var g = e[0];
|
||
g.type === 'sizing' ? (p = t.havingSize(g.size)) : g.type === 'styling' && (p = t.havingStyle(d1[g.style]));
|
||
}
|
||
var y = C0([n[0] || 'leftmost'], [], t),
|
||
w = C0([n[1] || 'rightmost'], [], t),
|
||
x = a === 'root';
|
||
return (
|
||
Xt(
|
||
s,
|
||
(z, T) => {
|
||
var C = T.classes[0],
|
||
N = z.classes[0];
|
||
C === 'mbin' && q.contains(c1, N) ? (T.classes[0] = 'mord') : N === 'mbin' && q.contains(m1, C) && (z.classes[0] = 'mord');
|
||
},
|
||
{ node: y },
|
||
w,
|
||
x
|
||
),
|
||
Xt(
|
||
s,
|
||
(z, T) => {
|
||
var C = lt(T),
|
||
N = lt(z),
|
||
O = C && N ? (z.hasClass('mtight') ? h1[C][N] : u1[C][N]) : null;
|
||
if (O) return b.makeGlue(O, p);
|
||
},
|
||
{ node: y },
|
||
w,
|
||
x
|
||
),
|
||
s
|
||
);
|
||
},
|
||
Xt = function r(e, t, a, n, s) {
|
||
n && e.push(n);
|
||
for (var o = 0; o < e.length; o++) {
|
||
var h = e[o],
|
||
c = Tr(h);
|
||
if (c) {
|
||
r(c.children, t, a, null, s);
|
||
continue;
|
||
}
|
||
var p = !h.hasClass('mspace');
|
||
if (p) {
|
||
var g = t(h, a.node);
|
||
g && (a.insertAfter ? a.insertAfter(g) : (e.unshift(g), o++));
|
||
}
|
||
p ? (a.node = h) : s && h.hasClass('newline') && (a.node = C0(['leftmost'])),
|
||
(a.insertAfter = ((y) => (w) => {
|
||
e.splice(y + 1, 0, w), o++;
|
||
})(o));
|
||
}
|
||
n && e.pop();
|
||
},
|
||
Tr = function (e) {
|
||
return e instanceof ue || e instanceof pt || (e instanceof he && e.hasClass('enclosing')) ? e : null;
|
||
},
|
||
p1 = function r(e, t) {
|
||
var a = Tr(e);
|
||
if (a) {
|
||
var n = a.children;
|
||
if (n.length) {
|
||
if (t === 'right') return r(n[n.length - 1], 'right');
|
||
if (t === 'left') return r(n[0], 'left');
|
||
}
|
||
}
|
||
return e;
|
||
},
|
||
lt = function (e, t) {
|
||
return e ? (t && (e = p1(e, t)), f1[e.classes[0]] || null) : null;
|
||
},
|
||
oe = function (e, t) {
|
||
var a = ['nulldelimiter'].concat(e.baseSizingClasses());
|
||
return C0(t.concat(a));
|
||
},
|
||
P = function (e, t, a) {
|
||
if (!e) return C0();
|
||
if (De[e.type]) {
|
||
var n = De[e.type](e, t);
|
||
if (a && t.size !== a.size) {
|
||
n = C0(t.sizingClasses(a), [n], t);
|
||
var s = t.sizeMultiplier / a.sizeMultiplier;
|
||
(n.height *= s), (n.depth *= s);
|
||
}
|
||
return n;
|
||
} else throw new M("Got group of unknown type: '" + e.type + "'");
|
||
};
|
||
function we(r, e) {
|
||
var t = C0(['base'], r, e),
|
||
a = C0(['strut']);
|
||
return (a.style.height = A(t.height + t.depth)), t.depth && (a.style.verticalAlign = A(-t.depth)), t.children.unshift(a), t;
|
||
}
|
||
function ot(r, e) {
|
||
var t = null;
|
||
r.length === 1 && r[0].type === 'tag' && ((t = r[0].tag), (r = r[0].body));
|
||
var a = t0(r, e, 'root'),
|
||
n;
|
||
a.length === 2 && a[1].hasClass('tag') && (n = a.pop());
|
||
for (var s = [], o = [], h = 0; h < a.length; h++)
|
||
if ((o.push(a[h]), a[h].hasClass('mbin') || a[h].hasClass('mrel') || a[h].hasClass('allowbreak'))) {
|
||
for (var c = !1; h < a.length - 1 && a[h + 1].hasClass('mspace') && !a[h + 1].hasClass('newline'); )
|
||
h++, o.push(a[h]), a[h].hasClass('nobreak') && (c = !0);
|
||
c || (s.push(we(o, e)), (o = []));
|
||
} else a[h].hasClass('newline') && (o.pop(), o.length > 0 && (s.push(we(o, e)), (o = [])), s.push(a[h]));
|
||
o.length > 0 && s.push(we(o, e));
|
||
var p;
|
||
t ? ((p = we(t0(t, e, !0))), (p.classes = ['tag']), s.push(p)) : n && s.push(n);
|
||
var g = C0(['katex-html'], s);
|
||
if ((g.setAttribute('aria-hidden', 'true'), p)) {
|
||
var y = p.children[0];
|
||
(y.style.height = A(g.height + g.depth)), g.depth && (y.style.verticalAlign = A(-g.depth));
|
||
}
|
||
return g;
|
||
}
|
||
function Br(r) {
|
||
return new ue(r);
|
||
}
|
||
class c0 {
|
||
constructor(e, t, a) {
|
||
(this.type = void 0),
|
||
(this.attributes = void 0),
|
||
(this.children = void 0),
|
||
(this.classes = void 0),
|
||
(this.type = e),
|
||
(this.attributes = {}),
|
||
(this.children = t || []),
|
||
(this.classes = a || []);
|
||
}
|
||
setAttribute(e, t) {
|
||
this.attributes[e] = t;
|
||
}
|
||
getAttribute(e) {
|
||
return this.attributes[e];
|
||
}
|
||
toNode() {
|
||
var e = document.createElementNS('http://www.w3.org/1998/Math/MathML', this.type);
|
||
for (var t in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, t) && e.setAttribute(t, this.attributes[t]);
|
||
this.classes.length > 0 && (e.className = L0(this.classes));
|
||
for (var a = 0; a < this.children.length; a++) e.appendChild(this.children[a].toNode());
|
||
return e;
|
||
}
|
||
toMarkup() {
|
||
var e = '<' + this.type;
|
||
for (var t in this.attributes)
|
||
Object.prototype.hasOwnProperty.call(this.attributes, t) && ((e += ' ' + t + '="'), (e += q.escape(this.attributes[t])), (e += '"'));
|
||
this.classes.length > 0 && (e += ' class ="' + q.escape(L0(this.classes)) + '"'), (e += '>');
|
||
for (var a = 0; a < this.children.length; a++) e += this.children[a].toMarkup();
|
||
return (e += '</' + this.type + '>'), e;
|
||
}
|
||
toText() {
|
||
return this.children.map((e) => e.toText()).join('');
|
||
}
|
||
}
|
||
class ie {
|
||
constructor(e) {
|
||
(this.text = void 0), (this.text = e);
|
||
}
|
||
toNode() {
|
||
return document.createTextNode(this.text);
|
||
}
|
||
toMarkup() {
|
||
return q.escape(this.toText());
|
||
}
|
||
toText() {
|
||
return this.text;
|
||
}
|
||
}
|
||
class v1 {
|
||
constructor(e) {
|
||
(this.width = void 0),
|
||
(this.character = void 0),
|
||
(this.width = e),
|
||
e >= 0.05555 && e <= 0.05556
|
||
? (this.character = ' ')
|
||
: e >= 0.1666 && e <= 0.1667
|
||
? (this.character = ' ')
|
||
: e >= 0.2222 && e <= 0.2223
|
||
? (this.character = ' ')
|
||
: e >= 0.2777 && e <= 0.2778
|
||
? (this.character = ' ')
|
||
: e >= -0.05556 && e <= -0.05555
|
||
? (this.character = ' ')
|
||
: e >= -0.1667 && e <= -0.1666
|
||
? (this.character = ' ')
|
||
: e >= -0.2223 && e <= -0.2222
|
||
? (this.character = ' ')
|
||
: e >= -0.2778 && e <= -0.2777
|
||
? (this.character = ' ')
|
||
: (this.character = null);
|
||
}
|
||
toNode() {
|
||
if (this.character) return document.createTextNode(this.character);
|
||
var e = document.createElementNS('http://www.w3.org/1998/Math/MathML', 'mspace');
|
||
return e.setAttribute('width', A(this.width)), e;
|
||
}
|
||
toMarkup() {
|
||
return this.character ? '<mtext>' + this.character + '</mtext>' : '<mspace width="' + A(this.width) + '"/>';
|
||
}
|
||
toText() {
|
||
return this.character ? this.character : ' ';
|
||
}
|
||
}
|
||
var S = { MathNode: c0, TextNode: ie, SpaceNode: v1, newDocumentFragment: Br },
|
||
v0 = function (e, t, a) {
|
||
return (
|
||
$[t][e] &&
|
||
$[t][e].replace &&
|
||
e.charCodeAt(0) !== 55349 &&
|
||
!(wr.hasOwnProperty(e) && a && ((a.fontFamily && a.fontFamily.slice(4, 6) === 'tt') || (a.font && a.font.slice(4, 6) === 'tt'))) &&
|
||
(e = $[t][e].replace),
|
||
new S.TextNode(e)
|
||
);
|
||
},
|
||
gt = function (e) {
|
||
return e.length === 1 ? e[0] : new S.MathNode('mrow', e);
|
||
},
|
||
bt = function (e, t) {
|
||
if (t.fontFamily === 'texttt') return 'monospace';
|
||
if (t.fontFamily === 'textsf')
|
||
return t.fontShape === 'textit' && t.fontWeight === 'textbf'
|
||
? 'sans-serif-bold-italic'
|
||
: t.fontShape === 'textit'
|
||
? 'sans-serif-italic'
|
||
: t.fontWeight === 'textbf'
|
||
? 'bold-sans-serif'
|
||
: 'sans-serif';
|
||
if (t.fontShape === 'textit' && t.fontWeight === 'textbf') return 'bold-italic';
|
||
if (t.fontShape === 'textit') return 'italic';
|
||
if (t.fontWeight === 'textbf') return 'bold';
|
||
var a = t.font;
|
||
if (!a || a === 'mathnormal') return null;
|
||
var n = e.mode;
|
||
if (a === 'mathit') return 'italic';
|
||
if (a === 'boldsymbol') return e.type === 'textord' ? 'bold' : 'bold-italic';
|
||
if (a === 'mathbf') return 'bold';
|
||
if (a === 'mathbb') return 'double-struck';
|
||
if (a === 'mathfrak') return 'fraktur';
|
||
if (a === 'mathscr' || a === 'mathcal') return 'script';
|
||
if (a === 'mathsf') return 'sans-serif';
|
||
if (a === 'mathtt') return 'monospace';
|
||
var s = e.text;
|
||
if (q.contains(['\\imath', '\\jmath'], s)) return null;
|
||
$[n][s] && $[n][s].replace && (s = $[n][s].replace);
|
||
var o = b.fontMap[a].fontName;
|
||
return ft(s, o, n) ? b.fontMap[a].variant : null;
|
||
},
|
||
o0 = function (e, t, a) {
|
||
if (e.length === 1) {
|
||
var n = X(e[0], t);
|
||
return a && n instanceof c0 && n.type === 'mo' && (n.setAttribute('lspace', '0em'), n.setAttribute('rspace', '0em')), [n];
|
||
}
|
||
for (var s = [], o, h = 0; h < e.length; h++) {
|
||
var c = X(e[h], t);
|
||
if (c instanceof c0 && o instanceof c0) {
|
||
if (c.type === 'mtext' && o.type === 'mtext' && c.getAttribute('mathvariant') === o.getAttribute('mathvariant')) {
|
||
o.children.push(...c.children);
|
||
continue;
|
||
} else if (c.type === 'mn' && o.type === 'mn') {
|
||
o.children.push(...c.children);
|
||
continue;
|
||
} else if (c.type === 'mi' && c.children.length === 1 && o.type === 'mn') {
|
||
var p = c.children[0];
|
||
if (p instanceof ie && p.text === '.') {
|
||
o.children.push(...c.children);
|
||
continue;
|
||
}
|
||
} else if (o.type === 'mi' && o.children.length === 1) {
|
||
var g = o.children[0];
|
||
if (g instanceof ie && g.text === '̸' && (c.type === 'mo' || c.type === 'mi' || c.type === 'mn')) {
|
||
var y = c.children[0];
|
||
y instanceof ie && y.text.length > 0 && ((y.text = y.text.slice(0, 1) + '̸' + y.text.slice(1)), s.pop());
|
||
}
|
||
}
|
||
}
|
||
s.push(c), (o = c);
|
||
}
|
||
return s;
|
||
},
|
||
G0 = function (e, t, a) {
|
||
return gt(o0(e, t, a));
|
||
},
|
||
X = function (e, t) {
|
||
if (!e) return new S.MathNode('mrow');
|
||
if (Ce[e.type]) {
|
||
var a = Ce[e.type](e, t);
|
||
return a;
|
||
} else throw new M("Got group of unknown type: '" + e.type + "'");
|
||
};
|
||
function $t(r, e, t, a, n) {
|
||
var s = o0(r, t),
|
||
o;
|
||
s.length === 1 && s[0] instanceof c0 && q.contains(['mrow', 'mtable'], s[0].type) ? (o = s[0]) : (o = new S.MathNode('mrow', s));
|
||
var h = new S.MathNode('annotation', [new S.TextNode(e)]);
|
||
h.setAttribute('encoding', 'application/x-tex');
|
||
var c = new S.MathNode('semantics', [o, h]),
|
||
p = new S.MathNode('math', [c]);
|
||
p.setAttribute('xmlns', 'http://www.w3.org/1998/Math/MathML'), a && p.setAttribute('display', 'block');
|
||
var g = n ? 'katex' : 'katex-mathml';
|
||
return b.makeSpan([g], [p]);
|
||
}
|
||
var Dr = function (e) {
|
||
return new A0({ style: e.displayMode ? R.DISPLAY : R.TEXT, maxSize: e.maxSize, minRuleThickness: e.minRuleThickness });
|
||
},
|
||
Cr = function (e, t) {
|
||
if (t.displayMode) {
|
||
var a = ['katex-display'];
|
||
t.leqno && a.push('leqno'), t.fleqn && a.push('fleqn'), (e = b.makeSpan(a, [e]));
|
||
}
|
||
return e;
|
||
},
|
||
g1 = function (e, t, a) {
|
||
var n = Dr(a),
|
||
s;
|
||
if (a.output === 'mathml') return $t(e, t, n, a.displayMode, !0);
|
||
if (a.output === 'html') {
|
||
var o = ot(e, n);
|
||
s = b.makeSpan(['katex'], [o]);
|
||
} else {
|
||
var h = $t(e, t, n, a.displayMode, !1),
|
||
c = ot(e, n);
|
||
s = b.makeSpan(['katex'], [h, c]);
|
||
}
|
||
return Cr(s, a);
|
||
},
|
||
b1 = function (e, t, a) {
|
||
var n = Dr(a),
|
||
s = ot(e, n),
|
||
o = b.makeSpan(['katex'], [s]);
|
||
return Cr(o, a);
|
||
},
|
||
y1 = {
|
||
widehat: '^',
|
||
widecheck: 'ˇ',
|
||
widetilde: '~',
|
||
utilde: '~',
|
||
overleftarrow: '←',
|
||
underleftarrow: '←',
|
||
xleftarrow: '←',
|
||
overrightarrow: '→',
|
||
underrightarrow: '→',
|
||
xrightarrow: '→',
|
||
underbrace: '⏟',
|
||
overbrace: '⏞',
|
||
overgroup: '⏠',
|
||
undergroup: '⏡',
|
||
overleftrightarrow: '↔',
|
||
underleftrightarrow: '↔',
|
||
xleftrightarrow: '↔',
|
||
Overrightarrow: '⇒',
|
||
xRightarrow: '⇒',
|
||
overleftharpoon: '↼',
|
||
xleftharpoonup: '↼',
|
||
overrightharpoon: '⇀',
|
||
xrightharpoonup: '⇀',
|
||
xLeftarrow: '⇐',
|
||
xLeftrightarrow: '⇔',
|
||
xhookleftarrow: '↩',
|
||
xhookrightarrow: '↪',
|
||
xmapsto: '↦',
|
||
xrightharpoondown: '⇁',
|
||
xleftharpoondown: '↽',
|
||
xrightleftharpoons: '⇌',
|
||
xleftrightharpoons: '⇋',
|
||
xtwoheadleftarrow: '↞',
|
||
xtwoheadrightarrow: '↠',
|
||
xlongequal: '=',
|
||
xtofrom: '⇄',
|
||
xrightleftarrows: '⇄',
|
||
xrightequilibrium: '⇌',
|
||
xleftequilibrium: '⇋',
|
||
'\\cdrightarrow': '→',
|
||
'\\cdleftarrow': '←',
|
||
'\\cdlongequal': '=',
|
||
},
|
||
x1 = function (e) {
|
||
var t = new S.MathNode('mo', [new S.TextNode(y1[e.replace(/^\\/, '')])]);
|
||
return t.setAttribute('stretchy', 'true'), t;
|
||
},
|
||
w1 = {
|
||
overrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'],
|
||
overleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'],
|
||
underrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'],
|
||
underleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'],
|
||
xrightarrow: [['rightarrow'], 1.469, 522, 'xMaxYMin'],
|
||
'\\cdrightarrow': [['rightarrow'], 3, 522, 'xMaxYMin'],
|
||
xleftarrow: [['leftarrow'], 1.469, 522, 'xMinYMin'],
|
||
'\\cdleftarrow': [['leftarrow'], 3, 522, 'xMinYMin'],
|
||
Overrightarrow: [['doublerightarrow'], 0.888, 560, 'xMaxYMin'],
|
||
xRightarrow: [['doublerightarrow'], 1.526, 560, 'xMaxYMin'],
|
||
xLeftarrow: [['doubleleftarrow'], 1.526, 560, 'xMinYMin'],
|
||
overleftharpoon: [['leftharpoon'], 0.888, 522, 'xMinYMin'],
|
||
xleftharpoonup: [['leftharpoon'], 0.888, 522, 'xMinYMin'],
|
||
xleftharpoondown: [['leftharpoondown'], 0.888, 522, 'xMinYMin'],
|
||
overrightharpoon: [['rightharpoon'], 0.888, 522, 'xMaxYMin'],
|
||
xrightharpoonup: [['rightharpoon'], 0.888, 522, 'xMaxYMin'],
|
||
xrightharpoondown: [['rightharpoondown'], 0.888, 522, 'xMaxYMin'],
|
||
xlongequal: [['longequal'], 0.888, 334, 'xMinYMin'],
|
||
'\\cdlongequal': [['longequal'], 3, 334, 'xMinYMin'],
|
||
xtwoheadleftarrow: [['twoheadleftarrow'], 0.888, 334, 'xMinYMin'],
|
||
xtwoheadrightarrow: [['twoheadrightarrow'], 0.888, 334, 'xMaxYMin'],
|
||
overleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522],
|
||
overbrace: [['leftbrace', 'midbrace', 'rightbrace'], 1.6, 548],
|
||
underbrace: [['leftbraceunder', 'midbraceunder', 'rightbraceunder'], 1.6, 548],
|
||
underleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522],
|
||
xleftrightarrow: [['leftarrow', 'rightarrow'], 1.75, 522],
|
||
xLeftrightarrow: [['doubleleftarrow', 'doublerightarrow'], 1.75, 560],
|
||
xrightleftharpoons: [['leftharpoondownplus', 'rightharpoonplus'], 1.75, 716],
|
||
xleftrightharpoons: [['leftharpoonplus', 'rightharpoondownplus'], 1.75, 716],
|
||
xhookleftarrow: [['leftarrow', 'righthook'], 1.08, 522],
|
||
xhookrightarrow: [['lefthook', 'rightarrow'], 1.08, 522],
|
||
overlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522],
|
||
underlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522],
|
||
overgroup: [['leftgroup', 'rightgroup'], 0.888, 342],
|
||
undergroup: [['leftgroupunder', 'rightgroupunder'], 0.888, 342],
|
||
xmapsto: [['leftmapsto', 'rightarrow'], 1.5, 522],
|
||
xtofrom: [['leftToFrom', 'rightToFrom'], 1.75, 528],
|
||
xrightleftarrows: [['baraboveleftarrow', 'rightarrowabovebar'], 1.75, 901],
|
||
xrightequilibrium: [['baraboveshortleftharpoon', 'rightharpoonaboveshortbar'], 1.75, 716],
|
||
xleftequilibrium: [['shortbaraboveleftharpoon', 'shortrightharpoonabovebar'], 1.75, 716],
|
||
},
|
||
k1 = function (e) {
|
||
return e.type === 'ordgroup' ? e.body.length : 1;
|
||
},
|
||
S1 = function (e, t) {
|
||
function a() {
|
||
var h = 4e5,
|
||
c = e.label.slice(1);
|
||
if (q.contains(['widehat', 'widecheck', 'widetilde', 'utilde'], c)) {
|
||
var p = e,
|
||
g = k1(p.base),
|
||
y,
|
||
w,
|
||
x;
|
||
if (g > 5)
|
||
c === 'widehat' || c === 'widecheck'
|
||
? ((y = 420), (h = 2364), (x = 0.42), (w = c + '4'))
|
||
: ((y = 312), (h = 2340), (x = 0.34), (w = 'tilde4'));
|
||
else {
|
||
var z = [1, 1, 2, 2, 3, 3][g];
|
||
c === 'widehat' || c === 'widecheck'
|
||
? ((h = [0, 1062, 2364, 2364, 2364][z]), (y = [0, 239, 300, 360, 420][z]), (x = [0, 0.24, 0.3, 0.3, 0.36, 0.42][z]), (w = c + z))
|
||
: ((h = [0, 600, 1033, 2339, 2340][z]), (y = [0, 260, 286, 306, 312][z]), (x = [0, 0.26, 0.286, 0.3, 0.306, 0.34][z]), (w = 'tilde' + z));
|
||
}
|
||
var T = new P0(w),
|
||
C = new D0([T], { width: '100%', height: A(x), viewBox: '0 0 ' + h + ' ' + y, preserveAspectRatio: 'none' });
|
||
return { span: b.makeSvgSpan([], [C], t), minWidth: 0, height: x };
|
||
} else {
|
||
var N = [],
|
||
O = w1[c],
|
||
[H, V, L] = O,
|
||
U = L / 1e3,
|
||
G = H.length,
|
||
j,
|
||
Y;
|
||
if (G === 1) {
|
||
var M0 = O[3];
|
||
(j = ['hide-tail']), (Y = [M0]);
|
||
} else if (G === 2) (j = ['halfarrow-left', 'halfarrow-right']), (Y = ['xMinYMin', 'xMaxYMin']);
|
||
else if (G === 3) (j = ['brace-left', 'brace-center', 'brace-right']), (Y = ['xMinYMin', 'xMidYMin', 'xMaxYMin']);
|
||
else
|
||
throw new Error(
|
||
`Correct katexImagesData or update code here to support
|
||
` +
|
||
G +
|
||
' children.'
|
||
);
|
||
for (var r0 = 0; r0 < G; r0++) {
|
||
var e0 = new P0(H[r0]),
|
||
U0 = new D0([e0], { width: '400em', height: A(U), viewBox: '0 0 ' + h + ' ' + L, preserveAspectRatio: Y[r0] + ' slice' }),
|
||
s0 = b.makeSvgSpan([j[r0]], [U0], t);
|
||
if (G === 1) return { span: s0, minWidth: V, height: U };
|
||
(s0.style.height = A(U)), N.push(s0);
|
||
}
|
||
return { span: b.makeSpan(['stretchy'], N, t), minWidth: V, height: U };
|
||
}
|
||
}
|
||
var { span: n, minWidth: s, height: o } = a();
|
||
return (n.height = o), (n.style.height = A(o)), s > 0 && (n.style.minWidth = A(s)), n;
|
||
},
|
||
M1 = function (e, t, a, n, s) {
|
||
var o,
|
||
h = e.height + e.depth + a + n;
|
||
if (/fbox|color|angl/.test(t)) {
|
||
if (((o = b.makeSpan(['stretchy', t], [], s)), t === 'fbox')) {
|
||
var c = s.color && s.getColor();
|
||
c && (o.style.borderColor = c);
|
||
}
|
||
} else {
|
||
var p = [];
|
||
/^[bx]cancel$/.test(t) && p.push(new it({ x1: '0', y1: '0', x2: '100%', y2: '100%', 'stroke-width': '0.046em' })),
|
||
/^x?cancel$/.test(t) && p.push(new it({ x1: '0', y1: '100%', x2: '100%', y2: '0', 'stroke-width': '0.046em' }));
|
||
var g = new D0(p, { width: '100%', height: A(h) });
|
||
o = b.makeSvgSpan([], [g], s);
|
||
}
|
||
return (o.height = h), (o.style.height = A(h)), o;
|
||
},
|
||
N0 = { encloseSpan: M1, mathMLnode: x1, svgSpan: S1 };
|
||
function F(r, e) {
|
||
if (!r || r.type !== e) throw new Error('Expected node of type ' + e + ', but got ' + (r ? 'node of type ' + r.type : String(r)));
|
||
return r;
|
||
}
|
||
function yt(r) {
|
||
var e = Re(r);
|
||
if (!e) throw new Error('Expected node of symbol group type, but got ' + (r ? 'node of type ' + r.type : String(r)));
|
||
return e;
|
||
}
|
||
function Re(r) {
|
||
return r && (r.type === 'atom' || Za.hasOwnProperty(r.type)) ? r : null;
|
||
}
|
||
var xt = (r, e) => {
|
||
var t, a, n;
|
||
r && r.type === 'supsub'
|
||
? ((a = F(r.base, 'accent')), (t = a.base), (r.base = t), (n = Wa(P(r, e))), (r.base = a))
|
||
: ((a = F(r, 'accent')), (t = a.base));
|
||
var s = P(t, e.havingCrampedStyle()),
|
||
o = a.isShifty && q.isCharacterBox(t),
|
||
h = 0;
|
||
if (o) {
|
||
var c = q.getBaseElem(t),
|
||
p = P(c, e.havingCrampedStyle());
|
||
h = Lt(p).skew;
|
||
}
|
||
var g = a.label === '\\c',
|
||
y = g ? s.height + s.depth : Math.min(s.height, e.fontMetrics().xHeight),
|
||
w;
|
||
if (a.isStretchy)
|
||
(w = N0.svgSpan(a, e)),
|
||
(w = b.makeVList(
|
||
{
|
||
positionType: 'firstBaseline',
|
||
children: [
|
||
{ type: 'elem', elem: s },
|
||
{
|
||
type: 'elem',
|
||
elem: w,
|
||
wrapperClasses: ['svg-align'],
|
||
wrapperStyle: h > 0 ? { width: 'calc(100% - ' + A(2 * h) + ')', marginLeft: A(2 * h) } : void 0,
|
||
},
|
||
],
|
||
},
|
||
e
|
||
));
|
||
else {
|
||
var x, z;
|
||
a.label === '\\vec'
|
||
? ((x = b.staticSvg('vec', e)), (z = b.svgData.vec[1]))
|
||
: ((x = b.makeOrd({ mode: a.mode, text: a.label }, e, 'textord')), (x = Lt(x)), (x.italic = 0), (z = x.width), g && (y += x.depth)),
|
||
(w = b.makeSpan(['accent-body'], [x]));
|
||
var T = a.label === '\\textcircled';
|
||
T && (w.classes.push('accent-full'), (y = s.height));
|
||
var C = h;
|
||
T || (C -= z / 2),
|
||
(w.style.left = A(C)),
|
||
a.label === '\\textcircled' && (w.style.top = '.2em'),
|
||
(w = b.makeVList(
|
||
{
|
||
positionType: 'firstBaseline',
|
||
children: [
|
||
{ type: 'elem', elem: s },
|
||
{ type: 'kern', size: -y },
|
||
{ type: 'elem', elem: w },
|
||
],
|
||
},
|
||
e
|
||
));
|
||
}
|
||
var N = b.makeSpan(['mord', 'accent'], [w], e);
|
||
return n ? ((n.children[0] = N), (n.height = Math.max(N.height, n.height)), (n.classes[0] = 'mord'), n) : N;
|
||
},
|
||
Nr = (r, e) => {
|
||
var t = r.isStretchy ? N0.mathMLnode(r.label) : new S.MathNode('mo', [v0(r.label, r.mode)]),
|
||
a = new S.MathNode('mover', [X(r.base, e), t]);
|
||
return a.setAttribute('accent', 'true'), a;
|
||
},
|
||
z1 = new RegExp(
|
||
['\\acute', '\\grave', '\\ddot', '\\tilde', '\\bar', '\\breve', '\\check', '\\hat', '\\vec', '\\dot', '\\mathring'].map((r) => '\\' + r).join('|')
|
||
);
|
||
B({
|
||
type: 'accent',
|
||
names: [
|
||
'\\acute',
|
||
'\\grave',
|
||
'\\ddot',
|
||
'\\tilde',
|
||
'\\bar',
|
||
'\\breve',
|
||
'\\check',
|
||
'\\hat',
|
||
'\\vec',
|
||
'\\dot',
|
||
'\\mathring',
|
||
'\\widecheck',
|
||
'\\widehat',
|
||
'\\widetilde',
|
||
'\\overrightarrow',
|
||
'\\overleftarrow',
|
||
'\\Overrightarrow',
|
||
'\\overleftrightarrow',
|
||
'\\overgroup',
|
||
'\\overlinesegment',
|
||
'\\overleftharpoon',
|
||
'\\overrightharpoon',
|
||
],
|
||
props: { numArgs: 1 },
|
||
handler: (r, e) => {
|
||
var t = Ne(e[0]),
|
||
a = !z1.test(r.funcName),
|
||
n = !a || r.funcName === '\\widehat' || r.funcName === '\\widetilde' || r.funcName === '\\widecheck';
|
||
return { type: 'accent', mode: r.parser.mode, label: r.funcName, isStretchy: a, isShifty: n, base: t };
|
||
},
|
||
htmlBuilder: xt,
|
||
mathmlBuilder: Nr,
|
||
});
|
||
B({
|
||
type: 'accent',
|
||
names: ["\\'", '\\`', '\\^', '\\~', '\\=', '\\u', '\\.', '\\"', '\\c', '\\r', '\\H', '\\v', '\\textcircled'],
|
||
props: { numArgs: 1, allowedInText: !0, allowedInMath: !0, argTypes: ['primitive'] },
|
||
handler: (r, e) => {
|
||
var t = e[0],
|
||
a = r.parser.mode;
|
||
return (
|
||
a === 'math' &&
|
||
(r.parser.settings.reportNonstrict('mathVsTextAccents', "LaTeX's accent " + r.funcName + ' works only in text mode'), (a = 'text')),
|
||
{ type: 'accent', mode: a, label: r.funcName, isStretchy: !1, isShifty: !0, base: t }
|
||
);
|
||
},
|
||
htmlBuilder: xt,
|
||
mathmlBuilder: Nr,
|
||
});
|
||
B({
|
||
type: 'accentUnder',
|
||
names: ['\\underleftarrow', '\\underrightarrow', '\\underleftrightarrow', '\\undergroup', '\\underlinesegment', '\\utilde'],
|
||
props: { numArgs: 1 },
|
||
handler: (r, e) => {
|
||
var { parser: t, funcName: a } = r,
|
||
n = e[0];
|
||
return { type: 'accentUnder', mode: t.mode, label: a, base: n };
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
var t = P(r.base, e),
|
||
a = N0.svgSpan(r, e),
|
||
n = r.label === '\\utilde' ? 0.12 : 0,
|
||
s = b.makeVList(
|
||
{
|
||
positionType: 'top',
|
||
positionData: t.height,
|
||
children: [
|
||
{ type: 'elem', elem: a, wrapperClasses: ['svg-align'] },
|
||
{ type: 'kern', size: n },
|
||
{ type: 'elem', elem: t },
|
||
],
|
||
},
|
||
e
|
||
);
|
||
return b.makeSpan(['mord', 'accentunder'], [s], e);
|
||
},
|
||
mathmlBuilder: (r, e) => {
|
||
var t = N0.mathMLnode(r.label),
|
||
a = new S.MathNode('munder', [X(r.base, e), t]);
|
||
return a.setAttribute('accentunder', 'true'), a;
|
||
},
|
||
});
|
||
var ke = (r) => {
|
||
var e = new S.MathNode('mpadded', r ? [r] : []);
|
||
return e.setAttribute('width', '+0.6em'), e.setAttribute('lspace', '0.3em'), e;
|
||
};
|
||
B({
|
||
type: 'xArrow',
|
||
names: [
|
||
'\\xleftarrow',
|
||
'\\xrightarrow',
|
||
'\\xLeftarrow',
|
||
'\\xRightarrow',
|
||
'\\xleftrightarrow',
|
||
'\\xLeftrightarrow',
|
||
'\\xhookleftarrow',
|
||
'\\xhookrightarrow',
|
||
'\\xmapsto',
|
||
'\\xrightharpoondown',
|
||
'\\xrightharpoonup',
|
||
'\\xleftharpoondown',
|
||
'\\xleftharpoonup',
|
||
'\\xrightleftharpoons',
|
||
'\\xleftrightharpoons',
|
||
'\\xlongequal',
|
||
'\\xtwoheadrightarrow',
|
||
'\\xtwoheadleftarrow',
|
||
'\\xtofrom',
|
||
'\\xrightleftarrows',
|
||
'\\xrightequilibrium',
|
||
'\\xleftequilibrium',
|
||
'\\\\cdrightarrow',
|
||
'\\\\cdleftarrow',
|
||
'\\\\cdlongequal',
|
||
],
|
||
props: { numArgs: 1, numOptionalArgs: 1 },
|
||
handler(r, e, t) {
|
||
var { parser: a, funcName: n } = r;
|
||
return { type: 'xArrow', mode: a.mode, label: n, body: e[0], below: t[0] };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = e.style,
|
||
a = e.havingStyle(t.sup()),
|
||
n = b.wrapFragment(P(r.body, a, e), e),
|
||
s = r.label.slice(0, 2) === '\\x' ? 'x' : 'cd';
|
||
n.classes.push(s + '-arrow-pad');
|
||
var o;
|
||
r.below && ((a = e.havingStyle(t.sub())), (o = b.wrapFragment(P(r.below, a, e), e)), o.classes.push(s + '-arrow-pad'));
|
||
var h = N0.svgSpan(r, e),
|
||
c = -e.fontMetrics().axisHeight + 0.5 * h.height,
|
||
p = -e.fontMetrics().axisHeight - 0.5 * h.height - 0.111;
|
||
(n.depth > 0.25 || r.label === '\\xleftequilibrium') && (p -= n.depth);
|
||
var g;
|
||
if (o) {
|
||
var y = -e.fontMetrics().axisHeight + o.height + 0.5 * h.height + 0.111;
|
||
g = b.makeVList(
|
||
{
|
||
positionType: 'individualShift',
|
||
children: [
|
||
{ type: 'elem', elem: n, shift: p },
|
||
{ type: 'elem', elem: h, shift: c },
|
||
{ type: 'elem', elem: o, shift: y },
|
||
],
|
||
},
|
||
e
|
||
);
|
||
} else
|
||
g = b.makeVList(
|
||
{
|
||
positionType: 'individualShift',
|
||
children: [
|
||
{ type: 'elem', elem: n, shift: p },
|
||
{ type: 'elem', elem: h, shift: c },
|
||
],
|
||
},
|
||
e
|
||
);
|
||
return g.children[0].children[0].children[1].classes.push('svg-align'), b.makeSpan(['mrel', 'x-arrow'], [g], e);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = N0.mathMLnode(r.label);
|
||
t.setAttribute('minsize', r.label.charAt(0) === 'x' ? '1.75em' : '3.0em');
|
||
var a;
|
||
if (r.body) {
|
||
var n = ke(X(r.body, e));
|
||
if (r.below) {
|
||
var s = ke(X(r.below, e));
|
||
a = new S.MathNode('munderover', [t, s, n]);
|
||
} else a = new S.MathNode('mover', [t, n]);
|
||
} else if (r.below) {
|
||
var o = ke(X(r.below, e));
|
||
a = new S.MathNode('munder', [t, o]);
|
||
} else (a = ke()), (a = new S.MathNode('mover', [t, a]));
|
||
return a;
|
||
},
|
||
});
|
||
var A1 = b.makeSpan;
|
||
function qr(r, e) {
|
||
var t = t0(r.body, e, !0);
|
||
return A1([r.mclass], t, e);
|
||
}
|
||
function Er(r, e) {
|
||
var t,
|
||
a = o0(r.body, e);
|
||
return (
|
||
r.mclass === 'minner'
|
||
? (t = new S.MathNode('mpadded', a))
|
||
: r.mclass === 'mord'
|
||
? r.isCharacterBox
|
||
? ((t = a[0]), (t.type = 'mi'))
|
||
: (t = new S.MathNode('mi', a))
|
||
: (r.isCharacterBox ? ((t = a[0]), (t.type = 'mo')) : (t = new S.MathNode('mo', a)),
|
||
r.mclass === 'mbin'
|
||
? ((t.attributes.lspace = '0.22em'), (t.attributes.rspace = '0.22em'))
|
||
: r.mclass === 'mpunct'
|
||
? ((t.attributes.lspace = '0em'), (t.attributes.rspace = '0.17em'))
|
||
: r.mclass === 'mopen' || r.mclass === 'mclose'
|
||
? ((t.attributes.lspace = '0em'), (t.attributes.rspace = '0em'))
|
||
: r.mclass === 'minner' && ((t.attributes.lspace = '0.0556em'), (t.attributes.width = '+0.1111em'))),
|
||
t
|
||
);
|
||
}
|
||
B({
|
||
type: 'mclass',
|
||
names: ['\\mathord', '\\mathbin', '\\mathrel', '\\mathopen', '\\mathclose', '\\mathpunct', '\\mathinner'],
|
||
props: { numArgs: 1, primitive: !0 },
|
||
handler(r, e) {
|
||
var { parser: t, funcName: a } = r,
|
||
n = e[0];
|
||
return { type: 'mclass', mode: t.mode, mclass: 'm' + a.slice(5), body: Q(n), isCharacterBox: q.isCharacterBox(n) };
|
||
},
|
||
htmlBuilder: qr,
|
||
mathmlBuilder: Er,
|
||
});
|
||
var Ie = (r) => {
|
||
var e = r.type === 'ordgroup' && r.body.length ? r.body[0] : r;
|
||
return e.type === 'atom' && (e.family === 'bin' || e.family === 'rel') ? 'm' + e.family : 'mord';
|
||
};
|
||
B({
|
||
type: 'mclass',
|
||
names: ['\\@binrel'],
|
||
props: { numArgs: 2 },
|
||
handler(r, e) {
|
||
var { parser: t } = r;
|
||
return { type: 'mclass', mode: t.mode, mclass: Ie(e[0]), body: Q(e[1]), isCharacterBox: q.isCharacterBox(e[1]) };
|
||
},
|
||
});
|
||
B({
|
||
type: 'mclass',
|
||
names: ['\\stackrel', '\\overset', '\\underset'],
|
||
props: { numArgs: 2 },
|
||
handler(r, e) {
|
||
var { parser: t, funcName: a } = r,
|
||
n = e[1],
|
||
s = e[0],
|
||
o;
|
||
a !== '\\stackrel' ? (o = Ie(n)) : (o = 'mrel');
|
||
var h = {
|
||
type: 'op',
|
||
mode: n.mode,
|
||
limits: !0,
|
||
alwaysHandleSupSub: !0,
|
||
parentIsSupSub: !1,
|
||
symbol: !1,
|
||
suppressBaseShift: a !== '\\stackrel',
|
||
body: Q(n),
|
||
},
|
||
c = { type: 'supsub', mode: s.mode, base: h, sup: a === '\\underset' ? null : s, sub: a === '\\underset' ? s : null };
|
||
return { type: 'mclass', mode: t.mode, mclass: o, body: [c], isCharacterBox: q.isCharacterBox(c) };
|
||
},
|
||
htmlBuilder: qr,
|
||
mathmlBuilder: Er,
|
||
});
|
||
B({
|
||
type: 'pmb',
|
||
names: ['\\pmb'],
|
||
props: { numArgs: 1, allowedInText: !0 },
|
||
handler(r, e) {
|
||
var { parser: t } = r;
|
||
return { type: 'pmb', mode: t.mode, mclass: Ie(e[0]), body: Q(e[0]) };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = t0(r.body, e, !0),
|
||
a = b.makeSpan([r.mclass], t, e);
|
||
return (a.style.textShadow = '0.02em 0.01em 0.04px'), a;
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = o0(r.body, e),
|
||
a = new S.MathNode('mstyle', t);
|
||
return a.setAttribute('style', 'text-shadow: 0.02em 0.01em 0.04px'), a;
|
||
},
|
||
});
|
||
var T1 = {
|
||
'>': '\\\\cdrightarrow',
|
||
'<': '\\\\cdleftarrow',
|
||
'=': '\\\\cdlongequal',
|
||
A: '\\uparrow',
|
||
V: '\\downarrow',
|
||
'|': '\\Vert',
|
||
'.': 'no arrow',
|
||
},
|
||
Wt = () => ({ type: 'styling', body: [], mode: 'math', style: 'display' }),
|
||
jt = (r) => r.type === 'textord' && r.text === '@',
|
||
B1 = (r, e) => (r.type === 'mathord' || r.type === 'atom') && r.text === e;
|
||
function D1(r, e, t) {
|
||
var a = T1[r];
|
||
switch (a) {
|
||
case '\\\\cdrightarrow':
|
||
case '\\\\cdleftarrow':
|
||
return t.callFunction(a, [e[0]], [e[1]]);
|
||
case '\\uparrow':
|
||
case '\\downarrow': {
|
||
var n = t.callFunction('\\\\cdleft', [e[0]], []),
|
||
s = { type: 'atom', text: a, mode: 'math', family: 'rel' },
|
||
o = t.callFunction('\\Big', [s], []),
|
||
h = t.callFunction('\\\\cdright', [e[1]], []),
|
||
c = { type: 'ordgroup', mode: 'math', body: [n, o, h] };
|
||
return t.callFunction('\\\\cdparent', [c], []);
|
||
}
|
||
case '\\\\cdlongequal':
|
||
return t.callFunction('\\\\cdlongequal', [], []);
|
||
case '\\Vert': {
|
||
var p = { type: 'textord', text: '\\Vert', mode: 'math' };
|
||
return t.callFunction('\\Big', [p], []);
|
||
}
|
||
default:
|
||
return { type: 'textord', text: ' ', mode: 'math' };
|
||
}
|
||
}
|
||
function C1(r) {
|
||
var e = [];
|
||
for (r.gullet.beginGroup(), r.gullet.macros.set('\\cr', '\\\\\\relax'), r.gullet.beginGroup(); ; ) {
|
||
e.push(r.parseExpression(!1, '\\\\')), r.gullet.endGroup(), r.gullet.beginGroup();
|
||
var t = r.fetch().text;
|
||
if (t === '&' || t === '\\\\') r.consume();
|
||
else if (t === '\\end') {
|
||
e[e.length - 1].length === 0 && e.pop();
|
||
break;
|
||
} else throw new M('Expected \\\\ or \\cr or \\end', r.nextToken);
|
||
}
|
||
for (var a = [], n = [a], s = 0; s < e.length; s++) {
|
||
for (var o = e[s], h = Wt(), c = 0; c < o.length; c++)
|
||
if (!jt(o[c])) h.body.push(o[c]);
|
||
else {
|
||
a.push(h), (c += 1);
|
||
var p = yt(o[c]).text,
|
||
g = new Array(2);
|
||
if (((g[0] = { type: 'ordgroup', mode: 'math', body: [] }), (g[1] = { type: 'ordgroup', mode: 'math', body: [] }), !('=|.'.indexOf(p) > -1)))
|
||
if ('<>AV'.indexOf(p) > -1)
|
||
for (var y = 0; y < 2; y++) {
|
||
for (var w = !0, x = c + 1; x < o.length; x++) {
|
||
if (B1(o[x], p)) {
|
||
(w = !1), (c = x);
|
||
break;
|
||
}
|
||
if (jt(o[x])) throw new M('Missing a ' + p + ' character to complete a CD arrow.', o[x]);
|
||
g[y].body.push(o[x]);
|
||
}
|
||
if (w) throw new M('Missing a ' + p + ' character to complete a CD arrow.', o[c]);
|
||
}
|
||
else throw new M('Expected one of "<>AV=|." after @', o[c]);
|
||
var z = D1(p, g, r),
|
||
T = { type: 'styling', body: [z], mode: 'math', style: 'display' };
|
||
a.push(T), (h = Wt());
|
||
}
|
||
s % 2 === 0 ? a.push(h) : a.shift(), (a = []), n.push(a);
|
||
}
|
||
r.gullet.endGroup(), r.gullet.endGroup();
|
||
var C = new Array(n[0].length).fill({ type: 'align', align: 'c', pregap: 0.25, postgap: 0.25 });
|
||
return {
|
||
type: 'array',
|
||
mode: 'math',
|
||
body: n,
|
||
arraystretch: 1,
|
||
addJot: !0,
|
||
rowGaps: [null],
|
||
cols: C,
|
||
colSeparationType: 'CD',
|
||
hLinesBeforeRow: new Array(n.length + 1).fill([]),
|
||
};
|
||
}
|
||
B({
|
||
type: 'cdlabel',
|
||
names: ['\\\\cdleft', '\\\\cdright'],
|
||
props: { numArgs: 1 },
|
||
handler(r, e) {
|
||
var { parser: t, funcName: a } = r;
|
||
return { type: 'cdlabel', mode: t.mode, side: a.slice(4), label: e[0] };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = e.havingStyle(e.style.sup()),
|
||
a = b.wrapFragment(P(r.label, t, e), e);
|
||
return a.classes.push('cd-label-' + r.side), (a.style.bottom = A(0.8 - a.depth)), (a.height = 0), (a.depth = 0), a;
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = new S.MathNode('mrow', [X(r.label, e)]);
|
||
return (
|
||
(t = new S.MathNode('mpadded', [t])),
|
||
t.setAttribute('width', '0'),
|
||
r.side === 'left' && t.setAttribute('lspace', '-1width'),
|
||
t.setAttribute('voffset', '0.7em'),
|
||
(t = new S.MathNode('mstyle', [t])),
|
||
t.setAttribute('displaystyle', 'false'),
|
||
t.setAttribute('scriptlevel', '1'),
|
||
t
|
||
);
|
||
},
|
||
});
|
||
B({
|
||
type: 'cdlabelparent',
|
||
names: ['\\\\cdparent'],
|
||
props: { numArgs: 1 },
|
||
handler(r, e) {
|
||
var { parser: t } = r;
|
||
return { type: 'cdlabelparent', mode: t.mode, fragment: e[0] };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = b.wrapFragment(P(r.fragment, e), e);
|
||
return t.classes.push('cd-vert-arrow'), t;
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
return new S.MathNode('mrow', [X(r.fragment, e)]);
|
||
},
|
||
});
|
||
B({
|
||
type: 'textord',
|
||
names: ['\\@char'],
|
||
props: { numArgs: 1, allowedInText: !0 },
|
||
handler(r, e) {
|
||
for (var { parser: t } = r, a = F(e[0], 'ordgroup'), n = a.body, s = '', o = 0; o < n.length; o++) {
|
||
var h = F(n[o], 'textord');
|
||
s += h.text;
|
||
}
|
||
var c = parseInt(s),
|
||
p;
|
||
if (isNaN(c)) throw new M('\\@char has non-numeric argument ' + s);
|
||
if (c < 0 || c >= 1114111) throw new M('\\@char with invalid code point ' + s);
|
||
return (
|
||
c <= 65535 ? (p = String.fromCharCode(c)) : ((c -= 65536), (p = String.fromCharCode((c >> 10) + 55296, (c & 1023) + 56320))),
|
||
{ type: 'textord', mode: t.mode, text: p }
|
||
);
|
||
},
|
||
});
|
||
var Rr = (r, e) => {
|
||
var t = t0(r.body, e.withColor(r.color), !1);
|
||
return b.makeFragment(t);
|
||
},
|
||
Ir = (r, e) => {
|
||
var t = o0(r.body, e.withColor(r.color)),
|
||
a = new S.MathNode('mstyle', t);
|
||
return a.setAttribute('mathcolor', r.color), a;
|
||
};
|
||
B({
|
||
type: 'color',
|
||
names: ['\\textcolor'],
|
||
props: { numArgs: 2, allowedInText: !0, argTypes: ['color', 'original'] },
|
||
handler(r, e) {
|
||
var { parser: t } = r,
|
||
a = F(e[0], 'color-token').color,
|
||
n = e[1];
|
||
return { type: 'color', mode: t.mode, color: a, body: Q(n) };
|
||
},
|
||
htmlBuilder: Rr,
|
||
mathmlBuilder: Ir,
|
||
});
|
||
B({
|
||
type: 'color',
|
||
names: ['\\color'],
|
||
props: { numArgs: 1, allowedInText: !0, argTypes: ['color'] },
|
||
handler(r, e) {
|
||
var { parser: t, breakOnTokenText: a } = r,
|
||
n = F(e[0], 'color-token').color;
|
||
t.gullet.macros.set('\\current@color', n);
|
||
var s = t.parseExpression(!0, a);
|
||
return { type: 'color', mode: t.mode, color: n, body: s };
|
||
},
|
||
htmlBuilder: Rr,
|
||
mathmlBuilder: Ir,
|
||
});
|
||
B({
|
||
type: 'cr',
|
||
names: ['\\\\'],
|
||
props: { numArgs: 0, numOptionalArgs: 0, allowedInText: !0 },
|
||
handler(r, e, t) {
|
||
var { parser: a } = r,
|
||
n = a.gullet.future().text === '[' ? a.parseSizeGroup(!0) : null,
|
||
s =
|
||
!a.settings.displayMode || !a.settings.useStrictBehavior('newLineInDisplayMode', 'In LaTeX, \\\\ or \\newline does nothing in display mode');
|
||
return { type: 'cr', mode: a.mode, newLine: s, size: n && F(n, 'size').value };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = b.makeSpan(['mspace'], [], e);
|
||
return r.newLine && (t.classes.push('newline'), r.size && (t.style.marginTop = A(K(r.size, e)))), t;
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = new S.MathNode('mspace');
|
||
return r.newLine && (t.setAttribute('linebreak', 'newline'), r.size && t.setAttribute('height', A(K(r.size, e)))), t;
|
||
},
|
||
});
|
||
var ut = {
|
||
'\\global': '\\global',
|
||
'\\long': '\\\\globallong',
|
||
'\\\\globallong': '\\\\globallong',
|
||
'\\def': '\\gdef',
|
||
'\\gdef': '\\gdef',
|
||
'\\edef': '\\xdef',
|
||
'\\xdef': '\\xdef',
|
||
'\\let': '\\\\globallet',
|
||
'\\futurelet': '\\\\globalfuture',
|
||
},
|
||
Or = (r) => {
|
||
var e = r.text;
|
||
if (/^(?:[\\{}$&#^_]|EOF)$/.test(e)) throw new M('Expected a control sequence', r);
|
||
return e;
|
||
},
|
||
N1 = (r) => {
|
||
var e = r.gullet.popToken();
|
||
return e.text === '=' && ((e = r.gullet.popToken()), e.text === ' ' && (e = r.gullet.popToken())), e;
|
||
},
|
||
Hr = (r, e, t, a) => {
|
||
var n = r.gullet.macros.get(t.text);
|
||
n == null && ((t.noexpand = !0), (n = { tokens: [t], numArgs: 0, unexpandable: !r.gullet.isExpandable(t.text) })), r.gullet.macros.set(e, n, a);
|
||
};
|
||
B({
|
||
type: 'internal',
|
||
names: ['\\global', '\\long', '\\\\globallong'],
|
||
props: { numArgs: 0, allowedInText: !0 },
|
||
handler(r) {
|
||
var { parser: e, funcName: t } = r;
|
||
e.consumeSpaces();
|
||
var a = e.fetch();
|
||
if (ut[a.text]) return (t === '\\global' || t === '\\\\globallong') && (a.text = ut[a.text]), F(e.parseFunction(), 'internal');
|
||
throw new M('Invalid token after macro prefix', a);
|
||
},
|
||
});
|
||
B({
|
||
type: 'internal',
|
||
names: ['\\def', '\\gdef', '\\edef', '\\xdef'],
|
||
props: { numArgs: 0, allowedInText: !0, primitive: !0 },
|
||
handler(r) {
|
||
var { parser: e, funcName: t } = r,
|
||
a = e.gullet.popToken(),
|
||
n = a.text;
|
||
if (/^(?:[\\{}$&#^_]|EOF)$/.test(n)) throw new M('Expected a control sequence', a);
|
||
for (var s = 0, o, h = [[]]; e.gullet.future().text !== '{'; )
|
||
if (((a = e.gullet.popToken()), a.text === '#')) {
|
||
if (e.gullet.future().text === '{') {
|
||
(o = e.gullet.future()), h[s].push('{');
|
||
break;
|
||
}
|
||
if (((a = e.gullet.popToken()), !/^[1-9]$/.test(a.text))) throw new M('Invalid argument number "' + a.text + '"');
|
||
if (parseInt(a.text) !== s + 1) throw new M('Argument number "' + a.text + '" out of order');
|
||
s++, h.push([]);
|
||
} else {
|
||
if (a.text === 'EOF') throw new M('Expected a macro definition');
|
||
h[s].push(a.text);
|
||
}
|
||
var { tokens: c } = e.gullet.consumeArg();
|
||
return (
|
||
o && c.unshift(o),
|
||
(t === '\\edef' || t === '\\xdef') && ((c = e.gullet.expandTokens(c)), c.reverse()),
|
||
e.gullet.macros.set(n, { tokens: c, numArgs: s, delimiters: h }, t === ut[t]),
|
||
{ type: 'internal', mode: e.mode }
|
||
);
|
||
},
|
||
});
|
||
B({
|
||
type: 'internal',
|
||
names: ['\\let', '\\\\globallet'],
|
||
props: { numArgs: 0, allowedInText: !0, primitive: !0 },
|
||
handler(r) {
|
||
var { parser: e, funcName: t } = r,
|
||
a = Or(e.gullet.popToken());
|
||
e.gullet.consumeSpaces();
|
||
var n = N1(e);
|
||
return Hr(e, a, n, t === '\\\\globallet'), { type: 'internal', mode: e.mode };
|
||
},
|
||
});
|
||
B({
|
||
type: 'internal',
|
||
names: ['\\futurelet', '\\\\globalfuture'],
|
||
props: { numArgs: 0, allowedInText: !0, primitive: !0 },
|
||
handler(r) {
|
||
var { parser: e, funcName: t } = r,
|
||
a = Or(e.gullet.popToken()),
|
||
n = e.gullet.popToken(),
|
||
s = e.gullet.popToken();
|
||
return Hr(e, a, s, t === '\\\\globalfuture'), e.gullet.pushToken(s), e.gullet.pushToken(n), { type: 'internal', mode: e.mode };
|
||
},
|
||
});
|
||
var ne = function (e, t, a) {
|
||
var n = $.math[e] && $.math[e].replace,
|
||
s = ft(n || e, t, a);
|
||
if (!s) throw new Error('Unsupported symbol ' + e + ' and font size ' + t + '.');
|
||
return s;
|
||
},
|
||
wt = function (e, t, a, n) {
|
||
var s = a.havingBaseStyle(t),
|
||
o = b.makeSpan(n.concat(s.sizingClasses(a)), [e], a),
|
||
h = s.sizeMultiplier / a.sizeMultiplier;
|
||
return (o.height *= h), (o.depth *= h), (o.maxFontSize = s.sizeMultiplier), o;
|
||
},
|
||
Fr = function (e, t, a) {
|
||
var n = t.havingBaseStyle(a),
|
||
s = (1 - t.sizeMultiplier / n.sizeMultiplier) * t.fontMetrics().axisHeight;
|
||
e.classes.push('delimcenter'), (e.style.top = A(s)), (e.height -= s), (e.depth += s);
|
||
},
|
||
q1 = function (e, t, a, n, s, o) {
|
||
var h = b.makeSymbol(e, 'Main-Regular', s, n),
|
||
c = wt(h, t, n, o);
|
||
return a && Fr(c, n, t), c;
|
||
},
|
||
E1 = function (e, t, a, n) {
|
||
return b.makeSymbol(e, 'Size' + t + '-Regular', a, n);
|
||
},
|
||
Lr = function (e, t, a, n, s, o) {
|
||
var h = E1(e, t, s, n),
|
||
c = wt(b.makeSpan(['delimsizing', 'size' + t], [h], n), R.TEXT, n, o);
|
||
return a && Fr(c, n, R.TEXT), c;
|
||
},
|
||
je = function (e, t, a) {
|
||
var n;
|
||
t === 'Size1-Regular' ? (n = 'delim-size1') : (n = 'delim-size4');
|
||
var s = b.makeSpan(['delimsizinginner', n], [b.makeSpan([], [b.makeSymbol(e, t, a)])]);
|
||
return { type: 'elem', elem: s };
|
||
},
|
||
Ze = function (e, t, a) {
|
||
var n = x0['Size4-Regular'][e.charCodeAt(0)] ? x0['Size4-Regular'][e.charCodeAt(0)][4] : x0['Size1-Regular'][e.charCodeAt(0)][4],
|
||
s = new P0('inner', La(e, Math.round(1e3 * t))),
|
||
o = new D0([s], {
|
||
width: A(n),
|
||
height: A(t),
|
||
style: 'width:' + A(n),
|
||
viewBox: '0 0 ' + 1e3 * n + ' ' + Math.round(1e3 * t),
|
||
preserveAspectRatio: 'xMinYMin',
|
||
}),
|
||
h = b.makeSvgSpan([], [o], a);
|
||
return (h.height = t), (h.style.height = A(t)), (h.style.width = A(n)), { type: 'elem', elem: h };
|
||
},
|
||
ht = 0.008,
|
||
Se = { type: 'kern', size: -1 * ht },
|
||
R1 = ['|', '\\lvert', '\\rvert', '\\vert'],
|
||
I1 = ['\\|', '\\lVert', '\\rVert', '\\Vert'],
|
||
Pr = function (e, t, a, n, s, o) {
|
||
var h,
|
||
c,
|
||
p,
|
||
g,
|
||
y = '',
|
||
w = 0;
|
||
(h = p = g = e), (c = null);
|
||
var x = 'Size1-Regular';
|
||
e === '\\uparrow'
|
||
? (p = g = '⏐')
|
||
: e === '\\Uparrow'
|
||
? (p = g = '‖')
|
||
: e === '\\downarrow'
|
||
? (h = p = '⏐')
|
||
: e === '\\Downarrow'
|
||
? (h = p = '‖')
|
||
: e === '\\updownarrow'
|
||
? ((h = '\\uparrow'), (p = '⏐'), (g = '\\downarrow'))
|
||
: e === '\\Updownarrow'
|
||
? ((h = '\\Uparrow'), (p = '‖'), (g = '\\Downarrow'))
|
||
: q.contains(R1, e)
|
||
? ((p = '∣'), (y = 'vert'), (w = 333))
|
||
: q.contains(I1, e)
|
||
? ((p = '∥'), (y = 'doublevert'), (w = 556))
|
||
: e === '[' || e === '\\lbrack'
|
||
? ((h = '⎡'), (p = '⎢'), (g = '⎣'), (x = 'Size4-Regular'), (y = 'lbrack'), (w = 667))
|
||
: e === ']' || e === '\\rbrack'
|
||
? ((h = '⎤'), (p = '⎥'), (g = '⎦'), (x = 'Size4-Regular'), (y = 'rbrack'), (w = 667))
|
||
: e === '\\lfloor' || e === '⌊'
|
||
? ((p = h = '⎢'), (g = '⎣'), (x = 'Size4-Regular'), (y = 'lfloor'), (w = 667))
|
||
: e === '\\lceil' || e === '⌈'
|
||
? ((h = '⎡'), (p = g = '⎢'), (x = 'Size4-Regular'), (y = 'lceil'), (w = 667))
|
||
: e === '\\rfloor' || e === '⌋'
|
||
? ((p = h = '⎥'), (g = '⎦'), (x = 'Size4-Regular'), (y = 'rfloor'), (w = 667))
|
||
: e === '\\rceil' || e === '⌉'
|
||
? ((h = '⎤'), (p = g = '⎥'), (x = 'Size4-Regular'), (y = 'rceil'), (w = 667))
|
||
: e === '(' || e === '\\lparen'
|
||
? ((h = '⎛'), (p = '⎜'), (g = '⎝'), (x = 'Size4-Regular'), (y = 'lparen'), (w = 875))
|
||
: e === ')' || e === '\\rparen'
|
||
? ((h = '⎞'), (p = '⎟'), (g = '⎠'), (x = 'Size4-Regular'), (y = 'rparen'), (w = 875))
|
||
: e === '\\{' || e === '\\lbrace'
|
||
? ((h = '⎧'), (c = '⎨'), (g = '⎩'), (p = '⎪'), (x = 'Size4-Regular'))
|
||
: e === '\\}' || e === '\\rbrace'
|
||
? ((h = '⎫'), (c = '⎬'), (g = '⎭'), (p = '⎪'), (x = 'Size4-Regular'))
|
||
: e === '\\lgroup' || e === '⟮'
|
||
? ((h = '⎧'), (g = '⎩'), (p = '⎪'), (x = 'Size4-Regular'))
|
||
: e === '\\rgroup' || e === '⟯'
|
||
? ((h = '⎫'), (g = '⎭'), (p = '⎪'), (x = 'Size4-Regular'))
|
||
: e === '\\lmoustache' || e === '⎰'
|
||
? ((h = '⎧'), (g = '⎭'), (p = '⎪'), (x = 'Size4-Regular'))
|
||
: (e === '\\rmoustache' || e === '⎱') && ((h = '⎫'), (g = '⎩'), (p = '⎪'), (x = 'Size4-Regular'));
|
||
var z = ne(h, x, s),
|
||
T = z.height + z.depth,
|
||
C = ne(p, x, s),
|
||
N = C.height + C.depth,
|
||
O = ne(g, x, s),
|
||
H = O.height + O.depth,
|
||
V = 0,
|
||
L = 1;
|
||
if (c !== null) {
|
||
var U = ne(c, x, s);
|
||
(V = U.height + U.depth), (L = 2);
|
||
}
|
||
var G = T + H + V,
|
||
j = Math.max(0, Math.ceil((t - G) / (L * N))),
|
||
Y = G + j * L * N,
|
||
M0 = n.fontMetrics().axisHeight;
|
||
a && (M0 *= n.sizeMultiplier);
|
||
var r0 = Y / 2 - M0,
|
||
e0 = [];
|
||
if (y.length > 0) {
|
||
var U0 = Y - T - H,
|
||
s0 = Math.round(Y * 1e3),
|
||
g0 = Pa(y, Math.round(U0 * 1e3)),
|
||
E0 = new P0(y, g0),
|
||
W0 = (w / 1e3).toFixed(3) + 'em',
|
||
j0 = (s0 / 1e3).toFixed(3) + 'em',
|
||
Le = new D0([E0], { width: W0, height: j0, viewBox: '0 0 ' + w + ' ' + s0 }),
|
||
R0 = b.makeSvgSpan([], [Le], n);
|
||
(R0.height = s0 / 1e3), (R0.style.width = W0), (R0.style.height = j0), e0.push({ type: 'elem', elem: R0 });
|
||
} else {
|
||
if ((e0.push(je(g, x, s)), e0.push(Se), c === null)) {
|
||
var I0 = Y - T - H + 2 * ht;
|
||
e0.push(Ze(p, I0, n));
|
||
} else {
|
||
var m0 = (Y - T - H - V) / 2 + 2 * ht;
|
||
e0.push(Ze(p, m0, n)), e0.push(Se), e0.push(je(c, x, s)), e0.push(Se), e0.push(Ze(p, m0, n));
|
||
}
|
||
e0.push(Se), e0.push(je(h, x, s));
|
||
}
|
||
var ae = n.havingBaseStyle(R.TEXT),
|
||
Pe = b.makeVList({ positionType: 'bottom', positionData: r0, children: e0 }, ae);
|
||
return wt(b.makeSpan(['delimsizing', 'mult'], [Pe], ae), R.TEXT, n, o);
|
||
},
|
||
Ke = 80,
|
||
Je = 0.08,
|
||
Qe = function (e, t, a, n, s) {
|
||
var o = Fa(e, n, a),
|
||
h = new P0(e, o),
|
||
c = new D0([h], { width: '400em', height: A(t), viewBox: '0 0 400000 ' + a, preserveAspectRatio: 'xMinYMin slice' });
|
||
return b.makeSvgSpan(['hide-tail'], [c], s);
|
||
},
|
||
O1 = function (e, t) {
|
||
var a = t.havingBaseSizing(),
|
||
n = Yr('\\surd', e * a.sizeMultiplier, Ur, a),
|
||
s = a.sizeMultiplier,
|
||
o = Math.max(0, t.minRuleThickness - t.fontMetrics().sqrtRuleThickness),
|
||
h,
|
||
c = 0,
|
||
p = 0,
|
||
g = 0,
|
||
y;
|
||
return (
|
||
n.type === 'small'
|
||
? ((g = 1e3 + 1e3 * o + Ke),
|
||
e < 1 ? (s = 1) : e < 1.4 && (s = 0.7),
|
||
(c = (1 + o + Je) / s),
|
||
(p = (1 + o) / s),
|
||
(h = Qe('sqrtMain', c, g, o, t)),
|
||
(h.style.minWidth = '0.853em'),
|
||
(y = 0.833 / s))
|
||
: n.type === 'large'
|
||
? ((g = (1e3 + Ke) * se[n.size]),
|
||
(p = (se[n.size] + o) / s),
|
||
(c = (se[n.size] + o + Je) / s),
|
||
(h = Qe('sqrtSize' + n.size, c, g, o, t)),
|
||
(h.style.minWidth = '1.02em'),
|
||
(y = 1 / s))
|
||
: ((c = e + o + Je),
|
||
(p = e + o),
|
||
(g = Math.floor(1e3 * e + o) + Ke),
|
||
(h = Qe('sqrtTall', c, g, o, t)),
|
||
(h.style.minWidth = '0.742em'),
|
||
(y = 1.056)),
|
||
(h.height = p),
|
||
(h.style.height = A(c)),
|
||
{ span: h, advanceWidth: y, ruleWidth: (t.fontMetrics().sqrtRuleThickness + o) * s }
|
||
);
|
||
},
|
||
Gr = [
|
||
'(',
|
||
'\\lparen',
|
||
')',
|
||
'\\rparen',
|
||
'[',
|
||
'\\lbrack',
|
||
']',
|
||
'\\rbrack',
|
||
'\\{',
|
||
'\\lbrace',
|
||
'\\}',
|
||
'\\rbrace',
|
||
'\\lfloor',
|
||
'\\rfloor',
|
||
'⌊',
|
||
'⌋',
|
||
'\\lceil',
|
||
'\\rceil',
|
||
'⌈',
|
||
'⌉',
|
||
'\\surd',
|
||
],
|
||
H1 = [
|
||
'\\uparrow',
|
||
'\\downarrow',
|
||
'\\updownarrow',
|
||
'\\Uparrow',
|
||
'\\Downarrow',
|
||
'\\Updownarrow',
|
||
'|',
|
||
'\\|',
|
||
'\\vert',
|
||
'\\Vert',
|
||
'\\lvert',
|
||
'\\rvert',
|
||
'\\lVert',
|
||
'\\rVert',
|
||
'\\lgroup',
|
||
'\\rgroup',
|
||
'⟮',
|
||
'⟯',
|
||
'\\lmoustache',
|
||
'\\rmoustache',
|
||
'⎰',
|
||
'⎱',
|
||
],
|
||
Vr = ['<', '>', '\\langle', '\\rangle', '/', '\\backslash', '\\lt', '\\gt'],
|
||
se = [0, 1.2, 1.8, 2.4, 3],
|
||
F1 = function (e, t, a, n, s) {
|
||
if (
|
||
(e === '<' || e === '\\lt' || e === '⟨' ? (e = '\\langle') : (e === '>' || e === '\\gt' || e === '⟩') && (e = '\\rangle'),
|
||
q.contains(Gr, e) || q.contains(Vr, e))
|
||
)
|
||
return Lr(e, t, !1, a, n, s);
|
||
if (q.contains(H1, e)) return Pr(e, se[t], !1, a, n, s);
|
||
throw new M("Illegal delimiter: '" + e + "'");
|
||
},
|
||
L1 = [
|
||
{ type: 'small', style: R.SCRIPTSCRIPT },
|
||
{ type: 'small', style: R.SCRIPT },
|
||
{ type: 'small', style: R.TEXT },
|
||
{ type: 'large', size: 1 },
|
||
{ type: 'large', size: 2 },
|
||
{ type: 'large', size: 3 },
|
||
{ type: 'large', size: 4 },
|
||
],
|
||
P1 = [{ type: 'small', style: R.SCRIPTSCRIPT }, { type: 'small', style: R.SCRIPT }, { type: 'small', style: R.TEXT }, { type: 'stack' }],
|
||
Ur = [
|
||
{ type: 'small', style: R.SCRIPTSCRIPT },
|
||
{ type: 'small', style: R.SCRIPT },
|
||
{ type: 'small', style: R.TEXT },
|
||
{ type: 'large', size: 1 },
|
||
{ type: 'large', size: 2 },
|
||
{ type: 'large', size: 3 },
|
||
{ type: 'large', size: 4 },
|
||
{ type: 'stack' },
|
||
],
|
||
G1 = function (e) {
|
||
if (e.type === 'small') return 'Main-Regular';
|
||
if (e.type === 'large') return 'Size' + e.size + '-Regular';
|
||
if (e.type === 'stack') return 'Size4-Regular';
|
||
throw new Error("Add support for delim type '" + e.type + "' here.");
|
||
},
|
||
Yr = function (e, t, a, n) {
|
||
for (var s = Math.min(2, 3 - n.style.size), o = s; o < a.length && a[o].type !== 'stack'; o++) {
|
||
var h = ne(e, G1(a[o]), 'math'),
|
||
c = h.height + h.depth;
|
||
if (a[o].type === 'small') {
|
||
var p = n.havingBaseStyle(a[o].style);
|
||
c *= p.sizeMultiplier;
|
||
}
|
||
if (c > t) return a[o];
|
||
}
|
||
return a[a.length - 1];
|
||
},
|
||
Xr = function (e, t, a, n, s, o) {
|
||
e === '<' || e === '\\lt' || e === '⟨' ? (e = '\\langle') : (e === '>' || e === '\\gt' || e === '⟩') && (e = '\\rangle');
|
||
var h;
|
||
q.contains(Vr, e) ? (h = L1) : q.contains(Gr, e) ? (h = Ur) : (h = P1);
|
||
var c = Yr(e, t, h, n);
|
||
return c.type === 'small' ? q1(e, c.style, a, n, s, o) : c.type === 'large' ? Lr(e, c.size, a, n, s, o) : Pr(e, t, a, n, s, o);
|
||
},
|
||
V1 = function (e, t, a, n, s, o) {
|
||
var h = n.fontMetrics().axisHeight * n.sizeMultiplier,
|
||
c = 901,
|
||
p = 5 / n.fontMetrics().ptPerEm,
|
||
g = Math.max(t - h, a + h),
|
||
y = Math.max((g / 500) * c, 2 * g - p);
|
||
return Xr(e, y, !0, n, s, o);
|
||
},
|
||
B0 = { sqrtImage: O1, sizedDelim: F1, sizeToMaxHeight: se, customSizedDelim: Xr, leftRightDelim: V1 },
|
||
Zt = {
|
||
'\\bigl': { mclass: 'mopen', size: 1 },
|
||
'\\Bigl': { mclass: 'mopen', size: 2 },
|
||
'\\biggl': { mclass: 'mopen', size: 3 },
|
||
'\\Biggl': { mclass: 'mopen', size: 4 },
|
||
'\\bigr': { mclass: 'mclose', size: 1 },
|
||
'\\Bigr': { mclass: 'mclose', size: 2 },
|
||
'\\biggr': { mclass: 'mclose', size: 3 },
|
||
'\\Biggr': { mclass: 'mclose', size: 4 },
|
||
'\\bigm': { mclass: 'mrel', size: 1 },
|
||
'\\Bigm': { mclass: 'mrel', size: 2 },
|
||
'\\biggm': { mclass: 'mrel', size: 3 },
|
||
'\\Biggm': { mclass: 'mrel', size: 4 },
|
||
'\\big': { mclass: 'mord', size: 1 },
|
||
'\\Big': { mclass: 'mord', size: 2 },
|
||
'\\bigg': { mclass: 'mord', size: 3 },
|
||
'\\Bigg': { mclass: 'mord', size: 4 },
|
||
},
|
||
U1 = [
|
||
'(',
|
||
'\\lparen',
|
||
')',
|
||
'\\rparen',
|
||
'[',
|
||
'\\lbrack',
|
||
']',
|
||
'\\rbrack',
|
||
'\\{',
|
||
'\\lbrace',
|
||
'\\}',
|
||
'\\rbrace',
|
||
'\\lfloor',
|
||
'\\rfloor',
|
||
'⌊',
|
||
'⌋',
|
||
'\\lceil',
|
||
'\\rceil',
|
||
'⌈',
|
||
'⌉',
|
||
'<',
|
||
'>',
|
||
'\\langle',
|
||
'⟨',
|
||
'\\rangle',
|
||
'⟩',
|
||
'\\lt',
|
||
'\\gt',
|
||
'\\lvert',
|
||
'\\rvert',
|
||
'\\lVert',
|
||
'\\rVert',
|
||
'\\lgroup',
|
||
'\\rgroup',
|
||
'⟮',
|
||
'⟯',
|
||
'\\lmoustache',
|
||
'\\rmoustache',
|
||
'⎰',
|
||
'⎱',
|
||
'/',
|
||
'\\backslash',
|
||
'|',
|
||
'\\vert',
|
||
'\\|',
|
||
'\\Vert',
|
||
'\\uparrow',
|
||
'\\Uparrow',
|
||
'\\downarrow',
|
||
'\\Downarrow',
|
||
'\\updownarrow',
|
||
'\\Updownarrow',
|
||
'.',
|
||
];
|
||
function Oe(r, e) {
|
||
var t = Re(r);
|
||
if (t && q.contains(U1, t.text)) return t;
|
||
throw t ? new M("Invalid delimiter '" + t.text + "' after '" + e.funcName + "'", r) : new M("Invalid delimiter type '" + r.type + "'", r);
|
||
}
|
||
B({
|
||
type: 'delimsizing',
|
||
names: [
|
||
'\\bigl',
|
||
'\\Bigl',
|
||
'\\biggl',
|
||
'\\Biggl',
|
||
'\\bigr',
|
||
'\\Bigr',
|
||
'\\biggr',
|
||
'\\Biggr',
|
||
'\\bigm',
|
||
'\\Bigm',
|
||
'\\biggm',
|
||
'\\Biggm',
|
||
'\\big',
|
||
'\\Big',
|
||
'\\bigg',
|
||
'\\Bigg',
|
||
],
|
||
props: { numArgs: 1, argTypes: ['primitive'] },
|
||
handler: (r, e) => {
|
||
var t = Oe(e[0], r);
|
||
return { type: 'delimsizing', mode: r.parser.mode, size: Zt[r.funcName].size, mclass: Zt[r.funcName].mclass, delim: t.text };
|
||
},
|
||
htmlBuilder: (r, e) => (r.delim === '.' ? b.makeSpan([r.mclass]) : B0.sizedDelim(r.delim, r.size, e, r.mode, [r.mclass])),
|
||
mathmlBuilder: (r) => {
|
||
var e = [];
|
||
r.delim !== '.' && e.push(v0(r.delim, r.mode));
|
||
var t = new S.MathNode('mo', e);
|
||
r.mclass === 'mopen' || r.mclass === 'mclose' ? t.setAttribute('fence', 'true') : t.setAttribute('fence', 'false'),
|
||
t.setAttribute('stretchy', 'true');
|
||
var a = A(B0.sizeToMaxHeight[r.size]);
|
||
return t.setAttribute('minsize', a), t.setAttribute('maxsize', a), t;
|
||
},
|
||
});
|
||
function Kt(r) {
|
||
if (!r.body) throw new Error("Bug: The leftright ParseNode wasn't fully parsed.");
|
||
}
|
||
B({
|
||
type: 'leftright-right',
|
||
names: ['\\right'],
|
||
props: { numArgs: 1, primitive: !0 },
|
||
handler: (r, e) => {
|
||
var t = r.parser.gullet.macros.get('\\current@color');
|
||
if (t && typeof t != 'string') throw new M('\\current@color set to non-string in \\right');
|
||
return { type: 'leftright-right', mode: r.parser.mode, delim: Oe(e[0], r).text, color: t };
|
||
},
|
||
});
|
||
B({
|
||
type: 'leftright',
|
||
names: ['\\left'],
|
||
props: { numArgs: 1, primitive: !0 },
|
||
handler: (r, e) => {
|
||
var t = Oe(e[0], r),
|
||
a = r.parser;
|
||
++a.leftrightDepth;
|
||
var n = a.parseExpression(!1);
|
||
--a.leftrightDepth, a.expect('\\right', !1);
|
||
var s = F(a.parseFunction(), 'leftright-right');
|
||
return { type: 'leftright', mode: a.mode, body: n, left: t.text, right: s.delim, rightColor: s.color };
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
Kt(r);
|
||
for (var t = t0(r.body, e, !0, ['mopen', 'mclose']), a = 0, n = 0, s = !1, o = 0; o < t.length; o++)
|
||
t[o].isMiddle ? (s = !0) : ((a = Math.max(t[o].height, a)), (n = Math.max(t[o].depth, n)));
|
||
(a *= e.sizeMultiplier), (n *= e.sizeMultiplier);
|
||
var h;
|
||
if ((r.left === '.' ? (h = oe(e, ['mopen'])) : (h = B0.leftRightDelim(r.left, a, n, e, r.mode, ['mopen'])), t.unshift(h), s))
|
||
for (var c = 1; c < t.length; c++) {
|
||
var p = t[c],
|
||
g = p.isMiddle;
|
||
g && (t[c] = B0.leftRightDelim(g.delim, a, n, g.options, r.mode, []));
|
||
}
|
||
var y;
|
||
if (r.right === '.') y = oe(e, ['mclose']);
|
||
else {
|
||
var w = r.rightColor ? e.withColor(r.rightColor) : e;
|
||
y = B0.leftRightDelim(r.right, a, n, w, r.mode, ['mclose']);
|
||
}
|
||
return t.push(y), b.makeSpan(['minner'], t, e);
|
||
},
|
||
mathmlBuilder: (r, e) => {
|
||
Kt(r);
|
||
var t = o0(r.body, e);
|
||
if (r.left !== '.') {
|
||
var a = new S.MathNode('mo', [v0(r.left, r.mode)]);
|
||
a.setAttribute('fence', 'true'), t.unshift(a);
|
||
}
|
||
if (r.right !== '.') {
|
||
var n = new S.MathNode('mo', [v0(r.right, r.mode)]);
|
||
n.setAttribute('fence', 'true'), r.rightColor && n.setAttribute('mathcolor', r.rightColor), t.push(n);
|
||
}
|
||
return gt(t);
|
||
},
|
||
});
|
||
B({
|
||
type: 'middle',
|
||
names: ['\\middle'],
|
||
props: { numArgs: 1, primitive: !0 },
|
||
handler: (r, e) => {
|
||
var t = Oe(e[0], r);
|
||
if (!r.parser.leftrightDepth) throw new M('\\middle without preceding \\left', t);
|
||
return { type: 'middle', mode: r.parser.mode, delim: t.text };
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
var t;
|
||
if (r.delim === '.') t = oe(e, []);
|
||
else {
|
||
t = B0.sizedDelim(r.delim, 1, e, r.mode, []);
|
||
var a = { delim: r.delim, options: e };
|
||
t.isMiddle = a;
|
||
}
|
||
return t;
|
||
},
|
||
mathmlBuilder: (r, e) => {
|
||
var t = r.delim === '\\vert' || r.delim === '|' ? v0('|', 'text') : v0(r.delim, r.mode),
|
||
a = new S.MathNode('mo', [t]);
|
||
return a.setAttribute('fence', 'true'), a.setAttribute('lspace', '0.05em'), a.setAttribute('rspace', '0.05em'), a;
|
||
},
|
||
});
|
||
var kt = (r, e) => {
|
||
var t = b.wrapFragment(P(r.body, e), e),
|
||
a = r.label.slice(1),
|
||
n = e.sizeMultiplier,
|
||
s,
|
||
o = 0,
|
||
h = q.isCharacterBox(r.body);
|
||
if (a === 'sout')
|
||
(s = b.makeSpan(['stretchy', 'sout'])), (s.height = e.fontMetrics().defaultRuleThickness / n), (o = -0.5 * e.fontMetrics().xHeight);
|
||
else if (a === 'phase') {
|
||
var c = K({ number: 0.6, unit: 'pt' }, e),
|
||
p = K({ number: 0.35, unit: 'ex' }, e),
|
||
g = e.havingBaseSizing();
|
||
n = n / g.sizeMultiplier;
|
||
var y = t.height + t.depth + c + p;
|
||
t.style.paddingLeft = A(y / 2 + c);
|
||
var w = Math.floor(1e3 * y * n),
|
||
x = Oa(w),
|
||
z = new D0([new P0('phase', x)], { width: '400em', height: A(w / 1e3), viewBox: '0 0 400000 ' + w, preserveAspectRatio: 'xMinYMin slice' });
|
||
(s = b.makeSvgSpan(['hide-tail'], [z], e)), (s.style.height = A(y)), (o = t.depth + c + p);
|
||
} else {
|
||
/cancel/.test(a) ? h || t.classes.push('cancel-pad') : a === 'angl' ? t.classes.push('anglpad') : t.classes.push('boxpad');
|
||
var T = 0,
|
||
C = 0,
|
||
N = 0;
|
||
/box/.test(a)
|
||
? ((N = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness)), (T = e.fontMetrics().fboxsep + (a === 'colorbox' ? 0 : N)), (C = T))
|
||
: a === 'angl'
|
||
? ((N = Math.max(e.fontMetrics().defaultRuleThickness, e.minRuleThickness)), (T = 4 * N), (C = Math.max(0, 0.25 - t.depth)))
|
||
: ((T = h ? 0.2 : 0), (C = T)),
|
||
(s = N0.encloseSpan(t, a, T, C, e)),
|
||
/fbox|boxed|fcolorbox/.test(a)
|
||
? ((s.style.borderStyle = 'solid'), (s.style.borderWidth = A(N)))
|
||
: a === 'angl' && N !== 0.049 && ((s.style.borderTopWidth = A(N)), (s.style.borderRightWidth = A(N))),
|
||
(o = t.depth + C),
|
||
r.backgroundColor && ((s.style.backgroundColor = r.backgroundColor), r.borderColor && (s.style.borderColor = r.borderColor));
|
||
}
|
||
var O;
|
||
if (r.backgroundColor)
|
||
O = b.makeVList(
|
||
{
|
||
positionType: 'individualShift',
|
||
children: [
|
||
{ type: 'elem', elem: s, shift: o },
|
||
{ type: 'elem', elem: t, shift: 0 },
|
||
],
|
||
},
|
||
e
|
||
);
|
||
else {
|
||
var H = /cancel|phase/.test(a) ? ['svg-align'] : [];
|
||
O = b.makeVList(
|
||
{
|
||
positionType: 'individualShift',
|
||
children: [
|
||
{ type: 'elem', elem: t, shift: 0 },
|
||
{ type: 'elem', elem: s, shift: o, wrapperClasses: H },
|
||
],
|
||
},
|
||
e
|
||
);
|
||
}
|
||
return (
|
||
/cancel/.test(a) && ((O.height = t.height), (O.depth = t.depth)),
|
||
/cancel/.test(a) && !h ? b.makeSpan(['mord', 'cancel-lap'], [O], e) : b.makeSpan(['mord'], [O], e)
|
||
);
|
||
},
|
||
St = (r, e) => {
|
||
var t = 0,
|
||
a = new S.MathNode(r.label.indexOf('colorbox') > -1 ? 'mpadded' : 'menclose', [X(r.body, e)]);
|
||
switch (r.label) {
|
||
case '\\cancel':
|
||
a.setAttribute('notation', 'updiagonalstrike');
|
||
break;
|
||
case '\\bcancel':
|
||
a.setAttribute('notation', 'downdiagonalstrike');
|
||
break;
|
||
case '\\phase':
|
||
a.setAttribute('notation', 'phasorangle');
|
||
break;
|
||
case '\\sout':
|
||
a.setAttribute('notation', 'horizontalstrike');
|
||
break;
|
||
case '\\fbox':
|
||
a.setAttribute('notation', 'box');
|
||
break;
|
||
case '\\angl':
|
||
a.setAttribute('notation', 'actuarial');
|
||
break;
|
||
case '\\fcolorbox':
|
||
case '\\colorbox':
|
||
if (
|
||
((t = e.fontMetrics().fboxsep * e.fontMetrics().ptPerEm),
|
||
a.setAttribute('width', '+' + 2 * t + 'pt'),
|
||
a.setAttribute('height', '+' + 2 * t + 'pt'),
|
||
a.setAttribute('lspace', t + 'pt'),
|
||
a.setAttribute('voffset', t + 'pt'),
|
||
r.label === '\\fcolorbox')
|
||
) {
|
||
var n = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness);
|
||
a.setAttribute('style', 'border: ' + n + 'em solid ' + String(r.borderColor));
|
||
}
|
||
break;
|
||
case '\\xcancel':
|
||
a.setAttribute('notation', 'updiagonalstrike downdiagonalstrike');
|
||
break;
|
||
}
|
||
return r.backgroundColor && a.setAttribute('mathbackground', r.backgroundColor), a;
|
||
};
|
||
B({
|
||
type: 'enclose',
|
||
names: ['\\colorbox'],
|
||
props: { numArgs: 2, allowedInText: !0, argTypes: ['color', 'text'] },
|
||
handler(r, e, t) {
|
||
var { parser: a, funcName: n } = r,
|
||
s = F(e[0], 'color-token').color,
|
||
o = e[1];
|
||
return { type: 'enclose', mode: a.mode, label: n, backgroundColor: s, body: o };
|
||
},
|
||
htmlBuilder: kt,
|
||
mathmlBuilder: St,
|
||
});
|
||
B({
|
||
type: 'enclose',
|
||
names: ['\\fcolorbox'],
|
||
props: { numArgs: 3, allowedInText: !0, argTypes: ['color', 'color', 'text'] },
|
||
handler(r, e, t) {
|
||
var { parser: a, funcName: n } = r,
|
||
s = F(e[0], 'color-token').color,
|
||
o = F(e[1], 'color-token').color,
|
||
h = e[2];
|
||
return { type: 'enclose', mode: a.mode, label: n, backgroundColor: o, borderColor: s, body: h };
|
||
},
|
||
htmlBuilder: kt,
|
||
mathmlBuilder: St,
|
||
});
|
||
B({
|
||
type: 'enclose',
|
||
names: ['\\fbox'],
|
||
props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !0 },
|
||
handler(r, e) {
|
||
var { parser: t } = r;
|
||
return { type: 'enclose', mode: t.mode, label: '\\fbox', body: e[0] };
|
||
},
|
||
});
|
||
B({
|
||
type: 'enclose',
|
||
names: ['\\cancel', '\\bcancel', '\\xcancel', '\\sout', '\\phase'],
|
||
props: { numArgs: 1 },
|
||
handler(r, e) {
|
||
var { parser: t, funcName: a } = r,
|
||
n = e[0];
|
||
return { type: 'enclose', mode: t.mode, label: a, body: n };
|
||
},
|
||
htmlBuilder: kt,
|
||
mathmlBuilder: St,
|
||
});
|
||
B({
|
||
type: 'enclose',
|
||
names: ['\\angl'],
|
||
props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !1 },
|
||
handler(r, e) {
|
||
var { parser: t } = r;
|
||
return { type: 'enclose', mode: t.mode, label: '\\angl', body: e[0] };
|
||
},
|
||
});
|
||
var $r = {};
|
||
function w0(r) {
|
||
for (
|
||
var { type: e, names: t, props: a, handler: n, htmlBuilder: s, mathmlBuilder: o } = r,
|
||
h = { type: e, numArgs: a.numArgs || 0, allowedInText: !1, numOptionalArgs: 0, handler: n },
|
||
c = 0;
|
||
c < t.length;
|
||
++c
|
||
)
|
||
$r[t[c]] = h;
|
||
s && (De[e] = s), o && (Ce[e] = o);
|
||
}
|
||
var Wr = {};
|
||
function m(r, e) {
|
||
Wr[r] = e;
|
||
}
|
||
function Jt(r) {
|
||
var e = [];
|
||
r.consumeSpaces();
|
||
var t = r.fetch().text;
|
||
for (t === '\\relax' && (r.consume(), r.consumeSpaces(), (t = r.fetch().text)); t === '\\hline' || t === '\\hdashline'; )
|
||
r.consume(), e.push(t === '\\hdashline'), r.consumeSpaces(), (t = r.fetch().text);
|
||
return e;
|
||
}
|
||
var He = (r) => {
|
||
var e = r.parser.settings;
|
||
if (!e.displayMode) throw new M('{' + r.envName + '} can be used only in display mode.');
|
||
};
|
||
function Mt(r) {
|
||
if (r.indexOf('ed') === -1) return r.indexOf('*') === -1;
|
||
}
|
||
function V0(r, e, t) {
|
||
var {
|
||
hskipBeforeAndAfter: a,
|
||
addJot: n,
|
||
cols: s,
|
||
arraystretch: o,
|
||
colSeparationType: h,
|
||
autoTag: c,
|
||
singleRow: p,
|
||
emptySingleRow: g,
|
||
maxNumCols: y,
|
||
leqno: w,
|
||
} = e;
|
||
if ((r.gullet.beginGroup(), p || r.gullet.macros.set('\\cr', '\\\\\\relax'), !o)) {
|
||
var x = r.gullet.expandMacroAsText('\\arraystretch');
|
||
if (x == null) o = 1;
|
||
else if (((o = parseFloat(x)), !o || o < 0)) throw new M('Invalid \\arraystretch: ' + x);
|
||
}
|
||
r.gullet.beginGroup();
|
||
var z = [],
|
||
T = [z],
|
||
C = [],
|
||
N = [],
|
||
O = c != null ? [] : void 0;
|
||
function H() {
|
||
c && r.gullet.macros.set('\\@eqnsw', '1', !0);
|
||
}
|
||
function V() {
|
||
O &&
|
||
(r.gullet.macros.get('\\df@tag')
|
||
? (O.push(r.subparse([new f0('\\df@tag')])), r.gullet.macros.set('\\df@tag', void 0, !0))
|
||
: O.push(!!c && r.gullet.macros.get('\\@eqnsw') === '1'));
|
||
}
|
||
for (H(), N.push(Jt(r)); ; ) {
|
||
var L = r.parseExpression(!1, p ? '\\end' : '\\\\');
|
||
r.gullet.endGroup(),
|
||
r.gullet.beginGroup(),
|
||
(L = { type: 'ordgroup', mode: r.mode, body: L }),
|
||
t && (L = { type: 'styling', mode: r.mode, style: t, body: [L] }),
|
||
z.push(L);
|
||
var U = r.fetch().text;
|
||
if (U === '&') {
|
||
if (y && z.length === y) {
|
||
if (p || h) throw new M('Too many tab characters: &', r.nextToken);
|
||
r.settings.reportNonstrict('textEnv', 'Too few columns specified in the {array} column argument.');
|
||
}
|
||
r.consume();
|
||
} else if (U === '\\end') {
|
||
V(),
|
||
z.length === 1 && L.type === 'styling' && L.body[0].body.length === 0 && (T.length > 1 || !g) && T.pop(),
|
||
N.length < T.length + 1 && N.push([]);
|
||
break;
|
||
} else if (U === '\\\\') {
|
||
r.consume();
|
||
var G = void 0;
|
||
r.gullet.future().text !== ' ' && (G = r.parseSizeGroup(!0)), C.push(G ? G.value : null), V(), N.push(Jt(r)), (z = []), T.push(z), H();
|
||
} else throw new M('Expected & or \\\\ or \\cr or \\end', r.nextToken);
|
||
}
|
||
return (
|
||
r.gullet.endGroup(),
|
||
r.gullet.endGroup(),
|
||
{
|
||
type: 'array',
|
||
mode: r.mode,
|
||
addJot: n,
|
||
arraystretch: o,
|
||
body: T,
|
||
cols: s,
|
||
rowGaps: C,
|
||
hskipBeforeAndAfter: a,
|
||
hLinesBeforeRow: N,
|
||
colSeparationType: h,
|
||
tags: O,
|
||
leqno: w,
|
||
}
|
||
);
|
||
}
|
||
function zt(r) {
|
||
return r.slice(0, 1) === 'd' ? 'display' : 'text';
|
||
}
|
||
var k0 = function (e, t) {
|
||
var a,
|
||
n,
|
||
s = e.body.length,
|
||
o = e.hLinesBeforeRow,
|
||
h = 0,
|
||
c = new Array(s),
|
||
p = [],
|
||
g = Math.max(t.fontMetrics().arrayRuleWidth, t.minRuleThickness),
|
||
y = 1 / t.fontMetrics().ptPerEm,
|
||
w = 5 * y;
|
||
if (e.colSeparationType && e.colSeparationType === 'small') {
|
||
var x = t.havingStyle(R.SCRIPT).sizeMultiplier;
|
||
w = 0.2778 * (x / t.sizeMultiplier);
|
||
}
|
||
var z = e.colSeparationType === 'CD' ? K({ number: 3, unit: 'ex' }, t) : 12 * y,
|
||
T = 3 * y,
|
||
C = e.arraystretch * z,
|
||
N = 0.7 * C,
|
||
O = 0.3 * C,
|
||
H = 0;
|
||
function V(fe) {
|
||
for (var pe = 0; pe < fe.length; ++pe) pe > 0 && (H += 0.25), p.push({ pos: H, isDashed: fe[pe] });
|
||
}
|
||
for (V(o[0]), a = 0; a < e.body.length; ++a) {
|
||
var L = e.body[a],
|
||
U = N,
|
||
G = O;
|
||
h < L.length && (h = L.length);
|
||
var j = new Array(L.length);
|
||
for (n = 0; n < L.length; ++n) {
|
||
var Y = P(L[n], t);
|
||
G < Y.depth && (G = Y.depth), U < Y.height && (U = Y.height), (j[n] = Y);
|
||
}
|
||
var M0 = e.rowGaps[a],
|
||
r0 = 0;
|
||
M0 && ((r0 = K(M0, t)), r0 > 0 && ((r0 += O), G < r0 && (G = r0), (r0 = 0))),
|
||
e.addJot && (G += T),
|
||
(j.height = U),
|
||
(j.depth = G),
|
||
(H += U),
|
||
(j.pos = H),
|
||
(H += G + r0),
|
||
(c[a] = j),
|
||
V(o[a + 1]);
|
||
}
|
||
var e0 = H / 2 + t.fontMetrics().axisHeight,
|
||
U0 = e.cols || [],
|
||
s0 = [],
|
||
g0,
|
||
E0,
|
||
W0 = [];
|
||
if (e.tags && e.tags.some((fe) => fe))
|
||
for (a = 0; a < s; ++a) {
|
||
var j0 = c[a],
|
||
Le = j0.pos - e0,
|
||
R0 = e.tags[a],
|
||
I0 = void 0;
|
||
R0 === !0 ? (I0 = b.makeSpan(['eqn-num'], [], t)) : R0 === !1 ? (I0 = b.makeSpan([], [], t)) : (I0 = b.makeSpan([], t0(R0, t, !0), t)),
|
||
(I0.depth = j0.depth),
|
||
(I0.height = j0.height),
|
||
W0.push({ type: 'elem', elem: I0, shift: Le });
|
||
}
|
||
for (n = 0, E0 = 0; n < h || E0 < U0.length; ++n, ++E0) {
|
||
for (var m0 = U0[E0] || {}, ae = !0; m0.type === 'separator'; ) {
|
||
if (
|
||
(ae || ((g0 = b.makeSpan(['arraycolsep'], [])), (g0.style.width = A(t.fontMetrics().doubleRuleSep)), s0.push(g0)),
|
||
m0.separator === '|' || m0.separator === ':')
|
||
) {
|
||
var Pe = m0.separator === '|' ? 'solid' : 'dashed',
|
||
Z0 = b.makeSpan(['vertical-separator'], [], t);
|
||
(Z0.style.height = A(H)), (Z0.style.borderRightWidth = A(g)), (Z0.style.borderRightStyle = Pe), (Z0.style.margin = '0 ' + A(-g / 2));
|
||
var qt = H - e0;
|
||
qt && (Z0.style.verticalAlign = A(-qt)), s0.push(Z0);
|
||
} else throw new M('Invalid separator type: ' + m0.separator);
|
||
E0++, (m0 = U0[E0] || {}), (ae = !1);
|
||
}
|
||
if (!(n >= h)) {
|
||
var K0 = void 0;
|
||
(n > 0 || e.hskipBeforeAndAfter) &&
|
||
((K0 = q.deflt(m0.pregap, w)), K0 !== 0 && ((g0 = b.makeSpan(['arraycolsep'], [])), (g0.style.width = A(K0)), s0.push(g0)));
|
||
var J0 = [];
|
||
for (a = 0; a < s; ++a) {
|
||
var ce = c[a],
|
||
de = ce[n];
|
||
if (de) {
|
||
var ha = ce.pos - e0;
|
||
(de.depth = ce.depth), (de.height = ce.height), J0.push({ type: 'elem', elem: de, shift: ha });
|
||
}
|
||
}
|
||
(J0 = b.makeVList({ positionType: 'individualShift', children: J0 }, t)),
|
||
(J0 = b.makeSpan(['col-align-' + (m0.align || 'c')], [J0])),
|
||
s0.push(J0),
|
||
(n < h - 1 || e.hskipBeforeAndAfter) &&
|
||
((K0 = q.deflt(m0.postgap, w)), K0 !== 0 && ((g0 = b.makeSpan(['arraycolsep'], [])), (g0.style.width = A(K0)), s0.push(g0)));
|
||
}
|
||
}
|
||
if (((c = b.makeSpan(['mtable'], s0)), p.length > 0)) {
|
||
for (
|
||
var ma = b.makeLineSpan('hline', t, g), ca = b.makeLineSpan('hdashline', t, g), Ge = [{ type: 'elem', elem: c, shift: 0 }];
|
||
p.length > 0;
|
||
|
||
) {
|
||
var Et = p.pop(),
|
||
Rt = Et.pos - e0;
|
||
Et.isDashed ? Ge.push({ type: 'elem', elem: ca, shift: Rt }) : Ge.push({ type: 'elem', elem: ma, shift: Rt });
|
||
}
|
||
c = b.makeVList({ positionType: 'individualShift', children: Ge }, t);
|
||
}
|
||
if (W0.length === 0) return b.makeSpan(['mord'], [c], t);
|
||
var Ve = b.makeVList({ positionType: 'individualShift', children: W0 }, t);
|
||
return (Ve = b.makeSpan(['tag'], [Ve], t)), b.makeFragment([c, Ve]);
|
||
},
|
||
Y1 = { c: 'center ', l: 'left ', r: 'right ' },
|
||
S0 = function (e, t) {
|
||
for (var a = [], n = new S.MathNode('mtd', [], ['mtr-glue']), s = new S.MathNode('mtd', [], ['mml-eqn-num']), o = 0; o < e.body.length; o++) {
|
||
for (var h = e.body[o], c = [], p = 0; p < h.length; p++) c.push(new S.MathNode('mtd', [X(h[p], t)]));
|
||
e.tags && e.tags[o] && (c.unshift(n), c.push(n), e.leqno ? c.unshift(s) : c.push(s)), a.push(new S.MathNode('mtr', c));
|
||
}
|
||
var g = new S.MathNode('mtable', a),
|
||
y = e.arraystretch === 0.5 ? 0.1 : 0.16 + e.arraystretch - 1 + (e.addJot ? 0.09 : 0);
|
||
g.setAttribute('rowspacing', A(y));
|
||
var w = '',
|
||
x = '';
|
||
if (e.cols && e.cols.length > 0) {
|
||
var z = e.cols,
|
||
T = '',
|
||
C = !1,
|
||
N = 0,
|
||
O = z.length;
|
||
z[0].type === 'separator' && ((w += 'top '), (N = 1)), z[z.length - 1].type === 'separator' && ((w += 'bottom '), (O -= 1));
|
||
for (var H = N; H < O; H++)
|
||
z[H].type === 'align'
|
||
? ((x += Y1[z[H].align]), C && (T += 'none '), (C = !0))
|
||
: z[H].type === 'separator' && C && ((T += z[H].separator === '|' ? 'solid ' : 'dashed '), (C = !1));
|
||
g.setAttribute('columnalign', x.trim()), /[sd]/.test(T) && g.setAttribute('columnlines', T.trim());
|
||
}
|
||
if (e.colSeparationType === 'align') {
|
||
for (var V = e.cols || [], L = '', U = 1; U < V.length; U++) L += U % 2 ? '0em ' : '1em ';
|
||
g.setAttribute('columnspacing', L.trim());
|
||
} else
|
||
e.colSeparationType === 'alignat' || e.colSeparationType === 'gather'
|
||
? g.setAttribute('columnspacing', '0em')
|
||
: e.colSeparationType === 'small'
|
||
? g.setAttribute('columnspacing', '0.2778em')
|
||
: e.colSeparationType === 'CD'
|
||
? g.setAttribute('columnspacing', '0.5em')
|
||
: g.setAttribute('columnspacing', '1em');
|
||
var G = '',
|
||
j = e.hLinesBeforeRow;
|
||
(w += j[0].length > 0 ? 'left ' : ''), (w += j[j.length - 1].length > 0 ? 'right ' : '');
|
||
for (var Y = 1; Y < j.length - 1; Y++) G += j[Y].length === 0 ? 'none ' : j[Y][0] ? 'dashed ' : 'solid ';
|
||
return (
|
||
/[sd]/.test(G) && g.setAttribute('rowlines', G.trim()),
|
||
w !== '' && ((g = new S.MathNode('menclose', [g])), g.setAttribute('notation', w.trim())),
|
||
e.arraystretch && e.arraystretch < 1 && ((g = new S.MathNode('mstyle', [g])), g.setAttribute('scriptlevel', '1')),
|
||
g
|
||
);
|
||
},
|
||
jr = function (e, t) {
|
||
e.envName.indexOf('ed') === -1 && He(e);
|
||
var a = [],
|
||
n = e.envName.indexOf('at') > -1 ? 'alignat' : 'align',
|
||
s = e.envName === 'split',
|
||
o = V0(
|
||
e.parser,
|
||
{
|
||
cols: a,
|
||
addJot: !0,
|
||
autoTag: s ? void 0 : Mt(e.envName),
|
||
emptySingleRow: !0,
|
||
colSeparationType: n,
|
||
maxNumCols: s ? 2 : void 0,
|
||
leqno: e.parser.settings.leqno,
|
||
},
|
||
'display'
|
||
),
|
||
h,
|
||
c = 0,
|
||
p = { type: 'ordgroup', mode: e.mode, body: [] };
|
||
if (t[0] && t[0].type === 'ordgroup') {
|
||
for (var g = '', y = 0; y < t[0].body.length; y++) {
|
||
var w = F(t[0].body[y], 'textord');
|
||
g += w.text;
|
||
}
|
||
(h = Number(g)), (c = h * 2);
|
||
}
|
||
var x = !c;
|
||
o.body.forEach(function (N) {
|
||
for (var O = 1; O < N.length; O += 2) {
|
||
var H = F(N[O], 'styling'),
|
||
V = F(H.body[0], 'ordgroup');
|
||
V.body.unshift(p);
|
||
}
|
||
if (x) c < N.length && (c = N.length);
|
||
else {
|
||
var L = N.length / 2;
|
||
if (h < L) throw new M('Too many math in a row: ' + ('expected ' + h + ', but got ' + L), N[0]);
|
||
}
|
||
});
|
||
for (var z = 0; z < c; ++z) {
|
||
var T = 'r',
|
||
C = 0;
|
||
z % 2 === 1 ? (T = 'l') : z > 0 && x && (C = 1), (a[z] = { type: 'align', align: T, pregap: C, postgap: 0 });
|
||
}
|
||
return (o.colSeparationType = x ? 'align' : 'alignat'), o;
|
||
};
|
||
w0({
|
||
type: 'array',
|
||
names: ['array', 'darray'],
|
||
props: { numArgs: 1 },
|
||
handler(r, e) {
|
||
var t = Re(e[0]),
|
||
a = t ? [e[0]] : F(e[0], 'ordgroup').body,
|
||
n = a.map(function (o) {
|
||
var h = yt(o),
|
||
c = h.text;
|
||
if ('lcr'.indexOf(c) !== -1) return { type: 'align', align: c };
|
||
if (c === '|') return { type: 'separator', separator: '|' };
|
||
if (c === ':') return { type: 'separator', separator: ':' };
|
||
throw new M('Unknown column alignment: ' + c, o);
|
||
}),
|
||
s = { cols: n, hskipBeforeAndAfter: !0, maxNumCols: n.length };
|
||
return V0(r.parser, s, zt(r.envName));
|
||
},
|
||
htmlBuilder: k0,
|
||
mathmlBuilder: S0,
|
||
});
|
||
w0({
|
||
type: 'array',
|
||
names: ['matrix', 'pmatrix', 'bmatrix', 'Bmatrix', 'vmatrix', 'Vmatrix', 'matrix*', 'pmatrix*', 'bmatrix*', 'Bmatrix*', 'vmatrix*', 'Vmatrix*'],
|
||
props: { numArgs: 0 },
|
||
handler(r) {
|
||
var e = { matrix: null, pmatrix: ['(', ')'], bmatrix: ['[', ']'], Bmatrix: ['\\{', '\\}'], vmatrix: ['|', '|'], Vmatrix: ['\\Vert', '\\Vert'] }[
|
||
r.envName.replace('*', '')
|
||
],
|
||
t = 'c',
|
||
a = { hskipBeforeAndAfter: !1, cols: [{ type: 'align', align: t }] };
|
||
if (r.envName.charAt(r.envName.length - 1) === '*') {
|
||
var n = r.parser;
|
||
if ((n.consumeSpaces(), n.fetch().text === '[')) {
|
||
if ((n.consume(), n.consumeSpaces(), (t = n.fetch().text), 'lcr'.indexOf(t) === -1)) throw new M('Expected l or c or r', n.nextToken);
|
||
n.consume(), n.consumeSpaces(), n.expect(']'), n.consume(), (a.cols = [{ type: 'align', align: t }]);
|
||
}
|
||
}
|
||
var s = V0(r.parser, a, zt(r.envName)),
|
||
o = Math.max(0, ...s.body.map((h) => h.length));
|
||
return (
|
||
(s.cols = new Array(o).fill({ type: 'align', align: t })),
|
||
e ? { type: 'leftright', mode: r.mode, body: [s], left: e[0], right: e[1], rightColor: void 0 } : s
|
||
);
|
||
},
|
||
htmlBuilder: k0,
|
||
mathmlBuilder: S0,
|
||
});
|
||
w0({
|
||
type: 'array',
|
||
names: ['smallmatrix'],
|
||
props: { numArgs: 0 },
|
||
handler(r) {
|
||
var e = { arraystretch: 0.5 },
|
||
t = V0(r.parser, e, 'script');
|
||
return (t.colSeparationType = 'small'), t;
|
||
},
|
||
htmlBuilder: k0,
|
||
mathmlBuilder: S0,
|
||
});
|
||
w0({
|
||
type: 'array',
|
||
names: ['subarray'],
|
||
props: { numArgs: 1 },
|
||
handler(r, e) {
|
||
var t = Re(e[0]),
|
||
a = t ? [e[0]] : F(e[0], 'ordgroup').body,
|
||
n = a.map(function (o) {
|
||
var h = yt(o),
|
||
c = h.text;
|
||
if ('lc'.indexOf(c) !== -1) return { type: 'align', align: c };
|
||
throw new M('Unknown column alignment: ' + c, o);
|
||
});
|
||
if (n.length > 1) throw new M('{subarray} can contain only one column');
|
||
var s = { cols: n, hskipBeforeAndAfter: !1, arraystretch: 0.5 };
|
||
if (((s = V0(r.parser, s, 'script')), s.body.length > 0 && s.body[0].length > 1)) throw new M('{subarray} can contain only one column');
|
||
return s;
|
||
},
|
||
htmlBuilder: k0,
|
||
mathmlBuilder: S0,
|
||
});
|
||
w0({
|
||
type: 'array',
|
||
names: ['cases', 'dcases', 'rcases', 'drcases'],
|
||
props: { numArgs: 0 },
|
||
handler(r) {
|
||
var e = {
|
||
arraystretch: 1.2,
|
||
cols: [
|
||
{ type: 'align', align: 'l', pregap: 0, postgap: 1 },
|
||
{ type: 'align', align: 'l', pregap: 0, postgap: 0 },
|
||
],
|
||
},
|
||
t = V0(r.parser, e, zt(r.envName));
|
||
return {
|
||
type: 'leftright',
|
||
mode: r.mode,
|
||
body: [t],
|
||
left: r.envName.indexOf('r') > -1 ? '.' : '\\{',
|
||
right: r.envName.indexOf('r') > -1 ? '\\}' : '.',
|
||
rightColor: void 0,
|
||
};
|
||
},
|
||
htmlBuilder: k0,
|
||
mathmlBuilder: S0,
|
||
});
|
||
w0({ type: 'array', names: ['align', 'align*', 'aligned', 'split'], props: { numArgs: 0 }, handler: jr, htmlBuilder: k0, mathmlBuilder: S0 });
|
||
w0({
|
||
type: 'array',
|
||
names: ['gathered', 'gather', 'gather*'],
|
||
props: { numArgs: 0 },
|
||
handler(r) {
|
||
q.contains(['gather', 'gather*'], r.envName) && He(r);
|
||
var e = {
|
||
cols: [{ type: 'align', align: 'c' }],
|
||
addJot: !0,
|
||
colSeparationType: 'gather',
|
||
autoTag: Mt(r.envName),
|
||
emptySingleRow: !0,
|
||
leqno: r.parser.settings.leqno,
|
||
};
|
||
return V0(r.parser, e, 'display');
|
||
},
|
||
htmlBuilder: k0,
|
||
mathmlBuilder: S0,
|
||
});
|
||
w0({ type: 'array', names: ['alignat', 'alignat*', 'alignedat'], props: { numArgs: 1 }, handler: jr, htmlBuilder: k0, mathmlBuilder: S0 });
|
||
w0({
|
||
type: 'array',
|
||
names: ['equation', 'equation*'],
|
||
props: { numArgs: 0 },
|
||
handler(r) {
|
||
He(r);
|
||
var e = { autoTag: Mt(r.envName), emptySingleRow: !0, singleRow: !0, maxNumCols: 1, leqno: r.parser.settings.leqno };
|
||
return V0(r.parser, e, 'display');
|
||
},
|
||
htmlBuilder: k0,
|
||
mathmlBuilder: S0,
|
||
});
|
||
w0({
|
||
type: 'array',
|
||
names: ['CD'],
|
||
props: { numArgs: 0 },
|
||
handler(r) {
|
||
return He(r), C1(r.parser);
|
||
},
|
||
htmlBuilder: k0,
|
||
mathmlBuilder: S0,
|
||
});
|
||
m('\\nonumber', '\\gdef\\@eqnsw{0}');
|
||
m('\\notag', '\\nonumber');
|
||
B({
|
||
type: 'text',
|
||
names: ['\\hline', '\\hdashline'],
|
||
props: { numArgs: 0, allowedInText: !0, allowedInMath: !0 },
|
||
handler(r, e) {
|
||
throw new M(r.funcName + ' valid only within array environment');
|
||
},
|
||
});
|
||
var Qt = $r;
|
||
B({
|
||
type: 'environment',
|
||
names: ['\\begin', '\\end'],
|
||
props: { numArgs: 1, argTypes: ['text'] },
|
||
handler(r, e) {
|
||
var { parser: t, funcName: a } = r,
|
||
n = e[0];
|
||
if (n.type !== 'ordgroup') throw new M('Invalid environment name', n);
|
||
for (var s = '', o = 0; o < n.body.length; ++o) s += F(n.body[o], 'textord').text;
|
||
if (a === '\\begin') {
|
||
if (!Qt.hasOwnProperty(s)) throw new M('No such environment: ' + s, n);
|
||
var h = Qt[s],
|
||
{ args: c, optArgs: p } = t.parseArguments('\\begin{' + s + '}', h),
|
||
g = { mode: t.mode, envName: s, parser: t },
|
||
y = h.handler(g, c, p);
|
||
t.expect('\\end', !1);
|
||
var w = t.nextToken,
|
||
x = F(t.parseFunction(), 'environment');
|
||
if (x.name !== s) throw new M('Mismatch: \\begin{' + s + '} matched by \\end{' + x.name + '}', w);
|
||
return y;
|
||
}
|
||
return { type: 'environment', mode: t.mode, name: s, nameGroup: n };
|
||
},
|
||
});
|
||
var Zr = (r, e) => {
|
||
var t = r.font,
|
||
a = e.withFont(t);
|
||
return P(r.body, a);
|
||
},
|
||
Kr = (r, e) => {
|
||
var t = r.font,
|
||
a = e.withFont(t);
|
||
return X(r.body, a);
|
||
},
|
||
_t = { '\\Bbb': '\\mathbb', '\\bold': '\\mathbf', '\\frak': '\\mathfrak', '\\bm': '\\boldsymbol' };
|
||
B({
|
||
type: 'font',
|
||
names: [
|
||
'\\mathrm',
|
||
'\\mathit',
|
||
'\\mathbf',
|
||
'\\mathnormal',
|
||
'\\mathbb',
|
||
'\\mathcal',
|
||
'\\mathfrak',
|
||
'\\mathscr',
|
||
'\\mathsf',
|
||
'\\mathtt',
|
||
'\\Bbb',
|
||
'\\bold',
|
||
'\\frak',
|
||
],
|
||
props: { numArgs: 1, allowedInArgument: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t, funcName: a } = r,
|
||
n = Ne(e[0]),
|
||
s = a;
|
||
return s in _t && (s = _t[s]), { type: 'font', mode: t.mode, font: s.slice(1), body: n };
|
||
},
|
||
htmlBuilder: Zr,
|
||
mathmlBuilder: Kr,
|
||
});
|
||
B({
|
||
type: 'mclass',
|
||
names: ['\\boldsymbol', '\\bm'],
|
||
props: { numArgs: 1 },
|
||
handler: (r, e) => {
|
||
var { parser: t } = r,
|
||
a = e[0],
|
||
n = q.isCharacterBox(a);
|
||
return { type: 'mclass', mode: t.mode, mclass: Ie(a), body: [{ type: 'font', mode: t.mode, font: 'boldsymbol', body: a }], isCharacterBox: n };
|
||
},
|
||
});
|
||
B({
|
||
type: 'font',
|
||
names: ['\\rm', '\\sf', '\\tt', '\\bf', '\\it', '\\cal'],
|
||
props: { numArgs: 0, allowedInText: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t, funcName: a, breakOnTokenText: n } = r,
|
||
{ mode: s } = t,
|
||
o = t.parseExpression(!0, n),
|
||
h = 'math' + a.slice(1);
|
||
return { type: 'font', mode: s, font: h, body: { type: 'ordgroup', mode: t.mode, body: o } };
|
||
},
|
||
htmlBuilder: Zr,
|
||
mathmlBuilder: Kr,
|
||
});
|
||
var Jr = (r, e) => {
|
||
var t = e;
|
||
return (
|
||
r === 'display'
|
||
? (t = t.id >= R.SCRIPT.id ? t.text() : R.DISPLAY)
|
||
: r === 'text' && t.size === R.DISPLAY.size
|
||
? (t = R.TEXT)
|
||
: r === 'script'
|
||
? (t = R.SCRIPT)
|
||
: r === 'scriptscript' && (t = R.SCRIPTSCRIPT),
|
||
t
|
||
);
|
||
},
|
||
At = (r, e) => {
|
||
var t = Jr(r.size, e.style),
|
||
a = t.fracNum(),
|
||
n = t.fracDen(),
|
||
s;
|
||
s = e.havingStyle(a);
|
||
var o = P(r.numer, s, e);
|
||
if (r.continued) {
|
||
var h = 8.5 / e.fontMetrics().ptPerEm,
|
||
c = 3.5 / e.fontMetrics().ptPerEm;
|
||
(o.height = o.height < h ? h : o.height), (o.depth = o.depth < c ? c : o.depth);
|
||
}
|
||
s = e.havingStyle(n);
|
||
var p = P(r.denom, s, e),
|
||
g,
|
||
y,
|
||
w;
|
||
r.hasBarLine
|
||
? (r.barSize ? ((y = K(r.barSize, e)), (g = b.makeLineSpan('frac-line', e, y))) : (g = b.makeLineSpan('frac-line', e)),
|
||
(y = g.height),
|
||
(w = g.height))
|
||
: ((g = null), (y = 0), (w = e.fontMetrics().defaultRuleThickness));
|
||
var x, z, T;
|
||
t.size === R.DISPLAY.size || r.size === 'display'
|
||
? ((x = e.fontMetrics().num1), y > 0 ? (z = 3 * w) : (z = 7 * w), (T = e.fontMetrics().denom1))
|
||
: (y > 0 ? ((x = e.fontMetrics().num2), (z = w)) : ((x = e.fontMetrics().num3), (z = 3 * w)), (T = e.fontMetrics().denom2));
|
||
var C;
|
||
if (g) {
|
||
var O = e.fontMetrics().axisHeight;
|
||
x - o.depth - (O + 0.5 * y) < z && (x += z - (x - o.depth - (O + 0.5 * y))),
|
||
O - 0.5 * y - (p.height - T) < z && (T += z - (O - 0.5 * y - (p.height - T)));
|
||
var H = -(O - 0.5 * y);
|
||
C = b.makeVList(
|
||
{
|
||
positionType: 'individualShift',
|
||
children: [
|
||
{ type: 'elem', elem: p, shift: T },
|
||
{ type: 'elem', elem: g, shift: H },
|
||
{ type: 'elem', elem: o, shift: -x },
|
||
],
|
||
},
|
||
e
|
||
);
|
||
} else {
|
||
var N = x - o.depth - (p.height - T);
|
||
N < z && ((x += 0.5 * (z - N)), (T += 0.5 * (z - N))),
|
||
(C = b.makeVList(
|
||
{
|
||
positionType: 'individualShift',
|
||
children: [
|
||
{ type: 'elem', elem: p, shift: T },
|
||
{ type: 'elem', elem: o, shift: -x },
|
||
],
|
||
},
|
||
e
|
||
));
|
||
}
|
||
(s = e.havingStyle(t)), (C.height *= s.sizeMultiplier / e.sizeMultiplier), (C.depth *= s.sizeMultiplier / e.sizeMultiplier);
|
||
var V;
|
||
t.size === R.DISPLAY.size
|
||
? (V = e.fontMetrics().delim1)
|
||
: t.size === R.SCRIPTSCRIPT.size
|
||
? (V = e.havingStyle(R.SCRIPT).fontMetrics().delim2)
|
||
: (V = e.fontMetrics().delim2);
|
||
var L, U;
|
||
return (
|
||
r.leftDelim == null ? (L = oe(e, ['mopen'])) : (L = B0.customSizedDelim(r.leftDelim, V, !0, e.havingStyle(t), r.mode, ['mopen'])),
|
||
r.continued
|
||
? (U = b.makeSpan([]))
|
||
: r.rightDelim == null
|
||
? (U = oe(e, ['mclose']))
|
||
: (U = B0.customSizedDelim(r.rightDelim, V, !0, e.havingStyle(t), r.mode, ['mclose'])),
|
||
b.makeSpan(['mord'].concat(s.sizingClasses(e)), [L, b.makeSpan(['mfrac'], [C]), U], e)
|
||
);
|
||
},
|
||
Tt = (r, e) => {
|
||
var t = new S.MathNode('mfrac', [X(r.numer, e), X(r.denom, e)]);
|
||
if (!r.hasBarLine) t.setAttribute('linethickness', '0px');
|
||
else if (r.barSize) {
|
||
var a = K(r.barSize, e);
|
||
t.setAttribute('linethickness', A(a));
|
||
}
|
||
var n = Jr(r.size, e.style);
|
||
if (n.size !== e.style.size) {
|
||
t = new S.MathNode('mstyle', [t]);
|
||
var s = n.size === R.DISPLAY.size ? 'true' : 'false';
|
||
t.setAttribute('displaystyle', s), t.setAttribute('scriptlevel', '0');
|
||
}
|
||
if (r.leftDelim != null || r.rightDelim != null) {
|
||
var o = [];
|
||
if (r.leftDelim != null) {
|
||
var h = new S.MathNode('mo', [new S.TextNode(r.leftDelim.replace('\\', ''))]);
|
||
h.setAttribute('fence', 'true'), o.push(h);
|
||
}
|
||
if ((o.push(t), r.rightDelim != null)) {
|
||
var c = new S.MathNode('mo', [new S.TextNode(r.rightDelim.replace('\\', ''))]);
|
||
c.setAttribute('fence', 'true'), o.push(c);
|
||
}
|
||
return gt(o);
|
||
}
|
||
return t;
|
||
};
|
||
B({
|
||
type: 'genfrac',
|
||
names: ['\\dfrac', '\\frac', '\\tfrac', '\\dbinom', '\\binom', '\\tbinom', '\\\\atopfrac', '\\\\bracefrac', '\\\\brackfrac'],
|
||
props: { numArgs: 2, allowedInArgument: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t, funcName: a } = r,
|
||
n = e[0],
|
||
s = e[1],
|
||
o,
|
||
h = null,
|
||
c = null,
|
||
p = 'auto';
|
||
switch (a) {
|
||
case '\\dfrac':
|
||
case '\\frac':
|
||
case '\\tfrac':
|
||
o = !0;
|
||
break;
|
||
case '\\\\atopfrac':
|
||
o = !1;
|
||
break;
|
||
case '\\dbinom':
|
||
case '\\binom':
|
||
case '\\tbinom':
|
||
(o = !1), (h = '('), (c = ')');
|
||
break;
|
||
case '\\\\bracefrac':
|
||
(o = !1), (h = '\\{'), (c = '\\}');
|
||
break;
|
||
case '\\\\brackfrac':
|
||
(o = !1), (h = '['), (c = ']');
|
||
break;
|
||
default:
|
||
throw new Error('Unrecognized genfrac command');
|
||
}
|
||
switch (a) {
|
||
case '\\dfrac':
|
||
case '\\dbinom':
|
||
p = 'display';
|
||
break;
|
||
case '\\tfrac':
|
||
case '\\tbinom':
|
||
p = 'text';
|
||
break;
|
||
}
|
||
return { type: 'genfrac', mode: t.mode, continued: !1, numer: n, denom: s, hasBarLine: o, leftDelim: h, rightDelim: c, size: p, barSize: null };
|
||
},
|
||
htmlBuilder: At,
|
||
mathmlBuilder: Tt,
|
||
});
|
||
B({
|
||
type: 'genfrac',
|
||
names: ['\\cfrac'],
|
||
props: { numArgs: 2 },
|
||
handler: (r, e) => {
|
||
var { parser: t, funcName: a } = r,
|
||
n = e[0],
|
||
s = e[1];
|
||
return {
|
||
type: 'genfrac',
|
||
mode: t.mode,
|
||
continued: !0,
|
||
numer: n,
|
||
denom: s,
|
||
hasBarLine: !0,
|
||
leftDelim: null,
|
||
rightDelim: null,
|
||
size: 'display',
|
||
barSize: null,
|
||
};
|
||
},
|
||
});
|
||
B({
|
||
type: 'infix',
|
||
names: ['\\over', '\\choose', '\\atop', '\\brace', '\\brack'],
|
||
props: { numArgs: 0, infix: !0 },
|
||
handler(r) {
|
||
var { parser: e, funcName: t, token: a } = r,
|
||
n;
|
||
switch (t) {
|
||
case '\\over':
|
||
n = '\\frac';
|
||
break;
|
||
case '\\choose':
|
||
n = '\\binom';
|
||
break;
|
||
case '\\atop':
|
||
n = '\\\\atopfrac';
|
||
break;
|
||
case '\\brace':
|
||
n = '\\\\bracefrac';
|
||
break;
|
||
case '\\brack':
|
||
n = '\\\\brackfrac';
|
||
break;
|
||
default:
|
||
throw new Error('Unrecognized infix genfrac command');
|
||
}
|
||
return { type: 'infix', mode: e.mode, replaceWith: n, token: a };
|
||
},
|
||
});
|
||
var er = ['display', 'text', 'script', 'scriptscript'],
|
||
tr = function (e) {
|
||
var t = null;
|
||
return e.length > 0 && ((t = e), (t = t === '.' ? null : t)), t;
|
||
};
|
||
B({
|
||
type: 'genfrac',
|
||
names: ['\\genfrac'],
|
||
props: { numArgs: 6, allowedInArgument: !0, argTypes: ['math', 'math', 'size', 'text', 'math', 'math'] },
|
||
handler(r, e) {
|
||
var { parser: t } = r,
|
||
a = e[4],
|
||
n = e[5],
|
||
s = Ne(e[0]),
|
||
o = s.type === 'atom' && s.family === 'open' ? tr(s.text) : null,
|
||
h = Ne(e[1]),
|
||
c = h.type === 'atom' && h.family === 'close' ? tr(h.text) : null,
|
||
p = F(e[2], 'size'),
|
||
g,
|
||
y = null;
|
||
p.isBlank ? (g = !0) : ((y = p.value), (g = y.number > 0));
|
||
var w = 'auto',
|
||
x = e[3];
|
||
if (x.type === 'ordgroup') {
|
||
if (x.body.length > 0) {
|
||
var z = F(x.body[0], 'textord');
|
||
w = er[Number(z.text)];
|
||
}
|
||
} else (x = F(x, 'textord')), (w = er[Number(x.text)]);
|
||
return { type: 'genfrac', mode: t.mode, numer: a, denom: n, continued: !1, hasBarLine: g, barSize: y, leftDelim: o, rightDelim: c, size: w };
|
||
},
|
||
htmlBuilder: At,
|
||
mathmlBuilder: Tt,
|
||
});
|
||
B({
|
||
type: 'infix',
|
||
names: ['\\above'],
|
||
props: { numArgs: 1, argTypes: ['size'], infix: !0 },
|
||
handler(r, e) {
|
||
var { parser: t, funcName: a, token: n } = r;
|
||
return { type: 'infix', mode: t.mode, replaceWith: '\\\\abovefrac', size: F(e[0], 'size').value, token: n };
|
||
},
|
||
});
|
||
B({
|
||
type: 'genfrac',
|
||
names: ['\\\\abovefrac'],
|
||
props: { numArgs: 3, argTypes: ['math', 'size', 'math'] },
|
||
handler: (r, e) => {
|
||
var { parser: t, funcName: a } = r,
|
||
n = e[0],
|
||
s = wa(F(e[1], 'infix').size),
|
||
o = e[2],
|
||
h = s.number > 0;
|
||
return {
|
||
type: 'genfrac',
|
||
mode: t.mode,
|
||
numer: n,
|
||
denom: o,
|
||
continued: !1,
|
||
hasBarLine: h,
|
||
barSize: s,
|
||
leftDelim: null,
|
||
rightDelim: null,
|
||
size: 'auto',
|
||
};
|
||
},
|
||
htmlBuilder: At,
|
||
mathmlBuilder: Tt,
|
||
});
|
||
var Qr = (r, e) => {
|
||
var t = e.style,
|
||
a,
|
||
n;
|
||
r.type === 'supsub'
|
||
? ((a = r.sup ? P(r.sup, e.havingStyle(t.sup()), e) : P(r.sub, e.havingStyle(t.sub()), e)), (n = F(r.base, 'horizBrace')))
|
||
: (n = F(r, 'horizBrace'));
|
||
var s = P(n.base, e.havingBaseStyle(R.DISPLAY)),
|
||
o = N0.svgSpan(n, e),
|
||
h;
|
||
if (
|
||
(n.isOver
|
||
? ((h = b.makeVList(
|
||
{
|
||
positionType: 'firstBaseline',
|
||
children: [
|
||
{ type: 'elem', elem: s },
|
||
{ type: 'kern', size: 0.1 },
|
||
{ type: 'elem', elem: o },
|
||
],
|
||
},
|
||
e
|
||
)),
|
||
h.children[0].children[0].children[1].classes.push('svg-align'))
|
||
: ((h = b.makeVList(
|
||
{
|
||
positionType: 'bottom',
|
||
positionData: s.depth + 0.1 + o.height,
|
||
children: [
|
||
{ type: 'elem', elem: o },
|
||
{ type: 'kern', size: 0.1 },
|
||
{ type: 'elem', elem: s },
|
||
],
|
||
},
|
||
e
|
||
)),
|
||
h.children[0].children[0].children[0].classes.push('svg-align')),
|
||
a)
|
||
) {
|
||
var c = b.makeSpan(['mord', n.isOver ? 'mover' : 'munder'], [h], e);
|
||
n.isOver
|
||
? (h = b.makeVList(
|
||
{
|
||
positionType: 'firstBaseline',
|
||
children: [
|
||
{ type: 'elem', elem: c },
|
||
{ type: 'kern', size: 0.2 },
|
||
{ type: 'elem', elem: a },
|
||
],
|
||
},
|
||
e
|
||
))
|
||
: (h = b.makeVList(
|
||
{
|
||
positionType: 'bottom',
|
||
positionData: c.depth + 0.2 + a.height + a.depth,
|
||
children: [
|
||
{ type: 'elem', elem: a },
|
||
{ type: 'kern', size: 0.2 },
|
||
{ type: 'elem', elem: c },
|
||
],
|
||
},
|
||
e
|
||
));
|
||
}
|
||
return b.makeSpan(['mord', n.isOver ? 'mover' : 'munder'], [h], e);
|
||
},
|
||
X1 = (r, e) => {
|
||
var t = N0.mathMLnode(r.label);
|
||
return new S.MathNode(r.isOver ? 'mover' : 'munder', [X(r.base, e), t]);
|
||
};
|
||
B({
|
||
type: 'horizBrace',
|
||
names: ['\\overbrace', '\\underbrace'],
|
||
props: { numArgs: 1 },
|
||
handler(r, e) {
|
||
var { parser: t, funcName: a } = r;
|
||
return { type: 'horizBrace', mode: t.mode, label: a, isOver: /^\\over/.test(a), base: e[0] };
|
||
},
|
||
htmlBuilder: Qr,
|
||
mathmlBuilder: X1,
|
||
});
|
||
B({
|
||
type: 'href',
|
||
names: ['\\href'],
|
||
props: { numArgs: 2, argTypes: ['url', 'original'], allowedInText: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t } = r,
|
||
a = e[1],
|
||
n = F(e[0], 'url').url;
|
||
return t.settings.isTrusted({ command: '\\href', url: n })
|
||
? { type: 'href', mode: t.mode, href: n, body: Q(a) }
|
||
: t.formatUnsupportedCmd('\\href');
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
var t = t0(r.body, e, !1);
|
||
return b.makeAnchor(r.href, [], t, e);
|
||
},
|
||
mathmlBuilder: (r, e) => {
|
||
var t = G0(r.body, e);
|
||
return t instanceof c0 || (t = new c0('mrow', [t])), t.setAttribute('href', r.href), t;
|
||
},
|
||
});
|
||
B({
|
||
type: 'href',
|
||
names: ['\\url'],
|
||
props: { numArgs: 1, argTypes: ['url'], allowedInText: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t } = r,
|
||
a = F(e[0], 'url').url;
|
||
if (!t.settings.isTrusted({ command: '\\url', url: a })) return t.formatUnsupportedCmd('\\url');
|
||
for (var n = [], s = 0; s < a.length; s++) {
|
||
var o = a[s];
|
||
o === '~' && (o = '\\textasciitilde'), n.push({ type: 'textord', mode: 'text', text: o });
|
||
}
|
||
var h = { type: 'text', mode: t.mode, font: '\\texttt', body: n };
|
||
return { type: 'href', mode: t.mode, href: a, body: Q(h) };
|
||
},
|
||
});
|
||
B({
|
||
type: 'hbox',
|
||
names: ['\\hbox'],
|
||
props: { numArgs: 1, argTypes: ['text'], allowedInText: !0, primitive: !0 },
|
||
handler(r, e) {
|
||
var { parser: t } = r;
|
||
return { type: 'hbox', mode: t.mode, body: Q(e[0]) };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = t0(r.body, e, !1);
|
||
return b.makeFragment(t);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
return new S.MathNode('mrow', o0(r.body, e));
|
||
},
|
||
});
|
||
B({
|
||
type: 'html',
|
||
names: ['\\htmlClass', '\\htmlId', '\\htmlStyle', '\\htmlData'],
|
||
props: { numArgs: 2, argTypes: ['raw', 'original'], allowedInText: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t, funcName: a, token: n } = r,
|
||
s = F(e[0], 'raw').string,
|
||
o = e[1];
|
||
t.settings.strict && t.settings.reportNonstrict('htmlExtension', 'HTML extension is disabled on strict mode');
|
||
var h,
|
||
c = {};
|
||
switch (a) {
|
||
case '\\htmlClass':
|
||
(c.class = s), (h = { command: '\\htmlClass', class: s });
|
||
break;
|
||
case '\\htmlId':
|
||
(c.id = s), (h = { command: '\\htmlId', id: s });
|
||
break;
|
||
case '\\htmlStyle':
|
||
(c.style = s), (h = { command: '\\htmlStyle', style: s });
|
||
break;
|
||
case '\\htmlData': {
|
||
for (var p = s.split(','), g = 0; g < p.length; g++) {
|
||
var y = p[g].split('=');
|
||
if (y.length !== 2) throw new M('Error parsing key-value for \\htmlData');
|
||
c['data-' + y[0].trim()] = y[1].trim();
|
||
}
|
||
h = { command: '\\htmlData', attributes: c };
|
||
break;
|
||
}
|
||
default:
|
||
throw new Error('Unrecognized html command');
|
||
}
|
||
return t.settings.isTrusted(h) ? { type: 'html', mode: t.mode, attributes: c, body: Q(o) } : t.formatUnsupportedCmd(a);
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
var t = t0(r.body, e, !1),
|
||
a = ['enclosing'];
|
||
r.attributes.class && a.push(...r.attributes.class.trim().split(/\s+/));
|
||
var n = b.makeSpan(a, t, e);
|
||
for (var s in r.attributes) s !== 'class' && r.attributes.hasOwnProperty(s) && n.setAttribute(s, r.attributes[s]);
|
||
return n;
|
||
},
|
||
mathmlBuilder: (r, e) => G0(r.body, e),
|
||
});
|
||
B({
|
||
type: 'htmlmathml',
|
||
names: ['\\html@mathml'],
|
||
props: { numArgs: 2, allowedInText: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t } = r;
|
||
return { type: 'htmlmathml', mode: t.mode, html: Q(e[0]), mathml: Q(e[1]) };
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
var t = t0(r.html, e, !1);
|
||
return b.makeFragment(t);
|
||
},
|
||
mathmlBuilder: (r, e) => G0(r.mathml, e),
|
||
});
|
||
var _e = function (e) {
|
||
if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e)) return { number: +e, unit: 'bp' };
|
||
var t = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);
|
||
if (!t) throw new M("Invalid size: '" + e + "' in \\includegraphics");
|
||
var a = { number: +(t[1] + t[2]), unit: t[3] };
|
||
if (!gr(a)) throw new M("Invalid unit: '" + a.unit + "' in \\includegraphics.");
|
||
return a;
|
||
};
|
||
B({
|
||
type: 'includegraphics',
|
||
names: ['\\includegraphics'],
|
||
props: { numArgs: 1, numOptionalArgs: 1, argTypes: ['raw', 'url'], allowedInText: !1 },
|
||
handler: (r, e, t) => {
|
||
var { parser: a } = r,
|
||
n = { number: 0, unit: 'em' },
|
||
s = { number: 0.9, unit: 'em' },
|
||
o = { number: 0, unit: 'em' },
|
||
h = '';
|
||
if (t[0])
|
||
for (var c = F(t[0], 'raw').string, p = c.split(','), g = 0; g < p.length; g++) {
|
||
var y = p[g].split('=');
|
||
if (y.length === 2) {
|
||
var w = y[1].trim();
|
||
switch (y[0].trim()) {
|
||
case 'alt':
|
||
h = w;
|
||
break;
|
||
case 'width':
|
||
n = _e(w);
|
||
break;
|
||
case 'height':
|
||
s = _e(w);
|
||
break;
|
||
case 'totalheight':
|
||
o = _e(w);
|
||
break;
|
||
default:
|
||
throw new M("Invalid key: '" + y[0] + "' in \\includegraphics.");
|
||
}
|
||
}
|
||
}
|
||
var x = F(e[0], 'url').url;
|
||
return (
|
||
h === '' && ((h = x), (h = h.replace(/^.*[\\/]/, '')), (h = h.substring(0, h.lastIndexOf('.')))),
|
||
a.settings.isTrusted({ command: '\\includegraphics', url: x })
|
||
? { type: 'includegraphics', mode: a.mode, alt: h, width: n, height: s, totalheight: o, src: x }
|
||
: a.formatUnsupportedCmd('\\includegraphics')
|
||
);
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
var t = K(r.height, e),
|
||
a = 0;
|
||
r.totalheight.number > 0 && (a = K(r.totalheight, e) - t);
|
||
var n = 0;
|
||
r.width.number > 0 && (n = K(r.width, e));
|
||
var s = { height: A(t + a) };
|
||
n > 0 && (s.width = A(n)), a > 0 && (s.verticalAlign = A(-a));
|
||
var o = new Xa(r.src, r.alt, s);
|
||
return (o.height = t), (o.depth = a), o;
|
||
},
|
||
mathmlBuilder: (r, e) => {
|
||
var t = new S.MathNode('mglyph', []);
|
||
t.setAttribute('alt', r.alt);
|
||
var a = K(r.height, e),
|
||
n = 0;
|
||
if (
|
||
(r.totalheight.number > 0 && ((n = K(r.totalheight, e) - a), t.setAttribute('valign', A(-n))),
|
||
t.setAttribute('height', A(a + n)),
|
||
r.width.number > 0)
|
||
) {
|
||
var s = K(r.width, e);
|
||
t.setAttribute('width', A(s));
|
||
}
|
||
return t.setAttribute('src', r.src), t;
|
||
},
|
||
});
|
||
B({
|
||
type: 'kern',
|
||
names: ['\\kern', '\\mkern', '\\hskip', '\\mskip'],
|
||
props: { numArgs: 1, argTypes: ['size'], primitive: !0, allowedInText: !0 },
|
||
handler(r, e) {
|
||
var { parser: t, funcName: a } = r,
|
||
n = F(e[0], 'size');
|
||
if (t.settings.strict) {
|
||
var s = a[1] === 'm',
|
||
o = n.value.unit === 'mu';
|
||
s
|
||
? (o || t.settings.reportNonstrict('mathVsTextUnits', "LaTeX's " + a + ' supports only mu units, ' + ('not ' + n.value.unit + ' units')),
|
||
t.mode !== 'math' && t.settings.reportNonstrict('mathVsTextUnits', "LaTeX's " + a + ' works only in math mode'))
|
||
: o && t.settings.reportNonstrict('mathVsTextUnits', "LaTeX's " + a + " doesn't support mu units");
|
||
}
|
||
return { type: 'kern', mode: t.mode, dimension: n.value };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
return b.makeGlue(r.dimension, e);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = K(r.dimension, e);
|
||
return new S.SpaceNode(t);
|
||
},
|
||
});
|
||
B({
|
||
type: 'lap',
|
||
names: ['\\mathllap', '\\mathrlap', '\\mathclap'],
|
||
props: { numArgs: 1, allowedInText: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t, funcName: a } = r,
|
||
n = e[0];
|
||
return { type: 'lap', mode: t.mode, alignment: a.slice(5), body: n };
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
var t;
|
||
r.alignment === 'clap'
|
||
? ((t = b.makeSpan([], [P(r.body, e)])), (t = b.makeSpan(['inner'], [t], e)))
|
||
: (t = b.makeSpan(['inner'], [P(r.body, e)]));
|
||
var a = b.makeSpan(['fix'], []),
|
||
n = b.makeSpan([r.alignment], [t, a], e),
|
||
s = b.makeSpan(['strut']);
|
||
return (
|
||
(s.style.height = A(n.height + n.depth)),
|
||
n.depth && (s.style.verticalAlign = A(-n.depth)),
|
||
n.children.unshift(s),
|
||
(n = b.makeSpan(['thinbox'], [n], e)),
|
||
b.makeSpan(['mord', 'vbox'], [n], e)
|
||
);
|
||
},
|
||
mathmlBuilder: (r, e) => {
|
||
var t = new S.MathNode('mpadded', [X(r.body, e)]);
|
||
if (r.alignment !== 'rlap') {
|
||
var a = r.alignment === 'llap' ? '-1' : '-0.5';
|
||
t.setAttribute('lspace', a + 'width');
|
||
}
|
||
return t.setAttribute('width', '0px'), t;
|
||
},
|
||
});
|
||
B({
|
||
type: 'styling',
|
||
names: ['\\(', '$'],
|
||
props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
|
||
handler(r, e) {
|
||
var { funcName: t, parser: a } = r,
|
||
n = a.mode;
|
||
a.switchMode('math');
|
||
var s = t === '\\(' ? '\\)' : '$',
|
||
o = a.parseExpression(!1, s);
|
||
return a.expect(s), a.switchMode(n), { type: 'styling', mode: a.mode, style: 'text', body: o };
|
||
},
|
||
});
|
||
B({
|
||
type: 'text',
|
||
names: ['\\)', '\\]'],
|
||
props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
|
||
handler(r, e) {
|
||
throw new M('Mismatched ' + r.funcName);
|
||
},
|
||
});
|
||
var rr = (r, e) => {
|
||
switch (e.style.size) {
|
||
case R.DISPLAY.size:
|
||
return r.display;
|
||
case R.TEXT.size:
|
||
return r.text;
|
||
case R.SCRIPT.size:
|
||
return r.script;
|
||
case R.SCRIPTSCRIPT.size:
|
||
return r.scriptscript;
|
||
default:
|
||
return r.text;
|
||
}
|
||
};
|
||
B({
|
||
type: 'mathchoice',
|
||
names: ['\\mathchoice'],
|
||
props: { numArgs: 4, primitive: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t } = r;
|
||
return { type: 'mathchoice', mode: t.mode, display: Q(e[0]), text: Q(e[1]), script: Q(e[2]), scriptscript: Q(e[3]) };
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
var t = rr(r, e),
|
||
a = t0(t, e, !1);
|
||
return b.makeFragment(a);
|
||
},
|
||
mathmlBuilder: (r, e) => {
|
||
var t = rr(r, e);
|
||
return G0(t, e);
|
||
},
|
||
});
|
||
var _r = (r, e, t, a, n, s, o) => {
|
||
r = b.makeSpan([], [r]);
|
||
var h = t && q.isCharacterBox(t),
|
||
c,
|
||
p;
|
||
if (e) {
|
||
var g = P(e, a.havingStyle(n.sup()), a);
|
||
p = { elem: g, kern: Math.max(a.fontMetrics().bigOpSpacing1, a.fontMetrics().bigOpSpacing3 - g.depth) };
|
||
}
|
||
if (t) {
|
||
var y = P(t, a.havingStyle(n.sub()), a);
|
||
c = { elem: y, kern: Math.max(a.fontMetrics().bigOpSpacing2, a.fontMetrics().bigOpSpacing4 - y.height) };
|
||
}
|
||
var w;
|
||
if (p && c) {
|
||
var x = a.fontMetrics().bigOpSpacing5 + c.elem.height + c.elem.depth + c.kern + r.depth + o;
|
||
w = b.makeVList(
|
||
{
|
||
positionType: 'bottom',
|
||
positionData: x,
|
||
children: [
|
||
{ type: 'kern', size: a.fontMetrics().bigOpSpacing5 },
|
||
{ type: 'elem', elem: c.elem, marginLeft: A(-s) },
|
||
{ type: 'kern', size: c.kern },
|
||
{ type: 'elem', elem: r },
|
||
{ type: 'kern', size: p.kern },
|
||
{ type: 'elem', elem: p.elem, marginLeft: A(s) },
|
||
{ type: 'kern', size: a.fontMetrics().bigOpSpacing5 },
|
||
],
|
||
},
|
||
a
|
||
);
|
||
} else if (c) {
|
||
var z = r.height - o;
|
||
w = b.makeVList(
|
||
{
|
||
positionType: 'top',
|
||
positionData: z,
|
||
children: [
|
||
{ type: 'kern', size: a.fontMetrics().bigOpSpacing5 },
|
||
{ type: 'elem', elem: c.elem, marginLeft: A(-s) },
|
||
{ type: 'kern', size: c.kern },
|
||
{ type: 'elem', elem: r },
|
||
],
|
||
},
|
||
a
|
||
);
|
||
} else if (p) {
|
||
var T = r.depth + o;
|
||
w = b.makeVList(
|
||
{
|
||
positionType: 'bottom',
|
||
positionData: T,
|
||
children: [
|
||
{ type: 'elem', elem: r },
|
||
{ type: 'kern', size: p.kern },
|
||
{ type: 'elem', elem: p.elem, marginLeft: A(s) },
|
||
{ type: 'kern', size: a.fontMetrics().bigOpSpacing5 },
|
||
],
|
||
},
|
||
a
|
||
);
|
||
} else return r;
|
||
var C = [w];
|
||
if (c && s !== 0 && !h) {
|
||
var N = b.makeSpan(['mspace'], [], a);
|
||
(N.style.marginRight = A(s)), C.unshift(N);
|
||
}
|
||
return b.makeSpan(['mop', 'op-limits'], C, a);
|
||
},
|
||
ea = ['\\smallint'],
|
||
re = (r, e) => {
|
||
var t,
|
||
a,
|
||
n = !1,
|
||
s;
|
||
r.type === 'supsub' ? ((t = r.sup), (a = r.sub), (s = F(r.base, 'op')), (n = !0)) : (s = F(r, 'op'));
|
||
var o = e.style,
|
||
h = !1;
|
||
o.size === R.DISPLAY.size && s.symbol && !q.contains(ea, s.name) && (h = !0);
|
||
var c;
|
||
if (s.symbol) {
|
||
var p = h ? 'Size2-Regular' : 'Size1-Regular',
|
||
g = '';
|
||
if (
|
||
((s.name === '\\oiint' || s.name === '\\oiiint') && ((g = s.name.slice(1)), (s.name = g === 'oiint' ? '\\iint' : '\\iiint')),
|
||
(c = b.makeSymbol(s.name, p, 'math', e, ['mop', 'op-symbol', h ? 'large-op' : 'small-op'])),
|
||
g.length > 0)
|
||
) {
|
||
var y = c.italic,
|
||
w = b.staticSvg(g + 'Size' + (h ? '2' : '1'), e);
|
||
(c = b.makeVList(
|
||
{
|
||
positionType: 'individualShift',
|
||
children: [
|
||
{ type: 'elem', elem: c, shift: 0 },
|
||
{ type: 'elem', elem: w, shift: h ? 0.08 : 0 },
|
||
],
|
||
},
|
||
e
|
||
)),
|
||
(s.name = '\\' + g),
|
||
c.classes.unshift('mop'),
|
||
(c.italic = y);
|
||
}
|
||
} else if (s.body) {
|
||
var x = t0(s.body, e, !0);
|
||
x.length === 1 && x[0] instanceof p0 ? ((c = x[0]), (c.classes[0] = 'mop')) : (c = b.makeSpan(['mop'], x, e));
|
||
} else {
|
||
for (var z = [], T = 1; T < s.name.length; T++) z.push(b.mathsym(s.name[T], s.mode, e));
|
||
c = b.makeSpan(['mop'], z, e);
|
||
}
|
||
var C = 0,
|
||
N = 0;
|
||
return (
|
||
(c instanceof p0 || s.name === '\\oiint' || s.name === '\\oiiint') &&
|
||
!s.suppressBaseShift &&
|
||
((C = (c.height - c.depth) / 2 - e.fontMetrics().axisHeight), (N = c.italic)),
|
||
n ? _r(c, t, a, e, o, N, C) : (C && ((c.style.position = 'relative'), (c.style.top = A(C))), c)
|
||
);
|
||
},
|
||
me = (r, e) => {
|
||
var t;
|
||
if (r.symbol) (t = new c0('mo', [v0(r.name, r.mode)])), q.contains(ea, r.name) && t.setAttribute('largeop', 'false');
|
||
else if (r.body) t = new c0('mo', o0(r.body, e));
|
||
else {
|
||
t = new c0('mi', [new ie(r.name.slice(1))]);
|
||
var a = new c0('mo', [v0('', 'text')]);
|
||
r.parentIsSupSub ? (t = new c0('mrow', [t, a])) : (t = Br([t, a]));
|
||
}
|
||
return t;
|
||
},
|
||
$1 = {
|
||
'∏': '\\prod',
|
||
'∐': '\\coprod',
|
||
'∑': '\\sum',
|
||
'⋀': '\\bigwedge',
|
||
'⋁': '\\bigvee',
|
||
'⋂': '\\bigcap',
|
||
'⋃': '\\bigcup',
|
||
'⨀': '\\bigodot',
|
||
'⨁': '\\bigoplus',
|
||
'⨂': '\\bigotimes',
|
||
'⨄': '\\biguplus',
|
||
'⨆': '\\bigsqcup',
|
||
};
|
||
B({
|
||
type: 'op',
|
||
names: [
|
||
'\\coprod',
|
||
'\\bigvee',
|
||
'\\bigwedge',
|
||
'\\biguplus',
|
||
'\\bigcap',
|
||
'\\bigcup',
|
||
'\\intop',
|
||
'\\prod',
|
||
'\\sum',
|
||
'\\bigotimes',
|
||
'\\bigoplus',
|
||
'\\bigodot',
|
||
'\\bigsqcup',
|
||
'\\smallint',
|
||
'∏',
|
||
'∐',
|
||
'∑',
|
||
'⋀',
|
||
'⋁',
|
||
'⋂',
|
||
'⋃',
|
||
'⨀',
|
||
'⨁',
|
||
'⨂',
|
||
'⨄',
|
||
'⨆',
|
||
],
|
||
props: { numArgs: 0 },
|
||
handler: (r, e) => {
|
||
var { parser: t, funcName: a } = r,
|
||
n = a;
|
||
return n.length === 1 && (n = $1[n]), { type: 'op', mode: t.mode, limits: !0, parentIsSupSub: !1, symbol: !0, name: n };
|
||
},
|
||
htmlBuilder: re,
|
||
mathmlBuilder: me,
|
||
});
|
||
B({
|
||
type: 'op',
|
||
names: ['\\mathop'],
|
||
props: { numArgs: 1, primitive: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t } = r,
|
||
a = e[0];
|
||
return { type: 'op', mode: t.mode, limits: !1, parentIsSupSub: !1, symbol: !1, body: Q(a) };
|
||
},
|
||
htmlBuilder: re,
|
||
mathmlBuilder: me,
|
||
});
|
||
var W1 = { '∫': '\\int', '∬': '\\iint', '∭': '\\iiint', '∮': '\\oint', '∯': '\\oiint', '∰': '\\oiiint' };
|
||
B({
|
||
type: 'op',
|
||
names: [
|
||
'\\arcsin',
|
||
'\\arccos',
|
||
'\\arctan',
|
||
'\\arctg',
|
||
'\\arcctg',
|
||
'\\arg',
|
||
'\\ch',
|
||
'\\cos',
|
||
'\\cosec',
|
||
'\\cosh',
|
||
'\\cot',
|
||
'\\cotg',
|
||
'\\coth',
|
||
'\\csc',
|
||
'\\ctg',
|
||
'\\cth',
|
||
'\\deg',
|
||
'\\dim',
|
||
'\\exp',
|
||
'\\hom',
|
||
'\\ker',
|
||
'\\lg',
|
||
'\\ln',
|
||
'\\log',
|
||
'\\sec',
|
||
'\\sin',
|
||
'\\sinh',
|
||
'\\sh',
|
||
'\\tan',
|
||
'\\tanh',
|
||
'\\tg',
|
||
'\\th',
|
||
],
|
||
props: { numArgs: 0 },
|
||
handler(r) {
|
||
var { parser: e, funcName: t } = r;
|
||
return { type: 'op', mode: e.mode, limits: !1, parentIsSupSub: !1, symbol: !1, name: t };
|
||
},
|
||
htmlBuilder: re,
|
||
mathmlBuilder: me,
|
||
});
|
||
B({
|
||
type: 'op',
|
||
names: ['\\det', '\\gcd', '\\inf', '\\lim', '\\max', '\\min', '\\Pr', '\\sup'],
|
||
props: { numArgs: 0 },
|
||
handler(r) {
|
||
var { parser: e, funcName: t } = r;
|
||
return { type: 'op', mode: e.mode, limits: !0, parentIsSupSub: !1, symbol: !1, name: t };
|
||
},
|
||
htmlBuilder: re,
|
||
mathmlBuilder: me,
|
||
});
|
||
B({
|
||
type: 'op',
|
||
names: ['\\int', '\\iint', '\\iiint', '\\oint', '\\oiint', '\\oiiint', '∫', '∬', '∭', '∮', '∯', '∰'],
|
||
props: { numArgs: 0 },
|
||
handler(r) {
|
||
var { parser: e, funcName: t } = r,
|
||
a = t;
|
||
return a.length === 1 && (a = W1[a]), { type: 'op', mode: e.mode, limits: !1, parentIsSupSub: !1, symbol: !0, name: a };
|
||
},
|
||
htmlBuilder: re,
|
||
mathmlBuilder: me,
|
||
});
|
||
var ta = (r, e) => {
|
||
var t,
|
||
a,
|
||
n = !1,
|
||
s;
|
||
r.type === 'supsub' ? ((t = r.sup), (a = r.sub), (s = F(r.base, 'operatorname')), (n = !0)) : (s = F(r, 'operatorname'));
|
||
var o;
|
||
if (s.body.length > 0) {
|
||
for (
|
||
var h = s.body.map((y) => {
|
||
var w = y.text;
|
||
return typeof w == 'string' ? { type: 'textord', mode: y.mode, text: w } : y;
|
||
}),
|
||
c = t0(h, e.withFont('mathrm'), !0),
|
||
p = 0;
|
||
p < c.length;
|
||
p++
|
||
) {
|
||
var g = c[p];
|
||
g instanceof p0 && (g.text = g.text.replace(/\u2212/, '-').replace(/\u2217/, '*'));
|
||
}
|
||
o = b.makeSpan(['mop'], c, e);
|
||
} else o = b.makeSpan(['mop'], [], e);
|
||
return n ? _r(o, t, a, e, e.style, 0, 0) : o;
|
||
},
|
||
j1 = (r, e) => {
|
||
for (var t = o0(r.body, e.withFont('mathrm')), a = !0, n = 0; n < t.length; n++) {
|
||
var s = t[n];
|
||
if (!(s instanceof S.SpaceNode))
|
||
if (s instanceof S.MathNode)
|
||
switch (s.type) {
|
||
case 'mi':
|
||
case 'mn':
|
||
case 'ms':
|
||
case 'mspace':
|
||
case 'mtext':
|
||
break;
|
||
case 'mo': {
|
||
var o = s.children[0];
|
||
s.children.length === 1 && o instanceof S.TextNode ? (o.text = o.text.replace(/\u2212/, '-').replace(/\u2217/, '*')) : (a = !1);
|
||
break;
|
||
}
|
||
default:
|
||
a = !1;
|
||
}
|
||
else a = !1;
|
||
}
|
||
if (a) {
|
||
var h = t.map((g) => g.toText()).join('');
|
||
t = [new S.TextNode(h)];
|
||
}
|
||
var c = new S.MathNode('mi', t);
|
||
c.setAttribute('mathvariant', 'normal');
|
||
var p = new S.MathNode('mo', [v0('', 'text')]);
|
||
return r.parentIsSupSub ? new S.MathNode('mrow', [c, p]) : S.newDocumentFragment([c, p]);
|
||
};
|
||
B({
|
||
type: 'operatorname',
|
||
names: ['\\operatorname@', '\\operatornamewithlimits'],
|
||
props: { numArgs: 1 },
|
||
handler: (r, e) => {
|
||
var { parser: t, funcName: a } = r,
|
||
n = e[0];
|
||
return { type: 'operatorname', mode: t.mode, body: Q(n), alwaysHandleSupSub: a === '\\operatornamewithlimits', limits: !1, parentIsSupSub: !1 };
|
||
},
|
||
htmlBuilder: ta,
|
||
mathmlBuilder: j1,
|
||
});
|
||
m('\\operatorname', '\\@ifstar\\operatornamewithlimits\\operatorname@');
|
||
$0({
|
||
type: 'ordgroup',
|
||
htmlBuilder(r, e) {
|
||
return r.semisimple ? b.makeFragment(t0(r.body, e, !1)) : b.makeSpan(['mord'], t0(r.body, e, !0), e);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
return G0(r.body, e, !0);
|
||
},
|
||
});
|
||
B({
|
||
type: 'overline',
|
||
names: ['\\overline'],
|
||
props: { numArgs: 1 },
|
||
handler(r, e) {
|
||
var { parser: t } = r,
|
||
a = e[0];
|
||
return { type: 'overline', mode: t.mode, body: a };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = P(r.body, e.havingCrampedStyle()),
|
||
a = b.makeLineSpan('overline-line', e),
|
||
n = e.fontMetrics().defaultRuleThickness,
|
||
s = b.makeVList(
|
||
{
|
||
positionType: 'firstBaseline',
|
||
children: [
|
||
{ type: 'elem', elem: t },
|
||
{ type: 'kern', size: 3 * n },
|
||
{ type: 'elem', elem: a },
|
||
{ type: 'kern', size: n },
|
||
],
|
||
},
|
||
e
|
||
);
|
||
return b.makeSpan(['mord', 'overline'], [s], e);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = new S.MathNode('mo', [new S.TextNode('‾')]);
|
||
t.setAttribute('stretchy', 'true');
|
||
var a = new S.MathNode('mover', [X(r.body, e), t]);
|
||
return a.setAttribute('accent', 'true'), a;
|
||
},
|
||
});
|
||
B({
|
||
type: 'phantom',
|
||
names: ['\\phantom'],
|
||
props: { numArgs: 1, allowedInText: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t } = r,
|
||
a = e[0];
|
||
return { type: 'phantom', mode: t.mode, body: Q(a) };
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
var t = t0(r.body, e.withPhantom(), !1);
|
||
return b.makeFragment(t);
|
||
},
|
||
mathmlBuilder: (r, e) => {
|
||
var t = o0(r.body, e);
|
||
return new S.MathNode('mphantom', t);
|
||
},
|
||
});
|
||
B({
|
||
type: 'hphantom',
|
||
names: ['\\hphantom'],
|
||
props: { numArgs: 1, allowedInText: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t } = r,
|
||
a = e[0];
|
||
return { type: 'hphantom', mode: t.mode, body: a };
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
var t = b.makeSpan([], [P(r.body, e.withPhantom())]);
|
||
if (((t.height = 0), (t.depth = 0), t.children))
|
||
for (var a = 0; a < t.children.length; a++) (t.children[a].height = 0), (t.children[a].depth = 0);
|
||
return (t = b.makeVList({ positionType: 'firstBaseline', children: [{ type: 'elem', elem: t }] }, e)), b.makeSpan(['mord'], [t], e);
|
||
},
|
||
mathmlBuilder: (r, e) => {
|
||
var t = o0(Q(r.body), e),
|
||
a = new S.MathNode('mphantom', t),
|
||
n = new S.MathNode('mpadded', [a]);
|
||
return n.setAttribute('height', '0px'), n.setAttribute('depth', '0px'), n;
|
||
},
|
||
});
|
||
B({
|
||
type: 'vphantom',
|
||
names: ['\\vphantom'],
|
||
props: { numArgs: 1, allowedInText: !0 },
|
||
handler: (r, e) => {
|
||
var { parser: t } = r,
|
||
a = e[0];
|
||
return { type: 'vphantom', mode: t.mode, body: a };
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
var t = b.makeSpan(['inner'], [P(r.body, e.withPhantom())]),
|
||
a = b.makeSpan(['fix'], []);
|
||
return b.makeSpan(['mord', 'rlap'], [t, a], e);
|
||
},
|
||
mathmlBuilder: (r, e) => {
|
||
var t = o0(Q(r.body), e),
|
||
a = new S.MathNode('mphantom', t),
|
||
n = new S.MathNode('mpadded', [a]);
|
||
return n.setAttribute('width', '0px'), n;
|
||
},
|
||
});
|
||
B({
|
||
type: 'raisebox',
|
||
names: ['\\raisebox'],
|
||
props: { numArgs: 2, argTypes: ['size', 'hbox'], allowedInText: !0 },
|
||
handler(r, e) {
|
||
var { parser: t } = r,
|
||
a = F(e[0], 'size').value,
|
||
n = e[1];
|
||
return { type: 'raisebox', mode: t.mode, dy: a, body: n };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = P(r.body, e),
|
||
a = K(r.dy, e);
|
||
return b.makeVList({ positionType: 'shift', positionData: -a, children: [{ type: 'elem', elem: t }] }, e);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = new S.MathNode('mpadded', [X(r.body, e)]),
|
||
a = r.dy.number + r.dy.unit;
|
||
return t.setAttribute('voffset', a), t;
|
||
},
|
||
});
|
||
B({
|
||
type: 'internal',
|
||
names: ['\\relax'],
|
||
props: { numArgs: 0, allowedInText: !0 },
|
||
handler(r) {
|
||
var { parser: e } = r;
|
||
return { type: 'internal', mode: e.mode };
|
||
},
|
||
});
|
||
B({
|
||
type: 'rule',
|
||
names: ['\\rule'],
|
||
props: { numArgs: 2, numOptionalArgs: 1, argTypes: ['size', 'size', 'size'] },
|
||
handler(r, e, t) {
|
||
var { parser: a } = r,
|
||
n = t[0],
|
||
s = F(e[0], 'size'),
|
||
o = F(e[1], 'size');
|
||
return { type: 'rule', mode: a.mode, shift: n && F(n, 'size').value, width: s.value, height: o.value };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = b.makeSpan(['mord', 'rule'], [], e),
|
||
a = K(r.width, e),
|
||
n = K(r.height, e),
|
||
s = r.shift ? K(r.shift, e) : 0;
|
||
return (
|
||
(t.style.borderRightWidth = A(a)),
|
||
(t.style.borderTopWidth = A(n)),
|
||
(t.style.bottom = A(s)),
|
||
(t.width = a),
|
||
(t.height = n + s),
|
||
(t.depth = -s),
|
||
(t.maxFontSize = n * 1.125 * e.sizeMultiplier),
|
||
t
|
||
);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = K(r.width, e),
|
||
a = K(r.height, e),
|
||
n = r.shift ? K(r.shift, e) : 0,
|
||
s = (e.color && e.getColor()) || 'black',
|
||
o = new S.MathNode('mspace');
|
||
o.setAttribute('mathbackground', s), o.setAttribute('width', A(t)), o.setAttribute('height', A(a));
|
||
var h = new S.MathNode('mpadded', [o]);
|
||
return (
|
||
n >= 0 ? h.setAttribute('height', A(n)) : (h.setAttribute('height', A(n)), h.setAttribute('depth', A(-n))), h.setAttribute('voffset', A(n)), h
|
||
);
|
||
},
|
||
});
|
||
function ra(r, e, t) {
|
||
for (var a = t0(r, e, !1), n = e.sizeMultiplier / t.sizeMultiplier, s = 0; s < a.length; s++) {
|
||
var o = a[s].classes.indexOf('sizing');
|
||
o < 0
|
||
? Array.prototype.push.apply(a[s].classes, e.sizingClasses(t))
|
||
: a[s].classes[o + 1] === 'reset-size' + e.size && (a[s].classes[o + 1] = 'reset-size' + t.size),
|
||
(a[s].height *= n),
|
||
(a[s].depth *= n);
|
||
}
|
||
return b.makeFragment(a);
|
||
}
|
||
var ar = ['\\tiny', '\\sixptsize', '\\scriptsize', '\\footnotesize', '\\small', '\\normalsize', '\\large', '\\Large', '\\LARGE', '\\huge', '\\Huge'],
|
||
Z1 = (r, e) => {
|
||
var t = e.havingSize(r.size);
|
||
return ra(r.body, t, e);
|
||
};
|
||
B({
|
||
type: 'sizing',
|
||
names: ar,
|
||
props: { numArgs: 0, allowedInText: !0 },
|
||
handler: (r, e) => {
|
||
var { breakOnTokenText: t, funcName: a, parser: n } = r,
|
||
s = n.parseExpression(!1, t);
|
||
return { type: 'sizing', mode: n.mode, size: ar.indexOf(a) + 1, body: s };
|
||
},
|
||
htmlBuilder: Z1,
|
||
mathmlBuilder: (r, e) => {
|
||
var t = e.havingSize(r.size),
|
||
a = o0(r.body, t),
|
||
n = new S.MathNode('mstyle', a);
|
||
return n.setAttribute('mathsize', A(t.sizeMultiplier)), n;
|
||
},
|
||
});
|
||
B({
|
||
type: 'smash',
|
||
names: ['\\smash'],
|
||
props: { numArgs: 1, numOptionalArgs: 1, allowedInText: !0 },
|
||
handler: (r, e, t) => {
|
||
var { parser: a } = r,
|
||
n = !1,
|
||
s = !1,
|
||
o = t[0] && F(t[0], 'ordgroup');
|
||
if (o)
|
||
for (var h = '', c = 0; c < o.body.length; ++c) {
|
||
var p = o.body[c];
|
||
if (((h = p.text), h === 't')) n = !0;
|
||
else if (h === 'b') s = !0;
|
||
else {
|
||
(n = !1), (s = !1);
|
||
break;
|
||
}
|
||
}
|
||
else (n = !0), (s = !0);
|
||
var g = e[0];
|
||
return { type: 'smash', mode: a.mode, body: g, smashHeight: n, smashDepth: s };
|
||
},
|
||
htmlBuilder: (r, e) => {
|
||
var t = b.makeSpan([], [P(r.body, e)]);
|
||
if (!r.smashHeight && !r.smashDepth) return t;
|
||
if (r.smashHeight && ((t.height = 0), t.children)) for (var a = 0; a < t.children.length; a++) t.children[a].height = 0;
|
||
if (r.smashDepth && ((t.depth = 0), t.children)) for (var n = 0; n < t.children.length; n++) t.children[n].depth = 0;
|
||
var s = b.makeVList({ positionType: 'firstBaseline', children: [{ type: 'elem', elem: t }] }, e);
|
||
return b.makeSpan(['mord'], [s], e);
|
||
},
|
||
mathmlBuilder: (r, e) => {
|
||
var t = new S.MathNode('mpadded', [X(r.body, e)]);
|
||
return r.smashHeight && t.setAttribute('height', '0px'), r.smashDepth && t.setAttribute('depth', '0px'), t;
|
||
},
|
||
});
|
||
B({
|
||
type: 'sqrt',
|
||
names: ['\\sqrt'],
|
||
props: { numArgs: 1, numOptionalArgs: 1 },
|
||
handler(r, e, t) {
|
||
var { parser: a } = r,
|
||
n = t[0],
|
||
s = e[0];
|
||
return { type: 'sqrt', mode: a.mode, body: s, index: n };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = P(r.body, e.havingCrampedStyle());
|
||
t.height === 0 && (t.height = e.fontMetrics().xHeight), (t = b.wrapFragment(t, e));
|
||
var a = e.fontMetrics(),
|
||
n = a.defaultRuleThickness,
|
||
s = n;
|
||
e.style.id < R.TEXT.id && (s = e.fontMetrics().xHeight);
|
||
var o = n + s / 4,
|
||
h = t.height + t.depth + o + n,
|
||
{ span: c, ruleWidth: p, advanceWidth: g } = B0.sqrtImage(h, e),
|
||
y = c.height - p;
|
||
y > t.height + t.depth + o && (o = (o + y - t.height - t.depth) / 2);
|
||
var w = c.height - t.height - o - p;
|
||
t.style.paddingLeft = A(g);
|
||
var x = b.makeVList(
|
||
{
|
||
positionType: 'firstBaseline',
|
||
children: [
|
||
{ type: 'elem', elem: t, wrapperClasses: ['svg-align'] },
|
||
{ type: 'kern', size: -(t.height + w) },
|
||
{ type: 'elem', elem: c },
|
||
{ type: 'kern', size: p },
|
||
],
|
||
},
|
||
e
|
||
);
|
||
if (r.index) {
|
||
var z = e.havingStyle(R.SCRIPTSCRIPT),
|
||
T = P(r.index, z, e),
|
||
C = 0.6 * (x.height - x.depth),
|
||
N = b.makeVList({ positionType: 'shift', positionData: -C, children: [{ type: 'elem', elem: T }] }, e),
|
||
O = b.makeSpan(['root'], [N]);
|
||
return b.makeSpan(['mord', 'sqrt'], [O, x], e);
|
||
} else return b.makeSpan(['mord', 'sqrt'], [x], e);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var { body: t, index: a } = r;
|
||
return a ? new S.MathNode('mroot', [X(t, e), X(a, e)]) : new S.MathNode('msqrt', [X(t, e)]);
|
||
},
|
||
});
|
||
var nr = { display: R.DISPLAY, text: R.TEXT, script: R.SCRIPT, scriptscript: R.SCRIPTSCRIPT };
|
||
B({
|
||
type: 'styling',
|
||
names: ['\\displaystyle', '\\textstyle', '\\scriptstyle', '\\scriptscriptstyle'],
|
||
props: { numArgs: 0, allowedInText: !0, primitive: !0 },
|
||
handler(r, e) {
|
||
var { breakOnTokenText: t, funcName: a, parser: n } = r,
|
||
s = n.parseExpression(!0, t),
|
||
o = a.slice(1, a.length - 5);
|
||
return { type: 'styling', mode: n.mode, style: o, body: s };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = nr[r.style],
|
||
a = e.havingStyle(t).withFont('');
|
||
return ra(r.body, a, e);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = nr[r.style],
|
||
a = e.havingStyle(t),
|
||
n = o0(r.body, a),
|
||
s = new S.MathNode('mstyle', n),
|
||
o = { display: ['0', 'true'], text: ['0', 'false'], script: ['1', 'false'], scriptscript: ['2', 'false'] },
|
||
h = o[r.style];
|
||
return s.setAttribute('scriptlevel', h[0]), s.setAttribute('displaystyle', h[1]), s;
|
||
},
|
||
});
|
||
var K1 = function (e, t) {
|
||
var a = e.base;
|
||
if (a)
|
||
if (a.type === 'op') {
|
||
var n = a.limits && (t.style.size === R.DISPLAY.size || a.alwaysHandleSupSub);
|
||
return n ? re : null;
|
||
} else if (a.type === 'operatorname') {
|
||
var s = a.alwaysHandleSupSub && (t.style.size === R.DISPLAY.size || a.limits);
|
||
return s ? ta : null;
|
||
} else {
|
||
if (a.type === 'accent') return q.isCharacterBox(a.base) ? xt : null;
|
||
if (a.type === 'horizBrace') {
|
||
var o = !e.sub;
|
||
return o === a.isOver ? Qr : null;
|
||
} else return null;
|
||
}
|
||
else return null;
|
||
};
|
||
$0({
|
||
type: 'supsub',
|
||
htmlBuilder(r, e) {
|
||
var t = K1(r, e);
|
||
if (t) return t(r, e);
|
||
var { base: a, sup: n, sub: s } = r,
|
||
o = P(a, e),
|
||
h,
|
||
c,
|
||
p = e.fontMetrics(),
|
||
g = 0,
|
||
y = 0,
|
||
w = a && q.isCharacterBox(a);
|
||
if (n) {
|
||
var x = e.havingStyle(e.style.sup());
|
||
(h = P(n, x, e)), w || (g = o.height - (x.fontMetrics().supDrop * x.sizeMultiplier) / e.sizeMultiplier);
|
||
}
|
||
if (s) {
|
||
var z = e.havingStyle(e.style.sub());
|
||
(c = P(s, z, e)), w || (y = o.depth + (z.fontMetrics().subDrop * z.sizeMultiplier) / e.sizeMultiplier);
|
||
}
|
||
var T;
|
||
e.style === R.DISPLAY ? (T = p.sup1) : e.style.cramped ? (T = p.sup3) : (T = p.sup2);
|
||
var C = e.sizeMultiplier,
|
||
N = A(0.5 / p.ptPerEm / C),
|
||
O = null;
|
||
if (c) {
|
||
var H = r.base && r.base.type === 'op' && r.base.name && (r.base.name === '\\oiint' || r.base.name === '\\oiiint');
|
||
(o instanceof p0 || H) && (O = A(-o.italic));
|
||
}
|
||
var V;
|
||
if (h && c) {
|
||
(g = Math.max(g, T, h.depth + 0.25 * p.xHeight)), (y = Math.max(y, p.sub2));
|
||
var L = p.defaultRuleThickness,
|
||
U = 4 * L;
|
||
if (g - h.depth - (c.height - y) < U) {
|
||
y = U - (g - h.depth) + c.height;
|
||
var G = 0.8 * p.xHeight - (g - h.depth);
|
||
G > 0 && ((g += G), (y -= G));
|
||
}
|
||
var j = [
|
||
{ type: 'elem', elem: c, shift: y, marginRight: N, marginLeft: O },
|
||
{ type: 'elem', elem: h, shift: -g, marginRight: N },
|
||
];
|
||
V = b.makeVList({ positionType: 'individualShift', children: j }, e);
|
||
} else if (c) {
|
||
y = Math.max(y, p.sub1, c.height - 0.8 * p.xHeight);
|
||
var Y = [{ type: 'elem', elem: c, marginLeft: O, marginRight: N }];
|
||
V = b.makeVList({ positionType: 'shift', positionData: y, children: Y }, e);
|
||
} else if (h)
|
||
(g = Math.max(g, T, h.depth + 0.25 * p.xHeight)),
|
||
(V = b.makeVList({ positionType: 'shift', positionData: -g, children: [{ type: 'elem', elem: h, marginRight: N }] }, e));
|
||
else throw new Error('supsub must have either sup or sub.');
|
||
var M0 = lt(o, 'right') || 'mord';
|
||
return b.makeSpan([M0], [o, b.makeSpan(['msupsub'], [V])], e);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = !1,
|
||
a,
|
||
n;
|
||
r.base && r.base.type === 'horizBrace' && ((n = !!r.sup), n === r.base.isOver && ((t = !0), (a = r.base.isOver))),
|
||
r.base && (r.base.type === 'op' || r.base.type === 'operatorname') && (r.base.parentIsSupSub = !0);
|
||
var s = [X(r.base, e)];
|
||
r.sub && s.push(X(r.sub, e)), r.sup && s.push(X(r.sup, e));
|
||
var o;
|
||
if (t) o = a ? 'mover' : 'munder';
|
||
else if (r.sub)
|
||
if (r.sup) {
|
||
var p = r.base;
|
||
(p && p.type === 'op' && p.limits && e.style === R.DISPLAY) ||
|
||
(p && p.type === 'operatorname' && p.alwaysHandleSupSub && (e.style === R.DISPLAY || p.limits))
|
||
? (o = 'munderover')
|
||
: (o = 'msubsup');
|
||
} else {
|
||
var c = r.base;
|
||
(c && c.type === 'op' && c.limits && (e.style === R.DISPLAY || c.alwaysHandleSupSub)) ||
|
||
(c && c.type === 'operatorname' && c.alwaysHandleSupSub && (c.limits || e.style === R.DISPLAY))
|
||
? (o = 'munder')
|
||
: (o = 'msub');
|
||
}
|
||
else {
|
||
var h = r.base;
|
||
(h && h.type === 'op' && h.limits && (e.style === R.DISPLAY || h.alwaysHandleSupSub)) ||
|
||
(h && h.type === 'operatorname' && h.alwaysHandleSupSub && (h.limits || e.style === R.DISPLAY))
|
||
? (o = 'mover')
|
||
: (o = 'msup');
|
||
}
|
||
return new S.MathNode(o, s);
|
||
},
|
||
});
|
||
$0({
|
||
type: 'atom',
|
||
htmlBuilder(r, e) {
|
||
return b.mathsym(r.text, r.mode, e, ['m' + r.family]);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = new S.MathNode('mo', [v0(r.text, r.mode)]);
|
||
if (r.family === 'bin') {
|
||
var a = bt(r, e);
|
||
a === 'bold-italic' && t.setAttribute('mathvariant', a);
|
||
} else
|
||
r.family === 'punct'
|
||
? t.setAttribute('separator', 'true')
|
||
: (r.family === 'open' || r.family === 'close') && t.setAttribute('stretchy', 'false');
|
||
return t;
|
||
},
|
||
});
|
||
var aa = { mi: 'italic', mn: 'normal', mtext: 'normal' };
|
||
$0({
|
||
type: 'mathord',
|
||
htmlBuilder(r, e) {
|
||
return b.makeOrd(r, e, 'mathord');
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = new S.MathNode('mi', [v0(r.text, r.mode, e)]),
|
||
a = bt(r, e) || 'italic';
|
||
return a !== aa[t.type] && t.setAttribute('mathvariant', a), t;
|
||
},
|
||
});
|
||
$0({
|
||
type: 'textord',
|
||
htmlBuilder(r, e) {
|
||
return b.makeOrd(r, e, 'textord');
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = v0(r.text, r.mode, e),
|
||
a = bt(r, e) || 'normal',
|
||
n;
|
||
return (
|
||
r.mode === 'text'
|
||
? (n = new S.MathNode('mtext', [t]))
|
||
: /[0-9]/.test(r.text)
|
||
? (n = new S.MathNode('mn', [t]))
|
||
: r.text === '\\prime'
|
||
? (n = new S.MathNode('mo', [t]))
|
||
: (n = new S.MathNode('mi', [t])),
|
||
a !== aa[n.type] && n.setAttribute('mathvariant', a),
|
||
n
|
||
);
|
||
},
|
||
});
|
||
var et = { '\\nobreak': 'nobreak', '\\allowbreak': 'allowbreak' },
|
||
tt = { ' ': {}, '\\ ': {}, '~': { className: 'nobreak' }, '\\space': {}, '\\nobreakspace': { className: 'nobreak' } };
|
||
$0({
|
||
type: 'spacing',
|
||
htmlBuilder(r, e) {
|
||
if (tt.hasOwnProperty(r.text)) {
|
||
var t = tt[r.text].className || '';
|
||
if (r.mode === 'text') {
|
||
var a = b.makeOrd(r, e, 'textord');
|
||
return a.classes.push(t), a;
|
||
} else return b.makeSpan(['mspace', t], [b.mathsym(r.text, r.mode, e)], e);
|
||
} else {
|
||
if (et.hasOwnProperty(r.text)) return b.makeSpan(['mspace', et[r.text]], [], e);
|
||
throw new M('Unknown type of space "' + r.text + '"');
|
||
}
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t;
|
||
if (tt.hasOwnProperty(r.text)) t = new S.MathNode('mtext', [new S.TextNode(' ')]);
|
||
else {
|
||
if (et.hasOwnProperty(r.text)) return new S.MathNode('mspace');
|
||
throw new M('Unknown type of space "' + r.text + '"');
|
||
}
|
||
return t;
|
||
},
|
||
});
|
||
var ir = () => {
|
||
var r = new S.MathNode('mtd', []);
|
||
return r.setAttribute('width', '50%'), r;
|
||
};
|
||
$0({
|
||
type: 'tag',
|
||
mathmlBuilder(r, e) {
|
||
var t = new S.MathNode('mtable', [
|
||
new S.MathNode('mtr', [ir(), new S.MathNode('mtd', [G0(r.body, e)]), ir(), new S.MathNode('mtd', [G0(r.tag, e)])]),
|
||
]);
|
||
return t.setAttribute('width', '100%'), t;
|
||
},
|
||
});
|
||
var sr = { '\\text': void 0, '\\textrm': 'textrm', '\\textsf': 'textsf', '\\texttt': 'texttt', '\\textnormal': 'textrm' },
|
||
lr = { '\\textbf': 'textbf', '\\textmd': 'textmd' },
|
||
J1 = { '\\textit': 'textit', '\\textup': 'textup' },
|
||
or = (r, e) => {
|
||
var t = r.font;
|
||
return t ? (sr[t] ? e.withTextFontFamily(sr[t]) : lr[t] ? e.withTextFontWeight(lr[t]) : e.withTextFontShape(J1[t])) : e;
|
||
};
|
||
B({
|
||
type: 'text',
|
||
names: ['\\text', '\\textrm', '\\textsf', '\\texttt', '\\textnormal', '\\textbf', '\\textmd', '\\textit', '\\textup'],
|
||
props: { numArgs: 1, argTypes: ['text'], allowedInArgument: !0, allowedInText: !0 },
|
||
handler(r, e) {
|
||
var { parser: t, funcName: a } = r,
|
||
n = e[0];
|
||
return { type: 'text', mode: t.mode, body: Q(n), font: a };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = or(r, e),
|
||
a = t0(r.body, t, !0);
|
||
return b.makeSpan(['mord', 'text'], a, t);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = or(r, e);
|
||
return G0(r.body, t);
|
||
},
|
||
});
|
||
B({
|
||
type: 'underline',
|
||
names: ['\\underline'],
|
||
props: { numArgs: 1, allowedInText: !0 },
|
||
handler(r, e) {
|
||
var { parser: t } = r;
|
||
return { type: 'underline', mode: t.mode, body: e[0] };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = P(r.body, e),
|
||
a = b.makeLineSpan('underline-line', e),
|
||
n = e.fontMetrics().defaultRuleThickness,
|
||
s = b.makeVList(
|
||
{
|
||
positionType: 'top',
|
||
positionData: t.height,
|
||
children: [
|
||
{ type: 'kern', size: n },
|
||
{ type: 'elem', elem: a },
|
||
{ type: 'kern', size: 3 * n },
|
||
{ type: 'elem', elem: t },
|
||
],
|
||
},
|
||
e
|
||
);
|
||
return b.makeSpan(['mord', 'underline'], [s], e);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = new S.MathNode('mo', [new S.TextNode('‾')]);
|
||
t.setAttribute('stretchy', 'true');
|
||
var a = new S.MathNode('munder', [X(r.body, e), t]);
|
||
return a.setAttribute('accentunder', 'true'), a;
|
||
},
|
||
});
|
||
B({
|
||
type: 'vcenter',
|
||
names: ['\\vcenter'],
|
||
props: { numArgs: 1, argTypes: ['original'], allowedInText: !1 },
|
||
handler(r, e) {
|
||
var { parser: t } = r;
|
||
return { type: 'vcenter', mode: t.mode, body: e[0] };
|
||
},
|
||
htmlBuilder(r, e) {
|
||
var t = P(r.body, e),
|
||
a = e.fontMetrics().axisHeight,
|
||
n = 0.5 * (t.height - a - (t.depth + a));
|
||
return b.makeVList({ positionType: 'shift', positionData: n, children: [{ type: 'elem', elem: t }] }, e);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
return new S.MathNode('mpadded', [X(r.body, e)], ['vcenter']);
|
||
},
|
||
});
|
||
B({
|
||
type: 'verb',
|
||
names: ['\\verb'],
|
||
props: { numArgs: 0, allowedInText: !0 },
|
||
handler(r, e, t) {
|
||
throw new M('\\verb ended by end of line instead of matching delimiter');
|
||
},
|
||
htmlBuilder(r, e) {
|
||
for (var t = ur(r), a = [], n = e.havingStyle(e.style.text()), s = 0; s < t.length; s++) {
|
||
var o = t[s];
|
||
o === '~' && (o = '\\textasciitilde'), a.push(b.makeSymbol(o, 'Typewriter-Regular', r.mode, n, ['mord', 'texttt']));
|
||
}
|
||
return b.makeSpan(['mord', 'text'].concat(n.sizingClasses(e)), b.tryCombineChars(a), n);
|
||
},
|
||
mathmlBuilder(r, e) {
|
||
var t = new S.TextNode(ur(r)),
|
||
a = new S.MathNode('mtext', [t]);
|
||
return a.setAttribute('mathvariant', 'monospace'), a;
|
||
},
|
||
});
|
||
var ur = (r) => r.body.replace(/ /g, r.star ? '␣' : ' '),
|
||
F0 = Ar,
|
||
na = `[ \r
|
||
]`,
|
||
Q1 = '\\\\[a-zA-Z@]+',
|
||
_1 = '\\\\[^\uD800-\uDFFF]',
|
||
e4 = '(' + Q1 + ')' + na + '*',
|
||
t4 = `\\\\(
|
||
|[ \r ]+
|
||
?)[ \r ]*`,
|
||
mt = '[̀-ͯ]',
|
||
r4 = new RegExp(mt + '+$'),
|
||
a4 =
|
||
'(' +
|
||
na +
|
||
'+)|' +
|
||
(t4 + '|') +
|
||
'([!-\\[\\]-‧-豈-]' +
|
||
(mt + '*') +
|
||
'|[\uD800-\uDBFF][\uDC00-\uDFFF]' +
|
||
(mt + '*') +
|
||
'|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5' +
|
||
('|' + e4) +
|
||
('|' + _1 + ')');
|
||
class hr {
|
||
constructor(e, t) {
|
||
(this.input = void 0),
|
||
(this.settings = void 0),
|
||
(this.tokenRegex = void 0),
|
||
(this.catcodes = void 0),
|
||
(this.input = e),
|
||
(this.settings = t),
|
||
(this.tokenRegex = new RegExp(a4, 'g')),
|
||
(this.catcodes = { '%': 14, '~': 13 });
|
||
}
|
||
setCatcode(e, t) {
|
||
this.catcodes[e] = t;
|
||
}
|
||
lex() {
|
||
var e = this.input,
|
||
t = this.tokenRegex.lastIndex;
|
||
if (t === e.length) return new f0('EOF', new u0(this, t, t));
|
||
var a = this.tokenRegex.exec(e);
|
||
if (a === null || a.index !== t) throw new M("Unexpected character: '" + e[t] + "'", new f0(e[t], new u0(this, t, t + 1)));
|
||
var n = a[6] || a[3] || (a[2] ? '\\ ' : ' ');
|
||
if (this.catcodes[n] === 14) {
|
||
var s = e.indexOf(
|
||
`
|
||
`,
|
||
this.tokenRegex.lastIndex
|
||
);
|
||
return (
|
||
s === -1
|
||
? ((this.tokenRegex.lastIndex = e.length),
|
||
this.settings.reportNonstrict(
|
||
'commentAtEnd',
|
||
'% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)'
|
||
))
|
||
: (this.tokenRegex.lastIndex = s + 1),
|
||
this.lex()
|
||
);
|
||
}
|
||
return new f0(n, new u0(this, t, this.tokenRegex.lastIndex));
|
||
}
|
||
}
|
||
class n4 {
|
||
constructor(e, t) {
|
||
e === void 0 && (e = {}),
|
||
t === void 0 && (t = {}),
|
||
(this.current = void 0),
|
||
(this.builtins = void 0),
|
||
(this.undefStack = void 0),
|
||
(this.current = t),
|
||
(this.builtins = e),
|
||
(this.undefStack = []);
|
||
}
|
||
beginGroup() {
|
||
this.undefStack.push({});
|
||
}
|
||
endGroup() {
|
||
if (this.undefStack.length === 0) throw new M('Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug');
|
||
var e = this.undefStack.pop();
|
||
for (var t in e) e.hasOwnProperty(t) && (e[t] == null ? delete this.current[t] : (this.current[t] = e[t]));
|
||
}
|
||
endGroups() {
|
||
for (; this.undefStack.length > 0; ) this.endGroup();
|
||
}
|
||
has(e) {
|
||
return this.current.hasOwnProperty(e) || this.builtins.hasOwnProperty(e);
|
||
}
|
||
get(e) {
|
||
return this.current.hasOwnProperty(e) ? this.current[e] : this.builtins[e];
|
||
}
|
||
set(e, t, a) {
|
||
if ((a === void 0 && (a = !1), a)) {
|
||
for (var n = 0; n < this.undefStack.length; n++) delete this.undefStack[n][e];
|
||
this.undefStack.length > 0 && (this.undefStack[this.undefStack.length - 1][e] = t);
|
||
} else {
|
||
var s = this.undefStack[this.undefStack.length - 1];
|
||
s && !s.hasOwnProperty(e) && (s[e] = this.current[e]);
|
||
}
|
||
t == null ? delete this.current[e] : (this.current[e] = t);
|
||
}
|
||
}
|
||
var i4 = Wr;
|
||
m('\\noexpand', function (r) {
|
||
var e = r.popToken();
|
||
return r.isExpandable(e.text) && ((e.noexpand = !0), (e.treatAsRelax = !0)), { tokens: [e], numArgs: 0 };
|
||
});
|
||
m('\\expandafter', function (r) {
|
||
var e = r.popToken();
|
||
return r.expandOnce(!0), { tokens: [e], numArgs: 0 };
|
||
});
|
||
m('\\@firstoftwo', function (r) {
|
||
var e = r.consumeArgs(2);
|
||
return { tokens: e[0], numArgs: 0 };
|
||
});
|
||
m('\\@secondoftwo', function (r) {
|
||
var e = r.consumeArgs(2);
|
||
return { tokens: e[1], numArgs: 0 };
|
||
});
|
||
m('\\@ifnextchar', function (r) {
|
||
var e = r.consumeArgs(3);
|
||
r.consumeSpaces();
|
||
var t = r.future();
|
||
return e[0].length === 1 && e[0][0].text === t.text ? { tokens: e[1], numArgs: 0 } : { tokens: e[2], numArgs: 0 };
|
||
});
|
||
m('\\@ifstar', '\\@ifnextchar *{\\@firstoftwo{#1}}');
|
||
m('\\TextOrMath', function (r) {
|
||
var e = r.consumeArgs(2);
|
||
return r.mode === 'text' ? { tokens: e[0], numArgs: 0 } : { tokens: e[1], numArgs: 0 };
|
||
});
|
||
var mr = {
|
||
0: 0,
|
||
1: 1,
|
||
2: 2,
|
||
3: 3,
|
||
4: 4,
|
||
5: 5,
|
||
6: 6,
|
||
7: 7,
|
||
8: 8,
|
||
9: 9,
|
||
a: 10,
|
||
A: 10,
|
||
b: 11,
|
||
B: 11,
|
||
c: 12,
|
||
C: 12,
|
||
d: 13,
|
||
D: 13,
|
||
e: 14,
|
||
E: 14,
|
||
f: 15,
|
||
F: 15,
|
||
};
|
||
m('\\char', function (r) {
|
||
var e = r.popToken(),
|
||
t,
|
||
a = '';
|
||
if (e.text === "'") (t = 8), (e = r.popToken());
|
||
else if (e.text === '"') (t = 16), (e = r.popToken());
|
||
else if (e.text === '`')
|
||
if (((e = r.popToken()), e.text[0] === '\\')) a = e.text.charCodeAt(1);
|
||
else {
|
||
if (e.text === 'EOF') throw new M('\\char` missing argument');
|
||
a = e.text.charCodeAt(0);
|
||
}
|
||
else t = 10;
|
||
if (t) {
|
||
if (((a = mr[e.text]), a == null || a >= t)) throw new M('Invalid base-' + t + ' digit ' + e.text);
|
||
for (var n; (n = mr[r.future().text]) != null && n < t; ) (a *= t), (a += n), r.popToken();
|
||
}
|
||
return '\\@char{' + a + '}';
|
||
});
|
||
var Bt = (r, e, t) => {
|
||
var a = r.consumeArg().tokens;
|
||
if (a.length !== 1) throw new M("\\newcommand's first argument must be a macro name");
|
||
var n = a[0].text,
|
||
s = r.isDefined(n);
|
||
if (s && !e) throw new M('\\newcommand{' + n + '} attempting to redefine ' + (n + '; use \\renewcommand'));
|
||
if (!s && !t) throw new M('\\renewcommand{' + n + '} when command ' + n + ' does not yet exist; use \\newcommand');
|
||
var o = 0;
|
||
if (((a = r.consumeArg().tokens), a.length === 1 && a[0].text === '[')) {
|
||
for (var h = '', c = r.expandNextToken(); c.text !== ']' && c.text !== 'EOF'; ) (h += c.text), (c = r.expandNextToken());
|
||
if (!h.match(/^\s*[0-9]+\s*$/)) throw new M('Invalid number of arguments: ' + h);
|
||
(o = parseInt(h)), (a = r.consumeArg().tokens);
|
||
}
|
||
return r.macros.set(n, { tokens: a, numArgs: o }), '';
|
||
};
|
||
m('\\newcommand', (r) => Bt(r, !1, !0));
|
||
m('\\renewcommand', (r) => Bt(r, !0, !1));
|
||
m('\\providecommand', (r) => Bt(r, !0, !0));
|
||
m('\\message', (r) => {
|
||
var e = r.consumeArgs(1)[0];
|
||
return (
|
||
console.log(
|
||
e
|
||
.reverse()
|
||
.map((t) => t.text)
|
||
.join('')
|
||
),
|
||
''
|
||
);
|
||
});
|
||
m('\\errmessage', (r) => {
|
||
var e = r.consumeArgs(1)[0];
|
||
return (
|
||
console.error(
|
||
e
|
||
.reverse()
|
||
.map((t) => t.text)
|
||
.join('')
|
||
),
|
||
''
|
||
);
|
||
});
|
||
m('\\show', (r) => {
|
||
var e = r.popToken(),
|
||
t = e.text;
|
||
return console.log(e, r.macros.get(t), F0[t], $.math[t], $.text[t]), '';
|
||
});
|
||
m('\\bgroup', '{');
|
||
m('\\egroup', '}');
|
||
m('~', '\\nobreakspace');
|
||
m('\\lq', '`');
|
||
m('\\rq', "'");
|
||
m('\\aa', '\\r a');
|
||
m('\\AA', '\\r A');
|
||
m('\\textcopyright', '\\html@mathml{\\textcircled{c}}{\\char`©}');
|
||
m('\\copyright', '\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}');
|
||
m('\\textregistered', '\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}');
|
||
m('ℬ', '\\mathscr{B}');
|
||
m('ℰ', '\\mathscr{E}');
|
||
m('ℱ', '\\mathscr{F}');
|
||
m('ℋ', '\\mathscr{H}');
|
||
m('ℐ', '\\mathscr{I}');
|
||
m('ℒ', '\\mathscr{L}');
|
||
m('ℳ', '\\mathscr{M}');
|
||
m('ℛ', '\\mathscr{R}');
|
||
m('ℭ', '\\mathfrak{C}');
|
||
m('ℌ', '\\mathfrak{H}');
|
||
m('ℨ', '\\mathfrak{Z}');
|
||
m('\\Bbbk', '\\Bbb{k}');
|
||
m('·', '\\cdotp');
|
||
m('\\llap', '\\mathllap{\\textrm{#1}}');
|
||
m('\\rlap', '\\mathrlap{\\textrm{#1}}');
|
||
m('\\clap', '\\mathclap{\\textrm{#1}}');
|
||
m('\\mathstrut', '\\vphantom{(}');
|
||
m('\\underbar', '\\underline{\\text{#1}}');
|
||
m('\\not', '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');
|
||
m('\\neq', '\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}');
|
||
m('\\ne', '\\neq');
|
||
m('≠', '\\neq');
|
||
m('\\notin', '\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}');
|
||
m('∉', '\\notin');
|
||
m('≘', '\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}');
|
||
m('≙', '\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}');
|
||
m('≚', '\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}');
|
||
m('≛', '\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}');
|
||
m('≝', '\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}');
|
||
m('≞', '\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}');
|
||
m('≟', '\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}');
|
||
m('⟂', '\\perp');
|
||
m('‼', '\\mathclose{!\\mkern-0.8mu!}');
|
||
m('∌', '\\notni');
|
||
m('⌜', '\\ulcorner');
|
||
m('⌝', '\\urcorner');
|
||
m('⌞', '\\llcorner');
|
||
m('⌟', '\\lrcorner');
|
||
m('©', '\\copyright');
|
||
m('®', '\\textregistered');
|
||
m('️', '\\textregistered');
|
||
m('\\ulcorner', '\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');
|
||
m('\\urcorner', '\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');
|
||
m('\\llcorner', '\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');
|
||
m('\\lrcorner', '\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');
|
||
m('\\vdots', '\\mathord{\\varvdots\\rule{0pt}{15pt}}');
|
||
m('⋮', '\\vdots');
|
||
m('\\varGamma', '\\mathit{\\Gamma}');
|
||
m('\\varDelta', '\\mathit{\\Delta}');
|
||
m('\\varTheta', '\\mathit{\\Theta}');
|
||
m('\\varLambda', '\\mathit{\\Lambda}');
|
||
m('\\varXi', '\\mathit{\\Xi}');
|
||
m('\\varPi', '\\mathit{\\Pi}');
|
||
m('\\varSigma', '\\mathit{\\Sigma}');
|
||
m('\\varUpsilon', '\\mathit{\\Upsilon}');
|
||
m('\\varPhi', '\\mathit{\\Phi}');
|
||
m('\\varPsi', '\\mathit{\\Psi}');
|
||
m('\\varOmega', '\\mathit{\\Omega}');
|
||
m('\\substack', '\\begin{subarray}{c}#1\\end{subarray}');
|
||
m('\\colon', '\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax');
|
||
m('\\boxed', '\\fbox{$\\displaystyle{#1}$}');
|
||
m('\\iff', '\\DOTSB\\;\\Longleftrightarrow\\;');
|
||
m('\\implies', '\\DOTSB\\;\\Longrightarrow\\;');
|
||
m('\\impliedby', '\\DOTSB\\;\\Longleftarrow\\;');
|
||
var cr = {
|
||
',': '\\dotsc',
|
||
'\\not': '\\dotsb',
|
||
'+': '\\dotsb',
|
||
'=': '\\dotsb',
|
||
'<': '\\dotsb',
|
||
'>': '\\dotsb',
|
||
'-': '\\dotsb',
|
||
'*': '\\dotsb',
|
||
':': '\\dotsb',
|
||
'\\DOTSB': '\\dotsb',
|
||
'\\coprod': '\\dotsb',
|
||
'\\bigvee': '\\dotsb',
|
||
'\\bigwedge': '\\dotsb',
|
||
'\\biguplus': '\\dotsb',
|
||
'\\bigcap': '\\dotsb',
|
||
'\\bigcup': '\\dotsb',
|
||
'\\prod': '\\dotsb',
|
||
'\\sum': '\\dotsb',
|
||
'\\bigotimes': '\\dotsb',
|
||
'\\bigoplus': '\\dotsb',
|
||
'\\bigodot': '\\dotsb',
|
||
'\\bigsqcup': '\\dotsb',
|
||
'\\And': '\\dotsb',
|
||
'\\longrightarrow': '\\dotsb',
|
||
'\\Longrightarrow': '\\dotsb',
|
||
'\\longleftarrow': '\\dotsb',
|
||
'\\Longleftarrow': '\\dotsb',
|
||
'\\longleftrightarrow': '\\dotsb',
|
||
'\\Longleftrightarrow': '\\dotsb',
|
||
'\\mapsto': '\\dotsb',
|
||
'\\longmapsto': '\\dotsb',
|
||
'\\hookrightarrow': '\\dotsb',
|
||
'\\doteq': '\\dotsb',
|
||
'\\mathbin': '\\dotsb',
|
||
'\\mathrel': '\\dotsb',
|
||
'\\relbar': '\\dotsb',
|
||
'\\Relbar': '\\dotsb',
|
||
'\\xrightarrow': '\\dotsb',
|
||
'\\xleftarrow': '\\dotsb',
|
||
'\\DOTSI': '\\dotsi',
|
||
'\\int': '\\dotsi',
|
||
'\\oint': '\\dotsi',
|
||
'\\iint': '\\dotsi',
|
||
'\\iiint': '\\dotsi',
|
||
'\\iiiint': '\\dotsi',
|
||
'\\idotsint': '\\dotsi',
|
||
'\\DOTSX': '\\dotsx',
|
||
};
|
||
m('\\dots', function (r) {
|
||
var e = '\\dotso',
|
||
t = r.expandAfterFuture().text;
|
||
return t in cr ? (e = cr[t]) : (t.slice(0, 4) === '\\not' || (t in $.math && q.contains(['bin', 'rel'], $.math[t].group))) && (e = '\\dotsb'), e;
|
||
});
|
||
var Dt = {
|
||
')': !0,
|
||
']': !0,
|
||
'\\rbrack': !0,
|
||
'\\}': !0,
|
||
'\\rbrace': !0,
|
||
'\\rangle': !0,
|
||
'\\rceil': !0,
|
||
'\\rfloor': !0,
|
||
'\\rgroup': !0,
|
||
'\\rmoustache': !0,
|
||
'\\right': !0,
|
||
'\\bigr': !0,
|
||
'\\biggr': !0,
|
||
'\\Bigr': !0,
|
||
'\\Biggr': !0,
|
||
$: !0,
|
||
';': !0,
|
||
'.': !0,
|
||
',': !0,
|
||
};
|
||
m('\\dotso', function (r) {
|
||
var e = r.future().text;
|
||
return e in Dt ? '\\ldots\\,' : '\\ldots';
|
||
});
|
||
m('\\dotsc', function (r) {
|
||
var e = r.future().text;
|
||
return e in Dt && e !== ',' ? '\\ldots\\,' : '\\ldots';
|
||
});
|
||
m('\\cdots', function (r) {
|
||
var e = r.future().text;
|
||
return e in Dt ? '\\@cdots\\,' : '\\@cdots';
|
||
});
|
||
m('\\dotsb', '\\cdots');
|
||
m('\\dotsm', '\\cdots');
|
||
m('\\dotsi', '\\!\\cdots');
|
||
m('\\dotsx', '\\ldots\\,');
|
||
m('\\DOTSI', '\\relax');
|
||
m('\\DOTSB', '\\relax');
|
||
m('\\DOTSX', '\\relax');
|
||
m('\\tmspace', '\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax');
|
||
m('\\,', '\\tmspace+{3mu}{.1667em}');
|
||
m('\\thinspace', '\\,');
|
||
m('\\>', '\\mskip{4mu}');
|
||
m('\\:', '\\tmspace+{4mu}{.2222em}');
|
||
m('\\medspace', '\\:');
|
||
m('\\;', '\\tmspace+{5mu}{.2777em}');
|
||
m('\\thickspace', '\\;');
|
||
m('\\!', '\\tmspace-{3mu}{.1667em}');
|
||
m('\\negthinspace', '\\!');
|
||
m('\\negmedspace', '\\tmspace-{4mu}{.2222em}');
|
||
m('\\negthickspace', '\\tmspace-{5mu}{.277em}');
|
||
m('\\enspace', '\\kern.5em ');
|
||
m('\\enskip', '\\hskip.5em\\relax');
|
||
m('\\quad', '\\hskip1em\\relax');
|
||
m('\\qquad', '\\hskip2em\\relax');
|
||
m('\\tag', '\\@ifstar\\tag@literal\\tag@paren');
|
||
m('\\tag@paren', '\\tag@literal{({#1})}');
|
||
m('\\tag@literal', (r) => {
|
||
if (r.macros.get('\\df@tag')) throw new M('Multiple \\tag');
|
||
return '\\gdef\\df@tag{\\text{#1}}';
|
||
});
|
||
m(
|
||
'\\bmod',
|
||
'\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}'
|
||
);
|
||
m('\\pod', '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)');
|
||
m('\\pmod', '\\pod{{\\rm mod}\\mkern6mu#1}');
|
||
m('\\mod', '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1');
|
||
m('\\newline', '\\\\\\relax');
|
||
m('\\TeX', '\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}');
|
||
var ia = A(x0['Main-Regular']['T'.charCodeAt(0)][1] - 0.7 * x0['Main-Regular']['A'.charCodeAt(0)][1]);
|
||
m('\\LaTeX', '\\textrm{\\html@mathml{' + ('L\\kern-.36em\\raisebox{' + ia + '}{\\scriptstyle A}') + '\\kern-.15em\\TeX}{LaTeX}}');
|
||
m('\\KaTeX', '\\textrm{\\html@mathml{' + ('K\\kern-.17em\\raisebox{' + ia + '}{\\scriptstyle A}') + '\\kern-.15em\\TeX}{KaTeX}}');
|
||
m('\\hspace', '\\@ifstar\\@hspacer\\@hspace');
|
||
m('\\@hspace', '\\hskip #1\\relax');
|
||
m('\\@hspacer', '\\rule{0pt}{0pt}\\hskip #1\\relax');
|
||
m('\\ordinarycolon', ':');
|
||
m('\\vcentcolon', '\\mathrel{\\mathop\\ordinarycolon}');
|
||
m('\\dblcolon', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');
|
||
m('\\coloneqq', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');
|
||
m('\\Coloneqq', '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');
|
||
m('\\coloneq', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');
|
||
m('\\Coloneq', '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');
|
||
m('\\eqqcolon', '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');
|
||
m('\\Eqqcolon', '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');
|
||
m('\\eqcolon', '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');
|
||
m('\\Eqcolon', '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');
|
||
m('\\colonapprox', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');
|
||
m('\\Colonapprox', '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');
|
||
m('\\colonsim', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');
|
||
m('\\Colonsim', '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');
|
||
m('∷', '\\dblcolon');
|
||
m('∹', '\\eqcolon');
|
||
m('≔', '\\coloneqq');
|
||
m('≕', '\\eqqcolon');
|
||
m('⩴', '\\Coloneqq');
|
||
m('\\ratio', '\\vcentcolon');
|
||
m('\\coloncolon', '\\dblcolon');
|
||
m('\\colonequals', '\\coloneqq');
|
||
m('\\coloncolonequals', '\\Coloneqq');
|
||
m('\\equalscolon', '\\eqqcolon');
|
||
m('\\equalscoloncolon', '\\Eqqcolon');
|
||
m('\\colonminus', '\\coloneq');
|
||
m('\\coloncolonminus', '\\Coloneq');
|
||
m('\\minuscolon', '\\eqcolon');
|
||
m('\\minuscoloncolon', '\\Eqcolon');
|
||
m('\\coloncolonapprox', '\\Colonapprox');
|
||
m('\\coloncolonsim', '\\Colonsim');
|
||
m('\\simcolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}');
|
||
m('\\simcoloncolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}');
|
||
m('\\approxcolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}');
|
||
m('\\approxcoloncolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}');
|
||
m('\\notni', '\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}');
|
||
m('\\limsup', '\\DOTSB\\operatorname*{lim\\,sup}');
|
||
m('\\liminf', '\\DOTSB\\operatorname*{lim\\,inf}');
|
||
m('\\injlim', '\\DOTSB\\operatorname*{inj\\,lim}');
|
||
m('\\projlim', '\\DOTSB\\operatorname*{proj\\,lim}');
|
||
m('\\varlimsup', '\\DOTSB\\operatorname*{\\overline{lim}}');
|
||
m('\\varliminf', '\\DOTSB\\operatorname*{\\underline{lim}}');
|
||
m('\\varinjlim', '\\DOTSB\\operatorname*{\\underrightarrow{lim}}');
|
||
m('\\varprojlim', '\\DOTSB\\operatorname*{\\underleftarrow{lim}}');
|
||
m('\\gvertneqq', '\\html@mathml{\\@gvertneqq}{≩}');
|
||
m('\\lvertneqq', '\\html@mathml{\\@lvertneqq}{≨}');
|
||
m('\\ngeqq', '\\html@mathml{\\@ngeqq}{≱}');
|
||
m('\\ngeqslant', '\\html@mathml{\\@ngeqslant}{≱}');
|
||
m('\\nleqq', '\\html@mathml{\\@nleqq}{≰}');
|
||
m('\\nleqslant', '\\html@mathml{\\@nleqslant}{≰}');
|
||
m('\\nshortmid', '\\html@mathml{\\@nshortmid}{∤}');
|
||
m('\\nshortparallel', '\\html@mathml{\\@nshortparallel}{∦}');
|
||
m('\\nsubseteqq', '\\html@mathml{\\@nsubseteqq}{⊈}');
|
||
m('\\nsupseteqq', '\\html@mathml{\\@nsupseteqq}{⊉}');
|
||
m('\\varsubsetneq', '\\html@mathml{\\@varsubsetneq}{⊊}');
|
||
m('\\varsubsetneqq', '\\html@mathml{\\@varsubsetneqq}{⫋}');
|
||
m('\\varsupsetneq', '\\html@mathml{\\@varsupsetneq}{⊋}');
|
||
m('\\varsupsetneqq', '\\html@mathml{\\@varsupsetneqq}{⫌}');
|
||
m('\\imath', '\\html@mathml{\\@imath}{ı}');
|
||
m('\\jmath', '\\html@mathml{\\@jmath}{ȷ}');
|
||
m('\\llbracket', '\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}');
|
||
m('\\rrbracket', '\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}');
|
||
m('⟦', '\\llbracket');
|
||
m('⟧', '\\rrbracket');
|
||
m('\\lBrace', '\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}');
|
||
m('\\rBrace', '\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}');
|
||
m('⦃', '\\lBrace');
|
||
m('⦄', '\\rBrace');
|
||
m(
|
||
'\\minuso',
|
||
'\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}'
|
||
);
|
||
m('⦵', '\\minuso');
|
||
m('\\darr', '\\downarrow');
|
||
m('\\dArr', '\\Downarrow');
|
||
m('\\Darr', '\\Downarrow');
|
||
m('\\lang', '\\langle');
|
||
m('\\rang', '\\rangle');
|
||
m('\\uarr', '\\uparrow');
|
||
m('\\uArr', '\\Uparrow');
|
||
m('\\Uarr', '\\Uparrow');
|
||
m('\\N', '\\mathbb{N}');
|
||
m('\\R', '\\mathbb{R}');
|
||
m('\\Z', '\\mathbb{Z}');
|
||
m('\\alef', '\\aleph');
|
||
m('\\alefsym', '\\aleph');
|
||
m('\\Alpha', '\\mathrm{A}');
|
||
m('\\Beta', '\\mathrm{B}');
|
||
m('\\bull', '\\bullet');
|
||
m('\\Chi', '\\mathrm{X}');
|
||
m('\\clubs', '\\clubsuit');
|
||
m('\\cnums', '\\mathbb{C}');
|
||
m('\\Complex', '\\mathbb{C}');
|
||
m('\\Dagger', '\\ddagger');
|
||
m('\\diamonds', '\\diamondsuit');
|
||
m('\\empty', '\\emptyset');
|
||
m('\\Epsilon', '\\mathrm{E}');
|
||
m('\\Eta', '\\mathrm{H}');
|
||
m('\\exist', '\\exists');
|
||
m('\\harr', '\\leftrightarrow');
|
||
m('\\hArr', '\\Leftrightarrow');
|
||
m('\\Harr', '\\Leftrightarrow');
|
||
m('\\hearts', '\\heartsuit');
|
||
m('\\image', '\\Im');
|
||
m('\\infin', '\\infty');
|
||
m('\\Iota', '\\mathrm{I}');
|
||
m('\\isin', '\\in');
|
||
m('\\Kappa', '\\mathrm{K}');
|
||
m('\\larr', '\\leftarrow');
|
||
m('\\lArr', '\\Leftarrow');
|
||
m('\\Larr', '\\Leftarrow');
|
||
m('\\lrarr', '\\leftrightarrow');
|
||
m('\\lrArr', '\\Leftrightarrow');
|
||
m('\\Lrarr', '\\Leftrightarrow');
|
||
m('\\Mu', '\\mathrm{M}');
|
||
m('\\natnums', '\\mathbb{N}');
|
||
m('\\Nu', '\\mathrm{N}');
|
||
m('\\Omicron', '\\mathrm{O}');
|
||
m('\\plusmn', '\\pm');
|
||
m('\\rarr', '\\rightarrow');
|
||
m('\\rArr', '\\Rightarrow');
|
||
m('\\Rarr', '\\Rightarrow');
|
||
m('\\real', '\\Re');
|
||
m('\\reals', '\\mathbb{R}');
|
||
m('\\Reals', '\\mathbb{R}');
|
||
m('\\Rho', '\\mathrm{P}');
|
||
m('\\sdot', '\\cdot');
|
||
m('\\sect', '\\S');
|
||
m('\\spades', '\\spadesuit');
|
||
m('\\sub', '\\subset');
|
||
m('\\sube', '\\subseteq');
|
||
m('\\supe', '\\supseteq');
|
||
m('\\Tau', '\\mathrm{T}');
|
||
m('\\thetasym', '\\vartheta');
|
||
m('\\weierp', '\\wp');
|
||
m('\\Zeta', '\\mathrm{Z}');
|
||
m('\\argmin', '\\DOTSB\\operatorname*{arg\\,min}');
|
||
m('\\argmax', '\\DOTSB\\operatorname*{arg\\,max}');
|
||
m('\\plim', '\\DOTSB\\mathop{\\operatorname{plim}}\\limits');
|
||
m('\\bra', '\\mathinner{\\langle{#1}|}');
|
||
m('\\ket', '\\mathinner{|{#1}\\rangle}');
|
||
m('\\braket', '\\mathinner{\\langle{#1}\\rangle}');
|
||
m('\\Bra', '\\left\\langle#1\\right|');
|
||
m('\\Ket', '\\left|#1\\right\\rangle');
|
||
var sa = (r) => (e) => {
|
||
var t = e.consumeArg().tokens,
|
||
a = e.consumeArg().tokens,
|
||
n = e.consumeArg().tokens,
|
||
s = e.consumeArg().tokens,
|
||
o = e.macros.get('|'),
|
||
h = e.macros.get('\\|');
|
||
e.macros.beginGroup();
|
||
var c = (y) => (w) => {
|
||
r && (w.macros.set('|', o), n.length && w.macros.set('\\|', h));
|
||
var x = y;
|
||
if (!y && n.length) {
|
||
var z = w.future();
|
||
z.text === '|' && (w.popToken(), (x = !0));
|
||
}
|
||
return { tokens: x ? n : a, numArgs: 0 };
|
||
};
|
||
e.macros.set('|', c(!1)), n.length && e.macros.set('\\|', c(!0));
|
||
var p = e.consumeArg().tokens,
|
||
g = e.expandTokens([...s, ...p, ...t]);
|
||
return e.macros.endGroup(), { tokens: g.reverse(), numArgs: 0 };
|
||
};
|
||
m('\\bra@ket', sa(!1));
|
||
m('\\bra@set', sa(!0));
|
||
m('\\Braket', '\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}');
|
||
m('\\Set', '\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}');
|
||
m('\\set', '\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}');
|
||
m('\\angln', '{\\angl n}');
|
||
m('\\blue', '\\textcolor{##6495ed}{#1}');
|
||
m('\\orange', '\\textcolor{##ffa500}{#1}');
|
||
m('\\pink', '\\textcolor{##ff00af}{#1}');
|
||
m('\\red', '\\textcolor{##df0030}{#1}');
|
||
m('\\green', '\\textcolor{##28ae7b}{#1}');
|
||
m('\\gray', '\\textcolor{gray}{#1}');
|
||
m('\\purple', '\\textcolor{##9d38bd}{#1}');
|
||
m('\\blueA', '\\textcolor{##ccfaff}{#1}');
|
||
m('\\blueB', '\\textcolor{##80f6ff}{#1}');
|
||
m('\\blueC', '\\textcolor{##63d9ea}{#1}');
|
||
m('\\blueD', '\\textcolor{##11accd}{#1}');
|
||
m('\\blueE', '\\textcolor{##0c7f99}{#1}');
|
||
m('\\tealA', '\\textcolor{##94fff5}{#1}');
|
||
m('\\tealB', '\\textcolor{##26edd5}{#1}');
|
||
m('\\tealC', '\\textcolor{##01d1c1}{#1}');
|
||
m('\\tealD', '\\textcolor{##01a995}{#1}');
|
||
m('\\tealE', '\\textcolor{##208170}{#1}');
|
||
m('\\greenA', '\\textcolor{##b6ffb0}{#1}');
|
||
m('\\greenB', '\\textcolor{##8af281}{#1}');
|
||
m('\\greenC', '\\textcolor{##74cf70}{#1}');
|
||
m('\\greenD', '\\textcolor{##1fab54}{#1}');
|
||
m('\\greenE', '\\textcolor{##0d923f}{#1}');
|
||
m('\\goldA', '\\textcolor{##ffd0a9}{#1}');
|
||
m('\\goldB', '\\textcolor{##ffbb71}{#1}');
|
||
m('\\goldC', '\\textcolor{##ff9c39}{#1}');
|
||
m('\\goldD', '\\textcolor{##e07d10}{#1}');
|
||
m('\\goldE', '\\textcolor{##a75a05}{#1}');
|
||
m('\\redA', '\\textcolor{##fca9a9}{#1}');
|
||
m('\\redB', '\\textcolor{##ff8482}{#1}');
|
||
m('\\redC', '\\textcolor{##f9685d}{#1}');
|
||
m('\\redD', '\\textcolor{##e84d39}{#1}');
|
||
m('\\redE', '\\textcolor{##bc2612}{#1}');
|
||
m('\\maroonA', '\\textcolor{##ffbde0}{#1}');
|
||
m('\\maroonB', '\\textcolor{##ff92c6}{#1}');
|
||
m('\\maroonC', '\\textcolor{##ed5fa6}{#1}');
|
||
m('\\maroonD', '\\textcolor{##ca337c}{#1}');
|
||
m('\\maroonE', '\\textcolor{##9e034e}{#1}');
|
||
m('\\purpleA', '\\textcolor{##ddd7ff}{#1}');
|
||
m('\\purpleB', '\\textcolor{##c6b9fc}{#1}');
|
||
m('\\purpleC', '\\textcolor{##aa87ff}{#1}');
|
||
m('\\purpleD', '\\textcolor{##7854ab}{#1}');
|
||
m('\\purpleE', '\\textcolor{##543b78}{#1}');
|
||
m('\\mintA', '\\textcolor{##f5f9e8}{#1}');
|
||
m('\\mintB', '\\textcolor{##edf2df}{#1}');
|
||
m('\\mintC', '\\textcolor{##e0e5cc}{#1}');
|
||
m('\\grayA', '\\textcolor{##f6f7f7}{#1}');
|
||
m('\\grayB', '\\textcolor{##f0f1f2}{#1}');
|
||
m('\\grayC', '\\textcolor{##e3e5e6}{#1}');
|
||
m('\\grayD', '\\textcolor{##d6d8da}{#1}');
|
||
m('\\grayE', '\\textcolor{##babec2}{#1}');
|
||
m('\\grayF', '\\textcolor{##888d93}{#1}');
|
||
m('\\grayG', '\\textcolor{##626569}{#1}');
|
||
m('\\grayH', '\\textcolor{##3b3e40}{#1}');
|
||
m('\\grayI', '\\textcolor{##21242c}{#1}');
|
||
m('\\kaBlue', '\\textcolor{##314453}{#1}');
|
||
m('\\kaGreen', '\\textcolor{##71B307}{#1}');
|
||
var la = { '^': !0, _: !0, '\\limits': !0, '\\nolimits': !0 };
|
||
class s4 {
|
||
constructor(e, t, a) {
|
||
(this.settings = void 0),
|
||
(this.expansionCount = void 0),
|
||
(this.lexer = void 0),
|
||
(this.macros = void 0),
|
||
(this.stack = void 0),
|
||
(this.mode = void 0),
|
||
(this.settings = t),
|
||
(this.expansionCount = 0),
|
||
this.feed(e),
|
||
(this.macros = new n4(i4, t.macros)),
|
||
(this.mode = a),
|
||
(this.stack = []);
|
||
}
|
||
feed(e) {
|
||
this.lexer = new hr(e, this.settings);
|
||
}
|
||
switchMode(e) {
|
||
this.mode = e;
|
||
}
|
||
beginGroup() {
|
||
this.macros.beginGroup();
|
||
}
|
||
endGroup() {
|
||
this.macros.endGroup();
|
||
}
|
||
endGroups() {
|
||
this.macros.endGroups();
|
||
}
|
||
future() {
|
||
return this.stack.length === 0 && this.pushToken(this.lexer.lex()), this.stack[this.stack.length - 1];
|
||
}
|
||
popToken() {
|
||
return this.future(), this.stack.pop();
|
||
}
|
||
pushToken(e) {
|
||
this.stack.push(e);
|
||
}
|
||
pushTokens(e) {
|
||
this.stack.push(...e);
|
||
}
|
||
scanArgument(e) {
|
||
var t, a, n;
|
||
if (e) {
|
||
if ((this.consumeSpaces(), this.future().text !== '[')) return null;
|
||
(t = this.popToken()), ({ tokens: n, end: a } = this.consumeArg([']']));
|
||
} else ({ tokens: n, start: t, end: a } = this.consumeArg());
|
||
return this.pushToken(new f0('EOF', a.loc)), this.pushTokens(n), t.range(a, '');
|
||
}
|
||
consumeSpaces() {
|
||
for (;;) {
|
||
var e = this.future();
|
||
if (e.text === ' ') this.stack.pop();
|
||
else break;
|
||
}
|
||
}
|
||
consumeArg(e) {
|
||
var t = [],
|
||
a = e && e.length > 0;
|
||
a || this.consumeSpaces();
|
||
var n = this.future(),
|
||
s,
|
||
o = 0,
|
||
h = 0;
|
||
do {
|
||
if (((s = this.popToken()), t.push(s), s.text === '{')) ++o;
|
||
else if (s.text === '}') {
|
||
if ((--o, o === -1)) throw new M('Extra }', s);
|
||
} else if (s.text === 'EOF') throw new M("Unexpected end of input in a macro argument, expected '" + (e && a ? e[h] : '}') + "'", s);
|
||
if (e && a)
|
||
if ((o === 0 || (o === 1 && e[h] === '{')) && s.text === e[h]) {
|
||
if ((++h, h === e.length)) {
|
||
t.splice(-h, h);
|
||
break;
|
||
}
|
||
} else h = 0;
|
||
} while (o !== 0 || a);
|
||
return n.text === '{' && t[t.length - 1].text === '}' && (t.pop(), t.shift()), t.reverse(), { tokens: t, start: n, end: s };
|
||
}
|
||
consumeArgs(e, t) {
|
||
if (t) {
|
||
if (t.length !== e + 1) throw new M("The length of delimiters doesn't match the number of args!");
|
||
for (var a = t[0], n = 0; n < a.length; n++) {
|
||
var s = this.popToken();
|
||
if (a[n] !== s.text) throw new M("Use of the macro doesn't match its definition", s);
|
||
}
|
||
}
|
||
for (var o = [], h = 0; h < e; h++) o.push(this.consumeArg(t && t[h + 1]).tokens);
|
||
return o;
|
||
}
|
||
countExpansion(e) {
|
||
if (((this.expansionCount += e), this.expansionCount > this.settings.maxExpand))
|
||
throw new M('Too many expansions: infinite loop or need to increase maxExpand setting');
|
||
}
|
||
expandOnce(e) {
|
||
var t = this.popToken(),
|
||
a = t.text,
|
||
n = t.noexpand ? null : this._getExpansion(a);
|
||
if (n == null || (e && n.unexpandable)) {
|
||
if (e && n == null && a[0] === '\\' && !this.isDefined(a)) throw new M('Undefined control sequence: ' + a);
|
||
return this.pushToken(t), !1;
|
||
}
|
||
this.countExpansion(1);
|
||
var s = n.tokens,
|
||
o = this.consumeArgs(n.numArgs, n.delimiters);
|
||
if (n.numArgs) {
|
||
s = s.slice();
|
||
for (var h = s.length - 1; h >= 0; --h) {
|
||
var c = s[h];
|
||
if (c.text === '#') {
|
||
if (h === 0) throw new M('Incomplete placeholder at end of macro body', c);
|
||
if (((c = s[--h]), c.text === '#')) s.splice(h + 1, 1);
|
||
else if (/^[1-9]$/.test(c.text)) s.splice(h, 2, ...o[+c.text - 1]);
|
||
else throw new M('Not a valid argument number', c);
|
||
}
|
||
}
|
||
}
|
||
return this.pushTokens(s), s.length;
|
||
}
|
||
expandAfterFuture() {
|
||
return this.expandOnce(), this.future();
|
||
}
|
||
expandNextToken() {
|
||
for (;;)
|
||
if (this.expandOnce() === !1) {
|
||
var e = this.stack.pop();
|
||
return e.treatAsRelax && (e.text = '\\relax'), e;
|
||
}
|
||
throw new Error();
|
||
}
|
||
expandMacro(e) {
|
||
return this.macros.has(e) ? this.expandTokens([new f0(e)]) : void 0;
|
||
}
|
||
expandTokens(e) {
|
||
var t = [],
|
||
a = this.stack.length;
|
||
for (this.pushTokens(e); this.stack.length > a; )
|
||
if (this.expandOnce(!0) === !1) {
|
||
var n = this.stack.pop();
|
||
n.treatAsRelax && ((n.noexpand = !1), (n.treatAsRelax = !1)), t.push(n);
|
||
}
|
||
return this.countExpansion(t.length), t;
|
||
}
|
||
expandMacroAsText(e) {
|
||
var t = this.expandMacro(e);
|
||
return t && t.map((a) => a.text).join('');
|
||
}
|
||
_getExpansion(e) {
|
||
var t = this.macros.get(e);
|
||
if (t == null) return t;
|
||
if (e.length === 1) {
|
||
var a = this.lexer.catcodes[e];
|
||
if (a != null && a !== 13) return;
|
||
}
|
||
var n = typeof t == 'function' ? t(this) : t;
|
||
if (typeof n == 'string') {
|
||
var s = 0;
|
||
if (n.indexOf('#') !== -1) for (var o = n.replace(/##/g, ''); o.indexOf('#' + (s + 1)) !== -1; ) ++s;
|
||
for (var h = new hr(n, this.settings), c = [], p = h.lex(); p.text !== 'EOF'; ) c.push(p), (p = h.lex());
|
||
c.reverse();
|
||
var g = { tokens: c, numArgs: s };
|
||
return g;
|
||
}
|
||
return n;
|
||
}
|
||
isDefined(e) {
|
||
return this.macros.has(e) || F0.hasOwnProperty(e) || $.math.hasOwnProperty(e) || $.text.hasOwnProperty(e) || la.hasOwnProperty(e);
|
||
}
|
||
isExpandable(e) {
|
||
var t = this.macros.get(e);
|
||
return t != null ? typeof t == 'string' || typeof t == 'function' || !t.unexpandable : F0.hasOwnProperty(e) && !F0[e].primitive;
|
||
}
|
||
}
|
||
var dr = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,
|
||
Me = Object.freeze({
|
||
'₊': '+',
|
||
'₋': '-',
|
||
'₌': '=',
|
||
'₍': '(',
|
||
'₎': ')',
|
||
'₀': '0',
|
||
'₁': '1',
|
||
'₂': '2',
|
||
'₃': '3',
|
||
'₄': '4',
|
||
'₅': '5',
|
||
'₆': '6',
|
||
'₇': '7',
|
||
'₈': '8',
|
||
'₉': '9',
|
||
ₐ: 'a',
|
||
ₑ: 'e',
|
||
ₕ: 'h',
|
||
ᵢ: 'i',
|
||
ⱼ: 'j',
|
||
ₖ: 'k',
|
||
ₗ: 'l',
|
||
ₘ: 'm',
|
||
ₙ: 'n',
|
||
ₒ: 'o',
|
||
ₚ: 'p',
|
||
ᵣ: 'r',
|
||
ₛ: 's',
|
||
ₜ: 't',
|
||
ᵤ: 'u',
|
||
ᵥ: 'v',
|
||
ₓ: 'x',
|
||
ᵦ: 'β',
|
||
ᵧ: 'γ',
|
||
ᵨ: 'ρ',
|
||
ᵩ: 'ϕ',
|
||
ᵪ: 'χ',
|
||
'⁺': '+',
|
||
'⁻': '-',
|
||
'⁼': '=',
|
||
'⁽': '(',
|
||
'⁾': ')',
|
||
'⁰': '0',
|
||
'¹': '1',
|
||
'²': '2',
|
||
'³': '3',
|
||
'⁴': '4',
|
||
'⁵': '5',
|
||
'⁶': '6',
|
||
'⁷': '7',
|
||
'⁸': '8',
|
||
'⁹': '9',
|
||
ᴬ: 'A',
|
||
ᴮ: 'B',
|
||
ᴰ: 'D',
|
||
ᴱ: 'E',
|
||
ᴳ: 'G',
|
||
ᴴ: 'H',
|
||
ᴵ: 'I',
|
||
ᴶ: 'J',
|
||
ᴷ: 'K',
|
||
ᴸ: 'L',
|
||
ᴹ: 'M',
|
||
ᴺ: 'N',
|
||
ᴼ: 'O',
|
||
ᴾ: 'P',
|
||
ᴿ: 'R',
|
||
ᵀ: 'T',
|
||
ᵁ: 'U',
|
||
ⱽ: 'V',
|
||
ᵂ: 'W',
|
||
ᵃ: 'a',
|
||
ᵇ: 'b',
|
||
ᶜ: 'c',
|
||
ᵈ: 'd',
|
||
ᵉ: 'e',
|
||
ᶠ: 'f',
|
||
ᵍ: 'g',
|
||
ʰ: 'h',
|
||
ⁱ: 'i',
|
||
ʲ: 'j',
|
||
ᵏ: 'k',
|
||
ˡ: 'l',
|
||
ᵐ: 'm',
|
||
ⁿ: 'n',
|
||
ᵒ: 'o',
|
||
ᵖ: 'p',
|
||
ʳ: 'r',
|
||
ˢ: 's',
|
||
ᵗ: 't',
|
||
ᵘ: 'u',
|
||
ᵛ: 'v',
|
||
ʷ: 'w',
|
||
ˣ: 'x',
|
||
ʸ: 'y',
|
||
ᶻ: 'z',
|
||
ᵝ: 'β',
|
||
ᵞ: 'γ',
|
||
ᵟ: 'δ',
|
||
ᵠ: 'ϕ',
|
||
ᵡ: 'χ',
|
||
ᶿ: 'θ',
|
||
}),
|
||
rt = {
|
||
'́': { text: "\\'", math: '\\acute' },
|
||
'̀': { text: '\\`', math: '\\grave' },
|
||
'̈': { text: '\\"', math: '\\ddot' },
|
||
'̃': { text: '\\~', math: '\\tilde' },
|
||
'̄': { text: '\\=', math: '\\bar' },
|
||
'̆': { text: '\\u', math: '\\breve' },
|
||
'̌': { text: '\\v', math: '\\check' },
|
||
'̂': { text: '\\^', math: '\\hat' },
|
||
'̇': { text: '\\.', math: '\\dot' },
|
||
'̊': { text: '\\r', math: '\\mathring' },
|
||
'̋': { text: '\\H' },
|
||
'̧': { text: '\\c' },
|
||
},
|
||
fr = {
|
||
á: 'á',
|
||
à: 'à',
|
||
ä: 'ä',
|
||
ǟ: 'ǟ',
|
||
ã: 'ã',
|
||
ā: 'ā',
|
||
ă: 'ă',
|
||
ắ: 'ắ',
|
||
ằ: 'ằ',
|
||
ẵ: 'ẵ',
|
||
ǎ: 'ǎ',
|
||
â: 'â',
|
||
ấ: 'ấ',
|
||
ầ: 'ầ',
|
||
ẫ: 'ẫ',
|
||
ȧ: 'ȧ',
|
||
ǡ: 'ǡ',
|
||
å: 'å',
|
||
ǻ: 'ǻ',
|
||
ḃ: 'ḃ',
|
||
ć: 'ć',
|
||
ḉ: 'ḉ',
|
||
č: 'č',
|
||
ĉ: 'ĉ',
|
||
ċ: 'ċ',
|
||
ç: 'ç',
|
||
ď: 'ď',
|
||
ḋ: 'ḋ',
|
||
ḑ: 'ḑ',
|
||
é: 'é',
|
||
è: 'è',
|
||
ë: 'ë',
|
||
ẽ: 'ẽ',
|
||
ē: 'ē',
|
||
ḗ: 'ḗ',
|
||
ḕ: 'ḕ',
|
||
ĕ: 'ĕ',
|
||
ḝ: 'ḝ',
|
||
ě: 'ě',
|
||
ê: 'ê',
|
||
ế: 'ế',
|
||
ề: 'ề',
|
||
ễ: 'ễ',
|
||
ė: 'ė',
|
||
ȩ: 'ȩ',
|
||
ḟ: 'ḟ',
|
||
ǵ: 'ǵ',
|
||
ḡ: 'ḡ',
|
||
ğ: 'ğ',
|
||
ǧ: 'ǧ',
|
||
ĝ: 'ĝ',
|
||
ġ: 'ġ',
|
||
ģ: 'ģ',
|
||
ḧ: 'ḧ',
|
||
ȟ: 'ȟ',
|
||
ĥ: 'ĥ',
|
||
ḣ: 'ḣ',
|
||
ḩ: 'ḩ',
|
||
í: 'í',
|
||
ì: 'ì',
|
||
ï: 'ï',
|
||
ḯ: 'ḯ',
|
||
ĩ: 'ĩ',
|
||
ī: 'ī',
|
||
ĭ: 'ĭ',
|
||
ǐ: 'ǐ',
|
||
î: 'î',
|
||
ǰ: 'ǰ',
|
||
ĵ: 'ĵ',
|
||
ḱ: 'ḱ',
|
||
ǩ: 'ǩ',
|
||
ķ: 'ķ',
|
||
ĺ: 'ĺ',
|
||
ľ: 'ľ',
|
||
ļ: 'ļ',
|
||
ḿ: 'ḿ',
|
||
ṁ: 'ṁ',
|
||
ń: 'ń',
|
||
ǹ: 'ǹ',
|
||
ñ: 'ñ',
|
||
ň: 'ň',
|
||
ṅ: 'ṅ',
|
||
ņ: 'ņ',
|
||
ó: 'ó',
|
||
ò: 'ò',
|
||
ö: 'ö',
|
||
ȫ: 'ȫ',
|
||
õ: 'õ',
|
||
ṍ: 'ṍ',
|
||
ṏ: 'ṏ',
|
||
ȭ: 'ȭ',
|
||
ō: 'ō',
|
||
ṓ: 'ṓ',
|
||
ṑ: 'ṑ',
|
||
ŏ: 'ŏ',
|
||
ǒ: 'ǒ',
|
||
ô: 'ô',
|
||
ố: 'ố',
|
||
ồ: 'ồ',
|
||
ỗ: 'ỗ',
|
||
ȯ: 'ȯ',
|
||
ȱ: 'ȱ',
|
||
ő: 'ő',
|
||
ṕ: 'ṕ',
|
||
ṗ: 'ṗ',
|
||
ŕ: 'ŕ',
|
||
ř: 'ř',
|
||
ṙ: 'ṙ',
|
||
ŗ: 'ŗ',
|
||
ś: 'ś',
|
||
ṥ: 'ṥ',
|
||
š: 'š',
|
||
ṧ: 'ṧ',
|
||
ŝ: 'ŝ',
|
||
ṡ: 'ṡ',
|
||
ş: 'ş',
|
||
ẗ: 'ẗ',
|
||
ť: 'ť',
|
||
ṫ: 'ṫ',
|
||
ţ: 'ţ',
|
||
ú: 'ú',
|
||
ù: 'ù',
|
||
ü: 'ü',
|
||
ǘ: 'ǘ',
|
||
ǜ: 'ǜ',
|
||
ǖ: 'ǖ',
|
||
ǚ: 'ǚ',
|
||
ũ: 'ũ',
|
||
ṹ: 'ṹ',
|
||
ū: 'ū',
|
||
ṻ: 'ṻ',
|
||
ŭ: 'ŭ',
|
||
ǔ: 'ǔ',
|
||
û: 'û',
|
||
ů: 'ů',
|
||
ű: 'ű',
|
||
ṽ: 'ṽ',
|
||
ẃ: 'ẃ',
|
||
ẁ: 'ẁ',
|
||
ẅ: 'ẅ',
|
||
ŵ: 'ŵ',
|
||
ẇ: 'ẇ',
|
||
ẘ: 'ẘ',
|
||
ẍ: 'ẍ',
|
||
ẋ: 'ẋ',
|
||
ý: 'ý',
|
||
ỳ: 'ỳ',
|
||
ÿ: 'ÿ',
|
||
ỹ: 'ỹ',
|
||
ȳ: 'ȳ',
|
||
ŷ: 'ŷ',
|
||
ẏ: 'ẏ',
|
||
ẙ: 'ẙ',
|
||
ź: 'ź',
|
||
ž: 'ž',
|
||
ẑ: 'ẑ',
|
||
ż: 'ż',
|
||
Á: 'Á',
|
||
À: 'À',
|
||
Ä: 'Ä',
|
||
Ǟ: 'Ǟ',
|
||
Ã: 'Ã',
|
||
Ā: 'Ā',
|
||
Ă: 'Ă',
|
||
Ắ: 'Ắ',
|
||
Ằ: 'Ằ',
|
||
Ẵ: 'Ẵ',
|
||
Ǎ: 'Ǎ',
|
||
Â: 'Â',
|
||
Ấ: 'Ấ',
|
||
Ầ: 'Ầ',
|
||
Ẫ: 'Ẫ',
|
||
Ȧ: 'Ȧ',
|
||
Ǡ: 'Ǡ',
|
||
Å: 'Å',
|
||
Ǻ: 'Ǻ',
|
||
Ḃ: 'Ḃ',
|
||
Ć: 'Ć',
|
||
Ḉ: 'Ḉ',
|
||
Č: 'Č',
|
||
Ĉ: 'Ĉ',
|
||
Ċ: 'Ċ',
|
||
Ç: 'Ç',
|
||
Ď: 'Ď',
|
||
Ḋ: 'Ḋ',
|
||
Ḑ: 'Ḑ',
|
||
É: 'É',
|
||
È: 'È',
|
||
Ë: 'Ë',
|
||
Ẽ: 'Ẽ',
|
||
Ē: 'Ē',
|
||
Ḗ: 'Ḗ',
|
||
Ḕ: 'Ḕ',
|
||
Ĕ: 'Ĕ',
|
||
Ḝ: 'Ḝ',
|
||
Ě: 'Ě',
|
||
Ê: 'Ê',
|
||
Ế: 'Ế',
|
||
Ề: 'Ề',
|
||
Ễ: 'Ễ',
|
||
Ė: 'Ė',
|
||
Ȩ: 'Ȩ',
|
||
Ḟ: 'Ḟ',
|
||
Ǵ: 'Ǵ',
|
||
Ḡ: 'Ḡ',
|
||
Ğ: 'Ğ',
|
||
Ǧ: 'Ǧ',
|
||
Ĝ: 'Ĝ',
|
||
Ġ: 'Ġ',
|
||
Ģ: 'Ģ',
|
||
Ḧ: 'Ḧ',
|
||
Ȟ: 'Ȟ',
|
||
Ĥ: 'Ĥ',
|
||
Ḣ: 'Ḣ',
|
||
Ḩ: 'Ḩ',
|
||
Í: 'Í',
|
||
Ì: 'Ì',
|
||
Ï: 'Ï',
|
||
Ḯ: 'Ḯ',
|
||
Ĩ: 'Ĩ',
|
||
Ī: 'Ī',
|
||
Ĭ: 'Ĭ',
|
||
Ǐ: 'Ǐ',
|
||
Î: 'Î',
|
||
İ: 'İ',
|
||
Ĵ: 'Ĵ',
|
||
Ḱ: 'Ḱ',
|
||
Ǩ: 'Ǩ',
|
||
Ķ: 'Ķ',
|
||
Ĺ: 'Ĺ',
|
||
Ľ: 'Ľ',
|
||
Ļ: 'Ļ',
|
||
Ḿ: 'Ḿ',
|
||
Ṁ: 'Ṁ',
|
||
Ń: 'Ń',
|
||
Ǹ: 'Ǹ',
|
||
Ñ: 'Ñ',
|
||
Ň: 'Ň',
|
||
Ṅ: 'Ṅ',
|
||
Ņ: 'Ņ',
|
||
Ó: 'Ó',
|
||
Ò: 'Ò',
|
||
Ö: 'Ö',
|
||
Ȫ: 'Ȫ',
|
||
Õ: 'Õ',
|
||
Ṍ: 'Ṍ',
|
||
Ṏ: 'Ṏ',
|
||
Ȭ: 'Ȭ',
|
||
Ō: 'Ō',
|
||
Ṓ: 'Ṓ',
|
||
Ṑ: 'Ṑ',
|
||
Ŏ: 'Ŏ',
|
||
Ǒ: 'Ǒ',
|
||
Ô: 'Ô',
|
||
Ố: 'Ố',
|
||
Ồ: 'Ồ',
|
||
Ỗ: 'Ỗ',
|
||
Ȯ: 'Ȯ',
|
||
Ȱ: 'Ȱ',
|
||
Ő: 'Ő',
|
||
Ṕ: 'Ṕ',
|
||
Ṗ: 'Ṗ',
|
||
Ŕ: 'Ŕ',
|
||
Ř: 'Ř',
|
||
Ṙ: 'Ṙ',
|
||
Ŗ: 'Ŗ',
|
||
Ś: 'Ś',
|
||
Ṥ: 'Ṥ',
|
||
Š: 'Š',
|
||
Ṧ: 'Ṧ',
|
||
Ŝ: 'Ŝ',
|
||
Ṡ: 'Ṡ',
|
||
Ş: 'Ş',
|
||
Ť: 'Ť',
|
||
Ṫ: 'Ṫ',
|
||
Ţ: 'Ţ',
|
||
Ú: 'Ú',
|
||
Ù: 'Ù',
|
||
Ü: 'Ü',
|
||
Ǘ: 'Ǘ',
|
||
Ǜ: 'Ǜ',
|
||
Ǖ: 'Ǖ',
|
||
Ǚ: 'Ǚ',
|
||
Ũ: 'Ũ',
|
||
Ṹ: 'Ṹ',
|
||
Ū: 'Ū',
|
||
Ṻ: 'Ṻ',
|
||
Ŭ: 'Ŭ',
|
||
Ǔ: 'Ǔ',
|
||
Û: 'Û',
|
||
Ů: 'Ů',
|
||
Ű: 'Ű',
|
||
Ṽ: 'Ṽ',
|
||
Ẃ: 'Ẃ',
|
||
Ẁ: 'Ẁ',
|
||
Ẅ: 'Ẅ',
|
||
Ŵ: 'Ŵ',
|
||
Ẇ: 'Ẇ',
|
||
Ẍ: 'Ẍ',
|
||
Ẋ: 'Ẋ',
|
||
Ý: 'Ý',
|
||
Ỳ: 'Ỳ',
|
||
Ÿ: 'Ÿ',
|
||
Ỹ: 'Ỹ',
|
||
Ȳ: 'Ȳ',
|
||
Ŷ: 'Ŷ',
|
||
Ẏ: 'Ẏ',
|
||
Ź: 'Ź',
|
||
Ž: 'Ž',
|
||
Ẑ: 'Ẑ',
|
||
Ż: 'Ż',
|
||
ά: 'ά',
|
||
ὰ: 'ὰ',
|
||
ᾱ: 'ᾱ',
|
||
ᾰ: 'ᾰ',
|
||
έ: 'έ',
|
||
ὲ: 'ὲ',
|
||
ή: 'ή',
|
||
ὴ: 'ὴ',
|
||
ί: 'ί',
|
||
ὶ: 'ὶ',
|
||
ϊ: 'ϊ',
|
||
ΐ: 'ΐ',
|
||
ῒ: 'ῒ',
|
||
ῑ: 'ῑ',
|
||
ῐ: 'ῐ',
|
||
ό: 'ό',
|
||
ὸ: 'ὸ',
|
||
ύ: 'ύ',
|
||
ὺ: 'ὺ',
|
||
ϋ: 'ϋ',
|
||
ΰ: 'ΰ',
|
||
ῢ: 'ῢ',
|
||
ῡ: 'ῡ',
|
||
ῠ: 'ῠ',
|
||
ώ: 'ώ',
|
||
ὼ: 'ὼ',
|
||
Ύ: 'Ύ',
|
||
Ὺ: 'Ὺ',
|
||
Ϋ: 'Ϋ',
|
||
Ῡ: 'Ῡ',
|
||
Ῠ: 'Ῠ',
|
||
Ώ: 'Ώ',
|
||
Ὼ: 'Ὼ',
|
||
};
|
||
class Fe {
|
||
constructor(e, t) {
|
||
(this.mode = void 0),
|
||
(this.gullet = void 0),
|
||
(this.settings = void 0),
|
||
(this.leftrightDepth = void 0),
|
||
(this.nextToken = void 0),
|
||
(this.mode = 'math'),
|
||
(this.gullet = new s4(e, t, this.mode)),
|
||
(this.settings = t),
|
||
(this.leftrightDepth = 0);
|
||
}
|
||
expect(e, t) {
|
||
if ((t === void 0 && (t = !0), this.fetch().text !== e)) throw new M("Expected '" + e + "', got '" + this.fetch().text + "'", this.fetch());
|
||
t && this.consume();
|
||
}
|
||
consume() {
|
||
this.nextToken = null;
|
||
}
|
||
fetch() {
|
||
return this.nextToken == null && (this.nextToken = this.gullet.expandNextToken()), this.nextToken;
|
||
}
|
||
switchMode(e) {
|
||
(this.mode = e), this.gullet.switchMode(e);
|
||
}
|
||
parse() {
|
||
this.settings.globalGroup || this.gullet.beginGroup(), this.settings.colorIsTextColor && this.gullet.macros.set('\\color', '\\textcolor');
|
||
try {
|
||
var e = this.parseExpression(!1);
|
||
return this.expect('EOF'), this.settings.globalGroup || this.gullet.endGroup(), e;
|
||
} finally {
|
||
this.gullet.endGroups();
|
||
}
|
||
}
|
||
subparse(e) {
|
||
var t = this.nextToken;
|
||
this.consume(), this.gullet.pushToken(new f0('}')), this.gullet.pushTokens(e);
|
||
var a = this.parseExpression(!1);
|
||
return this.expect('}'), (this.nextToken = t), a;
|
||
}
|
||
parseExpression(e, t) {
|
||
for (var a = []; ; ) {
|
||
this.mode === 'math' && this.consumeSpaces();
|
||
var n = this.fetch();
|
||
if (Fe.endOfExpression.indexOf(n.text) !== -1 || (t && n.text === t) || (e && F0[n.text] && F0[n.text].infix)) break;
|
||
var s = this.parseAtom(t);
|
||
if (s) {
|
||
if (s.type === 'internal') continue;
|
||
} else break;
|
||
a.push(s);
|
||
}
|
||
return this.mode === 'text' && this.formLigatures(a), this.handleInfixNodes(a);
|
||
}
|
||
handleInfixNodes(e) {
|
||
for (var t = -1, a, n = 0; n < e.length; n++)
|
||
if (e[n].type === 'infix') {
|
||
if (t !== -1) throw new M('only one infix operator per group', e[n].token);
|
||
(t = n), (a = e[n].replaceWith);
|
||
}
|
||
if (t !== -1 && a) {
|
||
var s,
|
||
o,
|
||
h = e.slice(0, t),
|
||
c = e.slice(t + 1);
|
||
h.length === 1 && h[0].type === 'ordgroup' ? (s = h[0]) : (s = { type: 'ordgroup', mode: this.mode, body: h }),
|
||
c.length === 1 && c[0].type === 'ordgroup' ? (o = c[0]) : (o = { type: 'ordgroup', mode: this.mode, body: c });
|
||
var p;
|
||
return a === '\\\\abovefrac' ? (p = this.callFunction(a, [s, e[t], o], [])) : (p = this.callFunction(a, [s, o], [])), [p];
|
||
} else return e;
|
||
}
|
||
handleSupSubscript(e) {
|
||
var t = this.fetch(),
|
||
a = t.text;
|
||
this.consume(), this.consumeSpaces();
|
||
var n = this.parseGroup(e);
|
||
if (!n) throw new M("Expected group after '" + a + "'", t);
|
||
return n;
|
||
}
|
||
formatUnsupportedCmd(e) {
|
||
for (var t = [], a = 0; a < e.length; a++) t.push({ type: 'textord', mode: 'text', text: e[a] });
|
||
var n = { type: 'text', mode: this.mode, body: t },
|
||
s = { type: 'color', mode: this.mode, color: this.settings.errorColor, body: [n] };
|
||
return s;
|
||
}
|
||
parseAtom(e) {
|
||
var t = this.parseGroup('atom', e);
|
||
if (this.mode === 'text') return t;
|
||
for (var a, n; ; ) {
|
||
this.consumeSpaces();
|
||
var s = this.fetch();
|
||
if (s.text === '\\limits' || s.text === '\\nolimits') {
|
||
if (t && t.type === 'op') {
|
||
var o = s.text === '\\limits';
|
||
(t.limits = o), (t.alwaysHandleSupSub = !0);
|
||
} else if (t && t.type === 'operatorname') t.alwaysHandleSupSub && (t.limits = s.text === '\\limits');
|
||
else throw new M('Limit controls must follow a math operator', s);
|
||
this.consume();
|
||
} else if (s.text === '^') {
|
||
if (a) throw new M('Double superscript', s);
|
||
a = this.handleSupSubscript('superscript');
|
||
} else if (s.text === '_') {
|
||
if (n) throw new M('Double subscript', s);
|
||
n = this.handleSupSubscript('subscript');
|
||
} else if (s.text === "'") {
|
||
if (a) throw new M('Double superscript', s);
|
||
var h = { type: 'textord', mode: this.mode, text: '\\prime' },
|
||
c = [h];
|
||
for (this.consume(); this.fetch().text === "'"; ) c.push(h), this.consume();
|
||
this.fetch().text === '^' && c.push(this.handleSupSubscript('superscript')), (a = { type: 'ordgroup', mode: this.mode, body: c });
|
||
} else if (Me[s.text]) {
|
||
var p = dr.test(s.text),
|
||
g = [];
|
||
for (g.push(new f0(Me[s.text])), this.consume(); ; ) {
|
||
var y = this.fetch().text;
|
||
if (!Me[y] || dr.test(y) !== p) break;
|
||
g.unshift(new f0(Me[y])), this.consume();
|
||
}
|
||
var w = this.subparse(g);
|
||
p ? (n = { type: 'ordgroup', mode: 'math', body: w }) : (a = { type: 'ordgroup', mode: 'math', body: w });
|
||
} else break;
|
||
}
|
||
return a || n ? { type: 'supsub', mode: this.mode, base: t, sup: a, sub: n } : t;
|
||
}
|
||
parseFunction(e, t) {
|
||
var a = this.fetch(),
|
||
n = a.text,
|
||
s = F0[n];
|
||
if (!s) return null;
|
||
if ((this.consume(), t && t !== 'atom' && !s.allowedInArgument))
|
||
throw new M("Got function '" + n + "' with no arguments" + (t ? ' as ' + t : ''), a);
|
||
if (this.mode === 'text' && !s.allowedInText) throw new M("Can't use function '" + n + "' in text mode", a);
|
||
if (this.mode === 'math' && s.allowedInMath === !1) throw new M("Can't use function '" + n + "' in math mode", a);
|
||
var { args: o, optArgs: h } = this.parseArguments(n, s);
|
||
return this.callFunction(n, o, h, a, e);
|
||
}
|
||
callFunction(e, t, a, n, s) {
|
||
var o = { funcName: e, parser: this, token: n, breakOnTokenText: s },
|
||
h = F0[e];
|
||
if (h && h.handler) return h.handler(o, t, a);
|
||
throw new M('No function handler for ' + e);
|
||
}
|
||
parseArguments(e, t) {
|
||
var a = t.numArgs + t.numOptionalArgs;
|
||
if (a === 0) return { args: [], optArgs: [] };
|
||
for (var n = [], s = [], o = 0; o < a; o++) {
|
||
var h = t.argTypes && t.argTypes[o],
|
||
c = o < t.numOptionalArgs;
|
||
((t.primitive && h == null) || (t.type === 'sqrt' && o === 1 && s[0] == null)) && (h = 'primitive');
|
||
var p = this.parseGroupOfType("argument to '" + e + "'", h, c);
|
||
if (c) s.push(p);
|
||
else if (p != null) n.push(p);
|
||
else throw new M('Null argument, please report this as a bug');
|
||
}
|
||
return { args: n, optArgs: s };
|
||
}
|
||
parseGroupOfType(e, t, a) {
|
||
switch (t) {
|
||
case 'color':
|
||
return this.parseColorGroup(a);
|
||
case 'size':
|
||
return this.parseSizeGroup(a);
|
||
case 'url':
|
||
return this.parseUrlGroup(a);
|
||
case 'math':
|
||
case 'text':
|
||
return this.parseArgumentGroup(a, t);
|
||
case 'hbox': {
|
||
var n = this.parseArgumentGroup(a, 'text');
|
||
return n != null ? { type: 'styling', mode: n.mode, body: [n], style: 'text' } : null;
|
||
}
|
||
case 'raw': {
|
||
var s = this.parseStringGroup('raw', a);
|
||
return s != null ? { type: 'raw', mode: 'text', string: s.text } : null;
|
||
}
|
||
case 'primitive': {
|
||
if (a) throw new M('A primitive argument cannot be optional');
|
||
var o = this.parseGroup(e);
|
||
if (o == null) throw new M('Expected group as ' + e, this.fetch());
|
||
return o;
|
||
}
|
||
case 'original':
|
||
case null:
|
||
case void 0:
|
||
return this.parseArgumentGroup(a);
|
||
default:
|
||
throw new M('Unknown group type as ' + e, this.fetch());
|
||
}
|
||
}
|
||
consumeSpaces() {
|
||
for (; this.fetch().text === ' '; ) this.consume();
|
||
}
|
||
parseStringGroup(e, t) {
|
||
var a = this.gullet.scanArgument(t);
|
||
if (a == null) return null;
|
||
for (var n = '', s; (s = this.fetch()).text !== 'EOF'; ) (n += s.text), this.consume();
|
||
return this.consume(), (a.text = n), a;
|
||
}
|
||
parseRegexGroup(e, t) {
|
||
for (var a = this.fetch(), n = a, s = '', o; (o = this.fetch()).text !== 'EOF' && e.test(s + o.text); ) (n = o), (s += n.text), this.consume();
|
||
if (s === '') throw new M('Invalid ' + t + ": '" + a.text + "'", a);
|
||
return a.range(n, s);
|
||
}
|
||
parseColorGroup(e) {
|
||
var t = this.parseStringGroup('color', e);
|
||
if (t == null) return null;
|
||
var a = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);
|
||
if (!a) throw new M("Invalid color: '" + t.text + "'", t);
|
||
var n = a[0];
|
||
return /^[0-9a-f]{6}$/i.test(n) && (n = '#' + n), { type: 'color-token', mode: this.mode, color: n };
|
||
}
|
||
parseSizeGroup(e) {
|
||
var t,
|
||
a = !1;
|
||
if (
|
||
(this.gullet.consumeSpaces(),
|
||
!e && this.gullet.future().text !== '{'
|
||
? (t = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, 'size'))
|
||
: (t = this.parseStringGroup('size', e)),
|
||
!t)
|
||
)
|
||
return null;
|
||
!e && t.text.length === 0 && ((t.text = '0pt'), (a = !0));
|
||
var n = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);
|
||
if (!n) throw new M("Invalid size: '" + t.text + "'", t);
|
||
var s = { number: +(n[1] + n[2]), unit: n[3] };
|
||
if (!gr(s)) throw new M("Invalid unit: '" + s.unit + "'", t);
|
||
return { type: 'size', mode: this.mode, value: s, isBlank: a };
|
||
}
|
||
parseUrlGroup(e) {
|
||
this.gullet.lexer.setCatcode('%', 13), this.gullet.lexer.setCatcode('~', 12);
|
||
var t = this.parseStringGroup('url', e);
|
||
if ((this.gullet.lexer.setCatcode('%', 14), this.gullet.lexer.setCatcode('~', 13), t == null)) return null;
|
||
var a = t.text.replace(/\\([#$%&~_^{}])/g, '$1');
|
||
return { type: 'url', mode: this.mode, url: a };
|
||
}
|
||
parseArgumentGroup(e, t) {
|
||
var a = this.gullet.scanArgument(e);
|
||
if (a == null) return null;
|
||
var n = this.mode;
|
||
t && this.switchMode(t), this.gullet.beginGroup();
|
||
var s = this.parseExpression(!1, 'EOF');
|
||
this.expect('EOF'), this.gullet.endGroup();
|
||
var o = { type: 'ordgroup', mode: this.mode, loc: a.loc, body: s };
|
||
return t && this.switchMode(n), o;
|
||
}
|
||
parseGroup(e, t) {
|
||
var a = this.fetch(),
|
||
n = a.text,
|
||
s;
|
||
if (n === '{' || n === '\\begingroup') {
|
||
this.consume();
|
||
var o = n === '{' ? '}' : '\\endgroup';
|
||
this.gullet.beginGroup();
|
||
var h = this.parseExpression(!1, o),
|
||
c = this.fetch();
|
||
this.expect(o),
|
||
this.gullet.endGroup(),
|
||
(s = { type: 'ordgroup', mode: this.mode, loc: u0.range(a, c), body: h, semisimple: n === '\\begingroup' || void 0 });
|
||
} else if (((s = this.parseFunction(t, e) || this.parseSymbol()), s == null && n[0] === '\\' && !la.hasOwnProperty(n))) {
|
||
if (this.settings.throwOnError) throw new M('Undefined control sequence: ' + n, a);
|
||
(s = this.formatUnsupportedCmd(n)), this.consume();
|
||
}
|
||
return s;
|
||
}
|
||
formLigatures(e) {
|
||
for (var t = e.length - 1, a = 0; a < t; ++a) {
|
||
var n = e[a],
|
||
s = n.text;
|
||
s === '-' &&
|
||
e[a + 1].text === '-' &&
|
||
(a + 1 < t && e[a + 2].text === '-'
|
||
? (e.splice(a, 3, { type: 'textord', mode: 'text', loc: u0.range(n, e[a + 2]), text: '---' }), (t -= 2))
|
||
: (e.splice(a, 2, { type: 'textord', mode: 'text', loc: u0.range(n, e[a + 1]), text: '--' }), (t -= 1))),
|
||
(s === "'" || s === '`') &&
|
||
e[a + 1].text === s &&
|
||
(e.splice(a, 2, { type: 'textord', mode: 'text', loc: u0.range(n, e[a + 1]), text: s + s }), (t -= 1));
|
||
}
|
||
}
|
||
parseSymbol() {
|
||
var e = this.fetch(),
|
||
t = e.text;
|
||
if (/^\\verb[^a-zA-Z]/.test(t)) {
|
||
this.consume();
|
||
var a = t.slice(5),
|
||
n = a.charAt(0) === '*';
|
||
if ((n && (a = a.slice(1)), a.length < 2 || a.charAt(0) !== a.slice(-1)))
|
||
throw new M(`\\verb assertion failed --
|
||
please report what input caused this bug`);
|
||
return (a = a.slice(1, -1)), { type: 'verb', mode: 'text', body: a, star: n };
|
||
}
|
||
fr.hasOwnProperty(t[0]) &&
|
||
!$[this.mode][t[0]] &&
|
||
(this.settings.strict &&
|
||
this.mode === 'math' &&
|
||
this.settings.reportNonstrict('unicodeTextInMathMode', 'Accented Unicode text character "' + t[0] + '" used in math mode', e),
|
||
(t = fr[t[0]] + t.slice(1)));
|
||
var s = r4.exec(t);
|
||
s && ((t = t.substring(0, s.index)), t === 'i' ? (t = 'ı') : t === 'j' && (t = 'ȷ'));
|
||
var o;
|
||
if ($[this.mode][t]) {
|
||
this.settings.strict &&
|
||
this.mode === 'math' &&
|
||
st.indexOf(t) >= 0 &&
|
||
this.settings.reportNonstrict('unicodeTextInMathMode', 'Latin-1/Unicode text character "' + t[0] + '" used in math mode', e);
|
||
var h = $[this.mode][t].group,
|
||
c = u0.range(e),
|
||
p;
|
||
if (ja.hasOwnProperty(h)) {
|
||
var g = h;
|
||
p = { type: 'atom', mode: this.mode, family: g, loc: c, text: t };
|
||
} else p = { type: h, mode: this.mode, loc: c, text: t };
|
||
o = p;
|
||
} else if (t.charCodeAt(0) >= 128)
|
||
this.settings.strict &&
|
||
(vr(t.charCodeAt(0))
|
||
? this.mode === 'math' &&
|
||
this.settings.reportNonstrict('unicodeTextInMathMode', 'Unicode text character "' + t[0] + '" used in math mode', e)
|
||
: this.settings.reportNonstrict('unknownSymbol', 'Unrecognized Unicode character "' + t[0] + '"' + (' (' + t.charCodeAt(0) + ')'), e)),
|
||
(o = { type: 'textord', mode: 'text', loc: u0.range(e), text: t });
|
||
else return null;
|
||
if ((this.consume(), s))
|
||
for (var y = 0; y < s[0].length; y++) {
|
||
var w = s[0][y];
|
||
if (!rt[w]) throw new M("Unknown accent ' " + w + "'", e);
|
||
var x = rt[w][this.mode] || rt[w].text;
|
||
if (!x) throw new M('Accent ' + w + ' unsupported in ' + this.mode + ' mode', e);
|
||
o = { type: 'accent', mode: this.mode, loc: u0.range(e), label: x, isStretchy: !1, isShifty: !0, base: o };
|
||
}
|
||
return o;
|
||
}
|
||
}
|
||
Fe.endOfExpression = ['}', '\\endgroup', '\\end', '\\right', '&'];
|
||
var Ct = function (e, t) {
|
||
if (!(typeof e == 'string' || e instanceof String)) throw new TypeError('KaTeX can only parse string typed expression');
|
||
var a = new Fe(e, t);
|
||
delete a.gullet.macros.current['\\df@tag'];
|
||
var n = a.parse();
|
||
if ((delete a.gullet.macros.current['\\current@color'], delete a.gullet.macros.current['\\color'], a.gullet.macros.get('\\df@tag'))) {
|
||
if (!t.displayMode) throw new M('\\tag works only in display equations');
|
||
n = [{ type: 'tag', mode: 'text', body: n, tag: a.subparse([new f0('\\df@tag')]) }];
|
||
}
|
||
return n;
|
||
},
|
||
oa = function (e, t, a) {
|
||
t.textContent = '';
|
||
var n = Nt(e, a).toNode();
|
||
t.appendChild(n);
|
||
};
|
||
typeof document < 'u' &&
|
||
document.compatMode !== 'CSS1Compat' &&
|
||
(typeof console < 'u' && console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),
|
||
(oa = function () {
|
||
throw new M("KaTeX doesn't work in quirks mode.");
|
||
}));
|
||
var l4 = function (e, t) {
|
||
var a = Nt(e, t).toMarkup();
|
||
return a;
|
||
},
|
||
o4 = function (e, t) {
|
||
var a = new ct(t);
|
||
return Ct(e, a);
|
||
},
|
||
ua = function (e, t, a) {
|
||
if (a.throwOnError || !(e instanceof M)) throw e;
|
||
var n = b.makeSpan(['katex-error'], [new p0(t)]);
|
||
return n.setAttribute('title', e.toString()), n.setAttribute('style', 'color:' + a.errorColor), n;
|
||
},
|
||
Nt = function (e, t) {
|
||
var a = new ct(t);
|
||
try {
|
||
var n = Ct(e, a);
|
||
return g1(n, e, a);
|
||
} catch (s) {
|
||
return ua(s, e, a);
|
||
}
|
||
},
|
||
u4 = function (e, t) {
|
||
var a = new ct(t);
|
||
try {
|
||
var n = Ct(e, a);
|
||
return b1(n, e, a);
|
||
} catch (s) {
|
||
return ua(s, e, a);
|
||
}
|
||
},
|
||
h4 = {
|
||
version: '0.16.10',
|
||
render: oa,
|
||
renderToString: l4,
|
||
ParseError: M,
|
||
SETTINGS_SCHEMA: ze,
|
||
__parse: o4,
|
||
__renderToDomTree: Nt,
|
||
__renderToHTMLTree: u4,
|
||
__setFontMetrics: Ga,
|
||
__defineSymbol: i,
|
||
__defineFunction: B,
|
||
__defineMacro: m,
|
||
__domTree: { Span: he, Anchor: pt, SymbolNode: p0, SvgNode: D0, PathNode: P0, LineNode: it },
|
||
};
|
||
export { h4 as default };
|