From 61e467a969ae3b811241a9dfda11b7da9d202518 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Mon, 22 Sep 2014 16:23:58 -0500 Subject: [PATCH] PDF.js version 1.0.224 --- bower.json | 2 +- build/pdf.combined.js | 27 +++++++++++++++++++++++---- build/pdf.js | 4 ++-- build/pdf.worker.js | 27 +++++++++++++++++++++++---- package.json | 2 +- 5 files changed, 50 insertions(+), 12 deletions(-) diff --git a/bower.json b/bower.json index df27936d6..a1a0f0493 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "pdfjs-dist", - "version": "1.0.221", + "version": "1.0.224", "keywords": [ "Mozilla", "pdf", diff --git a/build/pdf.combined.js b/build/pdf.combined.js index 9dcba2d3c..b0fbfb0e1 100644 --- a/build/pdf.combined.js +++ b/build/pdf.combined.js @@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { (typeof window !== 'undefined' ? window : this).PDFJS = {}; } -PDFJS.version = '1.0.221'; -PDFJS.build = 'b7d8296'; +PDFJS.version = '1.0.224'; +PDFJS.build = '5cd6483'; (function pdfjsWrapper() { // Use strict in our context only - users might not want it @@ -8902,6 +8902,10 @@ var ChunkedStream = (function ChunkedStreamClosure() { return this.end - this.start; }, + get isEmpty() { + return this.length === 0; + }, + getByte: function ChunkedStream_getByte() { var pos = this.pos; if (pos >= this.end) { @@ -25332,7 +25336,13 @@ var Font = (function FontClosure() { this.defaultVMetrics = properties.defaultVMetrics; } - if (!file) { + if (!file || file.isEmpty) { + if (file) { + // Some bad PDF generators will include empty font files, + // attempting to recover by assuming that no file exists. + warn('Font file is empty in "' + name + '" (' + this.loadedName + ')'); + } + this.missingFile = true; // The file data is not specified. Trying to fix the font name // to be used with the canvas.font. @@ -39647,6 +39657,9 @@ var Stream = (function StreamClosure() { get length() { return this.end - this.start; }, + get isEmpty() { + return this.length === 0; + }, getByte: function Stream_getByte() { if (this.pos >= this.end) { return -1; @@ -39740,6 +39753,12 @@ var DecodeStream = (function DecodeStreamClosure() { } DecodeStream.prototype = { + get isEmpty() { + while (!this.eof && this.bufferLength === 0) { + this.readBlock(); + } + return this.bufferLength === 0; + }, ensureBuffer: function DecodeStream_ensureBuffer(requested) { var buffer = this.buffer; var current; @@ -39825,7 +39844,7 @@ var DecodeStream = (function DecodeStreamClosure() { } return new Stream(this.buffer, start, length, dict); }, - skip: function Stream_skip(n) { + skip: function DecodeStream_skip(n) { if (!n) { n = 1; } diff --git a/build/pdf.js b/build/pdf.js index 3ac9d645e..f0842d23d 100644 --- a/build/pdf.js +++ b/build/pdf.js @@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { (typeof window !== 'undefined' ? window : this).PDFJS = {}; } -PDFJS.version = '1.0.221'; -PDFJS.build = 'b7d8296'; +PDFJS.version = '1.0.224'; +PDFJS.build = '5cd6483'; (function pdfjsWrapper() { // Use strict in our context only - users might not want it diff --git a/build/pdf.worker.js b/build/pdf.worker.js index 721dc4300..93c9e3482 100644 --- a/build/pdf.worker.js +++ b/build/pdf.worker.js @@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { (typeof window !== 'undefined' ? window : this).PDFJS = {}; } -PDFJS.version = '1.0.221'; -PDFJS.build = 'b7d8296'; +PDFJS.version = '1.0.224'; +PDFJS.build = '5cd6483'; (function pdfjsWrapper() { // Use strict in our context only - users might not want it @@ -4309,6 +4309,10 @@ var ChunkedStream = (function ChunkedStreamClosure() { return this.end - this.start; }, + get isEmpty() { + return this.length === 0; + }, + getByte: function ChunkedStream_getByte() { var pos = this.pos; if (pos >= this.end) { @@ -20739,7 +20743,13 @@ var Font = (function FontClosure() { this.defaultVMetrics = properties.defaultVMetrics; } - if (!file) { + if (!file || file.isEmpty) { + if (file) { + // Some bad PDF generators will include empty font files, + // attempting to recover by assuming that no file exists. + warn('Font file is empty in "' + name + '" (' + this.loadedName + ')'); + } + this.missingFile = true; // The file data is not specified. Trying to fix the font name // to be used with the canvas.font. @@ -35054,6 +35064,9 @@ var Stream = (function StreamClosure() { get length() { return this.end - this.start; }, + get isEmpty() { + return this.length === 0; + }, getByte: function Stream_getByte() { if (this.pos >= this.end) { return -1; @@ -35147,6 +35160,12 @@ var DecodeStream = (function DecodeStreamClosure() { } DecodeStream.prototype = { + get isEmpty() { + while (!this.eof && this.bufferLength === 0) { + this.readBlock(); + } + return this.bufferLength === 0; + }, ensureBuffer: function DecodeStream_ensureBuffer(requested) { var buffer = this.buffer; var current; @@ -35232,7 +35251,7 @@ var DecodeStream = (function DecodeStreamClosure() { } return new Stream(this.buffer, start, length, dict); }, - skip: function Stream_skip(n) { + skip: function DecodeStream_skip(n) { if (!n) { n = 1; } diff --git a/package.json b/package.json index 1cd22cc3f..4dfb68bbc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pdfjs-dist", - "version": "1.0.221", + "version": "1.0.224", "description": "Generic build of Mozilla's PDF.js library.", "keywords": [ "Mozilla",