|
OpenTTD Source 20260218-master-g2123fca5ea
|
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 () override | |
| 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. | |
| ~TrueTypeFontCache () override | |
| Free everything that was allocated for this font cache. | |
| int | GetFontSize () const override |
| Get the nominal font size of the font. | |
| 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 | |
| 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 |
| Load the glyph as a sprite. | |
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 () |
| Initialise font caches with the base sprite font cache for all sizes. | |
| static void | UninitializeFontCaches () |
| Free everything allocated w.r.t. | |
| static void | LoadFontCaches (FontSizes fontsizes) |
| (Re)initialize the font cache related things, i.e. | |
| static void | ClearFontCaches (FontSizes fontsizes) |
| Clear cached information for the specified font caches. | |
| 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. | |
| Static Public Attributes inherited from FontCache | |
| static const int | DEFAULT_FONT_HEIGHT [FS_END] = {10, 6, 18, 10} |
| Default unscaled font heights. | |
| static const int | DEFAULT_FONT_ASCENDER [FS_END] = {8, 5, 15, 8} |
| Default unscaled font ascenders. | |
| Protected Member Functions inherited from TrueTypeFontCache | |
| GlyphEntry * | GetGlyphPtr (GlyphID key) |
| GlyphEntry & | SetGlyphPtr (GlyphID key, GlyphEntry &&glyph) |
| Protected Member Functions inherited from FontCache | |
| FontCache (FontSize fs) | |
| Static Protected Member Functions inherited from FontCache | |
| static void | Register (std::unique_ptr< FontCache > &&fc) |
| Register a FontCache for its font size. | |
| Protected Attributes inherited from TrueTypeFontCache | |
| int | req_size = 0 |
| Requested font size. | |
| int | used_size = 0 |
| Used font size. | |
| std::unordered_map< GlyphID, GlyphEntry > | glyph_to_sprite_map {} |
| Protected Attributes inherited from FontCache | |
| std::unique_ptr< FontCache > | parent |
| The parent of this font cache. | |
| const FontSize | fs |
| The size of the font. | |
| int | height = 0 |
| The height of the font. | |
| int | ascender = 0 |
| The ascender value of the font. | |
| int | descender = 0 |
| 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 std::array< std::unique_ptr< FontCache >, FS_END > | caches {} |
| All the font caches. | |
Font cache for fonts that are based on a freetype font.
Definition at line 33 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 56 of file freetypefontcache.cpp.
References face, FontCache::fs, and TrueTypeFontCache::TrueTypeFontCache().
|
override |
Free everything that was allocated for this font cache.
Definition at line 117 of file freetypefontcache.cpp.
References ClearFontCache(), and face.
|
overridevirtual |
Reset cached glyphs.
Implements FontCache.
Definition at line 127 of file freetypefontcache.cpp.
References TrueTypeFontCache::ClearFontCache(), face, and TrueTypeFontCache::req_size.
Referenced by ~FreeTypeFontCache().
|
inlineoverridevirtual |
Get the name of this font.
Implements FontCache.
Definition at line 45 of file freetypefontcache.cpp.
References face.
|
inlineoverridevirtual |
Get the native OS font handle, if there is one.
Reimplemented from FontCache.
Definition at line 47 of file freetypefontcache.cpp.
References face.
Load the glyph as a sprite.
| key | Unique ID of glyph to load. |
| aa | Whether to enable anti-aliasing. |
Implements TrueTypeFontCache.
Definition at line 136 of file freetypefontcache.cpp.
References SpriteLoader::CommonPixel::a, SpriteLoader::Sprite::AllocateData(), Alpha, FontCache::ascender, SpriteLoader::Sprite::colours, SpriteLoader::Sprite::data, TrueTypeFontCache::GlyphEntry::data, SpriteEncoder::Encode(), face, Font, FontCache::fs, FS_NORMAL, BlitterFactory::GetCurrentBlitter(), HasBit(), FontCache::height, SpriteLoader::Sprite::height, SpriteLoader::CommonPixel::m, TrueTypeFontCache::MAX_GLYPH_DIM, Min, Palette, ScaleGUITrad(), BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Set(), SpriteLoader::Sprite::width, TrueTypeFontCache::GlyphEntry::width, SpriteLoader::Sprite::x_offs, and SpriteLoader::Sprite::y_offs.
|
inlineoverridevirtual |
Is this a built-in sprite font?
true iff the font is the sprite font. Implements FontCache.
Definition at line 46 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 197 of file freetypefontcache.cpp.
References face, and FontCache::parent.
|
private |
Definition at line 63 of file freetypefontcache.cpp.
|
private |
The font face associated with this font.
Definition at line 35 of file freetypefontcache.cpp.
Referenced by ClearFontCache(), FreeTypeFontCache(), GetFontName(), GetOSHandle(), InternalGetGlyph(), MapCharToGlyph(), and ~FreeTypeFontCache().