Network Users' Group ``wheel'' / Dai ISHIJIMA's Page /
Xで使う$FONTX2
ソース一式 | 8086実行形式

最終更新日: 2012-02-12


Xで使う$FONTX2


はじめに

最近は、X-Windowでも、いろんな日本語フォント、 特にTrueType形式のフォントが使えるようになってきました。 しばらく前までは、ビットマップフォント、 しかも14, 16, 24ドットぐらいのフォントしか 使えなかったことを思うと、 隔世の感があります(おおげさ ;^^)。

その昔、NEWSやSunのワークステーションを 学校で使ってたころ (1990年代前半)、 日本語表示に使えたのは、 X11付属の14, 16, 24ドットのフォントだけ (…だったと思います) でした。 そういう状況において、1990年代の中ごろになると、 当時のデファクトスタンダードであったPC-9801系マシンや、 台頭しはじめてきたPC/AT互換機(いわゆるDOS/V)マシンで、 丸文字フォントなど、いろんな文字フォントが使えるように なってきました。

DOS/Vの日本語フォントは、「$FONTX2」という形式で 配布されるものが多かったように思います。 というか、この形式がデファクトスタンダードですね。 そこで、これらの$FONTX2形式のフリーのフォントを Xで使えるように、fontx2bdfというプログラムを作りました。

また、DOSで動くフォント変換ツールとしては、 「ふぉんと昆布」というソフトが有名です。 これを利用して、さまざまな形式のフォントを$FONTX2に変換しておけば、 それらをBDFに再変換してXで利用できます。

ところで、わたしは、このfontx2bdfをCで書きましたが、 同じようなことを考える方がいらしたようで、 Perl版が公開されています。 このPerl版(としちゃん氏のfontx2bdf)の方が世間では有名のようです。

とりあえず使う方法…

さて、前置きはこのぐらいにしておいて、 肝心の$FONTX2形式フォントを、Xで利用可能なBDF形式に変換する方法を以下に。
	% fontx2bdf < [$FONTX2フォント] > [BDF形式]
こんだけです(苦笑)。 たとえば、以下のようにします。
	% fontx2bdf < jpkhn16x.fnt > jpkhn16x.bdf

あとは、BDFフォントファイルの標準的なインストールを行えば 変換したフォントを利用できるようになります。

プログラムのインストール

fontx2bdfそのもののインストールは、 アーカイブ をバラして、 makefileを適宜編集したあと、 make(1)でコンパイルし、 適当なディレクトリに格納するだけです。 たとえば、
	% cd /tmp
	% mkdir fontx2bdf
	% cd fontx2bdf
	% tar xzvf /tmp/f2b.tgz
	% vi makefile
	% make
	# make install
	# make install.man
のようにします。

なお、fontx2bdfは、FreeBSD上で開発を行ってきましたが、 ほとんどすべてのUNIXシステムで利用可能です。 さらに、DOS環境でも動きます。 コンパイラは、UNIXのccやgcc以外に、 DOSのTurbo-C, LSI C-86, MS-Cにも対応しています。

→なんかコンパイル済みバイナリのニーズもあるらしいので、 LSI C-86 3.30C試食版による 実行形式 を用意しました(2012-02-12)。 ファイル名に8.3文字制限があるので、 「fontx2bdf」を「fntx2bdf」と短くしています。

フォントのインストール

上記のような手順でfontx2bdfをインストールしたら、 フォントの変換は簡単にできます。 さきに例をあげましたが、
	% fontx2bdf < foo.fnt > foo.bdf
と入力するだけで変換できます。

しかし、Xでフォントを利用するためには、 単にフォントの形式を変換するだけではなく、 フォントを格納しているディレクトリにフォントファイルを置いてやる必要が あります。

続く…(苦笑)

ご質問などありましたらお気軽に