Agora que a nova fonte pode ser utilizada tanto pelo X11 quanto pelo Ghostscript, como podemos utilizar a nova fonte com o groff? Primeiro de tudo, como estamos usando fontes Type 1 PostScript®, o dispositivo groff que é aplicável é o device ps. Um arquivo de fonte deve ser criado para cada fonte que o groff possa usar. Um nome de fonte groff é apenas um arquivo no /usr/share/groff_font/devps
. Com o nosso exemplo, o arquivo da fonte poderia ser /usr/share/groff_font/devps/SHOWBOAT
. O arquivo deve ser criado usando ferramentas providas pelo groff.
A primeira ferramenta é o afmtodit
. Ela normalmente não está instalada, então deve ser baixada de uma fonte de distribuição. Eu percebi que teria que mudar a primeira linha do arquivo, então eu fiz:
%
cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp
%
ex /tmp/afmtodit.pl :1c #!/usr/bin/perl -P- . :wq
Essa ferramenta irá criar o arquivo de fontes do groff a partir dos arquivos de métrica (.afm
suffix.) Continuando com nosso exemplo:
Muitos arquivos .afm estão no formato do Mac, com ^M delimitando as linhas Nós temos que convertê-los para o estilo UNIX® que delimita as linhas com ^J%
cd /tmp
%
cat /usr/local/share/fonts/type1/showboat.afm | tr '\015' '\012' >showboat.afm
Agora crie um arquivo de fonte groff%
cd /usr/share/groff_font/devps
%
/tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT
A fonte agora pode ser referenciada pelo nome SHOWBOAT.
Se o Ghostscript é utilizado para impressão com driver simulado no sistema, então não precisa fazer mais nada. Entretanto, se as impressoras usam PostScript® real, então a fonte deve ser baixada pela impressora de maneira que a fonte a ser utilizada (a menos que a impressora tenha a fonte showboat embutida ou acessível a partir de um disco de fontes.) O passo final é criar uma fonte descarregável. A ferramenta pfbtops
é usada para criar o formato .pfa
da fonte, e o arquivo para download
é modificado para referenciar a nova fonte. O arquivo para download
deve referenciar o nome interno da fonte. Isso pode ser facilmente determinado de um arquivo de fonte groff conforme demonstrado:
Criando o arquivo de fonte .pfa%
pfbtops /usr/local/share/fonts/type1/showboat.pfb >showboat.pfa
Claro que, se o arquivo.pfa
já existe, apenas crie um link simbólico para referenciá-lo.
Obtendo o nome interno da fonte%
fgrep internalname SHOWBOAT
internalname Showboat Dizendo ao groff que tem que fazer o download da fonte%
ex download :$a Showboat showboat.pfa . :wq
Para testar a fonte:
%
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 usar ghostscript/ghostview%
ghostview example.ps
Para imprimí-la%
lpr -Ppostscript example.ps
Referências: /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man
, groff_font(5), groff_char(7), pfbtops(1).
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.