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