From 5847c79ffb6aa10828c2317688a1fe5ffde357bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Valor=20Mart=C3=ADnez?= Date: Wed, 28 Apr 2021 21:04:01 +0200 Subject: [PATCH] =?UTF-8?q?added=20support=20for=20text=20with=20=C3=B1=20?= =?UTF-8?q?and=20=C3=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- media/gfx/font_nokia.png | Bin 2010 -> 2044 bytes media/gfx/font_white.png | Bin 1313 -> 1344 bytes source/lang.h | 14 +++++++------- source/text.cpp | 15 ++++++++++++++- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/media/gfx/font_nokia.png b/media/gfx/font_nokia.png index e25095debba4cd2549b20655720ee0e76de3286d..6f9d351f136c8bf1d68c8198445838e02fab9ce0 100644 GIT binary patch delta 2017 zcmV<72Ojv^5Bv|1F@Ls6L_t(|ob6ppb|WDS#CblbeS_??&OSG=?>C3=YzB`^>r(~l z#<9CLnXwfKgb+}oJEagfojz};)8~!(9Ym-6Y02Dfe{S+8(!NM%)E~C5k$kqkmp~m< zZ(yaY{2A#)0;bxw+R(Po)7k3tWYEDy`+(?c+yBx5h6dJ1uzw%{V>w%sL-l!bXdoa# zfauixhx|^|#;tLj-2euc%h&zi*Xz$ge)sSH4-P(`zZW{H+~x9h*XPMaZ91JkZ(h4J z{FA?VvQ?+l9oTpEZHc!0qRk%a=M!t7E-^ZUe#7dA*5Rtb#)B zb)*v!Iq|uQXbCRL9;-KNNqs1g_961u>(4w6xC?zMK*ZaDQrXzwa@57 z`s_>+7Q~+bOiFf1to9H&#m>TRR7%Q54?pFd zTu~zR*i-AufHgZJx}gq?H7LX~oL0O=X1cY+wSV$j06Kku+aFE3)~=VG5xe({wRN^) zfG(E>*z2JBMld=#+li!sS+>w^juO;fdFT$!{=-s;5OHgy@}{BTVIY`IVKElbm)&1R zAG$?gfa-|$$Z*DDQmQ5!EnSQ*My{8QX7pwDcT^v8O(?R7W>S#N-?3wR+?Ni9&92C1 z)qgXXcSN?A@kjNcIwKiLv-DnHVdUHIEqTZ;%Ce3y)){xtv+RyA{;0mJ{-PBGl;dOU zTJosf`{q63Xi)w~JFRH448vT(FxChdyQn@3TN9|G7;Wo)^Nu)}Wtg*XW-^`4++a$( zo?cXrwYxPCqBO!s{Y9BwyrqUQnmsdR8-KUN`TPy_1(hr1e-`(albM-qB&bSJYK2T^ zBBN*k%$k`D$fNqN2T~sMaAdL&TSj2_I+|4Zp-w`Vcxtt`X5Yx2EJIm2utpP~99Ij^s+oatkWd2c_r z{@=@P&tlXyS%!I!m}rzKXP9l|GgKcU$N1UuvC6!+8$O9Dr+!&*=3Rni)U)+zkb8-l zj5&Lv>xEWXiQxI;;XYO!2;{!_Z+|FDAc(HtFw5&2uzc;EzI)`Vtd~?YSpHZ%rSnRp zrUs^jwX)q(ia+bCTy*I!;vrGFUTQ+a!)uI?*AI;v)Uei#RPU&cl(4pf9AMeD7Q`E8 zD4UwD(UQ*M{a6{5d=|3CmQf~(9?qB*NNv#c_|Uo?k~vW_#&)q3YWoTeZGU>zK4;Qu zR7PU;m7-q-%1rlG`!egTYm~bpWKiZ%O?r8~2Ys4m84C~GnAmR!~wP-X$W zvprLHW*bpmj7>zAexu*B^M6TmWfjr2&JiQXFENKKK^ z+0#BW%Z%1gv*X~yBjiRfBk*cpP)^5_vv{HwXoj(Bo=E#f>}vY9AcfUh;pj55$`pl@sJv)x2nrv}1`GV**n;YcR7rmUt`wt-;LhSmNFMx7fVbPLHHi&vDvQ zCfawNPV|(?Fy+xxHGf$QJ%ZLQ+CD@M{cPB7JCo3-OgyJpPq$c4nXL6x%?MMj`6aV` zh%RP4n5Tm@`E0unH%POu2y3?`HP)A5z%98EeGyRFgn28?ENn$fESAF2yUwo&HUPJH zf7j^E)wT64?z}%6(bj{A`0RPl*7d6YedxA6IU5>*+xA!UkAJl?X!;TVE&k-m){jL+ z=$T2;!xWi}H9}HKn~{H+3WAjFePvY77$g2$+x3{Zl($8+U>I24SP`SNX5Pkz9;?yf1@OOFJ+%000000NkvXXu0mjfV(AZ# delta 1983 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\\[]]^_`abcdefghijklmnopqrstuvwxyz"; // Inicializa a cero el vector con las coordenadas - for (int i = 0; i < 255; i++) + for (int i = 0; i < 128; i++) { mOffset[i].x = 0; mOffset[i].y = 0; @@ -50,6 +50,15 @@ void Text::init(Uint8 type, Uint8 size) mOffset[int(text[i])].w = size; } + // Establece las coordenadas de forma manual para la ñ y la ç + mOffset[int('^')].x = mOffset[int('z')].x + size; + mOffset[int('^')].y = mOffset[int('z')].y; + mOffset[int('^')].w = size; + + mOffset[int('~')].x = mOffset[int('z')].x + size * 2; + mOffset[int('~')].y = mOffset[int('z')].y; + mOffset[int('~')].w = size; + // Establece el ancho de cada caracter if (type == TEXT_VARIABLE) { @@ -102,6 +111,10 @@ void Text::init(Uint8 type, Uint8 size) mOffset[int('Y')].w = 8; mOffset[int('Z')].w = 7; + mOffset[int('^')].w = 7; + mOffset[int('~')].w = 7; + + mOffset[int('a')].w = 7; mOffset[int('b')].w = 7; mOffset[int('c')].w = 6;