openSUSE® での追加フォントのインストールは非常に簡単です。単純に X11
フォントパスとして指定されているディレクトリ
(詳しくは 12.1項 「X11 コアフォント」 をお読みください) の
いずれかにフォントをコピーするだけです。また、これらのフォントを使用できる
ようにするには、そのディレクトリが /etc/fonts/fonts.conf
ファイル (詳しくは 12.2項 「Xft」 をお読みください)
に書かれているか、もしくは /etc/fonts/suse-font-dirs.conf
ファイルで指定されたディレクトリ以下に存在する必要があります。
下記は /etc/fonts/fonts.conf ファイルの抜粋です。
このファイルは多くの設定で用いられる標準的な設定ファイルです。また、この
設定ファイルでは /etc/fonts/conf.d ディレクトリの
内容を取り込むようにも設定しています。 fontconfig では、このディレクトリ
以下の全てのファイルやシンボリックリンクのうち、 2 桁の数字で始まる
ファイルを読み込みます。この機能についての詳細な説明は、
/etc/fonts/conf.d/README ファイルをお読みください。
<!-- Font directory list --> <dir>/usr/share/fonts</dir> <dir>/usr/X11R6/lib/X11/fonts</dir> <dir>/opt/kde3/share/fonts</dir> <dir>/usr/local/share/fonts</dir> <dir>~/.fonts</dir>
また、 /etc/fonts/suse-font-dirs.conf ファイルは、
OpenOffice.org や Java, Adobe Acrobat Reader のような (主にサードパーティ
製の) アプリケーションと共に出荷されるフォントを引き出すために自動生成
されるものです。いくつかの典型的な項目を下記に示します:
<dir>/usr/lib/Adobe/Reader9/Resource/Font</dir> <dir>/usr/lib/Adobe/Reader9/Resource/Font/PFM</dir>
追加のフォントをシステム全体に対してインストールするには、フォントファイル
を /usr/share/fonts/truetype などの適切なディレクトリ
にコピーしてください (もちろん root
で実行します) 。また、 KDE 個人設定内の KDE フォントインストーラ
からも実行することができます。結果はいずれを実施しても同じになります。
また、実際のフォントをコピーする代わりに、シンボリックリンクを作成することも
できます。たとえば Windows 上にライセンスによる制限が課されたフォントが存在
していて、それらを使用したい場合などに便利です。シンボリックリンクを作成
したら、 SuSEconfig --module fonts
コマンドを実行します。
SuSEconfig --module fonts を実行すると、
/usr/sbin/fonts-config スクリプトを実行します。この
スクリプトはフォント設定を扱うためのものです。このスクリプトに関する
詳細は、マニュアルページ (man fonts-config )
をお読みください。
ビットマップフォント, TrueType フォント, OpenType フォント, Type1 (PostScript) 、
いずれのフォントでも手順は同じです。これら全てのフォントは、
fonts-config が認識できるディレクトリにインストールすること
ができます。
また、 X.Org では 2 種類の異なるフォントシステムを用意しています: 1 つは 、もう 1 つは新たに設計された のシステムです。下記の章では、これら 2 つのシステムについて、概要を説明しています。
現在、 X11 コアフォントシステムはビットマップフォントだけでなく、スケーラブル (スムーズな拡大/縮小のできる) フォントにも対応しています。それぞれ Type1, Truetype, OpenType と呼ばれる各フォントです。スケーラブルフォントはアンチ エイリアス (拡大/縮小時に周辺のドット色を調整して滑らかに見せる技術) やサブ ピクセルレンダリング (縮小時に色を分割し、擬似的に解像度を上げる技術) には 対応しておらず、多数の言語向けに字体を定義した巨大なフォントを利用しようと すると、読み込みに時間がかかってしまいます。 Unicode フォントにも対応して いますが、描画が遅くメモリを多く使用してしまいます。
また、 X11 コアフォントシステムには、いくつかの固有の弱点が存在しています。 既に時代遅れの設計で、拡張はほとんど行なうことができない状態です。しかし ながら旧バージョンとの互換性の観点から、今もなお搭載され続けている状態 です。そのため、可能な限り Xft と fontconfig の仕組みを利用したほうが よりよいものになります。
操作を行なうにあたって、 X サーバは利用可能なフォントの一覧や、それらの
フォントをどうやったら使用できるのかについて、一覧を持っておく必要が
あります。これらは FontPath として、有効な全てのシステム
フォントディレクトリを保持しています。これらそれぞれのディレクトリに対して
fonts.dir ファイルを配置し、そのディレクトリに何の
フォントがあるのか一覧を保存しています。また、 FontPath
は X サーバの起動時に生成されます。 /etc/X11/xorg.conf
に設定された FontPath 変数のそれぞれに対して、有効な
fonts.dir ファイルがないかどうか、検索を行ないます。
これらの項目は Files セクション内に書き込みます。
現在の FontPath 変数を表示させるには、
xset q コマンドを実行します。
また、この設定は xset を利用して随時に変更することが
できます。さらなるパスを追加するには、 xset
+fp <パス> のように実行してください。逆に不要なパスを削除
するには、 xset -fp <パス>
のように実行します。
X サーバが既に動作している場合、マウント済みディレクトリに新しく
インストールしたフォントは、 xset fp
rehash コマンドで利用できるようになります。このコマンドは
SuSEconfig --module fonts
からも実行されます。また、 xset コマンドは動作中の
X サーバにアクセスするため、 SuSEconfig
--module fonts をシェルから起動していて、かつ X サーバが
動作中である場合にのみ動作します。これを実現するための最も簡単な方法は、
su コマンドを実行して root のパスワードを入力し、
root のパーミッションを獲得する
方法があります。 su では、 X サーバを実行している
ユーザから root のシェルに対してアクセス権を渡す仕組みになっている
ためです。フォントが正しくインストールされ、 X11 のコアフォントシステム
から利用できることを確認するには、 xlsfonts コマンドを
実行して、利用可能な全てのフォントについて一覧を表示してください。
また、既定では openSUSE は UTF-8 のロケールを使用します。そのため、
Unicode フォント (xlsfonts コマンドの出力で、
iso10646-1 で終わるもの) を使用するのが適切です。
利用可能な全ての Unicode フォントは、 xlsfonts
| grep iso10646-1 のコマンドラインを実行することで取得
することができます。なお、 openSUSE で利用可能なほぼ全ての Unicode
フォントには、少なくともヨーロッパ言語 (以前は iso-8859-*
でエンコードされていたもの) の字体が含まれています。
当初の段階から、 Xft のプログラマはスケーラブルなフォントに対して、アンチ エイリアスの機能を十分サポートするように作ってきました。 Xft を使用すると、 X11 コアフォントシステムが X サーバ内から描画するのとは異なり、フォントを 使用するアプリケーション自身が描画を行ないます。この方法では、関連する アプリケーションは実際のフォントファイルにアクセスできる権利を持っていて、 かつどのように字体を描画するのかについて完全なコントロールを行なうことに なります。これは複数の言語でテキストを正しく表示する目的において、必要な 機能の 1 つになっています。フォントファイルへの直接アクセスは、画面への 出力と印刷出力の両方で外観を合わせるため、フォントを内蔵させたりするのに 便利な機能です。
また openSUSE では、 2 種類のデスクトップ環境 (KDE, GNOME) の両方や Mozilla などのアプリケーションで Xft を既定値として使用しています。 Xft は既に古い X11 のコアフォントシステムより多くのアプリケーションで使用 されています。
さらに、 Xft は fontconfig ライブラリを、フォントの発見や描画方法への
作用として使用しています。 fontconfig の設定はグローバル設定ファイル
である /etc/fonts/fonts.conf から操作することが
できます。また、固有の設定ファイルについては
/etc/fonts/local.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 を実行すると、全てのフォントについて一覧を出力
します。利用可能なスケーラブルフォントの一覧を出力するために
:scalable=true のオプションを、ヘブライ語の字体を含む
全てのフォントを表示するために :lang=he のオプションを
それぞれ指定し、さらに出力としてフォント名 (family),
スタイル (style), ウエイト (weight)
とフォントファイル名を表示するには、下記のコマンドを実行します:
fc-list ":lang=he:scalable=true" family style weight
出力結果は、たとえば以下のようになります:
Lucida Sans:style=Demibold:weight=200 DejaVu Sans:style=Bold Oblique:weight=200 Lucida Sans Typewriter:style=Bold:weight=200 DejaVu Sans:style=Oblique:weight=80 Lucida Sans Typewriter:style=Regular:weight=80 DejaVu Sans:style=Book:weight=80 DejaVu Sans:style=Bold:weight=200 Lucida Sans:style=Regular:weight=80
fc-list で利用できる重要なパラメータは下記のとおりです:
表12.1 fc-list のパラメータ¶
|
パラメータ |
意味と取り得る値 |
|---|---|
|
|
たとえば |
|
|
たとえば |
|
|
たとえば |
|
|
そのフォントがサポートする言語。たとえば |
|
|
フォントのウエイト値。たとえば |
|
|
傾き。 |
|
|
フォントを含むファイルのファイル名。 |
|
|
|
|
|
|
|
|
|
|
|
ピクセル単位でのフォントサイズ。 fc-list の場合はビットマップフォント である場合にのみ意味を持ちます。 |