FreeType 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).
It can be used in graphics libraries, display servers, font conversion tools, text image generation tools, and many other products as well.
FreeType is written in industry-standard ANSI C.
FreeType 2 is used in many products. For example, it serves as a font rendering engine:
- in graphics subsystem and libraries to display text.
- in text layout and pagination services to measure and eventually render text.
- in font inspection and conversion tools.
The software is dual-licensed.
Key Features
- Provides a simple and easy-to-use API to access font content in a uniform way, independently of the file format. Additionally, some format-specific APIs can be used to access special data in the font file.
- The design is based on modules that can be either linked statically to the library at compile time, or loaded on demand at runtime. Modules are used to support specific font formats, or even new glyph image formats!
- Written with embedded systems in mind. This means that it doesn’t use static writable data (i.e., it can be run from ROM directly), and that client applications can provide their own memory manager and I/O stream implementation. The latter allows you to easily read from ROM-based, compressed or remote font files with the same API. Several stream implementations can be used concurrently with a single FreeType instance. You can also reduce the size of the FreeType code by only compiling the modules you need for your embedded project or environment.
- By default, FreeType supports the following font formats:
- TrueType fonts (TTF) and TrueType collections (TTC).
- CFF fonts.
- WOFF fonts.
- OpenType fonts (OTF, both TrueType and CFF variants) and OpenType collections (OTC).
- Type 1 fonts (PFA and PFB).
- CID-keyed Type 1 fonts.
- SFNT-based bitmap fonts, including color Emoji.
- X11 PCF fonts.
- Windows FNT fonts.
- BDF fonts (including anti-aliased ones).
- PFR fonts.
- Type 42 fonts (limited support).
- From a given glyph outline, FreeType is capable of producing a high-quality monochrome bitmap, or anti-aliased pixmap, using 256 levels of ‘gray’.
- Supports all the character mappings defined by the TrueType and OpenType specifications. It is also capable of automatically synthesizing a Unicode charmap from Type 1 fonts, avoiding painful ‘encoding translation’ problems common with this format (of course, original encodings are also available if necessary).
- Core API provides simple functions to access advanced information like glyph names or basic kerning data.
- A full-featured and efficient TrueType bytecode interpreter, trying to match the results of the Windows bytecode engine. There is also the possibility to activate subpixel hinting (a.k.a. ClearType, still under development).
- Automatic hinter module. It is also used by other scalable formats.
- Due to its modular design, it is easy to enhance the library, providing additional format-specific information through optional APIs (as an example, an optional API is provided to retrieve SFNT tables from TrueType and OpenType fonts).
- Provides its own caching subsystem. It can be used to cache either face instances or glyph images efficiently.
- A bundle of demo programs demonstrate the usage of FreeType.
Website: www.freetype.org
Support: Documentation, Mailing List
Developer: Alexei Podtelezhnikov, Suzuki Toshiya, and many contributors (Original developers: David Turner, Robert Wilhelm, Werner Lemberg)
License: BSD-like FreeType License and the GNU Public License, Version 2
FreeType is written in C. Learn C with our recommended free books and free tutorials.
Related Software
| Font Renderers | |
|---|---|
| HarfBuzz | OpenType text shaping engine |
| FreeType | Small and efficient software font engine |
| LibICU | Libraries for Unicode and internationalization |
| Fontconfig | Library for configuring and customizing font access |
| FriBidi | Implementation of the Unicode Bidirectional Algorithm |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

