EN JA
PSF(8)
PSF(8) FreeBSD System Manager's Manual PSF(8)

名前

psf - PostScript フィルタ

書式

psf [ -n name ] [ -h host ] [ -w width ] [ -l length ] [ -i indent ] [ -c ]

説明

psf は PostScript 印刷をするための lpd フィルタである。 psf は、どのフィルタを起動するかを決めるために、自分がどういう名前で呼び出されたかを調べる。まず、名前のどこかに文字列 ``pap'' がある場合は、 psf は AppleTalk を経由してプリンタと通信するために pap を起動する。次に、文字列 ``rev'' がある場合は、 psf はジョブのページを逆順にするために psorder を起動する。最後に、 psf が名前の先頭部にフィルター名を付けて呼ばれた場合は、そのフィルタを起動する。実行するフィルタがない場合、 psf は入力のマジックナンバーを調べ、入力が PostScript でない場合は PostScript に変換する。

クラッジ (KLUDGE)

デフォルトの設定では、 psf は 2 つのクラッジをサポートしている。 1 番目のクラッジは、自分の名前に文字 `m' があるかどうかを psf にチェックさせる。この文字があり、アカウンティングが有効になっている場合、 psfpap を 2 度呼び出す。 1 度目は初期ページカウントを取得し、印刷ジョブを行うためである。 2 度目は最終ページカウントを取得するためである。これは、プリンタが PAP 出力ファイルを閉じなくなるといった、いろいろな PAP 実装に含まれるバグに対処するためのものである。その顕著な例は Hewlett-Packard のプリンタである。

2 番目のクラッジは、自分の名前に文字 `w' があるかどうかを psf にチェックさせる。この文字があり、アカウンティングが有効になっている場合、 psfpap-w フラグ付きで呼び出す。このフラグがつくと、 pap はプリンタ状態に文字列 `idle' が現われるまで待つ。見つかったら、通常と同じく印刷ジョブが行われる。このクラッジは、特に Hewlett-Packard の LaserJet IV に対処するためのものである。このプリンタは、前のページがまだ印刷されている際中にページカウントを報告する。

以下の printcap エントリの例では、テキストファイル・PostScript ファイル・ troff の C/A/T 出力・ TeX の DVI 出力を AppleTalk に接続された LaserWriter Plus で印刷するために psf を起動する。 LaserWriter Plus はページを降順に積み重ねるので、ページを逆順にして、バーストページを最後に印刷する。
 

laser|lp|LaserWriter Plus on AppleTalk:\
:sd=/usr/spool/lpd/laser:\
:lp=/usr/spool/lpd/laser/null:\
:lf=/var/adm/lpd-errs:pw#80:hl:\
:of=/usr/lib/filters/ofpap:\
:if=/usr/lib/filters/ifpaprev:\
:tf=/usr/lib/filters/tfpaprev:\
:df=/usr/lib/filters/dfpaprev:
 
該当するホストが複数の AppleTalk プリンタにスプールする場合、 lp 機能として /dev/null を使用すべきではない点に注意すること。そうではなく、上の例でやっているように、各プリンタに対して mknod を使って null デバイスを作成すべきである。

最後に、スプールディレクトリ /var/spool/lpd/laser には .paprc という名前のファイルがある。 pap はプリンタの AppleTalk 名を調べるためにこのファイルを読む。

関連項目

psorder(1), printcap(5), lpd(8), mknod(8), pap(8).
17 Dec 1991 netatalk 1.2