Font¶
Functions
-
sfFont *sfFont_createFromFile(const char *filename)¶
Create a new font from a file.
- Parameters:
filename – Path of the font file to load
- Returns:
A new sfFont object, or NULL if it failed
-
sfFont *sfFont_createFromMemory(const void *data, size_t sizeInBytes)¶
Create a new image font a file in memory.
- Parameters:
data – Pointer to the file data in memory
sizeInBytes – Size of the data to load, in bytes
- Returns:
A new sfFont object, or NULL if it failed
-
sfFont *sfFont_createFromStream(sfInputStream *stream)¶
Create a new image font a custom stream.
- Parameters:
stream – Source stream to read from
- Returns:
A new sfFont object, or NULL if it failed
-
sfFont *sfFont_copy(const sfFont *font)¶
Copy an existing font.
- Parameters:
font – Font to copy
- Returns:
Copied object
-
void sfFont_destroy(const sfFont *font)¶
Destroy an existing font.
- Parameters:
font – Font to delete
-
sfGlyph sfFont_getGlyph(const sfFont *font, uint32_t codePoint, unsigned int characterSize, bool bold, float outlineThickness)¶
Get a glyph in a font.
- Parameters:
font – Source font
codePoint – Unicode code point of the character to get
characterSize – Character size, in pixels
bold – Retrieve the bold version or the regular one?
outlineThickness – Thickness of outline (when != 0 the glyph will not be filled)
- Returns:
The corresponding glyph
-
bool sfFont_hasGlyph(const sfFont *font, uint32_t codePoint)¶
Determine if this font has a glyph representing the requested code point.
Most fonts only include a very limited selection of glyphs from specific Unicode subsets, like Latin, Cyrillic, or Asian characters.
While code points without representation will return a font specific default character, it might be useful to verify whether specific code points are included to determine whether a font is suited to display text in a specific language.
- Parameters:
font – Source font
codePoint – Unicode code point to check
- Returns:
True if the codepoint has a glyph representation, sfFalse otherwise
-
float sfFont_getKerning(const sfFont *font, uint32_t first, uint32_t second, unsigned int characterSize)¶
Get the kerning value corresponding to a given pair of characters in a font.
- Parameters:
font – Source font
first – Unicode code point of the first character
second – Unicode code point of the second character
characterSize – Character size, in pixels
- Returns:
Kerning offset, in pixels
-
float sfFont_getBoldKerning(const sfFont *font, uint32_t first, uint32_t second, unsigned int characterSize)¶
Get the bold kerning value corresponding to a given pair of characters in a font.
- Parameters:
font – Source font
first – Unicode code point of the first character
second – Unicode code point of the second character
characterSize – Character size, in pixels
- Returns:
Kerning offset, in pixels
-
float sfFont_getLineSpacing(const sfFont *font, unsigned int characterSize)¶
Get the line spacing value.
- Parameters:
font – Source font
characterSize – Character size, in pixels
- Returns:
Line spacing, in pixels
-
float sfFont_getUnderlinePosition(const sfFont *font, unsigned int characterSize)¶
Get the position of the underline.
Underline position is the vertical offset to apply between the baseline and the underline.
- Parameters:
font – Source font
characterSize – Reference character size
- Returns:
Underline position, in pixels
-
float sfFont_getUnderlineThickness(const sfFont *font, unsigned int characterSize)¶
Get the thickness of the underline.
Underline thickness is the vertical size of the underline.
- Parameters:
font – Source font
characterSize – Reference character size
- Returns:
Underline thickness, in pixels
-
const sfTexture *sfFont_getTexture(sfFont *font, unsigned int characterSize)¶
Get the texture containing the glyphs of a given size in a font.
- Parameters:
font – Source font
characterSize – Character size, in pixels
- Returns:
Read-only pointer to the texture
-
void sfFont_setSmooth(sfFont *font, bool smooth)¶
Enable or disable the smooth filter.
When the filter is activated, the font appears smoother so that pixels are less noticeable. However if you want the font to look exactly the same as its source file, you should disable it. The smooth filter is enabled by default.
See also
isSmooth
- Parameters:
font – Source font
smooth – true to enable smoothing, false to disable it
-
bool sfFont_isSmooth(const sfFont *font)¶
Tell whether the smooth filter is enabled or disabled.
See also
setSmooth
- Parameters:
font – Source font
- Returns:
true if smoothing is enabled, false if it is disabled
-
sfFontInfo sfFont_getInfo(const sfFont *font)¶
Get the font information.
The returned structure will remain valid only if the font is still valid. If the font is invalid an invalid structure is returned.
- Parameters:
font – Source font
- Returns:
A structure that holds the font information