7.4. フォント

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

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

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

7.4.1. Fontconfig

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

時期が来れば、Fontconfig/Xftフォントシステムが コア X フォントシステムの 入れ換えになるでしょう。

誓要項目重要
 

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

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/か、 ~/.fonts/)で入れ換えます。

ティップヒント
 

個人ユーザーは、フォントをグラフィック的にインストールするために Nautilusのfonts:///を閲覧して新しいフォントを そこへドラッグすることが出来ます。

誓要項目重要
 

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

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

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

XFree86サーバーは、/etc/X11/XF86Config設定ファイルの Filesセクション下のFontPathエントリーで 指定してあるフォントサーバーを探します。FontPathエントリーの 詳細情報に関しては項7.3.1.4を御覧下さい。

XFree86サーバーは、指定のポート上でxfsサーバーに接続し、 フォント情報を取得します。この理由で、 Xがスタートできるように xfsサービスは実行中でなければなりません。特定のランレベル用の 設定サービスの情報はRed Hat Linux カスタマイズガイド内のサービスに 対するアクセスの制御と言う章を御覧下さい。

7.4.2.1. xfs設定

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

次に一般的なオプションの一覧を示します:

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

  • catalogue — 使用するフォントパスの順番のリストを 指定します。リスト内で1つのフォントパスと次のフォントパスの間に カンマが存在する必要があります。

    フォントパスの直後に文字列: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. ルートとして次のコマンドを使用してxfsフォントサーバーを 再起動します:

    service xfs reload