37#define FONT_MIN_COUNT 256
39#define FONT_MIN_WIDTH 8
40#define FONT_MAX_WIDTH 32
42#define FONT_MIN_HEIGHT 6
43#define FONT_MAX_HEIGHT 64
46#define FONT_SIGNATURE 0x77DE1BBC
49#define FONT_NAME_LENGTH SIZE_64
50#define FONT_DESC_LENGTH SIZE_128
53#define FONT_MODE_NONE 0
54#define FONT_MODE_PIXEL 1
55#define FONT_MODE_ALPHA8 2
56#define FONT_MODE_RGBA32 3
59#define FONT_FLAG_NONE 0x00000000
60#define FONT_FLAG_UNICODE 0x00000001
61#define FONT_FLAG_CODEPAGE 0x00000002
62#define FONT_FLAG_BIGENDIAN 0x00000004
63#define FONT_FLAG_RIGHTALIGN 0x00000008
64#define FONT_FLAG_VARIABLE 0x00000010
struct _FONT_DATA_8X16 FONT_DATA_8X16
Definition font.h:151
uint32_t STDCALL font_enumerate(font_enumerate_cb callback, void *data)
FONT_HANDLE STDCALL font_find_by_name(const char *name)
uint32_t STDCALL font_get_height(FONT_HANDLE handle)
uint16_t FONT_CHARS_16[]
Definition font.h:234
FONT_HANDLE STDCALL font_find_by_description(const char *description)
struct _FONT_DATA_32X64 FONT_DATA_32X64
Definition font.h:226
uint32_t STDCALL font_text_width(FONT_HANDLE handle, const char *text)
FONT_HANDLE STDCALL font_get_default(void)
Get the current default font.
struct _FONT_DATA_16X24 FONT_DATA_16X24
Definition font.h:201
struct _FONT_DATA_8X7 FONT_DATA_8X7
Definition font.h:97
struct _FONT_HEADER FONT_HEADER
Definition font.h:69
struct _FONT_DATA_16X16 FONT_DATA_16X16
Definition font.h:195
struct _FONT_DATA_16X32 FONT_DATA_16X32
Definition font.h:207
uint32_t FONT_CHARS_32[]
Definition font.h:235
struct _FONT_DATA FONT_DATA
Definition font.h:84
uint32_t STDCALL font_get_properties(FONT_HANDLE handle, FONT_PROPERTIES *properties)
struct _FONT_ENTRY FONT_ENTRY
Definition font.h:259
struct _FONT_DATA_8X6 FONT_DATA_8X6
Definition font.h:91
struct _FONT_DATA_12X22 FONT_DATA_12X22
Definition font.h:188
uint32_t STDCALL font_char_width(FONT_HANDLE handle, uint16_t character)
#define FONT_NAME_LENGTH
Length of font name.
Definition font.h:49
uint32_t STDCALL(* font_enumerate_cb)(FONT_HANDLE handle, void *data)
Definition font.h:262
struct _FONT_DATA_12X14 FONT_DATA_12X14
Definition font.h:164
uint32_t STDCALL font_char_height(FONT_HANDLE handle, uint16_t character)
uint32_t STDCALL font_get_count(void)
Get the current font count.
struct _FONT_DATA_8X11 FONT_DATA_8X11
Definition font.h:121
struct _FONT_DATA_12X20 FONT_DATA_12X20
Definition font.h:182
struct _FONT_DATA_8X13 FONT_DATA_8X13
Definition font.h:133
uint32_t STDCALL font_get_description(FONT_HANDLE handle, char *description, uint32_t len)
struct _FONT_DATA_8X10 FONT_DATA_8X10
Definition font.h:115
FONT_ENTRY *STDCALL font_check(FONT_ENTRY *font)
Check if the supplied Font is in the Font table.
uint32_t STDCALL font_set_default(FONT_HANDLE handle)
Set the current default font.
struct _FONT_DATA_12X12 FONT_DATA_12X12
Definition font.h:158
struct _FONT_DATA_12X16 FONT_DATA_12X16
Definition font.h:170
struct _FONT_DATA_8X14 FONT_DATA_8X14
Definition font.h:139
FONT_HANDLE STDCALL psf_font_load_ex(void *data, uint32_t size)
uint32_t STDCALL font_get_width(FONT_HANDLE handle)
FONT_HANDLE STDCALL psf_font_load(const char *filename)
FONT_HANDLE STDCALL font_load_ex(FONT_HEADER *header, FONT_DATA *data, FONT_UNICODE *unicode, uint32_t size, FONT_PROPERTIES *properties)
Load a Font from a font data block and add to the Font table.
struct _FONT_PROPERTIES FONT_PROPERTIES
Definition font.h:245
#define FONT_DESC_LENGTH
Length of font description.
Definition font.h:50
uint8_t FONT_CHARS_8[]
Definition font.h:233
struct _FONT_DATA_12X18 FONT_DATA_12X18
Definition font.h:176
struct _FONT_DATA_8X9 FONT_DATA_8X9
Definition font.h:109
struct _FONT_DATA_32X32 FONT_DATA_32X32
Definition font.h:214
struct _FONT_UNICODE FONT_UNICODE
Definition font.h:238
uint32_t STDCALL font_unload(FONT_HANDLE handle)
struct _FONT_DATA_8X8 FONT_DATA_8X8
Definition font.h:103
struct _FONT_DATA_8X12 FONT_DATA_8X12
Definition font.h:127
FONT_HANDLE STDCALL font_load(FONT_HEADER *header, FONT_DATA *data, uint32_t size)
Load a Font from a font data block and add to the Font table.
uint32_t STDCALL font_text_height(FONT_HANDLE handle, const char *text)
struct _FONT_DATA_8X15 FONT_DATA_8X15
Definition font.h:145
uint32_t STDCALL font_get_name(FONT_HANDLE handle, char *name, uint32_t len)
struct _FONT_DATA_32X48 FONT_DATA_32X48
Definition font.h:220
#define STDCALL
Definition globaltypes.h:45
HANDLE FONT_HANDLE
Definition globaltypes.h:122
uint16_t data[256][12]
Definition font.h:161
uint16_t data[256][14]
Definition font.h:167
uint16_t data[256][16]
Definition font.h:173
uint16_t data[256][18]
Definition font.h:179
uint16_t data[256][20]
Definition font.h:185
uint16_t data[256][22]
Definition font.h:191
uint16_t data[256][16]
Definition font.h:198
uint16_t data[256][24]
Definition font.h:204
uint16_t data[256][32]
Definition font.h:210
uint32_t data[256][32]
Definition font.h:217
uint32_t data[256][48]
Definition font.h:223
uint32_t data[256][64]
Definition font.h:229
uint8_t data[256][10]
Definition font.h:118
uint8_t data[256][11]
Definition font.h:124
uint8_t data[256][12]
Definition font.h:130
uint8_t data[256][13]
Definition font.h:136
uint8_t data[256][14]
Definition font.h:142
uint8_t data[256][15]
Definition font.h:148
uint8_t data[256][16]
Definition font.h:154
uint8_t data[256][6]
Definition font.h:94
uint8_t data[256][7]
Definition font.h:100
uint8_t data[256][8]
Definition font.h:106
uint8_t data[256][9]
Definition font.h:112
uint8_t data[0]
Definition font.h:87
FONT_ENTRY * next
Next entry in Font table.
Definition font.h:283
FONT_ENTRY * prev
Previous entry in Font table.
Definition font.h:282
uint32_t fontflags
Font flags (eg FONT_FLAG_UNICODE).
Definition font.h:270
FONT_UNICODE * unicodedata
Font unicode translation data (Only if FONT_FLAG_UNICODE).
Definition font.h:280
uint32_t charheight
Font character height in pixels.
Definition font.h:275
char fontdescription[FONT_DESC_LENGTH]
Font description.
Definition font.h:272
char fontname[FONT_NAME_LENGTH]
Font name.
Definition font.h:271
uint32_t fontmode
Font mode (eg FONT_MODE_PIXEL).
Definition font.h:269
uint32_t signature
Signature for entry validation.
Definition font.h:268
void * chardata
Font character pixel or bitmap data.
Definition font.h:279
uint32_t charcount
Number of glyphs in font character table.
Definition font.h:276
uint32_t codepage
Font codepage (CP_ACP if not specified).
Definition font.h:278
uint32_t charmask
Transparency mask for a bitmap font (Not used for a pixel font).
Definition font.h:277
uint32_t charwidth
Font character width in pixels.
Definition font.h:274
uint32_t fontflags
Font flags (eg FONT_FLAG_UNICODE).
Definition font.h:249
uint32_t charheight
Font character height in pixels.
Definition font.h:253
char fontdescription[FONT_DESC_LENGTH]
Font description.
Definition font.h:251
char fontname[FONT_NAME_LENGTH]
Font name.
Definition font.h:250
uint32_t fontmode
Font mode (eg FONT_MODE_PIXEL).
Definition font.h:248
uint32_t charcount
Number of glyphs in font character table.
Definition font.h:254
uint32_t codepage
Font codepage (CP_ACP if not specified).
Definition font.h:256
uint32_t charmask
Transparency mask for a bitmap font (Not used for a pixel font).
Definition font.h:255
uint32_t charwidth
Font character width in pixels.
Definition font.h:252