From 9c9c868027070015598ad83d19b2e55cab1f855b Mon Sep 17 00:00:00 2001 From: Agent X <44549182+Agent-11@users.noreply.github.com> Date: Sun, 7 Jan 2024 20:23:32 -0500 Subject: [PATCH] Fix broken unicode characters --- src/pc/djui/djui_unicode.c | 107 +++++++++++++++++++------------------ 1 file changed, 55 insertions(+), 52 deletions(-) diff --git a/src/pc/djui/djui_unicode.c b/src/pc/djui/djui_unicode.c index fddfd320..e8eb5ca7 100644 --- a/src/pc/djui/djui_unicode.c +++ b/src/pc/djui/djui_unicode.c @@ -84,58 +84,58 @@ struct SmCodeGlyph sSmCodeGlyphs[] = { { "¡", '!', 0, 0 }, { "¿", '?', 12, 0 }, - { "Б", 15, 0, 0 }, - { "Г", 14, 0, 0 }, - { "Д", 17, 0, 0 }, - { "Ж", 17, 0, 0 }, - { "З", 13, 0, 0 }, - { "И", 15, 0, 0 }, - { "Й", 15, 0, 0 }, - { "Л", 13, 0, 0 }, - { "П", 14, 0, 0 }, - { "У", 12, 0, 0 }, - { "Ф", 17, 0, 0 }, - { "Ц", 14, 0, 0 }, - { "Ч", 11, 0, 0 }, - { "Ш", 17, 0, 0 }, - { "Щ", 17, 0, 0 }, - { "Ъ", 13, 0, 0 }, - { "Ы", 17, 0, 0 }, - { "Ь", 12, 0, 0 }, - { "Ѣ", 14, 0, 0 }, - { "Э", 13, 0, 0 }, - { "Ю", 17, 0, 0 }, - { "Я", 13, 0, 0 }, - { "Є", 12, 0, 0 }, + { "Б", 'B', 0, 0 }, + { "Г", 'L', 0, 0 }, + { "Д", 'A', 0, 0 }, + { "Ж", 'X', 0, 0 }, + { "З", '3', 0, 0 }, + { "И", 'N', 0, 0 }, + { "Й", 'N', 0, 0 }, + { "Л", 'U', 0, 0 }, + { "П", 'U', 0, 0 }, + { "У", 'y', 0, 0 }, + { "Ф", 'o', 0, 0 }, + { "Ц", 'U', 0, 0 }, + { "Ч", '4', 0, 0 }, + { "Ш", 'W', 0, 0 }, + { "Щ", 'W', 0, 0 }, + { "Ъ", 'b', 0, 0 }, + { "Ы", 'O', 0, 0 }, + { "Ь", 'b', 0, 0 }, + { "Ѣ", 'b', 0, 0 }, + { "Э", '3', 0, 0 }, + { "Ю", 'O', 0, 0 }, + { "Я", 'R', 0, 0 }, + { "Є", 'E', 0, 0 }, - { "а", 13, 0, 0 }, - { "б", 11, 0, 0 }, - { "в", 11, 0, 0 }, - { "г", 10, 0, 0 }, - { "д", 12, 0, 0 }, - { "ж", 15, 0, 0 }, - { "з", 13, 0, 0 }, - { "и", 12, 0, 0 }, - { "й", 12, 0, 0 }, - { "к", 9, 0, 0 }, - { "л", 10, 0, 0 }, - { "м", 11, 0, 0 }, - { "н", 11, 0, 0 }, - { "п", 11, 0, 0 }, - { "т", 11, 0, 0 }, - { "ф", 14, 0, 0 }, - { "ц", 11, 0, 0 }, - { "ч", 9, 0, 0 }, - { "ш", 17, 0, 0 }, - { "щ", 17, 0, 0 }, - { "ъ", 14, 0, 0 }, - { "ы", 17, 0, 0 }, - { "ь", 12, 0, 0 }, - { "ѣ", 13, 0, 0 }, - { "э", 12, 0, 0 }, - { "ю", 16, 0, 0 }, - { "я", 12, 0, 0 }, - { "є", 12, 0, 0 }, + { "а", 'a', 0, 0 }, + { "б", '6', 0, 0 }, + { "в", 'B', 0, 0 }, + { "г", 'r', 0, 0 }, + { "д", 'A', 0, 0 }, + { "ж", 'x', 0, 0 }, + { "з", '3', 0, 0 }, + { "и", 'n', 0, 0 }, + { "й", 'n', 0, 0 }, + { "к", 'k', 0, 0 }, + { "л", 'n', 0, 0 }, + { "м", 'm', 0, 0 }, + { "н", 'h', 0, 0 }, + { "п", 'n', 0, 0 }, + { "т", 't', 0, 0 }, + { "ф", 'o', 0, 0 }, + { "ц", 'u', 0, 0 }, + { "ч", '4', 0, 0 }, + { "ш", 'w', 0, 0 }, + { "щ", 'w', 0, 0 }, + { "ъ", 'b', 0, 0 }, + { "ы", 'O', 0, 0 }, + { "ь", 'b', 0, 0 }, + { "ѣ", 'b', 0, 0 }, + { "э", '3', 0, 0 }, + { "ю", 'O', 0, 0 }, + { "я", 'r', 0, 0 }, + { "є", 'e', 0, 0 }, { "Č", 'C', 0, 0 }, { "č", 'c', 0, 0 }, @@ -154,7 +154,7 @@ struct SmCodeGlyph sSmCodeGlyphs[] = { { "Ň", 'N', 0, 0 }, { "ň", 'n', 0, 0 }, { "Ť", 'T', 0, 0 }, - { "ť", 13, 0, 0 }, + { "ť", 't', 0, 0 }, { "ę", 'e', 0, 0 }, { "ń", 'n', 0, 0 }, @@ -307,6 +307,9 @@ f32 djui_unicode_get_sprite_width(char* text, const f32 font_widths[]) { if (glyph) { if (glyph->width) { // use the custom width + if (font_widths[0] < 1) { + return glyph->width / 32.0f; + } return glyph->width; } if ((u8)glyph->base < (u8)'!') {