5.5. Uso de tipos en X11

Escrito por Murray Stokely.

5.5.1. Fonts Type1

Los tipos que vienen por defecto con X11 no son ideales para las aplicaciones típicas. Los tipos grandes para presentaciones aparecen dentadas y con un aspecto poco profesional y los tipos pequeños en Netscape® son prácticamente ilegibles. Sin embargo hay varios tipos de letra libres Type1 de alta calidad (PostScript®) que se pueden usar con X11. Por ejemplo los tipos URW (x11-fonts/urwfonts) incluyen una versión de alta calidad de los tipos estándar Type 1 (Times Roman®, (Helvetica®, (Palatino®, y muchas otras). Las Freefonts (x11-fonts/freefonts ) incluyen muchas más pero la mayoría están pensadas para usarse con software gráfico como el Gimp y no son lo bastante completos para usarse como tipos de pantalla. Además X11 se puede configurar para usar tipos TrueType® con un esfuerzo mínimo. Para más detalles sobre esto consulte la página del manual X(7) o la sección de tipos TrueType.

Para instalar los tipos Type1 desde los ports ejecute las siguientes órdenes:

# cd /usr/ports/x11-fonts/urwfonts
# make install clean

Proceda del mismo modo con las FreeFonts o cualesquiera otras. Para que el servidor X las detecte añada la siguiente línea al fichero de configuración de las X en /etc/X11/ (xorg.conf para Xorg y XF86Config para XFree86):

FontPath "/usr/X11R6/lib/X11/fonts/URW/"

o bien desde una emulación de terminal durante sesión X:

% xset fp+ /usr/X11R6/lib/X11/fonts/URW
% xset fp rehash

Esto funcionará hasta que la sesión X se cierre a menos que lo añada a su fichero de inicio (~/.xinitrc para una sesión startx normal o ~/.xsession si hace login desde un gestor gráfico como XDM). Una tercera forma sería usando el nuevo fichero /usr/X11R6/etc/fonts/local.conf: mire la sección de anti-aliasing.

5.5.2. Fonts TrueType®

Tanto XFree86  4.X como Xorg se diseñaron para soportar tipos TrueType. Hay dos módulos diferentes que pueden habilitar esta opción. El módulo freetype se usa en en este ejemplo porque es más consistente con el resto de “back-ends” de representación. Para habilitar el módulo freetype solo añada la siguiente línea a la sección "Module" del fichero /etc/X11/xorg.conf o /etc/X11/XF86Config.

Load "freetype"

Para XFree86 3.3.X hace falta un servidor de tipos TrueType separado. Normalmente se usa Xfstt para este propósito. Para instalar Xfstt, simplemente instale el port x11-server/Xfstt.

Ahora haga un directorio para los tipos TrueType (por ejemplo /usr/X11R6/lib/X11/fonts/TrueType) y copie todos los tipos TrueType en este directorio. Recuerde que los tipos TrueType no se pueden coger directamente de un Macintosh®; tienen que estar en formato UNIX®/MS-DOS®/Windows® para usarlas con X11. Una vez que los ficheros se hayan copiado en este directorio use ttmkfdir para crear un fichero fonts.dir, para que el representador de tipos de X sepa que se han instalado estos ficheros nuevos. ttmkfdir esta disponible desde los ports de FreeBSD como x11-fonts/ttmkfdir.

# cd /usr/X11R6/lib/X11/fonts/TrueType
# ttmkfdir > fonts.dir

Ahora añada el directorio TrueType a la ruta de tipos. Esto es igual que lo anteriormente descrito sobre los tipos Type1. ejecute:

% xset fp+ /usr/X11R6/lib/X11/fonts/TrueType
% xset fp rehash

o añada una línea FontPath al fichero xorg.conf (o XF86Config).

Esto es todo. Ahora Netscape, Gimp, StarOffice y el resto de aplicaciones X debieran reconocer los tipos TrueType instalados. Los tipos muy pequeños (como el texto en una pantalla con alta resolución viendo una página web) y los tipos muy grandes (Dentro de StarOffice) se verán muchísimo mejor ahora.

5.5.3. Fonts Anti-Aliased

Actualizado por Joe Marcus Clarke.

Los “tipos anti-aliasing” han estado en X11 desde XFree86 4.0.2. Aunque la configuración de los tipos era incómoda antes de XFree86 4.3.0. A partir de XFree86 4.3.0 todos los tipos de X11 que se encuentren en /usr/X11R6/lib/X11/fonts/ y ~/.fonts/ están disponibles automáticamente para aplicaciones que soporten Xft. No todas las aplicaciones soportan Xft pero muchas ya tienen soporte Xft. Ejemplos de aplicaciones que lo soportan son Qt 2.3 o superior (el “toolkit” del escritorio KDE), GTK+ 2.0 o superior (el “toolkit” del escritorio GNOME ) y Mozilla 1.2 o superior.

Para controlar qué tipos son “anti-aliasing” o configurar las propiedades “anti-aliasing” crée (o edite, si ya existe) el fichero /usr/X11R6/etc/fonts/local.conf. Se pueden modificar diversas opciones avanzadas del sistema de tipos Xft usando este fichero; esta sección describe solo algunas posibilidades simples. Para más detalles consulte fonts-conf(5).

Este fichero tiene que estar en formato XML. Preste especial atención a las mayúsculas y minúsculas y asegúrese de que las etiquetas están cerradas correctamente. El fichero empieza con la típica cabecera XML seguida de una definición DOCTYPE y después la etiqueta <fontconfig>:

        <?xml version="1.0"?>
        <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
        <fontconfig>
     

Como se ha dicho antes todos los tipos en /usr/X11R6/lib/X11/fonts/ y en ~/.fonts/ están ya disponibles para las aplicaciones que soporten Xft. Si usted desea añadir otro directorio además de estos dos árboles de directorios añada una línea similar a esta en el fichero /usr/X11R6/etc/fonts/local.conf:

<dir>/path/to/my/fonts</dir>

Después de añadir los nuevos tipos, y en especial los nuevos directorios de tipos, debe ejecutar la siguiente orden para reconstruir la caché de tipos:

# fc-cache -f

Los “tipos anti-aliasing” hacen los bordes ligeramente borrosos, lo que hace que el texto muy pequeño sea más legible y elimina los escalones del texto grande pero puede causar fatiga visual aplicada al texto normal. Para excluir los tipos de menos de 14 puntos del “anti-aliasing” incluya las siguientes líneas:

        <match target="font">
            <test name="size" compare="less">
                <double>14</double>
            </test>
            <edit name="antialias" mode="assign">
                <bool>false</bool>
            </edit>
        </match>
        <match target="font">
            <test name="pixelsize" compare="less" qual="any">
                <double>14</double>
            </test>
            <edit mode="assign" name="antialias">
                <bool>false</bool>
            </edit>
        </match>

El espacio entre algunos tipos también podría ser inapropiado con “anti-aliasing”. Esto parece un problema con KDE en particular. Una posible solución para esto es forzando que el espacio entre los tipos sea 100. Añada las siguientes líneas:

       <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>fixed</string>
             </test>
             <edit name="family" mode="assign">
                 <string>mono</string>
             </edit>
          </match>
          <match target="pattern" name="family">
              <test qual="any" name="family">
                  <string>console</string>
              </test>
              <edit name="family" mode="assign">
                  <string>mono</string>
              </edit>
          </match>

(Esto selecciona los otros nombres comunes para “tipos fixed” como "mono") y después añada:

         <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>mono</string>
             </test>
             <edit name="spacing" mode="assign">
                 <int>100</int>
             </edit>
         </match>     

Algunos tipos como Helvetica podrían tener problemas con “anti-aliasing”. Normalmente esto se manifiesta en tipos que parecen cortados verticalmente por la mitad. En el peor de los casos podría causar que el funcionamiento de aplicaciones como Mozilla se interrumpiese. Para evitar esto considere añadir lo siguiente a local.conf:

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

Una vez que haya terminado de editar local.conf asegúrese de que el fichero termina con la etiqueta </fontconfig>. No hacer esto causará que sus cambios sean ignorados.

Los tipos por defecto que vienen con X11 no son los ideales para “anti-aliasing”. Puede encontrar otros mucho mejores en el port x11-fonts/bitstream-vera. Este port instalará el fichero /usr/X11R6/etc/fonts/local.conf si aun no se ha creado. Si el fichero existe el port creara el fichero /usr/X11R6/etc/fonts/local.conf-vera. Combine el contenido de este fichero con /usr/X11R6/etc/fonts/local.conf y los tipos Bitstream reemplazarán automáticamente los tipos por defecto por X11 Serif, Sans Serif y Monospaced.

Por si esto fuera poco los usuarios pueden añadir sus propios ajustes mediante sus ficheros personales .fonts.conf. Los usuarios que deseen hacerlo deberán crear un fichero ~/.fonts.conf. Este fichero tiene que estar también en formato XML.

Un último punto: con una pantalla LCD sería deseable un muestreo de subpixel. Esto básicamente trata los componentes (separados horizontalmente) rojo, verde y azul para mejorar la resolución horizontal; los resultados pueden ser impresionantes. Para habilitar esto añada la siguiente línea al fichero local.conf:

        <match target="font">
            <test qual="all" name="rgba">
                <const>unknown</const>
            </test>
            <edit name="rgba" mode="assign">
                <const>rgb</const>
            </edit>
        </match>
     

Nota: Dependiendo del tipo de pantalla rgb podría ser bgr o vrgb o vbgr: experimente y elija cual funciona mejor.

Una vez concluido el proceso “anti-aliasing” se debería activar la próxima vez que arranque X, aunque los programas necesitan saber como utilizarlo. En este momento el “toolkit” Qt sabe, así que KDE entero puede usar “tipos anti-aliasing” (consulte Sección 5.7.3.2 en KDE para más detalle). GTK+ y GNOME también pueden usar “tipos anti-aliasing” mediante “Font” (consulte Sección 5.7.1.3 para más detalle). Por defecto Mozilla 1.2 o superior usará automáticamente “tipos anti-aliasing”. Para deshabilitarlos recompile Mozilla usando el parámetro -DWITHOUT_XFT.

Éste y otros documentos pueden obtenerse en ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para preguntas acerca de FreeBSD, leer la documentación antes de contactar con la lista <questions@FreeBSD.org>.
Para preguntas acerca de esta documentación, e-mail a <doc@FreeBSD.org>.