# Text Renderer ## Current state No text rendering exists yet. No font loading or glyph blitting code exists. ## Goal Draw ASCII text into the RGB565 framebuffer using a bitmap font. ## Design notes - A bitmap font is the right fit: each glyph is a small masked tile, blitted directly into the framebuffer using the existing blit primitive in `pixelhelper.rs`. - Likely approach: a fixed 8×8 or similar glyph grid packed into a PNG, one glyph per ASCII codepoint starting at 0x20 (space). - The font image only needs its alpha mask: glyph pixels are opaque, background transparent; the caller supplies the color and `draw_text` paints the mask with it. - API sketch: ```rust fn draw_text(frame: &mut [u16], font: &Font, x: i32, y: i32, color: u16, text: &str); ``` - `Font` holds the glyph sheet as an `Image` plus glyph width/height. ## Open questions - How do we handle proportional spacing of different characters? - How do we store font data in memory? - How do we handle font color rendering? - How do we handle special characters like Ä, Ö, Ü, ß, etc.?