14adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# 24adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# big5.py: Python Unicode Codec for BIG5 34adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# 44adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Written by Hye-Shik Chang <perky@FreeBSD.org> 54adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# 64adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 74adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoimport _codecs_tw, codecs 84adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoimport _multibytecodec as mbc 94adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaocodec = _codecs_tw.getcodec('big5') 114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoclass Codec(codecs.Codec): 134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao encode = codec.encode 144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao decode = codec.decode 154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder, 174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao codecs.IncrementalEncoder): 184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao codec = codec 194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder, 214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao codecs.IncrementalDecoder): 224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao codec = codec 234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoclass StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader): 254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao codec = codec 264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoclass StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter): 284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao codec = codec 294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaodef getregentry(): 314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao return codecs.CodecInfo( 324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao name='big5', 334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao encode=Codec().encode, 344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao decode=Codec().decode, 354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao incrementalencoder=IncrementalEncoder, 364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao incrementaldecoder=IncrementalDecoder, 374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao streamreader=StreamReader, 384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao streamwriter=StreamWriter, 394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ) 40