From a040146ff5d5be3558981d30eecc7f69c8a4174f Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Mon, 22 Sep 2014 16:28:57 -0500 Subject: [PATCH] PDF.js version 1.0.448 --- bower.json | 2 +- build/pdf.combined.js | 32 ++++++++++++++++++++------------ build/pdf.js | 4 ++-- build/pdf.worker.js | 32 ++++++++++++++++++++------------ package.json | 2 +- 5 files changed, 44 insertions(+), 28 deletions(-) diff --git a/bower.json b/bower.json index fe3dc2f1d..415330065 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "pdfjs-dist", - "version": "1.0.444", + "version": "1.0.448", "keywords": [ "Mozilla", "pdf", diff --git a/build/pdf.combined.js b/build/pdf.combined.js index ea70f55f3..8f4e052cf 100644 --- a/build/pdf.combined.js +++ b/build/pdf.combined.js @@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { (typeof window !== 'undefined' ? window : this).PDFJS = {}; } -PDFJS.version = '1.0.444'; -PDFJS.build = 'a20c390'; +PDFJS.version = '1.0.448'; +PDFJS.build = 'b5e5de0'; (function pdfjsWrapper() { // Use strict in our context only - users might not want it @@ -27210,6 +27210,7 @@ var Font = (function FontClosure() { var toUnicode = properties.toUnicode; var isSymbolic = !!(properties.flags & FontFlags.Symbolic); var isIdentityUnicode = properties.isIdentityUnicode; + var isCidFontType2 = (properties.type === 'CIDFontType2'); var newMap = Object.create(null); var toFontChar = []; var usedFontCharCodes = []; @@ -27220,11 +27221,17 @@ var Font = (function FontClosure() { var fontCharCode = originalCharCode; // First try to map the value to a unicode position if a non identity map // was created. - if (!isIdentityUnicode && originalCharCode in toUnicode) { - var unicode = toUnicode[fontCharCode]; - // TODO: Try to map ligatures to the correct spot. - if (unicode.length === 1) { - fontCharCode = unicode.charCodeAt(0); + if (!isIdentityUnicode) { + if (toUnicode[originalCharCode] !== undefined) { + var unicode = toUnicode[fontCharCode]; + // TODO: Try to map ligatures to the correct spot. + if (unicode.length === 1) { + fontCharCode = unicode.charCodeAt(0); + } + } else if (isCidFontType2) { + // For CIDFontType2, move characters not present in toUnicode + // to the private use area (fixes bug 1028735 and issue 4881). + fontCharCode = nextAvailableFontCharCode; } } // Try to move control characters, special characters and already mapped @@ -27233,7 +27240,7 @@ var Font = (function FontClosure() { // font was symbolic and there is only an identity unicode map since the // characters probably aren't in the correct position (fixes an issue // with firefox and thuluthfont). - if ((fontCharCode in usedFontCharCodes || + if ((usedFontCharCodes[fontCharCode] !== undefined || fontCharCode <= 0x1f || // Control chars fontCharCode === 0x7F || // Control char fontCharCode === 0xAD || // Soft hyphen @@ -27251,7 +27258,7 @@ var Font = (function FontClosure() { nextAvailableFontCharCode = fontCharCode + 1; } - } while (fontCharCode in usedFontCharCodes && + } while (usedFontCharCodes[fontCharCode] !== undefined && nextAvailableFontCharCode <= PRIVATE_USE_OFFSET_END); } @@ -28625,8 +28632,9 @@ var Font = (function FontClosure() { } var charCodeToGlyphId = [], charCode; - if (properties.type == 'CIDFontType2') { + if (properties.type === 'CIDFontType2') { var cidToGidMap = properties.cidToGidMap || []; + var cidToGidMapLength = cidToGidMap.length; var cMap = properties.cMap.map; for (charCode in cMap) { charCode |= 0; @@ -28634,9 +28642,9 @@ var Font = (function FontClosure() { assert(cid.length === 1, 'Max size of CID is 65,535'); cid = cid.charCodeAt(0); var glyphId = -1; - if (cidToGidMap.length === 0) { + if (cidToGidMapLength === 0) { glyphId = charCode; - } else if (cid in cidToGidMap) { + } else if (cidToGidMap[cid] !== undefined) { glyphId = cidToGidMap[cid]; } if (glyphId >= 0 && glyphId < numGlyphs) { diff --git a/build/pdf.js b/build/pdf.js index 9a7bc0135..c554b152c 100644 --- a/build/pdf.js +++ b/build/pdf.js @@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { (typeof window !== 'undefined' ? window : this).PDFJS = {}; } -PDFJS.version = '1.0.444'; -PDFJS.build = 'a20c390'; +PDFJS.version = '1.0.448'; +PDFJS.build = 'b5e5de0'; (function pdfjsWrapper() { // Use strict in our context only - users might not want it diff --git a/build/pdf.worker.js b/build/pdf.worker.js index e87620e84..bee226182 100644 --- a/build/pdf.worker.js +++ b/build/pdf.worker.js @@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { (typeof window !== 'undefined' ? window : this).PDFJS = {}; } -PDFJS.version = '1.0.444'; -PDFJS.build = 'a20c390'; +PDFJS.version = '1.0.448'; +PDFJS.build = 'b5e5de0'; (function pdfjsWrapper() { // Use strict in our context only - users might not want it @@ -22364,6 +22364,7 @@ var Font = (function FontClosure() { var toUnicode = properties.toUnicode; var isSymbolic = !!(properties.flags & FontFlags.Symbolic); var isIdentityUnicode = properties.isIdentityUnicode; + var isCidFontType2 = (properties.type === 'CIDFontType2'); var newMap = Object.create(null); var toFontChar = []; var usedFontCharCodes = []; @@ -22374,11 +22375,17 @@ var Font = (function FontClosure() { var fontCharCode = originalCharCode; // First try to map the value to a unicode position if a non identity map // was created. - if (!isIdentityUnicode && originalCharCode in toUnicode) { - var unicode = toUnicode[fontCharCode]; - // TODO: Try to map ligatures to the correct spot. - if (unicode.length === 1) { - fontCharCode = unicode.charCodeAt(0); + if (!isIdentityUnicode) { + if (toUnicode[originalCharCode] !== undefined) { + var unicode = toUnicode[fontCharCode]; + // TODO: Try to map ligatures to the correct spot. + if (unicode.length === 1) { + fontCharCode = unicode.charCodeAt(0); + } + } else if (isCidFontType2) { + // For CIDFontType2, move characters not present in toUnicode + // to the private use area (fixes bug 1028735 and issue 4881). + fontCharCode = nextAvailableFontCharCode; } } // Try to move control characters, special characters and already mapped @@ -22387,7 +22394,7 @@ var Font = (function FontClosure() { // font was symbolic and there is only an identity unicode map since the // characters probably aren't in the correct position (fixes an issue // with firefox and thuluthfont). - if ((fontCharCode in usedFontCharCodes || + if ((usedFontCharCodes[fontCharCode] !== undefined || fontCharCode <= 0x1f || // Control chars fontCharCode === 0x7F || // Control char fontCharCode === 0xAD || // Soft hyphen @@ -22405,7 +22412,7 @@ var Font = (function FontClosure() { nextAvailableFontCharCode = fontCharCode + 1; } - } while (fontCharCode in usedFontCharCodes && + } while (usedFontCharCodes[fontCharCode] !== undefined && nextAvailableFontCharCode <= PRIVATE_USE_OFFSET_END); } @@ -23779,8 +23786,9 @@ var Font = (function FontClosure() { } var charCodeToGlyphId = [], charCode; - if (properties.type == 'CIDFontType2') { + if (properties.type === 'CIDFontType2') { var cidToGidMap = properties.cidToGidMap || []; + var cidToGidMapLength = cidToGidMap.length; var cMap = properties.cMap.map; for (charCode in cMap) { charCode |= 0; @@ -23788,9 +23796,9 @@ var Font = (function FontClosure() { assert(cid.length === 1, 'Max size of CID is 65,535'); cid = cid.charCodeAt(0); var glyphId = -1; - if (cidToGidMap.length === 0) { + if (cidToGidMapLength === 0) { glyphId = charCode; - } else if (cid in cidToGidMap) { + } else if (cidToGidMap[cid] !== undefined) { glyphId = cidToGidMap[cid]; } if (glyphId >= 0 && glyphId < numGlyphs) { diff --git a/package.json b/package.json index 349ed4661..0bf4817e4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pdfjs-dist", - "version": "1.0.444", + "version": "1.0.448", "description": "Generic build of Mozilla's PDF.js library.", "keywords": [ "Mozilla",