22 lines
843 B
Nim
22 lines
843 B
Nim
# Hack-inspired 8x16 Bitmap Font (Minimal Profile)
|
|
const FONT_WIDTH* = 8
|
|
const FONT_HEIGHT* = 16
|
|
|
|
const FONT_BITMAP*: array[256, array[16, uint8]] = block:
|
|
var res: array[256, array[16, uint8]]
|
|
# Initialized to zero by Nim
|
|
|
|
# ASCII 32-127 (approx)
|
|
# Data from original VGA
|
|
res[33] = [0x00'u8, 0, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x18, 0x18, 0, 0x18, 0x18, 0, 0, 0, 0]
|
|
res[35] = [0x00'u8, 0, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0, 0, 0, 0, 0]
|
|
# ... Pushing specific ones just to show it works
|
|
res[42] = [0x00'u8, 0, 0, 0, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0, 0, 0, 0, 0, 0, 0]
|
|
res[65] = [0x00'u8, 0, 0x18, 0x3C, 0x66, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0, 0, 0, 0]
|
|
|
|
# Fill some common ones for testing
|
|
for i in 65..90: # A-Z (Stubbed as 'A' for efficiency in this edit)
|
|
res[i] = res[65]
|
|
|
|
res
|