餡子付゛録゛

ソフトウェア開発ツールの便利な使い方を紹介。

Ubuntu Linux 11.04でSUN Javaの一部文字化け対策

SUN版の方が、OpenJDK版よりも3割程度高速なので、Ubuntu Linux 11.04でもSUN版が動くようにします。
今はSUN版はオプションのリポジトリに登録されているパッケージなので、aptのリポジトリの追加をしてから、インストールを行います。

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk

既にOpenJDKがインストールされている場合は、SUN版に手動で切り替えてください。

sudo update-alternatives --config java

文字化け癖があるので、システム → 設定 → 外観の設定 → フォントで、アプリケーションのフォントを「Takao ゴシック」の10.5ポイント程度にしておいたほうが良いようです。
また、ディストリビューションごとにカスタマイズできる論理-物理フォントのマッピングがおかしいようで、Ubuntu Linux用の設定を無効にすると文字化けが解消する場合もあるようです。以下ではファイル名を変更していますが、削除しても問題ありません。

cd /usr/lib/jvm/java-6-sun/jre/lib/
sudo mv fontconfig.Ubuntu.bfc fontconfig.Ubuntu.bfc.bak
sudo mv fontconfig.Ubuntu.properties.src fontconfig.Ubuntu.properties.src.bak

NetBeansの起動画面の文字化けを訂正するには、/etc/java-6-sun/fontconfig.propertiesも書き換える必要があります。変更箇所は、単調ですが多いので、パッチを作成しました。

cd /etc/java-6-sun
sudo wget http://uncorrelated.servehttp.com/patch/fontconfig.properties.patch
sudo patch < fontconfig.properties.patch

Ubuntu Linuxの標準日本語フォントが、KochiとSazanamiからTakaoに変わったためなのか、その他の理由なのかは追いかけていませんが一般ユーザーは混乱しそうなので、フォント周りはデフォルトで文字化けをしないようにして欲しいです。