Skip to content

Commit f9f715b

Browse files
committed
Adds lossless segment types; fixes generic region prediction flag
1 parent 164499b commit f9f715b

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/jbig2.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -795,6 +795,7 @@ var Jbig2Image = (function Jbig2ImageClosure() {
795795
data, position, end];
796796
break;
797797
case 6: // ImmediateTextRegion
798+
case 7: // ImmediateLosslessTextRegion
798799
var textRegion = {};
799800
textRegion.info = readRegionSegmentInformation(data, position);
800801
position += RegionSegmentInformationFieldLength;
@@ -841,13 +842,14 @@ var Jbig2Image = (function Jbig2ImageClosure() {
841842
args = [textRegion, header.referredTo, data, position, end];
842843
break;
843844
case 38: // ImmediateGenericRegion
845+
case 39: // ImmediateLosslessGenericRegion
844846
var genericRegion = {};
845847
genericRegion.info = readRegionSegmentInformation(data, position);
846848
position += RegionSegmentInformationFieldLength;
847849
var genericRegionSegmentFlags = data[position++];
848850
genericRegion.mmr = !!(genericRegionSegmentFlags & 1);
849851
genericRegion.template = (genericRegionSegmentFlags >> 1) & 3;
850-
genericRegion.prediction = !!(genericRegionSegmentFlags & 4);
852+
genericRegion.prediction = !!(genericRegionSegmentFlags & 8);
851853
if (!genericRegion.mmr) {
852854
var atLength = genericRegion.template == 0 ? 4 : 1;
853855
var at = [];
@@ -988,6 +990,10 @@ var Jbig2Image = (function Jbig2ImageClosure() {
988990
region.at, decodingContext);
989991
this.drawBitmap(regionInfo, bitmap);
990992
},
993+
onImmediateLosslessGenericRegion:
994+
function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {
995+
this.onImmediateGenericRegion.apply(this, arguments);
996+
},
991997
onSymbolDictionary:
992998
function SimpleSegmentVisitor_onSymbolDictionary(dictionary,
993999
currentSegment,
@@ -1036,6 +1042,10 @@ var Jbig2Image = (function Jbig2ImageClosure() {
10361042
region.referenceCorner, region.combinationOperator, huffmanTables,
10371043
region.refinementTemplate, region.refinementAt, decodingContext);
10381044
this.drawBitmap(regionInfo, bitmap);
1045+
},
1046+
onImmediateLosslessTextRegion:
1047+
function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {
1048+
this.onImmediateTextRegion.apply(this, arguments);
10391049
}
10401050
};
10411051

0 commit comments

Comments
 (0)