diff --git a/resources/g2/font/latin/c-circumflex-bold.png b/resources/g2/font/latin/c-circumflex-bold.png new file mode 100644 index 0000000000..ba6442e7f9 Binary files /dev/null and b/resources/g2/font/latin/c-circumflex-bold.png differ diff --git a/resources/g2/font/latin/c-circumflex-small.png b/resources/g2/font/latin/c-circumflex-small.png new file mode 100644 index 0000000000..eb8a9dfbf6 Binary files /dev/null and b/resources/g2/font/latin/c-circumflex-small.png differ diff --git a/resources/g2/font/latin/c-circumflex-tiny.png b/resources/g2/font/latin/c-circumflex-tiny.png new file mode 100644 index 0000000000..584e504d6d Binary files /dev/null and b/resources/g2/font/latin/c-circumflex-tiny.png differ diff --git a/resources/g2/font/latin/c-circumflex-uc-bold.png b/resources/g2/font/latin/c-circumflex-uc-bold.png new file mode 100644 index 0000000000..36f7560e49 Binary files /dev/null and b/resources/g2/font/latin/c-circumflex-uc-bold.png differ diff --git a/resources/g2/font/latin/c-circumflex-uc-small.png b/resources/g2/font/latin/c-circumflex-uc-small.png new file mode 100644 index 0000000000..c76af01d01 Binary files /dev/null and b/resources/g2/font/latin/c-circumflex-uc-small.png differ diff --git a/resources/g2/font/latin/c-circumflex-uc-tiny.png b/resources/g2/font/latin/c-circumflex-uc-tiny.png new file mode 100644 index 0000000000..91c41ae4c6 Binary files /dev/null and b/resources/g2/font/latin/c-circumflex-uc-tiny.png differ diff --git a/resources/g2/font/latin/g-circumflex-bold.png b/resources/g2/font/latin/g-circumflex-bold.png new file mode 100644 index 0000000000..c3d60424f3 Binary files /dev/null and b/resources/g2/font/latin/g-circumflex-bold.png differ diff --git a/resources/g2/font/latin/g-circumflex-small.png b/resources/g2/font/latin/g-circumflex-small.png new file mode 100644 index 0000000000..fc18f27723 Binary files /dev/null and b/resources/g2/font/latin/g-circumflex-small.png differ diff --git a/resources/g2/font/latin/g-circumflex-tiny.png b/resources/g2/font/latin/g-circumflex-tiny.png new file mode 100644 index 0000000000..3cfa9fac50 Binary files /dev/null and b/resources/g2/font/latin/g-circumflex-tiny.png differ diff --git a/resources/g2/font/latin/g-circumflex-uc-bold.png b/resources/g2/font/latin/g-circumflex-uc-bold.png new file mode 100644 index 0000000000..ee245654b6 Binary files /dev/null and b/resources/g2/font/latin/g-circumflex-uc-bold.png differ diff --git a/resources/g2/font/latin/g-circumflex-uc-small.png b/resources/g2/font/latin/g-circumflex-uc-small.png new file mode 100644 index 0000000000..f270fb9e3a Binary files /dev/null and b/resources/g2/font/latin/g-circumflex-uc-small.png differ diff --git a/resources/g2/font/latin/g-circumflex-uc-tiny.png b/resources/g2/font/latin/g-circumflex-uc-tiny.png new file mode 100644 index 0000000000..82b2cbfc9f Binary files /dev/null and b/resources/g2/font/latin/g-circumflex-uc-tiny.png differ diff --git a/resources/g2/font/latin/h-circumflex-bold.png b/resources/g2/font/latin/h-circumflex-bold.png new file mode 100644 index 0000000000..f1f0c01fa3 Binary files /dev/null and b/resources/g2/font/latin/h-circumflex-bold.png differ diff --git a/resources/g2/font/latin/h-circumflex-small.png b/resources/g2/font/latin/h-circumflex-small.png new file mode 100644 index 0000000000..c71bb60f7f Binary files /dev/null and b/resources/g2/font/latin/h-circumflex-small.png differ diff --git a/resources/g2/font/latin/h-circumflex-tiny.png b/resources/g2/font/latin/h-circumflex-tiny.png new file mode 100644 index 0000000000..fb9f021a4a Binary files /dev/null and b/resources/g2/font/latin/h-circumflex-tiny.png differ diff --git a/resources/g2/font/latin/h-circumflex-uc-bold.png b/resources/g2/font/latin/h-circumflex-uc-bold.png new file mode 100644 index 0000000000..48e4fbd138 Binary files /dev/null and b/resources/g2/font/latin/h-circumflex-uc-bold.png differ diff --git a/resources/g2/font/latin/h-circumflex-uc-small.png b/resources/g2/font/latin/h-circumflex-uc-small.png new file mode 100644 index 0000000000..a0980e1003 Binary files /dev/null and b/resources/g2/font/latin/h-circumflex-uc-small.png differ diff --git a/resources/g2/font/latin/h-circumflex-uc-tiny.png b/resources/g2/font/latin/h-circumflex-uc-tiny.png new file mode 100644 index 0000000000..b0749733aa Binary files /dev/null and b/resources/g2/font/latin/h-circumflex-uc-tiny.png differ diff --git a/resources/g2/font/latin/j-circumflex-bold.png b/resources/g2/font/latin/j-circumflex-bold.png new file mode 100644 index 0000000000..1e2643e862 Binary files /dev/null and b/resources/g2/font/latin/j-circumflex-bold.png differ diff --git a/resources/g2/font/latin/j-circumflex-small.png b/resources/g2/font/latin/j-circumflex-small.png new file mode 100644 index 0000000000..7c9130fc04 Binary files /dev/null and b/resources/g2/font/latin/j-circumflex-small.png differ diff --git a/resources/g2/font/latin/j-circumflex-tiny.png b/resources/g2/font/latin/j-circumflex-tiny.png new file mode 100644 index 0000000000..d14cf83c2d Binary files /dev/null and b/resources/g2/font/latin/j-circumflex-tiny.png differ diff --git a/resources/g2/font/latin/j-circumflex-uc-bold.png b/resources/g2/font/latin/j-circumflex-uc-bold.png new file mode 100644 index 0000000000..ac50380372 Binary files /dev/null and b/resources/g2/font/latin/j-circumflex-uc-bold.png differ diff --git a/resources/g2/font/latin/j-circumflex-uc-small.png b/resources/g2/font/latin/j-circumflex-uc-small.png new file mode 100644 index 0000000000..7494a15d3a Binary files /dev/null and b/resources/g2/font/latin/j-circumflex-uc-small.png differ diff --git a/resources/g2/font/latin/j-circumflex-uc-tiny.png b/resources/g2/font/latin/j-circumflex-uc-tiny.png new file mode 100644 index 0000000000..4cdf50d7ea Binary files /dev/null and b/resources/g2/font/latin/j-circumflex-uc-tiny.png differ diff --git a/resources/g2/font/latin/s-circumflex-bold.png b/resources/g2/font/latin/s-circumflex-bold.png new file mode 100644 index 0000000000..dde6a72434 Binary files /dev/null and b/resources/g2/font/latin/s-circumflex-bold.png differ diff --git a/resources/g2/font/latin/s-circumflex-small.png b/resources/g2/font/latin/s-circumflex-small.png new file mode 100644 index 0000000000..bbc837b99b Binary files /dev/null and b/resources/g2/font/latin/s-circumflex-small.png differ diff --git a/resources/g2/font/latin/s-circumflex-tiny.png b/resources/g2/font/latin/s-circumflex-tiny.png new file mode 100644 index 0000000000..55921d4425 Binary files /dev/null and b/resources/g2/font/latin/s-circumflex-tiny.png differ diff --git a/resources/g2/font/latin/s-circumflex-uc-bold.png b/resources/g2/font/latin/s-circumflex-uc-bold.png new file mode 100644 index 0000000000..3104d77a87 Binary files /dev/null and b/resources/g2/font/latin/s-circumflex-uc-bold.png differ diff --git a/resources/g2/font/latin/s-circumflex-uc-small.png b/resources/g2/font/latin/s-circumflex-uc-small.png new file mode 100644 index 0000000000..5912bc5848 Binary files /dev/null and b/resources/g2/font/latin/s-circumflex-uc-small.png differ diff --git a/resources/g2/font/latin/s-circumflex-uc-tiny.png b/resources/g2/font/latin/s-circumflex-uc-tiny.png new file mode 100644 index 0000000000..cf7bd86135 Binary files /dev/null and b/resources/g2/font/latin/s-circumflex-uc-tiny.png differ diff --git a/resources/g2/font/latin/u-breve-bold.png b/resources/g2/font/latin/u-breve-bold.png new file mode 100644 index 0000000000..68f6ea2f70 Binary files /dev/null and b/resources/g2/font/latin/u-breve-bold.png differ diff --git a/resources/g2/font/latin/u-breve-small.png b/resources/g2/font/latin/u-breve-small.png new file mode 100644 index 0000000000..5c411d7984 Binary files /dev/null and b/resources/g2/font/latin/u-breve-small.png differ diff --git a/resources/g2/font/latin/u-breve-tiny.png b/resources/g2/font/latin/u-breve-tiny.png new file mode 100644 index 0000000000..c807064448 Binary files /dev/null and b/resources/g2/font/latin/u-breve-tiny.png differ diff --git a/resources/g2/font/latin/u-breve-uc-bold.png b/resources/g2/font/latin/u-breve-uc-bold.png new file mode 100644 index 0000000000..372b2e3e96 Binary files /dev/null and b/resources/g2/font/latin/u-breve-uc-bold.png differ diff --git a/resources/g2/font/latin/u-breve-uc-small.png b/resources/g2/font/latin/u-breve-uc-small.png new file mode 100644 index 0000000000..4af3696fd6 Binary files /dev/null and b/resources/g2/font/latin/u-breve-uc-small.png differ diff --git a/resources/g2/font/latin/u-breve-uc-tiny.png b/resources/g2/font/latin/u-breve-uc-tiny.png new file mode 100644 index 0000000000..3aafd62092 Binary files /dev/null and b/resources/g2/font/latin/u-breve-uc-tiny.png differ diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index 360d74dff9..13f7b58a26 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -961,6 +961,79 @@ "palette": "keep", "forceBmp": true }, + { + "path": "font/latin/c-circumflex-uc-small.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/c-circumflex-small.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/g-circumflex-uc-small.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/g-circumflex-small.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/h-circumflex-uc-small.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/h-circumflex-small.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/j-circumflex-uc-small.png", + "x_offset": -1, + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/j-circumflex-small.png", + "x_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/s-circumflex-uc-small.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/s-circumflex-small.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/u-breve-uc-small.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/u-breve-small.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, { "path": "font/latin/ae-uc-bold.png", "y_offset": 0, @@ -1448,6 +1521,79 @@ "palette": "keep", "forceBmp": true }, + { + "path": "font/latin/c-circumflex-uc-bold.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/c-circumflex-bold.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/g-circumflex-uc-bold.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/g-circumflex-bold.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/h-circumflex-uc-bold.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/h-circumflex-bold.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/j-circumflex-uc-bold.png", + "x_offset": -1, + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/j-circumflex-bold.png", + "x_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/s-circumflex-uc-bold.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/s-circumflex-bold.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/u-breve-uc-bold.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/u-breve-bold.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, { "path": "font/latin/ae-uc-tiny.png", "y_offset": 0, @@ -1942,5 +2088,77 @@ "x_offset": 0, "palette": "keep", "forceBmp": true + }, + { + "path": "font/latin/c-circumflex-uc-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/c-circumflex-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/g-circumflex-uc-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/g-circumflex-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/h-circumflex-uc-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/h-circumflex-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/j-circumflex-uc-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/j-circumflex-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/s-circumflex-uc-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/s-circumflex-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/u-breve-uc-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true + }, + { + "path": "font/latin/u-breve-tiny.png", + "y_offset": -1, + "palette": "keep", + "forceBmp": true } ] diff --git a/src/openrct2/drawing/Font.cpp b/src/openrct2/drawing/Font.cpp index f12d48c2e2..b6caebbfb7 100644 --- a/src/openrct2/drawing/Font.cpp +++ b/src/openrct2/drawing/Font.cpp @@ -89,6 +89,18 @@ static const std::unordered_map codepointOffsetMap = { { UnicodeChar::t_comma_uc, SPR_G2_T_COMMA_UPPER - SPR_CHAR_START }, { UnicodeChar::t_comma, SPR_G2_T_COMMA_LOWER - SPR_CHAR_START }, { UnicodeChar::sharp_s_uc, 223 - CS_SPRITE_FONT_OFFSET }, + { UnicodeChar::c_circumflex_uc, SPR_G2_C_CIRCUMFLEX_UPPER - SPR_CHAR_START }, + { UnicodeChar::c_circumflex, SPR_G2_C_CIRCUMFLEX_LOWER - SPR_CHAR_START }, + { UnicodeChar::g_circumflex_uc, SPR_G2_G_CIRCUMFLEX_UPPER - SPR_CHAR_START }, + { UnicodeChar::g_circumflex, SPR_G2_G_CIRCUMFLEX_LOWER - SPR_CHAR_START }, + { UnicodeChar::h_circumflex_uc, SPR_G2_H_CIRCUMFLEX_UPPER - SPR_CHAR_START }, + { UnicodeChar::h_circumflex, SPR_G2_H_CIRCUMFLEX_LOWER - SPR_CHAR_START }, + { UnicodeChar::j_circumflex_uc, SPR_G2_J_CIRCUMFLEX_UPPER - SPR_CHAR_START }, + { UnicodeChar::j_circumflex, SPR_G2_J_CIRCUMFLEX_LOWER - SPR_CHAR_START }, + { UnicodeChar::s_circumflex_uc, SPR_G2_S_CIRCUMFLEX_UPPER - SPR_CHAR_START }, + { UnicodeChar::s_circumflex, SPR_G2_S_CIRCUMFLEX_LOWER - SPR_CHAR_START }, + { UnicodeChar::u_breve_uc, SPR_G2_U_BREVE_UPPER - SPR_CHAR_START }, + { UnicodeChar::u_breve, SPR_G2_U_BREVE_LOWER - SPR_CHAR_START }, // Cyrillic alphabet { UnicodeChar::cyrillic_io_uc, 203 - CS_SPRITE_FONT_OFFSET }, // Looks just like Ë diff --git a/src/openrct2/localisation/FormatCodes.h b/src/openrct2/localisation/FormatCodes.h index 2bf75b7e46..989bb69a99 100644 --- a/src/openrct2/localisation/FormatCodes.h +++ b/src/openrct2/localisation/FormatCodes.h @@ -158,6 +158,8 @@ namespace UnicodeChar constexpr char32_t a_ogonek = 0x105; constexpr char32_t c_acute_uc = 0x106; constexpr char32_t c_acute = 0x107; + constexpr char32_t c_circumflex_uc = 0x108; + constexpr char32_t c_circumflex = 0x109; constexpr char32_t c_caron_uc = 0x10C; constexpr char32_t c_caron = 0x10D; constexpr char32_t d_caron_uc = 0x10E; @@ -166,10 +168,16 @@ namespace UnicodeChar constexpr char32_t e_ogonek = 0x119; constexpr char32_t e_caron_uc = 0x11A; constexpr char32_t e_caron = 0x11B; + constexpr char32_t g_circumflex_uc = 0x11C; + constexpr char32_t g_circumflex = 0x11D; constexpr char32_t g_breve_uc = 0x11E; constexpr char32_t g_breve = 0x11F; + constexpr char32_t h_circumflex_uc = 0x124; + constexpr char32_t h_circumflex = 0x125; constexpr char32_t i_with_dot_uc = 0x130; constexpr char32_t i_without_dot = 0x131; + constexpr char32_t j_circumflex_uc = 0x134; + constexpr char32_t j_circumflex = 0x135; constexpr char32_t l_stroke_uc = 0x141; constexpr char32_t l_stroke = 0x142; constexpr char32_t n_acute_uc = 0x143; @@ -183,12 +191,16 @@ namespace UnicodeChar constexpr char32_t r_caron = 0x159; constexpr char32_t s_acute_uc = 0x15A; constexpr char32_t s_acute = 0x15B; + constexpr char32_t s_circumflex_uc = 0x15C; + constexpr char32_t s_circumflex = 0x15D; constexpr char32_t s_cedilla_uc = 0x15E; constexpr char32_t s_cedilla = 0x15F; constexpr char32_t s_caron_uc = 0x160; constexpr char32_t s_caron = 0x161; constexpr char32_t t_caron_uc = 0x164; constexpr char32_t t_caron = 0x165; + constexpr char32_t u_breve_uc = 0x16C; + constexpr char32_t u_breve = 0x16D; constexpr char32_t u_ring_uc = 0x16E; constexpr char32_t u_ring = 0x16F; constexpr char32_t u_double_acute_uc = 0x170; diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index 6fd4fcd557..cbccbfdf2a 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -967,7 +967,20 @@ enum SPR_G2_J = SPR_G2_CHAR_BEGIN + 87, - SPR_G2_GLYPH_COUNT = (SPR_G2_J - SPR_G2_CHAR_BEGIN) + 1, + SPR_G2_C_CIRCUMFLEX_UPPER, + SPR_G2_C_CIRCUMFLEX_LOWER, + SPR_G2_G_CIRCUMFLEX_UPPER, + SPR_G2_G_CIRCUMFLEX_LOWER, + SPR_G2_H_CIRCUMFLEX_UPPER, + SPR_G2_H_CIRCUMFLEX_LOWER, + SPR_G2_J_CIRCUMFLEX_UPPER, + SPR_G2_J_CIRCUMFLEX_LOWER, + SPR_G2_S_CIRCUMFLEX_UPPER, + SPR_G2_S_CIRCUMFLEX_LOWER, + SPR_G2_U_BREVE_UPPER, + SPR_G2_U_BREVE_LOWER, + + SPR_G2_GLYPH_COUNT = (SPR_G2_U_BREVE_LOWER - SPR_G2_CHAR_BEGIN) + 1, SPR_G2_CHAR_END = SPR_G2_CHAR_BEGIN + SPR_G2_GLYPH_COUNT * 3, SPR_G2_END = SPR_G2_CHAR_END,