FLTKのインストール その2
FLTKのインストールのページは不完全です。 このページでそれを補います。
結論を先に...
README.Unix.txtを確認して、FLTKをビルドするのに必要とされるソフトウェアをシステムにインストールします。 その上で、FLTKを再ビルド1)します。 それ以外のビルド手順はFLTKのインストールのページと違いありません。
経緯
FLTKのインストールのページでは、基本的なインストールの手順を紹介しました。 ビルド時に指定したオプションはCMAKE_INSTALL_PREFIXのみでした。 その目的は、システム全体に影響が及ばないように、ホームディレクトリ以下のディレクトリにFLTK 1.4をインストールするようにすることでした。
自分自身でしばらく使ってみてわかったことなのですが、これだけでは不完全でした。 インストールが不完全であることに気づいたのは、フォントがきっかけでした。
- サンプル用にBMI計算機を作ってみた。
- フォントの表示が汚い。少なくともきれいとは言えない。
- ラベルに日本語が表示できない。
- フォントを変更しようと試みるが、システムにインストールされているフォントを検出してくれない。
- Xフォントで検出されるフォントもビットマップフォントであれTrueTypeフォントであれ関係なく検出されない。
- FLTKでリストアップされるフォントの名前の出所がわからない。
これらはアプリケーション側で解決可能なことかと思い、試行錯誤してみましたが、だめでした。 ヒントとして、FLTKのインストールのときに出力されたCMakeコンフィグレーションのログを確認してみると、次のようなところが見つかります。
-- Use Wayland No (X11 is used)
-- All drawing uses Cairo No
-- Use Pango No
-- Use Xft No
-- Fl_Cairo_Window support No
-- Use std:: No
注目すべきは、PangoとXftの両方ともがNo、つまり利用不可能となっている点です。
最終的には、FLTKのソースに付属しているREADME.Unix.txtというファイルをチェックしたことで、解決策(というより正しいインストールステップ)が判明しました。
追加の作業
README.Unix.txtには、FLTKをビルドするために必須のソフトウェアとオプションだけど推奨するソフトウェアが書かれています。 2) 必須なソフトウェアの中に次の1行が見つかります。
sudo apt-get install libxft-dev
先のログで「Use Xft」がNoになっていたのはこれが欠けていたためでした。 Xftライブラリのパッケージをシステムにインストール(つまり、上記コマンドを実行)してから、FLTKを再ビルド3)してやれば最低限のフォントの問題は解決します。
Xftを有効にしたあとに作成したサンプルアプリケーションでは、日本語も表示されるし、TrueTypeフォントもきれいに表示されます。 より優れたフォントのサポートが必要ならばPangoの開発パッケージもシステムにインストールした上でFLTKを再ビルド4)すると良いでしょう。
他にも欠けているものや、あるいはオプションで有効にしたいものがあれば、ディストリビューションのパッケージマネージャーでそれらのライブラリをインストールしてFLTKを再ビルド5)しておきます。