@syncfusion/ej2-pdf-export 35.1.37 → 35.1.43

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.
Files changed (64) hide show
  1. package/dist/ej2-pdf-export.min.js +2 -2
  2. package/dist/ej2-pdf-export.umd.min.js +2 -2
  3. package/dist/ej2-pdf-export.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-pdf-export.es2015.js +430 -2797
  5. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  6. package/dist/es6/ej2-pdf-export.es5.js +430 -2797
  7. package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
  8. package/dist/global/ej2-pdf-export.min.js +2 -2
  9. package/dist/global/ej2-pdf-export.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +1 -1
  12. package/src/implementation/actions/action.d.ts +0 -6
  13. package/src/implementation/actions/action.js +2 -8
  14. package/src/implementation/actions/uri-action.js +2 -2
  15. package/src/implementation/annotations/annotation-collection.d.ts +0 -6
  16. package/src/implementation/annotations/annotation-collection.js +1 -7
  17. package/src/implementation/annotations/annotation.d.ts +0 -6
  18. package/src/implementation/annotations/annotation.js +5 -11
  19. package/src/implementation/annotations/document-link-annotation.js +1 -1
  20. package/src/implementation/annotations/link-annotation.js +1 -1
  21. package/src/implementation/annotations/uri-annotation.js +2 -2
  22. package/src/implementation/document/pdf-viewer-preferences.d.ts +0 -2
  23. package/src/implementation/document/pdf-viewer-preferences.js +12 -14
  24. package/src/implementation/general/pdf-destination.d.ts +0 -6
  25. package/src/implementation/general/pdf-destination.js +2 -8
  26. package/src/implementation/graphics/brushes/pdf-brushes.d.ts +10 -4
  27. package/src/implementation/graphics/brushes/pdf-brushes.js +163 -1843
  28. package/src/implementation/graphics/brushes/pdf-gradient-brush.d.ts +0 -5
  29. package/src/implementation/graphics/brushes/pdf-gradient-brush.js +18 -24
  30. package/src/implementation/graphics/figures/pdf-template.d.ts +0 -6
  31. package/src/implementation/graphics/figures/pdf-template.js +7 -14
  32. package/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.d.ts +15 -1
  33. package/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.js +45 -161
  34. package/src/implementation/graphics/fonts/pdf-standard-font.d.ts +0 -5
  35. package/src/implementation/graphics/fonts/pdf-standard-font.js +4 -10
  36. package/src/implementation/graphics/fonts/rtl/rtl-bidirectional.d.ts +7 -0
  37. package/src/implementation/graphics/fonts/rtl/rtl-bidirectional.js +31 -461
  38. package/src/implementation/graphics/fonts/rtl/rtl-text-shape.d.ts +12 -0
  39. package/src/implementation/graphics/fonts/rtl/rtl-text-shape.js +32 -76
  40. package/src/implementation/graphics/fonts/unicode-true-type-font.d.ts +0 -5
  41. package/src/implementation/graphics/fonts/unicode-true-type-font.js +37 -43
  42. package/src/implementation/graphics/images/image-decoder.d.ts +0 -6
  43. package/src/implementation/graphics/images/image-decoder.js +14 -21
  44. package/src/implementation/graphics/images/pdf-bitmap.d.ts +0 -6
  45. package/src/implementation/graphics/images/pdf-bitmap.js +0 -7
  46. package/src/implementation/graphics/pdf-graphics.d.ts +0 -5
  47. package/src/implementation/graphics/pdf-graphics.js +0 -6
  48. package/src/implementation/graphics/pdf-resources.js +15 -15
  49. package/src/implementation/graphics/pdf-transparency.d.ts +0 -6
  50. package/src/implementation/graphics/pdf-transparency.js +6 -13
  51. package/src/implementation/input-output/pdf-cross-table.d.ts +0 -6
  52. package/src/implementation/input-output/pdf-cross-table.js +2 -9
  53. package/src/implementation/pages/pdf-page-base.d.ts +0 -7
  54. package/src/implementation/pages/pdf-page-base.js +4 -11
  55. package/src/implementation/pages/pdf-page-layer.d.ts +0 -5
  56. package/src/implementation/pages/pdf-page-layer.js +0 -6
  57. package/src/implementation/pages/pdf-page.js +5 -5
  58. package/src/implementation/pages/pdf-section-collection.d.ts +0 -5
  59. package/src/implementation/pages/pdf-section-collection.js +5 -11
  60. package/src/implementation/pages/pdf-section.d.ts +0 -5
  61. package/src/implementation/pages/pdf-section.js +6 -12
  62. package/src/implementation/primitives/pdf-reference.d.ts +0 -5
  63. package/src/implementation/primitives/pdf-reference.js +1 -7
  64. package/src/implementation/primitives/pdf-stream.js +7 -7
@@ -41,7 +41,14 @@ export declare class RtlCharacters {
41
41
  private readonly WS;
42
42
  private readonly ON;
43
43
  private readonly charTypes;
44
+ /**
45
+ * Packed character type ranges. Each range is packed into three characters: start code,
46
+ * end code and the character type.
47
+ * @private
48
+ */
49
+ private static readonly charTypesData;
44
50
  constructor();
51
+ private static decodeCharTypes;
45
52
  getVisualOrder(inputText: string, isRtl: boolean): number[];
46
53
  private getCharacterCode;
47
54
  private setDefaultLevels;
@@ -113,325 +113,22 @@ var Bidi = /** @class */ (function () {
113
113
  }
114
114
  };
115
115
  Bidi.prototype.update = function () {
116
- this.mirroringShapeCharacters.setValue(40, 41);
117
- this.mirroringShapeCharacters.setValue(41, 40);
118
- this.mirroringShapeCharacters.setValue(60, 62);
119
- this.mirroringShapeCharacters.setValue(62, 60);
120
- this.mirroringShapeCharacters.setValue(91, 93);
121
- this.mirroringShapeCharacters.setValue(93, 91);
122
- this.mirroringShapeCharacters.setValue(123, 125);
123
- this.mirroringShapeCharacters.setValue(125, 123);
124
- this.mirroringShapeCharacters.setValue(171, 187);
125
- this.mirroringShapeCharacters.setValue(187, 171);
126
- this.mirroringShapeCharacters.setValue(8249, 8250);
127
- this.mirroringShapeCharacters.setValue(8250, 8249);
128
- this.mirroringShapeCharacters.setValue(8261, 8262);
129
- this.mirroringShapeCharacters.setValue(8262, 8261);
130
- this.mirroringShapeCharacters.setValue(8317, 8318);
131
- this.mirroringShapeCharacters.setValue(8318, 8317);
132
- this.mirroringShapeCharacters.setValue(8333, 8334);
133
- this.mirroringShapeCharacters.setValue(8334, 8333);
134
- this.mirroringShapeCharacters.setValue(8712, 8715);
135
- this.mirroringShapeCharacters.setValue(8713, 8716);
136
- this.mirroringShapeCharacters.setValue(8714, 8717);
137
- this.mirroringShapeCharacters.setValue(8715, 8712);
138
- this.mirroringShapeCharacters.setValue(8716, 8713);
139
- this.mirroringShapeCharacters.setValue(8717, 8714);
140
- this.mirroringShapeCharacters.setValue(8725, 10741);
141
- this.mirroringShapeCharacters.setValue(8764, 8765);
142
- this.mirroringShapeCharacters.setValue(8765, 8764);
143
- this.mirroringShapeCharacters.setValue(8771, 8909);
144
- this.mirroringShapeCharacters.setValue(8786, 8787);
145
- this.mirroringShapeCharacters.setValue(8787, 8786);
146
- this.mirroringShapeCharacters.setValue(8788, 8789);
147
- this.mirroringShapeCharacters.setValue(8789, 8788);
148
- this.mirroringShapeCharacters.setValue(8804, 8805);
149
- this.mirroringShapeCharacters.setValue(8805, 8804);
150
- this.mirroringShapeCharacters.setValue(8806, 8807);
151
- this.mirroringShapeCharacters.setValue(8807, 8806);
152
- this.mirroringShapeCharacters.setValue(8808, 8809);
153
- this.mirroringShapeCharacters.setValue(8809, 8808);
154
- this.mirroringShapeCharacters.setValue(8810, 8811);
155
- this.mirroringShapeCharacters.setValue(8811, 8810);
156
- this.mirroringShapeCharacters.setValue(8814, 8815);
157
- this.mirroringShapeCharacters.setValue(8815, 8814);
158
- this.mirroringShapeCharacters.setValue(8816, 8817);
159
- this.mirroringShapeCharacters.setValue(8817, 8816);
160
- this.mirroringShapeCharacters.setValue(8818, 8819);
161
- this.mirroringShapeCharacters.setValue(8819, 8818);
162
- this.mirroringShapeCharacters.setValue(8820, 8821);
163
- this.mirroringShapeCharacters.setValue(8821, 8820);
164
- this.mirroringShapeCharacters.setValue(8822, 8823);
165
- this.mirroringShapeCharacters.setValue(8823, 8822);
166
- this.mirroringShapeCharacters.setValue(8824, 8825);
167
- this.mirroringShapeCharacters.setValue(8825, 8824);
168
- this.mirroringShapeCharacters.setValue(8826, 8827);
169
- this.mirroringShapeCharacters.setValue(8827, 8826);
170
- this.mirroringShapeCharacters.setValue(8828, 8829);
171
- this.mirroringShapeCharacters.setValue(8829, 8828);
172
- this.mirroringShapeCharacters.setValue(8830, 8831);
173
- this.mirroringShapeCharacters.setValue(8831, 8830);
174
- this.mirroringShapeCharacters.setValue(8832, 8833);
175
- this.mirroringShapeCharacters.setValue(8833, 8832);
176
- this.mirroringShapeCharacters.setValue(8834, 8835);
177
- this.mirroringShapeCharacters.setValue(8835, 8834);
178
- this.mirroringShapeCharacters.setValue(8836, 8837);
179
- this.mirroringShapeCharacters.setValue(8837, 8836);
180
- this.mirroringShapeCharacters.setValue(8838, 8839);
181
- this.mirroringShapeCharacters.setValue(8839, 8838);
182
- this.mirroringShapeCharacters.setValue(8840, 8841);
183
- this.mirroringShapeCharacters.setValue(8841, 8840);
184
- this.mirroringShapeCharacters.setValue(8842, 8843);
185
- this.mirroringShapeCharacters.setValue(8843, 8842);
186
- this.mirroringShapeCharacters.setValue(8847, 8848);
187
- this.mirroringShapeCharacters.setValue(8848, 8847);
188
- this.mirroringShapeCharacters.setValue(8849, 8850);
189
- this.mirroringShapeCharacters.setValue(8850, 8849);
190
- this.mirroringShapeCharacters.setValue(8856, 10680);
191
- this.mirroringShapeCharacters.setValue(8866, 8867);
192
- this.mirroringShapeCharacters.setValue(8867, 8866);
193
- this.mirroringShapeCharacters.setValue(8870, 10974);
194
- this.mirroringShapeCharacters.setValue(8872, 10980);
195
- this.mirroringShapeCharacters.setValue(8873, 10979);
196
- this.mirroringShapeCharacters.setValue(8875, 10981);
197
- this.mirroringShapeCharacters.setValue(8880, 8881);
198
- this.mirroringShapeCharacters.setValue(8881, 8880);
199
- this.mirroringShapeCharacters.setValue(8882, 8883);
200
- this.mirroringShapeCharacters.setValue(8883, 8882);
201
- this.mirroringShapeCharacters.setValue(8884, 8885);
202
- this.mirroringShapeCharacters.setValue(8885, 8884);
203
- /*tslint:disable:max-func-body-length */
204
- this.mirroringShapeCharacters.setValue(8886, 8887);
205
- this.mirroringShapeCharacters.setValue(8887, 8886);
206
- this.mirroringShapeCharacters.setValue(8905, 8906);
207
- this.mirroringShapeCharacters.setValue(8906, 8905);
208
- this.mirroringShapeCharacters.setValue(8907, 8908);
209
- this.mirroringShapeCharacters.setValue(8908, 8907);
210
- this.mirroringShapeCharacters.setValue(8909, 8771);
211
- this.mirroringShapeCharacters.setValue(8912, 8913);
212
- this.mirroringShapeCharacters.setValue(8913, 8912);
213
- this.mirroringShapeCharacters.setValue(8918, 8919);
214
- this.mirroringShapeCharacters.setValue(8919, 8918);
215
- this.mirroringShapeCharacters.setValue(8920, 8921);
216
- this.mirroringShapeCharacters.setValue(8921, 8920);
217
- this.mirroringShapeCharacters.setValue(8922, 8923);
218
- this.mirroringShapeCharacters.setValue(8923, 8922);
219
- this.mirroringShapeCharacters.setValue(8924, 8925);
220
- this.mirroringShapeCharacters.setValue(8925, 8924);
221
- this.mirroringShapeCharacters.setValue(8926, 8927);
222
- this.mirroringShapeCharacters.setValue(8927, 8926);
223
- this.mirroringShapeCharacters.setValue(8928, 8929);
224
- this.mirroringShapeCharacters.setValue(8929, 8928);
225
- this.mirroringShapeCharacters.setValue(8930, 8931);
226
- this.mirroringShapeCharacters.setValue(8931, 8930);
227
- this.mirroringShapeCharacters.setValue(8932, 8933);
228
- this.mirroringShapeCharacters.setValue(8933, 8932);
229
- this.mirroringShapeCharacters.setValue(8934, 8935);
230
- this.mirroringShapeCharacters.setValue(8935, 8934);
231
- this.mirroringShapeCharacters.setValue(8936, 8937);
232
- this.mirroringShapeCharacters.setValue(8937, 8936);
233
- this.mirroringShapeCharacters.setValue(8938, 8939);
234
- this.mirroringShapeCharacters.setValue(8939, 8938);
235
- this.mirroringShapeCharacters.setValue(8940, 8941);
236
- this.mirroringShapeCharacters.setValue(8941, 8940);
237
- this.mirroringShapeCharacters.setValue(8944, 8945);
238
- this.mirroringShapeCharacters.setValue(8945, 8944);
239
- this.mirroringShapeCharacters.setValue(8946, 8954);
240
- this.mirroringShapeCharacters.setValue(8947, 8955);
241
- this.mirroringShapeCharacters.setValue(8948, 8956);
242
- this.mirroringShapeCharacters.setValue(8950, 8957);
243
- this.mirroringShapeCharacters.setValue(8951, 8958);
244
- this.mirroringShapeCharacters.setValue(8954, 8946);
245
- this.mirroringShapeCharacters.setValue(8955, 8947);
246
- this.mirroringShapeCharacters.setValue(8956, 8948);
247
- this.mirroringShapeCharacters.setValue(8957, 8950);
248
- this.mirroringShapeCharacters.setValue(8958, 8951);
249
- this.mirroringShapeCharacters.setValue(8968, 8969);
250
- this.mirroringShapeCharacters.setValue(8969, 8968);
251
- this.mirroringShapeCharacters.setValue(8970, 8971);
252
- this.mirroringShapeCharacters.setValue(8971, 8970);
253
- this.mirroringShapeCharacters.setValue(9001, 9002);
254
- this.mirroringShapeCharacters.setValue(9002, 9001);
255
- this.mirroringShapeCharacters.setValue(10088, 10089);
256
- this.mirroringShapeCharacters.setValue(10089, 10088);
257
- this.mirroringShapeCharacters.setValue(10090, 10091);
258
- this.mirroringShapeCharacters.setValue(10091, 10090);
259
- this.mirroringShapeCharacters.setValue(10092, 10093);
260
- this.mirroringShapeCharacters.setValue(10093, 10092);
261
- this.mirroringShapeCharacters.setValue(10094, 10095);
262
- this.mirroringShapeCharacters.setValue(10095, 10094);
263
- this.mirroringShapeCharacters.setValue(10096, 10097);
264
- this.mirroringShapeCharacters.setValue(10097, 10096);
265
- this.mirroringShapeCharacters.setValue(10098, 10099);
266
- this.mirroringShapeCharacters.setValue(10099, 10098);
267
- this.mirroringShapeCharacters.setValue(10100, 10101);
268
- this.mirroringShapeCharacters.setValue(10101, 10100);
269
- this.mirroringShapeCharacters.setValue(10197, 10198);
270
- this.mirroringShapeCharacters.setValue(10198, 10197);
271
- this.mirroringShapeCharacters.setValue(10205, 10206);
272
- this.mirroringShapeCharacters.setValue(10206, 10205);
273
- this.mirroringShapeCharacters.setValue(10210, 10211);
274
- this.mirroringShapeCharacters.setValue(10211, 10210);
275
- this.mirroringShapeCharacters.setValue(10212, 10213);
276
- this.mirroringShapeCharacters.setValue(10213, 10212);
277
- this.mirroringShapeCharacters.setValue(10214, 10215);
278
- this.mirroringShapeCharacters.setValue(10215, 10214);
279
- this.mirroringShapeCharacters.setValue(10216, 10217);
280
- this.mirroringShapeCharacters.setValue(10217, 10216);
281
- this.mirroringShapeCharacters.setValue(10218, 10219);
282
- this.mirroringShapeCharacters.setValue(10219, 10218);
283
- this.mirroringShapeCharacters.setValue(10627, 10628);
284
- this.mirroringShapeCharacters.setValue(10628, 10627);
285
- this.mirroringShapeCharacters.setValue(10629, 10630);
286
- this.mirroringShapeCharacters.setValue(10630, 10629);
287
- this.mirroringShapeCharacters.setValue(10631, 10632);
288
- this.mirroringShapeCharacters.setValue(10632, 10631);
289
- this.mirroringShapeCharacters.setValue(10633, 10634);
290
- this.mirroringShapeCharacters.setValue(10634, 10633);
291
- this.mirroringShapeCharacters.setValue(10635, 10636);
292
- this.mirroringShapeCharacters.setValue(10636, 10635);
293
- this.mirroringShapeCharacters.setValue(10637, 10640);
294
- this.mirroringShapeCharacters.setValue(10638, 10639);
295
- this.mirroringShapeCharacters.setValue(10639, 10638);
296
- this.mirroringShapeCharacters.setValue(10640, 10637);
297
- this.mirroringShapeCharacters.setValue(10641, 10642);
298
- this.mirroringShapeCharacters.setValue(10642, 10641);
299
- this.mirroringShapeCharacters.setValue(10643, 10644);
300
- this.mirroringShapeCharacters.setValue(10644, 10643);
301
- this.mirroringShapeCharacters.setValue(10645, 10646);
302
- this.mirroringShapeCharacters.setValue(10646, 10645);
303
- this.mirroringShapeCharacters.setValue(10647, 10648);
304
- this.mirroringShapeCharacters.setValue(10648, 10647);
305
- this.mirroringShapeCharacters.setValue(10680, 8856);
306
- this.mirroringShapeCharacters.setValue(10688, 10689);
307
- this.mirroringShapeCharacters.setValue(10689, 10688);
308
- this.mirroringShapeCharacters.setValue(10692, 10693);
309
- this.mirroringShapeCharacters.setValue(10693, 10692);
310
- this.mirroringShapeCharacters.setValue(10703, 10704);
311
- this.mirroringShapeCharacters.setValue(10704, 10703);
312
- this.mirroringShapeCharacters.setValue(10705, 10706);
313
- this.mirroringShapeCharacters.setValue(10706, 10705);
314
- this.mirroringShapeCharacters.setValue(10708, 10709);
315
- this.mirroringShapeCharacters.setValue(10709, 10708);
316
- this.mirroringShapeCharacters.setValue(10712, 10713);
317
- this.mirroringShapeCharacters.setValue(10713, 10712);
318
- this.mirroringShapeCharacters.setValue(10714, 10715);
319
- this.mirroringShapeCharacters.setValue(10715, 10714);
320
- this.mirroringShapeCharacters.setValue(10741, 8725);
321
- this.mirroringShapeCharacters.setValue(10744, 10745);
322
- this.mirroringShapeCharacters.setValue(10745, 10744);
323
- this.mirroringShapeCharacters.setValue(10748, 10749);
324
- this.mirroringShapeCharacters.setValue(10749, 10748);
325
- this.mirroringShapeCharacters.setValue(10795, 10796);
326
- this.mirroringShapeCharacters.setValue(10796, 10795);
327
- this.mirroringShapeCharacters.setValue(10797, 10796);
328
- this.mirroringShapeCharacters.setValue(10798, 10797);
329
- this.mirroringShapeCharacters.setValue(10804, 10805);
330
- this.mirroringShapeCharacters.setValue(10805, 10804);
331
- this.mirroringShapeCharacters.setValue(10812, 10813);
332
- this.mirroringShapeCharacters.setValue(10813, 10812);
333
- this.mirroringShapeCharacters.setValue(10852, 10853);
334
- this.mirroringShapeCharacters.setValue(10853, 10852);
335
- this.mirroringShapeCharacters.setValue(10873, 10874);
336
- this.mirroringShapeCharacters.setValue(10874, 10873);
337
- this.mirroringShapeCharacters.setValue(10877, 10878);
338
- this.mirroringShapeCharacters.setValue(10878, 10877);
339
- this.mirroringShapeCharacters.setValue(10879, 10880);
340
- this.mirroringShapeCharacters.setValue(10880, 10879);
341
- this.mirroringShapeCharacters.setValue(10881, 10882);
342
- this.mirroringShapeCharacters.setValue(10882, 10881);
343
- this.mirroringShapeCharacters.setValue(10883, 10884);
344
- this.mirroringShapeCharacters.setValue(10884, 10883);
345
- this.mirroringShapeCharacters.setValue(10891, 10892);
346
- this.mirroringShapeCharacters.setValue(10892, 10891);
347
- this.mirroringShapeCharacters.setValue(10897, 10898);
348
- this.mirroringShapeCharacters.setValue(10898, 10897);
349
- this.mirroringShapeCharacters.setValue(10899, 10900);
350
- this.mirroringShapeCharacters.setValue(10900, 10899);
351
- this.mirroringShapeCharacters.setValue(10901, 10902);
352
- this.mirroringShapeCharacters.setValue(10902, 10901);
353
- this.mirroringShapeCharacters.setValue(10903, 10904);
354
- this.mirroringShapeCharacters.setValue(10904, 10903);
355
- this.mirroringShapeCharacters.setValue(10905, 10906);
356
- this.mirroringShapeCharacters.setValue(10906, 10905);
357
- this.mirroringShapeCharacters.setValue(10907, 10908);
358
- this.mirroringShapeCharacters.setValue(10908, 10907);
359
- this.mirroringShapeCharacters.setValue(10913, 10914);
360
- this.mirroringShapeCharacters.setValue(10914, 10913);
361
- this.mirroringShapeCharacters.setValue(10918, 10919);
362
- this.mirroringShapeCharacters.setValue(10919, 10918);
363
- this.mirroringShapeCharacters.setValue(10920, 10921);
364
- this.mirroringShapeCharacters.setValue(10921, 10920);
365
- this.mirroringShapeCharacters.setValue(10922, 10923);
366
- this.mirroringShapeCharacters.setValue(10923, 10922);
367
- this.mirroringShapeCharacters.setValue(10924, 10925);
368
- this.mirroringShapeCharacters.setValue(10925, 10924);
369
- this.mirroringShapeCharacters.setValue(10927, 10928);
370
- this.mirroringShapeCharacters.setValue(10928, 10927);
371
- this.mirroringShapeCharacters.setValue(10931, 10932);
372
- this.mirroringShapeCharacters.setValue(10932, 10931);
373
- this.mirroringShapeCharacters.setValue(10939, 10940);
374
- this.mirroringShapeCharacters.setValue(10940, 10939);
375
- this.mirroringShapeCharacters.setValue(10941, 10942);
376
- this.mirroringShapeCharacters.setValue(10942, 10941);
377
- this.mirroringShapeCharacters.setValue(10943, 10944);
378
- this.mirroringShapeCharacters.setValue(10944, 10943);
379
- this.mirroringShapeCharacters.setValue(10945, 10946);
380
- this.mirroringShapeCharacters.setValue(10946, 10945);
381
- this.mirroringShapeCharacters.setValue(10947, 10948);
382
- this.mirroringShapeCharacters.setValue(10948, 10947);
383
- this.mirroringShapeCharacters.setValue(10949, 10950);
384
- this.mirroringShapeCharacters.setValue(10950, 10949);
385
- this.mirroringShapeCharacters.setValue(10957, 10958);
386
- this.mirroringShapeCharacters.setValue(10958, 10957);
387
- this.mirroringShapeCharacters.setValue(10959, 10960);
388
- this.mirroringShapeCharacters.setValue(10960, 10959);
389
- this.mirroringShapeCharacters.setValue(10961, 10962);
390
- this.mirroringShapeCharacters.setValue(10962, 10961);
391
- this.mirroringShapeCharacters.setValue(10963, 10964);
392
- this.mirroringShapeCharacters.setValue(10964, 10963);
393
- this.mirroringShapeCharacters.setValue(10965, 10966);
394
- this.mirroringShapeCharacters.setValue(10966, 10965);
395
- this.mirroringShapeCharacters.setValue(10974, 8870);
396
- this.mirroringShapeCharacters.setValue(10979, 8873);
397
- this.mirroringShapeCharacters.setValue(10980, 8872);
398
- this.mirroringShapeCharacters.setValue(10981, 8875);
399
- this.mirroringShapeCharacters.setValue(10988, 10989);
400
- this.mirroringShapeCharacters.setValue(10989, 10988);
401
- this.mirroringShapeCharacters.setValue(10999, 11000);
402
- this.mirroringShapeCharacters.setValue(11000, 10999);
403
- this.mirroringShapeCharacters.setValue(11001, 11002);
404
- this.mirroringShapeCharacters.setValue(11002, 11001);
405
- this.mirroringShapeCharacters.setValue(12296, 12297);
406
- this.mirroringShapeCharacters.setValue(12297, 12296);
407
- this.mirroringShapeCharacters.setValue(12298, 12299);
408
- this.mirroringShapeCharacters.setValue(12299, 12298);
409
- this.mirroringShapeCharacters.setValue(12300, 12301);
410
- this.mirroringShapeCharacters.setValue(12301, 12300);
411
- this.mirroringShapeCharacters.setValue(12302, 12303);
412
- this.mirroringShapeCharacters.setValue(12303, 12302);
413
- this.mirroringShapeCharacters.setValue(12304, 12305);
414
- this.mirroringShapeCharacters.setValue(12305, 12304);
415
- this.mirroringShapeCharacters.setValue(12308, 12309);
416
- this.mirroringShapeCharacters.setValue(12309, 12308);
417
- this.mirroringShapeCharacters.setValue(12310, 12311);
418
- this.mirroringShapeCharacters.setValue(12311, 12310);
419
- this.mirroringShapeCharacters.setValue(12312, 12313);
420
- this.mirroringShapeCharacters.setValue(12313, 12312);
421
- this.mirroringShapeCharacters.setValue(12314, 12315);
422
- this.mirroringShapeCharacters.setValue(12315, 12314);
423
- this.mirroringShapeCharacters.setValue(65288, 65289);
424
- this.mirroringShapeCharacters.setValue(65289, 65288);
425
- this.mirroringShapeCharacters.setValue(65308, 65310);
426
- this.mirroringShapeCharacters.setValue(65310, 65308);
427
- this.mirroringShapeCharacters.setValue(65339, 65341);
428
- this.mirroringShapeCharacters.setValue(65341, 65339);
429
- this.mirroringShapeCharacters.setValue(65371, 65373);
430
- this.mirroringShapeCharacters.setValue(65373, 65371);
431
- this.mirroringShapeCharacters.setValue(65375, 65376);
432
- this.mirroringShapeCharacters.setValue(65376, 65375);
433
- this.mirroringShapeCharacters.setValue(65378, 65379);
434
- this.mirroringShapeCharacters.setValue(65379, 65378);
116
+ // Symmetric mirrored pairs: both (a, b) and (b, a) are mirrored. Each pair is packed
117
+ // into two chars to keep the emitted code small.
118
+ /* tslint:disable-next-line:max-line-length */
119
+ var symmetricPairs = '\u0028\u0029\u003c\u003e\u005b\u005d\u007b\u007d\u00ab\u00bb\u2039\u203a\u2045\u2046\u207d\u207e\u208d\u208e\u2208\u220b\u2209\u220c\u220a\u220d\u2215\u29f5\u223c\u223d\u2243\u22cd\u2252\u2253\u2254\u2255\u2264\u2265\u2266\u2267\u2268\u2269\u226a\u226b\u226e\u226f\u2270\u2271\u2272\u2273\u2274\u2275\u2276\u2277\u2278\u2279\u227a\u227b\u227c\u227d\u227e\u227f\u2280\u2281\u2282\u2283\u2284\u2285\u2286\u2287\u2288\u2289\u228a\u228b\u228f\u2290\u2291\u2292\u2298\u29b8\u22a2\u22a3\u22a6\u2ade\u22a8\u2ae4\u22a9\u2ae3\u22ab\u2ae5\u22b0\u22b1\u22b2\u22b3\u22b4\u22b5\u22b6\u22b7\u22c9\u22ca\u22cb\u22cc\u22d0\u22d1\u22d6\u22d7\u22d8\u22d9\u22da\u22db\u22dc\u22dd\u22de\u22df\u22e0\u22e1\u22e2\u22e3\u22e4\u22e5\u22e6\u22e7\u22e8\u22e9\u22ea\u22eb\u22ec\u22ed\u22f0\u22f1\u22f2\u22fa\u22f3\u22fb\u22f4\u22fc\u22f6\u22fd\u22f7\u22fe\u2308\u2309\u230a\u230b\u2329\u232a\u2768\u2769\u276a\u276b\u276c\u276d\u276e\u276f\u2770\u2771\u2772\u2773\u2774\u2775\u27d5\u27d6\u27dd\u27de\u27e2\u27e3\u27e4\u27e5\u27e6\u27e7\u27e8\u27e9\u27ea\u27eb\u2983\u2984\u2985\u2986\u2987\u2988\u2989\u298a\u298b\u298c\u298d\u2990\u298e\u298f\u2991\u2992\u2993\u2994\u2995\u2996\u2997\u2998\u29c0\u29c1\u29c4\u29c5\u29cf\u29d0\u29d1\u29d2\u29d4\u29d5\u29d8\u29d9\u29da\u29db\u29f8\u29f9\u29fc\u29fd\u2a2b\u2a2c\u2a34\u2a35\u2a3c\u2a3d\u2a64\u2a65\u2a79\u2a7a\u2a7d\u2a7e\u2a7f\u2a80\u2a81\u2a82\u2a83\u2a84\u2a8b\u2a8c\u2a91\u2a92\u2a93\u2a94\u2a95\u2a96\u2a97\u2a98\u2a99\u2a9a\u2a9b\u2a9c\u2aa1\u2aa2\u2aa6\u2aa7\u2aa8\u2aa9\u2aaa\u2aab\u2aac\u2aad\u2aaf\u2ab0\u2ab3\u2ab4\u2abb\u2abc\u2abd\u2abe\u2abf\u2ac0\u2ac1\u2ac2\u2ac3\u2ac4\u2ac5\u2ac6\u2acd\u2ace\u2acf\u2ad0\u2ad1\u2ad2\u2ad3\u2ad4\u2ad5\u2ad6\u2aec\u2aed\u2af7\u2af8\u2af9\u2afa\u3008\u3009\u300a\u300b\u300c\u300d\u300e\u300f\u3010\u3011\u3014\u3015\u3016\u3017\u3018\u3019\u301a\u301b\uff08\uff09\uff1c\uff1e\uff3b\uff3d\uff5b\uff5d\uff5f\uff60\uff62\uff63';
120
+ for (var i = 0; i < symmetricPairs.length; i += 2) {
121
+ var a = symmetricPairs.charCodeAt(i);
122
+ var b = symmetricPairs.charCodeAt(i + 1);
123
+ this.mirroringShapeCharacters.setValue(a, b);
124
+ this.mirroringShapeCharacters.setValue(b, a);
125
+ }
126
+ // Asymmetric mirrored pairs.
127
+ /* tslint:disable-next-line:max-line-length */
128
+ var asymmetricPairs = '\u2a2d\u2a2c\u2a2e\u2a2d';
129
+ for (var i = 0; i < asymmetricPairs.length; i += 2) {
130
+ this.mirroringShapeCharacters.setValue(asymmetricPairs.charCodeAt(i), asymmetricPairs.charCodeAt(i + 1));
131
+ }
435
132
  };
436
133
  return Bidi;
437
134
  }());
@@ -535,148 +232,7 @@ var RtlCharacters = /** @class */ (function () {
535
232
  /// <summary>
536
233
  /// RTL character types.
537
234
  /// </summary>
538
- this.charTypes = [
539
- this.L, this.EN, this.BN, this.ES, this.ES, this.S, this.ET, this.ET, this.B, this.AN, this.AN, this.S, this.CS, this.CS,
540
- this.WS, this.NSM, this.NSM, this.B, this.BN, 27, this.BN, 28, 30, this.B, 31, 31, this.S, 32, 32, this.WS, 33, 34,
541
- this.ON, 35, 37, this.ET, 38, 42, this.ON, 43, 43, this.ET, 44, 44, this.CS, 45, 45, this.ET, 46, 46, this.CS,
542
- 47, 47, this.CS, 48, 57, this.EN, 58, 58, this.CS, 59, 64, this.ON, 65, 90, this.L, 91, 96, this.ON, 97, 122, this.L,
543
- 123, 126, this.ON, 127, 132, this.BN, 133, 133, this.B, 134, 159, this.BN, 160, 160, this.CS,
544
- 161, 161, this.ON, 162, 165, this.ET, 166, 169, this.ON, 170, 170, this.L, 171, 175, this.ON,
545
- 176, 177, this.ET, 178, 179, this.EN, 180, 180, this.ON, 181, 181, this.L, 182, 184, this.ON,
546
- 185, 185, this.EN, 186, 186, this.L, 187, 191, this.ON, 192, 214, this.L, 215, 215, this.ON,
547
- 216, 246, this.L, 247, 247, this.ON, 248, 696, this.L, 697, 698, this.ON, 699, 705, this.L,
548
- 706, 719, this.ON, 720, 721, this.L, 722, 735, this.ON, 736, 740, this.L, 741, 749, this.ON,
549
- 750, 750, this.L, 751, 767, this.ON, 768, 855, this.NSM, 856, 860, this.L, 861, 879, this.NSM,
550
- 880, 883, this.L, 884, 885, this.ON, 886, 893, this.L, 894, 894, this.ON, 895, 899, this.L,
551
- 900, 901, this.ON, 902, 902, this.L, 903, 903, this.ON, 904, 1013, this.L, 1014, 1014, this.ON,
552
- 1015, 1154, this.L, 1155, 1158, this.NSM, 1159, 1159, this.L, 1160, 1161, this.NSM,
553
- 1162, 1417, this.L, 1418, 1418, this.ON, 1419, 1424, this.L, 1425, 1441, this.NSM,
554
- 1442, 1442, this.L, 1443, 1465, this.NSM, 1466, 1466, this.L, 1467, 1469, this.NSM,
555
- 1470, 1470, this.R, 1471, 1471, this.NSM, 1472, 1472, this.R, 1473, 1474, this.NSM,
556
- 1475, 1475, this.R, 1476, 1476, this.NSM, 1477, 1487, this.L, 1488, 1514, this.R,
557
- 1515, 1519, this.L, 1520, 1524, this.R, 1525, 1535, this.L, 1536, 1539, this.AL,
558
- 1540, 1547, this.L, 1548, 1548, this.CS, 1549, 1549, this.AL, 1550, 1551, this.ON,
559
- 1552, 1557, this.NSM, 1558, 1562, this.L, 1563, 1563, this.AL, 1564, 1566, this.L,
560
- 1567, 1567, this.AL, 1568, 1568, this.L, 1569, 1594, this.AL, 1595, 1599, this.L,
561
- 1600, 1610, this.AL, 1611, 1624, this.NSM, 1625, 1631, this.L, 1632, 1641, this.AN,
562
- 1642, 1642, this.ET, 1643, 1644, this.AN, 1645, 1647, this.AL, 1648, 1648, this.NSM,
563
- 1649, 1749, this.AL, 1750, 1756, this.NSM, 1757, 1757, this.AL, 1758, 1764, this.NSM,
564
- 1765, 1766, this.AL, 1767, 1768, this.NSM, 1769, 1769, this.ON, 1770, 1773, this.NSM,
565
- 1774, 1775, this.AL, 1776, 1785, this.EN, 1786, 1805, this.AL, 1806, 1806, this.L,
566
- 1807, 1807, this.BN, 1808, 1808, this.AL, 1809, 1809, this.NSM, 1810, 1839, this.AL,
567
- 1840, 1866, this.NSM, 1867, 1868, this.L, 1869, 1871, this.AL, 1872, 1919, this.L,
568
- 1920, 1957, this.AL, 1958, 1968, this.NSM, 1969, 1969, this.AL, 1970, 2304, this.L,
569
- 2305, 2306, this.NSM, 2307, 2363, this.L, 2364, 2364, this.NSM, 2365, 2368, this.L,
570
- 2369, 2376, this.NSM, 2377, 2380, this.L, 2381, 2381, this.NSM, 2382, 2384, this.L,
571
- 2385, 2388, this.NSM, 2389, 2401, this.L, 2402, 2403, this.NSM, 2404, 2432, this.L,
572
- 2433, 2433, this.NSM, 2434, 2491, this.L, 2492, 2492, this.NSM, 2493, 2496, this.L,
573
- 2497, 2500, this.NSM, 2501, 2508, this.L, 2509, 2509, this.NSM, 2510, 2529, this.L,
574
- 2530, 2531, this.NSM, 2532, 2545, this.L, 2546, 2547, this.ET, 2548, 2560, this.L,
575
- 2561, 2562, this.NSM, 2563, 2619, this.L, 2620, 2620, this.NSM, 2621, 2624, this.L,
576
- 2625, 2626, this.NSM, 2627, 2630, this.L, 2631, 2632, this.NSM, 2633, 2634, this.L,
577
- 2635, 2637, this.NSM, 2638, 2671, this.L, 2672, 2673, this.NSM, 2674, 2688, this.L,
578
- 2689, 2690, this.NSM, 2691, 2747, this.L, 2748, 2748, this.NSM, 2749, 2752, this.L,
579
- 2753, 2757, this.NSM, 2758, 2758, this.L, 2759, 2760, this.NSM, 2761, 2764, this.L,
580
- 2765, 2765, this.NSM, 2766, 2785, this.L, 2786, 2787, this.NSM, 2788, 2800, this.L,
581
- 2801, 2801, this.ET, 2802, 2816, this.L, 2817, 2817, this.NSM, 2818, 2875, this.L,
582
- 2876, 2876, this.NSM, 2877, 2878, this.L, 2879, 2879, this.NSM, 2880, 2880, this.L,
583
- 2881, 2883, this.NSM, 2884, 2892, this.L, 2893, 2893, this.NSM, 2894, 2901, this.L,
584
- 2902, 2902, this.NSM, 2903, 2945, this.L, 2946, 2946, this.NSM, 2947, 3007, this.L,
585
- 3008, 3008, this.NSM, 3009, 3020, this.L, 3021, 3021, this.NSM, 3022, 3058, this.L,
586
- 3059, 3064, this.ON, 3065, 3065, this.ET, 3066, 3066, this.ON, 3067, 3133, this.L,
587
- 3134, 3136, this.NSM, 3137, 3141, this.L, 3142, 3144, this.NSM, 3145, 3145, this.L,
588
- 3146, 3149, this.NSM, 3150, 3156, this.L, 3157, 3158, this.NSM, 3159, 3259, this.L,
589
- 3260, 3260, this.NSM, 3261, 3275, this.L, 3276, 3277, this.NSM, 3278, 3392, this.L,
590
- 3393, 3395, this.NSM, 3396, 3404, this.L, 3405, 3405, this.NSM, 3406, 3529, this.L,
591
- 3530, 3530, this.NSM, 3531, 3537, this.L, 3538, 3540, this.NSM, 3541, 3541, this.L,
592
- 3542, 3542, this.NSM, 3543, 3632, this.L, 3633, 3633, this.NSM, 3634, 3635, this.L,
593
- 3636, 3642, this.NSM, 3643, 3646, this.L, 3647, 3647, this.ET, 3648, 3654, this.L,
594
- 3655, 3662, this.NSM, 3663, 3760, this.L, 3761, 3761, this.NSM, 3762, 3763, this.L,
595
- 3764, 3769, this.NSM, 3770, 3770, this.L, 3771, 3772, this.NSM, 3773, 3783, this.L,
596
- 3784, 3789, this.NSM, 3790, 3863, this.L, 3864, 3865, this.NSM, 3866, 3892, this.L,
597
- 3893, 3893, this.NSM, 3894, 3894, this.L, 3895, 3895, this.NSM, 3896, 3896, this.L,
598
- 3897, 3897, this.NSM, 3898, 3901, this.ON, 3902, 3952, this.L, 3953, 3966, this.NSM,
599
- 3967, 3967, this.L, 3968, 3972, this.NSM, 3973, 3973, this.L, 3974, 3975, this.NSM,
600
- 3976, 3983, this.L, 3984, 3991, this.NSM, 3992, 3992, this.L, 3993, 4028, this.NSM,
601
- 4029, 4037, this.L, 4038, 4038, this.NSM, 4039, 4140, this.L, 4141, 4144, this.NSM,
602
- 4145, 4145, this.L, 4146, 4146, this.NSM, 4147, 4149, this.L, 4150, 4151, this.NSM,
603
- 4152, 4152, this.L, 4153, 4153, this.NSM, 4154, 4183, this.L, 4184, 4185, this.NSM,
604
- 4186, 5759, this.L, 5760, 5760, this.WS, 5761, 5786, this.L, 5787, 5788, this.ON,
605
- 5789, 5905, this.L, 5906, 5908, this.NSM, 5909, 5937, this.L, 5938, 5940, this.NSM,
606
- 5941, 5969, this.L, 5970, 5971, this.NSM, 5972, 6001, this.L, 6002, 6003, this.NSM,
607
- 6004, 6070, this.L, 6071, 6077, this.NSM, 6078, 6085, this.L, 6086, 6086, this.NSM,
608
- 6087, 6088, this.L, 6089, 6099, this.NSM, 6100, 6106, this.L, 6107, 6107, this.ET,
609
- 6108, 6108, this.L, 6109, 6109, this.NSM, 6110, 6127, this.L, 6128, 6137, this.ON,
610
- 6138, 6143, this.L, 6144, 6154, this.ON, 6155, 6157, this.NSM, 6158, 6158, this.WS,
611
- 6159, 6312, this.L, 6313, 6313, this.NSM, 6314, 6431, this.L, 6432, 6434, this.NSM,
612
- 6435, 6438, this.L, 6439, 6443, this.NSM, 6444, 6449, this.L, 6450, 6450, this.NSM,
613
- 6451, 6456, this.L, 6457, 6459, this.NSM, 6460, 6463, this.L, 6464, 6464, this.ON,
614
- 6465, 6467, this.L, 6468, 6469, this.ON, 6470, 6623, this.L, 6624, 6655, this.ON,
615
- 6656, 8124, this.L, 8125, 8125, this.ON, 8126, 8126, this.L, 8127, 8129, this.ON,
616
- 8130, 8140, this.L, 8141, 8143, this.ON, 8144, 8156, this.L, 8157, 8159, this.ON,
617
- 8160, 8172, this.L, 8173, 8175, this.ON, 8176, 8188, this.L, 8189, 8190, this.ON,
618
- 8191, 8191, this.L, 8192, 8202, this.WS, 8203, 8205, this.BN, 8206, 8206, this.L,
619
- 8207, 8207, this.R, 8208, 8231, this.ON, 8232, 8232, this.WS, 8233, 8233, this.B,
620
- 8234, 8234, this.LRE, 8235, 8235, this.RLE, 8236, 8236, this.PDF, 8237, 8237, this.LRO,
621
- 8238, 8238, this.RLO, 8239, 8239, this.WS, 8240, 8244, this.ET, 8245, 8276, this.ON,
622
- 8277, 8278, this.L, 8279, 8279, this.ON, 8280, 8286, this.L, 8287, 8287, this.WS,
623
- 8288, 8291, this.BN, 8292, 8297, this.L, 8298, 8303, this.BN, 8304, 8304, this.EN,
624
- 8305, 8307, this.L, 8308, 8313, this.EN, 8314, 8315, this.ET, 8316, 8318, this.ON,
625
- 8319, 8319, this.L, 8320, 8329, this.EN, 8330, 8331, this.ET, 8332, 8334, this.ON,
626
- 8335, 8351, this.L, 8352, 8369, this.ET, 8370, 8399, this.L, 8400, 8426, this.NSM,
627
- 8427, 8447, this.L, 8448, 8449, this.ON, 8450, 8450, this.L, 8451, 8454, this.ON,
628
- 8455, 8455, this.L, 8456, 8457, this.ON, 8458, 8467, this.L, 8468, 8468, this.ON,
629
- 8469, 8469, this.L, 8470, 8472, this.ON, 8473, 8477, this.L, 8478, 8483, this.ON,
630
- 8484, 8484, this.L, 8485, 8485, this.ON, 8486, 8486, this.L, 8487, 8487, this.ON,
631
- 8488, 8488, this.L, 8489, 8489, this.ON, 8490, 8493, this.L, 8494, 8494, this.ET,
632
- 8495, 8497, this.L, 8498, 8498, this.ON, 8499, 8505, this.L, 8506, 8507, this.ON,
633
- 8508, 8511, this.L, 8512, 8516, this.ON, 8517, 8521, this.L, 8522, 8523, this.ON,
634
- 8524, 8530, this.L, 8531, 8543, this.ON, 8544, 8591, this.L, 8592, 8721, this.ON,
635
- 8722, 8723, this.ET, 8724, 9013, this.ON, 9014, 9082, this.L, 9083, 9108, this.ON,
636
- 9109, 9109, this.L, 9110, 9168, this.ON, 9169, 9215, this.L, 9216, 9254, this.ON,
637
- 9255, 9279, this.L, 9280, 9290, this.ON, 9291, 9311, this.L, 9312, 9371, this.EN,
638
- 9372, 9449, this.L, 9450, 9450, this.EN, 9451, 9751, this.ON, 9752, 9752, this.L,
639
- 9753, 9853, this.ON, 9854, 9855, this.L, 9856, 9873, this.ON, 9874, 9887, this.L,
640
- 9888, 9889, this.ON, 9890, 9984, this.L, 9985, 9988, this.ON, 9989, 9989, this.L,
641
- 9990, 9993, this.ON, 9994, 9995, this.L, 9996, 10023, this.ON, 10024, 10024, this.L,
642
- 10025, 10059, this.ON, 10060, 10060, this.L, 10061, 10061, this.ON, 10062, 10062, this.L,
643
- 10063, 10066, this.ON, 10067, 10069, this.L, 10070, 10070, this.ON, 10071, 10071, this.L,
644
- 10072, 10078, this.ON, 10079, 10080, this.L, 10081, 10132, this.ON, 10133, 10135, this.L,
645
- 10136, 10159, this.ON, 10160, 10160, this.L, 10161, 10174, this.ON, 10175, 10191, this.L,
646
- 10192, 10219, this.ON, 10220, 10223, this.L, 10224, 11021, this.ON, 11022, 11903, this.L,
647
- 11904, 11929, this.ON, 11930, 11930, this.L, 11931, 12019, this.ON, 12020, 12031, this.L,
648
- 12032, 12245, this.ON, 12246, 12271, this.L, 12272, 12283, this.ON, 12284, 12287, this.L,
649
- 12288, 12288, this.WS, 12289, 12292, this.ON, 12293, 12295, this.L, 12296, 12320, this.ON,
650
- 12321, 12329, this.L, 12330, 12335, this.NSM, 12336, 12336, this.ON, 12337, 12341, this.L,
651
- 12342, 12343, this.ON, 12344, 12348, this.L, 12349, 12351, this.ON, 12352, 12440, this.L,
652
- 12441, 12442, this.NSM, 12443, 12444, this.ON, 12445, 12447, this.L, 12448, 12448, this.ON,
653
- 12449, 12538, this.L, 12539, 12539, this.ON, 12540, 12828, this.L, 12829, 12830, this.ON,
654
- 12831, 12879, this.L, 12880, 12895, this.ON, 12896, 12923, this.L, 12924, 12925, this.ON,
655
- 12926, 12976, this.L, 12977, 12991, this.ON, 12992, 13003, this.L, 13004, 13007, this.ON,
656
- 13008, 13174, this.L, 13175, 13178, this.ON, 13179, 13277, this.L, 13278, 13279, this.ON,
657
- 13280, 13310, this.L, 13311, 13311, this.ON, 13312, 19903, this.L, 19904, 19967, this.ON,
658
- 19968, 42127, this.L, 42128, 42182, this.ON, 42183, 64284, this.L, 64285, 64285, this.R,
659
- 64286, 64286, this.NSM, 64287, 64296, this.R, 64297, 64297, this.ET, 64298, 64310, this.R,
660
- 64311, 64311, this.L, 64312, 64316, this.R, 64317, 64317, this.L, 64318, 64318, this.R,
661
- 64319, 64319, this.L, 64320, 64321, this.R, 64322, 64322, this.L, 64323, 64324, this.R,
662
- 64325, 64325, this.L, 64326, 64335, this.R, 64336, 64433, this.AL, 64434, 64466, this.L,
663
- 64467, 64829, this.AL, 64830, 64831, this.ON, 64832, 64847, this.L, 64848, 64911, this.AL,
664
- 64912, 64913, this.L, 64914, 64967, this.AL, 64968, 65007, this.L, 65008, 65020, this.AL,
665
- 65021, 65021, this.ON, 65022, 65023, this.L, 65024, 65039, this.NSM, 65040, 65055, this.L,
666
- 65056, 65059, this.NSM, 65060, 65071, this.L, 65072, 65103, this.ON, 65104, 65104, this.CS,
667
- 65105, 65105, this.ON, 65106, 65106, this.CS, 65107, 65107, this.L, 65108, 65108, this.ON,
668
- 65109, 65109, this.CS, 65110, 65118, this.ON, 65119, 65119, this.ET, 65120, 65121, this.ON,
669
- 65122, 65123, this.ET, 65124, 65126, this.ON, 65127, 65127, this.L, 65128, 65128, this.ON,
670
- 65129, 65130, this.ET, 65131, 65131, this.ON, 65132, 65135, this.L, 65136, 65140, this.AL,
671
- 65141, 65141, this.L, 65142, 65276, this.AL, 65277, 65278, this.L, 65279, 65279, this.BN,
672
- 65280, 65280, this.L, 65281, 65282, this.ON, 65283, 65285, this.ET, 65286, 65290, this.ON,
673
- 65291, 65291, this.ET, 65292, 65292, this.CS, 65293, 65293, this.ET, 65294, 65294, this.CS,
674
- 65295, 65295, this.ES, 65296, 65305, this.EN, 65306, 65306, this.CS, 65307, 65312, this.ON,
675
- 65313, 65338, this.L, 65339, 65344, this.ON, 65345, 65370, this.L, 65371, 65381, this.ON,
676
- 65382, 65503, this.L, 65504, 65505, this.ET, 65506, 65508, this.ON, 65509, 65510, this.ET,
677
- 65511, 65511, this.L, 65512, 65518, this.ON, 65519, 65528, this.L, 65529, 65531, this.BN,
678
- 65532, 65533, this.ON, 65534, 65535, this.L
679
- ];
235
+ this.charTypes = RtlCharacters.decodeCharTypes(RtlCharacters.charTypesData);
680
236
  for (var i = 0; i < this.charTypes.length; ++i) {
681
237
  var start = this.charTypes[i];
682
238
  var end = this.charTypes[++i];
@@ -688,6 +244,13 @@ var RtlCharacters = /** @class */ (function () {
688
244
  }
689
245
  //#endregion
690
246
  //#region implementation
247
+ RtlCharacters.decodeCharTypes = function (data) {
248
+ var values = [];
249
+ for (var i = 0; i < data.length; i++) {
250
+ values.push(data.charCodeAt(i));
251
+ }
252
+ return values;
253
+ };
691
254
  RtlCharacters.prototype.getVisualOrder = function (inputText, isRtl) {
692
255
  this.types = this.getCharacterCode(inputText);
693
256
  this.textOrder = isRtl ? this.LRE : this.L;
@@ -956,6 +519,13 @@ var RtlCharacters = /** @class */ (function () {
956
519
  }
957
520
  }
958
521
  };
522
+ /**
523
+ * Packed character type ranges. Each range is packed into three characters: start code,
524
+ * end code and the character type.
525
+ * @private
526
+ */
527
+ /* tslint:disable-next-line:max-line-length */
528
+ RtlCharacters.charTypesData = '\u0000\u0008\u000e\u0009\u0009\u0010\u000a\u000a\u000f\u000b\u000b\u0010\u000c\u000c\u0011\u000d\u000d\u000f\u000e\u001b\u000e\u001c\u001e\u000f\u001f\u001f\u0010\u0020\u0020\u0011\u0021\u0022\u0012\u0023\u0025\u000a\u0026\u002a\u0012\u002b\u002b\u000a\u002c\u002c\u000c\u002d\u002d\u000a\u002e\u002e\u000c\u002f\u002f\u000c\u0030\u0039\u0008\u003a\u003a\u000c\u003b\u0040\u0012\u0041\u005a\u0000\u005b\u0060\u0012\u0061\u007a\u0000\u007b\u007e\u0012\u007f\u0084\u000e\u0085\u0085\u000f\u0086\u009f\u000e\u00a0\u00a0\u000c\u00a1\u00a1\u0012\u00a2\u00a5\u000a\u00a6\u00a9\u0012\u00aa\u00aa\u0000\u00ab\u00af\u0012\u00b0\u00b1\u000a\u00b2\u00b3\u0008\u00b4\u00b4\u0012\u00b5\u00b5\u0000\u00b6\u00b8\u0012\u00b9\u00b9\u0008\u00ba\u00ba\u0000\u00bb\u00bf\u0012\u00c0\u00d6\u0000\u00d7\u00d7\u0012\u00d8\u00f6\u0000\u00f7\u00f7\u0012\u00f8\u02b8\u0000\u02b9\u02ba\u0012\u02bb\u02c1\u0000\u02c2\u02cf\u0012\u02d0\u02d1\u0000\u02d2\u02df\u0012\u02e0\u02e4\u0000\u02e5\u02ed\u0012\u02ee\u02ee\u0000\u02ef\u02ff\u0012\u0300\u0357\u000d\u0358\u035c\u0000\u035d\u036f\u000d\u0370\u0373\u0000\u0374\u0375\u0012\u0376\u037d\u0000\u037e\u037e\u0012\u037f\u0383\u0000\u0384\u0385\u0012\u0386\u0386\u0000\u0387\u0387\u0012\u0388\u03f5\u0000\u03f6\u03f6\u0012\u03f7\u0482\u0000\u0483\u0486\u000d\u0487\u0487\u0000\u0488\u0489\u000d\u048a\u0589\u0000\u058a\u058a\u0012\u058b\u0590\u0000\u0591\u05a1\u000d\u05a2\u05a2\u0000\u05a3\u05b9\u000d\u05ba\u05ba\u0000\u05bb\u05bd\u000d\u05be\u05be\u0003\u05bf\u05bf\u000d\u05c0\u05c0\u0003\u05c1\u05c2\u000d\u05c3\u05c3\u0003\u05c4\u05c4\u000d\u05c5\u05cf\u0000\u05d0\u05ea\u0003\u05eb\u05ef\u0000\u05f0\u05f4\u0003\u05f5\u05ff\u0000\u0600\u0603\u0004\u0604\u060b\u0000\u060c\u060c\u000c\u060d\u060d\u0004\u060e\u060f\u0012\u0610\u0615\u000d\u0616\u061a\u0000\u061b\u061b\u0004\u061c\u061e\u0000\u061f\u061f\u0004\u0620\u0620\u0000\u0621\u063a\u0004\u063b\u063f\u0000\u0640\u064a\u0004\u064b\u0658\u000d\u0659\u065f\u0000\u0660\u0669\u000b\u066a\u066a\u000a\u066b\u066c\u000b\u066d\u066f\u0004\u0670\u0670\u000d\u0671\u06d5\u0004\u06d6\u06dc\u000d\u06dd\u06dd\u0004\u06de\u06e4\u000d\u06e5\u06e6\u0004\u06e7\u06e8\u000d\u06e9\u06e9\u0012\u06ea\u06ed\u000d\u06ee\u06ef\u0004\u06f0\u06f9\u0008\u06fa\u070d\u0004\u070e\u070e\u0000\u070f\u070f\u000e\u0710\u0710\u0004\u0711\u0711\u000d\u0712\u072f\u0004\u0730\u074a\u000d\u074b\u074c\u0000\u074d\u074f\u0004\u0750\u077f\u0000\u0780\u07a5\u0004\u07a6\u07b0\u000d\u07b1\u07b1\u0004\u07b2\u0900\u0000\u0901\u0902\u000d\u0903\u093b\u0000\u093c\u093c\u000d\u093d\u0940\u0000\u0941\u0948\u000d\u0949\u094c\u0000\u094d\u094d\u000d\u094e\u0950\u0000\u0951\u0954\u000d\u0955\u0961\u0000\u0962\u0963\u000d\u0964\u0980\u0000\u0981\u0981\u000d\u0982\u09bb\u0000\u09bc\u09bc\u000d\u09bd\u09c0\u0000\u09c1\u09c4\u000d\u09c5\u09cc\u0000\u09cd\u09cd\u000d\u09ce\u09e1\u0000\u09e2\u09e3\u000d\u09e4\u09f1\u0000\u09f2\u09f3\u000a\u09f4\u0a00\u0000\u0a01\u0a02\u000d\u0a03\u0a3b\u0000\u0a3c\u0a3c\u000d\u0a3d\u0a40\u0000\u0a41\u0a42\u000d\u0a43\u0a46\u0000\u0a47\u0a48\u000d\u0a49\u0a4a\u0000\u0a4b\u0a4d\u000d\u0a4e\u0a6f\u0000\u0a70\u0a71\u000d\u0a72\u0a80\u0000\u0a81\u0a82\u000d\u0a83\u0abb\u0000\u0abc\u0abc\u000d\u0abd\u0ac0\u0000\u0ac1\u0ac5\u000d\u0ac6\u0ac6\u0000\u0ac7\u0ac8\u000d\u0ac9\u0acc\u0000\u0acd\u0acd\u000d\u0ace\u0ae1\u0000\u0ae2\u0ae3\u000d\u0ae4\u0af0\u0000\u0af1\u0af1\u000a\u0af2\u0b00\u0000\u0b01\u0b01\u000d\u0b02\u0b3b\u0000\u0b3c\u0b3c\u000d\u0b3d\u0b3e\u0000\u0b3f\u0b3f\u000d\u0b40\u0b40\u0000\u0b41\u0b43\u000d\u0b44\u0b4c\u0000\u0b4d\u0b4d\u000d\u0b4e\u0b55\u0000\u0b56\u0b56\u000d\u0b57\u0b81\u0000\u0b82\u0b82\u000d\u0b83\u0bbf\u0000\u0bc0\u0bc0\u000d\u0bc1\u0bcc\u0000\u0bcd\u0bcd\u000d\u0bce\u0bf2\u0000\u0bf3\u0bf8\u0012\u0bf9\u0bf9\u000a\u0bfa\u0bfa\u0012\u0bfb\u0c3d\u0000\u0c3e\u0c40\u000d\u0c41\u0c45\u0000\u0c46\u0c48\u000d\u0c49\u0c49\u0000\u0c4a\u0c4d\u000d\u0c4e\u0c54\u0000\u0c55\u0c56\u000d\u0c57\u0cbb\u0000\u0cbc\u0cbc\u000d\u0cbd\u0ccb\u0000\u0ccc\u0ccd\u000d\u0cce\u0d40\u0000\u0d41\u0d43\u000d\u0d44\u0d4c\u0000\u0d4d\u0d4d\u000d\u0d4e\u0dc9\u0000\u0dca\u0dca\u000d\u0dcb\u0dd1\u0000\u0dd2\u0dd4\u000d\u0dd5\u0dd5\u0000\u0dd6\u0dd6\u000d\u0dd7\u0e30\u0000\u0e31\u0e31\u000d\u0e32\u0e33\u0000\u0e34\u0e3a\u000d\u0e3b\u0e3e\u0000\u0e3f\u0e3f\u000a\u0e40\u0e46\u0000\u0e47\u0e4e\u000d\u0e4f\u0eb0\u0000\u0eb1\u0eb1\u000d\u0eb2\u0eb3\u0000\u0eb4\u0eb9\u000d\u0eba\u0eba\u0000\u0ebb\u0ebc\u000d\u0ebd\u0ec7\u0000\u0ec8\u0ecd\u000d\u0ece\u0f17\u0000\u0f18\u0f19\u000d\u0f1a\u0f34\u0000\u0f35\u0f35\u000d\u0f36\u0f36\u0000\u0f37\u0f37\u000d\u0f38\u0f38\u0000\u0f39\u0f39\u000d\u0f3a\u0f3d\u0012\u0f3e\u0f70\u0000\u0f71\u0f7e\u000d\u0f7f\u0f7f\u0000\u0f80\u0f84\u000d\u0f85\u0f85\u0000\u0f86\u0f87\u000d\u0f88\u0f8f\u0000\u0f90\u0f97\u000d\u0f98\u0f98\u0000\u0f99\u0fbc\u000d\u0fbd\u0fc5\u0000\u0fc6\u0fc6\u000d\u0fc7\u102c\u0000\u102d\u1030\u000d\u1031\u1031\u0000\u1032\u1032\u000d\u1033\u1035\u0000\u1036\u1037\u000d\u1038\u1038\u0000\u1039\u1039\u000d\u103a\u1057\u0000\u1058\u1059\u000d\u105a\u167f\u0000\u1680\u1680\u0011\u1681\u169a\u0000\u169b\u169c\u0012\u169d\u1711\u0000\u1712\u1714\u000d\u1715\u1731\u0000\u1732\u1734\u000d\u1735\u1751\u0000\u1752\u1753\u000d\u1754\u1771\u0000\u1772\u1773\u000d\u1774\u17b6\u0000\u17b7\u17bd\u000d\u17be\u17c5\u0000\u17c6\u17c6\u000d\u17c7\u17c8\u0000\u17c9\u17d3\u000d\u17d4\u17da\u0000\u17db\u17db\u000a\u17dc\u17dc\u0000\u17dd\u17dd\u000d\u17de\u17ef\u0000\u17f0\u17f9\u0012\u17fa\u17ff\u0000\u1800\u180a\u0012\u180b\u180d\u000d\u180e\u180e\u0011\u180f\u18a8\u0000\u18a9\u18a9\u000d\u18aa\u191f\u0000\u1920\u1922\u000d\u1923\u1926\u0000\u1927\u192b\u000d\u192c\u1931\u0000\u1932\u1932\u000d\u1933\u1938\u0000\u1939\u193b\u000d\u193c\u193f\u0000\u1940\u1940\u0012\u1941\u1943\u0000\u1944\u1945\u0012\u1946\u19df\u0000\u19e0\u19ff\u0012\u1a00\u1fbc\u0000\u1fbd\u1fbd\u0012\u1fbe\u1fbe\u0000\u1fbf\u1fc1\u0012\u1fc2\u1fcc\u0000\u1fcd\u1fcf\u0012\u1fd0\u1fdc\u0000\u1fdd\u1fdf\u0012\u1fe0\u1fec\u0000\u1fed\u1fef\u0012\u1ff0\u1ffc\u0000\u1ffd\u1ffe\u0012\u1fff\u1fff\u0000\u2000\u200a\u0011\u200b\u200d\u000e\u200e\u200e\u0000\u200f\u200f\u0003\u2010\u2027\u0012\u2028\u2028\u0011\u2029\u2029\u000f\u202a\u202a\u0001\u202b\u202b\u0005\u202c\u202c\u0007\u202d\u202d\u0002\u202e\u202e\u0006\u202f\u202f\u0011\u2030\u2034\u000a\u2035\u2054\u0012\u2055\u2056\u0000\u2057\u2057\u0012\u2058\u205e\u0000\u205f\u205f\u0011\u2060\u2063\u000e\u2064\u2069\u0000\u206a\u206f\u000e\u2070\u2070\u0008\u2071\u2073\u0000\u2074\u2079\u0008\u207a\u207b\u000a\u207c\u207e\u0012\u207f\u207f\u0000\u2080\u2089\u0008\u208a\u208b\u000a\u208c\u208e\u0012\u208f\u209f\u0000\u20a0\u20b1\u000a\u20b2\u20cf\u0000\u20d0\u20ea\u000d\u20eb\u20ff\u0000\u2100\u2101\u0012\u2102\u2102\u0000\u2103\u2106\u0012\u2107\u2107\u0000\u2108\u2109\u0012\u210a\u2113\u0000\u2114\u2114\u0012\u2115\u2115\u0000\u2116\u2118\u0012\u2119\u211d\u0000\u211e\u2123\u0012\u2124\u2124\u0000\u2125\u2125\u0012\u2126\u2126\u0000\u2127\u2127\u0012\u2128\u2128\u0000\u2129\u2129\u0012\u212a\u212d\u0000\u212e\u212e\u000a\u212f\u2131\u0000\u2132\u2132\u0012\u2133\u2139\u0000\u213a\u213b\u0012\u213c\u213f\u0000\u2140\u2144\u0012\u2145\u2149\u0000\u214a\u214b\u0012\u214c\u2152\u0000\u2153\u215f\u0012\u2160\u218f\u0000\u2190\u2211\u0012\u2212\u2213\u000a\u2214\u2335\u0012\u2336\u237a\u0000\u237b\u2394\u0012\u2395\u2395\u0000\u2396\u23d0\u0012\u23d1\u23ff\u0000\u2400\u2426\u0012\u2427\u243f\u0000\u2440\u244a\u0012\u244b\u245f\u0000\u2460\u249b\u0008\u249c\u24e9\u0000\u24ea\u24ea\u0008\u24eb\u2617\u0012\u2618\u2618\u0000\u2619\u267d\u0012\u267e\u267f\u0000\u2680\u2691\u0012\u2692\u269f\u0000\u26a0\u26a1\u0012\u26a2\u2700\u0000\u2701\u2704\u0012\u2705\u2705\u0000\u2706\u2709\u0012\u270a\u270b\u0000\u270c\u2727\u0012\u2728\u2728\u0000\u2729\u274b\u0012\u274c\u274c\u0000\u274d\u274d\u0012\u274e\u274e\u0000\u274f\u2752\u0012\u2753\u2755\u0000\u2756\u2756\u0012\u2757\u2757\u0000\u2758\u275e\u0012\u275f\u2760\u0000\u2761\u2794\u0012\u2795\u2797\u0000\u2798\u27af\u0012\u27b0\u27b0\u0000\u27b1\u27be\u0012\u27bf\u27cf\u0000\u27d0\u27eb\u0012\u27ec\u27ef\u0000\u27f0\u2b0d\u0012\u2b0e\u2e7f\u0000\u2e80\u2e99\u0012\u2e9a\u2e9a\u0000\u2e9b\u2ef3\u0012\u2ef4\u2eff\u0000\u2f00\u2fd5\u0012\u2fd6\u2fef\u0000\u2ff0\u2ffb\u0012\u2ffc\u2fff\u0000\u3000\u3000\u0011\u3001\u3004\u0012\u3005\u3007\u0000\u3008\u3020\u0012\u3021\u3029\u0000\u302a\u302f\u000d\u3030\u3030\u0012\u3031\u3035\u0000\u3036\u3037\u0012\u3038\u303c\u0000\u303d\u303f\u0012\u3040\u3098\u0000\u3099\u309a\u000d\u309b\u309c\u0012\u309d\u309f\u0000\u30a0\u30a0\u0012\u30a1\u30fa\u0000\u30fb\u30fb\u0012\u30fc\u321c\u0000\u321d\u321e\u0012\u321f\u324f\u0000\u3250\u325f\u0012\u3260\u327b\u0000\u327c\u327d\u0012\u327e\u32b0\u0000\u32b1\u32bf\u0012\u32c0\u32cb\u0000\u32cc\u32cf\u0012\u32d0\u3376\u0000\u3377\u337a\u0012\u337b\u33dd\u0000\u33de\u33df\u0012\u33e0\u33fe\u0000\u33ff\u33ff\u0012\u3400\u4dbf\u0000\u4dc0\u4dff\u0012\u4e00\ua48f\u0000\ua490\ua4c6\u0012\ua4c7\ufb1c\u0000\ufb1d\ufb1d\u0003\ufb1e\ufb1e\u000d\ufb1f\ufb28\u0003\ufb29\ufb29\u000a\ufb2a\ufb36\u0003\ufb37\ufb37\u0000\ufb38\ufb3c\u0003\ufb3d\ufb3d\u0000\ufb3e\ufb3e\u0003\ufb3f\ufb3f\u0000\ufb40\ufb41\u0003\ufb42\ufb42\u0000\ufb43\ufb44\u0003\ufb45\ufb45\u0000\ufb46\ufb4f\u0003\ufb50\ufbb1\u0004\ufbb2\ufbd2\u0000\ufbd3\ufd3d\u0004\ufd3e\ufd3f\u0012\ufd40\ufd4f\u0000\ufd50\ufd8f\u0004\ufd90\ufd91\u0000\ufd92\ufdc7\u0004\ufdc8\ufdef\u0000\ufdf0\ufdfc\u0004\ufdfd\ufdfd\u0012\ufdfe\ufdff\u0000\ufe00\ufe0f\u000d\ufe10\ufe1f\u0000\ufe20\ufe23\u000d\ufe24\ufe2f\u0000\ufe30\ufe4f\u0012\ufe50\ufe50\u000c\ufe51\ufe51\u0012\ufe52\ufe52\u000c\ufe53\ufe53\u0000\ufe54\ufe54\u0012\ufe55\ufe55\u000c\ufe56\ufe5e\u0012\ufe5f\ufe5f\u000a\ufe60\ufe61\u0012\ufe62\ufe63\u000a\ufe64\ufe66\u0012\ufe67\ufe67\u0000\ufe68\ufe68\u0012\ufe69\ufe6a\u000a\ufe6b\ufe6b\u0012\ufe6c\ufe6f\u0000\ufe70\ufe74\u0004\ufe75\ufe75\u0000\ufe76\ufefc\u0004\ufefd\ufefe\u0000\ufeff\ufeff\u000e\uff00\uff00\u0000\uff01\uff02\u0012\uff03\uff05\u000a\uff06\uff0a\u0012\uff0b\uff0b\u000a\uff0c\uff0c\u000c\uff0d\uff0d\u000a\uff0e\uff0e\u000c\uff0f\uff0f\u0009\uff10\uff19\u0008\uff1a\uff1a\u000c\uff1b\uff20\u0012\uff21\uff3a\u0000\uff3b\uff40\u0012\uff41\uff5a\u0000\uff5b\uff65\u0012\uff66\uffdf\u0000\uffe0\uffe1\u000a\uffe2\uffe4\u0012\uffe5\uffe6\u000a\uffe7\uffe7\u0000\uffe8\uffee\u0012\uffef\ufff8\u0000\ufff9\ufffb\u000e\ufffc\ufffd\u0012\ufffe\uffff\u0000';
959
529
  return RtlCharacters;
960
530
  }());
961
531
  export { RtlCharacters };
@@ -1,5 +1,17 @@
1
1
  export declare class ArabicShapeRenderer {
2
2
  private readonly arabicCharTable;
3
+ /**
4
+ * Packed shaping rows with contiguous presentation forms. Each row is packed into three
5
+ * characters: the base character, the first presentation form and the number of forms.
6
+ * @private
7
+ */
8
+ private readonly packedContiguousRows;
9
+ /**
10
+ * Packed shaping rows with non-contiguous presentation forms (tatweel and alef maksura).
11
+ * Each row is packed as its characters concatenated.
12
+ * @private
13
+ */
14
+ private readonly packedSpecialRows;
3
15
  private readonly alef;
4
16
  private readonly alefHamza;
5
17
  private readonly alefHamzaBelow;