diff --git a/src/currency.cpp b/src/currency.cpp index b68584f015..5c758c48df 100644 --- a/src/currency.cpp +++ b/src/currency.cpp @@ -26,14 +26,14 @@ * | | | | | | | */ /** The original currency specifications. */ static const CurrencySpec origin_currency_specs[CURRENCY_END] = { - { 1, "", CF_NOEURO, "\xC2\xA3", "", 0, STR_GAME_OPTIONS_CURRENCY_GBP }, ///< british pound + { 1, "", CF_NOEURO, u8"\u00a3", "", 0, STR_GAME_OPTIONS_CURRENCY_GBP }, ///< british pound { 2, "", CF_NOEURO, "$", "", 0, STR_GAME_OPTIONS_CURRENCY_USD }, ///< american dollar - { 2, "", CF_ISEURO, "\xE2\x82\xAC", "", 0, STR_GAME_OPTIONS_CURRENCY_EUR }, ///< euro - { 220, "", CF_NOEURO, "\xC2\xA5", "", 0, STR_GAME_OPTIONS_CURRENCY_JPY }, ///< japanese yen + { 2, "", CF_ISEURO, u8"\u20ac", "", 0, STR_GAME_OPTIONS_CURRENCY_EUR }, ///< euro + { 220, "", CF_NOEURO, u8"\u00a5", "", 0, STR_GAME_OPTIONS_CURRENCY_JPY }, ///< japanese yen { 27, "", 2002, "", NBSP "S.", 1, STR_GAME_OPTIONS_CURRENCY_ATS }, ///< austrian schilling { 81, "", 2002, "BEF" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_BEF }, ///< belgian franc { 2, "", CF_NOEURO, "CHF" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_CHF }, ///< swiss franc - { 41, "", CF_NOEURO, "", NBSP "K\xC4\x8D", 1, STR_GAME_OPTIONS_CURRENCY_CZK }, ///< czech koruna + { 41, "", CF_NOEURO, "", NBSP u8"K\u010d", 1, STR_GAME_OPTIONS_CURRENCY_CZK }, ///< czech koruna { 4, "", 2002, "DM" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_DEM }, ///< deutsche mark { 11, "", CF_NOEURO, "", NBSP "kr", 1, STR_GAME_OPTIONS_CURRENCY_DKK }, ///< danish krone { 333, "", 2002, "Pts" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_ESP }, ///< spanish peseta @@ -45,7 +45,7 @@ static const CurrencySpec origin_currency_specs[CURRENCY_END] = { { 3873, "", 2002, "", NBSP "L.", 1, STR_GAME_OPTIONS_CURRENCY_ITL }, ///< italian lira { 4, "", 2002, "NLG" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_NLG }, ///< dutch gulden { 12, "", CF_NOEURO, "", NBSP "Kr", 1, STR_GAME_OPTIONS_CURRENCY_NOK }, ///< norwegian krone - { 6, "", CF_NOEURO, "", NBSP "z\xC5\x82", 1, STR_GAME_OPTIONS_CURRENCY_PLN }, ///< polish zloty + { 6, "", CF_NOEURO, "", NBSP u8"z\u0142", 1, STR_GAME_OPTIONS_CURRENCY_PLN }, ///< polish zloty { 5, "", CF_NOEURO, "", NBSP "Lei", 1, STR_GAME_OPTIONS_CURRENCY_RON }, ///< romanian leu { 50, "", CF_NOEURO, "", NBSP "p", 1, STR_GAME_OPTIONS_CURRENCY_RUR }, ///< russian rouble { 479, "", 2007, "", NBSP "SIT", 1, STR_GAME_OPTIONS_CURRENCY_SIT }, ///< slovenian tolar @@ -55,7 +55,7 @@ static const CurrencySpec origin_currency_specs[CURRENCY_END] = { { 4, "", CF_NOEURO, "R$" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_BRL }, ///< brazil real { 31, "", 2011, "", NBSP "EEK", 1, STR_GAME_OPTIONS_CURRENCY_EEK }, ///< estonian krooni { 4, "", 2015, "", NBSP "Lt", 1, STR_GAME_OPTIONS_CURRENCY_LTL }, ///< lithuanian litas - { 1850, "", CF_NOEURO, "\xE2\x82\xA9", "", 0, STR_GAME_OPTIONS_CURRENCY_KRW }, ///< south korean won + { 1850, "", CF_NOEURO, u8"\u20a9", "", 0, STR_GAME_OPTIONS_CURRENCY_KRW }, ///< south korean won { 13, "", CF_NOEURO, "R" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_ZAR }, ///< south african rand { 1, "", CF_NOEURO, "", "", 2, STR_GAME_OPTIONS_CURRENCY_CUSTOM }, ///< custom currency (add further languages below) { 3, "", CF_NOEURO, "", NBSP "GEL", 1, STR_GAME_OPTIONS_CURRENCY_GEL }, ///< Georgian Lari @@ -63,9 +63,9 @@ static const CurrencySpec origin_currency_specs[CURRENCY_END] = { { 80, "", CF_NOEURO, "", NBSP "rub", 1, STR_GAME_OPTIONS_CURRENCY_RUB }, ///< New Russian Ruble { 24, "", CF_NOEURO, "$", "", 0, STR_GAME_OPTIONS_CURRENCY_MXN }, ///< Mexican peso { 40, "", CF_NOEURO, "NTD" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_NTD }, ///< new taiwan dollar - { 8, "", CF_NOEURO, "\xC2\xA5", "", 0, STR_GAME_OPTIONS_CURRENCY_CNY }, ///< chinese renminbi + { 8, "", CF_NOEURO, u8"\u00a5", "", 0, STR_GAME_OPTIONS_CURRENCY_CNY }, ///< chinese renminbi { 10, "", CF_NOEURO, "HKD" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_HKD }, ///< hong kong dollar - { 90, "", CF_NOEURO, "\xE2\x82\xB9", "", 0, STR_GAME_OPTIONS_CURRENCY_INR }, ///< Indian Rupee + { 90, "", CF_NOEURO, u8"\u20b9", "", 0, STR_GAME_OPTIONS_CURRENCY_INR }, ///< Indian Rupee }; /** Array of currencies used by the system */ diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index ff2fc3a23c..f7345416c1 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -412,69 +412,69 @@ static WindowDesc _about_desc( ); static const char * const _credits[] = { - "Original design by Chris Sawyer", - "Original graphics by Simon Foster", - "", - "The OpenTTD team (in alphabetical order):", - " Grzegorz Duczy\xC5\x84ski (adf88) - General coding (since 1.7.2)", - " Albert Hofkamp (Alberth) - GUI expert (since 0.7)", - " Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3)", - " Ulf Hermann (fonsinchen) - Cargo Distribution (since 1.3)", - " Christoph Elsenhans (frosch) - General coding (since 0.6)", - " Lo\xC3\xAF""c Guilloux (glx) - General / Windows Expert (since 0.4.5)", - " Charles Pigott (LordAro) - General / Correctness police (since 1.9)", - " Michael Lutz (michi_cc) - Path based signals (since 0.7)", - " Niels Martin Hansen (nielsm) - Music system, general coding (since 1.9)", - " Owen Rudge (orudge) - Forum host, OS/2 port (since 0.1)", - " Peter Nelson (peter1138) - Spiritual descendant from NewGRF gods (since 0.4.5)", - " Ingo von Borstel (planetmaker) - General, Support (since 1.1)", - " Remko Bijker (Rubidium) - Lead coder and way more (since 0.4.5)", - " Jos\xC3\xA9 Soler (Terkhen) - General coding (since 1.0)", - " Leif Linse (Zuu) - AI/Game Script (since 1.2)", - "", - "Inactive Developers:", - " Jean-Fran\xC3\xA7ois Claeys (Belugas) - GUI, NewGRF and more (0.4.5 - 1.0)", - " Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles (0.3 - 0.7)", - " Victor Fischer (Celestar) - Programming everywhere you need him to (0.3 - 0.6)", - " Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;) (0.4.5 - 0.6)", - " Jonathan Coome (Maedhros) - High priest of the NewGRF Temple (0.5 - 0.6)", - " Attila B\xC3\xA1n (MiHaMiX) - Developer WebTranslator 1 and 2 (0.3 - 0.5)", - " Zden\xC4\x9Bk Sojka (SmatZ) - Bug finder and fixer (0.6 - 1.3)", - " Christoph Mallon (Tron) - Programmer, code correctness police (0.3 - 0.5)", - " Patric Stout (TrueBrain) - NoAI, NoGo, Network (0.3 - 1.2), sys op (active)", - " Thijs Marinussen (Yexo) - AI Framework, General (0.6 - 1.3)", - "", - "Retired Developers:", - " Tam\xC3\xA1s Farag\xC3\xB3 (Darkvater) - Ex-Lead coder (0.3 - 0.5)", - " Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3 - 0.3)", - " Emil Djupfeld (egladil) - MacOSX (0.4.5 - 0.6)", - " Simon Sasburg (HackyKid) - Many bugfixes (0.4 - 0.4.5)", - " Ludvig Strigeus (ludde) - Original author of OpenTTD, main coder (0.1 - 0.3)", - " Cian Duffy (MYOB) - BeOS port / manual writing (0.1 - 0.3)", - " Petr Baudi\xC5\xA1 (pasky) - Many patches, NewGRF support (0.3 - 0.3)", - " Benedikt Br\xC3\xBCggemeier (skidd13) - Bug fixer and code reworker (0.6 - 0.7)", - " Serge Paquet (vurlix) - 2nd contributor after ludde (0.1 - 0.3)", - "", - "Special thanks go out to:", - " Josef Drexler - For his great work on TTDPatch", - " Marcin Grzegorczyk - Track foundations and for describing TTD internals", - " Stefan Mei\xC3\x9Fner (sign_de) - For his work on the console", - " Mike Ragsdale - OpenTTD installer", - " Christian Rosentreter (tokai) - MorphOS / AmigaOS port", - " Richard Kempton (richK) - additional airports, initial TGP implementation", - "", - " Alberto Demichelis - Squirrel scripting language \xC2\xA9 2003-2008", - " L. Peter Deutsch - MD5 implementation \xC2\xA9 1999, 2000, 2002", - " Michael Blunck - Pre-signals and semaphores \xC2\xA9 2003", - " George - Canal/Lock graphics \xC2\xA9 2003-2004", - " Andrew Parkhouse (andythenorth) - River graphics", - " David Dallaston (Pikka) - Tram tracks", - " All Translators - Who made OpenTTD a truly international game", - " Bug Reporters - Without whom OpenTTD would still be full of bugs!", - "", - "", - "And last but not least:", - " Chris Sawyer - For an amazing game!" + u8"Original design by Chris Sawyer", + u8"Original graphics by Simon Foster", + u8"", + u8"The OpenTTD team (in alphabetical order):", + u8" Grzegorz Duczy\u0144ski (adf88) - General coding (since 1.7.2)", + u8" Albert Hofkamp (Alberth) - GUI expert (since 0.7)", + u8" Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3)", + u8" Ulf Hermann (fonsinchen) - Cargo Distribution (since 1.3)", + u8" Christoph Elsenhans (frosch) - General coding (since 0.6)", + u8" Lo\u00efc Guilloux (glx) - General / Windows Expert (since 0.4.5)", + u8" Charles Pigott (LordAro) - General / Correctness police (since 1.9)", + u8" Michael Lutz (michi_cc) - Path based signals (since 0.7)", + u8" Niels Martin Hansen (nielsm) - Music system, general coding (since 1.9)", + u8" Owen Rudge (orudge) - Forum host, OS/2 port (since 0.1)", + u8" Peter Nelson (peter1138) - Spiritual descendant from NewGRF gods (since 0.4.5)", + u8" Ingo von Borstel (planetmaker) - General, Support (since 1.1)", + u8" Remko Bijker (Rubidium) - Lead coder and way more (since 0.4.5)", + u8" Jos\u00e9 Soler (Terkhen) - General coding (since 1.0)", + u8" Leif Linse (Zuu) - AI/Game Script (since 1.2)", + u8"", + u8"Inactive Developers:", + u8" Jean-Fran\u00e7ois Claeys (Belugas) - GUI, NewGRF and more (0.4.5 - 1.0)", + u8" Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles (0.3 - 0.7)", + u8" Victor Fischer (Celestar) - Programming everywhere you need him to (0.3 - 0.6)", + u8" Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;) (0.4.5 - 0.6)", + u8" Jonathan Coome (Maedhros) - High priest of the NewGRF Temple (0.5 - 0.6)", + u8" Attila B\u00e1n (MiHaMiX) - Developer WebTranslator 1 and 2 (0.3 - 0.5)", + u8" Zden\u011bk Sojka (SmatZ) - Bug finder and fixer (0.6 - 1.3)", + u8" Christoph Mallon (Tron) - Programmer, code correctness police (0.3 - 0.5)", + u8" Patric Stout (TrueBrain) - NoAI, NoGo, Network (0.3 - 1.2), sys op (active)", + u8" Thijs Marinussen (Yexo) - AI Framework, General (0.6 - 1.3)", + u8"", + u8"Retired Developers:", + u8" Tam\u00e1s Farag\u00f3 (Darkvater) - Ex-Lead coder (0.3 - 0.5)", + u8" Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3 - 0.3)", + u8" Emil Djupfeld (egladil) - MacOSX (0.4.5 - 0.6)", + u8" Simon Sasburg (HackyKid) - Many bugfixes (0.4 - 0.4.5)", + u8" Ludvig Strigeus (ludde) - Original author of OpenTTD, main coder (0.1 - 0.3)", + u8" Cian Duffy (MYOB) - BeOS port / manual writing (0.1 - 0.3)", + u8" Petr Baudi\u0161 (pasky) - Many patches, NewGRF support (0.3 - 0.3)", + u8" Benedikt Br\u00fcggemeier (skidd13) - Bug fixer and code reworker (0.6 - 0.7)", + u8" Serge Paquet (vurlix) - 2nd contributor after ludde (0.1 - 0.3)", + u8"", + u8"Special thanks go out to:", + u8" Josef Drexler - For his great work on TTDPatch", + u8" Marcin Grzegorczyk - Track foundations and for describing TTD internals", + u8" Stefan Mei\u00dfner (sign_de) - For his work on the console", + u8" Mike Ragsdale - OpenTTD installer", + u8" Christian Rosentreter (tokai) - MorphOS / AmigaOS port", + u8" Richard Kempton (richK) - additional airports, initial TGP implementation", + u8"", + u8" Alberto Demichelis - Squirrel scripting language \u00a9 2003-2008", + u8" L. Peter Deutsch - MD5 implementation \u00a9 1999, 2000, 2002", + u8" Michael Blunck - Pre-signals and semaphores \u00a9 2003", + u8" George - Canal/Lock graphics \u00a9 2003-2004", + u8" Andrew Parkhouse (andythenorth) - River graphics", + u8" David Dallaston (Pikka) - Tram tracks", + u8" All Translators - Who made OpenTTD a truly international game", + u8" Bug Reporters - Without whom OpenTTD would still be full of bugs!", + u8"", + u8"", + u8"And last but not least:", + u8" Chris Sawyer - For an amazing game!" }; struct AboutWindow : public Window { diff --git a/src/string_type.h b/src/string_type.h index 623d74661c..25ea65598e 100644 --- a/src/string_type.h +++ b/src/string_type.h @@ -15,10 +15,10 @@ #include /** A non-breaking space. */ -#define NBSP "\xC2\xA0" +#define NBSP u8"\u00a0" /** A left-to-right marker, marks the next character as left-to-right. */ -#define LRM "\xE2\x80\x8E" +#define LRM u8"\u200e" /** * Valid filter types for IsValidChar. diff --git a/src/table/townname.h b/src/table/townname.h index 4a7da93e9a..086fc4f116 100644 --- a/src/table/townname.h +++ b/src/table/townname.h @@ -310,7 +310,7 @@ static const char * const _name_austrian_a2[] = { "Aus", "Alten", "Braun", - "V\xC3\xB6sl", + u8"V\u00f6sl", "Mittern", "Nuss", "Neu", @@ -332,9 +332,9 @@ static const char * const _name_austrian_a2[] = { "Frauen", "Herren", "Hof", - "H\xC3\xBCtt", + u8"H\u00fctt", "Kaisers", - "K\xC3\xB6nigs", + u8"K\u00f6nigs", "Knittel", "Lang", "Ober", @@ -346,7 +346,7 @@ static const char * const _name_austrian_a2[] = { "Stocker", "Unter", "Utten", - "V\xC3\xB6sen", + u8"V\u00f6sen", "Vill", "Weissen", }; @@ -392,7 +392,7 @@ static const char * const _name_austrian_a5[] = { static const char * const _name_austrian_a6[] = { "Aegyd", - "Andr\xC3\xA4", + u8"Andr\u00e4", "Georgen", "Jakob", "Johann", @@ -405,7 +405,7 @@ static const char * const _name_austrian_a6[] = { "Nikolai", "Oswald", "Peter", - "P\xC3\xB6lten", + u8"P\u00f6lten", "Stefan", "Stephan", "Thomas", @@ -466,10 +466,10 @@ static const char * const _name_german_real[] = { "Gera", "Kassel", "Kiel", - "K\xC3\xB6ln", - "L\xC3\xBC""beck", + u8"K\u00f6ln", + u8"L\u00fcbeck", "Magdeburg", - "M\xC3\xBCnchen", + u8"M\u00fcnchen", "Potsdam", "Stuttgart", "Wiesbaden", @@ -492,7 +492,7 @@ static const char * const _name_german_1[] = { "Cloppen", "Co", "Duis", - "D\xC3\xBCssel", + u8"D\u00fcssel", "Dannen", "Elb", "Els", @@ -506,7 +506,7 @@ static const char * const _name_german_1[] = { "Frei", "Freuden", "Fried", - "F\xC3\xBCrsten", + u8"F\u00fcrsten", "Hahn", "Ham", "Harz", @@ -527,10 +527,10 @@ static const char * const _name_german_1[] = { "Langen", "Lim", "Lohr", - "L\xC3\xBCne", + u8"L\u00fcne", "Mel", "Michels", - "M\xC3\xBChl", + u8"M\u00fchl", "Naum", "Nest", "Nord", @@ -538,7 +538,7 @@ static const char * const _name_german_1[] = { "Nien", "Nidda", "Nieder", - "N\xC3\xBCrn", + u8"N\u00fcrn", "Ober", "Offen", "Osna", @@ -552,18 +552,18 @@ static const char * const _name_german_1[] = { "Regens", "Rott", "Ros", - "R\xC3\xBCssels", + u8"R\u00fcssels", "Saal", "Saar", "Salz", - "Sch\xC3\xB6ne", + u8"Sch\u00f6ne", "Schwein", "Sonder", "Sonnen", "Stein", "Strals", "Straus", - "S\xC3\xBC""d", + u8"S\u00fcd", "Ton", "Unter", "Ur", @@ -574,14 +574,14 @@ static const char * const _name_german_1[] = { "Wester", "Witten", "Wolfs", - "W\xC3\xBCrz", + u8"W\u00fcrz", }; static const char * const _name_german_2[] = { "bach", "berg", - "br\xC3\xBC""ck", - "br\xC3\xBC""cken", + u8"br\u00fcck", + u8"br\u00fccken", "burg", "dorf", "feld", @@ -591,7 +591,7 @@ static const char * const _name_german_2[] = { "heim", "horst", "mund", - "m\xC3\xBCnster", + u8"m\u00fcnster", "stadt", "wald", }; @@ -625,9 +625,9 @@ static const char * const _name_spanish_real[] = { "Morrocoy", "Cata", "Cataito", - "Ciudad Bol\xC3\xADvar", + u8"Ciudad Bol\u00edvar", "Barquisimeto", - "M\xC3\xA9rida", + u8"M\u00e9rida", "Puerto Ordaz", "Santa Elena", "San Juan", @@ -636,58 +636,58 @@ static const char * const _name_spanish_real[] = { "Santiago", "Barcelona", "Barinas", - "San Crist\xC3\xB3""bal", + u8"San Crist\u00f3bal", "San Francisco", - "San Mart\xC3\xADn", + u8"San Mart\u00edn", "Guayana", "San Carlos", - "El Lim\xC3\xB3n", + u8"El Lim\u00f3n", "Coro", "Coro Coro", "Puerto Ayacucho", "Elorza", "Arismendi", "Trujillo", - "Car\xC3\xBApano", + u8"Car\u00fapano", "Anaco", "Lima", "Cuzco", "Iquitos", "Callao", "Huacho", - "Caman\xC3\xA1", + u8"Caman\u00e1", "Puerto Chala", "Santa Cruz", "Quito", "Cuenca", - "Medell\xC3\xADn", - "Tulc\xC3\xA1n", + u8"Medell\u00edn", + u8"Tulc\u00e1n", "Esmeraldas", "Ibarra", "San Lorenzo", "Macas", - "Mora\xC3\xB1""a", + u8"Mora\u00f1a", "Machala", "Zamora", "Latacunga", "Tena", "Cochabamba", - "Ascensi\xC3\xB3n", + u8"Ascensi\u00f3n", "Magdalena", "Santa Ana", "Manoa", "Sucre", "Oruro", "Uyuni", - "Potos\xC3\xAD", + u8"Potos\u00ed", "Tupiza", "La Quiaca", - "Yacu\xC3\xAD""ba", + u8"Yacu\u00edba", "San Borja", "Fuerte Olimpo", - "Fort\xC3\xADn Esteros", + u8"Fort\u00edn Esteros", "Campo Grande", - "Bogot\xC3\xA1", + u8"Bogot\u00e1", "El Banco", "Zaragoza", "Neiva", @@ -715,7 +715,7 @@ static const char * const _name_french_real[] = { "Bordeaux", "Bayonne", "Montpellier", - "Mont\xC3\xA9limar", + u8"Mont\u00e9limar", "Valence", "Digne", "Nice", @@ -723,16 +723,16 @@ static const char * const _name_french_real[] = { "St. Tropez", "Marseille", "Narbonne", - "S\xC3\xA8te", + u8"S\u00e8te", "Aurillac", - "Gu\xC3\xA9ret", + u8"Gu\u00e9ret", "Le Creusot", "Nevers", "Auxerre", "Versailles", "Meaux", - "Ch\xC3\xA2lons", - "Compi\xC3\xA8gne", + u8"Ch\u00e2lons", + u8"Compi\u00e8gne", "Metz", "Chaumont", "Langres", @@ -745,8 +745,8 @@ static const char * const _name_french_real[] = { "Le Mans", "Angers", "Nantes", - "Ch\xC3\xA2teauroux", - "Orl\xC3\xA9""ans", + u8"Ch\u00e2teauroux", + u8"Orl\u00e9ans", "Lisieux", "Cherbourg", "Morlaix", @@ -757,7 +757,7 @@ static const char * const _name_french_real[] = { "Troyes", "Charolles", "Toulouse", - "Chamb\xC3\xA9ry", + u8"Chamb\u00e9ry", "Tours", "St. Brieuc", "St. Malo", @@ -771,11 +771,11 @@ static const char * const _name_french_real[] = { "Albi", "Paris", "Biarritz", - "B\xC3\xA9ziers", - "N\xC3\xAEmes", + u8"B\u00e9ziers", + u8"N\u00eemes", "Chamonix", - "Angoul\xC3\xA8me", - "Alen\xC3\xA7on", + u8"Angoul\u00e8me", + u8"Alen\u00e7on", }; static const char * const _name_silly_1[] = { @@ -903,7 +903,7 @@ static const char * const _name_swedish_2[] = { "Es", "Fin", "Fisk", - "Gr\xC3\xB6n", + u8"Gr\u00f6n", "Hag", "Halm", "Karl", @@ -922,17 +922,17 @@ static const char * const _name_swedish_2[] = { "Skog", "Stock", "Stor", - "Str\xC3\xB6m", + u8"Str\u00f6m", "Sund", - "S\xC3\xB6""der", + u8"S\u00f6der", "Tall", "Tratt", "Troll", "Upp", "Var", - "V\xC3\xA4ster", - "\xC3\x84ngel", - "\xC3\x96ster", + u8"V\u00e4ster", + u8"\u00c4ngel", + u8"\u00d6ster", }; static const char * const _name_swedish_2a[] = { @@ -987,9 +987,9 @@ static const char * const _name_swedish_2b[] = { "o", "u", "y", - "\xC3\xA5", - "\xC3\xA4", - "\xC3\xB6", + u8"\u00e5", + u8"\u00e4", + u8"\u00f6", }; static const char * const _name_swedish_2c[] = { @@ -1035,25 +1035,25 @@ static const char * const _name_swedish_3[] = { "hamn", "holm", "hus", - "h\xC3\xA4ttan", + u8"h\u00e4ttan", "kulle", - "k\xC3\xB6ping", + u8"k\u00f6ping", "lund", - "l\xC3\xB6v", + u8"l\u00f6v", "sala", "skrona", - "sl\xC3\xA4tt", - "sp\xC3\xA5ng", + u8"sl\u00e4tt", + u8"sp\u00e5ng", "stad", "sund", "svall", "svik", - "s\xC3\xA5ker", + u8"s\u00e5ker", "udde", "valla", "viken", - "\xC3\xA4lv", - "\xC3\xA5s", + u8"\u00e4lv", + u8"\u00e5s", }; static const char * const _name_dutch_1[] = { @@ -1220,7 +1220,7 @@ static const char * const _name_finnish_real[] = { "Espoo", "Helsinki", "Tapiola", - "J\xC3\xA4rvel\xC3\xA4", + u8"J\u00e4rvel\u00e4", "Lahti", "Kotka", "Hamina", @@ -1255,26 +1255,26 @@ static const char * const _name_finnish_1[] = { "Sauna", "Uusi", "Vanha", - "Kes\xC3\xA4", + u8"Kes\u00e4", "Kuusi", "Pelto", "Tuomi", "Terva", "Olki", - "Hein\xC3\xA4", - "Sein\xC3\xA4", + u8"Hein\u00e4", + u8"Sein\u00e4", "Rova", "Koivu", "Kokko", - "M\xC3\xA4nty", + u8"M\u00e4nty", "Pihlaja", - "Pet\xC3\xA4j\xC3\xA4", + u8"Pet\u00e4j\u00e4", "Kielo", "Kauha", "Viita", "Kivi", "Riihi", - "\xC3\x84\xC3\xA4ne", + u8"\u00c4\u00e4ne", "Niini", }; @@ -1283,27 +1283,27 @@ static const char * const _name_finnish_2[] = { "Lohjan", "Savon", "Lapin", - "Pit\xC3\xA4j\xC3\xA4n", + u8"Pit\u00e4j\u00e4n", "Martin", "Kuusan", "Kemi", "Keri", - "H\xC3\xA4meen", + u8"H\u00e4meen", "Kangas", }; static const char * const _name_finnish_3[] = { "harju", "linna", - "j\xC3\xA4rvi", + u8"j\u00e4rvi", "kallio", - "m\xC3\xA4ki", + u8"m\u00e4ki", "nummi", "joki", - "kyl\xC3\xA4", + u8"kyl\u00e4", "lampi", "lahti", - "mets\xC3\xA4", + u8"mets\u00e4", "suo", "laakso", "niitty", @@ -1316,56 +1316,56 @@ static const char * const _name_finnish_3[] = { static const char * const _name_polish_1_m[] = { "Wielki ", - "Ma\xC5\x82y ", - "Z\xC5\x82y ", + u8"Ma\u0142y ", + u8"Z\u0142y ", "Dobry ", "Nowy ", "Stary ", - "Z\xC5\x82oty ", + u8"Z\u0142oty ", "Zielony ", - "Bia\xC5\x82y ", + u8"Bia\u0142y ", "Modry ", - "D\xC4\x99""bowy ", + u8"D\u0119bowy ", }; static const char * const _name_polish_1_f[] = { "Wielka ", - "Ma\xC5\x82""a ", - "Z\xC5\x82""a ", + u8"Ma\u0142a ", + u8"Z\u0142a ", "Dobra ", "Nowa ", "Stara ", - "Z\xC5\x82ota ", + u8"Z\u0142ota ", "Zielona ", - "Bia\xC5\x82""a ", + u8"Bia\u0142a ", "Modra ", - "D\xC4\x99""bowa ", + u8"D\u0119bowa ", }; static const char * const _name_polish_1_n[] = { "Wielkie ", - "Ma\xC5\x82""e ", - "Z\xC5\x82""e ", + u8"Ma\u0142e ", + u8"Z\u0142e ", "Dobre ", "Nowe ", "Stare ", - "Z\xC5\x82ote ", + u8"Z\u0142ote ", "Zielone ", - "Bia\xC5\x82""e ", + u8"Bia\u0142e ", "Modre ", - "D\xC4\x99""bowe ", + u8"D\u0119bowe ", }; static const char * const _name_polish_2_o[] = { "Frombork", "Gniezno", "Olsztyn", - "Toru\xC5\x84", + u8"Toru\u0144", "Bydgoszcz", "Terespol", - "Krak\xC3\xB3w", - "Pozna\xC5\x84", - "Wroc\xC5\x82""aw", + u8"Krak\u00f3w", + u8"Pozna\u0144", + u8"Wroc\u0142aw", "Katowice", "Cieszyn", "Bytom", @@ -1376,7 +1376,7 @@ static const char * const _name_polish_2_o[] = { "Malbork", "Sopot", "Sosnowiec", - "Gda\xC5\x84sk", + u8"Gda\u0144sk", "Gdynia", "Sieradz", "Sandomierz", @@ -1384,7 +1384,7 @@ static const char * const _name_polish_2_o[] = { "Szczytno", "Szczecin", "Zakopane", - "Szklarska Por\xC4\x99""ba", + u8"Szklarska Por\u0119ba", "Bochnia", "Golub-Dobrzyn", "Chojnice", @@ -1396,13 +1396,13 @@ static const char * const _name_polish_2_o[] = { static const char * const _name_polish_2_m[] = { "Jarocin", "Gogolin", - "Tomasz\xC3\xB3w", - "Piotrk\xC3\xB3w", + u8"Tomasz\u00f3w", + u8"Piotrk\u00f3w", "Lidzbark", "Rypin", "Radzymin", - "Wo\xC5\x82omin", - "Pruszk\xC3\xB3w", + u8"Wo\u0142omin", + u8"Pruszk\u00f3w", "Olsztynek", "Rypin", "Cisek", @@ -1412,7 +1412,7 @@ static const char * const _name_polish_2_m[] = { "Lubicz", "Milicz", "Targ", - "Ostr\xC3\xB3w", + u8"Ostr\u00f3w", "Ozimek", "Puck", "Rzepin", @@ -1425,7 +1425,7 @@ static const char * const _name_polish_2_m[] = { "Strzepcz", "Strzebielin", "Sochaczew", - "Gr\xC4\x99""bocin", + u8"Gr\u0119bocin", "Gniew", "Lubliniec", "Lubasz", @@ -1447,7 +1447,7 @@ static const char * const _name_polish_2_m[] = { static const char * const _name_polish_2_f[] = { "Szprotawa", "Pogorzelica", - "Mot\xC5\x82""awa", + u8"Mot\u0142awa", "Lubawa", "Nidzica", "Kruszwica", @@ -1501,7 +1501,7 @@ static const char * const _name_polish_2_n[] = { "Braniewo", "Sulinowo", "Chmielno", - "Jastrz\xC4\x99""bie", + u8"Jastrz\u0119bie", "Gryfino", "Koronowo", "Lubichowo", @@ -1510,182 +1510,182 @@ static const char * const _name_polish_2_n[] = { static const char * const _name_polish_3_m[] = { " Wybudowanie", - " \xC5\x9Awi\xC4\x99tokrzyski", - " G\xC3\xB3rski", + u8" \u015awi\u0119tokrzyski", + u8" G\u00f3rski", " Morski", - " Zdr\xC3\xB3j", + u8" Zdr\u00f3j", " Wody", " Bajoro", - " Kraje\xC5\x84ski", - " \xC5\x9Al\xC4\x85ski", + u8" Kraje\u0144ski", + u8" \u015al\u0105ski", " Mazowiecki", " Pomorski", " Wielki", " Maly", - " Warmi\xC5\x84ski", + u8" Warmi\u0144ski", " Mazurski", " Mniejszy", - " Wi\xC4\x99kszy", - " G\xC3\xB3rny", + u8" Wi\u0119kszy", + u8" G\u00f3rny", " Dolny", " Wielki", " Stary", " Nowy", " Wielkopolski", - " Wzg\xC3\xB3rze", + u8" Wzg\u00f3rze", " Mosty", " Kujawski", - " Ma\xC5\x82opolski", + u8" Ma\u0142opolski", " Podlaski", " Lesny", }; static const char * const _name_polish_3_f[] = { " Wybudowanie", - " \xC5\x9Awi\xC4\x99tokrzyska", - " G\xC3\xB3rska", + u8" \u015awi\u0119tokrzyska", + u8" G\u00f3rska", " Morska", - " Zdr\xC3\xB3j", + u8" Zdr\u00f3j", " Woda", " Bajoro", - " Kraje\xC5\x84ska", - " \xC5\x9Al\xC4\x85ska", + u8" Kraje\u0144ska", + u8" \u015al\u0105ska", " Mazowiecka", " Pomorska", " Wielka", - " Ma\xC5\x82""a", - " Warmi\xC5\x84ska", + u8" Ma\u0142a", + u8" Warmi\u0144ska", " Mazurska", " Mniejsza", - " Wi\xC4\x99ksza", - " G\xC3\xB3rna", + u8" Wi\u0119ksza", + u8" G\u00f3rna", " Dolna", " Wielka", " Stara", " Nowa", " Wielkopolska", - " Wzg\xC3\xB3rza", + u8" Wzg\u00f3rza", " Mosty", " Kujawska", " Malopolska", " Podlaska", - " Le\xC5\x9Bna", + u8" Le\u015bna", }; static const char * const _name_polish_3_n[] = { " Wybudowanie", - " \xC5\x9Awietokrzyskie", - " G\xC3\xB3rskie", + u8" \u015awietokrzyskie", + u8" G\u00f3rskie", " Morskie", - " Zdr\xC3\xB3j", + u8" Zdr\u00f3j", " Wody", " Bajoro", - " Kraje\xC5\x84skie", - " \xC5\x9Al\xC4\x85skie", + u8" Kraje\u0144skie", + u8" \u015al\u0105skie", " Mazowieckie", " Pomorskie", " Wielkie", - " Ma\xC5\x82""e", - " Warmi\xC5\x84skie ", + u8" Ma\u0142e", + u8" Warmi\u0144skie ", " Mazurskie ", " Mniejsze", - " Wi\xC4\x99ksze", - " G\xC3\xB3rne", + u8" Wi\u0119ksze", + u8" G\u00f3rne", " Dolne", " Wielkie", " Stare", " Nowe", " Wielkopolskie", - " Wzg\xC3\xB3rze", + u8" Wzg\u00f3rze", " Mosty", " Kujawskie", - " Ma\xC5\x82opolskie", + u8" Ma\u0142opolskie", " Podlaskie", - " Le\xC5\x9Bne", + u8" Le\u015bne", }; static const char * const _name_czech_real[] = { - "A\xC5\xA1", - "Bene\xC5\xA1ov", + u8"A\u0161", + u8"Bene\u0161ov", "Beroun", - "Bezdru\xC5\xBEice", + u8"Bezdru\u017eice", "Blansko", - "B\xC5\x99""eclav", + u8"B\u0159eclav", "Brno", - "Brunt\xC3\xA1l", - "\xC4\x8C""esk\xC3\xA1 L\xC3\xADpa", - "\xC4\x8C""esk\xC3\xA9 Bud\xC4\x9Bjovice", - "\xC4\x8C""esk\xC3\xBD Krumlov", - "D\xC4\x9B\xC4\x8D\xC3\xADn", - "Doma\xC5\xBElice", - "Dub\xC3\xAD", - "Fr\xC3\xBD""dek-M\xC3\xADstek", - "Havl\xC3\xAD\xC4\x8Dk\xC5\xAFv Brod", - "Hodon\xC3\xADn", - "Hradec Kr\xC3\xA1lov\xC3\xA9", + u8"Brunt\u00e1l", + u8"\u010cesk\u00e1 L\u00edpa", + u8"\u010cesk\u00e9 Bud\u011bjovice", + u8"\u010cesk\u00fd Krumlov", + u8"D\u011b\u010d\u00edn", + u8"Doma\u017elice", + u8"Dub\u00ed", + u8"Fr\u00fddek-M\u00edstek", + u8"Havl\u00ed\u010dk\u016fv Brod", + u8"Hodon\u00edn", + u8"Hradec Kr\u00e1lov\u00e9", "Humpolec", "Cheb", "Chomutov", "Chrudim", "Jablonec nad Nisou", - "Jesen\xC3\xADk", - "Ji\xC4\x8D\xC3\xADn", + u8"Jesen\u00edk", + u8"Ji\u010d\u00edn", "Jihlava", - "Jind\xC5\x99ich\xC5\xAFv Hradec", + u8"Jind\u0159ich\u016fv Hradec", "Karlovy Vary", - "Karvin\xC3\xA1", + u8"Karvin\u00e1", "Kladno", "Klatovy", - "Kol\xC3\xADn", + u8"Kol\u00edn", "Kosmonosy", - "Krom\xC4\x9B\xC5\x99\xC3\xAD\xC5\xBE", - "Kutn\xC3\xA1 Hora", + u8"Krom\u011b\u0159\u00ed\u017e", + u8"Kutn\u00e1 Hora", "Liberec", - "Litom\xC4\x9B\xC5\x99ice", + u8"Litom\u011b\u0159ice", "Louny", - "Man\xC4\x9Bt\xC3\xADn", - "M\xC4\x9Bln\xC3\xADk", - "Mlad\xC3\xA1 Boleslav", + u8"Man\u011bt\u00edn", + u8"M\u011bln\u00edk", + u8"Mlad\u00e1 Boleslav", "Most", - "N\xC3\xA1""chod", - "Nov\xC3\xBD Ji\xC4\x8D\xC3\xADn", + u8"N\u00e1chod", + u8"Nov\u00fd Ji\u010d\u00edn", "Nymburk", "Olomouc", "Opava", - "Or\xC3\xA1\xC4\x8Dov", + u8"Or\u00e1\u010dov", "Ostrava", "Pardubice", - "Pelh\xC5\x99imov", - "Pol\xC5\xBEice", - "P\xC3\xADsek", - "Plze\xC5\x88", + u8"Pelh\u0159imov", + u8"Pol\u017eice", + u8"P\u00edsek", + u8"Plze\u0148", "Praha", "Prachatice", - "P\xC5\x99""erov", - "P\xC5\x99\xC3\xAD""bram", - "Prost\xC4\x9Bjov", - "Rakovn\xC3\xADk", + u8"P\u0159erov", + u8"P\u0159\u00edbram", + u8"Prost\u011bjov", + u8"Rakovn\u00edk", "Rokycany", - "Rudn\xC3\xA1", - "Rychnov nad Kn\xC4\x9B\xC5\xBEnou", + u8"Rudn\u00e1", + u8"Rychnov nad Kn\u011b\u017enou", "Semily", "Sokolov", "Strakonice", - "St\xC5\x99""edokluky", - "\xC5\xA0umperk", + u8"St\u0159edokluky", + u8"\u0160umperk", "Svitavy", - "T\xC3\xA1""bor", + u8"T\u00e1bor", "Tachov", "Teplice", - "T\xC5\x99""eb\xC3\xAD\xC4\x8D", + u8"T\u0159eb\u00ed\u010d", "Trutnov", - "Uhersk\xC3\xA9 Hradi\xC5\xA1t\xC4\x9B", - "\xC3\x9Ast\xC3\xAD nad Labem", - "\xC3\x9Ast\xC3\xAD nad Orlic\xC3\xAD", - "Vset\xC3\xADn", - "Vy\xC5\xA1kov", - "\xC5\xBD\xC4\x8F\xC3\xA1r nad S\xC3\xA1zavou", - "Zl\xC3\xADn", + u8"Uhersk\u00e9 Hradi\u0161t\u011b", + u8"\u00dast\u00ed nad Labem", + u8"\u00dast\u00ed nad Orlic\u00ed", + u8"Vset\u00edn", + u8"Vy\u0161kov", + u8"\u017d\u010f\u00e1r nad S\u00e1zavou", + u8"Zl\u00edn", "Znojmo", }; @@ -1719,12 +1719,12 @@ enum CzechPattern { * by this. * XXX: [CZG_SMASC][CZP_PRIVL] needs special handling: -ovX -> -uv. */ static const char * const _name_czech_patmod[][3] = { - /* CZG_SMASC */ { "\xC3\xAD", "\xC3\xBD", "X" }, - /* CZG_SFEM */ { "\xC3\xAD", "\xC3\xA1", "a" }, - /* CZG_SNEUT */ { "\xC3\xAD", "\xC3\xA9", "o" }, - /* CZG_PMASC */ { "\xC3\xAD", "\xC3\xA9", "y" }, - /* CZG_PFEM */ { "\xC3\xAD", "\xC3\xA9", "y" }, - /* CZG_PNEUT */ { "\xC3\xAD", "\xC3\xA1", "a" } + /* CZG_SMASC */ { u8"\u00ed", u8"\u00fd", "X" }, + /* CZG_SFEM */ { u8"\u00ed", u8"\u00e1", "a" }, + /* CZG_SNEUT */ { u8"\u00ed", u8"\u00e9", "o" }, + /* CZG_PMASC */ { u8"\u00ed", u8"\u00e9", "y" }, + /* CZG_PFEM */ { u8"\u00ed", u8"\u00e9", "y" }, + /* CZG_PNEUT */ { u8"\u00ed", u8"\u00e1", "a" } }; /* This way the substantive can choose only some adjectives/endings: @@ -1764,52 +1764,52 @@ struct CzechNameAdj { /* Some of items which should be common are doubled. */ static const CzechNameAdj _name_czech_adj[] = { - { CZP_JARNI, CZC_ANY, "Horn\xC3\xAD" }, - { CZP_JARNI, CZC_ANY, "Horn\xC3\xAD" }, - { CZP_JARNI, CZC_ANY, "Doln\xC3\xAD" }, - { CZP_JARNI, CZC_ANY, "Doln\xC3\xAD" }, - { CZP_JARNI, CZC_ANY, "P\xC5\x99""edn\xC3\xAD" }, - { CZP_JARNI, CZC_ANY, "Zadn\xC3\xAD" }, - { CZP_JARNI, CZC_ANY, "Kosteln\xC3\xAD" }, - { CZP_JARNI, CZC_ANY, "Havran\xC3\xAD" }, - { CZP_JARNI, CZC_ANY, "\xC5\x98\xC3\xAD\xC4\x8Dn\xC3\xAD" }, - { CZP_JARNI, CZC_ANY, "Jezern\xC3\xAD" }, - { CZP_MLADY, CZC_ANY, "Velk\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Velk\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Mal\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Mal\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Vysok\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "\xC4\x8C""esk\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Moravsk\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Slov\xC3\xA1""ck\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Slezsk\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Uhersk\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Star\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Star\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Nov\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Nov\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Mlad\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Kr\xC3\xA1lovsk\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Kamenn\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Cihlov\xC3\xBD" }, - { CZP_MLADY, CZC_ANY, "Divn\xC3\xBD" }, - { CZP_MLADY, CZC_COLOR, "\xC4\x8C""erven\xC3\xA1" }, - { CZP_MLADY, CZC_COLOR, "\xC4\x8C""erven\xC3\xA1" }, - { CZP_MLADY, CZC_COLOR, "\xC4\x8C""erven\xC3\xA1" }, - { CZP_MLADY, CZC_COLOR, "Zelen\xC3\xA1" }, - { CZP_MLADY, CZC_COLOR, "\xC5\xBDlut\xC3\xA1" }, - { CZP_MLADY, CZC_COLOR, "Siv\xC3\xA1" }, - { CZP_MLADY, CZC_COLOR, "\xC5\xA0""ed\xC3\xA1" }, - { CZP_MLADY, CZC_COLOR, "B\xC3\xADl\xC3\xA1" }, - { CZP_MLADY, CZC_COLOR, "B\xC3\xADl\xC3\xA1" }, - { CZP_MLADY, CZC_COLOR, "Modr\xC3\xA1" }, - { CZP_MLADY, CZC_COLOR, "R\xC5\xAF\xC5\xBEov\xC3\xA1" }, - { CZP_MLADY, CZC_COLOR, "\xC4\x8C""ern\xC3\xA1" }, - { CZP_PRIVL, CZC_ANY, "Kr\xC3\xA1lova" }, + { CZP_JARNI, CZC_ANY, u8"Horn\u00ed" }, + { CZP_JARNI, CZC_ANY, u8"Horn\u00ed" }, + { CZP_JARNI, CZC_ANY, u8"Doln\u00ed" }, + { CZP_JARNI, CZC_ANY, u8"Doln\u00ed" }, + { CZP_JARNI, CZC_ANY, u8"P\u0159edn\u00ed" }, + { CZP_JARNI, CZC_ANY, u8"Zadn\u00ed" }, + { CZP_JARNI, CZC_ANY, u8"Kosteln\u00ed" }, + { CZP_JARNI, CZC_ANY, u8"Havran\u00ed" }, + { CZP_JARNI, CZC_ANY, u8"\u0158\u00ed\u010dn\u00ed" }, + { CZP_JARNI, CZC_ANY, u8"Jezern\u00ed" }, + { CZP_MLADY, CZC_ANY, u8"Velk\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Velk\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Mal\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Mal\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Vysok\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"\u010cesk\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Moravsk\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Slov\u00e1ck\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Slezsk\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Uhersk\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Star\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Star\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Nov\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Nov\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Mlad\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Kr\u00e1lovsk\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Kamenn\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Cihlov\u00fd" }, + { CZP_MLADY, CZC_ANY, u8"Divn\u00fd" }, + { CZP_MLADY, CZC_COLOR, u8"\u010cerven\u00e1" }, + { CZP_MLADY, CZC_COLOR, u8"\u010cerven\u00e1" }, + { CZP_MLADY, CZC_COLOR, u8"\u010cerven\u00e1" }, + { CZP_MLADY, CZC_COLOR, u8"Zelen\u00e1" }, + { CZP_MLADY, CZC_COLOR, u8"\u017dlut\u00e1" }, + { CZP_MLADY, CZC_COLOR, u8"Siv\u00e1" }, + { CZP_MLADY, CZC_COLOR, u8"\u0160ed\u00e1" }, + { CZP_MLADY, CZC_COLOR, u8"B\u00edl\u00e1" }, + { CZP_MLADY, CZC_COLOR, u8"B\u00edl\u00e1" }, + { CZP_MLADY, CZC_COLOR, u8"Modr\u00e1" }, + { CZP_MLADY, CZC_COLOR, u8"R\u016f\u017eov\u00e1" }, + { CZP_MLADY, CZC_COLOR, u8"\u010cern\u00e1" }, + { CZP_PRIVL, CZC_ANY, u8"Kr\u00e1lova" }, { CZP_PRIVL, CZC_ANY, "Janova" }, { CZP_PRIVL, CZC_ANY, "Karlova" }, - { CZP_PRIVL, CZC_ANY, "Kry\xC5\xA1tofova" }, - { CZP_PRIVL, CZC_ANY, "Ji\xC5\x99\xC3\xADkova" }, + { CZP_PRIVL, CZC_ANY, u8"Kry\u0161tofova" }, + { CZP_PRIVL, CZC_ANY, u8"Ji\u0159\u00edkova" }, { CZP_PRIVL, CZC_ANY, "Petrova" }, { CZP_PRIVL, CZC_ANY, "Sudovo" }, }; @@ -1819,17 +1819,17 @@ static const CzechNameSubst _name_czech_subst_full[] = { { CZG_SMASC, CZA_ALL, CZC_COLOR, "Sedlec" }, { CZG_SMASC, CZA_ALL, CZC_COLOR, "Brod" }, { CZG_SMASC, CZA_ALL, CZC_COLOR, "Brod" }, - { CZG_SMASC, CZA_ALL, CZC_NONE, "\xC3\x9Aval" }, - { CZG_SMASC, CZA_ALL, CZC_COLOR, "\xC5\xBD\xC4\x8F\xC3\xA1r" }, + { CZG_SMASC, CZA_ALL, CZC_NONE, u8"\u00daval" }, + { CZG_SMASC, CZA_ALL, CZC_COLOR, u8"\u017d\u010f\u00e1r" }, { CZG_SMASC, CZA_ALL, CZC_COLOR, "Smrk" }, { CZG_SFEM, CZA_ALL, CZC_COLOR, "Hora" }, { CZG_SFEM, CZA_ALL, CZC_COLOR, "Lhota" }, { CZG_SFEM, CZA_ALL, CZC_COLOR, "Lhota" }, { CZG_SFEM, CZA_ALL, CZC_COLOR, "Hlava" }, - { CZG_SFEM, CZA_ALL, CZC_COLOR, "L\xC3\xADpa" }, + { CZG_SFEM, CZA_ALL, CZC_COLOR, u8"L\u00edpa" }, { CZG_SNEUT, CZA_ALL, CZC_COLOR, "Pole" }, - { CZG_SNEUT, CZA_ALL, CZC_COLOR, "\xC3\x9A""dol\xC3\xAD" }, - { CZG_PMASC, CZA_ALL, CZC_NONE, "\xC3\x9Avaly" }, + { CZG_SNEUT, CZA_ALL, CZC_COLOR, u8"\u00dadol\u00ed" }, + { CZG_PMASC, CZA_ALL, CZC_NONE, u8"\u00davaly" }, { CZG_PFEM, CZA_ALL, CZC_COLOR, "Luka" }, { CZG_PNEUT, CZA_ALL, CZC_COLOR, "Pole" }, }; @@ -1837,46 +1837,46 @@ static const CzechNameSubst _name_czech_subst_full[] = { /* TODO: More stems needed. --pasky */ static const CzechNameSubst _name_czech_subst_stem[] = { { CZG_SMASC, CZA_MIDDLE, CZC_COLOR, "Kostel" }, - { CZG_SMASC, CZA_MIDDLE, CZC_COLOR, "Kl\xC3\xA1\xC5\xA1ter" }, + { CZG_SMASC, CZA_MIDDLE, CZC_COLOR, u8"Kl\u00e1\u0161ter" }, { CZG_SMASC, CZA_SHORT, CZC_COLOR, "Lhot" }, { CZG_SFEM, CZA_SHORT, CZC_COLOR, "Lhot" }, { CZG_SFEM, CZA_SHORT, CZC_COLOR, "Hur" }, { CZG_FREE, CZA_MIDDLE | CZA_LONG, CZC_NONE, "Sedl" }, { CZG_FREE, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_COLOR, "Hrad" }, { CZG_NFREE, CZA_MIDDLE, CZC_NONE, "Pras" }, - { CZG_NFREE, CZA_MIDDLE, CZC_NONE, "Ba\xC5\xBE" }, + { CZG_NFREE, CZA_MIDDLE, CZC_NONE, u8"Ba\u017e" }, { CZG_NFREE, CZA_MIDDLE, CZC_NONE, "Tes" }, - { CZG_NFREE, CZA_MIDDLE, CZC_NONE, "U\xC5\xBE" }, - { CZG_NFREE, CZA_MIDDLE | CZA_LONG, CZC_POSTFIX, "B\xC5\x99" }, + { CZG_NFREE, CZA_MIDDLE, CZC_NONE, u8"U\u017e" }, + { CZG_NFREE, CZA_MIDDLE | CZA_LONG, CZC_POSTFIX, u8"B\u0159" }, { CZG_NFREE, CZA_MIDDLE | CZA_LONG, CZC_NONE, "Vod" }, { CZG_NFREE, CZA_MIDDLE | CZA_LONG, CZC_NONE, "Jan" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Prach" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Kunr" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Strak" }, - { CZG_NFREE, CZA_LONG, CZC_NONE, "V\xC3\xADt" }, - { CZG_NFREE, CZA_LONG, CZC_NONE, "Vy\xC5\xA1" }, - { CZG_NFREE, CZA_LONG, CZC_NONE, "\xC5\xBD""at" }, - { CZG_NFREE, CZA_LONG, CZC_NONE, "\xC5\xBD""er" }, - { CZG_NFREE, CZA_LONG, CZC_NONE, "St\xC5\x99""ed" }, + { CZG_NFREE, CZA_LONG, CZC_NONE, u8"V\u00edt" }, + { CZG_NFREE, CZA_LONG, CZC_NONE, u8"Vy\u0161" }, + { CZG_NFREE, CZA_LONG, CZC_NONE, u8"\u017dat" }, + { CZG_NFREE, CZA_LONG, CZC_NONE, u8"\u017der" }, + { CZG_NFREE, CZA_LONG, CZC_NONE, u8"St\u0159ed" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Harv" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Pruh" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Tach" }, - { CZG_NFREE, CZA_LONG, CZC_NONE, "P\xC3\xADsn" }, + { CZG_NFREE, CZA_LONG, CZC_NONE, u8"P\u00edsn" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Jin" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Jes" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Jar" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Sok" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Hod" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Net" }, - { CZG_FREE, CZA_LONG, CZC_NONE, "Pra\xC5\xBE" }, + { CZG_FREE, CZA_LONG, CZC_NONE, u8"Pra\u017e" }, { CZG_FREE, CZA_LONG, CZC_NONE, "Nerat" }, { CZG_FREE, CZA_LONG, CZC_NONE, "Kral" }, { CZG_FREE, CZA_LONG, CZC_NONE, "Hut" }, { CZG_FREE, CZA_LONG, CZC_NOPOSTFIX, "Pan" }, - { CZG_FREE, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_NOPOSTFIX, "Odst\xC5\x99""ed" }, + { CZG_FREE, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_NOPOSTFIX, u8"Odst\u0159ed" }, { CZG_FREE, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_COLOR, "Mrat" }, { CZG_FREE, CZA_LONG, CZC_COLOR, "Hlav" }, - { CZG_FREE, CZA_SHORT | CZA_MIDDLE, CZC_NONE, "M\xC4\x9B\xC5\x99" }, + { CZG_FREE, CZA_SHORT | CZA_MIDDLE, CZC_NONE, u8"M\u011b\u0159" }, { CZG_FREE, CZA_MIDDLE | CZA_LONG, CZC_NONE, "Lip" }, }; @@ -1890,47 +1890,47 @@ static const char * const _name_czech_subst_postfix[] = { /* This array must have the both neutral genders at the end! */ static const CzechNameSubst _name_czech_subst_ending[] = { { CZG_SMASC, CZA_SHORT | CZA_MIDDLE, CZC_ANY, "ec" }, - { CZG_SMASC, CZA_SHORT | CZA_MIDDLE, CZC_ANY, "\xC3\xADn" }, + { CZG_SMASC, CZA_SHORT | CZA_MIDDLE, CZC_ANY, u8"\u00edn" }, { CZG_SMASC, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_ANY, "ov" }, { CZG_SMASC, CZA_SHORT | CZA_LONG, CZC_ANY, "kov" }, - { CZG_SMASC, CZA_LONG, CZC_POSTFIX, "\xC3\xADn" }, - { CZG_SMASC, CZA_LONG, CZC_POSTFIX, "n\xC3\xADk" }, + { CZG_SMASC, CZA_LONG, CZC_POSTFIX, u8"\u00edn" }, + { CZG_SMASC, CZA_LONG, CZC_POSTFIX, u8"n\u00edk" }, { CZG_SMASC, CZA_LONG, CZC_ANY, "burk" }, { CZG_SFEM, CZA_SHORT, CZC_ANY, "ka" }, { CZG_SFEM, CZA_MIDDLE, CZC_ANY, "inka" }, - { CZG_SFEM, CZA_MIDDLE, CZC_ANY, "n\xC3\xA1" }, + { CZG_SFEM, CZA_MIDDLE, CZC_ANY, u8"n\u00e1" }, { CZG_SFEM, CZA_LONG, CZC_ANY, "ava" }, - { CZG_PMASC, CZA_LONG, CZC_POSTFIX, "\xC3\xADky" }, + { CZG_PMASC, CZA_LONG, CZC_POSTFIX, u8"\u00edky" }, { CZG_PMASC, CZA_LONG, CZC_ANY, "upy" }, { CZG_PMASC, CZA_LONG, CZC_ANY, "olupy" }, { CZG_PFEM, CZA_LONG, CZC_ANY, "avy" }, { CZG_PFEM, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_ANY, "ice" }, - { CZG_PFEM, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_ANY, "i\xC4\x8Dky" }, + { CZG_PFEM, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_ANY, u8"i\u010dky" }, { CZG_PNEUT, CZA_SHORT | CZA_MIDDLE, CZC_ANY, "na" }, { CZG_SNEUT, CZA_SHORT | CZA_MIDDLE, CZC_ANY, "no" }, - { CZG_SNEUT, CZA_LONG, CZC_ANY, "i\xC5\xA1t\xC4\x9B" }, + { CZG_SNEUT, CZA_LONG, CZC_ANY, u8"i\u0161t\u011b" }, }; static const char * const _name_czech_suffix[] = { "nad Cidlinou", - "nad Dyj\xC3\xAD", + u8"nad Dyj\u00ed", "nad Jihlavou", "nad Labem", "nad Lesy", "nad Moravou", "nad Nisou", "nad Odrou", - "nad Ostravic\xC3\xAD", - "nad S\xC3\xA1zavou", + u8"nad Ostravic\u00ed", + u8"nad S\u00e1zavou", "nad Vltavou", - "pod Prad\xC4\x9B""dem", - "pod Radho\xC5\xA1t\xC4\x9Bm", - "pod \xC5\x98\xC3\xADpem", - "pod Sn\xC4\x9B\xC5\xBEkou", - "pod \xC5\xA0pi\xC4\x8D\xC3\xA1kem", + u8"pod Prad\u011bdem", + u8"pod Radho\u0161t\u011bm", + u8"pod \u0158\u00edpem", + u8"pod Sn\u011b\u017ekou", + u8"pod \u0160pi\u010d\u00e1kem", "pod Sedlem", - "v \xC4\x8C""ech\xC3\xA1""ch", - "na Morav\xC4\x9B", + u8"v \u010cech\u00e1ch", + u8"na Morav\u011b", }; @@ -1940,197 +1940,197 @@ static const char * const _name_romanian_real[] = { "Alba Iulia", "Alexandria", "Babadag", - "Bac\xC4\x83u", + u8"Bac\u0103u", "Baia Mare", - "B\xC4\x83ile Herculane", - "B\xC4\x83ilesti", - "B\xC3\xA2rlad", + u8"B\u0103ile Herculane", + u8"B\u0103ilesti", + u8"B\u00e2rlad", "Bicaz", - "Bistri\xC8\x9B""a", + u8"Bistri\u021ba", "Blaj", "Borsec", - "Boto\xC8\x99""ani", - "Br\xC4\x83ila", - "Bra\xC8\x9Bov", - "Bucure\xC8\x99ti", + u8"Boto\u0219ani", + u8"Br\u0103ila", + u8"Bra\u021bov", + u8"Bucure\u0219ti", "Buftea", - "Buz\xC4\x83u", - "C\xC4\x83l\xC4\x83rasi", - "Caransebe\xC8\x99", - "Cernavod\xC4\x83", + u8"Buz\u0103u", + u8"C\u0103l\u0103rasi", + u8"Caransebe\u0219", + u8"Cernavod\u0103", "Cluj-Napoca", - "Constan\xC8\x9B""a", + u8"Constan\u021ba", "Covasna", "Craiova", "Dej", "Deva", "Dorohoi", "Drobeta-Turnu Severin", - "Dr\xC4\x83g\xC4\x83sani", - "F\xC4\x83g\xC4\x83ras", - "F\xC4\x83lticeni", - "Fete\xC8\x99ti", - "Foc\xC8\x99""ani", - "Gala\xC8\x99i", + u8"Dr\u0103g\u0103sani", + u8"F\u0103g\u0103ras", + u8"F\u0103lticeni", + u8"Fete\u0219ti", + u8"Foc\u0219ani", + u8"Gala\u0219i", "Gheorgheni", "Giurgiu", - "H\xC3\xA2r\xC8\x99ova", + u8"H\u00e2r\u0219ova", "Hunedoara", - "Hu\xC8\x99i", - "Ia\xC8\x99i", + u8"Hu\u0219i", + u8"Ia\u0219i", "Isaccea", "Lugoj", - "M\xC4\x83""cin", + u8"M\u0103cin", "Mangalia", "Medgidia", - "Media\xC8\x99", + u8"Media\u0219", "Miercurea Ciuc", "Mizil", "Motru", - "N\xC4\x83s\xC4\x83ud", - "N\xC4\x83vodari", - "Odobe\xC8\x99ti", - "Olteni\xC8\x9B""a", - "One\xC8\x99ti", + u8"N\u0103s\u0103ud", + u8"N\u0103vodari", + u8"Odobe\u0219ti", + u8"Olteni\u021ba", + u8"One\u0219ti", "Oradea", - "Or\xC8\x99ova", - "Petro\xC8\x99""ani", - "Piatra Neam\xC8\x9B", - "Pite\xC8\x99ti", - "Ploie\xC8\x99ti", + u8"Or\u0219ova", + u8"Petro\u0219ani", + u8"Piatra Neam\u021b", + u8"Pite\u0219ti", + u8"Ploie\u0219ti", "Predeal", - "R\xC3\xA2mnicu V\xC3\xA2lcea", + u8"R\u00e2mnicu V\u00e2lcea", "Reghin", - "Re\xC8\x99i\xC8\x9B""a", + u8"Re\u0219i\u021ba", "Roman", - "Ro\xC8\x99iorii de Vede", + u8"Ro\u0219iorii de Vede", "Satu Mare", - "Sebe\xC8\x99", - "Sf\xC3\xA2ntu Gheorghe", + u8"Sebe\u0219", + u8"Sf\u00e2ntu Gheorghe", "Sibiu", - "Sighi\xC8\x99oara", + u8"Sighi\u0219oara", "Sinaia", "Slatina", "Slobozia", "Sovata", "Suceava", "Sulina", - "T\xC4\x83nd\xC4\x83rei", - "T\xC3\xA2rgoviste", - "T\xC3\xA2rgu Jiu", - "T\xC3\xA2rgu Mures", + u8"T\u0103nd\u0103rei", + u8"T\u00e2rgoviste", + u8"T\u00e2rgu Jiu", + u8"T\u00e2rgu Mures", "Tecuci", - "Timi\xC8\x99oara", + u8"Timi\u0219oara", "Tulcea", "Turda", - "Turnu M\xC4\x83gurele", + u8"Turnu M\u0103gurele", "Urziceni", "Vaslui", "Vatra Dornei", "Victoria", "Videle", - "Zal\xC4\x83u", + u8"Zal\u0103u", }; static const char * const _name_slovak_real[] = { "Bratislava", - "B\xC3\xA1novce nad Bebravou", - "Bansk\xC3\xA1 Bystrica", - "Bansk\xC3\xA1 \xC5\xA0tiavnica", + u8"B\u00e1novce nad Bebravou", + u8"Bansk\u00e1 Bystrica", + u8"Bansk\u00e1 \u0160tiavnica", "Bardejov", "Brezno", "Brezova pod Bradlom", - "Byt\xC4\x8D""a", - "\xC4\x8C""adca", - "\xC4\x8Cierna nad Tisou", + u8"Byt\u010da", + u8"\u010cadca", + u8"\u010cierna nad Tisou", "Detva", - "Pre\xC5\xA1ov", + u8"Pre\u0161ov", "Dolny Kubin", - "Spi\xC5\xA1sk\xC3\xA1 Nov\xC3\xA1 Ves", - "Dunajsk\xC3\xA1 Streda", - "Gab\xC4\x8D\xC3\xADikovo", + u8"Spi\u0161sk\u00e1 Nov\u00e1 Ves", + u8"Dunajsk\u00e1 Streda", + u8"Gab\u010d\u00edikovo", "Galanta", "Gbely", "Gelnica", - "Handlov\xC3\xA1", + u8"Handlov\u00e1", "Hlohovec", - "Hol\xC3\xAD\xC4\x8D", - "Humenn\xC3\xA9", + u8"Hol\u00ed\u010d", + u8"Humenn\u00e9", "Hurbanovo", "Kezmarok", - "Kom\xC3\xA1rno", - "Ko\xC5\xA1ice", + u8"Kom\u00e1rno", + u8"Ko\u0161ice", "Kremnica", "Krompachy", "Kuty", "Leopoldov", - "Levo\xC4\x8D""a", - "Liptovsk\xC3\xBD Mikul\xC3\xA1\xC5\xA1", - "Lu\xC4\x8D""enec", + u8"Levo\u010da", + u8"Liptovsk\u00fd Mikul\u00e1\u0161", + u8"Lu\u010denec", "Malacky", "Martin", "Medzilaborce", "Michalovce", "Modra", "Myjava", - "N\xC3\xA1mestovo", + u8"N\u00e1mestovo", "Nitra", - "Nov\xC3\xA1 Ba\xC5\x88""a", - "Nov\xC3\xA9"" Mesto nad V\xC3\xA1hom", - "Nov\xC3\xA9"" Z\xC3\xA1""mky", - "Partiz\xC3\xA1nske", + u8"Nov\u00e1 Ba\u0148a", + u8"Nov\u00e9 Mesto nad V\u00e1hom", + u8"Nov\u00e9 Z\u00e1mky", + u8"Partiz\u00e1nske", "Pezinok", - "Pie\xC5\xA1\xC5\xA5""any", - "Polt\xC3\xA1r", + u8"Pie\u0161\u0165any", + u8"Polt\u00e1r", "Poprad", - "Pova\xC5\xBEsk\xC3\xA1 Bystrica", + u8"Pova\u017esk\u00e1 Bystrica", "Prievidza", - "P\xC3\xBA""chov", - "Rev\xC3\xBA""ca", - "Rimavsk\xC3\xA1 Sobota", - "Ro\xC5\xBE\xC5\x88""ava", - "Ru\xC5\xBEomberok", + u8"P\u00fachov", + u8"Rev\u00faca", + u8"Rimavsk\u00e1 Sobota", + u8"Ro\u017e\u0148ava", + u8"Ru\u017eomberok", "Sabinov", - "\xC5\xA0""a\xC4\xBE""a", + u8"\u0160a\u013ea", "Senec", "Senica", - "Sere\xC4\x8F", + u8"Sere\u010f", "Skalica", - "Sl\xC3\xA1""dkovi\xC3\x8Dovo", + u8"Sl\u00e1dkovi\u00cdovo", "Smolenice", "Snina", - "Star\xC3\xA1 \xC4\xBDubov\xC5\x88""a", - "Star\xC3\xA1 Tur\xC3\xA1", - "Str\xC3\xA1\xC5\xBEske", + u8"Star\u00e1 \u013dubov\u0148a", + u8"Star\u00e1 Tur\u00e1", + u8"Str\u00e1\u017eske", "Stropkov", "Stupava", - "\xC5\xA0t\xC3\xBArovo", - "\xC4\xA0ulekovo", - "Topo\xC4\xBE\xC4\x8D""any", - "Trebi\xC5\xA1ov", - "Tren\xC4\x8D\xC3\xADn", + u8"\u0160t\u00farovo", + u8"\u0120ulekovo", + u8"Topo\u013e\u010dany", + u8"Trebi\u0161ov", + u8"Tren\u010d\u00edn", "Trnava", - "Tur\xC4\x8Dianske Teplice", - "Tvrdo\xC5\xA1\xC3\xADn", - "Vr\xC3\xA1""ble", - "Vranov nad Top\xC4\xBEou", - "Z\xC3\xA1horsk\xC3\xA1 Bystrica", - "\xC5\xBD""diar", - "\xC4\xBDiar nad Hronom", - "\xC5\xBDilina", - "Zlat\xC3\xA9 Moravce", + u8"Tur\u010dianske Teplice", + u8"Tvrdo\u0161\u00edn", + u8"Vr\u00e1ble", + u8"Vranov nad Top\u013eou", + u8"Z\u00e1horsk\u00e1 Bystrica", + u8"\u017ddiar", + u8"\u013diar nad Hronom", + u8"\u017dilina", + u8"Zlat\u00e9 Moravce", "Zvolen", }; static const char * const _name_norwegian_1[] = { "Arna", "Aust", - "Bj\xC3\xB8rk", - "Bj\xC3\xB8rn", + u8"Bj\u00f8rk", + u8"Bj\u00f8rn", "Brand", - "B\xC3\xB8ver", + u8"B\u00f8ver", "Drag", - "Dr\xC3\xB8", + u8"Dr\u00f8", "Eids", "Egge", "Fager", @@ -2143,12 +2143,12 @@ static const char * const _name_norwegian_1[] = { "Gaus", "Galte", "Geir", - "Gl\xC3\xB8s", + u8"Gl\u00f8s", "Gran", "Grind", "Grims", - "Gr\xC3\xB8n", - "Gr\xC3\xB8t", + u8"Gr\u00f8n", + u8"Gr\u00f8t", "Gulle", "Haka", "Hammer", @@ -2163,7 +2163,7 @@ static const char * const _name_norwegian_1[] = { "Kjerring", "Knatte", "Krok", - "K\xC3\xB8y", + u8"K\u00f8y", "Lang", "Lauv", "Leir", @@ -2171,7 +2171,7 @@ static const char * const _name_norwegian_1[] = { "Logn", "Lo", "Lyng", - "L\xC3\xB8n", + u8"L\u00f8n", "Mesna", "Mel", "Mo", @@ -2191,9 +2191,9 @@ static const char * const _name_norwegian_1[] = { "Sel", "Sol", "Sjur", - "Sk\xC3\xA5r", - "Sl\xC3\xA5tt", - "Stj\xC3\xB8r", + u8"Sk\u00e5r", + u8"Sl\u00e5tt", + u8"Stj\u00f8r", "Stor", "Svart", "Svens", @@ -2206,7 +2206,7 @@ static const char * const _name_norwegian_1[] = { "Vest", "Vesle", "Vik", - "V\xC3\xA5g", + u8"V\u00e5g", }; static const char * const _name_norwegian_2[] = { @@ -2221,7 +2221,7 @@ static const char * const _name_norwegian_2[] = { "bugen", "by", "bygd", - "b\xC3\xB8", + u8"b\u00f8", "dal", "egga", "eid", @@ -2239,10 +2239,10 @@ static const char * const _name_norwegian_2[] = { "heim", "hella", "hovda", - "h\xC3\xB8""a", - "h\xC3\xB8gda", + u8"h\u00f8a", + u8"h\u00f8gda", "kampen", - "kj\xC3\xB8len", + u8"kj\u00f8len", "kollen", "kroken", "land", @@ -2257,7 +2257,7 @@ static const char * const _name_norwegian_2[] = { "rud", "sand", "set", - "sj\xC3\xB8""en", + u8"sj\u00f8en", "skogen", "slette", "snipa", @@ -2266,7 +2266,7 @@ static const char * const _name_norwegian_2[] = { "stulen", "sund", "svingen", - "s\xC3\xA6tra", + u8"s\u00e6tra", "tinden", "tun", "vang", @@ -2274,9 +2274,9 @@ static const char * const _name_norwegian_2[] = { "veid", "vik", "voll", - "v\xC3\xA5g", + u8"v\u00e5g", "um", - "\xC3\xA5sen", + u8"\u00e5sen", }; static const char * const _name_norwegian_real[] = { @@ -2284,12 +2284,12 @@ static const char * const _name_norwegian_real[] = { "Arendal", "Askim", "Bergen", - "Bod\xC3\xB8", + u8"Bod\u00f8", "Brevik", "Bryne", - "Br\xC3\xB8nn\xC3\xB8ysund", + u8"Br\u00f8nn\u00f8ysund", "Drammen", - "Dr\xC3\xB8""bak", + u8"Dr\u00f8bak", "Egersund", "Elverum", "Farsund", @@ -2297,10 +2297,10 @@ static const char * const _name_norwegian_real[] = { "Finnsnes", "Flekkefjord", "Flora", - "Fosnav\xC3\xA5g", + u8"Fosnav\u00e5g", "Fredrikstad", - "F\xC3\xB8rde", - "Gj\xC3\xB8vik", + u8"F\u00f8rde", + u8"Gj\u00f8vik", "Grimstad", "Halden", "Hamar", @@ -2309,13 +2309,13 @@ static const char * const _name_norwegian_real[] = { "Haugesund", "Holmestrand", "Horten", - "J\xC3\xB8rpeland", + u8"J\u00f8rpeland", "Kirkenes", "Kolvereid", "Kongsberg", "Kongsvinger", "Kopervik", - "Krager\xC3\xB8", + u8"Krager\u00f8", "Kristiansand", "Kristiansund", "Langesund", @@ -2325,16 +2325,16 @@ static const char * const _name_norwegian_real[] = { "Levanger", "Lillehammer", "Lillesand", - "Lillestr\xC3\xB8m", + u8"Lillestr\u00f8m", "Lyngdal", - "L\xC3\xB8renskog", + u8"L\u00f8renskog", "Mandal", "Mo i Rana", "Molde", - "Mosj\xC3\xB8""en", + u8"Mosj\u00f8en", "Moss", "Mysen", - "M\xC3\xA5l\xC3\xB8y", + u8"M\u00e5l\u00f8y", "Namsos", "Narvik", "Notodden", @@ -2343,11 +2343,11 @@ static const char * const _name_norwegian_real[] = { "Otta", "Porsgrunn", "Ringerike", - "Ris\xC3\xB8r", + u8"Ris\u00f8r", "Rjukan", "Sandefjord", "Sandnes", - "Sandnessj\xC3\xB8""en", + u8"Sandnessj\u00f8en", "Sandvika", "Sarpsborg", "Sauda", @@ -2358,152 +2358,152 @@ static const char * const _name_norwegian_real[] = { "Stathelle", "Stavanger", "Steinkjer", - "Stj\xC3\xB8rdal", + u8"Stj\u00f8rdal", "Stokmarknes", "Stord", "Svelvik", - "Svolv\xC3\xA6r", - "Troms\xC3\xB8", + u8"Svolv\u00e6r", + u8"Troms\u00f8", "Trondheim", "Tvedestrand", - "T\xC3\xB8nsberg", + u8"T\u00f8nsberg", "Ulsteinvik", - "Vads\xC3\xB8", - "Vard\xC3\xB8", - "Verdals\xC3\xB8ra", - "\xC3\x85krehamn", - "\xC3\x85lesund", - "\xC3\x85ndalsnes", + u8"Vads\u00f8", + u8"Vard\u00f8", + u8"Verdals\u00f8ra", + u8"\u00c5krehamn", + u8"\u00c5lesund", + u8"\u00c5ndalsnes", }; static const char * const _name_hungarian_1[] = { "Nagy-", "Kis-", - "Fels\xC5\x91-", - "Als\xC3\xB3-", - "\xC3\x9Aj-", + u8"Fels\u0151-", + u8"Als\u00f3-", + u8"\u00daj-", }; static const char * const _name_hungarian_2[] = { "Bodrog", - "Dr\xC3\xA1va", + u8"Dr\u00e1va", "Duna", - "Hej\xC5\x91", - "Hern\xC3\xA1""d", - "R\xC3\xA1""ba", - "Saj\xC3\xB3", + u8"Hej\u0151", + u8"Hern\u00e1d", + u8"R\u00e1ba", + u8"Saj\u00f3", "Szamos", "Tisza", "Zala", "Balaton", - "Fert\xC5\x91", + u8"Fert\u0151", "Bakony", - "Cserh\xC3\xA1t", + u8"Cserh\u00e1t", "Bihar", - "Hajd\xC3\xBA", - "J\xC3\xA1sz", + u8"Hajd\u00fa", + u8"J\u00e1sz", "Kun", "Magyar", - "N\xC3\xB3gr\xC3\xA1""d", - "Ny\xC3\xADr", + u8"N\u00f3gr\u00e1d", + u8"Ny\u00edr", "Somogy", - "Sz\xC3\xA9kely", + u8"Sz\u00e9kely", "Buda", - "Gy\xC5\x91r", + u8"Gy\u0151r", "Pest", - "Feh\xC3\xA9r", - "Cser\xC3\xA9p", - "Erd\xC5\x91", + u8"Feh\u00e9r", + u8"Cser\u00e9p", + u8"Erd\u0151", "Hegy", "Homok", - "Mez\xC5\x91", + u8"Mez\u0151", "Puszta", - "S\xC3\xA1r", - "Cs\xC3\xA1sz\xC3\xA1r", + u8"S\u00e1r", + u8"Cs\u00e1sz\u00e1r", "Herceg", - "Kir\xC3\xA1ly", + u8"Kir\u00e1ly", "Nemes", - "P\xC3\xBCsp\xC3\xB6k", + u8"P\u00fcsp\u00f6k", "Szent", - "Alm\xC3\xA1s", - "Szilv\xC3\xA1s", + u8"Alm\u00e1s", + u8"Szilv\u00e1s", "Agg", "Aranyos", - "B\xC3\xA9k\xC3\xA9s", - "Egyh\xC3\xA1zas", + u8"B\u00e9k\u00e9s", + u8"Egyh\u00e1zas", "Gagy", "Heves", "Kapos", - "T\xC3\xA1pi\xC3\xB3", + u8"T\u00e1pi\u00f3", "Torna", "Vas", - "V\xC3\xA1mos", - "V\xC3\xA1s\xC3\xA1ros", + u8"V\u00e1mos", + u8"V\u00e1s\u00e1ros", }; static const char * const _name_hungarian_3[] = { - "ap\xC3\xA1ti", - "b\xC3\xA1""ba", + u8"ap\u00e1ti", + u8"b\u00e1ba", "bikk", "dob", "fa", - "f\xC3\xB6ld", + u8"f\u00f6ld", "hegyes", "kak", "kereszt", - "k\xC3\xBCrt", - "lad\xC3\xA1ny", - "m\xC3\xA9rges", + u8"k\u00fcrt", + u8"lad\u00e1ny", + u8"m\u00e9rges", "szalonta", "telek", "vas", - "v\xC3\xB6lgy", + u8"v\u00f6lgy", }; static const char * const _name_hungarian_4[] = { "alja", - "egyh\xC3\xA1za", - "h\xC3\xA1za", - "\xC3\xBAr", - "v\xC3\xA1r", + u8"egyh\u00e1za", + u8"h\u00e1za", + u8"\u00far", + u8"v\u00e1r", }; static const char * const _name_hungarian_real[] = { "Ajka", - "Asz\xC3\xB3""d", + u8"Asz\u00f3d", "Badacsony", "Baja", "Budapest", "Debrecen", "Eger", - "Fony\xC3\xB3""d", - "G\xC3\xB6""d\xC3\xB6ll\xC5\x91", - "Gy\xC5\x91r", + u8"Fony\u00f3d", + u8"G\u00f6d\u00f6ll\u0151", + u8"Gy\u0151r", "Gyula", "Karcag", - "Kecskem\xC3\xA9t", + u8"Kecskem\u00e9t", "Keszthely", - "Kisk\xC3\xB6re", + u8"Kisk\u00f6re", "Kocsord", - "Kom\xC3\xA1rom", - "K\xC5\x91szeg", - "Mak\xC3\xB3", - "Moh\xC3\xA1""cs", + u8"Kom\u00e1rom", + u8"K\u0151szeg", + u8"Mak\u00f3", + u8"Moh\u00e1cs", "Miskolc", - "\xC3\x93zd", + u8"\u00d3zd", "Paks", - "P\xC3\xA1pa", - "P\xC3\xA9""cs", - "Polg\xC3\xA1r", + u8"P\u00e1pa", + u8"P\u00e9cs", + u8"Polg\u00e1r", "Sarkad", - "Si\xC3\xB3""fok", + u8"Si\u00f3fok", "Szeged", "Szentes", "Szolnok", "Tihany", "Tokaj", - "V\xC3\xA1""c", - "Z\xC3\xA1hony", + u8"V\u00e1c", + u8"Z\u00e1hony", "Zirc", }; @@ -2514,7 +2514,7 @@ static const char * const _name_swiss_real[] = { "Arosa", "Appenzell", "Arbon", - "Altst\xC3\xA4tten", + u8"Altst\u00e4tten", "Baar", "Baden", "Bellinzona", @@ -2525,20 +2525,20 @@ static const char * const _name_swiss_real[] = { "Burgdorf", "Bern", "Basel", - "B\xC3\xBClach", + u8"B\u00fclach", "Carouge", "Cham", "Chiasso", "Chur", "Davos", - "Del\xC3\xA9mont", + u8"Del\u00e9mont", "Dietikon", - "D\xC3\xBC""bendorf", + u8"D\u00fcbendorf", "Emmen", - "Freienbach-Pf\xC3\xA4""ffikon", + u8"Freienbach-Pf\u00e4ffikon", "Fribourg", "Frauenfeld", - "Gen\xC3\xA8ve", + u8"Gen\u00e8ve", "Glarus", "Gossau", "Grenchen", @@ -2550,9 +2550,9 @@ static const char * const _name_swiss_real[] = { "Jona", "Kriens", "Kloten", - "K\xC3\xB6niz", + u8"K\u00f6niz", "Kreuzlingen", - "K\xC3\xBCsnacht", + u8"K\u00fcsnacht", "Agen", "Lancy", "La Chaux-de-Fonds", @@ -2569,7 +2569,7 @@ static const char * const _name_swiss_real[] = { "Lyss", "Luzern", "Martigny", - "M\xC3\xBCnchenstein", + u8"M\u00fcnchenstein", "Meyrin", "Montreux", "Monthey", @@ -2577,7 +2577,7 @@ static const char * const _name_swiss_real[] = { "Murten", "Moutier", "Muttenz", - "Neuch\xC3\xA2tel", + u8"Neuch\u00e2tel", "Neuhausen am Rheinfall", "Nyon", "Olten", @@ -2606,11 +2606,11 @@ static const char * const _name_swiss_real[] = { "St. Moritz", "Sion", "Spiez", - "St\xC3\xA4""fa", + u8"St\u00e4fa", "Sursee", "Schwyz", "Thalwil", - "Th\xC3\xB4nex", + u8"Th\u00f4nex", "Thun", "Uster", "Uzwil", @@ -2618,7 +2618,7 @@ static const char * const _name_swiss_real[] = { "Volketswil", "Versoix", "Vevey", - "W\xC3\xA4""denswil", + u8"W\u00e4denswil", "Wettingen", "Wil", "Wallisellen", @@ -2629,7 +2629,7 @@ static const char * const _name_swiss_real[] = { "Yverdon-les-Bains", "Zollikon", "Zofingen", - "Z\xC3\xBCrich", + u8"Z\u00fcrich", "Zug", }; @@ -2639,12 +2639,12 @@ static const char * const _name_danish_1[] = { "Nye ", "Store ", "Kirke ", - "N\xC3\xB8rre ", + u8"N\u00f8rre ", "Vester ", - "S\xC3\xB8nder ", - "\xC3\x98ster ", + u8"S\u00f8nder ", + u8"\u00d8ster ", "Hvide ", - "H\xC3\xB8je ", + u8"H\u00f8je ", "Kongens ", }; @@ -2656,7 +2656,7 @@ static const char * const _name_danish_2[] = { "Bede", "Birke", "Bjerring", - "Bj\xC3\xA6ver", + u8"Bj\u00e6ver", "Blommens", "Blok", "Bolder", @@ -2669,7 +2669,7 @@ static const char * const _name_danish_2[] = { "Fredens", "Frederiks", "Fugle", - "F\xC3\xA5re", + u8"F\u00e5re", "Gille", "Gis", "Givs", @@ -2686,11 +2686,11 @@ static const char * const _name_danish_2[] = { "Hol", "Horn", "Humle", - "H\xC3\xB8j", - "H\xC3\xB8r", + u8"H\u00f8j", + u8"H\u00f8r", "Is", "Jyde", - "J\xC3\xA6gers", + u8"J\u00e6gers", "Karls", "Klov", "Kokke", @@ -2702,24 +2702,24 @@ static const char * const _name_danish_2[] = { "Ny", "Oks", "Ring", - "R\xC3\xB8""de", + u8"R\u00f8de", "Rung", - "R\xC3\xB8r", + u8"R\u00f8r", "Rud", "Saks", "Salt", "Skam", "Silke", "Skod", - "Sk\xC3\xA6l", - "Sk\xC3\xA6r", + u8"Sk\u00e6l", + u8"Sk\u00e6r", "Sol", "Svend", "Svine", "Strand", "Stubbe", "Ting", - "Tj\xC3\xA6re", + u8"Tj\u00e6re", "Tore", "Uger", "Ulf", @@ -2727,9 +2727,9 @@ static const char * const _name_danish_2[] = { "Vand", "Vej", "Vor", - "V\xC3\xA6r", - "\xC3\x98r", - "\xC3\x85l", + u8"V\u00e6r", + u8"\u00d8r", + u8"\u00c5l", }; static const char * const _name_danish_3[] = { @@ -2742,21 +2742,21 @@ static const char * const _name_danish_3[] = { "strup", "holm", "hus", - "k\xC3\xB8""bing", + u8"k\u00f8bing", "lund", "lunde", "sund", "ovre", - "h\xC3\xB8j", + u8"h\u00f8j", "dal", "sted", "sten", - "l\xC3\xB8se", - "r\xC3\xB8""d", + u8"l\u00f8se", + u8"r\u00f8d", "magle", - "s\xC3\xB8", + u8"s\u00f8", "bjerg", - "b\xC3\xA6k", + u8"b\u00e6k", "drup", "lev", "bo", @@ -2766,32 +2766,32 @@ static const char * const _name_danish_3[] = { }; static const char * const _name_turkish_prefix[] = { - "Ak\xC3\xA7""a", - "Alt\xC4\xB1n", - "Bah\xC3\xA7""e", + u8"Ak\u00e7a", + u8"Alt\u0131n", + u8"Bah\u00e7e", "Boz", - "B\xC3\xBCy\xC3\xBCk", - "\xC3\x87""ay", - "Do\xC4\x9Fu", + u8"B\u00fcy\u00fck", + u8"\u00c7ay", + u8"Do\u011fu", "Eski", - "G\xC3\xBCzel", - "K\xC4\xB1z\xC4\xB1l", - "K\xC3\xBC\xC3\xA7\xC3\xBCk", + u8"G\u00fczel", + u8"K\u0131z\u0131l", + u8"K\u00fc\u00e7\u00fck", "Orta", - "Sar\xC4\xB1", + u8"Sar\u0131", "Sultan", "Ulu", "Yeni", }; static const char * const _name_turkish_middle[] = { - "aga\xC3\xA7", + u8"aga\u00e7", "ayva", - "\xC3\xA7""am", + u8"\u00e7am", "elma", "kurt", "pazar", - "yal\xC4\xB1", + u8"yal\u0131", }; static const char * const _name_turkish_suffix[] = { @@ -2800,10 +2800,10 @@ static const char * const _name_turkish_suffix[] = { "kale", "kaya", "kent", - "k\xC3\xB6y", + u8"k\u00f6y", "ova", - "\xC3\xB6z\xC3\xBC", - "\xC3\xB6ren", + u8"\u00f6z\u00fc", + u8"\u00f6ren", "pazar", "saray", "tepe", @@ -2813,48 +2813,48 @@ static const char * const _name_turkish_suffix[] = { static const char * const _name_turkish_real[] = { "Adana", - "Ad\xC4\xB1yaman", + u8"Ad\u0131yaman", "Afyon", - "A\xC4\x9Fr\xC4\xB1", + u8"A\u011fr\u0131", "Amasya", "Antalya", "Artvin", - "Bal\xC4\xB1kesir", + u8"Bal\u0131kesir", "Bilecik", "Bitlis", "Bolu", "Burdur", "Bursa", - "\xC3\x87""anakkale", - "\xC3\x87""ank\xC4\xB1r\xC4\xB1", + u8"\u00c7anakkale", + u8"\u00c7ank\u0131r\u0131", "Denizli", - "Diyarbak\xC4\xB1r", + u8"Diyarbak\u0131r", "Edirne", - "Elaz\xC4\xB1\xC4\x9F", + u8"Elaz\u0131\u011f", "Erzurum", - "Eski\xC5\x9F""ehir", + u8"Eski\u015fehir", "Giresun", - "G\xC3\xBCm\xC3\xBC\xC5\x9Fhane", + u8"G\u00fcm\u00fc\u015fhane", "Hatay", "Isparta", - "\xC4\xB0\xC3\xA7""el", - "\xC4\xB0stanbul", - "\xC4\xB0zmir", + u8"\u0130\u00e7el", + u8"\u0130stanbul", + u8"\u0130zmir", "Kars", "Kastamonu", "Kayseri", "Kirklareli", "Kocaeli", "Konya", - "K\xC3\xBCtahya", + u8"K\u00fctahya", "Malatya", "Manisa", - "Kahramanmara\xC5\x9F", + u8"Kahramanmara\u015f", "Mardin", - "Mu\xC4\x9Fla", - "Mu\xC5\x9F", - "Nev\xC5\x9F""ehir", - "Ni\xC4\x9F""de", + u8"Mu\u011fla", + u8"Mu\u015f", + u8"Nev\u015fehir", + u8"Ni\u011fde", "Rize", "Sakarya", "Samsun", @@ -2862,21 +2862,21 @@ static const char * const _name_turkish_real[] = { "Sinop", "Sivas", "Trabzon", - "\xC5\x9E""anl\xC4\xB1urfa", + u8"\u015eanl\u0131urfa", "Van", "Yozgat", "Zonguldak", "Aksaray", "Bayburt", "Karaman", - "\xC5\x9E\xC4\xB1rnak", - "Bart\xC4\xB1n", + u8"\u015e\u0131rnak", + u8"Bart\u0131n", "Ardahan", - "I\xC4\x9F""d\xC4\xB1r", + u8"I\u011fd\u0131r", "Yalova", - "Karab\xC3\xBCk", + u8"Karab\u00fck", "Osmaniye", - "D\xC3\xBCzce", + u8"D\u00fczce", }; static const char * const _name_italian_real[] = { @@ -3168,7 +3168,7 @@ static const char * const _name_catalan_real[] = { "Banyoles", "Figueres", "Balaguer", - "Vilafranca del Pened\xC3\xA8s", + u8"Vilafranca del Pened\u00e8s", "La Seu d'Urgell", "El Pont de Suert", "Igualada", @@ -3184,21 +3184,21 @@ static const char * const _name_catalan_real[] = { "Ripoll", "Cervera", "Gandesa", - "Matar\xC3\xB3", + u8"Matar\u00f3", "Montblanc", - "Vilanova i la Geltr\xC3\xBA", - "T\xC3\xA0rrega", + u8"Vilanova i la Geltr\u00fa", + u8"T\u00e0rrega", "Camprodon", - "Campdev\xC3\xA0nol", + u8"Campdev\u00e0nol", "Cambrils", "Begur", "Setcases", "Palafrugell", "Begues", "El Bruc", - "Cadaqu\xC3\xA9s", - "Collbat\xC3\xB3", - "Cervell\xC3\xB3", + u8"Cadaqu\u00e9s", + u8"Collbat\u00f3", + u8"Cervell\u00f3", "Esparreguera", "Abrera", "Alp", @@ -3209,7 +3209,7 @@ static const char * const _name_catalan_real[] = { "Molins de Rei", "Monistrol", "Rocallaura", - "Rub\xC3\xAD", + u8"Rub\u00ed", "Ripollet", "Sitges", "Roses", @@ -3239,14 +3239,14 @@ static const char * const _name_catalan_pref[] = { "Sant Joan de ", "Sant Feliu de ", "Sant Quirze de ", - "Sant Sadurn\xC3\xAD de ", + u8"Sant Sadurn\u00ed de ", "Santa Coloma de ", "Santa Margarida de ", "Santa Maria de ", - "Sant Mart\xC3\xAD de ", + u8"Sant Mart\u00ed de ", "Sant Pere de ", - "Sant Juli\xC3\xA0 de ", - "Sant Vicen\xC3\xA7 de ", + u8"Sant Juli\u00e0 de ", + u8"Sant Vicen\u00e7 de ", }; @@ -3275,10 +3275,10 @@ static const char * const _name_catalan_2m[] = { "baix", "fosc", "pelat", - "vent\xC3\xB3s", + u8"vent\u00f3s", "negre", "roig", - "gr\xC3\xADs", + u8"gr\u00eds", }; static const char * const _name_catalan_2f[] = { @@ -3293,14 +3293,14 @@ static const char * const _name_catalan_2f[] = { }; static const char * const _name_catalan_3[] = { - " Desp\xC3\xAD", + u8" Desp\u00ed", " Desvern", - " del Cam\xC3\xAD", + u8" del Cam\u00ed", " de Mar", " de Dalt", " de Baix", - " del Vall\xC3\xA8s", - " de Bergued\xC3\xA0", + u8" del Vall\u00e8s", + u8" de Bergued\u00e0", " de Conflent", " de la Plana", }; @@ -3311,5 +3311,5 @@ static const char * const _name_catalan_river1[] = { " de Llobregat", " d'Ebre", " de Segre", - " de Francol\xC3\xAD", + u8" de Francol\u00ed", }; diff --git a/src/textfile_gui.cpp b/src/textfile_gui.cpp index e44d9178d9..3519c27508 100644 --- a/src/textfile_gui.cpp +++ b/src/textfile_gui.cpp @@ -359,7 +359,7 @@ static void Xunzip(byte **bufp, size_t *sizep) } /* Check for the byte-order-mark, and skip it if needed. */ - char *p = this->text + (strncmp("\xEF\xBB\xBF", this->text, 3) == 0 ? 3 : 0); + char *p = this->text + (strncmp(u8"\ufeff", this->text, 3) == 0 ? 3 : 0); /* Make sure the string is a valid UTF-8 sequence. */ str_validate(p, this->text + filesize, SVS_REPLACE_WITH_QUESTION_MARK | SVS_ALLOW_NEWLINE); diff --git a/src/townname.cpp b/src/townname.cpp index 77dfb448b2..e7999f9a53 100644 --- a/src/townname.cpp +++ b/src/townname.cpp @@ -505,7 +505,7 @@ static char *MakeFinnishTownName(char *buf, const char *last, uint32 seed) strstr(orig, "A") != nullptr || strstr(orig, "O") != nullptr || strstr(orig, "U") != nullptr) { buf = strecpy(buf, "la", last); } else { - buf = strecpy(buf, "l\xC3\xA4", last); + buf = strecpy(buf, u8"l\u00e4", last); } return buf; }