Después de un año de desarrollo, se presenta la versión FreeType 2.15.0, un motor de fuentes modular que proporciona una API unificada para unificar el manejo y la presentación de datos de fuentes en varios formatos vectoriales y de mapa de bits. El código del proyecto está escrito en C y se distribuye bajo una licencia similar a BSD de FreeType.
Entre los cambios:
- Se ha añadido soporte para la quinta edición del formato de fuentes ISO Open Font (ISO/IEC 14496-22:2026), portado con ayuda de IA desde la biblioteca de composición de glifos HarfBuzz y otras implementaciones. A diferencia de la cuarta edición, lanzada en 2019, en esta nueva versión del formato Open Font se permite la inclusión de más de 65536 glifos; se ha añadido una tabla "GLYF" para contornos que combinan segmentos cúbicos y cónicos; se propone una versión más compacta de la tabla "VARC", que permite reducir el tamaño de fuentes variables con jeroglíficos en un 90%.
- En el rasterizador, que proporciona suavizado, la asignación dinámica de memoria para glifos grandes ha mejorado significativamente el rendimiento al renderizar glifos más grandes de 40 ppem.
- Se ha añadido un controlador experimental para fuentes HVF (Hierarchical Variation Font), proporcionado por Apple y que actualmente solo funciona en macOS.
- En el intérprete del formato TrueType, se ha ampliado el soporte para la tecnología de suavizado de texto ClearType, lo que ha mejorado la calidad de representación de fuentes como 'Comic Sans MS', 'Segoe UI', 'Calibri', 'Corbel', 'Constantia', 'Malgun Gothic' y 'SimSun'. Se ha garantizado el uso de datos de la tabla gasp (Grid-fitting and Scan-conversion Procedure) para el suavizado y la alineación en cuadrícula de píxeles, se ha mejorado la emulación del antihaliasing horizontal de ClearType, y se ha mejorado el manejo de las instrucciones de redondeo de glifos (ROUND) y la aplicación de valores de control (CVT — Control Value Table).
- Se ha añadido un puerto para el sistema operativo Plan 9.
- Se han corregido vulnerabilidades: CVE-2026-95512 — agotamiento de memoria y alta carga de CPU al procesar fuentes especialmente diseñadas en formato CID; CVE-2026-50811 — lectura fuera de los límites del búfer al utilizar las funciones TT_Get_Var_Design y T_Get_Var_Design_Coordinates; CVE-2026-27171 — vulnerabilidad en código embebido antiguo de zlib que provoca bloqueos.
Fuente: opennet.ru
