SKK

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

EXPERIMENTAL

これだと愛用しているAZIKが効かなくなるので, experimental/site-lisp/ 下にコピーしておきます.

また, SKK-AZIK.elにはバグがありますので, 以下のように修正しておきましょ う.

315c315
<          ("km" nil ("キ" . "き"))
---
>          ("km" nil ("カモ" . "かも"))
536c536
<          ("wf" nil ("ワ" . "わ"))
---
>          ("wf" nil ("ワイ" . "わい"))

NICOLA

また, 将来を見越して(ちょっといじりたい所がないわけではないので), nicola/ もコピーしておきます.

基本設定

基本的には, .emacs

(require 'skk-setup)
を書くだけです.

辞書

ソースディレクトリまはたソースアーカイブディレクトリから自分の希望する 辞書をとってきます. 私はSKK-JISYO.L(.gz)を使っています. また, 複数の辞 書を混ぜて使いたい場合には辞書メンテナンスツールを使うことになると思う のですが, ここらへんはまだやってないのでした. そのうちやってみましょう.

辞書サーバ

SKKはemacs lispで書かれているので, 別にサーバがなくても動くわけですが, 巨大な辞書の検索であれば当然外部プログラムに任せた方が早くなるわけです ね. ということで, 幸せになりたい場合には辞書サーバを立てることになりま す. ここにOpenlabの"公認"サーバが紹介されています. また, README.w32.jaにあるように,

という手があります. ここではとりあえず現在設定が完了しているwskkservを 紹介しておきます.

wskkserv

坂本さんのページからバイナリをとってきて展開した上で3, 適切な場所(私は /usr/local/bin にしました)に置いた上で, 辞書ファイルの在処と通信ポー トを設定します. あとは「スタートアップ」に登録しておきましょう.

個人設定

ということで, 以上をふまえて, 私の設定ファイルの内容です.

最初のおまじない

skkを使うために必須のおまじないです.

(require 'skk-setup)

skk-hintを読み込む

skk-hintとは, 例えば「▽かんどう」となっているときに「; michi SPC」と 入力することで, 「▼間道」と変換できるようにするものです. また, 「▽か んどう」で「; doubutsu SPC」と入力すると「▼完動」となります.

ただ, skk-azikにより「;」が「っ」となってしまうので, skk-hint開始の文 字を「.」に変更しました. これより"kzdp.miti SPC"で「▼間道」となります.

(require 'skk-hint)
(setq skk-hint-start-char 46)

skk-studyを読み込む

skkに学習効果を付加するelispを読み込みます. 学習結果は.skk-studyに格納 されます.

(require 'skk-study)

wskkservのための設定

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を読み込む

skk-azikを読み込みます.

(require 'skk-azik)
(setq skk-azik-keyboard-type 'jp106)

句読点の設定

句読点を「。、」と「.,」として設定しておきます.

(setq skk-kuten-touten-alist '(
	(jp . ("。" . "、")) 
	(en . ("." . ","))
;	(ya . ("。" . ", "))
))
(setq skk-toggle-kutouten nil)

参考


[1] というのは言いすぎではあるのですが, もう慣れちゃって, つい窓なIME でも大文字を多用しようとして困ることもしばしば.

[2] -dは, リポジトリにあってワーキングコピーにないディレクトリを追加 するため, -Pはリポジトリにはないのにワーキングコピーにないディレクトリ を削除するためのオプションです. 常にこの動作を期待するなら, .cvsrcファ イルに

update -dP
と書いておくとよいらしいです.

[3] バージョン1.0はとってこれるのですが, それ以外はリンクが切れてます (2005/01/19 16:02:14現在).