帳票出力として非常に重宝する「JasperPrint」ですが、サーバをWinからlinuxに変えてみたら。。
文字が出ないし。。
で、LinuxでJasperReportを動かす方法。
(tomcatの場合でしか検証していないですよ。)
1、起動オプション追加
JAVA_OPTSに「-Djava.awt.headless=true」を追加する
2、FONTの設定
setenv JAVA_FONTS "/usr/share/fonts/ja/TrueType"
上記でPDFは出力できる感じ
プリンターに直接印字するにはMSゴシックなど、iReposrtで指定したフォントをlinuxにインストールする必要がある
例えば、MSゴシックの場合
1、Winマシンから「MSGOTHIC.TTC」をlinuxマシンの/usr/share/fonts/ja/TrueTypeにコピー(別の場所でもOK、その場合は/etc/X11/XF86Configを修正?)
2、fonts.dir を修正
MSゴシックの場合
12
fn=0:msgothic.ttc -ms-pgothic-medium-r-normal--0-0-0-0-p-0-iso8859-1
ab=y:fn=0:msgothic.ttc -ms-pgothic-bold-r-normal--0-0-0-0-p-0-iso8859-1
fn=0:ai=0.4:msgothic.ttc -ms-pgothic-medium-i-normal--0-0-0-0-p-0-iso8859-1
ab=y:fn=0:ai=0.4:msgothic.ttc -ms-pgothic-bold-i-normal--0-0-0-0-p-0-iso8859-1
fn=0:msgothic.ttc -ms-pgothic-medium-r-normal--0-0-0-0-p-0-jisx0201.1976-0
ab=y:fn=0:msgothic.ttc -ms-pgothic-bold-r-normal--0-0-0-0-p-0-jisx0201.1976-0
fn=0:ai=0.4:msgothic.ttc -ms-pgothic-medium-i-normal--0-0-0-0-p-0-jisx0201.1976-0
ab=y:fn=0:ai=0.4:msgothic.ttc -ms-pgothic-bold-i-normal--0-0-0-0-p-0-jisx0201.1976-0
fn=0:msgothic.ttc -ms-pgothic-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
ab=y:fn=0:msgothic.ttc -ms-pgothic-bold-r-normal--0-0-0-0-p-0-jisx0208.1983-0
fn=0:ai=0.4:msgothic.ttc -ms-pgothic-medium-i-normal--0-0-0-0-p-0-jisx0208.1983-0
ab=y:fn=0:ai=0.4:msgothic.ttc -ms-pgothic-bold-i-normal--0-0-0-0-p-0-jisx0208.1983-0
一番上の12は数なので、今の設定に足し算する。
msgothic のような TTC フォントはファイルの頭に "fn=数字" をつけることによってフォントを選択する
fn=0 MS ゴシック
fn=1 MS P ゴシック
fn=2 MS UI ゴシック
という感じ。