7. Utiliser les polices “Type 1” avec Groff
Précédent |  | Suivant

## 7. Utiliser les polices “Type 1” avec Groff

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).

Précédent |  | Suivant
6. Utiliser les polices “Type 1” avec GhostScript | Sommaire | 8. Peut-on utiliser des polices “True Type”?

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>.