From 8a6c1639f5402e418de566a0dfe5e8d47bc36c7f Mon Sep 17 00:00:00 2001 From: jazzchipc Date: Sun, 4 Dec 2016 19:44:12 +0000 Subject: [PATCH] Fixes issue #6071 Corrects readBlockTiff() case for 1-bit depth TIFF images incorporated in the PDF. Corrected sintaxe according to style guide. --- src/core/stream.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/core/stream.js b/src/core/stream.js index 9d8f148502d13e..b64d508f034a31 100644 --- a/src/core/stream.js +++ b/src/core/stream.js @@ -740,14 +740,15 @@ var PredictorStream = (function PredictorStreamClosure() { var i; if (bits === 1) { + var complement = 0; + var bitOrder = 0; for (i = 0; i < rowBytes; ++i) { - var c = rawBytes[i]; - inbuf = (inbuf << 8) | c; - // bitwise addition is exclusive or - // first shift inbuf and then add - buffer[pos++] = (c ^ (inbuf >> colors)) & 0xFF; - // truncate inbuf (assumes colors < 16) - inbuf &= 0xFFFF; + inbuf = (inbuf << 8) | (rawBytes[i] & 0xFF); + for (bitOrder = 7; bitOrder >= 0; --bitOrder) { + complement = (complement + (inbuf >> bitOrder)) & 0x1; + outbuf = (outbuf << 1) | complement; + } + buffer[pos++] = (outbuf & 0xFF); } } else if (bits === 8) { for (i = 0; i < colors; ++i) {