You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
289 lines
17 KiB
C
289 lines
17 KiB
C
/* Many of the following #defines are completely unused for the
|
|
nonce. For each character, its code point in code page 437,
|
|
Unicode, and page 8859-1 are given. The first is used for
|
|
non-wide builds in Win32 console, DOS, SDL, and OS/2.
|
|
Unicode is used for all wide builds, and for the non-wide
|
|
build of WinGUI. Code page 8859-1 is used for non-wide X11.
|
|
|
|
All of these characters exist in CP437 and Unicode. Some
|
|
don't exist in 8859-1, in which case the last column is 'TBD'.
|
|
Only 32 are used in ncurses. So caution is advised. */
|
|
|
|
#ifdef USE_ISO8859_CHARSET
|
|
#define CHOOSE( A, B, C) (C)
|
|
#define TBD '!'
|
|
#else
|
|
#define CHOOSE( A, B, C) (USE_UNICODE_ACS_CHARS ? B : A)
|
|
#endif
|
|
|
|
/* Codes found from https://en.wikipedia.org/wiki/Code_page_437 */
|
|
|
|
#define SMILE CHOOSE( 0x01, 0x263a, 'O')
|
|
#define REV_SMILE CHOOSE( 0x02, 0x263b, 'O')
|
|
#define HEART CHOOSE( 0x03, 0x2665, 'H')
|
|
#define DIAMOND CHOOSE( 0x04, 0x2666, 0x01)
|
|
#define CLUB CHOOSE( 0x05, 0x2663, 'C')
|
|
#define SPADE CHOOSE( 0x06, 0x2660, 'S')
|
|
#define MEDIUM_BULLET CHOOSE( 0x07, 0x2022, 0xb7)
|
|
#define REV_BULLET CHOOSE( 0x08, 0x2508, 0xb7)
|
|
#define WHITE_BULLET CHOOSE( 0x09, 0x25cb, 7)
|
|
#define REV_WHITE_BULLET CHOOSE( 0x0a, 0x25D9, 7)
|
|
#define MALE_SYM CHOOSE( 0x0b, 0x2642, 'm')
|
|
#define FEMALE_SYM CHOOSE( 0x0c, 0x2640, 'f')
|
|
#define QTR_NOTE CHOOSE( 0x0d, 0x266a, 0xbc)
|
|
#define EIGHTH_NOTE CHOOSE( 0x0e, 0x266b, 0xbd)
|
|
#define SPLAT CHOOSE( 0x0f, 0xa4 , 0xa4)
|
|
#define RIGHT_TRIANGLE CHOOSE( 0x10, 0x25b6, '>')
|
|
#define LEFT_TRIANGLE CHOOSE( 0x11, 0x25c0, '<')
|
|
#define UP_DOWN_ARROW CHOOSE( 0x12, 0x2195, 0x19)
|
|
#define DBL_BANG CHOOSE( 0x13, 0x203c, '!')
|
|
#define PILCROW CHOOSE( 0x14, 0xb6 , 0xb6)
|
|
#define SECTION_SIGN CHOOSE( 0x15, 0xa7 , 0xa7)
|
|
#define LOW_QTR_BLOCK CHOOSE( 0x16, 0x25b2, '_')
|
|
#define UP_DOWN_ARROW_UNDERSCORED CHOOSE( 0x17, 0x21ab, 0x19)
|
|
#define UP_ARROW CHOOSE( 0x18, 0x2191, '^')
|
|
#define DOWN_ARROW CHOOSE( 0x19, 0x2193, 'v')
|
|
#define RIGHT_ARROW CHOOSE( 0x1a, 0x2192, '>')
|
|
#define LEFT_ARROW CHOOSE( 0x1b, 0x2190, '<')
|
|
#define RIGHT_ANGLE CHOOSE( 0x1c, 0x221f, 0xe)
|
|
#define LEFT_RIGHT_ARROW CHOOSE( 0x1d, 0x2194, '-')
|
|
#define UP_TRIANGLE CHOOSE( 0x1e, 0x25b2, '^')
|
|
#define DOWN_TRIANGLE CHOOSE( 0x1f, 0x25bc, 'v')
|
|
|
|
#define UPPERCASE_C_CEDILLA CHOOSE( 0x80, 0xc7 , 0xc7)
|
|
#define LOWERCASE_U_UMLAUT CHOOSE( 0x81, 0xfc , 0xfc)
|
|
#define LOWERCASE_E_ACUTE CHOOSE( 0x82, 0xe9 , 0xe9)
|
|
#define LOWERCASE_A_CIRCUMFLEX CHOOSE( 0x83, 0xe2 , 0xe2)
|
|
#define LOWERCASE_A_UMLAUT CHOOSE( 0x84, 0xe4 , 0xe4)
|
|
#define LOWERCASE_A_GRAVE CHOOSE( 0x85, 0xe0 , 0xea)
|
|
#define LOWERCASE_A_RING CHOOSE( 0x86, 0xe5 , 0xe5)
|
|
#define LOWERCASE_C_CEDILLA CHOOSE( 0x87, 0xe7 , 0xe7)
|
|
#define LOWERCASE_E_CIRCUMFLEX CHOOSE( 0x88, 0xea , 0xea)
|
|
#define LOWERCASE_E_UMLAUT CHOOSE( 0x89, 0xeb , 0xeb)
|
|
#define LOWERCASE_E_GRAVE CHOOSE( 0x8a, 0xe8 , 0xe8)
|
|
#define LOWERCASE_I_UMLAUT CHOOSE( 0x8b, 0xef , 0xef)
|
|
#define LOWERCASE_I_CIRCUMFLEX CHOOSE( 0x8c, 0xee , 0xee)
|
|
#define LOWERCASE_I_GRAVE CHOOSE( 0x8d, 0xec , 0xce)
|
|
#define UPPERCASE_A_UMLAUT CHOOSE( 0x8e, 0xc4 , 0xc4)
|
|
#define UPPERCASE_A_RING CHOOSE( 0x8f, 0xc5 , 0xc5)
|
|
|
|
#define UPPERCASE_E_ACUTE CHOOSE( 0x90, 0xc9 , 0xc9)
|
|
#define LOWERCASE_AE_LIGATURE CHOOSE( 0x91, 0xe6 , 0xe6)
|
|
#define UPPERCASE_AE_LIGATURE CHOOSE( 0x92, 0xc6 , 0xc6)
|
|
#define LOWERCASE_O_CIRCUMFLEX CHOOSE( 0x93, 0xf4 , 0xf4)
|
|
#define LOWERCASE_O_UMLAUT CHOOSE( 0x94, 0xf6 , 0xf6)
|
|
#define LOWERCASE_O_GRAVE CHOOSE( 0x95, 0xf2 , 0xf2)
|
|
#define LOWERCASE_U_CIRCUMFLEX CHOOSE( 0x96, 0xfb , 0xfb)
|
|
#define LOWERCASE_U_GRAVE CHOOSE( 0x97, 0xf9 , 0xf9)
|
|
#define LOWERCASE_Y_UMLAUT CHOOSE( 0x98, 0xff , 0xff)
|
|
#define UPPERCASE_O_UMLAUT CHOOSE( 0x99, 0xd6 , 0xd6)
|
|
#define UPPERCASE_U_UMLAUT CHOOSE( 0x9a, 0xdc , 0xdc)
|
|
#define CENT_SIGN CHOOSE( 0x9b, 0xa2 , 0xa2)
|
|
#define STERLING_SIGN CHOOSE( 0x9c, 0xa3 , 30)
|
|
#define YEN_SIGN CHOOSE( 0x9d, 0xa5 , 0xa5)
|
|
#define PESETA_SIGN CHOOSE( 0x9e, 0x20a7, TBD)
|
|
#define F_WITH_HOOK CHOOSE( 0x9f, 0x0192, TBD)
|
|
|
|
#define LOWERCASE_A_ACUTE CHOOSE( 0xa0, 0xe1 , 0xe1)
|
|
#define LOWERCASE_I_ACUTE CHOOSE( 0xa1, 0xed , 0xed)
|
|
#define LOWERCASE_O_ACUTE CHOOSE( 0xa2, 0xf3 , 0xf3)
|
|
#define LOWERCASE_U_ACUTE CHOOSE( 0xa3, 0xfa , 0xfa)
|
|
#define LOWERCASE_N_TILDE CHOOSE( 0xa4, 0xf1 , 0xf1)
|
|
#define UPPERCASE_N_TILDE CHOOSE( 0xa5, 0xd1 , 0xd1)
|
|
#define A_ORDINAL CHOOSE( 0xa6, 0xaa , 0xaa)
|
|
#define O_ORDINAL CHOOSE( 0xa7, 0xba , 0xba)
|
|
#define INVERTED_QUESTION_MARK CHOOSE( 0xa8, 0xbf , 0xbf)
|
|
#define REVERSED_NOT_SIGN CHOOSE( 0xa9, 0x2310, TBD)
|
|
#define NOT_SIGN CHOOSE( 0xaa, 0xac , 0xac)
|
|
#define VULGAR_HALF CHOOSE( 0xab, 0xbd , 0xbd)
|
|
#define VULGAR_QUARTER CHOOSE( 0xac, 0xbc , 0xbc)
|
|
#define INVERTED_EXCLAMATION_MARK CHOOSE( 0xad, 0xa1 , 0xa1)
|
|
#define LEFT_ANGLE_QUOTE_MARK CHOOSE( 0xae, 0xab , 0xab)
|
|
#define RIGHT_ANGLE_QUOTE_MARK CHOOSE( 0xaf, 0xbb , 0xbb)
|
|
|
|
#define LIGHT_SHADE CHOOSE( 0xb0, 0x2591, '#' )
|
|
#define MEDIUM_SHADE CHOOSE( 0xb1, 0x2592, 2)
|
|
#define DARK_SHADE CHOOSE( 0xb2, 0x2593, TBD)
|
|
#define BOX_VLINE CHOOSE( 0xb3, 0x2502, 25)
|
|
#define BOX_RTEE CHOOSE( 0xb4, 0x2524, 22)
|
|
#define BOX_SD_RTEE CHOOSE( 0xb5, 0x2561, 22)
|
|
#define BOX_DS_RTEE CHOOSE( 0xb6, 0x2562, 22)
|
|
#define BOX_DS_URCORNER CHOOSE( 0xb7, 0x2556, 12)
|
|
#define BOX_SD_URCORNER CHOOSE( 0xb8, 0x2555, 12)
|
|
#define BOX_D_RTEE CHOOSE( 0xb9, 0x2563, 22)
|
|
#define BOX_D_VLINE CHOOSE( 0xba, 0x2551, 25)
|
|
#define BOX_D_URCORNER CHOOSE( 0xbb, 0x2557, 12)
|
|
#define BOX_D_LRCORNER CHOOSE( 0xbc, 0x255D, 11)
|
|
#define BOX_DS_LRCORNER CHOOSE( 0xbd, 0x255c, 11)
|
|
#define BOX_SD_LRCORNER CHOOSE( 0xbe, 0x255b, 11)
|
|
#define BOX_URCORNER CHOOSE( 0xbf, 0x2510, 12)
|
|
|
|
#define BOX_LLCORNER CHOOSE( 0xc0, 0x2514, 14)
|
|
#define BOX_BTEE CHOOSE( 0xc1, 0x2534, 23)
|
|
#define BOX_TTEE CHOOSE( 0xc2, 0x252c, 24)
|
|
#define BOX_LTEE CHOOSE( 0xc3, 0x251c, 21)
|
|
#define BOX_HLINE CHOOSE( 0xc4, 0x2500, 18)
|
|
#define BOX_PLUS CHOOSE( 0xc5, 0x253c, 15)
|
|
#define BOX_SD_LTEE CHOOSE( 0xc6, 0x255e, 21)
|
|
#define BOX_DS_LTEE CHOOSE( 0xc7, 0x255f, 21)
|
|
#define BOX_D_LLCORNER CHOOSE( 0xc8, 0x255A, 14)
|
|
#define BOX_D_ULCORNER CHOOSE( 0xc9, 0x2554, 13)
|
|
#define BOX_D_BTEE CHOOSE( 0xca, 0x2569, 23)
|
|
#define BOX_D_TTEE CHOOSE( 0xcb, 0x2566, 24)
|
|
#define BOX_D_LTEE CHOOSE( 0xcc, 0x2560, 21)
|
|
#define BOX_D_HLINE CHOOSE( 0xcd, 0x2550, 18)
|
|
#define BOX_D_PLUS CHOOSE( 0xce, 0x256C, 15)
|
|
#define BOX_SD_BTEE CHOOSE( 0xcf, 0x2567, 23)
|
|
|
|
#define BOX_DS_BTEE CHOOSE( 0xd0, 0x2568, 23)
|
|
#define BOX_SD_TTEE CHOOSE( 0xd1, 0x2564, 24)
|
|
#define BOX_DS_TTEE CHOOSE( 0xd2, 0x2565, 24)
|
|
#define BOX_DS_LLCORNER CHOOSE( 0xd3, 0x2559, 14)
|
|
#define BOX_SD_LLCORNER CHOOSE( 0xd4, 0x2558, 14)
|
|
#define BOX_SD_ULCORNER CHOOSE( 0xd5, 0x2552, 13)
|
|
#define BOX_DS_ULCORNER CHOOSE( 0xd6, 0x2553, 13)
|
|
#define BOX_DS_PLUS CHOOSE( 0xd7, 0x256b, 15)
|
|
#define BOX_SD_PLUS CHOOSE( 0xd8, 0x256a, 15)
|
|
#define BOX_LRCORNER CHOOSE( 0xd9, 0x2518, 11)
|
|
#define BOX_ULCORNER CHOOSE( 0xda, 0x250c, 13)
|
|
#define FULL_BLOCK CHOOSE( 0xdb, 0x2588, 0)
|
|
#define LOWER_HALF_BLOCK CHOOSE( 0xdc, 0x2584, TBD)
|
|
#define LEFT_HALF_BLOCK CHOOSE( 0xdd, 0x258c, TBD)
|
|
#define RIGHT_HALF_BLOCK CHOOSE( 0xde, 0x2590, TBD)
|
|
#define UPPER_HALF_BLOCK CHOOSE( 0xdf, 0x2580, TBD)
|
|
|
|
#define ALPHA CHOOSE( 0xe0, 0x03b1, TBD)
|
|
#define BETA CHOOSE( 0xe1, 0x00df, TBD)
|
|
#define GAMMA CHOOSE( 0xe2, 0x0393, TBD)
|
|
#define PI CHOOSE( 0xe3, 0x03c0, 28)
|
|
#define UPPERCASE_SIGMA CHOOSE( 0xe4, 0x03a3, TBD)
|
|
#define LOWERCASE_SIGMA CHOOSE( 0xe5, 0x03c3, TBD)
|
|
#define MU CHOOSE( 0xe6, 0x00b5, 0xb5)
|
|
#define TAU CHOOSE( 0xe7, 0x03c4, TBD)
|
|
#define UPPERCASE_PHI CHOOSE( 0xe8, 0x03a6, TBD)
|
|
#define THETA CHOOSE( 0xe9, 0x0398, TBD)
|
|
#define OMEGA CHOOSE( 0xea, 0x03a9, TBD)
|
|
#define DELTA CHOOSE( 0xeb, 0x03b4, TBD)
|
|
#define INFINITY_SIGN CHOOSE( 0xec, 0x221e, TBD)
|
|
#define LOWERCASE_PHI CHOOSE( 0xed, 0x03c6, TBD)
|
|
#define EPSILON CHOOSE( 0xee, 0x03b5, TBD)
|
|
#define INTERSECTION CHOOSE( 0xef, 0x2229, TBD)
|
|
|
|
#define TRIPLE_BAR CHOOSE( 0xf0, 0x2261, TBD)
|
|
#define PLUS_OR_MINUS CHOOSE( 0xf1, 0x00b1, 8)
|
|
#define GREATER_THAN_OR_EQUAL_TO CHOOSE( 0xf2, 0x2265, 27)
|
|
#define LESSER_THAN_OR_EQUAL_TO CHOOSE( 0xf3, 0x2264, 26)
|
|
#define UPPER_HALF_INTEGRAL_SIGN CHOOSE( 0xf4, 0x2320, TBD)
|
|
#define LOWER_HALF_INTEGRAL_SIGN CHOOSE( 0xf5, 0x2321, TBD)
|
|
#define DIVISION_SIGN CHOOSE( 0xf6, 0x00f7, 0xf7)
|
|
#define APPROXIMATELY_EQUALS_SIGN CHOOSE( 0xf7, 0x2248, TBD)
|
|
#define DEGREE_SIGN CHOOSE( 0xf8, 0x00b0, 0xb0)
|
|
#define LARGE_BULLET CHOOSE( 0xf9, 0x2219, 7)
|
|
#define SMALL_BULLET CHOOSE( 0xfa, 0x00b7, 0xb7)
|
|
#define SQUARE_ROOT CHOOSE( 0xfb, 0x221a, TBD)
|
|
#define SUPERSCRIPT_N CHOOSE( 0xfc, 0x207f, TBD)
|
|
#define SUPERSCRIPT_2 CHOOSE( 0xfd, 0x00b2, 0xb2)
|
|
#define CENTERED_SQUARE CHOOSE( 0xfe, 0x25a0, TBD)
|
|
#define NON_BREAKING_SPACE CHOOSE( 0xff, 0x00a0, 0xa0)
|
|
|
|
#ifdef NOT_CURRENTLY_IMPLEMENTED
|
|
/* The following four characters are not currently implemented. However,
|
|
they would enable rounded box corners when Unicode is available.
|
|
(Otherwise, the 'traditional' unrounded corner character is used.) */
|
|
|
|
#define BOX_URROUNDED CHOOSE( 0xbf, 0x256e, 12)
|
|
#define BOX_LLROUNDED CHOOSE( 0xc0, 0x2570, 14)
|
|
#define BOX_LRROUNDED CHOOSE( 0xd9, 0x256f, 11)
|
|
#define BOX_ULROUNDED CHOOSE( 0xda, 0x256d, 13)
|
|
#endif /* #ifdef NOT_CURRENTLY_IMPLEMENTED */
|
|
|
|
#define BOX_T_URCORNER CHOOSE( 0xbf, 0x2513, 12)
|
|
#define BOX_T_LRCORNER CHOOSE( 0xd9, 0x251b, 11)
|
|
#define BOX_T_ULCORNER CHOOSE( 0xda, 0x250f, 13)
|
|
#define BOX_T_LLCORNER CHOOSE( 0xc0, 0x2517, 14)
|
|
#define BOX_T_BTEE CHOOSE( 0xc1, 0x253b, 23)
|
|
#define BOX_T_TTEE CHOOSE( 0xc2, 0x2533, 24)
|
|
#define BOX_T_LTEE CHOOSE( 0xc3, 0x2523, 21)
|
|
#define BOX_T_RTEE CHOOSE( 0xb4, 0x252b, 22)
|
|
#define BOX_T_HLINE CHOOSE( 0xc4, 0x2501, 18)
|
|
#define BOX_T_VLINE CHOOSE( 0xb3, 0x2503, 25)
|
|
#define BOX_T_PLUS CHOOSE( 0xc5, 0x254b, 15)
|
|
|
|
/* It says at http://unicode.org/charts/PDF/U2300.pdf */
|
|
/* that '...the scan line numbers here refer to old, */
|
|
/* low-resolution technology for terminals, with only */
|
|
/* nine scan lines per fixed-size character glyph. */
|
|
/* Even-numbered scan lines are unified with box */
|
|
/* drawing graphics." */
|
|
/* The utility of these is questionable; they */
|
|
/* work Just Fine in wide-character builds if the */
|
|
/* glyphs are available, but not elsewhere. */
|
|
#define HORIZ_SCAN_LINE_1 CHOOSE( 0x2d, 0x23ba, 16)
|
|
#define HORIZ_SCAN_LINE_3 CHOOSE( 0x2d, 0x23bb, 17)
|
|
#define HORIZ_SCAN_LINE_7 CHOOSE( 0x2d, 0x23bc, 19)
|
|
#define HORIZ_SCAN_LINE_9 CHOOSE( '_', 0x23bd, 20)
|
|
|
|
/* Code page 437 lacks a 'for real' not-equals, so for that, */
|
|
/* we use the double-horizontal single-vertical box drawing : */
|
|
#define NOT_EQUALS_SIGN CHOOSE( 0xd8, 0x2260, 29)
|
|
|
|
# define A(x) ((chtype)x | A_ALTCHARSET)
|
|
|
|
chtype acs_map[128] =
|
|
{
|
|
BOX_T_LRCORNER, BOX_T_URCORNER, BOX_T_ULCORNER, /* 0 1 2 */
|
|
BOX_T_LLCORNER, BOX_T_PLUS, /* 3 4 */
|
|
BOX_T_LTEE, BOX_T_RTEE, BOX_T_BTEE, BOX_T_TTEE, /* 5 6 7 8 */
|
|
BOX_T_HLINE, BOX_T_VLINE, /* 9 10 */
|
|
CLUB, HEART, SPADE, SMILE, REV_SMILE, /* 11 12 13 14 15 */
|
|
MEDIUM_BULLET, WHITE_BULLET, PILCROW, SECTION_SIGN, /* 16 17 18 19 */
|
|
A_ORDINAL, O_ORDINAL, LOWERCASE_PHI, /* 20 21 22 */
|
|
INVERTED_EXCLAMATION_MARK, INVERTED_QUESTION_MARK, /* 23 24 */
|
|
REVERSED_NOT_SIGN, NOT_SIGN, /* 25 26 */
|
|
UPPER_HALF_INTEGRAL_SIGN, LOWER_HALF_INTEGRAL_SIGN, /* 27 28 */
|
|
SUPERSCRIPT_N, CENTERED_SQUARE, F_WITH_HOOK, /* 29 30 31 */
|
|
|
|
RIGHT_ARROW, LEFT_ARROW, UP_ARROW, DOWN_ARROW, /* 32 !"# */
|
|
|
|
PI, NOT_EQUALS_SIGN, VULGAR_HALF, VULGAR_QUARTER, /* $%&' */
|
|
'(',
|
|
LEFT_ANGLE_QUOTE_MARK, RIGHT_ANGLE_QUOTE_MARK, /* )* */
|
|
DARK_SHADE, SUPERSCRIPT_2, INFINITY_SIGN, /* +,- */
|
|
ALPHA, BETA, GAMMA, UPPERCASE_SIGMA, LOWERCASE_SIGMA, /* ./012 */
|
|
'3',
|
|
MU, TAU, UPPERCASE_PHI, THETA, OMEGA, DELTA, EPSILON, /* 456789: */
|
|
|
|
BOX_SD_LRCORNER, BOX_SD_URCORNER, BOX_SD_ULCORNER, /* ;<= */
|
|
BOX_SD_LLCORNER, BOX_SD_PLUS, /* >? */
|
|
BOX_SD_LTEE, BOX_SD_RTEE, BOX_SD_BTEE, BOX_SD_TTEE, /* @ABC */
|
|
|
|
BOX_D_LRCORNER, BOX_D_URCORNER, BOX_D_ULCORNER, /* DEF */
|
|
BOX_D_LLCORNER, BOX_D_PLUS, /* GH */
|
|
BOX_D_LTEE, BOX_D_RTEE, BOX_D_BTEE, BOX_D_TTEE, /* IJKL */
|
|
|
|
BOX_DS_LRCORNER, BOX_DS_URCORNER, BOX_DS_ULCORNER, /* MNO */
|
|
BOX_DS_LLCORNER, BOX_DS_PLUS, /* PQ */
|
|
BOX_DS_LTEE, BOX_DS_RTEE, BOX_DS_BTEE, BOX_DS_TTEE, /* RSTU */
|
|
|
|
BOX_LRCORNER, BOX_URCORNER, BOX_ULCORNER, /* VWX */
|
|
BOX_LLCORNER, BOX_PLUS, /* YZ */
|
|
BOX_LTEE, BOX_RTEE, BOX_BTEE, BOX_TTEE, /* [\]^ */
|
|
|
|
BOX_HLINE, BOX_VLINE, BOX_D_HLINE, BOX_D_VLINE, /* _`ab */
|
|
|
|
DIVISION_SIGN, APPROXIMATELY_EQUALS_SIGN, /* cd */
|
|
INTERSECTION, TRIPLE_BAR, /* ef */
|
|
SMALL_BULLET, LARGE_BULLET, SQUARE_ROOT, /* ghi */
|
|
DIAMOND, MEDIUM_SHADE, /* jk */
|
|
HORIZ_SCAN_LINE_1, HORIZ_SCAN_LINE_3, /* lm */
|
|
HORIZ_SCAN_LINE_7, HORIZ_SCAN_LINE_9, /* no */
|
|
UPPER_HALF_BLOCK, LOWER_HALF_BLOCK, /* pq */
|
|
LEFT_HALF_BLOCK, RIGHT_HALF_BLOCK, FULL_BLOCK, /* rst */
|
|
LESSER_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, /* uv */
|
|
DEGREE_SIGN, PLUS_OR_MINUS, LIGHT_SHADE, SPLAT, /* wxyz */
|
|
CENT_SIGN, YEN_SIGN, PESETA_SIGN, STERLING_SIGN, /* {|}~ */
|
|
A(127)
|
|
};
|
|
|
|
# undef A
|