SKK(Simple Kana to Kanji conversion program)とは, Emacs上で動作するか な漢字変換プログラムです. ウィキペディアにあるように, SKKは「文法的知 識を用いない変換アルゴリズムを用いた」日本語入力システムで, 私はこれが ないと日本語が入力できません1.
まず先にAPELをインストールしておく必要があります.
Openlabのソースアーカイブディレクトリから取得することができます. また, CVSから取得することもできます. ここではCVSによるソースの入手法を説明し ます. ちなみにここを参考にしました.
cvs -d :pserver:guest@openlab.jp:/circus/cvsroot loginパスワードはguestだそうです.
Main Trunkを入手するには次のようにします:
cvs -d :pserver:guest@openlab.jp:/circus/cvsroot checkout skk/main
一度チェックアウトすれば, 次からはアップデートすれば差分が入手できます2:
cvs update -dP
基本セットはいつも通りの処方で完了です:
make EMACS=meadow install
これだと愛用しているAZIKが効かなくなるので, experimental/ も
site-lisp/ 下にコピーしておきます.
また, SKK-AZIK.elにはバグがありますので, 以下のように修正しておきましょ う.
315c315
< ("km" nil ("キ" . "き"))
---
> ("km" nil ("カモ" . "かも"))
536c536
< ("wf" nil ("ワ" . "わ"))
---
> ("wf" nil ("ワイ" . "わい"))
また, 将来を見越して(ちょっといじりたい所がないわけではないので),
nicola/ もコピーしておきます.
基本的には, .emacs に
(require 'skk-setup)を書くだけです.
ソースディレクトリまはたソースアーカイブディレクトリから自分の希望する 辞書をとってきます. 私はSKK-JISYO.L(.gz)を使っています. また, 複数の辞 書を混ぜて使いたい場合には辞書メンテナンスツールを使うことになると思う のですが, ここらへんはまだやってないのでした. そのうちやってみましょう.
SKKはemacs lispで書かれているので, 別にサーバがなくても動くわけですが, 巨大な辞書の検索であれば当然外部プログラムに任せた方が早くなるわけです ね. ということで, 幸せになりたい場合には辞書サーバを立てることになりま す. ここにOpenlabの"公認"サーバが紹介されています. また, README.w32.jaにあるように,
という手があります. ここではとりあえず現在設定が完了しているwskkservを 紹介しておきます.
坂本さんのページからバイナリをとってきて展開した上で3, 適切な場所(私は
/usr/local/bin にしました)に置いた上で, 辞書ファイルの在処と通信ポー
トを設定します. あとは「スタートアップ」に登録しておきましょう.
ということで, 以上をふまえて, 私の設定ファイルの内容です.
skkを使うために必須のおまじないです.
(require 'skk-setup)
skk-hintとは, 例えば「▽かんどう」となっているときに「; michi SPC」と 入力することで, 「▼間道」と変換できるようにするものです. また, 「▽か んどう」で「; doubutsu SPC」と入力すると「▼完動」となります.
ただ, skk-azikにより「;」が「っ」となってしまうので, skk-hint開始の文 字を「.」に変更しました. これより"kzdp.miti SPC"で「▼間道」となります.
(require 'skk-hint) (setq skk-hint-start-char 46)
skkに学習効果を付加するelispを読み込みます. 学習結果は.skk-studyに格納 されます.
(require 'skk-study)
wskkservを利用するための設定です:
(setq skk-server-portnum 1178)
(setq skk-server-host "localhost")
(setq skk-server-prog
(concat MyTopDir "/usr/local/bin/wskkserv.exe"))
(setq skk-server-jisyo
(concat MyTopDir "/usr/local/site-lisp/skk/dic/SKK-JISYO.L"))
skk-azikを読み込みます.
(require 'skk-azik) (setq skk-azik-keyboard-type 'jp106)
句読点を「。、」と「.,」として設定しておきます.
(setq skk-kuten-touten-alist '(
(jp . ("。" . "、"))
(en . ("." . ","))
; (ya . ("。" . ", "))
))
(setq skk-toggle-kutouten nil)
; "「"を入力したら"」"も自動で挿入
(setq skk-auto-insert-paren t)
; 句読点はふだん「。、」。TeXのときは「,.」
(setq skk-kuten-touten-alist
'(
(jp . ("。" . "、" ))
(en . ("." . ","))
))
(setq-default skk-kutouten-type 'jp)
(add-hook 'yatex-mode-hook
(lambda ()
(setq skk-kutouten-type 'en)))
[1] というのは言いすぎではあるのですが, もう慣れちゃって, つい窓なIME でも大文字を多用しようとして困ることもしばしば.
[2] -dは, リポジトリにあってワーキングコピーにないディレクトリを追加 するため, -Pはリポジトリにはないのにワーキングコピーにないディレクトリ を削除するためのオプションです. 常にこの動作を期待するなら, .cvsrcファ イルに
update -dPと書いておくとよいらしいです.
[3] バージョン1.0はとってこれるのですが, それ以外はリンクが切れてます (2005/01/19 16:02:14現在).