pdfjs-dist 2.1.266 → 2.5.207

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 (191) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/README.md +4 -0
  3. package/bower.json +1 -1
  4. package/build/pdf.js +8382 -18492
  5. package/build/pdf.js.map +1 -1
  6. package/build/pdf.min.js +22 -1
  7. package/build/pdf.worker.entry.js +5 -3
  8. package/build/pdf.worker.js +20417 -29816
  9. package/build/pdf.worker.js.map +1 -1
  10. package/build/pdf.worker.min.js +22 -1
  11. package/es5/build/pdf.js +25688 -0
  12. package/es5/build/pdf.js.map +1 -0
  13. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  14. package/es5/build/pdf.worker.js +58239 -0
  15. package/es5/build/pdf.worker.js.map +1 -0
  16. package/es5/web/images/annotation-check.svg +11 -0
  17. package/es5/web/images/annotation-comment.svg +16 -0
  18. package/es5/web/images/annotation-help.svg +26 -0
  19. package/es5/web/images/annotation-insert.svg +10 -0
  20. package/es5/web/images/annotation-key.svg +11 -0
  21. package/es5/web/images/annotation-newparagraph.svg +11 -0
  22. package/es5/web/images/annotation-noicon.svg +7 -0
  23. package/es5/web/images/annotation-note.svg +42 -0
  24. package/es5/web/images/annotation-paragraph.svg +16 -0
  25. package/es5/web/images/loading-icon.gif +0 -0
  26. package/es5/web/images/shadow.png +0 -0
  27. package/es5/web/images/texture.png +0 -0
  28. package/es5/web/pdf_viewer.css +403 -0
  29. package/es5/web/pdf_viewer.js +7742 -0
  30. package/es5/web/pdf_viewer.js.map +1 -0
  31. package/image_decoders/pdf.image_decoders.js +1475 -4897
  32. package/image_decoders/pdf.image_decoders.js.map +1 -1
  33. package/image_decoders/pdf.image_decoders.min.js +22 -1
  34. package/lib/README.md +7 -0
  35. package/lib/core/annotation.js +750 -899
  36. package/lib/core/arithmetic_decoder.js +81 -97
  37. package/lib/core/bidi.js +54 -46
  38. package/lib/core/ccitt.js +88 -81
  39. package/lib/core/ccitt_stream.js +15 -14
  40. package/lib/core/cff_parser.js +235 -183
  41. package/lib/core/charsets.js +4 -4
  42. package/lib/core/chunked_stream.js +447 -542
  43. package/lib/core/cmap.js +222 -264
  44. package/lib/core/colorspace.js +699 -863
  45. package/lib/core/core_utils.js +152 -0
  46. package/lib/core/crypto.js +379 -437
  47. package/lib/core/document.js +573 -660
  48. package/lib/core/encodings.js +15 -15
  49. package/lib/core/evaluator.js +1103 -868
  50. package/lib/core/font_renderer.js +135 -178
  51. package/lib/core/fonts.js +570 -491
  52. package/lib/core/function.js +291 -288
  53. package/lib/core/glyphlist.js +4527 -4526
  54. package/lib/core/image.js +145 -149
  55. package/lib/core/image_utils.js +170 -0
  56. package/lib/core/jbig2.js +325 -316
  57. package/lib/core/jbig2_stream.js +18 -17
  58. package/lib/core/jpeg_stream.js +21 -26
  59. package/lib/core/jpg.js +284 -232
  60. package/lib/core/jpx.js +161 -143
  61. package/lib/core/jpx_stream.js +28 -28
  62. package/lib/core/metrics.js +2929 -2929
  63. package/lib/core/murmurhash3.js +90 -101
  64. package/lib/core/obj.js +1183 -1157
  65. package/lib/core/operator_list.js +99 -67
  66. package/lib/core/parser.js +972 -911
  67. package/lib/core/pattern.js +87 -70
  68. package/lib/core/pdf_manager.js +150 -315
  69. package/lib/core/primitives.js +83 -56
  70. package/lib/core/ps_parser.js +175 -214
  71. package/lib/core/standard_fonts.js +237 -236
  72. package/lib/core/stream.js +94 -74
  73. package/lib/core/type1_parser.js +87 -69
  74. package/lib/core/unicode.js +1654 -1654
  75. package/lib/core/worker.js +193 -390
  76. package/lib/core/worker_stream.js +168 -0
  77. package/lib/display/annotation_layer.js +741 -972
  78. package/lib/display/api.js +1500 -1791
  79. package/lib/display/api_compatibility.js +12 -17
  80. package/lib/display/canvas.js +165 -165
  81. package/lib/display/content_disposition.js +40 -59
  82. package/lib/display/display_utils.js +515 -0
  83. package/lib/display/fetch_stream.js +183 -298
  84. package/lib/display/font_loader.js +273 -413
  85. package/lib/display/metadata.js +86 -98
  86. package/lib/display/network.js +266 -359
  87. package/lib/display/network_utils.js +25 -18
  88. package/lib/display/node_stream.js +285 -458
  89. package/lib/display/pattern_helper.js +113 -65
  90. package/lib/display/svg.js +1166 -901
  91. package/lib/display/text_layer.js +156 -132
  92. package/lib/display/transport_stream.js +262 -278
  93. package/lib/display/webgl.js +70 -83
  94. package/lib/display/worker_options.js +3 -3
  95. package/lib/display/xml_parser.js +303 -392
  96. package/lib/examples/node/domstubs.js +40 -37
  97. package/lib/pdf.js +226 -59
  98. package/lib/pdf.worker.js +14 -6
  99. package/lib/shared/compatibility.js +3 -246
  100. package/lib/shared/is_node.js +7 -6
  101. package/lib/shared/message_handler.js +327 -332
  102. package/lib/shared/util.js +266 -416
  103. package/lib/test/unit/annotation_spec.js +1555 -701
  104. package/lib/test/unit/api_spec.js +802 -604
  105. package/lib/test/unit/bidi_spec.js +7 -7
  106. package/lib/test/unit/cff_parser_spec.js +84 -69
  107. package/lib/test/unit/clitests_helper.js +7 -9
  108. package/lib/test/unit/cmap_spec.js +74 -76
  109. package/lib/test/unit/colorspace_spec.js +166 -161
  110. package/lib/test/unit/core_utils_spec.js +211 -0
  111. package/lib/test/unit/crypto_spec.js +181 -181
  112. package/lib/test/unit/custom_spec.js +20 -22
  113. package/lib/test/unit/display_svg_spec.js +34 -39
  114. package/lib/test/unit/display_utils_spec.js +263 -0
  115. package/lib/test/unit/document_spec.js +16 -21
  116. package/lib/test/unit/encodings_spec.js +12 -34
  117. package/lib/test/unit/evaluator_spec.js +83 -83
  118. package/lib/test/unit/fetch_stream_spec.js +111 -0
  119. package/lib/test/unit/function_spec.js +206 -204
  120. package/lib/test/unit/jasmine-boot.js +46 -30
  121. package/lib/test/unit/message_handler_spec.js +173 -159
  122. package/lib/test/unit/metadata_spec.js +69 -69
  123. package/lib/test/unit/murmurhash3_spec.js +12 -12
  124. package/lib/test/unit/network_spec.js +13 -61
  125. package/lib/test/unit/network_utils_spec.js +183 -119
  126. package/lib/test/unit/node_stream_spec.js +78 -92
  127. package/lib/test/unit/parser_spec.js +172 -114
  128. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  129. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  130. package/lib/test/unit/pdf_history_spec.js +32 -32
  131. package/lib/test/unit/primitives_spec.js +140 -125
  132. package/lib/test/unit/stream_spec.js +16 -14
  133. package/lib/test/unit/test_utils.js +131 -143
  134. package/lib/test/unit/testreporter.js +19 -19
  135. package/lib/test/unit/type1_parser_spec.js +42 -42
  136. package/lib/test/unit/ui_utils_spec.js +297 -459
  137. package/lib/test/unit/unicode_spec.js +38 -38
  138. package/lib/test/unit/util_spec.js +121 -305
  139. package/lib/web/annotation_layer_builder.js +66 -103
  140. package/lib/web/app.js +1328 -1214
  141. package/lib/web/app_options.js +105 -107
  142. package/lib/web/base_viewer.js +824 -838
  143. package/lib/web/chromecom.js +165 -252
  144. package/lib/web/debugger.js +149 -205
  145. package/lib/web/download_manager.js +39 -55
  146. package/lib/web/firefox_print_service.js +37 -27
  147. package/lib/web/firefoxcom.js +212 -363
  148. package/lib/web/genericcom.js +26 -108
  149. package/lib/web/genericl10n.js +24 -153
  150. package/lib/web/grab_to_pan.js +32 -30
  151. package/lib/web/interfaces.js +80 -254
  152. package/lib/web/overlay_manager.js +70 -246
  153. package/lib/web/password_prompt.js +38 -64
  154. package/lib/web/pdf_attachment_viewer.js +113 -131
  155. package/lib/web/pdf_cursor_tools.js +75 -102
  156. package/lib/web/pdf_document_properties.js +221 -306
  157. package/lib/web/pdf_find_bar.js +136 -170
  158. package/lib/web/pdf_find_controller.js +491 -548
  159. package/lib/web/pdf_find_utils.js +13 -13
  160. package/lib/web/pdf_history.js +397 -406
  161. package/lib/web/pdf_link_service.js +304 -348
  162. package/lib/web/pdf_outline_viewer.js +140 -175
  163. package/lib/web/pdf_page_view.js +452 -523
  164. package/lib/web/pdf_presentation_mode.js +308 -357
  165. package/lib/web/pdf_print_service.js +90 -104
  166. package/lib/web/pdf_rendering_queue.js +84 -108
  167. package/lib/web/pdf_sidebar.js +276 -306
  168. package/lib/web/pdf_sidebar_resizer.js +92 -119
  169. package/lib/web/pdf_single_page_viewer.js +77 -126
  170. package/lib/web/pdf_thumbnail_view.js +276 -297
  171. package/lib/web/pdf_thumbnail_viewer.js +186 -206
  172. package/lib/web/pdf_viewer.component.js +20 -21
  173. package/lib/web/pdf_viewer.js +55 -115
  174. package/lib/web/preferences.js +82 -286
  175. package/lib/web/secondary_toolbar.js +164 -196
  176. package/lib/web/text_layer_builder.js +282 -339
  177. package/lib/web/toolbar.js +217 -210
  178. package/lib/web/ui_utils.js +267 -420
  179. package/lib/web/view_history.js +52 -226
  180. package/lib/web/viewer_compatibility.js +21 -6
  181. package/package.json +2 -9
  182. package/web/pdf_viewer.css +35 -25
  183. package/web/pdf_viewer.js +3489 -4855
  184. package/web/pdf_viewer.js.map +1 -1
  185. package/webpack.js +14 -5
  186. package/external/streams/streams-lib.js +0 -3962
  187. package/external/url/url-lib.js +0 -627
  188. package/lib/display/dom_utils.js +0 -494
  189. package/lib/shared/streams_polyfill.js +0 -43
  190. package/lib/shared/url_polyfill.js +0 -56
  191. package/lib/test/unit/dom_utils_spec.js +0 -89
@@ -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 2018 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,31 +26,33 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.Type1Parser = void 0;
28
28
 
29
- var _util = require("../shared/util");
29
+ var _encodings = require("./encodings.js");
30
30
 
31
- var _encodings = require("./encodings");
31
+ var _core_utils = require("./core_utils.js");
32
32
 
33
- var _stream = require("./stream");
33
+ var _stream = require("./stream.js");
34
+
35
+ var _util = require("../shared/util.js");
34
36
 
35
37
  var HINTING_ENABLED = false;
36
38
 
37
39
  var Type1CharString = function Type1CharStringClosure() {
38
40
  var COMMAND_MAP = {
39
- 'hstem': [1],
40
- 'vstem': [3],
41
- 'vmoveto': [4],
42
- 'rlineto': [5],
43
- 'hlineto': [6],
44
- 'vlineto': [7],
45
- 'rrcurveto': [8],
46
- 'callsubr': [10],
47
- 'flex': [12, 35],
48
- 'drop': [12, 18],
49
- 'endchar': [14],
50
- 'rmoveto': [21],
51
- 'hmoveto': [22],
52
- 'vhcurveto': [30],
53
- 'hvcurveto': [31]
41
+ hstem: [1],
42
+ vstem: [3],
43
+ vmoveto: [4],
44
+ rlineto: [5],
45
+ hlineto: [6],
46
+ vlineto: [7],
47
+ rrcurveto: [8],
48
+ callsubr: [10],
49
+ flex: [12, 35],
50
+ drop: [12, 18],
51
+ endchar: [14],
52
+ rmoveto: [21],
53
+ hmoveto: [22],
54
+ vhcurveto: [30],
55
+ hvcurveto: [31]
54
56
  };
55
57
 
56
58
  function Type1CharString() {
@@ -303,7 +305,8 @@ var Type1CharString = function Type1CharStringClosure() {
303
305
 
304
306
  return error;
305
307
  },
306
- executeCommand: function executeCommand(howManyArgs, command, keepStack) {
308
+
309
+ executeCommand(howManyArgs, command, keepStack) {
307
310
  var stackLength = this.stack.length;
308
311
 
309
312
  if (howManyArgs > stackLength) {
@@ -319,7 +322,7 @@ var Type1CharString = function Type1CharStringClosure() {
319
322
  this.output.push(28, value >> 8 & 0xff, value & 0xff);
320
323
  } else {
321
324
  value = 65536 * value | 0;
322
- this.output.push(255, value >> 24 & 0xFF, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF);
325
+ this.output.push(255, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
323
326
  }
324
327
  }
325
328
 
@@ -333,6 +336,7 @@ var Type1CharString = function Type1CharStringClosure() {
333
336
 
334
337
  return false;
335
338
  }
339
+
336
340
  };
337
341
  return Type1CharString;
338
342
  }();
@@ -402,17 +406,17 @@ var Type1Parser = function Type1ParserClosure() {
402
406
  }
403
407
  }
404
408
 
405
- return Array.prototype.slice.call(decrypted, discardNumber, j);
409
+ return decrypted.slice(discardNumber, j);
406
410
  }
407
411
 
408
412
  function isSpecial(c) {
409
- return c === 0x2F || c === 0x5B || c === 0x5D || c === 0x7B || c === 0x7D || c === 0x28 || c === 0x29;
413
+ return c === 0x2f || c === 0x5b || c === 0x5d || c === 0x7b || c === 0x7d || c === 0x28 || c === 0x29;
410
414
  }
411
415
 
412
416
  function Type1Parser(stream, encrypted, seacAnalysisEnabled) {
413
417
  if (encrypted) {
414
418
  var data = stream.getBytes();
415
- var isBinary = !(isHexDigit(data[0]) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]));
419
+ var isBinary = !((isHexDigit(data[0]) || (0, _core_utils.isWhiteSpace)(data[0])) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]) && isHexDigit(data[4]) && isHexDigit(data[5]) && isHexDigit(data[6]) && isHexDigit(data[7]));
416
420
  stream = new _stream.Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));
417
421
  }
418
422
 
@@ -429,7 +433,7 @@ var Type1Parser = function Type1ParserClosure() {
429
433
  while (true) {
430
434
  var token = this.getToken();
431
435
 
432
- if (token === null || token === ']' || token === '}') {
436
+ if (token === null || token === "]" || token === "}") {
433
437
  break;
434
438
  }
435
439
 
@@ -448,7 +452,7 @@ var Type1Parser = function Type1ParserClosure() {
448
452
  },
449
453
  readBoolean: function Type1Parser_readBoolean() {
450
454
  var token = this.getToken();
451
- return token === 'true' ? 1 : 0;
455
+ return token === "true" ? 1 : 0;
452
456
  },
453
457
  nextChar: function Type1_nextChar() {
454
458
  return this.currentChar = this.stream.getByte();
@@ -463,12 +467,12 @@ var Type1Parser = function Type1ParserClosure() {
463
467
  }
464
468
 
465
469
  if (comment) {
466
- if (ch === 0x0A || ch === 0x0D) {
470
+ if (ch === 0x0a || ch === 0x0d) {
467
471
  comment = false;
468
472
  }
469
473
  } else if (ch === 0x25) {
470
474
  comment = true;
471
- } else if (!(0, _util.isSpace)(ch)) {
475
+ } else if (!(0, _core_utils.isWhiteSpace)(ch)) {
472
476
  break;
473
477
  }
474
478
 
@@ -480,12 +484,12 @@ var Type1Parser = function Type1ParserClosure() {
480
484
  return String.fromCharCode(ch);
481
485
  }
482
486
 
483
- var token = '';
487
+ var token = "";
484
488
 
485
489
  do {
486
490
  token += String.fromCharCode(ch);
487
491
  ch = this.nextChar();
488
- } while (ch >= 0 && !(0, _util.isSpace)(ch) && !isSpecial(ch));
492
+ } while (ch >= 0 && !(0, _core_utils.isWhiteSpace)(ch) && !isSpecial(ch));
489
493
 
490
494
  return token;
491
495
  },
@@ -496,30 +500,30 @@ var Type1Parser = function Type1ParserClosure() {
496
500
 
497
501
  return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);
498
502
  },
499
- extractFontProgram: function Type1Parser_extractFontProgram() {
503
+ extractFontProgram: function Type1Parser_extractFontProgram(properties) {
500
504
  var stream = this.stream;
501
505
  var subrs = [],
502
506
  charstrings = [];
503
507
  var privateData = Object.create(null);
504
- privateData['lenIV'] = 4;
508
+ privateData.lenIV = 4;
505
509
  var program = {
506
510
  subrs: [],
507
511
  charstrings: [],
508
512
  properties: {
509
- 'privateData': privateData
513
+ privateData
510
514
  }
511
515
  };
512
516
  var token, length, data, lenIV, encoded;
513
517
 
514
518
  while ((token = this.getToken()) !== null) {
515
- if (token !== '/') {
519
+ if (token !== "/") {
516
520
  continue;
517
521
  }
518
522
 
519
523
  token = this.getToken();
520
524
 
521
525
  switch (token) {
522
- case 'CharStrings':
526
+ case "CharStrings":
523
527
  this.getToken();
524
528
  this.getToken();
525
529
  this.getToken();
@@ -528,11 +532,11 @@ var Type1Parser = function Type1ParserClosure() {
528
532
  while (true) {
529
533
  token = this.getToken();
530
534
 
531
- if (token === null || token === 'end') {
535
+ if (token === null || token === "end") {
532
536
  break;
533
537
  }
534
538
 
535
- if (token !== '/') {
539
+ if (token !== "/") {
536
540
  continue;
537
541
  }
538
542
 
@@ -540,38 +544,38 @@ var Type1Parser = function Type1ParserClosure() {
540
544
  length = this.readInt();
541
545
  this.getToken();
542
546
  data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);
543
- lenIV = program.properties.privateData['lenIV'];
547
+ lenIV = program.properties.privateData.lenIV;
544
548
  encoded = this.readCharStrings(data, lenIV);
545
549
  this.nextChar();
546
550
  token = this.getToken();
547
551
 
548
- if (token === 'noaccess') {
552
+ if (token === "noaccess") {
549
553
  this.getToken();
550
554
  }
551
555
 
552
556
  charstrings.push({
553
- glyph: glyph,
554
- encoded: encoded
557
+ glyph,
558
+ encoded
555
559
  });
556
560
  }
557
561
 
558
562
  break;
559
563
 
560
- case 'Subrs':
564
+ case "Subrs":
561
565
  this.readInt();
562
566
  this.getToken();
563
567
 
564
- while (this.getToken() === 'dup') {
565
- var index = this.readInt();
568
+ while (this.getToken() === "dup") {
569
+ const index = this.readInt();
566
570
  length = this.readInt();
567
571
  this.getToken();
568
572
  data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);
569
- lenIV = program.properties.privateData['lenIV'];
573
+ lenIV = program.properties.privateData.lenIV;
570
574
  encoded = this.readCharStrings(data, lenIV);
571
575
  this.nextChar();
572
576
  token = this.getToken();
573
577
 
574
- if (token === 'noaccess') {
578
+ if (token === "noaccess") {
575
579
  this.getToken();
576
580
  }
577
581
 
@@ -580,10 +584,10 @@ var Type1Parser = function Type1ParserClosure() {
580
584
 
581
585
  break;
582
586
 
583
- case 'BlueValues':
584
- case 'OtherBlues':
585
- case 'FamilyBlues':
586
- case 'FamilyOtherBlues':
587
+ case "BlueValues":
588
+ case "OtherBlues":
589
+ case "FamilyBlues":
590
+ case "FamilyOtherBlues":
587
591
  var blueArray = this.readNumberArray();
588
592
 
589
593
  if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {
@@ -592,26 +596,26 @@ var Type1Parser = function Type1ParserClosure() {
592
596
 
593
597
  break;
594
598
 
595
- case 'StemSnapH':
596
- case 'StemSnapV':
599
+ case "StemSnapH":
600
+ case "StemSnapV":
597
601
  program.properties.privateData[token] = this.readNumberArray();
598
602
  break;
599
603
 
600
- case 'StdHW':
601
- case 'StdVW':
604
+ case "StdHW":
605
+ case "StdVW":
602
606
  program.properties.privateData[token] = this.readNumberArray()[0];
603
607
  break;
604
608
 
605
- case 'BlueShift':
606
- case 'lenIV':
607
- case 'BlueFuzz':
608
- case 'BlueScale':
609
- case 'LanguageGroup':
610
- case 'ExpansionFactor':
609
+ case "BlueShift":
610
+ case "lenIV":
611
+ case "BlueFuzz":
612
+ case "BlueScale":
613
+ case "LanguageGroup":
614
+ case "ExpansionFactor":
611
615
  program.properties.privateData[token] = this.readNumber();
612
616
  break;
613
617
 
614
- case 'ForceBold':
618
+ case "ForceBold":
615
619
  program.properties.privateData[token] = this.readBoolean();
616
620
  break;
617
621
  }
@@ -628,13 +632,27 @@ var Type1Parser = function Type1ParserClosure() {
628
632
  output = [14];
629
633
  }
630
634
 
631
- program.charstrings.push({
635
+ const charStringObject = {
632
636
  glyphName: glyph,
633
637
  charstring: output,
634
638
  width: charString.width,
635
639
  lsb: charString.lsb,
636
640
  seac: charString.seac
637
- });
641
+ };
642
+
643
+ if (glyph === ".notdef") {
644
+ program.charstrings.unshift(charStringObject);
645
+ } else {
646
+ program.charstrings.push(charStringObject);
647
+ }
648
+
649
+ if (properties.builtInEncoding) {
650
+ const index = properties.builtInEncoding.indexOf(glyph);
651
+
652
+ if (index > -1 && properties.widths[index] === undefined && index >= properties.firstChar && index <= properties.lastChar) {
653
+ properties.widths[index] = charString.width;
654
+ }
655
+ }
638
656
  }
639
657
 
640
658
  return program;
@@ -643,19 +661,19 @@ var Type1Parser = function Type1ParserClosure() {
643
661
  var token;
644
662
 
645
663
  while ((token = this.getToken()) !== null) {
646
- if (token !== '/') {
664
+ if (token !== "/") {
647
665
  continue;
648
666
  }
649
667
 
650
668
  token = this.getToken();
651
669
 
652
670
  switch (token) {
653
- case 'FontMatrix':
671
+ case "FontMatrix":
654
672
  var matrix = this.readNumberArray();
655
673
  properties.fontMatrix = matrix;
656
674
  break;
657
675
 
658
- case 'Encoding':
676
+ case "Encoding":
659
677
  var encodingArg = this.getToken();
660
678
  var encoding;
661
679
 
@@ -669,7 +687,7 @@ var Type1Parser = function Type1ParserClosure() {
669
687
  for (var j = 0; j < size; j++) {
670
688
  token = this.getToken();
671
689
 
672
- while (token !== 'dup' && token !== 'def') {
690
+ while (token !== "dup" && token !== "def") {
673
691
  token = this.getToken();
674
692
 
675
693
  if (token === null) {
@@ -677,7 +695,7 @@ var Type1Parser = function Type1ParserClosure() {
677
695
  }
678
696
  }
679
697
 
680
- if (token === 'def') {
698
+ if (token === "def") {
681
699
  break;
682
700
  }
683
701
 
@@ -692,7 +710,7 @@ var Type1Parser = function Type1ParserClosure() {
692
710
  properties.builtInEncoding = encoding;
693
711
  break;
694
712
 
695
- case 'FontBBox':
713
+ case "FontBBox":
696
714
  var fontBBox = this.readNumberArray();
697
715
  properties.ascent = Math.max(fontBBox[3], fontBBox[1]);
698
716
  properties.descent = Math.min(fontBBox[1], fontBBox[3]);