From: Yury Delendik Date: Mon, 9 Jul 2012 17:13:03 +0000 (-0500) Subject: Adds lossless segment types; fixes generic region prediction flag X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=f9f715b656059b2e43b2fe34bedb9bd28b8a0dff;p=pdf.js.git Adds lossless segment types; fixes generic region prediction flag --- diff --git a/src/jbig2.js b/src/jbig2.js index 239b9fe..4746a6b 100644 --- a/src/jbig2.js +++ b/src/jbig2.js @@ -795,6 +795,7 @@ var Jbig2Image = (function Jbig2ImageClosure() { data, position, end]; break; case 6: // ImmediateTextRegion + case 7: // ImmediateLosslessTextRegion var textRegion = {}; textRegion.info = readRegionSegmentInformation(data, position); position += RegionSegmentInformationFieldLength; @@ -841,13 +842,14 @@ var Jbig2Image = (function Jbig2ImageClosure() { args = [textRegion, header.referredTo, data, position, end]; break; case 38: // ImmediateGenericRegion + case 39: // ImmediateLosslessGenericRegion var genericRegion = {}; genericRegion.info = readRegionSegmentInformation(data, position); position += RegionSegmentInformationFieldLength; var genericRegionSegmentFlags = data[position++]; genericRegion.mmr = !!(genericRegionSegmentFlags & 1); genericRegion.template = (genericRegionSegmentFlags >> 1) & 3; - genericRegion.prediction = !!(genericRegionSegmentFlags & 4); + genericRegion.prediction = !!(genericRegionSegmentFlags & 8); if (!genericRegion.mmr) { var atLength = genericRegion.template == 0 ? 4 : 1; var at = []; @@ -988,6 +990,10 @@ var Jbig2Image = (function Jbig2ImageClosure() { region.at, decodingContext); this.drawBitmap(regionInfo, bitmap); }, + onImmediateLosslessGenericRegion: + function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() { + this.onImmediateGenericRegion.apply(this, arguments); + }, onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, @@ -1036,6 +1042,10 @@ var Jbig2Image = (function Jbig2ImageClosure() { region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext); this.drawBitmap(regionInfo, bitmap); + }, + onImmediateLosslessTextRegion: + function SimpleSegmentVisitor_onImmediateLosslessTextRegion() { + this.onImmediateTextRegion.apply(this, arguments); } };