Hi all,
I am trying to find out a way to write Cyrillic characters to a PDF
document, is this supported by pdfbox?
My last test was to download a font (the gentium font from
http://scripts.sil.org/cms/scripts/page.php?item_id=Gentium, which is
UTF-8 encoded) and try to load it, but I get the following exception:
Exception in thread "main" java.io.IOException: Invalid Characters codes
at
org.apache.fontbox.ttf.CMAPEncodingEntry.processSubtype12(CMAPEncodingEntry.java:218)
at
org.apache.fontbox.ttf.CMAPEncodingEntry.initSubtable(CMAPEncodingEntry.java:97)
at org.apache.fontbox.ttf.CMAPTable.initData(CMAPTable.java:90)
at
org.apache.fontbox.ttf.AbstractTTFParser.parseTables(AbstractTTFParser.java:163)
at org.apache.fontbox.ttf.TTFParser.parseTables(TTFParser.java:61)
at
org.apache.fontbox.ttf.AbstractTTFParser.parseTTF(AbstractTTFParser.java:90)
at org.apache.fontbox.ttf.TTFParser.parseTTF(TTFParser.java:26)
at
org.apache.fontbox.ttf.AbstractTTFParser.parseTTF(AbstractTTFParser.java:66)
at org.apache.fontbox.ttf.TTFParser.parseTTF(TTFParser.java:26)
at
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadDescriptorDictionary(PDTrueTypeFont.java:204)
at
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:164)
at
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:140)
at
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:127)
This is the code:
[...]
String fontfile =
"C:/jms/tmp/ttf/GentiumPlus-1.508/GentiumPlus-R.ttf";
doc = new PDDocument();
PDPage page = new PDPage();
doc.addPage(page);
PDFont font = PDTrueTypeFont.loadTTF(doc, fontfile);
[...]
Is there a way to write Cyrillic characters using PDF Box?
Thanks in advance,
Jose M. Sánchez