2010年10月17日日曜日

Emacs仕事術(8)SKK日本語入力


このエントリーをはてなブックマークに追加



日本語入力のSKKをNTEmacs単体で導入してみる。
便利だけど、使える環境が限られるので、多数のPC(特に自分で設定がいじれない)で操作する人はあまり依存しない方が良いかもしれない。

Table of Contents
=================
1 SKKの入手
2 辞書の入手
    2.1 入手先
    2.2 オススメ辞書
    2.3 辞書の統合
3 コンパイルと導入
    3.1 APELのインストール
    3.2 辞書ファイルを配置
    3.3 makeit.batの編集
    3.4 インストール場所の確認
    3.5 インストール
4 dot.emacsへ追記
5 操作チュートリアル


1 SKKの入手
^^^^^^^^^^^^
  [http://openlab.ring.gr.jp/skk/index-j.html]
  ここから入手する。

  今回使うバージョンはEmacs23対応の、Daredevil SKK 14.1。
  [http://openlab.ring.gr.jp/skk/maintrunk/ddskk-14.1.tar.gz]
 

2 辞書の入手
^^^^^^^^^^^^^
  SKKを使用するにあたり、辞書ファイルを入手する必要がある。
  これは基本的な漢字が記載された辞書で、ATOKのような高度な変換はしてくれない。
  SKKでは変換を行うたびに、自分用の辞書に変換履歴が追加され、使えば使うほど使いやすくなるという特徴がある。

2.1 入手先
~~~~~~~~~~~
   SKK辞書 - FreeStyleWiki [http://openlab.ring.gr.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1]

2.2 オススメ辞書
~~~~~~~~~~~~~~~~~
   1) 基本辞書 SKK-JISYO.L
   2) 専門辞書 - 固有名詞系 - 人名 SKK-JISYO.jinmei
   3) 専門辞書 - 固有名詞系 - 地名 SKK-JISYO.geo
   4) 専門辞書 - 固有名詞系 - 固有名詞 SKK-JISYO.propernoun
   5) 専門辞書 - 固有名詞系 - 路線・駅 SKK-JISYO.station
   6) 専門辞書 - 特殊変換系 - 英和変換 SKK-JISYO.edict

      とりあえず使うだけなら1の基本辞書だけで良い。

2.3 辞書の統合
~~~~~~~~~~~~~~~
   統合しなくてもいいけど、統合してもいい
  
   統合のする場合は簡単で、
   [http://www1.interq.or.jp/~deton/skktool/]

   ここから、ツールを入手して、解凍した各辞書ファイルを結合する。

   skktools-20060212\dict> dir

   2005/03/26  00:58           606,528 SKK-JISYO.edict
   2010/10/17  12:22         2,857,024 SKK-JISYO.geo
   2010/10/17  12:21           629,075 SKK-JISYO.jinmei
   2010/10/17  12:21         4,490,579 SKK-JISYO.L
   2010/10/17  12:22           497,649 SKK-JISYO.propernoun
   2010/10/17  12:23           513,848 SKK-JISYO.station
   6 個のファイル           9,594,703 バイト
  
   skktools-20060212\dict> ..\skkdic-expr2.exe SKK-JISYO.L + SKK-JISYO.jinmei + SKK-JISYO.geo + SKK-JISYO.propernoun + SKK-JISYO.station + SKK-JISYO.edict > SKK-JISYO.L.new

   skktools-20060212\dict> dir
   --- 抜粋 ---
   2010/10/17  12:38         8,790,108 SKK-JISYO.L.new

3 コンパイルと導入
^^^^^^^^^^^^^^^^^^^
  インストールに関するドキュメントはddskk-14.1\READMEsにあるので、ドキュメントに従いインストールしていく。

3.1 APELのインストール
~~~~~~~~~~~~~~~~~~~~~~~
   事前にAPELのインストールが必要になるので、インストールしておく。こちらを参照。
   Emacs仕事術(5)メールとWEB [http://aikotobaha.blogspot.com/2010/09/emacsweb.html]

3.2 辞書ファイルを配置
~~~~~~~~~~~~~~~~~~~~~~~
   辞書ファイルを、ddskk-14.1\dic に突っ込む。

3.3 makeit.batの編集
~~~~~~~~~~~~~~~~~~~~~
   set PREFIX=c:\emacs
   set EMACS=c:\emacs\bin\emacs.exe
   set LISPDIR=c:\emacs\site-lisp
   set DEFAULT_MAKE_ARG=

3.4 インストール場所の確認
~~~~~~~~~~~~~~~~~~~~~~~~~~~
   ddskk-14.1>makeit.bat what-where

   ----
   INFORMATIVE: No pre-configured batch (e.g. ~/.elispmk.bat
   INFORMATIVE: or ~/.elispmk.skk.bat) found.
   INFORMATIVE: You may create one for your convenience.
   INFORMATIVE: See comments in makeit.bat.
   ----
   ----
   Executing make1.bat in the current directory using the following env.
   HOME=
   PREFIX=c:\emacs
   EMACS=c:\emacs\bin\emacs.exe
   EXEC_PREFIX=
   LISPDIR=c:\emacs\site-lisp
   INFODIR=
   VERSION_SPECIFIC_LISPDIR=
   ----
   Executing .\make1.bat with argument=what-where
   Loading c:/emacs/home/ddskk-14.1/SKK-CFG...
   Loading `static': old-style backquotes detected!
   Loading `pym': old-style backquotes detected!
   Loading `product': old-style backquotes detected!
   Loading `poe': old-style backquotes detected!
   Loading `broken': old-style backquotes detected!
   Wrote c:/emacs/home/ddskk-14.1/literal-test-file

   SKK modules:
   skk-cursor, skk-viper, skk-jisx0213, skk-e21, ccc, skk-emacs, cdb, context-skk
   , queue-m, skk-abbrev, skk-act, skk-annotation, skk-auto, skk-autoloads, skk-azi
   k, skk-cdb, skk-comp, skk-cus, skk-dcomp, skk-develop, skk-dic, skk-gadget, skk-
   hint, skk-isearch, skk-jisx0201, skk-jisyo-edit-mode, skk-kakasi, skk-kcode, skk
   -leim, skk-look, skk-macs, skk-num, skk-obsolete, skk-server-completion, skk-ser
   ver, skk-sticky, skk-tankan, skk-tut, skk-vars, skk-version, skk, skk-study
   -> c:/emacs/site-lisp/skk

   SKK infos:
   skk.info
   -> c:/emacs/info

   SKK tutorials:
   SKK.tut, SKK.tut.E, NICOLA-SKK.tut, skk.xpm
   -> c:/emacs/etc/skk

3.5 インストール
~~~~~~~~~~~~~~~~~
   ddskk-14.1>makeit.bat install

4 dot.emacsへ追記
^^^^^^^^^^^^^^^^^^
;; -------------------------------
;; SKK
;; -------------------------------
(require 'skk-autoloads)

; 辞書サーバの設定
;(setq skk-server-host "localhost")
;(setq skk-server-portnum 1178)

(global-set-key "\C-x\C-j" 'skk-mode)
(global-set-key "\C-xj" 'skk-mode)
;(global-set-key "\C-xt" 'skk-tutorial)

; C-j をSKKに奪われないようにする。
(setq skk-kakutei-key "\C-o")

; 「;」を日本語変換の開始文字に設定する(左手小指の負担を和らげる)
(setq skk-sticky-key ";")

; インクリメンタルサーチでSKKを使う
(add-hook 'isearch-mode-hook
          (function (lambda ()
                      (and (boundp 'skk-mode) skk-mode
                           (skk-isearch-mode-setup)))))
(add-hook 'isearch-mode-end-hook
          (function (lambda ()
                      (and (boundp 'skk-mode) skk-mode
                           (skk-isearch-mode-cleanup)
                           (skk-set-cursor-color-properly)))))

; Emacs起動時にSKKをロードする
(setq skk-preload t)

; 変換時,改行でも確定
(setq skk-egg-like-newline t)

; メッセージを日本語で表示
(setq skk-japanese-message-and-error t)

;漢字登録のミスをチェックする
(setq skk-check-okurigana-on-touroku t)

; @で挿入する日付表示を半角に
(setq skk-number-style nil)

; 変換候補の表示場所
;(setq skk-show-tooltip t) ; ツールチップ
(setq skk-show-inline t)   ; インライン

; isearch時にSKKをオフ
(setq skk-isearch-start-mode 'latin)

; 10分放置すると個人辞書が自動的に保存される設定
(defvar skk-auto-save-jisyo-interval 600)
(defun skk-auto-save-jisyo ()
  (skk-save-jisyo)
  )
(run-with-idle-timer skk-auto-save-jisyo-interval
                     skk-auto-save-jisyo-interval
                     'skk-auto-save-jisyo)
 

5 操作チュートリアル
^^^^^^^^^^^^^^^^^^^^^
  SKKの使い方を勉強するには、

  M-x skk-tutorial

  で、操作方法の解説が出てくる。


入門GNU Emacs第3版
入門GNU Emacs第3版
価格:3,990円(税込、送料別)
 
プログラマのための文字コード技術入門
プログラマのための文字コード技術入門
価格:2,709円(税込、送料別)