From cdc79a4721d0b3c347f8fd3941de7ef4857526e1 Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Wed, 5 Apr 2017 15:16:48 -0700 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20skip=20glyph=200=20in=20cmap.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/fonts.js | 3 --- test/pdfs/issue8234.pdf | Bin 0 -> 13704 bytes test/test_manifest.json | 6 ++++++ 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 test/pdfs/issue8234.pdf diff --git a/src/core/fonts.js b/src/core/fonts.js index f5722983f..a0e8a5eea 100644 --- a/src/core/fonts.js +++ b/src/core/fonts.js @@ -1474,9 +1474,6 @@ var Font = (function FontClosure() { glyphId = (offsetIndex < 0 ? j : offsets[offsetIndex + j - start]); glyphId = (glyphId + delta) & 0xFFFF; - if (glyphId === 0) { - continue; - } mappings.push({ charCode: j, glyphId: glyphId diff --git a/test/pdfs/issue8234.pdf b/test/pdfs/issue8234.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3494d6140f0a1a3f66a9e25fb721c4f5501872eb GIT binary patch literal 13704 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 literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index bf7aee0bd..4972c2204 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -1243,6 +1243,12 @@ "rounds": 1, "type": "eq" }, + { "id": "issue8234", + "file": "pdfs/issue8234.pdf", + "md5": "32650fc60c51a9813b98bc9876dc15af", + "rounds": 1, + "type": "eq" + }, { "id": "type4psfunc", "file": "pdfs/type4psfunc.pdf", "md5": "7e6027a02ff78577f74dccdf84e37189",