|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Bitmap font descriptor + bundled font handles for ra8_gfx. More...
#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | ra8_gfx_font_t |
| Monochrome, fixed-width bitmap font descriptor. More... | |
Variables | |
| const ra8_gfx_font_t | ra8_gfx_font_8x16 |
| Bundled 8x16 IBM PC VGA bitmap font, ASCII 0x20..0x7E. | |
Bitmap font descriptor + bundled font handles for ra8_gfx.
The font format is intentionally tiny: a packed array of glyph rows, one bit per pixel, MSB on the left. Rows are padded up to whole bytes, so an 8x16 glyph takes 16 bytes and a 6x8 glyph takes 8 bytes. ASCII codepoints first_codepoint..last_codepoint (inclusive) are stored back-to-back.
The bundled 8x16 font is reproduced from the public-domain IBM PC VGA font (BIOS code page 437). The same glyph bitmaps appear in dozens of BSD/MIT licensed sources – the canonical reference used here is the VileR "oldschool PC fonts" archive which states:
"All the original IBM-made fonts (and their identical re-creations) can be considered to be in the public domain." – https://int10h.org/oldschool-pc-fonts/readme/ (retrieved 2026)
Only ASCII 0x20..0x7E (95 glyphs) are bundled to keep the binary footprint at 95 * 16 = 1520 bytes.
Definition in file ra8_gfx_font.h.
|
extern |
Bundled 8x16 IBM PC VGA bitmap font, ASCII 0x20..0x7E.
Public descriptor pointing at s_font_8x16_glyphs.
Public-domain glyph bitmaps reproduced from the IBM BIOS codepage 437 font, restricted to printable ASCII to keep the static footprint minimal (95 * 16 = 1520 bytes).
Definition at line 150 of file ra8_gfx_font_8x16.c.
Referenced by ch_render(), cm_draw_status_bar(), er_draw_key_label(), er_nag_render(), er_text_left(), er_text_right(), ls_text(), mg_render_status(), render_page(), sh_comic_render(), sh_cover_button(), sh_cover_render(), sh_draw_card(), sh_loading_overlay(), sh_reader_render(), sh_titlebar(), sh_toc_render(), wc_footer_render(), wc_status_render(), wc_tile_render(), wd_content_render(), wd_size(), wd_status_render(), wd_tabbar_render(), wd_text(), wk_paint_size(), and wk_paint_text().