-
Notifications
You must be signed in to change notification settings - Fork 3
/
CFont.bt
61 lines (49 loc) · 1.05 KB
/
CFont.bt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
typedef struct Kerning {
wchar_t unicodeChar;
float adjust;
};
typedef struct SGlyphSettings {
wchar_t unicodeChar;
ushort textureIndex;
bool unk1;
bool unk2;
bool unk3;
bool unk4;
};
typedef struct SGlyphInfo {
CVector2f bearing;
CVector2f size;
CVector2f topUV;
CVector2f bottomUV;
float advWidth;
};
typedef struct SFontMetrics {
float unknownValue01;
float unknownValue02;
float unknownValue03;
int unknownValue04;
};
typedef struct CFont {
uint32 guidCount;
struct {
GUID id;
} Guids[guidCount];
uint32 unknowValue;
uint32 floatCount01;
float floatValues01[floatCount01];
uint32 floatCount02;
float floatValues02[floatCount02];
uint32 fontMetricsCount;
SFontMetrics fontMetrics[fontMetricsCount];
uint32 glyphCount;
uint32 kerningsCount;
if (glyphCount != 0) {
struct {
SGlyphSettings settings;
SGlyphInfo info;
uint32 kerningCount;
if (kerningCount != 0)
Kerning kernings[kerningCount];
} key_value_vector_node[glyphCount] <optimize = false>;
}
};