From 896e390285f69e245161b5dac2e60ac86feb3827 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald <jonas.jenwald@gmail.com> Date: Wed, 6 Jan 2016 02:07:21 +0100 Subject: [PATCH] Check that CIDFontType0 fonts does not actually contain OpenType font files (issue 6782) *This patch follows a similar idea as PR 5756.* The patch is based on the nice debugging done by Brendan in the referenced issue 6782. A better way to handle this, and similar issues, would probably be to completely ignore what the PDF file claims about font type/subtype, and just check the actual data. But until that kind of rewrite happens, this patch should help. Fixes 6782. --- src/core/fonts.js | 14 +++++++++++++- test/pdfs/.gitignore | 1 + test/pdfs/issue6782.pdf | Bin 0 -> 23181 bytes test/test_manifest.json | 7 +++++++ 4 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 test/pdfs/issue6782.pdf diff --git a/src/core/fonts.js b/src/core/fonts.js index 95ee7fdb8..cdb08c74b 100644 --- a/src/core/fonts.js +++ b/src/core/fonts.js @@ -2666,7 +2666,14 @@ var Font = (function FontClosure() { } // Some CIDFontType0C fonts by mistake claim CIDFontType0. if (type === 'CIDFontType0') { - subtype = isType1File(file) ? 'CIDFontType0' : 'CIDFontType0C'; + if (isType1File(file)) { + subtype = 'CIDFontType0'; + } else if (isOpenTypeFile(file)) { + // Sometimes the type/subtype can be a complete lie (see issue6782.pdf). + type = subtype = 'OpenType'; + } else { + subtype = 'CIDFontType0C'; + } } var data; @@ -2750,6 +2757,11 @@ var Font = (function FontClosure() { return readUint32(header, 0) === 0x00010000; } + function isOpenTypeFile(file) { + var header = file.peekBytes(4); + return bytesToString(header) === 'OTTO'; + } + function isType1File(file) { var header = file.peekBytes(2); // All Type1 font programs must begin with the comment '%!' (0x25 + 0x21). diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 74aa95331..e6b2b9c2e 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -14,6 +14,7 @@ !issue5946.pdf !issue5972.pdf !issue5874.pdf +!issue6782.pdf !filled-background.pdf !ArabicCIDTrueType.pdf !ThuluthFeatures.pdf diff --git a/test/pdfs/issue6782.pdf b/test/pdfs/issue6782.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d86458e8953964f8a701b584f99a30f20a1c48e1 GIT binary patch literal 23181 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 MTEWoF=mgJy0O&4$+5i9m literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index 694509251..1a1454483 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -1472,6 +1472,13 @@ "link": false, "type": "eq" }, + { "id": "issue6782", + "file": "pdfs/issue6782.pdf", + "md5": "b423f709600daa5745cc6d8234f7c608", + "rounds": 1, + "link": false, + "type": "eq" + }, { "id": "bug867484", "file": "pdfs/bug867484.pdf", "md5": "347af7b0ef7279b1a7f43b03bfda4548",