
Installation de polices pour X, GhostScript et StarOffice
par Fred
Vous avez plein de polices vectorielles TrueType ou Adobe Type1, mais vous ne savez pas comment faire en sorte que X, Ghostscript et StarOffice les
utilisent. Ce document est fait pour vous. Il contient l'état actuel de mes recherches sur la question.
Le cas de votre serveur X.
La problématique est la suivante : vous disposer de 3 polices vectorielles : police1.pfa (Adobe Type 1 ascii), police2.pfb (Adobe Type 1 binaire)
et police3.ttf (TrueType) et vous souhaitez que X puisse afficher ces polices. Nous supposerons dans la suite que les deux polices type1 sont
dans /usr/share/fonts/type1 et la police TrueType est dans /usr/share/fonts/ttf.
Les fichiers fonts.dir et fonts.scale.
Chaque répertoire contenant des polices doit contenir un fichiers fonts.dir qui permet au serveur de polices de faire le lien entre le fichier de polices
et le nom xfld (le nom X window). Pour les répertoires contenant des polices Adobe Type 1 il faut aussi un fichier fonts.scale qui est semblable à
fonts.dir (son rôle est de donner les différentes tailles de la police). Ces fichiers commencent par un nombre qui est le nombre des polices décrites
par ce fichier. Ce nombre est suivi de lignes du type :
comic.ttf −microsoft−Comic Sans MS−medium−r−normal−−0−0−0−0−p−0−fcd8859−15
Le premier champ est le nom de fichier contenant la police, le second champ est le nom xfld de cette police sous X. On peut si l'on veut modifier les
deux premiers champs du nom xfld pour y mettre ce que l'on veut (vous pouvez par exemple remplacer microsoft par linux si ça vous amuse).
A la vue d'une telle ligne on ne peut qu'être effrayé : "Je vais devoir écrire des lignes aussi farfelues ?". Bien sûr que non. Il existe deux utilitaires qui
vont faire ce travail pour nous en extrayant les données qui conviennent directement depuis le fichier de police.
Pour les polices TrueType l'utilitaire s'appelle : ttmkfdir. L'utilisation est relativement simple, puisqu'il suffit de se placer dans le répertoire contenant
les polices et de taper :
ttmkfdir > fonts.dir
et d'ignorer les messages d'erreurs qui signalent que quelques fonts ne sont peut−être pas reconnues par l'utilitaire.
Pour les polices Adobe Type 1 l'utilitaire s'appelle type1inst . Son utilisation n'est pas plus complexe : on se place dans le répertoires contenant les
polices et on tape :
type1inst
et on ignore là aussi les messages d'erreur. Dans les deux cas on a à la fin de l'opération un fichier fonts.dir et dans le cas des polices Adobe Type
1, le fichier fonts.scale est aussi généré. Dans les cas des polices Type1, type1inst génère en plus Fontmap qui contient ce qu'il faut inclure au
fichier correspondant de Ghostscript pour que GS (le petit nom de Ghostscript) puisse imprimer ces polices. Nous verrons plus loin que ce fichier ne
nous servira pas tel quel : on peut l'effacer sans autre forme de procès.
A partir de maintenant nous savons comment configurer nos répertoires contenant des polices vectorielles.
Vous utilisez un serveur de polices (XFree 3.3.x).
Et vous avez bien raison, cela permet d'utiliser la même configuration pour toutes vos machines. L'objet de ce document n'étant pas de présenter cet
aspect des choses, je ne m'attarderai donc pas sur ce point.
Il existe plusieurs serveurs de polices qui font l'affaire, je ne parlerais que de xfs le serveur de polices de X auquel on a appliqué les différents patchs
nécessaires à la gestion des polices TrueType (c'est le cas de la version de xfs livré avec la Mandrake 6.1 et plus) Dans tous les cas, la procédure
serait similaire. Je n'expliquerai pas comment l'installer (il est installé par défaut avec les distributions récentes).
Le fichier de configuration de xfs est /etc/X11/fs/config (sur la Mandrake, si ce n'est pas votre cas faites man xfs pour en avoir le coeur net). Il
n'est pas nécessaire d'éditer soi−même ce fichier, chkfontpath fait très bien ce travail en vérifiant en plus que les paramètres que l'on lui passe ne
sont pas stupides, ce qui nous évite d'avoir un plantage pénible de X parce qu'on a mal écrit un nom de répertoire.
Pour permettre à notre serveur de polices d'afficher celles que nous venons fraîchement d'installer, il nous faut dire au serveur de police que de
nouveaux répertoires contenant des polices sont présents sur notre système. Pour cela nous tapons :
chkfontpath −−add /usr/share/fonts/type1
chkfontpath −−add /usr/share/fonts/ttf
/etc/rc.d/init.d/xfs restart
La dernière ligne demande au serveur de police de recharger sa configuration. Le deux première ligne sont suffisamment claires. Pour vérifier que nos
polices sont effectivement disponibles il suffit de faire :
xlsfonts | less
et de regarder la sortie à la recherche des polices que nous venons d'installer. Les noms affichés sont ceux reconnus par X et pas ceux que l'on
aimerait trouver.
Installation de polices pour X, GhostScript et StarOffice
Configuration du système X Window 29
Comentários a estes Manuais