foo2slx-wrapper(1)

πŸ’– foo2slx-wrapper β€” the manual, but make it make sense πŸ’–

okay bestie, welcome to foo2slx-wrapper(1), from the General Commands Manual section. this is the little script that takes your Postscript and turns it into SLX printer language so your printer actually knows what to do. she's an icon, she's a wrapper, she's literally the middleman of your print job. let's go 🫢


✨ NAME ✨

foo2slx-wrapper β€” Convert Postscript into a SLX printer stream


🌸 SYNOPSIS 🌸

foo2slx-wrapper [options] [ps-file]

πŸ¦‹ DESCRIPTION πŸ¦‹

so. foo2slx-wrapper is a Foomatic compatible printer wrapper for the foo2slx printer driver. no cap. this script reads a Postscript ps-file (or just takes it from standard input, she's flexible like that πŸ’…) and converts it into Software Imaging K.K. SLX printer format, which is the whole vibe you need to drive the Lexmark C500 network color laser printer and other SLX-based printers.

you can run this script standalone, like, just you and her, but fr fr she's designed to be called from a printer spooler system that uses the Foomatic printer database. that's her natural habitat. πŸ‘‘


πŸŽ€ COMMAND LINE OPTIONS πŸŽ€

πŸ’… Normal Options

these are the options for picking the parameters of a print job β€” the stuff you usually control per job, y'know?

  • -c β€” Print in color (else monochrome). it's giving color. 🌈
  • -m media β€” Media code to send to printer [0]. here's the whole menu:
    • plain β†’ 0
    • transparency β†’ 1
    • labels β†’ 2
    • thick1 β†’ 3
    • envelope1 β†’ 4
    • thin β†’ 5
    • thick2 β†’ 6
    • envelope2 β†’ 7
    • middle β†’ 8
    • special β†’ 9
  • -p paper β€” Paper size code to send to printer [6]. the lineup:
    • 6 β†’ letter
    • 2 β†’ A4
    • 9 β†’ legal
    • 4 β†’ B5
    • 8 β†’ executive
    • 5 β†’ B5iso
    • 10 β†’ env #10
    • 11 β†’ env DL
  • -n copies β€” Number of copies [1]. one is the default, but go off, print 50. πŸ™ˆ
  • -r xresxyres β€” Set device resolution in pixels/inch [1200x600].
  • -s source β€” Source (Input Slot) code to send to printer [0]. the options are:
    • 0 β†’ auto
    • 1 β†’ cassette1
  • -2 -3 -4 -5 -6 -8 -9 -10 -12 -14 -15 -16 -18 β€” Print in N-up. requires the psutils package, so don't come for me if you don't have it. 😭
  • -o orient β€” Orientation used for N-up. here's the tea:
    • Portrait β†’ -op (normal)
    • Landscape β†’ -ol (rotated 90 degrees anticlockwise)
    • Seascape β†’ -os (rotated 90 degrees clockwise)

πŸ› οΈ Printer Tweaking Options

these are for customizing how foo2slx behaves on a particular printer. very bespoke. very tailored. ✨

  • -u xoffxyoff β€” Set the offset of the start of the printable region from the upper left corner, in pixels [varies with paper size]. the defaults should work on the 2200DL and 2300DL, and have not been tested on any other printers. so like, iykyk. πŸ’€
  • -l xoffxyoff β€” Set the offset of the end of the printable region from the lower right corner, in pixels [varies with paper size]. same deal: the defaults should work on the 2200DL and 2300DL, and have not been tested on any other printers.
  • -L mask β€” Send the logical clipping values from -u/-l in the ZjStream. okay so here's why this matters: foo2slx-wrapper always runs Ghostscript with the ideal page dimensions, so that the scale of the image is correct, regardless of whether or not the printer has unprintable regions. this option is used to move the position of the clipped image back to where it belongs on the page. the default is to send the amount which was clipped by -u and -l, and should be good in most cases. the mask values:
    • 0 β€” don't send any logical clipping amounts
    • 1 β€” only send Y clipping amount
    • 2 β€” only send X clipping amount
    • 3 β€” send both X and Y clipping amounts

🌈 Color Tweaking Options

these control the quality of color output. heads up though: color correction is currently a WORK IN PROGRESS. 🚧 not finished, bestie. we're getting there.

  • -g gsopts β€” Additional options to pass to Ghostscript, such as -gβ€œ-dDITHERPPI=nnn”, etc. this option may appear more than once. stack 'em. πŸ”₯
  • -G profile.icm β€” Convert profile.icm to a Postscript color rendering dictionary (CRD) using foo2zjs-icc2ps and adjust the printer colors by using the Postscript setcolorrendering operator. (WORK IN PROGRESS).
  • -G gamma-file.ps β€” Prepend gamma-file.ps to the Postscript input to perform color correction using the setcolortransfer Postscript operator. for example, the file might contain:
{0.333 exp} {0.333 exp} {0.333 exp} {0.333 exp} setcolortransfer
  • -I intent β€” Select profile intent from the ICM file. 0=Perceptual, 1=Colorimetric, 2=Saturation, 3=Absolute. Default is 0 (perceptual).

πŸ› Debugging Options

these are used for debugging foo2slx and its wrapper. detective mode. πŸ•΅οΈβ€β™€οΈ

  • -S plane β€” Output just a single color plane from a color print and print it on the black plane. the default is to output all color planes. your choices:
    • 1 β€” Cyan
    • 2 β€” Magenta
    • 3 β€” Yellow
    • 4 β€” Black
  • -D level β€” Set Debug level [0].

⭐ EXAMPLES ⭐

Create a monochrome ZjStream from a Postscript document, examine it, and then print it using a RAW print queue:

foo2slx-wrapper testpage.ps > testpage.zm
slxdecode < testpage.zm
lpr -P raw testpage.zm

Create a color ZjStream stream from a Postscript document:

foo2slx-wrapper -c testpage.ps > testpage.zc

look at her go. iconic behavior. πŸ‘‘


πŸ“ FILES πŸ“

  • /usr/bin/foo2slx-wrapper

πŸ” SEE ALSO πŸ”


πŸ‘‘ AUTHOR πŸ‘‘

Rick Richardson <rick.richardson@comcast.net> http://foo2slx.rkkda.com/


and that's the whole page bestie, no crumbs left πŸ’– this was foo2slx-wrapper(1) from the General Commands Manual β€” go forth and convert that Postscript, you absolute main character. periodt. πŸŽ€βœ¨

πŸ“¦ where this page comes from