ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_gfx_font_8x16.c File Reference

8x16 monochrome bitmap font, ASCII 0x20..0x7E. More...

#include <stdint.h>
#include "ra8_gfx_font.h"
Include dependency graph for ra8_gfx_font_8x16.c:

Go to the source code of this file.

Enumerations

enum  ra8_gfx_font_8x16_constants_t : uint8_t {
  k_font_8x16_width = 8 ,
  k_font_8x16_height = 16 ,
  k_font_8x16_bytes = 16 ,
  k_font_8x16_first = 0x20 ,
  k_font_8x16_last = 0x7E
}
 Geometry constants for the bundled 8x16 font. More...

Variables

static const uint8_t s_font_8x16_glyphs [(k_font_8x16_last - k_font_8x16_first+1) *k_font_8x16_bytes]
const ra8_gfx_font_t ra8_gfx_font_8x16
 Bundled 8x16 IBM PC VGA bitmap font, ASCII 0x20..0x7E.

Detailed Description

8x16 monochrome bitmap font, ASCII 0x20..0x7E.

Public-domain IBM PC VGA character set (code page 437), restricted to printable ASCII. The full 256-glyph BIOS font is documented in many places; the canonical archive used as the source for these bitmaps is:

VileR, "The Ultimate Oldschool PC Font Pack", https://int10h.org/oldschool-pc-fonts/ (Archive states: "All the original IBM-made fonts can be considered to be in the public domain.")

Each glyph is 8 pixels wide, 16 pixels tall, stored as 16 bytes with one byte per row, MSB on the left.

Since
0.1.0

Definition in file ra8_gfx_font_8x16.c.

Enumeration Type Documentation

◆ ra8_gfx_font_8x16_constants_t

Geometry constants for the bundled 8x16 font.

Enumerator
k_font_8x16_width 

Glyph width in pixels.

k_font_8x16_height 

Glyph height in pixels.

k_font_8x16_bytes 

Bytes per glyph.

k_font_8x16_first 

First codepoint stored.

k_font_8x16_last 

Last codepoint stored.

Definition at line 31 of file ra8_gfx_font_8x16.c.

Variable Documentation

◆ ra8_gfx_font_8x16

const ra8_gfx_font_t ra8_gfx_font_8x16
Initial value:
= {
.glyph_data = s_font_8x16_glyphs,
.glyph_width = k_font_8x16_width,
.glyph_height = k_font_8x16_height,
.bytes_per_glyph = k_font_8x16_bytes,
.first_codepoint = k_font_8x16_first,
.last_codepoint = k_font_8x16_last,
}
@ k_font_8x16_height
Glyph height in pixels.
@ k_font_8x16_bytes
Bytes per glyph.
@ k_font_8x16_last
Last codepoint stored.
@ k_font_8x16_width
Glyph width in pixels.
@ k_font_8x16_first
First codepoint stored.
static const uint8_t s_font_8x16_glyphs[(k_font_8x16_last - k_font_8x16_first+1) *k_font_8x16_bytes]

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).

Since
0.1.0

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().

◆ s_font_8x16_glyphs

const uint8_t s_font_8x16_glyphs[(k_font_8x16_last - k_font_8x16_first+1) * k_font_8x16_bytes]
static

Definition at line 46 of file ra8_gfx_font_8x16.c.