Created
December 4, 2015 00:49
-
-
Save betaveros/90d8b5a1d097cea47f6c to your computer and use it in GitHub Desktop.
sketchy sketchy digraphs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# nontrivial parts come from | |
# http://paste.pound-python.org/raw/6aCbTG3lKgCWdrRygkBG/ | |
# tmux magic incantation: | |
# bind-key v command-prompt -p "Enter digraph:" "set-buffer \"%%\"; save-buffer /tmp/tmux-digraph-input; delete-buffer; if-shell 'digraph.py < /tmp/tmux-digraph-input > /tmp/tmux-digraph-output' 'load-buffer /tmp/tmux-digraph-output; paste-buffer -d; run-shell \"rm /tmp/tmux-digraph-output /tmp/tmux-digraph-input\"' 'display-message \"Error in digraph lookup\"'" | |
import logging | |
import os.path | |
import sys | |
import unicodedata | |
logfile = os.path.join(os.path.dirname(__file__), 'digraph.exceptions.log') | |
logging.basicConfig(filename=logfile) | |
maps = { | |
'NU': 0x0000, | |
'SH': 0x0001, | |
'SX': 0x0002, | |
'EX': 0x0003, | |
'ET': 0x0004, | |
'EQ': 0x0005, | |
'AK': 0x0006, | |
'BL': 0x0007, | |
'BS': 0x0008, | |
'HT': 0x0009, | |
'LF': 0x000a, | |
'VT': 0x000b, | |
'FF': 0x000c, | |
'CR': 0x000d, | |
'SO': 0x000e, | |
'SI': 0x000f, | |
'DL': 0x0010, | |
'D1': 0x0011, | |
'D2': 0x0012, | |
'D3': 0x0013, | |
'D4': 0x0014, | |
'NK': 0x0015, | |
'SY': 0x0016, | |
'EB': 0x0017, | |
'CN': 0x0018, | |
'EM': 0x0019, | |
'SB': 0x001a, | |
'EC': 0x001b, | |
'FS': 0x001c, | |
'GS': 0x001d, | |
'RS': 0x001e, | |
'US': 0x001f, | |
'SP': 0x0020, | |
'Nb': 0x0023, | |
'DO': 0x0024, | |
'At': 0x0040, | |
'<(': 0x005b, | |
'//': 0x005c, | |
')>': 0x005d, | |
'\'>': 0x005e, | |
'\'!': 0x0060, | |
'(!': 0x007b, | |
'!!': 0x007c, | |
'!)': 0x007d, | |
'\'?': 0x007e, | |
'DT': 0x007f, | |
'PA': 0x0080, | |
'HO': 0x0081, | |
'BH': 0x0082, | |
'NH': 0x0083, | |
'IN': 0x0084, | |
'NL': 0x0085, | |
'SA': 0x0086, | |
'ES': 0x0087, | |
'HS': 0x0088, | |
'HJ': 0x0089, | |
'VS': 0x008a, | |
'PD': 0x008b, | |
'PU': 0x008c, | |
'RI': 0x008d, | |
'S2': 0x008e, | |
'S3': 0x008f, | |
'DC': 0x0090, | |
'P1': 0x0091, | |
'P2': 0x0092, | |
'TS': 0x0093, | |
'CC': 0x0094, | |
'MW': 0x0095, | |
'SG': 0x0096, | |
'EG': 0x0097, | |
'SS': 0x0098, | |
'GC': 0x0099, | |
'SC': 0x009a, | |
'CI': 0x009b, | |
'ST': 0x009c, | |
'OC': 0x009d, | |
'PM': 0x009e, | |
'AC': 0x009f, | |
'NS': 0x00a0, | |
'!I': 0x00a1, | |
'Ct': 0x00a2, | |
'Pd': 0x00a3, | |
'Cu': 0x00a4, | |
'Ye': 0x00a5, | |
'BB': 0x00a6, | |
'SE': 0x00a7, | |
'\':': 0x00a8, | |
'Co': 0x00a9, | |
'-a': 0x00aa, | |
'<<': 0x00ab, | |
'NO': 0x00ac, | |
'--': 0x00ad, | |
'Rg': 0x00ae, | |
'\'m': 0x00af, | |
'DG': 0x00b0, | |
'+-': 0x00b1, | |
'2S': 0x00b2, | |
'3S': 0x00b3, | |
'\'\'': 0x00b4, | |
'My': 0x00b5, | |
'PI': 0x00b6, | |
'.M': 0x00b7, | |
'\',': 0x00b8, | |
'1S': 0x00b9, | |
'-o': 0x00ba, | |
'>>': 0x00bb, | |
'14': 0x00bc, | |
'12': 0x00bd, | |
'34': 0x00be, | |
'?I': 0x00bf, | |
'A!': 0x00c0, | |
'A\'': 0x00c1, | |
'A>': 0x00c2, | |
'A?': 0x00c3, | |
'A:': 0x00c4, | |
'AA': 0x00c5, | |
'AE': 0x00c6, | |
'C,': 0x00c7, | |
'E!': 0x00c8, | |
'E\'': 0x00c9, | |
'E>': 0x00ca, | |
'E:': 0x00cb, | |
'I!': 0x00cc, | |
'I\'': 0x00cd, | |
'I>': 0x00ce, | |
'I:': 0x00cf, | |
'D-': 0x00d0, | |
'N?': 0x00d1, | |
'O!': 0x00d2, | |
'O\'': 0x00d3, | |
'O>': 0x00d4, | |
'O?': 0x00d5, | |
'O:': 0x00d6, | |
'*X': 0x00d7, | |
'O/': 0x00d8, | |
'U!': 0x00d9, | |
'U\'': 0x00da, | |
'U>': 0x00db, | |
'U:': 0x00dc, | |
'Y\'': 0x00dd, | |
'TH': 0x00de, | |
'ss': 0x00df, | |
'a!': 0x00e0, | |
'a\'': 0x00e1, | |
'a>': 0x00e2, | |
'a?': 0x00e3, | |
'a:': 0x00e4, | |
'aa': 0x00e5, | |
'ae': 0x00e6, | |
'c,': 0x00e7, | |
'e!': 0x00e8, | |
'e\'': 0x00e9, | |
'e>': 0x00ea, | |
'e:': 0x00eb, | |
'i!': 0x00ec, | |
'i\'': 0x00ed, | |
'i>': 0x00ee, | |
'i:': 0x00ef, | |
'd-': 0x00f0, | |
'n?': 0x00f1, | |
'o!': 0x00f2, | |
'o\'': 0x00f3, | |
'o>': 0x00f4, | |
'o?': 0x00f5, | |
'o:': 0x00f6, | |
'-:': 0x00f7, | |
'o/': 0x00f8, | |
'u!': 0x00f9, | |
'u\'': 0x00fa, | |
'u>': 0x00fb, | |
'u:': 0x00fc, | |
'y\'': 0x00fd, | |
'th': 0x00fe, | |
'y:': 0x00ff, | |
'A-': 0x0100, | |
'a-': 0x0101, | |
'A(': 0x0102, | |
'a(': 0x0103, | |
'A;': 0x0104, | |
'a;': 0x0105, | |
'C\'': 0x0106, | |
'c\'': 0x0107, | |
'C>': 0x0108, | |
'c>': 0x0109, | |
'C.': 0x010A, | |
'c.': 0x010B, | |
'C<': 0x010C, | |
'c<': 0x010D, | |
'D<': 0x010E, | |
'd<': 0x010F, | |
'D/': 0x0110, | |
'd/': 0x0111, | |
'E-': 0x0112, | |
'e-': 0x0113, | |
'E(': 0x0114, | |
'e(': 0x0115, | |
'E.': 0x0116, | |
'e.': 0x0117, | |
'E;': 0x0118, | |
'e;': 0x0119, | |
'E<': 0x011A, | |
'e<': 0x011B, | |
'G>': 0x011C, | |
'g>': 0x011D, | |
'G(': 0x011E, | |
'g(': 0x011F, | |
'G.': 0x0120, | |
'g.': 0x0121, | |
'G,': 0x0122, | |
'g,': 0x0123, | |
'H>': 0x0124, | |
'h>': 0x0125, | |
'H/': 0x0126, | |
'h/': 0x0127, | |
'I?': 0x0128, | |
'i?': 0x0129, | |
'I-': 0x012A, | |
'i-': 0x012B, | |
'I(': 0x012C, | |
'i(': 0x012D, | |
'I;': 0x012E, | |
'i;': 0x012F, | |
'I.': 0x0130, | |
'i.': 0x0131, | |
'IJ': 0x0132, | |
'ij': 0x0133, | |
'J>': 0x0134, | |
'j>': 0x0135, | |
'K,': 0x0136, | |
'k,': 0x0137, | |
'kk': 0x0138, | |
'L\'': 0x0139, | |
'l\'': 0x013A, | |
'L,': 0x013B, | |
'l,': 0x013C, | |
'L<': 0x013D, | |
'l<': 0x013E, | |
'L.': 0x013F, | |
'l.': 0x0140, | |
'L/': 0x0141, | |
'l/': 0x0142, | |
'N\'': 0x0143, | |
'n\'': 0x0144, | |
'N,': 0x0145, | |
'n,': 0x0146, | |
'N<': 0x0147, | |
'n<': 0x0148, | |
'\'n': 0x0149, | |
'NG': 0x014A, | |
'ng': 0x014B, | |
'O-': 0x014C, | |
'o-': 0x014D, | |
'O(': 0x014E, | |
'o(': 0x014F, | |
'O"': 0x0150, | |
'o"': 0x0151, | |
'OE': 0x0152, | |
'oe': 0x0153, | |
'R\'': 0x0154, | |
'r\'': 0x0155, | |
'R,': 0x0156, | |
'r,': 0x0157, | |
'R<': 0x0158, | |
'r<': 0x0159, | |
'S\'': 0x015A, | |
's\'': 0x015B, | |
'S>': 0x015C, | |
's>': 0x015D, | |
'S,': 0x015E, | |
's,': 0x015F, | |
'S<': 0x0160, | |
's<': 0x0161, | |
'T,': 0x0162, | |
't,': 0x0163, | |
'T<': 0x0164, | |
't<': 0x0165, | |
'T/': 0x0166, | |
't/': 0x0167, | |
'U?': 0x0168, | |
'u?': 0x0169, | |
'U-': 0x016A, | |
'u-': 0x016B, | |
'U(': 0x016C, | |
'u(': 0x016D, | |
'U0': 0x016E, | |
'u0': 0x016F, | |
'U"': 0x0170, | |
'u"': 0x0171, | |
'U;': 0x0172, | |
'u;': 0x0173, | |
'W>': 0x0174, | |
'w>': 0x0175, | |
'Y>': 0x0176, | |
'y>': 0x0177, | |
'Y:': 0x0178, | |
'Z\'': 0x0179, | |
'z\'': 0x017A, | |
'Z.': 0x017B, | |
'z.': 0x017C, | |
'Z<': 0x017D, | |
'z<': 0x017E, | |
'O9': 0x01A0, | |
'o9': 0x01A1, | |
'OI': 0x01A2, | |
'oi': 0x01A3, | |
'yr': 0x01A6, | |
'U9': 0x01AF, | |
'u9': 0x01B0, | |
'Z/': 0x01B5, | |
'z/': 0x01B6, | |
'ED': 0x01B7, | |
'A<': 0x01CD, | |
'a<': 0x01CE, | |
'I<': 0x01CF, | |
'i<': 0x01D0, | |
'O<': 0x01D1, | |
'o<': 0x01D2, | |
'U<': 0x01D3, | |
'u<': 0x01D4, | |
'A1': 0x01DE, | |
'a1': 0x01DF, | |
'A7': 0x01E0, | |
'a7': 0x01E1, | |
'A3': 0x01E2, | |
'a3': 0x01E3, | |
'G/': 0x01E4, | |
'g/': 0x01E5, | |
'G<': 0x01E6, | |
'g<': 0x01E7, | |
'K<': 0x01E8, | |
'k<': 0x01E9, | |
'O;': 0x01EA, | |
'o;': 0x01EB, | |
'O1': 0x01EC, | |
'o1': 0x01ED, | |
'EZ': 0x01EE, | |
'ez': 0x01EF, | |
'j<': 0x01F0, | |
'G\'': 0x01F4, | |
'g\'': 0x01F5, | |
';S': 0x02BF, | |
'\'<': 0x02C7, | |
'\'(': 0x02D8, | |
'\'.': 0x02D9, | |
'\'0': 0x02DA, | |
'\';': 0x02DB, | |
'\'"': 0x02DD, | |
'A%': 0x0386, | |
'E%': 0x0388, | |
'Y%': 0x0389, | |
'I%': 0x038A, | |
'O%': 0x038C, | |
'U%': 0x038E, | |
'W%': 0x038F, | |
'i3': 0x0390, | |
'A*': 0x0391, | |
'B*': 0x0392, | |
'G*': 0x0393, | |
'D*': 0x0394, | |
'E*': 0x0395, | |
'Z*': 0x0396, | |
'Y*': 0x0397, | |
'H*': 0x0398, | |
'I*': 0x0399, | |
'K*': 0x039A, | |
'L*': 0x039B, | |
'M*': 0x039C, | |
'N*': 0x039D, | |
'C*': 0x039E, | |
'O*': 0x039F, | |
'P*': 0x03A0, | |
'R*': 0x03A1, | |
'S*': 0x03A3, | |
'T*': 0x03A4, | |
'U*': 0x03A5, | |
'F*': 0x03A6, | |
'X*': 0x03A7, | |
'Q*': 0x03A8, | |
'W*': 0x03A9, | |
'J*': 0x03AA, | |
'V*': 0x03AB, | |
'a%': 0x03AC, | |
'e%': 0x03AD, | |
'y%': 0x03AE, | |
'i%': 0x03AF, | |
'u3': 0x03B0, | |
'a*': 0x03B1, | |
'b*': 0x03B2, | |
'g*': 0x03B3, | |
'd*': 0x03B4, | |
'e*': 0x03B5, | |
'z*': 0x03B6, | |
'y*': 0x03B7, | |
'h*': 0x03B8, | |
'i*': 0x03B9, | |
'k*': 0x03BA, | |
'l*': 0x03BB, | |
'm*': 0x03BC, | |
'n*': 0x03BD, | |
'c*': 0x03BE, | |
'o*': 0x03BF, | |
'p*': 0x03C0, | |
'r*': 0x03C1, | |
'*s': 0x03C2, | |
's*': 0x03C3, | |
't*': 0x03C4, | |
'u*': 0x03C5, | |
'f*': 0x03C6, | |
'x*': 0x03C7, | |
'q*': 0x03C8, | |
'w*': 0x03C9, | |
'j*': 0x03CA, | |
'v*': 0x03CB, | |
'o%': 0x03CC, | |
'u%': 0x03CD, | |
'w%': 0x03CE, | |
'\'G': 0x03D8, | |
',G': 0x03D9, | |
'T3': 0x03DA, | |
't3': 0x03DB, | |
'M3': 0x03DC, | |
'm3': 0x03DD, | |
'K3': 0x03DE, | |
'k3': 0x03DF, | |
'P3': 0x03E0, | |
'p3': 0x03E1, | |
'\'%': 0x03F4, | |
'j3': 0x03F5, | |
'IO': 0x0401, | |
'D%': 0x0402, | |
'G%': 0x0403, | |
'IE': 0x0404, | |
'DS': 0x0405, | |
'II': 0x0406, | |
'YI': 0x0407, | |
'J%': 0x0408, | |
'LJ': 0x0409, | |
'NJ': 0x040A, | |
'Ts': 0x040B, | |
'KJ': 0x040C, | |
'V%': 0x040E, | |
'DZ': 0x040F, | |
'A=': 0x0410, | |
'B=': 0x0411, | |
'V=': 0x0412, | |
'G=': 0x0413, | |
'D=': 0x0414, | |
'E=': 0x0415, | |
'Z%': 0x0416, | |
'Z=': 0x0417, | |
'I=': 0x0418, | |
'J=': 0x0419, | |
'K=': 0x041A, | |
'L=': 0x041B, | |
'M=': 0x041C, | |
'N=': 0x041D, | |
'O=': 0x041E, | |
'P=': 0x041F, | |
'R=': 0x0420, | |
'S=': 0x0421, | |
'T=': 0x0422, | |
'U=': 0x0423, | |
'F=': 0x0424, | |
'H=': 0x0425, | |
'C=': 0x0426, | |
'C%': 0x0427, | |
'S%': 0x0428, | |
'Sc': 0x0429, | |
'="': 0x042A, | |
'Y=': 0x042B, | |
'%"': 0x042C, | |
'JE': 0x042D, | |
'JU': 0x042E, | |
'JA': 0x042F, | |
'a=': 0x0430, | |
'b=': 0x0431, | |
'v=': 0x0432, | |
'g=': 0x0433, | |
'd=': 0x0434, | |
'e=': 0x0435, | |
'z%': 0x0436, | |
'z=': 0x0437, | |
'i=': 0x0438, | |
'j=': 0x0439, | |
'k=': 0x043A, | |
'l=': 0x043B, | |
'm=': 0x043C, | |
'n=': 0x043D, | |
'o=': 0x043E, | |
'p=': 0x043F, | |
'r=': 0x0440, | |
's=': 0x0441, | |
't=': 0x0442, | |
'u=': 0x0443, | |
'f=': 0x0444, | |
'h=': 0x0445, | |
'c=': 0x0446, | |
'c%': 0x0447, | |
's%': 0x0448, | |
'sc': 0x0449, | |
'=\'': 0x044A, | |
'y=': 0x044B, | |
'%\'': 0x044C, | |
'je': 0x044D, | |
'ju': 0x044E, | |
'ja': 0x044F, | |
'io': 0x0451, | |
'd%': 0x0452, | |
'g%': 0x0453, | |
'ie': 0x0454, | |
'ds': 0x0455, | |
'ii': 0x0456, | |
'yi': 0x0457, | |
'j%': 0x0458, | |
'lj': 0x0459, | |
'nj': 0x045A, | |
'ts': 0x045B, | |
'kj': 0x045C, | |
'v%': 0x045E, | |
'dz': 0x045F, | |
'Y3': 0x0462, | |
'y3': 0x0463, | |
'O3': 0x046A, | |
'o3': 0x046B, | |
'F3': 0x0472, | |
'f3': 0x0473, | |
'V3': 0x0474, | |
'v3': 0x0475, | |
'C3': 0x0480, | |
'c3': 0x0481, | |
'G3': 0x0490, | |
'g3': 0x0491, | |
'A+': 0x05D0, | |
'B+': 0x05D1, | |
'G+': 0x05D2, | |
'D+': 0x05D3, | |
'H+': 0x05D4, | |
'W+': 0x05D5, | |
'Z+': 0x05D6, | |
'X+': 0x05D7, | |
'Tj': 0x05D8, | |
'J+': 0x05D9, | |
'K%': 0x05DA, | |
'K+': 0x05DB, | |
'L+': 0x05DC, | |
'M%': 0x05DD, | |
'M+': 0x05DE, | |
'N%': 0x05DF, | |
'N+': 0x05E0, | |
'S+': 0x05E1, | |
'E+': 0x05E2, | |
'P%': 0x05E3, | |
'P+': 0x05E4, | |
'Zj': 0x05E5, | |
'ZJ': 0x05E6, | |
'Q+': 0x05E7, | |
'R+': 0x05E8, | |
'Sh': 0x05E9, | |
'T+': 0x05EA, | |
',+': 0x060C, | |
';+': 0x061B, | |
'?+': 0x061F, | |
'H\'': 0x0621, | |
'aM': 0x0622, | |
'aH': 0x0623, | |
'wH': 0x0624, | |
'ah': 0x0625, | |
'yH': 0x0626, | |
'a+': 0x0627, | |
'b+': 0x0628, | |
'tm': 0x0629, | |
't+': 0x062A, | |
'tk': 0x062B, | |
'g+': 0x062C, | |
'hk': 0x062D, | |
'x+': 0x062E, | |
'd+': 0x062F, | |
'dk': 0x0630, | |
'r+': 0x0631, | |
'z+': 0x0632, | |
's+': 0x0633, | |
'sn': 0x0634, | |
'c+': 0x0635, | |
'dd': 0x0636, | |
'tj': 0x0637, | |
'zH': 0x0638, | |
'e+': 0x0639, | |
'i+': 0x063A, | |
'++': 0x0640, | |
'f+': 0x0641, | |
'q+': 0x0642, | |
'k+': 0x0643, | |
'l+': 0x0644, | |
'm+': 0x0645, | |
'n+': 0x0646, | |
'h+': 0x0647, | |
'w+': 0x0648, | |
'j+': 0x0649, | |
'y+': 0x064A, | |
':+': 0x064B, | |
'"+': 0x064C, | |
'=+': 0x064D, | |
'/+': 0x064E, | |
'\'+': 0x064F, | |
'1+': 0x0650, | |
'3+': 0x0651, | |
'0+': 0x0652, | |
'aS': 0x0670, | |
'p+': 0x067E, | |
'v+': 0x06A4, | |
'gf': 0x06AF, | |
'0a': 0x06F0, | |
'1a': 0x06F1, | |
'2a': 0x06F2, | |
'3a': 0x06F3, | |
'4a': 0x06F4, | |
'5a': 0x06F5, | |
'6a': 0x06F6, | |
'7a': 0x06F7, | |
'8a': 0x06F8, | |
'9a': 0x06F9, | |
'B.': 0x1E02, | |
'b.': 0x1E03, | |
'B_': 0x1E06, | |
'b_': 0x1E07, | |
'D.': 0x1E0A, | |
'd.': 0x1E0B, | |
'D_': 0x1E0E, | |
'd_': 0x1E0F, | |
'D,': 0x1E10, | |
'd,': 0x1E11, | |
'F.': 0x1E1E, | |
'f.': 0x1E1F, | |
'G-': 0x1E20, | |
'g-': 0x1E21, | |
'H.': 0x1E22, | |
'h.': 0x1E23, | |
'H:': 0x1E26, | |
'h:': 0x1E27, | |
'H,': 0x1E28, | |
'h,': 0x1E29, | |
'K\'': 0x1E30, | |
'k\'': 0x1E31, | |
'K_': 0x1E34, | |
'k_': 0x1E35, | |
'L_': 0x1E3A, | |
'l_': 0x1E3B, | |
'M\'': 0x1E3E, | |
'm\'': 0x1E3F, | |
'M.': 0x1E40, | |
'm.': 0x1E41, | |
'N.': 0x1E44, | |
'n.': 0x1E45, | |
'N_': 0x1E48, | |
'n_': 0x1E49, | |
'P\'': 0x1E54, | |
'p\'': 0x1E55, | |
'P.': 0x1E56, | |
'p.': 0x1E57, | |
'R.': 0x1E58, | |
'r.': 0x1E59, | |
'R_': 0x1E5E, | |
'r_': 0x1E5F, | |
'S.': 0x1E60, | |
's.': 0x1E61, | |
'T.': 0x1E6A, | |
't.': 0x1E6B, | |
'T_': 0x1E6E, | |
't_': 0x1E6F, | |
'V?': 0x1E7C, | |
'v?': 0x1E7D, | |
'W!': 0x1E80, | |
'w!': 0x1E81, | |
'W\'': 0x1E82, | |
'w\'': 0x1E83, | |
'W:': 0x1E84, | |
'w:': 0x1E85, | |
'W.': 0x1E86, | |
'w.': 0x1E87, | |
'X.': 0x1E8A, | |
'x.': 0x1E8B, | |
'X:': 0x1E8C, | |
'x:': 0x1E8D, | |
'Y.': 0x1E8E, | |
'y.': 0x1E8F, | |
'Z>': 0x1E90, | |
'z>': 0x1E91, | |
'Z_': 0x1E94, | |
'z_': 0x1E95, | |
'h_': 0x1E96, | |
't:': 0x1E97, | |
'w0': 0x1E98, | |
'y0': 0x1E99, | |
'A2': 0x1EA2, | |
'a2': 0x1EA3, | |
'E2': 0x1EBA, | |
'e2': 0x1EBB, | |
'E?': 0x1EBC, | |
'e?': 0x1EBD, | |
'I2': 0x1EC8, | |
'i2': 0x1EC9, | |
'O2': 0x1ECE, | |
'o2': 0x1ECF, | |
'U2': 0x1EE6, | |
'u2': 0x1EE7, | |
'Y!': 0x1EF2, | |
'y!': 0x1EF3, | |
'Y2': 0x1EF6, | |
'y2': 0x1EF7, | |
'Y?': 0x1EF8, | |
'y?': 0x1EF9, | |
';\'': 0x1F00, | |
',\'': 0x1F01, | |
';!': 0x1F02, | |
',!': 0x1F03, | |
'?;': 0x1F04, | |
'?,': 0x1F05, | |
'!:': 0x1F06, | |
'?:': 0x1F07, | |
'1N': 0x2002, | |
'1M': 0x2003, | |
'3M': 0x2004, | |
'4M': 0x2005, | |
'6M': 0x2006, | |
'1T': 0x2009, | |
'1H': 0x200A, | |
'-1': 0x2010, | |
'-N': 0x2013, | |
'-M': 0x2014, | |
'-3': 0x2015, | |
'!2': 0x2016, | |
'=2': 0x2017, | |
'\'6': 0x2018, | |
'\'9': 0x2019, | |
'.9': 0x201A, | |
'9\'': 0x201B, | |
'"6': 0x201C, | |
'"9': 0x201D, | |
':9': 0x201E, | |
'9"': 0x201F, | |
'/-': 0x2020, | |
'/=': 0x2021, | |
'..': 0x2025, | |
'%0': 0x2030, | |
'1\'': 0x2032, | |
'2\'': 0x2033, | |
'3\'': 0x2034, | |
'1"': 0x2035, | |
'2"': 0x2036, | |
'3"': 0x2037, | |
'Ca': 0x2038, | |
'<1': 0x2039, | |
'>1': 0x203A, | |
':X': 0x203B, | |
'\'-': 0x203E, | |
'/f': 0x2044, | |
'0S': 0x2070, | |
'4S': 0x2074, | |
'5S': 0x2075, | |
'6S': 0x2076, | |
'7S': 0x2077, | |
'8S': 0x2078, | |
'9S': 0x2079, | |
'+S': 0x207A, | |
'-S': 0x207B, | |
'=S': 0x207C, | |
'(S': 0x207D, | |
')S': 0x207E, | |
'nS': 0x207F, | |
'0s': 0x2080, | |
'1s': 0x2081, | |
'2s': 0x2082, | |
'3s': 0x2083, | |
'4s': 0x2084, | |
'5s': 0x2085, | |
'6s': 0x2086, | |
'7s': 0x2087, | |
'8s': 0x2088, | |
'9s': 0x2089, | |
'+s': 0x208A, | |
'-s': 0x208B, | |
'=s': 0x208C, | |
'(s': 0x208D, | |
')s': 0x208E, | |
'Li': 0x20A4, | |
'Pt': 0x20A7, | |
'W=': 0x20A9, | |
'Eu': 0x20AC, | |
'=R': 0x20BD, | |
'=P': 0x20BD, | |
'oC': 0x2103, | |
'co': 0x2105, | |
'oF': 0x2109, | |
'N0': 0x2116, | |
'PO': 0x2117, | |
'Rx': 0x211E, | |
'SM': 0x2120, | |
'TM': 0x2122, | |
'Om': 0x2126, | |
'AO': 0x212B, | |
'13': 0x2153, | |
'23': 0x2154, | |
'15': 0x2155, | |
'25': 0x2156, | |
'35': 0x2157, | |
'45': 0x2158, | |
'16': 0x2159, | |
'56': 0x215A, | |
'18': 0x215B, | |
'38': 0x215C, | |
'58': 0x215D, | |
'78': 0x215E, | |
'1R': 0x2160, | |
'2R': 0x2161, | |
'3R': 0x2162, | |
'4R': 0x2163, | |
'5R': 0x2164, | |
'6R': 0x2165, | |
'7R': 0x2166, | |
'8R': 0x2167, | |
'9R': 0x2168, | |
'aR': 0x2169, | |
'bR': 0x216A, | |
'cR': 0x216B, | |
'1r': 0x2170, | |
'2r': 0x2171, | |
'3r': 0x2172, | |
'4r': 0x2173, | |
'5r': 0x2174, | |
'6r': 0x2175, | |
'7r': 0x2176, | |
'8r': 0x2177, | |
'9r': 0x2178, | |
'ar': 0x2179, | |
'br': 0x217A, | |
'cr': 0x217B, | |
'<-': 0x2190, | |
'-!': 0x2191, | |
'->': 0x2192, | |
'-v': 0x2193, | |
'<>': 0x2194, | |
'UD': 0x2195, | |
'<=': 0x21D0, | |
': ': 0x21D2, | |
'==': 0x21D4, | |
'FA': 0x2200, | |
'dP': 0x2202, | |
'TE': 0x2203, | |
'/0': 0x2205, | |
'DE': 0x2206, | |
'NB': 0x2207, | |
'(-': 0x2208, | |
'-)': 0x220B, | |
'*P': 0x220F, | |
'+Z': 0x2211, | |
'-2': 0x2212, | |
'-+': 0x2213, | |
'*-': 0x2217, | |
'Ob': 0x2218, | |
'Sb': 0x2219, | |
'RT': 0x221A, | |
'0(': 0x221D, | |
'00': 0x221E, | |
'-L': 0x221F, | |
'-V': 0x2220, | |
'PP': 0x2225, | |
'AN': 0x2227, | |
'OR': 0x2228, | |
'(U': 0x2229, | |
')U': 0x222A, | |
'In': 0x222B, | |
'DI': 0x222C, | |
'Io': 0x222E, | |
'.:': 0x2234, | |
':.': 0x2235, | |
':R': 0x2236, | |
'::': 0x2237, | |
'?1': 0x223C, | |
'CG': 0x223E, | |
'?-': 0x2243, | |
'?=': 0x2245, | |
'?2': 0x2248, | |
'=?': 0x224C, | |
'HI': 0x2253, | |
'!=': 0x2260, | |
'=3': 0x2261, | |
'=<': 0x2264, | |
'>=': 0x2265, | |
'<*': 0x226A, | |
'*>': 0x226B, | |
'!<': 0x226E, | |
'!>': 0x226F, | |
'(C': 0x2282, | |
')C': 0x2283, | |
'(_': 0x2286, | |
')_': 0x2287, | |
'0.': 0x2299, | |
'02': 0x229A, | |
'-T': 0x22A5, | |
'.P': 0x22C5, | |
':3': 0x22EE, | |
'.3': 0x22EF, | |
'Eh': 0x2302, | |
'<7': 0x2308, | |
'>7': 0x2309, | |
'7<': 0x230A, | |
'7>': 0x230B, | |
'NI': 0x2310, | |
'(A': 0x2312, | |
'TR': 0x2315, | |
'Iu': 0x2320, | |
'Il': 0x2321, | |
'</': 0x2329, | |
'/>': 0x232A, | |
'Vs': 0x2423, | |
'1h': 0x2440, | |
'3h': 0x2441, | |
'2h': 0x2442, | |
'4h': 0x2443, | |
'1j': 0x2446, | |
'2j': 0x2447, | |
'3j': 0x2448, | |
'4j': 0x2449, | |
'1.': 0x2488, | |
'2.': 0x2489, | |
'3.': 0x248A, | |
'4.': 0x248B, | |
'5.': 0x248C, | |
'6.': 0x248D, | |
'7.': 0x248E, | |
'8.': 0x248F, | |
'9.': 0x2490, | |
'hh': 0x2500, | |
'HH': 0x2501, | |
'vv': 0x2502, | |
'VV': 0x2503, | |
'3-': 0x2504, | |
'3_': 0x2505, | |
'3!': 0x2506, | |
'3/': 0x2507, | |
'4-': 0x2508, | |
'4_': 0x2509, | |
'4!': 0x250A, | |
'4/': 0x250B, | |
'dr': 0x250C, | |
'dR': 0x250D, | |
'Dr': 0x250E, | |
'DR': 0x250F, | |
'dl': 0x2510, | |
'dL': 0x2511, | |
'Dl': 0x2512, | |
'LD': 0x2513, | |
'ur': 0x2514, | |
'uR': 0x2515, | |
'Ur': 0x2516, | |
'UR': 0x2517, | |
'ul': 0x2518, | |
'uL': 0x2519, | |
'Ul': 0x251A, | |
'UL': 0x251B, | |
'vr': 0x251C, | |
'vR': 0x251D, | |
'Vr': 0x2520, | |
'VR': 0x2523, | |
'vl': 0x2524, | |
'vL': 0x2525, | |
'Vl': 0x2528, | |
'VL': 0x252B, | |
'dh': 0x252C, | |
'dH': 0x252F, | |
'Dh': 0x2530, | |
'DH': 0x2533, | |
'uh': 0x2534, | |
'uH': 0x2537, | |
'Uh': 0x2538, | |
'UH': 0x253B, | |
'vh': 0x253C, | |
'vH': 0x253F, | |
'Vh': 0x2542, | |
'VH': 0x254B, | |
'FD': 0x2571, | |
'BD': 0x2572, | |
'TB': 0x2580, | |
'LB': 0x2584, | |
'FB': 0x2588, | |
'lB': 0x258C, | |
'RB': 0x2590, | |
'.S': 0x2591, | |
':S': 0x2592, | |
'?S': 0x2593, | |
'fS': 0x25A0, | |
'OS': 0x25A1, | |
'RO': 0x25A2, | |
'Rr': 0x25A3, | |
'RF': 0x25A4, | |
'RY': 0x25A5, | |
'RH': 0x25A6, | |
'RZ': 0x25A7, | |
'RK': 0x25A8, | |
'RX': 0x25A9, | |
'sB': 0x25AA, | |
'SR': 0x25AC, | |
'Or': 0x25AD, | |
'UT': 0x25B2, | |
'uT': 0x25B3, | |
'PR': 0x25B6, | |
'Tr': 0x25B7, | |
'Dt': 0x25BC, | |
'dT': 0x25BD, | |
'PL': 0x25C0, | |
'Tl': 0x25C1, | |
'Db': 0x25C6, | |
'Dw': 0x25C7, | |
'LZ': 0x25CA, | |
'0m': 0x25CB, | |
'0o': 0x25CE, | |
'0M': 0x25CF, | |
'0L': 0x25D0, | |
'0R': 0x25D1, | |
'Sn': 0x25D8, | |
'Ic': 0x25D9, | |
'Fd': 0x25E2, | |
'Bd': 0x25E3, | |
'*2': 0x2605, | |
'*1': 0x2606, | |
'<H': 0x261C, | |
'>H': 0x261E, | |
'0u': 0x263A, | |
'0U': 0x263B, | |
'SU': 0x263C, | |
'Fm': 0x2640, | |
'Ml': 0x2642, | |
'cS': 0x2660, | |
'cH': 0x2661, | |
'cD': 0x2662, | |
'cC': 0x2663, | |
'Md': 0x2669, | |
'M8': 0x266A, | |
'M2': 0x266B, | |
'Mb': 0x266D, | |
'Mx': 0x266E, | |
'MX': 0x266F, | |
'OK': 0x2713, | |
'XX': 0x2717, | |
'-X': 0x2720, | |
'IS': 0x3000, | |
',_': 0x3001, | |
'._': 0x3002, | |
'+"': 0x3003, | |
'+_': 0x3004, | |
'*_': 0x3005, | |
';_': 0x3006, | |
'0_': 0x3007, | |
'<+': 0x300A, | |
'>+': 0x300B, | |
'<\'': 0x300C, | |
'>\'': 0x300D, | |
'<"': 0x300E, | |
'>"': 0x300F, | |
'("': 0x3010, | |
')"': 0x3011, | |
'=T': 0x3012, | |
'=_': 0x3013, | |
'(\'': 0x3014, | |
')\'': 0x3015, | |
'(I': 0x3016, | |
')I': 0x3017, | |
'-?': 0x301C, | |
'A5': 0x3041, | |
'a5': 0x3042, | |
'I5': 0x3043, | |
'i5': 0x3044, | |
'U5': 0x3045, | |
'u5': 0x3046, | |
'E5': 0x3047, | |
'e5': 0x3048, | |
'O5': 0x3049, | |
'o5': 0x304A, | |
'ka': 0x304B, | |
'ga': 0x304C, | |
'ki': 0x304D, | |
'gi': 0x304E, | |
'ku': 0x304F, | |
'gu': 0x3050, | |
'ke': 0x3051, | |
'ge': 0x3052, | |
'ko': 0x3053, | |
'go': 0x3054, | |
'sa': 0x3055, | |
'za': 0x3056, | |
'si': 0x3057, | |
'zi': 0x3058, | |
'su': 0x3059, | |
'zu': 0x305A, | |
'se': 0x305B, | |
'ze': 0x305C, | |
'so': 0x305D, | |
'zo': 0x305E, | |
'ta': 0x305F, | |
'da': 0x3060, | |
'ti': 0x3061, | |
'di': 0x3062, | |
'tU': 0x3063, | |
'tu': 0x3064, | |
'du': 0x3065, | |
'te': 0x3066, | |
'de': 0x3067, | |
'to': 0x3068, | |
'do': 0x3069, | |
'na': 0x306A, | |
'ni': 0x306B, | |
'nu': 0x306C, | |
'ne': 0x306D, | |
'no': 0x306E, | |
'ha': 0x306F, | |
'ba': 0x3070, | |
'pa': 0x3071, | |
'hi': 0x3072, | |
'bi': 0x3073, | |
'pi': 0x3074, | |
'hu': 0x3075, | |
'bu': 0x3076, | |
'pu': 0x3077, | |
'he': 0x3078, | |
'be': 0x3079, | |
'pe': 0x307A, | |
'ho': 0x307B, | |
'bo': 0x307C, | |
'po': 0x307D, | |
'ma': 0x307E, | |
'mi': 0x307F, | |
'mu': 0x3080, | |
'me': 0x3081, | |
'mo': 0x3082, | |
'yA': 0x3083, | |
'ya': 0x3084, | |
'yU': 0x3085, | |
'yu': 0x3086, | |
'yO': 0x3087, | |
'yo': 0x3088, | |
'ra': 0x3089, | |
'ri': 0x308A, | |
'ru': 0x308B, | |
're': 0x308C, | |
'ro': 0x308D, | |
'wA': 0x308E, | |
'wa': 0x308F, | |
'wi': 0x3090, | |
'we': 0x3091, | |
'wo': 0x3092, | |
'n5': 0x3093, | |
'vu': 0x3094, | |
'"5': 0x309B, | |
'05': 0x309C, | |
'*5': 0x309D, | |
'+5': 0x309E, | |
'a6': 0x30A1, | |
'A6': 0x30A2, | |
'i6': 0x30A3, | |
'I6': 0x30A4, | |
'u6': 0x30A5, | |
'U6': 0x30A6, | |
'e6': 0x30A7, | |
'E6': 0x30A8, | |
'o6': 0x30A9, | |
'O6': 0x30AA, | |
'Ka': 0x30AB, | |
'Ga': 0x30AC, | |
'Ki': 0x30AD, | |
'Gi': 0x30AE, | |
'Ku': 0x30AF, | |
'Gu': 0x30B0, | |
'Ke': 0x30B1, | |
'Ge': 0x30B2, | |
'Ko': 0x30B3, | |
'Go': 0x30B4, | |
'Sa': 0x30B5, | |
'Za': 0x30B6, | |
'Si': 0x30B7, | |
'Zi': 0x30B8, | |
'Su': 0x30B9, | |
'Zu': 0x30BA, | |
'Se': 0x30BB, | |
'Ze': 0x30BC, | |
'So': 0x30BD, | |
'Zo': 0x30BE, | |
'Ta': 0x30BF, | |
'Da': 0x30C0, | |
'Ti': 0x30C1, | |
'Di': 0x30C2, | |
'TU': 0x30C3, | |
'Tu': 0x30C4, | |
'Du': 0x30C5, | |
'Te': 0x30C6, | |
'De': 0x30C7, | |
'To': 0x30C8, | |
'Do': 0x30C9, | |
'Na': 0x30CA, | |
'Ni': 0x30CB, | |
'Nu': 0x30CC, | |
'Ne': 0x30CD, | |
'No': 0x30CE, | |
'Ha': 0x30CF, | |
'Ba': 0x30D0, | |
'Pa': 0x30D1, | |
'Hi': 0x30D2, | |
'Bi': 0x30D3, | |
'Pi': 0x30D4, | |
'Hu': 0x30D5, | |
'Bu': 0x30D6, | |
'Pu': 0x30D7, | |
'He': 0x30D8, | |
'Be': 0x30D9, | |
'Pe': 0x30DA, | |
'Ho': 0x30DB, | |
'Bo': 0x30DC, | |
'Po': 0x30DD, | |
'Ma': 0x30DE, | |
'Mi': 0x30DF, | |
'Mu': 0x30E0, | |
'Me': 0x30E1, | |
'Mo': 0x30E2, | |
'YA': 0x30E3, | |
'Ya': 0x30E4, | |
'YU': 0x30E5, | |
'Yu': 0x30E6, | |
'YO': 0x30E7, | |
'Yo': 0x30E8, | |
'Ra': 0x30E9, | |
'Ri': 0x30EA, | |
'Ru': 0x30EB, | |
'Re': 0x30EC, | |
'Ro': 0x30ED, | |
'WA': 0x30EE, | |
'Wa': 0x30EF, | |
'Wi': 0x30F0, | |
'We': 0x30F1, | |
'Wo': 0x30F2, | |
'N6': 0x30F3, | |
'Vu': 0x30F4, | |
'KA': 0x30F5, | |
'KE': 0x30F6, | |
'Va': 0x30F7, | |
'Vi': 0x30F8, | |
'Ve': 0x30F9, | |
'Vo': 0x30FA, | |
'.6': 0x30FB, | |
'-6': 0x30FC, | |
'*6': 0x30FD, | |
'+6': 0x30FE, | |
'b4': 0x3105, | |
'p4': 0x3106, | |
'm4': 0x3107, | |
'f4': 0x3108, | |
'd4': 0x3109, | |
't4': 0x310A, | |
'n4': 0x310B, | |
'l4': 0x310C, | |
'g4': 0x310D, | |
'k4': 0x310E, | |
'h4': 0x310F, | |
'j4': 0x3110, | |
'q4': 0x3111, | |
'x4': 0x3112, | |
'zh': 0x3113, | |
'ch': 0x3114, | |
'sh': 0x3115, | |
'r4': 0x3116, | |
'z4': 0x3117, | |
'c4': 0x3118, | |
's4': 0x3119, | |
'a4': 0x311A, | |
'o4': 0x311B, | |
'e4': 0x311C, | |
'ai': 0x311E, | |
'ei': 0x311F, | |
'au': 0x3120, | |
'ou': 0x3121, | |
'an': 0x3122, | |
'en': 0x3123, | |
'aN': 0x3124, | |
'eN': 0x3125, | |
'er': 0x3126, | |
'i4': 0x3127, | |
'u4': 0x3128, | |
'iu': 0x3129, | |
'v4': 0x312A, | |
'nG': 0x312B, | |
'gn': 0x312C, | |
'1c': 0x3220, | |
'2c': 0x3221, | |
'3c': 0x3222, | |
'4c': 0x3223, | |
'5c': 0x3224, | |
'6c': 0x3225, | |
'7c': 0x3226, | |
'8c': 0x3227, | |
'9c': 0x3228, | |
'ff': 0xFB00, | |
'fi': 0xFB01, | |
'fl': 0xFB02, | |
'ft': 0xFB05, | |
'st': 0xFB06, | |
'!#': 8802, | |
'(+': 8713, | |
'+)': 8716, | |
'(/': 8836, | |
'/)': 8837, | |
'@+': 8853, | |
'@-': 8854, | |
'@x': 8855, | |
'@/': 8856, | |
'@.': 8857, | |
'@o': 8858, | |
'@*': 8859, | |
'@=': 8860, | |
'@|': 10678, | |
'3<': 8920, | |
'3>': 8921, | |
'NN': 8469, | |
'QQ': 8474, | |
'RR': 8477, | |
'ZZ': 8484, | |
'CC': 8450, | |
'FF': 120125, | |
'KK': 120130, | |
'^_': 9651, | |
'|>': 9655, | |
'_v': 9661, | |
'<|': 9665, | |
'oo': 3232, | |
'__': 9251, | |
'uu': 8995, | |
'ee': 601, | |
'll': 8467, | |
'!!': 8252, | |
'??': 8263, | |
'?!': 8264, | |
'!?': 8265, | |
'?|': 8253, | |
'<3': 9829, | |
',3': 8230, | |
'RE': 8476, | |
'IM': 8465, | |
'wp': 8472, | |
'^?': 65533, | |
'O.': 664, | |
'ao': 12576, | |
} | |
def main(value): | |
if value.startswith('U+'): | |
value = value[2:] | |
sys.stdout.write(unichr(int(value, 16)).encode('utf8')) | |
return | |
if value in maps: | |
sys.stdout.write(unichr(maps[value]).encode('utf8')) | |
return | |
if value[::-1] in maps: | |
sys.stdout.write(unichr(maps[value[::-1]]).encode('utf8')) | |
return | |
raise Exception('invalid input: ' + repr(value)) | |
if __name__ == '__main__': | |
try: | |
main(sys.stdin.read().strip()) | |
except Exception, e: | |
logging.exception('digraph.py') | |
raise |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment