in src/main/java/org/apache/pdfbox/jbig2/segments/TextRegion.java [637:688]
private final Bitmap decodeIb(long r, long id)
throws IOException, InvalidHeaderValueException, IntegerMaxValueException
{
Bitmap ib;
if (r == 0)
{
ib = symbols.get((int) id);
}
else
{
/* 1) - 4) */
final long rdw = decodeRdw();
final long rdh = decodeRdh();
final long rdx = decodeRdx();
final long rdy = decodeRdy();
/* 5) */
/* long symInRefSize = 0; */
if (isHuffmanEncoded)
{
/* symInRefSize = */decodeSymInRefSize();
subInputStream.skipBits();
}
/* 6) */
final Bitmap ibo = symbols.get((int) id);
final int wo = ibo.getWidth();
final int ho = ibo.getHeight();
final int genericRegionReferenceDX = (int) ((rdw >> 1) + rdx);
final int genericRegionReferenceDY = (int) ((rdh >> 1) + rdy);
if (genericRefinementRegion == null)
{
genericRefinementRegion = new GenericRefinementRegion(subInputStream);
}
genericRefinementRegion.setParameters(cx, arithmeticDecoder, sbrTemplate,
(int) (wo + rdw), (int) (ho + rdh), ibo, genericRegionReferenceDX,
genericRegionReferenceDY, false, sbrATX, sbrATY);
ib = genericRefinementRegion.getRegionBitmap();
/* 7 */
if (isHuffmanEncoded)
{
subInputStream.skipBits();
}
}
return ib;
}