diff --git a/src/core/cff_parser.js b/src/core/cff_parser.js index 2e2b811e4..a6c7bae35 100644 --- a/src/core/cff_parser.js +++ b/src/core/cff_parser.js @@ -1556,7 +1556,9 @@ class CFFCompiler { } compileHeader(header) { - return [header.major, header.minor, header.hdrSize, header.offSize]; + // `header.hdrSize` can be any value but we only write 4 values + // so header size is 4 (prevents OTS from rejecting the font). + return [header.major, header.minor, 4, header.offSize]; } compileNameIndex(names) { diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 36e62e5e3..12f5eb3ff 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -337,6 +337,7 @@ !issue4573.pdf !issue4722.pdf !issue4800.pdf +!issue13147.pdf !issue11477_reduced.pdf !text_clip_cff_cid.pdf !issue4801.pdf diff --git a/test/pdfs/issue13147.pdf b/test/pdfs/issue13147.pdf new file mode 100644 index 000000000..cbc9cef93 Binary files /dev/null and b/test/pdfs/issue13147.pdf differ diff --git a/test/test_manifest.json b/test/test_manifest.json index 42c000b8f..fd9a72678 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -653,6 +653,12 @@ "link": false, "type": "text" }, + { "id": "issue13147", + "file": "pdfs/issue13147.pdf", + "md5": "83db23f29b5e1a80d31d5069299e29cc", + "rounds": 1, + "type": "eq" + }, { "id": "fit11-talk", "file": "pdfs/fit11-talk.pdf", "md5": "eb7b224107205db4fea9f7df0185f77d",