この章では、LP 印刷サービスや Solaris 印刷マネージャーを使って構成されたプリンタのあるシステム上で、文字セット、フィルタ、フォーム、およびフォントを管理するための概要情報や処理手順を提供します。
この章の内容は次のとおりです。
作業 |
説明 |
参照先 |
---|---|---|
印字ホイールまたはフォントカートリッジの定義 |
プリンタで使用できる印字ホイールまたはフォントカートリッジを定義する | |
印字ホイールまたはフォントカートリッジの取り外しと装着 |
現在の印字ホイールまたはフォントカートリッジを印刷サーバーの構成ファイルから削除する。印刷サーバーの構成ファイルに、新しい印字ホイールまたはフォントカートリッジを追加する | |
印字ホイールまたはフォントカートリッジの装着を促す警告の設定 |
印刷要求に対する電子メール警告を設定する | |
選択可能文字セットの別名の設定 |
選択可能な文字セットの terminfo 名が不適切な場合に別名を設定する |
テキストを各種フォント書体で印刷する方法は、プリンタによって異なります。たとえば、PostScript プリンタは、テキストをグラフィックスとして処理します。これらのプリンタは、さまざまなフォントでテキストを生成できます。また、ページ上の任意の位置、サイズ、または方向にテキストを配置できます。その他の形式のプリンタは、フォントの書体とサイズが限られています。これらのプリンタは、印字ホイール、フォントカートリッジ、プログラムされた選択可能な文字セットのいずれかを使用するためです。通常、1 つのプリンタ形式には 1 つの印刷方法が適用されます。
LP 印刷サービスでは、印字ホイールとフォントカートリッジの扱いが似ています。どちらの場合も、必要に応じ、ハードウェアをプリンタに装着する必要があります。印字ホイールまたはフォントカートリッジを物理的に装着する必要がある文字セットを、「プリンタに装着する文字セット」といいます。ハードウェア装着を必要としない文字セットは、プリンタにプログラムされた状態で提供されます。これらの文字セットは、印刷要求によって選択できます。これらは「ソフトウェア文字セット」と呼ばれます。
PostScript 以外のプリンタを設定する場合は、ユーザーが利用可能な、印字ホイールまたは選択可能な文字セットを、LP 印刷サービスに指定する必要があります。ユーザーが印刷要求を出すときに、lp -S コマンドを使用すると、ジョブの印刷に使用する印字ホイールまたは選択可能な文字セットを指定できます。ユーザーは、どの種類の文字セットが適用されるかを知る必要はありません。定義した名前でフォントスタイルを参照するだけです。たとえば、印字ホイールを gothic と定義したとします。この gothic 印字ホイールを要求するには、次のコマンドを使用します。
% lp -S gothic filename |
プリンタによってサポートされる選択可能文字セットは、そのプリンタの 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 プリンタ用の文字セットは表示されません。PostScript のフォントは、terminfo データベースのエントリではなく PostScript フィルタによって制御されます。PostScript フォントの管理方法については、「フォントの管理」を参照してください。
lpstat -p -l コマンドを使用して、印刷サーバーに接続されているプリンタごとに、定義されている選択可能文字セット名を表示できます。
別の文字セットを使用するもう一つの方法は、物理的にプリンタに装着できる、取り外し可能な印字ホイールまたはフォントカートリッジを使用することです。
プリンタに装着する文字セットを管理するには、LP 印刷サービスに以下の項目を指定します。
使用したい印字ホイール名
プリンタが異なる印字ホイールを必要とするときの警告方法
次に、ユーザーが lp -S コマンドを使用して特定の文字セットを要求すると、スケジューラは印字ホイールを装着するよう警告を送信します。さらに、印刷要求が印刷待ち行列に入れられます。正しい印字ホイールを装着して、印字ホイールを装着したことを LP 印刷サービスに指示すると、ジョブが印刷されます。詳しくは、「印字ホイールまたはフォントカートリッジの取り外しおよび装着の方法」を参照してください。
1 台のプリンタに対して複数の印字ホイールやフォントカートリッジを指定しなければ、LP 印刷サービスは、プリンタが 1 つの固定の印字ホイールまたはフォントカートリッジだけを持つとみなします。そのため、このプリンタを使用する際には、特殊な印字ホイールやフォントカートリッジをユーザーが指定することはできません。
選択可能文字セットとは違って、印字ホイールまたはフォントカートリッジ用に選択する名前は、terminfo データベースのエントリに限定されません。印字ホイール名またはフォントカートリッジ名は、ユーザーが LP 印刷サービスと通信を行うためにだけ使用されます。
ただし、印字ホイールまたはフォントカートリッジ用に選択する名前は、ユーザーがわかりやすいものにしてください。その名前がフォントの書体を表すようにしてください。さらに、その名前は、同じ種類の印字ホイールやフォントカートリッジ、または選択可能文字セットを持つプリンタすべてに共通にします。それによって、ユーザーは、どのプリンタ、印字ホイール、フォントカートリッジ、選択可能文字セットを使用するかを意識することなく、フォントの書体 (文字セット) を指定できます。
システム管理者とプリンタユーザーは、印字ホイールまたはフォントカートリッジの名前についての認識を共有する必要があります。そうしないと、ユーザーが要求する文字セットと管理者が装着するものが異なる可能性があります。
印字ホイールを確認する手順は、フォームを確認する手順と似ています。一部のプリンタは (通常、文字ベースの印字を行うプリンタ)、特定のフォントや文字セットを提供する取り外し可能な印字ヘッドを持っています。取り外し可能な印字ヘッドには、印字ホイールや印字カートリッジがあります。ユーザーは名前の付いた文字セットを要求できます。その文字セットが使用できない場合、LP 印刷サービスは root に通知します。印刷ジョブは、印字ホイールが交換されるまで、印刷待ち行列に格納されます。
LP 印刷サービスから出す警告を指定するのと同じ方法で、印字ホイールまたはフォントカートリッジを装着する際に出す警告を指定します。警告に関する一般的な情報については、「LP 印刷コマンドを使用したプリンタの障害回復の設定」を参照してください。
この手順では、プリンタで使用できる印字ホイールまたはフォントカートリッジを定義する方法を示します。
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
# 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 を繰り返します。
印字ホイールまたはフォントカートリッジが定義されていることを確認します。
文字セット名と状態「mounted」が表示されます。
# lpstat -p printer-name -l |
次の例は、プリンタ luna 上で印字ホイール pica を定義する方法を示しています。印刷クライアント名は asteroid です。
asteroid# lpadmin -p luna -S pica |
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
プリンタに装着された印字ホイールまたはフォントカートリッジを取り外します。
# lpadmin -p printer-name -M -S none |
印字ホイールまたはフォントカートリッジを取り外すプリンタ名を指定する
現在の印字ホイールまたはフォントカートリッジを取り外すように指定する
詳細は、lpadmin(1M) のマニュアルページを参照してください。
現在の印字ホイールまたはフォントカートリッジが、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルから削除されます。
印字ホイールまたはフォントカートリッジをプリンタから取り出します。
プリンタに新しい印字ホイールまたはフォントカートリッジを入れます。
# lpadmin -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 |
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
印字ホイールまたはフォントカートリッジの装着を促す警告を設定します。
# lpadmin -S hard-charset -A alert [-Q requests] [-W minutes] |
警告を設定したい印字ホイールまたはフォントカートリッジの、プリンタに装着する文字セット名を指定する
印字ホイールまたはフォントカートリッジが要求されたときに出される警告の種類を指定する。alert の有効値については、表 6–5 を参照してください。有効な値は mail、write、quiet などです。
mail または write を指定すると、特定の印字ホイールまたはフォントカートリッジの装着を促す、あらかじめ定義された警告メッセージが表示される。この警告メッセージには、この印字ホイールまたはフォントカートリッジを使用するように設定されている 1 つ以上のプリンタ名が含まれる
この印字ホイールまたはフォントカートリッジを必要とする印刷要求がいくつ待ち行列に入ったら警告を出すかを指定する。このオプションを指定しなければ、待ち行列に印刷要求が 1 つ入っただけで警告が出される
警告が出される間隔 (分単位) を指定する。このオプションを指定しなければ、警告は一度だけ送られる
詳細は、lpadmin(1M) のマニュアルページを参照してください。
警告は、印刷サーバーの /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 印字ホイールについての警告が送られないように設定する方法を示します。
# lpadmin -S elite -A none |
選択可能文字セットの terminfo 名が適切な場合は、この手順を実行する必要はありません。 terminfo データベースの使用については、「サポートされていないプリンタの terminfo エントリを追加する」を参照してください。
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
指定したプリンタタイプの選択可能文字セット名を表示します。
# tput -T printer-type csn |
terminfo データベースに入っているプリンタタイプを指定する。terminfo データベースのエントリについては、「プリンタタイプ」を参照。
指定したプリンタタイプの選択可能文字セットを表す番号 (0、1、2、3、4、5 など) を指定する。プロンプト記号に続いて選択可能文字セット名が表示される。たとえば、cs1 と指定すると、english# と表示される。
詳細は、tput(1) のマニュアルページを参照してください。
選択可能文字セットの別名の設定
# lpadmin -p printer-name -S select-charset1=alias1,select-charset2=alias2... |
選択可能文字セットの別名を設定するプリンタ名を指定する。
選択可能文字セット名を指定する。この名前は、手順 2 で検索できる。
指定した選択可能文字セットの別名。選択可能文字セット名の他に、この別名を使用できる。
このコマンドで複数の別名を設定できる。別名を区切るには空白またはコンマを使用する。空白を使用する場合は、別名のリストを引用符で囲む。
別名は、印刷サーバーの /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 |
または、選択可能文字セットに別名を使用する印刷要求を出して、出力をチェックします。
次の例は、プリンタ luna 上の選択可能な文字セット usascii に対する選択可能な文字セットの名前を表示する方法を示しています。プリンタ luna のプリンタタイプは ln03 です。この例は、選択可能文字セット 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 印刷サービスが解釈できないファイルタイプ用に、印刷フィルタを新規作成する | |
印刷フィルタの追加 |
印刷フィルタに関する情報を追加する。印刷フィルタとは、ファイルの内容形式を出力先プリンタが受け付けられる内容形式に変換するプログラムを指す | |
印刷フィルタの削除 |
印刷フィルタに関する情報を削除する。印刷フィルタとは、ファイルの内容形式を出力先プリンタが受け付けられる内容形式に変換するプログラムを指す | |
印刷フィルタに関する情報の表示 |
印刷フィルタに関する情報を削除する。印刷フィルタとは、ファイルの内容形式を出力先プリンタが受け付けられる内容形式に変換するプログラムを指す |
フィルタは、LP 印刷サービスがプリンタで解釈できないタイプのファイルを印刷する必要があるたびに使用されます。新しい印刷フィルタを作成するのは簡単ではありません。通常は幅広い経験が必要です。
新しい印刷フィルタを定義するには、次の 2 つの手順があります。
印刷フィルタプログラムを作成する
印刷フィルタ定義を作成する
印刷フィルタは、必要に応じて簡単なものでも複雑なものでもかまいません。フィルタには、入力形式、出力形式、そのフィルタ内でコマンド行引数を処理する言語を提供する複雑なオプションが入っています。
PostScript 以外のプリンタを使用する場合は、必要に応じて印刷フィルタを作成して追加する必要があります。まず、印刷フィルタの機能と、フィルタプログラムが満たさなければならない要件を理解しておく必要があります。
LP 印刷サービスには、/usr/lib/lp/postscript ディレクトリにフィルタプログラムが組み込まれています。これらのフィルタは、送信先プリンタが PostScript 形式のデータを必要とするほとんどの PostScript 印刷の状況に対応します。印刷フィルタプログラムは、2 進の実行可能プログラムファイルでなければなりません。
印刷フィルタには、高速フィルタと低速フィルタの 2 種類があります。
「高速フィルタ」は、ファイルの印刷準備にあまり処理時間がかかりません。また、実行するときにはプリンタにアクセスしなければなりません。プリンタ障害を検出する印刷フィルタは、高速フィルタでなければなりません。PRINTER キーワードをフィルタオプションとして使用するフィルタは、高速フィルタとしてインストールしなければなりません。
「低速フィルタ」は、ファイルの印刷準備に大量の処理時間がかかります。また、低速フィルタは実行するときにプリンタにアクセスする必要がありません。低速フィルタはバックグラウンドで実行されるので、プリンタと連結する必要がなく、低速フィルタを必要としないほかのファイルを印刷できます。
LP 印刷サービスは、印刷フィルタを使用して、ある内容形式から別の内容形式にファイルを変換します。プリンタごとに、受け付けられるファイル内容形式を指定できます。ユーザーは印刷要求を出すときにファイル内容形式を指定します。LP 印刷サービスはその内容形式のファイルを印刷できるプリンタを探します。多くのアプリケーションは各種プリンタに合わせてファイルを生成できるので、通常はこれで十分です。ただし、アプリケーションによっては、利用できるプリンタ上で印刷できないファイルを生成するものがあります。
LP 印刷サービスは、プリンタで直接受け付けられない形式のファイルの印刷要求を受信するたびに、内容形式が印刷要求と一致する、使用可能な (または指定されている) プリンタを探します。一致するプリンタがあれば、ファイルはフィルタを使用せずにそのプリンタに直接送信できます。一致するプリンタがない場合や、内容形式でフィルタを使用するように指定されている場合は、LP 印刷サービスはファイルの内容形式と入力内容形式が一致する、使用可能なフィルタを探します。LP 印刷サービスはさらに、プリンタの内容形式と出力内容形式が一致するフィルタを探します。適切なフィルタが見つかると、印刷要求はフィルタを通して渡されます。
印刷フィルタは、特殊印刷モードを処理し特殊ページの印刷を要求します。特殊印刷モードは、カスタマイズされたフィルタが必要な印刷要求の特性を印刷するために必要です。
フィルタは、次の特性を処理します。
プリンタタイプ
文字ピッチ
行ピッチ
ページ長
ページ幅
印刷ページ数
文字セット
フォーム名
部数
LP 印刷サービスは、これらの特性にデフォルト設定を提供します。ただし、印刷フィルタの方が一部の特性を効率よく処理できます。たとえば、プリンタによっては、LP 印刷サービスより効率よく複数のコピーを処理できるものがあります。その場合は、複数コピーのページ制御用フィルタを提供できます。
各プリンタは、独自の方法でプリンタ障害を検出し、障害信号を LP 印刷サービスに送信します。LP 印刷サービスは、印刷中にハングアップ (キャリア喪失) と過剰な遅延の有無をチェックするだけです。
プリンタによっては、優れた障害処理能力を持ち、障害の原因を記述するメッセージを送信できるものがあります。また、キャリア信号の喪失やデータフローのシャットオフを示すものとは異なる信号を使用して障害を示すプリンタもあります。これらの付加的なプリンタ障害情報を解釈するには、フィルタが必要です。
また、フィルタでは印刷要求を保留し、プリンタ障害がクリアされるまで待ってから印刷を再開できます。この機能を使用すると、中断された印刷要求全体を印刷し直す必要がありません。プリンタに使用される制御シーケンスを認識するフィルタだけが、ファイルの改ページ位置を判別できます。したがって、その種のフィルタ以外は、障害がクリアされた後で印刷を再開する必要があるファイル内の位置を検出できません。
印刷フィルタがメッセージを生成すると、そのメッセージは LP 印刷サービスによって処理されます。警告が使用可能になっている場合は、LP 印刷サービスがシステム管理者に警告を送信します。詳細は、「LP 印刷コマンドを使用したプリンタ障害警告の設定」を参照してください。
印刷フィルタは単純なものでも複雑なものでもかまいませんが、次の要件を満たさなければなりません。
フィルタは、標準入力からファイルの内容を取得して、変換後のファイルを標準出力に送信しなければなりません。
外部ファイルを参照するプログラムはフィルタとして使用できません。一般にユーザーは troff、nroff などのワープロプログラムをフィルタとして使用しがちです。LP 印刷サービスは、フィルタプログラムから「組み込みファイル」と呼ばれる他のファイルへの参照を認識しません。troff と nroff プログラムは組み込みファイルを使用できるので、フィルタとして使用すると失敗することがあります。処理を完了するために他のファイルを必要とするようなプログラムは、フィルタとして使用しないでください。
フィルタは、一般にユーザーがアクセスできないファイルに依存しないでください。ユーザーが直接実行するときにフィルタが失敗すると、LP 印刷サービスで実行しても失敗します。
低速フィルタは、ファイル内のエラーに関するメッセージを標準エラーに送信できます。高速フィルタはできません。低速フィルタからのエラーメッセージは収集され、印刷要求を出したユーザーに送信されます。
低速フィルタが信号を受信したために終了すると、印刷要求が停止され、その要求を出したユーザーに通知されます。同様に、低速フィルタが 0 以外の終了コードを返して終了すると、印刷要求が停止され、ユーザーに通知されます。高速フィルタからの終了コードは、異なる方法で処理されます。
フィルタにプリンタ障害を検出させたい場合は、次の要件も満たしてください。
フィルタは終了する前にできるだけ障害がクリアされるまで待つ必要があります。フィルタはまた、障害がクリアされたら、印刷を停止したページの先頭から印刷を再開する必要があります。継続機能を使用したくない場合は、LP 印刷サービスは管理者に警告する前にフィルタを停止します。
フィルタは、障害が認識されたらすぐにプリンタ障害メッセージを標準エラーに送信する必要があります。フィルタを終了する必要はなく、障害がクリアされるまで待つことができます。
フィルタは、ファイル内のエラーに関するメッセージを標準エラーに送信してはいけません。これらのメッセージは、ユーザーが読み込める標準出力に含める必要があります。
フィルタは、ファイルの印刷が終了すると (ファイル内のエラーによって正常に印刷できなかった場合も) 終了コード 0 を返して終了する必要があります。
フィルタは、プリンタ障害によって印刷要求を終了できなかった場合にのみ、0 以外の終了コードを返して終了する必要があります。
フィルタをフィルタテーブルに追加する場合は、高速フィルタとして追加しなければなりません。
印刷フィルタ定義は、フィルタ、実行する印刷フィルタプログラム、実行する変換の種類などを LP 印刷サービスに指示します。/etc/lp/fd ディレクトリには、一連のフィルタ記述子ファイルが組み込まれています。これらのファイルは、フィルタの特性 (高速または低速フィルタなど) を記述し、フィルタプログラム (/usr/lib/lp/postscript/postdaisy など) を指定します。
新しい印刷フィルタを定義するときには、印刷フィルタ定義を作成しなければなりません。
印刷フィルタ定義には、LP 印刷サービスが使用する次の情報が入っています。
実行するフィルタプログラム名
フィルタプログラムが受け付ける入力タイプ
フィルタプログラムが生成する出力タイプ
フィルタプログラムがジョブを送信できるプリンタタイプ
フィルタプログラムがジョブを送信できる特定のプリンタ名
フィルタタイプ (高速または低速)
オプション
lpfilter コマンドへの直接入力として特性を入力できます。また、フィルタの特性を指定するファイルを作成し、そのファイル名を lpfilter コマンド引数への入力として使用することもできます。この種のファイルは「フィルタ記述子ファイル」と呼ばれ、/etc/lp/fd ディレクトリに配置する必要があります。これらのファイルはフィルタそのものではありません。これらのファイルは、フィルタを指定します。
情報をファイルに格納するかコマンド行に直接入力するかに関係なく、次の形式を使用してください。
Command: command-pathname [options] Input types: input-type-list Output types: output-type-list Printer types: printer-type-list Printers: printer-list Filter type: fast or slow Options: template-list |
Options 以外のフィルタ特性に複数の定義 (つまり複数行) を与えると、2 番目の定義のみが印刷サービスに使用されます。
情報はどんな順序で配置してもかまいません。また、すべての情報が必要とは限りません。値を指定しなければ、次の表の値がデフォルトで割り当てられます。デフォルト値はあまり便利ではないので、明示的な値を指定するようにしてください。
表 10–1 lpfilter コマンドのデフォルト値
項目 |
デフォルト値 |
---|---|
入力タイプ |
任意 |
出力タイプ |
任意 |
プリンタタイプ |
任意 |
プリンタ |
任意 |
フィルタタイプ |
slow |
フィルタプログラムのフルパスを使用してください。プログラムが必ず必要とする固定オプションがある場合は、それらをこのコマンドに含めます。
入力タイプは、印刷フィルタが処理できるファイル内容形式のリストです。LP 印刷サービスも入力タイプ数を制限しますが、ほとんどのフィルタは 1 つの入力タイプしか受け付けません。いくつかのファイルタイプは、フィルタで処理できる程度に類似しています。14 文字以内の英数字とダッシュを使用した名前を指定できます。入力タイプ名の一部として下線 (_) は使用できません。
LP 印刷サービスは、一貫した命名規則に合致するように、これらの名前を使用してフィルタをファイルタイプと一致させます。たとえば、複数のフィルタが同じ入力タイプを受け付ける場合は、各フィルタ用に指定するときに、その入力タイプに同じ名前を使用します。ユーザーには、ファイルの印刷を依頼するときにファイルタイプの識別方法がわかるように、これらの名前を通知してください。
出力タイプは、フィルタが出力として生成できるファイルタイプのリストです。入力タイプごとに、フィルタは 1 つずつ出力タイプを生成します。ただし、出力タイプはジョブごとに異なることがあります。出力タイプ名は、14 文字以内の英数字とダッシュ (-) です。
出力タイプ名は、利用できる (ローカルまたはリモート) プリンタのタイプと一致するか、他のフィルタで処理される入力タイプと一致しなければなりません。LP 印刷サービスは、ファイルを変換するために異なるフィルタを複数回かける必要があることがわかると、フィルタをシェルパイプラインにグループ化します。このように複雑な処理はほとんど必要ありませんが、LP 印刷サービスではこの処理を実行できます。ユーザーが印刷したいあらゆるファイルを入力タイプにするフィルタの集合を探して、各ファイルをプリンタで処理できるファイルタイプに直接変換してください。
プリンタタイプは、印刷フィルタがファイルを変換できるプリンタタイプのリストです。ほとんどのプリンタとフィルタの場合、これは出力タイプのリストと同じなので、フィルタ定義のこの部分はブランクにしておいてかまいません。しかし、別のリストを使用することもできます。たとえば、初期化には 1 つのプリンタタイプだけを使用するプリンタがあるとします。それでも、このプリンタは複数のファイル内容形式を認識できます。実際には、このプリンタには、各種ファイルタイプを、処理できるファイルタイプに変換する内部フィルタが付いています。したがって、1 つのフィルタは、プリンタで処理できるファイルタイプに合った複数の出力タイプのいずれかを生成できます。印刷フィルタには、そのプリンタタイプで機能することを示すマークを付ける必要があります。
もう 1 つの例として、同じファイルタイプを受け付けるものとして表示される 2 つのモデルのプリンタを使用できます。ただし、内部に若干違いがあるので、一方のプリンタが生成する結果と異なります。それらのプリンタには、A と B など、異なるプリンタタイプであることを示すラベルを付けます。この場合、B はズレがある方のプリンタです。タイプ B のプリンタで生成されるズレを考慮してファイルを調整するフィルタを作成します。このフィルタはこの種のプリンタタイプにのみ必要なので、タイプ B プリンタでのみ機能するものとして指定します。
一般に、印刷フィルタはその出力を受け付けるどのプリンタでも機能するので、通常はフィルタ定義のこの部分をスキップできます。
ただし、プリンタによっては、フィルタが生成する出力に適したものと適さないものがあります。たとえば、1 台のプリンタを高速出力専用にして、フィルタを通す必要がないファイルのみをそのプリンタに送信できます。同じタイプの他のプリンタは、印刷前に広範囲にフィルタを通す必要があるファイルに使用できます。
LP 印刷サービスは、「フィルタのタイプ」で説明しているように、高速フィルタと低速フィルタを認識します。
印刷モードで (lp -y コマンドを使用して) 呼び出される低速フィルタは、印刷要求が出されたシステム上で実行しなければなりません。LP 印刷サービスはモード値を印刷サーバーに渡せません。ただし、ファイル内容形式 (lp コマンドの -T オプションの後で指定) を印刷サーバー上の内容形式と一致させることはできます。したがって、印刷サーバー上で特殊モードを有効にしたい場合は、LP 印刷サービスが入力タイプと出力タイプを一致することができる内容形式を指定しなければなりません。
オプションは、各種の情報をフィルタコマンドのコマンド行引数にどのように変換するかを指定します。この情報には、ユーザーからの (印刷要求を伴う) 指定、プリンタ定義、要求の処理に使用されるフィルタによって実装される仕様などを含めることができます。
印刷フィルタオプションの定義には 13 個の情報源があり、それぞれが「キーワード」で表されています。各オプションは「テンプレート」内で定義されます。テンプレートとは、フィルタの特性値の 1 つに基づいてフィルタコマンドに渡されるオプションを定義する、フィルタ定義内のステートメントです。
フィルタ定義で指定するオプションには、13 個のキーワードをまったく使用しなくても、すべて使用しても、その一部を使用してもかまいません。また、完全なフィルタ定義に複数の定義が必要な場合は、1 つのキーワードを複数回指定することもできます。次の表に、印刷フィルタ定義におけるオプションを定義するための 13 個のキーワードを示します。
表 10–2 印刷フィルタオプションのキーワード
キーワード |
パターン |
例 |
|
---|---|---|---|
内容形式 (入力) |
INPUT |
内容形式 |
troff |
内容形式 (出力) |
OUTPUT |
内容形式 |
postscript, impress |
プリンタタイプ |
TERM |
プリンタタイプ |
att495 |
プリンタ名 |
PRINTER |
プリンタ名 |
lp1 |
文字ピッチ |
CPI |
四捨五入された 10 進数 |
10 |
行ピッチ |
LPI |
四捨五入された 10 進数 |
6 |
ページ長 |
LENGTH |
四捨五入された 10 進数 |
66 |
ページ幅 |
WIDTH |
四捨五入された 10 進数 |
80 |
印刷ページ数 |
PAGES |
ページリスト |
1-5,13-20 |
文字セット |
CHARSET |
文字セット |
finnish |
フォーム名 |
FORM |
フォーム名 |
invoice2 |
部数 |
COPIES |
整数 |
3 |
MODES |
モード |
landscape |
印刷フィルタ定義には、複数のテンプレートを含めることができます。複数のテンプレートを指定する場合は、1 行にコンマで区切って入力するか、先頭に Options: を付けて複数行に入力します。 接頭辞を含んでいる必要があります。
テンプレートの形式は次のとおりです。 keywordpattern = replacement
keyword は、フィルタの特定の特性に関して登録されたオプションのタイプを識別します。
pattern は、キーワードの特定のオプションです。
replacement は、キーワードが指定した値のときに発生する動作です。
特定のフィルタのオプションを定義する方法を示す例として、印刷サービススケジューラを使って次の条件でフィルタに印刷要求を割り当てたいものと仮定します。
フィルタで生成される OUTPUT のタイプが impress の場合は、フィルタに -I オプションを渡す。
フィルタで生成される OUTPUT のタイプが postscript の場合は、フィルタに -P オプションを渡す。
上記の条件を指定するには、lpfilter コマンドのオプションとして次のテンプレートを与えます。
Options: OUTPUT impress=-I, OUTPUT postscript=-P |
Options 行が長くなりすぎる場合は、次のように各テンプレートを別々の行に入れます。
Options: OUTPUT impress=-I Options: OUTPUT postscript=-P |
どちらのテンプレートでも、keyword は OUTPUT として定義されています。1 番目のテンプレートでは、パターンは impress で、replacement の値は -I です。2 番目のテンプレートでは、pattern の値は postscript で、replacement の値は -P です。
各種テンプレート (つまり、各キーワードの pattern 引数と replacement 引数) に与える値を見つけるには、次のことに注意する必要があります。
INPUT テンプレートの値は、フィルタによる変換が必要なファイル内容形式からとっています。
OUTPUT テンプレートの値は、フィルタが生成すべき出力タイプからとっています。
TERM テンプレートの値はプリンタタイプです。
PRINTER テンプレートの値は、最終出力を印刷するプリンタ名です。
CPI、LPI、LENGTH、WIDTH の各テンプレートの値は、ユーザーの印刷要求、使用するフォーム、またはプリンタのデフォルト値からとっています。
PAGES テンプレートの値は、印刷すべきページのリストです。通常、これはコンマで区切ったページ範囲のリストです。各ページ範囲は、ダッシュで区切った 1 対の数値、または単一の数字からなります(たとえば、1–5,6,8,10 は 1 ページから 5 ページまでと、6 ページ、8 ページ、10 ページを示します)。ただし、印刷要求に -P オプションで値を与えると、印刷要求は変更されずに渡されます。
CHARSET テンプレートの値は、使用する文字セット名です。
FORM テンプレートの値は、lp -f コマンド (印刷要求を出すのに使用するコマンド) で要求したフォーム名です。
COPIES テンプレートの値は、ファイルの印刷部数です。フィルタがこのテンプレートを使用する場合、LP 印刷サービスはフィルタがかけられたファイルの印刷部数を「1」に減らします。この「1 部」にはフィルタによって生成される複数のコピーが含まれます。
MODES テンプレートの値は、lp -y コマンドからとっています。ユーザーは複数の -y オプションを指定できるので、MODES テンプレートは複数の値をとることがあります。値はユーザーが与えた順に左から右に適用されます。
replacement オプションは、テンプレートの値をフィルタプログラムに与える方法を示します。通常はリテラルオプションですが、値の位置を示すプレースホルダのアスタリスク (*) が付いていることがあります。pattern と replacement には、ユーザー入力オプションからフィルタオプションへの複雑な変換を行うために、ed コマンドの正規表現の構文を使用することもできます。ed の正規表現の構文は、\( ... \) および \n も含め、すべて使用できます。これらの構文を使用すると、pattern オプションの各部を抽出して replacement オプションにコピーできます。また、& オプション使用すると、pattern オプション全体を replacement オプションにコピーできます。詳細は、ed(1) のマニュアルページを参照してください。
pattern オプションまたは replacement オプションにコンマまたは等号 (=) を含める場合は、その前にバックスラッシュ (\) を付けてください。これらの文字の前のバックスラッシュは、pattern オプションまたは replacement オプションが使用されるときに削除されます。
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
印刷フィルタプログラムを作成します。
印刷フィルタプログラムについては、「印刷フィルタプログラムの作成」を参照してください。通常、PostScript プリンタ用のフィルタプログラムは /usr/lib/lp/postscript ディレクトリに入っています。作成したプログラムは、選択したディレクトリ内の /usr/lib/lp ディレクトリの下に入れる必要があります。
印刷フィルタ定義を作成します。
印刷フィルタ定義については、「印刷フィルタ定義の作成」を参照してください。印刷フィルタ定義はテキストファイルに保存する必要があります。使用しやすいように、通常、フィルタ定義は /etc/lp/fd ディレクトリに入っており、接尾辞 .fd で識別されます。
印刷フィルタを印刷サーバーに追加します。
詳細は、「印刷フィルタを追加する方法」を参照してください。
次の例は、 N37 または Nlp を simple に変換するために使用する印刷フィルタ定義を示しています。
Input types: N37, Nlp, simple Output types: simple Command: /usr/bin/col Options: MODES expand = -x Options: INPUT simple = -p -f |
この例で、印刷フィルタプログラム名は col です。新しい印刷フィルタを印刷サーバーに追加すると、ユーザーの印刷要求は次のように処理されます。
ユーザーが次のコマンドを入力した場合
$ lp -y expand report.doc |
印刷フィルタプログラムは次の引数を使用して実行され、ファイルが変換されます。
/usr/bin/col -x -p -f |
ユーザーが次のコマンドを入力した場合
$ lp -T N37 -y expand report.doc |
印刷フィルタプログラムは次の引数を使用して実行され、ファイルが変換されます。
/usr/bin/col -x |
次の例は、troff から PostScript ファイルに変換するために使用する印刷フィルタ定義を示しています。
Input types: troff Output types: postscript Printer types: PS Filter type: slow Command: /usr/lib/lp/postscript/dpost Options: LENGTH * = -l* Options: MODES port = -pp, MODES land = -pl Options: MODES group \=\([1-9]\) = -n\l |
この例で、印刷フィルタプログラム名は dpost です。このフィルタプログラムは入力タイプ troff をとり、postscript 出力を生成し、タイプ PS (PostScript) のすべてのプリンタで機能します。ユーザーは、用紙方向を縦モードにするか横モードにするかを尋ねるプロンプトが表示されたときに、それぞれの省略形 port または land を指定するだけですみます。これらのオプションは LP 印刷サービスに固有ではないので、ユーザーは lp -y コマンドを使用して指定しなければなりません。
新しい印刷フィルタを印刷サーバーに追加すると、印刷要求は次のように処理されます。
ユーザーが次のコマンドを入力し、横方向、ページ長 60 行で、troff ファイルタイプを PostScript プリンタ (タイプ PS) で印刷するように要求した場合
$ lp -T troff -o length=60 -y land -d luna ch1.doc |
次の引数が指定された印刷フィルタプログラム dpost コマンドが、ファイルを変換します。
/usr/lib/lp/postscript/dpost -l60 -pl |
ユーザーが次のコマンドを入力した場合
$ lp -T troff -y group=4 -d luna ch1.doc |
次の引数が指定された印刷フィルタプログラム dpost コマンドが、ファイルを変換します。
/usr/lib/lp/postscript/dpost -n4 |
印刷フィルタは、ファイルの内容形式を出力先プリンタが受け付けられる内容形式に変換するプログラムです。
LP 印刷サービスはフィルタを使用して、次の機能を提供します
ファイルを特定タイプのプリンタで正しく印刷できるように、1 つのデータ形式から別のデータ形式に変換する。
両面印刷、横方向印刷、ドラフト印刷、または高品質印刷などの特別な印刷モードを処理する。
プリンタの障害を検出して LP 印刷サービスに通知する。その結果、印刷サービスはユーザーとシステム管理者に警告を出すことができる。
すべての印刷フィルタが上記のすべての機能を実行できるわけではありません。各機能はプリンタに固有なので、別々に実装できます。
LP 印刷サービスは、表 10–3 に示す PostScript フィルタを提供します。これらのフィルタプログラムは、/usr/lib/lp/postscript ディレクトリに入っています。通常、PostScript 印刷を行う場合は、印刷サーバーの設定時にフィルタプログラムをインストールする以外に何も行う必要はありません。Solaris 印刷マネージャーが提供されるフィルタを自動的に使用可能にします。ただし、他のプリンタを管理する場合は、それらのプリンタの印刷フィルタを管理する必要がある場合があります。
新しい印刷フィルタを作成するには、印刷フィルタプログラムを作成し、印刷フィルタの定義を作成する必要があります。フィルタには、入力形式、出力形式、そのフィルタ内でコマンド行引数を処理する言語を提供する複雑なオプションが入っています。説明と手順については、「新しい印刷フィルタの作成」を参照してください。
印刷フィルタの追加、変更、削除、または復元は、印刷サーバーでだけ可能です。
lpfilter コマンドを使用すると、利用可能なフィルタを管理できます。フィルタに関するシステム情報は、/etc/lp/filter.table ファイルに格納されます。lpfilter コマンドは、テーブルに書き出すフィルタに関する情報を、フィルタ記述子ファイルから取得します。提供されているフィルタ記述子ファイル (PostScript のみ) は、/etc/lp/fd ディレクトリに入っています。実際のフィルタプログラムは、/usr/lib/lp ディレクトリに入っています。
LP 印刷サービスでは、定義できる印刷フィルタの数に制限はありません。使用しないフィルタを削除して LP 印刷サービスによる処理を減らすことができます。(LP は、特定の印刷要求に使用するフィルタを見つけるために、すべてのフィルタを検査します)。確信が持てない場合は、フィルタを削除しないでください。
フィルタを追加、変更、または削除すると、LP 印刷サービスによって提供されている元のフィルタの一部を上書きしたり、削除したりしてしまう可能性があります。必要に応じて元のフィルタセットを復元できます。また、追加したフィルタを削除することもできます。
SunOS ソフトウェアは、PostScript フィルタのデフォルトセットを提供しています。これらのフィルタは、Solaris 印刷マネージャーによって印刷サーバーに自動的に追加されます。LPD ベースの印刷サービスで使用されていた TranScript フィルタは、SunOS にも相当するものがある場合とない場合があります。次の表は、デフォルトの PostScript フィルタと、該当する TranScript フィルタが存在する場合はそのフィルタ名を示しています。
表 10–3 デフォルトの PostScript フィルタ
PostScript フィルタ |
動作 |
相当する TranScript |
---|---|---|
ダウンロード |
フォントをダウンロードする |
|
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 ソフトウェアには、次のフィルタは組み込まれていません。
TeX
oscat (NeWSprint opost)
Enscript
Enscript の代わりに postreverse、postprint、postio、dpost の各フィルタが組み込まれています。
Solaris 印刷マネージャーは、印刷サーバーにデフォルトの PostScript フィルタを追加します。これらのフィルタでは処理できない印刷を行う必要がある場合は、「新しい印刷フィルタを作成する方法」を参照してください。この節では、カスタム印刷フィルタの作成方法について説明します。
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
印刷フィルタの定義に基づく印刷フィルタを追加します。
# lpfilter -f filter-name -F filter-definition |
印刷フィルタ用に選択する名前を指定する
印刷フィルタの定義名を指定する
詳細は、lpfilter(1M) のマニュアルページを参照してください。
印刷フィルタが追加されたことを確認します。
# lpfilter -f filter-name -l |
次の例は、daisytroff.fd 印刷フィルタ定義を持つ daisytroff 印刷フィルタを追加する方法を示しています。
# lpfilter -f daisytroff -F /etc/lp/fd/daisytroff.fd |
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
印刷フィルタを削除します。
# lpfilter -f filter-name -x |
削除する印刷フィルタ名を指定する
指定したフィルタを削除する
フィルタが削除されたことを確認します。
# lpfilter -f filter-name -l |
指定した名前のフィルタがないというエラーメッセージが表示されます。
次の例は、daisytroff 印刷フィルタを削除する方法を示しています。
# lpfilter -f daisytroff -x |
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
印刷フィルタに関する情報を要求します。
# lpfilter -f filter-name -l |
情報を表示したい印刷フィルタを指定する。利用できるすべての印刷フィルタに関する情報を表示するには、filter-name に all を指定する
指定したフィルタに関する情報を表示する
指定した 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 |
次の例は、システムに追加されたすべての印刷フィルタを表示する方法を示します。コマンドの出力例も示します。
# 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 |
次の例は、daisytroff フィルタに関する情報をファイルにリダイレクトする方法を示しています 。この作業は、うっかりフィルタ定義を削除してしまった場合に便利です。
# lpfilter -f daisytroff -l > daisytroff.fd |
作業 |
説明 |
参照先 |
---|---|---|
新しいフォーム定義を作成する |
9 個の必須特性に関する情報を入力し、新しいフォームの定義を提供する | |
フォームへのユーザーアクセスを制限します。 |
ネットワーク上で利用可能なプリンタおよびフォームへのユーザーアクセスを制限します。 | |
フォームを追加します。 |
利用可能なフォームのリストにフォームの定義を追加し、LP 印刷サービスがフォームを認識できるようにします。 | |
フォームを削除します。 |
LP 印刷サービスによって認識された、利用可能なフォームのリストからフォームの定義を削除します。 | |
フォームを装着します。 |
mount コマンドを使用し、特定の定義を持つフォームに対する印刷要求を受け付けるよう、LP 印刷サービスに通知します。 | |
フォームの装着に関する警告を設定します。 |
プリンタに装着されたフォームに関する警告を設定します。 | |
フォームに関する情報を表示します。 |
/etc/lp/forms ディレクトリの内容を表示し、フォーム名およびその他のフォーム情報を参照します。 | |
フォームの現在の状態を表示します。 |
lpforms コマンドを使用して、フォームの現在の状態を表示します。 | |
フォームへのプリンタのアクセスを制限します。 |
プリンタがアクセスできるフォームを制御します。 |
新しいフォームを提供したい場合は、lpforms コマンドへの入力として 9 個の必須プリンタ特性 (ページ長とページ幅など) を指定し、その特性を定義しなければなりません。
LP 印刷サービスは、この情報を次の目的に使用します。
フォーム上に正しく印刷されるようにプリンタを初期化する。
フォームの処理方法に関する留意事項をシステム管理者に送信する。
フォーム名は、14 文字以内の英数字と下線であれば、任意に選択して使用できます。情報は次の形式でなければなりません。
Page length: scaled-number Page width: scaled-number Number of pages: integer Line pitch: scaled-number Character pitch: scaled-number Character set choice: character-set-name [,mandatory] Ribbon color: ribbon-color Comment: informal notes about the form Alignment pattern: [content-type] alignment pattern |
省略可能な語、[,mandatory] は、ユーザーがフォームの文字セット選択を無効にできないことを意味します。content-type は位置揃えパターンを使用して指定できますが省略可能です。この値を指定すると、印刷サービスは必要に応じて使用し、ファイルにフィルタをかけて印刷する方法を決定します。
次の 2 つの例外を除いて、情報は任意の順序で指定できます。
Alignment pattern (必ず最後に配置しなければなりません)
Comment (必ず Comment: プロンプトの行に続かなければなりません)
コメントにキー句 (Page length、 Page width など) で始まる行が含まれている場合は、キー句が行頭にならないように、その行を > 文字で始めます。先頭の > 文字は、コメントから取り除かれて表示されません。
すべての情報を指定する必要はありません。値を指定しないときは、次の表のデフォルト値が割り当てられます。lpforms コマンドを実行する前に、新しいフォームに関して次の情報を収集してください。
表 10–4 プリンタフォームのデフォルト値
値 |
デフォルト |
説明 |
---|---|---|
ページ長 |
66 行 |
フォームの長さ、または複数ページのフォームの場合は各ページの長さ。この情報は、行数でもインチ単位やセンチメートル単位でもかまわない |
ページ幅 |
80 列 |
文字数、インチ数、またはセンチメートル数によるフォームの幅 |
ページ数 |
1 |
複数ページのフォームのページ数。LP 印刷サービスは、この数値と印刷フィルタ (利用できる場合) を使用して、位置揃えパターンを 1 つのフォームの長さに制限する。「位置揃えパターン」の説明を参照。フィルタが利用できない場合は、LP 印刷サービスは出力を打ち切らない |
行ピッチ |
1 インチあたり 6 行 |
フォーム上の行間隔。これは「リーディング」とも呼ばれる。2 行間の間隔、つまりベースラインからベースラインまでの間隔を 1 インチまたは 1 センチあたりの行数で表す |
文字ピッチ |
1 インチあたり 10 文字 |
フォームに表示される文字間隔。文字の間隔を 1 インチまたは 1 センチあたりの文字数で表す |
文字セット選択肢 |
任意 |
このフォームに使用しなければならない文字セット、印字ホイール、またはフォントカートリッジ。ユーザーは、このフォームの使用時にも、各自の印刷要求に別の文字セットを選択できる。管理者は、単一の文字セットのみを使用するように指示することもできる |
リボンの色 |
任意 |
フォームを常に特定のカラーリボンで印刷しなければならない場合、LP 印刷サービスはどの色を使用すべきかを示す装着警告メッセージを表示できる |
コメント |
(デフォルトなし) |
ユーザーがフォームを理解する上で参考になる任意の情報。たとえば、フォーム名、そのバージョン、用途、または使用上の制限を示すことができる |
(デフォルトなし) |
LP 印刷サービスが 1 枚のブランクフォームを埋めるために使用するサンプルファイル。フォームを装着するときに、このパターンを印刷して正しく位置揃えすることができる。また、印刷サービスに印刷方法が認識されるように、このパターンの内容形式を定義することもできる |
LP 印刷サービスは、位置揃えパターン内の重要な情報にマスクをかけようとしません。小切手を位置揃えするときなど、サンプルフォームに重要な情報を印刷したくない場合は、該当するデータにマスクをかける必要があります。LP 印刷サービスは、スーパーユーザーまたは lp としてログインしたユーザー以外は読み取れないように、位置揃えパターンを安全な場所に格納します。
フォーム情報を収集し終わったら、フォームを lpforms コマンドに入力します。lpforms コマンドに入力する前に、まず、この情報を別の編集可能なファイルに記録してください。そうすれば、プロンプトの後で個々の情報を入力しなくても、そのファイルを入力として使用できます。
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
フォーム定義ファイルを作成します。
プリンタフォームの作成方法の概要については、「新しいプリンタフォームの作成」を参照してください。プリンタ定義はテキストファイルに保存してください。
フォームを LP 印刷サービスに追加します。
# lpadmin -p printer-name -M -f form-name |
フォームを印刷サーバーに追加します。
手順については、「フォームを追加する方法」を参照してください。
「フォーム」は、あらかじめ決められている形式に従って情報が印刷されている用紙です。普通紙と違って、通常、フォームにはテキストまたはグラフィックスが前もって印刷されています。フォームの一般的な例としては、企業のレターヘッド、送り状、小切手、領収書、ラベルなどがあります。
「フォーム」という用語には 2 つの意味があります。 一つは物理的な媒体 (用紙) という意味で、もう一つは LP 印刷サービスの形式を定義するソフトウェアという意味です。
LP 印刷サービスを使用すると、フォームの使用方法を制御できます。この節では、フォームの追加、変更、削除、装着、およびアクセス制限について説明します。
フォームを追加するときには、LP 印刷サービスに指示を与えて、そのフォームを利用可能なフォームのリストに加えます。また、フォームの記述と定義に必要な情報を与えなければなりません。フォームを追加するときに、その定義を入力できますが、はじめに定義を作成しておいて、ファイルに保存しておくことをお勧めします。ファイルを編集すれば、フォーム定義を変更できます。
LP 印刷サービスでは、フォーム定義は提供されません。
フォームを変更するには、異なる定義を持つフォームを追加し直さなければなりません。
LP 印刷サービスでは、定義できるフォームの数に制限はありません。ただし、不要なフォームは削除してください。不要なフォームがあると、印刷サービスに余計な負担をかける可能性があります。
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
フォーム定義に基づくフォームを追加します。
# lpforms -f form-name -F /etc/lp/forms/form |
フォーム用に選択する名前を指定する
フォームの定義名を指定する
詳細は、lpforms(1M) のマニュアルページを参照してください。
次のコマンドの出力をチェックして、フォームが追加されたことを確認します。
# lpforms -f form-name -l |
次の例は、medical.fmd フォーム定義を使用する medical フォームを追加する方法を示しています。
# lpforms -f medical -F /etc/lp/forms/medical.fmd |
フォームを使用する前に、そのフォームへのアクセスを 1 つ以上のプリンタに与えておかなければなりません。詳細は、「フォームへのプリンタアクセスを制限する方法」を参照してください。
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
フォームを削除します。
# lpforms -f form-name -x |
削除するフォーム名
指定したフォームを削除する
フォームが /etc/lp/forms/form-name ファイルから削除されます。
詳細は、lpforms(1M) のマニュアルページを参照してください。
フォームが削除されたことを確認します。
# lpforms -f form-name -l |
指定したフォーム名がないことを示すエラーメッセージが表示されます。
次の例は、medical フォームを削除する方法を示しています。
# lpforms -f medical -x |
フォームを印刷するには、プリンタに給紙し、コマンドを使用してフォームを「装着」する必要があります。このコマンドによって、プリンタに送られる印刷要求がこのフォーム定義を使用して印刷されることを LP 印刷サービスに通知します。
複数のフォームを使用する場合など、1 台のプリンタで異なる種類の印刷を行う場合には、次の作業を実行します。
給紙してフォームを装着する前にプリンタを使用不可にします。
フォームの準備ができたらプリンタを再び使用可能にします。そうしないと、LP 印刷サービスはプリンタでそのフォームを必要としないファイルを印刷し続けます。
フォームを装着するときには、正しく揃っているかどうかを確認してください。揃え方がフォームに対して定義されている場合は、フォームを装着した後でパターン印刷を繰り返すように要求できます。揃え方が正しくなるようにプリンタを調整し終わるまで、パターン印刷を繰り返します。
プリンタに取り付けられているフォームの使用を変更または中止したい場合は、フォームを取り外して LP 印刷サービスに通知しなければなりません。
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
現在のフォームを取り外そうとしているプリンタで印刷要求の受け入れを停止します。
# reject printer-name |
printer-name とは、フォームを取り外すプリンタ名です。
新しい印刷要求 (フォームを必要としない場合もある) は、そのプリンタの待ち行列に入れられなくなります。
# 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] |
フォームを装着するプリンタ名を指定する
装着するフォーム名を指定する
フォームに位置揃えパターンが定義されている場合は、そのコピーを印刷できるようにする
フォームを装着するプリンタ名
装着するフォーム名
指定したフォームは、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルに追加されます。
プリンタ上で印刷要求の受け付けを開始します。
# accept printer-name |
これで、プリンタは新しく装着したフォームで印刷する準備ができました。
フォームが装着されたことを確認します。
# 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 印刷サービスにより、各プリンタにどのフォームが装着されているかを確認できます。また、フォームに印刷するときに必要な記述がなければ、LP 印刷サービスが通知します。フォームの記述を作成したり、各プリンタにフォームを装着したり取り外したりするのは、システム管理者の責任です。この作業は、プリンタの設定時か、LP 印刷サービスからの警告への対応時に行います。
ユーザーは印刷ジョブを印刷したいフォームを指定します。管理者は特定のフォームを装着して、フォームが使用できる状態にあり、どのプリンタに装着されているかを LP 印刷サービスに伝えます。ユーザーは特定のフォームを指定することによって印刷要求を出すことができます。LP 印刷サービスが要求を受け取ると、フォームの装着要求を警告メッセージとして管理者に送信します。
LP 印刷サービスからのほかの警告を指定するのと同じ方法で、フォームを装着する際に出す警告を指定します。警告に関する一般的な情報については、「LP 印刷コマンドを使用したプリンタの障害回復の設定」を参照してください。
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
# lpforms -f form-name -A alert [-Q requests] [-W minutes] |
要求警告を設定したいフォーム名を指定します。
フォームが要求されるときに出す警告の種類を指定します。有効な値は mail、write、quiet などです。mail または write を選択すると、指定のフォームの装着を促す、あらかじめ定義された警告メッセージが表示されます。このメッセージには、このフォームを使用するように設定されている 1 つ以上のプリンタ名が含まれます。
このフォームを必要とする印刷要求がいくつ待ち行列に入ったら警告を出すかを指定します。このオプションを指定しなければ、印刷要求が待ち行列に 1 つ入っただけで警告が出されます。
警告が出される間隔 (分単位) を指定します。このオプションを指定しなければ、警告は一度だけ送られます。
要求警告は、印刷サーバーの /etc/lp/forms/form-name/alert.sh ファイルに追加されます。
フォームに関する警告が追加されていることを確認します。
# lpforms -f form-name -A list |
あるいは、警告を出すまでの印刷要求の数を低く設定した場合、最低限の条件を満たす印刷要求を出してみます。フォームの装着を促す警告を受け取ることを確認します。
次の例は、印刷待ち行列に letterhead フォームに関する 10 の印刷要求があるときに 5 分ごとに電子メールで警告が送られるように設定する方法を示します。
# lpforms -f letterhead -A mail -Q 10 -W 5 |
次の例は、印刷待ち行列に letterhead フォームに関する 5 の印刷要求があるときに 10 分ごとにコンソールウィンドウに警告が送られるように設定する方法を示します。
# lpforms -f letterhead -A write -Q 5 -W 10 |
次の例は、 invoice フォームに関して要求警告が送られないように設定する方法を示しています。
# lpforms -f invoice -A none |
LP 印刷サービスに対してフォームを定義し終わったら、2 つのコマンドのどちらかでフォームの定義をチェックできます。どちらのコマンドを使用するかは、チェックしたい情報に応じて選択します。
lpforms コマンドを使用してフォームの属性を表示します。また、コマンドの出力をファイルにリダイレクトして将来の参照に備えて保存できます。
lpstat コマンドを使用してフォームの現在の状態を表示します。内容を保護するため、位置揃えパターンは表示されません。
既存のフォーム名がわからない場合は、/etc/lp/forms ディレクトリの内容の一覧を表示して調べることができます。
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
フォームに関する情報を要求します。
# lpforms -f form-name -l |
情報を表示したいフォームを指定します。利用できるすべてのフォームに関する情報を表示するには、form-name に all を指定します。
指定したフォームを表示します。
指定した 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 -f form-name |
-f オプションは、現在の状態を表示したいフォーム名を指定します。すべてのフォームの現在の状態を表示するには、form-name に all を指定します。
指定した 1 つ以上のフォームの現在の状態に関する情報が表示されます。
次の例は、 medical フォームの状態を表示する方法を示しています。
$ lpstat -f medical form medical is available to you |
どのプリンタやユーザーが、ネットワーク上で利用可能な一部またはすべてのフォームを使用できるかを制御できます。たとえば、経理部に属するユーザーだけが小切手のフォームを印刷できるようにしたい場合があります。また、特定のプリンタだけで利用できる小切手のフォームが必要な場合もあります。
詳しくは、「フォームへのユーザーアクセスを制限する方法」 を参照してください。フォームへのプリンタアクセスを制限するには、「フォームへのプリンタアクセスを制限する方法」を参照してください。
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
フォームへのユーザーアクセスを許可または拒否します。
# lpforms -f form-name -u allow:user-list | deny:user-list |
ユーザーアクセスの許可リストまたは拒否リストを作成するためのフォーム名を指定する
ユーザーアクセス許可リストに追加するユーザー名。複数のユーザーログイン名を指定する場合は、空白またはコンマで区切る。空白を使用する場合は、ID のリストを引用符で囲む。
表 6–6 に、user-list の有効値を示します。
ユーザーアクセス拒否リストに追加するユーザー名。複数のユーザーログイン名を指定する場合は、空白またはコンマで区切る。空白を使用する場合は、ID のリストを引用符で囲む。表 6–6 に、user-list の有効値を示します。
指定したユーザーが、印刷サーバーの次のどちらかのファイルの、指定されたフォーム用のユーザーアクセスリストに追加されます。
/etc/lp/forms/form-name/allow
/etc/lp/forms/form-name/deny
ユーザーアクセスの許可リストおよび拒否リストが正しく設定されていることを確認します。
# 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 |
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
# lpadmin -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 check" |
作業 |
説明 |
参照先 |
---|---|---|
ダウンロード済みの PostScript フォントのインストール |
プリンタで出力する大部分の印刷要求に特定のフォントを使用するときは、そのフォントを常時ダウンロードする。ネットワーク上でのフォントの送信を回避するため、プリンタ常駐フォントをすべて追加する | |
ホスト常駐の PostScript フォントのインストール |
多数のユーザーが共有するシステムに、ホスト常駐のフォントをインストールする。この方法は、多数のフォントを利用できるときや、これらのフォントがすべての印刷要求で使用されるとは限らないときに使用する |
レーザープリンタでは、PostScript 用のフォントをインストールして管理する必要がある可能性があります。多くのプリンタの場合、プリンタのインストール作業の一部としてフォントを設定します。
PostScript フォントは、プリンタかプリンタと通信を行うシステムのどちらかに、アウトライン形式で格納されます。文書の印刷時に、PostScript インタプリタは、アウトライン記述から適切な大きさの各文字を必要に応じて生成します。文書に必要なフォントが使用するプリンタに格納されていない場合は、文書が印刷される前にそのフォントをプリンタに転送しなければなりません。この転送処理を「フォントのダウンロード」といいます。
フォントは、次のいくつかの方法で格納または使用されます。
「プリンタ常駐フォント」は、プリンタに常時格納されています。これらのフォントは、メーカーによってプリンタの読み取り専用メモリー (ROM) にインストールされている場合があります。プリンタがディスクを備えている場合は、そのディスクにフォントをインストールしなければならないことがあります。ほとんどの PostScript プリンタには、35 の標準フォントが付いています。
「常時ダウンロードフォント」は、PostScript の exitserver プログラムを使用してプリンタに転送されます。常時ダウンロードフォントは、プリンタの電源を切るまでプリンタのメモリーに残っています。ダウンロードフォントに割り当てられたメモリーによって、PostScript 印刷要求では利用可能なサーバーのメモリーが減少します。exitserver プログラムの使用は、プリンタシステムのパスワードを必要とし、プリンタの管理者に限定することができます。プリンタで出力する大部分の印刷要求に特定のフォントを使用するときは、そのフォントを常時ダウンロードするようにしてください。
あまり頻繁に使用されないか、特殊な目的で使用されるフォントは、ユーザーのシステムに格納できます。ユーザーは、印刷要求を出すときにこれらのフォントを指定できます。そのフォントは印刷要求に追加されてプリンタに転送されます。印刷要求が処理されると、フォントに割り当てられたメモリー空間は、他の印刷要求が使用できるように解放されます。
「ホスト常駐フォント」は、多数のユーザーによって共有されるシステムに格納されます。フォントを格納するシステムは、印刷サーバーでも印刷クライアントでもかまいません。各ユーザーは印刷する文書のフォントを要求指定できます。この方法は、多数のフォントを利用できるときや、これらのフォントがすべての印刷要求で使用されるとは限らないときに便利です。そのフォントが印刷サーバーに接続されたプリンタでのみ使用される場合は、印刷サーバーに格納してください。フォントが 1 つのシステムでのみ使用される場合で、そのシステムのユーザーがネットワーク上の複数のプリンタに要求を出す可能性があるときは、そのフォントをそのシステムに格納してください。
LP 印刷サービスには、ホスト常駐フォントを管理するための特殊なダウンロード用のフィルタがあります。LP 印刷サービスはまた、多くの PostScript プリンタに搭載された 35 の標準 PostScript フォント用の troff のフォント幅テーブルも提供しています。troff プログラムについては、troff(1) のマニュアルページを参照してください。
ほとんどの PostScript プリンタは、プリンタ内蔵の ROM にフォントが搭載されています。プリンタによっては、追加フォントを格納するためのディスクが用意されています。プリンタをインストールするときに、そのプリンタ用のフォントリストにプリンタ常駐フォントを追加してください。プリンタ常駐フォントがわかっていれば、フォントをネットワーク経由で必要以上に転送することがなくなります。各プリンタには搭載されているフォントの独自のリストがあり、次のファイルに格納されています。
/etc/lp/printers/printer-name/residentfonts |
プリンタを印刷サーバーに接続するときには、印刷サーバー上にあるフォントを residentfonts ファイル内のリストに含めるようにしてください。このファイルには、プリンタにダウンロードできるフォントも格納されていなければなりません。
プリンタ常駐フォントのリストが入っているファイルは、vi などのテキストエディタを使用して編集しなければなりません。
PostScript の文書に、プリンタにロードされていないフォントに対する要求が含まれている場合は、ダウンロードフィルタがこの要求を管理します。ダウンロードフィルタは PostScript の文書作成規則を使用して、ダウンロードするフォントを決定します。
LP 印刷フィルタには、高速フィルタと低速フィルタがあります。「高速フィルタ」は、ファイルの印刷をすばやく準備します。高速フィルタはまた、フィルタ処理中にプリンタへのアクセスが必要です。「低速フィルタ」はファイルの変換に時間がかかります。ただし、低速フィルタの場合は、フィルタ処理中にプリンタにアクセスする必要はありません。低速フィルタの例には、ASCII 文書から PostScript 文書へのフィルタがあります。
「ダウンロードフィルタ」は高速フィルタです。このフィルタは、フォントが印刷サーバー上にある場合は、フォントを自動的にダウンロードします。また、ダウンロードフィルタを使用して、印刷サーバーにフォントを転送することもできます。そのためには、lp -y コマンドを使用して、ダウンロードフィルタを低速フィルタとして呼び出すための新しいフィルタテーブルのエントリを作成できます。あるいは、入力タイプを変更して、このフィルタの選択を強制することもできます。
ダウンロードフィルタは、次の 5 つの作業を実行します。
PostScript の文書を検索して、要求されているフォントを判別します。これらの要求は、ヘッダコメントの PostScript 構造化コメント %%DocumentFonts: font1 font2 …で指定されます。
プリンタ常駐フォントのリストを検索して、要求されたフォントをダウンロードしなければならないかどうかを判別します。
フォントがプリンタ上になければ、ダウンロードフィルタはホスト常駐フォントのディレクトリテーブルを検索し、要求されたフォントが利用可能かどうかを判別します。この検索は、フィルタがマップから適切なファイル名を読み取って行ないます。
そのフォントが利用可能であれば、ダウンロードフィルタはそのフォントのファイルを取り出し、印刷するファイルに追加します。
ダウンロードフィルタは、フォント定義ファイルとソースファイルを PostScript プリンタに送ります。「ソースファイル」とは、印刷するファイルです。
フォントによっては、ホストシステムに格納されており、特定の印刷要求に応じてプリンタに転送されるものがあります。管理者は、システム上のすべてのユーザーが PostScript フォントを使用できるように管理する必要があります。そのためには、これらのフォントのインストール方法とインストール場所を知っておかなければなりません。フォントは名前で要求され、ファイルに格納されているので、LP 印刷サービスは「マップファイル」を持っています。マップファイルは、フォント名と、これらのフォントを格納しているファイル名を対応付けます。ホスト常駐フォントをインストールするときには、マップファイルとフォントリストの両方を更新しなければなりません。
PostScript プリンタで使用できるフォントは、管理者が作成したディレクトリに格納されます。ディレクトリは /usr/share/lib/hostfontdir/typeface/font です。この場合、変数 typeface は、palatino や helvetica などの名前に置き換えられます。また、変数 font は、bold や italic などの属性名に置き換えられます。
印刷サーバーで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
/etc/lp/printers/printer-name ディレクトリに移動します。
# cd /etc/lp/printers/printer-name |
変数 printer-name は、ダウンロードされた PostScript フォントをインストールするプリンタの名前です。
residentfonts ファイルが存在しない場合は作成します。
# touch residentfonts |
常時ダウンロードフォントを初めて追加する場合は、このファイルが存在しないことがあります。
residentfonts ファイルを編集します。すべてのプリンタ常駐フォントと常時ダウンロードフォントを追加します。
印刷サーバーまたは印刷クライアントで、スーパーユーザーになるか、同等の役割になります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
hostfontdir ディレクトリを作成します。
# cd /usr/share/lib |
新しい書体のディレクトリが存在しない場合は作成します。
# 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 フォントディレクトリ内に作成する必要があります。