HP PCL/PJL reference (PCL 5 Printer Language) - Technical Reference Manual Part I
EN Set Compression Method Command 15-27
Adaptive Compression Operation Hints
Note Some HP LaserJet printers perform internal compression techniques
to support full-page graphics. Refer to Chapter 1 of the PCL 5
Comparison Guide for specifics.
z The compression methods cannot be mixed within one raster row.
A raster row must be compressed using only one method.
z The cursor position is updated with each row of the raster block.
The cursor position is also incremented when a block count of
less than 3 is sent.
z A Raster Y-Offset command moves the entire block of raster data
and initializes the seed row to zeros. The seed row is set to zero
even if the y-offset is zero.
z Block size takes precedence over row length. If the row length of
any line exceeds the block size, the row length is truncated to the
block size.
z For duplicate and empty rows a row length value of zero does not
update the cursor, however, the seed row is initialized to zero.
z If an unsupported command byte for a raster row is encountered,
the remaining bytes for the block are skipped, the seed row is
cleared, and the cursor is not incremented.
z For method 1, run length encoded, if the row length is odd, the
cursor is incremented and the row data is skipped (thrown away),
and the seed row is left unchanged.
z For method 1, a row length value of zero increments the cursor
and zero fills the seed row.
z For method 2, TIFF, if row length terminates the data before the
control byte value is satisfied (literal byte count greater than row
length), the data following the control byte (if any) is printed as
text. The cursor is incremented.
z For method 2 - If row length is equal to one, the one byte is
consumed from the I/O and the cursor is incremented. The data
is ignored and the seed row is zeroed.
z For method 3 - delta row compression, within an adaptive
compression block, the seed row is updated by every raster
compression method or type of row. For example, a row
compressed with method 2, TIFF, updates the seed row, while
the effect of an empty row initializes the seed row to zeros.
Maintaining the seed row allows method 3 to be mixed with
other methods to achieve optimal compression performance.