2

это мой ~/.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. Зачем?

2 ответа2

0

Видимо у меня была опечатка в фамилии, я сделал fc-list | grep Meslo и скопируйте его жирным шрифтом в <family> :

/usr/share/fonts/OTF/Meslo LG M DZ Regular для Powerline.otf: Meslo LG M DZ для Powerline: стиль = RegularForPowerline

мой конфиг теперь выглядит так:

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

и работает как положено

0

Я использовал этот фрагмент в прошлом с успехом,

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

Вот источник этого фрагмента, но на русском языке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .