Linux Tips

fonts.dirファイルを作成するには

北浦訓行
2003/3/13

 X Window SystemでTrueTypeフォントを利用するときは、利用したいTrueTypeフォント用のfonts.dirファイル(フォントのインデックスファイル)が必要となる。fonts.dirファイルの内容は、

kochi-gothic.ttf -misc-Kochi Gothic-medium-r-normal--0-0-0-0-c-0-iso10646-1

のように難解な書式になっている。これを一から作成するのは難しいので、専用のツール(ttmkfdirコマンド)を利用する。例えば、フリーで使用できるモトヤ(http://www.motoyafont.jp/)の「モトヤシーダ1」のfonts.dirを作成するには、専用のサブディレクトリを作って、以下のコマンドを実行する。

# ttmkfdir > fonts.dir
# cat fonts.dir
2
MTXc1kp.ttc -Motoya Co. ,LTD.-FMotoyaCedar-medium-r-normal--0-0-0-0-c-0-ascii-0
MTXc1kp.ttc -Motoya Co. ,LTD.-FMotoyaCedar-medium-r-normal--0-0-0-0-c-0-iso10646-1

 Red Hat LinuxやVine Linuxには、ttmkfdirコマンドが最初からインストールされているが、Turbolinuxはインストールされない。従って、ソースファイルをダウンロードして、コンパイルする必要がある。

http://www.joerg-pommnitz.de/TrueType/ttmkfdir.tar.gz

 上記のURLからttmkfdir.tar.gzをダウンロードして展開する。

$ cd /tmp/ttmkfdir
$ tar zxf ttmkfdir.tar.gz
$ ls
Makefile  panose.h    ttmkfdir.linuxbin.glibc2*  ttos2val.h
README    ttmkfdir.c  ttmkfdir.tar.gz*

 次にmakeを行うわけだが、その前にMakefileを変更する必要がある。そうしないと、gccでコンパイルエラーが発生する。viなどのテキストエディタでMakefileを開いて、1行目と2行目を以下のように訂正する。

FREETYPE_BASE=../freetype-1.1
      ↓
FREETYPE_BASE=/usr
1行目

FREETYPE_INCL=$(FREETYPE_BASE)/lib
      ↓
FREETYPE_INCL=$(FREETYPE_BASE)/include/freetype
2行目

 そして、makeコマンドを実行する。

$ make
gcc -Wall -pedantic -I/usr/include/freetype   -c -o ttmkfdir.o ttmkfdir.c
gcc -o ttmkfdir ttmkfdir.o -L/usr/lib/.libs -lttf -s

 何のエラーも表示されなければ、コンパイルは完了だ。rootでログインして、作成されたttmkfdirコマンドをパスの通ったディレクトリにコピーする。

$ su
$ Password:
# cp ttmkfdir /usr/bin
# exit

 なお、この方法で作成したttmkfdirコマンドは、拡張子が「ttc」のファイルを認識しないため、モトヤシーダ1のように拡張子がttcのフォントは、拡張子が「ttf」のシンボリックリンクを作成しなければならない。Vine Linuxにインストールされているttmkfdirコマンドも同様だ。

$ ln -s MTXc1kp.ttc MTXc1kp.ttf
$ ttmkfdir > fonts.dir

 しかし、Red Hat Linux 8.0にインストールされているttmkfdirコマンドは、拡張子がttcのTrueTypeフォントも認識するため、上記のようにシンボリックリンクを作成すると、fonts.dirの内容が重複してしまうので注意が必要だ。

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間