Fix invalid XUID
entries in CFF fonts
In CFF fonts, entry `XUID` should be an array that has no more than 16 elements. In the issue, the length is 20, which causes the fonts to fail. See Appendix B, "Implementation Limits" in PostScript Language Reference Manual https://web.archive.org/web/20170218093716/https://www.adobe.com/products/postscript/pdfs/PLRM.pdf Actually entries `XUID` and `UniqueID` are obsolete altogether. https://blogs.adobe.com/CCJKType/2016/06/no-more-xuid-arrays.html
This commit is contained in:
parent
b3e32e2001
commit
935568c2f1
@ -1407,6 +1407,12 @@ class CFFCompiler {
|
||||
}
|
||||
}
|
||||
|
||||
const xuid = cff.topDict.getByName("XUID");
|
||||
if (xuid && xuid.length > 16) {
|
||||
// Length of XUID array must not be greater than 16 (issue #12399).
|
||||
cff.topDict.removeByName("XUID");
|
||||
}
|
||||
|
||||
cff.topDict.setByName("charset", 0);
|
||||
var compiled = this.compileTopDicts(
|
||||
[cff.topDict],
|
||||
|
1
test/pdfs/.gitignore
vendored
1
test/pdfs/.gitignore
vendored
@ -169,6 +169,7 @@
|
||||
!issue5202.pdf
|
||||
!images_1bit_grayscale.pdf
|
||||
!issue5280.pdf
|
||||
!issue12399_reduced.pdf
|
||||
!issue5677.pdf
|
||||
!issue5954.pdf
|
||||
!issue6612.pdf
|
||||
|
BIN
test/pdfs/issue12399_reduced.pdf
Normal file
BIN
test/pdfs/issue12399_reduced.pdf
Normal file
Binary file not shown.
@ -1914,6 +1914,12 @@
|
||||
"type": "eq",
|
||||
"about": "Please note that this file currently renders incorrectly."
|
||||
},
|
||||
{ "id": "issue12399",
|
||||
"file": "pdfs/issue12399_reduced.pdf",
|
||||
"md5": "01bdd258be93e10f8399708eecedbfd6",
|
||||
"rounds": 1,
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "issue5808-text",
|
||||
"file": "pdfs/issue5808.pdf",
|
||||
"md5": "e0584dd540d7859d6c191aa53379692e",
|
||||
|
Loading…
Reference in New Issue
Block a user