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