1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-25 07:44:38 +01:00

Render Polish with the sprite font

Fixes the sprite lookup table for the Polish characters.
Switches the font settings for Polish from TTF to sprite.
This commit is contained in:
Michael Steenbeek
2017-10-09 17:34:04 +02:00
parent c4538496c5
commit 71686e88b5
3 changed files with 64 additions and 1 deletions

View File

@@ -95,6 +95,25 @@ sint32 font_sprite_get_codepoint_offset(sint32 codepoint)
case FORMAT_SMALLDOWN: return 189 - 32;
case FORMAT_LEFT: return 190 - 32;
case FORMAT_INVERTEDQUESTION: return 191 - 32;
case UNICODE_A_OGONEK_UC: return RCT2_A_OGONEK_UC - 32;
case UNICODE_C_ACUTE_UC: return RCT2_C_ACUTE_UC - 32;
case UNICODE_E_OGONEK_UC: return RCT2_E_OGONEK_UC - 32;
case UNICODE_N_ACUTE_UC: return RCT2_N_ACUTE_UC - 32;
case UNICODE_L_STROKE_UC: return RCT2_L_STROKE_UC - 32;
case UNICODE_S_ACUTE_UC: return RCT2_S_ACUTE_UC - 32;
case UNICODE_Z_DOT_UC: return RCT2_Z_DOT_UC - 32;
case UNICODE_Z_ACUTE_UC: return RCT2_Z_ACUTE_UC - 32;
case UNICODE_A_OGONEK: return RCT2_A_OGONEK - 32;
case UNICODE_C_ACUTE: return RCT2_C_ACUTE - 32;
case UNICODE_E_OGONEK: return RCT2_E_OGONEK - 32;
case UNICODE_N_ACUTE: return RCT2_N_ACUTE - 32;
case UNICODE_L_STROKE: return RCT2_L_STROKE - 32;
case UNICODE_S_ACUTE: return RCT2_S_ACUTE - 32;
case UNICODE_Z_DOT: return RCT2_Z_DOT - 32;
case UNICODE_Z_ACUTE: return RCT2_Z_ACUTE - 32;
default:
if (codepoint < 32 || codepoint >= 256) codepoint = '?';
return codepoint - 32;

View File

@@ -45,7 +45,7 @@ const language_descriptor LanguagesDescriptors[LANGUAGE_COUNT] = {
{ "hu-HU", "Hungarian", "Magyar", FONT_OPENRCT2_SPRITE, RCT2_LANGUAGE_ID_ENGLISH_UK }, // LANGUAGE_HUNGARIAN
{ "nl-NL", "Dutch", "Nederlands", FONT_OPENRCT2_SPRITE, RCT2_LANGUAGE_ID_DUTCH }, // LANGUAGE_DUTCH
{ "nb-NO", "Norwegian", "Norsk", FONT_OPENRCT2_SPRITE, RCT2_LANGUAGE_ID_ENGLISH_UK }, // LANGUAGE_NORWEGIAN
{ "pl-PL", "Polish", "Polski", FONT(&TTFFontArial), RCT2_LANGUAGE_ID_ENGLISH_UK }, // LANGUAGE_POLISH
{ "pl-PL", "Polish", "Polski", FONT_OPENRCT2_SPRITE, RCT2_LANGUAGE_ID_ENGLISH_UK }, // LANGUAGE_POLISH
{ "pt-BR", "Portuguese (BR)", u8"Português (BR)", FONT_OPENRCT2_SPRITE, RCT2_LANGUAGE_ID_PORTUGUESE }, // LANGUAGE_PORTUGUESE_BR
{ "ru-RU", "Russian", "Russian", FONT(&TTFFontArial), RCT2_LANGUAGE_ID_ENGLISH_UK }, // LANGUAGE_RUSSIAN
{ "fi-FI", "Finnish", "Suomi", FONT_OPENRCT2_SPRITE, RCT2_LANGUAGE_ID_ENGLISH_UK }, // LANGUAGE_FINNISH

View File

@@ -28,6 +28,50 @@
extern "C" {
#endif
typedef enum RCT2Polish
{
RCT2_A_OGONEK_UC = 0x9F,
RCT2_C_ACUTE_UC = 0xA2,
RCT2_E_OGONEK_UC = 0xA6,
RCT2_N_ACUTE_UC = 0xC6,
RCT2_L_STROKE_UC = 0xA7,
RCT2_S_ACUTE_UC = 0xD0,
RCT2_Z_DOT_UC = 0xD8,
RCT2_Z_ACUTE_UC = 0xD7,
RCT2_A_OGONEK = 0xDD,
RCT2_C_ACUTE = 0xDE,
RCT2_E_OGONEK = 0xE6,
RCT2_N_ACUTE = 0xF0,
RCT2_L_STROKE = 0xF7,
RCT2_S_ACUTE = 0xF8,
RCT2_Z_DOT = 0xFD,
RCT2_Z_ACUTE = 0xFE,
}
RCT2Polish;
typedef enum UnicodePolish
{
UNICODE_A_OGONEK_UC = 260,
UNICODE_C_ACUTE_UC = 262,
UNICODE_E_OGONEK_UC = 280,
UNICODE_N_ACUTE_UC = 323,
UNICODE_L_STROKE_UC = 321,
UNICODE_S_ACUTE_UC = 346,
UNICODE_Z_DOT_UC = 379,
UNICODE_Z_ACUTE_UC = 377,
UNICODE_A_OGONEK = 261,
UNICODE_C_ACUTE = 263,
UNICODE_E_OGONEK = 281,
UNICODE_N_ACUTE = 324,
UNICODE_L_STROKE = 322,
UNICODE_S_ACUTE = 347,
UNICODE_Z_DOT = 380,
UNICODE_Z_ACUTE = 378,
}
UnicodePolish;
bool utf8_is_format_code(sint32 codepoint);
bool utf8_is_colour_code(sint32 codepoint);
bool utf8_should_use_sprite_for_codepoint(sint32 codepoint);