Moja aplikacja internetowa pozwala użytkownikowi na pisanie tekstu sformatowanego w CKEditorze, a następnie eksportowanie wyniku jako pliku PDF z biblioteką Flying Saucer.Dodawanie Arial Unicode MS do CKEditor
Kiedy trzeba napisać znaki greckie, postanowiłem dodać Arial Unicode MS do dostępnych czcionek, wykonując następujące czynności:
config.font_names = "*several fonts...*; Arial Unicode MS/Arial Unicode MS, serif";
Ta czcionka jest teraz poprawnie wyświetlane w menu CKEditor, ale kiedy zastosowanie tej czcionki do dowolnego elementu, pojawia się następujący wynik:
<span style="font-family:arial unicode ms,serif;"> some text </span>
Jak można zauważyć, że stracił wielkich liter. Ma to zły wpływ podczas eksportowania plików PDF, ponieważ Flying Sprink nie rozpoznaje czcionki i dlatego używa Helvetica, która nie obsługuje znaków Unicode, więc greckie znaki nie są wyświetlane w pliku PDF.
Gdybym ręcznie zmienić źródła kodu
<span style="font-family:arial unicode ms,serif;"> some text </span>
do
<span style="font-family:Arial Unicode MS,serif;"> some text </span>
to działa zgodnie z oczekiwaniami, są wyświetlane greckich znaków.
Czy ktoś już wcześniej napotkał ten problem? Czy istnieje sposób na uniknięcie zmiany znaków UpperCase na LowerCase? naprawdę chcę robić, aby uniknąć wszelkiego rodzaju post-processing jak:
htmlString = htmlString.replace("arial unicode ms", "Arial Unicode MS");
Problem jest znanym (i starym) błędem CKEditor, zobacz https://dev.ckeditor.com/ticket/5966 i https://dev.ckeditor.com/ticket/10676 – obourgain