pdfjs-dist 2.3.200 → 2.4.456
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.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/README.md +4 -0
- package/bower.json +1 -1
- package/build/pdf.js +6499 -17971
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +22 -1
- package/build/pdf.worker.entry.js +5 -3
- package/build/pdf.worker.js +19303 -29896
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +22 -1
- package/es5/build/pdf.js +25473 -0
- package/es5/build/pdf.js.map +1 -0
- package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
- package/es5/build/pdf.worker.js +57878 -0
- package/es5/build/pdf.worker.js.map +1 -0
- package/es5/web/images/annotation-check.svg +11 -0
- package/es5/web/images/annotation-comment.svg +16 -0
- package/es5/web/images/annotation-help.svg +26 -0
- package/es5/web/images/annotation-insert.svg +10 -0
- package/es5/web/images/annotation-key.svg +11 -0
- package/es5/web/images/annotation-newparagraph.svg +11 -0
- package/es5/web/images/annotation-noicon.svg +7 -0
- package/es5/web/images/annotation-note.svg +42 -0
- package/es5/web/images/annotation-paragraph.svg +16 -0
- package/es5/web/images/loading-icon.gif +0 -0
- package/es5/web/images/shadow.png +0 -0
- package/es5/web/images/texture.png +0 -0
- package/es5/web/pdf_viewer.css +407 -0
- package/es5/web/pdf_viewer.js +7757 -0
- package/es5/web/pdf_viewer.js.map +1 -0
- package/image_decoders/pdf.image_decoders.js +1333 -4839
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +22 -1
- package/lib/README.md +7 -0
- package/lib/core/annotation.js +683 -1066
- package/lib/core/arithmetic_decoder.js +81 -97
- package/lib/core/bidi.js +54 -46
- package/lib/core/ccitt.js +88 -81
- package/lib/core/ccitt_stream.js +15 -14
- package/lib/core/cff_parser.js +196 -193
- package/lib/core/charsets.js +4 -4
- package/lib/core/chunked_stream.js +441 -569
- package/lib/core/cmap.js +220 -279
- package/lib/core/colorspace.js +699 -863
- package/lib/core/core_utils.js +59 -80
- package/lib/core/crypto.js +379 -437
- package/lib/core/document.js +564 -673
- package/lib/core/encodings.js +15 -15
- package/lib/core/evaluator.js +983 -889
- package/lib/core/font_renderer.js +128 -171
- package/lib/core/fonts.js +451 -400
- package/lib/core/function.js +289 -285
- package/lib/core/glyphlist.js +4527 -4527
- package/lib/core/image.js +138 -117
- package/lib/core/image_utils.js +46 -63
- package/lib/core/jbig2.js +324 -332
- package/lib/core/jbig2_stream.js +18 -17
- package/lib/core/jpeg_stream.js +133 -24
- package/lib/core/jpg.js +238 -210
- package/lib/core/jpx.js +158 -157
- package/lib/core/jpx_stream.js +28 -28
- package/lib/core/metrics.js +2928 -2928
- package/lib/core/murmurhash3.js +87 -102
- package/lib/core/obj.js +1111 -1302
- package/lib/core/operator_list.js +55 -42
- package/lib/core/parser.js +956 -987
- package/lib/core/pattern.js +69 -69
- package/lib/core/pdf_manager.js +149 -316
- package/lib/core/primitives.js +45 -77
- package/lib/core/ps_parser.js +175 -214
- package/lib/core/standard_fonts.js +237 -236
- package/lib/core/stream.js +83 -77
- package/lib/core/type1_parser.js +78 -68
- package/lib/core/unicode.js +1654 -1654
- package/lib/core/worker.js +148 -196
- package/lib/core/worker_stream.js +101 -210
- package/lib/display/annotation_layer.js +733 -1155
- package/lib/display/api.js +1539 -1928
- package/lib/display/api_compatibility.js +10 -8
- package/lib/display/canvas.js +159 -158
- package/lib/display/content_disposition.js +36 -55
- package/lib/display/display_utils.js +298 -551
- package/lib/display/fetch_stream.js +181 -305
- package/lib/display/font_loader.js +273 -416
- package/lib/display/metadata.js +86 -98
- package/lib/display/network.js +376 -511
- package/lib/display/network_utils.js +20 -19
- package/lib/display/node_stream.js +276 -460
- package/lib/display/pattern_helper.js +76 -44
- package/lib/display/svg.js +1137 -1405
- package/lib/display/text_layer.js +75 -82
- package/lib/display/transport_stream.js +236 -374
- package/lib/display/webgl.js +70 -83
- package/lib/display/worker_options.js +3 -3
- package/lib/display/xml_parser.js +303 -392
- package/lib/examples/node/domstubs.js +37 -37
- package/lib/pdf.js +22 -21
- package/lib/pdf.worker.js +5 -5
- package/lib/shared/compatibility.js +2 -251
- package/lib/shared/is_node.js +7 -6
- package/lib/shared/message_handler.js +222 -194
- package/lib/shared/util.js +269 -405
- package/lib/test/unit/annotation_spec.js +1089 -1014
- package/lib/test/unit/api_spec.js +617 -544
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +63 -62
- package/lib/test/unit/clitests_helper.js +7 -9
- package/lib/test/unit/cmap_spec.js +84 -86
- package/lib/test/unit/colorspace_spec.js +154 -154
- package/lib/test/unit/core_utils_spec.js +125 -105
- package/lib/test/unit/crypto_spec.js +181 -181
- package/lib/test/unit/custom_spec.js +22 -24
- package/lib/test/unit/display_svg_spec.js +35 -36
- package/lib/test/unit/display_utils_spec.js +139 -149
- package/lib/test/unit/document_spec.js +16 -16
- package/lib/test/unit/encodings_spec.js +12 -34
- package/lib/test/unit/evaluator_spec.js +81 -95
- package/lib/test/unit/fetch_stream_spec.js +30 -30
- package/lib/test/unit/function_spec.js +206 -204
- package/lib/test/unit/jasmine-boot.js +48 -32
- package/lib/test/unit/message_handler_spec.js +172 -162
- package/lib/test/unit/metadata_spec.js +69 -69
- package/lib/test/unit/murmurhash3_spec.js +12 -12
- package/lib/test/unit/network_spec.js +12 -12
- package/lib/test/unit/network_utils_spec.js +152 -152
- package/lib/test/unit/node_stream_spec.js +74 -90
- package/lib/test/unit/parser_spec.js +107 -113
- package/lib/test/unit/pdf_find_controller_spec.js +55 -86
- package/lib/test/unit/pdf_find_utils_spec.js +32 -32
- package/lib/test/unit/pdf_history_spec.js +32 -32
- package/lib/test/unit/primitives_spec.js +117 -115
- package/lib/test/unit/stream_spec.js +16 -14
- package/lib/test/unit/test_utils.js +119 -285
- package/lib/test/unit/testreporter.js +19 -19
- package/lib/test/unit/type1_parser_spec.js +41 -41
- package/lib/test/unit/ui_utils_spec.js +318 -426
- package/lib/test/unit/unicode_spec.js +42 -42
- package/lib/test/unit/util_spec.js +122 -143
- package/lib/web/annotation_layer_builder.js +66 -103
- package/lib/web/app.js +1166 -1196
- package/lib/web/app_options.js +61 -77
- package/lib/web/base_viewer.js +804 -850
- package/lib/web/chromecom.js +164 -249
- package/lib/web/debugger.js +149 -205
- package/lib/web/download_manager.js +38 -57
- package/lib/web/firefox_print_service.js +35 -30
- package/lib/web/firefoxcom.js +175 -374
- package/lib/web/genericcom.js +26 -108
- package/lib/web/genericl10n.js +24 -153
- package/lib/web/grab_to_pan.js +30 -30
- package/lib/web/interfaces.js +80 -258
- package/lib/web/overlay_manager.js +70 -246
- package/lib/web/password_prompt.js +38 -64
- package/lib/web/pdf_attachment_viewer.js +105 -130
- package/lib/web/pdf_cursor_tools.js +75 -102
- package/lib/web/pdf_document_properties.js +227 -376
- package/lib/web/pdf_find_bar.js +137 -171
- package/lib/web/pdf_find_controller.js +492 -549
- package/lib/web/pdf_find_utils.js +13 -13
- package/lib/web/pdf_history.js +395 -406
- package/lib/web/pdf_link_service.js +302 -349
- package/lib/web/pdf_outline_viewer.js +148 -209
- package/lib/web/pdf_page_view.js +449 -507
- package/lib/web/pdf_presentation_mode.js +304 -357
- package/lib/web/pdf_print_service.js +90 -104
- package/lib/web/pdf_rendering_queue.js +87 -108
- package/lib/web/pdf_sidebar.js +264 -304
- package/lib/web/pdf_sidebar_resizer.js +92 -119
- package/lib/web/pdf_single_page_viewer.js +77 -126
- package/lib/web/pdf_thumbnail_view.js +276 -297
- package/lib/web/pdf_thumbnail_viewer.js +186 -206
- package/lib/web/pdf_viewer.component.js +20 -21
- package/lib/web/pdf_viewer.js +55 -115
- package/lib/web/preferences.js +66 -273
- package/lib/web/secondary_toolbar.js +164 -196
- package/lib/web/text_layer_builder.js +284 -317
- package/lib/web/toolbar.js +216 -211
- package/lib/web/ui_utils.js +303 -404
- package/lib/web/view_history.js +49 -222
- package/lib/web/viewer_compatibility.js +7 -5
- package/package.json +2 -9
- package/web/pdf_viewer.css +25 -18
- package/web/pdf_viewer.js +3481 -4764
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +14 -5
- package/lib/shared/streams_polyfill.js +0 -43
package/lib/core/stream.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2020 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -26,17 +26,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
26
26
|
});
|
27
27
|
exports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = void 0;
|
28
28
|
|
29
|
-
var _util = require("../shared/util");
|
29
|
+
var _util = require("../shared/util.js");
|
30
30
|
|
31
|
-
var _primitives = require("./primitives");
|
31
|
+
var _primitives = require("./primitives.js");
|
32
32
|
|
33
|
-
|
34
|
-
|
35
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
|
36
|
-
|
37
|
-
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
|
38
|
-
|
39
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
|
33
|
+
var _core_utils = require("./core_utils.js");
|
40
34
|
|
41
35
|
var Stream = function StreamClosure() {
|
42
36
|
function Stream(arrayBuffer, start, length, dict) {
|
@@ -80,16 +74,15 @@ var Stream = function StreamClosure() {
|
|
80
74
|
var b3 = this.getByte();
|
81
75
|
return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;
|
82
76
|
},
|
83
|
-
|
84
|
-
|
77
|
+
|
78
|
+
getBytes(length, forceClamped = false) {
|
85
79
|
var bytes = this.bytes;
|
86
80
|
var pos = this.pos;
|
87
81
|
var strEnd = this.end;
|
88
82
|
|
89
83
|
if (!length) {
|
90
|
-
|
91
|
-
|
92
|
-
return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;
|
84
|
+
const subarray = bytes.subarray(pos, strEnd);
|
85
|
+
return forceClamped ? new Uint8ClampedArray(subarray) : subarray;
|
93
86
|
}
|
94
87
|
|
95
88
|
var end = pos + length;
|
@@ -99,21 +92,27 @@ var Stream = function StreamClosure() {
|
|
99
92
|
}
|
100
93
|
|
101
94
|
this.pos = end;
|
102
|
-
|
95
|
+
const subarray = bytes.subarray(pos, end);
|
103
96
|
return forceClamped ? new Uint8ClampedArray(subarray) : subarray;
|
104
97
|
},
|
98
|
+
|
105
99
|
peekByte: function Stream_peekByte() {
|
106
100
|
var peekedByte = this.getByte();
|
107
|
-
|
101
|
+
|
102
|
+
if (peekedByte !== -1) {
|
103
|
+
this.pos--;
|
104
|
+
}
|
105
|
+
|
108
106
|
return peekedByte;
|
109
107
|
},
|
110
|
-
|
111
|
-
|
108
|
+
|
109
|
+
peekBytes(length, forceClamped = false) {
|
112
110
|
var bytes = this.getBytes(length, forceClamped);
|
113
111
|
this.pos -= bytes.length;
|
114
112
|
return bytes;
|
115
113
|
},
|
116
|
-
|
114
|
+
|
115
|
+
getByteRange(begin, end) {
|
117
116
|
if (begin < 0) {
|
118
117
|
begin = 0;
|
119
118
|
}
|
@@ -124,6 +123,7 @@ var Stream = function StreamClosure() {
|
|
124
123
|
|
125
124
|
return this.bytes.subarray(begin, end);
|
126
125
|
},
|
126
|
+
|
127
127
|
skip: function Stream_skip(n) {
|
128
128
|
if (!n) {
|
129
129
|
n = 1;
|
@@ -148,7 +148,7 @@ exports.Stream = Stream;
|
|
148
148
|
|
149
149
|
var StringStream = function StringStreamClosure() {
|
150
150
|
function StringStream(str) {
|
151
|
-
|
151
|
+
const bytes = (0, _util.stringToBytes)(str);
|
152
152
|
Stream.call(this, bytes);
|
153
153
|
}
|
154
154
|
|
@@ -232,8 +232,8 @@ var DecodeStream = function DecodeStreamClosure() {
|
|
232
232
|
var b3 = this.getByte();
|
233
233
|
return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;
|
234
234
|
},
|
235
|
-
|
236
|
-
|
235
|
+
|
236
|
+
getBytes(length, forceClamped = false) {
|
237
237
|
var end,
|
238
238
|
pos = this.pos;
|
239
239
|
|
@@ -259,20 +259,26 @@ var DecodeStream = function DecodeStreamClosure() {
|
|
259
259
|
}
|
260
260
|
|
261
261
|
this.pos = end;
|
262
|
-
|
262
|
+
const subarray = this.buffer.subarray(pos, end);
|
263
263
|
return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray;
|
264
264
|
},
|
265
|
+
|
265
266
|
peekByte: function DecodeStream_peekByte() {
|
266
267
|
var peekedByte = this.getByte();
|
267
|
-
|
268
|
+
|
269
|
+
if (peekedByte !== -1) {
|
270
|
+
this.pos--;
|
271
|
+
}
|
272
|
+
|
268
273
|
return peekedByte;
|
269
274
|
},
|
270
|
-
|
271
|
-
|
275
|
+
|
276
|
+
peekBytes(length, forceClamped = false) {
|
272
277
|
var bytes = this.getBytes(length, forceClamped);
|
273
278
|
this.pos -= bytes.length;
|
274
279
|
return bytes;
|
275
280
|
},
|
281
|
+
|
276
282
|
makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {
|
277
283
|
var end = start + length;
|
278
284
|
|
@@ -282,9 +288,11 @@ var DecodeStream = function DecodeStreamClosure() {
|
|
282
288
|
|
283
289
|
return new Stream(this.buffer, start, length, dict);
|
284
290
|
},
|
285
|
-
|
286
|
-
|
291
|
+
|
292
|
+
getByteRange(begin, end) {
|
293
|
+
(0, _util.unreachable)("Should not call DecodeStream.getByteRange");
|
287
294
|
},
|
295
|
+
|
288
296
|
skip: function DecodeStream_skip(n) {
|
289
297
|
if (!n) {
|
290
298
|
n = 1;
|
@@ -311,10 +319,10 @@ exports.DecodeStream = DecodeStream;
|
|
311
319
|
var StreamsSequenceStream = function StreamsSequenceStreamClosure() {
|
312
320
|
function StreamsSequenceStream(streams) {
|
313
321
|
this.streams = streams;
|
314
|
-
|
322
|
+
let maybeLength = 0;
|
315
323
|
|
316
|
-
for (
|
317
|
-
|
324
|
+
for (let i = 0, ii = streams.length; i < ii; i++) {
|
325
|
+
const stream = streams[i];
|
318
326
|
|
319
327
|
if (stream instanceof DecodeStream) {
|
320
328
|
maybeLength += stream._rawMinBufferLength;
|
@@ -352,7 +360,7 @@ var StreamsSequenceStream = function StreamsSequenceStreamClosure() {
|
|
352
360
|
var stream = this.streams[i];
|
353
361
|
|
354
362
|
if (stream.getBaseStreams) {
|
355
|
-
baseStreams.push
|
363
|
+
baseStreams.push(...stream.getBaseStreams());
|
356
364
|
}
|
357
365
|
}
|
358
366
|
|
@@ -378,19 +386,19 @@ var FlateStream = function FlateStreamClosure() {
|
|
378
386
|
var flg = str.getByte();
|
379
387
|
|
380
388
|
if (cmf === -1 || flg === -1) {
|
381
|
-
throw new _util.FormatError(
|
389
|
+
throw new _util.FormatError(`Invalid header in flate stream: ${cmf}, ${flg}`);
|
382
390
|
}
|
383
391
|
|
384
392
|
if ((cmf & 0x0f) !== 0x08) {
|
385
|
-
throw new _util.FormatError(
|
393
|
+
throw new _util.FormatError(`Unknown compression method in flate stream: ${cmf}, ${flg}`);
|
386
394
|
}
|
387
395
|
|
388
396
|
if (((cmf << 8) + flg) % 31 !== 0) {
|
389
|
-
throw new _util.FormatError(
|
397
|
+
throw new _util.FormatError(`Bad FCHECK in flate stream: ${cmf}, ${flg}`);
|
390
398
|
}
|
391
399
|
|
392
400
|
if (flg & 0x20) {
|
393
|
-
throw new _util.FormatError(
|
401
|
+
throw new _util.FormatError(`FDICT bit set in flate stream: ${cmf}, ${flg}`);
|
394
402
|
}
|
395
403
|
|
396
404
|
this.codeSize = 0;
|
@@ -408,7 +416,7 @@ var FlateStream = function FlateStreamClosure() {
|
|
408
416
|
|
409
417
|
while (codeSize < bits) {
|
410
418
|
if ((b = str.getByte()) === -1) {
|
411
|
-
throw new _util.FormatError(
|
419
|
+
throw new _util.FormatError("Bad encoding in flate stream");
|
412
420
|
}
|
413
421
|
|
414
422
|
codeBuf |= b << codeSize;
|
@@ -443,7 +451,7 @@ var FlateStream = function FlateStreamClosure() {
|
|
443
451
|
var codeVal = code & 0xffff;
|
444
452
|
|
445
453
|
if (codeLen < 1 || codeSize < codeLen) {
|
446
|
-
throw new _util.FormatError(
|
454
|
+
throw new _util.FormatError("Bad encoding in flate stream");
|
447
455
|
}
|
448
456
|
|
449
457
|
this.codeBuf = codeBuf >> codeLen;
|
@@ -503,38 +511,38 @@ var FlateStream = function FlateStreamClosure() {
|
|
503
511
|
var b;
|
504
512
|
|
505
513
|
if ((b = str.getByte()) === -1) {
|
506
|
-
throw new _util.FormatError(
|
514
|
+
throw new _util.FormatError("Bad block header in flate stream");
|
507
515
|
}
|
508
516
|
|
509
517
|
var blockLen = b;
|
510
518
|
|
511
519
|
if ((b = str.getByte()) === -1) {
|
512
|
-
throw new _util.FormatError(
|
520
|
+
throw new _util.FormatError("Bad block header in flate stream");
|
513
521
|
}
|
514
522
|
|
515
523
|
blockLen |= b << 8;
|
516
524
|
|
517
525
|
if ((b = str.getByte()) === -1) {
|
518
|
-
throw new _util.FormatError(
|
526
|
+
throw new _util.FormatError("Bad block header in flate stream");
|
519
527
|
}
|
520
528
|
|
521
529
|
var check = b;
|
522
530
|
|
523
531
|
if ((b = str.getByte()) === -1) {
|
524
|
-
throw new _util.FormatError(
|
532
|
+
throw new _util.FormatError("Bad block header in flate stream");
|
525
533
|
}
|
526
534
|
|
527
535
|
check |= b << 8;
|
528
536
|
|
529
537
|
if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {
|
530
|
-
throw new _util.FormatError(
|
538
|
+
throw new _util.FormatError("Bad uncompressed block length in flate stream");
|
531
539
|
}
|
532
540
|
|
533
541
|
this.codeBuf = 0;
|
534
542
|
this.codeSize = 0;
|
535
|
-
|
536
|
-
|
537
|
-
|
543
|
+
const bufferLength = this.bufferLength,
|
544
|
+
end = bufferLength + blockLen;
|
545
|
+
buffer = this.ensureBuffer(end);
|
538
546
|
this.bufferLength = end;
|
539
547
|
|
540
548
|
if (blockLen === 0) {
|
@@ -542,13 +550,11 @@ var FlateStream = function FlateStreamClosure() {
|
|
542
550
|
this.eof = true;
|
543
551
|
}
|
544
552
|
} else {
|
545
|
-
|
546
|
-
|
547
|
-
this.eof = true;
|
548
|
-
break;
|
549
|
-
}
|
553
|
+
const block = str.getBytes(blockLen);
|
554
|
+
buffer.set(block, bufferLength);
|
550
555
|
|
551
|
-
|
556
|
+
if (block.length < blockLen) {
|
557
|
+
this.eof = true;
|
552
558
|
}
|
553
559
|
}
|
554
560
|
|
@@ -609,7 +615,7 @@ var FlateStream = function FlateStreamClosure() {
|
|
609
615
|
litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));
|
610
616
|
distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));
|
611
617
|
} else {
|
612
|
-
throw new _util.FormatError(
|
618
|
+
throw new _util.FormatError("Unknown block type in flate stream");
|
613
619
|
}
|
614
620
|
|
615
621
|
buffer = this.buffer;
|
@@ -675,14 +681,14 @@ var PredictorStream = function PredictorStreamClosure() {
|
|
675
681
|
return str;
|
676
682
|
}
|
677
683
|
|
678
|
-
var predictor = this.predictor = params.get(
|
684
|
+
var predictor = this.predictor = params.get("Predictor") || 1;
|
679
685
|
|
680
686
|
if (predictor <= 1) {
|
681
687
|
return str;
|
682
688
|
}
|
683
689
|
|
684
690
|
if (predictor !== 2 && (predictor < 10 || predictor > 15)) {
|
685
|
-
throw new _util.FormatError(
|
691
|
+
throw new _util.FormatError(`Unsupported predictor: ${predictor}`);
|
686
692
|
}
|
687
693
|
|
688
694
|
if (predictor === 2) {
|
@@ -693,9 +699,9 @@ var PredictorStream = function PredictorStreamClosure() {
|
|
693
699
|
|
694
700
|
this.str = str;
|
695
701
|
this.dict = str.dict;
|
696
|
-
var colors = this.colors = params.get(
|
697
|
-
var bits = this.bits = params.get(
|
698
|
-
var columns = this.columns = params.get(
|
702
|
+
var colors = this.colors = params.get("Colors") || 1;
|
703
|
+
var bits = this.bits = params.get("BitsPerComponent") || 8;
|
704
|
+
var columns = this.columns = params.get("Columns") || 1;
|
699
705
|
this.pixBytes = colors * bits + 7 >> 3;
|
700
706
|
this.rowBytes = columns * colors * bits + 7 >> 3;
|
701
707
|
DecodeStream.call(this, maybeLength);
|
@@ -750,9 +756,9 @@ var PredictorStream = function PredictorStreamClosure() {
|
|
750
756
|
}
|
751
757
|
|
752
758
|
for (; i < rowBytes; i += 2) {
|
753
|
-
var sum = ((rawBytes[i] &
|
754
|
-
buffer[pos++] = sum >> 8 &
|
755
|
-
buffer[pos++] = sum &
|
759
|
+
var sum = ((rawBytes[i] & 0xff) << 8) + (rawBytes[i + 1] & 0xff) + ((buffer[pos - bytesPerPixel] & 0xff) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xff);
|
760
|
+
buffer[pos++] = sum >> 8 & 0xff;
|
761
|
+
buffer[pos++] = sum & 0xff;
|
756
762
|
}
|
757
763
|
} else {
|
758
764
|
var compArray = new Uint8Array(colors + 1);
|
@@ -764,7 +770,7 @@ var PredictorStream = function PredictorStreamClosure() {
|
|
764
770
|
for (i = 0; i < columns; ++i) {
|
765
771
|
for (var kk = 0; kk < colors; ++kk) {
|
766
772
|
if (inbits < bits) {
|
767
|
-
inbuf = inbuf << 8 | rawBytes[j++] &
|
773
|
+
inbuf = inbuf << 8 | rawBytes[j++] & 0xff;
|
768
774
|
inbits += 8;
|
769
775
|
}
|
770
776
|
|
@@ -774,7 +780,7 @@ var PredictorStream = function PredictorStreamClosure() {
|
|
774
780
|
outbits += bits;
|
775
781
|
|
776
782
|
if (outbits >= 8) {
|
777
|
-
buffer[k++] = outbuf >> outbits - 8 &
|
783
|
+
buffer[k++] = outbuf >> outbits - 8 & 0xff;
|
778
784
|
outbits -= 8;
|
779
785
|
}
|
780
786
|
}
|
@@ -826,7 +832,7 @@ var PredictorStream = function PredictorStreamClosure() {
|
|
826
832
|
}
|
827
833
|
|
828
834
|
for (; i < rowBytes; ++i) {
|
829
|
-
buffer[j] = buffer[j - pixBytes] + rawBytes[i] &
|
835
|
+
buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xff;
|
830
836
|
j++;
|
831
837
|
}
|
832
838
|
|
@@ -834,7 +840,7 @@ var PredictorStream = function PredictorStreamClosure() {
|
|
834
840
|
|
835
841
|
case 2:
|
836
842
|
for (i = 0; i < rowBytes; ++i) {
|
837
|
-
buffer[j++] = prevRow[i] + rawBytes[i] &
|
843
|
+
buffer[j++] = prevRow[i] + rawBytes[i] & 0xff;
|
838
844
|
}
|
839
845
|
|
840
846
|
break;
|
@@ -845,7 +851,7 @@ var PredictorStream = function PredictorStreamClosure() {
|
|
845
851
|
}
|
846
852
|
|
847
853
|
for (; i < rowBytes; ++i) {
|
848
|
-
buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] &
|
854
|
+
buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xff;
|
849
855
|
j++;
|
850
856
|
}
|
851
857
|
|
@@ -895,7 +901,7 @@ var PredictorStream = function PredictorStreamClosure() {
|
|
895
901
|
break;
|
896
902
|
|
897
903
|
default:
|
898
|
-
throw new _util.FormatError(
|
904
|
+
throw new _util.FormatError(`Unsupported predictor: ${predictor}`);
|
899
905
|
}
|
900
906
|
|
901
907
|
this.bufferLength += rowBytes;
|
@@ -971,13 +977,13 @@ var Ascii85Stream = function Ascii85StreamClosure() {
|
|
971
977
|
Ascii85Stream.prototype = Object.create(DecodeStream.prototype);
|
972
978
|
|
973
979
|
Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {
|
974
|
-
var TILDA_CHAR =
|
975
|
-
var Z_LOWER_CHAR =
|
980
|
+
var TILDA_CHAR = 0x7e;
|
981
|
+
var Z_LOWER_CHAR = 0x7a;
|
976
982
|
var EOF = -1;
|
977
983
|
var str = this.str;
|
978
984
|
var c = str.getByte();
|
979
985
|
|
980
|
-
while ((0,
|
986
|
+
while ((0, _core_utils.isWhiteSpace)(c)) {
|
981
987
|
c = str.getByte();
|
982
988
|
}
|
983
989
|
|
@@ -1005,7 +1011,7 @@ var Ascii85Stream = function Ascii85StreamClosure() {
|
|
1005
1011
|
for (i = 1; i < 5; ++i) {
|
1006
1012
|
c = str.getByte();
|
1007
1013
|
|
1008
|
-
while ((0,
|
1014
|
+
while ((0, _core_utils.isWhiteSpace)(c)) {
|
1009
1015
|
c = str.getByte();
|
1010
1016
|
}
|
1011
1017
|
|
@@ -1034,7 +1040,7 @@ var Ascii85Stream = function Ascii85StreamClosure() {
|
|
1034
1040
|
}
|
1035
1041
|
|
1036
1042
|
for (i = 3; i >= 0; --i) {
|
1037
|
-
buffer[bufferLength + i] = t &
|
1043
|
+
buffer[bufferLength + i] = t & 0xff;
|
1038
1044
|
t >>= 8;
|
1039
1045
|
}
|
1040
1046
|
}
|
@@ -1079,10 +1085,10 @@ var AsciiHexStream = function AsciiHexStreamClosure() {
|
|
1079
1085
|
digit;
|
1080
1086
|
|
1081
1087
|
if (ch >= 0x30 && ch <= 0x39) {
|
1082
|
-
digit = ch &
|
1088
|
+
digit = ch & 0x0f;
|
1083
1089
|
} else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {
|
1084
|
-
digit = (ch &
|
1085
|
-
} else if (ch ===
|
1090
|
+
digit = (ch & 0x0f) + 9;
|
1091
|
+
} else if (ch === 0x3e) {
|
1086
1092
|
this.eof = true;
|
1087
1093
|
break;
|
1088
1094
|
} else {
|
@@ -1167,7 +1173,7 @@ var LZWStream = function LZWStreamClosure() {
|
|
1167
1173
|
this.bitsCached = 0;
|
1168
1174
|
var maxLzwDictionarySize = 4096;
|
1169
1175
|
var lzwState = {
|
1170
|
-
earlyChange
|
1176
|
+
earlyChange,
|
1171
1177
|
codeLength: 9,
|
1172
1178
|
nextCode: 258,
|
1173
1179
|
dictionaryValues: new Uint8Array(maxLzwDictionarySize),
|