7. Uso de tipos Type 1 con Groff

Ahora que el nuevo tipo puede ser utilizada tanto por X11 como por Ghostscript ¿cómo se puede usar el nuevo tipo con groff? En primer lugar y dado que estamos utilizando tipos PostScript® type 1, el dispositivo groff que vamos a usar es ps. Se debe crear un archivo de tipo para cada tipo que queramos usar con groff. Un nombre de tipo para groff es simplemente un archivo en el directorio /usr/share/groff_font/devps. Siguiendo con nuestro ejemplo, el archivo del tipo sería /usr/share/groff_font/devps/SHOWBOAT. El archivo debe crearse utilizando las herramientas proporcionadas por groff.

La primera herramienta es afmtodit. No está instalada por defecto, pero puede encontrarla en la distribución original. Descubrí que tenía que cambiar la primera línea del archivo, así que procedí del siguiente modo:

% cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp
% ex /tmp/afmtodit.pl
:1c
#!/usr/bin/perl -P-
.
:wq

Esta herramienta creará el archivo de tipo groff a partir del archivo de métricas (sufijo .afm). Siguiendo con nuestro ejemplo:

Muchos archivos .afm están en formato Mac, con ^M delimitando las líneas
Tenemos que convertirlos al estilo UNIX® que delimita las líneas con ^J
% cd /tmp
% cat /usr/local/share/fonts/type1/showboat.afm |
	tr '\015' '\012' >showboat.afm

Ahora cree el archivo de tipo groff
% cd /usr/share/groff_font/devps
% /tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT

Ahora se puede hacer referencia al tipo con el nombre SHOWBOAT.

Si se usa Ghostscript con las impresoras del sistema no es necesario hacer nada más. Sin embargo si las impresoras usan PostScript® el tipo se debe descargar a la impresora para poder usarse (a menos que la impresora tenga el tipo showboat incorporado o pueda acceder a una unidad en la que esté .) El último paso es crear un tipo descargable. La herramienta pfbtops se utiliza para crear el formato de tipo .pfa y el archivo download se modifica para hacer referencia al nuevo tipo. El archivo download debe hacer referencia al nombre interno del tipo. Esto se puede determinar fácilmente a partir del archivo de tipo de groff como vemos a continuación:

Cree el archivo de tipo .pfa
% pfbtops /usr/local/share/fonts/type1/showboat.pfb >showboat.pfa

Por supuesto, si el archivo .pfa ya existe, simplemente cree un enlace simbólico para referenciarlo.

Obtener el nombre interno del tipo
% fgrep internalname SHOWBOAT
internalname Showboat

Indique a groff que el tipo debe ser descargado
% ex download
:$a
Showboat      showboat.pfa
.
:wq

Para probar el tipo:

% cd /tmp
% cat >example.t <<EOF
.sp 5
.ps 16
This is an example of the Showboat font:
.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 R
To use it for the first letter of a paragraph, it will look like:
.sp 50p
\s(48\f5H\s0\fRere is the first sentence of a paragraph that uses the
showboat font as its first letter.
Additional vertical space must be used to allow room for the larger
letter.
EOF
% groff -Tps example.t >example.ps

Para utilizar ghostscript/ghostview
% ghostview example.ps

Para imprimir
% lpr -Ppostscript example.ps

Referencias: /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man, groff_font(5), groff_char(7), pfbtops(1).

Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Si tiene dudas sobre FreeBSD consulte la documentación antes de escribir a la lista <questions@FreeBSD.org>.

Envíe sus preguntas sobre la documentación a <doc@FreeBSD.org>.