2004年9月5日の日記の2番目の記事へのコメント
■beep media player
北海道に行って腑抜けてきたのかと思われるかもしれませんが,実は毎晩,暇だったんでbeep media playerのソース読んでプレイリストの日本語がずれる原因を調べてみたりしてました.といっても,毎晩11時くらいには寝てたんで,ちょっとしか読んでないんですけど.
というか,原因はすぐにわかりまして,単にxmmsの名残りで,表示時の文字幅の見積りをstrlenの結果に表示フォントのアルファベットの文字幅の平均値か何かをかけて求めているのが悪い模様.UTF8だとひらがなや漢字は3byteになるんで,日本語の文字が混ざると,実際の表示幅より見積り幅の方が大きくなっちゃうわけですね,きっと.これを防ぐには,多分g_utf8_strlenとかのutf8系の命令で文字列処理を行い,幅はpangoの関数で見積もればいいんだと思うんですが,pangoでどうやって見積もればいいかがわからん・・・.
[コメントを書く]
2004年9月5日の日記の2番目の記事へのコメント
[コメントを書く]