![]() | |
Developer(s) | David Turner, Robert Wilhelm, Werner Lemberg[1][2] and FreeType contributors |
---|---|
Initial release | 1996; 29 years ago (1996)[3] |
Stable release | |
Repository | |
Written in | C |
Operating system | Cross-platform |
Type | Software development library:Font rasterization |
License | GNU General Public License /FreeType License |
Website | freetype |
FreeType is asoftware development library used torender text ontobitmaps, and which provides support for other font-related operations. The FreeTypefont rasterization engine isfree and open-source software with thesource codedual-licensed under aBSD-like license and theGPL. FreeType supports a number of font formats, includingTrueType,Type 1, andOpenType.[5]
The FreeType rendering engine was started in 1995 by David Turner with the intent to provide TrueType font support for theOS/2 operating system,[1] including an interpreter for handling TrueType bytecode. Originally written in thePascal programming language, it was ported in 1997 by Robert Wilhelm toC.[3][6][7]
FreeType 1 had support only for the TrueType font format, but it included an extension to supportOpenType text layout features.
Version 2.0 of FreeType was a complete rewrite to make it more modular. FreeType 2 brought support for more font formats and an evolved source code which the developers stated was "simpler and more powerful".[8] FreeType 2 is not backward-compatible with FreeType 1 but the developers stated that moving from FreeType 1 to FreeType 2 poses little difficulty.[8] Astext layout processing was not an objective of FreeType 2, however, the OpenType text layout functionality of FreeType 1 was removed in FreeType 2. A very evolved form of the OpenType text layout functionality of FreeType 1 is used in thePango text layout library. TheHarfBuzz project is further evolving that functionality with a complete rewrite offered as a standalone library with a less restrictive license than Pango's license.[9]
In 1999, the Freetype project was informed byApple Incorporated that FreeType wasinfringing patents related to TrueTypefont hinting. Following that, Freetype deactivated by default or worked around patent relating technologies. Therefore, several open source projects, such asFreeBSD orLinux, had FreeType included withfont hinting functionality disabled or degraded to avoid the issue ofsoftware patents held by Apple Inc.[10]
Since May 2010, all conflicting software patents related to font hinting have expired,[10] allowing FreeType's TrueType font hinter to be used in open source. Many of the operating systems which disabled the renderer now give the user the option to enable it. In Fedora, freetype-freeworld was switched from the proprietaryyum repository to the free repository.[11]
Since August 2019, all conflicting software patents related to ClearType color filtering have expired,[10] allowing FreeType to use ClearType color filtering method in 2.10.3.
In 2013 Adobe donated aCompact Font Format rendering engine to the FreeType project which integrated it and made it the default with version 2.5.[12][13]
FreeType is used as a font renderer inAndroid,ChromeOS,OpenHarmony,HarmonyOS.[14][15]Apple uses FreeType iniOS[14] andmacOS[16] next toApple Advanced Typography. In 2007, Sun Microsystems switched from using a proprietary font rasterizer to using FreeType in theOpenJDKJava development kit.[17] OnWindows, projects like gdipp[18] and MacType[19] aim to override the system renderer with FreeType. FreeType is also used as a font renderer inReactOS.[20]
As well as being used by the major free software desktop systems, FreeType has been used as a rasterization engine for some modernvideo games,[21][22][23] andOpera for theWii.[24] Sony ships FreeType with itsPlayStation 3,[25]PlayStation 4,[26] andPlayStation Vita[27] consoles.
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, andUniATA.