in src/main/java/org/apache/pdfbox/jbig2/segments/GenericRegion.java [785:887]
private int overrideAtTemplate0b(int context, final int x, final int y, final int result,
final int minorX, final int toShift) throws IOException
{
if (gbAtOverride[0])
{
context &= 0xfffd;
if (gbAtY[0] == 0 && gbAtX[0] >= -minorX)
context |= (result >> (toShift - gbAtX[0]) & 0x1) << 1;
else
context |= getPixel(x + gbAtX[0], y + gbAtY[0]) << 1;
}
if (gbAtOverride[1])
{
context &= 0xdfff;
if (gbAtY[1] == 0 && gbAtX[1] >= -minorX)
context |= (result >> (toShift - gbAtX[1]) & 0x1) << 13;
else
context |= getPixel(x + gbAtX[1], y + gbAtY[1]) << 13;
}
if (gbAtOverride[2])
{
context &= 0xfdff;
if (gbAtY[2] == 0 && gbAtX[2] >= -minorX)
context |= (result >> (toShift - gbAtX[2]) & 0x1) << 9;
else
context |= getPixel(x + gbAtX[2], y + gbAtY[2]) << 9;
}
if (gbAtOverride[3])
{
context &= 0xbfff;
if (gbAtY[3] == 0 && gbAtX[3] >= -minorX)
context |= (result >> (toShift - gbAtX[3]) & 0x1) << 14;
else
context |= getPixel(x + gbAtX[3], y + gbAtY[3]) << 14;
}
if (gbAtOverride[4])
{
context &= 0xefff;
if (gbAtY[4] == 0 && gbAtX[4] >= -minorX)
context |= (result >> (toShift - gbAtX[4]) & 0x1) << 12;
else
context |= getPixel(x + gbAtX[4], y + gbAtY[4]) << 12;
}
if (gbAtOverride[5])
{
context &= 0xffdf;
if (gbAtY[5] == 0 && gbAtX[5] >= -minorX)
context |= (result >> (toShift - gbAtX[5]) & 0x1) << 5;
else
context |= getPixel(x + gbAtX[5], y + gbAtY[5]) << 5;
}
if (gbAtOverride[6])
{
context &= 0xfffb;
if (gbAtY[6] == 0 && gbAtX[6] >= -minorX)
context |= (result >> (toShift - gbAtX[6]) & 0x1) << 2;
else
context |= getPixel(x + gbAtX[6], y + gbAtY[6]) << 2;
}
if (gbAtOverride[7])
{
context &= 0xfff7;
if (gbAtY[7] == 0 && gbAtX[7] >= -minorX)
context |= (result >> (toShift - gbAtX[7]) & 0x1) << 3;
else
context |= getPixel(x + gbAtX[7], y + gbAtY[7]) << 3;
}
if (gbAtOverride[8])
{
context &= 0xf7ff;
if (gbAtY[8] == 0 && gbAtX[8] >= -minorX)
context |= (result >> (toShift - gbAtX[8]) & 0x1) << 11;
else
context |= getPixel(x + gbAtX[8], y + gbAtY[8]) << 11;
}
if (gbAtOverride[9])
{
context &= 0xffef;
if (gbAtY[9] == 0 && gbAtX[9] >= -minorX)
context |= (result >> (toShift - gbAtX[9]) & 0x1) << 4;
else
context |= getPixel(x + gbAtX[9], y + gbAtY[9]) << 4;
}
if (gbAtOverride[10])
{
context &= 0x7fff;
if (gbAtY[10] == 0 && gbAtX[10] >= -minorX)
context |= (result >> (toShift - gbAtX[10]) & 0x1) << 15;
else
context |= getPixel(x + gbAtX[10], y + gbAtY[10]) << 15;
}
if (gbAtOverride[11])
{
context &= 0xfdff;
if (gbAtY[11] == 0 && gbAtX[11] >= -minorX)
context |= (result >> (toShift - gbAtX[11]) & 0x1) << 10;
else
context |= getPixel(x + gbAtX[11], y + gbAtY[11]) << 10;
}
return context;
}