Update of /cvsroot/wpdev/xmlscripts/python-lib/encodings
In directory sc8-pr-cvs1:/tmp/cvs-serv5168/encodings
Modified Files:
__init__.py aliases.py ascii.py base64_codec.py charmap.py
cp037.py cp1006.py cp1026.py cp1140.py cp1250.py cp1251.py
cp1252.py cp1253.py cp1254.py cp1255.py cp1256.py cp1257.py
cp1258.py cp424.py cp437.py cp500.py cp737.py cp775.py
cp850.py cp852.py cp855.py cp856.py cp857.py cp860.py cp861.py
cp862.py cp863.py cp864.py cp865.py cp866.py cp869.py cp874.py
cp875.py hex_codec.py iso8859_1.py iso8859_10.py iso8859_13.py
iso8859_14.py iso8859_15.py iso8859_2.py iso8859_3.py
iso8859_4.py iso8859_5.py iso8859_6.py iso8859_7.py
iso8859_8.py iso8859_9.py koi8_r.py latin_1.py mac_cyrillic.py
mac_greek.py mac_iceland.py mac_latin2.py mac_roman.py
mac_turkish.py mbcs.py raw_unicode_escape.py rot_13.py
undefined.py unicode_escape.py unicode_internal.py utf_16.py
utf_16_be.py utf_16_le.py utf_7.py utf_8.py uu_codec.py
zlib_codec.py
Log Message:
Updated to Python 2.3.2
Index: __init__.py
===================================================================
RCS file: /cvsroot/wpdev/xmlscripts/python-lib/encodings/__init__.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** __init__.py 21 Dec 2002 14:52:55 -0000 1.2
--- __init__.py 10 Nov 2003 12:44:16 -0000 1.3
***************
*** 4,10 ****
directory.
! Codec modules must have names corresponding to standard lower-case
! encoding names with hyphens mapped to underscores, e.g. 'utf-8' is
! implemented by the module 'utf_8.py'.
Each codec module must export the following interface:
--- 4,10 ----
directory.
! Codec modules must have names corresponding to normalized encoding
! names as defined in the normalize_encoding() function below, e.g.
! 'utf-8' must be implemented by the module 'utf_8.py'.
Each codec module must export the following interface:
***************
*** 19,25 ****
* getaliases() -> sequence of encoding name strings to use as aliases
! Alias names returned by getaliases() must be standard encoding
! names as defined above (lower-case, hyphens converted to
! underscores).
Written by Marc-Andre Lemburg (ma...@le...).
--- 19,24 ----
* getaliases() -> sequence of encoding name strings to use as aliases
! Alias names returned by getaliases() must be normalized encoding
! names as defined by normalize_encoding().
Written by Marc-Andre Lemburg (ma...@le...).
***************
*** 29,36 ****
"""#"
! import codecs,aliases,exceptions
_cache = {}
_unknown = '--unknown--'
class CodecRegistryError(exceptions.LookupError,
--- 28,42 ----
"""#"
! import codecs, exceptions, types
_cache = {}
_unknown = '--unknown--'
+ _import_tail = ['*']
+ _norm_encoding_map = (' . '
+ '0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ '
+ ' abcdefghijklmnopqrstuvwxyz '
+ ' '
+ ' '
+ ' ')
class CodecRegistryError(exceptions.LookupError,
***************
*** 38,57 ****
pass
def search_function(encoding):
!
# Cache lookup
! entry = _cache.get(encoding,_unknown)
if entry is not _unknown:
return entry
! # Import the module
! modname = encoding.replace('-', '_')
! modname = aliases.aliases.get(modname,modname)
try:
! mod = __import__(modname,globals(),locals(),'*')
! except ImportError,why:
! # cache misses
! _cache[encoding] = None
! return None
try:
--- 44,95 ----
pass
+ def normalize_encoding(encoding):
+
+ """ Normalize an encoding name.
+
+ Normalization works as follows: all non-alphanumeric
+ characters except the dot used for Python package names are
+ collapsed and replaced with a single underscore, e.g. ' -;#'
+ becomes '_'. Leading and trailing underscores are removed.
+
+ Note that encoding names should be ASCII only; if they do use
+ non-ASCII characters, these must be Latin-1 compatible.
+
+ """
+ # Make sure we have an 8-bit string, because .translate() works
+ # differently for Unicode strings.
+ if type(encoding) is types.UnicodeType:
+ # Note that .encode('latin-1') does *not* use the codec
+ # registry, so this call doesn't recurse. (See unicodeobject.c
+ # PyUnicode_AsEncodedString() for details)
+ encoding = encoding.encode('latin-1')
+ return '_'.join(encoding.translate(_norm_encoding_map).split())
+
def search_function(encoding):
!
# Cache lookup
! entry = _cache.get(encoding, _unknown)
if entry is not _unknown:
return entry
! # Import the module:
! #
! # First look in the encodings package, then try to lookup the
! # encoding in the aliases mapping and retry the import using the
! # default import module lookup scheme with the alias name.
! #
! modname = normalize_encoding(encoding)
try:
! mod = __import__('encodings.' + modname,
! globals(), locals(), _import_tail)
! except ImportError:
! import aliases
! modname = (aliases.aliases.get(modname) or
! aliases.aliases.get(modname.replace('.', '_')) or
! modname)
! try:
! mod = __import__(modname, globals(), locals(), _import_tail)
! except ImportError:
! mod = None
try:
***************
*** 59,70 ****
except AttributeError:
# Not a codec module
_cache[encoding] = None
return None
!
# Now ask the module for the registry entry
! try:
! entry = tuple(getregentry())
! except AttributeError:
! entry = ()
if len(entry) != 4:
raise CodecRegistryError,\
--- 97,109 ----
except AttributeError:
# Not a codec module
+ mod = None
+
+ if mod is None:
+ # Cache misses
_cache[encoding] = None
return None
!
# Now ask the module for the registry entry
! entry = tuple(getregentry())
if len(entry) != 4:
raise CodecRegistryError,\
***************
*** 87,90 ****
--- 126,130 ----
pass
else:
+ import aliases
for alias in codecaliases:
if not aliases.aliases.has_key(alias):
Index: aliases.py
===================================================================
RCS file: /cvsroot/wpdev/xmlscripts/python-lib/encodings/aliases.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** aliases.py 21 Dec 2002 14:52:55 -0000 1.2
--- aliases.py 10 Nov 2003 12:44:16 -0000 1.3
***************
*** 4,115 ****
map encodings names to module names.
! Note that the search function converts the encoding names to lower
! case and replaces hyphens with underscores *before* performing the
! lookup.
"""
aliases = {
! # Latin-1
! 'latin': 'latin_1',
! 'latin1': 'latin_1',
!
! # UTF-7
! 'utf7': 'utf_7',
! 'u7': 'utf_7',
!
! # UTF-8
! 'utf': 'utf_8',
! 'utf8': 'utf_8',
! 'u8': 'utf_8',
! 'utf8@ucs2': 'utf_8',
! 'utf8@ucs4': 'utf_8',
!
! # UTF-16
! 'utf16': 'utf_16',
! 'u16': 'utf_16',
! 'utf_16be': 'utf_16_be',
! 'utf_16le': 'utf_16_le',
! 'unicodebigunmarked': 'utf_16_be',
! 'unicodelittleunmarked': 'utf_16_le',
! # ASCII
! 'us_ascii': 'ascii',
! 'ansi_x3.4_1968': 'ascii', # used on Linux
! 'ansi_x3_4_1968': 'ascii', # used on BSD?
! '646': 'ascii', # used on Solaris
! # EBCDIC
! 'ebcdic_cp_us': 'cp037',
! 'ibm039': 'cp037',
! 'ibm1140': 'cp1140',
!
! # ISO
! '8859': 'latin_1',
! 'iso8859': 'latin_1',
! 'iso8859_1': 'latin_1',
! 'iso_8859_1': 'latin_1',
! 'iso_8859_10': 'iso8859_10',
! 'iso_8859_13': 'iso8859_13',
! 'iso_8859_14': 'iso8859_14',
! 'iso_8859_15': 'iso8859_15',
! 'iso_8859_2': 'iso8859_2',
! 'iso_8859_3': 'iso8859_3',
! 'iso_8859_4': 'iso8859_4',
! 'iso_8859_5': 'iso8859_5',
! 'iso_8859_6': 'iso8859_6',
! 'iso_8859_7': 'iso8859_7',
! 'iso_8859_8': 'iso8859_8',
! 'iso_8859_9': 'iso8859_9',
! # Mac
! 'maclatin2': 'mac_latin2',
! 'maccentraleurope': 'mac_latin2',
! 'maccyrillic': 'mac_cyrillic',
! 'macgreek': 'mac_greek',
! 'maciceland': 'mac_iceland',
! 'macroman': 'mac_roman',
! 'macturkish': 'mac_turkish',
! # Windows
! 'windows_1251': 'cp1251',
! 'windows_1252': 'cp1252',
! 'windows_1254': 'cp1254',
! 'windows_1255': 'cp1255',
! 'windows_1256': 'cp1256',
! 'windows_1257': 'cp1257',
! 'windows_1258': 'cp1258',
! # MBCS
! 'dbcs': 'mbcs',
! # Code pages
! '437': 'cp437',
! # CJK
! #
! # The codecs for these encodings are not distributed with the
! # Python core, but are included here for reference, since the
! # locale module relies on having these aliases available.
! #
! 'jis_7': 'jis_7',
! 'iso_2022_jp': 'jis_7',
! 'ujis': 'euc_jp',
! 'ajec': 'euc_jp',
! 'eucjp': 'euc_jp',
! 'tis260': 'tactis',
! 'sjis': 'shift_jis',
! # Content transfer/compression encodings
! 'rot13': 'rot_13',
! 'base64': 'base64_codec',
! 'base_64': 'base64_codec',
! 'zlib': 'zlib_codec',
! 'zip': 'zlib_codec',
! 'hex': 'hex_codec',
! 'uu': 'uu_codec',
! 'quopri': 'quopri_codec',
! 'quotedprintable': 'quopri_codec',
! 'quoted_printable': 'quopri_codec',
}
--- 4,341 ----
map encodings names to module names.
! Note that the search function normalizes the encoding names before
! doing the lookup, so the mapping will have to map normalized
! encoding names to module names.
!
! Contents:
!
! The following aliases dictionary contains mappings of all IANA
! character set names for which the Python core library provides
! codecs. In addition to these, a few Python specific codec
! aliases have also been added.
!
! About the CJK codec aliases:
!
! The codecs for these encodings are not distributed with the
! Python core, but are included here for reference, since the
! locale module relies on having these aliases available.
"""
aliases = {
! # ascii codec
! '646' : 'ascii',
! 'ansi_x3.4_1968' : 'ascii',
! 'ansi_x3_4_1968' : 'ascii', # some email headers use this non-standard name
! 'ansi_x3.4_1986' : 'ascii',
! 'cp367' : 'ascii',
! 'csascii' : 'ascii',
! 'ibm367' : 'ascii',
! 'iso646_us' : 'ascii',
! 'iso_646.irv_1991' : 'ascii',
! 'iso_ir_6' : 'ascii',
! 'us' : 'ascii',
! 'us_ascii' : 'ascii',
! # base64_codec codec
! 'base64' : 'base64_codec',
! 'base_64' : 'base64_codec',
! # cp037 codec
! 'csibm037' : 'cp037',
! 'ebcdic_cp_ca' : 'cp037',
! 'ebcdic_cp_nl' : 'cp037',
! 'ebcdic_cp_us' : 'cp037',
! 'ebcdic_cp_wt' : 'cp037',
! 'ibm037' : 'cp037',
! 'ibm039' : 'cp037',
! # cp1026 codec
! 'csibm1026' : 'cp1026',
! 'ibm1026' : 'cp1026',
! # cp1140 codec
! 'ibm1140' : 'cp1140',
! # cp1250 codec
! 'windows_1250' : 'cp1250',
! # cp1251 codec
! 'windows_1251' : 'cp1251',
! # cp1252 codec
! 'windows_1252' : 'cp1252',
! # cp1253 codec
! 'windows_1253' : 'cp1253',
!
! # cp1254 codec
! 'windows_1254' : 'cp1254',
!
! # cp1255 codec
! 'windows_1255' : 'cp1255',
!
! # cp1256 codec
! 'windows_1256' : 'cp1256',
!
! # cp1257 codec
! 'windows_1257' : 'cp1257',
!
! # cp1258 codec
! 'windows_1258' : 'cp1258',
!
! # cp424 codec
! 'csibm424' : 'cp424',
! 'ebcdic_cp_he' : 'cp424',
! 'ibm424' : 'cp424',
!
! # cp437 codec
! '437' : 'cp437',
! 'cspc8codepage437' : 'cp437',
! 'ibm437' : 'cp437',
!
! # cp500 codec
! 'csibm500' : 'cp500',
! 'ebcdic_cp_be' : 'cp500',
! 'ebcdic_cp_ch' : 'cp500',
! 'ibm500' : 'cp500',
!
! # cp775 codec
! 'cspc775baltic' : 'cp775',
! 'ibm775' : 'cp775',
!
! # cp850 codec
! '850' : 'cp850',
! 'cspc850multilingual' : 'cp850',
! 'ibm850' : 'cp850',
!
! # cp852 codec
! '852' : 'cp852',
! 'cspcp852' : 'cp852',
! 'ibm852' : 'cp852',
!
! # cp855 codec
! '855' : 'cp855',
! 'csibm855' : 'cp855',
! 'ibm855' : 'cp855',
!
! # cp857 codec
! '857' : 'cp857',
! 'csibm857' : 'cp857',
! 'ibm857' : 'cp857',
!
! # cp860 codec
! '860' : 'cp860',
! 'csibm860' : 'cp860',
! 'ibm860' : 'cp860',
!
! # cp861 codec
! '861' : 'cp861',
! 'cp_is' : 'cp861',
! 'csibm861' : 'cp861',
! 'ibm861' : 'cp861',
!
! # cp862 codec
! '862' : 'cp862',
! 'cspc862latinhebrew' : 'cp862',
! 'ibm862' : 'cp862',
!
! # cp863 codec
! '863' : 'cp863',
! 'csibm863' : 'cp863',
! 'ibm863' : 'cp863',
!
! # cp864 codec
! 'csibm864' : 'cp864',
! 'ibm864' : 'cp864',
!
! # cp865 codec
! '865' : 'cp865',
! 'csibm865' : 'cp865',
! 'ibm865' : 'cp865',
!
! # cp866 codec
! '866' : 'cp866',
! 'csibm866' : 'cp866',
! 'ibm866' : 'cp866',
!
! # cp869 codec
! '869' : 'cp869',
! 'cp_gr' : 'cp869',
! 'csibm869' : 'cp869',
! 'ibm869' : 'cp869',
!
! # hex_codec codec
! 'hex' : 'hex_codec',
!
! # iso8859_10 codec
! 'csisolatin6' : 'iso8859_10',
! 'iso_8859_10' : 'iso8859_10',
! 'iso_8859_10_1992' : 'iso8859_10',
! 'iso_ir_157' : 'iso8859_10',
! 'l6' : 'iso8859_10',
! 'latin6' : 'iso8859_10',
!
! # iso8859_13 codec
! 'iso_8859_13' : 'iso8859_13',
!
! # iso8859_14 codec
! 'iso_8859_14' : 'iso8859_14',
! 'iso_8859_14_1998' : 'iso8859_14',
! 'iso_celtic' : 'iso8859_14',
! 'iso_ir_199' : 'iso8859_14',
! 'l8' : 'iso8859_14',
! 'latin8' : 'iso8859_14',
!
! # iso8859_15 codec
! 'iso_8859_15' : 'iso8859_15',
!
! # iso8859_2 codec
! 'csisolatin2' : 'iso8859_2',
! 'iso_8859_2' : 'iso8859_2',
! 'iso_8859_2_1987' : 'iso8859_2',
! 'iso_ir_101' : 'iso8859_2',
! 'l2' : 'iso8859_2',
! 'latin2' : 'iso8859_2',
!
! # iso8859_3 codec
! 'csisolatin3' : 'iso8859_3',
! 'iso_8859_3' : 'iso8859_3',
! 'iso_8859_3_1988' : 'iso8859_3',
! 'iso_ir_109' : 'iso8859_3',
! 'l3' : 'iso8859_3',
! 'latin3' : 'iso8859_3',
!
! # iso8859_4 codec
! 'csisolatin4' : 'iso8859_4',
! 'iso_8859_4' : 'iso8859_4',
! 'iso_8859_4_1988' : 'iso8859_4',
! 'iso_ir_110' : 'iso8859_4',
! 'l4' : 'iso8859_4',
! 'latin4' : 'iso8859_4',
!
! # iso8859_5 codec
! 'csisolatincyrillic' : 'iso8859_5',
! 'cyrillic' : 'iso8859_5',
! 'iso_8859_5' : 'iso8859_5',
! 'iso_8859_5_1988' : 'iso8859_5',
! 'iso_ir_144' : 'iso8859_5',
!
! # iso8859_6 codec
! 'arabic' : 'iso8859_6',
! 'asmo_708' : 'iso8859_6',
! 'csisolatinarabic' : 'iso8859_6',
! 'ecma_114' : 'iso8859_6',
! 'iso_8859_6' : 'iso8859_6',
! 'iso_8859_6_1987' : 'iso8859_6',
! 'iso_ir_127' : 'iso8859_6',
!
! # iso8859_7 codec
! 'csisolatingreek' : 'iso8859_7',
! 'ecma_118' : 'iso8859_7',
! 'elot_928' : 'iso8859_7',
! 'greek' : 'iso8859_7',
! 'greek8' : 'iso8859_7',
! 'iso_8859_7' : 'iso8859_7',
! 'iso_8859_7_1987' : 'iso8859_7',
! 'iso_ir_126' : 'iso8859_7',
!
! # iso8859_8 codec
! 'csisolatinhebrew' : 'iso8859_8',
! 'hebrew' : 'iso8859_8',
! 'iso_8859_8' : 'iso8859_8',
! 'iso_8859_8_1988' : 'iso8859_8',
! 'iso_ir_138' : 'iso8859_8',
!
! # iso8859_9 codec
! 'csisolatin5' : 'iso8859_9',
! 'iso_8859_9' : 'iso8859_9',
! 'iso_8859_9_1989' : 'iso8859_9',
! 'iso_ir_148' : 'iso8859_9',
! 'l5' : 'iso8859_9',
! 'latin5' : 'iso8859_9',
!
! # jis_7 codec
! 'csiso2022jp' : 'jis_7',
! 'iso_2022_jp' : 'jis_7',
!
! # koi8_r codec
! 'cskoi8r' : 'koi8_r',
!
! # latin_1 codec
! '8859' : 'latin_1',
! 'cp819' : 'latin_1',
! 'csisolatin1' : 'latin_1',
! 'ibm819' : 'latin_1',
! 'iso8859' : 'latin_1',
! 'iso_8859_1' : 'latin_1',
! 'iso_8859_1_1987' : 'latin_1',
! 'iso_ir_100' : 'latin_1',
! 'l1' : 'latin_1',
! 'latin' : 'latin_1',
! 'latin1' : 'latin_1',
!
! # mac_cyrillic codec
! 'maccyrillic' : 'mac_cyrillic',
!
! # mac_greek codec
! 'macgreek' : 'mac_greek',
!
! # mac_iceland codec
! 'maciceland' : 'mac_iceland',
!
! # mac_latin2 codec
! 'maccentraleurope' : 'mac_latin2',
! 'maclatin2' : 'mac_latin2',
!
! # mac_roman codec
! 'macroman' : 'mac_roman',
!
! # mac_turkish codec
! 'macturkish' : 'mac_turkish',
!
! # mbcs codec
! 'dbcs' : 'mbcs',
!
! # quopri_codec codec
! 'quopri' : 'quopri_codec',
! 'quoted_printable' : 'quopri_codec',
! 'quotedprintable' : 'quopri_codec',
!
! # rot_13 codec
! 'rot13' : 'rot_13',
!
! # tactis codec
! 'tis260' : 'tactis',
!
! # utf_16 codec
! 'u16' : 'utf_16',
! 'utf16' : 'utf_16',
!
! # utf_16_be codec
! 'unicodebigunmarked' : 'utf_16_be',
! 'utf_16be' : 'utf_16_be',
!
! # utf_16_le codec
! 'unicodelittleunmarked' : 'utf_16_le',
! 'utf_16le' : 'utf_16_le',
!
! # utf_7 codec
! 'u7' : 'utf_7',
! 'utf7' : 'utf_7',
!
! # utf_8 codec
! 'u8' : 'utf_8',
! 'utf' : 'utf_8',
! 'utf8' : 'utf_8',
! 'utf8_ucs2' : 'utf_8',
! 'utf8_ucs4' : 'utf_8',
!
! # uu_codec codec
! 'uu' : 'uu_codec',
!
! # zlib_codec codec
! 'zip' : 'zlib_codec',
! 'zlib' : 'zlib_codec',
}
Index: ascii.py
===================================================================
RCS file: /cvsroot/wpdev/xmlscripts/python-lib/encodings/ascii.py,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** ascii.py 1 Jul 2002 01:57:21 -0000 1.1.1.1
--- ascii.py 10 Nov 2003 12:44:16 -0000 1.2
***************
*** 20,24 ****
class StreamWriter(Codec,codecs.StreamWriter):
pass
!
class StreamReader(Codec,codecs.StreamReader):
pass
--- 20,24 ----
class StreamWriter(Codec,codecs.StreamWriter):
pass
!
class StreamReader(Codec,codecs.StreamReader):
pass
Index: base64_codec.py
===================================================================
RCS file: /cvsroot/wpdev/xmlscripts/python-lib/encodings/base64_codec.py,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** base64_codec.py 1 Jul 2002 01:57:21 -0000 1.1.1.1
--- base64_codec.py 10 Nov 2003 12:44:16 -0000 1.2
***************
*** 52,56 ****
class StreamWriter(Codec,codecs.StreamWriter):
pass
!
class StreamReader(Codec,codecs.StreamReader):
pass
--- 52,56 ----
class StreamWriter(Codec,codecs.StreamWriter):
pass
!
class StreamReader(Codec,codecs.StreamReader):
pass
Index: charmap.py
===================================================================
RCS file: /cvsroot/wpdev/xmlscripts/python-lib/encodings/charmap.py,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** charmap.py 1 Jul 2002 01:57:21 -0000 1.1.1.1
--- charmap.py 10 Nov 2003 12:44:16 -0000 1.2
***************
*** 3,7 ****
Use this codec directly rather than through the automatic
conversion mechanisms supplied by unicode() and .encode().
!
Written by Marc-Andre Lemburg (ma...@le...).
--- 3,7 ----
Use this codec directly rather than through the automatic
conversion mechanisms supplied by unicode() and .encode().
!
Written by Marc-Andre Lemburg (ma...@le...).
***************
*** 32,36 ****
return Codec.encode(input,errors,self.mapping)
!
class StreamReader(Codec,codecs.StreamReader):
--- 32,36 ----
return Codec.encode(input,errors,self.mapping)
!
class StreamReader(Codec,codecs.StreamReader):
***************
*** 49,51 ****
return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
-
--- 49,50 ----
Index: cp037.py
===================================================================
RCS file: /cvsroot/wpdev/xmlscripts/python-lib/encodings/cp037.py,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** cp037.py 1 Jul 2002 01:57:22 -0000 1.1.1.1
--- cp037.py 10 Nov 2003 12:44:16 -0000 1.2
***************
*** 17,21 ****
return codecs.charmap_encode(input,errors,encoding_map)
!
def decode(self,input,errors='strict'):
--- 17,21 ----
return codecs.charmap_encode(input,errors,encoding_map)
!
def decode(self,input,errors='strict'):
***************
*** 24,28 ****
class StreamWriter(Codec,codecs.StreamWriter):
pass
!
class StreamReader(Codec,codecs.StreamReader):
pass
--- 24,28 ----
class StreamWriter(Codec,codecs.StreamWriter):
pass
!
class StreamReader(Codec,codecs.StreamReader):
pass
***************
*** 38,277 ****
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
})
--- 38,277 ----
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
})
Index: cp1006.py
===================================================================
RCS file: /cvsroot/wpdev/xmlscripts/python-lib/encodings/cp1006.py,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** cp1006.py 1 Jul 2002 01:57:22 -0000 1.1.1.1
--- cp1006.py 10 Nov 2003 12:44:16 -0000 1.2
***************
*** 17,21 ****
return codecs.charmap_encode(input,errors,encoding_map)
!
def decode(self,input,errors='strict'):
--- 17,21 ----
return codecs.charmap_encode(input,errors,encoding_map)
!
def decode(self,input,errors='strict'):
***************
*** 24,28 ****
class StreamWriter(Codec,codecs.StreamWriter):
pass
!
class StreamReader(Codec,codecs.StreamReader):
pass
--- 24,28 ----
class StreamWriter(Codec,codecs.StreamWriter):
pass
!
class StreamReader(Codec,codecs.StreamReader):
pass
***************
*** 38,135 ****
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
})
--- 38,135 ----
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
})
Index: cp1026.py
===================================================================
RCS file: /cvsroot/wpdev/xmlscripts/python-lib/encodings/cp1026.py,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** cp1026.py 1 Jul 2002 01:57:22 -0000 1.1.1.1
--- cp1026.py 10 Nov 2003 12:44:16 -0000 1.2
***************
*** 17,21 ****
return codecs.charmap_encode(input,errors,encoding_map)
!
def decode(self,input,errors='strict'):
--- 17,21 ----
return codecs.charmap_encode(input,errors,encoding_map)
!
def decode(self,input,errors='strict'):
***************
*** 24,28 ****
class StreamWriter(Codec,codecs.StreamWriter):
pass
!
class StreamReader(Codec,codecs.StreamReader):
pass
--- 24,28 ----
class StreamWriter(Codec,codecs.StreamWriter):
pass
!
class StreamReader(Codec,codecs.StreamReader):
pass
***************
*** 38,277 ****
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 LETT...
[truncated message content] |