Ultralight C++ API 1.3.0
|
#include <Ultralight/platform/FontLoader.h>
User-defined font loader interface.
The library uses this to load all system fonts.
Every operating system has its own library of installed system fonts. The FontLoader interface is used to lookup these fonts and fetch the actual font data (raw TTF/OTF file data) for a given given font description.
To provide your own custom FontLoader implementation, you should inherit from this class, handle the virtual member functions, and then pass an instance of your class to Platform::set_font_loader() before calling Renderer::Create() or App::Create().
AppCore uses a default OS-specific FontLoader implementation when you call App::Create().
If you are using Renderer::Create(), you can still use AppCore's implementation– see the helper functions defined in <AppCore/Platform.h>.
Public Member Functions | |
virtual | ~FontLoader () |
virtual String | fallback_font () const =0 |
Fallback font family name. | |
virtual String | fallback_font_for_characters (const String &characters, int weight, bool italic) const =0 |
Fallback font family name that can render the specified characters. | |
virtual RefPtr< FontFile > | Load (const String &family, int weight, bool italic)=0 |
Get the actual font file data (TTF/OTF) for a given font description. | |
|
virtual |
|
pure virtual |
Fallback font family name.
Will be used if all other fonts fail to load.
|
pure virtual |
Fallback font family name that can render the specified characters.
Mainly used to support CJK (Chinese, Japanese, Korean) text display.
characters | One or more UTF-16 characters. This is almost always a single character. |
weight | Font weight. |
italic | Whether or not italic is requested. |
|
pure virtual |
Get the actual font file data (TTF/OTF) for a given font description.
family | Font family name. |
weight | Font weight. |
italic | Whether or not italic is requested. |