diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 06452d282d..e6e79b793d 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -53,6 +53,7 @@ - Fix: [#12285] On-ride photo profit assumes every guest buys one. - Fix: [#12297] OpenGL renderer causing artifacts. - Fix: [#12312] Softlock when loading save file via command line fails. +- Fix: 'j' character has broken kerning (original bug). - Fix: RCT1 scenarios have more items in the object list than are present in the park or the research list. - Improved: [#6530] Allow water and land height changes on park borders. - Improved: [#11390] Build hash written to screenshot metadata. diff --git a/resources/g2/font/latin/j-bold.png b/resources/g2/font/latin/j-bold.png new file mode 100644 index 0000000000..39459649ec Binary files /dev/null and b/resources/g2/font/latin/j-bold.png differ diff --git a/resources/g2/font/latin/j-small.png b/resources/g2/font/latin/j-small.png new file mode 100644 index 0000000000..91fe8d3db7 Binary files /dev/null and b/resources/g2/font/latin/j-small.png differ diff --git a/resources/g2/font/latin/j-tiny.png b/resources/g2/font/latin/j-tiny.png new file mode 100644 index 0000000000..e534d181b6 Binary files /dev/null and b/resources/g2/font/latin/j-tiny.png differ diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index 6f5fba1756..235d8fcd78 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -958,6 +958,12 @@ "palette": "keep", "forceBmp": true }, + { + "path": "font/latin/j-small.png", + "x_offset": -1, + "palette": "keep", + "forceBmp": true + }, { "path": "font/latin/ae-uc-bold.png", "y_offset": 0, @@ -1439,6 +1445,12 @@ "palette": "keep", "forceBmp": true }, + { + "path": "font/latin/j-bold.png", + "x_offset": -1, + "palette": "keep", + "forceBmp": true + }, { "path": "font/latin/ae-uc-tiny.png", "y_offset": 0, @@ -1927,5 +1939,11 @@ "y_offset": 0, "palette": "keep", "forceBmp": true + }, + { + "path": "font/latin/j-tiny.png", + "x_offset": 0, + "palette": "keep", + "forceBmp": true } ] diff --git a/src/openrct2/drawing/Font.cpp b/src/openrct2/drawing/Font.cpp index 7efc63323c..f12d48c2e2 100644 --- a/src/openrct2/drawing/Font.cpp +++ b/src/openrct2/drawing/Font.cpp @@ -53,6 +53,7 @@ static const std::unordered_map codepointOffsetMap = { { UnicodeChar::g_breve, SPR_G2_G_BREVE_LOWER - SPR_CHAR_START }, { UnicodeChar::i_with_dot_uc, SPR_G2_I_WITH_DOT_UPPER - SPR_CHAR_START }, { UnicodeChar::i_without_dot, SPR_G2_I_WITHOUT_DOT_LOWER - SPR_CHAR_START }, + { UnicodeChar::j, SPR_G2_J - SPR_CHAR_START }, { UnicodeChar::l_stroke_uc, CSChar::l_stroke_uc - CS_SPRITE_FONT_OFFSET }, { UnicodeChar::l_stroke, CSChar::l_stroke - CS_SPRITE_FONT_OFFSET }, { UnicodeChar::n_acute_uc, CSChar::n_acute_uc - CS_SPRITE_FONT_OFFSET }, diff --git a/src/openrct2/localisation/FormatCodes.h b/src/openrct2/localisation/FormatCodes.h index 52d94d148c..2bf75b7e46 100644 --- a/src/openrct2/localisation/FormatCodes.h +++ b/src/openrct2/localisation/FormatCodes.h @@ -145,6 +145,7 @@ namespace CSChar namespace UnicodeChar { // Latin alphabet + constexpr char32_t j = 0x6A; constexpr char32_t ae_uc = 0xC6; constexpr char32_t o_stroke_uc = 0xD8; constexpr char32_t y_acute_uc = 0xDD; diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index 746191c07c..7adcd3011a 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -965,7 +965,10 @@ enum SPR_G2_Z_CARON_LOWER = SPR_G2_CHAR_BEGIN + 85, SPR_G2_ROUBLE_SIGN = SPR_G2_CHAR_BEGIN + 86, - SPR_G2_GLYPH_COUNT = (SPR_G2_ROUBLE_SIGN - SPR_G2_CHAR_BEGIN) + 1, + + SPR_G2_J = SPR_G2_CHAR_BEGIN + 87, + + SPR_G2_GLYPH_COUNT = (SPR_G2_J - 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,