summaryrefslogtreecommitdiffstats
path: root/Lib/encodings/tis_620.py
diff options
context:
space:
mode:
authorMarc-André Lemburg <mal@egenix.com>2004-08-05 12:43:30 (GMT)
committerMarc-André Lemburg <mal@egenix.com>2004-08-05 12:43:30 (GMT)
commitc759f070ef4fff47ad515913a78521f481918872 (patch)
tree35577403a711e4a2bd3842617ba1aabb15f501bf /Lib/encodings/tis_620.py
parent1884dda2338adbfd7cd7b6954e7b5ce87cf7b0e1 (diff)
downloadcpython-c759f070ef4fff47ad515913a78521f481918872.zip
cpython-c759f070ef4fff47ad515913a78521f481918872.tar.gz
cpython-c759f070ef4fff47ad515913a78521f481918872.tar.bz2
Added new codecs and aliases for ISO_8859-11, ISO_8859-16 and
TIS-620. Closes SF bug #1001895: Adding missing ISO 8859 codecs, especially Thai.
Diffstat (limited to 'Lib/encodings/tis_620.py')
-rw-r--r--Lib/encodings/tis_620.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/Lib/encodings/tis_620.py b/Lib/encodings/tis_620.py
new file mode 100644
index 0000000..2ebf311
--- /dev/null
+++ b/Lib/encodings/tis_620.py
@@ -0,0 +1,46 @@
+""" Python Character Mapping Codec for TIS-620.
+
+ According to
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-11.TXT the
+ TIS-620 is the identical to ISO_8859-11 with the 0xA0 (no-break
+ space) mapping removed.
+
+"""#"
+
+import codecs
+from encodings.iso8859_11 import decoding_map
+
+### Codec APIs
+
+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
+
+### encodings module API
+
+def getregentry():
+
+ return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
+
+### Decoding Map
+
+decoding_map = decoding_map.copy()
+decoding_map.update({
+ 0x00a0: None,
+})
+
+### Encoding Map
+
+encoding_map = codecs.make_encoding_map(decoding_map)