# coding: utf-8
# pynput
# Copyright (C) 2015-2024 Moses Palmér
#
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU Lesser General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
# details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

# pylint: disable=C0111,C0302

SYMBOLS = {
    '0': (0x0030, '\u0030'),
    '1': (0x0031, '\u0031'),
    '2': (0x0032, '\u0032'),
    '3': (0x0033, '\u0033'),
    '4': (0x0034, '\u0034'),
    '5': (0x0035, '\u0035'),
    '6': (0x0036, '\u0036'),
    '7': (0x0037, '\u0037'),
    '8': (0x0038, '\u0038'),
    '9': (0x0039, '\u0039'),
    'A': (0x0041, '\u0041'),
    'AE': (0x00C6, '\u00c6'),
    'Aacute': (0x00C1, '\u00c1'),
    'Abelowdot': (0x1001EA0, '\u1ea0'),
    'Abreve': (0x01C3, '\u0102'),
    'Abreveacute': (0x1001EAE, '\u1eae'),
    'Abrevebelowdot': (0x1001EB6, '\u1eb6'),
    'Abrevegrave': (0x1001EB0, '\u1eb0'),
    'Abrevehook': (0x1001EB2, '\u1eb2'),
    'Abrevetilde': (0x1001EB4, '\u1eb4'),
    'Acircumflex': (0x00C2, '\u00c2'),
    'Acircumflexacute': (0x1001EA4, '\u1ea4'),
    'Acircumflexbelowdot': (0x1001EAC, '\u1eac'),
    'Acircumflexgrave': (0x1001EA6, '\u1ea6'),
    'Acircumflexhook': (0x1001EA8, '\u1ea8'),
    'Acircumflextilde': (0x1001EAA, '\u1eaa'),
    'Adiaeresis': (0x00C4, '\u00c4'),
    'Agrave': (0x00C0, '\u00c0'),
    'Ahook': (0x1001EA2, '\u1ea2'),
    'Amacron': (0x03C0, '\u0100'),
    'Aogonek': (0x01A1, '\u0104'),
    'Arabic_0': (0x1000660, '\u0660'),
    'Arabic_1': (0x1000661, '\u0661'),
    'Arabic_2': (0x1000662, '\u0662'),
    'Arabic_3': (0x1000663, '\u0663'),
    'Arabic_4': (0x1000664, '\u0664'),
    'Arabic_5': (0x1000665, '\u0665'),
    'Arabic_6': (0x1000666, '\u0666'),
    'Arabic_7': (0x1000667, '\u0667'),
    'Arabic_8': (0x1000668, '\u0668'),
    'Arabic_9': (0x1000669, '\u0669'),
    'Arabic_ain': (0x05D9, '\u0639'),
    'Arabic_alef': (0x05C7, '\u0627'),
    'Arabic_alefmaksura': (0x05E9, '\u0649'),
    'Arabic_beh': (0x05C8, '\u0628'),
    'Arabic_comma': (0x05AC, '\u060c'),
    'Arabic_dad': (0x05D6, '\u0636'),
    'Arabic_dal': (0x05CF, '\u062f'),
    'Arabic_damma': (0x05EF, '\u064f'),
    'Arabic_dammatan': (0x05EC, '\u064c'),
    'Arabic_ddal': (0x1000688, '\u0688'),
    'Arabic_farsi_yeh': (0x10006CC, '\u06cc'),
    'Arabic_fatha': (0x05EE, '\u064e'),
    'Arabic_fathatan': (0x05EB, '\u064b'),
    'Arabic_feh': (0x05E1, '\u0641'),
    'Arabic_fullstop': (0x10006D4, '\u06d4'),
    'Arabic_gaf': (0x10006AF, '\u06af'),
    'Arabic_ghain': (0x05DA, '\u063a'),
    'Arabic_ha': (0x05E7, '\u0647'),
    'Arabic_hah': (0x05CD, '\u062d'),
    'Arabic_hamza': (0x05C1, '\u0621'),
    'Arabic_hamza_above': (0x1000654, '\u0654'),
    'Arabic_hamza_below': (0x1000655, '\u0655'),
    'Arabic_hamzaonalef': (0x05C3, '\u0623'),
    'Arabic_hamzaonwaw': (0x05C4, '\u0624'),
    'Arabic_hamzaonyeh': (0x05C6, '\u0626'),
    'Arabic_hamzaunderalef': (0x05C5, '\u0625'),
    'Arabic_heh_doachashmee': (0x10006BE, '\u06be'),
    'Arabic_heh_goal': (0x10006C1, '\u06c1'),
    'Arabic_jeem': (0x05CC, '\u062c'),
    'Arabic_jeh': (0x1000698, '\u0698'),
    'Arabic_kaf': (0x05E3, '\u0643'),
    'Arabic_kasra': (0x05F0, '\u0650'),
    'Arabic_kasratan': (0x05ED, '\u064d'),
    'Arabic_keheh': (0x10006A9, '\u06a9'),
    'Arabic_khah': (0x05CE, '\u062e'),
    'Arabic_lam': (0x05E4, '\u0644'),
    'Arabic_madda_above': (0x1000653, '\u0653'),
    'Arabic_maddaonalef': (0x05C2, '\u0622'),
    'Arabic_meem': (0x05E5, '\u0645'),
    'Arabic_noon': (0x05E6, '\u0646'),
    'Arabic_noon_ghunna': (0x10006BA, '\u06ba'),
    'Arabic_peh': (0x100067E, '\u067e'),
    'Arabic_percent': (0x100066A, '\u066a'),
    'Arabic_qaf': (0x05E2, '\u0642'),
    'Arabic_question_mark': (0x05BF, '\u061f'),
    'Arabic_ra': (0x05D1, '\u0631'),
    'Arabic_rreh': (0x1000691, '\u0691'),
    'Arabic_sad': (0x05D5, '\u0635'),
    'Arabic_seen': (0x05D3, '\u0633'),
    'Arabic_semicolon': (0x05BB, '\u061b'),
    'Arabic_shadda': (0x05F1, '\u0651'),
    'Arabic_sheen': (0x05D4, '\u0634'),
    'Arabic_sukun': (0x05F2, '\u0652'),
    'Arabic_superscript_alef': (0x1000670, '\u0670'),
    'Arabic_tah': (0x05D7, '\u0637'),
    'Arabic_tatweel': (0x05E0, '\u0640'),
    'Arabic_tcheh': (0x1000686, '\u0686'),
    'Arabic_teh': (0x05CA, '\u062a'),
    'Arabic_tehmarbuta': (0x05C9, '\u0629'),
    'Arabic_thal': (0x05D0, '\u0630'),
    'Arabic_theh': (0x05CB, '\u062b'),
    'Arabic_tteh': (0x1000679, '\u0679'),
    'Arabic_veh': (0x10006A4, '\u06a4'),
    'Arabic_waw': (0x05E8, '\u0648'),
    'Arabic_yeh': (0x05EA, '\u064a'),
    'Arabic_yeh_baree': (0x10006D2, '\u06d2'),
    'Arabic_zah': (0x05D8, '\u0638'),
    'Arabic_zain': (0x05D2, '\u0632'),
    'Aring': (0x00C5, '\u00c5'),
    'Armenian_AT': (0x1000538, '\u0538'),
    'Armenian_AYB': (0x1000531, '\u0531'),
    'Armenian_BEN': (0x1000532, '\u0532'),
    'Armenian_CHA': (0x1000549, '\u0549'),
    'Armenian_DA': (0x1000534, '\u0534'),
    'Armenian_DZA': (0x1000541, '\u0541'),
    'Armenian_E': (0x1000537, '\u0537'),
    'Armenian_FE': (0x1000556, '\u0556'),
    'Armenian_GHAT': (0x1000542, '\u0542'),
    'Armenian_GIM': (0x1000533, '\u0533'),
    'Armenian_HI': (0x1000545, '\u0545'),
    'Armenian_HO': (0x1000540, '\u0540'),
    'Armenian_INI': (0x100053B, '\u053b'),
    'Armenian_JE': (0x100054B, '\u054b'),
    'Armenian_KE': (0x1000554, '\u0554'),
    'Armenian_KEN': (0x100053F, '\u053f'),
    'Armenian_KHE': (0x100053D, '\u053d'),
    'Armenian_LYUN': (0x100053C, '\u053c'),
    'Armenian_MEN': (0x1000544, '\u0544'),
    'Armenian_NU': (0x1000546, '\u0546'),
    'Armenian_O': (0x1000555, '\u0555'),
    'Armenian_PE': (0x100054A, '\u054a'),
    'Armenian_PYUR': (0x1000553, '\u0553'),
    'Armenian_RA': (0x100054C, '\u054c'),
    'Armenian_RE': (0x1000550, '\u0550'),
    'Armenian_SE': (0x100054D, '\u054d'),
    'Armenian_SHA': (0x1000547, '\u0547'),
    'Armenian_TCHE': (0x1000543, '\u0543'),
    'Armenian_TO': (0x1000539, '\u0539'),
    'Armenian_TSA': (0x100053E, '\u053e'),
    'Armenian_TSO': (0x1000551, '\u0551'),
    'Armenian_TYUN': (0x100054F, '\u054f'),
    'Armenian_VEV': (0x100054E, '\u054e'),
    'Armenian_VO': (0x1000548, '\u0548'),
    'Armenian_VYUN': (0x1000552, '\u0552'),
    'Armenian_YECH': (0x1000535, '\u0535'),
    'Armenian_ZA': (0x1000536, '\u0536'),
    'Armenian_ZHE': (0x100053A, '\u053a'),
    'Armenian_accent': (0x100055B, '\u055b'),
    'Armenian_amanak': (0x100055C, '\u055c'),
    'Armenian_apostrophe': (0x100055A, '\u055a'),
    'Armenian_at': (0x1000568, '\u0568'),
    'Armenian_ayb': (0x1000561, '\u0561'),
    'Armenian_ben': (0x1000562, '\u0562'),
    'Armenian_but': (0x100055D, '\u055d'),
    'Armenian_cha': (0x1000579, '\u0579'),
    'Armenian_da': (0x1000564, '\u0564'),
    'Armenian_dza': (0x1000571, '\u0571'),
    'Armenian_e': (0x1000567, '\u0567'),
    'Armenian_exclam': (0x100055C, '\u055c'),
    'Armenian_fe': (0x1000586, '\u0586'),
    'Armenian_full_stop': (0x1000589, '\u0589'),
    'Armenian_ghat': (0x1000572, '\u0572'),
    'Armenian_gim': (0x1000563, '\u0563'),
    'Armenian_hi': (0x1000575, '\u0575'),
    'Armenian_ho': (0x1000570, '\u0570'),
    'Armenian_hyphen': (0x100058A, '\u058a'),
    'Armenian_ini': (0x100056B, '\u056b'),
    'Armenian_je': (0x100057B, '\u057b'),
    'Armenian_ke': (0x1000584, '\u0584'),
    'Armenian_ken': (0x100056F, '\u056f'),
    'Armenian_khe': (0x100056D, '\u056d'),
    'Armenian_ligature_ew': (0x1000587, '\u0587'),
    'Armenian_lyun': (0x100056C, '\u056c'),
    'Armenian_men': (0x1000574, '\u0574'),
    'Armenian_nu': (0x1000576, '\u0576'),
    'Armenian_o': (0x1000585, '\u0585'),
    'Armenian_paruyk': (0x100055E, '\u055e'),
    'Armenian_pe': (0x100057A, '\u057a'),
    'Armenian_pyur': (0x1000583, '\u0583'),
    'Armenian_question': (0x100055E, '\u055e'),
    'Armenian_ra': (0x100057C, '\u057c'),
    'Armenian_re': (0x1000580, '\u0580'),
    'Armenian_se': (0x100057D, '\u057d'),
    'Armenian_separation_mark': (0x100055D, '\u055d'),
    'Armenian_sha': (0x1000577, '\u0577'),
    'Armenian_shesht': (0x100055B, '\u055b'),
    'Armenian_tche': (0x1000573, '\u0573'),
    'Armenian_to': (0x1000569, '\u0569'),
    'Armenian_tsa': (0x100056E, '\u056e'),
    'Armenian_tso': (0x1000581, '\u0581'),
    'Armenian_tyun': (0x100057F, '\u057f'),
    'Armenian_verjaket': (0x1000589, '\u0589'),
    'Armenian_vev': (0x100057E, '\u057e'),
    'Armenian_vo': (0x1000578, '\u0578'),
    'Armenian_vyun': (0x1000582, '\u0582'),
    'Armenian_yech': (0x1000565, '\u0565'),
    'Armenian_yentamna': (0x100058A, '\u058a'),
    'Armenian_za': (0x1000566, '\u0566'),
    'Armenian_zhe': (0x100056A, '\u056a'),
    'Atilde': (0x00C3, '\u00c3'),
    'B': (0x0042, '\u0042'),
    'Babovedot': (0x1001E02, '\u1e02'),
    'Byelorussian_SHORTU': (0x06BE, '\u040e'),
    'Byelorussian_shortu': (0x06AE, '\u045e'),
    'C': (0x0043, '\u0043'),
    'Cabovedot': (0x02C5, '\u010a'),
    'Cacute': (0x01C6, '\u0106'),
    'Ccaron': (0x01C8, '\u010c'),
    'Ccedilla': (0x00C7, '\u00c7'),
    'Ccircumflex': (0x02C6, '\u0108'),
    'ColonSign': (0x10020A1, '\u20a1'),
    'CruzeiroSign': (0x10020A2, '\u20a2'),
    'Cyrillic_A': (0x06E1, '\u0410'),
    'Cyrillic_BE': (0x06E2, '\u0411'),
    'Cyrillic_CHE': (0x06FE, '\u0427'),
    'Cyrillic_CHE_descender': (0x10004B6, '\u04b6'),
    'Cyrillic_CHE_vertstroke': (0x10004B8, '\u04b8'),
    'Cyrillic_DE': (0x06E4, '\u0414'),
    'Cyrillic_DZHE': (0x06BF, '\u040f'),
    'Cyrillic_E': (0x06FC, '\u042d'),
    'Cyrillic_EF': (0x06E6, '\u0424'),
    'Cyrillic_EL': (0x06EC, '\u041b'),
    'Cyrillic_EM': (0x06ED, '\u041c'),
    'Cyrillic_EN': (0x06EE, '\u041d'),
    'Cyrillic_EN_descender': (0x10004A2, '\u04a2'),
    'Cyrillic_ER': (0x06F2, '\u0420'),
    'Cyrillic_ES': (0x06F3, '\u0421'),
    'Cyrillic_GHE': (0x06E7, '\u0413'),
    'Cyrillic_GHE_bar': (0x1000492, '\u0492'),
    'Cyrillic_HA': (0x06E8, '\u0425'),
    'Cyrillic_HARDSIGN': (0x06FF, '\u042a'),
    'Cyrillic_HA_descender': (0x10004B2, '\u04b2'),
    'Cyrillic_I': (0x06E9, '\u0418'),
    'Cyrillic_IE': (0x06E5, '\u0415'),
    'Cyrillic_IO': (0x06B3, '\u0401'),
    'Cyrillic_I_macron': (0x10004E2, '\u04e2'),
    'Cyrillic_JE': (0x06B8, '\u0408'),
    'Cyrillic_KA': (0x06EB, '\u041a'),
    'Cyrillic_KA_descender': (0x100049A, '\u049a'),
    'Cyrillic_KA_vertstroke': (0x100049C, '\u049c'),
    'Cyrillic_LJE': (0x06B9, '\u0409'),
    'Cyrillic_NJE': (0x06BA, '\u040a'),
    'Cyrillic_O': (0x06EF, '\u041e'),
    'Cyrillic_O_bar': (0x10004E8, '\u04e8'),
    'Cyrillic_PE': (0x06F0, '\u041f'),
    'Cyrillic_SCHWA': (0x10004D8, '\u04d8'),
    'Cyrillic_SHA': (0x06FB, '\u0428'),
    'Cyrillic_SHCHA': (0x06FD, '\u0429'),
    'Cyrillic_SHHA': (0x10004BA, '\u04ba'),
    'Cyrillic_SHORTI': (0x06EA, '\u0419'),
    'Cyrillic_SOFTSIGN': (0x06F8, '\u042c'),
    'Cyrillic_TE': (0x06F4, '\u0422'),
    'Cyrillic_TSE': (0x06E3, '\u0426'),
    'Cyrillic_U': (0x06F5, '\u0423'),
    'Cyrillic_U_macron': (0x10004EE, '\u04ee'),
    'Cyrillic_U_straight': (0x10004AE, '\u04ae'),
    'Cyrillic_U_straight_bar': (0x10004B0, '\u04b0'),
    'Cyrillic_VE': (0x06F7, '\u0412'),
    'Cyrillic_YA': (0x06F1, '\u042f'),
    'Cyrillic_YERU': (0x06F9, '\u042b'),
    'Cyrillic_YU': (0x06E0, '\u042e'),
    'Cyrillic_ZE': (0x06FA, '\u0417'),
    'Cyrillic_ZHE': (0x06F6, '\u0416'),
    'Cyrillic_ZHE_descender': (0x1000496, '\u0496'),
    'Cyrillic_a': (0x06C1, '\u0430'),
    'Cyrillic_be': (0x06C2, '\u0431'),
    'Cyrillic_che': (0x06DE, '\u0447'),
    'Cyrillic_che_descender': (0x10004B7, '\u04b7'),
    'Cyrillic_che_vertstroke': (0x10004B9, '\u04b9'),
    'Cyrillic_de': (0x06C4, '\u0434'),
    'Cyrillic_dzhe': (0x06AF, '\u045f'),
    'Cyrillic_e': (0x06DC, '\u044d'),
    'Cyrillic_ef': (0x06C6, '\u0444'),
    'Cyrillic_el': (0x06CC, '\u043b'),
    'Cyrillic_em': (0x06CD, '\u043c'),
    'Cyrillic_en': (0x06CE, '\u043d'),
    'Cyrillic_en_descender': (0x10004A3, '\u04a3'),
    'Cyrillic_er': (0x06D2, '\u0440'),
    'Cyrillic_es': (0x06D3, '\u0441'),
    'Cyrillic_ghe': (0x06C7, '\u0433'),
    'Cyrillic_ghe_bar': (0x1000493, '\u0493'),
    'Cyrillic_ha': (0x06C8, '\u0445'),
    'Cyrillic_ha_descender': (0x10004B3, '\u04b3'),
    'Cyrillic_hardsign': (0x06DF, '\u044a'),
    'Cyrillic_i': (0x06C9, '\u0438'),
    'Cyrillic_i_macron': (0x10004E3, '\u04e3'),
    'Cyrillic_ie': (0x06C5, '\u0435'),
    'Cyrillic_io': (0x06A3, '\u0451'),
    'Cyrillic_je': (0x06A8, '\u0458'),
    'Cyrillic_ka': (0x06CB, '\u043a'),
    'Cyrillic_ka_descender': (0x100049B, '\u049b'),
    'Cyrillic_ka_vertstroke': (0x100049D, '\u049d'),
    'Cyrillic_lje': (0x06A9, '\u0459'),
    'Cyrillic_nje': (0x06AA, '\u045a'),
    'Cyrillic_o': (0x06CF, '\u043e'),
    'Cyrillic_o_bar': (0x10004E9, '\u04e9'),
    'Cyrillic_pe': (0x06D0, '\u043f'),
    'Cyrillic_schwa': (0x10004D9, '\u04d9'),
    'Cyrillic_sha': (0x06DB, '\u0448'),
    'Cyrillic_shcha': (0x06DD, '\u0449'),
    'Cyrillic_shha': (0x10004BB, '\u04bb'),
    'Cyrillic_shorti': (0x06CA, '\u0439'),
    'Cyrillic_softsign': (0x06D8, '\u044c'),
    'Cyrillic_te': (0x06D4, '\u0442'),
    'Cyrillic_tse': (0x06C3, '\u0446'),
    'Cyrillic_u': (0x06D5, '\u0443'),
    'Cyrillic_u_macron': (0x10004EF, '\u04ef'),
    'Cyrillic_u_straight': (0x10004AF, '\u04af'),
    'Cyrillic_u_straight_bar': (0x10004B1, '\u04b1'),
    'Cyrillic_ve': (0x06D7, '\u0432'),
    'Cyrillic_ya': (0x06D1, '\u044f'),
    'Cyrillic_yeru': (0x06D9, '\u044b'),
    'Cyrillic_yu': (0x06C0, '\u044e'),
    'Cyrillic_ze': (0x06DA, '\u0437'),
    'Cyrillic_zhe': (0x06D6, '\u0436'),
    'Cyrillic_zhe_descender': (0x1000497, '\u0497'),
    'D': (0x0044, '\u0044'),
    'Dabovedot': (0x1001E0A, '\u1e0a'),
    'Dcaron': (0x01CF, '\u010e'),
    'DongSign': (0x10020AB, '\u20ab'),
    'Dstroke': (0x01D0, '\u0110'),
    'E': (0x0045, '\u0045'),
    'ENG': (0x03BD, '\u014a'),
    'ETH': (0x00D0, '\u00d0'),
    'EZH': (0x10001B7, '\u01b7'),
    'Eabovedot': (0x03CC, '\u0116'),
    'Eacute': (0x00C9, '\u00c9'),
    'Ebelowdot': (0x1001EB8, '\u1eb8'),
    'Ecaron': (0x01CC, '\u011a'),
    'Ecircumflex': (0x00CA, '\u00ca'),
    'Ecircumflexacute': (0x1001EBE, '\u1ebe'),
    'Ecircumflexbelowdot': (0x1001EC6, '\u1ec6'),
    'Ecircumflexgrave': (0x1001EC0, '\u1ec0'),
    'Ecircumflexhook': (0x1001EC2, '\u1ec2'),
    'Ecircumflextilde': (0x1001EC4, '\u1ec4'),
    'EcuSign': (0x10020A0, '\u20a0'),
    'Ediaeresis': (0x00CB, '\u00cb'),
    'Egrave': (0x00C8, '\u00c8'),
    'Ehook': (0x1001EBA, '\u1eba'),
    'Emacron': (0x03AA, '\u0112'),
    'Eogonek': (0x01CA, '\u0118'),
    'Etilde': (0x1001EBC, '\u1ebc'),
    'EuroSign': (0x20AC, '\u20ac'),
    'F': (0x0046, '\u0046'),
    'FFrancSign': (0x10020A3, '\u20a3'),
    'Fabovedot': (0x1001E1E, '\u1e1e'),
    'Farsi_0': (0x10006F0, '\u06f0'),
    'Farsi_1': (0x10006F1, '\u06f1'),
    'Farsi_2': (0x10006F2, '\u06f2'),
    'Farsi_3': (0x10006F3, '\u06f3'),
    'Farsi_4': (0x10006F4, '\u06f4'),
    'Farsi_5': (0x10006F5, '\u06f5'),
    'Farsi_6': (0x10006F6, '\u06f6'),
    'Farsi_7': (0x10006F7, '\u06f7'),
    'Farsi_8': (0x10006F8, '\u06f8'),
    'Farsi_9': (0x10006F9, '\u06f9'),
    'Farsi_yeh': (0x10006CC, '\u06cc'),
    'G': (0x0047, '\u0047'),
    'Gabovedot': (0x02D5, '\u0120'),
    'Gbreve': (0x02AB, '\u011e'),
    'Gcaron': (0x10001E6, '\u01e6'),
    'Gcedilla': (0x03AB, '\u0122'),
    'Gcircumflex': (0x02D8, '\u011c'),
    'Georgian_an': (0x10010D0, '\u10d0'),
    'Georgian_ban': (0x10010D1, '\u10d1'),
    'Georgian_can': (0x10010EA, '\u10ea'),
    'Georgian_char': (0x10010ED, '\u10ed'),
    'Georgian_chin': (0x10010E9, '\u10e9'),
    'Georgian_cil': (0x10010EC, '\u10ec'),
    'Georgian_don': (0x10010D3, '\u10d3'),
    'Georgian_en': (0x10010D4, '\u10d4'),
    'Georgian_fi': (0x10010F6, '\u10f6'),
    'Georgian_gan': (0x10010D2, '\u10d2'),
    'Georgian_ghan': (0x10010E6, '\u10e6'),
    'Georgian_hae': (0x10010F0, '\u10f0'),
    'Georgian_har': (0x10010F4, '\u10f4'),
    'Georgian_he': (0x10010F1, '\u10f1'),
    'Georgian_hie': (0x10010F2, '\u10f2'),
    'Georgian_hoe': (0x10010F5, '\u10f5'),
    'Georgian_in': (0x10010D8, '\u10d8'),
    'Georgian_jhan': (0x10010EF, '\u10ef'),
    'Georgian_jil': (0x10010EB, '\u10eb'),
    'Georgian_kan': (0x10010D9, '\u10d9'),
    'Georgian_khar': (0x10010E5, '\u10e5'),
    'Georgian_las': (0x10010DA, '\u10da'),
    'Georgian_man': (0x10010DB, '\u10db'),
    'Georgian_nar': (0x10010DC, '\u10dc'),
    'Georgian_on': (0x10010DD, '\u10dd'),
    'Georgian_par': (0x10010DE, '\u10de'),
    'Georgian_phar': (0x10010E4, '\u10e4'),
    'Georgian_qar': (0x10010E7, '\u10e7'),
    'Georgian_rae': (0x10010E0, '\u10e0'),
    'Georgian_san': (0x10010E1, '\u10e1'),
    'Georgian_shin': (0x10010E8, '\u10e8'),
    'Georgian_tan': (0x10010D7, '\u10d7'),
    'Georgian_tar': (0x10010E2, '\u10e2'),
    'Georgian_un': (0x10010E3, '\u10e3'),
    'Georgian_vin': (0x10010D5, '\u10d5'),
    'Georgian_we': (0x10010F3, '\u10f3'),
    'Georgian_xan': (0x10010EE, '\u10ee'),
    'Georgian_zen': (0x10010D6, '\u10d6'),
    'Georgian_zhar': (0x10010DF, '\u10df'),
    'Greek_ALPHA': (0x07C1, '\u0391'),
    'Greek_ALPHAaccent': (0x07A1, '\u0386'),
    'Greek_BETA': (0x07C2, '\u0392'),
    'Greek_CHI': (0x07D7, '\u03a7'),
    'Greek_DELTA': (0x07C4, '\u0394'),
    'Greek_EPSILON': (0x07C5, '\u0395'),
    'Greek_EPSILONaccent': (0x07A2, '\u0388'),
    'Greek_ETA': (0x07C7, '\u0397'),
    'Greek_ETAaccent': (0x07A3, '\u0389'),
    'Greek_GAMMA': (0x07C3, '\u0393'),
    'Greek_IOTA': (0x07C9, '\u0399'),
    'Greek_IOTAaccent': (0x07A4, '\u038a'),
    'Greek_IOTAdieresis': (0x07A5, '\u03aa'),
    'Greek_KAPPA': (0x07CA, '\u039a'),
    'Greek_LAMBDA': (0x07CB, '\u039b'),
    'Greek_LAMDA': (0x07CB, '\u039b'),
    'Greek_MU': (0x07CC, '\u039c'),
    'Greek_NU': (0x07CD, '\u039d'),
    'Greek_OMEGA': (0x07D9, '\u03a9'),
    'Greek_OMEGAaccent': (0x07AB, '\u038f'),
    'Greek_OMICRON': (0x07CF, '\u039f'),
    'Greek_OMICRONaccent': (0x07A7, '\u038c'),
    'Greek_PHI': (0x07D6, '\u03a6'),
    'Greek_PI': (0x07D0, '\u03a0'),
    'Greek_PSI': (0x07D8, '\u03a8'),
    'Greek_RHO': (0x07D1, '\u03a1'),
    'Greek_SIGMA': (0x07D2, '\u03a3'),
    'Greek_TAU': (0x07D4, '\u03a4'),
    'Greek_THETA': (0x07C8, '\u0398'),
    'Greek_UPSILON': (0x07D5, '\u03a5'),
    'Greek_UPSILONaccent': (0x07A8, '\u038e'),
    'Greek_UPSILONdieresis': (0x07A9, '\u03ab'),
    'Greek_XI': (0x07CE, '\u039e'),
    'Greek_ZETA': (0x07C6, '\u0396'),
    'Greek_accentdieresis': (0x07AE, '\u0385'),
    'Greek_alpha': (0x07E1, '\u03b1'),
    'Greek_alphaaccent': (0x07B1, '\u03ac'),
    'Greek_beta': (0x07E2, '\u03b2'),
    'Greek_chi': (0x07F7, '\u03c7'),
    'Greek_delta': (0x07E4, '\u03b4'),
    'Greek_epsilon': (0x07E5, '\u03b5'),
    'Greek_epsilonaccent': (0x07B2, '\u03ad'),
    'Greek_eta': (0x07E7, '\u03b7'),
    'Greek_etaaccent': (0x07B3, '\u03ae'),
    'Greek_finalsmallsigma': (0x07F3, '\u03c2'),
    'Greek_gamma': (0x07E3, '\u03b3'),
    'Greek_horizbar': (0x07AF, '\u2015'),
    'Greek_iota': (0x07E9, '\u03b9'),
    'Greek_iotaaccent': (0x07B4, '\u03af'),
    'Greek_iotaaccentdieresis': (0x07B6, '\u0390'),
    'Greek_iotadieresis': (0x07B5, '\u03ca'),
    'Greek_kappa': (0x07EA, '\u03ba'),
    'Greek_lambda': (0x07EB, '\u03bb'),
    'Greek_lamda': (0x07EB, '\u03bb'),
    'Greek_mu': (0x07EC, '\u03bc'),
    'Greek_nu': (0x07ED, '\u03bd'),
    'Greek_omega': (0x07F9, '\u03c9'),
    'Greek_omegaaccent': (0x07BB, '\u03ce'),
    'Greek_omicron': (0x07EF, '\u03bf'),
    'Greek_omicronaccent': (0x07B7, '\u03cc'),
    'Greek_phi': (0x07F6, '\u03c6'),
    'Greek_pi': (0x07F0, '\u03c0'),
    'Greek_psi': (0x07F8, '\u03c8'),
    'Greek_rho': (0x07F1, '\u03c1'),
    'Greek_sigma': (0x07F2, '\u03c3'),
    'Greek_tau': (0x07F4, '\u03c4'),
    'Greek_theta': (0x07E8, '\u03b8'),
    'Greek_upsilon': (0x07F5, '\u03c5'),
    'Greek_upsilonaccent': (0x07B8, '\u03cd'),
    'Greek_upsilonaccentdieresis': (0x07BA, '\u03b0'),
    'Greek_upsilondieresis': (0x07B9, '\u03cb'),
    'Greek_xi': (0x07EE, '\u03be'),
    'Greek_zeta': (0x07E6, '\u03b6'),
    'H': (0x0048, '\u0048'),
    'Hcircumflex': (0x02A6, '\u0124'),
    'Hstroke': (0x02A1, '\u0126'),
    'I': (0x0049, '\u0049'),
    'Iabovedot': (0x02A9, '\u0130'),
    'Iacute': (0x00CD, '\u00cd'),
    'Ibelowdot': (0x1001ECA, '\u1eca'),
    'Ibreve': (0x100012C, '\u012c'),
    'Icircumflex': (0x00CE, '\u00ce'),
    'Idiaeresis': (0x00CF, '\u00cf'),
    'Igrave': (0x00CC, '\u00cc'),
    'Ihook': (0x1001EC8, '\u1ec8'),
    'Imacron': (0x03CF, '\u012a'),
    'Iogonek': (0x03C7, '\u012e'),
    'Itilde': (0x03A5, '\u0128'),
    'J': (0x004A, '\u004a'),
    'Jcircumflex': (0x02AC, '\u0134'),
    'K': (0x004B, '\u004b'),
    'KP_0': (0xFFB0, None),
    'KP_1': (0xFFB1, None),
    'KP_2': (0xFFB2, None),
    'KP_3': (0xFFB3, None),
    'KP_4': (0xFFB4, None),
    'KP_5': (0xFFB5, None),
    'KP_6': (0xFFB6, None),
    'KP_7': (0xFFB7, None),
    'KP_8': (0xFFB8, None),
    'KP_9': (0xFFB9, None),
    'KP_Add': (0xFFAB, None),
    'KP_Begin': (0xFF9D, None),
    'KP_Decimal': (0xFFAE, None),
    'KP_Delete': (0xFF9F, None),
    'KP_Divide': (0xFFAF, None),
    'KP_Down': (0xFF99, None),
    'KP_End': (0xFF9C, None),
    'KP_Enter': (0xFF8D, None),
    'KP_Equal': (0xFFBD, None),
    'KP_F1': (0xFF91, None),
    'KP_F2': (0xFF92, None),
    'KP_F3': (0xFF93, None),
    'KP_F4': (0xFF94, None),
    'KP_Home': (0xFF95, None),
    'KP_Insert': (0xFF9E, None),
    'KP_Left': (0xFF96, None),
    'KP_Multiply': (0xFFAA, None),
    'KP_Next': (0xFF9B, None),
    'KP_Page_Down': (0xFF9B, None),
    'KP_Page_Up': (0xFF9A, None),
    'KP_Prior': (0xFF9A, None),
    'KP_Right': (0xFF98, None),
    'KP_Separator': (0xFFAC, None),
    'KP_Space': (0xFF80, None),
    'KP_Subtract': (0xFFAD, None),
    'KP_Tab': (0xFF89, None),
    'KP_Up': (0xFF97, None),
    'Kcedilla': (0x03D3, '\u0136'),
    'L': (0x004C, '\u004c'),
    'Lacute': (0x01C5, '\u0139'),
    'Lbelowdot': (0x1001E36, '\u1e36'),
    'Lcaron': (0x01A5, '\u013d'),
    'Lcedilla': (0x03A6, '\u013b'),
    'LiraSign': (0x10020A4, '\u20a4'),
    'Lstroke': (0x01A3, '\u0141'),
    'M': (0x004D, '\u004d'),
    'Mabovedot': (0x1001E40, '\u1e40'),
    'Macedonia_DSE': (0x06B5, '\u0405'),
    'Macedonia_GJE': (0x06B2, '\u0403'),
    'Macedonia_KJE': (0x06BC, '\u040c'),
    'Macedonia_dse': (0x06A5, '\u0455'),
    'Macedonia_gje': (0x06A2, '\u0453'),
    'Macedonia_kje': (0x06AC, '\u045c'),
    'MillSign': (0x10020A5, '\u20a5'),
    'N': (0x004E, '\u004e'),
    'Nacute': (0x01D1, '\u0143'),
    'NairaSign': (0x10020A6, '\u20a6'),
    'Ncaron': (0x01D2, '\u0147'),
    'Ncedilla': (0x03D1, '\u0145'),
    'NewSheqelSign': (0x10020AA, '\u20aa'),
    'Ntilde': (0x00D1, '\u00d1'),
    'O': (0x004F, '\u004f'),
    'OE': (0x13BC, '\u0152'),
    'Oacute': (0x00D3, '\u00d3'),
    'Obarred': (0x100019F, '\u019f'),
    'Obelowdot': (0x1001ECC, '\u1ecc'),
    'Ocaron': (0x10001D1, '\u01d2'),
    'Ocircumflex': (0x00D4, '\u00d4'),
    'Ocircumflexacute': (0x1001ED0, '\u1ed0'),
    'Ocircumflexbelowdot': (0x1001ED8, '\u1ed8'),
    'Ocircumflexgrave': (0x1001ED2, '\u1ed2'),
    'Ocircumflexhook': (0x1001ED4, '\u1ed4'),
    'Ocircumflextilde': (0x1001ED6, '\u1ed6'),
    'Odiaeresis': (0x00D6, '\u00d6'),
    'Odoubleacute': (0x01D5, '\u0150'),
    'Ograve': (0x00D2, '\u00d2'),
    'Ohook': (0x1001ECE, '\u1ece'),
    'Ohorn': (0x10001A0, '\u01a0'),
    'Ohornacute': (0x1001EDA, '\u1eda'),
    'Ohornbelowdot': (0x1001EE2, '\u1ee2'),
    'Ohorngrave': (0x1001EDC, '\u1edc'),
    'Ohornhook': (0x1001EDE, '\u1ede'),
    'Ohorntilde': (0x1001EE0, '\u1ee0'),
    'Omacron': (0x03D2, '\u014c'),
    'Ooblique': (0x00D8, '\u00d8'),
    'Oslash': (0x00D8, '\u00d8'),
    'Otilde': (0x00D5, '\u00d5'),
    'P': (0x0050, '\u0050'),
    'Pabovedot': (0x1001E56, '\u1e56'),
    'PesetaSign': (0x10020A7, '\u20a7'),
    'Q': (0x0051, '\u0051'),
    'R': (0x0052, '\u0052'),
    'Racute': (0x01C0, '\u0154'),
    'Rcaron': (0x01D8, '\u0158'),
    'Rcedilla': (0x03A3, '\u0156'),
    'RupeeSign': (0x10020A8, '\u20a8'),
    'S': (0x0053, '\u0053'),
    'SCHWA': (0x100018F, '\u018f'),
    'Sabovedot': (0x1001E60, '\u1e60'),
    'Sacute': (0x01A6, '\u015a'),
    'Scaron': (0x01A9, '\u0160'),
    'Scedilla': (0x01AA, '\u015e'),
    'Scircumflex': (0x02DE, '\u015c'),
    'Serbian_DJE': (0x06B1, '\u0402'),
    'Serbian_TSHE': (0x06BB, '\u040b'),
    'Serbian_dje': (0x06A1, '\u0452'),
    'Serbian_tshe': (0x06AB, '\u045b'),
    'Sinh_a': (0x1000D85, '\u0d85'),
    'Sinh_aa': (0x1000D86, '\u0d86'),
    'Sinh_aa2': (0x1000DCF, '\u0dcf'),
    'Sinh_ae': (0x1000D87, '\u0d87'),
    'Sinh_ae2': (0x1000DD0, '\u0dd0'),
    'Sinh_aee': (0x1000D88, '\u0d88'),
    'Sinh_aee2': (0x1000DD1, '\u0dd1'),
    'Sinh_ai': (0x1000D93, '\u0d93'),
    'Sinh_ai2': (0x1000DDB, '\u0ddb'),
    'Sinh_al': (0x1000DCA, '\u0dca'),
    'Sinh_au': (0x1000D96, '\u0d96'),
    'Sinh_au2': (0x1000DDE, '\u0dde'),
    'Sinh_ba': (0x1000DB6, '\u0db6'),
    'Sinh_bha': (0x1000DB7, '\u0db7'),
    'Sinh_ca': (0x1000DA0, '\u0da0'),
    'Sinh_cha': (0x1000DA1, '\u0da1'),
    'Sinh_dda': (0x1000DA9, '\u0da9'),
    'Sinh_ddha': (0x1000DAA, '\u0daa'),
    'Sinh_dha': (0x1000DAF, '\u0daf'),
    'Sinh_dhha': (0x1000DB0, '\u0db0'),
    'Sinh_e': (0x1000D91, '\u0d91'),
    'Sinh_e2': (0x1000DD9, '\u0dd9'),
    'Sinh_ee': (0x1000D92, '\u0d92'),
    'Sinh_ee2': (0x1000DDA, '\u0dda'),
    'Sinh_fa': (0x1000DC6, '\u0dc6'),
    'Sinh_ga': (0x1000D9C, '\u0d9c'),
    'Sinh_gha': (0x1000D9D, '\u0d9d'),
    'Sinh_h2': (0x1000D83, '\u0d83'),
    'Sinh_ha': (0x1000DC4, '\u0dc4'),
    'Sinh_i': (0x1000D89, '\u0d89'),
    'Sinh_i2': (0x1000DD2, '\u0dd2'),
    'Sinh_ii': (0x1000D8A, '\u0d8a'),
    'Sinh_ii2': (0x1000DD3, '\u0dd3'),
    'Sinh_ja': (0x1000DA2, '\u0da2'),
    'Sinh_jha': (0x1000DA3, '\u0da3'),
    'Sinh_jnya': (0x1000DA5, '\u0da5'),
    'Sinh_ka': (0x1000D9A, '\u0d9a'),
    'Sinh_kha': (0x1000D9B, '\u0d9b'),
    'Sinh_kunddaliya': (0x1000DF4, '\u0df4'),
    'Sinh_la': (0x1000DBD, '\u0dbd'),
    'Sinh_lla': (0x1000DC5, '\u0dc5'),
    'Sinh_lu': (0x1000D8F, '\u0d8f'),
    'Sinh_lu2': (0x1000DDF, '\u0ddf'),
    'Sinh_luu': (0x1000D90, '\u0d90'),
    'Sinh_luu2': (0x1000DF3, '\u0df3'),
    'Sinh_ma': (0x1000DB8, '\u0db8'),
    'Sinh_mba': (0x1000DB9, '\u0db9'),
    'Sinh_na': (0x1000DB1, '\u0db1'),
    'Sinh_ndda': (0x1000DAC, '\u0dac'),
    'Sinh_ndha': (0x1000DB3, '\u0db3'),
    'Sinh_ng': (0x1000D82, '\u0d82'),
    'Sinh_ng2': (0x1000D9E, '\u0d9e'),
    'Sinh_nga': (0x1000D9F, '\u0d9f'),
    'Sinh_nja': (0x1000DA6, '\u0da6'),
    'Sinh_nna': (0x1000DAB, '\u0dab'),
    'Sinh_nya': (0x1000DA4, '\u0da4'),
    'Sinh_o': (0x1000D94, '\u0d94'),
    'Sinh_o2': (0x1000DDC, '\u0ddc'),
    'Sinh_oo': (0x1000D95, '\u0d95'),
    'Sinh_oo2': (0x1000DDD, '\u0ddd'),
    'Sinh_pa': (0x1000DB4, '\u0db4'),
    'Sinh_pha': (0x1000DB5, '\u0db5'),
    'Sinh_ra': (0x1000DBB, '\u0dbb'),
    'Sinh_ri': (0x1000D8D, '\u0d8d'),
    'Sinh_rii': (0x1000D8E, '\u0d8e'),
    'Sinh_ru2': (0x1000DD8, '\u0dd8'),
    'Sinh_ruu2': (0x1000DF2, '\u0df2'),
    'Sinh_sa': (0x1000DC3, '\u0dc3'),
    'Sinh_sha': (0x1000DC1, '\u0dc1'),
    'Sinh_ssha': (0x1000DC2, '\u0dc2'),
    'Sinh_tha': (0x1000DAD, '\u0dad'),
    'Sinh_thha': (0x1000DAE, '\u0dae'),
    'Sinh_tta': (0x1000DA7, '\u0da7'),
    'Sinh_ttha': (0x1000DA8, '\u0da8'),
    'Sinh_u': (0x1000D8B, '\u0d8b'),
    'Sinh_u2': (0x1000DD4, '\u0dd4'),
    'Sinh_uu': (0x1000D8C, '\u0d8c'),
    'Sinh_uu2': (0x1000DD6, '\u0dd6'),
    'Sinh_va': (0x1000DC0, '\u0dc0'),
    'Sinh_ya': (0x1000DBA, '\u0dba'),
    'T': (0x0054, '\u0054'),
    'THORN': (0x00DE, '\u00de'),
    'Tabovedot': (0x1001E6A, '\u1e6a'),
    'Tcaron': (0x01AB, '\u0164'),
    'Tcedilla': (0x01DE, '\u0162'),
    'Thai_baht': (0x0DDF, '\u0e3f'),
    'Thai_bobaimai': (0x0DBA, '\u0e1a'),
    'Thai_chochan': (0x0DA8, '\u0e08'),
    'Thai_chochang': (0x0DAA, '\u0e0a'),
    'Thai_choching': (0x0DA9, '\u0e09'),
    'Thai_chochoe': (0x0DAC, '\u0e0c'),
    'Thai_dochada': (0x0DAE, '\u0e0e'),
    'Thai_dodek': (0x0DB4, '\u0e14'),
    'Thai_fofa': (0x0DBD, '\u0e1d'),
    'Thai_fofan': (0x0DBF, '\u0e1f'),
    'Thai_hohip': (0x0DCB, '\u0e2b'),
    'Thai_honokhuk': (0x0DCE, '\u0e2e'),
    'Thai_khokhai': (0x0DA2, '\u0e02'),
    'Thai_khokhon': (0x0DA5, '\u0e05'),
    'Thai_khokhuat': (0x0DA3, '\u0e03'),
    'Thai_khokhwai': (0x0DA4, '\u0e04'),
    'Thai_khorakhang': (0x0DA6, '\u0e06'),
    'Thai_kokai': (0x0DA1, '\u0e01'),
    'Thai_lakkhangyao': (0x0DE5, '\u0e45'),
    'Thai_lekchet': (0x0DF7, '\u0e57'),
    'Thai_lekha': (0x0DF5, '\u0e55'),
    'Thai_lekhok': (0x0DF6, '\u0e56'),
    'Thai_lekkao': (0x0DF9, '\u0e59'),
    'Thai_leknung': (0x0DF1, '\u0e51'),
    'Thai_lekpaet': (0x0DF8, '\u0e58'),
    'Thai_leksam': (0x0DF3, '\u0e53'),
    'Thai_leksi': (0x0DF4, '\u0e54'),
    'Thai_leksong': (0x0DF2, '\u0e52'),
    'Thai_leksun': (0x0DF0, '\u0e50'),
    'Thai_lochula': (0x0DCC, '\u0e2c'),
    'Thai_loling': (0x0DC5, '\u0e25'),
    'Thai_lu': (0x0DC6, '\u0e26'),
    'Thai_maichattawa': (0x0DEB, '\u0e4b'),
    'Thai_maiek': (0x0DE8, '\u0e48'),
    'Thai_maihanakat': (0x0DD1, '\u0e31'),
    'Thai_maitaikhu': (0x0DE7, '\u0e47'),
    'Thai_maitho': (0x0DE9, '\u0e49'),
    'Thai_maitri': (0x0DEA, '\u0e4a'),
    'Thai_maiyamok': (0x0DE6, '\u0e46'),
    'Thai_moma': (0x0DC1, '\u0e21'),
    'Thai_ngongu': (0x0DA7, '\u0e07'),
    'Thai_nikhahit': (0x0DED, '\u0e4d'),
    'Thai_nonen': (0x0DB3, '\u0e13'),
    'Thai_nonu': (0x0DB9, '\u0e19'),
    'Thai_oang': (0x0DCD, '\u0e2d'),
    'Thai_paiyannoi': (0x0DCF, '\u0e2f'),
    'Thai_phinthu': (0x0DDA, '\u0e3a'),
    'Thai_phophan': (0x0DBE, '\u0e1e'),
    'Thai_phophung': (0x0DBC, '\u0e1c'),
    'Thai_phosamphao': (0x0DC0, '\u0e20'),
    'Thai_popla': (0x0DBB, '\u0e1b'),
    'Thai_rorua': (0x0DC3, '\u0e23'),
    'Thai_ru': (0x0DC4, '\u0e24'),
    'Thai_saraa': (0x0DD0, '\u0e30'),
    'Thai_saraaa': (0x0DD2, '\u0e32'),
    'Thai_saraae': (0x0DE1, '\u0e41'),
    'Thai_saraaimaimalai': (0x0DE4, '\u0e44'),
    'Thai_saraaimaimuan': (0x0DE3, '\u0e43'),
    'Thai_saraam': (0x0DD3, '\u0e33'),
    'Thai_sarae': (0x0DE0, '\u0e40'),
    'Thai_sarai': (0x0DD4, '\u0e34'),
    'Thai_saraii': (0x0DD5, '\u0e35'),
    'Thai_sarao': (0x0DE2, '\u0e42'),
    'Thai_sarau': (0x0DD8, '\u0e38'),
    'Thai_saraue': (0x0DD6, '\u0e36'),
    'Thai_sarauee': (0x0DD7, '\u0e37'),
    'Thai_sarauu': (0x0DD9, '\u0e39'),
    'Thai_sorusi': (0x0DC9, '\u0e29'),
    'Thai_sosala': (0x0DC8, '\u0e28'),
    'Thai_soso': (0x0DAB, '\u0e0b'),
    'Thai_sosua': (0x0DCA, '\u0e2a'),
    'Thai_thanthakhat': (0x0DEC, '\u0e4c'),
    'Thai_thonangmontho': (0x0DB1, '\u0e11'),
    'Thai_thophuthao': (0x0DB2, '\u0e12'),
    'Thai_thothahan': (0x0DB7, '\u0e17'),
    'Thai_thothan': (0x0DB0, '\u0e10'),
    'Thai_thothong': (0x0DB8, '\u0e18'),
    'Thai_thothung': (0x0DB6, '\u0e16'),
    'Thai_topatak': (0x0DAF, '\u0e0f'),
    'Thai_totao': (0x0DB5, '\u0e15'),
    'Thai_wowaen': (0x0DC7, '\u0e27'),
    'Thai_yoyak': (0x0DC2, '\u0e22'),
    'Thai_yoying': (0x0DAD, '\u0e0d'),
    'Tslash': (0x03AC, '\u0166'),
    'U': (0x0055, '\u0055'),
    'Uacute': (0x00DA, '\u00da'),
    'Ubelowdot': (0x1001EE4, '\u1ee4'),
    'Ubreve': (0x02DD, '\u016c'),
    'Ucircumflex': (0x00DB, '\u00db'),
    'Udiaeresis': (0x00DC, '\u00dc'),
    'Udoubleacute': (0x01DB, '\u0170'),
    'Ugrave': (0x00D9, '\u00d9'),
    'Uhook': (0x1001EE6, '\u1ee6'),
    'Uhorn': (0x10001AF, '\u01af'),
    'Uhornacute': (0x1001EE8, '\u1ee8'),
    'Uhornbelowdot': (0x1001EF0, '\u1ef0'),
    'Uhorngrave': (0x1001EEA, '\u1eea'),
    'Uhornhook': (0x1001EEC, '\u1eec'),
    'Uhorntilde': (0x1001EEE, '\u1eee'),
    'Ukrainian_GHE_WITH_UPTURN': (0x06BD, '\u0490'),
    'Ukrainian_I': (0x06B6, '\u0406'),
    'Ukrainian_IE': (0x06B4, '\u0404'),
    'Ukrainian_YI': (0x06B7, '\u0407'),
    'Ukrainian_ghe_with_upturn': (0x06AD, '\u0491'),
    'Ukrainian_i': (0x06A6, '\u0456'),
    'Ukrainian_ie': (0x06A4, '\u0454'),
    'Ukrainian_yi': (0x06A7, '\u0457'),
    'Umacron': (0x03DE, '\u016a'),
    'Uogonek': (0x03D9, '\u0172'),
    'Uring': (0x01D9, '\u016e'),
    'Utilde': (0x03DD, '\u0168'),
    'V': (0x0056, '\u0056'),
    'W': (0x0057, '\u0057'),
    'Wacute': (0x1001E82, '\u1e82'),
    'Wcircumflex': (0x1000174, '\u0174'),
    'Wdiaeresis': (0x1001E84, '\u1e84'),
    'Wgrave': (0x1001E80, '\u1e80'),
    'WonSign': (0x10020A9, '\u20a9'),
    'X': (0x0058, '\u0058'),
    'Xabovedot': (0x1001E8A, '\u1e8a'),
    'Y': (0x0059, '\u0059'),
    'Yacute': (0x00DD, '\u00dd'),
    'Ybelowdot': (0x1001EF4, '\u1ef4'),
    'Ycircumflex': (0x1000176, '\u0176'),
    'Ydiaeresis': (0x13BE, '\u0178'),
    'Ygrave': (0x1001EF2, '\u1ef2'),
    'Yhook': (0x1001EF6, '\u1ef6'),
    'Ytilde': (0x1001EF8, '\u1ef8'),
    'Z': (0x005A, '\u005a'),
    'Zabovedot': (0x01AF, '\u017b'),
    'Zacute': (0x01AC, '\u0179'),
    'Zcaron': (0x01AE, '\u017d'),
    'Zstroke': (0x10001B5, '\u01b5'),
    'a': (0x0061, '\u0061'),
    'aacute': (0x00E1, '\u00e1'),
    'abelowdot': (0x1001EA1, '\u1ea1'),
    'abovedot': (0x01FF, '\u02d9'),
    'abreve': (0x01E3, '\u0103'),
    'abreveacute': (0x1001EAF, '\u1eaf'),
    'abrevebelowdot': (0x1001EB7, '\u1eb7'),
    'abrevegrave': (0x1001EB1, '\u1eb1'),
    'abrevehook': (0x1001EB3, '\u1eb3'),
    'abrevetilde': (0x1001EB5, '\u1eb5'),
    'acircumflex': (0x00E2, '\u00e2'),
    'acircumflexacute': (0x1001EA5, '\u1ea5'),
    'acircumflexbelowdot': (0x1001EAD, '\u1ead'),
    'acircumflexgrave': (0x1001EA7, '\u1ea7'),
    'acircumflexhook': (0x1001EA9, '\u1ea9'),
    'acircumflextilde': (0x1001EAB, '\u1eab'),
    'acute': (0x00B4, '\u00b4'),
    'adiaeresis': (0x00E4, '\u00e4'),
    'ae': (0x00E6, '\u00e6'),
    'agrave': (0x00E0, '\u00e0'),
    'ahook': (0x1001EA3, '\u1ea3'),
    'amacron': (0x03E0, '\u0101'),
    'ampersand': (0x0026, '\u0026'),
    'aogonek': (0x01B1, '\u0105'),
    'apostrophe': (0x0027, '\u0027'),
    'approxeq': (0x1002248, '\u2245'),
    'approximate': (0x08C8, '\u223c'),
    'aring': (0x00E5, '\u00e5'),
    'asciicircum': (0x005E, '\u005e'),
    'asciitilde': (0x007E, '\u007e'),
    'asterisk': (0x002A, '\u002a'),
    'at': (0x0040, '\u0040'),
    'atilde': (0x00E3, '\u00e3'),
    'b': (0x0062, '\u0062'),
    'babovedot': (0x1001E03, '\u1e03'),
    'backslash': (0x005C, '\u005c'),
    'ballotcross': (0x0AF4, '\u2717'),
    'bar': (0x007C, '\u007c'),
    'because': (0x1002235, '\u2235'),
    'botintegral': (0x08A5, '\u2321'),
    'botleftparens': (0x08AC, '\u239d'),
    'botleftsqbracket': (0x08A8, '\u23a3'),
    'botrightparens': (0x08AE, '\u23a0'),
    'botrightsqbracket': (0x08AA, '\u23a6'),
    'bott': (0x09F6, '\u2534'),
    'braceleft': (0x007B, '\u007b'),
    'braceright': (0x007D, '\u007d'),
    'bracketleft': (0x005B, '\u005b'),
    'bracketright': (0x005D, '\u005d'),
    'braille_blank': (0x1002800, '\u2800'),
    'braille_dots_1': (0x1002801, '\u2801'),
    'braille_dots_12': (0x1002803, '\u2803'),
    'braille_dots_123': (0x1002807, '\u2807'),
    'braille_dots_1234': (0x100280F, '\u280f'),
    'braille_dots_12345': (0x100281F, '\u281f'),
    'braille_dots_123456': (0x100283F, '\u283f'),
    'braille_dots_1234567': (0x100287F, '\u287f'),
    'braille_dots_12345678': (0x10028FF, '\u28ff'),
    'braille_dots_1234568': (0x10028BF, '\u28bf'),
    'braille_dots_123457': (0x100285F, '\u285f'),
    'braille_dots_1234578': (0x10028DF, '\u28df'),
    'braille_dots_123458': (0x100289F, '\u289f'),
    'braille_dots_12346': (0x100282F, '\u282f'),
    'braille_dots_123467': (0x100286F, '\u286f'),
    'braille_dots_1234678': (0x10028EF, '\u28ef'),
    'braille_dots_123468': (0x10028AF, '\u28af'),
    'braille_dots_12347': (0x100284F, '\u284f'),
    'braille_dots_123478': (0x10028CF, '\u28cf'),
    'braille_dots_12348': (0x100288F, '\u288f'),
    'braille_dots_1235': (0x1002817, '\u2817'),
    'braille_dots_12356': (0x1002837, '\u2837'),
    'braille_dots_123567': (0x1002877, '\u2877'),
    'braille_dots_1235678': (0x10028F7, '\u28f7'),
    'braille_dots_123568': (0x10028B7, '\u28b7'),
    'braille_dots_12357': (0x1002857, '\u2857'),
    'braille_dots_123578': (0x10028D7, '\u28d7'),
    'braille_dots_12358': (0x1002897, '\u2897'),
    'braille_dots_1236': (0x1002827, '\u2827'),
    'braille_dots_12367': (0x1002867, '\u2867'),
    'braille_dots_123678': (0x10028E7, '\u28e7'),
    'braille_dots_12368': (0x10028A7, '\u28a7'),
    'braille_dots_1237': (0x1002847, '\u2847'),
    'braille_dots_12378': (0x10028C7, '\u28c7'),
    'braille_dots_1238': (0x1002887, '\u2887'),
    'braille_dots_124': (0x100280B, '\u280b'),
    'braille_dots_1245': (0x100281B, '\u281b'),
    'braille_dots_12456': (0x100283B, '\u283b'),
    'braille_dots_124567': (0x100287B, '\u287b'),
    'braille_dots_1245678': (0x10028FB, '\u28fb'),
    'braille_dots_124568': (0x10028BB, '\u28bb'),
    'braille_dots_12457': (0x100285B, '\u285b'),
    'braille_dots_124578': (0x10028DB, '\u28db'),
    'braille_dots_12458': (0x100289B, '\u289b'),
    'braille_dots_1246': (0x100282B, '\u282b'),
    'braille_dots_12467': (0x100286B, '\u286b'),
    'braille_dots_124678': (0x10028EB, '\u28eb'),
    'braille_dots_12468': (0x10028AB, '\u28ab'),
    'braille_dots_1247': (0x100284B, '\u284b'),
    'braille_dots_12478': (0x10028CB, '\u28cb'),
    'braille_dots_1248': (0x100288B, '\u288b'),
    'braille_dots_125': (0x1002813, '\u2813'),
    'braille_dots_1256': (0x1002833, '\u2833'),
    'braille_dots_12567': (0x1002873, '\u2873'),
    'braille_dots_125678': (0x10028F3, '\u28f3'),
    'braille_dots_12568': (0x10028B3, '\u28b3'),
    'braille_dots_1257': (0x1002853, '\u2853'),
    'braille_dots_12578': (0x10028D3, '\u28d3'),
    'braille_dots_1258': (0x1002893, '\u2893'),
    'braille_dots_126': (0x1002823, '\u2823'),
    'braille_dots_1267': (0x1002863, '\u2863'),
    'braille_dots_12678': (0x10028E3, '\u28e3'),
    'braille_dots_1268': (0x10028A3, '\u28a3'),
    'braille_dots_127': (0x1002843, '\u2843'),
    'braille_dots_1278': (0x10028C3, '\u28c3'),
    'braille_dots_128': (0x1002883, '\u2883'),
    'braille_dots_13': (0x1002805, '\u2805'),
    'braille_dots_134': (0x100280D, '\u280d'),
    'braille_dots_1345': (0x100281D, '\u281d'),
    'braille_dots_13456': (0x100283D, '\u283d'),
    'braille_dots_134567': (0x100287D, '\u287d'),
    'braille_dots_1345678': (0x10028FD, '\u28fd'),
    'braille_dots_134568': (0x10028BD, '\u28bd'),
    'braille_dots_13457': (0x100285D, '\u285d'),
    'braille_dots_134578': (0x10028DD, '\u28dd'),
    'braille_dots_13458': (0x100289D, '\u289d'),
    'braille_dots_1346': (0x100282D, '\u282d'),
    'braille_dots_13467': (0x100286D, '\u286d'),
    'braille_dots_134678': (0x10028ED, '\u28ed'),
    'braille_dots_13468': (0x10028AD, '\u28ad'),
    'braille_dots_1347': (0x100284D, '\u284d'),
    'braille_dots_13478': (0x10028CD, '\u28cd'),
    'braille_dots_1348': (0x100288D, '\u288d'),
    'braille_dots_135': (0x1002815, '\u2815'),
    'braille_dots_1356': (0x1002835, '\u2835'),
    'braille_dots_13567': (0x1002875, '\u2875'),
    'braille_dots_135678': (0x10028F5, '\u28f5'),
    'braille_dots_13568': (0x10028B5, '\u28b5'),
    'braille_dots_1357': (0x1002855, '\u2855'),
    'braille_dots_13578': (0x10028D5, '\u28d5'),
    'braille_dots_1358': (0x1002895, '\u2895'),
    'braille_dots_136': (0x1002825, '\u2825'),
    'braille_dots_1367': (0x1002865, '\u2865'),
    'braille_dots_13678': (0x10028E5, '\u28e5'),
    'braille_dots_1368': (0x10028A5, '\u28a5'),
    'braille_dots_137': (0x1002845, '\u2845'),
    'braille_dots_1378': (0x10028C5, '\u28c5'),
    'braille_dots_138': (0x1002885, '\u2885'),
    'braille_dots_14': (0x1002809, '\u2809'),
    'braille_dots_145': (0x1002819, '\u2819'),
    'braille_dots_1456': (0x1002839, '\u2839'),
    'braille_dots_14567': (0x1002879, '\u2879'),
    'braille_dots_145678': (0x10028F9, '\u28f9'),
    'braille_dots_14568': (0x10028B9, '\u28b9'),
    'braille_dots_1457': (0x1002859, '\u2859'),
    'braille_dots_14578': (0x10028D9, '\u28d9'),
    'braille_dots_1458': (0x1002899, '\u2899'),
    'braille_dots_146': (0x1002829, '\u2829'),
    'braille_dots_1467': (0x1002869, '\u2869'),
    'braille_dots_14678': (0x10028E9, '\u28e9'),
    'braille_dots_1468': (0x10028A9, '\u28a9'),
    'braille_dots_147': (0x1002849, '\u2849'),
    'braille_dots_1478': (0x10028C9, '\u28c9'),
    'braille_dots_148': (0x1002889, '\u2889'),
    'braille_dots_15': (0x1002811, '\u2811'),
    'braille_dots_156': (0x1002831, '\u2831'),
    'braille_dots_1567': (0x1002871, '\u2871'),
    'braille_dots_15678': (0x10028F1, '\u28f1'),
    'braille_dots_1568': (0x10028B1, '\u28b1'),
    'braille_dots_157': (0x1002851, '\u2851'),
    'braille_dots_1578': (0x10028D1, '\u28d1'),
    'braille_dots_158': (0x1002891, '\u2891'),
    'braille_dots_16': (0x1002821, '\u2821'),
    'braille_dots_167': (0x1002861, '\u2861'),
    'braille_dots_1678': (0x10028E1, '\u28e1'),
    'braille_dots_168': (0x10028A1, '\u28a1'),
    'braille_dots_17': (0x1002841, '\u2841'),
    'braille_dots_178': (0x10028C1, '\u28c1'),
    'braille_dots_18': (0x1002881, '\u2881'),
    'braille_dots_2': (0x1002802, '\u2802'),
    'braille_dots_23': (0x1002806, '\u2806'),
    'braille_dots_234': (0x100280E, '\u280e'),
    'braille_dots_2345': (0x100281E, '\u281e'),
    'braille_dots_23456': (0x100283E, '\u283e'),
    'braille_dots_234567': (0x100287E, '\u287e'),
    'braille_dots_2345678': (0x10028FE, '\u28fe'),
    'braille_dots_234568': (0x10028BE, '\u28be'),
    'braille_dots_23457': (0x100285E, '\u285e'),
    'braille_dots_234578': (0x10028DE, '\u28de'),
    'braille_dots_23458': (0x100289E, '\u289e'),
    'braille_dots_2346': (0x100282E, '\u282e'),
    'braille_dots_23467': (0x100286E, '\u286e'),
    'braille_dots_234678': (0x10028EE, '\u28ee'),
    'braille_dots_23468': (0x10028AE, '\u28ae'),
    'braille_dots_2347': (0x100284E, '\u284e'),
    'braille_dots_23478': (0x10028CE, '\u28ce'),
    'braille_dots_2348': (0x100288E, '\u288e'),
    'braille_dots_235': (0x1002816, '\u2816'),
    'braille_dots_2356': (0x1002836, '\u2836'),
    'braille_dots_23567': (0x1002876, '\u2876'),
    'braille_dots_235678': (0x10028F6, '\u28f6'),
    'braille_dots_23568': (0x10028B6, '\u28b6'),
    'braille_dots_2357': (0x1002856, '\u2856'),
    'braille_dots_23578': (0x10028D6, '\u28d6'),
    'braille_dots_2358': (0x1002896, '\u2896'),
    'braille_dots_236': (0x1002826, '\u2826'),
    'braille_dots_2367': (0x1002866, '\u2866'),
    'braille_dots_23678': (0x10028E6, '\u28e6'),
    'braille_dots_2368': (0x10028A6, '\u28a6'),
    'braille_dots_237': (0x1002846, '\u2846'),
    'braille_dots_2378': (0x10028C6, '\u28c6'),
    'braille_dots_238': (0x1002886, '\u2886'),
    'braille_dots_24': (0x100280A, '\u280a'),
    'braille_dots_245': (0x100281A, '\u281a'),
    'braille_dots_2456': (0x100283A, '\u283a'),
    'braille_dots_24567': (0x100287A, '\u287a'),
    'braille_dots_245678': (0x10028FA, '\u28fa'),
    'braille_dots_24568': (0x10028BA, '\u28ba'),
    'braille_dots_2457': (0x100285A, '\u285a'),
    'braille_dots_24578': (0x10028DA, '\u28da'),
    'braille_dots_2458': (0x100289A, '\u289a'),
    'braille_dots_246': (0x100282A, '\u282a'),
    'braille_dots_2467': (0x100286A, '\u286a'),
    'braille_dots_24678': (0x10028EA, '\u28ea'),
    'braille_dots_2468': (0x10028AA, '\u28aa'),
    'braille_dots_247': (0x100284A, '\u284a'),
    'braille_dots_2478': (0x10028CA, '\u28ca'),
    'braille_dots_248': (0x100288A, '\u288a'),
    'braille_dots_25': (0x1002812, '\u2812'),
    'braille_dots_256': (0x1002832, '\u2832'),
    'braille_dots_2567': (0x1002872, '\u2872'),
    'braille_dots_25678': (0x10028F2, '\u28f2'),
    'braille_dots_2568': (0x10028B2, '\u28b2'),
    'braille_dots_257': (0x1002852, '\u2852'),
    'braille_dots_2578': (0x10028D2, '\u28d2'),
    'braille_dots_258': (0x1002892, '\u2892'),
    'braille_dots_26': (0x1002822, '\u2822'),
    'braille_dots_267': (0x1002862, '\u2862'),
    'braille_dots_2678': (0x10028E2, '\u28e2'),
    'braille_dots_268': (0x10028A2, '\u28a2'),
    'braille_dots_27': (0x1002842, '\u2842'),
    'braille_dots_278': (0x10028C2, '\u28c2'),
    'braille_dots_28': (0x1002882, '\u2882'),
    'braille_dots_3': (0x1002804, '\u2804'),
    'braille_dots_34': (0x100280C, '\u280c'),
    'braille_dots_345': (0x100281C, '\u281c'),
    'braille_dots_3456': (0x100283C, '\u283c'),
    'braille_dots_34567': (0x100287C, '\u287c'),
    'braille_dots_345678': (0x10028FC, '\u28fc'),
    'braille_dots_34568': (0x10028BC, '\u28bc'),
    'braille_dots_3457': (0x100285C, '\u285c'),
    'braille_dots_34578': (0x10028DC, '\u28dc'),
    'braille_dots_3458': (0x100289C, '\u289c'),
    'braille_dots_346': (0x100282C, '\u282c'),
    'braille_dots_3467': (0x100286C, '\u286c'),
    'braille_dots_34678': (0x10028EC, '\u28ec'),
    'braille_dots_3468': (0x10028AC, '\u28ac'),
    'braille_dots_347': (0x100284C, '\u284c'),
    'braille_dots_3478': (0x10028CC, '\u28cc'),
    'braille_dots_348': (0x100288C, '\u288c'),
    'braille_dots_35': (0x1002814, '\u2814'),
    'braille_dots_356': (0x1002834, '\u2834'),
    'braille_dots_3567': (0x1002874, '\u2874'),
    'braille_dots_35678': (0x10028F4, '\u28f4'),
    'braille_dots_3568': (0x10028B4, '\u28b4'),
    'braille_dots_357': (0x1002854, '\u2854'),
    'braille_dots_3578': (0x10028D4, '\u28d4'),
    'braille_dots_358': (0x1002894, '\u2894'),
    'braille_dots_36': (0x1002824, '\u2824'),
    'braille_dots_367': (0x1002864, '\u2864'),
    'braille_dots_3678': (0x10028E4, '\u28e4'),
    'braille_dots_368': (0x10028A4, '\u28a4'),
    'braille_dots_37': (0x1002844, '\u2844'),
    'braille_dots_378': (0x10028C4, '\u28c4'),
    'braille_dots_38': (0x1002884, '\u2884'),
    'braille_dots_4': (0x1002808, '\u2808'),
    'braille_dots_45': (0x1002818, '\u2818'),
    'braille_dots_456': (0x1002838, '\u2838'),
    'braille_dots_4567': (0x1002878, '\u2878'),
    'braille_dots_45678': (0x10028F8, '\u28f8'),
    'braille_dots_4568': (0x10028B8, '\u28b8'),
    'braille_dots_457': (0x1002858, '\u2858'),
    'braille_dots_4578': (0x10028D8, '\u28d8'),
    'braille_dots_458': (0x1002898, '\u2898'),
    'braille_dots_46': (0x1002828, '\u2828'),
    'braille_dots_467': (0x1002868, '\u2868'),
    'braille_dots_4678': (0x10028E8, '\u28e8'),
    'braille_dots_468': (0x10028A8, '\u28a8'),
    'braille_dots_47': (0x1002848, '\u2848'),
    'braille_dots_478': (0x10028C8, '\u28c8'),
    'braille_dots_48': (0x1002888, '\u2888'),
    'braille_dots_5': (0x1002810, '\u2810'),
    'braille_dots_56': (0x1002830, '\u2830'),
    'braille_dots_567': (0x1002870, '\u2870'),
    'braille_dots_5678': (0x10028F0, '\u28f0'),
    'braille_dots_568': (0x10028B0, '\u28b0'),
    'braille_dots_57': (0x1002850, '\u2850'),
    'braille_dots_578': (0x10028D0, '\u28d0'),
    'braille_dots_58': (0x1002890, '\u2890'),
    'braille_dots_6': (0x1002820, '\u2820'),
    'braille_dots_67': (0x1002860, '\u2860'),
    'braille_dots_678': (0x10028E0, '\u28e0'),
    'braille_dots_68': (0x10028A0, '\u28a0'),
    'braille_dots_7': (0x1002840, '\u2840'),
    'braille_dots_78': (0x10028C0, '\u28c0'),
    'braille_dots_8': (0x1002880, '\u2880'),
    'breve': (0x01A2, '\u02d8'),
    'brokenbar': (0x00A6, '\u00a6'),
    'c': (0x0063, '\u0063'),
    'cabovedot': (0x02E5, '\u010b'),
    'cacute': (0x01E6, '\u0107'),
    'careof': (0x0AB8, '\u2105'),
    'caret': (0x0AFC, '\u2038'),
    'caron': (0x01B7, '\u02c7'),
    'ccaron': (0x01E8, '\u010d'),
    'ccedilla': (0x00E7, '\u00e7'),
    'ccircumflex': (0x02E6, '\u0109'),
    'cedilla': (0x00B8, '\u00b8'),
    'cent': (0x00A2, '\u00a2'),
    'checkerboard': (0x09E1, '\u2592'),
    'checkmark': (0x0AF3, '\u2713'),
    'circle': (0x0BCF, '\u25cb'),
    'club': (0x0AEC, '\u2663'),
    'colon': (0x003A, '\u003a'),
    'comma': (0x002C, '\u002c'),
    'containsas': (0x100220B, '\u220b'),
    'copyright': (0x00A9, '\u00a9'),
    'cr': (0x09E4, '\u240d'),
    'crossinglines': (0x09EE, '\u253c'),
    'cuberoot': (0x100221B, '\u221b'),
    'currency': (0x00A4, '\u00a4'),
    'd': (0x0064, '\u0064'),
    'dabovedot': (0x1001E0B, '\u1e0b'),
    'dagger': (0x0AF1, '\u2020'),
    'dcaron': (0x01EF, '\u010f'),
    'dead_A': (0xFE81, None),
    'dead_E': (0xFE83, None),
    'dead_I': (0xFE85, None),
    'dead_O': (0xFE87, None),
    'dead_U': (0xFE89, None),
    'dead_a': (0xFE80, None),
    'dead_abovecomma': (0xFE64, '\u0315'),
    'dead_abovedot': (0xFE56, '\u0307'),
    'dead_abovereversedcomma': (0xFE65, '\u0312'),
    'dead_abovering': (0xFE58, '\u030a'),
    'dead_aboveverticalline': (0xFE91, '\u030d'),
    'dead_acute': (0xFE51, '\u0301'),
    'dead_belowbreve': (0xFE6B, '\u032e'),
    'dead_belowcircumflex': (0xFE69, '\u032d'),
    'dead_belowcomma': (0xFE6E, '\u0326'),
    'dead_belowdiaeresis': (0xFE6C, '\u0324'),
    'dead_belowdot': (0xFE60, '\u0323'),
    'dead_belowmacron': (0xFE68, '\u0331'),
    'dead_belowring': (0xFE67, '\u0325'),
    'dead_belowtilde': (0xFE6A, '\u0330'),
    'dead_belowverticalline': (0xFE92, '\u0329'),
    'dead_breve': (0xFE55, '\u0306'),
    'dead_capital_schwa': (0xFE8B, None),
    'dead_caron': (0xFE5A, '\u030c'),
    'dead_cedilla': (0xFE5B, '\u0327'),
    'dead_circumflex': (0xFE52, '\u0302'),
    'dead_currency': (0xFE6F, None),
    'dead_diaeresis': (0xFE57, '\u0308'),
    'dead_doubleacute': (0xFE59, '\u030b'),
    'dead_doublegrave': (0xFE66, '\u030f'),
    'dead_e': (0xFE82, None),
    'dead_grave': (0xFE50, '\u0300'),
    'dead_greek': (0xFE8C, None),
    'dead_hook': (0xFE61, '\u0309'),
    'dead_horn': (0xFE62, '\u031b'),
    'dead_i': (0xFE84, None),
    'dead_invertedbreve': (0xFE6D, '\u032f'),
    'dead_iota': (0xFE5D, '\u0345'),
    'dead_longsolidusoverlay': (0xFE93, '\u0338'),
    'dead_lowline': (0xFE90, '\u0332'),
    'dead_macron': (0xFE54, '\u0304'),
    'dead_o': (0xFE86, None),
    'dead_ogonek': (0xFE5C, '\u0328'),
    'dead_semivoiced_sound': (0xFE5F, None),
    'dead_small_schwa': (0xFE8A, None),
    'dead_stroke': (0xFE63, '\u0335'),
    'dead_tilde': (0xFE53, '\u0303'),
    'dead_u': (0xFE88, None),
    'dead_voiced_sound': (0xFE5E, None),
    'degree': (0x00B0, '\u00b0'),
    'diaeresis': (0x00A8, '\u00a8'),
    'diamond': (0x0AED, '\u2666'),
    'digitspace': (0x0AA5, '\u2007'),
    'dintegral': (0x100222C, '\u222c'),
    'division': (0x00F7, '\u00f7'),
    'dollar': (0x0024, '\u0024'),
    'doubbaselinedot': (0x0AAF, '\u2025'),
    'doubleacute': (0x01BD, '\u02dd'),
    'doubledagger': (0x0AF2, '\u2021'),
    'doublelowquotemark': (0x0AFE, '\u201e'),
    'downarrow': (0x08FE, '\u2193'),
    'downstile': (0x0BC4, '\u230a'),
    'downtack': (0x0BC2, '\u22a4'),
    'dstroke': (0x01F0, '\u0111'),
    'e': (0x0065, '\u0065'),
    'eabovedot': (0x03EC, '\u0117'),
    'eacute': (0x00E9, '\u00e9'),
    'ebelowdot': (0x1001EB9, '\u1eb9'),
    'ecaron': (0x01EC, '\u011b'),
    'ecircumflex': (0x00EA, '\u00ea'),
    'ecircumflexacute': (0x1001EBF, '\u1ebf'),
    'ecircumflexbelowdot': (0x1001EC7, '\u1ec7'),
    'ecircumflexgrave': (0x1001EC1, '\u1ec1'),
    'ecircumflexhook': (0x1001EC3, '\u1ec3'),
    'ecircumflextilde': (0x1001EC5, '\u1ec5'),
    'ediaeresis': (0x00EB, '\u00eb'),
    'egrave': (0x00E8, '\u00e8'),
    'ehook': (0x1001EBB, '\u1ebb'),
    'eightsubscript': (0x1002088, '\u2088'),
    'eightsuperior': (0x1002078, '\u2078'),
    'elementof': (0x1002208, '\u2208'),
    'ellipsis': (0x0AAE, '\u2026'),
    'em3space': (0x0AA3, '\u2004'),
    'em4space': (0x0AA4, '\u2005'),
    'emacron': (0x03BA, '\u0113'),
    'emdash': (0x0AA9, '\u2014'),
    'emptyset': (0x1002205, '\u2205'),
    'emspace': (0x0AA1, '\u2003'),
    'endash': (0x0AAA, '\u2013'),
    'eng': (0x03BF, '\u014b'),
    'enspace': (0x0AA2, '\u2002'),
    'eogonek': (0x01EA, '\u0119'),
    'equal': (0x003D, '\u003d'),
    'eth': (0x00F0, '\u00f0'),
    'etilde': (0x1001EBD, '\u1ebd'),
    'exclam': (0x0021, '\u0021'),
    'exclamdown': (0x00A1, '\u00a1'),
    'ezh': (0x1000292, '\u0292'),
    'f': (0x0066, '\u0066'),
    'fabovedot': (0x1001E1F, '\u1e1f'),
    'femalesymbol': (0x0AF8, '\u2640'),
    'ff': (0x09E3, '\u240c'),
    'figdash': (0x0ABB, '\u2012'),
    'fiveeighths': (0x0AC5, '\u215d'),
    'fivesixths': (0x0AB7, '\u215a'),
    'fivesubscript': (0x1002085, '\u2085'),
    'fivesuperior': (0x1002075, '\u2075'),
    'fourfifths': (0x0AB5, '\u2158'),
    'foursubscript': (0x1002084, '\u2084'),
    'foursuperior': (0x1002074, '\u2074'),
    'fourthroot': (0x100221C, '\u221c'),
    'function': (0x08F6, '\u0192'),
    'g': (0x0067, '\u0067'),
    'gabovedot': (0x02F5, '\u0121'),
    'gbreve': (0x02BB, '\u011f'),
    'gcaron': (0x10001E7, '\u01e7'),
    'gcedilla': (0x03BB, '\u0123'),
    'gcircumflex': (0x02F8, '\u011d'),
    'grave': (0x0060, '\u0060'),
    'greater': (0x003E, '\u003e'),
    'greaterthanequal': (0x08BE, '\u2265'),
    'guillemotleft': (0x00AB, '\u00ab'),
    'guillemotright': (0x00BB, '\u00bb'),
    'h': (0x0068, '\u0068'),
    'hairspace': (0x0AA8, '\u200a'),
    'hcircumflex': (0x02B6, '\u0125'),
    'heart': (0x0AEE, '\u2665'),
    'hebrew_aleph': (0x0CE0, '\u05d0'),
    'hebrew_ayin': (0x0CF2, '\u05e2'),
    'hebrew_bet': (0x0CE1, '\u05d1'),
    'hebrew_chet': (0x0CE7, '\u05d7'),
    'hebrew_dalet': (0x0CE3, '\u05d3'),
    'hebrew_doublelowline': (0x0CDF, '\u2017'),
    'hebrew_finalkaph': (0x0CEA, '\u05da'),
    'hebrew_finalmem': (0x0CED, '\u05dd'),
    'hebrew_finalnun': (0x0CEF, '\u05df'),
    'hebrew_finalpe': (0x0CF3, '\u05e3'),
    'hebrew_finalzade': (0x0CF5, '\u05e5'),
    'hebrew_gimel': (0x0CE2, '\u05d2'),
    'hebrew_he': (0x0CE4, '\u05d4'),
    'hebrew_kaph': (0x0CEB, '\u05db'),
    'hebrew_lamed': (0x0CEC, '\u05dc'),
    'hebrew_mem': (0x0CEE, '\u05de'),
    'hebrew_nun': (0x0CF0, '\u05e0'),
    'hebrew_pe': (0x0CF4, '\u05e4'),
    'hebrew_qoph': (0x0CF7, '\u05e7'),
    'hebrew_resh': (0x0CF8, '\u05e8'),
    'hebrew_samech': (0x0CF1, '\u05e1'),
    'hebrew_shin': (0x0CF9, '\u05e9'),
    'hebrew_taw': (0x0CFA, '\u05ea'),
    'hebrew_tet': (0x0CE8, '\u05d8'),
    'hebrew_waw': (0x0CE5, '\u05d5'),
    'hebrew_yod': (0x0CE9, '\u05d9'),
    'hebrew_zade': (0x0CF6, '\u05e6'),
    'hebrew_zain': (0x0CE6, '\u05d6'),
    'horizlinescan1': (0x09EF, '\u23ba'),
    'horizlinescan3': (0x09F0, '\u23bb'),
    'horizlinescan5': (0x09F1, '\u2500'),
    'horizlinescan7': (0x09F2, '\u23bc'),
    'horizlinescan9': (0x09F3, '\u23bd'),
    'hstroke': (0x02B1, '\u0127'),
    'ht': (0x09E2, '\u2409'),
    'hyphen': (0x00AD, '\u00ad'),
    'i': (0x0069, '\u0069'),
    'iacute': (0x00ED, '\u00ed'),
    'ibelowdot': (0x1001ECB, '\u1ecb'),
    'ibreve': (0x100012D, '\u012d'),
    'icircumflex': (0x00EE, '\u00ee'),
    'identical': (0x08CF, '\u2261'),
    'idiaeresis': (0x00EF, '\u00ef'),
    'idotless': (0x02B9, '\u0131'),
    'ifonlyif': (0x08CD, '\u21d4'),
    'igrave': (0x00EC, '\u00ec'),
    'ihook': (0x1001EC9, '\u1ec9'),
    'imacron': (0x03EF, '\u012b'),
    'implies': (0x08CE, '\u21d2'),
    'includedin': (0x08DA, '\u2282'),
    'includes': (0x08DB, '\u2283'),
    'infinity': (0x08C2, '\u221e'),
    'integral': (0x08BF, '\u222b'),
    'intersection': (0x08DC, '\u2229'),
    'iogonek': (0x03E7, '\u012f'),
    'itilde': (0x03B5, '\u0129'),
    'j': (0x006A, '\u006a'),
    'jcircumflex': (0x02BC, '\u0135'),
    'jot': (0x0BCA, '\u2218'),
    'k': (0x006B, '\u006b'),
    'kana_A': (0x04B1, '\u30a2'),
    'kana_CHI': (0x04C1, '\u30c1'),
    'kana_E': (0x04B4, '\u30a8'),
    'kana_FU': (0x04CC, '\u30d5'),
    'kana_HA': (0x04CA, '\u30cf'),
    'kana_HE': (0x04CD, '\u30d8'),
    'kana_HI': (0x04CB, '\u30d2'),
    'kana_HO': (0x04CE, '\u30db'),
    'kana_I': (0x04B2, '\u30a4'),
    'kana_KA': (0x04B6, '\u30ab'),
    'kana_KE': (0x04B9, '\u30b1'),
    'kana_KI': (0x04B7, '\u30ad'),
    'kana_KO': (0x04BA, '\u30b3'),
    'kana_KU': (0x04B8, '\u30af'),
    'kana_MA': (0x04CF, '\u30de'),
    'kana_ME': (0x04D2, '\u30e1'),
    'kana_MI': (0x04D0, '\u30df'),
    'kana_MO': (0x04D3, '\u30e2'),
    'kana_MU': (0x04D1, '\u30e0'),
    'kana_N': (0x04DD, '\u30f3'),
    'kana_NA': (0x04C5, '\u30ca'),
    'kana_NE': (0x04C8, '\u30cd'),
    'kana_NI': (0x04C6, '\u30cb'),
    'kana_NO': (0x04C9, '\u30ce'),
    'kana_NU': (0x04C7, '\u30cc'),
    'kana_O': (0x04B5, '\u30aa'),
    'kana_RA': (0x04D7, '\u30e9'),
    'kana_RE': (0x04DA, '\u30ec'),
    'kana_RI': (0x04D8, '\u30ea'),
    'kana_RO': (0x04DB, '\u30ed'),
    'kana_RU': (0x04D9, '\u30eb'),
    'kana_SA': (0x04BB, '\u30b5'),
    'kana_SE': (0x04BE, '\u30bb'),
    'kana_SHI': (0x04BC, '\u30b7'),
    'kana_SO': (0x04BF, '\u30bd'),
    'kana_SU': (0x04BD, '\u30b9'),
    'kana_TA': (0x04C0, '\u30bf'),
    'kana_TE': (0x04C3, '\u30c6'),
    'kana_TO': (0x04C4, '\u30c8'),
    'kana_TSU': (0x04C2, '\u30c4'),
    'kana_U': (0x04B3, '\u30a6'),
    'kana_WA': (0x04DC, '\u30ef'),
    'kana_WO': (0x04A6, '\u30f2'),
    'kana_YA': (0x04D4, '\u30e4'),
    'kana_YO': (0x04D6, '\u30e8'),
    'kana_YU': (0x04D5, '\u30e6'),
    'kana_a': (0x04A7, '\u30a1'),
    'kana_closingbracket': (0x04A3, '\u300d'),
    'kana_comma': (0x04A4, '\u3001'),
    'kana_conjunctive': (0x04A5, '\u30fb'),
    'kana_e': (0x04AA, '\u30a7'),
    'kana_fullstop': (0x04A1, '\u3002'),
    'kana_i': (0x04A8, '\u30a3'),
    'kana_o': (0x04AB, '\u30a9'),
    'kana_openingbracket': (0x04A2, '\u300c'),
    'kana_tsu': (0x04AF, '\u30c3'),
    'kana_u': (0x04A9, '\u30a5'),
    'kana_ya': (0x04AC, '\u30e3'),
    'kana_yo': (0x04AE, '\u30e7'),
    'kana_yu': (0x04AD, '\u30e5'),
    'kcedilla': (0x03F3, '\u0137'),
    'kra': (0x03A2, '\u0138'),
    'l': (0x006C, '\u006c'),
    'lacute': (0x01E5, '\u013a'),
    'latincross': (0x0AD9, '\u271d'),
    'lbelowdot': (0x1001E37, '\u1e37'),
    'lcaron': (0x01B5, '\u013e'),
    'lcedilla': (0x03B6, '\u013c'),
    'leftarrow': (0x08FB, '\u2190'),
    'leftdoublequotemark': (0x0AD2, '\u201c'),
    'leftmiddlecurlybrace': (0x08AF, '\u23a8'),
    'leftradical': (0x08A1, '\u23b7'),
    'leftsinglequotemark': (0x0AD0, '\u2018'),
    'leftt': (0x09F4, '\u251c'),
    'lefttack': (0x0BDC, '\u22a3'),
    'less': (0x003C, '\u003c'),
    'lessthanequal': (0x08BC, '\u2264'),
    'lf': (0x09E5, '\u240a'),
    'logicaland': (0x08DE, '\u2227'),
    'logicalor': (0x08DF, '\u2228'),
    'lowleftcorner': (0x09ED, '\u2514'),
    'lowrightcorner': (0x09EA, '\u2518'),
    'lstroke': (0x01B3, '\u0142'),
    'm': (0x006D, '\u006d'),
    'mabovedot': (0x1001E41, '\u1e41'),
    'macron': (0x00AF, '\u00af'),
    'malesymbol': (0x0AF7, '\u2642'),
    'maltesecross': (0x0AF0, '\u2720'),
    'masculine': (0x00BA, '\u00ba'),
    'minus': (0x002D, '\u002d'),
    'minutes': (0x0AD6, '\u2032'),
    'mu': (0x00B5, '\u00b5'),
    'multiply': (0x00D7, '\u00d7'),
    'musicalflat': (0x0AF6, '\u266d'),
    'musicalsharp': (0x0AF5, '\u266f'),
    'n': (0x006E, '\u006e'),
    'nabla': (0x08C5, '\u2207'),
    'nacute': (0x01F1, '\u0144'),
    'ncaron': (0x01F2, '\u0148'),
    'ncedilla': (0x03F1, '\u0146'),
    'ninesubscript': (0x1002089, '\u2089'),
    'ninesuperior': (0x1002079, '\u2079'),
    'nl': (0x09E8, '\u2424'),
    'nobreakspace': (0x00A0, '\u00a0'),
    'notapproxeq': (0x1002247, '\u2247'),
    'notelementof': (0x1002209, '\u2209'),
    'notequal': (0x08BD, '\u2260'),
    'notidentical': (0x1002262, '\u2262'),
    'notsign': (0x00AC, '\u00ac'),
    'ntilde': (0x00F1, '\u00f1'),
    'numbersign': (0x0023, '\u0023'),
    'numerosign': (0x06B0, '\u2116'),
    'o': (0x006F, '\u006f'),
    'oacute': (0x00F3, '\u00f3'),
    'obarred': (0x1000275, '\u0275'),
    'obelowdot': (0x1001ECD, '\u1ecd'),
    'ocaron': (0x10001D2, '\u01d2'),
    'ocircumflex': (0x00F4, '\u00f4'),
    'ocircumflexacute': (0x1001ED1, '\u1ed1'),
    'ocircumflexbelowdot': (0x1001ED9, '\u1ed9'),
    'ocircumflexgrave': (0x1001ED3, '\u1ed3'),
    'ocircumflexhook': (0x1001ED5, '\u1ed5'),
    'ocircumflextilde': (0x1001ED7, '\u1ed7'),
    'odiaeresis': (0x00F6, '\u00f6'),
    'odoubleacute': (0x01F5, '\u0151'),
    'oe': (0x13BD, '\u0153'),
    'ogonek': (0x01B2, '\u02db'),
    'ograve': (0x00F2, '\u00f2'),
    'ohook': (0x1001ECF, '\u1ecf'),
    'ohorn': (0x10001A1, '\u01a1'),
    'ohornacute': (0x1001EDB, '\u1edb'),
    'ohornbelowdot': (0x1001EE3, '\u1ee3'),
    'ohorngrave': (0x1001EDD, '\u1edd'),
    'ohornhook': (0x1001EDF, '\u1edf'),
    'ohorntilde': (0x1001EE1, '\u1ee1'),
    'omacron': (0x03F2, '\u014d'),
    'oneeighth': (0x0AC3, '\u215b'),
    'onefifth': (0x0AB2, '\u2155'),
    'onehalf': (0x00BD, '\u00bd'),
    'onequarter': (0x00BC, '\u00bc'),
    'onesixth': (0x0AB6, '\u2159'),
    'onesubscript': (0x1002081, '\u2081'),
    'onesuperior': (0x00B9, '\u00b9'),
    'onethird': (0x0AB0, '\u2153'),
    'ooblique': (0x00F8, '\u00f8'),
    'ordfeminine': (0x00AA, '\u00aa'),
    'oslash': (0x00F8, '\u00f8'),
    'otilde': (0x00F5, '\u00f5'),
    'overline': (0x047E, '\u203e'),
    'p': (0x0070, '\u0070'),
    'pabovedot': (0x1001E57, '\u1e57'),
    'paragraph': (0x00B6, '\u00b6'),
    'parenleft': (0x0028, '\u0028'),
    'parenright': (0x0029, '\u0029'),
    'partdifferential': (0x1002202, '\u2202'),
    'partialderivative': (0x08EF, '\u2202'),
    'percent': (0x0025, '\u0025'),
    'period': (0x002E, '\u002e'),
    'periodcentered': (0x00B7, '\u00b7'),
    'permille': (0x0AD5, '\u2030'),
    'phonographcopyright': (0x0AFB, '\u2117'),
    'plus': (0x002B, '\u002b'),
    'plusminus': (0x00B1, '\u00b1'),
    'prescription': (0x0AD4, '\u211e'),
    'prolongedsound': (0x04B0, '\u30fc'),
    'punctspace': (0x0AA6, '\u2008'),
    'q': (0x0071, '\u0071'),
    'quad': (0x0BCC, '\u2395'),
    'question': (0x003F, '\u003f'),
    'questiondown': (0x00BF, '\u00bf'),
    'quotedbl': (0x0022, '\u0022'),
    'r': (0x0072, '\u0072'),
    'racute': (0x01E0, '\u0155'),
    'radical': (0x08D6, '\u221a'),
    'rcaron': (0x01F8, '\u0159'),
    'rcedilla': (0x03B3, '\u0157'),
    'registered': (0x00AE, '\u00ae'),
    'rightarrow': (0x08FD, '\u2192'),
    'rightdoublequotemark': (0x0AD3, '\u201d'),
    'rightmiddlecurlybrace': (0x08B0, '\u23ac'),
    'rightsinglequotemark': (0x0AD1, '\u2019'),
    'rightt': (0x09F5, '\u2524'),
    'righttack': (0x0BFC, '\u22a2'),
    's': (0x0073, '\u0073'),
    'sabovedot': (0x1001E61, '\u1e61'),
    'sacute': (0x01B6, '\u015b'),
    'scaron': (0x01B9, '\u0161'),
    'scedilla': (0x01BA, '\u015f'),
    'schwa': (0x1000259, '\u0259'),
    'scircumflex': (0x02FE, '\u015d'),
    'seconds': (0x0AD7, '\u2033'),
    'section': (0x00A7, '\u00a7'),
    'semicolon': (0x003B, '\u003b'),
    'semivoicedsound': (0x04DF, '\u309c'),
    'seveneighths': (0x0AC6, '\u215e'),
    'sevensubscript': (0x1002087, '\u2087'),
    'sevensuperior': (0x1002077, '\u2077'),
    'similarequal': (0x08C9, '\u2243'),
    'singlelowquotemark': (0x0AFD, '\u201a'),
    'sixsubscript': (0x1002086, '\u2086'),
    'sixsuperior': (0x1002076, '\u2076'),
    'slash': (0x002F, '\u002f'),
    'soliddiamond': (0x09E0, '\u25c6'),
    'space': (0x0020, '\u0020'),
    'squareroot': (0x100221A, '\u221a'),
    'ssharp': (0x00DF, '\u00df'),
    'sterling': (0x00A3, '\u00a3'),
    'stricteq': (0x1002263, '\u2263'),
    't': (0x0074, '\u0074'),
    'tabovedot': (0x1001E6B, '\u1e6b'),
    'tcaron': (0x01BB, '\u0165'),
    'tcedilla': (0x01FE, '\u0163'),
    'telephone': (0x0AF9, '\u260e'),
    'telephonerecorder': (0x0AFA, '\u2315'),
    'therefore': (0x08C0, '\u2234'),
    'thinspace': (0x0AA7, '\u2009'),
    'thorn': (0x00FE, '\u00fe'),
    'threeeighths': (0x0AC4, '\u215c'),
    'threefifths': (0x0AB4, '\u2157'),
    'threequarters': (0x00BE, '\u00be'),
    'threesubscript': (0x1002083, '\u2083'),
    'threesuperior': (0x00B3, '\u00b3'),
    'tintegral': (0x100222D, '\u222d'),
    'topintegral': (0x08A4, '\u2320'),
    'topleftparens': (0x08AB, '\u239b'),
    'topleftsqbracket': (0x08A7, '\u23a1'),
    'toprightparens': (0x08AD, '\u239e'),
    'toprightsqbracket': (0x08A9, '\u23a4'),
    'topt': (0x09F7, '\u252c'),
    'trademark': (0x0AC9, '\u2122'),
    'tslash': (0x03BC, '\u0167'),
    'twofifths': (0x0AB3, '\u2156'),
    'twosubscript': (0x1002082, '\u2082'),
    'twosuperior': (0x00B2, '\u00b2'),
    'twothirds': (0x0AB1, '\u2154'),
    'u': (0x0075, '\u0075'),
    'uacute': (0x00FA, '\u00fa'),
    'ubelowdot': (0x1001EE5, '\u1ee5'),
    'ubreve': (0x02FD, '\u016d'),
    'ucircumflex': (0x00FB, '\u00fb'),
    'udiaeresis': (0x00FC, '\u00fc'),
    'udoubleacute': (0x01FB, '\u0171'),
    'ugrave': (0x00F9, '\u00f9'),
    'uhook': (0x1001EE7, '\u1ee7'),
    'uhorn': (0x10001B0, '\u01b0'),
    'uhornacute': (0x1001EE9, '\u1ee9'),
    'uhornbelowdot': (0x1001EF1, '\u1ef1'),
    'uhorngrave': (0x1001EEB, '\u1eeb'),
    'uhornhook': (0x1001EED, '\u1eed'),
    'uhorntilde': (0x1001EEF, '\u1eef'),
    'umacron': (0x03FE, '\u016b'),
    'underscore': (0x005F, '\u005f'),
    'union': (0x08DD, '\u222a'),
    'uogonek': (0x03F9, '\u0173'),
    'uparrow': (0x08FC, '\u2191'),
    'upleftcorner': (0x09EC, '\u250c'),
    'uprightcorner': (0x09EB, '\u2510'),
    'upstile': (0x0BD3, '\u2308'),
    'uptack': (0x0BCE, '\u22a5'),
    'uring': (0x01F9, '\u016f'),
    'utilde': (0x03FD, '\u0169'),
    'v': (0x0076, '\u0076'),
    'variation': (0x08C1, '\u221d'),
    'vertbar': (0x09F8, '\u2502'),
    'voicedsound': (0x04DE, '\u309b'),
    'vt': (0x09E9, '\u240b'),
    'w': (0x0077, '\u0077'),
    'wacute': (0x1001E83, '\u1e83'),
    'wcircumflex': (0x1000175, '\u0175'),
    'wdiaeresis': (0x1001E85, '\u1e85'),
    'wgrave': (0x1001E81, '\u1e81'),
    'x': (0x0078, '\u0078'),
    'xabovedot': (0x1001E8B, '\u1e8b'),
    'y': (0x0079, '\u0079'),
    'yacute': (0x00FD, '\u00fd'),
    'ybelowdot': (0x1001EF5, '\u1ef5'),
    'ycircumflex': (0x1000177, '\u0177'),
    'ydiaeresis': (0x00FF, '\u00ff'),
    'yen': (0x00A5, '\u00a5'),
    'ygrave': (0x1001EF3, '\u1ef3'),
    'yhook': (0x1001EF7, '\u1ef7'),
    'ytilde': (0x1001EF9, '\u1ef9'),
    'z': (0x007A, '\u007a'),
    'zabovedot': (0x01BF, '\u017c'),
    'zacute': (0x01BC, '\u017a'),
    'zcaron': (0x01BE, '\u017e'),
    'zerosubscript': (0x1002080, '\u2080'),
    'zerosuperior': (0x1002070, '\u2070'),
    'zstroke': (0x10001B6, '\u01b6'),
}

DEAD_KEYS = {
    '\u0307': '\u02d9',
    '\u030a': '\u02da',
    '\u0301': '\u00b4',
    '\u0306': '\u02d8',
    '\u030c': '\u02c7',
    '\u0327': '\u00b8',
    '\u0302': '\u005e',
    '\u0308': '\u00a8',
    '\u030b': '\u02dd',
    '\u0300': '\u0060',
    '\u0345': '\u037a',
    '\u0332': '\u005f',
    '\u0304': '\u00af',
    '\u0328': '\u02db',
    '\u0303': '\u007e',
}

KEYPAD_KEYS = {
    'KP_0': 0xFFB0,
    'KP_1': 0xFFB1,
    'KP_2': 0xFFB2,
    'KP_3': 0xFFB3,
    'KP_4': 0xFFB4,
    'KP_5': 0xFFB5,
    'KP_6': 0xFFB6,
    'KP_7': 0xFFB7,
    'KP_8': 0xFFB8,
    'KP_9': 0xFFB9,
    'KP_Add': 0xFFAB,
    'KP_Begin': 0xFF9D,
    'KP_Decimal': 0xFFAE,
    'KP_Delete': 0xFF9F,
    'KP_Divide': 0xFFAF,
    'KP_Down': 0xFF99,
    'KP_End': 0xFF9C,
    'KP_Enter': 0xFF8D,
    'KP_Equal': 0xFFBD,
    'KP_F1': 0xFF91,
    'KP_F2': 0xFF92,
    'KP_F3': 0xFF93,
    'KP_F4': 0xFF94,
    'KP_Home': 0xFF95,
    'KP_Insert': 0xFF9E,
    'KP_Left': 0xFF96,
    'KP_Multiply': 0xFFAA,
    'KP_Next': 0xFF9B,
    'KP_Page_Down': 0xFF9B,
    'KP_Page_Up': 0xFF9A,
    'KP_Prior': 0xFF9A,
    'KP_Right': 0xFF98,
    'KP_Separator': 0xFFAC,
    'KP_Space': 0xFF80,
    'KP_Subtract': 0xFFAD,
    'KP_Tab': 0xFF89,
    'KP_Up': 0xFF97,
}

CHARS = {
    codepoint: name
    for name, (keysym, codepoint) in SYMBOLS.items()
    if codepoint
}

KEYSYMS = {
    keysym: name for name, (keysym, codepoint) in SYMBOLS.items() if codepoint
}
