From: notmasteryet Date: Thu, 8 Dec 2011 03:38:34 +0000 (-0600) Subject: remove glyph references outside range of avaialable glyphs X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=fa18c8022e03cfaf63266dd8269aded038ea9f17;p=pdf.js.git remove glyph references outside range of avaialable glyphs --- diff --git a/src/fonts.js b/src/fonts.js index 1a4366c..7d350eb 100644 --- a/src/fonts.js +++ b/src/fonts.js @@ -1785,6 +1785,12 @@ var Font = (function Font() { } properties.hasShortCmap = hasShortCmap; + // remove glyph references outside range of avaialable glyphs + for (var i = 0, ii = ids.length; i < ii; i++) { + if (ids[i] >= numGlyphs) + ids[i] = 0; + } + createGlyphNameMap(glyphs, ids, properties); this.glyphNameMap = properties.glyphNameMap; diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 325987d..7a36acd 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -17,3 +17,4 @@ !devicen.pdf !cmykjpeg.pdf !issue840.pdf +!freeculture.pdf diff --git a/test/pdfs/freeculture.pdf b/test/pdfs/freeculture.pdf new file mode 100644 index 0000000..8b27e93 Binary files /dev/null and b/test/pdfs/freeculture.pdf differ diff --git a/test/test_manifest.json b/test/test_manifest.json index bd50068..2750803 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -87,6 +87,13 @@ "rounds": 1, "type": "eq" }, + { "id": "freeculture", + "file": "pdfs/freeculture.pdf", + "md5": "dcdf3a8268e6a18938a42d5149efcfca", + "rounds": 1, + "pageLimit": 5, + "type": "eq" + }, { "id": "wnv_chinese-pdf", "file": "pdfs/wnv_chinese.pdf", "md5": "db682638e68391125e8982d3c984841e",