Nouvelles fontes pour X11

© Christian PAULUS. Document créé le 12 janvier 2001 , mis à jour le 15 mars 2007.

L'homme qui ne tente rien ne se trompe qu'une fois. Lao-Tseu

Accueil du site > Astuces > Unix > Nouvelles fontes pour X11

X11 / XFree86-4.0.1

On trouvera quelques documents intéressants sur :
- http://www.freebsd.org/tutorials/fonts/ et
- http://www.freebsd-fr.org/books/fonts/article.html.gz

Pour un affichage correct sous X, la fonte doit être au format PostScript. Le fichier .pfa (PostScript ascii) peut être accompagné du fichier .pfb (PostScript binaire), mais on peut tout aussi bien ne mettre en place que l’un des deux des formats. Le fichier .afm (metrics) doit être présent pour par exemple, GhostScript.

  • Créer le chemin d’accès de votre nouveau dossier de fontes en complétant la variable FontPath de votre fichier de configuration X11 qui est en général /etc/XF86Config (bien noter que chaque chemin d’accès est délimité par une virgule) ;
  • Placer vos fontes dans ce répertoire ;
  • Créer ou modifier le fichier fonts.dir avec un éditeur de texte. Ce fichier décrit les fontes à charger par l’environnement au démarrage. La première ligne doit être le nombre de fontes présentes dans ce répertoire. Les lignes suivantes doivent décrire les fontes. Cette description est constituée de deux colonnes :
    — * la colonne de gauche est le nom du fichier contenant la fonte (.pfa ou .pfb)
    — * la colonne de droite est la description du format de cette fonte.
  • Si vous ne savez pas trop comment vous lancer dans la rédaction de ce fichier fonts.dir, inspirez vous des autres fonts.dir présents dans les autres répertoires de fontes de votre système ;
  • Re-initialiser les chemins de fontes de X11 par la commande sous un terminal : xset fp rehash
  • On peut également activer le répertoire de fontes, sans changer la configuration, par la commande xset fp+ /usr/local/fonts. Ceci a pour effet d’ajouter temporairement le répertoire /usr/local/fonts à votre configuration X.
  • Contrôler la présence de cette nouvelle fonte avec un utilitaire tel que xfontsel.

Exemple de fichier fonts.dir contenant 3 polices de caractères : Calamity, Calamity italique et Courier :

3
Calamit.pfb -Local-calamity-regular-r-normal--0-0-0-0-p-0-iso8859-1
Calamiti.pfb -Local-calamity-regular-i-normal--0-0-0-0-p-0-iso8859-1
Cour.pfb -Local-courier-regular-r-normal--0-0-0-0-m-0-iso8859-1

Calamity est une fonte que je viens de dessiner. Ses espacements sont proportionnels, contrairement à Courier qui a une chasse fixe. On règle ceci par le caractère ’p’ dans l’option ’spacing’. Pour un espacement non-proportionnel, cas de la police Courier, on remplacera le caractère ’p’ par ’m’ (monospaced). Pour savoir si l’espacement des caractères d’une police est ou n’est pas proportionnel, éditer le fichier .pfb concerné et chercher isFixedPitch. Si ce mot est suivi de false, vous avez à faire à une police à espacement proportionnel. Les définitions situées dans les premières lignes de ce fichier de fonte pourront vous aider aux réglages des définitions des lignes de fonts.dir.

On remarquera dans l’exemple ci-dessus que pour les deux Calamity, la seule différence est l’option ’slant’ (inclinaison). Un ’r’ indique un caractère roman (droit), un ’i’ doit être utilisé pour un caractère en italique. Il existe aussi une option ’o’ pour oblique, je ne l’ai jamais rencontrée.

Il se peut que la fonte n’apparaisse pas dans xfontsel. Essayez de remplacer iso8859-1 par adobe-fontspecific peut donner un bon résultat. Je n’ai pas trouvé l’astuce permettant de repérer ce besoin dans le fichier généré. Si vous la connaissez, je serai heureux de le préciser ici.

Plussoyez !

Les forums sont fermés.