[[diary/Kojima]]

・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 に用意しました
ので,興味がある人はぜひお試しくださいませ.フリーなフォントを使ってい
る関係で,フォントがあまり綺麗でなかったり,位置がずれる(特に英文フォ
ント)場合もありますが,そのあたりは御容赦くださいませ(苦笑)

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS