FreeType | |
---|---|
Тип | font rasterization[вд] и библиотека функций |
Написана на | Си[2] |
Операционная система | кроссплатформенность |
Первый выпуск | 1996 |
Последняя версия |
|
Репозиторий | gitlab.freedesktop.org/f… |
Лицензия | GNU GPL и BSD |
Сайт | freetype.org (англ.) |
Медиафайлы на Викискладе |
Информация в этой статье или некоторых её разделах устарела. |
FreeType, FreeType 2 — библиотека, которая используется для растеризации шрифтов и операций над ними. Механизм растеризации шрифтов - свободное программное обеспечение с открытым исходным кодом, на который распространяется двойная лицензия - BSD-подобная и GPL. FreeType поддерживает несколько форматов шрифтов, включая TrueType, Type 1 и OpenType.[1] В частности, используется для отображения шрифтов в X11[источник не указан 543 дня].
Движок рендеринга 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 для вызова функций обработки графики (например, рендеринг цветного текста). Однако, библиотека значительно упрощает операции обработки текстов, предоставляя простой интерфейс доступа к содержимому файлов шрифта[источник не указан 439 дней].
По состоянию на август 2010 года последняя версия библиотеки имела номер 2.4.2 и поддерживала следующие форматы шрифтов:
Долгое время в FreeType была по умолчанию отключена поддержка правильного хинтинга TrueType-файлов через встроенный байт-код шрифта, поскольку данная технология попадала под патенты Apple[9]. Для обхода патентов сборки FreeType по умолчанию использовали незапатентованный алгоритм автохинтинга. В мае 2010 года срок патентов истек, и, начиная с версии 2.4.0, FreeType по умолчанию использует правильный хинтинг через интерпретатор байт-кода шрифта[10]. В 2013 году Adobe уступила движок рендеринга Compact Font Format проекту FreeType, который интегрировал его и сделал по умолчанию в версии 2.5.[11][12]
FreeType используется в качестве рендерера шрифтов в Android, ChromeOS. Apple использует FreeType в iOS и macOS[13] наряду с Apple Advanced Typography. В 2007 году компания Sun Microsystems заменила собственный растеризатор на FreeType в наборе средств разработки OpenJDK Java. В Windows такие проекты, как gdipp[14] и MacType,[15] направлены на замену системного растеризатора ClearType. FreeType также используется в качестве рендерера шрифтов в ReactOS.[16]
Помимо использования в основных настольных системах со свободным программным обеспечением, библиотека применяется в качестве движка растеризации в некоторых современных видеоиграх,[17][18][19] и в Opera для Wii.[20] Sony поставляет FreeType с консолями PlayStation 3, PlayStation 4, и PlayStation Vita.[21]
В Fedora freetype-freeworld был переведен из проприетарного репозитория yum в свободное хранилище.
Авторы библиотеки: David Turner, Robert Wilhelm и Werner Lemberg.
Возможность доступа к информации об ограничениях встраивания и подстановки шрифтов была добавлена в 2.3.8.[22]
В 2.3.0, добавлена поддержка применения специального фильтра к растровым изображениям, созданным с помощью «FT _ Render _ Glyph», если выбран один из FT_RENDER_MODE_LCD и FT_RENDER_MODE_LCD_V, в то время как LCD-оптимизированная визуализация была отключена во всех построениях библиотеки по умолчанию.[23] LCD-фильтр стал нормализованным и сбалансированным по цвету в 2.6.2.[24] Метод намека «Гармония», который воспроизводит результат субпиксельного намека ClearType с легким фильтром 3-tap без использования методов ClearType, стал методом субпиксельного намека по умолчанию в 2.8.1.[25]
Интерпретатор байт-кода TrueType был отключен в версии 2.0 Beta 8[26], а затем снова отключен в версии 2.0.2.[27] Интерпретатор байт-кода CreateType был исправлен для получения точно того же вывода, что и FreeType 1.x в 2.1.0.[28] Непатентованный намек стал[уточнить] по умолчанию в 2.3.0, возможность обнаружения запатентованных команд байт-кода и переключения непатентованных подсказок была добавлена в 2.3.5.[29]
В Fedora из-за проблемных интерфейсов библиотеки FreeType прекратили отображение растровых (bitmap) шрифтов почти во всех графических приложениях.[30]
Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её. |
В другом языковом разделе есть более полная статья FreeType (англ.). |