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 /tmpbash$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 /tmpbash$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/devpsbash$/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 SHOWBOATinternalname Showboat
Dire à groff qu'il faut charger la police
bash$ex download:$aShowboat showboat.pfa.:wq
Pour tester la police:
bash$cd /tmpbash$cat >exemple.t <<EOF.sp 5.ps 15C'est un exemple de police Showboat:.br.ps 48.vs (\n(.s+2)p.sp.ft SHOWBOATABCDEFGHI.brJKLMNOPQR.brSTUVWXYZ.sp.ps 16.vs (\n(.s+2)p.fp 5 SHOWBOAT.ft 5Utilisée comme première lettre d'un paragraphe. Cela ressemblera à:.sp50p\s(48\f5V\s0\fRoici la première phrase d'un paragraphe qui utilisela police showboat pour sa première lettre. Il faut augmenterl'espacement vertical pour laisser de la place pour la premièrelettre.EOFbash$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>.