PDF で生成された円グラフの Unicode サポートについて、非常に紛らわしい問題があります。ここに私が持っているものがあります: 円グラフのタイトルに上付き文字を追加する必要がある円グラフ (jfreechart ライブラリを使用) を生成しています。テストしたところ、jfreechart が正しいタイトル (上付き文字は問題ありません) を生成していることがわかり、itext Unicode サポートもテストしました。間にGraphics2D(Java awtから)があり、jfreechartをテンプレートに変換してから、このテンプレートをpdfに印刷できます。私のテストによると、問題はgraphics2dとitextテンプレートの間にあるはずです。
PdfContentByte canvas = writer.getDirectContent();
PdfTemplate template = canvas.createTemplate(width, height);
FontMapper mapper = new DefaultFontMapper();
template.setFontAndSize(mapper.awtToPdf(new java.awt.Font("Arial Unicode MS", java.awt.Font.PLAIN, 7)) , 7);
Graphics2D graphics2d = template.createGraphics(width, height);
graphics2d.setFont(new java.awt.Font("Arial Unicode MS", java.awt.Font.PLAIN, 7));
JFreeChart chart = getPieChart("", title, value);
私は問題を発見しました。問題は、テンプレート (PdfTemplate) に Unicode 文字が表示されないことです。Unicode フォントを埋め込んでテンプレートに設定しましたが、まだ機能しません。何か案は?