diff --git a/ChangeLog b/ChangeLog index 422b1be141..6aec0edda9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2005-03-07 Matthias Clasen + + Convert the gdk keyval-keyname tables to a big string + + offsets. (#168901) + + * gdk/gen-keyname-table.pl: Perl script inspired by + pango/tools/gen-color-table.pl to create the + gdk_keys_by_keyval and gdk_keys_by_name tables as lists + of offsets pointing into a big const string. + + * gdk/keynames.txt: List of keyval-keyname pairs. + * gdk/keyname-table.h: Generated tables. + + * gdk/gdkkeynames.c: Include keyname-table.h and don't + generate the inverse table at runtime. + 2005-03-07 Matthias Clasen * gtk/gtkstyle.c: Document which parameters may be NULL. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 422b1be141..6aec0edda9 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,19 @@ +2005-03-07 Matthias Clasen + + Convert the gdk keyval-keyname tables to a big string + + offsets. (#168901) + + * gdk/gen-keyname-table.pl: Perl script inspired by + pango/tools/gen-color-table.pl to create the + gdk_keys_by_keyval and gdk_keys_by_name tables as lists + of offsets pointing into a big const string. + + * gdk/keynames.txt: List of keyval-keyname pairs. + * gdk/keyname-table.h: Generated tables. + + * gdk/gdkkeynames.c: Include keyname-table.h and don't + generate the inverse table at runtime. + 2005-03-07 Matthias Clasen * gtk/gtkstyle.c: Document which parameters may be NULL. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 422b1be141..6aec0edda9 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,19 @@ +2005-03-07 Matthias Clasen + + Convert the gdk keyval-keyname tables to a big string + + offsets. (#168901) + + * gdk/gen-keyname-table.pl: Perl script inspired by + pango/tools/gen-color-table.pl to create the + gdk_keys_by_keyval and gdk_keys_by_name tables as lists + of offsets pointing into a big const string. + + * gdk/keynames.txt: List of keyval-keyname pairs. + * gdk/keyname-table.h: Generated tables. + + * gdk/gdkkeynames.c: Include keyname-table.h and don't + generate the inverse table at runtime. + 2005-03-07 Matthias Clasen * gtk/gtkstyle.c: Document which parameters may be NULL. diff --git a/gdk/gdkkeynames.c b/gdk/gdkkeynames.c index 32a7b5e7cf..8d9124d75d 100644 --- a/gdk/gdkkeynames.c +++ b/gdk/gdkkeynames.c @@ -35,1322 +35,10 @@ /* Key handling not part of the keymap */ -static const struct gdk_key { - guint keyval; - const char *name; -} gdk_keys_by_keyval[] = { - { 0x000020, "space" }, - { 0x000021, "exclam" }, - { 0x000022, "quotedbl" }, - { 0x000023, "numbersign" }, - { 0x000024, "dollar" }, - { 0x000025, "percent" }, - { 0x000026, "ampersand" }, - { 0x000027, "apostrophe" }, - { 0x000027, "quoteright" }, - { 0x000028, "parenleft" }, - { 0x000029, "parenright" }, - { 0x00002a, "asterisk" }, - { 0x00002b, "plus" }, - { 0x00002c, "comma" }, - { 0x00002d, "minus" }, - { 0x00002e, "period" }, - { 0x00002f, "slash" }, - { 0x000030, "0" }, - { 0x000031, "1" }, - { 0x000032, "2" }, - { 0x000033, "3" }, - { 0x000034, "4" }, - { 0x000035, "5" }, - { 0x000036, "6" }, - { 0x000037, "7" }, - { 0x000038, "8" }, - { 0x000039, "9" }, - { 0x00003a, "colon" }, - { 0x00003b, "semicolon" }, - { 0x00003c, "less" }, - { 0x00003d, "equal" }, - { 0x00003e, "greater" }, - { 0x00003f, "question" }, - { 0x000040, "at" }, - { 0x000041, "A" }, - { 0x000042, "B" }, - { 0x000043, "C" }, - { 0x000044, "D" }, - { 0x000045, "E" }, - { 0x000046, "F" }, - { 0x000047, "G" }, - { 0x000048, "H" }, - { 0x000049, "I" }, - { 0x00004a, "J" }, - { 0x00004b, "K" }, - { 0x00004c, "L" }, - { 0x00004d, "M" }, - { 0x00004e, "N" }, - { 0x00004f, "O" }, - { 0x000050, "P" }, - { 0x000051, "Q" }, - { 0x000052, "R" }, - { 0x000053, "S" }, - { 0x000054, "T" }, - { 0x000055, "U" }, - { 0x000056, "V" }, - { 0x000057, "W" }, - { 0x000058, "X" }, - { 0x000059, "Y" }, - { 0x00005a, "Z" }, - { 0x00005b, "bracketleft" }, - { 0x00005c, "backslash" }, - { 0x00005d, "bracketright" }, - { 0x00005e, "asciicircum" }, - { 0x00005f, "underscore" }, - { 0x000060, "grave" }, - { 0x000060, "quoteleft" }, - { 0x000061, "a" }, - { 0x000062, "b" }, - { 0x000063, "c" }, - { 0x000064, "d" }, - { 0x000065, "e" }, - { 0x000066, "f" }, - { 0x000067, "g" }, - { 0x000068, "h" }, - { 0x000069, "i" }, - { 0x00006a, "j" }, - { 0x00006b, "k" }, - { 0x00006c, "l" }, - { 0x00006d, "m" }, - { 0x00006e, "n" }, - { 0x00006f, "o" }, - { 0x000070, "p" }, - { 0x000071, "q" }, - { 0x000072, "r" }, - { 0x000073, "s" }, - { 0x000074, "t" }, - { 0x000075, "u" }, - { 0x000076, "v" }, - { 0x000077, "w" }, - { 0x000078, "x" }, - { 0x000079, "y" }, - { 0x00007a, "z" }, - { 0x00007b, "braceleft" }, - { 0x00007c, "bar" }, - { 0x00007d, "braceright" }, - { 0x00007e, "asciitilde" }, - { 0x0000a0, "nobreakspace" }, - { 0x0000a1, "exclamdown" }, - { 0x0000a2, "cent" }, - { 0x0000a3, "sterling" }, - { 0x0000a4, "currency" }, - { 0x0000a5, "yen" }, - { 0x0000a6, "brokenbar" }, - { 0x0000a7, "section" }, - { 0x0000a8, "diaeresis" }, - { 0x0000a9, "copyright" }, - { 0x0000aa, "ordfeminine" }, - { 0x0000ab, "guillemotleft" }, - { 0x0000ac, "notsign" }, - { 0x0000ad, "hyphen" }, - { 0x0000ae, "registered" }, - { 0x0000af, "macron" }, - { 0x0000b0, "degree" }, - { 0x0000b1, "plusminus" }, - { 0x0000b2, "twosuperior" }, - { 0x0000b3, "threesuperior" }, - { 0x0000b4, "acute" }, - { 0x0000b5, "mu" }, - { 0x0000b6, "paragraph" }, - { 0x0000b7, "periodcentered" }, - { 0x0000b8, "cedilla" }, - { 0x0000b9, "onesuperior" }, - { 0x0000ba, "masculine" }, - { 0x0000bb, "guillemotright" }, - { 0x0000bc, "onequarter" }, - { 0x0000bd, "onehalf" }, - { 0x0000be, "threequarters" }, - { 0x0000bf, "questiondown" }, - { 0x0000c0, "Agrave" }, - { 0x0000c1, "Aacute" }, - { 0x0000c2, "Acircumflex" }, - { 0x0000c3, "Atilde" }, - { 0x0000c4, "Adiaeresis" }, - { 0x0000c5, "Aring" }, - { 0x0000c6, "AE" }, - { 0x0000c7, "Ccedilla" }, - { 0x0000c8, "Egrave" }, - { 0x0000c9, "Eacute" }, - { 0x0000ca, "Ecircumflex" }, - { 0x0000cb, "Ediaeresis" }, - { 0x0000cc, "Igrave" }, - { 0x0000cd, "Iacute" }, - { 0x0000ce, "Icircumflex" }, - { 0x0000cf, "Idiaeresis" }, - { 0x0000d0, "ETH" }, - { 0x0000d0, "Eth" }, - { 0x0000d1, "Ntilde" }, - { 0x0000d2, "Ograve" }, - { 0x0000d3, "Oacute" }, - { 0x0000d4, "Ocircumflex" }, - { 0x0000d5, "Otilde" }, - { 0x0000d6, "Odiaeresis" }, - { 0x0000d7, "multiply" }, - { 0x0000d8, "Ooblique" }, - { 0x0000d9, "Ugrave" }, - { 0x0000da, "Uacute" }, - { 0x0000db, "Ucircumflex" }, - { 0x0000dc, "Udiaeresis" }, - { 0x0000dd, "Yacute" }, - { 0x0000de, "THORN" }, - { 0x0000de, "Thorn" }, - { 0x0000df, "ssharp" }, - { 0x0000e0, "agrave" }, - { 0x0000e1, "aacute" }, - { 0x0000e2, "acircumflex" }, - { 0x0000e3, "atilde" }, - { 0x0000e4, "adiaeresis" }, - { 0x0000e5, "aring" }, - { 0x0000e6, "ae" }, - { 0x0000e7, "ccedilla" }, - { 0x0000e8, "egrave" }, - { 0x0000e9, "eacute" }, - { 0x0000ea, "ecircumflex" }, - { 0x0000eb, "ediaeresis" }, - { 0x0000ec, "igrave" }, - { 0x0000ed, "iacute" }, - { 0x0000ee, "icircumflex" }, - { 0x0000ef, "idiaeresis" }, - { 0x0000f0, "eth" }, - { 0x0000f1, "ntilde" }, - { 0x0000f2, "ograve" }, - { 0x0000f3, "oacute" }, - { 0x0000f4, "ocircumflex" }, - { 0x0000f5, "otilde" }, - { 0x0000f6, "odiaeresis" }, - { 0x0000f7, "division" }, - { 0x0000f8, "oslash" }, - { 0x0000f9, "ugrave" }, - { 0x0000fa, "uacute" }, - { 0x0000fb, "ucircumflex" }, - { 0x0000fc, "udiaeresis" }, - { 0x0000fd, "yacute" }, - { 0x0000fe, "thorn" }, - { 0x0000ff, "ydiaeresis" }, - { 0x0001a1, "Aogonek" }, - { 0x0001a2, "breve" }, - { 0x0001a3, "Lstroke" }, - { 0x0001a5, "Lcaron" }, - { 0x0001a6, "Sacute" }, - { 0x0001a9, "Scaron" }, - { 0x0001aa, "Scedilla" }, - { 0x0001ab, "Tcaron" }, - { 0x0001ac, "Zacute" }, - { 0x0001ae, "Zcaron" }, - { 0x0001af, "Zabovedot" }, - { 0x0001b1, "aogonek" }, - { 0x0001b2, "ogonek" }, - { 0x0001b3, "lstroke" }, - { 0x0001b5, "lcaron" }, - { 0x0001b6, "sacute" }, - { 0x0001b7, "caron" }, - { 0x0001b9, "scaron" }, - { 0x0001ba, "scedilla" }, - { 0x0001bb, "tcaron" }, - { 0x0001bc, "zacute" }, - { 0x0001bd, "doubleacute" }, - { 0x0001be, "zcaron" }, - { 0x0001bf, "zabovedot" }, - { 0x0001c0, "Racute" }, - { 0x0001c3, "Abreve" }, - { 0x0001c5, "Lacute" }, - { 0x0001c6, "Cacute" }, - { 0x0001c8, "Ccaron" }, - { 0x0001ca, "Eogonek" }, - { 0x0001cc, "Ecaron" }, - { 0x0001cf, "Dcaron" }, - { 0x0001d0, "Dstroke" }, - { 0x0001d1, "Nacute" }, - { 0x0001d2, "Ncaron" }, - { 0x0001d5, "Odoubleacute" }, - { 0x0001d8, "Rcaron" }, - { 0x0001d9, "Uring" }, - { 0x0001db, "Udoubleacute" }, - { 0x0001de, "Tcedilla" }, - { 0x0001e0, "racute" }, - { 0x0001e3, "abreve" }, - { 0x0001e5, "lacute" }, - { 0x0001e6, "cacute" }, - { 0x0001e8, "ccaron" }, - { 0x0001ea, "eogonek" }, - { 0x0001ec, "ecaron" }, - { 0x0001ef, "dcaron" }, - { 0x0001f0, "dstroke" }, - { 0x0001f1, "nacute" }, - { 0x0001f2, "ncaron" }, - { 0x0001f5, "odoubleacute" }, - { 0x0001f8, "rcaron" }, - { 0x0001f9, "uring" }, - { 0x0001fb, "udoubleacute" }, - { 0x0001fe, "tcedilla" }, - { 0x0001ff, "abovedot" }, - { 0x0002a1, "Hstroke" }, - { 0x0002a6, "Hcircumflex" }, - { 0x0002a9, "Iabovedot" }, - { 0x0002ab, "Gbreve" }, - { 0x0002ac, "Jcircumflex" }, - { 0x0002b1, "hstroke" }, - { 0x0002b6, "hcircumflex" }, - { 0x0002b9, "idotless" }, - { 0x0002bb, "gbreve" }, - { 0x0002bc, "jcircumflex" }, - { 0x0002c5, "Cabovedot" }, - { 0x0002c6, "Ccircumflex" }, - { 0x0002d5, "Gabovedot" }, - { 0x0002d8, "Gcircumflex" }, - { 0x0002dd, "Ubreve" }, - { 0x0002de, "Scircumflex" }, - { 0x0002e5, "cabovedot" }, - { 0x0002e6, "ccircumflex" }, - { 0x0002f5, "gabovedot" }, - { 0x0002f8, "gcircumflex" }, - { 0x0002fd, "ubreve" }, - { 0x0002fe, "scircumflex" }, - { 0x0003a2, "kappa" }, - { 0x0003a2, "kra" }, - { 0x0003a3, "Rcedilla" }, - { 0x0003a5, "Itilde" }, - { 0x0003a6, "Lcedilla" }, - { 0x0003aa, "Emacron" }, - { 0x0003ab, "Gcedilla" }, - { 0x0003ac, "Tslash" }, - { 0x0003b3, "rcedilla" }, - { 0x0003b5, "itilde" }, - { 0x0003b6, "lcedilla" }, - { 0x0003ba, "emacron" }, - { 0x0003bb, "gcedilla" }, - { 0x0003bc, "tslash" }, - { 0x0003bd, "ENG" }, - { 0x0003bf, "eng" }, - { 0x0003c0, "Amacron" }, - { 0x0003c7, "Iogonek" }, - { 0x0003cc, "Eabovedot" }, - { 0x0003cf, "Imacron" }, - { 0x0003d1, "Ncedilla" }, - { 0x0003d2, "Omacron" }, - { 0x0003d3, "Kcedilla" }, - { 0x0003d9, "Uogonek" }, - { 0x0003dd, "Utilde" }, - { 0x0003de, "Umacron" }, - { 0x0003e0, "amacron" }, - { 0x0003e7, "iogonek" }, - { 0x0003ec, "eabovedot" }, - { 0x0003ef, "imacron" }, - { 0x0003f1, "ncedilla" }, - { 0x0003f2, "omacron" }, - { 0x0003f3, "kcedilla" }, - { 0x0003f9, "uogonek" }, - { 0x0003fd, "utilde" }, - { 0x0003fe, "umacron" }, - { 0x00047e, "overline" }, - { 0x0004a1, "kana_fullstop" }, - { 0x0004a2, "kana_openingbracket" }, - { 0x0004a3, "kana_closingbracket" }, - { 0x0004a4, "kana_comma" }, - { 0x0004a5, "kana_conjunctive" }, - { 0x0004a5, "kana_middledot" }, - { 0x0004a6, "kana_WO" }, - { 0x0004a7, "kana_a" }, - { 0x0004a8, "kana_i" }, - { 0x0004a9, "kana_u" }, - { 0x0004aa, "kana_e" }, - { 0x0004ab, "kana_o" }, - { 0x0004ac, "kana_ya" }, - { 0x0004ad, "kana_yu" }, - { 0x0004ae, "kana_yo" }, - { 0x0004af, "kana_tsu" }, - { 0x0004af, "kana_tu" }, - { 0x0004b0, "prolongedsound" }, - { 0x0004b1, "kana_A" }, - { 0x0004b2, "kana_I" }, - { 0x0004b3, "kana_U" }, - { 0x0004b4, "kana_E" }, - { 0x0004b5, "kana_O" }, - { 0x0004b6, "kana_KA" }, - { 0x0004b7, "kana_KI" }, - { 0x0004b8, "kana_KU" }, - { 0x0004b9, "kana_KE" }, - { 0x0004ba, "kana_KO" }, - { 0x0004bb, "kana_SA" }, - { 0x0004bc, "kana_SHI" }, - { 0x0004bd, "kana_SU" }, - { 0x0004be, "kana_SE" }, - { 0x0004bf, "kana_SO" }, - { 0x0004c0, "kana_TA" }, - { 0x0004c1, "kana_CHI" }, - { 0x0004c1, "kana_TI" }, - { 0x0004c2, "kana_TSU" }, - { 0x0004c2, "kana_TU" }, - { 0x0004c3, "kana_TE" }, - { 0x0004c4, "kana_TO" }, - { 0x0004c5, "kana_NA" }, - { 0x0004c6, "kana_NI" }, - { 0x0004c7, "kana_NU" }, - { 0x0004c8, "kana_NE" }, - { 0x0004c9, "kana_NO" }, - { 0x0004ca, "kana_HA" }, - { 0x0004cb, "kana_HI" }, - { 0x0004cc, "kana_FU" }, - { 0x0004cc, "kana_HU" }, - { 0x0004cd, "kana_HE" }, - { 0x0004ce, "kana_HO" }, - { 0x0004cf, "kana_MA" }, - { 0x0004d0, "kana_MI" }, - { 0x0004d1, "kana_MU" }, - { 0x0004d2, "kana_ME" }, - { 0x0004d3, "kana_MO" }, - { 0x0004d4, "kana_YA" }, - { 0x0004d5, "kana_YU" }, - { 0x0004d6, "kana_YO" }, - { 0x0004d7, "kana_RA" }, - { 0x0004d8, "kana_RI" }, - { 0x0004d9, "kana_RU" }, - { 0x0004da, "kana_RE" }, - { 0x0004db, "kana_RO" }, - { 0x0004dc, "kana_WA" }, - { 0x0004dd, "kana_N" }, - { 0x0004de, "voicedsound" }, - { 0x0004df, "semivoicedsound" }, - { 0x0005ac, "Arabic_comma" }, - { 0x0005bb, "Arabic_semicolon" }, - { 0x0005bf, "Arabic_question_mark" }, - { 0x0005c1, "Arabic_hamza" }, - { 0x0005c2, "Arabic_maddaonalef" }, - { 0x0005c3, "Arabic_hamzaonalef" }, - { 0x0005c4, "Arabic_hamzaonwaw" }, - { 0x0005c5, "Arabic_hamzaunderalef" }, - { 0x0005c6, "Arabic_hamzaonyeh" }, - { 0x0005c7, "Arabic_alef" }, - { 0x0005c8, "Arabic_beh" }, - { 0x0005c9, "Arabic_tehmarbuta" }, - { 0x0005ca, "Arabic_teh" }, - { 0x0005cb, "Arabic_theh" }, - { 0x0005cc, "Arabic_jeem" }, - { 0x0005cd, "Arabic_hah" }, - { 0x0005ce, "Arabic_khah" }, - { 0x0005cf, "Arabic_dal" }, - { 0x0005d0, "Arabic_thal" }, - { 0x0005d1, "Arabic_ra" }, - { 0x0005d2, "Arabic_zain" }, - { 0x0005d3, "Arabic_seen" }, - { 0x0005d4, "Arabic_sheen" }, - { 0x0005d5, "Arabic_sad" }, - { 0x0005d6, "Arabic_dad" }, - { 0x0005d7, "Arabic_tah" }, - { 0x0005d8, "Arabic_zah" }, - { 0x0005d9, "Arabic_ain" }, - { 0x0005da, "Arabic_ghain" }, - { 0x0005e0, "Arabic_tatweel" }, - { 0x0005e1, "Arabic_feh" }, - { 0x0005e2, "Arabic_qaf" }, - { 0x0005e3, "Arabic_kaf" }, - { 0x0005e4, "Arabic_lam" }, - { 0x0005e5, "Arabic_meem" }, - { 0x0005e6, "Arabic_noon" }, - { 0x0005e7, "Arabic_ha" }, - { 0x0005e7, "Arabic_heh" }, - { 0x0005e8, "Arabic_waw" }, - { 0x0005e9, "Arabic_alefmaksura" }, - { 0x0005ea, "Arabic_yeh" }, - { 0x0005eb, "Arabic_fathatan" }, - { 0x0005ec, "Arabic_dammatan" }, - { 0x0005ed, "Arabic_kasratan" }, - { 0x0005ee, "Arabic_fatha" }, - { 0x0005ef, "Arabic_damma" }, - { 0x0005f0, "Arabic_kasra" }, - { 0x0005f1, "Arabic_shadda" }, - { 0x0005f2, "Arabic_sukun" }, - { 0x0006a1, "Serbian_dje" }, - { 0x0006a2, "Macedonia_gje" }, - { 0x0006a3, "Cyrillic_io" }, - { 0x0006a4, "Ukrainian_ie" }, - { 0x0006a4, "Ukranian_je" }, - { 0x0006a5, "Macedonia_dse" }, - { 0x0006a6, "Ukrainian_i" }, - { 0x0006a6, "Ukranian_i" }, - { 0x0006a7, "Ukrainian_yi" }, - { 0x0006a7, "Ukranian_yi" }, - { 0x0006a8, "Cyrillic_je" }, - { 0x0006a8, "Serbian_je" }, - { 0x0006a9, "Cyrillic_lje" }, - { 0x0006a9, "Serbian_lje" }, - { 0x0006aa, "Cyrillic_nje" }, - { 0x0006aa, "Serbian_nje" }, - { 0x0006ab, "Serbian_tshe" }, - { 0x0006ac, "Macedonia_kje" }, - { 0x0006ae, "Byelorussian_shortu" }, - { 0x0006af, "Cyrillic_dzhe" }, - { 0x0006af, "Serbian_dze" }, - { 0x0006b0, "numerosign" }, - { 0x0006b1, "Serbian_DJE" }, - { 0x0006b2, "Macedonia_GJE" }, - { 0x0006b3, "Cyrillic_IO" }, - { 0x0006b4, "Ukrainian_IE" }, - { 0x0006b4, "Ukranian_JE" }, - { 0x0006b5, "Macedonia_DSE" }, - { 0x0006b6, "Ukrainian_I" }, - { 0x0006b6, "Ukranian_I" }, - { 0x0006b7, "Ukrainian_YI" }, - { 0x0006b7, "Ukranian_YI" }, - { 0x0006b8, "Cyrillic_JE" }, - { 0x0006b8, "Serbian_JE" }, - { 0x0006b9, "Cyrillic_LJE" }, - { 0x0006b9, "Serbian_LJE" }, - { 0x0006ba, "Cyrillic_NJE" }, - { 0x0006ba, "Serbian_NJE" }, - { 0x0006bb, "Serbian_TSHE" }, - { 0x0006bc, "Macedonia_KJE" }, - { 0x0006be, "Byelorussian_SHORTU" }, - { 0x0006bf, "Cyrillic_DZHE" }, - { 0x0006bf, "Serbian_DZE" }, - { 0x0006c0, "Cyrillic_yu" }, - { 0x0006c1, "Cyrillic_a" }, - { 0x0006c2, "Cyrillic_be" }, - { 0x0006c3, "Cyrillic_tse" }, - { 0x0006c4, "Cyrillic_de" }, - { 0x0006c5, "Cyrillic_ie" }, - { 0x0006c6, "Cyrillic_ef" }, - { 0x0006c7, "Cyrillic_ghe" }, - { 0x0006c8, "Cyrillic_ha" }, - { 0x0006c9, "Cyrillic_i" }, - { 0x0006ca, "Cyrillic_shorti" }, - { 0x0006cb, "Cyrillic_ka" }, - { 0x0006cc, "Cyrillic_el" }, - { 0x0006cd, "Cyrillic_em" }, - { 0x0006ce, "Cyrillic_en" }, - { 0x0006cf, "Cyrillic_o" }, - { 0x0006d0, "Cyrillic_pe" }, - { 0x0006d1, "Cyrillic_ya" }, - { 0x0006d2, "Cyrillic_er" }, - { 0x0006d3, "Cyrillic_es" }, - { 0x0006d4, "Cyrillic_te" }, - { 0x0006d5, "Cyrillic_u" }, - { 0x0006d6, "Cyrillic_zhe" }, - { 0x0006d7, "Cyrillic_ve" }, - { 0x0006d8, "Cyrillic_softsign" }, - { 0x0006d9, "Cyrillic_yeru" }, - { 0x0006da, "Cyrillic_ze" }, - { 0x0006db, "Cyrillic_sha" }, - { 0x0006dc, "Cyrillic_e" }, - { 0x0006dd, "Cyrillic_shcha" }, - { 0x0006de, "Cyrillic_che" }, - { 0x0006df, "Cyrillic_hardsign" }, - { 0x0006e0, "Cyrillic_YU" }, - { 0x0006e1, "Cyrillic_A" }, - { 0x0006e2, "Cyrillic_BE" }, - { 0x0006e3, "Cyrillic_TSE" }, - { 0x0006e4, "Cyrillic_DE" }, - { 0x0006e5, "Cyrillic_IE" }, - { 0x0006e6, "Cyrillic_EF" }, - { 0x0006e7, "Cyrillic_GHE" }, - { 0x0006e8, "Cyrillic_HA" }, - { 0x0006e9, "Cyrillic_I" }, - { 0x0006ea, "Cyrillic_SHORTI" }, - { 0x0006eb, "Cyrillic_KA" }, - { 0x0006ec, "Cyrillic_EL" }, - { 0x0006ed, "Cyrillic_EM" }, - { 0x0006ee, "Cyrillic_EN" }, - { 0x0006ef, "Cyrillic_O" }, - { 0x0006f0, "Cyrillic_PE" }, - { 0x0006f1, "Cyrillic_YA" }, - { 0x0006f2, "Cyrillic_ER" }, - { 0x0006f3, "Cyrillic_ES" }, - { 0x0006f4, "Cyrillic_TE" }, - { 0x0006f5, "Cyrillic_U" }, - { 0x0006f6, "Cyrillic_ZHE" }, - { 0x0006f7, "Cyrillic_VE" }, - { 0x0006f8, "Cyrillic_SOFTSIGN" }, - { 0x0006f9, "Cyrillic_YERU" }, - { 0x0006fa, "Cyrillic_ZE" }, - { 0x0006fb, "Cyrillic_SHA" }, - { 0x0006fc, "Cyrillic_E" }, - { 0x0006fd, "Cyrillic_SHCHA" }, - { 0x0006fe, "Cyrillic_CHE" }, - { 0x0006ff, "Cyrillic_HARDSIGN" }, - { 0x0007a1, "Greek_ALPHAaccent" }, - { 0x0007a2, "Greek_EPSILONaccent" }, - { 0x0007a3, "Greek_ETAaccent" }, - { 0x0007a4, "Greek_IOTAaccent" }, - { 0x0007a5, "Greek_IOTAdieresis" }, - { 0x0007a5, "Greek_IOTAdiaeresis" }, - { 0x0007a7, "Greek_OMICRONaccent" }, - { 0x0007a8, "Greek_UPSILONaccent" }, - { 0x0007a9, "Greek_UPSILONdieresis" }, - { 0x0007ab, "Greek_OMEGAaccent" }, - { 0x0007ae, "Greek_accentdieresis" }, - { 0x0007af, "Greek_horizbar" }, - { 0x0007b1, "Greek_alphaaccent" }, - { 0x0007b2, "Greek_epsilonaccent" }, - { 0x0007b3, "Greek_etaaccent" }, - { 0x0007b4, "Greek_iotaaccent" }, - { 0x0007b5, "Greek_iotadieresis" }, - { 0x0007b6, "Greek_iotaaccentdieresis" }, - { 0x0007b7, "Greek_omicronaccent" }, - { 0x0007b8, "Greek_upsilonaccent" }, - { 0x0007b9, "Greek_upsilondieresis" }, - { 0x0007ba, "Greek_upsilonaccentdieresis" }, - { 0x0007bb, "Greek_omegaaccent" }, - { 0x0007c1, "Greek_ALPHA" }, - { 0x0007c2, "Greek_BETA" }, - { 0x0007c3, "Greek_GAMMA" }, - { 0x0007c4, "Greek_DELTA" }, - { 0x0007c5, "Greek_EPSILON" }, - { 0x0007c6, "Greek_ZETA" }, - { 0x0007c7, "Greek_ETA" }, - { 0x0007c8, "Greek_THETA" }, - { 0x0007c9, "Greek_IOTA" }, - { 0x0007ca, "Greek_KAPPA" }, - { 0x0007cb, "Greek_LAMBDA" }, - { 0x0007cb, "Greek_LAMDA" }, - { 0x0007cc, "Greek_MU" }, - { 0x0007cd, "Greek_NU" }, - { 0x0007ce, "Greek_XI" }, - { 0x0007cf, "Greek_OMICRON" }, - { 0x0007d0, "Greek_PI" }, - { 0x0007d1, "Greek_RHO" }, - { 0x0007d2, "Greek_SIGMA" }, - { 0x0007d4, "Greek_TAU" }, - { 0x0007d5, "Greek_UPSILON" }, - { 0x0007d6, "Greek_PHI" }, - { 0x0007d7, "Greek_CHI" }, - { 0x0007d8, "Greek_PSI" }, - { 0x0007d9, "Greek_OMEGA" }, - { 0x0007e1, "Greek_alpha" }, - { 0x0007e2, "Greek_beta" }, - { 0x0007e3, "Greek_gamma" }, - { 0x0007e4, "Greek_delta" }, - { 0x0007e5, "Greek_epsilon" }, - { 0x0007e6, "Greek_zeta" }, - { 0x0007e7, "Greek_eta" }, - { 0x0007e8, "Greek_theta" }, - { 0x0007e9, "Greek_iota" }, - { 0x0007ea, "Greek_kappa" }, - { 0x0007eb, "Greek_lambda" }, - { 0x0007eb, "Greek_lamda" }, - { 0x0007ec, "Greek_mu" }, - { 0x0007ed, "Greek_nu" }, - { 0x0007ee, "Greek_xi" }, - { 0x0007ef, "Greek_omicron" }, - { 0x0007f0, "Greek_pi" }, - { 0x0007f1, "Greek_rho" }, - { 0x0007f2, "Greek_sigma" }, - { 0x0007f3, "Greek_finalsmallsigma" }, - { 0x0007f4, "Greek_tau" }, - { 0x0007f5, "Greek_upsilon" }, - { 0x0007f6, "Greek_phi" }, - { 0x0007f7, "Greek_chi" }, - { 0x0007f8, "Greek_psi" }, - { 0x0007f9, "Greek_omega" }, - { 0x0008a1, "leftradical" }, - { 0x0008a2, "topleftradical" }, - { 0x0008a3, "horizconnector" }, - { 0x0008a4, "topintegral" }, - { 0x0008a5, "botintegral" }, - { 0x0008a6, "vertconnector" }, - { 0x0008a7, "topleftsqbracket" }, - { 0x0008a8, "botleftsqbracket" }, - { 0x0008a9, "toprightsqbracket" }, - { 0x0008aa, "botrightsqbracket" }, - { 0x0008ab, "topleftparens" }, - { 0x0008ac, "botleftparens" }, - { 0x0008ad, "toprightparens" }, - { 0x0008ae, "botrightparens" }, - { 0x0008af, "leftmiddlecurlybrace" }, - { 0x0008b0, "rightmiddlecurlybrace" }, - { 0x0008b1, "topleftsummation" }, - { 0x0008b2, "botleftsummation" }, - { 0x0008b3, "topvertsummationconnector" }, - { 0x0008b4, "botvertsummationconnector" }, - { 0x0008b5, "toprightsummation" }, - { 0x0008b6, "botrightsummation" }, - { 0x0008b7, "rightmiddlesummation" }, - { 0x0008bc, "lessthanequal" }, - { 0x0008bd, "notequal" }, - { 0x0008be, "greaterthanequal" }, - { 0x0008bf, "integral" }, - { 0x0008c0, "therefore" }, - { 0x0008c1, "variation" }, - { 0x0008c2, "infinity" }, - { 0x0008c5, "nabla" }, - { 0x0008c8, "approximate" }, - { 0x0008c9, "similarequal" }, - { 0x0008cd, "ifonlyif" }, - { 0x0008ce, "implies" }, - { 0x0008cf, "identical" }, - { 0x0008d6, "radical" }, - { 0x0008da, "includedin" }, - { 0x0008db, "includes" }, - { 0x0008dc, "intersection" }, - { 0x0008dd, "union" }, - { 0x0008de, "logicaland" }, - { 0x0008df, "logicalor" }, - { 0x0008ef, "partialderivative" }, - { 0x0008f6, "function" }, - { 0x0008fb, "leftarrow" }, - { 0x0008fc, "uparrow" }, - { 0x0008fd, "rightarrow" }, - { 0x0008fe, "downarrow" }, - { 0x0009df, "blank" }, - { 0x0009e0, "soliddiamond" }, - { 0x0009e1, "checkerboard" }, - { 0x0009e2, "ht" }, - { 0x0009e3, "ff" }, - { 0x0009e4, "cr" }, - { 0x0009e5, "lf" }, - { 0x0009e8, "nl" }, - { 0x0009e9, "vt" }, - { 0x0009ea, "lowrightcorner" }, - { 0x0009eb, "uprightcorner" }, - { 0x0009ec, "upleftcorner" }, - { 0x0009ed, "lowleftcorner" }, - { 0x0009ee, "crossinglines" }, - { 0x0009ef, "horizlinescan1" }, - { 0x0009f0, "horizlinescan3" }, - { 0x0009f1, "horizlinescan5" }, - { 0x0009f2, "horizlinescan7" }, - { 0x0009f3, "horizlinescan9" }, - { 0x0009f4, "leftt" }, - { 0x0009f5, "rightt" }, - { 0x0009f6, "bott" }, - { 0x0009f7, "topt" }, - { 0x0009f8, "vertbar" }, - { 0x000aa1, "emspace" }, - { 0x000aa2, "enspace" }, - { 0x000aa3, "em3space" }, - { 0x000aa4, "em4space" }, - { 0x000aa5, "digitspace" }, - { 0x000aa6, "punctspace" }, - { 0x000aa7, "thinspace" }, - { 0x000aa8, "hairspace" }, - { 0x000aa9, "emdash" }, - { 0x000aaa, "endash" }, - { 0x000aac, "signifblank" }, - { 0x000aae, "ellipsis" }, - { 0x000aaf, "doubbaselinedot" }, - { 0x000ab0, "onethird" }, - { 0x000ab1, "twothirds" }, - { 0x000ab2, "onefifth" }, - { 0x000ab3, "twofifths" }, - { 0x000ab4, "threefifths" }, - { 0x000ab5, "fourfifths" }, - { 0x000ab6, "onesixth" }, - { 0x000ab7, "fivesixths" }, - { 0x000ab8, "careof" }, - { 0x000abb, "figdash" }, - { 0x000abc, "leftanglebracket" }, - { 0x000abd, "decimalpoint" }, - { 0x000abe, "rightanglebracket" }, - { 0x000abf, "marker" }, - { 0x000ac3, "oneeighth" }, - { 0x000ac4, "threeeighths" }, - { 0x000ac5, "fiveeighths" }, - { 0x000ac6, "seveneighths" }, - { 0x000ac9, "trademark" }, - { 0x000aca, "signaturemark" }, - { 0x000acb, "trademarkincircle" }, - { 0x000acc, "leftopentriangle" }, - { 0x000acd, "rightopentriangle" }, - { 0x000ace, "emopencircle" }, - { 0x000acf, "emopenrectangle" }, - { 0x000ad0, "leftsinglequotemark" }, - { 0x000ad1, "rightsinglequotemark" }, - { 0x000ad2, "leftdoublequotemark" }, - { 0x000ad3, "rightdoublequotemark" }, - { 0x000ad4, "prescription" }, - { 0x000ad6, "minutes" }, - { 0x000ad7, "seconds" }, - { 0x000ad9, "latincross" }, - { 0x000ada, "hexagram" }, - { 0x000adb, "filledrectbullet" }, - { 0x000adc, "filledlefttribullet" }, - { 0x000add, "filledrighttribullet" }, - { 0x000ade, "emfilledcircle" }, - { 0x000adf, "emfilledrect" }, - { 0x000ae0, "enopencircbullet" }, - { 0x000ae1, "enopensquarebullet" }, - { 0x000ae2, "openrectbullet" }, - { 0x000ae3, "opentribulletup" }, - { 0x000ae4, "opentribulletdown" }, - { 0x000ae5, "openstar" }, - { 0x000ae6, "enfilledcircbullet" }, - { 0x000ae7, "enfilledsqbullet" }, - { 0x000ae8, "filledtribulletup" }, - { 0x000ae9, "filledtribulletdown" }, - { 0x000aea, "leftpointer" }, - { 0x000aeb, "rightpointer" }, - { 0x000aec, "club" }, - { 0x000aed, "diamond" }, - { 0x000aee, "heart" }, - { 0x000af0, "maltesecross" }, - { 0x000af1, "dagger" }, - { 0x000af2, "doubledagger" }, - { 0x000af3, "checkmark" }, - { 0x000af4, "ballotcross" }, - { 0x000af5, "musicalsharp" }, - { 0x000af6, "musicalflat" }, - { 0x000af7, "malesymbol" }, - { 0x000af8, "femalesymbol" }, - { 0x000af9, "telephone" }, - { 0x000afa, "telephonerecorder" }, - { 0x000afb, "phonographcopyright" }, - { 0x000afc, "caret" }, - { 0x000afd, "singlelowquotemark" }, - { 0x000afe, "doublelowquotemark" }, - { 0x000aff, "cursor" }, - { 0x000ba3, "leftcaret" }, - { 0x000ba6, "rightcaret" }, - { 0x000ba8, "downcaret" }, - { 0x000ba9, "upcaret" }, - { 0x000bc0, "overbar" }, - { 0x000bc2, "downtack" }, - { 0x000bc3, "upshoe" }, - { 0x000bc4, "downstile" }, - { 0x000bc6, "underbar" }, - { 0x000bca, "jot" }, - { 0x000bcc, "quad" }, - { 0x000bce, "uptack" }, - { 0x000bcf, "circle" }, - { 0x000bd3, "upstile" }, - { 0x000bd6, "downshoe" }, - { 0x000bd8, "rightshoe" }, - { 0x000bda, "leftshoe" }, - { 0x000bdc, "lefttack" }, - { 0x000bfc, "righttack" }, - { 0x000cdf, "hebrew_doublelowline" }, - { 0x000ce0, "hebrew_aleph" }, - { 0x000ce1, "hebrew_bet" }, - { 0x000ce1, "hebrew_beth" }, - { 0x000ce2, "hebrew_gimel" }, - { 0x000ce2, "hebrew_gimmel" }, - { 0x000ce3, "hebrew_dalet" }, - { 0x000ce3, "hebrew_daleth" }, - { 0x000ce4, "hebrew_he" }, - { 0x000ce5, "hebrew_waw" }, - { 0x000ce6, "hebrew_zain" }, - { 0x000ce6, "hebrew_zayin" }, - { 0x000ce7, "hebrew_chet" }, - { 0x000ce7, "hebrew_het" }, - { 0x000ce8, "hebrew_tet" }, - { 0x000ce8, "hebrew_teth" }, - { 0x000ce9, "hebrew_yod" }, - { 0x000cea, "hebrew_finalkaph" }, - { 0x000ceb, "hebrew_kaph" }, - { 0x000cec, "hebrew_lamed" }, - { 0x000ced, "hebrew_finalmem" }, - { 0x000cee, "hebrew_mem" }, - { 0x000cef, "hebrew_finalnun" }, - { 0x000cf0, "hebrew_nun" }, - { 0x000cf1, "hebrew_samech" }, - { 0x000cf1, "hebrew_samekh" }, - { 0x000cf2, "hebrew_ayin" }, - { 0x000cf3, "hebrew_finalpe" }, - { 0x000cf4, "hebrew_pe" }, - { 0x000cf5, "hebrew_finalzade" }, - { 0x000cf5, "hebrew_finalzadi" }, - { 0x000cf6, "hebrew_zade" }, - { 0x000cf6, "hebrew_zadi" }, - { 0x000cf7, "hebrew_kuf" }, - { 0x000cf7, "hebrew_qoph" }, - { 0x000cf8, "hebrew_resh" }, - { 0x000cf9, "hebrew_shin" }, - { 0x000cfa, "hebrew_taf" }, - { 0x000cfa, "hebrew_taw" }, - { 0x000da1, "Thai_kokai" }, - { 0x000da2, "Thai_khokhai" }, - { 0x000da3, "Thai_khokhuat" }, - { 0x000da4, "Thai_khokhwai" }, - { 0x000da5, "Thai_khokhon" }, - { 0x000da6, "Thai_khorakhang" }, - { 0x000da7, "Thai_ngongu" }, - { 0x000da8, "Thai_chochan" }, - { 0x000da9, "Thai_choching" }, - { 0x000daa, "Thai_chochang" }, - { 0x000dab, "Thai_soso" }, - { 0x000dac, "Thai_chochoe" }, - { 0x000dad, "Thai_yoying" }, - { 0x000dae, "Thai_dochada" }, - { 0x000daf, "Thai_topatak" }, - { 0x000db0, "Thai_thothan" }, - { 0x000db1, "Thai_thonangmontho" }, - { 0x000db2, "Thai_thophuthao" }, - { 0x000db3, "Thai_nonen" }, - { 0x000db4, "Thai_dodek" }, - { 0x000db5, "Thai_totao" }, - { 0x000db6, "Thai_thothung" }, - { 0x000db7, "Thai_thothahan" }, - { 0x000db8, "Thai_thothong" }, - { 0x000db9, "Thai_nonu" }, - { 0x000dba, "Thai_bobaimai" }, - { 0x000dbb, "Thai_popla" }, - { 0x000dbc, "Thai_phophung" }, - { 0x000dbd, "Thai_fofa" }, - { 0x000dbe, "Thai_phophan" }, - { 0x000dbf, "Thai_fofan" }, - { 0x000dc0, "Thai_phosamphao" }, - { 0x000dc1, "Thai_moma" }, - { 0x000dc2, "Thai_yoyak" }, - { 0x000dc3, "Thai_rorua" }, - { 0x000dc4, "Thai_ru" }, - { 0x000dc5, "Thai_loling" }, - { 0x000dc6, "Thai_lu" }, - { 0x000dc7, "Thai_wowaen" }, - { 0x000dc8, "Thai_sosala" }, - { 0x000dc9, "Thai_sorusi" }, - { 0x000dca, "Thai_sosua" }, - { 0x000dcb, "Thai_hohip" }, - { 0x000dcc, "Thai_lochula" }, - { 0x000dcd, "Thai_oang" }, - { 0x000dce, "Thai_honokhuk" }, - { 0x000dcf, "Thai_paiyannoi" }, - { 0x000dd0, "Thai_saraa" }, - { 0x000dd1, "Thai_maihanakat" }, - { 0x000dd2, "Thai_saraaa" }, - { 0x000dd3, "Thai_saraam" }, - { 0x000dd4, "Thai_sarai" }, - { 0x000dd5, "Thai_saraii" }, - { 0x000dd6, "Thai_saraue" }, - { 0x000dd7, "Thai_sarauee" }, - { 0x000dd8, "Thai_sarau" }, - { 0x000dd9, "Thai_sarauu" }, - { 0x000dda, "Thai_phinthu" }, - { 0x000dde, "Thai_maihanakat_maitho" }, - { 0x000ddf, "Thai_baht" }, - { 0x000de0, "Thai_sarae" }, - { 0x000de1, "Thai_saraae" }, - { 0x000de2, "Thai_sarao" }, - { 0x000de3, "Thai_saraaimaimuan" }, - { 0x000de4, "Thai_saraaimaimalai" }, - { 0x000de5, "Thai_lakkhangyao" }, - { 0x000de6, "Thai_maiyamok" }, - { 0x000de7, "Thai_maitaikhu" }, - { 0x000de8, "Thai_maiek" }, - { 0x000de9, "Thai_maitho" }, - { 0x000dea, "Thai_maitri" }, - { 0x000deb, "Thai_maichattawa" }, - { 0x000dec, "Thai_thanthakhat" }, - { 0x000ded, "Thai_nikhahit" }, - { 0x000df0, "Thai_leksun" }, - { 0x000df1, "Thai_leknung" }, - { 0x000df2, "Thai_leksong" }, - { 0x000df3, "Thai_leksam" }, - { 0x000df4, "Thai_leksi" }, - { 0x000df5, "Thai_lekha" }, - { 0x000df6, "Thai_lekhok" }, - { 0x000df7, "Thai_lekchet" }, - { 0x000df8, "Thai_lekpaet" }, - { 0x000df9, "Thai_lekkao" }, - { 0x000ea1, "Hangul_Kiyeog" }, - { 0x000ea2, "Hangul_SsangKiyeog" }, - { 0x000ea3, "Hangul_KiyeogSios" }, - { 0x000ea4, "Hangul_Nieun" }, - { 0x000ea5, "Hangul_NieunJieuj" }, - { 0x000ea6, "Hangul_NieunHieuh" }, - { 0x000ea7, "Hangul_Dikeud" }, - { 0x000ea8, "Hangul_SsangDikeud" }, - { 0x000ea9, "Hangul_Rieul" }, - { 0x000eaa, "Hangul_RieulKiyeog" }, - { 0x000eab, "Hangul_RieulMieum" }, - { 0x000eac, "Hangul_RieulPieub" }, - { 0x000ead, "Hangul_RieulSios" }, - { 0x000eae, "Hangul_RieulTieut" }, - { 0x000eaf, "Hangul_RieulPhieuf" }, - { 0x000eb0, "Hangul_RieulHieuh" }, - { 0x000eb1, "Hangul_Mieum" }, - { 0x000eb2, "Hangul_Pieub" }, - { 0x000eb3, "Hangul_SsangPieub" }, - { 0x000eb4, "Hangul_PieubSios" }, - { 0x000eb5, "Hangul_Sios" }, - { 0x000eb6, "Hangul_SsangSios" }, - { 0x000eb7, "Hangul_Ieung" }, - { 0x000eb8, "Hangul_Jieuj" }, - { 0x000eb9, "Hangul_SsangJieuj" }, - { 0x000eba, "Hangul_Cieuc" }, - { 0x000ebb, "Hangul_Khieuq" }, - { 0x000ebc, "Hangul_Tieut" }, - { 0x000ebd, "Hangul_Phieuf" }, - { 0x000ebe, "Hangul_Hieuh" }, - { 0x000ebf, "Hangul_A" }, - { 0x000ec0, "Hangul_AE" }, - { 0x000ec1, "Hangul_YA" }, - { 0x000ec2, "Hangul_YAE" }, - { 0x000ec3, "Hangul_EO" }, - { 0x000ec4, "Hangul_E" }, - { 0x000ec5, "Hangul_YEO" }, - { 0x000ec6, "Hangul_YE" }, - { 0x000ec7, "Hangul_O" }, - { 0x000ec8, "Hangul_WA" }, - { 0x000ec9, "Hangul_WAE" }, - { 0x000eca, "Hangul_OE" }, - { 0x000ecb, "Hangul_YO" }, - { 0x000ecc, "Hangul_U" }, - { 0x000ecd, "Hangul_WEO" }, - { 0x000ece, "Hangul_WE" }, - { 0x000ecf, "Hangul_WI" }, - { 0x000ed0, "Hangul_YU" }, - { 0x000ed1, "Hangul_EU" }, - { 0x000ed2, "Hangul_YI" }, - { 0x000ed3, "Hangul_I" }, - { 0x000ed4, "Hangul_J_Kiyeog" }, - { 0x000ed5, "Hangul_J_SsangKiyeog" }, - { 0x000ed6, "Hangul_J_KiyeogSios" }, - { 0x000ed7, "Hangul_J_Nieun" }, - { 0x000ed8, "Hangul_J_NieunJieuj" }, - { 0x000ed9, "Hangul_J_NieunHieuh" }, - { 0x000eda, "Hangul_J_Dikeud" }, - { 0x000edb, "Hangul_J_Rieul" }, - { 0x000edc, "Hangul_J_RieulKiyeog" }, - { 0x000edd, "Hangul_J_RieulMieum" }, - { 0x000ede, "Hangul_J_RieulPieub" }, - { 0x000edf, "Hangul_J_RieulSios" }, - { 0x000ee0, "Hangul_J_RieulTieut" }, - { 0x000ee1, "Hangul_J_RieulPhieuf" }, - { 0x000ee2, "Hangul_J_RieulHieuh" }, - { 0x000ee3, "Hangul_J_Mieum" }, - { 0x000ee4, "Hangul_J_Pieub" }, - { 0x000ee5, "Hangul_J_PieubSios" }, - { 0x000ee6, "Hangul_J_Sios" }, - { 0x000ee7, "Hangul_J_SsangSios" }, - { 0x000ee8, "Hangul_J_Ieung" }, - { 0x000ee9, "Hangul_J_Jieuj" }, - { 0x000eea, "Hangul_J_Cieuc" }, - { 0x000eeb, "Hangul_J_Khieuq" }, - { 0x000eec, "Hangul_J_Tieut" }, - { 0x000eed, "Hangul_J_Phieuf" }, - { 0x000eee, "Hangul_J_Hieuh" }, - { 0x000eef, "Hangul_RieulYeorinHieuh" }, - { 0x000ef0, "Hangul_SunkyeongeumMieum" }, - { 0x000ef1, "Hangul_SunkyeongeumPieub" }, - { 0x000ef2, "Hangul_PanSios" }, - { 0x000ef3, "Hangul_KkogjiDalrinIeung" }, - { 0x000ef4, "Hangul_SunkyeongeumPhieuf" }, - { 0x000ef5, "Hangul_YeorinHieuh" }, - { 0x000ef6, "Hangul_AraeA" }, - { 0x000ef7, "Hangul_AraeAE" }, - { 0x000ef8, "Hangul_J_PanSios" }, - { 0x000ef9, "Hangul_J_KkogjiDalrinIeung" }, - { 0x000efa, "Hangul_J_YeorinHieuh" }, - { 0x000eff, "Korean_Won" }, - { 0x0013bc, "OE" }, - { 0x0013bd, "oe" }, - { 0x0013be, "Ydiaeresis" }, - { 0x0020a0, "EcuSign" }, - { 0x0020a1, "ColonSign" }, - { 0x0020a2, "CruzeiroSign" }, - { 0x0020a3, "FFrancSign" }, - { 0x0020a4, "LiraSign" }, - { 0x0020a5, "MillSign" }, - { 0x0020a6, "NairaSign" }, - { 0x0020a7, "PesetaSign" }, - { 0x0020a8, "RupeeSign" }, - { 0x0020a9, "WonSign" }, - { 0x0020aa, "NewSheqelSign" }, - { 0x0020ab, "DongSign" }, - { 0x0020ac, "EuroSign" }, - { 0x00fd01, "3270_Duplicate" }, - { 0x00fd02, "3270_FieldMark" }, - { 0x00fd03, "3270_Right2" }, - { 0x00fd04, "3270_Left2" }, - { 0x00fd05, "3270_BackTab" }, - { 0x00fd06, "3270_EraseEOF" }, - { 0x00fd07, "3270_EraseInput" }, - { 0x00fd08, "3270_Reset" }, - { 0x00fd09, "3270_Quit" }, - { 0x00fd0a, "3270_PA1" }, - { 0x00fd0b, "3270_PA2" }, - { 0x00fd0c, "3270_PA3" }, - { 0x00fd0d, "3270_Test" }, - { 0x00fd0e, "3270_Attn" }, - { 0x00fd0f, "3270_CursorBlink" }, - { 0x00fd10, "3270_AltCursor" }, - { 0x00fd11, "3270_KeyClick" }, - { 0x00fd12, "3270_Jump" }, - { 0x00fd13, "3270_Ident" }, - { 0x00fd14, "3270_Rule" }, - { 0x00fd15, "3270_Copy" }, - { 0x00fd16, "3270_Play" }, - { 0x00fd17, "3270_Setup" }, - { 0x00fd18, "3270_Record" }, - { 0x00fd19, "3270_ChangeScreen" }, - { 0x00fd1a, "3270_DeleteWord" }, - { 0x00fd1b, "3270_ExSelect" }, - { 0x00fd1c, "3270_CursorSelect" }, - { 0x00fd1d, "3270_PrintScreen" }, - { 0x00fd1e, "3270_Enter" }, - { 0x00fe01, "ISO_Lock" }, - { 0x00fe02, "ISO_Level2_Latch" }, - { 0x00fe03, "ISO_Level3_Shift" }, - { 0x00fe04, "ISO_Level3_Latch" }, - { 0x00fe05, "ISO_Level3_Lock" }, - { 0x00fe06, "ISO_Group_Latch" }, - { 0x00fe07, "ISO_Group_Lock" }, - { 0x00fe08, "ISO_Next_Group" }, - { 0x00fe09, "ISO_Next_Group_Lock" }, - { 0x00fe0a, "ISO_Prev_Group" }, - { 0x00fe0b, "ISO_Prev_Group_Lock" }, - { 0x00fe0c, "ISO_First_Group" }, - { 0x00fe0d, "ISO_First_Group_Lock" }, - { 0x00fe0e, "ISO_Last_Group" }, - { 0x00fe0f, "ISO_Last_Group_Lock" }, - { 0x00fe20, "ISO_Left_Tab" }, - { 0x00fe21, "ISO_Move_Line_Up" }, - { 0x00fe22, "ISO_Move_Line_Down" }, - { 0x00fe23, "ISO_Partial_Line_Up" }, - { 0x00fe24, "ISO_Partial_Line_Down" }, - { 0x00fe25, "ISO_Partial_Space_Left" }, - { 0x00fe26, "ISO_Partial_Space_Right" }, - { 0x00fe27, "ISO_Set_Margin_Left" }, - { 0x00fe28, "ISO_Set_Margin_Right" }, - { 0x00fe29, "ISO_Release_Margin_Left" }, - { 0x00fe2a, "ISO_Release_Margin_Right" }, - { 0x00fe2b, "ISO_Release_Both_Margins" }, - { 0x00fe2c, "ISO_Fast_Cursor_Left" }, - { 0x00fe2d, "ISO_Fast_Cursor_Right" }, - { 0x00fe2e, "ISO_Fast_Cursor_Up" }, - { 0x00fe2f, "ISO_Fast_Cursor_Down" }, - { 0x00fe30, "ISO_Continuous_Underline" }, - { 0x00fe31, "ISO_Discontinuous_Underline" }, - { 0x00fe32, "ISO_Emphasize" }, - { 0x00fe33, "ISO_Center_Object" }, - { 0x00fe34, "ISO_Enter" }, - { 0x00fe50, "dead_grave" }, - { 0x00fe51, "dead_acute" }, - { 0x00fe52, "dead_circumflex" }, - { 0x00fe53, "dead_tilde" }, - { 0x00fe54, "dead_macron" }, - { 0x00fe55, "dead_breve" }, - { 0x00fe56, "dead_abovedot" }, - { 0x00fe57, "dead_diaeresis" }, - { 0x00fe58, "dead_abovering" }, - { 0x00fe59, "dead_doubleacute" }, - { 0x00fe5a, "dead_caron" }, - { 0x00fe5b, "dead_cedilla" }, - { 0x00fe5c, "dead_ogonek" }, - { 0x00fe5d, "dead_iota" }, - { 0x00fe5e, "dead_voiced_sound" }, - { 0x00fe5f, "dead_semivoiced_sound" }, - { 0x00fe60, "dead_belowdot" }, - { 0x00fe61, "dead_hook" }, - { 0x00fe62, "dead_horn" }, - { 0x00fe70, "AccessX_Enable" }, - { 0x00fe71, "AccessX_Feedback_Enable" }, - { 0x00fe72, "RepeatKeys_Enable" }, - { 0x00fe73, "SlowKeys_Enable" }, - { 0x00fe74, "BounceKeys_Enable" }, - { 0x00fe75, "StickyKeys_Enable" }, - { 0x00fe76, "MouseKeys_Enable" }, - { 0x00fe77, "MouseKeys_Accel_Enable" }, - { 0x00fe78, "Overlay1_Enable" }, - { 0x00fe79, "Overlay2_Enable" }, - { 0x00fe7a, "AudibleBell_Enable" }, - { 0x00fed0, "First_Virtual_Screen" }, - { 0x00fed1, "Prev_Virtual_Screen" }, - { 0x00fed2, "Next_Virtual_Screen" }, - { 0x00fed4, "Last_Virtual_Screen" }, - { 0x00fed5, "Terminate_Server" }, - { 0x00fee0, "Pointer_Left" }, - { 0x00fee1, "Pointer_Right" }, - { 0x00fee2, "Pointer_Up" }, - { 0x00fee3, "Pointer_Down" }, - { 0x00fee4, "Pointer_UpLeft" }, - { 0x00fee5, "Pointer_UpRight" }, - { 0x00fee6, "Pointer_DownLeft" }, - { 0x00fee7, "Pointer_DownRight" }, - { 0x00fee8, "Pointer_Button_Dflt" }, - { 0x00fee9, "Pointer_Button1" }, - { 0x00feea, "Pointer_Button2" }, - { 0x00feeb, "Pointer_Button3" }, - { 0x00feec, "Pointer_Button4" }, - { 0x00feed, "Pointer_Button5" }, - { 0x00feee, "Pointer_DblClick_Dflt" }, - { 0x00feef, "Pointer_DblClick1" }, - { 0x00fef0, "Pointer_DblClick2" }, - { 0x00fef1, "Pointer_DblClick3" }, - { 0x00fef2, "Pointer_DblClick4" }, - { 0x00fef3, "Pointer_DblClick5" }, - { 0x00fef4, "Pointer_Drag_Dflt" }, - { 0x00fef5, "Pointer_Drag1" }, - { 0x00fef6, "Pointer_Drag2" }, - { 0x00fef7, "Pointer_Drag3" }, - { 0x00fef8, "Pointer_Drag4" }, - { 0x00fef9, "Pointer_EnableKeys" }, - { 0x00fefa, "Pointer_Accelerate" }, - { 0x00fefb, "Pointer_DfltBtnNext" }, - { 0x00fefc, "Pointer_DfltBtnPrev" }, - { 0x00fefd, "Pointer_Drag5" }, - { 0x00ff08, "BackSpace" }, - { 0x00ff09, "Tab" }, - { 0x00ff0a, "Linefeed" }, - { 0x00ff0b, "Clear" }, - { 0x00ff0d, "Return" }, - { 0x00ff13, "Pause" }, - { 0x00ff14, "Scroll_Lock" }, - { 0x00ff15, "Sys_Req" }, - { 0x00ff1b, "Escape" }, - { 0x00ff20, "Multi_key" }, - { 0x00ff21, "Kanji" }, - { 0x00ff22, "Muhenkan" }, - { 0x00ff23, "Henkan" }, - { 0x00ff23, "Henkan_Mode" }, - { 0x00ff24, "Romaji" }, - { 0x00ff25, "Hiragana" }, - { 0x00ff26, "Katakana" }, - { 0x00ff27, "Hiragana_Katakana" }, - { 0x00ff28, "Zenkaku" }, - { 0x00ff29, "Hankaku" }, - { 0x00ff2a, "Zenkaku_Hankaku" }, - { 0x00ff2b, "Touroku" }, - { 0x00ff2c, "Massyo" }, - { 0x00ff2d, "Kana_Lock" }, - { 0x00ff2e, "Kana_Shift" }, - { 0x00ff2f, "Eisu_Shift" }, - { 0x00ff30, "Eisu_toggle" }, - { 0x00ff31, "Hangul" }, - { 0x00ff32, "Hangul_Start" }, - { 0x00ff33, "Hangul_End" }, - { 0x00ff34, "Hangul_Hanja" }, - { 0x00ff35, "Hangul_Jamo" }, - { 0x00ff36, "Hangul_Romaja" }, - { 0x00ff37, "Codeinput" }, - { 0x00ff38, "Hangul_Jeonja" }, - { 0x00ff39, "Hangul_Banja" }, - { 0x00ff3a, "Hangul_PreHanja" }, - { 0x00ff3b, "Hangul_PostHanja" }, - { 0x00ff3c, "SingleCandidate" }, - { 0x00ff3d, "MultipleCandidate" }, - { 0x00ff3e, "PreviousCandidate" }, - { 0x00ff3f, "Hangul_Special" }, - { 0x00ff50, "Home" }, - { 0x00ff51, "Left" }, - { 0x00ff52, "Up" }, - { 0x00ff53, "Right" }, - { 0x00ff54, "Down" }, - { 0x00ff55, "Page_Up" }, - { 0x00ff55, "Prior" }, - { 0x00ff56, "Page_Down" }, - { 0x00ff56, "Next" }, - { 0x00ff57, "End" }, - { 0x00ff58, "Begin" }, - { 0x00ff60, "Select" }, - { 0x00ff61, "Print" }, - { 0x00ff62, "Execute" }, - { 0x00ff63, "Insert" }, - { 0x00ff65, "Undo" }, - { 0x00ff66, "Redo" }, - { 0x00ff67, "Menu" }, - { 0x00ff68, "Find" }, - { 0x00ff69, "Cancel" }, - { 0x00ff6a, "Help" }, - { 0x00ff6b, "Break" }, - { 0x00ff7e, "Arabic_switch" }, - { 0x00ff7e, "Greek_switch" }, - { 0x00ff7e, "Hangul_switch" }, - { 0x00ff7e, "Hebrew_switch" }, - { 0x00ff7e, "ISO_Group_Shift" }, - { 0x00ff7e, "Mode_switch" }, - { 0x00ff7e, "kana_switch" }, - { 0x00ff7e, "script_switch" }, - { 0x00ff7f, "Num_Lock" }, - { 0x00ff80, "KP_Space" }, - { 0x00ff89, "KP_Tab" }, - { 0x00ff8d, "KP_Enter" }, - { 0x00ff91, "KP_F1" }, - { 0x00ff92, "KP_F2" }, - { 0x00ff93, "KP_F3" }, - { 0x00ff94, "KP_F4" }, - { 0x00ff95, "KP_Home" }, - { 0x00ff96, "KP_Left" }, - { 0x00ff97, "KP_Up" }, - { 0x00ff98, "KP_Right" }, - { 0x00ff99, "KP_Down" }, - { 0x00ff9a, "KP_Page_Up" }, - { 0x00ff9a, "KP_Prior" }, - { 0x00ff9b, "KP_Page_Down" }, - { 0x00ff9b, "KP_Next" }, - { 0x00ff9c, "KP_End" }, - { 0x00ff9d, "KP_Begin" }, - { 0x00ff9e, "KP_Insert" }, - { 0x00ff9f, "KP_Delete" }, - { 0x00ffaa, "KP_Multiply" }, - { 0x00ffab, "KP_Add" }, - { 0x00ffac, "KP_Separator" }, - { 0x00ffad, "KP_Subtract" }, - { 0x00ffae, "KP_Decimal" }, - { 0x00ffaf, "KP_Divide" }, - { 0x00ffb0, "KP_0" }, - { 0x00ffb1, "KP_1" }, - { 0x00ffb2, "KP_2" }, - { 0x00ffb3, "KP_3" }, - { 0x00ffb4, "KP_4" }, - { 0x00ffb5, "KP_5" }, - { 0x00ffb6, "KP_6" }, - { 0x00ffb7, "KP_7" }, - { 0x00ffb8, "KP_8" }, - { 0x00ffb9, "KP_9" }, - { 0x00ffbd, "KP_Equal" }, - { 0x00ffbe, "F1" }, - { 0x00ffbf, "F2" }, - { 0x00ffc0, "F3" }, - { 0x00ffc1, "F4" }, - { 0x00ffc2, "F5" }, - { 0x00ffc3, "F6" }, - { 0x00ffc4, "F7" }, - { 0x00ffc5, "F8" }, - { 0x00ffc6, "F9" }, - { 0x00ffc7, "F10" }, - { 0x00ffc8, "F11" }, - { 0x00ffc9, "F12" }, - { 0x00ffca, "F13" }, - { 0x00ffcb, "F14" }, - { 0x00ffcc, "F15" }, - { 0x00ffcd, "F16" }, - { 0x00ffce, "F17" }, - { 0x00ffcf, "F18" }, - { 0x00ffd0, "F19" }, - { 0x00ffd1, "F20" }, - { 0x00ffd2, "F21" }, - { 0x00ffd3, "F22" }, - { 0x00ffd4, "F23" }, - { 0x00ffd5, "F24" }, - { 0x00ffd6, "F25" }, - { 0x00ffd7, "F26" }, - { 0x00ffd8, "F27" }, - { 0x00ffd9, "F28" }, - { 0x00ffda, "F29" }, - { 0x00ffdb, "F30" }, - { 0x00ffdc, "F31" }, - { 0x00ffdd, "F32" }, - { 0x00ffde, "F33" }, - { 0x00ffdf, "F34" }, - { 0x00ffe0, "F35" }, - { 0x00ffe1, "Shift_L" }, - { 0x00ffe2, "Shift_R" }, - { 0x00ffe3, "Control_L" }, - { 0x00ffe4, "Control_R" }, - { 0x00ffe5, "Caps_Lock" }, - { 0x00ffe6, "Shift_Lock" }, - { 0x00ffe7, "Meta_L" }, - { 0x00ffe8, "Meta_R" }, - { 0x00ffe9, "Alt_L" }, - { 0x00ffea, "Alt_R" }, - { 0x00ffeb, "Super_L" }, - { 0x00ffec, "Super_R" }, - { 0x00ffed, "Hyper_L" }, - { 0x00ffee, "Hyper_R" }, - { 0x00ffff, "Delete" }, - { 0xffffff, "VoidSymbol" }, -}; +#include "keyname-table.h" #define GDK_NUM_KEYS (sizeof (gdk_keys_by_keyval) / sizeof (gdk_keys_by_keyval[0])) -static struct gdk_key *gdk_keys_by_name = NULL; - static int gdk_keys_keyval_compare (const void *pkey, const void *pbase) { @@ -1380,7 +68,7 @@ gdk_keyval_name (guint keyval) ((found - 1)->keyval == keyval)) found--; - return (gchar *) found->name; + return (gchar *) (keynames + found->offset); } else if (keyval != 0) { @@ -1391,16 +79,11 @@ gdk_keyval_name (guint keyval) return NULL; } -static int -gdk_key_compare_by_name (const void *a, const void *b) -{ - return strcmp (((const struct gdk_key *) a)->name, ((const struct gdk_key *) b)->name); -} - static int gdk_keys_name_compare (const void *pkey, const void *pbase) { - return strcmp ((const char *) pkey, ((const struct gdk_key *) pbase)->name); + return strcmp ((const char *) pkey, + (const char *) (keynames + ((const struct gdk_key *) pbase)->offset)); } guint @@ -1410,17 +93,6 @@ gdk_keyval_from_name (const gchar *keyval_name) g_return_val_if_fail (keyval_name != NULL, 0); - if (gdk_keys_by_name == NULL) - { - gdk_keys_by_name = g_new (struct gdk_key, GDK_NUM_KEYS); - - memcpy (gdk_keys_by_name, gdk_keys_by_keyval, - GDK_NUM_KEYS * sizeof (struct gdk_key)); - - qsort (gdk_keys_by_name, GDK_NUM_KEYS, sizeof (struct gdk_key), - gdk_key_compare_by_name); - } - found = bsearch (keyval_name, gdk_keys_by_name, GDK_NUM_KEYS, sizeof (struct gdk_key), gdk_keys_name_compare); diff --git a/gdk/gen-keyname-table.pl b/gdk/gen-keyname-table.pl new file mode 100755 index 0000000000..9a85f3af7c --- /dev/null +++ b/gdk/gen-keyname-table.pl @@ -0,0 +1,92 @@ +#!/usr/bin/perl -w + +if (@ARGV != 1) { + die "Usage: gen-keyname-table.pl keynames.txt > keyname-table.h\n"; +} + +open IN, $ARGV[0] || die "Cannot open $ARGV[0]: $!\n"; + +@keys = (); +while (defined($_ = )) { + next if /^!/; + if (!/^\s*(0x[0-9a-f]+)\s+(.*\S)\s+$/) { + die "Cannot parse line $_"; + } + + push @keys, [$1, $2]; +} + +$offset = 0; + +$date = gmtime; + +print <[1]; + + if ($offset != 0) { + print qq(\n); + } + print qq( "$name\\0"); + + $key->[3] = $offset; + $offset += length($name) + 1; +} + +print ";\n\n"; + +print <[0]; + $name = $key->[1]; + $offset = $key->[3]; + + if ($i != 0) { + print ",\n"; + } + print " { $keyval, $offset }"; + $i++; +} + +print "\n};\n\n"; + +@keys = sort { $a->[1] cmp $b->[1] } @keys; + + +print <[0]; + $name = $key->[1]; + $offset = $key->[3]; + + if ($i != 0) { + print ",\n"; + } + print " { $keyval, $offset }"; + $i++; +} + +print "\n};\n"; + diff --git a/gdk/keyname-table.h b/gdk/keyname-table.h new file mode 100644 index 0000000000..97a92f585f --- /dev/null +++ b/gdk/keyname-table.h @@ -0,0 +1,3936 @@ +/* keyname-table.h: Generated by gen-keyname-table.pl from keynames.txt + * + * Date: Tue Mar 8 04:19:59 2005 + * + * Do not edit. + */ +static const char keynames[] = + "space\0" + "exclam\0" + "quotedbl\0" + "numbersign\0" + "dollar\0" + "percent\0" + "ampersand\0" + "apostrophe\0" + "quoteright\0" + "parenleft\0" + "parenright\0" + "asterisk\0" + "plus\0" + "comma\0" + "minus\0" + "period\0" + "slash\0" + "0\0" + "1\0" + "2\0" + "3\0" + "4\0" + "5\0" + "6\0" + "7\0" + "8\0" + "9\0" + "colon\0" + "semicolon\0" + "less\0" + "equal\0" + "greater\0" + "question\0" + "at\0" + "A\0" + "B\0" + "C\0" + "D\0" + "E\0" + "F\0" + "G\0" + "H\0" + "I\0" + "J\0" + "K\0" + "L\0" + "M\0" + "N\0" + "O\0" + "P\0" + "Q\0" + "R\0" + "S\0" + "T\0" + "U\0" + "V\0" + "W\0" + "X\0" + "Y\0" + "Z\0" + "bracketleft\0" + "backslash\0" + "bracketright\0" + "asciicircum\0" + "underscore\0" + "grave\0" + "quoteleft\0" + "a\0" + "b\0" + "c\0" + "d\0" + "e\0" + "f\0" + "g\0" + "h\0" + "i\0" + "j\0" + "k\0" + "l\0" + "m\0" + "n\0" + "o\0" + "p\0" + "q\0" + "r\0" + "s\0" + "t\0" + "u\0" + "v\0" + "w\0" + "x\0" + "y\0" + "z\0" + "braceleft\0" + "bar\0" + "braceright\0" + "asciitilde\0" + "nobreakspace\0" + "exclamdown\0" + "cent\0" + "sterling\0" + "currency\0" + "yen\0" + "brokenbar\0" + "section\0" + "diaeresis\0" + "copyright\0" + "ordfeminine\0" + "guillemotleft\0" + "notsign\0" + "hyphen\0" + "registered\0" + "macron\0" + "degree\0" + "plusminus\0" + "twosuperior\0" + "threesuperior\0" + "acute\0" + "mu\0" + "paragraph\0" + "periodcentered\0" + "cedilla\0" + "onesuperior\0" + "masculine\0" + "guillemotright\0" + "onequarter\0" + "onehalf\0" + "threequarters\0" + "questiondown\0" + "Agrave\0" + "Aacute\0" + "Acircumflex\0" + "Atilde\0" + "Adiaeresis\0" + "Aring\0" + "AE\0" + "Ccedilla\0" + "Egrave\0" + "Eacute\0" + "Ecircumflex\0" + "Ediaeresis\0" + "Igrave\0" + "Iacute\0" + "Icircumflex\0" + "Idiaeresis\0" + "ETH\0" + "Eth\0" + "Ntilde\0" + "Ograve\0" + "Oacute\0" + "Ocircumflex\0" + "Otilde\0" + "Odiaeresis\0" + "multiply\0" + "Ooblique\0" + "Ugrave\0" + "Uacute\0" + "Ucircumflex\0" + "Udiaeresis\0" + "Yacute\0" + "THORN\0" + "Thorn\0" + "ssharp\0" + "agrave\0" + "aacute\0" + "acircumflex\0" + "atilde\0" + "adiaeresis\0" + "aring\0" + "ae\0" + "ccedilla\0" + "egrave\0" + "eacute\0" + "ecircumflex\0" + "ediaeresis\0" + "igrave\0" + "iacute\0" + "icircumflex\0" + "idiaeresis\0" + "eth\0" + "ntilde\0" + "ograve\0" + "oacute\0" + "ocircumflex\0" + "otilde\0" + "odiaeresis\0" + "division\0" + "oslash\0" + "ugrave\0" + "uacute\0" + "ucircumflex\0" + "udiaeresis\0" + "yacute\0" + "thorn\0" + "ydiaeresis\0" + "Aogonek\0" + "breve\0" + "Lstroke\0" + "Lcaron\0" + "Sacute\0" + "Scaron\0" + "Scedilla\0" + "Tcaron\0" + "Zacute\0" + "Zcaron\0" + "Zabovedot\0" + "aogonek\0" + "ogonek\0" + "lstroke\0" + "lcaron\0" + "sacute\0" + "caron\0" + "scaron\0" + "scedilla\0" + "tcaron\0" + "zacute\0" + "doubleacute\0" + "zcaron\0" + "zabovedot\0" + "Racute\0" + "Abreve\0" + "Lacute\0" + "Cacute\0" + "Ccaron\0" + "Eogonek\0" + "Ecaron\0" + "Dcaron\0" + "Dstroke\0" + "Nacute\0" + "Ncaron\0" + "Odoubleacute\0" + "Rcaron\0" + "Uring\0" + "Udoubleacute\0" + "Tcedilla\0" + "racute\0" + "abreve\0" + "lacute\0" + "cacute\0" + "ccaron\0" + "eogonek\0" + "ecaron\0" + "dcaron\0" + "dstroke\0" + "nacute\0" + "ncaron\0" + "odoubleacute\0" + "rcaron\0" + "uring\0" + "udoubleacute\0" + "tcedilla\0" + "abovedot\0" + "Hstroke\0" + "Hcircumflex\0" + "Iabovedot\0" + "Gbreve\0" + "Jcircumflex\0" + "hstroke\0" + "hcircumflex\0" + "idotless\0" + "gbreve\0" + "jcircumflex\0" + "Cabovedot\0" + "Ccircumflex\0" + "Gabovedot\0" + "Gcircumflex\0" + "Ubreve\0" + "Scircumflex\0" + "cabovedot\0" + "ccircumflex\0" + "gabovedot\0" + "gcircumflex\0" + "ubreve\0" + "scircumflex\0" + "kappa\0" + "kra\0" + "Rcedilla\0" + "Itilde\0" + "Lcedilla\0" + "Emacron\0" + "Gcedilla\0" + "Tslash\0" + "rcedilla\0" + "itilde\0" + "lcedilla\0" + "emacron\0" + "gcedilla\0" + "tslash\0" + "ENG\0" + "eng\0" + "Amacron\0" + "Iogonek\0" + "Eabovedot\0" + "Imacron\0" + "Ncedilla\0" + "Omacron\0" + "Kcedilla\0" + "Uogonek\0" + "Utilde\0" + "Umacron\0" + "amacron\0" + "iogonek\0" + "eabovedot\0" + "imacron\0" + "ncedilla\0" + "omacron\0" + "kcedilla\0" + "uogonek\0" + "utilde\0" + "umacron\0" + "overline\0" + "kana_fullstop\0" + "kana_openingbracket\0" + "kana_closingbracket\0" + "kana_comma\0" + "kana_conjunctive\0" + "kana_middledot\0" + "kana_WO\0" + "kana_a\0" + "kana_i\0" + "kana_u\0" + "kana_e\0" + "kana_o\0" + "kana_ya\0" + "kana_yu\0" + "kana_yo\0" + "kana_tsu\0" + "kana_tu\0" + "prolongedsound\0" + "kana_A\0" + "kana_I\0" + "kana_U\0" + "kana_E\0" + "kana_O\0" + "kana_KA\0" + "kana_KI\0" + "kana_KU\0" + "kana_KE\0" + "kana_KO\0" + "kana_SA\0" + "kana_SHI\0" + "kana_SU\0" + "kana_SE\0" + "kana_SO\0" + "kana_TA\0" + "kana_CHI\0" + "kana_TI\0" + "kana_TSU\0" + "kana_TU\0" + "kana_TE\0" + "kana_TO\0" + "kana_NA\0" + "kana_NI\0" + "kana_NU\0" + "kana_NE\0" + "kana_NO\0" + "kana_HA\0" + "kana_HI\0" + "kana_FU\0" + "kana_HU\0" + "kana_HE\0" + "kana_HO\0" + "kana_MA\0" + "kana_MI\0" + "kana_MU\0" + "kana_ME\0" + "kana_MO\0" + "kana_YA\0" + "kana_YU\0" + "kana_YO\0" + "kana_RA\0" + "kana_RI\0" + "kana_RU\0" + "kana_RE\0" + "kana_RO\0" + "kana_WA\0" + "kana_N\0" + "voicedsound\0" + "semivoicedsound\0" + "Arabic_comma\0" + "Arabic_semicolon\0" + "Arabic_question_mark\0" + "Arabic_hamza\0" + "Arabic_maddaonalef\0" + "Arabic_hamzaonalef\0" + "Arabic_hamzaonwaw\0" + "Arabic_hamzaunderalef\0" + "Arabic_hamzaonyeh\0" + "Arabic_alef\0" + "Arabic_beh\0" + "Arabic_tehmarbuta\0" + "Arabic_teh\0" + "Arabic_theh\0" + "Arabic_jeem\0" + "Arabic_hah\0" + "Arabic_khah\0" + "Arabic_dal\0" + "Arabic_thal\0" + "Arabic_ra\0" + "Arabic_zain\0" + "Arabic_seen\0" + "Arabic_sheen\0" + "Arabic_sad\0" + "Arabic_dad\0" + "Arabic_tah\0" + "Arabic_zah\0" + "Arabic_ain\0" + "Arabic_ghain\0" + "Arabic_tatweel\0" + "Arabic_feh\0" + "Arabic_qaf\0" + "Arabic_kaf\0" + "Arabic_lam\0" + "Arabic_meem\0" + "Arabic_noon\0" + "Arabic_ha\0" + "Arabic_heh\0" + "Arabic_waw\0" + "Arabic_alefmaksura\0" + "Arabic_yeh\0" + "Arabic_fathatan\0" + "Arabic_dammatan\0" + "Arabic_kasratan\0" + "Arabic_fatha\0" + "Arabic_damma\0" + "Arabic_kasra\0" + "Arabic_shadda\0" + "Arabic_sukun\0" + "Serbian_dje\0" + "Macedonia_gje\0" + "Cyrillic_io\0" + "Ukrainian_ie\0" + "Ukranian_je\0" + "Macedonia_dse\0" + "Ukrainian_i\0" + "Ukranian_i\0" + "Ukrainian_yi\0" + "Ukranian_yi\0" + "Cyrillic_je\0" + "Serbian_je\0" + "Cyrillic_lje\0" + "Serbian_lje\0" + "Cyrillic_nje\0" + "Serbian_nje\0" + "Serbian_tshe\0" + "Macedonia_kje\0" + "Byelorussian_shortu\0" + "Cyrillic_dzhe\0" + "Serbian_dze\0" + "numerosign\0" + "Serbian_DJE\0" + "Macedonia_GJE\0" + "Cyrillic_IO\0" + "Ukrainian_IE\0" + "Ukranian_JE\0" + "Macedonia_DSE\0" + "Ukrainian_I\0" + "Ukranian_I\0" + "Ukrainian_YI\0" + "Ukranian_YI\0" + "Cyrillic_JE\0" + "Serbian_JE\0" + "Cyrillic_LJE\0" + "Serbian_LJE\0" + "Cyrillic_NJE\0" + "Serbian_NJE\0" + "Serbian_TSHE\0" + "Macedonia_KJE\0" + "Byelorussian_SHORTU\0" + "Cyrillic_DZHE\0" + "Serbian_DZE\0" + "Cyrillic_yu\0" + "Cyrillic_a\0" + "Cyrillic_be\0" + "Cyrillic_tse\0" + "Cyrillic_de\0" + "Cyrillic_ie\0" + "Cyrillic_ef\0" + "Cyrillic_ghe\0" + "Cyrillic_ha\0" + "Cyrillic_i\0" + "Cyrillic_shorti\0" + "Cyrillic_ka\0" + "Cyrillic_el\0" + "Cyrillic_em\0" + "Cyrillic_en\0" + "Cyrillic_o\0" + "Cyrillic_pe\0" + "Cyrillic_ya\0" + "Cyrillic_er\0" + "Cyrillic_es\0" + "Cyrillic_te\0" + "Cyrillic_u\0" + "Cyrillic_zhe\0" + "Cyrillic_ve\0" + "Cyrillic_softsign\0" + "Cyrillic_yeru\0" + "Cyrillic_ze\0" + "Cyrillic_sha\0" + "Cyrillic_e\0" + "Cyrillic_shcha\0" + "Cyrillic_che\0" + "Cyrillic_hardsign\0" + "Cyrillic_YU\0" + "Cyrillic_A\0" + "Cyrillic_BE\0" + "Cyrillic_TSE\0" + "Cyrillic_DE\0" + "Cyrillic_IE\0" + "Cyrillic_EF\0" + "Cyrillic_GHE\0" + "Cyrillic_HA\0" + "Cyrillic_I\0" + "Cyrillic_SHORTI\0" + "Cyrillic_KA\0" + "Cyrillic_EL\0" + "Cyrillic_EM\0" + "Cyrillic_EN\0" + "Cyrillic_O\0" + "Cyrillic_PE\0" + "Cyrillic_YA\0" + "Cyrillic_ER\0" + "Cyrillic_ES\0" + "Cyrillic_TE\0" + "Cyrillic_U\0" + "Cyrillic_ZHE\0" + "Cyrillic_VE\0" + "Cyrillic_SOFTSIGN\0" + "Cyrillic_YERU\0" + "Cyrillic_ZE\0" + "Cyrillic_SHA\0" + "Cyrillic_E\0" + "Cyrillic_SHCHA\0" + "Cyrillic_CHE\0" + "Cyrillic_HARDSIGN\0" + "Greek_ALPHAaccent\0" + "Greek_EPSILONaccent\0" + "Greek_ETAaccent\0" + "Greek_IOTAaccent\0" + "Greek_IOTAdieresis\0" + "Greek_IOTAdiaeresis\0" + "Greek_OMICRONaccent\0" + "Greek_UPSILONaccent\0" + "Greek_UPSILONdieresis\0" + "Greek_OMEGAaccent\0" + "Greek_accentdieresis\0" + "Greek_horizbar\0" + "Greek_alphaaccent\0" + "Greek_epsilonaccent\0" + "Greek_etaaccent\0" + "Greek_iotaaccent\0" + "Greek_iotadieresis\0" + "Greek_iotaaccentdieresis\0" + "Greek_omicronaccent\0" + "Greek_upsilonaccent\0" + "Greek_upsilondieresis\0" + "Greek_upsilonaccentdieresis\0" + "Greek_omegaaccent\0" + "Greek_ALPHA\0" + "Greek_BETA\0" + "Greek_GAMMA\0" + "Greek_DELTA\0" + "Greek_EPSILON\0" + "Greek_ZETA\0" + "Greek_ETA\0" + "Greek_THETA\0" + "Greek_IOTA\0" + "Greek_KAPPA\0" + "Greek_LAMBDA\0" + "Greek_LAMDA\0" + "Greek_MU\0" + "Greek_NU\0" + "Greek_XI\0" + "Greek_OMICRON\0" + "Greek_PI\0" + "Greek_RHO\0" + "Greek_SIGMA\0" + "Greek_TAU\0" + "Greek_UPSILON\0" + "Greek_PHI\0" + "Greek_CHI\0" + "Greek_PSI\0" + "Greek_OMEGA\0" + "Greek_alpha\0" + "Greek_beta\0" + "Greek_gamma\0" + "Greek_delta\0" + "Greek_epsilon\0" + "Greek_zeta\0" + "Greek_eta\0" + "Greek_theta\0" + "Greek_iota\0" + "Greek_kappa\0" + "Greek_lambda\0" + "Greek_lamda\0" + "Greek_mu\0" + "Greek_nu\0" + "Greek_xi\0" + "Greek_omicron\0" + "Greek_pi\0" + "Greek_rho\0" + "Greek_sigma\0" + "Greek_finalsmallsigma\0" + "Greek_tau\0" + "Greek_upsilon\0" + "Greek_phi\0" + "Greek_chi\0" + "Greek_psi\0" + "Greek_omega\0" + "leftradical\0" + "topleftradical\0" + "horizconnector\0" + "topintegral\0" + "botintegral\0" + "vertconnector\0" + "topleftsqbracket\0" + "botleftsqbracket\0" + "toprightsqbracket\0" + "botrightsqbracket\0" + "topleftparens\0" + "botleftparens\0" + "toprightparens\0" + "botrightparens\0" + "leftmiddlecurlybrace\0" + "rightmiddlecurlybrace\0" + "topleftsummation\0" + "botleftsummation\0" + "topvertsummationconnector\0" + "botvertsummationconnector\0" + "toprightsummation\0" + "botrightsummation\0" + "rightmiddlesummation\0" + "lessthanequal\0" + "notequal\0" + "greaterthanequal\0" + "integral\0" + "therefore\0" + "variation\0" + "infinity\0" + "nabla\0" + "approximate\0" + "similarequal\0" + "ifonlyif\0" + "implies\0" + "identical\0" + "radical\0" + "includedin\0" + "includes\0" + "intersection\0" + "union\0" + "logicaland\0" + "logicalor\0" + "partialderivative\0" + "function\0" + "leftarrow\0" + "uparrow\0" + "rightarrow\0" + "downarrow\0" + "blank\0" + "soliddiamond\0" + "checkerboard\0" + "ht\0" + "ff\0" + "cr\0" + "lf\0" + "nl\0" + "vt\0" + "lowrightcorner\0" + "uprightcorner\0" + "upleftcorner\0" + "lowleftcorner\0" + "crossinglines\0" + "horizlinescan1\0" + "horizlinescan3\0" + "horizlinescan5\0" + "horizlinescan7\0" + "horizlinescan9\0" + "leftt\0" + "rightt\0" + "bott\0" + "topt\0" + "vertbar\0" + "emspace\0" + "enspace\0" + "em3space\0" + "em4space\0" + "digitspace\0" + "punctspace\0" + "thinspace\0" + "hairspace\0" + "emdash\0" + "endash\0" + "signifblank\0" + "ellipsis\0" + "doubbaselinedot\0" + "onethird\0" + "twothirds\0" + "onefifth\0" + "twofifths\0" + "threefifths\0" + "fourfifths\0" + "onesixth\0" + "fivesixths\0" + "careof\0" + "figdash\0" + "leftanglebracket\0" + "decimalpoint\0" + "rightanglebracket\0" + "marker\0" + "oneeighth\0" + "threeeighths\0" + "fiveeighths\0" + "seveneighths\0" + "trademark\0" + "signaturemark\0" + "trademarkincircle\0" + "leftopentriangle\0" + "rightopentriangle\0" + "emopencircle\0" + "emopenrectangle\0" + "leftsinglequotemark\0" + "rightsinglequotemark\0" + "leftdoublequotemark\0" + "rightdoublequotemark\0" + "prescription\0" + "minutes\0" + "seconds\0" + "latincross\0" + "hexagram\0" + "filledrectbullet\0" + "filledlefttribullet\0" + "filledrighttribullet\0" + "emfilledcircle\0" + "emfilledrect\0" + "enopencircbullet\0" + "enopensquarebullet\0" + "openrectbullet\0" + "opentribulletup\0" + "opentribulletdown\0" + "openstar\0" + "enfilledcircbullet\0" + "enfilledsqbullet\0" + "filledtribulletup\0" + "filledtribulletdown\0" + "leftpointer\0" + "rightpointer\0" + "club\0" + "diamond\0" + "heart\0" + "maltesecross\0" + "dagger\0" + "doubledagger\0" + "checkmark\0" + "ballotcross\0" + "musicalsharp\0" + "musicalflat\0" + "malesymbol\0" + "femalesymbol\0" + "telephone\0" + "telephonerecorder\0" + "phonographcopyright\0" + "caret\0" + "singlelowquotemark\0" + "doublelowquotemark\0" + "cursor\0" + "leftcaret\0" + "rightcaret\0" + "downcaret\0" + "upcaret\0" + "overbar\0" + "downtack\0" + "upshoe\0" + "downstile\0" + "underbar\0" + "jot\0" + "quad\0" + "uptack\0" + "circle\0" + "upstile\0" + "downshoe\0" + "rightshoe\0" + "leftshoe\0" + "lefttack\0" + "righttack\0" + "hebrew_doublelowline\0" + "hebrew_aleph\0" + "hebrew_bet\0" + "hebrew_beth\0" + "hebrew_gimel\0" + "hebrew_gimmel\0" + "hebrew_dalet\0" + "hebrew_daleth\0" + "hebrew_he\0" + "hebrew_waw\0" + "hebrew_zain\0" + "hebrew_zayin\0" + "hebrew_chet\0" + "hebrew_het\0" + "hebrew_tet\0" + "hebrew_teth\0" + "hebrew_yod\0" + "hebrew_finalkaph\0" + "hebrew_kaph\0" + "hebrew_lamed\0" + "hebrew_finalmem\0" + "hebrew_mem\0" + "hebrew_finalnun\0" + "hebrew_nun\0" + "hebrew_samech\0" + "hebrew_samekh\0" + "hebrew_ayin\0" + "hebrew_finalpe\0" + "hebrew_pe\0" + "hebrew_finalzade\0" + "hebrew_finalzadi\0" + "hebrew_zade\0" + "hebrew_zadi\0" + "hebrew_kuf\0" + "hebrew_qoph\0" + "hebrew_resh\0" + "hebrew_shin\0" + "hebrew_taf\0" + "hebrew_taw\0" + "Thai_kokai\0" + "Thai_khokhai\0" + "Thai_khokhuat\0" + "Thai_khokhwai\0" + "Thai_khokhon\0" + "Thai_khorakhang\0" + "Thai_ngongu\0" + "Thai_chochan\0" + "Thai_choching\0" + "Thai_chochang\0" + "Thai_soso\0" + "Thai_chochoe\0" + "Thai_yoying\0" + "Thai_dochada\0" + "Thai_topatak\0" + "Thai_thothan\0" + "Thai_thonangmontho\0" + "Thai_thophuthao\0" + "Thai_nonen\0" + "Thai_dodek\0" + "Thai_totao\0" + "Thai_thothung\0" + "Thai_thothahan\0" + "Thai_thothong\0" + "Thai_nonu\0" + "Thai_bobaimai\0" + "Thai_popla\0" + "Thai_phophung\0" + "Thai_fofa\0" + "Thai_phophan\0" + "Thai_fofan\0" + "Thai_phosamphao\0" + "Thai_moma\0" + "Thai_yoyak\0" + "Thai_rorua\0" + "Thai_ru\0" + "Thai_loling\0" + "Thai_lu\0" + "Thai_wowaen\0" + "Thai_sosala\0" + "Thai_sorusi\0" + "Thai_sosua\0" + "Thai_hohip\0" + "Thai_lochula\0" + "Thai_oang\0" + "Thai_honokhuk\0" + "Thai_paiyannoi\0" + "Thai_saraa\0" + "Thai_maihanakat\0" + "Thai_saraaa\0" + "Thai_saraam\0" + "Thai_sarai\0" + "Thai_saraii\0" + "Thai_saraue\0" + "Thai_sarauee\0" + "Thai_sarau\0" + "Thai_sarauu\0" + "Thai_phinthu\0" + "Thai_maihanakat_maitho\0" + "Thai_baht\0" + "Thai_sarae\0" + "Thai_saraae\0" + "Thai_sarao\0" + "Thai_saraaimaimuan\0" + "Thai_saraaimaimalai\0" + "Thai_lakkhangyao\0" + "Thai_maiyamok\0" + "Thai_maitaikhu\0" + "Thai_maiek\0" + "Thai_maitho\0" + "Thai_maitri\0" + "Thai_maichattawa\0" + "Thai_thanthakhat\0" + "Thai_nikhahit\0" + "Thai_leksun\0" + "Thai_leknung\0" + "Thai_leksong\0" + "Thai_leksam\0" + "Thai_leksi\0" + "Thai_lekha\0" + "Thai_lekhok\0" + "Thai_lekchet\0" + "Thai_lekpaet\0" + "Thai_lekkao\0" + "Hangul_Kiyeog\0" + "Hangul_SsangKiyeog\0" + "Hangul_KiyeogSios\0" + "Hangul_Nieun\0" + "Hangul_NieunJieuj\0" + "Hangul_NieunHieuh\0" + "Hangul_Dikeud\0" + "Hangul_SsangDikeud\0" + "Hangul_Rieul\0" + "Hangul_RieulKiyeog\0" + "Hangul_RieulMieum\0" + "Hangul_RieulPieub\0" + "Hangul_RieulSios\0" + "Hangul_RieulTieut\0" + "Hangul_RieulPhieuf\0" + "Hangul_RieulHieuh\0" + "Hangul_Mieum\0" + "Hangul_Pieub\0" + "Hangul_SsangPieub\0" + "Hangul_PieubSios\0" + "Hangul_Sios\0" + "Hangul_SsangSios\0" + "Hangul_Ieung\0" + "Hangul_Jieuj\0" + "Hangul_SsangJieuj\0" + "Hangul_Cieuc\0" + "Hangul_Khieuq\0" + "Hangul_Tieut\0" + "Hangul_Phieuf\0" + "Hangul_Hieuh\0" + "Hangul_A\0" + "Hangul_AE\0" + "Hangul_YA\0" + "Hangul_YAE\0" + "Hangul_EO\0" + "Hangul_E\0" + "Hangul_YEO\0" + "Hangul_YE\0" + "Hangul_O\0" + "Hangul_WA\0" + "Hangul_WAE\0" + "Hangul_OE\0" + "Hangul_YO\0" + "Hangul_U\0" + "Hangul_WEO\0" + "Hangul_WE\0" + "Hangul_WI\0" + "Hangul_YU\0" + "Hangul_EU\0" + "Hangul_YI\0" + "Hangul_I\0" + "Hangul_J_Kiyeog\0" + "Hangul_J_SsangKiyeog\0" + "Hangul_J_KiyeogSios\0" + "Hangul_J_Nieun\0" + "Hangul_J_NieunJieuj\0" + "Hangul_J_NieunHieuh\0" + "Hangul_J_Dikeud\0" + "Hangul_J_Rieul\0" + "Hangul_J_RieulKiyeog\0" + "Hangul_J_RieulMieum\0" + "Hangul_J_RieulPieub\0" + "Hangul_J_RieulSios\0" + "Hangul_J_RieulTieut\0" + "Hangul_J_RieulPhieuf\0" + "Hangul_J_RieulHieuh\0" + "Hangul_J_Mieum\0" + "Hangul_J_Pieub\0" + "Hangul_J_PieubSios\0" + "Hangul_J_Sios\0" + "Hangul_J_SsangSios\0" + "Hangul_J_Ieung\0" + "Hangul_J_Jieuj\0" + "Hangul_J_Cieuc\0" + "Hangul_J_Khieuq\0" + "Hangul_J_Tieut\0" + "Hangul_J_Phieuf\0" + "Hangul_J_Hieuh\0" + "Hangul_RieulYeorinHieuh\0" + "Hangul_SunkyeongeumMieum\0" + "Hangul_SunkyeongeumPieub\0" + "Hangul_PanSios\0" + "Hangul_KkogjiDalrinIeung\0" + "Hangul_SunkyeongeumPhieuf\0" + "Hangul_YeorinHieuh\0" + "Hangul_AraeA\0" + "Hangul_AraeAE\0" + "Hangul_J_PanSios\0" + "Hangul_J_KkogjiDalrinIeung\0" + "Hangul_J_YeorinHieuh\0" + "Korean_Won\0" + "OE\0" + "oe\0" + "Ydiaeresis\0" + "EcuSign\0" + "ColonSign\0" + "CruzeiroSign\0" + "FFrancSign\0" + "LiraSign\0" + "MillSign\0" + "NairaSign\0" + "PesetaSign\0" + "RupeeSign\0" + "WonSign\0" + "NewSheqelSign\0" + "DongSign\0" + "EuroSign\0" + "3270_Duplicate\0" + "3270_FieldMark\0" + "3270_Right2\0" + "3270_Left2\0" + "3270_BackTab\0" + "3270_EraseEOF\0" + "3270_EraseInput\0" + "3270_Reset\0" + "3270_Quit\0" + "3270_PA1\0" + "3270_PA2\0" + "3270_PA3\0" + "3270_Test\0" + "3270_Attn\0" + "3270_CursorBlink\0" + "3270_AltCursor\0" + "3270_KeyClick\0" + "3270_Jump\0" + "3270_Ident\0" + "3270_Rule\0" + "3270_Copy\0" + "3270_Play\0" + "3270_Setup\0" + "3270_Record\0" + "3270_ChangeScreen\0" + "3270_DeleteWord\0" + "3270_ExSelect\0" + "3270_CursorSelect\0" + "3270_PrintScreen\0" + "3270_Enter\0" + "ISO_Lock\0" + "ISO_Level2_Latch\0" + "ISO_Level3_Shift\0" + "ISO_Level3_Latch\0" + "ISO_Level3_Lock\0" + "ISO_Group_Latch\0" + "ISO_Group_Lock\0" + "ISO_Next_Group\0" + "ISO_Next_Group_Lock\0" + "ISO_Prev_Group\0" + "ISO_Prev_Group_Lock\0" + "ISO_First_Group\0" + "ISO_First_Group_Lock\0" + "ISO_Last_Group\0" + "ISO_Last_Group_Lock\0" + "ISO_Left_Tab\0" + "ISO_Move_Line_Up\0" + "ISO_Move_Line_Down\0" + "ISO_Partial_Line_Up\0" + "ISO_Partial_Line_Down\0" + "ISO_Partial_Space_Left\0" + "ISO_Partial_Space_Right\0" + "ISO_Set_Margin_Left\0" + "ISO_Set_Margin_Right\0" + "ISO_Release_Margin_Left\0" + "ISO_Release_Margin_Right\0" + "ISO_Release_Both_Margins\0" + "ISO_Fast_Cursor_Left\0" + "ISO_Fast_Cursor_Right\0" + "ISO_Fast_Cursor_Up\0" + "ISO_Fast_Cursor_Down\0" + "ISO_Continuous_Underline\0" + "ISO_Discontinuous_Underline\0" + "ISO_Emphasize\0" + "ISO_Center_Object\0" + "ISO_Enter\0" + "dead_grave\0" + "dead_acute\0" + "dead_circumflex\0" + "dead_tilde\0" + "dead_macron\0" + "dead_breve\0" + "dead_abovedot\0" + "dead_diaeresis\0" + "dead_abovering\0" + "dead_doubleacute\0" + "dead_caron\0" + "dead_cedilla\0" + "dead_ogonek\0" + "dead_iota\0" + "dead_voiced_sound\0" + "dead_semivoiced_sound\0" + "dead_belowdot\0" + "dead_hook\0" + "dead_horn\0" + "AccessX_Enable\0" + "AccessX_Feedback_Enable\0" + "RepeatKeys_Enable\0" + "SlowKeys_Enable\0" + "BounceKeys_Enable\0" + "StickyKeys_Enable\0" + "MouseKeys_Enable\0" + "MouseKeys_Accel_Enable\0" + "Overlay1_Enable\0" + "Overlay2_Enable\0" + "AudibleBell_Enable\0" + "First_Virtual_Screen\0" + "Prev_Virtual_Screen\0" + "Next_Virtual_Screen\0" + "Last_Virtual_Screen\0" + "Terminate_Server\0" + "Pointer_Left\0" + "Pointer_Right\0" + "Pointer_Up\0" + "Pointer_Down\0" + "Pointer_UpLeft\0" + "Pointer_UpRight\0" + "Pointer_DownLeft\0" + "Pointer_DownRight\0" + "Pointer_Button_Dflt\0" + "Pointer_Button1\0" + "Pointer_Button2\0" + "Pointer_Button3\0" + "Pointer_Button4\0" + "Pointer_Button5\0" + "Pointer_DblClick_Dflt\0" + "Pointer_DblClick1\0" + "Pointer_DblClick2\0" + "Pointer_DblClick3\0" + "Pointer_DblClick4\0" + "Pointer_DblClick5\0" + "Pointer_Drag_Dflt\0" + "Pointer_Drag1\0" + "Pointer_Drag2\0" + "Pointer_Drag3\0" + "Pointer_Drag4\0" + "Pointer_EnableKeys\0" + "Pointer_Accelerate\0" + "Pointer_DfltBtnNext\0" + "Pointer_DfltBtnPrev\0" + "Pointer_Drag5\0" + "BackSpace\0" + "Tab\0" + "Linefeed\0" + "Clear\0" + "Return\0" + "Pause\0" + "Scroll_Lock\0" + "Sys_Req\0" + "Escape\0" + "Multi_key\0" + "Kanji\0" + "Muhenkan\0" + "Henkan\0" + "Henkan_Mode\0" + "Romaji\0" + "Hiragana\0" + "Katakana\0" + "Hiragana_Katakana\0" + "Zenkaku\0" + "Hankaku\0" + "Zenkaku_Hankaku\0" + "Touroku\0" + "Massyo\0" + "Kana_Lock\0" + "Kana_Shift\0" + "Eisu_Shift\0" + "Eisu_toggle\0" + "Hangul\0" + "Hangul_Start\0" + "Hangul_End\0" + "Hangul_Hanja\0" + "Hangul_Jamo\0" + "Hangul_Romaja\0" + "Codeinput\0" + "Hangul_Jeonja\0" + "Hangul_Banja\0" + "Hangul_PreHanja\0" + "Hangul_PostHanja\0" + "SingleCandidate\0" + "MultipleCandidate\0" + "PreviousCandidate\0" + "Hangul_Special\0" + "Home\0" + "Left\0" + "Up\0" + "Right\0" + "Down\0" + "Page_Up\0" + "Prior\0" + "Page_Down\0" + "Next\0" + "End\0" + "Begin\0" + "Select\0" + "Print\0" + "Execute\0" + "Insert\0" + "Undo\0" + "Redo\0" + "Menu\0" + "Find\0" + "Cancel\0" + "Help\0" + "Break\0" + "Arabic_switch\0" + "Greek_switch\0" + "Hangul_switch\0" + "Hebrew_switch\0" + "ISO_Group_Shift\0" + "Mode_switch\0" + "kana_switch\0" + "script_switch\0" + "Num_Lock\0" + "KP_Space\0" + "KP_Tab\0" + "KP_Enter\0" + "KP_F1\0" + "KP_F2\0" + "KP_F3\0" + "KP_F4\0" + "KP_Home\0" + "KP_Left\0" + "KP_Up\0" + "KP_Right\0" + "KP_Down\0" + "KP_Page_Up\0" + "KP_Prior\0" + "KP_Page_Down\0" + "KP_Next\0" + "KP_End\0" + "KP_Begin\0" + "KP_Insert\0" + "KP_Delete\0" + "KP_Multiply\0" + "KP_Add\0" + "KP_Separator\0" + "KP_Subtract\0" + "KP_Decimal\0" + "KP_Divide\0" + "KP_0\0" + "KP_1\0" + "KP_2\0" + "KP_3\0" + "KP_4\0" + "KP_5\0" + "KP_6\0" + "KP_7\0" + "KP_8\0" + "KP_9\0" + "KP_Equal\0" + "F1\0" + "F2\0" + "F3\0" + "F4\0" + "F5\0" + "F6\0" + "F7\0" + "F8\0" + "F9\0" + "F10\0" + "F11\0" + "F12\0" + "F13\0" + "F14\0" + "F15\0" + "F16\0" + "F17\0" + "F18\0" + "F19\0" + "F20\0" + "F21\0" + "F22\0" + "F23\0" + "F24\0" + "F25\0" + "F26\0" + "F27\0" + "F28\0" + "F29\0" + "F30\0" + "F31\0" + "F32\0" + "F33\0" + "F34\0" + "F35\0" + "Shift_L\0" + "Shift_R\0" + "Control_L\0" + "Control_R\0" + "Caps_Lock\0" + "Shift_Lock\0" + "Meta_L\0" + "Meta_R\0" + "Alt_L\0" + "Alt_R\0" + "Super_L\0" + "Super_R\0" + "Hyper_L\0" + "Hyper_R\0" + "Delete\0" + "VoidSymbol\0"; + +typedef struct { + guint keyval; + guint offset; +} gdk_key; + +static const gdk_key gdk_keys_by_keyval[] = { + { 0x000020, 0 }, + { 0x000021, 6 }, + { 0x000022, 13 }, + { 0x000023, 22 }, + { 0x000024, 33 }, + { 0x000025, 40 }, + { 0x000026, 48 }, + { 0x000027, 58 }, + { 0x000027, 69 }, + { 0x000028, 80 }, + { 0x000029, 90 }, + { 0x00002a, 101 }, + { 0x00002b, 110 }, + { 0x00002c, 115 }, + { 0x00002d, 121 }, + { 0x00002e, 127 }, + { 0x00002f, 134 }, + { 0x000030, 140 }, + { 0x000031, 142 }, + { 0x000032, 144 }, + { 0x000033, 146 }, + { 0x000034, 148 }, + { 0x000035, 150 }, + { 0x000036, 152 }, + { 0x000037, 154 }, + { 0x000038, 156 }, + { 0x000039, 158 }, + { 0x00003a, 160 }, + { 0x00003b, 166 }, + { 0x00003c, 176 }, + { 0x00003d, 181 }, + { 0x00003e, 187 }, + { 0x00003f, 195 }, + { 0x000040, 204 }, + { 0x000041, 207 }, + { 0x000042, 209 }, + { 0x000043, 211 }, + { 0x000044, 213 }, + { 0x000045, 215 }, + { 0x000046, 217 }, + { 0x000047, 219 }, + { 0x000048, 221 }, + { 0x000049, 223 }, + { 0x00004a, 225 }, + { 0x00004b, 227 }, + { 0x00004c, 229 }, + { 0x00004d, 231 }, + { 0x00004e, 233 }, + { 0x00004f, 235 }, + { 0x000050, 237 }, + { 0x000051, 239 }, + { 0x000052, 241 }, + { 0x000053, 243 }, + { 0x000054, 245 }, + { 0x000055, 247 }, + { 0x000056, 249 }, + { 0x000057, 251 }, + { 0x000058, 253 }, + { 0x000059, 255 }, + { 0x00005a, 257 }, + { 0x00005b, 259 }, + { 0x00005c, 271 }, + { 0x00005d, 281 }, + { 0x00005e, 294 }, + { 0x00005f, 306 }, + { 0x000060, 317 }, + { 0x000060, 323 }, + { 0x000061, 333 }, + { 0x000062, 335 }, + { 0x000063, 337 }, + { 0x000064, 339 }, + { 0x000065, 341 }, + { 0x000066, 343 }, + { 0x000067, 345 }, + { 0x000068, 347 }, + { 0x000069, 349 }, + { 0x00006a, 351 }, + { 0x00006b, 353 }, + { 0x00006c, 355 }, + { 0x00006d, 357 }, + { 0x00006e, 359 }, + { 0x00006f, 361 }, + { 0x000070, 363 }, + { 0x000071, 365 }, + { 0x000072, 367 }, + { 0x000073, 369 }, + { 0x000074, 371 }, + { 0x000075, 373 }, + { 0x000076, 375 }, + { 0x000077, 377 }, + { 0x000078, 379 }, + { 0x000079, 381 }, + { 0x00007a, 383 }, + { 0x00007b, 385 }, + { 0x00007c, 395 }, + { 0x00007d, 399 }, + { 0x00007e, 410 }, + { 0x0000a0, 421 }, + { 0x0000a1, 434 }, + { 0x0000a2, 445 }, + { 0x0000a3, 450 }, + { 0x0000a4, 459 }, + { 0x0000a5, 468 }, + { 0x0000a6, 472 }, + { 0x0000a7, 482 }, + { 0x0000a8, 490 }, + { 0x0000a9, 500 }, + { 0x0000aa, 510 }, + { 0x0000ab, 522 }, + { 0x0000ac, 536 }, + { 0x0000ad, 544 }, + { 0x0000ae, 551 }, + { 0x0000af, 562 }, + { 0x0000b0, 569 }, + { 0x0000b1, 576 }, + { 0x0000b2, 586 }, + { 0x0000b3, 598 }, + { 0x0000b4, 612 }, + { 0x0000b5, 618 }, + { 0x0000b6, 621 }, + { 0x0000b7, 631 }, + { 0x0000b8, 646 }, + { 0x0000b9, 654 }, + { 0x0000ba, 666 }, + { 0x0000bb, 676 }, + { 0x0000bc, 691 }, + { 0x0000bd, 702 }, + { 0x0000be, 710 }, + { 0x0000bf, 724 }, + { 0x0000c0, 737 }, + { 0x0000c1, 744 }, + { 0x0000c2, 751 }, + { 0x0000c3, 763 }, + { 0x0000c4, 770 }, + { 0x0000c5, 781 }, + { 0x0000c6, 787 }, + { 0x0000c7, 790 }, + { 0x0000c8, 799 }, + { 0x0000c9, 806 }, + { 0x0000ca, 813 }, + { 0x0000cb, 825 }, + { 0x0000cc, 836 }, + { 0x0000cd, 843 }, + { 0x0000ce, 850 }, + { 0x0000cf, 862 }, + { 0x0000d0, 873 }, + { 0x0000d0, 877 }, + { 0x0000d1, 881 }, + { 0x0000d2, 888 }, + { 0x0000d3, 895 }, + { 0x0000d4, 902 }, + { 0x0000d5, 914 }, + { 0x0000d6, 921 }, + { 0x0000d7, 932 }, + { 0x0000d8, 941 }, + { 0x0000d9, 950 }, + { 0x0000da, 957 }, + { 0x0000db, 964 }, + { 0x0000dc, 976 }, + { 0x0000dd, 987 }, + { 0x0000de, 994 }, + { 0x0000de, 1000 }, + { 0x0000df, 1006 }, + { 0x0000e0, 1013 }, + { 0x0000e1, 1020 }, + { 0x0000e2, 1027 }, + { 0x0000e3, 1039 }, + { 0x0000e4, 1046 }, + { 0x0000e5, 1057 }, + { 0x0000e6, 1063 }, + { 0x0000e7, 1066 }, + { 0x0000e8, 1075 }, + { 0x0000e9, 1082 }, + { 0x0000ea, 1089 }, + { 0x0000eb, 1101 }, + { 0x0000ec, 1112 }, + { 0x0000ed, 1119 }, + { 0x0000ee, 1126 }, + { 0x0000ef, 1138 }, + { 0x0000f0, 1149 }, + { 0x0000f1, 1153 }, + { 0x0000f2, 1160 }, + { 0x0000f3, 1167 }, + { 0x0000f4, 1174 }, + { 0x0000f5, 1186 }, + { 0x0000f6, 1193 }, + { 0x0000f7, 1204 }, + { 0x0000f8, 1213 }, + { 0x0000f9, 1220 }, + { 0x0000fa, 1227 }, + { 0x0000fb, 1234 }, + { 0x0000fc, 1246 }, + { 0x0000fd, 1257 }, + { 0x0000fe, 1264 }, + { 0x0000ff, 1270 }, + { 0x0001a1, 1281 }, + { 0x0001a2, 1289 }, + { 0x0001a3, 1295 }, + { 0x0001a5, 1303 }, + { 0x0001a6, 1310 }, + { 0x0001a9, 1317 }, + { 0x0001aa, 1324 }, + { 0x0001ab, 1333 }, + { 0x0001ac, 1340 }, + { 0x0001ae, 1347 }, + { 0x0001af, 1354 }, + { 0x0001b1, 1364 }, + { 0x0001b2, 1372 }, + { 0x0001b3, 1379 }, + { 0x0001b5, 1387 }, + { 0x0001b6, 1394 }, + { 0x0001b7, 1401 }, + { 0x0001b9, 1407 }, + { 0x0001ba, 1414 }, + { 0x0001bb, 1423 }, + { 0x0001bc, 1430 }, + { 0x0001bd, 1437 }, + { 0x0001be, 1449 }, + { 0x0001bf, 1456 }, + { 0x0001c0, 1466 }, + { 0x0001c3, 1473 }, + { 0x0001c5, 1480 }, + { 0x0001c6, 1487 }, + { 0x0001c8, 1494 }, + { 0x0001ca, 1501 }, + { 0x0001cc, 1509 }, + { 0x0001cf, 1516 }, + { 0x0001d0, 1523 }, + { 0x0001d1, 1531 }, + { 0x0001d2, 1538 }, + { 0x0001d5, 1545 }, + { 0x0001d8, 1558 }, + { 0x0001d9, 1565 }, + { 0x0001db, 1571 }, + { 0x0001de, 1584 }, + { 0x0001e0, 1593 }, + { 0x0001e3, 1600 }, + { 0x0001e5, 1607 }, + { 0x0001e6, 1614 }, + { 0x0001e8, 1621 }, + { 0x0001ea, 1628 }, + { 0x0001ec, 1636 }, + { 0x0001ef, 1643 }, + { 0x0001f0, 1650 }, + { 0x0001f1, 1658 }, + { 0x0001f2, 1665 }, + { 0x0001f5, 1672 }, + { 0x0001f8, 1685 }, + { 0x0001f9, 1692 }, + { 0x0001fb, 1698 }, + { 0x0001fe, 1711 }, + { 0x0001ff, 1720 }, + { 0x0002a1, 1729 }, + { 0x0002a6, 1737 }, + { 0x0002a9, 1749 }, + { 0x0002ab, 1759 }, + { 0x0002ac, 1766 }, + { 0x0002b1, 1778 }, + { 0x0002b6, 1786 }, + { 0x0002b9, 1798 }, + { 0x0002bb, 1807 }, + { 0x0002bc, 1814 }, + { 0x0002c5, 1826 }, + { 0x0002c6, 1836 }, + { 0x0002d5, 1848 }, + { 0x0002d8, 1858 }, + { 0x0002dd, 1870 }, + { 0x0002de, 1877 }, + { 0x0002e5, 1889 }, + { 0x0002e6, 1899 }, + { 0x0002f5, 1911 }, + { 0x0002f8, 1921 }, + { 0x0002fd, 1933 }, + { 0x0002fe, 1940 }, + { 0x0003a2, 1952 }, + { 0x0003a2, 1958 }, + { 0x0003a3, 1962 }, + { 0x0003a5, 1971 }, + { 0x0003a6, 1978 }, + { 0x0003aa, 1987 }, + { 0x0003ab, 1995 }, + { 0x0003ac, 2004 }, + { 0x0003b3, 2011 }, + { 0x0003b5, 2020 }, + { 0x0003b6, 2027 }, + { 0x0003ba, 2036 }, + { 0x0003bb, 2044 }, + { 0x0003bc, 2053 }, + { 0x0003bd, 2060 }, + { 0x0003bf, 2064 }, + { 0x0003c0, 2068 }, + { 0x0003c7, 2076 }, + { 0x0003cc, 2084 }, + { 0x0003cf, 2094 }, + { 0x0003d1, 2102 }, + { 0x0003d2, 2111 }, + { 0x0003d3, 2119 }, + { 0x0003d9, 2128 }, + { 0x0003dd, 2136 }, + { 0x0003de, 2143 }, + { 0x0003e0, 2151 }, + { 0x0003e7, 2159 }, + { 0x0003ec, 2167 }, + { 0x0003ef, 2177 }, + { 0x0003f1, 2185 }, + { 0x0003f2, 2194 }, + { 0x0003f3, 2202 }, + { 0x0003f9, 2211 }, + { 0x0003fd, 2219 }, + { 0x0003fe, 2226 }, + { 0x00047e, 2234 }, + { 0x0004a1, 2243 }, + { 0x0004a2, 2257 }, + { 0x0004a3, 2277 }, + { 0x0004a4, 2297 }, + { 0x0004a5, 2308 }, + { 0x0004a5, 2325 }, + { 0x0004a6, 2340 }, + { 0x0004a7, 2348 }, + { 0x0004a8, 2355 }, + { 0x0004a9, 2362 }, + { 0x0004aa, 2369 }, + { 0x0004ab, 2376 }, + { 0x0004ac, 2383 }, + { 0x0004ad, 2391 }, + { 0x0004ae, 2399 }, + { 0x0004af, 2407 }, + { 0x0004af, 2416 }, + { 0x0004b0, 2424 }, + { 0x0004b1, 2439 }, + { 0x0004b2, 2446 }, + { 0x0004b3, 2453 }, + { 0x0004b4, 2460 }, + { 0x0004b5, 2467 }, + { 0x0004b6, 2474 }, + { 0x0004b7, 2482 }, + { 0x0004b8, 2490 }, + { 0x0004b9, 2498 }, + { 0x0004ba, 2506 }, + { 0x0004bb, 2514 }, + { 0x0004bc, 2522 }, + { 0x0004bd, 2531 }, + { 0x0004be, 2539 }, + { 0x0004bf, 2547 }, + { 0x0004c0, 2555 }, + { 0x0004c1, 2563 }, + { 0x0004c1, 2572 }, + { 0x0004c2, 2580 }, + { 0x0004c2, 2589 }, + { 0x0004c3, 2597 }, + { 0x0004c4, 2605 }, + { 0x0004c5, 2613 }, + { 0x0004c6, 2621 }, + { 0x0004c7, 2629 }, + { 0x0004c8, 2637 }, + { 0x0004c9, 2645 }, + { 0x0004ca, 2653 }, + { 0x0004cb, 2661 }, + { 0x0004cc, 2669 }, + { 0x0004cc, 2677 }, + { 0x0004cd, 2685 }, + { 0x0004ce, 2693 }, + { 0x0004cf, 2701 }, + { 0x0004d0, 2709 }, + { 0x0004d1, 2717 }, + { 0x0004d2, 2725 }, + { 0x0004d3, 2733 }, + { 0x0004d4, 2741 }, + { 0x0004d5, 2749 }, + { 0x0004d6, 2757 }, + { 0x0004d7, 2765 }, + { 0x0004d8, 2773 }, + { 0x0004d9, 2781 }, + { 0x0004da, 2789 }, + { 0x0004db, 2797 }, + { 0x0004dc, 2805 }, + { 0x0004dd, 2813 }, + { 0x0004de, 2820 }, + { 0x0004df, 2832 }, + { 0x0005ac, 2848 }, + { 0x0005bb, 2861 }, + { 0x0005bf, 2878 }, + { 0x0005c1, 2899 }, + { 0x0005c2, 2912 }, + { 0x0005c3, 2931 }, + { 0x0005c4, 2950 }, + { 0x0005c5, 2968 }, + { 0x0005c6, 2990 }, + { 0x0005c7, 3008 }, + { 0x0005c8, 3020 }, + { 0x0005c9, 3031 }, + { 0x0005ca, 3049 }, + { 0x0005cb, 3060 }, + { 0x0005cc, 3072 }, + { 0x0005cd, 3084 }, + { 0x0005ce, 3095 }, + { 0x0005cf, 3107 }, + { 0x0005d0, 3118 }, + { 0x0005d1, 3130 }, + { 0x0005d2, 3140 }, + { 0x0005d3, 3152 }, + { 0x0005d4, 3164 }, + { 0x0005d5, 3177 }, + { 0x0005d6, 3188 }, + { 0x0005d7, 3199 }, + { 0x0005d8, 3210 }, + { 0x0005d9, 3221 }, + { 0x0005da, 3232 }, + { 0x0005e0, 3245 }, + { 0x0005e1, 3260 }, + { 0x0005e2, 3271 }, + { 0x0005e3, 3282 }, + { 0x0005e4, 3293 }, + { 0x0005e5, 3304 }, + { 0x0005e6, 3316 }, + { 0x0005e7, 3328 }, + { 0x0005e7, 3338 }, + { 0x0005e8, 3349 }, + { 0x0005e9, 3360 }, + { 0x0005ea, 3379 }, + { 0x0005eb, 3390 }, + { 0x0005ec, 3406 }, + { 0x0005ed, 3422 }, + { 0x0005ee, 3438 }, + { 0x0005ef, 3451 }, + { 0x0005f0, 3464 }, + { 0x0005f1, 3477 }, + { 0x0005f2, 3491 }, + { 0x0006a1, 3504 }, + { 0x0006a2, 3516 }, + { 0x0006a3, 3530 }, + { 0x0006a4, 3542 }, + { 0x0006a4, 3555 }, + { 0x0006a5, 3567 }, + { 0x0006a6, 3581 }, + { 0x0006a6, 3593 }, + { 0x0006a7, 3604 }, + { 0x0006a7, 3617 }, + { 0x0006a8, 3629 }, + { 0x0006a8, 3641 }, + { 0x0006a9, 3652 }, + { 0x0006a9, 3665 }, + { 0x0006aa, 3677 }, + { 0x0006aa, 3690 }, + { 0x0006ab, 3702 }, + { 0x0006ac, 3715 }, + { 0x0006ae, 3729 }, + { 0x0006af, 3749 }, + { 0x0006af, 3763 }, + { 0x0006b0, 3775 }, + { 0x0006b1, 3786 }, + { 0x0006b2, 3798 }, + { 0x0006b3, 3812 }, + { 0x0006b4, 3824 }, + { 0x0006b4, 3837 }, + { 0x0006b5, 3849 }, + { 0x0006b6, 3863 }, + { 0x0006b6, 3875 }, + { 0x0006b7, 3886 }, + { 0x0006b7, 3899 }, + { 0x0006b8, 3911 }, + { 0x0006b8, 3923 }, + { 0x0006b9, 3934 }, + { 0x0006b9, 3947 }, + { 0x0006ba, 3959 }, + { 0x0006ba, 3972 }, + { 0x0006bb, 3984 }, + { 0x0006bc, 3997 }, + { 0x0006be, 4011 }, + { 0x0006bf, 4031 }, + { 0x0006bf, 4045 }, + { 0x0006c0, 4057 }, + { 0x0006c1, 4069 }, + { 0x0006c2, 4080 }, + { 0x0006c3, 4092 }, + { 0x0006c4, 4105 }, + { 0x0006c5, 4117 }, + { 0x0006c6, 4129 }, + { 0x0006c7, 4141 }, + { 0x0006c8, 4154 }, + { 0x0006c9, 4166 }, + { 0x0006ca, 4177 }, + { 0x0006cb, 4193 }, + { 0x0006cc, 4205 }, + { 0x0006cd, 4217 }, + { 0x0006ce, 4229 }, + { 0x0006cf, 4241 }, + { 0x0006d0, 4252 }, + { 0x0006d1, 4264 }, + { 0x0006d2, 4276 }, + { 0x0006d3, 4288 }, + { 0x0006d4, 4300 }, + { 0x0006d5, 4312 }, + { 0x0006d6, 4323 }, + { 0x0006d7, 4336 }, + { 0x0006d8, 4348 }, + { 0x0006d9, 4366 }, + { 0x0006da, 4380 }, + { 0x0006db, 4392 }, + { 0x0006dc, 4405 }, + { 0x0006dd, 4416 }, + { 0x0006de, 4431 }, + { 0x0006df, 4444 }, + { 0x0006e0, 4462 }, + { 0x0006e1, 4474 }, + { 0x0006e2, 4485 }, + { 0x0006e3, 4497 }, + { 0x0006e4, 4510 }, + { 0x0006e5, 4522 }, + { 0x0006e6, 4534 }, + { 0x0006e7, 4546 }, + { 0x0006e8, 4559 }, + { 0x0006e9, 4571 }, + { 0x0006ea, 4582 }, + { 0x0006eb, 4598 }, + { 0x0006ec, 4610 }, + { 0x0006ed, 4622 }, + { 0x0006ee, 4634 }, + { 0x0006ef, 4646 }, + { 0x0006f0, 4657 }, + { 0x0006f1, 4669 }, + { 0x0006f2, 4681 }, + { 0x0006f3, 4693 }, + { 0x0006f4, 4705 }, + { 0x0006f5, 4717 }, + { 0x0006f6, 4728 }, + { 0x0006f7, 4741 }, + { 0x0006f8, 4753 }, + { 0x0006f9, 4771 }, + { 0x0006fa, 4785 }, + { 0x0006fb, 4797 }, + { 0x0006fc, 4810 }, + { 0x0006fd, 4821 }, + { 0x0006fe, 4836 }, + { 0x0006ff, 4849 }, + { 0x0007a1, 4867 }, + { 0x0007a2, 4885 }, + { 0x0007a3, 4905 }, + { 0x0007a4, 4921 }, + { 0x0007a5, 4938 }, + { 0x0007a5, 4957 }, + { 0x0007a7, 4977 }, + { 0x0007a8, 4997 }, + { 0x0007a9, 5017 }, + { 0x0007ab, 5039 }, + { 0x0007ae, 5057 }, + { 0x0007af, 5078 }, + { 0x0007b1, 5093 }, + { 0x0007b2, 5111 }, + { 0x0007b3, 5131 }, + { 0x0007b4, 5147 }, + { 0x0007b5, 5164 }, + { 0x0007b6, 5183 }, + { 0x0007b7, 5208 }, + { 0x0007b8, 5228 }, + { 0x0007b9, 5248 }, + { 0x0007ba, 5270 }, + { 0x0007bb, 5298 }, + { 0x0007c1, 5316 }, + { 0x0007c2, 5328 }, + { 0x0007c3, 5339 }, + { 0x0007c4, 5351 }, + { 0x0007c5, 5363 }, + { 0x0007c6, 5377 }, + { 0x0007c7, 5388 }, + { 0x0007c8, 5398 }, + { 0x0007c9, 5410 }, + { 0x0007ca, 5421 }, + { 0x0007cb, 5433 }, + { 0x0007cb, 5446 }, + { 0x0007cc, 5458 }, + { 0x0007cd, 5467 }, + { 0x0007ce, 5476 }, + { 0x0007cf, 5485 }, + { 0x0007d0, 5499 }, + { 0x0007d1, 5508 }, + { 0x0007d2, 5518 }, + { 0x0007d4, 5530 }, + { 0x0007d5, 5540 }, + { 0x0007d6, 5554 }, + { 0x0007d7, 5564 }, + { 0x0007d8, 5574 }, + { 0x0007d9, 5584 }, + { 0x0007e1, 5596 }, + { 0x0007e2, 5608 }, + { 0x0007e3, 5619 }, + { 0x0007e4, 5631 }, + { 0x0007e5, 5643 }, + { 0x0007e6, 5657 }, + { 0x0007e7, 5668 }, + { 0x0007e8, 5678 }, + { 0x0007e9, 5690 }, + { 0x0007ea, 5701 }, + { 0x0007eb, 5713 }, + { 0x0007eb, 5726 }, + { 0x0007ec, 5738 }, + { 0x0007ed, 5747 }, + { 0x0007ee, 5756 }, + { 0x0007ef, 5765 }, + { 0x0007f0, 5779 }, + { 0x0007f1, 5788 }, + { 0x0007f2, 5798 }, + { 0x0007f3, 5810 }, + { 0x0007f4, 5832 }, + { 0x0007f5, 5842 }, + { 0x0007f6, 5856 }, + { 0x0007f7, 5866 }, + { 0x0007f8, 5876 }, + { 0x0007f9, 5886 }, + { 0x0008a1, 5898 }, + { 0x0008a2, 5910 }, + { 0x0008a3, 5925 }, + { 0x0008a4, 5940 }, + { 0x0008a5, 5952 }, + { 0x0008a6, 5964 }, + { 0x0008a7, 5978 }, + { 0x0008a8, 5995 }, + { 0x0008a9, 6012 }, + { 0x0008aa, 6030 }, + { 0x0008ab, 6048 }, + { 0x0008ac, 6062 }, + { 0x0008ad, 6076 }, + { 0x0008ae, 6091 }, + { 0x0008af, 6106 }, + { 0x0008b0, 6127 }, + { 0x0008b1, 6149 }, + { 0x0008b2, 6166 }, + { 0x0008b3, 6183 }, + { 0x0008b4, 6209 }, + { 0x0008b5, 6235 }, + { 0x0008b6, 6253 }, + { 0x0008b7, 6271 }, + { 0x0008bc, 6292 }, + { 0x0008bd, 6306 }, + { 0x0008be, 6315 }, + { 0x0008bf, 6332 }, + { 0x0008c0, 6341 }, + { 0x0008c1, 6351 }, + { 0x0008c2, 6361 }, + { 0x0008c5, 6370 }, + { 0x0008c8, 6376 }, + { 0x0008c9, 6388 }, + { 0x0008cd, 6401 }, + { 0x0008ce, 6410 }, + { 0x0008cf, 6418 }, + { 0x0008d6, 6428 }, + { 0x0008da, 6436 }, + { 0x0008db, 6447 }, + { 0x0008dc, 6456 }, + { 0x0008dd, 6469 }, + { 0x0008de, 6475 }, + { 0x0008df, 6486 }, + { 0x0008ef, 6496 }, + { 0x0008f6, 6514 }, + { 0x0008fb, 6523 }, + { 0x0008fc, 6533 }, + { 0x0008fd, 6541 }, + { 0x0008fe, 6552 }, + { 0x0009df, 6562 }, + { 0x0009e0, 6568 }, + { 0x0009e1, 6581 }, + { 0x0009e2, 6594 }, + { 0x0009e3, 6597 }, + { 0x0009e4, 6600 }, + { 0x0009e5, 6603 }, + { 0x0009e8, 6606 }, + { 0x0009e9, 6609 }, + { 0x0009ea, 6612 }, + { 0x0009eb, 6627 }, + { 0x0009ec, 6641 }, + { 0x0009ed, 6654 }, + { 0x0009ee, 6668 }, + { 0x0009ef, 6682 }, + { 0x0009f0, 6697 }, + { 0x0009f1, 6712 }, + { 0x0009f2, 6727 }, + { 0x0009f3, 6742 }, + { 0x0009f4, 6757 }, + { 0x0009f5, 6763 }, + { 0x0009f6, 6770 }, + { 0x0009f7, 6775 }, + { 0x0009f8, 6780 }, + { 0x000aa1, 6788 }, + { 0x000aa2, 6796 }, + { 0x000aa3, 6804 }, + { 0x000aa4, 6813 }, + { 0x000aa5, 6822 }, + { 0x000aa6, 6833 }, + { 0x000aa7, 6844 }, + { 0x000aa8, 6854 }, + { 0x000aa9, 6864 }, + { 0x000aaa, 6871 }, + { 0x000aac, 6878 }, + { 0x000aae, 6890 }, + { 0x000aaf, 6899 }, + { 0x000ab0, 6915 }, + { 0x000ab1, 6924 }, + { 0x000ab2, 6934 }, + { 0x000ab3, 6943 }, + { 0x000ab4, 6953 }, + { 0x000ab5, 6965 }, + { 0x000ab6, 6976 }, + { 0x000ab7, 6985 }, + { 0x000ab8, 6996 }, + { 0x000abb, 7003 }, + { 0x000abc, 7011 }, + { 0x000abd, 7028 }, + { 0x000abe, 7041 }, + { 0x000abf, 7059 }, + { 0x000ac3, 7066 }, + { 0x000ac4, 7076 }, + { 0x000ac5, 7089 }, + { 0x000ac6, 7101 }, + { 0x000ac9, 7114 }, + { 0x000aca, 7124 }, + { 0x000acb, 7138 }, + { 0x000acc, 7156 }, + { 0x000acd, 7173 }, + { 0x000ace, 7191 }, + { 0x000acf, 7204 }, + { 0x000ad0, 7220 }, + { 0x000ad1, 7240 }, + { 0x000ad2, 7261 }, + { 0x000ad3, 7281 }, + { 0x000ad4, 7302 }, + { 0x000ad6, 7315 }, + { 0x000ad7, 7323 }, + { 0x000ad9, 7331 }, + { 0x000ada, 7342 }, + { 0x000adb, 7351 }, + { 0x000adc, 7368 }, + { 0x000add, 7388 }, + { 0x000ade, 7409 }, + { 0x000adf, 7424 }, + { 0x000ae0, 7437 }, + { 0x000ae1, 7454 }, + { 0x000ae2, 7473 }, + { 0x000ae3, 7488 }, + { 0x000ae4, 7504 }, + { 0x000ae5, 7522 }, + { 0x000ae6, 7531 }, + { 0x000ae7, 7550 }, + { 0x000ae8, 7567 }, + { 0x000ae9, 7585 }, + { 0x000aea, 7605 }, + { 0x000aeb, 7617 }, + { 0x000aec, 7630 }, + { 0x000aed, 7635 }, + { 0x000aee, 7643 }, + { 0x000af0, 7649 }, + { 0x000af1, 7662 }, + { 0x000af2, 7669 }, + { 0x000af3, 7682 }, + { 0x000af4, 7692 }, + { 0x000af5, 7704 }, + { 0x000af6, 7717 }, + { 0x000af7, 7729 }, + { 0x000af8, 7740 }, + { 0x000af9, 7753 }, + { 0x000afa, 7763 }, + { 0x000afb, 7781 }, + { 0x000afc, 7801 }, + { 0x000afd, 7807 }, + { 0x000afe, 7826 }, + { 0x000aff, 7845 }, + { 0x000ba3, 7852 }, + { 0x000ba6, 7862 }, + { 0x000ba8, 7873 }, + { 0x000ba9, 7883 }, + { 0x000bc0, 7891 }, + { 0x000bc2, 7899 }, + { 0x000bc3, 7908 }, + { 0x000bc4, 7915 }, + { 0x000bc6, 7925 }, + { 0x000bca, 7934 }, + { 0x000bcc, 7938 }, + { 0x000bce, 7943 }, + { 0x000bcf, 7950 }, + { 0x000bd3, 7957 }, + { 0x000bd6, 7965 }, + { 0x000bd8, 7974 }, + { 0x000bda, 7984 }, + { 0x000bdc, 7993 }, + { 0x000bfc, 8002 }, + { 0x000cdf, 8012 }, + { 0x000ce0, 8033 }, + { 0x000ce1, 8046 }, + { 0x000ce1, 8057 }, + { 0x000ce2, 8069 }, + { 0x000ce2, 8082 }, + { 0x000ce3, 8096 }, + { 0x000ce3, 8109 }, + { 0x000ce4, 8123 }, + { 0x000ce5, 8133 }, + { 0x000ce6, 8144 }, + { 0x000ce6, 8156 }, + { 0x000ce7, 8169 }, + { 0x000ce7, 8181 }, + { 0x000ce8, 8192 }, + { 0x000ce8, 8203 }, + { 0x000ce9, 8215 }, + { 0x000cea, 8226 }, + { 0x000ceb, 8243 }, + { 0x000cec, 8255 }, + { 0x000ced, 8268 }, + { 0x000cee, 8284 }, + { 0x000cef, 8295 }, + { 0x000cf0, 8311 }, + { 0x000cf1, 8322 }, + { 0x000cf1, 8336 }, + { 0x000cf2, 8350 }, + { 0x000cf3, 8362 }, + { 0x000cf4, 8377 }, + { 0x000cf5, 8387 }, + { 0x000cf5, 8404 }, + { 0x000cf6, 8421 }, + { 0x000cf6, 8433 }, + { 0x000cf7, 8445 }, + { 0x000cf7, 8456 }, + { 0x000cf8, 8468 }, + { 0x000cf9, 8480 }, + { 0x000cfa, 8492 }, + { 0x000cfa, 8503 }, + { 0x000da1, 8514 }, + { 0x000da2, 8525 }, + { 0x000da3, 8538 }, + { 0x000da4, 8552 }, + { 0x000da5, 8566 }, + { 0x000da6, 8579 }, + { 0x000da7, 8595 }, + { 0x000da8, 8607 }, + { 0x000da9, 8620 }, + { 0x000daa, 8634 }, + { 0x000dab, 8648 }, + { 0x000dac, 8658 }, + { 0x000dad, 8671 }, + { 0x000dae, 8683 }, + { 0x000daf, 8696 }, + { 0x000db0, 8709 }, + { 0x000db1, 8722 }, + { 0x000db2, 8741 }, + { 0x000db3, 8757 }, + { 0x000db4, 8768 }, + { 0x000db5, 8779 }, + { 0x000db6, 8790 }, + { 0x000db7, 8804 }, + { 0x000db8, 8819 }, + { 0x000db9, 8833 }, + { 0x000dba, 8843 }, + { 0x000dbb, 8857 }, + { 0x000dbc, 8868 }, + { 0x000dbd, 8882 }, + { 0x000dbe, 8892 }, + { 0x000dbf, 8905 }, + { 0x000dc0, 8916 }, + { 0x000dc1, 8932 }, + { 0x000dc2, 8942 }, + { 0x000dc3, 8953 }, + { 0x000dc4, 8964 }, + { 0x000dc5, 8972 }, + { 0x000dc6, 8984 }, + { 0x000dc7, 8992 }, + { 0x000dc8, 9004 }, + { 0x000dc9, 9016 }, + { 0x000dca, 9028 }, + { 0x000dcb, 9039 }, + { 0x000dcc, 9050 }, + { 0x000dcd, 9063 }, + { 0x000dce, 9073 }, + { 0x000dcf, 9087 }, + { 0x000dd0, 9102 }, + { 0x000dd1, 9113 }, + { 0x000dd2, 9129 }, + { 0x000dd3, 9141 }, + { 0x000dd4, 9153 }, + { 0x000dd5, 9164 }, + { 0x000dd6, 9176 }, + { 0x000dd7, 9188 }, + { 0x000dd8, 9201 }, + { 0x000dd9, 9212 }, + { 0x000dda, 9224 }, + { 0x000dde, 9237 }, + { 0x000ddf, 9260 }, + { 0x000de0, 9270 }, + { 0x000de1, 9281 }, + { 0x000de2, 9293 }, + { 0x000de3, 9304 }, + { 0x000de4, 9323 }, + { 0x000de5, 9343 }, + { 0x000de6, 9360 }, + { 0x000de7, 9374 }, + { 0x000de8, 9389 }, + { 0x000de9, 9400 }, + { 0x000dea, 9412 }, + { 0x000deb, 9424 }, + { 0x000dec, 9441 }, + { 0x000ded, 9458 }, + { 0x000df0, 9472 }, + { 0x000df1, 9484 }, + { 0x000df2, 9497 }, + { 0x000df3, 9510 }, + { 0x000df4, 9522 }, + { 0x000df5, 9533 }, + { 0x000df6, 9544 }, + { 0x000df7, 9556 }, + { 0x000df8, 9569 }, + { 0x000df9, 9582 }, + { 0x000ea1, 9594 }, + { 0x000ea2, 9608 }, + { 0x000ea3, 9627 }, + { 0x000ea4, 9645 }, + { 0x000ea5, 9658 }, + { 0x000ea6, 9676 }, + { 0x000ea7, 9694 }, + { 0x000ea8, 9708 }, + { 0x000ea9, 9727 }, + { 0x000eaa, 9740 }, + { 0x000eab, 9759 }, + { 0x000eac, 9777 }, + { 0x000ead, 9795 }, + { 0x000eae, 9812 }, + { 0x000eaf, 9830 }, + { 0x000eb0, 9849 }, + { 0x000eb1, 9867 }, + { 0x000eb2, 9880 }, + { 0x000eb3, 9893 }, + { 0x000eb4, 9911 }, + { 0x000eb5, 9928 }, + { 0x000eb6, 9940 }, + { 0x000eb7, 9957 }, + { 0x000eb8, 9970 }, + { 0x000eb9, 9983 }, + { 0x000eba, 10001 }, + { 0x000ebb, 10014 }, + { 0x000ebc, 10028 }, + { 0x000ebd, 10041 }, + { 0x000ebe, 10055 }, + { 0x000ebf, 10068 }, + { 0x000ec0, 10077 }, + { 0x000ec1, 10087 }, + { 0x000ec2, 10097 }, + { 0x000ec3, 10108 }, + { 0x000ec4, 10118 }, + { 0x000ec5, 10127 }, + { 0x000ec6, 10138 }, + { 0x000ec7, 10148 }, + { 0x000ec8, 10157 }, + { 0x000ec9, 10167 }, + { 0x000eca, 10178 }, + { 0x000ecb, 10188 }, + { 0x000ecc, 10198 }, + { 0x000ecd, 10207 }, + { 0x000ece, 10218 }, + { 0x000ecf, 10228 }, + { 0x000ed0, 10238 }, + { 0x000ed1, 10248 }, + { 0x000ed2, 10258 }, + { 0x000ed3, 10268 }, + { 0x000ed4, 10277 }, + { 0x000ed5, 10293 }, + { 0x000ed6, 10314 }, + { 0x000ed7, 10334 }, + { 0x000ed8, 10349 }, + { 0x000ed9, 10369 }, + { 0x000eda, 10389 }, + { 0x000edb, 10405 }, + { 0x000edc, 10420 }, + { 0x000edd, 10441 }, + { 0x000ede, 10461 }, + { 0x000edf, 10481 }, + { 0x000ee0, 10500 }, + { 0x000ee1, 10520 }, + { 0x000ee2, 10541 }, + { 0x000ee3, 10561 }, + { 0x000ee4, 10576 }, + { 0x000ee5, 10591 }, + { 0x000ee6, 10610 }, + { 0x000ee7, 10624 }, + { 0x000ee8, 10643 }, + { 0x000ee9, 10658 }, + { 0x000eea, 10673 }, + { 0x000eeb, 10688 }, + { 0x000eec, 10704 }, + { 0x000eed, 10719 }, + { 0x000eee, 10735 }, + { 0x000eef, 10750 }, + { 0x000ef0, 10774 }, + { 0x000ef1, 10799 }, + { 0x000ef2, 10824 }, + { 0x000ef3, 10839 }, + { 0x000ef4, 10864 }, + { 0x000ef5, 10890 }, + { 0x000ef6, 10909 }, + { 0x000ef7, 10922 }, + { 0x000ef8, 10936 }, + { 0x000ef9, 10953 }, + { 0x000efa, 10980 }, + { 0x000eff, 11001 }, + { 0x0013bc, 11012 }, + { 0x0013bd, 11015 }, + { 0x0013be, 11018 }, + { 0x0020a0, 11029 }, + { 0x0020a1, 11037 }, + { 0x0020a2, 11047 }, + { 0x0020a3, 11060 }, + { 0x0020a4, 11071 }, + { 0x0020a5, 11080 }, + { 0x0020a6, 11089 }, + { 0x0020a7, 11099 }, + { 0x0020a8, 11110 }, + { 0x0020a9, 11120 }, + { 0x0020aa, 11128 }, + { 0x0020ab, 11142 }, + { 0x0020ac, 11151 }, + { 0x00fd01, 11160 }, + { 0x00fd02, 11175 }, + { 0x00fd03, 11190 }, + { 0x00fd04, 11202 }, + { 0x00fd05, 11213 }, + { 0x00fd06, 11226 }, + { 0x00fd07, 11240 }, + { 0x00fd08, 11256 }, + { 0x00fd09, 11267 }, + { 0x00fd0a, 11277 }, + { 0x00fd0b, 11286 }, + { 0x00fd0c, 11295 }, + { 0x00fd0d, 11304 }, + { 0x00fd0e, 11314 }, + { 0x00fd0f, 11324 }, + { 0x00fd10, 11341 }, + { 0x00fd11, 11356 }, + { 0x00fd12, 11370 }, + { 0x00fd13, 11380 }, + { 0x00fd14, 11391 }, + { 0x00fd15, 11401 }, + { 0x00fd16, 11411 }, + { 0x00fd17, 11421 }, + { 0x00fd18, 11432 }, + { 0x00fd19, 11444 }, + { 0x00fd1a, 11462 }, + { 0x00fd1b, 11478 }, + { 0x00fd1c, 11492 }, + { 0x00fd1d, 11510 }, + { 0x00fd1e, 11527 }, + { 0x00fe01, 11538 }, + { 0x00fe02, 11547 }, + { 0x00fe03, 11564 }, + { 0x00fe04, 11581 }, + { 0x00fe05, 11598 }, + { 0x00fe06, 11614 }, + { 0x00fe07, 11630 }, + { 0x00fe08, 11645 }, + { 0x00fe09, 11660 }, + { 0x00fe0a, 11680 }, + { 0x00fe0b, 11695 }, + { 0x00fe0c, 11715 }, + { 0x00fe0d, 11731 }, + { 0x00fe0e, 11752 }, + { 0x00fe0f, 11767 }, + { 0x00fe20, 11787 }, + { 0x00fe21, 11800 }, + { 0x00fe22, 11817 }, + { 0x00fe23, 11836 }, + { 0x00fe24, 11856 }, + { 0x00fe25, 11878 }, + { 0x00fe26, 11901 }, + { 0x00fe27, 11925 }, + { 0x00fe28, 11945 }, + { 0x00fe29, 11966 }, + { 0x00fe2a, 11990 }, + { 0x00fe2b, 12015 }, + { 0x00fe2c, 12040 }, + { 0x00fe2d, 12061 }, + { 0x00fe2e, 12083 }, + { 0x00fe2f, 12102 }, + { 0x00fe30, 12123 }, + { 0x00fe31, 12148 }, + { 0x00fe32, 12176 }, + { 0x00fe33, 12190 }, + { 0x00fe34, 12208 }, + { 0x00fe50, 12218 }, + { 0x00fe51, 12229 }, + { 0x00fe52, 12240 }, + { 0x00fe53, 12256 }, + { 0x00fe54, 12267 }, + { 0x00fe55, 12279 }, + { 0x00fe56, 12290 }, + { 0x00fe57, 12304 }, + { 0x00fe58, 12319 }, + { 0x00fe59, 12334 }, + { 0x00fe5a, 12351 }, + { 0x00fe5b, 12362 }, + { 0x00fe5c, 12375 }, + { 0x00fe5d, 12387 }, + { 0x00fe5e, 12397 }, + { 0x00fe5f, 12415 }, + { 0x00fe60, 12437 }, + { 0x00fe61, 12451 }, + { 0x00fe62, 12461 }, + { 0x00fe70, 12471 }, + { 0x00fe71, 12486 }, + { 0x00fe72, 12510 }, + { 0x00fe73, 12528 }, + { 0x00fe74, 12544 }, + { 0x00fe75, 12562 }, + { 0x00fe76, 12580 }, + { 0x00fe77, 12597 }, + { 0x00fe78, 12620 }, + { 0x00fe79, 12636 }, + { 0x00fe7a, 12652 }, + { 0x00fed0, 12671 }, + { 0x00fed1, 12692 }, + { 0x00fed2, 12712 }, + { 0x00fed4, 12732 }, + { 0x00fed5, 12752 }, + { 0x00fee0, 12769 }, + { 0x00fee1, 12782 }, + { 0x00fee2, 12796 }, + { 0x00fee3, 12807 }, + { 0x00fee4, 12820 }, + { 0x00fee5, 12835 }, + { 0x00fee6, 12851 }, + { 0x00fee7, 12868 }, + { 0x00fee8, 12886 }, + { 0x00fee9, 12906 }, + { 0x00feea, 12922 }, + { 0x00feeb, 12938 }, + { 0x00feec, 12954 }, + { 0x00feed, 12970 }, + { 0x00feee, 12986 }, + { 0x00feef, 13008 }, + { 0x00fef0, 13026 }, + { 0x00fef1, 13044 }, + { 0x00fef2, 13062 }, + { 0x00fef3, 13080 }, + { 0x00fef4, 13098 }, + { 0x00fef5, 13116 }, + { 0x00fef6, 13130 }, + { 0x00fef7, 13144 }, + { 0x00fef8, 13158 }, + { 0x00fef9, 13172 }, + { 0x00fefa, 13191 }, + { 0x00fefb, 13210 }, + { 0x00fefc, 13230 }, + { 0x00fefd, 13250 }, + { 0x00ff08, 13264 }, + { 0x00ff09, 13274 }, + { 0x00ff0a, 13278 }, + { 0x00ff0b, 13287 }, + { 0x00ff0d, 13293 }, + { 0x00ff13, 13300 }, + { 0x00ff14, 13306 }, + { 0x00ff15, 13318 }, + { 0x00ff1b, 13326 }, + { 0x00ff20, 13333 }, + { 0x00ff21, 13343 }, + { 0x00ff22, 13349 }, + { 0x00ff23, 13358 }, + { 0x00ff23, 13365 }, + { 0x00ff24, 13377 }, + { 0x00ff25, 13384 }, + { 0x00ff26, 13393 }, + { 0x00ff27, 13402 }, + { 0x00ff28, 13420 }, + { 0x00ff29, 13428 }, + { 0x00ff2a, 13436 }, + { 0x00ff2b, 13452 }, + { 0x00ff2c, 13460 }, + { 0x00ff2d, 13467 }, + { 0x00ff2e, 13477 }, + { 0x00ff2f, 13488 }, + { 0x00ff30, 13499 }, + { 0x00ff31, 13511 }, + { 0x00ff32, 13518 }, + { 0x00ff33, 13531 }, + { 0x00ff34, 13542 }, + { 0x00ff35, 13555 }, + { 0x00ff36, 13567 }, + { 0x00ff37, 13581 }, + { 0x00ff38, 13591 }, + { 0x00ff39, 13605 }, + { 0x00ff3a, 13618 }, + { 0x00ff3b, 13634 }, + { 0x00ff3c, 13651 }, + { 0x00ff3d, 13667 }, + { 0x00ff3e, 13685 }, + { 0x00ff3f, 13703 }, + { 0x00ff50, 13718 }, + { 0x00ff51, 13723 }, + { 0x00ff52, 13728 }, + { 0x00ff53, 13731 }, + { 0x00ff54, 13737 }, + { 0x00ff55, 13742 }, + { 0x00ff55, 13750 }, + { 0x00ff56, 13756 }, + { 0x00ff56, 13766 }, + { 0x00ff57, 13771 }, + { 0x00ff58, 13775 }, + { 0x00ff60, 13781 }, + { 0x00ff61, 13788 }, + { 0x00ff62, 13794 }, + { 0x00ff63, 13802 }, + { 0x00ff65, 13809 }, + { 0x00ff66, 13814 }, + { 0x00ff67, 13819 }, + { 0x00ff68, 13824 }, + { 0x00ff69, 13829 }, + { 0x00ff6a, 13836 }, + { 0x00ff6b, 13841 }, + { 0x00ff7e, 13847 }, + { 0x00ff7e, 13861 }, + { 0x00ff7e, 13874 }, + { 0x00ff7e, 13888 }, + { 0x00ff7e, 13902 }, + { 0x00ff7e, 13918 }, + { 0x00ff7e, 13930 }, + { 0x00ff7e, 13942 }, + { 0x00ff7f, 13956 }, + { 0x00ff80, 13965 }, + { 0x00ff89, 13974 }, + { 0x00ff8d, 13981 }, + { 0x00ff91, 13990 }, + { 0x00ff92, 13996 }, + { 0x00ff93, 14002 }, + { 0x00ff94, 14008 }, + { 0x00ff95, 14014 }, + { 0x00ff96, 14022 }, + { 0x00ff97, 14030 }, + { 0x00ff98, 14036 }, + { 0x00ff99, 14045 }, + { 0x00ff9a, 14053 }, + { 0x00ff9a, 14064 }, + { 0x00ff9b, 14073 }, + { 0x00ff9b, 14086 }, + { 0x00ff9c, 14094 }, + { 0x00ff9d, 14101 }, + { 0x00ff9e, 14110 }, + { 0x00ff9f, 14120 }, + { 0x00ffaa, 14130 }, + { 0x00ffab, 14142 }, + { 0x00ffac, 14149 }, + { 0x00ffad, 14162 }, + { 0x00ffae, 14174 }, + { 0x00ffaf, 14185 }, + { 0x00ffb0, 14195 }, + { 0x00ffb1, 14200 }, + { 0x00ffb2, 14205 }, + { 0x00ffb3, 14210 }, + { 0x00ffb4, 14215 }, + { 0x00ffb5, 14220 }, + { 0x00ffb6, 14225 }, + { 0x00ffb7, 14230 }, + { 0x00ffb8, 14235 }, + { 0x00ffb9, 14240 }, + { 0x00ffbd, 14245 }, + { 0x00ffbe, 14254 }, + { 0x00ffbf, 14257 }, + { 0x00ffc0, 14260 }, + { 0x00ffc1, 14263 }, + { 0x00ffc2, 14266 }, + { 0x00ffc3, 14269 }, + { 0x00ffc4, 14272 }, + { 0x00ffc5, 14275 }, + { 0x00ffc6, 14278 }, + { 0x00ffc7, 14281 }, + { 0x00ffc8, 14285 }, + { 0x00ffc9, 14289 }, + { 0x00ffca, 14293 }, + { 0x00ffcb, 14297 }, + { 0x00ffcc, 14301 }, + { 0x00ffcd, 14305 }, + { 0x00ffce, 14309 }, + { 0x00ffcf, 14313 }, + { 0x00ffd0, 14317 }, + { 0x00ffd1, 14321 }, + { 0x00ffd2, 14325 }, + { 0x00ffd3, 14329 }, + { 0x00ffd4, 14333 }, + { 0x00ffd5, 14337 }, + { 0x00ffd6, 14341 }, + { 0x00ffd7, 14345 }, + { 0x00ffd8, 14349 }, + { 0x00ffd9, 14353 }, + { 0x00ffda, 14357 }, + { 0x00ffdb, 14361 }, + { 0x00ffdc, 14365 }, + { 0x00ffdd, 14369 }, + { 0x00ffde, 14373 }, + { 0x00ffdf, 14377 }, + { 0x00ffe0, 14381 }, + { 0x00ffe1, 14385 }, + { 0x00ffe2, 14393 }, + { 0x00ffe3, 14401 }, + { 0x00ffe4, 14411 }, + { 0x00ffe5, 14421 }, + { 0x00ffe6, 14431 }, + { 0x00ffe7, 14442 }, + { 0x00ffe8, 14449 }, + { 0x00ffe9, 14456 }, + { 0x00ffea, 14462 }, + { 0x00ffeb, 14468 }, + { 0x00ffec, 14476 }, + { 0x00ffed, 14484 }, + { 0x00ffee, 14492 }, + { 0x00ffff, 14500 }, + { 0xffffff, 14507 } +}; + +static const gdk_key gdk_keys_by_name[] = { + { 0x000030, 140 }, + { 0x000031, 142 }, + { 0x000032, 144 }, + { 0x000033, 146 }, + { 0x00fd10, 11341 }, + { 0x00fd0e, 11314 }, + { 0x00fd05, 11213 }, + { 0x00fd19, 11444 }, + { 0x00fd15, 11401 }, + { 0x00fd0f, 11324 }, + { 0x00fd1c, 11492 }, + { 0x00fd1a, 11462 }, + { 0x00fd01, 11160 }, + { 0x00fd1e, 11527 }, + { 0x00fd06, 11226 }, + { 0x00fd07, 11240 }, + { 0x00fd1b, 11478 }, + { 0x00fd02, 11175 }, + { 0x00fd13, 11380 }, + { 0x00fd12, 11370 }, + { 0x00fd11, 11356 }, + { 0x00fd04, 11202 }, + { 0x00fd0a, 11277 }, + { 0x00fd0b, 11286 }, + { 0x00fd0c, 11295 }, + { 0x00fd16, 11411 }, + { 0x00fd1d, 11510 }, + { 0x00fd09, 11267 }, + { 0x00fd18, 11432 }, + { 0x00fd08, 11256 }, + { 0x00fd03, 11190 }, + { 0x00fd14, 11391 }, + { 0x00fd17, 11421 }, + { 0x00fd0d, 11304 }, + { 0x000034, 148 }, + { 0x000035, 150 }, + { 0x000036, 152 }, + { 0x000037, 154 }, + { 0x000038, 156 }, + { 0x000039, 158 }, + { 0x000041, 207 }, + { 0x0000c6, 787 }, + { 0x0000c1, 744 }, + { 0x0001c3, 1473 }, + { 0x00fe70, 12471 }, + { 0x00fe71, 12486 }, + { 0x0000c2, 751 }, + { 0x0000c4, 770 }, + { 0x0000c0, 737 }, + { 0x00ffe9, 14456 }, + { 0x00ffea, 14462 }, + { 0x0003c0, 2068 }, + { 0x0001a1, 1281 }, + { 0x0005d9, 3221 }, + { 0x0005c7, 3008 }, + { 0x0005e9, 3360 }, + { 0x0005c8, 3020 }, + { 0x0005ac, 2848 }, + { 0x0005d6, 3188 }, + { 0x0005cf, 3107 }, + { 0x0005ef, 3451 }, + { 0x0005ec, 3406 }, + { 0x0005ee, 3438 }, + { 0x0005eb, 3390 }, + { 0x0005e1, 3260 }, + { 0x0005da, 3232 }, + { 0x0005e7, 3328 }, + { 0x0005cd, 3084 }, + { 0x0005c1, 2899 }, + { 0x0005c3, 2931 }, + { 0x0005c4, 2950 }, + { 0x0005c6, 2990 }, + { 0x0005c5, 2968 }, + { 0x0005e7, 3338 }, + { 0x0005cc, 3072 }, + { 0x0005e3, 3282 }, + { 0x0005f0, 3464 }, + { 0x0005ed, 3422 }, + { 0x0005ce, 3095 }, + { 0x0005e4, 3293 }, + { 0x0005c2, 2912 }, + { 0x0005e5, 3304 }, + { 0x0005e6, 3316 }, + { 0x0005e2, 3271 }, + { 0x0005bf, 2878 }, + { 0x0005d1, 3130 }, + { 0x0005d5, 3177 }, + { 0x0005d3, 3152 }, + { 0x0005bb, 2861 }, + { 0x0005f1, 3477 }, + { 0x0005d4, 3164 }, + { 0x0005f2, 3491 }, + { 0x00ff7e, 13847 }, + { 0x0005d7, 3199 }, + { 0x0005e0, 3245 }, + { 0x0005ca, 3049 }, + { 0x0005c9, 3031 }, + { 0x0005d0, 3118 }, + { 0x0005cb, 3060 }, + { 0x0005e8, 3349 }, + { 0x0005ea, 3379 }, + { 0x0005d8, 3210 }, + { 0x0005d2, 3140 }, + { 0x0000c5, 781 }, + { 0x0000c3, 763 }, + { 0x00fe7a, 12652 }, + { 0x000042, 209 }, + { 0x00ff08, 13264 }, + { 0x00ff58, 13775 }, + { 0x00fe74, 12544 }, + { 0x00ff6b, 13841 }, + { 0x0006be, 4011 }, + { 0x0006ae, 3729 }, + { 0x000043, 211 }, + { 0x0002c5, 1826 }, + { 0x0001c6, 1487 }, + { 0x00ff69, 13829 }, + { 0x00ffe5, 14421 }, + { 0x0001c8, 1494 }, + { 0x0000c7, 790 }, + { 0x0002c6, 1836 }, + { 0x00ff0b, 13287 }, + { 0x00ff37, 13581 }, + { 0x0020a1, 11037 }, + { 0x00ffe3, 14401 }, + { 0x00ffe4, 14411 }, + { 0x0020a2, 11047 }, + { 0x0006e1, 4474 }, + { 0x0006e2, 4485 }, + { 0x0006fe, 4836 }, + { 0x0006e4, 4510 }, + { 0x0006bf, 4031 }, + { 0x0006fc, 4810 }, + { 0x0006e6, 4534 }, + { 0x0006ec, 4610 }, + { 0x0006ed, 4622 }, + { 0x0006ee, 4634 }, + { 0x0006f2, 4681 }, + { 0x0006f3, 4693 }, + { 0x0006e7, 4546 }, + { 0x0006e8, 4559 }, + { 0x0006ff, 4849 }, + { 0x0006e9, 4571 }, + { 0x0006e5, 4522 }, + { 0x0006b3, 3812 }, + { 0x0006b8, 3911 }, + { 0x0006eb, 4598 }, + { 0x0006b9, 3934 }, + { 0x0006ba, 3959 }, + { 0x0006ef, 4646 }, + { 0x0006f0, 4657 }, + { 0x0006fb, 4797 }, + { 0x0006fd, 4821 }, + { 0x0006ea, 4582 }, + { 0x0006f8, 4753 }, + { 0x0006f4, 4705 }, + { 0x0006e3, 4497 }, + { 0x0006f5, 4717 }, + { 0x0006f7, 4741 }, + { 0x0006f1, 4669 }, + { 0x0006f9, 4771 }, + { 0x0006e0, 4462 }, + { 0x0006fa, 4785 }, + { 0x0006f6, 4728 }, + { 0x0006c1, 4069 }, + { 0x0006c2, 4080 }, + { 0x0006de, 4431 }, + { 0x0006c4, 4105 }, + { 0x0006af, 3749 }, + { 0x0006dc, 4405 }, + { 0x0006c6, 4129 }, + { 0x0006cc, 4205 }, + { 0x0006cd, 4217 }, + { 0x0006ce, 4229 }, + { 0x0006d2, 4276 }, + { 0x0006d3, 4288 }, + { 0x0006c7, 4141 }, + { 0x0006c8, 4154 }, + { 0x0006df, 4444 }, + { 0x0006c9, 4166 }, + { 0x0006c5, 4117 }, + { 0x0006a3, 3530 }, + { 0x0006a8, 3629 }, + { 0x0006cb, 4193 }, + { 0x0006a9, 3652 }, + { 0x0006aa, 3677 }, + { 0x0006cf, 4241 }, + { 0x0006d0, 4252 }, + { 0x0006db, 4392 }, + { 0x0006dd, 4416 }, + { 0x0006ca, 4177 }, + { 0x0006d8, 4348 }, + { 0x0006d4, 4300 }, + { 0x0006c3, 4092 }, + { 0x0006d5, 4312 }, + { 0x0006d7, 4336 }, + { 0x0006d1, 4264 }, + { 0x0006d9, 4366 }, + { 0x0006c0, 4057 }, + { 0x0006da, 4380 }, + { 0x0006d6, 4323 }, + { 0x000044, 213 }, + { 0x0001cf, 1516 }, + { 0x00ffff, 14500 }, + { 0x0020ab, 11142 }, + { 0x00ff54, 13737 }, + { 0x0001d0, 1523 }, + { 0x000045, 215 }, + { 0x0003bd, 2060 }, + { 0x0000d0, 873 }, + { 0x0003cc, 2084 }, + { 0x0000c9, 806 }, + { 0x0001cc, 1509 }, + { 0x0000ca, 813 }, + { 0x0020a0, 11029 }, + { 0x0000cb, 825 }, + { 0x0000c8, 799 }, + { 0x00ff2f, 13488 }, + { 0x00ff30, 13499 }, + { 0x0003aa, 1987 }, + { 0x00ff57, 13771 }, + { 0x0001ca, 1501 }, + { 0x00ff1b, 13326 }, + { 0x0000d0, 877 }, + { 0x0020ac, 11151 }, + { 0x00ff62, 13794 }, + { 0x000046, 217 }, + { 0x00ffbe, 14254 }, + { 0x00ffc7, 14281 }, + { 0x00ffc8, 14285 }, + { 0x00ffc9, 14289 }, + { 0x00ffca, 14293 }, + { 0x00ffcb, 14297 }, + { 0x00ffcc, 14301 }, + { 0x00ffcd, 14305 }, + { 0x00ffce, 14309 }, + { 0x00ffcf, 14313 }, + { 0x00ffd0, 14317 }, + { 0x00ffbf, 14257 }, + { 0x00ffd1, 14321 }, + { 0x00ffd2, 14325 }, + { 0x00ffd3, 14329 }, + { 0x00ffd4, 14333 }, + { 0x00ffd5, 14337 }, + { 0x00ffd6, 14341 }, + { 0x00ffd7, 14345 }, + { 0x00ffd8, 14349 }, + { 0x00ffd9, 14353 }, + { 0x00ffda, 14357 }, + { 0x00ffc0, 14260 }, + { 0x00ffdb, 14361 }, + { 0x00ffdc, 14365 }, + { 0x00ffdd, 14369 }, + { 0x00ffde, 14373 }, + { 0x00ffdf, 14377 }, + { 0x00ffe0, 14381 }, + { 0x00ffc1, 14263 }, + { 0x00ffc2, 14266 }, + { 0x00ffc3, 14269 }, + { 0x00ffc4, 14272 }, + { 0x00ffc5, 14275 }, + { 0x00ffc6, 14278 }, + { 0x0020a3, 11060 }, + { 0x00ff68, 13824 }, + { 0x00fed0, 12671 }, + { 0x000047, 219 }, + { 0x0002d5, 1848 }, + { 0x0002ab, 1759 }, + { 0x0003ab, 1995 }, + { 0x0002d8, 1858 }, + { 0x0007c1, 5316 }, + { 0x0007a1, 4867 }, + { 0x0007c2, 5328 }, + { 0x0007d7, 5564 }, + { 0x0007c4, 5351 }, + { 0x0007c5, 5363 }, + { 0x0007a2, 4885 }, + { 0x0007c7, 5388 }, + { 0x0007a3, 4905 }, + { 0x0007c3, 5339 }, + { 0x0007c9, 5410 }, + { 0x0007a4, 4921 }, + { 0x0007a5, 4957 }, + { 0x0007a5, 4938 }, + { 0x0007ca, 5421 }, + { 0x0007cb, 5433 }, + { 0x0007cb, 5446 }, + { 0x0007cc, 5458 }, + { 0x0007cd, 5467 }, + { 0x0007d9, 5584 }, + { 0x0007ab, 5039 }, + { 0x0007cf, 5485 }, + { 0x0007a7, 4977 }, + { 0x0007d6, 5554 }, + { 0x0007d0, 5499 }, + { 0x0007d8, 5574 }, + { 0x0007d1, 5508 }, + { 0x0007d2, 5518 }, + { 0x0007d4, 5530 }, + { 0x0007c8, 5398 }, + { 0x0007d5, 5540 }, + { 0x0007a8, 4997 }, + { 0x0007a9, 5017 }, + { 0x0007ce, 5476 }, + { 0x0007c6, 5377 }, + { 0x0007ae, 5057 }, + { 0x0007e1, 5596 }, + { 0x0007b1, 5093 }, + { 0x0007e2, 5608 }, + { 0x0007f7, 5866 }, + { 0x0007e4, 5631 }, + { 0x0007e5, 5643 }, + { 0x0007b2, 5111 }, + { 0x0007e7, 5668 }, + { 0x0007b3, 5131 }, + { 0x0007f3, 5810 }, + { 0x0007e3, 5619 }, + { 0x0007af, 5078 }, + { 0x0007e9, 5690 }, + { 0x0007b4, 5147 }, + { 0x0007b6, 5183 }, + { 0x0007b5, 5164 }, + { 0x0007ea, 5701 }, + { 0x0007eb, 5713 }, + { 0x0007eb, 5726 }, + { 0x0007ec, 5738 }, + { 0x0007ed, 5747 }, + { 0x0007f9, 5886 }, + { 0x0007bb, 5298 }, + { 0x0007ef, 5765 }, + { 0x0007b7, 5208 }, + { 0x0007f6, 5856 }, + { 0x0007f0, 5779 }, + { 0x0007f8, 5876 }, + { 0x0007f1, 5788 }, + { 0x0007f2, 5798 }, + { 0x00ff7e, 13861 }, + { 0x0007f4, 5832 }, + { 0x0007e8, 5678 }, + { 0x0007f5, 5842 }, + { 0x0007b8, 5228 }, + { 0x0007ba, 5270 }, + { 0x0007b9, 5248 }, + { 0x0007ee, 5756 }, + { 0x0007e6, 5657 }, + { 0x000048, 221 }, + { 0x00ff31, 13511 }, + { 0x000ebf, 10068 }, + { 0x000ec0, 10077 }, + { 0x000ef6, 10909 }, + { 0x000ef7, 10922 }, + { 0x00ff39, 13605 }, + { 0x000eba, 10001 }, + { 0x000ea7, 9694 }, + { 0x000ec4, 10118 }, + { 0x000ec3, 10108 }, + { 0x000ed1, 10248 }, + { 0x00ff33, 13531 }, + { 0x00ff34, 13542 }, + { 0x000ebe, 10055 }, + { 0x000ed3, 10268 }, + { 0x000eb7, 9957 }, + { 0x000eea, 10673 }, + { 0x000eda, 10389 }, + { 0x000eee, 10735 }, + { 0x000ee8, 10643 }, + { 0x000ee9, 10658 }, + { 0x000eeb, 10688 }, + { 0x000ed4, 10277 }, + { 0x000ed6, 10314 }, + { 0x000ef9, 10953 }, + { 0x000ee3, 10561 }, + { 0x000ed7, 10334 }, + { 0x000ed9, 10369 }, + { 0x000ed8, 10349 }, + { 0x000ef8, 10936 }, + { 0x000eed, 10719 }, + { 0x000ee4, 10576 }, + { 0x000ee5, 10591 }, + { 0x000edb, 10405 }, + { 0x000ee2, 10541 }, + { 0x000edc, 10420 }, + { 0x000edd, 10441 }, + { 0x000ee1, 10520 }, + { 0x000ede, 10461 }, + { 0x000edf, 10481 }, + { 0x000ee0, 10500 }, + { 0x000ee6, 10610 }, + { 0x000ed5, 10293 }, + { 0x000ee7, 10624 }, + { 0x000eec, 10704 }, + { 0x000efa, 10980 }, + { 0x00ff35, 13555 }, + { 0x00ff38, 13591 }, + { 0x000eb8, 9970 }, + { 0x000ebb, 10014 }, + { 0x000ea1, 9594 }, + { 0x000ea3, 9627 }, + { 0x000ef3, 10839 }, + { 0x000eb1, 9867 }, + { 0x000ea4, 9645 }, + { 0x000ea6, 9676 }, + { 0x000ea5, 9658 }, + { 0x000ec7, 10148 }, + { 0x000eca, 10178 }, + { 0x000ef2, 10824 }, + { 0x000ebd, 10041 }, + { 0x000eb2, 9880 }, + { 0x000eb4, 9911 }, + { 0x00ff3b, 13634 }, + { 0x00ff3a, 13618 }, + { 0x000ea9, 9727 }, + { 0x000eb0, 9849 }, + { 0x000eaa, 9740 }, + { 0x000eab, 9759 }, + { 0x000eaf, 9830 }, + { 0x000eac, 9777 }, + { 0x000ead, 9795 }, + { 0x000eae, 9812 }, + { 0x000eef, 10750 }, + { 0x00ff36, 13567 }, + { 0x000eb5, 9928 }, + { 0x00ff3f, 13703 }, + { 0x000ea8, 9708 }, + { 0x000eb9, 9983 }, + { 0x000ea2, 9608 }, + { 0x000eb3, 9893 }, + { 0x000eb6, 9940 }, + { 0x00ff32, 13518 }, + { 0x000ef0, 10774 }, + { 0x000ef4, 10864 }, + { 0x000ef1, 10799 }, + { 0x000ebc, 10028 }, + { 0x000ecc, 10198 }, + { 0x000ec8, 10157 }, + { 0x000ec9, 10167 }, + { 0x000ece, 10218 }, + { 0x000ecd, 10207 }, + { 0x000ecf, 10228 }, + { 0x000ec1, 10087 }, + { 0x000ec2, 10097 }, + { 0x000ec6, 10138 }, + { 0x000ec5, 10127 }, + { 0x000ed2, 10258 }, + { 0x000ecb, 10188 }, + { 0x000ed0, 10238 }, + { 0x000ef5, 10890 }, + { 0x00ff7e, 13874 }, + { 0x00ff29, 13428 }, + { 0x0002a6, 1737 }, + { 0x00ff7e, 13888 }, + { 0x00ff6a, 13836 }, + { 0x00ff23, 13358 }, + { 0x00ff23, 13365 }, + { 0x00ff25, 13384 }, + { 0x00ff27, 13402 }, + { 0x00ff50, 13718 }, + { 0x0002a1, 1729 }, + { 0x00ffed, 14484 }, + { 0x00ffee, 14492 }, + { 0x000049, 223 }, + { 0x00fe33, 12190 }, + { 0x00fe30, 12123 }, + { 0x00fe31, 12148 }, + { 0x00fe32, 12176 }, + { 0x00fe34, 12208 }, + { 0x00fe2f, 12102 }, + { 0x00fe2c, 12040 }, + { 0x00fe2d, 12061 }, + { 0x00fe2e, 12083 }, + { 0x00fe0c, 11715 }, + { 0x00fe0d, 11731 }, + { 0x00fe06, 11614 }, + { 0x00fe07, 11630 }, + { 0x00ff7e, 13902 }, + { 0x00fe0e, 11752 }, + { 0x00fe0f, 11767 }, + { 0x00fe20, 11787 }, + { 0x00fe02, 11547 }, + { 0x00fe04, 11581 }, + { 0x00fe05, 11598 }, + { 0x00fe03, 11564 }, + { 0x00fe01, 11538 }, + { 0x00fe22, 11817 }, + { 0x00fe21, 11800 }, + { 0x00fe08, 11645 }, + { 0x00fe09, 11660 }, + { 0x00fe24, 11856 }, + { 0x00fe23, 11836 }, + { 0x00fe25, 11878 }, + { 0x00fe26, 11901 }, + { 0x00fe0a, 11680 }, + { 0x00fe0b, 11695 }, + { 0x00fe2b, 12015 }, + { 0x00fe29, 11966 }, + { 0x00fe2a, 11990 }, + { 0x00fe27, 11925 }, + { 0x00fe28, 11945 }, + { 0x0002a9, 1749 }, + { 0x0000cd, 843 }, + { 0x0000ce, 850 }, + { 0x0000cf, 862 }, + { 0x0000cc, 836 }, + { 0x0003cf, 2094 }, + { 0x00ff63, 13802 }, + { 0x0003c7, 2076 }, + { 0x0003a5, 1971 }, + { 0x00004a, 225 }, + { 0x0002ac, 1766 }, + { 0x00004b, 227 }, + { 0x00ffb0, 14195 }, + { 0x00ffb1, 14200 }, + { 0x00ffb2, 14205 }, + { 0x00ffb3, 14210 }, + { 0x00ffb4, 14215 }, + { 0x00ffb5, 14220 }, + { 0x00ffb6, 14225 }, + { 0x00ffb7, 14230 }, + { 0x00ffb8, 14235 }, + { 0x00ffb9, 14240 }, + { 0x00ffab, 14142 }, + { 0x00ff9d, 14101 }, + { 0x00ffae, 14174 }, + { 0x00ff9f, 14120 }, + { 0x00ffaf, 14185 }, + { 0x00ff99, 14045 }, + { 0x00ff9c, 14094 }, + { 0x00ff8d, 13981 }, + { 0x00ffbd, 14245 }, + { 0x00ff91, 13990 }, + { 0x00ff92, 13996 }, + { 0x00ff93, 14002 }, + { 0x00ff94, 14008 }, + { 0x00ff95, 14014 }, + { 0x00ff9e, 14110 }, + { 0x00ff96, 14022 }, + { 0x00ffaa, 14130 }, + { 0x00ff9b, 14086 }, + { 0x00ff9b, 14073 }, + { 0x00ff9a, 14053 }, + { 0x00ff9a, 14064 }, + { 0x00ff98, 14036 }, + { 0x00ffac, 14149 }, + { 0x00ff80, 13965 }, + { 0x00ffad, 14162 }, + { 0x00ff89, 13974 }, + { 0x00ff97, 14030 }, + { 0x00ff2d, 13467 }, + { 0x00ff2e, 13477 }, + { 0x00ff21, 13343 }, + { 0x00ff26, 13393 }, + { 0x0003d3, 2119 }, + { 0x000eff, 11001 }, + { 0x00004c, 229 }, + { 0x0001c5, 1480 }, + { 0x00fed4, 12732 }, + { 0x0001a5, 1303 }, + { 0x0003a6, 1978 }, + { 0x00ff51, 13723 }, + { 0x00ff0a, 13278 }, + { 0x0020a4, 11071 }, + { 0x0001a3, 1295 }, + { 0x00004d, 231 }, + { 0x0006b5, 3849 }, + { 0x0006b2, 3798 }, + { 0x0006bc, 3997 }, + { 0x0006a5, 3567 }, + { 0x0006a2, 3516 }, + { 0x0006ac, 3715 }, + { 0x00ff2c, 13460 }, + { 0x00ff67, 13819 }, + { 0x00ffe7, 14442 }, + { 0x00ffe8, 14449 }, + { 0x0020a5, 11080 }, + { 0x00ff7e, 13918 }, + { 0x00fe77, 12597 }, + { 0x00fe76, 12580 }, + { 0x00ff22, 13349 }, + { 0x00ff20, 13333 }, + { 0x00ff3d, 13667 }, + { 0x00004e, 233 }, + { 0x0001d1, 1531 }, + { 0x0020a6, 11089 }, + { 0x0001d2, 1538 }, + { 0x0003d1, 2102 }, + { 0x0020aa, 11128 }, + { 0x00ff56, 13766 }, + { 0x00fed2, 12712 }, + { 0x0000d1, 881 }, + { 0x00ff7f, 13956 }, + { 0x00004f, 235 }, + { 0x0013bc, 11012 }, + { 0x0000d3, 895 }, + { 0x0000d4, 902 }, + { 0x0000d6, 921 }, + { 0x0001d5, 1545 }, + { 0x0000d2, 888 }, + { 0x0003d2, 2111 }, + { 0x0000d8, 941 }, + { 0x0000d5, 914 }, + { 0x00fe78, 12620 }, + { 0x00fe79, 12636 }, + { 0x000050, 237 }, + { 0x00ff56, 13756 }, + { 0x00ff55, 13742 }, + { 0x00ff13, 13300 }, + { 0x0020a7, 11099 }, + { 0x00fefa, 13191 }, + { 0x00fee9, 12906 }, + { 0x00feea, 12922 }, + { 0x00feeb, 12938 }, + { 0x00feec, 12954 }, + { 0x00feed, 12970 }, + { 0x00fee8, 12886 }, + { 0x00feef, 13008 }, + { 0x00fef0, 13026 }, + { 0x00fef1, 13044 }, + { 0x00fef2, 13062 }, + { 0x00fef3, 13080 }, + { 0x00feee, 12986 }, + { 0x00fefb, 13210 }, + { 0x00fefc, 13230 }, + { 0x00fee3, 12807 }, + { 0x00fee6, 12851 }, + { 0x00fee7, 12868 }, + { 0x00fef5, 13116 }, + { 0x00fef6, 13130 }, + { 0x00fef7, 13144 }, + { 0x00fef8, 13158 }, + { 0x00fefd, 13250 }, + { 0x00fef4, 13098 }, + { 0x00fef9, 13172 }, + { 0x00fee0, 12769 }, + { 0x00fee1, 12782 }, + { 0x00fee2, 12796 }, + { 0x00fee4, 12820 }, + { 0x00fee5, 12835 }, + { 0x00fed1, 12692 }, + { 0x00ff3e, 13685 }, + { 0x00ff61, 13788 }, + { 0x00ff55, 13750 }, + { 0x000051, 239 }, + { 0x000052, 241 }, + { 0x0001c0, 1466 }, + { 0x0001d8, 1558 }, + { 0x0003a3, 1962 }, + { 0x00ff66, 13814 }, + { 0x00fe72, 12510 }, + { 0x00ff0d, 13293 }, + { 0x00ff53, 13731 }, + { 0x00ff24, 13377 }, + { 0x0020a8, 11110 }, + { 0x000053, 243 }, + { 0x0001a6, 1310 }, + { 0x0001a9, 1317 }, + { 0x0001aa, 1324 }, + { 0x0002de, 1877 }, + { 0x00ff14, 13306 }, + { 0x00ff60, 13781 }, + { 0x0006b1, 3786 }, + { 0x0006bf, 4045 }, + { 0x0006b8, 3923 }, + { 0x0006b9, 3947 }, + { 0x0006ba, 3972 }, + { 0x0006bb, 3984 }, + { 0x0006a1, 3504 }, + { 0x0006af, 3763 }, + { 0x0006a8, 3641 }, + { 0x0006a9, 3665 }, + { 0x0006aa, 3690 }, + { 0x0006ab, 3702 }, + { 0x00ffe1, 14385 }, + { 0x00ffe6, 14431 }, + { 0x00ffe2, 14393 }, + { 0x00ff3c, 13651 }, + { 0x00fe73, 12528 }, + { 0x00fe75, 12562 }, + { 0x00ffeb, 14468 }, + { 0x00ffec, 14476 }, + { 0x00ff15, 13318 }, + { 0x000054, 245 }, + { 0x0000de, 994 }, + { 0x00ff09, 13274 }, + { 0x0001ab, 1333 }, + { 0x0001de, 1584 }, + { 0x00fed5, 12752 }, + { 0x000ddf, 9260 }, + { 0x000dba, 8843 }, + { 0x000da8, 8607 }, + { 0x000daa, 8634 }, + { 0x000da9, 8620 }, + { 0x000dac, 8658 }, + { 0x000dae, 8683 }, + { 0x000db4, 8768 }, + { 0x000dbd, 8882 }, + { 0x000dbf, 8905 }, + { 0x000dcb, 9039 }, + { 0x000dce, 9073 }, + { 0x000da2, 8525 }, + { 0x000da5, 8566 }, + { 0x000da3, 8538 }, + { 0x000da4, 8552 }, + { 0x000da6, 8579 }, + { 0x000da1, 8514 }, + { 0x000de5, 9343 }, + { 0x000df7, 9556 }, + { 0x000df5, 9533 }, + { 0x000df6, 9544 }, + { 0x000df9, 9582 }, + { 0x000df1, 9484 }, + { 0x000df8, 9569 }, + { 0x000df3, 9510 }, + { 0x000df4, 9522 }, + { 0x000df2, 9497 }, + { 0x000df0, 9472 }, + { 0x000dcc, 9050 }, + { 0x000dc5, 8972 }, + { 0x000dc6, 8984 }, + { 0x000deb, 9424 }, + { 0x000de8, 9389 }, + { 0x000dd1, 9113 }, + { 0x000dde, 9237 }, + { 0x000de7, 9374 }, + { 0x000de9, 9400 }, + { 0x000dea, 9412 }, + { 0x000de6, 9360 }, + { 0x000dc1, 8932 }, + { 0x000da7, 8595 }, + { 0x000ded, 9458 }, + { 0x000db3, 8757 }, + { 0x000db9, 8833 }, + { 0x000dcd, 9063 }, + { 0x000dcf, 9087 }, + { 0x000dda, 9224 }, + { 0x000dbe, 8892 }, + { 0x000dbc, 8868 }, + { 0x000dc0, 8916 }, + { 0x000dbb, 8857 }, + { 0x000dc3, 8953 }, + { 0x000dc4, 8964 }, + { 0x000dd0, 9102 }, + { 0x000dd2, 9129 }, + { 0x000de1, 9281 }, + { 0x000de4, 9323 }, + { 0x000de3, 9304 }, + { 0x000dd3, 9141 }, + { 0x000de0, 9270 }, + { 0x000dd4, 9153 }, + { 0x000dd5, 9164 }, + { 0x000de2, 9293 }, + { 0x000dd8, 9201 }, + { 0x000dd6, 9176 }, + { 0x000dd7, 9188 }, + { 0x000dd9, 9212 }, + { 0x000dc9, 9016 }, + { 0x000dc8, 9004 }, + { 0x000dab, 8648 }, + { 0x000dca, 9028 }, + { 0x000dec, 9441 }, + { 0x000db1, 8722 }, + { 0x000db2, 8741 }, + { 0x000db7, 8804 }, + { 0x000db0, 8709 }, + { 0x000db8, 8819 }, + { 0x000db6, 8790 }, + { 0x000daf, 8696 }, + { 0x000db5, 8779 }, + { 0x000dc7, 8992 }, + { 0x000dc2, 8942 }, + { 0x000dad, 8671 }, + { 0x0000de, 1000 }, + { 0x00ff2b, 13452 }, + { 0x0003ac, 2004 }, + { 0x000055, 247 }, + { 0x0000da, 957 }, + { 0x0002dd, 1870 }, + { 0x0000db, 964 }, + { 0x0000dc, 976 }, + { 0x0001db, 1571 }, + { 0x0000d9, 950 }, + { 0x0006b6, 3863 }, + { 0x0006b4, 3824 }, + { 0x0006b7, 3886 }, + { 0x0006a6, 3581 }, + { 0x0006a4, 3542 }, + { 0x0006a7, 3604 }, + { 0x0006b6, 3875 }, + { 0x0006b4, 3837 }, + { 0x0006b7, 3899 }, + { 0x0006a6, 3593 }, + { 0x0006a4, 3555 }, + { 0x0006a7, 3617 }, + { 0x0003de, 2143 }, + { 0x00ff65, 13809 }, + { 0x0003d9, 2128 }, + { 0x00ff52, 13728 }, + { 0x0001d9, 1565 }, + { 0x0003dd, 2136 }, + { 0x000056, 249 }, + { 0xffffff, 14507 }, + { 0x000057, 251 }, + { 0x0020a9, 11120 }, + { 0x000058, 253 }, + { 0x000059, 255 }, + { 0x0000dd, 987 }, + { 0x0013be, 11018 }, + { 0x00005a, 257 }, + { 0x0001af, 1354 }, + { 0x0001ac, 1340 }, + { 0x0001ae, 1347 }, + { 0x00ff28, 13420 }, + { 0x00ff2a, 13436 }, + { 0x000061, 333 }, + { 0x0000e1, 1020 }, + { 0x0001ff, 1720 }, + { 0x0001e3, 1600 }, + { 0x0000e2, 1027 }, + { 0x0000b4, 612 }, + { 0x0000e4, 1046 }, + { 0x0000e6, 1063 }, + { 0x0000e0, 1013 }, + { 0x0003e0, 2151 }, + { 0x000026, 48 }, + { 0x0001b1, 1364 }, + { 0x000027, 58 }, + { 0x0008c8, 6376 }, + { 0x0000e5, 1057 }, + { 0x00005e, 294 }, + { 0x00007e, 410 }, + { 0x00002a, 101 }, + { 0x000040, 204 }, + { 0x0000e3, 1039 }, + { 0x000062, 335 }, + { 0x00005c, 271 }, + { 0x000af4, 7692 }, + { 0x00007c, 395 }, + { 0x0009df, 6562 }, + { 0x0008a5, 5952 }, + { 0x0008ac, 6062 }, + { 0x0008a8, 5995 }, + { 0x0008b2, 6166 }, + { 0x0008ae, 6091 }, + { 0x0008aa, 6030 }, + { 0x0008b6, 6253 }, + { 0x0009f6, 6770 }, + { 0x0008b4, 6209 }, + { 0x00007b, 385 }, + { 0x00007d, 399 }, + { 0x00005b, 259 }, + { 0x00005d, 281 }, + { 0x0001a2, 1289 }, + { 0x0000a6, 472 }, + { 0x000063, 337 }, + { 0x0002e5, 1889 }, + { 0x0001e6, 1614 }, + { 0x000ab8, 6996 }, + { 0x000afc, 7801 }, + { 0x0001b7, 1401 }, + { 0x0001e8, 1621 }, + { 0x0000e7, 1066 }, + { 0x0002e6, 1899 }, + { 0x0000b8, 646 }, + { 0x0000a2, 445 }, + { 0x0009e1, 6581 }, + { 0x000af3, 7682 }, + { 0x000bcf, 7950 }, + { 0x000aec, 7630 }, + { 0x00003a, 160 }, + { 0x00002c, 115 }, + { 0x0000a9, 500 }, + { 0x0009e4, 6600 }, + { 0x0009ee, 6668 }, + { 0x0000a4, 459 }, + { 0x000aff, 7845 }, + { 0x000064, 339 }, + { 0x000af1, 7662 }, + { 0x0001ef, 1643 }, + { 0x00fe56, 12290 }, + { 0x00fe58, 12319 }, + { 0x00fe51, 12229 }, + { 0x00fe60, 12437 }, + { 0x00fe55, 12279 }, + { 0x00fe5a, 12351 }, + { 0x00fe5b, 12362 }, + { 0x00fe52, 12240 }, + { 0x00fe57, 12304 }, + { 0x00fe59, 12334 }, + { 0x00fe50, 12218 }, + { 0x00fe61, 12451 }, + { 0x00fe62, 12461 }, + { 0x00fe5d, 12387 }, + { 0x00fe54, 12267 }, + { 0x00fe5c, 12375 }, + { 0x00fe5f, 12415 }, + { 0x00fe53, 12256 }, + { 0x00fe5e, 12397 }, + { 0x000abd, 7028 }, + { 0x0000b0, 569 }, + { 0x0000a8, 490 }, + { 0x000aed, 7635 }, + { 0x000aa5, 6822 }, + { 0x0000f7, 1204 }, + { 0x000024, 33 }, + { 0x000aaf, 6899 }, + { 0x0001bd, 1437 }, + { 0x000af2, 7669 }, + { 0x000afe, 7826 }, + { 0x0008fe, 6552 }, + { 0x000ba8, 7873 }, + { 0x000bd6, 7965 }, + { 0x000bc4, 7915 }, + { 0x000bc2, 7899 }, + { 0x0001f0, 1650 }, + { 0x000065, 341 }, + { 0x0003ec, 2167 }, + { 0x0000e9, 1082 }, + { 0x0001ec, 1636 }, + { 0x0000ea, 1089 }, + { 0x0000eb, 1101 }, + { 0x0000e8, 1075 }, + { 0x000aae, 6890 }, + { 0x000aa3, 6804 }, + { 0x000aa4, 6813 }, + { 0x0003ba, 2036 }, + { 0x000aa9, 6864 }, + { 0x000ade, 7409 }, + { 0x000adf, 7424 }, + { 0x000ace, 7191 }, + { 0x000acf, 7204 }, + { 0x000aa1, 6788 }, + { 0x000aaa, 6871 }, + { 0x000ae6, 7531 }, + { 0x000ae7, 7550 }, + { 0x0003bf, 2064 }, + { 0x000ae0, 7437 }, + { 0x000ae1, 7454 }, + { 0x000aa2, 6796 }, + { 0x0001ea, 1628 }, + { 0x00003d, 181 }, + { 0x0000f0, 1149 }, + { 0x000021, 6 }, + { 0x0000a1, 434 }, + { 0x000066, 343 }, + { 0x000af8, 7740 }, + { 0x0009e3, 6597 }, + { 0x000abb, 7003 }, + { 0x000adc, 7368 }, + { 0x000adb, 7351 }, + { 0x000add, 7388 }, + { 0x000ae9, 7585 }, + { 0x000ae8, 7567 }, + { 0x000ac5, 7089 }, + { 0x000ab7, 6985 }, + { 0x000ab5, 6965 }, + { 0x0008f6, 6514 }, + { 0x000067, 345 }, + { 0x0002f5, 1911 }, + { 0x0002bb, 1807 }, + { 0x0003bb, 2044 }, + { 0x0002f8, 1921 }, + { 0x000060, 317 }, + { 0x00003e, 187 }, + { 0x0008be, 6315 }, + { 0x0000ab, 522 }, + { 0x0000bb, 676 }, + { 0x000068, 347 }, + { 0x000aa8, 6854 }, + { 0x0002b6, 1786 }, + { 0x000aee, 7643 }, + { 0x000ce0, 8033 }, + { 0x000cf2, 8350 }, + { 0x000ce1, 8046 }, + { 0x000ce1, 8057 }, + { 0x000ce7, 8169 }, + { 0x000ce3, 8096 }, + { 0x000ce3, 8109 }, + { 0x000cdf, 8012 }, + { 0x000cea, 8226 }, + { 0x000ced, 8268 }, + { 0x000cef, 8295 }, + { 0x000cf3, 8362 }, + { 0x000cf5, 8387 }, + { 0x000cf5, 8404 }, + { 0x000ce2, 8069 }, + { 0x000ce2, 8082 }, + { 0x000ce4, 8123 }, + { 0x000ce7, 8181 }, + { 0x000ceb, 8243 }, + { 0x000cf7, 8445 }, + { 0x000cec, 8255 }, + { 0x000cee, 8284 }, + { 0x000cf0, 8311 }, + { 0x000cf4, 8377 }, + { 0x000cf7, 8456 }, + { 0x000cf8, 8468 }, + { 0x000cf1, 8322 }, + { 0x000cf1, 8336 }, + { 0x000cf9, 8480 }, + { 0x000cfa, 8492 }, + { 0x000cfa, 8503 }, + { 0x000ce8, 8192 }, + { 0x000ce8, 8203 }, + { 0x000ce5, 8133 }, + { 0x000ce9, 8215 }, + { 0x000cf6, 8421 }, + { 0x000cf6, 8433 }, + { 0x000ce6, 8144 }, + { 0x000ce6, 8156 }, + { 0x000ada, 7342 }, + { 0x0008a3, 5925 }, + { 0x0009ef, 6682 }, + { 0x0009f0, 6697 }, + { 0x0009f1, 6712 }, + { 0x0009f2, 6727 }, + { 0x0009f3, 6742 }, + { 0x0002b1, 1778 }, + { 0x0009e2, 6594 }, + { 0x0000ad, 544 }, + { 0x000069, 349 }, + { 0x0000ed, 1119 }, + { 0x0000ee, 1126 }, + { 0x0008cf, 6418 }, + { 0x0000ef, 1138 }, + { 0x0002b9, 1798 }, + { 0x0008cd, 6401 }, + { 0x0000ec, 1112 }, + { 0x0003ef, 2177 }, + { 0x0008ce, 6410 }, + { 0x0008da, 6436 }, + { 0x0008db, 6447 }, + { 0x0008c2, 6361 }, + { 0x0008bf, 6332 }, + { 0x0008dc, 6456 }, + { 0x0003e7, 2159 }, + { 0x0003b5, 2020 }, + { 0x00006a, 351 }, + { 0x0002bc, 1814 }, + { 0x000bca, 7934 }, + { 0x00006b, 353 }, + { 0x0004b1, 2439 }, + { 0x0004c1, 2563 }, + { 0x0004b4, 2460 }, + { 0x0004cc, 2669 }, + { 0x0004ca, 2653 }, + { 0x0004cd, 2685 }, + { 0x0004cb, 2661 }, + { 0x0004ce, 2693 }, + { 0x0004cc, 2677 }, + { 0x0004b2, 2446 }, + { 0x0004b6, 2474 }, + { 0x0004b9, 2498 }, + { 0x0004b7, 2482 }, + { 0x0004ba, 2506 }, + { 0x0004b8, 2490 }, + { 0x0004cf, 2701 }, + { 0x0004d2, 2725 }, + { 0x0004d0, 2709 }, + { 0x0004d3, 2733 }, + { 0x0004d1, 2717 }, + { 0x0004dd, 2813 }, + { 0x0004c5, 2613 }, + { 0x0004c8, 2637 }, + { 0x0004c6, 2621 }, + { 0x0004c9, 2645 }, + { 0x0004c7, 2629 }, + { 0x0004b5, 2467 }, + { 0x0004d7, 2765 }, + { 0x0004da, 2789 }, + { 0x0004d8, 2773 }, + { 0x0004db, 2797 }, + { 0x0004d9, 2781 }, + { 0x0004bb, 2514 }, + { 0x0004be, 2539 }, + { 0x0004bc, 2522 }, + { 0x0004bf, 2547 }, + { 0x0004bd, 2531 }, + { 0x0004c0, 2555 }, + { 0x0004c3, 2597 }, + { 0x0004c1, 2572 }, + { 0x0004c4, 2605 }, + { 0x0004c2, 2580 }, + { 0x0004c2, 2589 }, + { 0x0004b3, 2453 }, + { 0x0004dc, 2805 }, + { 0x0004a6, 2340 }, + { 0x0004d4, 2741 }, + { 0x0004d6, 2757 }, + { 0x0004d5, 2749 }, + { 0x0004a7, 2348 }, + { 0x0004a3, 2277 }, + { 0x0004a4, 2297 }, + { 0x0004a5, 2308 }, + { 0x0004aa, 2369 }, + { 0x0004a1, 2243 }, + { 0x0004a8, 2355 }, + { 0x0004a5, 2325 }, + { 0x0004ab, 2376 }, + { 0x0004a2, 2257 }, + { 0x00ff7e, 13930 }, + { 0x0004af, 2407 }, + { 0x0004af, 2416 }, + { 0x0004a9, 2362 }, + { 0x0004ac, 2383 }, + { 0x0004ae, 2399 }, + { 0x0004ad, 2391 }, + { 0x0003a2, 1952 }, + { 0x0003f3, 2202 }, + { 0x0003a2, 1958 }, + { 0x00006c, 355 }, + { 0x0001e5, 1607 }, + { 0x000ad9, 7331 }, + { 0x0001b5, 1387 }, + { 0x0003b6, 2027 }, + { 0x000abc, 7011 }, + { 0x0008fb, 6523 }, + { 0x000ba3, 7852 }, + { 0x000ad2, 7261 }, + { 0x0008af, 6106 }, + { 0x000acc, 7156 }, + { 0x000aea, 7605 }, + { 0x0008a1, 5898 }, + { 0x000bda, 7984 }, + { 0x000ad0, 7220 }, + { 0x0009f4, 6757 }, + { 0x000bdc, 7993 }, + { 0x00003c, 176 }, + { 0x0008bc, 6292 }, + { 0x0009e5, 6603 }, + { 0x0008de, 6475 }, + { 0x0008df, 6486 }, + { 0x0009ed, 6654 }, + { 0x0009ea, 6612 }, + { 0x0001b3, 1379 }, + { 0x00006d, 357 }, + { 0x0000af, 562 }, + { 0x000af7, 7729 }, + { 0x000af0, 7649 }, + { 0x000abf, 7059 }, + { 0x0000ba, 666 }, + { 0x00002d, 121 }, + { 0x000ad6, 7315 }, + { 0x0000b5, 618 }, + { 0x0000d7, 932 }, + { 0x000af6, 7717 }, + { 0x000af5, 7704 }, + { 0x00006e, 359 }, + { 0x0008c5, 6370 }, + { 0x0001f1, 1658 }, + { 0x0001f2, 1665 }, + { 0x0003f1, 2185 }, + { 0x0009e8, 6606 }, + { 0x0000a0, 421 }, + { 0x0008bd, 6306 }, + { 0x0000ac, 536 }, + { 0x0000f1, 1153 }, + { 0x000023, 22 }, + { 0x0006b0, 3775 }, + { 0x00006f, 361 }, + { 0x0000f3, 1167 }, + { 0x0000f4, 1174 }, + { 0x0000f6, 1193 }, + { 0x0001f5, 1672 }, + { 0x0013bd, 11015 }, + { 0x0001b2, 1372 }, + { 0x0000f2, 1160 }, + { 0x0003f2, 2194 }, + { 0x000ac3, 7066 }, + { 0x000ab2, 6934 }, + { 0x0000bd, 702 }, + { 0x0000bc, 691 }, + { 0x000ab6, 6976 }, + { 0x0000b9, 654 }, + { 0x000ab0, 6915 }, + { 0x000ae2, 7473 }, + { 0x000ae5, 7522 }, + { 0x000ae4, 7504 }, + { 0x000ae3, 7488 }, + { 0x0000aa, 510 }, + { 0x0000f8, 1213 }, + { 0x0000f5, 1186 }, + { 0x000bc0, 7891 }, + { 0x00047e, 2234 }, + { 0x000070, 363 }, + { 0x0000b6, 621 }, + { 0x000028, 80 }, + { 0x000029, 90 }, + { 0x0008ef, 6496 }, + { 0x000025, 40 }, + { 0x00002e, 127 }, + { 0x0000b7, 631 }, + { 0x000afb, 7781 }, + { 0x00002b, 110 }, + { 0x0000b1, 576 }, + { 0x000ad4, 7302 }, + { 0x0004b0, 2424 }, + { 0x000aa6, 6833 }, + { 0x000071, 365 }, + { 0x000bcc, 7938 }, + { 0x00003f, 195 }, + { 0x0000bf, 724 }, + { 0x000022, 13 }, + { 0x000060, 323 }, + { 0x000027, 69 }, + { 0x000072, 367 }, + { 0x0001e0, 1593 }, + { 0x0008d6, 6428 }, + { 0x0001f8, 1685 }, + { 0x0003b3, 2011 }, + { 0x0000ae, 551 }, + { 0x000abe, 7041 }, + { 0x0008fd, 6541 }, + { 0x000ba6, 7862 }, + { 0x000ad3, 7281 }, + { 0x0008b0, 6127 }, + { 0x0008b7, 6271 }, + { 0x000acd, 7173 }, + { 0x000aeb, 7617 }, + { 0x000bd8, 7974 }, + { 0x000ad1, 7240 }, + { 0x0009f5, 6763 }, + { 0x000bfc, 8002 }, + { 0x000073, 369 }, + { 0x0001b6, 1394 }, + { 0x0001b9, 1407 }, + { 0x0001ba, 1414 }, + { 0x0002fe, 1940 }, + { 0x00ff7e, 13942 }, + { 0x000ad7, 7323 }, + { 0x0000a7, 482 }, + { 0x00003b, 166 }, + { 0x0004df, 2832 }, + { 0x000ac6, 7101 }, + { 0x000aca, 7124 }, + { 0x000aac, 6878 }, + { 0x0008c9, 6388 }, + { 0x000afd, 7807 }, + { 0x00002f, 134 }, + { 0x0009e0, 6568 }, + { 0x000020, 0 }, + { 0x0000df, 1006 }, + { 0x0000a3, 450 }, + { 0x000074, 371 }, + { 0x0001bb, 1423 }, + { 0x0001fe, 1711 }, + { 0x000af9, 7753 }, + { 0x000afa, 7763 }, + { 0x0008c0, 6341 }, + { 0x000aa7, 6844 }, + { 0x0000fe, 1264 }, + { 0x000ac4, 7076 }, + { 0x000ab4, 6953 }, + { 0x0000be, 710 }, + { 0x0000b3, 598 }, + { 0x0008a4, 5940 }, + { 0x0008ab, 6048 }, + { 0x0008a2, 5910 }, + { 0x0008a7, 5978 }, + { 0x0008b1, 6149 }, + { 0x0008ad, 6076 }, + { 0x0008a9, 6012 }, + { 0x0008b5, 6235 }, + { 0x0009f7, 6775 }, + { 0x0008b3, 6183 }, + { 0x000ac9, 7114 }, + { 0x000acb, 7138 }, + { 0x0003bc, 2053 }, + { 0x000ab3, 6943 }, + { 0x0000b2, 586 }, + { 0x000ab1, 6924 }, + { 0x000075, 373 }, + { 0x0000fa, 1227 }, + { 0x0002fd, 1933 }, + { 0x0000fb, 1234 }, + { 0x0000fc, 1246 }, + { 0x0001fb, 1698 }, + { 0x0000f9, 1220 }, + { 0x0003fe, 2226 }, + { 0x000bc6, 7925 }, + { 0x00005f, 306 }, + { 0x0008dd, 6469 }, + { 0x0003f9, 2211 }, + { 0x0008fc, 6533 }, + { 0x000ba9, 7883 }, + { 0x0009ec, 6641 }, + { 0x0009eb, 6627 }, + { 0x000bc3, 7908 }, + { 0x000bd3, 7957 }, + { 0x000bce, 7943 }, + { 0x0001f9, 1692 }, + { 0x0003fd, 2219 }, + { 0x000076, 375 }, + { 0x0008c1, 6351 }, + { 0x0009f8, 6780 }, + { 0x0008a6, 5964 }, + { 0x0004de, 2820 }, + { 0x0009e9, 6609 }, + { 0x000077, 377 }, + { 0x000078, 379 }, + { 0x000079, 381 }, + { 0x0000fd, 1257 }, + { 0x0000ff, 1270 }, + { 0x0000a5, 468 }, + { 0x00007a, 383 }, + { 0x0001bf, 1456 }, + { 0x0001bc, 1430 }, + { 0x0001be, 1449 } +}; diff --git a/gdk/keynames.txt b/gdk/keynames.txt new file mode 100644 index 0000000000..05cbee036c --- /dev/null +++ b/gdk/keynames.txt @@ -0,0 +1,1306 @@ +0x000020 space +0x000021 exclam +0x000022 quotedbl +0x000023 numbersign +0x000024 dollar +0x000025 percent +0x000026 ampersand +0x000027 apostrophe +0x000027 quoteright +0x000028 parenleft +0x000029 parenright +0x00002a asterisk +0x00002b plus +0x00002c comma +0x00002d minus +0x00002e period +0x00002f slash +0x000030 0 +0x000031 1 +0x000032 2 +0x000033 3 +0x000034 4 +0x000035 5 +0x000036 6 +0x000037 7 +0x000038 8 +0x000039 9 +0x00003a colon +0x00003b semicolon +0x00003c less +0x00003d equal +0x00003e greater +0x00003f question +0x000040 at +0x000041 A +0x000042 B +0x000043 C +0x000044 D +0x000045 E +0x000046 F +0x000047 G +0x000048 H +0x000049 I +0x00004a J +0x00004b K +0x00004c L +0x00004d M +0x00004e N +0x00004f O +0x000050 P +0x000051 Q +0x000052 R +0x000053 S +0x000054 T +0x000055 U +0x000056 V +0x000057 W +0x000058 X +0x000059 Y +0x00005a Z +0x00005b bracketleft +0x00005c backslash +0x00005d bracketright +0x00005e asciicircum +0x00005f underscore +0x000060 grave +0x000060 quoteleft +0x000061 a +0x000062 b +0x000063 c +0x000064 d +0x000065 e +0x000066 f +0x000067 g +0x000068 h +0x000069 i +0x00006a j +0x00006b k +0x00006c l +0x00006d m +0x00006e n +0x00006f o +0x000070 p +0x000071 q +0x000072 r +0x000073 s +0x000074 t +0x000075 u +0x000076 v +0x000077 w +0x000078 x +0x000079 y +0x00007a z +0x00007b braceleft +0x00007c bar +0x00007d braceright +0x00007e asciitilde +0x0000a0 nobreakspace +0x0000a1 exclamdown +0x0000a2 cent +0x0000a3 sterling +0x0000a4 currency +0x0000a5 yen +0x0000a6 brokenbar +0x0000a7 section +0x0000a8 diaeresis +0x0000a9 copyright +0x0000aa ordfeminine +0x0000ab guillemotleft +0x0000ac notsign +0x0000ad hyphen +0x0000ae registered +0x0000af macron +0x0000b0 degree +0x0000b1 plusminus +0x0000b2 twosuperior +0x0000b3 threesuperior +0x0000b4 acute +0x0000b5 mu +0x0000b6 paragraph +0x0000b7 periodcentered +0x0000b8 cedilla +0x0000b9 onesuperior +0x0000ba masculine +0x0000bb guillemotright +0x0000bc onequarter +0x0000bd onehalf +0x0000be threequarters +0x0000bf questiondown +0x0000c0 Agrave +0x0000c1 Aacute +0x0000c2 Acircumflex +0x0000c3 Atilde +0x0000c4 Adiaeresis +0x0000c5 Aring +0x0000c6 AE +0x0000c7 Ccedilla +0x0000c8 Egrave +0x0000c9 Eacute +0x0000ca Ecircumflex +0x0000cb Ediaeresis +0x0000cc Igrave +0x0000cd Iacute +0x0000ce Icircumflex +0x0000cf Idiaeresis +0x0000d0 ETH +0x0000d0 Eth +0x0000d1 Ntilde +0x0000d2 Ograve +0x0000d3 Oacute +0x0000d4 Ocircumflex +0x0000d5 Otilde +0x0000d6 Odiaeresis +0x0000d7 multiply +0x0000d8 Ooblique +0x0000d9 Ugrave +0x0000da Uacute +0x0000db Ucircumflex +0x0000dc Udiaeresis +0x0000dd Yacute +0x0000de THORN +0x0000de Thorn +0x0000df ssharp +0x0000e0 agrave +0x0000e1 aacute +0x0000e2 acircumflex +0x0000e3 atilde +0x0000e4 adiaeresis +0x0000e5 aring +0x0000e6 ae +0x0000e7 ccedilla +0x0000e8 egrave +0x0000e9 eacute +0x0000ea ecircumflex +0x0000eb ediaeresis +0x0000ec igrave +0x0000ed iacute +0x0000ee icircumflex +0x0000ef idiaeresis +0x0000f0 eth +0x0000f1 ntilde +0x0000f2 ograve +0x0000f3 oacute +0x0000f4 ocircumflex +0x0000f5 otilde +0x0000f6 odiaeresis +0x0000f7 division +0x0000f8 oslash +0x0000f9 ugrave +0x0000fa uacute +0x0000fb ucircumflex +0x0000fc udiaeresis +0x0000fd yacute +0x0000fe thorn +0x0000ff ydiaeresis +0x0001a1 Aogonek +0x0001a2 breve +0x0001a3 Lstroke +0x0001a5 Lcaron +0x0001a6 Sacute +0x0001a9 Scaron +0x0001aa Scedilla +0x0001ab Tcaron +0x0001ac Zacute +0x0001ae Zcaron +0x0001af Zabovedot +0x0001b1 aogonek +0x0001b2 ogonek +0x0001b3 lstroke +0x0001b5 lcaron +0x0001b6 sacute +0x0001b7 caron +0x0001b9 scaron +0x0001ba scedilla +0x0001bb tcaron +0x0001bc zacute +0x0001bd doubleacute +0x0001be zcaron +0x0001bf zabovedot +0x0001c0 Racute +0x0001c3 Abreve +0x0001c5 Lacute +0x0001c6 Cacute +0x0001c8 Ccaron +0x0001ca Eogonek +0x0001cc Ecaron +0x0001cf Dcaron +0x0001d0 Dstroke +0x0001d1 Nacute +0x0001d2 Ncaron +0x0001d5 Odoubleacute +0x0001d8 Rcaron +0x0001d9 Uring +0x0001db Udoubleacute +0x0001de Tcedilla +0x0001e0 racute +0x0001e3 abreve +0x0001e5 lacute +0x0001e6 cacute +0x0001e8 ccaron +0x0001ea eogonek +0x0001ec ecaron +0x0001ef dcaron +0x0001f0 dstroke +0x0001f1 nacute +0x0001f2 ncaron +0x0001f5 odoubleacute +0x0001f8 rcaron +0x0001f9 uring +0x0001fb udoubleacute +0x0001fe tcedilla +0x0001ff abovedot +0x0002a1 Hstroke +0x0002a6 Hcircumflex +0x0002a9 Iabovedot +0x0002ab Gbreve +0x0002ac Jcircumflex +0x0002b1 hstroke +0x0002b6 hcircumflex +0x0002b9 idotless +0x0002bb gbreve +0x0002bc jcircumflex +0x0002c5 Cabovedot +0x0002c6 Ccircumflex +0x0002d5 Gabovedot +0x0002d8 Gcircumflex +0x0002dd Ubreve +0x0002de Scircumflex +0x0002e5 cabovedot +0x0002e6 ccircumflex +0x0002f5 gabovedot +0x0002f8 gcircumflex +0x0002fd ubreve +0x0002fe scircumflex +0x0003a2 kappa +0x0003a2 kra +0x0003a3 Rcedilla +0x0003a5 Itilde +0x0003a6 Lcedilla +0x0003aa Emacron +0x0003ab Gcedilla +0x0003ac Tslash +0x0003b3 rcedilla +0x0003b5 itilde +0x0003b6 lcedilla +0x0003ba emacron +0x0003bb gcedilla +0x0003bc tslash +0x0003bd ENG +0x0003bf eng +0x0003c0 Amacron +0x0003c7 Iogonek +0x0003cc Eabovedot +0x0003cf Imacron +0x0003d1 Ncedilla +0x0003d2 Omacron +0x0003d3 Kcedilla +0x0003d9 Uogonek +0x0003dd Utilde +0x0003de Umacron +0x0003e0 amacron +0x0003e7 iogonek +0x0003ec eabovedot +0x0003ef imacron +0x0003f1 ncedilla +0x0003f2 omacron +0x0003f3 kcedilla +0x0003f9 uogonek +0x0003fd utilde +0x0003fe umacron +0x00047e overline +0x0004a1 kana_fullstop +0x0004a2 kana_openingbracket +0x0004a3 kana_closingbracket +0x0004a4 kana_comma +0x0004a5 kana_conjunctive +0x0004a5 kana_middledot +0x0004a6 kana_WO +0x0004a7 kana_a +0x0004a8 kana_i +0x0004a9 kana_u +0x0004aa kana_e +0x0004ab kana_o +0x0004ac kana_ya +0x0004ad kana_yu +0x0004ae kana_yo +0x0004af kana_tsu +0x0004af kana_tu +0x0004b0 prolongedsound +0x0004b1 kana_A +0x0004b2 kana_I +0x0004b3 kana_U +0x0004b4 kana_E +0x0004b5 kana_O +0x0004b6 kana_KA +0x0004b7 kana_KI +0x0004b8 kana_KU +0x0004b9 kana_KE +0x0004ba kana_KO +0x0004bb kana_SA +0x0004bc kana_SHI +0x0004bd kana_SU +0x0004be kana_SE +0x0004bf kana_SO +0x0004c0 kana_TA +0x0004c1 kana_CHI +0x0004c1 kana_TI +0x0004c2 kana_TSU +0x0004c2 kana_TU +0x0004c3 kana_TE +0x0004c4 kana_TO +0x0004c5 kana_NA +0x0004c6 kana_NI +0x0004c7 kana_NU +0x0004c8 kana_NE +0x0004c9 kana_NO +0x0004ca kana_HA +0x0004cb kana_HI +0x0004cc kana_FU +0x0004cc kana_HU +0x0004cd kana_HE +0x0004ce kana_HO +0x0004cf kana_MA +0x0004d0 kana_MI +0x0004d1 kana_MU +0x0004d2 kana_ME +0x0004d3 kana_MO +0x0004d4 kana_YA +0x0004d5 kana_YU +0x0004d6 kana_YO +0x0004d7 kana_RA +0x0004d8 kana_RI +0x0004d9 kana_RU +0x0004da kana_RE +0x0004db kana_RO +0x0004dc kana_WA +0x0004dd kana_N +0x0004de voicedsound +0x0004df semivoicedsound +0x0005ac Arabic_comma +0x0005bb Arabic_semicolon +0x0005bf Arabic_question_mark +0x0005c1 Arabic_hamza +0x0005c2 Arabic_maddaonalef +0x0005c3 Arabic_hamzaonalef +0x0005c4 Arabic_hamzaonwaw +0x0005c5 Arabic_hamzaunderalef +0x0005c6 Arabic_hamzaonyeh +0x0005c7 Arabic_alef +0x0005c8 Arabic_beh +0x0005c9 Arabic_tehmarbuta +0x0005ca Arabic_teh +0x0005cb Arabic_theh +0x0005cc Arabic_jeem +0x0005cd Arabic_hah +0x0005ce Arabic_khah +0x0005cf Arabic_dal +0x0005d0 Arabic_thal +0x0005d1 Arabic_ra +0x0005d2 Arabic_zain +0x0005d3 Arabic_seen +0x0005d4 Arabic_sheen +0x0005d5 Arabic_sad +0x0005d6 Arabic_dad +0x0005d7 Arabic_tah +0x0005d8 Arabic_zah +0x0005d9 Arabic_ain +0x0005da Arabic_ghain +0x0005e0 Arabic_tatweel +0x0005e1 Arabic_feh +0x0005e2 Arabic_qaf +0x0005e3 Arabic_kaf +0x0005e4 Arabic_lam +0x0005e5 Arabic_meem +0x0005e6 Arabic_noon +0x0005e7 Arabic_ha +0x0005e7 Arabic_heh +0x0005e8 Arabic_waw +0x0005e9 Arabic_alefmaksura +0x0005ea Arabic_yeh +0x0005eb Arabic_fathatan +0x0005ec Arabic_dammatan +0x0005ed Arabic_kasratan +0x0005ee Arabic_fatha +0x0005ef Arabic_damma +0x0005f0 Arabic_kasra +0x0005f1 Arabic_shadda +0x0005f2 Arabic_sukun +0x0006a1 Serbian_dje +0x0006a2 Macedonia_gje +0x0006a3 Cyrillic_io +0x0006a4 Ukrainian_ie +0x0006a4 Ukranian_je +0x0006a5 Macedonia_dse +0x0006a6 Ukrainian_i +0x0006a6 Ukranian_i +0x0006a7 Ukrainian_yi +0x0006a7 Ukranian_yi +0x0006a8 Cyrillic_je +0x0006a8 Serbian_je +0x0006a9 Cyrillic_lje +0x0006a9 Serbian_lje +0x0006aa Cyrillic_nje +0x0006aa Serbian_nje +0x0006ab Serbian_tshe +0x0006ac Macedonia_kje +0x0006ae Byelorussian_shortu +0x0006af Cyrillic_dzhe +0x0006af Serbian_dze +0x0006b0 numerosign +0x0006b1 Serbian_DJE +0x0006b2 Macedonia_GJE +0x0006b3 Cyrillic_IO +0x0006b4 Ukrainian_IE +0x0006b4 Ukranian_JE +0x0006b5 Macedonia_DSE +0x0006b6 Ukrainian_I +0x0006b6 Ukranian_I +0x0006b7 Ukrainian_YI +0x0006b7 Ukranian_YI +0x0006b8 Cyrillic_JE +0x0006b8 Serbian_JE +0x0006b9 Cyrillic_LJE +0x0006b9 Serbian_LJE +0x0006ba Cyrillic_NJE +0x0006ba Serbian_NJE +0x0006bb Serbian_TSHE +0x0006bc Macedonia_KJE +0x0006be Byelorussian_SHORTU +0x0006bf Cyrillic_DZHE +0x0006bf Serbian_DZE +0x0006c0 Cyrillic_yu +0x0006c1 Cyrillic_a +0x0006c2 Cyrillic_be +0x0006c3 Cyrillic_tse +0x0006c4 Cyrillic_de +0x0006c5 Cyrillic_ie +0x0006c6 Cyrillic_ef +0x0006c7 Cyrillic_ghe +0x0006c8 Cyrillic_ha +0x0006c9 Cyrillic_i +0x0006ca Cyrillic_shorti +0x0006cb Cyrillic_ka +0x0006cc Cyrillic_el +0x0006cd Cyrillic_em +0x0006ce Cyrillic_en +0x0006cf Cyrillic_o +0x0006d0 Cyrillic_pe +0x0006d1 Cyrillic_ya +0x0006d2 Cyrillic_er +0x0006d3 Cyrillic_es +0x0006d4 Cyrillic_te +0x0006d5 Cyrillic_u +0x0006d6 Cyrillic_zhe +0x0006d7 Cyrillic_ve +0x0006d8 Cyrillic_softsign +0x0006d9 Cyrillic_yeru +0x0006da Cyrillic_ze +0x0006db Cyrillic_sha +0x0006dc Cyrillic_e +0x0006dd Cyrillic_shcha +0x0006de Cyrillic_che +0x0006df Cyrillic_hardsign +0x0006e0 Cyrillic_YU +0x0006e1 Cyrillic_A +0x0006e2 Cyrillic_BE +0x0006e3 Cyrillic_TSE +0x0006e4 Cyrillic_DE +0x0006e5 Cyrillic_IE +0x0006e6 Cyrillic_EF +0x0006e7 Cyrillic_GHE +0x0006e8 Cyrillic_HA +0x0006e9 Cyrillic_I +0x0006ea Cyrillic_SHORTI +0x0006eb Cyrillic_KA +0x0006ec Cyrillic_EL +0x0006ed Cyrillic_EM +0x0006ee Cyrillic_EN +0x0006ef Cyrillic_O +0x0006f0 Cyrillic_PE +0x0006f1 Cyrillic_YA +0x0006f2 Cyrillic_ER +0x0006f3 Cyrillic_ES +0x0006f4 Cyrillic_TE +0x0006f5 Cyrillic_U +0x0006f6 Cyrillic_ZHE +0x0006f7 Cyrillic_VE +0x0006f8 Cyrillic_SOFTSIGN +0x0006f9 Cyrillic_YERU +0x0006fa Cyrillic_ZE +0x0006fb Cyrillic_SHA +0x0006fc Cyrillic_E +0x0006fd Cyrillic_SHCHA +0x0006fe Cyrillic_CHE +0x0006ff Cyrillic_HARDSIGN +0x0007a1 Greek_ALPHAaccent +0x0007a2 Greek_EPSILONaccent +0x0007a3 Greek_ETAaccent +0x0007a4 Greek_IOTAaccent +0x0007a5 Greek_IOTAdieresis +0x0007a5 Greek_IOTAdiaeresis +0x0007a7 Greek_OMICRONaccent +0x0007a8 Greek_UPSILONaccent +0x0007a9 Greek_UPSILONdieresis +0x0007ab Greek_OMEGAaccent +0x0007ae Greek_accentdieresis +0x0007af Greek_horizbar +0x0007b1 Greek_alphaaccent +0x0007b2 Greek_epsilonaccent +0x0007b3 Greek_etaaccent +0x0007b4 Greek_iotaaccent +0x0007b5 Greek_iotadieresis +0x0007b6 Greek_iotaaccentdieresis +0x0007b7 Greek_omicronaccent +0x0007b8 Greek_upsilonaccent +0x0007b9 Greek_upsilondieresis +0x0007ba Greek_upsilonaccentdieresis +0x0007bb Greek_omegaaccent +0x0007c1 Greek_ALPHA +0x0007c2 Greek_BETA +0x0007c3 Greek_GAMMA +0x0007c4 Greek_DELTA +0x0007c5 Greek_EPSILON +0x0007c6 Greek_ZETA +0x0007c7 Greek_ETA +0x0007c8 Greek_THETA +0x0007c9 Greek_IOTA +0x0007ca Greek_KAPPA +0x0007cb Greek_LAMBDA +0x0007cb Greek_LAMDA +0x0007cc Greek_MU +0x0007cd Greek_NU +0x0007ce Greek_XI +0x0007cf Greek_OMICRON +0x0007d0 Greek_PI +0x0007d1 Greek_RHO +0x0007d2 Greek_SIGMA +0x0007d4 Greek_TAU +0x0007d5 Greek_UPSILON +0x0007d6 Greek_PHI +0x0007d7 Greek_CHI +0x0007d8 Greek_PSI +0x0007d9 Greek_OMEGA +0x0007e1 Greek_alpha +0x0007e2 Greek_beta +0x0007e3 Greek_gamma +0x0007e4 Greek_delta +0x0007e5 Greek_epsilon +0x0007e6 Greek_zeta +0x0007e7 Greek_eta +0x0007e8 Greek_theta +0x0007e9 Greek_iota +0x0007ea Greek_kappa +0x0007eb Greek_lambda +0x0007eb Greek_lamda +0x0007ec Greek_mu +0x0007ed Greek_nu +0x0007ee Greek_xi +0x0007ef Greek_omicron +0x0007f0 Greek_pi +0x0007f1 Greek_rho +0x0007f2 Greek_sigma +0x0007f3 Greek_finalsmallsigma +0x0007f4 Greek_tau +0x0007f5 Greek_upsilon +0x0007f6 Greek_phi +0x0007f7 Greek_chi +0x0007f8 Greek_psi +0x0007f9 Greek_omega +0x0008a1 leftradical +0x0008a2 topleftradical +0x0008a3 horizconnector +0x0008a4 topintegral +0x0008a5 botintegral +0x0008a6 vertconnector +0x0008a7 topleftsqbracket +0x0008a8 botleftsqbracket +0x0008a9 toprightsqbracket +0x0008aa botrightsqbracket +0x0008ab topleftparens +0x0008ac botleftparens +0x0008ad toprightparens +0x0008ae botrightparens +0x0008af leftmiddlecurlybrace +0x0008b0 rightmiddlecurlybrace +0x0008b1 topleftsummation +0x0008b2 botleftsummation +0x0008b3 topvertsummationconnector +0x0008b4 botvertsummationconnector +0x0008b5 toprightsummation +0x0008b6 botrightsummation +0x0008b7 rightmiddlesummation +0x0008bc lessthanequal +0x0008bd notequal +0x0008be greaterthanequal +0x0008bf integral +0x0008c0 therefore +0x0008c1 variation +0x0008c2 infinity +0x0008c5 nabla +0x0008c8 approximate +0x0008c9 similarequal +0x0008cd ifonlyif +0x0008ce implies +0x0008cf identical +0x0008d6 radical +0x0008da includedin +0x0008db includes +0x0008dc intersection +0x0008dd union +0x0008de logicaland +0x0008df logicalor +0x0008ef partialderivative +0x0008f6 function +0x0008fb leftarrow +0x0008fc uparrow +0x0008fd rightarrow +0x0008fe downarrow +0x0009df blank +0x0009e0 soliddiamond +0x0009e1 checkerboard +0x0009e2 ht +0x0009e3 ff +0x0009e4 cr +0x0009e5 lf +0x0009e8 nl +0x0009e9 vt +0x0009ea lowrightcorner +0x0009eb uprightcorner +0x0009ec upleftcorner +0x0009ed lowleftcorner +0x0009ee crossinglines +0x0009ef horizlinescan1 +0x0009f0 horizlinescan3 +0x0009f1 horizlinescan5 +0x0009f2 horizlinescan7 +0x0009f3 horizlinescan9 +0x0009f4 leftt +0x0009f5 rightt +0x0009f6 bott +0x0009f7 topt +0x0009f8 vertbar +0x000aa1 emspace +0x000aa2 enspace +0x000aa3 em3space +0x000aa4 em4space +0x000aa5 digitspace +0x000aa6 punctspace +0x000aa7 thinspace +0x000aa8 hairspace +0x000aa9 emdash +0x000aaa endash +0x000aac signifblank +0x000aae ellipsis +0x000aaf doubbaselinedot +0x000ab0 onethird +0x000ab1 twothirds +0x000ab2 onefifth +0x000ab3 twofifths +0x000ab4 threefifths +0x000ab5 fourfifths +0x000ab6 onesixth +0x000ab7 fivesixths +0x000ab8 careof +0x000abb figdash +0x000abc leftanglebracket +0x000abd decimalpoint +0x000abe rightanglebracket +0x000abf marker +0x000ac3 oneeighth +0x000ac4 threeeighths +0x000ac5 fiveeighths +0x000ac6 seveneighths +0x000ac9 trademark +0x000aca signaturemark +0x000acb trademarkincircle +0x000acc leftopentriangle +0x000acd rightopentriangle +0x000ace emopencircle +0x000acf emopenrectangle +0x000ad0 leftsinglequotemark +0x000ad1 rightsinglequotemark +0x000ad2 leftdoublequotemark +0x000ad3 rightdoublequotemark +0x000ad4 prescription +0x000ad6 minutes +0x000ad7 seconds +0x000ad9 latincross +0x000ada hexagram +0x000adb filledrectbullet +0x000adc filledlefttribullet +0x000add filledrighttribullet +0x000ade emfilledcircle +0x000adf emfilledrect +0x000ae0 enopencircbullet +0x000ae1 enopensquarebullet +0x000ae2 openrectbullet +0x000ae3 opentribulletup +0x000ae4 opentribulletdown +0x000ae5 openstar +0x000ae6 enfilledcircbullet +0x000ae7 enfilledsqbullet +0x000ae8 filledtribulletup +0x000ae9 filledtribulletdown +0x000aea leftpointer +0x000aeb rightpointer +0x000aec club +0x000aed diamond +0x000aee heart +0x000af0 maltesecross +0x000af1 dagger +0x000af2 doubledagger +0x000af3 checkmark +0x000af4 ballotcross +0x000af5 musicalsharp +0x000af6 musicalflat +0x000af7 malesymbol +0x000af8 femalesymbol +0x000af9 telephone +0x000afa telephonerecorder +0x000afb phonographcopyright +0x000afc caret +0x000afd singlelowquotemark +0x000afe doublelowquotemark +0x000aff cursor +0x000ba3 leftcaret +0x000ba6 rightcaret +0x000ba8 downcaret +0x000ba9 upcaret +0x000bc0 overbar +0x000bc2 downtack +0x000bc3 upshoe +0x000bc4 downstile +0x000bc6 underbar +0x000bca jot +0x000bcc quad +0x000bce uptack +0x000bcf circle +0x000bd3 upstile +0x000bd6 downshoe +0x000bd8 rightshoe +0x000bda leftshoe +0x000bdc lefttack +0x000bfc righttack +0x000cdf hebrew_doublelowline +0x000ce0 hebrew_aleph +0x000ce1 hebrew_bet +0x000ce1 hebrew_beth +0x000ce2 hebrew_gimel +0x000ce2 hebrew_gimmel +0x000ce3 hebrew_dalet +0x000ce3 hebrew_daleth +0x000ce4 hebrew_he +0x000ce5 hebrew_waw +0x000ce6 hebrew_zain +0x000ce6 hebrew_zayin +0x000ce7 hebrew_chet +0x000ce7 hebrew_het +0x000ce8 hebrew_tet +0x000ce8 hebrew_teth +0x000ce9 hebrew_yod +0x000cea hebrew_finalkaph +0x000ceb hebrew_kaph +0x000cec hebrew_lamed +0x000ced hebrew_finalmem +0x000cee hebrew_mem +0x000cef hebrew_finalnun +0x000cf0 hebrew_nun +0x000cf1 hebrew_samech +0x000cf1 hebrew_samekh +0x000cf2 hebrew_ayin +0x000cf3 hebrew_finalpe +0x000cf4 hebrew_pe +0x000cf5 hebrew_finalzade +0x000cf5 hebrew_finalzadi +0x000cf6 hebrew_zade +0x000cf6 hebrew_zadi +0x000cf7 hebrew_kuf +0x000cf7 hebrew_qoph +0x000cf8 hebrew_resh +0x000cf9 hebrew_shin +0x000cfa hebrew_taf +0x000cfa hebrew_taw +0x000da1 Thai_kokai +0x000da2 Thai_khokhai +0x000da3 Thai_khokhuat +0x000da4 Thai_khokhwai +0x000da5 Thai_khokhon +0x000da6 Thai_khorakhang +0x000da7 Thai_ngongu +0x000da8 Thai_chochan +0x000da9 Thai_choching +0x000daa Thai_chochang +0x000dab Thai_soso +0x000dac Thai_chochoe +0x000dad Thai_yoying +0x000dae Thai_dochada +0x000daf Thai_topatak +0x000db0 Thai_thothan +0x000db1 Thai_thonangmontho +0x000db2 Thai_thophuthao +0x000db3 Thai_nonen +0x000db4 Thai_dodek +0x000db5 Thai_totao +0x000db6 Thai_thothung +0x000db7 Thai_thothahan +0x000db8 Thai_thothong +0x000db9 Thai_nonu +0x000dba Thai_bobaimai +0x000dbb Thai_popla +0x000dbc Thai_phophung +0x000dbd Thai_fofa +0x000dbe Thai_phophan +0x000dbf Thai_fofan +0x000dc0 Thai_phosamphao +0x000dc1 Thai_moma +0x000dc2 Thai_yoyak +0x000dc3 Thai_rorua +0x000dc4 Thai_ru +0x000dc5 Thai_loling +0x000dc6 Thai_lu +0x000dc7 Thai_wowaen +0x000dc8 Thai_sosala +0x000dc9 Thai_sorusi +0x000dca Thai_sosua +0x000dcb Thai_hohip +0x000dcc Thai_lochula +0x000dcd Thai_oang +0x000dce Thai_honokhuk +0x000dcf Thai_paiyannoi +0x000dd0 Thai_saraa +0x000dd1 Thai_maihanakat +0x000dd2 Thai_saraaa +0x000dd3 Thai_saraam +0x000dd4 Thai_sarai +0x000dd5 Thai_saraii +0x000dd6 Thai_saraue +0x000dd7 Thai_sarauee +0x000dd8 Thai_sarau +0x000dd9 Thai_sarauu +0x000dda Thai_phinthu +0x000dde Thai_maihanakat_maitho +0x000ddf Thai_baht +0x000de0 Thai_sarae +0x000de1 Thai_saraae +0x000de2 Thai_sarao +0x000de3 Thai_saraaimaimuan +0x000de4 Thai_saraaimaimalai +0x000de5 Thai_lakkhangyao +0x000de6 Thai_maiyamok +0x000de7 Thai_maitaikhu +0x000de8 Thai_maiek +0x000de9 Thai_maitho +0x000dea Thai_maitri +0x000deb Thai_maichattawa +0x000dec Thai_thanthakhat +0x000ded Thai_nikhahit +0x000df0 Thai_leksun +0x000df1 Thai_leknung +0x000df2 Thai_leksong +0x000df3 Thai_leksam +0x000df4 Thai_leksi +0x000df5 Thai_lekha +0x000df6 Thai_lekhok +0x000df7 Thai_lekchet +0x000df8 Thai_lekpaet +0x000df9 Thai_lekkao +0x000ea1 Hangul_Kiyeog +0x000ea2 Hangul_SsangKiyeog +0x000ea3 Hangul_KiyeogSios +0x000ea4 Hangul_Nieun +0x000ea5 Hangul_NieunJieuj +0x000ea6 Hangul_NieunHieuh +0x000ea7 Hangul_Dikeud +0x000ea8 Hangul_SsangDikeud +0x000ea9 Hangul_Rieul +0x000eaa Hangul_RieulKiyeog +0x000eab Hangul_RieulMieum +0x000eac Hangul_RieulPieub +0x000ead Hangul_RieulSios +0x000eae Hangul_RieulTieut +0x000eaf Hangul_RieulPhieuf +0x000eb0 Hangul_RieulHieuh +0x000eb1 Hangul_Mieum +0x000eb2 Hangul_Pieub +0x000eb3 Hangul_SsangPieub +0x000eb4 Hangul_PieubSios +0x000eb5 Hangul_Sios +0x000eb6 Hangul_SsangSios +0x000eb7 Hangul_Ieung +0x000eb8 Hangul_Jieuj +0x000eb9 Hangul_SsangJieuj +0x000eba Hangul_Cieuc +0x000ebb Hangul_Khieuq +0x000ebc Hangul_Tieut +0x000ebd Hangul_Phieuf +0x000ebe Hangul_Hieuh +0x000ebf Hangul_A +0x000ec0 Hangul_AE +0x000ec1 Hangul_YA +0x000ec2 Hangul_YAE +0x000ec3 Hangul_EO +0x000ec4 Hangul_E +0x000ec5 Hangul_YEO +0x000ec6 Hangul_YE +0x000ec7 Hangul_O +0x000ec8 Hangul_WA +0x000ec9 Hangul_WAE +0x000eca Hangul_OE +0x000ecb Hangul_YO +0x000ecc Hangul_U +0x000ecd Hangul_WEO +0x000ece Hangul_WE +0x000ecf Hangul_WI +0x000ed0 Hangul_YU +0x000ed1 Hangul_EU +0x000ed2 Hangul_YI +0x000ed3 Hangul_I +0x000ed4 Hangul_J_Kiyeog +0x000ed5 Hangul_J_SsangKiyeog +0x000ed6 Hangul_J_KiyeogSios +0x000ed7 Hangul_J_Nieun +0x000ed8 Hangul_J_NieunJieuj +0x000ed9 Hangul_J_NieunHieuh +0x000eda Hangul_J_Dikeud +0x000edb Hangul_J_Rieul +0x000edc Hangul_J_RieulKiyeog +0x000edd Hangul_J_RieulMieum +0x000ede Hangul_J_RieulPieub +0x000edf Hangul_J_RieulSios +0x000ee0 Hangul_J_RieulTieut +0x000ee1 Hangul_J_RieulPhieuf +0x000ee2 Hangul_J_RieulHieuh +0x000ee3 Hangul_J_Mieum +0x000ee4 Hangul_J_Pieub +0x000ee5 Hangul_J_PieubSios +0x000ee6 Hangul_J_Sios +0x000ee7 Hangul_J_SsangSios +0x000ee8 Hangul_J_Ieung +0x000ee9 Hangul_J_Jieuj +0x000eea Hangul_J_Cieuc +0x000eeb Hangul_J_Khieuq +0x000eec Hangul_J_Tieut +0x000eed Hangul_J_Phieuf +0x000eee Hangul_J_Hieuh +0x000eef Hangul_RieulYeorinHieuh +0x000ef0 Hangul_SunkyeongeumMieum +0x000ef1 Hangul_SunkyeongeumPieub +0x000ef2 Hangul_PanSios +0x000ef3 Hangul_KkogjiDalrinIeung +0x000ef4 Hangul_SunkyeongeumPhieuf +0x000ef5 Hangul_YeorinHieuh +0x000ef6 Hangul_AraeA +0x000ef7 Hangul_AraeAE +0x000ef8 Hangul_J_PanSios +0x000ef9 Hangul_J_KkogjiDalrinIeung +0x000efa Hangul_J_YeorinHieuh +0x000eff Korean_Won +0x0013bc OE +0x0013bd oe +0x0013be Ydiaeresis +0x0020a0 EcuSign +0x0020a1 ColonSign +0x0020a2 CruzeiroSign +0x0020a3 FFrancSign +0x0020a4 LiraSign +0x0020a5 MillSign +0x0020a6 NairaSign +0x0020a7 PesetaSign +0x0020a8 RupeeSign +0x0020a9 WonSign +0x0020aa NewSheqelSign +0x0020ab DongSign +0x0020ac EuroSign +0x00fd01 3270_Duplicate +0x00fd02 3270_FieldMark +0x00fd03 3270_Right2 +0x00fd04 3270_Left2 +0x00fd05 3270_BackTab +0x00fd06 3270_EraseEOF +0x00fd07 3270_EraseInput +0x00fd08 3270_Reset +0x00fd09 3270_Quit +0x00fd0a 3270_PA1 +0x00fd0b 3270_PA2 +0x00fd0c 3270_PA3 +0x00fd0d 3270_Test +0x00fd0e 3270_Attn +0x00fd0f 3270_CursorBlink +0x00fd10 3270_AltCursor +0x00fd11 3270_KeyClick +0x00fd12 3270_Jump +0x00fd13 3270_Ident +0x00fd14 3270_Rule +0x00fd15 3270_Copy +0x00fd16 3270_Play +0x00fd17 3270_Setup +0x00fd18 3270_Record +0x00fd19 3270_ChangeScreen +0x00fd1a 3270_DeleteWord +0x00fd1b 3270_ExSelect +0x00fd1c 3270_CursorSelect +0x00fd1d 3270_PrintScreen +0x00fd1e 3270_Enter +0x00fe01 ISO_Lock +0x00fe02 ISO_Level2_Latch +0x00fe03 ISO_Level3_Shift +0x00fe04 ISO_Level3_Latch +0x00fe05 ISO_Level3_Lock +0x00fe06 ISO_Group_Latch +0x00fe07 ISO_Group_Lock +0x00fe08 ISO_Next_Group +0x00fe09 ISO_Next_Group_Lock +0x00fe0a ISO_Prev_Group +0x00fe0b ISO_Prev_Group_Lock +0x00fe0c ISO_First_Group +0x00fe0d ISO_First_Group_Lock +0x00fe0e ISO_Last_Group +0x00fe0f ISO_Last_Group_Lock +0x00fe20 ISO_Left_Tab +0x00fe21 ISO_Move_Line_Up +0x00fe22 ISO_Move_Line_Down +0x00fe23 ISO_Partial_Line_Up +0x00fe24 ISO_Partial_Line_Down +0x00fe25 ISO_Partial_Space_Left +0x00fe26 ISO_Partial_Space_Right +0x00fe27 ISO_Set_Margin_Left +0x00fe28 ISO_Set_Margin_Right +0x00fe29 ISO_Release_Margin_Left +0x00fe2a ISO_Release_Margin_Right +0x00fe2b ISO_Release_Both_Margins +0x00fe2c ISO_Fast_Cursor_Left +0x00fe2d ISO_Fast_Cursor_Right +0x00fe2e ISO_Fast_Cursor_Up +0x00fe2f ISO_Fast_Cursor_Down +0x00fe30 ISO_Continuous_Underline +0x00fe31 ISO_Discontinuous_Underline +0x00fe32 ISO_Emphasize +0x00fe33 ISO_Center_Object +0x00fe34 ISO_Enter +0x00fe50 dead_grave +0x00fe51 dead_acute +0x00fe52 dead_circumflex +0x00fe53 dead_tilde +0x00fe54 dead_macron +0x00fe55 dead_breve +0x00fe56 dead_abovedot +0x00fe57 dead_diaeresis +0x00fe58 dead_abovering +0x00fe59 dead_doubleacute +0x00fe5a dead_caron +0x00fe5b dead_cedilla +0x00fe5c dead_ogonek +0x00fe5d dead_iota +0x00fe5e dead_voiced_sound +0x00fe5f dead_semivoiced_sound +0x00fe60 dead_belowdot +0x00fe61 dead_hook +0x00fe62 dead_horn +0x00fe70 AccessX_Enable +0x00fe71 AccessX_Feedback_Enable +0x00fe72 RepeatKeys_Enable +0x00fe73 SlowKeys_Enable +0x00fe74 BounceKeys_Enable +0x00fe75 StickyKeys_Enable +0x00fe76 MouseKeys_Enable +0x00fe77 MouseKeys_Accel_Enable +0x00fe78 Overlay1_Enable +0x00fe79 Overlay2_Enable +0x00fe7a AudibleBell_Enable +0x00fed0 First_Virtual_Screen +0x00fed1 Prev_Virtual_Screen +0x00fed2 Next_Virtual_Screen +0x00fed4 Last_Virtual_Screen +0x00fed5 Terminate_Server +0x00fee0 Pointer_Left +0x00fee1 Pointer_Right +0x00fee2 Pointer_Up +0x00fee3 Pointer_Down +0x00fee4 Pointer_UpLeft +0x00fee5 Pointer_UpRight +0x00fee6 Pointer_DownLeft +0x00fee7 Pointer_DownRight +0x00fee8 Pointer_Button_Dflt +0x00fee9 Pointer_Button1 +0x00feea Pointer_Button2 +0x00feeb Pointer_Button3 +0x00feec Pointer_Button4 +0x00feed Pointer_Button5 +0x00feee Pointer_DblClick_Dflt +0x00feef Pointer_DblClick1 +0x00fef0 Pointer_DblClick2 +0x00fef1 Pointer_DblClick3 +0x00fef2 Pointer_DblClick4 +0x00fef3 Pointer_DblClick5 +0x00fef4 Pointer_Drag_Dflt +0x00fef5 Pointer_Drag1 +0x00fef6 Pointer_Drag2 +0x00fef7 Pointer_Drag3 +0x00fef8 Pointer_Drag4 +0x00fef9 Pointer_EnableKeys +0x00fefa Pointer_Accelerate +0x00fefb Pointer_DfltBtnNext +0x00fefc Pointer_DfltBtnPrev +0x00fefd Pointer_Drag5 +0x00ff08 BackSpace +0x00ff09 Tab +0x00ff0a Linefeed +0x00ff0b Clear +0x00ff0d Return +0x00ff13 Pause +0x00ff14 Scroll_Lock +0x00ff15 Sys_Req +0x00ff1b Escape +0x00ff20 Multi_key +0x00ff21 Kanji +0x00ff22 Muhenkan +0x00ff23 Henkan +0x00ff23 Henkan_Mode +0x00ff24 Romaji +0x00ff25 Hiragana +0x00ff26 Katakana +0x00ff27 Hiragana_Katakana +0x00ff28 Zenkaku +0x00ff29 Hankaku +0x00ff2a Zenkaku_Hankaku +0x00ff2b Touroku +0x00ff2c Massyo +0x00ff2d Kana_Lock +0x00ff2e Kana_Shift +0x00ff2f Eisu_Shift +0x00ff30 Eisu_toggle +0x00ff31 Hangul +0x00ff32 Hangul_Start +0x00ff33 Hangul_End +0x00ff34 Hangul_Hanja +0x00ff35 Hangul_Jamo +0x00ff36 Hangul_Romaja +0x00ff37 Codeinput +0x00ff38 Hangul_Jeonja +0x00ff39 Hangul_Banja +0x00ff3a Hangul_PreHanja +0x00ff3b Hangul_PostHanja +0x00ff3c SingleCandidate +0x00ff3d MultipleCandidate +0x00ff3e PreviousCandidate +0x00ff3f Hangul_Special +0x00ff50 Home +0x00ff51 Left +0x00ff52 Up +0x00ff53 Right +0x00ff54 Down +0x00ff55 Page_Up +0x00ff55 Prior +0x00ff56 Page_Down +0x00ff56 Next +0x00ff57 End +0x00ff58 Begin +0x00ff60 Select +0x00ff61 Print +0x00ff62 Execute +0x00ff63 Insert +0x00ff65 Undo +0x00ff66 Redo +0x00ff67 Menu +0x00ff68 Find +0x00ff69 Cancel +0x00ff6a Help +0x00ff6b Break +0x00ff7e Arabic_switch +0x00ff7e Greek_switch +0x00ff7e Hangul_switch +0x00ff7e Hebrew_switch +0x00ff7e ISO_Group_Shift +0x00ff7e Mode_switch +0x00ff7e kana_switch +0x00ff7e script_switch +0x00ff7f Num_Lock +0x00ff80 KP_Space +0x00ff89 KP_Tab +0x00ff8d KP_Enter +0x00ff91 KP_F1 +0x00ff92 KP_F2 +0x00ff93 KP_F3 +0x00ff94 KP_F4 +0x00ff95 KP_Home +0x00ff96 KP_Left +0x00ff97 KP_Up +0x00ff98 KP_Right +0x00ff99 KP_Down +0x00ff9a KP_Page_Up +0x00ff9a KP_Prior +0x00ff9b KP_Page_Down +0x00ff9b KP_Next +0x00ff9c KP_End +0x00ff9d KP_Begin +0x00ff9e KP_Insert +0x00ff9f KP_Delete +0x00ffaa KP_Multiply +0x00ffab KP_Add +0x00ffac KP_Separator +0x00ffad KP_Subtract +0x00ffae KP_Decimal +0x00ffaf KP_Divide +0x00ffb0 KP_0 +0x00ffb1 KP_1 +0x00ffb2 KP_2 +0x00ffb3 KP_3 +0x00ffb4 KP_4 +0x00ffb5 KP_5 +0x00ffb6 KP_6 +0x00ffb7 KP_7 +0x00ffb8 KP_8 +0x00ffb9 KP_9 +0x00ffbd KP_Equal +0x00ffbe F1 +0x00ffbf F2 +0x00ffc0 F3 +0x00ffc1 F4 +0x00ffc2 F5 +0x00ffc3 F6 +0x00ffc4 F7 +0x00ffc5 F8 +0x00ffc6 F9 +0x00ffc7 F10 +0x00ffc8 F11 +0x00ffc9 F12 +0x00ffca F13 +0x00ffcb F14 +0x00ffcc F15 +0x00ffcd F16 +0x00ffce F17 +0x00ffcf F18 +0x00ffd0 F19 +0x00ffd1 F20 +0x00ffd2 F21 +0x00ffd3 F22 +0x00ffd4 F23 +0x00ffd5 F24 +0x00ffd6 F25 +0x00ffd7 F26 +0x00ffd8 F27 +0x00ffd9 F28 +0x00ffda F29 +0x00ffdb F30 +0x00ffdc F31 +0x00ffdd F32 +0x00ffde F33 +0x00ffdf F34 +0x00ffe0 F35 +0x00ffe1 Shift_L +0x00ffe2 Shift_R +0x00ffe3 Control_L +0x00ffe4 Control_R +0x00ffe5 Caps_Lock +0x00ffe6 Shift_Lock +0x00ffe7 Meta_L +0x00ffe8 Meta_R +0x00ffe9 Alt_L +0x00ffea Alt_R +0x00ffeb Super_L +0x00ffec Super_R +0x00ffed Hyper_L +0x00ffee Hyper_R +0x00ffff Delete +0xffffff VoidSymbol