From 49c6233fbccee57ec7cd0082964aadeb8570d9a4 Mon Sep 17 00:00:00 2001 From: Jani Pehkonen Date: Tue, 26 Mar 2019 19:38:44 +0200 Subject: [PATCH] Use CMap in Type0 fonts when CFF is not a CID font --- src/core/fonts.js | 6 ++++-- test/pdfs/.gitignore | 1 + test/pdfs/issue9534_reduced.pdf | Bin 0 -> 32585 bytes test/test_manifest.json | 6 ++++++ 4 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 test/pdfs/issue9534_reduced.pdf diff --git a/src/core/fonts.js b/src/core/fonts.js index cbba35ed6..f4d00ae8d 100644 --- a/src/core/fonts.js +++ b/src/core/fonts.js @@ -3438,19 +3438,21 @@ var CFFFont = (function CFFFontClosure() { if (properties.composite) { charCodeToGlyphId = Object.create(null); + let charCode; if (cff.isCIDFont) { // If the font is actually a CID font then we should use the charset // to map CIDs to GIDs. for (glyphId = 0; glyphId < charsets.length; glyphId++) { var cid = charsets[glyphId]; - var charCode = properties.cMap.charCodeOf(cid); + charCode = properties.cMap.charCodeOf(cid); charCodeToGlyphId[charCode] = glyphId; } } else { // If it is NOT actually a CID font then CIDs should be mapped // directly to GIDs. for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) { - charCodeToGlyphId[glyphId] = glyphId; + charCode = properties.cMap.charCodeOf(glyphId); + charCodeToGlyphId[charCode] = glyphId; } } return charCodeToGlyphId; diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 259a95710..bba8eca65 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -241,6 +241,7 @@ !bug1151216.pdf !bug1175962.pdf !bug1020226.pdf +!issue9534_reduced.pdf !basicapi.pdf !issue2884_reduced.pdf !mixedfonts.pdf diff --git a/test/pdfs/issue9534_reduced.pdf b/test/pdfs/issue9534_reduced.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c892e4402c739f032e56af6f7d727932600f443d GIT binary patch literal 32585 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