Algo que me quedaba pendiente luego de instalar FreeBSD 10.1 con KDE en mi workstation era mejorar el renderizado de fuentes.



Al finalizar la instalación por defecto, las fuentes lucían realmente muy bien para la mayoría de las aplicaciones, excepto para muchos sitios Web en Firefox (clic para agrandar la imagen):

Para resolver este asunto tuve que recurrir una vez más al magnífico Handbook. En el capítulo 6.6. Using Fonts in Xorg explica claramente cómo instalar fuentes adicionales.

Para mejorar el renderizado de fuentes en sitios Web se requiere instalar las fuentes TrueType de Microsoft:

# portmaster x11-fonts/webfonts

Este paquete instala las fuentes "Times New Roman", "Courier New", "Georgia", "Trebuchet MS", "Comic Sans MS", "Arial", "Arial Black", "Verdana", "Andale Mono" e "Impact". Es indispensable porque muchísimos sitios Web utilizan fuentes como "Arial", "Georgia" y "Verdana", son fuentes muy comunes. Por ejemplo GMail utiliza "Arial" (estúpido Google usando fuentes de Microsoft). Por lo tanto si quieren que GMail luzca bien, no queda otra que instalar el paquete x11-webfonts. Para más información: less /usr/ports/x11-fonts/webfonts/pkg-descr.

Adicionalmente, y de manera opcional, es posible instalar el port x11-fonts/urwfonts, el cual instala versiones de alta calidad de las fuentes "Times Roman", "Helvetica", "Palatino" y otras:

# portmaster x11-fonts/urwfonts

Para que las fuentes provistas por los ports x11-fonts/webfonts y x11-fonts/urwfonts sean reconocidas por X, es necesario agregar la ruta en la configuración del servidor:

# nano /etc/X11/xorg.conf

Agregar dentro de la sección "Files":

        FontPath     "/usr/local/lib/X11/fonts/webfonts"
        FontPath     "/usr/local/lib/X11/fonts/URW"

Además, como se trata de fuentes TrueType, es necesario cargar el módulo "freetype". Agregar la siguiente línea dentro de la sección "Module":

        Load  "freetype"

Reiniciar X.

A continuación, si no se han instalado las fuentes LIBERATION, se recomienda instalarlas:

# portmaster x11-fonts/liberation-fonts-ttf

Este paquete provee las fuentes "Sans" (reemplazo para "Arial", "Albany", "Helvetica", "Nimbus Sans L", y "Bitstream Vera Sans"), "Serif" (reemplazo para "Times New Roman", "Thorndale", "Nimbus Roman", y "Bitstream Vera Serif") y "Mono" (reemplazo para "Courier New", "Cumberland", "Courier", "Nimbus Mono L", y "Bitstream Vera Sans Mono").

Configuración de antialias

Desde la aplicación "System Settings" de KDE (systemsettings) es posible habilitar el antialias de fuentes:

Configurar "anti-aliasing" en "Enabled". Si se está utilizando un monitor LCD, es posible habilitar el renderizado a nivel subpixel y jugar con las diferentes alternativas (RGB, VRGB, BGR, VBGR).

Adicionalmente, es posible optimizar "freetype2" para utilizar con monitores LCD. Reconfigurar el port print/freetype2:

# portmaster --force-config print/freetype2

Y habilitar la opción "LCD_FILTERING".

Pero si utilizan un monitor LED, deshabilitar esta opción porque los resultados son desastrosos (los monitores LED utilizan una tecnología diferente al cristal líquido, LCD):

Pueden hacer la prueba y notar como se ven horribles las fuentes al habilitar esta opción en un monitor LED.

Sustitución de fuentes

Algunas fuentes como "Helvetica" tienen problemas con el antialias, y otras como "Tahoma" y "Lucida" no se instalan porque requieren una licencia. Para tales casos es posible definir un reemplazo creando un archivo de configuración de fuentes ~/.fonts.conf:

emi@hal9000:~ % nano .fonts.conf 
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
 <dir>~/.fonts</dir>
 <match target="font">
  <edit mode="assign" name="rgba">
   <const>none</const>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="hinting">
   <bool>true</bool>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="hintstyle">
   <const>hintmedium</const>
  </edit>
 </match>
 <match target="pattern" name="family">
  <test name="family" qual="any">
   <string>Helvetica</string>
  </test>
  <edit mode="assign" name="family">
   <string>sans-serif</string>
  </edit>
 </match>
 <match target="pattern" name="family">
  <test name="family" qual="any">
   <string>Tahoma</string>
  </test>
  <edit mode="assign" name="family">
   <string>sans-serif</string>
  </edit>
 </match>
 <match target="pattern" name="family">
  <test name="family" qual="any">
   <string>Lucida</string>
  </test>
  <edit mode="assign" name="family">
   <string>sans-serif</string>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="antialias">
   <bool>true</bool>
  </edit>
 </match>
</fontconfig

Este archivo es creado y modificado cuando se cambia la configuración de antialias desde la herramienta "Fonts" de "System Settings" de KDE. Cada vez que se realicen modificaciones sobre este archivo es necesario reconstruir la caché de fuentes ejecutando:

root@hal9000:~ # fc-cache -f

Con la configuración anterior se realizan las siguientes sustituciones:

"Helvetica" por "sans-serif":

 <match target="pattern" name="family">
  <test name="family" qual="any">
   <string>Helvetica</string>
  </test>
  <edit mode="assign" name="family">
   <string>sans-serif</string>
  </edit>
 </match>

"Tahoma" por "sans-serif":

 <match target="pattern" name="family">
  <test name="family" qual="any">
   <string>Tahoma</string>
  </test>
  <edit mode="assign" name="family">
   <string>sans-serif</string>
  </edit>
 </match>

"Lucida" por "sans-serif":

 <match target="pattern" name="family">
  <test name="family" qual="any">
   <string>Lucida</string>
  </test>
  <edit mode="assign" name="family">
   <string>sans-serif</string>
  </edit>
 </match>

Es posible utilizar cualquier otra en lugar de "sans-serif".

Resultado

Luego de aplicar estas configuraciones, el renderizado de fuentes ha mejorado notablemente, sobre todo en sitios Web (clic para agrandar):

Principalmente GMail, el cual se veía espantoso por utilizar "Arial", la cual no se incluye en la instalación por defecto de X11.

Referencias

Using Fonts in Xorg


Tal vez pueda interesarte


Compartí este artículo