4. フォントの path を X に教える

4.1. fontpath

フォントをコピーし,そのディレクトリに fonts.dir を置いたら,次に X にそのディレクトリの場所を教えてあげなくてはなりません.

教えてあげるには xset というコマンドを使います.

/usr/X11R6/lib/X11/fonts/TrueType を fontpath の末尾に追加する.
$ xset fp+ /usr/X11R6/lib/X11/fonts/TrueType
$ xset fp rehash
                        
/usr/X11R6/lib/X11/fonts/TrueType を fontpath の先頭に追加する.
$ xset +fp /usr/X11R6/lib/X11/fonts/TrueType
$ xset fp rehash
                        
/usr/X11R6/lib/X11/fonts/TrueType を fontpath から削除する.
$ xset -fp /usr/X11R6/lib/X11/fonts/TrueType
$ xset fp rehash
                        
fontpath をデフォルトの状態に戻す.
$ xset fp default
$ xset fp rehash
                        
[注意] 注意

fonts.dir の記述に問題がある場合,xset 実行時にエラーが出ますので,エラーした場合は fonts.dir の記述を再確認しましょう.

[メモ] メモ

自分の $HOME にディレクトリを作成してフォントを置いた場合,たとえば ~/fonts/TrueType などにした場合は,上記の例の /usr/X11R6/lib/X11/fonts/TrueType を,~/fonts/TrueType に置き換えてください.

4.2. フォントを表示してみる

xset 実行後,追加したフォントが無事使えるのかどうか確認してみましょう.

確認には nexfontsel を使ってみると良いでしょう.

nexfontsel での表示

図 2. nexfontsel での表示

4.3. フォントの path を覚えさせておく

xset で教えてあげても,一度 X を終了すると, X は追加された fontpath を忘れてしまい,再度 startx を行なったときに fontpath をデフォルトに戻してしまいます.毎回毎回 startx の度に xset fp+ .... などとやってられませんので,設定を覚えさせておきます.

自分に管理権限があり,システム全体の設定とする場合は, X の設定ファイル XF86Config-4 (XFree86 4.x の場合) の Files セクションへ FontPath を追記します.

XF86Config-4 の記述例
Section "Files"
    FontPath "/usr/X11R6/lib/X11/fonts/japanese/:unscaled"
    FontPath "/usr/X11R6/lib/X11/fonts/intlfonts/:unscaled"
    FontPath "/usr/X11R6/lib/X11/fonts/ucs/:unscaled"
    FontPath "/usr/X11R6/lib/X11/fonts/TrueType/"
EndSection
[メモ] メモ

管理権限がない,または,自分だけが 追加したフォントを使用する場合は,~/.xinit.d/hook

/usr/X11R6/bin/xset +fp $HOME/fonts/TrueType
/usr/X11R6/bin/xset fp rehash
となどと記述しておきます.[8]

これで次に X を立ち上げた時も追加したフォントを利用できます.



[8] ただし,これはxinitをフックしているmomonga-linuxだけの場合です.hook には実行パーミッションを与えておくこと.