From 5be1b057adf8a639f718409b2fd8986272d05ac0 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Sat, 24 Mar 2018 09:20:26 -0500 Subject: Add infra talk for ons --- src/infra/cp437utf8.py | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/infra/cp437utf8.py (limited to 'src/infra/cp437utf8.py') diff --git a/src/infra/cp437utf8.py b/src/infra/cp437utf8.py new file mode 100644 index 0000000..9b1b629 --- /dev/null +++ b/src/infra/cp437utf8.py @@ -0,0 +1,69 @@ +# _______ +# ____________ _______ _\__ /_________ ___ _____ +# | _ _ \ _ | ____\ _ / | |/ _ \ +# | / / / / | | | /___/ _ | | / / +# |___/___/ /___/____|________|___ | |_| |___|_____/ +# \__/ |___| +# +# +# (c) 2009-2012 Wijnand Modderman-Lenstra +# MIT License +# + +CP437 = ( + u'\u0000', u'\u0001', u'\u0002', u'\u0003', u'\u0004', u'\u0005', + u'\u0006', u'\u0007', u'\u0008', u'\u0009', u'\u000A', u'\u000B', + u'\u000C', u'\u000D', u'\u000E', u'\u000F', u'\u0010', u'\u0011', + u'\u0012', u'\u0013', u'\u0014', u'\u0015', u'\u0016', u'\u0017', + u'\u0018', u'\u0019', u'\u001A', u'\u001B', u'\u001C', u'\u001D', + u'\u001E', u'\u001F', u'\u0020', u'\u0021', u'\u0022', u'\u0023', + u'\u0024', u'\u0025', u'\u0026', u'\u0027', u'\u0028', u'\u0029', + u'\u002A', u'\u002B', u'\u002C', u'\u002D', u'\u002E', u'\u002F', + u'\u0030', u'\u0031', u'\u0032', u'\u0033', u'\u0034', u'\u0035', + u'\u0036', u'\u0037', u'\u0038', u'\u0039', u'\u003A', u'\u003B', + u'\u003C', u'\u003D', u'\u003E', u'\u003F', u'\u0040', u'\u0041', + u'\u0042', u'\u0043', u'\u0044', u'\u0045', u'\u0046', u'\u0047', + u'\u0048', u'\u0049', u'\u004A', u'\u004B', u'\u004C', u'\u004D', + u'\u004E', u'\u004F', u'\u0050', u'\u0051', u'\u0052', u'\u0053', + u'\u0054', u'\u0055', u'\u0056', u'\u0057', u'\u0058', u'\u0059', + u'\u005A', u'\u005B', u'\u005C', u'\u005D', u'\u005E', u'\u005F', + u'\u0060', u'\u0061', u'\u0062', u'\u0063', u'\u0064', u'\u0065', + u'\u0066', u'\u0067', u'\u0068', u'\u0069', u'\u006A', u'\u006B', + u'\u006C', u'\u006D', u'\u006E', u'\u006F', u'\u0070', u'\u0071', + u'\u0072', u'\u0073', u'\u0074', u'\u0075', u'\u0076', u'\u0077', + u'\u0078', u'\u0079', u'\u007A', u'\u007B', u'\u007C', u'\u007D', + u'\u007E', u'\u007F', u'\u00C7', u'\u00FC', u'\u00E9', u'\u00E2', + u'\u00E4', u'\u00E0', u'\u00E5', u'\u00E7', u'\u00EA', u'\u00EB', + u'\u00E8', u'\u00EF', u'\u00EE', u'\u00EC', u'\u00C4', u'\u00C5', + u'\u00C9', u'\u00E6', u'\u00C6', u'\u00F4', u'\u00F6', u'\u00F2', + u'\u00FB', u'\u00F9', u'\u00FF', u'\u00D6', u'\u00DC', u'\u00A2', + u'\u00A3', u'\u00A5', u'\u20A7', u'\u0192', u'\u00E1', u'\u00ED', + u'\u00F3', u'\u00FA', u'\u00F1', u'\u00D1', u'\u00AA', u'\u00BA', + u'\u00BF', u'\u2310', u'\u00AC', u'\u00BD', u'\u00BC', u'\u00A1', + u'\u00AB', u'\u00BB', u'\u2591', u'\u2592', u'\u2593', u'\u2502', + u'\u2524', u'\u2561', u'\u2562', u'\u2556', u'\u2555', u'\u2563', + u'\u2551', u'\u2557', u'\u255D', u'\u255C', u'\u255B', u'\u2510', + u'\u2514', u'\u2534', u'\u252C', u'\u251C', u'\u2500', u'\u253C', + u'\u255E', u'\u255F', u'\u255A', u'\u2554', u'\u2569', u'\u2566', + u'\u2560', u'\u2550', u'\u256C', u'\u2567', u'\u2568', u'\u2564', + u'\u2565', u'\u2559', u'\u2558', u'\u2552', u'\u2553', u'\u256B', + u'\u256A', u'\u2518', u'\u250C', u'\u2588', u'\u2584', u'\u258C', + u'\u2590', u'\u2580', u'\u03B1', u'\u00DF', u'\u0393', u'\u03C0', + u'\u03A3', u'\u03C3', u'\u00B5', u'\u03C4', u'\u03A6', u'\u0398', + u'\u03A9', u'\u03B4', u'\u221E', u'\u03C6', u'\u03B5', u'\u2229', + u'\u2261', u'\u00B1', u'\u2265', u'\u2264', u'\u2320', u'\u2321', + u'\u00F7', u'\u2248', u'\u00B0', u'\u2219', u'\u00B7', u'\u221A', + u'\u207F', u'\u00B2', u'\u25A0', u'\u00A0', +) + +def convert(text): + return u''.join([CP437[ord(char)] for char in text]) + +if __name__ == '__main__': + import sys + if len(sys.argv) < 2: + print >>sys.stderr, '%s ' % (sys.argv[0],) + sys.exit(1) + d = file(sys.argv[1]).read() + out = open(sys.argv[2], 'w') + out.write(convert(d).encode('utf8')) -- cgit v1.2.3