Last Updated on March 7, 2024
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.
Features include:
- 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.
Popular series | |
---|---|
The largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions. | |
Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information. | |
The Big List of Active Linux Distros is a large compilation of actively developed Linux distributions. | |
Replace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS. | |
Awesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series. | |
Machine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source. | |
New to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux. | |
Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities. | |
Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users. | |
Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine. | |
Surveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal. | |
Saving Money with Linux looks at how you can reduce your energy bills running Linux. | |
Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum. | |
Now and Then examines how promising open source software fared over the years. It can be a bumpy ride. | |
Linux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged. | |
Linux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery. | |
Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers. | |
Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series. | |
These best free books accelerate your learning of every programming language. Learn a new language today! | |
These free tutorials offer the perfect tonic to our free programming books series. | |
Linux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts. | |
Stars and Stripes is an occasional series looking at the impact of Linux in the USA. |