blob: b07661d93d78991af7a6c59a7e1ff83d5fb52be0 [file] [log] [blame]
Marc-André Lemburg3c72ded2005-10-24 12:07:49 +00001""" Python Character Mapping Codec 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'):
12
13 return codecs.charmap_encode(input,errors,encoding_map)
Tim Peters469cdad2002-08-08 20:19:19 +000014
Guido van Rossum0229bf62000-03-10 23:17:24 +000015 def decode(self,input,errors='strict'):
16
Marc-André Lemburga1129f42005-10-21 13:49:12 +000017 return codecs.charmap_decode(input,errors,decoding_table)
Tim Peters536cf992005-12-25 23:18:31 +000018
Guido van Rossum0229bf62000-03-10 23:17:24 +000019class StreamWriter(Codec,codecs.StreamWriter):
20 pass
Tim Peters469cdad2002-08-08 20:19:19 +000021
Guido van Rossum0229bf62000-03-10 23:17:24 +000022class StreamReader(Codec,codecs.StreamReader):
23 pass
24
25### encodings module API
26
27def getregentry():
28
29 return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
30
Guido van Rossum0229bf62000-03-10 23:17:24 +000031
Marc-André Lemburga1129f42005-10-21 13:49:12 +000032### Decoding Table
33
34decoding_table = (
Tim Peters536cf992005-12-25 23:18:31 +000035 u'\x00' # 0x00 -> NULL
36 u'\x01' # 0x01 -> START OF HEADING
37 u'\x02' # 0x02 -> START OF TEXT
38 u'\x03' # 0x03 -> END OF TEXT
39 u'\x04' # 0x04 -> END OF TRANSMISSION
40 u'\x05' # 0x05 -> ENQUIRY
41 u'\x06' # 0x06 -> ACKNOWLEDGE
42 u'\x07' # 0x07 -> BELL
43 u'\x08' # 0x08 -> BACKSPACE
44 u'\t' # 0x09 -> HORIZONTAL TABULATION
45 u'\n' # 0x0A -> LINE FEED
46 u'\x0b' # 0x0B -> VERTICAL TABULATION
47 u'\x0c' # 0x0C -> FORM FEED
48 u'\r' # 0x0D -> CARRIAGE RETURN
49 u'\x0e' # 0x0E -> SHIFT OUT
50 u'\x0f' # 0x0F -> SHIFT IN
51 u'\x10' # 0x10 -> DATA LINK ESCAPE
52 u'\x11' # 0x11 -> DEVICE CONTROL ONE
53 u'\x12' # 0x12 -> DEVICE CONTROL TWO
54 u'\x13' # 0x13 -> DEVICE CONTROL THREE
55 u'\x14' # 0x14 -> DEVICE CONTROL FOUR
56 u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
57 u'\x16' # 0x16 -> SYNCHRONOUS IDLE
58 u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
59 u'\x18' # 0x18 -> CANCEL
60 u'\x19' # 0x19 -> END OF MEDIUM
61 u'\x1a' # 0x1A -> SUBSTITUTE
62 u'\x1b' # 0x1B -> ESCAPE
63 u'\x1c' # 0x1C -> FILE SEPARATOR
64 u'\x1d' # 0x1D -> GROUP SEPARATOR
65 u'\x1e' # 0x1E -> RECORD SEPARATOR
66 u'\x1f' # 0x1F -> UNIT SEPARATOR
67 u' ' # 0x20 -> SPACE
68 u'!' # 0x21 -> EXCLAMATION MARK
69 u'"' # 0x22 -> QUOTATION MARK
70 u'#' # 0x23 -> NUMBER SIGN
71 u'$' # 0x24 -> DOLLAR SIGN
72 u'%' # 0x25 -> PERCENT SIGN
73 u'&' # 0x26 -> AMPERSAND
74 u"'" # 0x27 -> APOSTROPHE
75 u'(' # 0x28 -> LEFT PARENTHESIS
76 u')' # 0x29 -> RIGHT PARENTHESIS
77 u'*' # 0x2A -> ASTERISK
78 u'+' # 0x2B -> PLUS SIGN
79 u',' # 0x2C -> COMMA
80 u'-' # 0x2D -> HYPHEN-MINUS
81 u'.' # 0x2E -> FULL STOP
82 u'/' # 0x2F -> SOLIDUS
83 u'0' # 0x30 -> DIGIT ZERO
84 u'1' # 0x31 -> DIGIT ONE
85 u'2' # 0x32 -> DIGIT TWO
86 u'3' # 0x33 -> DIGIT THREE
87 u'4' # 0x34 -> DIGIT FOUR
88 u'5' # 0x35 -> DIGIT FIVE
89 u'6' # 0x36 -> DIGIT SIX
90 u'7' # 0x37 -> DIGIT SEVEN
91 u'8' # 0x38 -> DIGIT EIGHT
92 u'9' # 0x39 -> DIGIT NINE
93 u':' # 0x3A -> COLON
94 u';' # 0x3B -> SEMICOLON
95 u'<' # 0x3C -> LESS-THAN SIGN
96 u'=' # 0x3D -> EQUALS SIGN
97 u'>' # 0x3E -> GREATER-THAN SIGN
98 u'?' # 0x3F -> QUESTION MARK
99 u'@' # 0x40 -> COMMERCIAL AT
100 u'A' # 0x41 -> LATIN CAPITAL LETTER A
101 u'B' # 0x42 -> LATIN CAPITAL LETTER B
102 u'C' # 0x43 -> LATIN CAPITAL LETTER C
103 u'D' # 0x44 -> LATIN CAPITAL LETTER D
104 u'E' # 0x45 -> LATIN CAPITAL LETTER E
105 u'F' # 0x46 -> LATIN CAPITAL LETTER F
106 u'G' # 0x47 -> LATIN CAPITAL LETTER G
107 u'H' # 0x48 -> LATIN CAPITAL LETTER H
108 u'I' # 0x49 -> LATIN CAPITAL LETTER I
109 u'J' # 0x4A -> LATIN CAPITAL LETTER J
110 u'K' # 0x4B -> LATIN CAPITAL LETTER K
111 u'L' # 0x4C -> LATIN CAPITAL LETTER L
112 u'M' # 0x4D -> LATIN CAPITAL LETTER M
113 u'N' # 0x4E -> LATIN CAPITAL LETTER N
114 u'O' # 0x4F -> LATIN CAPITAL LETTER O
115 u'P' # 0x50 -> LATIN CAPITAL LETTER P
116 u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
117 u'R' # 0x52 -> LATIN CAPITAL LETTER R
118 u'S' # 0x53 -> LATIN CAPITAL LETTER S
119 u'T' # 0x54 -> LATIN CAPITAL LETTER T
120 u'U' # 0x55 -> LATIN CAPITAL LETTER U
121 u'V' # 0x56 -> LATIN CAPITAL LETTER V
122 u'W' # 0x57 -> LATIN CAPITAL LETTER W
123 u'X' # 0x58 -> LATIN CAPITAL LETTER X
124 u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
125 u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
126 u'[' # 0x5B -> LEFT SQUARE BRACKET
127 u'\\' # 0x5C -> REVERSE SOLIDUS
128 u']' # 0x5D -> RIGHT SQUARE BRACKET
129 u'^' # 0x5E -> CIRCUMFLEX ACCENT
130 u'_' # 0x5F -> LOW LINE
131 u'`' # 0x60 -> GRAVE ACCENT
132 u'a' # 0x61 -> LATIN SMALL LETTER A
133 u'b' # 0x62 -> LATIN SMALL LETTER B
134 u'c' # 0x63 -> LATIN SMALL LETTER C
135 u'd' # 0x64 -> LATIN SMALL LETTER D
136 u'e' # 0x65 -> LATIN SMALL LETTER E
137 u'f' # 0x66 -> LATIN SMALL LETTER F
138 u'g' # 0x67 -> LATIN SMALL LETTER G
139 u'h' # 0x68 -> LATIN SMALL LETTER H
140 u'i' # 0x69 -> LATIN SMALL LETTER I
141 u'j' # 0x6A -> LATIN SMALL LETTER J
142 u'k' # 0x6B -> LATIN SMALL LETTER K
143 u'l' # 0x6C -> LATIN SMALL LETTER L
144 u'm' # 0x6D -> LATIN SMALL LETTER M
145 u'n' # 0x6E -> LATIN SMALL LETTER N
146 u'o' # 0x6F -> LATIN SMALL LETTER O
147 u'p' # 0x70 -> LATIN SMALL LETTER P
148 u'q' # 0x71 -> LATIN SMALL LETTER Q
149 u'r' # 0x72 -> LATIN SMALL LETTER R
150 u's' # 0x73 -> LATIN SMALL LETTER S
151 u't' # 0x74 -> LATIN SMALL LETTER T
152 u'u' # 0x75 -> LATIN SMALL LETTER U
153 u'v' # 0x76 -> LATIN SMALL LETTER V
154 u'w' # 0x77 -> LATIN SMALL LETTER W
155 u'x' # 0x78 -> LATIN SMALL LETTER X
156 u'y' # 0x79 -> LATIN SMALL LETTER Y
157 u'z' # 0x7A -> LATIN SMALL LETTER Z
158 u'{' # 0x7B -> LEFT CURLY BRACKET
159 u'|' # 0x7C -> VERTICAL LINE
160 u'}' # 0x7D -> RIGHT CURLY BRACKET
161 u'~' # 0x7E -> TILDE
162 u'\x7f' # 0x7F -> DELETE
163 u'\x80' # 0x80 -> <control>
164 u'\x81' # 0x81 -> <control>
165 u'\x82' # 0x82 -> <control>
166 u'\x83' # 0x83 -> <control>
167 u'\x84' # 0x84 -> <control>
168 u'\x85' # 0x85 -> <control>
169 u'\x86' # 0x86 -> <control>
170 u'\x87' # 0x87 -> <control>
171 u'\x88' # 0x88 -> <control>
172 u'\x89' # 0x89 -> <control>
173 u'\x8a' # 0x8A -> <control>
174 u'\x8b' # 0x8B -> <control>
175 u'\x8c' # 0x8C -> <control>
176 u'\x8d' # 0x8D -> <control>
177 u'\x8e' # 0x8E -> <control>
178 u'\x8f' # 0x8F -> <control>
179 u'\x90' # 0x90 -> <control>
180 u'\x91' # 0x91 -> <control>
181 u'\x92' # 0x92 -> <control>
182 u'\x93' # 0x93 -> <control>
183 u'\x94' # 0x94 -> <control>
184 u'\x95' # 0x95 -> <control>
185 u'\x96' # 0x96 -> <control>
186 u'\x97' # 0x97 -> <control>
187 u'\x98' # 0x98 -> <control>
188 u'\x99' # 0x99 -> <control>
189 u'\x9a' # 0x9A -> <control>
190 u'\x9b' # 0x9B -> <control>
191 u'\x9c' # 0x9C -> <control>
192 u'\x9d' # 0x9D -> <control>
193 u'\x9e' # 0x9E -> <control>
194 u'\x9f' # 0x9F -> <control>
195 u'\xa0' # 0xA0 -> NO-BREAK SPACE
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000196 u'\ufffe'
197 u'\ufffe'
198 u'\ufffe'
Tim Peters536cf992005-12-25 23:18:31 +0000199 u'\xa4' # 0xA4 -> CURRENCY SIGN
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000200 u'\ufffe'
201 u'\ufffe'
202 u'\ufffe'
203 u'\ufffe'
204 u'\ufffe'
205 u'\ufffe'
206 u'\ufffe'
Tim Peters536cf992005-12-25 23:18:31 +0000207 u'\u060c' # 0xAC -> ARABIC COMMA
208 u'\xad' # 0xAD -> SOFT HYPHEN
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000209 u'\ufffe'
210 u'\ufffe'
211 u'\ufffe'
212 u'\ufffe'
213 u'\ufffe'
214 u'\ufffe'
215 u'\ufffe'
216 u'\ufffe'
217 u'\ufffe'
218 u'\ufffe'
219 u'\ufffe'
220 u'\ufffe'
221 u'\ufffe'
Tim Peters536cf992005-12-25 23:18:31 +0000222 u'\u061b' # 0xBB -> ARABIC SEMICOLON
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000223 u'\ufffe'
224 u'\ufffe'
225 u'\ufffe'
Tim Peters536cf992005-12-25 23:18:31 +0000226 u'\u061f' # 0xBF -> ARABIC QUESTION MARK
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000227 u'\ufffe'
Tim Peters536cf992005-12-25 23:18:31 +0000228 u'\u0621' # 0xC1 -> ARABIC LETTER HAMZA
229 u'\u0622' # 0xC2 -> ARABIC LETTER ALEF WITH MADDA ABOVE
230 u'\u0623' # 0xC3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE
231 u'\u0624' # 0xC4 -> ARABIC LETTER WAW WITH HAMZA ABOVE
232 u'\u0625' # 0xC5 -> ARABIC LETTER ALEF WITH HAMZA BELOW
233 u'\u0626' # 0xC6 -> ARABIC LETTER YEH WITH HAMZA ABOVE
234 u'\u0627' # 0xC7 -> ARABIC LETTER ALEF
235 u'\u0628' # 0xC8 -> ARABIC LETTER BEH
236 u'\u0629' # 0xC9 -> ARABIC LETTER TEH MARBUTA
237 u'\u062a' # 0xCA -> ARABIC LETTER TEH
238 u'\u062b' # 0xCB -> ARABIC LETTER THEH
239 u'\u062c' # 0xCC -> ARABIC LETTER JEEM
240 u'\u062d' # 0xCD -> ARABIC LETTER HAH
241 u'\u062e' # 0xCE -> ARABIC LETTER KHAH
242 u'\u062f' # 0xCF -> ARABIC LETTER DAL
243 u'\u0630' # 0xD0 -> ARABIC LETTER THAL
244 u'\u0631' # 0xD1 -> ARABIC LETTER REH
245 u'\u0632' # 0xD2 -> ARABIC LETTER ZAIN
246 u'\u0633' # 0xD3 -> ARABIC LETTER SEEN
247 u'\u0634' # 0xD4 -> ARABIC LETTER SHEEN
248 u'\u0635' # 0xD5 -> ARABIC LETTER SAD
249 u'\u0636' # 0xD6 -> ARABIC LETTER DAD
250 u'\u0637' # 0xD7 -> ARABIC LETTER TAH
251 u'\u0638' # 0xD8 -> ARABIC LETTER ZAH
252 u'\u0639' # 0xD9 -> ARABIC LETTER AIN
253 u'\u063a' # 0xDA -> ARABIC LETTER GHAIN
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000254 u'\ufffe'
255 u'\ufffe'
256 u'\ufffe'
257 u'\ufffe'
258 u'\ufffe'
Tim Peters536cf992005-12-25 23:18:31 +0000259 u'\u0640' # 0xE0 -> ARABIC TATWEEL
260 u'\u0641' # 0xE1 -> ARABIC LETTER FEH
261 u'\u0642' # 0xE2 -> ARABIC LETTER QAF
262 u'\u0643' # 0xE3 -> ARABIC LETTER KAF
263 u'\u0644' # 0xE4 -> ARABIC LETTER LAM
264 u'\u0645' # 0xE5 -> ARABIC LETTER MEEM
265 u'\u0646' # 0xE6 -> ARABIC LETTER NOON
266 u'\u0647' # 0xE7 -> ARABIC LETTER HEH
267 u'\u0648' # 0xE8 -> ARABIC LETTER WAW
268 u'\u0649' # 0xE9 -> ARABIC LETTER ALEF MAKSURA
269 u'\u064a' # 0xEA -> ARABIC LETTER YEH
270 u'\u064b' # 0xEB -> ARABIC FATHATAN
271 u'\u064c' # 0xEC -> ARABIC DAMMATAN
272 u'\u064d' # 0xED -> ARABIC KASRATAN
273 u'\u064e' # 0xEE -> ARABIC FATHA
274 u'\u064f' # 0xEF -> ARABIC DAMMA
275 u'\u0650' # 0xF0 -> ARABIC KASRA
276 u'\u0651' # 0xF1 -> ARABIC SHADDA
277 u'\u0652' # 0xF2 -> ARABIC SUKUN
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000278 u'\ufffe'
279 u'\ufffe'
280 u'\ufffe'
281 u'\ufffe'
282 u'\ufffe'
283 u'\ufffe'
284 u'\ufffe'
285 u'\ufffe'
286 u'\ufffe'
287 u'\ufffe'
288 u'\ufffe'
289 u'\ufffe'
290 u'\ufffe'
291)
292
Guido van Rossum0229bf62000-03-10 23:17:24 +0000293### Encoding Map
294
Marc-André Lemburga1129f42005-10-21 13:49:12 +0000295encoding_map = {
Tim Peters536cf992005-12-25 23:18:31 +0000296 0x0000: 0x00, # NULL
297 0x0001: 0x01, # START OF HEADING
298 0x0002: 0x02, # START OF TEXT
299 0x0003: 0x03, # END OF TEXT
300 0x0004: 0x04, # END OF TRANSMISSION
301 0x0005: 0x05, # ENQUIRY
302 0x0006: 0x06, # ACKNOWLEDGE
303 0x0007: 0x07, # BELL
304 0x0008: 0x08, # BACKSPACE
305 0x0009: 0x09, # HORIZONTAL TABULATION
306 0x000A: 0x0A, # LINE FEED
307 0x000B: 0x0B, # VERTICAL TABULATION
308 0x000C: 0x0C, # FORM FEED
309 0x000D: 0x0D, # CARRIAGE RETURN
310 0x000E: 0x0E, # SHIFT OUT
311 0x000F: 0x0F, # SHIFT IN
312 0x0010: 0x10, # DATA LINK ESCAPE
313 0x0011: 0x11, # DEVICE CONTROL ONE
314 0x0012: 0x12, # DEVICE CONTROL TWO
315 0x0013: 0x13, # DEVICE CONTROL THREE
316 0x0014: 0x14, # DEVICE CONTROL FOUR
317 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
318 0x0016: 0x16, # SYNCHRONOUS IDLE
319 0x0017: 0x17, # END OF TRANSMISSION BLOCK
320 0x0018: 0x18, # CANCEL
321 0x0019: 0x19, # END OF MEDIUM
322 0x001A: 0x1A, # SUBSTITUTE
323 0x001B: 0x1B, # ESCAPE
324 0x001C: 0x1C, # FILE SEPARATOR
325 0x001D: 0x1D, # GROUP SEPARATOR
326 0x001E: 0x1E, # RECORD SEPARATOR
327 0x001F: 0x1F, # UNIT SEPARATOR
328 0x0020: 0x20, # SPACE
329 0x0021: 0x21, # EXCLAMATION MARK
330 0x0022: 0x22, # QUOTATION MARK
331 0x0023: 0x23, # NUMBER SIGN
332 0x0024: 0x24, # DOLLAR SIGN
333 0x0025: 0x25, # PERCENT SIGN
334 0x0026: 0x26, # AMPERSAND
335 0x0027: 0x27, # APOSTROPHE
336 0x0028: 0x28, # LEFT PARENTHESIS
337 0x0029: 0x29, # RIGHT PARENTHESIS
338 0x002A: 0x2A, # ASTERISK
339 0x002B: 0x2B, # PLUS SIGN
340 0x002C: 0x2C, # COMMA
341 0x002D: 0x2D, # HYPHEN-MINUS
342 0x002E: 0x2E, # FULL STOP
343 0x002F: 0x2F, # SOLIDUS
344 0x0030: 0x30, # DIGIT ZERO
345 0x0031: 0x31, # DIGIT ONE
346 0x0032: 0x32, # DIGIT TWO
347 0x0033: 0x33, # DIGIT THREE
348 0x0034: 0x34, # DIGIT FOUR
349 0x0035: 0x35, # DIGIT FIVE
350 0x0036: 0x36, # DIGIT SIX
351 0x0037: 0x37, # DIGIT SEVEN
352 0x0038: 0x38, # DIGIT EIGHT
353 0x0039: 0x39, # DIGIT NINE
354 0x003A: 0x3A, # COLON
355 0x003B: 0x3B, # SEMICOLON
356 0x003C: 0x3C, # LESS-THAN SIGN
357 0x003D: 0x3D, # EQUALS SIGN
358 0x003E: 0x3E, # GREATER-THAN SIGN
359 0x003F: 0x3F, # QUESTION MARK
360 0x0040: 0x40, # COMMERCIAL AT
361 0x0041: 0x41, # LATIN CAPITAL LETTER A
362 0x0042: 0x42, # LATIN CAPITAL LETTER B
363 0x0043: 0x43, # LATIN CAPITAL LETTER C
364 0x0044: 0x44, # LATIN CAPITAL LETTER D
365 0x0045: 0x45, # LATIN CAPITAL LETTER E
366 0x0046: 0x46, # LATIN CAPITAL LETTER F
367 0x0047: 0x47, # LATIN CAPITAL LETTER G
368 0x0048: 0x48, # LATIN CAPITAL LETTER H
369 0x0049: 0x49, # LATIN CAPITAL LETTER I
370 0x004A: 0x4A, # LATIN CAPITAL LETTER J
371 0x004B: 0x4B, # LATIN CAPITAL LETTER K
372 0x004C: 0x4C, # LATIN CAPITAL LETTER L
373 0x004D: 0x4D, # LATIN CAPITAL LETTER M
374 0x004E: 0x4E, # LATIN CAPITAL LETTER N
375 0x004F: 0x4F, # LATIN CAPITAL LETTER O
376 0x0050: 0x50, # LATIN CAPITAL LETTER P
377 0x0051: 0x51, # LATIN CAPITAL LETTER Q
378 0x0052: 0x52, # LATIN CAPITAL LETTER R
379 0x0053: 0x53, # LATIN CAPITAL LETTER S
380 0x0054: 0x54, # LATIN CAPITAL LETTER T
381 0x0055: 0x55, # LATIN CAPITAL LETTER U
382 0x0056: 0x56, # LATIN CAPITAL LETTER V
383 0x0057: 0x57, # LATIN CAPITAL LETTER W
384 0x0058: 0x58, # LATIN CAPITAL LETTER X
385 0x0059: 0x59, # LATIN CAPITAL LETTER Y
386 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
387 0x005B: 0x5B, # LEFT SQUARE BRACKET
388 0x005C: 0x5C, # REVERSE SOLIDUS
389 0x005D: 0x5D, # RIGHT SQUARE BRACKET
390 0x005E: 0x5E, # CIRCUMFLEX ACCENT
391 0x005F: 0x5F, # LOW LINE
392 0x0060: 0x60, # GRAVE ACCENT
393 0x0061: 0x61, # LATIN SMALL LETTER A
394 0x0062: 0x62, # LATIN SMALL LETTER B
395 0x0063: 0x63, # LATIN SMALL LETTER C
396 0x0064: 0x64, # LATIN SMALL LETTER D
397 0x0065: 0x65, # LATIN SMALL LETTER E
398 0x0066: 0x66, # LATIN SMALL LETTER F
399 0x0067: 0x67, # LATIN SMALL LETTER G
400 0x0068: 0x68, # LATIN SMALL LETTER H
401 0x0069: 0x69, # LATIN SMALL LETTER I
402 0x006A: 0x6A, # LATIN SMALL LETTER J
403 0x006B: 0x6B, # LATIN SMALL LETTER K
404 0x006C: 0x6C, # LATIN SMALL LETTER L
405 0x006D: 0x6D, # LATIN SMALL LETTER M
406 0x006E: 0x6E, # LATIN SMALL LETTER N
407 0x006F: 0x6F, # LATIN SMALL LETTER O
408 0x0070: 0x70, # LATIN SMALL LETTER P
409 0x0071: 0x71, # LATIN SMALL LETTER Q
410 0x0072: 0x72, # LATIN SMALL LETTER R
411 0x0073: 0x73, # LATIN SMALL LETTER S
412 0x0074: 0x74, # LATIN SMALL LETTER T
413 0x0075: 0x75, # LATIN SMALL LETTER U
414 0x0076: 0x76, # LATIN SMALL LETTER V
415 0x0077: 0x77, # LATIN SMALL LETTER W
416 0x0078: 0x78, # LATIN SMALL LETTER X
417 0x0079: 0x79, # LATIN SMALL LETTER Y
418 0x007A: 0x7A, # LATIN SMALL LETTER Z
419 0x007B: 0x7B, # LEFT CURLY BRACKET
420 0x007C: 0x7C, # VERTICAL LINE
421 0x007D: 0x7D, # RIGHT CURLY BRACKET
422 0x007E: 0x7E, # TILDE
423 0x007F: 0x7F, # DELETE
424 0x0080: 0x80, # <control>
425 0x0081: 0x81, # <control>
426 0x0082: 0x82, # <control>
427 0x0083: 0x83, # <control>
428 0x0084: 0x84, # <control>
429 0x0085: 0x85, # <control>
430 0x0086: 0x86, # <control>
431 0x0087: 0x87, # <control>
432 0x0088: 0x88, # <control>
433 0x0089: 0x89, # <control>
434 0x008A: 0x8A, # <control>
435 0x008B: 0x8B, # <control>
436 0x008C: 0x8C, # <control>
437 0x008D: 0x8D, # <control>
438 0x008E: 0x8E, # <control>
439 0x008F: 0x8F, # <control>
440 0x0090: 0x90, # <control>
441 0x0091: 0x91, # <control>
442 0x0092: 0x92, # <control>
443 0x0093: 0x93, # <control>
444 0x0094: 0x94, # <control>
445 0x0095: 0x95, # <control>
446 0x0096: 0x96, # <control>
447 0x0097: 0x97, # <control>
448 0x0098: 0x98, # <control>
449 0x0099: 0x99, # <control>
450 0x009A: 0x9A, # <control>
451 0x009B: 0x9B, # <control>
452 0x009C: 0x9C, # <control>
453 0x009D: 0x9D, # <control>
454 0x009E: 0x9E, # <control>
455 0x009F: 0x9F, # <control>
456 0x00A0: 0xA0, # NO-BREAK SPACE
457 0x00A4: 0xA4, # CURRENCY SIGN
458 0x00AD: 0xAD, # SOFT HYPHEN
459 0x060C: 0xAC, # ARABIC COMMA
460 0x061B: 0xBB, # ARABIC SEMICOLON
461 0x061F: 0xBF, # ARABIC QUESTION MARK
462 0x0621: 0xC1, # ARABIC LETTER HAMZA
463 0x0622: 0xC2, # ARABIC LETTER ALEF WITH MADDA ABOVE
464 0x0623: 0xC3, # ARABIC LETTER ALEF WITH HAMZA ABOVE
465 0x0624: 0xC4, # ARABIC LETTER WAW WITH HAMZA ABOVE
466 0x0625: 0xC5, # ARABIC LETTER ALEF WITH HAMZA BELOW
467 0x0626: 0xC6, # ARABIC LETTER YEH WITH HAMZA ABOVE
468 0x0627: 0xC7, # ARABIC LETTER ALEF
469 0x0628: 0xC8, # ARABIC LETTER BEH
470 0x0629: 0xC9, # ARABIC LETTER TEH MARBUTA
471 0x062A: 0xCA, # ARABIC LETTER TEH
472 0x062B: 0xCB, # ARABIC LETTER THEH
473 0x062C: 0xCC, # ARABIC LETTER JEEM
474 0x062D: 0xCD, # ARABIC LETTER HAH
475 0x062E: 0xCE, # ARABIC LETTER KHAH
476 0x062F: 0xCF, # ARABIC LETTER DAL
477 0x0630: 0xD0, # ARABIC LETTER THAL
478 0x0631: 0xD1, # ARABIC LETTER REH
479 0x0632: 0xD2, # ARABIC LETTER ZAIN
480 0x0633: 0xD3, # ARABIC LETTER SEEN
481 0x0634: 0xD4, # ARABIC LETTER SHEEN
482 0x0635: 0xD5, # ARABIC LETTER SAD
483 0x0636: 0xD6, # ARABIC LETTER DAD
484 0x0637: 0xD7, # ARABIC LETTER TAH
485 0x0638: 0xD8, # ARABIC LETTER ZAH
486 0x0639: 0xD9, # ARABIC LETTER AIN
487 0x063A: 0xDA, # ARABIC LETTER GHAIN
488 0x0640: 0xE0, # ARABIC TATWEEL
489 0x0641: 0xE1, # ARABIC LETTER FEH
490 0x0642: 0xE2, # ARABIC LETTER QAF
491 0x0643: 0xE3, # ARABIC LETTER KAF
492 0x0644: 0xE4, # ARABIC LETTER LAM
493 0x0645: 0xE5, # ARABIC LETTER MEEM
494 0x0646: 0xE6, # ARABIC LETTER NOON
495 0x0647: 0xE7, # ARABIC LETTER HEH
496 0x0648: 0xE8, # ARABIC LETTER WAW
497 0x0649: 0xE9, # ARABIC LETTER ALEF MAKSURA
498 0x064A: 0xEA, # ARABIC LETTER YEH
499 0x064B: 0xEB, # ARABIC FATHATAN
500 0x064C: 0xEC, # ARABIC DAMMATAN
501 0x064D: 0xED, # ARABIC KASRATAN
502 0x064E: 0xEE, # ARABIC FATHA
503 0x064F: 0xEF, # ARABIC DAMMA
504 0x0650: 0xF0, # ARABIC KASRA
505 0x0651: 0xF1, # ARABIC SHADDA
506 0x0652: 0xF2, # ARABIC SUKUN
Marc-André Lemburgd9cf5932005-10-24 12:14:59 +0000507}