diary/Kojima

・xpdf-3.00

リハビリがてら,xpdf-3.00 のバイナリパッケージを作ってみました.以前試 した時は,日本語の TrueType フォントの処理がおかしいのか,フォントが正 しく表示できなかったのだけど,Vine なり Fedora なりの xpdf は日本語も 表示できているようなので,それらのソースを入手してしばし検討.

当初は VineSeedPlusTrueType まわりのパッチを流用しようかと思ってた けど,あれこれ手持ちの 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 に用意しました ので,興味がある人はぜひお試しくださいませ.フリーなフォントを使ってい る関係で,フォントがあまり綺麗でなかったり,位置がずれる(特に英文フォ ント)場合もありますが,そのあたりは御容赦くださいませ(苦笑)



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:41