diff options
Diffstat (limited to 'ext/nkf/lib/kconv.rb')
-rw-r--r-- | ext/nkf/lib/kconv.rb | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/ext/nkf/lib/kconv.rb b/ext/nkf/lib/kconv.rb new file mode 100644 index 0000000000..bfd276330d --- /dev/null +++ b/ext/nkf/lib/kconv.rb @@ -0,0 +1,58 @@ +require 'nkf' + +module Kconv + AUTO = NKF::AUTO + JIS = NKF::JIS + EUC = NKF::EUC + SJIS = NKF::SJIS + BINARY = NKF::BINARY + NOCONV = NKF::NOCONV + UNKNOWN = NKF::UNKNOWN + def kconv(str, out_code, in_code = AUTO) + opt = '-' + case in_code + when NKF::JIS + opt << 'J' + when NKF::EUC + opt << 'E' + when NKF::SJIS + opt << 'S' + end + + case out_code + when NKF::JIS + opt << 'j' + when NKF::EUC + opt << 'e' + when NKF::SJIS + opt << 's' + when NKF::NOCONV + return str + end + + opt = '' if opt == '-' + + NKF::nkf(opt, str) + end + module_function :kconv + + def tojis(str) + NKF::nkf('-j', str) + end + module_function :tojis + + def toeuc(str) + NKF::nkf('-e', str) + end + module_function :toeuc + + def tosjis(str) + NKF::nkf('-s', str) + end + module_function :tosjis + + def guess(str) + NKF::guess(str) + end + module_function :guess +end |