HP PCL/PJL reference (PCL 5 Color) - Technical Reference Manual
6-28 Raster Graphics EN
?*r1A – The start raster graphics command initializes the seed row 
to all zeros.
Row 1 – 
?*b3m2W(00000001)(11111111)
The 3m selects the delta row compression method and the 2W 
indicates 2 bytes of data to follow. The first three bits of the first data 
byte, the command byte, signify a single byte replacement (all three 
bits are 0). The next five bits indicate an offset of 1 byte from the 
current position. The replacement byte follows and contains 
11111111.
Row 2 – 
?*b2W(00000010)(11110000)
The first three bits of the command byte indicate that one byte will be 
replaced, and the next five bits indicate a relative offset of 2, so the 
replacement will occur 2 bytes from the current position. The 
replacement byte follows and contains 11110000.
Row 3 – 
?*b5W(00000000)(00001111)(00100010)
(10101010)(10101010)
As in the other rows, the first three bits of the command byte are zero, 
indicating a single byte replacement. The five offset bytes indicate a 
relative offset of zero bytes. The replacement byte follows and is 
00001111. The third byte is another command byte and the first three 
bits signify the replacement of two bytes (the top three bits are 001). 
The offset bits indicate an offset of two bytes from the current 
position. The fourth and fifth bytes are the two replacement bytes.
Adaptive Compression (Method 5)
Adaptive compression enables the combined use of any of the four 
previous compression methods (0 through 3), and it includes the 
ability to print empty (all zeros) rows or to duplicate rows.
Adaptive compression interprets a raster image as a block of raster 
data rather than as individual rows. The result of this interpretation is 
that the Transfer Raster Data (
?*b#W) command is sent only once at 
the beginning of a raster data transfer, and the value field (#) identifies 
the number of bytes in the block of rows. For the other compression 
methods, the Transfer Raster Data command is sent at the beginning 
of each row and the value field (#) identifies the number of bytes for 
that row only.
Row 3 00001111 11111111 11110000 10101010 10101010










