Whitespace normalization.
diff --git a/Lib/_strptime.py b/Lib/_strptime.py
index cde6e5f..f7e04cd 100644
--- a/Lib/_strptime.py
+++ b/Lib/_strptime.py
@@ -2,7 +2,7 @@
 
 CLASSES:
     LocaleTime -- Discovers and/or stores locale-specific time information
-    TimeRE -- Creates regexes for pattern matching string of text containing 
+    TimeRE -- Creates regexes for pattern matching string of text containing
                 time information as is returned by time.strftime()
 
 FUNCTIONS:
@@ -10,7 +10,7 @@
                     year
     gregorian -- Calculates the Gregorian date based on the Julian day and
                     year
-    julianday -- Calculates the Julian day since the first of the year based 
+    julianday -- Calculates the Julian day since the first of the year based
                     on the Gregorian date
     dayofweek -- Calculates the day of the week from the Gregorian date.
     strptime -- Calculates the time struct represented by the passed-in string
@@ -40,23 +40,23 @@
                 store the values have mangled names):
         f_weekday -- full weekday names (7-item list)
         a_weekday -- abbreviated weekday names (7-item list)
-        f_month -- full weekday names (14-item list; dummy value in [0], which 
+        f_month -- full weekday names (14-item list; dummy value in [0], which
                     is added by code)
-        a_month -- abbreviated weekday names (13-item list, dummy value in 
+        a_month -- abbreviated weekday names (13-item list, dummy value in
                     [0], which is added by code)
         am_pm -- AM/PM representation (2-item list)
         LC_date_time -- format string for date/time representation (string)
         LC_date -- format string for date representation (string)
         LC_time -- format string for time representation (string)
-        timezone -- daylight- and non-daylight-savings timezone representation 
-                    (3-item list; code tacks on blank item at end for 
+        timezone -- daylight- and non-daylight-savings timezone representation
+                    (3-item list; code tacks on blank item at end for
                     possible lack of timezone such as UTC)
         lang -- Language used by instance (string)
-    
+
     """
 
-    def __init__(self, f_weekday=None, a_weekday=None, f_month=None, 
-    a_month=None, am_pm=None, LC_date_time=None, LC_time=None, LC_date=None, 
+    def __init__(self, f_weekday=None, a_weekday=None, f_month=None,
+    a_month=None, am_pm=None, LC_date_time=None, LC_time=None, LC_date=None,
     timezone=None, lang=None):
         """Optionally set attributes with passed-in values."""
         if f_weekday is None: self.__f_weekday = None
@@ -117,9 +117,9 @@
         if not self.__a_weekday: self.__calc_weekday()
         return self.__a_weekday
 
-    f_weekday = property(__get_f_weekday, __set_nothing, 
+    f_weekday = property(__get_f_weekday, __set_nothing,
                         doc="Full weekday names")
-    a_weekday = property(__get_a_weekday, __set_nothing, 
+    a_weekday = property(__get_a_weekday, __set_nothing,
                         doc="Abbreviated weekday names")
 
     def __get_f_month(self):
@@ -187,7 +187,7 @@
         f_weekday = [calendar.day_name[i] for i in range(7)]
         if not self.__a_weekday: self.__a_weekday = a_weekday
         if not self.__f_weekday: self.__f_weekday = f_weekday
-        
+
     def __calc_month(self):
         """Set self.__f_month and self.__a_month using the calendar module."""
         a_month = [calendar.month_abbr[i] for i in range(13)]
@@ -197,11 +197,11 @@
 
     def __calc_am_pm(self):
         """Set self.__am_pm by using time.strftime().
-        
-        The magic date (2002, 3, 17, hour, 44, 44, 2, 76, 0) is not really 
-        that magical; just happened to have used it everywhere else where a 
+
+        The magic date (2002, 3, 17, hour, 44, 44, 2, 76, 0) is not really
+        that magical; just happened to have used it everywhere else where a
         static date was needed.
-        
+
         """
         am_pm = []
         for hour in (01,22):
@@ -211,10 +211,10 @@
 
     def __calc_date_time(self):
         """Set self.__date_time, self.__date, & self.__time by using time.strftime().
-        
-        Use (1999,3,17,22,44,55,2,76,0) for magic date because the amount of 
-        overloaded numbers is minimized.  The order in which searches for 
-        values within the format string is very important; it eliminates 
+
+        Use (1999,3,17,22,44,55,2,76,0) for magic date because the amount of
+        overloaded numbers is minimized.  The order in which searches for
+        values within the format string is very important; it eliminates
         possible ambiguity for what something represents.
 
         """
@@ -255,17 +255,17 @@
 
     def __calc_timezone(self):
         """Set self.__timezone by using time.tzname.
-        
-        Empty string used for matching when timezone is not used/needed such 
+
+        Empty string used for matching when timezone is not used/needed such
         as with UTC.
 
         """
         self.__timezone = self.__pad(time.tzname, 0)
 
     def __calc_lang(self):
-        """Set self.lang by using locale.getlocale() or 
+        """Set self.lang by using locale.getlocale() or
         locale.getdefaultlocale().
-        
+
         """
         current_lang = locale.getlocale(locale.LC_TIME)[0]
         if current_lang: self.__lang = current_lang
@@ -277,7 +277,7 @@
     def __init__(self, locale_time=LocaleTime()):
         """Initialize instance with non-locale regexes and store LocaleTime object."""
         super(TimeRE,self).__init__({
-            'd': r"(?P<d>3[0-1]|[0-2]\d|\d| \d)",  #The " \d" option is 
+            'd': r"(?P<d>3[0-1]|[0-2]\d|\d| \d)",  #The " \d" option is
                                                          #to make %c from ANSI
                                                          #C work
             'H': r"(?P<H>2[0-3]|[0-1]\d|\d)",
@@ -299,16 +299,16 @@
             return super(TimeRE,self).__getitem__(fetch)
         except KeyError:
             if fetch == 'A':
-                self[fetch] = self.__seqToRE(self.locale_time.f_weekday, 
+                self[fetch] = self.__seqToRE(self.locale_time.f_weekday,
                                                 fetch)
             elif fetch == 'a':
-                self[fetch] = self.__seqToRE(self.locale_time.a_weekday, 
+                self[fetch] = self.__seqToRE(self.locale_time.a_weekday,
                                                 fetch)
             elif fetch == 'B':
-                self[fetch] = self.__seqToRE(self.locale_time.f_month[1:], 
+                self[fetch] = self.__seqToRE(self.locale_time.f_month[1:],
                                                 fetch)
             elif fetch == 'b':
-                self[fetch] = self.__seqToRE(self.locale_time.a_month[1:], 
+                self[fetch] = self.__seqToRE(self.locale_time.a_month[1:],
                                                 fetch)
             elif fetch == 'c':
                 self[fetch] = self.pattern(self.locale_time.LC_date_time)
@@ -319,28 +319,28 @@
             elif fetch == 'X':
                 self[fetch] = self.pattern(self.locale_time.LC_time)
             elif fetch == 'Z':
-                self[fetch] = self.__seqToRE(self.locale_time.timezone, 
+                self[fetch] = self.__seqToRE(self.locale_time.timezone,
                                                 fetch)
             elif fetch == '%':
                 return '%'
             return super(TimeRE,self).__getitem__(fetch)
-        
+
     def __seqToRE(self, to_convert, directive):
         """Convert a list to a regex string for matching directive."""
         def sorter(a, b):
             """Sort based on length.
-            
+
             Done in case for some strange reason that names in the locale only
             differ by a suffix and thus want the name with the suffix to match
             first.
-            
+
             """
             try: a_length = len(a)
             except TypeError: a_length = 0
             try: b_length = len(b)
             except TypeError: b_length = 0
             return cmp(b_length, a_length)
-        
+
         to_convert = to_convert[:]  #Don't want to change value in-place.
         to_convert.sort(sorter)
         regex = '(?P<%s>' % directive
@@ -357,7 +357,7 @@
             format = format.replace(whitespace, r'\s*')
         while format.find('%') != -1:
             directive_index = format.index('%')+1
-            processed_format = "%s%s%s" % (processed_format, 
+            processed_format = "%s%s%s" % (processed_format,
                                 format[:directive_index-1],
                                 self[format[directive_index]])
             format = format[directive_index+1:]
@@ -371,12 +371,12 @@
 
 def strptime(data_string, format="%a %b %d %H:%M:%S %Y"):
     """Convert data_string to a time struct based on the format string or re object; will return an re object for format if data_string is False.
-    
-    The object passed in for format may either be a re object compiled by 
-    strptime() or a format string.  If False is passed in for data_string 
-    then an re object for format will be returned.  The re object 
+
+    The object passed in for format may either be a re object compiled by
+    strptime() or a format string.  If False is passed in for data_string
+    then an re object for format will be returned.  The re object
     must be used with the same language as used to compile the re object.
-    
+
     """
     locale_time = LocaleTime()
     if isinstance(format, type(re_compile(''))):
diff --git a/Lib/encodings/__init__.py b/Lib/encodings/__init__.py
index e3b97ae..9fc96d7 100644
--- a/Lib/encodings/__init__.py
+++ b/Lib/encodings/__init__.py
@@ -39,7 +39,7 @@
     pass
 
 def search_function(encoding):
-    
+
     # Cache lookup
     entry = _cache.get(encoding, _unknown)
     if entry is not _unknown:
@@ -72,8 +72,8 @@
     if mod is None:
         # Cache misses
         _cache[encoding] = None
-        return None    
-    
+        return None
+
     # Now ask the module for the registry entry
     entry = tuple(getregentry())
     if len(entry) != 4:
diff --git a/Lib/encodings/ascii.py b/Lib/encodings/ascii.py
index b92ff5e..05fc36a 100644
--- a/Lib/encodings/ascii.py
+++ b/Lib/encodings/ascii.py
@@ -19,7 +19,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/base64_codec.py b/Lib/encodings/base64_codec.py
index bae9542..085ab14 100644
--- a/Lib/encodings/base64_codec.py
+++ b/Lib/encodings/base64_codec.py
@@ -51,7 +51,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/charmap.py b/Lib/encodings/charmap.py
index 5f5b9cc..de33b12 100644
--- a/Lib/encodings/charmap.py
+++ b/Lib/encodings/charmap.py
@@ -2,7 +2,7 @@
 
     Use this codec directly rather than through the automatic
     conversion mechanisms supplied by unicode() and .encode().
-    
+
 
 Written by Marc-Andre Lemburg (mal@lemburg.com).
 
@@ -31,7 +31,7 @@
     def encode(self,input,errors='strict'):
 
         return Codec.encode(input,errors,self.mapping)
-        
+
 class StreamReader(Codec,codecs.StreamReader):
 
     def __init__(self,stream,errors='strict',mapping=None):
@@ -48,4 +48,3 @@
 def getregentry():
 
     return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
-
diff --git a/Lib/encodings/cp037.py b/Lib/encodings/cp037.py
index 3b641bb..42c5b1f 100644
--- a/Lib/encodings/cp037.py
+++ b/Lib/encodings/cp037.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,242 +37,242 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0004: 0x009c,	# CONTROL
-	0x0005: 0x0009,	# HORIZONTAL TABULATION
-	0x0006: 0x0086,	# CONTROL
-	0x0007: 0x007f,	# DELETE
-	0x0008: 0x0097,	# CONTROL
-	0x0009: 0x008d,	# CONTROL
-	0x000a: 0x008e,	# CONTROL
-	0x0014: 0x009d,	# CONTROL
-	0x0015: 0x0085,	# CONTROL
-	0x0016: 0x0008,	# BACKSPACE
-	0x0017: 0x0087,	# CONTROL
-	0x001a: 0x0092,	# CONTROL
-	0x001b: 0x008f,	# CONTROL
-	0x0020: 0x0080,	# CONTROL
-	0x0021: 0x0081,	# CONTROL
-	0x0022: 0x0082,	# CONTROL
-	0x0023: 0x0083,	# CONTROL
-	0x0024: 0x0084,	# CONTROL
-	0x0025: 0x000a,	# LINE FEED
-	0x0026: 0x0017,	# END OF TRANSMISSION BLOCK
-	0x0027: 0x001b,	# ESCAPE
-	0x0028: 0x0088,	# CONTROL
-	0x0029: 0x0089,	# CONTROL
-	0x002a: 0x008a,	# CONTROL
-	0x002b: 0x008b,	# CONTROL
-	0x002c: 0x008c,	# CONTROL
-	0x002d: 0x0005,	# ENQUIRY
-	0x002e: 0x0006,	# ACKNOWLEDGE
-	0x002f: 0x0007,	# BELL
-	0x0030: 0x0090,	# CONTROL
-	0x0031: 0x0091,	# CONTROL
-	0x0032: 0x0016,	# SYNCHRONOUS IDLE
-	0x0033: 0x0093,	# CONTROL
-	0x0034: 0x0094,	# CONTROL
-	0x0035: 0x0095,	# CONTROL
-	0x0036: 0x0096,	# CONTROL
-	0x0037: 0x0004,	# END OF TRANSMISSION
-	0x0038: 0x0098,	# CONTROL
-	0x0039: 0x0099,	# CONTROL
-	0x003a: 0x009a,	# CONTROL
-	0x003b: 0x009b,	# CONTROL
-	0x003c: 0x0014,	# DEVICE CONTROL FOUR
-	0x003d: 0x0015,	# NEGATIVE ACKNOWLEDGE
-	0x003e: 0x009e,	# CONTROL
-	0x003f: 0x001a,	# SUBSTITUTE
-	0x0040: 0x0020,	# SPACE
-	0x0041: 0x00a0,	# NO-BREAK SPACE
-	0x0042: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x0043: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x0044: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0045: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x0046: 0x00e3,	# LATIN SMALL LETTER A WITH TILDE
-	0x0047: 0x00e5,	# LATIN SMALL LETTER A WITH RING ABOVE
-	0x0048: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x0049: 0x00f1,	# LATIN SMALL LETTER N WITH TILDE
-	0x004a: 0x00a2,	# CENT SIGN
-	0x004b: 0x002e,	# FULL STOP
-	0x004c: 0x003c,	# LESS-THAN SIGN
-	0x004d: 0x0028,	# LEFT PARENTHESIS
-	0x004e: 0x002b,	# PLUS SIGN
-	0x004f: 0x007c,	# VERTICAL LINE
-	0x0050: 0x0026,	# AMPERSAND
-	0x0051: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x0052: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0053: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x0054: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x0055: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x0056: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x0057: 0x00ef,	# LATIN SMALL LETTER I WITH DIAERESIS
-	0x0058: 0x00ec,	# LATIN SMALL LETTER I WITH GRAVE
-	0x0059: 0x00df,	# LATIN SMALL LETTER SHARP S (GERMAN)
-	0x005a: 0x0021,	# EXCLAMATION MARK
-	0x005b: 0x0024,	# DOLLAR SIGN
-	0x005c: 0x002a,	# ASTERISK
-	0x005d: 0x0029,	# RIGHT PARENTHESIS
-	0x005e: 0x003b,	# SEMICOLON
-	0x005f: 0x00ac,	# NOT SIGN
-	0x0060: 0x002d,	# HYPHEN-MINUS
-	0x0061: 0x002f,	# SOLIDUS
-	0x0062: 0x00c2,	# LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-	0x0063: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x0064: 0x00c0,	# LATIN CAPITAL LETTER A WITH GRAVE
-	0x0065: 0x00c1,	# LATIN CAPITAL LETTER A WITH ACUTE
-	0x0066: 0x00c3,	# LATIN CAPITAL LETTER A WITH TILDE
-	0x0067: 0x00c5,	# LATIN CAPITAL LETTER A WITH RING ABOVE
-	0x0068: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0069: 0x00d1,	# LATIN CAPITAL LETTER N WITH TILDE
-	0x006a: 0x00a6,	# BROKEN BAR
-	0x006b: 0x002c,	# COMMA
-	0x006c: 0x0025,	# PERCENT SIGN
-	0x006d: 0x005f,	# LOW LINE
-	0x006e: 0x003e,	# GREATER-THAN SIGN
-	0x006f: 0x003f,	# QUESTION MARK
-	0x0070: 0x00f8,	# LATIN SMALL LETTER O WITH STROKE
-	0x0071: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0072: 0x00ca,	# LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-	0x0073: 0x00cb,	# LATIN CAPITAL LETTER E WITH DIAERESIS
-	0x0074: 0x00c8,	# LATIN CAPITAL LETTER E WITH GRAVE
-	0x0075: 0x00cd,	# LATIN CAPITAL LETTER I WITH ACUTE
-	0x0076: 0x00ce,	# LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-	0x0077: 0x00cf,	# LATIN CAPITAL LETTER I WITH DIAERESIS
-	0x0078: 0x00cc,	# LATIN CAPITAL LETTER I WITH GRAVE
-	0x0079: 0x0060,	# GRAVE ACCENT
-	0x007a: 0x003a,	# COLON
-	0x007b: 0x0023,	# NUMBER SIGN
-	0x007c: 0x0040,	# COMMERCIAL AT
-	0x007d: 0x0027,	# APOSTROPHE
-	0x007e: 0x003d,	# EQUALS SIGN
-	0x007f: 0x0022,	# QUOTATION MARK
-	0x0080: 0x00d8,	# LATIN CAPITAL LETTER O WITH STROKE
-	0x0081: 0x0061,	# LATIN SMALL LETTER A
-	0x0082: 0x0062,	# LATIN SMALL LETTER B
-	0x0083: 0x0063,	# LATIN SMALL LETTER C
-	0x0084: 0x0064,	# LATIN SMALL LETTER D
-	0x0085: 0x0065,	# LATIN SMALL LETTER E
-	0x0086: 0x0066,	# LATIN SMALL LETTER F
-	0x0087: 0x0067,	# LATIN SMALL LETTER G
-	0x0088: 0x0068,	# LATIN SMALL LETTER H
-	0x0089: 0x0069,	# LATIN SMALL LETTER I
-	0x008a: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x008b: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x008c: 0x00f0,	# LATIN SMALL LETTER ETH (ICELANDIC)
-	0x008d: 0x00fd,	# LATIN SMALL LETTER Y WITH ACUTE
-	0x008e: 0x00fe,	# LATIN SMALL LETTER THORN (ICELANDIC)
-	0x008f: 0x00b1,	# PLUS-MINUS SIGN
-	0x0090: 0x00b0,	# DEGREE SIGN
-	0x0091: 0x006a,	# LATIN SMALL LETTER J
-	0x0092: 0x006b,	# LATIN SMALL LETTER K
-	0x0093: 0x006c,	# LATIN SMALL LETTER L
-	0x0094: 0x006d,	# LATIN SMALL LETTER M
-	0x0095: 0x006e,	# LATIN SMALL LETTER N
-	0x0096: 0x006f,	# LATIN SMALL LETTER O
-	0x0097: 0x0070,	# LATIN SMALL LETTER P
-	0x0098: 0x0071,	# LATIN SMALL LETTER Q
-	0x0099: 0x0072,	# LATIN SMALL LETTER R
-	0x009a: 0x00aa,	# FEMININE ORDINAL INDICATOR
-	0x009b: 0x00ba,	# MASCULINE ORDINAL INDICATOR
-	0x009c: 0x00e6,	# LATIN SMALL LIGATURE AE
-	0x009d: 0x00b8,	# CEDILLA
-	0x009e: 0x00c6,	# LATIN CAPITAL LIGATURE AE
-	0x009f: 0x00a4,	# CURRENCY SIGN
-	0x00a0: 0x00b5,	# MICRO SIGN
-	0x00a1: 0x007e,	# TILDE
-	0x00a2: 0x0073,	# LATIN SMALL LETTER S
-	0x00a3: 0x0074,	# LATIN SMALL LETTER T
-	0x00a4: 0x0075,	# LATIN SMALL LETTER U
-	0x00a5: 0x0076,	# LATIN SMALL LETTER V
-	0x00a6: 0x0077,	# LATIN SMALL LETTER W
-	0x00a7: 0x0078,	# LATIN SMALL LETTER X
-	0x00a8: 0x0079,	# LATIN SMALL LETTER Y
-	0x00a9: 0x007a,	# LATIN SMALL LETTER Z
-	0x00aa: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00ab: 0x00bf,	# INVERTED QUESTION MARK
-	0x00ac: 0x00d0,	# LATIN CAPITAL LETTER ETH (ICELANDIC)
-	0x00ad: 0x00dd,	# LATIN CAPITAL LETTER Y WITH ACUTE
-	0x00ae: 0x00de,	# LATIN CAPITAL LETTER THORN (ICELANDIC)
-	0x00af: 0x00ae,	# REGISTERED SIGN
-	0x00b0: 0x005e,	# CIRCUMFLEX ACCENT
-	0x00b1: 0x00a3,	# POUND SIGN
-	0x00b2: 0x00a5,	# YEN SIGN
-	0x00b3: 0x00b7,	# MIDDLE DOT
-	0x00b4: 0x00a9,	# COPYRIGHT SIGN
-	0x00b5: 0x00a7,	# SECTION SIGN
-	0x00b7: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00b8: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00b9: 0x00be,	# VULGAR FRACTION THREE QUARTERS
-	0x00ba: 0x005b,	# LEFT SQUARE BRACKET
-	0x00bb: 0x005d,	# RIGHT SQUARE BRACKET
-	0x00bc: 0x00af,	# MACRON
-	0x00bd: 0x00a8,	# DIAERESIS
-	0x00be: 0x00b4,	# ACUTE ACCENT
-	0x00bf: 0x00d7,	# MULTIPLICATION SIGN
-	0x00c0: 0x007b,	# LEFT CURLY BRACKET
-	0x00c1: 0x0041,	# LATIN CAPITAL LETTER A
-	0x00c2: 0x0042,	# LATIN CAPITAL LETTER B
-	0x00c3: 0x0043,	# LATIN CAPITAL LETTER C
-	0x00c4: 0x0044,	# LATIN CAPITAL LETTER D
-	0x00c5: 0x0045,	# LATIN CAPITAL LETTER E
-	0x00c6: 0x0046,	# LATIN CAPITAL LETTER F
-	0x00c7: 0x0047,	# LATIN CAPITAL LETTER G
-	0x00c8: 0x0048,	# LATIN CAPITAL LETTER H
-	0x00c9: 0x0049,	# LATIN CAPITAL LETTER I
-	0x00ca: 0x00ad,	# SOFT HYPHEN
-	0x00cb: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x00cc: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x00cd: 0x00f2,	# LATIN SMALL LETTER O WITH GRAVE
-	0x00ce: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00cf: 0x00f5,	# LATIN SMALL LETTER O WITH TILDE
-	0x00d0: 0x007d,	# RIGHT CURLY BRACKET
-	0x00d1: 0x004a,	# LATIN CAPITAL LETTER J
-	0x00d2: 0x004b,	# LATIN CAPITAL LETTER K
-	0x00d3: 0x004c,	# LATIN CAPITAL LETTER L
-	0x00d4: 0x004d,	# LATIN CAPITAL LETTER M
-	0x00d5: 0x004e,	# LATIN CAPITAL LETTER N
-	0x00d6: 0x004f,	# LATIN CAPITAL LETTER O
-	0x00d7: 0x0050,	# LATIN CAPITAL LETTER P
-	0x00d8: 0x0051,	# LATIN CAPITAL LETTER Q
-	0x00d9: 0x0052,	# LATIN CAPITAL LETTER R
-	0x00da: 0x00b9,	# SUPERSCRIPT ONE
-	0x00db: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x00dc: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x00dd: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x00de: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x00df: 0x00ff,	# LATIN SMALL LETTER Y WITH DIAERESIS
-	0x00e0: 0x005c,	# REVERSE SOLIDUS
-	0x00e1: 0x00f7,	# DIVISION SIGN
-	0x00e2: 0x0053,	# LATIN CAPITAL LETTER S
-	0x00e3: 0x0054,	# LATIN CAPITAL LETTER T
-	0x00e4: 0x0055,	# LATIN CAPITAL LETTER U
-	0x00e5: 0x0056,	# LATIN CAPITAL LETTER V
-	0x00e6: 0x0057,	# LATIN CAPITAL LETTER W
-	0x00e7: 0x0058,	# LATIN CAPITAL LETTER X
-	0x00e8: 0x0059,	# LATIN CAPITAL LETTER Y
-	0x00e9: 0x005a,	# LATIN CAPITAL LETTER Z
-	0x00ea: 0x00b2,	# SUPERSCRIPT TWO
-	0x00eb: 0x00d4,	# LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-	0x00ec: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x00ed: 0x00d2,	# LATIN CAPITAL LETTER O WITH GRAVE
-	0x00ee: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00ef: 0x00d5,	# LATIN CAPITAL LETTER O WITH TILDE
-	0x00f0: 0x0030,	# DIGIT ZERO
-	0x00f1: 0x0031,	# DIGIT ONE
-	0x00f2: 0x0032,	# DIGIT TWO
-	0x00f3: 0x0033,	# DIGIT THREE
-	0x00f4: 0x0034,	# DIGIT FOUR
-	0x00f5: 0x0035,	# DIGIT FIVE
-	0x00f6: 0x0036,	# DIGIT SIX
-	0x00f7: 0x0037,	# DIGIT SEVEN
-	0x00f8: 0x0038,	# DIGIT EIGHT
-	0x00f9: 0x0039,	# DIGIT NINE
-	0x00fa: 0x00b3,	# SUPERSCRIPT THREE
-	0x00fb: 0x00db,	# LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-	0x00fc: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x00fd: 0x00d9,	# LATIN CAPITAL LETTER U WITH GRAVE
-	0x00fe: 0x00da,	# LATIN CAPITAL LETTER U WITH ACUTE
-	0x00ff: 0x009f,	# CONTROL
+        0x0004: 0x009c, # CONTROL
+        0x0005: 0x0009, # HORIZONTAL TABULATION
+        0x0006: 0x0086, # CONTROL
+        0x0007: 0x007f, # DELETE
+        0x0008: 0x0097, # CONTROL
+        0x0009: 0x008d, # CONTROL
+        0x000a: 0x008e, # CONTROL
+        0x0014: 0x009d, # CONTROL
+        0x0015: 0x0085, # CONTROL
+        0x0016: 0x0008, # BACKSPACE
+        0x0017: 0x0087, # CONTROL
+        0x001a: 0x0092, # CONTROL
+        0x001b: 0x008f, # CONTROL
+        0x0020: 0x0080, # CONTROL
+        0x0021: 0x0081, # CONTROL
+        0x0022: 0x0082, # CONTROL
+        0x0023: 0x0083, # CONTROL
+        0x0024: 0x0084, # CONTROL
+        0x0025: 0x000a, # LINE FEED
+        0x0026: 0x0017, # END OF TRANSMISSION BLOCK
+        0x0027: 0x001b, # ESCAPE
+        0x0028: 0x0088, # CONTROL
+        0x0029: 0x0089, # CONTROL
+        0x002a: 0x008a, # CONTROL
+        0x002b: 0x008b, # CONTROL
+        0x002c: 0x008c, # CONTROL
+        0x002d: 0x0005, # ENQUIRY
+        0x002e: 0x0006, # ACKNOWLEDGE
+        0x002f: 0x0007, # BELL
+        0x0030: 0x0090, # CONTROL
+        0x0031: 0x0091, # CONTROL
+        0x0032: 0x0016, # SYNCHRONOUS IDLE
+        0x0033: 0x0093, # CONTROL
+        0x0034: 0x0094, # CONTROL
+        0x0035: 0x0095, # CONTROL
+        0x0036: 0x0096, # CONTROL
+        0x0037: 0x0004, # END OF TRANSMISSION
+        0x0038: 0x0098, # CONTROL
+        0x0039: 0x0099, # CONTROL
+        0x003a: 0x009a, # CONTROL
+        0x003b: 0x009b, # CONTROL
+        0x003c: 0x0014, # DEVICE CONTROL FOUR
+        0x003d: 0x0015, # NEGATIVE ACKNOWLEDGE
+        0x003e: 0x009e, # CONTROL
+        0x003f: 0x001a, # SUBSTITUTE
+        0x0040: 0x0020, # SPACE
+        0x0041: 0x00a0, # NO-BREAK SPACE
+        0x0042: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x0043: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x0044: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0045: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x0046: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
+        0x0047: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+        0x0048: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x0049: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+        0x004a: 0x00a2, # CENT SIGN
+        0x004b: 0x002e, # FULL STOP
+        0x004c: 0x003c, # LESS-THAN SIGN
+        0x004d: 0x0028, # LEFT PARENTHESIS
+        0x004e: 0x002b, # PLUS SIGN
+        0x004f: 0x007c, # VERTICAL LINE
+        0x0050: 0x0026, # AMPERSAND
+        0x0051: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x0052: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0053: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x0054: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x0055: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x0056: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x0057: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+        0x0058: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+        0x0059: 0x00df, # LATIN SMALL LETTER SHARP S (GERMAN)
+        0x005a: 0x0021, # EXCLAMATION MARK
+        0x005b: 0x0024, # DOLLAR SIGN
+        0x005c: 0x002a, # ASTERISK
+        0x005d: 0x0029, # RIGHT PARENTHESIS
+        0x005e: 0x003b, # SEMICOLON
+        0x005f: 0x00ac, # NOT SIGN
+        0x0060: 0x002d, # HYPHEN-MINUS
+        0x0061: 0x002f, # SOLIDUS
+        0x0062: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+        0x0063: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x0064: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+        0x0065: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+        0x0066: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
+        0x0067: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+        0x0068: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0069: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+        0x006a: 0x00a6, # BROKEN BAR
+        0x006b: 0x002c, # COMMA
+        0x006c: 0x0025, # PERCENT SIGN
+        0x006d: 0x005f, # LOW LINE
+        0x006e: 0x003e, # GREATER-THAN SIGN
+        0x006f: 0x003f, # QUESTION MARK
+        0x0070: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+        0x0071: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0072: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+        0x0073: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+        0x0074: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+        0x0075: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+        0x0076: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+        0x0077: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
+        0x0078: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
+        0x0079: 0x0060, # GRAVE ACCENT
+        0x007a: 0x003a, # COLON
+        0x007b: 0x0023, # NUMBER SIGN
+        0x007c: 0x0040, # COMMERCIAL AT
+        0x007d: 0x0027, # APOSTROPHE
+        0x007e: 0x003d, # EQUALS SIGN
+        0x007f: 0x0022, # QUOTATION MARK
+        0x0080: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+        0x0081: 0x0061, # LATIN SMALL LETTER A
+        0x0082: 0x0062, # LATIN SMALL LETTER B
+        0x0083: 0x0063, # LATIN SMALL LETTER C
+        0x0084: 0x0064, # LATIN SMALL LETTER D
+        0x0085: 0x0065, # LATIN SMALL LETTER E
+        0x0086: 0x0066, # LATIN SMALL LETTER F
+        0x0087: 0x0067, # LATIN SMALL LETTER G
+        0x0088: 0x0068, # LATIN SMALL LETTER H
+        0x0089: 0x0069, # LATIN SMALL LETTER I
+        0x008a: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x008b: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x008c: 0x00f0, # LATIN SMALL LETTER ETH (ICELANDIC)
+        0x008d: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
+        0x008e: 0x00fe, # LATIN SMALL LETTER THORN (ICELANDIC)
+        0x008f: 0x00b1, # PLUS-MINUS SIGN
+        0x0090: 0x00b0, # DEGREE SIGN
+        0x0091: 0x006a, # LATIN SMALL LETTER J
+        0x0092: 0x006b, # LATIN SMALL LETTER K
+        0x0093: 0x006c, # LATIN SMALL LETTER L
+        0x0094: 0x006d, # LATIN SMALL LETTER M
+        0x0095: 0x006e, # LATIN SMALL LETTER N
+        0x0096: 0x006f, # LATIN SMALL LETTER O
+        0x0097: 0x0070, # LATIN SMALL LETTER P
+        0x0098: 0x0071, # LATIN SMALL LETTER Q
+        0x0099: 0x0072, # LATIN SMALL LETTER R
+        0x009a: 0x00aa, # FEMININE ORDINAL INDICATOR
+        0x009b: 0x00ba, # MASCULINE ORDINAL INDICATOR
+        0x009c: 0x00e6, # LATIN SMALL LIGATURE AE
+        0x009d: 0x00b8, # CEDILLA
+        0x009e: 0x00c6, # LATIN CAPITAL LIGATURE AE
+        0x009f: 0x00a4, # CURRENCY SIGN
+        0x00a0: 0x00b5, # MICRO SIGN
+        0x00a1: 0x007e, # TILDE
+        0x00a2: 0x0073, # LATIN SMALL LETTER S
+        0x00a3: 0x0074, # LATIN SMALL LETTER T
+        0x00a4: 0x0075, # LATIN SMALL LETTER U
+        0x00a5: 0x0076, # LATIN SMALL LETTER V
+        0x00a6: 0x0077, # LATIN SMALL LETTER W
+        0x00a7: 0x0078, # LATIN SMALL LETTER X
+        0x00a8: 0x0079, # LATIN SMALL LETTER Y
+        0x00a9: 0x007a, # LATIN SMALL LETTER Z
+        0x00aa: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00ab: 0x00bf, # INVERTED QUESTION MARK
+        0x00ac: 0x00d0, # LATIN CAPITAL LETTER ETH (ICELANDIC)
+        0x00ad: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
+        0x00ae: 0x00de, # LATIN CAPITAL LETTER THORN (ICELANDIC)
+        0x00af: 0x00ae, # REGISTERED SIGN
+        0x00b0: 0x005e, # CIRCUMFLEX ACCENT
+        0x00b1: 0x00a3, # POUND SIGN
+        0x00b2: 0x00a5, # YEN SIGN
+        0x00b3: 0x00b7, # MIDDLE DOT
+        0x00b4: 0x00a9, # COPYRIGHT SIGN
+        0x00b5: 0x00a7, # SECTION SIGN
+        0x00b7: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00b8: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00b9: 0x00be, # VULGAR FRACTION THREE QUARTERS
+        0x00ba: 0x005b, # LEFT SQUARE BRACKET
+        0x00bb: 0x005d, # RIGHT SQUARE BRACKET
+        0x00bc: 0x00af, # MACRON
+        0x00bd: 0x00a8, # DIAERESIS
+        0x00be: 0x00b4, # ACUTE ACCENT
+        0x00bf: 0x00d7, # MULTIPLICATION SIGN
+        0x00c0: 0x007b, # LEFT CURLY BRACKET
+        0x00c1: 0x0041, # LATIN CAPITAL LETTER A
+        0x00c2: 0x0042, # LATIN CAPITAL LETTER B
+        0x00c3: 0x0043, # LATIN CAPITAL LETTER C
+        0x00c4: 0x0044, # LATIN CAPITAL LETTER D
+        0x00c5: 0x0045, # LATIN CAPITAL LETTER E
+        0x00c6: 0x0046, # LATIN CAPITAL LETTER F
+        0x00c7: 0x0047, # LATIN CAPITAL LETTER G
+        0x00c8: 0x0048, # LATIN CAPITAL LETTER H
+        0x00c9: 0x0049, # LATIN CAPITAL LETTER I
+        0x00ca: 0x00ad, # SOFT HYPHEN
+        0x00cb: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x00cc: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x00cd: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+        0x00ce: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00cf: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+        0x00d0: 0x007d, # RIGHT CURLY BRACKET
+        0x00d1: 0x004a, # LATIN CAPITAL LETTER J
+        0x00d2: 0x004b, # LATIN CAPITAL LETTER K
+        0x00d3: 0x004c, # LATIN CAPITAL LETTER L
+        0x00d4: 0x004d, # LATIN CAPITAL LETTER M
+        0x00d5: 0x004e, # LATIN CAPITAL LETTER N
+        0x00d6: 0x004f, # LATIN CAPITAL LETTER O
+        0x00d7: 0x0050, # LATIN CAPITAL LETTER P
+        0x00d8: 0x0051, # LATIN CAPITAL LETTER Q
+        0x00d9: 0x0052, # LATIN CAPITAL LETTER R
+        0x00da: 0x00b9, # SUPERSCRIPT ONE
+        0x00db: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x00dc: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x00dd: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x00de: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x00df: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+        0x00e0: 0x005c, # REVERSE SOLIDUS
+        0x00e1: 0x00f7, # DIVISION SIGN
+        0x00e2: 0x0053, # LATIN CAPITAL LETTER S
+        0x00e3: 0x0054, # LATIN CAPITAL LETTER T
+        0x00e4: 0x0055, # LATIN CAPITAL LETTER U
+        0x00e5: 0x0056, # LATIN CAPITAL LETTER V
+        0x00e6: 0x0057, # LATIN CAPITAL LETTER W
+        0x00e7: 0x0058, # LATIN CAPITAL LETTER X
+        0x00e8: 0x0059, # LATIN CAPITAL LETTER Y
+        0x00e9: 0x005a, # LATIN CAPITAL LETTER Z
+        0x00ea: 0x00b2, # SUPERSCRIPT TWO
+        0x00eb: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+        0x00ec: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x00ed: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
+        0x00ee: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00ef: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+        0x00f0: 0x0030, # DIGIT ZERO
+        0x00f1: 0x0031, # DIGIT ONE
+        0x00f2: 0x0032, # DIGIT TWO
+        0x00f3: 0x0033, # DIGIT THREE
+        0x00f4: 0x0034, # DIGIT FOUR
+        0x00f5: 0x0035, # DIGIT FIVE
+        0x00f6: 0x0036, # DIGIT SIX
+        0x00f7: 0x0037, # DIGIT SEVEN
+        0x00f8: 0x0038, # DIGIT EIGHT
+        0x00f9: 0x0039, # DIGIT NINE
+        0x00fa: 0x00b3, # SUPERSCRIPT THREE
+        0x00fb: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+        0x00fc: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x00fd: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+        0x00fe: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+        0x00ff: 0x009f, # CONTROL
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp1006.py b/Lib/encodings/cp1006.py
index 0a3c3af..bbd3d87 100644
--- a/Lib/encodings/cp1006.py
+++ b/Lib/encodings/cp1006.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,100 +37,100 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00a1: 0x06f0,	# 	EXTENDED ARABIC-INDIC DIGIT ZERO
-	0x00a2: 0x06f1,	# 	EXTENDED ARABIC-INDIC DIGIT ONE
-	0x00a3: 0x06f2,	# 	EXTENDED ARABIC-INDIC DIGIT TWO
-	0x00a4: 0x06f3,	# 	EXTENDED ARABIC-INDIC DIGIT THREE
-	0x00a5: 0x06f4,	# 	EXTENDED ARABIC-INDIC DIGIT FOUR
-	0x00a6: 0x06f5,	# 	EXTENDED ARABIC-INDIC DIGIT FIVE
-	0x00a7: 0x06f6,	# 	EXTENDED ARABIC-INDIC DIGIT SIX
-	0x00a8: 0x06f7,	# 	EXTENDED ARABIC-INDIC DIGIT SEVEN
-	0x00a9: 0x06f8,	# 	EXTENDED ARABIC-INDIC DIGIT EIGHT
-	0x00aa: 0x06f9,	# 	EXTENDED ARABIC-INDIC DIGIT NINE
-	0x00ab: 0x060c,	# 	ARABIC COMMA
-	0x00ac: 0x061b,	# 	ARABIC SEMICOLON
-	0x00ae: 0x061f,	# 	ARABIC QUESTION MARK
-	0x00af: 0xfe81,	# 	ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
-	0x00b0: 0xfe8d,	# 	ARABIC LETTER ALEF ISOLATED FORM
-	0x00b1: 0xfe8e,	# 	ARABIC LETTER ALEF FINAL FORM
-	0x00b2: 0xfe8e,	# 	ARABIC LETTER ALEF FINAL FORM
-	0x00b3: 0xfe8f,	# 	ARABIC LETTER BEH ISOLATED FORM
-	0x00b4: 0xfe91,	# 	ARABIC LETTER BEH INITIAL FORM
-	0x00b5: 0xfb56,	# 	ARABIC LETTER PEH ISOLATED FORM
-	0x00b6: 0xfb58,	# 	ARABIC LETTER PEH INITIAL FORM
-	0x00b7: 0xfe93,	# 	ARABIC LETTER TEH MARBUTA ISOLATED FORM
-	0x00b8: 0xfe95,	# 	ARABIC LETTER TEH ISOLATED FORM
-	0x00b9: 0xfe97,	# 	ARABIC LETTER TEH INITIAL FORM
-	0x00ba: 0xfb66,	# 	ARABIC LETTER TTEH ISOLATED FORM
-	0x00bb: 0xfb68,	# 	ARABIC LETTER TTEH INITIAL FORM
-	0x00bc: 0xfe99,	# 	ARABIC LETTER THEH ISOLATED FORM
-	0x00bd: 0xfe9b,	# 	ARABIC LETTER THEH INITIAL FORM
-	0x00be: 0xfe9d,	# 	ARABIC LETTER JEEM ISOLATED FORM
-	0x00bf: 0xfe9f,	# 	ARABIC LETTER JEEM INITIAL FORM
-	0x00c0: 0xfb7a,	# 	ARABIC LETTER TCHEH ISOLATED FORM
-	0x00c1: 0xfb7c,	# 	ARABIC LETTER TCHEH INITIAL FORM
-	0x00c2: 0xfea1,	# 	ARABIC LETTER HAH ISOLATED FORM
-	0x00c3: 0xfea3,	# 	ARABIC LETTER HAH INITIAL FORM
-	0x00c4: 0xfea5,	# 	ARABIC LETTER KHAH ISOLATED FORM
-	0x00c5: 0xfea7,	# 	ARABIC LETTER KHAH INITIAL FORM
-	0x00c6: 0xfea9,	# 	ARABIC LETTER DAL ISOLATED FORM
-	0x00c7: 0xfb84,	# 	ARABIC LETTER DAHAL ISOLATED FORMN
-	0x00c8: 0xfeab,	# 	ARABIC LETTER THAL ISOLATED FORM
-	0x00c9: 0xfead,	# 	ARABIC LETTER REH ISOLATED FORM
-	0x00ca: 0xfb8c,	# 	ARABIC LETTER RREH ISOLATED FORM
-	0x00cb: 0xfeaf,	# 	ARABIC LETTER ZAIN ISOLATED FORM
-	0x00cc: 0xfb8a,	# 	ARABIC LETTER JEH ISOLATED FORM
-	0x00cd: 0xfeb1,	# 	ARABIC LETTER SEEN ISOLATED FORM
-	0x00ce: 0xfeb3,	# 	ARABIC LETTER SEEN INITIAL FORM
-	0x00cf: 0xfeb5,	# 	ARABIC LETTER SHEEN ISOLATED FORM
-	0x00d0: 0xfeb7,	# 	ARABIC LETTER SHEEN INITIAL FORM
-	0x00d1: 0xfeb9,	# 	ARABIC LETTER SAD ISOLATED FORM
-	0x00d2: 0xfebb,	# 	ARABIC LETTER SAD INITIAL FORM
-	0x00d3: 0xfebd,	# 	ARABIC LETTER DAD ISOLATED FORM
-	0x00d4: 0xfebf,	# 	ARABIC LETTER DAD INITIAL FORM
-	0x00d5: 0xfec1,	# 	ARABIC LETTER TAH ISOLATED FORM
-	0x00d6: 0xfec5,	# 	ARABIC LETTER ZAH ISOLATED FORM
-	0x00d7: 0xfec9,	# 	ARABIC LETTER AIN ISOLATED FORM
-	0x00d8: 0xfeca,	# 	ARABIC LETTER AIN FINAL FORM
-	0x00d9: 0xfecb,	# 	ARABIC LETTER AIN INITIAL FORM
-	0x00da: 0xfecc,	# 	ARABIC LETTER AIN MEDIAL FORM
-	0x00db: 0xfecd,	# 	ARABIC LETTER GHAIN ISOLATED FORM
-	0x00dc: 0xfece,	# 	ARABIC LETTER GHAIN FINAL FORM
-	0x00dd: 0xfecf,	# 	ARABIC LETTER GHAIN INITIAL FORM
-	0x00de: 0xfed0,	# 	ARABIC LETTER GHAIN MEDIAL FORM
-	0x00df: 0xfed1,	# 	ARABIC LETTER FEH ISOLATED FORM
-	0x00e0: 0xfed3,	# 	ARABIC LETTER FEH INITIAL FORM
-	0x00e1: 0xfed5,	# 	ARABIC LETTER QAF ISOLATED FORM
-	0x00e2: 0xfed7,	# 	ARABIC LETTER QAF INITIAL FORM
-	0x00e3: 0xfed9,	# 	ARABIC LETTER KAF ISOLATED FORM
-	0x00e4: 0xfedb,	# 	ARABIC LETTER KAF INITIAL FORM
-	0x00e5: 0xfb92,	# 	ARABIC LETTER GAF ISOLATED FORM
-	0x00e6: 0xfb94,	# 	ARABIC LETTER GAF INITIAL FORM
-	0x00e7: 0xfedd,	# 	ARABIC LETTER LAM ISOLATED FORM
-	0x00e8: 0xfedf,	# 	ARABIC LETTER LAM INITIAL FORM
-	0x00e9: 0xfee0,	# 	ARABIC LETTER LAM MEDIAL FORM
-	0x00ea: 0xfee1,	# 	ARABIC LETTER MEEM ISOLATED FORM
-	0x00eb: 0xfee3,	# 	ARABIC LETTER MEEM INITIAL FORM
-	0x00ec: 0xfb9e,	# 	ARABIC LETTER NOON GHUNNA ISOLATED FORM
-	0x00ed: 0xfee5,	# 	ARABIC LETTER NOON ISOLATED FORM
-	0x00ee: 0xfee7,	# 	ARABIC LETTER NOON INITIAL FORM
-	0x00ef: 0xfe85,	# 	ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
-	0x00f0: 0xfeed,	# 	ARABIC LETTER WAW ISOLATED FORM
-	0x00f1: 0xfba6,	# 	ARABIC LETTER HEH GOAL ISOLATED FORM
-	0x00f2: 0xfba8,	# 	ARABIC LETTER HEH GOAL INITIAL FORM
-	0x00f3: 0xfba9,	# 	ARABIC LETTER HEH GOAL MEDIAL FORM
-	0x00f4: 0xfbaa,	# 	ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
-	0x00f5: 0xfe80,	# 	ARABIC LETTER HAMZA ISOLATED FORM
-	0x00f6: 0xfe89,	# 	ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
-	0x00f7: 0xfe8a,	# 	ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
-	0x00f8: 0xfe8b,	# 	ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
-	0x00f9: 0xfef1,	# 	ARABIC LETTER YEH ISOLATED FORM
-	0x00fa: 0xfef2,	# 	ARABIC LETTER YEH FINAL FORM
-	0x00fb: 0xfef3,	# 	ARABIC LETTER YEH INITIAL FORM
-	0x00fc: 0xfbb0,	# 	ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
-	0x00fd: 0xfbae,	# 	ARABIC LETTER YEH BARREE ISOLATED FORM
-	0x00fe: 0xfe7c,	# 	ARABIC SHADDA ISOLATED FORM
-	0x00ff: 0xfe7d,	# 	ARABIC SHADDA MEDIAL FORM
+        0x00a1: 0x06f0, #       EXTENDED ARABIC-INDIC DIGIT ZERO
+        0x00a2: 0x06f1, #       EXTENDED ARABIC-INDIC DIGIT ONE
+        0x00a3: 0x06f2, #       EXTENDED ARABIC-INDIC DIGIT TWO
+        0x00a4: 0x06f3, #       EXTENDED ARABIC-INDIC DIGIT THREE
+        0x00a5: 0x06f4, #       EXTENDED ARABIC-INDIC DIGIT FOUR
+        0x00a6: 0x06f5, #       EXTENDED ARABIC-INDIC DIGIT FIVE
+        0x00a7: 0x06f6, #       EXTENDED ARABIC-INDIC DIGIT SIX
+        0x00a8: 0x06f7, #       EXTENDED ARABIC-INDIC DIGIT SEVEN
+        0x00a9: 0x06f8, #       EXTENDED ARABIC-INDIC DIGIT EIGHT
+        0x00aa: 0x06f9, #       EXTENDED ARABIC-INDIC DIGIT NINE
+        0x00ab: 0x060c, #       ARABIC COMMA
+        0x00ac: 0x061b, #       ARABIC SEMICOLON
+        0x00ae: 0x061f, #       ARABIC QUESTION MARK
+        0x00af: 0xfe81, #       ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+        0x00b0: 0xfe8d, #       ARABIC LETTER ALEF ISOLATED FORM
+        0x00b1: 0xfe8e, #       ARABIC LETTER ALEF FINAL FORM
+        0x00b2: 0xfe8e, #       ARABIC LETTER ALEF FINAL FORM
+        0x00b3: 0xfe8f, #       ARABIC LETTER BEH ISOLATED FORM
+        0x00b4: 0xfe91, #       ARABIC LETTER BEH INITIAL FORM
+        0x00b5: 0xfb56, #       ARABIC LETTER PEH ISOLATED FORM
+        0x00b6: 0xfb58, #       ARABIC LETTER PEH INITIAL FORM
+        0x00b7: 0xfe93, #       ARABIC LETTER TEH MARBUTA ISOLATED FORM
+        0x00b8: 0xfe95, #       ARABIC LETTER TEH ISOLATED FORM
+        0x00b9: 0xfe97, #       ARABIC LETTER TEH INITIAL FORM
+        0x00ba: 0xfb66, #       ARABIC LETTER TTEH ISOLATED FORM
+        0x00bb: 0xfb68, #       ARABIC LETTER TTEH INITIAL FORM
+        0x00bc: 0xfe99, #       ARABIC LETTER THEH ISOLATED FORM
+        0x00bd: 0xfe9b, #       ARABIC LETTER THEH INITIAL FORM
+        0x00be: 0xfe9d, #       ARABIC LETTER JEEM ISOLATED FORM
+        0x00bf: 0xfe9f, #       ARABIC LETTER JEEM INITIAL FORM
+        0x00c0: 0xfb7a, #       ARABIC LETTER TCHEH ISOLATED FORM
+        0x00c1: 0xfb7c, #       ARABIC LETTER TCHEH INITIAL FORM
+        0x00c2: 0xfea1, #       ARABIC LETTER HAH ISOLATED FORM
+        0x00c3: 0xfea3, #       ARABIC LETTER HAH INITIAL FORM
+        0x00c4: 0xfea5, #       ARABIC LETTER KHAH ISOLATED FORM
+        0x00c5: 0xfea7, #       ARABIC LETTER KHAH INITIAL FORM
+        0x00c6: 0xfea9, #       ARABIC LETTER DAL ISOLATED FORM
+        0x00c7: 0xfb84, #       ARABIC LETTER DAHAL ISOLATED FORMN
+        0x00c8: 0xfeab, #       ARABIC LETTER THAL ISOLATED FORM
+        0x00c9: 0xfead, #       ARABIC LETTER REH ISOLATED FORM
+        0x00ca: 0xfb8c, #       ARABIC LETTER RREH ISOLATED FORM
+        0x00cb: 0xfeaf, #       ARABIC LETTER ZAIN ISOLATED FORM
+        0x00cc: 0xfb8a, #       ARABIC LETTER JEH ISOLATED FORM
+        0x00cd: 0xfeb1, #       ARABIC LETTER SEEN ISOLATED FORM
+        0x00ce: 0xfeb3, #       ARABIC LETTER SEEN INITIAL FORM
+        0x00cf: 0xfeb5, #       ARABIC LETTER SHEEN ISOLATED FORM
+        0x00d0: 0xfeb7, #       ARABIC LETTER SHEEN INITIAL FORM
+        0x00d1: 0xfeb9, #       ARABIC LETTER SAD ISOLATED FORM
+        0x00d2: 0xfebb, #       ARABIC LETTER SAD INITIAL FORM
+        0x00d3: 0xfebd, #       ARABIC LETTER DAD ISOLATED FORM
+        0x00d4: 0xfebf, #       ARABIC LETTER DAD INITIAL FORM
+        0x00d5: 0xfec1, #       ARABIC LETTER TAH ISOLATED FORM
+        0x00d6: 0xfec5, #       ARABIC LETTER ZAH ISOLATED FORM
+        0x00d7: 0xfec9, #       ARABIC LETTER AIN ISOLATED FORM
+        0x00d8: 0xfeca, #       ARABIC LETTER AIN FINAL FORM
+        0x00d9: 0xfecb, #       ARABIC LETTER AIN INITIAL FORM
+        0x00da: 0xfecc, #       ARABIC LETTER AIN MEDIAL FORM
+        0x00db: 0xfecd, #       ARABIC LETTER GHAIN ISOLATED FORM
+        0x00dc: 0xfece, #       ARABIC LETTER GHAIN FINAL FORM
+        0x00dd: 0xfecf, #       ARABIC LETTER GHAIN INITIAL FORM
+        0x00de: 0xfed0, #       ARABIC LETTER GHAIN MEDIAL FORM
+        0x00df: 0xfed1, #       ARABIC LETTER FEH ISOLATED FORM
+        0x00e0: 0xfed3, #       ARABIC LETTER FEH INITIAL FORM
+        0x00e1: 0xfed5, #       ARABIC LETTER QAF ISOLATED FORM
+        0x00e2: 0xfed7, #       ARABIC LETTER QAF INITIAL FORM
+        0x00e3: 0xfed9, #       ARABIC LETTER KAF ISOLATED FORM
+        0x00e4: 0xfedb, #       ARABIC LETTER KAF INITIAL FORM
+        0x00e5: 0xfb92, #       ARABIC LETTER GAF ISOLATED FORM
+        0x00e6: 0xfb94, #       ARABIC LETTER GAF INITIAL FORM
+        0x00e7: 0xfedd, #       ARABIC LETTER LAM ISOLATED FORM
+        0x00e8: 0xfedf, #       ARABIC LETTER LAM INITIAL FORM
+        0x00e9: 0xfee0, #       ARABIC LETTER LAM MEDIAL FORM
+        0x00ea: 0xfee1, #       ARABIC LETTER MEEM ISOLATED FORM
+        0x00eb: 0xfee3, #       ARABIC LETTER MEEM INITIAL FORM
+        0x00ec: 0xfb9e, #       ARABIC LETTER NOON GHUNNA ISOLATED FORM
+        0x00ed: 0xfee5, #       ARABIC LETTER NOON ISOLATED FORM
+        0x00ee: 0xfee7, #       ARABIC LETTER NOON INITIAL FORM
+        0x00ef: 0xfe85, #       ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+        0x00f0: 0xfeed, #       ARABIC LETTER WAW ISOLATED FORM
+        0x00f1: 0xfba6, #       ARABIC LETTER HEH GOAL ISOLATED FORM
+        0x00f2: 0xfba8, #       ARABIC LETTER HEH GOAL INITIAL FORM
+        0x00f3: 0xfba9, #       ARABIC LETTER HEH GOAL MEDIAL FORM
+        0x00f4: 0xfbaa, #       ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
+        0x00f5: 0xfe80, #       ARABIC LETTER HAMZA ISOLATED FORM
+        0x00f6: 0xfe89, #       ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
+        0x00f7: 0xfe8a, #       ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
+        0x00f8: 0xfe8b, #       ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+        0x00f9: 0xfef1, #       ARABIC LETTER YEH ISOLATED FORM
+        0x00fa: 0xfef2, #       ARABIC LETTER YEH FINAL FORM
+        0x00fb: 0xfef3, #       ARABIC LETTER YEH INITIAL FORM
+        0x00fc: 0xfbb0, #       ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
+        0x00fd: 0xfbae, #       ARABIC LETTER YEH BARREE ISOLATED FORM
+        0x00fe: 0xfe7c, #       ARABIC SHADDA ISOLATED FORM
+        0x00ff: 0xfe7d, #       ARABIC SHADDA MEDIAL FORM
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp1026.py b/Lib/encodings/cp1026.py
index cce5af6..3aec91b 100644
--- a/Lib/encodings/cp1026.py
+++ b/Lib/encodings/cp1026.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,242 +37,242 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0004: 0x009c,	# CONTROL
-	0x0005: 0x0009,	# HORIZONTAL TABULATION
-	0x0006: 0x0086,	# CONTROL
-	0x0007: 0x007f,	# DELETE
-	0x0008: 0x0097,	# CONTROL
-	0x0009: 0x008d,	# CONTROL
-	0x000a: 0x008e,	# CONTROL
-	0x0014: 0x009d,	# CONTROL
-	0x0015: 0x0085,	# CONTROL
-	0x0016: 0x0008,	# BACKSPACE
-	0x0017: 0x0087,	# CONTROL
-	0x001a: 0x0092,	# CONTROL
-	0x001b: 0x008f,	# CONTROL
-	0x0020: 0x0080,	# CONTROL
-	0x0021: 0x0081,	# CONTROL
-	0x0022: 0x0082,	# CONTROL
-	0x0023: 0x0083,	# CONTROL
-	0x0024: 0x0084,	# CONTROL
-	0x0025: 0x000a,	# LINE FEED
-	0x0026: 0x0017,	# END OF TRANSMISSION BLOCK
-	0x0027: 0x001b,	# ESCAPE
-	0x0028: 0x0088,	# CONTROL
-	0x0029: 0x0089,	# CONTROL
-	0x002a: 0x008a,	# CONTROL
-	0x002b: 0x008b,	# CONTROL
-	0x002c: 0x008c,	# CONTROL
-	0x002d: 0x0005,	# ENQUIRY
-	0x002e: 0x0006,	# ACKNOWLEDGE
-	0x002f: 0x0007,	# BELL
-	0x0030: 0x0090,	# CONTROL
-	0x0031: 0x0091,	# CONTROL
-	0x0032: 0x0016,	# SYNCHRONOUS IDLE
-	0x0033: 0x0093,	# CONTROL
-	0x0034: 0x0094,	# CONTROL
-	0x0035: 0x0095,	# CONTROL
-	0x0036: 0x0096,	# CONTROL
-	0x0037: 0x0004,	# END OF TRANSMISSION
-	0x0038: 0x0098,	# CONTROL
-	0x0039: 0x0099,	# CONTROL
-	0x003a: 0x009a,	# CONTROL
-	0x003b: 0x009b,	# CONTROL
-	0x003c: 0x0014,	# DEVICE CONTROL FOUR
-	0x003d: 0x0015,	# NEGATIVE ACKNOWLEDGE
-	0x003e: 0x009e,	# CONTROL
-	0x003f: 0x001a,	# SUBSTITUTE
-	0x0040: 0x0020,	# SPACE
-	0x0041: 0x00a0,	# NO-BREAK SPACE
-	0x0042: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x0043: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x0044: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0045: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x0046: 0x00e3,	# LATIN SMALL LETTER A WITH TILDE
-	0x0047: 0x00e5,	# LATIN SMALL LETTER A WITH RING ABOVE
-	0x0048: 0x007b,	# LEFT CURLY BRACKET
-	0x0049: 0x00f1,	# LATIN SMALL LETTER N WITH TILDE
-	0x004a: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x004b: 0x002e,	# FULL STOP
-	0x004c: 0x003c,	# LESS-THAN SIGN
-	0x004d: 0x0028,	# LEFT PARENTHESIS
-	0x004e: 0x002b,	# PLUS SIGN
-	0x004f: 0x0021,	# EXCLAMATION MARK
-	0x0050: 0x0026,	# AMPERSAND
-	0x0051: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x0052: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0053: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x0054: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x0055: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x0056: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x0057: 0x00ef,	# LATIN SMALL LETTER I WITH DIAERESIS
-	0x0058: 0x00ec,	# LATIN SMALL LETTER I WITH GRAVE
-	0x0059: 0x00df,	# LATIN SMALL LETTER SHARP S (GERMAN)
-	0x005a: 0x011e,	# LATIN CAPITAL LETTER G WITH BREVE
-	0x005b: 0x0130,	# LATIN CAPITAL LETTER I WITH DOT ABOVE
-	0x005c: 0x002a,	# ASTERISK
-	0x005d: 0x0029,	# RIGHT PARENTHESIS
-	0x005e: 0x003b,	# SEMICOLON
-	0x005f: 0x005e,	# CIRCUMFLEX ACCENT
-	0x0060: 0x002d,	# HYPHEN-MINUS
-	0x0061: 0x002f,	# SOLIDUS
-	0x0062: 0x00c2,	# LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-	0x0063: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x0064: 0x00c0,	# LATIN CAPITAL LETTER A WITH GRAVE
-	0x0065: 0x00c1,	# LATIN CAPITAL LETTER A WITH ACUTE
-	0x0066: 0x00c3,	# LATIN CAPITAL LETTER A WITH TILDE
-	0x0067: 0x00c5,	# LATIN CAPITAL LETTER A WITH RING ABOVE
-	0x0068: 0x005b,	# LEFT SQUARE BRACKET
-	0x0069: 0x00d1,	# LATIN CAPITAL LETTER N WITH TILDE
-	0x006a: 0x015f,	# LATIN SMALL LETTER S WITH CEDILLA
-	0x006b: 0x002c,	# COMMA
-	0x006c: 0x0025,	# PERCENT SIGN
-	0x006d: 0x005f,	# LOW LINE
-	0x006e: 0x003e,	# GREATER-THAN SIGN
-	0x006f: 0x003f,	# QUESTION MARK
-	0x0070: 0x00f8,	# LATIN SMALL LETTER O WITH STROKE
-	0x0071: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0072: 0x00ca,	# LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-	0x0073: 0x00cb,	# LATIN CAPITAL LETTER E WITH DIAERESIS
-	0x0074: 0x00c8,	# LATIN CAPITAL LETTER E WITH GRAVE
-	0x0075: 0x00cd,	# LATIN CAPITAL LETTER I WITH ACUTE
-	0x0076: 0x00ce,	# LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-	0x0077: 0x00cf,	# LATIN CAPITAL LETTER I WITH DIAERESIS
-	0x0078: 0x00cc,	# LATIN CAPITAL LETTER I WITH GRAVE
-	0x0079: 0x0131,	# LATIN SMALL LETTER DOTLESS I
-	0x007a: 0x003a,	# COLON
-	0x007b: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x007c: 0x015e,	# LATIN CAPITAL LETTER S WITH CEDILLA
-	0x007d: 0x0027,	# APOSTROPHE
-	0x007e: 0x003d,	# EQUALS SIGN
-	0x007f: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x0080: 0x00d8,	# LATIN CAPITAL LETTER O WITH STROKE
-	0x0081: 0x0061,	# LATIN SMALL LETTER A
-	0x0082: 0x0062,	# LATIN SMALL LETTER B
-	0x0083: 0x0063,	# LATIN SMALL LETTER C
-	0x0084: 0x0064,	# LATIN SMALL LETTER D
-	0x0085: 0x0065,	# LATIN SMALL LETTER E
-	0x0086: 0x0066,	# LATIN SMALL LETTER F
-	0x0087: 0x0067,	# LATIN SMALL LETTER G
-	0x0088: 0x0068,	# LATIN SMALL LETTER H
-	0x0089: 0x0069,	# LATIN SMALL LETTER I
-	0x008a: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x008b: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x008c: 0x007d,	# RIGHT CURLY BRACKET
-	0x008d: 0x0060,	# GRAVE ACCENT
-	0x008e: 0x00a6,	# BROKEN BAR
-	0x008f: 0x00b1,	# PLUS-MINUS SIGN
-	0x0090: 0x00b0,	# DEGREE SIGN
-	0x0091: 0x006a,	# LATIN SMALL LETTER J
-	0x0092: 0x006b,	# LATIN SMALL LETTER K
-	0x0093: 0x006c,	# LATIN SMALL LETTER L
-	0x0094: 0x006d,	# LATIN SMALL LETTER M
-	0x0095: 0x006e,	# LATIN SMALL LETTER N
-	0x0096: 0x006f,	# LATIN SMALL LETTER O
-	0x0097: 0x0070,	# LATIN SMALL LETTER P
-	0x0098: 0x0071,	# LATIN SMALL LETTER Q
-	0x0099: 0x0072,	# LATIN SMALL LETTER R
-	0x009a: 0x00aa,	# FEMININE ORDINAL INDICATOR
-	0x009b: 0x00ba,	# MASCULINE ORDINAL INDICATOR
-	0x009c: 0x00e6,	# LATIN SMALL LIGATURE AE
-	0x009d: 0x00b8,	# CEDILLA
-	0x009e: 0x00c6,	# LATIN CAPITAL LIGATURE AE
-	0x009f: 0x00a4,	# CURRENCY SIGN
-	0x00a0: 0x00b5,	# MICRO SIGN
-	0x00a1: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x00a2: 0x0073,	# LATIN SMALL LETTER S
-	0x00a3: 0x0074,	# LATIN SMALL LETTER T
-	0x00a4: 0x0075,	# LATIN SMALL LETTER U
-	0x00a5: 0x0076,	# LATIN SMALL LETTER V
-	0x00a6: 0x0077,	# LATIN SMALL LETTER W
-	0x00a7: 0x0078,	# LATIN SMALL LETTER X
-	0x00a8: 0x0079,	# LATIN SMALL LETTER Y
-	0x00a9: 0x007a,	# LATIN SMALL LETTER Z
-	0x00aa: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00ab: 0x00bf,	# INVERTED QUESTION MARK
-	0x00ac: 0x005d,	# RIGHT SQUARE BRACKET
-	0x00ad: 0x0024,	# DOLLAR SIGN
-	0x00ae: 0x0040,	# COMMERCIAL AT
-	0x00af: 0x00ae,	# REGISTERED SIGN
-	0x00b0: 0x00a2,	# CENT SIGN
-	0x00b1: 0x00a3,	# POUND SIGN
-	0x00b2: 0x00a5,	# YEN SIGN
-	0x00b3: 0x00b7,	# MIDDLE DOT
-	0x00b4: 0x00a9,	# COPYRIGHT SIGN
-	0x00b5: 0x00a7,	# SECTION SIGN
-	0x00b7: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00b8: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00b9: 0x00be,	# VULGAR FRACTION THREE QUARTERS
-	0x00ba: 0x00ac,	# NOT SIGN
-	0x00bb: 0x007c,	# VERTICAL LINE
-	0x00bc: 0x00af,	# MACRON
-	0x00bd: 0x00a8,	# DIAERESIS
-	0x00be: 0x00b4,	# ACUTE ACCENT
-	0x00bf: 0x00d7,	# MULTIPLICATION SIGN
-	0x00c0: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x00c1: 0x0041,	# LATIN CAPITAL LETTER A
-	0x00c2: 0x0042,	# LATIN CAPITAL LETTER B
-	0x00c3: 0x0043,	# LATIN CAPITAL LETTER C
-	0x00c4: 0x0044,	# LATIN CAPITAL LETTER D
-	0x00c5: 0x0045,	# LATIN CAPITAL LETTER E
-	0x00c6: 0x0046,	# LATIN CAPITAL LETTER F
-	0x00c7: 0x0047,	# LATIN CAPITAL LETTER G
-	0x00c8: 0x0048,	# LATIN CAPITAL LETTER H
-	0x00c9: 0x0049,	# LATIN CAPITAL LETTER I
-	0x00ca: 0x00ad,	# SOFT HYPHEN
-	0x00cb: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x00cc: 0x007e,	# TILDE
-	0x00cd: 0x00f2,	# LATIN SMALL LETTER O WITH GRAVE
-	0x00ce: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00cf: 0x00f5,	# LATIN SMALL LETTER O WITH TILDE
-	0x00d0: 0x011f,	# LATIN SMALL LETTER G WITH BREVE
-	0x00d1: 0x004a,	# LATIN CAPITAL LETTER J
-	0x00d2: 0x004b,	# LATIN CAPITAL LETTER K
-	0x00d3: 0x004c,	# LATIN CAPITAL LETTER L
-	0x00d4: 0x004d,	# LATIN CAPITAL LETTER M
-	0x00d5: 0x004e,	# LATIN CAPITAL LETTER N
-	0x00d6: 0x004f,	# LATIN CAPITAL LETTER O
-	0x00d7: 0x0050,	# LATIN CAPITAL LETTER P
-	0x00d8: 0x0051,	# LATIN CAPITAL LETTER Q
-	0x00d9: 0x0052,	# LATIN CAPITAL LETTER R
-	0x00da: 0x00b9,	# SUPERSCRIPT ONE
-	0x00db: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x00dc: 0x005c,	# REVERSE SOLIDUS
-	0x00dd: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x00de: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x00df: 0x00ff,	# LATIN SMALL LETTER Y WITH DIAERESIS
-	0x00e0: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x00e1: 0x00f7,	# DIVISION SIGN
-	0x00e2: 0x0053,	# LATIN CAPITAL LETTER S
-	0x00e3: 0x0054,	# LATIN CAPITAL LETTER T
-	0x00e4: 0x0055,	# LATIN CAPITAL LETTER U
-	0x00e5: 0x0056,	# LATIN CAPITAL LETTER V
-	0x00e6: 0x0057,	# LATIN CAPITAL LETTER W
-	0x00e7: 0x0058,	# LATIN CAPITAL LETTER X
-	0x00e8: 0x0059,	# LATIN CAPITAL LETTER Y
-	0x00e9: 0x005a,	# LATIN CAPITAL LETTER Z
-	0x00ea: 0x00b2,	# SUPERSCRIPT TWO
-	0x00eb: 0x00d4,	# LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-	0x00ec: 0x0023,	# NUMBER SIGN
-	0x00ed: 0x00d2,	# LATIN CAPITAL LETTER O WITH GRAVE
-	0x00ee: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00ef: 0x00d5,	# LATIN CAPITAL LETTER O WITH TILDE
-	0x00f0: 0x0030,	# DIGIT ZERO
-	0x00f1: 0x0031,	# DIGIT ONE
-	0x00f2: 0x0032,	# DIGIT TWO
-	0x00f3: 0x0033,	# DIGIT THREE
-	0x00f4: 0x0034,	# DIGIT FOUR
-	0x00f5: 0x0035,	# DIGIT FIVE
-	0x00f6: 0x0036,	# DIGIT SIX
-	0x00f7: 0x0037,	# DIGIT SEVEN
-	0x00f8: 0x0038,	# DIGIT EIGHT
-	0x00f9: 0x0039,	# DIGIT NINE
-	0x00fa: 0x00b3,	# SUPERSCRIPT THREE
-	0x00fb: 0x00db,	# LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-	0x00fc: 0x0022,	# QUOTATION MARK
-	0x00fd: 0x00d9,	# LATIN CAPITAL LETTER U WITH GRAVE
-	0x00fe: 0x00da,	# LATIN CAPITAL LETTER U WITH ACUTE
-	0x00ff: 0x009f,	# CONTROL
+        0x0004: 0x009c, # CONTROL
+        0x0005: 0x0009, # HORIZONTAL TABULATION
+        0x0006: 0x0086, # CONTROL
+        0x0007: 0x007f, # DELETE
+        0x0008: 0x0097, # CONTROL
+        0x0009: 0x008d, # CONTROL
+        0x000a: 0x008e, # CONTROL
+        0x0014: 0x009d, # CONTROL
+        0x0015: 0x0085, # CONTROL
+        0x0016: 0x0008, # BACKSPACE
+        0x0017: 0x0087, # CONTROL
+        0x001a: 0x0092, # CONTROL
+        0x001b: 0x008f, # CONTROL
+        0x0020: 0x0080, # CONTROL
+        0x0021: 0x0081, # CONTROL
+        0x0022: 0x0082, # CONTROL
+        0x0023: 0x0083, # CONTROL
+        0x0024: 0x0084, # CONTROL
+        0x0025: 0x000a, # LINE FEED
+        0x0026: 0x0017, # END OF TRANSMISSION BLOCK
+        0x0027: 0x001b, # ESCAPE
+        0x0028: 0x0088, # CONTROL
+        0x0029: 0x0089, # CONTROL
+        0x002a: 0x008a, # CONTROL
+        0x002b: 0x008b, # CONTROL
+        0x002c: 0x008c, # CONTROL
+        0x002d: 0x0005, # ENQUIRY
+        0x002e: 0x0006, # ACKNOWLEDGE
+        0x002f: 0x0007, # BELL
+        0x0030: 0x0090, # CONTROL
+        0x0031: 0x0091, # CONTROL
+        0x0032: 0x0016, # SYNCHRONOUS IDLE
+        0x0033: 0x0093, # CONTROL
+        0x0034: 0x0094, # CONTROL
+        0x0035: 0x0095, # CONTROL
+        0x0036: 0x0096, # CONTROL
+        0x0037: 0x0004, # END OF TRANSMISSION
+        0x0038: 0x0098, # CONTROL
+        0x0039: 0x0099, # CONTROL
+        0x003a: 0x009a, # CONTROL
+        0x003b: 0x009b, # CONTROL
+        0x003c: 0x0014, # DEVICE CONTROL FOUR
+        0x003d: 0x0015, # NEGATIVE ACKNOWLEDGE
+        0x003e: 0x009e, # CONTROL
+        0x003f: 0x001a, # SUBSTITUTE
+        0x0040: 0x0020, # SPACE
+        0x0041: 0x00a0, # NO-BREAK SPACE
+        0x0042: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x0043: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x0044: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0045: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x0046: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
+        0x0047: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+        0x0048: 0x007b, # LEFT CURLY BRACKET
+        0x0049: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+        0x004a: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x004b: 0x002e, # FULL STOP
+        0x004c: 0x003c, # LESS-THAN SIGN
+        0x004d: 0x0028, # LEFT PARENTHESIS
+        0x004e: 0x002b, # PLUS SIGN
+        0x004f: 0x0021, # EXCLAMATION MARK
+        0x0050: 0x0026, # AMPERSAND
+        0x0051: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x0052: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0053: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x0054: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x0055: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x0056: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x0057: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+        0x0058: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+        0x0059: 0x00df, # LATIN SMALL LETTER SHARP S (GERMAN)
+        0x005a: 0x011e, # LATIN CAPITAL LETTER G WITH BREVE
+        0x005b: 0x0130, # LATIN CAPITAL LETTER I WITH DOT ABOVE
+        0x005c: 0x002a, # ASTERISK
+        0x005d: 0x0029, # RIGHT PARENTHESIS
+        0x005e: 0x003b, # SEMICOLON
+        0x005f: 0x005e, # CIRCUMFLEX ACCENT
+        0x0060: 0x002d, # HYPHEN-MINUS
+        0x0061: 0x002f, # SOLIDUS
+        0x0062: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+        0x0063: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x0064: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+        0x0065: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+        0x0066: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
+        0x0067: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+        0x0068: 0x005b, # LEFT SQUARE BRACKET
+        0x0069: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+        0x006a: 0x015f, # LATIN SMALL LETTER S WITH CEDILLA
+        0x006b: 0x002c, # COMMA
+        0x006c: 0x0025, # PERCENT SIGN
+        0x006d: 0x005f, # LOW LINE
+        0x006e: 0x003e, # GREATER-THAN SIGN
+        0x006f: 0x003f, # QUESTION MARK
+        0x0070: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+        0x0071: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0072: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+        0x0073: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+        0x0074: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+        0x0075: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+        0x0076: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+        0x0077: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
+        0x0078: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
+        0x0079: 0x0131, # LATIN SMALL LETTER DOTLESS I
+        0x007a: 0x003a, # COLON
+        0x007b: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x007c: 0x015e, # LATIN CAPITAL LETTER S WITH CEDILLA
+        0x007d: 0x0027, # APOSTROPHE
+        0x007e: 0x003d, # EQUALS SIGN
+        0x007f: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x0080: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+        0x0081: 0x0061, # LATIN SMALL LETTER A
+        0x0082: 0x0062, # LATIN SMALL LETTER B
+        0x0083: 0x0063, # LATIN SMALL LETTER C
+        0x0084: 0x0064, # LATIN SMALL LETTER D
+        0x0085: 0x0065, # LATIN SMALL LETTER E
+        0x0086: 0x0066, # LATIN SMALL LETTER F
+        0x0087: 0x0067, # LATIN SMALL LETTER G
+        0x0088: 0x0068, # LATIN SMALL LETTER H
+        0x0089: 0x0069, # LATIN SMALL LETTER I
+        0x008a: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x008b: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x008c: 0x007d, # RIGHT CURLY BRACKET
+        0x008d: 0x0060, # GRAVE ACCENT
+        0x008e: 0x00a6, # BROKEN BAR
+        0x008f: 0x00b1, # PLUS-MINUS SIGN
+        0x0090: 0x00b0, # DEGREE SIGN
+        0x0091: 0x006a, # LATIN SMALL LETTER J
+        0x0092: 0x006b, # LATIN SMALL LETTER K
+        0x0093: 0x006c, # LATIN SMALL LETTER L
+        0x0094: 0x006d, # LATIN SMALL LETTER M
+        0x0095: 0x006e, # LATIN SMALL LETTER N
+        0x0096: 0x006f, # LATIN SMALL LETTER O
+        0x0097: 0x0070, # LATIN SMALL LETTER P
+        0x0098: 0x0071, # LATIN SMALL LETTER Q
+        0x0099: 0x0072, # LATIN SMALL LETTER R
+        0x009a: 0x00aa, # FEMININE ORDINAL INDICATOR
+        0x009b: 0x00ba, # MASCULINE ORDINAL INDICATOR
+        0x009c: 0x00e6, # LATIN SMALL LIGATURE AE
+        0x009d: 0x00b8, # CEDILLA
+        0x009e: 0x00c6, # LATIN CAPITAL LIGATURE AE
+        0x009f: 0x00a4, # CURRENCY SIGN
+        0x00a0: 0x00b5, # MICRO SIGN
+        0x00a1: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x00a2: 0x0073, # LATIN SMALL LETTER S
+        0x00a3: 0x0074, # LATIN SMALL LETTER T
+        0x00a4: 0x0075, # LATIN SMALL LETTER U
+        0x00a5: 0x0076, # LATIN SMALL LETTER V
+        0x00a6: 0x0077, # LATIN SMALL LETTER W
+        0x00a7: 0x0078, # LATIN SMALL LETTER X
+        0x00a8: 0x0079, # LATIN SMALL LETTER Y
+        0x00a9: 0x007a, # LATIN SMALL LETTER Z
+        0x00aa: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00ab: 0x00bf, # INVERTED QUESTION MARK
+        0x00ac: 0x005d, # RIGHT SQUARE BRACKET
+        0x00ad: 0x0024, # DOLLAR SIGN
+        0x00ae: 0x0040, # COMMERCIAL AT
+        0x00af: 0x00ae, # REGISTERED SIGN
+        0x00b0: 0x00a2, # CENT SIGN
+        0x00b1: 0x00a3, # POUND SIGN
+        0x00b2: 0x00a5, # YEN SIGN
+        0x00b3: 0x00b7, # MIDDLE DOT
+        0x00b4: 0x00a9, # COPYRIGHT SIGN
+        0x00b5: 0x00a7, # SECTION SIGN
+        0x00b7: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00b8: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00b9: 0x00be, # VULGAR FRACTION THREE QUARTERS
+        0x00ba: 0x00ac, # NOT SIGN
+        0x00bb: 0x007c, # VERTICAL LINE
+        0x00bc: 0x00af, # MACRON
+        0x00bd: 0x00a8, # DIAERESIS
+        0x00be: 0x00b4, # ACUTE ACCENT
+        0x00bf: 0x00d7, # MULTIPLICATION SIGN
+        0x00c0: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x00c1: 0x0041, # LATIN CAPITAL LETTER A
+        0x00c2: 0x0042, # LATIN CAPITAL LETTER B
+        0x00c3: 0x0043, # LATIN CAPITAL LETTER C
+        0x00c4: 0x0044, # LATIN CAPITAL LETTER D
+        0x00c5: 0x0045, # LATIN CAPITAL LETTER E
+        0x00c6: 0x0046, # LATIN CAPITAL LETTER F
+        0x00c7: 0x0047, # LATIN CAPITAL LETTER G
+        0x00c8: 0x0048, # LATIN CAPITAL LETTER H
+        0x00c9: 0x0049, # LATIN CAPITAL LETTER I
+        0x00ca: 0x00ad, # SOFT HYPHEN
+        0x00cb: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x00cc: 0x007e, # TILDE
+        0x00cd: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+        0x00ce: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00cf: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+        0x00d0: 0x011f, # LATIN SMALL LETTER G WITH BREVE
+        0x00d1: 0x004a, # LATIN CAPITAL LETTER J
+        0x00d2: 0x004b, # LATIN CAPITAL LETTER K
+        0x00d3: 0x004c, # LATIN CAPITAL LETTER L
+        0x00d4: 0x004d, # LATIN CAPITAL LETTER M
+        0x00d5: 0x004e, # LATIN CAPITAL LETTER N
+        0x00d6: 0x004f, # LATIN CAPITAL LETTER O
+        0x00d7: 0x0050, # LATIN CAPITAL LETTER P
+        0x00d8: 0x0051, # LATIN CAPITAL LETTER Q
+        0x00d9: 0x0052, # LATIN CAPITAL LETTER R
+        0x00da: 0x00b9, # SUPERSCRIPT ONE
+        0x00db: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x00dc: 0x005c, # REVERSE SOLIDUS
+        0x00dd: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x00de: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x00df: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+        0x00e0: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x00e1: 0x00f7, # DIVISION SIGN
+        0x00e2: 0x0053, # LATIN CAPITAL LETTER S
+        0x00e3: 0x0054, # LATIN CAPITAL LETTER T
+        0x00e4: 0x0055, # LATIN CAPITAL LETTER U
+        0x00e5: 0x0056, # LATIN CAPITAL LETTER V
+        0x00e6: 0x0057, # LATIN CAPITAL LETTER W
+        0x00e7: 0x0058, # LATIN CAPITAL LETTER X
+        0x00e8: 0x0059, # LATIN CAPITAL LETTER Y
+        0x00e9: 0x005a, # LATIN CAPITAL LETTER Z
+        0x00ea: 0x00b2, # SUPERSCRIPT TWO
+        0x00eb: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+        0x00ec: 0x0023, # NUMBER SIGN
+        0x00ed: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
+        0x00ee: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00ef: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+        0x00f0: 0x0030, # DIGIT ZERO
+        0x00f1: 0x0031, # DIGIT ONE
+        0x00f2: 0x0032, # DIGIT TWO
+        0x00f3: 0x0033, # DIGIT THREE
+        0x00f4: 0x0034, # DIGIT FOUR
+        0x00f5: 0x0035, # DIGIT FIVE
+        0x00f6: 0x0036, # DIGIT SIX
+        0x00f7: 0x0037, # DIGIT SEVEN
+        0x00f8: 0x0038, # DIGIT EIGHT
+        0x00f9: 0x0039, # DIGIT NINE
+        0x00fa: 0x00b3, # SUPERSCRIPT THREE
+        0x00fb: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+        0x00fc: 0x0022, # QUOTATION MARK
+        0x00fd: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+        0x00fe: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+        0x00ff: 0x009f, # CONTROL
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp1140.py b/Lib/encodings/cp1140.py
index 68f64ab..5fd31a6 100644
--- a/Lib/encodings/cp1140.py
+++ b/Lib/encodings/cp1140.py
@@ -14,14 +14,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -36,10 +36,9 @@
 decoding_map = copy.copy(cp037.decoding_map)
 
 decoding_map.update({
- 	0x009f: 0x20ac # EURO SIGN
+        0x009f: 0x20ac # EURO SIGN
 })
 
 ### Encoding Map
 
 encoding_map = codecs.make_encoding_map(decoding_map)
-
diff --git a/Lib/encodings/cp1250.py b/Lib/encodings/cp1250.py
index 39cbc33..85774ed 100644
--- a/Lib/encodings/cp1250.py
+++ b/Lib/encodings/cp1250.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,85 +37,85 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x20ac,	# EURO SIGN
-	0x0081: None,	# UNDEFINED
-	0x0082: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x0083: None,	# UNDEFINED
-	0x0084: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x0085: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x0086: 0x2020,	# DAGGER
-	0x0087: 0x2021,	# DOUBLE DAGGER
-	0x0088: None,	# UNDEFINED
-	0x0089: 0x2030,	# PER MILLE SIGN
-	0x008a: 0x0160,	# LATIN CAPITAL LETTER S WITH CARON
-	0x008b: 0x2039,	# SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-	0x008c: 0x015a,	# LATIN CAPITAL LETTER S WITH ACUTE
-	0x008d: 0x0164,	# LATIN CAPITAL LETTER T WITH CARON
-	0x008e: 0x017d,	# LATIN CAPITAL LETTER Z WITH CARON
-	0x008f: 0x0179,	# LATIN CAPITAL LETTER Z WITH ACUTE
-	0x0090: None,	# UNDEFINED
-	0x0091: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x0092: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x0093: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x0094: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x0095: 0x2022,	# BULLET
-	0x0096: 0x2013,	# EN DASH
-	0x0097: 0x2014,	# EM DASH
-	0x0098: None,	# UNDEFINED
-	0x0099: 0x2122,	# TRADE MARK SIGN
-	0x009a: 0x0161,	# LATIN SMALL LETTER S WITH CARON
-	0x009b: 0x203a,	# SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-	0x009c: 0x015b,	# LATIN SMALL LETTER S WITH ACUTE
-	0x009d: 0x0165,	# LATIN SMALL LETTER T WITH CARON
-	0x009e: 0x017e,	# LATIN SMALL LETTER Z WITH CARON
-	0x009f: 0x017a,	# LATIN SMALL LETTER Z WITH ACUTE
-	0x00a1: 0x02c7,	# CARON
-	0x00a2: 0x02d8,	# BREVE
-	0x00a3: 0x0141,	# LATIN CAPITAL LETTER L WITH STROKE
-	0x00a5: 0x0104,	# LATIN CAPITAL LETTER A WITH OGONEK
-	0x00aa: 0x015e,	# LATIN CAPITAL LETTER S WITH CEDILLA
-	0x00af: 0x017b,	# LATIN CAPITAL LETTER Z WITH DOT ABOVE
-	0x00b2: 0x02db,	# OGONEK
-	0x00b3: 0x0142,	# LATIN SMALL LETTER L WITH STROKE
-	0x00b9: 0x0105,	# LATIN SMALL LETTER A WITH OGONEK
-	0x00ba: 0x015f,	# LATIN SMALL LETTER S WITH CEDILLA
-	0x00bc: 0x013d,	# LATIN CAPITAL LETTER L WITH CARON
-	0x00bd: 0x02dd,	# DOUBLE ACUTE ACCENT
-	0x00be: 0x013e,	# LATIN SMALL LETTER L WITH CARON
-	0x00bf: 0x017c,	# LATIN SMALL LETTER Z WITH DOT ABOVE
-	0x00c0: 0x0154,	# LATIN CAPITAL LETTER R WITH ACUTE
-	0x00c3: 0x0102,	# LATIN CAPITAL LETTER A WITH BREVE
-	0x00c5: 0x0139,	# LATIN CAPITAL LETTER L WITH ACUTE
-	0x00c6: 0x0106,	# LATIN CAPITAL LETTER C WITH ACUTE
-	0x00c8: 0x010c,	# LATIN CAPITAL LETTER C WITH CARON
-	0x00ca: 0x0118,	# LATIN CAPITAL LETTER E WITH OGONEK
-	0x00cc: 0x011a,	# LATIN CAPITAL LETTER E WITH CARON
-	0x00cf: 0x010e,	# LATIN CAPITAL LETTER D WITH CARON
-	0x00d0: 0x0110,	# LATIN CAPITAL LETTER D WITH STROKE
-	0x00d1: 0x0143,	# LATIN CAPITAL LETTER N WITH ACUTE
-	0x00d2: 0x0147,	# LATIN CAPITAL LETTER N WITH CARON
-	0x00d5: 0x0150,	# LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-	0x00d8: 0x0158,	# LATIN CAPITAL LETTER R WITH CARON
-	0x00d9: 0x016e,	# LATIN CAPITAL LETTER U WITH RING ABOVE
-	0x00db: 0x0170,	# LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-	0x00de: 0x0162,	# LATIN CAPITAL LETTER T WITH CEDILLA
-	0x00e0: 0x0155,	# LATIN SMALL LETTER R WITH ACUTE
-	0x00e3: 0x0103,	# LATIN SMALL LETTER A WITH BREVE
-	0x00e5: 0x013a,	# LATIN SMALL LETTER L WITH ACUTE
-	0x00e6: 0x0107,	# LATIN SMALL LETTER C WITH ACUTE
-	0x00e8: 0x010d,	# LATIN SMALL LETTER C WITH CARON
-	0x00ea: 0x0119,	# LATIN SMALL LETTER E WITH OGONEK
-	0x00ec: 0x011b,	# LATIN SMALL LETTER E WITH CARON
-	0x00ef: 0x010f,	# LATIN SMALL LETTER D WITH CARON
-	0x00f0: 0x0111,	# LATIN SMALL LETTER D WITH STROKE
-	0x00f1: 0x0144,	# LATIN SMALL LETTER N WITH ACUTE
-	0x00f2: 0x0148,	# LATIN SMALL LETTER N WITH CARON
-	0x00f5: 0x0151,	# LATIN SMALL LETTER O WITH DOUBLE ACUTE
-	0x00f8: 0x0159,	# LATIN SMALL LETTER R WITH CARON
-	0x00f9: 0x016f,	# LATIN SMALL LETTER U WITH RING ABOVE
-	0x00fb: 0x0171,	# LATIN SMALL LETTER U WITH DOUBLE ACUTE
-	0x00fe: 0x0163,	# LATIN SMALL LETTER T WITH CEDILLA
-	0x00ff: 0x02d9,	# DOT ABOVE
+        0x0080: 0x20ac, # EURO SIGN
+        0x0081: None,   # UNDEFINED
+        0x0082: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x0083: None,   # UNDEFINED
+        0x0084: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x0085: 0x2026, # HORIZONTAL ELLIPSIS
+        0x0086: 0x2020, # DAGGER
+        0x0087: 0x2021, # DOUBLE DAGGER
+        0x0088: None,   # UNDEFINED
+        0x0089: 0x2030, # PER MILLE SIGN
+        0x008a: 0x0160, # LATIN CAPITAL LETTER S WITH CARON
+        0x008b: 0x2039, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        0x008c: 0x015a, # LATIN CAPITAL LETTER S WITH ACUTE
+        0x008d: 0x0164, # LATIN CAPITAL LETTER T WITH CARON
+        0x008e: 0x017d, # LATIN CAPITAL LETTER Z WITH CARON
+        0x008f: 0x0179, # LATIN CAPITAL LETTER Z WITH ACUTE
+        0x0090: None,   # UNDEFINED
+        0x0091: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x0092: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x0093: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x0094: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x0095: 0x2022, # BULLET
+        0x0096: 0x2013, # EN DASH
+        0x0097: 0x2014, # EM DASH
+        0x0098: None,   # UNDEFINED
+        0x0099: 0x2122, # TRADE MARK SIGN
+        0x009a: 0x0161, # LATIN SMALL LETTER S WITH CARON
+        0x009b: 0x203a, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        0x009c: 0x015b, # LATIN SMALL LETTER S WITH ACUTE
+        0x009d: 0x0165, # LATIN SMALL LETTER T WITH CARON
+        0x009e: 0x017e, # LATIN SMALL LETTER Z WITH CARON
+        0x009f: 0x017a, # LATIN SMALL LETTER Z WITH ACUTE
+        0x00a1: 0x02c7, # CARON
+        0x00a2: 0x02d8, # BREVE
+        0x00a3: 0x0141, # LATIN CAPITAL LETTER L WITH STROKE
+        0x00a5: 0x0104, # LATIN CAPITAL LETTER A WITH OGONEK
+        0x00aa: 0x015e, # LATIN CAPITAL LETTER S WITH CEDILLA
+        0x00af: 0x017b, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+        0x00b2: 0x02db, # OGONEK
+        0x00b3: 0x0142, # LATIN SMALL LETTER L WITH STROKE
+        0x00b9: 0x0105, # LATIN SMALL LETTER A WITH OGONEK
+        0x00ba: 0x015f, # LATIN SMALL LETTER S WITH CEDILLA
+        0x00bc: 0x013d, # LATIN CAPITAL LETTER L WITH CARON
+        0x00bd: 0x02dd, # DOUBLE ACUTE ACCENT
+        0x00be: 0x013e, # LATIN SMALL LETTER L WITH CARON
+        0x00bf: 0x017c, # LATIN SMALL LETTER Z WITH DOT ABOVE
+        0x00c0: 0x0154, # LATIN CAPITAL LETTER R WITH ACUTE
+        0x00c3: 0x0102, # LATIN CAPITAL LETTER A WITH BREVE
+        0x00c5: 0x0139, # LATIN CAPITAL LETTER L WITH ACUTE
+        0x00c6: 0x0106, # LATIN CAPITAL LETTER C WITH ACUTE
+        0x00c8: 0x010c, # LATIN CAPITAL LETTER C WITH CARON
+        0x00ca: 0x0118, # LATIN CAPITAL LETTER E WITH OGONEK
+        0x00cc: 0x011a, # LATIN CAPITAL LETTER E WITH CARON
+        0x00cf: 0x010e, # LATIN CAPITAL LETTER D WITH CARON
+        0x00d0: 0x0110, # LATIN CAPITAL LETTER D WITH STROKE
+        0x00d1: 0x0143, # LATIN CAPITAL LETTER N WITH ACUTE
+        0x00d2: 0x0147, # LATIN CAPITAL LETTER N WITH CARON
+        0x00d5: 0x0150, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+        0x00d8: 0x0158, # LATIN CAPITAL LETTER R WITH CARON
+        0x00d9: 0x016e, # LATIN CAPITAL LETTER U WITH RING ABOVE
+        0x00db: 0x0170, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+        0x00de: 0x0162, # LATIN CAPITAL LETTER T WITH CEDILLA
+        0x00e0: 0x0155, # LATIN SMALL LETTER R WITH ACUTE
+        0x00e3: 0x0103, # LATIN SMALL LETTER A WITH BREVE
+        0x00e5: 0x013a, # LATIN SMALL LETTER L WITH ACUTE
+        0x00e6: 0x0107, # LATIN SMALL LETTER C WITH ACUTE
+        0x00e8: 0x010d, # LATIN SMALL LETTER C WITH CARON
+        0x00ea: 0x0119, # LATIN SMALL LETTER E WITH OGONEK
+        0x00ec: 0x011b, # LATIN SMALL LETTER E WITH CARON
+        0x00ef: 0x010f, # LATIN SMALL LETTER D WITH CARON
+        0x00f0: 0x0111, # LATIN SMALL LETTER D WITH STROKE
+        0x00f1: 0x0144, # LATIN SMALL LETTER N WITH ACUTE
+        0x00f2: 0x0148, # LATIN SMALL LETTER N WITH CARON
+        0x00f5: 0x0151, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+        0x00f8: 0x0159, # LATIN SMALL LETTER R WITH CARON
+        0x00f9: 0x016f, # LATIN SMALL LETTER U WITH RING ABOVE
+        0x00fb: 0x0171, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+        0x00fe: 0x0163, # LATIN SMALL LETTER T WITH CEDILLA
+        0x00ff: 0x02d9, # DOT ABOVE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp1251.py b/Lib/encodings/cp1251.py
index 4d4b6ee..f191b06 100644
--- a/Lib/encodings/cp1251.py
+++ b/Lib/encodings/cp1251.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,119 +37,119 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x0402,	# CYRILLIC CAPITAL LETTER DJE
-	0x0081: 0x0403,	# CYRILLIC CAPITAL LETTER GJE
-	0x0082: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x0083: 0x0453,	# CYRILLIC SMALL LETTER GJE
-	0x0084: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x0085: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x0086: 0x2020,	# DAGGER
-	0x0087: 0x2021,	# DOUBLE DAGGER
-	0x0088: 0x20ac,	# EURO SIGN
-	0x0089: 0x2030,	# PER MILLE SIGN
-	0x008a: 0x0409,	# CYRILLIC CAPITAL LETTER LJE
-	0x008b: 0x2039,	# SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-	0x008c: 0x040a,	# CYRILLIC CAPITAL LETTER NJE
-	0x008d: 0x040c,	# CYRILLIC CAPITAL LETTER KJE
-	0x008e: 0x040b,	# CYRILLIC CAPITAL LETTER TSHE
-	0x008f: 0x040f,	# CYRILLIC CAPITAL LETTER DZHE
-	0x0090: 0x0452,	# CYRILLIC SMALL LETTER DJE
-	0x0091: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x0092: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x0093: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x0094: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x0095: 0x2022,	# BULLET
-	0x0096: 0x2013,	# EN DASH
-	0x0097: 0x2014,	# EM DASH
-	0x0098: None,	# UNDEFINED
-	0x0099: 0x2122,	# TRADE MARK SIGN
-	0x009a: 0x0459,	# CYRILLIC SMALL LETTER LJE
-	0x009b: 0x203a,	# SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-	0x009c: 0x045a,	# CYRILLIC SMALL LETTER NJE
-	0x009d: 0x045c,	# CYRILLIC SMALL LETTER KJE
-	0x009e: 0x045b,	# CYRILLIC SMALL LETTER TSHE
-	0x009f: 0x045f,	# CYRILLIC SMALL LETTER DZHE
-	0x00a1: 0x040e,	# CYRILLIC CAPITAL LETTER SHORT U
-	0x00a2: 0x045e,	# CYRILLIC SMALL LETTER SHORT U
-	0x00a3: 0x0408,	# CYRILLIC CAPITAL LETTER JE
-	0x00a5: 0x0490,	# CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-	0x00a8: 0x0401,	# CYRILLIC CAPITAL LETTER IO
-	0x00aa: 0x0404,	# CYRILLIC CAPITAL LETTER UKRAINIAN IE
-	0x00af: 0x0407,	# CYRILLIC CAPITAL LETTER YI
-	0x00b2: 0x0406,	# CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-	0x00b3: 0x0456,	# CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-	0x00b4: 0x0491,	# CYRILLIC SMALL LETTER GHE WITH UPTURN
-	0x00b8: 0x0451,	# CYRILLIC SMALL LETTER IO
-	0x00b9: 0x2116,	# NUMERO SIGN
-	0x00ba: 0x0454,	# CYRILLIC SMALL LETTER UKRAINIAN IE
-	0x00bc: 0x0458,	# CYRILLIC SMALL LETTER JE
-	0x00bd: 0x0405,	# CYRILLIC CAPITAL LETTER DZE
-	0x00be: 0x0455,	# CYRILLIC SMALL LETTER DZE
-	0x00bf: 0x0457,	# CYRILLIC SMALL LETTER YI
-	0x00c0: 0x0410,	# CYRILLIC CAPITAL LETTER A
-	0x00c1: 0x0411,	# CYRILLIC CAPITAL LETTER BE
-	0x00c2: 0x0412,	# CYRILLIC CAPITAL LETTER VE
-	0x00c3: 0x0413,	# CYRILLIC CAPITAL LETTER GHE
-	0x00c4: 0x0414,	# CYRILLIC CAPITAL LETTER DE
-	0x00c5: 0x0415,	# CYRILLIC CAPITAL LETTER IE
-	0x00c6: 0x0416,	# CYRILLIC CAPITAL LETTER ZHE
-	0x00c7: 0x0417,	# CYRILLIC CAPITAL LETTER ZE
-	0x00c8: 0x0418,	# CYRILLIC CAPITAL LETTER I
-	0x00c9: 0x0419,	# CYRILLIC CAPITAL LETTER SHORT I
-	0x00ca: 0x041a,	# CYRILLIC CAPITAL LETTER KA
-	0x00cb: 0x041b,	# CYRILLIC CAPITAL LETTER EL
-	0x00cc: 0x041c,	# CYRILLIC CAPITAL LETTER EM
-	0x00cd: 0x041d,	# CYRILLIC CAPITAL LETTER EN
-	0x00ce: 0x041e,	# CYRILLIC CAPITAL LETTER O
-	0x00cf: 0x041f,	# CYRILLIC CAPITAL LETTER PE
-	0x00d0: 0x0420,	# CYRILLIC CAPITAL LETTER ER
-	0x00d1: 0x0421,	# CYRILLIC CAPITAL LETTER ES
-	0x00d2: 0x0422,	# CYRILLIC CAPITAL LETTER TE
-	0x00d3: 0x0423,	# CYRILLIC CAPITAL LETTER U
-	0x00d4: 0x0424,	# CYRILLIC CAPITAL LETTER EF
-	0x00d5: 0x0425,	# CYRILLIC CAPITAL LETTER HA
-	0x00d6: 0x0426,	# CYRILLIC CAPITAL LETTER TSE
-	0x00d7: 0x0427,	# CYRILLIC CAPITAL LETTER CHE
-	0x00d8: 0x0428,	# CYRILLIC CAPITAL LETTER SHA
-	0x00d9: 0x0429,	# CYRILLIC CAPITAL LETTER SHCHA
-	0x00da: 0x042a,	# CYRILLIC CAPITAL LETTER HARD SIGN
-	0x00db: 0x042b,	# CYRILLIC CAPITAL LETTER YERU
-	0x00dc: 0x042c,	# CYRILLIC CAPITAL LETTER SOFT SIGN
-	0x00dd: 0x042d,	# CYRILLIC CAPITAL LETTER E
-	0x00de: 0x042e,	# CYRILLIC CAPITAL LETTER YU
-	0x00df: 0x042f,	# CYRILLIC CAPITAL LETTER YA
-	0x00e0: 0x0430,	# CYRILLIC SMALL LETTER A
-	0x00e1: 0x0431,	# CYRILLIC SMALL LETTER BE
-	0x00e2: 0x0432,	# CYRILLIC SMALL LETTER VE
-	0x00e3: 0x0433,	# CYRILLIC SMALL LETTER GHE
-	0x00e4: 0x0434,	# CYRILLIC SMALL LETTER DE
-	0x00e5: 0x0435,	# CYRILLIC SMALL LETTER IE
-	0x00e6: 0x0436,	# CYRILLIC SMALL LETTER ZHE
-	0x00e7: 0x0437,	# CYRILLIC SMALL LETTER ZE
-	0x00e8: 0x0438,	# CYRILLIC SMALL LETTER I
-	0x00e9: 0x0439,	# CYRILLIC SMALL LETTER SHORT I
-	0x00ea: 0x043a,	# CYRILLIC SMALL LETTER KA
-	0x00eb: 0x043b,	# CYRILLIC SMALL LETTER EL
-	0x00ec: 0x043c,	# CYRILLIC SMALL LETTER EM
-	0x00ed: 0x043d,	# CYRILLIC SMALL LETTER EN
-	0x00ee: 0x043e,	# CYRILLIC SMALL LETTER O
-	0x00ef: 0x043f,	# CYRILLIC SMALL LETTER PE
-	0x00f0: 0x0440,	# CYRILLIC SMALL LETTER ER
-	0x00f1: 0x0441,	# CYRILLIC SMALL LETTER ES
-	0x00f2: 0x0442,	# CYRILLIC SMALL LETTER TE
-	0x00f3: 0x0443,	# CYRILLIC SMALL LETTER U
-	0x00f4: 0x0444,	# CYRILLIC SMALL LETTER EF
-	0x00f5: 0x0445,	# CYRILLIC SMALL LETTER HA
-	0x00f6: 0x0446,	# CYRILLIC SMALL LETTER TSE
-	0x00f7: 0x0447,	# CYRILLIC SMALL LETTER CHE
-	0x00f8: 0x0448,	# CYRILLIC SMALL LETTER SHA
-	0x00f9: 0x0449,	# CYRILLIC SMALL LETTER SHCHA
-	0x00fa: 0x044a,	# CYRILLIC SMALL LETTER HARD SIGN
-	0x00fb: 0x044b,	# CYRILLIC SMALL LETTER YERU
-	0x00fc: 0x044c,	# CYRILLIC SMALL LETTER SOFT SIGN
-	0x00fd: 0x044d,	# CYRILLIC SMALL LETTER E
-	0x00fe: 0x044e,	# CYRILLIC SMALL LETTER YU
-	0x00ff: 0x044f,	# CYRILLIC SMALL LETTER YA
+        0x0080: 0x0402, # CYRILLIC CAPITAL LETTER DJE
+        0x0081: 0x0403, # CYRILLIC CAPITAL LETTER GJE
+        0x0082: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x0083: 0x0453, # CYRILLIC SMALL LETTER GJE
+        0x0084: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x0085: 0x2026, # HORIZONTAL ELLIPSIS
+        0x0086: 0x2020, # DAGGER
+        0x0087: 0x2021, # DOUBLE DAGGER
+        0x0088: 0x20ac, # EURO SIGN
+        0x0089: 0x2030, # PER MILLE SIGN
+        0x008a: 0x0409, # CYRILLIC CAPITAL LETTER LJE
+        0x008b: 0x2039, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        0x008c: 0x040a, # CYRILLIC CAPITAL LETTER NJE
+        0x008d: 0x040c, # CYRILLIC CAPITAL LETTER KJE
+        0x008e: 0x040b, # CYRILLIC CAPITAL LETTER TSHE
+        0x008f: 0x040f, # CYRILLIC CAPITAL LETTER DZHE
+        0x0090: 0x0452, # CYRILLIC SMALL LETTER DJE
+        0x0091: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x0092: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x0093: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x0094: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x0095: 0x2022, # BULLET
+        0x0096: 0x2013, # EN DASH
+        0x0097: 0x2014, # EM DASH
+        0x0098: None,   # UNDEFINED
+        0x0099: 0x2122, # TRADE MARK SIGN
+        0x009a: 0x0459, # CYRILLIC SMALL LETTER LJE
+        0x009b: 0x203a, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        0x009c: 0x045a, # CYRILLIC SMALL LETTER NJE
+        0x009d: 0x045c, # CYRILLIC SMALL LETTER KJE
+        0x009e: 0x045b, # CYRILLIC SMALL LETTER TSHE
+        0x009f: 0x045f, # CYRILLIC SMALL LETTER DZHE
+        0x00a1: 0x040e, # CYRILLIC CAPITAL LETTER SHORT U
+        0x00a2: 0x045e, # CYRILLIC SMALL LETTER SHORT U
+        0x00a3: 0x0408, # CYRILLIC CAPITAL LETTER JE
+        0x00a5: 0x0490, # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+        0x00a8: 0x0401, # CYRILLIC CAPITAL LETTER IO
+        0x00aa: 0x0404, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+        0x00af: 0x0407, # CYRILLIC CAPITAL LETTER YI
+        0x00b2: 0x0406, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+        0x00b3: 0x0456, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+        0x00b4: 0x0491, # CYRILLIC SMALL LETTER GHE WITH UPTURN
+        0x00b8: 0x0451, # CYRILLIC SMALL LETTER IO
+        0x00b9: 0x2116, # NUMERO SIGN
+        0x00ba: 0x0454, # CYRILLIC SMALL LETTER UKRAINIAN IE
+        0x00bc: 0x0458, # CYRILLIC SMALL LETTER JE
+        0x00bd: 0x0405, # CYRILLIC CAPITAL LETTER DZE
+        0x00be: 0x0455, # CYRILLIC SMALL LETTER DZE
+        0x00bf: 0x0457, # CYRILLIC SMALL LETTER YI
+        0x00c0: 0x0410, # CYRILLIC CAPITAL LETTER A
+        0x00c1: 0x0411, # CYRILLIC CAPITAL LETTER BE
+        0x00c2: 0x0412, # CYRILLIC CAPITAL LETTER VE
+        0x00c3: 0x0413, # CYRILLIC CAPITAL LETTER GHE
+        0x00c4: 0x0414, # CYRILLIC CAPITAL LETTER DE
+        0x00c5: 0x0415, # CYRILLIC CAPITAL LETTER IE
+        0x00c6: 0x0416, # CYRILLIC CAPITAL LETTER ZHE
+        0x00c7: 0x0417, # CYRILLIC CAPITAL LETTER ZE
+        0x00c8: 0x0418, # CYRILLIC CAPITAL LETTER I
+        0x00c9: 0x0419, # CYRILLIC CAPITAL LETTER SHORT I
+        0x00ca: 0x041a, # CYRILLIC CAPITAL LETTER KA
+        0x00cb: 0x041b, # CYRILLIC CAPITAL LETTER EL
+        0x00cc: 0x041c, # CYRILLIC CAPITAL LETTER EM
+        0x00cd: 0x041d, # CYRILLIC CAPITAL LETTER EN
+        0x00ce: 0x041e, # CYRILLIC CAPITAL LETTER O
+        0x00cf: 0x041f, # CYRILLIC CAPITAL LETTER PE
+        0x00d0: 0x0420, # CYRILLIC CAPITAL LETTER ER
+        0x00d1: 0x0421, # CYRILLIC CAPITAL LETTER ES
+        0x00d2: 0x0422, # CYRILLIC CAPITAL LETTER TE
+        0x00d3: 0x0423, # CYRILLIC CAPITAL LETTER U
+        0x00d4: 0x0424, # CYRILLIC CAPITAL LETTER EF
+        0x00d5: 0x0425, # CYRILLIC CAPITAL LETTER HA
+        0x00d6: 0x0426, # CYRILLIC CAPITAL LETTER TSE
+        0x00d7: 0x0427, # CYRILLIC CAPITAL LETTER CHE
+        0x00d8: 0x0428, # CYRILLIC CAPITAL LETTER SHA
+        0x00d9: 0x0429, # CYRILLIC CAPITAL LETTER SHCHA
+        0x00da: 0x042a, # CYRILLIC CAPITAL LETTER HARD SIGN
+        0x00db: 0x042b, # CYRILLIC CAPITAL LETTER YERU
+        0x00dc: 0x042c, # CYRILLIC CAPITAL LETTER SOFT SIGN
+        0x00dd: 0x042d, # CYRILLIC CAPITAL LETTER E
+        0x00de: 0x042e, # CYRILLIC CAPITAL LETTER YU
+        0x00df: 0x042f, # CYRILLIC CAPITAL LETTER YA
+        0x00e0: 0x0430, # CYRILLIC SMALL LETTER A
+        0x00e1: 0x0431, # CYRILLIC SMALL LETTER BE
+        0x00e2: 0x0432, # CYRILLIC SMALL LETTER VE
+        0x00e3: 0x0433, # CYRILLIC SMALL LETTER GHE
+        0x00e4: 0x0434, # CYRILLIC SMALL LETTER DE
+        0x00e5: 0x0435, # CYRILLIC SMALL LETTER IE
+        0x00e6: 0x0436, # CYRILLIC SMALL LETTER ZHE
+        0x00e7: 0x0437, # CYRILLIC SMALL LETTER ZE
+        0x00e8: 0x0438, # CYRILLIC SMALL LETTER I
+        0x00e9: 0x0439, # CYRILLIC SMALL LETTER SHORT I
+        0x00ea: 0x043a, # CYRILLIC SMALL LETTER KA
+        0x00eb: 0x043b, # CYRILLIC SMALL LETTER EL
+        0x00ec: 0x043c, # CYRILLIC SMALL LETTER EM
+        0x00ed: 0x043d, # CYRILLIC SMALL LETTER EN
+        0x00ee: 0x043e, # CYRILLIC SMALL LETTER O
+        0x00ef: 0x043f, # CYRILLIC SMALL LETTER PE
+        0x00f0: 0x0440, # CYRILLIC SMALL LETTER ER
+        0x00f1: 0x0441, # CYRILLIC SMALL LETTER ES
+        0x00f2: 0x0442, # CYRILLIC SMALL LETTER TE
+        0x00f3: 0x0443, # CYRILLIC SMALL LETTER U
+        0x00f4: 0x0444, # CYRILLIC SMALL LETTER EF
+        0x00f5: 0x0445, # CYRILLIC SMALL LETTER HA
+        0x00f6: 0x0446, # CYRILLIC SMALL LETTER TSE
+        0x00f7: 0x0447, # CYRILLIC SMALL LETTER CHE
+        0x00f8: 0x0448, # CYRILLIC SMALL LETTER SHA
+        0x00f9: 0x0449, # CYRILLIC SMALL LETTER SHCHA
+        0x00fa: 0x044a, # CYRILLIC SMALL LETTER HARD SIGN
+        0x00fb: 0x044b, # CYRILLIC SMALL LETTER YERU
+        0x00fc: 0x044c, # CYRILLIC SMALL LETTER SOFT SIGN
+        0x00fd: 0x044d, # CYRILLIC SMALL LETTER E
+        0x00fe: 0x044e, # CYRILLIC SMALL LETTER YU
+        0x00ff: 0x044f, # CYRILLIC SMALL LETTER YA
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp1252.py b/Lib/encodings/cp1252.py
index 647f907..d1ecaba 100644
--- a/Lib/encodings/cp1252.py
+++ b/Lib/encodings/cp1252.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,38 +37,38 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x20ac,	# EURO SIGN
-	0x0081: None,	# UNDEFINED
-	0x0082: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x0083: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x0084: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x0085: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x0086: 0x2020,	# DAGGER
-	0x0087: 0x2021,	# DOUBLE DAGGER
-	0x0088: 0x02c6,	# MODIFIER LETTER CIRCUMFLEX ACCENT
-	0x0089: 0x2030,	# PER MILLE SIGN
-	0x008a: 0x0160,	# LATIN CAPITAL LETTER S WITH CARON
-	0x008b: 0x2039,	# SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-	0x008c: 0x0152,	# LATIN CAPITAL LIGATURE OE
-	0x008d: None,	# UNDEFINED
-	0x008e: 0x017d,	# LATIN CAPITAL LETTER Z WITH CARON
-	0x008f: None,	# UNDEFINED
-	0x0090: None,	# UNDEFINED
-	0x0091: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x0092: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x0093: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x0094: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x0095: 0x2022,	# BULLET
-	0x0096: 0x2013,	# EN DASH
-	0x0097: 0x2014,	# EM DASH
-	0x0098: 0x02dc,	# SMALL TILDE
-	0x0099: 0x2122,	# TRADE MARK SIGN
-	0x009a: 0x0161,	# LATIN SMALL LETTER S WITH CARON
-	0x009b: 0x203a,	# SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-	0x009c: 0x0153,	# LATIN SMALL LIGATURE OE
-	0x009d: None,	# UNDEFINED
-	0x009e: 0x017e,	# LATIN SMALL LETTER Z WITH CARON
-	0x009f: 0x0178,	# LATIN CAPITAL LETTER Y WITH DIAERESIS
+        0x0080: 0x20ac, # EURO SIGN
+        0x0081: None,   # UNDEFINED
+        0x0082: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x0083: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x0084: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x0085: 0x2026, # HORIZONTAL ELLIPSIS
+        0x0086: 0x2020, # DAGGER
+        0x0087: 0x2021, # DOUBLE DAGGER
+        0x0088: 0x02c6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+        0x0089: 0x2030, # PER MILLE SIGN
+        0x008a: 0x0160, # LATIN CAPITAL LETTER S WITH CARON
+        0x008b: 0x2039, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        0x008c: 0x0152, # LATIN CAPITAL LIGATURE OE
+        0x008d: None,   # UNDEFINED
+        0x008e: 0x017d, # LATIN CAPITAL LETTER Z WITH CARON
+        0x008f: None,   # UNDEFINED
+        0x0090: None,   # UNDEFINED
+        0x0091: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x0092: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x0093: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x0094: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x0095: 0x2022, # BULLET
+        0x0096: 0x2013, # EN DASH
+        0x0097: 0x2014, # EM DASH
+        0x0098: 0x02dc, # SMALL TILDE
+        0x0099: 0x2122, # TRADE MARK SIGN
+        0x009a: 0x0161, # LATIN SMALL LETTER S WITH CARON
+        0x009b: 0x203a, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        0x009c: 0x0153, # LATIN SMALL LIGATURE OE
+        0x009d: None,   # UNDEFINED
+        0x009e: 0x017e, # LATIN SMALL LETTER Z WITH CARON
+        0x009f: 0x0178, # LATIN CAPITAL LETTER Y WITH DIAERESIS
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp1253.py b/Lib/encodings/cp1253.py
index bfb4723..22c70df 100644
--- a/Lib/encodings/cp1253.py
+++ b/Lib/encodings/cp1253.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,113 +37,113 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x20ac,	# EURO SIGN
-	0x0081: None,	# UNDEFINED
-	0x0082: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x0083: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x0084: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x0085: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x0086: 0x2020,	# DAGGER
-	0x0087: 0x2021,	# DOUBLE DAGGER
-	0x0088: None,	# UNDEFINED
-	0x0089: 0x2030,	# PER MILLE SIGN
-	0x008a: None,	# UNDEFINED
-	0x008b: 0x2039,	# SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-	0x008c: None,	# UNDEFINED
-	0x008d: None,	# UNDEFINED
-	0x008e: None,	# UNDEFINED
-	0x008f: None,	# UNDEFINED
-	0x0090: None,	# UNDEFINED
-	0x0091: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x0092: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x0093: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x0094: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x0095: 0x2022,	# BULLET
-	0x0096: 0x2013,	# EN DASH
-	0x0097: 0x2014,	# EM DASH
-	0x0098: None,	# UNDEFINED
-	0x0099: 0x2122,	# TRADE MARK SIGN
-	0x009a: None,	# UNDEFINED
-	0x009b: 0x203a,	# SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-	0x009c: None,	# UNDEFINED
-	0x009d: None,	# UNDEFINED
-	0x009e: None,	# UNDEFINED
-	0x009f: None,	# UNDEFINED
-	0x00a1: 0x0385,	# GREEK DIALYTIKA TONOS
-	0x00a2: 0x0386,	# GREEK CAPITAL LETTER ALPHA WITH TONOS
-	0x00aa: None,	# UNDEFINED
-	0x00af: 0x2015,	# HORIZONTAL BAR
-	0x00b4: 0x0384,	# GREEK TONOS
-	0x00b8: 0x0388,	# GREEK CAPITAL LETTER EPSILON WITH TONOS
-	0x00b9: 0x0389,	# GREEK CAPITAL LETTER ETA WITH TONOS
-	0x00ba: 0x038a,	# GREEK CAPITAL LETTER IOTA WITH TONOS
-	0x00bc: 0x038c,	# GREEK CAPITAL LETTER OMICRON WITH TONOS
-	0x00be: 0x038e,	# GREEK CAPITAL LETTER UPSILON WITH TONOS
-	0x00bf: 0x038f,	# GREEK CAPITAL LETTER OMEGA WITH TONOS
-	0x00c0: 0x0390,	# GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-	0x00c1: 0x0391,	# GREEK CAPITAL LETTER ALPHA
-	0x00c2: 0x0392,	# GREEK CAPITAL LETTER BETA
-	0x00c3: 0x0393,	# GREEK CAPITAL LETTER GAMMA
-	0x00c4: 0x0394,	# GREEK CAPITAL LETTER DELTA
-	0x00c5: 0x0395,	# GREEK CAPITAL LETTER EPSILON
-	0x00c6: 0x0396,	# GREEK CAPITAL LETTER ZETA
-	0x00c7: 0x0397,	# GREEK CAPITAL LETTER ETA
-	0x00c8: 0x0398,	# GREEK CAPITAL LETTER THETA
-	0x00c9: 0x0399,	# GREEK CAPITAL LETTER IOTA
-	0x00ca: 0x039a,	# GREEK CAPITAL LETTER KAPPA
-	0x00cb: 0x039b,	# GREEK CAPITAL LETTER LAMDA
-	0x00cc: 0x039c,	# GREEK CAPITAL LETTER MU
-	0x00cd: 0x039d,	# GREEK CAPITAL LETTER NU
-	0x00ce: 0x039e,	# GREEK CAPITAL LETTER XI
-	0x00cf: 0x039f,	# GREEK CAPITAL LETTER OMICRON
-	0x00d0: 0x03a0,	# GREEK CAPITAL LETTER PI
-	0x00d1: 0x03a1,	# GREEK CAPITAL LETTER RHO
-	0x00d2: None,	# UNDEFINED
-	0x00d3: 0x03a3,	# GREEK CAPITAL LETTER SIGMA
-	0x00d4: 0x03a4,	# GREEK CAPITAL LETTER TAU
-	0x00d5: 0x03a5,	# GREEK CAPITAL LETTER UPSILON
-	0x00d6: 0x03a6,	# GREEK CAPITAL LETTER PHI
-	0x00d7: 0x03a7,	# GREEK CAPITAL LETTER CHI
-	0x00d8: 0x03a8,	# GREEK CAPITAL LETTER PSI
-	0x00d9: 0x03a9,	# GREEK CAPITAL LETTER OMEGA
-	0x00da: 0x03aa,	# GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
-	0x00db: 0x03ab,	# GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-	0x00dc: 0x03ac,	# GREEK SMALL LETTER ALPHA WITH TONOS
-	0x00dd: 0x03ad,	# GREEK SMALL LETTER EPSILON WITH TONOS
-	0x00de: 0x03ae,	# GREEK SMALL LETTER ETA WITH TONOS
-	0x00df: 0x03af,	# GREEK SMALL LETTER IOTA WITH TONOS
-	0x00e0: 0x03b0,	# GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-	0x00e1: 0x03b1,	# GREEK SMALL LETTER ALPHA
-	0x00e2: 0x03b2,	# GREEK SMALL LETTER BETA
-	0x00e3: 0x03b3,	# GREEK SMALL LETTER GAMMA
-	0x00e4: 0x03b4,	# GREEK SMALL LETTER DELTA
-	0x00e5: 0x03b5,	# GREEK SMALL LETTER EPSILON
-	0x00e6: 0x03b6,	# GREEK SMALL LETTER ZETA
-	0x00e7: 0x03b7,	# GREEK SMALL LETTER ETA
-	0x00e8: 0x03b8,	# GREEK SMALL LETTER THETA
-	0x00e9: 0x03b9,	# GREEK SMALL LETTER IOTA
-	0x00ea: 0x03ba,	# GREEK SMALL LETTER KAPPA
-	0x00eb: 0x03bb,	# GREEK SMALL LETTER LAMDA
-	0x00ec: 0x03bc,	# GREEK SMALL LETTER MU
-	0x00ed: 0x03bd,	# GREEK SMALL LETTER NU
-	0x00ee: 0x03be,	# GREEK SMALL LETTER XI
-	0x00ef: 0x03bf,	# GREEK SMALL LETTER OMICRON
-	0x00f0: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00f1: 0x03c1,	# GREEK SMALL LETTER RHO
-	0x00f2: 0x03c2,	# GREEK SMALL LETTER FINAL SIGMA
-	0x00f3: 0x03c3,	# GREEK SMALL LETTER SIGMA
-	0x00f4: 0x03c4,	# GREEK SMALL LETTER TAU
-	0x00f5: 0x03c5,	# GREEK SMALL LETTER UPSILON
-	0x00f6: 0x03c6,	# GREEK SMALL LETTER PHI
-	0x00f7: 0x03c7,	# GREEK SMALL LETTER CHI
-	0x00f8: 0x03c8,	# GREEK SMALL LETTER PSI
-	0x00f9: 0x03c9,	# GREEK SMALL LETTER OMEGA
-	0x00fa: 0x03ca,	# GREEK SMALL LETTER IOTA WITH DIALYTIKA
-	0x00fb: 0x03cb,	# GREEK SMALL LETTER UPSILON WITH DIALYTIKA
-	0x00fc: 0x03cc,	# GREEK SMALL LETTER OMICRON WITH TONOS
-	0x00fd: 0x03cd,	# GREEK SMALL LETTER UPSILON WITH TONOS
-	0x00fe: 0x03ce,	# GREEK SMALL LETTER OMEGA WITH TONOS
-	0x00ff: None,	# UNDEFINED
+        0x0080: 0x20ac, # EURO SIGN
+        0x0081: None,   # UNDEFINED
+        0x0082: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x0083: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x0084: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x0085: 0x2026, # HORIZONTAL ELLIPSIS
+        0x0086: 0x2020, # DAGGER
+        0x0087: 0x2021, # DOUBLE DAGGER
+        0x0088: None,   # UNDEFINED
+        0x0089: 0x2030, # PER MILLE SIGN
+        0x008a: None,   # UNDEFINED
+        0x008b: 0x2039, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        0x008c: None,   # UNDEFINED
+        0x008d: None,   # UNDEFINED
+        0x008e: None,   # UNDEFINED
+        0x008f: None,   # UNDEFINED
+        0x0090: None,   # UNDEFINED
+        0x0091: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x0092: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x0093: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x0094: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x0095: 0x2022, # BULLET
+        0x0096: 0x2013, # EN DASH
+        0x0097: 0x2014, # EM DASH
+        0x0098: None,   # UNDEFINED
+        0x0099: 0x2122, # TRADE MARK SIGN
+        0x009a: None,   # UNDEFINED
+        0x009b: 0x203a, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        0x009c: None,   # UNDEFINED
+        0x009d: None,   # UNDEFINED
+        0x009e: None,   # UNDEFINED
+        0x009f: None,   # UNDEFINED
+        0x00a1: 0x0385, # GREEK DIALYTIKA TONOS
+        0x00a2: 0x0386, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+        0x00aa: None,   # UNDEFINED
+        0x00af: 0x2015, # HORIZONTAL BAR
+        0x00b4: 0x0384, # GREEK TONOS
+        0x00b8: 0x0388, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+        0x00b9: 0x0389, # GREEK CAPITAL LETTER ETA WITH TONOS
+        0x00ba: 0x038a, # GREEK CAPITAL LETTER IOTA WITH TONOS
+        0x00bc: 0x038c, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+        0x00be: 0x038e, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+        0x00bf: 0x038f, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+        0x00c0: 0x0390, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+        0x00c1: 0x0391, # GREEK CAPITAL LETTER ALPHA
+        0x00c2: 0x0392, # GREEK CAPITAL LETTER BETA
+        0x00c3: 0x0393, # GREEK CAPITAL LETTER GAMMA
+        0x00c4: 0x0394, # GREEK CAPITAL LETTER DELTA
+        0x00c5: 0x0395, # GREEK CAPITAL LETTER EPSILON
+        0x00c6: 0x0396, # GREEK CAPITAL LETTER ZETA
+        0x00c7: 0x0397, # GREEK CAPITAL LETTER ETA
+        0x00c8: 0x0398, # GREEK CAPITAL LETTER THETA
+        0x00c9: 0x0399, # GREEK CAPITAL LETTER IOTA
+        0x00ca: 0x039a, # GREEK CAPITAL LETTER KAPPA
+        0x00cb: 0x039b, # GREEK CAPITAL LETTER LAMDA
+        0x00cc: 0x039c, # GREEK CAPITAL LETTER MU
+        0x00cd: 0x039d, # GREEK CAPITAL LETTER NU
+        0x00ce: 0x039e, # GREEK CAPITAL LETTER XI
+        0x00cf: 0x039f, # GREEK CAPITAL LETTER OMICRON
+        0x00d0: 0x03a0, # GREEK CAPITAL LETTER PI
+        0x00d1: 0x03a1, # GREEK CAPITAL LETTER RHO
+        0x00d2: None,   # UNDEFINED
+        0x00d3: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+        0x00d4: 0x03a4, # GREEK CAPITAL LETTER TAU
+        0x00d5: 0x03a5, # GREEK CAPITAL LETTER UPSILON
+        0x00d6: 0x03a6, # GREEK CAPITAL LETTER PHI
+        0x00d7: 0x03a7, # GREEK CAPITAL LETTER CHI
+        0x00d8: 0x03a8, # GREEK CAPITAL LETTER PSI
+        0x00d9: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+        0x00da: 0x03aa, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+        0x00db: 0x03ab, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+        0x00dc: 0x03ac, # GREEK SMALL LETTER ALPHA WITH TONOS
+        0x00dd: 0x03ad, # GREEK SMALL LETTER EPSILON WITH TONOS
+        0x00de: 0x03ae, # GREEK SMALL LETTER ETA WITH TONOS
+        0x00df: 0x03af, # GREEK SMALL LETTER IOTA WITH TONOS
+        0x00e0: 0x03b0, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+        0x00e1: 0x03b1, # GREEK SMALL LETTER ALPHA
+        0x00e2: 0x03b2, # GREEK SMALL LETTER BETA
+        0x00e3: 0x03b3, # GREEK SMALL LETTER GAMMA
+        0x00e4: 0x03b4, # GREEK SMALL LETTER DELTA
+        0x00e5: 0x03b5, # GREEK SMALL LETTER EPSILON
+        0x00e6: 0x03b6, # GREEK SMALL LETTER ZETA
+        0x00e7: 0x03b7, # GREEK SMALL LETTER ETA
+        0x00e8: 0x03b8, # GREEK SMALL LETTER THETA
+        0x00e9: 0x03b9, # GREEK SMALL LETTER IOTA
+        0x00ea: 0x03ba, # GREEK SMALL LETTER KAPPA
+        0x00eb: 0x03bb, # GREEK SMALL LETTER LAMDA
+        0x00ec: 0x03bc, # GREEK SMALL LETTER MU
+        0x00ed: 0x03bd, # GREEK SMALL LETTER NU
+        0x00ee: 0x03be, # GREEK SMALL LETTER XI
+        0x00ef: 0x03bf, # GREEK SMALL LETTER OMICRON
+        0x00f0: 0x03c0, # GREEK SMALL LETTER PI
+        0x00f1: 0x03c1, # GREEK SMALL LETTER RHO
+        0x00f2: 0x03c2, # GREEK SMALL LETTER FINAL SIGMA
+        0x00f3: 0x03c3, # GREEK SMALL LETTER SIGMA
+        0x00f4: 0x03c4, # GREEK SMALL LETTER TAU
+        0x00f5: 0x03c5, # GREEK SMALL LETTER UPSILON
+        0x00f6: 0x03c6, # GREEK SMALL LETTER PHI
+        0x00f7: 0x03c7, # GREEK SMALL LETTER CHI
+        0x00f8: 0x03c8, # GREEK SMALL LETTER PSI
+        0x00f9: 0x03c9, # GREEK SMALL LETTER OMEGA
+        0x00fa: 0x03ca, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+        0x00fb: 0x03cb, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+        0x00fc: 0x03cc, # GREEK SMALL LETTER OMICRON WITH TONOS
+        0x00fd: 0x03cd, # GREEK SMALL LETTER UPSILON WITH TONOS
+        0x00fe: 0x03ce, # GREEK SMALL LETTER OMEGA WITH TONOS
+        0x00ff: None,   # UNDEFINED
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp1254.py b/Lib/encodings/cp1254.py
index dc662ed..718ed27 100644
--- a/Lib/encodings/cp1254.py
+++ b/Lib/encodings/cp1254.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,44 +37,44 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x20ac,	# EURO SIGN
-	0x0081: None,	# UNDEFINED
-	0x0082: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x0083: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x0084: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x0085: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x0086: 0x2020,	# DAGGER
-	0x0087: 0x2021,	# DOUBLE DAGGER
-	0x0088: 0x02c6,	# MODIFIER LETTER CIRCUMFLEX ACCENT
-	0x0089: 0x2030,	# PER MILLE SIGN
-	0x008a: 0x0160,	# LATIN CAPITAL LETTER S WITH CARON
-	0x008b: 0x2039,	# SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-	0x008c: 0x0152,	# LATIN CAPITAL LIGATURE OE
-	0x008d: None,	# UNDEFINED
-	0x008e: None,	# UNDEFINED
-	0x008f: None,	# UNDEFINED
-	0x0090: None,	# UNDEFINED
-	0x0091: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x0092: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x0093: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x0094: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x0095: 0x2022,	# BULLET
-	0x0096: 0x2013,	# EN DASH
-	0x0097: 0x2014,	# EM DASH
-	0x0098: 0x02dc,	# SMALL TILDE
-	0x0099: 0x2122,	# TRADE MARK SIGN
-	0x009a: 0x0161,	# LATIN SMALL LETTER S WITH CARON
-	0x009b: 0x203a,	# SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-	0x009c: 0x0153,	# LATIN SMALL LIGATURE OE
-	0x009d: None,	# UNDEFINED
-	0x009e: None,	# UNDEFINED
-	0x009f: 0x0178,	# LATIN CAPITAL LETTER Y WITH DIAERESIS
-	0x00d0: 0x011e,	# LATIN CAPITAL LETTER G WITH BREVE
-	0x00dd: 0x0130,	# LATIN CAPITAL LETTER I WITH DOT ABOVE
-	0x00de: 0x015e,	# LATIN CAPITAL LETTER S WITH CEDILLA
-	0x00f0: 0x011f,	# LATIN SMALL LETTER G WITH BREVE
-	0x00fd: 0x0131,	# LATIN SMALL LETTER DOTLESS I
-	0x00fe: 0x015f,	# LATIN SMALL LETTER S WITH CEDILLA
+        0x0080: 0x20ac, # EURO SIGN
+        0x0081: None,   # UNDEFINED
+        0x0082: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x0083: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x0084: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x0085: 0x2026, # HORIZONTAL ELLIPSIS
+        0x0086: 0x2020, # DAGGER
+        0x0087: 0x2021, # DOUBLE DAGGER
+        0x0088: 0x02c6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+        0x0089: 0x2030, # PER MILLE SIGN
+        0x008a: 0x0160, # LATIN CAPITAL LETTER S WITH CARON
+        0x008b: 0x2039, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        0x008c: 0x0152, # LATIN CAPITAL LIGATURE OE
+        0x008d: None,   # UNDEFINED
+        0x008e: None,   # UNDEFINED
+        0x008f: None,   # UNDEFINED
+        0x0090: None,   # UNDEFINED
+        0x0091: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x0092: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x0093: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x0094: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x0095: 0x2022, # BULLET
+        0x0096: 0x2013, # EN DASH
+        0x0097: 0x2014, # EM DASH
+        0x0098: 0x02dc, # SMALL TILDE
+        0x0099: 0x2122, # TRADE MARK SIGN
+        0x009a: 0x0161, # LATIN SMALL LETTER S WITH CARON
+        0x009b: 0x203a, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        0x009c: 0x0153, # LATIN SMALL LIGATURE OE
+        0x009d: None,   # UNDEFINED
+        0x009e: None,   # UNDEFINED
+        0x009f: 0x0178, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+        0x00d0: 0x011e, # LATIN CAPITAL LETTER G WITH BREVE
+        0x00dd: 0x0130, # LATIN CAPITAL LETTER I WITH DOT ABOVE
+        0x00de: 0x015e, # LATIN CAPITAL LETTER S WITH CEDILLA
+        0x00f0: 0x011f, # LATIN SMALL LETTER G WITH BREVE
+        0x00fd: 0x0131, # LATIN SMALL LETTER DOTLESS I
+        0x00fe: 0x015f, # LATIN SMALL LETTER S WITH CEDILLA
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp1255.py b/Lib/encodings/cp1255.py
index 6f70654..b20f5da 100644
--- a/Lib/encodings/cp1255.py
+++ b/Lib/encodings/cp1255.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,105 +37,105 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x20ac,	# EURO SIGN
-	0x0081: None,	# UNDEFINED
-	0x0082: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x0083: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x0084: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x0085: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x0086: 0x2020,	# DAGGER
-	0x0087: 0x2021,	# DOUBLE DAGGER
-	0x0088: 0x02c6,	# MODIFIER LETTER CIRCUMFLEX ACCENT
-	0x0089: 0x2030,	# PER MILLE SIGN
-	0x008a: None,	# UNDEFINED
-	0x008b: 0x2039,	# SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-	0x008c: None,	# UNDEFINED
-	0x008d: None,	# UNDEFINED
-	0x008e: None,	# UNDEFINED
-	0x008f: None,	# UNDEFINED
-	0x0090: None,	# UNDEFINED
-	0x0091: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x0092: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x0093: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x0094: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x0095: 0x2022,	# BULLET
-	0x0096: 0x2013,	# EN DASH
-	0x0097: 0x2014,	# EM DASH
-	0x0098: 0x02dc,	# SMALL TILDE
-	0x0099: 0x2122,	# TRADE MARK SIGN
-	0x009a: None,	# UNDEFINED
-	0x009b: 0x203a,	# SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-	0x009c: None,	# UNDEFINED
-	0x009d: None,	# UNDEFINED
-	0x009e: None,	# UNDEFINED
-	0x009f: None,	# UNDEFINED
-	0x00a4: 0x20aa,	# NEW SHEQEL SIGN
-	0x00aa: 0x00d7,	# MULTIPLICATION SIGN
-	0x00ba: 0x00f7,	# DIVISION SIGN
-	0x00c0: 0x05b0,	# HEBREW POINT SHEVA
-	0x00c1: 0x05b1,	# HEBREW POINT HATAF SEGOL
-	0x00c2: 0x05b2,	# HEBREW POINT HATAF PATAH
-	0x00c3: 0x05b3,	# HEBREW POINT HATAF QAMATS
-	0x00c4: 0x05b4,	# HEBREW POINT HIRIQ
-	0x00c5: 0x05b5,	# HEBREW POINT TSERE
-	0x00c6: 0x05b6,	# HEBREW POINT SEGOL
-	0x00c7: 0x05b7,	# HEBREW POINT PATAH
-	0x00c8: 0x05b8,	# HEBREW POINT QAMATS
-	0x00c9: 0x05b9,	# HEBREW POINT HOLAM
-	0x00ca: None,	# UNDEFINED
-	0x00cb: 0x05bb,	# HEBREW POINT QUBUTS
-	0x00cc: 0x05bc,	# HEBREW POINT DAGESH OR MAPIQ
-	0x00cd: 0x05bd,	# HEBREW POINT METEG
-	0x00ce: 0x05be,	# HEBREW PUNCTUATION MAQAF
-	0x00cf: 0x05bf,	# HEBREW POINT RAFE
-	0x00d0: 0x05c0,	# HEBREW PUNCTUATION PASEQ
-	0x00d1: 0x05c1,	# HEBREW POINT SHIN DOT
-	0x00d2: 0x05c2,	# HEBREW POINT SIN DOT
-	0x00d3: 0x05c3,	# HEBREW PUNCTUATION SOF PASUQ
-	0x00d4: 0x05f0,	# HEBREW LIGATURE YIDDISH DOUBLE VAV
-	0x00d5: 0x05f1,	# HEBREW LIGATURE YIDDISH VAV YOD
-	0x00d6: 0x05f2,	# HEBREW LIGATURE YIDDISH DOUBLE YOD
-	0x00d7: 0x05f3,	# HEBREW PUNCTUATION GERESH
-	0x00d8: 0x05f4,	# HEBREW PUNCTUATION GERSHAYIM
-	0x00d9: None,	# UNDEFINED
-	0x00da: None,	# UNDEFINED
-	0x00db: None,	# UNDEFINED
-	0x00dc: None,	# UNDEFINED
-	0x00dd: None,	# UNDEFINED
-	0x00de: None,	# UNDEFINED
-	0x00df: None,	# UNDEFINED
-	0x00e0: 0x05d0,	# HEBREW LETTER ALEF
-	0x00e1: 0x05d1,	# HEBREW LETTER BET
-	0x00e2: 0x05d2,	# HEBREW LETTER GIMEL
-	0x00e3: 0x05d3,	# HEBREW LETTER DALET
-	0x00e4: 0x05d4,	# HEBREW LETTER HE
-	0x00e5: 0x05d5,	# HEBREW LETTER VAV
-	0x00e6: 0x05d6,	# HEBREW LETTER ZAYIN
-	0x00e7: 0x05d7,	# HEBREW LETTER HET
-	0x00e8: 0x05d8,	# HEBREW LETTER TET
-	0x00e9: 0x05d9,	# HEBREW LETTER YOD
-	0x00ea: 0x05da,	# HEBREW LETTER FINAL KAF
-	0x00eb: 0x05db,	# HEBREW LETTER KAF
-	0x00ec: 0x05dc,	# HEBREW LETTER LAMED
-	0x00ed: 0x05dd,	# HEBREW LETTER FINAL MEM
-	0x00ee: 0x05de,	# HEBREW LETTER MEM
-	0x00ef: 0x05df,	# HEBREW LETTER FINAL NUN
-	0x00f0: 0x05e0,	# HEBREW LETTER NUN
-	0x00f1: 0x05e1,	# HEBREW LETTER SAMEKH
-	0x00f2: 0x05e2,	# HEBREW LETTER AYIN
-	0x00f3: 0x05e3,	# HEBREW LETTER FINAL PE
-	0x00f4: 0x05e4,	# HEBREW LETTER PE
-	0x00f5: 0x05e5,	# HEBREW LETTER FINAL TSADI
-	0x00f6: 0x05e6,	# HEBREW LETTER TSADI
-	0x00f7: 0x05e7,	# HEBREW LETTER QOF
-	0x00f8: 0x05e8,	# HEBREW LETTER RESH
-	0x00f9: 0x05e9,	# HEBREW LETTER SHIN
-	0x00fa: 0x05ea,	# HEBREW LETTER TAV
-	0x00fb: None,	# UNDEFINED
-	0x00fc: None,	# UNDEFINED
-	0x00fd: 0x200e,	# LEFT-TO-RIGHT MARK
-	0x00fe: 0x200f,	# RIGHT-TO-LEFT MARK
-	0x00ff: None,	# UNDEFINED
+        0x0080: 0x20ac, # EURO SIGN
+        0x0081: None,   # UNDEFINED
+        0x0082: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x0083: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x0084: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x0085: 0x2026, # HORIZONTAL ELLIPSIS
+        0x0086: 0x2020, # DAGGER
+        0x0087: 0x2021, # DOUBLE DAGGER
+        0x0088: 0x02c6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+        0x0089: 0x2030, # PER MILLE SIGN
+        0x008a: None,   # UNDEFINED
+        0x008b: 0x2039, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        0x008c: None,   # UNDEFINED
+        0x008d: None,   # UNDEFINED
+        0x008e: None,   # UNDEFINED
+        0x008f: None,   # UNDEFINED
+        0x0090: None,   # UNDEFINED
+        0x0091: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x0092: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x0093: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x0094: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x0095: 0x2022, # BULLET
+        0x0096: 0x2013, # EN DASH
+        0x0097: 0x2014, # EM DASH
+        0x0098: 0x02dc, # SMALL TILDE
+        0x0099: 0x2122, # TRADE MARK SIGN
+        0x009a: None,   # UNDEFINED
+        0x009b: 0x203a, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        0x009c: None,   # UNDEFINED
+        0x009d: None,   # UNDEFINED
+        0x009e: None,   # UNDEFINED
+        0x009f: None,   # UNDEFINED
+        0x00a4: 0x20aa, # NEW SHEQEL SIGN
+        0x00aa: 0x00d7, # MULTIPLICATION SIGN
+        0x00ba: 0x00f7, # DIVISION SIGN
+        0x00c0: 0x05b0, # HEBREW POINT SHEVA
+        0x00c1: 0x05b1, # HEBREW POINT HATAF SEGOL
+        0x00c2: 0x05b2, # HEBREW POINT HATAF PATAH
+        0x00c3: 0x05b3, # HEBREW POINT HATAF QAMATS
+        0x00c4: 0x05b4, # HEBREW POINT HIRIQ
+        0x00c5: 0x05b5, # HEBREW POINT TSERE
+        0x00c6: 0x05b6, # HEBREW POINT SEGOL
+        0x00c7: 0x05b7, # HEBREW POINT PATAH
+        0x00c8: 0x05b8, # HEBREW POINT QAMATS
+        0x00c9: 0x05b9, # HEBREW POINT HOLAM
+        0x00ca: None,   # UNDEFINED
+        0x00cb: 0x05bb, # HEBREW POINT QUBUTS
+        0x00cc: 0x05bc, # HEBREW POINT DAGESH OR MAPIQ
+        0x00cd: 0x05bd, # HEBREW POINT METEG
+        0x00ce: 0x05be, # HEBREW PUNCTUATION MAQAF
+        0x00cf: 0x05bf, # HEBREW POINT RAFE
+        0x00d0: 0x05c0, # HEBREW PUNCTUATION PASEQ
+        0x00d1: 0x05c1, # HEBREW POINT SHIN DOT
+        0x00d2: 0x05c2, # HEBREW POINT SIN DOT
+        0x00d3: 0x05c3, # HEBREW PUNCTUATION SOF PASUQ
+        0x00d4: 0x05f0, # HEBREW LIGATURE YIDDISH DOUBLE VAV
+        0x00d5: 0x05f1, # HEBREW LIGATURE YIDDISH VAV YOD
+        0x00d6: 0x05f2, # HEBREW LIGATURE YIDDISH DOUBLE YOD
+        0x00d7: 0x05f3, # HEBREW PUNCTUATION GERESH
+        0x00d8: 0x05f4, # HEBREW PUNCTUATION GERSHAYIM
+        0x00d9: None,   # UNDEFINED
+        0x00da: None,   # UNDEFINED
+        0x00db: None,   # UNDEFINED
+        0x00dc: None,   # UNDEFINED
+        0x00dd: None,   # UNDEFINED
+        0x00de: None,   # UNDEFINED
+        0x00df: None,   # UNDEFINED
+        0x00e0: 0x05d0, # HEBREW LETTER ALEF
+        0x00e1: 0x05d1, # HEBREW LETTER BET
+        0x00e2: 0x05d2, # HEBREW LETTER GIMEL
+        0x00e3: 0x05d3, # HEBREW LETTER DALET
+        0x00e4: 0x05d4, # HEBREW LETTER HE
+        0x00e5: 0x05d5, # HEBREW LETTER VAV
+        0x00e6: 0x05d6, # HEBREW LETTER ZAYIN
+        0x00e7: 0x05d7, # HEBREW LETTER HET
+        0x00e8: 0x05d8, # HEBREW LETTER TET
+        0x00e9: 0x05d9, # HEBREW LETTER YOD
+        0x00ea: 0x05da, # HEBREW LETTER FINAL KAF
+        0x00eb: 0x05db, # HEBREW LETTER KAF
+        0x00ec: 0x05dc, # HEBREW LETTER LAMED
+        0x00ed: 0x05dd, # HEBREW LETTER FINAL MEM
+        0x00ee: 0x05de, # HEBREW LETTER MEM
+        0x00ef: 0x05df, # HEBREW LETTER FINAL NUN
+        0x00f0: 0x05e0, # HEBREW LETTER NUN
+        0x00f1: 0x05e1, # HEBREW LETTER SAMEKH
+        0x00f2: 0x05e2, # HEBREW LETTER AYIN
+        0x00f3: 0x05e3, # HEBREW LETTER FINAL PE
+        0x00f4: 0x05e4, # HEBREW LETTER PE
+        0x00f5: 0x05e5, # HEBREW LETTER FINAL TSADI
+        0x00f6: 0x05e6, # HEBREW LETTER TSADI
+        0x00f7: 0x05e7, # HEBREW LETTER QOF
+        0x00f8: 0x05e8, # HEBREW LETTER RESH
+        0x00f9: 0x05e9, # HEBREW LETTER SHIN
+        0x00fa: 0x05ea, # HEBREW LETTER TAV
+        0x00fb: None,   # UNDEFINED
+        0x00fc: None,   # UNDEFINED
+        0x00fd: 0x200e, # LEFT-TO-RIGHT MARK
+        0x00fe: 0x200f, # RIGHT-TO-LEFT MARK
+        0x00ff: None,   # UNDEFINED
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp1256.py b/Lib/encodings/cp1256.py
index 40ed577..f3e694c 100644
--- a/Lib/encodings/cp1256.py
+++ b/Lib/encodings/cp1256.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,91 +37,91 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x20ac,	# EURO SIGN
-	0x0081: 0x067e,	# ARABIC LETTER PEH
-	0x0082: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x0083: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x0084: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x0085: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x0086: 0x2020,	# DAGGER
-	0x0087: 0x2021,	# DOUBLE DAGGER
-	0x0088: 0x02c6,	# MODIFIER LETTER CIRCUMFLEX ACCENT
-	0x0089: 0x2030,	# PER MILLE SIGN
-	0x008a: 0x0679,	# ARABIC LETTER TTEH
-	0x008b: 0x2039,	# SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-	0x008c: 0x0152,	# LATIN CAPITAL LIGATURE OE
-	0x008d: 0x0686,	# ARABIC LETTER TCHEH
-	0x008e: 0x0698,	# ARABIC LETTER JEH
-	0x008f: 0x0688,	# ARABIC LETTER DDAL
-	0x0090: 0x06af,	# ARABIC LETTER GAF
-	0x0091: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x0092: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x0093: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x0094: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x0095: 0x2022,	# BULLET
-	0x0096: 0x2013,	# EN DASH
-	0x0097: 0x2014,	# EM DASH
-	0x0098: 0x06a9,	# ARABIC LETTER KEHEH
-	0x0099: 0x2122,	# TRADE MARK SIGN
-	0x009a: 0x0691,	# ARABIC LETTER RREH
-	0x009b: 0x203a,	# SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-	0x009c: 0x0153,	# LATIN SMALL LIGATURE OE
-	0x009d: 0x200c,	# ZERO WIDTH NON-JOINER
-	0x009e: 0x200d,	# ZERO WIDTH JOINER
-	0x009f: 0x06ba,	# ARABIC LETTER NOON GHUNNA
-	0x00a1: 0x060c,	# ARABIC COMMA
-	0x00aa: 0x06be,	# ARABIC LETTER HEH DOACHASHMEE
-	0x00ba: 0x061b,	# ARABIC SEMICOLON
-	0x00bf: 0x061f,	# ARABIC QUESTION MARK
-	0x00c0: 0x06c1,	# ARABIC LETTER HEH GOAL
-	0x00c1: 0x0621,	# ARABIC LETTER HAMZA
-	0x00c2: 0x0622,	# ARABIC LETTER ALEF WITH MADDA ABOVE
-	0x00c3: 0x0623,	# ARABIC LETTER ALEF WITH HAMZA ABOVE
-	0x00c4: 0x0624,	# ARABIC LETTER WAW WITH HAMZA ABOVE
-	0x00c5: 0x0625,	# ARABIC LETTER ALEF WITH HAMZA BELOW
-	0x00c6: 0x0626,	# ARABIC LETTER YEH WITH HAMZA ABOVE
-	0x00c7: 0x0627,	# ARABIC LETTER ALEF
-	0x00c8: 0x0628,	# ARABIC LETTER BEH
-	0x00c9: 0x0629,	# ARABIC LETTER TEH MARBUTA
-	0x00ca: 0x062a,	# ARABIC LETTER TEH
-	0x00cb: 0x062b,	# ARABIC LETTER THEH
-	0x00cc: 0x062c,	# ARABIC LETTER JEEM
-	0x00cd: 0x062d,	# ARABIC LETTER HAH
-	0x00ce: 0x062e,	# ARABIC LETTER KHAH
-	0x00cf: 0x062f,	# ARABIC LETTER DAL
-	0x00d0: 0x0630,	# ARABIC LETTER THAL
-	0x00d1: 0x0631,	# ARABIC LETTER REH
-	0x00d2: 0x0632,	# ARABIC LETTER ZAIN
-	0x00d3: 0x0633,	# ARABIC LETTER SEEN
-	0x00d4: 0x0634,	# ARABIC LETTER SHEEN
-	0x00d5: 0x0635,	# ARABIC LETTER SAD
-	0x00d6: 0x0636,	# ARABIC LETTER DAD
-	0x00d8: 0x0637,	# ARABIC LETTER TAH
-	0x00d9: 0x0638,	# ARABIC LETTER ZAH
-	0x00da: 0x0639,	# ARABIC LETTER AIN
-	0x00db: 0x063a,	# ARABIC LETTER GHAIN
-	0x00dc: 0x0640,	# ARABIC TATWEEL
-	0x00dd: 0x0641,	# ARABIC LETTER FEH
-	0x00de: 0x0642,	# ARABIC LETTER QAF
-	0x00df: 0x0643,	# ARABIC LETTER KAF
-	0x00e1: 0x0644,	# ARABIC LETTER LAM
-	0x00e3: 0x0645,	# ARABIC LETTER MEEM
-	0x00e4: 0x0646,	# ARABIC LETTER NOON
-	0x00e5: 0x0647,	# ARABIC LETTER HEH
-	0x00e6: 0x0648,	# ARABIC LETTER WAW
-	0x00ec: 0x0649,	# ARABIC LETTER ALEF MAKSURA
-	0x00ed: 0x064a,	# ARABIC LETTER YEH
-	0x00f0: 0x064b,	# ARABIC FATHATAN
-	0x00f1: 0x064c,	# ARABIC DAMMATAN
-	0x00f2: 0x064d,	# ARABIC KASRATAN
-	0x00f3: 0x064e,	# ARABIC FATHA
-	0x00f5: 0x064f,	# ARABIC DAMMA
-	0x00f6: 0x0650,	# ARABIC KASRA
-	0x00f8: 0x0651,	# ARABIC SHADDA
-	0x00fa: 0x0652,	# ARABIC SUKUN
-	0x00fd: 0x200e,	# LEFT-TO-RIGHT MARK
-	0x00fe: 0x200f,	# RIGHT-TO-LEFT MARK
-	0x00ff: 0x06d2,	# ARABIC LETTER YEH BARREE
+        0x0080: 0x20ac, # EURO SIGN
+        0x0081: 0x067e, # ARABIC LETTER PEH
+        0x0082: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x0083: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x0084: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x0085: 0x2026, # HORIZONTAL ELLIPSIS
+        0x0086: 0x2020, # DAGGER
+        0x0087: 0x2021, # DOUBLE DAGGER
+        0x0088: 0x02c6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+        0x0089: 0x2030, # PER MILLE SIGN
+        0x008a: 0x0679, # ARABIC LETTER TTEH
+        0x008b: 0x2039, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        0x008c: 0x0152, # LATIN CAPITAL LIGATURE OE
+        0x008d: 0x0686, # ARABIC LETTER TCHEH
+        0x008e: 0x0698, # ARABIC LETTER JEH
+        0x008f: 0x0688, # ARABIC LETTER DDAL
+        0x0090: 0x06af, # ARABIC LETTER GAF
+        0x0091: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x0092: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x0093: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x0094: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x0095: 0x2022, # BULLET
+        0x0096: 0x2013, # EN DASH
+        0x0097: 0x2014, # EM DASH
+        0x0098: 0x06a9, # ARABIC LETTER KEHEH
+        0x0099: 0x2122, # TRADE MARK SIGN
+        0x009a: 0x0691, # ARABIC LETTER RREH
+        0x009b: 0x203a, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        0x009c: 0x0153, # LATIN SMALL LIGATURE OE
+        0x009d: 0x200c, # ZERO WIDTH NON-JOINER
+        0x009e: 0x200d, # ZERO WIDTH JOINER
+        0x009f: 0x06ba, # ARABIC LETTER NOON GHUNNA
+        0x00a1: 0x060c, # ARABIC COMMA
+        0x00aa: 0x06be, # ARABIC LETTER HEH DOACHASHMEE
+        0x00ba: 0x061b, # ARABIC SEMICOLON
+        0x00bf: 0x061f, # ARABIC QUESTION MARK
+        0x00c0: 0x06c1, # ARABIC LETTER HEH GOAL
+        0x00c1: 0x0621, # ARABIC LETTER HAMZA
+        0x00c2: 0x0622, # ARABIC LETTER ALEF WITH MADDA ABOVE
+        0x00c3: 0x0623, # ARABIC LETTER ALEF WITH HAMZA ABOVE
+        0x00c4: 0x0624, # ARABIC LETTER WAW WITH HAMZA ABOVE
+        0x00c5: 0x0625, # ARABIC LETTER ALEF WITH HAMZA BELOW
+        0x00c6: 0x0626, # ARABIC LETTER YEH WITH HAMZA ABOVE
+        0x00c7: 0x0627, # ARABIC LETTER ALEF
+        0x00c8: 0x0628, # ARABIC LETTER BEH
+        0x00c9: 0x0629, # ARABIC LETTER TEH MARBUTA
+        0x00ca: 0x062a, # ARABIC LETTER TEH
+        0x00cb: 0x062b, # ARABIC LETTER THEH
+        0x00cc: 0x062c, # ARABIC LETTER JEEM
+        0x00cd: 0x062d, # ARABIC LETTER HAH
+        0x00ce: 0x062e, # ARABIC LETTER KHAH
+        0x00cf: 0x062f, # ARABIC LETTER DAL
+        0x00d0: 0x0630, # ARABIC LETTER THAL
+        0x00d1: 0x0631, # ARABIC LETTER REH
+        0x00d2: 0x0632, # ARABIC LETTER ZAIN
+        0x00d3: 0x0633, # ARABIC LETTER SEEN
+        0x00d4: 0x0634, # ARABIC LETTER SHEEN
+        0x00d5: 0x0635, # ARABIC LETTER SAD
+        0x00d6: 0x0636, # ARABIC LETTER DAD
+        0x00d8: 0x0637, # ARABIC LETTER TAH
+        0x00d9: 0x0638, # ARABIC LETTER ZAH
+        0x00da: 0x0639, # ARABIC LETTER AIN
+        0x00db: 0x063a, # ARABIC LETTER GHAIN
+        0x00dc: 0x0640, # ARABIC TATWEEL
+        0x00dd: 0x0641, # ARABIC LETTER FEH
+        0x00de: 0x0642, # ARABIC LETTER QAF
+        0x00df: 0x0643, # ARABIC LETTER KAF
+        0x00e1: 0x0644, # ARABIC LETTER LAM
+        0x00e3: 0x0645, # ARABIC LETTER MEEM
+        0x00e4: 0x0646, # ARABIC LETTER NOON
+        0x00e5: 0x0647, # ARABIC LETTER HEH
+        0x00e6: 0x0648, # ARABIC LETTER WAW
+        0x00ec: 0x0649, # ARABIC LETTER ALEF MAKSURA
+        0x00ed: 0x064a, # ARABIC LETTER YEH
+        0x00f0: 0x064b, # ARABIC FATHATAN
+        0x00f1: 0x064c, # ARABIC DAMMATAN
+        0x00f2: 0x064d, # ARABIC KASRATAN
+        0x00f3: 0x064e, # ARABIC FATHA
+        0x00f5: 0x064f, # ARABIC DAMMA
+        0x00f6: 0x0650, # ARABIC KASRA
+        0x00f8: 0x0651, # ARABIC SHADDA
+        0x00fa: 0x0652, # ARABIC SUKUN
+        0x00fd: 0x200e, # LEFT-TO-RIGHT MARK
+        0x00fe: 0x200f, # RIGHT-TO-LEFT MARK
+        0x00ff: 0x06d2, # ARABIC LETTER YEH BARREE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp1257.py b/Lib/encodings/cp1257.py
index baaf367..1a21850 100644
--- a/Lib/encodings/cp1257.py
+++ b/Lib/encodings/cp1257.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,93 +37,93 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x20ac,	# EURO SIGN
-	0x0081: None,	# UNDEFINED
-	0x0082: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x0083: None,	# UNDEFINED
-	0x0084: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x0085: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x0086: 0x2020,	# DAGGER
-	0x0087: 0x2021,	# DOUBLE DAGGER
-	0x0088: None,	# UNDEFINED
-	0x0089: 0x2030,	# PER MILLE SIGN
-	0x008a: None,	# UNDEFINED
-	0x008b: 0x2039,	# SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-	0x008c: None,	# UNDEFINED
-	0x008d: 0x00a8,	# DIAERESIS
-	0x008e: 0x02c7,	# CARON
-	0x008f: 0x00b8,	# CEDILLA
-	0x0090: None,	# UNDEFINED
-	0x0091: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x0092: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x0093: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x0094: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x0095: 0x2022,	# BULLET
-	0x0096: 0x2013,	# EN DASH
-	0x0097: 0x2014,	# EM DASH
-	0x0098: None,	# UNDEFINED
-	0x0099: 0x2122,	# TRADE MARK SIGN
-	0x009a: None,	# UNDEFINED
-	0x009b: 0x203a,	# SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-	0x009c: None,	# UNDEFINED
-	0x009d: 0x00af,	# MACRON
-	0x009e: 0x02db,	# OGONEK
-	0x009f: None,	# UNDEFINED
-	0x00a1: None,	# UNDEFINED
-	0x00a5: None,	# UNDEFINED
-	0x00a8: 0x00d8,	# LATIN CAPITAL LETTER O WITH STROKE
-	0x00aa: 0x0156,	# LATIN CAPITAL LETTER R WITH CEDILLA
-	0x00af: 0x00c6,	# LATIN CAPITAL LETTER AE
-	0x00b8: 0x00f8,	# LATIN SMALL LETTER O WITH STROKE
-	0x00ba: 0x0157,	# LATIN SMALL LETTER R WITH CEDILLA
-	0x00bf: 0x00e6,	# LATIN SMALL LETTER AE
-	0x00c0: 0x0104,	# LATIN CAPITAL LETTER A WITH OGONEK
-	0x00c1: 0x012e,	# LATIN CAPITAL LETTER I WITH OGONEK
-	0x00c2: 0x0100,	# LATIN CAPITAL LETTER A WITH MACRON
-	0x00c3: 0x0106,	# LATIN CAPITAL LETTER C WITH ACUTE
-	0x00c6: 0x0118,	# LATIN CAPITAL LETTER E WITH OGONEK
-	0x00c7: 0x0112,	# LATIN CAPITAL LETTER E WITH MACRON
-	0x00c8: 0x010c,	# LATIN CAPITAL LETTER C WITH CARON
-	0x00ca: 0x0179,	# LATIN CAPITAL LETTER Z WITH ACUTE
-	0x00cb: 0x0116,	# LATIN CAPITAL LETTER E WITH DOT ABOVE
-	0x00cc: 0x0122,	# LATIN CAPITAL LETTER G WITH CEDILLA
-	0x00cd: 0x0136,	# LATIN CAPITAL LETTER K WITH CEDILLA
-	0x00ce: 0x012a,	# LATIN CAPITAL LETTER I WITH MACRON
-	0x00cf: 0x013b,	# LATIN CAPITAL LETTER L WITH CEDILLA
-	0x00d0: 0x0160,	# LATIN CAPITAL LETTER S WITH CARON
-	0x00d1: 0x0143,	# LATIN CAPITAL LETTER N WITH ACUTE
-	0x00d2: 0x0145,	# LATIN CAPITAL LETTER N WITH CEDILLA
-	0x00d4: 0x014c,	# LATIN CAPITAL LETTER O WITH MACRON
-	0x00d8: 0x0172,	# LATIN CAPITAL LETTER U WITH OGONEK
-	0x00d9: 0x0141,	# LATIN CAPITAL LETTER L WITH STROKE
-	0x00da: 0x015a,	# LATIN CAPITAL LETTER S WITH ACUTE
-	0x00db: 0x016a,	# LATIN CAPITAL LETTER U WITH MACRON
-	0x00dd: 0x017b,	# LATIN CAPITAL LETTER Z WITH DOT ABOVE
-	0x00de: 0x017d,	# LATIN CAPITAL LETTER Z WITH CARON
-	0x00e0: 0x0105,	# LATIN SMALL LETTER A WITH OGONEK
-	0x00e1: 0x012f,	# LATIN SMALL LETTER I WITH OGONEK
-	0x00e2: 0x0101,	# LATIN SMALL LETTER A WITH MACRON
-	0x00e3: 0x0107,	# LATIN SMALL LETTER C WITH ACUTE
-	0x00e6: 0x0119,	# LATIN SMALL LETTER E WITH OGONEK
-	0x00e7: 0x0113,	# LATIN SMALL LETTER E WITH MACRON
-	0x00e8: 0x010d,	# LATIN SMALL LETTER C WITH CARON
-	0x00ea: 0x017a,	# LATIN SMALL LETTER Z WITH ACUTE
-	0x00eb: 0x0117,	# LATIN SMALL LETTER E WITH DOT ABOVE
-	0x00ec: 0x0123,	# LATIN SMALL LETTER G WITH CEDILLA
-	0x00ed: 0x0137,	# LATIN SMALL LETTER K WITH CEDILLA
-	0x00ee: 0x012b,	# LATIN SMALL LETTER I WITH MACRON
-	0x00ef: 0x013c,	# LATIN SMALL LETTER L WITH CEDILLA
-	0x00f0: 0x0161,	# LATIN SMALL LETTER S WITH CARON
-	0x00f1: 0x0144,	# LATIN SMALL LETTER N WITH ACUTE
-	0x00f2: 0x0146,	# LATIN SMALL LETTER N WITH CEDILLA
-	0x00f4: 0x014d,	# LATIN SMALL LETTER O WITH MACRON
-	0x00f8: 0x0173,	# LATIN SMALL LETTER U WITH OGONEK
-	0x00f9: 0x0142,	# LATIN SMALL LETTER L WITH STROKE
-	0x00fa: 0x015b,	# LATIN SMALL LETTER S WITH ACUTE
-	0x00fb: 0x016b,	# LATIN SMALL LETTER U WITH MACRON
-	0x00fd: 0x017c,	# LATIN SMALL LETTER Z WITH DOT ABOVE
-	0x00fe: 0x017e,	# LATIN SMALL LETTER Z WITH CARON
-	0x00ff: 0x02d9,	# DOT ABOVE
+        0x0080: 0x20ac, # EURO SIGN
+        0x0081: None,   # UNDEFINED
+        0x0082: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x0083: None,   # UNDEFINED
+        0x0084: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x0085: 0x2026, # HORIZONTAL ELLIPSIS
+        0x0086: 0x2020, # DAGGER
+        0x0087: 0x2021, # DOUBLE DAGGER
+        0x0088: None,   # UNDEFINED
+        0x0089: 0x2030, # PER MILLE SIGN
+        0x008a: None,   # UNDEFINED
+        0x008b: 0x2039, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        0x008c: None,   # UNDEFINED
+        0x008d: 0x00a8, # DIAERESIS
+        0x008e: 0x02c7, # CARON
+        0x008f: 0x00b8, # CEDILLA
+        0x0090: None,   # UNDEFINED
+        0x0091: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x0092: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x0093: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x0094: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x0095: 0x2022, # BULLET
+        0x0096: 0x2013, # EN DASH
+        0x0097: 0x2014, # EM DASH
+        0x0098: None,   # UNDEFINED
+        0x0099: 0x2122, # TRADE MARK SIGN
+        0x009a: None,   # UNDEFINED
+        0x009b: 0x203a, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        0x009c: None,   # UNDEFINED
+        0x009d: 0x00af, # MACRON
+        0x009e: 0x02db, # OGONEK
+        0x009f: None,   # UNDEFINED
+        0x00a1: None,   # UNDEFINED
+        0x00a5: None,   # UNDEFINED
+        0x00a8: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+        0x00aa: 0x0156, # LATIN CAPITAL LETTER R WITH CEDILLA
+        0x00af: 0x00c6, # LATIN CAPITAL LETTER AE
+        0x00b8: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+        0x00ba: 0x0157, # LATIN SMALL LETTER R WITH CEDILLA
+        0x00bf: 0x00e6, # LATIN SMALL LETTER AE
+        0x00c0: 0x0104, # LATIN CAPITAL LETTER A WITH OGONEK
+        0x00c1: 0x012e, # LATIN CAPITAL LETTER I WITH OGONEK
+        0x00c2: 0x0100, # LATIN CAPITAL LETTER A WITH MACRON
+        0x00c3: 0x0106, # LATIN CAPITAL LETTER C WITH ACUTE
+        0x00c6: 0x0118, # LATIN CAPITAL LETTER E WITH OGONEK
+        0x00c7: 0x0112, # LATIN CAPITAL LETTER E WITH MACRON
+        0x00c8: 0x010c, # LATIN CAPITAL LETTER C WITH CARON
+        0x00ca: 0x0179, # LATIN CAPITAL LETTER Z WITH ACUTE
+        0x00cb: 0x0116, # LATIN CAPITAL LETTER E WITH DOT ABOVE
+        0x00cc: 0x0122, # LATIN CAPITAL LETTER G WITH CEDILLA
+        0x00cd: 0x0136, # LATIN CAPITAL LETTER K WITH CEDILLA
+        0x00ce: 0x012a, # LATIN CAPITAL LETTER I WITH MACRON
+        0x00cf: 0x013b, # LATIN CAPITAL LETTER L WITH CEDILLA
+        0x00d0: 0x0160, # LATIN CAPITAL LETTER S WITH CARON
+        0x00d1: 0x0143, # LATIN CAPITAL LETTER N WITH ACUTE
+        0x00d2: 0x0145, # LATIN CAPITAL LETTER N WITH CEDILLA
+        0x00d4: 0x014c, # LATIN CAPITAL LETTER O WITH MACRON
+        0x00d8: 0x0172, # LATIN CAPITAL LETTER U WITH OGONEK
+        0x00d9: 0x0141, # LATIN CAPITAL LETTER L WITH STROKE
+        0x00da: 0x015a, # LATIN CAPITAL LETTER S WITH ACUTE
+        0x00db: 0x016a, # LATIN CAPITAL LETTER U WITH MACRON
+        0x00dd: 0x017b, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+        0x00de: 0x017d, # LATIN CAPITAL LETTER Z WITH CARON
+        0x00e0: 0x0105, # LATIN SMALL LETTER A WITH OGONEK
+        0x00e1: 0x012f, # LATIN SMALL LETTER I WITH OGONEK
+        0x00e2: 0x0101, # LATIN SMALL LETTER A WITH MACRON
+        0x00e3: 0x0107, # LATIN SMALL LETTER C WITH ACUTE
+        0x00e6: 0x0119, # LATIN SMALL LETTER E WITH OGONEK
+        0x00e7: 0x0113, # LATIN SMALL LETTER E WITH MACRON
+        0x00e8: 0x010d, # LATIN SMALL LETTER C WITH CARON
+        0x00ea: 0x017a, # LATIN SMALL LETTER Z WITH ACUTE
+        0x00eb: 0x0117, # LATIN SMALL LETTER E WITH DOT ABOVE
+        0x00ec: 0x0123, # LATIN SMALL LETTER G WITH CEDILLA
+        0x00ed: 0x0137, # LATIN SMALL LETTER K WITH CEDILLA
+        0x00ee: 0x012b, # LATIN SMALL LETTER I WITH MACRON
+        0x00ef: 0x013c, # LATIN SMALL LETTER L WITH CEDILLA
+        0x00f0: 0x0161, # LATIN SMALL LETTER S WITH CARON
+        0x00f1: 0x0144, # LATIN SMALL LETTER N WITH ACUTE
+        0x00f2: 0x0146, # LATIN SMALL LETTER N WITH CEDILLA
+        0x00f4: 0x014d, # LATIN SMALL LETTER O WITH MACRON
+        0x00f8: 0x0173, # LATIN SMALL LETTER U WITH OGONEK
+        0x00f9: 0x0142, # LATIN SMALL LETTER L WITH STROKE
+        0x00fa: 0x015b, # LATIN SMALL LETTER S WITH ACUTE
+        0x00fb: 0x016b, # LATIN SMALL LETTER U WITH MACRON
+        0x00fd: 0x017c, # LATIN SMALL LETTER Z WITH DOT ABOVE
+        0x00fe: 0x017e, # LATIN SMALL LETTER Z WITH CARON
+        0x00ff: 0x02d9, # DOT ABOVE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp1258.py b/Lib/encodings/cp1258.py
index 9a2827d..03a6d3b 100644
--- a/Lib/encodings/cp1258.py
+++ b/Lib/encodings/cp1258.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,52 +37,52 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x20ac,	# EURO SIGN
-	0x0081: None,	# UNDEFINED
-	0x0082: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x0083: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x0084: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x0085: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x0086: 0x2020,	# DAGGER
-	0x0087: 0x2021,	# DOUBLE DAGGER
-	0x0088: 0x02c6,	# MODIFIER LETTER CIRCUMFLEX ACCENT
-	0x0089: 0x2030,	# PER MILLE SIGN
-	0x008a: None,	# UNDEFINED
-	0x008b: 0x2039,	# SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-	0x008c: 0x0152,	# LATIN CAPITAL LIGATURE OE
-	0x008d: None,	# UNDEFINED
-	0x008e: None,	# UNDEFINED
-	0x008f: None,	# UNDEFINED
-	0x0090: None,	# UNDEFINED
-	0x0091: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x0092: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x0093: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x0094: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x0095: 0x2022,	# BULLET
-	0x0096: 0x2013,	# EN DASH
-	0x0097: 0x2014,	# EM DASH
-	0x0098: 0x02dc,	# SMALL TILDE
-	0x0099: 0x2122,	# TRADE MARK SIGN
-	0x009a: None,	# UNDEFINED
-	0x009b: 0x203a,	# SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-	0x009c: 0x0153,	# LATIN SMALL LIGATURE OE
-	0x009d: None,	# UNDEFINED
-	0x009e: None,	# UNDEFINED
-	0x009f: 0x0178,	# LATIN CAPITAL LETTER Y WITH DIAERESIS
-	0x00c3: 0x0102,	# LATIN CAPITAL LETTER A WITH BREVE
-	0x00cc: 0x0300,	# COMBINING GRAVE ACCENT
-	0x00d0: 0x0110,	# LATIN CAPITAL LETTER D WITH STROKE
-	0x00d2: 0x0309,	# COMBINING HOOK ABOVE
-	0x00d5: 0x01a0,	# LATIN CAPITAL LETTER O WITH HORN
-	0x00dd: 0x01af,	# LATIN CAPITAL LETTER U WITH HORN
-	0x00de: 0x0303,	# COMBINING TILDE
-	0x00e3: 0x0103,	# LATIN SMALL LETTER A WITH BREVE
-	0x00ec: 0x0301,	# COMBINING ACUTE ACCENT
-	0x00f0: 0x0111,	# LATIN SMALL LETTER D WITH STROKE
-	0x00f2: 0x0323,	# COMBINING DOT BELOW
-	0x00f5: 0x01a1,	# LATIN SMALL LETTER O WITH HORN
-	0x00fd: 0x01b0,	# LATIN SMALL LETTER U WITH HORN
-	0x00fe: 0x20ab,	# DONG SIGN
+        0x0080: 0x20ac, # EURO SIGN
+        0x0081: None,   # UNDEFINED
+        0x0082: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x0083: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x0084: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x0085: 0x2026, # HORIZONTAL ELLIPSIS
+        0x0086: 0x2020, # DAGGER
+        0x0087: 0x2021, # DOUBLE DAGGER
+        0x0088: 0x02c6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+        0x0089: 0x2030, # PER MILLE SIGN
+        0x008a: None,   # UNDEFINED
+        0x008b: 0x2039, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        0x008c: 0x0152, # LATIN CAPITAL LIGATURE OE
+        0x008d: None,   # UNDEFINED
+        0x008e: None,   # UNDEFINED
+        0x008f: None,   # UNDEFINED
+        0x0090: None,   # UNDEFINED
+        0x0091: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x0092: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x0093: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x0094: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x0095: 0x2022, # BULLET
+        0x0096: 0x2013, # EN DASH
+        0x0097: 0x2014, # EM DASH
+        0x0098: 0x02dc, # SMALL TILDE
+        0x0099: 0x2122, # TRADE MARK SIGN
+        0x009a: None,   # UNDEFINED
+        0x009b: 0x203a, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        0x009c: 0x0153, # LATIN SMALL LIGATURE OE
+        0x009d: None,   # UNDEFINED
+        0x009e: None,   # UNDEFINED
+        0x009f: 0x0178, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+        0x00c3: 0x0102, # LATIN CAPITAL LETTER A WITH BREVE
+        0x00cc: 0x0300, # COMBINING GRAVE ACCENT
+        0x00d0: 0x0110, # LATIN CAPITAL LETTER D WITH STROKE
+        0x00d2: 0x0309, # COMBINING HOOK ABOVE
+        0x00d5: 0x01a0, # LATIN CAPITAL LETTER O WITH HORN
+        0x00dd: 0x01af, # LATIN CAPITAL LETTER U WITH HORN
+        0x00de: 0x0303, # COMBINING TILDE
+        0x00e3: 0x0103, # LATIN SMALL LETTER A WITH BREVE
+        0x00ec: 0x0301, # COMBINING ACUTE ACCENT
+        0x00f0: 0x0111, # LATIN SMALL LETTER D WITH STROKE
+        0x00f2: 0x0323, # COMBINING DOT BELOW
+        0x00f5: 0x01a1, # LATIN SMALL LETTER O WITH HORN
+        0x00fd: 0x01b0, # LATIN SMALL LETTER U WITH HORN
+        0x00fe: 0x20ab, # DONG SIGN
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp424.py b/Lib/encodings/cp424.py
index 4689996..6a53233 100644
--- a/Lib/encodings/cp424.py
+++ b/Lib/encodings/cp424.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,242 +37,242 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0004: 0x009c,	# SELECT
-	0x0005: 0x0009,	# HORIZONTAL TABULATION
-	0x0006: 0x0086,	# REQUIRED NEW LINE
-	0x0007: 0x007f,	# DELETE
-	0x0008: 0x0097,	# GRAPHIC ESCAPE
-	0x0009: 0x008d,	# SUPERSCRIPT
-	0x000a: 0x008e,	# REPEAT
-	0x0014: 0x009d,	# RESTORE/ENABLE PRESENTATION
-	0x0015: 0x0085,	# NEW LINE
-	0x0016: 0x0008,	# BACKSPACE
-	0x0017: 0x0087,	# PROGRAM OPERATOR COMMUNICATION
-	0x001a: 0x0092,	# UNIT BACK SPACE
-	0x001b: 0x008f,	# CUSTOMER USE ONE
-	0x0020: 0x0080,	# DIGIT SELECT
-	0x0021: 0x0081,	# START OF SIGNIFICANCE
-	0x0022: 0x0082,	# FIELD SEPARATOR
-	0x0023: 0x0083,	# WORD UNDERSCORE
-	0x0024: 0x0084,	# BYPASS OR INHIBIT PRESENTATION
-	0x0025: 0x000a,	# LINE FEED
-	0x0026: 0x0017,	# END OF TRANSMISSION BLOCK
-	0x0027: 0x001b,	# ESCAPE
-	0x0028: 0x0088,	# SET ATTRIBUTE
-	0x0029: 0x0089,	# START FIELD EXTENDED
-	0x002a: 0x008a,	# SET MODE OR SWITCH
-	0x002b: 0x008b,	# CONTROL SEQUENCE PREFIX
-	0x002c: 0x008c,	# MODIFY FIELD ATTRIBUTE
-	0x002d: 0x0005,	# ENQUIRY
-	0x002e: 0x0006,	# ACKNOWLEDGE
-	0x002f: 0x0007,	# BELL
-	0x0030: 0x0090,	# <reserved>
-	0x0031: 0x0091,	# <reserved>
-	0x0032: 0x0016,	# SYNCHRONOUS IDLE
-	0x0033: 0x0093,	# INDEX RETURN
-	0x0034: 0x0094,	# PRESENTATION POSITION
-	0x0035: 0x0095,	# TRANSPARENT
-	0x0036: 0x0096,	# NUMERIC BACKSPACE
-	0x0037: 0x0004,	# END OF TRANSMISSION
-	0x0038: 0x0098,	# SUBSCRIPT
-	0x0039: 0x0099,	# INDENT TABULATION
-	0x003a: 0x009a,	# REVERSE FORM FEED
-	0x003b: 0x009b,	# CUSTOMER USE THREE
-	0x003c: 0x0014,	# DEVICE CONTROL FOUR
-	0x003d: 0x0015,	# NEGATIVE ACKNOWLEDGE
-	0x003e: 0x009e,	# <reserved>
-	0x003f: 0x001a,	# SUBSTITUTE
-	0x0040: 0x0020,	# SPACE
-	0x0041: 0x05d0,	# HEBREW LETTER ALEF
-	0x0042: 0x05d1,	# HEBREW LETTER BET
-	0x0043: 0x05d2,	# HEBREW LETTER GIMEL
-	0x0044: 0x05d3,	# HEBREW LETTER DALET
-	0x0045: 0x05d4,	# HEBREW LETTER HE
-	0x0046: 0x05d5,	# HEBREW LETTER VAV
-	0x0047: 0x05d6,	# HEBREW LETTER ZAYIN
-	0x0048: 0x05d7,	# HEBREW LETTER HET
-	0x0049: 0x05d8,	# HEBREW LETTER TET
-	0x004a: 0x00a2,	# CENT SIGN
-	0x004b: 0x002e,	# FULL STOP
-	0x004c: 0x003c,	# LESS-THAN SIGN
-	0x004d: 0x0028,	# LEFT PARENTHESIS
-	0x004e: 0x002b,	# PLUS SIGN
-	0x004f: 0x007c,	# VERTICAL LINE
-	0x0050: 0x0026,	# AMPERSAND
-	0x0051: 0x05d9,	# HEBREW LETTER YOD
-	0x0052: 0x05da,	# HEBREW LETTER FINAL KAF
-	0x0053: 0x05db,	# HEBREW LETTER KAF
-	0x0054: 0x05dc,	# HEBREW LETTER LAMED
-	0x0055: 0x05dd,	# HEBREW LETTER FINAL MEM
-	0x0056: 0x05de,	# HEBREW LETTER MEM
-	0x0057: 0x05df,	# HEBREW LETTER FINAL NUN
-	0x0058: 0x05e0,	# HEBREW LETTER NUN
-	0x0059: 0x05e1,	# HEBREW LETTER SAMEKH
-	0x005a: 0x0021,	# EXCLAMATION MARK
-	0x005b: 0x0024,	# DOLLAR SIGN
-	0x005c: 0x002a,	# ASTERISK
-	0x005d: 0x0029,	# RIGHT PARENTHESIS
-	0x005e: 0x003b,	# SEMICOLON
-	0x005f: 0x00ac,	# NOT SIGN
-	0x0060: 0x002d,	# HYPHEN-MINUS
-	0x0061: 0x002f,	# SOLIDUS
-	0x0062: 0x05e2,	# HEBREW LETTER AYIN
-	0x0063: 0x05e3,	# HEBREW LETTER FINAL PE
-	0x0064: 0x05e4,	# HEBREW LETTER PE
-	0x0065: 0x05e5,	# HEBREW LETTER FINAL TSADI
-	0x0066: 0x05e6,	# HEBREW LETTER TSADI
-	0x0067: 0x05e7,	# HEBREW LETTER QOF
-	0x0068: 0x05e8,	# HEBREW LETTER RESH
-	0x0069: 0x05e9,	# HEBREW LETTER SHIN
-	0x006a: 0x00a6,	# BROKEN BAR
-	0x006b: 0x002c,	# COMMA
-	0x006c: 0x0025,	# PERCENT SIGN
-	0x006d: 0x005f,	# LOW LINE
-	0x006e: 0x003e,	# GREATER-THAN SIGN
-	0x006f: 0x003f,	# QUESTION MARK
-	0x0070: None,	# UNDEFINED
-	0x0071: 0x05ea,	# HEBREW LETTER TAV
-	0x0072: None,	# UNDEFINED
-	0x0073: None,	# UNDEFINED
-	0x0074: 0x00a0,	# NO-BREAK SPACE
-	0x0075: None,	# UNDEFINED
-	0x0076: None,	# UNDEFINED
-	0x0077: None,	# UNDEFINED
-	0x0078: 0x2017,	# DOUBLE LOW LINE
-	0x0079: 0x0060,	# GRAVE ACCENT
-	0x007a: 0x003a,	# COLON
-	0x007b: 0x0023,	# NUMBER SIGN
-	0x007c: 0x0040,	# COMMERCIAL AT
-	0x007d: 0x0027,	# APOSTROPHE
-	0x007e: 0x003d,	# EQUALS SIGN
-	0x007f: 0x0022,	# QUOTATION MARK
-	0x0080: None,	# UNDEFINED
-	0x0081: 0x0061,	# LATIN SMALL LETTER A
-	0x0082: 0x0062,	# LATIN SMALL LETTER B
-	0x0083: 0x0063,	# LATIN SMALL LETTER C
-	0x0084: 0x0064,	# LATIN SMALL LETTER D
-	0x0085: 0x0065,	# LATIN SMALL LETTER E
-	0x0086: 0x0066,	# LATIN SMALL LETTER F
-	0x0087: 0x0067,	# LATIN SMALL LETTER G
-	0x0088: 0x0068,	# LATIN SMALL LETTER H
-	0x0089: 0x0069,	# LATIN SMALL LETTER I
-	0x008a: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x008b: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x008c: None,	# UNDEFINED
-	0x008d: None,	# UNDEFINED
-	0x008e: None,	# UNDEFINED
-	0x008f: 0x00b1,	# PLUS-MINUS SIGN
-	0x0090: 0x00b0,	# DEGREE SIGN
-	0x0091: 0x006a,	# LATIN SMALL LETTER J
-	0x0092: 0x006b,	# LATIN SMALL LETTER K
-	0x0093: 0x006c,	# LATIN SMALL LETTER L
-	0x0094: 0x006d,	# LATIN SMALL LETTER M
-	0x0095: 0x006e,	# LATIN SMALL LETTER N
-	0x0096: 0x006f,	# LATIN SMALL LETTER O
-	0x0097: 0x0070,	# LATIN SMALL LETTER P
-	0x0098: 0x0071,	# LATIN SMALL LETTER Q
-	0x0099: 0x0072,	# LATIN SMALL LETTER R
-	0x009a: None,	# UNDEFINED
-	0x009b: None,	# UNDEFINED
-	0x009c: None,	# UNDEFINED
-	0x009d: 0x00b8,	# CEDILLA
-	0x009e: None,	# UNDEFINED
-	0x009f: 0x00a4,	# CURRENCY SIGN
-	0x00a0: 0x00b5,	# MICRO SIGN
-	0x00a1: 0x007e,	# TILDE
-	0x00a2: 0x0073,	# LATIN SMALL LETTER S
-	0x00a3: 0x0074,	# LATIN SMALL LETTER T
-	0x00a4: 0x0075,	# LATIN SMALL LETTER U
-	0x00a5: 0x0076,	# LATIN SMALL LETTER V
-	0x00a6: 0x0077,	# LATIN SMALL LETTER W
-	0x00a7: 0x0078,	# LATIN SMALL LETTER X
-	0x00a8: 0x0079,	# LATIN SMALL LETTER Y
-	0x00a9: 0x007a,	# LATIN SMALL LETTER Z
-	0x00aa: None,	# UNDEFINED
-	0x00ab: None,	# UNDEFINED
-	0x00ac: None,	# UNDEFINED
-	0x00ad: None,	# UNDEFINED
-	0x00ae: None,	# UNDEFINED
-	0x00af: 0x00ae,	# REGISTERED SIGN
-	0x00b0: 0x005e,	# CIRCUMFLEX ACCENT
-	0x00b1: 0x00a3,	# POUND SIGN
-	0x00b2: 0x00a5,	# YEN SIGN
-	0x00b3: 0x00b7,	# MIDDLE DOT
-	0x00b4: 0x00a9,	# COPYRIGHT SIGN
-	0x00b5: 0x00a7,	# SECTION SIGN
-	0x00b7: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00b8: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00b9: 0x00be,	# VULGAR FRACTION THREE QUARTERS
-	0x00ba: 0x005b,	# LEFT SQUARE BRACKET
-	0x00bb: 0x005d,	# RIGHT SQUARE BRACKET
-	0x00bc: 0x00af,	# MACRON
-	0x00bd: 0x00a8,	# DIAERESIS
-	0x00be: 0x00b4,	# ACUTE ACCENT
-	0x00bf: 0x00d7,	# MULTIPLICATION SIGN
-	0x00c0: 0x007b,	# LEFT CURLY BRACKET
-	0x00c1: 0x0041,	# LATIN CAPITAL LETTER A
-	0x00c2: 0x0042,	# LATIN CAPITAL LETTER B
-	0x00c3: 0x0043,	# LATIN CAPITAL LETTER C
-	0x00c4: 0x0044,	# LATIN CAPITAL LETTER D
-	0x00c5: 0x0045,	# LATIN CAPITAL LETTER E
-	0x00c6: 0x0046,	# LATIN CAPITAL LETTER F
-	0x00c7: 0x0047,	# LATIN CAPITAL LETTER G
-	0x00c8: 0x0048,	# LATIN CAPITAL LETTER H
-	0x00c9: 0x0049,	# LATIN CAPITAL LETTER I
-	0x00ca: 0x00ad,	# SOFT HYPHEN
-	0x00cb: None,	# UNDEFINED
-	0x00cc: None,	# UNDEFINED
-	0x00cd: None,	# UNDEFINED
-	0x00ce: None,	# UNDEFINED
-	0x00cf: None,	# UNDEFINED
-	0x00d0: 0x007d,	# RIGHT CURLY BRACKET
-	0x00d1: 0x004a,	# LATIN CAPITAL LETTER J
-	0x00d2: 0x004b,	# LATIN CAPITAL LETTER K
-	0x00d3: 0x004c,	# LATIN CAPITAL LETTER L
-	0x00d4: 0x004d,	# LATIN CAPITAL LETTER M
-	0x00d5: 0x004e,	# LATIN CAPITAL LETTER N
-	0x00d6: 0x004f,	# LATIN CAPITAL LETTER O
-	0x00d7: 0x0050,	# LATIN CAPITAL LETTER P
-	0x00d8: 0x0051,	# LATIN CAPITAL LETTER Q
-	0x00d9: 0x0052,	# LATIN CAPITAL LETTER R
-	0x00da: 0x00b9,	# SUPERSCRIPT ONE
-	0x00db: None,	# UNDEFINED
-	0x00dc: None,	# UNDEFINED
-	0x00dd: None,	# UNDEFINED
-	0x00de: None,	# UNDEFINED
-	0x00df: None,	# UNDEFINED
-	0x00e0: 0x005c,	# REVERSE SOLIDUS
-	0x00e1: 0x00f7,	# DIVISION SIGN
-	0x00e2: 0x0053,	# LATIN CAPITAL LETTER S
-	0x00e3: 0x0054,	# LATIN CAPITAL LETTER T
-	0x00e4: 0x0055,	# LATIN CAPITAL LETTER U
-	0x00e5: 0x0056,	# LATIN CAPITAL LETTER V
-	0x00e6: 0x0057,	# LATIN CAPITAL LETTER W
-	0x00e7: 0x0058,	# LATIN CAPITAL LETTER X
-	0x00e8: 0x0059,	# LATIN CAPITAL LETTER Y
-	0x00e9: 0x005a,	# LATIN CAPITAL LETTER Z
-	0x00ea: 0x00b2,	# SUPERSCRIPT TWO
-	0x00eb: None,	# UNDEFINED
-	0x00ec: None,	# UNDEFINED
-	0x00ed: None,	# UNDEFINED
-	0x00ee: None,	# UNDEFINED
-	0x00ef: None,	# UNDEFINED
-	0x00f0: 0x0030,	# DIGIT ZERO
-	0x00f1: 0x0031,	# DIGIT ONE
-	0x00f2: 0x0032,	# DIGIT TWO
-	0x00f3: 0x0033,	# DIGIT THREE
-	0x00f4: 0x0034,	# DIGIT FOUR
-	0x00f5: 0x0035,	# DIGIT FIVE
-	0x00f6: 0x0036,	# DIGIT SIX
-	0x00f7: 0x0037,	# DIGIT SEVEN
-	0x00f8: 0x0038,	# DIGIT EIGHT
-	0x00f9: 0x0039,	# DIGIT NINE
-	0x00fa: 0x00b3,	# SUPERSCRIPT THREE
-	0x00fb: None,	# UNDEFINED
-	0x00fc: None,	# UNDEFINED
-	0x00fd: None,	# UNDEFINED
-	0x00fe: None,	# UNDEFINED
-	0x00ff: 0x009f,	# EIGHT ONES
+        0x0004: 0x009c, # SELECT
+        0x0005: 0x0009, # HORIZONTAL TABULATION
+        0x0006: 0x0086, # REQUIRED NEW LINE
+        0x0007: 0x007f, # DELETE
+        0x0008: 0x0097, # GRAPHIC ESCAPE
+        0x0009: 0x008d, # SUPERSCRIPT
+        0x000a: 0x008e, # REPEAT
+        0x0014: 0x009d, # RESTORE/ENABLE PRESENTATION
+        0x0015: 0x0085, # NEW LINE
+        0x0016: 0x0008, # BACKSPACE
+        0x0017: 0x0087, # PROGRAM OPERATOR COMMUNICATION
+        0x001a: 0x0092, # UNIT BACK SPACE
+        0x001b: 0x008f, # CUSTOMER USE ONE
+        0x0020: 0x0080, # DIGIT SELECT
+        0x0021: 0x0081, # START OF SIGNIFICANCE
+        0x0022: 0x0082, # FIELD SEPARATOR
+        0x0023: 0x0083, # WORD UNDERSCORE
+        0x0024: 0x0084, # BYPASS OR INHIBIT PRESENTATION
+        0x0025: 0x000a, # LINE FEED
+        0x0026: 0x0017, # END OF TRANSMISSION BLOCK
+        0x0027: 0x001b, # ESCAPE
+        0x0028: 0x0088, # SET ATTRIBUTE
+        0x0029: 0x0089, # START FIELD EXTENDED
+        0x002a: 0x008a, # SET MODE OR SWITCH
+        0x002b: 0x008b, # CONTROL SEQUENCE PREFIX
+        0x002c: 0x008c, # MODIFY FIELD ATTRIBUTE
+        0x002d: 0x0005, # ENQUIRY
+        0x002e: 0x0006, # ACKNOWLEDGE
+        0x002f: 0x0007, # BELL
+        0x0030: 0x0090, # <reserved>
+        0x0031: 0x0091, # <reserved>
+        0x0032: 0x0016, # SYNCHRONOUS IDLE
+        0x0033: 0x0093, # INDEX RETURN
+        0x0034: 0x0094, # PRESENTATION POSITION
+        0x0035: 0x0095, # TRANSPARENT
+        0x0036: 0x0096, # NUMERIC BACKSPACE
+        0x0037: 0x0004, # END OF TRANSMISSION
+        0x0038: 0x0098, # SUBSCRIPT
+        0x0039: 0x0099, # INDENT TABULATION
+        0x003a: 0x009a, # REVERSE FORM FEED
+        0x003b: 0x009b, # CUSTOMER USE THREE
+        0x003c: 0x0014, # DEVICE CONTROL FOUR
+        0x003d: 0x0015, # NEGATIVE ACKNOWLEDGE
+        0x003e: 0x009e, # <reserved>
+        0x003f: 0x001a, # SUBSTITUTE
+        0x0040: 0x0020, # SPACE
+        0x0041: 0x05d0, # HEBREW LETTER ALEF
+        0x0042: 0x05d1, # HEBREW LETTER BET
+        0x0043: 0x05d2, # HEBREW LETTER GIMEL
+        0x0044: 0x05d3, # HEBREW LETTER DALET
+        0x0045: 0x05d4, # HEBREW LETTER HE
+        0x0046: 0x05d5, # HEBREW LETTER VAV
+        0x0047: 0x05d6, # HEBREW LETTER ZAYIN
+        0x0048: 0x05d7, # HEBREW LETTER HET
+        0x0049: 0x05d8, # HEBREW LETTER TET
+        0x004a: 0x00a2, # CENT SIGN
+        0x004b: 0x002e, # FULL STOP
+        0x004c: 0x003c, # LESS-THAN SIGN
+        0x004d: 0x0028, # LEFT PARENTHESIS
+        0x004e: 0x002b, # PLUS SIGN
+        0x004f: 0x007c, # VERTICAL LINE
+        0x0050: 0x0026, # AMPERSAND
+        0x0051: 0x05d9, # HEBREW LETTER YOD
+        0x0052: 0x05da, # HEBREW LETTER FINAL KAF
+        0x0053: 0x05db, # HEBREW LETTER KAF
+        0x0054: 0x05dc, # HEBREW LETTER LAMED
+        0x0055: 0x05dd, # HEBREW LETTER FINAL MEM
+        0x0056: 0x05de, # HEBREW LETTER MEM
+        0x0057: 0x05df, # HEBREW LETTER FINAL NUN
+        0x0058: 0x05e0, # HEBREW LETTER NUN
+        0x0059: 0x05e1, # HEBREW LETTER SAMEKH
+        0x005a: 0x0021, # EXCLAMATION MARK
+        0x005b: 0x0024, # DOLLAR SIGN
+        0x005c: 0x002a, # ASTERISK
+        0x005d: 0x0029, # RIGHT PARENTHESIS
+        0x005e: 0x003b, # SEMICOLON
+        0x005f: 0x00ac, # NOT SIGN
+        0x0060: 0x002d, # HYPHEN-MINUS
+        0x0061: 0x002f, # SOLIDUS
+        0x0062: 0x05e2, # HEBREW LETTER AYIN
+        0x0063: 0x05e3, # HEBREW LETTER FINAL PE
+        0x0064: 0x05e4, # HEBREW LETTER PE
+        0x0065: 0x05e5, # HEBREW LETTER FINAL TSADI
+        0x0066: 0x05e6, # HEBREW LETTER TSADI
+        0x0067: 0x05e7, # HEBREW LETTER QOF
+        0x0068: 0x05e8, # HEBREW LETTER RESH
+        0x0069: 0x05e9, # HEBREW LETTER SHIN
+        0x006a: 0x00a6, # BROKEN BAR
+        0x006b: 0x002c, # COMMA
+        0x006c: 0x0025, # PERCENT SIGN
+        0x006d: 0x005f, # LOW LINE
+        0x006e: 0x003e, # GREATER-THAN SIGN
+        0x006f: 0x003f, # QUESTION MARK
+        0x0070: None,   # UNDEFINED
+        0x0071: 0x05ea, # HEBREW LETTER TAV
+        0x0072: None,   # UNDEFINED
+        0x0073: None,   # UNDEFINED
+        0x0074: 0x00a0, # NO-BREAK SPACE
+        0x0075: None,   # UNDEFINED
+        0x0076: None,   # UNDEFINED
+        0x0077: None,   # UNDEFINED
+        0x0078: 0x2017, # DOUBLE LOW LINE
+        0x0079: 0x0060, # GRAVE ACCENT
+        0x007a: 0x003a, # COLON
+        0x007b: 0x0023, # NUMBER SIGN
+        0x007c: 0x0040, # COMMERCIAL AT
+        0x007d: 0x0027, # APOSTROPHE
+        0x007e: 0x003d, # EQUALS SIGN
+        0x007f: 0x0022, # QUOTATION MARK
+        0x0080: None,   # UNDEFINED
+        0x0081: 0x0061, # LATIN SMALL LETTER A
+        0x0082: 0x0062, # LATIN SMALL LETTER B
+        0x0083: 0x0063, # LATIN SMALL LETTER C
+        0x0084: 0x0064, # LATIN SMALL LETTER D
+        0x0085: 0x0065, # LATIN SMALL LETTER E
+        0x0086: 0x0066, # LATIN SMALL LETTER F
+        0x0087: 0x0067, # LATIN SMALL LETTER G
+        0x0088: 0x0068, # LATIN SMALL LETTER H
+        0x0089: 0x0069, # LATIN SMALL LETTER I
+        0x008a: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x008b: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x008c: None,   # UNDEFINED
+        0x008d: None,   # UNDEFINED
+        0x008e: None,   # UNDEFINED
+        0x008f: 0x00b1, # PLUS-MINUS SIGN
+        0x0090: 0x00b0, # DEGREE SIGN
+        0x0091: 0x006a, # LATIN SMALL LETTER J
+        0x0092: 0x006b, # LATIN SMALL LETTER K
+        0x0093: 0x006c, # LATIN SMALL LETTER L
+        0x0094: 0x006d, # LATIN SMALL LETTER M
+        0x0095: 0x006e, # LATIN SMALL LETTER N
+        0x0096: 0x006f, # LATIN SMALL LETTER O
+        0x0097: 0x0070, # LATIN SMALL LETTER P
+        0x0098: 0x0071, # LATIN SMALL LETTER Q
+        0x0099: 0x0072, # LATIN SMALL LETTER R
+        0x009a: None,   # UNDEFINED
+        0x009b: None,   # UNDEFINED
+        0x009c: None,   # UNDEFINED
+        0x009d: 0x00b8, # CEDILLA
+        0x009e: None,   # UNDEFINED
+        0x009f: 0x00a4, # CURRENCY SIGN
+        0x00a0: 0x00b5, # MICRO SIGN
+        0x00a1: 0x007e, # TILDE
+        0x00a2: 0x0073, # LATIN SMALL LETTER S
+        0x00a3: 0x0074, # LATIN SMALL LETTER T
+        0x00a4: 0x0075, # LATIN SMALL LETTER U
+        0x00a5: 0x0076, # LATIN SMALL LETTER V
+        0x00a6: 0x0077, # LATIN SMALL LETTER W
+        0x00a7: 0x0078, # LATIN SMALL LETTER X
+        0x00a8: 0x0079, # LATIN SMALL LETTER Y
+        0x00a9: 0x007a, # LATIN SMALL LETTER Z
+        0x00aa: None,   # UNDEFINED
+        0x00ab: None,   # UNDEFINED
+        0x00ac: None,   # UNDEFINED
+        0x00ad: None,   # UNDEFINED
+        0x00ae: None,   # UNDEFINED
+        0x00af: 0x00ae, # REGISTERED SIGN
+        0x00b0: 0x005e, # CIRCUMFLEX ACCENT
+        0x00b1: 0x00a3, # POUND SIGN
+        0x00b2: 0x00a5, # YEN SIGN
+        0x00b3: 0x00b7, # MIDDLE DOT
+        0x00b4: 0x00a9, # COPYRIGHT SIGN
+        0x00b5: 0x00a7, # SECTION SIGN
+        0x00b7: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00b8: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00b9: 0x00be, # VULGAR FRACTION THREE QUARTERS
+        0x00ba: 0x005b, # LEFT SQUARE BRACKET
+        0x00bb: 0x005d, # RIGHT SQUARE BRACKET
+        0x00bc: 0x00af, # MACRON
+        0x00bd: 0x00a8, # DIAERESIS
+        0x00be: 0x00b4, # ACUTE ACCENT
+        0x00bf: 0x00d7, # MULTIPLICATION SIGN
+        0x00c0: 0x007b, # LEFT CURLY BRACKET
+        0x00c1: 0x0041, # LATIN CAPITAL LETTER A
+        0x00c2: 0x0042, # LATIN CAPITAL LETTER B
+        0x00c3: 0x0043, # LATIN CAPITAL LETTER C
+        0x00c4: 0x0044, # LATIN CAPITAL LETTER D
+        0x00c5: 0x0045, # LATIN CAPITAL LETTER E
+        0x00c6: 0x0046, # LATIN CAPITAL LETTER F
+        0x00c7: 0x0047, # LATIN CAPITAL LETTER G
+        0x00c8: 0x0048, # LATIN CAPITAL LETTER H
+        0x00c9: 0x0049, # LATIN CAPITAL LETTER I
+        0x00ca: 0x00ad, # SOFT HYPHEN
+        0x00cb: None,   # UNDEFINED
+        0x00cc: None,   # UNDEFINED
+        0x00cd: None,   # UNDEFINED
+        0x00ce: None,   # UNDEFINED
+        0x00cf: None,   # UNDEFINED
+        0x00d0: 0x007d, # RIGHT CURLY BRACKET
+        0x00d1: 0x004a, # LATIN CAPITAL LETTER J
+        0x00d2: 0x004b, # LATIN CAPITAL LETTER K
+        0x00d3: 0x004c, # LATIN CAPITAL LETTER L
+        0x00d4: 0x004d, # LATIN CAPITAL LETTER M
+        0x00d5: 0x004e, # LATIN CAPITAL LETTER N
+        0x00d6: 0x004f, # LATIN CAPITAL LETTER O
+        0x00d7: 0x0050, # LATIN CAPITAL LETTER P
+        0x00d8: 0x0051, # LATIN CAPITAL LETTER Q
+        0x00d9: 0x0052, # LATIN CAPITAL LETTER R
+        0x00da: 0x00b9, # SUPERSCRIPT ONE
+        0x00db: None,   # UNDEFINED
+        0x00dc: None,   # UNDEFINED
+        0x00dd: None,   # UNDEFINED
+        0x00de: None,   # UNDEFINED
+        0x00df: None,   # UNDEFINED
+        0x00e0: 0x005c, # REVERSE SOLIDUS
+        0x00e1: 0x00f7, # DIVISION SIGN
+        0x00e2: 0x0053, # LATIN CAPITAL LETTER S
+        0x00e3: 0x0054, # LATIN CAPITAL LETTER T
+        0x00e4: 0x0055, # LATIN CAPITAL LETTER U
+        0x00e5: 0x0056, # LATIN CAPITAL LETTER V
+        0x00e6: 0x0057, # LATIN CAPITAL LETTER W
+        0x00e7: 0x0058, # LATIN CAPITAL LETTER X
+        0x00e8: 0x0059, # LATIN CAPITAL LETTER Y
+        0x00e9: 0x005a, # LATIN CAPITAL LETTER Z
+        0x00ea: 0x00b2, # SUPERSCRIPT TWO
+        0x00eb: None,   # UNDEFINED
+        0x00ec: None,   # UNDEFINED
+        0x00ed: None,   # UNDEFINED
+        0x00ee: None,   # UNDEFINED
+        0x00ef: None,   # UNDEFINED
+        0x00f0: 0x0030, # DIGIT ZERO
+        0x00f1: 0x0031, # DIGIT ONE
+        0x00f2: 0x0032, # DIGIT TWO
+        0x00f3: 0x0033, # DIGIT THREE
+        0x00f4: 0x0034, # DIGIT FOUR
+        0x00f5: 0x0035, # DIGIT FIVE
+        0x00f6: 0x0036, # DIGIT SIX
+        0x00f7: 0x0037, # DIGIT SEVEN
+        0x00f8: 0x0038, # DIGIT EIGHT
+        0x00f9: 0x0039, # DIGIT NINE
+        0x00fa: 0x00b3, # SUPERSCRIPT THREE
+        0x00fb: None,   # UNDEFINED
+        0x00fc: None,   # UNDEFINED
+        0x00fd: None,   # UNDEFINED
+        0x00fe: None,   # UNDEFINED
+        0x00ff: 0x009f, # EIGHT ONES
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp437.py b/Lib/encodings/cp437.py
index a55e424..bfe218f 100644
--- a/Lib/encodings/cp437.py
+++ b/Lib/encodings/cp437.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0081: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x0082: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x0083: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x0084: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x0085: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0086: 0x00e5,	# LATIN SMALL LETTER A WITH RING ABOVE
-	0x0087: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x0088: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0089: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x008a: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x008b: 0x00ef,	# LATIN SMALL LETTER I WITH DIAERESIS
-	0x008c: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x008d: 0x00ec,	# LATIN SMALL LETTER I WITH GRAVE
-	0x008e: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x008f: 0x00c5,	# LATIN CAPITAL LETTER A WITH RING ABOVE
-	0x0090: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0091: 0x00e6,	# LATIN SMALL LIGATURE AE
-	0x0092: 0x00c6,	# LATIN CAPITAL LIGATURE AE
-	0x0093: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x0094: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x0095: 0x00f2,	# LATIN SMALL LETTER O WITH GRAVE
-	0x0096: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x0097: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x0098: 0x00ff,	# LATIN SMALL LETTER Y WITH DIAERESIS
-	0x0099: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x009a: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x009b: 0x00a2,	# CENT SIGN
-	0x009c: 0x00a3,	# POUND SIGN
-	0x009d: 0x00a5,	# YEN SIGN
-	0x009e: 0x20a7,	# PESETA SIGN
-	0x009f: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x00a0: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x00a1: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x00a2: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00a3: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x00a4: 0x00f1,	# LATIN SMALL LETTER N WITH TILDE
-	0x00a5: 0x00d1,	# LATIN CAPITAL LETTER N WITH TILDE
-	0x00a6: 0x00aa,	# FEMININE ORDINAL INDICATOR
-	0x00a7: 0x00ba,	# MASCULINE ORDINAL INDICATOR
-	0x00a8: 0x00bf,	# INVERTED QUESTION MARK
-	0x00a9: 0x2310,	# REVERSED NOT SIGN
-	0x00aa: 0x00ac,	# NOT SIGN
-	0x00ab: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00ac: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00ad: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x2561,	# BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-	0x00b6: 0x2562,	# BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-	0x00b7: 0x2556,	# BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-	0x00b8: 0x2555,	# BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x255c,	# BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-	0x00be: 0x255b,	# BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x255e,	# BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-	0x00c7: 0x255f,	# BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x2567,	# BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-	0x00d0: 0x2568,	# BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-	0x00d1: 0x2564,	# BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-	0x00d2: 0x2565,	# BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-	0x00d3: 0x2559,	# BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-	0x00d4: 0x2558,	# BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-	0x00d5: 0x2552,	# BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-	0x00d6: 0x2553,	# BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-	0x00d7: 0x256b,	# BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-	0x00d8: 0x256a,	# BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x258c,	# LEFT HALF BLOCK
-	0x00de: 0x2590,	# RIGHT HALF BLOCK
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x03b1,	# GREEK SMALL LETTER ALPHA
-	0x00e1: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00e2: 0x0393,	# GREEK CAPITAL LETTER GAMMA
-	0x00e3: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00e4: 0x03a3,	# GREEK CAPITAL LETTER SIGMA
-	0x00e5: 0x03c3,	# GREEK SMALL LETTER SIGMA
-	0x00e6: 0x00b5,	# MICRO SIGN
-	0x00e7: 0x03c4,	# GREEK SMALL LETTER TAU
-	0x00e8: 0x03a6,	# GREEK CAPITAL LETTER PHI
-	0x00e9: 0x0398,	# GREEK CAPITAL LETTER THETA
-	0x00ea: 0x03a9,	# GREEK CAPITAL LETTER OMEGA
-	0x00eb: 0x03b4,	# GREEK SMALL LETTER DELTA
-	0x00ec: 0x221e,	# INFINITY
-	0x00ed: 0x03c6,	# GREEK SMALL LETTER PHI
-	0x00ee: 0x03b5,	# GREEK SMALL LETTER EPSILON
-	0x00ef: 0x2229,	# INTERSECTION
-	0x00f0: 0x2261,	# IDENTICAL TO
-	0x00f1: 0x00b1,	# PLUS-MINUS SIGN
-	0x00f2: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00f3: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00f4: 0x2320,	# TOP HALF INTEGRAL
-	0x00f5: 0x2321,	# BOTTOM HALF INTEGRAL
-	0x00f6: 0x00f7,	# DIVISION SIGN
-	0x00f7: 0x2248,	# ALMOST EQUAL TO
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x2219,	# BULLET OPERATOR
-	0x00fa: 0x00b7,	# MIDDLE DOT
-	0x00fb: 0x221a,	# SQUARE ROOT
-	0x00fc: 0x207f,	# SUPERSCRIPT LATIN SMALL LETTER N
-	0x00fd: 0x00b2,	# SUPERSCRIPT TWO
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+        0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+        0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x008d: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+        0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+        0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
+        0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
+        0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+        0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x0098: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+        0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x009b: 0x00a2, # CENT SIGN
+        0x009c: 0x00a3, # POUND SIGN
+        0x009d: 0x00a5, # YEN SIGN
+        0x009e: 0x20a7, # PESETA SIGN
+        0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+        0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+        0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
+        0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
+        0x00a8: 0x00bf, # INVERTED QUESTION MARK
+        0x00a9: 0x2310, # REVERSED NOT SIGN
+        0x00aa: 0x00ac, # NOT SIGN
+        0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+        0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+        0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+        0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+        0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+        0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+        0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+        0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+        0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+        0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+        0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+        0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+        0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+        0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+        0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x258c, # LEFT HALF BLOCK
+        0x00de: 0x2590, # RIGHT HALF BLOCK
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
+        0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
+        0x00e3: 0x03c0, # GREEK SMALL LETTER PI
+        0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+        0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
+        0x00e6: 0x00b5, # MICRO SIGN
+        0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
+        0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
+        0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
+        0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+        0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
+        0x00ec: 0x221e, # INFINITY
+        0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
+        0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
+        0x00ef: 0x2229, # INTERSECTION
+        0x00f0: 0x2261, # IDENTICAL TO
+        0x00f1: 0x00b1, # PLUS-MINUS SIGN
+        0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00f4: 0x2320, # TOP HALF INTEGRAL
+        0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
+        0x00f6: 0x00f7, # DIVISION SIGN
+        0x00f7: 0x2248, # ALMOST EQUAL TO
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x2219, # BULLET OPERATOR
+        0x00fa: 0x00b7, # MIDDLE DOT
+        0x00fb: 0x221a, # SQUARE ROOT
+        0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+        0x00fd: 0x00b2, # SUPERSCRIPT TWO
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp500.py b/Lib/encodings/cp500.py
index bc1acde..bc3474f 100644
--- a/Lib/encodings/cp500.py
+++ b/Lib/encodings/cp500.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,242 +37,242 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0004: 0x009c,	# CONTROL
-	0x0005: 0x0009,	# HORIZONTAL TABULATION
-	0x0006: 0x0086,	# CONTROL
-	0x0007: 0x007f,	# DELETE
-	0x0008: 0x0097,	# CONTROL
-	0x0009: 0x008d,	# CONTROL
-	0x000a: 0x008e,	# CONTROL
-	0x0014: 0x009d,	# CONTROL
-	0x0015: 0x0085,	# CONTROL
-	0x0016: 0x0008,	# BACKSPACE
-	0x0017: 0x0087,	# CONTROL
-	0x001a: 0x0092,	# CONTROL
-	0x001b: 0x008f,	# CONTROL
-	0x0020: 0x0080,	# CONTROL
-	0x0021: 0x0081,	# CONTROL
-	0x0022: 0x0082,	# CONTROL
-	0x0023: 0x0083,	# CONTROL
-	0x0024: 0x0084,	# CONTROL
-	0x0025: 0x000a,	# LINE FEED
-	0x0026: 0x0017,	# END OF TRANSMISSION BLOCK
-	0x0027: 0x001b,	# ESCAPE
-	0x0028: 0x0088,	# CONTROL
-	0x0029: 0x0089,	# CONTROL
-	0x002a: 0x008a,	# CONTROL
-	0x002b: 0x008b,	# CONTROL
-	0x002c: 0x008c,	# CONTROL
-	0x002d: 0x0005,	# ENQUIRY
-	0x002e: 0x0006,	# ACKNOWLEDGE
-	0x002f: 0x0007,	# BELL
-	0x0030: 0x0090,	# CONTROL
-	0x0031: 0x0091,	# CONTROL
-	0x0032: 0x0016,	# SYNCHRONOUS IDLE
-	0x0033: 0x0093,	# CONTROL
-	0x0034: 0x0094,	# CONTROL
-	0x0035: 0x0095,	# CONTROL
-	0x0036: 0x0096,	# CONTROL
-	0x0037: 0x0004,	# END OF TRANSMISSION
-	0x0038: 0x0098,	# CONTROL
-	0x0039: 0x0099,	# CONTROL
-	0x003a: 0x009a,	# CONTROL
-	0x003b: 0x009b,	# CONTROL
-	0x003c: 0x0014,	# DEVICE CONTROL FOUR
-	0x003d: 0x0015,	# NEGATIVE ACKNOWLEDGE
-	0x003e: 0x009e,	# CONTROL
-	0x003f: 0x001a,	# SUBSTITUTE
-	0x0040: 0x0020,	# SPACE
-	0x0041: 0x00a0,	# NO-BREAK SPACE
-	0x0042: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x0043: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x0044: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0045: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x0046: 0x00e3,	# LATIN SMALL LETTER A WITH TILDE
-	0x0047: 0x00e5,	# LATIN SMALL LETTER A WITH RING ABOVE
-	0x0048: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x0049: 0x00f1,	# LATIN SMALL LETTER N WITH TILDE
-	0x004a: 0x005b,	# LEFT SQUARE BRACKET
-	0x004b: 0x002e,	# FULL STOP
-	0x004c: 0x003c,	# LESS-THAN SIGN
-	0x004d: 0x0028,	# LEFT PARENTHESIS
-	0x004e: 0x002b,	# PLUS SIGN
-	0x004f: 0x0021,	# EXCLAMATION MARK
-	0x0050: 0x0026,	# AMPERSAND
-	0x0051: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x0052: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0053: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x0054: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x0055: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x0056: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x0057: 0x00ef,	# LATIN SMALL LETTER I WITH DIAERESIS
-	0x0058: 0x00ec,	# LATIN SMALL LETTER I WITH GRAVE
-	0x0059: 0x00df,	# LATIN SMALL LETTER SHARP S (GERMAN)
-	0x005a: 0x005d,	# RIGHT SQUARE BRACKET
-	0x005b: 0x0024,	# DOLLAR SIGN
-	0x005c: 0x002a,	# ASTERISK
-	0x005d: 0x0029,	# RIGHT PARENTHESIS
-	0x005e: 0x003b,	# SEMICOLON
-	0x005f: 0x005e,	# CIRCUMFLEX ACCENT
-	0x0060: 0x002d,	# HYPHEN-MINUS
-	0x0061: 0x002f,	# SOLIDUS
-	0x0062: 0x00c2,	# LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-	0x0063: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x0064: 0x00c0,	# LATIN CAPITAL LETTER A WITH GRAVE
-	0x0065: 0x00c1,	# LATIN CAPITAL LETTER A WITH ACUTE
-	0x0066: 0x00c3,	# LATIN CAPITAL LETTER A WITH TILDE
-	0x0067: 0x00c5,	# LATIN CAPITAL LETTER A WITH RING ABOVE
-	0x0068: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0069: 0x00d1,	# LATIN CAPITAL LETTER N WITH TILDE
-	0x006a: 0x00a6,	# BROKEN BAR
-	0x006b: 0x002c,	# COMMA
-	0x006c: 0x0025,	# PERCENT SIGN
-	0x006d: 0x005f,	# LOW LINE
-	0x006e: 0x003e,	# GREATER-THAN SIGN
-	0x006f: 0x003f,	# QUESTION MARK
-	0x0070: 0x00f8,	# LATIN SMALL LETTER O WITH STROKE
-	0x0071: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0072: 0x00ca,	# LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-	0x0073: 0x00cb,	# LATIN CAPITAL LETTER E WITH DIAERESIS
-	0x0074: 0x00c8,	# LATIN CAPITAL LETTER E WITH GRAVE
-	0x0075: 0x00cd,	# LATIN CAPITAL LETTER I WITH ACUTE
-	0x0076: 0x00ce,	# LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-	0x0077: 0x00cf,	# LATIN CAPITAL LETTER I WITH DIAERESIS
-	0x0078: 0x00cc,	# LATIN CAPITAL LETTER I WITH GRAVE
-	0x0079: 0x0060,	# GRAVE ACCENT
-	0x007a: 0x003a,	# COLON
-	0x007b: 0x0023,	# NUMBER SIGN
-	0x007c: 0x0040,	# COMMERCIAL AT
-	0x007d: 0x0027,	# APOSTROPHE
-	0x007e: 0x003d,	# EQUALS SIGN
-	0x007f: 0x0022,	# QUOTATION MARK
-	0x0080: 0x00d8,	# LATIN CAPITAL LETTER O WITH STROKE
-	0x0081: 0x0061,	# LATIN SMALL LETTER A
-	0x0082: 0x0062,	# LATIN SMALL LETTER B
-	0x0083: 0x0063,	# LATIN SMALL LETTER C
-	0x0084: 0x0064,	# LATIN SMALL LETTER D
-	0x0085: 0x0065,	# LATIN SMALL LETTER E
-	0x0086: 0x0066,	# LATIN SMALL LETTER F
-	0x0087: 0x0067,	# LATIN SMALL LETTER G
-	0x0088: 0x0068,	# LATIN SMALL LETTER H
-	0x0089: 0x0069,	# LATIN SMALL LETTER I
-	0x008a: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x008b: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x008c: 0x00f0,	# LATIN SMALL LETTER ETH (ICELANDIC)
-	0x008d: 0x00fd,	# LATIN SMALL LETTER Y WITH ACUTE
-	0x008e: 0x00fe,	# LATIN SMALL LETTER THORN (ICELANDIC)
-	0x008f: 0x00b1,	# PLUS-MINUS SIGN
-	0x0090: 0x00b0,	# DEGREE SIGN
-	0x0091: 0x006a,	# LATIN SMALL LETTER J
-	0x0092: 0x006b,	# LATIN SMALL LETTER K
-	0x0093: 0x006c,	# LATIN SMALL LETTER L
-	0x0094: 0x006d,	# LATIN SMALL LETTER M
-	0x0095: 0x006e,	# LATIN SMALL LETTER N
-	0x0096: 0x006f,	# LATIN SMALL LETTER O
-	0x0097: 0x0070,	# LATIN SMALL LETTER P
-	0x0098: 0x0071,	# LATIN SMALL LETTER Q
-	0x0099: 0x0072,	# LATIN SMALL LETTER R
-	0x009a: 0x00aa,	# FEMININE ORDINAL INDICATOR
-	0x009b: 0x00ba,	# MASCULINE ORDINAL INDICATOR
-	0x009c: 0x00e6,	# LATIN SMALL LIGATURE AE
-	0x009d: 0x00b8,	# CEDILLA
-	0x009e: 0x00c6,	# LATIN CAPITAL LIGATURE AE
-	0x009f: 0x00a4,	# CURRENCY SIGN
-	0x00a0: 0x00b5,	# MICRO SIGN
-	0x00a1: 0x007e,	# TILDE
-	0x00a2: 0x0073,	# LATIN SMALL LETTER S
-	0x00a3: 0x0074,	# LATIN SMALL LETTER T
-	0x00a4: 0x0075,	# LATIN SMALL LETTER U
-	0x00a5: 0x0076,	# LATIN SMALL LETTER V
-	0x00a6: 0x0077,	# LATIN SMALL LETTER W
-	0x00a7: 0x0078,	# LATIN SMALL LETTER X
-	0x00a8: 0x0079,	# LATIN SMALL LETTER Y
-	0x00a9: 0x007a,	# LATIN SMALL LETTER Z
-	0x00aa: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00ab: 0x00bf,	# INVERTED QUESTION MARK
-	0x00ac: 0x00d0,	# LATIN CAPITAL LETTER ETH (ICELANDIC)
-	0x00ad: 0x00dd,	# LATIN CAPITAL LETTER Y WITH ACUTE
-	0x00ae: 0x00de,	# LATIN CAPITAL LETTER THORN (ICELANDIC)
-	0x00af: 0x00ae,	# REGISTERED SIGN
-	0x00b0: 0x00a2,	# CENT SIGN
-	0x00b1: 0x00a3,	# POUND SIGN
-	0x00b2: 0x00a5,	# YEN SIGN
-	0x00b3: 0x00b7,	# MIDDLE DOT
-	0x00b4: 0x00a9,	# COPYRIGHT SIGN
-	0x00b5: 0x00a7,	# SECTION SIGN
-	0x00b7: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00b8: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00b9: 0x00be,	# VULGAR FRACTION THREE QUARTERS
-	0x00ba: 0x00ac,	# NOT SIGN
-	0x00bb: 0x007c,	# VERTICAL LINE
-	0x00bc: 0x00af,	# MACRON
-	0x00bd: 0x00a8,	# DIAERESIS
-	0x00be: 0x00b4,	# ACUTE ACCENT
-	0x00bf: 0x00d7,	# MULTIPLICATION SIGN
-	0x00c0: 0x007b,	# LEFT CURLY BRACKET
-	0x00c1: 0x0041,	# LATIN CAPITAL LETTER A
-	0x00c2: 0x0042,	# LATIN CAPITAL LETTER B
-	0x00c3: 0x0043,	# LATIN CAPITAL LETTER C
-	0x00c4: 0x0044,	# LATIN CAPITAL LETTER D
-	0x00c5: 0x0045,	# LATIN CAPITAL LETTER E
-	0x00c6: 0x0046,	# LATIN CAPITAL LETTER F
-	0x00c7: 0x0047,	# LATIN CAPITAL LETTER G
-	0x00c8: 0x0048,	# LATIN CAPITAL LETTER H
-	0x00c9: 0x0049,	# LATIN CAPITAL LETTER I
-	0x00ca: 0x00ad,	# SOFT HYPHEN
-	0x00cb: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x00cc: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x00cd: 0x00f2,	# LATIN SMALL LETTER O WITH GRAVE
-	0x00ce: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00cf: 0x00f5,	# LATIN SMALL LETTER O WITH TILDE
-	0x00d0: 0x007d,	# RIGHT CURLY BRACKET
-	0x00d1: 0x004a,	# LATIN CAPITAL LETTER J
-	0x00d2: 0x004b,	# LATIN CAPITAL LETTER K
-	0x00d3: 0x004c,	# LATIN CAPITAL LETTER L
-	0x00d4: 0x004d,	# LATIN CAPITAL LETTER M
-	0x00d5: 0x004e,	# LATIN CAPITAL LETTER N
-	0x00d6: 0x004f,	# LATIN CAPITAL LETTER O
-	0x00d7: 0x0050,	# LATIN CAPITAL LETTER P
-	0x00d8: 0x0051,	# LATIN CAPITAL LETTER Q
-	0x00d9: 0x0052,	# LATIN CAPITAL LETTER R
-	0x00da: 0x00b9,	# SUPERSCRIPT ONE
-	0x00db: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x00dc: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x00dd: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x00de: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x00df: 0x00ff,	# LATIN SMALL LETTER Y WITH DIAERESIS
-	0x00e0: 0x005c,	# REVERSE SOLIDUS
-	0x00e1: 0x00f7,	# DIVISION SIGN
-	0x00e2: 0x0053,	# LATIN CAPITAL LETTER S
-	0x00e3: 0x0054,	# LATIN CAPITAL LETTER T
-	0x00e4: 0x0055,	# LATIN CAPITAL LETTER U
-	0x00e5: 0x0056,	# LATIN CAPITAL LETTER V
-	0x00e6: 0x0057,	# LATIN CAPITAL LETTER W
-	0x00e7: 0x0058,	# LATIN CAPITAL LETTER X
-	0x00e8: 0x0059,	# LATIN CAPITAL LETTER Y
-	0x00e9: 0x005a,	# LATIN CAPITAL LETTER Z
-	0x00ea: 0x00b2,	# SUPERSCRIPT TWO
-	0x00eb: 0x00d4,	# LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-	0x00ec: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x00ed: 0x00d2,	# LATIN CAPITAL LETTER O WITH GRAVE
-	0x00ee: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00ef: 0x00d5,	# LATIN CAPITAL LETTER O WITH TILDE
-	0x00f0: 0x0030,	# DIGIT ZERO
-	0x00f1: 0x0031,	# DIGIT ONE
-	0x00f2: 0x0032,	# DIGIT TWO
-	0x00f3: 0x0033,	# DIGIT THREE
-	0x00f4: 0x0034,	# DIGIT FOUR
-	0x00f5: 0x0035,	# DIGIT FIVE
-	0x00f6: 0x0036,	# DIGIT SIX
-	0x00f7: 0x0037,	# DIGIT SEVEN
-	0x00f8: 0x0038,	# DIGIT EIGHT
-	0x00f9: 0x0039,	# DIGIT NINE
-	0x00fa: 0x00b3,	# SUPERSCRIPT THREE
-	0x00fb: 0x00db,	# LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-	0x00fc: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x00fd: 0x00d9,	# LATIN CAPITAL LETTER U WITH GRAVE
-	0x00fe: 0x00da,	# LATIN CAPITAL LETTER U WITH ACUTE
-	0x00ff: 0x009f,	# CONTROL
+        0x0004: 0x009c, # CONTROL
+        0x0005: 0x0009, # HORIZONTAL TABULATION
+        0x0006: 0x0086, # CONTROL
+        0x0007: 0x007f, # DELETE
+        0x0008: 0x0097, # CONTROL
+        0x0009: 0x008d, # CONTROL
+        0x000a: 0x008e, # CONTROL
+        0x0014: 0x009d, # CONTROL
+        0x0015: 0x0085, # CONTROL
+        0x0016: 0x0008, # BACKSPACE
+        0x0017: 0x0087, # CONTROL
+        0x001a: 0x0092, # CONTROL
+        0x001b: 0x008f, # CONTROL
+        0x0020: 0x0080, # CONTROL
+        0x0021: 0x0081, # CONTROL
+        0x0022: 0x0082, # CONTROL
+        0x0023: 0x0083, # CONTROL
+        0x0024: 0x0084, # CONTROL
+        0x0025: 0x000a, # LINE FEED
+        0x0026: 0x0017, # END OF TRANSMISSION BLOCK
+        0x0027: 0x001b, # ESCAPE
+        0x0028: 0x0088, # CONTROL
+        0x0029: 0x0089, # CONTROL
+        0x002a: 0x008a, # CONTROL
+        0x002b: 0x008b, # CONTROL
+        0x002c: 0x008c, # CONTROL
+        0x002d: 0x0005, # ENQUIRY
+        0x002e: 0x0006, # ACKNOWLEDGE
+        0x002f: 0x0007, # BELL
+        0x0030: 0x0090, # CONTROL
+        0x0031: 0x0091, # CONTROL
+        0x0032: 0x0016, # SYNCHRONOUS IDLE
+        0x0033: 0x0093, # CONTROL
+        0x0034: 0x0094, # CONTROL
+        0x0035: 0x0095, # CONTROL
+        0x0036: 0x0096, # CONTROL
+        0x0037: 0x0004, # END OF TRANSMISSION
+        0x0038: 0x0098, # CONTROL
+        0x0039: 0x0099, # CONTROL
+        0x003a: 0x009a, # CONTROL
+        0x003b: 0x009b, # CONTROL
+        0x003c: 0x0014, # DEVICE CONTROL FOUR
+        0x003d: 0x0015, # NEGATIVE ACKNOWLEDGE
+        0x003e: 0x009e, # CONTROL
+        0x003f: 0x001a, # SUBSTITUTE
+        0x0040: 0x0020, # SPACE
+        0x0041: 0x00a0, # NO-BREAK SPACE
+        0x0042: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x0043: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x0044: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0045: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x0046: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
+        0x0047: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+        0x0048: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x0049: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+        0x004a: 0x005b, # LEFT SQUARE BRACKET
+        0x004b: 0x002e, # FULL STOP
+        0x004c: 0x003c, # LESS-THAN SIGN
+        0x004d: 0x0028, # LEFT PARENTHESIS
+        0x004e: 0x002b, # PLUS SIGN
+        0x004f: 0x0021, # EXCLAMATION MARK
+        0x0050: 0x0026, # AMPERSAND
+        0x0051: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x0052: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0053: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x0054: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x0055: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x0056: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x0057: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+        0x0058: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+        0x0059: 0x00df, # LATIN SMALL LETTER SHARP S (GERMAN)
+        0x005a: 0x005d, # RIGHT SQUARE BRACKET
+        0x005b: 0x0024, # DOLLAR SIGN
+        0x005c: 0x002a, # ASTERISK
+        0x005d: 0x0029, # RIGHT PARENTHESIS
+        0x005e: 0x003b, # SEMICOLON
+        0x005f: 0x005e, # CIRCUMFLEX ACCENT
+        0x0060: 0x002d, # HYPHEN-MINUS
+        0x0061: 0x002f, # SOLIDUS
+        0x0062: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+        0x0063: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x0064: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+        0x0065: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+        0x0066: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
+        0x0067: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+        0x0068: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0069: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+        0x006a: 0x00a6, # BROKEN BAR
+        0x006b: 0x002c, # COMMA
+        0x006c: 0x0025, # PERCENT SIGN
+        0x006d: 0x005f, # LOW LINE
+        0x006e: 0x003e, # GREATER-THAN SIGN
+        0x006f: 0x003f, # QUESTION MARK
+        0x0070: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+        0x0071: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0072: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+        0x0073: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+        0x0074: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+        0x0075: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+        0x0076: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+        0x0077: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
+        0x0078: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
+        0x0079: 0x0060, # GRAVE ACCENT
+        0x007a: 0x003a, # COLON
+        0x007b: 0x0023, # NUMBER SIGN
+        0x007c: 0x0040, # COMMERCIAL AT
+        0x007d: 0x0027, # APOSTROPHE
+        0x007e: 0x003d, # EQUALS SIGN
+        0x007f: 0x0022, # QUOTATION MARK
+        0x0080: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+        0x0081: 0x0061, # LATIN SMALL LETTER A
+        0x0082: 0x0062, # LATIN SMALL LETTER B
+        0x0083: 0x0063, # LATIN SMALL LETTER C
+        0x0084: 0x0064, # LATIN SMALL LETTER D
+        0x0085: 0x0065, # LATIN SMALL LETTER E
+        0x0086: 0x0066, # LATIN SMALL LETTER F
+        0x0087: 0x0067, # LATIN SMALL LETTER G
+        0x0088: 0x0068, # LATIN SMALL LETTER H
+        0x0089: 0x0069, # LATIN SMALL LETTER I
+        0x008a: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x008b: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x008c: 0x00f0, # LATIN SMALL LETTER ETH (ICELANDIC)
+        0x008d: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
+        0x008e: 0x00fe, # LATIN SMALL LETTER THORN (ICELANDIC)
+        0x008f: 0x00b1, # PLUS-MINUS SIGN
+        0x0090: 0x00b0, # DEGREE SIGN
+        0x0091: 0x006a, # LATIN SMALL LETTER J
+        0x0092: 0x006b, # LATIN SMALL LETTER K
+        0x0093: 0x006c, # LATIN SMALL LETTER L
+        0x0094: 0x006d, # LATIN SMALL LETTER M
+        0x0095: 0x006e, # LATIN SMALL LETTER N
+        0x0096: 0x006f, # LATIN SMALL LETTER O
+        0x0097: 0x0070, # LATIN SMALL LETTER P
+        0x0098: 0x0071, # LATIN SMALL LETTER Q
+        0x0099: 0x0072, # LATIN SMALL LETTER R
+        0x009a: 0x00aa, # FEMININE ORDINAL INDICATOR
+        0x009b: 0x00ba, # MASCULINE ORDINAL INDICATOR
+        0x009c: 0x00e6, # LATIN SMALL LIGATURE AE
+        0x009d: 0x00b8, # CEDILLA
+        0x009e: 0x00c6, # LATIN CAPITAL LIGATURE AE
+        0x009f: 0x00a4, # CURRENCY SIGN
+        0x00a0: 0x00b5, # MICRO SIGN
+        0x00a1: 0x007e, # TILDE
+        0x00a2: 0x0073, # LATIN SMALL LETTER S
+        0x00a3: 0x0074, # LATIN SMALL LETTER T
+        0x00a4: 0x0075, # LATIN SMALL LETTER U
+        0x00a5: 0x0076, # LATIN SMALL LETTER V
+        0x00a6: 0x0077, # LATIN SMALL LETTER W
+        0x00a7: 0x0078, # LATIN SMALL LETTER X
+        0x00a8: 0x0079, # LATIN SMALL LETTER Y
+        0x00a9: 0x007a, # LATIN SMALL LETTER Z
+        0x00aa: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00ab: 0x00bf, # INVERTED QUESTION MARK
+        0x00ac: 0x00d0, # LATIN CAPITAL LETTER ETH (ICELANDIC)
+        0x00ad: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
+        0x00ae: 0x00de, # LATIN CAPITAL LETTER THORN (ICELANDIC)
+        0x00af: 0x00ae, # REGISTERED SIGN
+        0x00b0: 0x00a2, # CENT SIGN
+        0x00b1: 0x00a3, # POUND SIGN
+        0x00b2: 0x00a5, # YEN SIGN
+        0x00b3: 0x00b7, # MIDDLE DOT
+        0x00b4: 0x00a9, # COPYRIGHT SIGN
+        0x00b5: 0x00a7, # SECTION SIGN
+        0x00b7: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00b8: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00b9: 0x00be, # VULGAR FRACTION THREE QUARTERS
+        0x00ba: 0x00ac, # NOT SIGN
+        0x00bb: 0x007c, # VERTICAL LINE
+        0x00bc: 0x00af, # MACRON
+        0x00bd: 0x00a8, # DIAERESIS
+        0x00be: 0x00b4, # ACUTE ACCENT
+        0x00bf: 0x00d7, # MULTIPLICATION SIGN
+        0x00c0: 0x007b, # LEFT CURLY BRACKET
+        0x00c1: 0x0041, # LATIN CAPITAL LETTER A
+        0x00c2: 0x0042, # LATIN CAPITAL LETTER B
+        0x00c3: 0x0043, # LATIN CAPITAL LETTER C
+        0x00c4: 0x0044, # LATIN CAPITAL LETTER D
+        0x00c5: 0x0045, # LATIN CAPITAL LETTER E
+        0x00c6: 0x0046, # LATIN CAPITAL LETTER F
+        0x00c7: 0x0047, # LATIN CAPITAL LETTER G
+        0x00c8: 0x0048, # LATIN CAPITAL LETTER H
+        0x00c9: 0x0049, # LATIN CAPITAL LETTER I
+        0x00ca: 0x00ad, # SOFT HYPHEN
+        0x00cb: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x00cc: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x00cd: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+        0x00ce: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00cf: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+        0x00d0: 0x007d, # RIGHT CURLY BRACKET
+        0x00d1: 0x004a, # LATIN CAPITAL LETTER J
+        0x00d2: 0x004b, # LATIN CAPITAL LETTER K
+        0x00d3: 0x004c, # LATIN CAPITAL LETTER L
+        0x00d4: 0x004d, # LATIN CAPITAL LETTER M
+        0x00d5: 0x004e, # LATIN CAPITAL LETTER N
+        0x00d6: 0x004f, # LATIN CAPITAL LETTER O
+        0x00d7: 0x0050, # LATIN CAPITAL LETTER P
+        0x00d8: 0x0051, # LATIN CAPITAL LETTER Q
+        0x00d9: 0x0052, # LATIN CAPITAL LETTER R
+        0x00da: 0x00b9, # SUPERSCRIPT ONE
+        0x00db: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x00dc: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x00dd: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x00de: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x00df: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+        0x00e0: 0x005c, # REVERSE SOLIDUS
+        0x00e1: 0x00f7, # DIVISION SIGN
+        0x00e2: 0x0053, # LATIN CAPITAL LETTER S
+        0x00e3: 0x0054, # LATIN CAPITAL LETTER T
+        0x00e4: 0x0055, # LATIN CAPITAL LETTER U
+        0x00e5: 0x0056, # LATIN CAPITAL LETTER V
+        0x00e6: 0x0057, # LATIN CAPITAL LETTER W
+        0x00e7: 0x0058, # LATIN CAPITAL LETTER X
+        0x00e8: 0x0059, # LATIN CAPITAL LETTER Y
+        0x00e9: 0x005a, # LATIN CAPITAL LETTER Z
+        0x00ea: 0x00b2, # SUPERSCRIPT TWO
+        0x00eb: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+        0x00ec: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x00ed: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
+        0x00ee: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00ef: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+        0x00f0: 0x0030, # DIGIT ZERO
+        0x00f1: 0x0031, # DIGIT ONE
+        0x00f2: 0x0032, # DIGIT TWO
+        0x00f3: 0x0033, # DIGIT THREE
+        0x00f4: 0x0034, # DIGIT FOUR
+        0x00f5: 0x0035, # DIGIT FIVE
+        0x00f6: 0x0036, # DIGIT SIX
+        0x00f7: 0x0037, # DIGIT SEVEN
+        0x00f8: 0x0038, # DIGIT EIGHT
+        0x00f9: 0x0039, # DIGIT NINE
+        0x00fa: 0x00b3, # SUPERSCRIPT THREE
+        0x00fb: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+        0x00fc: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x00fd: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+        0x00fe: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+        0x00ff: 0x009f, # CONTROL
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp737.py b/Lib/encodings/cp737.py
index 6174d85..a4729b1 100644
--- a/Lib/encodings/cp737.py
+++ b/Lib/encodings/cp737.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x0391,	# GREEK CAPITAL LETTER ALPHA
-	0x0081: 0x0392,	# GREEK CAPITAL LETTER BETA
-	0x0082: 0x0393,	# GREEK CAPITAL LETTER GAMMA
-	0x0083: 0x0394,	# GREEK CAPITAL LETTER DELTA
-	0x0084: 0x0395,	# GREEK CAPITAL LETTER EPSILON
-	0x0085: 0x0396,	# GREEK CAPITAL LETTER ZETA
-	0x0086: 0x0397,	# GREEK CAPITAL LETTER ETA
-	0x0087: 0x0398,	# GREEK CAPITAL LETTER THETA
-	0x0088: 0x0399,	# GREEK CAPITAL LETTER IOTA
-	0x0089: 0x039a,	# GREEK CAPITAL LETTER KAPPA
-	0x008a: 0x039b,	# GREEK CAPITAL LETTER LAMDA
-	0x008b: 0x039c,	# GREEK CAPITAL LETTER MU
-	0x008c: 0x039d,	# GREEK CAPITAL LETTER NU
-	0x008d: 0x039e,	# GREEK CAPITAL LETTER XI
-	0x008e: 0x039f,	# GREEK CAPITAL LETTER OMICRON
-	0x008f: 0x03a0,	# GREEK CAPITAL LETTER PI
-	0x0090: 0x03a1,	# GREEK CAPITAL LETTER RHO
-	0x0091: 0x03a3,	# GREEK CAPITAL LETTER SIGMA
-	0x0092: 0x03a4,	# GREEK CAPITAL LETTER TAU
-	0x0093: 0x03a5,	# GREEK CAPITAL LETTER UPSILON
-	0x0094: 0x03a6,	# GREEK CAPITAL LETTER PHI
-	0x0095: 0x03a7,	# GREEK CAPITAL LETTER CHI
-	0x0096: 0x03a8,	# GREEK CAPITAL LETTER PSI
-	0x0097: 0x03a9,	# GREEK CAPITAL LETTER OMEGA
-	0x0098: 0x03b1,	# GREEK SMALL LETTER ALPHA
-	0x0099: 0x03b2,	# GREEK SMALL LETTER BETA
-	0x009a: 0x03b3,	# GREEK SMALL LETTER GAMMA
-	0x009b: 0x03b4,	# GREEK SMALL LETTER DELTA
-	0x009c: 0x03b5,	# GREEK SMALL LETTER EPSILON
-	0x009d: 0x03b6,	# GREEK SMALL LETTER ZETA
-	0x009e: 0x03b7,	# GREEK SMALL LETTER ETA
-	0x009f: 0x03b8,	# GREEK SMALL LETTER THETA
-	0x00a0: 0x03b9,	# GREEK SMALL LETTER IOTA
-	0x00a1: 0x03ba,	# GREEK SMALL LETTER KAPPA
-	0x00a2: 0x03bb,	# GREEK SMALL LETTER LAMDA
-	0x00a3: 0x03bc,	# GREEK SMALL LETTER MU
-	0x00a4: 0x03bd,	# GREEK SMALL LETTER NU
-	0x00a5: 0x03be,	# GREEK SMALL LETTER XI
-	0x00a6: 0x03bf,	# GREEK SMALL LETTER OMICRON
-	0x00a7: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00a8: 0x03c1,	# GREEK SMALL LETTER RHO
-	0x00a9: 0x03c3,	# GREEK SMALL LETTER SIGMA
-	0x00aa: 0x03c2,	# GREEK SMALL LETTER FINAL SIGMA
-	0x00ab: 0x03c4,	# GREEK SMALL LETTER TAU
-	0x00ac: 0x03c5,	# GREEK SMALL LETTER UPSILON
-	0x00ad: 0x03c6,	# GREEK SMALL LETTER PHI
-	0x00ae: 0x03c7,	# GREEK SMALL LETTER CHI
-	0x00af: 0x03c8,	# GREEK SMALL LETTER PSI
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x2561,	# BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-	0x00b6: 0x2562,	# BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-	0x00b7: 0x2556,	# BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-	0x00b8: 0x2555,	# BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x255c,	# BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-	0x00be: 0x255b,	# BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x255e,	# BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-	0x00c7: 0x255f,	# BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x2567,	# BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-	0x00d0: 0x2568,	# BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-	0x00d1: 0x2564,	# BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-	0x00d2: 0x2565,	# BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-	0x00d3: 0x2559,	# BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-	0x00d4: 0x2558,	# BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-	0x00d5: 0x2552,	# BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-	0x00d6: 0x2553,	# BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-	0x00d7: 0x256b,	# BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-	0x00d8: 0x256a,	# BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x258c,	# LEFT HALF BLOCK
-	0x00de: 0x2590,	# RIGHT HALF BLOCK
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x03c9,	# GREEK SMALL LETTER OMEGA
-	0x00e1: 0x03ac,	# GREEK SMALL LETTER ALPHA WITH TONOS
-	0x00e2: 0x03ad,	# GREEK SMALL LETTER EPSILON WITH TONOS
-	0x00e3: 0x03ae,	# GREEK SMALL LETTER ETA WITH TONOS
-	0x00e4: 0x03ca,	# GREEK SMALL LETTER IOTA WITH DIALYTIKA
-	0x00e5: 0x03af,	# GREEK SMALL LETTER IOTA WITH TONOS
-	0x00e6: 0x03cc,	# GREEK SMALL LETTER OMICRON WITH TONOS
-	0x00e7: 0x03cd,	# GREEK SMALL LETTER UPSILON WITH TONOS
-	0x00e8: 0x03cb,	# GREEK SMALL LETTER UPSILON WITH DIALYTIKA
-	0x00e9: 0x03ce,	# GREEK SMALL LETTER OMEGA WITH TONOS
-	0x00ea: 0x0386,	# GREEK CAPITAL LETTER ALPHA WITH TONOS
-	0x00eb: 0x0388,	# GREEK CAPITAL LETTER EPSILON WITH TONOS
-	0x00ec: 0x0389,	# GREEK CAPITAL LETTER ETA WITH TONOS
-	0x00ed: 0x038a,	# GREEK CAPITAL LETTER IOTA WITH TONOS
-	0x00ee: 0x038c,	# GREEK CAPITAL LETTER OMICRON WITH TONOS
-	0x00ef: 0x038e,	# GREEK CAPITAL LETTER UPSILON WITH TONOS
-	0x00f0: 0x038f,	# GREEK CAPITAL LETTER OMEGA WITH TONOS
-	0x00f1: 0x00b1,	# PLUS-MINUS SIGN
-	0x00f2: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00f3: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00f4: 0x03aa,	# GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
-	0x00f5: 0x03ab,	# GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-	0x00f6: 0x00f7,	# DIVISION SIGN
-	0x00f7: 0x2248,	# ALMOST EQUAL TO
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x2219,	# BULLET OPERATOR
-	0x00fa: 0x00b7,	# MIDDLE DOT
-	0x00fb: 0x221a,	# SQUARE ROOT
-	0x00fc: 0x207f,	# SUPERSCRIPT LATIN SMALL LETTER N
-	0x00fd: 0x00b2,	# SUPERSCRIPT TWO
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x0391, # GREEK CAPITAL LETTER ALPHA
+        0x0081: 0x0392, # GREEK CAPITAL LETTER BETA
+        0x0082: 0x0393, # GREEK CAPITAL LETTER GAMMA
+        0x0083: 0x0394, # GREEK CAPITAL LETTER DELTA
+        0x0084: 0x0395, # GREEK CAPITAL LETTER EPSILON
+        0x0085: 0x0396, # GREEK CAPITAL LETTER ZETA
+        0x0086: 0x0397, # GREEK CAPITAL LETTER ETA
+        0x0087: 0x0398, # GREEK CAPITAL LETTER THETA
+        0x0088: 0x0399, # GREEK CAPITAL LETTER IOTA
+        0x0089: 0x039a, # GREEK CAPITAL LETTER KAPPA
+        0x008a: 0x039b, # GREEK CAPITAL LETTER LAMDA
+        0x008b: 0x039c, # GREEK CAPITAL LETTER MU
+        0x008c: 0x039d, # GREEK CAPITAL LETTER NU
+        0x008d: 0x039e, # GREEK CAPITAL LETTER XI
+        0x008e: 0x039f, # GREEK CAPITAL LETTER OMICRON
+        0x008f: 0x03a0, # GREEK CAPITAL LETTER PI
+        0x0090: 0x03a1, # GREEK CAPITAL LETTER RHO
+        0x0091: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+        0x0092: 0x03a4, # GREEK CAPITAL LETTER TAU
+        0x0093: 0x03a5, # GREEK CAPITAL LETTER UPSILON
+        0x0094: 0x03a6, # GREEK CAPITAL LETTER PHI
+        0x0095: 0x03a7, # GREEK CAPITAL LETTER CHI
+        0x0096: 0x03a8, # GREEK CAPITAL LETTER PSI
+        0x0097: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+        0x0098: 0x03b1, # GREEK SMALL LETTER ALPHA
+        0x0099: 0x03b2, # GREEK SMALL LETTER BETA
+        0x009a: 0x03b3, # GREEK SMALL LETTER GAMMA
+        0x009b: 0x03b4, # GREEK SMALL LETTER DELTA
+        0x009c: 0x03b5, # GREEK SMALL LETTER EPSILON
+        0x009d: 0x03b6, # GREEK SMALL LETTER ZETA
+        0x009e: 0x03b7, # GREEK SMALL LETTER ETA
+        0x009f: 0x03b8, # GREEK SMALL LETTER THETA
+        0x00a0: 0x03b9, # GREEK SMALL LETTER IOTA
+        0x00a1: 0x03ba, # GREEK SMALL LETTER KAPPA
+        0x00a2: 0x03bb, # GREEK SMALL LETTER LAMDA
+        0x00a3: 0x03bc, # GREEK SMALL LETTER MU
+        0x00a4: 0x03bd, # GREEK SMALL LETTER NU
+        0x00a5: 0x03be, # GREEK SMALL LETTER XI
+        0x00a6: 0x03bf, # GREEK SMALL LETTER OMICRON
+        0x00a7: 0x03c0, # GREEK SMALL LETTER PI
+        0x00a8: 0x03c1, # GREEK SMALL LETTER RHO
+        0x00a9: 0x03c3, # GREEK SMALL LETTER SIGMA
+        0x00aa: 0x03c2, # GREEK SMALL LETTER FINAL SIGMA
+        0x00ab: 0x03c4, # GREEK SMALL LETTER TAU
+        0x00ac: 0x03c5, # GREEK SMALL LETTER UPSILON
+        0x00ad: 0x03c6, # GREEK SMALL LETTER PHI
+        0x00ae: 0x03c7, # GREEK SMALL LETTER CHI
+        0x00af: 0x03c8, # GREEK SMALL LETTER PSI
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+        0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+        0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+        0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+        0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+        0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+        0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+        0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+        0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+        0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+        0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+        0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+        0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+        0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+        0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x258c, # LEFT HALF BLOCK
+        0x00de: 0x2590, # RIGHT HALF BLOCK
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x03c9, # GREEK SMALL LETTER OMEGA
+        0x00e1: 0x03ac, # GREEK SMALL LETTER ALPHA WITH TONOS
+        0x00e2: 0x03ad, # GREEK SMALL LETTER EPSILON WITH TONOS
+        0x00e3: 0x03ae, # GREEK SMALL LETTER ETA WITH TONOS
+        0x00e4: 0x03ca, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+        0x00e5: 0x03af, # GREEK SMALL LETTER IOTA WITH TONOS
+        0x00e6: 0x03cc, # GREEK SMALL LETTER OMICRON WITH TONOS
+        0x00e7: 0x03cd, # GREEK SMALL LETTER UPSILON WITH TONOS
+        0x00e8: 0x03cb, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+        0x00e9: 0x03ce, # GREEK SMALL LETTER OMEGA WITH TONOS
+        0x00ea: 0x0386, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+        0x00eb: 0x0388, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+        0x00ec: 0x0389, # GREEK CAPITAL LETTER ETA WITH TONOS
+        0x00ed: 0x038a, # GREEK CAPITAL LETTER IOTA WITH TONOS
+        0x00ee: 0x038c, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+        0x00ef: 0x038e, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+        0x00f0: 0x038f, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+        0x00f1: 0x00b1, # PLUS-MINUS SIGN
+        0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00f4: 0x03aa, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+        0x00f5: 0x03ab, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+        0x00f6: 0x00f7, # DIVISION SIGN
+        0x00f7: 0x2248, # ALMOST EQUAL TO
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x2219, # BULLET OPERATOR
+        0x00fa: 0x00b7, # MIDDLE DOT
+        0x00fb: 0x221a, # SQUARE ROOT
+        0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+        0x00fd: 0x00b2, # SUPERSCRIPT TWO
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp775.py b/Lib/encodings/cp775.py
index ee56f01..d8cda72 100644
--- a/Lib/encodings/cp775.py
+++ b/Lib/encodings/cp775.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x0106,	# LATIN CAPITAL LETTER C WITH ACUTE
-	0x0081: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x0082: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x0083: 0x0101,	# LATIN SMALL LETTER A WITH MACRON
-	0x0084: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x0085: 0x0123,	# LATIN SMALL LETTER G WITH CEDILLA
-	0x0086: 0x00e5,	# LATIN SMALL LETTER A WITH RING ABOVE
-	0x0087: 0x0107,	# LATIN SMALL LETTER C WITH ACUTE
-	0x0088: 0x0142,	# LATIN SMALL LETTER L WITH STROKE
-	0x0089: 0x0113,	# LATIN SMALL LETTER E WITH MACRON
-	0x008a: 0x0156,	# LATIN CAPITAL LETTER R WITH CEDILLA
-	0x008b: 0x0157,	# LATIN SMALL LETTER R WITH CEDILLA
-	0x008c: 0x012b,	# LATIN SMALL LETTER I WITH MACRON
-	0x008d: 0x0179,	# LATIN CAPITAL LETTER Z WITH ACUTE
-	0x008e: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x008f: 0x00c5,	# LATIN CAPITAL LETTER A WITH RING ABOVE
-	0x0090: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0091: 0x00e6,	# LATIN SMALL LIGATURE AE
-	0x0092: 0x00c6,	# LATIN CAPITAL LIGATURE AE
-	0x0093: 0x014d,	# LATIN SMALL LETTER O WITH MACRON
-	0x0094: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x0095: 0x0122,	# LATIN CAPITAL LETTER G WITH CEDILLA
-	0x0096: 0x00a2,	# CENT SIGN
-	0x0097: 0x015a,	# LATIN CAPITAL LETTER S WITH ACUTE
-	0x0098: 0x015b,	# LATIN SMALL LETTER S WITH ACUTE
-	0x0099: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x009a: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x009b: 0x00f8,	# LATIN SMALL LETTER O WITH STROKE
-	0x009c: 0x00a3,	# POUND SIGN
-	0x009d: 0x00d8,	# LATIN CAPITAL LETTER O WITH STROKE
-	0x009e: 0x00d7,	# MULTIPLICATION SIGN
-	0x009f: 0x00a4,	# CURRENCY SIGN
-	0x00a0: 0x0100,	# LATIN CAPITAL LETTER A WITH MACRON
-	0x00a1: 0x012a,	# LATIN CAPITAL LETTER I WITH MACRON
-	0x00a2: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00a3: 0x017b,	# LATIN CAPITAL LETTER Z WITH DOT ABOVE
-	0x00a4: 0x017c,	# LATIN SMALL LETTER Z WITH DOT ABOVE
-	0x00a5: 0x017a,	# LATIN SMALL LETTER Z WITH ACUTE
-	0x00a6: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x00a7: 0x00a6,	# BROKEN BAR
-	0x00a8: 0x00a9,	# COPYRIGHT SIGN
-	0x00a9: 0x00ae,	# REGISTERED SIGN
-	0x00aa: 0x00ac,	# NOT SIGN
-	0x00ab: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00ac: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00ad: 0x0141,	# LATIN CAPITAL LETTER L WITH STROKE
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x0104,	# LATIN CAPITAL LETTER A WITH OGONEK
-	0x00b6: 0x010c,	# LATIN CAPITAL LETTER C WITH CARON
-	0x00b7: 0x0118,	# LATIN CAPITAL LETTER E WITH OGONEK
-	0x00b8: 0x0116,	# LATIN CAPITAL LETTER E WITH DOT ABOVE
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x012e,	# LATIN CAPITAL LETTER I WITH OGONEK
-	0x00be: 0x0160,	# LATIN CAPITAL LETTER S WITH CARON
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x0172,	# LATIN CAPITAL LETTER U WITH OGONEK
-	0x00c7: 0x016a,	# LATIN CAPITAL LETTER U WITH MACRON
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x017d,	# LATIN CAPITAL LETTER Z WITH CARON
-	0x00d0: 0x0105,	# LATIN SMALL LETTER A WITH OGONEK
-	0x00d1: 0x010d,	# LATIN SMALL LETTER C WITH CARON
-	0x00d2: 0x0119,	# LATIN SMALL LETTER E WITH OGONEK
-	0x00d3: 0x0117,	# LATIN SMALL LETTER E WITH DOT ABOVE
-	0x00d4: 0x012f,	# LATIN SMALL LETTER I WITH OGONEK
-	0x00d5: 0x0161,	# LATIN SMALL LETTER S WITH CARON
-	0x00d6: 0x0173,	# LATIN SMALL LETTER U WITH OGONEK
-	0x00d7: 0x016b,	# LATIN SMALL LETTER U WITH MACRON
-	0x00d8: 0x017e,	# LATIN SMALL LETTER Z WITH CARON
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x258c,	# LEFT HALF BLOCK
-	0x00de: 0x2590,	# RIGHT HALF BLOCK
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00e1: 0x00df,	# LATIN SMALL LETTER SHARP S (GERMAN)
-	0x00e2: 0x014c,	# LATIN CAPITAL LETTER O WITH MACRON
-	0x00e3: 0x0143,	# LATIN CAPITAL LETTER N WITH ACUTE
-	0x00e4: 0x00f5,	# LATIN SMALL LETTER O WITH TILDE
-	0x00e5: 0x00d5,	# LATIN CAPITAL LETTER O WITH TILDE
-	0x00e6: 0x00b5,	# MICRO SIGN
-	0x00e7: 0x0144,	# LATIN SMALL LETTER N WITH ACUTE
-	0x00e8: 0x0136,	# LATIN CAPITAL LETTER K WITH CEDILLA
-	0x00e9: 0x0137,	# LATIN SMALL LETTER K WITH CEDILLA
-	0x00ea: 0x013b,	# LATIN CAPITAL LETTER L WITH CEDILLA
-	0x00eb: 0x013c,	# LATIN SMALL LETTER L WITH CEDILLA
-	0x00ec: 0x0146,	# LATIN SMALL LETTER N WITH CEDILLA
-	0x00ed: 0x0112,	# LATIN CAPITAL LETTER E WITH MACRON
-	0x00ee: 0x0145,	# LATIN CAPITAL LETTER N WITH CEDILLA
-	0x00ef: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x00f0: 0x00ad,	# SOFT HYPHEN
-	0x00f1: 0x00b1,	# PLUS-MINUS SIGN
-	0x00f2: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x00f3: 0x00be,	# VULGAR FRACTION THREE QUARTERS
-	0x00f4: 0x00b6,	# PILCROW SIGN
-	0x00f5: 0x00a7,	# SECTION SIGN
-	0x00f6: 0x00f7,	# DIVISION SIGN
-	0x00f7: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x2219,	# BULLET OPERATOR
-	0x00fa: 0x00b7,	# MIDDLE DOT
-	0x00fb: 0x00b9,	# SUPERSCRIPT ONE
-	0x00fc: 0x00b3,	# SUPERSCRIPT THREE
-	0x00fd: 0x00b2,	# SUPERSCRIPT TWO
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x0106, # LATIN CAPITAL LETTER C WITH ACUTE
+        0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x0083: 0x0101, # LATIN SMALL LETTER A WITH MACRON
+        0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x0085: 0x0123, # LATIN SMALL LETTER G WITH CEDILLA
+        0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+        0x0087: 0x0107, # LATIN SMALL LETTER C WITH ACUTE
+        0x0088: 0x0142, # LATIN SMALL LETTER L WITH STROKE
+        0x0089: 0x0113, # LATIN SMALL LETTER E WITH MACRON
+        0x008a: 0x0156, # LATIN CAPITAL LETTER R WITH CEDILLA
+        0x008b: 0x0157, # LATIN SMALL LETTER R WITH CEDILLA
+        0x008c: 0x012b, # LATIN SMALL LETTER I WITH MACRON
+        0x008d: 0x0179, # LATIN CAPITAL LETTER Z WITH ACUTE
+        0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+        0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
+        0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
+        0x0093: 0x014d, # LATIN SMALL LETTER O WITH MACRON
+        0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x0095: 0x0122, # LATIN CAPITAL LETTER G WITH CEDILLA
+        0x0096: 0x00a2, # CENT SIGN
+        0x0097: 0x015a, # LATIN CAPITAL LETTER S WITH ACUTE
+        0x0098: 0x015b, # LATIN SMALL LETTER S WITH ACUTE
+        0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+        0x009c: 0x00a3, # POUND SIGN
+        0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+        0x009e: 0x00d7, # MULTIPLICATION SIGN
+        0x009f: 0x00a4, # CURRENCY SIGN
+        0x00a0: 0x0100, # LATIN CAPITAL LETTER A WITH MACRON
+        0x00a1: 0x012a, # LATIN CAPITAL LETTER I WITH MACRON
+        0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00a3: 0x017b, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+        0x00a4: 0x017c, # LATIN SMALL LETTER Z WITH DOT ABOVE
+        0x00a5: 0x017a, # LATIN SMALL LETTER Z WITH ACUTE
+        0x00a6: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x00a7: 0x00a6, # BROKEN BAR
+        0x00a8: 0x00a9, # COPYRIGHT SIGN
+        0x00a9: 0x00ae, # REGISTERED SIGN
+        0x00aa: 0x00ac, # NOT SIGN
+        0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00ad: 0x0141, # LATIN CAPITAL LETTER L WITH STROKE
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x0104, # LATIN CAPITAL LETTER A WITH OGONEK
+        0x00b6: 0x010c, # LATIN CAPITAL LETTER C WITH CARON
+        0x00b7: 0x0118, # LATIN CAPITAL LETTER E WITH OGONEK
+        0x00b8: 0x0116, # LATIN CAPITAL LETTER E WITH DOT ABOVE
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x012e, # LATIN CAPITAL LETTER I WITH OGONEK
+        0x00be: 0x0160, # LATIN CAPITAL LETTER S WITH CARON
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x0172, # LATIN CAPITAL LETTER U WITH OGONEK
+        0x00c7: 0x016a, # LATIN CAPITAL LETTER U WITH MACRON
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x017d, # LATIN CAPITAL LETTER Z WITH CARON
+        0x00d0: 0x0105, # LATIN SMALL LETTER A WITH OGONEK
+        0x00d1: 0x010d, # LATIN SMALL LETTER C WITH CARON
+        0x00d2: 0x0119, # LATIN SMALL LETTER E WITH OGONEK
+        0x00d3: 0x0117, # LATIN SMALL LETTER E WITH DOT ABOVE
+        0x00d4: 0x012f, # LATIN SMALL LETTER I WITH OGONEK
+        0x00d5: 0x0161, # LATIN SMALL LETTER S WITH CARON
+        0x00d6: 0x0173, # LATIN SMALL LETTER U WITH OGONEK
+        0x00d7: 0x016b, # LATIN SMALL LETTER U WITH MACRON
+        0x00d8: 0x017e, # LATIN SMALL LETTER Z WITH CARON
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x258c, # LEFT HALF BLOCK
+        0x00de: 0x2590, # RIGHT HALF BLOCK
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S (GERMAN)
+        0x00e2: 0x014c, # LATIN CAPITAL LETTER O WITH MACRON
+        0x00e3: 0x0143, # LATIN CAPITAL LETTER N WITH ACUTE
+        0x00e4: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+        0x00e5: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+        0x00e6: 0x00b5, # MICRO SIGN
+        0x00e7: 0x0144, # LATIN SMALL LETTER N WITH ACUTE
+        0x00e8: 0x0136, # LATIN CAPITAL LETTER K WITH CEDILLA
+        0x00e9: 0x0137, # LATIN SMALL LETTER K WITH CEDILLA
+        0x00ea: 0x013b, # LATIN CAPITAL LETTER L WITH CEDILLA
+        0x00eb: 0x013c, # LATIN SMALL LETTER L WITH CEDILLA
+        0x00ec: 0x0146, # LATIN SMALL LETTER N WITH CEDILLA
+        0x00ed: 0x0112, # LATIN CAPITAL LETTER E WITH MACRON
+        0x00ee: 0x0145, # LATIN CAPITAL LETTER N WITH CEDILLA
+        0x00ef: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x00f0: 0x00ad, # SOFT HYPHEN
+        0x00f1: 0x00b1, # PLUS-MINUS SIGN
+        0x00f2: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x00f3: 0x00be, # VULGAR FRACTION THREE QUARTERS
+        0x00f4: 0x00b6, # PILCROW SIGN
+        0x00f5: 0x00a7, # SECTION SIGN
+        0x00f6: 0x00f7, # DIVISION SIGN
+        0x00f7: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x2219, # BULLET OPERATOR
+        0x00fa: 0x00b7, # MIDDLE DOT
+        0x00fb: 0x00b9, # SUPERSCRIPT ONE
+        0x00fc: 0x00b3, # SUPERSCRIPT THREE
+        0x00fd: 0x00b2, # SUPERSCRIPT TWO
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp850.py b/Lib/encodings/cp850.py
index dd23187..ae09839 100644
--- a/Lib/encodings/cp850.py
+++ b/Lib/encodings/cp850.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0081: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x0082: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x0083: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x0084: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x0085: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0086: 0x00e5,	# LATIN SMALL LETTER A WITH RING ABOVE
-	0x0087: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x0088: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0089: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x008a: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x008b: 0x00ef,	# LATIN SMALL LETTER I WITH DIAERESIS
-	0x008c: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x008d: 0x00ec,	# LATIN SMALL LETTER I WITH GRAVE
-	0x008e: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x008f: 0x00c5,	# LATIN CAPITAL LETTER A WITH RING ABOVE
-	0x0090: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0091: 0x00e6,	# LATIN SMALL LIGATURE AE
-	0x0092: 0x00c6,	# LATIN CAPITAL LIGATURE AE
-	0x0093: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x0094: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x0095: 0x00f2,	# LATIN SMALL LETTER O WITH GRAVE
-	0x0096: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x0097: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x0098: 0x00ff,	# LATIN SMALL LETTER Y WITH DIAERESIS
-	0x0099: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x009a: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x009b: 0x00f8,	# LATIN SMALL LETTER O WITH STROKE
-	0x009c: 0x00a3,	# POUND SIGN
-	0x009d: 0x00d8,	# LATIN CAPITAL LETTER O WITH STROKE
-	0x009e: 0x00d7,	# MULTIPLICATION SIGN
-	0x009f: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x00a0: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x00a1: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x00a2: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00a3: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x00a4: 0x00f1,	# LATIN SMALL LETTER N WITH TILDE
-	0x00a5: 0x00d1,	# LATIN CAPITAL LETTER N WITH TILDE
-	0x00a6: 0x00aa,	# FEMININE ORDINAL INDICATOR
-	0x00a7: 0x00ba,	# MASCULINE ORDINAL INDICATOR
-	0x00a8: 0x00bf,	# INVERTED QUESTION MARK
-	0x00a9: 0x00ae,	# REGISTERED SIGN
-	0x00aa: 0x00ac,	# NOT SIGN
-	0x00ab: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00ac: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00ad: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x00c1,	# LATIN CAPITAL LETTER A WITH ACUTE
-	0x00b6: 0x00c2,	# LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-	0x00b7: 0x00c0,	# LATIN CAPITAL LETTER A WITH GRAVE
-	0x00b8: 0x00a9,	# COPYRIGHT SIGN
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x00a2,	# CENT SIGN
-	0x00be: 0x00a5,	# YEN SIGN
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x00e3,	# LATIN SMALL LETTER A WITH TILDE
-	0x00c7: 0x00c3,	# LATIN CAPITAL LETTER A WITH TILDE
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x00a4,	# CURRENCY SIGN
-	0x00d0: 0x00f0,	# LATIN SMALL LETTER ETH
-	0x00d1: 0x00d0,	# LATIN CAPITAL LETTER ETH
-	0x00d2: 0x00ca,	# LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-	0x00d3: 0x00cb,	# LATIN CAPITAL LETTER E WITH DIAERESIS
-	0x00d4: 0x00c8,	# LATIN CAPITAL LETTER E WITH GRAVE
-	0x00d5: 0x0131,	# LATIN SMALL LETTER DOTLESS I
-	0x00d6: 0x00cd,	# LATIN CAPITAL LETTER I WITH ACUTE
-	0x00d7: 0x00ce,	# LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-	0x00d8: 0x00cf,	# LATIN CAPITAL LETTER I WITH DIAERESIS
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x00a6,	# BROKEN BAR
-	0x00de: 0x00cc,	# LATIN CAPITAL LETTER I WITH GRAVE
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00e1: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00e2: 0x00d4,	# LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-	0x00e3: 0x00d2,	# LATIN CAPITAL LETTER O WITH GRAVE
-	0x00e4: 0x00f5,	# LATIN SMALL LETTER O WITH TILDE
-	0x00e5: 0x00d5,	# LATIN CAPITAL LETTER O WITH TILDE
-	0x00e6: 0x00b5,	# MICRO SIGN
-	0x00e7: 0x00fe,	# LATIN SMALL LETTER THORN
-	0x00e8: 0x00de,	# LATIN CAPITAL LETTER THORN
-	0x00e9: 0x00da,	# LATIN CAPITAL LETTER U WITH ACUTE
-	0x00ea: 0x00db,	# LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-	0x00eb: 0x00d9,	# LATIN CAPITAL LETTER U WITH GRAVE
-	0x00ec: 0x00fd,	# LATIN SMALL LETTER Y WITH ACUTE
-	0x00ed: 0x00dd,	# LATIN CAPITAL LETTER Y WITH ACUTE
-	0x00ee: 0x00af,	# MACRON
-	0x00ef: 0x00b4,	# ACUTE ACCENT
-	0x00f0: 0x00ad,	# SOFT HYPHEN
-	0x00f1: 0x00b1,	# PLUS-MINUS SIGN
-	0x00f2: 0x2017,	# DOUBLE LOW LINE
-	0x00f3: 0x00be,	# VULGAR FRACTION THREE QUARTERS
-	0x00f4: 0x00b6,	# PILCROW SIGN
-	0x00f5: 0x00a7,	# SECTION SIGN
-	0x00f6: 0x00f7,	# DIVISION SIGN
-	0x00f7: 0x00b8,	# CEDILLA
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x00a8,	# DIAERESIS
-	0x00fa: 0x00b7,	# MIDDLE DOT
-	0x00fb: 0x00b9,	# SUPERSCRIPT ONE
-	0x00fc: 0x00b3,	# SUPERSCRIPT THREE
-	0x00fd: 0x00b2,	# SUPERSCRIPT TWO
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+        0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+        0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x008d: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+        0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+        0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
+        0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
+        0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+        0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x0098: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+        0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+        0x009c: 0x00a3, # POUND SIGN
+        0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+        0x009e: 0x00d7, # MULTIPLICATION SIGN
+        0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+        0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+        0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
+        0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
+        0x00a8: 0x00bf, # INVERTED QUESTION MARK
+        0x00a9: 0x00ae, # REGISTERED SIGN
+        0x00aa: 0x00ac, # NOT SIGN
+        0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+        0x00b6: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+        0x00b7: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+        0x00b8: 0x00a9, # COPYRIGHT SIGN
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x00a2, # CENT SIGN
+        0x00be: 0x00a5, # YEN SIGN
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
+        0x00c7: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x00a4, # CURRENCY SIGN
+        0x00d0: 0x00f0, # LATIN SMALL LETTER ETH
+        0x00d1: 0x00d0, # LATIN CAPITAL LETTER ETH
+        0x00d2: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+        0x00d3: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+        0x00d4: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+        0x00d5: 0x0131, # LATIN SMALL LETTER DOTLESS I
+        0x00d6: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+        0x00d7: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+        0x00d8: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x00a6, # BROKEN BAR
+        0x00de: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00e2: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+        0x00e3: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
+        0x00e4: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+        0x00e5: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+        0x00e6: 0x00b5, # MICRO SIGN
+        0x00e7: 0x00fe, # LATIN SMALL LETTER THORN
+        0x00e8: 0x00de, # LATIN CAPITAL LETTER THORN
+        0x00e9: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+        0x00ea: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+        0x00eb: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+        0x00ec: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
+        0x00ed: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
+        0x00ee: 0x00af, # MACRON
+        0x00ef: 0x00b4, # ACUTE ACCENT
+        0x00f0: 0x00ad, # SOFT HYPHEN
+        0x00f1: 0x00b1, # PLUS-MINUS SIGN
+        0x00f2: 0x2017, # DOUBLE LOW LINE
+        0x00f3: 0x00be, # VULGAR FRACTION THREE QUARTERS
+        0x00f4: 0x00b6, # PILCROW SIGN
+        0x00f5: 0x00a7, # SECTION SIGN
+        0x00f6: 0x00f7, # DIVISION SIGN
+        0x00f7: 0x00b8, # CEDILLA
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x00a8, # DIAERESIS
+        0x00fa: 0x00b7, # MIDDLE DOT
+        0x00fb: 0x00b9, # SUPERSCRIPT ONE
+        0x00fc: 0x00b3, # SUPERSCRIPT THREE
+        0x00fd: 0x00b2, # SUPERSCRIPT TWO
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp852.py b/Lib/encodings/cp852.py
index 38df00f..dad5d29 100644
--- a/Lib/encodings/cp852.py
+++ b/Lib/encodings/cp852.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0081: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x0082: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x0083: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x0084: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x0085: 0x016f,	# LATIN SMALL LETTER U WITH RING ABOVE
-	0x0086: 0x0107,	# LATIN SMALL LETTER C WITH ACUTE
-	0x0087: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x0088: 0x0142,	# LATIN SMALL LETTER L WITH STROKE
-	0x0089: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x008a: 0x0150,	# LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-	0x008b: 0x0151,	# LATIN SMALL LETTER O WITH DOUBLE ACUTE
-	0x008c: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x008d: 0x0179,	# LATIN CAPITAL LETTER Z WITH ACUTE
-	0x008e: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x008f: 0x0106,	# LATIN CAPITAL LETTER C WITH ACUTE
-	0x0090: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0091: 0x0139,	# LATIN CAPITAL LETTER L WITH ACUTE
-	0x0092: 0x013a,	# LATIN SMALL LETTER L WITH ACUTE
-	0x0093: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x0094: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x0095: 0x013d,	# LATIN CAPITAL LETTER L WITH CARON
-	0x0096: 0x013e,	# LATIN SMALL LETTER L WITH CARON
-	0x0097: 0x015a,	# LATIN CAPITAL LETTER S WITH ACUTE
-	0x0098: 0x015b,	# LATIN SMALL LETTER S WITH ACUTE
-	0x0099: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x009a: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x009b: 0x0164,	# LATIN CAPITAL LETTER T WITH CARON
-	0x009c: 0x0165,	# LATIN SMALL LETTER T WITH CARON
-	0x009d: 0x0141,	# LATIN CAPITAL LETTER L WITH STROKE
-	0x009e: 0x00d7,	# MULTIPLICATION SIGN
-	0x009f: 0x010d,	# LATIN SMALL LETTER C WITH CARON
-	0x00a0: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x00a1: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x00a2: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00a3: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x00a4: 0x0104,	# LATIN CAPITAL LETTER A WITH OGONEK
-	0x00a5: 0x0105,	# LATIN SMALL LETTER A WITH OGONEK
-	0x00a6: 0x017d,	# LATIN CAPITAL LETTER Z WITH CARON
-	0x00a7: 0x017e,	# LATIN SMALL LETTER Z WITH CARON
-	0x00a8: 0x0118,	# LATIN CAPITAL LETTER E WITH OGONEK
-	0x00a9: 0x0119,	# LATIN SMALL LETTER E WITH OGONEK
-	0x00aa: 0x00ac,	# NOT SIGN
-	0x00ab: 0x017a,	# LATIN SMALL LETTER Z WITH ACUTE
-	0x00ac: 0x010c,	# LATIN CAPITAL LETTER C WITH CARON
-	0x00ad: 0x015f,	# LATIN SMALL LETTER S WITH CEDILLA
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x00c1,	# LATIN CAPITAL LETTER A WITH ACUTE
-	0x00b6: 0x00c2,	# LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-	0x00b7: 0x011a,	# LATIN CAPITAL LETTER E WITH CARON
-	0x00b8: 0x015e,	# LATIN CAPITAL LETTER S WITH CEDILLA
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x017b,	# LATIN CAPITAL LETTER Z WITH DOT ABOVE
-	0x00be: 0x017c,	# LATIN SMALL LETTER Z WITH DOT ABOVE
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x0102,	# LATIN CAPITAL LETTER A WITH BREVE
-	0x00c7: 0x0103,	# LATIN SMALL LETTER A WITH BREVE
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x00a4,	# CURRENCY SIGN
-	0x00d0: 0x0111,	# LATIN SMALL LETTER D WITH STROKE
-	0x00d1: 0x0110,	# LATIN CAPITAL LETTER D WITH STROKE
-	0x00d2: 0x010e,	# LATIN CAPITAL LETTER D WITH CARON
-	0x00d3: 0x00cb,	# LATIN CAPITAL LETTER E WITH DIAERESIS
-	0x00d4: 0x010f,	# LATIN SMALL LETTER D WITH CARON
-	0x00d5: 0x0147,	# LATIN CAPITAL LETTER N WITH CARON
-	0x00d6: 0x00cd,	# LATIN CAPITAL LETTER I WITH ACUTE
-	0x00d7: 0x00ce,	# LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-	0x00d8: 0x011b,	# LATIN SMALL LETTER E WITH CARON
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x0162,	# LATIN CAPITAL LETTER T WITH CEDILLA
-	0x00de: 0x016e,	# LATIN CAPITAL LETTER U WITH RING ABOVE
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00e1: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00e2: 0x00d4,	# LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-	0x00e3: 0x0143,	# LATIN CAPITAL LETTER N WITH ACUTE
-	0x00e4: 0x0144,	# LATIN SMALL LETTER N WITH ACUTE
-	0x00e5: 0x0148,	# LATIN SMALL LETTER N WITH CARON
-	0x00e6: 0x0160,	# LATIN CAPITAL LETTER S WITH CARON
-	0x00e7: 0x0161,	# LATIN SMALL LETTER S WITH CARON
-	0x00e8: 0x0154,	# LATIN CAPITAL LETTER R WITH ACUTE
-	0x00e9: 0x00da,	# LATIN CAPITAL LETTER U WITH ACUTE
-	0x00ea: 0x0155,	# LATIN SMALL LETTER R WITH ACUTE
-	0x00eb: 0x0170,	# LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-	0x00ec: 0x00fd,	# LATIN SMALL LETTER Y WITH ACUTE
-	0x00ed: 0x00dd,	# LATIN CAPITAL LETTER Y WITH ACUTE
-	0x00ee: 0x0163,	# LATIN SMALL LETTER T WITH CEDILLA
-	0x00ef: 0x00b4,	# ACUTE ACCENT
-	0x00f0: 0x00ad,	# SOFT HYPHEN
-	0x00f1: 0x02dd,	# DOUBLE ACUTE ACCENT
-	0x00f2: 0x02db,	# OGONEK
-	0x00f3: 0x02c7,	# CARON
-	0x00f4: 0x02d8,	# BREVE
-	0x00f5: 0x00a7,	# SECTION SIGN
-	0x00f6: 0x00f7,	# DIVISION SIGN
-	0x00f7: 0x00b8,	# CEDILLA
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x00a8,	# DIAERESIS
-	0x00fa: 0x02d9,	# DOT ABOVE
-	0x00fb: 0x0171,	# LATIN SMALL LETTER U WITH DOUBLE ACUTE
-	0x00fc: 0x0158,	# LATIN CAPITAL LETTER R WITH CARON
-	0x00fd: 0x0159,	# LATIN SMALL LETTER R WITH CARON
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x0085: 0x016f, # LATIN SMALL LETTER U WITH RING ABOVE
+        0x0086: 0x0107, # LATIN SMALL LETTER C WITH ACUTE
+        0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x0088: 0x0142, # LATIN SMALL LETTER L WITH STROKE
+        0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x008a: 0x0150, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+        0x008b: 0x0151, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+        0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x008d: 0x0179, # LATIN CAPITAL LETTER Z WITH ACUTE
+        0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x008f: 0x0106, # LATIN CAPITAL LETTER C WITH ACUTE
+        0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0091: 0x0139, # LATIN CAPITAL LETTER L WITH ACUTE
+        0x0092: 0x013a, # LATIN SMALL LETTER L WITH ACUTE
+        0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x0095: 0x013d, # LATIN CAPITAL LETTER L WITH CARON
+        0x0096: 0x013e, # LATIN SMALL LETTER L WITH CARON
+        0x0097: 0x015a, # LATIN CAPITAL LETTER S WITH ACUTE
+        0x0098: 0x015b, # LATIN SMALL LETTER S WITH ACUTE
+        0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x009b: 0x0164, # LATIN CAPITAL LETTER T WITH CARON
+        0x009c: 0x0165, # LATIN SMALL LETTER T WITH CARON
+        0x009d: 0x0141, # LATIN CAPITAL LETTER L WITH STROKE
+        0x009e: 0x00d7, # MULTIPLICATION SIGN
+        0x009f: 0x010d, # LATIN SMALL LETTER C WITH CARON
+        0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x00a4: 0x0104, # LATIN CAPITAL LETTER A WITH OGONEK
+        0x00a5: 0x0105, # LATIN SMALL LETTER A WITH OGONEK
+        0x00a6: 0x017d, # LATIN CAPITAL LETTER Z WITH CARON
+        0x00a7: 0x017e, # LATIN SMALL LETTER Z WITH CARON
+        0x00a8: 0x0118, # LATIN CAPITAL LETTER E WITH OGONEK
+        0x00a9: 0x0119, # LATIN SMALL LETTER E WITH OGONEK
+        0x00aa: 0x00ac, # NOT SIGN
+        0x00ab: 0x017a, # LATIN SMALL LETTER Z WITH ACUTE
+        0x00ac: 0x010c, # LATIN CAPITAL LETTER C WITH CARON
+        0x00ad: 0x015f, # LATIN SMALL LETTER S WITH CEDILLA
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+        0x00b6: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+        0x00b7: 0x011a, # LATIN CAPITAL LETTER E WITH CARON
+        0x00b8: 0x015e, # LATIN CAPITAL LETTER S WITH CEDILLA
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x017b, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+        0x00be: 0x017c, # LATIN SMALL LETTER Z WITH DOT ABOVE
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x0102, # LATIN CAPITAL LETTER A WITH BREVE
+        0x00c7: 0x0103, # LATIN SMALL LETTER A WITH BREVE
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x00a4, # CURRENCY SIGN
+        0x00d0: 0x0111, # LATIN SMALL LETTER D WITH STROKE
+        0x00d1: 0x0110, # LATIN CAPITAL LETTER D WITH STROKE
+        0x00d2: 0x010e, # LATIN CAPITAL LETTER D WITH CARON
+        0x00d3: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+        0x00d4: 0x010f, # LATIN SMALL LETTER D WITH CARON
+        0x00d5: 0x0147, # LATIN CAPITAL LETTER N WITH CARON
+        0x00d6: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+        0x00d7: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+        0x00d8: 0x011b, # LATIN SMALL LETTER E WITH CARON
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x0162, # LATIN CAPITAL LETTER T WITH CEDILLA
+        0x00de: 0x016e, # LATIN CAPITAL LETTER U WITH RING ABOVE
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00e2: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+        0x00e3: 0x0143, # LATIN CAPITAL LETTER N WITH ACUTE
+        0x00e4: 0x0144, # LATIN SMALL LETTER N WITH ACUTE
+        0x00e5: 0x0148, # LATIN SMALL LETTER N WITH CARON
+        0x00e6: 0x0160, # LATIN CAPITAL LETTER S WITH CARON
+        0x00e7: 0x0161, # LATIN SMALL LETTER S WITH CARON
+        0x00e8: 0x0154, # LATIN CAPITAL LETTER R WITH ACUTE
+        0x00e9: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+        0x00ea: 0x0155, # LATIN SMALL LETTER R WITH ACUTE
+        0x00eb: 0x0170, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+        0x00ec: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
+        0x00ed: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
+        0x00ee: 0x0163, # LATIN SMALL LETTER T WITH CEDILLA
+        0x00ef: 0x00b4, # ACUTE ACCENT
+        0x00f0: 0x00ad, # SOFT HYPHEN
+        0x00f1: 0x02dd, # DOUBLE ACUTE ACCENT
+        0x00f2: 0x02db, # OGONEK
+        0x00f3: 0x02c7, # CARON
+        0x00f4: 0x02d8, # BREVE
+        0x00f5: 0x00a7, # SECTION SIGN
+        0x00f6: 0x00f7, # DIVISION SIGN
+        0x00f7: 0x00b8, # CEDILLA
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x00a8, # DIAERESIS
+        0x00fa: 0x02d9, # DOT ABOVE
+        0x00fb: 0x0171, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+        0x00fc: 0x0158, # LATIN CAPITAL LETTER R WITH CARON
+        0x00fd: 0x0159, # LATIN SMALL LETTER R WITH CARON
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp855.py b/Lib/encodings/cp855.py
index 764fe1a..d93c5e8 100644
--- a/Lib/encodings/cp855.py
+++ b/Lib/encodings/cp855.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x0452,	# CYRILLIC SMALL LETTER DJE
-	0x0081: 0x0402,	# CYRILLIC CAPITAL LETTER DJE
-	0x0082: 0x0453,	# CYRILLIC SMALL LETTER GJE
-	0x0083: 0x0403,	# CYRILLIC CAPITAL LETTER GJE
-	0x0084: 0x0451,	# CYRILLIC SMALL LETTER IO
-	0x0085: 0x0401,	# CYRILLIC CAPITAL LETTER IO
-	0x0086: 0x0454,	# CYRILLIC SMALL LETTER UKRAINIAN IE
-	0x0087: 0x0404,	# CYRILLIC CAPITAL LETTER UKRAINIAN IE
-	0x0088: 0x0455,	# CYRILLIC SMALL LETTER DZE
-	0x0089: 0x0405,	# CYRILLIC CAPITAL LETTER DZE
-	0x008a: 0x0456,	# CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-	0x008b: 0x0406,	# CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-	0x008c: 0x0457,	# CYRILLIC SMALL LETTER YI
-	0x008d: 0x0407,	# CYRILLIC CAPITAL LETTER YI
-	0x008e: 0x0458,	# CYRILLIC SMALL LETTER JE
-	0x008f: 0x0408,	# CYRILLIC CAPITAL LETTER JE
-	0x0090: 0x0459,	# CYRILLIC SMALL LETTER LJE
-	0x0091: 0x0409,	# CYRILLIC CAPITAL LETTER LJE
-	0x0092: 0x045a,	# CYRILLIC SMALL LETTER NJE
-	0x0093: 0x040a,	# CYRILLIC CAPITAL LETTER NJE
-	0x0094: 0x045b,	# CYRILLIC SMALL LETTER TSHE
-	0x0095: 0x040b,	# CYRILLIC CAPITAL LETTER TSHE
-	0x0096: 0x045c,	# CYRILLIC SMALL LETTER KJE
-	0x0097: 0x040c,	# CYRILLIC CAPITAL LETTER KJE
-	0x0098: 0x045e,	# CYRILLIC SMALL LETTER SHORT U
-	0x0099: 0x040e,	# CYRILLIC CAPITAL LETTER SHORT U
-	0x009a: 0x045f,	# CYRILLIC SMALL LETTER DZHE
-	0x009b: 0x040f,	# CYRILLIC CAPITAL LETTER DZHE
-	0x009c: 0x044e,	# CYRILLIC SMALL LETTER YU
-	0x009d: 0x042e,	# CYRILLIC CAPITAL LETTER YU
-	0x009e: 0x044a,	# CYRILLIC SMALL LETTER HARD SIGN
-	0x009f: 0x042a,	# CYRILLIC CAPITAL LETTER HARD SIGN
-	0x00a0: 0x0430,	# CYRILLIC SMALL LETTER A
-	0x00a1: 0x0410,	# CYRILLIC CAPITAL LETTER A
-	0x00a2: 0x0431,	# CYRILLIC SMALL LETTER BE
-	0x00a3: 0x0411,	# CYRILLIC CAPITAL LETTER BE
-	0x00a4: 0x0446,	# CYRILLIC SMALL LETTER TSE
-	0x00a5: 0x0426,	# CYRILLIC CAPITAL LETTER TSE
-	0x00a6: 0x0434,	# CYRILLIC SMALL LETTER DE
-	0x00a7: 0x0414,	# CYRILLIC CAPITAL LETTER DE
-	0x00a8: 0x0435,	# CYRILLIC SMALL LETTER IE
-	0x00a9: 0x0415,	# CYRILLIC CAPITAL LETTER IE
-	0x00aa: 0x0444,	# CYRILLIC SMALL LETTER EF
-	0x00ab: 0x0424,	# CYRILLIC CAPITAL LETTER EF
-	0x00ac: 0x0433,	# CYRILLIC SMALL LETTER GHE
-	0x00ad: 0x0413,	# CYRILLIC CAPITAL LETTER GHE
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x0445,	# CYRILLIC SMALL LETTER HA
-	0x00b6: 0x0425,	# CYRILLIC CAPITAL LETTER HA
-	0x00b7: 0x0438,	# CYRILLIC SMALL LETTER I
-	0x00b8: 0x0418,	# CYRILLIC CAPITAL LETTER I
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x0439,	# CYRILLIC SMALL LETTER SHORT I
-	0x00be: 0x0419,	# CYRILLIC CAPITAL LETTER SHORT I
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x043a,	# CYRILLIC SMALL LETTER KA
-	0x00c7: 0x041a,	# CYRILLIC CAPITAL LETTER KA
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x00a4,	# CURRENCY SIGN
-	0x00d0: 0x043b,	# CYRILLIC SMALL LETTER EL
-	0x00d1: 0x041b,	# CYRILLIC CAPITAL LETTER EL
-	0x00d2: 0x043c,	# CYRILLIC SMALL LETTER EM
-	0x00d3: 0x041c,	# CYRILLIC CAPITAL LETTER EM
-	0x00d4: 0x043d,	# CYRILLIC SMALL LETTER EN
-	0x00d5: 0x041d,	# CYRILLIC CAPITAL LETTER EN
-	0x00d6: 0x043e,	# CYRILLIC SMALL LETTER O
-	0x00d7: 0x041e,	# CYRILLIC CAPITAL LETTER O
-	0x00d8: 0x043f,	# CYRILLIC SMALL LETTER PE
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x041f,	# CYRILLIC CAPITAL LETTER PE
-	0x00de: 0x044f,	# CYRILLIC SMALL LETTER YA
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x042f,	# CYRILLIC CAPITAL LETTER YA
-	0x00e1: 0x0440,	# CYRILLIC SMALL LETTER ER
-	0x00e2: 0x0420,	# CYRILLIC CAPITAL LETTER ER
-	0x00e3: 0x0441,	# CYRILLIC SMALL LETTER ES
-	0x00e4: 0x0421,	# CYRILLIC CAPITAL LETTER ES
-	0x00e5: 0x0442,	# CYRILLIC SMALL LETTER TE
-	0x00e6: 0x0422,	# CYRILLIC CAPITAL LETTER TE
-	0x00e7: 0x0443,	# CYRILLIC SMALL LETTER U
-	0x00e8: 0x0423,	# CYRILLIC CAPITAL LETTER U
-	0x00e9: 0x0436,	# CYRILLIC SMALL LETTER ZHE
-	0x00ea: 0x0416,	# CYRILLIC CAPITAL LETTER ZHE
-	0x00eb: 0x0432,	# CYRILLIC SMALL LETTER VE
-	0x00ec: 0x0412,	# CYRILLIC CAPITAL LETTER VE
-	0x00ed: 0x044c,	# CYRILLIC SMALL LETTER SOFT SIGN
-	0x00ee: 0x042c,	# CYRILLIC CAPITAL LETTER SOFT SIGN
-	0x00ef: 0x2116,	# NUMERO SIGN
-	0x00f0: 0x00ad,	# SOFT HYPHEN
-	0x00f1: 0x044b,	# CYRILLIC SMALL LETTER YERU
-	0x00f2: 0x042b,	# CYRILLIC CAPITAL LETTER YERU
-	0x00f3: 0x0437,	# CYRILLIC SMALL LETTER ZE
-	0x00f4: 0x0417,	# CYRILLIC CAPITAL LETTER ZE
-	0x00f5: 0x0448,	# CYRILLIC SMALL LETTER SHA
-	0x00f6: 0x0428,	# CYRILLIC CAPITAL LETTER SHA
-	0x00f7: 0x044d,	# CYRILLIC SMALL LETTER E
-	0x00f8: 0x042d,	# CYRILLIC CAPITAL LETTER E
-	0x00f9: 0x0449,	# CYRILLIC SMALL LETTER SHCHA
-	0x00fa: 0x0429,	# CYRILLIC CAPITAL LETTER SHCHA
-	0x00fb: 0x0447,	# CYRILLIC SMALL LETTER CHE
-	0x00fc: 0x0427,	# CYRILLIC CAPITAL LETTER CHE
-	0x00fd: 0x00a7,	# SECTION SIGN
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x0452, # CYRILLIC SMALL LETTER DJE
+        0x0081: 0x0402, # CYRILLIC CAPITAL LETTER DJE
+        0x0082: 0x0453, # CYRILLIC SMALL LETTER GJE
+        0x0083: 0x0403, # CYRILLIC CAPITAL LETTER GJE
+        0x0084: 0x0451, # CYRILLIC SMALL LETTER IO
+        0x0085: 0x0401, # CYRILLIC CAPITAL LETTER IO
+        0x0086: 0x0454, # CYRILLIC SMALL LETTER UKRAINIAN IE
+        0x0087: 0x0404, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+        0x0088: 0x0455, # CYRILLIC SMALL LETTER DZE
+        0x0089: 0x0405, # CYRILLIC CAPITAL LETTER DZE
+        0x008a: 0x0456, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+        0x008b: 0x0406, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+        0x008c: 0x0457, # CYRILLIC SMALL LETTER YI
+        0x008d: 0x0407, # CYRILLIC CAPITAL LETTER YI
+        0x008e: 0x0458, # CYRILLIC SMALL LETTER JE
+        0x008f: 0x0408, # CYRILLIC CAPITAL LETTER JE
+        0x0090: 0x0459, # CYRILLIC SMALL LETTER LJE
+        0x0091: 0x0409, # CYRILLIC CAPITAL LETTER LJE
+        0x0092: 0x045a, # CYRILLIC SMALL LETTER NJE
+        0x0093: 0x040a, # CYRILLIC CAPITAL LETTER NJE
+        0x0094: 0x045b, # CYRILLIC SMALL LETTER TSHE
+        0x0095: 0x040b, # CYRILLIC CAPITAL LETTER TSHE
+        0x0096: 0x045c, # CYRILLIC SMALL LETTER KJE
+        0x0097: 0x040c, # CYRILLIC CAPITAL LETTER KJE
+        0x0098: 0x045e, # CYRILLIC SMALL LETTER SHORT U
+        0x0099: 0x040e, # CYRILLIC CAPITAL LETTER SHORT U
+        0x009a: 0x045f, # CYRILLIC SMALL LETTER DZHE
+        0x009b: 0x040f, # CYRILLIC CAPITAL LETTER DZHE
+        0x009c: 0x044e, # CYRILLIC SMALL LETTER YU
+        0x009d: 0x042e, # CYRILLIC CAPITAL LETTER YU
+        0x009e: 0x044a, # CYRILLIC SMALL LETTER HARD SIGN
+        0x009f: 0x042a, # CYRILLIC CAPITAL LETTER HARD SIGN
+        0x00a0: 0x0430, # CYRILLIC SMALL LETTER A
+        0x00a1: 0x0410, # CYRILLIC CAPITAL LETTER A
+        0x00a2: 0x0431, # CYRILLIC SMALL LETTER BE
+        0x00a3: 0x0411, # CYRILLIC CAPITAL LETTER BE
+        0x00a4: 0x0446, # CYRILLIC SMALL LETTER TSE
+        0x00a5: 0x0426, # CYRILLIC CAPITAL LETTER TSE
+        0x00a6: 0x0434, # CYRILLIC SMALL LETTER DE
+        0x00a7: 0x0414, # CYRILLIC CAPITAL LETTER DE
+        0x00a8: 0x0435, # CYRILLIC SMALL LETTER IE
+        0x00a9: 0x0415, # CYRILLIC CAPITAL LETTER IE
+        0x00aa: 0x0444, # CYRILLIC SMALL LETTER EF
+        0x00ab: 0x0424, # CYRILLIC CAPITAL LETTER EF
+        0x00ac: 0x0433, # CYRILLIC SMALL LETTER GHE
+        0x00ad: 0x0413, # CYRILLIC CAPITAL LETTER GHE
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x0445, # CYRILLIC SMALL LETTER HA
+        0x00b6: 0x0425, # CYRILLIC CAPITAL LETTER HA
+        0x00b7: 0x0438, # CYRILLIC SMALL LETTER I
+        0x00b8: 0x0418, # CYRILLIC CAPITAL LETTER I
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x0439, # CYRILLIC SMALL LETTER SHORT I
+        0x00be: 0x0419, # CYRILLIC CAPITAL LETTER SHORT I
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x043a, # CYRILLIC SMALL LETTER KA
+        0x00c7: 0x041a, # CYRILLIC CAPITAL LETTER KA
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x00a4, # CURRENCY SIGN
+        0x00d0: 0x043b, # CYRILLIC SMALL LETTER EL
+        0x00d1: 0x041b, # CYRILLIC CAPITAL LETTER EL
+        0x00d2: 0x043c, # CYRILLIC SMALL LETTER EM
+        0x00d3: 0x041c, # CYRILLIC CAPITAL LETTER EM
+        0x00d4: 0x043d, # CYRILLIC SMALL LETTER EN
+        0x00d5: 0x041d, # CYRILLIC CAPITAL LETTER EN
+        0x00d6: 0x043e, # CYRILLIC SMALL LETTER O
+        0x00d7: 0x041e, # CYRILLIC CAPITAL LETTER O
+        0x00d8: 0x043f, # CYRILLIC SMALL LETTER PE
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x041f, # CYRILLIC CAPITAL LETTER PE
+        0x00de: 0x044f, # CYRILLIC SMALL LETTER YA
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x042f, # CYRILLIC CAPITAL LETTER YA
+        0x00e1: 0x0440, # CYRILLIC SMALL LETTER ER
+        0x00e2: 0x0420, # CYRILLIC CAPITAL LETTER ER
+        0x00e3: 0x0441, # CYRILLIC SMALL LETTER ES
+        0x00e4: 0x0421, # CYRILLIC CAPITAL LETTER ES
+        0x00e5: 0x0442, # CYRILLIC SMALL LETTER TE
+        0x00e6: 0x0422, # CYRILLIC CAPITAL LETTER TE
+        0x00e7: 0x0443, # CYRILLIC SMALL LETTER U
+        0x00e8: 0x0423, # CYRILLIC CAPITAL LETTER U
+        0x00e9: 0x0436, # CYRILLIC SMALL LETTER ZHE
+        0x00ea: 0x0416, # CYRILLIC CAPITAL LETTER ZHE
+        0x00eb: 0x0432, # CYRILLIC SMALL LETTER VE
+        0x00ec: 0x0412, # CYRILLIC CAPITAL LETTER VE
+        0x00ed: 0x044c, # CYRILLIC SMALL LETTER SOFT SIGN
+        0x00ee: 0x042c, # CYRILLIC CAPITAL LETTER SOFT SIGN
+        0x00ef: 0x2116, # NUMERO SIGN
+        0x00f0: 0x00ad, # SOFT HYPHEN
+        0x00f1: 0x044b, # CYRILLIC SMALL LETTER YERU
+        0x00f2: 0x042b, # CYRILLIC CAPITAL LETTER YERU
+        0x00f3: 0x0437, # CYRILLIC SMALL LETTER ZE
+        0x00f4: 0x0417, # CYRILLIC CAPITAL LETTER ZE
+        0x00f5: 0x0448, # CYRILLIC SMALL LETTER SHA
+        0x00f6: 0x0428, # CYRILLIC CAPITAL LETTER SHA
+        0x00f7: 0x044d, # CYRILLIC SMALL LETTER E
+        0x00f8: 0x042d, # CYRILLIC CAPITAL LETTER E
+        0x00f9: 0x0449, # CYRILLIC SMALL LETTER SHCHA
+        0x00fa: 0x0429, # CYRILLIC CAPITAL LETTER SHCHA
+        0x00fb: 0x0447, # CYRILLIC SMALL LETTER CHE
+        0x00fc: 0x0427, # CYRILLIC CAPITAL LETTER CHE
+        0x00fd: 0x00a7, # SECTION SIGN
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp856.py b/Lib/encodings/cp856.py
index 9d09c09..1bf67f0 100644
--- a/Lib/encodings/cp856.py
+++ b/Lib/encodings/cp856.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x05d0,	# HEBREW LETTER ALEF
-	0x0081: 0x05d1,	# HEBREW LETTER BET
-	0x0082: 0x05d2,	# HEBREW LETTER GIMEL
-	0x0083: 0x05d3,	# HEBREW LETTER DALET
-	0x0084: 0x05d4,	# HEBREW LETTER HE
-	0x0085: 0x05d5,	# HEBREW LETTER VAV
-	0x0086: 0x05d6,	# HEBREW LETTER ZAYIN
-	0x0087: 0x05d7,	# HEBREW LETTER HET
-	0x0088: 0x05d8,	# HEBREW LETTER TET
-	0x0089: 0x05d9,	# HEBREW LETTER YOD
-	0x008a: 0x05da,	# HEBREW LETTER FINAL KAF
-	0x008b: 0x05db,	# HEBREW LETTER KAF
-	0x008c: 0x05dc,	# HEBREW LETTER LAMED
-	0x008d: 0x05dd,	# HEBREW LETTER FINAL MEM
-	0x008e: 0x05de,	# HEBREW LETTER MEM
-	0x008f: 0x05df,	# HEBREW LETTER FINAL NUN
-	0x0090: 0x05e0,	# HEBREW LETTER NUN
-	0x0091: 0x05e1,	# HEBREW LETTER SAMEKH
-	0x0092: 0x05e2,	# HEBREW LETTER AYIN
-	0x0093: 0x05e3,	# HEBREW LETTER FINAL PE
-	0x0094: 0x05e4,	# HEBREW LETTER PE
-	0x0095: 0x05e5,	# HEBREW LETTER FINAL TSADI
-	0x0096: 0x05e6,	# HEBREW LETTER TSADI
-	0x0097: 0x05e7,	# HEBREW LETTER QOF
-	0x0098: 0x05e8,	# HEBREW LETTER RESH
-	0x0099: 0x05e9,	# HEBREW LETTER SHIN
-	0x009a: 0x05ea,	# HEBREW LETTER TAV
-	0x009b: None,	# UNDEFINED
-	0x009c: 0x00a3,	# POUND SIGN
-	0x009d: None,	# UNDEFINED
-	0x009e: 0x00d7,	# MULTIPLICATION SIGN
-	0x009f: None,	# UNDEFINED
-	0x00a0: None,	# UNDEFINED
-	0x00a1: None,	# UNDEFINED
-	0x00a2: None,	# UNDEFINED
-	0x00a3: None,	# UNDEFINED
-	0x00a4: None,	# UNDEFINED
-	0x00a5: None,	# UNDEFINED
-	0x00a6: None,	# UNDEFINED
-	0x00a7: None,	# UNDEFINED
-	0x00a8: None,	# UNDEFINED
-	0x00a9: 0x00ae,	# REGISTERED SIGN
-	0x00aa: 0x00ac,	# NOT SIGN
-	0x00ab: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00ac: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00ad: None,	# UNDEFINED
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: None,	# UNDEFINED
-	0x00b6: None,	# UNDEFINED
-	0x00b7: None,	# UNDEFINED
-	0x00b8: 0x00a9,	# COPYRIGHT SIGN
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x00a2,	# CENT SIGN
-	0x00be: 0x00a5,	# YEN SIGN
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: None,	# UNDEFINED
-	0x00c7: None,	# UNDEFINED
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x00a4,	# CURRENCY SIGN
-	0x00d0: None,	# UNDEFINED
-	0x00d1: None,	# UNDEFINED
-	0x00d2: None,	# UNDEFINED
-	0x00d3: None,	# UNDEFINEDS
-	0x00d4: None,	# UNDEFINED
-	0x00d5: None,	# UNDEFINED
-	0x00d6: None,	# UNDEFINEDE
-	0x00d7: None,	# UNDEFINED
-	0x00d8: None,	# UNDEFINED
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x00a6,	# BROKEN BAR
-	0x00de: None,	# UNDEFINED
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: None,	# UNDEFINED
-	0x00e1: None,	# UNDEFINED
-	0x00e2: None,	# UNDEFINED
-	0x00e3: None,	# UNDEFINED
-	0x00e4: None,	# UNDEFINED
-	0x00e5: None,	# UNDEFINED
-	0x00e6: 0x00b5,	# MICRO SIGN
-	0x00e7: None,	# UNDEFINED
-	0x00e8: None,	# UNDEFINED
-	0x00e9: None,	# UNDEFINED
-	0x00ea: None,	# UNDEFINED
-	0x00eb: None,	# UNDEFINED
-	0x00ec: None,	# UNDEFINED
-	0x00ed: None,	# UNDEFINED
-	0x00ee: 0x00af,	# MACRON
-	0x00ef: 0x00b4,	# ACUTE ACCENT
-	0x00f0: 0x00ad,	# SOFT HYPHEN
-	0x00f1: 0x00b1,	# PLUS-MINUS SIGN
-	0x00f2: 0x2017,	# DOUBLE LOW LINE
-	0x00f3: 0x00be,	# VULGAR FRACTION THREE QUARTERS
-	0x00f4: 0x00b6,	# PILCROW SIGN
-	0x00f5: 0x00a7,	# SECTION SIGN
-	0x00f6: 0x00f7,	# DIVISION SIGN
-	0x00f7: 0x00b8,	# CEDILLA
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x00a8,	# DIAERESIS
-	0x00fa: 0x00b7,	# MIDDLE DOT
-	0x00fb: 0x00b9,	# SUPERSCRIPT ONE
-	0x00fc: 0x00b3,	# SUPERSCRIPT THREE
-	0x00fd: 0x00b2,	# SUPERSCRIPT TWO
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x05d0, # HEBREW LETTER ALEF
+        0x0081: 0x05d1, # HEBREW LETTER BET
+        0x0082: 0x05d2, # HEBREW LETTER GIMEL
+        0x0083: 0x05d3, # HEBREW LETTER DALET
+        0x0084: 0x05d4, # HEBREW LETTER HE
+        0x0085: 0x05d5, # HEBREW LETTER VAV
+        0x0086: 0x05d6, # HEBREW LETTER ZAYIN
+        0x0087: 0x05d7, # HEBREW LETTER HET
+        0x0088: 0x05d8, # HEBREW LETTER TET
+        0x0089: 0x05d9, # HEBREW LETTER YOD
+        0x008a: 0x05da, # HEBREW LETTER FINAL KAF
+        0x008b: 0x05db, # HEBREW LETTER KAF
+        0x008c: 0x05dc, # HEBREW LETTER LAMED
+        0x008d: 0x05dd, # HEBREW LETTER FINAL MEM
+        0x008e: 0x05de, # HEBREW LETTER MEM
+        0x008f: 0x05df, # HEBREW LETTER FINAL NUN
+        0x0090: 0x05e0, # HEBREW LETTER NUN
+        0x0091: 0x05e1, # HEBREW LETTER SAMEKH
+        0x0092: 0x05e2, # HEBREW LETTER AYIN
+        0x0093: 0x05e3, # HEBREW LETTER FINAL PE
+        0x0094: 0x05e4, # HEBREW LETTER PE
+        0x0095: 0x05e5, # HEBREW LETTER FINAL TSADI
+        0x0096: 0x05e6, # HEBREW LETTER TSADI
+        0x0097: 0x05e7, # HEBREW LETTER QOF
+        0x0098: 0x05e8, # HEBREW LETTER RESH
+        0x0099: 0x05e9, # HEBREW LETTER SHIN
+        0x009a: 0x05ea, # HEBREW LETTER TAV
+        0x009b: None,   # UNDEFINED
+        0x009c: 0x00a3, # POUND SIGN
+        0x009d: None,   # UNDEFINED
+        0x009e: 0x00d7, # MULTIPLICATION SIGN
+        0x009f: None,   # UNDEFINED
+        0x00a0: None,   # UNDEFINED
+        0x00a1: None,   # UNDEFINED
+        0x00a2: None,   # UNDEFINED
+        0x00a3: None,   # UNDEFINED
+        0x00a4: None,   # UNDEFINED
+        0x00a5: None,   # UNDEFINED
+        0x00a6: None,   # UNDEFINED
+        0x00a7: None,   # UNDEFINED
+        0x00a8: None,   # UNDEFINED
+        0x00a9: 0x00ae, # REGISTERED SIGN
+        0x00aa: 0x00ac, # NOT SIGN
+        0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00ad: None,   # UNDEFINED
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: None,   # UNDEFINED
+        0x00b6: None,   # UNDEFINED
+        0x00b7: None,   # UNDEFINED
+        0x00b8: 0x00a9, # COPYRIGHT SIGN
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x00a2, # CENT SIGN
+        0x00be: 0x00a5, # YEN SIGN
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: None,   # UNDEFINED
+        0x00c7: None,   # UNDEFINED
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x00a4, # CURRENCY SIGN
+        0x00d0: None,   # UNDEFINED
+        0x00d1: None,   # UNDEFINED
+        0x00d2: None,   # UNDEFINED
+        0x00d3: None,   # UNDEFINEDS
+        0x00d4: None,   # UNDEFINED
+        0x00d5: None,   # UNDEFINED
+        0x00d6: None,   # UNDEFINEDE
+        0x00d7: None,   # UNDEFINED
+        0x00d8: None,   # UNDEFINED
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x00a6, # BROKEN BAR
+        0x00de: None,   # UNDEFINED
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: None,   # UNDEFINED
+        0x00e1: None,   # UNDEFINED
+        0x00e2: None,   # UNDEFINED
+        0x00e3: None,   # UNDEFINED
+        0x00e4: None,   # UNDEFINED
+        0x00e5: None,   # UNDEFINED
+        0x00e6: 0x00b5, # MICRO SIGN
+        0x00e7: None,   # UNDEFINED
+        0x00e8: None,   # UNDEFINED
+        0x00e9: None,   # UNDEFINED
+        0x00ea: None,   # UNDEFINED
+        0x00eb: None,   # UNDEFINED
+        0x00ec: None,   # UNDEFINED
+        0x00ed: None,   # UNDEFINED
+        0x00ee: 0x00af, # MACRON
+        0x00ef: 0x00b4, # ACUTE ACCENT
+        0x00f0: 0x00ad, # SOFT HYPHEN
+        0x00f1: 0x00b1, # PLUS-MINUS SIGN
+        0x00f2: 0x2017, # DOUBLE LOW LINE
+        0x00f3: 0x00be, # VULGAR FRACTION THREE QUARTERS
+        0x00f4: 0x00b6, # PILCROW SIGN
+        0x00f5: 0x00a7, # SECTION SIGN
+        0x00f6: 0x00f7, # DIVISION SIGN
+        0x00f7: 0x00b8, # CEDILLA
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x00a8, # DIAERESIS
+        0x00fa: 0x00b7, # MIDDLE DOT
+        0x00fb: 0x00b9, # SUPERSCRIPT ONE
+        0x00fc: 0x00b3, # SUPERSCRIPT THREE
+        0x00fd: 0x00b2, # SUPERSCRIPT TWO
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp857.py b/Lib/encodings/cp857.py
index 5c84bb8..bc26241 100644
--- a/Lib/encodings/cp857.py
+++ b/Lib/encodings/cp857.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,133 +37,133 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0081: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x0082: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x0083: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x0084: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x0085: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0086: 0x00e5,	# LATIN SMALL LETTER A WITH RING ABOVE
-	0x0087: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x0088: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0089: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x008a: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x008b: 0x00ef,	# LATIN SMALL LETTER I WITH DIAERESIS
-	0x008c: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x008d: 0x0131,	# LATIN SMALL LETTER DOTLESS I
-	0x008e: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x008f: 0x00c5,	# LATIN CAPITAL LETTER A WITH RING ABOVE
-	0x0090: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0091: 0x00e6,	# LATIN SMALL LIGATURE AE
-	0x0092: 0x00c6,	# LATIN CAPITAL LIGATURE AE
-	0x0093: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x0094: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x0095: 0x00f2,	# LATIN SMALL LETTER O WITH GRAVE
-	0x0096: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x0097: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x0098: 0x0130,	# LATIN CAPITAL LETTER I WITH DOT ABOVE
-	0x0099: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x009a: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x009b: 0x00f8,	# LATIN SMALL LETTER O WITH STROKE
-	0x009c: 0x00a3,	# POUND SIGN
-	0x009d: 0x00d8,	# LATIN CAPITAL LETTER O WITH STROKE
-	0x009e: 0x015e,	# LATIN CAPITAL LETTER S WITH CEDILLA
-	0x009f: 0x015f,	# LATIN SMALL LETTER S WITH CEDILLA
-	0x00a0: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x00a1: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x00a2: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00a3: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x00a4: 0x00f1,	# LATIN SMALL LETTER N WITH TILDE
-	0x00a5: 0x00d1,	# LATIN CAPITAL LETTER N WITH TILDE
-	0x00a6: 0x011e,	# LATIN CAPITAL LETTER G WITH BREVE
-	0x00a7: 0x011f,	# LATIN SMALL LETTER G WITH BREVE
-	0x00a8: 0x00bf,	# INVERTED QUESTION MARK
-	0x00a9: 0x00ae,	# REGISTERED SIGN
-	0x00aa: 0x00ac,	# NOT SIGN
-	0x00ab: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00ac: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00ad: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x00c1,	# LATIN CAPITAL LETTER A WITH ACUTE
-	0x00b6: 0x00c2,	# LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-	0x00b7: 0x00c0,	# LATIN CAPITAL LETTER A WITH GRAVE
-	0x00b8: 0x00a9,	# COPYRIGHT SIGN
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x00a2,	# CENT SIGN
-	0x00be: 0x00a5,	# YEN SIGN
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x00e3,	# LATIN SMALL LETTER A WITH TILDE
-	0x00c7: 0x00c3,	# LATIN CAPITAL LETTER A WITH TILDE
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x00a4,	# CURRENCY SIGN
-	0x00d0: 0x00ba,	# MASCULINE ORDINAL INDICATOR
-	0x00d1: 0x00aa,	# FEMININE ORDINAL INDICATOR
-	0x00d2: 0x00ca,	# LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-	0x00d3: 0x00cb,	# LATIN CAPITAL LETTER E WITH DIAERESIS
-	0x00d4: 0x00c8,	# LATIN CAPITAL LETTER E WITH GRAVE
-	0x00d5: None,	# UNDEFINED
-	0x00d6: 0x00cd,	# LATIN CAPITAL LETTER I WITH ACUTE
-	0x00d7: 0x00ce,	# LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-	0x00d8: 0x00cf,	# LATIN CAPITAL LETTER I WITH DIAERESIS
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x00a6,	# BROKEN BAR
-	0x00de: 0x00cc,	# LATIN CAPITAL LETTER I WITH GRAVE
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00e1: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00e2: 0x00d4,	# LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-	0x00e3: 0x00d2,	# LATIN CAPITAL LETTER O WITH GRAVE
-	0x00e4: 0x00f5,	# LATIN SMALL LETTER O WITH TILDE
-	0x00e5: 0x00d5,	# LATIN CAPITAL LETTER O WITH TILDE
-	0x00e6: 0x00b5,	# MICRO SIGN
-	0x00e7: None,	# UNDEFINED
-	0x00e8: 0x00d7,	# MULTIPLICATION SIGN
-	0x00e9: 0x00da,	# LATIN CAPITAL LETTER U WITH ACUTE
-	0x00ea: 0x00db,	# LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-	0x00eb: 0x00d9,	# LATIN CAPITAL LETTER U WITH GRAVE
-	0x00ed: 0x00ff,	# LATIN SMALL LETTER Y WITH DIAERESIS
-	0x00ee: 0x00af,	# MACRON
-	0x00ef: 0x00b4,	# ACUTE ACCENT
-	0x00f0: 0x00ad,	# SOFT HYPHEN
-	0x00f1: 0x00b1,	# PLUS-MINUS SIGN
-	0x00f2: None,	# UNDEFINED
-	0x00f3: 0x00be,	# VULGAR FRACTION THREE QUARTERS
-	0x00f4: 0x00b6,	# PILCROW SIGN
-	0x00f5: 0x00a7,	# SECTION SIGN
-	0x00f6: 0x00f7,	# DIVISION SIGN
-	0x00f7: 0x00b8,	# CEDILLA
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x00a8,	# DIAERESIS
-	0x00fa: 0x00b7,	# MIDDLE DOT
-	0x00fb: 0x00b9,	# SUPERSCRIPT ONE
-	0x00fc: 0x00b3,	# SUPERSCRIPT THREE
-	0x00fd: 0x00b2,	# SUPERSCRIPT TWO
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+        0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+        0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x008d: 0x0131, # LATIN SMALL LETTER DOTLESS I
+        0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+        0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
+        0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
+        0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+        0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x0098: 0x0130, # LATIN CAPITAL LETTER I WITH DOT ABOVE
+        0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+        0x009c: 0x00a3, # POUND SIGN
+        0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+        0x009e: 0x015e, # LATIN CAPITAL LETTER S WITH CEDILLA
+        0x009f: 0x015f, # LATIN SMALL LETTER S WITH CEDILLA
+        0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+        0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+        0x00a6: 0x011e, # LATIN CAPITAL LETTER G WITH BREVE
+        0x00a7: 0x011f, # LATIN SMALL LETTER G WITH BREVE
+        0x00a8: 0x00bf, # INVERTED QUESTION MARK
+        0x00a9: 0x00ae, # REGISTERED SIGN
+        0x00aa: 0x00ac, # NOT SIGN
+        0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+        0x00b6: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+        0x00b7: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+        0x00b8: 0x00a9, # COPYRIGHT SIGN
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x00a2, # CENT SIGN
+        0x00be: 0x00a5, # YEN SIGN
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
+        0x00c7: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x00a4, # CURRENCY SIGN
+        0x00d0: 0x00ba, # MASCULINE ORDINAL INDICATOR
+        0x00d1: 0x00aa, # FEMININE ORDINAL INDICATOR
+        0x00d2: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+        0x00d3: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+        0x00d4: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+        0x00d5: None,   # UNDEFINED
+        0x00d6: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+        0x00d7: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+        0x00d8: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x00a6, # BROKEN BAR
+        0x00de: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00e2: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+        0x00e3: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
+        0x00e4: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+        0x00e5: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+        0x00e6: 0x00b5, # MICRO SIGN
+        0x00e7: None,   # UNDEFINED
+        0x00e8: 0x00d7, # MULTIPLICATION SIGN
+        0x00e9: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+        0x00ea: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+        0x00eb: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+        0x00ed: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+        0x00ee: 0x00af, # MACRON
+        0x00ef: 0x00b4, # ACUTE ACCENT
+        0x00f0: 0x00ad, # SOFT HYPHEN
+        0x00f1: 0x00b1, # PLUS-MINUS SIGN
+        0x00f2: None,   # UNDEFINED
+        0x00f3: 0x00be, # VULGAR FRACTION THREE QUARTERS
+        0x00f4: 0x00b6, # PILCROW SIGN
+        0x00f5: 0x00a7, # SECTION SIGN
+        0x00f6: 0x00f7, # DIVISION SIGN
+        0x00f7: 0x00b8, # CEDILLA
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x00a8, # DIAERESIS
+        0x00fa: 0x00b7, # MIDDLE DOT
+        0x00fb: 0x00b9, # SUPERSCRIPT ONE
+        0x00fc: 0x00b3, # SUPERSCRIPT THREE
+        0x00fd: 0x00b2, # SUPERSCRIPT TWO
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp860.py b/Lib/encodings/cp860.py
index a721ea3..ae0fcd8 100644
--- a/Lib/encodings/cp860.py
+++ b/Lib/encodings/cp860.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0081: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x0082: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x0083: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x0084: 0x00e3,	# LATIN SMALL LETTER A WITH TILDE
-	0x0085: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0086: 0x00c1,	# LATIN CAPITAL LETTER A WITH ACUTE
-	0x0087: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x0088: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0089: 0x00ca,	# LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-	0x008a: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x008b: 0x00cd,	# LATIN CAPITAL LETTER I WITH ACUTE
-	0x008c: 0x00d4,	# LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-	0x008d: 0x00ec,	# LATIN SMALL LETTER I WITH GRAVE
-	0x008e: 0x00c3,	# LATIN CAPITAL LETTER A WITH TILDE
-	0x008f: 0x00c2,	# LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-	0x0090: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0091: 0x00c0,	# LATIN CAPITAL LETTER A WITH GRAVE
-	0x0092: 0x00c8,	# LATIN CAPITAL LETTER E WITH GRAVE
-	0x0093: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x0094: 0x00f5,	# LATIN SMALL LETTER O WITH TILDE
-	0x0095: 0x00f2,	# LATIN SMALL LETTER O WITH GRAVE
-	0x0096: 0x00da,	# LATIN CAPITAL LETTER U WITH ACUTE
-	0x0097: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x0098: 0x00cc,	# LATIN CAPITAL LETTER I WITH GRAVE
-	0x0099: 0x00d5,	# LATIN CAPITAL LETTER O WITH TILDE
-	0x009a: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x009b: 0x00a2,	# CENT SIGN
-	0x009c: 0x00a3,	# POUND SIGN
-	0x009d: 0x00d9,	# LATIN CAPITAL LETTER U WITH GRAVE
-	0x009e: 0x20a7,	# PESETA SIGN
-	0x009f: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00a0: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x00a1: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x00a2: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00a3: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x00a4: 0x00f1,	# LATIN SMALL LETTER N WITH TILDE
-	0x00a5: 0x00d1,	# LATIN CAPITAL LETTER N WITH TILDE
-	0x00a6: 0x00aa,	# FEMININE ORDINAL INDICATOR
-	0x00a7: 0x00ba,	# MASCULINE ORDINAL INDICATOR
-	0x00a8: 0x00bf,	# INVERTED QUESTION MARK
-	0x00a9: 0x00d2,	# LATIN CAPITAL LETTER O WITH GRAVE
-	0x00aa: 0x00ac,	# NOT SIGN
-	0x00ab: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00ac: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00ad: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x2561,	# BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-	0x00b6: 0x2562,	# BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-	0x00b7: 0x2556,	# BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-	0x00b8: 0x2555,	# BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x255c,	# BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-	0x00be: 0x255b,	# BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x255e,	# BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-	0x00c7: 0x255f,	# BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x2567,	# BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-	0x00d0: 0x2568,	# BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-	0x00d1: 0x2564,	# BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-	0x00d2: 0x2565,	# BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-	0x00d3: 0x2559,	# BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-	0x00d4: 0x2558,	# BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-	0x00d5: 0x2552,	# BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-	0x00d6: 0x2553,	# BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-	0x00d7: 0x256b,	# BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-	0x00d8: 0x256a,	# BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x258c,	# LEFT HALF BLOCK
-	0x00de: 0x2590,	# RIGHT HALF BLOCK
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x03b1,	# GREEK SMALL LETTER ALPHA
-	0x00e1: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00e2: 0x0393,	# GREEK CAPITAL LETTER GAMMA
-	0x00e3: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00e4: 0x03a3,	# GREEK CAPITAL LETTER SIGMA
-	0x00e5: 0x03c3,	# GREEK SMALL LETTER SIGMA
-	0x00e6: 0x00b5,	# MICRO SIGN
-	0x00e7: 0x03c4,	# GREEK SMALL LETTER TAU
-	0x00e8: 0x03a6,	# GREEK CAPITAL LETTER PHI
-	0x00e9: 0x0398,	# GREEK CAPITAL LETTER THETA
-	0x00ea: 0x03a9,	# GREEK CAPITAL LETTER OMEGA
-	0x00eb: 0x03b4,	# GREEK SMALL LETTER DELTA
-	0x00ec: 0x221e,	# INFINITY
-	0x00ed: 0x03c6,	# GREEK SMALL LETTER PHI
-	0x00ee: 0x03b5,	# GREEK SMALL LETTER EPSILON
-	0x00ef: 0x2229,	# INTERSECTION
-	0x00f0: 0x2261,	# IDENTICAL TO
-	0x00f1: 0x00b1,	# PLUS-MINUS SIGN
-	0x00f2: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00f3: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00f4: 0x2320,	# TOP HALF INTEGRAL
-	0x00f5: 0x2321,	# BOTTOM HALF INTEGRAL
-	0x00f6: 0x00f7,	# DIVISION SIGN
-	0x00f7: 0x2248,	# ALMOST EQUAL TO
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x2219,	# BULLET OPERATOR
-	0x00fa: 0x00b7,	# MIDDLE DOT
-	0x00fb: 0x221a,	# SQUARE ROOT
-	0x00fc: 0x207f,	# SUPERSCRIPT LATIN SMALL LETTER N
-	0x00fd: 0x00b2,	# SUPERSCRIPT TWO
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x0084: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
+        0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0086: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+        0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0089: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+        0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x008b: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+        0x008c: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+        0x008d: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+        0x008e: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
+        0x008f: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+        0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0091: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+        0x0092: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+        0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x0094: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+        0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+        0x0096: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+        0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x0098: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
+        0x0099: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+        0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x009b: 0x00a2, # CENT SIGN
+        0x009c: 0x00a3, # POUND SIGN
+        0x009d: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+        0x009e: 0x20a7, # PESETA SIGN
+        0x009f: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+        0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+        0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
+        0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
+        0x00a8: 0x00bf, # INVERTED QUESTION MARK
+        0x00a9: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
+        0x00aa: 0x00ac, # NOT SIGN
+        0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+        0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+        0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+        0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+        0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+        0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+        0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+        0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+        0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+        0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+        0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+        0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+        0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+        0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+        0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x258c, # LEFT HALF BLOCK
+        0x00de: 0x2590, # RIGHT HALF BLOCK
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
+        0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
+        0x00e3: 0x03c0, # GREEK SMALL LETTER PI
+        0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+        0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
+        0x00e6: 0x00b5, # MICRO SIGN
+        0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
+        0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
+        0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
+        0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+        0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
+        0x00ec: 0x221e, # INFINITY
+        0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
+        0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
+        0x00ef: 0x2229, # INTERSECTION
+        0x00f0: 0x2261, # IDENTICAL TO
+        0x00f1: 0x00b1, # PLUS-MINUS SIGN
+        0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00f4: 0x2320, # TOP HALF INTEGRAL
+        0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
+        0x00f6: 0x00f7, # DIVISION SIGN
+        0x00f7: 0x2248, # ALMOST EQUAL TO
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x2219, # BULLET OPERATOR
+        0x00fa: 0x00b7, # MIDDLE DOT
+        0x00fb: 0x221a, # SQUARE ROOT
+        0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+        0x00fd: 0x00b2, # SUPERSCRIPT TWO
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp861.py b/Lib/encodings/cp861.py
index ccf26b7..4d15b81 100644
--- a/Lib/encodings/cp861.py
+++ b/Lib/encodings/cp861.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0081: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x0082: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x0083: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x0084: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x0085: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0086: 0x00e5,	# LATIN SMALL LETTER A WITH RING ABOVE
-	0x0087: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x0088: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0089: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x008a: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x008b: 0x00d0,	# LATIN CAPITAL LETTER ETH
-	0x008c: 0x00f0,	# LATIN SMALL LETTER ETH
-	0x008d: 0x00de,	# LATIN CAPITAL LETTER THORN
-	0x008e: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x008f: 0x00c5,	# LATIN CAPITAL LETTER A WITH RING ABOVE
-	0x0090: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0091: 0x00e6,	# LATIN SMALL LIGATURE AE
-	0x0092: 0x00c6,	# LATIN CAPITAL LIGATURE AE
-	0x0093: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x0094: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x0095: 0x00fe,	# LATIN SMALL LETTER THORN
-	0x0096: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x0097: 0x00dd,	# LATIN CAPITAL LETTER Y WITH ACUTE
-	0x0098: 0x00fd,	# LATIN SMALL LETTER Y WITH ACUTE
-	0x0099: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x009a: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x009b: 0x00f8,	# LATIN SMALL LETTER O WITH STROKE
-	0x009c: 0x00a3,	# POUND SIGN
-	0x009d: 0x00d8,	# LATIN CAPITAL LETTER O WITH STROKE
-	0x009e: 0x20a7,	# PESETA SIGN
-	0x009f: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x00a0: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x00a1: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x00a2: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00a3: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x00a4: 0x00c1,	# LATIN CAPITAL LETTER A WITH ACUTE
-	0x00a5: 0x00cd,	# LATIN CAPITAL LETTER I WITH ACUTE
-	0x00a6: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00a7: 0x00da,	# LATIN CAPITAL LETTER U WITH ACUTE
-	0x00a8: 0x00bf,	# INVERTED QUESTION MARK
-	0x00a9: 0x2310,	# REVERSED NOT SIGN
-	0x00aa: 0x00ac,	# NOT SIGN
-	0x00ab: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00ac: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00ad: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x2561,	# BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-	0x00b6: 0x2562,	# BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-	0x00b7: 0x2556,	# BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-	0x00b8: 0x2555,	# BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x255c,	# BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-	0x00be: 0x255b,	# BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x255e,	# BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-	0x00c7: 0x255f,	# BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x2567,	# BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-	0x00d0: 0x2568,	# BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-	0x00d1: 0x2564,	# BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-	0x00d2: 0x2565,	# BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-	0x00d3: 0x2559,	# BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-	0x00d4: 0x2558,	# BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-	0x00d5: 0x2552,	# BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-	0x00d6: 0x2553,	# BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-	0x00d7: 0x256b,	# BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-	0x00d8: 0x256a,	# BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x258c,	# LEFT HALF BLOCK
-	0x00de: 0x2590,	# RIGHT HALF BLOCK
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x03b1,	# GREEK SMALL LETTER ALPHA
-	0x00e1: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00e2: 0x0393,	# GREEK CAPITAL LETTER GAMMA
-	0x00e3: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00e4: 0x03a3,	# GREEK CAPITAL LETTER SIGMA
-	0x00e5: 0x03c3,	# GREEK SMALL LETTER SIGMA
-	0x00e6: 0x00b5,	# MICRO SIGN
-	0x00e7: 0x03c4,	# GREEK SMALL LETTER TAU
-	0x00e8: 0x03a6,	# GREEK CAPITAL LETTER PHI
-	0x00e9: 0x0398,	# GREEK CAPITAL LETTER THETA
-	0x00ea: 0x03a9,	# GREEK CAPITAL LETTER OMEGA
-	0x00eb: 0x03b4,	# GREEK SMALL LETTER DELTA
-	0x00ec: 0x221e,	# INFINITY
-	0x00ed: 0x03c6,	# GREEK SMALL LETTER PHI
-	0x00ee: 0x03b5,	# GREEK SMALL LETTER EPSILON
-	0x00ef: 0x2229,	# INTERSECTION
-	0x00f0: 0x2261,	# IDENTICAL TO
-	0x00f1: 0x00b1,	# PLUS-MINUS SIGN
-	0x00f2: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00f3: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00f4: 0x2320,	# TOP HALF INTEGRAL
-	0x00f5: 0x2321,	# BOTTOM HALF INTEGRAL
-	0x00f6: 0x00f7,	# DIVISION SIGN
-	0x00f7: 0x2248,	# ALMOST EQUAL TO
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x2219,	# BULLET OPERATOR
-	0x00fa: 0x00b7,	# MIDDLE DOT
-	0x00fb: 0x221a,	# SQUARE ROOT
-	0x00fc: 0x207f,	# SUPERSCRIPT LATIN SMALL LETTER N
-	0x00fd: 0x00b2,	# SUPERSCRIPT TWO
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+        0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x008b: 0x00d0, # LATIN CAPITAL LETTER ETH
+        0x008c: 0x00f0, # LATIN SMALL LETTER ETH
+        0x008d: 0x00de, # LATIN CAPITAL LETTER THORN
+        0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+        0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
+        0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
+        0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x0095: 0x00fe, # LATIN SMALL LETTER THORN
+        0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x0097: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
+        0x0098: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
+        0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+        0x009c: 0x00a3, # POUND SIGN
+        0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+        0x009e: 0x20a7, # PESETA SIGN
+        0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x00a4: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+        0x00a5: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+        0x00a6: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00a7: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+        0x00a8: 0x00bf, # INVERTED QUESTION MARK
+        0x00a9: 0x2310, # REVERSED NOT SIGN
+        0x00aa: 0x00ac, # NOT SIGN
+        0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+        0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+        0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+        0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+        0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+        0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+        0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+        0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+        0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+        0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+        0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+        0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+        0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+        0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+        0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x258c, # LEFT HALF BLOCK
+        0x00de: 0x2590, # RIGHT HALF BLOCK
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
+        0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
+        0x00e3: 0x03c0, # GREEK SMALL LETTER PI
+        0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+        0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
+        0x00e6: 0x00b5, # MICRO SIGN
+        0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
+        0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
+        0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
+        0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+        0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
+        0x00ec: 0x221e, # INFINITY
+        0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
+        0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
+        0x00ef: 0x2229, # INTERSECTION
+        0x00f0: 0x2261, # IDENTICAL TO
+        0x00f1: 0x00b1, # PLUS-MINUS SIGN
+        0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00f4: 0x2320, # TOP HALF INTEGRAL
+        0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
+        0x00f6: 0x00f7, # DIVISION SIGN
+        0x00f7: 0x2248, # ALMOST EQUAL TO
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x2219, # BULLET OPERATOR
+        0x00fa: 0x00b7, # MIDDLE DOT
+        0x00fb: 0x221a, # SQUARE ROOT
+        0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+        0x00fd: 0x00b2, # SUPERSCRIPT TWO
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp862.py b/Lib/encodings/cp862.py
index 8f6d111..f892002 100644
--- a/Lib/encodings/cp862.py
+++ b/Lib/encodings/cp862.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x05d0,	# HEBREW LETTER ALEF
-	0x0081: 0x05d1,	# HEBREW LETTER BET
-	0x0082: 0x05d2,	# HEBREW LETTER GIMEL
-	0x0083: 0x05d3,	# HEBREW LETTER DALET
-	0x0084: 0x05d4,	# HEBREW LETTER HE
-	0x0085: 0x05d5,	# HEBREW LETTER VAV
-	0x0086: 0x05d6,	# HEBREW LETTER ZAYIN
-	0x0087: 0x05d7,	# HEBREW LETTER HET
-	0x0088: 0x05d8,	# HEBREW LETTER TET
-	0x0089: 0x05d9,	# HEBREW LETTER YOD
-	0x008a: 0x05da,	# HEBREW LETTER FINAL KAF
-	0x008b: 0x05db,	# HEBREW LETTER KAF
-	0x008c: 0x05dc,	# HEBREW LETTER LAMED
-	0x008d: 0x05dd,	# HEBREW LETTER FINAL MEM
-	0x008e: 0x05de,	# HEBREW LETTER MEM
-	0x008f: 0x05df,	# HEBREW LETTER FINAL NUN
-	0x0090: 0x05e0,	# HEBREW LETTER NUN
-	0x0091: 0x05e1,	# HEBREW LETTER SAMEKH
-	0x0092: 0x05e2,	# HEBREW LETTER AYIN
-	0x0093: 0x05e3,	# HEBREW LETTER FINAL PE
-	0x0094: 0x05e4,	# HEBREW LETTER PE
-	0x0095: 0x05e5,	# HEBREW LETTER FINAL TSADI
-	0x0096: 0x05e6,	# HEBREW LETTER TSADI
-	0x0097: 0x05e7,	# HEBREW LETTER QOF
-	0x0098: 0x05e8,	# HEBREW LETTER RESH
-	0x0099: 0x05e9,	# HEBREW LETTER SHIN
-	0x009a: 0x05ea,	# HEBREW LETTER TAV
-	0x009b: 0x00a2,	# CENT SIGN
-	0x009c: 0x00a3,	# POUND SIGN
-	0x009d: 0x00a5,	# YEN SIGN
-	0x009e: 0x20a7,	# PESETA SIGN
-	0x009f: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x00a0: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x00a1: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x00a2: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00a3: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x00a4: 0x00f1,	# LATIN SMALL LETTER N WITH TILDE
-	0x00a5: 0x00d1,	# LATIN CAPITAL LETTER N WITH TILDE
-	0x00a6: 0x00aa,	# FEMININE ORDINAL INDICATOR
-	0x00a7: 0x00ba,	# MASCULINE ORDINAL INDICATOR
-	0x00a8: 0x00bf,	# INVERTED QUESTION MARK
-	0x00a9: 0x2310,	# REVERSED NOT SIGN
-	0x00aa: 0x00ac,	# NOT SIGN
-	0x00ab: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00ac: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00ad: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x2561,	# BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-	0x00b6: 0x2562,	# BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-	0x00b7: 0x2556,	# BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-	0x00b8: 0x2555,	# BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x255c,	# BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-	0x00be: 0x255b,	# BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x255e,	# BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-	0x00c7: 0x255f,	# BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x2567,	# BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-	0x00d0: 0x2568,	# BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-	0x00d1: 0x2564,	# BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-	0x00d2: 0x2565,	# BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-	0x00d3: 0x2559,	# BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-	0x00d4: 0x2558,	# BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-	0x00d5: 0x2552,	# BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-	0x00d6: 0x2553,	# BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-	0x00d7: 0x256b,	# BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-	0x00d8: 0x256a,	# BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x258c,	# LEFT HALF BLOCK
-	0x00de: 0x2590,	# RIGHT HALF BLOCK
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x03b1,	# GREEK SMALL LETTER ALPHA
-	0x00e1: 0x00df,	# LATIN SMALL LETTER SHARP S (GERMAN)
-	0x00e2: 0x0393,	# GREEK CAPITAL LETTER GAMMA
-	0x00e3: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00e4: 0x03a3,	# GREEK CAPITAL LETTER SIGMA
-	0x00e5: 0x03c3,	# GREEK SMALL LETTER SIGMA
-	0x00e6: 0x00b5,	# MICRO SIGN
-	0x00e7: 0x03c4,	# GREEK SMALL LETTER TAU
-	0x00e8: 0x03a6,	# GREEK CAPITAL LETTER PHI
-	0x00e9: 0x0398,	# GREEK CAPITAL LETTER THETA
-	0x00ea: 0x03a9,	# GREEK CAPITAL LETTER OMEGA
-	0x00eb: 0x03b4,	# GREEK SMALL LETTER DELTA
-	0x00ec: 0x221e,	# INFINITY
-	0x00ed: 0x03c6,	# GREEK SMALL LETTER PHI
-	0x00ee: 0x03b5,	# GREEK SMALL LETTER EPSILON
-	0x00ef: 0x2229,	# INTERSECTION
-	0x00f0: 0x2261,	# IDENTICAL TO
-	0x00f1: 0x00b1,	# PLUS-MINUS SIGN
-	0x00f2: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00f3: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00f4: 0x2320,	# TOP HALF INTEGRAL
-	0x00f5: 0x2321,	# BOTTOM HALF INTEGRAL
-	0x00f6: 0x00f7,	# DIVISION SIGN
-	0x00f7: 0x2248,	# ALMOST EQUAL TO
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x2219,	# BULLET OPERATOR
-	0x00fa: 0x00b7,	# MIDDLE DOT
-	0x00fb: 0x221a,	# SQUARE ROOT
-	0x00fc: 0x207f,	# SUPERSCRIPT LATIN SMALL LETTER N
-	0x00fd: 0x00b2,	# SUPERSCRIPT TWO
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x05d0, # HEBREW LETTER ALEF
+        0x0081: 0x05d1, # HEBREW LETTER BET
+        0x0082: 0x05d2, # HEBREW LETTER GIMEL
+        0x0083: 0x05d3, # HEBREW LETTER DALET
+        0x0084: 0x05d4, # HEBREW LETTER HE
+        0x0085: 0x05d5, # HEBREW LETTER VAV
+        0x0086: 0x05d6, # HEBREW LETTER ZAYIN
+        0x0087: 0x05d7, # HEBREW LETTER HET
+        0x0088: 0x05d8, # HEBREW LETTER TET
+        0x0089: 0x05d9, # HEBREW LETTER YOD
+        0x008a: 0x05da, # HEBREW LETTER FINAL KAF
+        0x008b: 0x05db, # HEBREW LETTER KAF
+        0x008c: 0x05dc, # HEBREW LETTER LAMED
+        0x008d: 0x05dd, # HEBREW LETTER FINAL MEM
+        0x008e: 0x05de, # HEBREW LETTER MEM
+        0x008f: 0x05df, # HEBREW LETTER FINAL NUN
+        0x0090: 0x05e0, # HEBREW LETTER NUN
+        0x0091: 0x05e1, # HEBREW LETTER SAMEKH
+        0x0092: 0x05e2, # HEBREW LETTER AYIN
+        0x0093: 0x05e3, # HEBREW LETTER FINAL PE
+        0x0094: 0x05e4, # HEBREW LETTER PE
+        0x0095: 0x05e5, # HEBREW LETTER FINAL TSADI
+        0x0096: 0x05e6, # HEBREW LETTER TSADI
+        0x0097: 0x05e7, # HEBREW LETTER QOF
+        0x0098: 0x05e8, # HEBREW LETTER RESH
+        0x0099: 0x05e9, # HEBREW LETTER SHIN
+        0x009a: 0x05ea, # HEBREW LETTER TAV
+        0x009b: 0x00a2, # CENT SIGN
+        0x009c: 0x00a3, # POUND SIGN
+        0x009d: 0x00a5, # YEN SIGN
+        0x009e: 0x20a7, # PESETA SIGN
+        0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+        0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+        0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
+        0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
+        0x00a8: 0x00bf, # INVERTED QUESTION MARK
+        0x00a9: 0x2310, # REVERSED NOT SIGN
+        0x00aa: 0x00ac, # NOT SIGN
+        0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+        0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+        0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+        0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+        0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+        0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+        0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+        0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+        0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+        0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+        0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+        0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+        0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+        0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+        0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x258c, # LEFT HALF BLOCK
+        0x00de: 0x2590, # RIGHT HALF BLOCK
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
+        0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S (GERMAN)
+        0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
+        0x00e3: 0x03c0, # GREEK SMALL LETTER PI
+        0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+        0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
+        0x00e6: 0x00b5, # MICRO SIGN
+        0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
+        0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
+        0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
+        0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+        0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
+        0x00ec: 0x221e, # INFINITY
+        0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
+        0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
+        0x00ef: 0x2229, # INTERSECTION
+        0x00f0: 0x2261, # IDENTICAL TO
+        0x00f1: 0x00b1, # PLUS-MINUS SIGN
+        0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00f4: 0x2320, # TOP HALF INTEGRAL
+        0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
+        0x00f6: 0x00f7, # DIVISION SIGN
+        0x00f7: 0x2248, # ALMOST EQUAL TO
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x2219, # BULLET OPERATOR
+        0x00fa: 0x00b7, # MIDDLE DOT
+        0x00fb: 0x221a, # SQUARE ROOT
+        0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+        0x00fd: 0x00b2, # SUPERSCRIPT TWO
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp863.py b/Lib/encodings/cp863.py
index 3596e64..5f823d1 100644
--- a/Lib/encodings/cp863.py
+++ b/Lib/encodings/cp863.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0081: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x0082: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x0083: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x0084: 0x00c2,	# LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-	0x0085: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0086: 0x00b6,	# PILCROW SIGN
-	0x0087: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x0088: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0089: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x008a: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x008b: 0x00ef,	# LATIN SMALL LETTER I WITH DIAERESIS
-	0x008c: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x008d: 0x2017,	# DOUBLE LOW LINE
-	0x008e: 0x00c0,	# LATIN CAPITAL LETTER A WITH GRAVE
-	0x008f: 0x00a7,	# SECTION SIGN
-	0x0090: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0091: 0x00c8,	# LATIN CAPITAL LETTER E WITH GRAVE
-	0x0092: 0x00ca,	# LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-	0x0093: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x0094: 0x00cb,	# LATIN CAPITAL LETTER E WITH DIAERESIS
-	0x0095: 0x00cf,	# LATIN CAPITAL LETTER I WITH DIAERESIS
-	0x0096: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x0097: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x0098: 0x00a4,	# CURRENCY SIGN
-	0x0099: 0x00d4,	# LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-	0x009a: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x009b: 0x00a2,	# CENT SIGN
-	0x009c: 0x00a3,	# POUND SIGN
-	0x009d: 0x00d9,	# LATIN CAPITAL LETTER U WITH GRAVE
-	0x009e: 0x00db,	# LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-	0x009f: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x00a0: 0x00a6,	# BROKEN BAR
-	0x00a1: 0x00b4,	# ACUTE ACCENT
-	0x00a2: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00a3: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x00a4: 0x00a8,	# DIAERESIS
-	0x00a5: 0x00b8,	# CEDILLA
-	0x00a6: 0x00b3,	# SUPERSCRIPT THREE
-	0x00a7: 0x00af,	# MACRON
-	0x00a8: 0x00ce,	# LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-	0x00a9: 0x2310,	# REVERSED NOT SIGN
-	0x00aa: 0x00ac,	# NOT SIGN
-	0x00ab: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00ac: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00ad: 0x00be,	# VULGAR FRACTION THREE QUARTERS
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x2561,	# BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-	0x00b6: 0x2562,	# BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-	0x00b7: 0x2556,	# BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-	0x00b8: 0x2555,	# BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x255c,	# BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-	0x00be: 0x255b,	# BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x255e,	# BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-	0x00c7: 0x255f,	# BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x2567,	# BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-	0x00d0: 0x2568,	# BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-	0x00d1: 0x2564,	# BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-	0x00d2: 0x2565,	# BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-	0x00d3: 0x2559,	# BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-	0x00d4: 0x2558,	# BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-	0x00d5: 0x2552,	# BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-	0x00d6: 0x2553,	# BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-	0x00d7: 0x256b,	# BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-	0x00d8: 0x256a,	# BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x258c,	# LEFT HALF BLOCK
-	0x00de: 0x2590,	# RIGHT HALF BLOCK
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x03b1,	# GREEK SMALL LETTER ALPHA
-	0x00e1: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00e2: 0x0393,	# GREEK CAPITAL LETTER GAMMA
-	0x00e3: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00e4: 0x03a3,	# GREEK CAPITAL LETTER SIGMA
-	0x00e5: 0x03c3,	# GREEK SMALL LETTER SIGMA
-	0x00e6: 0x00b5,	# MICRO SIGN
-	0x00e7: 0x03c4,	# GREEK SMALL LETTER TAU
-	0x00e8: 0x03a6,	# GREEK CAPITAL LETTER PHI
-	0x00e9: 0x0398,	# GREEK CAPITAL LETTER THETA
-	0x00ea: 0x03a9,	# GREEK CAPITAL LETTER OMEGA
-	0x00eb: 0x03b4,	# GREEK SMALL LETTER DELTA
-	0x00ec: 0x221e,	# INFINITY
-	0x00ed: 0x03c6,	# GREEK SMALL LETTER PHI
-	0x00ee: 0x03b5,	# GREEK SMALL LETTER EPSILON
-	0x00ef: 0x2229,	# INTERSECTION
-	0x00f0: 0x2261,	# IDENTICAL TO
-	0x00f1: 0x00b1,	# PLUS-MINUS SIGN
-	0x00f2: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00f3: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00f4: 0x2320,	# TOP HALF INTEGRAL
-	0x00f5: 0x2321,	# BOTTOM HALF INTEGRAL
-	0x00f6: 0x00f7,	# DIVISION SIGN
-	0x00f7: 0x2248,	# ALMOST EQUAL TO
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x2219,	# BULLET OPERATOR
-	0x00fa: 0x00b7,	# MIDDLE DOT
-	0x00fb: 0x221a,	# SQUARE ROOT
-	0x00fc: 0x207f,	# SUPERSCRIPT LATIN SMALL LETTER N
-	0x00fd: 0x00b2,	# SUPERSCRIPT TWO
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x0084: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+        0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0086: 0x00b6, # PILCROW SIGN
+        0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+        0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x008d: 0x2017, # DOUBLE LOW LINE
+        0x008e: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+        0x008f: 0x00a7, # SECTION SIGN
+        0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0091: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+        0x0092: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+        0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x0094: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+        0x0095: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
+        0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x0098: 0x00a4, # CURRENCY SIGN
+        0x0099: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+        0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x009b: 0x00a2, # CENT SIGN
+        0x009c: 0x00a3, # POUND SIGN
+        0x009d: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+        0x009e: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+        0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x00a0: 0x00a6, # BROKEN BAR
+        0x00a1: 0x00b4, # ACUTE ACCENT
+        0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x00a4: 0x00a8, # DIAERESIS
+        0x00a5: 0x00b8, # CEDILLA
+        0x00a6: 0x00b3, # SUPERSCRIPT THREE
+        0x00a7: 0x00af, # MACRON
+        0x00a8: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+        0x00a9: 0x2310, # REVERSED NOT SIGN
+        0x00aa: 0x00ac, # NOT SIGN
+        0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00ad: 0x00be, # VULGAR FRACTION THREE QUARTERS
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+        0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+        0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+        0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+        0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+        0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+        0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+        0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+        0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+        0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+        0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+        0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+        0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+        0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+        0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x258c, # LEFT HALF BLOCK
+        0x00de: 0x2590, # RIGHT HALF BLOCK
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
+        0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
+        0x00e3: 0x03c0, # GREEK SMALL LETTER PI
+        0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+        0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
+        0x00e6: 0x00b5, # MICRO SIGN
+        0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
+        0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
+        0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
+        0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+        0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
+        0x00ec: 0x221e, # INFINITY
+        0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
+        0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
+        0x00ef: 0x2229, # INTERSECTION
+        0x00f0: 0x2261, # IDENTICAL TO
+        0x00f1: 0x00b1, # PLUS-MINUS SIGN
+        0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00f4: 0x2320, # TOP HALF INTEGRAL
+        0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
+        0x00f6: 0x00f7, # DIVISION SIGN
+        0x00f7: 0x2248, # ALMOST EQUAL TO
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x2219, # BULLET OPERATOR
+        0x00fa: 0x00b7, # MIDDLE DOT
+        0x00fb: 0x221a, # SQUARE ROOT
+        0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+        0x00fd: 0x00b2, # SUPERSCRIPT TWO
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp864.py b/Lib/encodings/cp864.py
index f510a26..ac59217 100644
--- a/Lib/encodings/cp864.py
+++ b/Lib/encodings/cp864.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,132 +37,132 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0025: 0x066a,	# ARABIC PERCENT SIGN
-	0x0080: 0x00b0,	# DEGREE SIGN
-	0x0081: 0x00b7,	# MIDDLE DOT
-	0x0082: 0x2219,	# BULLET OPERATOR
-	0x0083: 0x221a,	# SQUARE ROOT
-	0x0084: 0x2592,	# MEDIUM SHADE
-	0x0085: 0x2500,	# FORMS LIGHT HORIZONTAL
-	0x0086: 0x2502,	# FORMS LIGHT VERTICAL
-	0x0087: 0x253c,	# FORMS LIGHT VERTICAL AND HORIZONTAL
-	0x0088: 0x2524,	# FORMS LIGHT VERTICAL AND LEFT
-	0x0089: 0x252c,	# FORMS LIGHT DOWN AND HORIZONTAL
-	0x008a: 0x251c,	# FORMS LIGHT VERTICAL AND RIGHT
-	0x008b: 0x2534,	# FORMS LIGHT UP AND HORIZONTAL
-	0x008c: 0x2510,	# FORMS LIGHT DOWN AND LEFT
-	0x008d: 0x250c,	# FORMS LIGHT DOWN AND RIGHT
-	0x008e: 0x2514,	# FORMS LIGHT UP AND RIGHT
-	0x008f: 0x2518,	# FORMS LIGHT UP AND LEFT
-	0x0090: 0x03b2,	# GREEK SMALL BETA
-	0x0091: 0x221e,	# INFINITY
-	0x0092: 0x03c6,	# GREEK SMALL PHI
-	0x0093: 0x00b1,	# PLUS-OR-MINUS SIGN
-	0x0094: 0x00bd,	# FRACTION 1/2
-	0x0095: 0x00bc,	# FRACTION 1/4
-	0x0096: 0x2248,	# ALMOST EQUAL TO
-	0x0097: 0x00ab,	# LEFT POINTING GUILLEMET
-	0x0098: 0x00bb,	# RIGHT POINTING GUILLEMET
-	0x0099: 0xfef7,	# ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
-	0x009a: 0xfef8,	# ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
-	0x009b: None,	# UNDEFINED
-	0x009c: None,	# UNDEFINED
-	0x009d: 0xfefb,	# ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
-	0x009e: 0xfefc,	# ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-	0x009f: None,	# UNDEFINED
-	0x00a1: 0x00ad,	# SOFT HYPHEN
-	0x00a2: 0xfe82,	# ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
-	0x00a5: 0xfe84,	# ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
-	0x00a6: None,	# UNDEFINED
-	0x00a7: None,	# UNDEFINED
-	0x00a8: 0xfe8e,	# ARABIC LETTER ALEF FINAL FORM
-	0x00a9: 0xfe8f,	# ARABIC LETTER BEH ISOLATED FORM
-	0x00aa: 0xfe95,	# ARABIC LETTER TEH ISOLATED FORM
-	0x00ab: 0xfe99,	# ARABIC LETTER THEH ISOLATED FORM
-	0x00ac: 0x060c,	# ARABIC COMMA
-	0x00ad: 0xfe9d,	# ARABIC LETTER JEEM ISOLATED FORM
-	0x00ae: 0xfea1,	# ARABIC LETTER HAH ISOLATED FORM
-	0x00af: 0xfea5,	# ARABIC LETTER KHAH ISOLATED FORM
-	0x00b0: 0x0660,	# ARABIC-INDIC DIGIT ZERO
-	0x00b1: 0x0661,	# ARABIC-INDIC DIGIT ONE
-	0x00b2: 0x0662,	# ARABIC-INDIC DIGIT TWO
-	0x00b3: 0x0663,	# ARABIC-INDIC DIGIT THREE
-	0x00b4: 0x0664,	# ARABIC-INDIC DIGIT FOUR
-	0x00b5: 0x0665,	# ARABIC-INDIC DIGIT FIVE
-	0x00b6: 0x0666,	# ARABIC-INDIC DIGIT SIX
-	0x00b7: 0x0667,	# ARABIC-INDIC DIGIT SEVEN
-	0x00b8: 0x0668,	# ARABIC-INDIC DIGIT EIGHT
-	0x00b9: 0x0669,	# ARABIC-INDIC DIGIT NINE
-	0x00ba: 0xfed1,	# ARABIC LETTER FEH ISOLATED FORM
-	0x00bb: 0x061b,	# ARABIC SEMICOLON
-	0x00bc: 0xfeb1,	# ARABIC LETTER SEEN ISOLATED FORM
-	0x00bd: 0xfeb5,	# ARABIC LETTER SHEEN ISOLATED FORM
-	0x00be: 0xfeb9,	# ARABIC LETTER SAD ISOLATED FORM
-	0x00bf: 0x061f,	# ARABIC QUESTION MARK
-	0x00c0: 0x00a2,	# CENT SIGN
-	0x00c1: 0xfe80,	# ARABIC LETTER HAMZA ISOLATED FORM
-	0x00c2: 0xfe81,	# ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
-	0x00c3: 0xfe83,	# ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
-	0x00c4: 0xfe85,	# ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
-	0x00c5: 0xfeca,	# ARABIC LETTER AIN FINAL FORM
-	0x00c6: 0xfe8b,	# ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
-	0x00c7: 0xfe8d,	# ARABIC LETTER ALEF ISOLATED FORM
-	0x00c8: 0xfe91,	# ARABIC LETTER BEH INITIAL FORM
-	0x00c9: 0xfe93,	# ARABIC LETTER TEH MARBUTA ISOLATED FORM
-	0x00ca: 0xfe97,	# ARABIC LETTER TEH INITIAL FORM
-	0x00cb: 0xfe9b,	# ARABIC LETTER THEH INITIAL FORM
-	0x00cc: 0xfe9f,	# ARABIC LETTER JEEM INITIAL FORM
-	0x00cd: 0xfea3,	# ARABIC LETTER HAH INITIAL FORM
-	0x00ce: 0xfea7,	# ARABIC LETTER KHAH INITIAL FORM
-	0x00cf: 0xfea9,	# ARABIC LETTER DAL ISOLATED FORM
-	0x00d0: 0xfeab,	# ARABIC LETTER THAL ISOLATED FORM
-	0x00d1: 0xfead,	# ARABIC LETTER REH ISOLATED FORM
-	0x00d2: 0xfeaf,	# ARABIC LETTER ZAIN ISOLATED FORM
-	0x00d3: 0xfeb3,	# ARABIC LETTER SEEN INITIAL FORM
-	0x00d4: 0xfeb7,	# ARABIC LETTER SHEEN INITIAL FORM
-	0x00d5: 0xfebb,	# ARABIC LETTER SAD INITIAL FORM
-	0x00d6: 0xfebf,	# ARABIC LETTER DAD INITIAL FORM
-	0x00d7: 0xfec1,	# ARABIC LETTER TAH ISOLATED FORM
-	0x00d8: 0xfec5,	# ARABIC LETTER ZAH ISOLATED FORM
-	0x00d9: 0xfecb,	# ARABIC LETTER AIN INITIAL FORM
-	0x00da: 0xfecf,	# ARABIC LETTER GHAIN INITIAL FORM
-	0x00db: 0x00a6,	# BROKEN VERTICAL BAR
-	0x00dc: 0x00ac,	# NOT SIGN
-	0x00dd: 0x00f7,	# DIVISION SIGN
-	0x00de: 0x00d7,	# MULTIPLICATION SIGN
-	0x00df: 0xfec9,	# ARABIC LETTER AIN ISOLATED FORM
-	0x00e0: 0x0640,	# ARABIC TATWEEL
-	0x00e1: 0xfed3,	# ARABIC LETTER FEH INITIAL FORM
-	0x00e2: 0xfed7,	# ARABIC LETTER QAF INITIAL FORM
-	0x00e3: 0xfedb,	# ARABIC LETTER KAF INITIAL FORM
-	0x00e4: 0xfedf,	# ARABIC LETTER LAM INITIAL FORM
-	0x00e5: 0xfee3,	# ARABIC LETTER MEEM INITIAL FORM
-	0x00e6: 0xfee7,	# ARABIC LETTER NOON INITIAL FORM
-	0x00e7: 0xfeeb,	# ARABIC LETTER HEH INITIAL FORM
-	0x00e8: 0xfeed,	# ARABIC LETTER WAW ISOLATED FORM
-	0x00e9: 0xfeef,	# ARABIC LETTER ALEF MAKSURA ISOLATED FORM
-	0x00ea: 0xfef3,	# ARABIC LETTER YEH INITIAL FORM
-	0x00eb: 0xfebd,	# ARABIC LETTER DAD ISOLATED FORM
-	0x00ec: 0xfecc,	# ARABIC LETTER AIN MEDIAL FORM
-	0x00ed: 0xfece,	# ARABIC LETTER GHAIN FINAL FORM
-	0x00ee: 0xfecd,	# ARABIC LETTER GHAIN ISOLATED FORM
-	0x00ef: 0xfee1,	# ARABIC LETTER MEEM ISOLATED FORM
-	0x00f0: 0xfe7d,	# ARABIC SHADDA MEDIAL FORM
-	0x00f1: 0x0651,	# ARABIC SHADDAH
-	0x00f2: 0xfee5,	# ARABIC LETTER NOON ISOLATED FORM
-	0x00f3: 0xfee9,	# ARABIC LETTER HEH ISOLATED FORM
-	0x00f4: 0xfeec,	# ARABIC LETTER HEH MEDIAL FORM
-	0x00f5: 0xfef0,	# ARABIC LETTER ALEF MAKSURA FINAL FORM
-	0x00f6: 0xfef2,	# ARABIC LETTER YEH FINAL FORM
-	0x00f7: 0xfed0,	# ARABIC LETTER GHAIN MEDIAL FORM
-	0x00f8: 0xfed5,	# ARABIC LETTER QAF ISOLATED FORM
-	0x00f9: 0xfef5,	# ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
-	0x00fa: 0xfef6,	# ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
-	0x00fb: 0xfedd,	# ARABIC LETTER LAM ISOLATED FORM
-	0x00fc: 0xfed9,	# ARABIC LETTER KAF ISOLATED FORM
-	0x00fd: 0xfef1,	# ARABIC LETTER YEH ISOLATED FORM
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: None,	# UNDEFINED
+        0x0025: 0x066a, # ARABIC PERCENT SIGN
+        0x0080: 0x00b0, # DEGREE SIGN
+        0x0081: 0x00b7, # MIDDLE DOT
+        0x0082: 0x2219, # BULLET OPERATOR
+        0x0083: 0x221a, # SQUARE ROOT
+        0x0084: 0x2592, # MEDIUM SHADE
+        0x0085: 0x2500, # FORMS LIGHT HORIZONTAL
+        0x0086: 0x2502, # FORMS LIGHT VERTICAL
+        0x0087: 0x253c, # FORMS LIGHT VERTICAL AND HORIZONTAL
+        0x0088: 0x2524, # FORMS LIGHT VERTICAL AND LEFT
+        0x0089: 0x252c, # FORMS LIGHT DOWN AND HORIZONTAL
+        0x008a: 0x251c, # FORMS LIGHT VERTICAL AND RIGHT
+        0x008b: 0x2534, # FORMS LIGHT UP AND HORIZONTAL
+        0x008c: 0x2510, # FORMS LIGHT DOWN AND LEFT
+        0x008d: 0x250c, # FORMS LIGHT DOWN AND RIGHT
+        0x008e: 0x2514, # FORMS LIGHT UP AND RIGHT
+        0x008f: 0x2518, # FORMS LIGHT UP AND LEFT
+        0x0090: 0x03b2, # GREEK SMALL BETA
+        0x0091: 0x221e, # INFINITY
+        0x0092: 0x03c6, # GREEK SMALL PHI
+        0x0093: 0x00b1, # PLUS-OR-MINUS SIGN
+        0x0094: 0x00bd, # FRACTION 1/2
+        0x0095: 0x00bc, # FRACTION 1/4
+        0x0096: 0x2248, # ALMOST EQUAL TO
+        0x0097: 0x00ab, # LEFT POINTING GUILLEMET
+        0x0098: 0x00bb, # RIGHT POINTING GUILLEMET
+        0x0099: 0xfef7, # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+        0x009a: 0xfef8, # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+        0x009b: None,   # UNDEFINED
+        0x009c: None,   # UNDEFINED
+        0x009d: 0xfefb, # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+        0x009e: 0xfefc, # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+        0x009f: None,   # UNDEFINED
+        0x00a1: 0x00ad, # SOFT HYPHEN
+        0x00a2: 0xfe82, # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+        0x00a5: 0xfe84, # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+        0x00a6: None,   # UNDEFINED
+        0x00a7: None,   # UNDEFINED
+        0x00a8: 0xfe8e, # ARABIC LETTER ALEF FINAL FORM
+        0x00a9: 0xfe8f, # ARABIC LETTER BEH ISOLATED FORM
+        0x00aa: 0xfe95, # ARABIC LETTER TEH ISOLATED FORM
+        0x00ab: 0xfe99, # ARABIC LETTER THEH ISOLATED FORM
+        0x00ac: 0x060c, # ARABIC COMMA
+        0x00ad: 0xfe9d, # ARABIC LETTER JEEM ISOLATED FORM
+        0x00ae: 0xfea1, # ARABIC LETTER HAH ISOLATED FORM
+        0x00af: 0xfea5, # ARABIC LETTER KHAH ISOLATED FORM
+        0x00b0: 0x0660, # ARABIC-INDIC DIGIT ZERO
+        0x00b1: 0x0661, # ARABIC-INDIC DIGIT ONE
+        0x00b2: 0x0662, # ARABIC-INDIC DIGIT TWO
+        0x00b3: 0x0663, # ARABIC-INDIC DIGIT THREE
+        0x00b4: 0x0664, # ARABIC-INDIC DIGIT FOUR
+        0x00b5: 0x0665, # ARABIC-INDIC DIGIT FIVE
+        0x00b6: 0x0666, # ARABIC-INDIC DIGIT SIX
+        0x00b7: 0x0667, # ARABIC-INDIC DIGIT SEVEN
+        0x00b8: 0x0668, # ARABIC-INDIC DIGIT EIGHT
+        0x00b9: 0x0669, # ARABIC-INDIC DIGIT NINE
+        0x00ba: 0xfed1, # ARABIC LETTER FEH ISOLATED FORM
+        0x00bb: 0x061b, # ARABIC SEMICOLON
+        0x00bc: 0xfeb1, # ARABIC LETTER SEEN ISOLATED FORM
+        0x00bd: 0xfeb5, # ARABIC LETTER SHEEN ISOLATED FORM
+        0x00be: 0xfeb9, # ARABIC LETTER SAD ISOLATED FORM
+        0x00bf: 0x061f, # ARABIC QUESTION MARK
+        0x00c0: 0x00a2, # CENT SIGN
+        0x00c1: 0xfe80, # ARABIC LETTER HAMZA ISOLATED FORM
+        0x00c2: 0xfe81, # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+        0x00c3: 0xfe83, # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+        0x00c4: 0xfe85, # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+        0x00c5: 0xfeca, # ARABIC LETTER AIN FINAL FORM
+        0x00c6: 0xfe8b, # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+        0x00c7: 0xfe8d, # ARABIC LETTER ALEF ISOLATED FORM
+        0x00c8: 0xfe91, # ARABIC LETTER BEH INITIAL FORM
+        0x00c9: 0xfe93, # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+        0x00ca: 0xfe97, # ARABIC LETTER TEH INITIAL FORM
+        0x00cb: 0xfe9b, # ARABIC LETTER THEH INITIAL FORM
+        0x00cc: 0xfe9f, # ARABIC LETTER JEEM INITIAL FORM
+        0x00cd: 0xfea3, # ARABIC LETTER HAH INITIAL FORM
+        0x00ce: 0xfea7, # ARABIC LETTER KHAH INITIAL FORM
+        0x00cf: 0xfea9, # ARABIC LETTER DAL ISOLATED FORM
+        0x00d0: 0xfeab, # ARABIC LETTER THAL ISOLATED FORM
+        0x00d1: 0xfead, # ARABIC LETTER REH ISOLATED FORM
+        0x00d2: 0xfeaf, # ARABIC LETTER ZAIN ISOLATED FORM
+        0x00d3: 0xfeb3, # ARABIC LETTER SEEN INITIAL FORM
+        0x00d4: 0xfeb7, # ARABIC LETTER SHEEN INITIAL FORM
+        0x00d5: 0xfebb, # ARABIC LETTER SAD INITIAL FORM
+        0x00d6: 0xfebf, # ARABIC LETTER DAD INITIAL FORM
+        0x00d7: 0xfec1, # ARABIC LETTER TAH ISOLATED FORM
+        0x00d8: 0xfec5, # ARABIC LETTER ZAH ISOLATED FORM
+        0x00d9: 0xfecb, # ARABIC LETTER AIN INITIAL FORM
+        0x00da: 0xfecf, # ARABIC LETTER GHAIN INITIAL FORM
+        0x00db: 0x00a6, # BROKEN VERTICAL BAR
+        0x00dc: 0x00ac, # NOT SIGN
+        0x00dd: 0x00f7, # DIVISION SIGN
+        0x00de: 0x00d7, # MULTIPLICATION SIGN
+        0x00df: 0xfec9, # ARABIC LETTER AIN ISOLATED FORM
+        0x00e0: 0x0640, # ARABIC TATWEEL
+        0x00e1: 0xfed3, # ARABIC LETTER FEH INITIAL FORM
+        0x00e2: 0xfed7, # ARABIC LETTER QAF INITIAL FORM
+        0x00e3: 0xfedb, # ARABIC LETTER KAF INITIAL FORM
+        0x00e4: 0xfedf, # ARABIC LETTER LAM INITIAL FORM
+        0x00e5: 0xfee3, # ARABIC LETTER MEEM INITIAL FORM
+        0x00e6: 0xfee7, # ARABIC LETTER NOON INITIAL FORM
+        0x00e7: 0xfeeb, # ARABIC LETTER HEH INITIAL FORM
+        0x00e8: 0xfeed, # ARABIC LETTER WAW ISOLATED FORM
+        0x00e9: 0xfeef, # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+        0x00ea: 0xfef3, # ARABIC LETTER YEH INITIAL FORM
+        0x00eb: 0xfebd, # ARABIC LETTER DAD ISOLATED FORM
+        0x00ec: 0xfecc, # ARABIC LETTER AIN MEDIAL FORM
+        0x00ed: 0xfece, # ARABIC LETTER GHAIN FINAL FORM
+        0x00ee: 0xfecd, # ARABIC LETTER GHAIN ISOLATED FORM
+        0x00ef: 0xfee1, # ARABIC LETTER MEEM ISOLATED FORM
+        0x00f0: 0xfe7d, # ARABIC SHADDA MEDIAL FORM
+        0x00f1: 0x0651, # ARABIC SHADDAH
+        0x00f2: 0xfee5, # ARABIC LETTER NOON ISOLATED FORM
+        0x00f3: 0xfee9, # ARABIC LETTER HEH ISOLATED FORM
+        0x00f4: 0xfeec, # ARABIC LETTER HEH MEDIAL FORM
+        0x00f5: 0xfef0, # ARABIC LETTER ALEF MAKSURA FINAL FORM
+        0x00f6: 0xfef2, # ARABIC LETTER YEH FINAL FORM
+        0x00f7: 0xfed0, # ARABIC LETTER GHAIN MEDIAL FORM
+        0x00f8: 0xfed5, # ARABIC LETTER QAF ISOLATED FORM
+        0x00f9: 0xfef5, # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+        0x00fa: 0xfef6, # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+        0x00fb: 0xfedd, # ARABIC LETTER LAM ISOLATED FORM
+        0x00fc: 0xfed9, # ARABIC LETTER KAF ISOLATED FORM
+        0x00fd: 0xfef1, # ARABIC LETTER YEH ISOLATED FORM
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: None,   # UNDEFINED
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp865.py b/Lib/encodings/cp865.py
index cc4f719..b4f88f6 100644
--- a/Lib/encodings/cp865.py
+++ b/Lib/encodings/cp865.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0081: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x0082: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x0083: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x0084: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x0085: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0086: 0x00e5,	# LATIN SMALL LETTER A WITH RING ABOVE
-	0x0087: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x0088: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0089: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x008a: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x008b: 0x00ef,	# LATIN SMALL LETTER I WITH DIAERESIS
-	0x008c: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x008d: 0x00ec,	# LATIN SMALL LETTER I WITH GRAVE
-	0x008e: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x008f: 0x00c5,	# LATIN CAPITAL LETTER A WITH RING ABOVE
-	0x0090: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0091: 0x00e6,	# LATIN SMALL LIGATURE AE
-	0x0092: 0x00c6,	# LATIN CAPITAL LIGATURE AE
-	0x0093: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x0094: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x0095: 0x00f2,	# LATIN SMALL LETTER O WITH GRAVE
-	0x0096: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x0097: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x0098: 0x00ff,	# LATIN SMALL LETTER Y WITH DIAERESIS
-	0x0099: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x009a: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x009b: 0x00f8,	# LATIN SMALL LETTER O WITH STROKE
-	0x009c: 0x00a3,	# POUND SIGN
-	0x009d: 0x00d8,	# LATIN CAPITAL LETTER O WITH STROKE
-	0x009e: 0x20a7,	# PESETA SIGN
-	0x009f: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x00a0: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x00a1: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x00a2: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x00a3: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x00a4: 0x00f1,	# LATIN SMALL LETTER N WITH TILDE
-	0x00a5: 0x00d1,	# LATIN CAPITAL LETTER N WITH TILDE
-	0x00a6: 0x00aa,	# FEMININE ORDINAL INDICATOR
-	0x00a7: 0x00ba,	# MASCULINE ORDINAL INDICATOR
-	0x00a8: 0x00bf,	# INVERTED QUESTION MARK
-	0x00a9: 0x2310,	# REVERSED NOT SIGN
-	0x00aa: 0x00ac,	# NOT SIGN
-	0x00ab: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00ac: 0x00bc,	# VULGAR FRACTION ONE QUARTER
-	0x00ad: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00a4,	# CURRENCY SIGN
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x2561,	# BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-	0x00b6: 0x2562,	# BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-	0x00b7: 0x2556,	# BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-	0x00b8: 0x2555,	# BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x255c,	# BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-	0x00be: 0x255b,	# BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x255e,	# BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-	0x00c7: 0x255f,	# BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x2567,	# BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-	0x00d0: 0x2568,	# BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-	0x00d1: 0x2564,	# BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-	0x00d2: 0x2565,	# BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-	0x00d3: 0x2559,	# BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-	0x00d4: 0x2558,	# BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-	0x00d5: 0x2552,	# BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-	0x00d6: 0x2553,	# BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-	0x00d7: 0x256b,	# BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-	0x00d8: 0x256a,	# BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x258c,	# LEFT HALF BLOCK
-	0x00de: 0x2590,	# RIGHT HALF BLOCK
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x03b1,	# GREEK SMALL LETTER ALPHA
-	0x00e1: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00e2: 0x0393,	# GREEK CAPITAL LETTER GAMMA
-	0x00e3: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00e4: 0x03a3,	# GREEK CAPITAL LETTER SIGMA
-	0x00e5: 0x03c3,	# GREEK SMALL LETTER SIGMA
-	0x00e6: 0x00b5,	# MICRO SIGN
-	0x00e7: 0x03c4,	# GREEK SMALL LETTER TAU
-	0x00e8: 0x03a6,	# GREEK CAPITAL LETTER PHI
-	0x00e9: 0x0398,	# GREEK CAPITAL LETTER THETA
-	0x00ea: 0x03a9,	# GREEK CAPITAL LETTER OMEGA
-	0x00eb: 0x03b4,	# GREEK SMALL LETTER DELTA
-	0x00ec: 0x221e,	# INFINITY
-	0x00ed: 0x03c6,	# GREEK SMALL LETTER PHI
-	0x00ee: 0x03b5,	# GREEK SMALL LETTER EPSILON
-	0x00ef: 0x2229,	# INTERSECTION
-	0x00f0: 0x2261,	# IDENTICAL TO
-	0x00f1: 0x00b1,	# PLUS-MINUS SIGN
-	0x00f2: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00f3: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00f4: 0x2320,	# TOP HALF INTEGRAL
-	0x00f5: 0x2321,	# BOTTOM HALF INTEGRAL
-	0x00f6: 0x00f7,	# DIVISION SIGN
-	0x00f7: 0x2248,	# ALMOST EQUAL TO
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x2219,	# BULLET OPERATOR
-	0x00fa: 0x00b7,	# MIDDLE DOT
-	0x00fb: 0x221a,	# SQUARE ROOT
-	0x00fc: 0x207f,	# SUPERSCRIPT LATIN SMALL LETTER N
-	0x00fd: 0x00b2,	# SUPERSCRIPT TWO
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+        0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+        0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x008d: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+        0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+        0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
+        0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
+        0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+        0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x0098: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+        0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+        0x009c: 0x00a3, # POUND SIGN
+        0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+        0x009e: 0x20a7, # PESETA SIGN
+        0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+        0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+        0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
+        0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
+        0x00a8: 0x00bf, # INVERTED QUESTION MARK
+        0x00a9: 0x2310, # REVERSED NOT SIGN
+        0x00aa: 0x00ac, # NOT SIGN
+        0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+        0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00a4, # CURRENCY SIGN
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+        0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+        0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+        0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+        0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+        0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+        0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+        0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+        0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+        0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+        0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+        0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+        0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+        0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+        0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x258c, # LEFT HALF BLOCK
+        0x00de: 0x2590, # RIGHT HALF BLOCK
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
+        0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
+        0x00e3: 0x03c0, # GREEK SMALL LETTER PI
+        0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+        0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
+        0x00e6: 0x00b5, # MICRO SIGN
+        0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
+        0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
+        0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
+        0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+        0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
+        0x00ec: 0x221e, # INFINITY
+        0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
+        0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
+        0x00ef: 0x2229, # INTERSECTION
+        0x00f0: 0x2261, # IDENTICAL TO
+        0x00f1: 0x00b1, # PLUS-MINUS SIGN
+        0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00f4: 0x2320, # TOP HALF INTEGRAL
+        0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
+        0x00f6: 0x00f7, # DIVISION SIGN
+        0x00f7: 0x2248, # ALMOST EQUAL TO
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x2219, # BULLET OPERATOR
+        0x00fa: 0x00b7, # MIDDLE DOT
+        0x00fb: 0x221a, # SQUARE ROOT
+        0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+        0x00fd: 0x00b2, # SUPERSCRIPT TWO
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp866.py b/Lib/encodings/cp866.py
index 518eede..a6a26e5 100644
--- a/Lib/encodings/cp866.py
+++ b/Lib/encodings/cp866.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x0410,	# CYRILLIC CAPITAL LETTER A
-	0x0081: 0x0411,	# CYRILLIC CAPITAL LETTER BE
-	0x0082: 0x0412,	# CYRILLIC CAPITAL LETTER VE
-	0x0083: 0x0413,	# CYRILLIC CAPITAL LETTER GHE
-	0x0084: 0x0414,	# CYRILLIC CAPITAL LETTER DE
-	0x0085: 0x0415,	# CYRILLIC CAPITAL LETTER IE
-	0x0086: 0x0416,	# CYRILLIC CAPITAL LETTER ZHE
-	0x0087: 0x0417,	# CYRILLIC CAPITAL LETTER ZE
-	0x0088: 0x0418,	# CYRILLIC CAPITAL LETTER I
-	0x0089: 0x0419,	# CYRILLIC CAPITAL LETTER SHORT I
-	0x008a: 0x041a,	# CYRILLIC CAPITAL LETTER KA
-	0x008b: 0x041b,	# CYRILLIC CAPITAL LETTER EL
-	0x008c: 0x041c,	# CYRILLIC CAPITAL LETTER EM
-	0x008d: 0x041d,	# CYRILLIC CAPITAL LETTER EN
-	0x008e: 0x041e,	# CYRILLIC CAPITAL LETTER O
-	0x008f: 0x041f,	# CYRILLIC CAPITAL LETTER PE
-	0x0090: 0x0420,	# CYRILLIC CAPITAL LETTER ER
-	0x0091: 0x0421,	# CYRILLIC CAPITAL LETTER ES
-	0x0092: 0x0422,	# CYRILLIC CAPITAL LETTER TE
-	0x0093: 0x0423,	# CYRILLIC CAPITAL LETTER U
-	0x0094: 0x0424,	# CYRILLIC CAPITAL LETTER EF
-	0x0095: 0x0425,	# CYRILLIC CAPITAL LETTER HA
-	0x0096: 0x0426,	# CYRILLIC CAPITAL LETTER TSE
-	0x0097: 0x0427,	# CYRILLIC CAPITAL LETTER CHE
-	0x0098: 0x0428,	# CYRILLIC CAPITAL LETTER SHA
-	0x0099: 0x0429,	# CYRILLIC CAPITAL LETTER SHCHA
-	0x009a: 0x042a,	# CYRILLIC CAPITAL LETTER HARD SIGN
-	0x009b: 0x042b,	# CYRILLIC CAPITAL LETTER YERU
-	0x009c: 0x042c,	# CYRILLIC CAPITAL LETTER SOFT SIGN
-	0x009d: 0x042d,	# CYRILLIC CAPITAL LETTER E
-	0x009e: 0x042e,	# CYRILLIC CAPITAL LETTER YU
-	0x009f: 0x042f,	# CYRILLIC CAPITAL LETTER YA
-	0x00a0: 0x0430,	# CYRILLIC SMALL LETTER A
-	0x00a1: 0x0431,	# CYRILLIC SMALL LETTER BE
-	0x00a2: 0x0432,	# CYRILLIC SMALL LETTER VE
-	0x00a3: 0x0433,	# CYRILLIC SMALL LETTER GHE
-	0x00a4: 0x0434,	# CYRILLIC SMALL LETTER DE
-	0x00a5: 0x0435,	# CYRILLIC SMALL LETTER IE
-	0x00a6: 0x0436,	# CYRILLIC SMALL LETTER ZHE
-	0x00a7: 0x0437,	# CYRILLIC SMALL LETTER ZE
-	0x00a8: 0x0438,	# CYRILLIC SMALL LETTER I
-	0x00a9: 0x0439,	# CYRILLIC SMALL LETTER SHORT I
-	0x00aa: 0x043a,	# CYRILLIC SMALL LETTER KA
-	0x00ab: 0x043b,	# CYRILLIC SMALL LETTER EL
-	0x00ac: 0x043c,	# CYRILLIC SMALL LETTER EM
-	0x00ad: 0x043d,	# CYRILLIC SMALL LETTER EN
-	0x00ae: 0x043e,	# CYRILLIC SMALL LETTER O
-	0x00af: 0x043f,	# CYRILLIC SMALL LETTER PE
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x2561,	# BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-	0x00b6: 0x2562,	# BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-	0x00b7: 0x2556,	# BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-	0x00b8: 0x2555,	# BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x255c,	# BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-	0x00be: 0x255b,	# BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x255e,	# BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-	0x00c7: 0x255f,	# BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x2567,	# BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-	0x00d0: 0x2568,	# BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-	0x00d1: 0x2564,	# BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-	0x00d2: 0x2565,	# BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-	0x00d3: 0x2559,	# BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-	0x00d4: 0x2558,	# BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-	0x00d5: 0x2552,	# BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-	0x00d6: 0x2553,	# BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-	0x00d7: 0x256b,	# BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-	0x00d8: 0x256a,	# BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x258c,	# LEFT HALF BLOCK
-	0x00de: 0x2590,	# RIGHT HALF BLOCK
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x0440,	# CYRILLIC SMALL LETTER ER
-	0x00e1: 0x0441,	# CYRILLIC SMALL LETTER ES
-	0x00e2: 0x0442,	# CYRILLIC SMALL LETTER TE
-	0x00e3: 0x0443,	# CYRILLIC SMALL LETTER U
-	0x00e4: 0x0444,	# CYRILLIC SMALL LETTER EF
-	0x00e5: 0x0445,	# CYRILLIC SMALL LETTER HA
-	0x00e6: 0x0446,	# CYRILLIC SMALL LETTER TSE
-	0x00e7: 0x0447,	# CYRILLIC SMALL LETTER CHE
-	0x00e8: 0x0448,	# CYRILLIC SMALL LETTER SHA
-	0x00e9: 0x0449,	# CYRILLIC SMALL LETTER SHCHA
-	0x00ea: 0x044a,	# CYRILLIC SMALL LETTER HARD SIGN
-	0x00eb: 0x044b,	# CYRILLIC SMALL LETTER YERU
-	0x00ec: 0x044c,	# CYRILLIC SMALL LETTER SOFT SIGN
-	0x00ed: 0x044d,	# CYRILLIC SMALL LETTER E
-	0x00ee: 0x044e,	# CYRILLIC SMALL LETTER YU
-	0x00ef: 0x044f,	# CYRILLIC SMALL LETTER YA
-	0x00f0: 0x0401,	# CYRILLIC CAPITAL LETTER IO
-	0x00f1: 0x0451,	# CYRILLIC SMALL LETTER IO
-	0x00f2: 0x0404,	# CYRILLIC CAPITAL LETTER UKRAINIAN IE
-	0x00f3: 0x0454,	# CYRILLIC SMALL LETTER UKRAINIAN IE
-	0x00f4: 0x0407,	# CYRILLIC CAPITAL LETTER YI
-	0x00f5: 0x0457,	# CYRILLIC SMALL LETTER YI
-	0x00f6: 0x040e,	# CYRILLIC CAPITAL LETTER SHORT U
-	0x00f7: 0x045e,	# CYRILLIC SMALL LETTER SHORT U
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x2219,	# BULLET OPERATOR
-	0x00fa: 0x00b7,	# MIDDLE DOT
-	0x00fb: 0x221a,	# SQUARE ROOT
-	0x00fc: 0x2116,	# NUMERO SIGN
-	0x00fd: 0x00a4,	# CURRENCY SIGN
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: 0x0410, # CYRILLIC CAPITAL LETTER A
+        0x0081: 0x0411, # CYRILLIC CAPITAL LETTER BE
+        0x0082: 0x0412, # CYRILLIC CAPITAL LETTER VE
+        0x0083: 0x0413, # CYRILLIC CAPITAL LETTER GHE
+        0x0084: 0x0414, # CYRILLIC CAPITAL LETTER DE
+        0x0085: 0x0415, # CYRILLIC CAPITAL LETTER IE
+        0x0086: 0x0416, # CYRILLIC CAPITAL LETTER ZHE
+        0x0087: 0x0417, # CYRILLIC CAPITAL LETTER ZE
+        0x0088: 0x0418, # CYRILLIC CAPITAL LETTER I
+        0x0089: 0x0419, # CYRILLIC CAPITAL LETTER SHORT I
+        0x008a: 0x041a, # CYRILLIC CAPITAL LETTER KA
+        0x008b: 0x041b, # CYRILLIC CAPITAL LETTER EL
+        0x008c: 0x041c, # CYRILLIC CAPITAL LETTER EM
+        0x008d: 0x041d, # CYRILLIC CAPITAL LETTER EN
+        0x008e: 0x041e, # CYRILLIC CAPITAL LETTER O
+        0x008f: 0x041f, # CYRILLIC CAPITAL LETTER PE
+        0x0090: 0x0420, # CYRILLIC CAPITAL LETTER ER
+        0x0091: 0x0421, # CYRILLIC CAPITAL LETTER ES
+        0x0092: 0x0422, # CYRILLIC CAPITAL LETTER TE
+        0x0093: 0x0423, # CYRILLIC CAPITAL LETTER U
+        0x0094: 0x0424, # CYRILLIC CAPITAL LETTER EF
+        0x0095: 0x0425, # CYRILLIC CAPITAL LETTER HA
+        0x0096: 0x0426, # CYRILLIC CAPITAL LETTER TSE
+        0x0097: 0x0427, # CYRILLIC CAPITAL LETTER CHE
+        0x0098: 0x0428, # CYRILLIC CAPITAL LETTER SHA
+        0x0099: 0x0429, # CYRILLIC CAPITAL LETTER SHCHA
+        0x009a: 0x042a, # CYRILLIC CAPITAL LETTER HARD SIGN
+        0x009b: 0x042b, # CYRILLIC CAPITAL LETTER YERU
+        0x009c: 0x042c, # CYRILLIC CAPITAL LETTER SOFT SIGN
+        0x009d: 0x042d, # CYRILLIC CAPITAL LETTER E
+        0x009e: 0x042e, # CYRILLIC CAPITAL LETTER YU
+        0x009f: 0x042f, # CYRILLIC CAPITAL LETTER YA
+        0x00a0: 0x0430, # CYRILLIC SMALL LETTER A
+        0x00a1: 0x0431, # CYRILLIC SMALL LETTER BE
+        0x00a2: 0x0432, # CYRILLIC SMALL LETTER VE
+        0x00a3: 0x0433, # CYRILLIC SMALL LETTER GHE
+        0x00a4: 0x0434, # CYRILLIC SMALL LETTER DE
+        0x00a5: 0x0435, # CYRILLIC SMALL LETTER IE
+        0x00a6: 0x0436, # CYRILLIC SMALL LETTER ZHE
+        0x00a7: 0x0437, # CYRILLIC SMALL LETTER ZE
+        0x00a8: 0x0438, # CYRILLIC SMALL LETTER I
+        0x00a9: 0x0439, # CYRILLIC SMALL LETTER SHORT I
+        0x00aa: 0x043a, # CYRILLIC SMALL LETTER KA
+        0x00ab: 0x043b, # CYRILLIC SMALL LETTER EL
+        0x00ac: 0x043c, # CYRILLIC SMALL LETTER EM
+        0x00ad: 0x043d, # CYRILLIC SMALL LETTER EN
+        0x00ae: 0x043e, # CYRILLIC SMALL LETTER O
+        0x00af: 0x043f, # CYRILLIC SMALL LETTER PE
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+        0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+        0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+        0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+        0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+        0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+        0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+        0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+        0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+        0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+        0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+        0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+        0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+        0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+        0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x258c, # LEFT HALF BLOCK
+        0x00de: 0x2590, # RIGHT HALF BLOCK
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x0440, # CYRILLIC SMALL LETTER ER
+        0x00e1: 0x0441, # CYRILLIC SMALL LETTER ES
+        0x00e2: 0x0442, # CYRILLIC SMALL LETTER TE
+        0x00e3: 0x0443, # CYRILLIC SMALL LETTER U
+        0x00e4: 0x0444, # CYRILLIC SMALL LETTER EF
+        0x00e5: 0x0445, # CYRILLIC SMALL LETTER HA
+        0x00e6: 0x0446, # CYRILLIC SMALL LETTER TSE
+        0x00e7: 0x0447, # CYRILLIC SMALL LETTER CHE
+        0x00e8: 0x0448, # CYRILLIC SMALL LETTER SHA
+        0x00e9: 0x0449, # CYRILLIC SMALL LETTER SHCHA
+        0x00ea: 0x044a, # CYRILLIC SMALL LETTER HARD SIGN
+        0x00eb: 0x044b, # CYRILLIC SMALL LETTER YERU
+        0x00ec: 0x044c, # CYRILLIC SMALL LETTER SOFT SIGN
+        0x00ed: 0x044d, # CYRILLIC SMALL LETTER E
+        0x00ee: 0x044e, # CYRILLIC SMALL LETTER YU
+        0x00ef: 0x044f, # CYRILLIC SMALL LETTER YA
+        0x00f0: 0x0401, # CYRILLIC CAPITAL LETTER IO
+        0x00f1: 0x0451, # CYRILLIC SMALL LETTER IO
+        0x00f2: 0x0404, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+        0x00f3: 0x0454, # CYRILLIC SMALL LETTER UKRAINIAN IE
+        0x00f4: 0x0407, # CYRILLIC CAPITAL LETTER YI
+        0x00f5: 0x0457, # CYRILLIC SMALL LETTER YI
+        0x00f6: 0x040e, # CYRILLIC CAPITAL LETTER SHORT U
+        0x00f7: 0x045e, # CYRILLIC SMALL LETTER SHORT U
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x2219, # BULLET OPERATOR
+        0x00fa: 0x00b7, # MIDDLE DOT
+        0x00fb: 0x221a, # SQUARE ROOT
+        0x00fc: 0x2116, # NUMERO SIGN
+        0x00fd: 0x00a4, # CURRENCY SIGN
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp869.py b/Lib/encodings/cp869.py
index 2e3ad35..21b0ab8 100644
--- a/Lib/encodings/cp869.py
+++ b/Lib/encodings/cp869.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: None,	# UNDEFINED
-	0x0081: None,	# UNDEFINED
-	0x0082: None,	# UNDEFINED
-	0x0083: None,	# UNDEFINED
-	0x0084: None,	# UNDEFINED
-	0x0085: None,	# UNDEFINED
-	0x0086: 0x0386,	# GREEK CAPITAL LETTER ALPHA WITH TONOS
-	0x0087: None,	# UNDEFINED
-	0x0088: 0x00b7,	# MIDDLE DOT
-	0x0089: 0x00ac,	# NOT SIGN
-	0x008a: 0x00a6,	# BROKEN BAR
-	0x008b: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x008c: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x008d: 0x0388,	# GREEK CAPITAL LETTER EPSILON WITH TONOS
-	0x008e: 0x2015,	# HORIZONTAL BAR
-	0x008f: 0x0389,	# GREEK CAPITAL LETTER ETA WITH TONOS
-	0x0090: 0x038a,	# GREEK CAPITAL LETTER IOTA WITH TONOS
-	0x0091: 0x03aa,	# GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
-	0x0092: 0x038c,	# GREEK CAPITAL LETTER OMICRON WITH TONOS
-	0x0093: None,	# UNDEFINED
-	0x0094: None,	# UNDEFINED
-	0x0095: 0x038e,	# GREEK CAPITAL LETTER UPSILON WITH TONOS
-	0x0096: 0x03ab,	# GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-	0x0097: 0x00a9,	# COPYRIGHT SIGN
-	0x0098: 0x038f,	# GREEK CAPITAL LETTER OMEGA WITH TONOS
-	0x0099: 0x00b2,	# SUPERSCRIPT TWO
-	0x009a: 0x00b3,	# SUPERSCRIPT THREE
-	0x009b: 0x03ac,	# GREEK SMALL LETTER ALPHA WITH TONOS
-	0x009c: 0x00a3,	# POUND SIGN
-	0x009d: 0x03ad,	# GREEK SMALL LETTER EPSILON WITH TONOS
-	0x009e: 0x03ae,	# GREEK SMALL LETTER ETA WITH TONOS
-	0x009f: 0x03af,	# GREEK SMALL LETTER IOTA WITH TONOS
-	0x00a0: 0x03ca,	# GREEK SMALL LETTER IOTA WITH DIALYTIKA
-	0x00a1: 0x0390,	# GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-	0x00a2: 0x03cc,	# GREEK SMALL LETTER OMICRON WITH TONOS
-	0x00a3: 0x03cd,	# GREEK SMALL LETTER UPSILON WITH TONOS
-	0x00a4: 0x0391,	# GREEK CAPITAL LETTER ALPHA
-	0x00a5: 0x0392,	# GREEK CAPITAL LETTER BETA
-	0x00a6: 0x0393,	# GREEK CAPITAL LETTER GAMMA
-	0x00a7: 0x0394,	# GREEK CAPITAL LETTER DELTA
-	0x00a8: 0x0395,	# GREEK CAPITAL LETTER EPSILON
-	0x00a9: 0x0396,	# GREEK CAPITAL LETTER ZETA
-	0x00aa: 0x0397,	# GREEK CAPITAL LETTER ETA
-	0x00ab: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00ac: 0x0398,	# GREEK CAPITAL LETTER THETA
-	0x00ad: 0x0399,	# GREEK CAPITAL LETTER IOTA
-	0x00ae: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00af: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00b0: 0x2591,	# LIGHT SHADE
-	0x00b1: 0x2592,	# MEDIUM SHADE
-	0x00b2: 0x2593,	# DARK SHADE
-	0x00b3: 0x2502,	# BOX DRAWINGS LIGHT VERTICAL
-	0x00b4: 0x2524,	# BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x00b5: 0x039a,	# GREEK CAPITAL LETTER KAPPA
-	0x00b6: 0x039b,	# GREEK CAPITAL LETTER LAMDA
-	0x00b7: 0x039c,	# GREEK CAPITAL LETTER MU
-	0x00b8: 0x039d,	# GREEK CAPITAL LETTER NU
-	0x00b9: 0x2563,	# BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00ba: 0x2551,	# BOX DRAWINGS DOUBLE VERTICAL
-	0x00bb: 0x2557,	# BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00bc: 0x255d,	# BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00bd: 0x039e,	# GREEK CAPITAL LETTER XI
-	0x00be: 0x039f,	# GREEK CAPITAL LETTER OMICRON
-	0x00bf: 0x2510,	# BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x00c0: 0x2514,	# BOX DRAWINGS LIGHT UP AND RIGHT
-	0x00c1: 0x2534,	# BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x00c2: 0x252c,	# BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x00c3: 0x251c,	# BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x00c4: 0x2500,	# BOX DRAWINGS LIGHT HORIZONTAL
-	0x00c5: 0x253c,	# BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x00c6: 0x03a0,	# GREEK CAPITAL LETTER PI
-	0x00c7: 0x03a1,	# GREEK CAPITAL LETTER RHO
-	0x00c8: 0x255a,	# BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00c9: 0x2554,	# BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00ca: 0x2569,	# BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00cb: 0x2566,	# BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00cc: 0x2560,	# BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00cd: 0x2550,	# BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00ce: 0x256c,	# BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00cf: 0x03a3,	# GREEK CAPITAL LETTER SIGMA
-	0x00d0: 0x03a4,	# GREEK CAPITAL LETTER TAU
-	0x00d1: 0x03a5,	# GREEK CAPITAL LETTER UPSILON
-	0x00d2: 0x03a6,	# GREEK CAPITAL LETTER PHI
-	0x00d3: 0x03a7,	# GREEK CAPITAL LETTER CHI
-	0x00d4: 0x03a8,	# GREEK CAPITAL LETTER PSI
-	0x00d5: 0x03a9,	# GREEK CAPITAL LETTER OMEGA
-	0x00d6: 0x03b1,	# GREEK SMALL LETTER ALPHA
-	0x00d7: 0x03b2,	# GREEK SMALL LETTER BETA
-	0x00d8: 0x03b3,	# GREEK SMALL LETTER GAMMA
-	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
-	0x00da: 0x250c,	# BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x00db: 0x2588,	# FULL BLOCK
-	0x00dc: 0x2584,	# LOWER HALF BLOCK
-	0x00dd: 0x03b4,	# GREEK SMALL LETTER DELTA
-	0x00de: 0x03b5,	# GREEK SMALL LETTER EPSILON
-	0x00df: 0x2580,	# UPPER HALF BLOCK
-	0x00e0: 0x03b6,	# GREEK SMALL LETTER ZETA
-	0x00e1: 0x03b7,	# GREEK SMALL LETTER ETA
-	0x00e2: 0x03b8,	# GREEK SMALL LETTER THETA
-	0x00e3: 0x03b9,	# GREEK SMALL LETTER IOTA
-	0x00e4: 0x03ba,	# GREEK SMALL LETTER KAPPA
-	0x00e5: 0x03bb,	# GREEK SMALL LETTER LAMDA
-	0x00e6: 0x03bc,	# GREEK SMALL LETTER MU
-	0x00e7: 0x03bd,	# GREEK SMALL LETTER NU
-	0x00e8: 0x03be,	# GREEK SMALL LETTER XI
-	0x00e9: 0x03bf,	# GREEK SMALL LETTER OMICRON
-	0x00ea: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00eb: 0x03c1,	# GREEK SMALL LETTER RHO
-	0x00ec: 0x03c3,	# GREEK SMALL LETTER SIGMA
-	0x00ed: 0x03c2,	# GREEK SMALL LETTER FINAL SIGMA
-	0x00ee: 0x03c4,	# GREEK SMALL LETTER TAU
-	0x00ef: 0x0384,	# GREEK TONOS
-	0x00f0: 0x00ad,	# SOFT HYPHEN
-	0x00f1: 0x00b1,	# PLUS-MINUS SIGN
-	0x00f2: 0x03c5,	# GREEK SMALL LETTER UPSILON
-	0x00f3: 0x03c6,	# GREEK SMALL LETTER PHI
-	0x00f4: 0x03c7,	# GREEK SMALL LETTER CHI
-	0x00f5: 0x00a7,	# SECTION SIGN
-	0x00f6: 0x03c8,	# GREEK SMALL LETTER PSI
-	0x00f7: 0x0385,	# GREEK DIALYTIKA TONOS
-	0x00f8: 0x00b0,	# DEGREE SIGN
-	0x00f9: 0x00a8,	# DIAERESIS
-	0x00fa: 0x03c9,	# GREEK SMALL LETTER OMEGA
-	0x00fb: 0x03cb,	# GREEK SMALL LETTER UPSILON WITH DIALYTIKA
-	0x00fc: 0x03b0,	# GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-	0x00fd: 0x03ce,	# GREEK SMALL LETTER OMEGA WITH TONOS
-	0x00fe: 0x25a0,	# BLACK SQUARE
-	0x00ff: 0x00a0,	# NO-BREAK SPACE
+        0x0080: None,   # UNDEFINED
+        0x0081: None,   # UNDEFINED
+        0x0082: None,   # UNDEFINED
+        0x0083: None,   # UNDEFINED
+        0x0084: None,   # UNDEFINED
+        0x0085: None,   # UNDEFINED
+        0x0086: 0x0386, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+        0x0087: None,   # UNDEFINED
+        0x0088: 0x00b7, # MIDDLE DOT
+        0x0089: 0x00ac, # NOT SIGN
+        0x008a: 0x00a6, # BROKEN BAR
+        0x008b: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x008c: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x008d: 0x0388, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+        0x008e: 0x2015, # HORIZONTAL BAR
+        0x008f: 0x0389, # GREEK CAPITAL LETTER ETA WITH TONOS
+        0x0090: 0x038a, # GREEK CAPITAL LETTER IOTA WITH TONOS
+        0x0091: 0x03aa, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+        0x0092: 0x038c, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+        0x0093: None,   # UNDEFINED
+        0x0094: None,   # UNDEFINED
+        0x0095: 0x038e, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+        0x0096: 0x03ab, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+        0x0097: 0x00a9, # COPYRIGHT SIGN
+        0x0098: 0x038f, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+        0x0099: 0x00b2, # SUPERSCRIPT TWO
+        0x009a: 0x00b3, # SUPERSCRIPT THREE
+        0x009b: 0x03ac, # GREEK SMALL LETTER ALPHA WITH TONOS
+        0x009c: 0x00a3, # POUND SIGN
+        0x009d: 0x03ad, # GREEK SMALL LETTER EPSILON WITH TONOS
+        0x009e: 0x03ae, # GREEK SMALL LETTER ETA WITH TONOS
+        0x009f: 0x03af, # GREEK SMALL LETTER IOTA WITH TONOS
+        0x00a0: 0x03ca, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+        0x00a1: 0x0390, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+        0x00a2: 0x03cc, # GREEK SMALL LETTER OMICRON WITH TONOS
+        0x00a3: 0x03cd, # GREEK SMALL LETTER UPSILON WITH TONOS
+        0x00a4: 0x0391, # GREEK CAPITAL LETTER ALPHA
+        0x00a5: 0x0392, # GREEK CAPITAL LETTER BETA
+        0x00a6: 0x0393, # GREEK CAPITAL LETTER GAMMA
+        0x00a7: 0x0394, # GREEK CAPITAL LETTER DELTA
+        0x00a8: 0x0395, # GREEK CAPITAL LETTER EPSILON
+        0x00a9: 0x0396, # GREEK CAPITAL LETTER ZETA
+        0x00aa: 0x0397, # GREEK CAPITAL LETTER ETA
+        0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00ac: 0x0398, # GREEK CAPITAL LETTER THETA
+        0x00ad: 0x0399, # GREEK CAPITAL LETTER IOTA
+        0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00b0: 0x2591, # LIGHT SHADE
+        0x00b1: 0x2592, # MEDIUM SHADE
+        0x00b2: 0x2593, # DARK SHADE
+        0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+        0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x00b5: 0x039a, # GREEK CAPITAL LETTER KAPPA
+        0x00b6: 0x039b, # GREEK CAPITAL LETTER LAMDA
+        0x00b7: 0x039c, # GREEK CAPITAL LETTER MU
+        0x00b8: 0x039d, # GREEK CAPITAL LETTER NU
+        0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+        0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00bd: 0x039e, # GREEK CAPITAL LETTER XI
+        0x00be: 0x039f, # GREEK CAPITAL LETTER OMICRON
+        0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+        0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+        0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x00c6: 0x03a0, # GREEK CAPITAL LETTER PI
+        0x00c7: 0x03a1, # GREEK CAPITAL LETTER RHO
+        0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00cf: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+        0x00d0: 0x03a4, # GREEK CAPITAL LETTER TAU
+        0x00d1: 0x03a5, # GREEK CAPITAL LETTER UPSILON
+        0x00d2: 0x03a6, # GREEK CAPITAL LETTER PHI
+        0x00d3: 0x03a7, # GREEK CAPITAL LETTER CHI
+        0x00d4: 0x03a8, # GREEK CAPITAL LETTER PSI
+        0x00d5: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+        0x00d6: 0x03b1, # GREEK SMALL LETTER ALPHA
+        0x00d7: 0x03b2, # GREEK SMALL LETTER BETA
+        0x00d8: 0x03b3, # GREEK SMALL LETTER GAMMA
+        0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+        0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x00db: 0x2588, # FULL BLOCK
+        0x00dc: 0x2584, # LOWER HALF BLOCK
+        0x00dd: 0x03b4, # GREEK SMALL LETTER DELTA
+        0x00de: 0x03b5, # GREEK SMALL LETTER EPSILON
+        0x00df: 0x2580, # UPPER HALF BLOCK
+        0x00e0: 0x03b6, # GREEK SMALL LETTER ZETA
+        0x00e1: 0x03b7, # GREEK SMALL LETTER ETA
+        0x00e2: 0x03b8, # GREEK SMALL LETTER THETA
+        0x00e3: 0x03b9, # GREEK SMALL LETTER IOTA
+        0x00e4: 0x03ba, # GREEK SMALL LETTER KAPPA
+        0x00e5: 0x03bb, # GREEK SMALL LETTER LAMDA
+        0x00e6: 0x03bc, # GREEK SMALL LETTER MU
+        0x00e7: 0x03bd, # GREEK SMALL LETTER NU
+        0x00e8: 0x03be, # GREEK SMALL LETTER XI
+        0x00e9: 0x03bf, # GREEK SMALL LETTER OMICRON
+        0x00ea: 0x03c0, # GREEK SMALL LETTER PI
+        0x00eb: 0x03c1, # GREEK SMALL LETTER RHO
+        0x00ec: 0x03c3, # GREEK SMALL LETTER SIGMA
+        0x00ed: 0x03c2, # GREEK SMALL LETTER FINAL SIGMA
+        0x00ee: 0x03c4, # GREEK SMALL LETTER TAU
+        0x00ef: 0x0384, # GREEK TONOS
+        0x00f0: 0x00ad, # SOFT HYPHEN
+        0x00f1: 0x00b1, # PLUS-MINUS SIGN
+        0x00f2: 0x03c5, # GREEK SMALL LETTER UPSILON
+        0x00f3: 0x03c6, # GREEK SMALL LETTER PHI
+        0x00f4: 0x03c7, # GREEK SMALL LETTER CHI
+        0x00f5: 0x00a7, # SECTION SIGN
+        0x00f6: 0x03c8, # GREEK SMALL LETTER PSI
+        0x00f7: 0x0385, # GREEK DIALYTIKA TONOS
+        0x00f8: 0x00b0, # DEGREE SIGN
+        0x00f9: 0x00a8, # DIAERESIS
+        0x00fa: 0x03c9, # GREEK SMALL LETTER OMEGA
+        0x00fb: 0x03cb, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+        0x00fc: 0x03b0, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+        0x00fd: 0x03ce, # GREEK SMALL LETTER OMEGA WITH TONOS
+        0x00fe: 0x25a0, # BLACK SQUARE
+        0x00ff: 0x00a0, # NO-BREAK SPACE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp874.py b/Lib/encodings/cp874.py
index c43e20b..01c5eb6 100644
--- a/Lib/encodings/cp874.py
+++ b/Lib/encodings/cp874.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,133 +37,133 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x20ac,	# EURO SIGN
-	0x0081: None,	# UNDEFINED
-	0x0082: None,	# UNDEFINED
-	0x0083: None,	# UNDEFINED
-	0x0084: None,	# UNDEFINED
-	0x0085: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x0086: None,	# UNDEFINED
-	0x0087: None,	# UNDEFINED
-	0x0088: None,	# UNDEFINED
-	0x0089: None,	# UNDEFINED
-	0x008a: None,	# UNDEFINED
-	0x008b: None,	# UNDEFINED
-	0x008c: None,	# UNDEFINED
-	0x008d: None,	# UNDEFINED
-	0x008e: None,	# UNDEFINED
-	0x008f: None,	# UNDEFINED
-	0x0090: None,	# UNDEFINED
-	0x0091: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x0092: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x0093: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x0094: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x0095: 0x2022,	# BULLET
-	0x0096: 0x2013,	# EN DASH
-	0x0097: 0x2014,	# EM DASH
-	0x0098: None,	# UNDEFINED
-	0x0099: None,	# UNDEFINED
-	0x009a: None,	# UNDEFINED
-	0x009b: None,	# UNDEFINED
-	0x009c: None,	# UNDEFINED
-	0x009d: None,	# UNDEFINED
-	0x009e: None,	# UNDEFINED
-	0x009f: None,	# UNDEFINED
-	0x00a1: 0x0e01,	# THAI CHARACTER KO KAI
-	0x00a2: 0x0e02,	# THAI CHARACTER KHO KHAI
-	0x00a3: 0x0e03,	# THAI CHARACTER KHO KHUAT
-	0x00a4: 0x0e04,	# THAI CHARACTER KHO KHWAI
-	0x00a5: 0x0e05,	# THAI CHARACTER KHO KHON
-	0x00a6: 0x0e06,	# THAI CHARACTER KHO RAKHANG
-	0x00a7: 0x0e07,	# THAI CHARACTER NGO NGU
-	0x00a8: 0x0e08,	# THAI CHARACTER CHO CHAN
-	0x00a9: 0x0e09,	# THAI CHARACTER CHO CHING
-	0x00aa: 0x0e0a,	# THAI CHARACTER CHO CHANG
-	0x00ab: 0x0e0b,	# THAI CHARACTER SO SO
-	0x00ac: 0x0e0c,	# THAI CHARACTER CHO CHOE
-	0x00ad: 0x0e0d,	# THAI CHARACTER YO YING
-	0x00ae: 0x0e0e,	# THAI CHARACTER DO CHADA
-	0x00af: 0x0e0f,	# THAI CHARACTER TO PATAK
-	0x00b0: 0x0e10,	# THAI CHARACTER THO THAN
-	0x00b1: 0x0e11,	# THAI CHARACTER THO NANGMONTHO
-	0x00b2: 0x0e12,	# THAI CHARACTER THO PHUTHAO
-	0x00b3: 0x0e13,	# THAI CHARACTER NO NEN
-	0x00b4: 0x0e14,	# THAI CHARACTER DO DEK
-	0x00b5: 0x0e15,	# THAI CHARACTER TO TAO
-	0x00b6: 0x0e16,	# THAI CHARACTER THO THUNG
-	0x00b7: 0x0e17,	# THAI CHARACTER THO THAHAN
-	0x00b8: 0x0e18,	# THAI CHARACTER THO THONG
-	0x00b9: 0x0e19,	# THAI CHARACTER NO NU
-	0x00ba: 0x0e1a,	# THAI CHARACTER BO BAIMAI
-	0x00bb: 0x0e1b,	# THAI CHARACTER PO PLA
-	0x00bc: 0x0e1c,	# THAI CHARACTER PHO PHUNG
-	0x00bd: 0x0e1d,	# THAI CHARACTER FO FA
-	0x00be: 0x0e1e,	# THAI CHARACTER PHO PHAN
-	0x00bf: 0x0e1f,	# THAI CHARACTER FO FAN
-	0x00c0: 0x0e20,	# THAI CHARACTER PHO SAMPHAO
-	0x00c1: 0x0e21,	# THAI CHARACTER MO MA
-	0x00c2: 0x0e22,	# THAI CHARACTER YO YAK
-	0x00c3: 0x0e23,	# THAI CHARACTER RO RUA
-	0x00c4: 0x0e24,	# THAI CHARACTER RU
-	0x00c5: 0x0e25,	# THAI CHARACTER LO LING
-	0x00c6: 0x0e26,	# THAI CHARACTER LU
-	0x00c7: 0x0e27,	# THAI CHARACTER WO WAEN
-	0x00c8: 0x0e28,	# THAI CHARACTER SO SALA
-	0x00c9: 0x0e29,	# THAI CHARACTER SO RUSI
-	0x00ca: 0x0e2a,	# THAI CHARACTER SO SUA
-	0x00cb: 0x0e2b,	# THAI CHARACTER HO HIP
-	0x00cc: 0x0e2c,	# THAI CHARACTER LO CHULA
-	0x00cd: 0x0e2d,	# THAI CHARACTER O ANG
-	0x00ce: 0x0e2e,	# THAI CHARACTER HO NOKHUK
-	0x00cf: 0x0e2f,	# THAI CHARACTER PAIYANNOI
-	0x00d0: 0x0e30,	# THAI CHARACTER SARA A
-	0x00d1: 0x0e31,	# THAI CHARACTER MAI HAN-AKAT
-	0x00d2: 0x0e32,	# THAI CHARACTER SARA AA
-	0x00d3: 0x0e33,	# THAI CHARACTER SARA AM
-	0x00d4: 0x0e34,	# THAI CHARACTER SARA I
-	0x00d5: 0x0e35,	# THAI CHARACTER SARA II
-	0x00d6: 0x0e36,	# THAI CHARACTER SARA UE
-	0x00d7: 0x0e37,	# THAI CHARACTER SARA UEE
-	0x00d8: 0x0e38,	# THAI CHARACTER SARA U
-	0x00d9: 0x0e39,	# THAI CHARACTER SARA UU
-	0x00da: 0x0e3a,	# THAI CHARACTER PHINTHU
-	0x00db: None,	# UNDEFINED
-	0x00dc: None,	# UNDEFINED
-	0x00dd: None,	# UNDEFINED
-	0x00de: None,	# UNDEFINED
-	0x00df: 0x0e3f,	# THAI CURRENCY SYMBOL BAHT
-	0x00e0: 0x0e40,	# THAI CHARACTER SARA E
-	0x00e1: 0x0e41,	# THAI CHARACTER SARA AE
-	0x00e2: 0x0e42,	# THAI CHARACTER SARA O
-	0x00e3: 0x0e43,	# THAI CHARACTER SARA AI MAIMUAN
-	0x00e4: 0x0e44,	# THAI CHARACTER SARA AI MAIMALAI
-	0x00e5: 0x0e45,	# THAI CHARACTER LAKKHANGYAO
-	0x00e6: 0x0e46,	# THAI CHARACTER MAIYAMOK
-	0x00e7: 0x0e47,	# THAI CHARACTER MAITAIKHU
-	0x00e8: 0x0e48,	# THAI CHARACTER MAI EK
-	0x00e9: 0x0e49,	# THAI CHARACTER MAI THO
-	0x00ea: 0x0e4a,	# THAI CHARACTER MAI TRI
-	0x00eb: 0x0e4b,	# THAI CHARACTER MAI CHATTAWA
-	0x00ec: 0x0e4c,	# THAI CHARACTER THANTHAKHAT
-	0x00ed: 0x0e4d,	# THAI CHARACTER NIKHAHIT
-	0x00ee: 0x0e4e,	# THAI CHARACTER YAMAKKAN
-	0x00ef: 0x0e4f,	# THAI CHARACTER FONGMAN
-	0x00f0: 0x0e50,	# THAI DIGIT ZERO
-	0x00f1: 0x0e51,	# THAI DIGIT ONE
-	0x00f2: 0x0e52,	# THAI DIGIT TWO
-	0x00f3: 0x0e53,	# THAI DIGIT THREE
-	0x00f4: 0x0e54,	# THAI DIGIT FOUR
-	0x00f5: 0x0e55,	# THAI DIGIT FIVE
-	0x00f6: 0x0e56,	# THAI DIGIT SIX
-	0x00f7: 0x0e57,	# THAI DIGIT SEVEN
-	0x00f8: 0x0e58,	# THAI DIGIT EIGHT
-	0x00f9: 0x0e59,	# THAI DIGIT NINE
-	0x00fa: 0x0e5a,	# THAI CHARACTER ANGKHANKHU
-	0x00fb: 0x0e5b,	# THAI CHARACTER KHOMUT
-	0x00fc: None,	# UNDEFINED
-	0x00fd: None,	# UNDEFINED
-	0x00fe: None,	# UNDEFINED
-	0x00ff: None,	# UNDEFINED
+        0x0080: 0x20ac, # EURO SIGN
+        0x0081: None,   # UNDEFINED
+        0x0082: None,   # UNDEFINED
+        0x0083: None,   # UNDEFINED
+        0x0084: None,   # UNDEFINED
+        0x0085: 0x2026, # HORIZONTAL ELLIPSIS
+        0x0086: None,   # UNDEFINED
+        0x0087: None,   # UNDEFINED
+        0x0088: None,   # UNDEFINED
+        0x0089: None,   # UNDEFINED
+        0x008a: None,   # UNDEFINED
+        0x008b: None,   # UNDEFINED
+        0x008c: None,   # UNDEFINED
+        0x008d: None,   # UNDEFINED
+        0x008e: None,   # UNDEFINED
+        0x008f: None,   # UNDEFINED
+        0x0090: None,   # UNDEFINED
+        0x0091: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x0092: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x0093: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x0094: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x0095: 0x2022, # BULLET
+        0x0096: 0x2013, # EN DASH
+        0x0097: 0x2014, # EM DASH
+        0x0098: None,   # UNDEFINED
+        0x0099: None,   # UNDEFINED
+        0x009a: None,   # UNDEFINED
+        0x009b: None,   # UNDEFINED
+        0x009c: None,   # UNDEFINED
+        0x009d: None,   # UNDEFINED
+        0x009e: None,   # UNDEFINED
+        0x009f: None,   # UNDEFINED
+        0x00a1: 0x0e01, # THAI CHARACTER KO KAI
+        0x00a2: 0x0e02, # THAI CHARACTER KHO KHAI
+        0x00a3: 0x0e03, # THAI CHARACTER KHO KHUAT
+        0x00a4: 0x0e04, # THAI CHARACTER KHO KHWAI
+        0x00a5: 0x0e05, # THAI CHARACTER KHO KHON
+        0x00a6: 0x0e06, # THAI CHARACTER KHO RAKHANG
+        0x00a7: 0x0e07, # THAI CHARACTER NGO NGU
+        0x00a8: 0x0e08, # THAI CHARACTER CHO CHAN
+        0x00a9: 0x0e09, # THAI CHARACTER CHO CHING
+        0x00aa: 0x0e0a, # THAI CHARACTER CHO CHANG
+        0x00ab: 0x0e0b, # THAI CHARACTER SO SO
+        0x00ac: 0x0e0c, # THAI CHARACTER CHO CHOE
+        0x00ad: 0x0e0d, # THAI CHARACTER YO YING
+        0x00ae: 0x0e0e, # THAI CHARACTER DO CHADA
+        0x00af: 0x0e0f, # THAI CHARACTER TO PATAK
+        0x00b0: 0x0e10, # THAI CHARACTER THO THAN
+        0x00b1: 0x0e11, # THAI CHARACTER THO NANGMONTHO
+        0x00b2: 0x0e12, # THAI CHARACTER THO PHUTHAO
+        0x00b3: 0x0e13, # THAI CHARACTER NO NEN
+        0x00b4: 0x0e14, # THAI CHARACTER DO DEK
+        0x00b5: 0x0e15, # THAI CHARACTER TO TAO
+        0x00b6: 0x0e16, # THAI CHARACTER THO THUNG
+        0x00b7: 0x0e17, # THAI CHARACTER THO THAHAN
+        0x00b8: 0x0e18, # THAI CHARACTER THO THONG
+        0x00b9: 0x0e19, # THAI CHARACTER NO NU
+        0x00ba: 0x0e1a, # THAI CHARACTER BO BAIMAI
+        0x00bb: 0x0e1b, # THAI CHARACTER PO PLA
+        0x00bc: 0x0e1c, # THAI CHARACTER PHO PHUNG
+        0x00bd: 0x0e1d, # THAI CHARACTER FO FA
+        0x00be: 0x0e1e, # THAI CHARACTER PHO PHAN
+        0x00bf: 0x0e1f, # THAI CHARACTER FO FAN
+        0x00c0: 0x0e20, # THAI CHARACTER PHO SAMPHAO
+        0x00c1: 0x0e21, # THAI CHARACTER MO MA
+        0x00c2: 0x0e22, # THAI CHARACTER YO YAK
+        0x00c3: 0x0e23, # THAI CHARACTER RO RUA
+        0x00c4: 0x0e24, # THAI CHARACTER RU
+        0x00c5: 0x0e25, # THAI CHARACTER LO LING
+        0x00c6: 0x0e26, # THAI CHARACTER LU
+        0x00c7: 0x0e27, # THAI CHARACTER WO WAEN
+        0x00c8: 0x0e28, # THAI CHARACTER SO SALA
+        0x00c9: 0x0e29, # THAI CHARACTER SO RUSI
+        0x00ca: 0x0e2a, # THAI CHARACTER SO SUA
+        0x00cb: 0x0e2b, # THAI CHARACTER HO HIP
+        0x00cc: 0x0e2c, # THAI CHARACTER LO CHULA
+        0x00cd: 0x0e2d, # THAI CHARACTER O ANG
+        0x00ce: 0x0e2e, # THAI CHARACTER HO NOKHUK
+        0x00cf: 0x0e2f, # THAI CHARACTER PAIYANNOI
+        0x00d0: 0x0e30, # THAI CHARACTER SARA A
+        0x00d1: 0x0e31, # THAI CHARACTER MAI HAN-AKAT
+        0x00d2: 0x0e32, # THAI CHARACTER SARA AA
+        0x00d3: 0x0e33, # THAI CHARACTER SARA AM
+        0x00d4: 0x0e34, # THAI CHARACTER SARA I
+        0x00d5: 0x0e35, # THAI CHARACTER SARA II
+        0x00d6: 0x0e36, # THAI CHARACTER SARA UE
+        0x00d7: 0x0e37, # THAI CHARACTER SARA UEE
+        0x00d8: 0x0e38, # THAI CHARACTER SARA U
+        0x00d9: 0x0e39, # THAI CHARACTER SARA UU
+        0x00da: 0x0e3a, # THAI CHARACTER PHINTHU
+        0x00db: None,   # UNDEFINED
+        0x00dc: None,   # UNDEFINED
+        0x00dd: None,   # UNDEFINED
+        0x00de: None,   # UNDEFINED
+        0x00df: 0x0e3f, # THAI CURRENCY SYMBOL BAHT
+        0x00e0: 0x0e40, # THAI CHARACTER SARA E
+        0x00e1: 0x0e41, # THAI CHARACTER SARA AE
+        0x00e2: 0x0e42, # THAI CHARACTER SARA O
+        0x00e3: 0x0e43, # THAI CHARACTER SARA AI MAIMUAN
+        0x00e4: 0x0e44, # THAI CHARACTER SARA AI MAIMALAI
+        0x00e5: 0x0e45, # THAI CHARACTER LAKKHANGYAO
+        0x00e6: 0x0e46, # THAI CHARACTER MAIYAMOK
+        0x00e7: 0x0e47, # THAI CHARACTER MAITAIKHU
+        0x00e8: 0x0e48, # THAI CHARACTER MAI EK
+        0x00e9: 0x0e49, # THAI CHARACTER MAI THO
+        0x00ea: 0x0e4a, # THAI CHARACTER MAI TRI
+        0x00eb: 0x0e4b, # THAI CHARACTER MAI CHATTAWA
+        0x00ec: 0x0e4c, # THAI CHARACTER THANTHAKHAT
+        0x00ed: 0x0e4d, # THAI CHARACTER NIKHAHIT
+        0x00ee: 0x0e4e, # THAI CHARACTER YAMAKKAN
+        0x00ef: 0x0e4f, # THAI CHARACTER FONGMAN
+        0x00f0: 0x0e50, # THAI DIGIT ZERO
+        0x00f1: 0x0e51, # THAI DIGIT ONE
+        0x00f2: 0x0e52, # THAI DIGIT TWO
+        0x00f3: 0x0e53, # THAI DIGIT THREE
+        0x00f4: 0x0e54, # THAI DIGIT FOUR
+        0x00f5: 0x0e55, # THAI DIGIT FIVE
+        0x00f6: 0x0e56, # THAI DIGIT SIX
+        0x00f7: 0x0e57, # THAI DIGIT SEVEN
+        0x00f8: 0x0e58, # THAI DIGIT EIGHT
+        0x00f9: 0x0e59, # THAI DIGIT NINE
+        0x00fa: 0x0e5a, # THAI CHARACTER ANGKHANKHU
+        0x00fb: 0x0e5b, # THAI CHARACTER KHOMUT
+        0x00fc: None,   # UNDEFINED
+        0x00fd: None,   # UNDEFINED
+        0x00fe: None,   # UNDEFINED
+        0x00ff: None,   # UNDEFINED
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/cp875.py b/Lib/encodings/cp875.py
index 5e74873..95bb777 100644
--- a/Lib/encodings/cp875.py
+++ b/Lib/encodings/cp875.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,243 +37,243 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0004: 0x009c,	# CONTROL
-	0x0005: 0x0009,	# HORIZONTAL TABULATION
-	0x0006: 0x0086,	# CONTROL
-	0x0007: 0x007f,	# DELETE
-	0x0008: 0x0097,	# CONTROL
-	0x0009: 0x008d,	# CONTROL
-	0x000a: 0x008e,	# CONTROL
-	0x0014: 0x009d,	# CONTROL
-	0x0015: 0x0085,	# CONTROL
-	0x0016: 0x0008,	# BACKSPACE
-	0x0017: 0x0087,	# CONTROL
-	0x001a: 0x0092,	# CONTROL
-	0x001b: 0x008f,	# CONTROL
-	0x0020: 0x0080,	# CONTROL
-	0x0021: 0x0081,	# CONTROL
-	0x0022: 0x0082,	# CONTROL
-	0x0023: 0x0083,	# CONTROL
-	0x0024: 0x0084,	# CONTROL
-	0x0025: 0x000a,	# LINE FEED
-	0x0026: 0x0017,	# END OF TRANSMISSION BLOCK
-	0x0027: 0x001b,	# ESCAPE
-	0x0028: 0x0088,	# CONTROL
-	0x0029: 0x0089,	# CONTROL
-	0x002a: 0x008a,	# CONTROL
-	0x002b: 0x008b,	# CONTROL
-	0x002c: 0x008c,	# CONTROL
-	0x002d: 0x0005,	# ENQUIRY
-	0x002e: 0x0006,	# ACKNOWLEDGE
-	0x002f: 0x0007,	# BELL
-	0x0030: 0x0090,	# CONTROL
-	0x0031: 0x0091,	# CONTROL
-	0x0032: 0x0016,	# SYNCHRONOUS IDLE
-	0x0033: 0x0093,	# CONTROL
-	0x0034: 0x0094,	# CONTROL
-	0x0035: 0x0095,	# CONTROL
-	0x0036: 0x0096,	# CONTROL
-	0x0037: 0x0004,	# END OF TRANSMISSION
-	0x0038: 0x0098,	# CONTROL
-	0x0039: 0x0099,	# CONTROL
-	0x003a: 0x009a,	# CONTROL
-	0x003b: 0x009b,	# CONTROL
-	0x003c: 0x0014,	# DEVICE CONTROL FOUR
-	0x003d: 0x0015,	# NEGATIVE ACKNOWLEDGE
-	0x003e: 0x009e,	# CONTROL
-	0x003f: 0x001a,	# SUBSTITUTE
-	0x0040: 0x0020,	# SPACE
-	0x0041: 0x0391,	# GREEK CAPITAL LETTER ALPHA
-	0x0042: 0x0392,	# GREEK CAPITAL LETTER BETA
-	0x0043: 0x0393,	# GREEK CAPITAL LETTER GAMMA
-	0x0044: 0x0394,	# GREEK CAPITAL LETTER DELTA
-	0x0045: 0x0395,	# GREEK CAPITAL LETTER EPSILON
-	0x0046: 0x0396,	# GREEK CAPITAL LETTER ZETA
-	0x0047: 0x0397,	# GREEK CAPITAL LETTER ETA
-	0x0048: 0x0398,	# GREEK CAPITAL LETTER THETA
-	0x0049: 0x0399,	# GREEK CAPITAL LETTER IOTA
-	0x004a: 0x005b,	# LEFT SQUARE BRACKET
-	0x004b: 0x002e,	# FULL STOP
-	0x004c: 0x003c,	# LESS-THAN SIGN
-	0x004d: 0x0028,	# LEFT PARENTHESIS
-	0x004e: 0x002b,	# PLUS SIGN
-	0x004f: 0x0021,	# EXCLAMATION MARK
-	0x0050: 0x0026,	# AMPERSAND
-	0x0051: 0x039a,	# GREEK CAPITAL LETTER KAPPA
-	0x0052: 0x039b,	# GREEK CAPITAL LETTER LAMDA
-	0x0053: 0x039c,	# GREEK CAPITAL LETTER MU
-	0x0054: 0x039d,	# GREEK CAPITAL LETTER NU
-	0x0055: 0x039e,	# GREEK CAPITAL LETTER XI
-	0x0056: 0x039f,	# GREEK CAPITAL LETTER OMICRON
-	0x0057: 0x03a0,	# GREEK CAPITAL LETTER PI
-	0x0058: 0x03a1,	# GREEK CAPITAL LETTER RHO
-	0x0059: 0x03a3,	# GREEK CAPITAL LETTER SIGMA
-	0x005a: 0x005d,	# RIGHT SQUARE BRACKET
-	0x005b: 0x0024,	# DOLLAR SIGN
-	0x005c: 0x002a,	# ASTERISK
-	0x005d: 0x0029,	# RIGHT PARENTHESIS
-	0x005e: 0x003b,	# SEMICOLON
-	0x005f: 0x005e,	# CIRCUMFLEX ACCENT
-	0x0060: 0x002d,	# HYPHEN-MINUS
-	0x0061: 0x002f,	# SOLIDUS
-	0x0062: 0x03a4,	# GREEK CAPITAL LETTER TAU
-	0x0063: 0x03a5,	# GREEK CAPITAL LETTER UPSILON
-	0x0064: 0x03a6,	# GREEK CAPITAL LETTER PHI
-	0x0065: 0x03a7,	# GREEK CAPITAL LETTER CHI
-	0x0066: 0x03a8,	# GREEK CAPITAL LETTER PSI
-	0x0067: 0x03a9,	# GREEK CAPITAL LETTER OMEGA
-	0x0068: 0x03aa,	# GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
-	0x0069: 0x03ab,	# GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-	0x006a: 0x007c,	# VERTICAL LINE
-	0x006b: 0x002c,	# COMMA
-	0x006c: 0x0025,	# PERCENT SIGN
-	0x006d: 0x005f,	# LOW LINE
-	0x006e: 0x003e,	# GREATER-THAN SIGN
-	0x006f: 0x003f,	# QUESTION MARK
-	0x0070: 0x00a8,	# DIAERESIS
-	0x0071: 0x0386,	# GREEK CAPITAL LETTER ALPHA WITH TONOS
-	0x0072: 0x0388,	# GREEK CAPITAL LETTER EPSILON WITH TONOS
-	0x0073: 0x0389,	# GREEK CAPITAL LETTER ETA WITH TONOS
-	0x0074: 0x00a0,	# NO-BREAK SPACE
-	0x0075: 0x038a,	# GREEK CAPITAL LETTER IOTA WITH TONOS
-	0x0076: 0x038c,	# GREEK CAPITAL LETTER OMICRON WITH TONOS
-	0x0077: 0x038e,	# GREEK CAPITAL LETTER UPSILON WITH TONOS
-	0x0078: 0x038f,	# GREEK CAPITAL LETTER OMEGA WITH TONOS
-	0x0079: 0x0060,	# GRAVE ACCENT
-	0x007a: 0x003a,	# COLON
-	0x007b: 0x0023,	# NUMBER SIGN
-	0x007c: 0x0040,	# COMMERCIAL AT
-	0x007d: 0x0027,	# APOSTROPHE
-	0x007e: 0x003d,	# EQUALS SIGN
-	0x007f: 0x0022,	# QUOTATION MARK
-	0x0080: 0x0385,	# GREEK DIALYTIKA TONOS
-	0x0081: 0x0061,	# LATIN SMALL LETTER A
-	0x0082: 0x0062,	# LATIN SMALL LETTER B
-	0x0083: 0x0063,	# LATIN SMALL LETTER C
-	0x0084: 0x0064,	# LATIN SMALL LETTER D
-	0x0085: 0x0065,	# LATIN SMALL LETTER E
-	0x0086: 0x0066,	# LATIN SMALL LETTER F
-	0x0087: 0x0067,	# LATIN SMALL LETTER G
-	0x0088: 0x0068,	# LATIN SMALL LETTER H
-	0x0089: 0x0069,	# LATIN SMALL LETTER I
-	0x008a: 0x03b1,	# GREEK SMALL LETTER ALPHA
-	0x008b: 0x03b2,	# GREEK SMALL LETTER BETA
-	0x008c: 0x03b3,	# GREEK SMALL LETTER GAMMA
-	0x008d: 0x03b4,	# GREEK SMALL LETTER DELTA
-	0x008e: 0x03b5,	# GREEK SMALL LETTER EPSILON
-	0x008f: 0x03b6,	# GREEK SMALL LETTER ZETA
-	0x0090: 0x00b0,	# DEGREE SIGN
-	0x0091: 0x006a,	# LATIN SMALL LETTER J
-	0x0092: 0x006b,	# LATIN SMALL LETTER K
-	0x0093: 0x006c,	# LATIN SMALL LETTER L
-	0x0094: 0x006d,	# LATIN SMALL LETTER M
-	0x0095: 0x006e,	# LATIN SMALL LETTER N
-	0x0096: 0x006f,	# LATIN SMALL LETTER O
-	0x0097: 0x0070,	# LATIN SMALL LETTER P
-	0x0098: 0x0071,	# LATIN SMALL LETTER Q
-	0x0099: 0x0072,	# LATIN SMALL LETTER R
-	0x009a: 0x03b7,	# GREEK SMALL LETTER ETA
-	0x009b: 0x03b8,	# GREEK SMALL LETTER THETA
-	0x009c: 0x03b9,	# GREEK SMALL LETTER IOTA
-	0x009d: 0x03ba,	# GREEK SMALL LETTER KAPPA
-	0x009e: 0x03bb,	# GREEK SMALL LETTER LAMDA
-	0x009f: 0x03bc,	# GREEK SMALL LETTER MU
-	0x00a0: 0x00b4,	# ACUTE ACCENT
-	0x00a1: 0x007e,	# TILDE
-	0x00a2: 0x0073,	# LATIN SMALL LETTER S
-	0x00a3: 0x0074,	# LATIN SMALL LETTER T
-	0x00a4: 0x0075,	# LATIN SMALL LETTER U
-	0x00a5: 0x0076,	# LATIN SMALL LETTER V
-	0x00a6: 0x0077,	# LATIN SMALL LETTER W
-	0x00a7: 0x0078,	# LATIN SMALL LETTER X
-	0x00a8: 0x0079,	# LATIN SMALL LETTER Y
-	0x00a9: 0x007a,	# LATIN SMALL LETTER Z
-	0x00aa: 0x03bd,	# GREEK SMALL LETTER NU
-	0x00ab: 0x03be,	# GREEK SMALL LETTER XI
-	0x00ac: 0x03bf,	# GREEK SMALL LETTER OMICRON
-	0x00ad: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00ae: 0x03c1,	# GREEK SMALL LETTER RHO
-	0x00af: 0x03c3,	# GREEK SMALL LETTER SIGMA
-	0x00b0: 0x00a3,	# POUND SIGN
-	0x00b1: 0x03ac,	# GREEK SMALL LETTER ALPHA WITH TONOS
-	0x00b2: 0x03ad,	# GREEK SMALL LETTER EPSILON WITH TONOS
-	0x00b3: 0x03ae,	# GREEK SMALL LETTER ETA WITH TONOS
-	0x00b4: 0x03ca,	# GREEK SMALL LETTER IOTA WITH DIALYTIKA
-	0x00b5: 0x03af,	# GREEK SMALL LETTER IOTA WITH TONOS
-	0x00b6: 0x03cc,	# GREEK SMALL LETTER OMICRON WITH TONOS
-	0x00b7: 0x03cd,	# GREEK SMALL LETTER UPSILON WITH TONOS
-	0x00b8: 0x03cb,	# GREEK SMALL LETTER UPSILON WITH DIALYTIKA
-	0x00b9: 0x03ce,	# GREEK SMALL LETTER OMEGA WITH TONOS
-	0x00ba: 0x03c2,	# GREEK SMALL LETTER FINAL SIGMA
-	0x00bb: 0x03c4,	# GREEK SMALL LETTER TAU
-	0x00bc: 0x03c5,	# GREEK SMALL LETTER UPSILON
-	0x00bd: 0x03c6,	# GREEK SMALL LETTER PHI
-	0x00be: 0x03c7,	# GREEK SMALL LETTER CHI
-	0x00bf: 0x03c8,	# GREEK SMALL LETTER PSI
-	0x00c0: 0x007b,	# LEFT CURLY BRACKET
-	0x00c1: 0x0041,	# LATIN CAPITAL LETTER A
-	0x00c2: 0x0042,	# LATIN CAPITAL LETTER B
-	0x00c3: 0x0043,	# LATIN CAPITAL LETTER C
-	0x00c4: 0x0044,	# LATIN CAPITAL LETTER D
-	0x00c5: 0x0045,	# LATIN CAPITAL LETTER E
-	0x00c6: 0x0046,	# LATIN CAPITAL LETTER F
-	0x00c7: 0x0047,	# LATIN CAPITAL LETTER G
-	0x00c8: 0x0048,	# LATIN CAPITAL LETTER H
-	0x00c9: 0x0049,	# LATIN CAPITAL LETTER I
-	0x00ca: 0x00ad,	# SOFT HYPHEN
-	0x00cb: 0x03c9,	# GREEK SMALL LETTER OMEGA
-	0x00cc: 0x0390,	# GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-	0x00cd: 0x03b0,	# GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-	0x00ce: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x00cf: 0x2015,	# HORIZONTAL BAR
-	0x00d0: 0x007d,	# RIGHT CURLY BRACKET
-	0x00d1: 0x004a,	# LATIN CAPITAL LETTER J
-	0x00d2: 0x004b,	# LATIN CAPITAL LETTER K
-	0x00d3: 0x004c,	# LATIN CAPITAL LETTER L
-	0x00d4: 0x004d,	# LATIN CAPITAL LETTER M
-	0x00d5: 0x004e,	# LATIN CAPITAL LETTER N
-	0x00d6: 0x004f,	# LATIN CAPITAL LETTER O
-	0x00d7: 0x0050,	# LATIN CAPITAL LETTER P
-	0x00d8: 0x0051,	# LATIN CAPITAL LETTER Q
-	0x00d9: 0x0052,	# LATIN CAPITAL LETTER R
-	0x00da: 0x00b1,	# PLUS-MINUS SIGN
-	0x00db: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x00dc: 0x001a,	# SUBSTITUTE
-	0x00dd: 0x0387,	# GREEK ANO TELEIA
-	0x00de: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x00df: 0x00a6,	# BROKEN BAR
-	0x00e0: 0x005c,	# REVERSE SOLIDUS
-	0x00e1: 0x001a,	# SUBSTITUTE
-	0x00e2: 0x0053,	# LATIN CAPITAL LETTER S
-	0x00e3: 0x0054,	# LATIN CAPITAL LETTER T
-	0x00e4: 0x0055,	# LATIN CAPITAL LETTER U
-	0x00e5: 0x0056,	# LATIN CAPITAL LETTER V
-	0x00e6: 0x0057,	# LATIN CAPITAL LETTER W
-	0x00e7: 0x0058,	# LATIN CAPITAL LETTER X
-	0x00e8: 0x0059,	# LATIN CAPITAL LETTER Y
-	0x00e9: 0x005a,	# LATIN CAPITAL LETTER Z
-	0x00ea: 0x00b2,	# SUPERSCRIPT TWO
-	0x00eb: 0x00a7,	# SECTION SIGN
-	0x00ec: 0x001a,	# SUBSTITUTE
-	0x00ed: 0x001a,	# SUBSTITUTE
-	0x00ee: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00ef: 0x00ac,	# NOT SIGN
-	0x00f0: 0x0030,	# DIGIT ZERO
-	0x00f1: 0x0031,	# DIGIT ONE
-	0x00f2: 0x0032,	# DIGIT TWO
-	0x00f3: 0x0033,	# DIGIT THREE
-	0x00f4: 0x0034,	# DIGIT FOUR
-	0x00f5: 0x0035,	# DIGIT FIVE
-	0x00f6: 0x0036,	# DIGIT SIX
-	0x00f7: 0x0037,	# DIGIT SEVEN
-	0x00f8: 0x0038,	# DIGIT EIGHT
-	0x00f9: 0x0039,	# DIGIT NINE
-	0x00fa: 0x00b3,	# SUPERSCRIPT THREE
-	0x00fb: 0x00a9,	# COPYRIGHT SIGN
-	0x00fc: 0x001a,	# SUBSTITUTE
-	0x00fd: 0x001a,	# SUBSTITUTE
-	0x00fe: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00ff: 0x009f,	# CONTROL
+        0x0004: 0x009c, # CONTROL
+        0x0005: 0x0009, # HORIZONTAL TABULATION
+        0x0006: 0x0086, # CONTROL
+        0x0007: 0x007f, # DELETE
+        0x0008: 0x0097, # CONTROL
+        0x0009: 0x008d, # CONTROL
+        0x000a: 0x008e, # CONTROL
+        0x0014: 0x009d, # CONTROL
+        0x0015: 0x0085, # CONTROL
+        0x0016: 0x0008, # BACKSPACE
+        0x0017: 0x0087, # CONTROL
+        0x001a: 0x0092, # CONTROL
+        0x001b: 0x008f, # CONTROL
+        0x0020: 0x0080, # CONTROL
+        0x0021: 0x0081, # CONTROL
+        0x0022: 0x0082, # CONTROL
+        0x0023: 0x0083, # CONTROL
+        0x0024: 0x0084, # CONTROL
+        0x0025: 0x000a, # LINE FEED
+        0x0026: 0x0017, # END OF TRANSMISSION BLOCK
+        0x0027: 0x001b, # ESCAPE
+        0x0028: 0x0088, # CONTROL
+        0x0029: 0x0089, # CONTROL
+        0x002a: 0x008a, # CONTROL
+        0x002b: 0x008b, # CONTROL
+        0x002c: 0x008c, # CONTROL
+        0x002d: 0x0005, # ENQUIRY
+        0x002e: 0x0006, # ACKNOWLEDGE
+        0x002f: 0x0007, # BELL
+        0x0030: 0x0090, # CONTROL
+        0x0031: 0x0091, # CONTROL
+        0x0032: 0x0016, # SYNCHRONOUS IDLE
+        0x0033: 0x0093, # CONTROL
+        0x0034: 0x0094, # CONTROL
+        0x0035: 0x0095, # CONTROL
+        0x0036: 0x0096, # CONTROL
+        0x0037: 0x0004, # END OF TRANSMISSION
+        0x0038: 0x0098, # CONTROL
+        0x0039: 0x0099, # CONTROL
+        0x003a: 0x009a, # CONTROL
+        0x003b: 0x009b, # CONTROL
+        0x003c: 0x0014, # DEVICE CONTROL FOUR
+        0x003d: 0x0015, # NEGATIVE ACKNOWLEDGE
+        0x003e: 0x009e, # CONTROL
+        0x003f: 0x001a, # SUBSTITUTE
+        0x0040: 0x0020, # SPACE
+        0x0041: 0x0391, # GREEK CAPITAL LETTER ALPHA
+        0x0042: 0x0392, # GREEK CAPITAL LETTER BETA
+        0x0043: 0x0393, # GREEK CAPITAL LETTER GAMMA
+        0x0044: 0x0394, # GREEK CAPITAL LETTER DELTA
+        0x0045: 0x0395, # GREEK CAPITAL LETTER EPSILON
+        0x0046: 0x0396, # GREEK CAPITAL LETTER ZETA
+        0x0047: 0x0397, # GREEK CAPITAL LETTER ETA
+        0x0048: 0x0398, # GREEK CAPITAL LETTER THETA
+        0x0049: 0x0399, # GREEK CAPITAL LETTER IOTA
+        0x004a: 0x005b, # LEFT SQUARE BRACKET
+        0x004b: 0x002e, # FULL STOP
+        0x004c: 0x003c, # LESS-THAN SIGN
+        0x004d: 0x0028, # LEFT PARENTHESIS
+        0x004e: 0x002b, # PLUS SIGN
+        0x004f: 0x0021, # EXCLAMATION MARK
+        0x0050: 0x0026, # AMPERSAND
+        0x0051: 0x039a, # GREEK CAPITAL LETTER KAPPA
+        0x0052: 0x039b, # GREEK CAPITAL LETTER LAMDA
+        0x0053: 0x039c, # GREEK CAPITAL LETTER MU
+        0x0054: 0x039d, # GREEK CAPITAL LETTER NU
+        0x0055: 0x039e, # GREEK CAPITAL LETTER XI
+        0x0056: 0x039f, # GREEK CAPITAL LETTER OMICRON
+        0x0057: 0x03a0, # GREEK CAPITAL LETTER PI
+        0x0058: 0x03a1, # GREEK CAPITAL LETTER RHO
+        0x0059: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+        0x005a: 0x005d, # RIGHT SQUARE BRACKET
+        0x005b: 0x0024, # DOLLAR SIGN
+        0x005c: 0x002a, # ASTERISK
+        0x005d: 0x0029, # RIGHT PARENTHESIS
+        0x005e: 0x003b, # SEMICOLON
+        0x005f: 0x005e, # CIRCUMFLEX ACCENT
+        0x0060: 0x002d, # HYPHEN-MINUS
+        0x0061: 0x002f, # SOLIDUS
+        0x0062: 0x03a4, # GREEK CAPITAL LETTER TAU
+        0x0063: 0x03a5, # GREEK CAPITAL LETTER UPSILON
+        0x0064: 0x03a6, # GREEK CAPITAL LETTER PHI
+        0x0065: 0x03a7, # GREEK CAPITAL LETTER CHI
+        0x0066: 0x03a8, # GREEK CAPITAL LETTER PSI
+        0x0067: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+        0x0068: 0x03aa, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+        0x0069: 0x03ab, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+        0x006a: 0x007c, # VERTICAL LINE
+        0x006b: 0x002c, # COMMA
+        0x006c: 0x0025, # PERCENT SIGN
+        0x006d: 0x005f, # LOW LINE
+        0x006e: 0x003e, # GREATER-THAN SIGN
+        0x006f: 0x003f, # QUESTION MARK
+        0x0070: 0x00a8, # DIAERESIS
+        0x0071: 0x0386, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+        0x0072: 0x0388, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+        0x0073: 0x0389, # GREEK CAPITAL LETTER ETA WITH TONOS
+        0x0074: 0x00a0, # NO-BREAK SPACE
+        0x0075: 0x038a, # GREEK CAPITAL LETTER IOTA WITH TONOS
+        0x0076: 0x038c, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+        0x0077: 0x038e, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+        0x0078: 0x038f, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+        0x0079: 0x0060, # GRAVE ACCENT
+        0x007a: 0x003a, # COLON
+        0x007b: 0x0023, # NUMBER SIGN
+        0x007c: 0x0040, # COMMERCIAL AT
+        0x007d: 0x0027, # APOSTROPHE
+        0x007e: 0x003d, # EQUALS SIGN
+        0x007f: 0x0022, # QUOTATION MARK
+        0x0080: 0x0385, # GREEK DIALYTIKA TONOS
+        0x0081: 0x0061, # LATIN SMALL LETTER A
+        0x0082: 0x0062, # LATIN SMALL LETTER B
+        0x0083: 0x0063, # LATIN SMALL LETTER C
+        0x0084: 0x0064, # LATIN SMALL LETTER D
+        0x0085: 0x0065, # LATIN SMALL LETTER E
+        0x0086: 0x0066, # LATIN SMALL LETTER F
+        0x0087: 0x0067, # LATIN SMALL LETTER G
+        0x0088: 0x0068, # LATIN SMALL LETTER H
+        0x0089: 0x0069, # LATIN SMALL LETTER I
+        0x008a: 0x03b1, # GREEK SMALL LETTER ALPHA
+        0x008b: 0x03b2, # GREEK SMALL LETTER BETA
+        0x008c: 0x03b3, # GREEK SMALL LETTER GAMMA
+        0x008d: 0x03b4, # GREEK SMALL LETTER DELTA
+        0x008e: 0x03b5, # GREEK SMALL LETTER EPSILON
+        0x008f: 0x03b6, # GREEK SMALL LETTER ZETA
+        0x0090: 0x00b0, # DEGREE SIGN
+        0x0091: 0x006a, # LATIN SMALL LETTER J
+        0x0092: 0x006b, # LATIN SMALL LETTER K
+        0x0093: 0x006c, # LATIN SMALL LETTER L
+        0x0094: 0x006d, # LATIN SMALL LETTER M
+        0x0095: 0x006e, # LATIN SMALL LETTER N
+        0x0096: 0x006f, # LATIN SMALL LETTER O
+        0x0097: 0x0070, # LATIN SMALL LETTER P
+        0x0098: 0x0071, # LATIN SMALL LETTER Q
+        0x0099: 0x0072, # LATIN SMALL LETTER R
+        0x009a: 0x03b7, # GREEK SMALL LETTER ETA
+        0x009b: 0x03b8, # GREEK SMALL LETTER THETA
+        0x009c: 0x03b9, # GREEK SMALL LETTER IOTA
+        0x009d: 0x03ba, # GREEK SMALL LETTER KAPPA
+        0x009e: 0x03bb, # GREEK SMALL LETTER LAMDA
+        0x009f: 0x03bc, # GREEK SMALL LETTER MU
+        0x00a0: 0x00b4, # ACUTE ACCENT
+        0x00a1: 0x007e, # TILDE
+        0x00a2: 0x0073, # LATIN SMALL LETTER S
+        0x00a3: 0x0074, # LATIN SMALL LETTER T
+        0x00a4: 0x0075, # LATIN SMALL LETTER U
+        0x00a5: 0x0076, # LATIN SMALL LETTER V
+        0x00a6: 0x0077, # LATIN SMALL LETTER W
+        0x00a7: 0x0078, # LATIN SMALL LETTER X
+        0x00a8: 0x0079, # LATIN SMALL LETTER Y
+        0x00a9: 0x007a, # LATIN SMALL LETTER Z
+        0x00aa: 0x03bd, # GREEK SMALL LETTER NU
+        0x00ab: 0x03be, # GREEK SMALL LETTER XI
+        0x00ac: 0x03bf, # GREEK SMALL LETTER OMICRON
+        0x00ad: 0x03c0, # GREEK SMALL LETTER PI
+        0x00ae: 0x03c1, # GREEK SMALL LETTER RHO
+        0x00af: 0x03c3, # GREEK SMALL LETTER SIGMA
+        0x00b0: 0x00a3, # POUND SIGN
+        0x00b1: 0x03ac, # GREEK SMALL LETTER ALPHA WITH TONOS
+        0x00b2: 0x03ad, # GREEK SMALL LETTER EPSILON WITH TONOS
+        0x00b3: 0x03ae, # GREEK SMALL LETTER ETA WITH TONOS
+        0x00b4: 0x03ca, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+        0x00b5: 0x03af, # GREEK SMALL LETTER IOTA WITH TONOS
+        0x00b6: 0x03cc, # GREEK SMALL LETTER OMICRON WITH TONOS
+        0x00b7: 0x03cd, # GREEK SMALL LETTER UPSILON WITH TONOS
+        0x00b8: 0x03cb, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+        0x00b9: 0x03ce, # GREEK SMALL LETTER OMEGA WITH TONOS
+        0x00ba: 0x03c2, # GREEK SMALL LETTER FINAL SIGMA
+        0x00bb: 0x03c4, # GREEK SMALL LETTER TAU
+        0x00bc: 0x03c5, # GREEK SMALL LETTER UPSILON
+        0x00bd: 0x03c6, # GREEK SMALL LETTER PHI
+        0x00be: 0x03c7, # GREEK SMALL LETTER CHI
+        0x00bf: 0x03c8, # GREEK SMALL LETTER PSI
+        0x00c0: 0x007b, # LEFT CURLY BRACKET
+        0x00c1: 0x0041, # LATIN CAPITAL LETTER A
+        0x00c2: 0x0042, # LATIN CAPITAL LETTER B
+        0x00c3: 0x0043, # LATIN CAPITAL LETTER C
+        0x00c4: 0x0044, # LATIN CAPITAL LETTER D
+        0x00c5: 0x0045, # LATIN CAPITAL LETTER E
+        0x00c6: 0x0046, # LATIN CAPITAL LETTER F
+        0x00c7: 0x0047, # LATIN CAPITAL LETTER G
+        0x00c8: 0x0048, # LATIN CAPITAL LETTER H
+        0x00c9: 0x0049, # LATIN CAPITAL LETTER I
+        0x00ca: 0x00ad, # SOFT HYPHEN
+        0x00cb: 0x03c9, # GREEK SMALL LETTER OMEGA
+        0x00cc: 0x0390, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+        0x00cd: 0x03b0, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+        0x00ce: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x00cf: 0x2015, # HORIZONTAL BAR
+        0x00d0: 0x007d, # RIGHT CURLY BRACKET
+        0x00d1: 0x004a, # LATIN CAPITAL LETTER J
+        0x00d2: 0x004b, # LATIN CAPITAL LETTER K
+        0x00d3: 0x004c, # LATIN CAPITAL LETTER L
+        0x00d4: 0x004d, # LATIN CAPITAL LETTER M
+        0x00d5: 0x004e, # LATIN CAPITAL LETTER N
+        0x00d6: 0x004f, # LATIN CAPITAL LETTER O
+        0x00d7: 0x0050, # LATIN CAPITAL LETTER P
+        0x00d8: 0x0051, # LATIN CAPITAL LETTER Q
+        0x00d9: 0x0052, # LATIN CAPITAL LETTER R
+        0x00da: 0x00b1, # PLUS-MINUS SIGN
+        0x00db: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x00dc: 0x001a, # SUBSTITUTE
+        0x00dd: 0x0387, # GREEK ANO TELEIA
+        0x00de: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x00df: 0x00a6, # BROKEN BAR
+        0x00e0: 0x005c, # REVERSE SOLIDUS
+        0x00e1: 0x001a, # SUBSTITUTE
+        0x00e2: 0x0053, # LATIN CAPITAL LETTER S
+        0x00e3: 0x0054, # LATIN CAPITAL LETTER T
+        0x00e4: 0x0055, # LATIN CAPITAL LETTER U
+        0x00e5: 0x0056, # LATIN CAPITAL LETTER V
+        0x00e6: 0x0057, # LATIN CAPITAL LETTER W
+        0x00e7: 0x0058, # LATIN CAPITAL LETTER X
+        0x00e8: 0x0059, # LATIN CAPITAL LETTER Y
+        0x00e9: 0x005a, # LATIN CAPITAL LETTER Z
+        0x00ea: 0x00b2, # SUPERSCRIPT TWO
+        0x00eb: 0x00a7, # SECTION SIGN
+        0x00ec: 0x001a, # SUBSTITUTE
+        0x00ed: 0x001a, # SUBSTITUTE
+        0x00ee: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00ef: 0x00ac, # NOT SIGN
+        0x00f0: 0x0030, # DIGIT ZERO
+        0x00f1: 0x0031, # DIGIT ONE
+        0x00f2: 0x0032, # DIGIT TWO
+        0x00f3: 0x0033, # DIGIT THREE
+        0x00f4: 0x0034, # DIGIT FOUR
+        0x00f5: 0x0035, # DIGIT FIVE
+        0x00f6: 0x0036, # DIGIT SIX
+        0x00f7: 0x0037, # DIGIT SEVEN
+        0x00f8: 0x0038, # DIGIT EIGHT
+        0x00f9: 0x0039, # DIGIT NINE
+        0x00fa: 0x00b3, # SUPERSCRIPT THREE
+        0x00fb: 0x00a9, # COPYRIGHT SIGN
+        0x00fc: 0x001a, # SUBSTITUTE
+        0x00fd: 0x001a, # SUBSTITUTE
+        0x00fe: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00ff: 0x009f, # CONTROL
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/hex_codec.py b/Lib/encodings/hex_codec.py
index 572ff79..5c6e4a4 100644
--- a/Lib/encodings/hex_codec.py
+++ b/Lib/encodings/hex_codec.py
@@ -51,7 +51,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/iso8859_1.py b/Lib/encodings/iso8859_1.py
index cea2261..9fa2fcc 100644
--- a/Lib/encodings/iso8859_1.py
+++ b/Lib/encodings/iso8859_1.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/iso8859_10.py b/Lib/encodings/iso8859_10.py
index f29ebd2..df2565a 100644
--- a/Lib/encodings/iso8859_10.py
+++ b/Lib/encodings/iso8859_10.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,52 +37,52 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00a1: 0x0104,	# 	LATIN CAPITAL LETTER A WITH OGONEK
-	0x00a2: 0x0112,	# 	LATIN CAPITAL LETTER E WITH MACRON
-	0x00a3: 0x0122,	# 	LATIN CAPITAL LETTER G WITH CEDILLA
-	0x00a4: 0x012a,	# 	LATIN CAPITAL LETTER I WITH MACRON
-	0x00a5: 0x0128,	# 	LATIN CAPITAL LETTER I WITH TILDE
-	0x00a6: 0x0136,	# 	LATIN CAPITAL LETTER K WITH CEDILLA
-	0x00a8: 0x013b,	# 	LATIN CAPITAL LETTER L WITH CEDILLA
-	0x00a9: 0x0110,	# 	LATIN CAPITAL LETTER D WITH STROKE
-	0x00aa: 0x0160,	# 	LATIN CAPITAL LETTER S WITH CARON
-	0x00ab: 0x0166,	# 	LATIN CAPITAL LETTER T WITH STROKE
-	0x00ac: 0x017d,	# 	LATIN CAPITAL LETTER Z WITH CARON
-	0x00ae: 0x016a,	# 	LATIN CAPITAL LETTER U WITH MACRON
-	0x00af: 0x014a,	# 	LATIN CAPITAL LETTER ENG
-	0x00b1: 0x0105,	# 	LATIN SMALL LETTER A WITH OGONEK
-	0x00b2: 0x0113,	# 	LATIN SMALL LETTER E WITH MACRON
-	0x00b3: 0x0123,	# 	LATIN SMALL LETTER G WITH CEDILLA
-	0x00b4: 0x012b,	# 	LATIN SMALL LETTER I WITH MACRON
-	0x00b5: 0x0129,	# 	LATIN SMALL LETTER I WITH TILDE
-	0x00b6: 0x0137,	# 	LATIN SMALL LETTER K WITH CEDILLA
-	0x00b8: 0x013c,	# 	LATIN SMALL LETTER L WITH CEDILLA
-	0x00b9: 0x0111,	# 	LATIN SMALL LETTER D WITH STROKE
-	0x00ba: 0x0161,	# 	LATIN SMALL LETTER S WITH CARON
-	0x00bb: 0x0167,	# 	LATIN SMALL LETTER T WITH STROKE
-	0x00bc: 0x017e,	# 	LATIN SMALL LETTER Z WITH CARON
-	0x00bd: 0x2015,	# 	HORIZONTAL BAR
-	0x00be: 0x016b,	# 	LATIN SMALL LETTER U WITH MACRON
-	0x00bf: 0x014b,	# 	LATIN SMALL LETTER ENG
-	0x00c0: 0x0100,	# 	LATIN CAPITAL LETTER A WITH MACRON
-	0x00c7: 0x012e,	# 	LATIN CAPITAL LETTER I WITH OGONEK
-	0x00c8: 0x010c,	# 	LATIN CAPITAL LETTER C WITH CARON
-	0x00ca: 0x0118,	# 	LATIN CAPITAL LETTER E WITH OGONEK
-	0x00cc: 0x0116,	# 	LATIN CAPITAL LETTER E WITH DOT ABOVE
-	0x00d1: 0x0145,	# 	LATIN CAPITAL LETTER N WITH CEDILLA
-	0x00d2: 0x014c,	# 	LATIN CAPITAL LETTER O WITH MACRON
-	0x00d7: 0x0168,	# 	LATIN CAPITAL LETTER U WITH TILDE
-	0x00d9: 0x0172,	# 	LATIN CAPITAL LETTER U WITH OGONEK
-	0x00e0: 0x0101,	# 	LATIN SMALL LETTER A WITH MACRON
-	0x00e7: 0x012f,	# 	LATIN SMALL LETTER I WITH OGONEK
-	0x00e8: 0x010d,	# 	LATIN SMALL LETTER C WITH CARON
-	0x00ea: 0x0119,	# 	LATIN SMALL LETTER E WITH OGONEK
-	0x00ec: 0x0117,	# 	LATIN SMALL LETTER E WITH DOT ABOVE
-	0x00f1: 0x0146,	# 	LATIN SMALL LETTER N WITH CEDILLA
-	0x00f2: 0x014d,	# 	LATIN SMALL LETTER O WITH MACRON
-	0x00f7: 0x0169,	# 	LATIN SMALL LETTER U WITH TILDE
-	0x00f9: 0x0173,	# 	LATIN SMALL LETTER U WITH OGONEK
-	0x00ff: 0x0138,	# 	LATIN SMALL LETTER KRA
+        0x00a1: 0x0104, #       LATIN CAPITAL LETTER A WITH OGONEK
+        0x00a2: 0x0112, #       LATIN CAPITAL LETTER E WITH MACRON
+        0x00a3: 0x0122, #       LATIN CAPITAL LETTER G WITH CEDILLA
+        0x00a4: 0x012a, #       LATIN CAPITAL LETTER I WITH MACRON
+        0x00a5: 0x0128, #       LATIN CAPITAL LETTER I WITH TILDE
+        0x00a6: 0x0136, #       LATIN CAPITAL LETTER K WITH CEDILLA
+        0x00a8: 0x013b, #       LATIN CAPITAL LETTER L WITH CEDILLA
+        0x00a9: 0x0110, #       LATIN CAPITAL LETTER D WITH STROKE
+        0x00aa: 0x0160, #       LATIN CAPITAL LETTER S WITH CARON
+        0x00ab: 0x0166, #       LATIN CAPITAL LETTER T WITH STROKE
+        0x00ac: 0x017d, #       LATIN CAPITAL LETTER Z WITH CARON
+        0x00ae: 0x016a, #       LATIN CAPITAL LETTER U WITH MACRON
+        0x00af: 0x014a, #       LATIN CAPITAL LETTER ENG
+        0x00b1: 0x0105, #       LATIN SMALL LETTER A WITH OGONEK
+        0x00b2: 0x0113, #       LATIN SMALL LETTER E WITH MACRON
+        0x00b3: 0x0123, #       LATIN SMALL LETTER G WITH CEDILLA
+        0x00b4: 0x012b, #       LATIN SMALL LETTER I WITH MACRON
+        0x00b5: 0x0129, #       LATIN SMALL LETTER I WITH TILDE
+        0x00b6: 0x0137, #       LATIN SMALL LETTER K WITH CEDILLA
+        0x00b8: 0x013c, #       LATIN SMALL LETTER L WITH CEDILLA
+        0x00b9: 0x0111, #       LATIN SMALL LETTER D WITH STROKE
+        0x00ba: 0x0161, #       LATIN SMALL LETTER S WITH CARON
+        0x00bb: 0x0167, #       LATIN SMALL LETTER T WITH STROKE
+        0x00bc: 0x017e, #       LATIN SMALL LETTER Z WITH CARON
+        0x00bd: 0x2015, #       HORIZONTAL BAR
+        0x00be: 0x016b, #       LATIN SMALL LETTER U WITH MACRON
+        0x00bf: 0x014b, #       LATIN SMALL LETTER ENG
+        0x00c0: 0x0100, #       LATIN CAPITAL LETTER A WITH MACRON
+        0x00c7: 0x012e, #       LATIN CAPITAL LETTER I WITH OGONEK
+        0x00c8: 0x010c, #       LATIN CAPITAL LETTER C WITH CARON
+        0x00ca: 0x0118, #       LATIN CAPITAL LETTER E WITH OGONEK
+        0x00cc: 0x0116, #       LATIN CAPITAL LETTER E WITH DOT ABOVE
+        0x00d1: 0x0145, #       LATIN CAPITAL LETTER N WITH CEDILLA
+        0x00d2: 0x014c, #       LATIN CAPITAL LETTER O WITH MACRON
+        0x00d7: 0x0168, #       LATIN CAPITAL LETTER U WITH TILDE
+        0x00d9: 0x0172, #       LATIN CAPITAL LETTER U WITH OGONEK
+        0x00e0: 0x0101, #       LATIN SMALL LETTER A WITH MACRON
+        0x00e7: 0x012f, #       LATIN SMALL LETTER I WITH OGONEK
+        0x00e8: 0x010d, #       LATIN SMALL LETTER C WITH CARON
+        0x00ea: 0x0119, #       LATIN SMALL LETTER E WITH OGONEK
+        0x00ec: 0x0117, #       LATIN SMALL LETTER E WITH DOT ABOVE
+        0x00f1: 0x0146, #       LATIN SMALL LETTER N WITH CEDILLA
+        0x00f2: 0x014d, #       LATIN SMALL LETTER O WITH MACRON
+        0x00f7: 0x0169, #       LATIN SMALL LETTER U WITH TILDE
+        0x00f9: 0x0173, #       LATIN SMALL LETTER U WITH OGONEK
+        0x00ff: 0x0138, #       LATIN SMALL LETTER KRA
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/iso8859_13.py b/Lib/encodings/iso8859_13.py
index e0c4ae4..57b6c70 100644
--- a/Lib/encodings/iso8859_13.py
+++ b/Lib/encodings/iso8859_13.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,62 +37,62 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00a1: 0x201d,	# 	RIGHT DOUBLE QUOTATION MARK
-	0x00a5: 0x201e,	# 	DOUBLE LOW-9 QUOTATION MARK
-	0x00a8: 0x00d8,	# 	LATIN CAPITAL LETTER O WITH STROKE
-	0x00aa: 0x0156,	# 	LATIN CAPITAL LETTER R WITH CEDILLA
-	0x00af: 0x00c6,	# 	LATIN CAPITAL LETTER AE
-	0x00b4: 0x201c,	# 	LEFT DOUBLE QUOTATION MARK
-	0x00b8: 0x00f8,	# 	LATIN SMALL LETTER O WITH STROKE
-	0x00ba: 0x0157,	# 	LATIN SMALL LETTER R WITH CEDILLA
-	0x00bf: 0x00e6,	# 	LATIN SMALL LETTER AE
-	0x00c0: 0x0104,	# 	LATIN CAPITAL LETTER A WITH OGONEK
-	0x00c1: 0x012e,	# 	LATIN CAPITAL LETTER I WITH OGONEK
-	0x00c2: 0x0100,	# 	LATIN CAPITAL LETTER A WITH MACRON
-	0x00c3: 0x0106,	# 	LATIN CAPITAL LETTER C WITH ACUTE
-	0x00c6: 0x0118,	# 	LATIN CAPITAL LETTER E WITH OGONEK
-	0x00c7: 0x0112,	# 	LATIN CAPITAL LETTER E WITH MACRON
-	0x00c8: 0x010c,	# 	LATIN CAPITAL LETTER C WITH CARON
-	0x00ca: 0x0179,	# 	LATIN CAPITAL LETTER Z WITH ACUTE
-	0x00cb: 0x0116,	# 	LATIN CAPITAL LETTER E WITH DOT ABOVE
-	0x00cc: 0x0122,	# 	LATIN CAPITAL LETTER G WITH CEDILLA
-	0x00cd: 0x0136,	# 	LATIN CAPITAL LETTER K WITH CEDILLA
-	0x00ce: 0x012a,	# 	LATIN CAPITAL LETTER I WITH MACRON
-	0x00cf: 0x013b,	# 	LATIN CAPITAL LETTER L WITH CEDILLA
-	0x00d0: 0x0160,	# 	LATIN CAPITAL LETTER S WITH CARON
-	0x00d1: 0x0143,	# 	LATIN CAPITAL LETTER N WITH ACUTE
-	0x00d2: 0x0145,	# 	LATIN CAPITAL LETTER N WITH CEDILLA
-	0x00d4: 0x014c,	# 	LATIN CAPITAL LETTER O WITH MACRON
-	0x00d8: 0x0172,	# 	LATIN CAPITAL LETTER U WITH OGONEK
-	0x00d9: 0x0141,	# 	LATIN CAPITAL LETTER L WITH STROKE
-	0x00da: 0x015a,	# 	LATIN CAPITAL LETTER S WITH ACUTE
-	0x00db: 0x016a,	# 	LATIN CAPITAL LETTER U WITH MACRON
-	0x00dd: 0x017b,	# 	LATIN CAPITAL LETTER Z WITH DOT ABOVE
-	0x00de: 0x017d,	# 	LATIN CAPITAL LETTER Z WITH CARON
-	0x00e0: 0x0105,	# 	LATIN SMALL LETTER A WITH OGONEK
-	0x00e1: 0x012f,	# 	LATIN SMALL LETTER I WITH OGONEK
-	0x00e2: 0x0101,	# 	LATIN SMALL LETTER A WITH MACRON
-	0x00e3: 0x0107,	# 	LATIN SMALL LETTER C WITH ACUTE
-	0x00e6: 0x0119,	# 	LATIN SMALL LETTER E WITH OGONEK
-	0x00e7: 0x0113,	# 	LATIN SMALL LETTER E WITH MACRON
-	0x00e8: 0x010d,	# 	LATIN SMALL LETTER C WITH CARON
-	0x00ea: 0x017a,	# 	LATIN SMALL LETTER Z WITH ACUTE
-	0x00eb: 0x0117,	# 	LATIN SMALL LETTER E WITH DOT ABOVE
-	0x00ec: 0x0123,	# 	LATIN SMALL LETTER G WITH CEDILLA
-	0x00ed: 0x0137,	# 	LATIN SMALL LETTER K WITH CEDILLA
-	0x00ee: 0x012b,	# 	LATIN SMALL LETTER I WITH MACRON
-	0x00ef: 0x013c,	# 	LATIN SMALL LETTER L WITH CEDILLA
-	0x00f0: 0x0161,	# 	LATIN SMALL LETTER S WITH CARON
-	0x00f1: 0x0144,	# 	LATIN SMALL LETTER N WITH ACUTE
-	0x00f2: 0x0146,	# 	LATIN SMALL LETTER N WITH CEDILLA
-	0x00f4: 0x014d,	# 	LATIN SMALL LETTER O WITH MACRON
-	0x00f8: 0x0173,	# 	LATIN SMALL LETTER U WITH OGONEK
-	0x00f9: 0x0142,	# 	LATIN SMALL LETTER L WITH STROKE
-	0x00fa: 0x015b,	# 	LATIN SMALL LETTER S WITH ACUTE
-	0x00fb: 0x016b,	# 	LATIN SMALL LETTER U WITH MACRON
-	0x00fd: 0x017c,	# 	LATIN SMALL LETTER Z WITH DOT ABOVE
-	0x00fe: 0x017e,	# 	LATIN SMALL LETTER Z WITH CARON
-	0x00ff: 0x2019,	# 	RIGHT SINGLE QUOTATION MARK
+        0x00a1: 0x201d, #       RIGHT DOUBLE QUOTATION MARK
+        0x00a5: 0x201e, #       DOUBLE LOW-9 QUOTATION MARK
+        0x00a8: 0x00d8, #       LATIN CAPITAL LETTER O WITH STROKE
+        0x00aa: 0x0156, #       LATIN CAPITAL LETTER R WITH CEDILLA
+        0x00af: 0x00c6, #       LATIN CAPITAL LETTER AE
+        0x00b4: 0x201c, #       LEFT DOUBLE QUOTATION MARK
+        0x00b8: 0x00f8, #       LATIN SMALL LETTER O WITH STROKE
+        0x00ba: 0x0157, #       LATIN SMALL LETTER R WITH CEDILLA
+        0x00bf: 0x00e6, #       LATIN SMALL LETTER AE
+        0x00c0: 0x0104, #       LATIN CAPITAL LETTER A WITH OGONEK
+        0x00c1: 0x012e, #       LATIN CAPITAL LETTER I WITH OGONEK
+        0x00c2: 0x0100, #       LATIN CAPITAL LETTER A WITH MACRON
+        0x00c3: 0x0106, #       LATIN CAPITAL LETTER C WITH ACUTE
+        0x00c6: 0x0118, #       LATIN CAPITAL LETTER E WITH OGONEK
+        0x00c7: 0x0112, #       LATIN CAPITAL LETTER E WITH MACRON
+        0x00c8: 0x010c, #       LATIN CAPITAL LETTER C WITH CARON
+        0x00ca: 0x0179, #       LATIN CAPITAL LETTER Z WITH ACUTE
+        0x00cb: 0x0116, #       LATIN CAPITAL LETTER E WITH DOT ABOVE
+        0x00cc: 0x0122, #       LATIN CAPITAL LETTER G WITH CEDILLA
+        0x00cd: 0x0136, #       LATIN CAPITAL LETTER K WITH CEDILLA
+        0x00ce: 0x012a, #       LATIN CAPITAL LETTER I WITH MACRON
+        0x00cf: 0x013b, #       LATIN CAPITAL LETTER L WITH CEDILLA
+        0x00d0: 0x0160, #       LATIN CAPITAL LETTER S WITH CARON
+        0x00d1: 0x0143, #       LATIN CAPITAL LETTER N WITH ACUTE
+        0x00d2: 0x0145, #       LATIN CAPITAL LETTER N WITH CEDILLA
+        0x00d4: 0x014c, #       LATIN CAPITAL LETTER O WITH MACRON
+        0x00d8: 0x0172, #       LATIN CAPITAL LETTER U WITH OGONEK
+        0x00d9: 0x0141, #       LATIN CAPITAL LETTER L WITH STROKE
+        0x00da: 0x015a, #       LATIN CAPITAL LETTER S WITH ACUTE
+        0x00db: 0x016a, #       LATIN CAPITAL LETTER U WITH MACRON
+        0x00dd: 0x017b, #       LATIN CAPITAL LETTER Z WITH DOT ABOVE
+        0x00de: 0x017d, #       LATIN CAPITAL LETTER Z WITH CARON
+        0x00e0: 0x0105, #       LATIN SMALL LETTER A WITH OGONEK
+        0x00e1: 0x012f, #       LATIN SMALL LETTER I WITH OGONEK
+        0x00e2: 0x0101, #       LATIN SMALL LETTER A WITH MACRON
+        0x00e3: 0x0107, #       LATIN SMALL LETTER C WITH ACUTE
+        0x00e6: 0x0119, #       LATIN SMALL LETTER E WITH OGONEK
+        0x00e7: 0x0113, #       LATIN SMALL LETTER E WITH MACRON
+        0x00e8: 0x010d, #       LATIN SMALL LETTER C WITH CARON
+        0x00ea: 0x017a, #       LATIN SMALL LETTER Z WITH ACUTE
+        0x00eb: 0x0117, #       LATIN SMALL LETTER E WITH DOT ABOVE
+        0x00ec: 0x0123, #       LATIN SMALL LETTER G WITH CEDILLA
+        0x00ed: 0x0137, #       LATIN SMALL LETTER K WITH CEDILLA
+        0x00ee: 0x012b, #       LATIN SMALL LETTER I WITH MACRON
+        0x00ef: 0x013c, #       LATIN SMALL LETTER L WITH CEDILLA
+        0x00f0: 0x0161, #       LATIN SMALL LETTER S WITH CARON
+        0x00f1: 0x0144, #       LATIN SMALL LETTER N WITH ACUTE
+        0x00f2: 0x0146, #       LATIN SMALL LETTER N WITH CEDILLA
+        0x00f4: 0x014d, #       LATIN SMALL LETTER O WITH MACRON
+        0x00f8: 0x0173, #       LATIN SMALL LETTER U WITH OGONEK
+        0x00f9: 0x0142, #       LATIN SMALL LETTER L WITH STROKE
+        0x00fa: 0x015b, #       LATIN SMALL LETTER S WITH ACUTE
+        0x00fb: 0x016b, #       LATIN SMALL LETTER U WITH MACRON
+        0x00fd: 0x017c, #       LATIN SMALL LETTER Z WITH DOT ABOVE
+        0x00fe: 0x017e, #       LATIN SMALL LETTER Z WITH CARON
+        0x00ff: 0x2019, #       RIGHT SINGLE QUOTATION MARK
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/iso8859_14.py b/Lib/encodings/iso8859_14.py
index c84bb23..9f3d6fe 100644
--- a/Lib/encodings/iso8859_14.py
+++ b/Lib/encodings/iso8859_14.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,37 +37,37 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00a1: 0x1e02,	# 	LATIN CAPITAL LETTER B WITH DOT ABOVE
-	0x00a2: 0x1e03,	# 	LATIN SMALL LETTER B WITH DOT ABOVE
-	0x00a4: 0x010a,	# 	LATIN CAPITAL LETTER C WITH DOT ABOVE
-	0x00a5: 0x010b,	# 	LATIN SMALL LETTER C WITH DOT ABOVE
-	0x00a6: 0x1e0a,	# 	LATIN CAPITAL LETTER D WITH DOT ABOVE
-	0x00a8: 0x1e80,	# 	LATIN CAPITAL LETTER W WITH GRAVE
-	0x00aa: 0x1e82,	# 	LATIN CAPITAL LETTER W WITH ACUTE
-	0x00ab: 0x1e0b,	# 	LATIN SMALL LETTER D WITH DOT ABOVE
-	0x00ac: 0x1ef2,	# 	LATIN CAPITAL LETTER Y WITH GRAVE
-	0x00af: 0x0178,	# 	LATIN CAPITAL LETTER Y WITH DIAERESIS
-	0x00b0: 0x1e1e,	# 	LATIN CAPITAL LETTER F WITH DOT ABOVE
-	0x00b1: 0x1e1f,	# 	LATIN SMALL LETTER F WITH DOT ABOVE
-	0x00b2: 0x0120,	# 	LATIN CAPITAL LETTER G WITH DOT ABOVE
-	0x00b3: 0x0121,	# 	LATIN SMALL LETTER G WITH DOT ABOVE
-	0x00b4: 0x1e40,	# 	LATIN CAPITAL LETTER M WITH DOT ABOVE
-	0x00b5: 0x1e41,	# 	LATIN SMALL LETTER M WITH DOT ABOVE
-	0x00b7: 0x1e56,	# 	LATIN CAPITAL LETTER P WITH DOT ABOVE
-	0x00b8: 0x1e81,	# 	LATIN SMALL LETTER W WITH GRAVE
-	0x00b9: 0x1e57,	# 	LATIN SMALL LETTER P WITH DOT ABOVE
-	0x00ba: 0x1e83,	# 	LATIN SMALL LETTER W WITH ACUTE
-	0x00bb: 0x1e60,	# 	LATIN CAPITAL LETTER S WITH DOT ABOVE
-	0x00bc: 0x1ef3,	# 	LATIN SMALL LETTER Y WITH GRAVE
-	0x00bd: 0x1e84,	# 	LATIN CAPITAL LETTER W WITH DIAERESIS
-	0x00be: 0x1e85,	# 	LATIN SMALL LETTER W WITH DIAERESIS
-	0x00bf: 0x1e61,	# 	LATIN SMALL LETTER S WITH DOT ABOVE
-	0x00d0: 0x0174,	# 	LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-	0x00d7: 0x1e6a,	# 	LATIN CAPITAL LETTER T WITH DOT ABOVE
-	0x00de: 0x0176,	# 	LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-	0x00f0: 0x0175,	# 	LATIN SMALL LETTER W WITH CIRCUMFLEX
-	0x00f7: 0x1e6b,	# 	LATIN SMALL LETTER T WITH DOT ABOVE
-	0x00fe: 0x0177,	# 	LATIN SMALL LETTER Y WITH CIRCUMFLEX
+        0x00a1: 0x1e02, #       LATIN CAPITAL LETTER B WITH DOT ABOVE
+        0x00a2: 0x1e03, #       LATIN SMALL LETTER B WITH DOT ABOVE
+        0x00a4: 0x010a, #       LATIN CAPITAL LETTER C WITH DOT ABOVE
+        0x00a5: 0x010b, #       LATIN SMALL LETTER C WITH DOT ABOVE
+        0x00a6: 0x1e0a, #       LATIN CAPITAL LETTER D WITH DOT ABOVE
+        0x00a8: 0x1e80, #       LATIN CAPITAL LETTER W WITH GRAVE
+        0x00aa: 0x1e82, #       LATIN CAPITAL LETTER W WITH ACUTE
+        0x00ab: 0x1e0b, #       LATIN SMALL LETTER D WITH DOT ABOVE
+        0x00ac: 0x1ef2, #       LATIN CAPITAL LETTER Y WITH GRAVE
+        0x00af: 0x0178, #       LATIN CAPITAL LETTER Y WITH DIAERESIS
+        0x00b0: 0x1e1e, #       LATIN CAPITAL LETTER F WITH DOT ABOVE
+        0x00b1: 0x1e1f, #       LATIN SMALL LETTER F WITH DOT ABOVE
+        0x00b2: 0x0120, #       LATIN CAPITAL LETTER G WITH DOT ABOVE
+        0x00b3: 0x0121, #       LATIN SMALL LETTER G WITH DOT ABOVE
+        0x00b4: 0x1e40, #       LATIN CAPITAL LETTER M WITH DOT ABOVE
+        0x00b5: 0x1e41, #       LATIN SMALL LETTER M WITH DOT ABOVE
+        0x00b7: 0x1e56, #       LATIN CAPITAL LETTER P WITH DOT ABOVE
+        0x00b8: 0x1e81, #       LATIN SMALL LETTER W WITH GRAVE
+        0x00b9: 0x1e57, #       LATIN SMALL LETTER P WITH DOT ABOVE
+        0x00ba: 0x1e83, #       LATIN SMALL LETTER W WITH ACUTE
+        0x00bb: 0x1e60, #       LATIN CAPITAL LETTER S WITH DOT ABOVE
+        0x00bc: 0x1ef3, #       LATIN SMALL LETTER Y WITH GRAVE
+        0x00bd: 0x1e84, #       LATIN CAPITAL LETTER W WITH DIAERESIS
+        0x00be: 0x1e85, #       LATIN SMALL LETTER W WITH DIAERESIS
+        0x00bf: 0x1e61, #       LATIN SMALL LETTER S WITH DOT ABOVE
+        0x00d0: 0x0174, #       LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+        0x00d7: 0x1e6a, #       LATIN CAPITAL LETTER T WITH DOT ABOVE
+        0x00de: 0x0176, #       LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+        0x00f0: 0x0175, #       LATIN SMALL LETTER W WITH CIRCUMFLEX
+        0x00f7: 0x1e6b, #       LATIN SMALL LETTER T WITH DOT ABOVE
+        0x00fe: 0x0177, #       LATIN SMALL LETTER Y WITH CIRCUMFLEX
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/iso8859_15.py b/Lib/encodings/iso8859_15.py
index bf92acb..5708df0 100644
--- a/Lib/encodings/iso8859_15.py
+++ b/Lib/encodings/iso8859_15.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,14 +37,14 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00a4: 0x20ac,	# 	EURO SIGN
-	0x00a6: 0x0160,	# 	LATIN CAPITAL LETTER S WITH CARON
-	0x00a8: 0x0161,	# 	LATIN SMALL LETTER S WITH CARON
-	0x00b4: 0x017d,	# 	LATIN CAPITAL LETTER Z WITH CARON
-	0x00b8: 0x017e,	# 	LATIN SMALL LETTER Z WITH CARON
-	0x00bc: 0x0152,	# 	LATIN CAPITAL LIGATURE OE
-	0x00bd: 0x0153,	# 	LATIN SMALL LIGATURE OE
-	0x00be: 0x0178,	# 	LATIN CAPITAL LETTER Y WITH DIAERESIS
+        0x00a4: 0x20ac, #       EURO SIGN
+        0x00a6: 0x0160, #       LATIN CAPITAL LETTER S WITH CARON
+        0x00a8: 0x0161, #       LATIN SMALL LETTER S WITH CARON
+        0x00b4: 0x017d, #       LATIN CAPITAL LETTER Z WITH CARON
+        0x00b8: 0x017e, #       LATIN SMALL LETTER Z WITH CARON
+        0x00bc: 0x0152, #       LATIN CAPITAL LIGATURE OE
+        0x00bd: 0x0153, #       LATIN SMALL LIGATURE OE
+        0x00be: 0x0178, #       LATIN CAPITAL LETTER Y WITH DIAERESIS
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/iso8859_2.py b/Lib/encodings/iso8859_2.py
index 1c92a54..c9ac2c2 100644
--- a/Lib/encodings/iso8859_2.py
+++ b/Lib/encodings/iso8859_2.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,63 +37,63 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00a1: 0x0104,	# 	LATIN CAPITAL LETTER A WITH OGONEK
-	0x00a2: 0x02d8,	# 	BREVE
-	0x00a3: 0x0141,	# 	LATIN CAPITAL LETTER L WITH STROKE
-	0x00a5: 0x013d,	# 	LATIN CAPITAL LETTER L WITH CARON
-	0x00a6: 0x015a,	# 	LATIN CAPITAL LETTER S WITH ACUTE
-	0x00a9: 0x0160,	# 	LATIN CAPITAL LETTER S WITH CARON
-	0x00aa: 0x015e,	# 	LATIN CAPITAL LETTER S WITH CEDILLA
-	0x00ab: 0x0164,	# 	LATIN CAPITAL LETTER T WITH CARON
-	0x00ac: 0x0179,	# 	LATIN CAPITAL LETTER Z WITH ACUTE
-	0x00ae: 0x017d,	# 	LATIN CAPITAL LETTER Z WITH CARON
-	0x00af: 0x017b,	# 	LATIN CAPITAL LETTER Z WITH DOT ABOVE
-	0x00b1: 0x0105,	# 	LATIN SMALL LETTER A WITH OGONEK
-	0x00b2: 0x02db,	# 	OGONEK
-	0x00b3: 0x0142,	# 	LATIN SMALL LETTER L WITH STROKE
-	0x00b5: 0x013e,	# 	LATIN SMALL LETTER L WITH CARON
-	0x00b6: 0x015b,	# 	LATIN SMALL LETTER S WITH ACUTE
-	0x00b7: 0x02c7,	# 	CARON
-	0x00b9: 0x0161,	# 	LATIN SMALL LETTER S WITH CARON
-	0x00ba: 0x015f,	# 	LATIN SMALL LETTER S WITH CEDILLA
-	0x00bb: 0x0165,	# 	LATIN SMALL LETTER T WITH CARON
-	0x00bc: 0x017a,	# 	LATIN SMALL LETTER Z WITH ACUTE
-	0x00bd: 0x02dd,	# 	DOUBLE ACUTE ACCENT
-	0x00be: 0x017e,	# 	LATIN SMALL LETTER Z WITH CARON
-	0x00bf: 0x017c,	# 	LATIN SMALL LETTER Z WITH DOT ABOVE
-	0x00c0: 0x0154,	# 	LATIN CAPITAL LETTER R WITH ACUTE
-	0x00c3: 0x0102,	# 	LATIN CAPITAL LETTER A WITH BREVE
-	0x00c5: 0x0139,	# 	LATIN CAPITAL LETTER L WITH ACUTE
-	0x00c6: 0x0106,	# 	LATIN CAPITAL LETTER C WITH ACUTE
-	0x00c8: 0x010c,	# 	LATIN CAPITAL LETTER C WITH CARON
-	0x00ca: 0x0118,	# 	LATIN CAPITAL LETTER E WITH OGONEK
-	0x00cc: 0x011a,	# 	LATIN CAPITAL LETTER E WITH CARON
-	0x00cf: 0x010e,	# 	LATIN CAPITAL LETTER D WITH CARON
-	0x00d0: 0x0110,	# 	LATIN CAPITAL LETTER D WITH STROKE
-	0x00d1: 0x0143,	# 	LATIN CAPITAL LETTER N WITH ACUTE
-	0x00d2: 0x0147,	# 	LATIN CAPITAL LETTER N WITH CARON
-	0x00d5: 0x0150,	# 	LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-	0x00d8: 0x0158,	# 	LATIN CAPITAL LETTER R WITH CARON
-	0x00d9: 0x016e,	# 	LATIN CAPITAL LETTER U WITH RING ABOVE
-	0x00db: 0x0170,	# 	LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-	0x00de: 0x0162,	# 	LATIN CAPITAL LETTER T WITH CEDILLA
-	0x00e0: 0x0155,	# 	LATIN SMALL LETTER R WITH ACUTE
-	0x00e3: 0x0103,	# 	LATIN SMALL LETTER A WITH BREVE
-	0x00e5: 0x013a,	# 	LATIN SMALL LETTER L WITH ACUTE
-	0x00e6: 0x0107,	# 	LATIN SMALL LETTER C WITH ACUTE
-	0x00e8: 0x010d,	# 	LATIN SMALL LETTER C WITH CARON
-	0x00ea: 0x0119,	# 	LATIN SMALL LETTER E WITH OGONEK
-	0x00ec: 0x011b,	# 	LATIN SMALL LETTER E WITH CARON
-	0x00ef: 0x010f,	# 	LATIN SMALL LETTER D WITH CARON
-	0x00f0: 0x0111,	# 	LATIN SMALL LETTER D WITH STROKE
-	0x00f1: 0x0144,	# 	LATIN SMALL LETTER N WITH ACUTE
-	0x00f2: 0x0148,	# 	LATIN SMALL LETTER N WITH CARON
-	0x00f5: 0x0151,	# 	LATIN SMALL LETTER O WITH DOUBLE ACUTE
-	0x00f8: 0x0159,	# 	LATIN SMALL LETTER R WITH CARON
-	0x00f9: 0x016f,	# 	LATIN SMALL LETTER U WITH RING ABOVE
-	0x00fb: 0x0171,	# 	LATIN SMALL LETTER U WITH DOUBLE ACUTE
-	0x00fe: 0x0163,	# 	LATIN SMALL LETTER T WITH CEDILLA
-	0x00ff: 0x02d9,	# 	DOT ABOVE
+        0x00a1: 0x0104, #       LATIN CAPITAL LETTER A WITH OGONEK
+        0x00a2: 0x02d8, #       BREVE
+        0x00a3: 0x0141, #       LATIN CAPITAL LETTER L WITH STROKE
+        0x00a5: 0x013d, #       LATIN CAPITAL LETTER L WITH CARON
+        0x00a6: 0x015a, #       LATIN CAPITAL LETTER S WITH ACUTE
+        0x00a9: 0x0160, #       LATIN CAPITAL LETTER S WITH CARON
+        0x00aa: 0x015e, #       LATIN CAPITAL LETTER S WITH CEDILLA
+        0x00ab: 0x0164, #       LATIN CAPITAL LETTER T WITH CARON
+        0x00ac: 0x0179, #       LATIN CAPITAL LETTER Z WITH ACUTE
+        0x00ae: 0x017d, #       LATIN CAPITAL LETTER Z WITH CARON
+        0x00af: 0x017b, #       LATIN CAPITAL LETTER Z WITH DOT ABOVE
+        0x00b1: 0x0105, #       LATIN SMALL LETTER A WITH OGONEK
+        0x00b2: 0x02db, #       OGONEK
+        0x00b3: 0x0142, #       LATIN SMALL LETTER L WITH STROKE
+        0x00b5: 0x013e, #       LATIN SMALL LETTER L WITH CARON
+        0x00b6: 0x015b, #       LATIN SMALL LETTER S WITH ACUTE
+        0x00b7: 0x02c7, #       CARON
+        0x00b9: 0x0161, #       LATIN SMALL LETTER S WITH CARON
+        0x00ba: 0x015f, #       LATIN SMALL LETTER S WITH CEDILLA
+        0x00bb: 0x0165, #       LATIN SMALL LETTER T WITH CARON
+        0x00bc: 0x017a, #       LATIN SMALL LETTER Z WITH ACUTE
+        0x00bd: 0x02dd, #       DOUBLE ACUTE ACCENT
+        0x00be: 0x017e, #       LATIN SMALL LETTER Z WITH CARON
+        0x00bf: 0x017c, #       LATIN SMALL LETTER Z WITH DOT ABOVE
+        0x00c0: 0x0154, #       LATIN CAPITAL LETTER R WITH ACUTE
+        0x00c3: 0x0102, #       LATIN CAPITAL LETTER A WITH BREVE
+        0x00c5: 0x0139, #       LATIN CAPITAL LETTER L WITH ACUTE
+        0x00c6: 0x0106, #       LATIN CAPITAL LETTER C WITH ACUTE
+        0x00c8: 0x010c, #       LATIN CAPITAL LETTER C WITH CARON
+        0x00ca: 0x0118, #       LATIN CAPITAL LETTER E WITH OGONEK
+        0x00cc: 0x011a, #       LATIN CAPITAL LETTER E WITH CARON
+        0x00cf: 0x010e, #       LATIN CAPITAL LETTER D WITH CARON
+        0x00d0: 0x0110, #       LATIN CAPITAL LETTER D WITH STROKE
+        0x00d1: 0x0143, #       LATIN CAPITAL LETTER N WITH ACUTE
+        0x00d2: 0x0147, #       LATIN CAPITAL LETTER N WITH CARON
+        0x00d5: 0x0150, #       LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+        0x00d8: 0x0158, #       LATIN CAPITAL LETTER R WITH CARON
+        0x00d9: 0x016e, #       LATIN CAPITAL LETTER U WITH RING ABOVE
+        0x00db: 0x0170, #       LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+        0x00de: 0x0162, #       LATIN CAPITAL LETTER T WITH CEDILLA
+        0x00e0: 0x0155, #       LATIN SMALL LETTER R WITH ACUTE
+        0x00e3: 0x0103, #       LATIN SMALL LETTER A WITH BREVE
+        0x00e5: 0x013a, #       LATIN SMALL LETTER L WITH ACUTE
+        0x00e6: 0x0107, #       LATIN SMALL LETTER C WITH ACUTE
+        0x00e8: 0x010d, #       LATIN SMALL LETTER C WITH CARON
+        0x00ea: 0x0119, #       LATIN SMALL LETTER E WITH OGONEK
+        0x00ec: 0x011b, #       LATIN SMALL LETTER E WITH CARON
+        0x00ef: 0x010f, #       LATIN SMALL LETTER D WITH CARON
+        0x00f0: 0x0111, #       LATIN SMALL LETTER D WITH STROKE
+        0x00f1: 0x0144, #       LATIN SMALL LETTER N WITH ACUTE
+        0x00f2: 0x0148, #       LATIN SMALL LETTER N WITH CARON
+        0x00f5: 0x0151, #       LATIN SMALL LETTER O WITH DOUBLE ACUTE
+        0x00f8: 0x0159, #       LATIN SMALL LETTER R WITH CARON
+        0x00f9: 0x016f, #       LATIN SMALL LETTER U WITH RING ABOVE
+        0x00fb: 0x0171, #       LATIN SMALL LETTER U WITH DOUBLE ACUTE
+        0x00fe: 0x0163, #       LATIN SMALL LETTER T WITH CEDILLA
+        0x00ff: 0x02d9, #       DOT ABOVE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/iso8859_3.py b/Lib/encodings/iso8859_3.py
index ac8c8d9..776423e 100644
--- a/Lib/encodings/iso8859_3.py
+++ b/Lib/encodings/iso8859_3.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,41 +37,41 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00a1: 0x0126,	# 	LATIN CAPITAL LETTER H WITH STROKE
-	0x00a2: 0x02d8,	# 	BREVE
-	0x00a5: None,
-	0x00a6: 0x0124,	# 	LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-	0x00a9: 0x0130,	# 	LATIN CAPITAL LETTER I WITH DOT ABOVE
-	0x00aa: 0x015e,	# 	LATIN CAPITAL LETTER S WITH CEDILLA
-	0x00ab: 0x011e,	# 	LATIN CAPITAL LETTER G WITH BREVE
-	0x00ac: 0x0134,	# 	LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-	0x00ae: None,
-	0x00af: 0x017b,	# 	LATIN CAPITAL LETTER Z WITH DOT ABOVE
-	0x00b1: 0x0127,	# 	LATIN SMALL LETTER H WITH STROKE
-	0x00b6: 0x0125,	# 	LATIN SMALL LETTER H WITH CIRCUMFLEX
-	0x00b9: 0x0131,	# 	LATIN SMALL LETTER DOTLESS I
-	0x00ba: 0x015f,	# 	LATIN SMALL LETTER S WITH CEDILLA
-	0x00bb: 0x011f,	# 	LATIN SMALL LETTER G WITH BREVE
-	0x00bc: 0x0135,	# 	LATIN SMALL LETTER J WITH CIRCUMFLEX
-	0x00be: None,
-	0x00bf: 0x017c,	# 	LATIN SMALL LETTER Z WITH DOT ABOVE
-	0x00c3: None,
-	0x00c5: 0x010a,	# 	LATIN CAPITAL LETTER C WITH DOT ABOVE
-	0x00c6: 0x0108,	# 	LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-	0x00d0: None,
-	0x00d5: 0x0120,	# 	LATIN CAPITAL LETTER G WITH DOT ABOVE
-	0x00d8: 0x011c,	# 	LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-	0x00dd: 0x016c,	# 	LATIN CAPITAL LETTER U WITH BREVE
-	0x00de: 0x015c,	# 	LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-	0x00e3: None,
-	0x00e5: 0x010b,	# 	LATIN SMALL LETTER C WITH DOT ABOVE
-	0x00e6: 0x0109,	# 	LATIN SMALL LETTER C WITH CIRCUMFLEX
-	0x00f0: None,
-	0x00f5: 0x0121,	# 	LATIN SMALL LETTER G WITH DOT ABOVE
-	0x00f8: 0x011d,	# 	LATIN SMALL LETTER G WITH CIRCUMFLEX
-	0x00fd: 0x016d,	# 	LATIN SMALL LETTER U WITH BREVE
-	0x00fe: 0x015d,	# 	LATIN SMALL LETTER S WITH CIRCUMFLEX
-	0x00ff: 0x02d9,	# 	DOT ABOVE
+        0x00a1: 0x0126, #       LATIN CAPITAL LETTER H WITH STROKE
+        0x00a2: 0x02d8, #       BREVE
+        0x00a5: None,
+        0x00a6: 0x0124, #       LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+        0x00a9: 0x0130, #       LATIN CAPITAL LETTER I WITH DOT ABOVE
+        0x00aa: 0x015e, #       LATIN CAPITAL LETTER S WITH CEDILLA
+        0x00ab: 0x011e, #       LATIN CAPITAL LETTER G WITH BREVE
+        0x00ac: 0x0134, #       LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+        0x00ae: None,
+        0x00af: 0x017b, #       LATIN CAPITAL LETTER Z WITH DOT ABOVE
+        0x00b1: 0x0127, #       LATIN SMALL LETTER H WITH STROKE
+        0x00b6: 0x0125, #       LATIN SMALL LETTER H WITH CIRCUMFLEX
+        0x00b9: 0x0131, #       LATIN SMALL LETTER DOTLESS I
+        0x00ba: 0x015f, #       LATIN SMALL LETTER S WITH CEDILLA
+        0x00bb: 0x011f, #       LATIN SMALL LETTER G WITH BREVE
+        0x00bc: 0x0135, #       LATIN SMALL LETTER J WITH CIRCUMFLEX
+        0x00be: None,
+        0x00bf: 0x017c, #       LATIN SMALL LETTER Z WITH DOT ABOVE
+        0x00c3: None,
+        0x00c5: 0x010a, #       LATIN CAPITAL LETTER C WITH DOT ABOVE
+        0x00c6: 0x0108, #       LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+        0x00d0: None,
+        0x00d5: 0x0120, #       LATIN CAPITAL LETTER G WITH DOT ABOVE
+        0x00d8: 0x011c, #       LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+        0x00dd: 0x016c, #       LATIN CAPITAL LETTER U WITH BREVE
+        0x00de: 0x015c, #       LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+        0x00e3: None,
+        0x00e5: 0x010b, #       LATIN SMALL LETTER C WITH DOT ABOVE
+        0x00e6: 0x0109, #       LATIN SMALL LETTER C WITH CIRCUMFLEX
+        0x00f0: None,
+        0x00f5: 0x0121, #       LATIN SMALL LETTER G WITH DOT ABOVE
+        0x00f8: 0x011d, #       LATIN SMALL LETTER G WITH CIRCUMFLEX
+        0x00fd: 0x016d, #       LATIN SMALL LETTER U WITH BREVE
+        0x00fe: 0x015d, #       LATIN SMALL LETTER S WITH CIRCUMFLEX
+        0x00ff: 0x02d9, #       DOT ABOVE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/iso8859_4.py b/Lib/encodings/iso8859_4.py
index 91db126..3f84965 100644
--- a/Lib/encodings/iso8859_4.py
+++ b/Lib/encodings/iso8859_4.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,56 +37,56 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00a1: 0x0104,	# 	LATIN CAPITAL LETTER A WITH OGONEK
-	0x00a2: 0x0138,	# 	LATIN SMALL LETTER KRA
-	0x00a3: 0x0156,	# 	LATIN CAPITAL LETTER R WITH CEDILLA
-	0x00a5: 0x0128,	# 	LATIN CAPITAL LETTER I WITH TILDE
-	0x00a6: 0x013b,	# 	LATIN CAPITAL LETTER L WITH CEDILLA
-	0x00a9: 0x0160,	# 	LATIN CAPITAL LETTER S WITH CARON
-	0x00aa: 0x0112,	# 	LATIN CAPITAL LETTER E WITH MACRON
-	0x00ab: 0x0122,	# 	LATIN CAPITAL LETTER G WITH CEDILLA
-	0x00ac: 0x0166,	# 	LATIN CAPITAL LETTER T WITH STROKE
-	0x00ae: 0x017d,	# 	LATIN CAPITAL LETTER Z WITH CARON
-	0x00b1: 0x0105,	# 	LATIN SMALL LETTER A WITH OGONEK
-	0x00b2: 0x02db,	# 	OGONEK
-	0x00b3: 0x0157,	# 	LATIN SMALL LETTER R WITH CEDILLA
-	0x00b5: 0x0129,	# 	LATIN SMALL LETTER I WITH TILDE
-	0x00b6: 0x013c,	# 	LATIN SMALL LETTER L WITH CEDILLA
-	0x00b7: 0x02c7,	# 	CARON
-	0x00b9: 0x0161,	# 	LATIN SMALL LETTER S WITH CARON
-	0x00ba: 0x0113,	# 	LATIN SMALL LETTER E WITH MACRON
-	0x00bb: 0x0123,	# 	LATIN SMALL LETTER G WITH CEDILLA
-	0x00bc: 0x0167,	# 	LATIN SMALL LETTER T WITH STROKE
-	0x00bd: 0x014a,	# 	LATIN CAPITAL LETTER ENG
-	0x00be: 0x017e,	# 	LATIN SMALL LETTER Z WITH CARON
-	0x00bf: 0x014b,	# 	LATIN SMALL LETTER ENG
-	0x00c0: 0x0100,	# 	LATIN CAPITAL LETTER A WITH MACRON
-	0x00c7: 0x012e,	# 	LATIN CAPITAL LETTER I WITH OGONEK
-	0x00c8: 0x010c,	# 	LATIN CAPITAL LETTER C WITH CARON
-	0x00ca: 0x0118,	# 	LATIN CAPITAL LETTER E WITH OGONEK
-	0x00cc: 0x0116,	# 	LATIN CAPITAL LETTER E WITH DOT ABOVE
-	0x00cf: 0x012a,	# 	LATIN CAPITAL LETTER I WITH MACRON
-	0x00d0: 0x0110,	# 	LATIN CAPITAL LETTER D WITH STROKE
-	0x00d1: 0x0145,	# 	LATIN CAPITAL LETTER N WITH CEDILLA
-	0x00d2: 0x014c,	# 	LATIN CAPITAL LETTER O WITH MACRON
-	0x00d3: 0x0136,	# 	LATIN CAPITAL LETTER K WITH CEDILLA
-	0x00d9: 0x0172,	# 	LATIN CAPITAL LETTER U WITH OGONEK
-	0x00dd: 0x0168,	# 	LATIN CAPITAL LETTER U WITH TILDE
-	0x00de: 0x016a,	# 	LATIN CAPITAL LETTER U WITH MACRON
-	0x00e0: 0x0101,	# 	LATIN SMALL LETTER A WITH MACRON
-	0x00e7: 0x012f,	# 	LATIN SMALL LETTER I WITH OGONEK
-	0x00e8: 0x010d,	# 	LATIN SMALL LETTER C WITH CARON
-	0x00ea: 0x0119,	# 	LATIN SMALL LETTER E WITH OGONEK
-	0x00ec: 0x0117,	# 	LATIN SMALL LETTER E WITH DOT ABOVE
-	0x00ef: 0x012b,	# 	LATIN SMALL LETTER I WITH MACRON
-	0x00f0: 0x0111,	# 	LATIN SMALL LETTER D WITH STROKE
-	0x00f1: 0x0146,	# 	LATIN SMALL LETTER N WITH CEDILLA
-	0x00f2: 0x014d,	# 	LATIN SMALL LETTER O WITH MACRON
-	0x00f3: 0x0137,	# 	LATIN SMALL LETTER K WITH CEDILLA
-	0x00f9: 0x0173,	# 	LATIN SMALL LETTER U WITH OGONEK
-	0x00fd: 0x0169,	# 	LATIN SMALL LETTER U WITH TILDE
-	0x00fe: 0x016b,	# 	LATIN SMALL LETTER U WITH MACRON
-	0x00ff: 0x02d9,	# 	DOT ABOVE
+        0x00a1: 0x0104, #       LATIN CAPITAL LETTER A WITH OGONEK
+        0x00a2: 0x0138, #       LATIN SMALL LETTER KRA
+        0x00a3: 0x0156, #       LATIN CAPITAL LETTER R WITH CEDILLA
+        0x00a5: 0x0128, #       LATIN CAPITAL LETTER I WITH TILDE
+        0x00a6: 0x013b, #       LATIN CAPITAL LETTER L WITH CEDILLA
+        0x00a9: 0x0160, #       LATIN CAPITAL LETTER S WITH CARON
+        0x00aa: 0x0112, #       LATIN CAPITAL LETTER E WITH MACRON
+        0x00ab: 0x0122, #       LATIN CAPITAL LETTER G WITH CEDILLA
+        0x00ac: 0x0166, #       LATIN CAPITAL LETTER T WITH STROKE
+        0x00ae: 0x017d, #       LATIN CAPITAL LETTER Z WITH CARON
+        0x00b1: 0x0105, #       LATIN SMALL LETTER A WITH OGONEK
+        0x00b2: 0x02db, #       OGONEK
+        0x00b3: 0x0157, #       LATIN SMALL LETTER R WITH CEDILLA
+        0x00b5: 0x0129, #       LATIN SMALL LETTER I WITH TILDE
+        0x00b6: 0x013c, #       LATIN SMALL LETTER L WITH CEDILLA
+        0x00b7: 0x02c7, #       CARON
+        0x00b9: 0x0161, #       LATIN SMALL LETTER S WITH CARON
+        0x00ba: 0x0113, #       LATIN SMALL LETTER E WITH MACRON
+        0x00bb: 0x0123, #       LATIN SMALL LETTER G WITH CEDILLA
+        0x00bc: 0x0167, #       LATIN SMALL LETTER T WITH STROKE
+        0x00bd: 0x014a, #       LATIN CAPITAL LETTER ENG
+        0x00be: 0x017e, #       LATIN SMALL LETTER Z WITH CARON
+        0x00bf: 0x014b, #       LATIN SMALL LETTER ENG
+        0x00c0: 0x0100, #       LATIN CAPITAL LETTER A WITH MACRON
+        0x00c7: 0x012e, #       LATIN CAPITAL LETTER I WITH OGONEK
+        0x00c8: 0x010c, #       LATIN CAPITAL LETTER C WITH CARON
+        0x00ca: 0x0118, #       LATIN CAPITAL LETTER E WITH OGONEK
+        0x00cc: 0x0116, #       LATIN CAPITAL LETTER E WITH DOT ABOVE
+        0x00cf: 0x012a, #       LATIN CAPITAL LETTER I WITH MACRON
+        0x00d0: 0x0110, #       LATIN CAPITAL LETTER D WITH STROKE
+        0x00d1: 0x0145, #       LATIN CAPITAL LETTER N WITH CEDILLA
+        0x00d2: 0x014c, #       LATIN CAPITAL LETTER O WITH MACRON
+        0x00d3: 0x0136, #       LATIN CAPITAL LETTER K WITH CEDILLA
+        0x00d9: 0x0172, #       LATIN CAPITAL LETTER U WITH OGONEK
+        0x00dd: 0x0168, #       LATIN CAPITAL LETTER U WITH TILDE
+        0x00de: 0x016a, #       LATIN CAPITAL LETTER U WITH MACRON
+        0x00e0: 0x0101, #       LATIN SMALL LETTER A WITH MACRON
+        0x00e7: 0x012f, #       LATIN SMALL LETTER I WITH OGONEK
+        0x00e8: 0x010d, #       LATIN SMALL LETTER C WITH CARON
+        0x00ea: 0x0119, #       LATIN SMALL LETTER E WITH OGONEK
+        0x00ec: 0x0117, #       LATIN SMALL LETTER E WITH DOT ABOVE
+        0x00ef: 0x012b, #       LATIN SMALL LETTER I WITH MACRON
+        0x00f0: 0x0111, #       LATIN SMALL LETTER D WITH STROKE
+        0x00f1: 0x0146, #       LATIN SMALL LETTER N WITH CEDILLA
+        0x00f2: 0x014d, #       LATIN SMALL LETTER O WITH MACRON
+        0x00f3: 0x0137, #       LATIN SMALL LETTER K WITH CEDILLA
+        0x00f9: 0x0173, #       LATIN SMALL LETTER U WITH OGONEK
+        0x00fd: 0x0169, #       LATIN SMALL LETTER U WITH TILDE
+        0x00fe: 0x016b, #       LATIN SMALL LETTER U WITH MACRON
+        0x00ff: 0x02d9, #       DOT ABOVE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/iso8859_5.py b/Lib/encodings/iso8859_5.py
index 96cb073..ac9a842 100644
--- a/Lib/encodings/iso8859_5.py
+++ b/Lib/encodings/iso8859_5.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,100 +37,100 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00a1: 0x0401,	# 	CYRILLIC CAPITAL LETTER IO
-	0x00a2: 0x0402,	# 	CYRILLIC CAPITAL LETTER DJE
-	0x00a3: 0x0403,	# 	CYRILLIC CAPITAL LETTER GJE
-	0x00a4: 0x0404,	# 	CYRILLIC CAPITAL LETTER UKRAINIAN IE
-	0x00a5: 0x0405,	# 	CYRILLIC CAPITAL LETTER DZE
-	0x00a6: 0x0406,	# 	CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-	0x00a7: 0x0407,	# 	CYRILLIC CAPITAL LETTER YI
-	0x00a8: 0x0408,	# 	CYRILLIC CAPITAL LETTER JE
-	0x00a9: 0x0409,	# 	CYRILLIC CAPITAL LETTER LJE
-	0x00aa: 0x040a,	# 	CYRILLIC CAPITAL LETTER NJE
-	0x00ab: 0x040b,	# 	CYRILLIC CAPITAL LETTER TSHE
-	0x00ac: 0x040c,	# 	CYRILLIC CAPITAL LETTER KJE
-	0x00ae: 0x040e,	# 	CYRILLIC CAPITAL LETTER SHORT U
-	0x00af: 0x040f,	# 	CYRILLIC CAPITAL LETTER DZHE
-	0x00b0: 0x0410,	# 	CYRILLIC CAPITAL LETTER A
-	0x00b1: 0x0411,	# 	CYRILLIC CAPITAL LETTER BE
-	0x00b2: 0x0412,	# 	CYRILLIC CAPITAL LETTER VE
-	0x00b3: 0x0413,	# 	CYRILLIC CAPITAL LETTER GHE
-	0x00b4: 0x0414,	# 	CYRILLIC CAPITAL LETTER DE
-	0x00b5: 0x0415,	# 	CYRILLIC CAPITAL LETTER IE
-	0x00b6: 0x0416,	# 	CYRILLIC CAPITAL LETTER ZHE
-	0x00b7: 0x0417,	# 	CYRILLIC CAPITAL LETTER ZE
-	0x00b8: 0x0418,	# 	CYRILLIC CAPITAL LETTER I
-	0x00b9: 0x0419,	# 	CYRILLIC CAPITAL LETTER SHORT I
-	0x00ba: 0x041a,	# 	CYRILLIC CAPITAL LETTER KA
-	0x00bb: 0x041b,	# 	CYRILLIC CAPITAL LETTER EL
-	0x00bc: 0x041c,	# 	CYRILLIC CAPITAL LETTER EM
-	0x00bd: 0x041d,	# 	CYRILLIC CAPITAL LETTER EN
-	0x00be: 0x041e,	# 	CYRILLIC CAPITAL LETTER O
-	0x00bf: 0x041f,	# 	CYRILLIC CAPITAL LETTER PE
-	0x00c0: 0x0420,	# 	CYRILLIC CAPITAL LETTER ER
-	0x00c1: 0x0421,	# 	CYRILLIC CAPITAL LETTER ES
-	0x00c2: 0x0422,	# 	CYRILLIC CAPITAL LETTER TE
-	0x00c3: 0x0423,	# 	CYRILLIC CAPITAL LETTER U
-	0x00c4: 0x0424,	# 	CYRILLIC CAPITAL LETTER EF
-	0x00c5: 0x0425,	# 	CYRILLIC CAPITAL LETTER HA
-	0x00c6: 0x0426,	# 	CYRILLIC CAPITAL LETTER TSE
-	0x00c7: 0x0427,	# 	CYRILLIC CAPITAL LETTER CHE
-	0x00c8: 0x0428,	# 	CYRILLIC CAPITAL LETTER SHA
-	0x00c9: 0x0429,	# 	CYRILLIC CAPITAL LETTER SHCHA
-	0x00ca: 0x042a,	# 	CYRILLIC CAPITAL LETTER HARD SIGN
-	0x00cb: 0x042b,	# 	CYRILLIC CAPITAL LETTER YERU
-	0x00cc: 0x042c,	# 	CYRILLIC CAPITAL LETTER SOFT SIGN
-	0x00cd: 0x042d,	# 	CYRILLIC CAPITAL LETTER E
-	0x00ce: 0x042e,	# 	CYRILLIC CAPITAL LETTER YU
-	0x00cf: 0x042f,	# 	CYRILLIC CAPITAL LETTER YA
-	0x00d0: 0x0430,	# 	CYRILLIC SMALL LETTER A
-	0x00d1: 0x0431,	# 	CYRILLIC SMALL LETTER BE
-	0x00d2: 0x0432,	# 	CYRILLIC SMALL LETTER VE
-	0x00d3: 0x0433,	# 	CYRILLIC SMALL LETTER GHE
-	0x00d4: 0x0434,	# 	CYRILLIC SMALL LETTER DE
-	0x00d5: 0x0435,	# 	CYRILLIC SMALL LETTER IE
-	0x00d6: 0x0436,	# 	CYRILLIC SMALL LETTER ZHE
-	0x00d7: 0x0437,	# 	CYRILLIC SMALL LETTER ZE
-	0x00d8: 0x0438,	# 	CYRILLIC SMALL LETTER I
-	0x00d9: 0x0439,	# 	CYRILLIC SMALL LETTER SHORT I
-	0x00da: 0x043a,	# 	CYRILLIC SMALL LETTER KA
-	0x00db: 0x043b,	# 	CYRILLIC SMALL LETTER EL
-	0x00dc: 0x043c,	# 	CYRILLIC SMALL LETTER EM
-	0x00dd: 0x043d,	# 	CYRILLIC SMALL LETTER EN
-	0x00de: 0x043e,	# 	CYRILLIC SMALL LETTER O
-	0x00df: 0x043f,	# 	CYRILLIC SMALL LETTER PE
-	0x00e0: 0x0440,	# 	CYRILLIC SMALL LETTER ER
-	0x00e1: 0x0441,	# 	CYRILLIC SMALL LETTER ES
-	0x00e2: 0x0442,	# 	CYRILLIC SMALL LETTER TE
-	0x00e3: 0x0443,	# 	CYRILLIC SMALL LETTER U
-	0x00e4: 0x0444,	# 	CYRILLIC SMALL LETTER EF
-	0x00e5: 0x0445,	# 	CYRILLIC SMALL LETTER HA
-	0x00e6: 0x0446,	# 	CYRILLIC SMALL LETTER TSE
-	0x00e7: 0x0447,	# 	CYRILLIC SMALL LETTER CHE
-	0x00e8: 0x0448,	# 	CYRILLIC SMALL LETTER SHA
-	0x00e9: 0x0449,	# 	CYRILLIC SMALL LETTER SHCHA
-	0x00ea: 0x044a,	# 	CYRILLIC SMALL LETTER HARD SIGN
-	0x00eb: 0x044b,	# 	CYRILLIC SMALL LETTER YERU
-	0x00ec: 0x044c,	# 	CYRILLIC SMALL LETTER SOFT SIGN
-	0x00ed: 0x044d,	# 	CYRILLIC SMALL LETTER E
-	0x00ee: 0x044e,	# 	CYRILLIC SMALL LETTER YU
-	0x00ef: 0x044f,	# 	CYRILLIC SMALL LETTER YA
-	0x00f0: 0x2116,	# 	NUMERO SIGN
-	0x00f1: 0x0451,	# 	CYRILLIC SMALL LETTER IO
-	0x00f2: 0x0452,	# 	CYRILLIC SMALL LETTER DJE
-	0x00f3: 0x0453,	# 	CYRILLIC SMALL LETTER GJE
-	0x00f4: 0x0454,	# 	CYRILLIC SMALL LETTER UKRAINIAN IE
-	0x00f5: 0x0455,	# 	CYRILLIC SMALL LETTER DZE
-	0x00f6: 0x0456,	# 	CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-	0x00f7: 0x0457,	# 	CYRILLIC SMALL LETTER YI
-	0x00f8: 0x0458,	# 	CYRILLIC SMALL LETTER JE
-	0x00f9: 0x0459,	# 	CYRILLIC SMALL LETTER LJE
-	0x00fa: 0x045a,	# 	CYRILLIC SMALL LETTER NJE
-	0x00fb: 0x045b,	# 	CYRILLIC SMALL LETTER TSHE
-	0x00fc: 0x045c,	# 	CYRILLIC SMALL LETTER KJE
-	0x00fd: 0x00a7,	# 	SECTION SIGN
-	0x00fe: 0x045e,	# 	CYRILLIC SMALL LETTER SHORT U
-	0x00ff: 0x045f,	# 	CYRILLIC SMALL LETTER DZHE
+        0x00a1: 0x0401, #       CYRILLIC CAPITAL LETTER IO
+        0x00a2: 0x0402, #       CYRILLIC CAPITAL LETTER DJE
+        0x00a3: 0x0403, #       CYRILLIC CAPITAL LETTER GJE
+        0x00a4: 0x0404, #       CYRILLIC CAPITAL LETTER UKRAINIAN IE
+        0x00a5: 0x0405, #       CYRILLIC CAPITAL LETTER DZE
+        0x00a6: 0x0406, #       CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+        0x00a7: 0x0407, #       CYRILLIC CAPITAL LETTER YI
+        0x00a8: 0x0408, #       CYRILLIC CAPITAL LETTER JE
+        0x00a9: 0x0409, #       CYRILLIC CAPITAL LETTER LJE
+        0x00aa: 0x040a, #       CYRILLIC CAPITAL LETTER NJE
+        0x00ab: 0x040b, #       CYRILLIC CAPITAL LETTER TSHE
+        0x00ac: 0x040c, #       CYRILLIC CAPITAL LETTER KJE
+        0x00ae: 0x040e, #       CYRILLIC CAPITAL LETTER SHORT U
+        0x00af: 0x040f, #       CYRILLIC CAPITAL LETTER DZHE
+        0x00b0: 0x0410, #       CYRILLIC CAPITAL LETTER A
+        0x00b1: 0x0411, #       CYRILLIC CAPITAL LETTER BE
+        0x00b2: 0x0412, #       CYRILLIC CAPITAL LETTER VE
+        0x00b3: 0x0413, #       CYRILLIC CAPITAL LETTER GHE
+        0x00b4: 0x0414, #       CYRILLIC CAPITAL LETTER DE
+        0x00b5: 0x0415, #       CYRILLIC CAPITAL LETTER IE
+        0x00b6: 0x0416, #       CYRILLIC CAPITAL LETTER ZHE
+        0x00b7: 0x0417, #       CYRILLIC CAPITAL LETTER ZE
+        0x00b8: 0x0418, #       CYRILLIC CAPITAL LETTER I
+        0x00b9: 0x0419, #       CYRILLIC CAPITAL LETTER SHORT I
+        0x00ba: 0x041a, #       CYRILLIC CAPITAL LETTER KA
+        0x00bb: 0x041b, #       CYRILLIC CAPITAL LETTER EL
+        0x00bc: 0x041c, #       CYRILLIC CAPITAL LETTER EM
+        0x00bd: 0x041d, #       CYRILLIC CAPITAL LETTER EN
+        0x00be: 0x041e, #       CYRILLIC CAPITAL LETTER O
+        0x00bf: 0x041f, #       CYRILLIC CAPITAL LETTER PE
+        0x00c0: 0x0420, #       CYRILLIC CAPITAL LETTER ER
+        0x00c1: 0x0421, #       CYRILLIC CAPITAL LETTER ES
+        0x00c2: 0x0422, #       CYRILLIC CAPITAL LETTER TE
+        0x00c3: 0x0423, #       CYRILLIC CAPITAL LETTER U
+        0x00c4: 0x0424, #       CYRILLIC CAPITAL LETTER EF
+        0x00c5: 0x0425, #       CYRILLIC CAPITAL LETTER HA
+        0x00c6: 0x0426, #       CYRILLIC CAPITAL LETTER TSE
+        0x00c7: 0x0427, #       CYRILLIC CAPITAL LETTER CHE
+        0x00c8: 0x0428, #       CYRILLIC CAPITAL LETTER SHA
+        0x00c9: 0x0429, #       CYRILLIC CAPITAL LETTER SHCHA
+        0x00ca: 0x042a, #       CYRILLIC CAPITAL LETTER HARD SIGN
+        0x00cb: 0x042b, #       CYRILLIC CAPITAL LETTER YERU
+        0x00cc: 0x042c, #       CYRILLIC CAPITAL LETTER SOFT SIGN
+        0x00cd: 0x042d, #       CYRILLIC CAPITAL LETTER E
+        0x00ce: 0x042e, #       CYRILLIC CAPITAL LETTER YU
+        0x00cf: 0x042f, #       CYRILLIC CAPITAL LETTER YA
+        0x00d0: 0x0430, #       CYRILLIC SMALL LETTER A
+        0x00d1: 0x0431, #       CYRILLIC SMALL LETTER BE
+        0x00d2: 0x0432, #       CYRILLIC SMALL LETTER VE
+        0x00d3: 0x0433, #       CYRILLIC SMALL LETTER GHE
+        0x00d4: 0x0434, #       CYRILLIC SMALL LETTER DE
+        0x00d5: 0x0435, #       CYRILLIC SMALL LETTER IE
+        0x00d6: 0x0436, #       CYRILLIC SMALL LETTER ZHE
+        0x00d7: 0x0437, #       CYRILLIC SMALL LETTER ZE
+        0x00d8: 0x0438, #       CYRILLIC SMALL LETTER I
+        0x00d9: 0x0439, #       CYRILLIC SMALL LETTER SHORT I
+        0x00da: 0x043a, #       CYRILLIC SMALL LETTER KA
+        0x00db: 0x043b, #       CYRILLIC SMALL LETTER EL
+        0x00dc: 0x043c, #       CYRILLIC SMALL LETTER EM
+        0x00dd: 0x043d, #       CYRILLIC SMALL LETTER EN
+        0x00de: 0x043e, #       CYRILLIC SMALL LETTER O
+        0x00df: 0x043f, #       CYRILLIC SMALL LETTER PE
+        0x00e0: 0x0440, #       CYRILLIC SMALL LETTER ER
+        0x00e1: 0x0441, #       CYRILLIC SMALL LETTER ES
+        0x00e2: 0x0442, #       CYRILLIC SMALL LETTER TE
+        0x00e3: 0x0443, #       CYRILLIC SMALL LETTER U
+        0x00e4: 0x0444, #       CYRILLIC SMALL LETTER EF
+        0x00e5: 0x0445, #       CYRILLIC SMALL LETTER HA
+        0x00e6: 0x0446, #       CYRILLIC SMALL LETTER TSE
+        0x00e7: 0x0447, #       CYRILLIC SMALL LETTER CHE
+        0x00e8: 0x0448, #       CYRILLIC SMALL LETTER SHA
+        0x00e9: 0x0449, #       CYRILLIC SMALL LETTER SHCHA
+        0x00ea: 0x044a, #       CYRILLIC SMALL LETTER HARD SIGN
+        0x00eb: 0x044b, #       CYRILLIC SMALL LETTER YERU
+        0x00ec: 0x044c, #       CYRILLIC SMALL LETTER SOFT SIGN
+        0x00ed: 0x044d, #       CYRILLIC SMALL LETTER E
+        0x00ee: 0x044e, #       CYRILLIC SMALL LETTER YU
+        0x00ef: 0x044f, #       CYRILLIC SMALL LETTER YA
+        0x00f0: 0x2116, #       NUMERO SIGN
+        0x00f1: 0x0451, #       CYRILLIC SMALL LETTER IO
+        0x00f2: 0x0452, #       CYRILLIC SMALL LETTER DJE
+        0x00f3: 0x0453, #       CYRILLIC SMALL LETTER GJE
+        0x00f4: 0x0454, #       CYRILLIC SMALL LETTER UKRAINIAN IE
+        0x00f5: 0x0455, #       CYRILLIC SMALL LETTER DZE
+        0x00f6: 0x0456, #       CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+        0x00f7: 0x0457, #       CYRILLIC SMALL LETTER YI
+        0x00f8: 0x0458, #       CYRILLIC SMALL LETTER JE
+        0x00f9: 0x0459, #       CYRILLIC SMALL LETTER LJE
+        0x00fa: 0x045a, #       CYRILLIC SMALL LETTER NJE
+        0x00fb: 0x045b, #       CYRILLIC SMALL LETTER TSHE
+        0x00fc: 0x045c, #       CYRILLIC SMALL LETTER KJE
+        0x00fd: 0x00a7, #       SECTION SIGN
+        0x00fe: 0x045e, #       CYRILLIC SMALL LETTER SHORT U
+        0x00ff: 0x045f, #       CYRILLIC SMALL LETTER DZHE
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/iso8859_6.py b/Lib/encodings/iso8859_6.py
index 298c2d5..3f5ab56 100644
--- a/Lib/encodings/iso8859_6.py
+++ b/Lib/encodings/iso8859_6.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,99 +37,99 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00a1: None,
-	0x00a2: None,
-	0x00a3: None,
-	0x00a5: None,
-	0x00a6: None,
-	0x00a7: None,
-	0x00a8: None,
-	0x00a9: None,
-	0x00aa: None,
-	0x00ab: None,
-	0x00ac: 0x060c,	# 	ARABIC COMMA
-	0x00ae: None,
-	0x00af: None,
-	0x00b0: None,
-	0x00b1: None,
-	0x00b2: None,
-	0x00b3: None,
-	0x00b4: None,
-	0x00b5: None,
-	0x00b6: None,
-	0x00b7: None,
-	0x00b8: None,
-	0x00b9: None,
-	0x00ba: None,
-	0x00bb: 0x061b,	# 	ARABIC SEMICOLON
-	0x00bc: None,
-	0x00bd: None,
-	0x00be: None,
-	0x00bf: 0x061f,	# 	ARABIC QUESTION MARK
-	0x00c0: None,
-	0x00c1: 0x0621,	# 	ARABIC LETTER HAMZA
-	0x00c2: 0x0622,	# 	ARABIC LETTER ALEF WITH MADDA ABOVE
-	0x00c3: 0x0623,	# 	ARABIC LETTER ALEF WITH HAMZA ABOVE
-	0x00c4: 0x0624,	# 	ARABIC LETTER WAW WITH HAMZA ABOVE
-	0x00c5: 0x0625,	# 	ARABIC LETTER ALEF WITH HAMZA BELOW
-	0x00c6: 0x0626,	# 	ARABIC LETTER YEH WITH HAMZA ABOVE
-	0x00c7: 0x0627,	# 	ARABIC LETTER ALEF
-	0x00c8: 0x0628,	# 	ARABIC LETTER BEH
-	0x00c9: 0x0629,	# 	ARABIC LETTER TEH MARBUTA
-	0x00ca: 0x062a,	# 	ARABIC LETTER TEH
-	0x00cb: 0x062b,	# 	ARABIC LETTER THEH
-	0x00cc: 0x062c,	# 	ARABIC LETTER JEEM
-	0x00cd: 0x062d,	# 	ARABIC LETTER HAH
-	0x00ce: 0x062e,	# 	ARABIC LETTER KHAH
-	0x00cf: 0x062f,	# 	ARABIC LETTER DAL
-	0x00d0: 0x0630,	# 	ARABIC LETTER THAL
-	0x00d1: 0x0631,	# 	ARABIC LETTER REH
-	0x00d2: 0x0632,	# 	ARABIC LETTER ZAIN
-	0x00d3: 0x0633,	# 	ARABIC LETTER SEEN
-	0x00d4: 0x0634,	# 	ARABIC LETTER SHEEN
-	0x00d5: 0x0635,	# 	ARABIC LETTER SAD
-	0x00d6: 0x0636,	# 	ARABIC LETTER DAD
-	0x00d7: 0x0637,	# 	ARABIC LETTER TAH
-	0x00d8: 0x0638,	# 	ARABIC LETTER ZAH
-	0x00d9: 0x0639,	# 	ARABIC LETTER AIN
-	0x00da: 0x063a,	# 	ARABIC LETTER GHAIN
-	0x00db: None,
-	0x00dc: None,
-	0x00dd: None,
-	0x00de: None,
-	0x00df: None,
-	0x00e0: 0x0640,	# 	ARABIC TATWEEL
-	0x00e1: 0x0641,	# 	ARABIC LETTER FEH
-	0x00e2: 0x0642,	# 	ARABIC LETTER QAF
-	0x00e3: 0x0643,	# 	ARABIC LETTER KAF
-	0x00e4: 0x0644,	# 	ARABIC LETTER LAM
-	0x00e5: 0x0645,	# 	ARABIC LETTER MEEM
-	0x00e6: 0x0646,	# 	ARABIC LETTER NOON
-	0x00e7: 0x0647,	# 	ARABIC LETTER HEH
-	0x00e8: 0x0648,	# 	ARABIC LETTER WAW
-	0x00e9: 0x0649,	# 	ARABIC LETTER ALEF MAKSURA
-	0x00ea: 0x064a,	# 	ARABIC LETTER YEH
-	0x00eb: 0x064b,	# 	ARABIC FATHATAN
-	0x00ec: 0x064c,	# 	ARABIC DAMMATAN
-	0x00ed: 0x064d,	# 	ARABIC KASRATAN
-	0x00ee: 0x064e,	# 	ARABIC FATHA
-	0x00ef: 0x064f,	# 	ARABIC DAMMA
-	0x00f0: 0x0650,	# 	ARABIC KASRA
-	0x00f1: 0x0651,	# 	ARABIC SHADDA
-	0x00f2: 0x0652,	# 	ARABIC SUKUN
-	0x00f3: None,
-	0x00f4: None,
-	0x00f5: None,
-	0x00f6: None,
-	0x00f7: None,
-	0x00f8: None,
-	0x00f9: None,
-	0x00fa: None,
-	0x00fb: None,
-	0x00fc: None,
-	0x00fd: None,
-	0x00fe: None,
-	0x00ff: None,
+        0x00a1: None,
+        0x00a2: None,
+        0x00a3: None,
+        0x00a5: None,
+        0x00a6: None,
+        0x00a7: None,
+        0x00a8: None,
+        0x00a9: None,
+        0x00aa: None,
+        0x00ab: None,
+        0x00ac: 0x060c, #       ARABIC COMMA
+        0x00ae: None,
+        0x00af: None,
+        0x00b0: None,
+        0x00b1: None,
+        0x00b2: None,
+        0x00b3: None,
+        0x00b4: None,
+        0x00b5: None,
+        0x00b6: None,
+        0x00b7: None,
+        0x00b8: None,
+        0x00b9: None,
+        0x00ba: None,
+        0x00bb: 0x061b, #       ARABIC SEMICOLON
+        0x00bc: None,
+        0x00bd: None,
+        0x00be: None,
+        0x00bf: 0x061f, #       ARABIC QUESTION MARK
+        0x00c0: None,
+        0x00c1: 0x0621, #       ARABIC LETTER HAMZA
+        0x00c2: 0x0622, #       ARABIC LETTER ALEF WITH MADDA ABOVE
+        0x00c3: 0x0623, #       ARABIC LETTER ALEF WITH HAMZA ABOVE
+        0x00c4: 0x0624, #       ARABIC LETTER WAW WITH HAMZA ABOVE
+        0x00c5: 0x0625, #       ARABIC LETTER ALEF WITH HAMZA BELOW
+        0x00c6: 0x0626, #       ARABIC LETTER YEH WITH HAMZA ABOVE
+        0x00c7: 0x0627, #       ARABIC LETTER ALEF
+        0x00c8: 0x0628, #       ARABIC LETTER BEH
+        0x00c9: 0x0629, #       ARABIC LETTER TEH MARBUTA
+        0x00ca: 0x062a, #       ARABIC LETTER TEH
+        0x00cb: 0x062b, #       ARABIC LETTER THEH
+        0x00cc: 0x062c, #       ARABIC LETTER JEEM
+        0x00cd: 0x062d, #       ARABIC LETTER HAH
+        0x00ce: 0x062e, #       ARABIC LETTER KHAH
+        0x00cf: 0x062f, #       ARABIC LETTER DAL
+        0x00d0: 0x0630, #       ARABIC LETTER THAL
+        0x00d1: 0x0631, #       ARABIC LETTER REH
+        0x00d2: 0x0632, #       ARABIC LETTER ZAIN
+        0x00d3: 0x0633, #       ARABIC LETTER SEEN
+        0x00d4: 0x0634, #       ARABIC LETTER SHEEN
+        0x00d5: 0x0635, #       ARABIC LETTER SAD
+        0x00d6: 0x0636, #       ARABIC LETTER DAD
+        0x00d7: 0x0637, #       ARABIC LETTER TAH
+        0x00d8: 0x0638, #       ARABIC LETTER ZAH
+        0x00d9: 0x0639, #       ARABIC LETTER AIN
+        0x00da: 0x063a, #       ARABIC LETTER GHAIN
+        0x00db: None,
+        0x00dc: None,
+        0x00dd: None,
+        0x00de: None,
+        0x00df: None,
+        0x00e0: 0x0640, #       ARABIC TATWEEL
+        0x00e1: 0x0641, #       ARABIC LETTER FEH
+        0x00e2: 0x0642, #       ARABIC LETTER QAF
+        0x00e3: 0x0643, #       ARABIC LETTER KAF
+        0x00e4: 0x0644, #       ARABIC LETTER LAM
+        0x00e5: 0x0645, #       ARABIC LETTER MEEM
+        0x00e6: 0x0646, #       ARABIC LETTER NOON
+        0x00e7: 0x0647, #       ARABIC LETTER HEH
+        0x00e8: 0x0648, #       ARABIC LETTER WAW
+        0x00e9: 0x0649, #       ARABIC LETTER ALEF MAKSURA
+        0x00ea: 0x064a, #       ARABIC LETTER YEH
+        0x00eb: 0x064b, #       ARABIC FATHATAN
+        0x00ec: 0x064c, #       ARABIC DAMMATAN
+        0x00ed: 0x064d, #       ARABIC KASRATAN
+        0x00ee: 0x064e, #       ARABIC FATHA
+        0x00ef: 0x064f, #       ARABIC DAMMA
+        0x00f0: 0x0650, #       ARABIC KASRA
+        0x00f1: 0x0651, #       ARABIC SHADDA
+        0x00f2: 0x0652, #       ARABIC SUKUN
+        0x00f3: None,
+        0x00f4: None,
+        0x00f5: None,
+        0x00f6: None,
+        0x00f7: None,
+        0x00f8: None,
+        0x00f9: None,
+        0x00fa: None,
+        0x00fb: None,
+        0x00fc: None,
+        0x00fd: None,
+        0x00fe: None,
+        0x00ff: None,
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/iso8859_7.py b/Lib/encodings/iso8859_7.py
index eea3abf..2530c68 100644
--- a/Lib/encodings/iso8859_7.py
+++ b/Lib/encodings/iso8859_7.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,86 +37,86 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00a1: 0x2018,	# 	LEFT SINGLE QUOTATION MARK
-	0x00a2: 0x2019,	# 	RIGHT SINGLE QUOTATION MARK
-	0x00a4: None,
-	0x00a5: None,
-	0x00aa: None,
-	0x00ae: None,
-	0x00af: 0x2015,	# 	HORIZONTAL BAR
-	0x00b4: 0x0384,	# 	GREEK TONOS
-	0x00b5: 0x0385,	# 	GREEK DIALYTIKA TONOS
-	0x00b6: 0x0386,	# 	GREEK CAPITAL LETTER ALPHA WITH TONOS
-	0x00b8: 0x0388,	# 	GREEK CAPITAL LETTER EPSILON WITH TONOS
-	0x00b9: 0x0389,	# 	GREEK CAPITAL LETTER ETA WITH TONOS
-	0x00ba: 0x038a,	# 	GREEK CAPITAL LETTER IOTA WITH TONOS
-	0x00bc: 0x038c,	# 	GREEK CAPITAL LETTER OMICRON WITH TONOS
-	0x00be: 0x038e,	# 	GREEK CAPITAL LETTER UPSILON WITH TONOS
-	0x00bf: 0x038f,	# 	GREEK CAPITAL LETTER OMEGA WITH TONOS
-	0x00c0: 0x0390,	# 	GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-	0x00c1: 0x0391,	# 	GREEK CAPITAL LETTER ALPHA
-	0x00c2: 0x0392,	# 	GREEK CAPITAL LETTER BETA
-	0x00c3: 0x0393,	# 	GREEK CAPITAL LETTER GAMMA
-	0x00c4: 0x0394,	# 	GREEK CAPITAL LETTER DELTA
-	0x00c5: 0x0395,	# 	GREEK CAPITAL LETTER EPSILON
-	0x00c6: 0x0396,	# 	GREEK CAPITAL LETTER ZETA
-	0x00c7: 0x0397,	# 	GREEK CAPITAL LETTER ETA
-	0x00c8: 0x0398,	# 	GREEK CAPITAL LETTER THETA
-	0x00c9: 0x0399,	# 	GREEK CAPITAL LETTER IOTA
-	0x00ca: 0x039a,	# 	GREEK CAPITAL LETTER KAPPA
-	0x00cb: 0x039b,	# 	GREEK CAPITAL LETTER LAMDA
-	0x00cc: 0x039c,	# 	GREEK CAPITAL LETTER MU
-	0x00cd: 0x039d,	# 	GREEK CAPITAL LETTER NU
-	0x00ce: 0x039e,	# 	GREEK CAPITAL LETTER XI
-	0x00cf: 0x039f,	# 	GREEK CAPITAL LETTER OMICRON
-	0x00d0: 0x03a0,	# 	GREEK CAPITAL LETTER PI
-	0x00d1: 0x03a1,	# 	GREEK CAPITAL LETTER RHO
-	0x00d2: None,
-	0x00d3: 0x03a3,	# 	GREEK CAPITAL LETTER SIGMA
-	0x00d4: 0x03a4,	# 	GREEK CAPITAL LETTER TAU
-	0x00d5: 0x03a5,	# 	GREEK CAPITAL LETTER UPSILON
-	0x00d6: 0x03a6,	# 	GREEK CAPITAL LETTER PHI
-	0x00d7: 0x03a7,	# 	GREEK CAPITAL LETTER CHI
-	0x00d8: 0x03a8,	# 	GREEK CAPITAL LETTER PSI
-	0x00d9: 0x03a9,	# 	GREEK CAPITAL LETTER OMEGA
-	0x00da: 0x03aa,	# 	GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
-	0x00db: 0x03ab,	# 	GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-	0x00dc: 0x03ac,	# 	GREEK SMALL LETTER ALPHA WITH TONOS
-	0x00dd: 0x03ad,	# 	GREEK SMALL LETTER EPSILON WITH TONOS
-	0x00de: 0x03ae,	# 	GREEK SMALL LETTER ETA WITH TONOS
-	0x00df: 0x03af,	# 	GREEK SMALL LETTER IOTA WITH TONOS
-	0x00e0: 0x03b0,	# 	GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-	0x00e1: 0x03b1,	# 	GREEK SMALL LETTER ALPHA
-	0x00e2: 0x03b2,	# 	GREEK SMALL LETTER BETA
-	0x00e3: 0x03b3,	# 	GREEK SMALL LETTER GAMMA
-	0x00e4: 0x03b4,	# 	GREEK SMALL LETTER DELTA
-	0x00e5: 0x03b5,	# 	GREEK SMALL LETTER EPSILON
-	0x00e6: 0x03b6,	# 	GREEK SMALL LETTER ZETA
-	0x00e7: 0x03b7,	# 	GREEK SMALL LETTER ETA
-	0x00e8: 0x03b8,	# 	GREEK SMALL LETTER THETA
-	0x00e9: 0x03b9,	# 	GREEK SMALL LETTER IOTA
-	0x00ea: 0x03ba,	# 	GREEK SMALL LETTER KAPPA
-	0x00eb: 0x03bb,	# 	GREEK SMALL LETTER LAMDA
-	0x00ec: 0x03bc,	# 	GREEK SMALL LETTER MU
-	0x00ed: 0x03bd,	# 	GREEK SMALL LETTER NU
-	0x00ee: 0x03be,	# 	GREEK SMALL LETTER XI
-	0x00ef: 0x03bf,	# 	GREEK SMALL LETTER OMICRON
-	0x00f0: 0x03c0,	# 	GREEK SMALL LETTER PI
-	0x00f1: 0x03c1,	# 	GREEK SMALL LETTER RHO
-	0x00f2: 0x03c2,	# 	GREEK SMALL LETTER FINAL SIGMA
-	0x00f3: 0x03c3,	# 	GREEK SMALL LETTER SIGMA
-	0x00f4: 0x03c4,	# 	GREEK SMALL LETTER TAU
-	0x00f5: 0x03c5,	# 	GREEK SMALL LETTER UPSILON
-	0x00f6: 0x03c6,	# 	GREEK SMALL LETTER PHI
-	0x00f7: 0x03c7,	# 	GREEK SMALL LETTER CHI
-	0x00f8: 0x03c8,	# 	GREEK SMALL LETTER PSI
-	0x00f9: 0x03c9,	# 	GREEK SMALL LETTER OMEGA
-	0x00fa: 0x03ca,	# 	GREEK SMALL LETTER IOTA WITH DIALYTIKA
-	0x00fb: 0x03cb,	# 	GREEK SMALL LETTER UPSILON WITH DIALYTIKA
-	0x00fc: 0x03cc,	# 	GREEK SMALL LETTER OMICRON WITH TONOS
-	0x00fd: 0x03cd,	# 	GREEK SMALL LETTER UPSILON WITH TONOS
-	0x00fe: 0x03ce,	# 	GREEK SMALL LETTER OMEGA WITH TONOS
-	0x00ff: None,
+        0x00a1: 0x2018, #       LEFT SINGLE QUOTATION MARK
+        0x00a2: 0x2019, #       RIGHT SINGLE QUOTATION MARK
+        0x00a4: None,
+        0x00a5: None,
+        0x00aa: None,
+        0x00ae: None,
+        0x00af: 0x2015, #       HORIZONTAL BAR
+        0x00b4: 0x0384, #       GREEK TONOS
+        0x00b5: 0x0385, #       GREEK DIALYTIKA TONOS
+        0x00b6: 0x0386, #       GREEK CAPITAL LETTER ALPHA WITH TONOS
+        0x00b8: 0x0388, #       GREEK CAPITAL LETTER EPSILON WITH TONOS
+        0x00b9: 0x0389, #       GREEK CAPITAL LETTER ETA WITH TONOS
+        0x00ba: 0x038a, #       GREEK CAPITAL LETTER IOTA WITH TONOS
+        0x00bc: 0x038c, #       GREEK CAPITAL LETTER OMICRON WITH TONOS
+        0x00be: 0x038e, #       GREEK CAPITAL LETTER UPSILON WITH TONOS
+        0x00bf: 0x038f, #       GREEK CAPITAL LETTER OMEGA WITH TONOS
+        0x00c0: 0x0390, #       GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+        0x00c1: 0x0391, #       GREEK CAPITAL LETTER ALPHA
+        0x00c2: 0x0392, #       GREEK CAPITAL LETTER BETA
+        0x00c3: 0x0393, #       GREEK CAPITAL LETTER GAMMA
+        0x00c4: 0x0394, #       GREEK CAPITAL LETTER DELTA
+        0x00c5: 0x0395, #       GREEK CAPITAL LETTER EPSILON
+        0x00c6: 0x0396, #       GREEK CAPITAL LETTER ZETA
+        0x00c7: 0x0397, #       GREEK CAPITAL LETTER ETA
+        0x00c8: 0x0398, #       GREEK CAPITAL LETTER THETA
+        0x00c9: 0x0399, #       GREEK CAPITAL LETTER IOTA
+        0x00ca: 0x039a, #       GREEK CAPITAL LETTER KAPPA
+        0x00cb: 0x039b, #       GREEK CAPITAL LETTER LAMDA
+        0x00cc: 0x039c, #       GREEK CAPITAL LETTER MU
+        0x00cd: 0x039d, #       GREEK CAPITAL LETTER NU
+        0x00ce: 0x039e, #       GREEK CAPITAL LETTER XI
+        0x00cf: 0x039f, #       GREEK CAPITAL LETTER OMICRON
+        0x00d0: 0x03a0, #       GREEK CAPITAL LETTER PI
+        0x00d1: 0x03a1, #       GREEK CAPITAL LETTER RHO
+        0x00d2: None,
+        0x00d3: 0x03a3, #       GREEK CAPITAL LETTER SIGMA
+        0x00d4: 0x03a4, #       GREEK CAPITAL LETTER TAU
+        0x00d5: 0x03a5, #       GREEK CAPITAL LETTER UPSILON
+        0x00d6: 0x03a6, #       GREEK CAPITAL LETTER PHI
+        0x00d7: 0x03a7, #       GREEK CAPITAL LETTER CHI
+        0x00d8: 0x03a8, #       GREEK CAPITAL LETTER PSI
+        0x00d9: 0x03a9, #       GREEK CAPITAL LETTER OMEGA
+        0x00da: 0x03aa, #       GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+        0x00db: 0x03ab, #       GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+        0x00dc: 0x03ac, #       GREEK SMALL LETTER ALPHA WITH TONOS
+        0x00dd: 0x03ad, #       GREEK SMALL LETTER EPSILON WITH TONOS
+        0x00de: 0x03ae, #       GREEK SMALL LETTER ETA WITH TONOS
+        0x00df: 0x03af, #       GREEK SMALL LETTER IOTA WITH TONOS
+        0x00e0: 0x03b0, #       GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+        0x00e1: 0x03b1, #       GREEK SMALL LETTER ALPHA
+        0x00e2: 0x03b2, #       GREEK SMALL LETTER BETA
+        0x00e3: 0x03b3, #       GREEK SMALL LETTER GAMMA
+        0x00e4: 0x03b4, #       GREEK SMALL LETTER DELTA
+        0x00e5: 0x03b5, #       GREEK SMALL LETTER EPSILON
+        0x00e6: 0x03b6, #       GREEK SMALL LETTER ZETA
+        0x00e7: 0x03b7, #       GREEK SMALL LETTER ETA
+        0x00e8: 0x03b8, #       GREEK SMALL LETTER THETA
+        0x00e9: 0x03b9, #       GREEK SMALL LETTER IOTA
+        0x00ea: 0x03ba, #       GREEK SMALL LETTER KAPPA
+        0x00eb: 0x03bb, #       GREEK SMALL LETTER LAMDA
+        0x00ec: 0x03bc, #       GREEK SMALL LETTER MU
+        0x00ed: 0x03bd, #       GREEK SMALL LETTER NU
+        0x00ee: 0x03be, #       GREEK SMALL LETTER XI
+        0x00ef: 0x03bf, #       GREEK SMALL LETTER OMICRON
+        0x00f0: 0x03c0, #       GREEK SMALL LETTER PI
+        0x00f1: 0x03c1, #       GREEK SMALL LETTER RHO
+        0x00f2: 0x03c2, #       GREEK SMALL LETTER FINAL SIGMA
+        0x00f3: 0x03c3, #       GREEK SMALL LETTER SIGMA
+        0x00f4: 0x03c4, #       GREEK SMALL LETTER TAU
+        0x00f5: 0x03c5, #       GREEK SMALL LETTER UPSILON
+        0x00f6: 0x03c6, #       GREEK SMALL LETTER PHI
+        0x00f7: 0x03c7, #       GREEK SMALL LETTER CHI
+        0x00f8: 0x03c8, #       GREEK SMALL LETTER PSI
+        0x00f9: 0x03c9, #       GREEK SMALL LETTER OMEGA
+        0x00fa: 0x03ca, #       GREEK SMALL LETTER IOTA WITH DIALYTIKA
+        0x00fb: 0x03cb, #       GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+        0x00fc: 0x03cc, #       GREEK SMALL LETTER OMICRON WITH TONOS
+        0x00fd: 0x03cd, #       GREEK SMALL LETTER UPSILON WITH TONOS
+        0x00fe: 0x03ce, #       GREEK SMALL LETTER OMEGA WITH TONOS
+        0x00ff: None,
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/iso8859_8.py b/Lib/encodings/iso8859_8.py
index 45b2ada..d0176ee 100644
--- a/Lib/encodings/iso8859_8.py
+++ b/Lib/encodings/iso8859_8.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,74 +37,74 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00a1: None,
-	0x00aa: 0x00d7,	# 	MULTIPLICATION SIGN
-	0x00ba: 0x00f7,	# 	DIVISION SIGN
-	0x00bf: None,
-	0x00c0: None,
-	0x00c1: None,
-	0x00c2: None,
-	0x00c3: None,
-	0x00c4: None,
-	0x00c5: None,
-	0x00c6: None,
-	0x00c7: None,
-	0x00c8: None,
-	0x00c9: None,
-	0x00ca: None,
-	0x00cb: None,
-	0x00cc: None,
-	0x00cd: None,
-	0x00ce: None,
-	0x00cf: None,
-	0x00d0: None,
-	0x00d1: None,
-	0x00d2: None,
-	0x00d3: None,
-	0x00d4: None,
-	0x00d5: None,
-	0x00d6: None,
-	0x00d7: None,
-	0x00d8: None,
-	0x00d9: None,
-	0x00da: None,
-	0x00db: None,
-	0x00dc: None,
-	0x00dd: None,
-	0x00de: None,
-	0x00df: 0x2017,	# 	DOUBLE LOW LINE
-	0x00e0: 0x05d0,	# 	HEBREW LETTER ALEF
-	0x00e1: 0x05d1,	# 	HEBREW LETTER BET
-	0x00e2: 0x05d2,	# 	HEBREW LETTER GIMEL
-	0x00e3: 0x05d3,	# 	HEBREW LETTER DALET
-	0x00e4: 0x05d4,	# 	HEBREW LETTER HE
-	0x00e5: 0x05d5,	# 	HEBREW LETTER VAV
-	0x00e6: 0x05d6,	# 	HEBREW LETTER ZAYIN
-	0x00e7: 0x05d7,	# 	HEBREW LETTER HET
-	0x00e8: 0x05d8,	# 	HEBREW LETTER TET
-	0x00e9: 0x05d9,	# 	HEBREW LETTER YOD
-	0x00ea: 0x05da,	# 	HEBREW LETTER FINAL KAF
-	0x00eb: 0x05db,	# 	HEBREW LETTER KAF
-	0x00ec: 0x05dc,	# 	HEBREW LETTER LAMED
-	0x00ed: 0x05dd,	# 	HEBREW LETTER FINAL MEM
-	0x00ee: 0x05de,	# 	HEBREW LETTER MEM
-	0x00ef: 0x05df,	# 	HEBREW LETTER FINAL NUN
-	0x00f0: 0x05e0,	# 	HEBREW LETTER NUN
-	0x00f1: 0x05e1,	# 	HEBREW LETTER SAMEKH
-	0x00f2: 0x05e2,	# 	HEBREW LETTER AYIN
-	0x00f3: 0x05e3,	# 	HEBREW LETTER FINAL PE
-	0x00f4: 0x05e4,	# 	HEBREW LETTER PE
-	0x00f5: 0x05e5,	# 	HEBREW LETTER FINAL TSADI
-	0x00f6: 0x05e6,	# 	HEBREW LETTER TSADI
-	0x00f7: 0x05e7,	# 	HEBREW LETTER QOF
-	0x00f8: 0x05e8,	# 	HEBREW LETTER RESH
-	0x00f9: 0x05e9,	# 	HEBREW LETTER SHIN
-	0x00fa: 0x05ea,	# 	HEBREW LETTER TAV
-	0x00fb: None,
-	0x00fc: None,
-	0x00fd: 0x200e,	# 	LEFT-TO-RIGHT MARK
-	0x00fe: 0x200f,	# 	RIGHT-TO-LEFT MARK
-	0x00ff: None,
+        0x00a1: None,
+        0x00aa: 0x00d7, #       MULTIPLICATION SIGN
+        0x00ba: 0x00f7, #       DIVISION SIGN
+        0x00bf: None,
+        0x00c0: None,
+        0x00c1: None,
+        0x00c2: None,
+        0x00c3: None,
+        0x00c4: None,
+        0x00c5: None,
+        0x00c6: None,
+        0x00c7: None,
+        0x00c8: None,
+        0x00c9: None,
+        0x00ca: None,
+        0x00cb: None,
+        0x00cc: None,
+        0x00cd: None,
+        0x00ce: None,
+        0x00cf: None,
+        0x00d0: None,
+        0x00d1: None,
+        0x00d2: None,
+        0x00d3: None,
+        0x00d4: None,
+        0x00d5: None,
+        0x00d6: None,
+        0x00d7: None,
+        0x00d8: None,
+        0x00d9: None,
+        0x00da: None,
+        0x00db: None,
+        0x00dc: None,
+        0x00dd: None,
+        0x00de: None,
+        0x00df: 0x2017, #       DOUBLE LOW LINE
+        0x00e0: 0x05d0, #       HEBREW LETTER ALEF
+        0x00e1: 0x05d1, #       HEBREW LETTER BET
+        0x00e2: 0x05d2, #       HEBREW LETTER GIMEL
+        0x00e3: 0x05d3, #       HEBREW LETTER DALET
+        0x00e4: 0x05d4, #       HEBREW LETTER HE
+        0x00e5: 0x05d5, #       HEBREW LETTER VAV
+        0x00e6: 0x05d6, #       HEBREW LETTER ZAYIN
+        0x00e7: 0x05d7, #       HEBREW LETTER HET
+        0x00e8: 0x05d8, #       HEBREW LETTER TET
+        0x00e9: 0x05d9, #       HEBREW LETTER YOD
+        0x00ea: 0x05da, #       HEBREW LETTER FINAL KAF
+        0x00eb: 0x05db, #       HEBREW LETTER KAF
+        0x00ec: 0x05dc, #       HEBREW LETTER LAMED
+        0x00ed: 0x05dd, #       HEBREW LETTER FINAL MEM
+        0x00ee: 0x05de, #       HEBREW LETTER MEM
+        0x00ef: 0x05df, #       HEBREW LETTER FINAL NUN
+        0x00f0: 0x05e0, #       HEBREW LETTER NUN
+        0x00f1: 0x05e1, #       HEBREW LETTER SAMEKH
+        0x00f2: 0x05e2, #       HEBREW LETTER AYIN
+        0x00f3: 0x05e3, #       HEBREW LETTER FINAL PE
+        0x00f4: 0x05e4, #       HEBREW LETTER PE
+        0x00f5: 0x05e5, #       HEBREW LETTER FINAL TSADI
+        0x00f6: 0x05e6, #       HEBREW LETTER TSADI
+        0x00f7: 0x05e7, #       HEBREW LETTER QOF
+        0x00f8: 0x05e8, #       HEBREW LETTER RESH
+        0x00f9: 0x05e9, #       HEBREW LETTER SHIN
+        0x00fa: 0x05ea, #       HEBREW LETTER TAV
+        0x00fb: None,
+        0x00fc: None,
+        0x00fd: 0x200e, #       LEFT-TO-RIGHT MARK
+        0x00fe: 0x200f, #       RIGHT-TO-LEFT MARK
+        0x00ff: None,
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/iso8859_9.py b/Lib/encodings/iso8859_9.py
index ad0c190..28a603f 100644
--- a/Lib/encodings/iso8859_9.py
+++ b/Lib/encodings/iso8859_9.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,12 +37,12 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x00d0: 0x011e,	# 	LATIN CAPITAL LETTER G WITH BREVE
-	0x00dd: 0x0130,	# 	LATIN CAPITAL LETTER I WITH DOT ABOVE
-	0x00de: 0x015e,	# 	LATIN CAPITAL LETTER S WITH CEDILLA
-	0x00f0: 0x011f,	# 	LATIN SMALL LETTER G WITH BREVE
-	0x00fd: 0x0131,	# 	LATIN SMALL LETTER DOTLESS I
-	0x00fe: 0x015f,	# 	LATIN SMALL LETTER S WITH CEDILLA
+        0x00d0: 0x011e, #       LATIN CAPITAL LETTER G WITH BREVE
+        0x00dd: 0x0130, #       LATIN CAPITAL LETTER I WITH DOT ABOVE
+        0x00de: 0x015e, #       LATIN CAPITAL LETTER S WITH CEDILLA
+        0x00f0: 0x011f, #       LATIN SMALL LETTER G WITH BREVE
+        0x00fd: 0x0131, #       LATIN SMALL LETTER DOTLESS I
+        0x00fe: 0x015f, #       LATIN SMALL LETTER S WITH CEDILLA
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/koi8_r.py b/Lib/encodings/koi8_r.py
index 242d0c4..7494ca6 100644
--- a/Lib/encodings/koi8_r.py
+++ b/Lib/encodings/koi8_r.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,134 +37,134 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x2500,	# 	BOX DRAWINGS LIGHT HORIZONTAL
-	0x0081: 0x2502,	# 	BOX DRAWINGS LIGHT VERTICAL
-	0x0082: 0x250c,	# 	BOX DRAWINGS LIGHT DOWN AND RIGHT
-	0x0083: 0x2510,	# 	BOX DRAWINGS LIGHT DOWN AND LEFT
-	0x0084: 0x2514,	# 	BOX DRAWINGS LIGHT UP AND RIGHT
-	0x0085: 0x2518,	# 	BOX DRAWINGS LIGHT UP AND LEFT
-	0x0086: 0x251c,	# 	BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-	0x0087: 0x2524,	# 	BOX DRAWINGS LIGHT VERTICAL AND LEFT
-	0x0088: 0x252c,	# 	BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-	0x0089: 0x2534,	# 	BOX DRAWINGS LIGHT UP AND HORIZONTAL
-	0x008a: 0x253c,	# 	BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-	0x008b: 0x2580,	# 	UPPER HALF BLOCK
-	0x008c: 0x2584,	# 	LOWER HALF BLOCK
-	0x008d: 0x2588,	# 	FULL BLOCK
-	0x008e: 0x258c,	# 	LEFT HALF BLOCK
-	0x008f: 0x2590,	# 	RIGHT HALF BLOCK
-	0x0090: 0x2591,	# 	LIGHT SHADE
-	0x0091: 0x2592,	# 	MEDIUM SHADE
-	0x0092: 0x2593,	# 	DARK SHADE
-	0x0093: 0x2320,	# 	TOP HALF INTEGRAL
-	0x0094: 0x25a0,	# 	BLACK SQUARE
-	0x0095: 0x2219,	# 	BULLET OPERATOR
-	0x0096: 0x221a,	# 	SQUARE ROOT
-	0x0097: 0x2248,	# 	ALMOST EQUAL TO
-	0x0098: 0x2264,	# 	LESS-THAN OR EQUAL TO
-	0x0099: 0x2265,	# 	GREATER-THAN OR EQUAL TO
-	0x009a: 0x00a0,	# 	NO-BREAK SPACE
-	0x009b: 0x2321,	# 	BOTTOM HALF INTEGRAL
-	0x009c: 0x00b0,	# 	DEGREE SIGN
-	0x009d: 0x00b2,	# 	SUPERSCRIPT TWO
-	0x009e: 0x00b7,	# 	MIDDLE DOT
-	0x009f: 0x00f7,	# 	DIVISION SIGN
-	0x00a0: 0x2550,	# 	BOX DRAWINGS DOUBLE HORIZONTAL
-	0x00a1: 0x2551,	# 	BOX DRAWINGS DOUBLE VERTICAL
-	0x00a2: 0x2552,	# 	BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-	0x00a3: 0x0451,	# 	CYRILLIC SMALL LETTER IO
-	0x00a4: 0x2553,	# 	BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-	0x00a5: 0x2554,	# 	BOX DRAWINGS DOUBLE DOWN AND RIGHT
-	0x00a6: 0x2555,	# 	BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-	0x00a7: 0x2556,	# 	BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-	0x00a8: 0x2557,	# 	BOX DRAWINGS DOUBLE DOWN AND LEFT
-	0x00a9: 0x2558,	# 	BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-	0x00aa: 0x2559,	# 	BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-	0x00ab: 0x255a,	# 	BOX DRAWINGS DOUBLE UP AND RIGHT
-	0x00ac: 0x255b,	# 	BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-	0x00ad: 0x255c,	# 	BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-	0x00ae: 0x255d,	# 	BOX DRAWINGS DOUBLE UP AND LEFT
-	0x00af: 0x255e,	# 	BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-	0x00b0: 0x255f,	# 	BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-	0x00b1: 0x2560,	# 	BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-	0x00b2: 0x2561,	# 	BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-	0x00b3: 0x0401,	# 	CYRILLIC CAPITAL LETTER IO
-	0x00b4: 0x2562,	# 	BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-	0x00b5: 0x2563,	# 	BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-	0x00b6: 0x2564,	# 	BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-	0x00b7: 0x2565,	# 	BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-	0x00b8: 0x2566,	# 	BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-	0x00b9: 0x2567,	# 	BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-	0x00ba: 0x2568,	# 	BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-	0x00bb: 0x2569,	# 	BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-	0x00bc: 0x256a,	# 	BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-	0x00bd: 0x256b,	# 	BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-	0x00be: 0x256c,	# 	BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-	0x00bf: 0x00a9,	# 	COPYRIGHT SIGN
-	0x00c0: 0x044e,	# 	CYRILLIC SMALL LETTER YU
-	0x00c1: 0x0430,	# 	CYRILLIC SMALL LETTER A
-	0x00c2: 0x0431,	# 	CYRILLIC SMALL LETTER BE
-	0x00c3: 0x0446,	# 	CYRILLIC SMALL LETTER TSE
-	0x00c4: 0x0434,	# 	CYRILLIC SMALL LETTER DE
-	0x00c5: 0x0435,	# 	CYRILLIC SMALL LETTER IE
-	0x00c6: 0x0444,	# 	CYRILLIC SMALL LETTER EF
-	0x00c7: 0x0433,	# 	CYRILLIC SMALL LETTER GHE
-	0x00c8: 0x0445,	# 	CYRILLIC SMALL LETTER HA
-	0x00c9: 0x0438,	# 	CYRILLIC SMALL LETTER I
-	0x00ca: 0x0439,	# 	CYRILLIC SMALL LETTER SHORT I
-	0x00cb: 0x043a,	# 	CYRILLIC SMALL LETTER KA
-	0x00cc: 0x043b,	# 	CYRILLIC SMALL LETTER EL
-	0x00cd: 0x043c,	# 	CYRILLIC SMALL LETTER EM
-	0x00ce: 0x043d,	# 	CYRILLIC SMALL LETTER EN
-	0x00cf: 0x043e,	# 	CYRILLIC SMALL LETTER O
-	0x00d0: 0x043f,	# 	CYRILLIC SMALL LETTER PE
-	0x00d1: 0x044f,	# 	CYRILLIC SMALL LETTER YA
-	0x00d2: 0x0440,	# 	CYRILLIC SMALL LETTER ER
-	0x00d3: 0x0441,	# 	CYRILLIC SMALL LETTER ES
-	0x00d4: 0x0442,	# 	CYRILLIC SMALL LETTER TE
-	0x00d5: 0x0443,	# 	CYRILLIC SMALL LETTER U
-	0x00d6: 0x0436,	# 	CYRILLIC SMALL LETTER ZHE
-	0x00d7: 0x0432,	# 	CYRILLIC SMALL LETTER VE
-	0x00d8: 0x044c,	# 	CYRILLIC SMALL LETTER SOFT SIGN
-	0x00d9: 0x044b,	# 	CYRILLIC SMALL LETTER YERU
-	0x00da: 0x0437,	# 	CYRILLIC SMALL LETTER ZE
-	0x00db: 0x0448,	# 	CYRILLIC SMALL LETTER SHA
-	0x00dc: 0x044d,	# 	CYRILLIC SMALL LETTER E
-	0x00dd: 0x0449,	# 	CYRILLIC SMALL LETTER SHCHA
-	0x00de: 0x0447,	# 	CYRILLIC SMALL LETTER CHE
-	0x00df: 0x044a,	# 	CYRILLIC SMALL LETTER HARD SIGN
-	0x00e0: 0x042e,	# 	CYRILLIC CAPITAL LETTER YU
-	0x00e1: 0x0410,	# 	CYRILLIC CAPITAL LETTER A
-	0x00e2: 0x0411,	# 	CYRILLIC CAPITAL LETTER BE
-	0x00e3: 0x0426,	# 	CYRILLIC CAPITAL LETTER TSE
-	0x00e4: 0x0414,	# 	CYRILLIC CAPITAL LETTER DE
-	0x00e5: 0x0415,	# 	CYRILLIC CAPITAL LETTER IE
-	0x00e6: 0x0424,	# 	CYRILLIC CAPITAL LETTER EF
-	0x00e7: 0x0413,	# 	CYRILLIC CAPITAL LETTER GHE
-	0x00e8: 0x0425,	# 	CYRILLIC CAPITAL LETTER HA
-	0x00e9: 0x0418,	# 	CYRILLIC CAPITAL LETTER I
-	0x00ea: 0x0419,	# 	CYRILLIC CAPITAL LETTER SHORT I
-	0x00eb: 0x041a,	# 	CYRILLIC CAPITAL LETTER KA
-	0x00ec: 0x041b,	# 	CYRILLIC CAPITAL LETTER EL
-	0x00ed: 0x041c,	# 	CYRILLIC CAPITAL LETTER EM
-	0x00ee: 0x041d,	# 	CYRILLIC CAPITAL LETTER EN
-	0x00ef: 0x041e,	# 	CYRILLIC CAPITAL LETTER O
-	0x00f0: 0x041f,	# 	CYRILLIC CAPITAL LETTER PE
-	0x00f1: 0x042f,	# 	CYRILLIC CAPITAL LETTER YA
-	0x00f2: 0x0420,	# 	CYRILLIC CAPITAL LETTER ER
-	0x00f3: 0x0421,	# 	CYRILLIC CAPITAL LETTER ES
-	0x00f4: 0x0422,	# 	CYRILLIC CAPITAL LETTER TE
-	0x00f5: 0x0423,	# 	CYRILLIC CAPITAL LETTER U
-	0x00f6: 0x0416,	# 	CYRILLIC CAPITAL LETTER ZHE
-	0x00f7: 0x0412,	# 	CYRILLIC CAPITAL LETTER VE
-	0x00f8: 0x042c,	# 	CYRILLIC CAPITAL LETTER SOFT SIGN
-	0x00f9: 0x042b,	# 	CYRILLIC CAPITAL LETTER YERU
-	0x00fa: 0x0417,	# 	CYRILLIC CAPITAL LETTER ZE
-	0x00fb: 0x0428,	# 	CYRILLIC CAPITAL LETTER SHA
-	0x00fc: 0x042d,	# 	CYRILLIC CAPITAL LETTER E
-	0x00fd: 0x0429,	# 	CYRILLIC CAPITAL LETTER SHCHA
-	0x00fe: 0x0427,	# 	CYRILLIC CAPITAL LETTER CHE
-	0x00ff: 0x042a,	# 	CYRILLIC CAPITAL LETTER HARD SIGN
+        0x0080: 0x2500, #       BOX DRAWINGS LIGHT HORIZONTAL
+        0x0081: 0x2502, #       BOX DRAWINGS LIGHT VERTICAL
+        0x0082: 0x250c, #       BOX DRAWINGS LIGHT DOWN AND RIGHT
+        0x0083: 0x2510, #       BOX DRAWINGS LIGHT DOWN AND LEFT
+        0x0084: 0x2514, #       BOX DRAWINGS LIGHT UP AND RIGHT
+        0x0085: 0x2518, #       BOX DRAWINGS LIGHT UP AND LEFT
+        0x0086: 0x251c, #       BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+        0x0087: 0x2524, #       BOX DRAWINGS LIGHT VERTICAL AND LEFT
+        0x0088: 0x252c, #       BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+        0x0089: 0x2534, #       BOX DRAWINGS LIGHT UP AND HORIZONTAL
+        0x008a: 0x253c, #       BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+        0x008b: 0x2580, #       UPPER HALF BLOCK
+        0x008c: 0x2584, #       LOWER HALF BLOCK
+        0x008d: 0x2588, #       FULL BLOCK
+        0x008e: 0x258c, #       LEFT HALF BLOCK
+        0x008f: 0x2590, #       RIGHT HALF BLOCK
+        0x0090: 0x2591, #       LIGHT SHADE
+        0x0091: 0x2592, #       MEDIUM SHADE
+        0x0092: 0x2593, #       DARK SHADE
+        0x0093: 0x2320, #       TOP HALF INTEGRAL
+        0x0094: 0x25a0, #       BLACK SQUARE
+        0x0095: 0x2219, #       BULLET OPERATOR
+        0x0096: 0x221a, #       SQUARE ROOT
+        0x0097: 0x2248, #       ALMOST EQUAL TO
+        0x0098: 0x2264, #       LESS-THAN OR EQUAL TO
+        0x0099: 0x2265, #       GREATER-THAN OR EQUAL TO
+        0x009a: 0x00a0, #       NO-BREAK SPACE
+        0x009b: 0x2321, #       BOTTOM HALF INTEGRAL
+        0x009c: 0x00b0, #       DEGREE SIGN
+        0x009d: 0x00b2, #       SUPERSCRIPT TWO
+        0x009e: 0x00b7, #       MIDDLE DOT
+        0x009f: 0x00f7, #       DIVISION SIGN
+        0x00a0: 0x2550, #       BOX DRAWINGS DOUBLE HORIZONTAL
+        0x00a1: 0x2551, #       BOX DRAWINGS DOUBLE VERTICAL
+        0x00a2: 0x2552, #       BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+        0x00a3: 0x0451, #       CYRILLIC SMALL LETTER IO
+        0x00a4: 0x2553, #       BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+        0x00a5: 0x2554, #       BOX DRAWINGS DOUBLE DOWN AND RIGHT
+        0x00a6: 0x2555, #       BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+        0x00a7: 0x2556, #       BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+        0x00a8: 0x2557, #       BOX DRAWINGS DOUBLE DOWN AND LEFT
+        0x00a9: 0x2558, #       BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+        0x00aa: 0x2559, #       BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+        0x00ab: 0x255a, #       BOX DRAWINGS DOUBLE UP AND RIGHT
+        0x00ac: 0x255b, #       BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+        0x00ad: 0x255c, #       BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+        0x00ae: 0x255d, #       BOX DRAWINGS DOUBLE UP AND LEFT
+        0x00af: 0x255e, #       BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+        0x00b0: 0x255f, #       BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+        0x00b1: 0x2560, #       BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+        0x00b2: 0x2561, #       BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+        0x00b3: 0x0401, #       CYRILLIC CAPITAL LETTER IO
+        0x00b4: 0x2562, #       BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+        0x00b5: 0x2563, #       BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+        0x00b6: 0x2564, #       BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+        0x00b7: 0x2565, #       BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+        0x00b8: 0x2566, #       BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+        0x00b9: 0x2567, #       BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+        0x00ba: 0x2568, #       BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+        0x00bb: 0x2569, #       BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+        0x00bc: 0x256a, #       BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+        0x00bd: 0x256b, #       BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+        0x00be: 0x256c, #       BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+        0x00bf: 0x00a9, #       COPYRIGHT SIGN
+        0x00c0: 0x044e, #       CYRILLIC SMALL LETTER YU
+        0x00c1: 0x0430, #       CYRILLIC SMALL LETTER A
+        0x00c2: 0x0431, #       CYRILLIC SMALL LETTER BE
+        0x00c3: 0x0446, #       CYRILLIC SMALL LETTER TSE
+        0x00c4: 0x0434, #       CYRILLIC SMALL LETTER DE
+        0x00c5: 0x0435, #       CYRILLIC SMALL LETTER IE
+        0x00c6: 0x0444, #       CYRILLIC SMALL LETTER EF
+        0x00c7: 0x0433, #       CYRILLIC SMALL LETTER GHE
+        0x00c8: 0x0445, #       CYRILLIC SMALL LETTER HA
+        0x00c9: 0x0438, #       CYRILLIC SMALL LETTER I
+        0x00ca: 0x0439, #       CYRILLIC SMALL LETTER SHORT I
+        0x00cb: 0x043a, #       CYRILLIC SMALL LETTER KA
+        0x00cc: 0x043b, #       CYRILLIC SMALL LETTER EL
+        0x00cd: 0x043c, #       CYRILLIC SMALL LETTER EM
+        0x00ce: 0x043d, #       CYRILLIC SMALL LETTER EN
+        0x00cf: 0x043e, #       CYRILLIC SMALL LETTER O
+        0x00d0: 0x043f, #       CYRILLIC SMALL LETTER PE
+        0x00d1: 0x044f, #       CYRILLIC SMALL LETTER YA
+        0x00d2: 0x0440, #       CYRILLIC SMALL LETTER ER
+        0x00d3: 0x0441, #       CYRILLIC SMALL LETTER ES
+        0x00d4: 0x0442, #       CYRILLIC SMALL LETTER TE
+        0x00d5: 0x0443, #       CYRILLIC SMALL LETTER U
+        0x00d6: 0x0436, #       CYRILLIC SMALL LETTER ZHE
+        0x00d7: 0x0432, #       CYRILLIC SMALL LETTER VE
+        0x00d8: 0x044c, #       CYRILLIC SMALL LETTER SOFT SIGN
+        0x00d9: 0x044b, #       CYRILLIC SMALL LETTER YERU
+        0x00da: 0x0437, #       CYRILLIC SMALL LETTER ZE
+        0x00db: 0x0448, #       CYRILLIC SMALL LETTER SHA
+        0x00dc: 0x044d, #       CYRILLIC SMALL LETTER E
+        0x00dd: 0x0449, #       CYRILLIC SMALL LETTER SHCHA
+        0x00de: 0x0447, #       CYRILLIC SMALL LETTER CHE
+        0x00df: 0x044a, #       CYRILLIC SMALL LETTER HARD SIGN
+        0x00e0: 0x042e, #       CYRILLIC CAPITAL LETTER YU
+        0x00e1: 0x0410, #       CYRILLIC CAPITAL LETTER A
+        0x00e2: 0x0411, #       CYRILLIC CAPITAL LETTER BE
+        0x00e3: 0x0426, #       CYRILLIC CAPITAL LETTER TSE
+        0x00e4: 0x0414, #       CYRILLIC CAPITAL LETTER DE
+        0x00e5: 0x0415, #       CYRILLIC CAPITAL LETTER IE
+        0x00e6: 0x0424, #       CYRILLIC CAPITAL LETTER EF
+        0x00e7: 0x0413, #       CYRILLIC CAPITAL LETTER GHE
+        0x00e8: 0x0425, #       CYRILLIC CAPITAL LETTER HA
+        0x00e9: 0x0418, #       CYRILLIC CAPITAL LETTER I
+        0x00ea: 0x0419, #       CYRILLIC CAPITAL LETTER SHORT I
+        0x00eb: 0x041a, #       CYRILLIC CAPITAL LETTER KA
+        0x00ec: 0x041b, #       CYRILLIC CAPITAL LETTER EL
+        0x00ed: 0x041c, #       CYRILLIC CAPITAL LETTER EM
+        0x00ee: 0x041d, #       CYRILLIC CAPITAL LETTER EN
+        0x00ef: 0x041e, #       CYRILLIC CAPITAL LETTER O
+        0x00f0: 0x041f, #       CYRILLIC CAPITAL LETTER PE
+        0x00f1: 0x042f, #       CYRILLIC CAPITAL LETTER YA
+        0x00f2: 0x0420, #       CYRILLIC CAPITAL LETTER ER
+        0x00f3: 0x0421, #       CYRILLIC CAPITAL LETTER ES
+        0x00f4: 0x0422, #       CYRILLIC CAPITAL LETTER TE
+        0x00f5: 0x0423, #       CYRILLIC CAPITAL LETTER U
+        0x00f6: 0x0416, #       CYRILLIC CAPITAL LETTER ZHE
+        0x00f7: 0x0412, #       CYRILLIC CAPITAL LETTER VE
+        0x00f8: 0x042c, #       CYRILLIC CAPITAL LETTER SOFT SIGN
+        0x00f9: 0x042b, #       CYRILLIC CAPITAL LETTER YERU
+        0x00fa: 0x0417, #       CYRILLIC CAPITAL LETTER ZE
+        0x00fb: 0x0428, #       CYRILLIC CAPITAL LETTER SHA
+        0x00fc: 0x042d, #       CYRILLIC CAPITAL LETTER E
+        0x00fd: 0x0429, #       CYRILLIC CAPITAL LETTER SHCHA
+        0x00fe: 0x0427, #       CYRILLIC CAPITAL LETTER CHE
+        0x00ff: 0x042a, #       CYRILLIC CAPITAL LETTER HARD SIGN
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/latin_1.py b/Lib/encodings/latin_1.py
index ebca9fb..0e55917 100644
--- a/Lib/encodings/latin_1.py
+++ b/Lib/encodings/latin_1.py
@@ -19,7 +19,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/mac_cyrillic.py b/Lib/encodings/mac_cyrillic.py
index 6ae4a30..922523b 100644
--- a/Lib/encodings/mac_cyrillic.py
+++ b/Lib/encodings/mac_cyrillic.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,129 +37,129 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x0410,	# CYRILLIC CAPITAL LETTER A
-	0x0081: 0x0411,	# CYRILLIC CAPITAL LETTER BE
-	0x0082: 0x0412,	# CYRILLIC CAPITAL LETTER VE
-	0x0083: 0x0413,	# CYRILLIC CAPITAL LETTER GHE
-	0x0084: 0x0414,	# CYRILLIC CAPITAL LETTER DE
-	0x0085: 0x0415,	# CYRILLIC CAPITAL LETTER IE
-	0x0086: 0x0416,	# CYRILLIC CAPITAL LETTER ZHE
-	0x0087: 0x0417,	# CYRILLIC CAPITAL LETTER ZE
-	0x0088: 0x0418,	# CYRILLIC CAPITAL LETTER I
-	0x0089: 0x0419,	# CYRILLIC CAPITAL LETTER SHORT I
-	0x008a: 0x041a,	# CYRILLIC CAPITAL LETTER KA
-	0x008b: 0x041b,	# CYRILLIC CAPITAL LETTER EL
-	0x008c: 0x041c,	# CYRILLIC CAPITAL LETTER EM
-	0x008d: 0x041d,	# CYRILLIC CAPITAL LETTER EN
-	0x008e: 0x041e,	# CYRILLIC CAPITAL LETTER O
-	0x008f: 0x041f,	# CYRILLIC CAPITAL LETTER PE
-	0x0090: 0x0420,	# CYRILLIC CAPITAL LETTER ER
-	0x0091: 0x0421,	# CYRILLIC CAPITAL LETTER ES
-	0x0092: 0x0422,	# CYRILLIC CAPITAL LETTER TE
-	0x0093: 0x0423,	# CYRILLIC CAPITAL LETTER U
-	0x0094: 0x0424,	# CYRILLIC CAPITAL LETTER EF
-	0x0095: 0x0425,	# CYRILLIC CAPITAL LETTER HA
-	0x0096: 0x0426,	# CYRILLIC CAPITAL LETTER TSE
-	0x0097: 0x0427,	# CYRILLIC CAPITAL LETTER CHE
-	0x0098: 0x0428,	# CYRILLIC CAPITAL LETTER SHA
-	0x0099: 0x0429,	# CYRILLIC CAPITAL LETTER SHCHA
-	0x009a: 0x042a,	# CYRILLIC CAPITAL LETTER HARD SIGN
-	0x009b: 0x042b,	# CYRILLIC CAPITAL LETTER YERU
-	0x009c: 0x042c,	# CYRILLIC CAPITAL LETTER SOFT SIGN
-	0x009d: 0x042d,	# CYRILLIC CAPITAL LETTER E
-	0x009e: 0x042e,	# CYRILLIC CAPITAL LETTER YU
-	0x009f: 0x042f,	# CYRILLIC CAPITAL LETTER YA
-	0x00a0: 0x2020,	# DAGGER
-	0x00a1: 0x00b0,	# DEGREE SIGN
-	0x00a4: 0x00a7,	# SECTION SIGN
-	0x00a5: 0x2022,	# BULLET
-	0x00a6: 0x00b6,	# PILCROW SIGN
-	0x00a7: 0x0406,	# CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-	0x00a8: 0x00ae,	# REGISTERED SIGN
-	0x00aa: 0x2122,	# TRADE MARK SIGN
-	0x00ab: 0x0402,	# CYRILLIC CAPITAL LETTER DJE
-	0x00ac: 0x0452,	# CYRILLIC SMALL LETTER DJE
-	0x00ad: 0x2260,	# NOT EQUAL TO
-	0x00ae: 0x0403,	# CYRILLIC CAPITAL LETTER GJE
-	0x00af: 0x0453,	# CYRILLIC SMALL LETTER GJE
-	0x00b0: 0x221e,	# INFINITY
-	0x00b2: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00b3: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00b4: 0x0456,	# CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-	0x00b6: 0x2202,	# PARTIAL DIFFERENTIAL
-	0x00b7: 0x0408,	# CYRILLIC CAPITAL LETTER JE
-	0x00b8: 0x0404,	# CYRILLIC CAPITAL LETTER UKRAINIAN IE
-	0x00b9: 0x0454,	# CYRILLIC SMALL LETTER UKRAINIAN IE
-	0x00ba: 0x0407,	# CYRILLIC CAPITAL LETTER YI
-	0x00bb: 0x0457,	# CYRILLIC SMALL LETTER YI
-	0x00bc: 0x0409,	# CYRILLIC CAPITAL LETTER LJE
-	0x00bd: 0x0459,	# CYRILLIC SMALL LETTER LJE
-	0x00be: 0x040a,	# CYRILLIC CAPITAL LETTER NJE
-	0x00bf: 0x045a,	# CYRILLIC SMALL LETTER NJE
-	0x00c0: 0x0458,	# CYRILLIC SMALL LETTER JE
-	0x00c1: 0x0405,	# CYRILLIC CAPITAL LETTER DZE
-	0x00c2: 0x00ac,	# NOT SIGN
-	0x00c3: 0x221a,	# SQUARE ROOT
-	0x00c4: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x00c5: 0x2248,	# ALMOST EQUAL TO
-	0x00c6: 0x2206,	# INCREMENT
-	0x00c7: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00c8: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00c9: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x00ca: 0x00a0,	# NO-BREAK SPACE
-	0x00cb: 0x040b,	# CYRILLIC CAPITAL LETTER TSHE
-	0x00cc: 0x045b,	# CYRILLIC SMALL LETTER TSHE
-	0x00cd: 0x040c,	# CYRILLIC CAPITAL LETTER KJE
-	0x00ce: 0x045c,	# CYRILLIC SMALL LETTER KJE
-	0x00cf: 0x0455,	# CYRILLIC SMALL LETTER DZE
-	0x00d0: 0x2013,	# EN DASH
-	0x00d1: 0x2014,	# EM DASH
-	0x00d2: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x00d3: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x00d4: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x00d5: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x00d6: 0x00f7,	# DIVISION SIGN
-	0x00d7: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x00d8: 0x040e,	# CYRILLIC CAPITAL LETTER SHORT U
-	0x00d9: 0x045e,	# CYRILLIC SMALL LETTER SHORT U
-	0x00da: 0x040f,	# CYRILLIC CAPITAL LETTER DZHE
-	0x00db: 0x045f,	# CYRILLIC SMALL LETTER DZHE
-	0x00dc: 0x2116,	# NUMERO SIGN
-	0x00dd: 0x0401,	# CYRILLIC CAPITAL LETTER IO
-	0x00de: 0x0451,	# CYRILLIC SMALL LETTER IO
-	0x00df: 0x044f,	# CYRILLIC SMALL LETTER YA
-	0x00e0: 0x0430,	# CYRILLIC SMALL LETTER A
-	0x00e1: 0x0431,	# CYRILLIC SMALL LETTER BE
-	0x00e2: 0x0432,	# CYRILLIC SMALL LETTER VE
-	0x00e3: 0x0433,	# CYRILLIC SMALL LETTER GHE
-	0x00e4: 0x0434,	# CYRILLIC SMALL LETTER DE
-	0x00e5: 0x0435,	# CYRILLIC SMALL LETTER IE
-	0x00e6: 0x0436,	# CYRILLIC SMALL LETTER ZHE
-	0x00e7: 0x0437,	# CYRILLIC SMALL LETTER ZE
-	0x00e8: 0x0438,	# CYRILLIC SMALL LETTER I
-	0x00e9: 0x0439,	# CYRILLIC SMALL LETTER SHORT I
-	0x00ea: 0x043a,	# CYRILLIC SMALL LETTER KA
-	0x00eb: 0x043b,	# CYRILLIC SMALL LETTER EL
-	0x00ec: 0x043c,	# CYRILLIC SMALL LETTER EM
-	0x00ed: 0x043d,	# CYRILLIC SMALL LETTER EN
-	0x00ee: 0x043e,	# CYRILLIC SMALL LETTER O
-	0x00ef: 0x043f,	# CYRILLIC SMALL LETTER PE
-	0x00f0: 0x0440,	# CYRILLIC SMALL LETTER ER
-	0x00f1: 0x0441,	# CYRILLIC SMALL LETTER ES
-	0x00f2: 0x0442,	# CYRILLIC SMALL LETTER TE
-	0x00f3: 0x0443,	# CYRILLIC SMALL LETTER U
-	0x00f4: 0x0444,	# CYRILLIC SMALL LETTER EF
-	0x00f5: 0x0445,	# CYRILLIC SMALL LETTER HA
-	0x00f6: 0x0446,	# CYRILLIC SMALL LETTER TSE
-	0x00f7: 0x0447,	# CYRILLIC SMALL LETTER CHE
-	0x00f8: 0x0448,	# CYRILLIC SMALL LETTER SHA
-	0x00f9: 0x0449,	# CYRILLIC SMALL LETTER SHCHA
-	0x00fa: 0x044a,	# CYRILLIC SMALL LETTER HARD SIGN
-	0x00fb: 0x044b,	# CYRILLIC SMALL LETTER YERU
-	0x00fc: 0x044c,	# CYRILLIC SMALL LETTER SOFT SIGN
-	0x00fd: 0x044d,	# CYRILLIC SMALL LETTER E
-	0x00fe: 0x044e,	# CYRILLIC SMALL LETTER YU
-	0x00ff: 0x00a4,	# CURRENCY SIGN
+        0x0080: 0x0410, # CYRILLIC CAPITAL LETTER A
+        0x0081: 0x0411, # CYRILLIC CAPITAL LETTER BE
+        0x0082: 0x0412, # CYRILLIC CAPITAL LETTER VE
+        0x0083: 0x0413, # CYRILLIC CAPITAL LETTER GHE
+        0x0084: 0x0414, # CYRILLIC CAPITAL LETTER DE
+        0x0085: 0x0415, # CYRILLIC CAPITAL LETTER IE
+        0x0086: 0x0416, # CYRILLIC CAPITAL LETTER ZHE
+        0x0087: 0x0417, # CYRILLIC CAPITAL LETTER ZE
+        0x0088: 0x0418, # CYRILLIC CAPITAL LETTER I
+        0x0089: 0x0419, # CYRILLIC CAPITAL LETTER SHORT I
+        0x008a: 0x041a, # CYRILLIC CAPITAL LETTER KA
+        0x008b: 0x041b, # CYRILLIC CAPITAL LETTER EL
+        0x008c: 0x041c, # CYRILLIC CAPITAL LETTER EM
+        0x008d: 0x041d, # CYRILLIC CAPITAL LETTER EN
+        0x008e: 0x041e, # CYRILLIC CAPITAL LETTER O
+        0x008f: 0x041f, # CYRILLIC CAPITAL LETTER PE
+        0x0090: 0x0420, # CYRILLIC CAPITAL LETTER ER
+        0x0091: 0x0421, # CYRILLIC CAPITAL LETTER ES
+        0x0092: 0x0422, # CYRILLIC CAPITAL LETTER TE
+        0x0093: 0x0423, # CYRILLIC CAPITAL LETTER U
+        0x0094: 0x0424, # CYRILLIC CAPITAL LETTER EF
+        0x0095: 0x0425, # CYRILLIC CAPITAL LETTER HA
+        0x0096: 0x0426, # CYRILLIC CAPITAL LETTER TSE
+        0x0097: 0x0427, # CYRILLIC CAPITAL LETTER CHE
+        0x0098: 0x0428, # CYRILLIC CAPITAL LETTER SHA
+        0x0099: 0x0429, # CYRILLIC CAPITAL LETTER SHCHA
+        0x009a: 0x042a, # CYRILLIC CAPITAL LETTER HARD SIGN
+        0x009b: 0x042b, # CYRILLIC CAPITAL LETTER YERU
+        0x009c: 0x042c, # CYRILLIC CAPITAL LETTER SOFT SIGN
+        0x009d: 0x042d, # CYRILLIC CAPITAL LETTER E
+        0x009e: 0x042e, # CYRILLIC CAPITAL LETTER YU
+        0x009f: 0x042f, # CYRILLIC CAPITAL LETTER YA
+        0x00a0: 0x2020, # DAGGER
+        0x00a1: 0x00b0, # DEGREE SIGN
+        0x00a4: 0x00a7, # SECTION SIGN
+        0x00a5: 0x2022, # BULLET
+        0x00a6: 0x00b6, # PILCROW SIGN
+        0x00a7: 0x0406, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+        0x00a8: 0x00ae, # REGISTERED SIGN
+        0x00aa: 0x2122, # TRADE MARK SIGN
+        0x00ab: 0x0402, # CYRILLIC CAPITAL LETTER DJE
+        0x00ac: 0x0452, # CYRILLIC SMALL LETTER DJE
+        0x00ad: 0x2260, # NOT EQUAL TO
+        0x00ae: 0x0403, # CYRILLIC CAPITAL LETTER GJE
+        0x00af: 0x0453, # CYRILLIC SMALL LETTER GJE
+        0x00b0: 0x221e, # INFINITY
+        0x00b2: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00b3: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00b4: 0x0456, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+        0x00b6: 0x2202, # PARTIAL DIFFERENTIAL
+        0x00b7: 0x0408, # CYRILLIC CAPITAL LETTER JE
+        0x00b8: 0x0404, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+        0x00b9: 0x0454, # CYRILLIC SMALL LETTER UKRAINIAN IE
+        0x00ba: 0x0407, # CYRILLIC CAPITAL LETTER YI
+        0x00bb: 0x0457, # CYRILLIC SMALL LETTER YI
+        0x00bc: 0x0409, # CYRILLIC CAPITAL LETTER LJE
+        0x00bd: 0x0459, # CYRILLIC SMALL LETTER LJE
+        0x00be: 0x040a, # CYRILLIC CAPITAL LETTER NJE
+        0x00bf: 0x045a, # CYRILLIC SMALL LETTER NJE
+        0x00c0: 0x0458, # CYRILLIC SMALL LETTER JE
+        0x00c1: 0x0405, # CYRILLIC CAPITAL LETTER DZE
+        0x00c2: 0x00ac, # NOT SIGN
+        0x00c3: 0x221a, # SQUARE ROOT
+        0x00c4: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x00c5: 0x2248, # ALMOST EQUAL TO
+        0x00c6: 0x2206, # INCREMENT
+        0x00c7: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00c8: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00c9: 0x2026, # HORIZONTAL ELLIPSIS
+        0x00ca: 0x00a0, # NO-BREAK SPACE
+        0x00cb: 0x040b, # CYRILLIC CAPITAL LETTER TSHE
+        0x00cc: 0x045b, # CYRILLIC SMALL LETTER TSHE
+        0x00cd: 0x040c, # CYRILLIC CAPITAL LETTER KJE
+        0x00ce: 0x045c, # CYRILLIC SMALL LETTER KJE
+        0x00cf: 0x0455, # CYRILLIC SMALL LETTER DZE
+        0x00d0: 0x2013, # EN DASH
+        0x00d1: 0x2014, # EM DASH
+        0x00d2: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x00d3: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x00d4: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x00d5: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x00d6: 0x00f7, # DIVISION SIGN
+        0x00d7: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x00d8: 0x040e, # CYRILLIC CAPITAL LETTER SHORT U
+        0x00d9: 0x045e, # CYRILLIC SMALL LETTER SHORT U
+        0x00da: 0x040f, # CYRILLIC CAPITAL LETTER DZHE
+        0x00db: 0x045f, # CYRILLIC SMALL LETTER DZHE
+        0x00dc: 0x2116, # NUMERO SIGN
+        0x00dd: 0x0401, # CYRILLIC CAPITAL LETTER IO
+        0x00de: 0x0451, # CYRILLIC SMALL LETTER IO
+        0x00df: 0x044f, # CYRILLIC SMALL LETTER YA
+        0x00e0: 0x0430, # CYRILLIC SMALL LETTER A
+        0x00e1: 0x0431, # CYRILLIC SMALL LETTER BE
+        0x00e2: 0x0432, # CYRILLIC SMALL LETTER VE
+        0x00e3: 0x0433, # CYRILLIC SMALL LETTER GHE
+        0x00e4: 0x0434, # CYRILLIC SMALL LETTER DE
+        0x00e5: 0x0435, # CYRILLIC SMALL LETTER IE
+        0x00e6: 0x0436, # CYRILLIC SMALL LETTER ZHE
+        0x00e7: 0x0437, # CYRILLIC SMALL LETTER ZE
+        0x00e8: 0x0438, # CYRILLIC SMALL LETTER I
+        0x00e9: 0x0439, # CYRILLIC SMALL LETTER SHORT I
+        0x00ea: 0x043a, # CYRILLIC SMALL LETTER KA
+        0x00eb: 0x043b, # CYRILLIC SMALL LETTER EL
+        0x00ec: 0x043c, # CYRILLIC SMALL LETTER EM
+        0x00ed: 0x043d, # CYRILLIC SMALL LETTER EN
+        0x00ee: 0x043e, # CYRILLIC SMALL LETTER O
+        0x00ef: 0x043f, # CYRILLIC SMALL LETTER PE
+        0x00f0: 0x0440, # CYRILLIC SMALL LETTER ER
+        0x00f1: 0x0441, # CYRILLIC SMALL LETTER ES
+        0x00f2: 0x0442, # CYRILLIC SMALL LETTER TE
+        0x00f3: 0x0443, # CYRILLIC SMALL LETTER U
+        0x00f4: 0x0444, # CYRILLIC SMALL LETTER EF
+        0x00f5: 0x0445, # CYRILLIC SMALL LETTER HA
+        0x00f6: 0x0446, # CYRILLIC SMALL LETTER TSE
+        0x00f7: 0x0447, # CYRILLIC SMALL LETTER CHE
+        0x00f8: 0x0448, # CYRILLIC SMALL LETTER SHA
+        0x00f9: 0x0449, # CYRILLIC SMALL LETTER SHCHA
+        0x00fa: 0x044a, # CYRILLIC SMALL LETTER HARD SIGN
+        0x00fb: 0x044b, # CYRILLIC SMALL LETTER YERU
+        0x00fc: 0x044c, # CYRILLIC SMALL LETTER SOFT SIGN
+        0x00fd: 0x044d, # CYRILLIC SMALL LETTER E
+        0x00fe: 0x044e, # CYRILLIC SMALL LETTER YU
+        0x00ff: 0x00a4, # CURRENCY SIGN
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/mac_greek.py b/Lib/encodings/mac_greek.py
index 839cf61..473a157 100644
--- a/Lib/encodings/mac_greek.py
+++ b/Lib/encodings/mac_greek.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,132 +37,132 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x0081: 0x00b9,	# SUPERSCRIPT ONE
-	0x0082: 0x00b2,	# SUPERSCRIPT TWO
-	0x0083: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0084: 0x00b3,	# SUPERSCRIPT THREE
-	0x0085: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x0086: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x0087: 0x0385,	# GREEK DIALYTIKA TONOS
-	0x0088: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0089: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x008a: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x008b: 0x0384,	# GREEK TONOS
-	0x008c: 0x00a8,	# DIAERESIS
-	0x008d: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x008e: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x008f: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x0090: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0091: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x0092: 0x00a3,	# POUND SIGN
-	0x0093: 0x2122,	# TRADE MARK SIGN
-	0x0094: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x0095: 0x00ef,	# LATIN SMALL LETTER I WITH DIAERESIS
-	0x0096: 0x2022,	# BULLET
-	0x0097: 0x00bd,	# VULGAR FRACTION ONE HALF
-	0x0098: 0x2030,	# PER MILLE SIGN
-	0x0099: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x009a: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x009b: 0x00a6,	# BROKEN BAR
-	0x009c: 0x00ad,	# SOFT HYPHEN
-	0x009d: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x009e: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x009f: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x00a0: 0x2020,	# DAGGER
-	0x00a1: 0x0393,	# GREEK CAPITAL LETTER GAMMA
-	0x00a2: 0x0394,	# GREEK CAPITAL LETTER DELTA
-	0x00a3: 0x0398,	# GREEK CAPITAL LETTER THETA
-	0x00a4: 0x039b,	# GREEK CAPITAL LETTER LAMBDA
-	0x00a5: 0x039e,	# GREEK CAPITAL LETTER XI
-	0x00a6: 0x03a0,	# GREEK CAPITAL LETTER PI
-	0x00a7: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00a8: 0x00ae,	# REGISTERED SIGN
-	0x00aa: 0x03a3,	# GREEK CAPITAL LETTER SIGMA
-	0x00ab: 0x03aa,	# GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
-	0x00ac: 0x00a7,	# SECTION SIGN
-	0x00ad: 0x2260,	# NOT EQUAL TO
-	0x00ae: 0x00b0,	# DEGREE SIGN
-	0x00af: 0x0387,	# GREEK ANO TELEIA
-	0x00b0: 0x0391,	# GREEK CAPITAL LETTER ALPHA
-	0x00b2: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00b3: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00b4: 0x00a5,	# YEN SIGN
-	0x00b5: 0x0392,	# GREEK CAPITAL LETTER BETA
-	0x00b6: 0x0395,	# GREEK CAPITAL LETTER EPSILON
-	0x00b7: 0x0396,	# GREEK CAPITAL LETTER ZETA
-	0x00b8: 0x0397,	# GREEK CAPITAL LETTER ETA
-	0x00b9: 0x0399,	# GREEK CAPITAL LETTER IOTA
-	0x00ba: 0x039a,	# GREEK CAPITAL LETTER KAPPA
-	0x00bb: 0x039c,	# GREEK CAPITAL LETTER MU
-	0x00bc: 0x03a6,	# GREEK CAPITAL LETTER PHI
-	0x00bd: 0x03ab,	# GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-	0x00be: 0x03a8,	# GREEK CAPITAL LETTER PSI
-	0x00bf: 0x03a9,	# GREEK CAPITAL LETTER OMEGA
-	0x00c0: 0x03ac,	# GREEK SMALL LETTER ALPHA WITH TONOS
-	0x00c1: 0x039d,	# GREEK CAPITAL LETTER NU
-	0x00c2: 0x00ac,	# NOT SIGN
-	0x00c3: 0x039f,	# GREEK CAPITAL LETTER OMICRON
-	0x00c4: 0x03a1,	# GREEK CAPITAL LETTER RHO
-	0x00c5: 0x2248,	# ALMOST EQUAL TO
-	0x00c6: 0x03a4,	# GREEK CAPITAL LETTER TAU
-	0x00c7: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00c8: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00c9: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x00ca: 0x00a0,	# NO-BREAK SPACE
-	0x00cb: 0x03a5,	# GREEK CAPITAL LETTER UPSILON
-	0x00cc: 0x03a7,	# GREEK CAPITAL LETTER CHI
-	0x00cd: 0x0386,	# GREEK CAPITAL LETTER ALPHA WITH TONOS
-	0x00ce: 0x0388,	# GREEK CAPITAL LETTER EPSILON WITH TONOS
-	0x00cf: 0x0153,	# LATIN SMALL LIGATURE OE
-	0x00d0: 0x2013,	# EN DASH
-	0x00d1: 0x2015,	# HORIZONTAL BAR
-	0x00d2: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x00d3: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x00d4: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x00d5: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x00d6: 0x00f7,	# DIVISION SIGN
-	0x00d7: 0x0389,	# GREEK CAPITAL LETTER ETA WITH TONOS
-	0x00d8: 0x038a,	# GREEK CAPITAL LETTER IOTA WITH TONOS
-	0x00d9: 0x038c,	# GREEK CAPITAL LETTER OMICRON WITH TONOS
-	0x00da: 0x038e,	# GREEK CAPITAL LETTER UPSILON WITH TONOS
-	0x00db: 0x03ad,	# GREEK SMALL LETTER EPSILON WITH TONOS
-	0x00dc: 0x03ae,	# GREEK SMALL LETTER ETA WITH TONOS
-	0x00dd: 0x03af,	# GREEK SMALL LETTER IOTA WITH TONOS
-	0x00de: 0x03cc,	# GREEK SMALL LETTER OMICRON WITH TONOS
-	0x00df: 0x038f,	# GREEK CAPITAL LETTER OMEGA WITH TONOS
-	0x00e0: 0x03cd,	# GREEK SMALL LETTER UPSILON WITH TONOS
-	0x00e1: 0x03b1,	# GREEK SMALL LETTER ALPHA
-	0x00e2: 0x03b2,	# GREEK SMALL LETTER BETA
-	0x00e3: 0x03c8,	# GREEK SMALL LETTER PSI
-	0x00e4: 0x03b4,	# GREEK SMALL LETTER DELTA
-	0x00e5: 0x03b5,	# GREEK SMALL LETTER EPSILON
-	0x00e6: 0x03c6,	# GREEK SMALL LETTER PHI
-	0x00e7: 0x03b3,	# GREEK SMALL LETTER GAMMA
-	0x00e8: 0x03b7,	# GREEK SMALL LETTER ETA
-	0x00e9: 0x03b9,	# GREEK SMALL LETTER IOTA
-	0x00ea: 0x03be,	# GREEK SMALL LETTER XI
-	0x00eb: 0x03ba,	# GREEK SMALL LETTER KAPPA
-	0x00ec: 0x03bb,	# GREEK SMALL LETTER LAMBDA
-	0x00ed: 0x03bc,	# GREEK SMALL LETTER MU
-	0x00ee: 0x03bd,	# GREEK SMALL LETTER NU
-	0x00ef: 0x03bf,	# GREEK SMALL LETTER OMICRON
-	0x00f0: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00f1: 0x03ce,	# GREEK SMALL LETTER OMEGA WITH TONOS
-	0x00f2: 0x03c1,	# GREEK SMALL LETTER RHO
-	0x00f3: 0x03c3,	# GREEK SMALL LETTER SIGMA
-	0x00f4: 0x03c4,	# GREEK SMALL LETTER TAU
-	0x00f5: 0x03b8,	# GREEK SMALL LETTER THETA
-	0x00f6: 0x03c9,	# GREEK SMALL LETTER OMEGA
-	0x00f7: 0x03c2,	# GREEK SMALL LETTER FINAL SIGMA
-	0x00f8: 0x03c7,	# GREEK SMALL LETTER CHI
-	0x00f9: 0x03c5,	# GREEK SMALL LETTER UPSILON
-	0x00fa: 0x03b6,	# GREEK SMALL LETTER ZETA
-	0x00fb: 0x03ca,	# GREEK SMALL LETTER IOTA WITH DIALYTIKA
-	0x00fc: 0x03cb,	# GREEK SMALL LETTER UPSILON WITH DIALYTIKA
-	0x00fd: 0x0390,	# GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-	0x00fe: 0x03b0,	# GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-	0x00ff: None,	# UNDEFINED
+        0x0080: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x0081: 0x00b9, # SUPERSCRIPT ONE
+        0x0082: 0x00b2, # SUPERSCRIPT TWO
+        0x0083: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0084: 0x00b3, # SUPERSCRIPT THREE
+        0x0085: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x0086: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x0087: 0x0385, # GREEK DIALYTIKA TONOS
+        0x0088: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0089: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x008a: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x008b: 0x0384, # GREEK TONOS
+        0x008c: 0x00a8, # DIAERESIS
+        0x008d: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x008e: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x008f: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x0090: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0091: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x0092: 0x00a3, # POUND SIGN
+        0x0093: 0x2122, # TRADE MARK SIGN
+        0x0094: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x0095: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+        0x0096: 0x2022, # BULLET
+        0x0097: 0x00bd, # VULGAR FRACTION ONE HALF
+        0x0098: 0x2030, # PER MILLE SIGN
+        0x0099: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x009a: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x009b: 0x00a6, # BROKEN BAR
+        0x009c: 0x00ad, # SOFT HYPHEN
+        0x009d: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x009e: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x009f: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x00a0: 0x2020, # DAGGER
+        0x00a1: 0x0393, # GREEK CAPITAL LETTER GAMMA
+        0x00a2: 0x0394, # GREEK CAPITAL LETTER DELTA
+        0x00a3: 0x0398, # GREEK CAPITAL LETTER THETA
+        0x00a4: 0x039b, # GREEK CAPITAL LETTER LAMBDA
+        0x00a5: 0x039e, # GREEK CAPITAL LETTER XI
+        0x00a6: 0x03a0, # GREEK CAPITAL LETTER PI
+        0x00a7: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00a8: 0x00ae, # REGISTERED SIGN
+        0x00aa: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+        0x00ab: 0x03aa, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+        0x00ac: 0x00a7, # SECTION SIGN
+        0x00ad: 0x2260, # NOT EQUAL TO
+        0x00ae: 0x00b0, # DEGREE SIGN
+        0x00af: 0x0387, # GREEK ANO TELEIA
+        0x00b0: 0x0391, # GREEK CAPITAL LETTER ALPHA
+        0x00b2: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00b3: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00b4: 0x00a5, # YEN SIGN
+        0x00b5: 0x0392, # GREEK CAPITAL LETTER BETA
+        0x00b6: 0x0395, # GREEK CAPITAL LETTER EPSILON
+        0x00b7: 0x0396, # GREEK CAPITAL LETTER ZETA
+        0x00b8: 0x0397, # GREEK CAPITAL LETTER ETA
+        0x00b9: 0x0399, # GREEK CAPITAL LETTER IOTA
+        0x00ba: 0x039a, # GREEK CAPITAL LETTER KAPPA
+        0x00bb: 0x039c, # GREEK CAPITAL LETTER MU
+        0x00bc: 0x03a6, # GREEK CAPITAL LETTER PHI
+        0x00bd: 0x03ab, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+        0x00be: 0x03a8, # GREEK CAPITAL LETTER PSI
+        0x00bf: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+        0x00c0: 0x03ac, # GREEK SMALL LETTER ALPHA WITH TONOS
+        0x00c1: 0x039d, # GREEK CAPITAL LETTER NU
+        0x00c2: 0x00ac, # NOT SIGN
+        0x00c3: 0x039f, # GREEK CAPITAL LETTER OMICRON
+        0x00c4: 0x03a1, # GREEK CAPITAL LETTER RHO
+        0x00c5: 0x2248, # ALMOST EQUAL TO
+        0x00c6: 0x03a4, # GREEK CAPITAL LETTER TAU
+        0x00c7: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00c8: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00c9: 0x2026, # HORIZONTAL ELLIPSIS
+        0x00ca: 0x00a0, # NO-BREAK SPACE
+        0x00cb: 0x03a5, # GREEK CAPITAL LETTER UPSILON
+        0x00cc: 0x03a7, # GREEK CAPITAL LETTER CHI
+        0x00cd: 0x0386, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+        0x00ce: 0x0388, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+        0x00cf: 0x0153, # LATIN SMALL LIGATURE OE
+        0x00d0: 0x2013, # EN DASH
+        0x00d1: 0x2015, # HORIZONTAL BAR
+        0x00d2: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x00d3: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x00d4: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x00d5: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x00d6: 0x00f7, # DIVISION SIGN
+        0x00d7: 0x0389, # GREEK CAPITAL LETTER ETA WITH TONOS
+        0x00d8: 0x038a, # GREEK CAPITAL LETTER IOTA WITH TONOS
+        0x00d9: 0x038c, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+        0x00da: 0x038e, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+        0x00db: 0x03ad, # GREEK SMALL LETTER EPSILON WITH TONOS
+        0x00dc: 0x03ae, # GREEK SMALL LETTER ETA WITH TONOS
+        0x00dd: 0x03af, # GREEK SMALL LETTER IOTA WITH TONOS
+        0x00de: 0x03cc, # GREEK SMALL LETTER OMICRON WITH TONOS
+        0x00df: 0x038f, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+        0x00e0: 0x03cd, # GREEK SMALL LETTER UPSILON WITH TONOS
+        0x00e1: 0x03b1, # GREEK SMALL LETTER ALPHA
+        0x00e2: 0x03b2, # GREEK SMALL LETTER BETA
+        0x00e3: 0x03c8, # GREEK SMALL LETTER PSI
+        0x00e4: 0x03b4, # GREEK SMALL LETTER DELTA
+        0x00e5: 0x03b5, # GREEK SMALL LETTER EPSILON
+        0x00e6: 0x03c6, # GREEK SMALL LETTER PHI
+        0x00e7: 0x03b3, # GREEK SMALL LETTER GAMMA
+        0x00e8: 0x03b7, # GREEK SMALL LETTER ETA
+        0x00e9: 0x03b9, # GREEK SMALL LETTER IOTA
+        0x00ea: 0x03be, # GREEK SMALL LETTER XI
+        0x00eb: 0x03ba, # GREEK SMALL LETTER KAPPA
+        0x00ec: 0x03bb, # GREEK SMALL LETTER LAMBDA
+        0x00ed: 0x03bc, # GREEK SMALL LETTER MU
+        0x00ee: 0x03bd, # GREEK SMALL LETTER NU
+        0x00ef: 0x03bf, # GREEK SMALL LETTER OMICRON
+        0x00f0: 0x03c0, # GREEK SMALL LETTER PI
+        0x00f1: 0x03ce, # GREEK SMALL LETTER OMEGA WITH TONOS
+        0x00f2: 0x03c1, # GREEK SMALL LETTER RHO
+        0x00f3: 0x03c3, # GREEK SMALL LETTER SIGMA
+        0x00f4: 0x03c4, # GREEK SMALL LETTER TAU
+        0x00f5: 0x03b8, # GREEK SMALL LETTER THETA
+        0x00f6: 0x03c9, # GREEK SMALL LETTER OMEGA
+        0x00f7: 0x03c2, # GREEK SMALL LETTER FINAL SIGMA
+        0x00f8: 0x03c7, # GREEK SMALL LETTER CHI
+        0x00f9: 0x03c5, # GREEK SMALL LETTER UPSILON
+        0x00fa: 0x03b6, # GREEK SMALL LETTER ZETA
+        0x00fb: 0x03ca, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+        0x00fc: 0x03cb, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+        0x00fd: 0x0390, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+        0x00fe: 0x03b0, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+        0x00ff: None,   # UNDEFINED
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/mac_iceland.py b/Lib/encodings/mac_iceland.py
index 284580c..00bddf9 100644
--- a/Lib/encodings/mac_iceland.py
+++ b/Lib/encodings/mac_iceland.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,128 +37,128 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x0081: 0x00c5,	# LATIN CAPITAL LETTER A WITH RING ABOVE
-	0x0082: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0083: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0084: 0x00d1,	# LATIN CAPITAL LETTER N WITH TILDE
-	0x0085: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x0086: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x0087: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x0088: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0089: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x008a: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x008b: 0x00e3,	# LATIN SMALL LETTER A WITH TILDE
-	0x008c: 0x00e5,	# LATIN SMALL LETTER A WITH RING ABOVE
-	0x008d: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x008e: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x008f: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x0090: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0091: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x0092: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x0093: 0x00ec,	# LATIN SMALL LETTER I WITH GRAVE
-	0x0094: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x0095: 0x00ef,	# LATIN SMALL LETTER I WITH DIAERESIS
-	0x0096: 0x00f1,	# LATIN SMALL LETTER N WITH TILDE
-	0x0097: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x0098: 0x00f2,	# LATIN SMALL LETTER O WITH GRAVE
-	0x0099: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x009a: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x009b: 0x00f5,	# LATIN SMALL LETTER O WITH TILDE
-	0x009c: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x009d: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x009e: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x009f: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x00a0: 0x00dd,	# LATIN CAPITAL LETTER Y WITH ACUTE
-	0x00a1: 0x00b0,	# DEGREE SIGN
-	0x00a4: 0x00a7,	# SECTION SIGN
-	0x00a5: 0x2022,	# BULLET
-	0x00a6: 0x00b6,	# PILCROW SIGN
-	0x00a7: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00a8: 0x00ae,	# REGISTERED SIGN
-	0x00aa: 0x2122,	# TRADE MARK SIGN
-	0x00ab: 0x00b4,	# ACUTE ACCENT
-	0x00ac: 0x00a8,	# DIAERESIS
-	0x00ad: 0x2260,	# NOT EQUAL TO
-	0x00ae: 0x00c6,	# LATIN CAPITAL LIGATURE AE
-	0x00af: 0x00d8,	# LATIN CAPITAL LETTER O WITH STROKE
-	0x00b0: 0x221e,	# INFINITY
-	0x00b2: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00b3: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00b4: 0x00a5,	# YEN SIGN
-	0x00b6: 0x2202,	# PARTIAL DIFFERENTIAL
-	0x00b7: 0x2211,	# N-ARY SUMMATION
-	0x00b8: 0x220f,	# N-ARY PRODUCT
-	0x00b9: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00ba: 0x222b,	# INTEGRAL
-	0x00bb: 0x00aa,	# FEMININE ORDINAL INDICATOR
-	0x00bc: 0x00ba,	# MASCULINE ORDINAL INDICATOR
-	0x00bd: 0x2126,	# OHM SIGN
-	0x00be: 0x00e6,	# LATIN SMALL LIGATURE AE
-	0x00bf: 0x00f8,	# LATIN SMALL LETTER O WITH STROKE
-	0x00c0: 0x00bf,	# INVERTED QUESTION MARK
-	0x00c1: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00c2: 0x00ac,	# NOT SIGN
-	0x00c3: 0x221a,	# SQUARE ROOT
-	0x00c4: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x00c5: 0x2248,	# ALMOST EQUAL TO
-	0x00c6: 0x2206,	# INCREMENT
-	0x00c7: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00c8: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00c9: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x00ca: 0x00a0,	# NO-BREAK SPACE
-	0x00cb: 0x00c0,	# LATIN CAPITAL LETTER A WITH GRAVE
-	0x00cc: 0x00c3,	# LATIN CAPITAL LETTER A WITH TILDE
-	0x00cd: 0x00d5,	# LATIN CAPITAL LETTER O WITH TILDE
-	0x00ce: 0x0152,	# LATIN CAPITAL LIGATURE OE
-	0x00cf: 0x0153,	# LATIN SMALL LIGATURE OE
-	0x00d0: 0x2013,	# EN DASH
-	0x00d1: 0x2014,	# EM DASH
-	0x00d2: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x00d3: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x00d4: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x00d5: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x00d6: 0x00f7,	# DIVISION SIGN
-	0x00d7: 0x25ca,	# LOZENGE
-	0x00d8: 0x00ff,	# LATIN SMALL LETTER Y WITH DIAERESIS
-	0x00d9: 0x0178,	# LATIN CAPITAL LETTER Y WITH DIAERESIS
-	0x00da: 0x2044,	# FRACTION SLASH
-	0x00db: 0x00a4,	# CURRENCY SIGN
-	0x00dc: 0x00d0,	# LATIN CAPITAL LETTER ETH
-	0x00dd: 0x00f0,	# LATIN SMALL LETTER ETH
-	0x00df: 0x00fe,	# LATIN SMALL LETTER THORN
-	0x00e0: 0x00fd,	# LATIN SMALL LETTER Y WITH ACUTE
-	0x00e1: 0x00b7,	# MIDDLE DOT
-	0x00e2: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x00e3: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x00e4: 0x2030,	# PER MILLE SIGN
-	0x00e5: 0x00c2,	# LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-	0x00e6: 0x00ca,	# LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-	0x00e7: 0x00c1,	# LATIN CAPITAL LETTER A WITH ACUTE
-	0x00e8: 0x00cb,	# LATIN CAPITAL LETTER E WITH DIAERESIS
-	0x00e9: 0x00c8,	# LATIN CAPITAL LETTER E WITH GRAVE
-	0x00ea: 0x00cd,	# LATIN CAPITAL LETTER I WITH ACUTE
-	0x00eb: 0x00ce,	# LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-	0x00ec: 0x00cf,	# LATIN CAPITAL LETTER I WITH DIAERESIS
-	0x00ed: 0x00cc,	# LATIN CAPITAL LETTER I WITH GRAVE
-	0x00ee: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00ef: 0x00d4,	# LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-	0x00f0: None,	# UNDEFINED
-	0x00f1: 0x00d2,	# LATIN CAPITAL LETTER O WITH GRAVE
-	0x00f2: 0x00da,	# LATIN CAPITAL LETTER U WITH ACUTE
-	0x00f3: 0x00db,	# LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-	0x00f4: 0x00d9,	# LATIN CAPITAL LETTER U WITH GRAVE
-	0x00f5: 0x0131,	# LATIN SMALL LETTER DOTLESS I
-	0x00f6: 0x02c6,	# MODIFIER LETTER CIRCUMFLEX ACCENT
-	0x00f7: 0x02dc,	# SMALL TILDE
-	0x00f8: 0x00af,	# MACRON
-	0x00f9: 0x02d8,	# BREVE
-	0x00fa: 0x02d9,	# DOT ABOVE
-	0x00fb: 0x02da,	# RING ABOVE
-	0x00fc: 0x00b8,	# CEDILLA
-	0x00fd: 0x02dd,	# DOUBLE ACUTE ACCENT
-	0x00fe: 0x02db,	# OGONEK
-	0x00ff: 0x02c7,	# CARON
+        0x0080: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x0081: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+        0x0082: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0083: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0084: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+        0x0085: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x0086: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x0087: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x0088: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0089: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x008a: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x008b: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
+        0x008c: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+        0x008d: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x008e: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x008f: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x0090: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0091: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x0092: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x0093: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+        0x0094: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x0095: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+        0x0096: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+        0x0097: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x0098: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+        0x0099: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x009a: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x009b: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+        0x009c: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x009d: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x009e: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x009f: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x00a0: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
+        0x00a1: 0x00b0, # DEGREE SIGN
+        0x00a4: 0x00a7, # SECTION SIGN
+        0x00a5: 0x2022, # BULLET
+        0x00a6: 0x00b6, # PILCROW SIGN
+        0x00a7: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00a8: 0x00ae, # REGISTERED SIGN
+        0x00aa: 0x2122, # TRADE MARK SIGN
+        0x00ab: 0x00b4, # ACUTE ACCENT
+        0x00ac: 0x00a8, # DIAERESIS
+        0x00ad: 0x2260, # NOT EQUAL TO
+        0x00ae: 0x00c6, # LATIN CAPITAL LIGATURE AE
+        0x00af: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+        0x00b0: 0x221e, # INFINITY
+        0x00b2: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00b3: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00b4: 0x00a5, # YEN SIGN
+        0x00b6: 0x2202, # PARTIAL DIFFERENTIAL
+        0x00b7: 0x2211, # N-ARY SUMMATION
+        0x00b8: 0x220f, # N-ARY PRODUCT
+        0x00b9: 0x03c0, # GREEK SMALL LETTER PI
+        0x00ba: 0x222b, # INTEGRAL
+        0x00bb: 0x00aa, # FEMININE ORDINAL INDICATOR
+        0x00bc: 0x00ba, # MASCULINE ORDINAL INDICATOR
+        0x00bd: 0x2126, # OHM SIGN
+        0x00be: 0x00e6, # LATIN SMALL LIGATURE AE
+        0x00bf: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+        0x00c0: 0x00bf, # INVERTED QUESTION MARK
+        0x00c1: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00c2: 0x00ac, # NOT SIGN
+        0x00c3: 0x221a, # SQUARE ROOT
+        0x00c4: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x00c5: 0x2248, # ALMOST EQUAL TO
+        0x00c6: 0x2206, # INCREMENT
+        0x00c7: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00c8: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00c9: 0x2026, # HORIZONTAL ELLIPSIS
+        0x00ca: 0x00a0, # NO-BREAK SPACE
+        0x00cb: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+        0x00cc: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
+        0x00cd: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+        0x00ce: 0x0152, # LATIN CAPITAL LIGATURE OE
+        0x00cf: 0x0153, # LATIN SMALL LIGATURE OE
+        0x00d0: 0x2013, # EN DASH
+        0x00d1: 0x2014, # EM DASH
+        0x00d2: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x00d3: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x00d4: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x00d5: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x00d6: 0x00f7, # DIVISION SIGN
+        0x00d7: 0x25ca, # LOZENGE
+        0x00d8: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+        0x00d9: 0x0178, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+        0x00da: 0x2044, # FRACTION SLASH
+        0x00db: 0x00a4, # CURRENCY SIGN
+        0x00dc: 0x00d0, # LATIN CAPITAL LETTER ETH
+        0x00dd: 0x00f0, # LATIN SMALL LETTER ETH
+        0x00df: 0x00fe, # LATIN SMALL LETTER THORN
+        0x00e0: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
+        0x00e1: 0x00b7, # MIDDLE DOT
+        0x00e2: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x00e3: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x00e4: 0x2030, # PER MILLE SIGN
+        0x00e5: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+        0x00e6: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+        0x00e7: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+        0x00e8: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+        0x00e9: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+        0x00ea: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+        0x00eb: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+        0x00ec: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
+        0x00ed: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
+        0x00ee: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00ef: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+        0x00f0: None,   # UNDEFINED
+        0x00f1: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
+        0x00f2: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+        0x00f3: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+        0x00f4: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+        0x00f5: 0x0131, # LATIN SMALL LETTER DOTLESS I
+        0x00f6: 0x02c6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+        0x00f7: 0x02dc, # SMALL TILDE
+        0x00f8: 0x00af, # MACRON
+        0x00f9: 0x02d8, # BREVE
+        0x00fa: 0x02d9, # DOT ABOVE
+        0x00fb: 0x02da, # RING ABOVE
+        0x00fc: 0x00b8, # CEDILLA
+        0x00fd: 0x02dd, # DOUBLE ACUTE ACCENT
+        0x00fe: 0x02db, # OGONEK
+        0x00ff: 0x02c7, # CARON
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/mac_latin2.py b/Lib/encodings/mac_latin2.py
index e922178..f5d5225 100644
--- a/Lib/encodings/mac_latin2.py
+++ b/Lib/encodings/mac_latin2.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,132 +37,132 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x0081: 0x0100,	# LATIN CAPITAL LETTER A WITH MACRON
-	0x0082: 0x0101,	# LATIN SMALL LETTER A WITH MACRON
-	0x0083: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0084: 0x0104,	# LATIN CAPITAL LETTER A WITH OGONEK
-	0x0085: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x0086: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x0087: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x0088: 0x0105,	# LATIN SMALL LETTER A WITH OGONEK
-	0x0089: 0x010c,	# LATIN CAPITAL LETTER C WITH CARON
-	0x008a: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x008b: 0x010d,	# LATIN SMALL LETTER C WITH CARON
-	0x008c: 0x0106,	# LATIN CAPITAL LETTER C WITH ACUTE
-	0x008d: 0x0107,	# LATIN SMALL LETTER C WITH ACUTE
-	0x008e: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x008f: 0x0179,	# LATIN CAPITAL LETTER Z WITH ACUTE
-	0x0090: 0x017a,	# LATIN SMALL LETTER Z WITH ACUTE
-	0x0091: 0x010e,	# LATIN CAPITAL LETTER D WITH CARON
-	0x0092: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x0093: 0x010f,	# LATIN SMALL LETTER D WITH CARON
-	0x0094: 0x0112,	# LATIN CAPITAL LETTER E WITH MACRON
-	0x0095: 0x0113,	# LATIN SMALL LETTER E WITH MACRON
-	0x0096: 0x0116,	# LATIN CAPITAL LETTER E WITH DOT ABOVE
-	0x0097: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x0098: 0x0117,	# LATIN SMALL LETTER E WITH DOT ABOVE
-	0x0099: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x009a: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x009b: 0x00f5,	# LATIN SMALL LETTER O WITH TILDE
-	0x009c: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x009d: 0x011a,	# LATIN CAPITAL LETTER E WITH CARON
-	0x009e: 0x011b,	# LATIN SMALL LETTER E WITH CARON
-	0x009f: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x00a0: 0x2020,	# DAGGER
-	0x00a1: 0x00b0,	# DEGREE SIGN
-	0x00a2: 0x0118,	# LATIN CAPITAL LETTER E WITH OGONEK
-	0x00a4: 0x00a7,	# SECTION SIGN
-	0x00a5: 0x2022,	# BULLET
-	0x00a6: 0x00b6,	# PILCROW SIGN
-	0x00a7: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00a8: 0x00ae,	# REGISTERED SIGN
-	0x00aa: 0x2122,	# TRADE MARK SIGN
-	0x00ab: 0x0119,	# LATIN SMALL LETTER E WITH OGONEK
-	0x00ac: 0x00a8,	# DIAERESIS
-	0x00ad: 0x2260,	# NOT EQUAL TO
-	0x00ae: 0x0123,	# LATIN SMALL LETTER G WITH CEDILLA
-	0x00af: 0x012e,	# LATIN CAPITAL LETTER I WITH OGONEK
-	0x00b0: 0x012f,	# LATIN SMALL LETTER I WITH OGONEK
-	0x00b1: 0x012a,	# LATIN CAPITAL LETTER I WITH MACRON
-	0x00b2: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00b3: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00b4: 0x012b,	# LATIN SMALL LETTER I WITH MACRON
-	0x00b5: 0x0136,	# LATIN CAPITAL LETTER K WITH CEDILLA
-	0x00b6: 0x2202,	# PARTIAL DIFFERENTIAL
-	0x00b7: 0x2211,	# N-ARY SUMMATION
-	0x00b8: 0x0142,	# LATIN SMALL LETTER L WITH STROKE
-	0x00b9: 0x013b,	# LATIN CAPITAL LETTER L WITH CEDILLA
-	0x00ba: 0x013c,	# LATIN SMALL LETTER L WITH CEDILLA
-	0x00bb: 0x013d,	# LATIN CAPITAL LETTER L WITH CARON
-	0x00bc: 0x013e,	# LATIN SMALL LETTER L WITH CARON
-	0x00bd: 0x0139,	# LATIN CAPITAL LETTER L WITH ACUTE
-	0x00be: 0x013a,	# LATIN SMALL LETTER L WITH ACUTE
-	0x00bf: 0x0145,	# LATIN CAPITAL LETTER N WITH CEDILLA
-	0x00c0: 0x0146,	# LATIN SMALL LETTER N WITH CEDILLA
-	0x00c1: 0x0143,	# LATIN CAPITAL LETTER N WITH ACUTE
-	0x00c2: 0x00ac,	# NOT SIGN
-	0x00c3: 0x221a,	# SQUARE ROOT
-	0x00c4: 0x0144,	# LATIN SMALL LETTER N WITH ACUTE
-	0x00c5: 0x0147,	# LATIN CAPITAL LETTER N WITH CARON
-	0x00c6: 0x2206,	# INCREMENT
-	0x00c7: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00c8: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00c9: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x00ca: 0x00a0,	# NO-BREAK SPACE
-	0x00cb: 0x0148,	# LATIN SMALL LETTER N WITH CARON
-	0x00cc: 0x0150,	# LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-	0x00cd: 0x00d5,	# LATIN CAPITAL LETTER O WITH TILDE
-	0x00ce: 0x0151,	# LATIN SMALL LETTER O WITH DOUBLE ACUTE
-	0x00cf: 0x014c,	# LATIN CAPITAL LETTER O WITH MACRON
-	0x00d0: 0x2013,	# EN DASH
-	0x00d1: 0x2014,	# EM DASH
-	0x00d2: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x00d3: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x00d4: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x00d5: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x00d6: 0x00f7,	# DIVISION SIGN
-	0x00d7: 0x25ca,	# LOZENGE
-	0x00d8: 0x014d,	# LATIN SMALL LETTER O WITH MACRON
-	0x00d9: 0x0154,	# LATIN CAPITAL LETTER R WITH ACUTE
-	0x00da: 0x0155,	# LATIN SMALL LETTER R WITH ACUTE
-	0x00db: 0x0158,	# LATIN CAPITAL LETTER R WITH CARON
-	0x00dc: 0x2039,	# SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-	0x00dd: 0x203a,	# SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-	0x00de: 0x0159,	# LATIN SMALL LETTER R WITH CARON
-	0x00df: 0x0156,	# LATIN CAPITAL LETTER R WITH CEDILLA
-	0x00e0: 0x0157,	# LATIN SMALL LETTER R WITH CEDILLA
-	0x00e1: 0x0160,	# LATIN CAPITAL LETTER S WITH CARON
-	0x00e2: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x00e3: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x00e4: 0x0161,	# LATIN SMALL LETTER S WITH CARON
-	0x00e5: 0x015a,	# LATIN CAPITAL LETTER S WITH ACUTE
-	0x00e6: 0x015b,	# LATIN SMALL LETTER S WITH ACUTE
-	0x00e7: 0x00c1,	# LATIN CAPITAL LETTER A WITH ACUTE
-	0x00e8: 0x0164,	# LATIN CAPITAL LETTER T WITH CARON
-	0x00e9: 0x0165,	# LATIN SMALL LETTER T WITH CARON
-	0x00ea: 0x00cd,	# LATIN CAPITAL LETTER I WITH ACUTE
-	0x00eb: 0x017d,	# LATIN CAPITAL LETTER Z WITH CARON
-	0x00ec: 0x017e,	# LATIN SMALL LETTER Z WITH CARON
-	0x00ed: 0x016a,	# LATIN CAPITAL LETTER U WITH MACRON
-	0x00ee: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00ef: 0x00d4,	# LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-	0x00f0: 0x016b,	# LATIN SMALL LETTER U WITH MACRON
-	0x00f1: 0x016e,	# LATIN CAPITAL LETTER U WITH RING ABOVE
-	0x00f2: 0x00da,	# LATIN CAPITAL LETTER U WITH ACUTE
-	0x00f3: 0x016f,	# LATIN SMALL LETTER U WITH RING ABOVE
-	0x00f4: 0x0170,	# LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-	0x00f5: 0x0171,	# LATIN SMALL LETTER U WITH DOUBLE ACUTE
-	0x00f6: 0x0172,	# LATIN CAPITAL LETTER U WITH OGONEK
-	0x00f7: 0x0173,	# LATIN SMALL LETTER U WITH OGONEK
-	0x00f8: 0x00dd,	# LATIN CAPITAL LETTER Y WITH ACUTE
-	0x00f9: 0x00fd,	# LATIN SMALL LETTER Y WITH ACUTE
-	0x00fa: 0x0137,	# LATIN SMALL LETTER K WITH CEDILLA
-	0x00fb: 0x017b,	# LATIN CAPITAL LETTER Z WITH DOT ABOVE
-	0x00fc: 0x0141,	# LATIN CAPITAL LETTER L WITH STROKE
-	0x00fd: 0x017c,	# LATIN SMALL LETTER Z WITH DOT ABOVE
-	0x00fe: 0x0122,	# LATIN CAPITAL LETTER G WITH CEDILLA
-	0x00ff: 0x02c7,	# CARON
+        0x0080: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x0081: 0x0100, # LATIN CAPITAL LETTER A WITH MACRON
+        0x0082: 0x0101, # LATIN SMALL LETTER A WITH MACRON
+        0x0083: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0084: 0x0104, # LATIN CAPITAL LETTER A WITH OGONEK
+        0x0085: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x0086: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x0087: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x0088: 0x0105, # LATIN SMALL LETTER A WITH OGONEK
+        0x0089: 0x010c, # LATIN CAPITAL LETTER C WITH CARON
+        0x008a: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x008b: 0x010d, # LATIN SMALL LETTER C WITH CARON
+        0x008c: 0x0106, # LATIN CAPITAL LETTER C WITH ACUTE
+        0x008d: 0x0107, # LATIN SMALL LETTER C WITH ACUTE
+        0x008e: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x008f: 0x0179, # LATIN CAPITAL LETTER Z WITH ACUTE
+        0x0090: 0x017a, # LATIN SMALL LETTER Z WITH ACUTE
+        0x0091: 0x010e, # LATIN CAPITAL LETTER D WITH CARON
+        0x0092: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x0093: 0x010f, # LATIN SMALL LETTER D WITH CARON
+        0x0094: 0x0112, # LATIN CAPITAL LETTER E WITH MACRON
+        0x0095: 0x0113, # LATIN SMALL LETTER E WITH MACRON
+        0x0096: 0x0116, # LATIN CAPITAL LETTER E WITH DOT ABOVE
+        0x0097: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x0098: 0x0117, # LATIN SMALL LETTER E WITH DOT ABOVE
+        0x0099: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x009a: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x009b: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+        0x009c: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x009d: 0x011a, # LATIN CAPITAL LETTER E WITH CARON
+        0x009e: 0x011b, # LATIN SMALL LETTER E WITH CARON
+        0x009f: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x00a0: 0x2020, # DAGGER
+        0x00a1: 0x00b0, # DEGREE SIGN
+        0x00a2: 0x0118, # LATIN CAPITAL LETTER E WITH OGONEK
+        0x00a4: 0x00a7, # SECTION SIGN
+        0x00a5: 0x2022, # BULLET
+        0x00a6: 0x00b6, # PILCROW SIGN
+        0x00a7: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00a8: 0x00ae, # REGISTERED SIGN
+        0x00aa: 0x2122, # TRADE MARK SIGN
+        0x00ab: 0x0119, # LATIN SMALL LETTER E WITH OGONEK
+        0x00ac: 0x00a8, # DIAERESIS
+        0x00ad: 0x2260, # NOT EQUAL TO
+        0x00ae: 0x0123, # LATIN SMALL LETTER G WITH CEDILLA
+        0x00af: 0x012e, # LATIN CAPITAL LETTER I WITH OGONEK
+        0x00b0: 0x012f, # LATIN SMALL LETTER I WITH OGONEK
+        0x00b1: 0x012a, # LATIN CAPITAL LETTER I WITH MACRON
+        0x00b2: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00b3: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00b4: 0x012b, # LATIN SMALL LETTER I WITH MACRON
+        0x00b5: 0x0136, # LATIN CAPITAL LETTER K WITH CEDILLA
+        0x00b6: 0x2202, # PARTIAL DIFFERENTIAL
+        0x00b7: 0x2211, # N-ARY SUMMATION
+        0x00b8: 0x0142, # LATIN SMALL LETTER L WITH STROKE
+        0x00b9: 0x013b, # LATIN CAPITAL LETTER L WITH CEDILLA
+        0x00ba: 0x013c, # LATIN SMALL LETTER L WITH CEDILLA
+        0x00bb: 0x013d, # LATIN CAPITAL LETTER L WITH CARON
+        0x00bc: 0x013e, # LATIN SMALL LETTER L WITH CARON
+        0x00bd: 0x0139, # LATIN CAPITAL LETTER L WITH ACUTE
+        0x00be: 0x013a, # LATIN SMALL LETTER L WITH ACUTE
+        0x00bf: 0x0145, # LATIN CAPITAL LETTER N WITH CEDILLA
+        0x00c0: 0x0146, # LATIN SMALL LETTER N WITH CEDILLA
+        0x00c1: 0x0143, # LATIN CAPITAL LETTER N WITH ACUTE
+        0x00c2: 0x00ac, # NOT SIGN
+        0x00c3: 0x221a, # SQUARE ROOT
+        0x00c4: 0x0144, # LATIN SMALL LETTER N WITH ACUTE
+        0x00c5: 0x0147, # LATIN CAPITAL LETTER N WITH CARON
+        0x00c6: 0x2206, # INCREMENT
+        0x00c7: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00c8: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00c9: 0x2026, # HORIZONTAL ELLIPSIS
+        0x00ca: 0x00a0, # NO-BREAK SPACE
+        0x00cb: 0x0148, # LATIN SMALL LETTER N WITH CARON
+        0x00cc: 0x0150, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+        0x00cd: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+        0x00ce: 0x0151, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+        0x00cf: 0x014c, # LATIN CAPITAL LETTER O WITH MACRON
+        0x00d0: 0x2013, # EN DASH
+        0x00d1: 0x2014, # EM DASH
+        0x00d2: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x00d3: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x00d4: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x00d5: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x00d6: 0x00f7, # DIVISION SIGN
+        0x00d7: 0x25ca, # LOZENGE
+        0x00d8: 0x014d, # LATIN SMALL LETTER O WITH MACRON
+        0x00d9: 0x0154, # LATIN CAPITAL LETTER R WITH ACUTE
+        0x00da: 0x0155, # LATIN SMALL LETTER R WITH ACUTE
+        0x00db: 0x0158, # LATIN CAPITAL LETTER R WITH CARON
+        0x00dc: 0x2039, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        0x00dd: 0x203a, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        0x00de: 0x0159, # LATIN SMALL LETTER R WITH CARON
+        0x00df: 0x0156, # LATIN CAPITAL LETTER R WITH CEDILLA
+        0x00e0: 0x0157, # LATIN SMALL LETTER R WITH CEDILLA
+        0x00e1: 0x0160, # LATIN CAPITAL LETTER S WITH CARON
+        0x00e2: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x00e3: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x00e4: 0x0161, # LATIN SMALL LETTER S WITH CARON
+        0x00e5: 0x015a, # LATIN CAPITAL LETTER S WITH ACUTE
+        0x00e6: 0x015b, # LATIN SMALL LETTER S WITH ACUTE
+        0x00e7: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+        0x00e8: 0x0164, # LATIN CAPITAL LETTER T WITH CARON
+        0x00e9: 0x0165, # LATIN SMALL LETTER T WITH CARON
+        0x00ea: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+        0x00eb: 0x017d, # LATIN CAPITAL LETTER Z WITH CARON
+        0x00ec: 0x017e, # LATIN SMALL LETTER Z WITH CARON
+        0x00ed: 0x016a, # LATIN CAPITAL LETTER U WITH MACRON
+        0x00ee: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00ef: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+        0x00f0: 0x016b, # LATIN SMALL LETTER U WITH MACRON
+        0x00f1: 0x016e, # LATIN CAPITAL LETTER U WITH RING ABOVE
+        0x00f2: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+        0x00f3: 0x016f, # LATIN SMALL LETTER U WITH RING ABOVE
+        0x00f4: 0x0170, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+        0x00f5: 0x0171, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+        0x00f6: 0x0172, # LATIN CAPITAL LETTER U WITH OGONEK
+        0x00f7: 0x0173, # LATIN SMALL LETTER U WITH OGONEK
+        0x00f8: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
+        0x00f9: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
+        0x00fa: 0x0137, # LATIN SMALL LETTER K WITH CEDILLA
+        0x00fb: 0x017b, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+        0x00fc: 0x0141, # LATIN CAPITAL LETTER L WITH STROKE
+        0x00fd: 0x017c, # LATIN SMALL LETTER Z WITH DOT ABOVE
+        0x00fe: 0x0122, # LATIN CAPITAL LETTER G WITH CEDILLA
+        0x00ff: 0x02c7, # CARON
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/mac_roman.py b/Lib/encodings/mac_roman.py
index 23dca89..3f02ab1 100644
--- a/Lib/encodings/mac_roman.py
+++ b/Lib/encodings/mac_roman.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,129 +37,129 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x0081: 0x00c5,	# LATIN CAPITAL LETTER A WITH RING ABOVE
-	0x0082: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0083: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0084: 0x00d1,	# LATIN CAPITAL LETTER N WITH TILDE
-	0x0085: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x0086: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x0087: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x0088: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0089: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x008a: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x008b: 0x00e3,	# LATIN SMALL LETTER A WITH TILDE
-	0x008c: 0x00e5,	# LATIN SMALL LETTER A WITH RING ABOVE
-	0x008d: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x008e: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x008f: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x0090: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0091: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x0092: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x0093: 0x00ec,	# LATIN SMALL LETTER I WITH GRAVE
-	0x0094: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x0095: 0x00ef,	# LATIN SMALL LETTER I WITH DIAERESIS
-	0x0096: 0x00f1,	# LATIN SMALL LETTER N WITH TILDE
-	0x0097: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x0098: 0x00f2,	# LATIN SMALL LETTER O WITH GRAVE
-	0x0099: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x009a: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x009b: 0x00f5,	# LATIN SMALL LETTER O WITH TILDE
-	0x009c: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x009d: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x009e: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x009f: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x00a0: 0x2020,	# DAGGER
-	0x00a1: 0x00b0,	# DEGREE SIGN
-	0x00a4: 0x00a7,	# SECTION SIGN
-	0x00a5: 0x2022,	# BULLET
-	0x00a6: 0x00b6,	# PILCROW SIGN
-	0x00a7: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00a8: 0x00ae,	# REGISTERED SIGN
-	0x00aa: 0x2122,	# TRADE MARK SIGN
-	0x00ab: 0x00b4,	# ACUTE ACCENT
-	0x00ac: 0x00a8,	# DIAERESIS
-	0x00ad: 0x2260,	# NOT EQUAL TO
-	0x00ae: 0x00c6,	# LATIN CAPITAL LIGATURE AE
-	0x00af: 0x00d8,	# LATIN CAPITAL LETTER O WITH STROKE
-	0x00b0: 0x221e,	# INFINITY
-	0x00b2: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00b3: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00b4: 0x00a5,	# YEN SIGN
-	0x00b6: 0x2202,	# PARTIAL DIFFERENTIAL
-	0x00b7: 0x2211,	# N-ARY SUMMATION
-	0x00b8: 0x220f,	# N-ARY PRODUCT
-	0x00b9: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00ba: 0x222b,	# INTEGRAL
-	0x00bb: 0x00aa,	# FEMININE ORDINAL INDICATOR
-	0x00bc: 0x00ba,	# MASCULINE ORDINAL INDICATOR
-	0x00bd: 0x2126,	# OHM SIGN
-	0x00be: 0x00e6,	# LATIN SMALL LIGATURE AE
-	0x00bf: 0x00f8,	# LATIN SMALL LETTER O WITH STROKE
-	0x00c0: 0x00bf,	# INVERTED QUESTION MARK
-	0x00c1: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00c2: 0x00ac,	# NOT SIGN
-	0x00c3: 0x221a,	# SQUARE ROOT
-	0x00c4: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x00c5: 0x2248,	# ALMOST EQUAL TO
-	0x00c6: 0x2206,	# INCREMENT
-	0x00c7: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00c8: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00c9: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x00ca: 0x00a0,	# NO-BREAK SPACE
-	0x00cb: 0x00c0,	# LATIN CAPITAL LETTER A WITH GRAVE
-	0x00cc: 0x00c3,	# LATIN CAPITAL LETTER A WITH TILDE
-	0x00cd: 0x00d5,	# LATIN CAPITAL LETTER O WITH TILDE
-	0x00ce: 0x0152,	# LATIN CAPITAL LIGATURE OE
-	0x00cf: 0x0153,	# LATIN SMALL LIGATURE OE
-	0x00d0: 0x2013,	# EN DASH
-	0x00d1: 0x2014,	# EM DASH
-	0x00d2: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x00d3: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x00d4: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x00d5: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x00d6: 0x00f7,	# DIVISION SIGN
-	0x00d7: 0x25ca,	# LOZENGE
-	0x00d8: 0x00ff,	# LATIN SMALL LETTER Y WITH DIAERESIS
-	0x00d9: 0x0178,	# LATIN CAPITAL LETTER Y WITH DIAERESIS
-	0x00da: 0x2044,	# FRACTION SLASH
-	0x00db: 0x00a4,	# CURRENCY SIGN
-	0x00dc: 0x2039,	# SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-	0x00dd: 0x203a,	# SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-	0x00de: 0xfb01,	# LATIN SMALL LIGATURE FI
-	0x00df: 0xfb02,	# LATIN SMALL LIGATURE FL
-	0x00e0: 0x2021,	# DOUBLE DAGGER
-	0x00e1: 0x00b7,	# MIDDLE DOT
-	0x00e2: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x00e3: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x00e4: 0x2030,	# PER MILLE SIGN
-	0x00e5: 0x00c2,	# LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-	0x00e6: 0x00ca,	# LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-	0x00e7: 0x00c1,	# LATIN CAPITAL LETTER A WITH ACUTE
-	0x00e8: 0x00cb,	# LATIN CAPITAL LETTER E WITH DIAERESIS
-	0x00e9: 0x00c8,	# LATIN CAPITAL LETTER E WITH GRAVE
-	0x00ea: 0x00cd,	# LATIN CAPITAL LETTER I WITH ACUTE
-	0x00eb: 0x00ce,	# LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-	0x00ec: 0x00cf,	# LATIN CAPITAL LETTER I WITH DIAERESIS
-	0x00ed: 0x00cc,	# LATIN CAPITAL LETTER I WITH GRAVE
-	0x00ee: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00ef: 0x00d4,	# LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-	0x00f0: None,	# UNDEFINED
-	0x00f1: 0x00d2,	# LATIN CAPITAL LETTER O WITH GRAVE
-	0x00f2: 0x00da,	# LATIN CAPITAL LETTER U WITH ACUTE
-	0x00f3: 0x00db,	# LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-	0x00f4: 0x00d9,	# LATIN CAPITAL LETTER U WITH GRAVE
-	0x00f5: 0x0131,	# LATIN SMALL LETTER DOTLESS I
-	0x00f6: 0x02c6,	# MODIFIER LETTER CIRCUMFLEX ACCENT
-	0x00f7: 0x02dc,	# SMALL TILDE
-	0x00f8: 0x00af,	# MACRON
-	0x00f9: 0x02d8,	# BREVE
-	0x00fa: 0x02d9,	# DOT ABOVE
-	0x00fb: 0x02da,	# RING ABOVE
-	0x00fc: 0x00b8,	# CEDILLA
-	0x00fd: 0x02dd,	# DOUBLE ACUTE ACCENT
-	0x00fe: 0x02db,	# OGONEK
-	0x00ff: 0x02c7,	# CARON
+        0x0080: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x0081: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+        0x0082: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0083: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0084: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+        0x0085: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x0086: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x0087: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x0088: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0089: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x008a: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x008b: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
+        0x008c: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+        0x008d: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x008e: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x008f: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x0090: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0091: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x0092: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x0093: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+        0x0094: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x0095: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+        0x0096: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+        0x0097: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x0098: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+        0x0099: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x009a: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x009b: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+        0x009c: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x009d: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x009e: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x009f: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x00a0: 0x2020, # DAGGER
+        0x00a1: 0x00b0, # DEGREE SIGN
+        0x00a4: 0x00a7, # SECTION SIGN
+        0x00a5: 0x2022, # BULLET
+        0x00a6: 0x00b6, # PILCROW SIGN
+        0x00a7: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00a8: 0x00ae, # REGISTERED SIGN
+        0x00aa: 0x2122, # TRADE MARK SIGN
+        0x00ab: 0x00b4, # ACUTE ACCENT
+        0x00ac: 0x00a8, # DIAERESIS
+        0x00ad: 0x2260, # NOT EQUAL TO
+        0x00ae: 0x00c6, # LATIN CAPITAL LIGATURE AE
+        0x00af: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+        0x00b0: 0x221e, # INFINITY
+        0x00b2: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00b3: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00b4: 0x00a5, # YEN SIGN
+        0x00b6: 0x2202, # PARTIAL DIFFERENTIAL
+        0x00b7: 0x2211, # N-ARY SUMMATION
+        0x00b8: 0x220f, # N-ARY PRODUCT
+        0x00b9: 0x03c0, # GREEK SMALL LETTER PI
+        0x00ba: 0x222b, # INTEGRAL
+        0x00bb: 0x00aa, # FEMININE ORDINAL INDICATOR
+        0x00bc: 0x00ba, # MASCULINE ORDINAL INDICATOR
+        0x00bd: 0x2126, # OHM SIGN
+        0x00be: 0x00e6, # LATIN SMALL LIGATURE AE
+        0x00bf: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+        0x00c0: 0x00bf, # INVERTED QUESTION MARK
+        0x00c1: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00c2: 0x00ac, # NOT SIGN
+        0x00c3: 0x221a, # SQUARE ROOT
+        0x00c4: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x00c5: 0x2248, # ALMOST EQUAL TO
+        0x00c6: 0x2206, # INCREMENT
+        0x00c7: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00c8: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00c9: 0x2026, # HORIZONTAL ELLIPSIS
+        0x00ca: 0x00a0, # NO-BREAK SPACE
+        0x00cb: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+        0x00cc: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
+        0x00cd: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+        0x00ce: 0x0152, # LATIN CAPITAL LIGATURE OE
+        0x00cf: 0x0153, # LATIN SMALL LIGATURE OE
+        0x00d0: 0x2013, # EN DASH
+        0x00d1: 0x2014, # EM DASH
+        0x00d2: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x00d3: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x00d4: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x00d5: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x00d6: 0x00f7, # DIVISION SIGN
+        0x00d7: 0x25ca, # LOZENGE
+        0x00d8: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+        0x00d9: 0x0178, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+        0x00da: 0x2044, # FRACTION SLASH
+        0x00db: 0x00a4, # CURRENCY SIGN
+        0x00dc: 0x2039, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        0x00dd: 0x203a, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        0x00de: 0xfb01, # LATIN SMALL LIGATURE FI
+        0x00df: 0xfb02, # LATIN SMALL LIGATURE FL
+        0x00e0: 0x2021, # DOUBLE DAGGER
+        0x00e1: 0x00b7, # MIDDLE DOT
+        0x00e2: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x00e3: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x00e4: 0x2030, # PER MILLE SIGN
+        0x00e5: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+        0x00e6: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+        0x00e7: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+        0x00e8: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+        0x00e9: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+        0x00ea: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+        0x00eb: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+        0x00ec: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
+        0x00ed: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
+        0x00ee: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00ef: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+        0x00f0: None,   # UNDEFINED
+        0x00f1: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
+        0x00f2: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+        0x00f3: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+        0x00f4: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+        0x00f5: 0x0131, # LATIN SMALL LETTER DOTLESS I
+        0x00f6: 0x02c6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+        0x00f7: 0x02dc, # SMALL TILDE
+        0x00f8: 0x00af, # MACRON
+        0x00f9: 0x02d8, # BREVE
+        0x00fa: 0x02d9, # DOT ABOVE
+        0x00fb: 0x02da, # RING ABOVE
+        0x00fc: 0x00b8, # CEDILLA
+        0x00fd: 0x02dd, # DOUBLE ACUTE ACCENT
+        0x00fe: 0x02db, # OGONEK
+        0x00ff: 0x02c7, # CARON
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/mac_turkish.py b/Lib/encodings/mac_turkish.py
index c71268b..7f66f50 100644
--- a/Lib/encodings/mac_turkish.py
+++ b/Lib/encodings/mac_turkish.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -37,129 +37,129 @@
 
 decoding_map = codecs.make_identity_dict(range(256))
 decoding_map.update({
-	0x0080: 0x00c4,	# LATIN CAPITAL LETTER A WITH DIAERESIS
-	0x0081: 0x00c5,	# LATIN CAPITAL LETTER A WITH RING ABOVE
-	0x0082: 0x00c7,	# LATIN CAPITAL LETTER C WITH CEDILLA
-	0x0083: 0x00c9,	# LATIN CAPITAL LETTER E WITH ACUTE
-	0x0084: 0x00d1,	# LATIN CAPITAL LETTER N WITH TILDE
-	0x0085: 0x00d6,	# LATIN CAPITAL LETTER O WITH DIAERESIS
-	0x0086: 0x00dc,	# LATIN CAPITAL LETTER U WITH DIAERESIS
-	0x0087: 0x00e1,	# LATIN SMALL LETTER A WITH ACUTE
-	0x0088: 0x00e0,	# LATIN SMALL LETTER A WITH GRAVE
-	0x0089: 0x00e2,	# LATIN SMALL LETTER A WITH CIRCUMFLEX
-	0x008a: 0x00e4,	# LATIN SMALL LETTER A WITH DIAERESIS
-	0x008b: 0x00e3,	# LATIN SMALL LETTER A WITH TILDE
-	0x008c: 0x00e5,	# LATIN SMALL LETTER A WITH RING ABOVE
-	0x008d: 0x00e7,	# LATIN SMALL LETTER C WITH CEDILLA
-	0x008e: 0x00e9,	# LATIN SMALL LETTER E WITH ACUTE
-	0x008f: 0x00e8,	# LATIN SMALL LETTER E WITH GRAVE
-	0x0090: 0x00ea,	# LATIN SMALL LETTER E WITH CIRCUMFLEX
-	0x0091: 0x00eb,	# LATIN SMALL LETTER E WITH DIAERESIS
-	0x0092: 0x00ed,	# LATIN SMALL LETTER I WITH ACUTE
-	0x0093: 0x00ec,	# LATIN SMALL LETTER I WITH GRAVE
-	0x0094: 0x00ee,	# LATIN SMALL LETTER I WITH CIRCUMFLEX
-	0x0095: 0x00ef,	# LATIN SMALL LETTER I WITH DIAERESIS
-	0x0096: 0x00f1,	# LATIN SMALL LETTER N WITH TILDE
-	0x0097: 0x00f3,	# LATIN SMALL LETTER O WITH ACUTE
-	0x0098: 0x00f2,	# LATIN SMALL LETTER O WITH GRAVE
-	0x0099: 0x00f4,	# LATIN SMALL LETTER O WITH CIRCUMFLEX
-	0x009a: 0x00f6,	# LATIN SMALL LETTER O WITH DIAERESIS
-	0x009b: 0x00f5,	# LATIN SMALL LETTER O WITH TILDE
-	0x009c: 0x00fa,	# LATIN SMALL LETTER U WITH ACUTE
-	0x009d: 0x00f9,	# LATIN SMALL LETTER U WITH GRAVE
-	0x009e: 0x00fb,	# LATIN SMALL LETTER U WITH CIRCUMFLEX
-	0x009f: 0x00fc,	# LATIN SMALL LETTER U WITH DIAERESIS
-	0x00a0: 0x2020,	# DAGGER
-	0x00a1: 0x00b0,	# DEGREE SIGN
-	0x00a4: 0x00a7,	# SECTION SIGN
-	0x00a5: 0x2022,	# BULLET
-	0x00a6: 0x00b6,	# PILCROW SIGN
-	0x00a7: 0x00df,	# LATIN SMALL LETTER SHARP S
-	0x00a8: 0x00ae,	# REGISTERED SIGN
-	0x00aa: 0x2122,	# TRADE MARK SIGN
-	0x00ab: 0x00b4,	# ACUTE ACCENT
-	0x00ac: 0x00a8,	# DIAERESIS
-	0x00ad: 0x2260,	# NOT EQUAL TO
-	0x00ae: 0x00c6,	# LATIN CAPITAL LIGATURE AE
-	0x00af: 0x00d8,	# LATIN CAPITAL LETTER O WITH STROKE
-	0x00b0: 0x221e,	# INFINITY
-	0x00b2: 0x2264,	# LESS-THAN OR EQUAL TO
-	0x00b3: 0x2265,	# GREATER-THAN OR EQUAL TO
-	0x00b4: 0x00a5,	# YEN SIGN
-	0x00b6: 0x2202,	# PARTIAL DIFFERENTIAL
-	0x00b7: 0x2211,	# N-ARY SUMMATION
-	0x00b8: 0x220f,	# N-ARY PRODUCT
-	0x00b9: 0x03c0,	# GREEK SMALL LETTER PI
-	0x00ba: 0x222b,	# INTEGRAL
-	0x00bb: 0x00aa,	# FEMININE ORDINAL INDICATOR
-	0x00bc: 0x00ba,	# MASCULINE ORDINAL INDICATOR
-	0x00bd: 0x2126,	# OHM SIGN
-	0x00be: 0x00e6,	# LATIN SMALL LIGATURE AE
-	0x00bf: 0x00f8,	# LATIN SMALL LETTER O WITH STROKE
-	0x00c0: 0x00bf,	# INVERTED QUESTION MARK
-	0x00c1: 0x00a1,	# INVERTED EXCLAMATION MARK
-	0x00c2: 0x00ac,	# NOT SIGN
-	0x00c3: 0x221a,	# SQUARE ROOT
-	0x00c4: 0x0192,	# LATIN SMALL LETTER F WITH HOOK
-	0x00c5: 0x2248,	# ALMOST EQUAL TO
-	0x00c6: 0x2206,	# INCREMENT
-	0x00c7: 0x00ab,	# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00c8: 0x00bb,	# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-	0x00c9: 0x2026,	# HORIZONTAL ELLIPSIS
-	0x00ca: 0x00a0,	# NO-BREAK SPACE
-	0x00cb: 0x00c0,	# LATIN CAPITAL LETTER A WITH GRAVE
-	0x00cc: 0x00c3,	# LATIN CAPITAL LETTER A WITH TILDE
-	0x00cd: 0x00d5,	# LATIN CAPITAL LETTER O WITH TILDE
-	0x00ce: 0x0152,	# LATIN CAPITAL LIGATURE OE
-	0x00cf: 0x0153,	# LATIN SMALL LIGATURE OE
-	0x00d0: 0x2013,	# EN DASH
-	0x00d1: 0x2014,	# EM DASH
-	0x00d2: 0x201c,	# LEFT DOUBLE QUOTATION MARK
-	0x00d3: 0x201d,	# RIGHT DOUBLE QUOTATION MARK
-	0x00d4: 0x2018,	# LEFT SINGLE QUOTATION MARK
-	0x00d5: 0x2019,	# RIGHT SINGLE QUOTATION MARK
-	0x00d6: 0x00f7,	# DIVISION SIGN
-	0x00d7: 0x25ca,	# LOZENGE
-	0x00d8: 0x00ff,	# LATIN SMALL LETTER Y WITH DIAERESIS
-	0x00d9: 0x0178,	# LATIN CAPITAL LETTER Y WITH DIAERESIS
-	0x00da: 0x011e,	# LATIN CAPITAL LETTER G WITH BREVE
-	0x00db: 0x011f,	# LATIN SMALL LETTER G WITH BREVE
-	0x00dc: 0x0130,	# LATIN CAPITAL LETTER I WITH DOT ABOVE
-	0x00dd: 0x0131,	# LATIN SMALL LETTER DOTLESS I
-	0x00de: 0x015e,	# LATIN CAPITAL LETTER S WITH CEDILLA
-	0x00df: 0x015f,	# LATIN SMALL LETTER S WITH CEDILLA
-	0x00e0: 0x2021,	# DOUBLE DAGGER
-	0x00e1: 0x00b7,	# MIDDLE DOT
-	0x00e2: 0x201a,	# SINGLE LOW-9 QUOTATION MARK
-	0x00e3: 0x201e,	# DOUBLE LOW-9 QUOTATION MARK
-	0x00e4: 0x2030,	# PER MILLE SIGN
-	0x00e5: 0x00c2,	# LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-	0x00e6: 0x00ca,	# LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-	0x00e7: 0x00c1,	# LATIN CAPITAL LETTER A WITH ACUTE
-	0x00e8: 0x00cb,	# LATIN CAPITAL LETTER E WITH DIAERESIS
-	0x00e9: 0x00c8,	# LATIN CAPITAL LETTER E WITH GRAVE
-	0x00ea: 0x00cd,	# LATIN CAPITAL LETTER I WITH ACUTE
-	0x00eb: 0x00ce,	# LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-	0x00ec: 0x00cf,	# LATIN CAPITAL LETTER I WITH DIAERESIS
-	0x00ed: 0x00cc,	# LATIN CAPITAL LETTER I WITH GRAVE
-	0x00ee: 0x00d3,	# LATIN CAPITAL LETTER O WITH ACUTE
-	0x00ef: 0x00d4,	# LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-	0x00f0: None,	# UNDEFINED
-	0x00f1: 0x00d2,	# LATIN CAPITAL LETTER O WITH GRAVE
-	0x00f2: 0x00da,	# LATIN CAPITAL LETTER U WITH ACUTE
-	0x00f3: 0x00db,	# LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-	0x00f4: 0x00d9,	# LATIN CAPITAL LETTER U WITH GRAVE
-	0x00f5: None,	# UNDEFINED
-	0x00f6: 0x02c6,	# MODIFIER LETTER CIRCUMFLEX ACCENT
-	0x00f7: 0x02dc,	# SMALL TILDE
-	0x00f8: 0x00af,	# MACRON
-	0x00f9: 0x02d8,	# BREVE
-	0x00fa: 0x02d9,	# DOT ABOVE
-	0x00fb: 0x02da,	# RING ABOVE
-	0x00fc: 0x00b8,	# CEDILLA
-	0x00fd: 0x02dd,	# DOUBLE ACUTE ACCENT
-	0x00fe: 0x02db,	# OGONEK
-	0x00ff: 0x02c7,	# CARON
+        0x0080: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+        0x0081: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+        0x0082: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+        0x0083: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+        0x0084: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+        0x0085: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+        0x0086: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+        0x0087: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+        0x0088: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+        0x0089: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+        0x008a: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+        0x008b: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
+        0x008c: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+        0x008d: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+        0x008e: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+        0x008f: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+        0x0090: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+        0x0091: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+        0x0092: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+        0x0093: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+        0x0094: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+        0x0095: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+        0x0096: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+        0x0097: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+        0x0098: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+        0x0099: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+        0x009a: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+        0x009b: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+        0x009c: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+        0x009d: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+        0x009e: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+        0x009f: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+        0x00a0: 0x2020, # DAGGER
+        0x00a1: 0x00b0, # DEGREE SIGN
+        0x00a4: 0x00a7, # SECTION SIGN
+        0x00a5: 0x2022, # BULLET
+        0x00a6: 0x00b6, # PILCROW SIGN
+        0x00a7: 0x00df, # LATIN SMALL LETTER SHARP S
+        0x00a8: 0x00ae, # REGISTERED SIGN
+        0x00aa: 0x2122, # TRADE MARK SIGN
+        0x00ab: 0x00b4, # ACUTE ACCENT
+        0x00ac: 0x00a8, # DIAERESIS
+        0x00ad: 0x2260, # NOT EQUAL TO
+        0x00ae: 0x00c6, # LATIN CAPITAL LIGATURE AE
+        0x00af: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+        0x00b0: 0x221e, # INFINITY
+        0x00b2: 0x2264, # LESS-THAN OR EQUAL TO
+        0x00b3: 0x2265, # GREATER-THAN OR EQUAL TO
+        0x00b4: 0x00a5, # YEN SIGN
+        0x00b6: 0x2202, # PARTIAL DIFFERENTIAL
+        0x00b7: 0x2211, # N-ARY SUMMATION
+        0x00b8: 0x220f, # N-ARY PRODUCT
+        0x00b9: 0x03c0, # GREEK SMALL LETTER PI
+        0x00ba: 0x222b, # INTEGRAL
+        0x00bb: 0x00aa, # FEMININE ORDINAL INDICATOR
+        0x00bc: 0x00ba, # MASCULINE ORDINAL INDICATOR
+        0x00bd: 0x2126, # OHM SIGN
+        0x00be: 0x00e6, # LATIN SMALL LIGATURE AE
+        0x00bf: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+        0x00c0: 0x00bf, # INVERTED QUESTION MARK
+        0x00c1: 0x00a1, # INVERTED EXCLAMATION MARK
+        0x00c2: 0x00ac, # NOT SIGN
+        0x00c3: 0x221a, # SQUARE ROOT
+        0x00c4: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+        0x00c5: 0x2248, # ALMOST EQUAL TO
+        0x00c6: 0x2206, # INCREMENT
+        0x00c7: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00c8: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        0x00c9: 0x2026, # HORIZONTAL ELLIPSIS
+        0x00ca: 0x00a0, # NO-BREAK SPACE
+        0x00cb: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+        0x00cc: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
+        0x00cd: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+        0x00ce: 0x0152, # LATIN CAPITAL LIGATURE OE
+        0x00cf: 0x0153, # LATIN SMALL LIGATURE OE
+        0x00d0: 0x2013, # EN DASH
+        0x00d1: 0x2014, # EM DASH
+        0x00d2: 0x201c, # LEFT DOUBLE QUOTATION MARK
+        0x00d3: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+        0x00d4: 0x2018, # LEFT SINGLE QUOTATION MARK
+        0x00d5: 0x2019, # RIGHT SINGLE QUOTATION MARK
+        0x00d6: 0x00f7, # DIVISION SIGN
+        0x00d7: 0x25ca, # LOZENGE
+        0x00d8: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+        0x00d9: 0x0178, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+        0x00da: 0x011e, # LATIN CAPITAL LETTER G WITH BREVE
+        0x00db: 0x011f, # LATIN SMALL LETTER G WITH BREVE
+        0x00dc: 0x0130, # LATIN CAPITAL LETTER I WITH DOT ABOVE
+        0x00dd: 0x0131, # LATIN SMALL LETTER DOTLESS I
+        0x00de: 0x015e, # LATIN CAPITAL LETTER S WITH CEDILLA
+        0x00df: 0x015f, # LATIN SMALL LETTER S WITH CEDILLA
+        0x00e0: 0x2021, # DOUBLE DAGGER
+        0x00e1: 0x00b7, # MIDDLE DOT
+        0x00e2: 0x201a, # SINGLE LOW-9 QUOTATION MARK
+        0x00e3: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+        0x00e4: 0x2030, # PER MILLE SIGN
+        0x00e5: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+        0x00e6: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+        0x00e7: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+        0x00e8: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+        0x00e9: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+        0x00ea: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+        0x00eb: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+        0x00ec: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
+        0x00ed: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
+        0x00ee: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+        0x00ef: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+        0x00f0: None,   # UNDEFINED
+        0x00f1: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
+        0x00f2: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+        0x00f3: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+        0x00f4: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+        0x00f5: None,   # UNDEFINED
+        0x00f6: 0x02c6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+        0x00f7: 0x02dc, # SMALL TILDE
+        0x00f8: 0x00af, # MACRON
+        0x00f9: 0x02d8, # BREVE
+        0x00fa: 0x02d9, # DOT ABOVE
+        0x00fb: 0x02da, # RING ABOVE
+        0x00fc: 0x00b8, # CEDILLA
+        0x00fd: 0x02dd, # DOUBLE ACUTE ACCENT
+        0x00fe: 0x02db, # OGONEK
+        0x00ff: 0x02c7, # CARON
 })
 
 ### Encoding Map
diff --git a/Lib/encodings/mbcs.py b/Lib/encodings/mbcs.py
index 5103980..c79f47c 100644
--- a/Lib/encodings/mbcs.py
+++ b/Lib/encodings/mbcs.py
@@ -20,7 +20,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/palmos.py b/Lib/encodings/palmos.py
index 735d738..c0f0606 100644
--- a/Lib/encodings/palmos.py
+++ b/Lib/encodings/palmos.py
@@ -11,13 +11,13 @@
 class Codec(codecs.Codec):
     def encode(self,input,errors='strict'):
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/raw_unicode_escape.py b/Lib/encodings/raw_unicode_escape.py
index e142846..a2f3fff 100644
--- a/Lib/encodings/raw_unicode_escape.py
+++ b/Lib/encodings/raw_unicode_escape.py
@@ -19,7 +19,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/rot_13.py b/Lib/encodings/rot_13.py
index 532ff64..d5c91da 100644
--- a/Lib/encodings/rot_13.py
+++ b/Lib/encodings/rot_13.py
@@ -16,14 +16,14 @@
     def encode(self,input,errors='strict'):
 
         return codecs.charmap_encode(input,errors,encoding_map)
-        
+
     def decode(self,input,errors='strict'):
 
         return codecs.charmap_decode(input,errors,decoding_map)
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/undefined.py b/Lib/encodings/undefined.py
index 7de993c..d2277ac 100644
--- a/Lib/encodings/undefined.py
+++ b/Lib/encodings/undefined.py
@@ -23,7 +23,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/unicode_escape.py b/Lib/encodings/unicode_escape.py
index 841651b..8fb6293 100644
--- a/Lib/encodings/unicode_escape.py
+++ b/Lib/encodings/unicode_escape.py
@@ -19,7 +19,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/unicode_internal.py b/Lib/encodings/unicode_internal.py
index 4a0f4c1..3bd2fa0 100644
--- a/Lib/encodings/unicode_internal.py
+++ b/Lib/encodings/unicode_internal.py
@@ -19,7 +19,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/utf_16.py b/Lib/encodings/utf_16.py
index 2c2638f..8c79c79 100644
--- a/Lib/encodings/utf_16.py
+++ b/Lib/encodings/utf_16.py
@@ -31,7 +31,7 @@
             else:
                 self.encode = codecs.utf_16_be_encode
         return result
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     def __init__(self, stream, errors='strict'):
         self.bom_read = 0
@@ -61,4 +61,3 @@
 def getregentry():
 
     return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
-
diff --git a/Lib/encodings/utf_16_be.py b/Lib/encodings/utf_16_be.py
index 63ac608..dad540b 100644
--- a/Lib/encodings/utf_16_be.py
+++ b/Lib/encodings/utf_16_be.py
@@ -19,7 +19,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
 
     def readline(self, size=None):
@@ -30,4 +30,3 @@
 def getregentry():
 
     return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
-
diff --git a/Lib/encodings/utf_16_le.py b/Lib/encodings/utf_16_le.py
index aa9d6f5..8120d5b 100644
--- a/Lib/encodings/utf_16_le.py
+++ b/Lib/encodings/utf_16_le.py
@@ -19,7 +19,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
 
     def readline(self, size=None):
@@ -30,4 +30,3 @@
 def getregentry():
 
     return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
-
diff --git a/Lib/encodings/utf_7.py b/Lib/encodings/utf_7.py
index 441a7f7..ee78d09 100644
--- a/Lib/encodings/utf_7.py
+++ b/Lib/encodings/utf_7.py
@@ -15,7 +15,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -24,4 +24,3 @@
 def getregentry():
 
     return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
-
diff --git a/Lib/encodings/utf_8.py b/Lib/encodings/utf_8.py
index a745f5b..89249a9 100644
--- a/Lib/encodings/utf_8.py
+++ b/Lib/encodings/utf_8.py
@@ -19,7 +19,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
@@ -28,4 +28,3 @@
 def getregentry():
 
     return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
-
diff --git a/Lib/encodings/uu_codec.py b/Lib/encodings/uu_codec.py
index 6ef8369..a70ff9e 100644
--- a/Lib/encodings/uu_codec.py
+++ b/Lib/encodings/uu_codec.py
@@ -37,7 +37,7 @@
         write(b2a_uu(chunk))
         chunk = read(45)
     write(' \nend\n')
-    
+
     return (outfile.getvalue(), len(input))
 
 def uu_decode(input,errors='strict'):
@@ -98,10 +98,10 @@
         return uu_encode(input,errors)
     def decode(self,input,errors='strict'):
         return uu_decode(input,errors)
-    
+
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/encodings/zlib_codec.py b/Lib/encodings/zlib_codec.py
index d9f7d04..9b6e4d1 100644
--- a/Lib/encodings/zlib_codec.py
+++ b/Lib/encodings/zlib_codec.py
@@ -52,7 +52,7 @@
 
 class StreamWriter(Codec,codecs.StreamWriter):
     pass
-        
+
 class StreamReader(Codec,codecs.StreamReader):
     pass
 
diff --git a/Lib/heapq.py b/Lib/heapq.py
index 4970437..698e6fe 100644
--- a/Lib/heapq.py
+++ b/Lib/heapq.py
@@ -231,7 +231,7 @@
         # Set childpos to index of smaller child.
         rightpos = childpos + 1
         if rightpos < endpos and heap[rightpos] <= heap[childpos]:
-                childpos = rightpos
+            childpos = rightpos
         # Move the smaller child up.
         heap[pos] = heap[childpos]
         pos = childpos
diff --git a/Lib/httplib.py b/Lib/httplib.py
index ef131d3..e58a30a 100644
--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@@ -560,7 +560,7 @@
 
     def _output(self, s):
         """Add a line of output to the current request buffer.
-        
+
         Assumes that the line does *not* end with \\r\\n.
         """
         self._buffer.append(s)
diff --git a/Lib/smtplib.py b/Lib/smtplib.py
index 3699178..a6f113c 100755
--- a/Lib/smtplib.py
+++ b/Lib/smtplib.py
@@ -530,7 +530,7 @@
 
         def encode_plain(user, password):
             return encode_base64("%s\0%s\0%s" % (user, user, password), eol="")
- 
+
 
         AUTH_PLAIN = "PLAIN"
         AUTH_CRAM_MD5 = "CRAM-MD5"
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index 836836b1..c8feb19 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -314,4 +314,3 @@
     vereq('asdf' in 'asdf', True)
     vereq('asdf' in 'asd', False)
     vereq('asdf' in '', False)
-
diff --git a/Lib/test/test_format.py b/Lib/test/test_format.py
index 3013a08..be120fb 100644
--- a/Lib/test/test_format.py
+++ b/Lib/test/test_format.py
@@ -221,4 +221,3 @@
 
 test_exc('%d', '1', TypeError, "int argument required")
 test_exc('%g', '1', TypeError, "float argument required")
-
diff --git a/Lib/test/test_slice.py b/Lib/test/test_slice.py
index a837abe..7b3ee06 100644
--- a/Lib/test/test_slice.py
+++ b/Lib/test/test_slice.py
@@ -11,4 +11,3 @@
 vereq(slice(-100,  100     ).indices(10), slice(None).indices(10))
 vereq(slice(100,  -100,  -1).indices(10), slice(None, None, -1).indices(10))
 vereq(slice(-100L, 100L, 2L).indices(10), (0, 10,  2))
-
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 98d9e78..69113fd 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -571,7 +571,7 @@
 class UnbufferedFileObjectClassTestCase(FileObjectClassTestCase):
 
     """Repeat the tests from FileObjectClassTestCase with bufsize==0.
-    
+
     In this case (and in this case only), it should be possible to
     create a file object, read a line from it, create another file
     object, read another line from it, without loss of data in the
diff --git a/Lib/test/test_strptime.py b/Lib/test/test_strptime.py
index 2e8e35e..bd84021 100644
--- a/Lib/test/test_strptime.py
+++ b/Lib/test/test_strptime.py
@@ -20,7 +20,7 @@
         self.LT_ins = _strptime.LocaleTime()
 
     def compare_against_time(self, testing, directive, tuple_position, error_msg):
-        """Helper method that tests testing against directive based on the 
+        """Helper method that tests testing against directive based on the
         tuple_position of time_tuple.  Uses error_msg as error message.
 
         """
@@ -28,17 +28,17 @@
         comparison = testing[self.time_tuple[tuple_position]]
         self.failUnless(strftime_output in testing, "%s: not found in tuple" % error_msg)
         self.failUnless(comparison == strftime_output, "%s: position within tuple incorrect; %s != %s" % (error_msg, comparison, strftime_output))
-    
+
     def test_weekday(self):
-        """Make sure that full and abbreviated weekday names are correct in 
+        """Make sure that full and abbreviated weekday names are correct in
         both string and position with tuple.
-        
+
         """
         self.compare_against_time(self.LT_ins.f_weekday, '%A', 6, "Testing of full weekday name failed")
         self.compare_against_time(self.LT_ins.a_weekday, '%a', 6, "Testing of abbreviated weekday name failed")
 
     def test_month(self):
-        """Test full and abbreviated month names; both string and position 
+        """Test full and abbreviated month names; both string and position
         within the tuple.
 
         """
@@ -125,9 +125,9 @@
         self.failUnless(found and found.group('A') == self.locale_time.f_weekday[6], "re object for '%A' failed")
         compiled = self.time_re.compile(r"%a %b")
         found = compiled.match("%s %s" % (self.locale_time.a_weekday[4], self.locale_time.a_month[4]))
-        self.failUnless(found, 
+        self.failUnless(found,
             "Match failed with '%s' regex and '%s' string" % (compiled.pattern, "%s %s" % (self.locale_time.a_weekday[4], self.locale_time.a_month[4])))
-        self.failUnless(found.group('a') == self.locale_time.a_weekday[4] and found.group('b') == self.locale_time.a_month[4], 
+        self.failUnless(found.group('a') == self.locale_time.a_weekday[4] and found.group('b') == self.locale_time.a_month[4],
             "re object couldn't find the abbreviated weekday month in '%s' using '%s'; group 'a' = '%s', group 'b' = %s'" % (found.string, found.re.pattern, found.group('a'), found.group('b')))
         for directive in ('a','A','b','B','c','d','H','I','j','m','M','p','S','U','w','W','x','X','y','Y','Z','%'):
             compiled = self.time_re.compile("%%%s"% directive)
@@ -199,9 +199,9 @@
 
     def test_timezone(self):
         """Test timezone directives.
-        
+
         When gmtime() is used with %Z, entire result of strftime() is empty.
-        
+
         """
         time_tuple = time.localtime()
         strf_output = time.strftime("%Z")  #UTC does not have a timezone
@@ -246,7 +246,7 @@
         strf_output = time.strftime("%Y-%m-%d", self.time_tuple)
         strp_output = _strptime.strptime(strf_output, "%Y-%m-%d")
         self.failUnless(strp_output[7] == self.time_tuple[7], "strptime did not trigger julianday(); %s != %s" % (strp_output[7], self.time_tuple[7]))
-        
+
     def test_gregorian_result(self):
         """Test gregorian."""
         result = _strptime.gregorian(self.time_tuple[7], self.time_tuple[0])
diff --git a/Lib/test/test_whichdb.py b/Lib/test/test_whichdb.py
index 8f63862..21f1588 100644
--- a/Lib/test/test_whichdb.py
+++ b/Lib/test/test_whichdb.py
@@ -41,7 +41,7 @@
         mod = __import__(name)
     except ImportError:
         continue
-    
+
     def test_whichdb_name(self,name=name,mod=mod):
         """Check whether whichdb correctly guesses module name
         for databases opened with module mod.
@@ -60,4 +60,3 @@
 
 if __name__ == "__main__":
     test_main()
-