PdfStamper クラスを使用して追加した TextField にフォントを設定したいと思います。私のコードは次のとおりです。
final TextField textField = new TextField(
stamper.getWriter(),
new Rectangle(llx, lly, urx, ury),
"Name"
);
textField.setOptions(TextField.READ_ONLY);
textField.setAlignment(Element.ALIGN_RIGHT);
final BaseFont bf = BaseFont.createFont(
"c:/windows/fonts/comic.ttf",
BaseFont.IDENTITY_H,
BaseFont.EMBEDDED
);
bf.setSubset(false);
textField.setFont(bf);
textField.setFontSize(12);
textField.setText("Žížalka");
stamper.addAnnotation(textField.getTextField(), 1);
後で javascript でフィールド値を変更できるようにしたいので、bf.setSubset を false に設定します。
さて、PDF ファイルが生成され、フィールドには予想どおり Comic Sans MS フォントの単語が含まれていますが、フィールドをクリックすると、Comic Sans MS フォントのままであるにもかかわらず、奇妙な文字のグループに変わります。ここで何が問題なのですか?フォントはファイルに埋め込まれているのに、なぜ単語が間違って描画されるのでしょうか?