L'installation de polices supplémentaires sous SUSE Linux est une opération très simple. Il suffit de copier les polices vers un répertoire situé sur le chemin des polices X11 (consultez la Section 35.3.2, « Polices X11 de base »). Pour que les polices puissent être appliquées, leur répertoire d'installation doit être un sous-répertoire des répertoires configurés dans le fichier /etc/fonts/fonts.conf (consultez la Section 35.3.1, « Xft »).
Vous pouvez copier les fichiers manuellement (en tant qu'utilisateur root) vers un répertoire approprié, comme /usr/X11R6/lib/X11/fonts/truetype. Vous pouvez aussi utiliser le programme d'installation de polices KDE, qui se trouve dans le centre de contrôle KDE. Le résultat est identique.
Bien entendu, au lieu de copier les polices proprement dites, vous pouvez créer des liens symboliques. Cela peut être utile, par exemple, si vous avez des polices sous licence dans une partition Windows montée et que vous souhaitez les utiliser. Vous devez exécuter ensuite la commande SuSEconfig --module fonts
.
La commande SuSEconfig --module fonts
exécute le script /usr/sbin/fonts-config, qui gère la configuration des polices. Pour plus de détails sur ce script et ses effets, consultez la page de manuel correspondante (man fonts-config
).
La procédure est identique pour tous les types de polices : bitmaps, TrueType, OpenType ou Type1 (PostScript). Tous ces types de polices peuvent être installés le répertoire de votre choix. Seules les polices codées en CID exigent une procédure légèrement différente. Pour plus d'informations, consultez la Section 35.3.3, « Polices codées en CID ».
X.Org regroupe deux systèmes de polices complètement différents : l'ancien et le tout nouveau système . Les sections suivantes décrivent brièvement ces deux systèmes.
Dès le départ, les programmeurs qui ont développé Xft ont veillé à ce que le système prenne en charge les polices vectorielles, et en particulier le lissage. Avec Xft, contrairement aux polices X11 de base, c'est l'application qui utilise les polices qui assure le rendu, et non le serveur X. Ainsi, l'application concernée a accès aux fichiers de polices réels et peut contrôler le rendu des caractères (glyphes). Cela permet une représentation correcte des caractères dans de nombreuses langues. L'accès direct aux fichiers de polices est très utile pour incorporer des polices lors de l'impression afin de garantir un résultat fidèle à l'image à l'écran.
Dans SUSE Linux, les deux environnements de bureau KDE et GNOME, Mozilla, ainsi que nombreuses autres applications, utilisent déjà Xft par défaut. Xft est déjà utilisé par bien d'autres applications que l'ancien système de polices X11 de base.
Xft utilise la bibliothèque fontconfig pour rechercher les polices et influer sur leur rendu. Les propriétés de fontconfig sont contrôlées par le fichier de configuration globale (/etc/fonts/fonts.conf) et le fichier de configuration propre à l'utilisateur (~/.fonts.conf). Chacun des fichiers de configuration de fontconfig doit commencer par :
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
et se terminer par :
</fontconfig>
Pour ajouter des répertoires où rechercher des polices, ajoutez des lignes du type :
<dir>/usr/local/share/fonts/</dir>
Toutefois, cela est généralement inutile. Par défaut, le répertoire propre à l'utilisateur (~/.fonts) est déjà entré dans /etc/fonts/fonts.conf. Ainsi, pour installer des polices supplémentaires, il suffit de les copier vers ~/.fonts.
Vous pouvez également introduire des règles qui influent sur l'aspect des polices. Par exemple, vous pouvez entrer :
<match target="font"> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>
afin de désactiver le lissage pour toutes les polices, ou bien
<match target="font"> <test name="family"> <string>Luxi Mono</string> <string>Luxi Sans</string> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>
pour désactiver le lissage pour des polices spécifiques.
Par défaut, la plupart des applications utilisent les noms de polices sans-serif (ou l'équivalent : sans), serifou monospace. Il ne s'agit pas de polices réelles, mais simplement d'alias qui désignent une police appropriée, en fonction de la langue définie.
Les utilisateurs peuvent ajouter facilement des règles à leur fichier ~/.fonts.conf pour que ces alias pointent vers leurs polices favorites :
<alias> <family>sans-serif</family> <prefer> <family>FreeSans</family> </prefer> </alias> <alias> <family>serif</family> <prefer> <family>FreeSerif</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>FreeMono</family> </prefer> </alias>
Comme pratiquement toutes les applications utilisent ces alias par défaut, ces règles affectent la quasi-totalité du système. Vous pouvez donc facilement utiliser vos polices favorites presque partout, sans avoir à modifier le paramétrage des polices dans chaque application.
La commande fc-list permet de connaître les polices installées et disponibles. La commande fc-list, par exemple, renvoie la liste de toutes les polices. Pour connaître, parmi les polices vectorielles disponibles (:outline=true), celles qui contiennent tous les caractères hébraïques (:lang=he), connaître leurs noms (family), leur style (style), leur graisse (weight) et le nom du fichier où elles sont stockées, entrez la commande suivante :
fc-list ":lang=he:outline=true" family style weight
La sortie de cette commande peut se présenter comme suit :
FreeSansBold.ttf: FreeSans:style=Bold:weight=200 FreeMonoBoldOblique.ttf: FreeMono:style=BoldOblique:weight=200 FreeSerif.ttf: FreeSerif:style=Medium:weight=80 FreeSerifBoldItalic.ttf: FreeSerif:style=BoldItalic:weight=200 FreeSansOblique.ttf: FreeSans:style=Oblique:weight=80 FreeSerifItalic.ttf: FreeSerif:style=Italic:weight=80 FreeMonoOblique.ttf: FreeMono:style=Oblique:weight=80 FreeMono.ttf: FreeMono:style=Medium:weight=80 FreeSans.ttf: FreeSans:style=Medium:weight=80 FreeSerifBold.ttf: FreeSerif:style=Bold:weight=200 FreeSansBoldOblique.ttf: FreeSans:style=BoldOblique:weight=200 FreeMonoBold.ttf: FreeMono:style=Bold:weight=200
Paramètres importants que vous pouvez rechercher avec fc-list :
Tableau 35.2. Paramètres de fc-list
|
Paramètre |
Signification et valeurs possibles |
|---|---|
|
|
Nom de la famille de polices, comme |
|
|
Nom du créateur de cette police, comme |
|
|
Style de police : |
|
|
Langue prise en charge par la police ; par exemple, |
|
|
Graisse de la police : |
|
|
Inclinaison : généralement, |
|
|
Nom du fichier contenant la police. |
|
|
|
|
|
|
|
|
|
|
|
Taille de police, en pixels. L'utilisation de cette option avec fc-list n'est justifiée que pour les polices bitmaps. |
Actuellement, le système de polices X11 de base prend en charge non seulement les polices bitmaps, mais aussi les polices vectorielles (Type1, TrueType et OpenType) et celles codées en CID. Les polices Unicode sont également prise en charge depuis déjà assez longtemps. À l'origine, en 1987, le système de polices X11 de base a été développé pour X11R1 afin de gérer les polices bitmaps monochromes. Toutes les extensions mentionnées plus haut ont été ajoutées par la suite.
Ainsi, les polices vectorielles sont prises en charge uniquement sans lissage ni rendu au niveau des sous-pixels, et le chargement des polices vectorielles de grande taille avec des caractères correspondant à de nombreuses langues peut être très long. L'utilisation des polices Unicode peut aussi s'avérer lente et gourmande en mémoire.
Le système de polices X11 de base présente quelques points faibles. Il a beaucoup vieilli et aucune extension n'est plus vraiment efficace. Bien qu'il doive être conservé pour des raisons de compatibilité avec les versions précédentes, il est conseillé d'utiliser le système Xft et fontconfig, bien plus moderne, si vous le pouvez.
Pour fonctionner, le serveur X doit connaître les polices disponibles et leur emplacement sur le système. Cela est géré par la variable FontPath, qui contient le chemin de tous les répertoires de polices valides du système. Dans chacun de ces répertoires, un fichier nommé fonts.dir répertorie les polices disponibles. La variable FontPath est générée par le serveur X au démarrage. Le système recherche un fichier fonts.dir valide dans chacune des entrées FontPath du fichier de configuration /etc/X11/xorg.conf. Ces entrées se trouvent sous la section Files. La commande xset q permet d'afficher le chemin FontPath réel. Vous pouvez aussi modifier ce chemin pendant l'exécution, avec xset. La commande xset +fp <chemin> permet d'ajouter un chemin. Pour supprimer un chemin inutile, utilisez xset -fp <chemin>.
Si le serveur X est déjà actif, les polices nouvellement installées dans des répertoires montés peuvent être rendues accessibles via la commande xset fp rehash. Cette commande est exécutée par SuSEconfig --module fonts. Comme la commande xset a besoin d'accéder au serveur X en cours d'exécution, cela ne fonctionne que si SuSEconfig --module fonts est lancée à partir d'un shell qui a accès au serveur X actif. La méthode la plus simple consiste à s'identifier comme utilisateur root en entrant la commande su et le mot de passe approprié. La commande su transmet au shell racine (root) les autorisations d'accès de l'utilisateur qui a démarré le serveur X. Pour vérifier si les polices ont été correctement installées et sont disponibles via le système de polices X11 de base, utilisez la commande xlsfonts pour répertorier toutes les polices disponibles.
Par défaut, SUSE Linux utilise les paramètres régionaux UTF-8. Il est donc conseillé d'utiliser des polices Unicode (noms de police qui finissent par iso10646-1 dans la sortie de la commande xlsfonts). Pour dresser la liste de toutes les polices Unicode disponibles, utilisez xlsfonts | grep iso10646-1. Pratiquement toutes les polices Unicode disponibles dans SUSE Linux contiennent au moins tous les glyphes nécessaires pour les langues européennes (anciennement codés en iso-8859-*).
Contrairement aux autres types de polices, vous ne pouvez pas installer les polices codées en CID n'importe où. Elles doivent être installées dans /usr/share/ghostscript/Resource/CIDFont. Cela ne concerne pas le système Xft et fontconfig, mais c'est nécessaire pour Ghostscript et le système de polices X11 de base.
![]() | Astuce |
|---|---|
Pour plus d'informations sur les polices sous X11, consultez le site http://www.xfree86.org/current/fonts.html. | |