Solaris のシステム管理 (第 2 巻)

文字セットの管理

プリンタでテキストを各種フォント書体で印刷する方法は、それぞれ異なります。たとえば、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 名 (たとえば usasciienglishfinnish など) が返されます。

通常、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 印刷サービスから出す警告を指定するのと同じ方法で、印字ホイールまたはカートリッジを装着する際に出す警告を指定します。警告の概要については、「障害の通知の設定」を参照してください。

印字ホイールとフォントカートリッジを定義する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. プリンタで使用できる印字ホイールまたはフォントカートリッジを定義します。

    print-server# lpadmin -p printer-name -S hard-charset1[,hard-charset2...]
    
    -p printer-name

    プリンタで使用できる印字ホイールまたはフォントカートリッジを定義する 

    -s hard-charset
    

    印字ホイールまたはフォントカートリッジを定義するプリンタ名。 

    印字ホイールまたはフォントカートリッジのプリンタに装着する文字セット名。このコマンドで複数のプリンタに装着する文字セット名を指定できる。文字セット名を区切るには空白またはコンマを使用する。空白を使用する場合は、文字セット名のリストを引用符で囲む。 

    ユーザーにとって意味のある名前を定義して、ユーザーに通知する 

    印字ホイールまたはフォントカートリッジの定義が、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルに追加されます。

  3. 印刷サーバーの印刷クライアントであるシステムにスーパーユーザーまたは lp としてログインします。

  4. 印刷クライアントに対して同じ印字ホイールまたはフォントカートリッジを定義します。

    print-client# lpadmin -p printer-name -S hard-charset1[,hard-charset2...]
    

    このコマンドの変数は、手順 2 と同じです。

    印字ホイールまたはフォントカートリッジの定義が、印刷クライアントの /etc/lp/printers/printer-name/configuration ファイルに追加されます。

  5. 印字ホイールまたはフォントカートリッジを使用する必要がある印刷クライアントごとに、手順 3手順 4 を繰り返します。

  6. 印刷サーバーと印刷クライアント上で、次のコマンド出力の「Character sets」見出しの後にある情報を確認します。

    $ lpstat -p printer-name -l
    

例 - 印字ホイールを定義する

次の例は、印刷クライアント asteroid のプリンタ luna 上で印字ホイール pica を定義するコマンドを示しています。

asteroid# lpadmin -p luna -S pica

印字ホイールまたはフォントカートリッジを取り外すまたは装着する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpadmin コマンドを使用して、プリンタ内の印字ホイールまたはフォントカートリッジを取り外します。

    # lpadmin -p printer-name -M -S none
    
    -p printer-name
    

    印字ホイールまたはフォントカートリッジを取り外すプリンタ名 

    -M -S none

    現在の印字ホイールまたはフォントカートリッジを取り外すように指定する 

    現在の印字ホイールまたはフォントカートリッジが、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルから削除されます。

  3. 印字ホイールまたはフォントカートリッジをプリンタから削除します。

  4. プリンタに新しい印字ホイールまたはフォントカートリッジを入れます。

  5. lpadmin コマンドを使用して、新しい印字ホイールまたはフォントカートリッジを装着します。

    # lpadmin -p printer-name -M -S hard-charset
    
    -p printer-name
    

    印字ホイールまたはフォントカートリッジを装着するプリンタ名 

    -M -S hard-charset
    

    装着したい印字ホイールまたはフォントカートリッジのプリンタに装着する文字セット名 

    印字ホイールまたはフォントカートリッジが、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルに追加されます。装着された印字ホイールまたはフォントカートリッジは、取り外されるか、新しいものが装着されるまで使用可能です。

  6. 次のコマンドの出力の中で、「Print wheels」または「Character set」の見だしの下にある情報をチェックします。印刷ホイール名または文字セット名と注意「mounted」が表示されます。

    $ lpstat -p printer-name -l
    

例 - 印字ホイールを取り外すまたは装着する

次の例は、プリンタ luna から現在の印字ホイールを取り外し、印字ホイール pica を装着するコマンドを示します。

# lpadmin -p luna -M -S none
# lpadmin -p luna -M -S pica

印字ホイールまたはフォントカートリッジの装着を促す警告を設定する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpadmin(1M) コマンドを使用して、印字ホイールまたはフォントカートリッジの装着を促す警告を設定します。

    # lpadmin -S hard-charset -A alert [-Q requests] [-W minutes]
    -S hard-charset
    

    警告を設定したい印字ホイールまたはフォントカートリッジのプリンタに装着する文字セット名 

    -A alert
    

    印字ホイールまたはフォントカートリッジが要求されたときに出される警告の種類を指定する。alert に有効な値については、表 4-2 を参照。有効な値は mailwritequiet など。

    mail または write を指定すると、あらかじめ定義された警告メッセージが表示される。この警告メッセージは、指定した印字ホイールまたはフォントカートリッジの装着を促すもので、それを使用するように設定されている 1 つ以上のプリンタ名が含まれる

    -Q requests
    

    警告が出される前に、印字ホイールまたはフォントカートリッジが、待ち行列に入っていなければならない印刷要求の数を指定する。このオプションを指定しなければ、待ち行列に印刷要求が 1 つ入っただけで警告が出される 

    -W minutes
    

    警告が出される間隔 (分単位) を指定する。このオプションを指定しなければ、警告は一度だけ送られる 

    警告は、印刷サーバーの /etc/lp/pwheels/charset-name/alert.sh ファイルに追加されます。

  3. 次のコマンドの出力をチェックして、印字ホイールまたはフォントカートリッジの装着を促す警告が追加されているかどうかを確認します。

    # 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(4) 名が正しい場合は、この手順を実行する必要はありません。terminfo データベースの使用方法については、「サポートされていないプリンタの terminfo エントリを追加する」を参照してください。


  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. tput(1) コマンドを使用して、指定したプリンタタイプの選択可能文字セット名を表示します。

    # tput -T printer-type csn
    
    -T printer-type
    

    terminfo データベースに入っているプリンタタイプ。terminfo データベースのエントリについては、「プリンタタイプ」を参照

    n
    

    指定したプリンタタイプの選択可能文字セットを表す番号 (0、1、2、3、4、5 など)。プロンプト記号に続いて選択可能文字セット名が表示される。たとえば、cs1 と指定すると、english# と表示される

  3. 選択可能文字セットの別名を設定します。

    # 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 ファイルに追加されます。

  4. 印刷サーバーの印刷クライアントであるシステムにスーパーユーザーまたは lp としてログインします。

  5. 選択可能文字セットの別名を設定します。

    # lpadmin -p printer-name -S select-charset1=alias1[,select-charset2=alias2...]
    

    このコマンドの変数は、手順 3 と同じです。

    別名は印刷クライアントの /etc/lp/printers/printer-name/configuration ファイルに追加されます。

  6. 別名を使用する必要がある印刷クライアントごとに、手順 4手順 5 を繰り返します。

  7. 印刷サーバーと印刷クライアント上で、次のコマンドの出力の中に選択可能文字セットの別名のリストがあることを確認します。

    $ 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