Мое веб-приложение позволяет пользователю писать насыщенный текст внутри CKEditor, а затем экспортировать результат в формате PDF с помощью библиотеки Flying Saucer.Добавление Arial Unicode MS в CKEditor
Как нужно писать греческие символы, я решил добавить Arial Unicode MS для доступных шрифтов, выполнив следующие действия:
config.font_names = "*several fonts...*; Arial Unicode MS/Arial Unicode MS, serif";
Этот шрифт теперь отображается правильно в меню CKEditor, но когда я применить этот шрифт к любому элементу, я получаю следующий результат:
<span style="font-family:arial unicode ms,serif;"> some text </span>
Как вы можете заметить, я потерял прописные символы. Это имеет очень плохой эффект при экспорте PDF, так как Flying Saucer не распознает шрифт, и поэтому использует Helvetica, который не поддерживает символы Unicode, поэтому греческие символы не отображаются в PDF-файле.
Если изменить вручную из исходного кода
<span style="font-family:arial unicode ms,serif;"> some text </span>
в
<span style="font-family:Arial Unicode MS,serif;"> some text </span>
, то он работает, как ожидалось, отображаются греческие символы.
Неужели кто-нибудь встретил эту проблему раньше? Есть ли способ избежать символов UpperCase для замены на LowerCase? я действительно хочу делать, чтобы избежать какой-либо пост-обработки, как:
htmlString = htmlString.replace("arial unicode ms", "Arial Unicode MS");
Проблема известна (и старая) ошибка CKEditor, см. Https://dev.ckeditor.com/ticket/5966 и https://dev.ckeditor.com/ticket/10676 – obourgain