Le passage à la monnaie européenne unique est la cause de beaucoup de tracas dans le monde informatique. Le sujet qui nous intéresse ici est l'utilisation du nouveau symbole monétaire sous Linux. Nous en profiterons pour expliquer l'installation de nouvelles polices sous Xwindow.
LES FICHIERS FONTS
Les fichiers de polices utilisées pour l'affichage sous Xwindow possèdent habituellement une extension .pcf. Sur la majorité des distributions Linux, ces fichiers se trouvent dans des sous-répertoires de /usr/X11R6/lib/X11/fonts. Les polices sont classées par catégories. Exemple, les polices freefonts et sharefonts utiles pour certains script-Fu de Gimp sont respectivement placées dans
/usr/X11R6/lib/X11/fonts/freefont et /usr/X11R6/lib/X11/fonts/sharefont.
Pour que X puisse avoir accès aux polices, il faut spécifier les répertoires dans son fichier de configuration, habituellement /etc/XF86Config. Dans notre exemple avec freefont et sharefont, notre fichier de configuration de Xwindow contiendra à la section "Files" :
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/freefont/"
FontPath "/usr/X11R6/lib/X11/fonts/sharefont/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/xtel/"
Il existe d'autres formats de fichiers fonts gérés par X. Par exemple, les polices PostScript au format binaire (.pfb) ou ascii (.pfa) sont parfaitement prises en charge.
AJOUTER DES POLICES
Prenons l'exemple concret des polices contenant le symbole Euro. Dans un premier temps, il vous faudra récupérer les polices au format pfb sur le site d'Adobe à l'adresse http://www.adobe.com/type/eurofont.html. Il vous sera nécessaire de remplir un formulaire pour être en accord avec les termes de la licence Adobe. Une fois le fichier pour MSWindows téléchargé et décompacté, vous trouverez 12 fichiers avec une extension .pfb. Il s'agit là des polices recherchées.
Pour intégrer proprement ces polices à votre système, créez un nouveau répertoire (par exemple euro) dans /usr/X11R6/lib/X11/fonts. Placez ensuite, les fichiers .pfb dans ce nouveau répertoire, puis créez un fichier fonts.dir contenant (voir encadré)
Ce fichier permet à X d'associer le nom d'une police à un fichier. Il existe un utilitaire permettant de créer ce fichier. Il s'agit de mkfondir, mais il semble que dans sa version classique celui-ci ne fonctionne qu'avec les fichiers .pcf.
Dernière étape, informer Xwindow de la présence du nouveau répertoire. Pour ce faire, ajoutez la ligne suivant dans la section "Files" de XF86Config :
FontPath "/usr/X11R6/lib/X11/fonts/euro/"
Si vous avez fait toutes ces modifications depuis Xwindow vous devrez impérativement lancer un xset -fp rehash
pour mettre à jour la configuration. Dans le cas contraire les polices devrait être disponible dès de démarrage du serveur X.
VERIFIER L'INSTALLATION DES POLICES
Une fois le serveur Xwindow démarré, il vous est possible de vérifier le bon fonctionnement de votre configuration. Pour cela, lancez l'utilitaire xfontsel. Dans la partie supérieure (en dessous des boutons quit et select), cliquez sur fmly. Vous devez voir appara"tre la liste des familles de polices présentes sur votre système. Si, dans cette liste, vous choisissez, par exemple, euromono vous devez voir s'afficher plusieurs fois de suite le symbole Euro (voir capture).
Les polices Adobe Euro contiennent le même caractère pour toutes les valeurs ascii, il est donc normal d'avoir plusieurs occurrences du même symbole.
PROBLEME
A l'installation de ces polices nous avons mis le doigt sur un problème qui pourra peut-être vous arriver. La liste des polices à ajouter dans le fichier fonts.dir provenait d'un fichier HTML et nous avons tout naturellement fait un copier/coller entre les deux fichiers. Les fichiers de configuration semblaient parfaitement correctes, mais les polices n'apparaissaient pas dans xfontsel. Il s'est finalement avéré que le problème provenait des retours à la ligne copié du fichier HTML. En effet, dans ce fichier les lignes étaient terminées avec les caractères CR/LF et non simplement LF. Une fois le caractère CR éliminé, le problème était résolu. Conclusion, vérifiez le fichier fonts.dir avec un éditeur hexadécimal pour vous assurer que le problème ne vient pas de là. n
12
_1______.pfb -adobe-eurosans-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific
_1b_____.pfb -adobe-eurosans-bold-r-normal--0-0-0-0-p-0-adobe-fontspecific
_1bi____.pfb -adobe-eurosans-bold-i-normal--0-0-0-0-p-0-adobe-fontspecific
_1i_____.pfb -adobe-eurosans-medium-i-normal--0-0-0-0-p-0-adobe-fontspecific
_2______.pfb -adobe-euromono-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific
_2b_____.pfb -adobe-euromono-bold-r-normal--0-0-0-0-p-0-adobe-fontspecific
_2bi____.pfb -adobe-euromono-bold-i-normal--0-0-0-0-p-0-adobe-fontspecific
_2i_____.pfb -adobe-euromono-medium-i-normal--0-0-0-0-p-0-adobe-fontspecific
_3______.pfb -adobe-euroserif-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific
_3b_____.pfb -adobe-euroserif-bold-r-normal--0-0-0-0-p-0-adobe-fontspecific
_3bi____.pfb -adobe-euroserif-bold-i-normal--0-0-0-0-p-0-adobe-fontspecific
_3i_____.pfb -adobe-euroserif-medium-i-normal--0-0-0-0-p-0-adobe-fontspecific