diff --git a/src/core/fonts.js b/src/core/fonts.js index febbf21c7..d72ed61e8 100644 --- a/src/core/fonts.js +++ b/src/core/fonts.js @@ -1613,7 +1613,19 @@ var Font = (function FontClosure() { } font.pos = (font.start ? font.start : 0) + header.offset; - font.pos += header.length - 2; + font.pos += 4; // version + font.pos += 2; // ascent + font.pos += 2; // descent + font.pos += 2; // linegap + font.pos += 2; // adv_width_max + font.pos += 2; // min_sb1 + font.pos += 2; // min_sb2 + font.pos += 2; // max_extent + font.pos += 2; // caret_slope_rise + font.pos += 2; // caret_slope_run + font.pos += 2; // caret_offset + font.pos += 8; // reserved + font.pos += 2; // format var numOfMetrics = font.getUint16(); if (numOfMetrics > numGlyphs) { diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 152b463af..58c294e31 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -125,6 +125,7 @@ !issue6541.pdf !issue2948.pdf !issue6231_1.pdf +!issue10402.pdf !issue7074_reduced.pdf !issue6413.pdf !issue4630.pdf diff --git a/test/pdfs/issue10402.pdf b/test/pdfs/issue10402.pdf new file mode 100644 index 000000000..f03c3a404 Binary files /dev/null and b/test/pdfs/issue10402.pdf differ diff --git a/test/test_manifest.json b/test/test_manifest.json index 4c78bfcd9..e88746345 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -3429,6 +3429,12 @@ "type": "eq", "about": "True type font with encoding dict with no base encoding but with differences." }, + { "id": "issue10402", + "file": "pdfs/issue10402.pdf", + "md5": "7936bd34d7c0aebd0a864b5aa98aa1b4", + "rounds": 1, + "type": "eq" + }, { "id": "issue3064-text", "file": "pdfs/issue3064.pdf", "md5": "0307415b7d69b13acaf8bd4285d9544b",