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(ウィキ)

centos上でブラウザのフォントを変えたい – cloudcomputingはおいしいよ

CentOS 5 インストール個人的ノート