Font Tools

FreeType – software font engine

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.

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.

Return to Font Rendering

Popular series
Free and Open Source SoftwareThe 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.
ReviewsHundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.
Alternatives to Proprietary SoftwareReplace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS.
GamesAwesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series.
Artificial intelligence iconMachine 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.
Guide to LinuxNew 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.
System ToolsEssential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.
ProductivityLinux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.
AudioSurveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal.
Saving Money with LinuxSaving Money with Linux looks at how you can reduce your energy bills running Linux.
Home ComputersHome computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.
Now and ThenNow and Then examines how promising open source software fared over the years. It can be a bumpy ride.
Linux at HomeLinux 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 CandyLinux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.
DockerGetting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.
Android AppsBest Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series.
Programming BooksThese best free books accelerate your learning of every programming language. Learn a new language today!
Programming TutorialsThese free tutorials offer the perfect tonic to our free programming books series.
Linux Around The WorldLinux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts.
Stars and StripesStars and Stripes is an occasional series looking at the impact of Linux in the USA.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments