2008-05-30

kochi-ttfonts更新でlinux-flashplugin7に漢字出ず

japanese/kochi-ttfontsが更新されたので、そのままportupgradeしたら、FirefoxのFlash Playerプラグインに漢字が出なくなった。例の/usr/local/lib/X11/fs/configはちゃんとハックしてあるし、どうしたことかと悩む。

ファイルアクセスの時刻を見てたら、Flashを動かすと、fonts.dirは読み込まれるのだが、kochi-gothic-subst.ttfが読まれた形跡がない。x11-fonts/cyberbit-ttfontsを入れてみると、こちらが表示されるが、字形が気に入らないので、これは避けたい。で、両者のfonts.dirに何か差があるのか眺めていたら、Cyberbitの方は、fonts.dirの左辺に書くファイル名にいっさい修飾がない。kochiの方はすべての行がTTCap拡張による修飾付きである。更新せずに放置しているFreeBSDの仮想環境と比べたら、そちらはkochiについても、修飾なしの行が含まれていた。

おそらく、libflashplayer.soはfonts.dirを自力で直接解析していて、TTCapの書式を理解せずに全体をファイル名とみなしてしまい、正しいファイルを開けなかったのだろう。なので、適当な行をfonts.dirに加えればうまくいくはず。ついでに、東風フォントじゃなくてIPAフォントにしてしまえるはず。というわけで、fonts.dirに以下の行を追加。

ipamp.ttf -kochi-mincho-dummy-dummy-dummy--0-0-0-0-p-0-dummy-0
ipagp.ttf -kochi-gothic-dummy-dummy-dummy--0-0-0-0-p-0-dummy-0
FoundryとFamilyしか見てないっぽいので、あとはダミーにしておいた。

以上で、Flash上でもIPAフォントがちゃんと表示されることを確認。これでja-kochi-ttfontsに依存するのは、ja-xpdfだけになった。こいつさえ修正できれば、kochiを消せる。いつかやろう。


追記(6/3)

ふたたびkochi-ttfontsが更新されて、fonts.dirをいじる必要がなくなった。というか、kochi-ttfontsを入れたり消したりすると、-kochi-の含まれる行がfonts.dirから勝手に削除されてしまうことがわかった。適当にディレクトリを作って、そこだけ見るようにfs/configをハックした方がいいのかもしれない。

0 件のコメント: