From e5d91ab2194addbe4d017a1c9f9c1cd3aeb4a84c Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Tue, 29 Nov 2011 14:50:19 -0800 Subject: [PATCH 1/2] Fix invalid arguments error. --- src/core.js | 15 ++------------- src/evaluator.js | 5 +++++ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/core.js b/src/core.js index 3549eb906..a3485b3e0 100644 --- a/src/core.js +++ b/src/core.js @@ -558,20 +558,9 @@ var PDFDoc = (function pdfDoc() { var properties = data[4]; if (file) { + // Rewrap the ArrayBuffer in a stream. var fontFileDict = new Dict(); - fontFileDict.map = file.dict.map; - - var fontFile = new Stream(file.bytes, file.start, - file.end - file.start, fontFileDict); - - // Check if this is a FlateStream. Otherwise just use the created - // Stream one. This makes complex_ttf_font.pdf work. - var cmf = file.bytes[0]; - if ((cmf & 0x0f) == 0x08) { - file = new FlateStream(fontFile); - } else { - file = fontFile; - } + file = new Stream(file, 0, file.length, fontFileDict); } // For now, resolve the font object here direclty. The real font diff --git a/src/evaluator.js b/src/evaluator.js index 3e687c72d..b6ef4ddfa 100644 --- a/src/evaluator.js +++ b/src/evaluator.js @@ -155,6 +155,11 @@ var PartialEvaluator = (function partialEvaluator() { font.loadedName = loadedName; var translated = font.translated; + // Convert the file to an ArrayBuffer which will be turned back into + // a Stream in the main thread. + if (translated.file) + translated.file = translated.file.getBytes(); + handler.send('obj', [ loadedName, 'Font', From f0bb73e9e8a758f6ed2130aba7caa8b677f3b0ed Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Tue, 29 Nov 2011 15:47:53 -0800 Subject: [PATCH 2/2] Add test case. --- test/pdfs/protectip.pdf.link | 1 + test/test_manifest.json | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 test/pdfs/protectip.pdf.link diff --git a/test/pdfs/protectip.pdf.link b/test/pdfs/protectip.pdf.link new file mode 100644 index 000000000..1af1bd87b --- /dev/null +++ b/test/pdfs/protectip.pdf.link @@ -0,0 +1 @@ +http://leahy.senate.gov/imo/media/doc/BillText-PROTECTIPAct.pdf diff --git a/test/test_manifest.json b/test/test_manifest.json index 87af30659..ef5677f07 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -276,5 +276,12 @@ "link": false, "rounds": 1, "type": "eq" + }, + { "id": "protectip", + "file": "pdfs/protectip.pdf", + "md5": "676e7a7b8f96d04825361832b1838a93", + "link": true, + "rounds": 1, + "type": "eq" } ]