--- ../screen-4.0.2/process.c 2003-09-18 08:53:54.000000000 -0400 +++ process.c 2004-01-20 11:45:10.000000000 -0500 @@ -215,179 +215,1334 @@ #endif -/* digraph table taken from old vim and rfc1345 */ -static const unsigned char digraphs[][3] = { - {' ', ' ', 160}, /*   */ - {'N', 'S', 160}, /*   */ - {'~', '!', 161}, /* ¡ */ - {'!', '!', 161}, /* ¡ */ - {'!', 'I', 161}, /* ¡ */ - {'c', '|', 162}, /* ¢ */ - {'c', 't', 162}, /* ¢ */ - {'$', '$', 163}, /* £ */ - {'P', 'd', 163}, /* £ */ - {'o', 'x', 164}, /* ¤ */ - {'C', 'u', 164}, /* ¤ */ - {'C', 'u', 164}, /* ¤ */ - {'E', 'u', 164}, /* ¤ */ - {'Y', '-', 165}, /* ¥ */ - {'Y', 'e', 165}, /* ¥ */ - {'|', '|', 166}, /* ¦ */ - {'B', 'B', 166}, /* ¦ */ - {'p', 'a', 167}, /* § */ - {'S', 'E', 167}, /* § */ - {'"', '"', 168}, /* ¨ */ - {'\'', ':', 168}, /* ¨ */ - {'c', 'O', 169}, /* © */ - {'C', 'o', 169}, /* © */ - {'a', '-', 170}, /* ª */ - {'<', '<', 171}, /* « */ - {'-', ',', 172}, /* ¬ */ - {'N', 'O', 172}, /* ¬ */ - {'-', '-', 173}, /* ­ */ - {'r', 'O', 174}, /* ® */ - {'R', 'g', 174}, /* ® */ - {'-', '=', 175}, /* ¯ */ - {'\'', 'm', 175}, /* ¯ */ - {'~', 'o', 176}, /* ° */ - {'D', 'G', 176}, /* ° */ - {'+', '-', 177}, /* ± */ - {'2', '2', 178}, /* ² */ - {'2', 'S', 178}, /* ² */ - {'3', '3', 179}, /* ³ */ - {'3', 'S', 179}, /* ³ */ - {'\'', '\'', 180}, /* ´ */ - {'j', 'u', 181}, /* µ */ - {'M', 'y', 181}, /* µ */ - {'p', 'p', 182}, /* ¶ */ - {'P', 'I', 182}, /* ¶ */ - {'~', '.', 183}, /* · */ - {'.', 'M', 183}, /* · */ - {',', ',', 184}, /* ¸ */ - {'\'', ',', 184}, /* ¸ */ - {'1', '1', 185}, /* ¹ */ - {'1', 'S', 185}, /* ¹ */ - {'o', '-', 186}, /* º */ - {'>', '>', 187}, /* » */ - {'1', '4', 188}, /* ¼ */ - {'1', '2', 189}, /* ½ */ - {'3', '4', 190}, /* ¾ */ - {'~', '?', 191}, /* ¿ */ - {'?', '?', 191}, /* ¿ */ - {'?', 'I', 191}, /* ¿ */ - {'A', '`', 192}, /* À */ - {'A', '!', 192}, /* À */ - {'A', '\'', 193}, /* Á */ - {'A', '^', 194}, /* Â */ - {'A', '>', 194}, /* Â */ - {'A', '~', 195}, /* Ã */ - {'A', '?', 195}, /* Ã */ - {'A', '"', 196}, /* Ä */ - {'A', ':', 196}, /* Ä */ - {'A', '@', 197}, /* Å */ - {'A', 'A', 197}, /* Å */ - {'A', 'E', 198}, /* Æ */ - {'C', ',', 199}, /* Ç */ - {'E', '`', 200}, /* È */ - {'E', '!', 200}, /* È */ - {'E', '\'', 201}, /* É */ - {'E', '^', 202}, /* Ê */ - {'E', '>', 202}, /* Ê */ - {'E', '"', 203}, /* Ë */ - {'E', ':', 203}, /* Ë */ - {'I', '`', 204}, /* Ì */ - {'I', '!', 204}, /* Ì */ - {'I', '\'', 205}, /* Í */ - {'I', '^', 206}, /* Î */ - {'I', '>', 206}, /* Î */ - {'I', '"', 207}, /* Ï */ - {'I', ':', 207}, /* Ï */ - {'D', '-', 208}, /* Ð */ - {'N', '~', 209}, /* Ñ */ - {'N', '?', 209}, /* Ñ */ - {'O', '`', 210}, /* Ò */ - {'O', '!', 210}, /* Ò */ - {'O', '\'', 211}, /* Ó */ - {'O', '^', 212}, /* Ô */ - {'O', '>', 212}, /* Ô */ - {'O', '~', 213}, /* Õ */ - {'O', '?', 213}, /* Õ */ - {'O', '"', 214}, /* Ö */ - {'O', ':', 214}, /* Ö */ - {'/', '\\', 215}, /* × */ - {'*', 'x', 215}, /* × */ - {'O', '/', 216}, /* Ø */ - {'U', '`', 217}, /* Ù */ - {'U', '!', 217}, /* Ù */ - {'U', '\'', 218}, /* Ú */ - {'U', '^', 219}, /* Û */ - {'U', '>', 219}, /* Û */ - {'U', '"', 220}, /* Ü */ - {'U', ':', 220}, /* Ü */ - {'Y', '\'', 221}, /* Ý */ - {'I', 'p', 222}, /* Þ */ - {'T', 'H', 222}, /* Þ */ - {'s', 's', 223}, /* ß */ - {'s', '"', 223}, /* ß */ - {'a', '`', 224}, /* à */ - {'a', '!', 224}, /* à */ - {'a', '\'', 225}, /* á */ - {'a', '^', 226}, /* â */ - {'a', '>', 226}, /* â */ - {'a', '~', 227}, /* ã */ - {'a', '?', 227}, /* ã */ - {'a', '"', 228}, /* ä */ - {'a', ':', 228}, /* ä */ - {'a', 'a', 229}, /* å */ - {'a', 'e', 230}, /* æ */ - {'c', ',', 231}, /* ç */ - {'e', '`', 232}, /* è */ - {'e', '!', 232}, /* è */ - {'e', '\'', 233}, /* é */ - {'e', '^', 234}, /* ê */ - {'e', '>', 234}, /* ê */ - {'e', '"', 235}, /* ë */ - {'e', ':', 235}, /* ë */ - {'i', '`', 236}, /* ì */ - {'i', '!', 236}, /* ì */ - {'i', '\'', 237}, /* í */ - {'i', '^', 238}, /* î */ - {'i', '>', 238}, /* î */ - {'i', '"', 239}, /* ï */ - {'i', ':', 239}, /* ï */ - {'d', '-', 240}, /* ð */ - {'n', '~', 241}, /* ñ */ - {'n', '?', 241}, /* ñ */ - {'o', '`', 242}, /* ò */ - {'o', '!', 242}, /* ò */ - {'o', '\'', 243}, /* ó */ - {'o', '^', 244}, /* ô */ - {'o', '>', 244}, /* ô */ - {'o', '~', 245}, /* õ */ - {'o', '?', 245}, /* õ */ - {'o', '"', 246}, /* ö */ - {'o', ':', 246}, /* ö */ - {':', '-', 247}, /* ÷ */ - {'o', '/', 248}, /* ø */ - {'u', '`', 249}, /* ù */ - {'u', '!', 249}, /* ù */ - {'u', '\'', 250}, /* ú */ - {'u', '^', 251}, /* û */ - {'u', '>', 251}, /* û */ - {'u', '"', 252}, /* ü */ - {'u', ':', 252}, /* ü */ - {'y', '\'', 253}, /* ý */ - {'i', 'p', 254}, /* þ */ - {'t', 'h', 254}, /* þ */ - {'y', '"', 255}, /* ÿ */ - {'y', ':', 255}, /* ÿ */ - {'"', '[', 196}, /* Ä */ - {'"', '\\', 214}, /* Ö */ - {'"', ']', 220}, /* Ü */ - {'"', '{', 228}, /* ä */ - {'"', '|', 246}, /* ö */ - {'"', '}', 252}, /* ü */ - {'"', '~', 223} /* ß */ +/* digraph table taken from rfc1345 */ +static const unsigned int digraphs[][3] = { + {'N', 'S', 0x00a0}, /* NO-BREAK SPACE */ + {'!', 'I', 0x00a1}, /* INVERTED EXCLAMATION MARK */ + {'C', 't', 0x00a2}, /* CENT SIGN */ + {'P', 'd', 0x00a3}, /* POUND SIGN */ + {'C', 'u', 0x00a4}, /* CURRENCY SIGN */ + {'Y', 'e', 0x00a5}, /* YEN SIGN */ + {'B', 'B', 0x00a6}, /* BROKEN BAR */ + {'S', 'E', 0x00a7}, /* SECTION SIGN */ + {'\'', ':', 0x00a8}, /* DIAERESIS */ + {'C', 'o', 0x00a9}, /* COPYRIGHT SIGN */ + {'-', 'a', 0x00aa}, /* FEMININE ORDINAL INDICATOR */ + {'<', '<', 0x00ab}, /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ + {'N', 'O', 0x00ac}, /* NOT SIGN */ + {'-', '-', 0x00ad}, /* SOFT HYPHEN */ + {'R', 'g', 0x00ae}, /* REGISTERED SIGN */ + {'\'', 'm', 0x00af}, /* MACRON */ + {'D', 'G', 0x00b0}, /* DEGREE SIGN */ + {'+', '-', 0x00b1}, /* PLUS-MINUS SIGN */ + {'2', 'S', 0x00b2}, /* SUPERSCRIPT TWO */ + {'3', 'S', 0x00b3}, /* SUPERSCRIPT THREE */ + {'\'', '\'', 0x00b4}, /* ACUTE ACCENT */ + {'M', 'y', 0x00b5}, /* MICRO SIGN */ + {'P', 'I', 0x00b6}, /* PILCROW SIGN */ + {'.', 'M', 0x00b7}, /* MIDDLE DOT */ + {'\'', ',', 0x00b8}, /* CEDILLA */ + {'1', 'S', 0x00b9}, /* SUPERSCRIPT ONE */ + {'-', 'o', 0x00ba}, /* MASCULINE ORDINAL INDICATOR */ + {'>', '>', 0x00bb}, /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ + {'1', '4', 0x00bc}, /* VULGAR FRACTION ONE QUARTER */ + {'1', '2', 0x00bd}, /* VULGAR FRACTION ONE HALF */ + {'3', '4', 0x00be}, /* VULGAR FRACTION THREE QUARTERS */ + {'?', 'I', 0x00bf}, /* INVERTED QUESTION MARK */ + {'A', '!', 0x00c0}, /* LATIN CAPITAL LETTER A WITH GRAVE */ + {'A', '\'', 0x00c1}, /* LATIN CAPITAL LETTER A WITH ACUTE */ + {'A', '>', 0x00c2}, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ + {'A', '?', 0x00c3}, /* LATIN CAPITAL LETTER A WITH TILDE */ + {'A', ':', 0x00c4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */ + {'A', 'A', 0x00c5}, /* LATIN CAPITAL LETTER A WITH RING ABOVE */ + {'A', 'E', 0x00c6}, /* LATIN CAPITAL LETTER AE */ + {'C', ',', 0x00c7}, /* LATIN CAPITAL LETTER C WITH CEDILLA */ + {'E', '!', 0x00c8}, /* LATIN CAPITAL LETTER E WITH GRAVE */ + {'E', '\'', 0x00c9}, /* LATIN CAPITAL LETTER E WITH ACUTE */ + {'E', '>', 0x00ca}, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ + {'E', ':', 0x00cb}, /* LATIN CAPITAL LETTER E WITH DIAERESIS */ + {'I', '!', 0x00cc}, /* LATIN CAPITAL LETTER I WITH GRAVE */ + {'I', '\'', 0x00cd}, /* LATIN CAPITAL LETTER I WITH ACUTE */ + {'I', '>', 0x00ce}, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ + {'I', ':', 0x00cf}, /* LATIN CAPITAL LETTER I WITH DIAERESIS */ + {'D', '-', 0x00d0}, /* LATIN CAPITAL LETTER ETH (Icelandic) */ + {'N', '?', 0x00d1}, /* LATIN CAPITAL LETTER N WITH TILDE */ + {'O', '!', 0x00d2}, /* LATIN CAPITAL LETTER O WITH GRAVE */ + {'O', '\'', 0x00d3}, /* LATIN CAPITAL LETTER O WITH ACUTE */ + {'O', '>', 0x00d4}, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ + {'O', '?', 0x00d5}, /* LATIN CAPITAL LETTER O WITH TILDE */ + {'O', ':', 0x00d6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */ + {'*', 'X', 0x00d7}, /* MULTIPLICATION SIGN */ + {'O', '/', 0x00d8}, /* LATIN CAPITAL LETTER O WITH STROKE */ + {'U', '!', 0x00d9}, /* LATIN CAPITAL LETTER U WITH GRAVE */ + {'U', '\'', 0x00da}, /* LATIN CAPITAL LETTER U WITH ACUTE */ + {'U', '>', 0x00db}, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ + {'U', ':', 0x00dc}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */ + {'Y', '\'', 0x00dd}, /* LATIN CAPITAL LETTER Y WITH ACUTE */ + {'T', 'H', 0x00de}, /* LATIN CAPITAL LETTER THORN (Icelandic) */ + {'s', 's', 0x00df}, /* LATIN SMALL LETTER SHARP S (German) */ + {'a', '!', 0x00e0}, /* LATIN SMALL LETTER A WITH GRAVE */ + {'a', '\'', 0x00e1}, /* LATIN SMALL LETTER A WITH ACUTE */ + {'a', '>', 0x00e2}, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */ + {'a', '?', 0x00e3}, /* LATIN SMALL LETTER A WITH TILDE */ + {'a', ':', 0x00e4}, /* LATIN SMALL LETTER A WITH DIAERESIS */ + {'a', 'a', 0x00e5}, /* LATIN SMALL LETTER A WITH RING ABOVE */ + {'a', 'e', 0x00e6}, /* LATIN SMALL LETTER AE */ + {'c', ',', 0x00e7}, /* LATIN SMALL LETTER C WITH CEDILLA */ + {'e', '!', 0x00e8}, /* LATIN SMALL LETTER E WITH GRAVE */ + {'e', '\'', 0x00e9}, /* LATIN SMALL LETTER E WITH ACUTE */ + {'e', '>', 0x00ea}, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */ + {'e', ':', 0x00eb}, /* LATIN SMALL LETTER E WITH DIAERESIS */ + {'i', '!', 0x00ec}, /* LATIN SMALL LETTER I WITH GRAVE */ + {'i', '\'', 0x00ed}, /* LATIN SMALL LETTER I WITH ACUTE */ + {'i', '>', 0x00ee}, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */ + {'i', ':', 0x00ef}, /* LATIN SMALL LETTER I WITH DIAERESIS */ + {'d', '-', 0x00f0}, /* LATIN SMALL LETTER ETH (Icelandic) */ + {'n', '?', 0x00f1}, /* LATIN SMALL LETTER N WITH TILDE */ + {'o', '!', 0x00f2}, /* LATIN SMALL LETTER O WITH GRAVE */ + {'o', '\'', 0x00f3}, /* LATIN SMALL LETTER O WITH ACUTE */ + {'o', '>', 0x00f4}, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */ + {'o', '?', 0x00f5}, /* LATIN SMALL LETTER O WITH TILDE */ + {'o', ':', 0x00f6}, /* LATIN SMALL LETTER O WITH DIAERESIS */ + {'-', ':', 0x00f7}, /* DIVISION SIGN */ + {'o', '/', 0x00f8}, /* LATIN SMALL LETTER O WITH STROKE */ + {'u', '!', 0x00f9}, /* LATIN SMALL LETTER U WITH GRAVE */ + {'u', '\'', 0x00fa}, /* LATIN SMALL LETTER U WITH ACUTE */ + {'u', '>', 0x00fb}, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */ + {'u', ':', 0x00fc}, /* LATIN SMALL LETTER U WITH DIAERESIS */ + {'y', '\'', 0x00fd}, /* LATIN SMALL LETTER Y WITH ACUTE */ + {'t', 'h', 0x00fe}, /* LATIN SMALL LETTER THORN (Icelandic) */ + {'y', ':', 0x00ff}, /* LATIN SMALL LETTER Y WITH DIAERESIS */ + {'A', '-', 0x0100}, /* LATIN CAPITAL LETTER A WITH MACRON */ + {'a', '-', 0x0101}, /* LATIN SMALL LETTER A WITH MACRON */ + {'A', '(', 0x0102}, /* LATIN CAPITAL LETTER A WITH BREVE */ + {'a', '(', 0x0103}, /* LATIN SMALL LETTER A WITH BREVE */ + {'A', ';', 0x0104}, /* LATIN CAPITAL LETTER A WITH OGONEK */ + {'a', ';', 0x0105}, /* LATIN SMALL LETTER A WITH OGONEK */ + {'C', '\'', 0x0106}, /* LATIN CAPITAL LETTER C WITH ACUTE */ + {'c', '\'', 0x0107}, /* LATIN SMALL LETTER C WITH ACUTE */ + {'C', '>', 0x0108}, /* LATIN CAPITAL LETTER C WITH CIRCUMFLEX */ + {'c', '>', 0x0109}, /* LATIN SMALL LETTER C WITH CIRCUMFLEX */ + {'C', '.', 0x010a}, /* LATIN CAPITAL LETTER C WITH DOT ABOVE */ + {'c', '.', 0x010b}, /* LATIN SMALL LETTER C WITH DOT ABOVE */ + {'C', '<', 0x010c}, /* LATIN CAPITAL LETTER C WITH CARON */ + {'c', '<', 0x010d}, /* LATIN SMALL LETTER C WITH CARON */ + {'D', '<', 0x010e}, /* LATIN CAPITAL LETTER D WITH CARON */ + {'d', '<', 0x010f}, /* LATIN SMALL LETTER D WITH CARON */ + {'D', '/', 0x0110}, /* LATIN CAPITAL LETTER D WITH STROKE */ + {'d', '/', 0x0111}, /* LATIN SMALL LETTER D WITH STROKE */ + {'E', '-', 0x0112}, /* LATIN CAPITAL LETTER E WITH MACRON */ + {'e', '-', 0x0113}, /* LATIN SMALL LETTER E WITH MACRON */ + {'E', '(', 0x0114}, /* LATIN CAPITAL LETTER E WITH BREVE */ + {'e', '(', 0x0115}, /* LATIN SMALL LETTER E WITH BREVE */ + {'E', '.', 0x0116}, /* LATIN CAPITAL LETTER E WITH DOT ABOVE */ + {'e', '.', 0x0117}, /* LATIN SMALL LETTER E WITH DOT ABOVE */ + {'E', ';', 0x0118}, /* LATIN CAPITAL LETTER E WITH OGONEK */ + {'e', ';', 0x0119}, /* LATIN SMALL LETTER E WITH OGONEK */ + {'E', '<', 0x011a}, /* LATIN CAPITAL LETTER E WITH CARON */ + {'e', '<', 0x011b}, /* LATIN SMALL LETTER E WITH CARON */ + {'G', '>', 0x011c}, /* LATIN CAPITAL LETTER G WITH CIRCUMFLEX */ + {'g', '>', 0x011d}, /* LATIN SMALL LETTER G WITH CIRCUMFLEX */ + {'G', '(', 0x011e}, /* LATIN CAPITAL LETTER G WITH BREVE */ + {'g', '(', 0x011f}, /* LATIN SMALL LETTER G WITH BREVE */ + {'G', '.', 0x0120}, /* LATIN CAPITAL LETTER G WITH DOT ABOVE */ + {'g', '.', 0x0121}, /* LATIN SMALL LETTER G WITH DOT ABOVE */ + {'G', ',', 0x0122}, /* LATIN CAPITAL LETTER G WITH CEDILLA */ + {'g', ',', 0x0123}, /* LATIN SMALL LETTER G WITH CEDILLA */ + {'H', '>', 0x0124}, /* LATIN CAPITAL LETTER H WITH CIRCUMFLEX */ + {'h', '>', 0x0125}, /* LATIN SMALL LETTER H WITH CIRCUMFLEX */ + {'H', '/', 0x0126}, /* LATIN CAPITAL LETTER H WITH STROKE */ + {'h', '/', 0x0127}, /* LATIN SMALL LETTER H WITH STROKE */ + {'I', '?', 0x0128}, /* LATIN CAPITAL LETTER I WITH TILDE */ + {'i', '?', 0x0129}, /* LATIN SMALL LETTER I WITH TILDE */ + {'I', '-', 0x012a}, /* LATIN CAPITAL LETTER I WITH MACRON */ + {'i', '-', 0x012b}, /* LATIN SMALL LETTER I WITH MACRON */ + {'I', '(', 0x012c}, /* LATIN CAPITAL LETTER I WITH BREVE */ + {'i', '(', 0x012d}, /* LATIN SMALL LETTER I WITH BREVE */ + {'I', ';', 0x012e}, /* LATIN CAPITAL LETTER I WITH OGONEK */ + {'i', ';', 0x012f}, /* LATIN SMALL LETTER I WITH OGONEK */ + {'I', '.', 0x0130}, /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ + {'i', '.', 0x0131}, /* LATIN SMALL LETTER I DOTLESS */ + {'I', 'J', 0x0132}, /* LATIN CAPITAL LIGATURE IJ */ + {'i', 'j', 0x0133}, /* LATIN SMALL LIGATURE IJ */ + {'J', '>', 0x0134}, /* LATIN CAPITAL LETTER J WITH CIRCUMFLEX */ + {'j', '>', 0x0135}, /* LATIN SMALL LETTER J WITH CIRCUMFLEX */ + {'K', ',', 0x0136}, /* LATIN CAPITAL LETTER K WITH CEDILLA */ + {'k', ',', 0x0137}, /* LATIN SMALL LETTER K WITH CEDILLA */ + {'k', 'k', 0x0138}, /* LATIN SMALL LETTER KRA (Greenlandic) */ + {'L', '\'', 0x0139}, /* LATIN CAPITAL LETTER L WITH ACUTE */ + {'l', '\'', 0x013a}, /* LATIN SMALL LETTER L WITH ACUTE */ + {'L', ',', 0x013b}, /* LATIN CAPITAL LETTER L WITH CEDILLA */ + {'l', ',', 0x013c}, /* LATIN SMALL LETTER L WITH CEDILLA */ + {'L', '<', 0x013d}, /* LATIN CAPITAL LETTER L WITH CARON */ + {'l', '<', 0x013e}, /* LATIN SMALL LETTER L WITH CARON */ + {'L', '.', 0x013f}, /* LATIN CAPITAL LETTER L WITH MIDDLE DOT */ + {'l', '.', 0x0140}, /* LATIN SMALL LETTER L WITH MIDDLE DOT */ + {'L', '/', 0x0141}, /* LATIN CAPITAL LETTER L WITH STROKE */ + {'l', '/', 0x0142}, /* LATIN SMALL LETTER L WITH STROKE */ + {'N', '\'', 0x0143}, /* LATIN CAPITAL LETTER N WITH ACUTE */ + {'n', '\'', 0x0144}, /* LATIN SMALL LETTER N WITH ACUTE */ + {'N', ',', 0x0145}, /* LATIN CAPITAL LETTER N WITH CEDILLA */ + {'n', ',', 0x0146}, /* LATIN SMALL LETTER N WITH CEDILLA */ + {'N', '<', 0x0147}, /* LATIN CAPITAL LETTER N WITH CARON */ + {'n', '<', 0x0148}, /* LATIN SMALL LETTER N WITH CARON */ + {'\'', 'n', 0x0149}, /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + {'N', 'G', 0x014a}, /* LATIN CAPITAL LETTER ENG (Lappish) */ + {'n', 'g', 0x014b}, /* LATIN SMALL LETTER ENG (Lappish) */ + {'O', '-', 0x014c}, /* LATIN CAPITAL LETTER O WITH MACRON */ + {'o', '-', 0x014d}, /* LATIN SMALL LETTER O WITH MACRON */ + {'O', '(', 0x014e}, /* LATIN CAPITAL LETTER O WITH BREVE */ + {'o', '(', 0x014f}, /* LATIN SMALL LETTER O WITH BREVE */ + {'O', '"', 0x0150}, /* LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */ + {'o', '"', 0x0151}, /* LATIN SMALL LETTER O WITH DOUBLE ACUTE */ + {'O', 'E', 0x0152}, /* LATIN CAPITAL LIGATURE OE */ + {'o', 'e', 0x0153}, /* LATIN SMALL LIGATURE OE */ + {'R', '\'', 0x0154}, /* LATIN CAPITAL LETTER R WITH ACUTE */ + {'r', '\'', 0x0155}, /* LATIN SMALL LETTER R WITH ACUTE */ + {'R', ',', 0x0156}, /* LATIN CAPITAL LETTER R WITH CEDILLA */ + {'r', ',', 0x0157}, /* LATIN SMALL LETTER R WITH CEDILLA */ + {'R', '<', 0x0158}, /* LATIN CAPITAL LETTER R WITH CARON */ + {'r', '<', 0x0159}, /* LATIN SMALL LETTER R WITH CARON */ + {'S', '\'', 0x015a}, /* LATIN CAPITAL LETTER S WITH ACUTE */ + {'s', '\'', 0x015b}, /* LATIN SMALL LETTER S WITH ACUTE */ + {'S', '>', 0x015c}, /* LATIN CAPITAL LETTER S WITH CIRCUMFLEX */ + {'s', '>', 0x015d}, /* LATIN SMALL LETTER S WITH CIRCUMFLEX */ + {'S', ',', 0x015e}, /* LATIN CAPITAL LETTER S WITH CEDILLA */ + {'s', ',', 0x015f}, /* LATIN SMALL LETTER S WITH CEDILLA */ + {'S', '<', 0x0160}, /* LATIN CAPITAL LETTER S WITH CARON */ + {'s', '<', 0x0161}, /* LATIN SMALL LETTER S WITH CARON */ + {'T', ',', 0x0162}, /* LATIN CAPITAL LETTER T WITH CEDILLA */ + {'t', ',', 0x0163}, /* LATIN SMALL LETTER T WITH CEDILLA */ + {'T', '<', 0x0164}, /* LATIN CAPITAL LETTER T WITH CARON */ + {'t', '<', 0x0165}, /* LATIN SMALL LETTER T WITH CARON */ + {'T', '/', 0x0166}, /* LATIN CAPITAL LETTER T WITH STROKE */ + {'t', '/', 0x0167}, /* LATIN SMALL LETTER T WITH STROKE */ + {'U', '?', 0x0168}, /* LATIN CAPITAL LETTER U WITH TILDE */ + {'u', '?', 0x0169}, /* LATIN SMALL LETTER U WITH TILDE */ + {'U', '-', 0x016a}, /* LATIN CAPITAL LETTER U WITH MACRON */ + {'u', '-', 0x016b}, /* LATIN SMALL LETTER U WITH MACRON */ + {'U', '(', 0x016c}, /* LATIN CAPITAL LETTER U WITH BREVE */ + {'u', '(', 0x016d}, /* LATIN SMALL LETTER U WITH BREVE */ + {'U', '0', 0x016e}, /* LATIN CAPITAL LETTER U WITH RING ABOVE */ + {'u', '0', 0x016f}, /* LATIN SMALL LETTER U WITH RING ABOVE */ + {'U', '"', 0x0170}, /* LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */ + {'u', '"', 0x0171}, /* LATIN SMALL LETTER U WITH DOUBLE ACUTE */ + {'U', ';', 0x0172}, /* LATIN CAPITAL LETTER U WITH OGONEK */ + {'u', ';', 0x0173}, /* LATIN SMALL LETTER U WITH OGONEK */ + {'W', '>', 0x0174}, /* LATIN CAPITAL LETTER W WITH CIRCUMFLEX */ + {'w', '>', 0x0175}, /* LATIN SMALL LETTER W WITH CIRCUMFLEX */ + {'Y', '>', 0x0176}, /* LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */ + {'y', '>', 0x0177}, /* LATIN SMALL LETTER Y WITH CIRCUMFLEX */ + {'Y', ':', 0x0178}, /* LATIN CAPITAL LETTER Y WITH DIAERESIS */ + {'Z', '\'', 0x0179}, /* LATIN CAPITAL LETTER Z WITH ACUTE */ + {'z', '\'', 0x017a}, /* LATIN SMALL LETTER Z WITH ACUTE */ + {'Z', '.', 0x017b}, /* LATIN CAPITAL LETTER Z WITH DOT ABOVE */ + {'z', '.', 0x017c}, /* LATIN SMALL LETTER Z WITH DOT ABOVE */ + {'Z', '<', 0x017d}, /* LATIN CAPITAL LETTER Z WITH CARON */ + {'z', '<', 0x017e}, /* LATIN SMALL LETTER Z WITH CARON */ + {'O', '9', 0x01a0}, /* LATIN CAPITAL LETTER O WITH HORN */ + {'o', '9', 0x01a1}, /* LATIN SMALL LETTER O WITH HORN */ + {'O', 'I', 0x01a2}, /* LATIN CAPITAL LETTER OI */ + {'o', 'i', 0x01a3}, /* LATIN SMALL LETTER OI */ + {'y', 'r', 0x01a6}, /* LATIN LETTER YR */ + {'U', '9', 0x01af}, /* LATIN CAPITAL LETTER U WITH HORN */ + {'u', '9', 0x01b0}, /* LATIN SMALL LETTER U WITH HORN */ + {'Z', '/', 0x01b5}, /* LATIN CAPITAL LETTER Z WITH STROKE */ + {'z', '/', 0x01b6}, /* LATIN SMALL LETTER Z WITH STROKE */ + {'E', 'D', 0x01b7}, /* LATIN CAPITAL LETTER EZH */ + {'A', '<', 0x01cd}, /* LATIN CAPITAL LETTER A WITH CARON */ + {'a', '<', 0x01ce}, /* LATIN SMALL LETTER A WITH CARON */ + {'I', '<', 0x01cf}, /* LATIN CAPITAL LETTER I WITH CARON */ + {'i', '<', 0x01d0}, /* LATIN SMALL LETTER I WITH CARON */ + {'O', '<', 0x01d1}, /* LATIN CAPITAL LETTER O WITH CARON */ + {'o', '<', 0x01d2}, /* LATIN SMALL LETTER O WITH CARON */ + {'U', '<', 0x01d3}, /* LATIN CAPITAL LETTER U WITH CARON */ + {'u', '<', 0x01d4}, /* LATIN SMALL LETTER U WITH CARON */ + {'A', '1', 0x01de}, /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */ + {'a', '1', 0x01df}, /* LATIN SMALL LETTER A WITH DIAERESIS AND MACRON */ + {'A', '7', 0x01e0}, /* LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON */ + {'a', '7', 0x01e1}, /* LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON */ + {'A', '3', 0x01e2}, /* LATIN CAPITAL LETTER AE WITH MACRON */ + {'a', '3', 0x01e3}, /* LATIN SMALL LETTER AE WITH MACRON */ + {'G', '/', 0x01e4}, /* LATIN CAPITAL LETTER G WITH STROKE */ + {'g', '/', 0x01e5}, /* LATIN SMALL LETTER G WITH STROKE */ + {'G', '<', 0x01e6}, /* LATIN CAPITAL LETTER G WITH CARON */ + {'g', '<', 0x01e7}, /* LATIN SMALL LETTER G WITH CARON */ + {'K', '<', 0x01e8}, /* LATIN CAPITAL LETTER K WITH CARON */ + {'k', '<', 0x01e9}, /* LATIN SMALL LETTER K WITH CARON */ + {'O', ';', 0x01ea}, /* LATIN CAPITAL LETTER O WITH OGONEK */ + {'o', ';', 0x01eb}, /* LATIN SMALL LETTER O WITH OGONEK */ + {'O', '1', 0x01ec}, /* LATIN CAPITAL LETTER O WITH OGONEK AND MACRON */ + {'o', '1', 0x01ed}, /* LATIN SMALL LETTER O WITH OGONEK AND MACRON */ + {'E', 'Z', 0x01ee}, /* LATIN CAPITAL LETTER EZH WITH CARON */ + {'e', 'z', 0x01ef}, /* LATIN SMALL LETTER EZH WITH CARON */ + {'j', '<', 0x01f0}, /* LATIN SMALL LETTER J WITH CARON */ + {'G', '\'', 0x01f4}, /* LATIN CAPITAL LETTER G WITH ACUTE */ + {'g', '\'', 0x01f5}, /* LATIN SMALL LETTER G WITH ACUTE */ + {';', 'S', 0x02bf}, /* MODIFIER LETTER LEFT HALF RING */ + {'\'', '<', 0x02c7}, /* CARON */ + {'\'', '(', 0x02d8}, /* BREVE */ + {'\'', '.', 0x02d9}, /* DOT ABOVE */ + {'\'', '0', 0x02da}, /* RING ABOVE */ + {'\'', ';', 0x02db}, /* OGONEK */ + {'\'', '"', 0x02dd}, /* DOUBLE ACUTE ACCENT */ + {'A', '%', 0x0386}, /* GREEK CAPITAL LETTER ALPHA WITH ACUTE */ + {'E', '%', 0x0388}, /* GREEK CAPITAL LETTER EPSILON WITH ACUTE */ + {'Y', '%', 0x0389}, /* GREEK CAPITAL LETTER ETA WITH ACUTE */ + {'I', '%', 0x038a}, /* GREEK CAPITAL LETTER IOTA WITH ACUTE */ + {'O', '%', 0x038c}, /* GREEK CAPITAL LETTER OMICRON WITH ACUTE */ + {'U', '%', 0x038e}, /* GREEK CAPITAL LETTER UPSILON WITH ACUTE */ + {'W', '%', 0x038f}, /* GREEK CAPITAL LETTER OMEGA WITH ACUTE */ + {'i', '3', 0x0390}, /* GREEK SMALL LETTER IOTA WITH ACUTE AND DIAERESIS */ + {'A', '*', 0x0391}, /* GREEK CAPITAL LETTER ALPHA */ + {'B', '*', 0x0392}, /* GREEK CAPITAL LETTER BETA */ + {'G', '*', 0x0393}, /* GREEK CAPITAL LETTER GAMMA */ + {'D', '*', 0x0394}, /* GREEK CAPITAL LETTER DELTA */ + {'E', '*', 0x0395}, /* GREEK CAPITAL LETTER EPSILON */ + {'Z', '*', 0x0396}, /* GREEK CAPITAL LETTER ZETA */ + {'Y', '*', 0x0397}, /* GREEK CAPITAL LETTER ETA */ + {'H', '*', 0x0398}, /* GREEK CAPITAL LETTER THETA */ + {'I', '*', 0x0399}, /* GREEK CAPITAL LETTER IOTA */ + {'K', '*', 0x039a}, /* GREEK CAPITAL LETTER KAPPA */ + {'L', '*', 0x039b}, /* GREEK CAPITAL LETTER LAMDA */ + {'M', '*', 0x039c}, /* GREEK CAPITAL LETTER MU */ + {'N', '*', 0x039d}, /* GREEK CAPITAL LETTER NU */ + {'C', '*', 0x039e}, /* GREEK CAPITAL LETTER XI */ + {'O', '*', 0x039f}, /* GREEK CAPITAL LETTER OMICRON */ + {'P', '*', 0x03a0}, /* GREEK CAPITAL LETTER PI */ + {'R', '*', 0x03a1}, /* GREEK CAPITAL LETTER RHO */ + {'S', '*', 0x03a3}, /* GREEK CAPITAL LETTER SIGMA */ + {'T', '*', 0x03a4}, /* GREEK CAPITAL LETTER TAU */ + {'U', '*', 0x03a5}, /* GREEK CAPITAL LETTER UPSILON */ + {'F', '*', 0x03a6}, /* GREEK CAPITAL LETTER PHI */ + {'X', '*', 0x03a7}, /* GREEK CAPITAL LETTER CHI */ + {'Q', '*', 0x03a8}, /* GREEK CAPITAL LETTER PSI */ + {'W', '*', 0x03a9}, /* GREEK CAPITAL LETTER OMEGA */ + {'J', '*', 0x03aa}, /* GREEK CAPITAL LETTER IOTA WITH DIAERESIS */ + {'V', '*', 0x03ab}, /* GREEK CAPITAL LETTER UPSILON WITH DIAERESIS */ + {'a', '%', 0x03ac}, /* GREEK SMALL LETTER ALPHA WITH ACUTE */ + {'e', '%', 0x03ad}, /* GREEK SMALL LETTER EPSILON WITH ACUTE */ + {'y', '%', 0x03ae}, /* GREEK SMALL LETTER ETA WITH ACUTE */ + {'i', '%', 0x03af}, /* GREEK SMALL LETTER IOTA WITH ACUTE */ + {'u', '3', 0x03b0}, /* GREEK SMALL LETTER UPSILON WITH ACUTE AND DIAERESIS */ + {'a', '*', 0x03b1}, /* GREEK SMALL LETTER ALPHA */ + {'b', '*', 0x03b2}, /* GREEK SMALL LETTER BETA */ + {'g', '*', 0x03b3}, /* GREEK SMALL LETTER GAMMA */ + {'d', '*', 0x03b4}, /* GREEK SMALL LETTER DELTA */ + {'e', '*', 0x03b5}, /* GREEK SMALL LETTER EPSILON */ + {'z', '*', 0x03b6}, /* GREEK SMALL LETTER ZETA */ + {'y', '*', 0x03b7}, /* GREEK SMALL LETTER ETA */ + {'h', '*', 0x03b8}, /* GREEK SMALL LETTER THETA */ + {'i', '*', 0x03b9}, /* GREEK SMALL LETTER IOTA */ + {'k', '*', 0x03ba}, /* GREEK SMALL LETTER KAPPA */ + {'l', '*', 0x03bb}, /* GREEK SMALL LETTER LAMDA */ + {'m', '*', 0x03bc}, /* GREEK SMALL LETTER MU */ + {'n', '*', 0x03bd}, /* GREEK SMALL LETTER NU */ + {'c', '*', 0x03be}, /* GREEK SMALL LETTER XI */ + {'o', '*', 0x03bf}, /* GREEK SMALL LETTER OMICRON */ + {'p', '*', 0x03c0}, /* GREEK SMALL LETTER PI */ + {'r', '*', 0x03c1}, /* GREEK SMALL LETTER RHO */ + {'*', 's', 0x03c2}, /* GREEK SMALL LETTER FINAL SIGMA */ + {'s', '*', 0x03c3}, /* GREEK SMALL LETTER SIGMA */ + {'t', '*', 0x03c4}, /* GREEK SMALL LETTER TAU */ + {'u', '*', 0x03c5}, /* GREEK SMALL LETTER UPSILON */ + {'f', '*', 0x03c6}, /* GREEK SMALL LETTER PHI */ + {'x', '*', 0x03c7}, /* GREEK SMALL LETTER CHI */ + {'q', '*', 0x03c8}, /* GREEK SMALL LETTER PSI */ + {'w', '*', 0x03c9}, /* GREEK SMALL LETTER OMEGA */ + {'j', '*', 0x03ca}, /* GREEK SMALL LETTER IOTA WITH DIAERESIS */ + {'v', '*', 0x03cb}, /* GREEK SMALL LETTER UPSILON WITH DIAERESIS */ + {'o', '%', 0x03cc}, /* GREEK SMALL LETTER OMICRON WITH ACUTE */ + {'u', '%', 0x03cd}, /* GREEK SMALL LETTER UPSILON WITH ACUTE */ + {'w', '%', 0x03ce}, /* GREEK SMALL LETTER OMEGA WITH ACUTE */ + {'\'', 'G', 0x03d8}, /* GREEK NUMERAL SIGN */ + {',', 'G', 0x03d9}, /* GREEK LOWER NUMERAL SIGN */ + {'T', '3', 0x03da}, /* GREEK CAPITAL LETTER STIGMA */ + {'t', '3', 0x03db}, /* GREEK SMALL LETTER STIGMA */ + {'M', '3', 0x03dc}, /* GREEK CAPITAL LETTER DIGAMMA */ + {'m', '3', 0x03dd}, /* GREEK SMALL LETTER DIGAMMA */ + {'K', '3', 0x03de}, /* GREEK CAPITAL LETTER KOPPA */ + {'k', '3', 0x03df}, /* GREEK SMALL LETTER KOPPA */ + {'P', '3', 0x03e0}, /* GREEK CAPITAL LETTER SAMPI */ + {'p', '3', 0x03e1}, /* GREEK SMALL LETTER SAMPI */ + {'\'', '%', 0x03f4}, /* ACUTE ACCENT AND DIAERESIS (Tonos and Dialytika) */ + {'j', '3', 0x03f5}, /* GREEK IOTA BELOW */ + {'I', 'O', 0x0401}, /* CYRILLIC CAPITAL LETTER IO */ + {'D', '%', 0x0402}, /* CYRILLIC CAPITAL LETTER DJE (Serbocroatian) */ + {'G', '%', 0x0403}, /* CYRILLIC CAPITAL LETTER GJE (Macedonian) */ + {'I', 'E', 0x0404}, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */ + {'D', 'S', 0x0405}, /* CYRILLIC CAPITAL LETTER DZE (Macedonian) */ + {'I', 'I', 0x0406}, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */ + {'Y', 'I', 0x0407}, /* CYRILLIC CAPITAL LETTER YI (Ukrainian) */ + {'J', '%', 0x0408}, /* CYRILLIC CAPITAL LETTER JE */ + {'L', 'J', 0x0409}, /* CYRILLIC CAPITAL LETTER LJE */ + {'N', 'J', 0x040a}, /* CYRILLIC CAPITAL LETTER NJE */ + {'T', 's', 0x040b}, /* CYRILLIC CAPITAL LETTER TSHE (Serbocroatian) */ + {'K', 'J', 0x040c}, /* CYRILLIC CAPITAL LETTER KJE (Macedonian) */ + {'V', '%', 0x040e}, /* CYRILLIC CAPITAL LETTER SHORT U (Byelorussian) */ + {'D', 'Z', 0x040f}, /* CYRILLIC CAPITAL LETTER DZHE */ + {'A', '=', 0x0410}, /* CYRILLIC CAPITAL LETTER A */ + {'B', '=', 0x0411}, /* CYRILLIC CAPITAL LETTER BE */ + {'V', '=', 0x0412}, /* CYRILLIC CAPITAL LETTER VE */ + {'G', '=', 0x0413}, /* CYRILLIC CAPITAL LETTER GHE */ + {'D', '=', 0x0414}, /* CYRILLIC CAPITAL LETTER DE */ + {'E', '=', 0x0415}, /* CYRILLIC CAPITAL LETTER IE */ + {'Z', '%', 0x0416}, /* CYRILLIC CAPITAL LETTER ZHE */ + {'Z', '=', 0x0417}, /* CYRILLIC CAPITAL LETTER ZE */ + {'I', '=', 0x0418}, /* CYRILLIC CAPITAL LETTER I */ + {'J', '=', 0x0419}, /* CYRILLIC CAPITAL LETTER SHORT I */ + {'K', '=', 0x041a}, /* CYRILLIC CAPITAL LETTER KA */ + {'L', '=', 0x041b}, /* CYRILLIC CAPITAL LETTER EL */ + {'M', '=', 0x041c}, /* CYRILLIC CAPITAL LETTER EM */ + {'N', '=', 0x041d}, /* CYRILLIC CAPITAL LETTER EN */ + {'O', '=', 0x041e}, /* CYRILLIC CAPITAL LETTER O */ + {'P', '=', 0x041f}, /* CYRILLIC CAPITAL LETTER PE */ + {'R', '=', 0x0420}, /* CYRILLIC CAPITAL LETTER ER */ + {'S', '=', 0x0421}, /* CYRILLIC CAPITAL LETTER ES */ + {'T', '=', 0x0422}, /* CYRILLIC CAPITAL LETTER TE */ + {'U', '=', 0x0423}, /* CYRILLIC CAPITAL LETTER U */ + {'F', '=', 0x0424}, /* CYRILLIC CAPITAL LETTER EF */ + {'H', '=', 0x0425}, /* CYRILLIC CAPITAL LETTER HA */ + {'C', '=', 0x0426}, /* CYRILLIC CAPITAL LETTER TSE */ + {'C', '%', 0x0427}, /* CYRILLIC CAPITAL LETTER CHE */ + {'S', '%', 0x0428}, /* CYRILLIC CAPITAL LETTER SHA */ + {'S', 'c', 0x0429}, /* CYRILLIC CAPITAL LETTER SHCHA */ + {'=', '"', 0x042a}, /* CYRILLIC CAPITAL LETTER HARD SIGN */ + {'Y', '=', 0x042b}, /* CYRILLIC CAPITAL LETTER YERU */ + {'%', '"', 0x042c}, /* CYRILLIC CAPITAL LETTER SOFT SIGN */ + {'J', 'E', 0x042d}, /* CYRILLIC CAPITAL LETTER E */ + {'J', 'U', 0x042e}, /* CYRILLIC CAPITAL LETTER YU */ + {'J', 'A', 0x042f}, /* CYRILLIC CAPITAL LETTER YA */ + {'a', '=', 0x0430}, /* CYRILLIC SMALL LETTER A */ + {'b', '=', 0x0431}, /* CYRILLIC SMALL LETTER BE */ + {'v', '=', 0x0432}, /* CYRILLIC SMALL LETTER VE */ + {'g', '=', 0x0433}, /* CYRILLIC SMALL LETTER GHE */ + {'d', '=', 0x0434}, /* CYRILLIC SMALL LETTER DE */ + {'e', '=', 0x0435}, /* CYRILLIC SMALL LETTER IE */ + {'z', '%', 0x0436}, /* CYRILLIC SMALL LETTER ZHE */ + {'z', '=', 0x0437}, /* CYRILLIC SMALL LETTER ZE */ + {'i', '=', 0x0438}, /* CYRILLIC SMALL LETTER I */ + {'j', '=', 0x0439}, /* CYRILLIC SMALL LETTER SHORT I */ + {'k', '=', 0x043a}, /* CYRILLIC SMALL LETTER KA */ + {'l', '=', 0x043b}, /* CYRILLIC SMALL LETTER EL */ + {'m', '=', 0x043c}, /* CYRILLIC SMALL LETTER EM */ + {'n', '=', 0x043d}, /* CYRILLIC SMALL LETTER EN */ + {'o', '=', 0x043e}, /* CYRILLIC SMALL LETTER O */ + {'p', '=', 0x043f}, /* CYRILLIC SMALL LETTER PE */ + {'r', '=', 0x0440}, /* CYRILLIC SMALL LETTER ER */ + {'s', '=', 0x0441}, /* CYRILLIC SMALL LETTER ES */ + {'t', '=', 0x0442}, /* CYRILLIC SMALL LETTER TE */ + {'u', '=', 0x0443}, /* CYRILLIC SMALL LETTER U */ + {'f', '=', 0x0444}, /* CYRILLIC SMALL LETTER EF */ + {'h', '=', 0x0445}, /* CYRILLIC SMALL LETTER HA */ + {'c', '=', 0x0446}, /* CYRILLIC SMALL LETTER TSE */ + {'c', '%', 0x0447}, /* CYRILLIC SMALL LETTER CHE */ + {'s', '%', 0x0448}, /* CYRILLIC SMALL LETTER SHA */ + {'s', 'c', 0x0449}, /* CYRILLIC SMALL LETTER SHCHA */ + {'=', '\'', 0x044a}, /* CYRILLIC SMALL LETTER HARD SIGN */ + {'y', '=', 0x044b}, /* CYRILLIC SMALL LETTER YERU */ + {'%', '\'', 0x044c}, /* CYRILLIC SMALL LETTER SOFT SIGN */ + {'j', 'e', 0x044d}, /* CYRILLIC SMALL LETTER E */ + {'j', 'u', 0x044e}, /* CYRILLIC SMALL LETTER YU */ + {'j', 'a', 0x044f}, /* CYRILLIC SMALL LETTER YA */ + {'i', 'o', 0x0451}, /* CYRILLIC SMALL LETTER IO */ + {'d', '%', 0x0452}, /* CYRILLIC SMALL LETTER DJE (Serbocroatian) */ + {'g', '%', 0x0453}, /* CYRILLIC SMALL LETTER GJE (Macedonian) */ + {'i', 'e', 0x0454}, /* CYRILLIC SMALL LETTER UKRAINIAN IE */ + {'d', 's', 0x0455}, /* CYRILLIC SMALL LETTER DZE (Macedonian) */ + {'i', 'i', 0x0456}, /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */ + {'y', 'i', 0x0457}, /* CYRILLIC SMALL LETTER YI (Ukrainian) */ + {'j', '%', 0x0458}, /* CYRILLIC SMALL LETTER JE */ + {'l', 'j', 0x0459}, /* CYRILLIC SMALL LETTER LJE */ + {'n', 'j', 0x045a}, /* CYRILLIC SMALL LETTER NJE */ + {'t', 's', 0x045b}, /* CYRILLIC SMALL LETTER TSHE (Serbocroatian) */ + {'k', 'j', 0x045c}, /* CYRILLIC SMALL LETTER KJE (Macedonian) */ + {'v', '%', 0x045e}, /* CYRILLIC SMALL LETTER SHORT U (Byelorussian) */ + {'d', 'z', 0x045f}, /* CYRILLIC SMALL LETTER DZHE */ + {'Y', '3', 0x0462}, /* CYRILLIC CAPITAL LETTER YAT */ + {'y', '3', 0x0463}, /* CYRILLIC SMALL LETTER YAT */ + {'O', '3', 0x046a}, /* CYRILLIC CAPITAL LETTER BIG YUS */ + {'o', '3', 0x046b}, /* CYRILLIC SMALL LETTER BIG YUS */ + {'F', '3', 0x0472}, /* CYRILLIC CAPITAL LETTER FITA */ + {'f', '3', 0x0473}, /* CYRILLIC SMALL LETTER FITA */ + {'V', '3', 0x0474}, /* CYRILLIC CAPITAL LETTER IZHITSA */ + {'v', '3', 0x0475}, /* CYRILLIC SMALL LETTER IZHITSA */ + {'C', '3', 0x0480}, /* CYRILLIC CAPITAL LETTER KOPPA */ + {'c', '3', 0x0481}, /* CYRILLIC SMALL LETTER KOPPA */ + {'G', '3', 0x0490}, /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ + {'g', '3', 0x0491}, /* CYRILLIC SMALL LETTER GHE WITH UPTURN */ + {'A', '+', 0x05d0}, /* HEBREW LETTER ALEF */ + {'B', '+', 0x05d1}, /* HEBREW LETTER BET */ + {'G', '+', 0x05d2}, /* HEBREW LETTER GIMEL */ + {'D', '+', 0x05d3}, /* HEBREW LETTER DALET */ + {'H', '+', 0x05d4}, /* HEBREW LETTER HE */ + {'W', '+', 0x05d5}, /* HEBREW LETTER VAV */ + {'Z', '+', 0x05d6}, /* HEBREW LETTER ZAYIN */ + {'X', '+', 0x05d7}, /* HEBREW LETTER HET */ + {'T', 'j', 0x05d8}, /* HEBREW LETTER TET */ + {'J', '+', 0x05d9}, /* HEBREW LETTER YOD */ + {'K', '%', 0x05da}, /* HEBREW LETTER FINAL KAF */ + {'K', '+', 0x05db}, /* HEBREW LETTER KAF */ + {'L', '+', 0x05dc}, /* HEBREW LETTER LAMED */ + {'M', '%', 0x05dd}, /* HEBREW LETTER FINAL MEM */ + {'M', '+', 0x05de}, /* HEBREW LETTER MEM */ + {'N', '%', 0x05df}, /* HEBREW LETTER FINAL NUN */ + {'N', '+', 0x05e0}, /* HEBREW LETTER NUN */ + {'S', '+', 0x05e1}, /* HEBREW LETTER SAMEKH */ + {'E', '+', 0x05e2}, /* HEBREW LETTER AYIN */ + {'P', '%', 0x05e3}, /* HEBREW LETTER FINAL PE */ + {'P', '+', 0x05e4}, /* HEBREW LETTER PE */ + {'Z', 'j', 0x05e5}, /* HEBREW LETTER FINAL TSADI */ + {'Z', 'J', 0x05e6}, /* HEBREW LETTER TSADI */ + {'Q', '+', 0x05e7}, /* HEBREW LETTER QOF */ + {'R', '+', 0x05e8}, /* HEBREW LETTER RESH */ + {'S', 'h', 0x05e9}, /* HEBREW LETTER SHIN */ + {'T', '+', 0x05ea}, /* HEBREW LETTER TAV */ + {',', '+', 0x060c}, /* ARABIC COMMA */ + {';', '+', 0x061b}, /* ARABIC SEMICOLON */ + {'?', '+', 0x061f}, /* ARABIC QUESTION MARK */ + {'H', '\'', 0x0621}, /* ARABIC LETTER HAMZA */ + {'a', 'M', 0x0622}, /* ARABIC LETTER ALEF WITH MADDA ABOVE */ + {'a', 'H', 0x0623}, /* ARABIC LETTER ALEF WITH HAMZA ABOVE */ + {'w', 'H', 0x0624}, /* ARABIC LETTER WAW WITH HAMZA ABOVE */ + {'a', 'h', 0x0625}, /* ARABIC LETTER ALEF WITH HAMZA BELOW */ + {'y', 'H', 0x0626}, /* ARABIC LETTER YEH WITH HAMZA ABOVE */ + {'a', '+', 0x0627}, /* ARABIC LETTER ALEF */ + {'b', '+', 0x0628}, /* ARABIC LETTER BEH */ + {'t', 'm', 0x0629}, /* ARABIC LETTER TEH MARBUTA */ + {'t', '+', 0x062a}, /* ARABIC LETTER TEH */ + {'t', 'k', 0x062b}, /* ARABIC LETTER THEH */ + {'g', '+', 0x062c}, /* ARABIC LETTER JEEM */ + {'h', 'k', 0x062d}, /* ARABIC LETTER HAH */ + {'x', '+', 0x062e}, /* ARABIC LETTER KHAH */ + {'d', '+', 0x062f}, /* ARABIC LETTER DAL */ + {'d', 'k', 0x0630}, /* ARABIC LETTER THAL */ + {'r', '+', 0x0631}, /* ARABIC LETTER REH */ + {'z', '+', 0x0632}, /* ARABIC LETTER ZAIN */ + {'s', '+', 0x0633}, /* ARABIC LETTER SEEN */ + {'s', 'n', 0x0634}, /* ARABIC LETTER SHEEN */ + {'c', '+', 0x0635}, /* ARABIC LETTER SAD */ + {'d', 'd', 0x0636}, /* ARABIC LETTER DAD */ + {'t', 'j', 0x0637}, /* ARABIC LETTER TAH */ + {'z', 'H', 0x0638}, /* ARABIC LETTER ZAH */ + {'e', '+', 0x0639}, /* ARABIC LETTER AIN */ + {'i', '+', 0x063a}, /* ARABIC LETTER GHAIN */ + {'+', '+', 0x0640}, /* ARABIC TATWEEL */ + {'f', '+', 0x0641}, /* ARABIC LETTER FEH */ + {'q', '+', 0x0642}, /* ARABIC LETTER QAF */ + {'k', '+', 0x0643}, /* ARABIC LETTER KAF */ + {'l', '+', 0x0644}, /* ARABIC LETTER LAM */ + {'m', '+', 0x0645}, /* ARABIC LETTER MEEM */ + {'n', '+', 0x0646}, /* ARABIC LETTER NOON */ + {'h', '+', 0x0647}, /* ARABIC LETTER HEH */ + {'w', '+', 0x0648}, /* ARABIC LETTER WAW */ + {'j', '+', 0x0649}, /* ARABIC LETTER ALEF MAKSURA */ + {'y', '+', 0x064a}, /* ARABIC LETTER YEH */ + {':', '+', 0x064b}, /* ARABIC FATHATAN */ + {'"', '+', 0x064c}, /* ARABIC DAMMATAN */ + {'=', '+', 0x064d}, /* ARABIC KASRATAN */ + {'/', '+', 0x064e}, /* ARABIC FATHA */ + {'\'', '+', 0x064f}, /* ARABIC DAMMA */ + {'1', '+', 0x0650}, /* ARABIC KASRA */ + {'3', '+', 0x0651}, /* ARABIC SHADDA */ + {'0', '+', 0x0652}, /* ARABIC SUKUN */ + {'a', 'S', 0x0670}, /* SUPERSCRIPT ARABIC LETTER ALEF */ + {'p', '+', 0x067e}, /* ARABIC LETTER PEH */ + {'v', '+', 0x06a4}, /* ARABIC LETTER VEH */ + {'g', 'f', 0x06af}, /* ARABIC LETTER GAF */ + {'0', 'a', 0x06f0}, /* EASTERN ARABIC-INDIC DIGIT ZERO */ + {'1', 'a', 0x06f1}, /* EASTERN ARABIC-INDIC DIGIT ONE */ + {'2', 'a', 0x06f2}, /* EASTERN ARABIC-INDIC DIGIT TWO */ + {'3', 'a', 0x06f3}, /* EASTERN ARABIC-INDIC DIGIT THREE */ + {'4', 'a', 0x06f4}, /* EASTERN ARABIC-INDIC DIGIT FOUR */ + {'5', 'a', 0x06f5}, /* EASTERN ARABIC-INDIC DIGIT FIVE */ + {'6', 'a', 0x06f6}, /* EASTERN ARABIC-INDIC DIGIT SIX */ + {'7', 'a', 0x06f7}, /* EASTERN ARABIC-INDIC DIGIT SEVEN */ + {'8', 'a', 0x06f8}, /* EASTERN ARABIC-INDIC DIGIT EIGHT */ + {'9', 'a', 0x06f9}, /* EASTERN ARABIC-INDIC DIGIT NINE */ + {'B', '.', 0x1e02}, /* LATIN CAPITAL LETTER B WITH DOT ABOVE */ + {'b', '.', 0x1e03}, /* LATIN SMALL LETTER B WITH DOT ABOVE */ + {'B', '_', 0x1e06}, /* LATIN CAPITAL LETTER B WITH LINE BELOW */ + {'b', '_', 0x1e07}, /* LATIN SMALL LETTER B WITH LINE BELOW */ + {'D', '.', 0x1e0a}, /* LATIN CAPITAL LETTER D WITH DOT ABOVE */ + {'d', '.', 0x1e0b}, /* LATIN SMALL LETTER D WITH DOT ABOVE */ + {'D', '_', 0x1e0e}, /* LATIN CAPITAL LETTER D WITH LINE BELOW */ + {'d', '_', 0x1e0f}, /* LATIN SMALL LETTER D WITH LINE BELOW */ + {'D', ',', 0x1e10}, /* LATIN CAPITAL LETTER D WITH CEDILLA */ + {'d', ',', 0x1e11}, /* LATIN SMALL LETTER D WITH CEDILLA */ + {'F', '.', 0x1e1e}, /* LATIN CAPITAL LETTER F WITH DOT ABOVE */ + {'f', '.', 0x1e1f}, /* LATIN SMALL LETTER F WITH DOT ABOVE */ + {'G', '-', 0x1e20}, /* LATIN CAPITAL LETTER G WITH MACRON */ + {'g', '-', 0x1e21}, /* LATIN SMALL LETTER G WITH MACRON */ + {'H', '.', 0x1e22}, /* LATIN CAPITAL LETTER H WITH DOT ABOVE */ + {'h', '.', 0x1e23}, /* LATIN SMALL LETTER H WITH DOT ABOVE */ + {'H', ':', 0x1e26}, /* LATIN CAPITAL LETTER H WITH DIAERESIS */ + {'h', ':', 0x1e27}, /* LATIN SMALL LETTER H WITH DIAERESIS */ + {'H', ',', 0x1e28}, /* LATIN CAPITAL LETTER H WITH CEDILLA */ + {'h', ',', 0x1e29}, /* LATIN SMALL LETTER H WITH CEDILLA */ + {'K', '\'', 0x1e30}, /* LATIN CAPITAL LETTER K WITH ACUTE */ + {'k', '\'', 0x1e31}, /* LATIN SMALL LETTER K WITH ACUTE */ + {'K', '_', 0x1e34}, /* LATIN CAPITAL LETTER K WITH LINE BELOW */ + {'k', '_', 0x1e35}, /* LATIN SMALL LETTER K WITH LINE BELOW */ + {'L', '_', 0x1e3a}, /* LATIN CAPITAL LETTER L WITH LINE BELOW */ + {'l', '_', 0x1e3b}, /* LATIN SMALL LETTER L WITH LINE BELOW */ + {'M', '\'', 0x1e3e}, /* LATIN CAPITAL LETTER M WITH ACUTE */ + {'m', '\'', 0x1e3f}, /* LATIN SMALL LETTER M WITH ACUTE */ + {'M', '.', 0x1e40}, /* LATIN CAPITAL LETTER M WITH DOT ABOVE */ + {'m', '.', 0x1e41}, /* LATIN SMALL LETTER M WITH DOT ABOVE */ + {'N', '.', 0x1e44}, /* LATIN CAPITAL LETTER N WITH DOT ABOVE */ + {'n', '.', 0x1e45}, /* LATIN SMALL LETTER N WITH DOT ABOVE */ + {'N', '_', 0x1e48}, /* LATIN CAPITAL LETTER N WITH LINE BELOW */ + {'n', '_', 0x1e49}, /* LATIN SMALL LETTER N WITH LINE BELOW */ + {'P', '\'', 0x1e54}, /* LATIN CAPITAL LETTER P WITH ACUTE */ + {'p', '\'', 0x1e55}, /* LATIN SMALL LETTER P WITH ACUTE */ + {'P', '.', 0x1e56}, /* LATIN CAPITAL LETTER P WITH DOT ABOVE */ + {'p', '.', 0x1e57}, /* LATIN SMALL LETTER P WITH DOT ABOVE */ + {'R', '.', 0x1e58}, /* LATIN CAPITAL LETTER R WITH DOT ABOVE */ + {'r', '.', 0x1e59}, /* LATIN SMALL LETTER R WITH DOT ABOVE */ + {'R', '_', 0x1e5e}, /* LATIN CAPITAL LETTER R WITH LINE BELOW */ + {'r', '_', 0x1e5f}, /* LATIN SMALL LETTER R WITH LINE BELOW */ + {'S', '.', 0x1e60}, /* LATIN CAPITAL LETTER S WITH DOT ABOVE */ + {'s', '.', 0x1e61}, /* LATIN SMALL LETTER S WITH DOT ABOVE */ + {'T', '.', 0x1e6a}, /* LATIN CAPITAL LETTER T WITH DOT ABOVE */ + {'t', '.', 0x1e6b}, /* LATIN SMALL LETTER T WITH DOT ABOVE */ + {'T', '_', 0x1e6e}, /* LATIN CAPITAL LETTER T WITH LINE BELOW */ + {'t', '_', 0x1e6f}, /* LATIN SMALL LETTER T WITH LINE BELOW */ + {'V', '?', 0x1e7c}, /* LATIN CAPITAL LETTER V WITH TILDE */ + {'v', '?', 0x1e7d}, /* LATIN SMALL LETTER V WITH TILDE */ + {'W', '!', 0x1e80}, /* LATIN CAPITAL LETTER W WITH GRAVE */ + {'w', '!', 0x1e81}, /* LATIN SMALL LETTER W WITH GRAVE */ + {'W', '\'', 0x1e82}, /* LATIN CAPITAL LETTER W WITH ACUTE */ + {'w', '\'', 0x1e83}, /* LATIN SMALL LETTER W WITH ACUTE */ + {'W', ':', 0x1e84}, /* LATIN CAPITAL LETTER W WITH DIAERESIS */ + {'w', ':', 0x1e85}, /* LATIN SMALL LETTER W WITH DIAERESIS */ + {'W', '.', 0x1e86}, /* LATIN CAPITAL LETTER W WITH DOT ABOVE */ + {'w', '.', 0x1e87}, /* LATIN SMALL LETTER W WITH DOT ABOVE */ + {'X', '.', 0x1e8a}, /* LATIN CAPITAL LETTER X WITH DOT ABOVE */ + {'x', '.', 0x1e8b}, /* LATIN SMALL LETTER X WITH DOT ABOVE */ + {'X', ':', 0x1e8c}, /* LATIN CAPITAL LETTER X WITH DIAERESIS */ + {'x', ':', 0x1e8d}, /* LATIN SMALL LETTER X WITH DIAERESIS */ + {'Y', '.', 0x1e8e}, /* LATIN CAPITAL LETTER Y WITH DOT ABOVE */ + {'y', '.', 0x1e8f}, /* LATIN SMALL LETTER Y WITH DOT ABOVE */ + {'Z', '>', 0x1e90}, /* LATIN CAPITAL LETTER Z WITH CIRCUMFLEX */ + {'z', '>', 0x1e91}, /* LATIN SMALL LETTER Z WITH CIRCUMFLEX */ + {'Z', '_', 0x1e94}, /* LATIN CAPITAL LETTER Z WITH LINE BELOW */ + {'z', '_', 0x1e95}, /* LATIN SMALL LETTER Z WITH LINE BELOW */ + {'h', '_', 0x1e96}, /* LATIN SMALL LETTER H WITH LINE BELOW */ + {'t', ':', 0x1e97}, /* LATIN SMALL LETTER T WITH DIAERESIS */ + {'w', '0', 0x1e98}, /* LATIN SMALL LETTER W WITH RING ABOVE */ + {'y', '0', 0x1e99}, /* LATIN SMALL LETTER Y WITH RING ABOVE */ + {'A', '2', 0x1ea2}, /* LATIN CAPITAL LETTER A WITH HOOK ABOVE */ + {'a', '2', 0x1ea3}, /* LATIN SMALL LETTER A WITH HOOK ABOVE */ + {'E', '2', 0x1eba}, /* LATIN CAPITAL LETTER E WITH HOOK ABOVE */ + {'e', '2', 0x1ebb}, /* LATIN SMALL LETTER E WITH HOOK ABOVE */ + {'E', '?', 0x1ebc}, /* LATIN CAPITAL LETTER E WITH TILDE */ + {'e', '?', 0x1ebd}, /* LATIN SMALL LETTER E WITH TILDE */ + {'I', '2', 0x1ec8}, /* LATIN CAPITAL LETTER I WITH HOOK ABOVE */ + {'i', '2', 0x1ec9}, /* LATIN SMALL LETTER I WITH HOOK ABOVE */ + {'O', '2', 0x1ece}, /* LATIN CAPITAL LETTER O WITH HOOK ABOVE */ + {'o', '2', 0x1ecf}, /* LATIN SMALL LETTER O WITH HOOK ABOVE */ + {'U', '2', 0x1ee6}, /* LATIN CAPITAL LETTER U WITH HOOK ABOVE */ + {'u', '2', 0x1ee7}, /* LATIN SMALL LETTER U WITH HOOK ABOVE */ + {'Y', '!', 0x1ef2}, /* LATIN CAPITAL LETTER Y WITH GRAVE */ + {'y', '!', 0x1ef3}, /* LATIN SMALL LETTER Y WITH GRAVE */ + {'Y', '2', 0x1ef6}, /* LATIN CAPITAL LETTER Y WITH HOOK ABOVE */ + {'y', '2', 0x1ef7}, /* LATIN SMALL LETTER Y WITH HOOK ABOVE */ + {'Y', '?', 0x1ef8}, /* LATIN CAPITAL LETTER Y WITH TILDE */ + {'y', '?', 0x1ef9}, /* LATIN SMALL LETTER Y WITH TILDE */ + {';', '\'', 0x1f00}, /* GREEK DASIA AND ACUTE ACCENT */ + {',', '\'', 0x1f01}, /* GREEK PSILI AND ACUTE ACCENT */ + {';', '!', 0x1f02}, /* GREEK DASIA AND VARIA */ + {',', '!', 0x1f03}, /* GREEK PSILI AND VARIA */ + {'?', ';', 0x1f04}, /* GREEK DASIA AND PERISPOMENI */ + {'?', ',', 0x1f05}, /* GREEK PSILI AND PERISPOMENI */ + {'!', ':', 0x1f06}, /* GREEK DIAERESIS AND VARIA */ + {'?', ':', 0x1f07}, /* GREEK DIAERESIS AND PERISPOMENI */ + {'1', 'N', 0x2002}, /* EN SPACE */ + {'1', 'M', 0x2003}, /* EM SPACE */ + {'3', 'M', 0x2004}, /* THREE-PER-EM SPACE */ + {'4', 'M', 0x2005}, /* FOUR-PER-EM SPACE */ + {'6', 'M', 0x2006}, /* SIX-PER-EM SPACE */ + {'1', 'T', 0x2009}, /* THIN SPACE */ + {'1', 'H', 0x200a}, /* HAIR SPACE */ + {'-', '1', 0x2010}, /* HYPHEN */ + {'-', 'N', 0x2013}, /* EN DASH */ + {'-', 'M', 0x2014}, /* EM DASH */ + {'-', '3', 0x2015}, /* HORIZONTAL BAR */ + {'!', '2', 0x2016}, /* DOUBLE VERTICAL LINE */ + {'=', '2', 0x2017}, /* DOUBLE LOW LINE */ + {'\'', '6', 0x2018}, /* LEFT SINGLE QUOTATION MARK */ + {'\'', '9', 0x2019}, /* RIGHT SINGLE QUOTATION MARK */ + {'.', '9', 0x201a}, /* SINGLE LOW-9 QUOTATION MARK */ + {'9', '\'', 0x201b}, /* SINGLE HIGH-REVERSED-9 QUOTATION MARK */ + {'"', '6', 0x201c}, /* LEFT DOUBLE QUOTATION MARK */ + {'"', '9', 0x201d}, /* RIGHT DOUBLE QUOTATION MARK */ + {':', '9', 0x201e}, /* DOUBLE LOW-9 QUOTATION MARK */ + {'9', '"', 0x201f}, /* DOUBLE HIGH-REVERSED-9 QUOTATION MARK */ + {'/', '-', 0x2020}, /* DAGGER */ + {'/', '=', 0x2021}, /* DOUBLE DAGGER */ + {'.', '.', 0x2025}, /* TWO DOT LEADER */ + {'%', '0', 0x2030}, /* PER MILLE SIGN */ + {'1', '\'', 0x2032}, /* PRIME */ + {'2', '\'', 0x2033}, /* DOUBLE PRIME */ + {'3', '\'', 0x2034}, /* TRIPLE PRIME */ + {'1', '"', 0x2035}, /* REVERSED PRIME */ + {'2', '"', 0x2036}, /* REVERSED DOUBLE PRIME */ + {'3', '"', 0x2037}, /* REVERSED TRIPLE PRIME */ + {'C', 'a', 0x2038}, /* CARET */ + {'<', '1', 0x2039}, /* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */ + {'>', '1', 0x203a}, /* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */ + {':', 'X', 0x203b}, /* REFERENCE MARK */ + {'\'', '-', 0x203e}, /* OVERLINE */ + {'/', 'f', 0x2044}, /* FRACTION SLASH */ + {'0', 'S', 0x2070}, /* SUPERSCRIPT DIGIT ZERO */ + {'4', 'S', 0x2074}, /* SUPERSCRIPT DIGIT FOUR */ + {'5', 'S', 0x2075}, /* SUPERSCRIPT DIGIT FIVE */ + {'6', 'S', 0x2076}, /* SUPERSCRIPT DIGIT SIX */ + {'7', 'S', 0x2077}, /* SUPERSCRIPT DIGIT SEVEN */ + {'8', 'S', 0x2078}, /* SUPERSCRIPT DIGIT EIGHT */ + {'9', 'S', 0x2079}, /* SUPERSCRIPT DIGIT NINE */ + {'+', 'S', 0x207a}, /* SUPERSCRIPT PLUS SIGN */ + {'-', 'S', 0x207b}, /* SUPERSCRIPT MINUS */ + {'=', 'S', 0x207c}, /* SUPERSCRIPT EQUALS SIGN */ + {'(', 'S', 0x207d}, /* SUPERSCRIPT LEFT PARENTHESIS */ + {')', 'S', 0x207e}, /* SUPERSCRIPT RIGHT PARENTHESIS */ + {'n', 'S', 0x207f}, /* SUPERSCRIPT LATIN SMALL LETTER N */ + {'0', 's', 0x2080}, /* SUBSCRIPT DIGIT ZERO */ + {'1', 's', 0x2081}, /* SUBSCRIPT DIGIT ONE */ + {'2', 's', 0x2082}, /* SUBSCRIPT DIGIT TWO */ + {'3', 's', 0x2083}, /* SUBSCRIPT DIGIT THREE */ + {'4', 's', 0x2084}, /* SUBSCRIPT DIGIT FOUR */ + {'5', 's', 0x2085}, /* SUBSCRIPT DIGIT FIVE */ + {'6', 's', 0x2086}, /* SUBSCRIPT DIGIT SIX */ + {'7', 's', 0x2087}, /* SUBSCRIPT DIGIT SEVEN */ + {'8', 's', 0x2088}, /* SUBSCRIPT DIGIT EIGHT */ + {'9', 's', 0x2089}, /* SUBSCRIPT DIGIT NINE */ + {'+', 's', 0x208a}, /* SUBSCRIPT PLUS SIGN */ + {'-', 's', 0x208b}, /* SUBSCRIPT MINUS */ + {'=', 's', 0x208c}, /* SUBSCRIPT EQUALS SIGN */ + {'(', 's', 0x208d}, /* SUBSCRIPT LEFT PARENTHESIS */ + {')', 's', 0x208e}, /* SUBSCRIPT RIGHT PARENTHESIS */ + {'L', 'i', 0x20a4}, /* LIRA SIGN */ + {'P', 't', 0x20a7}, /* PESETA SIGN */ + {'W', '=', 0x20a9}, /* WON SIGN */ + {'o', 'C', 0x2103}, /* DEGREE CENTIGRADE */ + {'c', 'o', 0x2105}, /* CARE OF */ + {'o', 'F', 0x2109}, /* DEGREE FAHRENHEIT */ + {'N', '0', 0x2116}, /* NUMERO SIGN */ + {'P', 'O', 0x2117}, /* SOUND RECORDING COPYRIGHT */ + {'R', 'x', 0x211e}, /* PRESCRIPTION TAKE */ + {'S', 'M', 0x2120}, /* SERVICE MARK */ + {'T', 'M', 0x2122}, /* TRADE MARK SIGN */ + {'O', 'm', 0x2126}, /* OHM SIGN */ + {'A', 'O', 0x212b}, /* ANGSTROEM SIGN */ + {'1', '3', 0x2153}, /* VULGAR FRACTION ONE THIRD */ + {'2', '3', 0x2154}, /* VULGAR FRACTION TWO THIRDS */ + {'1', '5', 0x2155}, /* VULGAR FRACTION ONE FIFTH */ + {'2', '5', 0x2156}, /* VULGAR FRACTION TWO FIFTHS */ + {'3', '5', 0x2157}, /* VULGAR FRACTION THREE FIFTHS */ + {'4', '5', 0x2158}, /* VULGAR FRACTION FOUR FIFTHS */ + {'1', '6', 0x2159}, /* VULGAR FRACTION ONE SIXTH */ + {'5', '6', 0x215a}, /* VULGAR FRACTION FIVE SIXTHS */ + {'1', '8', 0x215b}, /* VULGAR FRACTION ONE EIGHTH */ + {'3', '8', 0x215c}, /* VULGAR FRACTION THREE EIGHTHS */ + {'5', '8', 0x215d}, /* VULGAR FRACTION FIVE EIGHTHS */ + {'7', '8', 0x215e}, /* VULGAR FRACTION SEVEN EIGHTHS */ + {'1', 'R', 0x2160}, /* ROMAN NUMERAL ONE */ + {'2', 'R', 0x2161}, /* ROMAN NUMERAL TWO */ + {'3', 'R', 0x2162}, /* ROMAN NUMERAL THREE */ + {'4', 'R', 0x2163}, /* ROMAN NUMERAL FOUR */ + {'5', 'R', 0x2164}, /* ROMAN NUMERAL FIVE */ + {'6', 'R', 0x2165}, /* ROMAN NUMERAL SIX */ + {'7', 'R', 0x2166}, /* ROMAN NUMERAL SEVEN */ + {'8', 'R', 0x2167}, /* ROMAN NUMERAL EIGHT */ + {'9', 'R', 0x2168}, /* ROMAN NUMERAL NINE */ + {'a', 'R', 0x2169}, /* ROMAN NUMERAL TEN */ + {'b', 'R', 0x216a}, /* ROMAN NUMERAL ELEVEN */ + {'c', 'R', 0x216b}, /* ROMAN NUMERAL TWELVE */ + {'1', 'r', 0x2170}, /* SMALL ROMAN NUMERAL ONE */ + {'2', 'r', 0x2171}, /* SMALL ROMAN NUMERAL TWO */ + {'3', 'r', 0x2172}, /* SMALL ROMAN NUMERAL THREE */ + {'4', 'r', 0x2173}, /* SMALL ROMAN NUMERAL FOUR */ + {'5', 'r', 0x2174}, /* SMALL ROMAN NUMERAL FIVE */ + {'6', 'r', 0x2175}, /* SMALL ROMAN NUMERAL SIX */ + {'7', 'r', 0x2176}, /* SMALL ROMAN NUMERAL SEVEN */ + {'8', 'r', 0x2177}, /* SMALL ROMAN NUMERAL EIGHT */ + {'9', 'r', 0x2178}, /* SMALL ROMAN NUMERAL NINE */ + {'a', 'r', 0x2179}, /* SMALL ROMAN NUMERAL TEN */ + {'b', 'r', 0x217a}, /* SMALL ROMAN NUMERAL ELEVEN */ + {'c', 'r', 0x217b}, /* SMALL ROMAN NUMERAL TWELVE */ + {'<', '-', 0x2190}, /* LEFTWARDS ARROW */ + {'-', '!', 0x2191}, /* UPWARDS ARROW */ + {'-', '>', 0x2192}, /* RIGHTWARDS ARROW */ + {'-', 'v', 0x2193}, /* DOWNWARDS ARROW */ + {'<', '>', 0x2194}, /* LEFT RIGHT ARROW */ + {'U', 'D', 0x2195}, /* UP DOWN ARROW */ + {'<', '=', 0x21d0}, /* LEFTWARDS DOUBLE ARROW */ + {'=', '>', 0x21d2}, /* RIGHTWARDS DOUBLE ARROW */ + {'=', '=', 0x21d4}, /* LEFT RIGHT DOUBLE ARROW */ + {'F', 'A', 0x2200}, /* FOR ALL */ + {'d', 'P', 0x2202}, /* PARTIAL DIFFERENTIAL */ + {'T', 'E', 0x2203}, /* THERE EXISTS */ + {'/', '0', 0x2205}, /* EMPTY SET */ + {'D', 'E', 0x2206}, /* INCREMENT */ + {'N', 'B', 0x2207}, /* NABLA */ + {'(', '-', 0x2208}, /* ELEMENT OF */ + {'-', ')', 0x220b}, /* CONTAINS AS MEMBER */ + {'*', 'P', 0x220f}, /* N-ARY PRODUCT */ + {'+', 'Z', 0x2211}, /* N-ARY SUMMATION */ + {'-', '2', 0x2212}, /* MINUS SIGN */ + {'-', '+', 0x2213}, /* MINUS-OR-PLUS SIGN */ + {'*', '-', 0x2217}, /* ASTERISK OPERATOR */ + {'O', 'b', 0x2218}, /* RING OPERATOR */ + {'S', 'b', 0x2219}, /* BULLET OPERATOR */ + {'R', 'T', 0x221a}, /* SQUARE ROOT */ + {'0', '(', 0x221d}, /* PROPORTIONAL TO */ + {'0', '0', 0x221e}, /* INFINITY */ + {'-', 'L', 0x221f}, /* RIGHT ANGLE */ + {'-', 'V', 0x2220}, /* ANGLE */ + {'P', 'P', 0x2225}, /* PARALLEL TO */ + {'A', 'N', 0x2227}, /* LOGICAL AND */ + {'O', 'R', 0x2228}, /* LOGICAL OR */ + {'(', 'U', 0x2229}, /* INTERSECTION */ + {')', 'U', 0x222a}, /* UNION */ + {'I', 'n', 0x222b}, /* INTEGRAL */ + {'D', 'I', 0x222c}, /* DOUBLE INTEGRAL */ + {'I', 'o', 0x222e}, /* CONTOUR INTEGRAL */ + {'.', ':', 0x2234}, /* THEREFORE */ + {':', '.', 0x2235}, /* BECAUSE */ + {':', 'R', 0x2236}, /* RATIO */ + {':', ':', 0x2237}, /* PROPORTION */ + {'?', '1', 0x223c}, /* TILDE OPERATOR */ + {'C', 'G', 0x223e}, /* INVERTED LAZY S */ + {'?', '-', 0x2243}, /* ASYMPTOTICALLY EQUAL TO */ + {'?', '=', 0x2245}, /* APPROXIMATELY EQUAL TO */ + {'?', '2', 0x2248}, /* ALMOST EQUAL TO */ + {'=', '?', 0x224c}, /* ALL EQUAL TO */ + {'H', 'I', 0x2253}, /* IMAGE OF OR APPROXIMATELY EQUAL TO */ + {'!', '=', 0x2260}, /* NOT EQUAL TO */ + {'=', '3', 0x2261}, /* IDENTICAL TO */ + {'=', '<', 0x2264}, /* LESS-THAN OR EQUAL TO */ + {'>', '=', 0x2265}, /* GREATER-THAN OR EQUAL TO */ + {'<', '*', 0x226a}, /* MUCH LESS-THAN */ + {'*', '>', 0x226b}, /* MUCH GREATER-THAN */ + {'!', '<', 0x226e}, /* NOT LESS-THAN */ + {'!', '>', 0x226f}, /* NOT GREATER-THAN */ + {'(', 'C', 0x2282}, /* SUBSET OF */ + {')', 'C', 0x2283}, /* SUPERSET OF */ + {'(', '_', 0x2286}, /* SUBSET OF OR EQUAL TO */ + {')', '_', 0x2287}, /* SUPERSET OF OR EQUAL TO */ + {'0', '.', 0x2299}, /* CIRCLED DOT OPERATOR */ + {'0', '2', 0x229a}, /* CIRCLED RING OPERATOR */ + {'-', 'T', 0x22a5}, /* UP TACK */ + {'.', 'P', 0x22c5}, /* DOT OPERATOR */ + {':', '3', 0x22ee}, /* VERTICAL ELLIPSIS */ + {'.', '3', 0x22ef}, /* MIDLINE HORIZONTAL ELLIPSIS */ + {'E', 'h', 0x2302}, /* HOUSE */ + {'<', '7', 0x2308}, /* LEFT CEILING */ + {'>', '7', 0x2309}, /* RIGHT CEILING */ + {'7', '<', 0x230a}, /* LEFT FLOOR */ + {'7', '>', 0x230b}, /* RIGHT FLOOR */ + {'N', 'I', 0x2310}, /* REVERSED NOT SIGN */ + {'(', 'A', 0x2312}, /* ARC */ + {'T', 'R', 0x2315}, /* TELEPHONE RECORDER */ + {'I', 'u', 0x2320}, /* TOP HALF INTEGRAL */ + {'I', 'l', 0x2321}, /* BOTTOM HALF INTEGRAL */ + {'<', '/', 0x2329}, /* LEFT-POINTING ANGLE BRACKET */ + {'/', '>', 0x232a}, /* RIGHT-POINTING ANGLE BRACKET */ + {'V', 's', 0x2423}, /* OPEN BOX */ + {'1', 'h', 0x2440}, /* OCR HOOK */ + {'3', 'h', 0x2441}, /* OCR CHAIR */ + {'2', 'h', 0x2442}, /* OCR FORK */ + {'4', 'h', 0x2443}, /* OCR INVERTED FORK */ + {'1', 'j', 0x2446}, /* OCR BRANCH BANK IDENTIFICATION */ + {'2', 'j', 0x2447}, /* OCR AMOUNT OF CHECK */ + {'3', 'j', 0x2448}, /* OCR DASH */ + {'4', 'j', 0x2449}, /* OCR CUSTOMER ACCOUNT NUMBER */ + {'1', '.', 0x2488}, /* DIGIT ONE FULL STOP */ + {'2', '.', 0x2489}, /* DIGIT TWO FULL STOP */ + {'3', '.', 0x248a}, /* DIGIT THREE FULL STOP */ + {'4', '.', 0x248b}, /* DIGIT FOUR FULL STOP */ + {'5', '.', 0x248c}, /* DIGIT FIVE FULL STOP */ + {'6', '.', 0x248d}, /* DIGIT SIX FULL STOP */ + {'7', '.', 0x248e}, /* DIGIT SEVEN FULL STOP */ + {'8', '.', 0x248f}, /* DIGIT EIGHT FULL STOP */ + {'9', '.', 0x2490}, /* DIGIT NINE FULL STOP */ + {'h', 'h', 0x2500}, /* BOX DRAWINGS LIGHT HORIZONTAL */ + {'H', 'H', 0x2501}, /* BOX DRAWINGS HEAVY HORIZONTAL */ + {'v', 'v', 0x2502}, /* BOX DRAWINGS LIGHT VERTICAL */ + {'V', 'V', 0x2503}, /* BOX DRAWINGS HEAVY VERTICAL */ + {'3', '-', 0x2504}, /* BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL */ + {'3', '_', 0x2505}, /* BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL */ + {'3', '!', 0x2506}, /* BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL */ + {'3', '/', 0x2507}, /* BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL */ + {'4', '-', 0x2508}, /* BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL */ + {'4', '_', 0x2509}, /* BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL */ + {'4', '!', 0x250a}, /* BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL */ + {'4', '/', 0x250b}, /* BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL */ + {'d', 'r', 0x250c}, /* BOX DRAWINGS LIGHT DOWN AND RIGHT */ + {'d', 'R', 0x250d}, /* BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY */ + {'D', 'r', 0x250e}, /* BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT */ + {'D', 'R', 0x250f}, /* BOX DRAWINGS HEAVY DOWN AND RIGHT */ + {'d', 'l', 0x2510}, /* BOX DRAWINGS LIGHT DOWN AND LEFT */ + {'d', 'L', 0x2511}, /* BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY */ + {'D', 'l', 0x2512}, /* BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT */ + {'L', 'D', 0x2513}, /* BOX DRAWINGS HEAVY DOWN AND LEFT */ + {'u', 'r', 0x2514}, /* BOX DRAWINGS LIGHT UP AND RIGHT */ + {'u', 'R', 0x2515}, /* BOX DRAWINGS UP LIGHT AND RIGHT HEAVY */ + {'U', 'r', 0x2516}, /* BOX DRAWINGS UP HEAVY AND RIGHT LIGHT */ + {'U', 'R', 0x2517}, /* BOX DRAWINGS HEAVY UP AND RIGHT */ + {'u', 'l', 0x2518}, /* BOX DRAWINGS LIGHT UP AND LEFT */ + {'u', 'L', 0x2519}, /* BOX DRAWINGS UP LIGHT AND LEFT HEAVY */ + {'U', 'l', 0x251a}, /* BOX DRAWINGS UP HEAVY AND LEFT LIGHT */ + {'U', 'L', 0x251b}, /* BOX DRAWINGS HEAVY UP AND LEFT */ + {'v', 'r', 0x251c}, /* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */ + {'v', 'R', 0x251d}, /* BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY */ + {'V', 'r', 0x2520}, /* BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT */ + {'V', 'R', 0x2523}, /* BOX DRAWINGS HEAVY VERTICAL AND RIGHT */ + {'v', 'l', 0x2524}, /* BOX DRAWINGS LIGHT VERTICAL AND LEFT */ + {'v', 'L', 0x2525}, /* BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY */ + {'V', 'l', 0x2528}, /* BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT */ + {'V', 'L', 0x252b}, /* BOX DRAWINGS HEAVY VERTICAL AND LEFT */ + {'d', 'h', 0x252c}, /* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */ + {'d', 'H', 0x252f}, /* BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY */ + {'D', 'h', 0x2530}, /* BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT */ + {'D', 'H', 0x2533}, /* BOX DRAWINGS HEAVY DOWN AND HORIZONTAL */ + {'u', 'h', 0x2534}, /* BOX DRAWINGS LIGHT UP AND HORIZONTAL */ + {'u', 'H', 0x2537}, /* BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY */ + {'U', 'h', 0x2538}, /* BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT */ + {'U', 'H', 0x253b}, /* BOX DRAWINGS HEAVY UP AND HORIZONTAL */ + {'v', 'h', 0x253c}, /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */ + {'v', 'H', 0x253f}, /* BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY */ + {'V', 'h', 0x2542}, /* BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT */ + {'V', 'H', 0x254b}, /* BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL */ + {'F', 'D', 0x2571}, /* BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT */ + {'B', 'D', 0x2572}, /* BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT */ + {'T', 'B', 0x2580}, /* UPPER HALF BLOCK */ + {'L', 'B', 0x2584}, /* LOWER HALF BLOCK */ + {'F', 'B', 0x2588}, /* FULL BLOCK */ + {'l', 'B', 0x258c}, /* LEFT HALF BLOCK */ + {'R', 'B', 0x2590}, /* RIGHT HALF BLOCK */ + {'.', 'S', 0x2591}, /* LIGHT SHADE */ + {':', 'S', 0x2592}, /* MEDIUM SHADE */ + {'?', 'S', 0x2593}, /* DARK SHADE */ + {'f', 'S', 0x25a0}, /* BLACK SQUARE */ + {'O', 'S', 0x25a1}, /* WHITE SQUARE */ + {'R', 'O', 0x25a2}, /* WHITE SQUARE WITH ROUNDED CORNERS */ + {'R', 'r', 0x25a3}, /* WHITE SQUARE CONTAINING BLACK SMALL SQUARE */ + {'R', 'F', 0x25a4}, /* SQUARE WITH HORIZONTAL FILL */ + {'R', 'Y', 0x25a5}, /* SQUARE WITH VERTICAL FILL */ + {'R', 'H', 0x25a6}, /* SQUARE WITH ORTHOGONAL CROSSHATCH FILL */ + {'R', 'Z', 0x25a7}, /* SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL */ + {'R', 'K', 0x25a8}, /* SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL */ + {'R', 'X', 0x25a9}, /* SQUARE WITH DIAGONAL CROSSHATCH FILL */ + {'s', 'B', 0x25aa}, /* BLACK SMALL SQUARE */ + {'S', 'R', 0x25ac}, /* BLACK RECTANGLE */ + {'O', 'r', 0x25ad}, /* WHITE RECTANGLE */ + {'U', 'T', 0x25b2}, /* BLACK UP-POINTING TRIANGLE */ + {'u', 'T', 0x25b3}, /* WHITE UP-POINTING TRIANGLE */ + {'P', 'R', 0x25b6}, /* BLACK RIGHT-POINTING TRIANGLE */ + {'T', 'r', 0x25b7}, /* WHITE RIGHT-POINTING TRIANGLE */ + {'D', 't', 0x25bc}, /* BLACK DOWN-POINTING TRIANGLE */ + {'d', 'T', 0x25bd}, /* WHITE DOWN-POINTING TRIANGLE */ + {'P', 'L', 0x25c0}, /* BLACK LEFT-POINTING TRIANGLE */ + {'T', 'l', 0x25c1}, /* WHITE LEFT-POINTING TRIANGLE */ + {'D', 'b', 0x25c6}, /* BLACK DIAMOND */ + {'D', 'w', 0x25c7}, /* WHITE DIAMOND */ + {'L', 'Z', 0x25ca}, /* LOZENGE */ + {'0', 'm', 0x25cb}, /* WHITE CIRCLE */ + {'0', 'o', 0x25ce}, /* BULLSEYE */ + {'0', 'M', 0x25cf}, /* BLACK CIRCLE */ + {'0', 'L', 0x25d0}, /* CIRCLE WITH LEFT HALF BLACK */ + {'0', 'R', 0x25d1}, /* CIRCLE WITH RIGHT HALF BLACK */ + {'S', 'n', 0x25d8}, /* INVERSE BULLET */ + {'I', 'c', 0x25d9}, /* INVERSE WHITE CIRCLE */ + {'F', 'd', 0x25e2}, /* BLACK LOWER RIGHT TRIANGLE */ + {'B', 'd', 0x25e3}, /* BLACK LOWER LEFT TRIANGLE */ + {'*', '2', 0x2605}, /* BLACK STAR */ + {'*', '1', 0x2606}, /* WHITE STAR */ + {'<', 'H', 0x261c}, /* WHITE LEFT POINTING INDEX */ + {'>', 'H', 0x261e}, /* WHITE RIGHT POINTING INDEX */ + {'0', 'u', 0x263a}, /* WHITE SMILING FACE */ + {'0', 'U', 0x263b}, /* BLACK SMILING FACE */ + {'S', 'U', 0x263c}, /* WHITE SUN WITH RAYS */ + {'F', 'm', 0x2640}, /* FEMALE SIGN */ + {'M', 'l', 0x2642}, /* MALE SIGN */ + {'c', 'S', 0x2660}, /* BLACK SPADE SUIT */ + {'c', 'H', 0x2661}, /* WHITE HEART SUIT */ + {'c', 'D', 0x2662}, /* WHITE DIAMOND SUIT */ + {'c', 'C', 0x2663}, /* BLACK CLUB SUIT */ + {'M', 'd', 0x2669}, /* QUARTER NOTE */ + {'M', '8', 0x266a}, /* EIGHTH NOTE */ + {'M', '2', 0x266b}, /* BARRED EIGHTH NOTES */ + {'M', 'b', 0x266d}, /* MUSIC FLAT SIGN */ + {'M', 'x', 0x266e}, /* MUSIC NATURAL SIGN */ + {'M', 'X', 0x266f}, /* MUSIC SHARP SIGN */ + {'O', 'K', 0x2713}, /* CHECK MARK */ + {'X', 'X', 0x2717}, /* BALLOT X */ + {'-', 'X', 0x2720}, /* MALTESE CROSS */ + {'I', 'S', 0x3000}, /* IDEOGRAPHIC SPACE */ + {',', '_', 0x3001}, /* IDEOGRAPHIC COMMA */ + {'.', '_', 0x3002}, /* IDEOGRAPHIC PERIOD */ + {'+', '"', 0x3003}, /* DITTO MARK */ + {'+', '_', 0x3004}, /* IDEOGRAPHIC DITTO MARK */ + {'*', '_', 0x3005}, /* IDEOGRAPHIC ITERATION MARK */ + {';', '_', 0x3006}, /* IDEOGRAPHIC CLOSING MARK */ + {'0', '_', 0x3007}, /* IDEOGRAPHIC NUMBER ZERO */ + {'<', '+', 0x300a}, /* LEFT DOUBLE ANGLE BRACKET */ + {'>', '+', 0x300b}, /* RIGHT DOUBLE ANGLE BRACKET */ + {'<', '\'', 0x300c}, /* LEFT CORNER BRACKET */ + {'>', '\'', 0x300d}, /* RIGHT CORNER BRACKET */ + {'<', '"', 0x300e}, /* LEFT WHITE CORNER BRACKET */ + {'>', '"', 0x300f}, /* RIGHT WHITE CORNER BRACKET */ + {'(', '"', 0x3010}, /* LEFT BLACK LENTICULAR BRACKET */ + {')', '"', 0x3011}, /* RIGHT BLACK LENTICULAR BRACKET */ + {'=', 'T', 0x3012}, /* POSTAL MARK */ + {'=', '_', 0x3013}, /* GETA MARK */ + {'(', '\'', 0x3014}, /* LEFT TORTOISE SHELL BRACKET */ + {')', '\'', 0x3015}, /* RIGHT TORTOISE SHELL BRACKET */ + {'(', 'I', 0x3016}, /* LEFT WHITE LENTICULAR BRACKET */ + {')', 'I', 0x3017}, /* RIGHT WHITE LENTICULAR BRACKET */ + {'-', '?', 0x301c}, /* WAVE DASH */ + {'A', '5', 0x3041}, /* HIRAGANA LETTER SMALL A */ + {'a', '5', 0x3042}, /* HIRAGANA LETTER A */ + {'I', '5', 0x3043}, /* HIRAGANA LETTER SMALL I */ + {'i', '5', 0x3044}, /* HIRAGANA LETTER I */ + {'U', '5', 0x3045}, /* HIRAGANA LETTER SMALL U */ + {'u', '5', 0x3046}, /* HIRAGANA LETTER U */ + {'E', '5', 0x3047}, /* HIRAGANA LETTER SMALL E */ + {'e', '5', 0x3048}, /* HIRAGANA LETTER E */ + {'O', '5', 0x3049}, /* HIRAGANA LETTER SMALL O */ + {'o', '5', 0x304a}, /* HIRAGANA LETTER O */ + {'k', 'a', 0x304b}, /* HIRAGANA LETTER KA */ + {'g', 'a', 0x304c}, /* HIRAGANA LETTER GA */ + {'k', 'i', 0x304d}, /* HIRAGANA LETTER KI */ + {'g', 'i', 0x304e}, /* HIRAGANA LETTER GI */ + {'k', 'u', 0x304f}, /* HIRAGANA LETTER KU */ + {'g', 'u', 0x3050}, /* HIRAGANA LETTER GU */ + {'k', 'e', 0x3051}, /* HIRAGANA LETTER KE */ + {'g', 'e', 0x3052}, /* HIRAGANA LETTER GE */ + {'k', 'o', 0x3053}, /* HIRAGANA LETTER KO */ + {'g', 'o', 0x3054}, /* HIRAGANA LETTER GO */ + {'s', 'a', 0x3055}, /* HIRAGANA LETTER SA */ + {'z', 'a', 0x3056}, /* HIRAGANA LETTER ZA */ + {'s', 'i', 0x3057}, /* HIRAGANA LETTER SI */ + {'z', 'i', 0x3058}, /* HIRAGANA LETTER ZI */ + {'s', 'u', 0x3059}, /* HIRAGANA LETTER SU */ + {'z', 'u', 0x305a}, /* HIRAGANA LETTER ZU */ + {'s', 'e', 0x305b}, /* HIRAGANA LETTER SE */ + {'z', 'e', 0x305c}, /* HIRAGANA LETTER ZE */ + {'s', 'o', 0x305d}, /* HIRAGANA LETTER SO */ + {'z', 'o', 0x305e}, /* HIRAGANA LETTER ZO */ + {'t', 'a', 0x305f}, /* HIRAGANA LETTER TA */ + {'d', 'a', 0x3060}, /* HIRAGANA LETTER DA */ + {'t', 'i', 0x3061}, /* HIRAGANA LETTER TI */ + {'d', 'i', 0x3062}, /* HIRAGANA LETTER DI */ + {'t', 'U', 0x3063}, /* HIRAGANA LETTER SMALL TU */ + {'t', 'u', 0x3064}, /* HIRAGANA LETTER TU */ + {'d', 'u', 0x3065}, /* HIRAGANA LETTER DU */ + {'t', 'e', 0x3066}, /* HIRAGANA LETTER TE */ + {'d', 'e', 0x3067}, /* HIRAGANA LETTER DE */ + {'t', 'o', 0x3068}, /* HIRAGANA LETTER TO */ + {'d', 'o', 0x3069}, /* HIRAGANA LETTER DO */ + {'n', 'a', 0x306a}, /* HIRAGANA LETTER NA */ + {'n', 'i', 0x306b}, /* HIRAGANA LETTER NI */ + {'n', 'u', 0x306c}, /* HIRAGANA LETTER NU */ + {'n', 'e', 0x306d}, /* HIRAGANA LETTER NE */ + {'n', 'o', 0x306e}, /* HIRAGANA LETTER NO */ + {'h', 'a', 0x306f}, /* HIRAGANA LETTER HA */ + {'b', 'a', 0x3070}, /* HIRAGANA LETTER BA */ + {'p', 'a', 0x3071}, /* HIRAGANA LETTER PA */ + {'h', 'i', 0x3072}, /* HIRAGANA LETTER HI */ + {'b', 'i', 0x3073}, /* HIRAGANA LETTER BI */ + {'p', 'i', 0x3074}, /* HIRAGANA LETTER PI */ + {'h', 'u', 0x3075}, /* HIRAGANA LETTER HU */ + {'b', 'u', 0x3076}, /* HIRAGANA LETTER BU */ + {'p', 'u', 0x3077}, /* HIRAGANA LETTER PU */ + {'h', 'e', 0x3078}, /* HIRAGANA LETTER HE */ + {'b', 'e', 0x3079}, /* HIRAGANA LETTER BE */ + {'p', 'e', 0x307a}, /* HIRAGANA LETTER PE */ + {'h', 'o', 0x307b}, /* HIRAGANA LETTER HO */ + {'b', 'o', 0x307c}, /* HIRAGANA LETTER BO */ + {'p', 'o', 0x307d}, /* HIRAGANA LETTER PO */ + {'m', 'a', 0x307e}, /* HIRAGANA LETTER MA */ + {'m', 'i', 0x307f}, /* HIRAGANA LETTER MI */ + {'m', 'u', 0x3080}, /* HIRAGANA LETTER MU */ + {'m', 'e', 0x3081}, /* HIRAGANA LETTER ME */ + {'m', 'o', 0x3082}, /* HIRAGANA LETTER MO */ + {'y', 'A', 0x3083}, /* HIRAGANA LETTER SMALL YA */ + {'y', 'a', 0x3084}, /* HIRAGANA LETTER YA */ + {'y', 'U', 0x3085}, /* HIRAGANA LETTER SMALL YU */ + {'y', 'u', 0x3086}, /* HIRAGANA LETTER YU */ + {'y', 'O', 0x3087}, /* HIRAGANA LETTER SMALL YO */ + {'y', 'o', 0x3088}, /* HIRAGANA LETTER YO */ + {'r', 'a', 0x3089}, /* HIRAGANA LETTER RA */ + {'r', 'i', 0x308a}, /* HIRAGANA LETTER RI */ + {'r', 'u', 0x308b}, /* HIRAGANA LETTER RU */ + {'r', 'e', 0x308c}, /* HIRAGANA LETTER RE */ + {'r', 'o', 0x308d}, /* HIRAGANA LETTER RO */ + {'w', 'A', 0x308e}, /* HIRAGANA LETTER SMALL WA */ + {'w', 'a', 0x308f}, /* HIRAGANA LETTER WA */ + {'w', 'i', 0x3090}, /* HIRAGANA LETTER WI */ + {'w', 'e', 0x3091}, /* HIRAGANA LETTER WE */ + {'w', 'o', 0x3092}, /* HIRAGANA LETTER WO */ + {'n', '5', 0x3093}, /* HIRAGANA LETTER N */ + {'v', 'u', 0x3094}, /* HIRAGANA LETTER VU */ + {'"', '5', 0x309b}, /* KATAKANA-HIRAGANA VOICED SOUND MARK */ + {'0', '5', 0x309c}, /* KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */ + {'*', '5', 0x309d}, /* HIRAGANA ITERATION MARK */ + {'+', '5', 0x309e}, /* HIRAGANA VOICED ITERATION MARK */ + {'a', '6', 0x30a1}, /* KATAKANA LETTER SMALL A */ + {'A', '6', 0x30a2}, /* KATAKANA LETTER A */ + {'i', '6', 0x30a3}, /* KATAKANA LETTER SMALL I */ + {'I', '6', 0x30a4}, /* KATAKANA LETTER I */ + {'u', '6', 0x30a5}, /* KATAKANA LETTER SMALL U */ + {'U', '6', 0x30a6}, /* KATAKANA LETTER U */ + {'e', '6', 0x30a7}, /* KATAKANA LETTER SMALL E */ + {'E', '6', 0x30a8}, /* KATAKANA LETTER E */ + {'o', '6', 0x30a9}, /* KATAKANA LETTER SMALL O */ + {'O', '6', 0x30aa}, /* KATAKANA LETTER O */ + {'K', 'a', 0x30ab}, /* KATAKANA LETTER KA */ + {'G', 'a', 0x30ac}, /* KATAKANA LETTER GA */ + {'K', 'i', 0x30ad}, /* KATAKANA LETTER KI */ + {'G', 'i', 0x30ae}, /* KATAKANA LETTER GI */ + {'K', 'u', 0x30af}, /* KATAKANA LETTER KU */ + {'G', 'u', 0x30b0}, /* KATAKANA LETTER GU */ + {'K', 'e', 0x30b1}, /* KATAKANA LETTER KE */ + {'G', 'e', 0x30b2}, /* KATAKANA LETTER GE */ + {'K', 'o', 0x30b3}, /* KATAKANA LETTER KO */ + {'G', 'o', 0x30b4}, /* KATAKANA LETTER GO */ + {'S', 'a', 0x30b5}, /* KATAKANA LETTER SA */ + {'Z', 'a', 0x30b6}, /* KATAKANA LETTER ZA */ + {'S', 'i', 0x30b7}, /* KATAKANA LETTER SI */ + {'Z', 'i', 0x30b8}, /* KATAKANA LETTER ZI */ + {'S', 'u', 0x30b9}, /* KATAKANA LETTER SU */ + {'Z', 'u', 0x30ba}, /* KATAKANA LETTER ZU */ + {'S', 'e', 0x30bb}, /* KATAKANA LETTER SE */ + {'Z', 'e', 0x30bc}, /* KATAKANA LETTER ZE */ + {'S', 'o', 0x30bd}, /* KATAKANA LETTER SO */ + {'Z', 'o', 0x30be}, /* KATAKANA LETTER ZO */ + {'T', 'a', 0x30bf}, /* KATAKANA LETTER TA */ + {'D', 'a', 0x30c0}, /* KATAKANA LETTER DA */ + {'T', 'i', 0x30c1}, /* KATAKANA LETTER TI */ + {'D', 'i', 0x30c2}, /* KATAKANA LETTER DI */ + {'T', 'U', 0x30c3}, /* KATAKANA LETTER SMALL TU */ + {'T', 'u', 0x30c4}, /* KATAKANA LETTER TU */ + {'D', 'u', 0x30c5}, /* KATAKANA LETTER DU */ + {'T', 'e', 0x30c6}, /* KATAKANA LETTER TE */ + {'D', 'e', 0x30c7}, /* KATAKANA LETTER DE */ + {'T', 'o', 0x30c8}, /* KATAKANA LETTER TO */ + {'D', 'o', 0x30c9}, /* KATAKANA LETTER DO */ + {'N', 'a', 0x30ca}, /* KATAKANA LETTER NA */ + {'N', 'i', 0x30cb}, /* KATAKANA LETTER NI */ + {'N', 'u', 0x30cc}, /* KATAKANA LETTER NU */ + {'N', 'e', 0x30cd}, /* KATAKANA LETTER NE */ + {'N', 'o', 0x30ce}, /* KATAKANA LETTER NO */ + {'H', 'a', 0x30cf}, /* KATAKANA LETTER HA */ + {'B', 'a', 0x30d0}, /* KATAKANA LETTER BA */ + {'P', 'a', 0x30d1}, /* KATAKANA LETTER PA */ + {'H', 'i', 0x30d2}, /* KATAKANA LETTER HI */ + {'B', 'i', 0x30d3}, /* KATAKANA LETTER BI */ + {'P', 'i', 0x30d4}, /* KATAKANA LETTER PI */ + {'H', 'u', 0x30d5}, /* KATAKANA LETTER HU */ + {'B', 'u', 0x30d6}, /* KATAKANA LETTER BU */ + {'P', 'u', 0x30d7}, /* KATAKANA LETTER PU */ + {'H', 'e', 0x30d8}, /* KATAKANA LETTER HE */ + {'B', 'e', 0x30d9}, /* KATAKANA LETTER BE */ + {'P', 'e', 0x30da}, /* KATAKANA LETTER PE */ + {'H', 'o', 0x30db}, /* KATAKANA LETTER HO */ + {'B', 'o', 0x30dc}, /* KATAKANA LETTER BO */ + {'P', 'o', 0x30dd}, /* KATAKANA LETTER PO */ + {'M', 'a', 0x30de}, /* KATAKANA LETTER MA */ + {'M', 'i', 0x30df}, /* KATAKANA LETTER MI */ + {'M', 'u', 0x30e0}, /* KATAKANA LETTER MU */ + {'M', 'e', 0x30e1}, /* KATAKANA LETTER ME */ + {'M', 'o', 0x30e2}, /* KATAKANA LETTER MO */ + {'Y', 'A', 0x30e3}, /* KATAKANA LETTER SMALL YA */ + {'Y', 'a', 0x30e4}, /* KATAKANA LETTER YA */ + {'Y', 'U', 0x30e5}, /* KATAKANA LETTER SMALL YU */ + {'Y', 'u', 0x30e6}, /* KATAKANA LETTER YU */ + {'Y', 'O', 0x30e7}, /* KATAKANA LETTER SMALL YO */ + {'Y', 'o', 0x30e8}, /* KATAKANA LETTER YO */ + {'R', 'a', 0x30e9}, /* KATAKANA LETTER RA */ + {'R', 'i', 0x30ea}, /* KATAKANA LETTER RI */ + {'R', 'u', 0x30eb}, /* KATAKANA LETTER RU */ + {'R', 'e', 0x30ec}, /* KATAKANA LETTER RE */ + {'R', 'o', 0x30ed}, /* KATAKANA LETTER RO */ + {'W', 'A', 0x30ee}, /* KATAKANA LETTER SMALL WA */ + {'W', 'a', 0x30ef}, /* KATAKANA LETTER WA */ + {'W', 'i', 0x30f0}, /* KATAKANA LETTER WI */ + {'W', 'e', 0x30f1}, /* KATAKANA LETTER WE */ + {'W', 'o', 0x30f2}, /* KATAKANA LETTER WO */ + {'N', '6', 0x30f3}, /* KATAKANA LETTER N */ + {'V', 'u', 0x30f4}, /* KATAKANA LETTER VU */ + {'K', 'A', 0x30f5}, /* KATAKANA LETTER SMALL KA */ + {'K', 'E', 0x30f6}, /* KATAKANA LETTER SMALL KE */ + {'V', 'a', 0x30f7}, /* KATAKANA LETTER VA */ + {'V', 'i', 0x30f8}, /* KATAKANA LETTER VI */ + {'V', 'e', 0x30f9}, /* KATAKANA LETTER VE */ + {'V', 'o', 0x30fa}, /* KATAKANA LETTER VO */ + {'.', '6', 0x30fb}, /* KATAKANA MIDDLE DOT */ + {'-', '6', 0x30fc}, /* KATAKANA-HIRAGANA PROLONGED SOUND MARK */ + {'*', '6', 0x30fd}, /* KATAKANA ITERATION MARK */ + {'+', '6', 0x30fe}, /* KATAKANA VOICED ITERATION MARK */ + {'b', '4', 0x3105}, /* BOPOMOFO LETTER B */ + {'p', '4', 0x3106}, /* BOPOMOFO LETTER P */ + {'m', '4', 0x3107}, /* BOPOMOFO LETTER M */ + {'f', '4', 0x3108}, /* BOPOMOFO LETTER F */ + {'d', '4', 0x3109}, /* BOPOMOFO LETTER D */ + {'t', '4', 0x310a}, /* BOPOMOFO LETTER T */ + {'n', '4', 0x310b}, /* BOPOMOFO LETTER N */ + {'l', '4', 0x310c}, /* BOPOMOFO LETTER L */ + {'g', '4', 0x310d}, /* BOPOMOFO LETTER G */ + {'k', '4', 0x310e}, /* BOPOMOFO LETTER K */ + {'h', '4', 0x310f}, /* BOPOMOFO LETTER H */ + {'j', '4', 0x3110}, /* BOPOMOFO LETTER J */ + {'q', '4', 0x3111}, /* BOPOMOFO LETTER Q */ + {'x', '4', 0x3112}, /* BOPOMOFO LETTER X */ + {'z', 'h', 0x3113}, /* BOPOMOFO LETTER ZH */ + {'c', 'h', 0x3114}, /* BOPOMOFO LETTER CH */ + {'s', 'h', 0x3115}, /* BOPOMOFO LETTER SH */ + {'r', '4', 0x3116}, /* BOPOMOFO LETTER R */ + {'z', '4', 0x3117}, /* BOPOMOFO LETTER Z */ + {'c', '4', 0x3118}, /* BOPOMOFO LETTER C */ + {'s', '4', 0x3119}, /* BOPOMOFO LETTER S */ + {'a', '4', 0x311a}, /* BOPOMOFO LETTER A */ + {'o', '4', 0x311b}, /* BOPOMOFO LETTER O */ + {'e', '4', 0x311c}, /* BOPOMOFO LETTER E */ + {'a', 'i', 0x311e}, /* BOPOMOFO LETTER AI */ + {'e', 'i', 0x311f}, /* BOPOMOFO LETTER EI */ + {'a', 'u', 0x3120}, /* BOPOMOFO LETTER AU */ + {'o', 'u', 0x3121}, /* BOPOMOFO LETTER OU */ + {'a', 'n', 0x3122}, /* BOPOMOFO LETTER AN */ + {'e', 'n', 0x3123}, /* BOPOMOFO LETTER EN */ + {'a', 'N', 0x3124}, /* BOPOMOFO LETTER ANG */ + {'e', 'N', 0x3125}, /* BOPOMOFO LETTER ENG */ + {'e', 'r', 0x3126}, /* BOPOMOFO LETTER ER */ + {'i', '4', 0x3127}, /* BOPOMOFO LETTER I */ + {'u', '4', 0x3128}, /* BOPOMOFO LETTER U */ + {'i', 'u', 0x3129}, /* BOPOMOFO LETTER IU */ + {'v', '4', 0x312a}, /* BOPOMOFO LETTER V */ + {'n', 'G', 0x312b}, /* BOPOMOFO LETTER NG */ + {'g', 'n', 0x312c}, /* BOPOMOFO LETTER GN */ + {'1', 'c', 0x3220}, /* PARENTHESIZED IDEOGRAPH ONE */ + {'2', 'c', 0x3221}, /* PARENTHESIZED IDEOGRAPH TWO */ + {'3', 'c', 0x3222}, /* PARENTHESIZED IDEOGRAPH THREE */ + {'4', 'c', 0x3223}, /* PARENTHESIZED IDEOGRAPH FOUR */ + {'5', 'c', 0x3224}, /* PARENTHESIZED IDEOGRAPH FIVE */ + {'6', 'c', 0x3225}, /* PARENTHESIZED IDEOGRAPH SIX */ + {'7', 'c', 0x3226}, /* PARENTHESIZED IDEOGRAPH SEVEN */ + {'8', 'c', 0x3227}, /* PARENTHESIZED IDEOGRAPH EIGHT */ + {'9', 'c', 0x3228}, /* PARENTHESIZED IDEOGRAPH NINE */ + {'f', 'f', 0xfb00}, /* LATIN SMALL LIGATURE FF */ + {'f', 'i', 0xfb01}, /* LATIN SMALL LIGATURE FI */ + {'f', 'l', 0xfb02}, /* LATIN SMALL LIGATURE FL */ + {'f', 't', 0xfb05}, /* LATIN SMALL LIGATURE FT */ + {'s', 't', 0xfb06}, /* LATIN SMALL LIGATURE ST */ + {'N', 'U', 0x0000}, /* NULL (NUL) */ + {'S', 'H', 0x0001}, /* START OF HEADING (SOH) */ + {'S', 'X', 0x0002}, /* START OF TEXT (STX) */ + {'E', 'X', 0x0003}, /* END OF TEXT (ETX) */ + {'E', 'T', 0x0004}, /* END OF TRANSMISSION (EOT) */ + {'E', 'Q', 0x0005}, /* ENQUIRY (ENQ) */ + {'A', 'K', 0x0006}, /* ACKNOWLEDGE (ACK) */ + {'B', 'L', 0x0007}, /* BELL (BEL) */ + {'B', 'S', 0x0008}, /* BACKSPACE (BS) */ + {'H', 'T', 0x0009}, /* CHARACTER TABULATION (HT) */ + {'L', 'F', 0x000a}, /* LINE FEED (LF) */ + {'V', 'T', 0x000b}, /* LINE TABULATION (VT) */ + {'F', 'F', 0x000c}, /* FORM FEED (FF) */ + {'C', 'R', 0x000d}, /* CARRIAGE RETURN (CR) */ + {'S', 'O', 0x000e}, /* SHIFT OUT (SO) */ + {'S', 'I', 0x000f}, /* SHIFT IN (SI) */ + {'D', 'L', 0x0010}, /* DATALINK ESCAPE (DLE) */ + {'D', '1', 0x0011}, /* DEVICE CONTROL ONE (DC1) */ + {'D', '2', 0x0012}, /* DEVICE CONTROL TWO (DC2) */ + {'D', '3', 0x0013}, /* DEVICE CONTROL THREE (DC3) */ + {'D', '4', 0x0014}, /* DEVICE CONTROL FOUR (DC4) */ + {'N', 'K', 0x0015}, /* NEGATIVE ACKNOWLEDGE (NAK) */ + {'S', 'Y', 0x0016}, /* SYNCRONOUS IDLE (SYN) */ + {'E', 'B', 0x0017}, /* END OF TRANSMISSION BLOCK (ETB) */ + {'C', 'N', 0x0018}, /* CANCEL (CAN) */ + {'E', 'M', 0x0019}, /* END OF MEDIUM (EM) */ + {'S', 'B', 0x001a}, /* SUBSTITUTE (SUB) */ + {'E', 'C', 0x001b}, /* ESCAPE (ESC) */ + {'F', 'S', 0x001c}, /* FILE SEPARATOR (IS4) */ + {'G', 'S', 0x001d}, /* GROUP SEPARATOR (IS3) */ + {'R', 'S', 0x001e}, /* RECORD SEPARATOR (IS2) */ + {'U', 'S', 0x001f}, /* UNIT SEPARATOR (IS1) */ + {'D', 'T', 0x007f}, /* DELETE (DEL) */ + {'P', 'A', 0x0080}, /* PADDING CHARACTER (PAD) */ + {'H', 'O', 0x0081}, /* HIGH OCTET PRESET (HOP) */ + {'B', 'H', 0x0082}, /* BREAK PERMITTED HERE (BPH) */ + {'N', 'H', 0x0083}, /* NO BREAK HERE (NBH) */ + {'I', 'N', 0x0084}, /* INDEX (IND) */ + {'N', 'L', 0x0085}, /* NEXT LINE (NEL) */ + {'S', 'A', 0x0086}, /* START OF SELECTED AREA (SSA) */ + {'E', 'S', 0x0087}, /* END OF SELECTED AREA (ESA) */ + {'H', 'S', 0x0088}, /* CHARACTER TABULATION SET (HTS) */ + {'H', 'J', 0x0089}, /* CHARACTER TABULATION WITH JUSTIFICATION (HTJ) */ + {'V', 'S', 0x008a}, /* LINE TABULATION SET (VTS) */ + {'P', 'D', 0x008b}, /* PARTIAL LINE FORWARD (PLD) */ + {'P', 'U', 0x008c}, /* PARTIAL LINE BACKWARD (PLU) */ + {'R', 'I', 0x008d}, /* REVERSE LINE FEED (RI) */ + {'S', '2', 0x008e}, /* SINGLE-SHIFT TWO (SS2) */ + {'S', '3', 0x008f}, /* SINGLE-SHIFT THREE (SS3) */ + {'D', 'C', 0x0090}, /* DEVICE CONTROL STRING (DCS) */ + {'P', '1', 0x0091}, /* PRIVATE USE ONE (PU1) */ + {'P', '2', 0x0092}, /* PRIVATE USE TWO (PU2) */ + {'T', 'S', 0x0093}, /* SET TRANSMIT STATE (STS) */ + {'C', 'C', 0x0094}, /* CANCEL CHARACTER (CCH) */ + {'M', 'W', 0x0095}, /* MESSAGE WAITING (MW) */ + {'S', 'G', 0x0096}, /* START OF GUARDED AREA (SPA) */ + {'E', 'G', 0x0097}, /* END OF GUARDED AREA (EPA) */ + {'S', 'S', 0x0098}, /* START OF STRING (SOS) */ + {'G', 'C', 0x0099}, /* SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI) */ + {'S', 'C', 0x009a}, /* SINGLE CHARACTER INTRODUCER (SCI) */ + {'C', 'I', 0x009b}, /* CONTROL SEQUENCE INTRODUCER (CSI) */ + {'S', 'T', 0x009c}, /* STRING TERMINATOR (ST) */ + {'O', 'C', 0x009d}, /* OPERATING SYSTEM COMMAND (OSC) */ + {'P', 'M', 0x009e}, /* PRIVACY MESSAGE (PM) */ + {'A', 'C', 0x009f}, /* APPLICATION PROGRAM COMMAND (APC) */ + {' ', ' ', 0xe000}, /* indicates unfinished (Mnemonic) */ + {'/', 'c', 0xe001}, /* JOIN THIS LINE WITH NEXT LINE (Mnemonic) */ + {'U', 'A', 0xe002}, /* Unit space A (ISO-IR-8-1 064) */ + {'U', 'B', 0xe003}, /* Unit space B (ISO-IR-8-1 096) */ + {'"', '3', 0xe004}, /* NON-SPACING UMLAUT (ISO-IR-38 201) (character part) */ + {'"', '1', 0xe005}, /* NON-SPACING DIAERESIS WITH ACCENT (ISO-IR-70 192) (character part) */ + {'"', '!', 0xe006}, /* NON-SPACING GRAVE ACCENT (ISO-IR-103 193) (character part) */ + {'"', '\'', 0xe007}, /* NON-SPACING ACUTE ACCENT (ISO-IR-103 194) (character part) */ + {'"', '>', 0xe008}, /* NON-SPACING CIRCUMFLEX ACCENT (ISO-IR-103 195) (character part) */ + {'"', '?', 0xe009}, /* NON-SPACING TILDE (ISO-IR-103 196) (character part) */ + {'"', '-', 0xe00a}, /* NON-SPACING MACRON (ISO-IR-103 197) (character part) */ + {'"', '(', 0xe00b}, /* NON-SPACING BREVE (ISO-IR-103 198) (character part) */ + {'"', '.', 0xe00c}, /* NON-SPACING DOT ABOVE (ISO-IR-103 199) (character part) */ + {'"', ':', 0xe00d}, /* NON-SPACING DIAERESIS (ISO-IR-103 200) (character part) */ + {'"', '0', 0xe00e}, /* NON-SPACING RING ABOVE (ISO-IR-103 202) (character part) */ + {'"', '"', 0xe00f}, /* NON-SPACING DOUBLE ACCUTE (ISO-IR-103 204) (character part) */ + {'"', '<', 0xe010}, /* NON-SPACING CARON (ISO-IR-103 206) (character part) */ + {'"', ',', 0xe011}, /* NON-SPACING CEDILLA (ISO-IR-103 203) (character part) */ + {'"', ';', 0xe012}, /* NON-SPACING OGONEK (ISO-IR-103 206) (character part) */ + {'"', '_', 0xe013}, /* NON-SPACING LOW LINE (ISO-IR-103 204) (character part) */ + {'"', '=', 0xe014}, /* NON-SPACING DOUBLE LOW LINE (ISO-IR-38 217) (character part) */ + {'"', '/', 0xe015}, /* NON-SPACING LONG SOLIDUS (ISO-IR-128 201) (character part) */ + {'"', 'i', 0xe016}, /* GREEK NON-SPACING IOTA BELOW (ISO-IR-55 39) (character part) */ + {'"', 'd', 0xe017}, /* GREEK NON-SPACING DASIA PNEUMATA (ISO-IR-55 38) (character part) */ + {'"', 'p', 0xe018}, /* GREEK NON-SPACING PSILI PNEUMATA (ISO-IR-55 37) (character part) */ + {';', ';', 0xe019}, /* GREEK DASIA PNEUMATA (ISO-IR-18 92) */ + {',', ',', 0xe01a}, /* GREEK PSILI PNEUMATA (ISO-IR-18 124) */ + {'b', '3', 0xe01b}, /* GREEK SMALL LETTER MIDDLE BETA (ISO-IR-18 99) */ + {'C', 'i', 0xe01c}, /* CIRCLE (ISO-IR-83 0294) */ + {'f', '(', 0xe01d}, /* FUNCTION SIGN (ISO-IR-143 221) */ + {'e', 'd', 0xe01e}, /* LATIN SMALL LETTER EZH (ISO-IR-158 142) */ + {'a', 'm', 0xe01f}, /* ANTE MERIDIAM SIGN (ISO-IR-149 0267) */ + {'p', 'm', 0xe020}, /* POST MERIDIAM SIGN (ISO-IR-149 0268) */ + {'F', 'l', 0xe023}, /* DUTCH GUILDER SIGN (IBM437 159) */ + {'G', 'F', 0xe024}, /* GAMMA FUNCTION SIGN (ISO-10646-1DIS 032/032/037/122) */ + {'>', 'V', 0xe025}, /* RIGHTWARDS VECTOR ABOVE (ISO-10646-1DIS 032/032/038/046) */ + {'!', '*', 0xe026}, /* GREEK VARIA (ISO-10646-1DIS 032/032/042/164) */ + {'?', '*', 0xe027}, /* GREEK PERISPOMENI (ISO-10646-1DIS 032/032/042/165) */ + {'J', '<', 0xe028} /* LATIN CAPITAL LETTER J WITH CARON (lowercase: 000/000/001/240) */ }; @@ -5685,8 +6840,7 @@ else { for (i = 0; i < (int)(sizeof(digraphs)/sizeof(*digraphs)); i++) - if ((digraphs[i][0] == (unsigned char)buf[0] && digraphs[i][1] == (unsigned char)buf[1]) || - (digraphs[i][0] == (unsigned char)buf[1] && digraphs[i][1] == (unsigned char)buf[0])) + if ((digraphs[i][0] == (unsigned char)buf[0] && digraphs[i][1] == (unsigned char)buf[1])) break; if (i == (int)(sizeof(digraphs)/sizeof(*digraphs))) {