![拒绝目录中的所有字体(使用 fontconfig 的字体除外)](https://linux22.com/image/158569/%E6%8B%92%E7%BB%9D%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E5%AD%97%E4%BD%93%EF%BC%88%E4%BD%BF%E7%94%A8%20fontconfig%20%E7%9A%84%E5%AD%97%E4%BD%93%E9%99%A4%E5%A4%96%EF%BC%89.png)
我正在尝试禁用大多数其他语言的 noto 字体,除了少数使用 fontconfig 的语言。它使用rejectfont
和glob
元素来禁用所有。然后使用acceptfont
element但无法激活它。
我在 fontconfig 邮件列表中遇到过类似问题的消息,但从未得到答复。https://lists.freedesktop.org/archives/fontconfig/2008-January/002826.html
我的配置文件中的内容在这里
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<selectfont>
<rejectfont>
<glob>/usr/share/fonts/truetype/noto/NotoSans*.ttf</glob>
<glob>/usr/share/fonts/opentype/noto/NotoSans*.ttc</glob>
<glob>/usr/share/fonts/opentype/noto/NotoSerif*.ttc</glob>
<glob>/usr/share/fonts/truetype/noto/NotoSerif*.ttf</glob>
</rejectfont>
</selectfont>
<selectfont>
<acceptfont>
<patelt name="family">
<string>Noto Sans</string>
</patelt>
</acceptfont>
</selectfont>
</fontconfig>
除了为每个系列(字体管理器使用的)编写拒绝字体规则之外,还有像这样的简单方法吗?
请不要建议我删除字体。
答案1
将以下 XML 添加到文件中~/.config/fontconfig/fonts.conf
,它将所有 Noto 语言特定字体列入黑名单:
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<selectfont>
<rejectfont>
<glob>/usr/share/fonts/truetype/noto/NotoKufi*</glob>
<glob>/usr/share/fonts/truetype/noto/NotoNaskh*</glob>
<glob>/usr/share/fonts/truetype/noto/NotoNastaliq*</glob>
<glob>/usr/share/fonts/truetype/noto/NotoSans*</glob>
<glob>/usr/share/fonts/truetype/noto/NotoSerif*</glob>
</rejectfont>
<acceptfont>
<glob>/usr/share/fonts/truetype/noto/NotoSans-Regular.ttf</glob>
<glob>/usr/share/fonts/truetype/noto/NotoSans-Bold.ttf</glob>
<glob>/usr/share/fonts/truetype/noto/NotoSans-BoldItalic.ttf</glob>
<glob>/usr/share/fonts/truetype/noto/NotoSans-Italic.ttf</glob>
<glob>/usr/share/fonts/truetype/noto/NotoSerif-Regular.ttf</glob>
<glob>/usr/share/fonts/truetype/noto/NotoSerif-Bold.ttf</glob>
<glob>/usr/share/fonts/truetype/noto/NotoSerif-BoldItalic.ttf</glob>
<glob>/usr/share/fonts/truetype/noto/NotoSerif-Italic.ttf</glob>
<glob>/usr/share/fonts/noto/NotoSans-*</glob>
<glob>/usr/share/fonts/noto/NotoSerif-*</glob>
</acceptfont>
</selectfont>
并重建字体缓存:fc-cache -f -v
。
此后,Writer 中列出的 Noto 字体数量将从数百种减少到 17 种。