TGUI  0.8-dev
tgui::Font Class Reference

Public Member Functions

 Font (std::nullptr_t=nullptr)
 Default constructor which will set the font to nullptr.
 
 Font (const std::string &id)
 Constructor to create the font from a string (filename by default) More...
 
 Font (const char *id)
 Constructor to create the font from a string (filename by default) More...
 
 Font (const std::shared_ptr< sf::Font > &font)
 Constructor to share the font directly. More...
 
 Font (const sf::Font &font)
 Constructor to set a copy of your font. More...
 
const std::string & getId () const
 Returns the id that was used to load the font. More...
 
std::shared_ptr< sf::Font > getFont () const
 Gets the underlying SFML font. More...
 
 operator std::shared_ptr< sf::Font > () const
 Gets the underlying SFML font. More...
 
 operator bool () const
 Converts the font to a boolean to check if it is a nullptr of not.
 
bool operator== (std::nullptr_t) const
 Compares the font with a nullptr.
 
bool operator!= (std::nullptr_t) const
 Compares the font with a nullptr.
 
bool operator== (const Font &right) const
 Compares the font with another one.
 
bool operator!= (const Font &right) const
 Compares the font with another one.
 
const sf::Glyph & getGlyph (sf::Uint32 codePoint, unsigned int characterSize, bool bold, float outlineThickness=0) const
 Retrieve a glyph of the font. More...
 
float getKerning (sf::Uint32 first, sf::Uint32 second, unsigned int characterSize) const
 Returns the kerning offset of two glyphs. More...
 
float getLineSpacing (unsigned int characterSize) const
 Returns the line spacing. More...
 

Constructor & Destructor Documentation

◆ Font() [1/4]

tgui::Font::Font ( const std::string &  id)

Constructor to create the font from a string (filename by default)

Parameters
idString to pass to the Deserializer class to load the font

◆ Font() [2/4]

tgui::Font::Font ( const char *  id)

Constructor to create the font from a string (filename by default)

Parameters
idString to pass to the Deserializer class to load the font

◆ Font() [3/4]

tgui::Font::Font ( const std::shared_ptr< sf::Font > &  font)

Constructor to share the font directly.

Parameters
fontFont to share

◆ Font() [4/4]

tgui::Font::Font ( const sf::Font &  font)

Constructor to set a copy of your font.

Parameters
fontFont to copy

Member Function Documentation

◆ getFont()

std::shared_ptr<sf::Font> tgui::Font::getFont ( ) const

Gets the underlying SFML font.

Returns
Font stored in this object

◆ getGlyph()

const sf::Glyph& tgui::Font::getGlyph ( sf::Uint32  codePoint,
unsigned int  characterSize,
bool  bold,
float  outlineThickness = 0 
) const

Retrieve a glyph of the font.

If the font is a bitmap font, not all character sizes might be available. If the glyph is not available at the requested size, an empty glyph is returned.

Be aware that using a negative value for the outline thickness will cause distorted rendering.

Parameters
codePointUnicode code point of the character to get
characterSizeReference character size
boldRetrieve the bold version or the regular one?
outlineThicknessThickness of outline (when != 0 the glyph will not be filled)
Returns
The glyph corresponding to codePoint and characterSize

◆ getId()

const std::string& tgui::Font::getId ( ) const

Returns the id that was used to load the font.

Returns
Id of the font or an empty string when no id was passed when this object was created

◆ getKerning()

float tgui::Font::getKerning ( sf::Uint32  first,
sf::Uint32  second,
unsigned int  characterSize 
) const

Returns the kerning offset of two glyphs.

The kerning is an extra offset (negative) to apply between two glyphs when rendering them, to make the pair look more "natural". For example, the pair "AV" have a special kerning to make them closer than other characters. Most of the glyphs pairs have a kerning offset of zero, though.

Parameters
firstUnicode code point of the first character
secondUnicode code point of the second character
characterSizeSize of the characters
Returns
Kerning value for first and second, in pixels

◆ getLineSpacing()

float tgui::Font::getLineSpacing ( unsigned int  characterSize) const

Returns the line spacing.

Line spacing is the vertical offset to apply between two consecutive lines of text.

Parameters
characterSizeSize of the characters
Returns
Line spacing, in pixels

◆ operator std::shared_ptr< sf::Font >()

tgui::Font::operator std::shared_ptr< sf::Font > ( ) const

Gets the underlying SFML font.

Returns
Font stored in this object

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