From 90d1a71b6421845502c5081ebf86e2a4649e295f Mon Sep 17 00:00:00 2001 From: MysterD Date: Tue, 28 Mar 2023 16:14:48 -0700 Subject: [PATCH] Added 15 more characters --- bin/segment2.c | 76 +++++++++ src/pc/djui/djui_font.c | 154 ++++++++++++------ src/pc/djui/djui_font.h | 1 + src/pc/djui/djui_inputbox.c | 2 +- .../custom_font_normal_char_ca_ang.ia4.png | Bin 0 -> 518 bytes .../custom_font_normal_char_cae.ia4.png | Bin 0 -> 530 bytes .../custom_font_normal_char_ceth.ia4.png | Bin 0 -> 523 bytes ...~ => custom_font_normal_char_ci_c.ia4.png} | Bin 512 -> 513 bytes .../custom_font_normal_char_coe.ia4.png | Bin 0 -> 534 bytes .../custom_font_normal_char_cos.ia4.png | Bin 0 -> 522 bytes .../custom_font_normal_char_cu_c.ia4.png | Bin 0 -> 517 bytes ...=> custom_font_normal_char_la_ang.ia4.png} | Bin 514 -> 515 bytes .../custom_font_normal_char_lae.ia4.png | Bin 0 -> 513 bytes .../custom_font_normal_char_leth.ia4.png | Bin 0 -> 512 bytes ...~ => custom_font_normal_char_li_c.ia4.png} | Bin 501 -> 496 bytes .../custom_font_normal_char_loe.ia4.png | Bin 0 -> 508 bytes .../custom_font_normal_char_los.ia4.png | Bin 0 -> 505 bytes ...~ => custom_font_normal_char_lu_c.ia4.png} | Bin 505 -> 512 bytes .../custom_font_normal_char_scn.ia4.png~ | Bin 543 -> 0 bytes .../custom_font_normal_char_ss.ia4.png | Bin 0 -> 521 bytes 20 files changed, 182 insertions(+), 51 deletions(-) create mode 100644 textures/segment2/custom_font_normal_char_ca_ang.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_cae.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_ceth.ia4.png rename textures/segment2/{custom_font_normal_char_squ.ia4.png~ => custom_font_normal_char_ci_c.ia4.png} (83%) create mode 100644 textures/segment2/custom_font_normal_char_coe.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_cos.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_cu_c.ia4.png rename textures/segment2/{custom_font_normal_char_pcc.ia4.png~ => custom_font_normal_char_la_ang.ia4.png} (83%) create mode 100644 textures/segment2/custom_font_normal_char_lae.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_leth.ia4.png rename textures/segment2/{custom_font_normal_char_sex.ia4.png~ => custom_font_normal_char_li_c.ia4.png} (85%) create mode 100644 textures/segment2/custom_font_normal_char_loe.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_los.ia4.png rename textures/segment2/{custom_font_normal_char_pc.ia4.png~ => custom_font_normal_char_lu_c.ia4.png} (83%) delete mode 100644 textures/segment2/custom_font_normal_char_scn.ia4.png~ create mode 100644 textures/segment2/custom_font_normal_char_ss.ia4.png diff --git a/bin/segment2.c b/bin/segment2.c index 3fd187d6..9bc8115a 100644 --- a/bin/segment2.c +++ b/bin/segment2.c @@ -3597,6 +3597,10 @@ ALIGNED8 static const u8 texture_font_normal_char_ca_a[] = { #include "textures/segment2/custom_font_normal_char_ca_a.ia4.inc.c" }; +ALIGNED8 static const u8 texture_font_normal_char_ca_ang[] = { +#include "textures/segment2/custom_font_normal_char_ca_ang.ia4.inc.c" +}; + ALIGNED8 static const u8 texture_font_normal_char_ca_c[] = { #include "textures/segment2/custom_font_normal_char_ca_c.ia4.inc.c" }; @@ -3637,6 +3641,10 @@ ALIGNED8 static const u8 texture_font_normal_char_ci_a[] = { #include "textures/segment2/custom_font_normal_char_ci_a.ia4.inc.c" }; +ALIGNED8 static const u8 texture_font_normal_char_ci_c[] = { +#include "textures/segment2/custom_font_normal_char_ci_c.ia4.inc.c" +}; + ALIGNED8 static const u8 texture_font_normal_char_ci_g[] = { #include "textures/segment2/custom_font_normal_char_ci_g.ia4.inc.c" }; @@ -3673,6 +3681,10 @@ ALIGNED8 static const u8 texture_font_normal_char_cu_a[] = { #include "textures/segment2/custom_font_normal_char_cu_a.ia4.inc.c" }; +ALIGNED8 static const u8 texture_font_normal_char_cu_c[] = { +#include "textures/segment2/custom_font_normal_char_cu_c.ia4.inc.c" +}; + ALIGNED8 static const u8 texture_font_normal_char_cu_g[] = { #include "textures/segment2/custom_font_normal_char_cu_g.ia4.inc.c" }; @@ -3693,6 +3705,10 @@ ALIGNED8 static const u8 texture_font_normal_char_la_a[] = { #include "textures/segment2/custom_font_normal_char_la_a.ia4.inc.c" }; +ALIGNED8 static const u8 texture_font_normal_char_la_ang[] = { +#include "textures/segment2/custom_font_normal_char_la_ang.ia4.inc.c" +}; + ALIGNED8 static const u8 texture_font_normal_char_la_c[] = { #include "textures/segment2/custom_font_normal_char_la_c.ia4.inc.c" }; @@ -3733,6 +3749,10 @@ ALIGNED8 static const u8 texture_font_normal_char_li_a[] = { #include "textures/segment2/custom_font_normal_char_li_a.ia4.inc.c" }; +ALIGNED8 static const u8 texture_font_normal_char_li_c[] = { +#include "textures/segment2/custom_font_normal_char_li_c.ia4.inc.c" +}; + ALIGNED8 static const u8 texture_font_normal_char_li_g[] = { #include "textures/segment2/custom_font_normal_char_li_g.ia4.inc.c" }; @@ -3769,6 +3789,10 @@ ALIGNED8 static const u8 texture_font_normal_char_lu_a[] = { #include "textures/segment2/custom_font_normal_char_lu_a.ia4.inc.c" }; +ALIGNED8 static const u8 texture_font_normal_char_lu_c[] = { +#include "textures/segment2/custom_font_normal_char_lu_c.ia4.inc.c" +}; + ALIGNED8 static const u8 texture_font_normal_char_lu_g[] = { #include "textures/segment2/custom_font_normal_char_lu_g.ia4.inc.c" }; @@ -3785,6 +3809,42 @@ ALIGNED8 static const u8 texture_font_normal_char_ly_u[] = { #include "textures/segment2/custom_font_normal_char_ly_u.ia4.inc.c" }; +ALIGNED8 static const u8 texture_font_normal_char_lae[] = { +#include "textures/segment2/custom_font_normal_char_lae.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_cae[] = { +#include "textures/segment2/custom_font_normal_char_cae.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_loe[] = { +#include "textures/segment2/custom_font_normal_char_loe.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_coe[] = { +#include "textures/segment2/custom_font_normal_char_coe.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_leth[] = { +#include "textures/segment2/custom_font_normal_char_leth.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_ceth[] = { +#include "textures/segment2/custom_font_normal_char_ceth.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_los[] = { +#include "textures/segment2/custom_font_normal_char_los.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_cos[] = { +#include "textures/segment2/custom_font_normal_char_cos.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_ss[] = { +#include "textures/segment2/custom_font_normal_char_ss.ia4.inc.c" +}; + ALIGNED8 static const u8 texture_font_normal_char_punc_sp_ex[] = { #include "textures/segment2/custom_font_normal_char_punc_sp_ex.ia4.inc.c" }; @@ -3892,6 +3952,7 @@ const u8* const font_normal_chars[] = { texture_font_char_us_star_filled, // DEL texture_font_normal_char_ca_a, // Á + texture_font_normal_char_ca_ang, // Å texture_font_normal_char_ca_c, //  texture_font_normal_char_ca_g, // À texture_font_normal_char_ca_t, // à @@ -3902,6 +3963,7 @@ const u8* const font_normal_chars[] = { texture_font_normal_char_ce_g, // È texture_font_normal_char_ce_u, // Ë texture_font_normal_char_ci_a, // Í + texture_font_normal_char_ci_c, // Î texture_font_normal_char_ci_g, // Ì texture_font_normal_char_ci_u, // Ï texture_font_normal_char_cn_t, // Ñ @@ -3911,12 +3973,14 @@ const u8* const font_normal_chars[] = { texture_font_normal_char_co_t, // Õ texture_font_normal_char_co_u, // Ö texture_font_normal_char_cu_a, // Ú + texture_font_normal_char_cu_c, // Û texture_font_normal_char_cu_g, // Ù texture_font_normal_char_cu_u, // Ü texture_font_normal_char_cy_a, // Ý texture_font_normal_char_cy_u, // Ÿ texture_font_normal_char_la_a, // á + texture_font_normal_char_la_ang, // å texture_font_normal_char_la_c, // â texture_font_normal_char_la_g, // à texture_font_normal_char_la_t, // ã @@ -3927,6 +3991,7 @@ const u8* const font_normal_chars[] = { texture_font_normal_char_le_g, // è texture_font_normal_char_le_u, // ë texture_font_normal_char_li_a, // í + texture_font_normal_char_li_c, // î texture_font_normal_char_li_g, // ì texture_font_normal_char_li_u, // ï texture_font_normal_char_ln_t, // ñ @@ -3936,11 +4001,22 @@ const u8* const font_normal_chars[] = { texture_font_normal_char_lo_t, // õ texture_font_normal_char_lo_u, // ö texture_font_normal_char_lu_a, // ú + texture_font_normal_char_lu_c, // û texture_font_normal_char_lu_g, // ù texture_font_normal_char_lu_u, // ü texture_font_normal_char_ly_a, // ý texture_font_normal_char_ly_u, // ÿ + texture_font_normal_char_lae, // æ + texture_font_normal_char_cae, // Æ + texture_font_normal_char_loe, // œ + texture_font_normal_char_coe, // Œ + texture_font_normal_char_leth, // ð + texture_font_normal_char_ceth, // Ð + texture_font_normal_char_los, // ø + texture_font_normal_char_cos, // Ø + texture_font_normal_char_ss, // ß + texture_font_normal_char_punc_sp_ex, // ¡ texture_font_normal_char_punc_sp_qu, // ¿ diff --git a/src/pc/djui/djui_font.c b/src/pc/djui/djui_font.c index c8fb2136..94169323 100644 --- a/src/pc/djui/djui_font.c +++ b/src/pc/djui/djui_font.c @@ -4,61 +4,78 @@ struct SmCodeGlyph { char unicode[3]; char base; + f32 width; }; struct SmCodeGlyph sSmCodeGlyphs[] = { - { "Á", 'A' }, - { "Â", 'A' }, - { "À", 'A' }, - { "Ã", 'A' }, - { "Ä", 'A' }, - { "Ç", 'C' }, - { "É", 'E' }, - { "Ê", 'E' }, - { "È", 'E' }, - { "Ë", 'E' }, - { "Í", 'I' }, - { "Ì", 'I' }, - { "Ï", 'I' }, - { "Ñ", 'N' }, - { "Ó", 'O' }, - { "Ô", 'O' }, - { "Ò", 'O' }, - { "Õ", 'O' }, - { "Ö", 'O' }, - { "Ú", 'U' }, - { "Ù", 'U' }, - { "Ü", 'U' }, - { "Ý", 'Y' }, - { "Ÿ", 'Y' }, + { "Á", 'A', 0 }, + { "Å", 'A', 0 }, + { "Â", 'A', 0 }, + { "À", 'A', 0 }, + { "Ã", 'A', 0 }, + { "Ä", 'A', 0 }, + { "Ç", 'C', 0 }, + { "É", 'E', 0 }, + { "Ê", 'E', 0 }, + { "È", 'E', 0 }, + { "Ë", 'E', 0 }, + { "Í", 'I', 0 }, + { "Î", 'I', 0 }, + { "Ì", 'I', 0 }, + { "Ï", 'I', 0 }, + { "Ñ", 'N', 0 }, + { "Ó", 'O', 0 }, + { "Ô", 'O', 0 }, + { "Ò", 'O', 0 }, + { "Õ", 'O', 0 }, + { "Ö", 'O', 0 }, + { "Ú", 'U', 0 }, + { "Û", 'U', 0 }, + { "Ù", 'U', 0 }, + { "Ü", 'U', 0 }, + { "Ý", 'Y', 0 }, + { "Ÿ", 'Y', 0 }, - { "á", 'a' }, - { "â", 'a' }, - { "à", 'a' }, - { "ã", 'a' }, - { "ä", 'a' }, - { "ç", 'c' }, - { "é", 'e' }, - { "ê", 'e' }, - { "è", 'e' }, - { "ë", 'e' }, - { "í", 'i' }, - { "ì", 'i' }, - { "ï", 'i' }, - { "ñ", 'n' }, - { "ó", 'o' }, - { "ô", 'o' }, - { "ò", 'o' }, - { "õ", 'o' }, - { "ö", 'o' }, - { "ú", 'u' }, - { "ù", 'u' }, - { "ü", 'u' }, - { "ý", 'y' }, - { "ÿ", 'y' }, + { "á", 'a', 0 }, + { "å", 'a', 0 }, + { "â", 'a', 0 }, + { "à", 'a', 0 }, + { "ã", 'a', 0 }, + { "ä", 'a', 0 }, + { "ç", 'c', 0 }, + { "é", 'e', 0 }, + { "ê", 'e', 0 }, + { "è", 'e', 0 }, + { "ë", 'e', 0 }, + { "í", 'i', 0 }, + { "î", 'i', 0 }, + { "ì", 'i', 0 }, + { "ï", 'i', 0 }, + { "ñ", 'n', 0 }, + { "ó", 'o', 0 }, + { "ô", 'o', 0 }, + { "ò", 'o', 0 }, + { "õ", 'o', 0 }, + { "ö", 'o', 0 }, + { "ú", 'u', 0 }, + { "û", 'u', 0 }, + { "ù", 'u', 0 }, + { "ü", 'u', 0 }, + { "ý", 'y', 0 }, + { "ÿ", 'y', 0 }, - { "¡", '!' }, - { "¿", '?' }, + { "æ", 'a', 0.5000f }, + { "Æ", 'a', 0.6000f }, + { "œ", 'o', 0.5000f }, + { "Œ", 'o', 0.5000f }, + { "ð", 'd', 0 }, + { "Ð", 'D', 0.4375f }, + { "ø", 'o', 0 }, + { "Ø", 'O', 0 }, + { "ß", 'S', 0 }, + + { "¡", '!', 0 }, + { "¿", '?', 0 }, }; @@ -74,6 +91,28 @@ u8 djui_font_convert_smcode_to_base(char c) { return sSmCodeGlyphs[((u8)c - 128)].base; } +void djui_font_convert_to_unicode(char* from, char* to, int length, int maxlength) { + int clen = 0; + int count = 0; + to[0] = '\0'; + while (*from != '\0' && count < length) { + count++; + if ((u8)*from < 128 || !djui_font_valid_smcode(*from)) { + clen = strlen(to); + snprintf(to + clen, maxlength - clen, "%c", *from); + from++; + continue; + } + + int i = (u8)*from - 128; + struct SmCodeGlyph* glyph = &sSmCodeGlyphs[i]; + clen = strlen(to); + snprintf(to + clen, maxlength - clen, "%s", glyph->unicode); + + from++; + } +} + void djui_font_convert_to_smcode(char* text) { size_t glyphCount = sizeof(sSmCodeGlyphs) / sizeof(sSmCodeGlyphs[0]); @@ -159,6 +198,21 @@ static void djui_font_normal_render_char(char c) { static f32 djui_font_normal_char_width(char c) { if (c == ' ') { return 0.30f; } extern const f32 font_normal_widths[]; + + if ((u8)c < 128) { + return font_normal_widths[(u8)c - '!']; + } + + size_t glyphCount = sizeof(sSmCodeGlyphs) / sizeof(sSmCodeGlyphs[0]); + u8 max = 128 + glyphCount; + if ((u8)c > max) { + return font_normal_widths[(u8)'?' - '!']; + } + + if (sSmCodeGlyphs[(u8)c - 128].width > 0) { + return sSmCodeGlyphs[(u8)c - 128].width; + } + c = djui_font_convert_smcode_to_base(c); return font_normal_widths[(u8)c - '!']; } diff --git a/src/pc/djui/djui_font.h b/src/pc/djui/djui_font.h index aff57fdb..082e8234 100644 --- a/src/pc/djui/djui_font.h +++ b/src/pc/djui/djui_font.h @@ -16,5 +16,6 @@ struct DjuiFont { extern const struct DjuiFont* gDjuiFonts[]; u8 djui_font_convert_smcode_to_base(char c); +void djui_font_convert_to_unicode(char* from, char* to, int length, int maxlength); void djui_font_convert_to_smcode(char* text); bool djui_font_valid_smcode(char c); diff --git a/src/pc/djui/djui_inputbox.c b/src/pc/djui/djui_inputbox.c index c2cbd8b7..977e82d2 100644 --- a/src/pc/djui/djui_inputbox.c +++ b/src/pc/djui/djui_inputbox.c @@ -236,7 +236,7 @@ bool djui_inputbox_on_key_down(struct DjuiBase *base, int scancode) { if (sHeldControl && (scancode == SCANCODE_C || scancode == SCANCODE_X)) { if (sel[0] != sel[1]) { char clipboardText[256] = { 0 }; - snprintf(clipboardText, fmin(256, 1 + s2 - s1), "%s", &msg[s1]); + djui_font_convert_to_unicode(&msg[s1], clipboardText, fmin(256, 1 + s2 - s1), 255); wm_api->set_clipboard_text(clipboardText); if (scancode == SCANCODE_X) { djui_inputbox_delete_selection(inputbox); diff --git a/textures/segment2/custom_font_normal_char_ca_ang.ia4.png b/textures/segment2/custom_font_normal_char_ca_ang.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..8346cd9e3aacbab077b1094c82df2acbab099638 GIT binary patch literal 518 zcmV+h0{Q)kP)-p*Gkt){GvEh;t$1kJT?V>)iac-V6B4ntZfPp2!~B0um7D#-J~^@o1c@~ zBeNHW7}G=up^;}51D7GGImxWLZ}`_Y!`CAmQ#gQQ^-a%3G(lsSDEqY2mgM!Na zf1XZybfnb1H3Id|p7-7d!Cffsc;5H1=M_&N@C28+vVTo-8vhi1r>un!p?wq1ugaRX z2Nzq={b(iac{sEQRXW4f_ zJpTXy010qNS#tmY3labT3lag+-G2N4002HoL_t(2Q)6Hl@_-T92Y>$j`A^74EG#Tw zJs`C(HdZ~@41pvu$00dGmoDeXOdjJ3c07*qo IM6N<$f&dNOKL7v# literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_cae.ia4.png b/textures/segment2/custom_font_normal_char_cae.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..f8f89c6970245b7f0210f59b5d1f41b25bbd6a06 GIT binary patch literal 530 zcmV+t0`2{YP)a1zEHB0@mP2+H6Lzx zCP0V|2I<#y#~PoSO7QRaxW%XHO+@wjf8U>@dC72e@HGmL=$2g)9urQilq|)Y!tHua zTM|AH9+zdndnP#ne$_La{lV!Utmo{!aG!8@-Yo0Y^QfD&7=_ts zsa-NdI3$S^BTSky%b1jiNG(WafBT{p-y}ux=<>H%#TG}FoOlOBElXEJYDRQJK9g0I z`|muR%hpzi|1c3)QFVy@+$!YXm^sSoKy$`{4IK8N8 z=^Z%RfX;hMv$cv8km=84;N=8bQ_yw|O$%OD)pd^VU}jC8=n8iCpjY+>7ry~M?Pw=2 zu)(07*qoM6N<$f&d`tYXATM literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_ceth.ia4.png b/textures/segment2/custom_font_normal_char_ceth.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..0a0de4be0b38f432d648ed3a95a27369b0f74f3c GIT binary patch literal 523 zcmV+m0`&cfP)a1zEHB0@mP2+H6Lzx zCP0V|2I<#y#~PoSO7QRaxW%XHO+@wjf8U>@dC72e@HGmL=$2g)9urQilq|)Y!tHua zTM|AH9+zdndnP#ne$_La{lV!Utmo{!aG!8@-Yo0Y^QfD&7=_ts zsa-NdI3$S^BTSky%b1jiNG(WafBT{p-y}ux=<>H%#TG}FoOlOBElXEJYDRQJK9g0I z`|muR%hpzi|1c3)QFVy@+$!YXm^sSoKy$`{4IK8N8 z=^Z%RfX;hMv$cv8km=84;N=8bQ_yw|O$%OD)pd^VU}jC8=n8iCpjY+>7ry~M?Pw=2 zu)({P~YA$HKyb zQ$31WY??s|aETM88Kwx`5Ef+JAW39r!ua@XM)4Cag+%)uJovUz=d#Wzp$PzUt{?9J delta 85 zcmZoa1zEHB0@mP2+H6Lzx zCP0V|2I<#y#~PoSO7QRaxW%XHO+@wjf8U>@dC72e@HGmL=$2g)9urQilq|)Y!tHua zTM|AH9+zdndnP#ne$_La{lV!Utmo{!aG!8@-Yo0Y^QfD&7=_ts zsa-NdI3$S^BTSky%b1jiNG(WafBT{p-y}ux=<>H%#TG}FoOlOBElXEJYDRQJK9g0I z`|muR%hpzi|1c3)QFVy@+$!YXm^sSoKy$`{4IK8N8 z=^Z%RfX;hMv$cv8km=84;N=8bQ_yw|O$%OD)pd^VU}jC8=n8iCpjY+>7ry~M?Pw=2 zu)(OV07*qoM6N<$f)O+5@&Et; literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_cos.ia4.png b/textures/segment2/custom_font_normal_char_cos.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..190cab735e27b73e88883135f5ffed52bac9d60f GIT binary patch literal 522 zcmV+l0`>igP)a1zEHB0@mP2+H6Lzx zCP0V|2I<#y#~PoSO7QRaxW%XHO+@wjf8U>@dC72e@HGmL=$2g)9urQilq|)Y!tHua zTM|AH9+zdndnP#ne$_La{lV!Utmo{!aG!8@-Yo0Y^QfD&7=_ts zsa-NdI3$S^BTSky%b1jiNG(WafBT{p-y}ux=<>H%#TG}FoOlOBElXEJYDRQJK9g0I z`|muR%hpzi|1c3)QFVy@+$!YXm^sSoKy$`{4IK8N8 z=^Z%RfX;hMv$cv8km=84;N=8bQ_yw|O$%OD)pd^VU}jC8=n8iCpjY+>7ry~M?Pw=2 zu)(&qEFpcP5!0-<)C*txu07a@VpTtWs5dZ)H M07*qoM6N<$g7JIjU;qFB literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_cu_c.ia4.png b/textures/segment2/custom_font_normal_char_cu_c.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..79ed515c1f173702021217e07d40cdee8a03130b GIT binary patch literal 517 zcmV+g0{Z=lP)-p*Gkt){GvEh;t$1kJT?V>)iac-V6B4ntZfPp2!~B0um7D#-J~^@o1c@~ zBeNHW7}G=up^;}51D7GGImxWLZ}`_Y!`CAmQ#gQQ^-a%3G(lsSDEqY2mgM!Na zf1XZybfnb1H3Id|p7-7d!Cffsc;5H1=M_&N@C28+vVTo-8vhi1r>un!p?wq1ugaRX z2Nzq={b(iac{sEQRXW4f_ zJpTXy010qNS#tmY3labT3lag+-G2N4002EnL_t(2Q)6Hl@_-SW5B~i5^B$Nkl?0 u1ja|FNzx2cjLn58UH~aXRz%RbK=l9>%PX5+SinL60000X=2&1nbF_M)5S4FBRDxhV%~%E^X>mTO582Kam2u>VS>`0Pc0_RInLpSnTnYd r&l*&UiHW(Tq%SV`AlbA|FpYzu_oe#0kMGJ)F#v(5tDnm{r-UW|3uhv= diff --git a/textures/segment2/custom_font_normal_char_lae.ia4.png b/textures/segment2/custom_font_normal_char_lae.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..991770e44f8e5d76505bc7cc4f5c70788aa4795f GIT binary patch literal 513 zcmV+c0{;DpP)a1zEHB0@mP2+H6Lzx zCP0V|2I<#y#~PoSO7QRaxW%XHO+@wjf8U>@dC72e@HGmL=$2g)9urQilq|)Y!tHua zTM|AH9+zdndnP#ne$_La{lV!Utmo{!aG!8@-Yo0Y^QfD&7=_ts zsa-NdI3$S^BTSky%b1jiNG(WafBT{p-y}ux=<>H%#TG}FoOlOBElXEJYDRQJK9g0I z`|muR%hpzi|1c3)QFVy@+$!YXm^sSoKy$`{4IK8N8 z=^Z%RfX;hMv$cv8km=84;N=8bQ_yw|O$%OD)pd^VU}jC8=n8iCpjY+>7ry~M?Pw=2 zu)(a1zEHB0@mP2+H6Lzx zCP0V|2I<#y#~PoSO7QRaxW%XHO+@wjf8U>@dC72e@HGmL=$2g)9urQilq|)Y!tHua zTM|AH9+zdndnP#ne$_La{lV!Utmo{!aG!8@-Yo0Y^QfD&7=_ts zsa-NdI3$S^BTSky%b1jiNG(WafBT{p-y}ux=<>H%#TG}FoOlOBElXEJYDRQJK9g0I z`|muR%hpzi|1c3)QFVy@+$!YXm^sSoKy$`{4IK8N8 z=^Z%RfX;hMv$cv8km=84;N=8bQ_yw|O$%OD)pd^VU}jC8=n8iCpjY+>7ry~M?Pw=2 zu)(TLGb6#pZ~amgoT9# zMJ>*tLpKD*N2jqGfJ-w>F+LZ<4FoBIVQk(*Hv|C0;WK87kqJ!z0000v>JuS1mdKI;Vst0HGim9smFU delta 74 zcmeys{FQmbW=1DnPZ!4!jo{=2309ZZ1M}_c|1}$!9o2c!^nxogB0}QhO{Qrs*IYc9 d1O3!o1sSTU`QL2e%4lH#0#8>zmvv4FO#m`V8z}$) diff --git a/textures/segment2/custom_font_normal_char_loe.ia4.png b/textures/segment2/custom_font_normal_char_loe.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..3b5b38d330f6bc4f667637d2d3692cb3294bd9d4 GIT binary patch literal 508 zcmVa1zEHB0@mP2+H6Lzx zCP0V|2I<#y#~PoSO7QRaxW%XHO+@wjf8U>@dC72e@HGmL=$2g)9urQilq|)Y!tHua zTM|AH9+zdndnP#ne$_La{lV!Utmo{!aG!8@-Yo0Y^QfD&7=_ts zsa-NdI3$S^BTSky%b1jiNG(WafBT{p-y}ux=<>H%#TG}FoOlOBElXEJYDRQJK9g0I z`|muR%hpzi|1c3)QFVy@+$!YXm^sSoKy$`{4IK8N8 z=^Z%RfX;hMv$cv8km=84;N=8bQ_yw|O$%OD)pd^VU}jC8=n8iCpjY+>7ry~M?Pw=2 zu)(a1zEHB0@mP2+H6Lzx zCP0V|2I<#y#~PoSO7QRaxW%XHO+@wjf8U>@dC72e@HGmL=$2g)9urQilq|)Y!tHua zTM|AH9+zdndnP#ne$_La{lV!Utmo{!aG!8@-Yo0Y^QfD&7=_ts zsa-NdI3$S^BTSky%b1jiNG(WafBT{p-y}ux=<>H%#TG}FoOlOBElXEJYDRQJK9g0I z`|muR%hpzi|1c3)QFVy@+$!YXm^sSoKy$`{4IK8N8 z=^Z%RfX;hMv$cv8km=84;N=8bQ_yw|O$%OD)pd^VU}jC8=n8iCpjY+>7ry~M?Pw=2 zu)(zLGb6#pZ~~WEG#S- vYH$V{vSt_?-9U8BOxR2VX(HBUioE~;4PqDGa(f);00000NkvXXu0mjfC4$_h literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_pc.ia4.png~ b/textures/segment2/custom_font_normal_char_lu_c.ia4.png similarity index 83% rename from textures/segment2/custom_font_normal_char_pc.ia4.png~ rename to textures/segment2/custom_font_normal_char_lu_c.ia4.png index 9b5b6e4af000fb4cb0933686fb5d2bc399ea648c..94b79177bbaebee310f57450eae6d8c98de73511 100644 GIT binary patch delta 85 zcmey#+`zJ7Go!DCr;B5VMsRY11Z&R;#}CiX&;Ng;sin2GRZxX}5ht6Zp0k70$CHh` pZs81%4j(DVJXRpI$th_L4}<&!<*mQCb;TKgz|+;wWt~$(69Bd~AT0m@ delta 78 zcmZo*`N_OtGozcKr;B5VMsRY11gnJNhv(<#|2J?_S99SHyc diff --git a/textures/segment2/custom_font_normal_char_scn.ia4.png~ b/textures/segment2/custom_font_normal_char_scn.ia4.png~ deleted file mode 100644 index 8c1804c426e80ed380eeb5d9971cbcd6fa62679f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 543 zcmV+)0^t3LP) z?ULDpOPmN{Lg*A&AxEBJsg`6`-8WM5&9EvSL;g1FIO52V74ML!1?ifSnif4JUygN^ z`~N)M^w?;*dms!APoDSI4~;wUUG%)KBhULj2LB^mSQY=OZ;L_t(2Q>Br?3IHGoLks->FBS?TV`}E1 zPD0P=W^13X`+jB~nI;h}UKp(n`)XFuGlUAFiokV>TQ69^|1hnxQ00k&S{na1zEHB0@mP2+H6Lzx zCP0V|2I<#y#~PoSO7QRaxW%XHO+@wjf8U>@dC72e@HGmL=$2g)9urQilq|)Y!tHua zTM|AH9+zdndnP#ne$_La{lV!Utmo{!aG!8@-Yo0Y^QfD&7=_ts zsa-NdI3$S^BTSky%b1jiNG(WafBT{p-y}ux=<>H%#TG}FoOlOBElXEJYDRQJK9g0I z`|muR%hpzi|1c3)QFVy@+$!YXm^sSoKy$`{4IK8N8 z=^Z%RfX;hMv$cv8km=84;N=8bQ_yw|O$%OD)pd^VU}jC8=n8iCpjY+>7ry~M?Pw=2 zu)(