我使用mPDF库生成PDF。
我使用 Open Sans 字体,内容包含拉丁字符,例如ä
如果它是纯粹的ä,
,它会正确显示但问题是我在本文中添加了font-variant: small-caps;
。它变成这样:
我测试了ä的大写是否存在问题:
但没有。如果您尝试使用“框”选择并复制单词ä(我的意思是第一张图片)..然后将其粘贴到某处。您将拥有正确的nationalität。
所以问题是,那里有什么问题?它在字体上吗?在 PDF 中?在 CSS 中?或者在编码(目前,它是utf-8)?
我该如何解决?
我知道我可以使用类似的东西:
<span class="bigger-font">N</span><span class="smaller-font">ATIONALITÄT</span>
然后我会得到我想要的结果。但我真的想使用font-variant: small-caps;
因为这更容易。
答案 0 :(得分:1)
我修好了。
我不知道具体的技术解释,
但经过大量的试验和错误,解决问题......我找到了问题的解决方案。我刚刚在标记处添加了一个大写拉丁字符列表,因此PDF已经呈现了大写拉丁字符,以便在font-variant: small-caps;
中使用
<span style="visibility: hidden; font-family: open_sans;">
ÀÁÂÃÄÅÈÉÊËÌÍÎÏÐÒÓÔÕÖØÙÚÛÜÝÑÇÆ <!-- pre render it. small-caps may use them later. -->
</span>
<font>
Nationalität <!-- It will now rendered correctly. -->
</font>
因为看起来font-variant: small-caps;
应用于生成PDF的最后一个进程,并且它无法从Font系列中获得大写拉丁字符。
我无法解释并证明问题的原因。我不知道技术原因。如果你们中的一些人对它有所了解。请告诉我们。