X11 peut employer les formats de police de caractères
.pfa
et .pfb
. Il y a une
référence croisée de chaque fichier sur son nom X11 par l'intermédiaire du
fichier fonts.dir
de chaque répertoire.
Il y a déjà un répertoire appelé Type1
. La façon
la plus immédiate d'ajouter une police de caractères est de la mettre dans
ce répertoire. Une meilleure manière de procéder est de mettre toutes les
nouvelle polices dans un répertoire distinct et d'utiliser un lien
symbolique sur ces nouvelles polices. Il est alors plus facile de
distinguer ses propres polices de celles qui sont fournies d'origine. Par
exemple:
Créer un repertoire pour les fichiers de police de caractères.
bash$
mkdir -p /usr/local/share/fonts/type1
bash$
cd /usr/local/share/fonts/type1
Y mettre les fichiers .pfa
,
.pfb
et .afm
. On peut aussi
vouloir y conserver les fichiers README
et autres
documentations concernant les polices de caractères.
bash$
cp /cdrom/fonts/atm/showboat/showboat.pfb .
bash$
cp /cdrom/fonts/atm/showboat/showboat.afm .
Tenir à jour un index pour créer les références croisées sur les polices.
bash$
echo showboat - InfoMagic CICA, Dec 1994, /fonts/atm/showboat >>INDEX
Pour pouvoir maintenant utiliser une nouvelle police de caractères, il faut mettre le fichier à disposition, et mettre à jour le fichier des noms de polices. Les noms de police X11 se présentent comme suit:
-bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1 | | | | | | | | | | | | \ \ | | | | | \ \ \ \ \ \ \ +----+- jeu de caractères | | | | \ \ \ \ \ \ \ +- largeur moyenne | | | | \ \ \ \ \ \ +- espacement | | | \ \ \ \ \ \ +- résolution verticale | | | \ \ \ \ \ +- résolution horizontale | | | \ \ \ \ +- points | | | \ largeur \ +- pixels | | | \ \ casse famille graisse inclinaison style supplémentaire
Il faut créer un nouveau nom pour chaque nouvelle police. Si la documentation qui l'accompagne vous donne quelques informations, elle peut servir de base pour définir ce nom. Si vous n'avez aucune information, vous pouvez utiliser la commande strings(1) sur le fichier de police. Par exemple:
bash$
strings showboat.pfb | more
%!FontType1-1.0: Showboat 001.001 %%CreationDate: 1/15/91 5:16:03 PM %%VMusage: 1024 45747 % Generated by Fontographer 3.1 % Showboat 1991 by David Rakowski. Alle Rechte Vorbehalten. FontDirectory/Showboat known{/Showboat findfont dup/UniqueID known{dup /UniqueID get 4962377 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 12 dict begin /FontInfo 9 dict dup begin /version (001.001) readonly def /FullName (Showboat) readonly def /FamilyName (Showboat) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -106 def /UnderlineThickness 16 def /Notice (Showboat 1991 by David Rakowski. Alle Rechte Vorbehalten.) readonly def end readonly def /FontName /Showboat def --stdin--
A partir de ces informations, le nom pourrait être:
-type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1
Les composantes de ce nom sont:
Appelons simplement toutes nos nouvelles polices
type1
.
Le nom de la police.
Normal, gras, médium, semi-gras, etc. D'après les résultats de strings(1) ci-dessus, la police a une graisse médium.
roman, italique ou oblique. Comme ItaliqueAngle vaut 0, nous utiliserons roman.
Normale, large, condensée, étendue, etc. Jusqu'à ce que nous la déterminions à l'usage, nous supposerons qu'elle est normale.
Habituellement non renseigné, mais nous nous en servons pour indiquer que la police contient des majuscules décoratives.
Proportionnel ou fixe. Comme isFixedPitch est faux, nous utilisons Proportionnel.
Tous ces noms sont arbitraires, mais il faut essayer de rester compatible avec les conventions existantes. Une police est connue d'une application X11 sous un nom qui peut éventuellement comporter des caractères de substitution, il faut donc choisir un nom significatif. On peut commencer en utilisant simplement:
...-normal-r-normal-...-p-...
comme nom, puis se servir de xfontsel(1) pour visualiser la police et affiner son nom en fonction de ce à quoi elle ressemble.
Donc, pour compléter notre exemple:
Rendre la police accessible à X11
bash$
cd /usr/X11R6/lib/X11/fonts/Type1
bash$
ln -s /usr/local/share/fonts/type1/showboat.pfb .
Editer fonts.scale
et
fonts.dir
pour y ajouter une ligne décrivant la
nouvelle police et incrémenter le nombre de polices qui est défini en
première ligne
bash$
ex fonts.dir
:1p
25
:1c
26
.
:$a
showboat.pfb -type1-showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1
.
:wq
fonts.scale
et
fonts.dir
sont apparemment
identiques
bash$
cp fonts.dir fonts.scale
Informer X11 des modifications
bash$
xset fp rehash
Visualiser la nouvelle police
bash$
xfontsel -pattern -type1-*
Références: xfontsel(1), xset(1), The X Window System in a Nutshell, O'Reilly & Associates.
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la
documentation avant de contacter
<questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez
<doc@FreeBSD.org>.