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.

Files changed (185) hide show
  1. package/README.md +4 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +6499 -17971
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +22 -1
  6. package/build/pdf.worker.entry.js +5 -3
  7. package/build/pdf.worker.js +19303 -29896
  8. package/build/pdf.worker.js.map +1 -1
  9. package/build/pdf.worker.min.js +22 -1
  10. package/es5/build/pdf.js +25473 -0
  11. package/es5/build/pdf.js.map +1 -0
  12. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  13. package/es5/build/pdf.worker.js +57878 -0
  14. package/es5/build/pdf.worker.js.map +1 -0
  15. package/es5/web/images/annotation-check.svg +11 -0
  16. package/es5/web/images/annotation-comment.svg +16 -0
  17. package/es5/web/images/annotation-help.svg +26 -0
  18. package/es5/web/images/annotation-insert.svg +10 -0
  19. package/es5/web/images/annotation-key.svg +11 -0
  20. package/es5/web/images/annotation-newparagraph.svg +11 -0
  21. package/es5/web/images/annotation-noicon.svg +7 -0
  22. package/es5/web/images/annotation-note.svg +42 -0
  23. package/es5/web/images/annotation-paragraph.svg +16 -0
  24. package/es5/web/images/loading-icon.gif +0 -0
  25. package/es5/web/images/shadow.png +0 -0
  26. package/es5/web/images/texture.png +0 -0
  27. package/es5/web/pdf_viewer.css +407 -0
  28. package/es5/web/pdf_viewer.js +7757 -0
  29. package/es5/web/pdf_viewer.js.map +1 -0
  30. package/image_decoders/pdf.image_decoders.js +1333 -4839
  31. package/image_decoders/pdf.image_decoders.js.map +1 -1
  32. package/image_decoders/pdf.image_decoders.min.js +22 -1
  33. package/lib/README.md +7 -0
  34. package/lib/core/annotation.js +683 -1066
  35. package/lib/core/arithmetic_decoder.js +81 -97
  36. package/lib/core/bidi.js +54 -46
  37. package/lib/core/ccitt.js +88 -81
  38. package/lib/core/ccitt_stream.js +15 -14
  39. package/lib/core/cff_parser.js +196 -193
  40. package/lib/core/charsets.js +4 -4
  41. package/lib/core/chunked_stream.js +441 -569
  42. package/lib/core/cmap.js +220 -279
  43. package/lib/core/colorspace.js +699 -863
  44. package/lib/core/core_utils.js +59 -80
  45. package/lib/core/crypto.js +379 -437
  46. package/lib/core/document.js +564 -673
  47. package/lib/core/encodings.js +15 -15
  48. package/lib/core/evaluator.js +983 -889
  49. package/lib/core/font_renderer.js +128 -171
  50. package/lib/core/fonts.js +451 -400
  51. package/lib/core/function.js +289 -285
  52. package/lib/core/glyphlist.js +4527 -4527
  53. package/lib/core/image.js +138 -117
  54. package/lib/core/image_utils.js +46 -63
  55. package/lib/core/jbig2.js +324 -332
  56. package/lib/core/jbig2_stream.js +18 -17
  57. package/lib/core/jpeg_stream.js +133 -24
  58. package/lib/core/jpg.js +238 -210
  59. package/lib/core/jpx.js +158 -157
  60. package/lib/core/jpx_stream.js +28 -28
  61. package/lib/core/metrics.js +2928 -2928
  62. package/lib/core/murmurhash3.js +87 -102
  63. package/lib/core/obj.js +1111 -1302
  64. package/lib/core/operator_list.js +55 -42
  65. package/lib/core/parser.js +956 -987
  66. package/lib/core/pattern.js +69 -69
  67. package/lib/core/pdf_manager.js +149 -316
  68. package/lib/core/primitives.js +45 -77
  69. package/lib/core/ps_parser.js +175 -214
  70. package/lib/core/standard_fonts.js +237 -236
  71. package/lib/core/stream.js +83 -77
  72. package/lib/core/type1_parser.js +78 -68
  73. package/lib/core/unicode.js +1654 -1654
  74. package/lib/core/worker.js +148 -196
  75. package/lib/core/worker_stream.js +101 -210
  76. package/lib/display/annotation_layer.js +733 -1155
  77. package/lib/display/api.js +1539 -1928
  78. package/lib/display/api_compatibility.js +10 -8
  79. package/lib/display/canvas.js +159 -158
  80. package/lib/display/content_disposition.js +36 -55
  81. package/lib/display/display_utils.js +298 -551
  82. package/lib/display/fetch_stream.js +181 -305
  83. package/lib/display/font_loader.js +273 -416
  84. package/lib/display/metadata.js +86 -98
  85. package/lib/display/network.js +376 -511
  86. package/lib/display/network_utils.js +20 -19
  87. package/lib/display/node_stream.js +276 -460
  88. package/lib/display/pattern_helper.js +76 -44
  89. package/lib/display/svg.js +1137 -1405
  90. package/lib/display/text_layer.js +75 -82
  91. package/lib/display/transport_stream.js +236 -374
  92. package/lib/display/webgl.js +70 -83
  93. package/lib/display/worker_options.js +3 -3
  94. package/lib/display/xml_parser.js +303 -392
  95. package/lib/examples/node/domstubs.js +37 -37
  96. package/lib/pdf.js +22 -21
  97. package/lib/pdf.worker.js +5 -5
  98. package/lib/shared/compatibility.js +2 -251
  99. package/lib/shared/is_node.js +7 -6
  100. package/lib/shared/message_handler.js +222 -194
  101. package/lib/shared/util.js +269 -405
  102. package/lib/test/unit/annotation_spec.js +1089 -1014
  103. package/lib/test/unit/api_spec.js +617 -544
  104. package/lib/test/unit/bidi_spec.js +7 -7
  105. package/lib/test/unit/cff_parser_spec.js +63 -62
  106. package/lib/test/unit/clitests_helper.js +7 -9
  107. package/lib/test/unit/cmap_spec.js +84 -86
  108. package/lib/test/unit/colorspace_spec.js +154 -154
  109. package/lib/test/unit/core_utils_spec.js +125 -105
  110. package/lib/test/unit/crypto_spec.js +181 -181
  111. package/lib/test/unit/custom_spec.js +22 -24
  112. package/lib/test/unit/display_svg_spec.js +35 -36
  113. package/lib/test/unit/display_utils_spec.js +139 -149
  114. package/lib/test/unit/document_spec.js +16 -16
  115. package/lib/test/unit/encodings_spec.js +12 -34
  116. package/lib/test/unit/evaluator_spec.js +81 -95
  117. package/lib/test/unit/fetch_stream_spec.js +30 -30
  118. package/lib/test/unit/function_spec.js +206 -204
  119. package/lib/test/unit/jasmine-boot.js +48 -32
  120. package/lib/test/unit/message_handler_spec.js +172 -162
  121. package/lib/test/unit/metadata_spec.js +69 -69
  122. package/lib/test/unit/murmurhash3_spec.js +12 -12
  123. package/lib/test/unit/network_spec.js +12 -12
  124. package/lib/test/unit/network_utils_spec.js +152 -152
  125. package/lib/test/unit/node_stream_spec.js +74 -90
  126. package/lib/test/unit/parser_spec.js +107 -113
  127. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  128. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  129. package/lib/test/unit/pdf_history_spec.js +32 -32
  130. package/lib/test/unit/primitives_spec.js +117 -115
  131. package/lib/test/unit/stream_spec.js +16 -14
  132. package/lib/test/unit/test_utils.js +119 -285
  133. package/lib/test/unit/testreporter.js +19 -19
  134. package/lib/test/unit/type1_parser_spec.js +41 -41
  135. package/lib/test/unit/ui_utils_spec.js +318 -426
  136. package/lib/test/unit/unicode_spec.js +42 -42
  137. package/lib/test/unit/util_spec.js +122 -143
  138. package/lib/web/annotation_layer_builder.js +66 -103
  139. package/lib/web/app.js +1166 -1196
  140. package/lib/web/app_options.js +61 -77
  141. package/lib/web/base_viewer.js +804 -850
  142. package/lib/web/chromecom.js +164 -249
  143. package/lib/web/debugger.js +149 -205
  144. package/lib/web/download_manager.js +38 -57
  145. package/lib/web/firefox_print_service.js +35 -30
  146. package/lib/web/firefoxcom.js +175 -374
  147. package/lib/web/genericcom.js +26 -108
  148. package/lib/web/genericl10n.js +24 -153
  149. package/lib/web/grab_to_pan.js +30 -30
  150. package/lib/web/interfaces.js +80 -258
  151. package/lib/web/overlay_manager.js +70 -246
  152. package/lib/web/password_prompt.js +38 -64
  153. package/lib/web/pdf_attachment_viewer.js +105 -130
  154. package/lib/web/pdf_cursor_tools.js +75 -102
  155. package/lib/web/pdf_document_properties.js +227 -376
  156. package/lib/web/pdf_find_bar.js +137 -171
  157. package/lib/web/pdf_find_controller.js +492 -549
  158. package/lib/web/pdf_find_utils.js +13 -13
  159. package/lib/web/pdf_history.js +395 -406
  160. package/lib/web/pdf_link_service.js +302 -349
  161. package/lib/web/pdf_outline_viewer.js +148 -209
  162. package/lib/web/pdf_page_view.js +449 -507
  163. package/lib/web/pdf_presentation_mode.js +304 -357
  164. package/lib/web/pdf_print_service.js +90 -104
  165. package/lib/web/pdf_rendering_queue.js +87 -108
  166. package/lib/web/pdf_sidebar.js +264 -304
  167. package/lib/web/pdf_sidebar_resizer.js +92 -119
  168. package/lib/web/pdf_single_page_viewer.js +77 -126
  169. package/lib/web/pdf_thumbnail_view.js +276 -297
  170. package/lib/web/pdf_thumbnail_viewer.js +186 -206
  171. package/lib/web/pdf_viewer.component.js +20 -21
  172. package/lib/web/pdf_viewer.js +55 -115
  173. package/lib/web/preferences.js +66 -273
  174. package/lib/web/secondary_toolbar.js +164 -196
  175. package/lib/web/text_layer_builder.js +284 -317
  176. package/lib/web/toolbar.js +216 -211
  177. package/lib/web/ui_utils.js +303 -404
  178. package/lib/web/view_history.js +49 -222
  179. package/lib/web/viewer_compatibility.js +7 -5
  180. package/package.json +2 -9
  181. package/web/pdf_viewer.css +25 -18
  182. package/web/pdf_viewer.js +3481 -4764
  183. package/web/pdf_viewer.js.map +1 -1
  184. package/webpack.js +14 -5
  185. package/lib/shared/streams_polyfill.js +0 -43
package/lib/core/jbig2.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 2019 Mozilla Foundation
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,51 +26,33 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.Jbig2Image = void 0;
28
28
 
29
- var _util = require("../shared/util");
29
+ var _util = require("../shared/util.js");
30
30
 
31
- var _arithmetic_decoder = require("./arithmetic_decoder");
31
+ var _core_utils = require("./core_utils.js");
32
32
 
33
- var _ccitt = require("./ccitt");
33
+ var _arithmetic_decoder = require("./arithmetic_decoder.js");
34
34
 
35
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
35
+ var _ccitt = require("./ccitt.js");
36
36
 
37
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
38
-
39
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
40
-
41
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
42
-
43
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
44
-
45
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
46
-
47
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
48
-
49
- var Jbig2Error =
50
- /*#__PURE__*/
51
- function (_BaseException) {
52
- _inherits(Jbig2Error, _BaseException);
53
-
54
- function Jbig2Error(msg) {
55
- _classCallCheck(this, Jbig2Error);
56
-
57
- return _possibleConstructorReturn(this, _getPrototypeOf(Jbig2Error).call(this, "JBIG2 error: ".concat(msg)));
37
+ class Jbig2Error extends _util.BaseException {
38
+ constructor(msg) {
39
+ super(`JBIG2 error: ${msg}`);
58
40
  }
59
41
 
60
- return Jbig2Error;
61
- }(_util.BaseException);
42
+ }
62
43
 
63
44
  var Jbig2Image = function Jbig2ImageClosure() {
64
45
  function ContextCache() {}
65
46
 
66
47
  ContextCache.prototype = {
67
- getContexts: function getContexts(id) {
48
+ getContexts(id) {
68
49
  if (id in this) {
69
50
  return this[id];
70
51
  }
71
52
 
72
53
  return this[id] = new Int8Array(1 << 16);
73
54
  }
55
+
74
56
  };
75
57
 
76
58
  function DecodingContext(data, start, end) {
@@ -82,12 +64,12 @@ var Jbig2Image = function Jbig2ImageClosure() {
82
64
  DecodingContext.prototype = {
83
65
  get decoder() {
84
66
  var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);
85
- return (0, _util.shadow)(this, 'decoder', decoder);
67
+ return (0, _util.shadow)(this, "decoder", decoder);
86
68
  },
87
69
 
88
70
  get contextCache() {
89
71
  var cache = new ContextCache();
90
- return (0, _util.shadow)(this, 'contextCache', cache);
72
+ return (0, _util.shadow)(this, "contextCache", cache);
91
73
  }
92
74
 
93
75
  };
@@ -110,11 +92,18 @@ var Jbig2Image = function Jbig2ImageClosure() {
110
92
 
111
93
  var sign = readBits(1);
112
94
  var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);
113
- return sign === 0 ? value : value > 0 ? -value : null;
95
+
96
+ if (sign === 0) {
97
+ return value;
98
+ } else if (value > 0) {
99
+ return -value;
100
+ }
101
+
102
+ return null;
114
103
  }
115
104
 
116
105
  function decodeIAID(contextCache, decoder, codeLength) {
117
- var contexts = contextCache.getContexts('IAID');
106
+ var contexts = contextCache.getContexts("IAID");
118
107
  var prev = 1;
119
108
 
120
109
  for (var i = 0; i < codeLength; i++) {
@@ -126,10 +115,10 @@ var Jbig2Image = function Jbig2ImageClosure() {
126
115
  return prev & (1 << codeLength) - 1;
127
116
  }
128
117
 
129
- return prev & 0x7FFFFFFF;
118
+ return prev & 0x7fffffff;
130
119
  }
131
120
 
132
- var SegmentTypes = ['SymbolDictionary', null, null, null, 'IntermediateTextRegion', null, 'ImmediateTextRegion', 'ImmediateLosslessTextRegion', null, null, null, null, null, null, null, null, 'PatternDictionary', null, null, null, 'IntermediateHalftoneRegion', null, 'ImmediateHalftoneRegion', 'ImmediateLosslessHalftoneRegion', null, null, null, null, null, null, null, null, null, null, null, null, 'IntermediateGenericRegion', null, 'ImmediateGenericRegion', 'ImmediateLosslessGenericRegion', 'IntermediateGenericRefinementRegion', null, 'ImmediateGenericRefinementRegion', 'ImmediateLosslessGenericRefinementRegion', null, null, null, null, 'PageInformation', 'EndOfPage', 'EndOfStripe', 'EndOfFile', 'Profiles', 'Tables', null, null, null, null, null, null, null, null, 'Extension'];
121
+ var SegmentTypes = ["SymbolDictionary", null, null, null, "IntermediateTextRegion", null, "ImmediateTextRegion", "ImmediateLosslessTextRegion", null, null, null, null, null, null, null, null, "PatternDictionary", null, null, null, "IntermediateHalftoneRegion", null, "ImmediateHalftoneRegion", "ImmediateLosslessHalftoneRegion", null, null, null, null, null, null, null, null, null, null, null, null, "IntermediateGenericRegion", null, "ImmediateGenericRegion", "ImmediateLosslessGenericRegion", "IntermediateGenericRefinementRegion", null, "ImmediateGenericRefinementRegion", "ImmediateLosslessGenericRefinementRegion", null, null, null, null, "PageInformation", "EndOfPage", "EndOfStripe", "EndOfFile", "Profiles", "Tables", null, null, null, null, null, null, null, null, "Extension"];
133
122
  var CodingTemplates = [[{
134
123
  x: -1,
135
124
  y: -2
@@ -327,12 +316,12 @@ var Jbig2Image = function Jbig2ImageClosure() {
327
316
  y: 1
328
317
  }]
329
318
  }];
330
- var ReusedContexts = [0x9B25, 0x0795, 0x00E5, 0x0195];
319
+ var ReusedContexts = [0x9b25, 0x0795, 0x00e5, 0x0195];
331
320
  var RefinementReusedContexts = [0x0020, 0x0008];
332
321
 
333
322
  function decodeBitmapTemplate0(width, height, decodingContext) {
334
323
  var decoder = decodingContext.decoder;
335
- var contexts = decodingContext.contextCache.getContexts('GB');
324
+ var contexts = decodingContext.contextCache.getContexts("GB");
336
325
  var contextLabel,
337
326
  i,
338
327
  j,
@@ -341,7 +330,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
341
330
  row1,
342
331
  row2,
343
332
  bitmap = [];
344
- var OLD_PIXEL_MASK = 0x7BF7;
333
+ var OLD_PIXEL_MASK = 0x7bf7;
345
334
 
346
335
  for (i = 0; i < height; i++) {
347
336
  row = bitmap[i] = new Uint8Array(width);
@@ -360,7 +349,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
360
349
 
361
350
  function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {
362
351
  if (mmr) {
363
- var input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
352
+ const input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
364
353
  return decodeMMRBitmap(input, width, height, false);
365
354
  }
366
355
 
@@ -416,7 +405,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
416
405
  var row = new Uint8Array(width);
417
406
  var bitmap = [];
418
407
  var decoder = decodingContext.decoder;
419
- var contexts = decodingContext.contextCache.getContexts('GB');
408
+ var contexts = decodingContext.contextCache.getContexts("GB");
420
409
  var ltp = 0,
421
410
  j,
422
411
  i0,
@@ -524,7 +513,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
524
513
  var pseudoPixelContext = RefinementReusedContexts[templateIndex];
525
514
  var bitmap = [];
526
515
  var decoder = decodingContext.decoder;
527
- var contexts = decodingContext.contextCache.getContexts('GR');
516
+ var contexts = decodingContext.contextCache.getContexts("GR");
528
517
  var ltp = 0;
529
518
 
530
519
  for (var i = 0; i < height; i++) {
@@ -533,7 +522,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
533
522
  ltp ^= sltp;
534
523
 
535
524
  if (ltp) {
536
- throw new Jbig2Error('prediction is not supported');
525
+ throw new Jbig2Error("prediction is not supported");
537
526
  }
538
527
  }
539
528
 
@@ -576,15 +565,15 @@ var Jbig2Image = function Jbig2ImageClosure() {
576
565
 
577
566
  function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {
578
567
  if (huffman && refinement) {
579
- throw new Jbig2Error('symbol refinement with Huffman is not supported');
568
+ throw new Jbig2Error("symbol refinement with Huffman is not supported");
580
569
  }
581
570
 
582
571
  var newSymbols = [];
583
572
  var currentHeight = 0;
584
- var symbolCodeLength = (0, _util.log2)(symbols.length + numberOfNewSymbols);
573
+ var symbolCodeLength = (0, _core_utils.log2)(symbols.length + numberOfNewSymbols);
585
574
  var decoder = decodingContext.decoder;
586
575
  var contextCache = decodingContext.contextCache;
587
- var tableB1, symbolWidths;
576
+ let tableB1, symbolWidths;
588
577
 
589
578
  if (huffman) {
590
579
  tableB1 = getStandardTable(1);
@@ -593,14 +582,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
593
582
  }
594
583
 
595
584
  while (newSymbols.length < numberOfNewSymbols) {
596
- var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, 'IADH', decoder);
585
+ var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, "IADH", decoder);
597
586
  currentHeight += deltaHeight;
598
- var currentWidth = 0,
587
+ let currentWidth = 0,
599
588
  totalWidth = 0;
600
- var firstSymbol = huffman ? symbolWidths.length : 0;
589
+ const firstSymbol = huffman ? symbolWidths.length : 0;
601
590
 
602
591
  while (true) {
603
- var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, 'IADW', decoder);
592
+ var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, "IADW", decoder);
604
593
 
605
594
  if (deltaWidth === null) {
606
595
  break;
@@ -611,14 +600,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
611
600
  var bitmap;
612
601
 
613
602
  if (refinement) {
614
- var numberOfInstances = decodeInteger(contextCache, 'IAAI', decoder);
603
+ var numberOfInstances = decodeInteger(contextCache, "IAAI", decoder);
615
604
 
616
605
  if (numberOfInstances > 1) {
617
606
  bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);
618
607
  } else {
619
608
  var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);
620
- var rdx = decodeInteger(contextCache, 'IARDX', decoder);
621
- var rdy = decodeInteger(contextCache, 'IARDY', decoder);
609
+ var rdx = decodeInteger(contextCache, "IARDX", decoder);
610
+ var rdy = decodeInteger(contextCache, "IARDY", decoder);
622
611
  var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];
623
612
  bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);
624
613
  }
@@ -633,35 +622,35 @@ var Jbig2Image = function Jbig2ImageClosure() {
633
622
  }
634
623
 
635
624
  if (huffman && !refinement) {
636
- var bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);
625
+ const bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);
637
626
  huffmanInput.byteAlign();
638
- var collectiveBitmap = void 0;
627
+ let collectiveBitmap;
639
628
 
640
629
  if (bitmapSize === 0) {
641
630
  collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);
642
631
  } else {
643
- var originalEnd = huffmanInput.end;
644
- var bitmapEnd = huffmanInput.position + bitmapSize;
632
+ const originalEnd = huffmanInput.end;
633
+ const bitmapEnd = huffmanInput.position + bitmapSize;
645
634
  huffmanInput.end = bitmapEnd;
646
635
  collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);
647
636
  huffmanInput.end = originalEnd;
648
637
  huffmanInput.position = bitmapEnd;
649
638
  }
650
639
 
651
- var numberOfSymbolsDecoded = symbolWidths.length;
640
+ const numberOfSymbolsDecoded = symbolWidths.length;
652
641
 
653
642
  if (firstSymbol === numberOfSymbolsDecoded - 1) {
654
643
  newSymbols.push(collectiveBitmap);
655
644
  } else {
656
- var _i = void 0,
657
- y = void 0,
645
+ let i,
646
+ y,
658
647
  xMin = 0,
659
- xMax = void 0,
660
- bitmapWidth = void 0,
661
- symbolBitmap = void 0;
648
+ xMax,
649
+ bitmapWidth,
650
+ symbolBitmap;
662
651
 
663
- for (_i = firstSymbol; _i < numberOfSymbolsDecoded; _i++) {
664
- bitmapWidth = symbolWidths[_i];
652
+ for (i = firstSymbol; i < numberOfSymbolsDecoded; i++) {
653
+ bitmapWidth = symbolWidths[i];
665
654
  xMax = xMin + bitmapWidth;
666
655
  symbolBitmap = [];
667
656
 
@@ -682,7 +671,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
682
671
  var totalSymbolsLength = symbols.length + numberOfNewSymbols;
683
672
 
684
673
  while (flags.length < totalSymbolsLength) {
685
- var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, 'IAEX', decoder);
674
+ var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, "IAEX", decoder);
686
675
 
687
676
  while (runLength--) {
688
677
  flags.push(currentFlag);
@@ -708,7 +697,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
708
697
 
709
698
  function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {
710
699
  if (huffman && refinement) {
711
- throw new Jbig2Error('refinement with Huffman is not supported');
700
+ throw new Jbig2Error("refinement with Huffman is not supported");
712
701
  }
713
702
 
714
703
  var bitmap = [];
@@ -728,36 +717,36 @@ var Jbig2Image = function Jbig2ImageClosure() {
728
717
 
729
718
  var decoder = decodingContext.decoder;
730
719
  var contextCache = decodingContext.contextCache;
731
- var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, 'IADT', decoder);
720
+ var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, "IADT", decoder);
732
721
  var firstS = 0;
733
722
  i = 0;
734
723
 
735
724
  while (i < numberOfSymbolInstances) {
736
- var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, 'IADT', decoder);
725
+ var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, "IADT", decoder);
737
726
  stripT += deltaT;
738
- var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, 'IAFS', decoder);
727
+ var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, "IAFS", decoder);
739
728
  firstS += deltaFirstS;
740
729
  var currentS = firstS;
741
730
 
742
731
  do {
743
- var currentT = 0;
732
+ let currentT = 0;
744
733
 
745
734
  if (stripSize > 1) {
746
- currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, 'IAIT', decoder);
735
+ currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, "IAIT", decoder);
747
736
  }
748
737
 
749
738
  var t = stripSize * stripT + currentT;
750
739
  var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);
751
- var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, 'IARI', decoder));
740
+ var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, "IARI", decoder));
752
741
  var symbolBitmap = inputSymbols[symbolId];
753
742
  var symbolWidth = symbolBitmap[0].length;
754
743
  var symbolHeight = symbolBitmap.length;
755
744
 
756
745
  if (applyRefinement) {
757
- var rdw = decodeInteger(contextCache, 'IARDW', decoder);
758
- var rdh = decodeInteger(contextCache, 'IARDH', decoder);
759
- var rdx = decodeInteger(contextCache, 'IARDX', decoder);
760
- var rdy = decodeInteger(contextCache, 'IARDY', decoder);
746
+ var rdw = decodeInteger(contextCache, "IARDW", decoder);
747
+ var rdh = decodeInteger(contextCache, "IARDH", decoder);
748
+ var rdx = decodeInteger(contextCache, "IARDX", decoder);
749
+ var rdy = decodeInteger(contextCache, "IARDY", decoder);
761
750
  symbolWidth += rdw;
762
751
  symbolHeight += rdh;
763
752
  symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);
@@ -794,7 +783,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
794
783
  break;
795
784
 
796
785
  default:
797
- throw new Jbig2Error("operator ".concat(combinationOperator, " is not supported"));
786
+ throw new Jbig2Error(`operator ${combinationOperator} is not supported`);
798
787
  }
799
788
  }
800
789
 
@@ -825,7 +814,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
825
814
  break;
826
815
 
827
816
  default:
828
- throw new Jbig2Error("operator ".concat(combinationOperator, " is not supported"));
817
+ throw new Jbig2Error(`operator ${combinationOperator} is not supported`);
829
818
  }
830
819
  }
831
820
 
@@ -833,7 +822,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
833
822
  }
834
823
 
835
824
  i++;
836
- var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, 'IADS', decoder);
825
+ var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, "IADS", decoder);
837
826
 
838
827
  if (deltaS === null) {
839
828
  break;
@@ -847,7 +836,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
847
836
  }
848
837
 
849
838
  function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {
850
- var at = [];
839
+ const at = [];
851
840
 
852
841
  if (!mmr) {
853
842
  at.push({
@@ -871,44 +860,38 @@ var Jbig2Image = function Jbig2ImageClosure() {
871
860
  }
872
861
  }
873
862
 
874
- var collectiveWidth = (maxPatternIndex + 1) * patternWidth;
875
- var collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);
876
- var patterns = [],
877
- i = 0,
878
- patternBitmap,
879
- xMin,
880
- xMax,
881
- y;
863
+ const collectiveWidth = (maxPatternIndex + 1) * patternWidth;
864
+ const collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);
865
+ const patterns = [];
882
866
 
883
- while (i <= maxPatternIndex) {
884
- patternBitmap = [];
885
- xMin = patternWidth * i;
886
- xMax = xMin + patternWidth;
867
+ for (let i = 0; i <= maxPatternIndex; i++) {
868
+ const patternBitmap = [];
869
+ const xMin = patternWidth * i;
870
+ const xMax = xMin + patternWidth;
887
871
 
888
- for (y = 0; y < patternHeight; y++) {
872
+ for (let y = 0; y < patternHeight; y++) {
889
873
  patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));
890
874
  }
891
875
 
892
876
  patterns.push(patternBitmap);
893
- i++;
894
877
  }
895
878
 
896
879
  return patterns;
897
880
  }
898
881
 
899
882
  function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {
900
- var skip = null;
883
+ const skip = null;
901
884
 
902
885
  if (enableSkip) {
903
- throw new Jbig2Error('skip is not supported');
886
+ throw new Jbig2Error("skip is not supported");
904
887
  }
905
888
 
906
889
  if (combinationOperator !== 0) {
907
- throw new Jbig2Error('operator ' + combinationOperator + ' is not supported in halftone region');
890
+ throw new Jbig2Error("operator " + combinationOperator + " is not supported in halftone region");
908
891
  }
909
892
 
910
- var regionBitmap = [];
911
- var i, j, row;
893
+ const regionBitmap = [];
894
+ let i, j, row;
912
895
 
913
896
  for (i = 0; i < regionHeight; i++) {
914
897
  row = new Uint8Array(regionWidth);
@@ -922,12 +905,12 @@ var Jbig2Image = function Jbig2ImageClosure() {
922
905
  regionBitmap.push(row);
923
906
  }
924
907
 
925
- var numberOfPatterns = patterns.length;
926
- var pattern0 = patterns[0];
927
- var patternWidth = pattern0[0].length,
928
- patternHeight = pattern0.length;
929
- var bitsPerValue = (0, _util.log2)(numberOfPatterns);
930
- var at = [];
908
+ const numberOfPatterns = patterns.length;
909
+ const pattern0 = patterns[0];
910
+ const patternWidth = pattern0[0].length,
911
+ patternHeight = pattern0.length;
912
+ const bitsPerValue = (0, _core_utils.log2)(numberOfPatterns);
913
+ const at = [];
931
914
 
932
915
  if (!mmr) {
933
916
  at.push({
@@ -951,9 +934,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
951
934
  }
952
935
  }
953
936
 
954
- var grayScaleBitPlanes = [],
955
- mmrInput,
956
- bitmap;
937
+ const grayScaleBitPlanes = [];
938
+ let mmrInput, bitmap;
957
939
 
958
940
  if (mmr) {
959
941
  mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
@@ -969,7 +951,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
969
951
  grayScaleBitPlanes[i] = bitmap;
970
952
  }
971
953
 
972
- var mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;
954
+ let mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;
973
955
 
974
956
  for (mg = 0; mg < gridHeight; mg++) {
975
957
  for (ng = 0; ng < gridWidth; ng++) {
@@ -995,8 +977,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
995
977
  }
996
978
  }
997
979
  } else {
998
- var regionX = void 0,
999
- regionY = void 0;
980
+ let regionX, regionY;
1000
981
 
1001
982
  for (i = 0; i < patternHeight; i++) {
1002
983
  regionY = y + i;
@@ -1025,12 +1006,12 @@ var Jbig2Image = function Jbig2ImageClosure() {
1025
1006
 
1026
1007
  function readSegmentHeader(data, start) {
1027
1008
  var segmentHeader = {};
1028
- segmentHeader.number = (0, _util.readUint32)(data, start);
1009
+ segmentHeader.number = (0, _core_utils.readUint32)(data, start);
1029
1010
  var flags = data[start + 4];
1030
- var segmentType = flags & 0x3F;
1011
+ var segmentType = flags & 0x3f;
1031
1012
 
1032
1013
  if (!SegmentTypes[segmentType]) {
1033
- throw new Jbig2Error('invalid segment type: ' + segmentType);
1014
+ throw new Jbig2Error("invalid segment type: " + segmentType);
1034
1015
  }
1035
1016
 
1036
1017
  segmentHeader.type = segmentType;
@@ -1043,7 +1024,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1043
1024
  var position = start + 6;
1044
1025
 
1045
1026
  if (referredFlags === 7) {
1046
- referredToCount = (0, _util.readUint32)(data, position - 1) & 0x1FFFFFFF;
1027
+ referredToCount = (0, _core_utils.readUint32)(data, position - 1) & 0x1fffffff;
1047
1028
  position += 3;
1048
1029
  var bytes = referredToCount + 7 >> 3;
1049
1030
  retainBits[0] = data[position++];
@@ -1052,16 +1033,32 @@ var Jbig2Image = function Jbig2ImageClosure() {
1052
1033
  retainBits.push(data[position++]);
1053
1034
  }
1054
1035
  } else if (referredFlags === 5 || referredFlags === 6) {
1055
- throw new Jbig2Error('invalid referred-to flags');
1036
+ throw new Jbig2Error("invalid referred-to flags");
1056
1037
  }
1057
1038
 
1058
1039
  segmentHeader.retainBits = retainBits;
1059
- var referredToSegmentNumberSize = segmentHeader.number <= 256 ? 1 : segmentHeader.number <= 65536 ? 2 : 4;
1040
+ let referredToSegmentNumberSize = 4;
1041
+
1042
+ if (segmentHeader.number <= 256) {
1043
+ referredToSegmentNumberSize = 1;
1044
+ } else if (segmentHeader.number <= 65536) {
1045
+ referredToSegmentNumberSize = 2;
1046
+ }
1047
+
1060
1048
  var referredTo = [];
1061
1049
  var i, ii;
1062
1050
 
1063
1051
  for (i = 0; i < referredToCount; i++) {
1064
- var number = referredToSegmentNumberSize === 1 ? data[position] : referredToSegmentNumberSize === 2 ? (0, _util.readUint16)(data, position) : (0, _util.readUint32)(data, position);
1052
+ let number;
1053
+
1054
+ if (referredToSegmentNumberSize === 1) {
1055
+ number = data[position];
1056
+ } else if (referredToSegmentNumberSize === 2) {
1057
+ number = (0, _core_utils.readUint16)(data, position);
1058
+ } else {
1059
+ number = (0, _core_utils.readUint32)(data, position);
1060
+ }
1061
+
1065
1062
  referredTo.push(number);
1066
1063
  position += referredToSegmentNumberSize;
1067
1064
  }
@@ -1071,14 +1068,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
1071
1068
  if (!pageAssociationFieldSize) {
1072
1069
  segmentHeader.pageAssociation = data[position++];
1073
1070
  } else {
1074
- segmentHeader.pageAssociation = (0, _util.readUint32)(data, position);
1071
+ segmentHeader.pageAssociation = (0, _core_utils.readUint32)(data, position);
1075
1072
  position += 4;
1076
1073
  }
1077
1074
 
1078
- segmentHeader.length = (0, _util.readUint32)(data, position);
1075
+ segmentHeader.length = (0, _core_utils.readUint32)(data, position);
1079
1076
  position += 4;
1080
1077
 
1081
- if (segmentHeader.length === 0xFFFFFFFF) {
1078
+ if (segmentHeader.length === 0xffffffff) {
1082
1079
  if (segmentType === 38) {
1083
1080
  var genericRegionInfo = readRegionSegmentInformation(data, position);
1084
1081
  var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];
@@ -1087,14 +1084,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
1087
1084
  var searchPattern = new Uint8Array(searchPatternLength);
1088
1085
 
1089
1086
  if (!genericRegionMmr) {
1090
- searchPattern[0] = 0xFF;
1091
- searchPattern[1] = 0xAC;
1087
+ searchPattern[0] = 0xff;
1088
+ searchPattern[1] = 0xac;
1092
1089
  }
1093
1090
 
1094
- searchPattern[2] = genericRegionInfo.height >>> 24 & 0xFF;
1095
- searchPattern[3] = genericRegionInfo.height >> 16 & 0xFF;
1096
- searchPattern[4] = genericRegionInfo.height >> 8 & 0xFF;
1097
- searchPattern[5] = genericRegionInfo.height & 0xFF;
1091
+ searchPattern[2] = genericRegionInfo.height >>> 24 & 0xff;
1092
+ searchPattern[3] = genericRegionInfo.height >> 16 & 0xff;
1093
+ searchPattern[4] = genericRegionInfo.height >> 8 & 0xff;
1094
+ searchPattern[5] = genericRegionInfo.height & 0xff;
1098
1095
 
1099
1096
  for (i = position, ii = data.length; i < ii; i++) {
1100
1097
  var j = 0;
@@ -1109,11 +1106,11 @@ var Jbig2Image = function Jbig2ImageClosure() {
1109
1106
  }
1110
1107
  }
1111
1108
 
1112
- if (segmentHeader.length === 0xFFFFFFFF) {
1113
- throw new Jbig2Error('segment end was not found');
1109
+ if (segmentHeader.length === 0xffffffff) {
1110
+ throw new Jbig2Error("segment end was not found");
1114
1111
  }
1115
1112
  } else {
1116
- throw new Jbig2Error('invalid unknown segment length');
1113
+ throw new Jbig2Error("invalid unknown segment length");
1117
1114
  }
1118
1115
  }
1119
1116
 
@@ -1130,7 +1127,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1130
1127
  position = segmentHeader.headerEnd;
1131
1128
  var segment = {
1132
1129
  header: segmentHeader,
1133
- data: data
1130
+ data
1134
1131
  };
1135
1132
 
1136
1133
  if (!header.randomAccess) {
@@ -1159,10 +1156,10 @@ var Jbig2Image = function Jbig2ImageClosure() {
1159
1156
 
1160
1157
  function readRegionSegmentInformation(data, start) {
1161
1158
  return {
1162
- width: (0, _util.readUint32)(data, start),
1163
- height: (0, _util.readUint32)(data, start + 4),
1164
- x: (0, _util.readUint32)(data, start + 8),
1165
- y: (0, _util.readUint32)(data, start + 12),
1159
+ width: (0, _core_utils.readUint32)(data, start),
1160
+ height: (0, _core_utils.readUint32)(data, start + 4),
1161
+ x: (0, _core_utils.readUint32)(data, start + 8),
1162
+ y: (0, _core_utils.readUint32)(data, start + 12),
1166
1163
  combinationOperator: data[start + 16] & 7
1167
1164
  };
1168
1165
  }
@@ -1179,7 +1176,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1179
1176
  switch (header.type) {
1180
1177
  case 0:
1181
1178
  var dictionary = {};
1182
- var dictionaryFlags = (0, _util.readUint16)(data, position);
1179
+ var dictionaryFlags = (0, _core_utils.readUint16)(data, position);
1183
1180
  dictionary.huffman = !!(dictionaryFlags & 1);
1184
1181
  dictionary.refinement = !!(dictionaryFlags & 2);
1185
1182
  dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;
@@ -1198,8 +1195,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
1198
1195
 
1199
1196
  for (i = 0; i < atLength; i++) {
1200
1197
  at.push({
1201
- x: (0, _util.readInt8)(data, position),
1202
- y: (0, _util.readInt8)(data, position + 1)
1198
+ x: (0, _core_utils.readInt8)(data, position),
1199
+ y: (0, _core_utils.readInt8)(data, position + 1)
1203
1200
  });
1204
1201
  position += 2;
1205
1202
  }
@@ -1212,8 +1209,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
1212
1209
 
1213
1210
  for (i = 0; i < 2; i++) {
1214
1211
  at.push({
1215
- x: (0, _util.readInt8)(data, position),
1216
- y: (0, _util.readInt8)(data, position + 1)
1212
+ x: (0, _core_utils.readInt8)(data, position),
1213
+ y: (0, _core_utils.readInt8)(data, position + 1)
1217
1214
  });
1218
1215
  position += 2;
1219
1216
  }
@@ -1221,9 +1218,9 @@ var Jbig2Image = function Jbig2ImageClosure() {
1221
1218
  dictionary.refinementAt = at;
1222
1219
  }
1223
1220
 
1224
- dictionary.numberOfExportedSymbols = (0, _util.readUint32)(data, position);
1221
+ dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);
1225
1222
  position += 4;
1226
- dictionary.numberOfNewSymbols = (0, _util.readUint32)(data, position);
1223
+ dictionary.numberOfNewSymbols = (0, _core_utils.readUint32)(data, position);
1227
1224
  position += 4;
1228
1225
  args = [dictionary, header.number, header.referredTo, data, position, end];
1229
1226
  break;
@@ -1233,7 +1230,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1233
1230
  var textRegion = {};
1234
1231
  textRegion.info = readRegionSegmentInformation(data, position);
1235
1232
  position += RegionSegmentInformationFieldLength;
1236
- var textRegionSegmentFlags = (0, _util.readUint16)(data, position);
1233
+ var textRegionSegmentFlags = (0, _core_utils.readUint16)(data, position);
1237
1234
  position += 2;
1238
1235
  textRegion.huffman = !!(textRegionSegmentFlags & 1);
1239
1236
  textRegion.refinement = !!(textRegionSegmentFlags & 2);
@@ -1247,7 +1244,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1247
1244
  textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;
1248
1245
 
1249
1246
  if (textRegion.huffman) {
1250
- var textRegionHuffmanFlags = (0, _util.readUint16)(data, position);
1247
+ var textRegionHuffmanFlags = (0, _core_utils.readUint16)(data, position);
1251
1248
  position += 2;
1252
1249
  textRegion.huffmanFS = textRegionHuffmanFlags & 3;
1253
1250
  textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;
@@ -1264,8 +1261,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
1264
1261
 
1265
1262
  for (i = 0; i < 2; i++) {
1266
1263
  at.push({
1267
- x: (0, _util.readInt8)(data, position),
1268
- y: (0, _util.readInt8)(data, position + 1)
1264
+ x: (0, _core_utils.readInt8)(data, position),
1265
+ y: (0, _core_utils.readInt8)(data, position + 1)
1269
1266
  });
1270
1267
  position += 2;
1271
1268
  }
@@ -1273,45 +1270,45 @@ var Jbig2Image = function Jbig2ImageClosure() {
1273
1270
  textRegion.refinementAt = at;
1274
1271
  }
1275
1272
 
1276
- textRegion.numberOfSymbolInstances = (0, _util.readUint32)(data, position);
1273
+ textRegion.numberOfSymbolInstances = (0, _core_utils.readUint32)(data, position);
1277
1274
  position += 4;
1278
1275
  args = [textRegion, header.referredTo, data, position, end];
1279
1276
  break;
1280
1277
 
1281
1278
  case 16:
1282
- var patternDictionary = {};
1283
- var patternDictionaryFlags = data[position++];
1279
+ const patternDictionary = {};
1280
+ const patternDictionaryFlags = data[position++];
1284
1281
  patternDictionary.mmr = !!(patternDictionaryFlags & 1);
1285
1282
  patternDictionary.template = patternDictionaryFlags >> 1 & 3;
1286
1283
  patternDictionary.patternWidth = data[position++];
1287
1284
  patternDictionary.patternHeight = data[position++];
1288
- patternDictionary.maxPatternIndex = (0, _util.readUint32)(data, position);
1285
+ patternDictionary.maxPatternIndex = (0, _core_utils.readUint32)(data, position);
1289
1286
  position += 4;
1290
1287
  args = [patternDictionary, header.number, data, position, end];
1291
1288
  break;
1292
1289
 
1293
1290
  case 22:
1294
1291
  case 23:
1295
- var halftoneRegion = {};
1292
+ const halftoneRegion = {};
1296
1293
  halftoneRegion.info = readRegionSegmentInformation(data, position);
1297
1294
  position += RegionSegmentInformationFieldLength;
1298
- var halftoneRegionFlags = data[position++];
1295
+ const halftoneRegionFlags = data[position++];
1299
1296
  halftoneRegion.mmr = !!(halftoneRegionFlags & 1);
1300
1297
  halftoneRegion.template = halftoneRegionFlags >> 1 & 3;
1301
1298
  halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);
1302
1299
  halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;
1303
1300
  halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;
1304
- halftoneRegion.gridWidth = (0, _util.readUint32)(data, position);
1301
+ halftoneRegion.gridWidth = (0, _core_utils.readUint32)(data, position);
1305
1302
  position += 4;
1306
- halftoneRegion.gridHeight = (0, _util.readUint32)(data, position);
1303
+ halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);
1307
1304
  position += 4;
1308
- halftoneRegion.gridOffsetX = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;
1305
+ halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;
1309
1306
  position += 4;
1310
- halftoneRegion.gridOffsetY = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;
1307
+ halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;
1311
1308
  position += 4;
1312
- halftoneRegion.gridVectorX = (0, _util.readUint16)(data, position);
1309
+ halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);
1313
1310
  position += 2;
1314
- halftoneRegion.gridVectorY = (0, _util.readUint16)(data, position);
1311
+ halftoneRegion.gridVectorY = (0, _core_utils.readUint16)(data, position);
1315
1312
  position += 2;
1316
1313
  args = [halftoneRegion, header.referredTo, data, position, end];
1317
1314
  break;
@@ -1332,8 +1329,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
1332
1329
 
1333
1330
  for (i = 0; i < atLength; i++) {
1334
1331
  at.push({
1335
- x: (0, _util.readInt8)(data, position),
1336
- y: (0, _util.readInt8)(data, position + 1)
1332
+ x: (0, _core_utils.readInt8)(data, position),
1333
+ y: (0, _core_utils.readInt8)(data, position + 1)
1337
1334
  });
1338
1335
  position += 2;
1339
1336
  }
@@ -1346,18 +1343,18 @@ var Jbig2Image = function Jbig2ImageClosure() {
1346
1343
 
1347
1344
  case 48:
1348
1345
  var pageInfo = {
1349
- width: (0, _util.readUint32)(data, position),
1350
- height: (0, _util.readUint32)(data, position + 4),
1351
- resolutionX: (0, _util.readUint32)(data, position + 8),
1352
- resolutionY: (0, _util.readUint32)(data, position + 12)
1346
+ width: (0, _core_utils.readUint32)(data, position),
1347
+ height: (0, _core_utils.readUint32)(data, position + 4),
1348
+ resolutionX: (0, _core_utils.readUint32)(data, position + 8),
1349
+ resolutionY: (0, _core_utils.readUint32)(data, position + 12)
1353
1350
  };
1354
1351
 
1355
- if (pageInfo.height === 0xFFFFFFFF) {
1352
+ if (pageInfo.height === 0xffffffff) {
1356
1353
  delete pageInfo.height;
1357
1354
  }
1358
1355
 
1359
1356
  var pageSegmentFlags = data[position + 16];
1360
- (0, _util.readUint16)(data, position + 17);
1357
+ (0, _core_utils.readUint16)(data, position + 17);
1361
1358
  pageInfo.lossless = !!(pageSegmentFlags & 1);
1362
1359
  pageInfo.refinement = !!(pageSegmentFlags & 2);
1363
1360
  pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;
@@ -1384,10 +1381,10 @@ var Jbig2Image = function Jbig2ImageClosure() {
1384
1381
  break;
1385
1382
 
1386
1383
  default:
1387
- throw new Jbig2Error("segment type ".concat(header.typeName, "(").concat(header.type, ")") + ' is not implemented');
1384
+ throw new Jbig2Error(`segment type ${header.typeName}(${header.type})` + " is not implemented");
1388
1385
  }
1389
1386
 
1390
- var callbackName = 'on' + header.typeName;
1387
+ var callbackName = "on" + header.typeName;
1391
1388
 
1392
1389
  if (callbackName in visitor) {
1393
1390
  visitor[callbackName].apply(visitor, args);
@@ -1413,39 +1410,40 @@ var Jbig2Image = function Jbig2ImageClosure() {
1413
1410
  }
1414
1411
 
1415
1412
  function parseJbig2(data) {
1416
- var position = 0,
1417
- end = data.length;
1413
+ const end = data.length;
1414
+ let position = 0;
1418
1415
 
1419
- if (data[position] !== 0x97 || data[position + 1] !== 0x4A || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0D || data[position + 5] !== 0x0A || data[position + 6] !== 0x1A || data[position + 7] !== 0x0A) {
1420
- throw new Jbig2Error('parseJbig2 - invalid header.');
1416
+ if (data[position] !== 0x97 || data[position + 1] !== 0x4a || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0d || data[position + 5] !== 0x0a || data[position + 6] !== 0x1a || data[position + 7] !== 0x0a) {
1417
+ throw new Jbig2Error("parseJbig2 - invalid header.");
1421
1418
  }
1422
1419
 
1423
- var header = Object.create(null);
1420
+ const header = Object.create(null);
1424
1421
  position += 8;
1425
- var flags = data[position++];
1422
+ const flags = data[position++];
1426
1423
  header.randomAccess = !(flags & 1);
1427
1424
 
1428
1425
  if (!(flags & 2)) {
1429
- header.numberOfPages = (0, _util.readUint32)(data, position);
1426
+ header.numberOfPages = (0, _core_utils.readUint32)(data, position);
1430
1427
  position += 4;
1431
1428
  }
1432
1429
 
1433
- var segments = readSegments(header, data, position, end);
1434
- var visitor = new SimpleSegmentVisitor();
1430
+ const segments = readSegments(header, data, position, end);
1431
+ const visitor = new SimpleSegmentVisitor();
1435
1432
  processSegments(segments, visitor);
1436
- var _visitor$currentPageI = visitor.currentPageInfo,
1437
- width = _visitor$currentPageI.width,
1438
- height = _visitor$currentPageI.height;
1439
- var bitPacked = visitor.buffer;
1440
- var imgData = new Uint8ClampedArray(width * height);
1441
- var q = 0,
1433
+ const {
1434
+ width,
1435
+ height
1436
+ } = visitor.currentPageInfo;
1437
+ const bitPacked = visitor.buffer;
1438
+ const imgData = new Uint8ClampedArray(width * height);
1439
+ let q = 0,
1442
1440
  k = 0;
1443
1441
 
1444
- for (var i = 0; i < height; i++) {
1445
- var mask = 0,
1446
- buffer = void 0;
1442
+ for (let i = 0; i < height; i++) {
1443
+ let mask = 0,
1444
+ buffer;
1447
1445
 
1448
- for (var j = 0; j < width; j++) {
1446
+ for (let j = 0; j < width; j++) {
1449
1447
  if (!mask) {
1450
1448
  mask = 128;
1451
1449
  buffer = bitPacked[k++];
@@ -1457,9 +1455,9 @@ var Jbig2Image = function Jbig2ImageClosure() {
1457
1455
  }
1458
1456
 
1459
1457
  return {
1460
- imgData: imgData,
1461
- width: width,
1462
- height: height
1458
+ imgData,
1459
+ width,
1460
+ height
1463
1461
  };
1464
1462
  }
1465
1463
 
@@ -1473,7 +1471,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1473
1471
 
1474
1472
  if (info.defaultPixelValue) {
1475
1473
  for (var i = 0, ii = buffer.length; i < ii; i++) {
1476
- buffer[i] = 0xFF;
1474
+ buffer[i] = 0xff;
1477
1475
  }
1478
1476
  }
1479
1477
 
@@ -1538,7 +1536,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1538
1536
  break;
1539
1537
 
1540
1538
  default:
1541
- throw new Jbig2Error("operator ".concat(combinationOperator, " is not supported"));
1539
+ throw new Jbig2Error(`operator ${combinationOperator} is not supported`);
1542
1540
  }
1543
1541
  },
1544
1542
  onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {
@@ -1551,7 +1549,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1551
1549
  this.onImmediateGenericRegion.apply(this, arguments);
1552
1550
  },
1553
1551
  onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {
1554
- var huffmanTables, huffmanInput;
1552
+ let huffmanTables, huffmanInput;
1555
1553
 
1556
1554
  if (dictionary.huffman) {
1557
1555
  huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);
@@ -1567,7 +1565,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1567
1565
  var inputSymbols = [];
1568
1566
 
1569
1567
  for (var i = 0, ii = referredSegments.length; i < ii; i++) {
1570
- var referredSymbols = symbols[referredSegments[i]];
1568
+ const referredSymbols = symbols[referredSegments[i]];
1571
1569
 
1572
1570
  if (referredSymbols) {
1573
1571
  inputSymbols = inputSymbols.concat(referredSymbols);
@@ -1579,19 +1577,19 @@ var Jbig2Image = function Jbig2ImageClosure() {
1579
1577
  },
1580
1578
  onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {
1581
1579
  var regionInfo = region.info;
1582
- var huffmanTables, huffmanInput;
1580
+ let huffmanTables, huffmanInput;
1583
1581
  var symbols = this.symbols;
1584
1582
  var inputSymbols = [];
1585
1583
 
1586
1584
  for (var i = 0, ii = referredSegments.length; i < ii; i++) {
1587
- var referredSymbols = symbols[referredSegments[i]];
1585
+ const referredSymbols = symbols[referredSegments[i]];
1588
1586
 
1589
1587
  if (referredSymbols) {
1590
1588
  inputSymbols = inputSymbols.concat(referredSymbols);
1591
1589
  }
1592
1590
  }
1593
1591
 
1594
- var symbolCodeLength = (0, _util.log2)(inputSymbols.length);
1592
+ var symbolCodeLength = (0, _core_utils.log2)(inputSymbols.length);
1595
1593
 
1596
1594
  if (region.huffman) {
1597
1595
  huffmanInput = new Reader(data, start, end);
@@ -1605,28 +1603,32 @@ var Jbig2Image = function Jbig2ImageClosure() {
1605
1603
  onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {
1606
1604
  this.onImmediateTextRegion.apply(this, arguments);
1607
1605
  },
1608
- onPatternDictionary: function onPatternDictionary(dictionary, currentSegment, data, start, end) {
1609
- var patterns = this.patterns;
1606
+
1607
+ onPatternDictionary(dictionary, currentSegment, data, start, end) {
1608
+ let patterns = this.patterns;
1610
1609
 
1611
1610
  if (!patterns) {
1612
1611
  this.patterns = patterns = {};
1613
1612
  }
1614
1613
 
1615
- var decodingContext = new DecodingContext(data, start, end);
1614
+ const decodingContext = new DecodingContext(data, start, end);
1616
1615
  patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);
1617
1616
  },
1618
- onImmediateHalftoneRegion: function onImmediateHalftoneRegion(region, referredSegments, data, start, end) {
1619
- var patterns = this.patterns[referredSegments[0]];
1620
- var regionInfo = region.info;
1621
- var decodingContext = new DecodingContext(data, start, end);
1622
- var bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);
1617
+
1618
+ onImmediateHalftoneRegion(region, referredSegments, data, start, end) {
1619
+ const patterns = this.patterns[referredSegments[0]];
1620
+ const regionInfo = region.info;
1621
+ const decodingContext = new DecodingContext(data, start, end);
1622
+ const bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);
1623
1623
  this.drawBitmap(regionInfo, bitmap);
1624
1624
  },
1625
- onImmediateLosslessHalftoneRegion: function onImmediateLosslessHalftoneRegion() {
1625
+
1626
+ onImmediateLosslessHalftoneRegion() {
1626
1627
  this.onImmediateHalftoneRegion.apply(this, arguments);
1627
1628
  },
1628
- onTables: function onTables(currentSegment, data, start, end) {
1629
- var customTables = this.customTables;
1629
+
1630
+ onTables(currentSegment, data, start, end) {
1631
+ let customTables = this.customTables;
1630
1632
 
1631
1633
  if (!customTables) {
1632
1634
  this.customTables = customTables = {};
@@ -1634,6 +1636,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1634
1636
 
1635
1637
  customTables[currentSegment] = decodeTablesSegment(data, start, end);
1636
1638
  }
1639
+
1637
1640
  };
1638
1641
 
1639
1642
  function HuffmanLine(lineData) {
@@ -1650,7 +1653,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1650
1653
  this.prefixLength = lineData[1];
1651
1654
  this.rangeLength = lineData[2];
1652
1655
  this.prefixCode = lineData[3];
1653
- this.isLowerRange = lineData[4] === 'lower';
1656
+ this.isLowerRange = lineData[4] === "lower";
1654
1657
  }
1655
1658
  }
1656
1659
 
@@ -1669,13 +1672,13 @@ var Jbig2Image = function Jbig2ImageClosure() {
1669
1672
  }
1670
1673
 
1671
1674
  HuffmanTreeNode.prototype = {
1672
- buildTree: function buildTree(line, shift) {
1673
- var bit = line.prefixCode >> shift & 1;
1675
+ buildTree(line, shift) {
1676
+ const bit = line.prefixCode >> shift & 1;
1674
1677
 
1675
1678
  if (shift <= 0) {
1676
1679
  this.children[bit] = new HuffmanTreeNode(line);
1677
1680
  } else {
1678
- var node = this.children[bit];
1681
+ let node = this.children[bit];
1679
1682
 
1680
1683
  if (!node) {
1681
1684
  this.children[bit] = node = new HuffmanTreeNode(null);
@@ -1684,24 +1687,26 @@ var Jbig2Image = function Jbig2ImageClosure() {
1684
1687
  node.buildTree(line, shift - 1);
1685
1688
  }
1686
1689
  },
1687
- decodeNode: function decodeNode(reader) {
1690
+
1691
+ decodeNode(reader) {
1688
1692
  if (this.isLeaf) {
1689
1693
  if (this.isOOB) {
1690
1694
  return null;
1691
1695
  }
1692
1696
 
1693
- var htOffset = reader.readBits(this.rangeLength);
1697
+ const htOffset = reader.readBits(this.rangeLength);
1694
1698
  return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);
1695
1699
  }
1696
1700
 
1697
- var node = this.children[reader.readBit()];
1701
+ const node = this.children[reader.readBit()];
1698
1702
 
1699
1703
  if (!node) {
1700
- throw new Jbig2Error('invalid Huffman data');
1704
+ throw new Jbig2Error("invalid Huffman data");
1701
1705
  }
1702
1706
 
1703
1707
  return node.decodeNode(reader);
1704
1708
  }
1709
+
1705
1710
  };
1706
1711
 
1707
1712
  function HuffmanTable(lines, prefixCodesDone) {
@@ -1710,12 +1715,9 @@ var Jbig2Image = function Jbig2ImageClosure() {
1710
1715
  }
1711
1716
 
1712
1717
  this.rootNode = new HuffmanTreeNode(null);
1713
- var i,
1714
- ii = lines.length,
1715
- line;
1716
1718
 
1717
- for (i = 0; i < ii; i++) {
1718
- line = lines[i];
1719
+ for (let i = 0, ii = lines.length; i < ii; i++) {
1720
+ const line = lines[i];
1719
1721
 
1720
1722
  if (line.prefixLength > 0) {
1721
1723
  this.rootNode.buildTree(line, line.prefixLength - 1);
@@ -1724,25 +1726,25 @@ var Jbig2Image = function Jbig2ImageClosure() {
1724
1726
  }
1725
1727
 
1726
1728
  HuffmanTable.prototype = {
1727
- decode: function decode(reader) {
1729
+ decode(reader) {
1728
1730
  return this.rootNode.decodeNode(reader);
1729
1731
  },
1730
- assignPrefixCodes: function assignPrefixCodes(lines) {
1731
- var linesLength = lines.length,
1732
- prefixLengthMax = 0,
1733
- i;
1734
1732
 
1735
- for (i = 0; i < linesLength; i++) {
1733
+ assignPrefixCodes(lines) {
1734
+ const linesLength = lines.length;
1735
+ let prefixLengthMax = 0;
1736
+
1737
+ for (let i = 0; i < linesLength; i++) {
1736
1738
  prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);
1737
1739
  }
1738
1740
 
1739
- var histogram = new Uint32Array(prefixLengthMax + 1);
1741
+ const histogram = new Uint32Array(prefixLengthMax + 1);
1740
1742
 
1741
- for (i = 0; i < linesLength; i++) {
1743
+ for (let i = 0; i < linesLength; i++) {
1742
1744
  histogram[lines[i].prefixLength]++;
1743
1745
  }
1744
1746
 
1745
- var currentLength = 1,
1747
+ let currentLength = 1,
1746
1748
  firstCode = 0,
1747
1749
  currentCode,
1748
1750
  currentTemp,
@@ -1768,17 +1770,18 @@ var Jbig2Image = function Jbig2ImageClosure() {
1768
1770
  currentLength++;
1769
1771
  }
1770
1772
  }
1773
+
1771
1774
  };
1772
1775
 
1773
1776
  function decodeTablesSegment(data, start, end) {
1774
- var flags = data[start];
1775
- var lowestValue = (0, _util.readUint32)(data, start + 1) & 0xFFFFFFFF;
1776
- var highestValue = (0, _util.readUint32)(data, start + 5) & 0xFFFFFFFF;
1777
- var reader = new Reader(data, start + 9, end);
1778
- var prefixSizeBits = (flags >> 1 & 7) + 1;
1779
- var rangeSizeBits = (flags >> 4 & 7) + 1;
1780
- var lines = [];
1781
- var prefixLength,
1777
+ const flags = data[start];
1778
+ const lowestValue = (0, _core_utils.readUint32)(data, start + 1) & 0xffffffff;
1779
+ const highestValue = (0, _core_utils.readUint32)(data, start + 5) & 0xffffffff;
1780
+ const reader = new Reader(data, start + 9, end);
1781
+ const prefixSizeBits = (flags >> 1 & 7) + 1;
1782
+ const rangeSizeBits = (flags >> 4 & 7) + 1;
1783
+ const lines = [];
1784
+ let prefixLength,
1782
1785
  rangeLength,
1783
1786
  currentRangeLow = lowestValue;
1784
1787
 
@@ -1790,7 +1793,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1790
1793
  } while (currentRangeLow < highestValue);
1791
1794
 
1792
1795
  prefixLength = reader.readBits(prefixSizeBits);
1793
- lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, 'lower']));
1796
+ lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, "lower"]));
1794
1797
  prefixLength = reader.readBits(prefixSizeBits);
1795
1798
  lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));
1796
1799
 
@@ -1802,16 +1805,16 @@ var Jbig2Image = function Jbig2ImageClosure() {
1802
1805
  return new HuffmanTable(lines, false);
1803
1806
  }
1804
1807
 
1805
- var standardTablesCache = {};
1808
+ const standardTablesCache = {};
1806
1809
 
1807
1810
  function getStandardTable(number) {
1808
- var table = standardTablesCache[number];
1811
+ let table = standardTablesCache[number];
1809
1812
 
1810
1813
  if (table) {
1811
1814
  return table;
1812
1815
  }
1813
1816
 
1814
- var lines;
1817
+ let lines;
1815
1818
 
1816
1819
  switch (number) {
1817
1820
  case 1:
@@ -1819,51 +1822,51 @@ var Jbig2Image = function Jbig2ImageClosure() {
1819
1822
  break;
1820
1823
 
1821
1824
  case 2:
1822
- lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xE], [11, 5, 6, 0x1E], [75, 6, 32, 0x3E], [6, 0x3F]];
1825
+ lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [75, 6, 32, 0x3e], [6, 0x3f]];
1823
1826
  break;
1824
1827
 
1825
1828
  case 3:
1826
- lines = [[-256, 8, 8, 0xFE], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xE], [11, 5, 6, 0x1E], [-257, 8, 32, 0xFF, 'lower'], [75, 7, 32, 0x7E], [6, 0x3E]];
1829
+ lines = [[-256, 8, 8, 0xfe], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [-257, 8, 32, 0xff, "lower"], [75, 7, 32, 0x7e], [6, 0x3e]];
1827
1830
  break;
1828
1831
 
1829
1832
  case 4:
1830
- lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xE], [12, 5, 6, 0x1E], [76, 5, 32, 0x1F]];
1833
+ lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [76, 5, 32, 0x1f]];
1831
1834
  break;
1832
1835
 
1833
1836
  case 5:
1834
- lines = [[-255, 7, 8, 0x7E], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xE], [12, 5, 6, 0x1E], [-256, 7, 32, 0x7F, 'lower'], [76, 6, 32, 0x3E]];
1837
+ lines = [[-255, 7, 8, 0x7e], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [-256, 7, 32, 0x7f, "lower"], [76, 6, 32, 0x3e]];
1835
1838
  break;
1836
1839
 
1837
1840
  case 6:
1838
- lines = [[-2048, 5, 10, 0x1C], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xA], [-128, 5, 6, 0x1D], [-64, 5, 5, 0x1E], [-32, 4, 5, 0xB], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xC], [1024, 4, 10, 0xD], [-2049, 6, 32, 0x3E, 'lower'], [2048, 6, 32, 0x3F]];
1841
+ lines = [[-2048, 5, 10, 0x1c], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xa], [-128, 5, 6, 0x1d], [-64, 5, 5, 0x1e], [-32, 4, 5, 0xb], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xc], [1024, 4, 10, 0xd], [-2049, 6, 32, 0x3e, "lower"], [2048, 6, 32, 0x3f]];
1839
1842
  break;
1840
1843
 
1841
1844
  case 7:
1842
- lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1A], [-64, 5, 5, 0x1B], [-32, 4, 5, 0xA], [0, 4, 5, 0xB], [32, 5, 5, 0x1C], [64, 5, 6, 0x1D], [128, 4, 7, 0xC], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1E, 'lower'], [2048, 5, 32, 0x1F]];
1845
+ lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1a], [-64, 5, 5, 0x1b], [-32, 4, 5, 0xa], [0, 4, 5, 0xb], [32, 5, 5, 0x1c], [64, 5, 6, 0x1d], [128, 4, 7, 0xc], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1e, "lower"], [2048, 5, 32, 0x1f]];
1843
1846
  break;
1844
1847
 
1845
1848
  case 8:
1846
- lines = [[-15, 8, 3, 0xFC], [-7, 9, 1, 0x1FC], [-5, 8, 1, 0xFD], [-3, 9, 0, 0x1FD], [-2, 7, 0, 0x7C], [-1, 4, 0, 0xA], [0, 2, 1, 0x0], [2, 5, 0, 0x1A], [3, 6, 0, 0x3A], [4, 3, 4, 0x4], [20, 6, 1, 0x3B], [22, 4, 4, 0xB], [38, 4, 5, 0xC], [70, 5, 6, 0x1B], [134, 5, 7, 0x1C], [262, 6, 7, 0x3C], [390, 7, 8, 0x7D], [646, 6, 10, 0x3D], [-16, 9, 32, 0x1FE, 'lower'], [1670, 9, 32, 0x1FF], [2, 0x1]];
1849
+ lines = [[-15, 8, 3, 0xfc], [-7, 9, 1, 0x1fc], [-5, 8, 1, 0xfd], [-3, 9, 0, 0x1fd], [-2, 7, 0, 0x7c], [-1, 4, 0, 0xa], [0, 2, 1, 0x0], [2, 5, 0, 0x1a], [3, 6, 0, 0x3a], [4, 3, 4, 0x4], [20, 6, 1, 0x3b], [22, 4, 4, 0xb], [38, 4, 5, 0xc], [70, 5, 6, 0x1b], [134, 5, 7, 0x1c], [262, 6, 7, 0x3c], [390, 7, 8, 0x7d], [646, 6, 10, 0x3d], [-16, 9, 32, 0x1fe, "lower"], [1670, 9, 32, 0x1ff], [2, 0x1]];
1847
1850
  break;
1848
1851
 
1849
1852
  case 9:
1850
- lines = [[-31, 8, 4, 0xFC], [-15, 9, 2, 0x1FC], [-11, 8, 2, 0xFD], [-7, 9, 1, 0x1FD], [-5, 7, 1, 0x7C], [-3, 4, 1, 0xA], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1A], [5, 6, 1, 0x3A], [7, 3, 5, 0x4], [39, 6, 2, 0x3B], [43, 4, 5, 0xB], [75, 4, 6, 0xC], [139, 5, 7, 0x1B], [267, 5, 8, 0x1C], [523, 6, 8, 0x3C], [779, 7, 9, 0x7D], [1291, 6, 11, 0x3D], [-32, 9, 32, 0x1FE, 'lower'], [3339, 9, 32, 0x1FF], [2, 0x0]];
1853
+ lines = [[-31, 8, 4, 0xfc], [-15, 9, 2, 0x1fc], [-11, 8, 2, 0xfd], [-7, 9, 1, 0x1fd], [-5, 7, 1, 0x7c], [-3, 4, 1, 0xa], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1a], [5, 6, 1, 0x3a], [7, 3, 5, 0x4], [39, 6, 2, 0x3b], [43, 4, 5, 0xb], [75, 4, 6, 0xc], [139, 5, 7, 0x1b], [267, 5, 8, 0x1c], [523, 6, 8, 0x3c], [779, 7, 9, 0x7d], [1291, 6, 11, 0x3d], [-32, 9, 32, 0x1fe, "lower"], [3339, 9, 32, 0x1ff], [2, 0x0]];
1851
1854
  break;
1852
1855
 
1853
1856
  case 10:
1854
- lines = [[-21, 7, 4, 0x7A], [-5, 8, 0, 0xFC], [-4, 7, 0, 0x7B], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7C], [5, 8, 0, 0xFD], [6, 2, 6, 0x1], [70, 5, 5, 0x1A], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3A], [582, 6, 9, 0x3B], [1094, 6, 10, 0x3C], [2118, 7, 11, 0x7D], [-22, 8, 32, 0xFE, 'lower'], [4166, 8, 32, 0xFF], [2, 0x2]];
1857
+ lines = [[-21, 7, 4, 0x7a], [-5, 8, 0, 0xfc], [-4, 7, 0, 0x7b], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7c], [5, 8, 0, 0xfd], [6, 2, 6, 0x1], [70, 5, 5, 0x1a], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3a], [582, 6, 9, 0x3b], [1094, 6, 10, 0x3c], [2118, 7, 11, 0x7d], [-22, 8, 32, 0xfe, "lower"], [4166, 8, 32, 0xff], [2, 0x2]];
1855
1858
  break;
1856
1859
 
1857
1860
  case 11:
1858
- lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xC], [5, 4, 1, 0xD], [7, 5, 1, 0x1C], [9, 5, 2, 0x1D], [13, 6, 2, 0x3C], [17, 7, 2, 0x7A], [21, 7, 3, 0x7B], [29, 7, 4, 0x7C], [45, 7, 5, 0x7D], [77, 7, 6, 0x7E], [141, 7, 32, 0x7F]];
1861
+ lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xc], [5, 4, 1, 0xd], [7, 5, 1, 0x1c], [9, 5, 2, 0x1d], [13, 6, 2, 0x3c], [17, 7, 2, 0x7a], [21, 7, 3, 0x7b], [29, 7, 4, 0x7c], [45, 7, 5, 0x7d], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];
1859
1862
  break;
1860
1863
 
1861
1864
  case 12:
1862
- lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1C], [6, 5, 1, 0x1D], [8, 6, 1, 0x3C], [10, 7, 0, 0x7A], [11, 7, 1, 0x7B], [13, 7, 2, 0x7C], [17, 7, 3, 0x7D], [25, 7, 4, 0x7E], [41, 8, 5, 0xFE], [73, 8, 32, 0xFF]];
1865
+ lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1c], [6, 5, 1, 0x1d], [8, 6, 1, 0x3c], [10, 7, 0, 0x7a], [11, 7, 1, 0x7b], [13, 7, 2, 0x7c], [17, 7, 3, 0x7d], [25, 7, 4, 0x7e], [41, 8, 5, 0xfe], [73, 8, 32, 0xff]];
1863
1866
  break;
1864
1867
 
1865
1868
  case 13:
1866
- lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xC], [4, 5, 0, 0x1C], [5, 4, 1, 0xD], [7, 3, 3, 0x5], [15, 6, 1, 0x3A], [17, 6, 2, 0x3B], [21, 6, 3, 0x3C], [29, 6, 4, 0x3D], [45, 6, 5, 0x3E], [77, 7, 6, 0x7E], [141, 7, 32, 0x7F]];
1869
+ lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xc], [4, 5, 0, 0x1c], [5, 4, 1, 0xd], [7, 3, 3, 0x5], [15, 6, 1, 0x3a], [17, 6, 2, 0x3b], [21, 6, 3, 0x3c], [29, 6, 4, 0x3d], [45, 6, 5, 0x3e], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];
1867
1870
  break;
1868
1871
 
1869
1872
  case 14:
@@ -1871,17 +1874,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
1871
1874
  break;
1872
1875
 
1873
1876
  case 15:
1874
- lines = [[-24, 7, 4, 0x7C], [-8, 6, 2, 0x3C], [-4, 5, 1, 0x1C], [-2, 4, 0, 0xC], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xD], [3, 5, 1, 0x1D], [5, 6, 2, 0x3D], [9, 7, 4, 0x7D], [-25, 7, 32, 0x7E, 'lower'], [25, 7, 32, 0x7F]];
1877
+ lines = [[-24, 7, 4, 0x7c], [-8, 6, 2, 0x3c], [-4, 5, 1, 0x1c], [-2, 4, 0, 0xc], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xd], [3, 5, 1, 0x1d], [5, 6, 2, 0x3d], [9, 7, 4, 0x7d], [-25, 7, 32, 0x7e, "lower"], [25, 7, 32, 0x7f]];
1875
1878
  break;
1876
1879
 
1877
1880
  default:
1878
- throw new Jbig2Error("standard table B.".concat(number, " does not exist"));
1881
+ throw new Jbig2Error(`standard table B.${number} does not exist`);
1879
1882
  }
1880
1883
 
1881
- var length = lines.length,
1882
- i;
1883
-
1884
- for (i = 0; i < length; i++) {
1884
+ for (let i = 0, ii = lines.length; i < ii; i++) {
1885
1885
  lines[i] = new HuffmanLine(lines[i]);
1886
1886
  }
1887
1887
 
@@ -1900,22 +1900,23 @@ var Jbig2Image = function Jbig2ImageClosure() {
1900
1900
  }
1901
1901
 
1902
1902
  Reader.prototype = {
1903
- readBit: function readBit() {
1903
+ readBit() {
1904
1904
  if (this.shift < 0) {
1905
1905
  if (this.position >= this.end) {
1906
- throw new Jbig2Error('end of data while reading bit');
1906
+ throw new Jbig2Error("end of data while reading bit");
1907
1907
  }
1908
1908
 
1909
1909
  this.currentByte = this.data[this.position++];
1910
1910
  this.shift = 7;
1911
1911
  }
1912
1912
 
1913
- var bit = this.currentByte >> this.shift & 1;
1913
+ const bit = this.currentByte >> this.shift & 1;
1914
1914
  this.shift--;
1915
1915
  return bit;
1916
1916
  },
1917
- readBits: function readBits(numBits) {
1918
- var result = 0,
1917
+
1918
+ readBits(numBits) {
1919
+ let result = 0,
1919
1920
  i;
1920
1921
 
1921
1922
  for (i = numBits - 1; i >= 0; i--) {
@@ -1924,26 +1925,26 @@ var Jbig2Image = function Jbig2ImageClosure() {
1924
1925
 
1925
1926
  return result;
1926
1927
  },
1927
- byteAlign: function byteAlign() {
1928
+
1929
+ byteAlign() {
1928
1930
  this.shift = -1;
1929
1931
  },
1930
- next: function next() {
1932
+
1933
+ next() {
1931
1934
  if (this.position >= this.end) {
1932
1935
  return -1;
1933
1936
  }
1934
1937
 
1935
1938
  return this.data[this.position++];
1936
1939
  }
1940
+
1937
1941
  };
1938
1942
 
1939
1943
  function getCustomHuffmanTable(index, referredTo, customTables) {
1940
- var currentIndex = 0,
1941
- i,
1942
- ii = referredTo.length,
1943
- table;
1944
+ let currentIndex = 0;
1944
1945
 
1945
- for (i = 0; i < ii; i++) {
1946
- table = customTables[referredTo[i]];
1946
+ for (let i = 0, ii = referredTo.length; i < ii; i++) {
1947
+ const table = customTables[referredTo[i]];
1947
1948
 
1948
1949
  if (table) {
1949
1950
  if (index === currentIndex) {
@@ -1954,34 +1955,30 @@ var Jbig2Image = function Jbig2ImageClosure() {
1954
1955
  }
1955
1956
  }
1956
1957
 
1957
- throw new Jbig2Error('can\'t find custom Huffman table');
1958
+ throw new Jbig2Error("can't find custom Huffman table");
1958
1959
  }
1959
1960
 
1960
1961
  function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {
1961
- var codes = [],
1962
- i,
1963
- codeLength;
1962
+ const codes = [];
1964
1963
 
1965
- for (i = 0; i <= 34; i++) {
1966
- codeLength = reader.readBits(4);
1964
+ for (let i = 0; i <= 34; i++) {
1965
+ const codeLength = reader.readBits(4);
1967
1966
  codes.push(new HuffmanLine([i, codeLength, 0, 0]));
1968
1967
  }
1969
1968
 
1970
- var runCodesTable = new HuffmanTable(codes, false);
1969
+ const runCodesTable = new HuffmanTable(codes, false);
1971
1970
  codes.length = 0;
1972
1971
 
1973
- for (i = 0; i < numberOfSymbols;) {
1974
- codeLength = runCodesTable.decode(reader);
1972
+ for (let i = 0; i < numberOfSymbols;) {
1973
+ const codeLength = runCodesTable.decode(reader);
1975
1974
 
1976
1975
  if (codeLength >= 32) {
1977
- var repeatedLength = void 0,
1978
- numberOfRepeats = void 0,
1979
- j = void 0;
1976
+ let repeatedLength, numberOfRepeats, j;
1980
1977
 
1981
1978
  switch (codeLength) {
1982
1979
  case 32:
1983
1980
  if (i === 0) {
1984
- throw new Jbig2Error('no previous value in symbol ID table');
1981
+ throw new Jbig2Error("no previous value in symbol ID table");
1985
1982
  }
1986
1983
 
1987
1984
  numberOfRepeats = reader.readBits(2) + 3;
@@ -1999,7 +1996,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1999
1996
  break;
2000
1997
 
2001
1998
  default:
2002
- throw new Jbig2Error('invalid code length in symbol ID table');
1999
+ throw new Jbig2Error("invalid code length in symbol ID table");
2003
2000
  }
2004
2001
 
2005
2002
  for (j = 0; j < numberOfRepeats; j++) {
@@ -2013,8 +2010,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
2013
2010
  }
2014
2011
 
2015
2012
  reader.byteAlign();
2016
- var symbolIDTable = new HuffmanTable(codes, false);
2017
- var customIndex = 0,
2013
+ const symbolIDTable = new HuffmanTable(codes, false);
2014
+ let customIndex = 0,
2018
2015
  tableFirstS,
2019
2016
  tableDeltaS,
2020
2017
  tableDeltaT;
@@ -2031,7 +2028,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
2031
2028
  break;
2032
2029
 
2033
2030
  default:
2034
- throw new Jbig2Error('invalid Huffman FS selector');
2031
+ throw new Jbig2Error("invalid Huffman FS selector");
2035
2032
  }
2036
2033
 
2037
2034
  switch (textRegion.huffmanDS) {
@@ -2047,7 +2044,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
2047
2044
  break;
2048
2045
 
2049
2046
  default:
2050
- throw new Jbig2Error('invalid Huffman DS selector');
2047
+ throw new Jbig2Error("invalid Huffman DS selector");
2051
2048
  }
2052
2049
 
2053
2050
  switch (textRegion.huffmanDT) {
@@ -2063,23 +2060,23 @@ var Jbig2Image = function Jbig2ImageClosure() {
2063
2060
  break;
2064
2061
 
2065
2062
  default:
2066
- throw new Jbig2Error('invalid Huffman DT selector');
2063
+ throw new Jbig2Error("invalid Huffman DT selector");
2067
2064
  }
2068
2065
 
2069
2066
  if (textRegion.refinement) {
2070
- throw new Jbig2Error('refinement with Huffman is not supported');
2067
+ throw new Jbig2Error("refinement with Huffman is not supported");
2071
2068
  }
2072
2069
 
2073
2070
  return {
2074
- symbolIDTable: symbolIDTable,
2075
- tableFirstS: tableFirstS,
2076
- tableDeltaS: tableDeltaS,
2077
- tableDeltaT: tableDeltaT
2071
+ symbolIDTable,
2072
+ tableFirstS,
2073
+ tableDeltaS,
2074
+ tableDeltaT
2078
2075
  };
2079
2076
  }
2080
2077
 
2081
2078
  function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {
2082
- var customIndex = 0,
2079
+ let customIndex = 0,
2083
2080
  tableDeltaHeight,
2084
2081
  tableDeltaWidth;
2085
2082
 
@@ -2095,7 +2092,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
2095
2092
  break;
2096
2093
 
2097
2094
  default:
2098
- throw new Jbig2Error('invalid Huffman DH selector');
2095
+ throw new Jbig2Error("invalid Huffman DH selector");
2099
2096
  }
2100
2097
 
2101
2098
  switch (dictionary.huffmanDWSelector) {
@@ -2110,10 +2107,10 @@ var Jbig2Image = function Jbig2ImageClosure() {
2110
2107
  break;
2111
2108
 
2112
2109
  default:
2113
- throw new Jbig2Error('invalid Huffman DW selector');
2110
+ throw new Jbig2Error("invalid Huffman DW selector");
2114
2111
  }
2115
2112
 
2116
- var tableBitmapSize, tableAggregateInstances;
2113
+ let tableBitmapSize, tableAggregateInstances;
2117
2114
 
2118
2115
  if (dictionary.bitmapSizeSelector) {
2119
2116
  tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);
@@ -2129,24 +2126,21 @@ var Jbig2Image = function Jbig2ImageClosure() {
2129
2126
  }
2130
2127
 
2131
2128
  return {
2132
- tableDeltaHeight: tableDeltaHeight,
2133
- tableDeltaWidth: tableDeltaWidth,
2134
- tableBitmapSize: tableBitmapSize,
2135
- tableAggregateInstances: tableAggregateInstances
2129
+ tableDeltaHeight,
2130
+ tableDeltaWidth,
2131
+ tableBitmapSize,
2132
+ tableAggregateInstances
2136
2133
  };
2137
2134
  }
2138
2135
 
2139
2136
  function readUncompressedBitmap(reader, width, height) {
2140
- var bitmap = [],
2141
- x,
2142
- y,
2143
- row;
2137
+ const bitmap = [];
2144
2138
 
2145
- for (y = 0; y < height; y++) {
2146
- row = new Uint8Array(width);
2139
+ for (let y = 0; y < height; y++) {
2140
+ const row = new Uint8Array(width);
2147
2141
  bitmap.push(row);
2148
2142
 
2149
- for (x = 0; x < width; x++) {
2143
+ for (let x = 0; x < width; x++) {
2150
2144
  row[x] = reader.readBit();
2151
2145
  }
2152
2146
 
@@ -2157,28 +2151,24 @@ var Jbig2Image = function Jbig2ImageClosure() {
2157
2151
  }
2158
2152
 
2159
2153
  function decodeMMRBitmap(input, width, height, endOfBlock) {
2160
- var params = {
2154
+ const params = {
2161
2155
  K: -1,
2162
2156
  Columns: width,
2163
2157
  Rows: height,
2164
2158
  BlackIs1: true,
2165
2159
  EndOfBlock: endOfBlock
2166
2160
  };
2167
- var decoder = new _ccitt.CCITTFaxDecoder(input, params);
2168
- var bitmap = [],
2169
- x,
2170
- y,
2171
- row,
2172
- currentByte,
2173
- shift,
2161
+ const decoder = new _ccitt.CCITTFaxDecoder(input, params);
2162
+ const bitmap = [];
2163
+ let currentByte,
2174
2164
  eof = false;
2175
2165
 
2176
- for (y = 0; y < height; y++) {
2177
- row = new Uint8Array(width);
2166
+ for (let y = 0; y < height; y++) {
2167
+ const row = new Uint8Array(width);
2178
2168
  bitmap.push(row);
2179
- shift = -1;
2169
+ let shift = -1;
2180
2170
 
2181
- for (x = 0; x < width; x++) {
2171
+ for (let x = 0; x < width; x++) {
2182
2172
  if (shift < 0) {
2183
2173
  currentByte = decoder.readNextChar();
2184
2174
 
@@ -2196,9 +2186,9 @@ var Jbig2Image = function Jbig2ImageClosure() {
2196
2186
  }
2197
2187
 
2198
2188
  if (endOfBlock && !eof) {
2199
- var lookForEOFLimit = 5;
2189
+ const lookForEOFLimit = 5;
2200
2190
 
2201
- for (var i = 0; i < lookForEOFLimit; i++) {
2191
+ for (let i = 0; i < lookForEOFLimit; i++) {
2202
2192
  if (decoder.readNextChar() === -1) {
2203
2193
  break;
2204
2194
  }
@@ -2211,19 +2201,21 @@ var Jbig2Image = function Jbig2ImageClosure() {
2211
2201
  function Jbig2Image() {}
2212
2202
 
2213
2203
  Jbig2Image.prototype = {
2214
- parseChunks: function parseChunks(chunks) {
2204
+ parseChunks(chunks) {
2215
2205
  return parseJbig2Chunks(chunks);
2216
2206
  },
2217
- parse: function parse(data) {
2218
- var _parseJbig = parseJbig2(data),
2219
- imgData = _parseJbig.imgData,
2220
- width = _parseJbig.width,
2221
- height = _parseJbig.height;
2222
2207
 
2208
+ parse(data) {
2209
+ const {
2210
+ imgData,
2211
+ width,
2212
+ height
2213
+ } = parseJbig2(data);
2223
2214
  this.width = width;
2224
2215
  this.height = height;
2225
2216
  return imgData;
2226
2217
  }
2218
+
2227
2219
  };
2228
2220
  return Jbig2Image;
2229
2221
  }();