2Hh8>wGNUnvhS`Y|nD;?0XnZFnk5jfG6x+G2Xi_SNI!{Jax
z0QIzs_yqbdL9!utKmo*{lJyfdN9!b-J~pAzD^8%r78GMt~)5}ysTl#A(I
zr5p0Aca4Jc?GRHU4-8v2kO4qPz{mJwxv+53nd
zkE!h5@gh(|z(8M?I)>~Hd|i+Bhc0o}W42rRZYpxoP<&uX*Q(K(Sbg0yvnMyR{-LQ)
zmr!7_cHC(%c0IRy(ZV>*aMc4tNv8G-OZQ4OQ%m+yMgPE6b!wV{?R`ZY+72gHm!&F>
zUuoQ_bjvWUXmyb0rGhp~$hq61(@fFCY}NCrH7ErQ%-BWe;0f(;%YAw^D5zLFGJb6$
zL-Ntu>1KU}Y22LCr@bNXE~u)r*@5fkpU>Fd{)mON>Qz1gY4clWZ&
zd0R$i5SeWLixAMq9t7`=7e~9Rj~B0-IArHcNce^8>cadc$mXH-`NIZvK^jlGQ{AMU
z1&0@`)4lA^mrTj;vpH~~ECuQ|e=Kik*7XoxHyYYml<*6sV}H$e6WT`t-94U^{>&;h
z&|5e7AmL+$rblUD1{R@!?bfs53wfu)DnFlC{0Y;ee-veP{*dCHpUO7q#pMfwSUdBq
zQ?XM@*2o*1u(k!7XD|V_IL`-xTgi!e-A`3Q9*kgUp-$&%9spPetAu*tS!mjn$p-?k^A#ijJS
z1nlf(zo_wbH$38IQzoT^e#|by
zt3D;8;kU=|Bxs_CQn6Uwz4nq9=npo5R)IJ3islJ^@%yshyHkT>DtZ)-Q61Cyn*9}M
zqIHJF+9vDkI$>LHvHCj9nASu!Tk6j~3k;(S^Ot7E-h^cv?9Z5?XPU3={7xCf4SPnN
zE=LA;dz!FLKW=F1w+>OUo$9nvwQN%7r*JA}avN-NAg=(WP<{^ftwAD_;S=ZPvnPMh
za`#wmaOs3bm~z!r?R3TBZ72JZTn5(dm|Y)kX}T~;!z^rPAfC+%I}oTb8(D)#!)q`x
z`D!06=>-@)wyJmlOg6xJe;VAVME5V8IsXyZiCNiC&^Y|6OV;@P=fGIdo&Vol
zd%=0?-@P_~!S=l`@Qe~g$3`xWs*N84)lTNwCU
NIB$Ng{EX|b{{eDeU8ev5
delta 2768
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
S(cA)OEilwI)xl~xJo-P&5=d?U
diff --git a/source/images/settings_top.png b/source/images/settings_top.png
deleted file mode 100644
index b71b2ff49c1b605353abdfb827f58ffc72006909..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 7825
zcmb_=gc(SV#hDgeOMc2ZP)`O?wd$KBh}-Gfn0QIXNZ%iY20wLJg?EamG#
z^!0vINT02qD5%FryjOSECC6dZRY-~;OK0a|dPwvlo~d||T&Is%Ss9b&OHn*VYHCC>
zxehmeBJKkAPo|R8=+gMaZ&&NVr7m-wXIo>pE%P$l)yMfw6WF~t_)t|L9gzt9PYU$J
zKca^Rht_}c%0=R`dH_T?O?FJ)H!Nttd6<;cQ|4amZU8M{1`h}5)y(bXr;WQK{G*U<
zh8FP#t=A|0nL17c86X#ws!$HdJx7bk&tlgDiZB7I5nCG+@RA3x;t1cG0V49xvxCt9
z)Avl|XhrD&BdLA765uEaR8PE0R0fRr0Wt^mL2+P#2jEvTbWjEATY=tjBD_Wb2Or?q
ziH~^#Uum|!KBl7uUXkxvl0ze*TnkY2d&%(FiX>TNB0J6q@a1E3g-Eb{?QYSGTMoZhi`0Fw$fCt
zTk-C$>1LP*)oj|0xX4gCB%Y~CImyR@Wy}c*8Bad5P2bsVtZ`pq$gGI~_0BSA!Rb7e
z=C&CB)H#TZe0n#|0N@DW-uImo2P48UdVRwG?m+fNrHBoPa8S$e1ON*qR$l#YO|ru{
z0H9P9$yF~;bJ9n}-HS!r_h6+D@7hZAjRNanzXFj0u3ZGJm(`Q%C%_h-^B^8GhY^RFA`^ZKe>F@Y0itUwR
zkKa5m!JD-65y(lSD9WAmYJM!8ELyxhS>;H$lqRD%%-{Qq3R`IKH9zmrfI`DF?uYMe
zM;e%`@vDX&*T1U9KqQ>nPBi#ql0+)^J`~0DS75ZJmsd5?Fw$C3tz@KS6((MKDE1KJ
zjZQxY^Ses*X7&!^i$N+IL4i0URc@9!k~C62qTqPNK`~a61VurP_P6M24IlNVNv5Aq
zyXmt0=Kho`tooSc-Pa{Mmqu*y_uPz6zr_5^|2gne=qJrjrXy3_d>c8>kLP+DoVwqf
zUr=unZ3=H<*=GsL8AP@^i~Vn3^(+ajVs!@XiPuxtC0Hk9v1|Hk#Q
z;#39S2&)O76>AxPoJ#7mh^M<09pCWsp^l>YfSh8P^#|+B^*8D5Q&Od~&r_ZgCOZw8
zp;%F_L#{)m>{#qf?CP3-H1~6KHQURdluK$zY7CE!j+KnfWsBrW3(N~{=WgfD=dQI{
znFN?{!zY>>U1W%8fKOLEPe_DmoLoFz;qBGKp6b
zt2yI&`?8^*PoTf~AVw2J6AMBpIO)ifL8pAZ+!+-JC8XUu`Zzu*K|N}OH&cc;mu3k0
zrR(PlpHols^`Pm~{M@G8{=LfOx_!}or~SBmZM_5tzTM4v7fQkqu&2`!zR-ZM|ikG!TZ*5fc|<7%Q9V5pVQ(N+46je`-b1
zdrj$5397W33lY#3uj6?k!X*Rab(UHZ>k#gc9pZH`9-TGHH&T18PAksKRV(WDx_j+<
z?>KHFe*+H{Oqs>^#oQyXc)b54rh?)VFA28)HFi@F3q5f-Ske8K-SMfW!#(XZ#X`^?bIO9K;}vmP~`YAx(Z55
zbO}Ufq`&o4fH7&lgG2s6wjBIMs_kPMZ$G;wwerz_!2ase^tSqeF%K?Wq5PM=3FkZ)
zb|b{z(4l86;hQ+Ls^IC^-e}Xe<+oya2ZeWgB>g1o8St`LbweIHqphxLXYocU&%k9|
z6#0Xvv9GYIrP>nVT&}a)ReOe+wP9WCL7Fa+7Jc8M`dZLjcJK^vH)BF~R_6E2wT<|U
z*IKMEWAkZb$P*H4$(AWI$-@^oR{}O^;@rRWWUst${!}&CZa3jD?eKeRm8Zb;5fqlW
zmHEhxU~#FLVC_}&-swN(WxmWY&SgY2T(P~hN2;yUzT)fnn53-!NBtB1OMTJ(X=ID_
z{JGoIK231vKjGckWz){H8=0@&%LZr$nzIhG_E&0GO=q&T39#Si&?{H-8ZB4Py5PAS13-{O|TbG-j>{s)KXILg`Lmt%#TlH
zO%-PzWxnfi4Jo_%)4M}mw>;E8MBn{2KuEyi%XpwmUiv!}
zznB=yhA`f%my(ds3+MbIr9hQN*!=xWNm|Oze&n32VnfF8o`nPh{!M3Bo-cR-y-Yb6
zkp9(z5JKF=g*)6f3H4-~U(fhC^%PPzd+)oauK9=ch?@ll1~L&56BAEGF*V@Cg9inL
zIGGIw_+aL^%n*PnCOv`1#!!Ja7;BUg6Pp4;QJW)dgdCxr2RZ?l?!^3-I?x=ar
zs;jw0(MZ63)faGra8HlLA_g+WmnY
z9^+VLf4{=+aw{QU&$S?4bi5-4J^?{70zspxsoCbSjt+ytJg)xjWm!Osp$#tcyi%v%
z^`O?awzgEXv`W6dEo{lz(RMaA%oc&0Gjo3JfI4j;%|?Fy}Qhc1h%
zc9`+DA>GI*C^jaG6^*(>+U@glavtZ2dt>S8>2dP%4%M0?-t08l4nGPxL;64S-b(IX
zZREC{Dc20RJ{*pj*Z`WF$hYnfJWo8jR3&ZWexqMc31SpLh*Z|rQegFd|E~Z3!-w_V#iq;ik{|3Nf-lt7J%99~
zv9htn5Lh-l693yF!W2eIJ-}D;$HozD{fIn6_mMaz~vQ0`nwY$`4k0*0;qStwMdj&6c
zsKqFP!78h&1_lS;@V^i2vIvl(Ust5=z3WJC1^x3dd`J!s+5lY6;rf{rr-0ptVcJYR
zUEQd>Jlf$4Zi`MTi#o$+q1xJn9SB4*CoY+?ysa%uDuXO9?b&u=_;YV>Z==?h63$8(
zOhHpK#UsZu>_V9^Qz*r}SGW|)ZG6v5B~*vg>U`FAc9@{&QnP)hO@O$#xT(p>i0NtF
zk!N6xadL4fxVzVt1?vYpi}CRh5=#AzKs6p6AK!!A$Jf`mpn0~#5qy@8kr8KJcS{R-
zS6A0%l}T(|+~Im0gMxv9zP>&q4-Wx|$I6zPY)n
zs;1WW@5`txl2hjh%j*EQI!2YFK<+VkvWm6uIE<5#KgqrPeJcXPRyRQ
zw2lsm&dWbl(7ATyB#Pq7N}LMq!nuQVAuKUtsE&n2>iK!V@Fs}rdqmA!hPU_(I3F8#
zhXgKQunzgYc5|D*?#i0oNlPK^>htjOx2Q-6=JJ&i!%dUVDib;WA%K?nk%=vKS8!
zk2RX6>46o0{Ls*I={y+B`Klh_qmvUcRAAR~ZvPLtUNJPadQ9
zbZ35QZm!&)&Sk_OfwbnUpXlBd
zqaQzhWc|6d#mvOS1lx3x{DvfAU`T6mnP(Oe5&83~4bdLL%$(>-PEIaB3Pj%drD*2p=Dx
zU)EZ98QIy{aKeb|(|JoOI=b0|i5U}mhOl$%n^nb{TEZBGUpqUBuC6>F3lAtbn3>Uv
zx-Pu|jT0ly`U%Dr6dde%xS@Q06Sj(Re)r|;SNRt&694M#FX9$~Aq79U%2rd)A-OC#{9wnIDMGcDO#};^IELi&0>r
zmGr~s>->wpv9Zw~`yn$Eb$*Dl=J5b2aV$r~s579!zAHqA;ql|g{q(e+?Pl?5X)0ix
z7lhvijtGN>x@SQULMJ^=Xn%k7MK82@mfGjQU|gO5mRy>Sp0oubA5^!5jm^4iXlccA
zk9ap;@9w@H{QNo6{8~wgRaZxcSkG69pXyBsr=zoTKWP1z`ucX%70u0L2?+^Vd3oP4
zKFr}l_V*rBQ};F44%b@`U{xD6Fuz`iC7|IxAooEa;b+8;2nkX5OxqP~(k^bFY{g$$
z_s)}6E#r0Y%5Hh~!{f_GH;xDk$Tu^1cUeWnF&aKIa|gun4DAt^fJ#dhpJ{n|Hr#eu
z)hvs0aA03tTtGdSmzO;^zmbDGG>!$s8bpm;I787~j-iSvQPo{V*=T=x<3GF~ThmffA~Of{$sV+{w6yu|
zKt-BWN#?4JF^r*1Y9w~X&(+itHpAp=o(2X5Jx)nUf%@O7WxVm-nd?Ix%4M*2(TKCL
zeQwkM2?mdncl29mV3U)@8pfBaHBcYz*8~X?;S@DBk=|V&6Ye7pWJdmiaWsHB>^(SR
zk&&@Dzs#&MtShOi!jmZ^3=Iu+ba!vL-W?veRgX=s!J%#>-LZPvs5tw9T=n17yh@iaYTxOYTVOOrJzIW)m=mqm5
z9H9T_|2)~FL4;o)Vq;-r^H@GeXMG4d8szqv`JEOi4{-^J#H}rdn_>cGok=7z<@Pr0
z=g*(NQ0*WKzkkmN&Rtek1`4Id>XC(otlL{zZ@eEGK4?kh*-u{I>)nzp+%g#K&${|Y
zkQY9E`V{cD51VHI4CJZr-!TmgPJxBx*L^UKJ{@CBdP`RReOkY}ZcJgM33$I_C?d5Fvi!gXe5rXl#u4HOu$
zH^}p^a4>3mTKPasl$CuxN@xe!OX_UJ+X((T+nx?g%I4Z5t5-LVmbTf|C7v7
zWiYN}1ExmP3g@86TXUWSiNyGjZQMjdZYDC)egpDgR5tZ!`)@w1t`?doTbZ<*p7)6lH7B5E4k4rAt^aE
zH6`GFaA$j8AC+W1iUegGC|sh}4*Y4)zJJn7Eqp!Gjq7#vQ*HPHGg>}RCiF3w-*kMX
zh3-v3jNAmMa4BCt|CMHmi$Eoe%WbtYfl%fg;LysePxc0hY4?iGhVn#-Pp%sJ%6nfq}vKEOCXCL)0iT3FHeK1CXTG
z4u(O7{yS&tUJQfbrb!*)WMpLAM+ZarHE~T%O;%1$B2_{2tKQ4YApKXbY|i$Pe}lTf
zY6*14IVhv}`T2h=WH{!{pPUG%(n}|fWb!E*7_^!3zENNT<;{JnG@l-Fx(<_-xx4n(
zH#EeEkRbq?TU%9-N9T85W##4L%PIzifm_+)=3&Ohi%~aw4KJ~jlzwva@az>B8>(ge
z@I$O01~85Yn(t!HF4~iF)VjHp0pr1cHg$oOZ$aJj;gXu4#xv4z>5$aZ6RB?f
zw>!Z|v%A_0lUlFKrv+KdsSP+UJ(gAkAfpn=ZF3V&N;fA7$P1XoK?Htp{2))Vs3
z;LU7$F;U?wWU$^?^7OsPAe-~&S>n_>78VPAEcWr=+SVN<&x9LY^S%nIv1N_eX~{88
z@(Cwre4EhnUceUJk`p#%N-&?u4ygK97T~VAWm|Bvl(V*5
z)mEcuTlP+Ob(>IBA9g(uAj
zm$?1`g=n1uSPy{t_cD1j#>FCD+;{nbTt!NaCgi$di=e8eva)yd0T1YUn+s`^syyU4
z^O6%win|#DYOVQzEJrLc@OEmyO^fEcloT5q8@m=SIF-}@3GwGju;8%<$YwtbUB0OD
zR$A;ey2~Ay$QNzP5{fjZs}y-5F4CN}W9uD2_CUm&UI0RlkXTu;+S0Gf9a-$eM~vE!
zvzy?ExU--Hn_Wxlg5BNS9YG;G*%6f@v3swCv$0KWz4P2wl*^ct!18kTO-EY?=H$
zl7A{l8P_E}s=ndJ9@K@~f9gZ3o`=uUtCD9M8RPiy^?Xmg_`?cJqs@5mO&~r-C`D
z{EMi8kVEDUuOB_R5zoMWqT~`D6T)`VNJfj&Tk9$ld1!M+Q*u+IRdb`&MeR5IvY9f<4<)fTGlaL~
zXhK^eewJurzB_*4XHWY3n%s#-1twXt80OcdvK6j8oHP@jJD~e9R8rSHtKA~Ouh3iK
zAn}_LS;Xk_Xsv}mtRfHkTYulr7dCSts=GkeBKLSFPt_M1*rmMv1aX{FSvKu~BwHscn^4cahZ~>9(h(ul2!Kn7jq~b<`<0
zXX4=&-aFMUqA9F;N3BV}F0`RNzK&-Ncn&2!N#n{|!zqrzSrf>qSV5Ekq*XR&!f@+G
z?F6wqJ~H(huVRu&b3O;D{NW;x^odn=Yqp+$iKlrp^s!F6r1`Vl5m8-EqLhR0No=@f
zTE01zEBSvcr+WO%+qS$Y=;E|$!b*a)$%dNO9OwHvU_#2nF-XC@aZ UNICODE
+// 2009/05/02 by Rudolph
+////////////////////////////////////////////
+
+extern const u8 sjis2unicode_tbl[];
+
+static bool _isKanji1(wchar_t ch)
+{
+ if((ch >= (wchar_t)0x81) && (ch <= (wchar_t)0x9F))
+ return true;
+ if((ch >= (wchar_t)0xE0) && (ch <= (wchar_t)0xEF))
+ return true;
+ if((ch >= (wchar_t)0xFA) && (ch <= (wchar_t)0xFB)) // JIS X 0218他 IBM拡張文字 (0xFA40-0xFC4B)
+ return true;
+ return false;
+}
+
+static void _sjis2unicode(char *src, wchar_t *dest)
+{
+ wchar_t lc = 0;
+ int bt;
+
+
+ bt = mbstowcs(dest, src, strlen(src)); // UTF-8 to UTF-16
+ if(bt > 0) {
+ dest[bt] = (wchar_t)'\0';
+ return;
+ }
+
+ while(*src) {
+ lc = (wchar_t)*src;
+ src++;
+
+ if(_isKanji1(lc) && *src) {
+ lc = (lc << 8) + ((wchar_t)*src);
+ src++;
+ }
+
+ if(lc < ((wchar_t)(sjis2unicode_tbl[3]) << 8) + (wchar_t)(sjis2unicode_tbl[2])) {
+ *dest = (((wchar_t)(sjis2unicode_tbl[lc*2+5]) << 8)) + (wchar_t)(sjis2unicode_tbl[lc*2+4]);
+ if(*dest == (wchar_t)'\0')
+ *dest = (wchar_t)'?';
+ } else *dest = (wchar_t)'?';
+ dest++;
+ }
+ *dest = (wchar_t)'\0';
+ return;
+}
diff --git a/source/language/sjis2unicode.tbl b/source/language/sjis2unicode.tbl
new file mode 100644
index 0000000000000000000000000000000000000000..434eb7b449fea17f3366e7a2e6ea5dcba54732d7
GIT binary patch
literal 131072
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 UNICODE 変換テーブル指定 by Rudolph
+
+ .rodata
+
+ .globl sjis2unicode_tbl
+
+ .balign 32
+
+sjis2unicode_tbl:
+ .incbin "../source/language/sjis2unicode.tbl"
+
diff --git a/source/main.cpp b/source/main.cpp
index 8fe4ea7d..f4704d73 100644
--- a/source/main.cpp
+++ b/source/main.cpp
@@ -32,7 +32,7 @@
#include "video2.h"
#include "wpad.h"
#include "cfg.h"
-#include "language.h"
+#include "language/language.h"
#include "fat.h"
#include "mload.h"
diff --git a/source/menu.cpp b/source/menu.cpp
index b5cfc650..0fa48f68 100644
--- a/source/menu.cpp
+++ b/source/menu.cpp
@@ -25,7 +25,7 @@
#include "sys.h"
#include "patchcode.h"
#include "wpad.h"
-#include "language.h"
+#include "language/language.h"
#include "listfiles.h"
#include "fatmounter.h"
#include "getentries.h"