というのは
$ prn -Plp text_file /* text file こちらを 使用 */ $ lpr -Ptxt text_fil /* text file こちらも 動く */ $ lpr -Plp tiger.ps /* ps file */
まず /etc/printcap
# sed -e '/^#/d' /etc/printcap
txt|text:\
        :lp=/dev/lp0:\
        :sd=/usr/spool/txt:\
        :lf=/usr/spool/txt/log:\
        :af=/usr/spool/txt/acct:\
        :if=/usr/bin/txt-if:\
        :mx#0:\
        :sh: 
lp|ps|PostScript:\
        :lp=/dev/lp0:\
        :sd=/usr/spool/lp:\
        :lf=/usr/spool/lp/log:\
        :af=/usr/spool/lp/acct:\
        :if=/usr/bin/lp-if:\
        :mx#0:\
        :sh:
そこで
# cat /usr/bin/txt-if
#!/bin/sh
#
# 通常のテキスト用のフィルタ(if)
# これらはlprからifに渡される引数です。
#
WIDTH=$1
LENGTH=$2
INDENT=$3
NAMEFLAG=$4
LOGIN=$5
HOSTFLAG=$6
HOST=$7
ACCT=$8  
#
WIDTH=`echo $1 | awk '{ print substr($1,3) }'`
if [ -z "$WIDTH" -o "$WIDTH" = "0" ]; then WIDTH=80; fi
LENGTH=`echo $2 | awk '{ print substr($1,3) }'`
if [ -z "$LENGTH" ]; then LENGTH=66; fi
INDENT=`echo $3 | awk '{ print substr($1,3) }'`
if [ -z "$INDENT" ]; then INDENT=0; fi
/usr/bin/nkf -e  | /usr/bin/psconv -V$WIDTH-$LENGTH -j | \
/usr/bin/gs -q -dNOPAUE -sDEVICE=bjc800  -sOutputFile=- -
一方
# cat /usr/bin/lp-if #!/bin/sh # # PostScript ファイル用のフィルタ # WIDTH=$1 LENGTH=$2 INDENT=$3 NAMEFLAG=$4 LOGIN=$5 HOSTFLAG=$6 HOST=$7 ACCT=$8 # /usr/bin/gs -q -dNOPAUSE -sDEVICE=bjc800 -sOutputFile=- -
そこで こうしたり
# diff -s txt-if txt-if_org 24c24 < /usr/bin/nkf -e | /usr/bin/psconv -V$WIDTH-$LENGTH -j | /usr/bin/gs -q -dNOPA USE -sDEVICE=bjc800 -r360 -sPAPERSIZE=a4 -sOutputFile=- - --- > /usr/bin/nkf -e | /usr/bin/psconv -V$WIDTH-$LENGTH -j | /usr/bin/gs -q -dNOPA USE -sDEVICE=bjc800 -sOutputFile=- -
また こうしたり
# diff -s txt-if txt-if_org 24c24 < /usr/bin/nkf -e | /usr/bin/psconv -V$WIDTH-$LENGTH -j |\ /usr/bin/gs -q -dNOPAUSE -sPAPERSIZE=a4 -sDEVICE=bjc800 -r600 -sOutputFile=- - --- > /usr/bin/nkf -e | /usr/bin/psconv -V$WIDTH-$LENGTH -j |\ /usr/bin/gs -q -dNOPAUSE -sDEVICE=bjc800 -sOutputFile=- -
最後は 元に 戻した 、とりあえずは此処までで おいておく
にゃんたろう 拝!
2006年 3月28日 (火) 22:43:30 JST 作成