FreeBSD QandA 376
Q. Canon LaserShotにファイルを出力する時に テキストファイルと PSファイ
ルを自動判別してくれるような printcapに書くフィルタスクリプトはありま
せんか?
A. LaserShot A404GII(LIPS II & III) では以下のようにすると良いようです。
ただし ^[ は ESC コードです。
#!/bin/sh
# Initialize Printer
echo -n '^[%@' # End of emulation mode, Text mode start
printf '^[P31;300;1J^[\' # JOB Start as LIPS3, JIS
printf '^[<' # LIPS printer soft reset
printf '^[[?5h' # LF -> LF+CR mode
printf '^[[?1h'
read first_line
first_two_chars=`expr "$first_line" : '\(..\)'`
if [ "$first_two_chars" = '%!' ]; then
/usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=lips3 -sOutputFile=- -
else
echo -n '^[%0' # ShiftJIS mode
( echo "$first_line" && cat ) | /usr/local/bin/nkf -s
printf '\f'
fi
printf '^[P0J^[\' # Job End
echo -n '^[%@' # Start Text Mode
exit 0
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。