フォントをcyrillic.Iにあるテキストに設定したいのですが、テキストをcyrilicに変換できますが、Fontを同じテキストに設定することはできません。Itext UTFエンコーディングとフォントの両方を段落に設定する方法
File fontFile = new File("arialuni.ttf");
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
document.open();
writer.getAcroForm().setNeedAppearances(true);
Font boldFont = new Font(Font.FontFamily.TIMES_ROMAN, 18, Font.BOLD);
Font normalFont = new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.ITALIC);
BaseFont unicode = BaseFont.createFont(fontFile.getAbsolutePath(), BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
FontSelector fs = new FontSelector();
fs.addFont(new Font(unicode));
addContent(document,article.getTitle(),fs,boldFont);
private static void addContent(Document document,String paragraph,FontSelector fs,Font font) throws DocumentException {
Phrase phrase = fs.process(paragraph);
Paragraph p = new Paragraph(phrase.toString(),font);
document.add(p);
}
なぜ 'addContent'で' FontSelector'と 'Font'の両方を適用しようとしますか?あなたがセレクタにフォントを選択させるか、それとも明示的に自分自身で行うかを指定します。 – mkl