Statistics
| Revision:

svn-gvsig-desktop / tags / v1_1_Build_1013 / extensions / extScripting / scripts / jython / Lib / encodings / cp1254.py @ 13521

History | View | Annotate | Download (2.46 KB)

1 5782 jmvivo
""" Python Character Mapping Codec generated from 'CP1254.TXT' with gencodec.py.
2

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

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

8
"""#"
9
10
import codecs
11
12
### Codec APIs
13
14
class Codec(codecs.Codec):
15
16
    def encode(self,input,errors='strict'):
17
18
        return codecs.charmap_encode(input,errors,encoding_map)
19
20
    def decode(self,input,errors='strict'):
21
22
        return codecs.charmap_decode(input,errors,decoding_map)
23
24
class StreamWriter(Codec,codecs.StreamWriter):
25
    pass
26
27
class StreamReader(Codec,codecs.StreamReader):
28
    pass
29
30
### encodings module API
31
32
def getregentry():
33
34
    return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
35
36
### Decoding Map
37
38
decoding_map = codecs.make_identity_dict(range(256))
39
decoding_map.update({
40
        0x0080: 0x20ac,        # EURO SIGN
41
        0x0081: None,        # UNDEFINED
42
        0x0082: 0x201a,        # SINGLE LOW-9 QUOTATION MARK
43
        0x0083: 0x0192,        # LATIN SMALL LETTER F WITH HOOK
44
        0x0084: 0x201e,        # DOUBLE LOW-9 QUOTATION MARK
45
        0x0085: 0x2026,        # HORIZONTAL ELLIPSIS
46
        0x0086: 0x2020,        # DAGGER
47
        0x0087: 0x2021,        # DOUBLE DAGGER
48
        0x0088: 0x02c6,        # MODIFIER LETTER CIRCUMFLEX ACCENT
49
        0x0089: 0x2030,        # PER MILLE SIGN
50
        0x008a: 0x0160,        # LATIN CAPITAL LETTER S WITH CARON
51
        0x008b: 0x2039,        # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
52
        0x008c: 0x0152,        # LATIN CAPITAL LIGATURE OE
53
        0x008d: None,        # UNDEFINED
54
        0x008e: None,        # UNDEFINED
55
        0x008f: None,        # UNDEFINED
56
        0x0090: None,        # UNDEFINED
57
        0x0091: 0x2018,        # LEFT SINGLE QUOTATION MARK
58
        0x0092: 0x2019,        # RIGHT SINGLE QUOTATION MARK
59
        0x0093: 0x201c,        # LEFT DOUBLE QUOTATION MARK
60
        0x0094: 0x201d,        # RIGHT DOUBLE QUOTATION MARK
61
        0x0095: 0x2022,        # BULLET
62
        0x0096: 0x2013,        # EN DASH
63
        0x0097: 0x2014,        # EM DASH
64
        0x0098: 0x02dc,        # SMALL TILDE
65
        0x0099: 0x2122,        # TRADE MARK SIGN
66
        0x009a: 0x0161,        # LATIN SMALL LETTER S WITH CARON
67
        0x009b: 0x203a,        # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
68
        0x009c: 0x0153,        # LATIN SMALL LIGATURE OE
69
        0x009d: None,        # UNDEFINED
70
        0x009e: None,        # UNDEFINED
71
        0x009f: 0x0178,        # LATIN CAPITAL LETTER Y WITH DIAERESIS
72
        0x00d0: 0x011e,        # LATIN CAPITAL LETTER G WITH BREVE
73
        0x00dd: 0x0130,        # LATIN CAPITAL LETTER I WITH DOT ABOVE
74
        0x00de: 0x015e,        # LATIN CAPITAL LETTER S WITH CEDILLA
75
        0x00f0: 0x011f,        # LATIN SMALL LETTER G WITH BREVE
76
        0x00fd: 0x0131,        # LATIN SMALL LETTER DOTLESS I
77
        0x00fe: 0x015f,        # LATIN SMALL LETTER S WITH CEDILLA
78
})
79
80
### Encoding Map
81
82
encoding_map = {}
83
for k,v in decoding_map.items():
84
    encoding_map[v] = k