Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.rmit.EDU.AU!news.unimelb.EDU.AU!munnari.OZ.AU!news.ecn.uoknor.edu!news.wildstar.net!news.sdsmt.edu!news.mid.net!mr.net!chi-news.cic.net!newsxfer2.itd.umich.edu!tank.news.pipex.net!pipex!dispatch.news.demon.net!demon!jraynard.demon.co.uk!not-for-mail
From: james@jraynard.demon.co.uk (James Raynard)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: Filter for HPDeskJet500C wanted
Date: 11 Jun 1996 08:27:23 -0000
Organization: A FreeBSD Box
Lines: 86
Message-ID: <4pjalb$q4@jraynard.demon.co.uk>
References: <9ckBPD1w165w@tusia.kiel.org>
NNTP-Posting-Host: localhost.demon.co.uk
X-NNTP-Posting-Host: jraynard.demon.co.uk
In article <9ckBPD1w165w@tusia.kiel.org>,
Maciej Wiatr <macko@tusia.kiel.org> wrote:
>I have fought with my printer for some days and reached nothing.
>After reading the printing.sgml file I installed the filter file,
>which is given there as one for HPDeskJet500 series :
[snip]
>printf "\033&ero;k2G" || exit 2
>
>Every time I want to print I get the massage in the error file :
>
>ero : not found
'&ero;' is the SGML representation of an ampersand, '&', so the line
should read
printf "\033&k2G" || exit 2
and similarly in the other cases.
Here's the filter file I use with a DJ520, which is more or less taken
straight from the handbook. I had a couple of problems which baffled
me for a while, though:-
1. Be careful if you cut and paste these scripts from an HTML
browser. Somewhere along the line, a load of junk gets appended
that gives a 'cannot execv' error from lpd. Solution: remove
any trailing spaces after the '#!/bin/sh' on the first line.
2. A bug in ghostscript that results in garbage being printed, as the
driver puts it in compression mode 3 when my printer can only manage
mode 2. Solution: apply the patch at the end of this article. (I
reported this bug in version 2.63, but it's still in 3.51)
#!/bin/sh
#
# ifhp - Print Ghostscript-simulated PostScript on a DesJet 500
# Installed in /usr/local/libexec/hpif
#
# Treat LF as CR+LF:
#
printf "\033&k2G" || exit 2
#
# Read first two characters of the file
#
read first_line
first_two_chars=`expr "$first_line" : '\(..\)'`
if [ "$first_two_chars" = "%!" ]; then
#
# It is PostScript; use Ghostscript to scan-convert and print it
#
/usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 -sOutputFile=- - \
&& exit 0
else
#
# Plain text or HP/PCL, so just print it directly; print a form
# at the end to eject the last page.
#
echo $first_line && cat && printf "\f" && exit 2
fi
exit 2
Patch for ghostscript3.51
=========================
--- gdevdjet.c.orig Tue Jun 11 08:19:51 1996
+++ gdevdjet.c Tue Jun 11 08:20:36 1996
@@ -323,7 +323,7 @@
/* The DeskJet500 can compress (modes 2&3) */
private int
djet500_print_page(gx_device_printer *pdev, FILE *prn_stream)
-{ return hpjet_print_page(pdev, prn_stream, DJ500, 300, mode_3,
+{ return hpjet_print_page(pdev, prn_stream, DJ500, 300, mode_2,
"\033&k1W");
}
/* The LaserJet series II can't compress */
--
James Raynard, Edinburgh, Scotland
james@jraynard.demon.co.uk
jraynard@FreeBSD.ORG