CentOS 5.5 で動かしているサーブレットコンテナで、つまりjavaで、論理フォントにserifを指定して日本語を扱っている時に気がついたんですが、「葉」が文字化けみたいになっちゃいます。
こんなん
※背景は気にしないでください
で、そのCentOSでFirefoxを立ち上げてみたら、やっぱり「葉」がおかしい。
どうやら、さざなみ明朝の「葉」のグリフがおかしいみたい。
ちゃんと調べてないけど他にもあるかもしれない。
良い機会だから、もう少しマシなフォントを入れたのでメモしておきます。
IPAフォントをインストール
http://ossipedia.ipa.go.jp/ipafont/ から IPAfont00302.zip をダウンロードして、
unzip IPAfont00302.zip
cp ./IPAfont00302/*.ttf /usr/share/fonts/japanese/TrueType/
fc-cache -fv
fc-list | grep IPA
#——————————————————————–
# IPAゴシック,IPAGothic:style=Regular
# IPA Pゴシック,IPAPGothic:style=Regular
# IPA明朝,IPAMincho:style=Regular
# IPA P明朝,IPAPMincho:style=Regular
#——————————————————————–
jdkにでIPAフォントを使う
これがハマリました。
JDK は 6u16 で、yum でインストールせず、 Sunのサイト、今は
Oracleのサイトからダウンロードした jdk-6u16-linux-i586.bin で、過去の習慣から /usr/local/j2sdk/ でシンボリックリンク貼ってます。
fallback ディレクトリにリンクを貼ればいいらしいんで、やってみたんですが文字化け?は解消されませんでした。
mkdir -p /usr/local/j2sdk/jre/lib/fonts/fallback/
ln -s /usr/share/fonts/japanese/TrueType/ipa*.ttf /usr/local/j2sdk/jre/lib/fonts/fallback/
で、fontconfig.properties.src を編集すれば良いらしいんで、やってみました。
vim /usr/local/j2sdk/jre/lib/fontconfig.properties.src #-------------------------------------------------------------------- dialog.plain.japanese=IPA Gothic dialog.bold.japanese=IPA Gothic dialog.italic.japanese=IPA Gothic dialog.bolditalic.japanese=IPA Gothic sansserif.plain.japanese=IPA PGothic sansserif.bold.japanese=IPA PGothic sansserif.italic.japanese=IPA PGothic sansserif.bolditalic.japanese=IPA PGothic serif.plain.japanese=IPA PMincho serif.bold.japanese=IPA PMincho serif.italic.japanese=IPA PMincho serif.bolditalic.japanese=IPA PMincho monospaced.plain.japanese=IPA Gothic monospaced.bold.japanese=IPA Gothic monospaced.italic.japanese=IPA Gothic monospaced.bolditalic.japanese=IPA Gothic dialoginput.plain.japanese=IPA Gothic dialoginput.bold.japanese=IPA Gothic dialoginput.italic.japanese=IPA Gothic dialoginput.bolditalic.japanese=IPA Gothic # Search Sequences #sequence.allfonts=latin-1 sequence.allfonts.x-euc-jp-linux=japanese,latin-1 sequence.allfonts.UTF-8.ja=japanese,latin-1 sequence.fallback=japanese # Exclusion Ranges # Font File Names filename.IPA_Gothic=/usr/share/fonts/japanese/TrueType/ipag.ttf filename.IPA_PGothic=/usr/share/fonts/japanese/TrueType/ipagp.ttf filename.IPA_Mincho=/usr/share/fonts/japanese/TrueType/ipam.ttf filename.IPA_PMincho=/usr/share/fonts/japanese/TrueType/ipamp.ttf filename.Sazanami_Gothic=/usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf filename.Sazanami_Mincho=/usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf #--------------------------------------------------------------------
が、コレでもダメでした。
ここでよくよく確認すると、設定ファイルは読み込む優先順位があるらしいじゃないですか。
なので、他のfontconfigファイルを移動して、編集したやつだけの状態にしたら、いけました。こんな方法で良いのかしら・・
mkdir -p /usr/local/j2sdk/jre/lib/old_fontconfig
mv /usr/local/j2sdk/jre/lib/fontconfig.* /usr/local/j2sdk/jre/lib/old_fontconfig
cp /usr/local/j2sdk/jre/lib/old_fontconfig/fontconfig.properties.src /usr/local/j2sdk/jre/lib/fontconfig.properties
一応CentOSのローカルでも使える様に
vi /etc/fonts/conf.d/65-nonlatin.conf #-------------------------------------------------------------------- <fontconfig> <alias> <family>serif</family> <prefer> <family>IPAPMincho</family> ... </prefer> </alias> <alias> <family>sans-serif</family> <prefer> <family>IPAPGothic</family> ... </prefer> </alias> #-------------------------------------------------------------------- </fontconfig></pre>
参考サイト
Blog: CentOSへの日本語フォントのインストール – Jade Developers
フォント – Linux に Java(JRE 1.5) をインストールする方法 – livedoor Wiki(ウィキ)