From 1a4f1c8177f7ee351cb0096e3456d055b97dc60a Mon Sep 17 00:00:00 2001 From: peter1138 Date: Thu, 16 Nov 2006 22:05:33 +0000 Subject: (svn r7182) -Feature: Merge utf8 branch. This brings us support for Unicode/UTF-8 and the option for fonts rendered by FreeType. Language changes to come. --- table/control_codes.h | 105 ++++++++ table/namegen.h | 688 +++++++++++++++++++++++++------------------------- table/unicode.h | 21 ++ 3 files changed, 470 insertions(+), 344 deletions(-) create mode 100644 table/control_codes.h create mode 100644 table/unicode.h (limited to 'table') diff --git a/table/control_codes.h b/table/control_codes.h new file mode 100644 index 000000000..a1ff42a89 --- /dev/null +++ b/table/control_codes.h @@ -0,0 +1,105 @@ +/* $Id$ */ + +#ifndef CONTROL_CODES_H +#define CONTROL_CODES_H + +/* List of string control codes used for string formatting, displaying, and + * by strgen to generate the language files. */ + +enum { + SCC_CONTROL_START = 0xE000, + SCC_CONTROL_END = 0xE1FF, + + SCC_SPRITE_START = 0xE200, + SCC_SPRITE_END = SCC_SPRITE_START + 0xFF, + + /* Display control codes */ + SCC_SETX = SCC_CONTROL_START, + SCC_SETXY, + SCC_TINYFONT, + SCC_BIGFONT, + + /* Formatting control codes */ + SCC_REVISION, + SCC_STATION_FEATURES, + SCC_INDUSTRY_NAME, + SCC_WAYPOINT_NAME, + SCC_STATION_NAME, + SCC_TOWN_NAME, + + SCC_CURRENCY_COMPACT, + SCC_CURRENCY_COMPACT_64, + SCC_CURRENCY, + SCC_CURRENCY_64, + + SCC_CARGO, + SCC_CARGO_SHORT, + SCC_POWER, + SCC_VOLUME, + SCC_VOLUME_SHORT, + SCC_WEIGHT, + SCC_WEIGHT_SHORT, + SCC_FORCE, + SCC_VELOCITY, + + SCC_DATE_TINY, + SCC_DATE_SHORT, + SCC_DATE_LONG, + + SCC_STRING1, + SCC_STRING2, + SCC_STRING3, + SCC_STRING4, + SCC_STRING5, + + SCC_SKIP, + SCC_STRING, + SCC_COMMA, + SCC_NUM, + + SCC_STRING_ID, + SCC_PLURAL_LIST, + SCC_GENDER_LIST, + SCC_GENDER_INDEX, + SCC_ARG_INDEX, + SCC_SETCASE, + SCC_SWITCH_CASE, + + /* Colour codes */ + SCC_BLUE, + SCC_SILVER, + SCC_GOLD, + SCC_RED, + SCC_PURPLE, + SCC_LTBROWN, + SCC_ORANGE, + SCC_GREEN, + SCC_YELLOW, + SCC_DKGREEN, + SCC_CREAM, + SCC_BROWN, + SCC_WHITE, + SCC_LTBLUE, + SCC_GRAY, + SCC_DKBLUE, + SCC_BLACK, + + /* Special printable symbols. + * These are mapped to the original glyphs */ + SCC_LESSTHAN = SCC_SPRITE_START + 0x3C, + SCC_GREATERTHAN = SCC_SPRITE_START + 0x3E, + SCC_UPARROW = SCC_SPRITE_START + 0x80, + SCC_SMALLUPARROW = SCC_SPRITE_START + 0x90, + SCC_SMALLDOWNARROW = SCC_SPRITE_START + 0x91, + SCC_TRAIN = SCC_SPRITE_START + 0x94, + SCC_LORRY = SCC_SPRITE_START + 0x95, + SCC_BUS = SCC_SPRITE_START + 0x96, + SCC_PLANE = SCC_SPRITE_START + 0x97, + SCC_SHIP = SCC_SPRITE_START + 0x98, + SCC_DOWNARROW = SCC_SPRITE_START + 0xAA, + SCC_CHECKMARK = SCC_SPRITE_START + 0xAC, + SCC_CROSS = SCC_SPRITE_START + 0xAD, + SCC_RIGHTARROW = SCC_SPRITE_START + 0xAF, +}; + +#endif /* CONTROL_CODES_H */ diff --git a/table/namegen.h b/table/namegen.h index 4a591de39..40497e017 100644 --- a/table/namegen.h +++ b/table/namegen.h @@ -304,7 +304,7 @@ static const char *name_austrian_a2[] = { "Aus", "Alten", "Braun", - "Vösl", + "Vösl", "Mittern", "Nuss", "Neu", @@ -326,9 +326,9 @@ static const char *name_austrian_a2[] = { "Frauen", "Herren", "Hof", - "Hütt", + "Hütt", "Kaisers", - "Königs", + "Königs", "Knittel", "Lang", "Ober", @@ -340,7 +340,7 @@ static const char *name_austrian_a2[] = { "Stocker", "Unter", "Utten", - "Vösen", + "Vösen", "Vill", "Weissen" }; @@ -386,7 +386,7 @@ static const char *name_austrian_a5[] = { static const char *name_austrian_a6[] = { "Aegyd", - "Andrä", + "Andrä", "Georgen", "Jakob", "Johann", @@ -399,7 +399,7 @@ static const char *name_austrian_a6[] = { "Nikolai", "Oswald", "Peter", - "Pölten", + "Pölten", "Stefan", "Stephan", "Thomas", @@ -460,10 +460,10 @@ static const char *name_german_real[] = { "Gera", "Kassel", "Kiel", - "Köln", - "Lübeck", + "Köln", + "Lübeck", "Magdeburg", - "München", + "München", "Potsdam", "Stuttgart", "Wiesbaden" @@ -486,7 +486,7 @@ static const char *name_german_1[] = { "Cloppen", "Co", "Duis", - "Düssel", + "Düssel", "Dannen", "Elb", "Els", @@ -500,7 +500,7 @@ static const char *name_german_1[] = { "Frei", "Freuden", "Fried", - "Fürsten", + "Fürsten", "Hahn", "Ham", "Harz", @@ -521,10 +521,10 @@ static const char *name_german_1[] = { "Langen", "Lim", "Lohr", - "Lüne", + "Lüne", "Mel", "Michels", - "Mühl", + "Mühl", "Naum", "Nest", "Nord", @@ -532,7 +532,7 @@ static const char *name_german_1[] = { "Nien", "Nidda", "Nieder", - "Nürn", + "Nürn", "Ober", "Offen", "Osna", @@ -546,18 +546,18 @@ static const char *name_german_1[] = { "Regens", "Rott", "Ros", - "Rüssels", + "Rüssels", "Saal", "Saar", "Salz", - "Schöne", + "Schöne", "Schwein", "Sonder", "Sonnen", "Stein", "Strals", "Straus", - "Süd", + "Süd", "Ton", "Unter", "Ur", @@ -568,14 +568,14 @@ static const char *name_german_1[] = { "Wester", "Witten", "Wolfs", - "Würz" + "Würz" }; static const char *name_german_2[] = { "bach", "berg", - "brück", - "brücken", + "brück", + "brücken", "burg", "dorf", "feld", @@ -585,7 +585,7 @@ static const char *name_german_2[] = { "heim", "horst", "mund", - "münster", + "münster", "stadt", "wald" }; @@ -717,7 +717,7 @@ static const char *name_french_real[] = { "St. Tropez", "Marseilles", "Narbonne", - "Sète", + "Sète", "Aurillac", "Gueret", "Le Creusot", @@ -725,8 +725,8 @@ static const char *name_french_real[] = { "Auxerre", "Versailles", "Meaux", - "Châlons", - "Compiègne", + "Châlons", + "Compiègne", "Metz", "Chaumont", "Langres", @@ -739,8 +739,8 @@ static const char *name_french_real[] = { "Le Mans", "Angers", "Nantes", - "Châteauroux", - "Orléans", + "Châteauroux", + "Orléans", "Lisieux", "Cherbourg", "Morlaix", @@ -751,7 +751,7 @@ static const char *name_french_real[] = { "Troyes", "Charolles", "Grenoble", - "Chambéry", + "Chambéry", "Tours", "St. Brieuc", "St. Malo", @@ -765,11 +765,11 @@ static const char *name_french_real[] = { "Albi", "St. Valery", "Biarritz", - "Béziers", - "Nîmes", + "Béziers", + "Nîmes", "Chamonix", - "Angoulème", - "Alençon" + "Angoulème", + "Alençon" }; static const char *name_silly_1[] = { @@ -897,7 +897,7 @@ static const char *name_swedish_2[] = { "Es", "Fin", "Fisk", - "Grön", + "Grön", "Hag", "Halm", "Karl", @@ -916,17 +916,17 @@ static const char *name_swedish_2[] = { "Skog", "Stock", "Stor", - "Ström", + "Ström", "Sund", - "Söder", + "Söder", "Tall", "Tratt", "Troll", "Upp", "Var", - "Väster", - "Ängel", - "Öster" + "Väster", + "Ängel", + "Öster" }; static const char *name_swedish_2a[] = { @@ -981,9 +981,9 @@ static const char *name_swedish_2b[] = { "o", "u", "y", - "å", - "ä", - "ö" + "Ã¥", + "ä", + "ö" }; static const char *name_swedish_2c[] = { @@ -1029,25 +1029,25 @@ static const char *name_swedish_3[] = { "hamn", "holm", "hus", - "hättan", + "hättan", "kulle", - "köping", + "köping", "lund", - "löv", + "löv", "sala", "skrona", - "slätt", - "spång", + "slätt", + "spÃ¥ng", "stad", "sund", "svall", "svik", - "såker", + "sÃ¥ker", "udde", "valla", "viken", - "älv", - "ås" + "älv", + "Ã¥s" }; static const char *name_dutch_1[] = { @@ -1214,7 +1214,7 @@ static const char *name_finnish_real[] = { "Espoo", "Helsinki", "Tapiola", - "Järvelä", + "Järvelä", "Lahti", "Kotka", "Hamina", @@ -1249,26 +1249,26 @@ static const char *name_finnish_1[] = { "Sauna", "Uusi", "Vanha", - "Kesä", + "Kesä", "Kuusi", "Pelto", "Tuomi", "Terva", "Olki", - "Heinä", - "Seinä", + "Heinä", + "Seinä", "Rova", "Koivu", "Kokko", - "Mänty", + "Mänty", "Pihlaja", - "Petäjä", + "Petäjä", "Kielo", "Kauha", "Viita", "Kivi", "Riihi", - "Ääne", + "Ääne", "Niini" }; @@ -1277,27 +1277,27 @@ static const char *name_finnish_2[] = { "Lohjan", "Savon", "Lapin", - "Pitäjän", + "Pitäjän", "Martin", "Kuusan", "Kemi", "Keri", - "Hämeen", + "Hämeen", "Kangas" }; static const char *name_finnish_3[] = { "harju", "linna", - "järvi", + "järvi", "kallio", - "mäki", + "mäki", "nummi", "joki", - "kylä", + "kylä", "lampi", "lahti", - "metsä", + "metsä", "suo", "laakso", "niitty", @@ -1606,61 +1606,61 @@ static const char *name_czech_real[] = { "Blansko", "Breclav", "Brno", - "Bruntál", - "Ceská Lípa", - "Ceské Budejovice", - "Ceský Krumlov", - "Decín", + "Bruntál", + "Ceská Lípa", + "Ceské Budejovice", + "Ceský Krumlov", + "Decín", "Domazlice", - "Dubí", - "Frýdek-Místek", - "Havlíckuv Brod", - "Hodonín", - "Hradec Králové", + "Dubí", + "Frýdek-Místek", + "Havlíckuv Brod", + "Hodonín", + "Hradec Králové", "Humpolec", "Cheb", "Chomutov", "Chrudim", "Jablonec nad Nisou", - "Jeseník", - "Jicín", + "Jeseník", + "Jicín", "Jihlava", "Jindrichuv Hradec", "Karlovy Vary", - "Karviná", + "Karviná", "Kladno", "Klatovy", - "Kolín", + "Kolín", "Kosmonosy", - "Kromeríz", - "Kutná Hora", + "Kromeríz", + "Kutná Hora", "Liberec", "Litomerice", "Louny", - "Manetín", - "Melník", - "Mladá Boleslav", + "Manetín", + "Melník", + "Mladá Boleslav", "Most", - "Náchod", - "Nový Jicín", + "Náchod", + "Nový Jicín", "Nymburk", "Olomouc", "Opava", - "Orácov", + "Orácov", "Ostrava", "Pardubice", "Pelhrimov", "Polzice", - "Písek", + "Písek", "Plzen", "Praha", "Prachatice", "Prerov", - "Príbram", + "Príbram", "Prostejov", - "Rakovník", + "Rakovník", "Rokycany", - "Rudná", + "Rudná", "Rychnov nad Kneznou", "Semily", "Sokolov", @@ -1668,18 +1668,18 @@ static const char *name_czech_real[] = { "Stredokluky", "Sumperk", "Svitavy", - "Tábor", + "Tábor", "Tachov", "Teplice", - "Trebíc", + "Trebíc", "Trutnov", - "Uherské Hradiste", - "Ústí nad Labem", - "Ústí nad Orlicí", - "Vsetín", + "Uherské Hradiste", + "Ústí nad Labem", + "Ústí nad Orlicí", + "Vsetín", "Vyskov", - "Zdár nad Sázavou", - "Zlín", + "Zdár nad Sázavou", + "Zlín", "Znojmo" }; @@ -1710,13 +1710,13 @@ typedef enum CzechPattern { /* [CzechGender][CzechPattern] - replaces the last character of the adjective * by this. */ // XXX: [CZG_SMASC][CZP_PRIVL] needs special handling: -ovX -> -uv. -static const char name_czech_patmod[][3] = { - /* CZG_SMASC */ { 'í', 'ý', 'X' }, - /* CZG_SFEM */ { 'í', 'á', 'a' }, - /* CZG_SNEUT */ { 'í', 'é', 'o' }, - /* CZG_PMASC */ { 'í', 'é', 'y' }, - /* CZG_PFEM */ { 'í', 'é', 'y' }, - /* CZG_PNEUT */ { 'í', 'á', 'a' } +static const char *name_czech_patmod[][3] = { + /* CZG_SMASC */ { "í", "ý", "X" }, + /* CZG_SFEM */ { "í", "á", "a" }, + /* CZG_SNEUT */ { "í", "é", "o" }, + /* CZG_PMASC */ { "í", "é", "y" }, + /* CZG_PFEM */ { "í", "é", "y" }, + /* CZG_PNEUT */ { "í", "á", "a" } }; // This way the substantives can choose only some adjectives/endings: @@ -1751,52 +1751,52 @@ typedef struct CzechNameAdj { // Some of items which should be common are doubled. static const CzechNameAdj name_czech_adj[] = { - { CZP_JARNI, CZC_ANY, "Horní" }, - { CZP_JARNI, CZC_ANY, "Horní" }, - { CZP_JARNI, CZC_ANY, "Dolní" }, - { CZP_JARNI, CZC_ANY, "Dolní" }, - { CZP_JARNI, CZC_ANY, "Prední" }, - { CZP_JARNI, CZC_ANY, "Zadní" }, - { CZP_JARNI, CZC_ANY, "Kostelní" }, - { CZP_JARNI, CZC_ANY, "Havraní" }, - { CZP_JARNI, CZC_ANY, "Rícní" }, - { 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, "Ceský" }, - { CZP_MLADY, CZC_ANY, "Moravský" }, - { CZP_MLADY, CZC_ANY, "Slovácký" }, - { 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álovský" }, - { CZP_MLADY, CZC_ANY, "Kamenný" }, - { CZP_MLADY, CZC_ANY, "Cihlový" }, - { CZP_MLADY, CZC_ANY, "Divný" }, - { CZP_MLADY, CZC_COLOR, "Cervená" }, - { CZP_MLADY, CZC_COLOR, "Cervená" }, - { CZP_MLADY, CZC_COLOR, "Cervená" }, - { CZP_MLADY, CZC_COLOR, "Zelená" }, - { CZP_MLADY, CZC_COLOR, "Zlutá" }, - { CZP_MLADY, CZC_COLOR, "Sivá" }, - { CZP_MLADY, CZC_COLOR, "Sedá" }, - { CZP_MLADY, CZC_COLOR, "Bílá" }, - { CZP_MLADY, CZC_COLOR, "Bílá" }, - { CZP_MLADY, CZC_COLOR, "Modrá" }, - { CZP_MLADY, CZC_COLOR, "Ruzová" }, - { CZP_MLADY, CZC_COLOR, "Cerná" }, - { CZP_PRIVL, CZC_ANY, "Králova" }, + { CZP_JARNI, CZC_ANY, "Horní" }, + { CZP_JARNI, CZC_ANY, "Horní" }, + { CZP_JARNI, CZC_ANY, "Dolní" }, + { CZP_JARNI, CZC_ANY, "Dolní" }, + { CZP_JARNI, CZC_ANY, "Prední" }, + { CZP_JARNI, CZC_ANY, "Zadní" }, + { CZP_JARNI, CZC_ANY, "Kostelní" }, + { CZP_JARNI, CZC_ANY, "Havraní" }, + { CZP_JARNI, CZC_ANY, "Rícní" }, + { 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, "Ceský" }, + { CZP_MLADY, CZC_ANY, "Moravský" }, + { CZP_MLADY, CZC_ANY, "Slovácký" }, + { 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álovský" }, + { CZP_MLADY, CZC_ANY, "Kamenný" }, + { CZP_MLADY, CZC_ANY, "Cihlový" }, + { CZP_MLADY, CZC_ANY, "Divný" }, + { CZP_MLADY, CZC_COLOR, "Cervená" }, + { CZP_MLADY, CZC_COLOR, "Cervená" }, + { CZP_MLADY, CZC_COLOR, "Cervená" }, + { CZP_MLADY, CZC_COLOR, "Zelená" }, + { CZP_MLADY, CZC_COLOR, "Zlutá" }, + { CZP_MLADY, CZC_COLOR, "Sivá" }, + { CZP_MLADY, CZC_COLOR, "Sedá" }, + { CZP_MLADY, CZC_COLOR, "Bílá" }, + { CZP_MLADY, CZC_COLOR, "Bílá" }, + { CZP_MLADY, CZC_COLOR, "Modrá" }, + { CZP_MLADY, CZC_COLOR, "Ruzová" }, + { CZP_MLADY, CZC_COLOR, "Cerná" }, + { CZP_PRIVL, CZC_ANY, "Králova" }, { CZP_PRIVL, CZC_ANY, "Janova" }, { CZP_PRIVL, CZC_ANY, "Karlova" }, { CZP_PRIVL, CZC_ANY, "Krystofova" }, - { CZP_PRIVL, CZC_ANY, "Jiríkova" }, + { CZP_PRIVL, CZC_ANY, "Jiríkova" }, { CZP_PRIVL, CZC_ANY, "Petrova" }, { CZP_PRIVL, CZC_ANY, "Sudovo" }, }; @@ -1806,17 +1806,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, "Úval" }, - { CZG_SMASC, CZA_ALL, CZC_COLOR, "Zdár" }, + { CZG_SMASC, CZA_ALL, CZC_NONE, "Úval" }, + { CZG_SMASC, CZA_ALL, CZC_COLOR, "Zdár" }, { 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ípa" }, + { CZG_SFEM, CZA_ALL, CZC_COLOR, "Lípa" }, { CZG_SNEUT, CZA_ALL, CZC_COLOR, "Pole" }, - { CZG_SNEUT, CZA_ALL, CZC_COLOR, "Údolí" }, - { CZG_PMASC, CZA_ALL, CZC_NONE, "Úvaly" }, + { CZG_SNEUT, CZA_ALL, CZC_COLOR, "Údolí" }, + { CZG_PMASC, CZA_ALL, CZC_NONE, "Úvaly" }, { CZG_PFEM, CZA_ALL, CZC_COLOR, "Luka" }, { CZG_PNEUT, CZA_ALL, CZC_COLOR, "Pole" }, }; @@ -1824,7 +1824,7 @@ 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áster" }, + { CZG_SMASC, CZA_MIDDLE, CZC_COLOR, "Kláster" }, { CZG_SMASC, CZA_SHORT, CZC_COLOR, "Lhot" }, { CZG_SFEM, CZA_SHORT, CZC_COLOR, "Lhot" }, { CZG_SFEM, CZA_SHORT, CZC_COLOR, "Hur" }, @@ -1848,7 +1848,7 @@ static const CzechNameSubst name_czech_subst_stem[] = { { 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ísn" }, + { CZG_NFREE, CZA_LONG, CZC_NONE, "Písn" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Jin" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Jes" }, { CZG_NFREE, CZA_LONG, CZC_NONE, "Jar" }, @@ -1877,17 +1877,17 @@ static const char *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, "ín" }, + { CZG_SMASC, CZA_SHORT | CZA_MIDDLE, CZC_ANY, "ín" }, { 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, "ín" }, - { CZG_SMASC, CZA_LONG, CZC_POSTFIX, "ník" }, + { CZG_SMASC, CZA_LONG, CZC_POSTFIX, "ín" }, + { CZG_SMASC, CZA_LONG, CZC_POSTFIX, "ník" }, { 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á" }, + { CZG_SFEM, CZA_MIDDLE, CZC_ANY, "ná" }, { CZG_SFEM, CZA_LONG, CZC_ANY, "ava" }, - { CZG_PMASC, CZA_LONG, CZC_POSTFIX, "íky" }, + { CZG_PMASC, CZA_LONG, CZC_POSTFIX, "íky" }, { CZG_PMASC, CZA_LONG, CZC_ANY, "upy" }, { CZG_PMASC, CZA_LONG, CZC_ANY, "olupy" }, { CZG_PFEM, CZA_LONG, CZC_ANY, "avy" }, @@ -1900,21 +1900,21 @@ static const CzechNameSubst name_czech_subst_ending[] = { static const char *name_czech_suffix[] = { "nad Cydlinou", - "nad Dyjí", + "nad Dyjí", "nad Jihlavou", "nad Labem", "nad Lesy", "nad Moravou", "nad Nisou", "nad Odrou", - "nad Ostravicí", - "nad Sázavou", + "nad Ostravicí", + "nad Sázavou", "nad Vltavou", "pod Pradedem", "pod Radhostem", - "pod Rípem", + "pod Rípem", "pod Snezkou", - "pod Spicákem", + "pod Spicákem", "pod Sedlem", "v Cechach", "na Morave", @@ -1927,24 +1927,24 @@ static const char *name_romanian_real[]= { "Alba Iulia", "Alexandria", "Babadag", - "Bacãu", + "Bacãu", "Baia Mare", - "Bãile Herculane", - "Bãilesti", - "Bârlad", + "Bãile Herculane", + "Bãilesti", + "Bârlad", "Bicaz", "Bistrita", "Blaj", "Borsec", "Botosani", - "Brãila", + "Brãila", "Brasov", "Bucuresti", "Buftea", - "Buzãu", - "Cãlãrasi", + "Buzãu", + "Cãlãrasi", "Caransebes", - "Cernavodã", + "Cernavodã", "Cluj-Napoca", "Constanta", "Covasna", @@ -1953,29 +1953,29 @@ static const char *name_romanian_real[]= { "Deva", "Dorohoi", "Dr.-Tr. Severin", - "Drãgãsani", - "Fãgãras", - "Fãlticeni", + "Drãgãsani", + "Fãgãras", + "Fãlticeni", "Fetesti", "Focsani", "Galati", "Gheorgheni", "Giurgiu", - "Hârsova", + "Hârsova", "Hunedoara", "Husi", "Iasi", "Isaccea", "Lugoj", - "Mãcin", + "Mãcin", "Mangalia", "Medgidia", "Medias", "Miercurea Ciuc", "Mizil", "Motru", - "Nãsãud", - "Nãvodari", + "Nãsãud", + "Nãvodari", "Odobesti", "Oltenita", "Onesti", @@ -1986,14 +1986,14 @@ static const char *name_romanian_real[]= { "Pitesti", "Ploiesti", "Predeal", - "Râmnicu Vâlcea", + "Râmnicu Vâlcea", "Reghin", "Resita", "Roman", "Rosiorii de Vede", "Satu Mare", "Sebes", - "Sfântu Gheorghe", + "Sfântu Gheorghe", "Sibiu", "Sighisoara", "Sinaia", @@ -2002,21 +2002,21 @@ static const char *name_romanian_real[]= { "Sovata", "Suceava", "Sulina", - "Tãndãrei", - "Târgoviste", - "Târgu Jiu", - "Târgu Mures", + "Tãndãrei", + "Târgoviste", + "Târgu Jiu", + "Târgu Mures", "Tecuci", "Timisoara", "Tulcea", "Turda", - "Turnu Mãgurele", + "Turnu Mãgurele", "Urziceni", "Vaslui", "Vatra Dornei", "Victoria", "Videle", - "Zalãu" + "Zalãu" }; static const char *name_slovak_real[] = { @@ -2112,12 +2112,12 @@ static const char *name_slovak_real[] = { static const char *name_norwegian_1[] = { "Arna", "Aust", - "Bjørk", - "Bjørn", + "Bjørk", + "Bjørn", "Brand", - "Bøver", + "Bøver", "Drag", - "Drø", + "Drø", "Eids", "Egge", "Fager", @@ -2130,12 +2130,12 @@ static const char *name_norwegian_1[] = { "Gaus", "Galte", "Geir", - "Gløs", + "Gløs", "Gran", "Grind", "Grims", - "Grøn", - "Grøt", + "Grøn", + "Grøt", "Gulle", "Haka", "Hammer", @@ -2150,7 +2150,7 @@ static const char *name_norwegian_1[] = { "Kjerring", "Knatte", "Krok", - "Køy", + "Køy", "Lang", "Lauv", "Leir", @@ -2158,7 +2158,7 @@ static const char *name_norwegian_1[] = { "Logn", "Lo", "Lyng", - "Løn", + "Løn", "Mesna", "Mel", "Mo", @@ -2178,9 +2178,9 @@ static const char *name_norwegian_1[] = { "Sel", "Sol", "Sjur", - "Skår", - "Slått", - "Stjør", + "SkÃ¥r", + "SlÃ¥tt", + "Stjør", "Stor", "Svart", "Svens", @@ -2193,7 +2193,7 @@ static const char *name_norwegian_1[] = { "Vest", "Vesle", "Vik", - "Våg" + "VÃ¥g" }; static const char *name_norwegian_2[] = { @@ -2208,7 +2208,7 @@ static const char *name_norwegian_2[] = { "bugen", "by", "bygd", - "bø", + "bø", "dal", "egga", "eid", @@ -2226,10 +2226,10 @@ static const char *name_norwegian_2[] = { "heim", "hella", "hovda", - "høa", - "høgda", + "høa", + "høgda", "kampen", - "kjølen", + "kjølen", "kollen", "kroken", "land", @@ -2244,7 +2244,7 @@ static const char *name_norwegian_2[] = { "rud", "sand", "set", - "sjøen", + "sjøen", "skogen", "slette", "snipa", @@ -2253,7 +2253,7 @@ static const char *name_norwegian_2[] = { "stulen", "sund", "svingen", - "sætra", + "sætra", "tinden", "tun", "vang", @@ -2261,9 +2261,9 @@ static const char *name_norwegian_2[] = { "veid", "vik", "voll", - "våg", + "vÃ¥g", "um", - "åsen" + "Ã¥sen" }; static const char *name_norwegian_real[] = { @@ -2271,12 +2271,12 @@ static const char *name_norwegian_real[] = { "Arendal", "Askim", "Bergen", - "Bodø", + "Bodø", "Brevik", "Bryne", - "Brønnøysund", + "Brønnøysund", "Drammen", - "Drøbak", + "Drøbak", "Egersund", "Elverum", "Farsund", @@ -2284,10 +2284,10 @@ static const char *name_norwegian_real[] = { "Finnsnes", "Flekkefjord", "Flora", - "Fosnavåg", + "FosnavÃ¥g", "Fredrikstad", - "Førde", - "Gjøvik", + "Førde", + "Gjøvik", "Grimstad", "Halden", "Hamar", @@ -2296,13 +2296,13 @@ static const char *name_norwegian_real[] = { "Haugesund", "Holmestrand", "Horten", - "Jørpeland", + "Jørpeland", "Kirkenes", "Kolvereid", "Kongsberg", "Kongsvinger", "Kopervik", - "Kragerø", + "Kragerø", "Kristiansand", "Kristiansund", "Langesund", @@ -2312,16 +2312,16 @@ static const char *name_norwegian_real[] = { "Levanger", "Lillehammer", "Lillesand", - "Lillestrøm", + "Lillestrøm", "Lyngdal", - "Lørenskog", + "Lørenskog", "Mandal", "Mo i Rana", "Molde", - "Mosjøen", + "Mosjøen", "Moss", "Mysen", - "Måløy", + "MÃ¥løy", "Namsos", "Narvik", "Notodden", @@ -2330,11 +2330,11 @@ static const char *name_norwegian_real[] = { "Otta", "Porsgrunn", "Ringerike", - "Risør", + "Risør", "Rjukan", "Sandefjord", "Sandnes", - "Sandnessjøen", + "Sandnessjøen", "Sandvika", "Sarpsborg", "Sauda", @@ -2345,152 +2345,152 @@ static const char *name_norwegian_real[] = { "Stathelle", "Stavanger", "Steinkjer", - "Stjørdal", + "Stjørdal", "Stokmarknes", "Stord", "Svelvik", - "Svolvær", - "Tromsø", + "Svolvær", + "Tromsø", "Trondheim", "Tvedestrand", - "Tønsberg", + "Tønsberg", "Ulsteinvik", - "Vadsø", - "Vardø", - "Verdalsøra", - "Åkrehamn", - "Ålesund", - "Åndalsnes" + "Vadsø", + "Vardø", + "Verdalsøra", + "Ã…krehamn", + "Ã…lesund", + "Ã…ndalsnes" }; static const char *name_hungarian_1[] = { "Nagy-", "Kis-", - "Felsõ-", - "Alsó-", - "Új-" + "Felsõ-", + "Alsó-", + "Új-" }; static const char *name_hungarian_2[] = { "Bodrog", - "Dráva", + "Dráva", "Duna", - "Hejõ", - "Hernád", - "Rába", - "Sajó", + "Hejõ", + "Hernád", + "Rába", + "Sajó", "Szamos", "Tisza", "Zala", "Balaton", - "Fertõ", + "Fertõ", "Bakony", - "Cserhát", + "Cserhát", "Bihar", - "Hajdú", - "Jász", + "Hajdú", + "Jász", "Kun", "Magyar", - "Nógrád", - "Nyír", + "Nógrád", + "Nyír", "Somogy", - "Székely", + "Székely", "Buda", - "Gyõr", + "Gyõr", "Pest", - "Fehér", - "Cserép", - "Erdõ", + "Fehér", + "Cserép", + "Erdõ", "Hegy", "Homok", - "Mezõ", + "Mezõ", "Puszta", - "Sár", - "Császár", + "Sár", + "Császár", "Herceg", - "Király", + "Király", "Nemes", - "Püspök", + "Püspök", "Szent", - "Almás", - "Szilvás", + "Almás", + "Szilvás", "Agg", "Aranyos", - "Békés", - "Egyházas", + "Békés", + "Egyházas", "Gagy", "Heves", "Kapos", - "Tápió", + "Tápió", "Torna", "Vas", - "Vámos", - "Vásáros" + "Vámos", + "Vásáros" }; static const char *name_hungarian_3[] = { - "apáti", - "bába", + "apáti", + "bába", "bikk", "dob", "fa", - "föld", + "föld", "hegyes", "kak", "kereszt", - "kürt", - "ladány", - "mérges", + "kürt", + "ladány", + "mérges", "szalonta", "telek", "vas", - "völgy" + "völgy" }; static const char *name_hungarian_4[] = { "alja", - "egyháza", - "háza", - "úr", - "vár" + "egyháza", + "háza", + "úr", + "vár" }; static const char *name_hungarian_real[] = { "Ajka", - "Aszód", + "Aszód", "Badacsony", "Baja", "Budapest", "Debrecen", "Eger", - "Fonyód", - "Gödöllõ", - "Gyõr", + "Fonyód", + "Gödöllõ", + "Gyõr", "Gyula", "Karcag", - "Kecskemét", + "Kecskemét", "Keszthely", - "Kisköre", + "Kisköre", "Kocsord", - "Komárom", - "Kõszeg", - "Makó", - "Mohács", + "Komárom", + "Kõszeg", + "Makó", + "Mohács", "Miskolc", - "Ózd", + "Ózd", "Paks", - "Pápa", - "Pécs", - "Polgár", + "Pápa", + "Pécs", + "Polgár", "Sarkad", - "Siófok", + "Siófok", "Szeged", "Szentes", "Szolnok", "Tihany", "Tokaj", - "Vác", - "Záhony", + "Vác", + "Záhony", "Zirc" }; @@ -2501,7 +2501,7 @@ static const char *name_swiss_real[] = { "Arosa", "Appenzell", "Arbon", - "Altstätten", + "Altstätten", "Baar", "Baden", "Bellinzona", @@ -2512,20 +2512,20 @@ static const char *name_swiss_real[] = { "Burgdorf", "Bern", "Basel", - "Bülach", + "Bülach", "Carouge", "Cham", "Chiasso", "Chur", "Davos", - "Delémont", + "Delémont", "Dietikon", - "Dübendorf", + "Dübendorf", "Emmen", - "Freienbach-Pfäffikon", + "Freienbach-Pfäffikon", "Fribourg", "Frauenfeld", - "Genève", + "Genève", "Glarus", "Gossau", "Grenchen", @@ -2537,9 +2537,9 @@ static const char *name_swiss_real[] = { "Jona", "Kriens", "Kloten", - "Köniz", + "Köniz", "Kreuzlingen", - "Küsnacht", + "Küsnacht", "Agen", "Lancy", "La Chaux-de-Fonds", @@ -2556,7 +2556,7 @@ static const char *name_swiss_real[] = { "Lyss", "Luzern", "Martigny", - "Münchenstein", + "Münchenstein", "Meyrin", "Montreux", "Monthey", @@ -2564,7 +2564,7 @@ static const char *name_swiss_real[] = { "Murten", "Moutier", "Muttenz", - "Neuchâtel", + "Neuchâtel", "Neuhausen am Rheinfall", "Nyon", "Olten", @@ -2593,11 +2593,11 @@ static const char *name_swiss_real[] = { "St. Moritz", "Sion", "Spiez", - "Stäfa", + "Stäfa", "Sursee", "Schwyz", "Thalwil", - "Thônex", + "Thônex", "Thun", "Uster", "Uzwil", @@ -2605,7 +2605,7 @@ static const char *name_swiss_real[] = { "Volketswil", "Versoix", "Vevey", - "Wädenswil", + "Wädenswil", "Wettingen", "Wil", "Wallisellen", @@ -2616,7 +2616,7 @@ static const char *name_swiss_real[] = { "Yverdon-les-Bains", "Zollikon", "Zofingen", - "Zürich", + "Zürich", "Zug", }; @@ -2626,12 +2626,12 @@ static const char *name_danish_1[] = { "Nye ", "Store ", "Kirke ", - "Nørre ", + "Nørre ", "Vester ", - "Sønder ", - "Øster ", + "Sønder ", + "Øster ", "Hvide ", - "Høje ", + "Høje ", "Kongens ", }; @@ -2643,7 +2643,7 @@ static const char *name_danish_2[] = { "Bede", "Birke", "Bjerring", - "Bjæver", + "Bjæver", "Blommens", "Blok", "Bolder", @@ -2656,7 +2656,7 @@ static const char *name_danish_2[] = { "Fredens", "Frederiks", "Fugle", - "Fåre", + "FÃ¥re", "Gille", "Gis", "Givs", @@ -2673,11 +2673,11 @@ static const char *name_danish_2[] = { "Hol", "Horn", "Humle", - "Høj", - "Hør", + "Høj", + "Hør", "Is", "Jyde", - "Jægers", + "Jægers", "Karls", "Klov", "Kokke", @@ -2689,24 +2689,24 @@ static const char *name_danish_2[] = { "Ny", "Oks", "Ring", - "Røde", + "Røde", "Rung", - "Rør", + "Rør", "Rud", "Saks", "Salt", "Skam", "Silke", "Skod", - "Skæl", - "Skær", + "Skæl", + "Skær", "Sol", "Svend", "Svine", "Strand", "Stubbe", "Ting", - "Tjære", + "Tjære", "Tore", "Uger", "Ulf", @@ -2714,9 +2714,9 @@ static const char *name_danish_2[] = { "Vand", "Vej", "Vor", - "Vær", - "Ør", - "Ål" + "Vær", + "Ør", + "Ã…l" }; static const char *name_danish_3[] = { @@ -2729,21 +2729,21 @@ static const char *name_danish_3[] = { "strup", "holm", "hus", - "købing", + "købing", "lund", "lunde", "sund", "ovre", - "høj", + "høj", "dal", "sted", "sten", - "løse", - "rød", + "løse", + "rød", "magle", - "sø", + "sø", "bjerg", - "bæk", + "bæk", "drup", "lev", "bo", @@ -2753,17 +2753,17 @@ static const char *name_danish_3[] = { }; static const char *name_turkish_prefix[] = { - "Akça", + "Akça", "Altin", - "Bahçe", + "Bahçe", "Boz", - "Büyük", - "Çay", + "Büyük", + "Çay", "Dogu", "Eski", - "Güzel", + "Güzel", "Kizil", - "Küçük", + "Küçük", "Orta", "Sari", "Sultan", @@ -2772,9 +2772,9 @@ static const char *name_turkish_prefix[] = { }; static const char *name_turkish_middle[] = { - "agaç", + "agaç", "ayva", - "çam", + "çam", "elma", "kurt", "pazar", @@ -2787,10 +2787,10 @@ static const char *name_turkish_suffix[] = { "kale", "kaya", "kent", - "köy", + "köy", "ova", - "özü", - "ören", + "özü", + "ören", "pazar", "saray", "tepe", @@ -2812,8 +2812,8 @@ static const char *name_turkish_real[] = { "Bolu", "Burdur", "Bursa", - "Çanakkale", - "Çankiri", + "Çanakkale", + "Çankiri", "Denizli", "Diyarbakir", "Edirne", @@ -2821,10 +2821,10 @@ static const char *name_turkish_real[] = { "Erzurum", "Eskisehir", "Giresun", - "Gümüshane", + "Gümüshane", "Hatay", "Isparta", - "içel", + "içel", "istanbul", "izmir", "Kars", @@ -2833,7 +2833,7 @@ static const char *name_turkish_real[] = { "Kirklareli", "Kocaeli", "Konya", - "Kütahya", + "Kütahya", "Malatya", "Manisa", "Kahramanmaras", @@ -2861,9 +2861,9 @@ static const char *name_turkish_real[] = { "Ardahan", "Igdir", "Yalova", - "Karabük", + "Karabük", "Osmaniye", - "Düzce" + "Düzce" }; static const char *name_italian_real[] = { diff --git a/table/unicode.h b/table/unicode.h new file mode 100644 index 000000000..2bbd6624c --- /dev/null +++ b/table/unicode.h @@ -0,0 +1,21 @@ +/* $Id$ */ + + +typedef struct DefaultUnicodeMapping { + WChar code; ///< Unicode value + byte key; ///< Character index of sprite +} DefaultUnicodeMapping; + + +/* Default unicode mapping table for sprite based glyphs. + * This table allows us use unicode characters even though the glyphs don't + * exist, or are in the wrong place, in the standard sprite fonts. + * This is not used for FreeType rendering */ + +static DefaultUnicodeMapping _default_unicode_map[] = { + { 0x010D, 0x63 }, /* Small letter c with caron */ + { 0x0160, 0xA6 }, /* Capital letter s with caron */ + { 0x0161, 0xA8 }, /* Small letter s with caron */ + { 0x017E, 0xB8 }, /* Small letter z with caron */ + { 0x20AC, 0xA4 }, /* Euro symbol */ +}; -- cgit v1.2.3-70-g09d2