字体配置/示例/无抗锯齿

来自 ArchWiki

以下是一个全面的 fontconfig 配置,用于在特定条件下关闭抗锯齿。

大多数现代字体在关闭抗锯齿时可读性不佳。因此,以下 fontconfig 配置仅对某些字体(主要是 Microsoft 字体)禁用抗锯齿,这些字体被设计为在没有抗锯齿的情况下也能很好地显示。

它还在超过特定尺寸时重新启用抗锯齿。

最后,它设置了在没有抗锯齿的情况下也能很好地显示的偏好字体。这对于网页浏览很有用,因为许多网站指定了字体族名称,例如“serif”、“sans-serif”和“monospace”。在这些情况下,fontconfig 将选择没有抗锯齿的漂亮字体。

~/.config/fontconfig/fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>

<match target="font">
    <edit name="autohint" mode="assign"><bool>false</bool></edit>
    <edit name="rgba" mode="assign"><const>none</const></edit>
    <edit name="hinting" mode="assign"><bool>true</bool></edit>
    <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
</match>

<match target="font">
    <test name="family" compare="eq" qual="any"><string>Arial</string></test>
    <test qual="any" name="pixelsize" compare="less"><double>20</double></test>
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
</match>

<match target="font">
    <test name="family" compare="eq"><string>Times New Roman</string></test>
    <test qual="any" name="pixelsize" compare="less"><double>21</double></test>
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
</match>

<match target="font">
    <test name="family" compare="eq"><string>Helvetica</string></test>
    <test qual="any" name="pixelsize" compare="less"><double>20</double></test>
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
</match>

<match target="font">
    <test name="family" compare="eq"><string>Verdana</string></test>
    <test qual="any" name="pixelsize" compare="less"><double>20</double></test>
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
</match>

<match target="font">
    <test name="family" compare="eq"><string>Georgia</string></test>
    <test qual="any" name="pixelsize" compare="less"><double>20</double></test>
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
</match>

<match target="font">
    <test name="family" compare="eq"><string>Bitstream Vera Sans Mono</string></test>
    <test qual="any" name="pixelsize" compare="less"><double>20</double></test>
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
</match>

<match target="font">
    <test name="family" compare="eq"><string>Andale Mono</string></test>
    <test qual="any" name="pixelsize" compare="less"><double>20</double></test>
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
</match>

<match target="font">
    <test name="family" compare="contains"><string>DejaVu</string></test>
    <test qual="any" name="pixelsize" compare="less"><double>20</double></test>
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
</match>

<match target="font">
    <test name="family" compare="eq"><string>Trebuchet MS</string></test>
    <test qual="any" name="pixelsize" compare="less"><double>20</double></test>
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
</match>

<match target="font">
    <test name="family" compare="eq"><string>Courier New</string></test>
    <test qual="any" name="pixelsize" compare="less"><double>20</double></test>
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
</match>

<alias>
	<family>Times</family>
	<prefer><family>Times New Roman</family></prefer>
	<default><family>serif</family></default>
</alias>
<alias>
	<family>Helvetica</family>
	<prefer><family>Arial</family></prefer>
	<default><family>sans</family></default>
</alias>
<alias>
	<family>Courier</family>
	<prefer><family>DejaVu Sans Mono</family></prefer>
	<default><family>monospace</family></default>
</alias>

<alias>
	<family>serif</family>
	<prefer><family>Times New Roman</family></prefer>
</alias>
<alias>
	<family>sans-serif</family>
	<prefer><family>Arial</family></prefer>
</alias>
<alias>
	<family>monospace</family>
	<prefer><family>DejaVu Sans Mono</family></prefer>
</alias>

</fontconfig>