[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:240) MacPerlからプリンタへのリダイレクト



さっき難波師匠と馬鹿っぱなししてて、偶然こんなハナシがでたので、そのつづき。
MacPerlから直接PSプリンタにPSをリダイレクトするにはどうするかってんで、ようするにopen(PRINTER, "+>Dev:Printer")なんだってこと。
#むかし、青山和光先生からmacscriptsフォルダのなかに「sendps」っていうサンプルあるよと教えていただきました。
Perlの中に直接かくとこんなかんじかな? 
#今話題の^^縦書きを題材にしてみました。<cookbook p175


Perl -Sx "{0}" {"Parameters"}
Exit
#!/usr/local/bin/perl

$| = 1;

open(PRINTER, "+>Dev:Printer") || die "couldn't open connection to laserwriter";

select((select(PRINTER), $|=1, $/="\012")[0]);


print PRINTER << "end_script";
%!PS-Adobe-3.0

/vshowdict 4 dict def

/vshow
{ vshowdict begin
	/thestring exch def
	/lineskip exch def
	thestring
	{
		/charcode exch def
		/thechar ( ) dup 0 charcode put def
		0 lineskip neg rmoveto
		gsave
			thechar stringwidth pop 2 div neg 0 rmoveto
			thechar show
		grestore
	} forall
	end
} def

/ShinGo-Light-83pv-RKSJ-H findfont 16 scalefont setfont

322 576 moveto
16 (My name is Seuzo Ichikawa) vshow
272 576 moveto
16 (Ayaya is My Lovely-chan) vshow
222 576 moveto
16 (She is sixteen years old) vshow
172 576 moveto
16 (Yesterday she's birthday!) vshow
122 576 moveto
16 (Yeah!) vshow

showpage
end_script



shutdown(PRINTER,1);

while (<PRINTER>) {
	s/\012/\015/g;
	print;
}