lundi 1 août 2005, 20:58
Comment avoir des belles fonts sous Debian ?

Le système de font
Honnetement je ne suis pas sûr d'avoir tout compris sur la façon dont sont gérées les fonts sous Linux. Beaucoup de noms sont souvent cités mais à quoi servent-ils vraiment ? Voici les informations que j'ai reussi à glaner :
- le serveur X (xfree 4.x ou x.org) peut gérer des fonts si on lui indique le(s) chemin(s) où chercher. Ces infos se trouvent dans le fichier de configuration (exemple :
/etc/X11/xorg.conf
), sectionFiles
, directivesFontPath
. -
xfs : (X Font Server) fourni des polices à X. Il est lancé à part et peut faire des trucs très fun comme fournir des fonts à un X distant via le reseau. En général il est activé dans le fichier de conf de X via la directive :
FontPath "unix/:7100"
Là se posent les premières questions : à quoi sert xfs si le serveur X peut gérer les fonts tout seul comme je viens de le dire ci-dessus ? Un element de réponse dans l'avant dernier post de ce topic sur HFR. En le virant mon X fonctionne tout aussi bien... - xfstt et xfs-xtt sont des alternatives à xfs capables de gérer les polices TrueType à l'époque où, ni xfs, ni X, ne le pouvait. En gros, à oublier.
-
FreeType (actuellement en version 2) est un moteur de rendu pour, entre autres, les fonts TrueType. Il est disponible sous forme de librairie (paquets
libfreetype*
). D'après ce que j'ai compris, c'est l'avenir (mais l'avenir de quoi ?). Voir le site http://www.freetype.org/ - fontconfig est un outil permettant aux applications de trouver les fonts et de les configurer correctement. Seules les applications récentes (GTK 2 par exemple) l'utilisent. Voir le site http://www.fontconfig.org/ pour la doc.
- defoma (DEbian FOnt MAnager) est l'outil magique de Debian pour uniformiser et gérer automatiquement tout ce bazar, et faire surement pleins d'autres trucs cools dont je me secoue le cocotier pour l'instant. Je sais pas comment il fonctionne, mais il fonctionne et c'est l'essentiel :)
Les packages qui vont bien
Voici les packages à installer (si ce n'est pas déjà fait). Tout d'abord, les logiciels/libraires :
libfreetype6
etlibttf2
pour FreeTypefontconfig
etlibfontconfig1
pour fontconfigdefoma
etx-ttcidfont-conf
, les deux packages magiques de Debian
Ensuite, pour avoir des fonts sympas :
- Tous les packages
xfonts-*
que vous voulez pour avoir des fonts sous X (pas TrueType), et surtout :xfonts-100dpi
xfonts-100dpi-transcoded
xfonts-75dpi
xfonts-75dpi-transcoded
xfonts-base
xfonts-base-transcoded
xfonts-scalable
msttcorefonts
(disponible dans contrib), pour avoir les fonts Microsoft standards (Verdana, Arial, Times New Roman, Courier New, ...) Indispensable pour surfer correctement !- Tous les packages
ttf-*
que vous voulez pour avoir des fonts TrueType.
Configuration
Normalement dpkg doit envoyer un mail à l'administrateur avec les informations nécessaires pour la configuration du bousin. Si ce n'est pas le cas, regardez le chapitre "Polices TrueType dans X" dans le guide de référence Debian.
Voir également cet autre site pour plus d'informations.
A partir de cette étape, les polices devraient être gérées "correctement", c'est à dire que, quelque soit l'application (gtk1 ou gtk2 par exemple), vous aurez toujours les mêmes fonts disponibles (dont les fonts TrueType).
Antialias et polices par défaut : fontconfig est ton ami
Première chose qui me semble vital pour avoir un bureau joli : virer les fonts toutes moches fournies par défaut pour les remplacer par leur équivalent Microsoft (je sais, c'est mal), c'est à dire :
Famille | Windows | Linux |
---|---|---|
serif | Times New Roman | ? |
sans-serif | Verdana | ? |
monospace | Courier New | ? |
Pour ce faire, il faut l'expliquer à fontconfig. Créez un fichier /etc/fonts/local.conf
contenant :
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Voir la doc de defoma -->
<dir>/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType</dir>
<!-- Alias certaines fonts "connues" par les fonts Microsoft -->
<alias>
<family>Times</family>
<prefer><family>Times New Roman</family></prefer>
<default><family>serif</family></default>
</alias>
<alias>
<family>Helvetica</family>
<prefer><family>Verdana</family></prefer>
<default><family>sans-serif</family></default>
</alias>
<alias>
<family>Courier</family>
<prefer><family>Courier New</family></prefer>
<default><family>monospace</family></default>
</alias>
<!-- Utiliser de preference les fonts Microsoft -->
<alias>
<family>serif</family>
<prefer><family>Times New Roman</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>Verdana</family></prefer>
</alias>
<alias>
<family>monospace</family>
<prefer><family>Courier New</family></prefer>
</alias>
</fontconfig>
Exemple trouvé dans la doc de fontconfig, par là.
Ensuite, personnellement, je trouve que l'anti-alising (fr, en) sur (certaines) petites fonts (disons celles inférieures à 14 pouces), c'est absolument immonde. Les polices apparaissent "grasses" et visuellement j'aime pas du tout.
Pour vous faire une idée, voici ce que ça donne visuellement (avec un Mozilla Firefox fraichement installé) :
Mon réglage de l'anti-aliasing est (toujours dans le fichier /etc/fonts/local.conf
) :
<!-- L'anti aliasing sur certaines font c'est une horreur... -->
<match target="font">
<test name="family">
<string>Verdana</string>
<string>Arial</string>
<string>Times New Roman</string>
<string>Courier New</string>
<string>Helvetica</string>
</test>
<test name="size" compare="less">
<int>14</int>
</test>
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
<!--
et une regle pour firefox, une...
apparement le nom de la regle a change entre size et pixelsize, a voir
-->
<match target="font">
<test name="family">
<string>Verdana</string>
<string>Arial</string>
<string>Times New Roman</string>
<string>Courier New</string>
<string>Helvetica</string>
</test>
<test qual="any" name="pixelsize" compare="less_eq">
<double>18</double>
</test>
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
Avec tous ces reglages, j'ai enfin les fonts que j'aime, et surtout je n'ai plus à me casser la tête entre les applis gtk1, gtk2 et compagnie ! Après libre à vous d'adapter ces reglages comme bon vous semble.
Liens annexes
Par cgo2, dans GNU/Linux
Commentaires
Miraculeux :D ! je vais tester ça, j'espère que ça fonctionne, mais il est clair que c'est "un frein de plus" à l'utilisation courante de Linux avec une Debian (et me pourrir la vie sur KDE, non merci :p) !
mouais, merci pour toutes ces infos...
Mais n'empeche mon vlc est toujours avec une police toute vilaine...
Alors là, je suis bluffé ! Je suis tombé ici "par hasard", en cherchant de nouvelles polices à installer, et les conseils pour la configuration de ma debian sont tip-top-comme-je-voulais-sans-même-le-savoir.
Merci encore pour ces infos. Ca corrige même les polices toutes vilaines (et minuscules) que j'avais dans mon XMMS (GTK1 oblige).
la ruse : une fois le fichier local.conf modifié, un "fc-cache -v -f" pour mettre à jour le cache des polices (exécuté en root, puis en utilisateur) et le redémarrage des applis permet de prendre en compte les nouveaux paramètres.
Je peux enfin lire confortablement des pages web. Je déconseille également la police par défaut (DejaVu) de kde, ainsi que le lissage des textures (fausse bonne idée).
Les réglages de lissage des caractères et le choix des polices (une fois le paquet msstcorefonts installé) peuvent se faire assez simplement à partir de kcontrol (kde) sans avoir à manipuler directement les fichiers de configuration.
enfin un tuto digne de ce nom. bravo et merci !
J'ai toujours pensé que l'anti-aliasing donnait de meilleurs résultats, mais en voyant la différence sur les screenshots, il est évident que les fonts sont plus clairs sans l'anti-aliasing. Je voudrais savoir si ça fonctionne aussi sur une autre distribution comme Slackware, par exemple?
Merci!
Merci beaucoup !
On m'a fait la remarque il y a quelques jours que mes fonts étaient toutes moches, et là ton tuto est vraiment génial, tout est expliqué très bien et ton fichier de conf me donne un résultat impécable.
Bravo !
Nouveau sur Linux et Debian, je faisais sûrement une drôle de tête en voyant ce que m'affichait IceWeasel. Le look était assez misérable. Heureusement je suis tombé sur cet article, et maintenant c'est super. J'en ai fait profité deux collègues. Alors un grand merci pour ce combat contre un irritant majeur.
Merci beaucoup pour ce tuto très bien fait, et qui semble être encore à jour deux ans après. C'est clair que la gestion des fontes n'est pas un truc bien facile.
Au risque de passer pour un excité défenseur de la langue française, une remarque toutefois : vous connaissez l'étymologie du mot anglais « font » que tout le monde utilise sans cesse comme s'il n'y avait pas de mot français pour le dire ? Et bien ça vient du français « fonte » qui existe, a exactement le même sens, et est parfaitement d'actualité. Alors d'accord, ça fait une lettre de plus, mais c'est quand même tellement plus joli qu'un mot anglais perdu dans une phrase française :)
Ah j'ai appris quelque chose ! Merci pour cette information ; je préfère largement utiliser les mots français s'ils existent et sont aussi facilement compréhensible que leur équivalent anglais (ce qui est le cas ici), donc je vais mettre à jour cet article. A bientôt !
Bonjour,
Connaissez-vous ceci:
http://linuxfr.org/2007/06/04/22583...
Ce sont des polices libre qui remplacent les principales polices de Microsoft.