From db022ffc366c8e81cd1120aa0190661e43d5dc32 Mon Sep 17 00:00:00 2001 From: user Date: Thu, 16 Jul 2026 14:53:25 +0200 Subject: font: full mixed-case + punctuation glyph set (not uppercase-only) Replace the small-caps placeholder font with a real baseline-aligned 4x8 set covering all 96 printable ASCII: distinct lowercase with true ascenders (b d f h k l t) and descenders (g j p q y), digits, and punctuation. Metrics: caps/ascenders rows 1-5, x-height rows 2-5, baseline row 5, descenders into rows 6-7. Glyphs are ~3px wide in the 4px cell -- cramped but legible; the tile mechanism itself imposes no character-set limit. genfont.py now takes per-glyph (top, rows) so glyphs sit on the baseline. Demo strings in term_test updated to show mixed case + punctuation. Verified by screenshot: descenders visibly drop below the baseline. --- src/term.asm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/term.asm') diff --git a/src/term.asm b/src/term.asm index 9d13b80..2b5caf3 100644 --- a/src/term.asm +++ b/src/term.asm @@ -373,9 +373,9 @@ term_test:: call term_puts call term_show ret -.s0 db "GBOS TERMINAL - 40 COLUMNS x 18 ROWS", 0 -.s1 db "ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789", 0 -.s2 db "the quick brown fox jumps over the dog.", 0 -.s3 db "0123456789012345678901234567890123456789", 0 -.s4 db "row 10: some text in the middle here...", 0 -.s5 db "LAST ROW 17 - exercises bank-1 tiles!!!", 0 +.s0 db "GBOS Terminal - now with lowercase!", 0 +.s1 db "The quick brown fox jumps over a", 0 +.s2 db "lazy dog. Digits 0123456789 too.", 0 +.s3 db "abcdefghijklmnopqrstuvwxyz", 0 +.s4 db "ascenders bdfhklt, descenders gjpqy", 0 +.s5 db "Punct .,:;!? +-*/=<>()[]#@ ok", 0 -- cgit v1.3.1-sl0p