FreeType
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[источник не указан 449 дней].
История создания
Движок рендеринга FreeType был создан в 1995 году Дэвидом Тернером[3] с целью обеспечить поддержку шрифтов TrueType для операционной системы OS/2,[3] включая интерпретатор для работы с байткодом TrueType. Первоначально написанный на языке программирования Pascal, он был перенесен в 1997 году Робертом Вильгельмом на язык C.[4][5][6]
FreeType 1 поддерживал только формат шрифтов TrueType, но в него было включено расширение для поддержки функций верстки текста OpenType.
Версия 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 для вызова функций обработки графики (например, рендеринг цветного текста). Однако, библиотека значительно упрощает операции обработки текстов, предоставляя простой интерфейс доступа к содержимому файлов шрифта[источник не указан 345 дней].
По состоянию на август 2010 года последняя версия библиотеки имела номер 2.4.2 и поддерживала следующие форматы шрифтов:
![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/0b/Rasterization-subpixel-RGB.png/220px-Rasterization-subpixel-RGB.png)
- 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]
Использование
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]
Недостатки
В Fedora из-за проблемных интерфейсов библиотеки FreeType прекратили отображение растровых (bitmap) шрифтов почти во всех графических приложениях.[30]
Примечания
- ↑ [ft-announce Announcing FreeType 2.13.3]
- ↑ The freetype Open Source Project on Open Hub: Languages Page — 2006.
- ↑ 1 2 Interview with David Turner of Freetype – OSnews (амер. англ.). Дата обращения: 12 марта 2024.
- ↑ FreeType History (неопр.). freetype.org. Дата обращения: 12 марта 2024.
- ↑ FreeType 2 FAQ (неопр.). web.archive.org (18 июля 2009). Дата обращения: 12 марта 2024.
- ↑ What are the differences between FreeType 1.x and FreeType 2 ? (неопр.) Experts123.com. Дата обращения: 4 апреля 2014.
- ↑ FreeType FAQ (неопр.). freetype.org. Дата обращения: 12 марта 2024.
- ↑ harfbuzz/harfbuzz. — 2024-03-11.
- ↑ FreeType and Patents (англ.) (2 июля 2007). Дата обращения: 8 августа 2010. Архивировано из оригинала 6 июля 2007 года.
- ↑ FreeType and Patents (англ.) (4 июля 2010). Дата обращения: 8 августа 2010. Архивировано из оригинала 15 февраля 2012 года.
- ↑ The Typekit Blog | Adobe contributes font rasterizer technology to FreeType (неопр.). blog.typekit.com. Дата обращения: 12 марта 2024.
- ↑ You've Got CFF! (неопр.) Google Open Source Blog. Дата обращения: 12 марта 2024.
- ↑ Проблемы безопасности, устраняемые в ОС OS X Lion 10.7.3 и обновлением системы безопасности 2012-001 (рус.). Apple Support (9 июня 2015). Дата обращения: 12 марта 2024.
- ↑ gdipp (неопр.). Дата обращения: 4 августа 2014.
- ↑ MacType (неопр.). GitHub. Дата обращения: 12 сентября 2016.
- ↑ Royal, Simon ReactOS: A Windows Compatible Alternative OS (неопр.). lowendmac.com (26 февраля 2014). — «While the main core of ReactOS is built from scratch, it has some dependencies on existing software and protocols. It uses parts of Wine, networking in the form of lwIP, USB from Haiku, as well as FreeType, Mesa3D, and UniATA.». Дата обращения: 10 января 2016.
- ↑ Games company Relic Entertainment has used FreeType for their games Dawn of War and Company of Heroes, as can be seen in the credits on the loading screens.
- ↑ FreeType has also been implemented in the American Girl games for the PC such as A Treehouse of My Own and Julie Saves The Eagles.
- ↑ Games company Bandai Namco Entertainment has also used FreeType for Ace Combat 7: Skies Unknown, as can be seen in the copyright section.
- ↑ Opera 9 for the Wii console uses FreeType, as can be seen by looking at the "Third-party information" page which can be found on the Wii via: Internet Channel > Operations Guide > About > Opera 9 for Wii — Third-party information
- ↑ Open Source Software used in PlayStation®Vita (неопр.). Scei.co.jp. Дата обращения: 4 апреля 2014.
- ↑ [ft-announce] FreeType version 2.3.10 has been released (неопр.). lists.nongnu.org. Дата обращения: 22 июня 2020. Архивировано 16 апреля 2021 года.
- ↑ [ft-announce] FreeType version 2.3.0 has been released (неопр.). lists.nongnu.org. Дата обращения: 22 июня 2020. Архивировано 16 апреля 2021 года.
- ↑ [ft-announce] Announcing FreeType 2.6.2 (неопр.). lists.nongnu.org. Дата обращения: 22 июня 2020. Архивировано 16 апреля 2021 года.
- ↑ [ft-announce] Announcing FreeType 2.8.1 (неопр.). lists.gnu.org. Дата обращения: 22 июня 2020. Архивировано 16 ноября 2019 года.
- ↑ FreeType 2 Beta 8 Introduction (неопр.). web.archive.org (28 октября 2000). Дата обращения: 22 июня 2020. Архивировано 28 октября 2000 года.
- ↑ SourceForge.net: File Release Notes and Changelog (неопр.). web.archive.org (10 января 2003). Дата обращения: 22 июня 2020. Архивировано 10 января 2003 года.
- ↑ SourceForge.net: File Release Notes and Changelog (неопр.). web.archive.org (19 октября 2002). Дата обращения: 22 июня 2020. Архивировано 19 октября 2002 года.
- ↑ [ft-announce] FreeType 2.3.5 has been released. (неопр.) lists.nongnu.org. Дата обращения: 22 июня 2020. Архивировано 16 апреля 2021 года.
- ↑ Разработчики Pango убрали поддержку растровых шрифтов (неопр.). Дата обращения: 21 июня 2020. Архивировано 24 июня 2020 года.
Ссылки
- Официальный сайт FreeType
- Проект FreeType на SourceForge.net.