diff --git a/resources/g2/font/interpunct-bold.png b/resources/g2/font/interpunct-bold.png new file mode 100644 index 0000000000..9f6982b726 Binary files /dev/null and b/resources/g2/font/interpunct-bold.png differ diff --git a/resources/g2/font/interpunct-small.png b/resources/g2/font/interpunct-small.png new file mode 100644 index 0000000000..8e0846b989 Binary files /dev/null and b/resources/g2/font/interpunct-small.png differ diff --git a/resources/g2/font/interpunct-tiny.png b/resources/g2/font/interpunct-tiny.png new file mode 100644 index 0000000000..a1fc02cdd6 Binary files /dev/null and b/resources/g2/font/interpunct-tiny.png differ diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index 10ee4f98e7..fc40afc72e 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -740,6 +740,12 @@ "palette": "keep", "forceBmp": true }, + { + "path": "font/interpunct-small.png", + "y_offset": 3, + "palette": "keep", + "forceBmp": true + }, { "path": "font/ae-uc-bold.png", "y_offset": 0, @@ -1041,6 +1047,12 @@ "palette": "keep", "forceBmp": true }, + { + "path": "font/interpunct-bold.png", + "y_offset": 3, + "palette": "keep", + "forceBmp": true + }, { "path": "font/ae-uc-tiny.png", "y_offset": 0, @@ -1349,5 +1361,11 @@ "y_offset": 1, "palette": "keep", "forceBmp": true + }, + { + "path": "font/interpunct-tiny.png", + "y_offset": 2, + "palette": "keep", + "forceBmp": true } ] diff --git a/src/openrct2/drawing/Font.cpp b/src/openrct2/drawing/Font.cpp index 5ca1c9aa6f..aa32206de3 100644 --- a/src/openrct2/drawing/Font.cpp +++ b/src/openrct2/drawing/Font.cpp @@ -350,6 +350,9 @@ int32_t font_sprite_get_codepoint_offset(int32_t codepoint) case UNICODE_S_CEDILLA: return SPR_G2_S_CEDILLA_LOWER - SPR_CHAR_START; + case UNICODE_INTERPUNCT: + return SPR_G2_INTERPUNCT - SPR_CHAR_START; + // This is to catch capitalised versions of the guilder sign case UNICODE_F_WITH_HOOK_UC: return 'F' - 32; @@ -523,6 +526,8 @@ bool font_supports_string_sprite(const utf8* text) case UNICODE_I_WITHOUT_DOT: case UNICODE_S_CEDILLA: + case UNICODE_INTERPUNCT: + supported = true; break; default: diff --git a/src/openrct2/localisation/FormatCodes.h b/src/openrct2/localisation/FormatCodes.h index 91208cd2a4..bd2f997360 100644 --- a/src/openrct2/localisation/FormatCodes.h +++ b/src/openrct2/localisation/FormatCodes.h @@ -179,6 +179,11 @@ enum UnicodePolish UNICODE_Z_ACUTE = 378, }; +enum UnicodeCatalan +{ + UNICODE_INTERPUNCT = 183, +}; + enum UnicodeGerman { UNICODE_CAPITAL_SHARP_S = 0x1E9E, diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index b894f7b911..c496b15e4d 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -905,7 +905,9 @@ enum 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_INTERPUNCT = SPR_G2_CHAR_BEGIN + 57, + + SPR_G2_CHAR_END = SPR_G2_INTERPUNCT, SPR_G2_GLYPH_COUNT = (SPR_G2_CHAR_END - SPR_G2_CHAR_BEGIN) + 1, // 0x60000, chosen because it's a round hex number