FreeType


FreeType, FreeType 2 — библиотека, которая используется для растеризации шрифтов и операций над ними. Механизм растеризации шрифтов - свободное программное обеспечение с открытым исходным кодом, на который распространяется двойная лицензия - BSD-подобная и GPL. FreeType поддерживает несколько форматов шрифтов, включая TrueType, Type 1 и OpenType.[1] В частности, используется для отображения шрифтов в X11[источник не указан 342 дня].

Движок рендеринга FreeType был создан в 1995 году Дэвидом Тернером[3] с целью обеспечить поддержку шрифтов TrueType для операционной системы OS/2,[3] включая интерпретатор для работы с байткодом TrueType. Первоначально написанный на языке программирования Pascal, он был перенесен в 1997 году Робертом Вильгельмом на язык C.[4][5][6]

FreeType 1 поддерживал только формат шрифтов TrueType, но в него было включено расширение для поддержки функций верстки текста OpenType.

Версия 2.0 была полностью переписана, чтобы сделать ее более модульной. FreeType 2 обеспечил поддержку большего числа форматов шрифтов и обновленный исходный код, который, по словам разработчиков, стал "проще и мощнее". FreeType 2 не имеет обратной совместимости с FreeType 1, но разработчики заявили, что переход на FreeType 2 не представляет особых трудностей.[7] Поскольку обработка текстовых макетов не была целью FreeType 2, функциональность OpenType для верстки текста FreeType 1 в версии 2.0 была удалена. Значительно усовершенствованная форма функциональности FreeType 1 по вёрстке текста OpenType используется в библиотеке вёрстки текста Pango. Проект HarfBuzz продолжает развивать эту функциональность, полностью переписывая ее и предлагая в виде отдельной библиотеки с менее строгой лицензией, чем у Pango.[8]

FreeType не содержит своего API для вызова функций обработки графики (например, рендеринг цветного текста). Однако, библиотека значительно упрощает операции обработки текстов, предоставляя простой интерфейс доступа к содержимому файлов шрифта[источник не указан 238 дней].

По состоянию на август 2010 года последняя версия библиотеки имела номер 2.4.2 и поддерживала следующие форматы шрифтов: