HOWTO X.org et les polices d'affichage

Un article de Gentoo Linux Wiki.

Cet article fait partie des HOWTOs.
Méthodes d'installation CD Live Noyau et matériel Portables et Notebooks Portage Système Réseaux et Services Serveur X Logiciels fréquemment utilisés Autres

Sommaire

[modifier] Pourquoi

Après une migration du serveur X de XFree vers celui de X.org, Beaucoup de gens (moi y compris) ont eu des problèmes avec l'affichage des fontes et l'antialiasing, en particulier pour ceux d'entre nous qui possèdent un ecran plat LCD. Ce HowTo devrait rendre les polices d'affichage bien plus lisibles.

installer Xorg avec les parametres suivants :

USE='font-server truetype truetype-fonts' emerge -Dupv xorg-x11

Remarque : le use flag font-server active la compilation de xfs, le serveur de fonts de X.org. Ce dernier est considéré comme étant obslolète sur les configurations monoposte. Son utilisation n'est donc en aucun cas obligatoire dans le cadre de cet HowTo.

[modifier] Installation des polices

En considérant que X.org soit correctement installé, il est nécessaire d'installer les fontes. Certaines d'entre elles sont déjà installées, mais je vous conseille de les réinstaller. Les packages obligatoires :

media-libs/freetype
media-fonts/corefonts
media-fonts/freefonts

Je vous conseille cependant d'installer également ces fontes :

media-fonts/artwiz-fonts
media-fonts/sharefonts
media-fonts/terminus-font
media-fonts/ttf-bitstream-vera
media-fonts/unifont
Code : installation des packages
USE='X' emerge freetype corefonts freefonts artwiz-fonts sharefonts terminus-font ttf-bitstream-vera unifont

[modifier] Modification des fichiers de configuration

Une fois les fontes installées, vous devez modifier les fichiers de configuration afin de permettre au système de les reconnaître.
Voici les fichiers à modifier :

/etc/fonts/local.conf
/etc/X11/xorg.conf
~/.fonts.conf

[modifier] /etc/fonts/local.conf

Il est inutile de specifier tous les répertoires de fontes dans /etc/fonts/local.conf, à moins que vous n'installiez des fontes dans un répertoire inhabituel. /etc/fonts/fonts.conf pointe vers /usr/share/fonts et ses sous-répetoires, ainsi que vers d'autres répertoires, comme ~/.fonts. Sauf cas particulier, il est inutile d'y ajouter quoi que ce soit. Notez que dans l'exemple ci-dessous, l'option rgba est commentée (ndT. un répertoire personnalisé a également été ajouté : ~/extrafonts). Verifiez que votre fichier correspond à celui ci-dessous :

Fichier : /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="rgba" mode="assign"><const>rgb</const></edit>
         </match>
 -->
         <dir>/home/david/extrafonts</dir>

 </fontconfig>
 

[modifier] /etc/X11/xorg.conf

Vous devez lister vos répertoires de fontes dans /etc/X11/xorg.conf :

Code : ndT. une commande utile
ls -1d /usr/share/fonts/*
Code : ndT. une autre commande utile
find /usr/share/fonts -mindepth 1 -maxdepth 1 -type d -exec echo 'FontPath "{}"' ';'
Fichier : /etc/X11/xorg.conf
< cut >
   FontPath   "/usr/share/fonts/75dpi/:unscaled"
   FontPath   "/usr/share/fonts/100dpi/:unscaled"
   FontPath   "/usr/share/fonts/100dpi"
   FontPath   "/usr/share/fonts/75dpi"
   FontPath   "/usr/share/fonts/CID"
   FontPath   "/usr/share/fonts/Speedo"
   FontPath   "/usr/share/fonts/TTF"
   FontPath   "/usr/share/fonts/Type1"
   FontPath   "/usr/share/fonts/artwiz"
   FontPath   "/usr/share/fonts/corefonts"
   FontPath   "/usr/share/fonts/cyrillic"
   FontPath   "/usr/share/fonts/encodings"
   FontPath   "/usr/share/fonts/freefont"
   FontPath   "/usr/share/fonts/local"
   FontPath   "/usr/share/fonts/misc"
   FontPath   "/usr/share/fonts/terminus"
   FontPath   "/usr/share/fonts/ttf-bitstream-vera"
   FontPath   "/usr/share/fonts/ukr"
   FontPath   "/usr/share/fonts/unifont"
   FontPath   "/usr/share/fonts/util"
< cut >

Dans le même fichier, remarquez la ligne ou le module freetype est chargé, il doit être décommenté :

Fichier : /etc/X11/xorg.conf
Load "freetype"

[modifier] ~/.fonts.conf

Le fichier de configuration ~/.fonts.conf est nécessaire à chaque utilisateur. Il devrait ressembler à :

Fichier : ~/.fonts.conf
<?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <!-- /etc/fonts.conf file to configure system font access -->
 <fontconfig> 
 
 <!--  Enable sub-pixel rendering 
         <match target="font">
                 <test qual="all" name="rgba">
                         <const>unknown</const>
                 </test>
                 <edit name="rgba" mode="assign"><const>rgb</const></edit>
         </match>
  
  -->
  
 <!-- Autohint fonts
         <match target="font">
                 <edit name="autohint" mode="assign"><bool>true</bool> </edit>
         </match>
 -->
  
 <!-- Use Bitstream Vera fonts by default -->
         <alias>
                 <family>serif</family>
                 <prefer>
                         <family>Bitstream Vera Serif</family>
                 </prefer>
         </alias>
         <alias>
                 <family>sans-serif</family>
                 <prefer>
                         <family>Bitstream Vera Sans</family>
                 </prefer>
         </alias>
         <alias>
                 <family>monospace</family>
                 <prefer>
                         <family>Bitstream Vera Sans Mono</family>
                 </prefer>
         </alias> 
 
 <!-- Antialias --> 
 
 <match target="font">
         <test qual="any" name="size" compare="more">
                 <double>8</double>
         </test>
         <test qual="any" name="size" compare="less">
                 <double>15</double>
         </test>
         <edit name="antialias" mode="assign">
                 <bool>true</bool>
         </edit>
 </match> 
 
 </fontconfig>

La pemière option, commentée avec Enable sub-pixel rendering, est utile pour les moniteurs LCD. Cependant, je vous conseille de tester les différentes configurations offertes avec les options sub-pixel rendering et font autohinting (seconde option) par vous-même.

ndT : ces deux options sont commentées dans le fichier ci-dessus, par l'intermédiaire des balises :
<!-- * -->
elles doivent donc être décommentées pour être activées.

La troisième option demande au système d'utiliser la police Bitstream à la place des polices serif, sans-serif et monospace par défaut. La dernière option active l'antialiasing et s'explique d'elle même.

[modifier] Redémarrage des services

Après avoir modifié vos fichiers de configuration, vous devez redémarrer xfs et X.org (si vous utilisez un système de login graphique tel que GDM, KDM, XDM, etc. redémarrer X.org est possible en redémarrant le service xdm). Certains d'entre vous pourraient rencontrer un freeze du système en lançant les commandes suivantes dans X.org, je leur conseille donc de les lancer dans un autre terminal : CTRL+ALT+F1 ou CTRL+ALT+F2 et ouvrez une session. (ALT+F7 vous redirigera vers X depuis la console).

Code : redémarrage des services
/etc/init.d/xfs stop
/etc/init.d/xdm stop
/etc/init.d/xfs start
/etc/init.d/xdm start

A ce moment, votre interface d'ouverture de session graphique devrait démarrer, et les polices antialiasées de votre environnement devraient fonctionner.

[modifier] Mozilla Firefox et Thunderbird

[modifier] Mozilla Firefox 1.0PR

Si vous souhaitez activer les fontes antialiasées dans Firefox 1.0, vous devez le compiler avec le USE flag "moznoxft".

Code : installation de firefox 1.0PR
USE="moznoxft" emerge mozilla-firefox

Assurez-vous d'avoir démarré Firefox au moins une fois, afin d'avoir un profil dans ~/.mozilla/firefox/default.xxx/. Allez dans about:config dans votre navigateur, ou alternativement, éditez le fichier prefs.js placé dans ~/.mozilla/firefox/default.xxx/, ou xxx sont des lettres ou des nombres. Vous devez insérer / éditer les lignes suivantes dans la page about:config, ou dans le fichier prefs.js

Fichier : ~/.mozilla/firefox/default.xxx/prefs.js
 // TrueType
 user_pref ("font.FreeType2.enable", true);
 user_pref ("font.freetype2.shared-library", "libfreetype.so.6");
 // if libfreetype was built without hinting compiled in
 // it is best to leave hinting off
 user_pref ("font.FreeType2.autohinted", true);
 user_pref ("font.FreeType2.unhinted", true);
 // below a certian pixel size anti-aliased fonts produce poor results
 user_pref ("font.antialias.min",        0);
 user_pref ("font.embedded_bitmaps.max", 1000000);
 user_pref ("font.scale.tt_bitmap.dark_text.min", 0);
 user_pref ("font.scale.tt_bitmap.dark_text.gain", "0.0");
 // sample user_pref s for TrueType font dirs
 user_pref ("font.directory.truetype.1", "/usr/share/fonts/ttf-bitstream-vera");
 user_pref ("font.directory.truetype.2", "/usr/share/fonts/TTF");
 user_pref ("font.directory.truetype.3", "/usr/share/fonts/corefonts");
 user_pref ("font.directory.truetype.4", "/usr/share/fonts/freetype");
 user_pref ("font.FreeType2.printing", true); 

Si vous avez suivi ce HowTo vous ne devriez pas avoir de problèmes avec les repertoires listés ici. Dans le cas contraire, vous pouvez les modifier.

Ensuite, dans Firefox, allez dans : Tools --> Options --> Général --> Fonts & Colors et mettez ces paramètres :

Proportional: Serif (Size: 16)
Serif: Bits-bitstream vera serif
Sans-serif: Bits-bitstream vera sans
Monospace: Bits-bitstream vera sans mono (Size: 12)
Minimum font size: 9

Vous devriez également verifier que les cases suivantes ne sont pas cochées : Always use my Fonts / Colors

Enfin redemarrez Firefox et naviguez sur www.gentoo.org avec des fontes antialiasées !

[modifier] Mozilla Thunderbird 0.7

Il y a peu d'options dans Thunderbird en rapport avec les polices, donc toutes les options doivent être spécifiées dans user.js. Créez ce fichier dans ~/.thunderbird/default/xxxxxxxx.slt/.

Vous devez insérer Dans le fichier user.js les mêmes lignes que celles utilisées pour Mozilla Firefox:

Fichier : ~/.thunderbird/default/xxxxxxxx.slt/user.js
 // TrueType
 user_pref ("font.FreeType2.enable", true);
 user_pref ("font.freetype2.shared-library", "libfreetype.so.6");
 // if libfreetype was built without hinting compiled in
 // it is best to leave hinting off
 user_pref ("font.FreeType2.autohinted", true);
 user_pref ("font.FreeType2.unhinted", true);
 // below a certian pixel size anti-aliased fonts produce poor results
 user_pref ("font.antialias.min",        0);
 user_pref ("font.embedded_bitmaps.max", 1000000);
 user_pref ("font.scale.tt_bitmap.dark_text.min", 0);
 user_pref ("font.scale.tt_bitmap.dark_text.gain", "0.0");
 // sample user_pref s for TrueType font dirs
 user_pref ("font.directory.truetype.1", "/usr/share/fonts/ttf-bitstream-vera");
 user_pref ("font.directory.truetype.2", "/usr/share/fonts/TTF");
 user_pref ("font.directory.truetype.3", "/usr/share/fonts/corefonts");
 user_pref ("font.directory.truetype.4", "/usr/share/fonts/freetype");
 user_pref ("font.FreeType2.printing", true); 

Ensuite, dans Thunderbird allez dans : Tools ---> Options ---> Fonts et mettez ces paramètres :

Proportional: Serif (Size: 16)
Serif: Bits-bitstream vera serif
Sans-serif: Bits-bitstream vera sans
Monospace: Bits-bitstream vera sans mono (Size: 12)
Minimum font size: 9

Vous devriez également vérifier que les cases suivantes sont cochées : Allow messages to use other fonts

[modifier] Que faire si les polices ne fonctionnent pas dans Konsole

Les utilisateurs de KDE connaîssent sans doute le terminal X de KDE (une excellente application soit dit en passant). Mais certains utilisateurs ont l'erreur suivante s'ils essaient d'utiliser les fontes linux : Font `-misc-console-medium-r-normal--16-160-72-72-c-80-iso10646-1' not found. Vous pouvez corriger ce problème grâce aux étapes suivantes :

Code : gestionnaire de fontes KDE
kdesu kcmshell kcmfontinst
Entrez le mot de passe root.
Cliquez sur l'icône "add fonts" (un arobase agrémenté d'un signe -+)
Allez dans repertoire "/usr/kde/3.2/share/fonts/" et ajoutez toutes les polices disponibles
                                                                         (les fichiers avec une extension .pcf.gz).

Enfin redémarrez Thunderbird et lisez votre courrier avec des polices nettes et précises !

[modifier] Sujets utiles

Voici les sujets a partir desquels ce HowTo a été rédigé :

[modifier] Remerciements

Je souhaite remercier la communauté Gentoo italienne et la communauté Gentoo, qui permettent à Gentoo d'être aussi puissante et incroyable.

Remerciement spécial à BlueRaven pour son explication à propos des fontes dans [xfree] caratteri sfocati et à FonderiaDigitale qui m'a conduit à la solution de mon problème.

[modifier] Voir Aussi

Forum Post

[modifier] Traduction

Autres langues