Mit meiner Webanwendung können Sie Rich Text in CKEditor schreiben und das Ergebnis als PDF mit der Flying Saucer-Bibliothek exportieren.Hinzufügen von Arial Unicode MS zu CKEditor
Da sie griechische Zeichen schreiben müssen, entschied ich mich Arial Unicode MS auf die verfügbaren Schriftarten hinzufügen, indem Sie folgendermaßen vorgehen:
config.font_names = "*several fonts...*; Arial Unicode MS/Arial Unicode MS, serif";
Diese Schrift nun korrekt in der CKEditor-Menü angezeigt wird, aber wenn ich gelten diese Schriftart auf ein beliebiges Element, erhalte ich das folgende Ergebnis:
<span style="font-family:arial unicode ms,serif;"> some text </span>
Wie Sie sehen können, habe ich die große Zeichen verloren. Dies wirkt sich beim PDF-Export sehr negativ aus, da Fliegende Untertasse die Schriftart nicht erkennt und Helvetica verwendet, die keine Unicode-Zeichen unterstützt. Daher werden die griechischen Zeichen nicht im PDF angezeigt.
Wenn ich manuell von Quellcode ändern
<span style="font-family:arial unicode ms,serif;"> some text </span>
zu
<span style="font-family:Arial Unicode MS,serif;"> some text </span>
dann wird es wie erwartet funktioniert, werden griechische Buchstaben angezeigt.
Hat jemand dieses Problem schon einmal gelöst? Gibt es eine Möglichkeit zu vermeiden, dass UpperCase-Zeichen in LowerCase geändert werden? Ich möchte wirklich gerne tun, jede Art von Nachbearbeitung zu vermeiden:
htmlString = htmlString.replace("arial unicode ms", "Arial Unicode MS");
Das Problem ist ein bekannter (und alter) CKEditor-Fehler, siehe https://dev.ckeditor.com/ticket/5966 und https://dev.ckeditor.com/ticket/10676 – obourgain