FreeType
Encyclopedia
FreeType is a software library
written in C
that implements a font rasterization
engine. It is used to render text
on to bitmap
s and provides support for other font-related operations.
FreeType works with an assortment of font formats, including TrueType
, Type 1, and OpenType
.
FreeType is released under two free software licenses: the GNU General Public License
or a permissive license with an acknowledgment clause similar to that of the current license of XFree86
(the acknowledgment clause renders it incompatible with version 2 of the GNU GPL, though it is compatible with GPL version 3). The library can thus be used by any kind of project, be it proprietary
or not. As well as being used by the major free software desktop systems, FreeType has been used as a rasterization engine for modern video games, and Opera
for the Wii
.
In 2007, Sun Microsystems switched from using a proprietary font rasterizer to using FreeType in the OpenJDK Java development kit.
FreeType 2.X: "FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images)", . "The FreeType 2 API is a lot simpler than the one in 1.x while being much more powerful. (...) It is not backwards compatible with FreeType 1.X. However, transition from 1.X to 2 should be rather straightforward",
Summary of the main differences :
, including Fedora
, have included FreeType with font hinting
functionality disabled or degraded to avoid the issue of software patent
s held by Apple Incorporated. Because a goal of free software by nature is that it be easily shared, software patents render this goal unreachable to users in countries which enforce software patents.
Since May 2010, the last of all conflicting software patents expired, allowing FreeType's TrueType font hinter to be used in free software. 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.
Library (computer science)
In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications....
written in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
that implements a font rasterization
Font rasterization
Font rasterization is the process of converting text from a vector description to a raster or bitmap description. This often involves some anti-aliasing on screen text to make it smoother and easier to read...
engine. It is used to render text
Rendering (computer graphics)
Rendering is the process of generating an image from a model , by means of computer programs. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene...
on to bitmap
Bitmap
In computer graphics, a bitmap or pixmap is a type of memory organization or image file format used to store digital images. The term bitmap comes from the computer programming terminology, meaning just a map of bits, a spatially mapped array of bits. Now, along with pixmap, it commonly refers to...
s and provides support for other font-related operations.
Details
The main authors of FreeType are or were David Turner, Robert Wilhelm, and Werner Lemberg.FreeType works with an assortment of font formats, including TrueType
TrueType
TrueType is an outline font standard originally developed by Apple Computer in the late 1980s as a competitor to Adobe's Type 1 fonts used in PostScript...
, Type 1, and OpenType
OpenType
OpenType is a format for scalable computer fonts. It was built on its predecessor TrueType, retaining TrueType's basic structure and adding many intricate data structures for prescribing typographic behavior...
.
FreeType is released under two free software licenses: the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
or a permissive license with an acknowledgment clause similar to that of the current license of XFree86
XFree86
XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and is now available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It is developed by the...
(the acknowledgment clause renders it incompatible with version 2 of the GNU GPL, though it is compatible with GPL version 3). The library can thus be used by any kind of project, be it proprietary
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
or not. As well as being used by the major free software desktop systems, FreeType has been used as a rasterization engine for modern video games, and Opera
Opera (web browser)
Opera is a web browser and Internet suite developed by Opera Software with over 200 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting on IRC, downloading files via BitTorrent,...
for the Wii
Wii
The Wii is a home video game console released by Nintendo on November 19, 2006. As a seventh-generation console, the Wii primarily competes with Microsoft's Xbox 360 and Sony's PlayStation 3. Nintendo states that its console targets a broader demographic than that of the two others...
.
In 2007, Sun Microsystems switched from using a proprietary font rasterizer to using FreeType in the OpenJDK Java development kit.
Versions
FreeType 1.X: "Is a portable and highly efficient TrueType rendering engine", Freetype1 Overview.FreeType 2.X: "FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images)", . "The FreeType 2 API is a lot simpler than the one in 1.x while being much more powerful. (...) It is not backwards compatible with FreeType 1.X. However, transition from 1.X to 2 should be rather straightforward",
Summary of the main differences :
- The algorithms of FreeType 2 are an evolution, simpler and more powerful than FreeType 1;
- The objective of FreeType 1 is only support the TrueType format (while FreeType 2 supports a lot more), and it includes an extension to support OpenType text layout processing;
- The text layout processing is not an objective of FreeType 2 (it has been moved to a distinct project, called "FreeType Layout" and now part of the PangoPangoPango is an LGPL licensed open source computing library used by software developers for laying out and rendering text in high quality, emphasising support for multilingual text...
library).
Font Hinting patent conflict
Some free software distributions of LinuxLinux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, including Fedora
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...
, have included FreeType with font hinting
Font hinting
Font hinting is the use of mathematical instructions to adjust the display of an outline font so that it lines up with a rasterized grid. At low screen resolutions, hinting is critical for producing a clear, legible text...
functionality disabled or degraded to avoid the issue of software patent
Software patent
Software patent does not have a universally accepted definition. One definition suggested by the Foundation for a Free Information Infrastructure is that a software patent is a "patent on any performance of a computer realised by means of a computer program".In 2005, the European Patent Office...
s held by Apple Incorporated. Because a goal of free software by nature is that it be easily shared, software patents render this goal unreachable to users in countries which enforce software patents.
Since May 2010, the last of all conflicting software patents expired, allowing FreeType's TrueType font hinter to be used in free software. 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.
See also
- PangoPangoPango is an LGPL licensed open source computing library used by software developers for laying out and rendering text in high quality, emphasising support for multilingual text...
(Open source multilingual text rendering engine) - FontForgeFontForgeFontForge is a typeface editor program developed by George Williams. FontForge is free software and is distributed under the BSD license. FontForge is available for several operating systems and is localized in several languages.- Features :Fontforge supports many font formats, including...
a typeface (font) editor program