5.5. Usando fontes no Xorg

5.5.1. Fontes Type1

As fontes padrões que vem com o Xorg não são adequadas para muitas aplicações desktop. As fontes grandes aparecem irregulares e com aparência não profissional, e as fontes pequenas são quase ilegíveis. Contudo existem muitas fontes Type1 (PostScript®) gratuitas de alta qualidade prontas para uso no Xorg. Por exemplo, a coleção de fontes URW (x11-fonts/urwfonts) inclui versões de alta qualidade de fontes type1 padrão (Times Roman®, Helvetica®, Palatino® e outras). A coleção Freefonts (x11-fonts/freefonts) inclui muito mais fontes, mas a maioria delas direcionadas para uso em softwares gráficos como o Gimp, e não são tão completas para servir como fontes de tela. Além disso, o Xorg pode ser configurado para usar fontes TrueType® com um minimo esforço. Para maiores detalhes sobre isso veja a página de manual do X(7) ou Seção 5.5.2, “Fontes TrueType®”.

Para instalar as coleções de fontes Type1 usando pacotes binários, execute os seguintes comandos:

# pkg install urwfonts

Como alternativa, para compilar a partir da coleção de Ports, execute os seguintes comandos:

# cd /usr/ports/x11-fonts/urwfonts
# make install clean

Proceda da mesma forma com a freefont ou outras coleções. Para que o servidor X detecte essas fontes, adicione uma linha apropriada ao arquivo de configuração do servidor X (/etc/X11/xorg.conf):

FontPath "/usr/local/share/fonts/urwfonts/"

Alternativamente, na linha de comando de execução da sessão X:

% xset fp+ /usr/local/share/fonts/urwfonts
% xset fp rehash

Isso funcionará, mas será perdido quando a sessão X for fechada, a menos que seja adicionada ao arquivo de inicialização (~/.xinitrc para uma sessão startx normal ou ~/.xsession ao efetuar login através de um gerenciador de login gráfico como o XDM). Uma terceira forma é usar o novo /usr/local/etc/fonts/local.conf, como demonstrado em Seção 5.5.3, “Fontes com Anti-Alias”.

5.5.2. Fontes TrueType®

O Xorg tem suporte nativo para renderizar fontes TrueType®. Existem dois módulos diferentes que podem ativar essa funcionalidade. O módulo freetype é usado neste exemplo porque é mais consistente com os outros backends de renderização de fonte. Para habilitar o módulo freetype, basta adicionar a seguinte linha à seção "Module" do /etc/X11/xorg.conf.

Load  "freetype"

Agora crie um diretório para as fontes TrueType® (por exemplo, /usr/local/share/fonts/TrueType) e copie todas as fontes TrueType® para este diretório. Tenha em mente que as fontes TrueType® não podem ser obtidas diretamente de um Apple® Mac®; elas devem estar no formato UNIX®/MS-DOS®/Windows® para uso pelo Xorg. Uma vez que os arquivos foram copiados para este diretório, use mkfontdir para criar um fonts.dir, para que o renderizador de fontes do X saiba que esses novos arquivos foram instalados. O mkfontdir pode ser instalado como um pacote binário com o comando:

# pkg install mkfontdir

Em seguida, crie um índice de arquivos de fontes X em um diretório:

# cd /usr/local/share/fonts/TrueType
# mkfontdir

Agora adicione o diretório TrueType® ao caminho da fonte. Isso é exatamente o mesmo descrito em Seção 5.5.1, “Fontes Type1”:

% xset fp+ /usr/local/share/fonts/TrueType
% xset fp rehash

ou adicione uma linha de FontPath ao xorg.conf.

Agora, o Gimp, o Apache OpenOffice e todos os outros aplicativos X devem reconhecer as fontes TrueType® instaladas. Fontes extremamente pequenas (como o texto em uma tela de alta resolução em uma página da Web) e fontes extremamente grandes (dentro do StarOffice) ficarão muito melhores agora.

5.5.3. Fontes com Anti-Alias

Todas as fontes do Xorg que são encontradas em /usr/local/share/fonts/ e ~/.fonts/ são automaticamente disponibilizadas para anti-aliasing para aplicativos compatíveis com Xft-aware. Os aplicativos mais recentes são compatíveis com o Xft-aware, incluindo o KDE, o GNOME e o Firefox.

Para controlar quais fontes são anti-aliased, ou para configurar as propriedades do anti-alias, crie (ou edite, se já existir) o arquivo /usr/local/etc/fonts/local.conf. Vários recursos avançados do sistema de fontes Xft podem ser ajustados usando este arquivo; Esta seção descreve apenas algumas possibilidades simples. Para maiores detalhes, por favor veja fonts-conf(5).

Este arquivo deve estar no formato XML. Preste muita atenção ao uso de letras maiusculas e minusculas e certifique-se de que todas as tags estejam corretamente fechadas. O arquivo começa com o cabeçalho XML usual seguido por uma definição DOCTYPE e, em seguida, a tag <fontconfig>:

<?xml version="1.0"?>
      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
      <fontconfig>

Como dito anteriormente, todas as fontes em /usr/local/share/fonts/ e ~/.fonts/ já estão disponíveis para aplicativos Xft-aware. Para adicionar outro diretório fora dessas duas árvores de diretórios, adicione uma linha como essa a /usr/local/etc/fonts/local.conf:

<dir>/path/to/my/fonts</dir>

Depois de adicionar novas fontes e especialmente novos diretórios de fontes, reconstrua os caches de fontes:

# fc-cache -f

O anti-aliasing torna as bordas um pouco confusas, o que torna o texto muito pequeno mais legível e remove os serrilhados do texto grande, mas pode causar fadiga ocular se aplicado ao texto normal. Para excluir tamanhos de fonte menores que 14 pontos do anti-aliasing, inclua estas linhas:

        <match target="font">
	    <test name="size" compare="less">
		<double>14</double>
	    </test>
	    <edit name="antialias" mode="assign">
		<bool>false</bool>
	    </edit>
	</match>
	<match target="font">
	    <test name="pixelsize" compare="less" qual="any">
		<double>14</double>
	    </test>
	    <edit mode="assign" name="antialias">
		<bool>false</bool>
	    </edit>
	</match>

O espaçamento para algumas fontes monoespaçadas também pode ser inadequado com o anti-aliasing. Este parece ser um problema com o KDE, em particular. Uma possível correção é forçar o espaçamento dessas fontes para que seja 100. Adicione essas linhas:

	<match target="pattern" name="family">
	   <test qual="any" name="family">
	       <string>fixed</string>
	   </test>
	   <edit name="family" mode="assign">
	       <string>mono</string>
	   </edit>
	</match>
	<match target="pattern" name="family">
	    <test qual="any" name="family">
		<string>console</string>
	    </test>
	    <edit name="family" mode="assign">
		<string>mono</string>
	    </edit>
	</match>

(isto cria um apelido para outros nomes comuns para fontes fixas como "mono"), e então adicione:

         <match target="pattern" name="family">
	     <test qual="any" name="family">
		 <string>mono</string>
	     </test>
	     <edit name="spacing" mode="assign">
		 <int>100</int>
	     </edit>
	 </match>      

Determinadas fontes, como Helvetica, podem ter um problema com o anti-alias. Geralmente isso se manifesta como uma fonte que parece cortada ao meio na vertical. Na pior das hipóteses, pode causar falhas nos aplicativos. Para evitar isso, considere adicionar o seguinte ao local.conf:

         <match target="pattern" name="family">
	     <test qual="any" name="family">
		 <string>Helvetica</string>
	     </test>
	     <edit name="family" mode="assign">
		 <string>sans-serif</string>
	     </edit>
	 </match>        

Depois de editar o local.conf, certifique-se de finalizar o arquivo com a tag </fontconfig>. Não fazer isso fará com que as alterações sejam ignoradas.

Os usuários podem adicionar configurações personalizadas criando seus próprios arquivos ~/.config/fontconfig/fonts.conf. Este arquivo usa o mesmo formato XML descrito acima.

Um último ponto: com uma tela de LCD, a amostragem de sub-pixels pode ser desejada. Isso basicamente trata os componentes vermelho, verde e azul (separados horizontalmente) separadamente para melhorar a resolução horizontal; os resultados podem ser dramáticos. Para habilitar isso, adicione a linha em algum lugar do local.conf:

	 <match target="font">
	     <test qual="all" name="rgba">
		 <const>unknown</const>
	     </test>
	     <edit name="rgba" mode="assign">
		 <const>rgb</const>
	     </edit>
	 </match>

Nota:

Dependendo do tipo de display, o rgb pode precisar ser alterado para bgr, vrgb ou vbgr: experimente e veja qual funciona melhor.

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