pdfjs-dist 2.0.943 → 2.1.266

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 (159) hide show
  1. package/bower.json +1 -1
  2. package/build/pdf.js +15329 -11095
  3. package/build/pdf.js.map +1 -1
  4. package/build/pdf.min.js +1 -1
  5. package/build/pdf.worker.js +12497 -4184
  6. package/build/pdf.worker.js.map +1 -1
  7. package/build/pdf.worker.min.js +1 -1
  8. package/image_decoders/pdf.image_decoders.js +3438 -1209
  9. package/image_decoders/pdf.image_decoders.js.map +1 -1
  10. package/image_decoders/pdf.image_decoders.min.js +1 -1
  11. package/lib/core/annotation.js +335 -109
  12. package/lib/core/arithmetic_decoder.js +274 -244
  13. package/lib/core/bidi.js +64 -5
  14. package/lib/core/ccitt.js +172 -17
  15. package/lib/core/ccitt_stream.js +14 -5
  16. package/lib/core/cff_parser.js +304 -28
  17. package/lib/core/charsets.js +4 -3
  18. package/lib/core/chunked_stream.js +379 -149
  19. package/lib/core/cmap.js +210 -40
  20. package/lib/core/colorspace.js +332 -187
  21. package/lib/core/crypto.js +289 -44
  22. package/lib/core/document.js +508 -249
  23. package/lib/core/encodings.js +18 -9
  24. package/lib/core/evaluator.js +657 -119
  25. package/lib/core/font_renderer.js +217 -34
  26. package/lib/core/fonts.js +632 -41
  27. package/lib/core/function.js +252 -26
  28. package/lib/core/glyphlist.js +2 -1
  29. package/lib/core/image.js +124 -27
  30. package/lib/core/jbig2.js +425 -65
  31. package/lib/core/jbig2_stream.js +18 -7
  32. package/lib/core/jpeg_stream.js +24 -8
  33. package/lib/core/jpg.js +208 -16
  34. package/lib/core/jpx.js +395 -5
  35. package/lib/core/jpx_stream.js +17 -5
  36. package/lib/core/metrics.js +3 -3
  37. package/lib/core/murmurhash3.js +23 -5
  38. package/lib/core/obj.js +625 -132
  39. package/lib/core/operator_list.js +104 -3
  40. package/lib/core/parser.js +262 -25
  41. package/lib/core/pattern.js +144 -12
  42. package/lib/core/pdf_manager.js +104 -70
  43. package/lib/core/primitives.js +74 -21
  44. package/lib/core/ps_parser.js +133 -44
  45. package/lib/core/standard_fonts.js +9 -9
  46. package/lib/core/stream.js +283 -31
  47. package/lib/core/type1_parser.js +138 -6
  48. package/lib/core/unicode.js +28 -1
  49. package/lib/core/worker.js +192 -57
  50. package/lib/display/annotation_layer.js +303 -123
  51. package/lib/display/api.js +1073 -574
  52. package/lib/display/api_compatibility.js +4 -1
  53. package/lib/display/canvas.js +314 -18
  54. package/lib/display/content_disposition.js +70 -23
  55. package/lib/display/dom_utils.js +112 -59
  56. package/lib/display/fetch_stream.js +95 -50
  57. package/lib/display/font_loader.js +250 -132
  58. package/lib/display/metadata.js +37 -15
  59. package/lib/display/network.js +123 -34
  60. package/lib/display/network_utils.js +23 -10
  61. package/lib/display/node_stream.js +162 -65
  62. package/lib/display/pattern_helper.js +57 -6
  63. package/lib/display/svg.js +194 -18
  64. package/lib/display/text_layer.js +128 -14
  65. package/lib/display/transport_stream.js +83 -27
  66. package/lib/display/webgl.js +63 -17
  67. package/lib/display/worker_options.js +4 -3
  68. package/lib/display/xml_parser.js +162 -52
  69. package/lib/examples/node/domstubs.js +56 -3
  70. package/lib/pdf.js +15 -2
  71. package/lib/pdf.worker.js +4 -2
  72. package/lib/shared/compatibility.js +129 -26
  73. package/lib/shared/global_scope.js +1 -1
  74. package/lib/shared/is_node.js +3 -3
  75. package/lib/shared/message_handler.js +103 -45
  76. package/lib/shared/streams_polyfill.js +20 -16
  77. package/lib/shared/url_polyfill.js +8 -2
  78. package/lib/shared/util.js +246 -84
  79. package/lib/test/unit/annotation_spec.js +99 -73
  80. package/lib/test/unit/api_spec.js +347 -113
  81. package/lib/test/unit/bidi_spec.js +6 -6
  82. package/lib/test/unit/cff_parser_spec.js +17 -5
  83. package/lib/test/unit/clitests_helper.js +7 -8
  84. package/lib/test/unit/cmap_spec.js +79 -25
  85. package/lib/test/unit/colorspace_spec.js +65 -18
  86. package/lib/test/unit/crypto_spec.js +16 -4
  87. package/lib/test/unit/custom_spec.js +40 -52
  88. package/lib/test/unit/display_svg_spec.js +32 -16
  89. package/lib/test/unit/document_spec.js +2 -2
  90. package/lib/test/unit/dom_utils_spec.js +8 -8
  91. package/lib/test/unit/encodings_spec.js +24 -44
  92. package/lib/test/unit/evaluator_spec.js +15 -8
  93. package/lib/test/unit/function_spec.js +16 -4
  94. package/lib/test/unit/jasmine-boot.js +29 -16
  95. package/lib/test/unit/message_handler_spec.js +19 -6
  96. package/lib/test/unit/metadata_spec.js +64 -11
  97. package/lib/test/unit/murmurhash3_spec.js +2 -2
  98. package/lib/test/unit/network_spec.js +19 -4
  99. package/lib/test/unit/network_utils_spec.js +6 -4
  100. package/lib/test/unit/node_stream_spec.js +50 -26
  101. package/lib/test/unit/parser_spec.js +13 -29
  102. package/lib/test/unit/pdf_find_controller_spec.js +144 -32
  103. package/lib/test/unit/pdf_find_utils_spec.js +10 -9
  104. package/lib/test/unit/pdf_history_spec.js +20 -8
  105. package/lib/test/unit/primitives_spec.js +23 -3
  106. package/lib/test/unit/stream_spec.js +8 -3
  107. package/lib/test/unit/test_utils.js +89 -26
  108. package/lib/test/unit/testreporter.js +19 -1
  109. package/lib/test/unit/type1_parser_spec.js +7 -5
  110. package/lib/test/unit/ui_utils_spec.js +162 -38
  111. package/lib/test/unit/unicode_spec.js +13 -10
  112. package/lib/test/unit/util_spec.js +89 -9
  113. package/lib/web/annotation_layer_builder.js +38 -21
  114. package/lib/web/app.js +610 -245
  115. package/lib/web/app_options.js +54 -34
  116. package/lib/web/base_viewer.js +359 -162
  117. package/lib/web/chromecom.js +159 -80
  118. package/lib/web/debugger.js +161 -17
  119. package/lib/web/download_manager.js +29 -11
  120. package/lib/web/firefox_print_service.js +16 -8
  121. package/lib/web/firefoxcom.js +127 -91
  122. package/lib/web/genericcom.js +50 -31
  123. package/lib/web/genericl10n.js +46 -34
  124. package/lib/web/grab_to_pan.js +25 -3
  125. package/lib/web/interfaces.js +108 -61
  126. package/lib/web/overlay_manager.js +67 -45
  127. package/lib/web/password_prompt.js +20 -12
  128. package/lib/web/pdf_attachment_viewer.js +37 -17
  129. package/lib/web/pdf_cursor_tools.js +38 -15
  130. package/lib/web/pdf_document_properties.js +65 -24
  131. package/lib/web/pdf_find_bar.js +48 -20
  132. package/lib/web/pdf_find_controller.js +290 -89
  133. package/lib/web/pdf_find_utils.js +19 -3
  134. package/lib/web/pdf_history.js +186 -49
  135. package/lib/web/pdf_link_service.js +127 -52
  136. package/lib/web/pdf_outline_viewer.js +71 -21
  137. package/lib/web/pdf_page_view.js +188 -63
  138. package/lib/web/pdf_presentation_mode.js +98 -33
  139. package/lib/web/pdf_print_service.js +54 -10
  140. package/lib/web/pdf_rendering_queue.js +26 -4
  141. package/lib/web/pdf_sidebar.js +116 -62
  142. package/lib/web/pdf_sidebar_resizer.js +41 -15
  143. package/lib/web/pdf_single_page_viewer.js +65 -68
  144. package/lib/web/pdf_thumbnail_view.js +102 -31
  145. package/lib/web/pdf_thumbnail_viewer.js +62 -22
  146. package/lib/web/pdf_viewer.component.js +111 -31
  147. package/lib/web/pdf_viewer.js +80 -60
  148. package/lib/web/preferences.js +61 -39
  149. package/lib/web/secondary_toolbar.js +101 -82
  150. package/lib/web/text_layer_builder.js +124 -69
  151. package/lib/web/toolbar.js +67 -27
  152. package/lib/web/ui_utils.js +284 -128
  153. package/lib/web/view_history.js +75 -51
  154. package/lib/web/viewer_compatibility.js +2 -1
  155. package/package.json +1 -1
  156. package/web/pdf_viewer.css +1 -1
  157. package/web/pdf_viewer.js +2200 -973
  158. package/web/pdf_viewer.js.map +1 -1
  159. package/lib/web/dom_events.js +0 -140
package/lib/core/cmap.js CHANGED
@@ -19,32 +19,44 @@
19
19
  * @licend The above is the entire license notice for the
20
20
  * Javascript code in this page
21
21
  */
22
- 'use strict';
22
+ "use strict";
23
23
 
24
24
  Object.defineProperty(exports, "__esModule", {
25
25
  value: true
26
26
  });
27
- exports.CMapFactory = exports.IdentityCMap = exports.CMap = undefined;
27
+ exports.CMapFactory = exports.IdentityCMap = exports.CMap = void 0;
28
28
 
29
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
29
+ var _util = require("../shared/util");
30
30
 
31
- var _util = require('../shared/util');
31
+ var _primitives = require("./primitives");
32
32
 
33
- var _primitives = require('./primitives');
33
+ var _parser = require("./parser");
34
34
 
35
- var _parser = require('./parser');
35
+ var _stream = require("./stream");
36
36
 
37
- var _stream = require('./stream');
37
+ 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); }
38
38
 
39
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
39
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
40
40
 
41
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
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); }
42
48
 
43
49
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
44
50
 
51
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
52
+
53
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
54
+
45
55
  var BUILT_IN_CMAPS = ['Adobe-GB1-UCS2', 'Adobe-CNS1-UCS2', 'Adobe-Japan1-UCS2', 'Adobe-Korea1-UCS2', '78-EUC-H', '78-EUC-V', '78-H', '78-RKSJ-H', '78-RKSJ-V', '78-V', '78ms-RKSJ-H', '78ms-RKSJ-V', '83pv-RKSJ-H', '90ms-RKSJ-H', '90ms-RKSJ-V', '90msp-RKSJ-H', '90msp-RKSJ-V', '90pv-RKSJ-H', '90pv-RKSJ-V', 'Add-H', 'Add-RKSJ-H', 'Add-RKSJ-V', 'Add-V', 'Adobe-CNS1-0', 'Adobe-CNS1-1', 'Adobe-CNS1-2', 'Adobe-CNS1-3', 'Adobe-CNS1-4', 'Adobe-CNS1-5', 'Adobe-CNS1-6', 'Adobe-GB1-0', 'Adobe-GB1-1', 'Adobe-GB1-2', 'Adobe-GB1-3', 'Adobe-GB1-4', 'Adobe-GB1-5', 'Adobe-Japan1-0', 'Adobe-Japan1-1', 'Adobe-Japan1-2', 'Adobe-Japan1-3', 'Adobe-Japan1-4', 'Adobe-Japan1-5', 'Adobe-Japan1-6', 'Adobe-Korea1-0', 'Adobe-Korea1-1', 'Adobe-Korea1-2', 'B5-H', 'B5-V', 'B5pc-H', 'B5pc-V', 'CNS-EUC-H', 'CNS-EUC-V', 'CNS1-H', 'CNS1-V', 'CNS2-H', 'CNS2-V', 'ETHK-B5-H', 'ETHK-B5-V', 'ETen-B5-H', 'ETen-B5-V', 'ETenms-B5-H', 'ETenms-B5-V', 'EUC-H', 'EUC-V', 'Ext-H', 'Ext-RKSJ-H', 'Ext-RKSJ-V', 'Ext-V', 'GB-EUC-H', 'GB-EUC-V', 'GB-H', 'GB-V', 'GBK-EUC-H', 'GBK-EUC-V', 'GBK2K-H', 'GBK2K-V', 'GBKp-EUC-H', 'GBKp-EUC-V', 'GBT-EUC-H', 'GBT-EUC-V', 'GBT-H', 'GBT-V', 'GBTpc-EUC-H', 'GBTpc-EUC-V', 'GBpc-EUC-H', 'GBpc-EUC-V', 'H', 'HKdla-B5-H', 'HKdla-B5-V', 'HKdlb-B5-H', 'HKdlb-B5-V', 'HKgccs-B5-H', 'HKgccs-B5-V', 'HKm314-B5-H', 'HKm314-B5-V', 'HKm471-B5-H', 'HKm471-B5-V', 'HKscs-B5-H', 'HKscs-B5-V', 'Hankaku', 'Hiragana', 'KSC-EUC-H', 'KSC-EUC-V', 'KSC-H', 'KSC-Johab-H', 'KSC-Johab-V', 'KSC-V', 'KSCms-UHC-H', 'KSCms-UHC-HW-H', 'KSCms-UHC-HW-V', 'KSCms-UHC-V', 'KSCpc-EUC-H', 'KSCpc-EUC-V', 'Katakana', 'NWP-H', 'NWP-V', 'RKSJ-H', 'RKSJ-V', 'Roman', 'UniCNS-UCS2-H', 'UniCNS-UCS2-V', 'UniCNS-UTF16-H', 'UniCNS-UTF16-V', 'UniCNS-UTF32-H', 'UniCNS-UTF32-V', 'UniCNS-UTF8-H', 'UniCNS-UTF8-V', 'UniGB-UCS2-H', 'UniGB-UCS2-V', 'UniGB-UTF16-H', 'UniGB-UTF16-V', 'UniGB-UTF32-H', 'UniGB-UTF32-V', 'UniGB-UTF8-H', 'UniGB-UTF8-V', 'UniJIS-UCS2-H', 'UniJIS-UCS2-HW-H', 'UniJIS-UCS2-HW-V', 'UniJIS-UCS2-V', 'UniJIS-UTF16-H', 'UniJIS-UTF16-V', 'UniJIS-UTF32-H', 'UniJIS-UTF32-V', 'UniJIS-UTF8-H', 'UniJIS-UTF8-V', 'UniJIS2004-UTF16-H', 'UniJIS2004-UTF16-V', 'UniJIS2004-UTF32-H', 'UniJIS2004-UTF32-V', 'UniJIS2004-UTF8-H', 'UniJIS2004-UTF8-V', 'UniJISPro-UCS2-HW-V', 'UniJISPro-UCS2-V', 'UniJISPro-UTF8-V', 'UniJISX0213-UTF32-H', 'UniJISX0213-UTF32-V', 'UniJISX02132004-UTF32-H', 'UniJISX02132004-UTF32-V', 'UniKS-UCS2-H', 'UniKS-UCS2-V', 'UniKS-UTF16-H', 'UniKS-UTF16-V', 'UniKS-UTF32-H', 'UniKS-UTF32-V', 'UniKS-UTF8-H', 'UniKS-UTF8-V', 'V', 'WP-Symbol'];
46
56
 
47
- var CMap = function () {
57
+ var CMap =
58
+ /*#__PURE__*/
59
+ function () {
48
60
  function CMap() {
49
61
  var builtInCMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
50
62
 
@@ -60,57 +72,60 @@ var CMap = function () {
60
72
  }
61
73
 
62
74
  _createClass(CMap, [{
63
- key: 'addCodespaceRange',
75
+ key: "addCodespaceRange",
64
76
  value: function addCodespaceRange(n, low, high) {
65
77
  this.codespaceRanges[n - 1].push(low, high);
66
78
  this.numCodespaceRanges++;
67
79
  }
68
80
  }, {
69
- key: 'mapCidRange',
81
+ key: "mapCidRange",
70
82
  value: function mapCidRange(low, high, dstLow) {
71
83
  while (low <= high) {
72
84
  this._map[low++] = dstLow++;
73
85
  }
74
86
  }
75
87
  }, {
76
- key: 'mapBfRange',
88
+ key: "mapBfRange",
77
89
  value: function mapBfRange(low, high, dstLow) {
78
90
  var lastByte = dstLow.length - 1;
91
+
79
92
  while (low <= high) {
80
93
  this._map[low++] = dstLow;
81
94
  dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);
82
95
  }
83
96
  }
84
97
  }, {
85
- key: 'mapBfRangeToArray',
98
+ key: "mapBfRangeToArray",
86
99
  value: function mapBfRangeToArray(low, high, array) {
87
100
  var i = 0,
88
101
  ii = array.length;
102
+
89
103
  while (low <= high && i < ii) {
90
104
  this._map[low] = array[i++];
91
105
  ++low;
92
106
  }
93
107
  }
94
108
  }, {
95
- key: 'mapOne',
109
+ key: "mapOne",
96
110
  value: function mapOne(src, dst) {
97
111
  this._map[src] = dst;
98
112
  }
99
113
  }, {
100
- key: 'lookup',
114
+ key: "lookup",
101
115
  value: function lookup(code) {
102
116
  return this._map[code];
103
117
  }
104
118
  }, {
105
- key: 'contains',
119
+ key: "contains",
106
120
  value: function contains(code) {
107
121
  return this._map[code] !== undefined;
108
122
  }
109
123
  }, {
110
- key: 'forEach',
124
+ key: "forEach",
111
125
  value: function forEach(callback) {
112
126
  var map = this._map;
113
127
  var length = map.length;
128
+
114
129
  if (length <= 0x10000) {
115
130
  for (var i = 0; i < length; i++) {
116
131
  if (map[i] !== undefined) {
@@ -124,35 +139,41 @@ var CMap = function () {
124
139
  }
125
140
  }
126
141
  }, {
127
- key: 'charCodeOf',
142
+ key: "charCodeOf",
128
143
  value: function charCodeOf(value) {
129
144
  var map = this._map;
145
+
130
146
  if (map.length <= 0x10000) {
131
147
  return map.indexOf(value);
132
148
  }
149
+
133
150
  for (var charCode in map) {
134
151
  if (map[charCode] === value) {
135
152
  return charCode | 0;
136
153
  }
137
154
  }
155
+
138
156
  return -1;
139
157
  }
140
158
  }, {
141
- key: 'getMap',
159
+ key: "getMap",
142
160
  value: function getMap() {
143
161
  return this._map;
144
162
  }
145
163
  }, {
146
- key: 'readCharCode',
164
+ key: "readCharCode",
147
165
  value: function readCharCode(str, offset, out) {
148
166
  var c = 0;
149
167
  var codespaceRanges = this.codespaceRanges;
168
+
150
169
  for (var n = 0, nn = codespaceRanges.length; n < nn; n++) {
151
170
  c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;
152
171
  var codespaceRange = codespaceRanges[n];
172
+
153
173
  for (var k = 0, kk = codespaceRange.length; k < kk;) {
154
174
  var low = codespaceRange[k++];
155
175
  var high = codespaceRange[k++];
176
+
156
177
  if (c >= low && c <= high) {
157
178
  out.charcode = c;
158
179
  out.length = n + 1;
@@ -160,28 +181,32 @@ var CMap = function () {
160
181
  }
161
182
  }
162
183
  }
184
+
163
185
  out.charcode = 0;
164
186
  out.length = 1;
165
187
  }
166
188
  }, {
167
- key: 'length',
189
+ key: "length",
168
190
  get: function get() {
169
191
  return this._map.length;
170
192
  }
171
193
  }, {
172
- key: 'isIdentityCMap',
194
+ key: "isIdentityCMap",
173
195
  get: function get() {
174
196
  if (!(this.name === 'Identity-H' || this.name === 'Identity-V')) {
175
197
  return false;
176
198
  }
199
+
177
200
  if (this._map.length !== 0x10000) {
178
201
  return false;
179
202
  }
203
+
180
204
  for (var i = 0; i < 0x10000; i++) {
181
205
  if (this._map[i] !== i) {
182
206
  return false;
183
207
  }
184
208
  }
209
+
185
210
  return true;
186
211
  }
187
212
  }]);
@@ -189,77 +214,86 @@ var CMap = function () {
189
214
  return CMap;
190
215
  }();
191
216
 
192
- var IdentityCMap = function (_CMap) {
217
+ exports.CMap = CMap;
218
+
219
+ var IdentityCMap =
220
+ /*#__PURE__*/
221
+ function (_CMap) {
193
222
  _inherits(IdentityCMap, _CMap);
194
223
 
195
224
  function IdentityCMap(vertical, n) {
196
- _classCallCheck(this, IdentityCMap);
225
+ var _this;
197
226
 
198
- var _this = _possibleConstructorReturn(this, (IdentityCMap.__proto__ || Object.getPrototypeOf(IdentityCMap)).call(this));
227
+ _classCallCheck(this, IdentityCMap);
199
228
 
229
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(IdentityCMap).call(this));
200
230
  _this.vertical = vertical;
231
+
201
232
  _this.addCodespaceRange(n, 0, 0xffff);
233
+
202
234
  return _this;
203
235
  }
204
236
 
205
237
  _createClass(IdentityCMap, [{
206
- key: 'mapCidRange',
238
+ key: "mapCidRange",
207
239
  value: function mapCidRange(low, high, dstLow) {
208
240
  (0, _util.unreachable)('should not call mapCidRange');
209
241
  }
210
242
  }, {
211
- key: 'mapBfRange',
243
+ key: "mapBfRange",
212
244
  value: function mapBfRange(low, high, dstLow) {
213
245
  (0, _util.unreachable)('should not call mapBfRange');
214
246
  }
215
247
  }, {
216
- key: 'mapBfRangeToArray',
248
+ key: "mapBfRangeToArray",
217
249
  value: function mapBfRangeToArray(low, high, array) {
218
250
  (0, _util.unreachable)('should not call mapBfRangeToArray');
219
251
  }
220
252
  }, {
221
- key: 'mapOne',
253
+ key: "mapOne",
222
254
  value: function mapOne(src, dst) {
223
255
  (0, _util.unreachable)('should not call mapCidOne');
224
256
  }
225
257
  }, {
226
- key: 'lookup',
258
+ key: "lookup",
227
259
  value: function lookup(code) {
228
260
  return Number.isInteger(code) && code <= 0xffff ? code : undefined;
229
261
  }
230
262
  }, {
231
- key: 'contains',
263
+ key: "contains",
232
264
  value: function contains(code) {
233
265
  return Number.isInteger(code) && code <= 0xffff;
234
266
  }
235
267
  }, {
236
- key: 'forEach',
268
+ key: "forEach",
237
269
  value: function forEach(callback) {
238
270
  for (var i = 0; i <= 0xffff; i++) {
239
271
  callback(i, i);
240
272
  }
241
273
  }
242
274
  }, {
243
- key: 'charCodeOf',
275
+ key: "charCodeOf",
244
276
  value: function charCodeOf(value) {
245
277
  return Number.isInteger(value) && value <= 0xffff ? value : -1;
246
278
  }
247
279
  }, {
248
- key: 'getMap',
280
+ key: "getMap",
249
281
  value: function getMap() {
250
282
  var map = new Array(0x10000);
283
+
251
284
  for (var i = 0; i <= 0xffff; i++) {
252
285
  map[i] = i;
253
286
  }
287
+
254
288
  return map;
255
289
  }
256
290
  }, {
257
- key: 'length',
291
+ key: "length",
258
292
  get: function get() {
259
293
  return 0x10000;
260
294
  }
261
295
  }, {
262
- key: 'isIdentityCMap',
296
+ key: "isIdentityCMap",
263
297
  get: function get() {
264
298
  (0, _util.unreachable)('should not access .isIdentityCMap');
265
299
  }
@@ -268,65 +302,84 @@ var IdentityCMap = function (_CMap) {
268
302
  return IdentityCMap;
269
303
  }(CMap);
270
304
 
305
+ exports.IdentityCMap = IdentityCMap;
306
+
271
307
  var BinaryCMapReader = function BinaryCMapReaderClosure() {
272
308
  function hexToInt(a, size) {
273
309
  var n = 0;
310
+
274
311
  for (var i = 0; i <= size; i++) {
275
312
  n = n << 8 | a[i];
276
313
  }
314
+
277
315
  return n >>> 0;
278
316
  }
317
+
279
318
  function hexToStr(a, size) {
280
319
  if (size === 1) {
281
320
  return String.fromCharCode(a[0], a[1]);
282
321
  }
322
+
283
323
  if (size === 3) {
284
324
  return String.fromCharCode(a[0], a[1], a[2], a[3]);
285
325
  }
326
+
286
327
  return String.fromCharCode.apply(null, a.subarray(0, size + 1));
287
328
  }
329
+
288
330
  function addHex(a, b, size) {
289
331
  var c = 0;
332
+
290
333
  for (var i = size; i >= 0; i--) {
291
334
  c += a[i] + b[i];
292
335
  a[i] = c & 255;
293
336
  c >>= 8;
294
337
  }
295
338
  }
339
+
296
340
  function incHex(a, size) {
297
341
  var c = 1;
342
+
298
343
  for (var i = size; i >= 0 && c > 0; i--) {
299
344
  c += a[i];
300
345
  a[i] = c & 255;
301
346
  c >>= 8;
302
347
  }
303
348
  }
349
+
304
350
  var MAX_NUM_SIZE = 16;
305
351
  var MAX_ENCODED_NUM_SIZE = 19;
352
+
306
353
  function BinaryCMapStream(data) {
307
354
  this.buffer = data;
308
355
  this.pos = 0;
309
356
  this.end = data.length;
310
357
  this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);
311
358
  }
359
+
312
360
  BinaryCMapStream.prototype = {
313
361
  readByte: function readByte() {
314
362
  if (this.pos >= this.end) {
315
363
  return -1;
316
364
  }
365
+
317
366
  return this.buffer[this.pos++];
318
367
  },
319
368
  readNumber: function readNumber() {
320
369
  var n = 0;
321
370
  var last;
371
+
322
372
  do {
323
373
  var b = this.readByte();
374
+
324
375
  if (b < 0) {
325
376
  throw new _util.FormatError('unexpected EOF in bcmap');
326
377
  }
378
+
327
379
  last = !(b & 0x80);
328
380
  n = n << 7 | b & 0x7F;
329
381
  } while (!last);
382
+
330
383
  return n;
331
384
  },
332
385
  readSigned: function readSigned() {
@@ -341,22 +394,28 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
341
394
  var last;
342
395
  var stack = this.tmpBuf,
343
396
  sp = 0;
397
+
344
398
  do {
345
399
  var b = this.readByte();
400
+
346
401
  if (b < 0) {
347
402
  throw new _util.FormatError('unexpected EOF in bcmap');
348
403
  }
404
+
349
405
  last = !(b & 0x80);
350
406
  stack[sp++] = b & 0x7F;
351
407
  } while (!last);
408
+
352
409
  var i = size,
353
410
  buffer = 0,
354
411
  bufferSize = 0;
412
+
355
413
  while (i >= 0) {
356
414
  while (bufferSize < 8 && stack.length > 0) {
357
415
  buffer = stack[--sp] << bufferSize | buffer;
358
416
  bufferSize += 7;
359
417
  }
418
+
360
419
  num[i] = buffer & 255;
361
420
  i--;
362
421
  buffer >>= 8;
@@ -367,6 +426,7 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
367
426
  this.readHexNumber(num, size);
368
427
  var sign = num[size] & 1 ? 255 : 0;
369
428
  var c = 0;
429
+
370
430
  for (var i = 0; i <= size; i++) {
371
431
  c = (c & 1) << 8 | num[i];
372
432
  num[i] = c >> 1 ^ sign;
@@ -375,12 +435,15 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
375
435
  readString: function readString() {
376
436
  var len = this.readNumber();
377
437
  var s = '';
438
+
378
439
  for (var i = 0; i < len; i++) {
379
440
  s += String.fromCharCode(this.readNumber());
380
441
  }
442
+
381
443
  return s;
382
444
  }
383
445
  };
446
+
384
447
  function processBinaryCMap(data, cMap, extend) {
385
448
  return new Promise(function (resolve, reject) {
386
449
  var stream = new BinaryCMapStream(data);
@@ -394,33 +457,42 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
394
457
  var tmp = new Uint8Array(MAX_NUM_SIZE);
395
458
  var code;
396
459
  var b;
460
+
397
461
  while ((b = stream.readByte()) >= 0) {
398
462
  var type = b >> 5;
463
+
399
464
  if (type === 7) {
400
465
  switch (b & 0x1F) {
401
466
  case 0:
402
467
  stream.readString();
403
468
  break;
469
+
404
470
  case 1:
405
471
  useCMap = stream.readString();
406
472
  break;
407
473
  }
474
+
408
475
  continue;
409
476
  }
477
+
410
478
  var sequence = !!(b & 0x10);
411
479
  var dataSize = b & 15;
480
+
412
481
  if (dataSize + 1 > MAX_NUM_SIZE) {
413
482
  throw new Error('processBinaryCMap: Invalid dataSize.');
414
483
  }
484
+
415
485
  var ucs2DataSize = 1;
416
486
  var subitemsCount = stream.readNumber();
417
487
  var i;
488
+
418
489
  switch (type) {
419
490
  case 0:
420
491
  stream.readHex(start, dataSize);
421
492
  stream.readHexNumber(end, dataSize);
422
493
  addHex(end, start, dataSize);
423
494
  cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));
495
+
424
496
  for (i = 1; i < subitemsCount; i++) {
425
497
  incHex(end, dataSize);
426
498
  stream.readHexNumber(start, dataSize);
@@ -429,12 +501,15 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
429
501
  addHex(end, start, dataSize);
430
502
  cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));
431
503
  }
504
+
432
505
  break;
506
+
433
507
  case 1:
434
508
  stream.readHex(start, dataSize);
435
509
  stream.readHexNumber(end, dataSize);
436
510
  addHex(end, start, dataSize);
437
511
  stream.readNumber();
512
+
438
513
  for (i = 1; i < subitemsCount; i++) {
439
514
  incHex(end, dataSize);
440
515
  stream.readHexNumber(start, dataSize);
@@ -443,120 +518,157 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
443
518
  addHex(end, start, dataSize);
444
519
  stream.readNumber();
445
520
  }
521
+
446
522
  break;
523
+
447
524
  case 2:
448
525
  stream.readHex(char, dataSize);
449
526
  code = stream.readNumber();
450
527
  cMap.mapOne(hexToInt(char, dataSize), code);
528
+
451
529
  for (i = 1; i < subitemsCount; i++) {
452
530
  incHex(char, dataSize);
531
+
453
532
  if (!sequence) {
454
533
  stream.readHexNumber(tmp, dataSize);
455
534
  addHex(char, tmp, dataSize);
456
535
  }
536
+
457
537
  code = stream.readSigned() + (code + 1);
458
538
  cMap.mapOne(hexToInt(char, dataSize), code);
459
539
  }
540
+
460
541
  break;
542
+
461
543
  case 3:
462
544
  stream.readHex(start, dataSize);
463
545
  stream.readHexNumber(end, dataSize);
464
546
  addHex(end, start, dataSize);
465
547
  code = stream.readNumber();
466
548
  cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);
549
+
467
550
  for (i = 1; i < subitemsCount; i++) {
468
551
  incHex(end, dataSize);
552
+
469
553
  if (!sequence) {
470
554
  stream.readHexNumber(start, dataSize);
471
555
  addHex(start, end, dataSize);
472
556
  } else {
473
557
  start.set(end);
474
558
  }
559
+
475
560
  stream.readHexNumber(end, dataSize);
476
561
  addHex(end, start, dataSize);
477
562
  code = stream.readNumber();
478
563
  cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);
479
564
  }
565
+
480
566
  break;
567
+
481
568
  case 4:
482
569
  stream.readHex(char, ucs2DataSize);
483
570
  stream.readHex(charCode, dataSize);
484
571
  cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));
572
+
485
573
  for (i = 1; i < subitemsCount; i++) {
486
574
  incHex(char, ucs2DataSize);
575
+
487
576
  if (!sequence) {
488
577
  stream.readHexNumber(tmp, ucs2DataSize);
489
578
  addHex(char, tmp, ucs2DataSize);
490
579
  }
580
+
491
581
  incHex(charCode, dataSize);
492
582
  stream.readHexSigned(tmp, dataSize);
493
583
  addHex(charCode, tmp, dataSize);
494
584
  cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));
495
585
  }
586
+
496
587
  break;
588
+
497
589
  case 5:
498
590
  stream.readHex(start, ucs2DataSize);
499
591
  stream.readHexNumber(end, ucs2DataSize);
500
592
  addHex(end, start, ucs2DataSize);
501
593
  stream.readHex(charCode, dataSize);
502
594
  cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));
595
+
503
596
  for (i = 1; i < subitemsCount; i++) {
504
597
  incHex(end, ucs2DataSize);
598
+
505
599
  if (!sequence) {
506
600
  stream.readHexNumber(start, ucs2DataSize);
507
601
  addHex(start, end, ucs2DataSize);
508
602
  } else {
509
603
  start.set(end);
510
604
  }
605
+
511
606
  stream.readHexNumber(end, ucs2DataSize);
512
607
  addHex(end, start, ucs2DataSize);
513
608
  stream.readHex(charCode, dataSize);
514
609
  cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));
515
610
  }
611
+
516
612
  break;
613
+
517
614
  default:
518
615
  reject(new Error('processBinaryCMap: Unknown type: ' + type));
519
616
  return;
520
617
  }
521
618
  }
619
+
522
620
  if (useCMap) {
523
621
  resolve(extend(useCMap));
524
622
  return;
525
623
  }
624
+
526
625
  resolve(cMap);
527
626
  });
528
627
  }
628
+
529
629
  function BinaryCMapReader() {}
530
- BinaryCMapReader.prototype = { process: processBinaryCMap };
630
+
631
+ BinaryCMapReader.prototype = {
632
+ process: processBinaryCMap
633
+ };
531
634
  return BinaryCMapReader;
532
635
  }();
636
+
533
637
  var CMapFactory = function CMapFactoryClosure() {
534
638
  function strToInt(str) {
535
639
  var a = 0;
640
+
536
641
  for (var i = 0; i < str.length; i++) {
537
642
  a = a << 8 | str.charCodeAt(i);
538
643
  }
644
+
539
645
  return a >>> 0;
540
646
  }
647
+
541
648
  function expectString(obj) {
542
649
  if (!(0, _util.isString)(obj)) {
543
650
  throw new _util.FormatError('Malformed CMap: expected string.');
544
651
  }
545
652
  }
653
+
546
654
  function expectInt(obj) {
547
655
  if (!Number.isInteger(obj)) {
548
656
  throw new _util.FormatError('Malformed CMap: expected int.');
549
657
  }
550
658
  }
659
+
551
660
  function parseBfChar(cMap, lexer) {
552
661
  while (true) {
553
662
  var obj = lexer.getObj();
663
+
554
664
  if ((0, _primitives.isEOF)(obj)) {
555
665
  break;
556
666
  }
667
+
557
668
  if ((0, _primitives.isCmd)(obj, 'endbfchar')) {
558
669
  return;
559
670
  }
671
+
560
672
  expectString(obj);
561
673
  var src = strToInt(obj);
562
674
  obj = lexer.getObj();
@@ -565,47 +677,59 @@ var CMapFactory = function CMapFactoryClosure() {
565
677
  cMap.mapOne(src, dst);
566
678
  }
567
679
  }
680
+
568
681
  function parseBfRange(cMap, lexer) {
569
682
  while (true) {
570
683
  var obj = lexer.getObj();
684
+
571
685
  if ((0, _primitives.isEOF)(obj)) {
572
686
  break;
573
687
  }
688
+
574
689
  if ((0, _primitives.isCmd)(obj, 'endbfrange')) {
575
690
  return;
576
691
  }
692
+
577
693
  expectString(obj);
578
694
  var low = strToInt(obj);
579
695
  obj = lexer.getObj();
580
696
  expectString(obj);
581
697
  var high = strToInt(obj);
582
698
  obj = lexer.getObj();
699
+
583
700
  if (Number.isInteger(obj) || (0, _util.isString)(obj)) {
584
701
  var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;
585
702
  cMap.mapBfRange(low, high, dstLow);
586
703
  } else if ((0, _primitives.isCmd)(obj, '[')) {
587
704
  obj = lexer.getObj();
588
705
  var array = [];
706
+
589
707
  while (!(0, _primitives.isCmd)(obj, ']') && !(0, _primitives.isEOF)(obj)) {
590
708
  array.push(obj);
591
709
  obj = lexer.getObj();
592
710
  }
711
+
593
712
  cMap.mapBfRangeToArray(low, high, array);
594
713
  } else {
595
714
  break;
596
715
  }
597
716
  }
717
+
598
718
  throw new _util.FormatError('Invalid bf range.');
599
719
  }
720
+
600
721
  function parseCidChar(cMap, lexer) {
601
722
  while (true) {
602
723
  var obj = lexer.getObj();
724
+
603
725
  if ((0, _primitives.isEOF)(obj)) {
604
726
  break;
605
727
  }
728
+
606
729
  if ((0, _primitives.isCmd)(obj, 'endcidchar')) {
607
730
  return;
608
731
  }
732
+
609
733
  expectString(obj);
610
734
  var src = strToInt(obj);
611
735
  obj = lexer.getObj();
@@ -614,15 +738,19 @@ var CMapFactory = function CMapFactoryClosure() {
614
738
  cMap.mapOne(src, dst);
615
739
  }
616
740
  }
741
+
617
742
  function parseCidRange(cMap, lexer) {
618
743
  while (true) {
619
744
  var obj = lexer.getObj();
745
+
620
746
  if ((0, _primitives.isEOF)(obj)) {
621
747
  break;
622
748
  }
749
+
623
750
  if ((0, _primitives.isCmd)(obj, 'endcidrange')) {
624
751
  return;
625
752
  }
753
+
626
754
  expectString(obj);
627
755
  var low = strToInt(obj);
628
756
  obj = lexer.getObj();
@@ -634,46 +762,61 @@ var CMapFactory = function CMapFactoryClosure() {
634
762
  cMap.mapCidRange(low, high, dstLow);
635
763
  }
636
764
  }
765
+
637
766
  function parseCodespaceRange(cMap, lexer) {
638
767
  while (true) {
639
768
  var obj = lexer.getObj();
769
+
640
770
  if ((0, _primitives.isEOF)(obj)) {
641
771
  break;
642
772
  }
773
+
643
774
  if ((0, _primitives.isCmd)(obj, 'endcodespacerange')) {
644
775
  return;
645
776
  }
777
+
646
778
  if (!(0, _util.isString)(obj)) {
647
779
  break;
648
780
  }
781
+
649
782
  var low = strToInt(obj);
650
783
  obj = lexer.getObj();
784
+
651
785
  if (!(0, _util.isString)(obj)) {
652
786
  break;
653
787
  }
788
+
654
789
  var high = strToInt(obj);
655
790
  cMap.addCodespaceRange(obj.length, low, high);
656
791
  }
792
+
657
793
  throw new _util.FormatError('Invalid codespace range.');
658
794
  }
795
+
659
796
  function parseWMode(cMap, lexer) {
660
797
  var obj = lexer.getObj();
798
+
661
799
  if (Number.isInteger(obj)) {
662
800
  cMap.vertical = !!obj;
663
801
  }
664
802
  }
803
+
665
804
  function parseCMapName(cMap, lexer) {
666
805
  var obj = lexer.getObj();
806
+
667
807
  if ((0, _primitives.isName)(obj) && (0, _util.isString)(obj.name)) {
668
808
  cMap.name = obj.name;
669
809
  }
670
810
  }
811
+
671
812
  function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {
672
813
  var previous;
673
814
  var embeddedUseCMap;
815
+
674
816
  objLoop: while (true) {
675
817
  try {
676
818
  var obj = lexer.getObj();
819
+
677
820
  if ((0, _primitives.isEOF)(obj)) {
678
821
  break;
679
822
  } else if ((0, _primitives.isName)(obj)) {
@@ -682,28 +825,36 @@ var CMapFactory = function CMapFactoryClosure() {
682
825
  } else if (obj.name === 'CMapName') {
683
826
  parseCMapName(cMap, lexer);
684
827
  }
828
+
685
829
  previous = obj;
686
830
  } else if ((0, _primitives.isCmd)(obj)) {
687
831
  switch (obj.cmd) {
688
832
  case 'endcmap':
689
833
  break objLoop;
834
+
690
835
  case 'usecmap':
691
836
  if ((0, _primitives.isName)(previous)) {
692
837
  embeddedUseCMap = previous.name;
693
838
  }
839
+
694
840
  break;
841
+
695
842
  case 'begincodespacerange':
696
843
  parseCodespaceRange(cMap, lexer);
697
844
  break;
845
+
698
846
  case 'beginbfchar':
699
847
  parseBfChar(cMap, lexer);
700
848
  break;
849
+
701
850
  case 'begincidchar':
702
851
  parseCidChar(cMap, lexer);
703
852
  break;
853
+
704
854
  case 'beginbfrange':
705
855
  parseBfRange(cMap, lexer);
706
856
  break;
857
+
707
858
  case 'begincidrange':
708
859
  parseCidRange(cMap, lexer);
709
860
  break;
@@ -713,28 +864,37 @@ var CMapFactory = function CMapFactoryClosure() {
713
864
  if (ex instanceof _util.MissingDataException) {
714
865
  throw ex;
715
866
  }
867
+
716
868
  (0, _util.warn)('Invalid cMap data: ' + ex);
717
869
  continue;
718
870
  }
719
871
  }
872
+
720
873
  if (!useCMap && embeddedUseCMap) {
721
874
  useCMap = embeddedUseCMap;
722
875
  }
876
+
723
877
  if (useCMap) {
724
878
  return extendCMap(cMap, fetchBuiltInCMap, useCMap);
725
879
  }
880
+
726
881
  return Promise.resolve(cMap);
727
882
  }
883
+
728
884
  function extendCMap(cMap, fetchBuiltInCMap, useCMap) {
729
885
  return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) {
730
886
  cMap.useCMap = newCMap;
887
+
731
888
  if (cMap.numCodespaceRanges === 0) {
732
889
  var useCodespaceRanges = cMap.useCMap.codespaceRanges;
890
+
733
891
  for (var i = 0; i < useCodespaceRanges.length; i++) {
734
892
  cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();
735
893
  }
894
+
736
895
  cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;
737
896
  }
897
+
738
898
  cMap.useCMap.forEach(function (key, value) {
739
899
  if (!cMap.contains(key)) {
740
900
  cMap.mapOne(key, cMap.useCMap.lookup(key));
@@ -743,39 +903,48 @@ var CMapFactory = function CMapFactoryClosure() {
743
903
  return cMap;
744
904
  });
745
905
  }
906
+
746
907
  function createBuiltInCMap(name, fetchBuiltInCMap) {
747
908
  if (name === 'Identity-H') {
748
909
  return Promise.resolve(new IdentityCMap(false, 2));
749
910
  } else if (name === 'Identity-V') {
750
911
  return Promise.resolve(new IdentityCMap(true, 2));
751
912
  }
913
+
752
914
  if (!BUILT_IN_CMAPS.includes(name)) {
753
915
  return Promise.reject(new Error('Unknown CMap name: ' + name));
754
916
  }
917
+
755
918
  if (!fetchBuiltInCMap) {
756
919
  return Promise.reject(new Error('Built-in CMap parameters are not provided.'));
757
920
  }
921
+
758
922
  return fetchBuiltInCMap(name).then(function (data) {
759
923
  var cMapData = data.cMapData,
760
924
  compressionType = data.compressionType;
761
925
  var cMap = new CMap(true);
926
+
762
927
  if (compressionType === _util.CMapCompressionType.BINARY) {
763
928
  return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) {
764
929
  return extendCMap(cMap, fetchBuiltInCMap, useCMap);
765
930
  });
766
931
  }
932
+
767
933
  if (compressionType === _util.CMapCompressionType.NONE) {
768
934
  var lexer = new _parser.Lexer(new _stream.Stream(cMapData));
769
935
  return parseCMap(cMap, lexer, fetchBuiltInCMap, null);
770
936
  }
937
+
771
938
  return Promise.reject(new Error('TODO: Only BINARY/NONE CMap compression is currently supported.'));
772
939
  });
773
940
  }
941
+
774
942
  return {
775
943
  create: function create(params) {
776
944
  var encoding = params.encoding;
777
945
  var fetchBuiltInCMap = params.fetchBuiltInCMap;
778
946
  var useCMap = params.useCMap;
947
+
779
948
  if ((0, _primitives.isName)(encoding)) {
780
949
  return createBuiltInCMap(encoding.name, fetchBuiltInCMap);
781
950
  } else if ((0, _primitives.isStream)(encoding)) {
@@ -785,13 +954,14 @@ var CMapFactory = function CMapFactoryClosure() {
785
954
  if (parsedCMap.isIdentityCMap) {
786
955
  return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);
787
956
  }
957
+
788
958
  return parsedCMap;
789
959
  });
790
960
  }
961
+
791
962
  return Promise.reject(new Error('Encoding required.'));
792
963
  }
793
964
  };
794
965
  }();
795
- exports.CMap = CMap;
796
- exports.IdentityCMap = IdentityCMap;
966
+
797
967
  exports.CMapFactory = CMapFactory;