Dies ist ein Follow-up zu dieser Frage How to export fonts in Gujarati-Indian Language to pdf?, @amedee-van-gasse, QA Engineer bei iText asked me, um eine Frage spezifisch für ITEXT mit relevanten MCVE.Warum wird der Gujarati-Indian-Text nicht korrekt mit Arial Unicode MS gerendert?
Warum wird diese Unicode-Sequenz \u0ab9\u0abf\u0aaa\u0acd\u0ab8
nicht korrekt gerendert?
Es sollte wie folgt wiedergegeben werden: mit unicode-converter
jedoch dieser Code (Beispiel angepasster Form iText: Chapter 11: Choosing the right font)
હિપ્સ, auch getestet
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 dieses Ergebnis:
Das sieht anders aus von
હિપ્સ
Ich habe Test mit itextpdf-5.5.4.jar
, itextpdf-5.5.9.jar
und auch itext-2.1.7.js3.jar
(verteilt mit Jaspis-Berichte)
Die Schriftart es verwendete ein verteilt mit MS Office ARIALUNI.TTF
und es kann von hier Arial Unicode MSherunterladen werden* Vielleicht gibt es einige rechtliche Probleme Download siehe Mike 'Pomax' Kamermans Kommentar
Beachten Sie, dass Ihr Download-Link ist ... nicht zu 100% legal. Arial Unicode wird kostenlos mit Microsoft Office geliefert, aber das macht die Schriftart nicht frei. Wenn man sich http://www.fonts.com/font/monotype/artical-unicode anschaut, ist es ziemlich klar, dass dies eine * sehr teure Schrift * ist (370 US $ für die beiden Familien, wenn man nicht Office gekauft hat). . –
Eine andere Frage ist, wer ist das Problem hier - auf was Text Shaper iText verlassen, und haben Sie versucht zu sehen, was * es * tut, wenn mit der Unicode-Sequenz und Font-Ressource präsentiert? Dies könnte iText sein, aber es könnte auch der Java Shaper sein, auf den iText angewiesen ist. –
Nur zur Information: Guajarati erfordert eine Neuanordnung der Glyphen * bevor * die eigenen OpenType-Funktionen der Schriftart angewendet werden.In dieser Schriftartdatei ist kein Code zum Neuordnen vorhanden. Es ist der Renderer-Software überlassen, die Zeichenfolge zuerst vorzuverarbeiten. Siehe auch [Hinweise von Microsoft zu Gujarati] (https://www.microsoft.com/typography/OpenTypeDev/gujarati/intro.htm#reor). – usr2564301