*Migemoとは [#yeba82f6]
 Migemoとはローマ字のまま日本語を検索できるようにするツールで、 日本語検索の際にいちいち漢字変換する必要が無く、簡単に検索できます。とても便利。
 
 *link [#c4c84885]
 -[[Migemo: ローマ字のまま日本語をインクリメンタル検索 :http://namazu.org/~satoru/migemo/]]  公式
 -[[C/Migemo:http://www.kaoriya.net/#CMIGEMO]] MigemoをCで記述したもので、若干容易に使用できます。 
 -[[インクリメンタルサーチと置換:http://www.bookshelf.jp/soft/meadow_49.html]]
 -[[migemo:http://pess.no-ip.org/slack/migemo]]
 
 *インストール [#wbc9d7e8]
 公式ページの説明に従えば良いですが、一般ユーザ権限しか無い場合、.rbファイルは自分のHOMEに放り込むしかありません。そんな時は環境変数 RUBYLIB として適宜自分の置き場所を指定してやる必要があります。
 
 *Meadowで使用 [#dd16f309]
 基本的にはEmacs上で使用するものです。必要なもの等は上記の公式ページから知ることができます。 残念なことにWindows上のMeadowで使用するには若干の作業が必要となります。 私の環境では、[[こちらの「migemo」というページ:http://www4.kcn.ne.jp/~boochang/emacs/migemo.html]]を参考にして以下のようにしたら動作しました。 
 **前準備 [#q4540746]
 -[[Cygwin:http://www.cygwin.com/]]をインストールします。開発環境や[[ruby:http://www.ruby-lang.org/ja/]]を入れるためです。一度cygwinなしでのビルドを試みたのですが、改行コードやらの事情が面倒で難しそうなので挫折しました('06 11/20)。後に[[Meadow:http://www.meadowy.org/meadow/wiki/]]を、[[APEL:http://cvs.m17n.org/elisp/APEL/]] と一緒にインストールしてしまいます(パッケージがあるようです)。 そして、心臓部となる[[Migemo:http://namazu.org/~satoru/migemo/]]、[[SKK-JISYO.L:http://www.maid.ne.jp/~toru/skk-dic/dic_orig/SKK-JISYO.L.gz]]、[[Ruby/Romkan:http://namazu.org/~satoru/ruby-romkan/]]、[[Ruby/Bsearch:http://namazu.org/~satoru/ruby-bsearch/]]を入手し、展開します。 
 **RomkanとBsearch [#o8fc83e4]
 先の解凍によって、romkan.rb と bsearch.rb を得ます。これらを /usr/lib/ruby/site_ruby にコピーします。ディレクトリがなかったら作成しておきます。 
 **コンパイル [#xb733164]
 Migemoを解凍したディレクトリに移り以下のようにします(ファイルパスは適宜変更して下さい)。 その際、入手した SKK-JISYO.L をそのディレクトリに忘れずに入れておくようにします。 
 
  $ ./configure --with-emacs=/cygdrive/f/meadow/meadow2/2.00b2/bin/Meadow.exe \
   --with-lispdir=/cygdrive/f/meadow/meadow2/2.00b2/site-lisp
  $ make
  $ make install
 そして、migemo 実行ファイルの記述を少し修正します。/usr/local/bin/migemoの先頭行を、 #!/usr/bin/ruby と書換えます。 
 **.emacs [#bf84e794]
 Meadowの.emacsに以下の記述を加えます。 
  (setq migemo-directory "f:/cygwin/usr/local/share/migemo")
  (load "migemo")
 こちらも環境に応じて変更して下さい。
 
 *NTEmacsでC/Migemoを使用 [#l423e1b6]
 別にMeadowと対比するわけではないのですが、セットアップ内容をメモします。内容は基本的に[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]の写しです。
 別にMeadowと対比するわけではないのですが、セットアップ内容をメモします。内容は基本的に[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]の写しです。手元のMeadow3とNTEmacs 21.3.1で問題無く動いているようです。
 
 **出来合のバイナリを頂く [#kab88747]
 **入手 [#b5c685dc]
 どちらでもよいが、自分でコンパイルした方がバージョンも後だし、最適化も効くのでよいかも?
 ****出来合のバイナリを頂く [#kab88747]
 
 -[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]からコンパイル済みバイナリを入手(cmigemo-1.1.013.lzh)
 -dictディレクトリの中身の漢字コードはEUCだが、これをShift-JISに変換する。なぜかは(私のスキル不足により)わからないが、EUCのままだと私の環境ではemacs経由のcmigemoの挙動がおかしかった。
 
 **自分でコンパイルする [#d70645b8]
 ***自分でコンパイルする [#d70645b8]
 
 -[[C/migemo:http://www.kaoriya.net/#CMIGEMO]]と[[Migemo: ローマ字のまま日本語をインクリメンタル検索:http://0xcc.net/migemo/]]からソースを頂いてくる。私は cmigemo-1.2.tar.bz2 と migemo-0.40.tar.gz を頂いてきた。
 -migemoを展開し、migemo.el.in 中(50行目だった)
  (defvar migemo-directory "@pkgdatadir@"
 の "@pkgdatadir@" を適当に "/usr/local/share/migemo" とかにしておく。(雰囲気的に。後の.emacsの設定により、この値は意味を失う)
 -cmigemoを展開し、
 の "@pkgdatadir@" を適当に "/usr/local/share/migemo" とかにしておく。(雰囲気的に。後の.emacsの設定により、この値は意味を失う)で、migemo.elに改名する。
 -cmigemoを展開し、compile/Make_mvc 中の最適化オプションを /G6 (Pen IIIまで) から /G7 (Pen4 以降) に変える(お好み)。config.mk中のHTTPをwgetにする。そして
  nmake msvc
  nmake msvc-dict
 としてビルド。実行ファイルも辞書も出来上がる。私の環境はMSVC++ .NET 2003
 
 **ファイルの配置と設定 [#je7f4c56]
 
 
 
 -cmigemo.exeとmigemo.dllをemacs本体と同じディレクトリにコピー(パスが通っている別の場所でもOK)。
 -migemo.elをsite-lispにコピー(load-pathの通ってる別の場所でもOK)。
 -dictディレクトリの中身の漢字コードはEUCだが、これをShift-JISに変換する。なぜかは(私のスキル不足により)わからないが、EUCのままだと私の環境ではemacs経由のcmigemoの挙動がおかしかった。で、ディレクトリごとsite-lispにコピー(どこでも良い。場所は.emacsで指定する)
 -site-lispにdictディレクトリを作製し、
 --han2zen.dat
 --hira2kata.dat
 --migemo-dict
 --roma2hira.dat
 
 を放り込む。漢字コードはSJIS
 
 -.emacsに下記を加える。この記述は99%[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]と同じです。
 
  ;; 基本設定
  (setq migemo-command "cmigemo")
  (setq migemo-options '("-q" "--emacs"))
  ;; migemo-dict のパスを指定
  (setq migemo-dictionary "C:/programs/emacs-21.3/site-lisp/dict/migemo-dict")
  (setq migemo-user-dictionary nil)
  (setq migemo-regex-dictionary nil)
  
  ;; キャッシュ機能を利用する
  (setq migemo-use-pattern-alist t)
  (setq migemo-use-frequent-pattern-alist t)
  (setq migemo-pattern-alist-length 1024)
  ;; 辞書の文字コードを指定.
  (setq migemo-coding-system 'japanese-shift-jis-unix) ;;; <= EUCではない
  
  (load-library "migemo")
  ;; 起動時に初期化も行う
  (migemo-init)
 
 Meadow3についても同様にすればうまく使えているようでした。
 
 
 
 *NTEmacsでC/Migemoを使用 [#l423e1b6]
 別にMeadowと対比するわけではないのですが、セットアップ内容をメモします。最初にこのメモを記したのは'05のころだったと思うのですが、'06 11/20 に、どうも検索結果がおかしいぞということで調べてみたら、辞書の文字コードが結構大事なパラメータであることに気付きました。
 
 -[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]にC/Migemoのコンパイル済みバイナリがあるのでそれを入手(cmigemo-1.1.013.lzh)
 -cmigemo.exeとmigemo.dllをemacs本体と同じディレクトリにコピー(パスが通っている別の場所でもOK)。
 -migemo.elをsite-lispにコピー(load-pathの通ってる別の場所でもOK)。
 -dictディレクトリの中身の漢字コードはEUCだが、これをShift-JISに変換する。なぜかは(私のスキル不足により)わからないが、EUCのままだと私の環境ではemacs経由のcmigemoの挙動がおかしかった。で、ディレクトリごとsite-lispにコピー(どこでも良い。場所は.emacsで指定する)
 -.emacsに下記を加える。この記述は99%[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]と同じです。
 
  ;; 基本設定
  (setq migemo-command "cmigemo")
  (setq migemo-options '("-q" "--emacs"))
  ;; migemo-dict のパスを指定
  (setq migemo-dictionary "C:/programs/emacs-21.3/site-lisp/dict/migemo-dict")
  (setq migemo-user-dictionary nil)
  (setq migemo-regex-dictionary nil)
  
  ;; キャッシュ機能を利用する
  (setq migemo-use-pattern-alist t)
  (setq migemo-use-frequent-pattern-alist t)
  (setq migemo-pattern-alist-length 1024)
  ;; 辞書の文字コードを指定.
  (setq migemo-coding-system 'japanese-shift-jis-unix) ;;; <= EUCではない
  
  (load-library "migemo")
  ;; 起動時に初期化も行う
  (migemo-init)
 
 Meadow3についても同様にすればうまく使えているようでした。
 
 //*NTEmacsでC/Migemoを使用 [#l423e1b6]
 //別にMeadowと対比するわけではないのですが、セットアップ内容をメモします。最初にこのメモを記したのは'05のころだったと思うのですが、'06 11/20 に、どうも検索結果がおかしいぞということで調べてみたら、辞書の文字コードが結構大事なパラメータであることに気付きました。
 //
 //-[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]にC/Migemoのコンパイル済みバイナリがあるのでそれを入手(cmigemo-1.1.013.lzh)
 //-cmigemo.exeとmigemo.dllをemacs本体と同じディレクトリにコピー(パスが通っている別の場所でもOK)。
 //-migemo.elをsite-lispにコピー(load-pathの通ってる別の場所でもOK)。
 //-dictディレクトリの中身の漢字コードはEUCだが、これをShift-JISに変換する。なぜかは(私のスキル不足により)わからないが、EUCのままだと私の環境ではemacs経由のcmigemoの挙動がおかしかった。で、ディレクトリごとsite-lispにコピー(どこでも良い。場所は.emacsで指定する)
 //-.emacsに下記を加える。この記述は99%[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]と同じです。
 //
 // ;; 基本設定
 // (setq migemo-command "cmigemo")
 // (setq migemo-options '("-q" "--emacs"))
 // ;; migemo-dict のパスを指定
 // (setq migemo-dictionary "C:/programs/emacs-21.3/site-lisp/dict/migemo-dict")
 // (setq migemo-user-dictionary nil)
 // (setq migemo-regex-dictionary nil)
 // 
 // ;; キャッシュ機能を利用する
 // (setq migemo-use-pattern-alist t)
 // (setq migemo-use-frequent-pattern-alist t)
 // (setq migemo-pattern-alist-length 1024)
 // ;; 辞書の文字コードを指定.
 // (setq migemo-coding-system 'japanese-shift-jis-unix) ;;; <= EUCではない
 // 
 // (load-library "migemo")
 // ;; 起動時に初期化も行う
 // (migemo-init)
 //
 //Meadow3についても同様にすればうまく使えているようでした。