Как исправить нестандартный шрифт с помощью Gotham-Book.ttf в JasperReports?
Пользовательский шрифт (успешно):
![custom font arial (succeed)](https://i.stack.imgur.com/YaKJJ.png)
Объявление шрифта:
<fontFamily name="FreeUniversal">
<normal>jasperutils/fonts/Arial.ttf</normal>
<bold>jasperutils/fonts/Arial.ttf</bold>
<italic>jasperutils/fonts/Arial.ttf</italic>
<boldItalic>jasperutils/fonts/Arial.ttf</boldItalic>
<pdfEncoding>Cp1252</pdfEncoding>
<pdfEmbedded>true</pdfEmbedded>
</fontFamily>
Пользовательский шрифт Gotham (грязный):
![custom font Gotham (messy)](https://i.stack.imgur.com/VK1fA.png)
Объявление шрифта:
<fontFamily name="FreeUniversal">
<normal>jasperutils/fonts/gotham/GothamBook.ttf</normal>
<bold>jasperutils/fonts/gotham/GothamBook.ttf</bold>
<italic>jasperutils/fonts/gotham/GothamBook.ttf</italic>
<boldItalic>jasperutils/fonts/gotham/GothamBook.ttf</boldItalic>
<pdfEncoding>Cp1252</pdfEncoding>
<pdfEmbedded>true</pdfEmbedded>
</fontFamily>
Я использую DynamicReports для генерации отчета, пример кода:
private void build() {
FontBuilder defaultFont = stl.font()
.setFontName("FreeUniversal");
StyleBuilder boldStyle = stl.style()
.bold();
StyleBuilder italicStyle = stl.style()
.italic();
StyleBuilder boldItalicStyle = stl.style()
.boldItalic();
try {
report()
.setDefaultFont(defaultFont)
.title(
Templates.createTitleComponent("DefaultFont"),
cmp.text("FreeUniversal font - plain"),
cmp.text("FreeUniversal font - bold").setStyle(boldStyle),
cmp.text("FreeUniversal font - italic").setStyle(italicStyle),
cmp.text("FreeUniversal font - bolditalic").setStyle(boldItalicStyle))
.show();
} catch (DRException e) {
e.printStackTrace();
}
}