Maintenant que nous pouvons utiliser la nouvelle police avec X11 et
GhostScript, comment faire pour s'en servir aussi avec groff? Tout
d'abord, comme nous nous occupons de polices PostScript
“Type 1”, le périphérique groff à utiliser est
ps
. Il faut créer un fichier de police pour
chaque police utilisée par groff. Le nom d'une police groff se résume à un
fichier dans le répertoire
/usr/share/groff_font/devps
. Dans notre exemple, ce
pourrait être /usr/share/groff_font/devps/SHOWBOAT
.
Il faut créer ce fichier avec les outils fournis par groff.
Le premier outil est afmtodit
. Il n'est pas
normalement installé et doit donc être extrait de la distribution sous
forme de sources. Je me suis aperçu qu'il fallait modifier la première
ligne du fichier, voici donc ce que j'ai fait:
bash$
cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp
bash$
ex /tmp/afmtodit.pl
:1c
#!/usr/bin/perl -P-
.
:wq
Cet outil crée le fichier de police groff à partir du fichier de
dimensions de la police (suffixe .afm
). Pour
continuer avec notre exemple:
De nombreux fichiers .afm
sont au
format Mac... avec des lignes terminées par des ^M
Il faut les convertir au style Unix avec des lignes terminées par des ^J
bash$
cd /tmp
bash$
cat /usr/local/share/fonts/type1/showboat.afm |
tr '\015' '\012' >showboat.afm
Créons maintenant le fichier de police groff
bash$
cd /usr/share/groff_font/devps
bash$
/tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT
La police peut maintenant être référencée par le nom SHOWBOAT.
Si l'on utilise GhostScript pour piloter les imprimantes du système,
il n'y a rien d'autre à faire. Si, par contre, l'on utilise de vraies
imprimantes PostScript, il faut alors charger la police sur l'imprimante
pour pouvoir l'utiliser (à moins que l'imprimante ne dispose de la police
“showboat” en interne ou sur une disquette de polices
accessible). La dernière étape consiste à créer la police chargeable.
L'outil pfbtops
est utilisé pour créer le format
.pfa
de la police et le fichier
download
est modifié pour faire référence à la
nouvelle police. Le fichier download
doit indiquer le
nom interne de la police. Ce nom peut être facilement connu à l'aide du
fichier de police groff, comme le montre l'exemple:
Créer le fichier de police
.pfa
bash$
fgrep internalname SHOWBOAT
internalname Showboat
Dire à groff qu'il faut charger la police
bash$
ex download
:$a
Showboat showboat.pfa
.
:wq
Pour tester la police:
bash$
cd /tmp
bash$
cat >exemple.t <<EOF
.sp 5
.ps 15
C'est un exemple de police Showboat:
.br
.ps 48
.vs (\n(.s+2)p
.sp
.ft SHOWBOAT
ABCDEFGHI
.br
JKLMNOPQR
.br
STUVWXYZ
.sp
.ps 16
.vs (\n(.s+2)p
.fp 5 SHOWBOAT
.ft 5
Utilisée comme première lettre d'un paragraphe. Cela ressemblera à:
.sp50p
\s(48\f5V\s0\fRoici la première phrase d'un paragraphe qui utilise
la police showboat pour sa première lettre. Il faut augmenter
l'espacement vertical pour laisser de la place pour la première
lettre.
EOF
bash$
groff -Tps exemple.t >exemple.ps
Pour utiliser GhostScript/GhostView
bash$
ghostview exemple.ps
Pour l'imprimer
bash$
lpr -Ppostscript exemple.ps
Références:
/usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man
,
groff_font(5),
groff_char(5),
pfbtops(1).
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>.