7.4. フォント

Red Hat Enterprise Linux は2つの方法を使用してXFree86稼動下でのフォントのディスプレイと管理を 行ないます。より新しい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設定ファイルを 使用することに注意して下さい。これは/etc/X11/XftConfig から交替したものです。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コマンドを使用して、以下の例に示すように フォント情報のキャッシュを更新します:

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

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

ティップヒント
 

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

誓要項目重要
 

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

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

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

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

XFree86サーバーは、指定のポート上で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 — XFree86サーバーによりサポート されている解像度のリストを指定します。リスト内の各解像度はカンマで区切る必要が あります。

  • 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