@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.
@@ -28,14 +28,14 @@ String.prototype.codePointAt || (function() {
28
28
  writable: !0
29
29
  }) : String.prototype.codePointAt = r;
30
30
  })();
31
- var Gr = 0, Wt = -3;
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 zt = new Ne(), _t = new Ne(), Nr = new Uint8Array(30), Hr = new Uint16Array(30), Vt = new Uint8Array(30), qt = new Uint16Array(30), Yn = new Uint8Array([
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
- ]), Qr = new Ne(), oe = new Uint8Array(320);
59
- function Xt(e, r, t, n) {
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 $n(e, r) {
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 Kr = new Uint16Array(16);
86
- function dr(e, r, t, n) {
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
- Kr[a] = s, s += e.table[a];
93
+ et[a] = s, s += e.table[a];
94
94
  for (a = 0; a < n; ++a)
95
- r[t + a] && (e.trans[Kr[r[t + a]]++] = a);
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 ie(e, r, t) {
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 wr(e, r) {
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 = ie(e, 5, 257), a = ie(e, 5, 1), s = ie(e, 4, 4), o = 0; o < 19; ++o)
122
- oe[o] = 0;
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 = ie(e, 3, 0);
125
- oe[Yn[o]] = l;
124
+ var l = oe(e, 3, 0);
125
+ se[$n[o]] = l;
126
126
  }
127
- for (dr(Qr, oe, 0, 19), u = 0; u < n + a; ) {
128
- var f = wr(e, Qr);
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 = oe[u - 1];
132
- for (i = ie(e, 2, 3); i; --i)
133
- oe[u++] = c;
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 = ie(e, 3, 3); i; --i)
137
- oe[u++] = 0;
136
+ for (i = oe(e, 3, 3); i; --i)
137
+ se[u++] = 0;
138
138
  break;
139
139
  case 18:
140
- for (i = ie(e, 7, 11); i; --i)
141
- oe[u++] = 0;
140
+ for (i = oe(e, 7, 11); i; --i)
141
+ se[u++] = 0;
142
142
  break;
143
143
  default:
144
- oe[u++] = f;
144
+ se[u++] = f;
145
145
  break;
146
146
  }
147
147
  }
148
- dr(r, oe, 0, n), dr(t, oe, n, a);
148
+ mr(r, se, 0, n), mr(t, se, n, a);
149
149
  }
150
- function jr(e, r, t) {
150
+ function rt(e, r, t) {
151
151
  for (; ; ) {
152
- var n = wr(e, r);
152
+ var n = Or(e, r);
153
153
  if (n === 256)
154
- return Gr;
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 = ie(e, Nr[n], Hr[n]), s = wr(e, t), o = e.destLen - ie(e, Vt[s], qt[s]), u = o; u < o + a; ++u)
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 Wt;
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, Gr;
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 = ie(t, 2, 0), 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 = jr(t, zt, _t);
181
+ s = rt(t, qt, Xt);
182
182
  break;
183
183
  case 2:
184
- Qn(t, t.ltree, t.dtree), s = jr(t, t.ltree, t.dtree);
184
+ Qn(t, t.ltree, t.dtree), s = rt(t, t.ltree, t.dtree);
185
185
  break;
186
186
  default:
187
- s = Wt;
187
+ s = Vt;
188
188
  }
189
- if (s !== Gr)
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
- $n(zt, _t);
195
- Xt(Nr, Hr, 4, 3);
196
- Xt(Vt, qt, 2, 1);
197
- Nr[28] = 0;
198
- Hr[28] = 258;
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 we(e, r, t, n, a) {
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(we(i[p], l[p], f[p], c[p], m)), p === 1 && this.addY(we(i[p], l[p], f[p], c[p], m)));
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(we(i[p], l[p], f[p], c[p], U)), p === 1 && this.addY(we(i[p], l[p], f[p], c[p], U)));
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(we(i[p], l[p], f[p], c[p], y)), p === 1 && this.addY(we(i[p], l[p], f[p], c[p], y)));
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 Yt(e) {
354
+ function Qt(e) {
355
355
  throw new Error(e);
356
356
  }
357
- function Jr(e, r) {
358
- e || Yt(r);
357
+ function tt(e, r) {
358
+ e || Qt(r);
359
359
  }
360
- var E = { fail: Yt, argument: Jr, assert: Jr }, et = 32768, rt = 2147483648, Oe = {}, b = {}, O = {};
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 >= et && (e = -(2 * et - e)), [e >> 8 & 255, e & 255];
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 >= rt && (e = -(2 * rt - e)), [e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, e & 255];
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
- Oe.UTF8 = function(e, r, t) {
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
- Oe.UTF16 = function(e, r, t) {
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 Er = {
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
- Oe.MACSTRING = function(e, r, t, n) {
529
- var a = Er[n];
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 Ze = typeof WeakMap == "function" && /* @__PURE__ */ new WeakMap(), Qe, ea = function(e) {
539
- if (!Qe) {
540
- Qe = {};
541
- for (var r in Er)
542
- Qe[r] = new String(r);
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 = Qe[e];
544
+ var t = Ke[e];
545
545
  if (t !== void 0) {
546
- if (Ze) {
547
- var n = Ze.get(t);
546
+ if (Qe) {
547
+ var n = Qe.get(t);
548
548
  if (n !== void 0)
549
549
  return n;
550
550
  }
551
- var a = Er[e];
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 Ze && Ze.set(t, s), s;
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 Or(e) {
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 (!Or(o) || o === 0 && s + 1 < a && e[s + 1] === 0)
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 || Or(o) && s + 1 < a && Or(e[s + 1]))
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 Ke = typeof WeakMap == "function" && /* @__PURE__ */ new WeakMap();
669
+ var je = typeof WeakMap == "function" && /* @__PURE__ */ new WeakMap();
670
670
  b.CHARSTRING = function(e) {
671
- if (Ke) {
672
- var r = Ke.get(e);
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 Ke && Ke.set(e, t), t;
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 Lr(e, r, t) {
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 tr(e) {
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
- tr.prototype = Object.create(Q.prototype);
783
- tr.prototype.constructor = tr;
784
- function nr(e) {
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
- nr.prototype = Object.create(Q.prototype);
812
- nr.prototype.constructor = nr;
813
- function ar(e) {
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
- ar.prototype = Object.create(Q.prototype);
829
- ar.prototype.constructor = ar;
830
- function sr(e, r) {
831
- Q.call(this, "lookupListTable", Lr("lookup", e, function(t) {
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(Lr("subtable", t.subtables, n)));
836
+ ].concat(Dr("subtable", t.subtables, n)));
837
837
  }));
838
838
  }
839
- sr.prototype = Object.create(Q.prototype);
840
- sr.prototype.constructor = sr;
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: tr,
845
- ScriptList: nr,
846
- FeatureList: ar,
847
- LookupList: sr,
844
+ Coverage: nr,
845
+ ScriptList: ar,
846
+ FeatureList: sr,
847
+ LookupList: or,
848
848
  ushortList: He,
849
- tableList: Lr,
849
+ tableList: Dr,
850
850
  recordList: We
851
851
  };
852
- function tt(e, r) {
852
+ function st(e, r) {
853
853
  return e.getUint8(r);
854
854
  }
855
- function or(e, r) {
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 Wr(e, r) {
861
+ function Vr(e, r) {
862
862
  return e.getUint32(r, !1);
863
863
  }
864
- function $t(e, r) {
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 = Wr(this.data, this.offset + this.relativeOffset);
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 = $t(this.data, this.offset + this.relativeOffset);
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 = Wr(this.data, this.offset + this.relativeOffset + 4);
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 = or(this.data, this.offset + this.relativeOffset), t = or(this.data, this.offset + this.relativeOffset + 2);
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 nt = {
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(nt),
1144
+ defaultLangSys: v.pointer(ot),
1145
1145
  langSysRecords: v.recordList({
1146
1146
  tag: v.tag,
1147
- langSys: v.pointer(nt)
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: tt,
1187
- getCard8: tt,
1188
- getUShort: or,
1189
- getCard16: or,
1186
+ getByte: st,
1187
+ getCard8: st,
1188
+ getUShort: ir,
1189
+ getCard16: ir,
1190
1190
  getShort: aa,
1191
- getULong: Wr,
1192
- getFixed: $t,
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 Zt = { parse: ca, make: da }, er = [
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
- ], ke = [
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 Qt(e) {
2476
+ function Jt(e) {
2477
2477
  this.font = e;
2478
2478
  }
2479
- Qt.prototype.charToGlyphIndex = function(e) {
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 Kt(e) {
2489
+ function en(e) {
2490
2490
  this.cmap = e;
2491
2491
  }
2492
- Kt.prototype.charToGlyphIndex = function(e) {
2492
+ en.prototype.charToGlyphIndex = function(e) {
2493
2493
  return this.cmap.glyphIndexMap[e.codePointAt(0)] || 0;
2494
2494
  };
2495
- function ir(e, r) {
2495
+ function ur(e, r) {
2496
2496
  this.encoding = e, this.charset = r;
2497
2497
  }
2498
- ir.prototype.charToGlyphIndex = function(e) {
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 zr(e) {
2502
+ function qr(e) {
2503
2503
  switch (e.version) {
2504
2504
  case 1:
2505
- this.names = ke.slice();
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] < ke.length ? this.names[r] = ke[e.glyphNameIndex[r]] : this.names[r] = e.names[e.glyphNameIndex[r] - ke.length];
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] = ke[t + e.glyphNameIndex[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
- zr.prototype.nameToGlyphIndex = function(e) {
2525
+ qr.prototype.nameToGlyphIndex = function(e) {
2526
2526
  return this.names.indexOf(e);
2527
2527
  };
2528
- zr.prototype.glyphIndexToName = function(e) {
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 Te = { line: Sa };
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", Te.line(e, r, -1e4, r, 1e4), Te.line(e, -1e4, t, 1e4, t);
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", Te.line(e, r + s * a, -1e4, r + s * a, 1e4), Te.line(e, r + u * a, -1e4, r + u * a, 1e4), Te.line(e, -1e4, t + -o * a, 1e4, t + -o * a), Te.line(e, -1e4, t + -i * a, 1e4, t + -i * a), e.strokeStyle = "green", Te.line(e, r + l * a, -1e4, r + l * a, 1e4);
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 je(e, r, t) {
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 _r(e, r) {
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
- _r.prototype.get = function(e) {
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
- _r.prototype.push = function(e, r) {
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
- }, je(o, "xMin", "_xMin"), je(o, "xMax", "_xMax"), je(o, "yMin", "_yMin"), je(o, "yMax", "_yMax"), o;
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 le = { GlyphSet: _r, glyphLoader: ka, ttfGlyphLoader: Fa, cffGlyphLoader: Ua };
2713
- function jt(e, r) {
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 (!jt(e[t], r[t]))
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 Rr(e) {
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 ye(e, r, t) {
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 Jt(e, r, t) {
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 = er[r] : r = e[r - 391], r;
2811
+ return r <= 390 ? r = rr[r] : r = e[r - 391], r;
2812
2812
  }
2813
- function en(e, r, t) {
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 rn = [
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
- ], tn = [
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 = Jt(e, 0, e.byteLength);
2874
- return en(t, rn, r);
2873
+ var t = tn(e, 0, e.byteLength);
2874
+ return nn(t, an, r);
2875
2875
  }
2876
- function nn(e, r, t, n) {
2877
- var a = Jt(e, r, t);
2878
- return en(a, tn, n);
2876
+ function on(e, r, t, n) {
2877
+ var a = tn(e, r, t);
2878
+ return nn(a, sn, n);
2879
2879
  }
2880
- function at(e, r, t, n) {
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 = nn(e, l + r, i, n);
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 = ye(e, c + r);
2889
- u._subrs = p.objects, u._subrsBias = Rr(u._subrs);
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 Ba(e, r, t) {
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 ir(a, t);
2933
+ return new ur(a, t);
2934
2934
  }
2935
- function st(e, r, t) {
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, A, D, H, Z, G, z, Y, _, P, V, $, M = 0; M < F.length; ) {
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(), Y = o + i.shift(), _ = z + i.shift(), P = Y + i.shift(), V = _ + i.shift(), $ = P + i.shift(), p = V + i.shift(), h = $ + i.shift(), i.shift(), u.curveTo(n, a, s, o, z, Y), u.curveTo(_, P, V, $, p, h);
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(), Y = o, _ = z + i.shift(), P = o, V = _ + i.shift(), $ = h, p = V + i.shift(), u.curveTo(n, a, s, o, z, Y), u.curveTo(_, P, V, $, p, h);
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(), Y = o, _ = z + i.shift(), P = o, V = _ + i.shift(), $ = P + i.shift(), p = V + i.shift(), u.curveTo(n, a, s, o, z, Y), u.curveTo(_, P, V, $, p, h);
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(), Y = o + i.shift(), _ = z + i.shift(), P = Y + i.shift(), V = _ + i.shift(), $ = P + i.shift(), Math.abs(V - p) > Math.abs($ - h) ? p = V + i.shift() : h = $ + i.shift(), u.curveTo(n, a, s, o, z, Y), u.curveTo(_, P, V, $, p, h);
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], A = F[M + 1], i.push((R << 24 | A << 16) >> 16), M += 2;
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], A = F[M + 1], D = F[M + 2], H = F[M + 3], M += 4, i.push((R << 24 | A << 16 | D << 8 | H) / 65536));
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 Ma(e, r, t, n) {
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 = ye(e, a.endOffset, k.bytesToString), o = ye(e, s.endOffset), u = ye(e, o.endOffset, k.bytesToString), i = ye(e, u.endOffset);
3091
- t.gsubrs = i.objects, t.gsubrsBias = Rr(t.gsubrs);
3092
- var l = at(e, r, o.objects, u.objects);
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 = ye(e, c), d = at(e, r, h.objects, u.objects);
3102
- f._fdArray = d, p += r, f._fdSelect = Ma(e, p, t.numGlyphs, d.length);
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 = nn(e, g, f.private[0], u.objects);
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 = ye(e, x);
3107
- t.subrs = U.objects, t.subrsBias = Rr(t.subrs);
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 = ye(e, r + f.charStrings), t.nGlyphs = y.objects.length);
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 ir(ga, L) : f.encoding === 1 ? t.cffEncoding = new ir(ma, L) : t.cffEncoding = Ba(e, r + f.encoding, L), t.encoding = t.encoding || t.cffEncoding, t.glyphs = new le.GlyphSet(t), n.lowMemory)
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, le.cffGlyphLoader(t, C, st, F));
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, le.cffGlyphLoader(t, w, st, B));
3121
+ t.glyphs.push(w, ue.cffGlyphLoader(t, w, ut, B));
3122
3122
  }
3123
3123
  }
3124
- function an(e, r) {
3125
- var t, n = er.indexOf(e);
3126
- return n >= 0 && (t = n), n = r.indexOf(e), n >= 0 ? t = n + er.length : (t = er.length + r.length, r.push(e)), t;
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 sn(e, r, t) {
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 && !jt(o, s.value) && (s.type === "SID" && (o = an(o, t)), n[s.op] = { name: s.name, type: s.type, value: o });
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 ot(e, r) {
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 = sn(rn, e, r), t;
3156
+ return t.dict = ln(an, e, r), t;
3157
3157
  }
3158
- function it(e) {
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 = an(a, r);
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(tn, e, r), t;
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 = ot(a, l);
3256
- t.topDictIndex = it(f), t.globalSubrIndex = Ha(), t.charsets = Wa(o, l), t.charStringsIndex = _a(e), t.privateDict = Va(s, l), t.stringIndex = Na(l);
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 = ot(a, l), t.topDictIndex = it(f), t;
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 on = { parse: Ia, make: qa };
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 Ya(e) {
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 un = { parse: Xa, make: Ya };
3288
- function $a(e, r) {
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 ln = { parse: $a, make: Za };
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 fn = { parse: ja, make: Ja };
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 pn = { make: es, parse: rs };
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 cn = { parse: ts, make: ns }, hn = [
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
- ], vn = {
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
- }, dn = {
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 vn[r];
4001
+ return mn[r];
4002
4002
  case 3:
4003
- return dn[r];
4003
+ return yn[r];
4004
4004
  }
4005
4005
  }
4006
- var Dr = "utf-16", os = {
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 gn(e, r, t) {
4097
+ function xn(e, r, t) {
4098
4098
  switch (e) {
4099
4099
  case 0:
4100
- return Dr;
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 Dr;
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 = hn[p] || p, d = a.parseUShort(), g = a.parseUShort(), m = ss(l, c, t), x = gn(l, f, c);
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 === Dr ? U = Oe.UTF16(e, u + g, d) : U = Oe.MACSTRING(e, u + g, d, x), U) {
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 gr(e) {
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 ut(e, r, t, n, a, s) {
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 lt(e, r) {
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 = gr(hn);
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 = gr(vn), l = gr(dn), f = [], c = [], p = 0; p < n.length; p++) {
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 = gn(m, U, x), L = b.MACSTRING(g, 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 = lt(L, c);
4174
- f.push(ut(
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 = lt(C, c);
4185
- f.push(ut(
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(D, H) {
4197
- return D.platformID - H.platformID || D.encodingID - H.encodingID || D.languageID - H.languageID || D.nameID - H.nameID;
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
- ]), A = 0; A < f.length; A++)
4204
- R.fields.push({ name: "record_" + A, type: "RECORD", value: f[A] });
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 mn = { parse: us, make: fs }, Ar = [
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 < Ar.length; r += 1) {
4457
- var t = Ar[r];
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 Br = { parse: cs, make: hs, unicodeRanges: Ar, getUnicodeRange: ps };
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 = ke.slice();
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] >= ke.length) {
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 yn = { parse: vs, make: ds }, ee = new Array(9);
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 Ee = {
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, Ee)
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, Ee)
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, Ee)
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(Ee)
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(Ee)
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(Ee)
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 Le = new Array(9);
4724
- Le[1] = function(r) {
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
- Le[2] = function(r) {
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
- Le[3] = function(r) {
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
- Le[4] = function(r) {
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
- Le[6] = function(r) {
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, Le) }
4802
+ { name: "lookups", type: "TABLE", value: new S.LookupList(e.lookups, Re) }
4803
4803
  ]);
4804
4804
  }
4805
- var xn = { parse: gs, make: ms };
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 = Oe.UTF8(e, r + i, l);
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 bn = { parse: ys, make: xs };
4829
- function ft(e) {
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 Vr(e) {
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 pt(e, r, t, n) {
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 Sn(e) {
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, ft(r.numTables));
4857
- r.searchRange = 16 * t, r.entrySelector = ft(t), r.rangeShift = r.numTables * 16 - r.searchRange;
4858
- for (var n = [], a = [], s = r.sizeOf() + pt().sizeOf() * r.numTables; s % 4 !== 0; )
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 = pt(u.tableName, Vr(u.encode()), s, i);
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 ct(e, r, t) {
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 = Br.getUnicodeRange(m);
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 = un.make({
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 = ln.make({
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 = cn.make(e.glyphs.length), C = Br.make(Object.assign({
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: ct(e, "xyvw", { yMax: Math.round(y.ascender / 2) }).yMax,
4958
- sCapHeight: ct(e, "HIKLEFJMNTZBDPRAGOQSUVWXY", y).yMax,
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 = fn.make(e.glyphs), R = Zt.make(e.glyphs), A = e.getEnglishName("fontFamily"), D = e.getEnglishName("fontSubfamily"), H = A + " " + D, Z = e.getEnglishName("postScriptName");
4964
- Z || (Z = A.replace(/\s/g, "") + "-" + D);
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 Y = [], _ = mn.make(G, Y), P = Y.length > 0 ? pn.make(Y) : void 0, V = yn.make(), $ = on.make(e.glyphs, {
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: A,
4973
- weightName: D,
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 ? bn.make(e.metas) : void 0, q = [L, w, B, C, _, R, V, $, F];
4978
- P && q.push(P), e.tables.gsub && q.push(xn.make(e.tables.gsub)), M && q.push(M);
4979
- for (var De = Sn(q), cr = De.encode(), Ae = Vr(cr), Be = De.fields, Me = !1, Ce = 0; Ce < Be.length; Ce += 1)
4980
- if (Be[Ce].name === "head table") {
4981
- Be[Ce].value.checkSumAdjustment = 2981146554 - Ae, Me = !0;
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 (!Me)
4984
+ if (!Be)
4985
4985
  throw new Error("Could not find head table with checkSum to adjust.");
4986
- return De;
4986
+ return Ae;
4987
4987
  }
4988
- var Ts = { make: Sn, fontToTable: Ss, computeCheckSum: Vr };
4989
- function mr(e, r) {
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 ht(e, r) {
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 vt(e, r) {
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: mr,
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: ht,
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 = mr(t.scripts, e);
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 = mr(n.langSysRecords, r);
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 = vt(e.ranges, r);
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 = ht(e.glyphs, r);
5211
+ var t = gt(e.glyphs, r);
5212
5212
  return t >= 0 ? t : -1;
5213
5213
  case 2:
5214
- var n = vt(e.ranges, r);
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 qr(e, r, t) {
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 = qr(a, 2, {
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 = qr(a, 1, {
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 = qr(a, 1, {
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 Tn(e) {
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 dt(e, r, t, n, a) {
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 kn(e, r, t) {
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 = dt(n, s, m, 2, 16), m = 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 = dt(n, s, U, 4, 32), U = 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 yr(e, r) {
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 Fn(e) {
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 Un(e, r) {
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 = yr(a.points, n);
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 = yr([u], i)[0], i.dx = o.x - u.x, i.dy = o.y - u.y, s = yr(a.points, i);
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 Fn(r.points);
5581
+ return wn(r.points);
5582
5582
  }
5583
5583
  function ws(e, r, t, n) {
5584
- for (var a = new le.GlyphSet(n), s = 0; s < t.length - 1; s += 1) {
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, le.ttfGlyphLoader(n, s, kn, e, r + o, Un)) : a.push(s, le.glyphLoader(n, 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 le.GlyphSet(n);
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, le.ttfGlyphLoader(n, s, kn, e, r + o, Un)) : a.push(s, le.glyphLoader(n, 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 Cn = { getPath: Fn, parse: Os }, wn, Ue, En, Mr;
5601
- function On(e) {
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 Cn.getPath(r).commands;
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 Ln(e) {
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 Bs(e) {
5621
+ function Ms(e) {
5622
5622
  return Math.sign(e) * Math.floor(Math.abs(e));
5623
5623
  }
5624
- var Rn = function(e) {
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
- }, ue = {
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
- ue.setRelative(e, e, (i + l) / 2, n, !0);
5652
+ ie.setRelative(e, e, (i + l) / 2, n, !0);
5653
5653
  return;
5654
5654
  }
5655
- ue.setRelative(e, e, (i * u + l * o) / f, n, !0);
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(ue);
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 * ue.distance(e, r, t, n) + this.y * pe.distance(e, r, t, n);
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 ? ue : e === 0 && r === 1 ? pe : new qe(e, r);
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)), Ms = {
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 xe(e, r) {
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 = ue, this.round = Ln;
5814
+ this.fv = this.pv = this.dpv = ie, this.round = An;
5815
5815
  }
5816
5816
  }
5817
- On.prototype.exec = function(e, r) {
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
- xe.prototype = Ms, a = this._fpgmState = new xe("fpgm", t.tables.fpgm), a.funcs = [], a.font = t, exports.DEBUG && (console.log("---EXEC FPGM---"), a.step = -1);
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
- Ue(a);
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
- xe.prototype = a, n = this._prepState = new xe("prep", t.tables.prep), n.ppem = r;
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
- Ue(n);
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 En(e, n);
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
- En = function(e, r) {
5856
+ Rn = function(e, r) {
5857
5857
  var t = r.ppem / r.font.unitsPerEm, n = t, a = e.components, s, o, u;
5858
- if (xe.prototype = r, !a)
5859
- u = new xe("glyf", e.instructions), exports.DEBUG && (console.log("---EXEC GLYPH---"), u.step = -1), Mr(e, u, t, n), o = u.gZone;
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 xe("glyf", c.instructions), exports.DEBUG && (console.log("---EXEC COMP " + l + "---"), u.step = -1), Mr(c, u, t, n);
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 xe("glyf", e.instructions), u.gZone = u.z0 = u.z1 = u.z2 = o, u.contours = s, o.push(
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), Ue(u), o.length -= 2);
5878
+ ), exports.DEBUG && (console.log("---EXEC COMPOSITE---"), u.step = -1), we(u), o.length -= 2);
5879
5879
  }
5880
5880
  return o;
5881
5881
  };
5882
- Mr = function(e, r, t, n) {
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
- ), Ue(r), o.length -= 2, exports.DEBUG) {
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
- Ue = function(e) {
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 = wn[r[e.ip]], !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 lr(e) {
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 Dn(e, r) {
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 gt(e, r) {
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 mt(e, r) {
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 yt(e, r) {
5951
+ function St(e, r) {
5952
5952
  exports.DEBUG && console.log(r.step, "SFVTCA[" + e.axis + "]"), r.fv = e;
5953
5953
  }
5954
- function xt(e, r) {
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 bt(e, r) {
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 || lr(e), e.z0 = 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 || lr(e), e.z1 = 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 Ys(e) {
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 || lr(e), e.z2 = 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 $s(e) {
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 || lr(e), e.z0 = e.z1 = e.z2 = 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 = Ln;
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[]"), Dn(e, !1);
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 xr(e) {
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
- Ue(e), exports.DEBUG && console.log(
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], Ue(e), e.ip = t, e.prog = n, exports.DEBUG && console.log(++e.step, "returning from", 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 St(e, r) {
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 Tt(e, r) {
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 kt(e, r) {
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 Ft(e, r) {
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 Ut(e, r) {
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 Ct(e, r) {
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 wt(e, r) {
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 Et(e, r) {
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 Ot(e, r) {
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 || (Dn(e, !0), exports.DEBUG && console.log(e.step, "EIF[]"));
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 Bo(e) {
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 Mo(e) {
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 br(e, r) {
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 Je(e, r) {
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 Yo(e) {
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 Sr(e, r) {
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 $o(e) {
6410
+ function Yo(e) {
6411
6411
  var r = e.stack.pop();
6412
- exports.DEBUG && console.log(e.step, "SROUND[]", r), e.round = Rn;
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 = Rn;
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 = Bs;
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 Lt(e, r) {
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 de(e, r) {
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 ge(e, r) {
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
- wn = [
6562
+ Ln = [
6563
6563
  /* 0x00 */
6564
- gt.bind(void 0, pe),
6564
+ xt.bind(void 0, pe),
6565
6565
  /* 0x01 */
6566
- gt.bind(void 0, ue),
6566
+ xt.bind(void 0, ie),
6567
6567
  /* 0x02 */
6568
- mt.bind(void 0, pe),
6568
+ bt.bind(void 0, pe),
6569
6569
  /* 0x03 */
6570
- mt.bind(void 0, ue),
6570
+ bt.bind(void 0, ie),
6571
6571
  /* 0x04 */
6572
- yt.bind(void 0, pe),
6572
+ St.bind(void 0, pe),
6573
6573
  /* 0x05 */
6574
- yt.bind(void 0, ue),
6574
+ St.bind(void 0, ie),
6575
6575
  /* 0x06 */
6576
- xt.bind(void 0, 0),
6576
+ Tt.bind(void 0, 0),
6577
6577
  /* 0x07 */
6578
- xt.bind(void 0, 1),
6578
+ Tt.bind(void 0, 1),
6579
6579
  /* 0x08 */
6580
- bt.bind(void 0, 0),
6580
+ kt.bind(void 0, 0),
6581
6581
  /* 0x09 */
6582
- bt.bind(void 0, 1),
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
- xr,
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
- St.bind(void 0, 0),
6661
+ Ft.bind(void 0, 0),
6662
6662
  /* 0x2F */
6663
- St.bind(void 0, 1),
6663
+ Ft.bind(void 0, 1),
6664
6664
  /* 0x30 */
6665
- Tt.bind(void 0, pe),
6665
+ Ut.bind(void 0, pe),
6666
6666
  /* 0x31 */
6667
- Tt.bind(void 0, ue),
6667
+ Ut.bind(void 0, ie),
6668
6668
  /* 0x32 */
6669
- kt.bind(void 0, 0),
6669
+ Ct.bind(void 0, 0),
6670
6670
  /* 0x33 */
6671
- kt.bind(void 0, 1),
6671
+ Ct.bind(void 0, 1),
6672
6672
  /* 0x34 */
6673
- Ft.bind(void 0, 0),
6673
+ wt.bind(void 0, 0),
6674
6674
  /* 0x35 */
6675
- Ft.bind(void 0, 1),
6675
+ wt.bind(void 0, 1),
6676
6676
  /* 0x36 */
6677
- Ut.bind(void 0, 0),
6677
+ Et.bind(void 0, 0),
6678
6678
  /* 0x37 */
6679
- Ut.bind(void 0, 1),
6679
+ Et.bind(void 0, 1),
6680
6680
  /* 0x38 */
6681
6681
  po,
6682
6682
  /* 0x39 */
6683
6683
  co,
6684
6684
  /* 0x3A */
6685
- Ct.bind(void 0, 0),
6685
+ Ot.bind(void 0, 0),
6686
6686
  /* 0x3B */
6687
- Ct.bind(void 0, 1),
6687
+ Ot.bind(void 0, 1),
6688
6688
  /* 0x3C */
6689
6689
  ho,
6690
6690
  /* 0x3D */
6691
6691
  vo,
6692
6692
  /* 0x3E */
6693
- wt.bind(void 0, 0),
6693
+ Lt.bind(void 0, 0),
6694
6694
  /* 0x3F */
6695
- wt.bind(void 0, 1),
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
- Et.bind(void 0, 0),
6709
+ Rt.bind(void 0, 0),
6710
6710
  /* 0x47 */
6711
- Et.bind(void 0, 1),
6711
+ Rt.bind(void 0, 1),
6712
6712
  /* 0x48 */
6713
6713
  void 0,
6714
6714
  // TODO SCFS
6715
6715
  /* 0x49 */
6716
- Ot.bind(void 0, 0),
6716
+ Dt.bind(void 0, 0),
6717
6717
  /* 0x4A */
6718
- Ot.bind(void 0, 1),
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
- br.bind(void 0, 1),
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
- Je.bind(void 0, 0),
6781
+ er.bind(void 0, 0),
6782
6782
  /* 0x69 */
6783
- Je.bind(void 0, 1),
6783
+ er.bind(void 0, 1),
6784
6784
  /* 0x6A */
6785
- Je.bind(void 0, 2),
6785
+ er.bind(void 0, 2),
6786
6786
  /* 0x6B */
6787
- Je.bind(void 0, 3),
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
- Yo,
6801
+ $o,
6802
6802
  /* 0x71 */
6803
- br.bind(void 0, 2),
6803
+ Tr.bind(void 0, 2),
6804
6804
  /* 0x72 */
6805
- br.bind(void 0, 3),
6805
+ Tr.bind(void 0, 3),
6806
6806
  /* 0x73 */
6807
- Sr.bind(void 0, 1),
6807
+ kr.bind(void 0, 1),
6808
6808
  /* 0x74 */
6809
- Sr.bind(void 0, 2),
6809
+ kr.bind(void 0, 2),
6810
6810
  /* 0x75 */
6811
- Sr.bind(void 0, 3),
6811
+ kr.bind(void 0, 3),
6812
6812
  /* 0x76 */
6813
- $o,
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
- xr,
6831
+ Sr,
6832
6832
  // actually SANGW, supposed to do only a pop though
6833
6833
  /* 0x7F */
6834
- xr,
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
- Lt.bind(void 0, 0),
6852
+ At.bind(void 0, 0),
6853
6853
  /* 0x87 */
6854
- Lt.bind(void 0, 1),
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
- de.bind(void 0, 1),
6937
+ me.bind(void 0, 1),
6938
6938
  /* 0xB1 */
6939
- de.bind(void 0, 2),
6939
+ me.bind(void 0, 2),
6940
6940
  /* 0xB2 */
6941
- de.bind(void 0, 3),
6941
+ me.bind(void 0, 3),
6942
6942
  /* 0xB3 */
6943
- de.bind(void 0, 4),
6943
+ me.bind(void 0, 4),
6944
6944
  /* 0xB4 */
6945
- de.bind(void 0, 5),
6945
+ me.bind(void 0, 5),
6946
6946
  /* 0xB5 */
6947
- de.bind(void 0, 6),
6947
+ me.bind(void 0, 6),
6948
6948
  /* 0xB6 */
6949
- de.bind(void 0, 7),
6949
+ me.bind(void 0, 7),
6950
6950
  /* 0xB7 */
6951
- de.bind(void 0, 8),
6951
+ me.bind(void 0, 8),
6952
6952
  /* 0xB8 */
6953
- ge.bind(void 0, 1),
6953
+ ye.bind(void 0, 1),
6954
6954
  /* 0xB9 */
6955
- ge.bind(void 0, 2),
6955
+ ye.bind(void 0, 2),
6956
6956
  /* 0xBA */
6957
- ge.bind(void 0, 3),
6957
+ ye.bind(void 0, 3),
6958
6958
  /* 0xBB */
6959
- ge.bind(void 0, 4),
6959
+ ye.bind(void 0, 4),
6960
6960
  /* 0xBC */
6961
- ge.bind(void 0, 5),
6961
+ ye.bind(void 0, 5),
6962
6962
  /* 0xBD */
6963
- ge.bind(void 0, 6),
6963
+ ye.bind(void 0, 6),
6964
6964
  /* 0xBE */
6965
- ge.bind(void 0, 7),
6965
+ ye.bind(void 0, 7),
6966
6966
  /* 0xBF */
6967
- ge.bind(void 0, 8),
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 Re(e) {
7097
+ function De(e) {
7098
7098
  this.char = e, this.state = {}, this.activeState = null;
7099
7099
  }
7100
- function Xr(e, r, t) {
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 fr(e) {
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 fr(a)
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
- Re.prototype.setState = function(e, r) {
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
- Re.prototype.getState = function(e) {
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 Re;
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 Re) {
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 Re;
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
- fr.prototype.subscribe = function(e) {
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
- fr.prototype.unsubscribe = function(e) {
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 Xr)
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 fr && n.subscribers.forEach(function(a) {
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 Xr(t, e, r), a = this.getContext(r).ranges;
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 Xr(t, null, a), r.getContext(a).openRange = s, r.dispatch("contextStart", [a, t])), s && n.checkEnd(e)) {
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 Re(n);
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 be(e) {
7350
+ function Te(e) {
7351
7351
  return /[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e);
7352
7352
  }
7353
- function An(e) {
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 Se(e) {
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 rr(e) {
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 Fe(e) {
7368
+ function Ce(e) {
7369
7369
  this.id = e.id, this.tag = e.tag, this.substitution = e.substitution;
7370
7370
  }
7371
- function Ye(e, r) {
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 = Ye(e, r.coverage);
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 = Ye(e, r.coverage);
7396
+ var t = $e(e, r.coverage);
7397
7397
  return t === -1 ? null : r.substitute[t];
7398
7398
  }
7399
- function Tr(e, r) {
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 = Ye(s, a);
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 = Tr(
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 && Se(s[0].char); )
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 = Tr(
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 && Se(i[0].char); )
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 = Tr(
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 = Ye(t, r.coverage);
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 = Ye(e, r.coverage);
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 Fe({
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 Fe({
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 Fe({
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 Fe({
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 Fe({
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 && be(r) || // ? arabic char preceded with a non arabic char
7651
- !be(t) && be(r)
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
- !be(r)
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
- (be(r) || Se(r)) && !be(t)
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 (!be(r) && !Se(r)):
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 be(a) || Se(a);
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 Rt = {
7718
+ var Mt = {
7719
7719
  11: bi,
7720
7720
  12: Si,
7721
7721
  63: Ti,
7722
7722
  41: ki
7723
7723
  };
7724
- function Yr(e, r, t) {
7725
- e instanceof Fe && Rt[e.id] && Rt[e.id](e, r, t);
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 = An(n), s = Se(n);
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 (An(e.current))
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 = Se(t);
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 (!Se(u.char)) {
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 Fe && (Yr(p, a, h), s.context[h] = p.substitution);
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 Dt(e, r) {
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 = Dt(n);
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 Yr(i, n, o);
7815
+ return Qr(i, n, o);
7816
7816
  }
7817
- ), a = Dt(n));
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 && rr(r) || // ? latin char preceded with a non latin char
7825
- !rr(t) && rr(r)
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
- !rr(r)
7833
+ !tr(r)
7834
7834
  );
7835
7835
  }
7836
7836
  var Li = {
7837
7837
  startCheck: Ei,
7838
7838
  endCheck: Oi
7839
7839
  };
7840
- function At(e, r) {
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 = At(n);
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 Yr(i, n, o);
7857
+ return Qr(i, n, o);
7858
7858
  }
7859
- ), a = At(n));
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 kr(e) {
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 kr.call(this, "latinWord"), kr.call(this, "arabicWord"), kr.call(this, "arabicSentence"), this.tokenizer.tokenize(this.text);
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 $r() {
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 Bi() {
7923
+ function Mi() {
7924
7924
  var e = this, r = "arab";
7925
7925
  if (this.featuresTags.hasOwnProperty(r)) {
7926
- $r.call(this);
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 Mi() {
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
- $r.call(this);
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
- $r.call(this);
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") && (Bi.call(this), Mi.call(this)), this.checkContextReady("latinWord") && Ii.call(this), this.checkContextReady("arabicSentence") && Ai.call(this);
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 le.GlyphSet(this, e.glyphs || []), this.encoding = new Qt(this), this.position = new Ve(this), this.substitution = new j(this), this.tables = this.tables || {}, this._push = null, this._hmtxTableData = {}, Object.defineProperty(this, "hinting", {
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 On(this);
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 Bn(e, r) {
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 = Bn(r.name, t);
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 = Bn(r.name, n), s = [
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
- }, Yi = function() {
8300
+ }, $i = function() {
8301
8301
  return {
8302
8302
  coverage: this.parsePointer(v.coverage),
8303
8303
  ligGlyphs: this.parseList(v.pointer(Xi))
8304
8304
  };
8305
- }, $i = function() {
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(Yi),
8319
+ ligCaretList: t.parsePointer($i),
8320
8320
  markAttachClassDef: t.parsePointer(v.classDef)
8321
8321
  };
8322
- return n >= 1.2 && (a.markGlyphSets = t.parsePointer($i)), a;
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, Tn(a));
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 Bt(e, r) {
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 Zr(e, r) {
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 = Bt(s, o);
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 = Bt(s, o);
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 = Zt.parse(F.data, F.offset), a.encoding = new Kt(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 = un.parse(F.data, F.offset), a.unitsPerEm = a.tables.head.unitsPerEm, t = a.tables.head.indexToLocFormat;
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 = ln.parse(F.data, F.offset), a.ascender = a.tables.hhea.ascender, a.descender = a.tables.hhea.descender, a.numberOfHMetrics = a.tables.hhea.numberOfHMetrics;
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 = pn.parse(F.data, F.offset);
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 = cn.parse(F.data, F.offset), a.numGlyphs = a.tables.maxp.numGlyphs;
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 = Br.parse(F.data, F.offset);
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 = yn.parse(F.data, F.offset), a.glyphNames = new zr(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 = mn.parse(R.data, R.offset, n), a.names = a.tables.name, p && U) {
8608
- var A = t === 0, D = W(s, U), H = ou.parse(D.data, D.offset, a.numGlyphs, A), Z = W(s, p);
8609
- a.glyphs = Cn.parse(Z.data, Z.offset, H, a, r);
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
- on.parse(G.data, G.offset, a, r);
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 (fn.parse(a, z.data, z.offset, a.numberOfHMetrics, a.numGlyphs, a.glyphs, r), ba(a, r), x) {
8617
- var Y = W(s, x);
8618
- a.kerningPairs = au.parse(Y.data, Y.offset);
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 = xn.parse(V.data, V.offset);
8631
+ a.tables.gsub = Tn.parse(V.data, V.offset);
8632
8632
  }
8633
8633
  if (c) {
8634
- var $ = W(s, c);
8635
- a.tables.fvar = _i.parse($.data, $.offset, a.names);
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 = bn.parse(M.data, M.offset), a.metas = 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 = Zr(i, t);
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 Zr(Tn(n), r);
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: Zr,
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 Ir = /* @__PURE__ */ new Map(), Zu = () => Ir, vu = async (e, r = !1) => {
8700
- const t = Ir.get(e);
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 Ir.set(e, u), u;
8726
- }, du = 0.03125, Mn = 1.1, gu = 0.2, $e = {
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 * Mn), `M 0 ${l} L ${o} ${l}`;
8777
- }, In = ({
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 In({
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
- }, Pn = (e) => {
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
- }, Fr = 100, Su = ({
8809
+ }, Cr = 100, Su = ({
8810
8810
  font: e,
8811
8811
  boxDimensions: r,
8812
8812
  physicalSize: t,
8813
- spacing: n = $e
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 = Pn(e), i = e.getPath(
8820
+ const { outlineWidth: s } = n, o = Hn(e), i = e.getPath(
8821
8821
  o,
8822
8822
  0,
8823
8823
  0,
8824
- Fr
8824
+ Cr
8825
8825
  ).getBoundingBox();
8826
8826
  let l = i.y2 - i.y1;
8827
- if (s > 0) {
8828
- const d = Fr * s;
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 Fr * p;
8833
- }, Mt = ({
8832
+ return Cr * p;
8833
+ }, Gt = ({
8834
8834
  font: e,
8835
8835
  text: r,
8836
8836
  fontSize: t,
8837
- spacing: n = $e
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
- }, pr = Vn, Tu = qn, ku = () => new pr().parseFromString("<svg></svg>", "image/svg+xml"), Fu = ku();
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
- }, Ur = (e) => {
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
- }, It = (...e) => {
9002
+ }, Nt = (...e) => {
9003
9003
  const [r, t, n] = Array.isArray(e[0]) ? e[0] : e;
9004
- return `#${Ur(r)}${Ur(t)}${Ur(n)}`;
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), Gn = (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 ? It(
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 It(u, i, l);
9037
+ return Nt(u, i, l);
9038
9038
  }
9039
9039
  const t = Uu[r];
9040
9040
  if (t) return t;
9041
- }, me = {
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
- }, ur = {
9050
+ }, lr = {
9051
9051
  fill: "fill",
9052
9052
  stroke: "stroke"
9053
9053
  }, Ou = {
9054
9054
  tiling: [
9055
- me.circle,
9056
- me.ellipse,
9057
- me.rect,
9058
- me.line,
9059
- me.path,
9060
- me.polygon,
9061
- me.polyline,
9062
- me.stop,
9063
- `[${ur.fill}]`,
9064
- `[${ur.stroke}]`
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(ur.stroke);
9071
+ const r = e.getAttribute(lr.stroke);
9072
9072
  return r === "none" || !r ? !1 : r;
9073
- }, Cr = (e) => {
9073
+ }, Er = (e) => {
9074
9074
  if (!(e === "none" || e === "transparent" || e.startsWith("url(")))
9075
- return Gn(e);
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(ur.fill) || "#000", o = Ru(n);
9079
+ const a = n.getAttribute("stop-color"), s = n.getAttribute(lr.fill) || "#000", o = Ru(n);
9080
9080
  if (!a) {
9081
- const u = Cr(s);
9081
+ const u = Er(s);
9082
9082
  u && t.add(u);
9083
9083
  }
9084
9084
  if (a) {
9085
- const u = Cr(a);
9085
+ const u = Er(a);
9086
9086
  u && t.add(u);
9087
9087
  }
9088
9088
  if (o) {
9089
- const u = Cr(o);
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 pr().parseFromString(e, "image/svg+xml").querySelector("svg");
9098
+ const r = new cr().parseFromString(e, "image/svg+xml").querySelector("svg");
9099
9099
  return r ? Du(r) : [];
9100
9100
  };
9101
- function Nn(e) {
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 pr().parseFromString(n, "image/svg+xml"), wasWrapped: !t };
9103
+ return { doc: new cr().parseFromString(n, "image/svg+xml"), wasWrapped: !t };
9104
9104
  }
9105
- function Hn(e, r) {
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 Bu(e) {
9119
+ function Mu(e) {
9120
9120
  return !!e && e !== "none" && e !== "transparent" && !e.startsWith("url(");
9121
9121
  }
9122
- function Mu(e) {
9123
- const t = new pr().parseFromString(e, "image/svg+xml").querySelector("svg");
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 } = Nn(e), a = /* @__PURE__ */ new Map();
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 Hn(t, n);
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 } = Nn(e);
9161
- for (const s of Gu)
9162
- for (const o of t.querySelectorAll(`[${s}]`)) {
9163
- const u = o.getAttribute(s);
9164
- if (!u || !Bu(u)) continue;
9165
- const i = Gn(u), l = i ? r[i] : void 0;
9166
- l && o.setAttribute(s, l.hex);
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 a = r["#000000"];
9169
- if (a) {
9170
- const s = Nu.map((o) => `${o}:not([fill])`).join(", ");
9171
- for (const o of t.querySelectorAll(s))
9172
- o.setAttribute("fill", a.hex);
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 Hn(t, n);
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, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&apos;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
9184
9186
  }
9185
- const Pt = (e, r, t) => e / t * r, _u = ({
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 = $e,
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 A = h[R], D = A.getBoundingBox(), H = e.charToGlyph(t[R]), { advanceWidth: Z } = H;
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(), Y = Pt(
9209
+ const { x1: G, x2: z } = H.getBoundingBox(), $ = Ht(
9208
9210
  Z,
9209
9211
  n,
9210
9212
  e.unitsPerEm
9211
- ), _ = Pt(z - G, n, e.unitsPerEm);
9212
- let P = C + D.x1;
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 + Y / 2, $ = f.getTangentAtLength(V), M = Math.atan2($.y, $.x) * 180 / Math.PI, q = f.getPointAtLength(P), De = q.x, cr = q.y, Ae = D.x2 - D.x1, Be = new fe(D.x1 + Ae / 2, 0), Me = mu(
9218
- new fe(D.x1, 0),
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
- Be
9221
- ), Ce = De - Me.X, Wn = cr - Me.Y;
9222
- let se = Wu();
9223
- se = se.translate(Ce, Wn), M && (se = se.translate(D.x1 + Ae / 2, 0), se = se.rotate(M), se = se.translate(-D.x1 - Ae / 2, 0));
9224
- const zn = se.toString();
9225
- let ve = A.toPathData(2);
9226
- ve.length && !ve.endsWith("Z") && (ve += "Z", ve = ve.replace(/M/g, "ZM"), ve = ve.substring(1));
9227
- let hr;
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 vr = e.svgGlyphs.get(H.index);
9230
- if (vr) {
9231
- let Ie = Mu(vr.svg);
9232
- Ie = Pu(Ie, `g${H.index}-${R}`), o && (Ie = Hu(Ie, o)), hr = {
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: vr.viewbox,
9235
- x: D.x1,
9236
- y: D.y1,
9237
- width: D.x2 - D.x1,
9238
- height: D.y2 - D.y1,
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: A,
9245
- matrix: se,
9251
+ path: D,
9252
+ matrix: le,
9246
9253
  attributes: {
9247
- d: ve,
9254
+ d: de,
9248
9255
  "data-character": zu(t[R]),
9249
- transform: zn
9256
+ transform: dr
9250
9257
  },
9251
9258
  glyphData: {
9252
9259
  index: H.index,
9253
- bbox: D
9260
+ bbox: A
9254
9261
  },
9255
- ...hr ? { svgGlyph: hr } : {}
9262
+ ...gr ? { svgGlyph: gr } : {}
9256
9263
  });
9257
9264
  }
9258
9265
  return F;
9259
- }, Gt = { hex: "#FFFFFF" }, Pr = (e, r) => {
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
- }, Nt = (e, r) => {
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}" ${Pr("fill", r)} transform="${t.transform}" data-character="${t["data-character"]}"/>`;
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 = $e,
9275
+ spacing: t = Ye,
9269
9276
  fontSize: n = 0,
9270
- fillColour: a = Gt,
9271
- strokeColour: s = Gt
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}" ${Pr("fill", s)} ${Pr("stroke", s)} stroke-width="${p}" stroke-linejoin="round" transform="${g.transform}" data-character="${g["data-character"]}"/>`
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) => Nt(g, a)).join(`
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) => Nt(p, a)).join(`
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
- }, Ht = (e) => {
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 = $e,
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
- }), U = yu(i);
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((A) => A.length > 0);
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
- (A) => Mt({ font: t, text: A, fontSize: x, spacing: o })
9328
- ), w = Math.max(...L.map((A) => A.baseline)), B = Math.max(...L.map((A) => A.height - A.baseline)), C = w + B, F = y.length === 1 ? C : C + C * (y.length - 1) * Mn, R = [];
9329
- for (let A = 0; A < y.length; A++) {
9330
- let D;
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), D = U.path;
9342
+ xu(U.path), A = U.path;
9334
9343
  break;
9335
9344
  case "curved": {
9336
- const Z = Mt({
9345
+ const Z = Gt({
9337
9346
  font: t,
9338
- text: Pn(t),
9347
+ text: Hn(t),
9339
9348
  fontSize: x,
9340
9349
  spacing: o
9341
9350
  });
9342
- D = In({
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
- D = bu({
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: A
9366
+ lineNumber: D
9358
9367
  });
9359
9368
  break;
9360
9369
  }
9361
9370
  const H = _u({
9362
9371
  font: t,
9363
- baselinePath: D,
9364
- text: y[A],
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 Ht({ ...n, font: s });
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 Ht({ ...n, font: s, fontSize: t });
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
- $e as DEFAULT_SPACING,
9393
- Mn as LINE_HEIGHT,
9394
- In as generateCurvedBaseline,
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
- Mt as getTextMetricsAtFontSize,
9410
+ Gt as getTextMetricsAtFontSize,
9401
9411
  vu as loadOpentypeFont,
9402
9412
  yu as normaliseBaselineOption,
9403
- Ht as renderText,
9413
+ _t as renderText,
9404
9414
  xu as validateCustomBaselinePath
9405
9415
  };