#ifndef POKEPLATINUM_CONSTANTS_CHARCODE_H
#define POKEPLATINUM_CONSTANTS_CHARCODE_H

enum CharCode {
    CHAR_NONE = 0,
    CHAR_WIDE_SPACE,

    CHAR_HIRAGANA_SMALL_A,
    CHAR_HIRAGANA_A,
    CHAR_HIRAGANA_SMALL_I,
    CHAR_HIRAGANA_I,
    CHAR_HIRAGANA_SMALL_U,
    CHAR_HIRAGANA_U,
    CHAR_HIRAGANA_SMALL_E,
    CHAR_HIRAGANA_E,
    CHAR_HIRAGANA_SMALL_O,
    CHAR_HIRAGANA_O,
    CHAR_HIRAGANA_KA,
    CHAR_HIRAGANA_GA,
    CHAR_HIRAGANA_KI,
    CHAR_HIRAGANA_GI,
    CHAR_HIRAGANA_KU,
    CHAR_HIRAGANA_GU,
    CHAR_HIRAGANA_KE,
    CHAR_HIRAGANA_GE,
    CHAR_HIRAGANA_KO,
    CHAR_HIRAGANA_GO,
    CHAR_HIRAGANA_SA,
    CHAR_HIRAGANA_ZA,
    CHAR_HIRAGANA_SHI,
    CHAR_HIRAGANA_JI,
    CHAR_HIRAGANA_SU,
    CHAR_HIRAGANA_ZU,
    CHAR_HIRAGANA_SE,
    CHAR_HIRAGANA_ZE,
    CHAR_HIRAGANA_SO,
    CHAR_HIRAGANA_ZO,
    CHAR_HIRAGANA_TA,
    CHAR_HIRAGANA_DA,
    CHAR_HIRAGANA_CHI,
    CHAR_HIRAGANA_DJI,
    CHAR_HIRAGANA_SOKUON,
    CHAR_HIRAGANA_TSU,
    CHAR_HIRAGANA_DZU,
    CHAR_HIRAGANA_TE,
    CHAR_HIRAGANA_DE,
    CHAR_HIRAGANA_TO,
    CHAR_HIRAGANA_DO,
    CHAR_HIRAGANA_NA,
    CHAR_HIRAGANA_NI,
    CHAR_HIRAGANA_NU,
    CHAR_HIRAGANA_NE,
    CHAR_HIRAGANA_NO,
    CHAR_HIRAGANA_HA,
    CHAR_HIRAGANA_BA,
    CHAR_HIRAGANA_PA,
    CHAR_HIRAGANA_HI,
    CHAR_HIRAGANA_BI,
    CHAR_HIRAGANA_PI,
    CHAR_HIRAGANA_FU,
    CHAR_HIRAGANA_BU,
    CHAR_HIRAGANA_PU,
    CHAR_HIRAGANA_HE,
    CHAR_HIRAGANA_BE,
    CHAR_HIRAGANA_PE,
    CHAR_HIRAGANA_HO,
    CHAR_HIRAGANA_BO,
    CHAR_HIRAGANA_PO,
    CHAR_HIRAGANA_MA,
    CHAR_HIRAGANA_MI,
    CHAR_HIRAGANA_MU,
    CHAR_HIRAGANA_ME,
    CHAR_HIRAGANA_MO,
    CHAR_HIRAGANA_SMALL_YA,
    CHAR_HIRAGANA_YA,
    CHAR_HIRAGANA_SMALL_YU,
    CHAR_HIRAGANA_YU,
    CHAR_HIRAGANA_SMALL_YO,
    CHAR_HIRAGANA_YO,
    CHAR_HIRAGANA_RA,
    CHAR_HIRAGANA_RI,
    CHAR_HIRAGANA_RU,
    CHAR_HIRAGANA_RE,
    CHAR_HIRAGANA_RO,
    CHAR_HIRAGANA_WA,
    CHAR_HIRAGANA_WO,
    CHAR_HIRAGANA_N,

    CHAR_KATAKANA_SMALL_A,
    CHAR_KATAKANA_A,
    CHAR_KATAKANA_SMALL_I,
    CHAR_KATAKANA_I,
    CHAR_KATAKANA_SMALL_U,
    CHAR_KATAKANA_U,
    CHAR_KATAKANA_SMALL_E,
    CHAR_KATAKANA_E,
    CHAR_KATAKANA_SMALL_O,
    CHAR_KATAKANA_O,
    CHAR_KATAKANA_KA,
    CHAR_KATAKANA_GA,
    CHAR_KATAKANA_KI,
    CHAR_KATAKANA_GI,
    CHAR_KATAKANA_KU,
    CHAR_KATAKANA_GU,
    CHAR_KATAKANA_KE,
    CHAR_KATAKANA_GE,
    CHAR_KATAKANA_KO,
    CHAR_KATAKANA_GO,
    CHAR_KATAKANA_SA,
    CHAR_KATAKANA_ZA,
    CHAR_KATAKANA_SHI,
    CHAR_KATAKANA_JI,
    CHAR_KATAKANA_SU,
    CHAR_KATAKANA_ZU,
    CHAR_KATAKANA_SE,
    CHAR_KATAKANA_ZE,
    CHAR_KATAKANA_SO,
    CHAR_KATAKANA_ZO,
    CHAR_KATAKANA_TA,
    CHAR_KATAKANA_DA,
    CHAR_KATAKANA_CHI,
    CHAR_KATAKANA_DJI,
    CHAR_KATAKANA_SOKUON,
    CHAR_KATAKANA_TSU,
    CHAR_KATAKANA_DZU,
    CHAR_KATAKANA_TE,
    CHAR_KATAKANA_DE,
    CHAR_KATAKANA_TO,
    CHAR_KATAKANA_DO,
    CHAR_KATAKANA_NA,
    CHAR_KATAKANA_NI,
    CHAR_KATAKANA_NU,
    CHAR_KATAKANA_NE,
    CHAR_KATAKANA_NO,
    CHAR_KATAKANA_HA,
    CHAR_KATAKANA_BA,
    CHAR_KATAKANA_PA,
    CHAR_KATAKANA_HI,
    CHAR_KATAKANA_BI,
    CHAR_KATAKANA_PI,
    CHAR_KATAKANA_FU,
    CHAR_KATAKANA_BU,
    CHAR_KATAKANA_PU,
    CHAR_KATAKANA_HE,
    CHAR_KATAKANA_BE,
    CHAR_KATAKANA_PE,
    CHAR_KATAKANA_HO,
    CHAR_KATAKANA_BO,
    CHAR_KATAKANA_PO,
    CHAR_KATAKANA_MA,
    CHAR_KATAKANA_MI,
    CHAR_KATAKANA_MU,
    CHAR_KATAKANA_ME,
    CHAR_KATAKANA_MO,
    CHAR_KATAKANA_SMALL_YA,
    CHAR_KATAKANA_YA,
    CHAR_KATAKANA_SMALL_YU,
    CHAR_KATAKANA_YU,
    CHAR_KATAKANA_SMALL_YO,
    CHAR_KATAKANA_YO,
    CHAR_KATAKANA_RA,
    CHAR_KATAKANA_RI,
    CHAR_KATAKANA_RU,
    CHAR_KATAKANA_RE,
    CHAR_KATAKANA_RO,
    CHAR_KATAKANA_WA,
    CHAR_KATAKANA_WO,
    CHAR_KATAKANA_N,

    CHAR_WIDE_0,
    CHAR_WIDE_1,
    CHAR_WIDE_2,
    CHAR_WIDE_3,
    CHAR_WIDE_4,
    CHAR_WIDE_5,
    CHAR_WIDE_6,
    CHAR_WIDE_7,
    CHAR_WIDE_8,
    CHAR_WIDE_9,
    CHAR_WIDE_A,
    CHAR_WIDE_B,
    CHAR_WIDE_C,
    CHAR_WIDE_D,
    CHAR_WIDE_E,
    CHAR_WIDE_F,
    CHAR_WIDE_G,
    CHAR_WIDE_H,
    CHAR_WIDE_I,
    CHAR_WIDE_J,
    CHAR_WIDE_K,
    CHAR_WIDE_L,
    CHAR_WIDE_M,
    CHAR_WIDE_N,
    CHAR_WIDE_O,
    CHAR_WIDE_P,
    CHAR_WIDE_Q,
    CHAR_WIDE_R,
    CHAR_WIDE_S,
    CHAR_WIDE_T,
    CHAR_WIDE_U,
    CHAR_WIDE_V,
    CHAR_WIDE_W,
    CHAR_WIDE_X,
    CHAR_WIDE_Y,
    CHAR_WIDE_Z,
    CHAR_WIDE_a,
    CHAR_WIDE_b,
    CHAR_WIDE_c,
    CHAR_WIDE_d,
    CHAR_WIDE_e,
    CHAR_WIDE_f,
    CHAR_WIDE_g,
    CHAR_WIDE_h,
    CHAR_WIDE_i,
    CHAR_WIDE_j,
    CHAR_WIDE_k,
    CHAR_WIDE_l,
    CHAR_WIDE_m,
    CHAR_WIDE_n,
    CHAR_WIDE_o,
    CHAR_WIDE_p,
    CHAR_WIDE_q,
    CHAR_WIDE_r,
    CHAR_WIDE_s,
    CHAR_WIDE_t,
    CHAR_WIDE_u,
    CHAR_WIDE_v,
    CHAR_WIDE_w,
    CHAR_WIDE_x,
    CHAR_WIDE_y,
    CHAR_WIDE_z,
    CHAR_WIDE_TRANSPARENT,
    CHAR_WIDE_EXCLAMATION,
    CHAR_WIDE_QUESTION,
    CHAR_JP_COMMA,
    CHAR_JP_PERIOD,
    CHAR_JP_ELLIPSIS,
    CHAR_JP_DOT,
    CHAR_WIDE_SLASH,
    CHAR_JP_SINGLE_QUOTE_OPEN,
    CHAR_JP_SINGLE_QUOTE_CLOSE,
    CHAR_JP_DOUBLE_QUOTE_OPEN,
    CHAR_JP_DOUBLE_QUOTE_CLOSE,
    CHAR_JP_PAREN_OPEN,
    CHAR_JP_PAREN_CLOSE,
    CHAR_WIDE_MALE,
    CHAR_WIDE_FEMALE,
    CHAR_WIDE_PLUS,
    CHAR_WIDE_MINUS,
    CHAR_WIDE_MULTIPLY,
    CHAR_WIDE_DIVIDE,
    CHAR_WIDE_EQUALS,
    CHAR_WIDE_TILDE,
    CHAR_WIDE_COLON,
    CHAR_WIDE_SEMICOLON,
    CHAR_WIDE_PERIOD,
    CHAR_WIDE_COMMA,
    CHAR_WIDE_SPADE,
    CHAR_WIDE_CLUB,
    CHAR_WIDE_HEART,
    CHAR_WIDE_DIAMOND,
    CHAR_WIDE_STAR,
    CHAR_WIDE_DOUBLE_CIRCLE,
    CHAR_WIDE_CIRCLE,
    CHAR_WIDE_SQUARE,
    CHAR_WIDE_TRIANGLE,
    CHAR_WIDE_DIAMOND_OPEN,
    CHAR_WIDE_AT_SIGN,
    CHAR_WIDE_EIGHTH_NOTE,
    CHAR_WIDE_PERCENT,
    CHAR_WIDE_SUN,
    CHAR_WIDE_CLOUD,
    CHAR_WIDE_UMBRELLA,
    CHAR_WIDE_SILHOUETTE,
    CHAR_WIDE_EMOTE_SMILE,
    CHAR_WIDE_EMOTE_LAUGH,
    CHAR_WIDE_EMOTE_UPSET,
    CHAR_WIDE_EMOTE_FROWN,
    CHAR_WIDE_ARROW_CURVE_UP,
    CHAR_WIDE_ARROW_CURVE_DOWN,
    CHAR_WIDE_ZZZ,
    CHAR_YEN,
    CHAR_POCKET_ICON_ITEMS,
    CHAR_POCKET_ICON_KEY_ITEMS,
    CHAR_POCKET_ICON_TMS,
    CHAR_POCKET_ICON_MAIL,
    CHAR_POCKET_ICON_MEDICINE,
    CHAR_POCKET_ICON_BERRIES,
    CHAR_POCKET_ICON_POKEBALLS,
    CHAR_POCKET_ICON_BATTLE_ITEMS,
    CHAR_ARROW_LEFT,
    CHAR_ARROW_UP,
    CHAR_ARROW_DOWN,
    CHAR_ARROW_RIGHT,
    CHAR_ARROW_MENU,
    CHAR_WIDE_AMPERSAND,

    CHAR_0,
    CHAR_1,
    CHAR_2,
    CHAR_3,
    CHAR_4,
    CHAR_5,
    CHAR_6,
    CHAR_7,
    CHAR_8,
    CHAR_9,
    CHAR_A,
    CHAR_B,
    CHAR_C,
    CHAR_D,
    CHAR_E,
    CHAR_F,
    CHAR_G,
    CHAR_H,
    CHAR_I,
    CHAR_J,
    CHAR_K,
    CHAR_L,
    CHAR_M,
    CHAR_N,
    CHAR_O,
    CHAR_P,
    CHAR_Q,
    CHAR_R,
    CHAR_S,
    CHAR_T,
    CHAR_U,
    CHAR_V,
    CHAR_W,
    CHAR_X,
    CHAR_Y,
    CHAR_Z,
    CHAR_a,
    CHAR_b,
    CHAR_c,
    CHAR_d,
    CHAR_e,
    CHAR_f,
    CHAR_g,
    CHAR_h,
    CHAR_i,
    CHAR_j,
    CHAR_k,
    CHAR_l,
    CHAR_m,
    CHAR_n,
    CHAR_o,
    CHAR_p,
    CHAR_q,
    CHAR_r,
    CHAR_s,
    CHAR_t,
    CHAR_u,
    CHAR_v,
    CHAR_w,
    CHAR_x,
    CHAR_y,
    CHAR_z,
    CHAR_A_GRAVE,
    CHAR_A_ACUTE,
    CHAR_A_CIRCUMFLEX,
    CHAR_A_TILDE,
    CHAR_A_DIERESIS,
    CHAR_A_OVERDOT,
    CHAR_AE,
    CHAR_C_OGONEK,
    CHAR_E_GRAVE,
    CHAR_E_ACUTE,
    CHAR_E_CIRCUMFLEX,
    CHAR_E_DIERESIS,
    CHAR_I_GRAVE,
    CHAR_I_ACUTE,
    CHAR_I_CIRCUMFLEX,
    CHAR_I_DIERESIS,
    CHAR_D_BAR,
    CHAR_N_TILDE,
    CHAR_O_GRAVE,
    CHAR_O_ACUTE,
    CHAR_O_CIRCUMFLEX,
    CHAR_O_TILDE,
    CHAR_O_DIERSIS,
    CHAR_MULTIPLY,
    CHAR_NULL_SIGN,
    CHAR_U_GRAVE,
    CHAR_U_ACUTE,
    CHAR_U_CIRCUMFLEX,
    CHAR_U_DIERESIS,
    CHAR_Y_ACUTE,
    CHAR_UNK_P_LIKE_THING,
    CHAR_ESZETT,
    CHAR_a_GRAVE,
    CHAR_a_ACUTE,
    CHAR_a_CIRCUMFLEX,
    CHAR_a_TILDE,
    CHAR_a_DIERESIS,
    CHAR_a_OVERDOT,
    CHAR_ae,
    CHAR_c_OGONEK,
    CHAR_e_GRAVE,
    CHAR_e_ACUTE,
    CHAR_e_CIRCUMFLEX,
    CHAR_e_DIERESIS,
    CHAR_i_GRAVE,
    CHAR_i_ACUTE,
    CHAR_i_CIRCUMFLEX,
    CHAR_i_DIERESIS,
    CHAR_d_BAR,
    CHAR_n_TILDE,
    CHAR_o_GRAVE,
    CHAR_o_ACUTE,
    CHAR_o_CIRCUMFLEX,
    CHAR_o_TILDE,
    CHAR_o_DIERSIS,
    CHAR_DIVIDE,
    CHAR_null_SIGN,
    CHAR_u_GRAVE,
    CHAR_u_ACUTE,
    CHAR_u_CIRCUMFLEX,
    CHAR_u_DIERESIS,
    CHAR_y_ACUTE,
    CHAR_UNK_p_LIKE_THING,
    CHAR_y_dieresis,
    CHAR_OE,
    CHAR_oe,
    CHAR_S_OGONEK,
    CHAR_s_OGONEK,
    CHAR_a_SUPERSCRIPT,
    CHAR_o_SUPERSCRIPT,
    CHAR_er_SUPERSCRIPT,
    CHAR_re_SUPERSCRIPT,
    CHAR_r_SUPERSCRIPT,
    CHAR_POKEDOLLARS,
    CHAR_EXCLAMATION_INVERTED,
    CHAR_QUESTION_INVERTED,
    CHAR_EXCLAMATION,
    CHAR_QUESTION,
    CHAR_COMMA,
    CHAR_PERIOD,
    CHAR_ELLIPSIS,
    CHAR_DOT,
    CHAR_SLASH,
    CHAR_SINGLE_QUOTE_OPEN,
    CHAR_SINGLE_QUOTE_CLOSE,
    CHAR_DOUBLE_QUOTE_OPEN,
    CHAR_DOUBLE_QUOTE_CLOSE,
    CHAR_DOUBLE_QUOTE_CLOSE_INVERTED,
    CHAR_DOUBLE_PAREN_OPEN,
    CHAR_DOUBLE_PAREN_CLOSE,
    CHAR_PAREN_OPEN,
    CHAR_PAREN_CLOSE,
    CHAR_MALE,
    CHAR_FEMALE,
    CHAR_PLUS,
    CHAR_MINUS,
    CHAR_ASTERISK,
    CHAR_HASH,
    CHAR_EQUALS,
    CHAR_AMPERSAND,
    CHAR_TILDE,
    CHAR_COLON,
    CHAR_SEMICOLON,
    CHAR_SPADE,
    CHAR_CLUB,
    CHAR_HEART,
    CHAR_DIAMOND,
    CHAR_STAR,
    CHAR_DOUBLE_CIRCLE,
    CHAR_CIRCLE,
    CHAR_SQUARE,
    CHAR_TRIANGLE,
    CHAR_DIAMOND_OPEN,
    CHAR_AT_SIGN,
    CHAR_EIGHT_NOTE,
    CHAR_PERCENT,
    CHAR_SUN,
    CHAR_CLOUD,
    CHAR_UMBRELLA,
    CHAR_SILHOUETTE,
    CHAR_EMOTE_SMILE,
    CHAR_EMOTE_LAUGH,
    CHAR_EMOTE_UPSET,
    CHAR_EMOTE_FROWN,
    CHAR_ARROW_CURVE_UP,
    CHAR_ARROW_CURVE_DOWN,
    CHAR_ZZZ,
    CHAR_SPACE,
    CHAR_e_SUPERSCRIPT,
    CHAR_PK,
    CHAR_MN,
    CHAR_NUM_SPACE,
    CHAR_SPACE_1px,
    CHAR_SPACE_2px,
    CHAR_SPACE_4px,
    CHAR_SPACE_8px,
    CHAR_SPACE_16px,
    CHAR_DEGREES,
    CHAR_UNDERSCORE,
    CHAR_WIDE_UNDERSCORE,

    CHAR_CONTROL_SCREEN_INDICATOR = 0x0200,
    CHAR_CONTROL_PAUSE,
    CHAR_CONTROL_CALLBACK,
    CHAR_CONTROL_CURSOR_X,
    CHAR_CONTROL_CURSOR_Y,

    CHAR_CONTROL_CLEAR = 0x25BC,
    CHAR_CONTROL_SCROLL,

    CHAR_CR = 0xE000,

    CHAR_PLACEHOLDER_BEGIN = 0xF0FD,

    CHAR_COMPRESSED_MARK = 0xF100,

    CHAR_CONTROL_MOVE = 0xFE06,

    CHAR_CONTROL_SET_COLOR = 0xFF00,
    CHAR_CONTROL_SET_SIZE,

    CHAR_FORMAT_ARG = 0xFFFE,
    CHAR_EOS,
};

#endif // POKEPLATINUM_CONSTANTS_CHARCODE_H
