@chialab/pdfjs-lib 1.0.0-alpha.37 → 1.0.0-alpha.39

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.
@@ -1,792 +0,0 @@
1
- import {
2
- warn
3
- } from "./chunk-7NGJYFOM.js";
4
-
5
- // src/lib/polyfills.ts
6
- if (!Array.prototype.at) {
7
- Object.defineProperty(Array.prototype, "at", {
8
- value: function at(index) {
9
- return this[index >= 0 ? index : this.length + index];
10
- },
11
- enumerable: false
12
- });
13
- }
14
- if (!Promise.withResolvers) {
15
- Promise.withResolvers = function withResolvers() {
16
- let resolve;
17
- let reject;
18
- const promise = new this((res, rej) => {
19
- resolve = res;
20
- reject = rej;
21
- });
22
- return {
23
- resolve,
24
- reject,
25
- promise
26
- };
27
- };
28
- }
29
- if (!("try" in Promise)) {
30
- Object.defineProperty(Promise, "try", {
31
- value: function tryFn(fn, ...args) {
32
- return new this(
33
- (resolve, reject) => {
34
- try {
35
- resolve(fn(...args));
36
- } catch (error) {
37
- reject(error);
38
- }
39
- }
40
- );
41
- },
42
- enumerable: false
43
- });
44
- }
45
-
46
- // src/pdf.js/src/core/bidi.js
47
- var baseTypes = [
48
- "BN",
49
- "BN",
50
- "BN",
51
- "BN",
52
- "BN",
53
- "BN",
54
- "BN",
55
- "BN",
56
- "BN",
57
- "S",
58
- "B",
59
- "S",
60
- "WS",
61
- "B",
62
- "BN",
63
- "BN",
64
- "BN",
65
- "BN",
66
- "BN",
67
- "BN",
68
- "BN",
69
- "BN",
70
- "BN",
71
- "BN",
72
- "BN",
73
- "BN",
74
- "BN",
75
- "BN",
76
- "B",
77
- "B",
78
- "B",
79
- "S",
80
- "WS",
81
- "ON",
82
- "ON",
83
- "ET",
84
- "ET",
85
- "ET",
86
- "ON",
87
- "ON",
88
- "ON",
89
- "ON",
90
- "ON",
91
- "ES",
92
- "CS",
93
- "ES",
94
- "CS",
95
- "CS",
96
- "EN",
97
- "EN",
98
- "EN",
99
- "EN",
100
- "EN",
101
- "EN",
102
- "EN",
103
- "EN",
104
- "EN",
105
- "EN",
106
- "CS",
107
- "ON",
108
- "ON",
109
- "ON",
110
- "ON",
111
- "ON",
112
- "ON",
113
- "L",
114
- "L",
115
- "L",
116
- "L",
117
- "L",
118
- "L",
119
- "L",
120
- "L",
121
- "L",
122
- "L",
123
- "L",
124
- "L",
125
- "L",
126
- "L",
127
- "L",
128
- "L",
129
- "L",
130
- "L",
131
- "L",
132
- "L",
133
- "L",
134
- "L",
135
- "L",
136
- "L",
137
- "L",
138
- "L",
139
- "ON",
140
- "ON",
141
- "ON",
142
- "ON",
143
- "ON",
144
- "ON",
145
- "L",
146
- "L",
147
- "L",
148
- "L",
149
- "L",
150
- "L",
151
- "L",
152
- "L",
153
- "L",
154
- "L",
155
- "L",
156
- "L",
157
- "L",
158
- "L",
159
- "L",
160
- "L",
161
- "L",
162
- "L",
163
- "L",
164
- "L",
165
- "L",
166
- "L",
167
- "L",
168
- "L",
169
- "L",
170
- "L",
171
- "ON",
172
- "ON",
173
- "ON",
174
- "ON",
175
- "BN",
176
- "BN",
177
- "BN",
178
- "BN",
179
- "BN",
180
- "BN",
181
- "B",
182
- "BN",
183
- "BN",
184
- "BN",
185
- "BN",
186
- "BN",
187
- "BN",
188
- "BN",
189
- "BN",
190
- "BN",
191
- "BN",
192
- "BN",
193
- "BN",
194
- "BN",
195
- "BN",
196
- "BN",
197
- "BN",
198
- "BN",
199
- "BN",
200
- "BN",
201
- "BN",
202
- "BN",
203
- "BN",
204
- "BN",
205
- "BN",
206
- "BN",
207
- "BN",
208
- "CS",
209
- "ON",
210
- "ET",
211
- "ET",
212
- "ET",
213
- "ET",
214
- "ON",
215
- "ON",
216
- "ON",
217
- "ON",
218
- "L",
219
- "ON",
220
- "ON",
221
- "BN",
222
- "ON",
223
- "ON",
224
- "ET",
225
- "ET",
226
- "EN",
227
- "EN",
228
- "ON",
229
- "L",
230
- "ON",
231
- "ON",
232
- "ON",
233
- "EN",
234
- "L",
235
- "ON",
236
- "ON",
237
- "ON",
238
- "ON",
239
- "ON",
240
- "L",
241
- "L",
242
- "L",
243
- "L",
244
- "L",
245
- "L",
246
- "L",
247
- "L",
248
- "L",
249
- "L",
250
- "L",
251
- "L",
252
- "L",
253
- "L",
254
- "L",
255
- "L",
256
- "L",
257
- "L",
258
- "L",
259
- "L",
260
- "L",
261
- "L",
262
- "L",
263
- "ON",
264
- "L",
265
- "L",
266
- "L",
267
- "L",
268
- "L",
269
- "L",
270
- "L",
271
- "L",
272
- "L",
273
- "L",
274
- "L",
275
- "L",
276
- "L",
277
- "L",
278
- "L",
279
- "L",
280
- "L",
281
- "L",
282
- "L",
283
- "L",
284
- "L",
285
- "L",
286
- "L",
287
- "L",
288
- "L",
289
- "L",
290
- "L",
291
- "L",
292
- "L",
293
- "L",
294
- "L",
295
- "ON",
296
- "L",
297
- "L",
298
- "L",
299
- "L",
300
- "L",
301
- "L",
302
- "L",
303
- "L"
304
- ];
305
- var arabicTypes = [
306
- "AN",
307
- "AN",
308
- "AN",
309
- "AN",
310
- "AN",
311
- "AN",
312
- "ON",
313
- "ON",
314
- "AL",
315
- "ET",
316
- "ET",
317
- "AL",
318
- "CS",
319
- "AL",
320
- "ON",
321
- "ON",
322
- "NSM",
323
- "NSM",
324
- "NSM",
325
- "NSM",
326
- "NSM",
327
- "NSM",
328
- "NSM",
329
- "NSM",
330
- "NSM",
331
- "NSM",
332
- "NSM",
333
- "AL",
334
- "AL",
335
- "",
336
- "AL",
337
- "AL",
338
- "AL",
339
- "AL",
340
- "AL",
341
- "AL",
342
- "AL",
343
- "AL",
344
- "AL",
345
- "AL",
346
- "AL",
347
- "AL",
348
- "AL",
349
- "AL",
350
- "AL",
351
- "AL",
352
- "AL",
353
- "AL",
354
- "AL",
355
- "AL",
356
- "AL",
357
- "AL",
358
- "AL",
359
- "AL",
360
- "AL",
361
- "AL",
362
- "AL",
363
- "AL",
364
- "AL",
365
- "AL",
366
- "AL",
367
- "AL",
368
- "AL",
369
- "AL",
370
- "AL",
371
- "AL",
372
- "AL",
373
- "AL",
374
- "AL",
375
- "AL",
376
- "AL",
377
- "AL",
378
- "AL",
379
- "AL",
380
- "AL",
381
- "NSM",
382
- "NSM",
383
- "NSM",
384
- "NSM",
385
- "NSM",
386
- "NSM",
387
- "NSM",
388
- "NSM",
389
- "NSM",
390
- "NSM",
391
- "NSM",
392
- "NSM",
393
- "NSM",
394
- "NSM",
395
- "NSM",
396
- "NSM",
397
- "NSM",
398
- "NSM",
399
- "NSM",
400
- "NSM",
401
- "NSM",
402
- "AN",
403
- "AN",
404
- "AN",
405
- "AN",
406
- "AN",
407
- "AN",
408
- "AN",
409
- "AN",
410
- "AN",
411
- "AN",
412
- "ET",
413
- "AN",
414
- "AN",
415
- "AL",
416
- "AL",
417
- "AL",
418
- "NSM",
419
- "AL",
420
- "AL",
421
- "AL",
422
- "AL",
423
- "AL",
424
- "AL",
425
- "AL",
426
- "AL",
427
- "AL",
428
- "AL",
429
- "AL",
430
- "AL",
431
- "AL",
432
- "AL",
433
- "AL",
434
- "AL",
435
- "AL",
436
- "AL",
437
- "AL",
438
- "AL",
439
- "AL",
440
- "AL",
441
- "AL",
442
- "AL",
443
- "AL",
444
- "AL",
445
- "AL",
446
- "AL",
447
- "AL",
448
- "AL",
449
- "AL",
450
- "AL",
451
- "AL",
452
- "AL",
453
- "AL",
454
- "AL",
455
- "AL",
456
- "AL",
457
- "AL",
458
- "AL",
459
- "AL",
460
- "AL",
461
- "AL",
462
- "AL",
463
- "AL",
464
- "AL",
465
- "AL",
466
- "AL",
467
- "AL",
468
- "AL",
469
- "AL",
470
- "AL",
471
- "AL",
472
- "AL",
473
- "AL",
474
- "AL",
475
- "AL",
476
- "AL",
477
- "AL",
478
- "AL",
479
- "AL",
480
- "AL",
481
- "AL",
482
- "AL",
483
- "AL",
484
- "AL",
485
- "AL",
486
- "AL",
487
- "AL",
488
- "AL",
489
- "AL",
490
- "AL",
491
- "AL",
492
- "AL",
493
- "AL",
494
- "AL",
495
- "AL",
496
- "AL",
497
- "AL",
498
- "AL",
499
- "AL",
500
- "AL",
501
- "AL",
502
- "AL",
503
- "AL",
504
- "AL",
505
- "AL",
506
- "AL",
507
- "AL",
508
- "AL",
509
- "AL",
510
- "AL",
511
- "AL",
512
- "AL",
513
- "AL",
514
- "AL",
515
- "AL",
516
- "AL",
517
- "AL",
518
- "AL",
519
- "AL",
520
- "NSM",
521
- "NSM",
522
- "NSM",
523
- "NSM",
524
- "NSM",
525
- "NSM",
526
- "NSM",
527
- "AN",
528
- "ON",
529
- "NSM",
530
- "NSM",
531
- "NSM",
532
- "NSM",
533
- "NSM",
534
- "NSM",
535
- "AL",
536
- "AL",
537
- "NSM",
538
- "NSM",
539
- "ON",
540
- "NSM",
541
- "NSM",
542
- "NSM",
543
- "NSM",
544
- "AL",
545
- "AL",
546
- "EN",
547
- "EN",
548
- "EN",
549
- "EN",
550
- "EN",
551
- "EN",
552
- "EN",
553
- "EN",
554
- "EN",
555
- "EN",
556
- "AL",
557
- "AL",
558
- "AL",
559
- "AL",
560
- "AL",
561
- "AL"
562
- ];
563
- function isOdd(i) {
564
- return (i & 1) !== 0;
565
- }
566
- function isEven(i) {
567
- return (i & 1) === 0;
568
- }
569
- function findUnequal(arr, start, value) {
570
- let j, jj;
571
- for (j = start, jj = arr.length; j < jj; ++j) {
572
- if (arr[j] !== value) {
573
- return j;
574
- }
575
- }
576
- return j;
577
- }
578
- function reverseValues(arr, start, end) {
579
- for (let i = start, j = end - 1; i < j; ++i, --j) {
580
- const temp = arr[i];
581
- arr[i] = arr[j];
582
- arr[j] = temp;
583
- }
584
- }
585
- function createBidiText(str, isLTR, vertical = false) {
586
- let dir = "ltr";
587
- if (vertical) {
588
- dir = "ttb";
589
- } else if (!isLTR) {
590
- dir = "rtl";
591
- }
592
- return { str, dir };
593
- }
594
- var chars = [];
595
- var types = [];
596
- function bidi(str, startLevel = -1, vertical = false) {
597
- let isLTR = true;
598
- const strLength = str.length;
599
- if (strLength === 0 || vertical) {
600
- return createBidiText(str, isLTR, vertical);
601
- }
602
- chars.length = strLength;
603
- types.length = strLength;
604
- let numBidi = 0;
605
- let i, ii;
606
- for (i = 0; i < strLength; ++i) {
607
- chars[i] = str.charAt(i);
608
- const charCode = str.charCodeAt(i);
609
- let charType = "L";
610
- if (charCode <= 255) {
611
- charType = baseTypes[charCode];
612
- } else if (1424 <= charCode && charCode <= 1524) {
613
- charType = "R";
614
- } else if (1536 <= charCode && charCode <= 1791) {
615
- charType = arabicTypes[charCode & 255];
616
- if (!charType) {
617
- warn("Bidi: invalid Unicode character " + charCode.toString(16));
618
- }
619
- } else if (1792 <= charCode && charCode <= 2220 || 64336 <= charCode && charCode <= 65023 || 65136 <= charCode && charCode <= 65279) {
620
- charType = "AL";
621
- }
622
- if (charType === "R" || charType === "AL" || charType === "AN") {
623
- numBidi++;
624
- }
625
- types[i] = charType;
626
- }
627
- if (numBidi === 0) {
628
- isLTR = true;
629
- return createBidiText(str, isLTR);
630
- }
631
- if (startLevel === -1) {
632
- if (numBidi / strLength < 0.3 && strLength > 4) {
633
- isLTR = true;
634
- startLevel = 0;
635
- } else {
636
- isLTR = false;
637
- startLevel = 1;
638
- }
639
- }
640
- const levels = [];
641
- for (i = 0; i < strLength; ++i) {
642
- levels[i] = startLevel;
643
- }
644
- const e = isOdd(startLevel) ? "R" : "L";
645
- const sor = e;
646
- const eor = sor;
647
- let lastType = sor;
648
- for (i = 0; i < strLength; ++i) {
649
- if (types[i] === "NSM") {
650
- types[i] = lastType;
651
- } else {
652
- lastType = types[i];
653
- }
654
- }
655
- lastType = sor;
656
- let t;
657
- for (i = 0; i < strLength; ++i) {
658
- t = types[i];
659
- if (t === "EN") {
660
- types[i] = lastType === "AL" ? "AN" : "EN";
661
- } else if (t === "R" || t === "L" || t === "AL") {
662
- lastType = t;
663
- }
664
- }
665
- for (i = 0; i < strLength; ++i) {
666
- t = types[i];
667
- if (t === "AL") {
668
- types[i] = "R";
669
- }
670
- }
671
- for (i = 1; i < strLength - 1; ++i) {
672
- if (types[i] === "ES" && types[i - 1] === "EN" && types[i + 1] === "EN") {
673
- types[i] = "EN";
674
- }
675
- if (types[i] === "CS" && (types[i - 1] === "EN" || types[i - 1] === "AN") && types[i + 1] === types[i - 1]) {
676
- types[i] = types[i - 1];
677
- }
678
- }
679
- for (i = 0; i < strLength; ++i) {
680
- if (types[i] === "EN") {
681
- for (let j = i - 1; j >= 0; --j) {
682
- if (types[j] !== "ET") {
683
- break;
684
- }
685
- types[j] = "EN";
686
- }
687
- for (let j = i + 1; j < strLength; ++j) {
688
- if (types[j] !== "ET") {
689
- break;
690
- }
691
- types[j] = "EN";
692
- }
693
- }
694
- }
695
- for (i = 0; i < strLength; ++i) {
696
- t = types[i];
697
- if (t === "WS" || t === "ES" || t === "ET" || t === "CS") {
698
- types[i] = "ON";
699
- }
700
- }
701
- lastType = sor;
702
- for (i = 0; i < strLength; ++i) {
703
- t = types[i];
704
- if (t === "EN") {
705
- types[i] = lastType === "L" ? "L" : "EN";
706
- } else if (t === "R" || t === "L") {
707
- lastType = t;
708
- }
709
- }
710
- for (i = 0; i < strLength; ++i) {
711
- if (types[i] === "ON") {
712
- const end = findUnequal(types, i + 1, "ON");
713
- let before = sor;
714
- if (i > 0) {
715
- before = types[i - 1];
716
- }
717
- let after = eor;
718
- if (end + 1 < strLength) {
719
- after = types[end + 1];
720
- }
721
- if (before !== "L") {
722
- before = "R";
723
- }
724
- if (after !== "L") {
725
- after = "R";
726
- }
727
- if (before === after) {
728
- types.fill(before, i, end);
729
- }
730
- i = end - 1;
731
- }
732
- }
733
- for (i = 0; i < strLength; ++i) {
734
- if (types[i] === "ON") {
735
- types[i] = e;
736
- }
737
- }
738
- for (i = 0; i < strLength; ++i) {
739
- t = types[i];
740
- if (isEven(levels[i])) {
741
- if (t === "R") {
742
- levels[i] += 1;
743
- } else if (t === "AN" || t === "EN") {
744
- levels[i] += 2;
745
- }
746
- } else if (
747
- /* isOdd && */
748
- t === "L" || t === "AN" || t === "EN"
749
- ) {
750
- levels[i] += 1;
751
- }
752
- }
753
- let highestLevel = -1;
754
- let lowestOddLevel = 99;
755
- let level;
756
- for (i = 0, ii = levels.length; i < ii; ++i) {
757
- level = levels[i];
758
- if (highestLevel < level) {
759
- highestLevel = level;
760
- }
761
- if (lowestOddLevel > level && isOdd(level)) {
762
- lowestOddLevel = level;
763
- }
764
- }
765
- for (level = highestLevel; level >= lowestOddLevel; --level) {
766
- let start = -1;
767
- for (i = 0, ii = levels.length; i < ii; ++i) {
768
- if (levels[i] < level) {
769
- if (start >= 0) {
770
- reverseValues(chars, start, i);
771
- start = -1;
772
- }
773
- } else if (start < 0) {
774
- start = i;
775
- }
776
- }
777
- if (start >= 0) {
778
- reverseValues(chars, start, levels.length);
779
- }
780
- }
781
- for (i = 0, ii = chars.length; i < ii; ++i) {
782
- const ch = chars[i];
783
- if (ch === "<" || ch === ">") {
784
- chars[i] = "";
785
- }
786
- }
787
- return createBidiText(chars.join(""), isLTR);
788
- }
789
-
790
- export {
791
- bidi
792
- };