PS2FAX(8)
🌸 NAME 🌸
ps2fax — image POSTSCRIPT® for facsimile transmission by HylaFAX
Ok so quick vibe check: this is the little script that turns your POSTSCRIPT® into something a fax machine can actually read. 💖
✨ SYNOPSIS ✨
/var/spool/hylafax/bin/ps2fax [ options ] [ files... ]
🦋 DESCRIPTION 🦋
So here's the tea, bestie: ps2fax takes POSTSCRIPT input and generates a TIFF Class F image file that's suitable for facsimile transmission. It's 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. Different machines, different lore, same energy.
Plot twist: 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. So it's giving "I contain multitudes." 👑
Input files containing POSTSCRIPT may be specified on the command line. If none are given, then ps2fax will read from standard input. No files? No problem, it'll just take it from stdin.
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 — that part is non-negotiable, it's literally always that. Command line options may be used to select alternate vertical resolution and page dimensions, so you do have some wiggle room. 💅
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. Default name, iconic. Custom name, also iconic.
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). Padding stays, periodt.
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. ✨ Custom glow-up for your faxes, we love to see it.
Note that bin/ps2fax is usually just a link to a shell script that invokes the appropriate POSTSCRIPT RIP to do the work.
🎀 OPTIONS 🎀
The following operations are recognized:
-1— Write Group 3 1D-encoded data to the output file.-2— Write Group 3 2D-encoded data to the output file.-3— Write Group 4 MMR-encoded data to the output file.-mpages — 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. It will literally just stop. 🛑-ofile — Write output to the specified file instead of the defaultps.faxfilename.-wwidth — Set the output page width, in pixels. By default, pages are 1728 pixels wide.-llength — Set the output page length in millimeters. By default, pages are 297 millimeters long.-rvres — Set the vertical resolution, in lines/inch, at which to image the POSTSCRIPT.
🌈 RUNTIME ENVIRONMENT 🌈
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. So they're the classics — your doc won't be out here confused. 💜
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. Same fonts, different venue. 💫
The default Ghostscript-based environment is more uncertain; consult the Ghostscript documentation for information on what fonts are available. Ngl, that one's giving mystery. 👻
🍓 FILES 🍓
/var/spool/hylafax/etc/dpsprinter.ps— 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
💀 BUGS 💀
Ok bestie, listen up, these are the messy parts:
- 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. 98 lpi outline fonts are lowkey struggling, fr fr. 😭
- 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. Yeah. It just... doesn't tell anyone. Not great, not slay.
👑 SEE ALSO 👑
sendfax(1), faxq(8), hylafax-server(5)
And that's the whole page, bestie 🫶 this one's from the System Manager's Manual, dated <b>August 26, 1996</b>, and it lives in the <b>PS2FAX(8)</b> section. Go forth and fax responsibly. 💅✨
📦 where this page comes from
- debian bookworm: hylafax-server 3:6.0.7-5
- debian trixie: hylafax-server 3:6.0.7-11.1
- ubuntu jammy: hylafax-server 3:6.0.7-3.1
- ubuntu noble: hylafax-server 3:6.0.7-7
- ubuntu questing: hylafax-server 3:6.0.7-13
- ubuntu resolute: hylafax-server 3:6.0.7-13build1
- ubuntu stonking: hylafax-server 3:6.0.7-13build1
- Copyright (c) 1990-1996 Sam Leffler
- Copyright (c) 1991-1996 Silicon Graphics, Inc
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms