Лучшие вопросы
Таймлайн
Чат
Перспективы
FreeType
Из Википедии, свободной энциклопедии
Remove ads
FreeType, FreeType 2 — библиотека, которая используется для растеризации шрифтов и операций над ними. Механизм растеризации шрифтов - свободное программное обеспечение с открытым исходным кодом, на который распространяется двойная лицензия - BSD-подобная и GPL. FreeType поддерживает несколько форматов шрифтов, включая TrueType, Type 1 и OpenType. В частности, используется для отображения шрифтов в X11[источник не указан 783 дня].
![]() | Информация в этой статье или некоторых её разделах устарела. |
Remove ads
История создания
Движок рендеринга FreeType был создан в 1995 году Дэвидом Тернером[3] с целью обеспечить поддержку шрифтов TrueType для операционной системы OS/2,[3] включая интерпретатор для работы с байткодом TrueType. Первоначально написанный на языке программирования Pascal, он был перенесен в 1997 году Робертом Вильгельмом на язык C.[4][5][6]
FreeType 1 поддерживал только формат шрифтов TrueType, но в него было включено расширение для поддержки функций верстки текста OpenType.
Remove ads
Версия 2.0
Суммиров вкратце
Перспектива
Версия 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 для вызова функций обработки графики (например, рендеринг цветного текста). Однако, библиотека значительно упрощает операции обработки текстов, предоставляя простой интерфейс доступа к содержимому файлов шрифта[источник не указан 679 дней].
По состоянию на август 2010 года последняя версия библиотеки имела номер 2.4.2 и поддерживала следующие форматы шрифтов:

- TrueType (.TTF) и TrueType Collection (.TTC, .TTCF)
- PostScript Type 1, в том числе с ключом CID для восточноазиатских языков
- PostScript CFF (Type 2)
- OpenType
- Растровые шрифты, основанные на формате SFNT
- Растровые шрифты X11 BDF и PCF
- Шрифты Microsoft .FNT
- TrueDoc PFR
- Type 42 (ограниченная поддержка)
Долгое время в FreeType была по умолчанию отключена поддержка правильного хинтинга TrueType-файлов через встроенный байт-код шрифта, поскольку данная технология попадала под патенты Apple[9]. Для обхода патентов сборки FreeType по умолчанию использовали незапатентованный алгоритм автохинтинга. В мае 2010 года срок патентов истек, и, начиная с версии 2.4.0, FreeType по умолчанию использует правильный хинтинг через интерпретатор байт-кода шрифта[10]. В 2013 году Adobe уступила движок рендеринга Compact Font Format проекту FreeType, который интегрировал его и сделал по умолчанию в версии 2.5.[11][12]
Remove ads
Использование
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
Интерпретатор байт-кода 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]
Remove ads
Недостатки
В Fedora из-за проблемных интерфейсов библиотеки FreeType прекратили отображение растровых (bitmap) шрифтов почти во всех графических приложениях.[30]
Примечания
Ссылки
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads