# [eselect fontconfig] Mauvaise compréhension ?

## gglaboussole

Bonjours amis gentoistes,

En effet je ne comprends pas l'usage de cette commande, dès que j'installe une nouvelle font celle ci est immédiatement disponible dans mes applications (ex : libreoffice ) sans que je fasse quoique ce soit.. 

Les fonts takao et droid par exemple, que je n'ai jamais activées,  sont pourtant bien dispos dans mon bureau gnome....

Malgré les indications de l'ebuild qui m'invite à faire un eselect fontconfig enable tartanpion  je ne le fais pas, un eselect fontconfig list me montre que la police n'est pas active et pourtant elle est disponible... donc ce eselect fontconfig ça sert à quoi ??   :Rolling Eyes: 

Je crois que j'ai pas bien saisi sa fonction...

Merci par avance de vos éclairages...

----------

## guilc

Ca sert a configurer différentes choses.

Les "10-*" permettent de configurer différentes options de rendu (hinting, sub-bixel rendering, etc...)

Les "20-*", c'est des options de rendu pour des fontes spécifiques (exemple, désactiver le hinting sur des fontes de petite taille)

Ensuite, pour moi la numérotation est plus floue.

On va par exemple avoir 60-liberation.conf (si tu as installé les liberation fonts) qui va dire au système de remplacer les fontes. Dès qu'il voit "Time New Roman", utiliser "Liberation Serif" à la place, "Arial" => "Liberation Sans", "Courier" => "Liberation Mono"

60-latin.conf va définir des listes de fontes à utiliser lorsque ce sont les noms des familles (sans, sans-serif, monospace) qui sont utilisés.

Et ainsi de suite.

Ça n'a effectivement rien à voir avec la disponibilité de la fonte sur le système.

Tu as un aperçu de ce qui est configurable par ce biais par exemple ici : https://wiki.archlinux.org/index.php/Font_Configuration. Si les fichiers ne sont pas toujours évident à créer, il sont assez lisibles (XML) quant à leur utilité.

----------

## gglaboussole

Salut guilc,

Merci beaucoup pour ces précisions...

J'avais donc mal compris l'usage de cette commande

Honnêtement ces différentes options de rendu sont très très floues pour moi, je vais consulter le lien archlinux que tu m'as donné (attention il y a un point en trop à la fin...) et commencer par comprendre l'utilité et les nuances entre ces différents rendus avant de toucher quoi que ce soit sur mon système 

Il y a quelques temps j'avais cru bien faire en activant tout et mes polices étaient devenues tout bonnement illisibles...

(il m'avait fallu vidé /etc/font et réinstaller fontconfig pour retrouver la conf par défaut.(dont d'ailleurs je ne me plains pas, je ne vois pas de problème particulier sur le rendu de mes fonts, je croyais juste que c'était une histoire d'activation/désactivation)

Peux tu me préciser toutefois s'il existe certaines règles, certains rendus à utiliser ou au contraire  à éviter pour tel ou tel type d'écran , type de dalle, résolution ?

----------

## guilc

Bah c'est pas évident, faut tester. Ça dépend des écrans, des goûts, etc...

Perso, j'utilise pas eselect, je me suis fait mon fichier de config à la main, en testant les options, et le rendu que je trouvais meilleur, et les remplacements de fontes qui m'intéressent. Au final, je trouve que c'est plus facile à gérer. Et ça donne ça :

```
# cat /etc/fonts/local.conf 

<?xml version="1.0"?>

<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<!-- /etc/fonts/local.conf file for local customizations -->

<fontconfig>

  <match target="font">

    <edit name="antialias" mode="assign">

      <bool>true</bool>

    </edit>

    <edit name="autohint" mode="assign">

      <bool>false</bool>

    </edit>

    <edit name="hinting" mode="assign">

      <bool>true</bool>

    </edit>

    <edit name="hintstyle" mode="assign">

      <const>hintfull</const>

      <!-- hintnone/hintslight/hintmedium/hintfull -->

    </edit>

    <edit name="rgba" mode="assign">

      <const>none</const>

      <!-- none/rgb/bgr/vrgb/vbgr -->

    </edit>

    <!-- a utiliser seulement avec rgba -->

    <edit name="lcdfilter" mode="assign">

      <const>lcdnone</const>

      <!-- lcdnone/lcddefault/lcdlight/lcdlegacy -->

    </edit>

    <edit name="dpi" mode="assign">

      <int>98</int>

    </edit>

  </match>

  <!-- remplacements de fontes pourries -->

  <match target="pattern">

    <test name="family">

      <string>Helvetica</string>

    </test>

    <edit name="family" mode="assign" binding="strong">

      <string>Arial</string>

    </edit>

  </match>

  <match target="pattern">

    <test name="family">

      <string>Courier New</string>

    </test>

    <edit name="family" mode="assign" binding="strong">

      <string>DejaVu Sans Mono</string>

    </edit>

  </match>

  <match target="pattern">

    <test name="family">

      <string>Courier</string>

    </test>

    <edit name="family" mode="assign" binding="strong">

      <string>DejaVu Sans Mono</string>

    </edit>

  </match>

  <!-- liberation mono 2.00 est floue (hinting pourri) -->

  <match target="pattern">

    <test name="family">

      <string>Liberation Mono</string>

    </test>

    <edit name="family" mode="assign" binding="strong">

      <string>DejaVu Sans Mono</string>

    </edit>

  </match>

  <!-- fontes par defaut des familles std -->

  <match target="pattern">

    <test name="family">

      <string>monospace</string>

    </test>

    <edit name="family" mode="prepend_first" binding="weak">

      <string>DejaVu Sans Mono</string>

    </edit>

  </match>

  <match target="pattern">

    <test name="family">

      <string>serif</string>

    </test>

    <edit name="family" mode="prepend_first" binding="weak">

      <string>DejaVu Serif</string>

    </edit>

  </match>

  <match target="pattern">

    <test name="family">

      <string>sans-serif</string>

    </test>

    <edit name="family" mode="prepend_first" binding="weak">

      <string>DejaVu Sans</string>

    </edit>

  </match>

</fontconfig>
```

----------

## gglaboussole

Merci beaucoup   :Wink:  , je vais tester ta conf

----------

