5.5. Usando fontes no Xorg
Anterior | Capítulo 5. O sistema X Window | Próxima

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

Anterior | Acima | Próxima
5.4. Configuração do Xorg | Principal | 5.6. O Gerenciador de Display X

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