sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
font.h
Go to the documentation of this file.
1
6
7#ifndef __FONT_H__
8#define __FONT_H__
9
10#include <draw.h>
11#include <tamtypes.h>
12
14#define SINGLE_BYTE 0
15#define DOUBLE_BYTE 1
16
17typedef struct {
19 char name[9];
21 char bold;
31 int offset;
33 char *font;
34} fontx_t;
35
37typedef struct {
38 char A;
39 char B;
40 char C;
41 char ox;
42 char oy;
43 char width;
44 char height;
45 unsigned short u1;
46 unsigned short v1;
47 unsigned short u2;
48 unsigned short v2;
49} inidata_t;
50
51typedef struct {
52 float scale;
53 char height;
54 unsigned short *charmap;
55 int totalchars;
56 int spacewidth;
57 inidata_t *chardata;
58} fsfont_t;
59
61#define LEFT_ALIGN 0
62#define CENTER_ALIGN 1
63#define RIGHT_ALIGN 2
64
65#ifdef __cplusplus
66extern "C" {
67#endif
68
69// FontX2 type fonts
70
71// README: dma heavy
72// A 16x16 pt font with a character that consists of nothing but points
73// would take roughly 2 kilobytes to draw (16x16)*8 bytes
74
78extern int fontx_load(const char *path, fontx_t* fontx, int type, int wmargin, int hmargin, int bold);
79
81extern void fontx_unload(fontx_t *fontx);
82
84extern qword_t *fontx_print_ascii(qword_t *q, int context, const unsigned char *str, int alignment, const vertex_t *v0, const color_t *c0, fontx_t *fontx);
85
87extern qword_t *fontx_print_sjis(qword_t *q, int context, const unsigned char *str, int alignment, const vertex_t *v0, const color_t *c0, fontx_t *ascii, fontx_t *kanji);
88
89// FontStudio type fonts
90
91// README:
92// Make sure to setup the texture buffer with the font texture prior to printing
93
95extern fsfont_t *fontstudio_init(int height);
96
97extern void fontstudio_free(fsfont_t *font);
98
100extern int fontstudio_parse_ini(fsfont_t *font, char *ini, float tex_width, float tex_height);
101
103extern char *fontstudio_load_ini(const char *path);
104
106extern void fontstudio_unload_ini(fsfont_t *font);
107
109extern qword_t *fontstudio_print_string(qword_t *q, int context, const unsigned char *string, int alignment, const vertex_t *v0, const color_t *c0, fsfont_t *font);
110
111#ifdef __cplusplus
112}
113#endif
114
115#endif /* __FONT_H__ */
int fontstudio_parse_ini(fsfont_t *font, char *ini, float tex_width, float tex_height)
Definition fsfont.c:91
void fontx_unload(fontx_t *fontx)
Definition fontx.c:382
qword_t * fontstudio_print_string(qword_t *q, int context, const unsigned char *string, int alignment, const vertex_t *v0, const color_t *c0, fsfont_t *font)
Definition fsfont.c:456
int fontx_load(const char *path, fontx_t *fontx, int type, int wmargin, int hmargin, int bold)
Definition fontx.c:262
fsfont_t * fontstudio_init(int height)
Definition fsfont.c:22
qword_t * fontx_print_ascii(qword_t *q, int context, const unsigned char *str, int alignment, const vertex_t *v0, const color_t *c0, fontx_t *fontx)
Definition fontx.c:559
void fontstudio_unload_ini(fsfont_t *font)
Definition fsfont.c:313
char * fontstudio_load_ini(const char *path)
Definition fsfont.c:53
qword_t * fontx_print_sjis(qword_t *q, int context, const unsigned char *str, int alignment, const vertex_t *v0, const color_t *c0, fontx_t *ascii, fontx_t *kanji)
Definition fontx.c:735
Definition font.h:17
int offset
Definition font.h:31
int charsize
Definition font.h:29
char * font
Definition font.h:33
char bold
Definition font.h:21
char name[9]
Definition font.h:19
int rowsize
Definition font.h:27
char w_margin
Definition font.h:23
char h_margin
Definition font.h:25