Optimizing print quality
Device-dependent operators
Some PostScript operators result in device-dependent PostScript files. “Device dependence” means that devices having different output characteristics may produce different-looking output even though they use the same software. This section documents the most serious examples of device dependence. The PostScript Language Reference Manual, second edition, lists all of the graphics state operators that are considered device-dependent.
Gray shading—setscreen and setcolorscreen
The PostScript operators setscreen and setcolorscreen control the PostScript halftone software that simulates various intensity levels of gray and color inks. Since each PostScript product may have a different default halftone definition, the halftone patterns and gray scale range may differ also. Because setscreen is inherently device dependent (especially when used for pattern fills), PostScript masters look different on almost every different model of PostScript printer.
The operators are also used to perform pattern fills, since PostScript Level 1 does not have a pattern fill operator. (PostScript Level 2 has pattern fill operators.) As stated in the PostScript Language Reference Manual, first edition, “Remember that everything pertaining to halftones is, by definition, device-dependent. In general, when an application provides its own halftone specifications, it sacrifices portability. Associated with every device is a default halftone definition that is appropriate for most applications.”
In addition to the device-dependent nature of halftoning, a spot function is used by setscreen and setcolorscreen to determine the order of pixel darkening in the halftone cell. When two pixels have the same spot function value, their ordering values are determined arbitrarily. Duplicate spot function values are very common. In fact, almost all the various default spot functions generate duplicate values. Therefore, different PostScript implementations yield different halftone patterns, resulting in visual differences in the output.