temml 0.11.2 → 0.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Temml-NotoSans.css +2 -2
- package/dist/Temml-STIX2.css +2 -2
- package/dist/temml.cjs +72 -26
- package/dist/temml.d.ts +2 -2
- package/dist/temml.js +72 -26
- package/dist/temml.min.js +1 -1
- package/dist/temml.mjs +72 -26
- package/dist/temmlPostProcess.js +1 -1
- package/package.json +1 -1
- package/src/environments/array.js +7 -3
- package/src/environments/borderTree.js +4 -4
- package/src/functions/color.js +3 -0
- package/src/functions/font.js +11 -8
- package/src/functions/op.js +6 -1
- package/src/functions/symbolsOrd.js +0 -1
- package/src/postProcess.js +1 -1
- package/src/symbols.js +40 -8
package/dist/temml.mjs
CHANGED
@@ -1181,9 +1181,6 @@ defineSymbol(math, textord, "\u29eb", "\\blacklozenge");
|
|
1181
1181
|
defineSymbol(math, textord, "\u2605", "\\bigstar");
|
1182
1182
|
defineSymbol(math, textord, "\u2222", "\\sphericalangle", true);
|
1183
1183
|
defineSymbol(math, textord, "\u2201", "\\complement", true);
|
1184
|
-
// unicode-math maps U+F0 to \matheth. We map to AMS function \eth
|
1185
|
-
defineSymbol(math, textord, "\u00f0", "\\eth", true);
|
1186
|
-
defineSymbol(text, textord, "\u00f0", "\u00f0");
|
1187
1184
|
defineSymbol(math, textord, "\u2571", "\\diagup");
|
1188
1185
|
defineSymbol(math, textord, "\u2572", "\\diagdown");
|
1189
1186
|
defineSymbol(math, textord, "\u25a1", "\\square");
|
@@ -1543,6 +1540,46 @@ defineSymbol(math, mathord, "\u03e1", "\\sampi", true);
|
|
1543
1540
|
defineSymbol(math, mathord, "\u03da", "\\Stigma", true);
|
1544
1541
|
defineSymbol(math, mathord, "\u03db", "\\stigma", true);
|
1545
1542
|
defineSymbol(math, mathord, "\u2aeb", "\\Bot");
|
1543
|
+
|
1544
|
+
// unicode-math maps U+F0 to \matheth. We map to AMS function \eth
|
1545
|
+
defineSymbol(math, textord, "\u00f0", "\\eth", true); // ð
|
1546
|
+
defineSymbol(text, textord, "\u00f0", "\u00f0");
|
1547
|
+
// Extended ASCII and non-ASCII Letters
|
1548
|
+
defineSymbol(math, textord, "\u00C5", "\\AA"); // Å
|
1549
|
+
defineSymbol(text, textord, "\u00C5", "\\AA", true);
|
1550
|
+
defineSymbol(math, textord, "\u00C6", "\\AE", true); // Æ
|
1551
|
+
defineSymbol(text, textord, "\u00C6", "\\AE", true);
|
1552
|
+
defineSymbol(math, textord, "\u00D0", "\\DH", true); // Ð
|
1553
|
+
defineSymbol(text, textord, "\u00D0", "\\DH", true);
|
1554
|
+
defineSymbol(math, textord, "\u00DE", "\\TH", true); // Þ
|
1555
|
+
defineSymbol(text, textord, "\u00DE", "\\TH", true);
|
1556
|
+
defineSymbol(math, textord, "\u00DF", "\\ss", true); // ß
|
1557
|
+
defineSymbol(text, textord, "\u00DF", "\\ss", true);
|
1558
|
+
defineSymbol(math, textord, "\u00E5", "\\aa"); // å
|
1559
|
+
defineSymbol(text, textord, "\u00E5", "\\aa", true);
|
1560
|
+
defineSymbol(math, textord, "\u00E6", "\\ae", true); // æ
|
1561
|
+
defineSymbol(text, textord, "\u00E6", "\\ae", true);
|
1562
|
+
defineSymbol(math, textord, "\u00F0", "\\dh"); // ð
|
1563
|
+
defineSymbol(text, textord, "\u00F0", "\\dh", true);
|
1564
|
+
defineSymbol(math, textord, "\u00FE", "\\th", true); // þ
|
1565
|
+
defineSymbol(text, textord, "\u00FE", "\\th", true);
|
1566
|
+
defineSymbol(math, textord, "\u0110", "\\DJ", true); // Đ
|
1567
|
+
defineSymbol(text, textord, "\u0110", "\\DJ", true);
|
1568
|
+
defineSymbol(math, textord, "\u0111", "\\dj", true); // đ
|
1569
|
+
defineSymbol(text, textord, "\u0111", "\\dj", true);
|
1570
|
+
defineSymbol(math, textord, "\u0141", "\\L", true); // Ł
|
1571
|
+
defineSymbol(text, textord, "\u0141", "\\L", true);
|
1572
|
+
defineSymbol(math, textord, "\u0141", "\\l", true); // ł
|
1573
|
+
defineSymbol(text, textord, "\u0141", "\\l", true);
|
1574
|
+
defineSymbol(math, textord, "\u014A", "\\NG", true); // Ŋ
|
1575
|
+
defineSymbol(text, textord, "\u014A", "\\NG", true);
|
1576
|
+
defineSymbol(math, textord, "\u014B", "\\ng", true); // ŋ
|
1577
|
+
defineSymbol(text, textord, "\u014B", "\\ng", true);
|
1578
|
+
defineSymbol(math, textord, "\u0152", "\\OE", true); // Œ
|
1579
|
+
defineSymbol(text, textord, "\u0152", "\\OE", true);
|
1580
|
+
defineSymbol(math, textord, "\u0153", "\\oe", true); // œ
|
1581
|
+
defineSymbol(text, textord, "\u0153", "\\oe", true);
|
1582
|
+
|
1546
1583
|
defineSymbol(math, bin, "\u2217", "\u2217", true);
|
1547
1584
|
defineSymbol(math, bin, "+", "+");
|
1548
1585
|
defineSymbol(math, bin, "\u2217", "*");
|
@@ -1751,13 +1788,8 @@ defineSymbol(math, textord, "\u0131", "\u0131");
|
|
1751
1788
|
defineSymbol(math, textord, "\u0237", "\u0237");
|
1752
1789
|
defineSymbol(text, textord, "\u0131", "\\i", true);
|
1753
1790
|
defineSymbol(text, textord, "\u0237", "\\j", true);
|
1754
|
-
defineSymbol(text, textord, "\u00df", "\\ss", true);
|
1755
|
-
defineSymbol(text, textord, "\u00e6", "\\ae", true);
|
1756
|
-
defineSymbol(text, textord, "\u0153", "\\oe", true);
|
1757
1791
|
defineSymbol(text, textord, "\u00f8", "\\o", true);
|
1758
1792
|
defineSymbol(math, mathord, "\u00f8", "\\o", true);
|
1759
|
-
defineSymbol(text, textord, "\u00c6", "\\AE", true);
|
1760
|
-
defineSymbol(text, textord, "\u0152", "\\OE", true);
|
1761
1793
|
defineSymbol(text, textord, "\u00d8", "\\O", true);
|
1762
1794
|
defineSymbol(math, mathord, "\u00d8", "\\O", true);
|
1763
1795
|
defineSymbol(text, accent, "\u02ca", "\\'"); // acute
|
@@ -3345,7 +3377,7 @@ const bordermatrixParseTree = (matrix, delimiters) => {
|
|
3345
3377
|
// A vphantom with contents from the pmatrix, to set minimum cell height
|
3346
3378
|
const phantomBody = [];
|
3347
3379
|
for (let j = 0; j < body[i].length; j++) {
|
3348
|
-
phantomBody.push(
|
3380
|
+
phantomBody.push(body[i][j]);
|
3349
3381
|
}
|
3350
3382
|
leftColumnBody[i - 1].push(phantom(phantomBody, "vphantom"));
|
3351
3383
|
}
|
@@ -3353,18 +3385,18 @@ const bordermatrixParseTree = (matrix, delimiters) => {
|
|
3353
3385
|
// Create an array for the top row
|
3354
3386
|
const topRowBody = new Array(body.length).fill().map(() => []);
|
3355
3387
|
for (let j = 0; j < body[0].length; j++) {
|
3356
|
-
topRowBody[0].push(
|
3388
|
+
topRowBody[0].push(body[0][j]);
|
3357
3389
|
}
|
3358
3390
|
// Copy the rest of the pmatrix, but squashed via \hphantom
|
3359
3391
|
for (let i = 1; i < body.length; i++) {
|
3360
3392
|
for (let j = 0; j < body[0].length; j++) {
|
3361
|
-
topRowBody[i].push(phantom(
|
3393
|
+
topRowBody[i].push(phantom(body[i][j].body, "hphantom"));
|
3362
3394
|
}
|
3363
3395
|
}
|
3364
3396
|
|
3365
3397
|
// Squash the top row of the main {pmatrix}
|
3366
3398
|
for (let j = 0; j < body[0].length; j++) {
|
3367
|
-
body[0][j] = phantom(
|
3399
|
+
body[0][j] = phantom(body[0][j].body, "hphantom");
|
3368
3400
|
}
|
3369
3401
|
|
3370
3402
|
// Now wrap the arrays in the proper parse nodes.
|
@@ -6432,7 +6464,7 @@ const mathmlBuilder$9 = function(group, style) {
|
|
6432
6464
|
const numColumns = group.body[0].length;
|
6433
6465
|
// Fill out a short row with empty <mtd> elements.
|
6434
6466
|
for (let k = 0; k < numColumns - rw.length; k++) {
|
6435
|
-
row.push(new mathMLTree.MathNode("mtd", [], style));
|
6467
|
+
row.push(new mathMLTree.MathNode("mtd", [], [], style));
|
6436
6468
|
}
|
6437
6469
|
if (group.autoTag) {
|
6438
6470
|
const tag = group.tags[i];
|
@@ -6892,7 +6924,9 @@ defineEnvironment({
|
|
6892
6924
|
}
|
6893
6925
|
}
|
6894
6926
|
const res = parseArray(context.parser, payload, "text");
|
6895
|
-
res.cols =
|
6927
|
+
res.cols = res.body.length > 0
|
6928
|
+
? new Array(res.body[0].length).fill({ type: "align", align: colAlign })
|
6929
|
+
: [];
|
6896
6930
|
const [arraystretch, arraycolsep] = arrayGaps(context.parser.gullet.macros);
|
6897
6931
|
res.arraystretch = arraystretch;
|
6898
6932
|
if (arraycolsep && !(arraycolsep === 6 && arraycolsep === "pt")) {
|
@@ -6921,7 +6955,9 @@ defineEnvironment({
|
|
6921
6955
|
handler(context) {
|
6922
6956
|
const payload = { cols: [], envClasses: ["bordermatrix"] };
|
6923
6957
|
const res = parseArray(context.parser, payload, "text");
|
6924
|
-
res.cols =
|
6958
|
+
res.cols = res.body.length > 0
|
6959
|
+
? new Array(res.body[0].length).fill({ type: "align", align: "c" })
|
6960
|
+
: [];
|
6925
6961
|
res.envClasses = [];
|
6926
6962
|
res.arraystretch = 1;
|
6927
6963
|
if (context.envName === "matrix") { return res}
|
@@ -7355,6 +7391,9 @@ const mathmlBuilder$8 = (group, style) => {
|
|
7355
7391
|
// So instead of wrapping the group in an <mstyle>, we apply
|
7356
7392
|
// the color individually to each node and return a document fragment.
|
7357
7393
|
let expr = buildExpression(group.body, style.withColor(group.color));
|
7394
|
+
if (expr.length === 0) {
|
7395
|
+
expr.push(new mathMLTree.MathNode("mrow"));
|
7396
|
+
}
|
7358
7397
|
expr = expr.map(e => {
|
7359
7398
|
e.style.color = group.color;
|
7360
7399
|
return e
|
@@ -8441,17 +8480,20 @@ const mathmlBuilder$6 = (group, style) => {
|
|
8441
8480
|
// Check if it is possible to consolidate elements into a single <mi> element.
|
8442
8481
|
if (isLongVariableName(group, font)) {
|
8443
8482
|
// This is a \mathrm{…} group. It gets special treatment because symbolsOrd.js
|
8444
|
-
// wraps <mi> elements with <
|
8445
|
-
const mi = mathGroup.children[0].children[0]
|
8483
|
+
// wraps <mi> elements with <mpadded>s to work around a Firefox bug.
|
8484
|
+
const mi = mathGroup.children[0].children[0].children
|
8485
|
+
? mathGroup.children[0].children[0]
|
8486
|
+
: mathGroup.children[0];
|
8446
8487
|
delete mi.attributes.mathvariant;
|
8447
8488
|
for (let i = 1; i < mathGroup.children.length; i++) {
|
8448
|
-
mi.children[0].text += mathGroup.children[i].
|
8449
|
-
? mathGroup.children[i].children[0].text
|
8450
|
-
: mathGroup.children[i].children[0].
|
8489
|
+
mi.children[0].text += mathGroup.children[i].children[0].children
|
8490
|
+
? mathGroup.children[i].children[0].children[0].text
|
8491
|
+
: mathGroup.children[i].children[0].text;
|
8451
8492
|
}
|
8452
|
-
// Wrap in a <
|
8453
|
-
const
|
8454
|
-
|
8493
|
+
// Wrap in a <mpadded> to prevent the same Firefox bug.
|
8494
|
+
const mpadded = new mathMLTree.MathNode("mpadded", [mi]);
|
8495
|
+
mpadded.setAttribute("lspace", "0");
|
8496
|
+
return mpadded
|
8455
8497
|
}
|
8456
8498
|
let canConsolidate = mathGroup.children[0].type === "mo";
|
8457
8499
|
for (let i = 1; i < mathGroup.children.length; i++) {
|
@@ -9941,8 +9983,13 @@ defineFunction({
|
|
9941
9983
|
"\u2a00",
|
9942
9984
|
"\u2a01",
|
9943
9985
|
"\u2a02",
|
9986
|
+
"\u2a03",
|
9944
9987
|
"\u2a04",
|
9945
|
-
"\
|
9988
|
+
"\u2a05",
|
9989
|
+
"\u2a06",
|
9990
|
+
"\u2a07",
|
9991
|
+
"\u2a08",
|
9992
|
+
"\u2a09"
|
9946
9993
|
],
|
9947
9994
|
props: {
|
9948
9995
|
numArgs: 0
|
@@ -11363,7 +11410,6 @@ defineFunctionBuilders({
|
|
11363
11410
|
// A Firefox bug will apply spacing here, but there should be none. Fix it.
|
11364
11411
|
node = new mathMLTree.MathNode("mpadded", [node]);
|
11365
11412
|
node.setAttribute("lspace", "0");
|
11366
|
-
node.setAttribute("rspace", "0");
|
11367
11413
|
}
|
11368
11414
|
}
|
11369
11415
|
return node
|
@@ -13915,7 +13961,7 @@ class Style {
|
|
13915
13961
|
* https://mit-license.org/
|
13916
13962
|
*/
|
13917
13963
|
|
13918
|
-
const version = "0.11.
|
13964
|
+
const version = "0.11.04";
|
13919
13965
|
|
13920
13966
|
function postProcess(block) {
|
13921
13967
|
const labelMap = {};
|
package/dist/temmlPostProcess.js
CHANGED
package/package.json
CHANGED
@@ -295,7 +295,7 @@ const mathmlBuilder = function(group, style) {
|
|
295
295
|
const numColumns = group.body[0].length
|
296
296
|
// Fill out a short row with empty <mtd> elements.
|
297
297
|
for (let k = 0; k < numColumns - rw.length; k++) {
|
298
|
-
row.push(new mathMLTree.MathNode("mtd", [], style))
|
298
|
+
row.push(new mathMLTree.MathNode("mtd", [], [], style))
|
299
299
|
}
|
300
300
|
if (group.autoTag) {
|
301
301
|
const tag = group.tags[i];
|
@@ -757,7 +757,9 @@ defineEnvironment({
|
|
757
757
|
}
|
758
758
|
}
|
759
759
|
const res = parseArray(context.parser, payload, "text")
|
760
|
-
res.cols =
|
760
|
+
res.cols = res.body.length > 0
|
761
|
+
? new Array(res.body[0].length).fill({ type: "align", align: colAlign })
|
762
|
+
: [];
|
761
763
|
const [arraystretch, arraycolsep] = arrayGaps(context.parser.gullet.macros)
|
762
764
|
res.arraystretch = arraystretch
|
763
765
|
if (arraycolsep && !(arraycolsep === 6 && arraycolsep === "pt")) {
|
@@ -786,7 +788,9 @@ defineEnvironment({
|
|
786
788
|
handler(context) {
|
787
789
|
const payload = { cols: [], envClasses: ["bordermatrix"] }
|
788
790
|
const res = parseArray(context.parser, payload, "text")
|
789
|
-
res.cols =
|
791
|
+
res.cols = res.body.length > 0
|
792
|
+
? new Array(res.body[0].length).fill({ type: "align", align: "c" })
|
793
|
+
: [];
|
790
794
|
res.envClasses = [];
|
791
795
|
res.arraystretch = 1
|
792
796
|
if (context.envName === "matrix") { return res}
|
@@ -47,7 +47,7 @@ export const bordermatrixParseTree = (matrix, delimiters) => {
|
|
47
47
|
// A vphantom with contents from the pmatrix, to set minimum cell height
|
48
48
|
const phantomBody = [];
|
49
49
|
for (let j = 0; j < body[i].length; j++) {
|
50
|
-
phantomBody.push(
|
50
|
+
phantomBody.push(body[i][j])
|
51
51
|
}
|
52
52
|
leftColumnBody[i - 1].push(phantom(phantomBody, "vphantom"))
|
53
53
|
}
|
@@ -55,18 +55,18 @@ export const bordermatrixParseTree = (matrix, delimiters) => {
|
|
55
55
|
// Create an array for the top row
|
56
56
|
const topRowBody = new Array(body.length).fill().map(() => [])
|
57
57
|
for (let j = 0; j < body[0].length; j++) {
|
58
|
-
topRowBody[0].push(
|
58
|
+
topRowBody[0].push(body[0][j])
|
59
59
|
}
|
60
60
|
// Copy the rest of the pmatrix, but squashed via \hphantom
|
61
61
|
for (let i = 1; i < body.length; i++) {
|
62
62
|
for (let j = 0; j < body[0].length; j++) {
|
63
|
-
topRowBody[i].push(phantom(
|
63
|
+
topRowBody[i].push(phantom(body[i][j].body, "hphantom"))
|
64
64
|
}
|
65
65
|
}
|
66
66
|
|
67
67
|
// Squash the top row of the main {pmatrix}
|
68
68
|
for (let j = 0; j < body[0].length; j++) {
|
69
|
-
body[0][j] = phantom(
|
69
|
+
body[0][j] = phantom(body[0][j].body, "hphantom")
|
70
70
|
}
|
71
71
|
|
72
72
|
// Now wrap the arrays in the proper parse nodes.
|
package/src/functions/color.js
CHANGED
@@ -156,6 +156,9 @@ const mathmlBuilder = (group, style) => {
|
|
156
156
|
// So instead of wrapping the group in an <mstyle>, we apply
|
157
157
|
// the color individually to each node and return a document fragment.
|
158
158
|
let expr = mml.buildExpression(group.body, style.withColor(group.color))
|
159
|
+
if (expr.length === 0) {
|
160
|
+
expr.push(new mathMLTree.MathNode("mrow"))
|
161
|
+
}
|
159
162
|
expr = expr.map(e => {
|
160
163
|
e.style.color = group.color
|
161
164
|
return e
|
package/src/functions/font.js
CHANGED
@@ -30,17 +30,20 @@ const mathmlBuilder = (group, style) => {
|
|
30
30
|
// Check if it is possible to consolidate elements into a single <mi> element.
|
31
31
|
if (isLongVariableName(group, font)) {
|
32
32
|
// This is a \mathrm{…} group. It gets special treatment because symbolsOrd.js
|
33
|
-
// wraps <mi> elements with <
|
34
|
-
const mi = mathGroup.children[0].children[0]
|
33
|
+
// wraps <mi> elements with <mpadded>s to work around a Firefox bug.
|
34
|
+
const mi = mathGroup.children[0].children[0].children
|
35
|
+
? mathGroup.children[0].children[0]
|
36
|
+
: mathGroup.children[0];
|
35
37
|
delete mi.attributes.mathvariant
|
36
38
|
for (let i = 1; i < mathGroup.children.length; i++) {
|
37
|
-
mi.children[0].text += mathGroup.children[i].
|
38
|
-
? mathGroup.children[i].children[0].text
|
39
|
-
: mathGroup.children[i].children[0].
|
39
|
+
mi.children[0].text += mathGroup.children[i].children[0].children
|
40
|
+
? mathGroup.children[i].children[0].children[0].text
|
41
|
+
: mathGroup.children[i].children[0].text
|
40
42
|
}
|
41
|
-
// Wrap in a <
|
42
|
-
const
|
43
|
-
|
43
|
+
// Wrap in a <mpadded> to prevent the same Firefox bug.
|
44
|
+
const mpadded = new mathMLTree.MathNode("mpadded", [mi])
|
45
|
+
mpadded.setAttribute("lspace", "0")
|
46
|
+
return mpadded
|
44
47
|
}
|
45
48
|
let canConsolidate = mathGroup.children[0].type === "mo"
|
46
49
|
for (let i = 1; i < mathGroup.children.length; i++) {
|
package/src/functions/op.js
CHANGED
package/src/postProcess.js
CHANGED
package/src/symbols.js
CHANGED
@@ -306,9 +306,6 @@ defineSymbol(math, textord, "\u29eb", "\\blacklozenge");
|
|
306
306
|
defineSymbol(math, textord, "\u2605", "\\bigstar");
|
307
307
|
defineSymbol(math, textord, "\u2222", "\\sphericalangle", true);
|
308
308
|
defineSymbol(math, textord, "\u2201", "\\complement", true);
|
309
|
-
// unicode-math maps U+F0 to \matheth. We map to AMS function \eth
|
310
|
-
defineSymbol(math, textord, "\u00f0", "\\eth", true);
|
311
|
-
defineSymbol(text, textord, "\u00f0", "\u00f0");
|
312
309
|
defineSymbol(math, textord, "\u2571", "\\diagup");
|
313
310
|
defineSymbol(math, textord, "\u2572", "\\diagdown");
|
314
311
|
defineSymbol(math, textord, "\u25a1", "\\square");
|
@@ -668,6 +665,46 @@ defineSymbol(math, mathord, "\u03e1", "\\sampi", true);
|
|
668
665
|
defineSymbol(math, mathord, "\u03da", "\\Stigma", true);
|
669
666
|
defineSymbol(math, mathord, "\u03db", "\\stigma", true);
|
670
667
|
defineSymbol(math, mathord, "\u2aeb", "\\Bot");
|
668
|
+
|
669
|
+
// unicode-math maps U+F0 to \matheth. We map to AMS function \eth
|
670
|
+
defineSymbol(math, textord, "\u00f0", "\\eth", true); // ð
|
671
|
+
defineSymbol(text, textord, "\u00f0", "\u00f0");
|
672
|
+
// Extended ASCII and non-ASCII Letters
|
673
|
+
defineSymbol(math, textord, "\u00C5", "\\AA") // Å
|
674
|
+
defineSymbol(text, textord, "\u00C5", "\\AA", true)
|
675
|
+
defineSymbol(math, textord, "\u00C6", "\\AE", true) // Æ
|
676
|
+
defineSymbol(text, textord, "\u00C6", "\\AE", true)
|
677
|
+
defineSymbol(math, textord, "\u00D0", "\\DH", true) // Ð
|
678
|
+
defineSymbol(text, textord, "\u00D0", "\\DH", true)
|
679
|
+
defineSymbol(math, textord, "\u00DE", "\\TH", true) // Þ
|
680
|
+
defineSymbol(text, textord, "\u00DE", "\\TH", true)
|
681
|
+
defineSymbol(math, textord, "\u00DF", "\\ss", true) // ß
|
682
|
+
defineSymbol(text, textord, "\u00DF", "\\ss", true)
|
683
|
+
defineSymbol(math, textord, "\u00E5", "\\aa") // å
|
684
|
+
defineSymbol(text, textord, "\u00E5", "\\aa", true)
|
685
|
+
defineSymbol(math, textord, "\u00E6", "\\ae", true) // æ
|
686
|
+
defineSymbol(text, textord, "\u00E6", "\\ae", true)
|
687
|
+
defineSymbol(math, textord, "\u00F0", "\\dh") // ð
|
688
|
+
defineSymbol(text, textord, "\u00F0", "\\dh", true)
|
689
|
+
defineSymbol(math, textord, "\u00FE", "\\th", true) // þ
|
690
|
+
defineSymbol(text, textord, "\u00FE", "\\th", true)
|
691
|
+
defineSymbol(math, textord, "\u0110", "\\DJ", true) // Đ
|
692
|
+
defineSymbol(text, textord, "\u0110", "\\DJ", true)
|
693
|
+
defineSymbol(math, textord, "\u0111", "\\dj", true) // đ
|
694
|
+
defineSymbol(text, textord, "\u0111", "\\dj", true)
|
695
|
+
defineSymbol(math, textord, "\u0141", "\\L", true) // Ł
|
696
|
+
defineSymbol(text, textord, "\u0141", "\\L", true)
|
697
|
+
defineSymbol(math, textord, "\u0141", "\\l", true) // ł
|
698
|
+
defineSymbol(text, textord, "\u0141", "\\l", true)
|
699
|
+
defineSymbol(math, textord, "\u014A", "\\NG", true) // Ŋ
|
700
|
+
defineSymbol(text, textord, "\u014A", "\\NG", true)
|
701
|
+
defineSymbol(math, textord, "\u014B", "\\ng", true) // ŋ
|
702
|
+
defineSymbol(text, textord, "\u014B", "\\ng", true)
|
703
|
+
defineSymbol(math, textord, "\u0152", "\\OE", true) // Œ
|
704
|
+
defineSymbol(text, textord, "\u0152", "\\OE", true)
|
705
|
+
defineSymbol(math, textord, "\u0153", "\\oe", true) // œ
|
706
|
+
defineSymbol(text, textord, "\u0153", "\\oe", true)
|
707
|
+
|
671
708
|
defineSymbol(math, bin, "\u2217", "\u2217", true);
|
672
709
|
defineSymbol(math, bin, "+", "+");
|
673
710
|
defineSymbol(math, bin, "\u2217", "*");
|
@@ -876,13 +913,8 @@ defineSymbol(math, textord, "\u0131", "\u0131");
|
|
876
913
|
defineSymbol(math, textord, "\u0237", "\u0237");
|
877
914
|
defineSymbol(text, textord, "\u0131", "\\i", true);
|
878
915
|
defineSymbol(text, textord, "\u0237", "\\j", true);
|
879
|
-
defineSymbol(text, textord, "\u00df", "\\ss", true);
|
880
|
-
defineSymbol(text, textord, "\u00e6", "\\ae", true);
|
881
|
-
defineSymbol(text, textord, "\u0153", "\\oe", true);
|
882
916
|
defineSymbol(text, textord, "\u00f8", "\\o", true);
|
883
917
|
defineSymbol(math, mathord, "\u00f8", "\\o", true);
|
884
|
-
defineSymbol(text, textord, "\u00c6", "\\AE", true);
|
885
|
-
defineSymbol(text, textord, "\u0152", "\\OE", true);
|
886
918
|
defineSymbol(text, textord, "\u00d8", "\\O", true);
|
887
919
|
defineSymbol(math, mathord, "\u00d8", "\\O", true);
|
888
920
|
defineSymbol(text, accent, "\u02ca", "\\'"); // acute
|