1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-24 15:24:30 +01:00

Add sprite glyphs for Cyrillic/Russian

This commit is contained in:
Gymnasiast
2017-10-09 23:25:35 +02:00
parent f6b5f9e3ae
commit 86aee96c3d
95 changed files with 721 additions and 3 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 883 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 892 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 901 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 902 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 890 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 890 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 902 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 902 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 890 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 883 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 883 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 884 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 879 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 892 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 879 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 885 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 884 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 884 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 885 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 890 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 884 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 884 B

View File

@@ -465,6 +465,233 @@
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1041-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1043-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1044-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1046-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1047-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1048-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1049-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1051-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1055-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1059-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1060-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1062-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1063-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1064-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1065-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1066-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1067-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1068-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1069-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1070-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1071-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1073-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1074-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1075-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1076-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1078-small.png",
"y_offset": 2,
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1079-small.png",
"y_offset": 2,
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1080-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1081-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1082-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1083-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1084-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1085-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1087-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1090-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1092-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1094-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1095-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1096-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1097-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1099-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1100-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1101-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1102-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1103-small.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/ae-uc-bold.png",
"y_offset": 0,
@@ -491,6 +718,233 @@
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1041-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1043-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1044-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1046-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1047-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1048-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1049-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1051-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1055-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1059-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1060-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1062-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1063-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1064-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1065-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1066-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1067-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1068-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1069-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1070-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1071-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1073-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1074-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1075-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1076-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1078-bold.png",
"y_offset": 2,
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1079-bold.png",
"y_offset": 2,
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1080-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1081-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1082-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1083-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1084-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1085-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1087-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1090-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1092-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1094-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1095-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1096-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1097-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1099-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1100-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1101-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1102-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/cyrillic/U1103-bold.png",
"palette": "keep",
"forceBmp": true
},
{
"path": "font/ae-uc-tiny.png",
"y_offset": 0,

View File

@@ -170,6 +170,7 @@ int32_t font_sprite_get_codepoint_offset(int32_t codepoint)
case UNICODE_CAPITAL_SHARP_S:
return 223 - 32;
// Norwegian/Danish
case UNICODE_AE_UC:
return SPR_G2_AE_UPPER - SPR_CHAR_START;
case UNICODE_O_STROKE_UC:
@@ -184,6 +185,144 @@ int32_t font_sprite_get_codepoint_offset(int32_t codepoint)
case UNICODE_DINGBATS_MINUS:
return 13;
// Cyrillic
case UNICODE_CYRILLIC_A_UC:
return 'A' - 32;
case UNICODE_CYRILLIC_BE_UC:
return SPR_G2_CYRILLIC_BE_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_VE_UC:
return 'B' - 32;
case UNICODE_CYRILLIC_GHE_UC:
return SPR_G2_CYRILLIC_GHE_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_DE_UC:
return SPR_G2_CYRILLIC_DE_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_IE_UC:
return 'E' - 32;
case UNICODE_CYRILLIC_ZHE_UC:
return SPR_G2_CYRILLIC_ZHE_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_ZE_UC:
return SPR_G2_CYRILLIC_ZE_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_I_UC:
return SPR_G2_CYRILLIC_I_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_SHORT_I_UC:
return SPR_G2_CYRILLIC_SHORT_I_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_KA_UC:
return 'K' - 32;
case UNICODE_CYRILLIC_EL_UC:
return SPR_G2_CYRILLIC_EL_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_EM_UC:
return 'M' - 32;
case UNICODE_CYRILLIC_EN_UC:
return 'H' - 32;
case UNICODE_CYRILLIC_O_UC:
return 'O' - 32;
case UNICODE_CYRILLIC_PE_UC:
return SPR_G2_CYRILLIC_PE_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_ER_UC:
return 'P' - 32;
case UNICODE_CYRILLIC_ES_UC:
return 'C' - 32;
case UNICODE_CYRILLIC_TE_UC:
return 'T' - 32;
case UNICODE_CYRILLIC_U_UC:
return SPR_G2_CYRILLIC_U_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_EF_UC:
return SPR_G2_CYRILLIC_EF_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_HA_UC:
return 'X' - 32;
case UNICODE_CYRILLIC_TSE_UC:
return SPR_G2_CYRILLIC_TSE_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_CHE_UC:
return SPR_G2_CYRILLIC_CHE_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_SHA_UC:
return SPR_G2_CYRILLIC_SHA_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_SHCHA_UC:
return SPR_G2_CYRILLIC_SHCHA_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_HARD_SIGN_UC:
return SPR_G2_CYRILLIC_HARD_SIGN_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_YERU_UC:
return SPR_G2_CYRILLIC_YERU_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_SOFT_SIGN_UC:
return SPR_G2_CYRILLIC_SOFT_SIGN_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_E_UC:
return SPR_G2_CYRILLIC_E_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_YU_UC:
return SPR_G2_CYRILLIC_YU_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_YA_UC:
return SPR_G2_CYRILLIC_YA_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_A:
return 'a' - 32;
case UNICODE_CYRILLIC_BE:
return SPR_G2_CYRILLIC_BE_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_VE:
return SPR_G2_CYRILLIC_VE_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_GHE:
return SPR_G2_CYRILLIC_GHE_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_DE:
return SPR_G2_CYRILLIC_DE_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_IE:
return 'e' - 32;
case UNICODE_CYRILLIC_ZHE:
return SPR_G2_CYRILLIC_ZHE_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_ZE:
return SPR_G2_CYRILLIC_ZE_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_I:
return SPR_G2_CYRILLIC_I_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_SHORT_I:
return SPR_G2_CYRILLIC_SHORT_I_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_KA:
return SPR_G2_CYRILLIC_KA_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_EL:
return SPR_G2_CYRILLIC_EL_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_EM:
return SPR_G2_CYRILLIC_EM_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_EN:
return SPR_G2_CYRILLIC_EN_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_O:
return 'o' - 32;
case UNICODE_CYRILLIC_PE:
return SPR_G2_CYRILLIC_PE_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_ER:
return 'p' - 32;
case UNICODE_CYRILLIC_ES:
return 'c' - 32;
case UNICODE_CYRILLIC_TE:
return SPR_G2_CYRILLIC_TE_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_U:
return 'y' - 32;
case UNICODE_CYRILLIC_EF:
return SPR_G2_CYRILLIC_EF_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_HA:
return 'x' - 32;
case UNICODE_CYRILLIC_TSE:
return SPR_G2_CYRILLIC_TSE_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_CHE:
return SPR_G2_CYRILLIC_CHE_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_SHA:
return SPR_G2_CYRILLIC_SHA_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_SHCHA:
return SPR_G2_CYRILLIC_SHCHA_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_HARD_SIGN:
// Not a typo, there is no glyph, use the upper case variant.
return SPR_G2_CYRILLIC_HARD_SIGN_UPPER - SPR_CHAR_START;
case UNICODE_CYRILLIC_YERU:
return SPR_G2_CYRILLIC_YERU_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_SOFT_SIGN:
return SPR_G2_CYRILLIC_SOFT_SIGN_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_E:
return SPR_G2_CYRILLIC_E_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_YU:
return SPR_G2_CYRILLIC_YU_LOWER - SPR_CHAR_START;
case UNICODE_CYRILLIC_YA:
return SPR_G2_CYRILLIC_YA_LOWER - SPR_CHAR_START;
// Looks just like Ë.
case UNICODE_CYRILLIC_IO_UC:
return 171;
case UNICODE_CYRILLIC_IO:
return 203;
default:
if (codepoint < 32 || codepoint >= 256)
codepoint = '?';
@@ -336,15 +475,20 @@ bool font_supports_string_sprite(const utf8* text)
case UNICODE_Z_DOT:
case UNICODE_Z_ACUTE:
case UNICODE_CYRILLIC_IO_UC:
case UNICODE_CYRILLIC_IO:
supported = true;
break;
default:
if (codepoint >= 32 && codepoint < 256)
if ((codepoint >= 32 && codepoint < 256)
|| (codepoint >= UNICODE_CYRILLIC_A_UC && codepoint <= UNICODE_CYRILLIC_YA))
{
supported = true;
}
break;
}
if (!supported)
{
return false;

View File

@@ -188,6 +188,79 @@ enum UnicodeNorwegianDanish
UNICODE_O_STROKE = 248,
};
enum UnicodeCyrillic
{
UNICODE_CYRILLIC_A_UC = 1040,
UNICODE_CYRILLIC_BE_UC = 1041,
UNICODE_CYRILLIC_VE_UC = 1042,
UNICODE_CYRILLIC_GHE_UC = 1043,
UNICODE_CYRILLIC_DE_UC = 1044,
UNICODE_CYRILLIC_IE_UC = 1045,
UNICODE_CYRILLIC_ZHE_UC = 1046,
UNICODE_CYRILLIC_ZE_UC = 1047,
UNICODE_CYRILLIC_I_UC = 1048,
UNICODE_CYRILLIC_SHORT_I_UC = 1049,
UNICODE_CYRILLIC_KA_UC = 1050,
UNICODE_CYRILLIC_EL_UC = 1051,
UNICODE_CYRILLIC_EM_UC = 1052,
UNICODE_CYRILLIC_EN_UC = 1053,
UNICODE_CYRILLIC_O_UC = 1054,
UNICODE_CYRILLIC_PE_UC = 1055,
UNICODE_CYRILLIC_ER_UC = 1056,
UNICODE_CYRILLIC_ES_UC = 1057,
UNICODE_CYRILLIC_TE_UC = 1058,
UNICODE_CYRILLIC_U_UC = 1059,
UNICODE_CYRILLIC_EF_UC = 1060,
UNICODE_CYRILLIC_HA_UC = 1061,
UNICODE_CYRILLIC_TSE_UC = 1062,
UNICODE_CYRILLIC_CHE_UC = 1063,
UNICODE_CYRILLIC_SHA_UC = 1064,
UNICODE_CYRILLIC_SHCHA_UC = 1065,
UNICODE_CYRILLIC_HARD_SIGN_UC = 1066,
UNICODE_CYRILLIC_YERU_UC = 1067,
UNICODE_CYRILLIC_SOFT_SIGN_UC = 1068,
UNICODE_CYRILLIC_E_UC = 1069,
UNICODE_CYRILLIC_YU_UC = 1070,
UNICODE_CYRILLIC_YA_UC = 1071,
UNICODE_CYRILLIC_A = 1072,
UNICODE_CYRILLIC_BE = 1073,
UNICODE_CYRILLIC_VE = 1074,
UNICODE_CYRILLIC_GHE = 1075,
UNICODE_CYRILLIC_DE = 1076,
UNICODE_CYRILLIC_IE = 1077,
UNICODE_CYRILLIC_ZHE = 1078,
UNICODE_CYRILLIC_ZE = 1079,
UNICODE_CYRILLIC_I = 1080,
UNICODE_CYRILLIC_SHORT_I = 1081,
UNICODE_CYRILLIC_KA = 1082,
UNICODE_CYRILLIC_EL = 1083,
UNICODE_CYRILLIC_EM = 1084,
UNICODE_CYRILLIC_EN = 1085,
UNICODE_CYRILLIC_O = 1086,
UNICODE_CYRILLIC_PE = 1087,
UNICODE_CYRILLIC_ER = 1088,
UNICODE_CYRILLIC_ES = 1089,
UNICODE_CYRILLIC_TE = 1090,
UNICODE_CYRILLIC_U = 1091,
UNICODE_CYRILLIC_EF = 1092,
UNICODE_CYRILLIC_HA = 1093,
UNICODE_CYRILLIC_TSE = 1094,
UNICODE_CYRILLIC_CHE = 1095,
UNICODE_CYRILLIC_SHA = 1096,
UNICODE_CYRILLIC_SHCHA = 1097,
UNICODE_CYRILLIC_HARD_SIGN = 1098,
UNICODE_CYRILLIC_YERU = 1099,
UNICODE_CYRILLIC_SOFT_SIGN = 1100,
UNICODE_CYRILLIC_E = 1101,
UNICODE_CYRILLIC_YU = 1102,
UNICODE_CYRILLIC_YA = 1103,
UNICODE_CYRILLIC_IO_UC = 1025,
UNICODE_CYRILLIC_IO = 1105,
};
enum UnicodeDingbats
{
UNICODE_DINGBATS_PLUS = 0x2795,

View File

@@ -43,7 +43,7 @@ const language_descriptor LanguagesDescriptors[LANGUAGE_COUNT] =
{ "nb-NO", "Norwegian", "Norsk", FAMILY_OPENRCT2_SPRITE, RCT2_LANGUAGE_ID_ENGLISH_UK }, // LANGUAGE_NORWEGIAN
{ "pl-PL", "Polish", "Polski", FAMILY_OPENRCT2_SPRITE, RCT2_LANGUAGE_ID_ENGLISH_UK }, // LANGUAGE_POLISH
{ "pt-BR", "Portuguese (BR)", u8"Português (BR)", FAMILY_OPENRCT2_SPRITE, RCT2_LANGUAGE_ID_PORTUGUESE }, // LANGUAGE_PORTUGUESE_BR
{ "ru-RU", "Russian", "Russian", FAMILY(&TTFFamilySansSerif), RCT2_LANGUAGE_ID_ENGLISH_UK }, // LANGUAGE_RUSSIAN
{ "ru-RU", "Russian", "Russian", FAMILY_OPENRCT2_SPRITE, RCT2_LANGUAGE_ID_ENGLISH_UK }, // LANGUAGE_RUSSIAN
{ "fi-FI", "Finnish", "Suomi", FAMILY_OPENRCT2_SPRITE, RCT2_LANGUAGE_ID_ENGLISH_UK }, // LANGUAGE_FINNISH
{ "sv-SE", "Swedish", "Svenska", FAMILY_OPENRCT2_SPRITE, RCT2_LANGUAGE_ID_SWEDISH }, // LANGUAGE_SWEDISH
};

View File

@@ -847,7 +847,54 @@ enum
SPR_G2_O_STROKE_UPPER = SPR_G2_CHAR_BEGIN + 2,
SPR_G2_O_STROKE_LOWER = SPR_G2_CHAR_BEGIN + 3,
SPR_G2_CHAR_END = SPR_G2_O_STROKE_LOWER,
SPR_G2_CYRILLIC_BE_UPPER = SPR_G2_CHAR_BEGIN + 4,
SPR_G2_CYRILLIC_GHE_UPPER = SPR_G2_CHAR_BEGIN + 5,
SPR_G2_CYRILLIC_DE_UPPER = SPR_G2_CHAR_BEGIN + 6,
SPR_G2_CYRILLIC_ZHE_UPPER = SPR_G2_CHAR_BEGIN + 7,
SPR_G2_CYRILLIC_ZE_UPPER = SPR_G2_CHAR_BEGIN + 8,
SPR_G2_CYRILLIC_I_UPPER = SPR_G2_CHAR_BEGIN + 9,
SPR_G2_CYRILLIC_SHORT_I_UPPER = SPR_G2_CHAR_BEGIN + 10,
SPR_G2_CYRILLIC_EL_UPPER = SPR_G2_CHAR_BEGIN + 11,
SPR_G2_CYRILLIC_PE_UPPER = SPR_G2_CHAR_BEGIN + 12,
SPR_G2_CYRILLIC_U_UPPER = SPR_G2_CHAR_BEGIN + 13,
SPR_G2_CYRILLIC_EF_UPPER = SPR_G2_CHAR_BEGIN + 14,
SPR_G2_CYRILLIC_TSE_UPPER = SPR_G2_CHAR_BEGIN + 15,
SPR_G2_CYRILLIC_CHE_UPPER = SPR_G2_CHAR_BEGIN + 16,
SPR_G2_CYRILLIC_SHA_UPPER = SPR_G2_CHAR_BEGIN + 17,
SPR_G2_CYRILLIC_SHCHA_UPPER = SPR_G2_CHAR_BEGIN + 18,
SPR_G2_CYRILLIC_HARD_SIGN_UPPER = SPR_G2_CHAR_BEGIN + 19,
SPR_G2_CYRILLIC_YERU_UPPER = SPR_G2_CHAR_BEGIN + 20,
SPR_G2_CYRILLIC_SOFT_SIGN_UPPER = SPR_G2_CHAR_BEGIN + 21,
SPR_G2_CYRILLIC_E_UPPER = SPR_G2_CHAR_BEGIN + 22,
SPR_G2_CYRILLIC_YU_UPPER = SPR_G2_CHAR_BEGIN + 23,
SPR_G2_CYRILLIC_YA_UPPER = SPR_G2_CHAR_BEGIN + 24,
SPR_G2_CYRILLIC_BE_LOWER = SPR_G2_CHAR_BEGIN + 25,
SPR_G2_CYRILLIC_VE_LOWER = SPR_G2_CHAR_BEGIN + 26,
SPR_G2_CYRILLIC_GHE_LOWER = SPR_G2_CHAR_BEGIN + 27,
SPR_G2_CYRILLIC_DE_LOWER = SPR_G2_CHAR_BEGIN + 28,
SPR_G2_CYRILLIC_ZHE_LOWER = SPR_G2_CHAR_BEGIN + 29,
SPR_G2_CYRILLIC_ZE_LOWER = SPR_G2_CHAR_BEGIN + 30,
SPR_G2_CYRILLIC_I_LOWER = SPR_G2_CHAR_BEGIN + 31,
SPR_G2_CYRILLIC_SHORT_I_LOWER = SPR_G2_CHAR_BEGIN + 32,
SPR_G2_CYRILLIC_KA_LOWER = SPR_G2_CHAR_BEGIN + 33,
SPR_G2_CYRILLIC_EL_LOWER = SPR_G2_CHAR_BEGIN + 34,
SPR_G2_CYRILLIC_EM_LOWER = SPR_G2_CHAR_BEGIN + 35,
SPR_G2_CYRILLIC_EN_LOWER = SPR_G2_CHAR_BEGIN + 36,
SPR_G2_CYRILLIC_PE_LOWER = SPR_G2_CHAR_BEGIN + 37,
SPR_G2_CYRILLIC_TE_LOWER = SPR_G2_CHAR_BEGIN + 38,
SPR_G2_CYRILLIC_EF_LOWER = SPR_G2_CHAR_BEGIN + 39,
SPR_G2_CYRILLIC_TSE_LOWER = SPR_G2_CHAR_BEGIN + 40,
SPR_G2_CYRILLIC_CHE_LOWER = SPR_G2_CHAR_BEGIN + 41,
SPR_G2_CYRILLIC_SHA_LOWER = SPR_G2_CHAR_BEGIN + 42,
SPR_G2_CYRILLIC_SHCHA_LOWER = SPR_G2_CHAR_BEGIN + 43,
SPR_G2_CYRILLIC_YERU_LOWER = SPR_G2_CHAR_BEGIN + 44,
SPR_G2_CYRILLIC_SOFT_SIGN_LOWER = SPR_G2_CHAR_BEGIN + 45,
SPR_G2_CYRILLIC_E_LOWER = SPR_G2_CHAR_BEGIN + 46,
SPR_G2_CYRILLIC_YU_LOWER = SPR_G2_CHAR_BEGIN + 47,
SPR_G2_CYRILLIC_YA_LOWER = SPR_G2_CHAR_BEGIN + 48,
SPR_G2_CHAR_END = SPR_G2_CYRILLIC_YA_LOWER,
SPR_G2_GLYPH_COUNT = (SPR_G2_CHAR_END - SPR_G2_CHAR_BEGIN) + 1,
// 0x60000, chosen because it's a round hex number