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 Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間