
upright=multiplicador 1.70produce 1.75anomalías de representación significativas y distintas entre sí, posiblemente debido a errores de redondeo derivados del uso de tamaños de fuente enteros.La rasterización de fuentes es el proceso de convertir texto de una descripción vectorial (como la que se encuentra en las fuentes escalables, por ejemplo, las fuentes TrueType ) a una descripción de mapa de bits . Esto suele implicar el suavizado del texto en pantalla para que sea más legible y tenga un aspecto más nítido. También puede incluir información integrada en los datos de la fuente que optimiza los detalles de renderizado para tamaños de caracteres específicos.
Tipos de rasterización
La forma más simple de rasterización es el dibujo de líneas simples sin ningún tipo de suavizado. En la terminología de Microsoft, esto se llama renderizado de dos niveles (y más popularmente "blanco y negro") porque no se usan tonos intermedios (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 con aliasing o "dentado". [ 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 sugerencias que ayudan al rasterizador a decidir dónde renderizar los píxeles para áreas particularmente problemáticas en los glifos, o conjuntos de mapas de bits ajustados manualmente 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 complejo consiste en utilizar técnicas estándar de suavizado de bordes (anti-aliasing) propias de los gráficos por computadora. Esto implica determinar, para cada píxel en los bordes del carácter, qué porcentaje de ese píxel ocupa, y dibujarlo con ese grado de opacidad. Por ejemplo, al dibujar una letra negra (000000) sobre un fondo blanco (FFFFFF), si un píxel idealmente debería estar medio relleno (quizás por una línea diagonal de esquina a esquina), se dibuja con un 50 % de gris (BCBCBC). Una 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 pantalla como una línea gris de dos píxeles de ancho. Esta borrosidad sacrifica la claridad en aras de la precisión. Sin embargo, los sistemas modernos suelen forzar que las líneas se encuentren dentro de las coordenadas de píxeles enteros, lo que hace que los glifos se vean más nítidos, pero también que las líneas sean ligeramente más anchas o delgadas de lo que se verían en una hoja de papel impresa.

La mayoría de las pantallas de ordenador tienen píxeles formados por múltiples subpíxeles (normalmente uno para cada color: rojo, verde y azul, que se combinan para producir la gama completa de colores). En algunos casos, sobre todo en las pantallas planas, es posible aprovechar esta característica renderizando a la resolución de los 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 renderizado de subpíxeles . Una implementación propietaria del renderizado de subpíxeles es ClearType de Microsoft .
Sistemas de rasterización utilizados actualmente
En los sistemas operativos modernos, la rasterización se suele proporcionar mediante una biblioteca compartida común a muchas aplicaciones. Esta biblioteca puede estar integrada en el sistema operativo o en el entorno de escritorio , o bien añadirse posteriormente. 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 el uso de una única 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 del diseñador tipográfico de claridad; al forzar el texto a posiciones de coordenadas enteras, siguiendo la intención del diseñador tipográfico de sugerir, e incluso al no suavizar ciertas fuentes en ciertos tamaños, siguiendo la intención del diseñador tipográfico de la tabla de sorpresas, se vuelve más fácil de leer en la pantalla, pero puede verse algo diferente al imprimirse. Esto cambió con Direct2D/DirectWrite incluido en la actualización de plataforma de Windows 7 y Windows Vista, que permite el posicionamiento de texto de subpíxeles a tamaños de 1/16 de píxel. [ 3 ]
Quartz de Mac OS X se distingue por el uso del posicionamiento de subpíxeles; no fuerza los glifos a ubicaciones de píxeles exactas, sino que utiliza varias técnicas de suavizado, [ 4 ] incluyendo la representación de subpíxeles , para posicionar caracteres y líneas de manera que parezcan más alejados de la intención del diseñador tipográfico y más cerca del contorno original. El resultado es que la visualización en pantalla se ve extremadamente similar a la impresión, pero ocasionalmente puede ser difícil de leer en tamaños de fuente pequeños. El renderizador Quartz, desde macOS Mojave, ha eliminado la representación de subpíxeles, basándose únicamente en el suavizado de escala de grises. Este cambio es aceptable para pantallas HiDPI "retina", pero dificulta la lectura del texto en monitores externos. [ 5 ]
La mayoría de los demás sistemas utilizan la biblioteca FreeType , que, según la configuración, puede situarse entre las implementaciones de Microsoft y Apple; admite el suavizado de bordes y el antialiasing, y opcionalmente realiza el renderizado y posicionamiento de subpíxeles. FreeType también ofrece algunas características que no están presentes en ninguna de las dos implementaciones, como el renderizado de subpíxeles con balance de color y la corrección gamma. [ 6 ]
Las aplicaciones también pueden incorporar sus propias soluciones de renderizado de fuentes. Los marcos de gráficos como Skia Graphics Engine (utilizado por Google Chrome ) a veces usan su propio renderizador de fuentes. Los videojuegos y otras aplicaciones 3D también pueden necesitar renderizadores más rápidos basados en GPU, como varios renderizadores basados en SDF y "Slug". [ 7 ]
Referencias
- 1 2 Greg Hitchcock (con introducción de Steven Sinofsky ) " Cambios de ingeniería en ClearType en Windows 7 ", blogs de MSDN, 23 de junio de 2009
- 1 2 Acerca de la representación de texto en Windows Internet Explorer 9
- ↑ Biblioteca MSDN : Desarrollo .NET : WPF : Descripción general de ClearType
- ↑ " [ ft ] Re: Re: Exposiciones de rasterización de textos" . lists.gnu.org .
- ↑ "MacOS Mojave elimina el suavizado de subpíxeles, lo que provoca que las pantallas que no son Retina se vean borrosas | Hacker News " . news.ycombinator.com
- ↑ "Sobre el ligero efecto de sugerencia, la correcta representación del texto, el oscurecimiento del trazo y los filtros LCD" . freetype.org .
- ↑ "Biblioteca de renderizado de fuentes Slug" . sluglibrary.com .
Enlaces externos
- La tragedia del rasterismo en baja resolución revisitada : el libro en línea de Beat Stamm sobre la rasterización, con énfasis en ClearType.
- CS 354 Gráficos por computadora: renderizado de trazados; Universidad de Texas en Austin
- Textos Rasterización Exposiciones
- Los problemas del suavizado tipográfico
- Tipografía digital