foo2xqx-wrapper(1)

πŸ’– foo2xqx-wrapper(1) πŸ’–

okay bestie, welcome to the General Commands Manual ✨ this is the page for foo2xqx-wrapper, and yes it's a whole vibe. grab a strawberry πŸ“ and let's go.


🌸 NAME 🌸

foo2xqx-wrapper β€” turns Postscript into a XQX printer stream. that's it, that's the job. πŸ’…


✨ SYNOPSIS ✨

foo2xqx-wrapper [options] [ps-file]

πŸ¦‹ DESCRIPTION πŸ¦‹

so foo2xqx-wrapper is a Foomatic compatible printer wrapper for the foo2xqx printer driver. it reads a Postscript ps-file β€” or just standard input if you're feeling mysterious β€” and converts it into XQX printer format so it can actually drive these printers:

  • the HP LaserJet P1005/P1006/P1007/P1008 πŸ‘‘
  • the HP LaserJet P1505
  • the HP LaserJet P2014
  • the HP LaserJet M1005 MFP
  • the HP LaserJet M1120 MFP
  • the HP LaserJet Pro M1132s MFP
  • the HP LaserJet Pro M1212nf MFP
  • and other XQX-based printers, iykyk 🌈

ngl you can run this script standalone, but the intended main character energy is being called from a printer spooler system that uses the Foomatic printer database. it's giving "designed to be part of a system." periodt. πŸ’–


πŸŽ€ COMMAND LINE OPTIONS πŸŽ€

🌟 Normal Options 🌟

these are the options that pick the parameters of a print job β€” the stuff you usually control per job, bestie.

  • -d duplex β€” Duplex code to send to printer [1].
    • 1 β€” off
    • 2 β€” long edge
    • 3 β€” short edge
  • -m media β€” Media code to send to printer [1].
MediaM1005
standard1
transparency2
envelope257
letterhead259
thick261
postcard262
labels263
okay so this was a table in the original and tables are not the vibe here, but the numbers are sacred: standard 1, transparency 2, envelope 257, letterhead 259, thick 261, postcard 262, labels 263. and the M1005 column applies. slay.
  • -p paper β€” Paper size code to send to printer [1]. the whole menu, lowkey iconic:
    • 1 β€” letter
    • 5 β€” legal
    • 7 β€” executive
    • 9 β€” A4
    • 11 β€” A5
    • 13 β€” B5
    • 20 β€” env #10
    • 27 β€” env DL
    • 28 β€” env C5
    • 34 β€” env B5
    • 37 β€” env Monarch
    • 257 β€” 16k 197x273
    • 263 β€” 16k 184x260
    • 263 β€” 16k 195x270
not me pointing out that 263 shows up twice in the original list. that's literally what it says, so that's literally what you get. 🫢
  • -n copies β€” Number of copies [1].
  • -r xresxyres β€” Set device resolution in pixels/inch [1200x600].
  • -s source β€” Source (Input Slot) code to send to printer [7].
    • 1 β€” upper
    • 2 β€” lower
    • 4 β€” manual
    • 7 β€” auto
  • -t β€” Draft mode. Every other pixel is white. yes, literally every other pixel. wild, but make it efficient. πŸ’€
  • -T density β€” Print density (1-5). The default is 3 (medium).
  • -2 -3 -4 -5 -6 -8 -9 -10 -12 -14 -15 -16 -18 β€” Print in N-up. Requires the psutils package. that's a whole lot of flags and yes, they're all listed, no skipping. ✨
  • -o orient β€” Orientation used for N-up.
    • Portrait β€” -op (normal)
    • Landscape β€” -ol (rotated 90 degrees anticlockwise)
    • Seascape β€” -os (rotated 90 degrees clockwise)

πŸ”§ Printer Tweaking Options πŸ”§

these ones are for customizing how foo2xqx behaves on a particular printer. bespoke behavior, we love to see it. πŸ’œ

  • -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. fr fr, only those two.
  • -l xoffxyoff β€” Set the offset of the end of the printable region from the lower right 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. same energy, opposite corner. πŸŽ€
  • -L mask β€” Send the logical clipping values from -u/-l in the ZjStream.

okay so here's the tea: foo2xqx-wrapper always runs Ghostscript with the ideal page dimensions, so that the scale of the image is correct, regardless 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.

  • 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

πŸ› Debugging Options πŸ›

these are for debugging foo2xqx and its wrapper. main character debugging hours. πŸ”₯

  • -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. literally the whole journey, bestie:

foo2xqx-wrapper testpage.ps > testpage.xqx
xqxdecode < testpage.xqx
lpr -P raw testpage.xqx

πŸ“ FILES πŸ“

  • /usr/bin/foo2xqx-wrapper

πŸ‘€ SEE ALSO πŸ‘€


πŸ‘‘ AUTHOR πŸ‘‘


and that's the page!! πŸ¦‹ the footer at the bottom just says foo2xqx-wrapper(1) on both sides with General Commands Manual in the middle β€” no version, no date, no extra lore, so that's the whole sign-off. go forth and print, bestie πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from