Subject: Re: LPF QUESTION
To: None <current-users@NetBSD.ORG, buhrow@cats.ucsc.edu>
From: Mark Gooderum <gooderum@sctc.com>
List: current-users
Date: 09/16/1994 10:48:07
> 	Hello folks.  I'm trying to configure my Laser Jet printer to work with
> the NetBSD lpr system.  I'm using psroff from the net to generate laser jet
> output.  So, my question is:
> is lpf, the supplied filter, 8-bit clean or do I have to come up with a new
> filter?
> -thanks
> -Brian

Lpf is mainly intended for processing text and nroffed output...it isn't
anything clean...it will do certain games that will mess up PCL output.

If you're producing straight PCL or Postscipt (assuming your LJ takes it),
then you want to print directly to the printer w/o any processing.

What you really want is a "physical" queue that does no processing, and
several logical queues that map back to the physical queue and do
processing...or one "smart" queue that does file content recognition
and then maps to the raw queue.

I do something like this for my DeskJet.  There is one raw queue and
several logical queues (some postscript that do different resoultions and
color depth, some text that do various formatting, etc).  When I get the
time I'll be trying to set up a "smarter" queue using aps and maybe some
bits from flexfax.

To map logical to physical queues either use a filter that pipes back into
lpr -P<rawqueue> itself, or just point it at the "raw" queue using
something like:

textlp|Text Printing:\
	:lp=/dev/null:\
	:if=/usr/libexec/lpr/lpf:\
	:rm=localhost:\
	:rp=lj.raw:

And other entries as needed, you get the idea...to use an output filter
instead of the rm/rp approach (more efficent), you can get away with something
like:

	:of=/usr/local/bin/printraw:

printraw:

#!/bin/sh

cat | lpr -h -Plj.raw

-Mark