Tenía una necesidad simple: instalar un archivo .ttf de un font con un montón de símbolos fonéticos y una gran cobertura de Unicode. Cómo lo hago? Idealmente, se debería hacer como en Windows: basta con poner el archivo .ttf en un directorio especial y sin hacer nada el font está disponible en todos lados.
Pero ese objetivo no parece estar cerca, dada la ensalada que el manejo de fonts en un sistema GNU/Linux, donde no hay una registro central de fonts, conviven muchísimos formatos diferentes, hay varias implementaciones de renderers, puede o no haber servidores, y cada aplicación de de todo eso sólo vé lo que le guste ver, con lo cual no hay una manera universalmente eficaz de instalar un font y que funcione... Buscando con Google aparecen miles de procedimientos diferentes para instalar un font, cada uno con diferente alcance: usando las herramientas provista por ciertos entornos de escritorio (y el font sólo es visible dentro de X, o peor, sólo en los programas del entorno de escritorio), toqueteando la configuración de X de formas ad-hoc, creando directorios y configuraciones locales, con un montón de pasos manuales para generar hints y métricas y no sé cuánta otra mierda a partir de la información embebida dentro de los fonts, de manera que no sé por qué me tienen que hacer a mí extraerla. En fin, no encontraba ninguna explicación de un método que fuese completamente abarcativo, autocontenido, homogéneo, automatizado, estandarizado y fácil de usar, hasta que por que por millonésima vez en la vida decidí darle otra mirada a defoma a ver si lograba entender cómo usarlo... Y lo logré! El manejo de fuentes en Debian con defoma tiene los atributos característicos de tantos otros sistemas hechos por Debian: sobrediseño, modularidad esquizofrénica y flexibilidad barroca, todo lo cual se combina para ofrecer justo lo que andaba buscando: algo abarcativo, estandarizado, homogéneo, elegante, ya previsto en la distribución, etc.: algo The Debian Way! Con defoma, las aplicaciones que pueden utilizar fonts (X, Latex, etc.) tienen que ofrecer un script/módulo a ser invocado por defoma en los momentos adecuados, y ese script tiene que implementar la realización de una serie de operaciones abstractas solicitadas por defoma, como hacer disponible o dejar de hacer disponible un font. Hay otro conjunto de módulos para acceder a cada formato de font (type1, truetype, etc.) y un montón de otras cosas, todas las cuales se manejan con 2 o 3 invocaciones desde la línea de comandos. He aquí el procedimiento que seguí para instalar MS Arial Unicode: 1) Copio el archivo al directorio previsto para fonts localmente instalados: /usr/local/share/fonts 2) Extraigo del archivo todos los datos que defoma va a querer saber y los guardo en un archivo que luego le puedo pasar a defoma así no me pregunta pelotudeces: # cd /usr/local/share/fonts # defoma-hints truetype *.ttf >/tmp/hints Esto se puede hacer como ven para procesar varios fonts en lote. 3) "Registro" el font con defoma, o sea: lo instalo, porque defoma luego va a disparar los scripts esos que mencioné al principio para hacer disponible el font en cada aplicación que se haya registrado con defoma como capaz de manejar fonts en el formato que tenga el font que se esté instalando: # defoma-font register-all /tmp/hints Acá estoy pasando los datos de potencialmente varios fonts (por cómo creé el archivo) a defoma, pero también hay comandos para registrar 1 solo font por ejemplo. Y listo, eso es todo, el font queda andando. Específicamente en el caso de X esto ocurre porque en /etc/X11/xorg.conf ya hay puesta una línea para que el servidor X tome fonts desde un cierto directorio manejado por defoma. Y algún día entenderé la relación entre fontmanager, defoma y el resto de las cosas... -- Herr Groucho ID Jabber: [EMAIL PROTECTED] Señal distintiva: LU5MJR - 144,550 MHz FM. Clave pública GPG: hkp://pks.lugmen.org.ar Fingerprint GPG: B7BD 0FC7 D9A2 66F3 4EFC 45EE 7DE2 3932 597B 6354
