Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Aug 2014 10:34:43 -0600 (MDT)
From:      Warren Block <wblock@wonkity.com>
To:        Beeblebrox <zaphod@berentweb.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: printcap configuration problem
Message-ID:  <alpine.BSF.2.11.1408021027580.67716@wonkity.com>
In-Reply-To: <1406986762673-5934162.post@n5.nabble.com>
References:  <1405676044178-5929730.post@n5.nabble.com> <alpine.BSF.2.11.1407180554080.77290@wonkity.com> <53C919E0.6070008@bananmonarki.se> <alpine.BSF.2.11.1407180725500.77290@wonkity.com> <20140718183958.1864052a@rsbsd.rsb> <20140727221419.35efb9b0@morena.maps.net> <1406966714419-5934110.post@n5.nabble.com> <1406986762673-5934162.post@n5.nabble.com>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Sat, 2 Aug 2014, Beeblebrox wrote:

> @Warren:
> Below is what I have in printcap and the filter file. psif is straight out
> of the Handbook page. When printing an existing ps file with "$ /usr/bin/lpr
> -Php2100", the resulting hardcopy has 3-4 lines truncated from the top - I
> can't figure it out.

Sorry, I don't understand the question.

> Secondly, I don't see the point of piping an already ps-formated file
> through ghostscript, unless it's to adjust print resolution. Is gs smart
> enough to recognize a ps file and simply (and quickly) modify the ink amount
> or must it do a complete re-process of the page?

Ghostscript is not involved here.  The first two characters of the 
incoming file are read.  If they are %!, it is assumed to be a 
PostScript file and sent straight through.  Otherwise, it is assumed to 
be a plain text file, and formatted into a PostScript file with 
print/enscript-[letter|a4].

Both cases are for use with a printer that understands PostScript 
natively.  A plain LaserJet 2100 does not, although there was a 2100m 
that did, and a PS SIMM could be added to the other models.

> hp2100:lp:rm=192.168.1.9:rp=raw:\
>  :if=/usr/local/libexec/filters/psif:\
>  :lf=/var/log/lpd-errs:af=/var/spool/lpd/acct:\
>  :sd=/var/spool/lpd/hp2100:\
>  :mx=0:sh:
>
> # psif: Print PostScript or plain text on a PostScript printer
> IFS="" read -r first_line
> first_two_chars=`expr "$first_line" : '\(..\)'`
>
> case "$first_two_chars" in
> %!)
>    # %! : PostScript job, print it.
>    echo "$first_line" && cat && exit 0
>    exit 2
>    ;;
> *)
>    # otherwise, format with enscript
>    ( echo "$first_line"; cat ) | /usr/local/bin/enscript -o - && exit 0
>    exit 2
>    ;;
> esac



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.11.1408021027580.67716>