ごとけんです

In message "[ruby-list:15536] Re: 半 to 全"
    on 99/07/19, Kenji Horikoshi <k-horix / s.email.ne.jp> writes:

>> 出沢です
>> 
>> 半角片仮名を全角平仮名に替えるやつってありそうで
>> みつからない、、、
>> どなたか作ってませんか?
>
>って,よくみたら,半角カナ→全角平仮名ですか。
>早とちりでした。^^;

あ、ほんとだ ^^;;
じゃあ kakasi -kH ですね (もういいって > 俺)

-- gotoken

class String require "kconv" def hankakukana_to_zenkakukana(code = nil) code = Kconv::guess(self) unless code tmp = Kconv::kconv(self,Kconv::SJIS,code) tmp = Kconv::kconv(tmp,Kconv::EUC,Kconv::SJIS) Kconv::kconv(tmp,code,Kconv::EUC) end ### Assume that self is EUC coded! ### def to_zenkaku_hiragana split('').collect { |c| c[0] = 0xa4 if c.size == 2 && c[0] == 0xa5 c }.join('') end def to_zenkaku_katakana split('').collect { |c| c[0] = 0xa5 if c.size == 2 && c[0] == 0xa4 c }.join('') end def swap_kana split('').collect { |c| if c.size == 2 && c[0] == 0xa4 c[0] = 0xa5 elsif c.size == 2 && c[0] == 0xa5 c[0] = 0xa4 end c }.join('') end end if __FILE__ == $0 require "kconv" zact = "\x8e\xd4\x8e\xc6\xa4\xf2\xbc\xe8\xa4\xeb" puts "# May your terminal display EUC characters..." puts zact puts zact = Kconv::toeuc(zact.hankakukana_to_zenkakukana) puts zact.to_zenkaku_hiragana puts zact.to_zenkaku_katakana puts zact.swap_kana end