1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-11-07 11:22:45 +01:00
openrw/rwcore/fonts/FontMapGta3.cpp
2018-09-16 00:53:16 +02:00

208 lines
9.6 KiB
C++

#include "FontMapGta3.hpp"
static const FontMap::gschar_unicode_map_t map_gta3_font_common = {
{0x20, UnicodeValue::UNICODE_SPACE},
{0x21, UnicodeValue::UNICODE_EXCLAMATION_MARK},
{0x24, UnicodeValue::UNICODE_DOLLAR_SIGN},
{0x25, UnicodeValue::UNICODE_PROCENT_SIGN},
{0x26, UnicodeValue::UNICODE_AMPERSAND},
{0x27, UnicodeValue::UNICODE_APOSTROPHE},
{0x28, UnicodeValue::UNICODE_LEFT_PARENTHESIS},
{0x29, UnicodeValue::UNICODE_RIGHT_PARENTHESIS},
{0x2c, UnicodeValue::UNICODE_COMMA},
{0x2d, UnicodeValue::UNICODE_HYPHEN_MINUS},
{0x2e, UnicodeValue::UNICODE_FULL_STOP},
{0x30, UnicodeValue::UNICODE_DIGIT_0},
{0x31, UnicodeValue::UNICODE_DIGIT_1},
{0x32, UnicodeValue::UNICODE_DIGIT_2},
{0x33, UnicodeValue::UNICODE_DIGIT_3},
{0x34, UnicodeValue::UNICODE_DIGIT_4},
{0x35, UnicodeValue::UNICODE_DIGIT_5},
{0x36, UnicodeValue::UNICODE_DIGIT_6},
{0x37, UnicodeValue::UNICODE_DIGIT_7},
{0x38, UnicodeValue::UNICODE_DIGIT_8},
{0x39, UnicodeValue::UNICODE_DIGIT_9},
{0x3a, UnicodeValue::UNICODE_COLON},
{0x3f, UnicodeValue::UNICODE_QUESTION_MARK},
{0x41, UnicodeValue::UNICODE_CAPITAL_A},
{0x42, UnicodeValue::UNICODE_CAPITAL_B},
{0x43, UnicodeValue::UNICODE_CAPITAL_C},
{0x44, UnicodeValue::UNICODE_CAPITAL_D},
{0x45, UnicodeValue::UNICODE_CAPITAL_E},
{0x46, UnicodeValue::UNICODE_CAPITAL_F},
{0x47, UnicodeValue::UNICODE_CAPITAL_G},
{0x48, UnicodeValue::UNICODE_CAPITAL_H},
{0x49, UnicodeValue::UNICODE_CAPITAL_I},
{0x4a, UnicodeValue::UNICODE_CAPITAL_J},
{0x4b, UnicodeValue::UNICODE_CAPITAL_K},
{0x4c, UnicodeValue::UNICODE_CAPITAL_L},
{0x4d, UnicodeValue::UNICODE_CAPITAL_M},
{0x4e, UnicodeValue::UNICODE_CAPITAL_N},
{0x4f, UnicodeValue::UNICODE_CAPITAL_O},
{0x50, UnicodeValue::UNICODE_CAPITAL_P},
{0x51, UnicodeValue::UNICODE_CAPITAL_Q},
{0x52, UnicodeValue::UNICODE_CAPITAL_R},
{0x53, UnicodeValue::UNICODE_CAPITAL_S},
{0x54, UnicodeValue::UNICODE_CAPITAL_T},
{0x55, UnicodeValue::UNICODE_CAPITAL_U},
{0x56, UnicodeValue::UNICODE_CAPITAL_V},
{0x57, UnicodeValue::UNICODE_CAPITAL_W},
{0x58, UnicodeValue::UNICODE_CAPITAL_X},
{0x59, UnicodeValue::UNICODE_CAPITAL_Y},
{0x5a, UnicodeValue::UNICODE_CAPITAL_Z},
{0x61, UnicodeValue::UNICODE_SMALL_A},
{0x62, UnicodeValue::UNICODE_SMALL_B},
{0x63, UnicodeValue::UNICODE_SMALL_C},
{0x64, UnicodeValue::UNICODE_SMALL_D},
{0x65, UnicodeValue::UNICODE_SMALL_E},
{0x66, UnicodeValue::UNICODE_SMALL_F},
{0x67, UnicodeValue::UNICODE_SMALL_G},
{0x68, UnicodeValue::UNICODE_SMALL_H},
{0x69, UnicodeValue::UNICODE_SMALL_I},
{0x6a, UnicodeValue::UNICODE_SMALL_J},
{0x6b, UnicodeValue::UNICODE_SMALL_K},
{0x6c, UnicodeValue::UNICODE_SMALL_L},
{0x6d, UnicodeValue::UNICODE_SMALL_M},
{0x6e, UnicodeValue::UNICODE_SMALL_N},
{0x6f, UnicodeValue::UNICODE_SMALL_O},
{0x70, UnicodeValue::UNICODE_SMALL_P},
{0x71, UnicodeValue::UNICODE_SMALL_Q},
{0x72, UnicodeValue::UNICODE_SMALL_R},
{0x73, UnicodeValue::UNICODE_SMALL_S},
{0x74, UnicodeValue::UNICODE_SMALL_T},
{0x75, UnicodeValue::UNICODE_SMALL_U},
{0x76, UnicodeValue::UNICODE_SMALL_V},
{0x77, UnicodeValue::UNICODE_SMALL_W},
{0x78, UnicodeValue::UNICODE_SMALL_X},
{0x79, UnicodeValue::UNICODE_SMALL_Y},
{0x7a, UnicodeValue::UNICODE_SMALL_Z},
{0x7e, UnicodeValue::UNICODE_TILDE},
{0x80, UnicodeValue::UNICODE_CAPITAL_A_GRAVE},
{0x81, UnicodeValue::UNICODE_CAPITAL_A_ACUTE},
{0x82, UnicodeValue::UNICODE_CAPITAL_A_CIRCUMFLEX},
{0x83, UnicodeValue::UNICODE_CAPITAL_A_DIARESIS},
{0x84, UnicodeValue::UNICODE_CAPITAL_AE},
{0x85, UnicodeValue::UNICODE_CAPITAL_C_CEDILLA},
{0x86, UnicodeValue::UNICODE_CAPITAL_E_GRAVE},
{0x87, UnicodeValue::UNICODE_CAPITAL_E_ACUTE},
{0x88, UnicodeValue::UNICODE_CAPITAL_E_CIRCUMFLEX},
{0x89, UnicodeValue::UNICODE_CAPITAL_E_DIARESIS},
{0x8a, UnicodeValue::UNICODE_CAPITAL_I_GRAVE},
{0x8b, UnicodeValue::UNICODE_CAPITAL_I_ACUTE},
{0x8c, UnicodeValue::UNICODE_CAPITAL_I_CIRCUMFLEX},
{0x8d, UnicodeValue::UNICODE_CAPITAL_I_DIARESIS},
{0x8e, UnicodeValue::UNICODE_CAPITAL_O_GRAVE},
{0x8f, UnicodeValue::UNICODE_CAPITAL_O_ACUTE},
{0x90, UnicodeValue::UNICODE_CAPITAL_O_CIRCUMFLEX},
{0x91, UnicodeValue::UNICODE_CAPITAL_O_DIARESIS},
{0x92, UnicodeValue::UNICODE_CAPITAL_U_GRAVE},
{0x93, UnicodeValue::UNICODE_CAPITAL_U_ACUTE},
{0x94, UnicodeValue::UNICODE_CAPITAL_U_CIRCUMFLEX},
{0x95, UnicodeValue::UNICODE_CAPITAL_U_DIARESIS},
{0x96, UnicodeValue::UNICODE_SMALL_SHARP_S},
{0x97, UnicodeValue::UNICODE_SMALL_A_GRAVE},
{0x98, UnicodeValue::UNICODE_SMALL_A_ACUTE},
{0x99, UnicodeValue::UNICODE_SMALL_A_CIRCUMFLEX},
{0x9a, UnicodeValue::UNICODE_SMALL_A_DIARESIS},
{0x9b, UnicodeValue::UNICODE_SMALL_AE},
{0x9c, UnicodeValue::UNICODE_SMALL_C_CEDILLA},
{0x9d, UnicodeValue::UNICODE_SMALL_E_GRAVE},
{0x9e, UnicodeValue::UNICODE_SMALL_E_ACUTE},
{0x9f, UnicodeValue::UNICODE_SMALL_E_CIRCUMFLEX},
{0xa0, UnicodeValue::UNICODE_SMALL_E_DIARESIS},
{0xa1, UnicodeValue::UNICODE_SMALL_I_GRAVE},
{0xa2, UnicodeValue::UNICODE_SMALL_I_ACUTE},
{0xa3, UnicodeValue::UNICODE_SMALL_I_CIRCUMFLEX},
{0xa4, UnicodeValue::UNICODE_SMALL_I_DIARESIS},
{0xa5, UnicodeValue::UNICODE_SMALL_O_GRAVE},
{0xa6, UnicodeValue::UNICODE_SMALL_O_ACUTE},
{0xa7, UnicodeValue::UNICODE_SMALL_O_CIRCUMFLEX},
{0xa8, UnicodeValue::UNICODE_SMALL_O_DIARESIS},
{0xa9, UnicodeValue::UNICODE_SMALL_U_GRAVE},
{0xaa, UnicodeValue::UNICODE_SMALL_U_ACUTE},
{0xab, UnicodeValue::UNICODE_SMALL_U_CIRCUMFLEX},
{0xac, UnicodeValue::UNICODE_SMALL_U_DIARESIS},
{0xad, UnicodeValue::UNICODE_CAPITAL_N_TILDE},
{0xae, UnicodeValue::UNICODE_SMALL_N_TILDE},
{0xaf, UnicodeValue::UNICODE_INVERTED_QUESTION_MARK},
{0xb0, UnicodeValue::UNICODE_INVERTED_EXCLAMATION_MARK},
};
static const FontMap::gschar_unicode_map_t map_gta3_font_0_priv = {
{0x22, UnicodeValue::UNICODE_QUOTATION_MARK},
{0x23, UnicodeValue::UNICODE_NUMBER_SIGN},
{0x2a, UnicodeValue::UNICODE_HYPHEN_MINUS},
/*{0x2b, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x2f, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x3b, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x3c, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x3d, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x3e, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x40, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x5b, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x5c, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x5d, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x5e, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x5f, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x60, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x6b, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x7c, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x7d, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x7f, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
};
static const FontMap::gschar_unicode_map_t map_gta3_font_1_priv = {
{0x22, UnicodeValue::UNICODE_INCREMENT},
{0x23, UnicodeValue::UNICODE_REGISTERED_SIGN},
/*{0x2a, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
{0x2b, UnicodeValue::UNICODE_PLUS_SIGN},
{0x2f, UnicodeValue::UNICODE_MULTIPLICATION_SIGN},
{0x3b, UnicodeValue::UNICODE_BLACK_UP_POINTING_TRIANGLE},
{0x3c, UnicodeValue::UNICODE_BLACK_LEFT_POINTING_POINTER},
{0x3d, UnicodeValue::UNICODE_BLACK_DOWN_POINTING_POINTER},
{0x3e, UnicodeValue::UNICODE_BLACK_RIGHT_POINTING_POINTER},
{0x40, UnicodeValue::UNICODE_TRADE_MARK},
{0x5b, UnicodeValue::UNICODE_SHIELD},
{0x5c, UnicodeValue::UNICODE_REVERSE_SOLIDUS},
{0x5d, UnicodeValue::UNICODE_BLACK_STAR},
{0x5e, UnicodeValue::UNICODE_NUMERO_SIGN},
{0x5f, UnicodeValue::UNICODE_DEGREES},
{0x60, UnicodeValue::UNICODE_COPYRIGHT_SIGN},
{0x7b, UnicodeValue::UNICODE_BLACK_HEART_SUIT},
{0x7c, UnicodeValue::UNICODE_WHITE_CIRCLE},
/*{0x7d, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x7f, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
};
static const FontMap::gschar_unicode_map_t map_gta3_font_2_priv = {
{0x22, UnicodeValue::UNICODE_INCREMENT},
{0x23, UnicodeValue::UNICODE_NUMBER_SIGN},
{0x2a, UnicodeValue::UNICODE_ASTERISK},
{0x2b, UnicodeValue::UNICODE_PLUS_SIGN},
{0x2f, UnicodeValue::UNICODE_SOLIDUS},
{0x3b, UnicodeValue::UNICODE_SEMICOLON},
{0x3c, UnicodeValue::UNICODE_BLACK_LEFT_POINTING_POINTER},
{0x3d, UnicodeValue::UNICODE_EQUALS_SIGN},
{0x3e, UnicodeValue::UNICODE_BLACK_RIGHT_POINTING_POINTER},
{0x40, UnicodeValue::UNICODE_TRADE_MARK},
{0x5b, UnicodeValue::UNICODE_LEFT_SQUARE_BRACKET},
{0x5c, UnicodeValue::UNICODE_REVERSE_SOLIDUS},
{0x5d, UnicodeValue::UNICODE_RIGHT_SQUARE_BRACKET},
{0x5e, UnicodeValue::UNICODE_CIRCUMFLEX_ACCENT},
{0x5f, UnicodeValue::UNICODE_DEGREES},
{0x60, UnicodeValue::UNICODE_GRAVE_ACCENT},
/*{0x7b, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
{0x7c, UnicodeValue::UNICODE_WHITE_CIRCLE},
/*{0x7d, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
/*{0x7f, UnicodeValue::UNICODE_REPLACEMENT_CHARACTER},*/
{0xb1, UnicodeValue::UNICODE_ACUTE_ACCENT},
};
const FontMap fontmap_gta3_font_common({map_gta3_font_common});
const std::array<FontMap, 3> fontmaps_gta3_font = {{
FontMap{map_gta3_font_common, map_gta3_font_0_priv},
FontMap{map_gta3_font_common, map_gta3_font_1_priv},
FontMap{map_gta3_font_common, map_gta3_font_2_priv},
}};