diff --git a/src/strings_internal.h b/src/strings_internal.h index bd2a2082e6..2f61ed3028 100644 --- a/src/strings_internal.h +++ b/src/strings_internal.h @@ -274,15 +274,6 @@ public: ::Utf8Encode(iterator, c); } - /** - * Remove the given amount of characters from the back of the string. - * @param amount The amount of characters to remove. - */ - void RemoveElementsFromBack(size_t amount) - { - this->string->erase(this->string->size() - std::min(amount, this->string->size())); - } - /** * Get the current index in the string. * @return The index. diff --git a/src/table/townname.h b/src/table/townname.h index 778eae931e..0185464e71 100644 --- a/src/table/townname.h +++ b/src/table/townname.h @@ -1764,54 +1764,54 @@ struct CzechNameAdj { /* Some of items which should be common are doubled. */ static const CzechNameAdj _name_czech_adj[] = { - { CZP_JARNI, CZC_ANY, "Horn\u00ed" }, - { CZP_JARNI, CZC_ANY, "Horn\u00ed" }, - { CZP_JARNI, CZC_ANY, "Doln\u00ed" }, - { CZP_JARNI, CZC_ANY, "Doln\u00ed" }, - { CZP_JARNI, CZC_ANY, "P\u0159edn\u00ed" }, - { CZP_JARNI, CZC_ANY, "Zadn\u00ed" }, - { CZP_JARNI, CZC_ANY, "Kosteln\u00ed" }, - { CZP_JARNI, CZC_ANY, "Havran\u00ed" }, - { CZP_JARNI, CZC_ANY, "\u0158\u00ed\u010dn\u00ed" }, - { CZP_JARNI, CZC_ANY, "Jezern\u00ed" }, - { CZP_MLADY, CZC_ANY, "Velk\u00fd" }, - { CZP_MLADY, CZC_ANY, "Velk\u00fd" }, - { CZP_MLADY, CZC_ANY, "Mal\u00fd" }, - { CZP_MLADY, CZC_ANY, "Mal\u00fd" }, - { CZP_MLADY, CZC_ANY, "Vysok\u00fd" }, - { CZP_MLADY, CZC_ANY, "\u010cesk\u00fd" }, - { CZP_MLADY, CZC_ANY, "Moravsk\u00fd" }, - { CZP_MLADY, CZC_ANY, "Slov\u00e1ck\u00fd" }, - { CZP_MLADY, CZC_ANY, "Slezsk\u00fd" }, - { CZP_MLADY, CZC_ANY, "Uhersk\u00fd" }, - { CZP_MLADY, CZC_ANY, "Star\u00fd" }, - { CZP_MLADY, CZC_ANY, "Star\u00fd" }, - { CZP_MLADY, CZC_ANY, "Nov\u00fd" }, - { CZP_MLADY, CZC_ANY, "Nov\u00fd" }, - { CZP_MLADY, CZC_ANY, "Mlad\u00fd" }, - { CZP_MLADY, CZC_ANY, "Kr\u00e1lovsk\u00fd" }, - { CZP_MLADY, CZC_ANY, "Kamenn\u00fd" }, - { CZP_MLADY, CZC_ANY, "Cihlov\u00fd" }, - { CZP_MLADY, CZC_ANY, "Divn\u00fd" }, - { CZP_MLADY, CZC_COLOR, "\u010cerven\u00e1" }, - { CZP_MLADY, CZC_COLOR, "\u010cerven\u00e1" }, - { CZP_MLADY, CZC_COLOR, "\u010cerven\u00e1" }, - { CZP_MLADY, CZC_COLOR, "Zelen\u00e1" }, - { CZP_MLADY, CZC_COLOR, "\u017dlut\u00e1" }, - { CZP_MLADY, CZC_COLOR, "Siv\u00e1" }, - { CZP_MLADY, CZC_COLOR, "\u0160ed\u00e1" }, - { CZP_MLADY, CZC_COLOR, "B\u00edl\u00e1" }, - { CZP_MLADY, CZC_COLOR, "B\u00edl\u00e1" }, - { CZP_MLADY, CZC_COLOR, "Modr\u00e1" }, - { CZP_MLADY, CZC_COLOR, "R\u016f\u017eov\u00e1" }, - { CZP_MLADY, CZC_COLOR, "\u010cern\u00e1" }, - { CZP_PRIVL, CZC_ANY, "Kr\u00e1lova" }, - { CZP_PRIVL, CZC_ANY, "Janova" }, - { CZP_PRIVL, CZC_ANY, "Karlova" }, - { CZP_PRIVL, CZC_ANY, "Kry\u0161tofova" }, - { CZP_PRIVL, CZC_ANY, "Ji\u0159\u00edkova" }, - { CZP_PRIVL, CZC_ANY, "Petrova" }, - { CZP_PRIVL, CZC_ANY, "Sudovo" }, + { CZP_JARNI, CZC_ANY, "Horn" }, + { CZP_JARNI, CZC_ANY, "Horn" }, + { CZP_JARNI, CZC_ANY, "Doln" }, + { CZP_JARNI, CZC_ANY, "Doln" }, + { CZP_JARNI, CZC_ANY, "P\u0159edn" }, + { CZP_JARNI, CZC_ANY, "Zadn" }, + { CZP_JARNI, CZC_ANY, "Kosteln" }, + { CZP_JARNI, CZC_ANY, "Havran" }, + { CZP_JARNI, CZC_ANY, "\u0158\u00ed\u010dn" }, + { CZP_JARNI, CZC_ANY, "Jezern" }, + { CZP_MLADY, CZC_ANY, "Velk" }, + { CZP_MLADY, CZC_ANY, "Velk" }, + { CZP_MLADY, CZC_ANY, "Mal" }, + { CZP_MLADY, CZC_ANY, "Mal" }, + { CZP_MLADY, CZC_ANY, "Vysok" }, + { CZP_MLADY, CZC_ANY, "\u010cesk" }, + { CZP_MLADY, CZC_ANY, "Moravsk" }, + { CZP_MLADY, CZC_ANY, "Slov\u00e1ck" }, + { CZP_MLADY, CZC_ANY, "Slezsk" }, + { CZP_MLADY, CZC_ANY, "Uhersk" }, + { CZP_MLADY, CZC_ANY, "Star" }, + { CZP_MLADY, CZC_ANY, "Star" }, + { CZP_MLADY, CZC_ANY, "Nov" }, + { CZP_MLADY, CZC_ANY, "Nov" }, + { CZP_MLADY, CZC_ANY, "Mlad" }, + { CZP_MLADY, CZC_ANY, "Kr\u00e1lovsk" }, + { CZP_MLADY, CZC_ANY, "Kamenn" }, + { CZP_MLADY, CZC_ANY, "Cihlov" }, + { CZP_MLADY, CZC_ANY, "Divn" }, + { CZP_MLADY, CZC_COLOR, "\u010cerven" }, + { CZP_MLADY, CZC_COLOR, "\u010cerven" }, + { CZP_MLADY, CZC_COLOR, "\u010cerven" }, + { CZP_MLADY, CZC_COLOR, "Zelen" }, + { CZP_MLADY, CZC_COLOR, "\u017dlut" }, + { CZP_MLADY, CZC_COLOR, "Siv" }, + { CZP_MLADY, CZC_COLOR, "\u0160ed" }, + { CZP_MLADY, CZC_COLOR, "B\u00edl" }, + { CZP_MLADY, CZC_COLOR, "B\u00edl" }, + { CZP_MLADY, CZC_COLOR, "Modr" }, + { CZP_MLADY, CZC_COLOR, "R\u016f\u017eov" }, + { CZP_MLADY, CZC_COLOR, "\u010cern" }, + { CZP_PRIVL, CZC_ANY, "Kr\u00e1lov" }, + { CZP_PRIVL, CZC_ANY, "Janov" }, + { CZP_PRIVL, CZC_ANY, "Karlov" }, + { CZP_PRIVL, CZC_ANY, "Kry\u0161tofov" }, + { CZP_PRIVL, CZC_ANY, "Ji\u0159\u00edkov" }, + { CZP_PRIVL, CZC_ANY, "Petrov" }, + { CZP_PRIVL, CZC_ANY, "Sudov" }, }; /* Considered a stem for choose/allow matching purposes. */ diff --git a/src/townname.cpp b/src/townname.cpp index fdef1a118d..214d76b7b3 100644 --- a/src/townname.cpp +++ b/src/townname.cpp @@ -702,11 +702,7 @@ static void MakeCzechTownName(StringBuilder &builder, uint32_t seed) builder += _name_czech_adj[prefix].name; - size_t endpos = builder.CurrentIndex() - 1; - /* Find the first character in a UTF-8 sequence */ - while (GB(builder[endpos], 6, 2) == 2) endpos--; - builder.RemoveElementsFromBack(builder.CurrentIndex() - endpos); - + size_t endpos = builder.CurrentIndex(); if (gender == CZG_SMASC && pattern == CZP_PRIVL) { /* -ovX -> -uv */ builder[endpos - 2] = 'u';