После года разработки представлен релиз FreeType 2.15.0, модульного шрифтового движка, предоставляющего единый API для унификации обработки и вывода шрифтовых данных в различных векторных и растровых форматах. Код проекта написан на языке Си и распространяется под 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
