在 .fonts.conf 中根据语言强制字体大小

我可以通过编辑我的用户目录中的.fonts.conf文件(或编辑全局的/etc/fonts/fonts.conf文件)来指定在X中显示特定语言时使用的默认字体系列。然而,我无法以同样的方式强制指定特定的字体大小。
例如,以下代码将强制俄语以Linux Libertine字体显示:
<fontconfig>
    <match>
        <test name="lang">
            <string>rus</string>
        </test>
         <edit mode="prepend" name="family">
            <string>Linux Libertine</string>
        </edit>
    </match>
</fontconfig>

我尝试添加了下面的XML标签,但是没有起作用:
         <edit mode="assign" name="size">
             <int>18</int>
         </edit>
1个回答

你可以尝试重新使用我的代码片段,它可以按给定的倍数增大指定字体的大小
<!--
    Scaling a chosen font with Fontconfig.
    By poige, 2008.
-->
<match target="font">
    <test name="family">
        <string>Liberation Sans</string>
    </test>
    <edit name="pixelsize" mode="assign">
        <times><name>pixelsize</name>, <double>1.1</double></times>
    </edit>
</match>

将标签<size>更改为<pixelsize>就足以使我的当前.fonts.conf起作用了。 - SigueSigueBen
看起来你不能改变字体的<size>,但是设置它的<pixelsize>完美地起作用。对于强制位图字体使用特定大小非常有用。谢谢。 - Tobia
@SigueSigueBen 你的代码片段在Firefox中能用吗?我想要改变Inconsolata字体的大小,因为它是我最喜欢的字体,但相比其他字体来说太小了。在一些应用程序中,比如Urxvt,这个方法是有效的,但在Firefox中似乎没有任何效果。其他字体配置,比如<alias>替换,在Firefox中也是有效的。 - Tobia
有一段时间没有使用它了(现在主要是Mac OS),但据我所记,FF可能有自己的字体光栅化方法——可能不与系统共享。 - poige