blob: 16c34a3f618e9e01ea8339b310e6e35c5e932bdd [file] [log] [blame]
Walter Dörwaldabb02e52006-03-15 11:35:15 +00001""" Python Character Mapping Codec iso8859_6 generated from 'MAPPINGS/ISO8859/8859-6.TXT' with gencodec.py.
Guido van Rossum0229bf62000-03-10 23:17:24 +00002
3"""#"
4
5import codecs
6
7### Codec APIs
8
9class Codec(codecs.Codec):
10
11 def encode(self,input,errors='strict'):
Martin v. Löwis3f767792006-06-04 19:36:28 +000012 return codecs.charmap_encode(input,errors,encoding_table)
Tim Peters469cdad2002-08-08 20:19:19 +000013
Guido van Rossum0229bf62000-03-10 23:17:24 +000014 def decode(self,input,errors='strict'):
Marc-André Lemburga1129f42005-10-21 13:49:12 +000015 return codecs.charmap_decode(input,errors,decoding_table)
Tim Peters536cf992005-12-25 23:18:31 +000016
Walter Dörwaldabb02e52006-03-15 11:35:15 +000017class IncrementalEncoder(codecs.IncrementalEncoder):
18 def encode(self, input, final=False):
Martin v. Löwis3f767792006-06-04 19:36:28 +000019 return codecs.charmap_encode(input,self.errors,encoding_table)[0]
Walter Dörwaldabb02e52006-03-15 11:35:15 +000020
21class IncrementalDecoder(codecs.IncrementalDecoder):
22 def decode(self, input, final=False):
23 return codecs.charmap_decode(input,self.errors,decoding_table)[0]
24
Guido van Rossum0229bf62000-03-10 23:17:24 +000025class StreamWriter(Codec,codecs.StreamWriter):
26 pass
Tim Peters469cdad2002-08-08 20:19:19 +000027
Guido van Rossum0229bf62000-03-10 23:17:24 +000028class StreamReader(Codec,codecs.StreamReader):
29 pass
30
31### encodings module API
32
33def getregentry():
Walter Dörwaldabb02e52006-03-15 11:35:15 +000034 return codecs.CodecInfo(
35 name='iso8859-6',
36 encode=Codec().encode,
37 decode=Codec().decode,
38 incrementalencoder=IncrementalEncoder,
39 incrementaldecoder=IncrementalDecoder,
40 streamreader=StreamReader,
41 streamwriter=StreamWriter,
42 )
Guido van Rossum0229bf62000-03-10 23:17:24 +000043
Guido van Rossum0229bf62000-03-10 23:17:24 +000044
Marc-André Lemburga1129f42005-10-21 13:49:12 +000045### Decoding Table
46
47decoding_table = (
Tim Peters536cf992005-12-25 23:18:31 +000048 u'\x00' # 0x00 -> NULL
49 u'\x01' # 0x01 -> START OF HEADING
50 u'\x02' # 0x02 -> START OF TEXT
51 u'\x03' # 0x03 -> END OF TEXT
52 u'\x04' # 0x04 -> END OF TRANSMISSION
53 u'\x05' # 0x05 -> ENQUIRY
54 u'\x06' # 0x06 -> ACKNOWLEDGE
55 u'\x07' # 0x07 -> BELL
56 u'\x08' # 0x08 -> BACKSPACE
57 u'\t' # 0x09 -> HORIZONTAL TABULATION
58 u'\n' # 0x0A -> LINE FEED
59 u'\x0b' # 0x0B -> VERTICAL TABULATION
60 u'\x0c' # 0x0C -> FORM FEED
61 u'\r' # 0x0D -> CARRIAGE RETURN
62 u'\x0e' # 0x0E -> SHIFT OUT
63 u'\x0f' # 0x0F -> SHIFT IN
64 u'\x10' # 0x10 -> DATA LINK ESCAPE
65 u'\x11' # 0x11 -> DEVICE CONTROL ONE
66 u'\x12' # 0x12 -> DEVICE CONTROL TWO
67 u'\x13' # 0x13 -> DEVICE CONTROL THREE
68 u'\x14' # 0x14 -> DEVICE CONTROL FOUR
69 u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
70 u'\x16' # 0x16 -> SYNCHRONOUS IDLE
71 u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
72 u'\x18' # 0x18 -> CANCEL
73 u'\x19' # 0x19 -> END OF MEDIUM
74 u'\x1a' # 0x1A -> SUBSTITUTE
75 u'\x1b' # 0x1B -> ESCAPE
76 u'\x1c' # 0x1C -> FILE SEPARATOR
77 u'\x1d' # 0x1D -> GROUP SEPARATOR
78 u'\x1e' # 0x1E -> RECORD SEPARATOR
79 u'\x1f' # 0x1F -> UNIT SEPARATOR
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
90 u'*' # 0x2A -> ASTERISK
91 u'+' # 0x2B -> PLUS SIGN
92 u',' # 0x2C -> COMMA
93 u'-' # 0x2D -> HYPHEN-MINUS
94 u'.' # 0x2E -> FULL STOP
95 u'/' # 0x2F -> SOLIDUS
96 u'0' # 0x30 -> DIGIT ZERO
97 u'1' # 0x31 -> DIGIT ONE
98 u'2' # 0x32 -> DIGIT TWO
99 u'3' # 0x33 -> DIGIT THREE
100 u'4' # 0x34 -> DIGIT FOUR
101 u'5' # 0x35 -> DIGIT FIVE
102 u'6' # 0x36 -> DIGIT SIX
103 u'7' # 0x37 -> DIGIT SEVEN
104 u'8' # 0x38 -> DIGIT EIGHT
105 u'9' # 0x39 -> DIGIT NINE
106 u':' # 0x3A -> COLON
107 u';' # 0x3B -> SEMICOLON
108 u'<' # 0x3C -> LESS-THAN SIGN
109 u'=' # 0x3D -> EQUALS SIGN
110 u'>' # 0x3E -> GREATER-THAN SIGN
111 u'?' # 0x3F -> QUESTION MARK
112 u'@' # 0x40 -> COMMERCIAL AT
113 u'A' # 0x41 -> LATIN CAPITAL LETTER A
114 u'B' # 0x42 -> LATIN CAPITAL LETTER B
115 u'C' # 0x43 -> LATIN CAPITAL LETTER C
116 u'D' # 0x44 -> LATIN CAPITAL LETTER D
117 u'E' # 0x45 -> LATIN CAPITAL LETTER E
118 u'F' # 0x46 -> LATIN CAPITAL LETTER F
119 u'G' # 0x47 -> LATIN CAPITAL LETTER G
120 u'H' # 0x48 -> LATIN CAPITAL LETTER H
121 u'I' # 0x49 -> LATIN CAPITAL LETTER I
122 u'J' # 0x4A -> LATIN CAPITAL LETTER J
123 u'K' # 0x4B -> LATIN CAPITAL LETTER K
124 u'L' # 0x4C -> LATIN CAPITAL LETTER L
125 u'M' # 0x4D -> LATIN CAPITAL LETTER M
126 u'N' # 0x4E -> LATIN CAPITAL LETTER N
127 u'O' # 0x4F -> LATIN CAPITAL LETTER O
128 u'P' # 0x50 -> LATIN CAPITAL LETTER P
129 u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
130 u'R' # 0x52 -> LATIN CAPITAL LETTER R
131 u'S' # 0x53 -> LATIN CAPITAL LETTER S
132 u'T' # 0x54 -> LATIN CAPITAL LETTER T
133 u'U' # 0x55 -> LATIN CAPITAL LETTER U
134 u'V' # 0x56 -> LATIN CAPITAL LETTER V
135 u'W' # 0x57 -> LATIN CAPITAL LETTER W
136 u'X' # 0x58 -> LATIN CAPITAL LETTER X
137 u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
138 u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
139 u'[' # 0x5B -> LEFT SQUARE BRACKET
140 u'\\' # 0x5C -> REVERSE SOLIDUS
141 u']' # 0x5D -> RIGHT SQUARE BRACKET
142 u'^' # 0x5E -> CIRCUMFLEX ACCENT
143 u'_' # 0x5F -> LOW LINE
144 u'`' # 0x60 -> GRAVE ACCENT
145 u'a' # 0x61 -> LATIN SMALL LETTER A
146 u'b' # 0x62 -> LATIN SMALL LETTER B
147 u'c' # 0x63 -> LATIN SMALL LETTER C
148 u'd' # 0x64 -> LATIN SMALL LETTER D
149 u'e' # 0x65 -> LATIN SMALL LETTER E
150 u'f' # 0x66 -> LATIN SMALL LETTER F
151 u'g' # 0x67 -> LATIN SMALL LETTER G
152 u'h' # 0x68 -> LATIN SMALL LETTER H
153 u'i' # 0x69 -> LATIN SMALL LETTER I
154 u'j' # 0x6A -> LATIN SMALL LETTER J
155 u'k' # 0x6B -> LATIN SMALL LETTER K
156 u'l' # 0x6C -> LATIN SMALL LETTER L
157 u'm' # 0x6D -> LATIN SMALL LETTER M
158 u'n' # 0x6E -> LATIN SMALL LETTER N
159 u'o' # 0x6F -> LATIN SMALL LETTER O
160 u'p' # 0x70 -> LATIN SMALL LETTER P
161 u'q' # 0x71 -> LATIN SMALL LETTER Q
162 u'r' # 0x72 -> LATIN SMALL LETTER R
163 u's' # 0x73 -> LATIN SMALL LETTER S
164 u't' # 0x74 -> LATIN SMALL LETTER T
165 u'u' # 0x75 -> LATIN SMALL LETTER U
166 u'v' # 0x76 -> LATIN SMALL LETTER V
167 u'w' # 0x77 -> LATIN SMALL LETTER W
168 u'x' # 0x78 -> LATIN SMALL LETTER X
169 u'y' # 0x79 -> LATIN SMALL LETTER Y
170 u'z' # 0x7A -> LATIN SMALL LETTER Z
171 u'{' # 0x7B -> LEFT CURLY BRACKET
172 u'|' # 0x7C -> VERTICAL LINE
173 u'}' # 0x7D -> RIGHT CURLY BRACKET
174 u'~' # 0x7E -> TILDE
175 u'\x7f' # 0x7F -> DELETE
176 u'\x80' # 0x80 -> <control>
177 u'\x81' # 0x81 -> <control>
178 u'\x82' # 0x82 -> <control>
179 u'\x83' # 0x83 -> <control>
180 u'\x84' # 0x84 -> <control>
181 u'\x85' # 0x85 -> <control>
182 u'\x86' # 0x86 -> <control>
183 u'\x87' # 0x87 -> <control>
184 u'\x88' # 0x88 -> <control>
185 u'\x89' # 0x89 -> <control>
186 u'\x8a' # 0x8A -> <control>
187 u'\x8b' # 0x8B -> <control>
188 u'\x8c' # 0x8C -> <control>
189 u'\x8d' # 0x8D -> <control>
190 u'\x8e' # 0x8E -> <control>
191 u'\x8f' # 0x8F -> <control>
192 u'\x90' # 0x90 -> <control>
193 u'\x91' # 0x91 -> <control>
194 u'\x92' # 0x92 -> <control>
195 u'\x93' # 0x93 -> <control>
196 u'\x94' # 0x94 -> <control>
197 u'\x95' # 0x95 -> <control>
198 u'\x96' # 0x96 -> <control>
199 u'\x97' # 0x97 -> <control>
200 u'\x98' # 0x98 -> <control>
201 u'\x99' # 0x99 -> <control>
202 u'\x9a' # 0x9A -> <control>
203 u'\x9b' # 0x9B -> <control>
204 u'\x9c' # 0x9C -> <control>
205 u'\x9d' # 0x9D -> <control>
206 u'\x9e' # 0x9E -> <control>
207 u'\x9f' # 0x9F -> <control>
208 u'\xa0' # 0xA0 -> NO-BREAK SPACE
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000209 u'\ufffe'
210 u'\ufffe'
211 u'\ufffe'
Tim Peters536cf992005-12-25 23:18:31 +0000212 u'\xa4' # 0xA4 -> CURRENCY SIGN
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000213 u'\ufffe'
214 u'\ufffe'
215 u'\ufffe'
216 u'\ufffe'
217 u'\ufffe'
218 u'\ufffe'
219 u'\ufffe'
Tim Peters536cf992005-12-25 23:18:31 +0000220 u'\u060c' # 0xAC -> ARABIC COMMA
221 u'\xad' # 0xAD -> SOFT HYPHEN
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000222 u'\ufffe'
223 u'\ufffe'
224 u'\ufffe'
225 u'\ufffe'
226 u'\ufffe'
227 u'\ufffe'
228 u'\ufffe'
229 u'\ufffe'
230 u'\ufffe'
231 u'\ufffe'
232 u'\ufffe'
233 u'\ufffe'
234 u'\ufffe'
Tim Peters536cf992005-12-25 23:18:31 +0000235 u'\u061b' # 0xBB -> ARABIC SEMICOLON
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000236 u'\ufffe'
237 u'\ufffe'
238 u'\ufffe'
Tim Peters536cf992005-12-25 23:18:31 +0000239 u'\u061f' # 0xBF -> ARABIC QUESTION MARK
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000240 u'\ufffe'
Tim Peters536cf992005-12-25 23:18:31 +0000241 u'\u0621' # 0xC1 -> ARABIC LETTER HAMZA
242 u'\u0622' # 0xC2 -> ARABIC LETTER ALEF WITH MADDA ABOVE
243 u'\u0623' # 0xC3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE
244 u'\u0624' # 0xC4 -> ARABIC LETTER WAW WITH HAMZA ABOVE
245 u'\u0625' # 0xC5 -> ARABIC LETTER ALEF WITH HAMZA BELOW
246 u'\u0626' # 0xC6 -> ARABIC LETTER YEH WITH HAMZA ABOVE
247 u'\u0627' # 0xC7 -> ARABIC LETTER ALEF
248 u'\u0628' # 0xC8 -> ARABIC LETTER BEH
249 u'\u0629' # 0xC9 -> ARABIC LETTER TEH MARBUTA
250 u'\u062a' # 0xCA -> ARABIC LETTER TEH
251 u'\u062b' # 0xCB -> ARABIC LETTER THEH
252 u'\u062c' # 0xCC -> ARABIC LETTER JEEM
253 u'\u062d' # 0xCD -> ARABIC LETTER HAH
254 u'\u062e' # 0xCE -> ARABIC LETTER KHAH
255 u'\u062f' # 0xCF -> ARABIC LETTER DAL
256 u'\u0630' # 0xD0 -> ARABIC LETTER THAL
257 u'\u0631' # 0xD1 -> ARABIC LETTER REH
258 u'\u0632' # 0xD2 -> ARABIC LETTER ZAIN
259 u'\u0633' # 0xD3 -> ARABIC LETTER SEEN
260 u'\u0634' # 0xD4 -> ARABIC LETTER SHEEN
261 u'\u0635' # 0xD5 -> ARABIC LETTER SAD
262 u'\u0636' # 0xD6 -> ARABIC LETTER DAD
263 u'\u0637' # 0xD7 -> ARABIC LETTER TAH
264 u'\u0638' # 0xD8 -> ARABIC LETTER ZAH
265 u'\u0639' # 0xD9 -> ARABIC LETTER AIN
266 u'\u063a' # 0xDA -> ARABIC LETTER GHAIN
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000267 u'\ufffe'
268 u'\ufffe'
269 u'\ufffe'
270 u'\ufffe'
271 u'\ufffe'
Tim Peters536cf992005-12-25 23:18:31 +0000272 u'\u0640' # 0xE0 -> ARABIC TATWEEL
273 u'\u0641' # 0xE1 -> ARABIC LETTER FEH
274 u'\u0642' # 0xE2 -> ARABIC LETTER QAF
275 u'\u0643' # 0xE3 -> ARABIC LETTER KAF
276 u'\u0644' # 0xE4 -> ARABIC LETTER LAM
277 u'\u0645' # 0xE5 -> ARABIC LETTER MEEM
278 u'\u0646' # 0xE6 -> ARABIC LETTER NOON
279 u'\u0647' # 0xE7 -> ARABIC LETTER HEH
280 u'\u0648' # 0xE8 -> ARABIC LETTER WAW
281 u'\u0649' # 0xE9 -> ARABIC LETTER ALEF MAKSURA
282 u'\u064a' # 0xEA -> ARABIC LETTER YEH
283 u'\u064b' # 0xEB -> ARABIC FATHATAN
284 u'\u064c' # 0xEC -> ARABIC DAMMATAN
285 u'\u064d' # 0xED -> ARABIC KASRATAN
286 u'\u064e' # 0xEE -> ARABIC FATHA
287 u'\u064f' # 0xEF -> ARABIC DAMMA
288 u'\u0650' # 0xF0 -> ARABIC KASRA
289 u'\u0651' # 0xF1 -> ARABIC SHADDA
290 u'\u0652' # 0xF2 -> ARABIC SUKUN
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000291 u'\ufffe'
292 u'\ufffe'
293 u'\ufffe'
294 u'\ufffe'
295 u'\ufffe'
296 u'\ufffe'
297 u'\ufffe'
298 u'\ufffe'
299 u'\ufffe'
300 u'\ufffe'
301 u'\ufffe'
302 u'\ufffe'
303 u'\ufffe'
304)
305
Martin v. Löwis3f767792006-06-04 19:36:28 +0000306### Encoding table
307encoding_table=codecs.charmap_build(decoding_table)