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
Créons maintenant le fichier de police groff
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
Dire à groff qu'il faut charger la police
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
Pour l'imprimer
Références: /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man, groff_font(5), groff_char(5), pfbtops(1).
Précédent | Sommaire | Suivant |
Utiliser les polices “Type 1” avec GhostScript | Peut-on utiliser des polices “True Type”? |
Ce document, ainsi que d'autres peut être téléchargé sur 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>.