--- Begin Message ---
Package: screen
Version: 4.0.2-4.1
Severity: wishlist
Tags: patch
GNU screen supports a small set of digraphs for entry of non-ASCII
characters using only ASCII characters. Most (all?) of these come from
RFC1345, "Character Mnemonics & Character Sets":
<URL:http://www.ietf.org/rfc/rfc1345.txt>
The attached patch, which applies cleanly to screen 4.0.2, adds
support for all two-key mnemonics (digraphs) from RFC1345. The patch
is also available here:
<URL:http://aperiodic.net/phil/screen/screen-rfc1345-digraph.patch>
-- System Information:
Debian Release: testing/unstable
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16-2-686
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8) (ignored: LC_ALL
set to en_AU.UTF-8)
Versions of packages screen depends on:
ii base-passwd 3.5.11 Debian base system master password
ii debconf 1.5.3 Debian configuration management sy
ii libc6 2.3.6.ds1-4 GNU C Library: Shared libraries
ii libncurses5 5.5-2 Shared libraries for terminal hand
ii passwd 1:4.0.18.1-1 change and administer password and
screen recommends no packages.
-- debconf information excluded
--
\ "The most common way people give up their power is by thinking |
`\ they don't have any." -- Alice Walker |
_o__) |
Ben Finney <[email protected]>
--- ../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)))
{
signature.asc
Description: Digital signature
--- End Message ---