Xorg に付いてくるデフォルトのフォントは、 通常のデスクトップパブリッシングアプリケーションにとっては理想的とは言えない程度のものです。 文字を大きくするとジャギーになりプロフェッショナルとは言えないようなものになりますし、 小さなフォントは頭が悪そうに見えます。 しかし、世の中には質の高い Type1 (PostScript®) フォントがいくつかあり、 Xorg ではそれらを簡単に利用することができます。 例えば、URW フォントコレクション (x11-fonts/urwfonts) には高品質の Type1 フォント (Times Roman®, Helvetica®, Palatino® など) が含まれています。freefont コレクション (x11-fonts/freefonts) にはもっとたくさんのフォントが含まれていますが、 それらは Gimp のようなグラフィックソフトウェアで使用するためのものであり、 スクリーンフォントとしては十分ではありません。 さらに、Xorg は簡単に TrueType® フォントを使うように設定することも可能です。 詳しくは、X(7) のマニュアルページか 「TrueType® フォント」 を参照してください。
上記の Type1 フォントコレクションをバイナリ package からインストールする場合には、次のコマンドを実行してください。
#
pkg install urwfonts
あるいは、Ports Collection から構築してインストールするには次のコマンドを実行してください。
#
cd /usr/ports/x11-fonts/urwfonts
#
make install clean
freefont や他のコレクションでも同じようにします。
X サーバがこれらのフォントを検出できるようにするには
X サーバ設定ファイル (/etc/X11/xorg.conf
)
の適切な場所に次のような行を加えます。
FontPath "/usr/local/share/fonts/urwfonts/"
別の方法としては、 X のセッション中に次のようなコマンドラインを実行します。
%
xset fp+ /usr/local/share/fonts/urwfonts
%
xset fp rehash
これは動くのですが、X
のセッションが終了すると消えてしまいます。
消えないようにするには X の起動時に読み込まれるファイル
(通常の startx
セッションの場合は
~/.xinitrc
, XDM
のようなグラフィカルなログインマネージャを通してログインする時は
~/.xsession
) に加えておきます。
三番目の方法は新しい
/usr/local/etc/fonts/local.conf
ファイルを使うことです。
これに関しては 「フォントのアンチエイリアス」 をご覧ください。
Xorg には、
TrueType® フォントのレンダリング機能が組み込まれています。
この機能を実現するために 2 つの異なるモジュールがあります。
ここでは、freetype
の方が他のフォントレンダリングバックエンドと整合性が高いので、
このモジュールを使うことにします。
freetype モジュールを使うためには
/etc/X11/xorg.conf
ファイルの
"Module"
セクションに以下の行を追加するだけです。
Load "freetype"
さて、まずは TrueType® フォント用のディレクトリ
(例えば /usr/local/share/fonts/TrueType
)
を作り、そこに TrueType® フォントをすべて放り込みましょう。
Apple® Mac® の TrueType®
フォントは、そのままでは使うことができませんので注意してください。
Xorg で使うには
UNIX®/MS-DOS®/Windows® 用のフォーマットでなければなりません。
ファイルを置いたら mkfontscale を使って
fonts.dir
ファイルを作り、
X のフォントレンダラが新しいファイルがイントールされたことを分かるようにしてください。
mkfontscale
は package
からインストールできます。
#
pkg install mkfontscale
その後、ディレクトリに X フォントファイルのインデックスを作成してください。
#
cd /usr/local/share/fonts/TrueType
#
mkfontscale
次に TrueType® フォントのディレクトリをフォントパスに追加します。 「Type1 フォント」 の場合と同じように、
%
xset fp+ /usr/local/share/fonts/TrueType
%
xset fp rehash
とするか、もしくは xorg.conf
ファイルに FontPath
行を追加します。
これで Gimp や LibreOffice といったすべての X アプリケーションから TrueType® フォントを使うことができます。 (高解像度なディスプレイで見るウェブページ上のテキストみたいな) とても小さなフォントや (LibreOffice にあるような) 非常に大きなフォントもかなり綺麗に見えるようになることでしょう。
/usr/local/share/fonts/
と
~/.fonts/
にあるすべての
Xorg のフォントが、Xft
に対応しているアプリケーションで自動的にアンチエイリアス表示できるようになりました。
KDE, GNOME および
Firefox
のような最新のアプリケーションは、Xft に対応しています。
どのフォントがアンチエイリアスされるかを制御するため、
もしくはアンチエイリアスの特性を設定するために、
/usr/local/etc/fonts/local.conf
ファイルを作成 (すでに存在しているのなら編集) します。
多くの Xft フォントシステムの高度な機能をこのファイルを使って調整できます。
この節ではいくつか簡単なところだけを紹介します。
詳しくは、fonts-conf(5) をご覧ください。
このファイルは XML 形式でなければなりません。
大文字小文字の区別に注意を払い、
すべてのタグが正しく閉じられているか確認してください。
ファイルは一般的な XML ヘッダで始まり、DOCTYPE 定義と
<fontconfig>
タグがその後にきます。
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
すでに説明したように、
/usr/local/share/fonts/
と
~/.fonts/
にあるすべてのフォントは
Xft 対応のアプリケーションで利用できます。
これら 2 つのディレクトリ以外に別のディレクトリを追加したいなら、
/usr/local/etc/fonts/local.conf
に以下のような行を追加してください。
<dir>/path/to/my/fonts</dir>
新しいフォント、 特に新しいフォントディレクトリを追加したら、 フォントキャッシュを再構築してください。
#
fc-cache -f
アンチエイリアスをかけることによって境界が少しぼやけ、 そのためにとても小さなテキストはさらに読みやすくなり、 大きなフォントでは 「ギザギザ」 が消えるのです。 しかし、普通のテキストにかけた場合には目が疲れてしまうこともあります。 14 ポイント以下のサイズのフォントについて、 アンチエイリアスをかけないようにするには次の行を加えます。
<match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font"> <test name="pixelsize" compare="less" qual="any"> <double>14</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match>
いくつかの等幅フォントは、 アンチエイリアスをかけるとスペーシングがうまくいかなくなる場合があります。 特に KDE でその傾向があるようです。 解決策の一つとして、そういったフォントのスペーシングを 100 に設定する方法があります。 そうするためには次の行を加えてください。
<match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match>
(これは固定サイズのフォントに "mono"
という一般的な別名をつけます) そして以下を追加します。
<match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match>
Helvetica の様なある種のフォントは、
アンチエイリアスすると問題が起こるでしょう。
たいてい、フォントが縦に半分に切られて表示されます。
最悪の場合、アプリケーションがクラッシュします。
これを回避するには、以下を local.conf
に追加します。
<match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match>
local.conf
の編集を終えたら、
ファイルの末尾が </fontconfig>
タグで終わるようにしてください。
これを行わなければ、変更は無視されるでしょう。
ユーザは自分だけの設定を各自の
~/.config/fontconfig/fonts.conf
に追加できます。
このファイルもこれまでの説明と同じく XML
形式を使います。
最後に一つ。LCD
スクリーンではサブピクセルサンプリングが必要な場合があります。
これは、基本的には (水平方向に分かれている) 赤、緑、
青の各コンポーネントを別々に扱うことによって水平方向の解像度を良くするというもので、
劇的な結果が得られます。
これを有効にするには local.conf
ファイルに次の行を加えます。
<match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match>
ディスプレイの種類にもよりますが、
rgb
ではなく
bgr
や vrgb
、もしくは
vbgr
の場合もあるので、
試してみて最も良いものを使ってください。
本文書、および他の文書は https://download.freebsd.org/ftp/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、
ドキュメント を読んだ上で
<questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、
<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。