diff --git a/resources/g2/font/g-breve-bold.png b/resources/g2/font/g-breve-bold.png new file mode 100644 index 0000000000..bee63f5345 Binary files /dev/null and b/resources/g2/font/g-breve-bold.png differ diff --git a/resources/g2/font/g-breve-small.png b/resources/g2/font/g-breve-small.png new file mode 100644 index 0000000000..6cc6d7d564 Binary files /dev/null and b/resources/g2/font/g-breve-small.png differ diff --git a/resources/g2/font/g-breve-tiny.png b/resources/g2/font/g-breve-tiny.png new file mode 100644 index 0000000000..ef6bca05f7 Binary files /dev/null and b/resources/g2/font/g-breve-tiny.png differ diff --git a/resources/g2/font/g-breve-uc-bold.png b/resources/g2/font/g-breve-uc-bold.png new file mode 100644 index 0000000000..f05631f1c4 Binary files /dev/null and b/resources/g2/font/g-breve-uc-bold.png differ diff --git a/resources/g2/font/g-breve-uc-small.png b/resources/g2/font/g-breve-uc-small.png new file mode 100644 index 0000000000..5baa42d680 Binary files /dev/null and b/resources/g2/font/g-breve-uc-small.png differ diff --git a/resources/g2/font/g-breve-uc-tiny.png b/resources/g2/font/g-breve-uc-tiny.png new file mode 100644 index 0000000000..623092cdb5 Binary files /dev/null and b/resources/g2/font/g-breve-uc-tiny.png differ diff --git a/resources/g2/font/i-with-dot-uc-bold.png b/resources/g2/font/i-with-dot-uc-bold.png new file mode 100644 index 0000000000..220fbe009a Binary files /dev/null and b/resources/g2/font/i-with-dot-uc-bold.png differ diff --git a/resources/g2/font/i-with-dot-uc-small.png b/resources/g2/font/i-with-dot-uc-small.png new file mode 100644 index 0000000000..9262c3c9be Binary files /dev/null and b/resources/g2/font/i-with-dot-uc-small.png differ diff --git a/resources/g2/font/i-with-dot-uc-tiny.png b/resources/g2/font/i-with-dot-uc-tiny.png new file mode 100644 index 0000000000..394e0dc0a2 Binary files /dev/null and b/resources/g2/font/i-with-dot-uc-tiny.png differ diff --git a/resources/g2/font/i-without-dot-bold.png b/resources/g2/font/i-without-dot-bold.png new file mode 100644 index 0000000000..e76174aeed Binary files /dev/null and b/resources/g2/font/i-without-dot-bold.png differ diff --git a/resources/g2/font/i-without-dot-small.png b/resources/g2/font/i-without-dot-small.png new file mode 100644 index 0000000000..a96fc162ec Binary files /dev/null and b/resources/g2/font/i-without-dot-small.png differ diff --git a/resources/g2/font/i-without-dot-tiny.png b/resources/g2/font/i-without-dot-tiny.png new file mode 100644 index 0000000000..6a55979885 Binary files /dev/null and b/resources/g2/font/i-without-dot-tiny.png differ diff --git a/resources/g2/font/s-cedilla-bold.png b/resources/g2/font/s-cedilla-bold.png new file mode 100644 index 0000000000..c041b2b1d0 Binary files /dev/null and b/resources/g2/font/s-cedilla-bold.png differ diff --git a/resources/g2/font/s-cedilla-small.png b/resources/g2/font/s-cedilla-small.png new file mode 100644 index 0000000000..a3e039c00e Binary files /dev/null and b/resources/g2/font/s-cedilla-small.png differ diff --git a/resources/g2/font/s-cedilla-tiny.png b/resources/g2/font/s-cedilla-tiny.png new file mode 100644 index 0000000000..87506ba672 Binary files /dev/null and b/resources/g2/font/s-cedilla-tiny.png differ diff --git a/resources/g2/font/s-cedilla-uc-bold.png b/resources/g2/font/s-cedilla-uc-bold.png new file mode 100644 index 0000000000..4de3d02b2b Binary files /dev/null and b/resources/g2/font/s-cedilla-uc-bold.png differ diff --git a/resources/g2/font/s-cedilla-uc-small.png b/resources/g2/font/s-cedilla-uc-small.png new file mode 100644 index 0000000000..fe23aa3ffe Binary files /dev/null and b/resources/g2/font/s-cedilla-uc-small.png differ diff --git a/resources/g2/font/s-cedilla-uc-tiny.png b/resources/g2/font/s-cedilla-uc-tiny.png new file mode 100644 index 0000000000..877e0328e2 Binary files /dev/null and b/resources/g2/font/s-cedilla-uc-tiny.png differ diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index 3d3716fb20..10ee4f98e7 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -704,6 +704,42 @@ "palette": "keep", "forceBmp": true }, + { + "path": "font/g-breve-uc-small.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/i-with-dot-uc-small.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/s-cedilla-uc-small.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/g-breve-small.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/i-without-dot-small.png", + "y_offset": 2, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/s-cedilla-small.png", + "y_offset": 2, + "palette": "keep", + "forceBmp": true + }, { "path": "font/ae-uc-bold.png", "y_offset": 0, @@ -969,6 +1005,42 @@ "palette": "keep", "forceBmp": true }, + { + "path": "font/g-breve-uc-bold.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/i-with-dot-uc-bold.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/s-cedilla-uc-bold.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/g-breve-bold.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/i-without-dot-bold.png", + "y_offset": 2, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/s-cedilla-bold.png", + "y_offset": 2, + "palette": "keep", + "forceBmp": true + }, { "path": "font/ae-uc-tiny.png", "y_offset": 0, @@ -1241,5 +1313,41 @@ "y_offset": 1, "palette": "keep", "forceBmp": true + }, + { + "path": "font/g-breve-uc-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/i-with-dot-uc-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/s-cedilla-uc-tiny.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/g-breve-tiny.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/i-without-dot-tiny.png", + "y_offset": 2, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/s-cedilla-tiny.png", + "y_offset": 1, + "palette": "keep", + "forceBmp": true } ] diff --git a/src/openrct2/drawing/Font.cpp b/src/openrct2/drawing/Font.cpp index e69801d036..5ca1c9aa6f 100644 --- a/src/openrct2/drawing/Font.cpp +++ b/src/openrct2/drawing/Font.cpp @@ -336,6 +336,20 @@ int32_t font_sprite_get_codepoint_offset(int32_t codepoint) case UNICODE_GUILDER_SIGN: return SPR_G2_GUILDER_SIGN - SPR_CHAR_START; + // Turkish + case UNICODE_G_BREVE_UC: + return SPR_G2_G_BREVE_UPPER - SPR_CHAR_START; + case UNICODE_I_WITH_DOT_UC: + return SPR_G2_I_WITH_DOT_UPPER - SPR_CHAR_START; + case UNICODE_S_CEDILLA_UC: + return SPR_G2_S_CEDILLA_UPPER - SPR_CHAR_START; + case UNICODE_G_BREVE: + return SPR_G2_G_BREVE_LOWER - SPR_CHAR_START; + case UNICODE_I_WITHOUT_DOT: + return SPR_G2_I_WITHOUT_DOT_LOWER - SPR_CHAR_START; + case UNICODE_S_CEDILLA: + return SPR_G2_S_CEDILLA_LOWER - SPR_CHAR_START; + // This is to catch capitalised versions of the guilder sign case UNICODE_F_WITH_HOOK_UC: return 'F' - 32; @@ -502,6 +516,13 @@ bool font_supports_string_sprite(const utf8* text) case UNICODE_GUILDER_SIGN: + case UNICODE_G_BREVE_UC: + case UNICODE_I_WITH_DOT_UC: + case UNICODE_S_CEDILLA_UC: + case UNICODE_G_BREVE: + case UNICODE_I_WITHOUT_DOT: + case UNICODE_S_CEDILLA: + supported = true; break; default: diff --git a/src/openrct2/localisation/FormatCodes.h b/src/openrct2/localisation/FormatCodes.h index d419a97a72..91208cd2a4 100644 --- a/src/openrct2/localisation/FormatCodes.h +++ b/src/openrct2/localisation/FormatCodes.h @@ -265,6 +265,16 @@ enum UnicodeCyrillic }; +enum UnicodeTurkish +{ + UNICODE_G_BREVE_UC = 286, + UNICODE_G_BREVE = 287, + UNICODE_I_WITH_DOT_UC = 304, + UNICODE_I_WITHOUT_DOT = 305, + UNICODE_S_CEDILLA_UC = 350, + UNICODE_S_CEDILLA = 351, +}; + enum UnicodeDingbats { UNICODE_DINGBATS_PLUS = 0x2795, diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index 2f51675d13..b894f7b911 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -898,7 +898,14 @@ enum SPR_G2_GUILDER_SIGN = SPR_G2_CHAR_BEGIN + 50, - SPR_G2_CHAR_END = SPR_G2_GUILDER_SIGN, + SPR_G2_G_BREVE_UPPER = SPR_G2_CHAR_BEGIN + 51, + SPR_G2_I_WITH_DOT_UPPER = SPR_G2_CHAR_BEGIN + 52, + SPR_G2_S_CEDILLA_UPPER = SPR_G2_CHAR_BEGIN + 53, + SPR_G2_G_BREVE_LOWER = SPR_G2_CHAR_BEGIN + 54, + SPR_G2_I_WITHOUT_DOT_LOWER = SPR_G2_CHAR_BEGIN + 55, + SPR_G2_S_CEDILLA_LOWER = SPR_G2_CHAR_BEGIN + 56, + + SPR_G2_CHAR_END = SPR_G2_S_CEDILLA_LOWER, SPR_G2_GLYPH_COUNT = (SPR_G2_CHAR_END - SPR_G2_CHAR_BEGIN) + 1, // 0x60000, chosen because it's a round hex number