@unmade/text-renderer 0.2.0 → 0.2.1
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/ce-adapter/index.cjs +1 -1
- package/dist/ce-adapter/index.js +78 -75
- package/dist/index.cjs +5 -5
- package/dist/index.js +1870 -1860
- package/dist/node/index.cjs +5 -5
- package/dist/node/index.js +685 -675
- package/dist/worker/index.cjs +15 -15
- package/dist/worker/index.js +1672 -1662
- package/package.json +1 -1
package/dist/node/index.js
CHANGED
|
@@ -28,14 +28,14 @@ String.prototype.codePointAt || (function() {
|
|
|
28
28
|
writable: !0
|
|
29
29
|
}) : String.prototype.codePointAt = r;
|
|
30
30
|
})();
|
|
31
|
-
var
|
|
31
|
+
var Wr = 0, Vt = -3;
|
|
32
32
|
function Ne() {
|
|
33
33
|
this.table = new Uint16Array(16), this.trans = new Uint16Array(288);
|
|
34
34
|
}
|
|
35
35
|
function Xn(e, r) {
|
|
36
36
|
this.source = e, this.sourceIndex = 0, this.tag = 0, this.bitcount = 0, this.dest = r, this.destLen = 0, this.ltree = new Ne(), this.dtree = new Ne();
|
|
37
37
|
}
|
|
38
|
-
var
|
|
38
|
+
var qt = new Ne(), Xt = new Ne(), zr = new Uint8Array(30), _r = new Uint16Array(30), $t = new Uint8Array(30), Yt = new Uint16Array(30), $n = new Uint8Array([
|
|
39
39
|
16,
|
|
40
40
|
17,
|
|
41
41
|
18,
|
|
@@ -55,8 +55,8 @@ var zt = new Ne(), _t = new Ne(), Nr = new Uint8Array(30), Hr = new Uint16Array(
|
|
|
55
55
|
14,
|
|
56
56
|
1,
|
|
57
57
|
15
|
|
58
|
-
]),
|
|
59
|
-
function
|
|
58
|
+
]), Jr = new Ne(), se = new Uint8Array(320);
|
|
59
|
+
function Zt(e, r, t, n) {
|
|
60
60
|
var a, s;
|
|
61
61
|
for (a = 0; a < t; ++a)
|
|
62
62
|
e[a] = 0;
|
|
@@ -65,7 +65,7 @@ function Xt(e, r, t, n) {
|
|
|
65
65
|
for (s = n, a = 0; a < 30; ++a)
|
|
66
66
|
r[a] = s, s += 1 << e[a];
|
|
67
67
|
}
|
|
68
|
-
function
|
|
68
|
+
function Yn(e, r) {
|
|
69
69
|
var t;
|
|
70
70
|
for (t = 0; t < 7; ++t)
|
|
71
71
|
e.table[t] = 0;
|
|
@@ -82,24 +82,24 @@ function $n(e, r) {
|
|
|
82
82
|
for (r.table[5] = 32, t = 0; t < 32; ++t)
|
|
83
83
|
r.trans[t] = t;
|
|
84
84
|
}
|
|
85
|
-
var
|
|
86
|
-
function
|
|
85
|
+
var et = new Uint16Array(16);
|
|
86
|
+
function mr(e, r, t, n) {
|
|
87
87
|
var a, s;
|
|
88
88
|
for (a = 0; a < 16; ++a)
|
|
89
89
|
e.table[a] = 0;
|
|
90
90
|
for (a = 0; a < n; ++a)
|
|
91
91
|
e.table[r[t + a]]++;
|
|
92
92
|
for (e.table[0] = 0, s = 0, a = 0; a < 16; ++a)
|
|
93
|
-
|
|
93
|
+
et[a] = s, s += e.table[a];
|
|
94
94
|
for (a = 0; a < n; ++a)
|
|
95
|
-
r[t + a] && (e.trans[
|
|
95
|
+
r[t + a] && (e.trans[et[r[t + a]]++] = a);
|
|
96
96
|
}
|
|
97
97
|
function Zn(e) {
|
|
98
98
|
e.bitcount-- || (e.tag = e.source[e.sourceIndex++], e.bitcount = 7);
|
|
99
99
|
var r = e.tag & 1;
|
|
100
100
|
return e.tag >>>= 1, r;
|
|
101
101
|
}
|
|
102
|
-
function
|
|
102
|
+
function oe(e, r, t) {
|
|
103
103
|
if (!r)
|
|
104
104
|
return t;
|
|
105
105
|
for (; e.bitcount < 24; )
|
|
@@ -107,7 +107,7 @@ function ie(e, r, t) {
|
|
|
107
107
|
var n = e.tag & 65535 >>> 16 - r;
|
|
108
108
|
return e.tag >>>= r, e.bitcount -= r, n + t;
|
|
109
109
|
}
|
|
110
|
-
function
|
|
110
|
+
function Or(e, r) {
|
|
111
111
|
for (; e.bitcount < 24; )
|
|
112
112
|
e.tag |= e.source[e.sourceIndex++] << e.bitcount, e.bitcount += 8;
|
|
113
113
|
var t = 0, n = 0, a = 0, s = e.tag;
|
|
@@ -118,45 +118,45 @@ function wr(e, r) {
|
|
|
118
118
|
}
|
|
119
119
|
function Qn(e, r, t) {
|
|
120
120
|
var n, a, s, o, u, i;
|
|
121
|
-
for (n =
|
|
122
|
-
|
|
121
|
+
for (n = oe(e, 5, 257), a = oe(e, 5, 1), s = oe(e, 4, 4), o = 0; o < 19; ++o)
|
|
122
|
+
se[o] = 0;
|
|
123
123
|
for (o = 0; o < s; ++o) {
|
|
124
|
-
var l =
|
|
125
|
-
|
|
124
|
+
var l = oe(e, 3, 0);
|
|
125
|
+
se[$n[o]] = l;
|
|
126
126
|
}
|
|
127
|
-
for (
|
|
128
|
-
var f =
|
|
127
|
+
for (mr(Jr, se, 0, 19), u = 0; u < n + a; ) {
|
|
128
|
+
var f = Or(e, Jr);
|
|
129
129
|
switch (f) {
|
|
130
130
|
case 16:
|
|
131
|
-
var c =
|
|
132
|
-
for (i =
|
|
133
|
-
|
|
131
|
+
var c = se[u - 1];
|
|
132
|
+
for (i = oe(e, 2, 3); i; --i)
|
|
133
|
+
se[u++] = c;
|
|
134
134
|
break;
|
|
135
135
|
case 17:
|
|
136
|
-
for (i =
|
|
137
|
-
|
|
136
|
+
for (i = oe(e, 3, 3); i; --i)
|
|
137
|
+
se[u++] = 0;
|
|
138
138
|
break;
|
|
139
139
|
case 18:
|
|
140
|
-
for (i =
|
|
141
|
-
|
|
140
|
+
for (i = oe(e, 7, 11); i; --i)
|
|
141
|
+
se[u++] = 0;
|
|
142
142
|
break;
|
|
143
143
|
default:
|
|
144
|
-
|
|
144
|
+
se[u++] = f;
|
|
145
145
|
break;
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
-
|
|
148
|
+
mr(r, se, 0, n), mr(t, se, n, a);
|
|
149
149
|
}
|
|
150
|
-
function
|
|
150
|
+
function rt(e, r, t) {
|
|
151
151
|
for (; ; ) {
|
|
152
|
-
var n =
|
|
152
|
+
var n = Or(e, r);
|
|
153
153
|
if (n === 256)
|
|
154
|
-
return
|
|
154
|
+
return Wr;
|
|
155
155
|
if (n < 256)
|
|
156
156
|
e.dest[e.destLen++] = n;
|
|
157
157
|
else {
|
|
158
158
|
var a, s, o, u;
|
|
159
|
-
for (n -= 257, a =
|
|
159
|
+
for (n -= 257, a = oe(e, zr[n], _r[n]), s = Or(e, t), o = e.destLen - oe(e, $t[s], Yt[s]), u = o; u < o + a; ++u)
|
|
160
160
|
e.dest[e.destLen++] = e.dest[u];
|
|
161
161
|
}
|
|
162
162
|
}
|
|
@@ -165,39 +165,39 @@ function Kn(e) {
|
|
|
165
165
|
for (var r, t, n; e.bitcount > 8; )
|
|
166
166
|
e.sourceIndex--, e.bitcount -= 8;
|
|
167
167
|
if (r = e.source[e.sourceIndex + 1], r = 256 * r + e.source[e.sourceIndex], t = e.source[e.sourceIndex + 3], t = 256 * t + e.source[e.sourceIndex + 2], r !== (~t & 65535))
|
|
168
|
-
return
|
|
168
|
+
return Vt;
|
|
169
169
|
for (e.sourceIndex += 4, n = r; n; --n)
|
|
170
170
|
e.dest[e.destLen++] = e.source[e.sourceIndex++];
|
|
171
|
-
return e.bitcount = 0,
|
|
171
|
+
return e.bitcount = 0, Wr;
|
|
172
172
|
}
|
|
173
173
|
function jn(e, r) {
|
|
174
174
|
var t = new Xn(e, r), n, a, s;
|
|
175
175
|
do {
|
|
176
|
-
switch (n = Zn(t), a =
|
|
176
|
+
switch (n = Zn(t), a = oe(t, 2, 0), a) {
|
|
177
177
|
case 0:
|
|
178
178
|
s = Kn(t);
|
|
179
179
|
break;
|
|
180
180
|
case 1:
|
|
181
|
-
s =
|
|
181
|
+
s = rt(t, qt, Xt);
|
|
182
182
|
break;
|
|
183
183
|
case 2:
|
|
184
|
-
Qn(t, t.ltree, t.dtree), s =
|
|
184
|
+
Qn(t, t.ltree, t.dtree), s = rt(t, t.ltree, t.dtree);
|
|
185
185
|
break;
|
|
186
186
|
default:
|
|
187
|
-
s =
|
|
187
|
+
s = Vt;
|
|
188
188
|
}
|
|
189
|
-
if (s !==
|
|
189
|
+
if (s !== Wr)
|
|
190
190
|
throw new Error("Data error");
|
|
191
191
|
} while (!n);
|
|
192
192
|
return t.destLen < t.dest.length ? typeof t.dest.slice == "function" ? t.dest.slice(0, t.destLen) : t.dest.subarray(0, t.destLen) : t.dest;
|
|
193
193
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
194
|
+
Yn(qt, Xt);
|
|
195
|
+
Zt(zr, _r, 4, 3);
|
|
196
|
+
Zt($t, Yt, 2, 1);
|
|
197
|
+
zr[28] = 0;
|
|
198
|
+
_r[28] = 258;
|
|
199
199
|
var Jn = jn;
|
|
200
|
-
function
|
|
200
|
+
function Ee(e, r, t, n, a) {
|
|
201
201
|
return Math.pow(1 - a, 3) * e + 3 * Math.pow(1 - a, 2) * a * r + 3 * (1 - a) * Math.pow(a, 2) * t + Math.pow(a, 3) * n;
|
|
202
202
|
}
|
|
203
203
|
function he() {
|
|
@@ -224,15 +224,15 @@ he.prototype.addBezier = function(e, r, t, n, a, s, o, u) {
|
|
|
224
224
|
if (h === 0)
|
|
225
225
|
continue;
|
|
226
226
|
var m = -g / h;
|
|
227
|
-
0 < m && m < 1 && (p === 0 && this.addX(
|
|
227
|
+
0 < m && m < 1 && (p === 0 && this.addX(Ee(i[p], l[p], f[p], c[p], m)), p === 1 && this.addY(Ee(i[p], l[p], f[p], c[p], m)));
|
|
228
228
|
continue;
|
|
229
229
|
}
|
|
230
230
|
var x = Math.pow(h, 2) - 4 * g * d;
|
|
231
231
|
if (!(x < 0)) {
|
|
232
232
|
var U = (-h + Math.sqrt(x)) / (2 * d);
|
|
233
|
-
0 < U && U < 1 && (p === 0 && this.addX(
|
|
233
|
+
0 < U && U < 1 && (p === 0 && this.addX(Ee(i[p], l[p], f[p], c[p], U)), p === 1 && this.addY(Ee(i[p], l[p], f[p], c[p], U)));
|
|
234
234
|
var y = (-h - Math.sqrt(x)) / (2 * d);
|
|
235
|
-
0 < y && y < 1 && (p === 0 && this.addX(
|
|
235
|
+
0 < y && y < 1 && (p === 0 && this.addX(Ee(i[p], l[p], f[p], c[p], y)), p === 1 && this.addY(Ee(i[p], l[p], f[p], c[p], y)));
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
238
|
};
|
|
@@ -351,13 +351,13 @@ X.prototype.toDOMElement = function(e) {
|
|
|
351
351
|
var r = this.toPathData(e), t = document.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
352
352
|
return t.setAttribute("d", r), t;
|
|
353
353
|
};
|
|
354
|
-
function
|
|
354
|
+
function Qt(e) {
|
|
355
355
|
throw new Error(e);
|
|
356
356
|
}
|
|
357
|
-
function
|
|
358
|
-
e ||
|
|
357
|
+
function tt(e, r) {
|
|
358
|
+
e || Qt(r);
|
|
359
359
|
}
|
|
360
|
-
var E = { fail:
|
|
360
|
+
var E = { fail: Qt, argument: tt, assert: tt }, nt = 32768, at = 2147483648, Le = {}, b = {}, O = {};
|
|
361
361
|
function ne(e) {
|
|
362
362
|
return function() {
|
|
363
363
|
return e;
|
|
@@ -385,7 +385,7 @@ b.USHORT = function(e) {
|
|
|
385
385
|
};
|
|
386
386
|
O.USHORT = ne(2);
|
|
387
387
|
b.SHORT = function(e) {
|
|
388
|
-
return e >=
|
|
388
|
+
return e >= nt && (e = -(2 * nt - e)), [e >> 8 & 255, e & 255];
|
|
389
389
|
};
|
|
390
390
|
O.SHORT = ne(2);
|
|
391
391
|
b.UINT24 = function(e) {
|
|
@@ -397,7 +397,7 @@ b.ULONG = function(e) {
|
|
|
397
397
|
};
|
|
398
398
|
O.ULONG = ne(4);
|
|
399
399
|
b.LONG = function(e) {
|
|
400
|
-
return e >=
|
|
400
|
+
return e >= at && (e = -(2 * at - e)), [e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, e & 255];
|
|
401
401
|
};
|
|
402
402
|
O.LONG = ne(4);
|
|
403
403
|
b.FIXED = b.ULONG;
|
|
@@ -463,12 +463,12 @@ b.NAME = b.CHARARRAY;
|
|
|
463
463
|
O.NAME = O.CHARARRAY;
|
|
464
464
|
b.STRING = b.CHARARRAY;
|
|
465
465
|
O.STRING = O.CHARARRAY;
|
|
466
|
-
|
|
466
|
+
Le.UTF8 = function(e, r, t) {
|
|
467
467
|
for (var n = [], a = t, s = 0; s < a; s++, r += 1)
|
|
468
468
|
n[s] = e.getUint8(r);
|
|
469
469
|
return String.fromCharCode.apply(null, n);
|
|
470
470
|
};
|
|
471
|
-
|
|
471
|
+
Le.UTF16 = function(e, r, t) {
|
|
472
472
|
for (var n = [], a = t / 2, s = 0; s < a; s++, r += 2)
|
|
473
473
|
n[s] = e.getUint16(r);
|
|
474
474
|
return String.fromCharCode.apply(null, n);
|
|
@@ -483,7 +483,7 @@ b.UTF16 = function(e) {
|
|
|
483
483
|
O.UTF16 = function(e) {
|
|
484
484
|
return e.length * 2;
|
|
485
485
|
};
|
|
486
|
-
var
|
|
486
|
+
var Lr = {
|
|
487
487
|
"x-mac-croatian": (
|
|
488
488
|
// Python: 'mac_croatian'
|
|
489
489
|
"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ"
|
|
@@ -525,8 +525,8 @@ var Er = {
|
|
|
525
525
|
"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"
|
|
526
526
|
)
|
|
527
527
|
};
|
|
528
|
-
|
|
529
|
-
var a =
|
|
528
|
+
Le.MACSTRING = function(e, r, t, n) {
|
|
529
|
+
var a = Lr[n];
|
|
530
530
|
if (a !== void 0) {
|
|
531
531
|
for (var s = "", o = 0; o < t; o++) {
|
|
532
532
|
var u = e.getUint8(r + o);
|
|
@@ -535,24 +535,24 @@ Oe.MACSTRING = function(e, r, t, n) {
|
|
|
535
535
|
return s;
|
|
536
536
|
}
|
|
537
537
|
};
|
|
538
|
-
var
|
|
539
|
-
if (!
|
|
540
|
-
|
|
541
|
-
for (var r in
|
|
542
|
-
|
|
538
|
+
var Qe = typeof WeakMap == "function" && /* @__PURE__ */ new WeakMap(), Ke, ea = function(e) {
|
|
539
|
+
if (!Ke) {
|
|
540
|
+
Ke = {};
|
|
541
|
+
for (var r in Lr)
|
|
542
|
+
Ke[r] = new String(r);
|
|
543
543
|
}
|
|
544
|
-
var t =
|
|
544
|
+
var t = Ke[e];
|
|
545
545
|
if (t !== void 0) {
|
|
546
|
-
if (
|
|
547
|
-
var n =
|
|
546
|
+
if (Qe) {
|
|
547
|
+
var n = Qe.get(t);
|
|
548
548
|
if (n !== void 0)
|
|
549
549
|
return n;
|
|
550
550
|
}
|
|
551
|
-
var a =
|
|
551
|
+
var a = Lr[e];
|
|
552
552
|
if (a !== void 0) {
|
|
553
553
|
for (var s = {}, o = 0; o < a.length; o++)
|
|
554
554
|
s[a.charCodeAt(o)] = o + 128;
|
|
555
|
-
return
|
|
555
|
+
return Qe && Qe.set(t, s), s;
|
|
556
556
|
}
|
|
557
557
|
}
|
|
558
558
|
};
|
|
@@ -572,7 +572,7 @@ O.MACSTRING = function(e, r) {
|
|
|
572
572
|
var t = b.MACSTRING(e, r);
|
|
573
573
|
return t !== void 0 ? t.length : 0;
|
|
574
574
|
};
|
|
575
|
-
function
|
|
575
|
+
function Rr(e) {
|
|
576
576
|
return e >= -128 && e <= 127;
|
|
577
577
|
}
|
|
578
578
|
function ra(e, r, t) {
|
|
@@ -583,7 +583,7 @@ function ra(e, r, t) {
|
|
|
583
583
|
function ta(e, r, t) {
|
|
584
584
|
for (var n = 0, a = e.length, s = r; s < a && n < 64; ) {
|
|
585
585
|
var o = e[s];
|
|
586
|
-
if (!
|
|
586
|
+
if (!Rr(o) || o === 0 && s + 1 < a && e[s + 1] === 0)
|
|
587
587
|
break;
|
|
588
588
|
++s, ++n;
|
|
589
589
|
}
|
|
@@ -595,7 +595,7 @@ function ta(e, r, t) {
|
|
|
595
595
|
function na(e, r, t) {
|
|
596
596
|
for (var n = 0, a = e.length, s = r; s < a && n < 64; ) {
|
|
597
597
|
var o = e[s];
|
|
598
|
-
if (o === 0 ||
|
|
598
|
+
if (o === 0 || Rr(o) && s + 1 < a && Rr(e[s + 1]))
|
|
599
599
|
break;
|
|
600
600
|
++s, ++n;
|
|
601
601
|
}
|
|
@@ -666,10 +666,10 @@ b.OPERAND = function(e, r) {
|
|
|
666
666
|
};
|
|
667
667
|
b.OP = b.BYTE;
|
|
668
668
|
O.OP = O.BYTE;
|
|
669
|
-
var
|
|
669
|
+
var je = typeof WeakMap == "function" && /* @__PURE__ */ new WeakMap();
|
|
670
670
|
b.CHARSTRING = function(e) {
|
|
671
|
-
if (
|
|
672
|
-
var r =
|
|
671
|
+
if (je) {
|
|
672
|
+
var r = je.get(e);
|
|
673
673
|
if (r !== void 0)
|
|
674
674
|
return r;
|
|
675
675
|
}
|
|
@@ -677,7 +677,7 @@ b.CHARSTRING = function(e) {
|
|
|
677
677
|
var s = e[a];
|
|
678
678
|
t = t.concat(b[s.type](s.value));
|
|
679
679
|
}
|
|
680
|
-
return
|
|
680
|
+
return je && je.set(e, t), t;
|
|
681
681
|
};
|
|
682
682
|
O.CHARSTRING = function(e) {
|
|
683
683
|
return b.CHARSTRING(e).length;
|
|
@@ -748,7 +748,7 @@ function He(e, r, t) {
|
|
|
748
748
|
n[a + 1] = { name: e + a, type: "USHORT", value: r[a] };
|
|
749
749
|
return n;
|
|
750
750
|
}
|
|
751
|
-
function
|
|
751
|
+
function Dr(e, r, t) {
|
|
752
752
|
var n = r.length, a = new Array(n + 1);
|
|
753
753
|
a[0] = { name: e + "Count", type: "USHORT", value: n };
|
|
754
754
|
for (var s = 0; s < n; s++)
|
|
@@ -762,7 +762,7 @@ function We(e, r, t) {
|
|
|
762
762
|
a = a.concat(t(r[s], s));
|
|
763
763
|
return a;
|
|
764
764
|
}
|
|
765
|
-
function
|
|
765
|
+
function nr(e) {
|
|
766
766
|
e.format === 1 ? Q.call(
|
|
767
767
|
this,
|
|
768
768
|
"coverageTable",
|
|
@@ -779,9 +779,9 @@ function tr(e) {
|
|
|
779
779
|
}))
|
|
780
780
|
) : E.assert(!1, "Coverage format must be 1 or 2.");
|
|
781
781
|
}
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
function
|
|
782
|
+
nr.prototype = Object.create(Q.prototype);
|
|
783
|
+
nr.prototype.constructor = nr;
|
|
784
|
+
function ar(e) {
|
|
785
785
|
Q.call(
|
|
786
786
|
this,
|
|
787
787
|
"scriptListTable",
|
|
@@ -808,9 +808,9 @@ function nr(e) {
|
|
|
808
808
|
})
|
|
809
809
|
);
|
|
810
810
|
}
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
function
|
|
811
|
+
ar.prototype = Object.create(Q.prototype);
|
|
812
|
+
ar.prototype.constructor = ar;
|
|
813
|
+
function sr(e) {
|
|
814
814
|
Q.call(
|
|
815
815
|
this,
|
|
816
816
|
"featureListTable",
|
|
@@ -825,43 +825,43 @@ function ar(e) {
|
|
|
825
825
|
})
|
|
826
826
|
);
|
|
827
827
|
}
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
function
|
|
831
|
-
Q.call(this, "lookupListTable",
|
|
828
|
+
sr.prototype = Object.create(Q.prototype);
|
|
829
|
+
sr.prototype.constructor = sr;
|
|
830
|
+
function or(e, r) {
|
|
831
|
+
Q.call(this, "lookupListTable", Dr("lookup", e, function(t) {
|
|
832
832
|
var n = r[t.lookupType];
|
|
833
833
|
return E.assert(!!n, "Unable to write GSUB lookup type " + t.lookupType + " tables."), new Q("lookupTable", [
|
|
834
834
|
{ name: "lookupType", type: "USHORT", value: t.lookupType },
|
|
835
835
|
{ name: "lookupFlag", type: "USHORT", value: t.lookupFlag }
|
|
836
|
-
].concat(
|
|
836
|
+
].concat(Dr("subtable", t.subtables, n)));
|
|
837
837
|
}));
|
|
838
838
|
}
|
|
839
|
-
|
|
840
|
-
|
|
839
|
+
or.prototype = Object.create(Q.prototype);
|
|
840
|
+
or.prototype.constructor = or;
|
|
841
841
|
var S = {
|
|
842
842
|
Table: Q,
|
|
843
843
|
Record: Q,
|
|
844
|
-
Coverage:
|
|
845
|
-
ScriptList:
|
|
846
|
-
FeatureList:
|
|
847
|
-
LookupList:
|
|
844
|
+
Coverage: nr,
|
|
845
|
+
ScriptList: ar,
|
|
846
|
+
FeatureList: sr,
|
|
847
|
+
LookupList: or,
|
|
848
848
|
ushortList: He,
|
|
849
|
-
tableList:
|
|
849
|
+
tableList: Dr,
|
|
850
850
|
recordList: We
|
|
851
851
|
};
|
|
852
|
-
function
|
|
852
|
+
function st(e, r) {
|
|
853
853
|
return e.getUint8(r);
|
|
854
854
|
}
|
|
855
|
-
function
|
|
855
|
+
function ir(e, r) {
|
|
856
856
|
return e.getUint16(r, !1);
|
|
857
857
|
}
|
|
858
858
|
function aa(e, r) {
|
|
859
859
|
return e.getInt16(r, !1);
|
|
860
860
|
}
|
|
861
|
-
function
|
|
861
|
+
function Vr(e, r) {
|
|
862
862
|
return e.getUint32(r, !1);
|
|
863
863
|
}
|
|
864
|
-
function
|
|
864
|
+
function Kt(e, r) {
|
|
865
865
|
var t = e.getInt16(r, !1), n = e.getUint16(r + 2, !1);
|
|
866
866
|
return t + n / 65535;
|
|
867
867
|
}
|
|
@@ -922,12 +922,12 @@ v.prototype.parseF2Dot14 = function() {
|
|
|
922
922
|
return this.relativeOffset += 2, e;
|
|
923
923
|
};
|
|
924
924
|
v.prototype.parseULong = function() {
|
|
925
|
-
var e =
|
|
925
|
+
var e = Vr(this.data, this.offset + this.relativeOffset);
|
|
926
926
|
return this.relativeOffset += 4, e;
|
|
927
927
|
};
|
|
928
928
|
v.prototype.parseOffset32 = v.prototype.parseULong;
|
|
929
929
|
v.prototype.parseFixed = function() {
|
|
930
|
-
var e =
|
|
930
|
+
var e = Kt(this.data, this.offset + this.relativeOffset);
|
|
931
931
|
return this.relativeOffset += 4, e;
|
|
932
932
|
};
|
|
933
933
|
v.prototype.parseString = function(e) {
|
|
@@ -941,11 +941,11 @@ v.prototype.parseTag = function() {
|
|
|
941
941
|
return this.parseString(4);
|
|
942
942
|
};
|
|
943
943
|
v.prototype.parseLongDateTime = function() {
|
|
944
|
-
var e =
|
|
944
|
+
var e = Vr(this.data, this.offset + this.relativeOffset + 4);
|
|
945
945
|
return e -= 2082844800, this.relativeOffset += 8, e;
|
|
946
946
|
};
|
|
947
947
|
v.prototype.parseVersion = function(e) {
|
|
948
|
-
var r =
|
|
948
|
+
var r = ir(this.data, this.offset + this.relativeOffset), t = ir(this.data, this.offset + this.relativeOffset + 2);
|
|
949
949
|
return this.relativeOffset += 4, e === void 0 && (e = 4096), r + t / e / 10;
|
|
950
950
|
};
|
|
951
951
|
v.prototype.skip = function(e, r) {
|
|
@@ -1132,7 +1132,7 @@ v.uLongList = v.prototype.parseULongList;
|
|
|
1132
1132
|
v.struct = v.prototype.parseStruct;
|
|
1133
1133
|
v.coverage = v.prototype.parseCoverage;
|
|
1134
1134
|
v.classDef = v.prototype.parseClassDef;
|
|
1135
|
-
var
|
|
1135
|
+
var ot = {
|
|
1136
1136
|
reserved: v.uShort,
|
|
1137
1137
|
reqFeatureIndex: v.uShort,
|
|
1138
1138
|
featureIndexes: v.uShortList
|
|
@@ -1141,10 +1141,10 @@ v.prototype.parseScriptList = function() {
|
|
|
1141
1141
|
return this.parsePointer(v.recordList({
|
|
1142
1142
|
tag: v.tag,
|
|
1143
1143
|
script: v.pointer({
|
|
1144
|
-
defaultLangSys: v.pointer(
|
|
1144
|
+
defaultLangSys: v.pointer(ot),
|
|
1145
1145
|
langSysRecords: v.recordList({
|
|
1146
1146
|
tag: v.tag,
|
|
1147
|
-
langSys: v.pointer(
|
|
1147
|
+
langSys: v.pointer(ot)
|
|
1148
1148
|
})
|
|
1149
1149
|
})
|
|
1150
1150
|
})) || [];
|
|
@@ -1183,13 +1183,13 @@ v.prototype.parseFeatureVariationsList = function() {
|
|
|
1183
1183
|
}) || [];
|
|
1184
1184
|
};
|
|
1185
1185
|
var k = {
|
|
1186
|
-
getByte:
|
|
1187
|
-
getCard8:
|
|
1188
|
-
getUShort:
|
|
1189
|
-
getCard16:
|
|
1186
|
+
getByte: st,
|
|
1187
|
+
getCard8: st,
|
|
1188
|
+
getUShort: ir,
|
|
1189
|
+
getCard16: ir,
|
|
1190
1190
|
getShort: aa,
|
|
1191
|
-
getULong:
|
|
1192
|
-
getFixed:
|
|
1191
|
+
getULong: Vr,
|
|
1192
|
+
getFixed: Kt,
|
|
1193
1193
|
getTag: sa,
|
|
1194
1194
|
getOffset: oa,
|
|
1195
1195
|
getBytes: ia,
|
|
@@ -1312,7 +1312,7 @@ function da(e) {
|
|
|
1312
1312
|
}
|
|
1313
1313
|
return s;
|
|
1314
1314
|
}
|
|
1315
|
-
var
|
|
1315
|
+
var jt = { parse: ca, make: da }, rr = [
|
|
1316
1316
|
".notdef",
|
|
1317
1317
|
"space",
|
|
1318
1318
|
"exclam",
|
|
@@ -2213,7 +2213,7 @@ var Zt = { parse: ca, make: da }, er = [
|
|
|
2213
2213
|
"Yacutesmall",
|
|
2214
2214
|
"Thornsmall",
|
|
2215
2215
|
"Ydieresissmall"
|
|
2216
|
-
],
|
|
2216
|
+
], Ue = [
|
|
2217
2217
|
".notdef",
|
|
2218
2218
|
".null",
|
|
2219
2219
|
"nonmarkingreturn",
|
|
@@ -2473,10 +2473,10 @@ var Zt = { parse: ca, make: da }, er = [
|
|
|
2473
2473
|
"ccaron",
|
|
2474
2474
|
"dcroat"
|
|
2475
2475
|
];
|
|
2476
|
-
function
|
|
2476
|
+
function Jt(e) {
|
|
2477
2477
|
this.font = e;
|
|
2478
2478
|
}
|
|
2479
|
-
|
|
2479
|
+
Jt.prototype.charToGlyphIndex = function(e) {
|
|
2480
2480
|
var r = e.codePointAt(0), t = this.font.glyphs;
|
|
2481
2481
|
if (t) {
|
|
2482
2482
|
for (var n = 0; n < t.length; n += 1)
|
|
@@ -2486,33 +2486,33 @@ Qt.prototype.charToGlyphIndex = function(e) {
|
|
|
2486
2486
|
}
|
|
2487
2487
|
return null;
|
|
2488
2488
|
};
|
|
2489
|
-
function
|
|
2489
|
+
function en(e) {
|
|
2490
2490
|
this.cmap = e;
|
|
2491
2491
|
}
|
|
2492
|
-
|
|
2492
|
+
en.prototype.charToGlyphIndex = function(e) {
|
|
2493
2493
|
return this.cmap.glyphIndexMap[e.codePointAt(0)] || 0;
|
|
2494
2494
|
};
|
|
2495
|
-
function
|
|
2495
|
+
function ur(e, r) {
|
|
2496
2496
|
this.encoding = e, this.charset = r;
|
|
2497
2497
|
}
|
|
2498
|
-
|
|
2498
|
+
ur.prototype.charToGlyphIndex = function(e) {
|
|
2499
2499
|
var r = e.codePointAt(0), t = this.encoding[r];
|
|
2500
2500
|
return this.charset.indexOf(t);
|
|
2501
2501
|
};
|
|
2502
|
-
function
|
|
2502
|
+
function qr(e) {
|
|
2503
2503
|
switch (e.version) {
|
|
2504
2504
|
case 1:
|
|
2505
|
-
this.names =
|
|
2505
|
+
this.names = Ue.slice();
|
|
2506
2506
|
break;
|
|
2507
2507
|
case 2:
|
|
2508
2508
|
this.names = new Array(e.numberOfGlyphs);
|
|
2509
2509
|
for (var r = 0; r < e.numberOfGlyphs; r++)
|
|
2510
|
-
e.glyphNameIndex[r] <
|
|
2510
|
+
e.glyphNameIndex[r] < Ue.length ? this.names[r] = Ue[e.glyphNameIndex[r]] : this.names[r] = e.names[e.glyphNameIndex[r] - Ue.length];
|
|
2511
2511
|
break;
|
|
2512
2512
|
case 2.5:
|
|
2513
2513
|
this.names = new Array(e.numberOfGlyphs);
|
|
2514
2514
|
for (var t = 0; t < e.numberOfGlyphs; t++)
|
|
2515
|
-
this.names[t] =
|
|
2515
|
+
this.names[t] = Ue[t + e.glyphNameIndex[t]];
|
|
2516
2516
|
break;
|
|
2517
2517
|
case 3:
|
|
2518
2518
|
this.names = [];
|
|
@@ -2522,10 +2522,10 @@ function zr(e) {
|
|
|
2522
2522
|
break;
|
|
2523
2523
|
}
|
|
2524
2524
|
}
|
|
2525
|
-
|
|
2525
|
+
qr.prototype.nameToGlyphIndex = function(e) {
|
|
2526
2526
|
return this.names.indexOf(e);
|
|
2527
2527
|
};
|
|
2528
|
-
|
|
2528
|
+
qr.prototype.glyphIndexToName = function(e) {
|
|
2529
2529
|
return this.names[e];
|
|
2530
2530
|
};
|
|
2531
2531
|
function ya(e) {
|
|
@@ -2551,7 +2551,7 @@ function ba(e, r) {
|
|
|
2551
2551
|
function Sa(e, r, t, n, a) {
|
|
2552
2552
|
e.beginPath(), e.moveTo(r, t), e.lineTo(n, a), e.stroke();
|
|
2553
2553
|
}
|
|
2554
|
-
var
|
|
2554
|
+
var Fe = { line: Sa };
|
|
2555
2555
|
function Ta(e, r) {
|
|
2556
2556
|
var t = r || new X();
|
|
2557
2557
|
return {
|
|
@@ -2648,11 +2648,11 @@ K.prototype.drawPoints = function(e, r, t, n) {
|
|
|
2648
2648
|
};
|
|
2649
2649
|
K.prototype.drawMetrics = function(e, r, t, n) {
|
|
2650
2650
|
var a;
|
|
2651
|
-
r = r !== void 0 ? r : 0, t = t !== void 0 ? t : 0, n = n !== void 0 ? n : 24, a = 1 / this.path.unitsPerEm * n, e.lineWidth = 1, e.strokeStyle = "black",
|
|
2651
|
+
r = r !== void 0 ? r : 0, t = t !== void 0 ? t : 0, n = n !== void 0 ? n : 24, a = 1 / this.path.unitsPerEm * n, e.lineWidth = 1, e.strokeStyle = "black", Fe.line(e, r, -1e4, r, 1e4), Fe.line(e, -1e4, t, 1e4, t);
|
|
2652
2652
|
var s = this.xMin || 0, o = this.yMin || 0, u = this.xMax || 0, i = this.yMax || 0, l = this.advanceWidth || 0;
|
|
2653
|
-
e.strokeStyle = "blue",
|
|
2653
|
+
e.strokeStyle = "blue", Fe.line(e, r + s * a, -1e4, r + s * a, 1e4), Fe.line(e, r + u * a, -1e4, r + u * a, 1e4), Fe.line(e, -1e4, t + -o * a, 1e4, t + -o * a), Fe.line(e, -1e4, t + -i * a, 1e4, t + -i * a), e.strokeStyle = "green", Fe.line(e, r + l * a, -1e4, r + l * a, 1e4);
|
|
2654
2654
|
};
|
|
2655
|
-
function
|
|
2655
|
+
function Je(e, r, t) {
|
|
2656
2656
|
Object.defineProperty(e, r, {
|
|
2657
2657
|
get: function() {
|
|
2658
2658
|
return e.path, e[t];
|
|
@@ -2664,7 +2664,7 @@ function je(e, r, t) {
|
|
|
2664
2664
|
configurable: !0
|
|
2665
2665
|
});
|
|
2666
2666
|
}
|
|
2667
|
-
function
|
|
2667
|
+
function Xr(e, r) {
|
|
2668
2668
|
if (this.font = e, this.glyphs = {}, Array.isArray(r))
|
|
2669
2669
|
for (var t = 0; t < r.length; t++) {
|
|
2670
2670
|
var n = r[t];
|
|
@@ -2672,7 +2672,7 @@ function _r(e, r) {
|
|
|
2672
2672
|
}
|
|
2673
2673
|
this.length = r && r.length || 0;
|
|
2674
2674
|
}
|
|
2675
|
-
|
|
2675
|
+
Xr.prototype.get = function(e) {
|
|
2676
2676
|
if (this.glyphs[e] === void 0) {
|
|
2677
2677
|
this.font._push(e), typeof this.glyphs[e] == "function" && (this.glyphs[e] = this.glyphs[e]());
|
|
2678
2678
|
var r = this.glyphs[e], t = this.font._IndexToUnicodeMap[e];
|
|
@@ -2684,7 +2684,7 @@ _r.prototype.get = function(e) {
|
|
|
2684
2684
|
typeof this.glyphs[e] == "function" && (this.glyphs[e] = this.glyphs[e]());
|
|
2685
2685
|
return this.glyphs[e];
|
|
2686
2686
|
};
|
|
2687
|
-
|
|
2687
|
+
Xr.prototype.push = function(e, r) {
|
|
2688
2688
|
this.glyphs[e] = r, this.length++;
|
|
2689
2689
|
};
|
|
2690
2690
|
function ka(e, r) {
|
|
@@ -2697,7 +2697,7 @@ function Fa(e, r, t, n, a, s) {
|
|
|
2697
2697
|
t(o, n, a);
|
|
2698
2698
|
var u = s(e.glyphs, o);
|
|
2699
2699
|
return u.unitsPerEm = e.unitsPerEm, u;
|
|
2700
|
-
},
|
|
2700
|
+
}, Je(o, "xMin", "_xMin"), Je(o, "xMax", "_xMax"), Je(o, "yMin", "_yMin"), Je(o, "yMax", "_yMax"), o;
|
|
2701
2701
|
};
|
|
2702
2702
|
}
|
|
2703
2703
|
function Ua(e, r, t, n) {
|
|
@@ -2709,25 +2709,25 @@ function Ua(e, r, t, n) {
|
|
|
2709
2709
|
}, a;
|
|
2710
2710
|
};
|
|
2711
2711
|
}
|
|
2712
|
-
var
|
|
2713
|
-
function
|
|
2712
|
+
var ue = { GlyphSet: Xr, glyphLoader: ka, ttfGlyphLoader: Fa, cffGlyphLoader: Ua };
|
|
2713
|
+
function rn(e, r) {
|
|
2714
2714
|
if (e === r)
|
|
2715
2715
|
return !0;
|
|
2716
2716
|
if (Array.isArray(e) && Array.isArray(r)) {
|
|
2717
2717
|
if (e.length !== r.length)
|
|
2718
2718
|
return !1;
|
|
2719
2719
|
for (var t = 0; t < e.length; t += 1)
|
|
2720
|
-
if (!
|
|
2720
|
+
if (!rn(e[t], r[t]))
|
|
2721
2721
|
return !1;
|
|
2722
2722
|
return !0;
|
|
2723
2723
|
} else
|
|
2724
2724
|
return !1;
|
|
2725
2725
|
}
|
|
2726
|
-
function
|
|
2726
|
+
function Ar(e) {
|
|
2727
2727
|
var r;
|
|
2728
2728
|
return e.length < 1240 ? r = 107 : e.length < 33900 ? r = 1131 : r = 32768, r;
|
|
2729
2729
|
}
|
|
2730
|
-
function
|
|
2730
|
+
function be(e, r, t) {
|
|
2731
2731
|
var n = [], a = [], s = k.getCard16(e, r), o, u;
|
|
2732
2732
|
if (s !== 0) {
|
|
2733
2733
|
var i = k.getByte(e, r + 2);
|
|
@@ -2798,7 +2798,7 @@ function La(e) {
|
|
|
2798
2798
|
}
|
|
2799
2799
|
return r;
|
|
2800
2800
|
}
|
|
2801
|
-
function
|
|
2801
|
+
function tn(e, r, t) {
|
|
2802
2802
|
r = r !== void 0 ? r : 0;
|
|
2803
2803
|
var n = new k.Parser(e, r), a = [], s = [];
|
|
2804
2804
|
for (t = t !== void 0 ? t : e.length; n.relativeOffset < t; ) {
|
|
@@ -2808,9 +2808,9 @@ function Jt(e, r, t) {
|
|
|
2808
2808
|
return La(a);
|
|
2809
2809
|
}
|
|
2810
2810
|
function Ge(e, r) {
|
|
2811
|
-
return r <= 390 ? r =
|
|
2811
|
+
return r <= 390 ? r = rr[r] : r = e[r - 391], r;
|
|
2812
2812
|
}
|
|
2813
|
-
function
|
|
2813
|
+
function nn(e, r, t) {
|
|
2814
2814
|
for (var n = {}, a, s = 0; s < r.length; s += 1) {
|
|
2815
2815
|
var o = r[s];
|
|
2816
2816
|
if (Array.isArray(o.type)) {
|
|
@@ -2828,7 +2828,7 @@ function Ra(e, r) {
|
|
|
2828
2828
|
var t = {};
|
|
2829
2829
|
return t.formatMajor = k.getCard8(e, r), t.formatMinor = k.getCard8(e, r + 1), t.size = k.getCard8(e, r + 2), t.offsetSize = k.getCard8(e, r + 3), t.startOffset = r, t.endOffset = r + 4, t;
|
|
2830
2830
|
}
|
|
2831
|
-
var
|
|
2831
|
+
var an = [
|
|
2832
2832
|
{ name: "version", op: 0, type: "SID" },
|
|
2833
2833
|
{ name: "notice", op: 1, type: "SID" },
|
|
2834
2834
|
{ name: "copyright", op: 1200, type: "SID" },
|
|
@@ -2864,29 +2864,29 @@ var rn = [
|
|
|
2864
2864
|
{ name: "fdArray", op: 1236, type: "offset" },
|
|
2865
2865
|
{ name: "fdSelect", op: 1237, type: "offset" },
|
|
2866
2866
|
{ name: "fontName", op: 1238, type: "SID" }
|
|
2867
|
-
],
|
|
2867
|
+
], sn = [
|
|
2868
2868
|
{ name: "subrs", op: 19, type: "offset", value: 0 },
|
|
2869
2869
|
{ name: "defaultWidthX", op: 20, type: "number", value: 0 },
|
|
2870
2870
|
{ name: "nominalWidthX", op: 21, type: "number", value: 0 }
|
|
2871
2871
|
];
|
|
2872
2872
|
function Da(e, r) {
|
|
2873
|
-
var t =
|
|
2874
|
-
return
|
|
2873
|
+
var t = tn(e, 0, e.byteLength);
|
|
2874
|
+
return nn(t, an, r);
|
|
2875
2875
|
}
|
|
2876
|
-
function
|
|
2877
|
-
var a =
|
|
2878
|
-
return
|
|
2876
|
+
function on(e, r, t, n) {
|
|
2877
|
+
var a = tn(e, r, t);
|
|
2878
|
+
return nn(a, sn, n);
|
|
2879
2879
|
}
|
|
2880
|
-
function
|
|
2880
|
+
function it(e, r, t, n) {
|
|
2881
2881
|
for (var a = [], s = 0; s < t.length; s += 1) {
|
|
2882
2882
|
var o = new DataView(new Uint8Array(t[s]).buffer), u = Da(o, n);
|
|
2883
2883
|
u._subrs = [], u._subrsBias = 0, u._defaultWidthX = 0, u._nominalWidthX = 0;
|
|
2884
2884
|
var i = u.private[0], l = u.private[1];
|
|
2885
2885
|
if (i !== 0 && l !== 0) {
|
|
2886
|
-
var f =
|
|
2886
|
+
var f = on(e, l + r, i, n);
|
|
2887
2887
|
if (u._defaultWidthX = f.defaultWidthX, u._nominalWidthX = f.nominalWidthX, f.subrs !== 0) {
|
|
2888
|
-
var c = l + f.subrs, p =
|
|
2889
|
-
u._subrs = p.objects, u._subrsBias =
|
|
2888
|
+
var c = l + f.subrs, p = be(e, c + r);
|
|
2889
|
+
u._subrs = p.objects, u._subrsBias = Ar(u._subrs);
|
|
2890
2890
|
}
|
|
2891
2891
|
u._privateDict = f;
|
|
2892
2892
|
}
|
|
@@ -2917,7 +2917,7 @@ function Aa(e, r, t, n) {
|
|
|
2917
2917
|
throw new Error("Unknown charset format " + i);
|
|
2918
2918
|
return u;
|
|
2919
2919
|
}
|
|
2920
|
-
function
|
|
2920
|
+
function Ma(e, r, t) {
|
|
2921
2921
|
var n, a = {}, s = new k.Parser(e, r), o = s.parseCard8();
|
|
2922
2922
|
if (o === 0)
|
|
2923
2923
|
for (var u = s.parseCard8(), i = 0; i < u; i += 1)
|
|
@@ -2930,9 +2930,9 @@ function Ba(e, r, t) {
|
|
|
2930
2930
|
a[h] = n, n += 1;
|
|
2931
2931
|
} else
|
|
2932
2932
|
throw new Error("Unknown encoding format " + o);
|
|
2933
|
-
return new
|
|
2933
|
+
return new ur(a, t);
|
|
2934
2934
|
}
|
|
2935
|
-
function
|
|
2935
|
+
function ut(e, r, t) {
|
|
2936
2936
|
var n, a, s, o, u = new X(), i = [], l = 0, f = !1, c = !1, p = 0, h = 0, d, g, m, x;
|
|
2937
2937
|
if (e.isCIDFont) {
|
|
2938
2938
|
var U = e.tables.cff.topDict._fdSelect[r.index], y = e.tables.cff.topDict._fdArray[U];
|
|
@@ -2948,7 +2948,7 @@ function st(e, r, t) {
|
|
|
2948
2948
|
F = i.length % 2 !== 0, F && !f && (L = i.shift() + x), l += i.length >> 1, i.length = 0, f = !0;
|
|
2949
2949
|
}
|
|
2950
2950
|
function C(F) {
|
|
2951
|
-
for (var R,
|
|
2951
|
+
for (var R, D, A, H, Z, G, z, $, _, P, V, Y, M = 0; M < F.length; ) {
|
|
2952
2952
|
var q = F[M];
|
|
2953
2953
|
switch (M += 1, q) {
|
|
2954
2954
|
case 1:
|
|
@@ -2984,16 +2984,16 @@ function st(e, r, t) {
|
|
|
2984
2984
|
case 12:
|
|
2985
2985
|
switch (q = F[M], M += 1, q) {
|
|
2986
2986
|
case 35:
|
|
2987
|
-
n = p + i.shift(), a = h + i.shift(), s = n + i.shift(), o = a + i.shift(), z = s + i.shift(),
|
|
2987
|
+
n = p + i.shift(), a = h + i.shift(), s = n + i.shift(), o = a + i.shift(), z = s + i.shift(), $ = o + i.shift(), _ = z + i.shift(), P = $ + i.shift(), V = _ + i.shift(), Y = P + i.shift(), p = V + i.shift(), h = Y + i.shift(), i.shift(), u.curveTo(n, a, s, o, z, $), u.curveTo(_, P, V, Y, p, h);
|
|
2988
2988
|
break;
|
|
2989
2989
|
case 34:
|
|
2990
|
-
n = p + i.shift(), a = h, s = n + i.shift(), o = a + i.shift(), z = s + i.shift(),
|
|
2990
|
+
n = p + i.shift(), a = h, s = n + i.shift(), o = a + i.shift(), z = s + i.shift(), $ = o, _ = z + i.shift(), P = o, V = _ + i.shift(), Y = h, p = V + i.shift(), u.curveTo(n, a, s, o, z, $), u.curveTo(_, P, V, Y, p, h);
|
|
2991
2991
|
break;
|
|
2992
2992
|
case 36:
|
|
2993
|
-
n = p + i.shift(), a = h + i.shift(), s = n + i.shift(), o = a + i.shift(), z = s + i.shift(),
|
|
2993
|
+
n = p + i.shift(), a = h + i.shift(), s = n + i.shift(), o = a + i.shift(), z = s + i.shift(), $ = o, _ = z + i.shift(), P = o, V = _ + i.shift(), Y = P + i.shift(), p = V + i.shift(), u.curveTo(n, a, s, o, z, $), u.curveTo(_, P, V, Y, p, h);
|
|
2994
2994
|
break;
|
|
2995
2995
|
case 37:
|
|
2996
|
-
n = p + i.shift(), a = h + i.shift(), s = n + i.shift(), o = a + i.shift(), z = s + i.shift(),
|
|
2996
|
+
n = p + i.shift(), a = h + i.shift(), s = n + i.shift(), o = a + i.shift(), z = s + i.shift(), $ = o + i.shift(), _ = z + i.shift(), P = $ + i.shift(), V = _ + i.shift(), Y = P + i.shift(), Math.abs(V - p) > Math.abs(Y - h) ? p = V + i.shift() : h = Y + i.shift(), u.curveTo(n, a, s, o, z, $), u.curveTo(_, P, V, Y, p, h);
|
|
2997
2997
|
break;
|
|
2998
2998
|
default:
|
|
2999
2999
|
console.log("Glyph " + r.index + ": unknown operator 1200" + q), i.length = 0;
|
|
@@ -3038,7 +3038,7 @@ function st(e, r, t) {
|
|
|
3038
3038
|
n = p + i.shift(), a = h, s = n + i.shift(), o = a + i.shift(), p = s + i.shift(), h = o, u.curveTo(n, a, s, o, p, h);
|
|
3039
3039
|
break;
|
|
3040
3040
|
case 28:
|
|
3041
|
-
R = F[M],
|
|
3041
|
+
R = F[M], D = F[M + 1], i.push((R << 24 | D << 16) >> 16), M += 2;
|
|
3042
3042
|
break;
|
|
3043
3043
|
case 29:
|
|
3044
3044
|
Z = i.pop() + e.gsubrsBias, G = e.gsubrs[Z], G && C(G);
|
|
@@ -3052,13 +3052,13 @@ function st(e, r, t) {
|
|
|
3052
3052
|
n = p, a = h + i.shift(), s = n + i.shift(), o = a + i.shift(), p = s + i.shift(), h = o + (i.length === 1 ? i.shift() : 0), u.curveTo(n, a, s, o, p, h);
|
|
3053
3053
|
break;
|
|
3054
3054
|
default:
|
|
3055
|
-
q < 32 ? console.log("Glyph " + r.index + ": unknown operator " + q) : q < 247 ? i.push(q - 139) : q < 251 ? (R = F[M], M += 1, i.push((q - 247) * 256 + R + 108)) : q < 255 ? (R = F[M], M += 1, i.push(-(q - 251) * 256 - R - 108)) : (R = F[M],
|
|
3055
|
+
q < 32 ? console.log("Glyph " + r.index + ": unknown operator " + q) : q < 247 ? i.push(q - 139) : q < 251 ? (R = F[M], M += 1, i.push((q - 247) * 256 + R + 108)) : q < 255 ? (R = F[M], M += 1, i.push(-(q - 251) * 256 - R - 108)) : (R = F[M], D = F[M + 1], A = F[M + 2], H = F[M + 3], M += 4, i.push((R << 24 | D << 16 | A << 8 | H) / 65536));
|
|
3056
3056
|
}
|
|
3057
3057
|
}
|
|
3058
3058
|
}
|
|
3059
3059
|
return C(t), r.advanceWidth = L, u;
|
|
3060
3060
|
}
|
|
3061
|
-
function
|
|
3061
|
+
function Ba(e, r, t, n) {
|
|
3062
3062
|
var a = [], s, o = new k.Parser(e, r), u = o.parseCard8();
|
|
3063
3063
|
if (u === 0)
|
|
3064
3064
|
for (var i = 0; i < t; i++) {
|
|
@@ -3087,9 +3087,9 @@ function Ma(e, r, t, n) {
|
|
|
3087
3087
|
}
|
|
3088
3088
|
function Ia(e, r, t, n) {
|
|
3089
3089
|
t.tables.cff = {};
|
|
3090
|
-
var a = Ra(e, r), s =
|
|
3091
|
-
t.gsubrs = i.objects, t.gsubrsBias =
|
|
3092
|
-
var l =
|
|
3090
|
+
var a = Ra(e, r), s = be(e, a.endOffset, k.bytesToString), o = be(e, s.endOffset), u = be(e, o.endOffset, k.bytesToString), i = be(e, u.endOffset);
|
|
3091
|
+
t.gsubrs = i.objects, t.gsubrsBias = Ar(t.gsubrs);
|
|
3092
|
+
var l = it(e, r, o.objects, u.objects);
|
|
3093
3093
|
if (l.length !== 1)
|
|
3094
3094
|
throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = " + l.length);
|
|
3095
3095
|
var f = l[0];
|
|
@@ -3098,32 +3098,32 @@ function Ia(e, r, t, n) {
|
|
|
3098
3098
|
if (c === 0 || p === 0)
|
|
3099
3099
|
throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");
|
|
3100
3100
|
c += r;
|
|
3101
|
-
var h =
|
|
3102
|
-
f._fdArray = d, p += r, f._fdSelect =
|
|
3101
|
+
var h = be(e, c), d = it(e, r, h.objects, u.objects);
|
|
3102
|
+
f._fdArray = d, p += r, f._fdSelect = Ba(e, p, t.numGlyphs, d.length);
|
|
3103
3103
|
}
|
|
3104
|
-
var g = r + f.private[1], m =
|
|
3104
|
+
var g = r + f.private[1], m = on(e, g, f.private[0], u.objects);
|
|
3105
3105
|
if (t.defaultWidthX = m.defaultWidthX, t.nominalWidthX = m.nominalWidthX, m.subrs !== 0) {
|
|
3106
|
-
var x = g + m.subrs, U =
|
|
3107
|
-
t.subrs = U.objects, t.subrsBias =
|
|
3106
|
+
var x = g + m.subrs, U = be(e, x);
|
|
3107
|
+
t.subrs = U.objects, t.subrsBias = Ar(t.subrs);
|
|
3108
3108
|
} else
|
|
3109
3109
|
t.subrs = [], t.subrsBias = 0;
|
|
3110
3110
|
var y;
|
|
3111
|
-
n.lowMemory ? (y = Ca(e, r + f.charStrings), t.nGlyphs = y.offsets.length) : (y =
|
|
3111
|
+
n.lowMemory ? (y = Ca(e, r + f.charStrings), t.nGlyphs = y.offsets.length) : (y = be(e, r + f.charStrings), t.nGlyphs = y.objects.length);
|
|
3112
3112
|
var L = Aa(e, r + f.charset, t.nGlyphs, u.objects);
|
|
3113
|
-
if (f.encoding === 0 ? t.cffEncoding = new
|
|
3113
|
+
if (f.encoding === 0 ? t.cffEncoding = new ur(ga, L) : f.encoding === 1 ? t.cffEncoding = new ur(ma, L) : t.cffEncoding = Ma(e, r + f.encoding, L), t.encoding = t.encoding || t.cffEncoding, t.glyphs = new ue.GlyphSet(t), n.lowMemory)
|
|
3114
3114
|
t._push = function(C) {
|
|
3115
3115
|
var F = wa(C, y.offsets, e, r + f.charStrings);
|
|
3116
|
-
t.glyphs.push(C,
|
|
3116
|
+
t.glyphs.push(C, ue.cffGlyphLoader(t, C, ut, F));
|
|
3117
3117
|
};
|
|
3118
3118
|
else
|
|
3119
3119
|
for (var w = 0; w < t.nGlyphs; w += 1) {
|
|
3120
3120
|
var B = y.objects[w];
|
|
3121
|
-
t.glyphs.push(w,
|
|
3121
|
+
t.glyphs.push(w, ue.cffGlyphLoader(t, w, ut, B));
|
|
3122
3122
|
}
|
|
3123
3123
|
}
|
|
3124
|
-
function
|
|
3125
|
-
var t, n =
|
|
3126
|
-
return n >= 0 && (t = n), n = r.indexOf(e), n >= 0 ? t = n +
|
|
3124
|
+
function un(e, r) {
|
|
3125
|
+
var t, n = rr.indexOf(e);
|
|
3126
|
+
return n >= 0 && (t = n), n = r.indexOf(e), n >= 0 ? t = n + rr.length : (t = rr.length + r.length, r.push(e)), t;
|
|
3127
3127
|
}
|
|
3128
3128
|
function Pa() {
|
|
3129
3129
|
return new S.Record("Header", [
|
|
@@ -3142,20 +3142,20 @@ function Ga(e) {
|
|
|
3142
3142
|
r.names.push({ name: "name_" + t, type: "NAME", value: e[t] });
|
|
3143
3143
|
return r;
|
|
3144
3144
|
}
|
|
3145
|
-
function
|
|
3145
|
+
function ln(e, r, t) {
|
|
3146
3146
|
for (var n = {}, a = 0; a < e.length; a += 1) {
|
|
3147
3147
|
var s = e[a], o = r[s.name];
|
|
3148
|
-
o !== void 0 && !
|
|
3148
|
+
o !== void 0 && !rn(o, s.value) && (s.type === "SID" && (o = un(o, t)), n[s.op] = { name: s.name, type: s.type, value: o });
|
|
3149
3149
|
}
|
|
3150
3150
|
return n;
|
|
3151
3151
|
}
|
|
3152
|
-
function
|
|
3152
|
+
function lt(e, r) {
|
|
3153
3153
|
var t = new S.Record("Top DICT", [
|
|
3154
3154
|
{ name: "dict", type: "DICT", value: {} }
|
|
3155
3155
|
]);
|
|
3156
|
-
return t.dict =
|
|
3156
|
+
return t.dict = ln(an, e, r), t;
|
|
3157
3157
|
}
|
|
3158
|
-
function
|
|
3158
|
+
function ft(e) {
|
|
3159
3159
|
var r = new S.Record("Top DICT INDEX", [
|
|
3160
3160
|
{ name: "topDicts", type: "INDEX", value: [] }
|
|
3161
3161
|
]);
|
|
@@ -3179,7 +3179,7 @@ function Wa(e, r) {
|
|
|
3179
3179
|
for (var t = new S.Record("Charsets", [
|
|
3180
3180
|
{ name: "format", type: "Card8", value: 0 }
|
|
3181
3181
|
]), n = 0; n < e.length; n += 1) {
|
|
3182
|
-
var a = e[n], s =
|
|
3182
|
+
var a = e[n], s = un(a, r);
|
|
3183
3183
|
t.fields.push({ name: "glyph_" + n, type: "SID", value: s });
|
|
3184
3184
|
}
|
|
3185
3185
|
return t;
|
|
@@ -3225,7 +3225,7 @@ function Va(e, r) {
|
|
|
3225
3225
|
var t = new S.Record("Private DICT", [
|
|
3226
3226
|
{ name: "dict", type: "DICT", value: {} }
|
|
3227
3227
|
]);
|
|
3228
|
-
return t.dict = sn
|
|
3228
|
+
return t.dict = ln(sn, e, r), t;
|
|
3229
3229
|
}
|
|
3230
3230
|
function qa(e, r) {
|
|
3231
3231
|
for (var t = new S.Table("CFF ", [
|
|
@@ -3252,17 +3252,17 @@ function qa(e, r) {
|
|
|
3252
3252
|
u = e.get(i), o.push(u.name);
|
|
3253
3253
|
var l = [];
|
|
3254
3254
|
t.header = Pa(), t.nameIndex = Ga([r.postScriptName]);
|
|
3255
|
-
var f =
|
|
3256
|
-
t.topDictIndex =
|
|
3255
|
+
var f = lt(a, l);
|
|
3256
|
+
t.topDictIndex = ft(f), t.globalSubrIndex = Ha(), t.charsets = Wa(o, l), t.charStringsIndex = _a(e), t.privateDict = Va(s, l), t.stringIndex = Na(l);
|
|
3257
3257
|
var c = t.header.sizeOf() + t.nameIndex.sizeOf() + t.topDictIndex.sizeOf() + t.stringIndex.sizeOf() + t.globalSubrIndex.sizeOf();
|
|
3258
|
-
return a.charset = c, a.encoding = 0, a.charStrings = a.charset + t.charsets.sizeOf(), a.private[1] = a.charStrings + t.charStringsIndex.sizeOf(), f =
|
|
3258
|
+
return a.charset = c, a.encoding = 0, a.charStrings = a.charset + t.charsets.sizeOf(), a.private[1] = a.charStrings + t.charStringsIndex.sizeOf(), f = lt(a, l), t.topDictIndex = ft(f), t;
|
|
3259
3259
|
}
|
|
3260
|
-
var
|
|
3260
|
+
var fn = { parse: Ia, make: qa };
|
|
3261
3261
|
function Xa(e, r) {
|
|
3262
3262
|
var t = {}, n = new k.Parser(e, r);
|
|
3263
3263
|
return t.version = n.parseVersion(), t.fontRevision = Math.round(n.parseFixed() * 1e3) / 1e3, t.checkSumAdjustment = n.parseULong(), t.magicNumber = n.parseULong(), E.argument(t.magicNumber === 1594834165, "Font header has wrong magic number."), t.flags = n.parseUShort(), t.unitsPerEm = n.parseUShort(), t.created = n.parseLongDateTime(), t.modified = n.parseLongDateTime(), t.xMin = n.parseShort(), t.yMin = n.parseShort(), t.xMax = n.parseShort(), t.yMax = n.parseShort(), t.macStyle = n.parseUShort(), t.lowestRecPPEM = n.parseUShort(), t.fontDirectionHint = n.parseShort(), t.indexToLocFormat = n.parseShort(), t.glyphDataFormat = n.parseShort(), t;
|
|
3264
3264
|
}
|
|
3265
|
-
function
|
|
3265
|
+
function $a(e) {
|
|
3266
3266
|
var r = Math.round((/* @__PURE__ */ new Date()).getTime() / 1e3) + 2082844800, t = r;
|
|
3267
3267
|
return e.createdTimestamp && (t = e.createdTimestamp + 2082844800), new S.Table("head", [
|
|
3268
3268
|
{ name: "version", type: "FIXED", value: 65536 },
|
|
@@ -3284,8 +3284,8 @@ function Ya(e) {
|
|
|
3284
3284
|
{ name: "glyphDataFormat", type: "SHORT", value: 0 }
|
|
3285
3285
|
], e);
|
|
3286
3286
|
}
|
|
3287
|
-
var
|
|
3288
|
-
function
|
|
3287
|
+
var pn = { parse: Xa, make: $a };
|
|
3288
|
+
function Ya(e, r) {
|
|
3289
3289
|
var t = {}, n = new k.Parser(e, r);
|
|
3290
3290
|
return t.version = n.parseVersion(), t.ascender = n.parseShort(), t.descender = n.parseShort(), t.lineGap = n.parseShort(), t.advanceWidthMax = n.parseUShort(), t.minLeftSideBearing = n.parseShort(), t.minRightSideBearing = n.parseShort(), t.xMaxExtent = n.parseShort(), t.caretSlopeRise = n.parseShort(), t.caretSlopeRun = n.parseShort(), t.caretOffset = n.parseShort(), n.relativeOffset += 8, t.metricDataFormat = n.parseShort(), t.numberOfHMetrics = n.parseUShort(), t;
|
|
3291
3291
|
}
|
|
@@ -3310,7 +3310,7 @@ function Za(e) {
|
|
|
3310
3310
|
{ name: "numberOfHMetrics", type: "USHORT", value: 0 }
|
|
3311
3311
|
], e);
|
|
3312
3312
|
}
|
|
3313
|
-
var
|
|
3313
|
+
var cn = { parse: Ya, make: Za };
|
|
3314
3314
|
function Qa(e, r, t, n, a) {
|
|
3315
3315
|
for (var s, o, u = new k.Parser(e, r), i = 0; i < n; i += 1) {
|
|
3316
3316
|
i < t && (s = u.parseUShort(), o = u.parseShort());
|
|
@@ -3336,7 +3336,7 @@ function Ja(e) {
|
|
|
3336
3336
|
}
|
|
3337
3337
|
return r;
|
|
3338
3338
|
}
|
|
3339
|
-
var
|
|
3339
|
+
var hn = { parse: ja, make: Ja };
|
|
3340
3340
|
function es(e) {
|
|
3341
3341
|
for (var r = new S.Table("ltag", [
|
|
3342
3342
|
{ name: "version", type: "ULONG", value: 1 },
|
|
@@ -3358,7 +3358,7 @@ function rs(e, r) {
|
|
|
3358
3358
|
}
|
|
3359
3359
|
return s;
|
|
3360
3360
|
}
|
|
3361
|
-
var
|
|
3361
|
+
var vn = { make: es, parse: rs };
|
|
3362
3362
|
function ts(e, r) {
|
|
3363
3363
|
var t = {}, n = new k.Parser(e, r);
|
|
3364
3364
|
return t.version = n.parseVersion(), t.numGlyphs = n.parseUShort(), t.version === 1 && (t.maxPoints = n.parseUShort(), t.maxContours = n.parseUShort(), t.maxCompositePoints = n.parseUShort(), t.maxCompositeContours = n.parseUShort(), t.maxZones = n.parseUShort(), t.maxTwilightPoints = n.parseUShort(), t.maxStorage = n.parseUShort(), t.maxFunctionDefs = n.parseUShort(), t.maxInstructionDefs = n.parseUShort(), t.maxStackElements = n.parseUShort(), t.maxSizeOfInstructions = n.parseUShort(), t.maxComponentElements = n.parseUShort(), t.maxComponentDepth = n.parseUShort()), t;
|
|
@@ -3369,7 +3369,7 @@ function ns(e) {
|
|
|
3369
3369
|
{ name: "numGlyphs", type: "USHORT", value: e }
|
|
3370
3370
|
]);
|
|
3371
3371
|
}
|
|
3372
|
-
var
|
|
3372
|
+
var dn = { parse: ts, make: ns }, gn = [
|
|
3373
3373
|
"copyright",
|
|
3374
3374
|
// 0
|
|
3375
3375
|
"fontFamily",
|
|
@@ -3416,7 +3416,7 @@ var cn = { parse: ts, make: ns }, hn = [
|
|
|
3416
3416
|
// 21
|
|
3417
3417
|
"wwsSubfamily"
|
|
3418
3418
|
// 22
|
|
3419
|
-
],
|
|
3419
|
+
], mn = {
|
|
3420
3420
|
0: "en",
|
|
3421
3421
|
1: "fr",
|
|
3422
3422
|
2: "de",
|
|
@@ -3775,7 +3775,7 @@ var cn = { parse: ts, make: ns }, hn = [
|
|
|
3775
3775
|
// langAzerbaijanRoman → smRoman
|
|
3776
3776
|
151: 0
|
|
3777
3777
|
// langNynorsk → smRoman
|
|
3778
|
-
},
|
|
3778
|
+
}, yn = {
|
|
3779
3779
|
1078: "af",
|
|
3780
3780
|
1052: "sq",
|
|
3781
3781
|
1156: "gsw",
|
|
@@ -3998,12 +3998,12 @@ function ss(e, r, t) {
|
|
|
3998
3998
|
return t[r];
|
|
3999
3999
|
break;
|
|
4000
4000
|
case 1:
|
|
4001
|
-
return
|
|
4001
|
+
return mn[r];
|
|
4002
4002
|
case 3:
|
|
4003
|
-
return
|
|
4003
|
+
return yn[r];
|
|
4004
4004
|
}
|
|
4005
4005
|
}
|
|
4006
|
-
var
|
|
4006
|
+
var Mr = "utf-16", os = {
|
|
4007
4007
|
0: "macintosh",
|
|
4008
4008
|
// smRoman
|
|
4009
4009
|
1: "x-mac-japanese",
|
|
@@ -4094,24 +4094,24 @@ var Dr = "utf-16", os = {
|
|
|
4094
4094
|
146: "x-mac-gaelic"
|
|
4095
4095
|
// langIrishGaelicScript
|
|
4096
4096
|
};
|
|
4097
|
-
function
|
|
4097
|
+
function xn(e, r, t) {
|
|
4098
4098
|
switch (e) {
|
|
4099
4099
|
case 0:
|
|
4100
|
-
return
|
|
4100
|
+
return Mr;
|
|
4101
4101
|
case 1:
|
|
4102
4102
|
return is[t] || os[r];
|
|
4103
4103
|
case 3:
|
|
4104
4104
|
if (r === 1 || r === 10)
|
|
4105
|
-
return
|
|
4105
|
+
return Mr;
|
|
4106
4106
|
break;
|
|
4107
4107
|
}
|
|
4108
4108
|
}
|
|
4109
4109
|
function us(e, r, t) {
|
|
4110
4110
|
for (var n = {}, a = new k.Parser(e, r), s = a.parseUShort(), o = a.parseUShort(), u = a.offset + a.parseUShort(), i = 0; i < o; i++) {
|
|
4111
|
-
var l = a.parseUShort(), f = a.parseUShort(), c = a.parseUShort(), p = a.parseUShort(), h =
|
|
4111
|
+
var l = a.parseUShort(), f = a.parseUShort(), c = a.parseUShort(), p = a.parseUShort(), h = gn[p] || p, d = a.parseUShort(), g = a.parseUShort(), m = ss(l, c, t), x = xn(l, f, c);
|
|
4112
4112
|
if (x !== void 0 && m !== void 0) {
|
|
4113
4113
|
var U = void 0;
|
|
4114
|
-
if (x ===
|
|
4114
|
+
if (x === Mr ? U = Le.UTF16(e, u + g, d) : U = Le.MACSTRING(e, u + g, d, x), U) {
|
|
4115
4115
|
var y = n[h];
|
|
4116
4116
|
y === void 0 && (y = n[h] = {}), y[m] = U;
|
|
4117
4117
|
}
|
|
@@ -4119,13 +4119,13 @@ function us(e, r, t) {
|
|
|
4119
4119
|
}
|
|
4120
4120
|
return s === 1 && a.parseUShort(), n;
|
|
4121
4121
|
}
|
|
4122
|
-
function
|
|
4122
|
+
function yr(e) {
|
|
4123
4123
|
var r = {};
|
|
4124
4124
|
for (var t in e)
|
|
4125
4125
|
r[e[t]] = parseInt(t);
|
|
4126
4126
|
return r;
|
|
4127
4127
|
}
|
|
4128
|
-
function
|
|
4128
|
+
function pt(e, r, t, n, a, s) {
|
|
4129
4129
|
return new S.Record("NameRecord", [
|
|
4130
4130
|
{ name: "platformID", type: "USHORT", value: e },
|
|
4131
4131
|
{ name: "encodingID", type: "USHORT", value: r },
|
|
@@ -4147,7 +4147,7 @@ function ls(e, r) {
|
|
|
4147
4147
|
}
|
|
4148
4148
|
return -1;
|
|
4149
4149
|
}
|
|
4150
|
-
function
|
|
4150
|
+
function ct(e, r) {
|
|
4151
4151
|
var t = ls(e, r);
|
|
4152
4152
|
if (t < 0) {
|
|
4153
4153
|
t = r.length;
|
|
@@ -4157,21 +4157,21 @@ function lt(e, r) {
|
|
|
4157
4157
|
return t;
|
|
4158
4158
|
}
|
|
4159
4159
|
function fs(e, r) {
|
|
4160
|
-
var t, n = [], a = {}, s =
|
|
4160
|
+
var t, n = [], a = {}, s = yr(gn);
|
|
4161
4161
|
for (var o in e) {
|
|
4162
4162
|
var u = s[o];
|
|
4163
4163
|
if (u === void 0 && (u = o), t = parseInt(u), isNaN(t))
|
|
4164
4164
|
throw new Error('Name table entry "' + o + '" does not exist, see nameTableNames for complete list.');
|
|
4165
4165
|
a[t] = e[o], n.push(t);
|
|
4166
4166
|
}
|
|
4167
|
-
for (var i =
|
|
4167
|
+
for (var i = yr(mn), l = yr(yn), f = [], c = [], p = 0; p < n.length; p++) {
|
|
4168
4168
|
t = n[p];
|
|
4169
4169
|
var h = a[t];
|
|
4170
4170
|
for (var d in h) {
|
|
4171
|
-
var g = h[d], m = 1, x = i[d], U = as[x], y =
|
|
4171
|
+
var g = h[d], m = 1, x = i[d], U = as[x], y = xn(m, U, x), L = b.MACSTRING(g, y);
|
|
4172
4172
|
L === void 0 && (m = 0, x = r.indexOf(d), x < 0 && (x = r.length, r.push(d)), U = 4, L = b.UTF16(g));
|
|
4173
|
-
var w =
|
|
4174
|
-
f.push(
|
|
4173
|
+
var w = ct(L, c);
|
|
4174
|
+
f.push(pt(
|
|
4175
4175
|
m,
|
|
4176
4176
|
U,
|
|
4177
4177
|
x,
|
|
@@ -4181,8 +4181,8 @@ function fs(e, r) {
|
|
|
4181
4181
|
));
|
|
4182
4182
|
var B = l[d];
|
|
4183
4183
|
if (B !== void 0) {
|
|
4184
|
-
var C = b.UTF16(g), F =
|
|
4185
|
-
f.push(
|
|
4184
|
+
var C = b.UTF16(g), F = ct(C, c);
|
|
4185
|
+
f.push(pt(
|
|
4186
4186
|
3,
|
|
4187
4187
|
1,
|
|
4188
4188
|
B,
|
|
@@ -4193,18 +4193,18 @@ function fs(e, r) {
|
|
|
4193
4193
|
}
|
|
4194
4194
|
}
|
|
4195
4195
|
}
|
|
4196
|
-
f.sort(function(
|
|
4197
|
-
return
|
|
4196
|
+
f.sort(function(A, H) {
|
|
4197
|
+
return A.platformID - H.platformID || A.encodingID - H.encodingID || A.languageID - H.languageID || A.nameID - H.nameID;
|
|
4198
4198
|
});
|
|
4199
4199
|
for (var R = new S.Table("name", [
|
|
4200
4200
|
{ name: "format", type: "USHORT", value: 0 },
|
|
4201
4201
|
{ name: "count", type: "USHORT", value: f.length },
|
|
4202
4202
|
{ name: "stringOffset", type: "USHORT", value: 6 + f.length * 12 }
|
|
4203
|
-
]),
|
|
4204
|
-
R.fields.push({ name: "record_" +
|
|
4203
|
+
]), D = 0; D < f.length; D++)
|
|
4204
|
+
R.fields.push({ name: "record_" + D, type: "RECORD", value: f[D] });
|
|
4205
4205
|
return R.fields.push({ name: "strings", type: "LITERAL", value: c }), R;
|
|
4206
4206
|
}
|
|
4207
|
-
var
|
|
4207
|
+
var bn = { parse: us, make: fs }, Br = [
|
|
4208
4208
|
{ begin: 0, end: 127 },
|
|
4209
4209
|
// Basic Latin
|
|
4210
4210
|
{ begin: 128, end: 255 },
|
|
@@ -4453,8 +4453,8 @@ var mn = { parse: us, make: fs }, Ar = [
|
|
|
4453
4453
|
// Domino Tiles
|
|
4454
4454
|
];
|
|
4455
4455
|
function ps(e) {
|
|
4456
|
-
for (var r = 0; r <
|
|
4457
|
-
var t =
|
|
4456
|
+
for (var r = 0; r < Br.length; r += 1) {
|
|
4457
|
+
var t = Br[r];
|
|
4458
4458
|
if (e >= t.begin && e < t.end)
|
|
4459
4459
|
return r;
|
|
4460
4460
|
}
|
|
@@ -4517,12 +4517,12 @@ function hs(e) {
|
|
|
4517
4517
|
{ name: "usMaxContext", type: "USHORT", value: 0 }
|
|
4518
4518
|
], e);
|
|
4519
4519
|
}
|
|
4520
|
-
var
|
|
4520
|
+
var Ir = { parse: cs, make: hs, unicodeRanges: Br, getUnicodeRange: ps };
|
|
4521
4521
|
function vs(e, r) {
|
|
4522
4522
|
var t = {}, n = new k.Parser(e, r);
|
|
4523
4523
|
switch (t.version = n.parseVersion(), t.italicAngle = n.parseFixed(), t.underlinePosition = n.parseShort(), t.underlineThickness = n.parseShort(), t.isFixedPitch = n.parseULong(), t.minMemType42 = n.parseULong(), t.maxMemType42 = n.parseULong(), t.minMemType1 = n.parseULong(), t.maxMemType1 = n.parseULong(), t.version) {
|
|
4524
4524
|
case 1:
|
|
4525
|
-
t.names =
|
|
4525
|
+
t.names = Ue.slice();
|
|
4526
4526
|
break;
|
|
4527
4527
|
case 2:
|
|
4528
4528
|
t.numberOfGlyphs = n.parseUShort(), t.glyphNameIndex = new Array(t.numberOfGlyphs);
|
|
@@ -4530,7 +4530,7 @@ function vs(e, r) {
|
|
|
4530
4530
|
t.glyphNameIndex[a] = n.parseUShort();
|
|
4531
4531
|
t.names = [];
|
|
4532
4532
|
for (var s = 0; s < t.numberOfGlyphs; s++)
|
|
4533
|
-
if (t.glyphNameIndex[s] >=
|
|
4533
|
+
if (t.glyphNameIndex[s] >= Ue.length) {
|
|
4534
4534
|
var o = n.parseChar();
|
|
4535
4535
|
t.names.push(n.parseString(o));
|
|
4536
4536
|
}
|
|
@@ -4556,7 +4556,7 @@ function ds() {
|
|
|
4556
4556
|
{ name: "maxMemType1", type: "ULONG", value: 0 }
|
|
4557
4557
|
]);
|
|
4558
4558
|
}
|
|
4559
|
-
var
|
|
4559
|
+
var Sn = { parse: vs, make: ds }, ee = new Array(9);
|
|
4560
4560
|
ee[1] = function() {
|
|
4561
4561
|
var r = this.offset + this.relativeOffset, t = this.parseUShort();
|
|
4562
4562
|
if (t === 1)
|
|
@@ -4602,7 +4602,7 @@ ee[4] = function() {
|
|
|
4602
4602
|
})
|
|
4603
4603
|
};
|
|
4604
4604
|
};
|
|
4605
|
-
var
|
|
4605
|
+
var Oe = {
|
|
4606
4606
|
sequenceIndex: v.uShort,
|
|
4607
4607
|
lookupListIndex: v.uShort
|
|
4608
4608
|
};
|
|
@@ -4616,7 +4616,7 @@ ee[5] = function() {
|
|
|
4616
4616
|
var s = this.parseUShort(), o = this.parseUShort();
|
|
4617
4617
|
return {
|
|
4618
4618
|
input: this.parseUShortList(s - 1),
|
|
4619
|
-
lookupRecords: this.parseRecordList(o,
|
|
4619
|
+
lookupRecords: this.parseRecordList(o, Oe)
|
|
4620
4620
|
};
|
|
4621
4621
|
})
|
|
4622
4622
|
};
|
|
@@ -4629,7 +4629,7 @@ ee[5] = function() {
|
|
|
4629
4629
|
var s = this.parseUShort(), o = this.parseUShort();
|
|
4630
4630
|
return {
|
|
4631
4631
|
classes: this.parseUShortList(s - 1),
|
|
4632
|
-
lookupRecords: this.parseRecordList(o,
|
|
4632
|
+
lookupRecords: this.parseRecordList(o, Oe)
|
|
4633
4633
|
};
|
|
4634
4634
|
})
|
|
4635
4635
|
};
|
|
@@ -4638,7 +4638,7 @@ ee[5] = function() {
|
|
|
4638
4638
|
return {
|
|
4639
4639
|
substFormat: t,
|
|
4640
4640
|
coverages: this.parseList(n, v.pointer(v.coverage)),
|
|
4641
|
-
lookupRecords: this.parseRecordList(a,
|
|
4641
|
+
lookupRecords: this.parseRecordList(a, Oe)
|
|
4642
4642
|
};
|
|
4643
4643
|
}
|
|
4644
4644
|
E.assert(!1, "0x" + r.toString(16) + ": lookup type 5 format must be 1, 2 or 3.");
|
|
@@ -4654,7 +4654,7 @@ ee[6] = function() {
|
|
|
4654
4654
|
backtrack: this.parseUShortList(),
|
|
4655
4655
|
input: this.parseUShortList(this.parseShort() - 1),
|
|
4656
4656
|
lookahead: this.parseUShortList(),
|
|
4657
|
-
lookupRecords: this.parseRecordList(
|
|
4657
|
+
lookupRecords: this.parseRecordList(Oe)
|
|
4658
4658
|
};
|
|
4659
4659
|
})
|
|
4660
4660
|
};
|
|
@@ -4670,7 +4670,7 @@ ee[6] = function() {
|
|
|
4670
4670
|
backtrack: this.parseUShortList(),
|
|
4671
4671
|
input: this.parseUShortList(this.parseShort() - 1),
|
|
4672
4672
|
lookahead: this.parseUShortList(),
|
|
4673
|
-
lookupRecords: this.parseRecordList(
|
|
4673
|
+
lookupRecords: this.parseRecordList(Oe)
|
|
4674
4674
|
};
|
|
4675
4675
|
})
|
|
4676
4676
|
};
|
|
@@ -4680,7 +4680,7 @@ ee[6] = function() {
|
|
|
4680
4680
|
backtrackCoverage: this.parseList(v.pointer(v.coverage)),
|
|
4681
4681
|
inputCoverage: this.parseList(v.pointer(v.coverage)),
|
|
4682
4682
|
lookaheadCoverage: this.parseList(v.pointer(v.coverage)),
|
|
4683
|
-
lookupRecords: this.parseRecordList(
|
|
4683
|
+
lookupRecords: this.parseRecordList(Oe)
|
|
4684
4684
|
};
|
|
4685
4685
|
E.assert(!1, "0x" + r.toString(16) + ": lookup type 6 format must be 1, 2 or 3.");
|
|
4686
4686
|
};
|
|
@@ -4720,8 +4720,8 @@ function gs(e, r) {
|
|
|
4720
4720
|
variations: t.parseFeatureVariationsList()
|
|
4721
4721
|
};
|
|
4722
4722
|
}
|
|
4723
|
-
var
|
|
4724
|
-
|
|
4723
|
+
var Re = new Array(9);
|
|
4724
|
+
Re[1] = function(r) {
|
|
4725
4725
|
return r.substFormat === 1 ? new S.Table("substitutionTable", [
|
|
4726
4726
|
{ name: "substFormat", type: "USHORT", value: 1 },
|
|
4727
4727
|
{ name: "coverage", type: "TABLE", value: new S.Coverage(r.coverage) },
|
|
@@ -4731,7 +4731,7 @@ Le[1] = function(r) {
|
|
|
4731
4731
|
{ name: "coverage", type: "TABLE", value: new S.Coverage(r.coverage) }
|
|
4732
4732
|
].concat(S.ushortList("substitute", r.substitute)));
|
|
4733
4733
|
};
|
|
4734
|
-
|
|
4734
|
+
Re[2] = function(r) {
|
|
4735
4735
|
return E.assert(r.substFormat === 1, "Lookup type 2 substFormat must be 1."), new S.Table("substitutionTable", [
|
|
4736
4736
|
{ name: "substFormat", type: "USHORT", value: 1 },
|
|
4737
4737
|
{ name: "coverage", type: "TABLE", value: new S.Coverage(r.coverage) }
|
|
@@ -4739,7 +4739,7 @@ Le[2] = function(r) {
|
|
|
4739
4739
|
return new S.Table("sequenceSetTable", S.ushortList("sequence", t));
|
|
4740
4740
|
})));
|
|
4741
4741
|
};
|
|
4742
|
-
|
|
4742
|
+
Re[3] = function(r) {
|
|
4743
4743
|
return E.assert(r.substFormat === 1, "Lookup type 3 substFormat must be 1."), new S.Table("substitutionTable", [
|
|
4744
4744
|
{ name: "substFormat", type: "USHORT", value: 1 },
|
|
4745
4745
|
{ name: "coverage", type: "TABLE", value: new S.Coverage(r.coverage) }
|
|
@@ -4747,7 +4747,7 @@ Le[3] = function(r) {
|
|
|
4747
4747
|
return new S.Table("alternateSetTable", S.ushortList("alternate", t));
|
|
4748
4748
|
})));
|
|
4749
4749
|
};
|
|
4750
|
-
|
|
4750
|
+
Re[4] = function(r) {
|
|
4751
4751
|
return E.assert(r.substFormat === 1, "Lookup type 4 substFormat must be 1."), new S.Table("substitutionTable", [
|
|
4752
4752
|
{ name: "substFormat", type: "USHORT", value: 1 },
|
|
4753
4753
|
{ name: "coverage", type: "TABLE", value: new S.Coverage(r.coverage) }
|
|
@@ -4760,7 +4760,7 @@ Le[4] = function(r) {
|
|
|
4760
4760
|
}));
|
|
4761
4761
|
})));
|
|
4762
4762
|
};
|
|
4763
|
-
|
|
4763
|
+
Re[6] = function(r) {
|
|
4764
4764
|
if (r.substFormat === 1) {
|
|
4765
4765
|
var t = new S.Table("chainContextTable", [
|
|
4766
4766
|
{ name: "substFormat", type: "USHORT", value: r.substFormat },
|
|
@@ -4799,15 +4799,15 @@ function ms(e) {
|
|
|
4799
4799
|
{ name: "version", type: "ULONG", value: 65536 },
|
|
4800
4800
|
{ name: "scripts", type: "TABLE", value: new S.ScriptList(e.scripts) },
|
|
4801
4801
|
{ name: "features", type: "TABLE", value: new S.FeatureList(e.features) },
|
|
4802
|
-
{ name: "lookups", type: "TABLE", value: new S.LookupList(e.lookups,
|
|
4802
|
+
{ name: "lookups", type: "TABLE", value: new S.LookupList(e.lookups, Re) }
|
|
4803
4803
|
]);
|
|
4804
4804
|
}
|
|
4805
|
-
var
|
|
4805
|
+
var Tn = { parse: gs, make: ms };
|
|
4806
4806
|
function ys(e, r) {
|
|
4807
4807
|
var t = new k.Parser(e, r), n = t.parseULong();
|
|
4808
4808
|
E.argument(n === 1, "Unsupported META table version."), t.parseULong(), t.parseULong();
|
|
4809
4809
|
for (var a = t.parseULong(), s = {}, o = 0; o < a; o++) {
|
|
4810
|
-
var u = t.parseTag(), i = t.parseULong(), l = t.parseULong(), f =
|
|
4810
|
+
var u = t.parseTag(), i = t.parseULong(), l = t.parseULong(), f = Le.UTF8(e, r + i, l);
|
|
4811
4811
|
s[u] = f;
|
|
4812
4812
|
}
|
|
4813
4813
|
return s;
|
|
@@ -4825,18 +4825,18 @@ function xs(e) {
|
|
|
4825
4825
|
}
|
|
4826
4826
|
return a.fields.push({ name: "stringPool", type: "CHARARRAY", value: t }), a;
|
|
4827
4827
|
}
|
|
4828
|
-
var
|
|
4829
|
-
function
|
|
4828
|
+
var kn = { parse: ys, make: xs };
|
|
4829
|
+
function ht(e) {
|
|
4830
4830
|
return Math.log(e) / Math.log(2) | 0;
|
|
4831
4831
|
}
|
|
4832
|
-
function
|
|
4832
|
+
function $r(e) {
|
|
4833
4833
|
for (; e.length % 4 !== 0; )
|
|
4834
4834
|
e.push(0);
|
|
4835
4835
|
for (var r = 0, t = 0; t < e.length; t += 4)
|
|
4836
4836
|
r += (e[t] << 24) + (e[t + 1] << 16) + (e[t + 2] << 8) + e[t + 3];
|
|
4837
4837
|
return r %= Math.pow(2, 32), r;
|
|
4838
4838
|
}
|
|
4839
|
-
function
|
|
4839
|
+
function vt(e, r, t, n) {
|
|
4840
4840
|
return new S.Record("Table Record", [
|
|
4841
4841
|
{ name: "tag", type: "TAG", value: e !== void 0 ? e : "" },
|
|
4842
4842
|
{ name: "checkSum", type: "ULONG", value: r !== void 0 ? r : 0 },
|
|
@@ -4844,7 +4844,7 @@ function pt(e, r, t, n) {
|
|
|
4844
4844
|
{ name: "length", type: "ULONG", value: n !== void 0 ? n : 0 }
|
|
4845
4845
|
]);
|
|
4846
4846
|
}
|
|
4847
|
-
function
|
|
4847
|
+
function Fn(e) {
|
|
4848
4848
|
var r = new S.Table("sfnt", [
|
|
4849
4849
|
{ name: "version", type: "TAG", value: "OTTO" },
|
|
4850
4850
|
{ name: "numTables", type: "USHORT", value: 0 },
|
|
@@ -4853,14 +4853,14 @@ function Sn(e) {
|
|
|
4853
4853
|
{ name: "rangeShift", type: "USHORT", value: 0 }
|
|
4854
4854
|
]);
|
|
4855
4855
|
r.tables = e, r.numTables = e.length;
|
|
4856
|
-
var t = Math.pow(2,
|
|
4857
|
-
r.searchRange = 16 * t, r.entrySelector =
|
|
4858
|
-
for (var n = [], a = [], s = r.sizeOf() +
|
|
4856
|
+
var t = Math.pow(2, ht(r.numTables));
|
|
4857
|
+
r.searchRange = 16 * t, r.entrySelector = ht(t), r.rangeShift = r.numTables * 16 - r.searchRange;
|
|
4858
|
+
for (var n = [], a = [], s = r.sizeOf() + vt().sizeOf() * r.numTables; s % 4 !== 0; )
|
|
4859
4859
|
s += 1, a.push({ name: "padding", type: "BYTE", value: 0 });
|
|
4860
4860
|
for (var o = 0; o < e.length; o += 1) {
|
|
4861
4861
|
var u = e[o];
|
|
4862
4862
|
E.argument(u.tableName.length === 4, "Table name" + u.tableName + " is invalid.");
|
|
4863
|
-
var i = u.sizeOf(), l =
|
|
4863
|
+
var i = u.sizeOf(), l = vt(u.tableName, $r(u.encode()), s, i);
|
|
4864
4864
|
for (n.push({ name: l.tag + " Table Record", type: "RECORD", value: l }), a.push({ name: u.tableName + " table", type: "RECORD", value: u }), s += i, E.argument(!isNaN(s), "Something went wrong calculating the offset."); s % 4 !== 0; )
|
|
4865
4865
|
s += 1, a.push({ name: "padding", type: "BYTE", value: 0 });
|
|
4866
4866
|
}
|
|
@@ -4868,7 +4868,7 @@ function Sn(e) {
|
|
|
4868
4868
|
return f.value.tag > c.value.tag ? 1 : -1;
|
|
4869
4869
|
}), r.fields = r.fields.concat(n), r.fields = r.fields.concat(a), r;
|
|
4870
4870
|
}
|
|
4871
|
-
function
|
|
4871
|
+
function dt(e, r, t) {
|
|
4872
4872
|
for (var n = 0; n < r.length; n += 1) {
|
|
4873
4873
|
var a = e.charToGlyphIndex(r[n]);
|
|
4874
4874
|
if (a > 0) {
|
|
@@ -4889,7 +4889,7 @@ function Ss(e) {
|
|
|
4889
4889
|
if (isNaN(g.advanceWidth))
|
|
4890
4890
|
throw new Error("Glyph " + g.name + " (" + d + "): advanceWidth is not a number.");
|
|
4891
4891
|
(i > m || i === void 0) && m > 0 && (i = m), l < m && (l = m);
|
|
4892
|
-
var x =
|
|
4892
|
+
var x = Ir.getUnicodeRange(m);
|
|
4893
4893
|
if (x < 32)
|
|
4894
4894
|
f |= 1 << x;
|
|
4895
4895
|
else if (x < 64)
|
|
@@ -4917,7 +4917,7 @@ function Ss(e) {
|
|
|
4917
4917
|
minRightSideBearing: Math.min.apply(null, u)
|
|
4918
4918
|
};
|
|
4919
4919
|
y.ascender = e.ascender, y.descender = e.descender;
|
|
4920
|
-
var L =
|
|
4920
|
+
var L = pn.make({
|
|
4921
4921
|
flags: 3,
|
|
4922
4922
|
// 00000011 (baseline for font at y=0; left sidebearing point at x=0)
|
|
4923
4923
|
unitsPerEm: e.unitsPerEm,
|
|
@@ -4927,7 +4927,7 @@ function Ss(e) {
|
|
|
4927
4927
|
yMax: y.yMax,
|
|
4928
4928
|
lowestRecPPEM: 3,
|
|
4929
4929
|
createdTimestamp: e.createdTimestamp
|
|
4930
|
-
}), w =
|
|
4930
|
+
}), w = cn.make({
|
|
4931
4931
|
ascender: y.ascender,
|
|
4932
4932
|
descender: y.descender,
|
|
4933
4933
|
advanceWidthMax: y.advanceWidthMax,
|
|
@@ -4935,7 +4935,7 @@ function Ss(e) {
|
|
|
4935
4935
|
minRightSideBearing: y.minRightSideBearing,
|
|
4936
4936
|
xMaxExtent: y.maxLeftSideBearing + (y.xMax - y.xMin),
|
|
4937
4937
|
numberOfHMetrics: e.glyphs.length
|
|
4938
|
-
}), B =
|
|
4938
|
+
}), B = dn.make(e.glyphs.length), C = Ir.make(Object.assign({
|
|
4939
4939
|
xAvgCharWidth: Math.round(y.advanceWidthAvg),
|
|
4940
4940
|
usFirstCharIndex: i,
|
|
4941
4941
|
usLastCharIndex: l,
|
|
@@ -4954,39 +4954,39 @@ function Ss(e) {
|
|
|
4954
4954
|
usWinDescent: Math.abs(y.yMin),
|
|
4955
4955
|
ulCodePageRange1: 1,
|
|
4956
4956
|
// FIXME: hard-code Latin 1 support for now
|
|
4957
|
-
sxHeight:
|
|
4958
|
-
sCapHeight:
|
|
4957
|
+
sxHeight: dt(e, "xyvw", { yMax: Math.round(y.ascender / 2) }).yMax,
|
|
4958
|
+
sCapHeight: dt(e, "HIKLEFJMNTZBDPRAGOQSUVWXY", y).yMax,
|
|
4959
4959
|
usDefaultChar: e.hasChar(" ") ? 32 : 0,
|
|
4960
4960
|
// Use space as the default character, if available.
|
|
4961
4961
|
usBreakChar: e.hasChar(" ") ? 32 : 0
|
|
4962
4962
|
// Use space as the break character, if available.
|
|
4963
|
-
}, e.tables.os2)), F =
|
|
4964
|
-
Z || (Z =
|
|
4963
|
+
}, e.tables.os2)), F = hn.make(e.glyphs), R = jt.make(e.glyphs), D = e.getEnglishName("fontFamily"), A = e.getEnglishName("fontSubfamily"), H = D + " " + A, Z = e.getEnglishName("postScriptName");
|
|
4964
|
+
Z || (Z = D.replace(/\s/g, "") + "-" + A);
|
|
4965
4965
|
var G = {};
|
|
4966
4966
|
for (var z in e.names)
|
|
4967
4967
|
G[z] = e.names[z];
|
|
4968
4968
|
G.uniqueID || (G.uniqueID = { en: e.getEnglishName("manufacturer") + ":" + H }), G.postScriptName || (G.postScriptName = { en: Z }), G.preferredFamily || (G.preferredFamily = e.names.fontFamily), G.preferredSubfamily || (G.preferredSubfamily = e.names.fontSubfamily);
|
|
4969
|
-
var
|
|
4969
|
+
var $ = [], _ = bn.make(G, $), P = $.length > 0 ? vn.make($) : void 0, V = Sn.make(), Y = fn.make(e.glyphs, {
|
|
4970
4970
|
version: e.getEnglishName("version"),
|
|
4971
4971
|
fullName: H,
|
|
4972
|
-
familyName:
|
|
4973
|
-
weightName:
|
|
4972
|
+
familyName: D,
|
|
4973
|
+
weightName: A,
|
|
4974
4974
|
postScriptName: Z,
|
|
4975
4975
|
unitsPerEm: e.unitsPerEm,
|
|
4976
4976
|
fontBBox: [0, y.yMin, y.ascender, y.advanceWidthMax]
|
|
4977
|
-
}), M = e.metas && Object.keys(e.metas).length > 0 ?
|
|
4978
|
-
P && q.push(P), e.tables.gsub && q.push(
|
|
4979
|
-
for (var
|
|
4980
|
-
if (
|
|
4981
|
-
|
|
4977
|
+
}), M = e.metas && Object.keys(e.metas).length > 0 ? kn.make(e.metas) : void 0, q = [L, w, B, C, _, R, V, Y, F];
|
|
4978
|
+
P && q.push(P), e.tables.gsub && q.push(Tn.make(e.tables.gsub)), M && q.push(M);
|
|
4979
|
+
for (var Ae = Fn(q), hr = Ae.encode(), Ze = $r(hr), Me = Ae.fields, Be = !1, ve = 0; ve < Me.length; ve += 1)
|
|
4980
|
+
if (Me[ve].name === "head table") {
|
|
4981
|
+
Me[ve].value.checkSumAdjustment = 2981146554 - Ze, Be = !0;
|
|
4982
4982
|
break;
|
|
4983
4983
|
}
|
|
4984
|
-
if (!
|
|
4984
|
+
if (!Be)
|
|
4985
4985
|
throw new Error("Could not find head table with checkSum to adjust.");
|
|
4986
|
-
return
|
|
4986
|
+
return Ae;
|
|
4987
4987
|
}
|
|
4988
|
-
var Ts = { make:
|
|
4989
|
-
function
|
|
4988
|
+
var Ts = { make: Fn, fontToTable: Ss, computeCheckSum: $r };
|
|
4989
|
+
function xr(e, r) {
|
|
4990
4990
|
for (var t = 0, n = e.length - 1; t <= n; ) {
|
|
4991
4991
|
var a = t + n >>> 1, s = e[a].tag;
|
|
4992
4992
|
if (s === r)
|
|
@@ -4995,7 +4995,7 @@ function mr(e, r) {
|
|
|
4995
4995
|
}
|
|
4996
4996
|
return -t - 1;
|
|
4997
4997
|
}
|
|
4998
|
-
function
|
|
4998
|
+
function gt(e, r) {
|
|
4999
4999
|
for (var t = 0, n = e.length - 1; t <= n; ) {
|
|
5000
5000
|
var a = t + n >>> 1, s = e[a];
|
|
5001
5001
|
if (s === r)
|
|
@@ -5004,7 +5004,7 @@ function ht(e, r) {
|
|
|
5004
5004
|
}
|
|
5005
5005
|
return -t - 1;
|
|
5006
5006
|
}
|
|
5007
|
-
function
|
|
5007
|
+
function mt(e, r) {
|
|
5008
5008
|
for (var t, n = 0, a = e.length - 1; n <= a; ) {
|
|
5009
5009
|
var s = n + a >>> 1;
|
|
5010
5010
|
t = e[s];
|
|
@@ -5029,7 +5029,7 @@ _e.prototype = {
|
|
|
5029
5029
|
* @param {string} tag
|
|
5030
5030
|
* @return {number}
|
|
5031
5031
|
*/
|
|
5032
|
-
searchTag:
|
|
5032
|
+
searchTag: xr,
|
|
5033
5033
|
/**
|
|
5034
5034
|
* Binary search in a list of numbers
|
|
5035
5035
|
* @instance
|
|
@@ -5039,7 +5039,7 @@ _e.prototype = {
|
|
|
5039
5039
|
* @param {number} value
|
|
5040
5040
|
* @return {number}
|
|
5041
5041
|
*/
|
|
5042
|
-
binSearch:
|
|
5042
|
+
binSearch: gt,
|
|
5043
5043
|
/**
|
|
5044
5044
|
* Get or create the Layout table (GSUB, GPOS etc).
|
|
5045
5045
|
* @param {boolean} create - Whether to create a new one.
|
|
@@ -5090,7 +5090,7 @@ _e.prototype = {
|
|
|
5090
5090
|
var t = this.getTable(r);
|
|
5091
5091
|
if (t) {
|
|
5092
5092
|
e = e || "DFLT";
|
|
5093
|
-
var n = t.scripts, a =
|
|
5093
|
+
var n = t.scripts, a = xr(t.scripts, e);
|
|
5094
5094
|
if (a >= 0)
|
|
5095
5095
|
return n[a].script;
|
|
5096
5096
|
if (r) {
|
|
@@ -5118,7 +5118,7 @@ _e.prototype = {
|
|
|
5118
5118
|
if (n) {
|
|
5119
5119
|
if (!r || r === "dflt" || r === "DFLT")
|
|
5120
5120
|
return n.defaultLangSys;
|
|
5121
|
-
var a =
|
|
5121
|
+
var a = xr(n.langSysRecords, r);
|
|
5122
5122
|
if (a >= 0)
|
|
5123
5123
|
return n.langSysRecords[a].langSys;
|
|
5124
5124
|
if (t) {
|
|
@@ -5194,7 +5194,7 @@ _e.prototype = {
|
|
|
5194
5194
|
case 1:
|
|
5195
5195
|
return e.startGlyph <= r && r < e.startGlyph + e.classes.length ? e.classes[r - e.startGlyph] : 0;
|
|
5196
5196
|
case 2:
|
|
5197
|
-
var t =
|
|
5197
|
+
var t = mt(e.ranges, r);
|
|
5198
5198
|
return t ? t.classId : 0;
|
|
5199
5199
|
}
|
|
5200
5200
|
},
|
|
@@ -5208,10 +5208,10 @@ _e.prototype = {
|
|
|
5208
5208
|
getCoverageIndex: function(e, r) {
|
|
5209
5209
|
switch (e.format) {
|
|
5210
5210
|
case 1:
|
|
5211
|
-
var t =
|
|
5211
|
+
var t = gt(e.glyphs, r);
|
|
5212
5212
|
return t >= 0 ? t : -1;
|
|
5213
5213
|
case 2:
|
|
5214
|
-
var n =
|
|
5214
|
+
var n = mt(e.ranges, r);
|
|
5215
5215
|
return n ? n.index + r - n.start : -1;
|
|
5216
5216
|
}
|
|
5217
5217
|
},
|
|
@@ -5277,7 +5277,7 @@ function ks(e, r) {
|
|
|
5277
5277
|
return !1;
|
|
5278
5278
|
return !0;
|
|
5279
5279
|
}
|
|
5280
|
-
function
|
|
5280
|
+
function Yr(e, r, t) {
|
|
5281
5281
|
for (var n = e.subtables, a = 0; a < n.length; a++) {
|
|
5282
5282
|
var s = n[a];
|
|
5283
5283
|
if (s.substFormat === r)
|
|
@@ -5351,7 +5351,7 @@ j.prototype.getLigatures = function(e, r, t) {
|
|
|
5351
5351
|
return n;
|
|
5352
5352
|
};
|
|
5353
5353
|
j.prototype.addSingle = function(e, r, t, n) {
|
|
5354
|
-
var a = this.getLookupTables(t, n, e, 1, !0)[0], s =
|
|
5354
|
+
var a = this.getLookupTables(t, n, e, 1, !0)[0], s = Yr(a, 2, {
|
|
5355
5355
|
// lookup type 1 subtable, format 2, coverage format 1
|
|
5356
5356
|
substFormat: 2,
|
|
5357
5357
|
coverage: { format: 1, glyphs: [] },
|
|
@@ -5363,7 +5363,7 @@ j.prototype.addSingle = function(e, r, t, n) {
|
|
|
5363
5363
|
};
|
|
5364
5364
|
j.prototype.addMultiple = function(e, r, t, n) {
|
|
5365
5365
|
E.assert(r.by instanceof Array && r.by.length > 1, 'Multiple: "by" must be an array of two or more ids');
|
|
5366
|
-
var a = this.getLookupTables(t, n, e, 2, !0)[0], s =
|
|
5366
|
+
var a = this.getLookupTables(t, n, e, 2, !0)[0], s = Yr(a, 1, {
|
|
5367
5367
|
// lookup type 2 subtable, format 1, coverage format 1
|
|
5368
5368
|
substFormat: 1,
|
|
5369
5369
|
coverage: { format: 1, glyphs: [] },
|
|
@@ -5374,7 +5374,7 @@ j.prototype.addMultiple = function(e, r, t, n) {
|
|
|
5374
5374
|
u < 0 && (u = -1 - u, s.coverage.glyphs.splice(u, 0, o), s.sequences.splice(u, 0, 0)), s.sequences[u] = r.by;
|
|
5375
5375
|
};
|
|
5376
5376
|
j.prototype.addAlternate = function(e, r, t, n) {
|
|
5377
|
-
var a = this.getLookupTables(t, n, e, 3, !0)[0], s =
|
|
5377
|
+
var a = this.getLookupTables(t, n, e, 3, !0)[0], s = Yr(a, 1, {
|
|
5378
5378
|
// lookup type 3 subtable, format 1, coverage format 1
|
|
5379
5379
|
substFormat: 1,
|
|
5380
5380
|
coverage: { format: 1, glyphs: [] },
|
|
@@ -5439,7 +5439,7 @@ j.prototype.add = function(e, r, t, n) {
|
|
|
5439
5439
|
function Fs() {
|
|
5440
5440
|
return typeof window < "u";
|
|
5441
5441
|
}
|
|
5442
|
-
function
|
|
5442
|
+
function Un(e) {
|
|
5443
5443
|
for (var r = new ArrayBuffer(e.length), t = new Uint8Array(r), n = 0; n < e.length; ++n)
|
|
5444
5444
|
t[n] = e[n];
|
|
5445
5445
|
return r;
|
|
@@ -5453,11 +5453,11 @@ function Pe(e, r) {
|
|
|
5453
5453
|
if (!e)
|
|
5454
5454
|
throw r;
|
|
5455
5455
|
}
|
|
5456
|
-
function
|
|
5456
|
+
function yt(e, r, t, n, a) {
|
|
5457
5457
|
var s;
|
|
5458
5458
|
return (r & n) > 0 ? (s = e.parseByte(), (r & a) === 0 && (s = -s), s = t + s) : (r & a) > 0 ? s = t : s = t + e.parseShort(), s;
|
|
5459
5459
|
}
|
|
5460
|
-
function
|
|
5460
|
+
function Cn(e, r, t) {
|
|
5461
5461
|
var n = new k.Parser(r, t);
|
|
5462
5462
|
e.numberOfContours = n.parseShort(), e._xMin = n.parseShort(), e._yMin = n.parseShort(), e._xMax = n.parseShort(), e._yMax = n.parseShort();
|
|
5463
5463
|
var a, s;
|
|
@@ -5479,9 +5479,9 @@ function kn(e, r, t) {
|
|
|
5479
5479
|
for (var g = 0; g < l; g += 1)
|
|
5480
5480
|
s = a[g], d = {}, d.onCurve = !!(s & 1), d.lastPointOfContour = o.indexOf(g) >= 0, h.push(d);
|
|
5481
5481
|
for (var m = 0, x = 0; x < l; x += 1)
|
|
5482
|
-
s = a[x], d = h[x], d.x =
|
|
5482
|
+
s = a[x], d = h[x], d.x = yt(n, s, m, 2, 16), m = d.x;
|
|
5483
5483
|
for (var U = 0, y = 0; y < l; y += 1)
|
|
5484
|
-
s = a[y], d = h[y], d.y =
|
|
5484
|
+
s = a[y], d = h[y], d.y = yt(n, s, U, 4, 32), U = d.y;
|
|
5485
5485
|
}
|
|
5486
5486
|
e.points = h;
|
|
5487
5487
|
} else
|
|
@@ -5510,7 +5510,7 @@ function kn(e, r, t) {
|
|
|
5510
5510
|
}
|
|
5511
5511
|
}
|
|
5512
5512
|
}
|
|
5513
|
-
function
|
|
5513
|
+
function br(e, r) {
|
|
5514
5514
|
for (var t = [], n = 0; n < e.length; n += 1) {
|
|
5515
5515
|
var a = e[n], s = {
|
|
5516
5516
|
x: r.xScale * a.x + r.scale01 * a.y + r.dx,
|
|
@@ -5529,7 +5529,7 @@ function Cs(e) {
|
|
|
5529
5529
|
}
|
|
5530
5530
|
return E.argument(t.length === 0, "There are still points left in the current contour."), r;
|
|
5531
5531
|
}
|
|
5532
|
-
function
|
|
5532
|
+
function wn(e) {
|
|
5533
5533
|
var r = new X();
|
|
5534
5534
|
if (!e)
|
|
5535
5535
|
return r;
|
|
@@ -5554,14 +5554,14 @@ function Fn(e) {
|
|
|
5554
5554
|
}
|
|
5555
5555
|
return r;
|
|
5556
5556
|
}
|
|
5557
|
-
function
|
|
5557
|
+
function En(e, r) {
|
|
5558
5558
|
if (r.isComposite)
|
|
5559
5559
|
for (var t = 0; t < r.components.length; t += 1) {
|
|
5560
5560
|
var n = r.components[t], a = e.get(n.glyphIndex);
|
|
5561
5561
|
if (a.getPath(), a.points) {
|
|
5562
5562
|
var s = void 0;
|
|
5563
5563
|
if (n.matchedPoints === void 0)
|
|
5564
|
-
s =
|
|
5564
|
+
s = br(a.points, n);
|
|
5565
5565
|
else {
|
|
5566
5566
|
if (n.matchedPoints[0] > r.points.length - 1 || n.matchedPoints[1] > a.points.length - 1)
|
|
5567
5567
|
throw Error("Matched points out of range in " + r.name);
|
|
@@ -5573,40 +5573,40 @@ function Un(e, r) {
|
|
|
5573
5573
|
dx: 0,
|
|
5574
5574
|
dy: 0
|
|
5575
5575
|
};
|
|
5576
|
-
u =
|
|
5576
|
+
u = br([u], i)[0], i.dx = o.x - u.x, i.dy = o.y - u.y, s = br(a.points, i);
|
|
5577
5577
|
}
|
|
5578
5578
|
r.points = r.points.concat(s);
|
|
5579
5579
|
}
|
|
5580
5580
|
}
|
|
5581
|
-
return
|
|
5581
|
+
return wn(r.points);
|
|
5582
5582
|
}
|
|
5583
5583
|
function ws(e, r, t, n) {
|
|
5584
|
-
for (var a = new
|
|
5584
|
+
for (var a = new ue.GlyphSet(n), s = 0; s < t.length - 1; s += 1) {
|
|
5585
5585
|
var o = t[s], u = t[s + 1];
|
|
5586
|
-
o !== u ? a.push(s,
|
|
5586
|
+
o !== u ? a.push(s, ue.ttfGlyphLoader(n, s, Cn, e, r + o, En)) : a.push(s, ue.glyphLoader(n, s));
|
|
5587
5587
|
}
|
|
5588
5588
|
return a;
|
|
5589
5589
|
}
|
|
5590
5590
|
function Es(e, r, t, n) {
|
|
5591
|
-
var a = new
|
|
5591
|
+
var a = new ue.GlyphSet(n);
|
|
5592
5592
|
return n._push = function(s) {
|
|
5593
5593
|
var o = t[s], u = t[s + 1];
|
|
5594
|
-
o !== u ? a.push(s,
|
|
5594
|
+
o !== u ? a.push(s, ue.ttfGlyphLoader(n, s, Cn, e, r + o, En)) : a.push(s, ue.glyphLoader(n, s));
|
|
5595
5595
|
}, a;
|
|
5596
5596
|
}
|
|
5597
5597
|
function Os(e, r, t, n, a) {
|
|
5598
5598
|
return a.lowMemory ? Es(e, r, t, n) : ws(e, r, t, n);
|
|
5599
5599
|
}
|
|
5600
|
-
var
|
|
5601
|
-
function
|
|
5600
|
+
var On = { getPath: wn, parse: Os }, Ln, we, Rn, Pr;
|
|
5601
|
+
function Dn(e) {
|
|
5602
5602
|
this.font = e, this.getCommands = function(r) {
|
|
5603
|
-
return
|
|
5603
|
+
return On.getPath(r).commands;
|
|
5604
5604
|
}, this._fpgmState = this._prepState = void 0, this._errorState = 0;
|
|
5605
5605
|
}
|
|
5606
5606
|
function Ls(e) {
|
|
5607
5607
|
return e;
|
|
5608
5608
|
}
|
|
5609
|
-
function
|
|
5609
|
+
function An(e) {
|
|
5610
5610
|
return Math.sign(e) * Math.round(Math.abs(e));
|
|
5611
5611
|
}
|
|
5612
5612
|
function Rs(e) {
|
|
@@ -5618,13 +5618,13 @@ function Ds(e) {
|
|
|
5618
5618
|
function As(e) {
|
|
5619
5619
|
return Math.sign(e) * Math.ceil(Math.abs(e));
|
|
5620
5620
|
}
|
|
5621
|
-
function
|
|
5621
|
+
function Ms(e) {
|
|
5622
5622
|
return Math.sign(e) * Math.floor(Math.abs(e));
|
|
5623
5623
|
}
|
|
5624
|
-
var
|
|
5624
|
+
var Mn = function(e) {
|
|
5625
5625
|
var r = this.srPeriod, t = this.srPhase, n = this.srThreshold, a = 1;
|
|
5626
5626
|
return e < 0 && (e = -e, a = -1), e += n - t, e = Math.trunc(e / r) * r, e += t, e < 0 ? t * a : e * a;
|
|
5627
|
-
},
|
|
5627
|
+
}, ie = {
|
|
5628
5628
|
x: 1,
|
|
5629
5629
|
y: 0,
|
|
5630
5630
|
axis: "x",
|
|
@@ -5649,10 +5649,10 @@ var Rn = function(e) {
|
|
|
5649
5649
|
return;
|
|
5650
5650
|
}
|
|
5651
5651
|
if (a = n.distance(e, r, !0, !0), s = n.distance(e, t, !0, !0), i = n.distance(r, r, !1, !0), l = n.distance(t, t, !1, !0), o = Math.abs(a), u = Math.abs(s), f = o + u, f === 0) {
|
|
5652
|
-
|
|
5652
|
+
ie.setRelative(e, e, (i + l) / 2, n, !0);
|
|
5653
5653
|
return;
|
|
5654
5654
|
}
|
|
5655
|
-
|
|
5655
|
+
ie.setRelative(e, e, (i * u + l * o) / f, n, !0);
|
|
5656
5656
|
},
|
|
5657
5657
|
// Slope of line normal to this
|
|
5658
5658
|
normalSlope: Number.NEGATIVE_INFINITY,
|
|
@@ -5753,13 +5753,13 @@ var Rn = function(e) {
|
|
|
5753
5753
|
e.yTouched = !1;
|
|
5754
5754
|
}
|
|
5755
5755
|
};
|
|
5756
|
-
Object.freeze(
|
|
5756
|
+
Object.freeze(ie);
|
|
5757
5757
|
Object.freeze(pe);
|
|
5758
5758
|
function qe(e, r) {
|
|
5759
5759
|
this.x = e, this.y = r, this.axis = void 0, this.slope = r / e, this.normalSlope = -e / r, Object.freeze(this);
|
|
5760
5760
|
}
|
|
5761
5761
|
qe.prototype.distance = function(e, r, t, n) {
|
|
5762
|
-
return this.x *
|
|
5762
|
+
return this.x * ie.distance(e, r, t, n) + this.y * pe.distance(e, r, t, n);
|
|
5763
5763
|
};
|
|
5764
5764
|
qe.prototype.interpolate = function(e, r, t, n) {
|
|
5765
5765
|
var a, s, o, u, i, l, f;
|
|
@@ -5779,7 +5779,7 @@ qe.prototype.touch = function(e) {
|
|
|
5779
5779
|
};
|
|
5780
5780
|
function Xe(e, r) {
|
|
5781
5781
|
var t = Math.sqrt(e * e + r * r);
|
|
5782
|
-
return e /= t, r /= t, e === 1 && r === 0 ?
|
|
5782
|
+
return e /= t, r /= t, e === 1 && r === 0 ? ie : e === 0 && r === 1 ? pe : new qe(e, r);
|
|
5783
5783
|
}
|
|
5784
5784
|
function ce(e, r, t, n) {
|
|
5785
5785
|
this.x = this.xo = Math.round(e * 64) / 64, this.y = this.yo = Math.round(r * 64) / 64, this.lastPointOfContour = t, this.onCurve = n, this.prevPointOnContour = void 0, this.nextPointOnContour = void 0, this.xTouched = !1, this.yTouched = !1, Object.preventExtensions(this);
|
|
@@ -5794,7 +5794,7 @@ ce.prototype.prevTouched = function(e) {
|
|
|
5794
5794
|
r = r.prevPointOnContour;
|
|
5795
5795
|
return r;
|
|
5796
5796
|
};
|
|
5797
|
-
var ze = Object.freeze(new ce(0, 0)),
|
|
5797
|
+
var ze = Object.freeze(new ce(0, 0)), Bs = {
|
|
5798
5798
|
cvCutIn: 17 / 16,
|
|
5799
5799
|
// control value cut in
|
|
5800
5800
|
deltaBase: 9,
|
|
@@ -5805,16 +5805,16 @@ var ze = Object.freeze(new ce(0, 0)), Ms = {
|
|
|
5805
5805
|
// minimum distance
|
|
5806
5806
|
autoFlip: !0
|
|
5807
5807
|
};
|
|
5808
|
-
function
|
|
5808
|
+
function Se(e, r) {
|
|
5809
5809
|
switch (this.env = e, this.stack = [], this.prog = r, e) {
|
|
5810
5810
|
case "glyf":
|
|
5811
5811
|
this.zp0 = this.zp1 = this.zp2 = 1, this.rp0 = this.rp1 = this.rp2 = 0;
|
|
5812
5812
|
/* fall through */
|
|
5813
5813
|
case "prep":
|
|
5814
|
-
this.fv = this.pv = this.dpv =
|
|
5814
|
+
this.fv = this.pv = this.dpv = ie, this.round = An;
|
|
5815
5815
|
}
|
|
5816
5816
|
}
|
|
5817
|
-
|
|
5817
|
+
Dn.prototype.exec = function(e, r) {
|
|
5818
5818
|
if (typeof r != "number")
|
|
5819
5819
|
throw new Error("Point size is not a number!");
|
|
5820
5820
|
if (!(this._errorState > 2)) {
|
|
@@ -5822,15 +5822,15 @@ On.prototype.exec = function(e, r) {
|
|
|
5822
5822
|
if (!n || n.ppem !== r) {
|
|
5823
5823
|
var a = this._fpgmState;
|
|
5824
5824
|
if (!a) {
|
|
5825
|
-
|
|
5825
|
+
Se.prototype = Bs, a = this._fpgmState = new Se("fpgm", t.tables.fpgm), a.funcs = [], a.font = t, exports.DEBUG && (console.log("---EXEC FPGM---"), a.step = -1);
|
|
5826
5826
|
try {
|
|
5827
|
-
|
|
5827
|
+
we(a);
|
|
5828
5828
|
} catch (l) {
|
|
5829
5829
|
console.log("Hinting error in FPGM:" + l), this._errorState = 3;
|
|
5830
5830
|
return;
|
|
5831
5831
|
}
|
|
5832
5832
|
}
|
|
5833
|
-
|
|
5833
|
+
Se.prototype = a, n = this._prepState = new Se("prep", t.tables.prep), n.ppem = r;
|
|
5834
5834
|
var s = t.tables.cvt;
|
|
5835
5835
|
if (s)
|
|
5836
5836
|
for (var o = n.cvt = new Array(s.length), u = r / t.unitsPerEm, i = 0; i < s.length; i++)
|
|
@@ -5839,30 +5839,30 @@ On.prototype.exec = function(e, r) {
|
|
|
5839
5839
|
n.cvt = [];
|
|
5840
5840
|
exports.DEBUG && (console.log("---EXEC PREP---"), n.step = -1);
|
|
5841
5841
|
try {
|
|
5842
|
-
|
|
5842
|
+
we(n);
|
|
5843
5843
|
} catch (l) {
|
|
5844
5844
|
this._errorState < 2 && console.log("Hinting error in PREP:" + l), this._errorState = 2;
|
|
5845
5845
|
}
|
|
5846
5846
|
}
|
|
5847
5847
|
if (!(this._errorState > 1))
|
|
5848
5848
|
try {
|
|
5849
|
-
return
|
|
5849
|
+
return Rn(e, n);
|
|
5850
5850
|
} catch (l) {
|
|
5851
5851
|
this._errorState < 1 && (console.log("Hinting error:" + l), console.log("Note: further hinting errors are silenced")), this._errorState = 1;
|
|
5852
5852
|
return;
|
|
5853
5853
|
}
|
|
5854
5854
|
}
|
|
5855
5855
|
};
|
|
5856
|
-
|
|
5856
|
+
Rn = function(e, r) {
|
|
5857
5857
|
var t = r.ppem / r.font.unitsPerEm, n = t, a = e.components, s, o, u;
|
|
5858
|
-
if (
|
|
5859
|
-
u = new
|
|
5858
|
+
if (Se.prototype = r, !a)
|
|
5859
|
+
u = new Se("glyf", e.instructions), exports.DEBUG && (console.log("---EXEC GLYPH---"), u.step = -1), Pr(e, u, t, n), o = u.gZone;
|
|
5860
5860
|
else {
|
|
5861
5861
|
var i = r.font;
|
|
5862
5862
|
o = [], s = [];
|
|
5863
5863
|
for (var l = 0; l < a.length; l++) {
|
|
5864
5864
|
var f = a[l], c = i.glyphs.get(f.glyphIndex);
|
|
5865
|
-
u = new
|
|
5865
|
+
u = new Se("glyf", c.instructions), exports.DEBUG && (console.log("---EXEC COMP " + l + "---"), u.step = -1), Pr(c, u, t, n);
|
|
5866
5866
|
for (var p = Math.round(f.dx * t), h = Math.round(f.dy * n), d = u.gZone, g = u.contours, m = 0; m < d.length; m++) {
|
|
5867
5867
|
var x = d[m];
|
|
5868
5868
|
x.xTouched = x.yTouched = !1, x.xo = x.x = x.x + p, x.yo = x.y = x.y + h;
|
|
@@ -5872,14 +5872,14 @@ En = function(e, r) {
|
|
|
5872
5872
|
for (var y = 0; y < g.length; y++)
|
|
5873
5873
|
s.push(g[y] + U);
|
|
5874
5874
|
}
|
|
5875
|
-
e.instructions && !u.inhibitGridFit && (u = new
|
|
5875
|
+
e.instructions && !u.inhibitGridFit && (u = new Se("glyf", e.instructions), u.gZone = u.z0 = u.z1 = u.z2 = o, u.contours = s, o.push(
|
|
5876
5876
|
new ce(0, 0),
|
|
5877
5877
|
new ce(Math.round(e.advanceWidth * t), 0)
|
|
5878
|
-
), exports.DEBUG && (console.log("---EXEC COMPOSITE---"), u.step = -1),
|
|
5878
|
+
), exports.DEBUG && (console.log("---EXEC COMPOSITE---"), u.step = -1), we(u), o.length -= 2);
|
|
5879
5879
|
}
|
|
5880
5880
|
return o;
|
|
5881
5881
|
};
|
|
5882
|
-
|
|
5882
|
+
Pr = function(e, r, t, n) {
|
|
5883
5883
|
for (var a = e.points || [], s = a.length, o = r.gZone = r.z0 = r.z1 = r.z2 = [], u = r.contours = [], i, l = 0; l < s; l++)
|
|
5884
5884
|
i = a[l], o[l] = new ce(
|
|
5885
5885
|
i.x * t,
|
|
@@ -5898,19 +5898,19 @@ Mr = function(e, r, t, n) {
|
|
|
5898
5898
|
if (o.push(
|
|
5899
5899
|
new ce(0, 0),
|
|
5900
5900
|
new ce(Math.round(e.advanceWidth * t), 0)
|
|
5901
|
-
),
|
|
5901
|
+
), we(r), o.length -= 2, exports.DEBUG) {
|
|
5902
5902
|
console.log("FINISHED GLYPH", r.stack);
|
|
5903
5903
|
for (var d = 0; d < s; d++)
|
|
5904
5904
|
console.log(d, o[d].x, o[d].y);
|
|
5905
5905
|
}
|
|
5906
5906
|
}
|
|
5907
5907
|
};
|
|
5908
|
-
|
|
5908
|
+
we = function(e) {
|
|
5909
5909
|
var r = e.prog;
|
|
5910
5910
|
if (r) {
|
|
5911
5911
|
var t = r.length, n;
|
|
5912
5912
|
for (e.ip = 0; e.ip < t; e.ip++) {
|
|
5913
|
-
if (exports.DEBUG && e.step++, n =
|
|
5913
|
+
if (exports.DEBUG && e.step++, n = Ln[r[e.ip]], !n)
|
|
5914
5914
|
throw new Error(
|
|
5915
5915
|
"unknown instruction: 0x" + Number(r[e.ip]).toString(16)
|
|
5916
5916
|
);
|
|
@@ -5918,11 +5918,11 @@ Ue = function(e) {
|
|
|
5918
5918
|
}
|
|
5919
5919
|
}
|
|
5920
5920
|
};
|
|
5921
|
-
function
|
|
5921
|
+
function fr(e) {
|
|
5922
5922
|
for (var r = e.tZone = new Array(e.gZone.length), t = 0; t < r.length; t++)
|
|
5923
5923
|
r[t] = new ce(0, 0);
|
|
5924
5924
|
}
|
|
5925
|
-
function
|
|
5925
|
+
function Bn(e, r) {
|
|
5926
5926
|
var t = e.prog, n = e.ip, a = 1, s;
|
|
5927
5927
|
do
|
|
5928
5928
|
if (s = t[++n], s === 88)
|
|
@@ -5942,22 +5942,22 @@ function Dn(e, r) {
|
|
|
5942
5942
|
while (a > 0);
|
|
5943
5943
|
e.ip = n;
|
|
5944
5944
|
}
|
|
5945
|
-
function
|
|
5945
|
+
function xt(e, r) {
|
|
5946
5946
|
exports.DEBUG && console.log(r.step, "SVTCA[" + e.axis + "]"), r.fv = r.pv = r.dpv = e;
|
|
5947
5947
|
}
|
|
5948
|
-
function
|
|
5948
|
+
function bt(e, r) {
|
|
5949
5949
|
exports.DEBUG && console.log(r.step, "SPVTCA[" + e.axis + "]"), r.pv = r.dpv = e;
|
|
5950
5950
|
}
|
|
5951
|
-
function
|
|
5951
|
+
function St(e, r) {
|
|
5952
5952
|
exports.DEBUG && console.log(r.step, "SFVTCA[" + e.axis + "]"), r.fv = e;
|
|
5953
5953
|
}
|
|
5954
|
-
function
|
|
5954
|
+
function Tt(e, r) {
|
|
5955
5955
|
var t = r.stack, n = t.pop(), a = t.pop(), s = r.z2[n], o = r.z1[a];
|
|
5956
5956
|
exports.DEBUG && console.log("SPVTL[" + e + "]", n, a);
|
|
5957
5957
|
var u, i;
|
|
5958
5958
|
e ? (u = s.y - o.y, i = o.x - s.x) : (u = o.x - s.x, i = o.y - s.y), r.pv = r.dpv = Xe(u, i);
|
|
5959
5959
|
}
|
|
5960
|
-
function
|
|
5960
|
+
function kt(e, r) {
|
|
5961
5961
|
var t = r.stack, n = t.pop(), a = t.pop(), s = r.z2[n], o = r.z1[a];
|
|
5962
5962
|
exports.DEBUG && console.log("SFVTL[" + e + "]", n, a);
|
|
5963
5963
|
var u, i;
|
|
@@ -6001,7 +6001,7 @@ function qs(e) {
|
|
|
6001
6001
|
var r = e.stack.pop();
|
|
6002
6002
|
switch (exports.DEBUG && console.log(e.step, "SZP0[]", r), e.zp0 = r, r) {
|
|
6003
6003
|
case 0:
|
|
6004
|
-
e.tZone ||
|
|
6004
|
+
e.tZone || fr(e), e.z0 = e.tZone;
|
|
6005
6005
|
break;
|
|
6006
6006
|
case 1:
|
|
6007
6007
|
e.z0 = e.gZone;
|
|
@@ -6014,7 +6014,7 @@ function Xs(e) {
|
|
|
6014
6014
|
var r = e.stack.pop();
|
|
6015
6015
|
switch (exports.DEBUG && console.log(e.step, "SZP1[]", r), e.zp1 = r, r) {
|
|
6016
6016
|
case 0:
|
|
6017
|
-
e.tZone ||
|
|
6017
|
+
e.tZone || fr(e), e.z1 = e.tZone;
|
|
6018
6018
|
break;
|
|
6019
6019
|
case 1:
|
|
6020
6020
|
e.z1 = e.gZone;
|
|
@@ -6023,11 +6023,11 @@ function Xs(e) {
|
|
|
6023
6023
|
throw new Error("Invalid zone pointer");
|
|
6024
6024
|
}
|
|
6025
6025
|
}
|
|
6026
|
-
function
|
|
6026
|
+
function $s(e) {
|
|
6027
6027
|
var r = e.stack.pop();
|
|
6028
6028
|
switch (exports.DEBUG && console.log(e.step, "SZP2[]", r), e.zp2 = r, r) {
|
|
6029
6029
|
case 0:
|
|
6030
|
-
e.tZone ||
|
|
6030
|
+
e.tZone || fr(e), e.z2 = e.tZone;
|
|
6031
6031
|
break;
|
|
6032
6032
|
case 1:
|
|
6033
6033
|
e.z2 = e.gZone;
|
|
@@ -6036,11 +6036,11 @@ function Ys(e) {
|
|
|
6036
6036
|
throw new Error("Invalid zone pointer");
|
|
6037
6037
|
}
|
|
6038
6038
|
}
|
|
6039
|
-
function
|
|
6039
|
+
function Ys(e) {
|
|
6040
6040
|
var r = e.stack.pop();
|
|
6041
6041
|
switch (exports.DEBUG && console.log(e.step, "SZPS[]", r), e.zp0 = e.zp1 = e.zp2 = r, r) {
|
|
6042
6042
|
case 0:
|
|
6043
|
-
e.tZone ||
|
|
6043
|
+
e.tZone || fr(e), e.z0 = e.z1 = e.z2 = e.tZone;
|
|
6044
6044
|
break;
|
|
6045
6045
|
case 1:
|
|
6046
6046
|
e.z0 = e.z1 = e.z2 = e.gZone;
|
|
@@ -6053,7 +6053,7 @@ function Zs(e) {
|
|
|
6053
6053
|
e.loop = e.stack.pop(), exports.DEBUG && console.log(e.step, "SLOOP[]", e.loop);
|
|
6054
6054
|
}
|
|
6055
6055
|
function Qs(e) {
|
|
6056
|
-
exports.DEBUG && console.log(e.step, "RTG[]"), e.round =
|
|
6056
|
+
exports.DEBUG && console.log(e.step, "RTG[]"), e.round = An;
|
|
6057
6057
|
}
|
|
6058
6058
|
function Ks(e) {
|
|
6059
6059
|
exports.DEBUG && console.log(e.step, "RTHG[]"), e.round = Ds;
|
|
@@ -6063,7 +6063,7 @@ function js(e) {
|
|
|
6063
6063
|
exports.DEBUG && console.log(e.step, "SMD[]", r), e.minDis = r / 64;
|
|
6064
6064
|
}
|
|
6065
6065
|
function Js(e) {
|
|
6066
|
-
exports.DEBUG && console.log(e.step, "ELSE[]"),
|
|
6066
|
+
exports.DEBUG && console.log(e.step, "ELSE[]"), Bn(e, !1);
|
|
6067
6067
|
}
|
|
6068
6068
|
function eo(e) {
|
|
6069
6069
|
var r = e.stack.pop();
|
|
@@ -6077,7 +6077,7 @@ function to(e) {
|
|
|
6077
6077
|
var r = e.stack;
|
|
6078
6078
|
exports.DEBUG && console.log(e.step, "DUP[]"), r.push(r[r.length - 1]);
|
|
6079
6079
|
}
|
|
6080
|
-
function
|
|
6080
|
+
function Sr(e) {
|
|
6081
6081
|
exports.DEBUG && console.log(e.step, "POP[]"), e.stack.pop();
|
|
6082
6082
|
}
|
|
6083
6083
|
function no(e) {
|
|
@@ -6097,7 +6097,7 @@ function oo(e) {
|
|
|
6097
6097
|
var a = e.ip, s = e.prog;
|
|
6098
6098
|
e.prog = e.funcs[t];
|
|
6099
6099
|
for (var o = 0; o < n; o++)
|
|
6100
|
-
|
|
6100
|
+
we(e), exports.DEBUG && console.log(
|
|
6101
6101
|
++e.step,
|
|
6102
6102
|
o + 1 < n ? "next loopcall" : "done loopcall",
|
|
6103
6103
|
o
|
|
@@ -6108,7 +6108,7 @@ function io(e) {
|
|
|
6108
6108
|
var r = e.stack.pop();
|
|
6109
6109
|
exports.DEBUG && console.log(e.step, "CALL[]", r);
|
|
6110
6110
|
var t = e.ip, n = e.prog;
|
|
6111
|
-
e.prog = e.funcs[r],
|
|
6111
|
+
e.prog = e.funcs[r], we(e), e.ip = t, e.prog = n, exports.DEBUG && console.log(++e.step, "returning from", r);
|
|
6112
6112
|
}
|
|
6113
6113
|
function uo(e) {
|
|
6114
6114
|
var r = e.stack, t = r.pop();
|
|
@@ -6126,19 +6126,19 @@ function fo(e) {
|
|
|
6126
6126
|
;
|
|
6127
6127
|
e.ip = n, e.funcs[a] = t.slice(s + 1, n);
|
|
6128
6128
|
}
|
|
6129
|
-
function
|
|
6129
|
+
function Ft(e, r) {
|
|
6130
6130
|
var t = r.stack.pop(), n = r.z0[t], a = r.fv, s = r.pv;
|
|
6131
6131
|
exports.DEBUG && console.log(r.step, "MDAP[" + e + "]", t);
|
|
6132
6132
|
var o = s.distance(n, ze);
|
|
6133
6133
|
e && (o = r.round(o)), a.setRelative(n, ze, o, s), a.touch(n), r.rp0 = r.rp1 = t;
|
|
6134
6134
|
}
|
|
6135
|
-
function
|
|
6135
|
+
function Ut(e, r) {
|
|
6136
6136
|
var t = r.z2, n = t.length - 2, a, s, o;
|
|
6137
6137
|
exports.DEBUG && console.log(r.step, "IUP[" + e.axis + "]");
|
|
6138
6138
|
for (var u = 0; u < n; u++)
|
|
6139
6139
|
a = t[u], !e.touched(a) && (s = a.prevTouched(e), s !== a && (o = a.nextTouched(e), s === o && e.setRelative(a, a, e.distance(s, s, !1, !0), e, !0), e.interpolate(a, s, o, e)));
|
|
6140
6140
|
}
|
|
6141
|
-
function
|
|
6141
|
+
function Ct(e, r) {
|
|
6142
6142
|
for (var t = r.stack, n = e ? r.rp1 : r.rp2, a = (e ? r.z0 : r.z1)[n], s = r.fv, o = r.pv, u = r.loop, i = r.z2; u--; ) {
|
|
6143
6143
|
var l = t.pop(), f = i[l], c = o.distance(a, a, !1, !0);
|
|
6144
6144
|
s.setRelative(f, f, c, o), s.touch(f), exports.DEBUG && console.log(
|
|
@@ -6149,7 +6149,7 @@ function kt(e, r) {
|
|
|
6149
6149
|
}
|
|
6150
6150
|
r.loop = 1;
|
|
6151
6151
|
}
|
|
6152
|
-
function
|
|
6152
|
+
function wt(e, r) {
|
|
6153
6153
|
var t = r.stack, n = e ? r.rp1 : r.rp2, a = (e ? r.z0 : r.z1)[n], s = r.fv, o = r.pv, u = t.pop(), i = r.z2[r.contours[u]], l = i;
|
|
6154
6154
|
exports.DEBUG && console.log(r.step, "SHC[" + e + "]", u);
|
|
6155
6155
|
var f = o.distance(a, a, !1, !0);
|
|
@@ -6157,7 +6157,7 @@ function Ft(e, r) {
|
|
|
6157
6157
|
l !== a && s.setRelative(l, l, f, o), l = l.nextPointOnContour;
|
|
6158
6158
|
while (l !== i);
|
|
6159
6159
|
}
|
|
6160
|
-
function
|
|
6160
|
+
function Et(e, r) {
|
|
6161
6161
|
var t = r.stack, n = e ? r.rp1 : r.rp2, a = (e ? r.z0 : r.z1)[n], s = r.fv, o = r.pv, u = t.pop();
|
|
6162
6162
|
exports.DEBUG && console.log(r.step, "SHZ[" + e + "]", u);
|
|
6163
6163
|
var i;
|
|
@@ -6200,7 +6200,7 @@ function co(e) {
|
|
|
6200
6200
|
}
|
|
6201
6201
|
e.loop = 1;
|
|
6202
6202
|
}
|
|
6203
|
-
function
|
|
6203
|
+
function Ot(e, r) {
|
|
6204
6204
|
var t = r.stack, n = t.pop() / 64, a = t.pop(), s = r.z1[a], o = r.z0[r.rp0], u = r.fv, i = r.pv;
|
|
6205
6205
|
u.setRelative(s, o, n, i), u.touch(s), exports.DEBUG && console.log(r.step, "MSIRP[" + e + "]", n, a), r.rp1 = r.rp0, r.rp2 = a, e && (r.rp0 = a);
|
|
6206
6206
|
}
|
|
@@ -6218,7 +6218,7 @@ function ho(e) {
|
|
|
6218
6218
|
function vo(e) {
|
|
6219
6219
|
exports.DEBUG && console.log(e.step, "RTDG[]"), e.round = Rs;
|
|
6220
6220
|
}
|
|
6221
|
-
function
|
|
6221
|
+
function Lt(e, r) {
|
|
6222
6222
|
var t = r.stack, n = t.pop(), a = t.pop(), s = r.z0[a], o = r.fv, u = r.pv, i = r.cvt[n];
|
|
6223
6223
|
exports.DEBUG && console.log(
|
|
6224
6224
|
r.step,
|
|
@@ -6268,11 +6268,11 @@ function So(e) {
|
|
|
6268
6268
|
var r = e.stack, t = r.pop();
|
|
6269
6269
|
exports.DEBUG && console.log(e.step, "RCVT", t), r.push(e.cvt[t] * 64);
|
|
6270
6270
|
}
|
|
6271
|
-
function
|
|
6271
|
+
function Rt(e, r) {
|
|
6272
6272
|
var t = r.stack, n = t.pop(), a = r.z2[n];
|
|
6273
6273
|
exports.DEBUG && console.log(r.step, "GC[" + e + "]", n), t.push(r.dpv.distance(a, ze, e, !1) * 64);
|
|
6274
6274
|
}
|
|
6275
|
-
function
|
|
6275
|
+
function Dt(e, r) {
|
|
6276
6276
|
var t = r.stack, n = t.pop(), a = t.pop(), s = r.z1[n], o = r.z0[a], u = r.dpv.distance(o, s, e, e);
|
|
6277
6277
|
exports.DEBUG && console.log(r.step, "MD[" + e + "]", n, a, "->", u), r.stack.push(Math.round(u * 64));
|
|
6278
6278
|
}
|
|
@@ -6316,16 +6316,16 @@ function Ro(e) {
|
|
|
6316
6316
|
}
|
|
6317
6317
|
function Do(e) {
|
|
6318
6318
|
var r = e.stack.pop();
|
|
6319
|
-
exports.DEBUG && console.log(e.step, "IF[]", r), r || (
|
|
6319
|
+
exports.DEBUG && console.log(e.step, "IF[]", r), r || (Bn(e, !0), exports.DEBUG && console.log(e.step, "EIF[]"));
|
|
6320
6320
|
}
|
|
6321
6321
|
function Ao(e) {
|
|
6322
6322
|
exports.DEBUG && console.log(e.step, "EIF[]");
|
|
6323
6323
|
}
|
|
6324
|
-
function
|
|
6324
|
+
function Mo(e) {
|
|
6325
6325
|
var r = e.stack, t = r.pop(), n = r.pop();
|
|
6326
6326
|
exports.DEBUG && console.log(e.step, "AND[]", t, n), r.push(t && n ? 1 : 0);
|
|
6327
6327
|
}
|
|
6328
|
-
function
|
|
6328
|
+
function Bo(e) {
|
|
6329
6329
|
var r = e.stack, t = r.pop(), n = r.pop();
|
|
6330
6330
|
exports.DEBUG && console.log(e.step, "OR[]", t, n), r.push(t || n ? 1 : 0);
|
|
6331
6331
|
}
|
|
@@ -6333,7 +6333,7 @@ function Io(e) {
|
|
|
6333
6333
|
var r = e.stack, t = r.pop();
|
|
6334
6334
|
exports.DEBUG && console.log(e.step, "NOT[]", t), r.push(t ? 0 : 1);
|
|
6335
6335
|
}
|
|
6336
|
-
function
|
|
6336
|
+
function Tr(e, r) {
|
|
6337
6337
|
var t = r.stack, n = t.pop(), a = r.fv, s = r.pv, o = r.ppem, u = r.deltaBase + (e - 1) * 16, i = r.deltaShift, l = r.z0;
|
|
6338
6338
|
exports.DEBUG && console.log(r.step, "DELTAP[" + e + "]", n, t);
|
|
6339
6339
|
for (var f = 0; f < n; f++) {
|
|
@@ -6386,15 +6386,15 @@ function Xo(e) {
|
|
|
6386
6386
|
var r = e.stack, t = r.pop();
|
|
6387
6387
|
exports.DEBUG && console.log(e.step, "CEILING[]", t), r.push(Math.ceil(t / 64) * 64);
|
|
6388
6388
|
}
|
|
6389
|
-
function
|
|
6389
|
+
function er(e, r) {
|
|
6390
6390
|
var t = r.stack, n = t.pop();
|
|
6391
6391
|
exports.DEBUG && console.log(r.step, "ROUND[]"), t.push(r.round(n / 64) * 64);
|
|
6392
6392
|
}
|
|
6393
|
-
function
|
|
6393
|
+
function $o(e) {
|
|
6394
6394
|
var r = e.stack, t = r.pop(), n = r.pop();
|
|
6395
6395
|
exports.DEBUG && console.log(e.step, "WCVTF[]", t, n), e.cvt[n] = t * e.ppem / e.font.unitsPerEm;
|
|
6396
6396
|
}
|
|
6397
|
-
function
|
|
6397
|
+
function kr(e, r) {
|
|
6398
6398
|
var t = r.stack, n = t.pop(), a = r.ppem, s = r.deltaBase + (e - 1) * 16, o = r.deltaShift;
|
|
6399
6399
|
exports.DEBUG && console.log(r.step, "DELTAC[" + e + "]", n, t);
|
|
6400
6400
|
for (var u = 0; u < n; u++) {
|
|
@@ -6407,9 +6407,9 @@ function Sr(e, r) {
|
|
|
6407
6407
|
}
|
|
6408
6408
|
}
|
|
6409
6409
|
}
|
|
6410
|
-
function
|
|
6410
|
+
function Yo(e) {
|
|
6411
6411
|
var r = e.stack.pop();
|
|
6412
|
-
exports.DEBUG && console.log(e.step, "SROUND[]", r), e.round =
|
|
6412
|
+
exports.DEBUG && console.log(e.step, "SROUND[]", r), e.round = Mn;
|
|
6413
6413
|
var t;
|
|
6414
6414
|
switch (r & 192) {
|
|
6415
6415
|
case 0:
|
|
@@ -6444,7 +6444,7 @@ function $o(e) {
|
|
|
6444
6444
|
}
|
|
6445
6445
|
function Zo(e) {
|
|
6446
6446
|
var r = e.stack.pop();
|
|
6447
|
-
exports.DEBUG && console.log(e.step, "S45ROUND[]", r), e.round =
|
|
6447
|
+
exports.DEBUG && console.log(e.step, "S45ROUND[]", r), e.round = Mn;
|
|
6448
6448
|
var t;
|
|
6449
6449
|
switch (r & 192) {
|
|
6450
6450
|
case 0:
|
|
@@ -6484,13 +6484,13 @@ function Ko(e) {
|
|
|
6484
6484
|
exports.DEBUG && console.log(e.step, "RUTG[]"), e.round = As;
|
|
6485
6485
|
}
|
|
6486
6486
|
function jo(e) {
|
|
6487
|
-
exports.DEBUG && console.log(e.step, "RDTG[]"), e.round =
|
|
6487
|
+
exports.DEBUG && console.log(e.step, "RDTG[]"), e.round = Ms;
|
|
6488
6488
|
}
|
|
6489
6489
|
function Jo(e) {
|
|
6490
6490
|
var r = e.stack.pop();
|
|
6491
6491
|
exports.DEBUG && console.log(e.step, "SCANCTRL[]", r);
|
|
6492
6492
|
}
|
|
6493
|
-
function
|
|
6493
|
+
function At(e, r) {
|
|
6494
6494
|
var t = r.stack, n = t.pop(), a = t.pop(), s = r.z2[n], o = r.z1[a];
|
|
6495
6495
|
exports.DEBUG && console.log(r.step, "SDPVTL[" + e + "]", n, a);
|
|
6496
6496
|
var u, i;
|
|
@@ -6529,14 +6529,14 @@ function si(e) {
|
|
|
6529
6529
|
throw new Error("invalid INSTCTRL[] selector");
|
|
6530
6530
|
}
|
|
6531
6531
|
}
|
|
6532
|
-
function
|
|
6532
|
+
function me(e, r) {
|
|
6533
6533
|
var t = r.stack, n = r.prog, a = r.ip;
|
|
6534
6534
|
exports.DEBUG && console.log(r.step, "PUSHB[" + e + "]");
|
|
6535
6535
|
for (var s = 0; s < e; s++)
|
|
6536
6536
|
t.push(n[++a]);
|
|
6537
6537
|
r.ip = a;
|
|
6538
6538
|
}
|
|
6539
|
-
function
|
|
6539
|
+
function ye(e, r) {
|
|
6540
6540
|
var t = r.ip, n = r.prog, a = r.stack;
|
|
6541
6541
|
exports.DEBUG && console.log(r.ip, "PUSHW[" + e + "]");
|
|
6542
6542
|
for (var s = 0; s < e; s++) {
|
|
@@ -6559,27 +6559,27 @@ function T(e, r, t, n, a, s) {
|
|
|
6559
6559
|
")"
|
|
6560
6560
|
), s.rp1 = s.rp0, s.rp2 = i, r && (s.rp0 = i);
|
|
6561
6561
|
}
|
|
6562
|
-
|
|
6562
|
+
Ln = [
|
|
6563
6563
|
/* 0x00 */
|
|
6564
|
-
|
|
6564
|
+
xt.bind(void 0, pe),
|
|
6565
6565
|
/* 0x01 */
|
|
6566
|
-
|
|
6566
|
+
xt.bind(void 0, ie),
|
|
6567
6567
|
/* 0x02 */
|
|
6568
|
-
|
|
6568
|
+
bt.bind(void 0, pe),
|
|
6569
6569
|
/* 0x03 */
|
|
6570
|
-
|
|
6570
|
+
bt.bind(void 0, ie),
|
|
6571
6571
|
/* 0x04 */
|
|
6572
|
-
|
|
6572
|
+
St.bind(void 0, pe),
|
|
6573
6573
|
/* 0x05 */
|
|
6574
|
-
|
|
6574
|
+
St.bind(void 0, ie),
|
|
6575
6575
|
/* 0x06 */
|
|
6576
|
-
|
|
6576
|
+
Tt.bind(void 0, 0),
|
|
6577
6577
|
/* 0x07 */
|
|
6578
|
-
|
|
6578
|
+
Tt.bind(void 0, 1),
|
|
6579
6579
|
/* 0x08 */
|
|
6580
|
-
|
|
6580
|
+
kt.bind(void 0, 0),
|
|
6581
6581
|
/* 0x09 */
|
|
6582
|
-
|
|
6582
|
+
kt.bind(void 0, 1),
|
|
6583
6583
|
/* 0x0A */
|
|
6584
6584
|
Is,
|
|
6585
6585
|
/* 0x0B */
|
|
@@ -6603,9 +6603,9 @@ wn = [
|
|
|
6603
6603
|
/* 0x14 */
|
|
6604
6604
|
Xs,
|
|
6605
6605
|
/* 0x15 */
|
|
6606
|
-
Ys,
|
|
6607
|
-
/* 0x16 */
|
|
6608
6606
|
$s,
|
|
6607
|
+
/* 0x16 */
|
|
6608
|
+
Ys,
|
|
6609
6609
|
/* 0x17 */
|
|
6610
6610
|
Zs,
|
|
6611
6611
|
/* 0x18 */
|
|
@@ -6629,7 +6629,7 @@ wn = [
|
|
|
6629
6629
|
/* 0x20 */
|
|
6630
6630
|
to,
|
|
6631
6631
|
/* 0x21 */
|
|
6632
|
-
|
|
6632
|
+
Sr,
|
|
6633
6633
|
/* 0x22 */
|
|
6634
6634
|
no,
|
|
6635
6635
|
/* 0x23 */
|
|
@@ -6658,41 +6658,41 @@ wn = [
|
|
|
6658
6658
|
void 0,
|
|
6659
6659
|
// ENDF (eaten by FDEF)
|
|
6660
6660
|
/* 0x2E */
|
|
6661
|
-
|
|
6661
|
+
Ft.bind(void 0, 0),
|
|
6662
6662
|
/* 0x2F */
|
|
6663
|
-
|
|
6663
|
+
Ft.bind(void 0, 1),
|
|
6664
6664
|
/* 0x30 */
|
|
6665
|
-
|
|
6665
|
+
Ut.bind(void 0, pe),
|
|
6666
6666
|
/* 0x31 */
|
|
6667
|
-
|
|
6667
|
+
Ut.bind(void 0, ie),
|
|
6668
6668
|
/* 0x32 */
|
|
6669
|
-
|
|
6669
|
+
Ct.bind(void 0, 0),
|
|
6670
6670
|
/* 0x33 */
|
|
6671
|
-
|
|
6671
|
+
Ct.bind(void 0, 1),
|
|
6672
6672
|
/* 0x34 */
|
|
6673
|
-
|
|
6673
|
+
wt.bind(void 0, 0),
|
|
6674
6674
|
/* 0x35 */
|
|
6675
|
-
|
|
6675
|
+
wt.bind(void 0, 1),
|
|
6676
6676
|
/* 0x36 */
|
|
6677
|
-
|
|
6677
|
+
Et.bind(void 0, 0),
|
|
6678
6678
|
/* 0x37 */
|
|
6679
|
-
|
|
6679
|
+
Et.bind(void 0, 1),
|
|
6680
6680
|
/* 0x38 */
|
|
6681
6681
|
po,
|
|
6682
6682
|
/* 0x39 */
|
|
6683
6683
|
co,
|
|
6684
6684
|
/* 0x3A */
|
|
6685
|
-
|
|
6685
|
+
Ot.bind(void 0, 0),
|
|
6686
6686
|
/* 0x3B */
|
|
6687
|
-
|
|
6687
|
+
Ot.bind(void 0, 1),
|
|
6688
6688
|
/* 0x3C */
|
|
6689
6689
|
ho,
|
|
6690
6690
|
/* 0x3D */
|
|
6691
6691
|
vo,
|
|
6692
6692
|
/* 0x3E */
|
|
6693
|
-
|
|
6693
|
+
Lt.bind(void 0, 0),
|
|
6694
6694
|
/* 0x3F */
|
|
6695
|
-
|
|
6695
|
+
Lt.bind(void 0, 1),
|
|
6696
6696
|
/* 0x40 */
|
|
6697
6697
|
go,
|
|
6698
6698
|
/* 0x41 */
|
|
@@ -6706,16 +6706,16 @@ wn = [
|
|
|
6706
6706
|
/* 0x45 */
|
|
6707
6707
|
So,
|
|
6708
6708
|
/* 0x46 */
|
|
6709
|
-
|
|
6709
|
+
Rt.bind(void 0, 0),
|
|
6710
6710
|
/* 0x47 */
|
|
6711
|
-
|
|
6711
|
+
Rt.bind(void 0, 1),
|
|
6712
6712
|
/* 0x48 */
|
|
6713
6713
|
void 0,
|
|
6714
6714
|
// TODO SCFS
|
|
6715
6715
|
/* 0x49 */
|
|
6716
|
-
|
|
6716
|
+
Dt.bind(void 0, 0),
|
|
6717
6717
|
/* 0x4A */
|
|
6718
|
-
|
|
6718
|
+
Dt.bind(void 0, 1),
|
|
6719
6719
|
/* 0x4B */
|
|
6720
6720
|
To,
|
|
6721
6721
|
/* 0x4C */
|
|
@@ -6750,13 +6750,13 @@ wn = [
|
|
|
6750
6750
|
/* 0x59 */
|
|
6751
6751
|
Ao,
|
|
6752
6752
|
/* 0x5A */
|
|
6753
|
-
Bo,
|
|
6754
|
-
/* 0x5B */
|
|
6755
6753
|
Mo,
|
|
6754
|
+
/* 0x5B */
|
|
6755
|
+
Bo,
|
|
6756
6756
|
/* 0x5C */
|
|
6757
6757
|
Io,
|
|
6758
6758
|
/* 0x5D */
|
|
6759
|
-
|
|
6759
|
+
Tr.bind(void 0, 1),
|
|
6760
6760
|
/* 0x5E */
|
|
6761
6761
|
Po,
|
|
6762
6762
|
/* 0x5F */
|
|
@@ -6778,13 +6778,13 @@ wn = [
|
|
|
6778
6778
|
/* 0x67 */
|
|
6779
6779
|
Xo,
|
|
6780
6780
|
/* 0x68 */
|
|
6781
|
-
|
|
6781
|
+
er.bind(void 0, 0),
|
|
6782
6782
|
/* 0x69 */
|
|
6783
|
-
|
|
6783
|
+
er.bind(void 0, 1),
|
|
6784
6784
|
/* 0x6A */
|
|
6785
|
-
|
|
6785
|
+
er.bind(void 0, 2),
|
|
6786
6786
|
/* 0x6B */
|
|
6787
|
-
|
|
6787
|
+
er.bind(void 0, 3),
|
|
6788
6788
|
/* 0x6C */
|
|
6789
6789
|
void 0,
|
|
6790
6790
|
// TODO NROUND[ab]
|
|
@@ -6798,19 +6798,19 @@ wn = [
|
|
|
6798
6798
|
void 0,
|
|
6799
6799
|
// TODO NROUND[ab]
|
|
6800
6800
|
/* 0x70 */
|
|
6801
|
-
|
|
6801
|
+
$o,
|
|
6802
6802
|
/* 0x71 */
|
|
6803
|
-
|
|
6803
|
+
Tr.bind(void 0, 2),
|
|
6804
6804
|
/* 0x72 */
|
|
6805
|
-
|
|
6805
|
+
Tr.bind(void 0, 3),
|
|
6806
6806
|
/* 0x73 */
|
|
6807
|
-
|
|
6807
|
+
kr.bind(void 0, 1),
|
|
6808
6808
|
/* 0x74 */
|
|
6809
|
-
|
|
6809
|
+
kr.bind(void 0, 2),
|
|
6810
6810
|
/* 0x75 */
|
|
6811
|
-
|
|
6811
|
+
kr.bind(void 0, 3),
|
|
6812
6812
|
/* 0x76 */
|
|
6813
|
-
|
|
6813
|
+
Yo,
|
|
6814
6814
|
/* 0x77 */
|
|
6815
6815
|
Zo,
|
|
6816
6816
|
/* 0x78 */
|
|
@@ -6828,10 +6828,10 @@ wn = [
|
|
|
6828
6828
|
/* 0x7D */
|
|
6829
6829
|
jo,
|
|
6830
6830
|
/* 0x7E */
|
|
6831
|
-
|
|
6831
|
+
Sr,
|
|
6832
6832
|
// actually SANGW, supposed to do only a pop though
|
|
6833
6833
|
/* 0x7F */
|
|
6834
|
-
|
|
6834
|
+
Sr,
|
|
6835
6835
|
// actually AA, supposed to do only a pop though
|
|
6836
6836
|
/* 0x80 */
|
|
6837
6837
|
void 0,
|
|
@@ -6849,9 +6849,9 @@ wn = [
|
|
|
6849
6849
|
/* 0x85 */
|
|
6850
6850
|
Jo,
|
|
6851
6851
|
/* 0x86 */
|
|
6852
|
-
|
|
6852
|
+
At.bind(void 0, 0),
|
|
6853
6853
|
/* 0x87 */
|
|
6854
|
-
|
|
6854
|
+
At.bind(void 0, 1),
|
|
6855
6855
|
/* 0x88 */
|
|
6856
6856
|
ei,
|
|
6857
6857
|
/* 0x89 */
|
|
@@ -6934,37 +6934,37 @@ wn = [
|
|
|
6934
6934
|
/* 0xAF */
|
|
6935
6935
|
void 0,
|
|
6936
6936
|
/* 0xB0 */
|
|
6937
|
-
|
|
6937
|
+
me.bind(void 0, 1),
|
|
6938
6938
|
/* 0xB1 */
|
|
6939
|
-
|
|
6939
|
+
me.bind(void 0, 2),
|
|
6940
6940
|
/* 0xB2 */
|
|
6941
|
-
|
|
6941
|
+
me.bind(void 0, 3),
|
|
6942
6942
|
/* 0xB3 */
|
|
6943
|
-
|
|
6943
|
+
me.bind(void 0, 4),
|
|
6944
6944
|
/* 0xB4 */
|
|
6945
|
-
|
|
6945
|
+
me.bind(void 0, 5),
|
|
6946
6946
|
/* 0xB5 */
|
|
6947
|
-
|
|
6947
|
+
me.bind(void 0, 6),
|
|
6948
6948
|
/* 0xB6 */
|
|
6949
|
-
|
|
6949
|
+
me.bind(void 0, 7),
|
|
6950
6950
|
/* 0xB7 */
|
|
6951
|
-
|
|
6951
|
+
me.bind(void 0, 8),
|
|
6952
6952
|
/* 0xB8 */
|
|
6953
|
-
|
|
6953
|
+
ye.bind(void 0, 1),
|
|
6954
6954
|
/* 0xB9 */
|
|
6955
|
-
|
|
6955
|
+
ye.bind(void 0, 2),
|
|
6956
6956
|
/* 0xBA */
|
|
6957
|
-
|
|
6957
|
+
ye.bind(void 0, 3),
|
|
6958
6958
|
/* 0xBB */
|
|
6959
|
-
|
|
6959
|
+
ye.bind(void 0, 4),
|
|
6960
6960
|
/* 0xBC */
|
|
6961
|
-
|
|
6961
|
+
ye.bind(void 0, 5),
|
|
6962
6962
|
/* 0xBD */
|
|
6963
|
-
|
|
6963
|
+
ye.bind(void 0, 6),
|
|
6964
6964
|
/* 0xBE */
|
|
6965
|
-
|
|
6965
|
+
ye.bind(void 0, 7),
|
|
6966
6966
|
/* 0xBF */
|
|
6967
|
-
|
|
6967
|
+
ye.bind(void 0, 8),
|
|
6968
6968
|
/* 0xC0 */
|
|
6969
6969
|
T.bind(void 0, 0, 0, 0, 0, 0),
|
|
6970
6970
|
/* 0xC1 */
|
|
@@ -7094,10 +7094,10 @@ wn = [
|
|
|
7094
7094
|
/* 0xFF */
|
|
7095
7095
|
T.bind(void 0, 1, 1, 1, 1, 3)
|
|
7096
7096
|
];
|
|
7097
|
-
function
|
|
7097
|
+
function De(e) {
|
|
7098
7098
|
this.char = e, this.state = {}, this.activeState = null;
|
|
7099
7099
|
}
|
|
7100
|
-
function
|
|
7100
|
+
function Zr(e, r, t) {
|
|
7101
7101
|
this.contextName = t, this.startIndex = e, this.endOffset = r;
|
|
7102
7102
|
}
|
|
7103
7103
|
function oi(e, r, t) {
|
|
@@ -7106,7 +7106,7 @@ function oi(e, r, t) {
|
|
|
7106
7106
|
function re(e, r) {
|
|
7107
7107
|
this.context = e, this.index = r, this.length = e.length, this.current = e[r], this.backtrack = e.slice(0, r), this.lookahead = e.slice(r + 1);
|
|
7108
7108
|
}
|
|
7109
|
-
function
|
|
7109
|
+
function pr(e) {
|
|
7110
7110
|
this.eventId = e, this.subscribers = [];
|
|
7111
7111
|
}
|
|
7112
7112
|
function ii(e) {
|
|
@@ -7127,7 +7127,7 @@ function ii(e) {
|
|
|
7127
7127
|
];
|
|
7128
7128
|
t.forEach(function(a) {
|
|
7129
7129
|
Object.defineProperty(r.events, a, {
|
|
7130
|
-
value: new
|
|
7130
|
+
value: new pr(a)
|
|
7131
7131
|
});
|
|
7132
7132
|
}), e && t.forEach(function(a) {
|
|
7133
7133
|
var s = e[a];
|
|
@@ -7150,10 +7150,10 @@ function ii(e) {
|
|
|
7150
7150
|
function N(e) {
|
|
7151
7151
|
this.tokens = [], this.registeredContexts = {}, this.contextCheckers = [], this.events = {}, this.registeredModifiers = [], ii.call(this, e);
|
|
7152
7152
|
}
|
|
7153
|
-
|
|
7153
|
+
De.prototype.setState = function(e, r) {
|
|
7154
7154
|
return this.state[e] = r, this.activeState = { key: e, value: this.state[e] }, this.activeState;
|
|
7155
7155
|
};
|
|
7156
|
-
|
|
7156
|
+
De.prototype.getState = function(e) {
|
|
7157
7157
|
return this.state[e] || null;
|
|
7158
7158
|
};
|
|
7159
7159
|
N.prototype.inboundIndex = function(e) {
|
|
@@ -7177,7 +7177,7 @@ N.prototype.composeRUD = function(e) {
|
|
|
7177
7177
|
N.prototype.replaceRange = function(e, r, t, n) {
|
|
7178
7178
|
r = r !== null ? r : this.tokens.length;
|
|
7179
7179
|
var a = t.every(function(o) {
|
|
7180
|
-
return o instanceof
|
|
7180
|
+
return o instanceof De;
|
|
7181
7181
|
});
|
|
7182
7182
|
if (!isNaN(e) && this.inboundIndex(e) && a) {
|
|
7183
7183
|
var s = this.tokens.splice.apply(
|
|
@@ -7189,7 +7189,7 @@ N.prototype.replaceRange = function(e, r, t, n) {
|
|
|
7189
7189
|
return { FAIL: "replaceRange: invalid tokens or startIndex." };
|
|
7190
7190
|
};
|
|
7191
7191
|
N.prototype.replaceToken = function(e, r, t) {
|
|
7192
|
-
if (!isNaN(e) && this.inboundIndex(e) && r instanceof
|
|
7192
|
+
if (!isNaN(e) && this.inboundIndex(e) && r instanceof De) {
|
|
7193
7193
|
var n = this.tokens.splice(e, 1, r);
|
|
7194
7194
|
return t || this.dispatch("replaceToken", [e, r]), [n[0], r];
|
|
7195
7195
|
} else
|
|
@@ -7210,7 +7210,7 @@ N.prototype.removeToken = function(e, r) {
|
|
|
7210
7210
|
N.prototype.insertToken = function(e, r, t) {
|
|
7211
7211
|
var n = e.every(
|
|
7212
7212
|
function(a) {
|
|
7213
|
-
return a instanceof
|
|
7213
|
+
return a instanceof De;
|
|
7214
7214
|
}
|
|
7215
7215
|
);
|
|
7216
7216
|
return n ? (this.tokens.splice.apply(
|
|
@@ -7227,10 +7227,10 @@ N.prototype.registerModifier = function(e, r, t) {
|
|
|
7227
7227
|
}
|
|
7228
7228
|
}), this.registeredModifiers.push(e);
|
|
7229
7229
|
};
|
|
7230
|
-
|
|
7230
|
+
pr.prototype.subscribe = function(e) {
|
|
7231
7231
|
return typeof e == "function" ? this.subscribers.push(e) - 1 : { FAIL: "invalid '" + this.eventId + "' event handler" };
|
|
7232
7232
|
};
|
|
7233
|
-
|
|
7233
|
+
pr.prototype.unsubscribe = function(e) {
|
|
7234
7234
|
this.subscribers.splice(e, 1);
|
|
7235
7235
|
};
|
|
7236
7236
|
re.prototype.setCurrentIndex = function(e) {
|
|
@@ -7249,7 +7249,7 @@ re.prototype.get = function(e) {
|
|
|
7249
7249
|
}
|
|
7250
7250
|
};
|
|
7251
7251
|
N.prototype.rangeToText = function(e) {
|
|
7252
|
-
if (e instanceof
|
|
7252
|
+
if (e instanceof Zr)
|
|
7253
7253
|
return this.getRangeTokens(e).map(function(r) {
|
|
7254
7254
|
return r.char;
|
|
7255
7255
|
}).join("");
|
|
@@ -7269,7 +7269,7 @@ N.prototype.on = function(e, r) {
|
|
|
7269
7269
|
};
|
|
7270
7270
|
N.prototype.dispatch = function(e, r) {
|
|
7271
7271
|
var t = this, n = this.events[e];
|
|
7272
|
-
n instanceof
|
|
7272
|
+
n instanceof pr && n.subscribers.forEach(function(a) {
|
|
7273
7273
|
a.apply(t, r || []);
|
|
7274
7274
|
});
|
|
7275
7275
|
};
|
|
@@ -7322,14 +7322,14 @@ N.prototype.updateContextsRanges = function() {
|
|
|
7322
7322
|
this.dispatch("updateContextsRanges", [this.registeredContexts]);
|
|
7323
7323
|
};
|
|
7324
7324
|
N.prototype.setEndOffset = function(e, r) {
|
|
7325
|
-
var t = this.getContext(r).openRange.startIndex, n = new
|
|
7325
|
+
var t = this.getContext(r).openRange.startIndex, n = new Zr(t, e, r), a = this.getContext(r).ranges;
|
|
7326
7326
|
return n.rangeId = r + "." + a.length, a.push(n), this.getContext(r).openRange = null, n;
|
|
7327
7327
|
};
|
|
7328
7328
|
N.prototype.runContextCheck = function(e) {
|
|
7329
7329
|
var r = this, t = e.index;
|
|
7330
7330
|
this.contextCheckers.forEach(function(n) {
|
|
7331
7331
|
var a = n.contextName, s = r.getContext(a).openRange;
|
|
7332
|
-
if (!s && n.checkStart(e) && (s = new
|
|
7332
|
+
if (!s && n.checkStart(e) && (s = new Zr(t, null, a), r.getContext(a).openRange = s, r.dispatch("contextStart", [a, t])), s && n.checkEnd(e)) {
|
|
7333
7333
|
var o = t - s.startIndex + 1, u = r.setEndOffset(o, a);
|
|
7334
7334
|
r.dispatch("contextEnd", [a, u]);
|
|
7335
7335
|
}
|
|
@@ -7342,21 +7342,21 @@ N.prototype.tokenize = function(e) {
|
|
|
7342
7342
|
for (var t = 0; t < r.length; t++) {
|
|
7343
7343
|
var n = r[t], a = new re(r, t);
|
|
7344
7344
|
this.dispatch("next", [a]), this.runContextCheck(a);
|
|
7345
|
-
var s = new
|
|
7345
|
+
var s = new De(n);
|
|
7346
7346
|
this.tokens.push(s), this.dispatch("newToken", [s, a]);
|
|
7347
7347
|
}
|
|
7348
7348
|
return this.dispatch("end", [this.tokens]), this.tokens;
|
|
7349
7349
|
};
|
|
7350
|
-
function
|
|
7350
|
+
function Te(e) {
|
|
7351
7351
|
return /[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e);
|
|
7352
7352
|
}
|
|
7353
|
-
function
|
|
7353
|
+
function In(e) {
|
|
7354
7354
|
return /[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(e);
|
|
7355
7355
|
}
|
|
7356
|
-
function
|
|
7356
|
+
function ke(e) {
|
|
7357
7357
|
return /[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(e);
|
|
7358
7358
|
}
|
|
7359
|
-
function
|
|
7359
|
+
function tr(e) {
|
|
7360
7360
|
return /[A-z]/.test(e);
|
|
7361
7361
|
}
|
|
7362
7362
|
function ui(e) {
|
|
@@ -7365,10 +7365,10 @@ function ui(e) {
|
|
|
7365
7365
|
function J(e) {
|
|
7366
7366
|
this.font = e, this.features = {};
|
|
7367
7367
|
}
|
|
7368
|
-
function
|
|
7368
|
+
function Ce(e) {
|
|
7369
7369
|
this.id = e.id, this.tag = e.tag, this.substitution = e.substitution;
|
|
7370
7370
|
}
|
|
7371
|
-
function
|
|
7371
|
+
function $e(e, r) {
|
|
7372
7372
|
if (!e)
|
|
7373
7373
|
return -1;
|
|
7374
7374
|
switch (r.format) {
|
|
@@ -7389,18 +7389,18 @@ function Ye(e, r) {
|
|
|
7389
7389
|
return -1;
|
|
7390
7390
|
}
|
|
7391
7391
|
function li(e, r) {
|
|
7392
|
-
var t =
|
|
7392
|
+
var t = $e(e, r.coverage);
|
|
7393
7393
|
return t === -1 ? null : e + r.deltaGlyphId;
|
|
7394
7394
|
}
|
|
7395
7395
|
function fi(e, r) {
|
|
7396
|
-
var t =
|
|
7396
|
+
var t = $e(e, r.coverage);
|
|
7397
7397
|
return t === -1 ? null : r.substitute[t];
|
|
7398
7398
|
}
|
|
7399
|
-
function
|
|
7399
|
+
function Fr(e, r) {
|
|
7400
7400
|
for (var t = [], n = 0; n < e.length; n++) {
|
|
7401
7401
|
var a = e[n], s = r.current;
|
|
7402
7402
|
s = Array.isArray(s) ? s[0] : s;
|
|
7403
|
-
var o =
|
|
7403
|
+
var o = $e(s, a);
|
|
7404
7404
|
o !== -1 && t.push(o);
|
|
7405
7405
|
}
|
|
7406
7406
|
return t.length !== e.length ? -1 : t;
|
|
@@ -7409,7 +7409,7 @@ function pi(e, r) {
|
|
|
7409
7409
|
var t = r.inputCoverage.length + r.lookaheadCoverage.length + r.backtrackCoverage.length;
|
|
7410
7410
|
if (e.context.length < t)
|
|
7411
7411
|
return [];
|
|
7412
|
-
var n =
|
|
7412
|
+
var n = Fr(
|
|
7413
7413
|
r.inputCoverage,
|
|
7414
7414
|
e
|
|
7415
7415
|
);
|
|
@@ -7418,17 +7418,17 @@ function pi(e, r) {
|
|
|
7418
7418
|
var a = r.inputCoverage.length - 1;
|
|
7419
7419
|
if (e.lookahead.length < r.lookaheadCoverage.length)
|
|
7420
7420
|
return [];
|
|
7421
|
-
for (var s = e.lookahead.slice(a); s.length &&
|
|
7421
|
+
for (var s = e.lookahead.slice(a); s.length && ke(s[0].char); )
|
|
7422
7422
|
s.shift();
|
|
7423
|
-
var o = new re(s, 0), u =
|
|
7423
|
+
var o = new re(s, 0), u = Fr(
|
|
7424
7424
|
r.lookaheadCoverage,
|
|
7425
7425
|
o
|
|
7426
7426
|
), i = [].concat(e.backtrack);
|
|
7427
|
-
for (i.reverse(); i.length &&
|
|
7427
|
+
for (i.reverse(); i.length && ke(i[0].char); )
|
|
7428
7428
|
i.shift();
|
|
7429
7429
|
if (i.length < r.backtrackCoverage.length)
|
|
7430
7430
|
return [];
|
|
7431
|
-
var l = new re(i, 0), f =
|
|
7431
|
+
var l = new re(i, 0), f = Fr(
|
|
7432
7432
|
r.backtrackCoverage,
|
|
7433
7433
|
l
|
|
7434
7434
|
), c = n.length === r.inputCoverage.length && u.length === r.lookaheadCoverage.length && f.length === r.backtrackCoverage.length, p = [];
|
|
@@ -7445,7 +7445,7 @@ function pi(e, r) {
|
|
|
7445
7445
|
return p;
|
|
7446
7446
|
}
|
|
7447
7447
|
function ci(e, r) {
|
|
7448
|
-
var t = e.current, n =
|
|
7448
|
+
var t = e.current, n = $e(t, r.coverage);
|
|
7449
7449
|
if (n === -1)
|
|
7450
7450
|
return null;
|
|
7451
7451
|
for (var a, s = r.ligatureSets[n], o = 0; o < s.length; o++) {
|
|
@@ -7461,7 +7461,7 @@ function ci(e, r) {
|
|
|
7461
7461
|
return null;
|
|
7462
7462
|
}
|
|
7463
7463
|
function hi(e, r) {
|
|
7464
|
-
var t =
|
|
7464
|
+
var t = $e(e, r.coverage);
|
|
7465
7465
|
return t === -1 ? null : r.sequences[t];
|
|
7466
7466
|
}
|
|
7467
7467
|
J.prototype.getDefaultScriptFeaturesIndexes = function() {
|
|
@@ -7575,35 +7575,35 @@ J.prototype.lookupFeature = function(e) {
|
|
|
7575
7575
|
var f = i[l], c = this.getSubstitutionType(u, f), p = this.getLookupMethod(u, f), h = void 0;
|
|
7576
7576
|
switch (c) {
|
|
7577
7577
|
case "11":
|
|
7578
|
-
h = p(r.current), h && s.splice(t, 1, new
|
|
7578
|
+
h = p(r.current), h && s.splice(t, 1, new Ce({
|
|
7579
7579
|
id: 11,
|
|
7580
7580
|
tag: e.tag,
|
|
7581
7581
|
substitution: h
|
|
7582
7582
|
}));
|
|
7583
7583
|
break;
|
|
7584
7584
|
case "12":
|
|
7585
|
-
h = p(r.current), h && s.splice(t, 1, new
|
|
7585
|
+
h = p(r.current), h && s.splice(t, 1, new Ce({
|
|
7586
7586
|
id: 12,
|
|
7587
7587
|
tag: e.tag,
|
|
7588
7588
|
substitution: h
|
|
7589
7589
|
}));
|
|
7590
7590
|
break;
|
|
7591
7591
|
case "63":
|
|
7592
|
-
h = p(r), Array.isArray(h) && h.length && s.splice(t, 1, new
|
|
7592
|
+
h = p(r), Array.isArray(h) && h.length && s.splice(t, 1, new Ce({
|
|
7593
7593
|
id: 63,
|
|
7594
7594
|
tag: e.tag,
|
|
7595
7595
|
substitution: h
|
|
7596
7596
|
}));
|
|
7597
7597
|
break;
|
|
7598
7598
|
case "41":
|
|
7599
|
-
h = p(r), h && s.splice(t, 1, new
|
|
7599
|
+
h = p(r), h && s.splice(t, 1, new Ce({
|
|
7600
7600
|
id: 41,
|
|
7601
7601
|
tag: e.tag,
|
|
7602
7602
|
substitution: h
|
|
7603
7603
|
}));
|
|
7604
7604
|
break;
|
|
7605
7605
|
case "21":
|
|
7606
|
-
h = p(r.current), h && s.splice(t, 1, new
|
|
7606
|
+
h = p(r.current), h && s.splice(t, 1, new Ce({
|
|
7607
7607
|
id: 21,
|
|
7608
7608
|
tag: e.tag,
|
|
7609
7609
|
substitution: h
|
|
@@ -7647,8 +7647,8 @@ function vi(e) {
|
|
|
7647
7647
|
var r = e.current, t = e.get(-1);
|
|
7648
7648
|
return (
|
|
7649
7649
|
// ? arabic first char
|
|
7650
|
-
t === null &&
|
|
7651
|
-
!
|
|
7650
|
+
t === null && Te(r) || // ? arabic char preceded with a non arabic char
|
|
7651
|
+
!Te(t) && Te(r)
|
|
7652
7652
|
);
|
|
7653
7653
|
}
|
|
7654
7654
|
function di(e) {
|
|
@@ -7656,7 +7656,7 @@ function di(e) {
|
|
|
7656
7656
|
return (
|
|
7657
7657
|
// ? last arabic char
|
|
7658
7658
|
r === null || // ? next char is not arabic
|
|
7659
|
-
!
|
|
7659
|
+
!Te(r)
|
|
7660
7660
|
);
|
|
7661
7661
|
}
|
|
7662
7662
|
var gi = {
|
|
@@ -7667,7 +7667,7 @@ function mi(e) {
|
|
|
7667
7667
|
var r = e.current, t = e.get(-1);
|
|
7668
7668
|
return (
|
|
7669
7669
|
// ? an arabic char preceded with a non arabic char
|
|
7670
|
-
(
|
|
7670
|
+
(Te(r) || ke(r)) && !Te(t)
|
|
7671
7671
|
);
|
|
7672
7672
|
}
|
|
7673
7673
|
function yi(e) {
|
|
@@ -7675,7 +7675,7 @@ function yi(e) {
|
|
|
7675
7675
|
switch (!0) {
|
|
7676
7676
|
case r === null:
|
|
7677
7677
|
return !0;
|
|
7678
|
-
case (!
|
|
7678
|
+
case (!Te(r) && !ke(r)):
|
|
7679
7679
|
var t = ui(r);
|
|
7680
7680
|
if (!t)
|
|
7681
7681
|
return !0;
|
|
@@ -7683,7 +7683,7 @@ function yi(e) {
|
|
|
7683
7683
|
var n = !1;
|
|
7684
7684
|
if (n = e.lookahead.some(
|
|
7685
7685
|
function(a) {
|
|
7686
|
-
return
|
|
7686
|
+
return Te(a) || ke(a);
|
|
7687
7687
|
}
|
|
7688
7688
|
), !n)
|
|
7689
7689
|
return !0;
|
|
@@ -7715,18 +7715,18 @@ function ki(e, r, t) {
|
|
|
7715
7715
|
for (var a = e.substitution.components.length, s = 0; s < a; s++)
|
|
7716
7716
|
n = r[t + s + 1], n.setState("deleted", !0);
|
|
7717
7717
|
}
|
|
7718
|
-
var
|
|
7718
|
+
var Mt = {
|
|
7719
7719
|
11: bi,
|
|
7720
7720
|
12: Si,
|
|
7721
7721
|
63: Ti,
|
|
7722
7722
|
41: ki
|
|
7723
7723
|
};
|
|
7724
|
-
function
|
|
7725
|
-
e instanceof
|
|
7724
|
+
function Qr(e, r, t) {
|
|
7725
|
+
e instanceof Ce && Mt[e.id] && Mt[e.id](e, r, t);
|
|
7726
7726
|
}
|
|
7727
7727
|
function Fi(e) {
|
|
7728
7728
|
for (var r = [].concat(e.backtrack), t = r.length - 1; t >= 0; t--) {
|
|
7729
|
-
var n = r[t], a =
|
|
7729
|
+
var n = r[t], a = In(n), s = ke(n);
|
|
7730
7730
|
if (!a && !s)
|
|
7731
7731
|
return !0;
|
|
7732
7732
|
if (a)
|
|
@@ -7735,10 +7735,10 @@ function Fi(e) {
|
|
|
7735
7735
|
return !1;
|
|
7736
7736
|
}
|
|
7737
7737
|
function Ui(e) {
|
|
7738
|
-
if (
|
|
7738
|
+
if (In(e.current))
|
|
7739
7739
|
return !1;
|
|
7740
7740
|
for (var r = 0; r < e.lookahead.length; r++) {
|
|
7741
|
-
var t = e.lookahead[r], n =
|
|
7741
|
+
var t = e.lookahead[r], n = ke(t);
|
|
7742
7742
|
if (!n)
|
|
7743
7743
|
return !0;
|
|
7744
7744
|
}
|
|
@@ -7763,7 +7763,7 @@ function Ci(e) {
|
|
|
7763
7763
|
0
|
|
7764
7764
|
);
|
|
7765
7765
|
a.forEach(function(u, i) {
|
|
7766
|
-
if (!
|
|
7766
|
+
if (!ke(u.char)) {
|
|
7767
7767
|
s.setCurrentIndex(i), o.setCurrentIndex(i);
|
|
7768
7768
|
var l = 0;
|
|
7769
7769
|
Fi(o) && (l |= 1), Ui(o) && (l |= 2);
|
|
@@ -7788,21 +7788,21 @@ function Ci(e) {
|
|
|
7788
7788
|
if (c instanceof Error)
|
|
7789
7789
|
return console.info(c.message);
|
|
7790
7790
|
c.forEach(function(p, h) {
|
|
7791
|
-
p instanceof
|
|
7791
|
+
p instanceof Ce && (Qr(p, a, h), s.context[h] = p.substitution);
|
|
7792
7792
|
});
|
|
7793
7793
|
}
|
|
7794
7794
|
}
|
|
7795
7795
|
});
|
|
7796
7796
|
}
|
|
7797
7797
|
}
|
|
7798
|
-
function
|
|
7798
|
+
function Bt(e, r) {
|
|
7799
7799
|
var t = e.map(function(n) {
|
|
7800
7800
|
return n.activeState.value;
|
|
7801
7801
|
});
|
|
7802
7802
|
return new re(t, 0);
|
|
7803
7803
|
}
|
|
7804
7804
|
function wi(e) {
|
|
7805
|
-
var r = this, t = "arab", n = this.tokenizer.getRangeTokens(e), a =
|
|
7805
|
+
var r = this, t = "arab", n = this.tokenizer.getRangeTokens(e), a = Bt(n);
|
|
7806
7806
|
a.context.forEach(function(s, o) {
|
|
7807
7807
|
a.setCurrentIndex(o);
|
|
7808
7808
|
var u = r.query.lookupFeature({
|
|
@@ -7812,17 +7812,17 @@ function wi(e) {
|
|
|
7812
7812
|
});
|
|
7813
7813
|
u.length && (u.forEach(
|
|
7814
7814
|
function(i) {
|
|
7815
|
-
return
|
|
7815
|
+
return Qr(i, n, o);
|
|
7816
7816
|
}
|
|
7817
|
-
), a =
|
|
7817
|
+
), a = Bt(n));
|
|
7818
7818
|
});
|
|
7819
7819
|
}
|
|
7820
7820
|
function Ei(e) {
|
|
7821
7821
|
var r = e.current, t = e.get(-1);
|
|
7822
7822
|
return (
|
|
7823
7823
|
// ? latin first char
|
|
7824
|
-
t === null &&
|
|
7825
|
-
!
|
|
7824
|
+
t === null && tr(r) || // ? latin char preceded with a non latin char
|
|
7825
|
+
!tr(t) && tr(r)
|
|
7826
7826
|
);
|
|
7827
7827
|
}
|
|
7828
7828
|
function Oi(e) {
|
|
@@ -7830,21 +7830,21 @@ function Oi(e) {
|
|
|
7830
7830
|
return (
|
|
7831
7831
|
// ? last latin char
|
|
7832
7832
|
r === null || // ? next char is not latin
|
|
7833
|
-
!
|
|
7833
|
+
!tr(r)
|
|
7834
7834
|
);
|
|
7835
7835
|
}
|
|
7836
7836
|
var Li = {
|
|
7837
7837
|
startCheck: Ei,
|
|
7838
7838
|
endCheck: Oi
|
|
7839
7839
|
};
|
|
7840
|
-
function
|
|
7840
|
+
function It(e, r) {
|
|
7841
7841
|
var t = e.map(function(n) {
|
|
7842
7842
|
return n.activeState.value;
|
|
7843
7843
|
});
|
|
7844
7844
|
return new re(t, 0);
|
|
7845
7845
|
}
|
|
7846
7846
|
function Ri(e) {
|
|
7847
|
-
var r = this, t = "latn", n = this.tokenizer.getRangeTokens(e), a =
|
|
7847
|
+
var r = this, t = "latn", n = this.tokenizer.getRangeTokens(e), a = It(n);
|
|
7848
7848
|
a.context.forEach(function(s, o) {
|
|
7849
7849
|
a.setCurrentIndex(o);
|
|
7850
7850
|
var u = r.query.lookupFeature({
|
|
@@ -7854,9 +7854,9 @@ function Ri(e) {
|
|
|
7854
7854
|
});
|
|
7855
7855
|
u.length && (u.forEach(
|
|
7856
7856
|
function(i) {
|
|
7857
|
-
return
|
|
7857
|
+
return Qr(i, n, o);
|
|
7858
7858
|
}
|
|
7859
|
-
), a =
|
|
7859
|
+
), a = It(n));
|
|
7860
7860
|
});
|
|
7861
7861
|
}
|
|
7862
7862
|
function ae(e) {
|
|
@@ -7870,7 +7870,7 @@ ae.prototype.contextChecks = {
|
|
|
7870
7870
|
arabicWordCheck: gi,
|
|
7871
7871
|
arabicSentenceCheck: xi
|
|
7872
7872
|
};
|
|
7873
|
-
function
|
|
7873
|
+
function Ur(e) {
|
|
7874
7874
|
var r = this.contextChecks[e + "Check"];
|
|
7875
7875
|
return this.tokenizer.registerContextChecker(
|
|
7876
7876
|
e,
|
|
@@ -7879,7 +7879,7 @@ function kr(e) {
|
|
|
7879
7879
|
);
|
|
7880
7880
|
}
|
|
7881
7881
|
function Di() {
|
|
7882
|
-
return
|
|
7882
|
+
return Ur.call(this, "latinWord"), Ur.call(this, "arabicWord"), Ur.call(this, "arabicSentence"), this.tokenizer.tokenize(this.text);
|
|
7883
7883
|
}
|
|
7884
7884
|
function Ai() {
|
|
7885
7885
|
var e = this, r = this.tokenizer.getContextRanges("arabicSentence");
|
|
@@ -7914,28 +7914,28 @@ ae.prototype.applyFeatures = function(e, r) {
|
|
|
7914
7914
|
ae.prototype.registerModifier = function(e, r, t) {
|
|
7915
7915
|
this.tokenizer.registerModifier(e, r, t);
|
|
7916
7916
|
};
|
|
7917
|
-
function
|
|
7917
|
+
function Kr() {
|
|
7918
7918
|
if (this.tokenizer.registeredModifiers.indexOf("glyphIndex") === -1)
|
|
7919
7919
|
throw new Error(
|
|
7920
7920
|
"glyphIndex modifier is required to apply arabic presentation features."
|
|
7921
7921
|
);
|
|
7922
7922
|
}
|
|
7923
|
-
function
|
|
7923
|
+
function Mi() {
|
|
7924
7924
|
var e = this, r = "arab";
|
|
7925
7925
|
if (this.featuresTags.hasOwnProperty(r)) {
|
|
7926
|
-
|
|
7926
|
+
Kr.call(this);
|
|
7927
7927
|
var t = this.tokenizer.getContextRanges("arabicWord");
|
|
7928
7928
|
t.forEach(function(n) {
|
|
7929
7929
|
Ci.call(e, n);
|
|
7930
7930
|
});
|
|
7931
7931
|
}
|
|
7932
7932
|
}
|
|
7933
|
-
function
|
|
7933
|
+
function Bi() {
|
|
7934
7934
|
var e = this, r = "arab";
|
|
7935
7935
|
if (this.featuresTags.hasOwnProperty(r)) {
|
|
7936
7936
|
var t = this.featuresTags[r];
|
|
7937
7937
|
if (t.indexOf("rlig") !== -1) {
|
|
7938
|
-
|
|
7938
|
+
Kr.call(this);
|
|
7939
7939
|
var n = this.tokenizer.getContextRanges("arabicWord");
|
|
7940
7940
|
n.forEach(function(a) {
|
|
7941
7941
|
wi.call(e, a);
|
|
@@ -7948,7 +7948,7 @@ function Ii() {
|
|
|
7948
7948
|
if (this.featuresTags.hasOwnProperty(r)) {
|
|
7949
7949
|
var t = this.featuresTags[r];
|
|
7950
7950
|
if (t.indexOf("liga") !== -1) {
|
|
7951
|
-
|
|
7951
|
+
Kr.call(this);
|
|
7952
7952
|
var n = this.tokenizer.getContextRanges("latinWord");
|
|
7953
7953
|
n.forEach(function(a) {
|
|
7954
7954
|
Ri.call(e, a);
|
|
@@ -7960,7 +7960,7 @@ ae.prototype.checkContextReady = function(e) {
|
|
|
7960
7960
|
return !!this.tokenizer.getContext(e);
|
|
7961
7961
|
};
|
|
7962
7962
|
ae.prototype.applyFeaturesToContexts = function() {
|
|
7963
|
-
this.checkContextReady("arabicWord") && (
|
|
7963
|
+
this.checkContextReady("arabicWord") && (Mi.call(this), Bi.call(this)), this.checkContextReady("latinWord") && Ii.call(this), this.checkContextReady("arabicSentence") && Ai.call(this);
|
|
7964
7964
|
};
|
|
7965
7965
|
ae.prototype.processText = function(e) {
|
|
7966
7966
|
(!this.text || this.text !== e) && (this.setText(e), Di.call(this), this.applyFeaturesToContexts());
|
|
@@ -8002,12 +8002,12 @@ function I(e) {
|
|
|
8002
8002
|
usWidthClass: e.widthClass || this.usWidthClasses.MEDIUM,
|
|
8003
8003
|
fsSelection: e.fsSelection || this.fsSelectionValues.REGULAR
|
|
8004
8004
|
}, e.tables.os2)
|
|
8005
|
-
})), this.supported = !0, this.glyphs = new
|
|
8005
|
+
})), this.supported = !0, this.glyphs = new ue.GlyphSet(this, e.glyphs || []), this.encoding = new Jt(this), this.position = new Ve(this), this.substitution = new j(this), this.tables = this.tables || {}, this._push = null, this._hmtxTableData = {}, Object.defineProperty(this, "hinting", {
|
|
8006
8006
|
get: function() {
|
|
8007
8007
|
if (this._hinting)
|
|
8008
8008
|
return this._hinting;
|
|
8009
8009
|
if (this.outlinesFormat === "truetype")
|
|
8010
|
-
return this._hinting = new
|
|
8010
|
+
return this._hinting = new Dn(this);
|
|
8011
8011
|
}
|
|
8012
8012
|
});
|
|
8013
8013
|
}
|
|
@@ -8203,7 +8203,7 @@ I.prototype.usWeightClasses = {
|
|
|
8203
8203
|
EXTRA_BOLD: 800,
|
|
8204
8204
|
BLACK: 900
|
|
8205
8205
|
};
|
|
8206
|
-
function
|
|
8206
|
+
function Pn(e, r) {
|
|
8207
8207
|
var t = JSON.stringify(e), n = 256;
|
|
8208
8208
|
for (var a in r) {
|
|
8209
8209
|
var s = parseInt(a);
|
|
@@ -8216,7 +8216,7 @@ function Bn(e, r) {
|
|
|
8216
8216
|
return r[n] = e, n;
|
|
8217
8217
|
}
|
|
8218
8218
|
function Pi(e, r, t) {
|
|
8219
|
-
var n =
|
|
8219
|
+
var n = Pn(r.name, t);
|
|
8220
8220
|
return [
|
|
8221
8221
|
{ name: "tag_" + e, type: "TAG", value: r.tag },
|
|
8222
8222
|
{ name: "minValue_" + e, type: "FIXED", value: r.minValue << 16 },
|
|
@@ -8231,7 +8231,7 @@ function Gi(e, r, t) {
|
|
|
8231
8231
|
return n.tag = a.parseTag(), n.minValue = a.parseFixed(), n.defaultValue = a.parseFixed(), n.maxValue = a.parseFixed(), a.skip("uShort", 1), n.name = t[a.parseUShort()] || {}, n;
|
|
8232
8232
|
}
|
|
8233
8233
|
function Ni(e, r, t, n) {
|
|
8234
|
-
for (var a =
|
|
8234
|
+
for (var a = Pn(r.name, n), s = [
|
|
8235
8235
|
{ name: "nameID_" + e, type: "USHORT", value: a },
|
|
8236
8236
|
{ name: "flags_" + e, type: "USHORT", value: 0 }
|
|
8237
8237
|
], o = 0; o < t.length; ++o) {
|
|
@@ -8297,12 +8297,12 @@ var _i = { make: Wi, parse: zi }, Vi = function() {
|
|
|
8297
8297
|
return { coordinate: this.parseShort() };
|
|
8298
8298
|
}, Xi = function() {
|
|
8299
8299
|
return this.parseList(v.pointer(qi));
|
|
8300
|
-
},
|
|
8300
|
+
}, $i = function() {
|
|
8301
8301
|
return {
|
|
8302
8302
|
coverage: this.parsePointer(v.coverage),
|
|
8303
8303
|
ligGlyphs: this.parseList(v.pointer(Xi))
|
|
8304
8304
|
};
|
|
8305
|
-
},
|
|
8305
|
+
}, Yi = function() {
|
|
8306
8306
|
return this.parseUShort(), this.parseList(v.pointer(v.coverage));
|
|
8307
8307
|
};
|
|
8308
8308
|
function Zi(e, r) {
|
|
@@ -8316,10 +8316,10 @@ function Zi(e, r) {
|
|
|
8316
8316
|
version: n,
|
|
8317
8317
|
classDef: t.parsePointer(v.classDef),
|
|
8318
8318
|
attachList: t.parsePointer(Vi),
|
|
8319
|
-
ligCaretList: t.parsePointer(
|
|
8319
|
+
ligCaretList: t.parsePointer($i),
|
|
8320
8320
|
markAttachClassDef: t.parsePointer(v.classDef)
|
|
8321
8321
|
};
|
|
8322
|
-
return n >= 1.2 && (a.markGlyphSets = t.parsePointer(
|
|
8322
|
+
return n >= 1.2 && (a.markGlyphSets = t.parsePointer(Yi)), a;
|
|
8323
8323
|
}
|
|
8324
8324
|
var Qi = { parse: Zi }, te = new Array(10);
|
|
8325
8325
|
te[1] = function() {
|
|
@@ -8476,7 +8476,7 @@ function iu(e, r) {
|
|
|
8476
8476
|
t.readFile(e, function(n, a) {
|
|
8477
8477
|
if (n)
|
|
8478
8478
|
return r(n.message);
|
|
8479
|
-
r(null,
|
|
8479
|
+
r(null, Un(a));
|
|
8480
8480
|
});
|
|
8481
8481
|
}
|
|
8482
8482
|
function uu(e, r) {
|
|
@@ -8487,7 +8487,7 @@ function uu(e, r) {
|
|
|
8487
8487
|
r("Font could not be loaded");
|
|
8488
8488
|
}, t.send();
|
|
8489
8489
|
}
|
|
8490
|
-
function
|
|
8490
|
+
function Pt(e, r) {
|
|
8491
8491
|
for (var t = [], n = 12, a = 0; a < r; a += 1) {
|
|
8492
8492
|
var s = k.getTag(e, n), o = k.getULong(e, n + 4), u = k.getULong(e, n + 8), i = k.getULong(e, n + 12);
|
|
8493
8493
|
t.push({ tag: s, checksum: o, offset: u, length: i, compression: !1 }), n += 16;
|
|
@@ -8517,13 +8517,13 @@ function W(e, r) {
|
|
|
8517
8517
|
} else
|
|
8518
8518
|
return { data: e, offset: r.offset };
|
|
8519
8519
|
}
|
|
8520
|
-
function
|
|
8520
|
+
function jr(e, r) {
|
|
8521
8521
|
r = r ?? {};
|
|
8522
8522
|
var t, n, a = new I({ empty: !0 }), s = new DataView(e, 0), o, u = [], i = k.getTag(s, 0);
|
|
8523
8523
|
if (i === "\0\0\0" || i === "true" || i === "typ1")
|
|
8524
|
-
a.outlinesFormat = "truetype", o = k.getUShort(s, 4), u =
|
|
8524
|
+
a.outlinesFormat = "truetype", o = k.getUShort(s, 4), u = Pt(s, o);
|
|
8525
8525
|
else if (i === "OTTO")
|
|
8526
|
-
a.outlinesFormat = "cff", o = k.getUShort(s, 4), u =
|
|
8526
|
+
a.outlinesFormat = "cff", o = k.getUShort(s, 4), u = Pt(s, o);
|
|
8527
8527
|
else if (i === "wOFF") {
|
|
8528
8528
|
var l = k.getTag(s, 4);
|
|
8529
8529
|
if (l === "\0\0\0")
|
|
@@ -8539,7 +8539,7 @@ function Zr(e, r) {
|
|
|
8539
8539
|
var C = u[B], F = void 0;
|
|
8540
8540
|
switch (C.tag) {
|
|
8541
8541
|
case "cmap":
|
|
8542
|
-
F = W(s, C), a.tables.cmap =
|
|
8542
|
+
F = W(s, C), a.tables.cmap = jt.parse(F.data, F.offset), a.encoding = new en(a.tables.cmap);
|
|
8543
8543
|
break;
|
|
8544
8544
|
case "cvt ":
|
|
8545
8545
|
F = W(s, C), w = new k.Parser(F.data, F.offset), a.tables.cvt = w.parseShortList(C.length / 2);
|
|
@@ -8551,28 +8551,28 @@ function Zr(e, r) {
|
|
|
8551
8551
|
F = W(s, C), w = new k.Parser(F.data, F.offset), a.tables.fpgm = w.parseByteList(C.length);
|
|
8552
8552
|
break;
|
|
8553
8553
|
case "head":
|
|
8554
|
-
F = W(s, C), a.tables.head =
|
|
8554
|
+
F = W(s, C), a.tables.head = pn.parse(F.data, F.offset), a.unitsPerEm = a.tables.head.unitsPerEm, t = a.tables.head.indexToLocFormat;
|
|
8555
8555
|
break;
|
|
8556
8556
|
case "hhea":
|
|
8557
|
-
F = W(s, C), a.tables.hhea =
|
|
8557
|
+
F = W(s, C), a.tables.hhea = cn.parse(F.data, F.offset), a.ascender = a.tables.hhea.ascender, a.descender = a.tables.hhea.descender, a.numberOfHMetrics = a.tables.hhea.numberOfHMetrics;
|
|
8558
8558
|
break;
|
|
8559
8559
|
case "hmtx":
|
|
8560
8560
|
m = C;
|
|
8561
8561
|
break;
|
|
8562
8562
|
case "ltag":
|
|
8563
|
-
F = W(s, C), n =
|
|
8563
|
+
F = W(s, C), n = vn.parse(F.data, F.offset);
|
|
8564
8564
|
break;
|
|
8565
8565
|
case "maxp":
|
|
8566
|
-
F = W(s, C), a.tables.maxp =
|
|
8566
|
+
F = W(s, C), a.tables.maxp = dn.parse(F.data, F.offset), a.numGlyphs = a.tables.maxp.numGlyphs;
|
|
8567
8567
|
break;
|
|
8568
8568
|
case "name":
|
|
8569
8569
|
y = C;
|
|
8570
8570
|
break;
|
|
8571
8571
|
case "OS/2":
|
|
8572
|
-
F = W(s, C), a.tables.os2 =
|
|
8572
|
+
F = W(s, C), a.tables.os2 = Ir.parse(F.data, F.offset);
|
|
8573
8573
|
break;
|
|
8574
8574
|
case "post":
|
|
8575
|
-
F = W(s, C), a.tables.post =
|
|
8575
|
+
F = W(s, C), a.tables.post = Sn.parse(F.data, F.offset), a.glyphNames = new qr(a.tables.post);
|
|
8576
8576
|
break;
|
|
8577
8577
|
case "prep":
|
|
8578
8578
|
F = W(s, C), w = new k.Parser(F.data, F.offset), a.tables.prep = w.parseByteList(C.length);
|
|
@@ -8604,18 +8604,18 @@ function Zr(e, r) {
|
|
|
8604
8604
|
}
|
|
8605
8605
|
}
|
|
8606
8606
|
var R = W(s, y);
|
|
8607
|
-
if (a.tables.name =
|
|
8608
|
-
var
|
|
8609
|
-
a.glyphs =
|
|
8607
|
+
if (a.tables.name = bn.parse(R.data, R.offset, n), a.names = a.tables.name, p && U) {
|
|
8608
|
+
var D = t === 0, A = W(s, U), H = ou.parse(A.data, A.offset, a.numGlyphs, D), Z = W(s, p);
|
|
8609
|
+
a.glyphs = On.parse(Z.data, Z.offset, H, a, r);
|
|
8610
8610
|
} else if (f) {
|
|
8611
8611
|
var G = W(s, f);
|
|
8612
|
-
|
|
8612
|
+
fn.parse(G.data, G.offset, a, r);
|
|
8613
8613
|
} else
|
|
8614
8614
|
throw new Error("Font doesn't contain TrueType or CFF outlines.");
|
|
8615
8615
|
var z = W(s, m);
|
|
8616
|
-
if (
|
|
8617
|
-
var
|
|
8618
|
-
a.kerningPairs = au.parse(
|
|
8616
|
+
if (hn.parse(a, z.data, z.offset, a.numberOfHMetrics, a.numGlyphs, a.glyphs, r), ba(a, r), x) {
|
|
8617
|
+
var $ = W(s, x);
|
|
8618
|
+
a.kerningPairs = au.parse($.data, $.offset);
|
|
8619
8619
|
} else
|
|
8620
8620
|
a.kerningPairs = {};
|
|
8621
8621
|
if (h) {
|
|
@@ -8628,15 +8628,15 @@ function Zr(e, r) {
|
|
|
8628
8628
|
}
|
|
8629
8629
|
if (g) {
|
|
8630
8630
|
var V = W(s, g);
|
|
8631
|
-
a.tables.gsub =
|
|
8631
|
+
a.tables.gsub = Tn.parse(V.data, V.offset);
|
|
8632
8632
|
}
|
|
8633
8633
|
if (c) {
|
|
8634
|
-
var
|
|
8635
|
-
a.tables.fvar = _i.parse(
|
|
8634
|
+
var Y = W(s, c);
|
|
8635
|
+
a.tables.fvar = _i.parse(Y.data, Y.offset, a.names);
|
|
8636
8636
|
}
|
|
8637
8637
|
if (L) {
|
|
8638
8638
|
var M = W(s, L);
|
|
8639
|
-
a.tables.meta =
|
|
8639
|
+
a.tables.meta = kn.parse(M.data, M.offset), a.metas = a.tables.meta;
|
|
8640
8640
|
}
|
|
8641
8641
|
return a;
|
|
8642
8642
|
}
|
|
@@ -8652,7 +8652,7 @@ function fu(e, r, t) {
|
|
|
8652
8652
|
}
|
|
8653
8653
|
var l;
|
|
8654
8654
|
try {
|
|
8655
|
-
l =
|
|
8655
|
+
l = jr(i, t);
|
|
8656
8656
|
} catch (f) {
|
|
8657
8657
|
if (r)
|
|
8658
8658
|
return r(f, null);
|
|
@@ -8666,7 +8666,7 @@ function fu(e, r, t) {
|
|
|
8666
8666
|
}
|
|
8667
8667
|
function pu(e, r) {
|
|
8668
8668
|
var t = require("fs"), n = t.readFileSync(e);
|
|
8669
|
-
return
|
|
8669
|
+
return jr(Un(n), r);
|
|
8670
8670
|
}
|
|
8671
8671
|
var cu = /* @__PURE__ */ Object.freeze({
|
|
8672
8672
|
__proto__: null,
|
|
@@ -8675,7 +8675,7 @@ var cu = /* @__PURE__ */ Object.freeze({
|
|
|
8675
8675
|
Path: X,
|
|
8676
8676
|
BoundingBox: he,
|
|
8677
8677
|
_parse: k,
|
|
8678
|
-
parse:
|
|
8678
|
+
parse: jr,
|
|
8679
8679
|
load: fu,
|
|
8680
8680
|
loadSync: pu
|
|
8681
8681
|
});
|
|
@@ -8696,8 +8696,8 @@ function hu(e, r) {
|
|
|
8696
8696
|
}
|
|
8697
8697
|
});
|
|
8698
8698
|
}
|
|
8699
|
-
const
|
|
8700
|
-
const t =
|
|
8699
|
+
const Gr = /* @__PURE__ */ new Map(), Zu = () => Gr, vu = async (e, r = !1) => {
|
|
8700
|
+
const t = Gr.get(e);
|
|
8701
8701
|
if (t) {
|
|
8702
8702
|
if (r && !t.svgGlyphs) {
|
|
8703
8703
|
const i = await fetch(e);
|
|
@@ -8722,8 +8722,8 @@ const Ir = /* @__PURE__ */ new Map(), Zu = () => Ir, vu = async (e, r = !1) => {
|
|
|
8722
8722
|
o = await i(a);
|
|
8723
8723
|
}
|
|
8724
8724
|
const u = hu(s, o);
|
|
8725
|
-
return
|
|
8726
|
-
}, du = 0.03125,
|
|
8725
|
+
return Gr.set(e, u), u;
|
|
8726
|
+
}, du = 0.03125, Gn = 1.1, gu = 0.2, Ye = {
|
|
8727
8727
|
outlineWidth: du,
|
|
8728
8728
|
letterSpacing: 0,
|
|
8729
8729
|
letterSpacingOutline: 0
|
|
@@ -8773,8 +8773,8 @@ const yu = (e) => e === void 0 || e === "flat" ? { type: "flat" } : e === "curve
|
|
|
8773
8773
|
break;
|
|
8774
8774
|
}
|
|
8775
8775
|
}
|
|
8776
|
-
return l += s * (n *
|
|
8777
|
-
},
|
|
8776
|
+
return l += s * (n * Gn), `M 0 ${l} L ${o} ${l}`;
|
|
8777
|
+
}, Nn = ({
|
|
8778
8778
|
boxDimensions: e,
|
|
8779
8779
|
baseline: r,
|
|
8780
8780
|
textHeight: t,
|
|
@@ -8782,7 +8782,7 @@ const yu = (e) => e === void 0 || e === "flat" ? { type: "flat" } : e === "curve
|
|
|
8782
8782
|
}) => {
|
|
8783
8783
|
const { width: a, height: s } = e, o = t * gu, u = t + o, i = n === "top" ? 0 : s / 2 - u / 2, l = r + i, f = l + o;
|
|
8784
8784
|
if (n !== "top" && (f > s || l - t < 0))
|
|
8785
|
-
return
|
|
8785
|
+
return Nn({
|
|
8786
8786
|
boxDimensions: e,
|
|
8787
8787
|
baseline: r,
|
|
8788
8788
|
textHeight: t,
|
|
@@ -8796,7 +8796,7 @@ const yu = (e) => e === void 0 || e === "flat" ? { type: "flat" } : e === "curve
|
|
|
8796
8796
|
r + i
|
|
8797
8797
|
), U = `M ${p.toSVGString()}`, y = `Q ${m.toSVGString()} ${h.toSVGString()}`, L = `Q ${x.toSVGString()} ${d.toSVGString()}`;
|
|
8798
8798
|
return `${U} ${y} ${L}`;
|
|
8799
|
-
},
|
|
8799
|
+
}, Hn = (e) => {
|
|
8800
8800
|
const r = ["I", "l", "1"];
|
|
8801
8801
|
for (const t of r) {
|
|
8802
8802
|
const n = e.charToGlyph(t);
|
|
@@ -8806,35 +8806,35 @@ const yu = (e) => e === void 0 || e === "flat" ? { type: "flat" } : e === "curve
|
|
|
8806
8806
|
return console.error(
|
|
8807
8807
|
'No standard character found for fixed height calculation. Using "I" as default.'
|
|
8808
8808
|
), "I";
|
|
8809
|
-
},
|
|
8809
|
+
}, Cr = 100, Su = ({
|
|
8810
8810
|
font: e,
|
|
8811
8811
|
boxDimensions: r,
|
|
8812
8812
|
physicalSize: t,
|
|
8813
|
-
spacing: n =
|
|
8813
|
+
spacing: n = Ye
|
|
8814
8814
|
}) => {
|
|
8815
8815
|
const a = t;
|
|
8816
8816
|
if (a[1] !== r.physicalUnits)
|
|
8817
8817
|
throw new Error(
|
|
8818
8818
|
`Mismatched units between physicalFontSize (${a[1]}) and boxDimensions (${r.physicalUnits})`
|
|
8819
8819
|
);
|
|
8820
|
-
const { outlineWidth: s } = n, o =
|
|
8820
|
+
const { outlineWidth: s } = n, o = Hn(e), i = e.getPath(
|
|
8821
8821
|
o,
|
|
8822
8822
|
0,
|
|
8823
8823
|
0,
|
|
8824
|
-
|
|
8824
|
+
Cr
|
|
8825
8825
|
).getBoundingBox();
|
|
8826
8826
|
let l = i.y2 - i.y1;
|
|
8827
|
-
if (s > 0) {
|
|
8828
|
-
const d =
|
|
8827
|
+
if (console.debug("[TR] reference char:", o, "| bbox at size 100:", `y1=${i.y1.toFixed(2)} y2=${i.y2.toFixed(2)} h=${l.toFixed(2)}`), s > 0) {
|
|
8828
|
+
const d = Cr * s;
|
|
8829
8829
|
l += d * 2;
|
|
8830
8830
|
}
|
|
8831
8831
|
const c = l / r.height * r.physicalHeight, p = a[0] / c;
|
|
8832
|
-
return
|
|
8833
|
-
},
|
|
8832
|
+
return Cr * p;
|
|
8833
|
+
}, Gt = ({
|
|
8834
8834
|
font: e,
|
|
8835
8835
|
text: r,
|
|
8836
8836
|
fontSize: t,
|
|
8837
|
-
spacing: n =
|
|
8837
|
+
spacing: n = Ye
|
|
8838
8838
|
}) => {
|
|
8839
8839
|
const { outlineWidth: a, letterSpacing: s, letterSpacingOutline: o } = n, i = e.getPath(r, 0, 0, t).getBoundingBox(), l = a ? t * a * 2 : 0, f = a > 0 ? o : s, c = r.length > 1 ? f * t * (r.length - 1) : 0, p = i.x2 - i.x1 + l + c, h = i.y2 - i.y1 + l, d = i.y1 * -1 + l / 2;
|
|
8840
8840
|
return {
|
|
@@ -8842,7 +8842,7 @@ const yu = (e) => e === void 0 || e === "flat" ? { type: "flat" } : e === "curve
|
|
|
8842
8842
|
height: h,
|
|
8843
8843
|
baseline: d
|
|
8844
8844
|
};
|
|
8845
|
-
},
|
|
8845
|
+
}, cr = Vn, Tu = qn, ku = () => new cr().parseFromString("<svg></svg>", "image/svg+xml"), Fu = ku();
|
|
8846
8846
|
Fu.readyState = "complete";
|
|
8847
8847
|
const Uu = {
|
|
8848
8848
|
aliceblue: "#f0f8ff",
|
|
@@ -8996,12 +8996,12 @@ const Uu = {
|
|
|
8996
8996
|
}, Cu = (e) => {
|
|
8997
8997
|
let r = Array.from(e), t = !1;
|
|
8998
8998
|
return r[0] === "#" && (r.shift(), t = !0), r.length === 3 && (r = r.map((n) => `${n}${n}`)), `${t ? "#" : ""}${r.join("").toLowerCase()}`;
|
|
8999
|
-
},
|
|
8999
|
+
}, wr = (e) => {
|
|
9000
9000
|
const r = typeof e == "string" ? Number.parseInt(e, 10) : e;
|
|
9001
9001
|
return Math.max(0, Math.min(255, Math.round(r))).toString(16).padStart(2, "0");
|
|
9002
|
-
},
|
|
9002
|
+
}, Nt = (...e) => {
|
|
9003
9003
|
const [r, t, n] = Array.isArray(e[0]) ? e[0] : e;
|
|
9004
|
-
return `#${
|
|
9004
|
+
return `#${wr(r)}${wr(t)}${wr(n)}`;
|
|
9005
9005
|
}, wu = (e, r, t) => {
|
|
9006
9006
|
if (r === 0) {
|
|
9007
9007
|
const f = Math.round(t * 255);
|
|
@@ -9014,7 +9014,7 @@ const Uu = {
|
|
|
9014
9014
|
Math.round((i + o) * 255),
|
|
9015
9015
|
Math.round((l + o) * 255)
|
|
9016
9016
|
];
|
|
9017
|
-
}, Eu = (e) => /^#?([0-9a-f]{3}|[0-9a-f]{6})$/i.test(e),
|
|
9017
|
+
}, Eu = (e) => /^#?([0-9a-f]{3}|[0-9a-f]{6})$/i.test(e), Nr = (e) => {
|
|
9018
9018
|
const r = e.trim().toLowerCase();
|
|
9019
9019
|
if (r.startsWith("#") || /^[0-9a-f]{3}([0-9a-f]{3})?$/.test(r))
|
|
9020
9020
|
return Eu(r) ? Cu(r) : void 0;
|
|
@@ -9022,7 +9022,7 @@ const Uu = {
|
|
|
9022
9022
|
const n = r.match(
|
|
9023
9023
|
/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*[\d.]+\s*)?\)/
|
|
9024
9024
|
);
|
|
9025
|
-
return n ?
|
|
9025
|
+
return n ? Nt(
|
|
9026
9026
|
Number.parseInt(n[1], 10),
|
|
9027
9027
|
Number.parseInt(n[2], 10),
|
|
9028
9028
|
Number.parseInt(n[3], 10)
|
|
@@ -9034,11 +9034,11 @@ const Uu = {
|
|
|
9034
9034
|
);
|
|
9035
9035
|
if (!n) return;
|
|
9036
9036
|
const a = Number.parseInt(n[1], 10), s = Number.parseFloat(n[2]) / 100, o = Number.parseFloat(n[3]) / 100, [u, i, l] = wu(a, s, o);
|
|
9037
|
-
return
|
|
9037
|
+
return Nt(u, i, l);
|
|
9038
9038
|
}
|
|
9039
9039
|
const t = Uu[r];
|
|
9040
9040
|
if (t) return t;
|
|
9041
|
-
},
|
|
9041
|
+
}, xe = {
|
|
9042
9042
|
circle: "circle",
|
|
9043
9043
|
ellipse: "ellipse",
|
|
9044
9044
|
rect: "rect",
|
|
@@ -9047,46 +9047,46 @@ const Uu = {
|
|
|
9047
9047
|
polygon: "polygon",
|
|
9048
9048
|
polyline: "polyline",
|
|
9049
9049
|
stop: "stop"
|
|
9050
|
-
},
|
|
9050
|
+
}, lr = {
|
|
9051
9051
|
fill: "fill",
|
|
9052
9052
|
stroke: "stroke"
|
|
9053
9053
|
}, Ou = {
|
|
9054
9054
|
tiling: [
|
|
9055
|
-
|
|
9056
|
-
|
|
9057
|
-
|
|
9058
|
-
|
|
9059
|
-
|
|
9060
|
-
|
|
9061
|
-
|
|
9062
|
-
|
|
9063
|
-
`[${
|
|
9064
|
-
`[${
|
|
9055
|
+
xe.circle,
|
|
9056
|
+
xe.ellipse,
|
|
9057
|
+
xe.rect,
|
|
9058
|
+
xe.line,
|
|
9059
|
+
xe.path,
|
|
9060
|
+
xe.polygon,
|
|
9061
|
+
xe.polyline,
|
|
9062
|
+
xe.stop,
|
|
9063
|
+
`[${lr.fill}]`,
|
|
9064
|
+
`[${lr.stroke}]`
|
|
9065
9065
|
]
|
|
9066
9066
|
}, Lu = (e) => Array.from(
|
|
9067
9067
|
e.querySelectorAll(
|
|
9068
9068
|
Ou.tiling.map((r) => `*:not(clipPath) > ${r}`).join(", ")
|
|
9069
9069
|
)
|
|
9070
9070
|
), Ru = (e) => {
|
|
9071
|
-
const r = e.getAttribute(
|
|
9071
|
+
const r = e.getAttribute(lr.stroke);
|
|
9072
9072
|
return r === "none" || !r ? !1 : r;
|
|
9073
|
-
},
|
|
9073
|
+
}, Er = (e) => {
|
|
9074
9074
|
if (!(e === "none" || e === "transparent" || e.startsWith("url(")))
|
|
9075
|
-
return
|
|
9075
|
+
return Nr(e);
|
|
9076
9076
|
}, Du = (e) => {
|
|
9077
9077
|
const r = Lu(e).reduce(
|
|
9078
9078
|
(t, n) => {
|
|
9079
|
-
const a = n.getAttribute("stop-color"), s = n.getAttribute(
|
|
9079
|
+
const a = n.getAttribute("stop-color"), s = n.getAttribute(lr.fill) || "#000", o = Ru(n);
|
|
9080
9080
|
if (!a) {
|
|
9081
|
-
const u =
|
|
9081
|
+
const u = Er(s);
|
|
9082
9082
|
u && t.add(u);
|
|
9083
9083
|
}
|
|
9084
9084
|
if (a) {
|
|
9085
|
-
const u =
|
|
9085
|
+
const u = Er(a);
|
|
9086
9086
|
u && t.add(u);
|
|
9087
9087
|
}
|
|
9088
9088
|
if (o) {
|
|
9089
|
-
const u =
|
|
9089
|
+
const u = Er(o);
|
|
9090
9090
|
u && t.add(u);
|
|
9091
9091
|
}
|
|
9092
9092
|
return t;
|
|
@@ -9095,14 +9095,14 @@ const Uu = {
|
|
|
9095
9095
|
);
|
|
9096
9096
|
return Array.from(r);
|
|
9097
9097
|
}, Au = (e) => {
|
|
9098
|
-
const r = new
|
|
9098
|
+
const r = new cr().parseFromString(e, "image/svg+xml").querySelector("svg");
|
|
9099
9099
|
return r ? Du(r) : [];
|
|
9100
9100
|
};
|
|
9101
|
-
function
|
|
9101
|
+
function Wn(e) {
|
|
9102
9102
|
const r = e.trim(), t = r.startsWith("<svg") || r.startsWith("<?xml"), n = t ? r : `<svg>${r}</svg>`;
|
|
9103
|
-
return { doc: new
|
|
9103
|
+
return { doc: new cr().parseFromString(n, "image/svg+xml"), wasWrapped: !t };
|
|
9104
9104
|
}
|
|
9105
|
-
function
|
|
9105
|
+
function zn(e, r) {
|
|
9106
9106
|
const t = e.querySelector("svg");
|
|
9107
9107
|
return t ? r ? t.innerHTML : t.outerHTML : "";
|
|
9108
9108
|
}
|
|
@@ -9116,16 +9116,16 @@ function Qu(e) {
|
|
|
9116
9116
|
t.add(a);
|
|
9117
9117
|
return Array.from(t);
|
|
9118
9118
|
}
|
|
9119
|
-
function
|
|
9119
|
+
function Mu(e) {
|
|
9120
9120
|
return !!e && e !== "none" && e !== "transparent" && !e.startsWith("url(");
|
|
9121
9121
|
}
|
|
9122
|
-
function
|
|
9123
|
-
const t = new
|
|
9124
|
-
return t ? t.innerHTML.trim() : "";
|
|
9122
|
+
function Bu(e) {
|
|
9123
|
+
const t = new cr().parseFromString(e, "image/svg+xml").querySelector("svg");
|
|
9124
|
+
return t ? (console.debug("[TR] SVG glyph <svg> original attrs:", [...t.attributes].map((n) => `${n.name}="${n.value}"`).join(" ")), t.innerHTML.trim()) : "";
|
|
9125
9125
|
}
|
|
9126
9126
|
const Iu = ["fill", "stroke", "clip-path", "mask", "filter"];
|
|
9127
9127
|
function Pu(e, r) {
|
|
9128
|
-
const { doc: t, wasWrapped: n } =
|
|
9128
|
+
const { doc: t, wasWrapped: n } = Wn(e), a = /* @__PURE__ */ new Map();
|
|
9129
9129
|
for (const s of t.querySelectorAll("[id]")) {
|
|
9130
9130
|
const o = s.getAttribute("id");
|
|
9131
9131
|
if (!o) continue;
|
|
@@ -9153,25 +9153,27 @@ function Pu(e, r) {
|
|
|
9153
9153
|
l && s.setAttribute(o, `#${l}`);
|
|
9154
9154
|
}
|
|
9155
9155
|
}
|
|
9156
|
-
return
|
|
9156
|
+
return zn(t, n);
|
|
9157
9157
|
}
|
|
9158
9158
|
const Gu = ["fill", "stroke", "stop-color"], Nu = ["path", "rect", "circle", "ellipse", "polygon", "polyline", "text"];
|
|
9159
9159
|
function Hu(e, r) {
|
|
9160
|
-
const { doc: t, wasWrapped: n } =
|
|
9161
|
-
for (const
|
|
9162
|
-
|
|
9163
|
-
|
|
9164
|
-
|
|
9165
|
-
const i =
|
|
9166
|
-
|
|
9160
|
+
const { doc: t, wasWrapped: n } = Wn(e), a = {};
|
|
9161
|
+
for (const [o, u] of Object.entries(r))
|
|
9162
|
+
a[Nr(o) ?? o.toLowerCase()] = u;
|
|
9163
|
+
for (const o of Gu)
|
|
9164
|
+
for (const u of t.querySelectorAll(`[${o}]`)) {
|
|
9165
|
+
const i = u.getAttribute(o);
|
|
9166
|
+
if (!i || !Mu(i)) continue;
|
|
9167
|
+
const l = Nr(i), f = l ? a[l] : void 0;
|
|
9168
|
+
f && u.setAttribute(o, f.hex);
|
|
9167
9169
|
}
|
|
9168
|
-
const
|
|
9169
|
-
if (
|
|
9170
|
-
const
|
|
9171
|
-
for (const
|
|
9172
|
-
|
|
9170
|
+
const s = a["#000000"];
|
|
9171
|
+
if (s) {
|
|
9172
|
+
const o = Nu.map((u) => `${u}:not([fill])`).join(", ");
|
|
9173
|
+
for (const u of t.querySelectorAll(o))
|
|
9174
|
+
u.setAttribute("fill", s.hex);
|
|
9173
9175
|
}
|
|
9174
|
-
return
|
|
9176
|
+
return zn(t, n);
|
|
9175
9177
|
}
|
|
9176
9178
|
const Wu = (e = [1, 0, 0, 1, 0, 0]) => {
|
|
9177
9179
|
const r = `matrix(${e.join(",")})`, t = new Tu(r);
|
|
@@ -9182,12 +9184,12 @@ const Wu = (e = [1, 0, 0, 1, 0, 0]) => {
|
|
|
9182
9184
|
function zu(e) {
|
|
9183
9185
|
return e.replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
9184
9186
|
}
|
|
9185
|
-
const
|
|
9187
|
+
const Ht = (e, r, t) => e / t * r, _u = ({
|
|
9186
9188
|
font: e,
|
|
9187
9189
|
baselinePath: r,
|
|
9188
9190
|
text: t,
|
|
9189
9191
|
fontSize: n,
|
|
9190
|
-
spacing: a =
|
|
9192
|
+
spacing: a = Ye,
|
|
9191
9193
|
horizontalAlignment: s = "centre",
|
|
9192
9194
|
colourMap: o
|
|
9193
9195
|
}) => {
|
|
@@ -9199,102 +9201,107 @@ const Pt = (e, r, t) => e / t * r, _u = ({
|
|
|
9199
9201
|
s === "centre" ? C = (p - B) / 2 - m : s === "right" && (C = p - U - m - w);
|
|
9200
9202
|
const F = [];
|
|
9201
9203
|
for (let R = 0; R < h.length; R++) {
|
|
9202
|
-
const
|
|
9204
|
+
const D = h[R], A = D.getBoundingBox(), H = e.charToGlyph(t[R]), { advanceWidth: Z } = H;
|
|
9203
9205
|
if (!Z)
|
|
9204
9206
|
throw new Error(
|
|
9205
9207
|
`No advance width for character: ${t[R]} in font ${e.names.fontFamily}`
|
|
9206
9208
|
);
|
|
9207
|
-
const { x1: G, x2: z } = H.getBoundingBox(),
|
|
9209
|
+
const { x1: G, x2: z } = H.getBoundingBox(), $ = Ht(
|
|
9208
9210
|
Z,
|
|
9209
9211
|
n,
|
|
9210
9212
|
e.unitsPerEm
|
|
9211
|
-
), _ =
|
|
9212
|
-
let P = C +
|
|
9213
|
+
), _ = Ht(z - G, n, e.unitsPerEm);
|
|
9214
|
+
let P = C + A.x1;
|
|
9213
9215
|
if (R > 0 && (P += L * R), P + _ > p)
|
|
9214
9216
|
throw new Error(
|
|
9215
9217
|
`TOO_WIDE: character "${t[R]}" at index ${R} exceeds baseline path length (${Math.round(P + _)} > ${Math.round(p)})`
|
|
9216
9218
|
);
|
|
9217
|
-
const V = P +
|
|
9218
|
-
new fe(
|
|
9219
|
+
const V = P + $ / 2, Y = f.getTangentAtLength(V), M = Math.atan2(Y.y, Y.x) * 180 / Math.PI, q = f.getPointAtLength(P), Ae = q.x, hr = q.y, Ze = A.x2 - A.x1, Me = new fe(A.x1 + Ze / 2, 0), Be = mu(
|
|
9220
|
+
new fe(A.x1, 0),
|
|
9219
9221
|
M,
|
|
9220
|
-
|
|
9221
|
-
),
|
|
9222
|
-
let
|
|
9223
|
-
|
|
9224
|
-
|
|
9225
|
-
|
|
9226
|
-
|
|
9227
|
-
|
|
9222
|
+
Me
|
|
9223
|
+
), ve = Ae - Be.X, vr = hr - Be.Y;
|
|
9224
|
+
let le = Wu();
|
|
9225
|
+
le = le.translate(ve, vr);
|
|
9226
|
+
let dr;
|
|
9227
|
+
if (M) {
|
|
9228
|
+
const ge = A.x1 + Ze / 2;
|
|
9229
|
+
le = le.translate(ge, 0), le = le.rotate(M), le = le.translate(-ge, 0), dr = `translate(${ve} ${vr}) translate(${ge} 0) rotate(${M}) translate(${-ge} 0)`;
|
|
9230
|
+
} else
|
|
9231
|
+
dr = `translate(${ve} ${vr})`;
|
|
9232
|
+
let de = D.toPathData(2);
|
|
9233
|
+
de.length && !de.endsWith("Z") && (de += "Z", de = de.replace(/M/g, "ZM"), de = de.substring(1));
|
|
9234
|
+
let gr;
|
|
9228
9235
|
if (e.svgGlyphs) {
|
|
9229
|
-
const
|
|
9230
|
-
if (
|
|
9231
|
-
let Ie =
|
|
9232
|
-
Ie = Pu(Ie, `g${H.index}-${R}`), o && (Ie = Hu(Ie, o)),
|
|
9236
|
+
const ge = e.svgGlyphs.get(H.index);
|
|
9237
|
+
if (ge) {
|
|
9238
|
+
let Ie = Bu(ge.svg);
|
|
9239
|
+
Ie = Pu(Ie, `g${H.index}-${R}`), o && (Ie = Hu(Ie, o)), gr = {
|
|
9233
9240
|
content: Ie,
|
|
9234
|
-
viewBox:
|
|
9235
|
-
x:
|
|
9236
|
-
y:
|
|
9237
|
-
width:
|
|
9238
|
-
height:
|
|
9241
|
+
viewBox: ge.viewbox,
|
|
9242
|
+
x: A.x1,
|
|
9243
|
+
y: A.y1,
|
|
9244
|
+
width: A.x2 - A.x1,
|
|
9245
|
+
height: A.y2 - A.y1,
|
|
9239
9246
|
glyphIndex: H.index
|
|
9240
9247
|
};
|
|
9241
9248
|
}
|
|
9242
9249
|
}
|
|
9243
9250
|
F.push({
|
|
9244
|
-
path:
|
|
9245
|
-
matrix:
|
|
9251
|
+
path: D,
|
|
9252
|
+
matrix: le,
|
|
9246
9253
|
attributes: {
|
|
9247
|
-
d:
|
|
9254
|
+
d: de,
|
|
9248
9255
|
"data-character": zu(t[R]),
|
|
9249
|
-
transform:
|
|
9256
|
+
transform: dr
|
|
9250
9257
|
},
|
|
9251
9258
|
glyphData: {
|
|
9252
9259
|
index: H.index,
|
|
9253
|
-
bbox:
|
|
9260
|
+
bbox: A
|
|
9254
9261
|
},
|
|
9255
|
-
...
|
|
9262
|
+
...gr ? { svgGlyph: gr } : {}
|
|
9256
9263
|
});
|
|
9257
9264
|
}
|
|
9258
9265
|
return F;
|
|
9259
|
-
},
|
|
9266
|
+
}, Wt = { hex: "#FFFFFF" }, Hr = (e, r) => {
|
|
9260
9267
|
const t = `data-${e}-colour-url`, n = [`${e}="${r.hex}"`];
|
|
9261
9268
|
return r.reference && n.push(`${t}="${r.reference}"`), n.join(" ");
|
|
9262
|
-
},
|
|
9269
|
+
}, zt = (e, r) => {
|
|
9263
9270
|
const { attributes: t, svgGlyph: n } = e;
|
|
9264
|
-
return n ? `<g transform="${t.transform}" data-character="${t["data-character"]}"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="${n.viewBox}" width="${n.width}" height="${n.height}" x="${n.x}" y="${n.y}" data-glyph-index="${n.glyphIndex}">${n.content}</svg></g>` : `<path d="${t.d}" ${
|
|
9271
|
+
return n ? `<g transform="${t.transform}" data-character="${t["data-character"]}"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="${n.viewBox}" width="${n.width}" height="${n.height}" x="${n.x}" y="${n.y}" data-glyph-index="${n.glyphIndex}">${n.content}</svg></g>` : `<path d="${t.d}" ${Hr("fill", r)} transform="${t.transform}" data-character="${t["data-character"]}"/>`;
|
|
9265
9272
|
}, Vu = ({
|
|
9266
9273
|
boxDimensions: e,
|
|
9267
9274
|
paths: r,
|
|
9268
|
-
spacing: t =
|
|
9275
|
+
spacing: t = Ye,
|
|
9269
9276
|
fontSize: n = 0,
|
|
9270
|
-
fillColour: a =
|
|
9271
|
-
strokeColour: s =
|
|
9277
|
+
fillColour: a = Wt,
|
|
9278
|
+
strokeColour: s = Wt
|
|
9272
9279
|
}) => {
|
|
9273
9280
|
const { width: o, height: u } = e, { outlineWidth: i } = t, l = i > 0 && n > 0;
|
|
9274
9281
|
let f;
|
|
9275
9282
|
if (l) {
|
|
9276
9283
|
const p = n * i * 2, h = r.filter((g) => !g.svgGlyph).map(
|
|
9277
|
-
({ attributes: g }) => `<path d="${g.d}" ${
|
|
9284
|
+
({ attributes: g }) => `<path d="${g.d}" ${Hr("fill", s)} ${Hr("stroke", s)} stroke-width="${p}" stroke-linejoin="round" transform="${g.transform}" data-character="${g["data-character"]}"/>`
|
|
9278
9285
|
).join(`
|
|
9279
|
-
`), d = r.map((g) =>
|
|
9286
|
+
`), d = r.map((g) => zt(g, a)).join(`
|
|
9280
9287
|
`);
|
|
9281
9288
|
f = `${h}
|
|
9282
9289
|
${d}`;
|
|
9283
9290
|
} else
|
|
9284
|
-
f = r.map((p) =>
|
|
9291
|
+
f = r.map((p) => zt(p, a)).join(`
|
|
9285
9292
|
`);
|
|
9286
9293
|
const c = f ? `
|
|
9287
9294
|
${f}
|
|
9288
9295
|
` : "";
|
|
9289
9296
|
return `<svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${u}" viewBox="0 0 ${o} ${u}">${c}</svg>`;
|
|
9290
|
-
},
|
|
9297
|
+
}, _t = (e) => {
|
|
9291
9298
|
const {
|
|
9292
9299
|
text: r,
|
|
9293
9300
|
font: t,
|
|
9294
9301
|
physicalSize: n,
|
|
9295
9302
|
fontSize: a,
|
|
9296
9303
|
boxDimensions: s,
|
|
9297
|
-
spacing: o =
|
|
9304
|
+
spacing: o = Ye,
|
|
9298
9305
|
verticalAlignment: u = "centre",
|
|
9299
9306
|
baseline: i = "flat",
|
|
9300
9307
|
horizontalAlignment: l = "left",
|
|
@@ -9319,27 +9326,29 @@ const Pt = (e, r, t) => e / t * r, _u = ({
|
|
|
9319
9326
|
boxDimensions: s,
|
|
9320
9327
|
physicalSize: n,
|
|
9321
9328
|
spacing: o
|
|
9322
|
-
})
|
|
9329
|
+
});
|
|
9330
|
+
console.debug("[TR] fontSize:", x.toFixed(2), "| physicalSize:", n, "| box:", `${s.width.toFixed(0)}×${s.height.toFixed(0)}px`, `${s.physicalWidth}×${s.physicalHeight}${s.physicalUnits}`);
|
|
9331
|
+
const U = yu(i);
|
|
9323
9332
|
let y = r.split(`
|
|
9324
|
-
`).filter((
|
|
9333
|
+
`).filter((D) => D.length > 0);
|
|
9325
9334
|
y.length || (y = [""]), (U.type === "curved" || U.type === "custom") && (y = [y.join("")]);
|
|
9326
9335
|
const L = y.map(
|
|
9327
|
-
(
|
|
9328
|
-
), w = Math.max(...L.map((
|
|
9329
|
-
for (let
|
|
9330
|
-
let
|
|
9336
|
+
(D) => Gt({ font: t, text: D, fontSize: x, spacing: o })
|
|
9337
|
+
), w = Math.max(...L.map((D) => D.baseline)), B = Math.max(...L.map((D) => D.height - D.baseline)), C = w + B, F = y.length === 1 ? C : C + C * (y.length - 1) * Gn, R = [];
|
|
9338
|
+
for (let D = 0; D < y.length; D++) {
|
|
9339
|
+
let A;
|
|
9331
9340
|
switch (U.type) {
|
|
9332
9341
|
case "custom":
|
|
9333
|
-
xu(U.path),
|
|
9342
|
+
xu(U.path), A = U.path;
|
|
9334
9343
|
break;
|
|
9335
9344
|
case "curved": {
|
|
9336
|
-
const Z =
|
|
9345
|
+
const Z = Gt({
|
|
9337
9346
|
font: t,
|
|
9338
|
-
text:
|
|
9347
|
+
text: Hn(t),
|
|
9339
9348
|
fontSize: x,
|
|
9340
9349
|
spacing: o
|
|
9341
9350
|
});
|
|
9342
|
-
|
|
9351
|
+
A = Nn({
|
|
9343
9352
|
boxDimensions: s,
|
|
9344
9353
|
baseline: Z.baseline,
|
|
9345
9354
|
textHeight: Z.height,
|
|
@@ -9348,20 +9357,20 @@ const Pt = (e, r, t) => e / t * r, _u = ({
|
|
|
9348
9357
|
break;
|
|
9349
9358
|
}
|
|
9350
9359
|
case "flat":
|
|
9351
|
-
|
|
9360
|
+
A = bu({
|
|
9352
9361
|
boxDimensions: s,
|
|
9353
9362
|
totalTextHeight: F,
|
|
9354
9363
|
baseline: w,
|
|
9355
9364
|
lineHeight: C,
|
|
9356
9365
|
verticalAlignment: u,
|
|
9357
|
-
lineNumber:
|
|
9366
|
+
lineNumber: D
|
|
9358
9367
|
});
|
|
9359
9368
|
break;
|
|
9360
9369
|
}
|
|
9361
9370
|
const H = _u({
|
|
9362
9371
|
font: t,
|
|
9363
|
-
baselinePath:
|
|
9364
|
-
text: y[
|
|
9372
|
+
baselinePath: A,
|
|
9373
|
+
text: y[D],
|
|
9365
9374
|
fontSize: x,
|
|
9366
9375
|
spacing: o,
|
|
9367
9376
|
horizontalAlignment: l,
|
|
@@ -9379,27 +9388,28 @@ const Pt = (e, r, t) => e / t * r, _u = ({
|
|
|
9379
9388
|
});
|
|
9380
9389
|
}, Ku = async (e) => {
|
|
9381
9390
|
const { fontUrl: r, fontSizeFallback: t, ...n } = e, a = !!n.colourMap, s = await vu(r, a);
|
|
9391
|
+
console.debug("[TR] CE fontMetrics.size (fontSizeFallback):", t ?? "(not set)");
|
|
9382
9392
|
try {
|
|
9383
|
-
return
|
|
9393
|
+
return _t({ ...n, font: s });
|
|
9384
9394
|
} catch (o) {
|
|
9385
9395
|
if (t != null && o instanceof Error && o.message.startsWith("TOO_WIDE"))
|
|
9386
|
-
return
|
|
9396
|
+
return _t({ ...n, font: s, fontSize: t });
|
|
9387
9397
|
throw o;
|
|
9388
9398
|
}
|
|
9389
9399
|
};
|
|
9390
9400
|
export {
|
|
9391
9401
|
du as DEFAULT_OUTLINE_FACTOR,
|
|
9392
|
-
|
|
9393
|
-
|
|
9394
|
-
|
|
9402
|
+
Ye as DEFAULT_SPACING,
|
|
9403
|
+
Gn as LINE_HEIGHT,
|
|
9404
|
+
Nn as generateCurvedBaseline,
|
|
9395
9405
|
bu as generateFlatBaseline,
|
|
9396
9406
|
Zu as getFontCache,
|
|
9397
9407
|
Qu as getFontColours,
|
|
9398
9408
|
Su as getFontSizeFromPhysicalSize,
|
|
9399
9409
|
Ku as getRenderedText,
|
|
9400
|
-
|
|
9410
|
+
Gt as getTextMetricsAtFontSize,
|
|
9401
9411
|
vu as loadOpentypeFont,
|
|
9402
9412
|
yu as normaliseBaselineOption,
|
|
9403
|
-
|
|
9413
|
+
_t as renderText,
|
|
9404
9414
|
xu as validateCustomBaselinePath
|
|
9405
9415
|
};
|