LinuxCommandLibrary

foo2zjs-icc2ps

Convert ICC profile to PostScript color space

SYNOPSIS

foo2zjs-icc2ps [-p<papersize>] [-l<length>] [-w<width>] [-x<xoff>] [-y<yoff>] [-s<xres,yres>] [-d<density>] [-g] [-c] [-n] [-V] <iccfile> <psfile>

PARAMETERS

-p papersize
    Set paper size (e.g., Letter, A4; from PPD file)

-l length
    Paper length in inches (default from -p)

-w width
    Paper width in inches (default from -p)

-x xoff
    X offset from left margin, inches

-y yoff
    Y offset from bottom margin, inches

-s xres,yres
    Page resolution in DPI (e.g., 600,600)

-d density
    Toner/ink density as percentage (0-100)

-g
    Generate grayscale PostScript

-c
    Generate CMYK PostScript (default: RGB)

-n
    No DeviceLink optimization; use full profile

-V
    Verbose output

DESCRIPTION

The foo2zjs-icc2ps command is a specialized utility from the open-source foo2zjs printer driver suite. It converts ICC (International Color Consortium) color profiles into embeddable PostScript code, enabling accurate color management for printers using the ZjStream protocol, such as HP LaserJet 1000/1005 series, Lexmark E120n, Dell Laser, and others.

This tool generates PostScript separations or DeviceLink profiles that perform color space transformations (RGB to CMYK or grayscale). The output is typically inserted into PPD (PostScript Printer Description) files for use with foo2zjs-wrapper and Ghostscript, allowing color-calibrated printing from CUPS or direct PS rendering.

Key features include customizable paper dimensions, resolution settings, ink density adjustments, and support for different color models. It's invaluable for photographers, graphic designers, and users seeking precise color fidelity on budget laser printers without proprietary drivers. The process involves specifying input ICC file (e.g., from printer manufacturer or ArgyllCMS) and generating a PS file for driver integration.

CAVEATS

Input must be a valid ICC v2 or v4 profile; output PS is not standalone printable but for PPD embedding. Requires foo2zjs package and Ghostscript. May not support all ICC profile types (e.g., no display profiles). Test on target printer.

USAGE EXAMPLE

foo2zjs-icc2ps -p Letter -s 600,600 printer.icc printer-correction.ps
Generates Letter-sized 600dpi RGB correction PS.

PPD INTEGRATION

Insert generated PS into foo2zjs PPD via *cupsICCProfile: "%%BeginICCProfile" ... "%%EndICCProfile". Reinstall PPD in CUPS.

HISTORY

Developed by Toby Thain as part of the foo2zjs project (~2003-2010), reverse-engineering ZjStream for Linux printing support. Actively maintained on SourceForge; integrated into major distros like Ubuntu, Fedora.

SEE ALSO

foo2zjs-wrapper(1), foo2zjs(1), gs(1), cupsd(8)

Copied to clipboard