summaryrefslogtreecommitdiffstats
path: root/Lib/encodings/iso8859_6.py
blob: 3f5ab56a024bc67ab57652baeede33cd3e0bccc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
""" Python Character Mapping Codec generated from '8859-6.TXT' with gencodec.py.

Written by Marc-Andre Lemburg (mal@lemburg.com).

(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
(c) Copyright 2000 Guido van Rossum.

"""#"

import codecs

### 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 = codecs.make_identity_dict(range(256))
decoding_map.update({
        0x00a1: None,
        0x00a2: None,
        0x00a3: None,
        0x00a5: None,
        0x00a6: None,
        0x00a7: None,
        0x00a8: None,
        0x00a9: None,
        0x00aa: None,
        0x00ab: None,
        0x00ac: 0x060c, #       ARABIC COMMA
        0x00ae: None,
        0x00af: None,
        0x00b0: None,
        0x00b1: None,
        0x00b2: None,
        0x00b3: None,
        0x00b4: None,
        0x00b5: None,
        0x00b6: None,
        0x00b7: None,
        0x00b8: None,
        0x00b9: None,
        0x00ba: None,
        0x00bb: 0x061b, #       ARABIC SEMICOLON
        0x00bc: None,
        0x00bd: None,
        0x00be: None,
        0x00bf: 0x061f, #       ARABIC QUESTION MARK
        0x00c0: None,
        0x00c1: 0x0621, #       ARABIC LETTER HAMZA
        0x00c2: 0x0622, #       ARABIC LETTER ALEF WITH MADDA ABOVE
        0x00c3: 0x0623, #       ARABIC LETTER ALEF WITH HAMZA ABOVE
        0x00c4: 0x0624, #       ARABIC LETTER WAW WITH HAMZA ABOVE
        0x00c5: 0x0625, #       ARABIC LETTER ALEF WITH HAMZA BELOW
        0x00c6: 0x0626, #       ARABIC LETTER YEH WITH HAMZA ABOVE
        0x00c7: 0x0627, #       ARABIC LETTER ALEF
        0x00c8: 0x0628, #       ARABIC LETTER BEH
        0x00c9: 0x0629, #       ARABIC LETTER TEH MARBUTA
        0x00ca: 0x062a, #       ARABIC LETTER TEH
        0x00cb: 0x062b, #       ARABIC LETTER THEH
        0x00cc: 0x062c, #       ARABIC LETTER JEEM
        0x00cd: 0x062d, #       ARABIC LETTER HAH
        0x00ce: 0x062e, #       ARABIC LETTER KHAH
        0x00cf: 0x062f, #       ARABIC LETTER DAL
        0x00d0: 0x0630, #       ARABIC LETTER THAL
        0x00d1: 0x0631, #       ARABIC LETTER REH
        0x00d2: 0x0632, #       ARABIC LETTER ZAIN
        0x00d3: 0x0633, #       ARABIC LETTER SEEN
        0x00d4: 0x0634, #       ARABIC LETTER SHEEN
        0x00d5: 0x0635, #       ARABIC LETTER SAD
        0x00d6: 0x0636, #       ARABIC LETTER DAD
        0x00d7: 0x0637, #       ARABIC LETTER TAH
        0x00d8: 0x0638, #       ARABIC LETTER ZAH
        0x00d9: 0x0639, #       ARABIC LETTER AIN
        0x00da: 0x063a, #       ARABIC LETTER GHAIN
        0x00db: None,
        0x00dc: None,
        0x00dd: None,
        0x00de: None,
        0x00df: None,
        0x00e0: 0x0640, #       ARABIC TATWEEL
        0x00e1: 0x0641, #       ARABIC LETTER FEH
        0x00e2: 0x0642, #       ARABIC LETTER QAF
        0x00e3: 0x0643, #       ARABIC LETTER KAF
        0x00e4: 0x0644, #       ARABIC LETTER LAM
        0x00e5: 0x0645, #       ARABIC LETTER MEEM
        0x00e6: 0x0646, #       ARABIC LETTER NOON
        0x00e7: 0x0647, #       ARABIC LETTER HEH
        0x00e8: 0x0648, #       ARABIC LETTER WAW
        0x00e9: 0x0649, #       ARABIC LETTER ALEF MAKSURA
        0x00ea: 0x064a, #       ARABIC LETTER YEH
        0x00eb: 0x064b, #       ARABIC FATHATAN
        0x00ec: 0x064c, #       ARABIC DAMMATAN
        0x00ed: 0x064d, #       ARABIC KASRATAN
        0x00ee: 0x064e, #       ARABIC FATHA
        0x00ef: 0x064f, #       ARABIC DAMMA
        0x00f0: 0x0650, #       ARABIC KASRA
        0x00f1: 0x0651, #       ARABIC SHADDA
        0x00f2: 0x0652, #       ARABIC SUKUN
        0x00f3: None,
        0x00f4: None,
        0x00f5: None,
        0x00f6: None,
        0x00f7: None,
        0x00f8: None,
        0x00f9: None,
        0x00fa: None,
        0x00fb: None,
        0x00fc: None,
        0x00fd: None,
        0x00fe: None,
        0x00ff: None,
})

### Encoding Map

encoding_map = codecs.make_encoding_map(decoding_map)