Home | History | Annotate | Download | only in encodings
      1 """ Python Character Mapping Codec iso8859_8 generated from 'MAPPINGS/ISO8859/8859-8.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_table)
     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_table)[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='iso8859-8',
     36         encode=Codec().encode,
     37         decode=Codec().decode,
     38         incrementalencoder=IncrementalEncoder,
     39         incrementaldecoder=IncrementalDecoder,
     40         streamreader=StreamReader,
     41         streamwriter=StreamWriter,
     42     )
     43 
     44 
     45 ### Decoding Table
     46 
     47 decoding_table = (
     48     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
    209     u'\ufffe'
    210     u'\xa2'     #  0xA2 -> CENT SIGN
    211     u'\xa3'     #  0xA3 -> POUND SIGN
    212     u'\xa4'     #  0xA4 -> CURRENCY SIGN
    213     u'\xa5'     #  0xA5 -> YEN SIGN
    214     u'\xa6'     #  0xA6 -> BROKEN BAR
    215     u'\xa7'     #  0xA7 -> SECTION SIGN
    216     u'\xa8'     #  0xA8 -> DIAERESIS
    217     u'\xa9'     #  0xA9 -> COPYRIGHT SIGN
    218     u'\xd7'     #  0xAA -> MULTIPLICATION SIGN
    219     u'\xab'     #  0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
    220     u'\xac'     #  0xAC -> NOT SIGN
    221     u'\xad'     #  0xAD -> SOFT HYPHEN
    222     u'\xae'     #  0xAE -> REGISTERED SIGN
    223     u'\xaf'     #  0xAF -> MACRON
    224     u'\xb0'     #  0xB0 -> DEGREE SIGN
    225     u'\xb1'     #  0xB1 -> PLUS-MINUS SIGN
    226     u'\xb2'     #  0xB2 -> SUPERSCRIPT TWO
    227     u'\xb3'     #  0xB3 -> SUPERSCRIPT THREE
    228     u'\xb4'     #  0xB4 -> ACUTE ACCENT
    229     u'\xb5'     #  0xB5 -> MICRO SIGN
    230     u'\xb6'     #  0xB6 -> PILCROW SIGN
    231     u'\xb7'     #  0xB7 -> MIDDLE DOT
    232     u'\xb8'     #  0xB8 -> CEDILLA
    233     u'\xb9'     #  0xB9 -> SUPERSCRIPT ONE
    234     u'\xf7'     #  0xBA -> DIVISION SIGN
    235     u'\xbb'     #  0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
    236     u'\xbc'     #  0xBC -> VULGAR FRACTION ONE QUARTER
    237     u'\xbd'     #  0xBD -> VULGAR FRACTION ONE HALF
    238     u'\xbe'     #  0xBE -> VULGAR FRACTION THREE QUARTERS
    239     u'\ufffe'
    240     u'\ufffe'
    241     u'\ufffe'
    242     u'\ufffe'
    243     u'\ufffe'
    244     u'\ufffe'
    245     u'\ufffe'
    246     u'\ufffe'
    247     u'\ufffe'
    248     u'\ufffe'
    249     u'\ufffe'
    250     u'\ufffe'
    251     u'\ufffe'
    252     u'\ufffe'
    253     u'\ufffe'
    254     u'\ufffe'
    255     u'\ufffe'
    256     u'\ufffe'
    257     u'\ufffe'
    258     u'\ufffe'
    259     u'\ufffe'
    260     u'\ufffe'
    261     u'\ufffe'
    262     u'\ufffe'
    263     u'\ufffe'
    264     u'\ufffe'
    265     u'\ufffe'
    266     u'\ufffe'
    267     u'\ufffe'
    268     u'\ufffe'
    269     u'\ufffe'
    270     u'\ufffe'
    271     u'\u2017'   #  0xDF -> DOUBLE LOW LINE
    272     u'\u05d0'   #  0xE0 -> HEBREW LETTER ALEF
    273     u'\u05d1'   #  0xE1 -> HEBREW LETTER BET
    274     u'\u05d2'   #  0xE2 -> HEBREW LETTER GIMEL
    275     u'\u05d3'   #  0xE3 -> HEBREW LETTER DALET
    276     u'\u05d4'   #  0xE4 -> HEBREW LETTER HE
    277     u'\u05d5'   #  0xE5 -> HEBREW LETTER VAV
    278     u'\u05d6'   #  0xE6 -> HEBREW LETTER ZAYIN
    279     u'\u05d7'   #  0xE7 -> HEBREW LETTER HET
    280     u'\u05d8'   #  0xE8 -> HEBREW LETTER TET
    281     u'\u05d9'   #  0xE9 -> HEBREW LETTER YOD
    282     u'\u05da'   #  0xEA -> HEBREW LETTER FINAL KAF
    283     u'\u05db'   #  0xEB -> HEBREW LETTER KAF
    284     u'\u05dc'   #  0xEC -> HEBREW LETTER LAMED
    285     u'\u05dd'   #  0xED -> HEBREW LETTER FINAL MEM
    286     u'\u05de'   #  0xEE -> HEBREW LETTER MEM
    287     u'\u05df'   #  0xEF -> HEBREW LETTER FINAL NUN
    288     u'\u05e0'   #  0xF0 -> HEBREW LETTER NUN
    289     u'\u05e1'   #  0xF1 -> HEBREW LETTER SAMEKH
    290     u'\u05e2'   #  0xF2 -> HEBREW LETTER AYIN
    291     u'\u05e3'   #  0xF3 -> HEBREW LETTER FINAL PE
    292     u'\u05e4'   #  0xF4 -> HEBREW LETTER PE
    293     u'\u05e5'   #  0xF5 -> HEBREW LETTER FINAL TSADI
    294     u'\u05e6'   #  0xF6 -> HEBREW LETTER TSADI
    295     u'\u05e7'   #  0xF7 -> HEBREW LETTER QOF
    296     u'\u05e8'   #  0xF8 -> HEBREW LETTER RESH
    297     u'\u05e9'   #  0xF9 -> HEBREW LETTER SHIN
    298     u'\u05ea'   #  0xFA -> HEBREW LETTER TAV
    299     u'\ufffe'
    300     u'\ufffe'
    301     u'\u200e'   #  0xFD -> LEFT-TO-RIGHT MARK
    302     u'\u200f'   #  0xFE -> RIGHT-TO-LEFT MARK
    303     u'\ufffe'
    304 )
    305 
    306 ### Encoding table
    307 encoding_table=codecs.charmap_build(decoding_table)
    308