Browse Source

PDF.js version 1.9.600 - See mozilla/pdf.js@b8371870941c03142d1f475149c45a95716008e1

master v1.9.600
pdfjsbot 7 years ago
parent
commit
6a4c431bc0
  1. 2
      bower.json
  2. 66
      build/pdf.combined.js
  3. 2
      build/pdf.combined.js.map
  4. 12
      build/pdf.js
  5. 2
      build/pdf.js.map
  6. 2
      build/pdf.min.js
  7. 58
      build/pdf.worker.js
  8. 2
      build/pdf.worker.js.map
  9. 2
      build/pdf.worker.min.js
  10. 54
      lib/core/fonts.js
  11. 4
      lib/display/api.js
  12. 4
      lib/display/global.js
  13. 4
      lib/pdf.js
  14. 4
      lib/pdf.worker.js
  15. 2
      package.json

2
bower.json

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
{
"name": "pdfjs-dist",
"version": "1.9.598",
"version": "1.9.600",
"main": [
"build/pdf.js",
"build/pdf.worker.js"

66
build/pdf.combined.js

@ -13632,8 +13632,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() { @@ -13632,8 +13632,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
}();
var version, build;
{
exports.version = version = '1.9.598';
exports.build = build = 'a1f5c26f';
exports.version = version = '1.9.600';
exports.build = build = 'b8371870';
}
exports.getDocument = getDocument;
exports.LoopbackPort = LoopbackPort;
@ -29591,8 +29591,8 @@ exports.SVGGraphics = SVGGraphics; @@ -29591,8 +29591,8 @@ exports.SVGGraphics = SVGGraphics;
"use strict";
var pdfjsVersion = '1.9.598';
var pdfjsBuild = 'a1f5c26f';
var pdfjsVersion = '1.9.600';
var pdfjsBuild = 'b8371870';
var pdfjsSharedUtil = __w_pdfjs_require__(0);
var pdfjsDisplayGlobal = __w_pdfjs_require__(98);
var pdfjsDisplayAPI = __w_pdfjs_require__(55);
@ -35454,8 +35454,8 @@ if (!_global_scope2.default.PDFJS) { @@ -35454,8 +35454,8 @@ if (!_global_scope2.default.PDFJS) {
}
var PDFJS = _global_scope2.default.PDFJS;
{
PDFJS.version = '1.9.598';
PDFJS.build = 'a1f5c26f';
PDFJS.version = '1.9.600';
PDFJS.build = 'b8371870';
}
PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) {
@ -43695,14 +43695,19 @@ var Font = function FontClosure() { @@ -43695,14 +43695,19 @@ var Font = function FontClosure() {
}
}
function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {
var glyphProfile = {
length: 0,
sizeOfInstructions: 0
};
if (sourceEnd - sourceStart <= 12) {
return 0;
return glyphProfile;
}
var glyf = source.subarray(sourceStart, sourceEnd);
var contoursCount = glyf[0] << 8 | glyf[1];
if (contoursCount & 0x8000) {
dest.set(glyf, destStart);
return glyf.length;
glyphProfile.length = glyf.length;
return glyphProfile;
}
var i,
j = 10,
@ -43714,6 +43719,7 @@ var Font = function FontClosure() { @@ -43714,6 +43719,7 @@ var Font = function FontClosure() {
}
var instructionsStart = j;
var instructionsLength = glyf[j] << 8 | glyf[j + 1];
glyphProfile.sizeOfInstructions = instructionsLength;
j += 2 + instructionsLength;
var instructionsEnd = j;
var coordinatesLength = 0;
@ -43731,11 +43737,11 @@ var Font = function FontClosure() { @@ -43731,11 +43737,11 @@ var Font = function FontClosure() {
}
}
if (coordinatesLength === 0) {
return 0;
return glyphProfile;
}
var glyphDataLength = j + coordinatesLength;
if (glyphDataLength > glyf.length) {
return 0;
return glyphProfile;
}
if (!hintsValid && instructionsLength > 0) {
dest.set(glyf.subarray(0, instructionsStart), destStart);
@ -43745,15 +43751,18 @@ var Font = function FontClosure() { @@ -43745,15 +43751,18 @@ var Font = function FontClosure() {
if (glyf.length - glyphDataLength > 3) {
glyphDataLength = glyphDataLength + 3 & ~3;
}
return glyphDataLength;
glyphProfile.length = glyphDataLength;
return glyphProfile;
}
if (glyf.length - glyphDataLength > 3) {
glyphDataLength = glyphDataLength + 3 & ~3;
dest.set(glyf.subarray(0, glyphDataLength), destStart);
return glyphDataLength;
glyphProfile.length = glyphDataLength;
return glyphProfile;
}
dest.set(glyf, destStart);
return glyf.length;
glyphProfile.length = glyf.length;
return glyphProfile;
}
function sanitizeHead(head, numGlyphs, locaLength) {
var data = head.data;
@ -43780,7 +43789,7 @@ var Font = function FontClosure() { @@ -43780,7 +43789,7 @@ var Font = function FontClosure() {
}
}
}
function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry) {
function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {
var itemSize, itemDecode, itemEncode;
if (isGlyphLocationsLong) {
itemSize = 4;
@ -43815,7 +43824,7 @@ var Font = function FontClosure() { @@ -43815,7 +43824,7 @@ var Font = function FontClosure() {
var newGlyfData = new Uint8Array(oldGlyfDataLength);
var startOffset = itemDecode(locaData, 0);
var writeOffset = 0;
var missingGlyphData = Object.create(null);
var missingGlyphs = Object.create(null);
itemEncode(locaData, 0, writeOffset);
var i, j;
var locaCount = dupFirstEntry ? numGlyphs - 1 : numGlyphs;
@ -43827,9 +43836,13 @@ var Font = function FontClosure() { @@ -43827,9 +43836,13 @@ var Font = function FontClosure() {
if (endOffset > oldGlyfDataLength) {
startOffset = endOffset;
}
var newLength = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);
var glyphProfile = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);
var newLength = glyphProfile.length;
if (newLength === 0) {
missingGlyphData[i] = true;
missingGlyphs[i] = true;
}
if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {
maxSizeOfInstructions = glyphProfile.sizeOfInstructions;
}
writeOffset += newLength;
itemEncode(locaData, j, writeOffset);
@ -43841,9 +43854,7 @@ var Font = function FontClosure() { @@ -43841,9 +43854,7 @@ var Font = function FontClosure() {
itemEncode(locaData, j, simpleGlyph.length);
}
glyf.data = simpleGlyph;
return missingGlyphData;
}
if (dupFirstEntry) {
} else if (dupFirstEntry) {
var firstEntryLength = itemDecode(locaData, itemSize);
if (newGlyfData.length > firstEntryLength + writeOffset) {
glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);
@ -43856,7 +43867,10 @@ var Font = function FontClosure() { @@ -43856,7 +43867,10 @@ var Font = function FontClosure() {
} else {
glyf.data = newGlyfData.subarray(0, writeOffset);
}
return missingGlyphData;
return {
missingGlyphs: missingGlyphs,
maxSizeOfInstructions: maxSizeOfInstructions
};
}
function readPostScriptTable(post, properties, maxpNumGlyphs) {
var start = (font.start ? font.start : 0) + post.offset;
@ -44260,6 +44274,7 @@ var Font = function FontClosure() { @@ -44260,6 +44274,7 @@ var Font = function FontClosure() {
var version = font.getInt32();
var numGlyphs = font.getUint16();
var maxFunctionDefs = 0;
var maxSizeOfInstructions = 0;
if (version >= 0x00010000 && tables['maxp'].length >= 22) {
font.pos += 8;
var maxZones = font.getUint16();
@ -44269,6 +44284,8 @@ var Font = function FontClosure() { @@ -44269,6 +44284,8 @@ var Font = function FontClosure() {
}
font.pos += 4;
maxFunctionDefs = font.getUint16();
font.pos += 6;
maxSizeOfInstructions = font.getUint16();
}
var dupFirstEntry = false;
if (properties.type === 'CIDFontType2' && properties.toUnicode && properties.toUnicode.get(0) > '\0') {
@ -44291,7 +44308,12 @@ var Font = function FontClosure() { @@ -44291,7 +44308,12 @@ var Font = function FontClosure() {
var missingGlyphs = Object.create(null);
if (isTrueType) {
var isGlyphLocationsLong = int16(tables['head'].data[50], tables['head'].data[51]);
missingGlyphs = sanitizeGlyphLocations(tables['loca'], tables['glyf'], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry);
var glyphsInfo = sanitizeGlyphLocations(tables['loca'], tables['glyf'], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);
missingGlyphs = glyphsInfo.missingGlyphs;
if (version >= 0x00010000 && tables['maxp'].length >= 22) {
tables['maxp'].data[26] = glyphsInfo.maxSizeOfInstructions >> 8;
tables['maxp'].data[27] = glyphsInfo.maxSizeOfInstructions & 255;
}
}
if (!tables['hhea']) {
throw new _util.FormatError('Required "hhea" table is not found');

2
build/pdf.combined.js.map

File diff suppressed because one or more lines are too long

12
build/pdf.js

@ -4335,8 +4335,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() { @@ -4335,8 +4335,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
}();
var version, build;
{
exports.version = version = '1.9.598';
exports.build = build = 'a1f5c26f';
exports.version = version = '1.9.600';
exports.build = build = 'b8371870';
}
exports.getDocument = getDocument;
exports.LoopbackPort = LoopbackPort;
@ -7408,8 +7408,8 @@ exports.SVGGraphics = SVGGraphics; @@ -7408,8 +7408,8 @@ exports.SVGGraphics = SVGGraphics;
"use strict";
var pdfjsVersion = '1.9.598';
var pdfjsBuild = 'a1f5c26f';
var pdfjsVersion = '1.9.600';
var pdfjsBuild = 'b8371870';
var pdfjsSharedUtil = __w_pdfjs_require__(0);
var pdfjsDisplayGlobal = __w_pdfjs_require__(82);
var pdfjsDisplayAPI = __w_pdfjs_require__(48);
@ -13271,8 +13271,8 @@ if (!_global_scope2.default.PDFJS) { @@ -13271,8 +13271,8 @@ if (!_global_scope2.default.PDFJS) {
}
var PDFJS = _global_scope2.default.PDFJS;
{
PDFJS.version = '1.9.598';
PDFJS.build = 'a1f5c26f';
PDFJS.version = '1.9.600';
PDFJS.build = 'b8371870';
}
PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) {

2
build/pdf.js.map

File diff suppressed because one or more lines are too long

2
build/pdf.min.js vendored

File diff suppressed because one or more lines are too long

58
build/pdf.worker.js vendored

@ -24540,8 +24540,8 @@ exports.getUnicodeForGlyph = getUnicodeForGlyph; @@ -24540,8 +24540,8 @@ exports.getUnicodeForGlyph = getUnicodeForGlyph;
"use strict";
var pdfjsVersion = '1.9.598';
var pdfjsBuild = 'a1f5c26f';
var pdfjsVersion = '1.9.600';
var pdfjsBuild = 'b8371870';
var pdfjsCoreWorker = __w_pdfjs_require__(62);
exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;
@ -35811,14 +35811,19 @@ var Font = function FontClosure() { @@ -35811,14 +35811,19 @@ var Font = function FontClosure() {
}
}
function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {
var glyphProfile = {
length: 0,
sizeOfInstructions: 0
};
if (sourceEnd - sourceStart <= 12) {
return 0;
return glyphProfile;
}
var glyf = source.subarray(sourceStart, sourceEnd);
var contoursCount = glyf[0] << 8 | glyf[1];
if (contoursCount & 0x8000) {
dest.set(glyf, destStart);
return glyf.length;
glyphProfile.length = glyf.length;
return glyphProfile;
}
var i,
j = 10,
@ -35830,6 +35835,7 @@ var Font = function FontClosure() { @@ -35830,6 +35835,7 @@ var Font = function FontClosure() {
}
var instructionsStart = j;
var instructionsLength = glyf[j] << 8 | glyf[j + 1];
glyphProfile.sizeOfInstructions = instructionsLength;
j += 2 + instructionsLength;
var instructionsEnd = j;
var coordinatesLength = 0;
@ -35847,11 +35853,11 @@ var Font = function FontClosure() { @@ -35847,11 +35853,11 @@ var Font = function FontClosure() {
}
}
if (coordinatesLength === 0) {
return 0;
return glyphProfile;
}
var glyphDataLength = j + coordinatesLength;
if (glyphDataLength > glyf.length) {
return 0;
return glyphProfile;
}
if (!hintsValid && instructionsLength > 0) {
dest.set(glyf.subarray(0, instructionsStart), destStart);
@ -35861,15 +35867,18 @@ var Font = function FontClosure() { @@ -35861,15 +35867,18 @@ var Font = function FontClosure() {
if (glyf.length - glyphDataLength > 3) {
glyphDataLength = glyphDataLength + 3 & ~3;
}
return glyphDataLength;
glyphProfile.length = glyphDataLength;
return glyphProfile;
}
if (glyf.length - glyphDataLength > 3) {
glyphDataLength = glyphDataLength + 3 & ~3;
dest.set(glyf.subarray(0, glyphDataLength), destStart);
return glyphDataLength;
glyphProfile.length = glyphDataLength;
return glyphProfile;
}
dest.set(glyf, destStart);
return glyf.length;
glyphProfile.length = glyf.length;
return glyphProfile;
}
function sanitizeHead(head, numGlyphs, locaLength) {
var data = head.data;
@ -35896,7 +35905,7 @@ var Font = function FontClosure() { @@ -35896,7 +35905,7 @@ var Font = function FontClosure() {
}
}
}
function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry) {
function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {
var itemSize, itemDecode, itemEncode;
if (isGlyphLocationsLong) {
itemSize = 4;
@ -35931,7 +35940,7 @@ var Font = function FontClosure() { @@ -35931,7 +35940,7 @@ var Font = function FontClosure() {
var newGlyfData = new Uint8Array(oldGlyfDataLength);
var startOffset = itemDecode(locaData, 0);
var writeOffset = 0;
var missingGlyphData = Object.create(null);
var missingGlyphs = Object.create(null);
itemEncode(locaData, 0, writeOffset);
var i, j;
var locaCount = dupFirstEntry ? numGlyphs - 1 : numGlyphs;
@ -35943,9 +35952,13 @@ var Font = function FontClosure() { @@ -35943,9 +35952,13 @@ var Font = function FontClosure() {
if (endOffset > oldGlyfDataLength) {
startOffset = endOffset;
}
var newLength = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);
var glyphProfile = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);
var newLength = glyphProfile.length;
if (newLength === 0) {
missingGlyphData[i] = true;
missingGlyphs[i] = true;
}
if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {
maxSizeOfInstructions = glyphProfile.sizeOfInstructions;
}
writeOffset += newLength;
itemEncode(locaData, j, writeOffset);
@ -35957,9 +35970,7 @@ var Font = function FontClosure() { @@ -35957,9 +35970,7 @@ var Font = function FontClosure() {
itemEncode(locaData, j, simpleGlyph.length);
}
glyf.data = simpleGlyph;
return missingGlyphData;
}
if (dupFirstEntry) {
} else if (dupFirstEntry) {
var firstEntryLength = itemDecode(locaData, itemSize);
if (newGlyfData.length > firstEntryLength + writeOffset) {
glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);
@ -35972,7 +35983,10 @@ var Font = function FontClosure() { @@ -35972,7 +35983,10 @@ var Font = function FontClosure() {
} else {
glyf.data = newGlyfData.subarray(0, writeOffset);
}
return missingGlyphData;
return {
missingGlyphs: missingGlyphs,
maxSizeOfInstructions: maxSizeOfInstructions
};
}
function readPostScriptTable(post, properties, maxpNumGlyphs) {
var start = (font.start ? font.start : 0) + post.offset;
@ -36376,6 +36390,7 @@ var Font = function FontClosure() { @@ -36376,6 +36390,7 @@ var Font = function FontClosure() {
var version = font.getInt32();
var numGlyphs = font.getUint16();
var maxFunctionDefs = 0;
var maxSizeOfInstructions = 0;
if (version >= 0x00010000 && tables['maxp'].length >= 22) {
font.pos += 8;
var maxZones = font.getUint16();
@ -36385,6 +36400,8 @@ var Font = function FontClosure() { @@ -36385,6 +36400,8 @@ var Font = function FontClosure() {
}
font.pos += 4;
maxFunctionDefs = font.getUint16();
font.pos += 6;
maxSizeOfInstructions = font.getUint16();
}
var dupFirstEntry = false;
if (properties.type === 'CIDFontType2' && properties.toUnicode && properties.toUnicode.get(0) > '\0') {
@ -36407,7 +36424,12 @@ var Font = function FontClosure() { @@ -36407,7 +36424,12 @@ var Font = function FontClosure() {
var missingGlyphs = Object.create(null);
if (isTrueType) {
var isGlyphLocationsLong = int16(tables['head'].data[50], tables['head'].data[51]);
missingGlyphs = sanitizeGlyphLocations(tables['loca'], tables['glyf'], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry);
var glyphsInfo = sanitizeGlyphLocations(tables['loca'], tables['glyf'], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);
missingGlyphs = glyphsInfo.missingGlyphs;
if (version >= 0x00010000 && tables['maxp'].length >= 22) {
tables['maxp'].data[26] = glyphsInfo.maxSizeOfInstructions >> 8;
tables['maxp'].data[27] = glyphsInfo.maxSizeOfInstructions & 255;
}
}
if (!tables['hhea']) {
throw new _util.FormatError('Required "hhea" table is not found');

2
build/pdf.worker.js.map vendored

File diff suppressed because one or more lines are too long

2
build/pdf.worker.min.js vendored

File diff suppressed because one or more lines are too long

54
lib/core/fonts.js

@ -1092,14 +1092,19 @@ var Font = function FontClosure() { @@ -1092,14 +1092,19 @@ var Font = function FontClosure() {
}
}
function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {
var glyphProfile = {
length: 0,
sizeOfInstructions: 0
};
if (sourceEnd - sourceStart <= 12) {
return 0;
return glyphProfile;
}
var glyf = source.subarray(sourceStart, sourceEnd);
var contoursCount = glyf[0] << 8 | glyf[1];
if (contoursCount & 0x8000) {
dest.set(glyf, destStart);
return glyf.length;
glyphProfile.length = glyf.length;
return glyphProfile;
}
var i,
j = 10,
@ -1111,6 +1116,7 @@ var Font = function FontClosure() { @@ -1111,6 +1116,7 @@ var Font = function FontClosure() {
}
var instructionsStart = j;
var instructionsLength = glyf[j] << 8 | glyf[j + 1];
glyphProfile.sizeOfInstructions = instructionsLength;
j += 2 + instructionsLength;
var instructionsEnd = j;
var coordinatesLength = 0;
@ -1128,11 +1134,11 @@ var Font = function FontClosure() { @@ -1128,11 +1134,11 @@ var Font = function FontClosure() {
}
}
if (coordinatesLength === 0) {
return 0;
return glyphProfile;
}
var glyphDataLength = j + coordinatesLength;
if (glyphDataLength > glyf.length) {
return 0;
return glyphProfile;
}
if (!hintsValid && instructionsLength > 0) {
dest.set(glyf.subarray(0, instructionsStart), destStart);
@ -1142,15 +1148,18 @@ var Font = function FontClosure() { @@ -1142,15 +1148,18 @@ var Font = function FontClosure() {
if (glyf.length - glyphDataLength > 3) {
glyphDataLength = glyphDataLength + 3 & ~3;
}
return glyphDataLength;
glyphProfile.length = glyphDataLength;
return glyphProfile;
}
if (glyf.length - glyphDataLength > 3) {
glyphDataLength = glyphDataLength + 3 & ~3;
dest.set(glyf.subarray(0, glyphDataLength), destStart);
return glyphDataLength;
glyphProfile.length = glyphDataLength;
return glyphProfile;
}
dest.set(glyf, destStart);
return glyf.length;
glyphProfile.length = glyf.length;
return glyphProfile;
}
function sanitizeHead(head, numGlyphs, locaLength) {
var data = head.data;
@ -1177,7 +1186,7 @@ var Font = function FontClosure() { @@ -1177,7 +1186,7 @@ var Font = function FontClosure() {
}
}
}
function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry) {
function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {
var itemSize, itemDecode, itemEncode;
if (isGlyphLocationsLong) {
itemSize = 4;
@ -1212,7 +1221,7 @@ var Font = function FontClosure() { @@ -1212,7 +1221,7 @@ var Font = function FontClosure() {
var newGlyfData = new Uint8Array(oldGlyfDataLength);
var startOffset = itemDecode(locaData, 0);
var writeOffset = 0;
var missingGlyphData = Object.create(null);
var missingGlyphs = Object.create(null);
itemEncode(locaData, 0, writeOffset);
var i, j;
var locaCount = dupFirstEntry ? numGlyphs - 1 : numGlyphs;
@ -1224,9 +1233,13 @@ var Font = function FontClosure() { @@ -1224,9 +1233,13 @@ var Font = function FontClosure() {
if (endOffset > oldGlyfDataLength) {
startOffset = endOffset;
}
var newLength = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);
var glyphProfile = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);
var newLength = glyphProfile.length;
if (newLength === 0) {
missingGlyphData[i] = true;
missingGlyphs[i] = true;
}
if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {
maxSizeOfInstructions = glyphProfile.sizeOfInstructions;
}
writeOffset += newLength;
itemEncode(locaData, j, writeOffset);
@ -1238,9 +1251,7 @@ var Font = function FontClosure() { @@ -1238,9 +1251,7 @@ var Font = function FontClosure() {
itemEncode(locaData, j, simpleGlyph.length);
}
glyf.data = simpleGlyph;
return missingGlyphData;
}
if (dupFirstEntry) {
} else if (dupFirstEntry) {
var firstEntryLength = itemDecode(locaData, itemSize);
if (newGlyfData.length > firstEntryLength + writeOffset) {
glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);
@ -1253,7 +1264,10 @@ var Font = function FontClosure() { @@ -1253,7 +1264,10 @@ var Font = function FontClosure() {
} else {
glyf.data = newGlyfData.subarray(0, writeOffset);
}
return missingGlyphData;
return {
missingGlyphs: missingGlyphs,
maxSizeOfInstructions: maxSizeOfInstructions
};
}
function readPostScriptTable(post, properties, maxpNumGlyphs) {
var start = (font.start ? font.start : 0) + post.offset;
@ -1657,6 +1671,7 @@ var Font = function FontClosure() { @@ -1657,6 +1671,7 @@ var Font = function FontClosure() {
var version = font.getInt32();
var numGlyphs = font.getUint16();
var maxFunctionDefs = 0;
var maxSizeOfInstructions = 0;
if (version >= 0x00010000 && tables['maxp'].length >= 22) {
font.pos += 8;
var maxZones = font.getUint16();
@ -1666,6 +1681,8 @@ var Font = function FontClosure() { @@ -1666,6 +1681,8 @@ var Font = function FontClosure() {
}
font.pos += 4;
maxFunctionDefs = font.getUint16();
font.pos += 6;
maxSizeOfInstructions = font.getUint16();
}
var dupFirstEntry = false;
if (properties.type === 'CIDFontType2' && properties.toUnicode && properties.toUnicode.get(0) > '\0') {
@ -1688,7 +1705,12 @@ var Font = function FontClosure() { @@ -1688,7 +1705,12 @@ var Font = function FontClosure() {
var missingGlyphs = Object.create(null);
if (isTrueType) {
var isGlyphLocationsLong = int16(tables['head'].data[50], tables['head'].data[51]);
missingGlyphs = sanitizeGlyphLocations(tables['loca'], tables['glyf'], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry);
var glyphsInfo = sanitizeGlyphLocations(tables['loca'], tables['glyf'], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);
missingGlyphs = glyphsInfo.missingGlyphs;
if (version >= 0x00010000 && tables['maxp'].length >= 22) {
tables['maxp'].data[26] = glyphsInfo.maxSizeOfInstructions >> 8;
tables['maxp'].data[27] = glyphsInfo.maxSizeOfInstructions & 255;
}
}
if (!tables['hhea']) {
throw new _util.FormatError('Required "hhea" table is not found');

4
lib/display/api.js

@ -1582,8 +1582,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() { @@ -1582,8 +1582,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
}();
var version, build;
{
exports.version = version = '1.9.598';
exports.build = build = 'a1f5c26f';
exports.version = version = '1.9.600';
exports.build = build = 'b8371870';
}
exports.getDocument = getDocument;
exports.LoopbackPort = LoopbackPort;

4
lib/display/global.js

@ -45,8 +45,8 @@ if (!_global_scope2.default.PDFJS) { @@ -45,8 +45,8 @@ if (!_global_scope2.default.PDFJS) {
}
var PDFJS = _global_scope2.default.PDFJS;
{
PDFJS.version = '1.9.598';
PDFJS.build = 'a1f5c26f';
PDFJS.version = '1.9.600';
PDFJS.build = 'b8371870';
}
PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) {

4
lib/pdf.js

@ -14,8 +14,8 @@ @@ -14,8 +14,8 @@
*/
'use strict';
var pdfjsVersion = '1.9.598';
var pdfjsBuild = 'a1f5c26f';
var pdfjsVersion = '1.9.600';
var pdfjsBuild = 'b8371870';
var pdfjsSharedUtil = require('./shared/util.js');
var pdfjsDisplayGlobal = require('./display/global.js');
var pdfjsDisplayAPI = require('./display/api.js');

4
lib/pdf.worker.js vendored

@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
*/
'use strict';
var pdfjsVersion = '1.9.598';
var pdfjsBuild = 'a1f5c26f';
var pdfjsVersion = '1.9.600';
var pdfjsBuild = 'b8371870';
var pdfjsCoreWorker = require('./core/worker.js');
exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;

2
package.json

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
{
"name": "pdfjs-dist",
"version": "1.9.598",
"version": "1.9.600",
"main": "build/pdf.js",
"description": "Generic build of Mozilla's PDF.js library.",
"keywords": [

Loading…
Cancel
Save