FreeType

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
FreeType
160px
Developer(s) David Turner, Robert Wilhelm, Werner Lemberg[1][2] and FreeType contributors
Initial release 1996; 28 years ago (1996)[3]
Stable release 2.6.2 / November 28, 2015; 8 years ago (2015-11-28)[4]
Written in C
Operating system Cross-platform
Type Software development library: Font rasterization
License GNU General Public License / FreeType License
Website freetype.org

FreeType is a popular software development library, used to render text on to bitmaps and provides support for other font-related operations. The FreeType font rasterization engine is free and open source software with the source code dual-licensed under a BSD-like license and the GPL. FreeType support a number of font formats, including TrueType, Type 1, and OpenType[5] and "is designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images)."[5]

Features

Hinting

TrueType
TrueType bytecode interpreter is enabled by default in 2.4.0.[6] TrueType subpixel hinting support is implemented in 2.4.11.[7]
PostScript
New CFF parsing and hinting engine by Dave Arnold was introduced in 2.4.12.[8] 2.5.0.1 enables this by default.
Auto-hinter
auto-hinter was replaced by auto-fitter in FreeType 2.1.10.[9] An new algorithm for CJK fonts was introduced in FreeType 2.2, based on Akito Hirai's patch.[10]

File formats

Adobe's new SING Glyphlet format was introduced in FreeType 2.2.[10] Bit 1 in the "head" table of TrueType fonts is supported in FreeType 2.2.[10] Support for SFNT cmap 13 table format is added in 2.3.10.[11] Support for OpenType collections and CFF fonts within an SFNT wrapper are added in 2.4.11.[7]

PostScript
track kerning support for AFM file is added in FreeType 2.2.[10]

History

FreeType was in 1996 created by David Turner to render TrueType fonts, including an interpreter for handling TrueType bytecode. Originally written in the Pascal programming language it was ported in 1997 by Robert Wilhelm to C. Later, Werner Lemberg joined the team who is until today maintainer of Freetype.[3][12][13]

FreeType 1 had support for only the TrueType font format but it included an extension to support OpenType text layout features.

Major rewrite 2.0

Version 2.0 of FreeType was released in 2000, providing a complete rewrite to make it modular. FreeType 2 brought support for more font formats and evolved source code which the developers stated was "simpler and more powerful".[14] FreeType 2 is not backward-compatible with FreeType 1 but the developers state that moving from FreeType 1 to FreeType 2 poses little difficulty.[14] As text 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 the Pango text layout library. The HarfBuzz project is further evolving that functionality with a complete rewrite offered as a standalone library with a less restrictive license than Pango's license.[15]

Patent conflicts

In 1999 the Freetype project was informed by Apple Incorporated that FreeType was infringing patents related to TrueType font hinting. Following that, Freetype deactivated by default or worked around patent relating technologies. Therefore several open source projects, such as FreeBSD or Linux, had FreeType included with font hinting functionality disabled or degraded to avoid the issue of software patents held by Apple Inc.[16]

Since May 2010, all conflicting software patents related to font hinting expired,[16] 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 proprietary yum repository to the free repository.[17]

CFF engine donation

In 2013 Adobe donated a CFF rendering engine to the FreeType project which integrated it and made it default with version 2.5.[18][19]

Users

Android
FreeType is used as font renderer in Android.[20]
Apple
Apple uses FreeType in iOS[20] and OS X[21] next to Apple Advanced Typography.
Java
In 2007, Sun Microsystems switched from using a proprietary font rasterizer to using FreeType in the OpenJDK Java development kit.[22]
PlayStation
Sony ships FreeType with its PlayStation 3,[23] PlayStation 4,[24] and PlayStation Vita[25] consoles.
ReactOS
FreeType is used as ReactOS font renderer.[26]

Other users

As well as being used by the major free software desktop systems, FreeType has been used as a rasterization engine for modern video games,[27][28] and Opera for the Wii.[29] The gdipp[30] and MacType[31] projects replace the Windows system font renderer with FreeType.

See also

  • HarfBuzz, a library for shaping of Unicode text.
  • Pango, a multilingual text rendering engine
  • FontForge, a typeface (font) editor program
  • AltNETType, a FreeType port to C#

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. 5.0 5.1 Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. 7.0 7.1 Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. 10.0 10.1 10.2 10.3 Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. ft2faq
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. 14.0 14.1 Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. 16.0 16.1 Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. adobe-contributes-cff-rasterizer-to-freetype
  19. youve-got-cff
  20. 20.0 20.1 Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. 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.
  28. 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.
  29. 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
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.

External links