summaryrefslogtreecommitdiff
path: root/stage3/letters.c
diff options
context:
space:
mode:
authorLizzy Fleckenstein <eliasfleckenstein@web.de>2022-10-07 18:05:02 +0200
committerLizzy Fleckenstein <eliasfleckenstein@web.de>2022-10-07 18:05:02 +0200
commit8b9f33dd745ebba0e819927ab3906635bfb3bf34 (patch)
treeb76b534f7846ae3d47638d42b0a15d37e4896ac9 /stage3/letters.c
parent1155e97dab101fd1215e12ff8737048b0f6bedaf (diff)
downloadcuddles-8b9f33dd745ebba0e819927ab3906635bfb3bf34.tar.xz
Implement fully ascii printing
Diffstat (limited to 'stage3/letters.c')
-rw-r--r--stage3/letters.c443
1 files changed, 360 insertions, 83 deletions
diff --git a/stage3/letters.c b/stage3/letters.c
index 11f1d46..ccec644 100644
--- a/stage3/letters.c
+++ b/stage3/letters.c
@@ -1,213 +1,490 @@
-#include "font.h"
-#include "def.h"
+#include "letters.h"
-u8 letters['z' - 'a' + 1][CHAR_HEIGHT * CHAR_WIDTH] = {
- // a
- {
+Letter letters[128];
+
+void letters_init()
+{
+ letters[' '] = (Letter) {{
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 0, 0
+ }};
+ letters['!'] = (Letter) {{
+ 0, 1, 0,
+ 0, 1, 0,
+ 0, 1, 0,
+ 0, 0, 0,
+ 0, 1, 0
+ }};
+ letters['\"'] = (Letter) {{
+ 1, 0, 1,
+ 1, 0, 1,
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 0, 0
+ }};
+ letters['#'] = (Letter) {{
+ 1, 0, 1,
+ 1, 1, 1,
+ 1, 0, 1,
+ 1, 1, 1,
+ 1, 0, 1
+ }};
+ letters['$'] = (Letter) {{
+ 0, 1, 0,
+ 1, 1, 1,
+ 0, 1, 0,
+ 1, 1, 1,
+ 0, 1, 0
+ }};
+ letters['%'] = (Letter) {{
+ 1, 0, 1,
+ 0, 0, 1,
+ 0, 1, 0,
+ 1, 0, 0,
+ 1, 0, 1
+ }};
+ letters['&'] = (Letter) {{
+ 1, 1, 0,
+ 1, 0, 0,
+ 1, 1, 1,
+ 1, 0, 1,
+ 1, 1, 1
+ }};
+ letters['\''] = (Letter) {{
+ 0, 1, 0,
+ 0, 1, 0,
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 0, 0
+ }};
+ letters['('] = (Letter) {{
+ 0, 1, 0,
+ 1, 0, 0,
+ 1, 0, 0,
+ 1, 0, 0,
+ 0, 1, 0
+ }};
+ letters[')'] = (Letter) {{
+ 0, 1, 0,
+ 0, 0, 1,
+ 0, 0, 1,
+ 0, 0, 1,
+ 0, 1, 0
+ }};
+ letters['*'] = (Letter) {{
+ 1, 0, 1,
+ 0, 1, 0,
+ 1, 0, 1,
+ 0, 0, 0,
+ 0, 0, 0
+ }};
+ letters['+'] = (Letter) {{
+ 0, 0, 0,
+ 0, 1, 0,
+ 1, 1, 1,
+ 0, 1, 0,
+ 0, 0, 0
+ }};
+ letters[','] = (Letter) {{
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 1, 0,
+ 0, 1, 0,
+ 1, 0, 0
+ }};
+ letters['-'] = (Letter) {{
+ 0, 0, 0,
+ 0, 0, 0,
+ 1, 1, 1,
+ 0, 0, 0,
+ 0, 0, 0
+ }};
+ letters['.'] = (Letter) {{
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 1, 0
+ }};
+ letters['/'] = (Letter) {{
+ 0, 0, 1,
+ 0, 0, 1,
+ 0, 1, 0,
+ 1, 0, 0,
+ 1, 0, 0
+ }};
+ letters['0'] = (Letter) {{
+ 0, 1, 0,
+ 1, 0, 1,
+ 1, 0, 1,
+ 1, 0, 1,
+ 0, 1, 0
+ }};
+ letters['1'] = (Letter) {{
+ 0, 0, 1,
+ 0, 1, 1,
+ 0, 0, 1,
+ 0, 0, 1,
+ 0, 0, 1
+ }};
+ letters['2'] = (Letter) {{
+ 1, 1, 1,
+ 1, 0, 1,
+ 0, 1, 0,
+ 1, 0, 0,
+ 1, 1, 1
+ }};
+ letters['3'] = (Letter) {{
+ 1, 1, 1,
+ 0, 0, 1,
+ 0, 1, 1,
+ 0, 0, 1,
+ 1, 1, 1
+ }};
+ letters['4'] = (Letter) {{
+ 1, 0, 1,
+ 1, 0, 1,
+ 1, 1, 1,
+ 0, 0, 1,
+ 0, 0, 1
+ }};
+ letters['5'] = (Letter) {{
+ 1, 1, 1,
+ 1, 0, 0,
+ 1, 1, 1,
+ 0, 0, 1,
+ 1, 1, 0
+ }};
+ letters['6'] = (Letter) {{
+ 1, 1, 1,
+ 1, 0, 0,
+ 1, 1, 1,
+ 1, 0, 1,
+ 1, 1, 1
+ }};
+ letters['7'] = (Letter) {{
+ 1, 1, 1,
+ 0, 0, 1,
+ 0, 1, 0,
+ 1, 0, 0,
+ 1, 0, 0
+ }};
+ letters['8'] = (Letter) {{
+ 1, 1, 1,
+ 1, 0, 1,
+ 1, 1, 1,
+ 1, 0, 1,
+ 1, 1, 1
+ }};
+ letters['9'] = (Letter) {{
+ 1, 1, 1,
+ 1, 0, 1,
+ 1, 1, 1,
+ 0, 0, 1,
+ 1, 1, 1
+ }};
+ letters[':'] = (Letter) {{
+ 0, 0, 0,
+ 0, 1, 0,
+ 0, 0, 0,
+ 0, 1, 0,
+ 0, 0, 0
+ }};
+ letters[';'] = (Letter) {{
+ 0, 1, 0,
+ 0, 0, 0,
+ 0, 1, 0,
+ 0, 1, 0,
+ 1, 0, 0
+ }};
+ letters['<'] = (Letter) {{
+ 0, 0, 0,
+ 0, 1, 0,
+ 1, 0, 0,
+ 0, 1, 0,
+ 0, 0, 0
+ }};
+ letters['='] = (Letter) {{
+ 0, 0, 0,
+ 1, 1, 1,
+ 0, 0, 0,
+ 1, 1, 1,
+ 0, 0, 0
+ }};
+ letters['>'] = (Letter) {{
+ 0, 0, 0,
+ 0, 1, 0,
+ 0, 0, 1,
+ 0, 1, 0,
+ 0, 0, 0
+ }};
+ letters['?'] = (Letter) {{
+ 1, 1, 1,
+ 0, 0, 1,
+ 0, 1, 0,
+ 0, 0, 0,
+ 0, 1, 0
+ }};
+ letters['@'] = (Letter) {{
+ 0, 0, 1,
+ 1, 1, 1,
+ 1, 0, 1,
+ 1, 1, 1,
+ 1, 1, 1
+ }};
+ letters['['] = (Letter) {{
+ 1, 1, 0,
+ 1, 0, 0,
+ 1, 0, 0,
+ 1, 0, 0,
+ 1, 1, 0
+ }};
+ letters[']'] = (Letter) {{
+ 0, 1, 1,
+ 0, 0, 1,
+ 0, 0, 1,
+ 0, 0, 1,
+ 0, 1, 1
+ }};
+ letters['\\'] = (Letter) {{
+ 1, 0, 0,
+ 1, 0, 0,
+ 0, 1, 0,
+ 0, 0, 1,
+ 0, 0, 1
+ }};
+ letters['^'] = (Letter) {{
+ 0, 1, 0,
+ 1, 0, 1,
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 0, 0
+ }};
+ letters['_'] = (Letter) {{
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 0, 0,
+ 1, 1, 1
+ }};
+ letters['`'] = (Letter) {{
+ 0, 1, 0,
+ 0, 0, 1,
+ 0, 0, 0,
+ 0, 0, 0,
+ 0, 0, 0
+ }};
+ letters['~'] = (Letter) {{
+ 0, 0, 0,
+ 0, 0, 1,
+ 1, 1, 1,
+ 1, 0, 0,
+ 0, 0, 0
+ }};
+ letters['{'] = (Letter) {{
+ 0, 1, 1,
+ 0, 1, 0,
+ 1, 1, 0,
+ 0, 1, 0,
+ 0, 1, 1
+ }};
+ letters['}'] = (Letter) {{
+ 1, 1, 0,
+ 0, 1, 0,
+ 0, 1, 1,
+ 0, 1, 0,
+ 1, 1, 0
+ }};
+ letters['|'] = (Letter) {{
+ 0, 1, 0,
+ 0, 1, 0,
+ 0, 1, 0,
+ 0, 1, 0,
+ 0, 1, 0
+ }};
+ letters['A'] = letters['a'] = (Letter) {{
1, 1, 1,
1, 0, 1,
1, 1, 1,
1, 0, 1,
1, 0, 1
- },
- // b
- {
+ }};
+ letters['B'] = letters['b'] = (Letter) {{
1, 1, 0,
1, 0, 1,
1, 1, 1,
1, 0, 1,
1, 1, 0
- },
- // c
- {
+ }};
+ letters['C'] = letters['c'] = (Letter) {{
1, 1, 1,
1, 0, 0,
1, 0, 0,
1, 0, 0,
1, 1, 1
- },
- // d
- {
+ }};
+ letters['D'] = letters['d'] = (Letter) {{
1, 1, 0,
1, 0, 1,
1, 0, 1,
1, 0, 1,
1, 1, 0
- },
- // e
- {
+ }};
+ letters['E'] = letters['e'] = (Letter) {{
1, 1, 1,
1, 0, 0,
1, 1, 1,
1, 0, 0,
1, 1, 1
- },
- // f
- {
+ }};
+ letters['F'] = letters['f'] = (Letter) {{
1, 1, 1,
1, 0, 0,
1, 1, 1,
1, 0, 0,
1, 0, 0
- },
- // g
- {
+ }};
+ letters['G'] = letters['g'] = (Letter) {{
1, 1, 1,
1, 0, 0,
1, 0, 1,
1, 0, 1,
1, 1, 1
- },
- // h
- {
+ }};
+ letters['H'] = letters['h'] = (Letter) {{
1, 0, 1,
1, 0, 1,
1, 1, 1,
1, 0, 1,
1, 0, 1
- },
- // i
- {
- 0, 1, 0,
+ }};
+ letters['I'] = letters['i'] = (Letter) {{
0, 1, 0,
+ 0, 0, 0,
0, 1, 0,
0, 1, 0,
0, 1, 0
- },
- // j
- {
+ }};
+ letters['J'] = letters['j'] = (Letter) {{
0, 0, 1,
0, 0, 1,
0, 0, 1,
0, 0, 1,
1, 1, 1
- },
- // k
- {
+ }};
+ letters['K'] = letters['k'] = (Letter) {{
1, 0, 1,
1, 1, 0,
1, 0, 0,
1, 1, 0,
1, 0, 1,
- },
- // l
- {
+ }};
+ letters['L'] = letters['l'] = (Letter) {{
1, 0, 0,
1, 0, 0,
1, 0, 0,
1, 0, 0,
1, 1, 1
- },
- // m
- {
+ }};
+ letters['M'] = letters['m'] = (Letter) {{
1, 0, 1,
1, 1, 1,
1, 0, 1,
1, 0, 1,
1, 0, 1
- },
- // n
- {
+ }};
+ letters['N'] = letters['n'] = (Letter) {{
1, 0, 1,
1, 0, 1,
1, 1, 1,
1, 1, 1,
1, 0, 1
- },
- // o
- {
+ }};
+ letters['O'] = letters['o'] = (Letter) {{
1, 1, 1,
1, 0, 1,
1, 0, 1,
1, 0, 1,
1, 1, 1
- },
- // p
- {
+ }};
+ letters['P'] = letters['p'] = (Letter) {{
1, 1, 1,
1, 0, 1,
1, 1, 1,
1, 0, 0,
1, 0, 0
- },
- // q
- {
+ }};
+ letters['Q'] = letters['q'] = (Letter) {{
1, 1, 1,
1, 0, 1,
1, 0, 1,
1, 1, 1,
0, 0, 1
- },
- // r
- {
+ }};
+ letters['R'] = letters['r'] = (Letter) {{
1, 1, 1,
1, 0, 1,
1, 1, 1,
1, 1, 0,
1, 0, 1
- },
- // s
- {
+ }};
+ letters['S'] = letters['s'] = (Letter) {{
1, 1, 1,
1, 0, 0,
1, 1, 1,
0, 0, 1,
1, 1, 1
- },
- // t
- {
+ }};
+ letters['T'] = letters['t'] = (Letter) {{
1, 1, 1,
0, 1, 0,
0, 1, 0,
0, 1, 0,
0, 1, 0
- },
- // u
- {
+ }};
+ letters['U'] = letters['u'] = (Letter) {{
1, 0, 1,
1, 0, 1,
1, 0, 1,
1, 0, 1,
1, 1, 1
- },
- // v
- {
+ }};
+ letters['V'] = letters['v'] = (Letter) {{
1, 0, 1,
1, 0, 1,
1, 0, 1,
1, 0, 1,
0, 1, 0
- },
- // w
- {
+ }};
+ letters['W'] = letters['w'] = (Letter) {{
1, 0, 1,
1, 0, 1,
1, 0, 1,
1, 1, 1,
1, 0, 1
- },
- // x
- {
+ }};
+ letters['X'] = letters['x'] = (Letter) {{
1, 0, 1,
1, 0, 1,
0, 1, 0,
1, 0, 1,
1, 0, 1
- },
- // y
- {
+ }};
+ letters['Y'] = letters['y'] = (Letter) {{
1, 0, 1,
1, 0, 1,
1, 1, 1,
0, 1, 0,
0, 1, 0
- },
- // z
- {
+ }};
+ letters['Z'] = letters['z'] = (Letter) {{
1, 1, 1,
0, 0, 1,
0, 1, 0,
1, 0, 0,
1, 1, 1
- }
-};
+ }};
+}