この章では、文字セット、印刷フィルタ、フォーム、およびフォントについての基本事項と、設定して管理する手順について説明します
この章で説明する手順は次のとおりです。
印刷については、第 39 章「印刷管理の概要」を参照してください。
プリンタでテキストを各種フォント書体で印刷する方法は、それぞれ異なります。たとえば、PostScript プリンタは、テキストをグラフィックスとして処理します。これらのプリンタは、複数のフォントを使用してテキストを生成し、ページ上の任意の位置、サイズ、または方向にテキストを配置できます。その他の形式のプリンタは、印字ホイール、フォントカートリッジ、プログラムされた選択可能な文字セットのいずれかを使用するため、フォントの種類と大きさには制限があります。通常、1 つのプリンタ形式には 1 つの印刷方法が適用されます。
必要に応じてプリンタにフォントを装着する必要があるという点で、LP 印刷サービスでは印字ホイールとフォントカートリッジを同様に扱うことができます。ホイールまたはカートリッジを物理的に装着する必要がある文字セットを、「プリンタに装着する文字セット」といいます。物理的に装着する必要がなく、プリンタにあらかじめプログラムされていて、印刷要求によって選択可能な文字セットを、「プリンタに組み込みの文字セット」といいます。
PostScript 以外のプリンタを設定する場合は、ユーザーが利用可能な、印字ホイールまたは選択可能な文字セットを LP 印刷サービスに指定する必要があります。ユーザーが印刷要求を出すときに、lp -S コマンドを使用すると、ジョブの印刷に使用する印字ホイールまたは選択可能な文字セットを指定できます。ユーザーは、すでに定義してある名前でフォントを参照するだけなので、実際に使用される文字セットの種類を知る必要はありません。たとえば、印刷ホイールを gothic と定義したとします。この gothic 印字ホイールを要求するには、lp -S gothic と入力します。
プリンタによってサポートされる選択可能文字セットは、そのプリンタの terminfo エントリに表示されています。たとえば、ln03 プリンタのエントリは、/usr/share/lib/terminfo/l/ln03 です。tput コマンドを使用して、terminfo データベースの任意のプリンタタイプの選択可能文字セットの名前を選択できます。tput コマンドの構文は次のとおりです。
tput -T printer-type csn
csn オプションは文字セット番号 (character set number) の省略形です。番号は、プリンタが初期化された後に常に設定されるデフォルトの文字セット番号である 0 で始まります。その他の文字セット名を表示するには、-0 の代わりに -1、-2、-3 などを使用してコマンドを繰り返してください。選択可能文字セットごとに、terminfo 名 (たとえば usascii、english、finnish など) が返されます。
通常、terminfo 文字セット名は、プリンタのマニュアルで使用されている文字セット名となるべく一致させてください。同じ文字セット名を使用しないメーカーもあるため、terminfo 名はプリンタタイプごとに異なる場合があります。
LP 印刷サービスを使用して選択可能文字セットを登録する必要はありません。ただし、より意味のある名前または別名を与えることができます。
プリンタで使用できる選択可能文字セットを指定しない場合、LP 印刷サービスは、プリンタが任意の文字セット名 (cs0、cs1、cs2 など) またはプリンタが認識する terminfo 名を受け付けることができると仮定します。
lpstat -p -l コマンドを使用して、印刷サーバーに接続されているプリンタごとに、定義されている選択可能文字セット名を表示できます。
PostScript のフォントは、terminfo データベースのエントリではなく PostScript フィルタによって制御されるため、lpstat -p -l コマンドを使用しても PostScript プリンタ用の文字セットは表示されません。PostScript フォントの管理方法については、「フォントの管理」を参照してください。
別の文字セットを使用するもう一つの方法は、物理的にプリンタに装着できる取り外し可能な印字ホイールまたはフォントカートリッジを使用することです。
プリンタに装着する文字セットを管理するには、LP 印刷サービスに、使用したい印字ホイール名と、プリンタが異なる印字ホイールを必要とするときの警告方法を指定します。次に、ユーザーが lp -S コマンドを使用して特定の文字セットを要求すると、スケジューラは印字ホイールを装着するよう警告を送信し、印刷要求が印刷待ち行列に入れられます。正しい印字ホイールを装着して、印字ホイールを装着したことを LP 印刷サービスに指示すると、ジョブが印刷されます。詳細は、「印字ホイールまたはフォントカートリッジを取り外すまたは装着する方法」を参照してください。
1 台のプリンタに対して複数の印字ホイールやカートリッジを指定しなければ、LP 印刷サービスは、プリンタが 1 つの固定印字ホイールまたはカートリッジしか持っておらず、ユーザーはプリンタを使用する際に特殊な印字ホイールやカートリッジを指定できないと見なします。
選択可能文字セットとは違って、印字ホイールまたはカートリッジ用に選択する名前は、terminfo データベースのエントリとは関係がありません。印字ホイール名またはカートリッジ名は、ユーザーが LP 印刷サービスと通信を行うためにだけ使用されます。
ただし、印字ホイールまたはカートリッジ用に選択する名前は、ユーザーがわかりやすいものにしてください。その名前がフォントの書体を表すようにしてください。さらに、その名前は、同じ種類の印字ホイールやカートリッジ、または選択可能文字セットを持つプリンタの場合には、同じ名前にします。それによって、ユーザーは、どのプリンタ、印字ホイール、カートリッジ、選択可能文字セットを使用するかに関係なく、フォントの書体 (文字セット) を指定できます。
システム管理者とプリンタユーザーは、印字ホイールまたはカートリッジに同じ名前を使用してください。そうしないと、ユーザーが指定する文字セットと管理者が装着するものが異なる可能性があります。
印字ホイールを確認する手順は、フォームを確認する手順と似ています。一部のプリンタは (通常、文字ベースの印字を行うプリンタ)、特定のフォントや文字セットを提供する印字ホイールや印字カートリッジのような、取り外し可能な印字ヘッドを持っています。ユーザーは名前の付いた文字セットを要求できます。その文字セットがない場合、LP 印刷サービスは要求元または管理者に通知します。印刷ジョブは、印字ホイールが変更されるまで、印刷待ち行列に格納されます。
LP 印刷サービスから出す警告を指定するのと同じ方法で、印字ホイールまたはカートリッジを装着する際に出す警告を指定します。警告の概要については、「障害の通知の設定」を参照してください。
印刷サーバーにスーパーユーザーまたは lp としてログインします。
プリンタで使用できる印字ホイールまたはフォントカートリッジを定義します。
print-server# lpadmin -p printer-name -S hard-charset1[,hard-charset2...]
印字ホイールまたはフォントカートリッジの定義が、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルに追加されます。
印刷サーバーの印刷クライアントであるシステムにスーパーユーザーまたは lp としてログインします。
印刷クライアントに対して同じ印字ホイールまたはフォントカートリッジを定義します。
print-client# lpadmin -p printer-name -S hard-charset1[,hard-charset2...]
このコマンドの変数は、手順 2 と同じです。
印字ホイールまたはフォントカートリッジの定義が、印刷クライアントの /etc/lp/printers/printer-name/configuration ファイルに追加されます。
印字ホイールまたはフォントカートリッジを使用する必要がある印刷クライアントごとに、手順 3 と 手順 4 を繰り返します。
印刷サーバーと印刷クライアント上で、次のコマンドの出力の中の「Character sets」見だしの後にある情報を確認します。
$ lpstat -p printer-name -l
次の例は、印刷クライアント asteroid のプリンタ luna 上で印字ホイール pica を定義するコマンドを示しています。
asteroid# lpadmin -p luna -S pica
印刷サーバーにスーパーユーザーまたは lp としてログインします。
lpadmin コマンドを使用して、プリンタ内の印字ホイールまたはフォントカートリッジを取り外します。
# lpadmin -p printer-name -M -S none
-p printer-name |
印字ホイールまたはフォントカートリッジを取り外すプリンタ名 |
-M -S none |
現在の印字ホイールまたはフォントカートリッジを取り外すように指定する |
現在の印字ホイールまたはフォントカートリッジが、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルから削除されます。
印字ホイールまたはフォントカートリッジをプリンタから削除します。
プリンタに新しい印字ホイールまたはフォントカートリッジを入れます。
lpadmin コマンドを使用して、新しい印字ホイールまたはフォントカートリッジを装着します。
# lpadmin -p printer-name -M -S hard-charset
-p printer-name |
印字ホイールまたはフォントカートリッジを装着するプリンタ名 |
-M -S hard-charset |
装着したい印字ホイールまたはフォントカートリッジのプリンタに装着する文字セット名 |
印字ホイールまたはフォントカートリッジが、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルに追加されます。装着された印字ホイールまたはフォントカートリッジは、取り外されるか、新しいものが装着されるまで使用可能です。
次のコマンドの出力の中で、「Print wheels」または「Character set」の見だしの下にある情報をチェックします。印刷ホイールまたは文字セットの名前と注意「mounted」が表示されます。
$ lpstat -p printer-name -l
次の例は、プリンタ luna から現在の印字ホイールを取り外し、印字ホイール pica を装着するコマンドを示します。
# lpadmin -p luna -M -S none # lpadmin -p luna -M -S pica
印刷サーバーにスーパーユーザーまたは lp としてログインします。
lpadmin コマンドを使用して、印字ホイールまたはフォントカートリッジの装着を促す警告を設定します。
# lpadmin -S hard-charset -A alert [-Q requests] [-W minutes]
-S hard-charset |
警告を設定したい印字ホイールまたはフォントカートリッジのプリンタに装着する文字セット名 |
-A alert |
印字ホイールまたはフォントカートリッジが要求されたときに出される警告の種類を指定する。alert に有効な値については、表 42-2 を参照。有効な値は mail、write、quiet など。 mail または write を指定すると、あらかじめ定義された警告メッセージが表示される。この警告メッセージは、指定した印字ホイールまたはフォントカートリッジの装着を促すもので、それを使用するように設定されている 1 つ以上のプリンタ名が含まれる |
-Q requests |
警告が出される前に、印字ホイールまたはフォントカートリッジが、待ち行列に入っていなければならない印刷要求の数を指定する。このオプションを指定しなければ、待ち行列に印刷要求が 1 つ入っただけで警告が出される |
-W minutes |
警告が出される間隔 (分単位) を指定する。このオプションを指定しなければ、警告は一度だけ送られる |
警告は、印刷サーバーの /etc/lp/pwheels/charset-name/alert.sh ファイルに追加されます。
次のコマンドの出力をチェックして、印字ホイールまたはフォントカートリッジの装着を促す警告が追加されているかどうかを確認します。
# lpadmin -S hard-charset -A list
あるいは、警告を出すために印刷要求に低い番号を設定した場合、最小限の要求を満たすために十分な印刷要求を出し、印字ホイールまたはフォントカートリッジの装着を促す警告を受け取ることを確認します。
次の例は、印刷待ち行列に elite 印字ホイールに対する 10 の印刷要求があるときに、elite に関して 5 分間隔で電子メールで警告が送られるように設定するコマンドを示しています。
# lpadmin -S elite -A mail -Q 10 -W 5
次の例は、印刷待ち行列に finnish フォントカートリッジに対する 5 つの印刷要求があるときに、finnish に関して 1 分間隔で電子メールで警告が送られるように設定するコマンドを示しています。
# lpadmin -S finnish -A mail -Q 5 -W 1
次の例は、印刷待ち行列に elite 印字ホイールに対する 5 つの印刷要求があるときに、elite に関して 10 分間隔でコンソールウィンドウに警告が送られるように設定するコマンドを示しています。
# lpadmin -S elite -A write -Q 5 -W 10
次の例は、elite 印字ホイールに警告が送られないように設定するコマンドを示します。
# lpadmin -S elite -A none
選択可能文字セットの terminfo 名が正しい場合は、この手順を実行する必要はありません。terminfo データベースの使用方法については、「サポートされていないプリンタの terminfo エントリを追加する」を参照してください。
印刷サーバーにスーパーユーザーまたは lp としてログインします。
tput コマンドを使用して、指定したプリンタタイプの選択可能文字セット名を表示します。
# tput -T printer-type csn
-T printer-type |
terminfo データベースに入っているプリンタタイプ。terminfo データベースのエントリについては、「プリンタタイプ」を参照 |
n |
指定したプリンタタイプの選択可能文字セットを表す番号 (0、1、2、3、4、5 など)。プロンプト記号に続いて選択可能文字セット名が表示される。たとえば、cs1 と指定すると、english# と表示される |
選択可能文字セットの別名を設定します。
# lpadmin -p printer-name -S select-charset1=alias1[,select-charset2=alias2...]
-p printer-name |
選択可能文字セットの別名を設定するプリンタ名 |
-S select-charset |
別名を設定する選択可能文字セット名。この名前は、手順 2 で検索できる |
alias |
指定した選択可能文字セットの別名。選択可能文字セット名の他に、この別名を使用できる。 このコマンドで複数の別名を設定できる。別名を区切るには空白またはカンマを使用する。空白を使用する場合は、別名のリストを引用符で囲む |
別名は、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルに追加されます。
印刷サーバーの印刷クライアントであるシステムにスーパーユーザーまたは lp としてログインします。
選択可能文字セットの別名を設定します。
# lpadmin -p printer-name -S select-charset1=alias1[,select-charset2=alias2...]
このコマンドの変数は、手順 3 と同じです。
別名は印刷クライアントの /etc/lp/printers/printer-name/configuration ファイルに追加されます。
印刷サーバーと印刷クライアント上で、次のコマンドの出力の中に選択可能文字セットの別名のリストがあることを確認します。
$ lpstat -p printer-name -l
または、選択可能文字セットに別名を使用する印刷要求を出して、出力をチェックします。
次の例は、選択可能文字セット名を表示し、ln03 プリンタタイプのプリンタ luna 上の usascii 選択可能文字セットの別名として text を指定するコマンドを示しています。
# tput -T ln03 cs0 usascii# tput -T ln03 cs1 english# tput -T ln03 csn2 finnish# tput -T ln03 csn3 japanese# tput -T ln03 cs4 norwegian# # lpadmin -p luna -S usascii=text
「印刷フィルタ」とは、ファイルの内容形式を出力先プリンタが受け付けられる内容形式に変換するプログラムのことです。
LP 印刷サービスはフィルタを使用して、次の機能を提供します。
ファイルを特定タイプのプリンタで正しく印刷できるように、1 つのデータ形式から別のデータ形式に変換する。
両面印刷、横方向印刷、ドラフト印刷、または高品質印刷などの特別な印刷モードを処理する。
プリンタの障害を検出して LP 印刷サービスに通知する。その結果、印刷サービスはユーザーとシステム管理者に警告を出すことができる。
すべての印刷フィルタが上記のすべての機能を実行できるわけではありません。各機能はプリンタに固有なので、別々に実装できます。
LP 印刷サービスは、表 43-1 に示す PostScript フィルタを提供します。これらのフィルタプログラムは、/usr/lib/lp/postscript ディレクトリに入っています。通常、PostScript 印刷を行う場合は、印刷サーバーの設定時にフィルタプログラムをインストールする以外に何も行う必要はありません。Admintool が提供されるフィルタを自動的に使用可能にします。ただし、他のプリンタを管理する場合は、それらのプリンタの印刷フィルタを管理する必要がある場合があります。
新しい印刷フィルタを作成するには、印刷フィルタプログラムを書き、印刷フィルタの定義を作成しなければなりません。フィルタには、入力形式、出力形式、フィルタ内でコマンド行引数を処理するための言語を提供する複雑なオプションが含まれます。説明と手順については、「新しい印刷フィルタの作成」を参照してください。
印刷フィルタは、印刷サーバーだけで追加、変更、または削除できます。
lpfilter コマンドを使用して、利用できるフィルタのリストを管理します。フィルタに関するシステム情報は、/etc/lp/filter.table ファイルに格納されます。lpfilter コマンドは、テーブルに書き出すフィルタに関する情報を、フィルタ記述子ファイルから取得します。提供されているフィルタ記述子ファイル (PostScript のみ) は、/etc/lp/fd ディレクトリに入っています。実際のフィルタプログラムは、/usr/lib/lp の下にあります。
LP 印刷サービスでは、定義できる印刷フィルタの数に制限はありません。使用しないフィルタを削除して LP 印刷サービスによる処理を減らすことができます。(その場合は、LP はすべてのフィルタを検査して特定の印刷要求に使用するフィルタを 1 つ見つけます。) 確信が持てない場合は、フィルタを削除しないでください。
フィルタを追加、変更、または削除すると、LP 印刷サービスによって提供されている元のフィルタの一部を上書きしたり、削除したりしてしまう可能性があります。必要に応じて元のフィルタを復元し、追加したフィルタを削除できます。
SunOS 5.x システムソフトウェアには、PostScript フィルタのデフォルトセットが組み込まれています。デフォルトセットは、Admintool によって印刷サーバーに自動的に追加されます。SunOS 4.1 で使用されていた TranScript フィルタは、SunOS 5.x にも相当するものがある場合とない場合があります。表 43-1 は、デフォルトの PostScript フィルタと、該当する TranScript フィルタが存在する場合はそのフィルタ名を示しています。
表 43-1 デフォルトの PostScript フィルタ
フィルタ |
動作 |
相当する TranScript |
---|---|---|
download |
ダウンロードフォント |
|
dpost |
ditroff から PostScript へ |
psdit |
postdaisy |
daisy から PostScript へ | |
postdmd |
dmd から PostScript へ | |
postio |
PostScript プリンタへのシリアルインタフェース | pscomm |
postior |
プリンタとの通信 | |
postmd |
マトリックス型グレースケールから PostScript へ | |
postplot |
plot から PostScript へ |
psplot |
postprint |
simple から PostScript へ |
enscript |
postreverse |
ページの反転または選択 |
psrev |
posttek |
TEK4014 から PostScript へ |
ps4014 |
SunOS 5.x には、次のフィルタは組み込まれていません。
TEX
oscat (NeWSprint opost)
Enscript
Enscript の代わりに postreverse、postprint、postio、dpost の各フィルタが組み込まれています。
Admintool は、印刷サーバーにデフォルトの PostScript フィルタを追加します。これらのフィルタでは処理できない印刷ニーズがある場合は、カスタム印刷フィルタの作成方法については、「新しい印刷フィルタを作成する方法」を参照してください。
印刷サーバーにスーパーユーザーまたは lp としてログインします。
lpfilter コマンドを使用し、印刷フィルタの定義に基づく印刷フィルタを追加します。
# lpfilter -f filter-name -F filter-def
-f filter-name |
印刷フィルタ用に選択する名前 |
-F filter-def |
印刷フィルタの定義名 |
次のコマンドの出力の中の印刷フィルタについての情報をチェックして、印刷フィルタが追加されているか確認します。
# lpfilter -f filter-name -l
次の例は、daisytroff.fd 印刷フィルタ定義を持つ daisytroff 印刷フィルタを追加するコマンドを示しています。
# lpfilter -f daisytroff -F /etc/lp/fd/daisytroff.fd
印刷サーバーにスーパーユーザーまたは lp としてログインします。
lpfilter コマンドを使用して印刷フィルタを削除します。
# lpfilter -f filter-name -x
-f filter-name |
削除する印刷フィルタ名 |
-x |
指定したフィルタを削除する |
次のコマンドを使用して、フィルタが削除されていることを確認します。指定した名前のフィルタがないというエラーメッセージが表示されます。
# lpfilter -f filter-name -l
次の例は、daisytroff 印刷フィルタを削除するコマンドを示しています。
# lpfilter -f daisytroff -x
印刷サーバーにスーパーユーザーまたは lp としてログインします。
lpfilter コマンドを使用して、印刷フィルタに関する情報を要求します。
# lpfilter -f filter-name -l
-f filter-name |
情報を表示したい印刷フィルタ。利用できるすべての印刷フィルタに関する情報を表示するには、filter-name に all を指定する |
-l |
指定したフィルタに関する情報を表示する |
指定した 1 つ以上の印刷フィルタに関する情報が表示されます。
次の例は、postdaisy 印刷フィルタに関する情報を要求するコマンドと、それに応答して表示される情報を示しています。
# lpfilter -f postdaisy -l Input types: daisy Output types: postscript Printer types: any Printers: any Filter type: slow Command: /usr/lib/lp/postscript/postdaisy Options: PAGES * = -o* Options: COPIES * = -c* Options: MODES group = -n2 Options: MODES group¥=¥([2-9]¥) = -n¥1 Options: MODES portrait = -pp Options: MODES landscape = -pl Options: MODES x¥=¥(¥-*[¥.0-9]*¥) = -x¥1 Options: MODES y¥=¥(¥-*[¥.0-9]*¥) = -y¥1 Options: MODES magnify¥=¥([¥.0-9]*¥) = -m¥1
次の例は、daisytroff フィルタに関する情報をファイルにリダイレクトするコマンドを示しています (そのフィルタのフィルタ定義が作成されます)。これは、うっかりフィルタ定義を削除してしまった場合に便利です。
# lpfilter -f daisytroff -l > daisytroff.fd
次の例は、システムに追加されたすべての印刷フィルタを表示するコマンドと、それに応答して表示される情報を示しています。
# lpfilter -f all -l | grep Filter (Filter "download") Filter type: fast (Filter "postio") Filter type: fast (Filter "postior") Filter type: fast (Filter "postreverse") Filter type: slow
「フォーム」は、あらかじめ決められている形式に従って情報が印刷されている用紙です。普通紙と違って、通常、フォームにはテキストまたはグラフィックスが前もって印刷されています。フォームの一般的な例としては、企業のレターヘッド、送り状、小切手、領収書、ラベルなどがあります。
「フォーム」という用語には 2 つの意味があります。一つは物理的な媒体 (用紙) という意味で、もう一つは LP 印刷サービスの形式を定義するソフトウェアという意味です。
LP 印刷サービスを使用すると、フォームの使用方法を制御できます。この節では、フォームの追加、変更、削除、取り付けを行う方法と、フォームへのアクセスを制御する方法について説明します。
フォームを追加するときには、LP 印刷サービスに指示を与えて、そのフォームを利用可能なフォームのリストに加えます。また、フォームの記述と定義に必要な情報を与えなければなりません。フォームを追加するときに、その定義を入力できますが、はじめに定義を作成しておいて、ファイルに保存しておくことをお勧めします。ファイルを編集すれば、フォーム定義を変更できます。フォーム定義の作成方法については、「新しいフォーム定義を作成する方法」を参照してください。
LP 印刷サービスでは、フォーム定義は提供されません。
フォームを変更するには、異なる定義を持つフォームを追加し直さなければなりません。
LP 印刷サービスでは、定義できるフォームの数に制限はありません。ただし、不要なフォームは削除してください。不要なフォームがあると、印刷サービスに余計な負担をかける可能性があります。
フォームを印刷するには、プリンタに紙を装着し、コマンドを使用してフォームを「取り付け」、これによって、プリンタに送られる印刷要求がこのフォーム定義を使用して印刷されることを LP 印刷サービスに通知します。複数のフォームを使用する場合など、1 台のプリンタで異なる種類の印刷を行う場合には、次の作業を実行します。
紙を装着してフォームを取り付ける前にプリンタを使用不可にします。
フォームの準備ができたらプリンタを再び使用可能にします。そうしないと、LP 印刷サービスはプリンタでそのフォームを必要としないファイルを印刷し続けます。
フォームを取り付けるときには、正しく揃っているかどうかを確認してください。揃え方がフォームに対して定義されている場合は、揃え方が正しくなるようにプリンタを調整し終わるまで、フォームを取り付けた後でパターン印刷を繰り返すように要求できます。
プリンタに取り付けられているフォームの使用を変更または中止したい場合は、フォームを取り外して LP 印刷サービスに通知しなければなりません。
LP 印刷サービスにより、各プリンタにどのフォームが装着されているかを確認できます。また、フォームに印刷するときに必要な記述がなければ、LP 印刷サービスが通知します。フォームの記述を作成したり、各プリンタにフォームを装着したり取り外したりするのはシステム管理者の責任です。この作業はプリンタの設定時か、LP 印刷サービスからの警告時に行います。
ユーザーは印刷ジョブを印刷したいフォームを指定します。管理者は特定のフォームを装着して、フォームが使用できる状態にあり、どのプリンタに装着されているかを LP 印刷サービスに伝えます。ユーザーは特定のフォームを指定することによって印刷要求を出すことができます。LP 印刷サービスが要求を受け取ると、フォームの装着要求を警告メッセージとして管理者に送信します。
LP 印刷サービスから他の警告を要求するのと同じ方法で、フォームの取り付けに関する警告を要求します。警告の概要については、「障害の通知の設定」を参照してください。
LP 印刷サービスに対してフォームを定義し終わったら、チェックしたい情報に応じて 2 つのコマンドのどちらかでフォームの定義をチェックできます。
lpforms コマンドを使用してフォームの属性を表示します。また、コマンドの出力をファイルにリダイレクトして将来の参照に備えて保存できます。
lpstat コマンドを使用してフォームの現在の状態を表示します。内容を保護するため、位置揃えパターンは表示されません。
既存のフォーム名がわからない場合は、/etc/lp/forms ディレクトリの内容の一覧を表示して調べることができます。
どのプリンタやユーザーが、ネットワーク上で利用可能な一部またはすべてのフォームを使用できるかを制御できます。たとえば、経理部に属するユーザーだけが小切手のフォームを印刷できるようにしたい場合があります。また、特定のプリンタだけで利用できる小切手のフォームが必要な場合もあります。
フォームへのユーザーアクセスを制限するには、「フォームへのユーザーアクセスを制限する方法」を参照してください。フォームへのプリンタアクセスを制限するには、「フォームへのプリンタアクセスを制限する方法」を参照してください。
印刷サーバーにスーパーユーザーまたは lp としてログインします。
lpforms コマンドを使用し、フォーム定義に基づくフォームを追加します。
# lpforms -f form-name -F /etc/lp/forms/form
-f form-name |
フォーム用に選択した名前 |
-F /etc/lp/forms/form |
フォーム定義名 |
次のコマンドの出力に、フォームについての情報があるかをチェックして、フォームが追加されているか確認します。
# lpforms -f form-name -l
次の例は、medical.fmd フォーム定義を使用する medical フォームを追加するコマンドを示します。
# lpforms -f medical -F /etc/lp/forms/medical.fmd
フォームを使用する前に、そのフォームへのアクセスを 1 つ以上のプリンタに与えておかなければなりません。「フォームへのプリンタアクセスを制限する方法」を参照してください。
印刷サーバーにスーパーユーザーまたは lp としてログインします。
lpforms コマンドを使用してフォームを削除します。
# lpforms -f form-name -x
-f form-name |
削除するフォーム名 |
-x |
指定したフォームを削除する |
次のコマンドを使用して、フォームが削除されたか確認します。指定したフォーム名がないことを示すエラーメッセージが表示されます。
# lpforms -f form-name -l
次の例は、medical フォームを削除するコマンドを示しています。
# lpforms -f medical -x
印刷サーバーにスーパーユーザーまたは lp としてログインします。
reject コマンドを使用して、現在のフォームを取り外そうとしているプリンタ上で印刷要求を停止します。
# reject printer-name
printer-name |
フォームを取り外すプリンタ名 |
新しい印刷要求 (フォームを必要としない場合もあります) は、そのプリンタの待ち行列に入れられなくなります。
lpadmin コマンドを使用して、現在のフォームを取り外します。
# lpadmin -p printer-name -M -f none
このコマンドの変数 printer-name は、手順 2 と同じです。
現在のフォームは、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルから削除されます。
# lpadmin -p printer-name -M -f form-name[-a -o filebreak]
-p printer-name |
フォームを装着するプリンタ名 |
-M -f form-name |
装着するフォーム名 |
-a -o filebreak |
省略可能。フォームに位置揃えパターンが定義されている場合は、そのコピーを印刷できるようにする |
指定したフォームは、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルに追加されます。
# accept printer-name
これで、プリンタは新しく装着したフォームで印刷する準備ができました。
次のコマンドの出力の中の「Form mounted」見だしの下にあるフォーム名をチェックし、フォームが装着されていることを確認します。
$ lpstat -p printer-name -l
あるいは、新しいフォームを必要とする印刷要求を出して、プリンタの出力をチェックします。
次の例は、現在装着されているフォームをプリンタ luna から取り外すプロセスを示しています。
# reject luna destination "luna" will no longer accept requests # lpadmin -p luna -M f none # accept luna destination "luna" now accepting requests
次の例は、medical フォームをプリンタ luna 上に装着するプロセスを示しています。
# reject luna destination "luna" will no longer accept requests # lpadmin -p luna -M f medical -a -o filebreak # accept luna destination "luna" now accepting requests
印刷サーバーにスーパーユーザーまたは lp としてログインします。
lpadmin コマンドを使用して、フォームの装着に関する要求警告を設定します。
# lpforms -f form-name -A alert [-Q requests] [-W minutes]
-f form-name |
要求警告を設定したいフォーム名 |
-A alert |
フォームが要求されるときに出す警告の種類を指定する。alert に有効な値について詳しくは、表 42-2 を参照。有効な値は mail、write、または quiet。 mail または write を選択すると、あらかじめ定義された警告メッセージが表示される。この警告メッセージは、指定されたフォームの装着を促すもので、そのフォームを使用するように設定されている 1 つ以上の複数のプリンタ名が含まれる |
-Q requests |
警告が出される前に、フォームが必要な印刷要求がいくつ待ち行列に入っていなければならないかを指定する。このオプションを指定しなければ、印刷要求が待ち行列に 1 つ入っただけで警告が出される |
-W minutes |
警告が出される間隔 (分単位) を指定する。このオプションを指定しなければ、警告は一度だけ送られる |
次のコマンドの出力をチェックして、そのフォームに関する警告が追加されていることを確認します。
# lpforms -f form-name -A list
あるいは、警告を出すために印刷要求の低い番号を設定した場合、最小限の要求を満たすために十分な印刷要求を出し、フォームの装着を促す警告を受け取ることを確認します。
次の例は、印刷待ち行列に letterhead フォームに関する 10 の印刷要求があるときに、letterhead に関して 5 分ごとに電子メールで警告が送られるように設定するコマンドを示します。
# lpforms -f letterhead -A mail -Q 10 -W 5
次の例は、印刷待ち行列に letterhead フォームに関する 5 の印刷要求があるときに、letterhead に関して 10 分ごとにコンソールウィンドウに警告が送られるように設定するコマンドを示します。
# lpforms -f letterhead -A write -Q 5 -W 10
次の例は、invoice フォームに関して要求警告が送られないように設定するコマンドを示します。
# lpforms -f invoice -A none
印刷サーバーにスーパーユーザーまたは lp としてログインします。
lpforms コマンドを使用して、フォームに関する情報を要求します。
# lpforms -f form-name -l
-f form-name
|
情報を表示したいフォーム名。利用できるすべてのフォームに関する情報を表示するには、form-name に all を指定する |
-l |
指定したフォームを表示する |
指定した 1 つ以上のフォームに関する情報が表示されます。
次の例は、medical フォームに関する情報を表示するコマンドを示しています。
# lpforms -f medical -l Page length: 62 Page width: 72 Number of pages: 2 Line pitch: 6 Character pitch: 12 Character set choice: pica Ribbon color: black Comment: Medical claim form
次の例は、medical フォームに関する情報をファイルにリダイレクトするコマンドを示しています (このコマンドは、そのフォームのフォーム定義を作成します)。これは、うっかりフォーム定義を削除してしまった場合に便利です。
# lpforms -f medical -l > medical.fmd
印刷サーバーにログインします。
lpstat コマンドを使用して、フォームの現在の状態に関する情報を要求します。
$ lpstat -f form-name
-f form-name |
現在の状態を表示したいフォーム名。すべてのフォームの現在の状態を表示したい場合は、form-name に all を指定する |
指定した 1 つ以上のフォームの現在の状態に関する情報が表示されます。
次の例は、medical フォームの状態を表示しています。
$ lpstat -f medical,payroll form medical is available to you
印刷サーバーにスーパーユーザーまたは lp としてログインします。
lpforms コマンドを使用して、フォームへのユーザーアクセスを許可または拒否します。
# lpforms -f form-name -u allow:user-list | deny:user-list
-f form-name |
ユーザーアクセスの許可または拒否リストを作成するためのフォーム名 |
-u allow:user-list |
ユーザーアクセスの許可リストに追加するユーザー名。複数のユーザーログイン ID を指定する場合は、空白またはカンマで区切る。空白で区切る場合は、ID のリストを引用符で囲む。user-list の有効な値については、表 42-4 を参照
|
-deny:user-list |
ユーザーアクセス拒否リストに追加するユーザー名。複数のユーザーログイン名を指定する場合は、空白またはカンマで区切る。空白で区切る場合は、ID のリストを引用符で囲む。user-list の有効な値については、表 42-4 を参照 |
印刷サーバーの次のどちらかのファイルの指定されたフォーム用の許可または拒否のユーザーアクセスリストに、指定した 1 人以上のユーザーが追加されます。
/etc/lp/forms/form-name/allow /etc/lp/forms/form-name/deny
lpforms コマンドを使用して、ユーザーアクセスの許可リストと拒否リストを確認します。
# lpforms -f form-name -l
次の例は、ユーザー nathan と marcia にのみ check フォームへのアクセスを許可するコマンドを示しています。
# lpforms -f check -u allow:nathan,marcia
次の例は、ユーザー jones と smithによる dental フォームへのアクセスを拒否するコマンドを示しています。
# lpforms -f dental -u deny:"jones,smith"
印刷サーバーにスーパーユーザーまたは lp としてログインします。
lpadmin コマンドを使用して、プリンタ上でのフォームの使用を許可または拒否します。
# lpadmin -p printer-name -f allow:form-list | deny:form-list
-p printer-name |
フォームの許可または拒否リストを作成するプリンタ名 |
-f allow:form-list | deny:form-list |
許可または拒否リストに追加されるフォーム名。複数のフォーム名は空白またはカンマで区切る。空白で区切る場合は、フォーム名のリストを引用符で囲む |
指定した 1 つ以上のフォームは、印刷サーバーの次のどちらかのファイルの許可または拒否フォームリストに追加されます。
/etc/lp/printers/printer-name/form.allow /etc/lp/printers/printer-name/form.deny
次のコマンドを使用して、許可リストと拒否リストを確認します。
# lpstat -p printer-name -l
次の例では、プリンタ luna に medical、dental、check の各フォームへのアクセスのみを許可します。
# lpadmin -p luna -f allow:medical,dental,check
次の例では、プリンタ luna による medical、dental、check の各フォームへのアクセスを拒否します。
# lpadmin -p luna -f deny:"medical dental payroll"
レーザプリンタがある場合は、PostScript 用のフォントをインストールして管理する必要があります。PostScript フォントをインストールするシステムと、その管理方法も決定する必要があります。多くのプリンタの場合、プリンタのインストール作業の一部としてフォントを設定します。
PostScript フォントは、プリンタかプリンタと通信を行うシステムのどちらかに、アウトライン形式で格納されます。文書の印刷時に、PostScript インタプリタは、アウトライン記述から適切な大きさの各文字を必要に応じて生成します。文書に必要なフォントが使用するプリンタに格納されていない場合は、文書が印刷される前にそのフォントをプリンタに転送しなければなりません。この転送処理を「フォントのダウンロード」といいます。
フォントは、次のいくつかの方法で格納または使用されます。
「プリンタ常駐フォント」は、プリンタに常時格納されています。これらのフォントは、メーカーによってプリンタの読み取り専用メモリー (ROM) にインストールされている場合があります。プリンタがディスクを備えている場合は、そのディスクにフォントをインストールしなければならないことがあります。ほとんどの PostScript プリンタには、35 の標準フォントが付いています。
「常時ダウンロードフォント」は、PostScript の exitserver プログラムを使用してプリンタに転送されます。常時ダウンロードフォントは、プリンタの電源を切るまでプリンタのメモリーに残っています。ダウンロードフォントに割り当てられたメモリーによって、PostScript 印刷要求では利用可能なサーバーのメモリーが減少します。exitserver プログラムを使用するには、プリンタシステムのパスワードが必要で、プリンタ管理者が使用します。プリンタで出力する大部分の印刷要求に特定のフォントを使用するときは、そのフォントを常時ダウンロードするようにしてください。
あまり頻繁に使用されないか、特殊な目的で使用されるフォントは、ユーザーのシステムに格納できます。ユーザーは、印刷要求を出すときにこれらのフォントを指定できます。そのフォントは印刷要求に追加されてプリンタに転送されます。印刷要求が処理されると、フォントに割り当てられたメモリー空間は、他の印刷要求が使用できるように解放されます。
「ホスト常駐フォント」は、多数のユーザーによって共有されるシステムに格納されます。フォントを格納するシステムは、印刷サーバーでも印刷クライアントでもかまいません。各ユーザーは印刷する文書のフォントを要求指定できます。この方法は、多数のフォントを利用できるときや、これらのフォントがすべての印刷要求で使用されるとは限らないときに便利です。そのフォントが印刷サーバーに接続されたプリンタでのみ使用される場合は、印刷サーバーに格納してください。そのフォントが 1 つのシステム上で、ネットワーク上の複数のプリンタに要求を依頼する可能性があるユーザーによって使用される場合は、フォントはそのユーザーのシステムに格納してください。
LP 印刷サービスには、ホスト常駐フォントを管理するための特殊なダウンロード用のフィルタがあります。また、troff プログラムで使用するために、多くの PostScript プリンタに搭載された 35 の標準 PostScript フォント用の troff のフォント幅テーブルも提供しています。
ほとんどの PostScript プリンタは、プリンタ内蔵の ROM にフォントが搭載されています。プリンタによっては、追加フォントを格納するためのディスクが用意されています。プリンタをインストールするときに、そのプリンタ用のフォントリストにプリンタ常駐フォントを追加してください。プリンタ常駐フォントがわかっていれば、フォントをネットワーク経由で必要以上に転送することがなくなります。各プリンタには搭載されているフォントの独自のリストがあります。これは、次のファイルに入っています。
/etc/lp/printers/printer-name/residentfonts
プリンタを印刷サーバーに接続するときには、印刷サーバー上にあってプリンタにダウンロードできるフォントが、residentfonts ファイル内のリストに含まれているかどうかを確認します。
プリンタ常駐フォントのリストが入っているファイルは、vi などのテキストエディタを使用して編集しなければなりません。
PostScript の文書がプリンタにダウンロードされていないフォント指定を含んでいるときは、「ダウンロードフィルタ」がこの印刷要求を管理します。ダウンロードフィルタは PostScript の文書作成規則を使用して、ダウンロードするフォントを決定します。
LP 印刷フィルタには、高速フィルタと低速フィルタがあります。高速フィルタは、印刷するファイルをすばやく準備し、フィルタが処理している間にプリンタにアクセスしなければなりません。低速フィルタはファイルの変換に時間がかかり、フィルタが処理している間にプリンタにアクセスする必要はありません。低速フィルタの例には、ASCII ファイルから PostScript ファイルへのフィルタがあります。
ダウンロードフィルタは高速フィルタです。フォントが印刷サーバー上にある場合は、フォントを自動的にダウンロードします。また、ダウンロードフィルタを使用して、印刷サーバーにフォントを転送することもできます。そのためには、lp コマンドに -y オプションを指定して、ダウンロードフィルタを低速フィルタとして呼び出すような新しいフィルタテーブルのエントリを作成します。あるいは、入力タイプを変更して、このフィルタの選択を強制することもできます。
PostScript の文書を検索して、要求されているフォントを判別します。これらの要求は、ヘッダコメントの PostScript 構造化コメント %%DocumentFonts: font1 font2 ... で指定されます。
プリンタ常駐フォントのリストを検索して、要求されたフォントをダウンロードしなければならないかどうかを判別します。
フォントがプリンタ上になければ、ダウンロードフィルタは (マップテーブルから適切なファイル名を読み取って) ホスト常駐フォントのディレクトリを検索し、要求されたフォントが利用可能かどうかを判別します。
そのフォントが利用可能であれば、フィルタはそのフォントのファイルを取り出し、印刷するファイルに追加します。
フォント定義ファイルとソースファイル (印刷するファイル) を PostScript プリンタに送ります。
フォントによっては、ホストシステムに格納されており、特定の印刷要求に応じてプリンタに転送されるものがあります。管理者は、システム上のすべてのユーザーが PostScript フォントを使用できるように管理する必要があります。そのためには、これらのフォントのインストール方法とインストール場所を知っておかなければなりません。フォントは名前で要求され、ファイルに格納されているので、LP 印刷サービスはフォント名とフォントを定義しているファイル名を対応付けるマップファイルを持っています。ホスト常駐フォントをインストールするときには、マップファイルとフォントリストの両方を更新しなければなりません。
PostScript プリンタで利用できるフォントは、ユーザーが作成した /usr/share/lib/hostfontdir/typeface/font ディレクトリに格納されます。この場合、typeface は palatino や helvetica などの名前に置き換えられ、font は bold や italic などの名前に置き換えられます。
印刷サーバーまたは印刷クライアント上でスーパーユーザーまたは lp としてログインします。
/etc/lp/printers/printer-name ディレクトリに変更します。
# cd /etc/lp/printers/printer-name
printer-name |
ダウンロードされた PostScript フォントをインストールするプリンタ名 |
residentfonts ファイルが存在しない場合は作成します。
# touch residentfonts
常駐させるダウンロードフォントを初めて追加する場合は、このファイルが存在しないことがあります。
residentfonts ファイルを編集して、すべてのプリンタ常駐フォントとダウンロードフォントを追加します。
vi などのエディタを使用できます。
ファイルを保存します。
印刷サーバーまたは印刷クライアント上でスーパーユーザーまたは lp としてログインします。
hostfontdir ディレクトリが存在しない場合は作成します。
# cd /usr/share/lib # mkdir hostfontdir # chmod 775 hostfontdir
# mkdir typeface
フォントファイルを適切なディレクトリにコピーします。
# cp filename /usr/share/lib/hostfontdir/typeface/font
マップテーブルに組み込むフォント名とファイル名を追加します。
/usr/share/lib/hostfontdir ディレクトリに変更します。
vi などのテキストエディタを使用して map ファイルを編集します。
テーブルに追加したいフォントごとに 1 行ずつエントリを追加します。エントリには、フォント名、スペース 1 個、フォントが常駐するファイル名の順に入力します。たとえば、次のようになります。
Palatino-Bold /usr/share/lib/hostfontdir/palatino/bold
ファイルを保存します。
適切なシステム上のマップテーブルにサンプルエントリを入れておけば、ユーザーは各自の印刷ジョブに (たとえば、Palatino Bold などの) フォントを適用できます。このフォントを含む印刷要求を依頼すると、LP 印刷サービスはそのファイルに /usr/share/lib/hostfontdir/palatino/bold のコピーを追加してから、プリンタに送信します。
troff を使用している場合は、このフォント用の新しいフォント幅テーブルを標準 troff フォントディレクトリ内で作成してください。