Struct(TTF_Glyph) { f32 off_x; f32 off_y; f32 width; f32 height; i32 advance; Rect atlas_rect; }; Struct(TTF_Decoded) { TTF_Glyph *glyphs; u16 glyphs_count; u16 *cache_indices; /* Array of indices into the `glyphs` array in order of `cache_chars` */ u32 image_width; u32 image_height; u32 *image_pixels; /* Array of [width * height] pixels */ }; void TTF_Startup(void); TTF_Decoded TTF_Decode(Arena *arena, String encoded, f32 point_size, u32 *cache_codes, u32 cache_codes_count);