Linux 中用到的一些特殊字体的处理

之前花了不少时间看 Linux 中字体配置的文章,也把实践经验做了记录。最近碰到有些特殊情况需要处理。比如电子发票中常见的 CourierNewPSMT 和 STSong-Light-UniGB-UCS2-H 这两个字体。虽然都知道是 Courier 和“宋体”,但是之前的配置无法覆盖到这两个字体的情况。

下面的方法都涉及到编辑字体配置文件,需要参考前面的文章。这里假设直接编辑用户的字体配置文件 ~/.config/fontconfig/fonts.conf

对于 CourierNewPSMT,可以使用 Courier New 字体来替代,

<match>
  <test name="family"><string>CourierNewPSMT</string></test>
  <edit name="family" mode="assign" binding="strong">
    <string>Courier New</string>
  </edit>
</match>

对于 STSong-Light-UniGB-UCS2-H 则不行。时候 fc-match 的时候会将“STSong-Light-UniGB-UCS2-H”解析为“STSong\-Light\-UniGB\-UCS2\-H”。所以修改为下面的方式来匹配它,

<match>
  <test name="family" compare="contains"><string>STSong</string></test>
  <edit name="family" mode="assign" binding="strong">
    <string>Adobe Song Std</string>
  </edit>
</match>

这里摸索出来的方法感觉不够优雅,如果有朋友知道好的方法,还请留言分享,提前感谢 :)©

本文发表于水景一页。永久链接:<https://cnzhx.net/blog/linux-fonts-couriernewpsmt-and-stsong-light-unigb-ucs2-h/>。转载请保留此信息及相应链接。

1 条关于 “Linux 中用到的一些特殊字体的处理” 的评论

  1. 引用通告: Okular打开中文PDF时中文字体的显示问题 | 水景一页

雁过留声,人过留名

您的电子邮箱地址不会被公开。 必填项已用 * 标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>