From 0b75f63c0300237a9f3176abe76eed08b59b03e6 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Tue, 16 Aug 2016 12:23:53 +0200 Subject: [PATCH] Don't duplicate the first entry in the `charCodeToGlyphId` map for CIDFontType2 fonts with a `CIDToGIDMap` that already mapped the first entry to a non-zero `glyphId` (issue 7544) Fixes 7544. --- src/core/fonts.js | 5 ++++- test/pdfs/.gitignore | 1 + test/pdfs/issue7544.pdf | Bin 0 -> 21143 bytes test/test_manifest.json | 7 +++++++ 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 test/pdfs/issue7544.pdf diff --git a/src/core/fonts.js b/src/core/fonts.js index 2c9ffa94e..ae9ced291 100644 --- a/src/core/fonts.js +++ b/src/core/fonts.js @@ -2377,7 +2377,10 @@ var Font = (function FontClosure() { charCodeToGlyphId[charCode] = glyphId; } }); - if (dupFirstEntry) { + if (dupFirstEntry && (isCidToGidMapEmpty || !charCodeToGlyphId[0])) { + // We don't duplicate the first entry in the `charCodeToGlyphId` map + // if the font has a `CIDToGIDMap` which has already mapped the first + // entry to a non-zero `glyphId` (fixes issue7544.pdf). charCodeToGlyphId[0] = numGlyphs - 1; } } else { diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 06486ca08..2852407f8 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -35,6 +35,7 @@ !issue7439.pdf !issue7446.pdf !issue7492.pdf +!issue7544.pdf !issue7598.pdf !filled-background.pdf !ArabicCIDTrueType.pdf diff --git a/test/pdfs/issue7544.pdf b/test/pdfs/issue7544.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8e030933a80d278a573a304a7fc5279200c33972 GIT binary patch literal 21143 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Π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 literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index 1d27162d4..866c3f540 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -1014,6 +1014,13 @@ "rounds": 1, "type": "eq" }, + { "id": "issue7544", + "file": "pdfs/issue7544.pdf", + "md5": "87e3a9fc7d6a6c1bd5b53af6926ce48e", + "link": false, + "rounds": 1, + "type": "eq" + }, { "id": "protectip", "file": "pdfs/protectip.pdf", "md5": "676e7a7b8f96d04825361832b1838a93",