7.4. フォント

Red Hat Enterprise Linux は2つの方法を使用して X 稼動下でのフォントのディスプレイと管理を行ないます。より新しい Fontconfigフォントサブシステムがフォント管理をより簡単にし、anti-aliasing などの高度なディスプレイ機能を提供します。Qt 3 又は GTK+ 2 グラフィカルツールキットを使用してプログラムされたアプリケーションにこのシステムが自動的に利用されます。

互換性の為にRed Hat Enterprise Linuxには、コア X フォントサブシステムと呼ばれるオリジナルのフォントサブシステムが含まれています。このシステムは15年の歴史を持ち、 X Font Server(xfs) をベースにしています。

このセクションでは、上記の両方のシステムを使用して X の為のフォントの設定法を説明して行きます。

7.4.1. Fontconfig

Fontconfig フォントサブシステムを使用すると、アプリケーションがシステム上の フォントに直接アクセスできるようになり、Xft 又は他のレンダリング機構を使って 高度な anti-aliasingでのFontconfig フォントを描写できます。グラフィカルアプリケーションは Fontconfigと共に Xft ライブラリを使用してテキストを画面に描くことが出来ます。

そのうち、Fontconfig/Xftフォントサブシステムがコア X フォントサブシステムに 取って代わることになります。

重要重要
 

Fontconfig フォントサブシステムは、いまのところOpenOffice.orgには機能しません。 このアプリケーションは独自のフォント レンダリング技術を使用しています。

Fontconfig は、/etc/fonts/fonts.conf設定ファイルを使用することに注意して下さい。Fontconfig の設定ファイルは手動で編集しないで下さい。

ヒントヒント
 

新しいフォントシステムへの移動の為、GTK+ 1.2アプリケーションは、 フォント設定のダイアログ(パネル上から メインメニューボタン =>個人設定 => フォントと入る)での変更には影響されません。 これらのアプリケーションには、以下の行をファイル~/.gtkrc.mineに 追加することでフォントが設定できます:

style "user-font" {

fontset = "<font-specification>"

}

widget_class "*" style "user-font"

<font-specification>には、-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*などの従来の X アプリケーションで使用されるスタイルでのフォント指定を入れます。 コアフォントの完全一覧は、xlsfontsを実行して表示するか、 xfontselコマンドを使用してインテラクティブに 作成することができます。

7.4.1.1. Fontconfigへのフォントの追加

新しいフォントをFontconfigサブシステムに追加することは簡単明快な プロセスです。

  1. システム全体にフォントを追加するには、追加する新しいフォントを/usr/share/fonts/ディレクトリに追加します。local/など新しいサブディレクトリをその中に作成してユーザーフォントとインストール済のデフォルトフォントを区別すると便利です。

    フォントを個人のユーザー用に追加するには、その新しいフォントを ユーザーのホームディレクトリ内の.fonts/ディレクトリに コピーします。

  2. fc-cacheコマンドを使用して、以下の例に示すように フォント情報のキャッシュを更新します:

    fc-cache <path-to-font-directory>

    このコマンドでは、 <path-to-font-directory>には、その新しいフォントを収納しているディレクトリ (/usr/share/fonts/local/ または /home/<user>/.fonts/)を入れます。

ヒントヒント
 

個人ユーザーは、Nautilusアドレスバーに fonts:///と入力、新しいフォントファイルをそこへ ドラッグすることでフォントをグラフィカルにインストールすることもできます。

重要重要
 

フォントファイル名が拡張子.gzで終っている場合、それは圧縮してあり、解凍するまで使用できません。これを実行するには、gunzipコマンドを使用するか、又はファイルをダブルクリックして、フォントをNautilus内の1つのディレクトリにドラッグします。

7.4.2. コア X フォントシステム

互換性の為に Red Hat Enterprise Linuxは今でもコア X フォントサブシステムを提供しています。 これは、X フォントサーバー(xfs)を使用してフォントを X クライアントアプリケーションに提供します。

X サーバーは、/etc/X11/xorg.conf設定ファイルのFilesセクション内のFontPathディレクティブに指定してあるフォントサーバーを探します。FontPathエントリの詳細に関しては項7.3.1.4を参照してください。

X サーバーは、指定のポート上でxfsサーバーに接続し、フォント情報を取得します。この理由から、X がスタートするためにxfsサービスは実行中でなければなりません。特定のランレベルに対する設定サービスの設定方法についての詳細は、Red Hat Enterprise Linux システム管理ガイドにあるサービスに対するアクセスの制御の章を参照してください。

7.4.2.1. xfs設定

/etc/rc.d/init.d/xfsスクリプトはxfsサーバーを開始します。設定ファイル、/etc/X11/fs/configの中で数種のオプションが設定できます。

次は一般的なオプションの一覧です:

  • alternate-servers — このフォントサーバーが利用できない 場合に、使用する代替フォントサーバーの一覧を指定します。 一覧内の各フォントサーバーはコンマで区切る必要があります。

  • catalogue — 使用するフォントパスの順番の一覧を 指定します。一覧内の各フォントパスはコンマで区切る必要があります。

    フォントパスの直後に文字列:unscaledを使用して、そのパス内の無倍率のフォントを最初にロードさせます。その後全体のパスを再度指定すると、他の倍率付きのフォントもロードされるようになります。

  • client-limit — そのフォントサーバーが処理する クライアントの最大数を指定します。デフォルトは10です。

  • clone-selfclient-limitが打ち込まれた時、フォントサーバーにそれ自身の新しいバージョンをクローンできる様にします。デフォルトでは、このオプションはonです。

  • default-point-size — この値を指定しないフォント用に デフォルトのフォントを指定します。このオプションの値はデシポイントで設定してあります。 デフォルトの120は、12ポイントのフォントに相当します。

  • default-resolutions — X サーバーによりサポートされている解像度のリストを指定します。リスト内の各解像度はカンマで区切る必要があります。

  • deferglyphsglyphs (フォントを可視的に表示する為に使用されるグラフィックス)を遅延させるかどうか 指定します。この機能を無効にするにはnoneを使用し、全ての フォント用にこの機能を有効にするにはallを使用し、また この機能を16ビットフォント用にのみ有効にするには16を 使用します。

  • error-filexfs のエラーが記録された場所のパスとファイル名を指定します。

  • no-listenxfsが特定の プロトコルをリッスンしないように防止します。デフォルトでは、このオプションは tcpに設定されており、セキュリティの目的で xfsがTCPポートをリッスンしないようにしています。

    ヒントヒント
     

    ネットワーク上でフォントを処理するためにxfsを使用する場合は、 この行を削除します。

  • portno-listenが存在しない、 又はそれがコメントアウトしてある場合、xfsがリッスンする TCPポートを指定します。

  • use-syslog — システムエラーログを使用するかどうかを指定します。

7.4.2.2. xfsへのフォントの追加

コア X フォントサブシステム(xfs)にフォントを追加するには、 次のステップに従います:

  1. すでに存在していない場合は、ルートで次のコマンドを 使用して/usr/share/fonts/local/という ディレクトリを作成します:

    mkdir /usr/share/fonts/local/

    /usr/share/fonts/local/ディレクトリの作成が 必要な場合、次のコマンドをルートで入力してディレクトリをxfsの パスに追加します:

    chkfontpath --add /usr/share/fonts/local/ 
  2. 新しいフォントファイルを/usr/share/fonts/local/ ディレクトリにコピーします。

  3. ルートとして次のコマンドを発行して、フォント情報を更新します:

    ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/fonts.scale
  4. root になり次のコマンドを発行してxfsフォントサーバーを再ロードします。

    service xfs reload