Recarrega as configurações em /etc/fonts/conf.d

0

Estou ajustando algumas configurações de fonte no Arch Linux. Eu criei um novo arquivo .conf em /etc/fonts/conf.avail/ e criei um link simbólico para /etc/fonts/conf.d . Gostaria agora de testar as alterações. Eu tentei executar fc-cache -rv e reiniciar o terminal. Tanto quanto eu posso dizer que minhas atualizações não estão sendo aplicadas.

O wiki do Arch Linux informa:

Fontconfig gathers all its configurations in a central file (/etc/fonts/fonts.conf). This file is replaced during fontconfig updates and should not be edited. Fontconfig-aware applications source this file to know available fonts and how they get rendered. This file is a conglomeration of rules from the global configuration (/etc/fonts/local.conf), the configured presets in /etc/fonts/conf.d/, and the user configuration file ($XDG_CONFIG_HOME/fontconfig/fonts.conf). fc-cache can be used to rebuild fontconfig's configuration, although changes will only be visible in newly launched applications.

No entanto, meu fonts.conf não parece como um conglomerado.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>

<!--
    DO NOT EDIT THIS FILE.
    IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
    LOCAL CHANGES BELONG IN 'local.conf'.

    The intent of this standard configuration file is to be adequate for
    most environments.  If you have a reasonably normal environment and
    have found problems with this configuration, they are probably
    things that others will also want fixed.  Please submit any
    problems to the fontconfig bugzilla system located at fontconfig.org

    Note that the normal 'make install' procedure for fontconfig is to
    replace any existing fonts.conf file with the new version.  Place
    any local customizations in local.conf which this file references.

    Keith Packard
-->

<!-- Font directory list -->

    <dir>/usr/share/fonts</dir>
    <dir>/usr/share/fonts</dir>
    <dir prefix="xdg">fonts</dir>
    <!-- the following element will be removed in the future -->
    <dir>~/.fonts</dir>

<!--
  Accept deprecated 'mono' alias, replacing it with 'monospace'
-->
    <match target="pattern">
        <test qual="any" name="family">
            <string>mono</string>
        </test>
        <edit name="family" mode="assign" binding="same">
            <string>monospace</string>
        </edit>
    </match>

<!--
  Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
-->
    <match target="pattern">
        <test qual="any" name="family">
            <string>sans serif</string>
        </test>
        <edit name="family" mode="assign" binding="same">
            <string>sans-serif</string>
        </edit>
    </match>

<!--
  Accept deprecated 'sans' alias, replacing it with 'sans-serif'
-->
    <match target="pattern">
        <test qual="any" name="family">
            <string>sans</string>
        </test>
        <edit name="family" mode="assign" binding="same">
            <string>sans-serif</string>
        </edit>
    </match>

<!--
  Load local system customization file
-->
    <include ignore_missing="yes">conf.d</include>

<!-- Font cache directory list -->

    <cachedir>/var/cache/fontconfig</cachedir>
    <cachedir prefix="xdg">fontconfig</cachedir>
    <!-- the following element will be removed in the future -->
    <cachedir>~/.fontconfig</cachedir>

    <config>
<!--
  Rescan configuration every 30 seconds when FcFontSetList is called
 -->
        <rescan>
            <int>30</int>
        </rescan>
    </config>

</fontconfig>

Eu esperava que isso me permitisse ver qual era o conjunto final de configurações de fontes.

    
por Matthew Piziak 21.06.2017 / 03:15

1 resposta

3

I have tried running fc-cache -rv and restarting the terminal. As far as I can tell my updates are not being applied.

Reiniciar um aplicativo deve ser suficiente para recarregar as alterações. Alguns aplicativos até mesmo recarregam a configuração regularmente sem exigir uma reinicialização.

fc-cache é geralmente inútil para alterações de configuração, até onde eu sei.

Se suas alterações não parecem ser aplicadas, provavelmente é porque nada foi correspondido ou, se ocorreu, as regras não são strongs o suficiente para serem aplicadas.

Sugiro adicionar algo assim para ter uma alteração incondicional, strongmente vinculada e muito visível:

<match target="pattern">
    <edit name="family" mode="prepend" binding="strong">
        <string>Comic Sans MS</string>
    </edit>
</match>

Você pode dizer que funcionou quando seus olhos começaram a sangrar.

Observe que, mesmo com isso, as regras que são avaliadas após essa podem modificar ainda mais esse padrão.

Eu também usei blocos rejectfont, que parecem ter prioridade mais alta do que qualquer outra coisa, mas lidam com arquivos TTF específicos, então você precisa saber o que está sendo correspondido ( FC_DEBUG=1 é suficiente)

<selectfont>
    <rejectfont>
        <glob>/usr/share/fonts/TTF/DejaVuSans.ttf</glob>
    </rejectfont>
</selectfont>

A outra parte da pergunta:

However, my fonts.conf doesn't look like a conglomeration.

A mágica está no <include ignore_missing="yes">conf.d</include> , que inclui todo o resto.

Isto é o que parece no meu sistema:

$ FC_DEBUG=1024 leafpad
    Loading config file /etc/fonts/fonts.conf
    Scanning config dir /etc/fonts/conf.d
    Loading config file /etc/fonts/conf.d/10-hinting-slight.conf
    Loading config file /etc/fonts/conf.d/10-scale-bitmap-fonts.conf
    Loading config file /etc/fonts/conf.d/20-unhint-small-dejavu-sans-mono.conf
    Loading config file /etc/fonts/conf.d/20-unhint-small-dejavu-sans.conf
    Loading config file /etc/fonts/conf.d/20-unhint-small-dejavu-serif.conf
    Loading config file /etc/fonts/conf.d/20-unhint-small-vera.conf
    Loading config file /etc/fonts/conf.d/30-metric-aliases.conf
    Loading config file /etc/fonts/conf.d/30-urw-aliases.conf
    Loading config file /etc/fonts/conf.d/30-win32-aliases.conf
    Loading config file /etc/fonts/conf.d/40-nonlatin.conf
    Loading config file /etc/fonts/conf.d/45-latin.conf
    Loading config file /etc/fonts/conf.d/49-sansserif.conf
    Loading config file /etc/fonts/conf.d/50-user.conf
    Scanning config dir /home/dx/.config/fontconfig/conf.d
    Loading config file /home/dx/.config/fontconfig/conf.d/10-powerline-symbols.conf
    Loading config file /home/dx/.config/fontconfig/fonts.conf
    Loading config file /home/dx/.fonts.conf
    Loading config file /etc/fonts/conf.d/51-local.conf
    Loading config file /etc/fonts/local.conf
    Loading config file /etc/fonts/conf.d/57-dejavu-sans-mono.conf
    Loading config file /etc/fonts/conf.d/57-dejavu-sans.conf
    Loading config file /etc/fonts/conf.d/57-dejavu-serif.conf
    Loading config file /etc/fonts/conf.d/60-latin.conf
    Loading config file /etc/fonts/conf.d/65-fonts-persian.conf
    Loading config file /etc/fonts/conf.d/65-nonlatin.conf
    Loading config file /etc/fonts/conf.d/69-unifont.conf
    Loading config file /etc/fonts/conf.d/75-fix-calibri.conf
    Loading config file /etc/fonts/conf.d/80-delicious.conf
    Loading config file /etc/fonts/conf.d/90-synthetic.conf
    
por 02.07.2017 / 03:09