Carbon EmacsにDDSKKをインストールした

 先日、Meadowを3.00にバージョンアップしたといっていましたが、それはDDSKKのインストールを試すのが目的でありました。自宅のiMacにインストールされているEmacs、銭谷さんのCarbon Emacsでもddskkを使えるようにしたいと思ったものですから、まずは成功の実績のあるMeadowで試そうと、そういうつもりだったのです。しかし、ネットインストールしたMeadow 3.00にはDDSKKがインストールされていたものですから、その目論見は外れたというわけです。

makefileを読む

 DDSKKのインストールについては、SKK Openlabで公開されているマニュアルを参照するのがよいでしょう。APELは、Carbon Emacsには収録済みだから、2.2 DDSKK のインストールからですね。ダウンロードした書庫ファイルを展開して、そしてmakeを使えというのですが、私は自分の使っているiMacに開発環境をインストールしていないので、makeも入っていない、当然使えないわけで、だから違う方法を試みる必要があったのです。しかし、違う方法といっても、make installとやらがなにをやっているかわからないことには、どうしようもありません。なので、makefileを読んだのでした。

 その結果、make installは、

$ /Applications/Emacs.app/Contents/MacOS/Emacs -batch -no-site-file -l SKK-MK -f SKK-MK-install

とやればよいことがわかりました。また、ファイルがどのディレクトリにインストールされるか確認する、make what-whereについては、以下のコマンドを実行してやればよいことがわかりました。

$ /Applications/Emacs.app/Contents/MacOS/Emacs -batch -no-site-file -l SKK-MK -f SKK-MK-what-where

SKK-CFGの編集

 さて、ここでさらなる設定が必要となります。上記のコマンドでインストールすると、ファイルはCarbon Emacsのpackage内にインストールされてしまいます。こうなると、Carbon EmacsがバージョンアップするたびにDDSKKもインストールしてやらなければならなくて、それはちょっと面倒だな。だから、ホームディレクトリに作られているディレクトリ、~/.emacs.d以下にインストールしたいな。

 そういう場合はどうしたらいいかというと、SKK-CFGというファイルに設定を書くといいそうです。しかし、このSKK-CFGがなぜか書き込めない設定になっていたため、chmodでパーミッションを変更して、ええと、次のようにしました。

$ chmod 666 skk-cfg

 SKK-CFGに書き込めるようになったら、次の設定を加えます。

(setq SKK_DATADIR "~/.emacs.d/etc/skk")
(setq SKK_INFODIR "~/.emacs.d/info")
(setq SKK_LISPDIR "~/.emacs.d/site-lisp/skk")

 what-whereでインストールされる先を確認して、installでインストール。かくして、ファイルは無事狙いのディレクトリにインストールされました。

.emacsの編集

 DDSKKをインストールしたら、それを使えるようにしないといけません。.emacsに必要な設定を書き加えます。

;;; apel用のload-path
(normal-top-level-add-to-load-path '("apel"))

;;; skk用の設定
(setq load-path 
(append
(list (expand-file-name "~/.emacs.d/site-lisp/skk")) load-path))
(require 'skk-autoloads)
(global-set-key "¥C-x¥C-j" 'skk-mode)
(global-set-key "¥C-xj" 'skk-auto-fill-mode)
(global-set-key "¥C-xt" 'skk-tutorial)

(setq skk-server-host "localhost")
(setq skk-server-portnum 1178)
(setq skk-jisyo-code 'utf-8-unix)
(setq skk-henkan-show-candidates-keys '(?a ?o ?e ?u ?h ?t ?n))

;;; コントロールキーをシステムに取られないようにする
(setq mac-pass-control-to-system nil)

 apelのload-pathはいらないかも知れないけど、書いて、それでちゃんと動いているので、そのままにしてあります。

 SKKの設定は、まずはload-pathに~/.emacs.d/site-lisp/skkを追加して、DDSKKのファイルがEmacsから見付けられるようにします。それから、SKKを有効にする数行が続いて、そして辞書の設定。ここでは辞書サーバを使っているので、ファイルの指定はしていません。AquaSKKをskkservとして利用しています。ホストを指定して、ポートを指定して、そして個人辞書のエンコード設定を書いて、ここではutf-8-unix、改行コードがLFのUTF-8を指定しています。そして、私はDvorakを使っているので、変換時の確定キーをDvorakで使いやすいように変更。そして最後に、mac-pass-control-to-systemをnilにすることで、C-jをAquaSKKに取られないようにして、以上で設定は終了です。

 最初はAquaSKKとDDSKKで個人辞書を共有したかったのですが、それで辞書が壊れたりしたらいやだから、辞書サーバを使うことにしたのでした。AquaSKKはDDSKKの個人辞書を読むような設定が入っていますし、もちろんAquaSKKの個人辞書も読むわけで、ということはDDSKKだろうとAquaSKKだろうと、両方の個人辞書を利用できるということになりますよね。といったわけで、危ない橋を渡ることなく、望んだことが実現できました。

 DDSKKが導入されたことで、Carbon Emacsの使い勝手も向上しました。今のところメインにするつもりはないのですが、便利なプラットフォームとして使っているうちに、Macintoshでも手放せなくなるかも知れません。正直それは避けたいんですけど、はたしてどうなりますことやら。


わたしの愛した機械へ トップページに戻る

公開日:2009.04.24
最終更新日:2009.04.24
webmaster@kototone.jp
Creative Commons License
こととねは、クリエイティブ・コモンズ・ライセンス(表示 - 継承 2.1 日本)の下でライセンスされています。