L'installation de polices supplémentaires sous SUSE LINUX est très simple.
Il suffit de copier les polices dans un répertoire qui se trouve dans le chemin
désignant les polices pour X11 (voir Section 11.3.2, « Polices X11 de base »)
et qui doit être un sous-répertoire des répertoires configurés dans
le fichier /etc/fonts/fonts.conf (voir Section 11.3.1, « Xft »).
Vous pouvez copier manuellement (en tant que root) les
fichiers de police dans un répertoire répondant à ces critères, par
exemple /usr/X11R6/lib/X11/fonts/truetype.
Vous pouvez aussi utiliser le programme d'installation de police de KDE du
centre de contrôle KDE. Le résultat est identique.
Naturellement, vous pouvez tout aussi bien créer des liens symboliques
plutôt que de copier effectivement les polices. Par exemple, lorsque vous
disposez, sur une partition Windows, de polices sous licence que vous souhaitez
utiliser. Appelez ensuite la commande SuSEconfig
--module fonts.
SuSEconfig --module fonts appelle le
script /usr/sbin/fonts-config qui prend en charge la
configuration des polices. Pour plus de détails sur ce script et ses effets,
vous pouvez lire la page de manuel correspondante
(man fonts-config).
Le type de police à installer n'a ici aucune importance, la procédure d'installation reste identique pour les polices Bitmap, les polices TrueType et OpenType et les polices (PostScript) Type 1. Tous ces types de police peuvent être installés dans un répertoire quelconque. Les polices codées en CID représentent la seule exception. Pour ce cas, reportez-vous à Section 11.3.3, « Polices codées en CID ».
X.Org contient deux systèmes de police totalement différents, d'une part le déjà ancien Système de polices X11 de base, d'autre part le tout nouveau système Xft et fontconfig. Dans ce qui suit, vous trouverez une courte présentation des deux systèmes.
Dès le début de la conception de Xft, il a été apporté le plus grand soin à la prise en charge des polices vectorielles, en particulier le lissage. Contrairement à la gestion effectuée par le système de polices X11 de base, lorsque l'on utilise Xft, c'est le programme utilisant les polices qui effectue lui-même le rendu, et non le serveur X. Ainsi, le programme en question accède aux fichiers de polices lui-même, et contrôle les moindres détails de rendu des caractères. D'une part, cela permet une représentation correcte de caractères dans de nombreuses langues, d'autre part, l'accès direct aux fichiers de polices est particulièrement intéressant pour inclure (en anglais to embed) les polices à l'impression et ainsi obtenir un résultat sur papier équivalent à ce qu'on observe sur l'écran.
Par défaut, sous SUSE LINUX, les deux environnements de bureau KDE et GNOME, Mozilla et de nombreuses autres applications utilisent déjà Xft. Xft est ainsi d'ores et déjà utilisé par un nombre d'applications bien plus important que l'ancien système de polices X11 de base.
Xft utilise la bibliothèque fontconfig pour
trouver les polices ainsi que pour influer sur l'art et la manière dont
elles sont rendues. Le comportement de fontconfig
est dirigé par le fichier de configuration
/etc/fonts/fonts.conf, qui s'étend à l'ensemble du
système, et par le fichier de configuration
~/.fonts.conf qui est spécifique à l'utilisateur.
Chacun de ces fichiers de configuration
fontconfig doit commencer par
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
et finir par
</fontconfig>
Pour indiquer les répertoires dans lesquels aller chercher les polices, vous pouvez saisir des lignes telles que :
<dir>/usr/local/share/fonts/</dir>
Ceci est toutefois rarement nécessaire. Le répertoire
~/.fonts, propre à
l'utilisateur, est déjà renseigné par défaut dans
/etc/fonts/fonts.conf. Lorsqu'un utilisateur souhaite
installer des polices pour son usage personnel, il lui suffit donc de les
copier dans le répertoire ~/.fonts.
Vous pouvez également introduire des règles pour modifier l'apparence des polices, par exemple
<match target="font"> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>
pour désactiver le lissage pour l'ensemble des 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>
lorsque vous ne souhaitez le désactiver que pour des polices bien définies.
La plupart des applications utilisent par défaut les noms de police
sans-serif (ou son équivalent monospace),
serif ou monospace.
Ce ne sont pas des polices réelles mais
simplement des redirections qui pointent vers les polices appropriées en
fonction de la langue configurée.
Chaque utilisateur peut ainsi intégrer à son fichier
~/.fonts.conf des règles simples pour faire pointer
ces redirections vers ses 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 la plupart des applications utilisent par défaut ce système de redirection, ces règles peuvent s'appliquer à la quasi-totalité du système. Ainsi, vous pouvez utiliser presque partout vos polices préférées sans avoir à modifier individuellement la configuration de chaque programme.
Pour obtenir une liste des polices installées et disponibles, vous pouvez
utiliser la commande fc-list.
fc-list "" renvoie par
exemple la liste de toutes les polices. Si vous souhaitez connaître les
polices vectorielles (:outline=true) disposant de tous
les caractères hébraïques (:lang=he) disponibles dans
le système, et que vous voulez obtenir, pour chacune de ces polices, le nom
(family), le style (style), la graisse
(weight) et le nom du fichier contenant cette police,
vous pouvez utiliser par exemple la commande suivante :
fc-list ":lang=he:outline=true" family style weight file
Le résultat d'une telle commande pourrait avoir l'allure suivante :
/usr/X11R6/lib/X11/fonts/truetype/FreeSansBold.ttf: FreeSans:style=Bold:weight=200
/usr/X11R6/lib/X11/fonts/truetype/FreeMonoBoldOblique.ttf: FreeMono:style=BoldOblique:weight=200
/usr/X11R6/lib/X11/fonts/truetype/FreeSerif.ttf: FreeSerif:style=Medium:weight=80
/usr/X11R6/lib/X11/fonts/truetype/FreeSerifBoldItalic.ttf: FreeSerif:style=BoldItalic:weight=200
/usr/X11R6/lib/X11/fonts/truetype/FreeSansOblique.ttf: FreeSans:style=Oblique:weight=80
/usr/X11R6/lib/X11/fonts/truetype/FreeSerifItalic.ttf: FreeSerif:style=Italic:weight=80
/usr/X11R6/lib/X11/fonts/truetype/FreeMonoOblique.ttf: FreeMono:style=Oblique:weight=80
/usr/X11R6/lib/X11/fonts/truetype/FreeMono.ttf: FreeMono:style=Medium:weight=80
/usr/X11R6/lib/X11/fonts/truetype/FreeSans.ttf: FreeSans:style=Medium:weight=80
/usr/X11R6/lib/X11/fonts/truetype/FreeSerifBold.ttf: FreeSerif:style=Bold:weight=200
/usr/X11R6/lib/X11/fonts/truetype/FreeSansBoldOblique.ttf: FreeSans:style=BoldOblique:weight=200
/usr/X11R6/lib/X11/fonts/truetype/FreeMonoBold.ttf: FreeMono:style=Bold:weight=200
Les paramètres essentiels pouvant être utilisés avec fc-list sont :
Tableau 11.3. Paramètres possibles pour fc-list
Paramètre | Signification et valeurs possibles |
|---|---|
family | Nom de la famille de police, par exemple |
foundry | Société ayant produit la police, par exemple |
style | Style de la police, par exemple |
lang | Langues prises en charge par la police ; par exemple |
weight | Graisse de la police, par exemple |
slant | Degré de cursivité, principalement |
file | Nom du fichier contenant la police |
outline |
|
scalable |
|
bitmap |
|
pixelsize | Taille de la police en pixels. Cette option utilisée avec fc-list n'a de sens que pour les polices bitmap. |
Actuellement, le système de polices X11 de base prend en charge non seulement les polices bitmap, mais aussi les polices vectorielles telles que les polices Type1, les polices TrueType et OpenType ou encore les polices codées en CID. Les polices unicode sont également déjà prises en charge depuis longtemps. À l'origine, le système de polices X11 de base a été développé en 1987 pour X11R1 afin de gérer les polices bitmap monochromes. On constate que, jusqu'à aujourd'hui, toutes les extensions mentionnées ci-dessus ont été introduites ultérieurement dans le système.
Ainsi, par exemple, les polices vectorielles ne sont prises en charge que sans lissage et sans rendu à précision subpixel et le chargement de polices vectorielles de grande taille, gérant les caractères pour plusieurs langues, peut être particulièrement long. L'utilisation de polices Unicode peut aussi s'avérer lent et utiliser plus de mémoire.
Le système de polices X11 de base possède quelques faiblesses de fond. On peut raisonnablement dire qu'il a vieilli et qu'il n'est plus sensé de chercher à développer des extensions. Pour des raisons de compatibilité ascendante, il reste disponible, mais il est conseillé d'utiliser, dès que possible, le système Xft et fontconfig, bien plus moderne.
Pour son fonctionnement, le serveur X doit savoir quelles polices sont disponibles
et où elles se trouvent dans le système.
Ceci est géré par la variable FontPath qui contient le chemin d'accès de tous les
répertoires de fontes du système valides. Dans chacun de ces répertoires, un
fichier nommé fonts.dir répertorie les fontes disponibles
dans ce répertoire. FontPath est générée par le serveur X au démarrage et recherche
un fichier fonts.dir valide dans chacune des entrées
FontPath dans le fichier de configuration
/etc/X11/xorg.conf. Ces entrées se trouvent dans la
section Files. Affichez FontPath avec
xset q. Ce chemin peut
également être changé pendant le fonctionnement à l'aide de xset. Pour ajouter
un chemin supplémentaire, utilisez xset +fp <path>. Pour supprimer un chemin non souhaité, utilisez xset -fp <path>.
Lorsque le serveur X est déjà lancé, des polices qui viennent d'être
installées dans des répertoires déjà montés peuvent être mises à
disposition à l'aide de la commande xset fp
rehash. Cette commande est également exécutée par
SuSEconfig --module fonts.
Comme la commande xset nécessite un accès au serveur X
en cours d'exécution, ceci ne peut fonctionner que si
SuSEconfig --module fonts est
lancée à partir d'un interpréteur de commandes ayant un accès au serveur
X qui s'exécute. Le plus simple pour parvenir à ce résultat est
d'utiliser la commande sux et de saisir le mot de passe
de root dans un terminal pour
prendre la main en tant qu'utilisateur root :
sux transmet à l'interpréteur root les droits de l'utilisateur
ayant lancé le serveur X.
Pour tester si les polices ont été installées correctement et sont
disponibles dans le système de polices X11 de base, vous pouvez utiliser la
commande xlsfonts qui dresse la liste de toutes les
polices disponibles.
SUSE LINUX utilise par défaut l'encodage UTF-8 local, en conséquence, il
vous est conseillé d'utiliser en règle générale les polices Unicode (noms de police
reconnaissables à leur terminaison en iso10646-1 dans la liste affichée par
xlsfonts). Vous pouvez ainsi obtenir la liste de toutes
les polices Unicode disponibles à l'aide de la commande
xlsfonts | grep iso10646-1.
La quasi-totalité des polices Unicode disponibles sous SUSE LINUX
contiennent, au moins, tous les caractères nécessaires pour les langues
européennes (précédents encodages : iso-8859-*).
Contrairement aux autres types de polices, les polices codées en CID ne
peuvent pas être installées dans un répertoire quelconque. Elles doivent
toujours être installées dans le répertoire
/usr/share/ghostscript/Resource/CIDFont.
Cela n'a pas d'importance pour Xft et fontconfig, en revanche Ghostscript et le
système de polices X11 de base l'exigent.
![]() | Astuce |
|---|---|
Des informations complémentaires concernant les polices sous X11 sont disponibles à l'adresse http://www.xfree86.org/current/fonts.html. | |