Magnum::Text::FreeTypeFont class

FreeType font plugin.

The font can be created either from file or from memory location of format supported by FreeType library.

This plugin provides the TrueTypeFont and OpenTypeFont plugins.


This plugin depends on the Text and FreeType libraries and is built if MAGNUM_WITH_FREETYPEFONT is enabled when building Magnum Plugins. To use as a dynamic plugin, load "FreeTypeFont" via Corrade::PluginManager::Manager.

Additionally, if you're using Magnum as a CMake subproject, bundle the magnum-plugins repository and do the following. Using FreeType itself as a CMake subproject isn't tested at the moment, so you need to provide it as a system dependency and point CMAKE_PREFIX_PATH to its installation dir if necessary.

add_subdirectory(magnum-plugins EXCLUDE_FROM_ALL)

# So the dynamically loaded plugin gets built implicitly
add_dependencies(your-app MagnumPlugins::FreeTypeFont)

To use as a static plugin or as a dependency of another plugin with CMake, put FindMagnumPlugins.cmake into your modules/ directory, request the FreeTypeFont component of the MagnumPlugins package and link to the MagnumPlugins::FreeTypeFont target:

find_package(MagnumPlugins REQUIRED FreeTypeFont)

# ...
target_link_libraries(your-app PRIVATE MagnumPlugins::FreeTypeFont)

See Downloading and building plugins, Plugin usage with CMake and Loading and using plugins for more information.

Base classes

class AbstractFont
Base for font plugins.

Derived classes

class HarfBuzzFont
HarfBuzz font plugin.

Public static functions

static void initialize()
Initialize FreeType library.
static void finalize()
Finalize FreeType library.

Constructors, destructors, conversion operators

FreeTypeFont() explicit
Default constructor.
FreeTypeFont(PluginManager::AbstractManager& manager, const Containers::StringView& plugin) explicit
Plugin manager constructor.