Instalar tipos de letra adicionales en SUSE LINUX resulta muy sencillo.
Basta con copiar los tipos de letra en un directorio especificado en la ruta
de tipos de letra de X11 (véase la Sección 11.3.2, “X11 core fonts”). Con el fin
de que los tipos de letra también puedan utilizarse con el nuevo sistema de
representación de tipos de letra xft, este
directorio ha de ser además un subdirectorio de los directorios configurados
en /etc/fonts/fonts.conf (véase la Sección 11.3.1, “Xft”).
Puede copiar los archivos de tipo de letra como usuario root en un directorio adecuado como por
ejemplo /usr/X11R6/lib/X11/fonts/truetype, o bien
utilizar el instalador de tipos de letra de KDE en el centro de control
de KDE. El resultado es el mismo.
En lugar de copiar realmente los tipos de letra, también es posible crear
enlaces simbólicos para, por ejemplo, poder utilizar tipos de letra con
licencia disponibles en una partición Windows montada. Después de crear el
enlace ha de ejecutar SuSEconfig --module
fonts.
El comando SuSEconfig --module fonts
activa el script /usr/sbin/fonts-config, el cual se
ocupa de configurar los tipos de letra. Puede obtener información detallada
sobre el funcionamiento de este script en la página del manual
correspondiente (man fonts-config).
Independientemente del tipo de letra que quiera instalarse, el procedimiento siempre es el mismo. Ya se trate de tipos de letra TrueType/OpenType, de tipo 1 (PostScript) o mapas de bits, todos pueden instalarse en cualquier directorio. Únicamente los tipos de letra CID-keyed suponen una excepción, ver la Sección 11.3.3, “Tipos de letra CID-keyed”.
X.Org contiene dos sistemas de tipos de letra completamente distintos: el antiguo sistema X11 core font y el de nueva creación Xft/fontconfig. A continuación se describirán brevemente ambos sistemas.
Ya durante la planificación de Xft se prestó una especial atención al soporte de tipos de letra escalables (incluyendo antialiasing). Al contrario de lo que sucede con el sistema X11 core font, cuando se emplea Xft, los tipos de letra son representados por el programa que los utiliza y no por el servidor X. De este modo, el programa en cuestión accede directamente a los archivos de los tipos de letra y obtiene un control absoluto sobre todos los detalles, como por ejemplo la representación de los glifos. Por una parte, sólo así es posible lograr una representación correcta del texto en algunos idiomas. Por otra, el acceso directo a los archivos de tipo de letra resulta muy útil para insertar (embed) tipos de letra para su impresión y lograr así que el documento impreso reproduzca realmente la salida en pantalla.
En SUSE LINUX, los entornos de escritorio KDE y Gnome así como Mozilla y otras muchas aplicaciones utilizan por defecto el sistema Xft. Así pues, Xft ya es utilizado por un número considerablemente mayor de aplicaciones que el antiguo sistema X11 core font.
Xft se sirve de la librería Fontconfig para
encontrar los tipos de letra y especificar de qué forma van a ser
representados. El comportamiento de fontconfig
se determina mediante un archivo de configuración válido en todo el
sistema, /etc/fonts/fonts.conf, y otro específico para
el usuario: ~/.fonts.conf. Ambos archivos de
configuración de fontconfig deben empezar por
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
y terminar en
</fontconfig>
Para añadir nuevos directorios en los que deban buscarse tipos de letra, puede insertar líneas como:
<dir>/usr/local/share/fonts/</dir>
No obstante, esto no suele ser necesario ya que el directorio de usuario
~/.fonts ya está incluido por
defecto en /etc/fonts/fonts.conf. Así pues, si un
usuario desea instalar tipos de letra adicionales para su uso personal,
basta con que las copie en ~/.fonts.
También puede introducir reglas para definir el aspecto de los tipos de letra, por ejemplo:
<match target="font"> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>
para desactivar el antialiasing para todos los tipos de letra, o bien:
<match target="font"> <test name="family"> <string>Luxi Mono</string> <string>Luxi Sans</string> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>
para desactivarlo sólo para ciertos tipos de letra.
La mayoría de aplicaciones utilizan por defecto los nombres de tipo de
letra sans-serif (o su equivalente
sans), serif o
monospace. Aquí no se trata de nombres de tipos de letra
realmente existentes sino de nombres alias que se asignan a un tipo de
letra en función del idioma seleccionado.
Todos los usuarios pueden añadir fácilmente reglas a su archivo
~/.fonts.conf con el fin de que estos nombres alias
sean resueltos con determinados tipos de letra:
<alias> <family>sans-serif</family> <prefer> <family>FreeSans</family> </prefer> </alias> <alias> <family>serif</family> <prefer> <family>FreeSerif</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>FreeMono</family> </prefer> </alias>
Debido a que prácticamente todas las aplicaciones utilizan estos nombres alias por defecto, las reglas son válidas para casi todo el sistema. De esta forma y con muy poco esfuerzo, puede utilizar sus tipos de letra preferidos casi siempre sin tener que configurar la opción de tipos de letra en cada programa por separado.
El comando fc-list le permite averiguar qué tipos
de letra están instalados y disponibles. Así por ejemplo, el comando
fc-list "" proporciona una lista de
todos los tipos de letra. Si desea averiguar qué tipos de letra escalables
(:outline=true) con todos los glifos necesarios para el
hebreo (:lang=he) están disponibles así como su denominación
(family), estilo (style), su peso o
grosor (weight) y el nombre del archivo que contiene el tipo
de letra, puede utilizar por ejemplo el siguiente comando:
fc-list ":lang=he:outline=true" family style weight file
La salida de este comando podría ser la siguiente:
/usr/X11R6/lib/X11/fonts/truetype/FreeSansBold.ttf: FreeSans:style=Bold:weight=200
/usr/X11R6/lib/X11/fonts/truetype/FreeMonoBoldOblique.ttf: FreeMono:style=BoldOblique:weight=200
/usr/X11R6/lib/X11/fonts/truetype/FreeSerif.ttf: FreeSerif:style=Medium:weight=80
/usr/X11R6/lib/X11/fonts/truetype/FreeSerifBoldItalic.ttf: FreeSerif:style=BoldItalic:weight=200
/usr/X11R6/lib/X11/fonts/truetype/FreeSansOblique.ttf: FreeSans:style=Oblique:weight=80
/usr/X11R6/lib/X11/fonts/truetype/FreeSerifItalic.ttf: FreeSerif:style=Italic:weight=80
/usr/X11R6/lib/X11/fonts/truetype/FreeMonoOblique.ttf: FreeMono:style=Oblique:weight=80
/usr/X11R6/lib/X11/fonts/truetype/FreeMono.ttf: FreeMono:style=Medium:weight=80
/usr/X11R6/lib/X11/fonts/truetype/FreeSans.ttf: FreeSans:style=Medium:weight=80
/usr/X11R6/lib/X11/fonts/truetype/FreeSerifBold.ttf: FreeSerif:style=Bold:weight=200
/usr/X11R6/lib/X11/fonts/truetype/FreeSansBoldOblique.ttf: FreeSans:style=BoldOblique:weight=200
/usr/X11R6/lib/X11/fonts/truetype/FreeMonoBold.ttf: FreeMono:style=Bold:weight=200
Los parámetros más importantes que pueden ser consultados con el comando fc-list son los siguientes:
Tabla 11.3. Parámetros de fc-list
Parámetro | Significado y valor posible |
|---|---|
| Nombre de la familia de tipo de letra, por ejemplo
|
| Fabricante del tipo de letra, por ejemplo |
| Estilo del tipo de letra, por ejemplo |
| Idioma(s) que soporta el tipo de letra. Por ejemplo
|
| El grosor, por ejemplo |
| El grado de inclinación, normalmente
|
| Nombre del archivo en el que se encuentra el tipo de letra. |
|
|
|
|
|
|
| Tamaño del tipo de letra en píxeles. En el contexto de fc-list sólo tiene importancia para los mapas de bits. |
Hoy en día, el sistema X11 core font no sólo soporta mapas de bits sino también tipos de letra escalables como las de tipo 1, TrueType/OpenType y CID-keyed. Los tipos de letra Unicode se soportan también desde hace mucho tiempo. Originalmente, el sistema X11 core font fue desarrollado en 1987 para X11R1 con el fin de procesar tipos de letra de mapas de bit monocromos. Incluso hoy puede observarse que todas las extensiones mencionadas en las líneas superiores han sido añadidas posteriormente.
Por ejemplo, los tipos de letra escalables se soportan exclusivamente sin antialiasing y sin representación de subpíxeles, y el proceso de carga de tipos de letra escalables de grandes dimensiones con glifos para muchos idiomas puede resultar muy lento. Asimismo, el uso de tipos de letra Unicode es en ocasiones también muy lento y consume más memoria.
El sistema X11 Core Font presenta muchos inconvenientes. Se puede argumentar que ha caído en desuso y que no tiene sentido continuar ampliándolo. Aunque debe seguir estando presente por razones de compatibilidad con versiones anteriores, se recomienda utilizar en la medida de lo posible el sistema Xft y fontconfig, mucho más moderno.
Como premisa para su funcionamiento, el servidor X debe conocer tanto los
tipos de letras que se encuentran disponibles como su ubicación en el
sistema. De ello se ocupa la variable FontPath, la cual engloba la ruta a todos
los directorios de tipos de letra válidos del sistema. En cada uno de estos
directorios existe un archivo llamado fonts.dir que
contiene una lista de los tipos de letra disponibles en ese directorio. La
variable FontPath, que es generada por el servidor X durante el inicio, busca
un archivo fonts.dir válido en todas las entradas
FontPath del archivo de configuración
/etc/X11/xorg.conf. Dichas entradas se encuentran en la
sección Files. Puede visualizar el valor actual de FontPath
con el comando xset q. xset también le
permite cambiar esta ruta mientras el sistema está en funcionamiento. Puede
añadir una nueva ruta con xset +fp
<ruta> y eliminarla con xset -fp
<ruta>.
Una vez que el servidor X está en funcionamiento, es posible activar tipos
de letra recién instalados en directorios ya integrados por medio del
comando xset fp rehash. Este
comando es ejecutado por
SuSEconfig --module fonts.
Debido a que el comando xset necesita acceder al
servidor X activo, este proceso sólo puede funcionar si
SuSEconfig --module fonts se activa
desde una shell con acceso al servidor X en ejecución. Para ello, el método más
sencillo consiste en registrarse en una consola como root introduciendo el comando
su y la contraseña de root. sux
transmite los permisos de acceso del usuario que ha iniciado el servidor X a la
root shell. Puede utilizar el comando xlsfonts para
comprobar si los tipos de letra han sido instalados correctamente y si están
disponibles por medio del sistema X11 core font. Este comando produce una lista
de todos los tipos de letra disponibles.
SUSE LINUX utiliza por defecto locales UTF-8, por lo que normalmente
será preferible emplear tipos de letra Unicode. Reconocerá a estos en la lista
emitida por xlsfonts porque sus nombres terminan en
iso10646-1. Así pues, para ver una lista de todos los tipos
de letra Unicode disponibles, puede servirse del comando
xlsfonts | grep iso10646-1. La gran
mayoría de los tipos de letra Unicode disponibles en SUSE LINUX incluyen al
menos todos los glifos necesarios para las lenguas europeas para las que
anteriormente se utilizaba la codificación iso-8859-*.
Al contrario de lo que sucede con otros tipos de letra, en el caso de
CID-keyed sí que importa en qué directorio se instala. Este ha de ser
siempre /usr/share/ghostscript/Resource/CIDFont.
Aunque el directorio carezca de importancia para
Xft/fontconfig, Ghostscript y el sistema X11
core font requieren que se trate de este directorio en concreto.
![]() | Sugerencia |
|---|---|
Puede obtener información adicional sobre los tipos de letra en X11 en la URL http://www.xfree86.org/current/fonts.html. | |