# -*- coding: utf-8 -*- import codecs def iso6937_encode(input, errors, encoding_map): result = b'' num_bytes = 0 for c in input: try: if ord(c) in range(0x00, 0xA0): result += bytes([ord(c)]) num_bytes += 1 elif c in encoding_map: result += encoding_map[c] num_bytes += len(encoding_map[c]) else: raise KeyError except KeyError: if errors == 'strict': raise UnicodeError("Unacceptable unicode character") elif errors == 'replace': num_bytes += 1 result += b'?' elif errors == 'ignore': pass else: raise UnicodeError("Unknown error handling") return (result, num_bytes) def iso6937_decode(input, errors, decoding_map): result = '' num_bytes = 0 i = 0 while i < len(input): c = bytes([input[i]]) try: if c in nonspacing_diacritical_marks: i += 1 if i >= len(input): raise KeyError char = c + bytes([input[i]]) if char in decoding_map: result += decoding_map[char] num_bytes += len(decoding_map[char]) else: raise KeyError elif c in decoding_map: result += decoding_map[c] num_bytes += len(decoding_map[c]) else: num_bytes += 1 result += chr(c[0]) except KeyError: if errors == 'strict': raise UnicodeError("Unrecognized iso6937 character") elif errors == 'replace': num_bytes += 1 result += '?' elif errors == 'ignore': pass else: raise UnicodeError("Unknown error handling") i += 1 return (result, num_bytes) # Codec APIs class Codec(codecs.Codec): def encode(self, input, errors='strict'): return iso6937_encode(input, errors, encoding_map) def decode(self, input, errors='strict'): return iso6937_decode(input, errors, decoding_map) class IncrementalEncoder(codecs.IncrementalEncoder): def encode(self, input, final=False): return iso6937_encode(input, self.errors, encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): def decode(self, input, final=False): return iso6937_decode(input, self.errors, decoding_map)[0] class StreamWriter(Codec, codecs.StreamWriter): pass class StreamReader(Codec, codecs.StreamReader): pass # Encodings module API def getregentry(): return codecs.CodecInfo( name='iso6937', encode=Codec().encode, decode=Codec().decode, incrementalencoder=IncrementalEncoder, incrementaldecoder=IncrementalDecoder, streamreader=StreamReader, streamwriter=StreamWriter, ) nonspacing_diacritical_marks = [ b'\xc1', b'\xc2', b'\xc3', b'\xc4', b'\xc5', b'\xc6', b'\xc7', b'\xc8', b'\xca', b'\xcb', b'\xcd', b'\xce', b'\xcf', ] # Decoding Map decoding_map = { b'\xa0': '\u00A0', # NO-BREAK SPACE b'\xa1': '\u00A1', # ¡ b'\xa2': '\u00A2', # ¢ b'\xa3': '\u00A3', # £ # '\xa4' b'\xa5': '\u00A5', # ¥ # '\xa6' b'\xa7': '\u00A7', # § b'\xa8': '\u00A4', # ¤ b'\xa9': '\u2018', # ‘ b'\xaa': '\u201C', # “ b'\xab': '\u00AB', # « b'\xac': '\u2190', # ← b'\xad': '\u2191', # ↑ b'\xae': '\u2192', # → b'\xaf': '\u2193', # ↓ b'\xb0': '\u00B0', # ° b'\xb1': '\u00B1', # ± b'\xb2': '\u00B2', # ² b'\xb3': '\u00B3', # ³ b'\xb4': '\u00D7', # × b'\xb5': '\u00B5', # µ b'\xb6': '\u00B6', # ¶ b'\xb7': '\u00B7', # · b'\xb8': '\u00F7', # ÷ b'\xb9': '\u2019', # ’ b'\xba': '\u201D', # ” b'\xbb': '\u00BB', # » b'\xbc': '\u00BC', # ¼ b'\xbd': '\u00BD', # ½ b'\xbe': '\u00BE', # ¾ b'\xbf': '\u00BF', # ¿ # '\xc0' # '\xc1' # '\xc2' # '\xc3' # '\xc4' # '\xc5' # '\xc6' # '\xc7' # '\xc8' # '\xc9 # '\xca' # '\xcb' # '\xcc # '\xcd' # '\xce' # '\xcf' b'\xd0': '\u2014', # — b'\xd1': '\u00B9', # ¹ b'\xd2': '\u00AE', # ® b'\xd3': '\u00A9', # © b'\xd4': '\u2122', # ™ b'\xd5': '\u266A', # ♪ b'\xd6': '\u00AC', # ¬ b'\xd7': '\u00A6', # ¦ # '\xd8' # '\xd9' # '\xda' # '\xdb' b'\xdc': '\u215B', # ⅛ b'\xdd': '\u215C', # ⅜ b'\xde': '\u215D', # ⅝ b'\xdf': '\u215E', # ⅞ b'\xe0': '\u2126', # Ω b'\xe1': '\u00C6', # Æ b'\xe2': '\u00D0', # Ð b'\xe3': '\u00AA', # ª b'\xe4': '\u0126', # Ħ # '\xe5' b'\xe6': '\u0132', # IJ b'\xe7': '\u013F', # Ŀ b'\xe8': '\u0141', # Ł b'\xe9': '\u00D8', # Ø b'\xea': '\u0152', # Œ b'\xeb': '\u00BA', # º b'\xec': '\u00DE', # Þ b'\xed': '\u0166', # Ŧ b'\xee': '\u014A', # Ŋ b'\xef': '\u0149', # ʼn b'\xf0': '\u0138', # ĸ b'\xf1': '\u00E6', # æ b'\xf2': '\u0111', # đ b'\xf3': '\u00F0', # ð b'\xf4': '\u0127', # ħ b'\xf5': '\u0131', # ı b'\xf6': '\u0133', # ij b'\xf7': '\u0140', # ŀ b'\xf8': '\u0142', # ł b'\xf9': '\u00F8', # ø b'\xfa': '\u0153', # œ b'\xfb': '\u00DF', # ß b'\xfc': '\u00FE', # þ b'\xfd': '\u0167', # ŧ b'\xfe': '\u014B', # ŋ b'\xff': '\u00AD', # SOFT HYPHEN b'\xc1'+b'A': '\u00C0', # À b'\xc1'+b'E': '\u00C8', # È b'\xc1'+b'I': '\u00CC', # Ì b'\xc1'+b'O': '\u00D2', # Ò b'\xc1'+b'U': '\u00D9', # Ù b'\xc1'+b'a': '\u00E0', # à b'\xc1'+b'e': '\u00E8', # è b'\xc1'+b'i': '\u00EC', # ì b'\xc1'+b'o': '\u00F2', # ò b'\xc1'+b'u': '\u00F9', # ù b'\xc2'+b' ': '\u00B4', # ´ b'\xc2'+b'A': '\u00C1', # Á b'\xc2'+b'C': '\u0106', # Ć b'\xc2'+b'E': '\u00C9', # É b'\xc2'+b'I': '\u00CD', # Í b'\xc2'+b'L': '\u0139', # Ĺ b'\xc2'+b'N': '\u0143', # Ń b'\xc2'+b'O': '\u00D3', # Ó b'\xc2'+b'R': '\u0154', # Ŕ b'\xc2'+b'S': '\u015A', # Ś b'\xc2'+b'U': '\u00DA', # Ú b'\xc2'+b'Y': '\u00DD', # Ý b'\xc2'+b'Z': '\u0179', # Ź b'\xc2'+b'a': '\u00E1', # á b'\xc2'+b'c': '\u0107', # ć b'\xc2'+b'e': '\u00E9', # é b'\xc2'+b'g': '\u0123', # ģ b'\xc2'+b'i': '\u00ED', # í b'\xc2'+b'l': '\u013A', # ĺ b'\xc2'+b'n': '\u0144', # ń b'\xc2'+b'o': '\u00F3', # ó b'\xc2'+b'r': '\u0155', # ŕ b'\xc2'+b's': '\u015B', # ś b'\xc2'+b'u': '\u00FA', # ú b'\xc2'+b'y': '\u00FD', # ý b'\xc2'+b'z': '\u017A', # ź b'\xc3'+b'A': '\u00C2', #  b'\xc3'+b'C': '\u0108', # Ĉ b'\xc3'+b'E': '\u00CA', # Ê b'\xc3'+b'G': '\u011C', # Ĝ b'\xc3'+b'H': '\u0124', # Ĥ b'\xc3'+b'I': '\u00CE', # Î b'\xc3'+b'J': '\u0134', # Ĵ b'\xc3'+b'O': '\u00D4', # Ô b'\xc3'+b'S': '\u015C', # Ŝ b'\xc3'+b'U': '\u00DB', # Û b'\xc3'+b'W': '\u0174', # Ŵ b'\xc3'+b'Y': '\u0176', # Ŷ b'\xc3'+b'a': '\u00E2', # â b'\xc3'+b'c': '\u0109', # ĉ b'\xc3'+b'e': '\u00EA', # ê b'\xc3'+b'g': '\u011D', # ĝ b'\xc3'+b'h': '\u0125', # ĥ b'\xc3'+b'i': '\u00EE', # î b'\xc3'+b'j': '\u0135', # ĵ b'\xc3'+b'o': '\u00F4', # ô b'\xc3'+b's': '\u015D', # ŝ b'\xc3'+b'u': '\u00FB', # û b'\xc3'+b'w': '\u0175', # ŵ b'\xc3'+b'y': '\u0177', # ŷ b'\xc4'+b'A': '\u00C3', # à b'\xc4'+b'I': '\u0128', # Ĩ b'\xc4'+b'N': '\u00D1', # Ñ b'\xc4'+b'O': '\u00D5', # Õ b'\xc4'+b'U': '\u0168', # Ũ b'\xc4'+b'a': '\u00E3', # ã b'\xc4'+b'i': '\u0129', # ĩ b'\xc4'+b'n': '\u00F1', # ñ b'\xc4'+b'o': '\u00F5', # õ b'\xc4'+b'u': '\u0169', # ũ b'\xc5'+b' ': '\u00AF', # ¯ b'\xc5'+b'A': '\u0100', # Ā b'\xc5'+b'E': '\u0112', # Ē b'\xc5'+b'I': '\u012A', # Ī b'\xc5'+b'O': '\u014C', # Ō b'\xc5'+b'U': '\u016A', # Ū b'\xc5'+b'a': '\u0101', # ā b'\xc5'+b'e': '\u0113', # ē b'\xc5'+b'i': '\u012B', # ī b'\xc5'+b'o': '\u014D', # ō b'\xc5'+b'u': '\u016B', # ū b'\xc6'+b' ': '\u02D8', # ˘ b'\xc6'+b'A': '\u0102', # Ă b'\xc6'+b'G': '\u011E', # Ğ b'\xc6'+b'U': '\u016C', # Ŭ b'\xc6'+b'a': '\u0103', # ă b'\xc6'+b'g': '\u011F', # ğ b'\xc6'+b'u': '\u016D', # ŭ b'\xc7'+b' ': '\u02D9', # ˙ b'\xc7'+b'C': '\u010A', # Ċ b'\xc7'+b'E': '\u0116', # Ė b'\xc7'+b'G': '\u0120', # Ġ b'\xc7'+b'I': '\u0130', # İ b'\xc7'+b'Z': '\u017B', # Ż b'\xc7'+b'c': '\u010B', # ċ b'\xc7'+b'e': '\u0117', # ė b'\xc7'+b'g': '\u0121', # ġ b'\xc7'+b'z': '\u017C', # ż b'\xc8'+b' ': '\u00A8', # ¨ b'\xc8'+b'A': '\u00C4', # Ä b'\xc8'+b'E': '\u00CB', # Ë b'\xc8'+b'I': '\u00CF', # Ï b'\xc8'+b'O': '\u00D6', # Ö b'\xc8'+b'U': '\u00DC', # Ü b'\xc8'+b'Y': '\u0178', # Ÿ b'\xc8'+b'a': '\u00E4', # ä b'\xc8'+b'e': '\u00EB', # ë b'\xc8'+b'i': '\u00EF', # ï b'\xc8'+b'o': '\u00F6', # ö b'\xc8'+b'u': '\u00FC', # ü b'\xc8'+b'y': '\u00FF', # ÿ b'\xca'+b' ': '\u02DA', # ˚ b'\xca'+b'A': '\u00C5', # Å b'\xca'+b'U': '\u016E', # Ů b'\xca'+b'a': '\u00E5', # å b'\xca'+b'u': '\u016F', # ů b'\xcb'+b' ': '\u00B8', # ¸ b'\xcb'+b'C': '\u00C7', # Ç b'\xcb'+b'G': '\u0122', # Ģ b'\xcb'+b'K': '\u0136', # Ķ b'\xcb'+b'L': '\u013B', # Ļ b'\xcb'+b'N': '\u0145', # Ņ b'\xcb'+b'R': '\u0156', # Ŗ b'\xcb'+b'S': '\u015E', # Ş b'\xcb'+b'T': '\u0162', # Ţ b'\xcb'+b'c': '\u00E7', # ç b'\xcb'+b'g': '\u0123', # ģ b'\xcb'+b'k': '\u0137', # ķ b'\xcb'+b'l': '\u013C', # ļ b'\xcb'+b'n': '\u0146', # ņ b'\xcb'+b'r': '\u0157', # ŗ b'\xcb'+b's': '\u015F', # ş b'\xcb'+b't': '\u0163', # ţ b'\xcd'+b' ': '\u02DD', # ˝ b'\xcd'+b'O': '\u0150', # Ő b'\xcd'+b'U': '\u0170', # Ű b'\xcd'+b'o': '\u0151', # ő b'\xcd'+b'u': '\u0171', # ű b'\xce'+b' ': '\u02DB', # ˛ b'\xce'+b'A': '\u0104', # Ą b'\xce'+b'E': '\u0118', # Ę b'\xce'+b'I': '\u012E', # Į b'\xce'+b'U': '\u0172', # Ų b'\xce'+b'a': '\u0105', # ą b'\xce'+b'e': '\u0119', # ę b'\xce'+b'i': '\u012F', # į b'\xce'+b'u': '\u0173', # ų b'\xcf'+b' ': '\u02C7', # ˇ b'\xcf'+b'C': '\u010C', # Č b'\xcf'+b'D': '\u010E', # Ď b'\xcf'+b'E': '\u011A', # Ě b'\xcf'+b'L': '\u013D', # Ľ b'\xcf'+b'N': '\u0147', # Ň b'\xcf'+b'R': '\u0158', # Ř b'\xcf'+b'S': '\u0160', # Š b'\xcf'+b'T': '\u0164', # Ť b'\xcf'+b'Z': '\u017D', # Ž b'\xcf'+b'c': '\u010D', # č b'\xcf'+b'd': '\u010F', # ď b'\xcf'+b'e': '\u011B', # ě b'\xcf'+b'l': '\u013E', # ľ b'\xcf'+b'n': '\u0148', # ň b'\xcf'+b'r': '\u0159', # ř b'\xcf'+b's': '\u0161', # š b'\xcf'+b't': '\u0165', # ť b'\xcf'+b'z': '\u017E', # ž } # Encoding Map encoding_map = { '\u00A0': b'\xa0', # NO-BREAK SPACE '\u00A1': b'\xa1', # ¡ '\u00A2': b'\xa2', # ¢ '\u00A3': b'\xa3', # £ # b'\xa4', '\u00A5': b'\xa5', # ¥ # b'\xa6', '\u00A7': b'\xa7', # § '\u00A4': b'\xa8', # ¤ '\u2018': b'\xa9', # ‘ '\u201C': b'\xaa', # “ '\u00AB': b'\xab', # « '\u2190': b'\xac', # ← '\u2191': b'\xad', # ↑ '\u2192': b'\xae', # → '\u2193': b'\xaf', # ↓ '\u00B0': b'\xb0', # ° '\u00B1': b'\xb1', # ± '\u00B2': b'\xb2', # ² '\u00B3': b'\xb3', # ³ '\u00D7': b'\xb4', # × '\u00B5': b'\xb5', # µ '\u00B6': b'\xb6', # ¶ '\u00B7': b'\xb7', # · '\u00F7': b'\xb8', # ÷ '\u2019': b'\xb9', # ’ '\u201D': b'\xba', # ” '\u00BB': b'\xbb', # » '\u00BC': b'\xbc', # ¼ '\u00BD': b'\xbd', # ½ '\u00BE': b'\xbe', # ¾ '\u00BF': b'\xbf', # ¿ # b'\xc0', # b'\xc1', # b'\xc2', # b'\xc3', # b'\xc4', # b'\xc5', # b'\xc6', # b'\xc7', # b'\xc8', # b'\xc9', # b'\xca', # b'\xcb', # b'\xcc', # b'\xcd', # b'\xce', # b'\xcf', '\u2014': b'\xd0', # — '\u00B9': b'\xd1', # ¹ '\u00AE': b'\xd2', # ® '\u00A9': b'\xd3', # © '\u2122': b'\xd4', # ™ '\u266A': b'\xd5', # ♪ '\u00AC': b'\xd6', # ¬ '\u00A6': b'\xd7', # ¦ # b'\xd8', # b'\xd9', # b'\xda', # b'\xdb', '\u215B': b'\xdc', # ⅛ '\u215C': b'\xdd', # ⅜ '\u215D': b'\xde', # ⅝ '\u215E': b'\xdf', # ⅞ '\u2126': b'\xe0', # Ω '\u00C6': b'\xe1', # Æ '\u00D0': b'\xe2', # Ð '\u00AA': b'\xe3', # ª '\u0126': b'\xe4', # Ħ # b'\xe5', '\u0132': b'\xe6', # IJ '\u013F': b'\xe7', # Ŀ '\u0141': b'\xe8', # Ł '\u00D8': b'\xe9', # Ø '\u0152': b'\xea', # Œ '\u00BA': b'\xeb', # º '\u00DE': b'\xec', # Þ '\u0166': b'\xed', # Ŧ '\u014A': b'\xee', # Ŋ '\u0149': b'\xef', # ʼn '\u0138': b'\xf0', # ĸ '\u00E6': b'\xf1', # æ '\u0111': b'\xf2', # đ '\u00F0': b'\xf3', # ð '\u0127': b'\xf4', # ħ '\u0131': b'\xf5', # ı '\u0133': b'\xf6', # ij '\u0140': b'\xf7', # ŀ '\u0142': b'\xf8', # ł '\u00F8': b'\xf9', # ø '\u0153': b'\xfa', # œ '\u00DF': b'\xfb', # ß '\u00FE': b'\xfc', # þ '\u0167': b'\xfd', # ŧ '\u014B': b'\xfe', # ŋ '\u00AD': b'\xff', # SOFT HYPHEN '\u00C0': b'\xc1'+b'A', # À '\u00C8': b'\xc1'+b'E', # È '\u00CC': b'\xc1'+b'I', # Ì '\u00D2': b'\xc1'+b'O', # Ò '\u00D9': b'\xc1'+b'U', # Ù '\u00E0': b'\xc1'+b'a', # à '\u00E8': b'\xc1'+b'e', # è '\u00EC': b'\xc1'+b'i', # ì '\u00F2': b'\xc1'+b'o', # ò '\u00F9': b'\xc1'+b'u', # ù '\u00C1': b'\xc2'+b'A', # Á '\u0106': b'\xc2'+b'C', # Ć '\u00C9': b'\xc2'+b'E', # É '\u00CD': b'\xc2'+b'I', # Í '\u0139': b'\xc2'+b'L', # Ĺ '\u0143': b'\xc2'+b'N', # Ń '\u00D3': b'\xc2'+b'O', # Ó '\u0154': b'\xc2'+b'R', # Ŕ '\u015A': b'\xc2'+b'S', # Ś '\u00DA': b'\xc2'+b'U', # Ú '\u00DD': b'\xc2'+b'Y', # Ý '\u0179': b'\xc2'+b'Z', # Ź '\u00E1': b'\xc2'+b'a', # á '\u0107': b'\xc2'+b'c', # ć '\u00E9': b'\xc2'+b'e', # é '\u0123': b'\xc2'+b'g', # ģ '\u00ED': b'\xc2'+b'i', # í '\u013A': b'\xc2'+b'l', # ĺ '\u0144': b'\xc2'+b'n', # ń '\u00F3': b'\xc2'+b'o', # ó '\u0155': b'\xc2'+b'r', # ŕ '\u015B': b'\xc2'+b's', # ś '\u00FA': b'\xc2'+b'u', # ú '\u00FD': b'\xc2'+b'y', # ý '\u017A': b'\xc2'+b'z', # ź '\u00C2': b'\xc3'+b'A', #  '\u0108': b'\xc3'+b'C', # Ĉ '\u00CA': b'\xc3'+b'E', # Ê '\u011C': b'\xc3'+b'G', # Ĝ '\u0124': b'\xc3'+b'H', # Ĥ '\u00CE': b'\xc3'+b'I', # Î '\u0134': b'\xc3'+b'J', # Ĵ '\u00D4': b'\xc3'+b'O', # Ô '\u015C': b'\xc3'+b'S', # Ŝ '\u00DB': b'\xc3'+b'U', # Û '\u0174': b'\xc3'+b'W', # Ŵ '\u0176': b'\xc3'+b'Y', # Ŷ '\u00E2': b'\xc3'+b'a', # â '\u0109': b'\xc3'+b'c', # ĉ '\u00EA': b'\xc3'+b'e', # ê '\u011D': b'\xc3'+b'g', # ĝ '\u0125': b'\xc3'+b'h', # ĥ '\u00EE': b'\xc3'+b'i', # î '\u0135': b'\xc3'+b'j', # ĵ '\u00F4': b'\xc3'+b'o', # ô '\u015D': b'\xc3'+b's', # ŝ '\u00FB': b'\xc3'+b'u', # û '\u0175': b'\xc3'+b'w', # ŵ '\u0177': b'\xc3'+b'y', # ŷ '\u00C3': b'\xc4'+b'A', # à '\u0128': b'\xc4'+b'I', # Ĩ '\u00D1': b'\xc4'+b'N', # Ñ '\u00D5': b'\xc4'+b'O', # Õ '\u0168': b'\xc4'+b'U', # Ũ '\u00E3': b'\xc4'+b'a', # ã '\u0129': b'\xc4'+b'i', # ĩ '\u00F1': b'\xc4'+b'n', # ñ '\u00F5': b'\xc4'+b'o', # õ '\u0169': b'\xc4'+b'u', # ũ '\u0100': b'\xc5'+b'A', # Ā '\u0112': b'\xc5'+b'E', # Ē '\u012A': b'\xc5'+b'I', # Ī '\u014C': b'\xc5'+b'O', # Ō '\u016A': b'\xc5'+b'U', # Ū '\u0101': b'\xc5'+b'a', # ā '\u0113': b'\xc5'+b'e', # ē '\u012B': b'\xc5'+b'i', # ī '\u014D': b'\xc5'+b'o', # ō '\u016B': b'\xc5'+b'u', # ū '\u0102': b'\xc6'+b'A', # Ă '\u011E': b'\xc6'+b'G', # Ğ '\u016C': b'\xc6'+b'U', # Ŭ '\u0103': b'\xc6'+b'a', # ă '\u011F': b'\xc6'+b'g', # ğ '\u016D': b'\xc6'+b'u', # ŭ '\u010A': b'\xc7'+b'C', # Ċ '\u0116': b'\xc7'+b'E', # Ė '\u0120': b'\xc7'+b'G', # Ġ '\u0130': b'\xc7'+b'I', # İ '\u017B': b'\xc7'+b'Z', # Ż '\u010B': b'\xc7'+b'c', # ċ '\u0117': b'\xc7'+b'e', # ė '\u0121': b'\xc7'+b'g', # ġ '\u017C': b'\xc7'+b'z', # ż '\u00C4': b'\xc8'+b'A', # Ä '\u00CB': b'\xc8'+b'E', # Ë '\u00CF': b'\xc8'+b'I', # Ï '\u00D6': b'\xc8'+b'O', # Ö '\u00DC': b'\xc8'+b'U', # Ü '\u0178': b'\xc8'+b'Y', # Ÿ '\u00E4': b'\xc8'+b'a', # ä '\u00EB': b'\xc8'+b'e', # ë '\u00EF': b'\xc8'+b'i', # ï '\u00F6': b'\xc8'+b'o', # ö '\u00FC': b'\xc8'+b'u', # ü '\u00FF': b'\xc8'+b'y', # ÿ '\u00C5': b'\xca'+b'A', # Å '\u016E': b'\xca'+b'U', # Ů '\u00E5': b'\xca'+b'a', # å '\u016F': b'\xca'+b'u', # ů '\u00C7': b'\xcb'+b'C', # Ç '\u0122': b'\xcb'+b'G', # Ģ '\u0136': b'\xcb'+b'K', # Ķ '\u013B': b'\xcb'+b'L', # Ļ '\u0145': b'\xcb'+b'N', # Ņ '\u0156': b'\xcb'+b'R', # Ŗ '\u015E': b'\xcb'+b'S', # Ş '\u0162': b'\xcb'+b'T', # Ţ '\u00E7': b'\xcb'+b'c', # ç '\u0123': b'\xcb'+b'g', # ģ '\u0137': b'\xcb'+b'k', # ķ '\u013C': b'\xcb'+b'l', # ļ '\u0146': b'\xcb'+b'n', # ņ '\u0157': b'\xcb'+b'r', # ŗ '\u015F': b'\xcb'+b's', # ş '\u0163': b'\xcb'+b't', # ţ '\u0150': b'\xcd'+b'O', # Ő '\u0170': b'\xcd'+b'U', # Ű '\u0151': b'\xcd'+b'o', # ő '\u0171': b'\xcd'+b'u', # ű '\u0104': b'\xce'+b'A', # Ą '\u0118': b'\xce'+b'E', # Ę '\u012E': b'\xce'+b'I', # Į '\u0172': b'\xce'+b'U', # Ų '\u0105': b'\xce'+b'a', # ą '\u0119': b'\xce'+b'e', # ę '\u012F': b'\xce'+b'i', # į '\u0173': b'\xce'+b'u', # ų '\u010C': b'\xcf'+b'C', # Č '\u010E': b'\xcf'+b'D', # Ď '\u011A': b'\xcf'+b'E', # Ě '\u013D': b'\xcf'+b'L', # Ľ '\u0147': b'\xcf'+b'N', # Ň '\u0158': b'\xcf'+b'R', # Ř '\u0160': b'\xcf'+b'S', # Š '\u0164': b'\xcf'+b'T', # Ť '\u017D': b'\xcf'+b'Z', # Ž '\u010D': b'\xcf'+b'c', # č '\u010F': b'\xcf'+b'd', # ď '\u011B': b'\xcf'+b'e', # ě '\u013E': b'\xcf'+b'l', # ľ '\u0148': b'\xcf'+b'n', # ň '\u0159': b'\xcf'+b'r', # ř '\u0161': b'\xcf'+b's', # š '\u0165': b'\xcf'+b't', # ť '\u017E': b'\xcf'+b'z', # ž }