From aa3a64e97502b2045f07168210b7a45b9497f5ef Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Thu, 18 Jun 2015 21:53:15 +0200 Subject: [PATCH] Skip mapping of CIDFontType2 glyphs when the font either has a |IdentityToUnicodeMap| or a |toUnicodeMap| with 65536 elements (issue 5677) This patch slightly extends the heuristics used when trying to skip mapping of missing glyphs. Fixes 5677. --- src/core/fonts.js | 8 ++++++-- test/pdfs/.gitignore | 1 + test/pdfs/issue5677.pdf | Bin 0 -> 194851 bytes test/test_manifest.json | 7 +++++++ 4 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 test/pdfs/issue5677.pdf diff --git a/src/core/fonts.js b/src/core/fonts.js index 93c88263b..996dbf98d 100644 --- a/src/core/fonts.js +++ b/src/core/fonts.js @@ -4130,13 +4130,17 @@ var Font = (function FontClosure() { var charCodeToGlyphId = [], charCode; var toUnicode = properties.toUnicode, widths = properties.widths; - var isIdentityUnicode = toUnicode instanceof IdentityToUnicodeMap; + var skipToUnicode = (toUnicode instanceof IdentityToUnicodeMap || + toUnicode.length === 0x10000); + // Helper function to try to skip mapping of empty glyphs. + // Note: In some cases, just relying on the glyph data doesn't work, + // hence we also use a few heuristics to fix various PDF files. function hasGlyph(glyphId, charCode, widthCode) { if (!missingGlyphs[glyphId]) { return true; } - if (!isIdentityUnicode && charCode >= 0 && toUnicode.has(charCode)) { + if (!skipToUnicode && charCode >= 0 && toUnicode.has(charCode)) { return true; } if (widths && widthCode >= 0 && isNum(widths[widthCode])) { diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 65961a4e8..b972504d8 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -25,6 +25,7 @@ !issue4630.pdf !issue5202.pdf !issue5280.pdf +!issue5677.pdf !issue5954.pdf !alphatrans.pdf !devicen.pdf diff --git a/test/pdfs/issue5677.pdf b/test/pdfs/issue5677.pdf new file mode 100644 index 0000000000000000000000000000000000000000..064c954a22618ff894af3f6f32868e682942a9aa GIT binary patch literal 194851 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 literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index aa8b77d7a..3cb595b40 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -558,6 +558,13 @@ "link": false, "type": "load" }, + { "id": "issue5677", + "file": "pdfs/issue5677.pdf", + "md5": "c9101578fcb806269145132724d24ac1", + "rounds": 1, + "link": false, + "type": "eq" + }, { "id": "issue5954", "file": "pdfs/issue5954.pdf", "md5": "4f60ec0d9bbeec845b681242b8982361",