Jasperreports を使用して発覚したのですが、Windows PCで作成した jrxml を、Linux CentOS に持っていき、
Jasperreports のコンパイルをして使用しようとしたら、
MS 明朝がない、とエラーになってしまった。
確かに、GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()
で、JVMで使用できるフォントを調べたらMS フォントなんて存在するはずもない。
さざなみ明朝、や、さざなみゴシック、は使える。
JVMの使用フォントは、JREのディレクトリの下の lib/fonts に、拡張子 ttf ファイルで存在する。
Linux 上のJava での正しいフォントの追加方法がわからず、
手持ちのWindows PC のフォントファイル(c : \Windows\fonts の下にあるフォントファイル)をこのディレクトリに置いてみた。
Java アプリを再起動したら Jasperreports も問題なく動作して、
日本語帳票も問題なく印字できた。
Windows7 から、以下のファイルを、拡張子が ttf でないけど、持ってきた。
TruTypeコレクションファイルしか、Windowsでは見つからない。
msgothic.ttc → MS ゴシック と MS Pゴシック
msmincho.ttc → MS 明朝 と MS P明朝
Windows7 では、C:\Windows\fonts を開いても、このファイル名が確認しにくい。
このファイルを単純に、JRE の下の lib/fonts に置くだけで良いなんて、本当にこれで良いのだろうか?