summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRan Benita <ran@unusedvar.com>2021-03-28 15:51:01 +0300
committerRan Benita <ran@unusedvar.com>2021-03-28 16:11:36 +0300
commit7d84809fdccbb5898d0838849ec7c321410182d5 (patch)
tree76b6db4cdb32caf1918738bee31e1797fc123bd9 /src
parent3b506497bf9033124ce71150719325c6f2ddcf75 (diff)
downloadxorg-lib-libxkbcommon-7d84809fdccbb5898d0838849ec7c321410182d5.tar.gz
keysym: fast path for case sensitive xkb_keysym_from_name
xkb_keysym_from_name() is called a lot in Compose file parsing. The lower case handling slows things down a lot (particularly given we can't use the optimized strcasecmp() due to locale issues). So add separate handling for the non-case-sensitive case which is used by Compose. To do this we need to add another version of the ks_tables table. This adds ~20kb to the shared library binary. We can probably do something better here but I think it's fine. Signed-off-by: Ran Benita <ran@unusedvar.com>
Diffstat (limited to 'src')
-rw-r--r--src/keysym.c115
-rw-r--r--src/ks_tables.h2554
2 files changed, 2617 insertions, 52 deletions
diff --git a/src/keysym.c b/src/keysym.c
index be03d7e..41098ed 100644
--- a/src/keysym.c
+++ b/src/keysym.c
@@ -102,64 +102,75 @@ xkb_keysym_from_name(const char *name, enum xkb_keysym_flags flags)
if (flags & ~XKB_KEYSYM_CASE_INSENSITIVE)
return XKB_KEY_NoSymbol;
- size_t lo = 0, hi = ARRAY_SIZE(name_to_keysym) - 1;
- while (hi >= lo) {
- size_t mid = (lo + hi) / 2;
- int cmp = istrcmp(name, get_name(&name_to_keysym[mid]));
- if (cmp > 0) {
- lo = mid + 1;
- } else if (cmp < 0) {
- hi = mid - 1;
- } else {
- entry = &name_to_keysym[mid];
- break;
+ /*
+ * We need to !icase case to be fast, for e.g. Compose file parsing.
+ * So do it in a fast path.
+ */
+ if (!icase) {
+ size_t lo = 0, hi = ARRAY_SIZE(name_to_keysym) - 1;
+ while (hi >= lo) {
+ size_t mid = (lo + hi) / 2;
+ int cmp = strcmp(name, get_name(&name_to_keysym[mid]));
+ if (cmp > 0)
+ lo = mid + 1;
+ else if (cmp < 0)
+ hi = mid - 1;
+ else
+ return name_to_keysym[mid].keysym;
}
}
- if (entry) {
- /*
- * Find the correct keysym if one case-insensitive match is given.
- *
- * The name_to_keysym table is sorted by istrcmp(). So the binary search
- * may return _any_ of all possible case-insensitive duplicates. This
- * code searches the entry, all previous and all next entries that match
- * by case-insensitive comparison and returns the exact match to name.
- * If icase is true, then this returns the best case-insensitive match
- * instead of a correct match.
- * The "best" case-insensitive match is the lower-case keysym which we
- * find with the help of xkb_keysym_is_lower().
- * The only keysyms that only differ by letter-case are keysyms that are
- * available as lower-case and upper-case variant (like KEY_a and
- * KEY_A). So returning the first lower-case match is enough in this
- * case.
- */
- const struct name_keysym *iter, *last;
-
- if (!icase && strcmp(get_name(entry), name) == 0)
- return entry->keysym;
- if (icase && xkb_keysym_is_lower(entry->keysym))
- return entry->keysym;
-
- for (iter = entry - 1; iter >= name_to_keysym; --iter) {
- if (!icase && strcmp(get_name(iter), name) == 0)
- return iter->keysym;
- if (istrcmp(get_name(iter), get_name(entry)) != 0)
- break;
- if (icase && xkb_keysym_is_lower(iter->keysym))
- return iter->keysym;
- }
-
- last = name_to_keysym + ARRAY_SIZE(name_to_keysym);
- for (iter = entry + 1; iter < last; ++iter) {
- if (!icase && strcmp(get_name(iter), name) == 0)
- return iter->keysym;
- if (istrcmp(get_name(iter), get_name(entry)) != 0)
+ /*
+ * Find the correct keysym for case-insensitive match.
+ *
+ * The name_to_keysym_icase table is sorted by istrcmp(). So the binary
+ * search may return _any_ of all possible case-insensitive duplicates. This
+ * code searches the entry, all previous and all next entries that match by
+ * case-insensitive comparison and returns the "best" case-insensitive
+ * match.
+ *
+ * The "best" case-insensitive match is the lower-case keysym which we find
+ * with the help of xkb_keysym_is_lower(). The only keysyms that only differ
+ * by letter-case are keysyms that are available as lower-case and
+ * upper-case variant (like KEY_a and KEY_A). So returning the first
+ * lower-case match is enough in this case.
+ */
+ else {
+ size_t lo = 0, hi = ARRAY_SIZE(name_to_keysym_icase) - 1;
+ while (hi >= lo) {
+ size_t mid = (lo + hi) / 2;
+ int cmp = istrcmp(name, get_name(&name_to_keysym_icase[mid]));
+ if (cmp > 0) {
+ lo = mid + 1;
+ } else if (cmp < 0) {
+ hi = mid - 1;
+ } else {
+ entry = &name_to_keysym_icase[mid];
break;
- if (icase && xkb_keysym_is_lower(iter->keysym))
- return iter->keysym;
+ }
}
+ if (entry) {
+ const struct name_keysym *iter, *last;
+
+ if (icase && xkb_keysym_is_lower(entry->keysym))
+ return entry->keysym;
+
+ for (iter = entry - 1; iter >= name_to_keysym_icase; --iter) {
+ if (istrcmp(get_name(iter), get_name(entry)) != 0)
+ break;
+ if (xkb_keysym_is_lower(iter->keysym))
+ return iter->keysym;
+ }
+
+ last = name_to_keysym_icase + ARRAY_SIZE(name_to_keysym_icase);
+ for (iter = entry + 1; iter < last; ++iter) {
+ if (istrcmp(get_name(iter), get_name(entry)) != 0)
+ break;
+ if (xkb_keysym_is_lower(iter->keysym))
+ return iter->keysym;
+ }
- if (icase)
return entry->keysym;
+ }
}
if (*name == 'U' || (icase && *name == 'u')) {
diff --git a/src/ks_tables.h b/src/ks_tables.h
index 27b1a34..4410b5a 100644
--- a/src/ks_tables.h
+++ b/src/ks_tables.h
@@ -2613,6 +2613,2560 @@ static const struct name_keysym name_to_keysym[] = {
{ 0x00000038, 394 }, /* 8 */
{ 0x00000039, 396 }, /* 9 */
{ 0x00000041, 398 }, /* A */
+ { 0x000000c6, 848 }, /* AE */
+ { 0x000000c1, 402 }, /* Aacute */
+ { 0x01001ea0, 416 }, /* Abelowdot */
+ { 0x000001c3, 445 }, /* Abreve */
+ { 0x01001eae, 459 }, /* Abreveacute */
+ { 0x01001eb6, 483 }, /* Abrevebelowdot */
+ { 0x01001eb0, 513 }, /* Abrevegrave */
+ { 0x01001eb2, 537 }, /* Abrevehook */
+ { 0x01001eb4, 559 }, /* Abrevetilde */
+ { 0x0000fe70, 583 }, /* AccessX_Enable */
+ { 0x0000fe71, 598 }, /* AccessX_Feedback_Enable */
+ { 0x000000c2, 622 }, /* Acircumflex */
+ { 0x01001ea4, 646 }, /* Acircumflexacute */
+ { 0x01001eac, 680 }, /* Acircumflexbelowdot */
+ { 0x01001ea6, 720 }, /* Acircumflexgrave */
+ { 0x01001ea8, 754 }, /* Acircumflexhook */
+ { 0x01001eaa, 786 }, /* Acircumflextilde */
+ { 0x000000c4, 826 }, /* Adiaeresis */
+ { 0x000000c0, 854 }, /* Agrave */
+ { 0x01001ea2, 868 }, /* Ahook */
+ { 0x0000ffe9, 880 }, /* Alt_L */
+ { 0x0000ffea, 886 }, /* Alt_R */
+ { 0x000003c0, 892 }, /* Amacron */
+ { 0x000001a1, 918 }, /* Aogonek */
+ { 0x01000660, 966 }, /* Arabic_0 */
+ { 0x01000661, 975 }, /* Arabic_1 */
+ { 0x01000662, 984 }, /* Arabic_2 */
+ { 0x01000663, 993 }, /* Arabic_3 */
+ { 0x01000664, 1002 }, /* Arabic_4 */
+ { 0x01000665, 1011 }, /* Arabic_5 */
+ { 0x01000666, 1020 }, /* Arabic_6 */
+ { 0x01000667, 1029 }, /* Arabic_7 */
+ { 0x01000668, 1038 }, /* Arabic_8 */
+ { 0x01000669, 1047 }, /* Arabic_9 */
+ { 0x000005d9, 1056 }, /* Arabic_ain */
+ { 0x000005c7, 1067 }, /* Arabic_alef */
+ { 0x000005e9, 1079 }, /* Arabic_alefmaksura */
+ { 0x000005c8, 1098 }, /* Arabic_beh */
+ { 0x000005ac, 1109 }, /* Arabic_comma */
+ { 0x000005d6, 1122 }, /* Arabic_dad */
+ { 0x000005cf, 1133 }, /* Arabic_dal */
+ { 0x000005ef, 1144 }, /* Arabic_damma */
+ { 0x000005ec, 1157 }, /* Arabic_dammatan */
+ { 0x01000688, 1173 }, /* Arabic_ddal */
+ { 0x010006cc, 1185 }, /* Arabic_farsi_yeh */
+ { 0x000005ee, 1202 }, /* Arabic_fatha */
+ { 0x000005eb, 1215 }, /* Arabic_fathatan */
+ { 0x000005e1, 1231 }, /* Arabic_feh */
+ { 0x010006d4, 1242 }, /* Arabic_fullstop */
+ { 0x010006af, 1258 }, /* Arabic_gaf */
+ { 0x000005da, 1269 }, /* Arabic_ghain */
+ { 0x000005e7, 1282 }, /* Arabic_ha */
+ { 0x000005cd, 1292 }, /* Arabic_hah */
+ { 0x000005c1, 1303 }, /* Arabic_hamza */
+ { 0x01000654, 1316 }, /* Arabic_hamza_above */
+ { 0x01000655, 1335 }, /* Arabic_hamza_below */
+ { 0x000005c3, 1354 }, /* Arabic_hamzaonalef */
+ { 0x000005c4, 1373 }, /* Arabic_hamzaonwaw */
+ { 0x000005c6, 1391 }, /* Arabic_hamzaonyeh */
+ { 0x000005c5, 1409 }, /* Arabic_hamzaunderalef */
+ { 0x000005e7, 1431 }, /* Arabic_heh */
+ { 0x010006be, 1442 }, /* Arabic_heh_doachashmee */
+ { 0x010006c1, 1465 }, /* Arabic_heh_goal */
+ { 0x000005cc, 1481 }, /* Arabic_jeem */
+ { 0x01000698, 1493 }, /* Arabic_jeh */
+ { 0x000005e3, 1504 }, /* Arabic_kaf */
+ { 0x000005f0, 1515 }, /* Arabic_kasra */
+ { 0x000005ed, 1528 }, /* Arabic_kasratan */
+ { 0x010006a9, 1544 }, /* Arabic_keheh */
+ { 0x000005ce, 1557 }, /* Arabic_khah */
+ { 0x000005e4, 1569 }, /* Arabic_lam */
+ { 0x01000653, 1580 }, /* Arabic_madda_above */
+ { 0x000005c2, 1599 }, /* Arabic_maddaonalef */
+ { 0x000005e5, 1618 }, /* Arabic_meem */
+ { 0x000005e6, 1630 }, /* Arabic_noon */
+ { 0x010006ba, 1642 }, /* Arabic_noon_ghunna */
+ { 0x0100067e, 1661 }, /* Arabic_peh */
+ { 0x0100066a, 1672 }, /* Arabic_percent */
+ { 0x000005e2, 1687 }, /* Arabic_qaf */
+ { 0x000005bf, 1698 }, /* Arabic_question_mark */
+ { 0x000005d1, 1719 }, /* Arabic_ra */
+ { 0x01000691, 1729 }, /* Arabic_rreh */
+ { 0x000005d5, 1741 }, /* Arabic_sad */
+ { 0x000005d3, 1752 }, /* Arabic_seen */
+ { 0x000005bb, 1764 }, /* Arabic_semicolon */
+ { 0x000005f1, 1781 }, /* Arabic_shadda */
+ { 0x000005d4, 1795 }, /* Arabic_sheen */
+ { 0x000005f2, 1808 }, /* Arabic_sukun */
+ { 0x01000670, 1821 }, /* Arabic_superscript_alef */
+ { 0x0000ff7e, 1845 }, /* Arabic_switch */
+ { 0x000005d7, 1859 }, /* Arabic_tah */
+ { 0x000005e0, 1870 }, /* Arabic_tatweel */
+ { 0x01000686, 1885 }, /* Arabic_tcheh */
+ { 0x000005ca, 1898 }, /* Arabic_teh */
+ { 0x000005c9, 1909 }, /* Arabic_tehmarbuta */
+ { 0x000005d0, 1927 }, /* Arabic_thal */
+ { 0x000005cb, 1939 }, /* Arabic_theh */
+ { 0x01000679, 1951 }, /* Arabic_tteh */
+ { 0x010006a4, 1963 }, /* Arabic_veh */
+ { 0x000005e8, 1974 }, /* Arabic_waw */
+ { 0x000005ea, 1985 }, /* Arabic_yeh */
+ { 0x010006d2, 1996 }, /* Arabic_yeh_baree */
+ { 0x000005d8, 2013 }, /* Arabic_zah */
+ { 0x000005d2, 2024 }, /* Arabic_zain */
+ { 0x000000c5, 2036 }, /* Aring */
+ { 0x01000538, 2100 }, /* Armenian_AT */
+ { 0x01000531, 2124 }, /* Armenian_AYB */
+ { 0x01000532, 2150 }, /* Armenian_BEN */
+ { 0x01000549, 2189 }, /* Armenian_CHA */
+ { 0x01000534, 2215 }, /* Armenian_DA */
+ { 0x01000541, 2239 }, /* Armenian_DZA */
+ { 0x01000537, 2265 }, /* Armenian_E */
+ { 0x01000556, 2303 }, /* Armenian_FE */
+ { 0x01000542, 2346 }, /* Armenian_GHAT */
+ { 0x01000533, 2374 }, /* Armenian_GIM */
+ { 0x01000545, 2400 }, /* Armenian_HI */
+ { 0x01000540, 2424 }, /* Armenian_HO */
+ { 0x0100053b, 2464 }, /* Armenian_INI */
+ { 0x0100054b, 2490 }, /* Armenian_JE */
+ { 0x01000554, 2514 }, /* Armenian_KE */
+ { 0x0100053f, 2538 }, /* Armenian_KEN */
+ { 0x0100053d, 2564 }, /* Armenian_KHE */
+ { 0x0100053c, 2611 }, /* Armenian_LYUN */
+ { 0x01000544, 2639 }, /* Armenian_MEN */
+ { 0x01000546, 2665 }, /* Armenian_NU */
+ { 0x01000555, 2689 }, /* Armenian_O */
+ { 0x0100054a, 2727 }, /* Armenian_PE */
+ { 0x01000553, 2751 }, /* Armenian_PYUR */
+ { 0x0100054c, 2797 }, /* Armenian_RA */
+ { 0x01000550, 2821 }, /* Armenian_RE */
+ { 0x0100054d, 2845 }, /* Armenian_SE */
+ { 0x01000547, 2894 }, /* Armenian_SHA */
+ { 0x01000543, 2936 }, /* Armenian_TCHE */
+ { 0x01000539, 2964 }, /* Armenian_TO */
+ { 0x0100053e, 2988 }, /* Armenian_TSA */
+ { 0x01000551, 3014 }, /* Armenian_TSO */
+ { 0x0100054f, 3040 }, /* Armenian_TYUN */
+ { 0x0100054e, 3086 }, /* Armenian_VEV */
+ { 0x01000548, 3112 }, /* Armenian_VO */
+ { 0x01000552, 3136 }, /* Armenian_VYUN */
+ { 0x01000535, 3164 }, /* Armenian_YECH */
+ { 0x01000536, 3210 }, /* Armenian_ZA */
+ { 0x0100053a, 3234 }, /* Armenian_ZHE */
+ { 0x0100055b, 2048 }, /* Armenian_accent */
+ { 0x0100055c, 2064 }, /* Armenian_amanak */
+ { 0x0100055a, 2080 }, /* Armenian_apostrophe */
+ { 0x01000568, 2112 }, /* Armenian_at */
+ { 0x01000561, 2137 }, /* Armenian_ayb */
+ { 0x01000562, 2163 }, /* Armenian_ben */
+ { 0x0100055d, 2176 }, /* Armenian_but */
+ { 0x01000579, 2202 }, /* Armenian_cha */
+ { 0x01000564, 2227 }, /* Armenian_da */
+ { 0x01000571, 2252 }, /* Armenian_dza */
+ { 0x01000567, 2276 }, /* Armenian_e */
+ { 0x0100055c, 2287 }, /* Armenian_exclam */
+ { 0x01000586, 2315 }, /* Armenian_fe */
+ { 0x01000589, 2327 }, /* Armenian_full_stop */
+ { 0x01000572, 2360 }, /* Armenian_ghat */
+ { 0x01000563, 2387 }, /* Armenian_gim */
+ { 0x01000575, 2412 }, /* Armenian_hi */
+ { 0x01000570, 2436 }, /* Armenian_ho */
+ { 0x0100058a, 2448 }, /* Armenian_hyphen */
+ { 0x0100056b, 2477 }, /* Armenian_ini */
+ { 0x0100057b, 2502 }, /* Armenian_je */
+ { 0x01000584, 2526 }, /* Armenian_ke */
+ { 0x0100056f, 2551 }, /* Armenian_ken */
+ { 0x0100056d, 2577 }, /* Armenian_khe */
+ { 0x01000587, 2590 }, /* Armenian_ligature_ew */
+ { 0x0100056c, 2625 }, /* Armenian_lyun */
+ { 0x01000574, 2652 }, /* Armenian_men */
+ { 0x01000576, 2677 }, /* Armenian_nu */
+ { 0x01000585, 2700 }, /* Armenian_o */
+ { 0x0100055e, 2711 }, /* Armenian_paruyk */
+ { 0x0100057a, 2739 }, /* Armenian_pe */
+ { 0x01000583, 2765 }, /* Armenian_pyur */
+ { 0x0100055e, 2779 }, /* Armenian_question */
+ { 0x0100057c, 2809 }, /* Armenian_ra */
+ { 0x01000580, 2833 }, /* Armenian_re */
+ { 0x0100057d, 2857 }, /* Armenian_se */
+ { 0x0100055d, 2869 }, /* Armenian_separation_mark */
+ { 0x01000577, 2907 }, /* Armenian_sha */
+ { 0x0100055b, 2920 }, /* Armenian_shesht */
+ { 0x01000573, 2950 }, /* Armenian_tche */
+ { 0x01000569, 2976 }, /* Armenian_to */
+ { 0x0100056e, 3001 }, /* Armenian_tsa */
+ { 0x01000581, 3027 }, /* Armenian_tso */
+ { 0x0100057f, 3054 }, /* Armenian_tyun */
+ { 0x01000589, 3068 }, /* Armenian_verjaket */
+ { 0x0100057e, 3099 }, /* Armenian_vev */
+ { 0x01000578, 3124 }, /* Armenian_vo */
+ { 0x01000582, 3150 }, /* Armenian_vyun */
+ { 0x01000565, 3178 }, /* Armenian_yech */
+ { 0x0100058a, 3192 }, /* Armenian_yentamna */
+ { 0x01000566, 3222 }, /* Armenian_za */
+ { 0x0100056a, 3247 }, /* Armenian_zhe */
+ { 0x000000c3, 3295 }, /* Atilde */
+ { 0x0000fe7a, 3309 }, /* AudibleBell_Enable */
+ { 0x00000042, 3328 }, /* B */
+ { 0x01001e02, 3332 }, /* Babovedot */
+ { 0x0000ff08, 3362 }, /* BackSpace */
+ { 0x1000ff74, 3372 }, /* BackTab */
+ { 0x0000ff58, 3404 }, /* Begin */
+ { 0x0000fe74, 3564 }, /* BounceKeys_Enable */
+ { 0x0000ff6b, 8377 }, /* Break */
+ { 0x000006be, 8419 }, /* Byelorussian_SHORTU */
+ { 0x000006ae, 8399 }, /* Byelorussian_shortu */
+ { 0x00000043, 8439 }, /* C */
+ { 0x0000fea2, 8600 }, /* CH */
+ { 0x0000fea5, 8451 }, /* C_H */
+ { 0x0000fea4, 8447 }, /* C_h */
+ { 0x000002c5, 8455 }, /* Cabovedot */
+ { 0x000001c6, 8475 }, /* Cacute */
+ { 0x0000ff69, 8489 }, /* Cancel */
+ { 0x0000ffe5, 8496 }, /* Caps_Lock */
+ { 0x000001c8, 8525 }, /* Ccaron */
+ { 0x000000c7, 8539 }, /* Ccedilla */
+ { 0x000002c6, 8557 }, /* Ccircumflex */
+ { 0x0000fea1, 8597 }, /* Ch */
+ { 0x0000ff0b, 8633 }, /* Clear */
+ { 0x1000ff6f, 8639 }, /* ClearLine */
+ { 0x0000ff37, 8654 }, /* Codeinput */
+ { 0x010020a1, 8670 }, /* ColonSign */
+ { 0x0000ffe3, 8779 }, /* Control_L */
+ { 0x0000ffe4, 8789 }, /* Control_R */
+ { 0x010020a2, 8826 }, /* CruzeiroSign */
+ { 0x000006e1, 8875 }, /* Cyrillic_A */
+ { 0x000006e2, 8898 }, /* Cyrillic_BE */
+ { 0x000006fe, 8923 }, /* Cyrillic_CHE */
+ { 0x010004b6, 8936 }, /* Cyrillic_CHE_descender */
+ { 0x010004b8, 8982 }, /* Cyrillic_CHE_vertstroke */
+ { 0x000006e4, 9042 }, /* Cyrillic_DE */
+ { 0x000006bf, 9068 }, /* Cyrillic_DZHE */
+ { 0x000006fc, 9093 }, /* Cyrillic_E */
+ { 0x000006e6, 9116 }, /* Cyrillic_EF */
+ { 0x000006ec, 9140 }, /* Cyrillic_EL */
+ { 0x000006ed, 9164 }, /* Cyrillic_EM */
+ { 0x000006ee, 9188 }, /* Cyrillic_EN */
+ { 0x010004a2, 9200 }, /* Cyrillic_EN_descender */
+ { 0x000006f2, 9256 }, /* Cyrillic_ER */
+ { 0x000006f3, 9280 }, /* Cyrillic_ES */
+ { 0x000006e7, 9305 }, /* Cyrillic_GHE */
+ { 0x01000492, 9318 }, /* Cyrillic_GHE_bar */
+ { 0x000006e8, 9364 }, /* Cyrillic_HA */
+ { 0x000006ff, 9438 }, /* Cyrillic_HARDSIGN */
+ { 0x010004b2, 9376 }, /* Cyrillic_HA_descender */
+ { 0x000006e9, 9467 }, /* Cyrillic_I */
+ { 0x000006e5, 9526 }, /* Cyrillic_IE */
+ { 0x000006b3, 9550 }, /* Cyrillic_IO */
+ { 0x010004e2, 9478 }, /* Cyrillic_I_macron */
+ { 0x000006b8, 9574 }, /* Cyrillic_JE */
+ { 0x000006eb, 9598 }, /* Cyrillic_KA */
+ { 0x0100049a, 9610 }, /* Cyrillic_KA_descender */
+ { 0x0100049c, 9654 }, /* Cyrillic_KA_vertstroke */
+ { 0x000006b9, 9713 }, /* Cyrillic_LJE */
+ { 0x000006ba, 9739 }, /* Cyrillic_NJE */
+ { 0x000006ef, 9763 }, /* Cyrillic_O */
+ { 0x010004e8, 9774 }, /* Cyrillic_O_bar */
+ { 0x000006f0, 9816 }, /* Cyrillic_PE */
+ { 0x010004d8, 9828 }, /* Cyrillic_SCHWA */
+ { 0x000006fb, 9871 }, /* Cyrillic_SHA */
+ { 0x000006fd, 9899 }, /* Cyrillic_SHCHA */
+ { 0x010004ba, 9914 }, /* Cyrillic_SHHA */
+ { 0x000006ea, 9958 }, /* Cyrillic_SHORTI */
+ { 0x000006f8, 9992 }, /* Cyrillic_SOFTSIGN */
+ { 0x000006f4, 10022 }, /* Cyrillic_TE */
+ { 0x000006e3, 10047 }, /* Cyrillic_TSE */
+ { 0x000006f5, 10071 }, /* Cyrillic_U */
+ { 0x010004ee, 10082 }, /* Cyrillic_U_macron */
+ { 0x010004ae, 10118 }, /* Cyrillic_U_straight */
+ { 0x010004b0, 10158 }, /* Cyrillic_U_straight_bar */
+ { 0x000006f7, 10218 }, /* Cyrillic_VE */
+ { 0x000006f1, 10242 }, /* Cyrillic_YA */
+ { 0x000006f9, 10268 }, /* Cyrillic_YERU */
+ { 0x000006e0, 10294 }, /* Cyrillic_YU */
+ { 0x000006fa, 10318 }, /* Cyrillic_ZE */
+ { 0x000006f6, 10343 }, /* Cyrillic_ZHE */
+ { 0x01000496, 10356 }, /* Cyrillic_ZHE_descender */
+ { 0x000006c1, 8864 }, /* Cyrillic_a */
+ { 0x000006c2, 8886 }, /* Cyrillic_be */
+ { 0x000006de, 8910 }, /* Cyrillic_che */
+ { 0x010004b7, 8959 }, /* Cyrillic_che_descender */
+ { 0x010004b9, 9006 }, /* Cyrillic_che_vertstroke */
+ { 0x000006c4, 9030 }, /* Cyrillic_de */
+ { 0x000006af, 9054 }, /* Cyrillic_dzhe */
+ { 0x000006dc, 9082 }, /* Cyrillic_e */
+ { 0x000006c6, 9104 }, /* Cyrillic_ef */
+ { 0x000006cc, 9128 }, /* Cyrillic_el */
+ { 0x000006cd, 9152 }, /* Cyrillic_em */
+ { 0x000006ce, 9176 }, /* Cyrillic_en */
+ { 0x010004a3, 9222 }, /* Cyrillic_en_descender */
+ { 0x000006d2, 9244 }, /* Cyrillic_er */
+ { 0x000006d3, 9268 }, /* Cyrillic_es */
+ { 0x000006c7, 9292 }, /* Cyrillic_ghe */
+ { 0x01000493, 9335 }, /* Cyrillic_ghe_bar */
+ { 0x000006c8, 9352 }, /* Cyrillic_ha */
+ { 0x010004b3, 9398 }, /* Cyrillic_ha_descender */
+ { 0x000006df, 9420 }, /* Cyrillic_hardsign */
+ { 0x000006c9, 9456 }, /* Cyrillic_i */
+ { 0x010004e3, 9496 }, /* Cyrillic_i_macron */
+ { 0x000006c5, 9514 }, /* Cyrillic_ie */
+ { 0x000006a3, 9538 }, /* Cyrillic_io */
+ { 0x000006a8, 9562 }, /* Cyrillic_je */
+ { 0x000006cb, 9586 }, /* Cyrillic_ka */
+ { 0x0100049b, 9632 }, /* Cyrillic_ka_descender */
+ { 0x0100049d, 9677 }, /* Cyrillic_ka_vertstroke */
+ { 0x000006a9, 9700 }, /* Cyrillic_lje */
+ { 0x000006aa, 9726 }, /* Cyrillic_nje */
+ { 0x000006cf, 9752 }, /* Cyrillic_o */
+ { 0x010004e9, 9789 }, /* Cyrillic_o_bar */
+ { 0x000006d0, 9804 }, /* Cyrillic_pe */
+ { 0x010004d9, 9843 }, /* Cyrillic_schwa */
+ { 0x000006db, 9858 }, /* Cyrillic_sha */
+ { 0x000006dd, 9884 }, /* Cyrillic_shcha */
+ { 0x010004bb, 9928 }, /* Cyrillic_shha */
+ { 0x000006ca, 9942 }, /* Cyrillic_shorti */
+ { 0x000006d8, 9974 }, /* Cyrillic_softsign */
+ { 0x000006d4, 10010 }, /* Cyrillic_te */
+ { 0x000006c3, 10034 }, /* Cyrillic_tse */
+ { 0x000006d5, 10060 }, /* Cyrillic_u */
+ { 0x010004ef, 10100 }, /* Cyrillic_u_macron */
+ { 0x010004af, 10138 }, /* Cyrillic_u_straight */
+ { 0x010004b1, 10182 }, /* Cyrillic_u_straight_bar */
+ { 0x000006d7, 10206 }, /* Cyrillic_ve */
+ { 0x000006d1, 10230 }, /* Cyrillic_ya */
+ { 0x000006d9, 10254 }, /* Cyrillic_yeru */
+ { 0x000006c0, 10282 }, /* Cyrillic_yu */
+ { 0x000006da, 10306 }, /* Cyrillic_ze */
+ { 0x000006d6, 10330 }, /* Cyrillic_zhe */
+ { 0x01000497, 10379 }, /* Cyrillic_zhe_descender */
+ { 0x00000044, 10402 }, /* D */
+ { 0x1000ff00, 11462 }, /* DRemove */
+ { 0x01001e0a, 10406 }, /* Dabovedot */
+ { 0x1000fe27, 10426 }, /* Dacute_accent */
+ { 0x000001cf, 10447 }, /* Dcaron */
+ { 0x1000fe2c, 10461 }, /* Dcedilla_accent */
+ { 0x1000fe5e, 10477 }, /* Dcircumflex_accent */
+ { 0x1000fe22, 10496 }, /* Ddiaeresis */
+ { 0x0000ffff, 11242 }, /* Delete */
+ { 0x1000ff73, 11249 }, /* DeleteChar */
+ { 0x1000ff71, 11260 }, /* DeleteLine */
+ { 0x1000fe60, 11271 }, /* Dgrave_accent */
+ { 0x010020ab, 11340 }, /* DongSign */
+ { 0x0000ff54, 11409 }, /* Down */
+ { 0x1000feb0, 11470 }, /* Dring_accent */
+ { 0x000001d0, 11483 }, /* Dstroke */
+ { 0x1000fe7e, 11499 }, /* Dtilde */
+ { 0x00000045, 11506 }, /* E */
+ { 0x000003bd, 12065 }, /* ENG */
+ { 0x000000d0, 12146 }, /* ETH */
+ { 0x010001b7, 12229 }, /* EZH */
+ { 0x000003cc, 11510 }, /* Eabovedot */
+ { 0x000000c9, 11530 }, /* Eacute */
+ { 0x01001eb8, 11544 }, /* Ebelowdot */
+ { 0x000001cc, 11564 }, /* Ecaron */
+ { 0x000000ca, 11578 }, /* Ecircumflex */
+ { 0x01001ebe, 11602 }, /* Ecircumflexacute */
+ { 0x01001ec6, 11636 }, /* Ecircumflexbelowdot */
+ { 0x01001ec0, 11676 }, /* Ecircumflexgrave */
+ { 0x01001ec2, 11710 }, /* Ecircumflexhook */
+ { 0x01001ec4, 11742 }, /* Ecircumflextilde */
+ { 0x010020a0, 11776 }, /* EcuSign */
+ { 0x000000cb, 11784 }, /* Ediaeresis */
+ { 0x000000c8, 11806 }, /* Egrave */
+ { 0x01001eba, 11820 }, /* Ehook */
+ { 0x0000ff2f, 11861 }, /* Eisu_Shift */
+ { 0x0000ff30, 11872 }, /* Eisu_toggle */
+ { 0x000003aa, 11921 }, /* Emacron */
+ { 0x0000ff57, 12018 }, /* End */
+ { 0x000001ca, 12117 }, /* Eogonek */
+ { 0x0000ff1b, 12139 }, /* Escape */
+ { 0x000000d0, 12150 }, /* Eth */
+ { 0x01001ebc, 12158 }, /* Etilde */
+ { 0x000020ac, 12172 }, /* EuroSign */
+ { 0x0000ff62, 12199 }, /* Execute */
+ { 0x1000ff76, 12207 }, /* Ext16bit_L */
+ { 0x1000ff77, 12218 }, /* Ext16bit_R */
+ { 0x00000046, 12237 }, /* F */
+ { 0x0000ffbe, 12241 }, /* F1 */
+ { 0x0000ffc7, 12244 }, /* F10 */
+ { 0x0000ffc8, 12248 }, /* F11 */
+ { 0x0000ffc9, 12252 }, /* F12 */
+ { 0x0000ffca, 12256 }, /* F13 */
+ { 0x0000ffcb, 12260 }, /* F14 */
+ { 0x0000ffcc, 12264 }, /* F15 */
+ { 0x0000ffcd, 12268 }, /* F16 */
+ { 0x0000ffce, 12272 }, /* F17 */
+ { 0x0000ffcf, 12276 }, /* F18 */
+ { 0x0000ffd0, 12280 }, /* F19 */
+ { 0x0000ffbf, 12284 }, /* F2 */
+ { 0x0000ffd1, 12287 }, /* F20 */
+ { 0x0000ffd2, 12291 }, /* F21 */
+ { 0x0000ffd3, 12295 }, /* F22 */
+ { 0x0000ffd4, 12299 }, /* F23 */
+ { 0x0000ffd5, 12303 }, /* F24 */
+ { 0x0000ffd6, 12307 }, /* F25 */
+ { 0x0000ffd7, 12311 }, /* F26 */
+ { 0x0000ffd8, 12315 }, /* F27 */
+ { 0x0000ffd9, 12319 }, /* F28 */
+ { 0x0000ffda, 12323 }, /* F29 */
+ { 0x0000ffc0, 12327 }, /* F3 */
+ { 0x0000ffdb, 12330 }, /* F30 */
+ { 0x0000ffdc, 12334 }, /* F31 */
+ { 0x0000ffdd, 12338 }, /* F32 */
+ { 0x0000ffde, 12342 }, /* F33 */
+ { 0x0000ffdf, 12346 }, /* F34 */
+ { 0x0000ffe0, 12350 }, /* F35 */
+ { 0x0000ffc1, 12354 }, /* F4 */
+ { 0x0000ffc2, 12357 }, /* F5 */
+ { 0x0000ffc3, 12360 }, /* F6 */
+ { 0x0000ffc4, 12363 }, /* F7 */
+ { 0x0000ffc5, 12366 }, /* F8 */
+ { 0x0000ffc6, 12369 }, /* F9 */
+ { 0x010020a3, 12498 }, /* FFrancSign */
+ { 0x01001e1e, 12372 }, /* Fabovedot */
+ { 0x010006f0, 12392 }, /* Farsi_0 */
+ { 0x010006f1, 12400 }, /* Farsi_1 */
+ { 0x010006f2, 12408 }, /* Farsi_2 */
+ { 0x010006f3, 12416 }, /* Farsi_3 */
+ { 0x010006f4, 12424 }, /* Farsi_4 */
+ { 0x010006f5, 12432 }, /* Farsi_5 */
+ { 0x010006f6, 12440 }, /* Farsi_6 */
+ { 0x010006f7, 12448 }, /* Farsi_7 */
+ { 0x010006f8, 12456 }, /* Farsi_8 */
+ { 0x010006f9, 12464 }, /* Farsi_9 */
+ { 0x010006cc, 12472 }, /* Farsi_yeh */
+ { 0x0000ff68, 12613 }, /* Find */
+ { 0x0000fed0, 12618 }, /* First_Virtual_Screen */
+ { 0x00000047, 12747 }, /* G */
+ { 0x000002d5, 12751 }, /* Gabovedot */
+ { 0x000002ab, 12771 }, /* Gbreve */
+ { 0x010001e6, 12785 }, /* Gcaron */
+ { 0x000003ab, 12799 }, /* Gcedilla */
+ { 0x000002d8, 12817 }, /* Gcircumflex */
+ { 0x010010d0, 12841 }, /* Georgian_an */
+ { 0x010010d1, 12853 }, /* Georgian_ban */
+ { 0x010010ea, 12866 }, /* Georgian_can */
+ { 0x010010ed, 12879 }, /* Georgian_char */
+ { 0x010010e9, 12893 }, /* Georgian_chin */
+ { 0x010010ec, 12907 }, /* Georgian_cil */
+ { 0x010010d3, 12920 }, /* Georgian_don */
+ { 0x010010d4, 12933 }, /* Georgian_en */
+ { 0x010010f6, 12945 }, /* Georgian_fi */
+ { 0x010010d2, 12957 }, /* Georgian_gan */
+ { 0x010010e6, 12970 }, /* Georgian_ghan */
+ { 0x010010f0, 12984 }, /* Georgian_hae */
+ { 0x010010f4, 12997 }, /* Georgian_har */
+ { 0x010010f1, 13010 }, /* Georgian_he */
+ { 0x010010f2, 13022 }, /* Georgian_hie */
+ { 0x010010f5, 13035 }, /* Georgian_hoe */
+ { 0x010010d8, 13048 }, /* Georgian_in */
+ { 0x010010ef, 13060 }, /* Georgian_jhan */
+ { 0x010010eb, 13074 }, /* Georgian_jil */
+ { 0x010010d9, 13087 }, /* Georgian_kan */
+ { 0x010010e5, 13100 }, /* Georgian_khar */
+ { 0x010010da, 13114 }, /* Georgian_las */
+ { 0x010010db, 13127 }, /* Georgian_man */
+ { 0x010010dc, 13140 }, /* Georgian_nar */
+ { 0x010010dd, 13153 }, /* Georgian_on */
+ { 0x010010de, 13165 }, /* Georgian_par */
+ { 0x010010e4, 13178 }, /* Georgian_phar */
+ { 0x010010e7, 13192 }, /* Georgian_qar */
+ { 0x010010e0, 13205 }, /* Georgian_rae */
+ { 0x010010e1, 13218 }, /* Georgian_san */
+ { 0x010010e8, 13231 }, /* Georgian_shin */
+ { 0x010010d7, 13245 }, /* Georgian_tan */
+ { 0x010010e2, 13258 }, /* Georgian_tar */
+ { 0x010010e3, 13271 }, /* Georgian_un */
+ { 0x010010d5, 13283 }, /* Georgian_vin */
+ { 0x010010f3, 13296 }, /* Georgian_we */
+ { 0x010010ee, 13308 }, /* Georgian_xan */
+ { 0x010010d6, 13321 }, /* Georgian_zen */
+ { 0x010010df, 13334 }, /* Georgian_zhar */
+ { 0x000007c1, 13400 }, /* Greek_ALPHA */
+ { 0x000007a1, 13424 }, /* Greek_ALPHAaccent */
+ { 0x000007c2, 13460 }, /* Greek_BETA */
+ { 0x000007d7, 13482 }, /* Greek_CHI */
+ { 0x000007c4, 13502 }, /* Greek_DELTA */
+ { 0x000007c5, 13526 }, /* Greek_EPSILON */
+ { 0x000007a2, 13554 }, /* Greek_EPSILONaccent */
+ { 0x000007c7, 13594 }, /* Greek_ETA */
+ { 0x000007a3, 13614 }, /* Greek_ETAaccent */
+ { 0x000007c3, 13668 }, /* Greek_GAMMA */
+ { 0x000007c9, 13707 }, /* Greek_IOTA */
+ { 0x000007a4, 13729 }, /* Greek_IOTAaccent */
+ { 0x000007a5, 13788 }, /* Greek_IOTAdiaeresis */
+ { 0x000007a5, 13808 }, /* Greek_IOTAdieresis */
+ { 0x000007ca, 13846 }, /* Greek_KAPPA */
+ { 0x000007cb, 13870 }, /* Greek_LAMBDA */
+ { 0x000007cb, 13896 }, /* Greek_LAMDA */
+ { 0x000007cc, 13920 }, /* Greek_MU */
+ { 0x000007cd, 13938 }, /* Greek_NU */
+ { 0x000007d9, 13956 }, /* Greek_OMEGA */
+ { 0x000007ab, 13980 }, /* Greek_OMEGAaccent */
+ { 0x000007cf, 14016 }, /* Greek_OMICRON */
+ { 0x000007a7, 14044 }, /* Greek_OMICRONaccent */
+ { 0x000007d6, 14084 }, /* Greek_PHI */
+ { 0x000007d0, 14104 }, /* Greek_PI */
+ { 0x000007d8, 14122 }, /* Greek_PSI */
+ { 0x000007d1, 14142 }, /* Greek_RHO */
+ { 0x000007d2, 14162 }, /* Greek_SIGMA */
+ { 0x000007d4, 14199 }, /* Greek_TAU */
+ { 0x000007c8, 14219 }, /* Greek_THETA */
+ { 0x000007d5, 14243 }, /* Greek_UPSILON */
+ { 0x000007a8, 14271 }, /* Greek_UPSILONaccent */
+ { 0x000007a9, 14339 }, /* Greek_UPSILONdieresis */
+ { 0x000007ce, 14383 }, /* Greek_XI */
+ { 0x000007c6, 14401 }, /* Greek_ZETA */
+ { 0x000007ae, 13379 }, /* Greek_accentdieresis */
+ { 0x000007e1, 13412 }, /* Greek_alpha */
+ { 0x000007b1, 13442 }, /* Greek_alphaaccent */
+ { 0x000007e2, 13471 }, /* Greek_beta */
+ { 0x000007f7, 13492 }, /* Greek_chi */
+ { 0x000007e4, 13514 }, /* Greek_delta */
+ { 0x000007e5, 13540 }, /* Greek_epsilon */
+ { 0x000007b2, 13574 }, /* Greek_epsilonaccent */
+ { 0x000007e7, 13604 }, /* Greek_eta */
+ { 0x000007b3, 13630 }, /* Greek_etaaccent */
+ { 0x000007f3, 13646 }, /* Greek_finalsmallsigma */
+ { 0x000007e3, 13680 }, /* Greek_gamma */
+ { 0x000007af, 13692 }, /* Greek_horizbar */
+ { 0x000007e9, 13718 }, /* Greek_iota */
+ { 0x000007b4, 13746 }, /* Greek_iotaaccent */
+ { 0x000007b6, 13763 }, /* Greek_iotaaccentdieresis */
+ { 0x000007b5, 13827 }, /* Greek_iotadieresis */
+ { 0x000007ea, 13858 }, /* Greek_kappa */
+ { 0x000007eb, 13883 }, /* Greek_lambda */
+ { 0x000007eb, 13908 }, /* Greek_lamda */
+ { 0x000007ec, 13929 }, /* Greek_mu */
+ { 0x000007ed, 13947 }, /* Greek_nu */
+ { 0x000007f9, 13968 }, /* Greek_omega */
+ { 0x000007bb, 13998 }, /* Greek_omegaaccent */
+ { 0x000007ef, 14030 }, /* Greek_omicron */
+ { 0x000007b7, 14064 }, /* Greek_omicronaccent */
+ { 0x000007f6, 14094 }, /* Greek_phi */
+ { 0x000007f0, 14113 }, /* Greek_pi */
+ { 0x000007f8, 14132 }, /* Greek_psi */
+ { 0x000007f1, 14152 }, /* Greek_rho */
+ { 0x000007f2, 14174 }, /* Greek_sigma */
+ { 0x0000ff7e, 14186 }, /* Greek_switch */
+ { 0x000007f4, 14209 }, /* Greek_tau */
+ { 0x000007e8, 14231 }, /* Greek_theta */
+ { 0x000007f5, 14257 }, /* Greek_upsilon */
+ { 0x000007b8, 14291 }, /* Greek_upsilonaccent */
+ { 0x000007ba, 14311 }, /* Greek_upsilonaccentdieresis */
+ { 0x000007b9, 14361 }, /* Greek_upsilondieresis */
+ { 0x000007ee, 14392 }, /* Greek_xi */
+ { 0x000007e6, 14412 }, /* Greek_zeta */
+ { 0x00000048, 14460 }, /* H */
+ { 0x0000ff31, 14474 }, /* Hangul */
+ { 0x00000ebf, 14481 }, /* Hangul_A */
+ { 0x00000ec0, 14490 }, /* Hangul_AE */
+ { 0x00000ef6, 14500 }, /* Hangul_AraeA */
+ { 0x00000ef7, 14513 }, /* Hangul_AraeAE */
+ { 0x0000ff39, 14527 }, /* Hangul_Banja */
+ { 0x00000eba, 14540 }, /* Hangul_Cieuc */
+ { 0x0000ff37, 14553 }, /* Hangul_Codeinput */
+ { 0x00000ea7, 14570 }, /* Hangul_Dikeud */
+ { 0x00000ec4, 14584 }, /* Hangul_E */
+ { 0x00000ec3, 14604 }, /* Hangul_EO */
+ { 0x00000ed1, 14614 }, /* Hangul_EU */
+ { 0x0000ff33, 14593 }, /* Hangul_End */
+ { 0x0000ff34, 14624 }, /* Hangul_Hanja */
+ { 0x00000ebe, 14637 }, /* Hangul_Hieuh */
+ { 0x00000ed3, 14650 }, /* Hangul_I */
+ { 0x00000eb7, 14659 }, /* Hangul_Ieung */
+ { 0x00000eea, 14672 }, /* Hangul_J_Cieuc */
+ { 0x00000eda, 14687 }, /* Hangul_J_Dikeud */
+ { 0x00000eee, 14703 }, /* Hangul_J_Hieuh */
+ { 0x00000ee8, 14718 }, /* Hangul_J_Ieung */
+ { 0x00000ee9, 14733 }, /* Hangul_J_Jieuj */
+ { 0x00000eeb, 14748 }, /* Hangul_J_Khieuq */
+ { 0x00000ed4, 14764 }, /* Hangul_J_Kiyeog */
+ { 0x00000ed6, 14780 }, /* Hangul_J_KiyeogSios */
+ { 0x00000ef9, 14800 }, /* Hangul_J_KkogjiDalrinIeung */
+ { 0x00000ee3, 14827 }, /* Hangul_J_Mieum */
+ { 0x00000ed7, 14842 }, /* Hangul_J_Nieun */
+ { 0x00000ed9, 14857 }, /* Hangul_J_NieunHieuh */
+ { 0x00000ed8, 14877 }, /* Hangul_J_NieunJieuj */
+ { 0x00000ef8, 14897 }, /* Hangul_J_PanSios */
+ { 0x00000eed, 14914 }, /* Hangul_J_Phieuf */
+ { 0x00000ee4, 14930 }, /* Hangul_J_Pieub */
+ { 0x00000ee5, 14945 }, /* Hangul_J_PieubSios */
+ { 0x00000edb, 14964 }, /* Hangul_J_Rieul */
+ { 0x00000ee2, 14979 }, /* Hangul_J_RieulHieuh */
+ { 0x00000edc, 14999 }, /* Hangul_J_RieulKiyeog */
+ { 0x00000edd, 15020 }, /* Hangul_J_RieulMieum */
+ { 0x00000ee1, 15040 }, /* Hangul_J_RieulPhieuf */
+ { 0x00000ede, 15061 }, /* Hangul_J_RieulPieub */
+ { 0x00000edf, 15081 }, /* Hangul_J_RieulSios */
+ { 0x00000ee0, 15100 }, /* Hangul_J_RieulTieut */
+ { 0x00000ee6, 15120 }, /* Hangul_J_Sios */
+ { 0x00000ed5, 15134 }, /* Hangul_J_SsangKiyeog */
+ { 0x00000ee7, 15155 }, /* Hangul_J_SsangSios */
+ { 0x00000eec, 15174 }, /* Hangul_J_Tieut */
+ { 0x00000efa, 15189 }, /* Hangul_J_YeorinHieuh */
+ { 0x0000ff35, 15210 }, /* Hangul_Jamo */
+ { 0x0000ff38, 15222 }, /* Hangul_Jeonja */
+ { 0x00000eb8, 15236 }, /* Hangul_Jieuj */
+ { 0x00000ebb, 15249 }, /* Hangul_Khieuq */
+ { 0x00000ea1, 15263 }, /* Hangul_Kiyeog */
+ { 0x00000ea3, 15277 }, /* Hangul_KiyeogSios */
+ { 0x00000ef3, 15295 }, /* Hangul_KkogjiDalrinIeung */
+ { 0x00000eb1, 15320 }, /* Hangul_Mieum */
+ { 0x0000ff3d, 15333 }, /* Hangul_MultipleCandidate */
+ { 0x00000ea4, 15358 }, /* Hangul_Nieun */
+ { 0x00000ea6, 15371 }, /* Hangul_NieunHieuh */
+ { 0x00000ea5, 15389 }, /* Hangul_NieunJieuj */
+ { 0x00000ec7, 15407 }, /* Hangul_O */
+ { 0x00000eca, 15416 }, /* Hangul_OE */
+ { 0x00000ef2, 15426 }, /* Hangul_PanSios */
+ { 0x00000ebd, 15441 }, /* Hangul_Phieuf */
+ { 0x00000eb2, 15455 }, /* Hangul_Pieub */
+ { 0x00000eb4, 15468 }, /* Hangul_PieubSios */
+ { 0x0000ff3b, 15485 }, /* Hangul_PostHanja */
+ { 0x0000ff3a, 15502 }, /* Hangul_PreHanja */
+ { 0x0000ff3e, 15518 }, /* Hangul_PreviousCandidate */
+ { 0x00000ea9, 15543 }, /* Hangul_Rieul */
+ { 0x00000eb0, 15556 }, /* Hangul_RieulHieuh */
+ { 0x00000eaa, 15574 }, /* Hangul_RieulKiyeog */
+ { 0x00000eab, 15593 }, /* Hangul_RieulMieum */
+ { 0x00000eaf, 15611 }, /* Hangul_RieulPhieuf */
+ { 0x00000eac, 15630 }, /* Hangul_RieulPieub */
+ { 0x00000ead, 15648 }, /* Hangul_RieulSios */
+ { 0x00000eae, 15665 }, /* Hangul_RieulTieut */
+ { 0x00000eef, 15683 }, /* Hangul_RieulYeorinHieuh */
+ { 0x0000ff36, 15707 }, /* Hangul_Romaja */
+ { 0x0000ff3c, 15721 }, /* Hangul_SingleCandidate */
+ { 0x00000eb5, 15744 }, /* Hangul_Sios */
+ { 0x0000ff3f, 15756 }, /* Hangul_Special */
+ { 0x00000ea8, 15771 }, /* Hangul_SsangDikeud */
+ { 0x00000eb9, 15790 }, /* Hangul_SsangJieuj */
+ { 0x00000ea2, 15808 }, /* Hangul_SsangKiyeog */
+ { 0x00000eb3, 15827 }, /* Hangul_SsangPieub */
+ { 0x00000eb6, 15845 }, /* Hangul_SsangSios */
+ { 0x0000ff32, 15862 }, /* Hangul_Start */
+ { 0x00000ef0, 15875 }, /* Hangul_SunkyeongeumMieum */
+ { 0x00000ef4, 15900 }, /* Hangul_SunkyeongeumPhieuf */
+ { 0x00000ef1, 15926 }, /* Hangul_SunkyeongeumPieub */
+ { 0x00000ebc, 15965 }, /* Hangul_Tieut */
+ { 0x00000ecc, 15978 }, /* Hangul_U */
+ { 0x00000ec8, 15987 }, /* Hangul_WA */
+ { 0x00000ec9, 15997 }, /* Hangul_WAE */
+ { 0x00000ece, 16008 }, /* Hangul_WE */
+ { 0x00000ecd, 16018 }, /* Hangul_WEO */
+ { 0x00000ecf, 16029 }, /* Hangul_WI */
+ { 0x00000ec1, 16039 }, /* Hangul_YA */
+ { 0x00000ec2, 16049 }, /* Hangul_YAE */
+ { 0x00000ec6, 16060 }, /* Hangul_YE */
+ { 0x00000ec5, 16070 }, /* Hangul_YEO */
+ { 0x00000ed2, 16100 }, /* Hangul_YI */
+ { 0x00000ecb, 16110 }, /* Hangul_YO */
+ { 0x00000ed0, 16120 }, /* Hangul_YU */
+ { 0x00000ef5, 16081 }, /* Hangul_YeorinHieuh */
+ { 0x0000ff7e, 15951 }, /* Hangul_switch */
+ { 0x0000ff29, 16130 }, /* Hankaku */
+ { 0x000002a6, 16138 }, /* Hcircumflex */
+ { 0x0000ff7e, 16554 }, /* Hebrew_switch */
+ { 0x0000ff6a, 16684 }, /* Help */
+ { 0x0000ff23, 16689 }, /* Henkan */
+ { 0x0000ff23, 16696 }, /* Henkan_Mode */
+ { 0x0000ff25, 16717 }, /* Hiragana */
+ { 0x0000ff27, 16726 }, /* Hiragana_Katakana */
+ { 0x0000ff50, 16744 }, /* Home */
+ { 0x000002a1, 17109 }, /* Hstroke */
+ { 0x0000ffed, 17128 }, /* Hyper_L */
+ { 0x0000ffee, 17136 }, /* Hyper_R */
+ { 0x00000049, 17151 }, /* I */
+ { 0x100000ee, 17417 }, /* IO */
+ { 0x0000fe33, 17436 }, /* ISO_Center_Object */
+ { 0x0000fe30, 17454 }, /* ISO_Continuous_Underline */
+ { 0x0000fe31, 17479 }, /* ISO_Discontinuous_Underline */
+ { 0x0000fe32, 17507 }, /* ISO_Emphasize */
+ { 0x0000fe34, 17521 }, /* ISO_Enter */
+ { 0x0000fe2f, 17531 }, /* ISO_Fast_Cursor_Down */
+ { 0x0000fe2c, 17552 }, /* ISO_Fast_Cursor_Left */
+ { 0x0000fe2d, 17573 }, /* ISO_Fast_Cursor_Right */
+ { 0x0000fe2e, 17595 }, /* ISO_Fast_Cursor_Up */
+ { 0x0000fe0c, 17614 }, /* ISO_First_Group */
+ { 0x0000fe0d, 17630 }, /* ISO_First_Group_Lock */
+ { 0x0000fe06, 17651 }, /* ISO_Group_Latch */
+ { 0x0000fe07, 17667 }, /* ISO_Group_Lock */
+ { 0x0000ff7e, 17682 }, /* ISO_Group_Shift */
+ { 0x0000fe0e, 17698 }, /* ISO_Last_Group */
+ { 0x0000fe0f, 17713 }, /* ISO_Last_Group_Lock */
+ { 0x0000fe20, 17733 }, /* ISO_Left_Tab */
+ { 0x0000fe02, 17746 }, /* ISO_Level2_Latch */
+ { 0x0000fe04, 17763 }, /* ISO_Level3_Latch */
+ { 0x0000fe05, 17780 }, /* ISO_Level3_Lock */
+ { 0x0000fe03, 17796 }, /* ISO_Level3_Shift */
+ { 0x0000fe12, 17813 }, /* ISO_Level5_Latch */
+ { 0x0000fe13, 17830 }, /* ISO_Level5_Lock */
+ { 0x0000fe11, 17846 }, /* ISO_Level5_Shift */
+ { 0x0000fe01, 17863 }, /* ISO_Lock */
+ { 0x0000fe22, 17872 }, /* ISO_Move_Line_Down */
+ { 0x0000fe21, 17891 }, /* ISO_Move_Line_Up */
+ { 0x0000fe08, 17908 }, /* ISO_Next_Group */
+ { 0x0000fe09, 17923 }, /* ISO_Next_Group_Lock */
+ { 0x0000fe24, 17943 }, /* ISO_Partial_Line_Down */
+ { 0x0000fe23, 17965 }, /* ISO_Partial_Line_Up */
+ { 0x0000fe25, 17985 }, /* ISO_Partial_Space_Left */
+ { 0x0000fe26, 18008 }, /* ISO_Partial_Space_Right */
+ { 0x0000fe0a, 18032 }, /* ISO_Prev_Group */
+ { 0x0000fe0b, 18047 }, /* ISO_Prev_Group_Lock */
+ { 0x0000fe2b, 18067 }, /* ISO_Release_Both_Margins */
+ { 0x0000fe29, 18092 }, /* ISO_Release_Margin_Left */
+ { 0x0000fe2a, 18116 }, /* ISO_Release_Margin_Right */
+ { 0x0000fe27, 18141 }, /* ISO_Set_Margin_Left */
+ { 0x0000fe28, 18161 }, /* ISO_Set_Margin_Right */
+ { 0x000002a9, 17155 }, /* Iabovedot */
+ { 0x000000cd, 17165 }, /* Iacute */
+ { 0x01001eca, 17179 }, /* Ibelowdot */
+ { 0x0100012c, 17199 }, /* Ibreve */
+ { 0x000000ce, 17213 }, /* Icircumflex */
+ { 0x000000cf, 17247 }, /* Idiaeresis */
+ { 0x000000cc, 17287 }, /* Igrave */
+ { 0x01001ec8, 17301 }, /* Ihook */
+ { 0x000003cf, 17313 }, /* Imacron */
+ { 0x0000ff63, 17366 }, /* Insert */
+ { 0x1000ff72, 17373 }, /* InsertChar */
+ { 0x1000ff70, 17384 }, /* InsertLine */
+ { 0x000003c7, 17420 }, /* Iogonek */
+ { 0x000003a5, 18182 }, /* Itilde */
+ { 0x0000004a, 18196 }, /* J */
+ { 0x000002ac, 18200 }, /* Jcircumflex */
+ { 0x0000004b, 18228 }, /* K */
+ { 0x0000ffb0, 18890 }, /* KP_0 */
+ { 0x0000ffb1, 18895 }, /* KP_1 */
+ { 0x0000ffb2, 18900 }, /* KP_2 */
+ { 0x0000ffb3, 18905 }, /* KP_3 */
+ { 0x0000ffb4, 18910 }, /* KP_4 */
+ { 0x0000ffb5, 18915 }, /* KP_5 */
+ { 0x0000ffb6, 18920 }, /* KP_6 */
+ { 0x0000ffb7, 18925 }, /* KP_7 */
+ { 0x0000ffb8, 18930 }, /* KP_8 */
+ { 0x0000ffb9, 18935 }, /* KP_9 */
+ { 0x0000ffab, 18940 }, /* KP_Add */
+ { 0x1000ff75, 18947 }, /* KP_BackTab */
+ { 0x0000ff9d, 18958 }, /* KP_Begin */
+ { 0x0000ffae, 18967 }, /* KP_Decimal */
+ { 0x0000ff9f, 18978 }, /* KP_Delete */
+ { 0x0000ffaf, 18988 }, /* KP_Divide */
+ { 0x0000ff99, 18998 }, /* KP_Down */
+ { 0x0000ff9c, 19006 }, /* KP_End */
+ { 0x0000ff8d, 19013 }, /* KP_Enter */
+ { 0x0000ffbd, 19022 }, /* KP_Equal */
+ { 0x0000ff91, 19031 }, /* KP_F1 */
+ { 0x0000ff92, 19037 }, /* KP_F2 */
+ { 0x0000ff93, 19043 }, /* KP_F3 */
+ { 0x0000ff94, 19049 }, /* KP_F4 */
+ { 0x0000ff95, 19055 }, /* KP_Home */
+ { 0x0000ff9e, 19063 }, /* KP_Insert */
+ { 0x0000ff96, 19073 }, /* KP_Left */
+ { 0x0000ffaa, 19081 }, /* KP_Multiply */
+ { 0x0000ff9b, 19093 }, /* KP_Next */
+ { 0x0000ff9b, 19101 }, /* KP_Page_Down */
+ { 0x0000ff9a, 19114 }, /* KP_Page_Up */
+ { 0x0000ff9a, 19125 }, /* KP_Prior */
+ { 0x0000ff98, 19134 }, /* KP_Right */
+ { 0x0000ffac, 19143 }, /* KP_Separator */
+ { 0x0000ff80, 19156 }, /* KP_Space */
+ { 0x0000ffad, 19165 }, /* KP_Subtract */
+ { 0x0000ff89, 19177 }, /* KP_Tab */
+ { 0x0000ff97, 19184 }, /* KP_Up */
+ { 0x0000ff2d, 18433 }, /* Kana_Lock */
+ { 0x0000ff2e, 18644 }, /* Kana_Shift */
+ { 0x0000ff21, 18827 }, /* Kanji */
+ { 0x0000ff37, 18833 }, /* Kanji_Bangou */
+ { 0x0000ff26, 18852 }, /* Katakana */
+ { 0x000003d3, 18861 }, /* Kcedilla */
+ { 0x00000eff, 18879 }, /* Korean_Won */
+ { 0x0000004c, 19194 }, /* L */
+ { 0x0000ffc8, 19198 }, /* L1 */
+ { 0x0000ffd1, 19201 }, /* L10 */
+ { 0x0000ffc9, 19205 }, /* L2 */
+ { 0x0000ffca, 19208 }, /* L3 */
+ { 0x0000ffcb, 19211 }, /* L4 */
+ { 0x0000ffcc, 19214 }, /* L5 */
+ { 0x0000ffcd, 19217 }, /* L6 */
+ { 0x0000ffce, 19220 }, /* L7 */
+ { 0x0000ffcf, 19223 }, /* L8 */
+ { 0x0000ffd0, 19226 }, /* L9 */
+ { 0x000001c5, 19229 }, /* Lacute */
+ { 0x0000fed4, 19243 }, /* Last_Virtual_Screen */
+ { 0x01001e36, 19274 }, /* Lbelowdot */
+ { 0x000001a5, 19294 }, /* Lcaron */
+ { 0x000003a6, 19308 }, /* Lcedilla */
+ { 0x0000ff51, 19326 }, /* Left */
+ { 0x0000ff0a, 19516 }, /* Linefeed */
+ { 0x010020a4, 19530 }, /* LiraSign */
+ { 0x000001a3, 19599 }, /* Lstroke */
+ { 0x0000004d, 19615 }, /* M */
+ { 0x01001e40, 19619 }, /* Mabovedot */
+ { 0x000006b5, 19653 }, /* Macedonia_DSE */
+ { 0x000006b2, 19681 }, /* Macedonia_GJE */
+ { 0x000006bc, 19709 }, /* Macedonia_KJE */
+ { 0x000006a5, 19639 }, /* Macedonia_dse */
+ { 0x000006a2, 19667 }, /* Macedonia_gje */
+ { 0x000006ac, 19695 }, /* Macedonia_kje */
+ { 0x0000ff3e, 19730 }, /* Mae_Koho */
+ { 0x0000ff2c, 19780 }, /* Massyo */
+ { 0x0000ff67, 19787 }, /* Menu */
+ { 0x0000ffe7, 19792 }, /* Meta_L */
+ { 0x0000ffe8, 19799 }, /* Meta_R */
+ { 0x010020a5, 19806 }, /* MillSign */
+ { 0x0000ff7e, 19829 }, /* Mode_switch */
+ { 0x0000fe77, 19841 }, /* MouseKeys_Accel_Enable */
+ { 0x0000fe76, 19864 }, /* MouseKeys_Enable */
+ { 0x0000ff22, 19884 }, /* Muhenkan */
+ { 0x0000ff20, 19893 }, /* Multi_key */
+ { 0x0000ff3d, 19903 }, /* MultipleCandidate */
+ { 0x0000004e, 20025 }, /* N */
+ { 0x000001d1, 20035 }, /* Nacute */
+ { 0x010020a6, 20049 }, /* NairaSign */
+ { 0x000001d2, 20059 }, /* Ncaron */
+ { 0x000003d1, 20073 }, /* Ncedilla */
+ { 0x010020aa, 20091 }, /* NewSheqelSign */
+ { 0x0000ff56, 20105 }, /* Next */
+ { 0x0000fed2, 20110 }, /* Next_Virtual_Screen */
+ { 0x00000000, 20173 }, /* NoSymbol */
+ { 0x000000d1, 20237 }, /* Ntilde */
+ { 0x0000ff7f, 20251 }, /* Num_Lock */
+ { 0x0000004f, 20282 }, /* O */
+ { 0x000013bc, 20596 }, /* OE */
+ { 0x000000d3, 20286 }, /* Oacute */
+ { 0x0100019f, 20300 }, /* Obarred */
+ { 0x01001ecc, 20316 }, /* Obelowdot */
+ { 0x010001d1, 20336 }, /* Ocaron */
+ { 0x000000d4, 20350 }, /* Ocircumflex */
+ { 0x01001ed0, 20374 }, /* Ocircumflexacute */
+ { 0x01001ed8, 20408 }, /* Ocircumflexbelowdot */
+ { 0x01001ed2, 20448 }, /* Ocircumflexgrave */
+ { 0x01001ed4, 20482 }, /* Ocircumflexhook */
+ { 0x01001ed6, 20514 }, /* Ocircumflextilde */
+ { 0x000000d6, 20548 }, /* Odiaeresis */
+ { 0x000001d5, 20570 }, /* Odoubleacute */
+ { 0x000000d2, 20609 }, /* Ograve */
+ { 0x01001ece, 20623 }, /* Ohook */
+ { 0x010001a0, 20635 }, /* Ohorn */
+ { 0x01001eda, 20647 }, /* Ohornacute */
+ { 0x01001ee2, 20669 }, /* Ohornbelowdot */
+ { 0x01001edc, 20697 }, /* Ohorngrave */
+ { 0x01001ede, 20719 }, /* Ohornhook */
+ { 0x01001ee0, 20739 }, /* Ohorntilde */
+ { 0x000003d2, 20761 }, /* Omacron */
+ { 0x000000d8, 20858 }, /* Ooblique */
+ { 0x000000d8, 21378 }, /* Oslash */
+ { 0x000000d5, 21392 }, /* Otilde */
+ { 0x0000fe78, 21414 }, /* Overlay1_Enable */
+ { 0x0000fe79, 21430 }, /* Overlay2_Enable */
+ { 0x00000050, 21455 }, /* P */
+ { 0x01001e56, 21459 }, /* Pabovedot */
+ { 0x0000ff56, 21479 }, /* Page_Down */
+ { 0x0000ff55, 21489 }, /* Page_Up */
+ { 0x0000ff13, 21563 }, /* Pause */
+ { 0x010020a7, 21608 }, /* PesetaSign */
+ { 0x0000fefa, 21654 }, /* Pointer_Accelerate */
+ { 0x0000fee9, 21673 }, /* Pointer_Button1 */
+ { 0x0000feea, 21689 }, /* Pointer_Button2 */
+ { 0x0000feeb, 21705 }, /* Pointer_Button3 */
+ { 0x0000feec, 21721 }, /* Pointer_Button4 */
+ { 0x0000feed, 21737 }, /* Pointer_Button5 */
+ { 0x0000fee8, 21753 }, /* Pointer_Button_Dflt */
+ { 0x0000feef, 21773 }, /* Pointer_DblClick1 */
+ { 0x0000fef0, 21791 }, /* Pointer_DblClick2 */
+ { 0x0000fef1, 21809 }, /* Pointer_DblClick3 */
+ { 0x0000fef2, 21827 }, /* Pointer_DblClick4 */
+ { 0x0000fef3, 21845 }, /* Pointer_DblClick5 */
+ { 0x0000feee, 21863 }, /* Pointer_DblClick_Dflt */
+ { 0x0000fefb, 21885 }, /* Pointer_DfltBtnNext */
+ { 0x0000fefc, 21905 }, /* Pointer_DfltBtnPrev */
+ { 0x0000fee3, 21925 }, /* Pointer_Down */
+ { 0x0000fee6, 21938 }, /* Pointer_DownLeft */
+ { 0x0000fee7, 21955 }, /* Pointer_DownRight */
+ { 0x0000fef5, 21973 }, /* Pointer_Drag1 */
+ { 0x0000fef6, 21987 }, /* Pointer_Drag2 */
+ { 0x0000fef7, 22001 }, /* Pointer_Drag3 */
+ { 0x0000fef8, 22015 }, /* Pointer_Drag4 */
+ { 0x0000fefd, 22029 }, /* Pointer_Drag5 */
+ { 0x0000fef4, 22043 }, /* Pointer_Drag_Dflt */
+ { 0x0000fef9, 22061 }, /* Pointer_EnableKeys */
+ { 0x0000fee0, 22080 }, /* Pointer_Left */
+ { 0x0000fee1, 22093 }, /* Pointer_Right */
+ { 0x0000fee2, 22107 }, /* Pointer_Up */
+ { 0x0000fee4, 22118 }, /* Pointer_UpLeft */
+ { 0x0000fee5, 22133 }, /* Pointer_UpRight */
+ { 0x0000fed1, 22162 }, /* Prev_Virtual_Screen */
+ { 0x0000ff3e, 22182 }, /* PreviousCandidate */
+ { 0x0000ff61, 22200 }, /* Print */
+ { 0x0000ff55, 22206 }, /* Prior */
+ { 0x00000051, 22238 }, /* Q */
+ { 0x00000052, 22299 }, /* R */
+ { 0x0000ffd2, 22303 }, /* R1 */
+ { 0x0000ffdb, 22306 }, /* R10 */
+ { 0x0000ffdc, 22310 }, /* R11 */
+ { 0x0000ffdd, 22314 }, /* R12 */
+ { 0x0000ffde, 22318 }, /* R13 */
+ { 0x0000ffdf, 22322 }, /* R14 */
+ { 0x0000ffe0, 22326 }, /* R15 */
+ { 0x0000ffd3, 22330 }, /* R2 */
+ { 0x0000ffd4, 22333 }, /* R3 */
+ { 0x0000ffd5, 22336 }, /* R4 */
+ { 0x0000ffd6, 22339 }, /* R5 */
+ { 0x0000ffd7, 22342 }, /* R6 */
+ { 0x0000ffd8, 22345 }, /* R7 */
+ { 0x0000ffd9, 22348 }, /* R8 */
+ { 0x0000ffda, 22351 }, /* R9 */
+ { 0x000001c0, 22354 }, /* Racute */
+ { 0x000001d8, 22376 }, /* Rcaron */
+ { 0x000003a3, 22390 }, /* Rcedilla */
+ { 0x0000ff66, 22408 }, /* Redo */
+ { 0x0000fe72, 22424 }, /* RepeatKeys_Enable */
+ { 0x1000ff6c, 22442 }, /* Reset */
+ { 0x0000ff0d, 22448 }, /* Return */
+ { 0x0000ff53, 22455 }, /* Right */
+ { 0x0000ff24, 22644 }, /* Romaji */
+ { 0x010020a8, 22651 }, /* RupeeSign */
+ { 0x00000053, 22661 }, /* S */
+ { 0x0100018f, 22731 }, /* SCHWA */
+ { 0x01001e60, 22665 }, /* Sabovedot */
+ { 0x000001a6, 22685 }, /* Sacute */
+ { 0x000001a9, 22699 }, /* Scaron */
+ { 0x000001aa, 22713 }, /* Scedilla */
+ { 0x000002de, 22743 }, /* Scircumflex */
+ { 0x0000ff14, 22781 }, /* Scroll_Lock */
+ { 0x0000ff60, 22809 }, /* Select */
+ { 0x000006b1, 22854 }, /* Serbian_DJE */
+ { 0x000006bf, 22878 }, /* Serbian_DZE */
+ { 0x000006b8, 22901 }, /* Serbian_JE */
+ { 0x000006b9, 22924 }, /* Serbian_LJE */
+ { 0x000006ba, 22948 }, /* Serbian_NJE */
+ { 0x000006bb, 22973 }, /* Serbian_TSHE */
+ { 0x000006a1, 22842 }, /* Serbian_dje */
+ { 0x000006af, 22866 }, /* Serbian_dze */
+ { 0x000006a8, 22890 }, /* Serbian_je */
+ { 0x000006a9, 22912 }, /* Serbian_lje */
+ { 0x000006aa, 22936 }, /* Serbian_nje */
+ { 0x000006ab, 22960 }, /* Serbian_tshe */
+ { 0x0000ffe1, 23028 }, /* Shift_L */
+ { 0x0000ffe6, 23036 }, /* Shift_Lock */
+ { 0x0000ffe2, 23047 }, /* Shift_R */
+ { 0x0000ff3c, 23094 }, /* SingleCandidate */
+ { 0x01000d85, 23129 }, /* Sinh_a */
+ { 0x01000d86, 23136 }, /* Sinh_aa */
+ { 0x01000dcf, 23144 }, /* Sinh_aa2 */
+ { 0x01000d87, 23153 }, /* Sinh_ae */
+ { 0x01000dd0, 23161 }, /* Sinh_ae2 */
+ { 0x01000d88, 23170 }, /* Sinh_aee */
+ { 0x01000dd1, 23179 }, /* Sinh_aee2 */
+ { 0x01000d93, 23189 }, /* Sinh_ai */
+ { 0x01000ddb, 23197 }, /* Sinh_ai2 */
+ { 0x01000dca, 23206 }, /* Sinh_al */
+ { 0x01000d96, 23214 }, /* Sinh_au */
+ { 0x01000dde, 23222 }, /* Sinh_au2 */
+ { 0x01000db6, 23231 }, /* Sinh_ba */
+ { 0x01000db7, 23239 }, /* Sinh_bha */
+ { 0x01000da0, 23248 }, /* Sinh_ca */
+ { 0x01000da1, 23256 }, /* Sinh_cha */
+ { 0x01000da9, 23265 }, /* Sinh_dda */
+ { 0x01000daa, 23274 }, /* Sinh_ddha */
+ { 0x01000daf, 23284 }, /* Sinh_dha */
+ { 0x01000db0, 23293 }, /* Sinh_dhha */
+ { 0x01000d91, 23303 }, /* Sinh_e */
+ { 0x01000dd9, 23310 }, /* Sinh_e2 */
+ { 0x01000d92, 23318 }, /* Sinh_ee */
+ { 0x01000dda, 23326 }, /* Sinh_ee2 */
+ { 0x01000dc6, 23335 }, /* Sinh_fa */
+ { 0x01000d9c, 23343 }, /* Sinh_ga */
+ { 0x01000d9d, 23351 }, /* Sinh_gha */
+ { 0x01000d83, 23360 }, /* Sinh_h2 */
+ { 0x01000dc4, 23368 }, /* Sinh_ha */
+ { 0x01000d89, 23376 }, /* Sinh_i */
+ { 0x01000dd2, 23383 }, /* Sinh_i2 */
+ { 0x01000d8a, 23391 }, /* Sinh_ii */
+ { 0x01000dd3, 23399 }, /* Sinh_ii2 */
+ { 0x01000da2, 23408 }, /* Sinh_ja */
+ { 0x01000da3, 23416 }, /* Sinh_jha */
+ { 0x01000da5, 23425 }, /* Sinh_jnya */
+ { 0x01000d9a, 23435 }, /* Sinh_ka */
+ { 0x01000d9b, 23443 }, /* Sinh_kha */
+ { 0x01000df4, 23452 }, /* Sinh_kunddaliya */
+ { 0x01000dbd, 23468 }, /* Sinh_la */
+ { 0x01000dc5, 23476 }, /* Sinh_lla */
+ { 0x01000d8f, 23485 }, /* Sinh_lu */
+ { 0x01000ddf, 23493 }, /* Sinh_lu2 */
+ { 0x01000d90, 23502 }, /* Sinh_luu */
+ { 0x01000df3, 23511 }, /* Sinh_luu2 */
+ { 0x01000db8, 23521 }, /* Sinh_ma */
+ { 0x01000db9, 23529 }, /* Sinh_mba */
+ { 0x01000db1, 23538 }, /* Sinh_na */
+ { 0x01000dac, 23546 }, /* Sinh_ndda */
+ { 0x01000db3, 23556 }, /* Sinh_ndha */
+ { 0x01000d82, 23566 }, /* Sinh_ng */
+ { 0x01000d9e, 23574 }, /* Sinh_ng2 */
+ { 0x01000d9f, 23583 }, /* Sinh_nga */
+ { 0x01000da6, 23592 }, /* Sinh_nja */
+ { 0x01000dab, 23601 }, /* Sinh_nna */
+ { 0x01000da4, 23610 }, /* Sinh_nya */
+ { 0x01000d94, 23619 }, /* Sinh_o */
+ { 0x01000ddc, 23626 }, /* Sinh_o2 */
+ { 0x01000d95, 23634 }, /* Sinh_oo */
+ { 0x01000ddd, 23642 }, /* Sinh_oo2 */
+ { 0x01000db4, 23651 }, /* Sinh_pa */
+ { 0x01000db5, 23659 }, /* Sinh_pha */
+ { 0x01000dbb, 23668 }, /* Sinh_ra */
+ { 0x01000d8d, 23676 }, /* Sinh_ri */
+ { 0x01000d8e, 23684 }, /* Sinh_rii */
+ { 0x01000dd8, 23693 }, /* Sinh_ru2 */
+ { 0x01000df2, 23702 }, /* Sinh_ruu2 */
+ { 0x01000dc3, 23712 }, /* Sinh_sa */
+ { 0x01000dc1, 23720 }, /* Sinh_sha */
+ { 0x01000dc2, 23729 }, /* Sinh_ssha */
+ { 0x01000dad, 23739 }, /* Sinh_tha */
+ { 0x01000dae, 23748 }, /* Sinh_thha */
+ { 0x01000da7, 23758 }, /* Sinh_tta */
+ { 0x01000da8, 23767 }, /* Sinh_ttha */
+ { 0x01000d8b, 23777 }, /* Sinh_u */
+ { 0x01000dd4, 23784 }, /* Sinh_u2 */
+ { 0x01000d8c, 23792 }, /* Sinh_uu */
+ { 0x01000dd6, 23800 }, /* Sinh_uu2 */
+ { 0x01000dc0, 23809 }, /* Sinh_va */
+ { 0x01000dba, 23817 }, /* Sinh_ya */
+ { 0x0000fe73, 23856 }, /* SlowKeys_Enable */
+ { 0x0000fe75, 23918 }, /* StickyKeys_Enable */
+ { 0x0000ff66, 23945 }, /* SunAgain */
+ { 0x0000ff7e, 23954 }, /* SunAltGraph */
+ { 0x1005ff77, 23966 }, /* SunAudioLowerVolume */
+ { 0x1005ff78, 23986 }, /* SunAudioMute */
+ { 0x1005ff79, 23999 }, /* SunAudioRaiseVolume */
+ { 0x0000ff20, 24019 }, /* SunCompose */
+ { 0x1005ff72, 24030 }, /* SunCopy */
+ { 0x1005ff75, 24038 }, /* SunCut */
+ { 0x1005ff10, 24045 }, /* SunF36 */
+ { 0x1005ff11, 24052 }, /* SunF37 */
+ { 0x1005ff03, 24059 }, /* SunFA_Acute */
+ { 0x1005ff05, 24071 }, /* SunFA_Cedilla */
+ { 0x1005ff01, 24085 }, /* SunFA_Circum */
+ { 0x1005ff04, 24098 }, /* SunFA_Diaeresis */
+ { 0x1005ff00, 24114 }, /* SunFA_Grave */
+ { 0x1005ff02, 24126 }, /* SunFA_Tilde */
+ { 0x0000ff68, 24138 }, /* SunFind */
+ { 0x1005ff71, 24146 }, /* SunFront */
+ { 0x1005ff73, 24155 }, /* SunOpen */
+ { 0x0000ff56, 24163 }, /* SunPageDown */
+ { 0x0000ff55, 24175 }, /* SunPageUp */
+ { 0x1005ff74, 24185 }, /* SunPaste */
+ { 0x1005ff76, 24194 }, /* SunPowerSwitch */
+ { 0x1005ff7d, 24209 }, /* SunPowerSwitchShift */
+ { 0x0000ff61, 24229 }, /* SunPrint_Screen */
+ { 0x1005ff70, 24245 }, /* SunProps */
+ { 0x0000ff69, 24254 }, /* SunStop */
+ { 0x1005ff60, 24262 }, /* SunSys_Req */
+ { 0x0000ff65, 24273 }, /* SunUndo */
+ { 0x1005ff7a, 24281 }, /* SunVideoDegauss */
+ { 0x1005ff7b, 24297 }, /* SunVideoLowerBrightness */
+ { 0x1005ff7c, 24321 }, /* SunVideoRaiseBrightness */
+ { 0x0000ffeb, 24345 }, /* Super_L */
+ { 0x0000ffec, 24353 }, /* Super_R */
+ { 0x0000ff15, 24361 }, /* Sys_Req */
+ { 0x1000ff6d, 24369 }, /* System */
+ { 0x00000054, 24376 }, /* T */
+ { 0x000000de, 25581 }, /* THORN */
+ { 0x0000ff09, 24380 }, /* Tab */
+ { 0x01001e6a, 24384 }, /* Tabovedot */
+ { 0x000001ab, 24404 }, /* Tcaron */
+ { 0x000001de, 24418 }, /* Tcedilla */
+ { 0x0000fed5, 24464 }, /* Terminate_Server */
+ { 0x00000ddf, 24481 }, /* Thai_baht */
+ { 0x00000dba, 24491 }, /* Thai_bobaimai */
+ { 0x00000da8, 24505 }, /* Thai_chochan */
+ { 0x00000daa, 24518 }, /* Thai_chochang */
+ { 0x00000da9, 24532 }, /* Thai_choching */
+ { 0x00000dac, 24546 }, /* Thai_chochoe */
+ { 0x00000dae, 24559 }, /* Thai_dochada */
+ { 0x00000db4, 24572 }, /* Thai_dodek */
+ { 0x00000dbd, 24583 }, /* Thai_fofa */
+ { 0x00000dbf, 24593 }, /* Thai_fofan */
+ { 0x00000dcb, 24604 }, /* Thai_hohip */
+ { 0x00000dce, 24615 }, /* Thai_honokhuk */
+ { 0x00000da2, 24629 }, /* Thai_khokhai */
+ { 0x00000da5, 24642 }, /* Thai_khokhon */
+ { 0x00000da3, 24655 }, /* Thai_khokhuat */
+ { 0x00000da4, 24669 }, /* Thai_khokhwai */
+ { 0x00000da6, 24683 }, /* Thai_khorakhang */
+ { 0x00000da1, 24699 }, /* Thai_kokai */
+ { 0x00000de5, 24710 }, /* Thai_lakkhangyao */
+ { 0x00000df7, 24727 }, /* Thai_lekchet */
+ { 0x00000df5, 24740 }, /* Thai_lekha */
+ { 0x00000df6, 24751 }, /* Thai_lekhok */
+ { 0x00000df9, 24763 }, /* Thai_lekkao */
+ { 0x00000df1, 24775 }, /* Thai_leknung */
+ { 0x00000df8, 24788 }, /* Thai_lekpaet */
+ { 0x00000df3, 24801 }, /* Thai_leksam */
+ { 0x00000df4, 24813 }, /* Thai_leksi */
+ { 0x00000df2, 24824 }, /* Thai_leksong */
+ { 0x00000df0, 24837 }, /* Thai_leksun */
+ { 0x00000dcc, 24849 }, /* Thai_lochula */
+ { 0x00000dc5, 24862 }, /* Thai_loling */
+ { 0x00000dc6, 24874 }, /* Thai_lu */
+ { 0x00000deb, 24882 }, /* Thai_maichattawa */
+ { 0x00000de8, 24899 }, /* Thai_maiek */
+ { 0x00000dd1, 24910 }, /* Thai_maihanakat */
+ { 0x00000dde, 24926 }, /* Thai_maihanakat_maitho */
+ { 0x00000de7, 24949 }, /* Thai_maitaikhu */
+ { 0x00000de9, 24964 }, /* Thai_maitho */
+ { 0x00000dea, 24976 }, /* Thai_maitri */
+ { 0x00000de6, 24988 }, /* Thai_maiyamok */
+ { 0x00000dc1, 25002 }, /* Thai_moma */
+ { 0x00000da7, 25012 }, /* Thai_ngongu */
+ { 0x00000ded, 25024 }, /* Thai_nikhahit */
+ { 0x00000db3, 25038 }, /* Thai_nonen */
+ { 0x00000db9, 25049 }, /* Thai_nonu */
+ { 0x00000dcd, 25059 }, /* Thai_oang */
+ { 0x00000dcf, 25069 }, /* Thai_paiyannoi */
+ { 0x00000dda, 25084 }, /* Thai_phinthu */
+ { 0x00000dbe, 25097 }, /* Thai_phophan */
+ { 0x00000dbc, 25110 }, /* Thai_phophung */
+ { 0x00000dc0, 25124 }, /* Thai_phosamphao */
+ { 0x00000dbb, 25140 }, /* Thai_popla */
+ { 0x00000dc3, 25151 }, /* Thai_rorua */
+ { 0x00000dc4, 25162 }, /* Thai_ru */
+ { 0x00000dd0, 25170 }, /* Thai_saraa */
+ { 0x00000dd2, 25181 }, /* Thai_saraaa */
+ { 0x00000de1, 25193 }, /* Thai_saraae */
+ { 0x00000de4, 25205 }, /* Thai_saraaimaimalai */
+ { 0x00000de3, 25225 }, /* Thai_saraaimaimuan */
+ { 0x00000dd3, 25244 }, /* Thai_saraam */
+ { 0x00000de0, 25256 }, /* Thai_sarae */
+ { 0x00000dd4, 25267 }, /* Thai_sarai */
+ { 0x00000dd5, 25278 }, /* Thai_saraii */
+ { 0x00000de2, 25290 }, /* Thai_sarao */
+ { 0x00000dd8, 25301 }, /* Thai_sarau */
+ { 0x00000dd6, 25312 }, /* Thai_saraue */
+ { 0x00000dd7, 25324 }, /* Thai_sarauee */
+ { 0x00000dd9, 25337 }, /* Thai_sarauu */
+ { 0x00000dc9, 25349 }, /* Thai_sorusi */
+ { 0x00000dc8, 25361 }, /* Thai_sosala */
+ { 0x00000dab, 25373 }, /* Thai_soso */
+ { 0x00000dca, 25383 }, /* Thai_sosua */
+ { 0x00000dec, 25394 }, /* Thai_thanthakhat */
+ { 0x00000db1, 25411 }, /* Thai_thonangmontho */
+ { 0x00000db2, 25430 }, /* Thai_thophuthao */
+ { 0x00000db7, 25446 }, /* Thai_thothahan */
+ { 0x00000db0, 25461 }, /* Thai_thothan */
+ { 0x00000db8, 25474 }, /* Thai_thothong */
+ { 0x00000db6, 25488 }, /* Thai_thothung */
+ { 0x00000daf, 25502 }, /* Thai_topatak */
+ { 0x00000db5, 25515 }, /* Thai_totao */
+ { 0x00000dc7, 25526 }, /* Thai_wowaen */
+ { 0x00000dc2, 25538 }, /* Thai_yoyak */
+ { 0x00000dad, 25549 }, /* Thai_yoying */
+ { 0x000000de, 25587 }, /* Thorn */
+ { 0x0000ff2b, 25834 }, /* Touroku */
+ { 0x000003ac, 25870 }, /* Tslash */
+ { 0x00000055, 25929 }, /* U */
+ { 0x000000da, 25933 }, /* Uacute */
+ { 0x01001ee4, 25947 }, /* Ubelowdot */
+ { 0x000002dd, 25967 }, /* Ubreve */
+ { 0x000000db, 25981 }, /* Ucircumflex */
+ { 0x000000dc, 26005 }, /* Udiaeresis */
+ { 0x000001db, 26027 }, /* Udoubleacute */
+ { 0x000000d9, 26053 }, /* Ugrave */
+ { 0x01001ee6, 26067 }, /* Uhook */
+ { 0x010001af, 26079 }, /* Uhorn */
+ { 0x01001ee8, 26091 }, /* Uhornacute */
+ { 0x01001ef0, 26113 }, /* Uhornbelowdot */
+ { 0x01001eea, 26141 }, /* Uhorngrave */
+ { 0x01001eec, 26163 }, /* Uhornhook */
+ { 0x01001eee, 26183 }, /* Uhorntilde */
+ { 0x000006bd, 26231 }, /* Ukrainian_GHE_WITH_UPTURN */
+ { 0x000006b6, 26269 }, /* Ukrainian_I */
+ { 0x000006b4, 26294 }, /* Ukrainian_IE */
+ { 0x000006b7, 26320 }, /* Ukrainian_YI */
+ { 0x000006ad, 26205 }, /* Ukrainian_ghe_with_upturn */
+ { 0x000006a6, 26257 }, /* Ukrainian_i */
+ { 0x000006a4, 26281 }, /* Ukrainian_ie */
+ { 0x000006a7, 26307 }, /* Ukrainian_yi */
+ { 0x000006b6, 26344 }, /* Ukranian_I */
+ { 0x000006b4, 26367 }, /* Ukranian_JE */
+ { 0x000006b7, 26391 }, /* Ukranian_YI */
+ { 0x000006a6, 26333 }, /* Ukranian_i */
+ { 0x000006a4, 26355 }, /* Ukranian_je */
+ { 0x000006a7, 26379 }, /* Ukranian_yi */
+ { 0x000003de, 26403 }, /* Umacron */
+ { 0x0000ff65, 26439 }, /* Undo */
+ { 0x000003d9, 26450 }, /* Uogonek */
+ { 0x0000ff52, 26466 }, /* Up */
+ { 0x000001d9, 26534 }, /* Uring */
+ { 0x1000ff6e, 26546 }, /* User */
+ { 0x000003dd, 26551 }, /* Utilde */
+ { 0x00000056, 26565 }, /* V */
+ { 0x00ffffff, 26613 }, /* VoidSymbol */
+ { 0x00000057, 26627 }, /* W */
+ { 0x01001e82, 26631 }, /* Wacute */
+ { 0x01000174, 26645 }, /* Wcircumflex */
+ { 0x01001e84, 26669 }, /* Wdiaeresis */
+ { 0x01001e80, 26691 }, /* Wgrave */
+ { 0x010020a9, 26705 }, /* WonSign */
+ { 0x00000058, 26713 }, /* X */
+ { 0x100811b9, 26737 }, /* XF8610ChannelsDown */
+ { 0x100811b8, 26756 }, /* XF8610ChannelsUp */
+ { 0x1008126f, 26773 }, /* XF863DMode */
+ { 0x10081230, 26816 }, /* XF86ALSToggle */
+ { 0x1008ff39, 26784 }, /* XF86AddFavorite */
+ { 0x100811ad, 26800 }, /* XF86Addressbook */
+ { 0x10081244, 26871 }, /* XF86AppSelect */
+ { 0x1008ff50, 26830 }, /* XF86ApplicationLeft */
+ { 0x1008ff51, 26850 }, /* XF86ApplicationRight */
+ { 0x10081177, 26885 }, /* XF86AspectRatio */
+ { 0x10081247, 26901 }, /* XF86Assistant */
+ { 0x1008121c, 26915 }, /* XF86AttendantOff */
+ { 0x1008121b, 26932 }, /* XF86AttendantOn */
+ { 0x1008121d, 26948 }, /* XF86AttendantToggle */
+ { 0x10081188, 26968 }, /* XF86Audio */
+ { 0x1008ff9b, 26978 }, /* XF86AudioCycleTrack */
+ { 0x1008126e, 26998 }, /* XF86AudioDesc */
+ { 0x1008ff97, 27012 }, /* XF86AudioForward */
+ { 0x1008ff11, 27029 }, /* XF86AudioLowerVolume */
+ { 0x1008ff32, 27050 }, /* XF86AudioMedia */
+ { 0x1008ffb2, 27065 }, /* XF86AudioMicMute */
+ { 0x1008ff12, 27082 }, /* XF86AudioMute */
+ { 0x1008ff17, 27096 }, /* XF86AudioNext */
+ { 0x1008ff31, 27110 }, /* XF86AudioPause */
+ { 0x1008ff14, 27125 }, /* XF86AudioPlay */
+ { 0x1008ffb6, 27139 }, /* XF86AudioPreset */
+ { 0x1008ff16, 27155 }, /* XF86AudioPrev */
+ { 0x1008ff13, 27169 }, /* XF86AudioRaiseVolume */
+ { 0x1008ff99, 27190 }, /* XF86AudioRandomPlay */
+ { 0x1008ff1c, 27210 }, /* XF86AudioRecord */
+ { 0x1008ff98, 27226 }, /* XF86AudioRepeat */
+ { 0x1008ff3e, 27242 }, /* XF86AudioRewind */
+ { 0x1008ff15, 27258 }, /* XF86AudioStop */
+ { 0x1008ff8d, 27272 }, /* XF86Away */
+ { 0x1008ff26, 27281 }, /* XF86Back */
+ { 0x1008ff3f, 27290 }, /* XF86BackForward */
+ { 0x1008ff93, 27306 }, /* XF86Battery */
+ { 0x1008ffa6, 27318 }, /* XF86Blue */
+ { 0x1008ff94, 27327 }, /* XF86Bluetooth */
+ { 0x1008ff52, 27341 }, /* XF86Book */
+ { 0x1008119b, 27350 }, /* XF86Break */
+ { 0x1008ff3b, 27360 }, /* XF86BrightnessAdjust */
+ { 0x100810f4, 27381 }, /* XF86BrightnessAuto */
+ { 0x10081251, 27400 }, /* XF86BrightnessMax */
+ { 0x10081250, 27418 }, /* XF86BrightnessMin */
+ { 0x10081240, 27436 }, /* XF86Buttonconfig */
+ { 0x1008ff53, 27606 }, /* XF86CD */
+ { 0x1008ff54, 27453 }, /* XF86Calculater */
+ { 0x1008ff1d, 27468 }, /* XF86Calculator */
+ { 0x1008ff20, 27483 }, /* XF86Calendar */
+ { 0x10081218, 27496 }, /* XF86CameraDown */
+ { 0x10081210, 27511 }, /* XF86CameraFocus */
+ { 0x10081219, 27527 }, /* XF86CameraLeft */
+ { 0x1008121a, 27542 }, /* XF86CameraRight */
+ { 0x10081217, 27558 }, /* XF86CameraUp */
+ { 0x10081215, 27571 }, /* XF86CameraZoomIn */
+ { 0x10081216, 27588 }, /* XF86CameraZoomOut */
+ { 0x10081193, 27613 }, /* XF86ChannelDown */
+ { 0x10081192, 27629 }, /* XF86ChannelUp */
+ { 0x1008ff55, 27643 }, /* XF86Clear */
+ { 0x1008fe21, 27653 }, /* XF86ClearGrab */
+ { 0x1008ff56, 27667 }, /* XF86Close */
+ { 0x1008ff3d, 27677 }, /* XF86Community */
+ { 0x100811b6, 27691 }, /* XF86ContextMenu */
+ { 0x1008ff22, 27707 }, /* XF86ContrastAdjust */
+ { 0x10081243, 27726 }, /* XF86ControlPanel */
+ { 0x1008ff57, 27743 }, /* XF86Copy */
+ { 0x1008ff58, 27752 }, /* XF86Cut */
+ { 0x1008ff9c, 27760 }, /* XF86CycleAngle */
+ { 0x1008ff5a, 27856 }, /* XF86DOS */
+ { 0x10081185, 27864 }, /* XF86DVD */
+ { 0x10081277, 27775 }, /* XF86Data */
+ { 0x100811aa, 27784 }, /* XF86Database */
+ { 0x1008ff59, 27797 }, /* XF86Display */
+ { 0x100810f5, 27809 }, /* XF86DisplayOff */
+ { 0x100811af, 27824 }, /* XF86DisplayToggle */
+ { 0x1008ff5b, 27842 }, /* XF86Documents */
+ { 0x100811a6, 27872 }, /* XF86Editor */
+ { 0x1008ff2c, 27883 }, /* XF86Eject */
+ { 0x1008ff5c, 27893 }, /* XF86Excel */
+ { 0x1008ff5d, 27903 }, /* XF86Explorer */
+ { 0x10081275, 27916 }, /* XF86FastReverse */
+ { 0x1008ff30, 27932 }, /* XF86Favorites */
+ { 0x1008ff3c, 27946 }, /* XF86Finance */
+ { 0x100811d0, 27958 }, /* XF86Fn */
+ { 0x100811e5, 27976 }, /* XF86FnRightShift */
+ { 0x100811d1, 27965 }, /* XF86Fn_Esc */
+ { 0x1008ff27, 27993 }, /* XF86Forward */
+ { 0x1008ff9d, 28005 }, /* XF86FrameBack */
+ { 0x1008ff9e, 28019 }, /* XF86FrameForward */
+ { 0x1008ffb8, 28036 }, /* XF86FullScreen */
+ { 0x1008ff5e, 28051 }, /* XF86Game */
+ { 0x1008ff5f, 28060 }, /* XF86Go */
+ { 0x100811a8, 28067 }, /* XF86GraphicsEditor */
+ { 0x1008ffa4, 28086 }, /* XF86Green */
+ { 0x100811be, 28096 }, /* XF86HangupPhone */
+ { 0x1008ffa8, 28112 }, /* XF86Hibernate */
+ { 0x1008ff37, 28126 }, /* XF86History */
+ { 0x1008ff18, 28138 }, /* XF86HomePage */
+ { 0x1008ff3a, 28151 }, /* XF86HotLinks */
+ { 0x100811ba, 28164 }, /* XF86Images */
+ { 0x10081166, 28175 }, /* XF86Info */
+ { 0x10081242, 28195 }, /* XF86Journal */
+ { 0x1008ff06, 28207 }, /* XF86KbdBrightnessDown */
+ { 0x1008ff05, 28229 }, /* XF86KbdBrightnessUp */
+ { 0x10081264, 28249 }, /* XF86KbdInputAssistAccept */
+ { 0x10081265, 28274 }, /* XF86KbdInputAssistCancel */
+ { 0x10081261, 28299 }, /* XF86KbdInputAssistNext */
+ { 0x10081263, 28322 }, /* XF86KbdInputAssistNextgroup */
+ { 0x10081260, 28350 }, /* XF86KbdInputAssistPrev */
+ { 0x10081262, 28373 }, /* XF86KbdInputAssistPrevgroup */
+ { 0x100812b8, 28401 }, /* XF86KbdLcdMenu1 */
+ { 0x100812b9, 28417 }, /* XF86KbdLcdMenu2 */
+ { 0x100812ba, 28433 }, /* XF86KbdLcdMenu3 */
+ { 0x100812bb, 28449 }, /* XF86KbdLcdMenu4 */
+ { 0x100812bc, 28465 }, /* XF86KbdLcdMenu5 */
+ { 0x1008ff04, 28481 }, /* XF86KbdLightOnOff */
+ { 0x1008ffb3, 28499 }, /* XF86Keyboard */
+ { 0x1008ff40, 28512 }, /* XF86Launch0 */
+ { 0x1008ff41, 28524 }, /* XF86Launch1 */
+ { 0x1008ff42, 28536 }, /* XF86Launch2 */
+ { 0x1008ff43, 28548 }, /* XF86Launch3 */
+ { 0x1008ff44, 28560 }, /* XF86Launch4 */
+ { 0x1008ff45, 28572 }, /* XF86Launch5 */
+ { 0x1008ff46, 28584 }, /* XF86Launch6 */
+ { 0x1008ff47, 28596 }, /* XF86Launch7 */
+ { 0x1008ff48, 28608 }, /* XF86Launch8 */
+ { 0x1008ff49, 28620 }, /* XF86Launch9 */
+ { 0x1008ff4a, 28632 }, /* XF86LaunchA */
+ { 0x1008ff4b, 28644 }, /* XF86LaunchB */
+ { 0x1008ff4c, 28656 }, /* XF86LaunchC */
+ { 0x1008ff4d, 28668 }, /* XF86LaunchD */
+ { 0x1008ff4e, 28680 }, /* XF86LaunchE */
+ { 0x1008ff4f, 28692 }, /* XF86LaunchF */
+ { 0x10081269, 28704 }, /* XF86LeftDown */
+ { 0x10081268, 28717 }, /* XF86LeftUp */
+ { 0x1008ff35, 28728 }, /* XF86LightBulb */
+ { 0x1008121e, 28742 }, /* XF86LightsToggle */
+ { 0x1008fe25, 28759 }, /* XF86LogGrabInfo */
+ { 0x1008ff61, 28775 }, /* XF86LogOff */
+ { 0x1008fe24, 28786 }, /* XF86LogWindowTree */
+ { 0x10081290, 28804 }, /* XF86Macro1 */
+ { 0x10081299, 28815 }, /* XF86Macro10 */
+ { 0x1008129a, 28827 }, /* XF86Macro11 */
+ { 0x1008129b, 28839 }, /* XF86Macro12 */
+ { 0x1008129c, 28851 }, /* XF86Macro13 */
+ { 0x1008129d, 28863 }, /* XF86Macro14 */
+ { 0x1008129e, 28875 }, /* XF86Macro15 */
+ { 0x1008129f, 28887 }, /* XF86Macro16 */
+ { 0x100812a0, 28899 }, /* XF86Macro17 */
+ { 0x100812a1, 28911 }, /* XF86Macro18 */
+ { 0x100812a2, 28923 }, /* XF86Macro19 */
+ { 0x10081291, 28935 }, /* XF86Macro2 */
+ { 0x100812a3, 28946 }, /* XF86Macro20 */
+ { 0x100812a4, 28958 }, /* XF86Macro21 */
+ { 0x100812a5, 28970 }, /* XF86Macro22 */
+ { 0x100812a6, 28982 }, /* XF86Macro23 */
+ { 0x100812a7, 28994 }, /* XF86Macro24 */
+ { 0x100812a8, 29006 }, /* XF86Macro25 */
+ { 0x100812a9, 29018 }, /* XF86Macro26 */
+ { 0x100812aa, 29030 }, /* XF86Macro27 */
+ { 0x100812ab, 29042 }, /* XF86Macro28 */
+ { 0x100812ac, 29054 }, /* XF86Macro29 */
+ { 0x10081292, 29066 }, /* XF86Macro3 */
+ { 0x100812ad, 29077 }, /* XF86Macro30 */
+ { 0x10081293, 29089 }, /* XF86Macro4 */
+ { 0x10081294, 29100 }, /* XF86Macro5 */
+ { 0x10081295, 29111 }, /* XF86Macro6 */
+ { 0x10081296, 29122 }, /* XF86Macro7 */
+ { 0x10081297, 29133 }, /* XF86Macro8 */
+ { 0x10081298, 29144 }, /* XF86Macro9 */
+ { 0x100812b3, 29155 }, /* XF86MacroPreset1 */
+ { 0x100812b4, 29172 }, /* XF86MacroPreset2 */
+ { 0x100812b5, 29189 }, /* XF86MacroPreset3 */
+ { 0x100812b2, 29206 }, /* XF86MacroPresetCycle */
+ { 0x100812b0, 29227 }, /* XF86MacroRecordStart */
+ { 0x100812b1, 29248 }, /* XF86MacroRecordStop */
+ { 0x1008ff19, 29268 }, /* XF86Mail */
+ { 0x1008ff90, 29277 }, /* XF86MailForward */
+ { 0x1008ff62, 29293 }, /* XF86Market */
+ { 0x100811b7, 29304 }, /* XF86MediaRepeat */
+ { 0x1008126b, 29320 }, /* XF86MediaTopMenu */
+ { 0x1008ff63, 29337 }, /* XF86Meeting */
+ { 0x1008ff1e, 29349 }, /* XF86Memo */
+ { 0x1008ff65, 29358 }, /* XF86MenuKB */
+ { 0x1008ff66, 29369 }, /* XF86MenuPB */
+ { 0x1008ff8e, 29380 }, /* XF86Messenger */
+ { 0x1008ff01, 29394 }, /* XF86ModeLock */
+ { 0x1008ff07, 29407 }, /* XF86MonBrightnessCycle */
+ { 0x1008ff03, 29430 }, /* XF86MonBrightnessDown */
+ { 0x1008ff02, 29452 }, /* XF86MonBrightnessUp */
+ { 0x1008ff92, 29472 }, /* XF86Music */
+ { 0x1008ff33, 29482 }, /* XF86MyComputer */
+ { 0x1008ff67, 29497 }, /* XF86MySites */
+ { 0x1008ff68, 29509 }, /* XF86New */
+ { 0x1008ff69, 29517 }, /* XF86News */
+ { 0x10081270, 29541 }, /* XF86NextFavorite */
+ { 0x1008fe22, 29526 }, /* XF86Next_VMode */
+ { 0x100811bc, 29558 }, /* XF86NotificationCenter */
+ { 0x10081200, 29581 }, /* XF86Numeric0 */
+ { 0x10081201, 29594 }, /* XF86Numeric1 */
+ { 0x1008126c, 29607 }, /* XF86Numeric11 */
+ { 0x1008126d, 29621 }, /* XF86Numeric12 */
+ { 0x10081202, 29635 }, /* XF86Numeric2 */
+ { 0x10081203, 29648 }, /* XF86Numeric3 */
+ { 0x10081204, 29661 }, /* XF86Numeric4 */
+ { 0x10081205, 29674 }, /* XF86Numeric5 */
+ { 0x10081206, 29687 }, /* XF86Numeric6 */
+ { 0x10081207, 29700 }, /* XF86Numeric7 */
+ { 0x10081208, 29713 }, /* XF86Numeric8 */
+ { 0x10081209, 29726 }, /* XF86Numeric9 */
+ { 0x1008120c, 29739 }, /* XF86NumericA */
+ { 0x1008120d, 29752 }, /* XF86NumericB */
+ { 0x1008120e, 29765 }, /* XF86NumericC */
+ { 0x1008120f, 29778 }, /* XF86NumericD */
+ { 0x1008120b, 29791 }, /* XF86NumericPound */
+ { 0x1008120a, 29808 }, /* XF86NumericStar */
+ { 0x1008ff6a, 29824 }, /* XF86OfficeHome */
+ { 0x10081278, 29839 }, /* XF86OnScreenKeyboard */
+ { 0x1008ff6b, 29860 }, /* XF86Open */
+ { 0x1008ff38, 29869 }, /* XF86OpenURL */
+ { 0x1008ff6c, 29881 }, /* XF86Option */
+ { 0x1008ff6d, 29892 }, /* XF86Paste */
+ { 0x10081272, 29902 }, /* XF86PauseRecord */
+ { 0x1008ff6e, 29918 }, /* XF86Phone */
+ { 0x100811bd, 29928 }, /* XF86PickupPhone */
+ { 0x1008ff91, 29944 }, /* XF86Pictures */
+ { 0x1008ff21, 29957 }, /* XF86PowerDown */
+ { 0x1008ff2a, 29971 }, /* XF86PowerOff */
+ { 0x100811a9, 29984 }, /* XF86Presentation */
+ { 0x1008fe23, 30001 }, /* XF86Prev_VMode */
+ { 0x10081279, 30016 }, /* XF86PrivacyScreenToggle */
+ { 0x1008ff70, 30040 }, /* XF86Q */
+ { 0x1008ffb5, 30087 }, /* XF86RFKill */
+ { 0x1008ffa3, 30046 }, /* XF86Red */
+ { 0x1008ff29, 30054 }, /* XF86Refresh */
+ { 0x1008ff73, 30066 }, /* XF86Reload */
+ { 0x1008ff72, 30077 }, /* XF86Reply */
+ { 0x10081267, 30098 }, /* XF86RightDown */
+ { 0x10081266, 30112 }, /* XF86RightUp */
+ { 0x1008ff24, 30124 }, /* XF86RockerDown */
+ { 0x1008ff25, 30139 }, /* XF86RockerEnter */
+ { 0x1008ff23, 30155 }, /* XF86RockerUp */
+ { 0x1008126a, 30168 }, /* XF86RootMenu */
+ { 0x1008ff74, 30181 }, /* XF86RotateWindows */
+ { 0x1008ff76, 30199 }, /* XF86RotationKB */
+ { 0x1008ffb7, 30214 }, /* XF86RotationLockToggle */
+ { 0x1008ff75, 30237 }, /* XF86RotationPB */
+ { 0x1008ff77, 30252 }, /* XF86Save */
+ { 0x1008ff2d, 30261 }, /* XF86ScreenSaver */
+ { 0x10081245, 30277 }, /* XF86Screensaver */
+ { 0x1008ff7a, 30293 }, /* XF86ScrollClick */
+ { 0x1008ff79, 30309 }, /* XF86ScrollDown */
+ { 0x1008ff78, 30324 }, /* XF86ScrollUp */
+ { 0x1008ff1b, 30337 }, /* XF86Search */
+ { 0x1008ffa0, 30348 }, /* XF86Select */
+ { 0x1008127a, 30359 }, /* XF86SelectiveScreenshot */
+ { 0x1008ff7b, 30383 }, /* XF86Send */
+ { 0x1008ff36, 30392 }, /* XF86Shop */
+ { 0x1008ff2f, 30401 }, /* XF86Sleep */
+ { 0x10081276, 30411 }, /* XF86SlowReverse */
+ { 0x1008ff7c, 30427 }, /* XF86Spell */
+ { 0x100811b0, 30437 }, /* XF86SpellCheck */
+ { 0x1008ff7d, 30452 }, /* XF86SplitScreen */
+ { 0x1008ff10, 30468 }, /* XF86Standby */
+ { 0x1008ff1a, 30480 }, /* XF86Start */
+ { 0x1008ff28, 30490 }, /* XF86Stop */
+ { 0x10081271, 30499 }, /* XF86StopRecord */
+ { 0x1008ff9a, 30514 }, /* XF86Subtitle */
+ { 0x1008ff7e, 30527 }, /* XF86Support */
+ { 0x1008ffa7, 30539 }, /* XF86Suspend */
+ { 0x1008fe01, 30551 }, /* XF86Switch_VT_1 */
+ { 0x1008fe0a, 30567 }, /* XF86Switch_VT_10 */
+ { 0x1008fe0b, 30584 }, /* XF86Switch_VT_11 */
+ { 0x1008fe0c, 30601 }, /* XF86Switch_VT_12 */
+ { 0x1008fe02, 30618 }, /* XF86Switch_VT_2 */
+ { 0x1008fe03, 30634 }, /* XF86Switch_VT_3 */
+ { 0x1008fe04, 30650 }, /* XF86Switch_VT_4 */
+ { 0x1008fe05, 30666 }, /* XF86Switch_VT_5 */
+ { 0x1008fe06, 30682 }, /* XF86Switch_VT_6 */
+ { 0x1008fe07, 30698 }, /* XF86Switch_VT_7 */
+ { 0x1008fe08, 30714 }, /* XF86Switch_VT_8 */
+ { 0x1008fe09, 30730 }, /* XF86Switch_VT_9 */
+ { 0x1008ff7f, 30762 }, /* XF86TaskPane */
+ { 0x10081241, 30746 }, /* XF86Taskmanager */
+ { 0x1008ff80, 30775 }, /* XF86Terminal */
+ { 0x1008ff9f, 30788 }, /* XF86Time */
+ { 0x1008ff1f, 30797 }, /* XF86ToDoList */
+ { 0x1008ff81, 30810 }, /* XF86Tools */
+ { 0x1008ffa2, 30820 }, /* XF86TopMenu */
+ { 0x1008ffb1, 30832 }, /* XF86TouchpadOff */
+ { 0x1008ffb0, 30848 }, /* XF86TouchpadOn */
+ { 0x1008ffa9, 30863 }, /* XF86TouchpadToggle */
+ { 0x1008ff82, 30882 }, /* XF86Travel */
+ { 0x1008ff96, 30950 }, /* XF86UWB */
+ { 0x1008fe20, 30893 }, /* XF86Ungrab */
+ { 0x10081274, 30904 }, /* XF86Unmute */
+ { 0x1008ff85, 30915 }, /* XF86User1KB */
+ { 0x1008ff86, 30927 }, /* XF86User2KB */
+ { 0x1008ff84, 30939 }, /* XF86UserPB */
+ { 0x10081273, 31007 }, /* XF86VOD */
+ { 0x1008ff34, 30958 }, /* XF86VendorHome */
+ { 0x1008ff87, 30973 }, /* XF86Video */
+ { 0x100811a0, 30983 }, /* XF86VideoPhone */
+ { 0x1008ffa1, 30998 }, /* XF86View */
+ { 0x10081246, 31015 }, /* XF86VoiceCommand */
+ { 0x100811ac, 31032 }, /* XF86Voicemail */
+ { 0x1008ff95, 31084 }, /* XF86WLAN */
+ { 0x10081211, 31102 }, /* XF86WPSButton */
+ { 0x1008ffb4, 31116 }, /* XF86WWAN */
+ { 0x1008ff2e, 31125 }, /* XF86WWW */
+ { 0x1008ff2b, 31046 }, /* XF86WakeUp */
+ { 0x1008ff8f, 31057 }, /* XF86WebCam */
+ { 0x1008ff88, 31068 }, /* XF86WheelButton */
+ { 0x1008ff89, 31093 }, /* XF86Word */
+ { 0x1008ff8a, 31133 }, /* XF86Xfer */
+ { 0x1008ffa5, 31142 }, /* XF86Yellow */
+ { 0x1008ff8b, 31153 }, /* XF86ZoomIn */
+ { 0x1008ff8c, 31164 }, /* XF86ZoomOut */
+ { 0x100811a4, 31176 }, /* XF86ZoomReset */
+ { 0x1008ff60, 28184 }, /* XF86iTouch */
+ { 0x01001e8a, 26717 }, /* Xabovedot */
+ { 0x00000059, 31190 }, /* Y */
+ { 0x000000dd, 31194 }, /* Yacute */
+ { 0x01001ef4, 31208 }, /* Ybelowdot */
+ { 0x01000176, 31228 }, /* Ycircumflex */
+ { 0x000013be, 31263 }, /* Ydiaeresis */
+ { 0x01001ef2, 31278 }, /* Ygrave */
+ { 0x01001ef6, 31292 }, /* Yhook */
+ { 0x01001ef8, 31304 }, /* Ytilde */
+ { 0x0000005a, 31318 }, /* Z */
+ { 0x000001af, 31322 }, /* Zabovedot */
+ { 0x000001ac, 31342 }, /* Zacute */
+ { 0x000001ae, 31356 }, /* Zcaron */
+ { 0x0000ff3d, 31370 }, /* Zen_Koho */
+ { 0x0000ff28, 31379 }, /* Zenkaku */
+ { 0x0000ff2a, 31387 }, /* Zenkaku_Hankaku */
+ { 0x010001b5, 31430 }, /* Zstroke */
+ { 0x00000061, 400 }, /* a */
+ { 0x000000e1, 409 }, /* aacute */
+ { 0x01001ea1, 426 }, /* abelowdot */
+ { 0x000001ff, 436 }, /* abovedot */
+ { 0x000001e3, 452 }, /* abreve */
+ { 0x01001eaf, 471 }, /* abreveacute */
+ { 0x01001eb7, 498 }, /* abrevebelowdot */
+ { 0x01001eb1, 525 }, /* abrevegrave */
+ { 0x01001eb3, 548 }, /* abrevehook */
+ { 0x01001eb5, 571 }, /* abrevetilde */
+ { 0x000000e2, 634 }, /* acircumflex */
+ { 0x01001ea5, 663 }, /* acircumflexacute */
+ { 0x01001ead, 700 }, /* acircumflexbelowdot */
+ { 0x01001ea7, 737 }, /* acircumflexgrave */
+ { 0x01001ea9, 770 }, /* acircumflexhook */
+ { 0x01001eab, 803 }, /* acircumflextilde */
+ { 0x000000b4, 820 }, /* acute */
+ { 0x000000e4, 837 }, /* adiaeresis */
+ { 0x000000e6, 851 }, /* ae */
+ { 0x000000e0, 861 }, /* agrave */
+ { 0x01001ea3, 874 }, /* ahook */
+ { 0x000003e0, 900 }, /* amacron */
+ { 0x00000026, 908 }, /* ampersand */
+ { 0x000001b1, 926 }, /* aogonek */
+ { 0x00000027, 934 }, /* apostrophe */
+ { 0x01002248, 945 }, /* approxeq */
+ { 0x000008c8, 954 }, /* approximate */
+ { 0x000000e5, 2042 }, /* aring */
+ { 0x0000005e, 3260 }, /* asciicircum */
+ { 0x0000007e, 3272 }, /* asciitilde */
+ { 0x0000002a, 3283 }, /* asterisk */
+ { 0x00000040, 3292 }, /* at */
+ { 0x000000e3, 3302 }, /* atilde */
+ { 0x00000062, 3330 }, /* b */
+ { 0x01001e03, 3342 }, /* babovedot */
+ { 0x0000005c, 3352 }, /* backslash */
+ { 0x00000af4, 3380 }, /* ballotcross */
+ { 0x0000007c, 3392 }, /* bar */
+ { 0x01002235, 3396 }, /* because */
+ { 0x000009df, 3410 }, /* blank */
+ { 0x100000fc, 3416 }, /* block */
+ { 0x000008a5, 3422 }, /* botintegral */
+ { 0x000008ac, 3434 }, /* botleftparens */
+ { 0x000008a8, 3448 }, /* botleftsqbracket */
+ { 0x000008b2, 3465 }, /* botleftsummation */
+ { 0x000008ae, 3482 }, /* botrightparens */
+ { 0x000008aa, 3497 }, /* botrightsqbracket */
+ { 0x000008b6, 3515 }, /* botrightsummation */
+ { 0x000009f6, 3533 }, /* bott */
+ { 0x000008b4, 3538 }, /* botvertsummationconnector */
+ { 0x0000007b, 3582 }, /* braceleft */
+ { 0x0000007d, 3592 }, /* braceright */
+ { 0x0000005b, 3603 }, /* bracketleft */
+ { 0x0000005d, 3615 }, /* bracketright */
+ { 0x01002800, 3628 }, /* braille_blank */
+ { 0x0000fff1, 3642 }, /* braille_dot_1 */
+ { 0x0000fffa, 3656 }, /* braille_dot_10 */
+ { 0x0000fff2, 3671 }, /* braille_dot_2 */
+ { 0x0000fff3, 3685 }, /* braille_dot_3 */
+ { 0x0000fff4, 3699 }, /* braille_dot_4 */
+ { 0x0000fff5, 3713 }, /* braille_dot_5 */
+ { 0x0000fff6, 3727 }, /* braille_dot_6 */
+ { 0x0000fff7, 3741 }, /* braille_dot_7 */
+ { 0x0000fff8, 3755 }, /* braille_dot_8 */
+ { 0x0000fff9, 3769 }, /* braille_dot_9 */
+ { 0x01002801, 3783 }, /* braille_dots_1 */
+ { 0x01002803, 3798 }, /* braille_dots_12 */
+ { 0x01002807, 3814 }, /* braille_dots_123 */
+ { 0x0100280f, 3831 }, /* braille_dots_1234 */
+ { 0x0100281f, 3849 }, /* braille_dots_12345 */
+ { 0x0100283f, 3868 }, /* braille_dots_123456 */
+ { 0x0100287f, 3888 }, /* braille_dots_1234567 */
+ { 0x010028ff, 3909 }, /* braille_dots_12345678 */
+ { 0x010028bf, 3931 }, /* braille_dots_1234568 */
+ { 0x0100285f, 3952 }, /* braille_dots_123457 */
+ { 0x010028df, 3972 }, /* braille_dots_1234578 */
+ { 0x0100289f, 3993 }, /* braille_dots_123458 */
+ { 0x0100282f, 4013 }, /* braille_dots_12346 */
+ { 0x0100286f, 4032 }, /* braille_dots_123467 */
+ { 0x010028ef, 4052 }, /* braille_dots_1234678 */
+ { 0x010028af, 4073 }, /* braille_dots_123468 */
+ { 0x0100284f, 4093 }, /* braille_dots_12347 */
+ { 0x010028cf, 4112 }, /* braille_dots_123478 */
+ { 0x0100288f, 4132 }, /* braille_dots_12348 */
+ { 0x01002817, 4151 }, /* braille_dots_1235 */
+ { 0x01002837, 4169 }, /* braille_dots_12356 */
+ { 0x01002877, 4188 }, /* braille_dots_123567 */
+ { 0x010028f7, 4208 }, /* braille_dots_1235678 */
+ { 0x010028b7, 4229 }, /* braille_dots_123568 */
+ { 0x01002857, 4249 }, /* braille_dots_12357 */
+ { 0x010028d7, 4268 }, /* braille_dots_123578 */
+ { 0x01002897, 4288 }, /* braille_dots_12358 */
+ { 0x01002827, 4307 }, /* braille_dots_1236 */
+ { 0x01002867, 4325 }, /* braille_dots_12367 */
+ { 0x010028e7, 4344 }, /* braille_dots_123678 */
+ { 0x010028a7, 4364 }, /* braille_dots_12368 */
+ { 0x01002847, 4383 }, /* braille_dots_1237 */
+ { 0x010028c7, 4401 }, /* braille_dots_12378 */
+ { 0x01002887, 4420 }, /* braille_dots_1238 */
+ { 0x0100280b, 4438 }, /* braille_dots_124 */
+ { 0x0100281b, 4455 }, /* braille_dots_1245 */
+ { 0x0100283b, 4473 }, /* braille_dots_12456 */
+ { 0x0100287b, 4492 }, /* braille_dots_124567 */
+ { 0x010028fb, 4512 }, /* braille_dots_1245678 */
+ { 0x010028bb, 4533 }, /* braille_dots_124568 */
+ { 0x0100285b, 4553 }, /* braille_dots_12457 */
+ { 0x010028db, 4572 }, /* braille_dots_124578 */
+ { 0x0100289b, 4592 }, /* braille_dots_12458 */
+ { 0x0100282b, 4611 }, /* braille_dots_1246 */
+ { 0x0100286b, 4629 }, /* braille_dots_12467 */
+ { 0x010028eb, 4648 }, /* braille_dots_124678 */
+ { 0x010028ab, 4668 }, /* braille_dots_12468 */
+ { 0x0100284b, 4687 }, /* braille_dots_1247 */
+ { 0x010028cb, 4705 }, /* braille_dots_12478 */
+ { 0x0100288b, 4724 }, /* braille_dots_1248 */
+ { 0x01002813, 4742 }, /* braille_dots_125 */
+ { 0x01002833, 4759 }, /* braille_dots_1256 */
+ { 0x01002873, 4777 }, /* braille_dots_12567 */
+ { 0x010028f3, 4796 }, /* braille_dots_125678 */
+ { 0x010028b3, 4816 }, /* braille_dots_12568 */
+ { 0x01002853, 4835 }, /* braille_dots_1257 */
+ { 0x010028d3, 4853 }, /* braille_dots_12578 */
+ { 0x01002893, 4872 }, /* braille_dots_1258 */
+ { 0x01002823, 4890 }, /* braille_dots_126 */
+ { 0x01002863, 4907 }, /* braille_dots_1267 */
+ { 0x010028e3, 4925 }, /* braille_dots_12678 */
+ { 0x010028a3, 4944 }, /* braille_dots_1268 */
+ { 0x01002843, 4962 }, /* braille_dots_127 */
+ { 0x010028c3, 4979 }, /* braille_dots_1278 */
+ { 0x01002883, 4997 }, /* braille_dots_128 */
+ { 0x01002805, 5014 }, /* braille_dots_13 */
+ { 0x0100280d, 5030 }, /* braille_dots_134 */
+ { 0x0100281d, 5047 }, /* braille_dots_1345 */
+ { 0x0100283d, 5065 }, /* braille_dots_13456 */
+ { 0x0100287d, 5084 }, /* braille_dots_134567 */
+ { 0x010028fd, 5104 }, /* braille_dots_1345678 */
+ { 0x010028bd, 5125 }, /* braille_dots_134568 */
+ { 0x0100285d, 5145 }, /* braille_dots_13457 */
+ { 0x010028dd, 5164 }, /* braille_dots_134578 */
+ { 0x0100289d, 5184 }, /* braille_dots_13458 */
+ { 0x0100282d, 5203 }, /* braille_dots_1346 */
+ { 0x0100286d, 5221 }, /* braille_dots_13467 */
+ { 0x010028ed, 5240 }, /* braille_dots_134678 */
+ { 0x010028ad, 5260 }, /* braille_dots_13468 */
+ { 0x0100284d, 5279 }, /* braille_dots_1347 */
+ { 0x010028cd, 5297 }, /* braille_dots_13478 */
+ { 0x0100288d, 5316 }, /* braille_dots_1348 */
+ { 0x01002815, 5334 }, /* braille_dots_135 */
+ { 0x01002835, 5351 }, /* braille_dots_1356 */
+ { 0x01002875, 5369 }, /* braille_dots_13567 */
+ { 0x010028f5, 5388 }, /* braille_dots_135678 */
+ { 0x010028b5, 5408 }, /* braille_dots_13568 */
+ { 0x01002855, 5427 }, /* braille_dots_1357 */
+ { 0x010028d5, 5445 }, /* braille_dots_13578 */
+ { 0x01002895, 5464 }, /* braille_dots_1358 */
+ { 0x01002825, 5482 }, /* braille_dots_136 */
+ { 0x01002865, 5499 }, /* braille_dots_1367 */
+ { 0x010028e5, 5517 }, /* braille_dots_13678 */
+ { 0x010028a5, 5536 }, /* braille_dots_1368 */
+ { 0x01002845, 5554 }, /* braille_dots_137 */
+ { 0x010028c5, 5571 }, /* braille_dots_1378 */
+ { 0x01002885, 5589 }, /* braille_dots_138 */
+ { 0x01002809, 5606 }, /* braille_dots_14 */
+ { 0x01002819, 5622 }, /* braille_dots_145 */
+ { 0x01002839, 5639 }, /* braille_dots_1456 */
+ { 0x01002879, 5657 }, /* braille_dots_14567 */
+ { 0x010028f9, 5676 }, /* braille_dots_145678 */
+ { 0x010028b9, 5696 }, /* braille_dots_14568 */
+ { 0x01002859, 5715 }, /* braille_dots_1457 */
+ { 0x010028d9, 5733 }, /* braille_dots_14578 */
+ { 0x01002899, 5752 }, /* braille_dots_1458 */
+ { 0x01002829, 5770 }, /* braille_dots_146 */
+ { 0x01002869, 5787 }, /* braille_dots_1467 */
+ { 0x010028e9, 5805 }, /* braille_dots_14678 */
+ { 0x010028a9, 5824 }, /* braille_dots_1468 */
+ { 0x01002849, 5842 }, /* braille_dots_147 */
+ { 0x010028c9, 5859 }, /* braille_dots_1478 */
+ { 0x01002889, 5877 }, /* braille_dots_148 */
+ { 0x01002811, 5894 }, /* braille_dots_15 */
+ { 0x01002831, 5910 }, /* braille_dots_156 */
+ { 0x01002871, 5927 }, /* braille_dots_1567 */
+ { 0x010028f1, 5945 }, /* braille_dots_15678 */
+ { 0x010028b1, 5964 }, /* braille_dots_1568 */
+ { 0x01002851, 5982 }, /* braille_dots_157 */
+ { 0x010028d1, 5999 }, /* braille_dots_1578 */
+ { 0x01002891, 6017 }, /* braille_dots_158 */
+ { 0x01002821, 6034 }, /* braille_dots_16 */
+ { 0x01002861, 6050 }, /* braille_dots_167 */
+ { 0x010028e1, 6067 }, /* braille_dots_1678 */
+ { 0x010028a1, 6085 }, /* braille_dots_168 */
+ { 0x01002841, 6102 }, /* braille_dots_17 */
+ { 0x010028c1, 6118 }, /* braille_dots_178 */
+ { 0x01002881, 6135 }, /* braille_dots_18 */
+ { 0x01002802, 6151 }, /* braille_dots_2 */
+ { 0x01002806, 6166 }, /* braille_dots_23 */
+ { 0x0100280e, 6182 }, /* braille_dots_234 */
+ { 0x0100281e, 6199 }, /* braille_dots_2345 */
+ { 0x0100283e, 6217 }, /* braille_dots_23456 */
+ { 0x0100287e, 6236 }, /* braille_dots_234567 */
+ { 0x010028fe, 6256 }, /* braille_dots_2345678 */
+ { 0x010028be, 6277 }, /* braille_dots_234568 */
+ { 0x0100285e, 6297 }, /* braille_dots_23457 */
+ { 0x010028de, 6316 }, /* braille_dots_234578 */
+ { 0x0100289e, 6336 }, /* braille_dots_23458 */
+ { 0x0100282e, 6355 }, /* braille_dots_2346 */
+ { 0x0100286e, 6373 }, /* braille_dots_23467 */
+ { 0x010028ee, 6392 }, /* braille_dots_234678 */
+ { 0x010028ae, 6412 }, /* braille_dots_23468 */
+ { 0x0100284e, 6431 }, /* braille_dots_2347 */
+ { 0x010028ce, 6449 }, /* braille_dots_23478 */
+ { 0x0100288e, 6468 }, /* braille_dots_2348 */
+ { 0x01002816, 6486 }, /* braille_dots_235 */
+ { 0x01002836, 6503 }, /* braille_dots_2356 */
+ { 0x01002876, 6521 }, /* braille_dots_23567 */
+ { 0x010028f6, 6540 }, /* braille_dots_235678 */
+ { 0x010028b6, 6560 }, /* braille_dots_23568 */
+ { 0x01002856, 6579 }, /* braille_dots_2357 */
+ { 0x010028d6, 6597 }, /* braille_dots_23578 */
+ { 0x01002896, 6616 }, /* braille_dots_2358 */
+ { 0x01002826, 6634 }, /* braille_dots_236 */
+ { 0x01002866, 6651 }, /* braille_dots_2367 */
+ { 0x010028e6, 6669 }, /* braille_dots_23678 */
+ { 0x010028a6, 6688 }, /* braille_dots_2368 */
+ { 0x01002846, 6706 }, /* braille_dots_237 */
+ { 0x010028c6, 6723 }, /* braille_dots_2378 */
+ { 0x01002886, 6741 }, /* braille_dots_238 */
+ { 0x0100280a, 6758 }, /* braille_dots_24 */
+ { 0x0100281a, 6774 }, /* braille_dots_245 */
+ { 0x0100283a, 6791 }, /* braille_dots_2456 */
+ { 0x0100287a, 6809 }, /* braille_dots_24567 */
+ { 0x010028fa, 6828 }, /* braille_dots_245678 */
+ { 0x010028ba, 6848 }, /* braille_dots_24568 */
+ { 0x0100285a, 6867 }, /* braille_dots_2457 */
+ { 0x010028da, 6885 }, /* braille_dots_24578 */
+ { 0x0100289a, 6904 }, /* braille_dots_2458 */
+ { 0x0100282a, 6922 }, /* braille_dots_246 */
+ { 0x0100286a, 6939 }, /* braille_dots_2467 */
+ { 0x010028ea, 6957 }, /* braille_dots_24678 */
+ { 0x010028aa, 6976 }, /* braille_dots_2468 */
+ { 0x0100284a, 6994 }, /* braille_dots_247 */
+ { 0x010028ca, 7011 }, /* braille_dots_2478 */
+ { 0x0100288a, 7029 }, /* braille_dots_248 */
+ { 0x01002812, 7046 }, /* braille_dots_25 */
+ { 0x01002832, 7062 }, /* braille_dots_256 */
+ { 0x01002872, 7079 }, /* braille_dots_2567 */
+ { 0x010028f2, 7097 }, /* braille_dots_25678 */
+ { 0x010028b2, 7116 }, /* braille_dots_2568 */
+ { 0x01002852, 7134 }, /* braille_dots_257 */
+ { 0x010028d2, 7151 }, /* braille_dots_2578 */
+ { 0x01002892, 7169 }, /* braille_dots_258 */
+ { 0x01002822, 7186 }, /* braille_dots_26 */
+ { 0x01002862, 7202 }, /* braille_dots_267 */
+ { 0x010028e2, 7219 }, /* braille_dots_2678 */
+ { 0x010028a2, 7237 }, /* braille_dots_268 */
+ { 0x01002842, 7254 }, /* braille_dots_27 */
+ { 0x010028c2, 7270 }, /* braille_dots_278 */
+ { 0x01002882, 7287 }, /* braille_dots_28 */
+ { 0x01002804, 7303 }, /* braille_dots_3 */
+ { 0x0100280c, 7318 }, /* braille_dots_34 */
+ { 0x0100281c, 7334 }, /* braille_dots_345 */
+ { 0x0100283c, 7351 }, /* braille_dots_3456 */
+ { 0x0100287c, 7369 }, /* braille_dots_34567 */
+ { 0x010028fc, 7388 }, /* braille_dots_345678 */
+ { 0x010028bc, 7408 }, /* braille_dots_34568 */
+ { 0x0100285c, 7427 }, /* braille_dots_3457 */
+ { 0x010028dc, 7445 }, /* braille_dots_34578 */
+ { 0x0100289c, 7464 }, /* braille_dots_3458 */
+ { 0x0100282c, 7482 }, /* braille_dots_346 */
+ { 0x0100286c, 7499 }, /* braille_dots_3467 */
+ { 0x010028ec, 7517 }, /* braille_dots_34678 */
+ { 0x010028ac, 7536 }, /* braille_dots_3468 */
+ { 0x0100284c, 7554 }, /* braille_dots_347 */
+ { 0x010028cc, 7571 }, /* braille_dots_3478 */
+ { 0x0100288c, 7589 }, /* braille_dots_348 */
+ { 0x01002814, 7606 }, /* braille_dots_35 */
+ { 0x01002834, 7622 }, /* braille_dots_356 */
+ { 0x01002874, 7639 }, /* braille_dots_3567 */
+ { 0x010028f4, 7657 }, /* braille_dots_35678 */
+ { 0x010028b4, 7676 }, /* braille_dots_3568 */
+ { 0x01002854, 7694 }, /* braille_dots_357 */
+ { 0x010028d4, 7711 }, /* braille_dots_3578 */
+ { 0x01002894, 7729 }, /* braille_dots_358 */
+ { 0x01002824, 7746 }, /* braille_dots_36 */
+ { 0x01002864, 7762 }, /* braille_dots_367 */
+ { 0x010028e4, 7779 }, /* braille_dots_3678 */
+ { 0x010028a4, 7797 }, /* braille_dots_368 */
+ { 0x01002844, 7814 }, /* braille_dots_37 */
+ { 0x010028c4, 7830 }, /* braille_dots_378 */
+ { 0x01002884, 7847 }, /* braille_dots_38 */
+ { 0x01002808, 7863 }, /* braille_dots_4 */
+ { 0x01002818, 7878 }, /* braille_dots_45 */
+ { 0x01002838, 7894 }, /* braille_dots_456 */
+ { 0x01002878, 7911 }, /* braille_dots_4567 */
+ { 0x010028f8, 7929 }, /* braille_dots_45678 */
+ { 0x010028b8, 7948 }, /* braille_dots_4568 */
+ { 0x01002858, 7966 }, /* braille_dots_457 */
+ { 0x010028d8, 7983 }, /* braille_dots_4578 */
+ { 0x01002898, 8001 }, /* braille_dots_458 */
+ { 0x01002828, 8018 }, /* braille_dots_46 */
+ { 0x01002868, 8034 }, /* braille_dots_467 */
+ { 0x010028e8, 8051 }, /* braille_dots_4678 */
+ { 0x010028a8, 8069 }, /* braille_dots_468 */
+ { 0x01002848, 8086 }, /* braille_dots_47 */
+ { 0x010028c8, 8102 }, /* braille_dots_478 */
+ { 0x01002888, 8119 }, /* braille_dots_48 */
+ { 0x01002810, 8135 }, /* braille_dots_5 */
+ { 0x01002830, 8150 }, /* braille_dots_56 */
+ { 0x01002870, 8166 }, /* braille_dots_567 */
+ { 0x010028f0, 8183 }, /* braille_dots_5678 */
+ { 0x010028b0, 8201 }, /* braille_dots_568 */
+ { 0x01002850, 8218 }, /* braille_dots_57 */
+ { 0x010028d0, 8234 }, /* braille_dots_578 */
+ { 0x01002890, 8251 }, /* braille_dots_58 */
+ { 0x01002820, 8267 }, /* braille_dots_6 */
+ { 0x01002860, 8282 }, /* braille_dots_67 */
+ { 0x010028e0, 8298 }, /* braille_dots_678 */
+ { 0x010028a0, 8315 }, /* braille_dots_68 */
+ { 0x01002840, 8331 }, /* braille_dots_7 */
+ { 0x010028c0, 8346 }, /* braille_dots_78 */
+ { 0x01002880, 8362 }, /* braille_dots_8 */
+ { 0x000001a2, 8383 }, /* breve */
+ { 0x000000a6, 8389 }, /* brokenbar */
+ { 0x00000063, 8441 }, /* c */
+ { 0x0000fea3, 8443 }, /* c_h */
+ { 0x000002e5, 8465 }, /* cabovedot */
+ { 0x000001e6, 8482 }, /* cacute */
+ { 0x00000ab8, 8506 }, /* careof */
+ { 0x00000afc, 8513 }, /* caret */
+ { 0x000001b7, 8519 }, /* caron */
+ { 0x000001e8, 8532 }, /* ccaron */
+ { 0x000000e7, 8548 }, /* ccedilla */
+ { 0x000002e6, 8569 }, /* ccircumflex */
+ { 0x000000b8, 8581 }, /* cedilla */
+ { 0x000000a2, 8589 }, /* cent */
+ { 0x0000fea0, 8594 }, /* ch */
+ { 0x000009e1, 8603 }, /* checkerboard */
+ { 0x00000af3, 8616 }, /* checkmark */
+ { 0x00000bcf, 8626 }, /* circle */
+ { 0x00000aec, 8649 }, /* club */
+ { 0x0000003a, 8664 }, /* colon */
+ { 0x01000301, 8680 }, /* combining_acute */
+ { 0x01000323, 8696 }, /* combining_belowdot */
+ { 0x01000300, 8715 }, /* combining_grave */
+ { 0x01000309, 8731 }, /* combining_hook */
+ { 0x01000303, 8746 }, /* combining_tilde */
+ { 0x0000002c, 8762 }, /* comma */
+ { 0x0100220b, 8768 }, /* containsas */
+ { 0x000000a9, 8799 }, /* copyright */
+ { 0x000009e4, 8809 }, /* cr */
+ { 0x000009ee, 8812 }, /* crossinglines */
+ { 0x0100221b, 8839 }, /* cuberoot */
+ { 0x000000a4, 8848 }, /* currency */
+ { 0x00000aff, 8857 }, /* cursor */
+ { 0x00000064, 10404 }, /* d */
+ { 0x01001e0b, 10416 }, /* dabovedot */
+ { 0x00000af1, 10440 }, /* dagger */
+ { 0x000001ef, 10454 }, /* dcaron */
+ { 0x0000fe81, 10514 }, /* dead_A */
+ { 0x0000fe83, 10933 }, /* dead_E */
+ { 0x0000fe85, 10989 }, /* dead_I */
+ { 0x0000fe87, 11081 }, /* dead_O */
+ { 0x0000fe89, 11197 }, /* dead_U */
+ { 0x0000fe80, 10507 }, /* dead_a */
+ { 0x0000fe64, 10521 }, /* dead_abovecomma */
+ { 0x0000fe56, 10537 }, /* dead_abovedot */
+ { 0x0000fe65, 10551 }, /* dead_abovereversedcomma */
+ { 0x0000fe58, 10575 }, /* dead_abovering */
+ { 0x0000fe91, 10590 }, /* dead_aboveverticalline */
+ { 0x0000fe51, 10613 }, /* dead_acute */
+ { 0x0000fe6b, 10624 }, /* dead_belowbreve */
+ { 0x0000fe69, 10640 }, /* dead_belowcircumflex */
+ { 0x0000fe6e, 10661 }, /* dead_belowcomma */
+ { 0x0000fe6c, 10677 }, /* dead_belowdiaeresis */
+ { 0x0000fe60, 10697 }, /* dead_belowdot */
+ { 0x0000fe68, 10711 }, /* dead_belowmacron */
+ { 0x0000fe67, 10728 }, /* dead_belowring */
+ { 0x0000fe6a, 10743 }, /* dead_belowtilde */
+ { 0x0000fe92, 10759 }, /* dead_belowverticalline */
+ { 0x0000fe55, 10782 }, /* dead_breve */
+ { 0x0000fe8b, 10793 }, /* dead_capital_schwa */
+ { 0x0000fe5a, 10812 }, /* dead_caron */
+ { 0x0000fe5b, 10823 }, /* dead_cedilla */
+ { 0x0000fe52, 10836 }, /* dead_circumflex */
+ { 0x0000fe6f, 10852 }, /* dead_currency */
+ { 0x0000fe65, 10866 }, /* dead_dasia */
+ { 0x0000fe57, 10877 }, /* dead_diaeresis */
+ { 0x0000fe59, 10892 }, /* dead_doubleacute */
+ { 0x0000fe66, 10909 }, /* dead_doublegrave */
+ { 0x0000fe82, 10926 }, /* dead_e */
+ { 0x0000fe50, 10940 }, /* dead_grave */
+ { 0x0000fe8c, 10951 }, /* dead_greek */
+ { 0x0000fe61, 10962 }, /* dead_hook */
+ { 0x0000fe62, 10972 }, /* dead_horn */
+ { 0x0000fe84, 10982 }, /* dead_i */
+ { 0x0000fe6d, 10996 }, /* dead_invertedbreve */
+ { 0x0000fe5d, 11015 }, /* dead_iota */
+ { 0x0000fe93, 11025 }, /* dead_longsolidusoverlay */
+ { 0x0000fe90, 11049 }, /* dead_lowline */
+ { 0x0000fe54, 11062 }, /* dead_macron */
+ { 0x0000fe86, 11074 }, /* dead_o */
+ { 0x0000fe5c, 11088 }, /* dead_ogonek */
+ { 0x0000fe53, 11100 }, /* dead_perispomeni */
+ { 0x0000fe64, 11117 }, /* dead_psili */
+ { 0x0000fe5f, 11128 }, /* dead_semivoiced_sound */
+ { 0x0000fe8a, 11150 }, /* dead_small_schwa */
+ { 0x0000fe63, 11167 }, /* dead_stroke */
+ { 0x0000fe53, 11179 }, /* dead_tilde */
+ { 0x0000fe88, 11190 }, /* dead_u */
+ { 0x0000fe5e, 11204 }, /* dead_voiced_sound */
+ { 0x00000abd, 11222 }, /* decimalpoint */
+ { 0x000000b0, 11235 }, /* degree */
+ { 0x000000a8, 11285 }, /* diaeresis */
+ { 0x00000aed, 11295 }, /* diamond */
+ { 0x00000aa5, 11303 }, /* digitspace */
+ { 0x0100222c, 11314 }, /* dintegral */
+ { 0x000000f7, 11324 }, /* division */
+ { 0x00000024, 11333 }, /* dollar */
+ { 0x00000aaf, 11349 }, /* doubbaselinedot */
+ { 0x000001bd, 11365 }, /* doubleacute */
+ { 0x00000af2, 11377 }, /* doubledagger */
+ { 0x00000afe, 11390 }, /* doublelowquotemark */
+ { 0x000008fe, 11414 }, /* downarrow */
+ { 0x00000ba8, 11424 }, /* downcaret */
+ { 0x00000bd6, 11434 }, /* downshoe */
+ { 0x00000bc4, 11443 }, /* downstile */
+ { 0x00000bc2, 11453 }, /* downtack */
+ { 0x000001f0, 11491 }, /* dstroke */
+ { 0x00000065, 11508 }, /* e */
+ { 0x000003ec, 11520 }, /* eabovedot */
+ { 0x000000e9, 11537 }, /* eacute */
+ { 0x01001eb9, 11554 }, /* ebelowdot */
+ { 0x000001ec, 11571 }, /* ecaron */
+ { 0x000000ea, 11590 }, /* ecircumflex */
+ { 0x01001ebf, 11619 }, /* ecircumflexacute */
+ { 0x01001ec7, 11656 }, /* ecircumflexbelowdot */
+ { 0x01001ec1, 11693 }, /* ecircumflexgrave */
+ { 0x01001ec3, 11726 }, /* ecircumflexhook */
+ { 0x01001ec5, 11759 }, /* ecircumflextilde */
+ { 0x000000eb, 11795 }, /* ediaeresis */
+ { 0x000000e8, 11813 }, /* egrave */
+ { 0x01001ebb, 11826 }, /* ehook */
+ { 0x01002088, 11832 }, /* eightsubscript */
+ { 0x01002078, 11847 }, /* eightsuperior */
+ { 0x01002208, 11884 }, /* elementof */
+ { 0x00000aae, 11894 }, /* ellipsis */
+ { 0x00000aa3, 11903 }, /* em3space */
+ { 0x00000aa4, 11912 }, /* em4space */
+ { 0x000003ba, 11929 }, /* emacron */
+ { 0x00000aa9, 11937 }, /* emdash */
+ { 0x00000ade, 11944 }, /* emfilledcircle */
+ { 0x00000adf, 11959 }, /* emfilledrect */
+ { 0x00000ace, 11972 }, /* emopencircle */
+ { 0x00000acf, 11985 }, /* emopenrectangle */
+ { 0x01002205, 12001 }, /* emptyset */
+ { 0x00000aa1, 12010 }, /* emspace */
+ { 0x00000aaa, 12022 }, /* endash */
+ { 0x00000ae6, 12029 }, /* enfilledcircbullet */
+ { 0x00000ae7, 12048 }, /* enfilledsqbullet */
+ { 0x000003bf, 12069 }, /* eng */
+ { 0x00000ae0, 12073 }, /* enopencircbullet */
+ { 0x00000ae1, 12090 }, /* enopensquarebullet */
+ { 0x00000aa2, 12109 }, /* enspace */
+ { 0x000001ea, 12125 }, /* eogonek */
+ { 0x0000003d, 12133 }, /* equal */
+ { 0x000000f0, 12154 }, /* eth */
+ { 0x01001ebd, 12165 }, /* etilde */
+ { 0x00000021, 12181 }, /* exclam */
+ { 0x000000a1, 12188 }, /* exclamdown */
+ { 0x01000292, 12233 }, /* ezh */
+ { 0x00000066, 12239 }, /* f */
+ { 0x01001e1f, 12382 }, /* fabovedot */
+ { 0x00000af8, 12482 }, /* femalesymbol */
+ { 0x000009e3, 12495 }, /* ff */
+ { 0x00000abb, 12509 }, /* figdash */
+ { 0x00000adc, 12517 }, /* filledlefttribullet */
+ { 0x00000adb, 12537 }, /* filledrectbullet */
+ { 0x00000add, 12554 }, /* filledrighttribullet */
+ { 0x00000ae9, 12575 }, /* filledtribulletdown */
+ { 0x00000ae8, 12595 }, /* filledtribulletup */
+ { 0x00000ac5, 12639 }, /* fiveeighths */
+ { 0x00000ab7, 12651 }, /* fivesixths */
+ { 0x01002085, 12662 }, /* fivesubscript */
+ { 0x01002075, 12676 }, /* fivesuperior */
+ { 0x00000ab5, 12689 }, /* fourfifths */
+ { 0x01002084, 12700 }, /* foursubscript */
+ { 0x01002074, 12714 }, /* foursuperior */
+ { 0x0100221c, 12727 }, /* fourthroot */
+ { 0x000008f6, 12738 }, /* function */
+ { 0x00000067, 12749 }, /* g */
+ { 0x000002f5, 12761 }, /* gabovedot */
+ { 0x000002bb, 12778 }, /* gbreve */
+ { 0x010001e7, 12792 }, /* gcaron */
+ { 0x000003bb, 12808 }, /* gcedilla */
+ { 0x000002f8, 12829 }, /* gcircumflex */
+ { 0x00000060, 13348 }, /* grave */
+ { 0x0000003e, 13354 }, /* greater */
+ { 0x000008be, 13362 }, /* greaterthanequal */
+ { 0x100000be, 14423 }, /* guilder */
+ { 0x000000ab, 14431 }, /* guillemotleft */
+ { 0x000000bb, 14445 }, /* guillemotright */
+ { 0x00000068, 14462 }, /* h */
+ { 0x00000aa8, 14464 }, /* hairspace */
+ { 0x000002b6, 16150 }, /* hcircumflex */
+ { 0x00000aee, 16162 }, /* heart */
+ { 0x00000ce0, 16168 }, /* hebrew_aleph */
+ { 0x00000cf2, 16181 }, /* hebrew_ayin */
+ { 0x00000ce1, 16193 }, /* hebrew_bet */
+ { 0x00000ce1, 16204 }, /* hebrew_beth */
+ { 0x00000ce7, 16216 }, /* hebrew_chet */
+ { 0x00000ce3, 16228 }, /* hebrew_dalet */
+ { 0x00000ce3, 16241 }, /* hebrew_daleth */
+ { 0x00000cdf, 16255 }, /* hebrew_doublelowline */
+ { 0x00000cea, 16276 }, /* hebrew_finalkaph */
+ { 0x00000ced, 16293 }, /* hebrew_finalmem */
+ { 0x00000cef, 16309 }, /* hebrew_finalnun */
+ { 0x00000cf3, 16325 }, /* hebrew_finalpe */
+ { 0x00000cf5, 16340 }, /* hebrew_finalzade */
+ { 0x00000cf5, 16357 }, /* hebrew_finalzadi */
+ { 0x00000ce2, 16374 }, /* hebrew_gimel */
+ { 0x00000ce2, 16387 }, /* hebrew_gimmel */
+ { 0x00000ce4, 16401 }, /* hebrew_he */
+ { 0x00000ce7, 16411 }, /* hebrew_het */
+ { 0x00000ceb, 16422 }, /* hebrew_kaph */
+ { 0x00000cf7, 16434 }, /* hebrew_kuf */
+ { 0x00000cec, 16445 }, /* hebrew_lamed */
+ { 0x00000cee, 16458 }, /* hebrew_mem */
+ { 0x00000cf0, 16469 }, /* hebrew_nun */
+ { 0x00000cf4, 16480 }, /* hebrew_pe */
+ { 0x00000cf7, 16490 }, /* hebrew_qoph */
+ { 0x00000cf8, 16502 }, /* hebrew_resh */
+ { 0x00000cf1, 16514 }, /* hebrew_samech */
+ { 0x00000cf1, 16528 }, /* hebrew_samekh */
+ { 0x00000cf9, 16542 }, /* hebrew_shin */
+ { 0x00000cfa, 16568 }, /* hebrew_taf */
+ { 0x00000cfa, 16579 }, /* hebrew_taw */
+ { 0x00000ce8, 16590 }, /* hebrew_tet */
+ { 0x00000ce8, 16601 }, /* hebrew_teth */
+ { 0x00000ce5, 16613 }, /* hebrew_waw */
+ { 0x00000ce9, 16624 }, /* hebrew_yod */
+ { 0x00000cf6, 16635 }, /* hebrew_zade */
+ { 0x00000cf6, 16647 }, /* hebrew_zadi */
+ { 0x00000ce6, 16659 }, /* hebrew_zain */
+ { 0x00000ce6, 16671 }, /* hebrew_zayin */
+ { 0x00000ada, 16708 }, /* hexagram */
+ { 0x000008a3, 16749 }, /* horizconnector */
+ { 0x000009ef, 16764 }, /* horizlinescan1 */
+ { 0x000009f0, 16779 }, /* horizlinescan3 */
+ { 0x000009f1, 16794 }, /* horizlinescan5 */
+ { 0x000009f2, 16809 }, /* horizlinescan7 */
+ { 0x000009f3, 16824 }, /* horizlinescan9 */
+ { 0x1000ff74, 16839 }, /* hpBackTab */
+ { 0x1000ff6f, 16857 }, /* hpClearLine */
+ { 0x1000ff73, 16869 }, /* hpDeleteChar */
+ { 0x1000ff71, 16882 }, /* hpDeleteLine */
+ { 0x100000ee, 16931 }, /* hpIO */
+ { 0x1000ff72, 16905 }, /* hpInsertChar */
+ { 0x1000ff70, 16918 }, /* hpInsertLine */
+ { 0x1000ff75, 16936 }, /* hpKP_BackTab */
+ { 0x1000ff48, 16968 }, /* hpModelock1 */
+ { 0x1000ff49, 16980 }, /* hpModelock2 */
+ { 0x1000ff6c, 17072 }, /* hpReset */
+ { 0x1000ff6d, 17080 }, /* hpSystem */
+ { 0x1000ff6e, 17089 }, /* hpUser */
+ { 0x100000ee, 17096 }, /* hpYdiaeresis */
+ { 0x100000fc, 16849 }, /* hpblock */
+ { 0x100000be, 16895 }, /* hpguilder */
+ { 0x100000af, 16949 }, /* hplira */
+ { 0x100000f6, 16956 }, /* hplongminus */
+ { 0x100000a8, 16992 }, /* hpmute_acute */
+ { 0x100000aa, 17005 }, /* hpmute_asciicircum */
+ { 0x100000ac, 17024 }, /* hpmute_asciitilde */
+ { 0x100000ab, 17042 }, /* hpmute_diaeresis */
+ { 0x100000a9, 17059 }, /* hpmute_grave */
+ { 0x000002b1, 17117 }, /* hstroke */
+ { 0x000009e2, 17125 }, /* ht */
+ { 0x000000ad, 17144 }, /* hyphen */
+ { 0x00000069, 17153 }, /* i */
+ { 0x000000ed, 17172 }, /* iacute */
+ { 0x01001ecb, 17189 }, /* ibelowdot */
+ { 0x0100012d, 17206 }, /* ibreve */
+ { 0x000000ee, 17225 }, /* icircumflex */
+ { 0x000008cf, 17237 }, /* identical */
+ { 0x000000ef, 17258 }, /* idiaeresis */
+ { 0x000002b9, 17269 }, /* idotless */
+ { 0x000008cd, 17278 }, /* ifonlyif */
+ { 0x000000ec, 17294 }, /* igrave */
+ { 0x01001ec9, 17307 }, /* ihook */
+ { 0x000003ef, 17321 }, /* imacron */
+ { 0x000008ce, 17329 }, /* implies */
+ { 0x000008da, 17337 }, /* includedin */
+ { 0x000008db, 17348 }, /* includes */
+ { 0x000008c2, 17357 }, /* infinity */
+ { 0x000008bf, 17395 }, /* integral */
+ { 0x000008dc, 17404 }, /* intersection */
+ { 0x000003e7, 17428 }, /* iogonek */
+ { 0x000003b5, 18189 }, /* itilde */
+ { 0x0000006a, 18198 }, /* j */
+ { 0x000002bc, 18212 }, /* jcircumflex */
+ { 0x00000bca, 18224 }, /* jot */
+ { 0x0000006b, 18230 }, /* k */
+ { 0x000004b1, 18239 }, /* kana_A */
+ { 0x000004c1, 18246 }, /* kana_CHI */
+ { 0x000004b4, 18310 }, /* kana_E */
+ { 0x000004cc, 18317 }, /* kana_FU */
+ { 0x000004ca, 18339 }, /* kana_HA */
+ { 0x000004cd, 18347 }, /* kana_HE */
+ { 0x000004cb, 18355 }, /* kana_HI */
+ { 0x000004ce, 18363 }, /* kana_HO */
+ { 0x000004cc, 18371 }, /* kana_HU */
+ { 0x000004b2, 18386 }, /* kana_I */
+ { 0x000004b6, 18393 }, /* kana_KA */
+ { 0x000004b9, 18401 }, /* kana_KE */
+ { 0x000004b7, 18409 }, /* kana_KI */
+ { 0x000004ba, 18417 }, /* kana_KO */
+ { 0x000004b8, 18425 }, /* kana_KU */
+ { 0x000004cf, 18443 }, /* kana_MA */
+ { 0x000004d2, 18451 }, /* kana_ME */
+ { 0x000004d0, 18459 }, /* kana_MI */
+ { 0x000004d3, 18482 }, /* kana_MO */
+ { 0x000004d1, 18490 }, /* kana_MU */
+ { 0x000004dd, 18498 }, /* kana_N */
+ { 0x000004c5, 18505 }, /* kana_NA */
+ { 0x000004c8, 18513 }, /* kana_NE */
+ { 0x000004c6, 18521 }, /* kana_NI */
+ { 0x000004c9, 18529 }, /* kana_NO */
+ { 0x000004c7, 18537 }, /* kana_NU */
+ { 0x000004b5, 18552 }, /* kana_O */
+ { 0x000004d7, 18579 }, /* kana_RA */
+ { 0x000004da, 18587 }, /* kana_RE */
+ { 0x000004d8, 18595 }, /* kana_RI */
+ { 0x000004db, 18603 }, /* kana_RO */
+ { 0x000004d9, 18611 }, /* kana_RU */
+ { 0x000004bb, 18619 }, /* kana_SA */
+ { 0x000004be, 18627 }, /* kana_SE */
+ { 0x000004bc, 18635 }, /* kana_SHI */
+ { 0x000004bf, 18655 }, /* kana_SO */
+ { 0x000004bd, 18663 }, /* kana_SU */
+ { 0x000004c0, 18683 }, /* kana_TA */
+ { 0x000004c3, 18691 }, /* kana_TE */
+ { 0x000004c1, 18699 }, /* kana_TI */
+ { 0x000004c4, 18707 }, /* kana_TO */
+ { 0x000004c2, 18724 }, /* kana_TSU */
+ { 0x000004c2, 18741 }, /* kana_TU */
+ { 0x000004b3, 18756 }, /* kana_U */
+ { 0x000004dc, 18763 }, /* kana_WA */
+ { 0x000004a6, 18771 }, /* kana_WO */
+ { 0x000004d4, 18787 }, /* kana_YA */
+ { 0x000004d6, 18803 }, /* kana_YO */
+ { 0x000004d5, 18819 }, /* kana_YU */
+ { 0x000004a7, 18232 }, /* kana_a */
+ { 0x000004a3, 18255 }, /* kana_closingbracket */
+ { 0x000004a4, 18275 }, /* kana_comma */
+ { 0x000004a5, 18286 }, /* kana_conjunctive */
+ { 0x000004aa, 18303 }, /* kana_e */
+ { 0x000004a1, 18325 }, /* kana_fullstop */
+ { 0x000004a8, 18379 }, /* kana_i */
+ { 0x000004a5, 18467 }, /* kana_middledot */
+ { 0x000004ab, 18545 }, /* kana_o */
+ { 0x000004a2, 18559 }, /* kana_openingbracket */
+ { 0x0000ff7e, 18671 }, /* kana_switch */
+ { 0x000004af, 18715 }, /* kana_tsu */
+ { 0x000004af, 18733 }, /* kana_tu */
+ { 0x000004a9, 18749 }, /* kana_u */
+ { 0x000004ac, 18779 }, /* kana_ya */
+ { 0x000004ae, 18795 }, /* kana_yo */
+ { 0x000004ad, 18811 }, /* kana_yu */
+ { 0x000003a2, 18846 }, /* kappa */
+ { 0x000003f3, 18870 }, /* kcedilla */
+ { 0x000003a2, 19190 }, /* kra */
+ { 0x0000006c, 19196 }, /* l */
+ { 0x000001e5, 19236 }, /* lacute */
+ { 0x00000ad9, 19263 }, /* latincross */
+ { 0x01001e37, 19284 }, /* lbelowdot */
+ { 0x000001b5, 19301 }, /* lcaron */
+ { 0x000003b6, 19317 }, /* lcedilla */
+ { 0x00000abc, 19331 }, /* leftanglebracket */
+ { 0x000008fb, 19348 }, /* leftarrow */
+ { 0x00000ba3, 19358 }, /* leftcaret */
+ { 0x00000ad2, 19368 }, /* leftdoublequotemark */
+ { 0x000008af, 19388 }, /* leftmiddlecurlybrace */
+ { 0x00000acc, 19409 }, /* leftopentriangle */
+ { 0x00000aea, 19426 }, /* leftpointer */
+ { 0x000008a1, 19438 }, /* leftradical */
+ { 0x00000bda, 19450 }, /* leftshoe */
+ { 0x00000ad0, 19459 }, /* leftsinglequotemark */
+ { 0x000009f4, 19479 }, /* leftt */
+ { 0x00000bdc, 19485 }, /* lefttack */
+ { 0x0000003c, 19494 }, /* less */
+ { 0x000008bc, 19499 }, /* lessthanequal */
+ { 0x000009e5, 19513 }, /* lf */
+ { 0x100000af, 19525 }, /* lira */
+ { 0x000008de, 19539 }, /* logicaland */
+ { 0x000008df, 19550 }, /* logicalor */
+ { 0x100000f6, 19560 }, /* longminus */
+ { 0x000009ed, 19570 }, /* lowleftcorner */
+ { 0x000009ea, 19584 }, /* lowrightcorner */
+ { 0x000001b3, 19607 }, /* lstroke */
+ { 0x0000006d, 19617 }, /* m */
+ { 0x01001e41, 19629 }, /* mabovedot */
+ { 0x000000af, 19723 }, /* macron */
+ { 0x00000af7, 19739 }, /* malesymbol */
+ { 0x00000af0, 19750 }, /* maltesecross */
+ { 0x00000abf, 19763 }, /* marker */
+ { 0x000000ba, 19770 }, /* masculine */
+ { 0x0000002d, 19815 }, /* minus */
+ { 0x00000ad6, 19821 }, /* minutes */
+ { 0x000000b5, 19881 }, /* mu */
+ { 0x000000d7, 19921 }, /* multiply */
+ { 0x00000af6, 19930 }, /* musicalflat */
+ { 0x00000af5, 19942 }, /* musicalsharp */
+ { 0x100000a8, 19955 }, /* mute_acute */
+ { 0x100000aa, 19966 }, /* mute_asciicircum */
+ { 0x100000ac, 19983 }, /* mute_asciitilde */
+ { 0x100000ab, 19999 }, /* mute_diaeresis */
+ { 0x100000a9, 20014 }, /* mute_grave */
+ { 0x0000006e, 20027 }, /* n */
+ { 0x000008c5, 20029 }, /* nabla */
+ { 0x000001f1, 20042 }, /* nacute */
+ { 0x000001f2, 20066 }, /* ncaron */
+ { 0x000003f1, 20082 }, /* ncedilla */
+ { 0x01002089, 20130 }, /* ninesubscript */
+ { 0x01002079, 20144 }, /* ninesuperior */
+ { 0x000009e8, 20157 }, /* nl */
+ { 0x000000a0, 20160 }, /* nobreakspace */
+ { 0x01002247, 20182 }, /* notapproxeq */
+ { 0x01002209, 20194 }, /* notelementof */
+ { 0x000008bd, 20207 }, /* notequal */
+ { 0x01002262, 20216 }, /* notidentical */
+ { 0x000000ac, 20229 }, /* notsign */
+ { 0x000000f1, 20244 }, /* ntilde */
+ { 0x00000023, 20260 }, /* numbersign */
+ { 0x000006b0, 20271 }, /* numerosign */
+ { 0x0000006f, 20284 }, /* o */
+ { 0x000000f3, 20293 }, /* oacute */
+ { 0x01000275, 20308 }, /* obarred */
+ { 0x01001ecd, 20326 }, /* obelowdot */
+ { 0x010001d2, 20343 }, /* ocaron */
+ { 0x000000f4, 20362 }, /* ocircumflex */
+ { 0x01001ed1, 20391 }, /* ocircumflexacute */
+ { 0x01001ed9, 20428 }, /* ocircumflexbelowdot */
+ { 0x01001ed3, 20465 }, /* ocircumflexgrave */
+ { 0x01001ed5, 20498 }, /* ocircumflexhook */
+ { 0x01001ed7, 20531 }, /* ocircumflextilde */
+ { 0x000000f6, 20559 }, /* odiaeresis */
+ { 0x000001f5, 20583 }, /* odoubleacute */
+ { 0x000013bd, 20599 }, /* oe */
+ { 0x000001b2, 20602 }, /* ogonek */
+ { 0x000000f2, 20616 }, /* ograve */
+ { 0x01001ecf, 20629 }, /* ohook */
+ { 0x010001a1, 20641 }, /* ohorn */
+ { 0x01001edb, 20658 }, /* ohornacute */
+ { 0x01001ee3, 20683 }, /* ohornbelowdot */
+ { 0x01001edd, 20708 }, /* ohorngrave */
+ { 0x01001edf, 20729 }, /* ohornhook */
+ { 0x01001ee1, 20750 }, /* ohorntilde */
+ { 0x000003f2, 20769 }, /* omacron */
+ { 0x00000ac3, 20777 }, /* oneeighth */
+ { 0x00000ab2, 20787 }, /* onefifth */
+ { 0x000000bd, 20796 }, /* onehalf */
+ { 0x000000bc, 20804 }, /* onequarter */
+ { 0x00000ab6, 20815 }, /* onesixth */
+ { 0x01002081, 20824 }, /* onesubscript */
+ { 0x000000b9, 20837 }, /* onesuperior */
+ { 0x00000ab0, 20849 }, /* onethird */
+ { 0x000000f8, 20867 }, /* ooblique */
+ { 0x00000ae2, 20876 }, /* openrectbullet */
+ { 0x00000ae5, 20891 }, /* openstar */
+ { 0x00000ae4, 20900 }, /* opentribulletdown */
+ { 0x00000ae3, 20918 }, /* opentribulletup */
+ { 0x000000aa, 20934 }, /* ordfeminine */
+ { 0x1004ff44, 20946 }, /* osfActivate */
+ { 0x1004ff31, 20958 }, /* osfAddMode */
+ { 0x1004ff08, 20969 }, /* osfBackSpace */
+ { 0x1004ff07, 20982 }, /* osfBackTab */
+ { 0x1004ff5a, 20993 }, /* osfBeginData */
+ { 0x1004ff58, 21006 }, /* osfBeginLine */
+ { 0x1004ff69, 21019 }, /* osfCancel */
+ { 0x1004ff0b, 21029 }, /* osfClear */
+ { 0x1004ff02, 21038 }, /* osfCopy */
+ { 0x1004ff03, 21046 }, /* osfCut */
+ { 0x1004ffff, 21053 }, /* osfDelete */
+ { 0x1004ff72, 21063 }, /* osfDeselectAll */
+ { 0x1004ff54, 21078 }, /* osfDown */
+ { 0x1004ff59, 21086 }, /* osfEndData */
+ { 0x1004ff57, 21097 }, /* osfEndLine */
+ { 0x1004ff1b, 21108 }, /* osfEscape */
+ { 0x1004ff74, 21118 }, /* osfExtend */
+ { 0x1004ff6a, 21128 }, /* osfHelp */
+ { 0x1004ff63, 21136 }, /* osfInsert */
+ { 0x1004ff51, 21146 }, /* osfLeft */
+ { 0x1004ff67, 21154 }, /* osfMenu */
+ { 0x1004ff45, 21162 }, /* osfMenuBar */
+ { 0x1004ff5e, 21173 }, /* osfNextField */
+ { 0x1004ff5c, 21186 }, /* osfNextMenu */
+ { 0x1004ff42, 21198 }, /* osfPageDown */
+ { 0x1004ff40, 21210 }, /* osfPageLeft */
+ { 0x1004ff43, 21222 }, /* osfPageRight */
+ { 0x1004ff41, 21235 }, /* osfPageUp */
+ { 0x1004ff04, 21245 }, /* osfPaste */
+ { 0x1004ff5d, 21254 }, /* osfPrevField */
+ { 0x1004ff5b, 21267 }, /* osfPrevMenu */
+ { 0x1004ff32, 21279 }, /* osfPrimaryPaste */
+ { 0x1004ff33, 21295 }, /* osfQuickPaste */
+ { 0x1004ff73, 21309 }, /* osfReselect */
+ { 0x1004ff78, 21321 }, /* osfRestore */
+ { 0x1004ff53, 21332 }, /* osfRight */
+ { 0x1004ff60, 21341 }, /* osfSelect */
+ { 0x1004ff71, 21351 }, /* osfSelectAll */
+ { 0x1004ff65, 21364 }, /* osfUndo */
+ { 0x1004ff52, 21372 }, /* osfUp */
+ { 0x000000f8, 21385 }, /* oslash */
+ { 0x000000f5, 21399 }, /* otilde */
+ { 0x00000bc0, 21406 }, /* overbar */
+ { 0x0000047e, 21446 }, /* overline */
+ { 0x00000070, 21457 }, /* p */
+ { 0x01001e57, 21469 }, /* pabovedot */
+ { 0x000000b6, 21497 }, /* paragraph */
+ { 0x00000028, 21507 }, /* parenleft */
+ { 0x00000029, 21517 }, /* parenright */
+ { 0x01002202, 21528 }, /* partdifferential */
+ { 0x000008ef, 21545 }, /* partialderivative */
+ { 0x00000025, 21569 }, /* percent */
+ { 0x0000002e, 21577 }, /* period */
+ { 0x000000b7, 21584 }, /* periodcentered */
+ { 0x00000ad5, 21599 }, /* permille */
+ { 0x00000afb, 21619 }, /* phonographcopyright */
+ { 0x0000002b, 21639 }, /* plus */
+ { 0x000000b1, 21644 }, /* plusminus */
+ { 0x00000ad4, 22149 }, /* prescription */
+ { 0x000004b0, 22212 }, /* prolongedsound */
+ { 0x00000aa6, 22227 }, /* punctspace */
+ { 0x00000071, 22240 }, /* q */
+ { 0x00000bcc, 22242 }, /* quad */
+ { 0x0000003f, 22247 }, /* question */
+ { 0x000000bf, 22256 }, /* questiondown */
+ { 0x00000022, 22269 }, /* quotedbl */
+ { 0x00000060, 22278 }, /* quoteleft */
+ { 0x00000027, 22288 }, /* quoteright */
+ { 0x00000072, 22301 }, /* r */
+ { 0x000001e0, 22361 }, /* racute */
+ { 0x000008d6, 22368 }, /* radical */
+ { 0x000001f8, 22383 }, /* rcaron */
+ { 0x000003b3, 22399 }, /* rcedilla */
+ { 0x000000ae, 22413 }, /* registered */
+ { 0x00000abe, 22461 }, /* rightanglebracket */
+ { 0x000008fd, 22479 }, /* rightarrow */
+ { 0x00000ba6, 22490 }, /* rightcaret */
+ { 0x00000ad3, 22501 }, /* rightdoublequotemark */
+ { 0x000008b0, 22522 }, /* rightmiddlecurlybrace */
+ { 0x000008b7, 22544 }, /* rightmiddlesummation */
+ { 0x00000acd, 22565 }, /* rightopentriangle */
+ { 0x00000aeb, 22583 }, /* rightpointer */
+ { 0x00000bd8, 22596 }, /* rightshoe */
+ { 0x00000ad1, 22606 }, /* rightsinglequotemark */
+ { 0x000009f5, 22627 }, /* rightt */
+ { 0x00000bfc, 22634 }, /* righttack */
+ { 0x00000073, 22663 }, /* s */
+ { 0x01001e61, 22675 }, /* sabovedot */
+ { 0x000001b6, 22692 }, /* sacute */
+ { 0x000001b9, 22706 }, /* scaron */
+ { 0x000001ba, 22722 }, /* scedilla */
+ { 0x01000259, 22737 }, /* schwa */
+ { 0x000002fe, 22755 }, /* scircumflex */
+ { 0x0000ff7e, 22767 }, /* script_switch */
+ { 0x00000ad7, 22793 }, /* seconds */
+ { 0x000000a7, 22801 }, /* section */
+ { 0x0000003b, 22816 }, /* semicolon */
+ { 0x000004df, 22826 }, /* semivoicedsound */
+ { 0x00000ac6, 22986 }, /* seveneighths */
+ { 0x01002087, 22999 }, /* sevensubscript */
+ { 0x01002077, 23014 }, /* sevensuperior */
+ { 0x00000aca, 23055 }, /* signaturemark */
+ { 0x00000aac, 23069 }, /* signifblank */
+ { 0x000008c9, 23081 }, /* similarequal */
+ { 0x00000afd, 23110 }, /* singlelowquotemark */
+ { 0x01002086, 23825 }, /* sixsubscript */
+ { 0x01002076, 23838 }, /* sixsuperior */
+ { 0x0000002f, 23850 }, /* slash */
+ { 0x000009e0, 23872 }, /* soliddiamond */
+ { 0x00000020, 23885 }, /* space */
+ { 0x0100221a, 23891 }, /* squareroot */
+ { 0x000000df, 23902 }, /* ssharp */
+ { 0x000000a3, 23909 }, /* sterling */
+ { 0x01002263, 23936 }, /* stricteq */
+ { 0x00000074, 24378 }, /* t */
+ { 0x01001e6b, 24394 }, /* tabovedot */
+ { 0x000001bb, 24411 }, /* tcaron */
+ { 0x000001fe, 24427 }, /* tcedilla */
+ { 0x00000af9, 24436 }, /* telephone */
+ { 0x00000afa, 24446 }, /* telephonerecorder */
+ { 0x000008c0, 25561 }, /* therefore */
+ { 0x00000aa7, 25571 }, /* thinspace */
+ { 0x000000fe, 25593 }, /* thorn */
+ { 0x00000ac4, 25599 }, /* threeeighths */
+ { 0x00000ab4, 25612 }, /* threefifths */
+ { 0x000000be, 25624 }, /* threequarters */
+ { 0x01002083, 25638 }, /* threesubscript */
+ { 0x000000b3, 25653 }, /* threesuperior */
+ { 0x0100222d, 25667 }, /* tintegral */
+ { 0x000008a4, 25677 }, /* topintegral */
+ { 0x000008ab, 25689 }, /* topleftparens */
+ { 0x000008a2, 25703 }, /* topleftradical */
+ { 0x000008a7, 25718 }, /* topleftsqbracket */
+ { 0x000008b1, 25735 }, /* topleftsummation */
+ { 0x000008ad, 25752 }, /* toprightparens */
+ { 0x000008a9, 25767 }, /* toprightsqbracket */
+ { 0x000008b5, 25785 }, /* toprightsummation */
+ { 0x000009f7, 25803 }, /* topt */
+ { 0x000008b3, 25808 }, /* topvertsummationconnector */
+ { 0x00000ac9, 25842 }, /* trademark */
+ { 0x00000acb, 25852 }, /* trademarkincircle */
+ { 0x000003bc, 25877 }, /* tslash */
+ { 0x00000ab3, 25884 }, /* twofifths */
+ { 0x01002082, 25894 }, /* twosubscript */
+ { 0x000000b2, 25907 }, /* twosuperior */
+ { 0x00000ab1, 25919 }, /* twothirds */
+ { 0x00000075, 25931 }, /* u */
+ { 0x000000fa, 25940 }, /* uacute */
+ { 0x01001ee5, 25957 }, /* ubelowdot */
+ { 0x000002fd, 25974 }, /* ubreve */
+ { 0x000000fb, 25993 }, /* ucircumflex */
+ { 0x000000fc, 26016 }, /* udiaeresis */
+ { 0x000001fb, 26040 }, /* udoubleacute */
+ { 0x000000f9, 26060 }, /* ugrave */
+ { 0x01001ee7, 26073 }, /* uhook */
+ { 0x010001b0, 26085 }, /* uhorn */
+ { 0x01001ee9, 26102 }, /* uhornacute */
+ { 0x01001ef1, 26127 }, /* uhornbelowdot */
+ { 0x01001eeb, 26152 }, /* uhorngrave */
+ { 0x01001eed, 26173 }, /* uhornhook */
+ { 0x01001eef, 26194 }, /* uhorntilde */
+ { 0x000003fe, 26411 }, /* umacron */
+ { 0x00000bc6, 26419 }, /* underbar */
+ { 0x0000005f, 26428 }, /* underscore */
+ { 0x000008dd, 26444 }, /* union */
+ { 0x000003f9, 26458 }, /* uogonek */
+ { 0x000008fc, 26469 }, /* uparrow */
+ { 0x00000ba9, 26477 }, /* upcaret */
+ { 0x000009ec, 26485 }, /* upleftcorner */
+ { 0x000009eb, 26498 }, /* uprightcorner */
+ { 0x00000bc3, 26512 }, /* upshoe */
+ { 0x00000bd3, 26519 }, /* upstile */
+ { 0x00000bce, 26527 }, /* uptack */
+ { 0x000001f9, 26540 }, /* uring */
+ { 0x000003fd, 26558 }, /* utilde */
+ { 0x00000076, 26567 }, /* v */
+ { 0x000008c1, 26569 }, /* variation */
+ { 0x000009f8, 26579 }, /* vertbar */
+ { 0x000008a6, 26587 }, /* vertconnector */
+ { 0x000004de, 26601 }, /* voicedsound */
+ { 0x000009e9, 26624 }, /* vt */
+ { 0x00000077, 26629 }, /* w */
+ { 0x01001e83, 26638 }, /* wacute */
+ { 0x01000175, 26657 }, /* wcircumflex */
+ { 0x01001e85, 26680 }, /* wdiaeresis */
+ { 0x01001e81, 26698 }, /* wgrave */
+ { 0x00000078, 26715 }, /* x */
+ { 0x01001e8b, 26727 }, /* xabovedot */
+ { 0x00000079, 31192 }, /* y */
+ { 0x000000fd, 31201 }, /* yacute */
+ { 0x01001ef5, 31218 }, /* ybelowdot */
+ { 0x01000177, 31240 }, /* ycircumflex */
+ { 0x000000ff, 31252 }, /* ydiaeresis */
+ { 0x000000a5, 31274 }, /* yen */
+ { 0x01001ef3, 31285 }, /* ygrave */
+ { 0x01001ef7, 31298 }, /* yhook */
+ { 0x01001ef9, 31311 }, /* ytilde */
+ { 0x0000007a, 31320 }, /* z */
+ { 0x000001bf, 31332 }, /* zabovedot */
+ { 0x000001bc, 31349 }, /* zacute */
+ { 0x000001be, 31363 }, /* zcaron */
+ { 0x01002080, 31403 }, /* zerosubscript */
+ { 0x01002070, 31417 }, /* zerosuperior */
+ { 0x010001b6, 31438 }, /* zstroke */
+};
+
+static const struct name_keysym name_to_keysym_icase[] = {
+ { 0x00000030, 0 }, /* 0 */
+ { 0x00000031, 2 }, /* 1 */
+ { 0x00000032, 4 }, /* 2 */
+ { 0x00000033, 6 }, /* 3 */
+ { 0x0000fd10, 8 }, /* 3270_AltCursor */
+ { 0x0000fd0e, 23 }, /* 3270_Attn */
+ { 0x0000fd05, 33 }, /* 3270_BackTab */
+ { 0x0000fd19, 46 }, /* 3270_ChangeScreen */
+ { 0x0000fd15, 64 }, /* 3270_Copy */
+ { 0x0000fd0f, 74 }, /* 3270_CursorBlink */
+ { 0x0000fd1c, 91 }, /* 3270_CursorSelect */
+ { 0x0000fd1a, 109 }, /* 3270_DeleteWord */
+ { 0x0000fd01, 125 }, /* 3270_Duplicate */
+ { 0x0000fd1e, 140 }, /* 3270_Enter */
+ { 0x0000fd06, 151 }, /* 3270_EraseEOF */
+ { 0x0000fd07, 165 }, /* 3270_EraseInput */
+ { 0x0000fd1b, 181 }, /* 3270_ExSelect */
+ { 0x0000fd02, 195 }, /* 3270_FieldMark */
+ { 0x0000fd13, 210 }, /* 3270_Ident */
+ { 0x0000fd12, 221 }, /* 3270_Jump */
+ { 0x0000fd11, 231 }, /* 3270_KeyClick */
+ { 0x0000fd04, 245 }, /* 3270_Left2 */
+ { 0x0000fd0a, 256 }, /* 3270_PA1 */
+ { 0x0000fd0b, 265 }, /* 3270_PA2 */
+ { 0x0000fd0c, 274 }, /* 3270_PA3 */
+ { 0x0000fd16, 283 }, /* 3270_Play */
+ { 0x0000fd1d, 293 }, /* 3270_PrintScreen */
+ { 0x0000fd09, 310 }, /* 3270_Quit */
+ { 0x0000fd18, 320 }, /* 3270_Record */
+ { 0x0000fd08, 332 }, /* 3270_Reset */
+ { 0x0000fd03, 343 }, /* 3270_Right2 */
+ { 0x0000fd14, 355 }, /* 3270_Rule */
+ { 0x0000fd17, 365 }, /* 3270_Setup */
+ { 0x0000fd0d, 376 }, /* 3270_Test */
+ { 0x00000034, 386 }, /* 4 */
+ { 0x00000035, 388 }, /* 5 */
+ { 0x00000036, 390 }, /* 6 */
+ { 0x00000037, 392 }, /* 7 */
+ { 0x00000038, 394 }, /* 8 */
+ { 0x00000039, 396 }, /* 9 */
+ { 0x00000041, 398 }, /* A */
{ 0x00000061, 400 }, /* a */
{ 0x000000c1, 402 }, /* Aacute */
{ 0x000000e1, 409 }, /* aacute */