PRINTCAP
Section: File Formats (5)
Index JM Home Page
BSD mandoc
BSD 4.2
名前
printcap - プリンタ ケイパビリティ データベース
書式
printcap
説明
printcap は termcap(5) データベースを簡単にしたものであり、ラインプリンタを記述するのに使われる。 スプーリングシステムは、使用されるたびに printcap ファイルにアクセスし、プリンタの動的な追加と削除を可能にしている。 データベースにおける各エントリは、1 つのプリンタを記述するのに使われる。 このデータベースは書き込み可能にしておいてはならない( termcap データベースは普通書き込み可能になっている)。 なぜなら、それによってアカウンティング(accounting)をすり抜けることが 可能になってしまうからである。
通常、デフォルトプリンタは lp である。ただし、環境変数 PRINTER が設定されていれば、そちらが優先される。 各スプーリングユーティリティは、目的のプリンタを明示的に指定できるよう、 オプション -P printer をサポートしている。
ある特定のプリンタに対するこのデータベースの設定の詳細は "4.3 BSD Line Printer Spooler Manual" を参照せよ。
ケイパビリティ
ファイルレイアウトの説明については termcap(5) を参照せよ。
-
Name Type Description
- "af str" Ta NULL Ta アカウントファイル名
- "br numnonelp が tty の場合, そのボーレートを設定する"
- ( ioctl(2) コール)
- "cf str" Ta NULL Ta cifplot データ用フィルタ
- "df str" Ta NULL Ta tex データ
- ( DVI フォーマット)
用フィルタ
- "fc num 0 lp が tty の場合, フラグビットをクリアーする"
- (sgtty.h )
- "ffstr" Ta So \f Sc Ta 改ページ(form feed) のために送信する文字列
- "foboolfalseデバイスオープン時に改ページ(form feed)を印刷する"
- "fsnum0`fc' と同様だが、こちらはビットをセットする"
- "gfstr" Ta NULL Ta グラフデータ用フィルタ
- ( plot(3) フォーマット )
- "hl bool false 最後にバーストヘッダーページを印刷する"
- "ic bool falseドライバはインデント付き印刷のために (非標準の) ioctl をサポートする"
- "ifstr" Ta NULL Ta アカウントのためのテキストフィルタ名
- "lfstr" Ta /dev/console Ta エラーログファイル名
- "lostr" Ta lock Ta ロックファイル名
- "lpstr" Ta /dev/lp Ta 出力に対してオープンするデバイス名
- "mxnum1000最大ファイルサイズ ("
- BUFSIZ ブロックの数で指定), 0 = 制限なし
- "nd str" Ta NULL Ta キューリストのための次のディレクトリ (未実装)
- "nfstr" Ta NULL Ta ditroff データ(デバイス非依存 troff)用フィルタ
- "of str" Ta NULL Ta 出力フィルタプログラム名
- "pc num 200 1 フィートもしくは 1 ページあたりの価格(1/100 セント単位)"
- "plnum66ページ長 (行数)"
- "pwnum132ページ幅 (文字数)"
- "pxnum0ピクセル単位でのページ幅 (水平方向)"
- "pynum0ピクセル単位でのページ長 (垂直方向)"
- "rfstr" Ta NULL Ta
- FORTRAN スタイルのテキストファイルを印刷するためのフィルタ
- "rg str" Ta NULL Ta 制限グループ。このグループのメンバーのみアクセスが許される
- "rmstr" Ta NULL Ta リモートプリンタのためのマシン名
- "rpstr``lp''リモートプリンタ名引数"
- "rsboolfalseローカルにアカウントをもったリモートユーザに限定する"
- "rwboolfalse読み書きのためにプリンタデバイスをオープンする"
- "sbboolfalseショートバナー(short banner) (1 行のみ)"
- "scboolfalse複数コピーを抑制する"
- "sdstr" Ta /var/spool/lpd Ta スプールディレクトリ
- "sfboolfalse改ページ(form feed)を抑制する"
- "shboolfalseバーストページヘッダーの印刷を抑制する"
- "ststr" Ta status Ta ステータスファイル名
- "tfstr" Ta NULL Ta troff データ(cat 写植)用フィルタ
- "tr str" Ta NULL Ta キューが空の場合に印刷するための後書き文字列(trailer string)
- "vfstr" Ta NULL Ta ラスタイメージ(raster image)用フィルタ
ローカルのラインプリンタドライバが字下げをサポートしているならば、
デーモンはその方法を理解できなければならない。
フィルタ
lpd(8) デーモンは、さまざまなプリンタのタイプに応じてファイルを処理するために、 filters (フィルタ) のパイプラインを構築している。 選択されるフィルタは、 lpr(1) へ渡されるフラグに依存している。 パイプラインの構築は、次のようになる :
p pr | if 通常テキスト + pr(1)
none if 通常テキスト
c cf cifplot
d df DVI (tex)
g gf plot(3)
n nf ditroff
f rf Fortran
t tf troff
v vf ラスタイメージ(raster image)
if フィルタは、次の引数とともに呼び出される:
if [-c ] -w width -l length -i indent -n login -h host acct-file
-c フラグは、 lpr に -l フラグ(制御文字を文字としてそのまま通す)が指定してある時に限って渡される。 width と length は、ページの幅と長さ(それぞれ pw と pl から得られる)を文字数で指定する。 -n と -h はそれぞれ、ジョブ所有者のログイン名とホスト名を指定する。 acct-file は、 printcap の af エントリから渡される。
if が指定されていない場合は、 代わりに of が使用される。これらの間には、 if がそれぞれのジョブに対して毎回オープンされるのに対し、 of は 1 回しかオープンされないという違いがある。 したがって、アカウンティング(accounting)を行なうには if の方が適している。 of には、 width と length の 2 つのフラグが与えられるだけである。
他のすべてのフィルタは、次のようにして呼び出される:
filter -x width -y length -n login -h host acct-file
ただし、 width と length はピクセル単位で表され、それぞれ px エントリと py エントリによって指定される。
すべてのフィルタは、そのファイルとして stdin (標準入力)を、プリンタとして stdout (標準出力)をとる。そのログは、 stderr (標準エラー出力)に対して、もしくは syslog(3) を使ってとられる。また、 SIGINT を無視することは許されない。
ロギング(LOGGING)
ラインプリンタプログラム自身 (つまり、 lpNs* プログラム) によって生成されたエラーメッセージは、 LPR を使うことで syslog(3) によって記録される。 フィルタのうちの 1 つの stderr (標準エラー出力) 上に印刷されたメッセージは、それに対応する lf ファイルへと送られる。 もちろん、フィルタはそれ自身で syslog を使ってもかまわない。
コンソールへ送られるエラーメッセージには、改行(LF)だけではなく、 復帰(CR)と改行(LF)が追加される。
関連項目
termcap(5), lpc(8), lpd(8), pac(8), lpr(1), lpq(1), lprm(1)
- "4.3 BSD ラインプリンタスプーラーマニュアル"
履歴
ファイルフォーマットは、 BSD 4.2 で登場した。
関連キーワード
Ta,
フィルタ,
プリンタ,
印刷,
PRINTCAP,
ページ,
データベース,
printcap,
フラグ,
width
Linux マニュアル 一覧
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]
Index
- 名前
- 書式
- 説明
- ケイパビリティ
- フィルタ
- ロギング(LOGGING)
- 関連項目
- 履歴
This document was created by man2html, using the manual pages.
Time: 12:09:01 GMT, June 11, 2022