4. API Specification
/* Font handle */
typedef struct d3tui_font d3tui_font_t;
/* Load a font from file */
d3tui_font_t *d3tui_font_load(const char *path);
/* Load a font from memory */
d3tui_font_t *d3tui_font_load_mem(const uint8_t *data, size_t size);
/* Unload a font */
void d3tui_font_free(d3tui_font_t *font);
/* Get font metrics */
void d3tui_font_get_metrics(const d3tui_font_t *font,
uint16_t *cell_w, uint16_t *cell_h,
uint16_t *line_height);
/* Get glyph metrics */
bool d3tui_font_get_glyph(const d3tui_font_t *font, uint32_t codepoint,
int16_t *x, int16_t *y,
uint16_t *w, uint16_t *h,
int16_t *bearing_x, int16_t *bearing_y,
uint16_t *advance);
/* Get texture information */
pvr_ptr_t d3tui_font_get_texture(const d3tui_font_t *font);
void d3tui_font_get_tex_size(const d3tui_font_t *font,
uint16_t *w, uint16_t *h);
/* Get texture coordinates for a character */
bool d3tui_font_get_tex_coords(const d3tui_font_t *font, uint32_t codepoint,
float *u0, float *v0, float *u1, float *v1);