5. Usando Fontes Type 1 com X11

O X11 pode tanto usar o formato .pfa quanto o formato .pfb de fonte. As fontes do X11 estão localizadas em vários subdiretórios abaixo do /usr/X11R6/lib/X11/fonts. Cada arquivo de fonte é uma referência cruzada do seu nome X11 com o conteúdo dos arquivos fonts.dir em cada diretório.

Já existe um diretório chamado Type1. A forma mais direta de adicionar uma nova fonte é colocá-la nesse diretório. Uma forma melhor seria colocar todas as novas fontes num diretório separado e usar um link simbólico para as fontes adicionais. Isso permite identificar as fontes sem confundir com aquelas que são originalmente fornecidas. Por exemplo:

Cria um diretório para armazenar os arquivos de fonte
% mkdir -p /usr/local/share/fonts/type1
% cd /usr/local/share/fonts/type1

Coloque os arquivos .pfa, .pfb and .afm aqui
Pode-se querer manter os arquivos readme, e outras documentações
para as fontes aqui
% cp /cdrom/fonts/atm/showboat/showboat.pfb .
% cp /cdrom/fonts/atm/showboat/showboat.afm .

Mantenha um índice para a referência cruzada das fontes
% echo showboat - InfoMagic CICA, Dec 1994, /fonts/atm/showboat >>INDEX

Agora, para usar a nova fonte com o X11, deve-se tornar os arquivos de fonte disponíveis e atualizados. Os nomes de fontes do X11 se parecem com:

-bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1
     |        |      |    |   |     |  | | | | | |    \    \
     |        |      |    |   |     \  \ \ \ \ \ \     +----+- character set
     |        |      |    |   \      \  \ \ \ \ \ +- average width
     |        |      |    |    \      \  \ \ \ \ +- spacing
     |        |      |    \	\      \  \ \ \ +- vertical res.
     |        |      |     \	 \	\  \ \ +- horizontal res.
     |        |      |      \	  \	 \  \ +- points
     |        |      |       \     \	  \  +- pixels
     |        |      |        \     \	   \
  foundry  family  weight   slant  width  additional style

Um novo nome precisa ser criado para cada nova fonte. Se você possui alguma informação na documentação que acompanha a fonte, então isso pode servir de base para a criação do nome. Se não há informação, então você pode ter alguma idéia usando strings(1) no arquivo da fonte. Por exemplo:

% strings showboat.pfb | more
%!FontType1-1.0: Showboat 001.001
%%CreationDate: 1/15/91 5:16:03 PM
%%VMusage: 1024 45747
% Generated by Fontographer 3.1
% Showboat
 1991 by David Rakowski.  Alle Rechte Vorbehalten.
FontDirectory/Showboat known{/Showboat findfont dup/UniqueID known{dup
/UniqueID get 4962377 eq exch/FontType get 1 eq and}{pop false}ifelse
{save true}{false}ifelse}{false}ifelse
12 dict begin
/FontInfo 9 dict dup begin
 /version (001.001) readonly def
 /FullName (Showboat) readonly def
 /FamilyName (Showboat) readonly def
 /Weight (Medium) readonly def
 /ItalicAngle 0 def
 /isFixedPitch false def
 /UnderlinePosition -106 def
 /UnderlineThickness 16 def
 /Notice (Showboat
 1991 by David Rakowski.  Alle Rechte Vorbehalten.) readonly def
end readonly def
/FontName /Showboat def
--stdin--

Usando essas informações, um possível nome poderia ser:

-type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1

Os componentes do nosso nome são:

Companhia

Vamos nomear todas as novas fontes como type1.

Família

O nome da fonte

Densidade

Normal, negrito, média, semi-negrito, etc. Pelas informações acima do strings(1), essa fonte aparenta ter uma densidade média.

Inclinação

roman, itálico, oblíquo, etc. Como o Ângulo Itálico é zero, o roman será utilizado.

Largura

Normal, ampla, condensada, estendida, etc. Até que possa ser examinada, supomos que será normal.

Estilo Adicional

Frequentemente omitido, mas isso indicará que a fonte possui letras maiúsculas decorativas.

Espaçamento

proporcional ou monoespaçada. A opção Poporcional é usada quando o isFixedPitch é falso.

Todos esses nomes são arbitrários, mas deve-se tentar ser compatível com as convenções existentes. A fonte é referenciada pelo nome com possíveis curingas pelo programa X11, então o nome escolhido tem que fazer algum sentido. Pode-se começar simplesmente usando

…-normal-r-normal-…-p-…

como o nome, e então usar xfontsel(1) para examiná-lo e ajustar o nome com base na aparência da fonte.

Então, para completar nosso exemplo:

Torne a fonte acessível para o X11
% cd /usr/X11R6/lib/X11/fonts/Type1
% ln -s /usr/local/share/fonts/type1/showboat.pfb .

Edite os arquivos fonts.dir e fonts.scale, adicionando a linha que descreve a fonte e incremente o número de fontes que são encontradas na primeira linha.
% ex fonts.dir
:1p
25
:1c
26
.
:$a
showboat.pfb -type1-showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1
.
:wq

fonts.scale aparenta ser idêntico ao fonts.dir…
% cp fonts.dir fonts.scale

Informe ao X11 que arquivos foram alterados
% xset fp rehash

Examine a nova fonte
% xfontsel -pattern -type1-*

Referências: xfontsel(1), xset(1), The X Windows System in a Nutshell, O'Reilly & Associates.

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