| 1 | """ Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP864.TXT' with gencodec.py.
|
|---|
| 2 |
|
|---|
| 3 | """#"
|
|---|
| 4 |
|
|---|
| 5 | import codecs
|
|---|
| 6 |
|
|---|
| 7 | ### Codec APIs
|
|---|
| 8 |
|
|---|
| 9 | class Codec(codecs.Codec):
|
|---|
| 10 |
|
|---|
| 11 | def encode(self,input,errors='strict'):
|
|---|
| 12 | return codecs.charmap_encode(input,errors,encoding_map)
|
|---|
| 13 |
|
|---|
| 14 | def decode(self,input,errors='strict'):
|
|---|
| 15 | return codecs.charmap_decode(input,errors,decoding_table)
|
|---|
| 16 |
|
|---|
| 17 | class IncrementalEncoder(codecs.IncrementalEncoder):
|
|---|
| 18 | def encode(self, input, final=False):
|
|---|
| 19 | return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
|---|
| 20 |
|
|---|
| 21 | class IncrementalDecoder(codecs.IncrementalDecoder):
|
|---|
| 22 | def decode(self, input, final=False):
|
|---|
| 23 | return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
|---|
| 24 |
|
|---|
| 25 | class StreamWriter(Codec,codecs.StreamWriter):
|
|---|
| 26 | pass
|
|---|
| 27 |
|
|---|
| 28 | class StreamReader(Codec,codecs.StreamReader):
|
|---|
| 29 | pass
|
|---|
| 30 |
|
|---|
| 31 | ### encodings module API
|
|---|
| 32 |
|
|---|
| 33 | def getregentry():
|
|---|
| 34 | return codecs.CodecInfo(
|
|---|
| 35 | name='cp864',
|
|---|
| 36 | encode=Codec().encode,
|
|---|
| 37 | decode=Codec().decode,
|
|---|
| 38 | incrementalencoder=IncrementalEncoder,
|
|---|
| 39 | incrementaldecoder=IncrementalDecoder,
|
|---|
| 40 | streamreader=StreamReader,
|
|---|
| 41 | streamwriter=StreamWriter,
|
|---|
| 42 | )
|
|---|
| 43 |
|
|---|
| 44 | ### Decoding Map
|
|---|
| 45 |
|
|---|
| 46 | decoding_map = codecs.make_identity_dict(range(256))
|
|---|
| 47 | decoding_map.update({
|
|---|
| 48 | 0x0025: 0x066a, # ARABIC PERCENT SIGN
|
|---|
| 49 | 0x0080: 0x00b0, # DEGREE SIGN
|
|---|
| 50 | 0x0081: 0x00b7, # MIDDLE DOT
|
|---|
| 51 | 0x0082: 0x2219, # BULLET OPERATOR
|
|---|
| 52 | 0x0083: 0x221a, # SQUARE ROOT
|
|---|
| 53 | 0x0084: 0x2592, # MEDIUM SHADE
|
|---|
| 54 | 0x0085: 0x2500, # FORMS LIGHT HORIZONTAL
|
|---|
| 55 | 0x0086: 0x2502, # FORMS LIGHT VERTICAL
|
|---|
| 56 | 0x0087: 0x253c, # FORMS LIGHT VERTICAL AND HORIZONTAL
|
|---|
| 57 | 0x0088: 0x2524, # FORMS LIGHT VERTICAL AND LEFT
|
|---|
| 58 | 0x0089: 0x252c, # FORMS LIGHT DOWN AND HORIZONTAL
|
|---|
| 59 | 0x008a: 0x251c, # FORMS LIGHT VERTICAL AND RIGHT
|
|---|
| 60 | 0x008b: 0x2534, # FORMS LIGHT UP AND HORIZONTAL
|
|---|
| 61 | 0x008c: 0x2510, # FORMS LIGHT DOWN AND LEFT
|
|---|
| 62 | 0x008d: 0x250c, # FORMS LIGHT DOWN AND RIGHT
|
|---|
| 63 | 0x008e: 0x2514, # FORMS LIGHT UP AND RIGHT
|
|---|
| 64 | 0x008f: 0x2518, # FORMS LIGHT UP AND LEFT
|
|---|
| 65 | 0x0090: 0x03b2, # GREEK SMALL BETA
|
|---|
| 66 | 0x0091: 0x221e, # INFINITY
|
|---|
| 67 | 0x0092: 0x03c6, # GREEK SMALL PHI
|
|---|
| 68 | 0x0093: 0x00b1, # PLUS-OR-MINUS SIGN
|
|---|
| 69 | 0x0094: 0x00bd, # FRACTION 1/2
|
|---|
| 70 | 0x0095: 0x00bc, # FRACTION 1/4
|
|---|
| 71 | 0x0096: 0x2248, # ALMOST EQUAL TO
|
|---|
| 72 | 0x0097: 0x00ab, # LEFT POINTING GUILLEMET
|
|---|
| 73 | 0x0098: 0x00bb, # RIGHT POINTING GUILLEMET
|
|---|
| 74 | 0x0099: 0xfef7, # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
|
|---|
| 75 | 0x009a: 0xfef8, # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
|
|---|
| 76 | 0x009b: None, # UNDEFINED
|
|---|
| 77 | 0x009c: None, # UNDEFINED
|
|---|
| 78 | 0x009d: 0xfefb, # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
|
|---|
| 79 | 0x009e: 0xfefc, # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
|
|---|
| 80 | 0x009f: None, # UNDEFINED
|
|---|
| 81 | 0x00a1: 0x00ad, # SOFT HYPHEN
|
|---|
| 82 | 0x00a2: 0xfe82, # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
|
|---|
| 83 | 0x00a5: 0xfe84, # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
|
|---|
| 84 | 0x00a6: None, # UNDEFINED
|
|---|
| 85 | 0x00a7: None, # UNDEFINED
|
|---|
| 86 | 0x00a8: 0xfe8e, # ARABIC LETTER ALEF FINAL FORM
|
|---|
| 87 | 0x00a9: 0xfe8f, # ARABIC LETTER BEH ISOLATED FORM
|
|---|
| 88 | 0x00aa: 0xfe95, # ARABIC LETTER TEH ISOLATED FORM
|
|---|
| 89 | 0x00ab: 0xfe99, # ARABIC LETTER THEH ISOLATED FORM
|
|---|
| 90 | 0x00ac: 0x060c, # ARABIC COMMA
|
|---|
| 91 | 0x00ad: 0xfe9d, # ARABIC LETTER JEEM ISOLATED FORM
|
|---|
| 92 | 0x00ae: 0xfea1, # ARABIC LETTER HAH ISOLATED FORM
|
|---|
| 93 | 0x00af: 0xfea5, # ARABIC LETTER KHAH ISOLATED FORM
|
|---|
| 94 | 0x00b0: 0x0660, # ARABIC-INDIC DIGIT ZERO
|
|---|
| 95 | 0x00b1: 0x0661, # ARABIC-INDIC DIGIT ONE
|
|---|
| 96 | 0x00b2: 0x0662, # ARABIC-INDIC DIGIT TWO
|
|---|
| 97 | 0x00b3: 0x0663, # ARABIC-INDIC DIGIT THREE
|
|---|
| 98 | 0x00b4: 0x0664, # ARABIC-INDIC DIGIT FOUR
|
|---|
| 99 | 0x00b5: 0x0665, # ARABIC-INDIC DIGIT FIVE
|
|---|
| 100 | 0x00b6: 0x0666, # ARABIC-INDIC DIGIT SIX
|
|---|
| 101 | 0x00b7: 0x0667, # ARABIC-INDIC DIGIT SEVEN
|
|---|
| 102 | 0x00b8: 0x0668, # ARABIC-INDIC DIGIT EIGHT
|
|---|
| 103 | 0x00b9: 0x0669, # ARABIC-INDIC DIGIT NINE
|
|---|
| 104 | 0x00ba: 0xfed1, # ARABIC LETTER FEH ISOLATED FORM
|
|---|
| 105 | 0x00bb: 0x061b, # ARABIC SEMICOLON
|
|---|
| 106 | 0x00bc: 0xfeb1, # ARABIC LETTER SEEN ISOLATED FORM
|
|---|
| 107 | 0x00bd: 0xfeb5, # ARABIC LETTER SHEEN ISOLATED FORM
|
|---|
| 108 | 0x00be: 0xfeb9, # ARABIC LETTER SAD ISOLATED FORM
|
|---|
| 109 | 0x00bf: 0x061f, # ARABIC QUESTION MARK
|
|---|
| 110 | 0x00c0: 0x00a2, # CENT SIGN
|
|---|
| 111 | 0x00c1: 0xfe80, # ARABIC LETTER HAMZA ISOLATED FORM
|
|---|
| 112 | 0x00c2: 0xfe81, # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
|
|---|
| 113 | 0x00c3: 0xfe83, # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
|
|---|
| 114 | 0x00c4: 0xfe85, # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
|
|---|
| 115 | 0x00c5: 0xfeca, # ARABIC LETTER AIN FINAL FORM
|
|---|
| 116 | 0x00c6: 0xfe8b, # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
|
|---|
| 117 | 0x00c7: 0xfe8d, # ARABIC LETTER ALEF ISOLATED FORM
|
|---|
| 118 | 0x00c8: 0xfe91, # ARABIC LETTER BEH INITIAL FORM
|
|---|
| 119 | 0x00c9: 0xfe93, # ARABIC LETTER TEH MARBUTA ISOLATED FORM
|
|---|
| 120 | 0x00ca: 0xfe97, # ARABIC LETTER TEH INITIAL FORM
|
|---|
| 121 | 0x00cb: 0xfe9b, # ARABIC LETTER THEH INITIAL FORM
|
|---|
| 122 | 0x00cc: 0xfe9f, # ARABIC LETTER JEEM INITIAL FORM
|
|---|
| 123 | 0x00cd: 0xfea3, # ARABIC LETTER HAH INITIAL FORM
|
|---|
| 124 | 0x00ce: 0xfea7, # ARABIC LETTER KHAH INITIAL FORM
|
|---|
| 125 | 0x00cf: 0xfea9, # ARABIC LETTER DAL ISOLATED FORM
|
|---|
| 126 | 0x00d0: 0xfeab, # ARABIC LETTER THAL ISOLATED FORM
|
|---|
|
|---|