Network Users' Group ``wheel'' / Dai ISHIJIMA's Page / SL Zaurus関連 /
ザウルス向けフォントの作成

初版: 2003/01/26
最終更新日: 2003/01/26


SLザウルス用フォントの作成



SLザウルスには、「LCフォント」と呼ばれる、液晶で読みやすいフォントが 搭載されていますが、アプリケーションによっては、 それ以外の任意のフォントを使うことが可能となっています。 このページでは、既存のフォントをSLザウルスにインストールする 方法をメモしておこうと思います。

SLザウルスのフォント

SLザウルスのフォントは/home/QtPalmtop/lib/fontsディレクトリに収録されています。 ここに収められているフォントの形式は QPF (Qt Prerenderd Font) という形式らしいです。 この形式のフォントファイルをこのディレクトリに置けば、 「ターミナル」などのアプリケーションで利用できるようです。

Qt/X11とQt/Embedded

QPF形式のフォントファイルは、Qt/Embeddedに入っている makeqpfコマンドで作成できるようです。 現状では、BDFやFONTXやTTFのような形式から (環境にあまり依存せず)単純に変換できるツールは どうやらなさそうです。 つまり、ザウルス向けフォントを作るためには、 Qtの動くマシンを用意しないといけません。 LinuxマシンならQt/Embeddedのフリー版を、 それ以外のX-Windowが動くマシンなら、 Qt/Embeddedのフリー版とQt/X11のフリー版の両方を インストールするといいようです。 Linuxでも、Qt/Embeddedだけだと実行時にコンソールを占有してしまうので、 Qt/X11も入れたほうがよさそうです。 なお、このページの記述においてQtはフリー版のQtを意味します。

わたしは、 「qt-embedded-free-3.1.1.tar.gz」と 「qt-x11-free-3.1.1.tar.gz」を インストールしました。 インストール時の使用ディスク容量は、次のようになりました。

	% du -s ./*
	234679  ./qt-embedded-free-3.1.1
	172917  ./qt-x11-free-3.1.1
単位はkバイトです。 二つインストールして、ざっと400Mバイトでした。

makeqpfでフォント作成

BDFファイルからQPFフォントを作成するには、 $QTDIR/lib/fontsディレクトリに変換したいBDFフォントを置いて、 $QTDIR/lib/fonts/fontdirに、そのBDFフォントに関する情報を書いて $QTDIR/tools/makeqpfディレクトリにあるmakeqpfコマンドを 「makeqpf -A」で実行します。 なお、$QTDIRは、フリー版Qt/Embeddedをインストールしたディレクトリです。

たとえば、X11の標準ディストリビューションに含まれる7×14ドット 英数フォント「7x14」を変換する場合、このフォントのBDFファイルである 「7x14.bdf」ファイルを用意します。 そして、このフォントをSLザウルスで「test」というフォント名で利用するなら

	test 7x14.bdf BDF n 50 140 u
の一行をfontdirファイルに追加します。 そしてそのあとmakeqpfを動かします。 うまく動けば「test_140_50.qpf」というファイルができあがります。 最後に、 これをSLザウルスの/home/QtPalmtop/fontsディレクトリにコピーします。

FreeBSDでmakeqpfを使うには

FreeBSDでQt/Embeddedのmakeqpfをいきなり動かそうとしても動きません。 Qt/Embeddedは、通常、画面表示にフレームバッファデバイスを利用しますが、 FreeBSDではこれを利用できないからです。 このフレームバッファはLinuxでないと使えないようで、 Linux以外では、X11を使ったQVFb (Qt/Embedded Virtual Framebuffer) を 利用します。 これは、Qt/X11のものを使います。 つまり、Qt/X11のQVFbを動かして、さらにQt/Embeddedのmakeqpfを動かす、 ということになります。 というわけで、Qt/Embedded以外にQt/X11もインストールする必要があります。

Qt/X11のインストール

適当なディレクトリで、 アーカイブファイル qt-x11-free-3.1.1.tar.gz を展開し、 configure & make でインストールします。 たとえば、
	% tar xzvf /tmp/qt-x11-free-3.1.1.tar.gz
	% cd qt-x11-free-3.1.1
	% ./configure
		ライセンスに関する質問が表示されます
		This is the Qt/X11 Free Edition.
		中略
		Do you accept the terms of either license?
		ここで「yes」と入力します。
	% gmake
	% cd tools/qvfb
	% gmake
とします。

Qt/Embeddedのインストール

適当なディレクトリで、 アーカイブファイル qt-embedded-free-3.1.1.tar.gz を展開し、 configure & make でインストールします。 たとえば、
	% tar xzvf /tmp/qt-embedded-free-3.1.1.tar.gz
	% cd qt-embedded-free-3.1.1
	% ./configure -qvfb -qt-gfx-transformed
		ライセンスに関する質問が表示されます
		This is the Qt/Embedded Free Edition.
		中略
		Do you accept the terms of either license?
		ここで「yes」と入力します。
		そのあとしばらくすると、ピクセル深度(色数)に関する質問が表示されます。
		Choose pixel-depths to support:
		中略
		Your choices (default 8,16,32):
		デフォルトでかまわないのでEnterを押します
	% gmake
	% cd tools/makeqpf
	% gmake
とします。

フォント変換の例

Linuxなら、フォントファイルを用意し、fontdirファイルを編集したあと、
	% cd qt-embedded-free-3.1.1
	% setenv QTDIR `pwd`
	% tools/makeqpf/makeqpf -A
	% tools/makeqpf/makeqpf -A -display Transformed:Rot270
のようにすればいいでしょう。

FreeBSDなら、フォントファイルを用意し、fontdirファイルを編集したあと、

	% cd qt-embedded-free-3.1.1
	% setenv QTDIR `pwd`
	% ../qt-x11-free-3.1.1/tools/qvfb/qvfb &
	% tools/makeqpf/makeqpf -A
のようにすればいいでしょう。