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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage