fontconfig: não é possível alterar a família de fontes

2

este é o meu ~ / .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>

como você pode ver, eu quero a Meslo como minha fonte monoespaçada preferida. Eu tenho o nome de 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

O arquivo de configuração está ativado em /etc/fonts/conf.d/50-user.conf:

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

Eu corri fc-cache -vf e reiniciei, tentei fc-match monospace e estava esperando o Meslo, mas consegui o Inconsolata. Por quê?

    
por Eike Cochu 03.02.2014 / 22:06

2 respostas

0

Aparentemente, eu tinha um erro de digitação no nome da minha família, fiz fc-list | grep Meslo e copiei a parte em negrito na tag <family> :

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

minha configuração agora se parece com:

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

e funciona como esperado

    
por 05.02.2014 / 14:10
0

Eu usei este trecho no passado com sucesso,

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

Aqui está a fonte deste trecho , mas em idioma russo.

    
por 03.02.2014 / 22:32