foo2xqx
Convert Ghostscript output to XQX format
SYNOPSIS
foo2xqx [options] [
(Often used with Ghostscript as: gs ... | foo2xqx [options] | lpr)
PARAMETERS
-r <res>
Set the printer resolution in dots per inch (dpi), e.g., -r 600.
-g <gamma>
Apply gamma correction to the output image, typically between 0.0 and 4.0.
-m <model>
Specify the printer model number if auto-detection fails.
-t <type>
Set the media type for printing (e.g., plain, glossy).
-c <color>
Force color (1) or grayscale (0) output.
-d <duplex>
Enable duplex printing: 0 (off), 1 (long-edge), 2 (short-edge).
-p <paper>
Specify the paper size (e.g., Letter, A4, Legal).
-n <N-up>
Print multiple pages per sheet (N-up printing).
-S <source>
Select the paper source tray (e.g., 0 for auto, 1 for tray1).
-v
Enable verbose output for debugging purposes.
DESCRIPTION
The foo2xqx command is a free software printer driver that converts PostScript into the native XQX printer language. It is specifically designed to support various laser printers that use the XQX protocol, including certain models from Konica Minolta. As a crucial component of the foo2zjs project, foo2xqx enables these host-based printers, which often lack onboard PostScript interpreters, to function correctly on Linux and other Unix-like operating systems.
Typically, foo2xqx is used in conjunction with Ghostscript (gs). Ghostscript renders PostScript or PDF documents into a raw image format, which is then piped as input to foo2xqx. foo2xqx takes this rendered data and converts it into the proprietary XQX data stream, which can then be sent directly to the printer via a USB, network, or parallel port. This process effectively bridges the gap between standard document formats and the specific requirements of XQX-based printers, allowing users to print documents that would otherwise be unsupported.
CAVEATS
foo2xqx requires Ghostscript (gs) to convert PostScript or PDF documents into a suitable raster format before processing. It is specifically designed for XQX-based printers and will not work with printers using other languages (e.g., PCL, PostScript, ZjStream). Some printer models may require proprietary firmware uploads to the printer, which are often provided separately by the foo2zjs project. Full printer functionality, such as advanced finishing options, might not be completely supported for all models.
INPUT AND OUTPUT
foo2xqx typically accepts PostScript data (usually from Ghostscript) on standard input and outputs raw XQX printer data to standard output, which is then usually piped directly to the printer device.
DEPENDENCIES
The primary external dependency for foo2xqx to function correctly is Ghostscript (gs), which handles the initial rendering of documents.
HISTORY
The foo2xqx driver is an integral part of the foo2zjs project, initiated and primarily developed by Rick Richardson. This project emerged from the need to provide open-source drivers for various "host-based" printers that relied on proprietary communication protocols rather than standard printer languages like PCL or PostScript. foo2xqx specifically targets printers using the XQX protocol, which was reverse-engineered to allow Linux users to utilize these devices. Its development, alongside other foo2* drivers, has significantly contributed to extending printer compatibility within the open-source ecosystem, providing a vital bridge for hardware that would otherwise be unsupported.


