OpenTTD Source  1.11.2
FreeTypeFontCache Class Reference

Font cache for fonts that are based on a freetype font. More...

Inheritance diagram for FreeTypeFontCache:
TrueTypeFontCache FontCache

Public Member Functions

 FreeTypeFontCache (FontSize fs, FT_Face face, int pixels)
 Create a new FreeTypeFontCache. More...
 
 ~FreeTypeFontCache ()
 Free everything that was allocated for this font cache.
 
virtual void ClearFontCache ()
 Reset cached glyphs.
 
virtual GlyphID MapCharToGlyph (WChar key)
 Map a character into a glyph. More...
 
virtual const char * GetFontName ()
 Get the name of this font. More...
 
virtual bool IsBuiltInFont ()
 Is this a built-in sprite font?
 
- Public Member Functions inherited from TrueTypeFontCache
 TrueTypeFontCache (FontSize fs, int pixels)
 Create a new TrueTypeFontCache. More...
 
virtual ~TrueTypeFontCache ()
 Free everything that was allocated for this font cache.
 
int GetFontSize () const override
 Get the nominal font size of the font. More...
 
SpriteID GetUnicodeGlyph (WChar key) override
 Get the SpriteID mapped to the given key. More...
 
void SetUnicodeGlyph (WChar key, SpriteID sprite) override
 Map a SpriteID to the key. More...
 
void InitializeUnicodeGlyphMap () override
 Initialize the glyph map.
 
const SpriteGetGlyph (GlyphID key) override
 Get the glyph (sprite) of the given key. More...
 
const void * GetFontTable (uint32 tag, size_t &length) override
 Read a font table from the font. More...
 
void ClearFontCache () override
 Reset cached glyphs.
 
uint GetGlyphWidth (GlyphID key) override
 Get the width of the glyph with the given key. More...
 
bool GetDrawGlyphShadow () override
 Do we need to draw a glyph shadow? More...
 
bool IsBuiltInFont () override
 Is this a built-in sprite font?
 
- Public Member Functions inherited from FontCache
 FontCache (FontSize fs)
 Create a new font cache. More...
 
virtual ~FontCache ()
 Clean everything up.
 
FontSize GetSize () const
 Get the FontSize of the font. More...
 
virtual int GetHeight () const
 Get the height of the font. More...
 
int GetAscender () const
 Get the ascender value of the font. More...
 
int GetDescender () const
 Get the descender value of the font. More...
 
int GetUnitsPerEM () const
 Get the units per EM value of the font. More...
 
virtual const void * GetOSHandle ()
 Get the native OS font handle, if there is one. More...
 
bool HasParent ()
 Check whether the font cache has a parent.
 

Private Member Functions

void SetFontSize (FontSize fs, FT_Face face, int pixels)
 
virtual const void * InternalGetFontTable (uint32 tag, size_t &length)
 
virtual const SpriteInternalGetGlyph (GlyphID key, bool aa)
 

Private Attributes

FT_Face face
 The font face associated with this font.
 

Additional Inherited Members

- Static Public Member Functions inherited from FontCache
static FontCacheGet (FontSize fs)
 Get the font cache of a given font size. More...
 
- Protected Types inherited from TrueTypeFontCache
typedef SmallMap< uint32, std::pair< size_t, const void * > > FontTable
 Table with font table cache.
 
- Protected Member Functions inherited from TrueTypeFontCache
GlyphEntryGetGlyphPtr (GlyphID key)
 
void SetGlyphPtr (GlyphID key, const GlyphEntry *glyph, bool duplicate=false)
 
- Static Protected Member Functions inherited from FontCache
static int GetDefaultFontHeight (FontSize fs)
 
- Protected Attributes inherited from TrueTypeFontCache
int req_size
 Requested font size.
 
int used_size
 Used font size.
 
FontTable font_tables
 Cached font tables.
 
GlyphEntry ** glyph_to_sprite
 The glyph cache. More...
 
- Protected Attributes inherited from FontCache
FontCacheparent
 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.
 
int units_per_em
 The units per EM 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.
 

Detailed Description

Font cache for fonts that are based on a freetype font.

Definition at line 394 of file fontcache.cpp.

Constructor & Destructor Documentation

◆ FreeTypeFontCache()

FreeTypeFontCache::FreeTypeFontCache ( FontSize  fs,
FT_Face  face,
int  pixels 
)

Create a new FreeTypeFontCache.

Parameters
fsThe font size that is going to be cached.
faceThe font that has to be loaded.
pixelsThe number of pixels this font should be high.

Definition at line 420 of file fontcache.cpp.

References face, and FontCache::fs.

Member Function Documentation

◆ GetFontName()

virtual const char* FreeTypeFontCache::GetFontName ( )
inlinevirtual

Get the name of this font.

Returns
The name of the font.

Implements FontCache.

Definition at line 407 of file fontcache.cpp.

References face.

◆ MapCharToGlyph()

GlyphID FreeTypeFontCache::MapCharToGlyph ( WChar  key)
virtual

Map a character into a glyph.

Parameters
keyThe character.
Returns
The glyph ID used to draw the character.

Implements FontCache.

Definition at line 650 of file fontcache.cpp.


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