ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_gfx_font_8x16.c
Go to the documentation of this file.
1
22
23#include <stdint.h>
24
25#include "ra8_gfx_font.h"
26
38
39// clang-format off: hand-aligned glyph bitmap table, 16 bytes per row.
40/* ------------------------------------------------------------------------
41 * Glyph bitmap table: 95 glyphs x 16 rows = 1520 bytes.
42 *
43 * Generated from the VileR "Px437 IBM VGA" archive, ASCII range only.
44 * Each row, MSB-left. Row 0 is the top row.
45 * --------------------------------------------------------------------- */
48 /* 0x20 ' ' */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
49 /* 0x21 '!' */ 0,0,0x18,0x3C,0x3C,0x3C,0x18,0x18,0x18,0x00,0x18,0x18,0,0,0,0,
50 /* 0x22 '"' */ 0,0x66,0x66,0x66,0x24,0,0,0,0,0,0,0,0,0,0,0,
51 /* 0x23 '#' */ 0,0,0,0x6C,0x6C,0xFE,0x6C,0x6C,0x6C,0xFE,0x6C,0x6C,0,0,0,0,
52 /* 0x24 '$' */ 0x18,0x18,0x7C,0xC6,0xC2,0xC0,0x7C,0x06,0x06,0x86,0xC6,0x7C,0x18,0x18,0,0,
53 /* 0x25 '%' */ 0,0,0,0,0,0xC2,0xC6,0x0C,0x18,0x30,0x66,0xC6,0,0,0,0,
54 /* 0x26 '&' */ 0,0,0,0x38,0x6C,0x6C,0x38,0x76,0xDC,0xCC,0xCC,0x76,0,0,0,0,
55 /* 0x27 ''' */ 0,0x30,0x30,0x30,0x60,0,0,0,0,0,0,0,0,0,0,0,
56 /* 0x28 '(' */ 0,0,0x0C,0x18,0x30,0x30,0x30,0x30,0x30,0x18,0x0C,0,0,0,0,0,
57 /* 0x29 ')' */ 0,0,0x30,0x18,0x0C,0x0C,0x0C,0x0C,0x0C,0x18,0x30,0,0,0,0,0,
58 /* 0x2A '*' */ 0,0,0,0,0,0x66,0x3C,0xFF,0x3C,0x66,0,0,0,0,0,0,
59 /* 0x2B '+' */ 0,0,0,0,0,0x18,0x18,0x7E,0x18,0x18,0,0,0,0,0,0,
60 /* 0x2C ',' */ 0,0,0,0,0,0,0,0,0,0,0x18,0x18,0x18,0x30,0,0,
61 /* 0x2D '-' */ 0,0,0,0,0,0,0,0x7E,0,0,0,0,0,0,0,0,
62 /* 0x2E '.' */ 0,0,0,0,0,0,0,0,0,0,0x18,0x18,0,0,0,0,
63 /* 0x2F '/' */ 0,0,0x02,0x06,0x0C,0x18,0x30,0x60,0xC0,0x80,0,0,0,0,0,0,
64 /* 0x30 '0' */ 0,0,0x7C,0xC6,0xC6,0xCE,0xDE,0xF6,0xE6,0xC6,0xC6,0x7C,0,0,0,0,
65 /* 0x31 '1' */ 0,0,0x18,0x38,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0,0,0,0,
66 /* 0x32 '2' */ 0,0,0x7C,0xC6,0x06,0x0C,0x18,0x30,0x60,0xC0,0xC6,0xFE,0,0,0,0,
67 /* 0x33 '3' */ 0,0,0x7C,0xC6,0x06,0x06,0x3C,0x06,0x06,0x06,0xC6,0x7C,0,0,0,0,
68 /* 0x34 '4' */ 0,0,0x0C,0x1C,0x3C,0x6C,0xCC,0xFE,0x0C,0x0C,0x0C,0x1E,0,0,0,0,
69 /* 0x35 '5' */ 0,0,0xFE,0xC0,0xC0,0xC0,0xFC,0x06,0x06,0x06,0xC6,0x7C,0,0,0,0,
70 /* 0x36 '6' */ 0,0,0x38,0x60,0xC0,0xC0,0xFC,0xC6,0xC6,0xC6,0xC6,0x7C,0,0,0,0,
71 /* 0x37 '7' */ 0,0,0xFE,0xC6,0x06,0x06,0x0C,0x18,0x30,0x30,0x30,0x30,0,0,0,0,
72 /* 0x38 '8' */ 0,0,0x7C,0xC6,0xC6,0xC6,0x7C,0xC6,0xC6,0xC6,0xC6,0x7C,0,0,0,0,
73 /* 0x39 '9' */ 0,0,0x7C,0xC6,0xC6,0xC6,0x7E,0x06,0x06,0x06,0x0C,0x78,0,0,0,0,
74 /* 0x3A ':' */ 0,0,0,0,0x18,0x18,0,0,0,0x18,0x18,0,0,0,0,0,
75 /* 0x3B ';' */ 0,0,0,0,0x18,0x18,0,0,0,0x18,0x18,0x30,0,0,0,0,
76 /* 0x3C '<' */ 0,0,0,0x06,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x06,0,0,0,0,
77 /* 0x3D '=' */ 0,0,0,0,0,0x7E,0,0,0x7E,0,0,0,0,0,0,0,
78 /* 0x3E '>' */ 0,0,0,0x60,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x60,0,0,0,0,
79 /* 0x3F '?' */ 0,0,0x7C,0xC6,0xC6,0x0C,0x18,0x18,0x18,0,0x18,0x18,0,0,0,0,
80 /* 0x40 '@' */ 0,0,0x7C,0xC6,0xC6,0xDE,0xDE,0xDE,0xDC,0xC0,0xC0,0x7C,0,0,0,0,
81 /* 0x41 'A' */ 0,0,0x10,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0,0,0,0,
82 /* 0x42 'B' */ 0,0,0xFC,0x66,0x66,0x66,0x7C,0x66,0x66,0x66,0x66,0xFC,0,0,0,0,
83 /* 0x43 'C' */ 0,0,0x3C,0x66,0xC2,0xC0,0xC0,0xC0,0xC0,0xC2,0x66,0x3C,0,0,0,0,
84 /* 0x44 'D' */ 0,0,0xF8,0x6C,0x66,0x66,0x66,0x66,0x66,0x66,0x6C,0xF8,0,0,0,0,
85 /* 0x45 'E' */ 0,0,0xFE,0x66,0x62,0x68,0x78,0x68,0x60,0x62,0x66,0xFE,0,0,0,0,
86 /* 0x46 'F' */ 0,0,0xFE,0x66,0x62,0x68,0x78,0x68,0x60,0x60,0x60,0xF0,0,0,0,0,
87 /* 0x47 'G' */ 0,0,0x3C,0x66,0xC2,0xC0,0xC0,0xDE,0xC6,0xC6,0x66,0x3A,0,0,0,0,
88 /* 0x48 'H' */ 0,0,0xC6,0xC6,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0,0,0,0,
89 /* 0x49 'I' */ 0,0,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0,0,0,0,
90 /* 0x4A 'J' */ 0,0,0x1E,0x0C,0x0C,0x0C,0x0C,0x0C,0xCC,0xCC,0xCC,0x78,0,0,0,0,
91 /* 0x4B 'K' */ 0,0,0xE6,0x66,0x66,0x6C,0x78,0x78,0x6C,0x66,0x66,0xE6,0,0,0,0,
92 /* 0x4C 'L' */ 0,0,0xF0,0x60,0x60,0x60,0x60,0x60,0x60,0x62,0x66,0xFE,0,0,0,0,
93 /* 0x4D 'M' */ 0,0,0xC6,0xEE,0xFE,0xFE,0xD6,0xC6,0xC6,0xC6,0xC6,0xC6,0,0,0,0,
94 /* 0x4E 'N' */ 0,0,0xC6,0xE6,0xF6,0xFE,0xDE,0xCE,0xC6,0xC6,0xC6,0xC6,0,0,0,0,
95 /* 0x4F 'O' */ 0,0,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0,0,0,0,
96 /* 0x50 'P' */ 0,0,0xFC,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x60,0xF0,0,0,0,0,
97 /* 0x51 'Q' */ 0,0,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xD6,0xDE,0x7C,0x0C,0x0E,0,0,
98 /* 0x52 'R' */ 0,0,0xFC,0x66,0x66,0x66,0x7C,0x6C,0x66,0x66,0x66,0xE6,0,0,0,0,
99 /* 0x53 'S' */ 0,0,0x7C,0xC6,0xC6,0x60,0x38,0x0C,0x06,0xC6,0xC6,0x7C,0,0,0,0,
100 /* 0x54 'T' */ 0,0,0x7E,0x7E,0x5A,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0,0,0,0,
101 /* 0x55 'U' */ 0,0,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0,0,0,0,
102 /* 0x56 'V' */ 0,0,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x10,0,0,0,0,
103 /* 0x57 'W' */ 0,0,0xC6,0xC6,0xC6,0xC6,0xC6,0xD6,0xD6,0xFE,0x6C,0x6C,0,0,0,0,
104 /* 0x58 'X' */ 0,0,0xC6,0xC6,0x6C,0x7C,0x38,0x38,0x7C,0x6C,0xC6,0xC6,0,0,0,0,
105 /* 0x59 'Y' */ 0,0,0x66,0x66,0x66,0x66,0x3C,0x18,0x18,0x18,0x18,0x3C,0,0,0,0,
106 /* 0x5A 'Z' */ 0,0,0xFE,0xC6,0x86,0x0C,0x18,0x30,0x60,0xC2,0xC6,0xFE,0,0,0,0,
107 /* 0x5B '[' */ 0,0,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0,0,0,0,
108 /* 0x5C '\' */ 0,0,0x80,0xC0,0x60,0x30,0x18,0x0C,0x06,0x02,0,0,0,0,0,0,
109 /* 0x5D ']' */ 0,0,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0,0,0,0,
110 /* 0x5E '^' */ 0x10,0x38,0x6C,0xC6,0,0,0,0,0,0,0,0,0,0,0,0,
111 /* 0x5F '_' */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0xFF,0,0,
112 /* 0x60 '`' */ 0x30,0x30,0x18,0,0,0,0,0,0,0,0,0,0,0,0,0,
113 /* 0x61 'a' */ 0,0,0,0,0,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0,0,0,0,
114 /* 0x62 'b' */ 0,0,0xE0,0x60,0x60,0x78,0x6C,0x66,0x66,0x66,0x66,0x7C,0,0,0,0,
115 /* 0x63 'c' */ 0,0,0,0,0,0x7C,0xC6,0xC0,0xC0,0xC0,0xC6,0x7C,0,0,0,0,
116 /* 0x64 'd' */ 0,0,0x1C,0x0C,0x0C,0x3C,0x6C,0xCC,0xCC,0xCC,0xCC,0x76,0,0,0,0,
117 /* 0x65 'e' */ 0,0,0,0,0,0x7C,0xC6,0xFE,0xC0,0xC0,0xC6,0x7C,0,0,0,0,
118 /* 0x66 'f' */ 0,0,0x1C,0x36,0x32,0x30,0x78,0x30,0x30,0x30,0x30,0x78,0,0,0,0,
119 /* 0x67 'g' */ 0,0,0,0,0,0x76,0xCC,0xCC,0xCC,0xCC,0xCC,0x7C,0x0C,0xCC,0x78,0,
120 /* 0x68 'h' */ 0,0,0xE0,0x60,0x60,0x6C,0x76,0x66,0x66,0x66,0x66,0xE6,0,0,0,0,
121 /* 0x69 'i' */ 0,0,0x18,0x18,0,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0,0,0,0,
122 /* 0x6A 'j' */ 0,0,0x06,0x06,0,0x0E,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0,
123 /* 0x6B 'k' */ 0,0,0xE0,0x60,0x60,0x66,0x6C,0x78,0x78,0x6C,0x66,0xE6,0,0,0,0,
124 /* 0x6C 'l' */ 0,0,0x38,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0,0,0,0,
125 /* 0x6D 'm' */ 0,0,0,0,0,0xEC,0xFE,0xD6,0xD6,0xD6,0xD6,0xC6,0,0,0,0,
126 /* 0x6E 'n' */ 0,0,0,0,0,0xDC,0x66,0x66,0x66,0x66,0x66,0x66,0,0,0,0,
127 /* 0x6F 'o' */ 0,0,0,0,0,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0,0,0,0,
128 /* 0x70 'p' */ 0,0,0,0,0,0xDC,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0x60,0xF0,0,
129 /* 0x71 'q' */ 0,0,0,0,0,0x76,0xCC,0xCC,0xCC,0xCC,0xCC,0x7C,0x0C,0x0C,0x1E,0,
130 /* 0x72 'r' */ 0,0,0,0,0,0xDC,0x76,0x66,0x60,0x60,0x60,0xF0,0,0,0,0,
131 /* 0x73 's' */ 0,0,0,0,0,0x7C,0xC6,0x60,0x38,0x0C,0xC6,0x7C,0,0,0,0,
132 /* 0x74 't' */ 0,0,0x10,0x30,0x30,0xFC,0x30,0x30,0x30,0x30,0x36,0x1C,0,0,0,0,
133 /* 0x75 'u' */ 0,0,0,0,0,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0,0,0,0,
134 /* 0x76 'v' */ 0,0,0,0,0,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x10,0,0,0,0,
135 /* 0x77 'w' */ 0,0,0,0,0,0xC6,0xC6,0xD6,0xD6,0xD6,0xFE,0x6C,0,0,0,0,
136 /* 0x78 'x' */ 0,0,0,0,0,0xC6,0x6C,0x38,0x38,0x38,0x6C,0xC6,0,0,0,0,
137 /* 0x79 'y' */ 0,0,0,0,0,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7E,0x06,0x0C,0xF8,0,
138 /* 0x7A 'z' */ 0,0,0,0,0,0xFE,0xCC,0x18,0x30,0x60,0xC6,0xFE,0,0,0,0,
139 /* 0x7B '{' */ 0,0,0x0E,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0E,0,0,0,0,
140 /* 0x7C '|' */ 0,0,0x18,0x18,0x18,0x18,0,0x18,0x18,0x18,0x18,0x18,0,0,0,0,
141 /* 0x7D '}' */ 0,0,0x70,0x18,0x18,0x18,0x0E,0x18,0x18,0x18,0x18,0x70,0,0,0,0,
142 /* 0x7E '~' */ 0,0,0x76,0xDC,0,0,0,0,0,0,0,0,0,0,0,0,
143};
144// clang-format on
145
151 .glyph_data = s_font_8x16_glyphs,
152 .glyph_width = k_font_8x16_width,
153 .glyph_height = k_font_8x16_height,
154 .bytes_per_glyph = k_font_8x16_bytes,
155 .first_codepoint = k_font_8x16_first,
156 .last_codepoint = k_font_8x16_last,
157};
Bitmap font descriptor + bundled font handles for ra8_gfx.
const ra8_gfx_font_t ra8_gfx_font_8x16
Bundled 8x16 IBM PC VGA bitmap font, ASCII 0x20..0x7E.
ra8_gfx_font_8x16_constants_t
Geometry constants for the bundled 8x16 font.
@ 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]
Monochrome, fixed-width bitmap font descriptor.