Check that Type1C fonts does not actually contain OpenType font files (issue 7598)

This patch is yet another instalment in the (never ending) series of patches for PDF files that specify completely incorrect Type/Subtype for its fonts. In this case Type1/Type1C, when in fact OpenType would have been correct.

Fixes 7598.
This commit is contained in:
Jonas Jenwald 2016-09-06 09:56:18 +02:00
parent b26af7ee24
commit 44b75c01a1
4 changed files with 19 additions and 6 deletions

View File

@ -689,13 +689,18 @@ var Font = (function FontClosure() {
}
// Some fonts might use wrong font types for Type1C or CIDFontType0C
if (subtype === 'Type1C' && (type !== 'Type1' && type !== 'MMType1')) {
if (subtype === 'Type1C') {
if (type !== 'Type1' && type !== 'MMType1') {
// Some TrueType fonts by mistake claim Type1C
if (isTrueTypeFile(file)) {
subtype = 'TrueType';
} else {
type = 'Type1';
}
} else if (isOpenTypeFile(file)) {
// Sometimes the type/subtype can be a complete lie (see issue7598.pdf).
type = subtype = 'OpenType';
}
}
if (subtype === 'CIDFontType0C' && type !== 'CIDFontType0') {
type = 'CIDFontType0';

View File

@ -35,6 +35,7 @@
!issue7439.pdf
!issue7446.pdf
!issue7492.pdf
!issue7598.pdf
!filled-background.pdf
!ArabicCIDTrueType.pdf
!ThuluthFeatures.pdf

BIN
test/pdfs/issue7598.pdf Normal file

Binary file not shown.

View File

@ -1795,6 +1795,13 @@
"link": false,
"type": "eq"
},
{ "id": "issue7598",
"file": "pdfs/issue7598.pdf",
"md5": "c5bc5a779bfcb4b234f853231b56cf60",
"rounds": 1,
"link": false,
"type": "eq"
},
{ "id": "issue7439",
"file": "pdfs/issue7439.pdf",
"md5": "56682657990a894c66db26560d3039d7",