From 7a05e9c0c3792b06ecb90ea3edba3a2046f9b543 Mon Sep 17 00:00:00 2001 From: jarreed0 Date: Wed, 15 Feb 2023 10:41:59 -0600 Subject: [PATCH 1/3] lowercase --- olive.c | 109 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 97 insertions(+), 12 deletions(-) diff --git a/olive.c b/olive.c index c452afc..620aab3 100644 --- a/olive.c +++ b/olive.c @@ -95,7 +95,14 @@ static char olivec_default_glyphs[128][OLIVEC_DEFAULT_FONT_HEIGHT][OLIVEC_DEFAUL {0, 1, 0, 0, 0}, {0, 1, 0, 0, 0}, }, - ['g'] = {0}, + ['g'] = { + {0, 1, 1, 1, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {0, 1, 1, 1, 1}, + {0, 0, 0, 0, 1}, + {1, 1, 1, 1, 0}, + }, ['h'] = { {1, 0, 0, 0, 0}, {1, 1, 1, 0, 0}, @@ -112,7 +119,14 @@ static char olivec_default_glyphs[128][OLIVEC_DEFAULT_FONT_HEIGHT][OLIVEC_DEFAUL {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, }, - ['j'] = {0}, + ['j'] = { + {0, 0, 0, 1, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 1, 0}, + {0, 0, 0, 1, 0}, + {1, 0, 0, 1, 0}, + {0, 1, 1, 0, 0}, + }, ['k'] = { {0, 1, 0, 0, 0}, {0, 1, 0, 0, 0}, @@ -129,8 +143,22 @@ static char olivec_default_glyphs[128][OLIVEC_DEFAULT_FONT_HEIGHT][OLIVEC_DEFAUL {0, 0, 1, 0, 0}, {0, 1, 1, 1, 0}, }, - ['m'] = {0}, - ['n'] = {0}, + ['m'] = { + {1, 1, 0, 1, 0}, + {1, 0, 1, 0, 1}, + {1, 0, 1, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + }, + ['n'] = { + {1, 1, 1, 1, 0}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + }, ['o'] = { {0, 0, 0, 0, 0}, {0, 1, 1, 0, 0}, @@ -147,7 +175,14 @@ static char olivec_default_glyphs[128][OLIVEC_DEFAULT_FONT_HEIGHT][OLIVEC_DEFAUL {1, 0, 0, 0, 0}, {1, 0, 0, 0, 0}, }, - ['q'] = {0}, + ['q'] = { + {0, 1, 1, 0, 1}, + {1, 0, 0, 1, 1}, + {1, 0, 0, 0, 1}, + {0, 1, 1, 1, 1}, + {0, 0, 0, 0, 1}, + {0, 0, 0, 0, 1}, + }, ['r'] = { {0, 0, 0, 0, 0}, {1, 0, 1, 1, 0}, @@ -156,10 +191,38 @@ static char olivec_default_glyphs[128][OLIVEC_DEFAULT_FONT_HEIGHT][OLIVEC_DEFAUL {1, 0, 0, 0, 0}, {1, 0, 0, 0, 0}, }, - ['s'] = {0}, - ['t'] = {0}, - ['u'] = {0}, - ['v'] = {0}, + ['s'] = { + {0, 0, 0, 0, 0}, + {0, 1, 1, 1, 1}, + {1, 0, 0, 0, 0}, + {0, 1, 1, 1, 0}, + {0, 0, 0, 0, 1}, + {1, 1, 1, 1, 0}, + }, + ['t'] = { + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 1, 1, 1, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 1, 0}, + }, + ['u'] = { + {0, 0, 0, 0, 0}, + {0, 1, 0, 0, 1}, + {0, 1, 0, 0, 1}, + {0, 1, 0, 0, 1}, + {0, 1, 0, 0, 1}, + {0, 0, 1, 1, 1}, + }, + ['v'] = { + {0, 0, 0, 0, 0}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {0, 1, 0, 1, 0}, + {0, 0, 1, 0, 0}, + }, ['w'] = { {0, 0, 0, 0, 0}, {1, 0, 0, 0, 1}, @@ -168,9 +231,30 @@ static char olivec_default_glyphs[128][OLIVEC_DEFAULT_FONT_HEIGHT][OLIVEC_DEFAUL {1, 0, 1, 0, 1}, {0, 1, 1, 1, 1}, }, - ['x'] = {0}, - ['y'] = {0}, - ['z'] = {0}, + ['x'] = { + {0, 0, 0, 0, 0}, + {1, 0, 0, 0, 1}, + {0, 1, 0, 1, 0}, + {0, 0, 1, 0, 0}, + {0, 1, 0, 1, 0}, + {1, 0, 0, 0, 1}, + }, + ['y'] = { + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {0, 1, 1, 1, 1}, + {0, 0, 0, 0, 1}, + {1, 1, 1, 1, 0}, + }, + ['z'] = { + {0, 0, 0, 0, 0}, + {1, 1, 1, 1, 1}, + {0, 0, 0, 1, 0}, + {0, 0, 1, 0, 0}, + {0, 1, 0, 0, 0}, + {1, 1, 1, 1, 1}, + }, ['A'] = {0}, ['B'] = {0}, @@ -942,3 +1026,4 @@ OLIVECDEF void olivec_sprite_copy_bilinear(Olivec_Canvas oc, int x, int y, int w // TODO: olivec_ring // TODO: fuzzer // TODO: Stencil + From d143bd262cc783b34a8411178b8e17f0166d77ef Mon Sep 17 00:00:00 2001 From: jarreed0 Date: Wed, 15 Feb 2023 10:57:09 -0600 Subject: [PATCH 2/3] uppercase --- olive.c | 236 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 209 insertions(+), 27 deletions(-) diff --git a/olive.c b/olive.c index 620aab3..9eccf09 100644 --- a/olive.c +++ b/olive.c @@ -256,32 +256,215 @@ static char olivec_default_glyphs[128][OLIVEC_DEFAULT_FONT_HEIGHT][OLIVEC_DEFAUL {1, 1, 1, 1, 1}, }, - ['A'] = {0}, - ['B'] = {0}, - ['C'] = {0}, - ['D'] = {0}, - ['E'] = {0}, - ['F'] = {0}, - ['G'] = {0}, - ['H'] = {0}, - ['I'] = {0}, - ['J'] = {0}, - ['K'] = {0}, - ['L'] = {0}, - ['M'] = {0}, - ['N'] = {0}, - ['O'] = {0}, - ['P'] = {0}, - ['Q'] = {0}, - ['R'] = {0}, - ['S'] = {0}, - ['T'] = {0}, - ['U'] = {0}, - ['V'] = {0}, - ['W'] = {0}, - ['X'] = {0}, - ['Y'] = {0}, - ['Z'] = {0}, + + ['A'] = { + {0, 1, 1, 1, 0}, + {1, 0, 0, 0, 1}, + {1, 1, 1, 1, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + }, + ['B'] = { + {1, 1, 1, 1, 0}, + {1, 0, 0, 0, 1}, + {1, 1, 1, 1, 0}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 1, 1, 1, 0}, + }, + ['C'] = { + {0, 1, 1, 1, 0}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 1}, + {0, 1, 1, 1, 0}, + }, + ['D'] = { + {1, 1, 1, 1, 0}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 1, 1, 1, 0}, + }, + ['E'] = { + {1, 1, 1, 1, 1}, + {1, 0, 0, 0, 0}, + {1, 1, 1, 1, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 1, 1, 1, 1}, + }, + ['F'] = { + {1, 1, 1, 1, 1}, + {1, 0, 0, 0, 0}, + {1, 1, 1, 1, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + }, + ['G'] = { + {0, 1, 1, 1, 1}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 1, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {0, 1, 1, 1, 0}, + }, + ['H'] = { + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 1, 1, 1, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + }, + ['I'] = { + {0, 1, 1, 1, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 1, 1, 1, 0}, + }, + ['J'] = { + {0, 0, 0, 1, 0}, + {0, 0, 0, 1, 0}, + {0, 0, 0, 1, 0}, + {0, 0, 0, 1, 0}, + {1, 0, 0, 1, 0}, + {0, 1, 1, 0, 0}, + }, + ['K'] = { + {1, 0, 0, 0, 1}, + {1, 0, 0, 1, 0}, + {1, 1, 1, 0, 0}, + {1, 0, 0, 1, 0}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + }, + ['L'] = { + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 1, 1, 1, 0}, + }, + ['M'] = { + {1, 0, 0, 0, 1}, + {1, 1, 0, 1, 1}, + {1, 0, 1, 0, 1}, + {1, 0, 1, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + }, + ['N'] = { + {1, 0, 0, 0, 1}, + {1, 1, 0, 0, 1}, + {1, 0, 1, 0, 1}, + {1, 0, 0, 1, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + }, + ['O'] = { + {0, 1, 1, 1, 0}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {0, 1, 1, 1, 0}, + }, + ['P'] = { + {1, 1, 1, 1, 0}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 1, 1, 1, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + }, + ['Q'] = { + {0, 1, 1, 1, 0}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 1, 0, 1}, + {1, 0, 0, 1, 0}, + {0, 1, 1, 0, 1}, + }, + ['R'] = { + {1, 1, 1, 1, 0}, + {1, 0, 0, 0, 1}, + {1, 1, 1, 1, 0}, + {1, 0, 1, 0, 0}, + {1, 0, 0, 1, 0}, + {1, 0, 0, 0, 1}, + }, + ['S'] = { + {0, 1, 1, 1, 1}, + {1, 0, 0, 0, 0}, + {0, 1, 1, 1, 0}, + {0, 0, 0, 0, 1}, + {0, 0, 0, 0, 1}, + {1, 1, 1, 1, 0}, + }, + ['T'] = { + {1, 1, 1, 1, 1}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + }, + ['U'] = { + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {0, 1, 1, 1, 0}, + }, + ['V'] = { + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {0, 1, 0, 1, 0}, + {0, 1, 0, 1, 0}, + {0, 0, 1, 0, 0}, + }, + ['W'] = { + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 1, 0, 1}, + {1, 0, 1, 0, 1}, + {0, 1, 0, 1, 0}, + }, + ['X'] = { + {1, 0, 0, 0, 1}, + {0, 1, 0, 1, 0}, + {0, 0, 1, 0, 0}, + {0, 1, 0, 1, 0}, + {1, 0, 0, 0, 1}, + {1, 0, 0, 0, 1}, + }, + ['Y'] = { + {1, 0, 0, 0, 1}, + {0, 1, 0, 1, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + }, + ['Z'] = { + {1, 1, 1, 1, 1}, + {0, 0, 0, 0, 1}, + {0, 0, 0, 1, 0}, + {0, 0, 1, 0, 0}, + {0, 1, 0, 0, 0}, + {1, 1, 1, 1, 1}, + }, ['0'] = { {0, 1, 1, 0, 0}, @@ -1026,4 +1209,3 @@ OLIVECDEF void olivec_sprite_copy_bilinear(Olivec_Canvas oc, int x, int y, int w // TODO: olivec_ring // TODO: fuzzer // TODO: Stencil - From b825dc756d3d74a30996056a362f3b60f835a7e3 Mon Sep 17 00:00:00 2001 From: jarreed0 Date: Wed, 15 Feb 2023 11:14:50 -0600 Subject: [PATCH 3/3] extra symbols --- olive.c | 146 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 145 insertions(+), 1 deletion(-) diff --git a/olive.c b/olive.c index 9eccf09..76ccb5a 100644 --- a/olive.c +++ b/olive.c @@ -556,7 +556,6 @@ static char olivec_default_glyphs[128][OLIVEC_DEFAULT_FONT_HEIGHT][OLIVEC_DEFAUL {0, 0, 0, 1, 0}, {0, 0, 1, 0, 0}, }, - ['.'] = { {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, @@ -573,6 +572,151 @@ static char olivec_default_glyphs[128][OLIVEC_DEFAULT_FONT_HEIGHT][OLIVEC_DEFAUL {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, }, + [':'] = { + {0, 0, 0, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + }, + [';'] = { + {0, 0, 0, 0, 0}, + {0, 0, 0, 1, 0}, + {0, 0, 0, 1, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 1, 0}, + {0, 0, 1, 0, 0}, + }, + ['['] = { + {1, 1, 1, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 1, 1, 0, 0}, + }, + [']'] = { + {0, 0, 1, 1, 1}, + {0, 0, 0, 0, 1}, + {0, 0, 0, 0, 1}, + {0, 0, 0, 0, 1}, + {0, 0, 0, 0, 1}, + {0, 0, 1, 1, 1}, + }, + ['('] = { + {0, 1, 1, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {0, 1, 1, 0, 0}, + }, + [')'] = { + {0, 0, 1, 1, 0}, + {0, 0, 0, 0, 1}, + {0, 0, 0, 0, 1}, + {0, 0, 0, 0, 1}, + {0, 0, 0, 0, 1}, + {0, 0, 1, 1, 0}, + }, + ['{'] = { + {0, 1, 1, 0, 0}, + {0, 1, 0, 0, 0}, + {0, 1, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {0, 1, 0, 0, 0}, + {0, 1, 1, 0, 0}, + }, + ['}'] = { + {0, 0, 1, 1, 0}, + {0, 0, 0, 1, 0}, + {0, 0, 0, 1, 0}, + {0, 0, 0, 0, 1}, + {0, 0, 0, 1, 0}, + {0, 0, 1, 1, 0}, + }, + ['$'] = { + {0, 0, 1, 0, 0}, + {1, 1, 1, 1, 1}, + {0, 1, 0, 0, 0}, + {0, 0, 1, 0, 0}, + {1, 1, 1, 1, 1}, + {0, 0, 1, 0, 0}, + }, + ['#'] = { + {0, 0, 0, 0, 0}, + {0, 1, 0, 1, 0}, + {1, 1, 1, 1, 1}, + {0, 1, 0, 1, 0}, + {1, 1, 1, 1, 1}, + {0, 1, 0, 1, 0}, + }, + ['@'] = { + {1, 1, 1, 1, 1}, + {1, 0, 0, 0, 1}, + {1, 0, 1, 1, 1}, + {1, 0, 1, 1, 1}, + {1, 0, 0, 0, 0}, + {1, 1, 1, 1, 0}, + }, + ['!'] = { + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 1, 0, 0}, + }, + ['?'] = { + {0, 1, 1, 1, 0}, + {0, 1, 0, 1, 0}, + {0, 0, 0, 1, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 1, 0, 0}, + }, + ['%'] = { + {0, 0, 0, 0, 0}, + {1, 0, 0, 0, 1}, + {0, 0, 0, 1, 0}, + {0, 0, 1, 0, 0}, + {0, 1, 0, 0, 0}, + {1, 0, 0, 0, 1}, + }, + ['"'] = { + {0, 1, 0, 0, 1}, + {0, 1, 0, 0, 1}, + {1, 0, 0, 1, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + }, + ['\''] = { + {0, 0, 0, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + }, + ['/'] = { + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 1}, + {0, 0, 0, 1, 0}, + {0, 0, 1, 0, 0}, + {0, 1, 0, 0, 0}, + {1, 0, 0, 0, 0}, + }, + ['\\'] = { + {0, 0, 0, 0, 0}, + {1, 0, 0, 0, 0}, + {0, 1, 0, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 0, 1, 0}, + {0, 0, 0, 0, 1}, + }, + }; static Olivec_Font olivec_default_font = {