• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #
2 # big5.py: Python Unicode Codec for BIG5
3 #
4 # Written by Hye-Shik Chang <perky@FreeBSD.org>
5 #
6 
7 import _codecs_tw, codecs
8 import _multibytecodec as mbc
9 
10 codec = _codecs_tw.getcodec('big5')
11 
12 class Codec(codecs.Codec):
13     encode = codec.encode
14     decode = codec.decode
15 
16 class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
17                          codecs.IncrementalEncoder):
18     codec = codec
19 
20 class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
21                          codecs.IncrementalDecoder):
22     codec = codec
23 
24 class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
25     codec = codec
26 
27 class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
28     codec = codec
29 
30 def getregentry():
31     return codecs.CodecInfo(
32         name='big5',
33         encode=Codec().encode,
34         decode=Codec().decode,
35         incrementalencoder=IncrementalEncoder,
36         incrementaldecoder=IncrementalDecoder,
37         streamreader=StreamReader,
38         streamwriter=StreamWriter,
39     )
40