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

フォントの管理

レーザプリンタがある場合は、PostScript 用のフォントをインストールして管理する必要がある可能性があります。PostScript フォントをインストールするシステムと、その管理方法を決定する必要がある可能性があります。多くのプリンタの場合、プリンタのインストール作業の一部としてフォントを設定します。

PostScript フォントは、プリンタかプリンタと通信を行うシステムのどちらかに、アウトライン形式で格納されます。文書の印刷時に、PostScript インタプリタは、アウトライン記述から適切な大きさの各文字を必要に応じて生成します。文書に必要なフォントが使用するプリンタに格納されていない場合は、文書が印刷される前にそのフォントをプリンタに転送しなければなりません。この転送処理を「フォントのダウンロード」といいます。

フォントは、次のいくつかの方法で格納または使用されます。

プリンタ常駐フォントの管理

ほとんどの PostScript プリンタは、プリンタ内蔵の ROM にフォントが搭載されています。プリンタによっては、追加フォントを格納するためのディスクが用意されています。プリンタをインストールするときに、そのプリンタ用のフォントリストにプリンタ常駐フォントを追加してください。プリンタ常駐フォントがわかっていれば、フォントをネットワーク経由で必要以上に転送することがなくなります。各プリンタには搭載されているフォントの独自のリストがあります。これは、次のファイルに入っています。


/etc/lp/printers/printer-name/residentfonts

プリンタをプリンタサーバーに接続するときには、プリンタサーバー上にあってプリンタにダウンロードできるフォントが、residentfonts ファイル内のリストに含まれているかどうかを確認します。

プリンタ常駐フォントのリストが入っているファイルは、vi などのテキストエディタを使用して編集しなければなりません。

ホスト常駐フォントのダウンロード

PostScript の文書がプリンタにダウンロードされていないフォント指定を含んでいるときは、「ダウンロードフィルタ」がこの印刷要求を管理します。ダウンロードフィルタは PostScript の文書作成規則を使用して、ダウンロードするフォントを決定します。

LP 印刷フィルタには、高速フィルタと低速フィルタがあります。高速フィルタは、印刷するファイルをすばやく準備し、フィルタが処理している間にプリンタにアクセスしなければなりません。低速フィルタはファイルの変換に時間がかかり、フィルタが処理している間にプリンタにアクセスする必要はありません。低速フィルタの例には、ASCII ファイルから PostScript ファイルへのフィルタがあります。

ダウンロードフィルタは高速フィルタです。フォントがプリンタサーバー上にある場合は、フォントを自動的にダウンロードします。また、ダウンロードフィルタを使用して、プリンタサーバーにフォントを転送することもできます。そのためには、lp -y コマンドを指定して、ダウンロードフィルタを低速フィルタとして呼び出すための新しいフィルタテーブルのエントリを作成します。あるいは、入力タイプを変更して、このフィルタの選択を強制することもできます。

ダウンロードフィルタは、次の 5 つの作業を実行します。

  1. PostScript の文書を検索して、要求されているフォントを判別します。これらの要求は、ヘッダコメントの PostScript 構造化コメント %%DocumentFonts: font1 font2 ... で指定されます。

  2. プリンタ常駐フォントのリストを検索して、要求されたフォントをダウンロードしなければならないかどうかを判別します。

  3. フォントがプリンタ上になければ、ダウンロードフィルタは (マップテーブルから適切なファイル名を読み取って) ホスト常駐フォントのディレクトリを検索し、要求されたフォントが利用可能かどうかを判別します。

  4. そのフォントが利用可能であれば、フィルタはそのフォントのファイルを取り出し、印刷するファイルに追加します。

  5. フォント定義ファイルとソースファイル (印刷するファイル) を PostScript プリンタに送ります。

ホスト常駐フォントのインストールと管理

フォントによっては、ホストシステムに格納されており、特定の印刷要求に応じてプリンタに転送されるものがあります。管理者は、システム上のすべてのユーザーが PostScript フォントを使用できるように管理する必要があります。そのためには、これらのフォントのインストール方法とインストール場所を知っておかなければなりません。フォントは名前で要求され、ファイルに格納されているので、LP 印刷サービスはフォント名とフォントを定義しているファイル名を対応付けるマップファイルを持っています。ホスト常駐フォントをインストールするときには、マップファイルとフォントリストの両方を更新しなければなりません。

PostScript プリンタで利用できるフォントは、ユーザーが作成した /usr/share/lib/hostfontdir/typeface/font ディレクトリに格納されます。この場合、typefacepalatinohelvetica などの名前に置き換えられ、fontbolditalic などの名前に置き換えられます。

ダウンロードされた PostScript フォントをインストールする方法

  1. プリンタサーバーまたは印刷クライアント上でスーパーユーザーまたは lp としてログインします。

  2. /etc/lp/printers/printer-name ディレクトリに変更します。


    # cd /etc/lp/printers/printer-name
    

    printer-name

    ダウンロードされた PostScript フォントをインストールするプリンタ名 

  3. residentfonts ファイルが存在しない場合は作成します。


    # touch residentfonts
    

    常駐させるダウンロードフォントを初めて追加する場合は、このファイルが存在しないことがあります。

  4. residentfonts ファイルを編集して、すべてのプリンタ常駐フォントとダウンロードフォントを追加します。

ホスト常駐 PostScript フォントをインストールする方法

  1. プリンタサーバーまたは印刷クライアント上でスーパーユーザーまたは lp としてログインします。

  2. hostfontdir ディレクトリが存在しない場合は作成します。


    # cd /usr/share/lib
    # mkdir hostfontdir
    # chmod 775 hostfontdir
    
  3. 新しい書体のディレクトリが存在しない場合は作成します。


    # mkdir typeface
    
  4. フォントファイルを適切なディレクトリにコピーします。


    # cp filename /usr/share/lib/hostfontdir/typeface/font
    
  5. マップテーブルに組み込むフォント名とファイル名を追加します。

    1. /usr/share/lib/hostfontdir ディレクトリに変更します。

    2. vi などのテキストエディタを使用して map ファイルを編集します。

      テーブルに追加したいフォントごとに 1 行ずつエントリを追加します。エントリには、フォント名、スペース 1 個、フォントが常駐するファイル名の順に入力します。たとえば、次のようになります。


      Palatino-Bold /usr/share/lib/hostfontdir/palatino/bold
    3. ファイルを保存します。

      適切なシステム上のマップテーブルにサンプルエントリを入れておけば、ユーザーは各自の印刷ジョブに (たとえば、Palatino Bold などの) フォントを適用できます。このフォントを含む印刷要求を依頼すると、LP 印刷サービスはそのファイルに /usr/share/lib/hostfontdir/palatino/bold のコピーを追加してから、プリンタに送信します。

  6. troff を使用している場合は、このフォント用の新しいフォント幅テーブルを標準 troff フォントディレクトリ内で作成します。