След година разработка, представен е релизът FreeType 2.15.0, модулният шрифтов двигател, предоставящ единен API за унификация на обработката и извеждането на шрифтови данни в различни векторни и растерни формати. Кодът на проекта е написан на C и се разпространява под BSD-подобна лицензия FreeType.
Сред промените:
- Добавена е поддръжка на петата редакция на формата на шрифтовете ISO Open Font (ISO/IEC 14496-22:2026), пренесена с помощта на AI от библиотеката за подредба на глифове HarfBuzz и други реализации. За разлика от четвъртата редакция, издадена през 2019 година, в новата версия на формата Open Font е добавена възможността за поставяне на над 65536 глифа; добавена е таблица „GLYF“ за контури, съчетаващи кубични и конусни сегменти; предложен е по-компактен вариант на таблицата „VARC“, която позволява да се намали размерът на вариативните шрифтове с иероглифи с 90%.
- В растеризатора, осигуряващ антиалиасинг, чрез динамично разпределение на паметта за големи глифове значително е повишена производителността на рисуването на глифове с размер над 40 ppem.
- Добавен е експериментален драйвер за шрифтове HVF (Hierarchical Variation Font), предоставен от Apple и работещ засега само в macOS.
- В интерпретатора на формата TrueType е разширена поддръжката на технологията за сглаждане на текста ClearType, което е подобрило качеството на рисуването на такива шрифтове като 'Comic Sans MS', 'Segoe UI', 'Calibri', 'Corbel', 'Constantia', 'Malgun Gothic' и 'SimSun'. Осигурено е използването на данни от таблицата gasp (Grid-fitting and Scan-conversion Procedure) за сглаждане и изравняване по пикселната мрежа, подобрена е емулцията на хоризонталния хинтинг ClearType, подобрена е обработката на инструкциите за закръгляне на глифовете (ROUND) и прилагането на контрольни стойности (CVT — Control Value Table).
- Добавен е порт за операционната система Plan 9.
- Отстранени са уязвимости: CVE-2026-95512 — изчерпване на паметта и голямо натоварване на CPU при обработка на специално оформени шрифтове в CID формат; CVE-2026-50811 — четене извън буфера при използване на функциите TT_Get_Var_Design и T_Get_Var_Design_Coordinates; CVE-2026-27171 — уязвимост в стария вграден код от zlib, водеща до зацикляне.
Източник: opennet.ru
