diff -Nur tuxpaint-0.9.10.org/src/tuxpaint.c tuxpaint-0.9.10/src/tuxpaint.c --- tuxpaint-0.9.10.org/src/tuxpaint.c 2003-02-23 08:03:00.000000000 +0900 +++ tuxpaint-0.9.10/src/tuxpaint.c 2003-02-28 00:37:03.000000000 +0900 @@ -294,6 +294,12 @@ -1 }; +int lang_need_simple_folding[] = { + LANG_JA, + LANG_KO, + LANG_ZH, + -1 +}; typedef struct info_type { int colorable; @@ -530,6 +536,7 @@ int need_unicode(int l); int need_utf8(int l); int need_own_font(int l); +int need_simple_folding(int l); void handle_keymouse(SDLKey key, Uint8 updown); void move_keymouse(void); void handle_active(SDL_Event * event); @@ -6250,7 +6257,7 @@ locale_str = strdup(gettext(str)); -#ifdef OLD_UTF8_WRAP +if (need_simple_folding(language)){ /* For each UTF8 character: */ @@ -6306,7 +6313,7 @@ SDL_FreeSurface(text); } -#else +}else{ /* For each UTF8 character: */ utf8_str_len = 0; @@ -6387,7 +6394,7 @@ SDL_BlitSurface(text, NULL, screen, &dest); SDL_FreeSurface(text); } -#endif +} free(locale_str); } @@ -10445,6 +10452,22 @@ return 0; } +int need_simple_folding(int l) +{ + int i, need; + + need = 0; + + for (i = 0; lang_need_simple_folding[i] != -1 && need == 0; i++) + { + if (lang_need_simple_folding[i] == l) + { + need = 1; + } + } + + return need; +} /* Handle keyboard events to control the mouse: */