Search the FirstSpirit Knowledge Base
Hallo zusammen,
bei einem Projekt werden mehrsprachige PDF's und HTML-Seiten mit einem Universalfont generiert,
der alle Zeichen für 50 Sprachen beinhaltet.
Jetzt ist aufgefallen, das bei 3 Sprachen (chinesisch, koreanisch und japanisch) einige Zeichen (Glyphen)
verkehrt ausgegeben werden.
Vom Fonthersteller kam dazu die information, dass die korrekten Zeichen sehr wohl im Font vorhanden sind,
müssten für diese Sprachen jedoch aus einer anderen Plane im Unicode geholt werden.
Jetzt die Frage, ist es technisch überhaupt möglich, mit Java während der PDF- und HTML-Generierung für diese 3 Sprachen
alle Texteingaben auf eine andere Plane im Unicode zu shiften ?
Oder sollte eher der Ansatz verfolgt werden,
dass der Font zerlegt wird, so dass er für diese 3 Sprachen direkt den passenden Zeichensatz anbietet.
Sprich - es wären aus dem Universalfont einzelne asiatische Fonts zu erstellen.
Welche FirstSpirit-Version und welche FOP-Version setzt du ein?
Guten Morgen,
FS 4.2.468.. und FOP .92 wird eingesetzt.
Besteht eigentlich die Möglichkeit, bei den Konvertierungs-Regeln mit Pattern zu arbeiten ?
Nach meinem Verständnis ist die Zuordnung in der Schreiftart "Unicode-Zeichen zu Glyph", d.h. die "Plane" sollte keine Rolle spielen. Und FOP schreibt nur die Unicode-Zeichen in den PDF-Quelltext, die Umsetzung in die Glyphs wird dann bei der Anzeige vorgenommen. Da kommt dann die (eingebettet) Schriftart zum Einsatz.
Kannst du das mal mit einer anderen Schriftart ausprobieren (z.B. Arial-Unicode)?
Die Idee, für jede Sprache die passende Schriftart zu nehmen würde sich positiv auf die Größe der Dateien auswirken, wäre also auch eine gute Alternative.
Arial Unicode habe ich testweise ausprobiert, zeigt jedoch auch nicht die korrekten japanischen Glyphen an. In MS Word zeigen auch nur rein japanische Schriften wie die Kozuka Gothic die korrekte Glyphe an.
Ich wollte halt wissen, ob eine Möglichkeit besteht, die Eingaben des Users zu konvertieren, sprich
die Zeichen vor der Generierung auf eine andere Unicode-Plane zu "shiften". Dafür hat der Hersteller des Fonts eine Anleitung gestellt (siehe Grafik)
Andernfalls muss der Kunde auf seine Hausschrift (Universalfont) verzichten
und einfache Extra-fonts für japanisch /koreanisch verwenden.
Ok, das hält sich ja an garkeinen Standard. Da scheint mir die Erstellung von speziellen Schriftarten für jede Sprache die einzige Möglichkeit zu sein.
[Edit]
Nochmal etwas präziser: Hier ist das Problem, das es für ein Unicode-Zeichen verschiedene Glyphen gibt (ungefähr so, wie bei westlichen Schriften mit oder ohne Serifen), und das verschiedene Regionen, welche prinzipiell die gleiche Schrift verwenden, unterschiedliche Darstellungen bevorzugen. Diese Darstellungsarten scheinen bei der hier vorliegenden Schrift-Datei in "sonst freien Bereichen" abgelegt zu sein.
Richtig, Japanisch und Koreanisch verwenden größtenteils die chinesische Glyphen,
bestimmte Zeichen sind jedoch abweichend und in einer anderen Plane abgelegt.
Rein theoretisch hätte man ja bei diesen Sprachen ein Algorithmus einsetzen können,
der die Unicode-Zeichen aus einer höheren Plane des Fonts setzt.
Scheint dann aber in FS an die Grenzen der Machbarkeit zu kommen.
Ich werde dem Kunden vorschlagen, dass hier mit alternativen Schriften generiert wird.