Skip to content

Commit

Permalink
Merge pull request mozilla#5756 from Snuffleupagus/issue-5751
Browse files Browse the repository at this point in the history
Guess CIDFontType0 subtype based on font file contents (issue 5751)
  • Loading branch information
timvandermeij committed Apr 24, 2015
2 parents 71ab5e5 + e894a0a commit 48b2f6d
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 0 deletions.
18 changes: 18 additions & 0 deletions src/core/fonts.js
Original file line number Diff line number Diff line change
Expand Up @@ -2575,6 +2575,10 @@ var Font = (function FontClosure() {
if (subtype === 'OpenType') {
type = 'OpenType';
}
// Some CIDFontType0C fonts by mistake claim CIDFontType0.
if (type === 'CIDFontType0') {
subtype = isType1File(file) ? 'CIDFontType0' : 'CIDFontType0C';
}

var data;
switch (type) {
Expand Down Expand Up @@ -2655,6 +2659,20 @@ var Font = (function FontClosure() {
return readUint32(header, 0) === 0x00010000;
}

function isType1File(file) {
var header = file.peekBytes(2);
// All Type1 font programs must begin with the comment '%!' (0x25 + 0x21).
if (header[0] === 0x25 && header[1] === 0x21) {
return true;
}
// ... obviously some fonts violate that part of the specification,
// please refer to the comment in |Type1Font| below.
if (header[0] === 0x80 && header[1] === 0x01) { // pfb file header.
return true;
}
return false;
}

/**
* Helper function for |adjustMapping|.
* @return {boolean}
Expand Down
1 change: 1 addition & 0 deletions test/pdfs/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
!bug868745.pdf
!mmtype1.pdf
!issue5704.pdf
!issue5751.pdf
!bug893730.pdf
!bug864847.pdf
!issue1002.pdf
Expand Down
Binary file added test/pdfs/issue5751.pdf
Binary file not shown.
7 changes: 7 additions & 0 deletions test/test_manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -1128,6 +1128,13 @@
"link": true,
"type": "eq"
},
{ "id": "issue5751",
"file": "pdfs/issue5751.pdf",
"md5": "9334a52dc85747f1e3422767e0cd3ee9",
"rounds": 1,
"link": false,
"type": "eq"
},
{ "id": "bug867484",
"file": "pdfs/bug867484.pdf",
"md5": "347af7b0ef7279b1a7f43b03bfda4548",
Expand Down

0 comments on commit 48b2f6d

Please sign in to comment.