Kanzi  3.9.7
Kanzi Engine API
kanzi::FreeTypeFontEnginePlugin Class Reference

FreeTypeFontEnginePlugin is the FreeType font engine plugin implementation. More...

#include <kanzi/plugins/freetype/freetype_plugin.hpp>

Inheritance diagram for kanzi::FreeTypeFontEnginePlugin:
[legend]

Public Member Functions

 FreeTypeFontEnginePlugin ()=default
 Constructor. More...
 
FontEngine getEngineType () const override
 Returns the font engine type that is used by this font engine plugin. More...
 
FontLoaderPtr getFontLoader (Domain *domain) const override
 Creates a FontLoader object. More...
 
TextShaperPtr getShaper (const FontRuntime &font) const override
 Creates a TextShaper object. More...
 
void initialize (const BackendProperties &properties) override
 Initializes the FreeType font backend with the given properties. More...
 
- Public Member Functions inherited from kanzi::Module
virtual void destroy ()
 
virtual MetaclassContainer getMetaclassesOverride ()
 
 Module ()
 
virtual void registerDebugRenderingFunctions (DebugRenderRegistry &)
 Register the module debug rendering functions. More...
 
virtual void registerMetadataOverride (ObjectFactory &)
 Register the rest of module metadata, such as loaders for types in module. More...
 
void setDomain (Domain *domain)
 Set the domain. More...
 

Static Public Member Functions

static void registerModule (Domain *domain)
 Registers FreeType font engine available to font manager. More...
 

Additional Inherited Members

- Public Types inherited from kanzi::FontEnginePlugin
enum  FontEngine { FontEngine::MockFontEngine, FontEngine::FreeTypeFontEngine, FontEngine::ITypeFontEngine }
 Enumeration for different types of font engine (rasterizer library). More...
 
- Public Types inherited from kanzi::Module
typedef vector< const Metaclass * > MetaclassContainer
 
typedef MetaclassContainer::iterator MetaclassIterator
 
- Static Public Attributes inherited from kanzi::FontEnginePlugin
static const string s_FreeTypeFontEngineName
 Name of the FreeType font engine plugin. More...
 
static const string s_iTypeFontEngineName
 Name of the iType font engine plugin. More...
 
- Protected Member Functions inherited from kanzi::Module
virtual ~Module ()=default
 Destructor. More...
 
- Protected Attributes inherited from kanzi::Module
Domainm_domain
 The domain this module is registered to. More...
 

Detailed Description

FreeTypeFontEnginePlugin is the FreeType font engine plugin implementation.

Font engine plugins contain both font loaders for creating FontFile objects and shapers. Kanzi uses the shapers to shape text that uses Fonts from the same plugin.

FreeTypeFontEnginePlugin uses FreeType for rasterizing fonts, Harfbuzz for shaping, ICU bidirectional algorithm and libunibreak for line breaking.

Constructor & Destructor Documentation

kanzi::FreeTypeFontEnginePlugin::FreeTypeFontEnginePlugin ( )
explicitdefault

Constructor.

Member Function Documentation

static void kanzi::FreeTypeFontEnginePlugin::registerModule ( Domain domain)
static

Registers FreeType font engine available to font manager.

Parameters
domainThe domain to which you want the FreeType font engine module to belong.
FontEngine kanzi::FreeTypeFontEnginePlugin::getEngineType ( ) const
overridevirtual

Returns the font engine type that is used by this font engine plugin.

Returns
Type of the font engine.

Implements kanzi::FontEnginePlugin.

FontLoaderPtr kanzi::FreeTypeFontEnginePlugin::getFontLoader ( Domain domain) const
overridevirtual

Creates a FontLoader object.

Parameters
domainThe domain to which you want the FreeType font loader to belong.
Returns
Pointer to the FontLoader object.

Implements kanzi::FontEnginePlugin.

TextShaperPtr kanzi::FreeTypeFontEnginePlugin::getShaper ( const FontRuntime font) const
overridevirtual

Creates a TextShaper object.

Parameters
fontThe Font that the shaper will use.
Returns
Pointer to the TextShaper object.

Implements kanzi::FontEnginePlugin.

void kanzi::FreeTypeFontEnginePlugin::initialize ( const BackendProperties properties)
overridevirtual

Initializes the FreeType font backend with the given properties.

Parameters
propertiesThe properties with which to initialize the FreeType font backend.
Since
Kanzi 3.9.4

Implements kanzi::FontEnginePlugin.


The documentation for this class was generated from the following file: