diff --git a/src/core/jbig2.js b/src/core/jbig2.js index 22d8c91a1..945c382af 100755 --- a/src/core/jbig2.js +++ b/src/core/jbig2.js @@ -938,34 +938,42 @@ var Jbig2Image = (function Jbig2ImageClosure() { var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator; var buffer = this.buffer; - for (var i = 0; i < height; i++) { - var mask = 128 >> (regionInfo.x & 7); - var offset = (i + regionInfo.y) * rowSize + (regionInfo.x >> 3); - switch (combinationOperator) { - case 0: // OR + switch (combinationOperator) { + case 0: // OR + for (var i = 0; i < height; i++) { + var mask = 128 >> (regionInfo.x & 7); + var offset = (i + regionInfo.y) * rowSize + (regionInfo.x >> 3); for (var j = 0; j < width; j++) { - buffer[offset] |= bitmap[i][j] ? mask : 0; + if (bitmap[i][j]) { + buffer[offset] |= mask; + } mask >>= 1; if (!mask) { mask = 128; offset++; } } - break; - case 2: // XOR + } + break; + case 2: // XOR + for (var i = 0; i < height; i++) { + var mask = 128 >> (regionInfo.x & 7); + var offset = (i + regionInfo.y) * rowSize + (regionInfo.x >> 3); for (var j = 0; j < width; j++) { - buffer[offset] ^= bitmap[i][j] ? mask : 0; + if (bitmap[i][j]) { + buffer[offset] ^= mask; + } mask >>= 1; if (!mask) { mask = 128; offset++; } } - break; - default: - error('JBIG2 error: operator ' + combinationOperator + - ' is not supported'); - } + } + break; + default: + error('JBIG2 error: operator ' + combinationOperator + + ' is not supported'); } }, onImmediateGenericRegion: