我安装了 Microsoft C-Fonts,效果非常好。但是,Calibri 的很多字体大小都显示为位图字体。我该如何告诉 fontconfig 禁止 Calibri(和 Cambria 等)从嵌入的位图中渲染?70-no-bitmaps.conf
我的目录中已经有了/etc/fonts/conf.d/
。
有问题的字体可以是从 PowerPoint Viewer 中提取。
答案1
/etc/fonts/conf.d/70-no-bitmaps.conf
仅拒绝位图字体,它们不会禁用嵌入的位图,这里就是这种情况。我不知道他们为什么不将禁用嵌入位图的设置放在同一个 conf 文件中。无论如何,将以下内容放入您的~/.config/fontconfig/conf.d/20-no-embedded.conf
(或,对于较旧版本的 Ubuntu,放入~/.fonts.conf.d/20-no-embedded.conf
):
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>
</fontconfig>
这将禁用所有字体的嵌入位图。如果您只想禁用选定字体,请添加<test>
元素:
<test name="family" compare="contains">
<string>Calibri</string>
<string>Cambria</string>
</test>
前<edit ...
。
答案2
在您给出的示例中,在“<test>”节中两次提到了“<string>”属性。这会导致 Ubuntu 13.10 和 14.04 出现警告。要消除警告,文件中的节应如下所示:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<test name="family" compare="contains">
<string>Calibri</string>
<string>Cambria</string>
</test>
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>
</fontconfig>