我使用 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;
因为这样更容易。
最佳答案
我修好了。
不知 Prop 体的技术解释,
但经过大量的尝试和错误,解决问题......我找到了解决问题的方法。我刚刚在标记中添加了一个 大写 拉丁字符列表,因此 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 的最后一个过程中应用,它无法从字体中获取 大写 拉丁字符家庭。
我无法扎实地解释和证明问题的原因。我不知道技术原因。如果你们中的一些人对此有所了解。请告诉我们。
关于css - PDF 上的小写拉丁字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42116675/