【发布时间】:2015-08-11 02:57:23
【问题描述】:
我的网络应用程序允许用户在 CKEditor 中编写富文本,然后使用 Flying Saucer 库将结果导出为 PDF。
由于他们需要编写希腊字符,我选择将 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 导出过程中效果很差,因为飞碟无法识别字体,因此使用不支持 Unicode 字符的 Helvetica,因此希腊字符不会显示在 PDF 中。
如果我从代码源手动更改
<span style="font-family:arial unicode ms,serif;"> some text </span>
到
<span style="font-family:Arial Unicode MS,serif;"> some text </span>
然后它按预期工作,显示希腊字符。
以前有人遇到过这个问题吗?有没有办法避免将大写字符更改为小写? 我真的很想避免做任何类型的后处理,比如:
htmlString = htmlString.replace("arial unicode ms", "Arial Unicode MS");
【问题讨论】:
-
这个问题是一个已知的(和旧的)CKEditor 错误,请参阅 dev.ckeditor.com/ticket/5966 和 dev.ckeditor.com/ticket/10676
标签: pdf unicode fonts ckeditor flying-saucer