In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common
Options ), pnmtotiffcmyk recognizes the following command line options:
The order of most options is not important, but options for particular conversion algorithms must appear
after the algorithm is selected (-default,-negative). If you don't select an algorithm, pnmtotiffcmyk
assumes -default and the appropriate options (-theta,-gamma,-gammap) can appear anywhere.
-none,-packbits,-lzw,-predictor
Tiff files can be compressed. By default, pnmtotiffcmyk uses LZW decompression, but (apparently) some
readers cannot read this, so you may want to select a different algorithm (-none,-packbits). For LZW
compression, a -predictor value of 2 forces horizontal differencing of scanlines before encoding; a value
of 1 forces no differencing.
-msb2lsb,-lsb2msb
These options control fill order (default is -msb2lsb).
-rowsperstrip
This sets the number of rows in an image strip (data in the Tiff files generated by this program is
stored in strips - each strip is compressed individually). The default gives a strip size of no more
than 8 kb.
-lowdotrange,-highdotrange
These options set tag values that may be useful for printers.
-knormal,-kremove,-konly
These options control the calculation of the CMYK ink levels. They are useful only for testing and
debugging the code.
-kremove sets the black (K) levels to zero while leaving the other ink levels as they would be if the
black level were normal.
-konly sets all inks to the normal black value.
-default,-negative
These options control what ink levels pnmtotiffcmyk uses to represent each input color.
-negative selects a simple algorithm that generates a color negative. None of the following options
apply to this algorithm. The algorithm is included as an example in the source code to help implementors
of other conversions.
-default is not necessary, unless you have to countermand a -negative on the same command line.
The default conversion from RGB to CMYK is as follows: The basic values of the 3 pigments are C = 1-R, M
= 1-G, Y = 1-B. From this, pnmtotiffcmyk chooses a black (K) level which is the minimum of those three.
It then replaces that much of the 3 pigments with the black. I.e. it subtracts K from each of the basic
C, M, and Y values.
The options below modify this conversion.
-thetadeg-theta provides a simple correction for any color bias that may occur in the printed image because, in
practice, inks do not exactly complement the primary colors. It rotates the colors (before black
replacement) by deg degrees in the color wheel. Unless you are trying to produce unusual effects you
will need to use small values. Try generating three images at -10, 0 (the default) and 10 degrees and
see which has the best color balance.
-gamman-gamma applies a gamma correction to the black (K) value described above. Specifically, instead of
calculating the K value as min(C,M,Y), pnmtotiffcmyk raises that value (normalised to the range 0 to 1)
to the nth power. In practice, this means that a value greater than 1 makes the image lighter and a
value less than 1 makes the image darker. The range of allowed values is 0.1 to 10.
-gammapn
This option controls the black replacement.
If you specify -gammap, pnmtotiffcmyk uses the specified gamma value in computing how much ink to remove
from the 3 pigments, but still uses the regular gamma value (-gamma option) to generate the actual amount
of black ink with which to replace it.
Values of n from 0.01 to 10 are valid.
For example, it may be best to only subtract black from the colored inks in the very darkest regions. In
that case, n should be a large value, such as 5.
As a special case, if n is -1, pnmtotiffcmyk does not remove any pigment (but still adds the black ink).
This means dark areas are even darker. Furthermore, when printed, dark areas contain a lot of ink which
can make high contrast areas, like lettering, appear fuzzy. It's hard to see what the utility of this
is.