Merge pull request #4511 from prometheansacrifice/parsing-goodytwoshoes-pdf
Fix for #3181: jbig2 encoding for number of instances greater than 1
This commit is contained in:
commit
9a36184dfa
@ -445,16 +445,28 @@ var Jbig2Image = (function Jbig2ImageClosure() {
|
|||||||
// 6.5.8.2 Refinement/aggregate-coded symbol bitmap
|
// 6.5.8.2 Refinement/aggregate-coded symbol bitmap
|
||||||
var numberOfInstances = decodeInteger(contextCache, 'IAAI', decoder);
|
var numberOfInstances = decodeInteger(contextCache, 'IAAI', decoder);
|
||||||
if (numberOfInstances > 1) {
|
if (numberOfInstances > 1) {
|
||||||
error('JBIG2 error: number of instances > 1 is not supported');
|
bitmap = decodeTextRegion(huffman, refinement,
|
||||||
}
|
currentWidth, currentHeight, 0,
|
||||||
var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);
|
numberOfInstances, 1, //strip size
|
||||||
var rdx = decodeInteger(contextCache, 'IARDX', decoder); // 6.4.11.3
|
symbols.concat(newSymbols),
|
||||||
var rdy = decodeInteger(contextCache, 'IARDY', decoder); // 6.4.11.4
|
symbolCodeLength,
|
||||||
var symbol = (symbolId < symbols.length ? symbols[symbolId] :
|
0, //transposed
|
||||||
newSymbols[symbolId - symbols.length]);
|
0, //ds offset
|
||||||
bitmap = decodeRefinement(currentWidth, currentHeight,
|
1, //top left 7.4.3.1.1
|
||||||
|
0, //OR operator
|
||||||
|
huffmanTables,
|
||||||
|
refinementTemplateIndex, refinementAt,
|
||||||
|
decodingContext);
|
||||||
|
} else {
|
||||||
|
var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);
|
||||||
|
var rdx = decodeInteger(contextCache, 'IARDX', decoder); // 6.4.11.3
|
||||||
|
var rdy = decodeInteger(contextCache, 'IARDY', decoder); // 6.4.11.4
|
||||||
|
var symbol = (symbolId < symbols.length ? symbols[symbolId] :
|
||||||
|
newSymbols[symbolId - symbols.length]);
|
||||||
|
bitmap = decodeRefinement(currentWidth, currentHeight,
|
||||||
refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt,
|
refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt,
|
||||||
decodingContext);
|
decodingContext);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// 6.5.8.1 Direct-coded symbol bitmap
|
// 6.5.8.1 Direct-coded symbol bitmap
|
||||||
bitmap = decodeBitmap(false, currentWidth, currentHeight,
|
bitmap = decodeBitmap(false, currentWidth, currentHeight,
|
||||||
|
Loading…
Reference in New Issue
Block a user