Arreglar el problema de los acentos contando por 2

This commit is contained in:
Somebody Master 2020-10-20 18:46:09 +02:00
parent e79b2de10b
commit f9518bbd84

View File

@ -44,7 +44,6 @@ int main(int argc, char *argv[]) {
if (ui::initUI(&MENU_PRINCIPAL, &MENU_ERROR) != 0) { if (ui::initUI(&MENU_PRINCIPAL, &MENU_ERROR) != 0) {
return -1; return -1;
} }
// menu = 12;
Config *config = cf::openConfig(); Config *config = cf::openConfig();
@ -185,20 +184,22 @@ void showMenu(vector<string> *menu_elems, const int8_t *num_menu) {
// Por algún motivo los acentos y tildes cuentan como un caracter // Por algún motivo los acentos y tildes cuentan como un caracter
// aparte por lo que hay que añadir un espacio extra. // aparte por lo que hay que añadir un espacio extra.
if (menu_elems->at(i).find("á") != std::string::npos |
menu_elems->at(i).find("é") != std::string::npos | for (int j = 0; j < menu_elems->at(i).length(); j++) {
menu_elems->at(i).find("í") != std::string::npos | if (menu_elems->at(i).substr(j, 2).compare("á") == 0 |
menu_elems->at(i).find("ó") != std::string::npos | menu_elems->at(i).substr(j, 2).compare("é") == 0 |
menu_elems->at(i).find("ú") != std::string::npos | menu_elems->at(i).substr(j, 2).compare("í") == 0 |
menu_elems->at(i).find("Á") != std::string::npos | menu_elems->at(i).substr(j, 2).compare("ó") == 0 |
menu_elems->at(i).find("É") != std::string::npos | menu_elems->at(i).substr(j, 2).compare("ú") == 0 |
menu_elems->at(i).find("Í") != std::string::npos | menu_elems->at(i).substr(j, 2).compare("Á") == 0 |
menu_elems->at(i).find("Ó") != std::string::npos | menu_elems->at(i).substr(j, 2).compare("É") == 0 |
menu_elems->at(i).find("Ú") != std::string::npos | menu_elems->at(i).substr(j, 2).compare("Ó") == 0 |
menu_elems->at(i).find("ñ") != std::string::npos | menu_elems->at(i).substr(j, 2).compare("Ú") == 0 |
menu_elems->at(i).find("Ñ") != std::string::npos) { menu_elems->at(i).substr(j, 2).compare("ñ") == 0 |
menu_elems->at(i).substr(j, 2).compare("Ñ") == 0) {
spaces.append(" "); spaces.append(" ");
} }
}
menu_elems->at(i).append(spaces); menu_elems->at(i).append(spaces);
} }