Font handling interface. More...
#include "kzu_font_common.h"#include <core/util/color/kzc_color.h>#include <system/debug/kzs_error.h>#include <system/kzs_types.h>Namespaces | |
| kanzi | |
Macros | |
| #define | KZ_TRUETYPE_SYSTEM_FREETYPE |
| Truetype support with Freetype. More... | |
| #define | KZ_TRUETYPE_SYSTEM_ITYPE |
| Truetype support with iType. More... | |
| #define | KZ_TRUETYPE_SYSTEM_DUMMY |
| No Truetype support. More... | |
| #define | KZ_TRUETYPE_SYSTEM_DEFAULT |
| Default truetype font system. More... | |
Functions | |
| kzsError | kzuFontLoadFromKZB (struct KzuFont *font, struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file) |
| Loads font from KZB. More... | |
| KANZI_API kzsError | kzuFontSetSize (struct KzuFont *font, kzFloat size) |
| Sets the size of the font. More... | |
| KANZI_API kzsError | kzuFontGetSize (struct KzuFont *font, kzFloat *out_size) |
| Returns the height of the font. More... | |
| KANZI_API kzsError | kzuFontSetColor (struct KzuFont *font, struct KzcColorRGBA color) |
| Sets the color of the font. More... | |
| KANZI_API kzsError | kzuFontGetColor (struct KzuFont *font, struct KzcColorRGBA *out_color) |
| Gets the color of the font. More... | |
| KANZI_API kzsError | kzuFontGetLineHeight (struct KzuFont *font, kzFloat *out_lineHeight) |
| Returns the fonts preferred line height. More... | |
| KANZI_API kzsError | kzuFontGetAscender (struct KzuFont *font, kzFloat *out_baseline) |
| Returns the fonts ascender. More... | |
| KANZI_API kzsError | kzuFontGetGlyphIndex (struct KzuFont *font, kzUnicodeChar character, kzUint *out_glyphIndex) |
| Returns the glyph index in the font for the given unicode code point. More... | |
| KANZI_API kzsError | kzuFontGetCharacterMetrics (struct KzuFont *font, kzUint glyphIndex, kzFloat *out_advance, struct KzcRectangle *out_boundingBox) |
| Gets the number of units that the cursor should move after given character glyph index. More... | |
| KANZI_API kzsError | kzuFontGetKerning (struct KzuFont *font, kzUint previousGlyphIndex, kzUint glyphIndex, kzFloat *out_kerning) |
| Gets the kerning between two given character glyph indices. More... | |
| KANZI_API kzsError | kzuFontLoadCharacterGlyph (struct KzuFont *font, kzUint glyphIndex, kzUint *out_width, kzUint *out_height, const kzByte **out_bitmapData, void **out_characterGlyph) |
| Loads the bitmap data for a single character glyph. More... | |
| KANZI_API kzsError | kzuFontReleaseCharacterGlyph (struct KzuFont *font, void *characterGlyph) |
| Releases a loaded character glyph. More... | |
| kzsError | kzuFontPrepareTextLayout (struct KzuTextLayout *textLayout, kanzi::Renderer *renderer) |
| Prepares the given text layout for rendering. More... | |
| kzsError | kzuFontDrawTextLayout (struct KzuTextLayout *textLayout, kanzi::Renderer *renderer, kzFloat x, kzFloat y) |
| Draws the given text layout to given 2D position on the screen. More... | |
| kzsError | kzuFontDrawTextLayout3D (struct KzuTextLayout *textLayout, kanzi::Renderer *renderer) |
| Draws the given text layout to 3D world with the current transformation. More... | |
| kzsError | kzuFontFreeTextLayoutData (struct KzuTextLayout *textLayout) |
| Frees the data allocated in the prepare. More... | |
| KANZI_API KzuFontType | kzuFontGetType (const struct KzuFont *font) |
| Returns font's type. More... | |
Font handling interface.
This interface provides functionality for measuring font related information and for drawing pre-layeted text. To draw arbitrary strings with this interface, the text must be first layed out with kzu_text_layouter.h.
Copyright 2008-2020 by Rightware. All rights reserved.
| #define KZ_TRUETYPE_SYSTEM_FREETYPE |
Truetype support with Freetype.
| #define KZ_TRUETYPE_SYSTEM_ITYPE |
Truetype support with iType.
| #define KZ_TRUETYPE_SYSTEM_DUMMY |
No Truetype support.
| #define KZ_TRUETYPE_SYSTEM_DEFAULT |
Default truetype font system.
| kzsError kzuFontLoadFromKZB | ( | struct KzuFont * | font, |
| struct KzcInputStream * | inputStream, | ||
| const struct KzuBinaryFileInfo * | file | ||
| ) |
Loads font from KZB.
Sets the size of the font.
Returns the height of the font.
| KANZI_API kzsError kzuFontSetColor | ( | struct KzuFont * | font, |
| struct KzcColorRGBA | color | ||
| ) |
Sets the color of the font.
| KANZI_API kzsError kzuFontGetColor | ( | struct KzuFont * | font, |
| struct KzcColorRGBA * | out_color | ||
| ) |
Gets the color of the font.
Returns the fonts preferred line height.
Returns the fonts ascender.
This is how much the font ascends below the baseline.
| KANZI_API kzsError kzuFontGetGlyphIndex | ( | struct KzuFont * | font, |
| kzUnicodeChar | character, | ||
| kzUint * | out_glyphIndex | ||
| ) |
Returns the glyph index in the font for the given unicode code point.
| KANZI_API kzsError kzuFontGetCharacterMetrics | ( | struct KzuFont * | font, |
| kzUint | glyphIndex, | ||
| kzFloat * | out_advance, | ||
| struct KzcRectangle * | out_boundingBox | ||
| ) |
Gets the number of units that the cursor should move after given character glyph index.
| KANZI_API kzsError kzuFontGetKerning | ( | struct KzuFont * | font, |
| kzUint | previousGlyphIndex, | ||
| kzUint | glyphIndex, | ||
| kzFloat * | out_kerning | ||
| ) |
Gets the kerning between two given character glyph indices.
| KANZI_API kzsError kzuFontLoadCharacterGlyph | ( | struct KzuFont * | font, |
| kzUint | glyphIndex, | ||
| kzUint * | out_width, | ||
| kzUint * | out_height, | ||
| const kzByte ** | out_bitmapData, | ||
| void ** | out_characterGlyph | ||
| ) |
Loads the bitmap data for a single character glyph.
The returned character glyph needs to be released with a call to release, and the next glyph can't be loaded before the previous glyph has been released. The bitmap data is returned as a greyscale image with 8 bits per pixel.
Releases a loaded character glyph.
| kzsError kzuFontPrepareTextLayout | ( | struct KzuTextLayout * | textLayout, |
| kanzi::Renderer * | renderer | ||
| ) |
Prepares the given text layout for rendering.
This step is automatically done when drawing for the first time if not already prepared before.
| kzsError kzuFontDrawTextLayout | ( | struct KzuTextLayout * | textLayout, |
| kanzi::Renderer * | renderer, | ||
| kzFloat | x, | ||
| kzFloat | y | ||
| ) |
Draws the given text layout to given 2D position on the screen.
| kzsError kzuFontDrawTextLayout3D | ( | struct KzuTextLayout * | textLayout, |
| kanzi::Renderer * | renderer | ||
| ) |
Draws the given text layout to 3D world with the current transformation.
| kzsError kzuFontFreeTextLayoutData | ( | struct KzuTextLayout * | textLayout | ) |
Frees the data allocated in the prepare.
This is automatically done when deleting the text layout if needed.
| KANZI_API KzuFontType kzuFontGetType | ( | const struct KzuFont * | font | ) |
Returns font's type.