From 9b51cea72482a8ffcc9b17cff79b8edeff6a3cf0 Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Wed, 13 Dec 2017 18:10:14 -0600 Subject: [PATCH] Fix loca table when offsets aren't in ascending order. --- src/core/fonts.js | 5 +++++ test/pdfs/.gitignore | 1 + test/pdfs/issue7074_reduced.pdf | Bin 0 -> 33952 bytes test/test_manifest.json | 6 ++++++ 4 files changed, 12 insertions(+) create mode 100644 test/pdfs/issue7074_reduced.pdf diff --git a/src/core/fonts.js b/src/core/fonts.js index 97f387bcf..15f41cdff 100644 --- a/src/core/fonts.js +++ b/src/core/fonts.js @@ -1759,6 +1759,11 @@ var Font = (function FontClosure() { var locaCount = dupFirstEntry ? numGlyphs - 1 : numGlyphs; for (i = 0, j = itemSize; i < locaCount; i++, j += itemSize) { var endOffset = itemDecode(locaData, j); + // The spec says the offsets should be in ascending order, however + // some fonts use the offset of 0 to mark a glyph as missing. + if (endOffset === 0) { + endOffset = startOffset; + } if (endOffset > oldGlyfDataLength && ((oldGlyfDataLength + 3) & ~3) === endOffset) { // Aspose breaks fonts by aligning the glyphs to the qword, but not diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index da8d0c29e..6ec4eeb40 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -114,6 +114,7 @@ !issue6541.pdf !issue2948.pdf !issue6231_1.pdf +!issue7074_reduced.pdf !issue6413.pdf !issue4630.pdf !issue4909.pdf diff --git a/test/pdfs/issue7074_reduced.pdf b/test/pdfs/issue7074_reduced.pdf new file mode 100644 index 0000000000000000000000000000000000000000..64e0c72fea0938072caf20677f00eb1ed265c397 GIT binary patch literal 33952 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 Ww|8{4H!_Byr)Pm7ArY1pf%$(#z5!MM literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index 2788419a5..8c8a85eea 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -2715,6 +2715,12 @@ "rounds": 1, "type": "load" }, + { "id": "issue7074_reduced", + "file": "pdfs/issue7074_reduced.pdf", + "md5": "46893f8aa33620a05acdc27e3b79469d", + "rounds": 1, + "type": "eq" + }, { "id": "issue5540", "file": "pdfs/issue5540.pdf", "md5": "12b69b19e366232422812ad8b2534f37",