GUI上の日本語表示

linuxでは良くあるらしく、標準でJVMが日本語フォントを読めるようになっていないみたい。フォント構成ファイルにしたがってフォントファイルを指定してあげないといけない分けだが、物理フォント名を調べて設定ファイルに色々記述するのは面倒そう。他の方法として、

ランタイムに lib/fonts/fallback ディレクトリが存在し、そのディレクトリに有効な TrueType フォントまたは Type 1 フォントが含まれている場合は、それらのフォントが 2D レンダリング用の代替フォントとして自動的に追加されます。

フォント構成ファイル#すべてのプラットフォームに共通のプロパティー

というのがあるのでこれで対応。具体的には、jre/lib/fonts/fallbackのなかにttfファイルへのリンクを作ればよい。

$ mkdir $JAVA_HOME/jre/lib/fonts/fallback
$ cd $JAVA_HOME/jre/lib/fonts/fallback
$ ln -s /usr/share/fonts/default/TTF/*.ttf .