PostScript
1-18 Guide to Using Page Description Languages
This is not true when you are connecting an IBM PC to a
LaserWriter over the LaserWriter asynchronous serial
communications (RS232 or RS422). There is no high-level
protocol, such as AppleTalk has, that delimits files, so the
control-D character code (octal 004) was chosen to delimit input
files. The LaserWriter asynchronous software handler strips out
the control-Ds and sends an EOF to the PostScript job server.
This prevents sending binary PostScript jobs (jobs where all byte
codes are valid PostScript data) through the asynchronous serial
communications port. In contrast, the LaserWriter can accept
binary PostScript jobs over AppleTalk since it is data transparent.
Control-Z and superfluous errors
Control-Z is not used by the LaserWriter RS232 asynchronous
serial communications software; yet it often appears at the end
of many PostScript masters and can pose problems.
Control-Zs appear at the end of many PostScript files created
under the Microsoft Disk Operating System (MS-DOS). They
cause errors on a LaserWriter, but this is usually unnoticed
because the control-Z undefined command error occurs after the
last page is printed. In addition, because the default error
handling mode of the LaserWriter is to send the error back to the
creator through the communications port, most users never see
the error. This is not the case for PostScript products that have
been configured to print a break page on every error.
Because the majority of the error messages caused by control-Z
are superfluous, it is recommended that control-Zs used as end-
of-files be ignored.
Solution to control-Z and control-D problems
The recommended solution for the problems induced by control-
D and control-Z is to include the following PostScript definitions.
They can be loaded permanently, or prepended to jobs that have
these problems. These definitions catch illegal uses of these
control characters and also allow the legal uses (binary data) to
pass through untouched.