	// Define Game Command Font Converting Conditions
	#define COMMAND_DEFAULT_TEXT	'_'
	// Define Expanded Game Command ShortCut
	#define COMMAND_EXPAND_TEXT		'^'
	// Define Simple Game Command ShortCut
	#define COMMAND_CONVERT_TEXT	'@'

	// Follow Varialbe Defined Arraies for Game Command Tag
	struct fix_command_t
	{
		unsigned char glyph_char;
		const int     glyph_code;
	};

#ifdef COMMAND_CONVERT_TEXT
	struct fix_strings_t
	{
		const unsigned char *glyph_str;
		const int            glyph_code;
		int                  glyph_str_len;
	};
#endif /* COMMAND_CONVERT_TEXT */

#ifdef COMMAND_DEFAULT_TEXT
	static struct fix_command_t default_text[] =
	{
		// Alphabetic Buttons (NeoGeo): A~D,H,Z
		{ 'A', 1 },		// BTN_A
		{ 'B', 2 },		// BTN_B
		{ 'C', 3 },		// BTN_C
		{ 'D', 4 },		// BTN_D
		{ 'H', 8 },		// BTN_H
		{ 'Z', 26 },	// BTN_Z
		// Numerical Buttons (Capcom): 1~10
		{ 'a', 27 },	// BTN_1
		{ 'b', 28 },	// BTN_2
		{ 'c', 29 },	// BTN_3
		{ 'd', 30 },	// BTN_4
		{ 'e', 31 },	// BTN_5
		{ 'f', 32 },	// BTN_6
		{ 'g', 33 },	// BTN_7
		{ 'h', 34 },	// BTN_8
		{ 'i', 35 },	// BTN_9
		{ 'j', 36 },	// BTN_10
		// Directions of Arrow, Joystick Ball
		{ '+', 39 },	// BTN_+
		{ '.', 40 },	// DIR_...
		{ '1', 41 },	// DIR_1
		{ '2', 42 },	// DIR_2
		{ '3', 43 },	// DIR_3
		{ '4', 44 },	// DIR_4
		{ '5', 45 },	// Joystick Ball
		{ '6', 46 },	// DIR_6
		{ '7', 47 },	// DIR_7
		{ '8', 48 },	// DIR_8
		{ '9', 49 },	// DIR_9
		{ 'N', 50 },	// DIR_N
		// Special Buttons
		{ 'S', 51 },	// BTN_START
		{ 'P', 53 },	// BTN_PUNCH
		{ 'K', 54 },	// BTN_KICK
		{ 'G', 55 },	// BTN_GUARD
		// Composition of Arrow Directions
		{ '!',  90 },	// Arrow
		{ 'k', 100 },	// Half Circle Back
		{ 'l', 101 },	// Half Circle Front Up
		{ 'm', 102 },	// Half Circle Front
		{ 'n', 103 },	// Half Circle Back Up
		{ 'o', 104 },	// 1/4 Cir For 2 Down
		{ 'p', 105 },	// 1/4 Cir Down 2 Back
		{ 'q', 106 },	// 1/4 Cir Back 2 Up
		{ 'r', 107 },	// 1/4 Cir Up 2 For
		{ 's', 108 },	// 1/4 Cir Back 2 Down
		{ 't', 109 },	// 1/4 Cir Down 2 For
		{ 'u', 110 },	// 1/4 Cir For 2 Up
		{ 'v', 111 },	// 1/4 Cir Up 2 Back
		{ 'w', 112 },	// Full Clock Forward
		{ 'x', 113 },	// Full Clock Back
		{ 'y', 114 },	// Full Count Forward
		{ 'z', 115 },	// Full Count Back
		{ 'L', 116 },	// 2x Forward
		{ 'M', 117 },	// 2x Back
		{ 'Q', 118 },	// Dragon Screw Forward
		{ 'R', 119 },	// Dragon Screw Back
		// Big letter Text
		{ '^', 121 },	// AIR
		{ '?', 122 },	// DIR
		{ 'X', 124 },	// TAP
		// Condition of Positions
		{ '|', 125 },	// Jump
		{ 'O', 126 },	// Hold
		{ '-', 127 },	// Air
		{ '=', 128 },	// Squatting
		{ '~', 131 },	// Charge
		// Special Character Text
		{ '`', 135 },	// Small Dot
		{ '@', 136 },	// Double Ball
		{ ')', 137 },	// Single Ball
		{ '(', 138 },	// Solid Ball
		{ '*', 139 },	// Star
		{ '&', 140 },	// Solid star
		{ '%', 141 },	// Triangle
		{ '$', 142 },	// Solid Triangle
		{ '#', 143 },	// Double Square
		{ ']', 144 },	// Single Square
		{ '[', 145 },	// Solid Square
		{ '{', 146 },	// Down Triangle
		{ '}', 147 },	// Solid Down Triangle
		{ '<', 148 },	// Diamond
		{ '>', 149 },	// Solid Diamond
		{ 0, 0 }	// end of array
	};
#endif /* COMMAND_DEFAULT_TEXT */

#ifdef COMMAND_EXPAND_TEXT
	static struct fix_command_t expand_text[] =
	{
		// Alphabetic Buttons (NeoGeo): S (Slash Button)
		{ 's', 19 },	// BTN_S
		// Special Buttons
		{ 'S', 52 },	// BTN_SELECT
		// Multiple Punches & Kicks
		{ 'E', 57 },	// Light  Punch
		{ 'F', 58 },	// Middle Punch
		{ 'G', 59 },	// Strong Punch
		{ 'H', 60 },	// Light  Kick
		{ 'I', 61 },	// Middle Kick
		{ 'J', 62 },	// Strong Kick
		{ 'T', 63 },	// 3 Kick
		{ 'U', 64 },	// 3 Punch
		{ 'V', 65 },	// 2 Kick
		{ 'W', 66 },	// 2 Pick
		// Composition of Arrow Directions
		{ '!', 91 },	// Continue Arrow
		// Charge of Arrow Directions
		{ '1', 92 },	// Charge DIR_1
		{ '2', 93 },	// Charge DIR_2
		{ '3', 94 },	// Charge DIR_3
		{ '4', 95 },	// Charge DIR_4
		{ '6', 96 },	// Charge DIR_6
		{ '7', 97 },	// Charge DIR_7
		{ '8', 98 },	// Charge DIR_8
		{ '9', 99 },	// Charge DIR_9
		// Big letter Text
		{ 'M', 123 },	// MAX
		// Condition of Positions
		{ '-', 129 },	// Close
		{ '=', 130 },	// Away
		{ '*', 132 },	// Serious Tap
		{ '?', 133 },	// Any Button
		{ 0, 0 }	// end of array
	};
#endif /* COMMAND_EXPAND_TEXT */

#ifdef COMMAND_CONVERT_TEXT
	static struct fix_strings_t convert_text[] =
	{
		// Alphabetic Buttons: A~Z
		{ "A-button",  1 },	// BTN_A
		{ "B-button",  2 },	// BTN_B
		{ "C-button",  3 },	// BTN_C
		{ "D-button",  4 },	// BTN_D
		{ "E-button",  5 },	// BTN_E
		{ "F-button",  6 },	// BTN_F
		{ "G-button",  7 },	// BTN_G
		{ "H-button",  8 },	// BTN_H
		{ "I-button",  9 },	// BTN_I
		{ "J-button", 10 },	// BTN_J
		{ "K-button", 11 },	// BTN_K
		{ "L-button", 12 },	// BTN_L
		{ "M-button", 13 },	// BTN_M
		{ "N-button", 14 },	// BTN_N
		{ "O-button", 15 },	// BTN_O
		{ "P-button", 16 },	// BTN_P
		{ "Q-button", 17 },	// BTN_Q
		{ "R-button", 18 },	// BTN_R
		{ "S-button", 19 },	// BTN_S
		{ "T-button", 20 },	// BTN_T
		{ "U-button", 21 },	// BTN_U
		{ "V-button", 22 },	// BTN_V
		{ "W-button", 23 },	// BTN_W
		{ "X-button", 24 },	// BTN_X
		{ "Y-button", 25 },	// BTN_Y
		{ "Z-button", 26 },	// BTN_Z
		// Special Moves and Buttons
		{ "decrease", 37 },	// BTN_DEC
		{ "increase", 38 },	// BTN_INC
		{ "BALL",     45 },	// Joystick Ball
		{ "start",    51 },	// BTN_START
		{ "select",   52 },	// BTN_SELECT
		{ "punch",    53 },	// BTN_PUNCH
		{ "kick",     54 },	// BTN_KICK
		{ "guard",    55 },	// BTN_GUARD
		{ "L-punch",  57 },	// Light Punch
		{ "M-punch",  58 },	// Middle Punch
		{ "S-punch",  59 },	// Strong Punch
		{ "L-kick",   60 },	// Light Kick
		{ "M-kick",   61 },	// Middle Kick
		{ "S-kick",   62 },	// Strong Kick
		{ "3-kick",   63 },	// 3 Kick
		{ "3-punch",  64 },	// 3 Punch
		{ "2-kick",   65 },	// 2 Kick
		{ "2-punch",  66 },	// 2 Pick
		// Custom Buttons and Cursor Buttons
		{ "custom1",  67 },	// CUSTOM_1
		{ "custom2",  68 },	// CUSTOM_2
		{ "custom3",  69 },	// CUSTOM_3
		{ "custom4",  70 },	// CUSTOM_4
		{ "custom5",  71 },	// CUSTOM_5
		{ "custom6",  72 },	// CUSTOM_6
		{ "custom7",  73 },	// CUSTOM_7
		{ "custom8",  74 },	// CUSTOM_8
		{ "up",       75 },	// (Cursor Up)
		{ "down",     76 },	// (Cursor Down)
		{ "left",     77 },	// (Cursor Left)
		{ "right",    78 },	// (Cursor Right)
		// Player Lever
		{ "lever",    79 },	// Non Player Lever
		{ "nplayer",  80 },	// Gray Color Lever
		{ "1player",  81 },	// 1 Player Lever
		{ "2player",  82 },	// 2 Player Lever
		{ "3player",  83 },	// 3 Player Lever
		{ "4player",  84 },	// 4 Player Lever
		{ "5player",  85 },	// 5 Player Lever
		{ "6player",  86 },	// 6 Player Lever
		{ "7player",  87 },	// 7 Player Lever
		{ "8player",  88 },	// 8 Player Lever
		// Composition of Arrow Directions
		{ "-->",      90 },	// Arrow
		{ "==>",      91 },	// Continue Arrow
		{ "hcb",     100 },	// Half Circle Back
		{ "huf",     101 },	// Half Circle Front Up
		{ "hcf",     102 },	// Half Circle Front
		{ "hub",     103 },	// Half Circle Back Up
		{ "qfd",     104 },	// 1/4 Cir For 2 Down
		{ "qdb",     105 },	// 1/4 Cir Down 2 Back
		{ "qbu",     106 },	// 1/4 Cir Back 2 Up
		{ "quf",     107 },	// 1/4 Cir Up 2 For
		{ "qbd",     108 },	// 1/4 Cir Back 2 Down
		{ "qdf",     109 },	// 1/4 Cir Down 2 For
		{ "qfu",     110 },	// 1/4 Cir For 2 Up
		{ "qub",     111 },	// 1/4 Cir Up 2 Back
		{ "fdf",     112 },	// Full Clock Forward
		{ "fub",     113 },	// Full Clock Back
		{ "fuf",     114 },	// Full Count Forward
		{ "fdb",     115 },	// Full Count Back
		{ "xff",     116 },	// 2x Forward
		{ "xbb",     117 },	// 2x Back
		{ "dsf",     118 },	// Dragon Screw Forward
		{ "dsb",     119 },	// Dragon Screw Back
		// Big letter Text
		{ "AIR",     121 },	// AIR
		{ "DIR",     122 },	// DIR
		{ "MAX",     123 },	// MAX
		{ "TAP",     124 },	// TAP
		// Condition of Positions
		{ "jump",    125 },	// Jump
		{ "hold",    126 },	// Hold
		{ "air",     127 },	// Air
		{ "sit",     128 },	// Squatting
		{ "close",   129 },	// Close
		{ "away",    130 },	// Away
		{ "charge",  131 },	// Charge
		{ "tap",     132 },	// Serious Tap
		{ "button",  133 },	// Any Button
		{ 0, 0 }	// end of array
	};
#endif /* COMMAND_CONVERT_TEXT */
