source: trunk/essentials/dev-lang/python/Lib/encodings/mac_roman.py@ 3226

Last change on this file since 3226 was 3225, checked in by bird, 19 years ago

Python 2.5

File size: 13.4 KB
Line 
1""" Python Character Mapping Codec mac_roman generated from 'MAPPINGS/VENDORS/APPLE/ROMAN.TXT' with gencodec.py.
2
3"""#"
4
5import codecs
6
7### Codec APIs
8
9class Codec(codecs.Codec):
10
11 def encode(self,input,errors='strict'):
12 return codecs.charmap_encode(input,errors,encoding_table)
13
14 def decode(self,input,errors='strict'):
15 return codecs.charmap_decode(input,errors,decoding_table)
16
17class IncrementalEncoder(codecs.IncrementalEncoder):
18 def encode(self, input, final=False):
19 return codecs.charmap_encode(input,self.errors,encoding_table)[0]
20
21class IncrementalDecoder(codecs.IncrementalDecoder):
22 def decode(self, input, final=False):
23 return codecs.charmap_decode(input,self.errors,decoding_table)[0]
24
25class StreamWriter(Codec,codecs.StreamWriter):
26 pass
27
28class StreamReader(Codec,codecs.StreamReader):
29 pass
30
31### encodings module API
32
33def getregentry():
34 return codecs.CodecInfo(
35 name='mac-roman',
36 encode=Codec().encode,
37 decode=Codec().decode,
38 incrementalencoder=IncrementalEncoder,
39 incrementaldecoder=IncrementalDecoder,
40 streamreader=StreamReader,
41 streamwriter=StreamWriter,
42 )
43
44
45### Decoding Table
46
47decoding_table = (
48 u'\x00' # 0x00 -> CONTROL CHARACTER
49 u'\x01' # 0x01 -> CONTROL CHARACTER
50 u'\x02' # 0x02 -> CONTROL CHARACTER
51 u'\x03' # 0x03 -> CONTROL CHARACTER
52 u'\x04' # 0x04 -> CONTROL CHARACTER
53 u'\x05' # 0x05 -> CONTROL CHARACTER
54 u'\x06' # 0x06 -> CONTROL CHARACTER
55 u'\x07' # 0x07 -> CONTROL CHARACTER
56 u'\x08' # 0x08 -> CONTROL CHARACTER
57 u'\t' # 0x09 -> CONTROL CHARACTER
58 u'\n' # 0x0A -> CONTROL CHARACTER
59 u'\x0b' # 0x0B -> CONTROL CHARACTER
60 u'\x0c' # 0x0C -> CONTROL CHARACTER
61 u'\r' # 0x0D -> CONTROL CHARACTER
62 u'\x0e' # 0x0E -> CONTROL CHARACTER
63 u'\x0f' # 0x0F -> CONTROL CHARACTER
64 u'\x10' # 0x10 -> CONTROL CHARACTER
65 u'\x11' # 0x11 -> CONTROL CHARACTER
66 u'\x12' # 0x12 -> CONTROL CHARACTER
67 u'\x13' # 0x13 -> CONTROL CHARACTER
68 u'\x14' # 0x14 -> CONTROL CHARACTER
69 u'\x15' # 0x15 -> CONTROL CHARACTER
70 u'\x16' # 0x16 -> CONTROL CHARACTER
71 u'\x17' # 0x17 -> CONTROL CHARACTER
72 u'\x18' # 0x18 -> CONTROL CHARACTER
73 u'\x19' # 0x19 -> CONTROL CHARACTER
74 u'\x1a' # 0x1A -> CONTROL CHARACTER
75 u'\x1b' # 0x1B -> CONTROL CHARACTER
76 u'\x1c' # 0x1C -> CONTROL CHARACTER
77 u'\x1d' # 0x1D -> CONTROL CHARACTER
78 u'\x1e' # 0x1E -> CONTROL CHARACTER
79 u'\x1f' # 0x1F -> CONTROL CHARACTER
80 u' ' # 0x20 -> SPACE
81 u'!' # 0x21 -> EXCLAMATION MARK
82 u'"' # 0x22 -> QUOTATION MARK
83 u'#' # 0x23 -> NUMBER SIGN
84 u'$' # 0x24 -> DOLLAR SIGN
85 u'%' # 0x25 -> PERCENT SIGN
86 u'&' # 0x26 -> AMPERSAND
87 u"'" # 0x27 -> APOSTROPHE
88 u'(' # 0x28 -> LEFT PARENTHESIS
89 u')' # 0x29 -> RIGHT PARENTHESIS