Ultibo API
C/C++ API for Ultibo Core
Loading...
Searching...
No Matches
font.h File Reference

Go to the source code of this file.

Data Structures

struct  _FONT_HEADER
struct  _FONT_DATA
struct  _FONT_DATA_8X6
struct  _FONT_DATA_8X7
struct  _FONT_DATA_8X8
struct  _FONT_DATA_8X9
struct  _FONT_DATA_8X10
struct  _FONT_DATA_8X11
struct  _FONT_DATA_8X12
struct  _FONT_DATA_8X13
struct  _FONT_DATA_8X14
struct  _FONT_DATA_8X15
struct  _FONT_DATA_8X16
struct  _FONT_DATA_12X12
struct  _FONT_DATA_12X14
struct  _FONT_DATA_12X16
struct  _FONT_DATA_12X18
struct  _FONT_DATA_12X20
struct  _FONT_DATA_12X22
struct  _FONT_DATA_16X16
struct  _FONT_DATA_16X24
struct  _FONT_DATA_16X32
struct  _FONT_DATA_32X32
struct  _FONT_DATA_32X48
struct  _FONT_DATA_32X64
struct  _FONT_UNICODE
struct  _FONT_PROPERTIES
struct  _FONT_ENTRY

Macros

#define FONT_MIN_COUNT   256
#define FONT_MIN_WIDTH   8
#define FONT_MAX_WIDTH   32
#define FONT_MIN_HEIGHT   6
#define FONT_MAX_HEIGHT   64
#define FONT_SIGNATURE   0x77DE1BBC
#define FONT_NAME_LENGTH   SIZE_64
 Length of font name.
#define FONT_DESC_LENGTH   SIZE_128
 Length of font description.
#define FONT_MODE_NONE   0
#define FONT_MODE_PIXEL   1
 A font with 1 bit per pixel in the character data.
#define FONT_MODE_ALPHA8   2
 A font with 8 bits of alpha blending per pixel in the character data.
#define FONT_MODE_RGBA32   3
 A font with 32 bits RGBA per pixel in the character data.
#define FONT_FLAG_NONE   0x00000000
#define FONT_FLAG_UNICODE   0x00000001
 Font includes a unicode translation table.
#define FONT_FLAG_CODEPAGE   0x00000002
 Font has a specified codepage.
#define FONT_FLAG_BIGENDIAN   0x00000004
 Font characters are in big endian order (Only applies to characters larger than one byte).
#define FONT_FLAG_RIGHTALIGN   0x00000008
 Font characters are right aligned, no need to shift during load.
#define FONT_FLAG_VARIABLE   0x00000010
 Font characters are variable width rather than fixed.

Typedefs

typedef struct _FONT_HEADER FONT_HEADER
typedef struct _FONT_DATA FONT_DATA
typedef struct _FONT_DATA_8X6 FONT_DATA_8X6
typedef struct _FONT_DATA_8X7 FONT_DATA_8X7
typedef struct _FONT_DATA_8X8 FONT_DATA_8X8
typedef struct _FONT_DATA_8X9 FONT_DATA_8X9
typedef struct _FONT_DATA_8X10 FONT_DATA_8X10
typedef struct _FONT_DATA_8X11 FONT_DATA_8X11
typedef struct _FONT_DATA_8X12 FONT_DATA_8X12
typedef struct _FONT_DATA_8X13 FONT_DATA_8X13
typedef struct _FONT_DATA_8X14 FONT_DATA_8X14
typedef struct _FONT_DATA_8X15 FONT_DATA_8X15
typedef struct _FONT_DATA_8X16 FONT_DATA_8X16
typedef struct _FONT_DATA_12X12 FONT_DATA_12X12
typedef struct _FONT_DATA_12X14 FONT_DATA_12X14
typedef struct _FONT_DATA_12X16 FONT_DATA_12X16
typedef struct _FONT_DATA_12X18 FONT_DATA_12X18
typedef struct _FONT_DATA_12X20 FONT_DATA_12X20
typedef struct _FONT_DATA_12X22 FONT_DATA_12X22
typedef struct _FONT_DATA_16X16 FONT_DATA_16X16
typedef struct _FONT_DATA_16X24 FONT_DATA_16X24
typedef struct _FONT_DATA_16X32 FONT_DATA_16X32
typedef struct _FONT_DATA_32X32 FONT_DATA_32X32
typedef struct _FONT_DATA_32X48 FONT_DATA_32X48
typedef struct _FONT_DATA_32X64 FONT_DATA_32X64
typedef uint8_t FONT_CHARS_8[]
typedef uint16_t FONT_CHARS_16[]
typedef uint32_t FONT_CHARS_32[]
typedef struct _FONT_UNICODE FONT_UNICODE
typedef struct _FONT_PROPERTIES FONT_PROPERTIES
typedef struct _FONT_ENTRY FONT_ENTRY
typedef uint32_t STDCALL(* font_enumerate_cb) (FONT_HANDLE handle, void *data)

Functions

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.
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.
uint32_t STDCALL font_unload (FONT_HANDLE handle)
uint32_t STDCALL font_get_name (FONT_HANDLE handle, char *name, uint32_t len)
uint32_t STDCALL font_get_description (FONT_HANDLE handle, char *description, uint32_t len)
uint32_t STDCALL font_get_width (FONT_HANDLE handle)
uint32_t STDCALL font_get_height (FONT_HANDLE handle)
uint32_t STDCALL font_get_properties (FONT_HANDLE handle, FONT_PROPERTIES *properties)
uint32_t STDCALL font_char_width (FONT_HANDLE handle, uint16_t character)
uint32_t STDCALL font_char_height (FONT_HANDLE handle, uint16_t character)
uint32_t STDCALL font_text_width (FONT_HANDLE handle, const char *text)
uint32_t STDCALL font_text_height (FONT_HANDLE handle, const char *text)
FONT_HANDLE STDCALL font_find_by_name (const char *name)
FONT_HANDLE STDCALL font_find_by_description (const char *description)
uint32_t STDCALL font_enumerate (font_enumerate_cb callback, void *data)
FONT_HANDLE STDCALL psf_font_load (const char *filename)
FONT_HANDLE STDCALL psf_font_load_ex (void *data, uint32_t size)
uint32_t STDCALL font_get_count (void)
 Get the current font count.
FONT_HANDLE STDCALL font_get_default (void)
 Get the current default font.
uint32_t STDCALL font_set_default (FONT_HANDLE handle)
 Set the current default font.
FONT_ENTRY *STDCALL font_check (FONT_ENTRY *font)
 Check if the supplied Font is in the Font table.

Macro Definition Documentation

◆ FONT_MIN_COUNT

#define FONT_MIN_COUNT   256

Font specific constants

◆ FONT_MIN_WIDTH

#define FONT_MIN_WIDTH   8

◆ FONT_MAX_WIDTH

#define FONT_MAX_WIDTH   32

◆ FONT_MIN_HEIGHT

#define FONT_MIN_HEIGHT   6

◆ FONT_MAX_HEIGHT

#define FONT_MAX_HEIGHT   64

◆ FONT_SIGNATURE

#define FONT_SIGNATURE   0x77DE1BBC

Font Signature

◆ FONT_NAME_LENGTH

#define FONT_NAME_LENGTH   SIZE_64

Length of font name.

Font name constants

◆ FONT_DESC_LENGTH

#define FONT_DESC_LENGTH   SIZE_128

Length of font description.

◆ FONT_MODE_NONE

#define FONT_MODE_NONE   0

Font Mode constants

◆ FONT_MODE_PIXEL

#define FONT_MODE_PIXEL   1

A font with 1 bit per pixel in the character data.

◆ FONT_MODE_ALPHA8

#define FONT_MODE_ALPHA8   2

A font with 8 bits of alpha blending per pixel in the character data.

◆ FONT_MODE_RGBA32

#define FONT_MODE_RGBA32   3

A font with 32 bits RGBA per pixel in the character data.

◆ FONT_FLAG_NONE

#define FONT_FLAG_NONE   0x00000000

Font Flag constants

◆ FONT_FLAG_UNICODE

#define FONT_FLAG_UNICODE   0x00000001

Font includes a unicode translation table.

◆ FONT_FLAG_CODEPAGE

#define FONT_FLAG_CODEPAGE   0x00000002

Font has a specified codepage.

◆ FONT_FLAG_BIGENDIAN

#define FONT_FLAG_BIGENDIAN   0x00000004

Font characters are in big endian order (Only applies to characters larger than one byte).

◆ FONT_FLAG_RIGHTALIGN

#define FONT_FLAG_RIGHTALIGN   0x00000008

Font characters are right aligned, no need to shift during load.

◆ FONT_FLAG_VARIABLE

#define FONT_FLAG_VARIABLE   0x00000010

Font characters are variable width rather than fixed.

Typedef Documentation

◆ FONT_HEADER

typedef struct _FONT_HEADER FONT_HEADER

Font specific types Font Header

◆ FONT_DATA

typedef struct _FONT_DATA FONT_DATA

Font Data

◆ FONT_DATA_8X6

typedef struct _FONT_DATA_8X6 FONT_DATA_8X6

Font Data (8 bit width) (uint8_t)

◆ FONT_DATA_8X7

typedef struct _FONT_DATA_8X7 FONT_DATA_8X7

◆ FONT_DATA_8X8

typedef struct _FONT_DATA_8X8 FONT_DATA_8X8

◆ FONT_DATA_8X9

typedef struct _FONT_DATA_8X9 FONT_DATA_8X9

◆ FONT_DATA_8X10

◆ FONT_DATA_8X11

◆ FONT_DATA_8X12

◆ FONT_DATA_8X13

◆ FONT_DATA_8X14

◆ FONT_DATA_8X15

◆ FONT_DATA_8X16

◆ FONT_DATA_12X12

Font Data (12 bit width) (uint16_t)

◆ FONT_DATA_12X14

◆ FONT_DATA_12X16

◆ FONT_DATA_12X18

◆ FONT_DATA_12X20

◆ FONT_DATA_12X22

◆ FONT_DATA_16X16

Font Data (16 bit width) (uint16_t)

◆ FONT_DATA_16X24

◆ FONT_DATA_16X32

◆ FONT_DATA_32X32

Font Data (32 bit width) (uint32_t)

◆ FONT_DATA_32X48

◆ FONT_DATA_32X64

◆ FONT_CHARS_8

typedef uint8_t FONT_CHARS_8[]

Font Chars

◆ FONT_CHARS_16

typedef uint16_t FONT_CHARS_16[]

◆ FONT_CHARS_32

typedef uint32_t FONT_CHARS_32[]

◆ FONT_UNICODE

typedef struct _FONT_UNICODE FONT_UNICODE

Font Unicode

◆ FONT_PROPERTIES

Font Properties

◆ FONT_ENTRY

typedef struct _FONT_ENTRY FONT_ENTRY

◆ font_enumerate_cb

typedef uint32_t STDCALL(* font_enumerate_cb) (FONT_HANDLE handle, void *data)

Font Enumeration Callback

Function Documentation

◆ font_load()

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.

Font Functions

Parameters
HeaderPointer to the font header
DataPointer to the font data
SizeSize of the font data

◆ font_load_ex()

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.

Parameters
HeaderPointer to the font header
DataPointer to the font data
UnicodePointer to the unicode translation table (Optional)
SizeSize of the font data
PropertiesPointer to a font properties record to use instead of the header (Optional)

◆ font_unload()

uint32_t STDCALL font_unload ( FONT_HANDLE handle)

◆ font_get_name()

uint32_t STDCALL font_get_name ( FONT_HANDLE handle,
char * name,
uint32_t len )

◆ font_get_description()

uint32_t STDCALL font_get_description ( FONT_HANDLE handle,
char * description,
uint32_t len )

◆ font_get_width()

uint32_t STDCALL font_get_width ( FONT_HANDLE handle)

◆ font_get_height()

uint32_t STDCALL font_get_height ( FONT_HANDLE handle)

◆ font_get_properties()

uint32_t STDCALL font_get_properties ( FONT_HANDLE handle,
FONT_PROPERTIES * properties )

◆ font_char_width()

uint32_t STDCALL font_char_width ( FONT_HANDLE handle,
uint16_t character )

◆ font_char_height()

uint32_t STDCALL font_char_height ( FONT_HANDLE handle,
uint16_t character )

◆ font_text_width()

uint32_t STDCALL font_text_width ( FONT_HANDLE handle,
const char * text )

◆ font_text_height()

uint32_t STDCALL font_text_height ( FONT_HANDLE handle,
const char * text )

◆ font_find_by_name()

FONT_HANDLE STDCALL font_find_by_name ( const char * name)

◆ font_find_by_description()

FONT_HANDLE STDCALL font_find_by_description ( const char * description)

◆ font_enumerate()

uint32_t STDCALL font_enumerate ( font_enumerate_cb callback,
void * data )

◆ psf_font_load()

FONT_HANDLE STDCALL psf_font_load ( const char * filename)

PSF Font Functions

◆ psf_font_load_ex()

FONT_HANDLE STDCALL psf_font_load_ex ( void * data,
uint32_t size )

◆ font_get_count()

uint32_t STDCALL font_get_count ( void )

Get the current font count.

Font Helper Functions

◆ font_get_default()

FONT_HANDLE STDCALL font_get_default ( void )

Get the current default font.

◆ font_set_default()

uint32_t STDCALL font_set_default ( FONT_HANDLE handle)

Set the current default font.

◆ font_check()

FONT_ENTRY *STDCALL font_check ( FONT_ENTRY * font)

Check if the supplied Font is in the Font table.