我想HelveticaLTStd-Bold
用LiberationSans-Bold
字体替换。它已经安装在很多地方了:
但DejaVu Sans
选择的是:
paul@desktop:~$ fc-match "HelveticaLTStd-Bold"
DejaVuSans.ttf: "DejaVu Sans" "Book"
我听从了PDF 字体恢复为 DejaVu Sans,需要等宽字体替换,但没有效果。有什么解决办法吗?
我使用 Ubuntu 22.04.2 LTS x86_64。我检查它fonts-urw-base35
已安装。我创建了~/.config/fontconfig/conf.d/10-pdf-aliases.conf
包含以下内容的文件:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "/etc/fonts/conf.d/fonts.dtd">
<fontconfig>
<alias binding="same">
<family>CourierStd</family>
<accept>
<family>Courier</family>
</accept>
</alias>
<alias>
<family>CourierStd</family>
<default><family>monospace</family></default>
</alias>
</fontconfig>
我已经跑了fc-cache
,但仍然得到:
paul@desktop:~$ fc-match "HelveticaLTStd-Bold"
DejaVuSans.ttf: "DejaVu Sans" "Book"
我没有注意到该配置文件中的字体名称不同。我对其进行了编辑,它解决了我在使用文档查看器时遇到的问题。不幸的是,Okular(使用 Flatpak 安装)仍然使用DejaVu Sans
并产生这种错误的字距调整:
以下是本文档中使用的字体:
答案1
好吧,另一个问题有助于处理Courier Std
字体问题,同时等待上游修复。
首先,尝试替换此部分:
<alias binding="same">
<family>CourierStd</family>
<accept>
<family>Courier</family>
</accept>
</alias>
和:
<alias binding="same">
<family>HelveticaLTStd</family>
<accept>
<family>Liberation Sans</family>
</accept>
</alias>
我的机器上的结果:
$ fc-match "HelveticaLTStd: bold"
LiberationSans-Bold.ttf: "Liberation Sans" "Bold"