OpenTTD Source 20241224-master-gee860a5c8e
|
Font cache for fonts that are based on a freetype font. More...
Public Member Functions | |
FreeTypeFontCache (FontSize fs, FT_Face face, int pixels) | |
Create a new FreeTypeFontCache. | |
~FreeTypeFontCache () | |
Free everything that was allocated for this font cache. | |
void | ClearFontCache () override |
Reset cached glyphs. | |
GlyphID | MapCharToGlyph (char32_t key, bool allow_fallback=true) override |
Map a character into a glyph. | |
std::string | GetFontName () override |
Get the name of this font. | |
bool | IsBuiltInFont () override |
Is this a built-in sprite font? | |
const void * | GetOSHandle () override |
Get the native OS font handle, if there is one. | |
Public Member Functions inherited from TrueTypeFontCache | |
TrueTypeFontCache (FontSize fs, int pixels) | |
Create a new TrueTypeFontCache. | |
virtual | ~TrueTypeFontCache () |
Free everything that was allocated for this font cache. | |
int | GetFontSize () const override |
Get the nominal font size of the font. | |
void | SetUnicodeGlyph (char32_t key, SpriteID sprite) override |
Map a SpriteID to the key. | |
void | InitializeUnicodeGlyphMap () override |
Initialize the glyph map. | |
const Sprite * | GetGlyph (GlyphID key) override |
Get the glyph (sprite) of the given key. | |
void | ClearFontCache () override |
Reset cached glyphs. | |
uint | GetGlyphWidth (GlyphID key) override |
Get the width of the glyph with the given key. | |
bool | GetDrawGlyphShadow () override |
Do we need to draw a glyph shadow? | |
bool | IsBuiltInFont () override |
Is this a built-in sprite font? | |
Public Member Functions inherited from FontCache | |
FontCache (FontSize fs) | |
Create a new font cache. | |
virtual | ~FontCache () |
Clean everything up. | |
FontSize | GetSize () const |
Get the FontSize of the font. | |
int | GetHeight () const |
Get the height of the font. | |
int | GetAscender () const |
Get the ascender value of the font. | |
int | GetDescender () const |
Get the descender value of the font. | |
bool | HasParent () |
Check whether the font cache has a parent. | |
Private Member Functions | |
void | SetFontSize (int pixels) |
const Sprite * | InternalGetGlyph (GlyphID key, bool aa) override |
Private Attributes | |
FT_Face | face |
The font face associated with this font. | |
Additional Inherited Members | |
Static Public Member Functions inherited from FontCache | |
static void | InitializeFontCaches () |
static int | GetDefaultFontHeight (FontSize fs) |
static FontCache * | Get (FontSize fs) |
Get the font cache of a given font size. | |
static std::string | GetName (FontSize fs) |
Get the font name of a given font size. | |
Protected Member Functions inherited from TrueTypeFontCache | |
GlyphEntry * | GetGlyphPtr (GlyphID key) |
GlyphEntry & | SetGlyphPtr (GlyphID key, GlyphEntry &&glyph) |
Protected Attributes inherited from TrueTypeFontCache | |
int | req_size |
Requested font size. | |
int | used_size |
Used font size. | |
std::unordered_map< GlyphID, GlyphEntry > | glyph_to_sprite_map {} |
Protected Attributes inherited from FontCache | |
FontCache * | parent |
The parent of this font cache. | |
const FontSize | fs |
The size of the font. | |
int | height |
The height of the font. | |
int | ascender |
The ascender value of the font. | |
int | descender |
The descender value of the font. | |
Static Protected Attributes inherited from TrueTypeFontCache | |
static constexpr int | MAX_GLYPH_DIM = 256 |
Maximum glyph dimensions. | |
static constexpr uint | MAX_FONT_MIN_REC_SIZE = 20u |
Upper limit for the recommended font size in case a font file contains nonsensical values. | |
Static Protected Attributes inherited from FontCache | |
static FontCache * | caches [FS_END] |
All the font caches. | |
Font cache for fonts that are based on a freetype font.
Definition at line 32 of file freetypefontcache.cpp.
FreeTypeFontCache::FreeTypeFontCache | ( | FontSize | fs, |
FT_Face | face, | ||
int | pixels | ||
) |
Create a new FreeTypeFontCache.
fs | The font size that is going to be cached. |
face | The font that has to be loaded. |
pixels | The number of pixels this font should be high. |
Definition at line 58 of file freetypefontcache.cpp.
References face.
FreeTypeFontCache::~FreeTypeFontCache | ( | ) |
Free everything that was allocated for this font cache.
Definition at line 207 of file freetypefontcache.cpp.
References ClearFontCache().
|
overridevirtual |
Reset cached glyphs.
Implements FontCache.
Definition at line 217 of file freetypefontcache.cpp.
References TrueTypeFontCache::ClearFontCache(), and TrueTypeFontCache::req_size.
Referenced by ~FreeTypeFontCache().
|
inlineoverridevirtual |
Get the name of this font.
Implements FontCache.
Definition at line 44 of file freetypefontcache.cpp.
References face.
|
inlineoverridevirtual |
Get the native OS font handle, if there is one.
Reimplemented from FontCache.
Definition at line 46 of file freetypefontcache.cpp.
References face.
Implements TrueTypeFontCache.
Definition at line 226 of file freetypefontcache.cpp.
|
inlineoverridevirtual |
Is this a built-in sprite font?
Implements FontCache.
Definition at line 45 of file freetypefontcache.cpp.
|
overridevirtual |
Map a character into a glyph.
key | The character. |
fallback | Allow fallback to the parent font. |
Implements FontCache.
Definition at line 287 of file freetypefontcache.cpp.
References FontCache::MapCharToGlyph(), and FontCache::parent.
|
private |
Definition at line 65 of file freetypefontcache.cpp.
|
private |
The font face associated with this font.
Definition at line 34 of file freetypefontcache.cpp.
Referenced by FreeTypeFontCache(), GetFontName(), and GetOSHandle().