« fluxbox on UTF-8 | メイン | NEC AtermWL54AG gentoo編 »

fluxbox on UTF-8 part.2

fluxboxがGentooで文字化けする件。

Gentooでfluxboxのメニュー等が文字化けする理由はおそらくふたつあって、それは
1.fluxboxの日本語仕様がEUC-JPである(前回と同じ)
2.sytleが適切な日本語フォントを指定していない(gentooは自分でフォントをインストールするため、必要なフォントをemergeしていないことに気がつかないことがある)

1.の対処法
ほとんど前回と同じ。
Ref)http://august.oor.jp/logs/boo/index.php?itemid=53
tar玉は/usr/portage/distfilesにあるから、これを展開してTranslation.mを探す。
前回と同様に、ファイルの文字コードをUTF-8にし、さらに一行めをEUC-JP→UTF-8

cf)nkf -w ファイル1 > ファイル2
ファイル1の文字コードをUTF-8にしたものをファイル2という名前で保存。
nkf --guess ファイル1
ファイル1の文字コードを確認。

# config --enable-nls
# make

fluxbox.catを置き換えておしまい。

2.の対処法
適切な日本語フォントをsytleファイルで指定してやればいいが、はたしてどのフォントが適切か?
で、一番簡単なのはkochi-substituteだろうと思う。インストールは
# emerge media-fonts/kochi-substitute
の後、/etc/X11/xorg.confのFontPathに
FontPath "/usr/share/fonts/kochi-substitute/"
と一行加えて、
#fc-cache -fv
とする。

すると、xfontselで(emergeしておくこと)kochiが見えるので、この値でもってstyleのフォントを書き換えてしまえばいい。
一番簡単なのは(おそらく)Minimal。まずホーム以下にコピーしてきて
$ cp /usr/share/fluxbox/styles/Minimal ~/.fluxbox/styles/Minimal-ja
Minimal-jaの下の方にある*font行を
*Font: -*-kochi gothic-*-r-*-*-12-*-*-*-*-*-*-*
とでも書き換えて、このsytleを選べば、めでたく日本語化が完了する。
P.S それでもダメという場合(BlueNight等のsytle)は、nkfでstyleファイルをUTF-8化するとうまくいく場合がある。

蛇足)
kochiはフォントとして汚いという場合、ipaフォントでもemergeしておいて、
#rm /usr/share/fonts/kochi-substitute/kochi-mincho-subst.ttf
#rm /usr/share/fonts/kochi-substitute/kochi-gothic-subst.ttf
#ln -s /usr/share/fonts/ja-ipafonts/ipam.ttf /usr/share/fonts/kochi-substitute/kochi-mincho-subst.ttf
#ln -s /usr/share/fonts/ja-ipafonts/ipag.ttf /usr/share/fonts/kochi-substitute/kochi-gothic-subst.ttf
とシンボリックリンクを張ってしまえばいい。