cohtml::UserFontDescription
Struct representing user font data. Baseline is 0.
#include <System.h>
Public Classes
Name | |
---|---|
struct | CharInfo Struct representing data for individual char. |
struct | KerningPairInfo Struct representing kerning info between chars. |
Public Functions
Name | |
---|---|
UserFontDescription() |
Public Attributes
Name | |
---|---|
Fonts::UserFontType | FontType The font type that’s going to be used for loading and rendering. |
const char * | FontFamily The font family. |
unsigned | Size The font size in which the glyph are generated. In pixels. |
unsigned | Spread The font spread size with which the glyphs are generated. It shows us how many pixels does it take to cover the [0-0.5] distance field range. In pixels. |
Fonts::FontWeight | Weight The font weight. |
bool | IsBold Whether this is a bold font. |
bool | IsItalic Whether this is an italic font. |
float | LineHeight The line height of the font according to the Size of the font. In pixels. |
float | Ascent The ascent of the font (the distance from the baseline to the tops of the tallest glyphs). Positive number. In pixels. |
float | Descent The descent of the font (the distance from the baseline to the bottoms of the lowest glyphs). Negative number. In pixels. |
CharInfo * | Chars Pointer to the char info data. |
unsigned | NumChars Number of chars in this font. |
KerningPairInfo * | KerningPairs Pointer to kerning info. |
unsigned | NumKerningPairs Number of kerning pairs. |
Public Functions Documentation
function UserFontDescription
inline UserFontDescription()
Public Attributes Documentation
variable FontType
Fonts::UserFontType FontType;
The font type that’s going to be used for loading and rendering.
variable FontFamily
const char * FontFamily;
The font family.
variable Size
unsigned Size;
The font size in which the glyph are generated. In pixels.
variable Spread
unsigned Spread;
The font spread size with which the glyphs are generated. It shows us how many pixels does it take to cover the [0-0.5] distance field range. In pixels.
Note: Spread specifies how many pixels does the distance field spread from the border(between inside and outside of a letter) to the outside. Therefore it maps to the [0-0.5] range. Some tools consider spread to be double the above distance - from end to end and is mapped to the [0-1] range. If that’s the case then that spread should be halved when used here.
variable Weight
Fonts::FontWeight Weight;
The font weight.
variable IsBold
bool IsBold;
Whether this is a bold font.
Note: Ignored when Weight is specified (not Auto)
variable IsItalic
bool IsItalic;
Whether this is an italic font.
variable LineHeight
float LineHeight;
The line height of the font according to the Size of the font. In pixels.
variable Ascent
float Ascent;
The ascent of the font (the distance from the baseline to the tops of the tallest glyphs). Positive number. In pixels.
variable Descent
float Descent;
The descent of the font (the distance from the baseline to the bottoms of the lowest glyphs). Negative number. In pixels.
variable Chars
CharInfo * Chars;
Pointer to the char info data.
variable NumChars
unsigned NumChars;
Number of chars in this font.
variable KerningPairs
KerningPairInfo * KerningPairs;
Pointer to kerning info.
Note: Kerning info is optional. If no info is present for given pair an implicit 0 amount of kerning is used. Kerning info is needed only for pairs with amount different from 0.
variable NumKerningPairs
unsigned NumKerningPairs;
Number of kerning pairs.