From 5c7c1b6083a66b1bb4a6fbc0d4717bee1138b81a Mon Sep 17 00:00:00 2001 From: Bill Kendrick Date: Sun, 2 Jun 2024 22:29:55 -0700 Subject: [PATCH] Remove `lang_use_right_to_left_word` stuff; it's unused For https://sourceforge.net/p/tuxpaint/tasks/33/` Next step: remove `textdir()` completely. --- docs/CHANGES.txt | 4 ++++ src/i18n.c | 12 ++---------- src/i18n.h | 2 -- src/tuxpaint.c | 48 +----------------------------------------------- 4 files changed, 7 insertions(+), 59 deletions(-) diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt index 44b09da87..8ef86281a 100644 --- a/docs/CHANGES.txt +++ b/docs/CHANGES.txt @@ -114,6 +114,10 @@ https://tuxpaint.org/ h/t https://github.com/xfce-mirror/xfce4-xkb-plugin/commit/825fa1c Bill Kendrick + * Removed unused `need_right_to_left_word` internal flags and [WIP] `textdir()`. + Closes https://sourceforge.net/p/tuxpaint/tasks/33/ + Bill Kendrick + * Documentation updates: ---------------------- * Troubleshooting Guide (TROUBLESHOOTING.txt) updated regarding diff --git a/src/i18n.c b/src/i18n.c index 8f8342211..1032f0998 100644 --- a/src/i18n.c +++ b/src/i18n.c @@ -254,14 +254,8 @@ static int lang_use_right_to_left[] = { -1 }; -/* FIXME: Remove! (We now require SDL_Pango all the time, so this is unnecessary -bjk 2023.04.30) */ -static int lang_use_right_to_left_word[] = { - -1 -}; - int need_own_font; int need_right_to_left; -int need_right_to_left_word; const char *lang_prefix, *short_lang_prefix; w_langs wished_langs[255]; @@ -1227,7 +1221,6 @@ static void set_current_language(const char *restrict loc, int *ptr_num_wished_l wished_langs[j].lang_prefix = lang_prefixes[langint]; wished_langs[j].need_own_font = search_int_array(langint, lang_use_own_font); wished_langs[j].need_right_to_left = search_int_array(langint, lang_use_right_to_left); - wished_langs[j].need_right_to_left_word = search_int_array(langint, lang_use_right_to_left_word); j++; env_language_lang = strtok(NULL, ":"); @@ -1247,11 +1240,10 @@ static void set_current_language(const char *restrict loc, int *ptr_num_wished_l need_own_font = wished_langs[0].need_own_font; need_right_to_left = wished_langs[0].need_right_to_left; - need_right_to_left_word = wished_langs[0].need_right_to_left_word; #ifdef DEBUG - fprintf(stderr, "DEBUG: Language is %s (%d) %s/%s\n", - lang_prefix, langint, need_right_to_left ? "(RTL)" : "", need_right_to_left_word ? "(RTL words)" : ""); + fprintf(stderr, "DEBUG: Language is %s (%d) %s\n", + lang_prefix, langint, need_right_to_left ? "(RTL)" : ""); fflush(stderr); #endif diff --git a/src/i18n.h b/src/i18n.h index 35fd4df46..2f9e9c12a 100644 --- a/src/i18n.h +++ b/src/i18n.h @@ -185,7 +185,6 @@ typedef struct language_to_locale_struct extern const char *lang_prefixes[NUM_LANGS]; extern int need_own_font; extern int need_right_to_left; // Right-justify -extern int need_right_to_left_word; // Words need to be reversed, too! (e.g., Hebrew, but not Arabic) extern const char *lang_prefix, *short_lang_prefix; typedef struct w_langs @@ -193,7 +192,6 @@ typedef struct w_langs int langint; int need_own_font; int need_right_to_left; - int need_right_to_left_word; int lang_y_nudge; const char *lang_prefix; const char *short_lang_prefix; diff --git a/src/tuxpaint.c b/src/tuxpaint.c index 1da10f595..7813f9f95 100644 --- a/src/tuxpaint.c +++ b/src/tuxpaint.c @@ -13414,7 +13414,6 @@ static char *loaddesc(const char *const fname, Uint8 * locale_text) need_own_font = wished_langs[i].need_own_font; need_right_to_left = wished_langs[i].need_right_to_left; - need_right_to_left_word = wished_langs[i].need_right_to_left_word; found = 1; @@ -20369,57 +20368,12 @@ static wchar_t *uppercase_w(const wchar_t *restrict const str) static char *textdir(const char *const str) { unsigned char *dstr; - unsigned i, j; - unsigned char c1, c2, c3, c4; DEBUG_PRINTF("ORIG_DIR: %s\n", str); dstr = malloc(strlen(str) + 5); - if (need_right_to_left_word) - { - dstr[strlen(str)] = '\0'; - - for (i = 0; i < strlen(str); i++) - { - j = (strlen(str) - i - 1); - - c1 = (unsigned char)str[i + 0]; - c2 = (unsigned char)str[i + 1]; - c3 = (unsigned char)str[i + 2]; - c4 = (unsigned char)str[i + 3]; - - if (c1 < 128) /* 0xxx xxxx - 1 byte */ - { - dstr[j] = str[i]; - } - else if ((c1 & 0xE0) == 0xC0) /* 110x xxxx - 2 bytes */ - { - dstr[j - 1] = c1; - dstr[j - 0] = c2; - i = i + 1; - } - else if ((c1 & 0xF0) == 0xE0) /* 1110 xxxx - 3 bytes */ - { - dstr[j - 2] = c1; - dstr[j - 1] = c2; - dstr[j - 0] = c3; - i = i + 2; - } - else /* 1111 0xxx - 4 bytes */ - { - dstr[j - 3] = c1; - dstr[j - 2] = c2; - dstr[j - 1] = c3; - dstr[j - 0] = c4; - i = i + 3; - } - } - } - else - { - strcpy((char *)dstr, str); /* safe; malloc'd to a sufficient size */ - } + strcpy((char *)dstr, str); /* safe; malloc'd to a sufficient size */ DEBUG_PRINTF("L2R_DIR: %s\n", dstr);