SUSE Linuxで追加のフォントをインストールするのは簡単です。フォントを、X 11フォントパスにある任意のディレクトリにコピーするだけです(項35.3.2. 「X11コアフォント」を参照)。 フォントを使用できるようにするには、インストール先ディレクトリが、/etc/fonts/fonts.confに設定されているディレクトリのサブディレクトリでなければなりません(項35.3.1. 「Xft」を参照)。
フォントファイルは、/usr/X11R6/lib/X11/fonts/truetypeなどの適切なディレクトリに(rootユーザで)手動でコピーできます。また、この作業は、KDEコントロールセンターでKDEフォントインストーラを使用して行うこともできます。結果は同じです。
フォントを実際にコピーする代わりに、シンボリックリンクを作成することもできます。たとえば、マウントされているWindowsパーティション上にライセンスを取得しているフォントがあり、それらのフォントを使用したい場合は、シンボリックリンクを作成します。次に、SuSEconfig--module fontsコマンドを実行します。
SuSEconfig--module fontsコマンドは、フォントを設定するスクリプト、/usr/sbin/fonts-configを実行します。このスクリプトが実行する事柄については、スプリプトのマニュアルページ(man fonts-config)を参照してください。
手順は、ビットマップフォント、TrueTypeフォントとOpenTypeフォント、およびType1 (PostScript)フォントの場合と同様です。これらのタイプのフォントはすべて、任意のディレクトリにインストールできます。CID-keyedフォントでは、若干異なる手順が必要です。詳細については、項35.3.3. 「CID-Keyedフォント」を参照してください。
X.Orgには、完全に異なる2つのフォントシステムがあります。それは、古いと新しく設計されたシステムです。以降のセクションでは、これらの2つのシステムについて簡単に説明します。
最初から、Xftのプログラマは、アンチエイリアスを含むスケーラブルフォントが適切にサポートされるようにしています。Xftが使用された場合、フォントは、X11コアフォントシステムにおけるXサーバではなく、そのフォントを使用するアプリケーションによってレンダリングされます。このようにすると、それぞれのアプリケーションは実際のフォントファイルにアクセスでき、グリフのレンダリング方法を完全に制御できます。これが、多数の言語においてテキストを正しく表示するための基本となっています。フォントファイルに直接アクセスできることは、印刷のためにフォントを組み込んで、画面出力と同じ印刷出力を得るのに役立ちます。
SUSE Linuxでは、2種類のデスクトップ環境KDEとGNOME、Mozilla、および他の多くのアプリケーションが、すでに Xftをデフォルトで使用しています。そのため、Xftはすでに、古いX11コアフォントシステムよりも多くのアプリケーションで使用されています。
Xftは、fontconfigライブラリを使ってフォントを検索し、フォントのレンダリング方法を制御します。fontconfigのプロパティは、グローバルな設定ファイル/etc/fonts/fonts.confとユーザ固有の設定ファイル~/.fonts.confによって制御されます。これらのfontconfig設定ファイルはどちらも、以下の行で始まっていなればなりません。
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
さらに、以下の行で終っていなければなりません。
</fontconfig>
フォントを検索するためのディレクトリを追加するには、以下のような行を付加します。
<dir>/usr/local/share/fonts/</dir>
ただし、これは通常、必要ありません。デフォルトで、ユーザ固有のディレクトリ~/.fontsは、すでに/etc/fonts/fonts.confに入っています。その結果、追加のフォントをインストールするには、それらのフォントを ~/.fontsにコピーするだけです。
また、フォントの見栄えを制御する規則を導入することもできます。例えば、次のように入力して、すべてのフォントについてアンチエイリアスを無効にします。
<match target="font"> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>
あるいは次のように入力します。
<match target="font"> <test name="family"> <string>Luxi Mono</string> <string>Luxi Sans</string> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>
この場合、特定のフォントのアンチエイリアスが無効になります。
デフォルトで、ほとんどのアプリケーションは、フォント名のsans-serif (または等価のsans)、serif、あるいはmonospaceを使用します。これらは、実際のフォントではなく、言語設定に応じて適切なフォントに解決されるエイリアスにすぎません。
ユーザは、規則を~/.fonts.confファイルに追加して、それらのエイリアスを簡単に好みのフォントに変換できます。
<alias> <family>sans-serif</family> <prefer> <family>FreeSans</family> </prefer> </alias> <alias> <family>serif</family> <prefer> <family>FreeSerif</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>FreeMono</family> </prefer> </alias>
ほとんどすべてのアプリケーションで、これらのエイリアスがデフォルトで使用されるので、システム全体が影響を受けます。そのため、個々のアプリケーションでフォント設定を変更しなくても、ほとんどどこででも好みのフォントを簡単に使用できます。
fc-listを使用して、どのフォントがインストールされており、使用可能になっているか調べます。たとえば、fc-listコマンドを実行すると、すべてのフォントのリストが表示されます。使用可能なスケーラブルフォント(:outline=true)の内、どのフォントがHebrew (:lang=he)に必要なすべてのグリフ、それらのフォント名(family)、それらのスタイル(style)、それらの幅(weight)、およびフォントを含むファイルの名前を含んでいるか調べるには、次のコマンドを入力します。
fc-list ":lang=he:outline=true" family style weight
上記のコマンドの出力は、以下のようになります。
FreeSansBold.ttf: FreeSans:style=Bold:weight=200
FreeMonoBoldOblique.ttf: FreeMono:style=BoldOblique:weight=200
FreeSerif.ttf: FreeSerif:style=Medium:weight=80
FreeSerifBoldItalic.ttf: FreeSerif:style=BoldItalic:weight=200
FreeSansOblique.ttf: FreeSans:style=Oblique:weight=80
FreeSerifItalic.ttf: FreeSerif:style=Italic:weight=80
FreeMonoOblique.ttf: FreeMono:style=Oblique:weight=80
FreeMono.ttf: FreeMono:style=Medium:weight=80
FreeSans.ttf: FreeSans:style=Medium:weight=80
FreeSerifBold.ttf: FreeSerif:style=Bold:weight=200
FreeSansBoldOblique.ttf: FreeSans:style=BoldOblique:weight=200
FreeMonoBold.ttf: FreeMono:style=Bold:weight=200
fc-listで調べることができる重要なパラメータ:
表 35.2. fc-listのパラメータ
パラメータ | 意味と有効な値 |
|---|---|
| フォントファミリの名前。たとえば、 |
| フォントメーカ。たとえば、 |
| フォントスタイル。たとえば、 |
| フォントがサポートする言語。例えば、ドイツ語には |
| フォント幅。たとえば、通常では |
| スラント。通常、なしでは |
| フォントを含むファイルの名前 |
| アウトラインフォントでは |
| スケーラブルフォントでは |
| ビットマップフォントでは |
| ピクセル単位でのフォントサイズ。fc-listとの関連で、このオプションはビットマップフォントでのみ有効 |
今日、X11コアフォントシステムは、ビットマップフォントだけでなく、Type1フォント、TrueTypeとOpenTypeフォント、CID-keyedフォントなどのスケーラブルフォントもサポートしています。Unicodeフォントもかなり前からサポートされています。X11 コアフォントシステムは1987年に、モノクロのビットマップフォントを処理する目的でX11 R1用に開発されました。上記で説明した拡張機能は、後から追加されたものです。
スケーラブルフォントは、アンチエイリアスとサブピクセルレンダリングなしでサポートされており、多数の言語用のグリフを持つ大きいスケーラブルフォントのロードには時間がかかります。Unicodeフォントを使用した場合にも時間がかかり、より多くのメモリが必要になります。
X11コアフォントシステムには、その他にも固有の弱点がいくつかあります。時代遅れになっており、これ以上拡張することはできません。下位互換性のために保持されていますが、可能なときはいつでも、新しいXftおよびfontconfigシステムを使用してください。
Xサーバは、操作のためにどのようなフォントが使用可能で、そのフォントがシステム内のどこにあるかを認識する必要があります。この情報は、有効なすべてのシステムフォントディレクトリへのパスを含むFontPath変数で処理されます。これらの各ディレクトリでは、ファイルfonts.dirにそのディレクトリ内で使用可能なフォントのリストがあります。FontPathは、起動時にXサーバにより生成されます。設定ファイル/etc/X11/xorg.confの各FontPath エントリ内で、有効なファイルfonts.dirが検索されます。これらのエントリは、Filesセクションにあります。実際のFontPathを表示するには、xset qを使用します。このパスは、xset を使用して実行時に変更することもできます。 パスを追加するには、xset +fp <path>を使用します。必要のないパスを削除するには、xset -fp <path>を使用します。
Xサーバがすでにアクティブである場合、マウントされたディレクトリに新たにインストールされたフォントは、コマンドxset fp rehashで使用可能にできます。このコマンドは、SuSEconfig --module fontsによって実行されます。コマンドxsetが実行中のXサーバにアクセスする必要がある場合、これは、SuSEconfig --module fontsが実行中のXサーバにアクセスできるシェルから起動されている場合にのみ可能です。これを行う最も簡単な方法は、suコマンドとrootパスワードを入力して、権限をrootにすることです。suは、Xサーバを起動したユーザのアクセス権をrootシェルに移します。フォントが正しくインストールされ、X11コアフォントシステムを介して使用可能かどうか検査するには、コマンドxlsfontsを使用して、すべての使用可能なフォントのリストを表示します。
デフォルトでは、SUSE LinuxはUTF-8ロケールを使用します。そのため、Unicodeフォントを使用するようにします(xlsfontsの出力中でiso10646-1で終了するフォント名)。使用可能なすべてのUnicodeフォントは、xlsfonts | grep iso10646-1コマンドでリストを表示できます。SUSE Linuxで使用可能なほとんどすべてのUnicodeフォントには、少なくともヨーロッパ言語に必要なグリフが含まれています(以前はiso-8859-*としてエンコードされていました)。
他のフォントタイプとは異なり、CID-keyedフォントは任意のディレクトリに簡単にインストールすることはできません。CID-keyedフォントは、/usr/share/ghostscript/Resource/CIDFontディレクトリにインストールしなければなりません。これは、Xftおよびfontconfigとは関係ありませんが、GhostscriptとX11コアフォントシステムには必要です。
![]() | ティップ |
|---|---|
X11で使用可能なフォントの詳細については、http://www.xfree86.org/current/fonts.htmlを参照してください。 | |