a =b$@sddlmZmZmZddlmZmZmZddlm Z m Z m Z ddl m Z mZmZddlmZmZmZGdddeZGdd d eZGd d d eZGd d d eZGdddeZGdddeZGdddeZdS))EUCTW_CHAR_TO_FREQ_ORDEREUCTW_TABLE_SIZE EUCTW_TYPICAL_DISTRIBUTION_RATIO)EUCKR_CHAR_TO_FREQ_ORDEREUCKR_TABLE_SIZE EUCKR_TYPICAL_DISTRIBUTION_RATIO)GB2312_CHAR_TO_FREQ_ORDERGB2312_TABLE_SIZE!GB2312_TYPICAL_DISTRIBUTION_RATIO)BIG5_CHAR_TO_FREQ_ORDERBIG5_TABLE_SIZEBIG5_TYPICAL_DISTRIBUTION_RATIO)JIS_CHAR_TO_FREQ_ORDERJIS_TABLE_SIZEJIS_TYPICAL_DISTRIBUTION_RATIOc@sLeZdZdZdZdZdZddZddZd d Z d d Z d dZ ddZ dS)CharDistributionAnalysisigGz?g{Gz?cCs0d|_d|_d|_d|_d|_d|_|dSN)_char_to_freq_order _table_sizetypical_distribution_ratio_done _total_chars _freq_charsresetselfr|d|d}}|dkr6|dkr6d|d|dSdSdS)Nr rr>r8r7r"rrr.r: second_charrrrr#sz$GB2312DistributionAnalysis.get_orderr;rrr4rr?s r?cs$eZdZfddZddZZS)Big5DistributionAnalysiscs$tt|t|_t|_t|_dSr) r3rBrr rr rr rrr4rrrsz!Big5DistributionAnalysis.__init__cCsX|d|d}}|dkrP|dkr:d|d|ddSd|d|dSndSdS) Nr rr8?@r"rr@rrrr#s z"Big5DistributionAnalysis.get_orderr;rrr4rrBs rBcs$eZdZfddZddZZS)SJISDistributionAnalysiscs$tt|t|_t|_t|_dSr) r3rGrrrrrrrrr4rrrsz!SJISDistributionAnalysis.__init__cCsr|d|d}}|dkr0|dkr0d|d}n&|dkrR|dkrRd|dd}nd S||d }|d krnd }|S) Nr rr"rFr)rr.r:rAr%rrrr#s z"SJISDistributionAnalysis.get_orderr;rrr4rrGs rGcs$eZdZfddZddZZS)EUCJPDistributionAnalysiscs$tt|t|_t|_t|_dSr) r3rOrrrrrrrrr4rrrsz"EUCJPDistributionAnalysis.__init__cCs0|d}|dkr(d|d|ddSdSdS)Nr r7r8rr"r)rr.r$rrrr#sz#EUCJPDistributionAnalysis.get_orderr;rrr4rrOs rON)Z euctwfreqrrrZ euckrfreqrrrZ gb2312freqrr r Zbig5freqr r r Zjisfreqrrrobjectrr2r=r?rBrGrOrrrrsI