diff options
author | Amadeusz Sławiński <amade@asmblr.net> | 2010-11-30 21:26:48 +0100 |
---|---|---|
committer | Amadeusz Sławiński <amade@asmblr.net> | 2014-05-11 16:05:18 +0200 |
commit | 127551f6bf0ffa53f27c20c444f01a4ec006f566 (patch) | |
tree | 1e8fd32e6e4947154e926fa368c7a6d2c27cea5a | |
parent | 7bcbee45d3d21bce80360dffaf0b23f75344bd7c (diff) | |
download | screen-127551f6bf0ffa53f27c20c444f01a4ec006f566.tar.gz |
apply screen-rfc1345-digraph.patch
patch from http://aperiodic.net/phil/screen/screen-rfc1345-digraph.patch
-rw-r--r-- | src/process.c | 1508 |
1 files changed, 1329 insertions, 179 deletions
diff --git a/src/process.c b/src/process.c index 0756b43..6dd81a4 100644 --- a/src/process.c +++ b/src/process.c @@ -239,10 +239,6 @@ int kmap_extn; static int maptimeout = 300; #endif -#ifndef MAX_DIGRAPH -#define MAX_DIGRAPH 512 -#endif - struct digraph { unsigned char d[2]; @@ -250,178 +246,1333 @@ struct digraph }; /* digraph table taken from old vim and rfc1345 */ -static struct digraph digraphs[MAX_DIGRAPH + 1] = { - {{' ', ' '}, 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} /* ß */ +static struct digraph digraphs[] = { + {{'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) */ }; #define RESIZE_FLAG_H 1 @@ -6443,9 +7594,8 @@ digraph_find(buf) const char *buf; { int i; - for (i = 0; i < MAX_DIGRAPH && digraphs[i].d[0]; i++) - if ((digraphs[i].d[0] == (unsigned char)buf[0] && digraphs[i].d[1] == (unsigned char)buf[1]) || - (digraphs[i].d[0] == (unsigned char)buf[1] && digraphs[i].d[1] == (unsigned char)buf[0])) + for (i = 0; i < sizeof(digraphs) && digraphs[i].d[0]; i++) + if ((digraphs[i].d[0] == (unsigned char)buf[0] && digraphs[i].d[1] == (unsigned char)buf[1])) break; return i; } |