OpenTTD Source 20260415-master-g3f4984ebaa
FreeTypeFontCacheFactory Class Reference
Inheritance diagram for FreeTypeFontCacheFactory:
FontCacheFactory BaseProvider< FontCacheFactory >

Public Member Functions

 ~FreeTypeFontCacheFactory () override
 Close the freetype library.
std::unique_ptr< FontCacheLoadFont (FontSize fs, FontType fonttype, bool search, const std::string &font_name, const std::any &os_handle) const override
 Try loading a font with this factory.
bool FindFallbackFont (const std::string &language_isocode, class MissingGlyphSearcher *callback) const override
 We would like to have a fallback font as the current one doesn't contain all characters we need.
Public Member Functions inherited from FontCacheFactory
 FontCacheFactory (std::string_view name, std::string_view description)
 ~FontCacheFactory () override
 Unregister this factory.
Public Member Functions inherited from BaseProvider< FontCacheFactory >
constexpr BaseProvider (std::string_view name, std::string_view description)
 Create the provider.
virtual ~BaseProvider ()=default
 Ensure the destructor of the sub classes are called as well.
std::string_view GetName () const
 Get the name of this provider.
std::string_view GetDescription () const
 Get a description of this provider.

Static Private Member Functions

static std::unique_ptr< FontCacheLoadFont (FontSize fs, FT_Face face, std::string_view font_name, uint size)

Static Private Attributes

static FreeTypeFontCacheFactory instance

Additional Inherited Members

Protected Attributes inherited from BaseProvider< FontCacheFactory >
const std::string_view name
 The name of the provider.
const std::string_view description
 A description of the provider.

Detailed Description

Definition at line 212 of file freetypefontcache.cpp.

Constructor & Destructor Documentation

◆ FreeTypeFontCacheFactory()

FreeTypeFontCacheFactory::FreeTypeFontCacheFactory ( )
inline

Definition at line 214 of file freetypefontcache.cpp.

◆ ~FreeTypeFontCacheFactory()

FreeTypeFontCacheFactory::~FreeTypeFontCacheFactory ( )
inlineoverride

Close the freetype library.

Definition at line 217 of file freetypefontcache.cpp.

Member Function Documentation

◆ FindFallbackFont()

bool FreeTypeFontCacheFactory::FindFallbackFont ( const std::string & language_isocode,
class MissingGlyphSearcher * callback ) const
inlineoverridevirtual

We would like to have a fallback font as the current one doesn't contain all characters we need.

Parameters
language_isocodeThe language, e.g. en_GB.
callbackThe function to call to check for missing glyphs.
Returns
true if a font has been set, false otherwise.

Implements FontCacheFactory.

Definition at line 266 of file freetypefontcache.cpp.

References FontConfigFindFallbackFont().

◆ LoadFont() [1/2]

std::unique_ptr< FontCache > FreeTypeFontCacheFactory::LoadFont ( FontSize fs,
FontType fonttype,
bool search,
const std::string & font_name,
const std::any & os_handle ) const
inlineoverridevirtual

Try loading a font with this factory.

Parameters
fsFont size to load.
fonttypeFont type requested.
searchSet if searching for the font.
font_nameFont name to load.
os_handleFont handle to load.
Returns
FontCache of the font if loaded, or nullptr.

Implements FontCacheFactory.

Definition at line 223 of file freetypefontcache.cpp.

References Base, Debug, FioFindFullPath(), GetFontByFaceName(), GetFontCacheFontSize(), LoadFont(), and TrueType.

Referenced by LoadFont().

◆ LoadFont() [2/2]

std::unique_ptr< FontCache > FreeTypeFontCacheFactory::LoadFont ( FontSize fs,
FT_Face face,
std::string_view font_name,
uint size )
inlinestaticprivate

Definition at line 276 of file freetypefontcache.cpp.

Field Documentation

◆ instance

FreeTypeFontCacheFactory FreeTypeFontCacheFactory::instance
staticprivate

Definition at line 311 of file freetypefontcache.cpp.


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