使用用户的fonts.conf禁用特定字体的抗锯齿


9

目的:

我正在尝试通过~/.config/fontconfig/fonts.conf特定字体禁用抗锯齿,但到目前为止没有成功。如果我的理解是正确的,则原因是系统范围的配置优先于我自己的配置。

题:

如何禁用具有用户字体的特定字体的抗锯齿功能,fonts.conf并优先于系统范围的配置?

旁注:我更喜欢在不影响系统配置的情况下进行操作,并且我更不想在应用程序级别进行操作。

细节:

系统是Ubuntu Raring Ringtail 13.04。这是我的~/.config/fontconfig/fonts.conf

<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test name="family">
      <string>DejaVu Sans Mono</string>
    </test>
    <edit name="antialias" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>

其中的相关文件/etc/fonts/conf.d

  • 10-antialias.conf
  • 50-user.conf

具有以下内容:

   /etc/fonts/conf.d>cat 10-antialias.conf 50-user.conf
   ...
   <match target="font">
     <edit name="antialias" mode="assign"><bool>true</bool></edit>
   </match>
   ...
   <include ignore_missing="yes" prefix="xdg">fontconfig/fonts.conf</include>
   ...

这就是fc-match返回的内容:

~>fc-match -v 'DejaVu Sans Mono' family antialias
Pattern has 2 elts (size 16)
        family: "DejaVu Sans Mono"(s)
        antialias: FcTrue(w)

请注意,抗锯齿是FcTrue!

Answers:


0

[我知道这个问题已有5年历史了,但仍然出现在搜索引擎中。]

我只是.fonts.conf在主目录中创建了一个文件。它可以立即在Ubuntu 18.04 LTS中工作。

(相应地替换字体名称!)

<!-- 
~/.fonts.conf

Remember to run "fc-cache" after you modify this file.
-->

<fontconfig> 

  <match target="font">
    <test name="family" qual="any">
      <string>Ubuntu Mono</string>
      <string>Free Pixel</string>
    </test>
    <edit name="antialias" mode="assign">
      <bool>false</bool>
    </edit>
  </match>

</fontconfig>

我将其放入Gist中,并添加了一些其他文档,以防万一:https : //gist.github.com/gonzalocesar/7ef41572a2627b65da976001a29ba7ee

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.