web-dev-qa-db-ja.com

fontconfig:フォントファミリーを変更できません

これは私の〜/ .config/fontconfig /fonts.confです

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<fontconfig>

    <match target="font">
        <edit name="antialias" mode="assign"><bool>true</bool></edit>
        <edit name="hinting" mode="assign"><bool>true</bool></edit>
        <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
        <edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
        <edit name="rgba" mode="assign"><const>rgb</const></edit>
    </match>

    <alias>
        <family>monospace</family>
        <prefer>
            <family>Meslo LG S DZ Regular for Powerline</family>
            <family>Inconsolata</family>
            <family>Menlo</family>
            <family>DejaVu Sans Mono</family>
        </prefer>
    </alias>

    <alias>
        <family>sans-serif</family>
        <prefer>
            <family>DejaVu Sans</family>
            <family>Droid Sans</family>
            <family>Ubuntu</family>
            <family>Helvetica</family>
        </prefer>
    </alias>

    <alias>
        <family>serif</family>
        <prefer>
            <family>DejaVu Serif</family>
            <family>Bitstream Vera Serif</family>
            <family>Times New Roman</family>
        </prefer>
    </alias>

</fontconfig>

ご覧のとおり、Mesloを私の好みの等幅フォントとして使用したいと思います。 fc-list | grep Mesloから名前を取得しました:

/usr/share/fonts/OTF/Meslo LG M DZ Regular for Powerline.otf: Meslo LG M DZ for Powerline:style=RegularForPowerline
/usr/share/fonts/OTF/Meslo LG L DZ Regular for Powerline.otf: Meslo LG L DZ for Powerline:style=RegularForPowerline
/usr/share/fonts/OTF/Meslo LG L Regular for Powerline.otf: Meslo LG L for Powerline:style=RegularForPowerline
/usr/share/fonts/OTF/Meslo LG S DZ Regular for Powerline.otf: Meslo LG S DZ for Powerline:style=RegularForPowerline
/usr/share/fonts/OTF/Meslo LG M Regular for Powerline.otf: Meslo LG M for Powerline:style=RegularForPowerline
/usr/share/fonts/OTF/Meslo LG S Regular for Powerline.otf: Meslo LG S for Powerline:style=RegularForPowerline

構成ファイルは/etc/fonts/conf.d/50-user.confで有効になっています:

<include ignore_missing="yes" prefix="xdg">fontconfig/fonts.conf</include>

fc-cache -vfを実行して再起動し、fc-match monospaceを試し、Mesloを期待していましたが、代わりにInconsolataを取得しました。なぜですか?

3
Eike Cochu

どうやら私は姓にタイプミスがあったようです。私はfc-list | grep Mesloを実行し、太字の部分を<family>タグにコピーして貼り付けました。

/ usr/share/fonts/OTF/Meslo LG M DZ Regular for Powerline.otf:Meslo LG M DZ for Powerline :style = RegularForPowerline

私の設定は次のようになります:

<alias>
    <family>monospace</family>
    <prefer>
        <family>Meslo LG M DZ for Powerline</family>
        <family>DejaVu Sans Mono</family>
        <family>Inconsolata</family>
    </prefer>
</alias>

そしてそれは期待通りに動作します

1
Eike Cochu

私は過去にこのスニペットを使用して成功しましたが、

<!--    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> 

このスニペットのソースはこちら ですが、ロシア語です。

0
Gexos