¿Cómo gestiona Linux las fuentes?

11

Cuando usaba Windows (¡hace mucho, mucho tiempo!) Y Mac OS X, siempre había un "repositorio" central de fuentes compartidas y accedidas por el SO y todos los programas (la carpeta de fuentes en Windows y el Libro de fuentes en Mac OS X).

¿Cómo se gestionan las fuentes en Linux? ¿Existe también una tienda central para las fuentes que todos los programas (el shell sin X, con X, gestores de ventanas, otro software GUI) pueden usar? ¿O las fuentes se administran por separado? ¿Qué puedo hacer para administrar de manera eficiente y fácil mis fuentes en Linux?

hpy
fuente

Respuestas:

13

Hay dos mecanismos para las fuentes en X land: del lado del servidor y del lado del cliente.

La forma tradicional de renderizar fuentes es que el cliente le diga al servidor "renderizar fooen la posición (x, y) en la fuente F" (donde una especificación de fuente incluye una cara, tamaño, codificación y otros atributos). El servidor X en sí o un programa especializado llamado servidor de fuentes abre el archivo de fuentes para crear la descripción de cada glifo. Las fuentes pueden ser de mapa de bits o de vector, pero las fuentes de vector se convierten en mapas de bits antes de renderizar.

La mayoría de los programas modernos utilizan la representación de fuentes del lado del cliente, a menudo a través de xft y fontconfig . Se necesitaba un nuevo mecanismo porque la representación de la fuente del lado del servidor no era compatible con el suavizado.

Fuera de X (es decir, en una consola VGA), hay fuentes VGA, que son fuentes de mapa de bits de tamaños específicos. Pero en comparación con X11, nadie usa la consola VGA, por lo que no se gasta mucho esfuerzo en ellos.

En la práctica, querrás configurar las fuentes de dos maneras:

  • Para programas de estilo antiguo: los directorios de fuentes se enumeran mediante FontPathdirectivas xorg.confy xset fpel usuario que ejecuta X puede manipularlos con comandos. Si instala nuevas fuentes, es posible que deba ejecutarlas mkfontdir.
  • Para los programas de estilo más reciente, incluyendo todos los programas GTK (Gnome, etc.) y Qt (KDE, etc.): fuentes están en los directorios indicados por <dir>directivas /etc/fonts/fonts.conf, ~/.fonts.confy algunos otros lugares. Consulte la documentación de fontconfig para obtener más información. Si instala nuevas fuentes, es posible que deba ejecutar fc-cache.
Gilles 'SO- deja de ser malvado'
fuente
3

Las fuentes de consola y las fuentes X son dos cosas separadas en Linux. Use el comando setfontpara cambiar su fuente y showconsolefontver cómo se ve. Cada distribución tiene su propia forma de configurar la fuente de consola predeterminada. Lea la setfontpágina de manual para la ubicación de las fuentes de la consola. Para mi sistema Fedora 14, es / lib / kbd / consolefonts /. Las fuentes de consola son un formato de archivo que define las fuentes de consola EGA / VGA.

Las fuentes X tienen un formato diferente que las fuentes de consola. Por lo general, se manejan mediante definiciones en su configuración X (con FontPath en la sección de Archivos), o mediante un servidor de Fuentes (xfs), que también se configura en la sección de Archivos con FontPath. También puede agregar FontPaths ejecutando xset +fp path. Mi sistema tiene todas sus fuentes X en / usr / share / X11 / fonts.

jsbillings
fuente
Entonces, ¿eso significa que todos los programas GUI que se ejecutan en X usarán las fuentes X?
hpy
1
@penyuan: No necesariamente, pero para la mayoría de los casos, sí. Muchos programas GUI usan bibliotecas de nivel superior (como GTK o Qt) que administran las fuentes por usted.
jsbillings
Tenga en cuenta que los documentos (p. Ej. (La) TeX) utilizan otro conjunto de fuentes.
vonbrand