【问题标题】:small-caps latin characters on PDFPDF 上的小写拉丁字符
【发布时间】:2017-06-26 06:44:10
【问题描述】:

我使用 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;,因为这样更容易。

【问题讨论】:

    标签: css pdf utf-8 fonts mpdf


    【解决方案1】:

    我修好了。

    对此我不知道具体的技术解释,

    但是经过大量的试验和错误,故障排除......我找到了问题的解决方案。我刚刚在标记处添加了 uppercase 拉丁字符列表,因此 PDF 已经呈现 uppercase 拉丁字符以在 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 的最后一个过程中应用的,它无法从字体系列中获取 大写 拉丁字符。

    我无法确切地解释和证明问题的原因。我不知道技术原因。如果你们中的一些人对此有所了解。请告诉我们。

    【讨论】:

    • 它看起来像 mPDF 中的一个错误,您可以尝试最新版本的 mPDF 和/或将此报告为 mPDF issue
    猜你喜欢
    • 2013-02-21
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多