結論:日本語は埋め込めませんでした。
#環境
iReport 5.6.0
JPiere 4.1.0
Eclipse Version: Oxygen.2 Release (4.7.2)
埋め込むフォントにはMeiryo.ttfを使用しました。
#方法
基本的には参考サイト様にあります方法を試していきました。ただし、環境がJasperReportsだったり、使用しているサーバーが違ったりしたため、完璧に同じことが出来てはいません。
始めに試したのは[1つ目のサイト][link1]のPDF にフォントを埋め込む方法(Font extentionを使う)です。
こちらのサイトではiReportで行っており、個人的には一番期待が高かったのですが、ダメでした。
この際、.ttfを埋め込まなくてはならないということではあったのですが、PCにMeiryo.ttcしかなかった為、一度.ttcで試しております。なぜか問題なくフォント自体は登録されましたが、表示はされませんでした。その後、.ttfでも試しましたが結果は変わりませんでした。
次に試したのが公式サイトのここです。試した結果、エラーが出たのでここを参考にして修正しました。
当環境ではTomcatではなくJettyを使用していたため、.tomcatpluginにどうこうする部分は省いております。
以上のことを試した結果、PDFにフォントを埋め込むことは出来ませんでした。
iReport側では、この画像のように
2つフォントを指定できる場所があるのですが、
Font nameをメイリオにしたりMeiryoに、
Pdf Font name is now deprecated.~~~ をでなく空欄に、
日本語対応のHeiseiKakuGo-W5やHeiseiMin-W3にしてみたり、
PdfEmbeddedをtrueに、
Pdf Encodingを日本語に対応したUniJIS-UCS2-HW-H (Japanese)などにしたり
といろいろ試してみましたが、効果はありませんでした。
実施例
Font name | Pdf Font name~ | PdfEmbedded | Pdf Encoding |
---|---|---|---|
メイリオ | <default> | false | CP1252 (Western European ANSI aka WinAnsi) |
メイリオ | HeiseiKakuGo-W5 | false | CP1252 (Western European ANSI aka WinAnsi) |
メイリオ | <default> | True | UniJIS-UCS2-HW-H (Japanese) |
メイリオ | HeiseiKakuGo-W5 | True | UniJIS-UCS2-HW-H (Japanese) |
︙ | ︙ | ︙ | ︙ |
Pdf Font name is now deprecated~~~は大抵の場合、変更するとエラーを吐きにきます。
PdfEmbeddedはあんまり関係がなさそうな感じです。
Pdf Encodingは、変更するとエラーが出たり、Pdfは出力されるけど表示されなかったり、文字が化けて?になったりというバリエーションはありました。
とはいえ、Font nameに何かを指定していても、下の欄でFontをしっかり指定すると、Pdf出力時のフォントはそちらのフォントに代わっていたので、やっぱり特に弄らない場所な気がしています。
以上。
#参考サイト様
[link1]:http://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=JasperReports+%A4%C8+iReport
1.[FreeStyleWiki][link1]
2.iDempiere Lab JasperReportsにIPAフォントの追加
3.iDempiere Lab JasperReportの日本語化対応手順
4.iDempiere Lab JasperReportsにかかわるJPiereのカスタマイズ
5.iDempiere Lab PDFのレポートで日本語を出力する