![]() |
Lysa
0.0
Lysa 3D Engine
|
Font resource used to render text.
A font is defined by a font file and a size. Glyphs are packed into an atlas and common metrics (ascender, descender, line height) are exposed for text layout.
Inheritance diagram for Font:Classes | |
| struct | GlyphBounds |
| struct | GlyphInfo |
Public Member Functions | |
| Font (const std::string &path) | |
| Font (const Font &font) | |
| ~Font () override | |
| void | getSize (const std::string &text, float fontScale, float &width, float &height) |
| float2 | getSize (const std::string &text, float fontScale) |
| float | getWidth (char c, float fontScale) |
| uint32 | getFontSize () const |
| float | getLineHeight () const |
| float | getAscender () const |
| float | getDescender () const |
| const GlyphInfo & | getGlyphInfo (uint32 index) const |
| const Image & | getAtlas () const |
| const FontParams & | getFontParams () const |
| void | setOutlineColor (const float4 &color) |
| void | setOutlineBias (const float bias) |
| void | setOutlineWidthAbsolute (const float width) |
| void | setOutlineWidthRelative (const float width) |
| void | setOutlineBlur (const float blur) |
| void | setOutlineThreshold (const float threshold) |
| auto | getHarfBuzzFont () const |
Public Member Functions inherited from UnmanagedResource | |
| UnmanagedResource () | |
| UnmanagedResource (const Resource &other) | |
Public Member Functions inherited from Resource | |
| bool | operator== (const Resource &other) const |
| Resource () = default | |
| Resource (const unique_id id) | |
| virtual | ~Resource () = default |
Additional Inherited Members | |
Public Attributes inherited from Resource | |
| unique_id | id {INVALID_ID} |
| Font | ( | const std::string & | path | ) |
Construct a font resource from a font file.
| path | Font file path, relative to the application working directory. |
| Font | ( | const Font & | font | ) |
|
override |
|
inline |
Ascender in pixels (above the baseline).
|
inline |
Get the underlying glyph atlas image.
|
inline |
Descender in pixels (below the baseline).
|
inline |
Get current font rendering parameters.
|
inline |
Get the font size used to build the atlas (in pixels).
Retrieve glyph information by glyph index.
| index | Glyph index as returned by the shaper. |
|
inline |
Access the underlying HarfBuzz font handle.
|
inline |
Line height relative to the font size.
| float2 getSize | ( | const std::string & | text, |
| float | fontScale | ||
| ) |
Compute the size in pixels for a UTF-8 string.
| text | Input text. |
| fontScale | Scale factor applied to the base font size (1.0 = atlas size). |
| void getSize | ( | const std::string & | text, |
| float | fontScale, | ||
| float & | width, | ||
| float & | height | ||
| ) |
Compute the size in pixels for a UTF-8 string.
| text | Input text. |
| fontScale | Scale factor applied to the base font size (1.0 = atlas size). |
| width | Output total width in pixels. |
| height | Output total height in pixels. |
| float getWidth | ( | char | c, |
| float | fontScale | ||
| ) |
|
inline |
Set the outline bias.
|
inline |
Set the outline blur factor.
|
inline |
Set the outline color.
|
inline |
Set the SDF/MSDF threshold.
|
inline |
Set the absolute outline width (in pixels).
|
inline |
Set the relative outline width (scaled by font size).