ps2fax(8) image POSTSCRIPT® for facsimile transmission by HylaFAX


/var/spool/hylafax/bin/ps2fax [ options ] [ files... ]


ps2fax takes POSTSCRIPT input and generates a TIFF Class F image file suitable for facsimile transmission. It is usually invoked by the HylaFAX scheduler process, faxq(8). On Silicon Graphics' IRIX systems, this application is based on Adobe's Display POSTSCRIPT software. On other machines POSTSCRIPT imaging is typically done using the freely available Ghostscript software.

ps2fax is actually a link (symbolic or otherwise) to the script appropriate for the POSTSCRIPT imaging tool. The link is setup when the faxsetup(8) script is run to configure a HylaFAX server machine for use.

Input files containing POSTSCRIPT may be specified on the command line. If none are given, then ps2fax will read from standard input.

By default, ps2fax will generate a 98 line/inch output document whose page width is 1728 pixels and page length is 297 mm (a standard A4 page at low resolution). Horizontal resolution is always 204 dpi. Command line options may be used to select alternate vertical resolution and page dimensions.

If no filename is given, ps2fax writes its output to a file named ps.fax; the -o option can be used to specify an alternate filename.

By default, output is compressed using the standard Group 3 1D-encoding scheme, with EOL codes padded to byte boundaries. If the -2 option is specified, output is encoded with the optional Group 3 2D-encoding scheme (EOL codes are still padded to byte boundaries).

This script can modify outgoing facsimile, such as watermarking, To do this create a shell script etc/FaxModify in the spooling area that alters the document.

Note that bin/ps2fax is usually just a link to a shell script that invokes the appropriate POSTSCRIPT RIP to do the work.


The following operations are recognized:
Write Group 3 1D-encoded data to the output file.
Write Group 3 2D-encoded data to the output file.
Write Group 4 MMR-encoded data to the output file.
-m pages
Set the maximum number of pages that are permitted in the output file. If more pages are present in the input document then abort processing.
-o file
Write output to the specified file instead of the default ps.fax filename.
-w width
Set the output page width, in pixels. By default, pages are 1728 pixels wide.
-l length
Set the output page length in millimeters. By default, pages are 297 millimeters long.
-r vres
Set the vertical resolution, in lines/inch, at which to image the POSTSCRIPT.


Before user-supplied POSTSCRIPT is passed to the POSTSCRIPT interpreter, a limited number of operators are defined. These operators are operators commonly found in a LaserWriter printer and (sometimes) generated by Macintosh-based applications.

The default Display POSTSCRIPT-based execution environment includes support for the following fonts:

AvantGarde-Book           Helvetica-Bold                  Palatino-BoldItalic
AvantGarde-BookOblique    Helvetica-BoldOblique           Palatino-Italic
AvantGarde-Demi           Helvetica-Narrow                Palatino-Roman
AvantGarde-DemiOblique    Helvetica-Narrow-Bold           StoneSerif
Bookman-Demi              Helvetica-Narrow-BoldOblique    Symbol
Bookman-DemiItalic        Helvetica-Narrow-Oblique        Tekton
Bookman-Light             Helvetica-Oblique               Times-Bold
Bookman-LightItalic       Lithos-Bold                     Times-BoldItalic
Courier                   NewCenturySchlbk-Bold           Times-Italic
Courier-Bold              NewCenturySchlbk-BoldItalic     Times-Roman
Courier-BoldOblique       NewCenturySchlbk-Italic         ZapfChancery-MediumItalic
Courier-Oblique           NewCenturySchlbk-Roman          ZapfDingbats
Helvetica                 Palatino-Bold

Note that this is the same set of fonts supported by the DPS extension to the X server.

The default Ghostscript-based environment is more uncertain; consult the Ghostscript documentation for information on what fonts are available.


/var/spool/hylafax/etc/    POSTSCRIPT code read at startup for DPS
/usr/lib/DPS/default.dps_vm             startup VM file for DPS
/usr/lib/DPS/outline                    Type 1 fonts for DPS
/usr/lib/DPS/prebuilt                   prebuilt versions of fonts for DPS


Output from the Display POSTSCRIPT version of this command is encoded according to the Display POSTSCRIPT binary encoding protocol.

No prebuilt bitmap fonts are currently available for the DPS-based imager; this would greatly improve legibility at low resolutions, as the rendering of outline fonts at 98 lpi is particularly poor.

Both DPS- and Ghostscript-based versions of this program fail to exit with non-zero status when an invalid POSTSCRIPT document is processed; this makes it problematic for the HylaFAX queue manager to determine when a problem arises when preparing a job for transmission.