読者です 読者をやめる 読者になる 読者になる

JVMのフォント追加

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 を開いても、このファイル名が確認しにくい。

f:id:posturan:20160313174846j:plain



このファイルを単純に、JRE の下の lib/fonts に置くだけで良いなんて、本当にこれで良いのだろうか?