Warum wird der gujaratisch-indische Text mit Arial Unicode MS nicht korrekt wiedergegeben?
Dies ist ein Follow-up zu dieser FrageWie exportiere ich Schriften in gujaratisch-indischer Sprache als PDF?, @ amedee-van-gasse, QA Engineer bei iTextfragte mic, um eine itextspezifische Frage mit relevantem MCVE zu posten.
Warum ist diese Sequenz von Unicode\u0ab9\u0abf\u0aaa\u0acd\u0ab8
nicht richtig gerendert?
Es sollte so gerendert werden:
હિપ્સ, auch getestet mit Unicode-Konverter
Jedochdieser Code (Beispiel angepasstes FormulariText: Kapitel 11: Auswahl der richtigen Schriftart)
public class FontTest {
/** The resulting PDF file. */
public static final String RESULT = "fontTest.pdf";
/** the text to render. */
public static final String TEST = "\u0ab9\u0abf\u0aaa\u0acd\u0ab8";
public void createPdf(String filename) throws IOException, DocumentException {
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename));
document.open();
BaseFont bf = BaseFont.createFont(
"ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(bf, 20);
ColumnText column = new ColumnText(writer.getDirectContent());
column.setSimpleColumn(36, 730, 569, 36);
column.addElement(new Paragraph(TEST, font));
column.go();
document.close();
System.out.println("DONE");
}
public static void main(String[] args) throws IOException, DocumentException {
new FontTest().createPdf(RESULT);
}
}
Generiert diesesErgebni:
Das sieht anders aus als
હિપ્સ
Ich habe test mititextpdf-5.5.4.jar
,itextpdf-5.5.9.jar
und auchitext-2.1.7.js3.jar
(verteilt mit Jasper-Berichten)
Die verwendete Schriftart, die mit MS Office verteilt wirdARIALUNI.TTF
und es kann hier heruntergeladen werdenArial Unicode MS * Vielleicht gibt es einige rechtliche Probleme beim Herunterladen, siehe Mike 'Pomax' Kamermans Kommentar