From 3ccf277f58bd84acc32929b7caaed6681ce32768 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Fri, 3 Sep 2021 18:10:27 +0200 Subject: [PATCH] Fallback to the /ToUnicode map for TrueType fonts with (3, 1) and (1, 0) cmap-tables (issue 13316) In the PDF document some of the glyphs have bogus `differences`-entries[1] that cannot be resolved to valid glyph names, thus causing the glyph mapping to fail. My initial idea was to use a similar approach as in the `PartialEvaluator._simpleFontToUnicode`-method, to extract the charCodes from those entries, however it turned out that that didn't actually help in this case (the mapping was still wrong). To fix this I'm thus proposing that we fallback to the /ToUnicode map when no other useable data exists (e.g. no post-table), since it *hopefully* shouldn't make things any worse than leaving parts of the glyph map empty (which currently happens). --- [1] As can be seem below, some of the entries are completely normal while others are non-standard: ``` Differences (array) 0 = 65 1 = /g5167 2 = /space 3 = /g11927 4 = /g17737 5 = /g11540 6 = /g2180 7 = /K 8 = /P 9 = /two 10 = /zero 11 = /one 12 = /five 13 = /four 14 = /g6932 15 = /g7246 16 = /g1691 17 = /g2343 18 = /g14792 19 = /g3325 20 = /g4280 21 = /g20383 22 = /g18166 23 = /g16988 24 = /g17943 25 = /g19223 26 = /g10830 27 = 97 28 = /g982 29 = /g1226 30 = /g5059 31 = /g2677 32 = /g1042 33 = /g11568 34 = /L 35 = /three 36 = /seven 37 = /g2364 38 = /g12063 39 = /g5356 40 = /g2173 41 = /g17877 42 = /g7273 43 = /g7647 44 = /g7224 45 = /g19327 46 = /g5054 47 = /g2342 48 = /g10136 49 = /g6856 50 = /g13381 51 = /g7257 52 = /g12093 53 = /g2359 ``` --- src/core/fonts.js | 19 +++++++++++++++++++ test/pdfs/.gitignore | 1 + test/pdfs/issue13316_reduced.pdf | Bin 0 -> 54795 bytes test/test_manifest.json | 6 ++++++ 4 files changed, 26 insertions(+) create mode 100644 test/pdfs/issue13316_reduced.pdf diff --git a/src/core/fonts.js b/src/core/fonts.js index ca2c01179..aa40dbcaa 100644 --- a/src/core/fonts.js +++ b/src/core/fonts.js @@ -2651,6 +2651,25 @@ class Font { unicodeOrCharCode = MacRomanEncoding.indexOf(standardGlyphName); } + if (unicodeOrCharCode === undefined) { + // Not a valid glyph name, fallback to using the /ToUnicode map + // when no post-table exists (fixes issue13316_reduced.pdf). + if ( + !properties.glyphNames && + properties.hasIncludedToUnicodeMap && + !(this.toUnicode instanceof IdentityToUnicodeMap) + ) { + const unicode = this.toUnicode.get(charCode); + if (unicode) { + unicodeOrCharCode = unicode.codePointAt(0); + } + } + + if (unicodeOrCharCode === undefined) { + continue; // No valid glyph mapping found. + } + } + for (let i = 0; i < cmapMappingsLength; ++i) { if (cmapMappings[i].charCode !== unicodeOrCharCode) { continue; diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index bc9a1dd8e..ee07ee273 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -240,6 +240,7 @@ !issue4304.pdf !issue4379.pdf !issue4550.pdf +!issue13316_reduced.pdf !issue4575.pdf !bug1011159.pdf !issue5734.pdf diff --git a/test/pdfs/issue13316_reduced.pdf b/test/pdfs/issue13316_reduced.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2ebbd1a5ed55a0ae8e2fc388ce1b42f236ce711c GIT binary patch literal 54795 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 literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index 1cf730d01..17dc5893b 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -4321,6 +4321,12 @@ "lastPage": 4, "type": "load" }, + { "id": "issue13316", + "file": "pdfs/issue13316_reduced.pdf", + "md5": "f5821891cee29d8de8b65e1efd6f4ceb", + "rounds": 1, + "type": "eq" + }, { "id": "issue10519", "file": "pdfs/issue10519_reduced.pdf", "md5": "8a2dae43c0ef47b0734bedaaa24f8c09",