FreeType
FreeType是一个用C语言实现的一个字体光栅化函数库。它可以用来将字符栅格化并映射成位图以及提供其他字体相关业务的支持。
![]() | |
开发者 | 大卫·特纳、罗伯特·威廉、维纳尔·伦贝尔[1][2]以及其他FreeType贡献者 |
---|---|
首次发布 | 1996年[3] |
当前版本 |
|
源代码库 | |
编程语言 | C |
操作系统 | 跨平台 |
类型 | 字体光栅化 |
许可协议 | GNU通用公共许可证、FTL许可证 |
网站 | https://www.freetype.org/ |
FreeType并不提供API以运行更高级的功能,如文本布局或图形处理(例如彩色文本渲染、「空洞化」等)。然而,它提供了一个简单、易用并统一的接口来访问字体文档的内容,从而极大地简化了这些任务。它支持各种字体格式,包括TrueType、Type 1、以及OpenType。
FreeType在两个自由软件许可证的授权下发布:GNU通用公共许可证或者以及一个类BSD许可证。因此这个函数库能够使用于任何类型的项目中,无论其是否是专有软件。同时也包括正在使用的主要自由桌面系统软件。
功能
字体微调
历史
FreeType于1996年由大卫·特纳(David Turner)创造,用以渲染TrueType字体,包括一个处理TrueType字节码的解析器。最初以Pascal语言编写,1997年由罗伯特·威廉(Robert Wilhelm)移植到C语言。随后维纳尔·伦贝尔(Werner Lemberg)加入开发组并维护Freetype至今。[3][11][12]
FreeType 1只支持TrueType字体格式,但包含了一个扩展来支持OpenType文本排版功能。
大规模重写的2.0
FreeType 2.0版于2000年发布,带来完全重写的代码以使之模块化。FreeType 2带来对更多字体格式的支持,并且演化出被开发者称为“更精简且更强大”的源代码。[13]FreeType 2不与FreeType 1兼容,但开发者声称从FreeType 1转移到FreeType 2表现出的难度很小。[13]然而由于文本布局处理不是FreeType 2的目标,FreeType 1的OpenType文本布局功能在FreeType 2中被移除。FreeType 1的OpenType文本布局功能的进一步演化形式用在了Pango文本布局库。HarfBuzz项目进一步发展出有着完全重写的内容的所需特性作为独立的库,带有比Pango的许可证略为严格的授权。[14]
用户
- Android
- FreeType在Android用作字体渲染引擎。[19]
- 苹果公司
- 苹果在iOS[19]和macOS[20]中使用FreeType,仅次于Apple Advanced Typography。
- Java
- 2007年,Sun公司在OpenJDK这个Java开发工具包中将专有的字体栅格化引擎变更为FreeType。[21]
- PlayStation
- 索尼于PlayStation 3[22]、PlayStation 4[23]及PlayStation Vita[24]的控制台中搭载FreeType。
参见
- HarfBuzz,用于Unicode文本塑形的库
- Pango,多语种文本渲染引擎
- FontForge,字体编辑软件
- AltNETType(页面存档备份,存于),FreeType的C#移植版本
参考数据
- . 2008-08-31 [2008-12-24]. (原始内容存档于2009-04-05).
- . 2008-08-31 [2008-12-24]. (原始内容存档于2008-12-21).
- . 2013-07-02 [2014-08-06]. (原始内容存档于2014-06-25).
- "[ft-announce Announcing FreeType 2.13.2"]; 检索日期: 2023年8月28日; 作者姓名字符串: Werner LEMBERG; 出版日期: 2023年8月25日.
- . Sourceforge.net. 2010-07-12 [2014-04-04]. (原始内容存档于2013-10-29).
- . Sourceforge.net. 2012-12-20 [2014-04-04]. (原始内容存档于2014-04-28).
- . Sourceforge.net. 2013-05-08 [2014-04-04]. (原始内容存档于2014-02-21).
- . Lists.nongnu.org. 2005-06-15 [2014-04-04]. (原始内容存档于2013-10-29).
- . Lists.nongnu.org. [2014-04-04]. (原始内容存档于2014-04-07).
- . Sourceforge.net. [2014-04-04].
- . [2009-07-18]. (原始内容存档于2009-07-18).
- . Experts123.com. [2014-04-04]. (原始内容存档于2014-04-07).
- . FreeType 2. [July 26, 2011]. (原始内容存档于2015-06-10).
- . Freedesktop.org. [2014-04-04]. (原始内容存档于2010-04-13).
- . FreeType. SourceForge, Inc. July 4, 2010 [March 31, 2011]. (原始内容存档于2015-06-06).
- . Download1.rpmfusion.org. 2014-03-11 [2014-04-04]. (原始内容存档于2014-04-07).
- . [2016-04-24]. (原始内容存档于2015-12-09).
- . [2016-04-24]. (原始内容存档于2016-05-08).
- . Google Open Source Blog. [2014-04-04]. (原始内容存档于2014-05-02).
- . Support.apple.com. 2012-05-31 [2014-04-04]. (原始内容存档于2014-03-27).
- . [4 April 2014]. (原始内容存档于2015-06-10).
- . Scei.co.jp. [2014-04-04]. (原始内容存档于2014-07-06).
- . Scei.co.jp. [2014-04-04]. (原始内容存档于2013-11-18).
- . Scei.co.jp. [2014-04-04]. (原始内容存档于2014-04-07).
- Royal, Simon. . lowendmac.com. 2014-02-26 [2016-01-10]. (原始内容存档于2017-10-23).
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.
- 游戏公司遗迹娱乐在他们的游戏Dawn of War及Company of Heroes当中使用FreeType,以其在加载屏幕方面视为可靠。
- FreeType也被用于《A Treehouse of My Own》及《Julie Saves The Eagles》之类的PC版美国娃娃游戏。
- Wii上的Opera 9控制台使用FreeType,可以通过能以下列途径在Wii中搜索到的Third-party information页面找到:Internet Channel > Operations Guide > About > Opera 9 for Wii — Third-party information
- . [4 August 2014]. (原始内容存档于2015-06-10).
- . [4 April 2014]. (原始内容存档于2013年4月26日).