Como o Linux gerencia fontes?

11

Quando eu usei o Windows (há muito tempo!) E o Mac OS X, sempre havia um "repositório" central de fontes compartilhadas e acessadas pelo sistema operacional e todos os programas (a pasta de fontes no Windows e o Font Book no Mac OS X).

Como as fontes são gerenciadas no Linux? Existe também um repositório central de fontes que todos os programas (o shell sem X, com X, gerenciadores de janelas, outro software de GUI) podem usar? Ou as fontes são gerenciadas separadamente? O que posso fazer para gerenciar de maneira eficiente e fácil minhas fontes no Linux?

hpy
fonte

Respostas:

13

Existem dois mecanismos para fontes no X land: do lado do servidor e do cliente.

A maneira tradicional de renderizar fontes é para o cliente dizer ao servidor "renderizar foona posição (x, y) na fonte F" (onde uma especificação de fonte inclui uma face, tamanho, codificação e outros atributos). O próprio servidor X ou um programa especializado chamado servidor de fontes abre o arquivo de fontes para criar a descrição de cada glifo. As fontes podem ser fontes de bitmap ou vetoriais, mas as fontes vetoriais são convertidas em bitmaps antes da renderização.

A maioria dos programas modernos usa renderização de fonte do lado do cliente, geralmente através de xft e fontconfig . Um novo mecanismo era necessário porque a renderização da fonte do lado do servidor não suportava anti-aliasing.

Fora do X (ou seja, em um console VGA), existem fontes VGA, que são fontes de bitmap de tamanhos específicos. Mas, comparado ao X11, ninguém usa o console VGA, portanto, não se gasta muito esforço neles.

Na prática, você desejará configurar fontes de duas maneiras:

  • Para programas de estilo antigo: os diretórios de fontes são listados por meio de FontPathdiretivas xorg.confe podem ser manipulados com xset fpcomandos pelo usuário que executa o X. Se você instalar novas fontes, poderá ser necessário executar mkfontdir.
  • Para programas de estilo mais recente, incluindo todos os programas Gtk (Gnome, etc.) e Qt (KDE, etc.): fontes estão nos diretórios indicados por <dir>directivas /etc/fonts/fonts.conf, ~/.fonts.confe alguns outros lugares. Consulte a documentação do fontconfig para obter mais informações. Se você instalar novas fontes, talvez seja necessário executar fc-cache.
Gilles 'SO- parar de ser mau'
fonte
3

Fontes de console e fontes X são duas coisas separadas no linux. Use o comando setfontpara alterar sua fonte e showconsolefontver como ela se parece. Cada distribuição tem sua própria maneira de definir a fonte padrão do console. Leia a setfontpágina do manual para o local das fontes do console. Para o meu sistema Fedora 14, é / lib / kbd / consolefonts /. As fontes do console são um formato de arquivo que define as fontes do console EGA / VGA.

As fontes X são um formato diferente das fontes do console. Eles geralmente são manipulados por definições na sua configuração do X (com FontPath na seção Arquivos) ou através de um servidor de fontes (xfs), que também é definido na seção Arquivos com o FontPath. Você também pode adicionar FontPaths executando xset +fp path. Meu sistema possui todas as fontes X em / usr / share / X11 / fonts.

jsbillings
fonte
Então, isso significa que todos os programas GUI executados no X usarão as fontes X?
hpy
1
@penyuan: Não necessariamente, mas para a maioria dos casos, sim. Muitos programas GUI usam bibliotecas de nível superior (como GTK ou Qt) que gerenciam as fontes para você.
Jsbillings
Observe que os documentos (por exemplo, (La) TeX) usam ainda outro conjunto de fontes.
vonbrand