・xpdf-3.00
リハビリがてら,xpdf-3.00 のバイナリパッケージを作ってみました.以前試 した時は,日本語の TrueType フォントの処理がおかしいのか,フォントが正 しく表示できなかったのだけど,Vine なり Fedora なりの xpdf は日本語も 表示できているようなので,それらのソースを入手してしばし検討.
当初は VineSeedPlus の TrueType まわりのパッチを流用しようかと思ってた けど,あれこれ手持ちの PDF ファイルを試してみると,フォントデータを内 蔵している PDF ファイルはきちんと表示できない模様.
困ったなぁ,,と思って FC3 のソースを見てみると,Vine とは違う形で cjk に対応させているようで,このパッチなら大丈夫かな,と試してみると,上記 フォントデータ内蔵の PDF ファイルも表示できました.
ところが,「これでいけるかな」,とあれこれ PDF ファイルを見ていると, 全然日本語が表示できないファイルを発見.困ったなぁ,,と思いながら上記 Vine のパッチを使った環境で試してみるとちゃんと見える模様.
一応,両方の環境(この手のテスト用には VMware な環境をそれぞれに作って いる)とも Plamo-4.01 ベースなのに何が違うのだ,,と悩むこと一日半,結 局 libfreetype が 6.3.5 以降の新しいバージョンだと特定の PDF ファイル で日本語が表示できないらしいことに気づく(文字コードがらみの問題な印象).
一方,最近の libfreetype は 6.3.7 とか 6.3.8 になっているようなので, xpdf だけのために古いバージョンを用意する(ラッパーをかませて LD_PRELOAD で読み込むとか)ことも考えたのだけど,あまりよろしく無い気が したので,Makefile をいじって libfreetype.a を static にリンクする方針 で作成.
当初はローダに -static オプションを指定して,全体を static リンクにし ないといけないのかな,と思ってたけど,どうやら共有ライブラリを見せずに- l オプションで libfreetype.a を指定するようにすれば libfreetype.a だけ を static にリンクした形で作成できた模様.ちなみに,こういう形で指定し た場合,本来は libfreetype.so が(厳密には libtool が)自動的に解決する 圧縮用ライブラリ(libz)への参照も明示的に指定して(-lz),解決してやる必 要がありました.
そんなこんなで思ったよりも苦労した xpdf-3.00 ですが,Plamo-4.0x 用のバ イナリパッケージを plamo.linet.gr.jp の Plamo-test/{t1lib-5.0.2-i386-P1,xpdf-3.00-i386-P1}.tgz に用意しました ので,興味がある人はぜひお試しくださいませ.フリーなフォントを使ってい る関係で,フォントがあまり綺麗でなかったり,位置がずれる(特に英文フォ ント)場合もありますが,そのあたりは御容赦くださいませ(苦笑)