Fallback in readCmapTable
, instead of using error
, for TrueType fonts with unsupported cmap formats (bug 1200096)
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1200096. The problematic font has a `format 2` cmap, which we've never supported properly. Prior to PR 2606, we were able to fallback to a working state, despite not having proper support for that cmap format. Obviously the best/correct solution would be to implement actual support for more cmap formats[1]. However, I'm hoping that a simple patch will be OK for now, given that: - `format 2` cmaps seem to be quite rare in practice, since this has been broken for 2.5 years before anyone noticed. - Having a simple patch will make potential uplifts a lot easier. [1] See the specification at https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6cmap.html
This commit is contained in:
parent
0020f33873
commit
0fb31a4a9e
@ -3390,7 +3390,13 @@ var Font = (function FontClosure() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
error('cmap table has unsupported format: ' + format);
|
warn('cmap table has unsupported format: ' + format);
|
||||||
|
return {
|
||||||
|
platformId: -1,
|
||||||
|
encodingId: -1,
|
||||||
|
mappings: [],
|
||||||
|
hasShortCmap: false
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// removing duplicate entries
|
// removing duplicate entries
|
||||||
|
1
test/pdfs/.gitignore
vendored
1
test/pdfs/.gitignore
vendored
@ -15,6 +15,7 @@
|
|||||||
!arial_unicode_en_cidfont.pdf
|
!arial_unicode_en_cidfont.pdf
|
||||||
!asciihexdecode.pdf
|
!asciihexdecode.pdf
|
||||||
!bug1050040.pdf
|
!bug1050040.pdf
|
||||||
|
!bug1200096.pdf
|
||||||
!canvas.pdf
|
!canvas.pdf
|
||||||
!complex_ttf_font.pdf
|
!complex_ttf_font.pdf
|
||||||
!extgstate.pdf
|
!extgstate.pdf
|
||||||
|
BIN
test/pdfs/bug1200096.pdf
Normal file
BIN
test/pdfs/bug1200096.pdf
Normal file
Binary file not shown.
@ -629,6 +629,13 @@
|
|||||||
"link": false,
|
"link": false,
|
||||||
"type": "eq"
|
"type": "eq"
|
||||||
},
|
},
|
||||||
|
{ "id": "bug1200096",
|
||||||
|
"file": "pdfs/bug1200096.pdf",
|
||||||
|
"md5": "b6bd8df094b5d511c13ed095d2a07515",
|
||||||
|
"rounds": 1,
|
||||||
|
"link": false,
|
||||||
|
"type": "eq"
|
||||||
|
},
|
||||||
{ "id": "hudsonsurvey",
|
{ "id": "hudsonsurvey",
|
||||||
"file": "pdfs/hudsonsurvey.pdf",
|
"file": "pdfs/hudsonsurvey.pdf",
|
||||||
"md5": "bf0e6576a7b6c2fe7485bce1b78e006f",
|
"md5": "bf0e6576a7b6c2fe7485bce1b78e006f",
|
||||||
|
Loading…
Reference in New Issue
Block a user