FreeType是一個用C語言實現的一個字体光栅化函式庫。它可以用來將字符柵格化並映射成點陣圖以及提供其他字體相關業務的支持。
FreeType並不提供API以執行更高級的功能,如文字佈局或圖形處理(例如彩色文本渲染、「空洞化」等)。然而,它提供了一個簡單、易用並統一的接口來訪問字型文件的內容,從而極大地簡化了這些任務。它支持各種字體格式,包括TrueType、Type 1、以及OpenType。
FreeType在兩個自由軟件許可證的授權下發佈:GNU通用公共許可證或者以及一個類BSD許可證。因此這個函式庫能夠使用于任何類型的項目中,無論其是否是專有軟件。同時也包括正在使用的主要自由桌面系統軟件。
功能
字体微调
;TrueType: TrueType 字节码直译器于2.4.0版默认启用,TrueType次像素微调支持于2.4.11版实现。
;PostScript: Dave Arnold的新的CFF解析及微调引擎于2.4.12版加入,2.5.0.1版默认启用。
;Auto-hinter: Auto-hinter于FreeType 2.1.10中以auto-fitter取代。新的用于中日韩字体的算法于FreeType 2.2中加入,基于Akito Hirai的补丁。TrueType字体"head"表格当中的Bit 1于FreeType 2.2中得到支持。对带有SFNT封装的OpenType Collection及CFF字体的支持于2.4.11版加入。
FreeType 1只支持TrueType字体格式,但包含了一个扩展来支持OpenType文本排版功能。
大规模重写的2.0
FreeType 2.0版于2000年发布,带来完全重写的代码以使之模块化。FreeType 2带来对更多字体格式的支持,并且演化出被开发者称为“更精简且更强大”的源代码。FreeType 2不与FreeType 1兼容,但开发者声称从FreeType 1转移到FreeType 2表现出的难度很小。
专利冲突
1999年Freetype项目被苹果公司通知FreeTypeTrueType字体微调相关专利。之后Freetype被默认停用或者围绕专利相关技术开发。因此像FreeBSD或Linux之类的一些开放源代码项目包含禁用或者阉割字体微调的FreeType以避开苹果持有的软件专利。
2010年5月起,所有与字体微调相关的有冲突的软件专利被解除,
CFF引擎捐赠
2013年Adobe给FreeType项目捐赠了一个CFF(Compact Font Format,PostScript字体)渲染引擎,在2.5版被加入并默认启用。
用户
;Android: FreeType在Android用作字体渲染引擎。
;苹果公司: 苹果在iOS中使用FreeType,仅次于。
;Java: 2007年,Sun公司在OpenJDK這個Java開發工具包中將專有的字型柵格化引擎變更為FreeType。
;PlayStation: 索尼于PlayStation 3、PlayStation 4及PlayStation Vita的控制台中搭载FreeType。
;ReactOS: FreeType用作ReactOS的字體渲染程序。
其他
在被多數自由桌上型系統軟體使用的同時,FreeType也被現代電子遊戲及用於Wii的Opera用作柵格化引擎。gdipp及MacType專案把Windows系統的字型柵格化引擎以FreeType取代。
参见
- HarfBuzz,用于Unicode文本塑形的库
- Pango,多语种文本渲染引擎
- FontForge,字体编辑软件
- [http://www.altsoftlab.com/altnettype.aspx AltNETType],FreeType的C#移植版本
參考資料
外部連結
评论 (0)