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: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.11.1408021027580.67716>