From owner-FreeBSD-users-jp@jp.freebsd.org  Sat Apr 22 14:24:39 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id OAA59229;
	Sat, 22 Apr 2000 14:24:39 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from diana.infonets.hiroshima-u.ac.jp (diana.infonets.hiroshima-u.ac.jp [133.41.33.53])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id OAA59224;
	Sat, 22 Apr 2000 14:24:39 +0900 (JST)
	(envelope-from taoka@infonets.hiroshima-u.ac.jp)
Received: from peg.infonets.hiroshima-u.ac.jp (peg.infonets.hiroshima-u.ac.jp [133.41.33.64])
	by diana.infonets.hiroshima-u.ac.jp (8.9.3/3.7W) with ESMTP id OAA93213;
	Sat, 22 Apr 2000 14:24:38 +0900 (JST)
Received: from localhost (localhost.infonets.hiroshima-u.ac.jp [127.0.0.1]) by peg.infonets.hiroshima-u.ac.jp (8.9.3/3.6W) with ESMTP
	id OAA41130; Sat, 22 Apr 2000 14:24:21 +0900 (JST)
To: FreeBSD-users-jp@jp.freebsd.org
Cc: ports-jp@jp.freebsd.org
From: TAOKA Satoshi <taoka@infonets.hiroshima-u.ac.jp>
In-Reply-To: <20000422.131520.730550619.taka@ops.dti.ne.jp>
References: <20000422.002853.846931543.taka@ops.dti.ne.jp>
	<20000422122718Q.ueta@pixy.issp.u-tokyo.ac.jp>
	<20000422.131520.730550619.taka@ops.dti.ne.jp>
X-Mailer: Mew version 1.94.2 on XEmacs 21.1 (Canyonlands)
X-Prom-Mew: Prom-Mew 1.93.4 (procmail reader for Mew)
X-URL: http://www.infonets.hiroshima-u.ac.jp/~taoka/
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <20000422142421X.taoka@infonets.hiroshima-u.ac.jp>
Date: Sat, 22 Apr 2000 14:24:21 +0900
X-Dispatcher: imput version 20000228(IM140)
Lines: 108
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 51307
Subject: [FreeBSD-users-jp 51307] Re: linux printer driver (from EPSON)
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: taoka@infonets.hiroshima-u.ac.jp


$BED2,$G$9!#(B

ports$B$,$i$_$N$3$H$b=q$$$?$N$G(BCc: ports-jp$B$7$F$$$^$9!#(B

> > 6. $B$3$3$G$J$K$,$7$+$N(B ps $B%U%!%$%k$KBP$7$F!"(B
> >    > lpr -rs -Plp xxxx.ps
> >    $B$r<B9T$9$k$H!"(B
> >    /var/log/lpd-errs$B$K(B
> >    Photo Image Print System PM-770C Version 1.0
> >    PIPS Error : STDIN : Format of data that was input differs
> >    PIPS Error : ...ABEND
> 
> $B?"ED(B> PIPS $B$NF0:n$OLdBj$J$5$=$&$G!"(BPIPS $B$KN.$79~$`(B data $B$N7A<0$,IT@5$G$"$k$3(B
> $B?"ED(B> $B$H$,860x$N$h$&$G$9!#(B
> 
> $B$O$$!#(BPIPS $B$O(B 24bit BMP $B%U%)!<%^%C%H$rMW5a$7$^$9!#(B

cat test.ps | gs -q -r360 -dNOPROMPT -sDEVICE=bmp16m -sOutputFile=out.bmp -

$B$G$H$7$F!"(Bxv$B$J$I$G$A$c$s$H(Bout.bmp$B$,8+$($^$9$+!)(B


$BDI?-!'(B

$B$3$N(Bpips$B4XO"$N(Bports$B$r:n$j$^$7$?!#$3$N:]$K!"(Blinux_gtk$B$H$$$&(Bports$B$b:n$j$^(B
$B$7$?!#(BRedHat 6.1$B$N(Bgtk$B$r(B/compat/linux$B$K$$$l$k(Bport$B$G$9!#$?$@$7!"@h$NJs9p$N(B
$BDL$j!"(B

Gdk-WARNING **: locale not supported by C library

$B$,$G$F!"!V(Bpips800  -la JP$B!W$GF|K\8l$rI=<($7$h$&$H$9$k$H2=$1$^$9!#(B

$B$"$H!"8=>u$N(Bpips$B$O!"C1%Z!<%8$7$+0u:~$G$-$^$;$s!#$3$l$O!"F~NO$,(Bbmp$B$@$+$i(B
$B;EJ}$"$j$^$;$s!J(Bbmp$B$O%S%C%H%^%C%W%G!<%?$@$+$i%Y!<%8$N35G0$,$J$$$+$i$G$9(B
$B$M!)$?$V$s!K!#(B

$B$3$l$G$O!"Hs>o$K$b$C$?$$$J$$$G$9!#$=$3$G!"(B

$B!v!v(B $BJ#?t%Z!<%80u:~$r2DG=(B $B!v!v(B

$B$K$7$F$_$^$7$?!#(Bperl+psselect+pstops$B$N%U%#%k%?$G!"$3$l$GJ#?t%Z!<%8$N(BPS$B$r(B
$BDL>o$N%Z!<%8%W%j%s%?$N$h$&$K0u:~$,2DG=$K$J$j$^$7$?!#$=$N%U%#%k%?!<$rIU$1(B
$B$F$*$-$^$9$,!"%Q%9$J$I$rE,Ev$K=$@5$9$kI,MW$,$"$j$^$9(B(port$B$G$OJQ99ITMW$G(B
$B$9(B)$B!#$b$&>/$7$^$7$K$J$C$?$i!"$3$l$i(Bports$B$r8x3+$7$^$9!J8=:_!"(BEPSON KOWA$B$K(B
$BBG?GCf!K!#(B


++++++++++ pips_filter ++++++++++++++++++++++++++++++++++++++++++++++++++
#!/usr/bin/perl

# $FreeBSD:$

$tmpdir = "/tmp";
$prefix = "/usr/local";
$psselect =  "$prefix/bin/psselect";
$pstops =  "$prefix/bin/pstops";
$gsconfig800 = "$prefix/libexec/pips800/gsconfig800";
$pips = "$prefix/bin/pips800 -ui C";
$ENV{'PATH'} = "/bin:/usr/bin:$prefix/bin";
$tmp_psfile = "$tmpdir/pips_input.ps.$$";
$pages_in = "$tmpdir/pips_pages_ps.$$";

# make a ps in reverse order
open(OUTPUT, "| $pstops -0> $tmp_psfile 2>$pages_in");
foreach $l (<STDIN>) {
  print OUTPUT "$l";
}
close(OUTPUT);

# get the number of pages
$pages = `cat $pages_in`;
$pages =~ s/.* Wrote ([0-9]*) page.*/$1/;
chop $pages;

# output
$i = 1;
while ( $i <= $pages ) {
  system "$psselect -p$i $tmp_psfile | $gsconfig800 | $pips";
  $i++;
}

# delete files
system "rm $pages_in $tmp_psfile";
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

$B$3$l$r!"(B

pm800c|EPSON PM-800C:\
        :lp=/dev/lpt1:\
        :sh:\
        :if=/usr/local/libexec/pips800/pips_filter:\
        :sd=/var/spool/lpd/pm800c:\
        :mx#0:\
        :lf=/var/log/lpd-errs

$B$H;XDj$7$^$9!#(B

$B$H$3$m$G!"(Bps$B%U%!%$%k$NAm%Z!<%8?t$N$h$jNI$$3MF@J}K!$r$4B8$8$G$J$$$G$9$+!)(B
$B:#$O!"(Bpstops$B$r;H$C$F!"5U=g$K=PNO$9$k:]$K%(%i!<=PNO$5$l$kCM$r$$$C$?$s%U%!(B
$B%$%k$KC_$($F$+$i!"$=$l$G!"H=CG$7$F$$$^$9(B

# $B<B$O!"(Bpstops$B$G5U=g$K$9$kI,MW$O$J$$!#$&$($N(Bwhile$B$r5U$K2s$9$3$H$G2DG=$@(B
# $B$+$i!#7k6I(Bpstops$B$OAm%Z!<%8?t$rD4$Y$k$?$a$K$@$1;H$C$F$$$k$H8@$C$F$bNI$$!#(B
# $B!V(B$pstops -0> $tmp_psfile 2>$pages_in$B!W(B

$B$_$J$5$s!#$3$l$r8!>Z$7$F$/$@$5$k$H=u$+$j$^$9!#(B

