Rasterización de fuentes


La rasterización de fuentes es el proceso de convertir texto de una descripción vectorial (como se encuentra en fuentes escalables como las fuentes TrueType ) a una descripción rasterizada o de mapa de bits . Esto a menudo implica algo de suavizado en el texto de la pantalla para que sea más fluido y fácil de leer. También puede implicar sugerencias : información incrustada en los datos de la fuente que optimiza los detalles de representación para tamaños de caracteres particulares.

La forma más simple de rasterización es el dibujo de líneas simples sin suavizado de ningún tipo. En la terminología de Microsoft, esto se denomina representación de dos niveles (y más popularmente "blanco y negro") porque no se utilizan sombras intermedias (de gris) para dibujar los glifos. (De hecho, se pueden usar dos colores cualesquiera como primer plano y fondo). [1] Esta forma de renderizado también se llama alias o "irregular". [2] Este es el método de renderizado más rápido en el sentido de que requiere el menor esfuerzo computacional. Sin embargo, tiene la desventaja de que los glifos renderizados pueden perder definición y volverse difíciles de reconocer en tamaños pequeños. Por lo tanto, muchos archivos de datos de fuentes (como TrueType) contienen sugerenciasque ayudan al rasterizador a decidir dónde renderizar píxeles para áreas particularmente problemáticas en los glifos, o conjuntos de mapas de bits ajustados a mano para usar en tamaños de píxeles específicos. [1] Como ejemplo prototípico, todas las versiones de Microsoft Windows anteriores a Windows 95 (por ejemplo, Windows 3.1 ) solo proporcionaban este tipo de rasterizador integrado. [2]

Un enfoque más complicado es utilizar técnicas estándar de suavizado de gráficos por computadora. Se puede pensar que esto determina, para cada píxel en los bordes del personaje, cuánto de ese píxel ocupa el personaje y dibujar ese píxel con ese grado de opacidad. Por ejemplo, al dibujar una letra negra (000000) sobre un fondo blanco (FFFFFF), si idealmente un píxel debería estar medio relleno (tal vez con una línea diagonal de esquina a esquina), se dibujará 50% gris (BCBCBC). La aplicación demasiado simple de este procedimiento puede producir glifos borrosos. Por ejemplo, si la letra incluye una línea vertical que debería tener un píxel de ancho pero que cae exactamente entre dos píxeles, aparece en la pantalla como una línea gris de dos píxeles de ancho. Esta borrosidad cambia la claridad por la precisión. Sin embargo, los sistemas modernos a menudo obligan a las líneas a caer dentro de las coordenadas de píxeles integrales,lo que hace que los glifos se vean más nítidos, pero también hace que las líneas sean un poco más anchas o más delgadas de lo que se verían en una hoja de papel impresa.

La mayoría de las pantallas de las computadoras tienen píxeles compuestos por varios subpíxeles (generalmente uno para el rojo, el verde y el azul, que se combinan para producir la gama completa de colores). En algunos casos, particularmente con pantallas de panel plano, es posible aprovechar esto renderizando a una resolución de subpíxeles en lugar de usar píxeles completos, lo que puede aumentar la resolución efectiva de la pantalla. Esto se conoce generalmente como representación de subpíxeles . Una implementación propietaria de la representación de subpíxeles es ClearType de Microsoft .

En los sistemas operativos modernos, la rasterización la proporciona normalmente una biblioteca compartida común a muchas aplicaciones. Dicha biblioteca compartida puede estar integrada en el sistema operativo o en el entorno de escritorio , o puede agregarse más tarde. En principio, cada aplicación puede usar una biblioteca de rasterización de fuentes diferente, pero en la práctica, la mayoría de los sistemas intentan estandarizar en una sola biblioteca.

Microsoft Windows ha admitido la representación de subpíxeles desde Windows XP . Por otro lado, el rasterizador estándar de Microsoft sin ClearType es un ejemplo de uno que prioriza la intención de claridad del diseñador de tipos ; Al forzar el texto en posiciones de coordenadas integrales, siguiendo la intención de insinuación del diseñador tipográfico, e incluso sin suavizar ciertas fuentes en ciertos tamaños, siguiendo la intención del diseñador tipográfico de la tabla de respiración, se vuelve más fácil de leer en la pantalla, pero puede parecer algo diferente cuando se imprime. Esto ha cambiado con el envío de Direct2D / DirectWrite en Windows 7 y la actualización de la plataforma Windows Vista.


Especialmente para tamaños de fuente pequeños, la representación de fuentes vectorizadas en la vista "miniatura" puede variar significativamente con el tamaño de la miniatura. Aquí, un pequeño cambio en el upright=multiplicador de 1.70a 1.75da como resultado anomalías de representación significativas y mutuamente distintas, posiblemente debido a errores de redondeo que resultan del uso de tamaños de fuente enteros.
Rasterización con anti-aliasing sin insinuar
Rasterización con anti-aliasing con insinuación. Aquí los píxeles se ven obligados a caer en coordenadas de píxeles integrales siempre que sea posible
Rasterización con sugerencia y representación de subpíxeles para una pantalla de panel plano RGB
Detalle de la representación de subpíxeles, que muestra las posiciones de los píxeles de color individuales que componen la fuente blanca