diff --git a/src/xpdev/unicode.c b/src/xpdev/unicode.c index 8955cfca37bbff5e7e2a154d628caf885a70dce4..171d970cb3bc9065da61835a2a8fd4af499ead30 100644 --- a/src/xpdev/unicode.c +++ b/src/xpdev/unicode.c @@ -49,38 +49,38 @@ // If the value at that index is 0, no translation is needed (1:1 mapping). enum unicode_codepoint cp437_unicode_tbl[] = { - /* 0x00 */ 0, - /* 0x01 */ 0x263A, - /* 0x02 */ 0x263B, - /* 0x03 */ 0x2665, - /* 0x04 */ 0x2666, - /* 0x05 */ 0x2663, - /* 0x06 */ 0x2660, - /* 0x07 '\a' */ UNICODE_TERM_CTRL_CHAR_CODE(0x2022), - /* 0x08 '\b' */ UNICODE_TERM_CTRL_CHAR_CODE(0x25D8), - /* 0x09 '\t' */ UNICODE_TERM_CTRL_CHAR_CODE(0x25CB), - /* 0x0A '\n' */ UNICODE_TERM_CTRL_CHAR_CODE(0x25D9), - /* 0x0B */ 0x2642, - /* 0x0C '\f' */ UNICODE_TERM_CTRL_CHAR_CODE(0x2640), - /* 0x0D '\r' */ UNICODE_TERM_CTRL_CHAR_CODE(0x266A), - /* 0x0E */ 0x266B, - /* 0x0F */ 0x263C, - /* 0x10 */ 0x25BA, - /* 0x11 */ 0x25C4, - /* 0x12 */ 0x2195, - /* 0x13 */ 0x203C, - /* 0x14 */ 0x00B6, - /* 0x15 */ 0x00A7, - /* 0x16 */ 0x25AC, - /* 0x17 */ 0x21A8, - /* 0x18 */ 0x2191, - /* 0x19 */ 0x2193, - /* 0x1A */ 0x2192, - /* 0x1B '\e' */ UNICODE_TERM_CTRL_CHAR_CODE(0x2190), - /* 0x1C */ 0x221F, - /* 0x1D */ 0x2194, - /* 0x1E */ 0x25B2, - /* 0x1F */ 0x25BC, + /* 0x00 */ UNICODE_UNDEFINED, + /* 0x01 */ UNICODE_WHITE_SMILING_FACE, + /* 0x02 */ UNICODE_BLACK_SMILING_FACE, + /* 0x03 */ UNICODE_BLACK_HEART_SUIT, + /* 0x04 */ UNICODE_BLACK_DIAMOND_SUIT, + /* 0x05 */ UNICODE_BLACK_CLUB_SUIT, + /* 0x06 */ UNICODE_BLACK_SPADE_SUIT, + /* 0x07 '\a' */ UNICODE_TERM_CTRL_CHAR_CODE(UNICODE_BULLET), + /* 0x08 '\b' */ UNICODE_TERM_CTRL_CHAR_CODE(UNICODE_INVERSE_BULLET), + /* 0x09 '\t' */ UNICODE_TERM_CTRL_CHAR_CODE(UNICODE_WHITE_CIRCLE), + /* 0x0A '\n' */ UNICODE_TERM_CTRL_CHAR_CODE(UNICODE_INVERSE_WHITE_CIRCLE), + /* 0x0B */ UNICODE_MALE_SIGN, + /* 0x0C '\f' */ UNICODE_TERM_CTRL_CHAR_CODE(UNICODE_FEMALE_SIGN), + /* 0x0D '\r' */ UNICODE_TERM_CTRL_CHAR_CODE(UNICODE_EIGHTH_NOTE), + /* 0x0E */ UNICODE_BEAMED_EIGHTH_NOTES, + /* 0x0F */ UNICODE_WHITE_SUN_WITH_RAYS, + /* 0x10 */ UNICODE_BLACK_RIGHT_POINTING_POINTER, + /* 0x11 */ UNICODE_BLACK_LEFT_POINTING_POINTER, + /* 0x12 */ UNICODE_UP_DOWN_ARROW, + /* 0x13 */ UNICODE_DOUBLE_EXCLAMATION_MARK, + /* 0x14 */ UNICODE_PILCROW_SIGN, + /* 0x15 */ UNICODE_SECTION_SIGN, + /* 0x16 */ UNICODE_BLACK_RECTANGLE, + /* 0x17 */ UNICODE_UP_DOWN_ARROW_WITH_BASE, + /* 0x18 */ UNICODE_UPWARDS_ARROW, + /* 0x19 */ UNICODE_DOWNWARDS_ARROW, + /* 0x1A */ UNICODE_RIGHTWARDS_ARROW, + /* 0x1B '\e' */ UNICODE_TERM_CTRL_CHAR_CODE(UNICODE_LEFTWARDS_ARROW), + /* 0x1C */ UNICODE_RIGHT_ANGLE, + /* 0x1D */ UNICODE_LEFT_RIGHT_ARROW, + /* 0x1E */ UNICODE_BLACK_UP_POINTING_TRIANGLE, + /* 0x1F */ UNICODE_BLACK_DOWN_POINTING_TRIANGLE, /* 0x20-0x7E (1:1 with US-ASCII and CP437) */ 0, 0, @@ -178,61 +178,61 @@ enum unicode_codepoint cp437_unicode_tbl[] = 0, 0, /* 0x7F (DEL) */ UNICODE_TERM_CTRL_CHAR_CODE(0x2302), - /* 0x80 */ 0x00C7, - /* 0x81 */ 0x00FC, - /* 0x82 */ 0x00E9, - /* 0x83 */ 0x00E2, - /* 0x84 */ 0x00E4, - /* 0x85 */ 0x00E0, - /* 0x86 */ 0x00E5, - /* 0x87 */ 0x00E7, - /* 0x88 */ 0x00EA, - /* 0x89 */ 0x00EB, - /* 0x8A */ 0x00E8, - /* 0x8B */ 0x00EF, - /* 0x8C */ 0x00EE, - /* 0x8D */ 0x00EC, - /* 0x8E */ 0x00C4, - /* 0x8F */ 0x00C5, - /* 0x90 */ 0x00C9, - /* 0x91 */ 0x00E6, - /* 0x92 */ 0x00C6, - /* 0x93 */ 0x00F4, - /* 0x94 */ 0x00F6, - /* 0x95 */ 0x00F2, - /* 0x96 */ 0x00F8, - /* 0x97 */ 0x00F9, - /* 0x98 */ 0x00FF, - /* 0x99 */ 0x00D6, - /* 0x9A */ 0x00DC, - /* 0x9B */ 0x00A2, - /* 0x9C */ 0x00A3, - /* 0x9D */ 0x00A5, - /* 0x9E */ 0x20A7, - /* 0x9F */ 0x0192, - /* 0xA0 */ 0x00E1, - /* 0xA1 */ 0x00ED, - /* 0xA2 */ 0x00F3, - /* 0xA3 */ 0x00FA, - /* 0xA4 */ 0x00F1, - /* 0xA5 */ 0x00D1, - /* 0xA6 */ 0x00AA, - /* 0xA7 */ 0x00BA, - /* 0xA8 */ 0x00BF, - /* 0xA9 */ 0x2310, - /* 0xAA */ 0x00AC, - /* 0xAB */ 0x00BD, - /* 0xAC */ 0x00BC, - /* 0xAD */ 0x00A1, - /* 0xAE */ 0x00AB, - /* 0xAF */ 0x00BB, - /* 0xB0 */ 0x2591, - /* 0xB1 */ 0x2592, - /* 0xB2 */ 0x2593, - /* 0xB3 */ 0x2502, - /* 0xB4 */ 0x2524, - /* 0xB5 */ 0x2561, - /* 0xB6 */ 0x2562, + /* 0x80 */ UNICODE_LATIN_CAPITAL_LETTER_C_WITH_CEDILLA, + /* 0x81 */ UNICODE_LATIN_SMALL_LETTER_U_WITH_DIAERESIS, + /* 0x82 */ UNICODE_LATIN_SMALL_LETTER_E_WITH_ACUTE, + /* 0x83 */ UNICODE_LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX, + /* 0x84 */ UNICODE_LATIN_SMALL_LETTER_A_WITH_DIAERESIS, + /* 0x85 */ UNICODE_LATIN_SMALL_LETTER_A_WITH_GRAVE, + /* 0x86 */ UNICODE_LATIN_SMALL_LETTER_A_WITH_RING_ABOVE, + /* 0x87 */ UNICODE_LATIN_SMALL_LETTER_C_WITH_CEDILLA, + /* 0x88 */ UNICODE_LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX, + /* 0x89 */ UNICODE_LATIN_SMALL_LETTER_E_WITH_DIAERESIS, + /* 0x8A */ UNICODE_LATIN_SMALL_LETTER_E_WITH_GRAVE, + /* 0x8B */ UNICODE_LATIN_SMALL_LETTER_I_WITH_DIAERESIS, + /* 0x8C */ UNICODE_LATIN_SMALL_LETTER_I_WITH_CIRCUMFLEX, + /* 0x8D */ UNICODE_LATIN_SMALL_LETTER_I_WITH_GRAVE, + /* 0x8E */ UNICODE_LATIN_CAPITAL_LETTER_A_WITH_DIAERESIS, + /* 0x8F */ UNICODE_LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE, + /* 0x90 */ UNICODE_LATIN_CAPITAL_LETTER_E_WITH_ACUTE, + /* 0x91 */ UNICODE_LATIN_SMALL_LETTER_AE, + /* 0x92 */ UNICODE_LATIN_CAPITAL_LETTER_AE, + /* 0x93 */ UNICODE_LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX, + /* 0x94 */ UNICODE_LATIN_SMALL_LETTER_O_WITH_DIAERESIS, + /* 0x95 */ UNICODE_LATIN_SMALL_LETTER_O_WITH_GRAVE, + /* 0x96 */ UNICODE_LATIN_SMALL_LETTER_U_WITH_CIRCUMFLEX, + /* 0x97 */ UNICODE_LATIN_SMALL_LETTER_U_WITH_GRAVE, + /* 0x98 */ UNICODE_LATIN_SMALL_LETTER_Y_WITH_DIAERESIS, + /* 0x99 */ UNICODE_LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS, + /* 0x9A */ UNICODE_LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS, + /* 0x9B */ UNICODE_CENT_SIGN, + /* 0x9C */ UNICODE_POUND_SIGN, + /* 0x9D */ UNICODE_YEN_SIGN, + /* 0x9E */ UNICODE_PESETA_SIGN, + /* 0x9F */ UNICODE_LATIN_SMALL_LETTER_F_WITH_HOOK, + /* 0xA0 */ UNICODE_LATIN_SMALL_LETTER_A_WITH_ACUTE, + /* 0xA1 */ UNICODE_LATIN_SMALL_LETTER_I_WITH_ACUTE, + /* 0xA2 */ UNICODE_LATIN_SMALL_LETTER_O_WITH_ACUTE, + /* 0xA3 */ UNICODE_LATIN_SMALL_LETTER_U_WITH_ACUTE, + /* 0xA4 */ UNICODE_LATIN_SMALL_LETTER_N_WITH_TILDE, + /* 0xA5 */ UNICODE_LATIN_CAPITAL_LETTER_N_WITH_TILDE, + /* 0xA6 */ UNICODE_FEMININE_ORDINAL_INDICATOR, + /* 0xA7 */ UNICODE_MASCULINE_ORDINAL_INDICATOR, + /* 0xA8 */ UNICODE_INVERTED_QUESTION_MARK, + /* 0xA9 */ UNICODE_REVERSED_NOT_SIGN, + /* 0xAA */ UNICODE_NOT_SIGN, + /* 0xAB */ UNICODE_VULGAR_FRACTION_ONE_HALF, + /* 0xAC */ UNICODE_VULGAR_FRACTION_ONE_QUARTER, + /* 0xAD */ UNICODE_INVERTED_EXCLAMATION_MARK, + /* 0xAE */ UNICODE_LEFT_POINTING_DOUBLE_ANGLE_QUOTATION_MARK, + /* 0xAF */ UNICODE_RIGHT_POINTING_DOUBLE_ANGLE_QUOTATION_MARK, + /* 0xB0 */ UNICODE_LIGHT_SHADE, + /* 0xB1 */ UNICODE_MEDIUM_SHADE, + /* 0xB2 */ UNICODE_DARK_SHADE, + /* 0xB3 */ UNICODE_BOX_DRAWINGS_LIGHT_VERTICAL, + /* 0xB4 */ UNICODE_BOX_DRAWINGS_LIGHT_VERTICAL_AND_LEFT, + /* 0xB5 */ UNICODE_BOX_DRAWINGS_VERTICAL_SINGLE_AND_LEFT_DOUBLE, + /* 0xB6 */ UNICODE_BOX_DRAWINGS_VERTICAL_DOUBLE_AND_LEFT_SINGLE, /* 0xB7 */ 0x2556, /* 0xB8 */ 0x2555, /* 0xB9 */ 0x2563, @@ -274,38 +274,38 @@ enum unicode_codepoint cp437_unicode_tbl[] = /* 0xDD */ 0x258C, /* 0xDE */ 0x2590, /* 0xDF */ 0x2580, - /* 0xE0 */ 0x03B1, - /* 0xE1 */ 0x00DF, - /* 0xE2 */ 0x0393, - /* 0xE3 */ 0x03C0, - /* 0xE4 */ 0x03A3, - /* 0xE5 */ 0x03C3, - /* 0xE6 */ 0x00B5, - /* 0xE7 */ 0x03C4, - /* 0xE8 */ 0x03A6, - /* 0xE9 */ 0x0398, - /* 0xEA */ 0x03A9, - /* 0xEB */ 0x03B4, - /* 0xEC */ 0x221E, - /* 0xED */ 0x03C6, - /* 0xEE */ 0x03B5, - /* 0xEF */ 0x2229, - /* 0xF0 */ 0x2261, - /* 0xF1 */ 0x00B1, - /* 0xF2 */ 0x2265, - /* 0xF3 */ 0x2264, - /* 0xF4 */ 0x2320, - /* 0xF5 */ 0x2321, - /* 0xF6 */ 0x00F7, - /* 0xF7 */ 0x2248, - /* 0xF8 */ 0x00B0, - /* 0xF9 */ 0x2219, - /* 0xFA */ 0x00B7, - /* 0xFB */ 0x221A, - /* 0xFC */ 0x207F, - /* 0xFD */ 0x00B2, - /* 0xFE */ 0xFFED, //0x25A0, - /* 0xFF */ 0x00A0 + /* 0xE0 */ UNICODE_GREEK_SMALL_LETTER_ALPHA, + /* 0xE1 */ UNICODE_GREEK_SMALL_LETTER_BETA, // or UNICODE_LATIN_SMALL_LETTER_SHARP_S + /* 0xE2 */ UNICODE_GREEK_SMALL_LETTER_GAMMA, + /* 0xE3 */ UNICODE_GREEK_SMALL_LETTER_PI, + /* 0xE4 */ UNICODE_GREEK_CAPITAL_LETTER_SIGMA, + /* 0xE5 */ UNICODE_GREEK_SMALL_LETTER_SIGMA, + /* 0xE6 */ UNICODE_GREEK_SMALL_LETTER_MU, // or UNICODE_MICRO_SIGN + /* 0xE7 */ UNICODE_GREEK_SMALL_LETTER_TAU, + /* 0xE8 */ UNICODE_GREEK_CAPITAL_LETTER_PHI, + /* 0xE9 */ UNICODE_GREEK_SMALL_LETTER_THETA, // or UNICODE_GREEK_CAPITAL_LETTER_THETA + /* 0xEA */ UNICODE_GREEK_CAPITAL_LETTER_OMEGA, + /* 0xEB */ UNICODE_GREEK_SMALL_LETTER_DELTA, + /* 0xEC */ UNICODE_INFINITY, + /* 0xED */ UNICODE_GREEK_SMALL_LETTER_PHI, + /* 0xEE */ UNICODE_GREEK_SMALL_LETTER_EPSILON, + /* 0xEF */ UNICODE_INTERSECTION, + /* 0xF0 */ UNICODE_IDENTICAL_TO, // A.K.A. "TRIPLE BAR" + /* 0xF1 */ UNICODE_PLUS_MINUS_SIGN, + /* 0xF2 */ UNICODE_GREATER_THAN_OR_EQUAL_TO, + /* 0xF3 */ UNICODE_LESS_THAN_OR_EQUAL_TO, + /* 0xF4 */ UNICODE_TOP_HALF_INTEGRAL, + /* 0xF5 */ UNICODE_BOTTOM_HALF_INTEGRAL, + /* 0xF6 */ UNICODE_DIVISION_SIGN, + /* 0xF7 */ UNICODE_ALMOST_EQUAL_TO, + /* 0xF8 */ UNICODE_DEGREE_SIGN, + /* 0xF9 */ UNICODE_BULLET_OPERATOR, + /* 0xFA */ UNICODE_MIDDLE_DOT, + /* 0xFB */ UNICODE_SQUARE_ROOT, // or UNICODE_CHECK_MARK + /* 0xFC */ UNICODE_SUPERSCRIPT_LATIN_SMALL_LETTER_N, + /* 0xFD */ UNICODE_SUPERSCRIPT_TWO, + /* 0xFE */ UNICODE_HALFWIDTH_BLACK_SQUARE, // or UNICODE_BLACK_SQUARE + /* 0xFF */ UNICODE_NO_BREAK_SPACE }; size_t unicode_width(enum unicode_codepoint u) diff --git a/src/xpdev/unicode_defs.h b/src/xpdev/unicode_defs.h index 44a118bb40da8ef144ececd0f47790244448e9d8..2497ccb4343a7f5a73b5c6791a5111bbfd115b13 100644 --- a/src/xpdev/unicode_defs.h +++ b/src/xpdev/unicode_defs.h @@ -39,6 +39,8 @@ enum unicode_codepoint { UNICODE_UNDEFINED = 0x0000, // UNICODE_NULL() is defined + UNICODE_NEXT_LINE = 0x0085, + UNICODE_REVERSE_LINE_FEED = 0x008D, UNICODE_NO_BREAK_SPACE = 0x00A0, UNICODE_INVERTED_EXCLAMATION_MARK = 0x00A1, UNICODE_CENT_SIGN = 0x00A2, @@ -47,12 +49,21 @@ enum unicode_codepoint { UNICODE_YEN_SIGN = 0x00A5, UNICODE_BROKEN_BAR = 0x00A6, UNICODE_SECTION_SIGN = 0x00A7, + UNICODE_FEMININE_ORDINAL_INDICATOR = 0x00AA, + UNICODE_LEFT_POINTING_DOUBLE_ANGLE_QUOTATION_MARK = 0x00AB, + UNICODE_NOT_SIGN = 0x00AC, UNICODE_DEGREE_SIGN = 0x00B0, UNICODE_PLUS_MINUS_SIGN = 0x00B1, UNICODE_SUPERSCRIPT_TWO = 0x00B2, UNICODE_ACUTE_ACCENT = 0x00B4, + UNICODE_MICRO_SIGN = 0x00B5, UNICODE_PILCROW_SIGN = 0x00B6, // Paragraph mark + UNICODE_MIDDLE_DOT = 0x00B7, + UNICODE_MASCULINE_ORDINAL_INDICATOR = 0x00BA, + UNICODE_RIGHT_POINTING_DOUBLE_ANGLE_QUOTATION_MARK = 0x00BB, + UNICODE_VULGAR_FRACTION_ONE_QUARTER = 0x00BC, + UNICODE_VULGAR_FRACTION_ONE_HALF = 0x00BD, UNICODE_INVERTED_QUESTION_MARK = 0x00BF, @@ -121,6 +132,7 @@ enum unicode_codepoint { UNICODE_LATIN_SMALL_LETTER_THORN = 0x00FE, UNICODE_LATIN_SMALL_LETTER_Y_WITH_DIAERESIS = 0x00FF, UNICODE_LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS = 0x0178, + UNICODE_LATIN_SMALL_LETTER_F_WITH_HOOK = 0x0192, UNICODE_GREEK_CAPITAL_LETTER_HETA = 0x0370, UNICODE_GREEK_SMALL_LETTER_HETA = 0x0371, @@ -237,10 +249,39 @@ enum unicode_codepoint { UNICODE_ZERO_WIDTH_JOINER = 0x200D, UNICODE_EM_DASH = 0x2014, UNICODE_BULLET = 0x2022, + UNICODE_HORIZONTAL_ELLIPSIS = 0x2026, + UNICODE_LINE_SEPARATOR = 0x2028, UNICODE_DOUBLE_EXCLAMATION_MARK = 0x203c, UNICODE_OVERLINE = 0x203E, + UNICODE_SUPERSCRIPT_LATIN_SMALL_LETTER_N = 0x207F, + UNICODE_PESETA_SIGN = 0x20A7, + UNICODE_LEFTWARDS_ARROW = 0x2190, + UNICODE_UPWARDS_ARROW = 0x2191, + UNICODE_RIGHTWARDS_ARROW = 0x2192, + UNICODE_DOWNWARDS_ARROW = 0x2193, + UNICODE_LEFT_RIGHT_ARROW = 0x2194, + UNICODE_UP_DOWN_ARROW = 0x2195, + + UNICODE_UP_DOWN_ARROW_WITH_BASE = 0x21A8, + + UNICODE_BULLET_OPERATOR = 0x2219, UNICODE_SQUARE_ROOT = 0x221A, + UNICODE_INFINITY = 0x221E, + UNICODE_RIGHT_ANGLE = 0x221F, + + UNICODE_INTERSECTION = 0x2229, + + UNICODE_ALMOST_EQUAL_TO = 0x2248, + + UNICODE_IDENTICAL_TO = 0x2261, + UNICODE_LESS_THAN_OR_EQUAL_TO = 0x2264, + UNICODE_GREATER_THAN_OR_EQUAL_TO = 0x2265, + + UNICODE_REVERSED_NOT_SIGN = 0x2310, + + UNICODE_TOP_HALF_INTEGRAL = 0x2320, + UNICODE_BOTTOM_HALF_INTEGRAL = 0x2321, UNICODE_LEFT_POINTING_ANGLE_BRACKET = 0x2329, UNICODE_RIGHT_POINTING_ANGLE_BRACKET = 0x232A, @@ -251,22 +292,14 @@ enum unicode_codepoint { UNICODE_BOX_DRAWINGS_LIGHT_HORIZONTAL = 0x2500, UNICODE_BOX_DRAWINGS_HEAVY_HORIZONTAL = 0x2501, + UNICODE_BOX_DRAWINGS_LIGHT_VERTICAL = 0x2502, + UNICODE_BOX_DRAWINGS_HEAVY_VERTICAL = 0x2503, UNICODE_BOX_DRAWINGS_LIGHT_TRIPLE_DASH_HORIZONTAL = 0x2504, UNICODE_BOX_DRAWINGS_HEAVY_TRIPLE_DASH_HORIZONTAL = 0x2505, - UNICODE_BOX_DRAWINGS_LIGHT_QUADRUPLE_DASH_HORIZONTAL = 0x2508, - UNICODE_BOX_DRAWINGS_HEAVY_QUADRUPLE_DASH_HORIZONTAL = 0x2509, - UNICODE_BOX_DRAWINGS_LIGHT_DOUBLE_DASH_HORIZONTAL = 0x254C, - UNICODE_BOX_DRAWINGS_HEAVY_DOUBLE_DASH_HORIZONTAL = 0x254D, - UNICODE_BOX_DRAWINGS_LIGHT_LEFT = 0x2574, - UNICODE_BOX_DRAWINGS_LIGHT_RIGHT = 0x2576, - UNICODE_BOX_DRAWINGS_HEAVY_LEFT = 0x2578, - UNICODE_BOX_DRAWINGS_HEAVY_RIGHT = 0x257A, - UNICODE_BOX_DRAWINGS_LIGHT_LEFT_AND_HEAVY_RIGHT = 0x257C, - UNICODE_BOX_DRAWINGS_HEAVY_LEFT_AND_LIGHT_RIGHT = 0x257E, - UNICODE_BOX_DRAWINGS_LIGHT_VERTICAL = 0x2502, - UNICODE_BOX_DRAWINGS_HEAVY_VERTICAL = 0x2503, UNICODE_BOX_DRAWINGS_LIGHT_TRIPLE_DASH_VERTICAL = 0x2506, UNICODE_BOX_DRAWINGS_HEAVY_TRIPLE_DASH_VERTICAL = 0x2507, + UNICODE_BOX_DRAWINGS_LIGHT_QUADRUPLE_DASH_HORIZONTAL = 0x2508, + UNICODE_BOX_DRAWINGS_HEAVY_QUADRUPLE_DASH_HORIZONTAL = 0x2509, UNICODE_BOX_DRAWINGS_LIGHT_QUADRUPLE_DASH_VERTICAL = 0x250A, UNICODE_BOX_DRAWINGS_HEAVY_QUADRUPLE_DASH_VERTICAL = 0x250B, UNICODE_BOX_DRAWINGS_LIGHT_DOWN_AND_RIGHT = 0x250C, @@ -308,16 +341,16 @@ enum unicode_codepoint { UNICODE_BOX_DRAWINGS_2530 = 0x2530, UNICODE_BOX_DRAWINGS_2531 = 0x2531, UNICODE_BOX_DRAWINGS_LEFT_LIGHT_AND_RIGHT_DOWN_HEAVY = 0x2532, - UNICODE_BOX_DRAWINGS_HEAVY_DOWN_AND_HORIZONTAL = 0x2533, - UNICODE_BOX_DRAWINGS_LIGHT_UP_AND_HORIZONTAL = 0x2534, - UNICODE_BOX_DRAWINGS_LEFT_HEAVY_AND_RIGHT_UP_LIGHT = 0x2535, - UNICODE_BOX_DRAWINGS_RIGHT_HEAVY_AND_LEFT_UP_LIGHT = 0x2536, - UNICODE_BOX_DRAWINGS_UP_LIGHT_AND_HORIZONTAL_HEAVY = 0x2537, - UNICODE_BOX_DRAWINGS_UP_HEAVY_AND_HORIZONTAL_LIGHT = 0x2538, - UNICODE_BOX_DRAWINGS_RIGHT_LIGHT_AND_LEFT_UP_HEAVY = 0x2539, - UNICODE_BOX_DRAWINGS_LEFT_LIGHT_AND_RIGHT_UP_HEAVY = 0x253A, + UNICODE_BOX_DRAWINGS_HEAVY_DOWN_AND_HORIZONTAL = 0x2533, + UNICODE_BOX_DRAWINGS_LIGHT_UP_AND_HORIZONTAL = 0x2534, + UNICODE_BOX_DRAWINGS_LEFT_HEAVY_AND_RIGHT_UP_LIGHT = 0x2535, + UNICODE_BOX_DRAWINGS_RIGHT_HEAVY_AND_LEFT_UP_LIGHT = 0x2536, + UNICODE_BOX_DRAWINGS_UP_LIGHT_AND_HORIZONTAL_HEAVY = 0x2537, + UNICODE_BOX_DRAWINGS_UP_HEAVY_AND_HORIZONTAL_LIGHT = 0x2538, + UNICODE_BOX_DRAWINGS_RIGHT_LIGHT_AND_LEFT_UP_HEAVY = 0x2539, + UNICODE_BOX_DRAWINGS_LEFT_LIGHT_AND_RIGHT_UP_HEAVY = 0x253A, UNICODE_BOX_DRAWINGS_HEAVY_UP_AND_HORIZONTAL = 0x253B, - UNICODE_BOX_DRAWINGS_LIGHT_VERTICAL_AND_HORIZONTAL = 0x253C, + UNICODE_BOX_DRAWINGS_LIGHT_VERTICAL_AND_HORIZONTAL = 0x253C, UNICODE_BOX_DRAWINGS_LEFT_HEAVY_AND_RIGHT_VERTICAL_LIGHT = 0x253D, UNICODE_BOX_DRAWINGS_RIGHT_HEAVY_AND_LEFT_VERTICAL_LIGHT = 0x253E, UNICODE_BOX_DRAWINGS_VERTICAL_LIGHT_AND_HORIZONTAL_HEAVY = 0x253F, @@ -333,20 +366,30 @@ enum unicode_codepoint { UNICODE_BOX_DRAWINGS_RIGHT_LIGHT_AND_LEFT_VERTICAL_HEAVY = 0x2549, UNICODE_BOX_DRAWINGS_LEFT_LIGHT_AND_RIGHT_VERTICAL_HEAVY = 0x254A, UNICODE_BOX_DRAWINGS_HEAVY_VERTICAL_AND_HORIZONTAL = 0x254B, + UNICODE_BOX_DRAWINGS_LIGHT_DOUBLE_DASH_HORIZONTAL = 0x254C, + UNICODE_BOX_DRAWINGS_HEAVY_DOUBLE_DASH_HORIZONTAL = 0x254D, UNICODE_BOX_DRAWINGS_LIGHT_DOUBLE_DASH_VERTICAL = 0x254E, UNICODE_BOX_DRAWINGS_HEAVY_DOUBLE_DASH_VERTICAL = 0x254F, - UNICODE_BOX_DRAWINGS_LIGHT_ARC_DOWN_AND_RIGHT = 0x256D, - UNICODE_BOX_DRAWINGS_LIGHT_ARC_DOWN_AND_LEFT = 0x256E, - UNICODE_BOX_DRAWINGS_LIGHT_ARC_UP_AND_LEFT = 0x256F, + UNICODE_BOX_DRAWINGS_VERTICAL_SINGLE_AND_LEFT_DOUBLE = 0x2561, + UNICODE_BOX_DRAWINGS_VERTICAL_DOUBLE_AND_LEFT_SINGLE = 0x2562, + UNICODE_BOX_DRAWINGS_LIGHT_ARC_DOWN_AND_RIGHT = 0x256D, + UNICODE_BOX_DRAWINGS_LIGHT_ARC_DOWN_AND_LEFT = 0x256E, + UNICODE_BOX_DRAWINGS_LIGHT_ARC_UP_AND_LEFT = 0x256F, UNICODE_BOX_DRAWINGS_LIGHT_ARC_UP_AND_RIGHT = 0x2570, UNICODE_BOX_DRAWINGS_LIGHT_DIAGONAL_UPPER_RIGHT_TO_LOWER_LEFT = 0x2571, UNICODE_BOX_DRAWINGS_LIGHT_DIAGONAL_UPPER_LEFT_TO_LOWER_RIGHT = 0x2572, UNICODE_BOX_DRAWINGS_LIGHT_DIAGONAL_CROSS = 0x2573, + UNICODE_BOX_DRAWINGS_LIGHT_LEFT = 0x2574, UNICODE_BOX_DRAWINGS_LIGHT_UP = 0x2575, + UNICODE_BOX_DRAWINGS_LIGHT_RIGHT = 0x2576, UNICODE_BOX_DRAWINGS_LIGHT_DOWN = 0x2577, + UNICODE_BOX_DRAWINGS_HEAVY_LEFT = 0x2578, UNICODE_BOX_DRAWINGS_HEAVY_UP = 0x2579, + UNICODE_BOX_DRAWINGS_HEAVY_RIGHT = 0x257A, UNICODE_BOX_DRAWINGS_HEAVY_DOWN = 0x257B, + UNICODE_BOX_DRAWINGS_LIGHT_LEFT_AND_HEAVY_RIGHT = 0x257C, UNICODE_BOX_DRAWINGS_LIGHT_UP_AND_HEAVY_DOWN = 0x257D, + UNICODE_BOX_DRAWINGS_HEAVY_LEFT_AND_LIGHT_RIGHT = 0x257E, UNICODE_BOX_DRAWINGS_HEAVY_UP_AND_LIGHT_DOWN = 0x257F, UNICODE_LOWER_ONE_EIGHTH_BLOCK = 0x2581, @@ -364,10 +407,33 @@ enum unicode_codepoint { UNICODE_LEFT_ONE_QUARTER_BLOCK = 0x258E, UNICODE_LEFT_ONE_EIGHTH_BLOCK = 0x258F, UNICODE_RIGHT_HALF_BLOCK = 0x2590, + UNICODE_LIGHT_SHADE = 0x2591, + UNICODE_MEDIUM_SHADE = 0x2591, + UNICODE_DARK_SHADE = 0x2592, UNICODE_RIGHT_ONE_EIGHTH_BLOCK = 0x2595, UNICODE_UPPER_ONE_EIGHTH_BLOCK = 0x2594, UNICODE_BLACK_SQUARE = 0x25A0, + UNICODE_BLACK_RECTANGLE = 0x25AC, + UNICODE_BLACK_UP_POINTING_TRIANGLE = 0x25B2, + UNICODE_BLACK_RIGHT_POINTING_POINTER = 0x25BA, + UNICODE_BLACK_DOWN_POINTING_TRIANGLE = 0x25BC, + UNICODE_BLACK_LEFT_POINTING_POINTER = 0x25C4, + UNICODE_WHITE_CIRCLE = 0x25CB, + UNICODE_INVERSE_BULLET = 0x25D8, + UNICODE_INVERSE_WHITE_CIRCLE = 0x25D9, + + UNICODE_WHITE_SMILING_FACE = 0x263A, + UNICODE_BLACK_SMILING_FACE = 0x263B, + UNICODE_WHITE_SUN_WITH_RAYS = 0x263C, + UNICODE_FEMALE_SIGN = 0x2640, + UNICODE_EIGHTH_NOTE = 0x266A, + UNICODE_BEAMED_EIGHTH_NOTES = 0x266B, + UNICODE_MALE_SIGN = 0x2642, + UNICODE_BLACK_HEART_SUIT = 0x2665, + UNICODE_BLACK_DIAMOND_SUIT = 0x2666, + UNICODE_BLACK_CLUB_SUIT = 0x2663, + UNICODE_BLACK_SPADE_SUIT = 0x2660, UNICODE_CHECK_MARK = 0x2713, UNICODE_HEAVY_CHECK_MARK = 0x2714,