Files
nate-os/include/font_pack.h
2026-02-11 14:04:00 -07:00

28 lines
799 B
C

#pragma once
#ifndef FONT_PACK_H
#define FONT_PACK_H
#include <stdint.h>
#define FONT_WIDTH 16
#define FONT_HEIGHT 16
#define FONT_BITMAP_SIZE \
((FONT_WIDTH * FONT_HEIGHT) / 8) // 32 bytes per character
static const uint8_t empty_char_16x16[32] = {0};
typedef struct {
const uint8_t *bitmaps[26]; // Pointers to each 16x16 bitmap
} FontPack;
extern const FontPack basic_font_pack;
static inline const uint8_t *font_get_char_bitmap(const FontPack *pack,
char c) {
if (c >= 'a' && c <= 'z') // convert to uppercase
c = c - 'a' + 'A';
if (c >= 'A' && c <= 'Z')
return pack->bitmaps[c - 'A'];
return empty_char_16x16; // fallback for other characters
}
#endif // FONT_PACK_H