XFree86
にフォント「ナガ10」をインストールする方法を説明します。
その他のX Window Systemの実装でも大差はないと思います。
ディレクトリ /usr/X11R6/lib/X11/fonts/ 以下が,
フォントデータの格納されている場所です。
標準では /usr/X11R6/lib/X11/fonts/misc/ に
14, 16ドット日本語フォントなどが置かれています。
ここでは「ナガ10」もこのディレクトリにインストールしてみます。
1. データのコンバート
「ナガ10」は BDF形式 でデータ化されています。
このまま用いることもできますが,
フォントをメモリに読込むときの負荷が大きくなるため,
次のようにして PCF形式 に変換するのが普通です。
snagao@bono[1]% bdftopcf knj10.bdf -o knj10.pcf
これでPCF形式のファイルknj10.pcfが生成されます。
その他のbdfファイルも, 同様にしてPCF形式に変換します。
2. データの圧縮
フォントデータを圧縮して保管することで, ディスクスペースが節約できます。
圧縮には compress か, またはXのバージョンが
X11R6.3以降では gzip を用いることができます。
snagao@bono[2]% compress knj10.pcf
または
snagao@bono[2]% gzip knj10.pcf
とすると, knj10.pcf.Z または knj10.pcf.gz が生成されます。
3. ファイルを格納
knj10.pcf.Z(または.gz)を /usr/X11R6/lib/X11/fonts/misc/ に移動します。
このとき、su コマンドで root になるのが普通です。:)
snagao@bono[3]% su
Password:
root@bono[1]% mv knj10.pcf.Z /usr/X11R6/lib/X11/fonts/misc/
4. mkfontdir
フォントをコピーしただけではダメで, mkfontdir コマンドで
フォント名とファイル名の対応を表す fonts.dir を更新する必要があります。
root@bono[2]% mkfontdir /usr/X11R6/lib/X11/fonts/misc/
5. fonts.alias
Xのフォント名は -misc-fixed-.... と非常に長ったらしくわずらわしいです。
そのため、fonts.alias ファイルにフォントの
別名を定義することができます。
例えば、ナガ10の漢字フォントに k10 という別名をつけるには,
ファイル /usr/X11R6/lib/X11/fonts/misc/fonts.alias に
k10 -misc-fixed-medium-r-normal--10-90-75-75-c-100-jisx0208.1983-0
という一行を加えます。snagaoのマシンではこの他、
kb10 -misc-fixed-bold-r-normal--10-90-75-75-c-100-jisx0208.1983-0
a10 -misc-fixed-medium-r-normal--10-90-75-75-c-50-iso8859-1
r10 -misc-fixed-medium-r-normal--10-90-75-75-c-50-jisx0201.1976-0
b10 -misc-fixed-bold-r-normal--10-90-75-75-c-50-iso8859-1
という記述をしています。
7. 変更を有効にする
今までの作業でほぼインストールは終了です。一般ユーザに戻りましょう。
以下のようにすれば, 即座にこれらのフォントを使うことができます。
snagao@bono[4]% xset fp rehash
こうすることで、更新した fonts.dir と fonts.alias が有効になります。
「使いたいフォントがあるけどrootになれない…」と嘆く必要はありません。
基本的な作業は全てのユーザが使うための場合と同じなので,
一度そちらに目を通しておいてください。
1. フォントをインストールするディレクトリを作る
自分のホームの好きな場所にフォント用のディレクトリを作成します。
ここでは、~/fonts/ をフォント用のディレクトリにしてみます。
snagao@bono[1]% mkdir ~/fonts
2. フォントデータを格納する
全てのユーザが使うためと同様に,
BDF形式のデータをPCF形式に変換し,
さらに圧縮します。
snagao@bono[2]% bdftopcf knj10.bdf -o knj10.pcf
snagao@bono[3]% compress knj10.pcf (または gzip)
そして、出来上がったknj10.pcf.Z(または.gz)を~/fonts/に格納します。
snagao@bono[4]% mv knj10.pcf.Z ~/fonts/
3. mkfontdir, fonts.alias
mkfontdirでfonts.dirを作成します。
snagao@bono[5]% mkfontdir ~/fonts
そして、必要ならば~/fonts/fonts.aliasを作ります。
snagao@bono[6]% vi ~/fonts/fonts.alias
4. フォントパス
Xでは、フォントパスからフォントデータを探します。
したがって、ここでは~/fontsをフォントパスに加える必要があります。
たとえば、
snagao@bono[7]% xset fp+ ~/fonts
とすると、フォントパスの最後に~/fontsが加わり、
snagao@bono[7]% xset +fp ~/fonts
とすると、フォントパスの先頭に~/fontsが加わります。
フォントパスは
snagao@bono[7]% xset q
とすると、
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000000
...
(省略)
...
Font Path:
/usr/X11R6/lib/X11/fonts/myfont:unscaled,/usr/X11R6/lib/X11/fonts/mis
c:unscaled,/usr/X11R6/lib/X11/fonts/75dpi:unscaled,/usr/X11R6/lib/X11/f
onts/100dpi:unscaled,/usr/X11R6/lib/X11/fonts/Type1,/usr/X11R6/lib/X11/
fonts/Speedo,/usr/X11R6/lib/X11/fonts/non-cjk,/usr/home/snagao/fonts
...
のように確認できます。
Xを使うときにはいつも~/fontsをフォントパスに加えたいならば,
~/.xinitrcなどに
xset fp+ $HOME/fonts
のような記述を加えればいいでしょう。