MigemoをUTF-8化する

Migemoはローマ字から直接日本語を検索するすげえツールなのだが、開発停止されているようだ。というかもう完成されたソフトウェアなんだろうね。今に至るまで10年近くずーっと愛用している。
ただ、文字コードEUC-JPのみってのがイケてない。今時UTF-8だろ?てなわけでパッチ。「-U」オプションをつけるとUTF-8で出力してくれるぞ。あっさりnkfかましてるだけ。明白。

MigemoUTF-8化しないと w3m で system_charset = UTF-8 にした状態だとMigemoが効かないのだ。

diff --git a/bin/migemo b/bin/migemo
index 5eacf81..22c1121 100755
--- a/bin/migemo
+++ b/bin/migemo
@@ -44,6 +44,7 @@ Usage: migemo [OPTION]
   -s, --separator=STRING Insert String to each regular expression.
   -n, --nocache		 Don't use caches.
   -l, --logging=FILE	 Log patterns to FILE.
+  -U, --utf-8            UTF-8 output instead of EUC-JP.
 "
 end
 
@@ -61,7 +62,8 @@ def parse_options
 		     ['--insert', '-i',		GetoptLong::REQUIRED_ARGUMENT],
 		     ['--separator', '-s',	GetoptLong::REQUIRED_ARGUMENT],
 		     ['--logging', '-l',	GetoptLong::REQUIRED_ARGUMENT],
-		     ['--nocache', '-n',	GetoptLong::NO_ARGUMENT])
+		     ['--nocache', '-n',	GetoptLong::NO_ARGUMENT],
+                     ['--utf8', '-U',           GetoptLong::NO_ARGUMENT])
 
   parser.each_option do |name, arg|
     options[name.sub(/^--/, "")] = arg
@@ -156,7 +158,11 @@ def main
       regex_str = [regex_str1, regex_str2].join(bar)
     end
 
-    puts regex_str.kconv(Kconv::EUC, Kconv::UTF8)
+    if options['utf8']
+      puts NKF.nkf("-Ew", regex_str)
+    else
+      puts regex_str
+    end
     puts options['separator'] if options['separator']
     logger.puts(pattern) if logger
   end