2010/02/03に、iText5.0.1がリリースされました。詳細はiTextPDF本家のHPで。
さて本題。iText 5 でExceptionが発生した時、”No message found for ~”って出ません?
iTextのメッセージは”com.itextpdf.text.error_messages.MessageLocalization”クラスが管理しています。メッセージの各種言語対応が可能な作りになっているのですが、デフォルトのメッセージファイル(en.lng)がiText.jarに含まれていません(!?)。
ソースを落としてきても入ってないので、単純に作ってないのか、jarに含めてないのか分かりませんが・・・。埋め込みパラメタ付きメッセージの場合、
“No message found for font.1.with.2.is.not.recognized”(フォントが見つからない場合)
のように、”1″や”2″の部分が変換されず、エラー解析する時に困ります。
という訳で、簡単ながらエラーメッセージファイル(en.lng)を作成しました。
・en_lng.zip(for iText5.0.0)
これを解凍して、中身の”en.lng”ファイルを”com.itextpdf.text.error_messages”パッケージに追加するだけでOKです。(iText.jarに含めても、独自にこのパッケージフォルダを作成してファイルを入れてもOK)。
すると、”font [HeiseiKakuGo-W5] with [UniJIS-UCS2-HW-H] is not recognized”という感じでエラーメッセージが出力されます。なお、埋め込みメッセージは括弧”["と"]“でくくってます。気に入らない方はファイルを直してください。
誰か、日本語対応版を作ってご連絡頂けないかなぁ。。。(^-^;
(追伸)iText5の日本語フォントについてはコチラをご参照ください。

