This is skk.info, produced by makeinfo version 6.8 from skk.texi.

INFO-DIR-SECTION Emacs
INFO-DIR-SECTION GNU Emacs Lisp
START-INFO-DIR-ENTRY
* SKK: (skk).           Simple Kana to Kanji conversion program.
END-INFO-DIR-ENTRY

Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

 Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

 Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the author.


File: skk.info,  Node: Top,  Next: はじめに,  Up: (dir)

SKK
***

この ‘SKK マニュアル’ は SKK のバージョン 17.2 に対 応しています。

* Menu:

* はじめに::
* インストール::
* はじめの設定::
* 基本的な使い方::
* 便利な応用機能::
* ローマ字入力以外の入力方式::
* そのほかの拡張機能::
* SKKに関する情報::
* よくある質問とその回答(FAQ)::
* 事項索引::
* 変数索引::
* 関数索引::
* キー索引::

 — 以下は各章の項目です。 —

はじめに

* このバージョンのSKKについて::
* SKKとはなにか::

インストール

* DDSKK のインストール::
* 辞書について::
* 辞書の入手::
* 辞書を DDSKK と同時にインストールする::
* 辞書サーバの入手::

はじめの設定

* 最も基本的な設定::
* インクリメント検索の設定::
* 辞書サーバを使いたいときの設定::

基本的な使い方

* 起動と終了::
* 入力モード::                  文字種別毎のモード
* 変換モード::                  辞書を用いた変換の状態毎のモード
* インクリメンタル・サーチ::
* チュートリアル::

便利な応用機能 – 予備知識

* ファイル構成::                応用機能を使いこなすための予備知識。
* ユーザオプションの設定方法::

便利な応用機能 – 入力関係

* カタカナ、英字入力の便法::     これと次の項は絶対、便利です。
* 補完::                      「かしたん」 + Tab -> 「かしたんぽせきにん」
* 便利な変換、その他の変換::    単漢字、接頭辞、漢数字、等々。

便利な応用機能 – 様々な設定

* キー設定::                   ローマ字のルールなども変更できます。
* 変換、確定の前後::            誤変換の訂正、一発確定、確定のタイミングなど
* 送り仮名関連::                送り仮名の処理について。
* 候補の順序::                 関連のある語は上位に表示など、効率を求めて
* 辞書関連::                    辞書にまつわる設定及び機能。

便利な応用機能 – 他

* 注釈 (アノテーション)::
* 文字コード関連::              文字コードにまつわる機能。
* DDSKK 以外のツールを用いた辞書変換::
* 飾りつけ::                    様々な表示の設定。
* ユーザガイダンス関連::
* I-search関連::                インクリメンタル・サーチにまつわる機能。
* VIP/VIPERとの併用::
* picture-modeとの併用::        picture-mode との併用の際の問題点。

ローマ字入力以外の入力方式

* AZIK::
* ACT::
* TUT-code::
* かな入力と親指シフト::

SKKに関する情報

* 最新情報::
* SKKメーリングリスト::
* SKK関連ソフトウェア::
* SKK辞書について::
* 辞書ツール::
* SKKの作者::
* SKKの歴史::
* このマニュアルについて::
* 謝辞::

よくある質問とその回答(FAQ)

* Introduction::                SKK のなぜなに。
* Installation::                SKK の入手から導入まで。
* Customization::               SKK の基本設定からお好みのカスタマイズまで。
* Dictionaries::                SKK 辞書関連。
* Miscellaneous::               SKK の活用法その他。



File: skk.info,  Node: はじめに,  Next: インストール,  Prev: Top,  Up: Top

1 はじめに
**********

* Menu:

* このバージョンのSKKについて::
* SKKとはなにか::


File: skk.info,  Node: このバージョンのSKKについて,  Next: SKKとはなにか,  Up: はじめに

1.1 このバージョンのSKKについて
===============================

Daredevil SKK （以下、このマニュアルにおいて ‘DDSKK’ と呼びます。）は、
動作が早くて効率的な日本語入力環境を提供するソフトウェアです。

 GNU General Public License に基づいて配布されているフリー・ソフトウェア
です。 DDSKK 17.2 が動作すると思われる Emacsen のバージョンは、次のと お
りです。

   • GNU Emacs 25.1 以降 (推奨)
   • GNU Emacs 26.1 以降 (推奨)

 現時点で Emacs のバージョンごとに少なくとも以下の制限があります。

GNU Emacs 20

     DDSKK 14.2 以降は GNU Emacs 20 はサポート対象外です。 GNU Emacs 20
     のユーザは DDSKK 14.1 をお使いください。

GNU Emacs 21

     DDSKK 15.1 以降は GNU Emacs 21 はサポート対象外です。 GNU Emacs 21
     のユーザは DDSKK 14.4 をお使いください。

GNU Emacs 22

     DDSKK 16.2 以降は GNU Emacs 22 はサポート対象外です。 GNU Emacs 22
     のユーザは DDSKK 16.1 をお使いください。

GNU Emacs 23

     DDSKK 17.1 以降は GNU Emacs 23 はサポート対象外です。 GNU Emacs 23
     のユーザは DDSKK 16.3 をお使いください。

GNU Emacs 24.1, 24.2

     DDSKK 17.1 以降は GNU Emacs 24.1 と 24.2 はサポート対象外です。 こ
     れら GNU Emacs のユーザは DDSKK 16.3 をお使いください。

GNU Emacs 24.3

     GNU Emacs 24.3 と DDSKK 14 の組み合わせで isearch 使用時の不具合が
     発見されています。 GNU Emacs 24.3 のユーザは DDSKK 15 以上をお使い
     ください。

GNU Emacs 24.4, 24.5

     DDSKK 17.2 以降は GNU Emacs 24 はサポート対象外です。 これら GNU
     Emacs のユーザは DDSKK 17.1 をお使いください。

GNU Emacs 25.1

     DDSKK 15.2 以降をお使いください（DDSKK 16 を推奨します）。

GNU Emacs 27.1

     cl が正式に廃止され、cl-lib が採用されました。 DDSKK 17 で対応して
     います。

XEmacs

     DDSKK 17.1 以降は XEmacs はサポート対象外です。 XEmacs のユーザは
     DDSKK 16.3 をお使いください。


File: skk.info,  Node: SKKとはなにか,  Prev: このバージョンのSKKについて,  Up: はじめに

1.2 SKKとはなにか
=================

SKK は、かな漢字変換プログラムです。 Simple Kana to Kanji conversion
program にちなんで名付けられ、その名 は Combinatory Logic での有名な等式
‘SKK = I’ にも由来していま す (1)。

 Daredevil SKK (DDSKK) は、 SKK の更なる拡張版です (2)。

 ただし、‘SKK モード’、‘SKK 辞書’、‘SKK サーバ’ といった歴 史的な用語は
引き続き使用しており、DDSKK と呼ばない場合もあります。また、 SKK 方式の
入力方法を採用したプログラムなど、広く SKK family を意味する場 合も同様
です。

 DDSKK の主な特徴は、次のとおりです。

   • 多彩な入力方式をサポート。ローマ/かな 両対応のかな入力のほか、
     AZIK、ACT、TUT-code の各方式による入力も可能。
   • 文法的知識を用いない高速な「かな → 漢字」変換。
   • シームレスかつ再帰的な単語登録モード。
   • 確定語を個人辞書へ自動登録することによって、変換候補を効率的に表示
     する。
   • マイナーモードとして実装されているので、メジャーモードにほとんど影
     響を与えない。つまり、Emacs との親和性が高い。
   • DDSKK 本体 (Emacs Lisp) と辞書ファイルのみで動作可能。つまり、辞書
     サーバは必須ではなく、辞書サーバがダウンしていても使用できる。
   • 辞書サーバを使うことで、使用メモリの削減が可能。
   • ディスク容量に応じて選べる辞書ファイル。
   • 辞書ファイルの一括ダウンロード機能。
   • Emacs のオリジナル操作と同様に行える日本語インクリメンタル・サーチ
     。
   • Emacs Lisp で書かれたプログラムが返す値を変換候補に挙げることができ
     る。
   • 入力モードの自動切り替え ‘context-skk.el’
   • 多彩なアノテーション表示 (ユーザ・アノテーション、EPWING 辞書、
     Apple OS X 辞書、Wikipedia/Wiktionary)
   • 見出し語の動的補完
   • 総画数変換、部首変換、文字コード入力

   ---------- Footnotes ----------

   (1) ‘SKK = I’ について詳しくは <http://openlab.jp/skk/SKK.html> を ご
参照下さい。

   (2) ‘Daredevil’ の名の由来については *note Q1-1 Daredevil SKK って
SKK とは違うのですか?:: を参照して下さい。


File: skk.info,  Node: インストール,  Next: はじめの設定,  Prev: はじめに,  Up: Top

2 インストール
**************

* Menu:

* DDSKK のインストール::
* 辞書について::
* 辞書の入手::
* 辞書を DDSKK と同時にインストールする::
* 辞書サーバの入手::


File: skk.info,  Node: DDSKK のインストール,  Next: 辞書について,  Up: インストール

2.1 DDSKK のインストール
========================

ここでは、UNIX 上で ‘make’ コマンドが利用できる環境を想定します (1)。

 まず、DDSKK のアーカイブ ‘ddskk-VERSION.tar.gz’ を ‘tar’ コ マンドと
‘gzip’ コマンドを使用して展開します。

     % gzip -cd ddskk-17.2.tar.gz | tar xvf -

 次に、DDSKK のトップディレクトリ(2)をカレントディレクトリにします。

     % cd ddskk-17.2

* Menu:

* GNU Emacs へのインストール::
* 対話的なインストール::
* MELPA によるインストール::

   ---------- Footnotes ----------

   (1) Microsoft Windows 環境では、‘makeit.bat’ を使用することで 同様の
操作でインストールできます。
<https://github.com/skk-dev/ddskk/blob/master/READMEs/README.w32.ja.org>

 cygwin 環境をインストールされている方は ‘make’ コマンドが使用できる の
で、本文の解説がそのまま当てはまります。

 Apple OS X 環境の方は
<https://github.com/skk-dev/ddskk/blob/master/READMEs/README.MacOSX.ja>
を参照してください。

   (2) ‘ChangeLog’ や ‘Makefile’ が置かれているディレクトリです。


File: skk.info,  Node: GNU Emacs へのインストール,  Next: 対話的なインストール,  Up: DDSKK のインストール

2.1.1 GNU Emacs へのインストール
--------------------------------

まずは、DDSKK がどのディレクトリにインストールされるのか確認するため に
‘what-where’ を引数に ‘make’ コマンドを実行しましょう。

     % make what-where
     ⊣emacs -batch -q -no-site-file -l SKK-MK -f SKK-MK-what-where
     ⊣Loading /home/USER/temp/ddskk-17.2/SKK-CFG...

     ⊣Running in:
     ⊣  GNU Emacs 25.0.50.10 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.9) ...

     ⊣SKK modules:
     ⊣  skk-cursor, skk-viper, ...
     ⊣  -> /path/to/emacs/site-lisp/skk

     ⊣SKK infos:
     ⊣  skk.info
     ⊣  -> /path/to/share/info

     ⊣SKK tutorials:
     ⊣  SKK.tut, SKK.tut.E, NICOLA-SKK.tut, skk.xpm
     ⊣  -> /path/to/share/skk

 emacs の実体ファイルを特定することもできます。

     $ make what-where EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs

 また、DDSKK のインストール先ディレクトリを変更したい場合 は ‘SKK-CFG’ フ
ァイルを編集してください。編集後は必ず ‘make what-where’ を 実行して表示
内容を確認してください。

 つぎにスーパーユーザになって、

     $ su
     % make install

と実行すると、実際に DDSKK がインストールされます。

 あるいは、一般ユーザが自分の home directory を root directory として
DDSKK を インストールするには、

     % make install PREFIX=~/

と、PREFIX を指定して ‘make’ を実行します。

 特定の Emacs を指定する場合は、

     % make install EMACS=mule

と指定します。


File: skk.info,  Node: 対話的なインストール,  Next: MELPA によるインストール,  Prev: GNU Emacs へのインストール,  Up: DDSKK のインストール

2.1.2 対話的なインストール
--------------------------

DDSKK 14.3 では「対話的インストーラ」が追加されました。

 まず、‘M-x dired’ とタイプして dired を起動してください。このとき、デ ィ
レクトリを問われますので、先に述べた「DDSKK のアーカイブを展開したディ レ
クトリ」を指定してください。

     ------ Minibuffer -------
     Dired (directory): ~/temp/ddskk-17.2 <RET>
     ------ Minibuffer -------

 次に、表示されたディレクトリ一覧の ‘SKK-MK’ にカーソルをあわせ て ‘L’ （
<SHIFT> を押しながらアルファベットのエル）をタイプしてく ださい。

     ------ Dired -------
     -rw-r--r-- 1 user user  99999 2011-00-00 00:00 SKK-CFG
     -rw-r--r-- 1 user user  99999 2011-00-00 00:00★SKK-MK    L
     drwxr-xr-x 1 user user  99999 2011-00-00 00:00 bayesian
     ------ Dired -------

 プロンプト ‘Load SKK-MK?’ には ‘y’ をタイプしてください。

 以降、インストーラが表示する質問に答えながら DDSKK のインストールを進め
て ください。なお、パーミッションは一切考慮していませんので、インストー
ル先 は書き込み権限を有するディレクトリを指定してください。


File: skk.info,  Node: MELPA によるインストール,  Prev: 対話的なインストール,  Up: DDSKK のインストール

2.1.3 MELPA によるインストール
------------------------------

2014年12月、MELPA(1) に DDSKK が登録されたことにより GNU Emacs でも
‘package.el’ (2) によるインストールが可能となりました。

 詳細については、次のドキュメントを参照してください。

 <https://github.com/skk-dev/ddskk/blob/master/READMEs/INSTALL.MELPA.md>

   ---------- Footnotes ----------

   (1) Milkypostman’s Emacs Lisp Package Archive (https://melpa.org/)

   (2) GNU Emacs 24 以降で標準で搭載されています。GNU Emacs 23 以前では
手動でインストール必要があります。
<http://wikemacs.org/wiki/Package.el>


File: skk.info,  Node: 辞書について,  Next: 辞書の入手,  Prev: DDSKK のインストール,  Up: インストール

2.2 辞書について
================

DDSKK を使用するには、いわゆる辞書 (主にかなと漢字の対応を記述したデータ
) が必要です。

 DDSKK 14.2 からは、 GNU Emacs 同梱の辞書データ ‘ja-dic’ を利用した かな
漢字変換に対応しましたので、SKK 辞書ファイルを別途インストールしなく て
も最低限の使用ができます。

 しかし、‘ja-dic’ は、 Emacs の入力メソッド LEIM のために ‘SKK-JISYO.L’
か ら変換して生成されたものであり、英数変換や数値変換などのエントリ、お
よび 「大丈夫」など複合語とみなし得る語が大幅に削除されています。 そのた
め、‘SKK-JISYO.L’ を利用したかな漢字変換と同等の結果は得られま せん。

 有志の知恵を結集して作られている各種 SKK 辞書は便利ですから、是非入手し
てインストールしましょう。


File: skk.info,  Node: 辞書の入手,  Next: 辞書を DDSKK と同時にインストールする,  Prev: 辞書について,  Up: インストール

2.3 辞書の入手
==============

SKK 各辞書の解説とダウンロード
     <http://openlab.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1>

     このサイトには様々な辞書が用意されています。以下は一例です。

‘SKK-JISYO.S’
     S 辞書（主に単漢字が登録。最小限必要な語を収録）

‘SKK-JISYO.M’
     M 辞書（普通に使う分には足りる程度）

‘SKK-JISYO.ML’
     M 辞書と L 辞書の中間のサイズの辞書。L 辞書収録語の内、EPWING 辞書
     やオン ライン辞書で正しいと判別された語をベースにして加除。

‘SKK-JISYO.L’
     L 辞書（あらゆる単語を収録）

‘zipcode’
     郵便番号辞書

‘SKK-JISYO.JIS2’
     JIS X 0208 で定められている第２水準の文字を、部首の読みを見出し語と
     して 単漢字を収録した辞書

‘SKK-JISYO.JIS3_4’
     JIS 第３水準、第４水準の文字に代表される、JIS X 0208 には含まれない
     が JIS X 0213 には含まれる文字及びそれらを含む語録を収録した辞書

‘SKK-JISYO.public+’
     public+ 辞書

‘SKK-JISYO.edict’
     edict 辞書(英和辞書)

‘SKK-JISYO.lisp’
     候補に Emacs Lisp 関数を含むエントリーを集めた辞書。見出し語を変換
     する過 程で Emacs Lisp 関数を評価し、その値を候補として表示します。

     *Note プログラム実行変換::.

‘SKK-JISYO.wrong’
     間違い辞書（S, M, L 辞書に既に登録されていたが、間違いであったので
     削除さ れた単語を収録）

 一部の辞書は、著作権が GNU GPL v2 ではありませんのでご注意下さい。 詳細
は、次の資料を参照して下さい。

 <http://openlab.jp/skk/skk/dic/READMEs/committers.txt>

 -- Function: コマンド skk-get

     Emacs の使用中に ‘M-x skk-get’ と実行すると、辞書ファイルを一括ダウ
     ン ロードすることができます。

     なお、GNU Emacs 24.3 以下では tar 展開に対応していないため
     ‘SKK-JISYO.edict.tar.gz’ と ‘zipcode.tar.gz’ は処理されません。

 -- Function: skk-get &optional DIRECTORY

     ‘skk-get’ を関数として使用することで、ユーザプログラムの中からでも
     辞 書ファイルを一括ダウンロードすることができます

          (skk-get "~/jisyofiles")


File: skk.info,  Node: 辞書を DDSKK と同時にインストールする,  Next: 辞書サーバの入手,  Prev: 辞書の入手,  Up: インストール

2.4 辞書を DDSKK と同時にインストールする
=========================================

DDSKK のソースを展開すると、中に ‘dic’ というディレクトリが存在しま す。
‘SKK-JISYO.L’ などをこのディレクトリにコピーしてから ‘make install’ を 実
行すると、辞書ファイルがチュートリアル (‘SKK.tut’) と同じディ レクトリ
(‘/usr/share/skk’ や ‘c:/emacs-24.5/etc/skk’ など) に インストールされま
す。

 ‘dic’ ディレクトリに辞書ファイルを置くためには ‘make get’ と 実行するの
が簡単です(1)。

 ‘dic’ ディレクトリに辞書ファイルが置かれている場合、‘make what-where’ 実
行時に辞書ファイルのインストール先も表示します。

     ⊣SKK dictionaries:
     ⊣  SKK-JISYO.lisp, SKK-JISYO.zipcode, SKK-JISYO.office.zipcode, ...
     ⊣  -> c:/emacs-24.5/share/emacs/24.5/etc/skk

   ---------- Footnotes ----------

   (1) Microsoft Windows 環境では ‘makeit.bat get’ と 実行します。


File: skk.info,  Node: 辞書サーバの入手,  Prev: 辞書を DDSKK と同時にインストールする,  Up: インストール

2.5 辞書サーバの入手
====================

辞書サーバはオプションです。 辞書サーバが無くても DDSKK は動作しますが、
特に辞書のサイズが大きい場合は 辞書サーバを利用することで省メモリ効果を
得られます。また、辞書サーバによ っては複数辞書の検索、EPWING 辞書の検索
ができたりするものもあります。

 DDSKK は特定の辞書サーバの実装に依存していませんので、下記の辞書サーバ
の いずれでも動作可能です。ソースやバイナリの入手、インストールについて
はそ れぞれのウェブサイトをご参照下さい。

辞書サーバの説明とリンク

     <http://openlab.jp/skk/skkserv-ja.html>


File: skk.info,  Node: はじめの設定,  Next: 基本的な使い方,  Prev: インストール,  Up: Top

3 はじめの設定
**************

標準的にインストールした場合は、特段の設定なしに Emacs を起動するだけ で
DDSKK が使える状態になります。 自動的に ‘skk-setup.el’ というファイルが
読み込まれ、設定されます (1)。

 この自動設定によらずに手動で設定したい場合は、以下の説明を参照してくだ
さい。

* Menu:

* 最も基本的な設定::
* インクリメント検索の設定::
* 辞書サーバを使いたいときの設定::
* DDSKK を Emacs の Input Method とする::

   ---------- Footnotes ----------

   (1) Emacs が起動する過程（関数‘normal-top-level’）で
‘SKK_LISPDIR/leim-list.el’ が読み込まれます。

 ‘leim-list.el’ は ‘skk-autoloads.el’ と ‘skk-setup.el’ を ‘require’ し
ます。

 ‘skk-autoloads.el’ は DDSKK の ‘make’ 時に自動的に生成されるファイル で
あり、各関数を自動ロード(autoload)するよう定義するほか
‘register-input-method’ も 行います。

 ‘skk-setup.el’ はキーバインド（‘C-x C-j’ ⇒ ‘'skk-mode’）、変数
‘skk-tut-file’ の定義及びインクリメンタル・サーチの定義を行っています。


File: skk.info,  Node: 最も基本的な設定,  Next: インクリメント検索の設定,  Up: はじめの設定

3.1 最も基本的な設定
====================

自動設定によらず手動で設定する場合は、次の内容を ‘~/.emacs.d/init.el’ に
書きま す(1)。

     (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-large-jisyo "/your/path/to/SKK-JISYO.L")

辞書サーバを使わない場合は Emacs のバッファに ‘skk-large-jisyo’ が指 す
ファイルを取り込んで使用するためメモリ使用量が増加します。これが支障と な
る場合は、上記の ‘SKK-JISYO.L’ を ‘SKK-JISYO.M’、‘SKK-JISYO.ML’ 又 は
‘SKK-JISYO.S’ に変更してください。

 DDSKK 14.1 以降は辞書サーバを経由せずとも CDB 形式(2) の辞書ファイルを
直接利用できるようになりました。CDB 形式辞書ファイル(3) を利用する場合は
、以下のように指定してください。

     (setq skk-cdb-large-jisyo "/your/path/to/SKK-JISYO.L.cdb")

変数 ‘skk-large-jisyo’ と 変数 ‘skk-cdb-large-jisyo’ を同時に指 定した場
合は、標準では CDB 形式辞書ファイルの方が先に検索されます。これに関して
は *note 辞書検索の設定の具体例:: も参照してください。

   ---------- Footnotes ----------

   (1) サンプルとして、配布物に ‘etc/dot.emacs’、‘etc/dot.skk’ フ ァイル
があります。参考にして下さい。

   (2) constant database の こと。詳しくは <http://cr.yp.to/cdb.html> 又
は <http://ja.wikipedia.org/wiki/Cdb> を参照のこと。

   (3) SKK 辞書 の ‘Makefile’ 中の cdb ターゲットを実行することで
‘SKK-JISYO.L’ か ら ‘SKK-JISYO.L.cdb’ を生成することができます。


File: skk.info,  Node: インクリメント検索の設定,  Next: 辞書サーバを使いたいときの設定,  Prev: 最も基本的な設定,  Up: はじめの設定

3.2 インクリメント検索の設定
============================

基本的な設定は ‘skk-setup.el’ が読み込まれた時点で完了しています (1)。

 -- ユーザ変数: skk-isearch-mode-enable

     ‘Non-nil’ なら SKK が ON になっているバッファで ‘skk-isearch’ を有
     効 にします。デフォルトは ‘t’ です。

     ‘nil’ に設定すると ‘skk-isearch’ を無効にすることができます (2)。

          (setq skk-isearch-mode-enable nil)

     この変数の値をシンボル ‘'always’ に設定すると、 SKK が ON になって
     い ないバッファでも ‘skk-isearch’ を有効にします。

          (setq skk-isearch-mode-enable 'always)

   ---------- Footnotes ----------

   (1) ‘skk-setup.el’ では、関数 ‘isearch-mode-hook’ に
‘skk-isearch-setup-maybe’ を、 関数 ‘isearch-mode-end-hook’ に
‘skk-isearch-cleanup-maybe’ を 、それぞれ hook に追加しています。
‘skk-isearch-{setup|cleanup}-maybe’ とも ‘skk-setup.el’ で定義されており
、 実態は、関数 ‘skk-isearch-mode-{setup|cleanup}’ です。

   (2) 変数 ‘skk-isearch-mode-enable’ は ‘~/.emacs.d/init.el’ か ‘M-x
customize-variable’ で設定してください。


File: skk.info,  Node: 辞書サーバを使いたいときの設定,  Next: DDSKK を Emacs の Input Method とする,  Prev: インクリメント検索の設定,  Up: はじめの設定

3.3 辞書サーバを使いたいときの設定
==================================

辞書サーバを使いたいときは、‘~/.skk’ で以下のように設定します。

     (setq skk-server-host "example.org")
     (setq skk-server-portnum 1178)

 -- ユーザ変数: skk-server-host

     辞書サーバが起動しているホスト名又は IP アドレス。

 -- ユーザ変数: skk-server-portnum

     辞書サーバが使うポート番号。‘/etc/services’ に skkserv のエントリが
     記述されていれば ‘skk-server-portnum’ を指定する必要は無い。

 辞書サーバが起動していなかったときに Emacs から skkserv プロセスを立ち
上げる 事もできます。‘skk-server-inhibit-startup-server’ を ‘nil’ に す
る事でこの機能が有効になります。*note サーバ関連:: も参照してください。

 Emacs から立ち上げて利用する事ができる辞書サーバは、

     skkserv [-p port] [jisyo]

のようなオプションを受け付け、inetd などを経由せず直接起動するものに限ら
れます。

 辞書サーバプログラムと辞書ファイルは、次のように設定します。

     (setq skk-server-prog "/your/path/to/skkserv")
     (setq skk-server-jisyo "/your/path/to/SKK-JISYO.L")

 -- ユーザ変数: skk-server-prog

     辞書サーバプログラムをフルパスで指定する。

 -- ユーザ変数: skk-server-jisyo

     辞書サーバに渡す辞書をフルパスで指定する。辞書サーバによっては独自
     の方法 で辞書ファイルを指定して emacs からの指定を無視するものもあ
     ります。 詳しくは各辞書サーバの説明書を読んで下さい。

これらの設定は、環境変数を利用して下記のようにすることもできます。

B シェルの場合 (sh, bash, ksh, zsh など)

          export SKKSERVER=example.org
          export SKKSERV=/your/path/to/skkserv
          export SKK_JISYO=/your/path/to/SKK-JISYO.L

C シェルの場合 (csh, tcsh など)

          setenv SKKSERVER example.org
          setenv SKKSERV /your/path/to/skkserv
          setenv SKK_JISYO /your/path/to/SKK-JISYO.L

 関連項目: *note 辞書サーバの入手::、*note サーバ関連::


File: skk.info,  Node: DDSKK を Emacs の Input Method とする,  Prev: 辞書サーバを使いたいときの設定,  Up: はじめの設定

3.4 DDSKK を Emacs の Input Method とする
=========================================

Emacs の標準キーバインドでは ‘C-\’ をタイプすると 関数
‘toggle-input-method’ を実行します。 この関数は、変数
‘default-input-method’ が指す input method をトグル切り替えします。

 変数 ‘default-input-method’ の値はおそらく ‘"Japanese"’ であり、 結果と
して ‘C-\’ のタイプで LEIM (1) を on/off します。

 使用可能な input method は ‘M-x list-input-methods’ で確認することがで
き、 コマンド ‘set-input-method’ を実行する (2) ことで input method を切
り替えることができます。

 ファイル ‘skk-leim.el’ から生成されるファイル ‘skk-autoloads.el’ で
input method をふたつ追加しています。

"japanese-skk"

     内容は ‘(skk-mode 1)’ です。

"japanese-skk-auto-fill"

     内容は ‘(skk-auto-fill-mode 1)’ です。

 -- ユーザ変数: default-input-method

     Emacs 起動時の input method を DDSKK とするには、
     ‘~/.emacs.d/init.el’ に

          (setq default-input-method "japanese-skk")

     と記述してください。

   ---------- Footnotes ----------

   (1) Library of Emacs Input Method

   (2) ‘M-x set-input-method’ また は ‘C-x <RET> C-\’


File: skk.info,  Node: 基本的な使い方,  Next: 便利な応用機能,  Prev: はじめの設定,  Up: Top

4 基本的な使い方
****************

本章では、DDSKK の基本的な使用方法を説明します。これを読めば、とりあえず
DDSKK を使ってみるには充分です。

 DDSKK を使った入力方法に慣れるには、付属のチュートリアルが最適なので、
お 試しください。

 *Note チュートリアル::.

 なお、次章の「便利な応用機能」は、興味のある個所のみをピックアップして
お読みになるのがいいでしょう。

* Menu:

* 起動と終了::
* 入力モード::                  文字種別毎のモード
* 変換モード::                  辞書を用いた変換の状態毎のモード
* インクリメンタル・サーチ::
* チュートリアル::


File: skk.info,  Node: 起動と終了,  Next: 入力モード,  Up: 基本的な使い方

4.1 起動と終了
==============

SKK モードに入るには ‘C-x C-j’、もしくは ‘C-x j’ とタイプします。 モード
ラインの左端には、下記のように ‘--かな:’ が追加されます (1)。

     --かな:MULE/7bit----- Buffer-name (Major-mode)---

 また、カーソルの色が変化します (2)。

 ‘C-x C-j’、もしくは ‘C-x j’ を再度タイプすることで、SKK モードに 入る前
のモードに戻り、カーソル色も元に戻ります (3)。

 -- ユーザ変数: skk-status-indicator

     デフォルトはシンボル ‘'left’ です。この変数をシンボル ‘'minor-mode’
     と 設定すれば、インジケータはモードラインのマイナーモードの位置に表
     示されます。

          -MULE/7bit----- Buffer-name (Major-mode かな)---

 -- ユーザ変数: skk-preload

     ‘~/.emacs.d/init.el’ にて変数 ‘skk-preload’ を ‘non-nil’ と設定する
     こ とにより、DDSKK の初回起動を速くすることができます。

          (setq skk-preload t)

     これは、SKK 本体プログラムの読み込みと変数 ‘skk-search-prog-list’ に
     指定された辞書の読み込みを Emacs の起動時に済ませてしまうことにより
     実現し ています。そのため、Emacs の起動そのものは遅くなりますが、
     DDSKK を使い始 めるときのレスポンスが軽快になります。

 -- Function: コマンド skk-restart

     ‘M-x skk-restart’ と実行すると SKK を再起動します。 ‘~/.skk’ は再ロ
     ードしますが、‘~/.emacs.d/init.el’ は再ロードしません。

 -- Function: コマンド skk-version

     ‘M-x skk-version’ と実行すると エコーエリアに SKK のバージョンを表
     示します。 *note エラーなどの日本語表示::

          -------------------- Echo Area --------------------
          Daredevil SKK/17.2 (CODENAME)
          -------------------- Echo Area --------------------

* Menu:

* SKKオートフィルモード::
* 辞書の保存::

   ---------- Footnotes ----------

   (1) ‘skk.el’ の ‘skk-setup-modeline’ にて、‘mode-line-format’ に
‘skk-icon’ と ‘skk-modeline-input-mode’ を追加しています

   (2) カラーディスプレイを使用し、カラー表示をサポートしている Window
System 下で対応する Emacs を使用している場合。

 *Note 入力モードを示すカーソル色に関する設定::.

   (3) ただし、「アスキーモード」を利用すれば SKK モードから抜ける 必要
はほとんどありません。

 *Note アスキーモード: 入力モード.


File: skk.info,  Node: SKKオートフィルモード,  Next: 辞書の保存,  Up: 起動と終了

4.1.1 SKKオートフィルモード
---------------------------

‘C-x j’ とタイプすれば、SKK モードに入ると同時にオートフィルモード
(*note Auto Fill: (emacs)Auto Fill.) をオンにします。

 既にオートフィルモードがオンになっているバッファで ‘C-x j’ をタイプす る
と、オートフィルモードは逆にオフになるので注意してください。

 バッファの状態にかかわらず強制的にオートフィルモード付で SKK モードに入
りたい場合は、‘M-1 C-x j’ や ‘C-u C-x j’ などとタイプし、このコ マンドに
正の引数を渡します (1)。

 オートフィルモードをオフにし、かつ SKK モードも終了したい場合には
‘M-- C-x j’ や ‘C-u -1 C-x j’ などとタイプし、このコマン ドに負の引数を
渡します。

   ---------- Footnotes ----------

   (1) 「引数」については、

     *note Arguments: (emacs)Arguments.

を参照のこと。


File: skk.info,  Node: 辞書の保存,  Prev: SKKオートフィルモード,  Up: 起動と終了

4.1.2 辞書の保存
----------------

Emacs を終了するときは、保存前の個人辞書を ‘~/.skk-jisyo.BAK’ に退避 し
てから、個人辞書 (*note 個人辞書: 辞書の種類.)の内容を ‘~/.skk-jisyo’ に
保存します。

 ‘~/.skk-jisyo’ や ‘~/.skk-jisyo.BAK’ のファイル名を変更したけ れば、そ
れぞれ ‘skk-jisyo’ や ‘skk-backup-jisyo’ の値を変更して 下さい。

 個人辞書を保存せずに Emacs を終了させたい場合には、

     M-x skk-kill-emacs-without-saving-jisyo

とタイプします。

 個人辞書の保存動作について更に詳しくは、*note 個人辞書の保存動作:: を参
照 してください。


File: skk.info,  Node: 入力モード,  Next: 変換モード,  Prev: 起動と終了,  Up: 基本的な使い方

4.2 入力モード
==============

SKK モードは、文字種類による４種類の「入力モード」と、辞書を用いた 変換
の状態により３つの「変換モード」を持ちます。

* Menu:

* 入力モードの説明::
* 入力モードを切り替えるキー::


File: skk.info,  Node: 入力モードの説明,  Next: 入力モードを切り替えるキー,  Up: 入力モード

4.2.1 入力モードの説明
----------------------

「かなモード」

     アスキー小文字をひらがなに変換するモード。

     マイナーモードの表示: ‘かな’

     カーソル色: 赤系

「カナモード」

     アスキー小文字をカタカナに変換するモード。

     マイナーモードの表示: ‘カナ’

     カーソル色: 緑系

「全英モード」

     アスキー小文字／大文字を全角アルファベット(1)に変換するモード。

     マイナーモードの表示: ‘全英’

     カーソル色: 黄系

「アスキーモード」

     文字を変換しないモード。入力されたキーは ‘C-j’ を除いて通常の Emacs
     の コマンドとして解釈される。

     マイナーモードの表示: ‘SKK’

     カーソル色: 背景によりアイボリーかグレイ。

 入力モードに伴うカーソル色の変更方法については、 *note
入力モードを示すカーソル色に関する設定:: を参照してください。

   ---------- Footnotes ----------

   (1) JIS X 0208 英字のこと。 このマニュアルでは「全角アルファベット」
と表記する。


File: skk.info,  Node: 入力モードを切り替えるキー,  Prev: 入力モードの説明,  Up: 入力モード

4.2.2 入力モードを切り替えるキー
--------------------------------

‘q’
     「かなモード」、「カナモード」間をトグルする。

‘l’
     「かなモード」又は「カナモード」から「アスキーモード」へ。

‘L’
     「かなモード」又は「カナモード」から「全英モード」へ。

‘C-j’
     「アスキーモード」又は「全英モード」から「かなモード」へ。

 実際にはカナモードや全英モードで長時間入力を続けることはほとんどないの
で、かなモードのままでカナ文字や全英文字を入力する便法が用意されています
。

   • *note かなモードからカタカナを入力::

   • *note 全英文字の入力::

 -- ユーザ変数: skk-show-mode-show

     現在の入力モードは、モードラインに表示されています。

     *note 起動と終了::

     この変数を ‘Non-nil’ とすると、入力モードを切り替えたときにカーソル
     付近にも一瞬表示するようになります。

     ‘M-x skk-show-mode’ でトグル可能です。

     *note 入力モードを示すモードラインの文字列の変更::

 -- ユーザ変数: skk-show-mode-style

     デフォルトは ‘'inline’ です。‘'tooltip’ を指定することも可能です。

     *note インジケータ::

 -- ユーザ変数: skk-show-mode-inline-face

     ‘'inline’ 利用時の face


File: skk.info,  Node: 変換モード,  Next: インクリメンタル・サーチ,  Prev: 入力モード,  Up: 基本的な使い方

4.3 変換モード
==============

変換モードは、次の 3 種類のいずれかです。

「■モード(確定入力モード)」

     あるキー入力に対応する文字列を、辞書を用いた文字変換を行わずに直接
     バッ ファへ入力するモード。入力モードに応じてローマ字からひらがな、
     ローマ字か らカタカナ、あるいはアスキー文字から全角アルファベットへ
     文字を変換する。

「▽モード」

     辞書変換の対象となる文字列「見出し語」を入力するモード。

「▼モード」

     見出し語について、辞書変換を行うモード。

 また、▽モードの変種として “SKK abbrev mode” があり、▼モードのサブモー ド
として、「辞書登録モード」があります。

* Menu:

* ■モード::                    辞書変換を行わない確定入力のモード。
* ▽モード::                    辞書変換のため見出し語の入力を行うモード。
* ▼モード::                    辞書変換を行うモード。
* 辞書登録モード::              個人辞書へ単語を登録するモード。


File: skk.info,  Node: ■モード,  Next: ▽モード,  Up: 変換モード

4.3.1 ■モード
-------------

確定入力モードを「■モード」と呼びます。■モードでは、あるキー入力に 対応
した特定の文字列への変換を行うだけで、辞書変換は行いません。アスキー 文
字列から、入力モードに応じて、ひらがな、カタカナ、あるいは全角アルファ ベ
ットへ文字を変換します。カレントバッファにこのモード特有のマークは表示 さ
れません。

 かなモード、カナモードで、かつ ■モードである場合、デフォルトの入力方法
はいわゆるローマ字入力です。訓令式、ヘボン式のどちらによっても入力するこ
とができます。主な注意点は以下のとおりです。

   • ‘ん’ は ‘n n’ 又は ‘n '’ で入力する。直後に ‘n’、 ‘y’ 以外の子音が
     続くときは ‘n’ だけで入力できる。

   • 促音は、‘c h o t t o’ ⇒ ‘ちょっと’、‘m o p p a r a’ ⇒ ‘もっぱら’ の
     ように次の子音を重ねて入力する。

   • 促音や拗音(ひらがなの小文字)を単独で入力するときは、‘x a’ ⇒ ‘ぁ’、
     ‘x y a’ ⇒ ‘ゃ’ などのように ‘x’ を用いる。

   • 長音は、‘-’ で入力する。‘-’ ⇒ ‘ー’。


File: skk.info,  Node: ▽モード,  Next: ▼モード,  Prev: ■モード,  Up: 変換モード

4.3.2 ▽モード
-------------

「▽モード」では、辞書変換の対象となる文字列を入力します。かなモード、 も
しくはカナモード(1) で、かつ、■モードであるときに、キー入力を大文字で開
始することで、▽モー ドに入ります。例えば、

     K a n j i

     ------ Buffer: foo ------
     ▽かんじ★
     ------ Buffer: foo ------

のようにタイプすることで▽モードに入り、続けて辞書変換の対象となる文字 列
「見出し語」を入力します。‘▽’マークは「▽モードである」 という表示ですが
、見出し語の開始点を示す表示でもあります。

* Menu:

* 後から▽モードに入る方法::
* ▽モードを抜ける方法::

   ---------- Footnotes ----------

   (1) *Note かなモード、カナモード: 入力モード.


File: skk.info,  Node: 後から▽モードに入る方法,  Next: ▽モードを抜ける方法,  Up: ▽モード

4.3.2.1 後から▽モードに入る方法
...............................

辞書変換の対象としたい文字列であったにも関わらず、先頭の文字を大文字で入
力し忘れた場 合は、その位置までポイント(1) を戻してから ‘Q’ をタイプする
ことで、▽モードに入ることができます。例えば、 下記のように操作します (★
の地点にカーソルがあります)。

     k a n j i

     ------ Buffer: foo ------
     かんじ★
     ------ Buffer: foo ------

     C-u 3 C-b

     ------ Buffer: foo ------
     ★かんじ
     ------ Buffer: foo ------

     Q

     ------ Buffer: foo ------
     ▽★かんじ
     ------ Buffer: foo ------

     C-e

     ------ Buffer: foo ------
     ▽かんじ★
     ------ Buffer: foo ------

 ‘7がつ24にち’ のように大文字から始めることができない文字列を見出し語 と
したい場合は、 ‘Q’ をタイプして▽モードにしてから ‘7がつ24にち’ の 文字列
を入力します。

 なお、▽モードでは、文字列の間に空白を含めることはできません。 これは、
辞書エントリの見出し語に空白を含めることができない制限からきています。

   ---------- Footnotes ----------

   (1) *Note ポイント: (emacs)Point.


File: skk.info,  Node: ▽モードを抜ける方法,  Prev: 後から▽モードに入る方法,  Up: ▽モード

4.3.2.2 ▽モードを抜ける方法
...........................

誤って▽モードに入ってしまったときは、 ‘C-j’ とタイプして■モードに戻 るか
、 ‘C-g’ とタイプして見出し語を消去するか、どちらかの方法があります。 具
体例を下記に示します。

     K a n j i

     ------ Buffer: foo ------
     ▽かんじ★
     ------ Buffer: foo ------

     C-j

     ------ Buffer: foo ------
     かんじ★
     ------ Buffer: foo ------

あるいは、

     K a n j i

     ------ Buffer: foo ------
     ▽かんじ★
     ------ Buffer: foo ------

     C-g

     ------ Buffer: foo ------
     ★
     ------ Buffer: foo ------


File: skk.info,  Node: ▼モード,  Next: 辞書登録モード,  Prev: ▽モード,  Up: 変換モード

4.3.3 ▼モード
-------------

「▼モード」 では、▽モードで入力した見出し語を、辞書に従って変換する作 業
を行います。▽モードで見出し語を入力した後に <SPC> をタイプするこ とで▼モ
ードに入ります。‘▽’ マークから <SPC> をタイプしたとき のポイントまでの文
字列が見出し語として確定され、 ‘▽’ マークは ‘▼’ マークで置き換えられ、こ
の見出し語が辞書の中で検索されます。

* Menu:

* 送り仮名が無い場合::
* 次候補・前候補::
* 送り仮名が有る場合::


File: skk.info,  Node: 送り仮名が無い場合,  Next: 次候補・前候補,  Up: ▼モード

4.3.3.1 送り仮名が無い場合
..........................

仮に、辞書に

     かんじ /漢字/幹事/

というエントリ (1)を含むとして、例を示します。

     K a n j i

     ------ Buffer: foo ------
     ▽かんじ★
     ------ Buffer: foo ------

     <SPC>

     ------ Buffer: foo ------
     ▼漢字★
     ------ Buffer: foo ------

この例では、▽モードにおける ‘▽’ マークからポイントまでの間の文字列 ‘かん
じ’ を辞書変換の対象文字列として確定し、それについて辞書内での 検索を行
っています。実際の変換動作では、候補部分がハイライト表示されます (2)。

 ‘漢字’ が求める語であれば ‘C-j’ をタイプしてこの変換を 確定します。ハイ
ライト表示も ‘▼’ マークも消えます。

 また、 ‘C-j’ をタイプせずに新たな確定入力を続けるか又は新たな変換 を開
始すると、直前の変換は自動的に確定されます。これを 「暗黙の確定」 と 呼
んでいます。副作用として確定を伴うキーは、印字可能な文字 全てと <RET> で
す。詳細は *note 暗黙の確定のタイミング:: を参照してく ださい。

   ---------- Footnotes ----------

   (1) 本マニュアルでは、見出し語と候補群を合わせた一行を「エントリ」 と
呼びます。詳細は、*note 送りありエントリと送りなしエントリ::を参照してく
ださい。

   (2) ハイライト表示は FSF Emacs の Overlays の機能を使 用しています。


File: skk.info,  Node: 次候補・前候補,  Next: 送り仮名が有る場合,  Prev: 送り仮名が無い場合,  Up: ▼モード

4.3.3.2 次候補・前候補
......................

求める語がすぐに表示されなければ、更に続けて <SPC> をタイプすることで、
次候補を検索します。

     ------ Buffer: foo ------
     ▼漢字★
     ------ Buffer: foo ------

     <SPC>

     ------ Buffer: foo ------
     ▼幹事★
     ------ Buffer: foo ------

 候補が５つ以上あるときは、５番目以降の候補は７つずつまとめて (1) エコー
エリアに表示されます。例えば、辞書が

     きょ /距/巨/居/裾/嘘/拒/拠/虚/挙/許/渠/据/去/

というエントリを含むときに ‘K y o’ の後に <SPC> を５回 (2) 続けてタイプ
すれば

     -------------------- Echo Area --------------------
     A:嘘  S:拒  D:拠  F:虚  J:挙  K:許  L:渠  [残り 2]
     -------------------- Echo Area --------------------

がエコーエリア (3)に表示されます。 ここで仮に ‘許’ を選択したければ ‘k’
を入力します。

 ‘A’, ‘S’, ‘D’, ‘F’, ‘J’, ‘K’, ‘L’ の 各文字は、押し易さを考慮してキーボ
ードのホームポジションから横方向に一直 線に配置されているキーが選ばれて
います。また、候補の選択のために押すキー は、大文字、小文字のいずれでも
構いません。候補の選択に用いるキーの変更に ついては、
*note 候補の選択に用いるキー:: を参照してください。

 <SPC> を連打してしまい求める候補を誤って通過してしまったときは ‘x’ をタ
イプすれば前候補／前候補群に戻ることができます (4)。

 候補を次々と探しても求める語がなければ、自動的に辞書登録モードになりま
す (辞書登録モードは▼モードのサブモードです) 。 *note 辞書登録モード::に
て説明します。

 -- ユーザ変数: skk-previous-candidate-keys
     前候補／前候補群に戻る関数 ‘skk-previous-candidate’ を割り当てるオ
     ブ ジェクトのリストを指定する。 オブジェクトにはキーを表す文字列ま
     たは event vector が指定できます。

     デフォルトは ‘(list "x" "\C-p")’ です。

 -- ユーザ変数: skk-search-excluding-word-pattern-function
     詳しくは docstring を参照のこと。

 -- ユーザ変数: skk-show-candidates-nth-henkan-char
     候補一覧を表示する関数 ‘skk-henkan-show-candidates’ を呼び出すまで
     の ‘skk-start-henkan-char’ を打鍵する回数。2 以上の整数である必要。

 -- ユーザ変数: skk-henkan-number-to-display-candidates
     いちどに表示する候補の数。

   ---------- Footnotes ----------

   (1) ‘skk-henkan-number-to-display-candidates’

   (2) skk-show-candidates-nth-henkan-char

   (3) エコーエリアとミニバッファは視覚的には同一の場所にありますが、 エ
コーエリアが単にユーザへのメッセージを表示するのみであるのに対し、ミ ニ
バッファは独立したバッファとして機能する点が異なります。

   (4) ‘x’ は小文字で入力する必要があります


File: skk.info,  Node: 送り仮名が有る場合,  Prev: 次候補・前候補,  Up: ▼モード

4.3.3.3 送り仮名が有る場合
..........................

次に送り仮名のある単語について説明します。

 ‘動く’ を変換により求めたいときは ‘U g o K u’ のように、まず ▽ モード に
入るために ‘U’ を大文字で入力し、次に送り仮名の開始を DDSKK に教えるため
に ‘K’ を大文字で入力します。送り仮名の ‘K’ をタイプ した時点で <SPC> を
タイプすることなく、▼モード に入り辞書変換が行わ れます。

 送り仮名の入力時（ローマ字プレフィックスが挿入された瞬間）、プレフィッ
ク スの直前に ‘*’ を一瞬挿入し、送り仮名の開始時点を明示します。プレ フ
ィックスに続くキー入力で、かな文字が完成した時点で ‘*’ は消えます。

 キー入力を分解して追いながらもう少し詳しく説明します。

     U g o

     ------ Buffer: foo ------
     ▽うご★
     ------ Buffer: foo ------

     K

     ------ Buffer: foo ------
     ▽うご*k★
     ------ Buffer: foo ------

     u

     ------ Buffer: foo ------
     ▼動く★
     ------ Buffer: foo ------

 このように、DDSKK では送り仮名の開始地点をユーザが明示的に入力するので
、 システム側で送り仮名を分解する必要がありません。これにより、高速でヒ
ット 効率が高い変換が可能になります。*Note 送り仮名の自動処理::.

 ただし、サ変動詞の変換では、サ変動詞の語幹となる名詞を 「送りなし変換」
(1) として変換し、その後 ‘する’ を■モードで入力した方が効率が良くなり ま
す。*Note サ変動詞の入力: サ変動詞の辞書登録に関する注意.

   ---------- Footnotes ----------

   (1) 詳細は、*note 送り仮名が無い場合::を参照してください。


File: skk.info,  Node: 辞書登録モード,  Prev: ▼モード,  Up: 変換モード

4.3.4 辞書登録モード
--------------------

DDSKK には独立した辞書登録モードはありません。その代わり、辞書にない単語
に 関して変換を行った場合に、自動的に辞書登録モードに入ります。例えば辞
書に

     へんかんちゅう /変換中/

のエントリがない場合に、‘変換中’ を入力しようとして、
‘H e n k a n t y u u <SPC>’ とタイプすると、下記のように、カレントバッフ
ァ は ▼モード のまま ‘へんかんちゅう’ に対して変換ができない状態で休 止
し、同時にミニバッファに ‘へんかんちゅう’ というプロンプトが表示 されま
す。

     ------ Buffer: foo ------
     ▼へんかんちゅう
     ------ Buffer: foo ------

     ------ Minibuffer -------
     [辞書登録] へんかんちゅう: ★
     ------ Minibuffer -------

* Menu:

* 送り仮名が無い場合の辞書登録::
* 送り仮名が有る場合の辞書登録::
* サ変動詞の辞書登録に関する注意::
* 再帰的辞書登録::
* 改行文字を含む辞書登録::

 もちろん、誤って登録した単語は削除できます。 (*note 誤った登録の削除::,
*note 個人辞書ファイルの編集::)

 -- ユーザ変数: skk-read-from-minibuffer-function
     この変数に「文字列を返す関数」を収めると、その文字列を辞書登録モー
     ドに入 ったときのプロンプトに初期表示します。関数
     ‘read-from-minibuffer’ の 引数 INITIAL-CONTENTS に相当します。

          (setq skk-read-from-minibuffer-function
                (lambda () skk-henkan-key))

 -- ユーザ変数: skk-jisyo-registration-badge-face

     変数 ‘skk-show-inline’ が ‘non-nil’ であれば、辞書登録モードに 移っ
     たことを明示するためにカレントバッファに「↓辞書登録中↓」とイン ライ
     ン表示します。この「↓辞書登録中↓」に適用するフェイスです。


File: skk.info,  Node: 送り仮名が無い場合の辞書登録,  Next: 送り仮名が有る場合の辞書登録,  Up: 辞書登録モード

4.3.4.1 送り仮名が無い場合の辞書登録
....................................

辞書登録モードでは、キー入力はミニバッファに対して行われます。仮に辞書に

     へんかん /変換/
     ちゅう /中/

のようなエントリがあるとして、ミニバッファで ‘変換中’ の文字列を ‘変換’
と ‘中’ とに分けて作ります。

     H e n k a n <SPC> T y u u <SPC>

     ----------- Minibuffer ------------
     [辞書登録] へんかんちゅう: 変換▼中★
     ----------- Minibuffer ------------

ここで <RET> をタイプすれば ‘変換中’ が個人辞書に登録され、辞書 登録モー
ドは終了します (1)。 同時に、変換を行っているカレントバッファには ‘変換
中’ が挿入され確定 されます。*Note 個人辞書: 辞書の種類.

 辞書登録モードを抜けたいときは ‘C-g’ をタイプするか、または何も登録 せ
ず <RET> をタイプすると▽モードに戻ります。

   ---------- Footnotes ----------

   (1) ここでは「暗黙の確定」が行われるので ‘C-j’ をタイプする必要 はあ
りません。ただし、*note ▼モードでのRET:: を参照してください。


File: skk.info,  Node: 送り仮名が有る場合の辞書登録,  Next: サ変動詞の辞書登録に関する注意,  Prev: 送り仮名が無い場合の辞書登録,  Up: 辞書登録モード

4.3.4.2 送り仮名が有る場合の辞書登録
....................................

送り仮名のある単語の登録では、ミニバッファで作る候補に送り仮名そのものを
登録しないように注意しなければいけません。仮に辞書に

     うごk /動/

というエントリがないとして、例を挙げて説明します。

     U g o K u

     ------ Buffer: foo ------
     ▼うごく
     ------ Buffer: foo ------

     ------ Minibuffer -------
     [辞書登録] うご*く: ★
     ------ Minibuffer -------

ミニバッファで辞書登録すべき文字列は ‘動’ だけであり、送り仮名の ‘く’ は
含めてはいけません。 ‘動く’ と登録してしまうと、次に ‘U g o K u’ とタイ
プしたときに出力される候補が ‘動くく’ になっ てしまいます。

     D o u <SPC>

     ------ Minibuffer -------
     [辞書登録] うご*く: 動★
     ------ Minibuffer -------

     <RET>

     ------ Buffer: foo ------
     動く★
     ------ Buffer: foo ------

 -- ユーザ変数: skk-check-okurigana-on-touroku

     デフォルトは ‘nil’ です。‘non-nil’ であれば、辞書登録時に送り仮 名
     のチェックを行います。

     シンボル ‘ask’ を設定すれば、ユーザに確認を求め、送り仮名と認められ
     れば送り仮名を取り除いてから登録します。

     シンボル ‘auto’ を設定すれば、ユーザに確認を求めず、勝手に送り仮名
     を 判断して削除してから登録します。


File: skk.info,  Node: サ変動詞の辞書登録に関する注意,  Next: 再帰的辞書登録,  Prev: 送り仮名が有る場合の辞書登録,  Up: 辞書登録モード

4.3.4.3 サ変動詞の辞書登録に関する注意
......................................

サ変動詞（名詞の後に ‘する’ を付けた形で構成される動詞）については ‘する
’ を送り仮名とした送りあり変換 (*note 送り仮名が有る場合::) をしないで、
‘運動’ と ‘する’ とに分けて入力することを前提として います。(1)

 例えば ‘運動する’ は ‘U n d o u <SPC> s u r u’ とタイプする ことにより
入力できます。名詞から作られる形容詞等も同様です。

   ---------- Footnotes ----------

   (1) ‘SKK-JISYO.L’ など共有辞書のメンテナンス上、原則と してサ変動詞を
送りありエントリに追加していません。そのため、‘する’ を 送り仮名とした送
りあり変換では、辞書に候補がなく辞書登録モードに入ってし まうので、名詞
として分解して入力することが一般的です。ただし、DDSKK 13 以 降では暫定的
にサ変動詞の送りあり変換を可能にする機能を用意しました。
(*note サ変動詞変換::)


File: skk.info,  Node: 再帰的辞書登録,  Next: 改行文字を含む辞書登録,  Prev: サ変動詞の辞書登録に関する注意,  Up: 辞書登録モード

4.3.4.4 再帰的辞書登録
......................

ミニバッファを再帰的に使って辞書登録を再帰的に行うことができます。

 仮に辞書に

     さいきてき /再帰的/
     さいき /再帰/

のようなエントリがなく、かつ

     さい /再/
     き /帰/
     てき /的/

のようなエントリがあるとします。

 ここで ‘S a i k i t e k i <SPC>’ とタイプすると、見出し語 ‘さ いきてき’
に対する候補を見つけられないので、ミニバッファに ‘さいき てき’ というプ
ロンプトを表示して辞書登録モードに入ります。

 ‘さいきてき’ に対する辞書エントリを作るため ‘S a i k i <SPC>’ とタイプ
すると、更にこの候補も見つけられないので、ミニバッファに ‘さいき’ という
プロンプトを表示して、再帰的に ‘さいき’ の辞書 登録モードに入ります。

 ‘S a i <SPC> K i <SPC>’ とタイプすると、ミニバッファは、

     ------ Minibuffer -------
     [[辞書登録]] さいき: 再▼帰
     ------ Minibuffer -------

となります。プロンプトが ‘[[辞書登録]]’ となり、‘[]’ がひとつ増 えていま
すが、この ‘[]’ の数が再帰的な辞書登録モードの深さを表わして います。こ
こで <RET> をタイプすると、個人辞書には

     さいき /再帰/

というエントリが登録され、ミニバッファは ‘さいきてき’ の辞書登録モー ド
に戻り、プロンプトは ‘さいきてき’ となります。

 今度は ‘再帰’ が変換可能なので ‘S a i k i <SPC> T e k i <SPC>’ とタイプ
すると、

     ------ Minibuffer -------
     [辞書登録] さいきてき: 再帰▼的
     ------ Minibuffer -------

となります。ここで <RET> をタイプすることで、‘さいきてき’ の辞 書登録モ
ードから抜け、個人辞書に

     さいきてき /再帰的/

というエントリが登録されます。カレントバッファのポイントには、‘再帰 的’
が挿入されます。


File: skk.info,  Node: 改行文字を含む辞書登録,  Prev: 再帰的辞書登録,  Up: 辞書登録モード

4.3.4.5 改行文字を含む辞書登録
..............................

改行文字を含む文字列を辞書に登録するには、辞書登録モードで改行文字を
‘C-q C-j’ により入力します。例えば、

     〒980
     仙台市青葉区片平2-1-1
     東北大学電気通信研究所

を辞書に登録するには、辞書登録モードで、

     ‘〒980’
     C-q C-j
     ‘仙台市青葉区片平2-1-1’
     C-q C-j
     ‘東北大学電気通信研究所’
     <RET>

と入力します。


File: skk.info,  Node: インクリメンタル・サーチ,  Next: チュートリアル,  Prev: 変換モード,  Up: 基本的な使い方

4.4 インクリメンタル・サーチ
============================

DDSKK では、専用のインクリメンタル・サーチプログラムを Emacs 添付の
‘isearch.el’ のラッパーとして実装しているため、日本語文字列のイ ンクリメ
ンタル・サーチをアスキー文字と同様の操作で行うことができます。

* Menu:

* skk-isearchの操作性::
* skk-isearchと入力モード::


File: skk.info,  Node: skk-isearchの操作性,  Next: skk-isearchと入力モード,  Up: インクリメンタル・サーチ

4.4.1 skk-isearchの操作性
-------------------------

大部分の動作は、Emacs オリジナルのインクリメンタル・サーチのままですから
、 Emacs オリジナルのインクリメンタル・サーチ (1) のコマンド (2)やユーザ
変数でのカスタマイズ (3) もそのまま利用できます。

 インクリメンタル・サーチ中の入力方法は、通常のバッファにおける各入力モ
ー ド、変換モードでの入力方法と同一です。

 ‘C-s’ や ‘C-r’、あるいは ‘M-C-s’ や ‘M-C-r’ でインクリメ ンタル・サーチ
を起動すると、インクリメンタル・サーチを起動したバッファの 入力モードと
同一の入力モードで、キーとなる文字の入力が可能となります。

   ---------- Footnotes ----------

   (1) *note Incremental Search: (emacs)Incremental Search.

   (2) ‘M-y’ の ‘isearch-yank-kill’ や ‘M-p’ の ‘isearch-ring-retreat’,
‘M-n’ の ‘isearch-ring-advance’ な ど

   (3) ‘search-highlight’ など


File: skk.info,  Node: skk-isearchと入力モード,  Prev: skk-isearchの操作性,  Up: インクリメンタル・サーチ

4.4.2 skk-isearchと入力モード
-----------------------------

入力モードに合わせて、インクリメンタル・サーチのプロンプトが表示されます
。 プロンプトの種類は、以下の 6 つです(1)。

‘I-search: [か]’
     かなモード

‘I-search: [カ]’
     カナモード

‘I-search: [英]’
     全英モード

‘I-search: [aa]’
     アスキーモード

‘I-search: [aあ]’
     Abbrev モード

‘I-search: [--]’
     インクリメンタル・サーチモードで ‘C-x C-j’ などをタイプして DDSKK を
     終了した場合は、このプロンプトが表示されます。

   ---------- Footnotes ----------

   (1) 変数 ‘skk-isearch-mode-string-alist’ を適宜設定することにより変更
が可能です。


File: skk.info,  Node: チュートリアル,  Prev: インクリメンタル・サーチ,  Up: 基本的な使い方

4.5 チュートリアル
==================

DDSKK には、基本的な操作方法を学習できるチュートリアルが附属しています。
日本語版チュートリアルは ‘M-x skk-tutorial’ で、英語版チュートリアルは
‘C-u M-x skk-tutorial <RET> English <RET>’ で実行します。

 -- ユーザ変数: skk-tut-file

     チュートリアルファイルが標準の場所に置かれていない場合は、
     ‘~/.emacs.d/init.el’ で

          (setq skk-tut-file "/usr/local/share/skk/SKK.tut")

     と書くことにより、指定したチュートリアルファイルを使用させることが
     できます。英語版のチュートリアルファイルは、 ‘skk-tut-file’ に ‘.E’
     が付いたファイル名です。この場合であれば、
     ‘/usr/local/share/skk/SKK.tut.E’ になります。

 -- ユーザ変数: skk-tut-lang
     チュートリアルで用いる言語を文字列（‘"Japanese"’ 又 は ‘"English"’）
     で指定します。 この変数よりも ‘C-u M-x skk-tutorial’ による言語指定
     が優先されます。

 -- ユーザ変数: skk-tut-use-face

     ‘Non-nil’ であれば、チュートリアルで face を利用して表示する。


File: skk.info,  Node: 便利な応用機能,  Next: ローマ字入力以外の入力方式,  Prev: 基本的な使い方,  Up: Top

5 便利な応用機能
****************

* Menu:

予備知識
* ファイル構成::                応用機能を使いこなすための予備知識。
* ユーザオプションの設定方法::

入力関係
* カタカナ、英字入力の便法::     これと次の項は絶対、便利です。
* 補完::                      「かしたん」 + Tab -> 「かしたんぽせきにん」
* 便利な変換、その他の変換::    単漢字、接頭辞、漢数字、等々。

様々な設定
* キー設定::                   ローマ字のルールなども変更できます。
* 変換、確定の前後::            誤変換の訂正、一発確定、確定のタイミングなど
* 送り仮名関連::                送り仮名の処理について。
* 候補の順序::                 関連のある語は上位に表示など、効率を求めて
* 辞書関連::                    辞書にまつわる設定及び機能。

他
* 注釈 (アノテーション)::
* 文字コード関連::              文字コードにまつわる機能。
* DDSKK 以外のツールを用いた辞書変換::
* 飾りつけ::                    様々な表示の設定。
* ユーザガイダンス関連::
* I-search関連::                インクリメンタル・サーチにまつわる機能。
* VIP/VIPERとの併用::
* picture-modeとの併用::        picture-mode との併用の際の問題点。


File: skk.info,  Node: ファイル構成,  Next: ユーザオプションの設定方法,  Up: 便利な応用機能

5.1 ファイル構成
================

SKK の基本的な機能は、‘skk.el’ に収められています。一方、 DDSKK で応用機
能を提供するプログラムのほとんどは ‘skk.el’ と は別のファイルに収めてい
ます。これらは、必要に応じてオートロードするよう に設計されています。各
応用機能の概略と該当のファイル名について説明します。

 また、DDSKK の変数は ‘skk-vars.el’ に集約されていますので、カスタマ イ
ズしたい場合などには、このファイルを見ると参考になるかもしれません。

‘ccc.el’

‘cdb.el’

‘context-skk.el’

     編集の文脈に応じて自動的に skk のモードを切り替えたり、SKK の各種設
     定を変 更する機能を提供します。

     *Note 文脈に応じた自動モード切り替え::.

‘ddskk-pkg.el’

‘skk-abbrev.el’

     SKK abbrev モードの機能を提供するプログラムを集めたファイル。

     *Note SKK abbrev mode: アスキー文字を見出し語とした変換.

‘skk-act.el’

     dvorak 配列での拡張ローマ字入力 "ACT" を SKK で使うための設定を提供
     しま す。

     *Note ACT::.

‘skk-annotation.el’

     個人辞書に付けたアノテーション (注釈) を活用するプログラムを集めた
     ファイ ル。

     *Note 注釈 (アノテーション)::.

‘skk-auto.el’

     送り仮名の自動処理を行うプログラムを集めたファイル。

     *Note 送り仮名の自動処理::.

‘skk-autoloads.el’

     make 時に自動生成されるファイル。オートロードの設定のほか、
     ‘register-input-method’ も行う。

     *Note はじめの設定::.

‘skk-azik.el’

     拡張ローマ字入力 "AZIK" の設定を提供します。

     *Note AZIK::.

‘skk-bayesian.el’

     SKK の学習機能のひとつで、ユーザの過去の入力から変換候補を予測しま
     す。

     *Note ベイズ統計を用いた学習::.

‘skk-cdb.el’

     CDB 形式辞書ファイルを辞書サーバなしに直接利用できるプログラム。

     *Note 最も基本的な設定::.

‘skk-comp.el’

     見出し語の補完を行うプログラムを集めたファイル。

     *Note 補完::.

‘skk-cursor.el’

     カーソルの色を制御するプログラムを集めたファイル。

     *Note 入力モードを示すカーソル色に関する設定::.

‘skk-cus.el’
     ‘M-x customize-group’ による対話的な設定変更機能の簡易版を提供しま
     す。

     *Note Customize による設定変更::.

‘skk-dcomp.el’

     skk-comp による補完を自動的に実行して見出し語入力を支援します。

     *Note 動的補完::.

‘skk-develop.el’

     おもに開発者向けのプログラムを集めたファイル。

     ‘M-x skk-submit-bug-report’ バグレポートのメールバッファを用意する

     ‘M-x skk-get’ 辞書ファイルを一括ダウンロードする

     font-lock 関係

‘skk-emacs.el’

     （DDSKK 14.1 以前のファイル名: ‘skk-e21.el’）

     GNU Emacs 21 以降の拡張機能を利用するプログラムを集めたファイル。 イ
     ンジケータのカラー化や画像表示、ツールティップ利用など。

‘skk-gadget.el’

     プログラム実行変換を行うプログラムを集めたファイル。

     *Note プログラム実行変換::.

‘skk-hint.el’

     SKK の変換候補が多いときにヒントを与えて絞りこむ機能を提供します。

     *Note 候補の絞り込み::.

‘skk-inline.el’

     変換候補のインライン表示機能を集めたファイル。

     *Note 変換候補一覧の表示方法::.

‘skk-isearch.el’

     DDSKK を併用したインクリメンタル・サーチ機能を提供します。

     *Note I-search関連::.

‘skk-jisx0201.el’

     JIS X 0201 カナ(1)を利用する機能を提供します。

‘skk-jisx0213.el’

     JIS X 0213 文字集合を扱うプログラムです。

‘skk-jisyo-edit-mode.el’

     SKK 辞書を編集するためのメジャーモードを提供します。

‘skk-kakasi.el’

     KAKASI インターフェイスプログラムを集めたファイル。

     *Note 領域の操作::.

‘skk-kanagaki.el’

     キーボードのかな配列などに対応する枠組みを提供します。 現段階では旧
     JIS 配列のかなキーボード及び NICOLA 規格の親指シフト配 列に対応して
     います。

     *Note かな入力と親指シフト::.

‘skk-kcode.el’

     文字コードまたはメニューによる文字入力を行うプログラムを集めたファ
     イル。

     *Note 文字コードまたはメニューによる文字入力::.

‘skk-leim.el’

     LEIM 関連プログラムファイル。DDSKK を Emacs の input method として
     利用で きるようにします。

     *Note DDSKK を Emacs の Input Method とする::.

‘skk-look.el’

     ‘look’ コマンドとのインターフェイスプログラムを集めたファイル。

     *Note skk-look::.

‘skk-lookup.el’

     Lookup で検索できる辞書を使って単語の候補を出力するプログラム。

     *Note skk-lookup::.

‘skk-macs.el’

     他のファイルで共通して使用するマクロなどを中心にまとめたファイル。

‘skk-num.el’

     数値変換を行うプログラムを集めたファイル。

     *Note 数値変換::.

‘skk-search-web.el’

     Google CGI API for Japanese Input を利用したかな漢字変換。

     辞書登録モードに Google サジェスト を初期表示する。

     *Note Google CGI API for Japanese Input を利用したかな漢字変換::.

‘skk-server-completion.el’

     拡張された辞書サーバによる見出し語補完機能を利用できます。

     *Note サーバコンプリージョン::.

‘skk-server.el’

     辞書サーバと通信して変換する機能を提供します。

     *Note サーバ関連::.

‘skk-setup.el’

     自動的に個人設定を行うためのファイル。

     *Note はじめの設定::.

‘skk-show-mode.el’

     カーソル付近に入力モードを表示する機能を提供します。

     *Note 入力モードを切り替えるキー::.

‘skk-sticky.el’

     変換開始位置及び送り開始位置の指定方法を変更可能にする。

     *Note 変換位置の指定方法::.

‘skk-study.el’

     直前に確定したいくつかの語との関連性を確認し、候補順を操作する学習
     効果 を提供するプログラム。

     *Note 変換の学習::.

‘skk-tankan.el’

     SKK を使って単漢字変換を行うプログラムです。

     *Note 単漢字変換::.

‘skk-tut.el’

     SKK チュートリアルプログラム。

     *Note チュートリアル::.

‘skk-tutcode.el’

     SKK で TUT-code 入力を実現します。

     *Note TUT-code::.

‘skk-vars.el’

‘skk-version.el’

     DDSKK のバージョン情報を提供するプログラムファイル。

‘skk-viper.el’

     VIPER インターフェイスプログラムを集めたファイル。

     *Note VIP/VIPERとの併用::.

‘tar-util.el’

   ---------- Footnotes ----------

   (1) いわゆる半角カナ。以下、このマニュアルでは「半角 カナ」と記述しま
す。


File: skk.info,  Node: ユーザオプションの設定方法,  Next: カタカナ、英字入力の便法,  Prev: ファイル構成,  Up: 便利な応用機能

5.2 ユーザオプションの設定方法
==============================

DDSKK のカスタマイズは、‘~/.emacs.d/init.el’ あるいは ‘~/.skk’ に記述し
ます。また、各ファイルの提供するフックも利用します。上記のファイルやフッ
クを利用した設定がいつ有効になるのか、という点についてここで説明します。

* Menu:

* 設定ファイル::
* フック::
* Customize による設定変更::  このマニュアルで解説されていない変数も設定できます。
* skk-customize による設定変更::


File: skk.info,  Node: 設定ファイル,  Next: フック,  Up: ユーザオプションの設定方法

5.2.1 設定ファイル
------------------

‘~/.emacs.d/init.el’

     Emacs を起動したときに一度だけ読み込まれます。 このマニュアルは
     ‘~/.emacs.d/init.el’ という記述で統一しています。

     *Note Emacs Initialization File: (emacs)Init File.

‘~/.skk’

     DDSKK を起動した最初の一度だけ読み込まれます。ファイル名のデフォル
     トは、OS の種類により異なりますが、実際は Emacs の関数
     ‘convert-standard-filename’ により加工されます。 ‘~/.skk’ のファイ
     ル名は変数 ‘skk-init-file’ で変更することがで きます。また、DDSKK に
     はこのファイルを自動的にバイトコンパイルする機能が あります。

     *Note skk-init-fileの自動コンパイル::.

 -- ユーザ変数: skk-user-directory
     DDSKK は、‘~/.skk’ や ‘~/.skk-jisyo’ といった複数のファイルを 使用
     します。これらのファイルをひとつのディレクトリにまとめて置きたい場
     合 は、変数 ‘skk-user-directory’ にそのディレクトリ名を設定します。

     この変数のデフォルトは ‘nil’ です。この変数は ‘~/.emacs.d/init.el’
     で設定 してください。DDSKK 起動時に ‘skk-user-directory’ が指すディ
     レクトリ が存在しない場合は、自動的に作られます。

          (setq skk-user-directory "~/.ddskk")

     この変数を設定した場合（例えば上記 ‘~/.ddskk’）、以下に挙げる各変 数
     のデフォルト値が変更されます。

          影響を受ける変数          デフォルト値      変更後のデフォルト値
          skk-init-file             ~/.skk            ~/.ddskk/init
          skk-jisyo                 ~/.skk-jisyo      ~/.ddskk/jisyo
          skk-backup-jisyo          ~/.skk-jisyo.BAK  ~/.ddskk/jisyo.bak
          skk-emacs-id-file         ~/.skk-emacs-id   ~/.ddskk/emacs-id
          skk-record-file           ~/.skk-record     ~/.ddskk/record
          skk-study-file            ~/.skk-study      ~/.ddskk/study
          skk-study-backup-file     ~/.skk-study.BAK  ~/.ddskk/study.bak
          skk-bayesian-history-file ~/.skk-bayesian   ~/.ddskk/bayesian
          skk-bayesian-corpus-file  ~/.skk-corpus     ~/.ddskk/corpus

     なお、‘skk-user-directory’ を設定した場合でも、各変数を個別に設定し
     ている場合はその個別の設定が優先されます。

* Menu:

* skk-init-fileの自動コンパイル::


File: skk.info,  Node: skk-init-fileの自動コンパイル,  Up: 設定ファイル

5.2.1.1 skk-init-fileの自動コンパイル
.....................................

 -- ユーザ変数: skk-byte-compile-init-file

     ここでは
        − 「DDSKK の設定ファイル」を ‘el’ と、
        − 「DDSKK の設定ファイルをバイトコンパイルしたファイル」を ‘elc’ と

     それぞれ呼ぶこととします。

     DDSKK の起動時に、

        • この変数の値が ‘non-nil’ であれば、

             − ‘elc’ が存在しないか、又は
             − ‘elc’ よりも ‘el’ が新しいとき

          は、‘el’ をバイトコンパイルした ‘elc’ を生成します。

        • この変数の値が ‘nil’ であれば、

          ‘elc’ よりも ‘el’ が新しいときは、‘elc’ を消去します。

     以上の機能を有効にしたい場合は、‘~/.emacs.d/init.el’ に

          (setq skk-byte-compile-init-file t)

     と記述します。この変数は ‘~/.skk’ が読み込まれる前に調べられるた め
     、‘~/.skk’ に上記の設定を記述してもこの機能は有効になりません。


File: skk.info,  Node: フック,  Next: Customize による設定変更,  Prev: 設定ファイル,  Up: ユーザオプションの設定方法

5.2.2 フック
------------

‘skk-mode-hook’

     ‘C-x C-j’ と入力して SKK モードに入る度に呼ばれます。主にバッファロ
     ー カルの設定などを行います。

‘skk-auto-fill-mode-hook’

     ‘C-x j’ と入力してオートフィルモード付きで SKK モードに入る度に呼ば
     れます。主にバッファローカルの設定などを行います。

‘skk-load-hook’

     ‘skk.el’ の読み込みを完了した時点で呼ばれます。‘~/.skk’ は SKK モー
     ドを起動しなければ読み込まれないのに対し、このフックは、 ‘skk.el’ を
     読み込んだら SKK モードを起動しなくとも呼ばれます。

‘skk-act-load-hook’
‘skk-auto-load-hook’
‘skk-azik-load-hook’
‘skk-comp-load-hook’
‘skk-gadget-load-hook’
‘skk-kakasi-load-hook’
‘skk-kcode-load-hook’
‘skk-num-load-hook’
‘skk-server-load-hook’

     ‘skk-act.el’, ‘skk-auto.el’, ‘skk-azik.el’, ‘skk-comp.el’,
     ‘skk-gadget.el’, ‘skk-kakasi.el’, ‘skk-kcode.el’, ‘skk-num.el’,
     ‘skk-server.el’ の各ファイルの読み込みが完了した直後に呼ばれるフッ
     ク。

 ‘load-hook’ が提供されていないプログラムであっても、ロード完了後に何ら
か の設定を行いたい場合は、関数 ‘eval-after-load’ を使用します。例え ば
、

     (eval-after-load "skk-look"
       '(
         ...
         ))

のように記述します。


File: skk.info,  Node: Customize による設定変更,  Next: skk-customize による設定変更,  Prev: フック,  Up: ユーザオプションの設定方法

5.2.3 Customize による設定変更
------------------------------

Emacs 標準の Customize 機能を使って SKK を設定することもできます。 ただ
し、 Customize での設定は ‘~/.emacs.d/init.el’ での設定と同様、 ‘~/.skk’
による設定で上書きされてしまいますので注意してください。

 ‘M-x customize-group’ を実行すると skk の設定を対話的に変更することがで
きます。ミニバッファに “Customize group:” とプロンプトが表示されます。

     ------ Minibuffer -------
     Customize group: (default emacs) ★
     ------ Minibuffer -------

 ここで “skk” と答えると、SKK グループの画面へ展開します。

 ‘M-x skk-emacs-customize’ と実行するのも同様です。

 あるいは、モードラインの SKK インジケータをマウスの右ボタン（第３ボタン
） でクリックすると表示されるメニューから “SKKをカスタマイズ” を選んでも
同 じ画面となります。

 カスタマイズの使い方は以下を参照してください。

     *Note Easy Customization: (emacs)Easy Customization.

 skk で設定できる変数の中には、まだこのマニュアルで解説されていないもの
も あります。 Customize を使うと、それらについても知ることができます。


File: skk.info,  Node: skk-customize による設定変更,  Prev: Customize による設定変更,  Up: ユーザオプションの設定方法

5.2.4 skk-customize による設定変更
----------------------------------

前述の「Emacs 標準の Customize 機能 (‘M-x customize-group’) 」による 設
定が複雑すぎると感じるユーザのために、簡易版として ‘M-x skk-customize’ を
用意しています。これは SKK グループのユーザオプションのうち、よく使うも
の だけ抜粋して設定できるようにしたものです。

 これは、モードラインの SKK インジケータをマウスの右ボタン（第３ボタン）
で クリックして表示されるメニューから “SKK をカスタマイズ (簡易版)” を選
ん で呼び出すこともできます。


File: skk.info,  Node: カタカナ、英字入力の便法,  Next: 補完,  Prev: ユーザオプションの設定方法,  Up: 便利な応用機能

5.3 カタカナ、英字入力の便法
============================

この節では、カタカナや全英文字を入力するための、便利な方法を説明します。
単純に各モードを用いる方法については前述しました。
(*note カナモード、全英モード: 入力モード.)

* Menu:

* かなモードからカタカナを入力::
* 全英文字の入力::
* 領域の操作::  領域の中の文字種を変換
* カタカナの見出し語::
* 文脈に応じた自動モード切り替え::  プログラムでは、コメントの中だけ skk


File: skk.info,  Node: かなモードからカタカナを入力,  Next: 全英文字の入力,  Up: カタカナ、英字入力の便法

5.3.1 かなモードからカタカナを入力
----------------------------------

まず、かなモードに入ります。‘Q’ キーでいったん▽モードにして何かひらがな
を入力し、 最後に ‘q’ をタイプすると、カタカナに変換され確定されます。

 実際には、ひらがな以外からも変換できます。以下のようになります。

   • カタカナはひらがなへ
   • ひらがなはカタカナへ
   • 全英文字はアスキー文字へ
   • アスキー文字は全英文字へ

 細かく言えば、‘▽’ とポイント間の文字列の 種類(1) を キーとして変換が行
われます。 かなモード、カナモード、どちらでも同じです。

 このような変換を、トグル変換と呼びます。以下はトグル変換の例です。

     K a t a k a n a

     ------ Buffer: foo ------
     ▽かたかな★
     ------ Buffer: foo ------

     q

     ------ Buffer: foo ------
     カタカナ★
     ------ Buffer: foo ------

 このトグル変換を上手く利用することにより、かなモードのまま一時的にカタ
カ ナを入力したり、またその逆を行うことができます。こうすると、例えばひ
らが な／カタカナが混在した文章を書くときに、その都度 ‘q’ キーを押して入
力 モードを切り換える必要がありません (2)。

 領域を対象としたコマンドでも「かな←→カナ」のトグル変換を行うことができ
ます。(*note 領域の操作::)

   ---------- Footnotes ----------

   (1) 正確には ‘▽’ の次の位置にある文字列によって文字種を 判別している
ので、途中で文字種類の違う文字が混在していても無視されます。

   (2) 全英文字とアスキー文字のトグルでの変換を行うこともできます。 ただ
し、全英モードやアスキーモードでは ‘Q’ やその他の大文字により▽ モードに
入ることができないので、かな ⇔ カナ のときと同様にトグル変換で きるわけ
ではありません。かなモード/カナモードにおいて、既に入力さ れた全英文字、
アスキー文字に対してトグル変換をするような設計になっていま す。


File: skk.info,  Node: 全英文字の入力,  Next: 領域の操作,  Prev: かなモードからカタカナを入力,  Up: カタカナ、英字入力の便法

5.3.2 全英文字の入力
--------------------

まず、かなモードに入ります。次に ‘/’ をタイプすると SKK abbrev モー ド
(1) に入りますのでアルファベット (アスキー文字) を入力します。 アルファ
ベットの入力後に ‘C-q’ (2)をタイプすることで ‘▽’マー クから ‘C-q’ をタイ
プした位置までの間にあるアルファベットが全角アルフ ァベットに変換されて
確定されます。

     / f i l e

     ------ Buffer: foo ------
     ▽file★
     ------ Buffer: foo ------

     C-q

     ------ Buffer: foo ------
     ｆｉｌｅ★
     ------ Buffer: foo ------

 なお、この変換を行うために、

     file /ｆｉｌｅ/

のような辞書エントリを持つ必要はありません。なぜなら、辞書を参照せずにア
スキー文字を 1 文字ずつ全英文字に変換しているからです。

   ---------- Footnotes ----------

   (1) SKK abbrev モードでは ‘is’ ⇒ ‘インクリメン タル・サーチ’ のような
変換を行うことができます。他の変換と同様、 <SPC> を押すと変換モードに入
ってしまいますので、 SKK abbrev モードか らアスキー文字を入力するのは、
一語のみの場合以外は不便です。
(*note アスキー文字を見出し語とした変換::)

   (2) ‘C-q’ は ‘skk-abbrev-mode-map’ にて 特別な動作をするように定義さ
れています。 *Note アスキー文字を見出し語とした変換::.


File: skk.info,  Node: 領域の操作,  Next: カタカナの見出し語,  Prev: 全英文字の入力,  Up: カタカナ、英字入力の便法

5.3.3 領域の操作
----------------

以下のコマンドを ‘M-x’ により呼ぶことで、領域内の文字列を一括変換する こ
とができます (1)。

‘M-x skk-hiragana-region’

     カタカナをひらがなへ変換。

‘M-x skk-katakana-region’

     ひらがなをカタカナへ変換。

‘M-x skk-latin-region’

     全英文字をアスキー文字へ変換。

‘M-x skk-jisx0208-latin-region’

     アスキー文字を全英文字へ変換。

 以下に紹介する「漢字から読みを求めるコマンド」は、外部プログラム
‘KAKASI’ (2) が必要です。 ‘KAKASI’ がインストールされていなければ使用す
ることができません。

‘M-x skk-gyakubiki-region’

     漢字をひらがなへ変換。具体的な変換例をあげると、

          ``漢字をひらがなへ変換。''↦``かんじをひらがなへへんかん。''

     のようになります。引数を渡して、

     ‘C-u M-x skk-gyakubiki-region’

     のようにすると、複数の候補がある場合に、‘{}’ で囲って表示します。例
     え ば

          ``中島''↦``{なかしま|なかじま}''

     のようになります。

     送り仮名がある語は、送り仮名まで含めて領域に指定します (さもないと
     誤変換 の原因となります)。 例えば、‘五月蝿い’ について、送り仮名 ‘い
     ’ を含めずにこのコマンドを実行すると、‘ごがつはえ’ に変換されてしま
     い ます。

‘M-x skk-gyakubiki-and-henkan’

     領域の漢字をひらがなへ変換し、これで得たひらがなを見出し語として 漢
     字変換を実行します。

‘M-x skk-gyakubiki-katakana-region’

     漢字をカタカナへ変換。

     引数を渡して、‘C-u M-x skk-gyakubiki-katakana-region’ のようにする
     と、 複数の候補がある場合に、‘{}’ で囲って表示します。

‘M-x skk-hurigana-region’

     漢字にふりがなを付ける。例えば、

          ``漢字の脇に''↦``漢字[かんじ]の脇[わき]に''

     のようになります。引数を渡して ‘C-u M-x skk-hurigana-region’ のよう
     にすると、複数の候補がある場合に、‘{}’ で囲って表示します。

‘M-x skk-hurigana-katakana-region’

     漢字にカタカナのふりがなを付ける。

     引数を渡して、‘C-u M-x skk-hurigana-katakana-region’ のようにすると
     、 複数の候補がある場合に、‘{}’ で囲って表示します。

‘M-x skk-romaji-region’

     漢字、ひらがな、カタカナをローマ字へ、全英文字をアスキー文字へ変換
     。標準 では、ローマ字への変換様式はヘボン式です。例えば、

          ``し'' ↦ ``shi''

     となります。

 以下のコマンドは、領域内の文字列を置き換える代わりに、変換結果をエコー
エ リアに表示します。

   • ‘M-x skk-gyakubiki-message’
   • ‘M-x skk-gyakubiki-katakana-message’
   • ‘M-x skk-hurigana-message’
   • ‘M-x skk-hurigana-katakana-message’
   • ‘M-x skk-romaji-message’

 -- ユーザ変数: skk-gyakubiki-jisyo-list

     関数 ‘skk-gyakubiki-region’ はコマンド ‘kakasi’ を呼び出し ています
     。 ‘kakasi’ には漢字をひらがなへ変換する機能があり、この変換には環
     境変数 ‘KANWADICTPATH’ で指定されている辞書を利用しています。

     変数 ‘skk-gyakubiki-jisyo-list’ を設定することによっ て ‘kakasi’ へ
     与える辞書を任意に追加することができます。 以下のように設定して
     ‘kakasi’ へ個人辞書 ‘skk-jisyo’ を与え ることによって辞書登録モード
     で登録したばかりの単語も ‘kakasi’ に よる逆引き変換の対象とすること
     ができます。

          (setq skk-gyakubiki-jisyo-list (list skk-jisyo))

 -- ユーザ変数: skk-romaji-*-by-hepburn

     この変数の値を ‘nil’ に設定すると、 コマンド
     ‘skk-romaji-{region|message}’ によるローマ字への変換様式 に訓令式を
     用います。デフォルトは ‘t’ です。

     例えば、

          ``し'' ↦ ``si''

     のようになります (3)。

   ---------- Footnotes ----------

   (1) メニューバーが使用できる環境では、メニューバーを使ってこれらの一
括変換 コマンドを呼び出すことができます。ただし ‘kakasi’ がインストール
されていない 場合は ‘kakasi’ を利用する機能が灰色になり使用できません。
*Note メニューバー: (emacs)Menu Bars.

   (2) KAKASI - 漢字→かな(ローマ字)変換プログラム
(http://kakasi.namazu.org/)

   (3) 昭和 29 年 12 月 9 日付内閣告示第一号によれば、原則的に訓令式 (日
本式) を用いるかのように記載されていますが、今日一般的な記載方法は、 む
しろヘボン式であるようです。


File: skk.info,  Node: カタカナの見出し語,  Next: 文脈に応じた自動モード切り替え,  Prev: 領域の操作,  Up: カタカナ、英字入力の便法

5.3.4 カタカナの見出し語
------------------------

‘q’ のタイプでかなモード、カナモードを度々切り替えて入力を続けていると、
カナモードで誤って▼モードに入ってしまうことがあります。そのため、カナ モ
ードで▼モードに入った場合は、まず見出し語をひらがなに変換してから辞 書の
検索に入るよう設計されています。なお、この場合の送りあり変換での送 り仮
名は、カタカナになります。


File: skk.info,  Node: 文脈に応じた自動モード切り替え,  Prev: カタカナの見出し語,  Up: カタカナ、英字入力の便法

5.3.5 文脈に応じた自動モード切り替え
------------------------------------

‘context-skk.el’ は、編集中の文脈に応じて SKK の入力モードを自動的に ア
スキーモードに切り替える等の機能を提供します。

 ‘context-skk.el’ をロードするには、‘~/.emacs.d/init.el’ に

     (add-hook 'skk-load-hook
     	  (lambda ()
     	    (require 'context-skk)))

 と書いてください。

 あるプログラミング言語のプログラムを書いているとき、日本語入力の必要が
あ るのは一般に、そのプログラミング言語の文字列中かコメント中に限られま
す。 たとえば Emacs Lisp で日本語入力の必要があるのは
     "文字列"
     ;; コメント
 といった個所だけでしょう。 文字列・コメントの「外」を編集するときは、多
くの場合は日本語入力は必要あ りません。

 現在の文字列・コメントの「外」で編集開始と同時に（skk がオンであれば）
skk の入力モードをアスキーモードに切り替えます。 エコーエリアに

     -------------------- Echo Area --------------------
     [context-skk] 日本語入力 off
     -------------------- Echo Area --------------------

 と表示され、アスキーモードに切り替わったことが分かります。 これにより、
文字列・コメントの「外」での編集を開始するにあたって、日本語 入力が on に
なっていたために発生する入力誤りとその修正操作を回避すること ができます
。

 上記の機能は context-skk-mode というマイナーモードとして実装されており
‘M-x context-skk-mode’ でオン／オフを制御できます。 オンの場合、モードラ
インのメジャーモード名の隣に「;▽」と表示されます。

 -- ユーザ変数: context-skk-programming-mode
     context-skk が「プログラミングモード」と見做すメジャーモード。

 -- ユーザ変数: context-skk-mode-off-message
     アスキーモードに切り替わった瞬間にエコーエリアに表示するメッセージ
     。


File: skk.info,  Node: 補完,  Next: 便利な変換、その他の変換,  Prev: カタカナ、英字入力の便法,  Up: 便利な応用機能

5.4 補完
========

読みの前半だけを入力して <TAB> を押せば残りを自動的に補ってくれる、 これ
が補完です。 Emacs ユーザにはおなじみの機能が DDSKK でも使えます。

* Menu:

* 読みの補完::           「かか」 + Tab -> 「かかみがはらし」 !
* 補完しながら変換::      「かしたん」 + M-SPC -> 「瑕疵担保責任」 !!
* 動的補完::             入力しながら候補を表示

 よく使う長い語を効率良く入力するには、アルファベットの略語を登録する方
法もあります。 (*note アスキー文字を見出し語とした変換::)


File: skk.info,  Node: 読みの補完,  Next: 補完しながら変換,  Up: 補完

5.4.1 読みの補完
----------------

▽モードで <TAB> を押すと、見出し語（▽マークから、ポイントまでの文字 列）
に対する補完が行われます(1)。 見出し語補完は、個人辞書の内、送りなしエン
トリに対して行われます。 個人辞書に限っているのは、共有辞書では先頭の文
字を共通にする見出し語が多すぎて、 望みの補完が行える確率が低いためです
。

 次の読みの候補を表示するには、‘.’ (ピリオド) を、戻る時には ‘,’ (コンマ
)を押します。その読みで別の語を出すには、いつものように <SPC> を 押しま
す。

 例を見てみましょう。実際の動作は、個人辞書の内容によって異なります。

     S a

     ------ Buffer: foo ------
     ▽さ★
     ------ Buffer: foo ------

     <TAB>

     ------ Buffer: foo ------
     ▽さとう★
     ------ Buffer: foo ------

     .


     ------ Buffer: foo ------
     ▽さいとう★
     ------ Buffer: foo ------

     ,

     ------ Buffer: foo ------
     ▽さとう★
     ------ Buffer: foo ------

     <SPC>

     ------ Buffer: foo ------
     ▼佐藤★
     ------ Buffer: foo ------

     C-j

     ------ Buffer: foo ------
     佐藤★
     ------ Buffer: foo ------

 補完される見出し語がどのような順で表示されるかと言うと「最近使われた語
から」 となります。例えば、‘斉藤’、‘佐藤’ の順で変換した後、‘さ’ をキー
にして見出し語の補完を行うと、最初に ‘さとう’ が、その次に ‘さいとう’ が
補完されます。これは、個人辞書では、最近使われたエントリほど 上位に来る
ようになっているためです。(2)

 いったん <SPC> を入力して▼モードに入ると、以後は見出し語補完は行われま
せん。

 また、‘.’ の代わりに ‘C-u <TAB>’ を入力 すると、現在の候補に対して補完
をします。上の例では ‘さ’ に対し、 ‘さとう’ が補完された時に ‘C-u <TAB>’
を押すと、 以後の補完は、‘さとう’ を含む語 (例えば、‘さとうせんせい’など
) について行われます。

 -- ユーザ変数: skk-completion-prog-list
     補完関数、補完対象の辞書を決定するためのリスト。 デフォルトは以下の
     とおり。

            '((skk-comp-by-history)
              (skk-comp-from-jisyo skk-jisyo)
              (skk-look-completion))

 -- ユーザ変数: skk-comp-circulate
     ‘.’ （ピリオド）で次の見出し語候補を、‘,’ （コンマ）で前の見出し 語
     候補を表示するところ、候補が尽きていればデフォルト ‘nil’ では「○ ○で
     補完すべき見出し語は他にありません」とエコーエリアに表示して動作が
     止 まります。この変数が ‘non-nil’ であれば当初の見出し語を再び表示
     して 見出し語補完を再開します。

 -- ユーザ変数: skk-try-completion-char
     見出し語補完を開始するキーキャラクタです。デフォルトは <TAB> です。

 -- ユーザ変数: skk-next-completion-char
     次の見出し語候補へ移るキーキャラクタです。デフォルトはピリオド ‘.’
     です。

 -- ユーザ変数: skk-previous-completion-char
     前の見出し語候補へ戻るキーキャラクタです。デフォルトはコンマ ‘,’ で
     す。

 -- ユーザ変数: skk-previous-completion-use-backtab
     ‘Non-nil’ であれば、前の見出し語候補へ戻る動作を ‘<SHIFT>+<TAB>’ で
     も可能とします。デフォルトは ‘t’ です。 この機能の有効化／無効化の
     切り替えは、ファイル ‘~/.skk’ を書き換えて Emacs を 再起動してくだ
     さい。

 -- ユーザ変数: skk-previous-completion-backtab-key
     ‘<SHIFT>+<TAB>’ が発行する key event です。Emacs の種類／実行環境 に
     よって異なります。

 -- Function: skk-comp-lisp-symbol &optional PREDICATE
     この関数をリスト ‘skk-completion-prog-list’ へ追加すると、Lisp
     symbol 名 の補完を行います。

          (add-to-list 'skk-completion-prog-list
                       '(skk-comp-lisp-symbol) t)

   ---------- Footnotes ----------

   (1) 細かい説明です。 <TAB> を押す直 前に▽モードで入力された文字列を X
と呼ぶことにします。このとき、個人辞書 の送りなしエントリの中から「先頭
が X と一致し」かつ「長さが X よりも長い 見出し語」を検索して、そのよう
な語が該当すれば X の代わりに表示します。

   (2) *note 辞書の書式::


File: skk.info,  Node: 補完しながら変換,  Next: 動的補完,  Prev: 読みの補完,  Up: 補完

5.4.2 補完しながら変換
----------------------

前節で見出し語の補完について述べました。本節では、見出し語の補完動作を行
った後、<SPC> を入力し、▼モードに入るまでの動作を一回の操作で行 う方法に
ついて説明します。

 やり方は簡単。<TAB>・<SPC> と打鍵していたところを ‘M-<SPC>’ に 換えると
、見出し語を補完した上で変換を開始します。

 この方法によると、補完される見出し語があらかじめ分かっている状況では、
キー 入力を一回分省略できるので、読みが長い見出し語の単語を連続して入力
する場合 などに威力を発揮します。

     K a s i t a n n p o s e k i n i n n

     ------ Buffer: foo ------
     ▽かしたんぽせきにん★
     ------ Buffer: foo ------

     <SPC>, <RET>

     ------ Buffer: foo ------
     瑕疵担保責任★
     ------ Buffer: foo ------

     K a

     ------ Buffer: foo ------
     ▽か★
     ------ Buffer: foo ------

     M-<SPC>

     ------ Buffer: foo ------
     ▼瑕疵担保責任★
     ------ Buffer: foo ------

 -- ユーザ変数: skk-start-henkan-with-completion-char

     デフォルトは ‘M-<SPC>’ です。


File: skk.info,  Node: 動的補完,  Prev: 補完しながら変換,  Up: 補完

5.4.3 動的補完
--------------

▽モードでは、<TAB> を押さなくとも、文字を入力する都度、自動的に見 出し語
補完の読みを表示させる事ができます。この機能を以下「動的補完」と呼 びま
す。類似の機能としては、ウェブブラウザの URL の入力や、Microsoft Excel の
セル入力の自動補完(1)をイメージすると分かりやすいかも知れ ません。動的補
完も、個人辞書の送りなしエントリに対してのみ行なわれます。

 動的補完を利用するには ‘~/.skk’ に次の式を書きましょう。

     (setq skk-dcomp-activate t)

 例を見てみましょう。実際の動作は、個人辞書の内容によって左右されます。
★ は ポイント位置を表します。


     H o

     ---------------- Buffer: foo ------------------
     ▽ほ★んとう
     ---------------- Buffer: foo ------------------


 face が使える環境では、‘んとう’の部分が異なる face で表示され、動的 補
完機能によって補完された部分であることを示します。

 自動的に補完された見出し語が自分の意図したものであれば、 <TAB> を押 す
ことでポイント位置を動かし、補完された見出し語を選択することができます。

     <TAB>

     ---------------- Buffer: foo ------------------
     ▽ほんとう★
     ---------------- Buffer: foo ------------------

 この状態から <SPC> を押して変換するなり、‘q’ を押してカタカナに するな
り、DDSKK 本来の動作を何でも行うことができます。

 補完された見出し語が自分の意図したものでない場合は、かまわず次の入力を
続 けて下さい。補完された部分を無視したかのように動作します。


     H o

     ---------------- Buffer: foo ------------------
     ▽ほ★んとう
     ---------------- Buffer: foo ------------------

     k a

     ---------------- Buffer: foo ------------------
     ▽ほか★ん
     ---------------- Buffer: foo ------------------


 補完されない状態が自分の意図したものである場合も、補完された部分を単に
無 視するだけで OK です。下記の例では、‘ほ’ を見出し語とした変換を行っ て
います。


     H o

     ---------------- Buffer: foo ------------------
     ▽ほ★んとう
     ---------------- Buffer: foo ------------------

     <SPC>

     ---------------- Buffer: foo ------------------
     ▼保
     ---------------- Buffer: foo ------------------

 補完された状態から <BS> を押すと、消された補完前の見出し語から再度補 完
動作を行います。


     H o

     ---------------- Buffer: foo ------------------
     ▽ほ★んとう
     ---------------- Buffer: foo ------------------

     k a

     ---------------- Buffer: foo ------------------
     ▽ほか★ん
     ---------------- Buffer: foo ------------------

     <BS>

     ---------------- Buffer: foo ------------------
     ▽ほ★んとう
     ---------------- Buffer: foo ------------------

 -- ユーザ変数: skk-dcomp-activate

     この変数の値が ‘Non-nil’ であれば、カーソル位置に関わらず常に動的補
     完が有効となります。 値がシンボル ‘eolp’ であれば、カーソルが行末に
     あるときに限って動的補完が有効となります。 値が ‘nil’ であれば、動
     的補完機能は無効となります。

 -- ユーザ変数: skk-dcomp-face

     この変数の値はフェイスであり、このフェイスによって動的に補完された
     部分が 装飾されます。標準は “DarkKhaki” です。

 -- ユーザ変数: skk-dcomp-multiple-activate

     ‘Non-nil’ であれば、動的補完の候補をインラインに複数表示します (2)。

          ---------------- Buffer: foo ------------------
          ▽ほ★んとう
          　ほんとう
          　ほかん
          　ほっかいどう
          　ほうほう
          　...
          ---------------- Buffer: foo ------------------

     候補の選択には <TAB> 又は ‘<SHIFT>+<TAB>’ を押します。また、 普通の
     補完と同様に ‘.’ (ピリオド) と ‘,’ (コンマ) も利用できま す。
     *note 読みの補完::

 -- ユーザ変数: skk-dcomp-multiple-rows

     動的補完の候補を複数表示する場合の表示行数。標準は 7。

 -- ユーザ変数: skk-dcomp-multiple-face

     動的補完の複数表示群のフェイス。上記例では「ほ」のフェイス。

 -- ユーザ変数: skk-dcomp-multiple-trailing-face

     動的補完の複数表示群の補完部分のフェイス。上記例では「んとう」、「
     かん」 「っかいどう」、「うほう」のフェイス。

 -- ユーザ変数: skk-dcomp-multiple-selected-face

     動的補完の複数表示群の選択対象のフェイス。上記例では <TAB> を押すた
     び に「ほんとう」、「ほかん」、「ほっかいどう」と選択位置が移ります
     。その現在 選択位置に適用するフェイスです。

   ---------- Footnotes ----------

   (1) 同じ列に既に入力している文字列があったときに それを参照して補完し
ようとする機能

   (2) 現在は候補群の右側1カラムのフェイスがデフォルトに戻る、という制約
があります。


File: skk.info,  Node: 便利な変換、その他の変換,  Next: キー設定,  Prev: 補完,  Up: 便利な応用機能

5.5 便利な変換、その他の変換
============================

* Menu:

* 単漢字変換::                 一文字だけ漢字に変換
* 候補の絞り込み::              「わ」だけど「魏志倭人伝」の「倭」が欲しい
* 接頭辞・接尾辞::               接頭辞・接尾辞だけを変換
* 数値変換::                    数を含む文字列の変換。
* アスキー文字を見出し語とした変換::  「wg」 -> 「ワーキンググループ」
* 今日の日付の入力::             今日の日付を一発入力。
* プログラム実行変換::           Emacs Lisp プログラムを使った変換。
* 空白・改行・タブを含んだ見出し語の変換::
* カタカナ変換::                個人辞書でカタカナ語を育てられます。
* サ変動詞変換::                サ行変格活用動詞の送りあり変換が可能です
* 異体字へ変換する::
* ファンクションキーの使い方::


File: skk.info,  Node: 単漢字変換,  Next: 候補の絞り込み,  Up: 便利な変換、その他の変換

5.5.1 単漢字変換
----------------

ファイル ‘skk-tankan.el’ を読み込むことによって単漢字変換が可能とな りま
す。候補は総画数の昇順でソートして表示します。

* Menu:

* 検索キーの設定::
* 辞書の設定::
* 総画数による単漢字変換::
* 部首による単漢字変換::
* 部首の読みによる単漢字変換::

 単漢字変換を使うには設定が必要ですが、先に例を見てみましょう。

 ▽モードの最後の文字に ‘@’ を付加してから変換を開始してください。

     T a n @

     ----- Buffer: foo -----
     ▽たん@★
     ----- Buffer: foo -----

     <SPC>

     ----- Buffer: foo -----
     ▼丹★
     ----- Buffer: foo -----

     ----- Echo Area -----
     4画(丶部3画)
     ----- Echo Area -----

     <SPC>

     ----- Buffer: foo -----
     ▼反★
     ----- Buffer: foo -----

     ----- Echo Area -----
     4画(又部2画)
     ----- Echo Area -----

     <SPC>

     ----- Buffer: foo -----
     ▼旦★
     ----- Buffer: foo -----

     ----- Echo Area -----
     5画(日部1画)
     ----- Echo Area -----

     <SPC>

     ----- Buffer: foo -----
     ▼但★
     ----- Buffer: foo -----

     ----- Echo Area -----
     7画(人部5画)
     ----- Echo Area -----

     <SPC>

     ----- Buffer: foo -----
     ▼★
     ----- Buffer: foo -----

     ----- Buffer: *候補* -----
     A:坦;8画(土部5画)
     S:担;8画(手部5画)
     D:単;9画(十部7画)
     F:彖;9画(彑部6画)
     J:炭;9画(火部5画)
     K:眈;9画(目部4画)
     L:胆;9画(肉部5画)
     [残り 50+++++]
     ----- Buffer: *候補* -----

 以上のとおり、総画数の昇順でソートされた候補が次々に表示されます。


File: skk.info,  Node: 検索キーの設定,  Next: 辞書の設定,  Up: 単漢字変換

5.5.1.1 検索キーの設定
......................

デフォルトの検索キーは ‘@’ です。 DDSKK の標準設定ではキー ‘@’ は関数
‘skk-today’ の実行に割り 当てられていますが、DDSKK 14.2 からは特段の設定
なしに▽モードで ‘@’ の タイプが可能となりました。

 -- ユーザ変数: skk-tankan-search-key
     単漢字変換の検索キーは、変数 ‘skk-tankan-search-key’ で変更できます
     。 以下は、検索キーを ‘!’ へと変更する例です。

          (setq skk-tankan-search-key ?!)


File: skk.info,  Node: 辞書の設定,  Next: 総画数による単漢字変換,  Prev: 検索キーの設定,  Up: 単漢字変換

5.5.1.2 辞書の設定
..................

DDSKK 14.2 からは、標準で変数 ‘skk-search-prog-list’ に
‘skk-tankan-search’ が含まれています。 DDSKK 14.1 を利用の方、ご自身で
‘skk-search-prog-list’ を設定する方は 以下の解説を参考にしてください。

 ‘skk-tankan.el’ には、漢字の部首とその中での画数の データのみが入ってい
ます。読みのデータは、普通の辞書ファイルを使います。

 単漢字変換の辞書の設定は、変数 ‘skk-search-prog-list’ に以下の形式で 要
素を追加します。

     (skk-tankan-search 'function . args)

 「確定変換」を併用する場合は、‘skk-search-prog-list’ の 先頭の要素は
‘skk-search-kakutei-jisyo-file’ でなければいけませんので、
‘skk-search-prog-list’ の２番目の要素に ‘skk-tankan-search’ を追加します
。

     ;; skk-search-prog-list の２番目の要素に skk-tankan-search を追加する
     (setq skk-search-prog-list
           (cons (car skk-search-prog-list)
                 (cons '(skk-tankan-search 'skk-search-jisyo-file
                                           skk-large-jisyo 10000)
                       (cdr skk-search-prog-list))))

 なお、確定変換を使用しない場合は、 ‘skk-search-prog-list’ の要素 の先頭
が ‘skk-tankan-search’ でも大丈夫です。

     (add-to-list 'skk-search-prog-list
                  '(skk-tankan-search 'skk-search-jisyo-file
                                      skk-large-jisyo 10000))

 *Note 辞書の検索方法の設定::.


File: skk.info,  Node: 総画数による単漢字変換,  Next: 部首による単漢字変換,  Prev: 辞書の設定,  Up: 単漢字変換

5.5.1.3 総画数による単漢字変換
..............................

▽モードで総画数を入力して最後に ‘@’ を付加してから変換を開始します (1)。

     Q 1 0 @

     ----- Buffer: foo -----
     ▽10@★
     ----- Buffer: foo -----

     <SPC>

     ----- Buffer: *候補* -----
     A:倹;10画(人部8画)
     S:倦;10画(人部8画)
     D:個;10画(人部8画)
     F:候;10画(人部8画)
     J:倖;10画(人部8画)
     K:借;10画(人部8画)
     L:修;10画(人部8画)
     [残り 532+++++++]
     ----- Buffer: *候補* -----


   ---------- Footnotes ----------

   (1) ‘C-u 総画数 M-x skk-tankan’ でも可。


File: skk.info,  Node: 部首による単漢字変換,  Next: 部首の読みによる単漢字変換,  Prev: 総画数による単漢字変換,  Up: 単漢字変換

5.5.1.4 部首による単漢字変換
............................

▽モードで ‘@’ を２つ重ねて変換を開始すると、部首による単漢字変換が でき
ます(1)。

     Q @ @

     ----- Buffer: foo -----
     ▽@@★
     ----- Buffer: foo -----

     <SPC>

     ------ Minibuffer -------
     部首を番号で選択（TABで一覧表示）: ★
     ------ Minibuffer -------

     <TAB>

     ------ *Completions* -------
     Click <mouse-2> on a completion to select it.
     In this buffer, type RET to select the completion near point.

     Possible completions are:
     001 一 (いち)                      002 ｜ (ぼう、たてぼう)
     003 丶 (てん)                      004 丿 (の)
     005 乙 (おつ)                      006 亅 (はねぼう)
      ：                                 ：
     ------ *Completions* -------

     0 1 8 <RET> (2)

     ----- Buffer: *候補* -----
     A:切;4画(刀部2画)
     S:刈;4画(刀部2画)
     D:刊;5画(刀部3画)
     F:刋;5画(刀部3画)
     J:刎;6画(刀部4画)
     K:刑;6画(刀部4画)
     L:刔;6画(刀部4画)
     [残り 51+++++++]
     ----- Buffer: *候補* -----


 -- ユーザ変数: skk-tankan-face

     ‘M-x skk-tankan’ を実行したときに表示される「単漢字バッファ」で使用
     するフェイスです。

 -- ユーザ変数: skk-tankan-radical-name-face

     部首の読みに適用するフェイスです。

   ---------- Footnotes ----------

   (1) ‘M-x skk-tankan’ でも可。

   (2) ‘M-v’ の打鍵で、カーソルを *Completions* バッファへ移すこともでき
ます。


File: skk.info,  Node: 部首の読みによる単漢字変換,  Prev: 部首による単漢字変換,  Up: 単漢字変換

5.5.1.5 部首の読みによる単漢字変換
..................................

直前の小々節「部首による単漢字変換」にて、部首番号を入力するプロンプトで
単に <RET> をタイプすると、部首の読みを入力するプロンプトに替わります。


     ------ Minibuffer -------
     部首を読みで選択（TABで一覧表示）: ★
     ------ Minibuffer -------

     <TAB>

     ------ Completion List -------
     In this buffer, type RET to select the completion near point.

     Possible completions are:
     あいくち         (021) 匕          あお             (174) 青
     あか             (155) 赤          あくび           (076) 欠
     あさ             (200) 麻          あさかんむり     (200) 麻
      ：                                 ：
     ------ Completion List -------



File: skk.info,  Node: 候補の絞り込み,  Next: 接頭辞・接尾辞,  Prev: 単漢字変換,  Up: 便利な変換、その他の変換

5.5.2 候補の絞り込み
--------------------

‘skk-hint.el’ は、２つの読みの積集合みたいなものを取ることによって 候補
の絞り込みを行うプログラムです。 インストールは ‘~/.skk’ に以下を記入し
ます。

     (require 'skk-hint)

 例えば、読み “かんどう” に対する変換は L 辞書によると

     感動、勘当、完動、間道、官道、貫道

 と複数の候補があります。

 一方、これに “あいだ” という「他の読み」(ヒント)を与えると候補は “間道”
に一意に決まります。 ヒントは ‘;’ に続けて入力します。

     K a n d o u ; a i d a

     ※ ‘;’ 自体は表示されません。

     ----- Buffer: foo -----
     ▽かんどうあいだ
     ----- Buffer: foo -----

     <SPC>

     ----- Buffer: foo -----
     ▼間道
     ----- Buffer: foo -----

 ‘skk-hint.el’ は、２つの読みの厳密な積集合を取っているわけではなく、 通
常の変換候補のなかでヒントとして与えられた読みを含んだ漢字を持つものに 候
補を絞ります。この実例として “感動” と “感圧” を挙げます。

     K a n d o u ; k a n n a t u

     ----- Buffer: foo -----
     ▽かんどうかんあつ
     ----- Buffer: foo -----

     <SPC>

     ----- Buffer: foo -----
     ▼感動
     ----- Buffer: foo -----

 ‘skk-hint.el’ は単漢字の候補がたくさんある場合に、そこから候補を絞 りこ
む手段としても非常に有効です。例えば

     ▽わ

 を変換すると、輪、環、話、和、羽、...と大量に候補が出てきます。 この中
から “和” を選びたいとします。普通に変換していても そのうち “和” が表示
されますが、これを ‘W a ; h e i w a’ と入力し 変換すると、「▼へいわ」の
候補である「平和」に含まれる

     ▼和

 が唯一の候補となります。

     W a ; h e i w a

     ----- Buffer: foo -----
     ▽わへいわ
     ----- Buffer: foo -----

     <SPC>

     ----- Buffer: foo -----
     ▼和
     ----- Buffer: foo -----

 -- ユーザ変数: skk-hint-start-char
     ヒント変換を開始するキーを character で指定します。


File: skk.info,  Node: 接頭辞・接尾辞,  Next: 数値変換,  Prev: 候補の絞り込み,  Up: 便利な変換、その他の変換

5.5.3 接頭辞・接尾辞
--------------------

接頭辞 (prefix)、接尾辞 (suffix)の入力のために特別な方法が用意されていま
す。たとえば、「し」の候補は沢山あり、「し」から「氏」を変換するのは、そ
のままでは 効率が悪いです。接尾辞の「し」ならば、「氏」や「市」が優先さ
れるでしょう。

 接頭辞・接尾辞は辞書の中では、‘>’ などで示されます。

     >し /氏/

というエントリがあるとき、‘小林氏’を接尾辞入力を用いて、以下のよう に入
力することができます。

     K o b a y a s h i

     ------ Buffer: foo ------
     ▽こばやし★
     ------ Buffer: foo ------

     <SPC>

     ------ Buffer: foo ------
     ▼小林★
     ------ Buffer: foo ------

     >

     ------ Buffer: foo ------
     小林▽>★
     ------ Buffer: foo ------

     s i

     ------ Buffer: foo ------
     小林▽>し★
     ------ Buffer: foo ------

     <SPC>

     ------ Buffer: foo ------
     小林▼氏★
     ------ Buffer: foo ------

     C-j

     ------ Buffer: foo ------
     小林氏★
     ------ Buffer: foo ------

 接頭辞も同様です。辞書に

     ちょう> /超/

というエントリがあるとき、‘超大型’ を接頭辞入力を用いて、以下のよう に入
力することができます。

     T y o u

     ------ Buffer: foo ------
     ▽ちょう★
     ------ Buffer: foo ------

     >

     ------ Buffer: foo ------
     ▼超★
     ------ Buffer: foo ------

     O o g a t a

     ------ Buffer: foo ------
     超▽おおがた★
     ------ Buffer: foo ------

     <SPC>

     ------ Buffer: foo ------
     超▼大型★
     ------ Buffer: foo ------

     C-j

     ------ Buffer: foo ------
     超大型★
     ------ Buffer: foo ------

 キー ‘>’ を押しただけで、<SPC> が押されたかのように変換されます。 他の
接頭辞を選びたいときは、<SPC> を押して下さい。

 -- ユーザ変数: skk-special-midashi-char-list

     ▽モードまたは▼モードにおいて、この変数の値に含まれる文字の入力があ
     った 場合、接頭辞・接尾辞の入力を開始します。この変数のデフォルトは
     、

          (?> ?< ??)

     です。つまり、‘>’ と ‘<’ と ‘?’ を入力した時に接頭辞・接尾辞入 力を
     行います。‘?’ を入力したときに接頭辞・接尾辞入力を行わない場合は
     ‘?’ を外して

          (setq skk-special-midashi-char-list '(?> ?<))

     とします。

     L 辞書の接頭・接尾辞は、昔は ‘<’, ‘?’ も使われていましたが、 現在は
     ‘>’ に統一されています。


File: skk.info,  Node: 数値変換,  Next: アスキー文字を見出し語とした変換,  Prev: 接頭辞・接尾辞,  Up: 便利な変換、その他の変換

5.5.4 数値変換
--------------

DDSKK は、数字を含む見出し語を様々な候補に変換することができます。 例え
ば、見出し語 ‘だい12かい’ を変換すると ‘第１２回’、 ‘第一二回’、‘第十二
回’ といった候補を挙げます。

 この節では、このような候補を辞書に登録する方法を説明します。基本は、 数
字の部分を ‘#’ で置き替えることです。辞書 ‘SKK-JISYO.L’ のエ ントリーか
ら具体例を見てみましょう。

     だい#かい /第#1回/第#0回/第#2回/第#3回/第 #0 回/

‘だい12かい’ のような数字を含む見出し語を変換した場合、見出し 語の中の数
字の部分は自動的に ‘#’ に置き換えられますの で、辞書エントリーの左辺（つ
まり見出し語） ‘だい#かい’ にマッチします。

 辞書エントリーの右辺の ‘#1’、‘#2’ などは「どのように数字を加工 するか」
のタイプを表します。以下、各タイプについて説明します。

‘#0’

     タイプ 0。無変換。入力されたアスキー文字をそのまま出力します。例え
     ば、 ‘第12回’ のような変換を得るために使います。

‘#1’

     タイプ 1。全角文字の数字。‘12’ を ‘１２’ に変換します。

‘#2’

     タイプ 2。漢数字で位取りあり。‘1024’ を ‘一〇二四’ に変換しま す。

‘#3’

     タイプ 3。漢数字で位取りなし。‘1024’ を ‘千二十四’ に変換しま す。

‘#4’

     タイプ 4。数値再変換。見出し語中の数字そのもの (1)をキーとして辞書
     を再検索し、 ‘#4’ の部分を再検索の結果の文字列で入れ替えます。これ
     については後で 例を挙げて説明します。

‘#5’

     タイプ 5。小切手や手形の金額記入の際用いられる表記で変換します。例
     えば、 ‘1995’ を ‘壱阡九百九拾伍’ に変換します。(これを大字と言いま
     す。)

‘#8’

     タイプ 8。桁区切り。‘1234567’ を ‘1,234,567’ に変換します。

‘#9’

     タイプ 9。将棋の棋譜の入力用。‘全角数字 + 漢数字’ に変換します。こ
     れについては後で例を挙げて説明します。

 以下にいくつか例を示します。辞書に

     # /#3/

というエントリがあるときに、

     Q 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 <SPC>

と入力(2) すれば、‘百兆二千三億四十万五百’ と変換されます (3)。

 辞書に

     #m#d /#0月#0日/

というエントリがあるときに、‘/ 2 m 2 5 d <SPC>’ と入力すれば、 ‘2月25日
’と変換されます (4)。

 辞書に

     #kin /#9金/

というエントリがあるときに、‘/ 3 4 k i n <SPC>’ と入力すれば、 ‘３四金
’と変換されます。

 辞書に

     p# /#4/
     125 /東京都葛飾区/

というエントリがあるときに、‘/ p 1 2 5 <SPC>’ と入力すれば、見出 し語
‘p125’ の候補が ‘#4’ なので、見出し語の数字部分の ‘125’ に対し辞書が再検
索され、‘東京都葛飾区’ と変換されます。

 最後に、実際に登録する例を 1 つ挙げます。‘２月２５日’を得るために、

     Q 2 g a t u 2 5 n i t i <SPC>

と入力したときに、辞書に見出し語

     #がつ#にち /#1月#1日/

がないときは、辞書登録モードのプロンプトは、‘#がつ#にち’となります。 全
角数字のタイプは、‘#1’ なので、 ‘#1月#1日’ をミニバッファで作り登 録しま
す。

 タイプを覚えている必要はありません。ちゃんと、ウィンドウが開かれて説明
が 表示されます。

 -- ユーザ変数: skk-num-convert-float

     この変数の値を ‘non-nil’ に設定すると、浮動小数点数を使った見出し語
     に対応して数値変換を行います。ただし、辞書において

          #.# /#1．#1/#0月#0日/

     などの見出し語が使用できなくなります。

 -- ユーザ変数: skk-show-num-type-info

     ‘Non-nil’ であれば、辞書登録モードに入るのと同時に変換タイプの案内
     を 表示する。デフォルトは ‘t’ です。

 -- ユーザ変数: skk-num-grouping-separator

     タイプ 8 (‘#8’) で使用する記号。デフォルトは ‘,’。

 -- ユーザ変数: skk-num-grouping-places

     タイプ 8 (‘#8’) について、何桁毎に区切るのかを数値で指定する。デフ
     ォルトは 3。

 -- ユーザ変数: skk-use-numeric-conversion

     この変数を ‘nil’ に設定すると、本節で説明した数値変換の機能を全て 無
     効にします。

   ---------- Footnotes ----------

   (1) ‘p125’ という見出し語であれば、その数値部分である ‘125’ が再変換
の見出し語となります。

   (2) または ‘/ 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 <SPC>’

   (3) SHIFT キーを伴って数字を入力し始めることはできないので、‘Q’ また
は ‘/’ で▽モードに入る必要があります。

   (4) ‘m’ や ‘d’ などアスキー文字を見出し語として入 力する場合は ‘/’ キ
ーを最初に入力して SKK abbrev モードに入ってから 入力する必要があります
。 *Note SKK abbrev mode: アスキー文字を見出し語とした変換.


File: skk.info,  Node: アスキー文字を見出し語とした変換,  Next: 今日の日付の入力,  Prev: 数値変換,  Up: 便利な変換、その他の変換

5.5.5 アスキー文字を見出し語とした変換
--------------------------------------

かなモードで ‘/’ をタイプすると “SKK abbrev mode” に入り、以後の 入力は
アスキー文字になります。普通に <SPC> を押すと、その見出し語に係 る変換が
得られます。

 仮に、辞書に

     is /インクリメンタル・サーチ/

というエントリがあるとして、以下に例を示します。

     /

     ------ Buffer: foo ------
     ▽★
     ------ Buffer: foo ------

     i s

     ------ Buffer: foo ------
     ▽is★
     ------ Buffer: foo ------

     <SPC>

     ------ Buffer: foo ------
     ▼インクリメンタル・サーチ★
     ------ Buffer: foo ------

     C-j

     ------ Buffer: foo ------
     インクリメンタル・サーチ★
     ------ Buffer: foo ------

 候補を確定すると SKK abbrev モードを抜けてかなモードに戻ります。

 SKK abbrve モードで使われる辞書は、普通のかな漢字変換と同じです。見出し
語 がアスキー文字で書かれているだけで、特殊な点はありません。

 上記の例において <SPC> の代わりに ‘C-q’ をタイプすることで、入力 したア
スキー文字をそのまま全角アルファベットに変換することもできます。
(*note 全英文字の入力::)

 なお、SKK abbrev モードにおいても <TAB> による「見出し語の補完」を行 う
ことができます。(*note 補完::)


File: skk.info,  Node: 今日の日付の入力,  Next: プログラム実行変換,  Prev: アスキー文字を見出し語とした変換,  Up: 便利な変換、その他の変換

5.5.6 今日の日付の入力
----------------------

かな/カナモードで ‘@’ を入力すれば、今日の日付が入力されます。

 日付の形式は以下の変数により決定されます。

 -- ユーザ変数: skk-date-ad

     この変数の値が ‘non-nil’ であれば西暦で、‘nil’ であれば元号で 表示
     します。デフォルトは ‘nil’ です。

 -- ユーザ変数: skk-number-style

     この変数の値は以下のように解釈されます。デフォルトは ‘1’ です。

     ‘0’
     ‘nil’

          ASCII 数字。‘1996年7月21日(日)’ のようになります。

     ‘1’
     ‘t’

          全角数字。‘１９９６年７月２１日(日)’ のようになります。

     ‘2’

          漢数字(位取)。‘一九九六年七月二一日(日)’ のようになります。

     ‘3’

          漢数字。‘千九百九十六年七月二十一日(日)’ のようになります。

     上記の ‘1996年’、‘１９９６年’、‘一九九六年’ の部分は、変 数
     ‘skk-date-ad’ の値が ‘nil’ であれば ‘平成8年’ のよう に元号で表示さ
     れます。

 辞書 ‘SKK-JISYO.lisp’ には、見出し語 ‘today’ の候補 として、
‘skk-date-ad’ と ‘skk-number-style’ の全ての組み合わせが プログラム実行
変換機能(1) を用いて登録さ れています。従って、‘/ t o d a y <SPC>’ と入
力すると、今日の日付 が上記の形式で順次候補として表示されます。

 関数 ‘skk-relative-date’ を利用すると、昨日、一昨日、明後日など任意 の
日付を求めることができます。詳細は ‘skk-gadget.el’ のコメントを参 照して
ください。

 なお、‘@’ のタイプで日付を挿入するのではなく、文字どおり ‘@’ を 挿入し
たい場合は次のとおり。

     (setq skk-rom-kana-rule-list
           (append skk-rom-kana-rule-list
                   '(("@" nil "@"))))

 全角文字の ‘＠’ を挿入したい場合は次のとおり。

     (setq skk-rom-kana-rule-list
           (append skk-rom-kana-rule-list
                   '(("@" nil "＠"))))

   ---------- Footnotes ----------

   (1) *note プログラム実行変換::.


File: skk.info,  Node: プログラム実行変換,  Next: 空白・改行・タブを含んだ見出し語の変換,  Prev: 今日の日付の入力,  Up: 便利な変換、その他の変換

5.5.7 プログラム実行変換
------------------------

辞書の候補に Emacs Lisp のプログラムが書いてあれば、そのプログラムを
Emacs に実行させ、返り値をカレントバッファに挿入します。これを 「プロ グ
ラム実行変換」と呼んでいます。例えば、辞書に

     now /(current-time-string)/

というエントリがあるとします。このとき ‘/ n o w <SPC>’ と入力す れば、現
在のバッファに ‘current-time-string’ の返り値である

     Sun Jul 21 06:40:34 1996

のような文字列が挿入されます。

 ここで、プログラムの返り値は文字列である必要があります。また、プログラ
ム 実行変換の辞書登録は通常の単語と同様に行うことができますが、その中に
改 行を含まないように書く必要があります (1)。

 今日の日付の入力 (2) で説明した ‘today’ の辞書エント リは、実際は下記の
ようなプログラムを候補にもっています。

     today /(let ((skk-date-ad) (skk-number-style t)) (skk-today))/.../

 ‘skk-gadget.el’ には、西暦／元号変換や簡単な計算などプログラム実行変 換
用の関数が集められています。

 -- Function: skk-calc operator

     skk-calc は、引数を 1 つ取り、見出し語の数字に対しその演算を行う簡
     単な計算 プログラムです。

          (defun skk-calc (operator)
            ;;2つの引数を取って operator の計算をする。
            ;;注意: ’/ は引数として渡せないので (defalias ’div ’/) などとし、別の形で
            ;;skk-calc に渡す。
            ;;辞書見出し例; #*# /(skk-calc ’*)/
            (number-to-string (apply operator
                                     (mapcar 'string-to-number
                                             skk-num-list))))

     この関数を実際にプログラム実行変換で利用するには、辞書に以下のよう
     なエン トリを追加します (3)。

          #*# /(skk-calc '*)/

     ‘Q 1 1 1 * 4 5 <SPC>’ と入力します。ここで、‘111’ と ‘45’ の 2 つの
     数字は、変換時に ‘("111" "45")’ のような文字 列のリストにまとめられ
     、変数 ‘skk-num-list’ の値として保存されます。 次に関数 ‘skk-calc’
     が呼ばれます。この中で、‘skk-num-list’ の 各要素に対し演算を行うた
     め、各要素は数に変換されます。その上で、 ‘skk-calc’ に与えられた引
     数 (この場合は ‘*’) を演算子として演 算を行います。

 -- Function: skk-gadget-units-conversion 基準単位 数値 変換単位

     数値について、基準単位から変換単位への変換を行います。

          / 1 3 m i l e

          ------ Buffer: foo ------
          ▽13mile★
          ------ Buffer: foo ------

          <SPC>

          ------ Buffer: foo ------
          ▼20.9209km★
          ------ Buffer: foo ------

          <RET>

          ------ Buffer: foo ------
          20.9209km★
          ------ Buffer: foo ------

     単位変換の情報は、変数 ‘skk-units-alist’ で定義されています。

 -- ユーザ変数: skk-units-alist

     この変数は以下の形式の連想リストです。

          (基準となる単位 (変換する単位 . 変換時の倍率)
                          (… . …))

     関数 ‘skk-gadget-units-conversion’ で利用されています。デフォルトで
     は、以下の単位変換の情報を定義しています。

          ("mile" ("km" . 1.6093)
                  ("yard" . 1760))

          ("yard" ("feet" . 3)
                  ("cm" . 91.44))

          ("feet" ("inch" . 12)
                  ("cm" . 30.48))

          ("inch" ("feet" . 0.5)
                  ("cm" . 2.54))

 -- Function: skk-relative-date pp-function format and-time &key (yy 0)
          (mm 0) (dd 0)

     ‘skk-current-date’ の拡張版。‘PP-FUNCTION’, ‘FORMAT’, ‘AND-TIME’ の
     意味は ‘skk-current-date’ の docstring を参照のこと。 キーワード変
     数 ‘:yy’, ‘:mm’, ‘:dd’ に正または負の数値を指定することで 明日、明
     後日、一昨日などの日付を求めることができる。 詳細は ‘skk-gadget.el’
     のコメントを参照のこと。

   ---------- Footnotes ----------

   (1) 通常の単語では、改行を含むことが可能です。それは、評価するとその
位置に 改行を挿入するような実行変換プログラムに変換して辞書に書き込んで
いるからです。 *Note 辞書の種類::.

 しかし、実行変換されるプログラムを辞書登録する際にはこの機能を利用でき
ないため、 改行を含むことができません。

   (2) *Note 今日の日付の入力::.

   (3) *note 数値変換::.


File: skk.info,  Node: 空白・改行・タブを含んだ見出し語の変換,  Next: カタカナ変換,  Prev: プログラム実行変換,  Up: 便利な変換、その他の変換

5.5.8 空白・改行・タブを含んだ見出し語の変換
--------------------------------------------

変換の際、見出し語の中の空白、改行、タブは無視されます。

     ---------------- Buffer: foo ------------------
     ▽じんじょうしょ
     うがっこう★
     ---------------- Buffer: foo ------------------

     <SPC>

     ---------------- Buffer: foo ------------------
     ▼尋常小学校★
     ---------------- Buffer: foo ------------------

 オートフィルモードで折り返された文字列に対し、折り返された状 態のまま変
換することもできます。

     ---------------- Buffer: foo ------------------
     仮名漢字変換プログラムをさ
     くせいしました。★
     ---------------- Buffer: foo ------------------

     C-u 10 C-b Q

     ---------------- Buffer: foo ------------------
     仮名漢字変換プログラムを▽★さ
     くせいしました。
     ---------------- Buffer: foo ------------------

     C-u 5 C-f

     ---------------- Buffer: foo ------------------
     仮名漢字変換プログラムを▽さ
     くせい★しました。
     ---------------- Buffer: foo ------------------

     <SPC>

     ---------------- Buffer: foo ------------------
     仮名漢字変換プログラムを▼作成★しました。
     ---------------- Buffer: foo ------------------

 ここでは改行を越えて見出し語を探し、変換する例を示しました。同様に、空
白、 タブ文字を中間に含む文字列に対しても変換を行うことができます。

 -- ユーザ変数: skk-allow-spaces-newlines-and-tabs

     この変数を ‘nil’ に設定すると、本節で説明したような２行以上にまたが
     る文字列に対する変換を禁止します。


File: skk.info,  Node: カタカナ変換,  Next: サ変動詞変換,  Prev: 空白・改行・タブを含んだ見出し語の変換,  Up: 便利な変換、その他の変換

5.5.9 カタカナ変換
------------------

 -- ユーザ変数: skk-search-katakana

     通常、SKK でカタカナ語を入力するには、
        • ‘q’ でカナモードに移ってからカタカナを入力する
        • ▽モードで ‘q’ によりカタカナへ変換する(1)
     のどちらかです。これらの方法は手軽ですが、個人辞書に登録されないた
     め見出 し語の補完候補にも現れず、何度でも入力しなければいけません。

     そこで、ここに紹介する方法ではカタカナ語が普通の変換候補として現れ
     、個人 辞書にも登録されます。設定するには以下を ‘~/.skk’ に記述しま
     す (2)。

          (setq skk-search-katakana t)

     また、値をシンボル‘'jisx0201-kana’ とすると、カタカナ候補に加え半角
     カタカナ候補も変換候補に現れます。

          (setq skk-search-katakana 'jisx0201-kana)

   ---------- Footnotes ----------

   (1) *note かなモードからカタカナを入力::

   (2) ‘skk-search-prog-list’ の設定をユーザが変更している場合は 期待ど
おりに動作しない場合があります。その場合は‘skk-search-prog-list’ の 設定
に関数 ‘skk-search-katakana’ の呼び出しがあることを確認してくだ さい。ま
たこの機能の設定は DDSKK 14.1 以前では異なります。詳しくはソース に付属
のドキュメント、設定例をご覧ください。


File: skk.info,  Node: サ変動詞変換,  Next: 異体字へ変換する,  Prev: カタカナ変換,  Up: 便利な変換、その他の変換

5.5.10 サ変動詞変換
-------------------

 -- ユーザ変数: skk-search-sagyo-henkaku

     通常、SKK では諸般の事情によりサ行変格活用の動詞は送りなし変換をす
     る前提 になっています。このことは共有辞書のメンテナンスにおける便宜
     上やむをえな いのですが、個人辞書が育たない (サ変動詞と名詞の区別が
     できない) という弱 点もあります。
     (*note サ変動詞の辞書登録に関する注意::)

     しかし、ここに紹介する方法では任意の送りなし候補を利用してサ行の送
     りプレ フィックスに限定して送りあり変換が可能になり、個人辞書を育て
     ることが可能 になります。設定するには以下を ‘~/.skk’ に記述します。
     (1)

          (setq skk-search-sagyo-henkaku t)

     例えば ‘お茶する’ の変換は以下のように変化します。

        • 従来 … ‘O c h a <SPC> s u r u’
        • サ変 … ‘O c h a S u r u’

     変数の値を ‘anything’ に設定すると、サ行に限らず任意の送り仮名を許
     可し、送りあり変換をします。これにより、送りあり変換の利用範囲を形
     容詞・ 動詞の変換のみならず、あらゆるひらがな開始点の指定に拡張する
     ことができま す。

     このサ変動詞送りあり変換機能は、カタカナ変換機能と組み合わせるとさ
     らに有 効です。(*note カタカナ変換::)

   ---------- Footnotes ----------

   (1) ‘skk-search-prog-list’ の設定をユーザが変更している場合は 期待ど
おりに動作しない場合があります。その場合は ‘skk-search-prog-list’ の設定
に関数 ‘skk-search-sagyo-henkaku’ の呼び出しがあることを確認 してくださ
い。またこの機能の設定は DDSKK 14.1 以前では異なります。詳しく はソース
に付属のドキュメント、設定例をご覧ください。


File: skk.info,  Node: 異体字へ変換する,  Next: ファンクションキーの使い方,  Prev: サ変動詞変換,  Up: 便利な変換、その他の変換

5.5.11 異体字へ変換する
-----------------------

‘辺’ (42区53点) の異体字である ‘邊’ (78区20点) や ‘邉’ (78 区21点) を入
力したいときがあります(1)。

     ★辺

     Q

     ▽★辺

     C-f

     ▽辺★

     <SPC>

     ▼邊★

     <SPC>

     ▼邉★


 -- ユーザ変数: skk-itaiji-jisyo

     辞書ファイル ‘SKK-JISYO.itaiji’ 又は ‘SKK-JISYO.itaiji.JIS3_4’ へ の
     パスを指定する。

     他の辞書ファイルと異なり、この 2 つの辞書ファイルは見出し語が漢字で
     す。

 -- Function: skk-search-itaiji

     not documented

     <http://mail.ring.gr.jp/skk/200303/msg00071.html>

   ---------- Footnotes ----------

   (1) 辞書が充実していればかな漢字 変換で見出し語 ‘へん’ から ‘邊’ や
‘邉’ を求めることができ ます。もちろん、文字コードを指定して ‘邊’ や ‘邉
’ を直接挿入す ることもできます。


File: skk.info,  Node: ファンクションキーの使い方,  Prev: 異体字へ変換する,  Up: 便利な変換、その他の変換

5.5.12 ファンクションキーの使い方
---------------------------------

 -- ユーザ変数: skk-j-mode-function-key-usage

     シンボル ‘conversion’ ならば、‘skk-search-prog-list-1’ 〜
     ‘skk-search-prog-list-9’ および ‘skk-search-prog-list-0’ を 実行す
     るよう自動設定します。これらのプログラムは▽モード限定でファンクショ
     ン キー (<[F1]> 〜 <[F10]>) に割り当てられます。<[F5]> 〜 <[F10]> に
     ついては本オプションの設定により自動的に割り当てられます。 これらの
     割り当てはユーザオプション ‘skk-verbose’ を設定するとエコー エリア
     に表示されるようになります。(*note 冗長な案内メッセージの表示::)

        • <[F5]> … 単漢字
        • <[F6]> … 無変換
        • <[F7]> … カタカナ
        • <[F8]> … 半角カナ
        • <[F9]> … 全角ローマ
        • <[F10]> … ローマ

     シンボル ‘kanagaki’ ならば、かなキーボード入力用に自動設定します。

     ‘nil’ ならば、自動設定しません。


File: skk.info,  Node: キー設定,  Next: 変換、確定の前後,  Prev: 便利な変換、その他の変換,  Up: 便利な応用機能

5.6 キー設定
============

* Menu:

文字の入力
* かなモード/カナモードのキー設定::
* 全英モードのキー設定::
* 閉じ括弧の自動入力::
* リージョンを括弧で囲む::

変換、確定など
* 確定するキー::                 RET 以外で確定されるには
* 候補の選択に用いるキー::         asdfjkl 以外
* ▼モードでのRET::              改行も同時にする? しない?
* ▼モードでのBS::               削除 vs 前候補
* 送りあり変換中のC-g::
* 変換位置の指定方法::            大文字以外でも変換位置を指定可能に。

他
* 1回の取り消し操作(undo)の対象::

関連項目: *note ローマ字入力以外の入力方式::


File: skk.info,  Node: かなモード/カナモードのキー設定,  Next: 全英モードのキー設定,  Up: キー設定

5.6.1 かなモード/カナモードのキー設定
-------------------------------------

* Menu:

* ローマ字のルールの設定::
* ローマ字ルールの変更例::        略号なども設定できます。
* ■モードに関連するその他の変数::
* 数字や記号文字の入力::


File: skk.info,  Node: ローマ字のルールの設定,  Next: ローマ字ルールの変更例,  Up: かなモード/カナモードのキー設定

5.6.1.1 ローマ字のルールの設定
..............................

‘skk-rom-kana-base-rule-list’
‘skk-rom-kana-rule-list’

 DDSKK の■モードにおける文字変換は、これら２つの変数を用いて行われます。
‘skk-rom-kana-base-rule-list’ には基本的なローマ字かな変換のルールが 定
められています。一方、‘skk-rom-kana-rule-list’ はユーザが独自のルールを
定めるために用意されており、‘skk-rom-kana-base-rule-list’ よりも優先され
ます。

 これらは「入出力の状態がいかに移り変わるべきか」を決定します。その内容
は、

          (入力される文字列 出力後に自動的に入力に追加される文字列 出力)

という形のリストを列挙したものです。

   • 入力される文字列…変換される前のアスキー文字の文字列をいいます。

   • 出力…次の入力状態に移るときにバッファに挿入される文字列の組み合 わ
     せであり、 ‘("ア" . "あ")’ のようなコンスセルです。

 ‘skk-rom-kana-base-rule-list’ の一部を見てみましょう。

          ("a"  nil ("ア" . "あ"))
          ("ki" nil ("キ" . "き"))
          ("tt" "t" ("ッ" . "っ"))
          ("nn" nil ("ン" . "ん"))
          ("n'" nil ("ン" . "ん"))

のような規則があります。これによると

     a  ↦あ
     ki ↦き
     tt ↦っt
     nn ↦ん
     n' ↦ん

のようになります。

 ‘skk-rom-kana-base-rule-list’ には、次のような便利な変換ルールも定め ら
れています。

     z  ↦ □ （全角スペース）
     z* ↦ ※
     z, ↦ ‥
     z- ↦ 〜
     z. ↦ …
     z/ ↦ ・
     z0 ↦ ○
     z@ ↦ ◎
     z[ ↦ 『
     z] ↦ 』
     z{ ↦ 【
     z} ↦ 】
     z( ↦ （
     z) ↦ ）
     zh ↦ ←
     zj ↦ ↓
     zk ↦ ↑
     zl ↦ →
     zL ↦ ⇒


File: skk.info,  Node: ローマ字ルールの変更例,  Next: ■モードに関連するその他の変数,  Prev: ローマ字のルールの設定,  Up: かなモード/カナモードのキー設定

5.6.1.2 ローマ字ルールの変更例
..............................

‘skk-rom-kana-base-rule-list’ の規則に従うと

     hannou ↦はんおう
     han'ou ↦はんおう
     hannnou ↦はんのう

のようになります。ここで

     (setq skk-rom-kana-rule-list
           (append skk-rom-kana-rule-list
                   '(("nn" "n" ("ン" . "ん")))))

のような設定にすることで

     hannou ↦はんのう

のようにローマ字かな変換が行われるようになります。

 他の例として、略号を設定することもできます。

     tp ↦東北大学
     skk ↦skk
     skK ↦SKK

といった変換は、

     ("tp" nil ("東北大学" . "東北大学"))
     ("sk" nil ("" . ""))
     ("skk" nil ("skk" . "skk"))
     ("skK" nil ("SKK" . "SKK"))

のような規則を追加することで実現されます。自分の名前を入力することはよく
あるので、適当な省略形を用いて、このリストに追加しておく、といった利用を
お勧めします。

 更に ‘skk-rom-kana-rule-list’ を用いれば TUT-code による日本語入力を 実
現することもできます。TUT-code による入力についてはソースアーカイブ の
‘tut-code’ ディレクトリに収録されている各ファイルを参照してくださ い。
(*note ローマ字入力以外の入力方式::)


File: skk.info,  Node: ■モードに関連するその他の変数,  Next: 数字や記号文字の入力,  Prev: ローマ字ルールの変更例,  Up: かなモード/カナモードのキー設定

5.6.1.3 ■モードに関連するその他の変数
.....................................

 -- ユーザ変数: skk-kana-input-search-function

     ルールリストの中に記せない変換ルールを処理する関数。 これは
     ‘skk-rom-kana-base-rule-list’ と ‘skk-rom-kana-rule-list’ の 要素を
     全て検索した後にコールされます。引数はありません。バッファの文字を
     、 直接 ‘preceding-char’ などで調べて下さい。

     初期設定では ‘h’ で、長音を表すために使われています。次の例を見て下
     さい。

          ohsaka ↦ おおさか
          ohta ↦ おおた

     一方で、‘hh’ は「っ」になります。

          ohhonn ↦ おっほん
          ohhira ↦ おっひら

     これは ‘skk-rom-kana-rule-list’ のデフォルトに

          ("hh" "h" ("ッ" . "っ"))

     が入っているためです。これを削除すれば

          ohhonn ↦ おおほん
          ohhira ↦ おおひら

     となります。

 -- ユーザ変数: skk-kutouten-type
     ■モードの標準では、キーボードの ‘.’ をタイプすると「。」が、 ‘,’ を
     タイプすると「、」がバッファに入力されます。 変数
     ‘skk-kutouten-type’ に適切なシンボルを設定することにより、この 組み
     合せを変更することができます (1)。そのシンボルとは、次の４つです。

          'jp    ↦ 「。」「、」 (デフォルト)
          'en    ↦ 「．」「，」
          'jp-en ↦ 「。」「，」
          'en-jp ↦ 「．」「、」

     または、変数 ‘skk-kutouten-type’ にはコンスセルを指定することも可 能
     です。その場合は、

          (句点を示す文字列 . 読点を示す文字列)

     のように指定します。例として、次のように設定するとキーボード の ‘.’
     で ‘abc’ が、‘,’ で ‘def’ がバッファに入力され ます。
          (setq skk-kutouten-type '("abc" . "def"))

     なお、変数 ‘skk-kutouten-type’ はバッファローカル変数です。すべての
     バッファで統一した設定としたい場合は、

          (setq-default skk-kutouten-type 'en)

     のように関数 ‘setq-default’ を用いてください。

 -- ユーザ変数: skk-use-auto-kutouten

     デフォルトは ‘nil’。‘Non-nil’ であれば、カーソル直前の文字種に 応じ
     て句読点を動的に変更します。

   ---------- Footnotes ----------

   (1) 変数 ‘skk-use-kana-keyboard’ が ‘non-nil’ ならば無効 である。


File: skk.info,  Node: 数字や記号文字の入力,  Prev: ■モードに関連するその他の変数,  Up: かなモード/カナモードのキー設定

5.6.1.4 数字や記号文字の入力
............................

かなモード/カナモードにおける次のキーは、関数 ‘skk-insert’ にバインドさ
れています。

     !  #  %  &  '  *  +

     -  0  1  2  3  4  5

     6  7  8  9  :  ;  <

     =  >  ?  "  (  )  [

     ]  {  }  ^  _  `  |

     ~

 これらの数字や記号文字のキーに対応し挿入される文字をカスタマイズするた
め には、変数 ‘skk-rom-kana-rule-list’ を利用します。

     (setq skk-rom-kana-rule-list
           (append skk-rom-kana-rule-list
                   '(("!" nil "!")
                     ("," nil ",")
                     ("." nil ".")
                     (":" nil ":")
                     (";" nil ";")
                     ("?" nil "?"))))

 ‘skk-insert’ は、Emacs のオリジナル関数 ‘self-insert-command’ をエミュ
レートしています。具体的には、引数を渡すことによって同じ文字を複 数、一
度に挿入することが可能です。


     C-u 2 !

     ------ Buffer: foo ------
     ！！
     ------ Buffer: foo ------


File: skk.info,  Node: 全英モードのキー設定,  Next: 閉じ括弧の自動入力,  Prev: かなモード/カナモードのキー設定,  Up: キー設定

5.6.2 全英モードのキー設定
--------------------------

全英モードにおける印字可能な全てのキーはコマンド
‘skk-jisx0208-latin-insert’ に割り付けられています。また、変数
‘skk-jisx0208-latin-vector’ の値により挿入される文字が決定され、 そのデ
フォルトは以下のようになっています。

     [nil  nil  nil  nil  nil  nil  nil  nil
      nil  nil  nil  nil  nil  nil  nil  nil
      nil  nil  nil  nil  nil  nil  nil  nil
      nil  nil  nil  nil  nil  nil  nil  nil
      "　" "！" "”" "＃" "＄" "％" "＆" "’"
      "（" "）" "＊" "＋" "，" "−" "．" "／"
      "０" "１" "２" "３" "４" "５" "６" "７"
      "８" "９" "：" "；" "＜" "＝" "＞" "？"
      "＠" "Ａ" "Ｂ" "Ｃ" "Ｄ" "Ｅ" "Ｆ" "Ｇ"
      "Ｈ" "Ｉ" "Ｊ" "Ｋ" "Ｌ" "Ｍ" "Ｎ" "Ｏ"
      "Ｐ" "Ｑ" "Ｒ" "Ｓ" "Ｔ" "Ｕ" "Ｖ" "Ｗ"
      "Ｘ" "Ｙ" "Ｚ" "［" "＼" "］" "＾" "＿"
      "‘" "ａ" "ｂ" "ｃ" "ｄ" "ｅ" "ｆ" "ｇ"
      "ｈ" "ｉ" "ｊ" "ｋ" "ｌ" "ｍ" "ｎ" "ｏ"
      "ｐ" "ｑ" "ｒ" "ｓ" "ｔ" "ｕ" "ｖ" "ｗ"
      "ｘ" "ｙ" "ｚ" "｛" "｜" "｝" "〜" nil]

 挿入される文字を変更したい場合は、*note 数字や記号文字の入力:: を参照し
てください。

 ‘skk-jisx0208-latin-insert’ も Emacs オリジナルの関数
‘self-insert-command’ をエミュレートしています。つまり、引数を渡す こと
により同じ文字を複数、一度に挿入することができます。 ‘skk-insert’ におけ
る動作と同じですから、 *note 数字や記号文字の入力:: の例を参考にしてくだ
さい。


File: skk.info,  Node: 閉じ括弧の自動入力,  Next: リージョンを括弧で囲む,  Prev: 全英モードのキー設定,  Up: キー設定

5.6.3 閉じ括弧の自動入力
------------------------

通常、‘「’ を入力したら、‘」’ を後で入力する必要があります。‘「’ の入 力
時点で、対になる文字を自動挿入してくれると打鍵数を減らすことができます し
、同時に入力忘れの防止にもなるでしょう。

 そのために変数 ‘skk-auto-insert-paren’ が用意されています。この値を
‘non-nil’ にすると、上記の自動挿入を行います。

     ------ Buffer: foo ------
     彼はこう言った★
     ------ Buffer: foo ------

     [

     ------ Buffer: foo ------
     彼はこう言った「★」
     ------ Buffer: foo ------

上記のように ‘「’ の入力時点で対となる‘」’を自動挿入し、‘「’と‘」’の間に
ポイントを再配置するので、その位置からかぎかっこに囲まれた文字列を即始め
ることができます。

 -- ユーザ変数: skk-auto-paren-string-alist
     自動挿入すべきペアの文字列を指定します。デフォルトは下記のとおり。

          (("「" . "」") ("『" . "』") ("(" . ")") ("（" . "）") ("{" . "}")
           ("｛" . "｝") ("〈" . "〉") ("《" . "》") ("[" . "]") ("［" . "］")
           ("〔" . "〕") ("【" . "】") ("\"" . "\"") ("“" . "”") ("`" . "'"))

     これは、ひと言でまとめると、「開き括弧と閉じ括弧とのコンスセルを集
     めたリ スト」です。各コンスセルの ‘car’ にある文字列を挿入したとき
     に、 ‘cdr’ にある文字列が自動挿入されます。 (1) (2)

 キーとなる文字が挿入されても、その挿入後のポイントに自動挿入すべき文字
が 既に存在している場合には、自動挿入されないように設計されています。

     ------ Buffer: foo ------
     ★」
     ------ Buffer: foo ------

     [

     ------ Buffer: foo ------
     「★」
     ------ Buffer: foo ------


 対になる文字を複数挿入したい場合は、引数を渡して文字を指定します。


     C-u 2 [

     ------ Buffer: foo ------
     「「★」」
     ------ Buffer: foo ------

 ‘yatex-mode’ など、既に同様の機能が付いているモードがあります。その よ
うなモードにおいてもこの自動挿入の機能が邪魔になることはないでしょうが、
特定のモードに限って自動入力機能をオフにしたい場合は、当該モードに入った
ときにコールされるフック変数を利用して設定することができます。

     (add-hook 'yatex-mode-hook
               (lambda ()
                   (when skk-auto-insert-paren
                     (make-local-variable 'skk-auto-insert-paren)
                     (setq skk-auto-insert-paren nil))))

 特定のモードにおいて、自動挿入すべき文字を変更したい場合にも同様にフッ
ク 変数を用いて操作できます。

     (add-hook 'tex-mode-hook
               (lambda ()
                   (when skk-auto-insert-paren
                     (make-local-variable 'skk-auto-paren-string-alist)
                     (setq skk-auto-paren-string-alist
                           (cons '("$" . "$") skk-auto-paren-string-alist)))))

同様に、特定のペアを削除したい場合は、例えば下記のように設定します。

     (add-hook 'tex-mode-hook
               (lambda ()
                   (when skk-auto-insert-paren
                     (make-local-variable 'skk-auto-paren-string-alist)
                     (setq skk-auto-paren-string-alist
                           (delete
                            '("$" . "$")
                            (copy-sequence skk-auto-paren-string-alist))))))

   ---------- Footnotes ----------

   (1) このリストの各要素の ‘car’ の文字列は、必ず変数
‘skk-rom-kana-rule-list’ の規則によって入力されなければなりません。 例え
ば、‘(’ に対する ‘)’ を自動挿入するには

     (setq skk-rom-kana-rule-list
           (append skk-rom-kana-rule-list
                   '(("(" nil "("))))

のように設定する必要があります。

   (2) 既に SKK モードになっているバッファで変数
‘skk-auto-paren-string-alist’ を変更した場合は、‘C-x C-j’ もし くは ‘C-x
j’ を 2 度タイプして ‘skk-mode’ もしくは ‘skk-auto-fill-mode’ を起動し直
す必要があります。


File: skk.info,  Node: リージョンを括弧で囲む,  Next: 確定するキー,  Prev: 閉じ括弧の自動入力,  Up: キー設定

5.6.4 リージョンを括弧で囲む
----------------------------

「閉じ括弧の自動入力」の応用として、リージョンを括弧で囲むことができます
。

     ------ Buffer: foo ------
     このマニュアルにおいて★DDSKK★と呼びます
     ------ Buffer: foo ------

     `

     ------ Buffer: foo ------
     このマニュアルにおいて`DDSKK'と呼びます
     ------ Buffer: foo ------

 -- ユーザ変数: skk-use-auto-enclose-pair-of-region
     ‘non-nil’ であれば、上記の機能が有効になります。 当然に
     ‘skk-auto-insert-paren’ も ‘non-nil’ である必要があります。

     なお、‘delete-selection-mode’ の方が優先されます。


File: skk.info,  Node: 確定するキー,  Next: 候補の選択に用いるキー,  Prev: リージョンを括弧で囲む,  Up: キー設定

5.6.5 確定するキー
------------------

 -- ユーザ変数: skk-kakutei-key

     この変数の値は、明示的な確定動作を行うキーを指定します。 標準設定で
     は ‘C-j’ となっています。

 関連事項: *note 暗黙の確定のタイミング::


File: skk.info,  Node: 候補の選択に用いるキー,  Next: ▼モードでのRET,  Prev: 確定するキー,  Up: キー設定

5.6.6 候補の選択に用いるキー
----------------------------

変換において、候補が５つ以上あるときは、５番目以降の候補は７つずつ まと
めてエコーエリアに下記のように表示されます (1)。

     -------------------- Echo Area --------------------
     A:嘘  S:拒  D:拠  F:虚  J:挙  K:許  L:渠  [残り 2]
     -------------------- Echo Area --------------------

 この際、候補の選択に用いるキーは、次の変数によって決定されます。

 -- ユーザ変数: skk-henkan-show-candidates-keys

     ７つの異なる文字のリスト。文字は必ず小文字とする (2)。 デフォルトは
     、以下のとおり。

          (?a ?s ?d ?f ?j ?k ?l)

 -- ユーザ変数: skk-henkan-show-candidates-keys-face
     選択キーを表示する際のフェイスを指定します。

 -- ユーザ変数: skk-henkan-rest-indicator
     デフォルトは ‘nil’。‘Non-nil’ であれば ‘[残り 99++]’ の表示を右寄せ
     配置する。

 -- ユーザ変数: skk-henkan-rest-indicator-face
     ‘[残り 99++]’ の face 属性。デフォルトは ‘default’。

   ---------- Footnotes ----------

   (1) *note ▼モード::.

   (2) ‘x’, <SPC> 及び ‘C-g’ は、それぞれ候補選択中に おける前候補群の表
示、次候補群の表示、取り止めのために割り付けられている ので、
‘skk-henkan-show-candidates-keys’ の中に含めてはいけません。


File: skk.info,  Node: ▼モードでのRET,  Next: ▼モードでのBS,  Prev: 候補の選択に用いるキー,  Up: キー設定

5.6.7 ▼モードでのRET
--------------------

標準設定では、

     K a k u t e i <SPC>

     ------ Buffer: foo ------
     ▼確定★
     ------ Buffer: foo ------

     <RET>

     ------ Buffer: foo ------
     確定
     ★
     ------ Buffer: foo ------

のように、▼モードで <RET> を入力すると、確定し、かつ改行を行います。 こ
の挙動を変えるためのユーザオプションが用意されています。

 -- ユーザ変数: skk-egg-like-newline

     この変数の値を ‘non-nil’ にすると、▼モードで <RET> を入力した とき
     に確定のみ行い、改行はしません(1)。

     K a k u t e i <SPC>

     ------ Buffer: foo ------
     ▼確定★
     ------ Buffer: foo ------

     <RET>

     ------ Buffer: foo ------
     確定★
     ------ Buffer: foo ------

   ---------- Footnotes ----------

   (1) 従って、辞書登録モードにおいて▼モードであるときの <RET> 入力時の
挙動も変化します。標準の確定、登録の動作については、
*note 辞書登録モード:: を参照してください。


File: skk.info,  Node: ▼モードでのBS,  Next: 送りあり変換中のC-g,  Prev: ▼モードでのRET,  Up: キー設定

5.6.8 ▼モードでのBS
-------------------

標準設定では、▼モードで <BS> を押すと、前の一文字を削除した上で確定 しま
す。

     D e n k i y a <SPC>

     ------ Buffer: foo ------
     ▼電気屋★
     ------ Buffer: foo ------

     <BS>

     ------ Buffer: foo ------
     電気★
     ------ Buffer: foo ------

 -- ユーザ変数: skk-delete-implies-kakutei

     この変数の値を ‘nil’ に設定すると、▼モードで <BS> を押した時 に一つ
     前の候補を表示します。例えば、

          でんき /電気/伝記/

     という辞書エントリがあるとき、以下のようになります。

          D e n k i

          ------ Buffer: foo ------
          ▽でんき★
          ------ Buffer: foo ------

          <SPC>

          ------ Buffer: foo ------
          ▼電気★
          ------ Buffer: foo ------

          <SPC>

          ------ Buffer: foo ------
          ▼伝記★
          ------ Buffer: foo ------

          <BS>

          ------ Buffer: foo ------
          ▼電気★
          ------ Buffer: foo ------

          <BS>

          ------ Buffer: foo ------
          ▽でんき★
          ------ Buffer: foo ------

 変数 ‘skk-delete-implies-kakutei’ がシンボル ‘dont-update’ で あれば、
‘non-nil’ 時と同じ動作のうえで個人辞書を更新しません。

 なお、変数 ‘skk-delete-implies-kakutei’ の値にかかわらず、*候補*バッフ
ァ を表示している場合は一つ前の候補表示に戻る動作となります。


File: skk.info,  Node: 送りあり変換中のC-g,  Next: 変換位置の指定方法,  Prev: ▼モードでのBS,  Up: キー設定

5.6.9 送りあり変換中のC-g
-------------------------

送りありの変換中に ‘C-g’ を入力すると、▼モードを抜け、その見出し語 と送
り仮名を現在のバッファに挿入し、▽モードに入ります。

     N a K u

     ------ Buffer: foo ------
     ▼泣く★
     ------ Buffer: foo ------

     C-g

     ------ Buffer: foo ------
     ▽なく★
     ------ Buffer: foo ------

 -- ユーザ変数: skk-delete-okuri-when-quit

     この変数の値を ‘non-nil’ に設定すると、送りありの変換中に ‘C-g’ を
     入力したときの挙動が変化します。▽モードに入るのは同じですが、同時に
     送り仮名を消します。送り仮名の入力間違いを修正するのには便利です。
     例えば、以下のようになります。

     N a K u

     ------ Buffer: foo ------
     ▼泣く★
     ------ Buffer: foo ------

     C-g

     ------ Buffer: foo ------
     ▽な★
     ------ Buffer: foo ------


File: skk.info,  Node: 変換位置の指定方法,  Next: 1回の取り消し操作(undo)の対象,  Prev: 送りあり変換中のC-g,  Up: キー設定

5.6.10 変換位置の指定方法
-------------------------

SKK では通常、「漢字変換の開始位置」と「送り仮名の開始位置」を大文字で指
定します が、これらを任意のキーで指定することで sticky-shift ライクな操
作 (1)も可能です。

     (setq skk-sticky-key ";")

と設定すると ‘;’ キーで (2) 漢字変換位置が指定できるようになり ます。

 例えば ‘有る’ という単語を入力するには

     ; a ; r u

 というキー入力で可能となり、シフトキーを押す必要がなくなります。

 操作上は *note Q3-4 左手の小指を SHIFT で酷使したくありません。:: など
にある通 常の sticky-shift と変わりませんが、画面表示は

     打鍵    通常の sticky   skk-sticky
     ‘;’     変化なし        ▽
     ‘a’     ▽あ             ▽あ
     ‘;’     ▽あ             ▽あ*
     ‘r’     ▽あ*r           ▽あ*r

と遷移します。通常の sticky と比べて skk-sticky は ‘;’ を押した時点で 画
面表示が変化するので若干分かり易いと思います。

 キーの設定方法は、割り当てるキーの種類によって異なります。

  1. 表示を伴うキー

     ‘;’ などの表示を伴うキーの場合は

          (setq skk-sticky-key ";")

     のように ‘string’ を設定して下さい。‘skk-sticky-key’ に設定した 文
     字そのものを入力したい場合は2回続けて打つと入力できます。

  2. 表示を伴わないキー

     【<無変換>】のような表示を伴わないキーの場合は

          (setq skk-sticky-key [muhenkan]) ;Microsoft Windows では [noconvert]

     のようにそのキーを表わす ‘vector’ を設定して下さい。

  3. 同時打鍵

     ２つのキーを同時に打鍵することでも漢字変換位置を指定できます。例え
     ば ‘f’ と ‘j’ の同時打鍵で指定する場合は

          (setq skk-sticky-key '(?f ?j))

     のように ‘character’ のリストを設定して下さい。

     Dvorak 配列のような、押しやすい場所に適当なキーがない環境でもこの機
     能を使 いたい場合に便利かもしれません。

 -- ユーザ変数: skk-sticky-double-interval

     この変数が指定する秒数以内に打鍵されたものを同時打鍵と判定する。 デ
     フォルトは 0.1 秒。

   ---------- Footnotes ----------

   (1) あくまでも「任意のキーで変換開始位置を指定する」ものであり、
sticky-shift そのものではありません。したがって、アスキーモードや abbrev
モード、また SKK 以外でも sticky-shift を使いたい場合は前述のような 設定
を併用する必要があります。

   (2) ‘skk-hint.el’ を併用する場合は ‘skk-hint-start-char’ のデフォルト
も ‘;’ であるため、どちらかを別のキーに割り当てる必要が あります。
*note 候補の絞り込み::


File: skk.info,  Node: 1回の取り消し操作(undo)の対象,  Prev: 変換位置の指定方法,  Up: キー設定

5.6.11 1回の取り消し操作(undo)の対象
------------------------------------

Emacs では本来、連続する 20 文字の挿入が一回の取り消し操作 (アンドゥ) の
対象となっています。そこで DDSKK のかな・カナ・全英モードにおける入力も
、 これと同様の動作をするように設計されています (1)。正確に言えば、
‘skk-insert’, ‘skk-set-henkan-point’, ‘skk-jisx0208-latin-insert’ (2)の
各関数にバインドされたキー入力について は、連続して入力された 20 文字を
1 つのアンドゥの対象としています (3)。

 ただし、これらの DDSKK のコマンドと Emacs 本来の ‘self-insert-command’
を織り混ぜてキー入力した場合 (4)は、このエミュレーションは正常に動作しま
せんが、こ れは現在の仕様です。

     a i u e o k a k i k u k e k o s a s i s u s e s o t a t i t u t e t o

     ------------------------- Buffer: foo -------------------------
     あいうえおかきくけこさしすせそたちつてと★ ;連続する20文字。
     ------------------------- Buffer: foo -------------------------

     C-_

     ------------------------- Buffer: foo -------------------------
     ★                       ;20文字全てがアンドゥの対象となる。
     ------------------------- Buffer: foo -------------------------

     a i u e o k a k i k u k e k o s a s i s u s e s o t a t i t u t e t o n a

     -------------------------- Buffer: foo --------------------------
     あいうえおかきくけこさしすせそたちつてとな★ ;連続する21文字。
     -------------------------- Buffer: foo --------------------------

     C-_

     -------------------------- Buffer: foo --------------------------
     あいうえおかきくけこさしすせそたちつてと★ ;最後の1文字のみがアンドゥの対象となる。
     -------------------------- Buffer: foo --------------------------

   ---------- Footnotes ----------

   (1) ‘buffer-undo-list’ に Emacs が挿入したアンドゥの境目の目印を 取り
除く方法でエミュレートしています。

   (2) SKK abbrev モードでは、アスキー文字入力が Emacs 本来の
‘self-insert-command’ により行われているので、エミュレーションの ための
内部変数である ‘skk-self-insert-non-undo-count’ をインクリメ ントするこ
とができず、アンドゥをエミュレートできません。しかも、カンマや ピリオド
を挿入した時点で、コマンド ‘skk-abbrev-comma’ や ‘skk-abbrev-period’ を
使うことになるので、本来のアンドゥの機能も損 なってしまいます。ただし、
現実問題として、元来 SKK abbrev モードは省略形 としての見出し語を挿入す
るためのモードですから、長い見出し語を挿入するこ とはあまりないと考えら
れます。

   (3) ‘20’ は Emacs のソースファイルの一部である ‘keyboard.c’ に定めら
れたマジックナンバーと一致します。

   (4) かなモードでの入力中、アスキーモードに移行して入力した場合など が
これにあたります。


File: skk.info,  Node: 変換、確定の前後,  Next: 送り仮名関連,  Prev: キー設定,  Up: 便利な応用機能

5.7 変換、確定の前後
====================

* Menu:

* ポイントを戻して▽モードへ::   ▽モードに入り忘れた!
* 直前の確定を再変換::         間違って確定したら、再変換
* 自動変換開始::              <SPC> を押さなくても「を」「。」で変換開始。
* 暗黙の確定のタイミング::      変換の後、いつ確定するか。
* 積極的な確定::              候補が一つ? じゃ確定でしょ。
* 確定辞書::                 特定の語は一発確定

関連事項:
   • *note 送りあり変換の変換開始のタイミング::
   • *note 変換位置の指定方法:: (大文字以外で変換位置を指定する方法を説
     明)


File: skk.info,  Node: ポイントを戻して▽モードへ,  Next: 直前の確定を再変換,  Up: 変換、確定の前後

5.7.1 ポイントを戻して▽モードへ
-------------------------------

▽モードに入り忘れた場合に、手動で▽マークを付ける方法については、前述しま
した (1)。 ここで述べる方法では、遡って▽マークを付ける位置を自動的に選び
、しかもカーソルは動きません。

 ‘M-Q’ (大文字の ‘Q’ です。) とタイプすると現在位置の直前の文字列につい
て走査し、 同種の文字 (2)が続く限り後方に戻り、▽マークを付けます。ポイン
トは動きません。

     k a n j i

     ------ Buffer: foo ------
     かんじ★
     ------ Buffer: foo ------

     M-Q

     ------ Buffer: foo ------
     ▽かんじ★
     ------ Buffer: foo ------

 変換開始位置を決定するとき、スペース文字、タブ文字、長音を表わす ‘ー’ は
無条件に無視されます。ただし、ひらがなの場合は ‘を’ が、カタカナ の場合
は ‘ヲ’ が見つかった時点で変換開始位置の走査を止め、▽モードに 入ります。
変換開始ポイントを ‘を’、‘ヲ’ の直前で止めるのは、たい ていその直後から
単語が始まるからです。

 以上は ‘M-Q’ を引数を与えないで実行した場合です。一方で、‘C-u 5 M-Q’ の
ように引数を渡して実行すると、変換開始位置から現在位置までの文字 数を指
定することができます。この場合は文字種別を問わず、与えられた文字数 だけ
無条件にポイントを戻します。

 後方にポイントを戻す途中で行頭に到達した場合は、更に上の行について、行
末 の文字列から同様の走査を行い、必要があれば更にポイントを戻します。こ
うし た「行を超えての走査」をやめるためには、変数
‘skk-allow-spaces-newlines-and-tabs’ の値を ‘nil’ に設定します。

   ---------- Footnotes ----------

   (1) *Note 後から▽モードに入る方法::.

   (2) ひらがな、カタカナ、全角アルファベット、アルファベットの 4 種 類
のいずれか。


File: skk.info,  Node: 直前の確定を再変換,  Next: 自動変換開始,  Prev: ポイントを戻して▽モードへ,  Up: 変換、確定の前後

5.7.2 直前の確定を再変換
------------------------

一番最後（直近）の確定を取り消して、再変換することができます。 これを「
確定アンドゥ」と呼びます。

 例えば、辞書エントリが

     こうこう /高校/孝行/航行/

のようになっているとします。

     K o u k o u <SPC>

     ------ Buffer: foo ------
     ▼高校★
     ------ Buffer: foo ------

     s u r u

     ------ Buffer: foo ------
     高校する★
     ------ Buffer: foo ------

     M-x skk-undo-kakutei

     ------ Buffer: foo ------
     ▼孝行★する
     ------ Buffer: foo ------

この例では、‘高校’ の確定を取り消しています。すると、辞書の第 一候補であ
る ‘高校’ をとばして、次候補である ‘孝行’ が現れます。 ここで更に <SPC>
を押せば次候補である ‘航行’ が現れ、更にもう一 度 <SPC> を押せば候補が尽
きて辞書登録モードに入ります。

 この例のとおり、確定アンドゥは、確定した直後でなくとも有効です。 より正
確には、次の新たな確定 (1)を行うまでは確定に関する情報が保持されている の
で、確定アンドゥすることができます。

 また、変換、確定に関連しない文字列は、確定アンドゥを行っても削除されな
いように設計されています。上記の例では、‘する’ がそのままカレントバ ッフ
ァに残っています。

 -- ユーザ変数: skk-undo-kakutei-return-previous-point

     この変数の値が ‘non-nil’ であれば、確定アンドゥ処理が完了した後に、
     確定アンドゥ処理の直前の位置にカーソルが戻ります。

     上の例の場合、確定アンドゥ処理が完了した後のカーソル位置は、デフォ
     ル ト ‘nil’ では ‘孝行’ の直後のままですが、‘non-nil’ であれ ば ‘す
     る’ の直後に復帰します。

   ---------- Footnotes ----------

   (1) ‘C-j’ をタイプして明示的に確定した場合は勿論、「暗黙の確定 」を行
った場合も同様です。


File: skk.info,  Node: 自動変換開始,  Next: 暗黙の確定のタイミング,  Prev: 直前の確定を再変換,  Up: 変換、確定の前後

5.7.3 自動変換開始
------------------

▽モードで見出し語を入力しているときに「を」や「。」などの文字を打鍵する
と、<SPC> を押したかのように変換を開始(1)し、▼モードに入るようになってい
ます。

     K a n j i

     ------ Buffer: foo ------
     ▽かんじ★
     ------ Buffer: foo ------


     w o
     ------ Buffer: foo ------
     ▼漢字を★
     ------ Buffer: foo ------

 変数 ‘skk-auto-okuri-process’ の値を ‘non-nil’ に設定して 送り 仮名の自
動処理 (*note 送り仮名の自動処理::) を行っている場合は、以下 のような変
換も可能です。ただし、個人辞書に ‘できr /出来/[る/出来/]/’ というような
エントリがあると仮定します。

     D e k i r u n n d e s u

     ------ Buffer: foo ------
     ▽できるんです
     ------ Buffer: foo ------

     .
     ------ Buffer: foo ------
     ▼出来るんです。
     ------ Buffer: foo ------

 -- ユーザ変数: skk-auto-start-henkan-keyword-list

     この変数の値は、単語や文節の区切りとなるような文字列のリストです。
     デフォルトは以下のようになっています。

     ("を" "、" "。" "．" "，" "？" "」" "！" "；" "：" ")" ";"
      ":" "）" "”" "】" "』" "》" "〉" "｝" "］" "〕" "}"
      "]" "?" "." "," "!" )

 -- ユーザ変数: skk-auto-start-henkan

     この変数の値を ‘nil’ に設定すると、本節で説明した自動変換開始機能 を
     無効にします。デフォルトは ‘t’ です。

   ---------- Footnotes ----------

   (1) ▽マークからポイント の直前の文字までを見出し語とします。最後に入
力された文字（「を」や「。」 ）は見出し語には含まれません。


File: skk.info,  Node: 暗黙の確定のタイミング,  Next: 積極的な確定,  Prev: 自動変換開始,  Up: 変換、確定の前後

5.7.4 暗黙の確定のタイミング
----------------------------

標準の設定では、確定が済む前に次の文字を入力すると、 直ちに確定されます
(1)。 これを「暗黙の確定」と呼んでいます。具体的には以下のようになります
。

     K a k u t e i

     ------ Buffer: foo ------
     ▽かくてい★
     ------ Buffer: foo ------

     <SPC>

     ------ Buffer: foo ------
     ▼確定★
     ------ Buffer: foo ------

     s

     ------ Buffer: foo ------
     確定s★      ; 暗黙の確定
     ------ Buffer: foo ------

     u

     ------ Buffer: foo ------
     確定す★
     ------ Buffer: foo ------

 -- ユーザ変数: skk-kakutei-early

     この変数の値を ‘nil’ にすると、「暗黙の確定」を遅らせます。 具体的
     には、

        • 括弧 ‘(’ ‘)’ ‘[’ ‘]’ の入力時
        • 句読点 ‘,’ ‘.’ の入力時
        • 次の変換開始時 (‘A’ から ‘Z’ までの大文字の入力時)
        • <RET> 入力時

     まで暗黙の確定が遅延されます (2)。

     K a k u t e i

     ------ Buffer: foo ------
     ▽かくてい★
     ------ Buffer: foo ------

     <SPC>

     ------ Buffer: foo ------
     ▼確定★
     ------ Buffer: foo ------

     s

     ------ Buffer: foo ------
     ▼確定s★
     ------ Buffer: foo ------

     u r u

     ------ Buffer: foo ------
     ▼確定する★
     ------ Buffer: foo ------

     .

     ------ Buffer: foo ------
     確定する。★      ; 暗黙の確定
     ------ Buffer: foo ------

   ---------- Footnotes ----------

   (1) 正確には、印字可能な文字または <RET> が入力されたときです。

   (2) ‘skk-kakutei-early’ の機能と ‘skk-process-okuri-early’ の機能を同
時に有効にすることはできません。 ‘skk-kakutei-early’ の 値を ‘non-nil’ に
する場合は ‘skk-process-okuri-early’ の値を ‘nil’ にする必要がありま す
。


File: skk.info,  Node: 積極的な確定,  Next: 確定辞書,  Prev: 暗黙の確定のタイミング,  Up: 変換、確定の前後

5.7.5 積極的な確定
------------------

変換候補が一つしか見つからない場合は自動的に確定する、という設定ができま
す。

 -- ユーザ変数: skk-kakutei-when-unique-candidate

     この値が ‘non-nil’ の場合、この機能が有効になります。

     ‘t’ であれば送りあり変換、送りなし変換、abbrev モードでの変換、全て
     でこの機能が有効になります。

     また、‘okuri-ari’, ‘okuri-nasi’, ‘abbrev’ を要素とするリス トである
     こともできます。その場合は変換対象がその条件に合致した場合のみ確 定
     変換が機能します。

     例: ‘'(okuri-nasi abbrev)’

     この機能は、全ての辞書を検索した上で変換候補が唯一か否かを調べます
     。その ため、‘skk-search-prog-list’ の内容によってはレスポンスが悪
     くなる可 能性があります。(*note 辞書の検索方法の設定::

 -- ユーザ変数: skk-kakutei-search-prog-limit

     この値が数値であった場合、積極的な確定
     (‘skk-kakutei-when-unique-candidate’) に おける「変換候補が唯一か否
     か」の判定を ‘skk-search-prog-list’ の先頭か ら数えてこの個数までの
     辞書に制限します。

     数値以外であれば、無制限に全ての辞書を検索対象とします。


File: skk.info,  Node: 確定辞書,  Prev: 積極的な確定,  Up: 変換、確定の前後

5.7.6 確定辞書
--------------

特定の語は、変換したら即座に確定させる事ができます。これを確定変換と 呼
び、利用するには「確定辞書」を用意します。例えば、

     じしょ /辞書/

というエントリが確定辞書にあったとします。このとき、

     Z i s h o

     ------ Buffer: foo ------
     ▽じしょ★
     ------ Buffer: foo ------

     <SPC>

     ------ Buffer: foo ------
     辞書★
     ------ Buffer: foo ------

のように、<SPC> を押しただけでいきなり確定します。エントリの候補がひ と
つだけだからです。

 確定辞書以外の辞書に登録されているであろう同音異義語を得るには、確定変
換 の直後に ‘x’ をタイプします。すると、▼モードに戻って次の候補を検索す
ることができます。

 次の例では、確定辞書に ‘辞書’ が、個人辞書（や共有辞書）に ‘自署’ が 登
録されているとします。

     Z i s y o <SPC>

     ------ Buffer: foo ------
     辞書★
     ------ Buffer: foo ------

     x

     ------ Buffer: foo ------
     ▼自署★
     ------ Buffer: foo ------


 確定辞書の単語は、優先的に変換されます。

 -- ユーザ変数: skk-kakutei-jisyo

     確定変換用の辞書ファイルを指定します (1)。 この辞書は、標準の配布パ
     ッケージには含まれていないので、使用するのであれ ばユーザ側で用意す
     る必要があります。
     (*note 辞書の書式::)

     ‘nil’ であれば、確定変換は行われません。

   ---------- Footnotes ----------

   (1) 確定変換用辞書の見出し語の配列については、サイズが大きい場合は 、
共有辞書と同様、ソートして二分検索を行い、サイズが小さければ適当な配置 で
直線的検索を行うことをお勧めします。次も参照してください。
*note 辞書検索のための関数::
*note エントリの配列::


File: skk.info,  Node: 送り仮名関連,  Next: 候補の順序,  Prev: 変換、確定の前後,  Up: 便利な応用機能

5.8 送り仮名関連
================

SKK の送り仮名の処理は、好みが分かれるところです。色々な 対策が用意され
ていますので、試してみて下さい。

* Menu:

* 送り仮名の厳密なマッチ::   「多きい」対策、その 1
* 送り仮名の優先的なマッチ:: 「多きい」対策、その 2
* 送り仮名の自動処理::       送り仮名があっても、後から SPC
* 送りあり変換の変換開始のタイミング::


File: skk.info,  Node: 送り仮名の厳密なマッチ,  Next: 送り仮名の優先的なマッチ,  Up: 送り仮名関連

5.8.1 送り仮名の厳密なマッチ
----------------------------

今、個人辞書に

     おおk /大/多/[く/多/]/[き/大/]/

という送りありエントリがあると仮定します。

 ここで ‘O o K i i <SPC>’ と入力した場合、普通は ‘大きい’ と ‘多きい’ と
いう 2 通りの候補が出力されますが、このうち ‘多きい’ は現代の日本語とし
て正しくありません。このような場合に、出力される候補を 正しい表現のみに
絞りこむ方法について、説明します。

 -- ユーザ変数: skk-henkan-okuri-strictly

     この変数の値を ‘non-nil’ に設定すると、見出し語がマッチするかどう か
     のチェックの上に、送り仮名がマッチするかどうかのチェックが行われま
     す。結果として送り仮名がマッチしない候補は出力されません。上記の例
     では、 送り仮名 ‘き’ がマッチする ‘大きい’ は出力されますが、 ‘多き
     い’ は出力されません (1)。

     個人辞書の送りありエントリが充実していれば、標準の設定よりも候補が
     絞り込 まれるので変換効率がアップしますが、さもなければ、すぐに辞書
     登録モードに 入ってしまうため逆に不便になります。

 変数 ‘skk-henkan-okuri-strictly’ の値を ‘non-nil’ にすると、 辞書登録モ
ードに入っても送り仮名のマッチが厳密に行われます。これは辞 書登録の際希
望する候補を得るためには障害となります。そのような障害を避 けるためには
、下記のようにフック変数を設定します。これにより、辞書登録 時だけは、一
時的に送り仮名の厳密なマッチをしないようになります (2)。

     (add-hook 'minibuffer-setup-hook
               (lambda ()
                   (when (and (boundp 'skk-henkan-okuri-strictly)
                              skk-henkan-okuri-strictly
                              (not (eq last-command 'skk-purge-jisyo)))
                     (setq skk-henkan-okuri-strictly nil)
                     (put 'skk-henkan-okuri-strictly 'temporary-nil t))))

     (add-hook 'minibuffer-exit-hook
               (lambda ()
                   (when (and (get 'skk-henkan-okuri-strictly 'temporary-nil)
                              (<= (minibuffer-depth) 1))
                     (put 'skk-henkan-okuri-strictly 'temporary-nil nil)
                     (setq skk-henkan-okuri-strictly t))))

   ---------- Footnotes ----------

   (1) この機能は、変数 ‘skk-process-okuri-early’ の値を ‘non-nil’ に設
定した状態と共存できません。この理由を知りたい場合は *note
送りあり変換の変換開始のタイミング::を参照してください。

   (2) 実は変数 ‘skk-henkan-okuri-strictly’ の値は辞書バッファで 参照さ
れるので、ミニバッファのバッファローカル値を変更してもうまくいきま せん
。将来のバージョンでは、これを改良し、辞書バッファでの動作に影響する ユ
ーザ変数をバッファローカル化できるようにする予定です。 *Note 最新情報::.


File: skk.info,  Node: 送り仮名の優先的なマッチ,  Next: 送り仮名の自動処理,  Prev: 送り仮名の厳密なマッチ,  Up: 送り仮名関連

5.8.2 送り仮名の優先的なマッチ
------------------------------

*note 送り仮名の厳密なマッチ:: では、見出し語と送り仮名が一致した場合の
み 候補を表示します。ここでは、その条件を緩めて優先的に表示する方法を紹
介し ます(1)。

 今、個人辞書に

     おおk /大/多/[く/多/]/[き/大/]/

という送りありエントリがあると仮定します。

 ここで ‘O o K i i <SPC>’ と入力した場合、普通は ‘大きい’ と ‘多きい’ と
いう 2 通りの候補が出力されますが、このうち ‘多きい’ は現代の日本語とし
て正しくありません。このような場合に、出力される候補を 正しい表現が優先
的にする設定を紹介します。

 -- ユーザ変数: skk-henkan-strict-okuri-precedence

     この変数の値を ‘non-nil’ に設定すると、見出し語と送り仮名がマッチ し
     た候補を優先して表示します。

     上記の例では ‘▽おお*く’ を変換したとき、まず ‘多く’ を出力し、 次に
     ‘大く’ を出力します。

     この変数の値が ‘non-nil’ の時は、変数 ‘skk-process-okuri-early’ の
     値は ‘nil’ でなければなりません (2)。また変数
     ‘skk-henkan-okuri-strictly’ が ‘non-nil’ のときは、この変数は無視さ
     れます。

   ---------- Footnotes ----------

   (1) ‘大く’などの候補は鬱陶しいが、すぐに単語登録に入って しまうのも嫌
な人におすすめです。

   (2) 理由を知りたい場合は、*note 送りあり変換の変換開始のタイミング::
を参照してください。


File: skk.info,  Node: 送り仮名の自動処理,  Next: 送りあり変換の変換開始のタイミング,  Prev: 送り仮名の優先的なマッチ,  Up: 送り仮名関連

5.8.3 送り仮名の自動処理
------------------------

この節では、「あげる」と入力してから <SPC> を押しても「上げる」と変換 す
る機能を紹介します。

* Menu:

* どのように変換されるか::
* 辞書登録の際に注意すべきこと::


File: skk.info,  Node: どのように変換されるか,  Next: 辞書登録の際に注意すべきこと,  Up: 送り仮名の自動処理

5.8.3.1 どのように変換されるか
..............................

 -- ユーザ変数: skk-auto-okuri-process
     この変数の値を ‘non-nil’ に設定すると、送り仮名の自動処理が行わ れ
     ます。

 例えば、‘T a t i a g e r u <SPC>’ と入力した場合を考えます。 このとき、
検索される見出し語の変化を追うと、

     ‘たちあげる’ ⇒ ‘たちあげr’ ⇒ ‘たちあg’
     ⇒ ‘たちa’ ⇒ ‘たt’

のようになります。仮に個人辞書エントリが、

     たちあg /立ち上/[げ/立ち上/]/[が/立ち上/]/
     たt /建/断/経/立/[つ/建/断/経/立/]/[ち/建/断/経/立/]/[て/経/立/建/]/

の 2 つのエントリを含むとすると、見出し語を後方から順に切り詰める過程で
‘たちあg’ と ‘たt’ の 2 つの見出し語の検索時にこれらの辞書エン トリがマ
ッチします。

つまり、‘たちあげる’ という見出し語に対し、見出し語を最後尾から1文 字ず
つ切り詰め、「切り詰めの結果残った文字列」と、「切り捨てられた先頭の 文
字のローマ字プレフィックス」を連結した文字列を送りあり変換の見出し語と し
て、 検索します。(1)

次に、マッチしたエントリの各候補に対し、切り捨てられた先頭の文字を送り仮
名として取るかどうかをチェックします。この判断には、個人辞書の送り仮名ブ
ロッ ク部分 (2)を利用します。

 ‘たちあg’ の場合の送り仮名チェックの対象は、切り捨てられた最初の文 字の
‘げ’ です。個人辞書に

     [げ/立ち上/]

の部分があることから、送り仮名として取るべきと判断します。また、‘た t’ の
場合の送り仮名チェックの対象は、‘ち’ です。個人辞書に

     [ち/建/断/経/立/]

の部分があることから、送り仮名として取るべきと判断します。

こうして、送り仮名がマッチする候補が ‘立ち上’、‘建’、‘断’、 ‘経’、‘立’ の
５つに絞られます。これらは文字列の長さ順に昇順に ソートされ (3)、それぞ
れの候補と該当の見出し語から切り捨てら れた文字列と連結したもの (4)を、
送り仮名の自動処理の最終候補として返します。上 記の例は、‘立ち上げる’、
‘建ちあげる’、‘断ちあげる’、 ‘経ちあげる’、‘立ちあげる’ の５つが最終候補
になります。

 自動送り機能は、個人辞書のみを検索します。

 ここで、自動送り機能の長所を考えてみると、

   • 送り仮名の最初のローマ字表現を大文字で始める必要がない。
   • 送り仮名を正確に思い出せない場合に送り仮名を指定しなくとも変換でき
     る。

 などがあります。一方短所としては、

   • 意図しない変換をされる割合が増える。
   • 個人辞書の送りありエントリが貧弱な場合は、自動処理ができない可能性
     が高い。

 などが考えられます。変数 ‘skk-auto-okuri-process’ の値を ‘non-nil’ に設
定しても、従来通りの送りあり変換も同時にできますから、 一度この機能を試
してみることをお勧めします (5)。

   ---------- Footnotes ----------

   (1) 実際には、普通の送りなし変換として最初は検索されます。 個人辞書ま
で調べて候補が見つからないときは、その後、送り仮名の自動処理の検索に 移
ります。

   (2) *note 送りありエントリのブロック形式::.

   (3) 長さ順にソートするのは、変換された部分がより長い候補を先順位 とし
て出力するためです。

   (4) ‘該当の見出し語から切り捨てられた文字列’ を送り仮名とみな して処
理しています。

   (5) 専ら補完的に自動送り処理を利用するのであれば、
‘(skk-okuri-search)’ を ‘skk-search-prog-list’ の最後にもってく るという
手もあります。(*note 辞書の検索方法の設定::)


File: skk.info,  Node: 辞書登録の際に注意すべきこと,  Prev: どのように変換されるか,  Up: 送り仮名の自動処理

5.8.3.2 辞書登録の際に注意すべきこと
....................................

送り仮名の自動処理を行っている場合(1)に は、辞書登録の際に注意すべきこと
があります。

 個人辞書に見出し語 ‘わたs’ についてのエントリが全くない場合、あるい は
個人辞書のエントリが

     わたs /渡/[し/渡/]/

のような送り仮名のブロックを持たない場合を考えてみます。ここで、‘W a t a
s i t a <SPC>’と入力すると、送り仮名の自動処理においては送り仮名 がマッ
チしないので、候補が見つからずに辞書登録モードに入ります。

     W a t a s i t a <SPC>

     ------ Buffer: foo ------
     ▼わたした
     ------ Buffer: foo ------

     ------ Minibuffer -------
     [辞書登録] わたした★
     ------ Minibuffer -------

辞書登録モードで ‘W a t a S i t a <RET>’ と送り仮名を明示的に入 力し、
‘渡した’ と変換して登録したとします。この場合、登録する語の最 後が平仮名
で終わるので、その最後の平仮名の文字列 (上記の例では、‘し た’) が見出し
語の最後と一致するかを調べます。一致する場合には、辞書の登 録を送りあり
エントリとして行うのかどうかの確認を求めます。

     W a t a S i t a
     ------ Minibuffer -------
     [辞書登録] わたした 渡した★
     ------ Minibuffer -------

     <RET>

     -------------------------- Echo Area --------------------------
     Shall I register this as okuri-ari word: わたs /渡/ ? (y or n)
     -------------------------- Echo Area --------------------------

この確認に対し、‘y’ と回答した場合は、

     わたs /渡/[し/渡/]/

という辞書エントリが個人辞書の送りありエントリに書き込まれます。一方 ‘n’
と回答した場合は、個人辞書の送りなしエントリに

     わたした /渡した/

というエントリが書き込まれます。本例の場合は、‘y’ と回答するのが正 解で
す。

‘skk-kana-rom-vector’

     この変数は、送り仮名部分をローマ字プレフィックスに分解する際に、参
     照され ます。

 変数 ‘skk-kana-rom-vector’ のデフォルトは以下のようになっています。

     ["x" "a" "x" "i" "x" "u" "x" "e" "x" "o" "k" "g" "k" "g" "k" "g"
      "k" "g" "k" "g" "s" "z" "s" "j" "s" "z" "s" "z" "s" "z" "t" "d"
      "t" "d" "x" "t" "d" "t" "d" "t" "d" "n" "n" "n" "n" "n" "h" "b"
      "p" "h" "b" "p" "h" "b" "p" "h" "b" "p" "h" "b" "p" "m" "m" "m"
      "m" "m" "x" "y" "x" "y" "x" "y" "r" "r" "r" "r" "r" "x" "w" "x"
      "x" "w" "n"]

 このベクトルは、それぞれ下記のかな文字をそのローマ字プレフィックスで現
し たものです。

     ぁ  あ  ぃ  い  ぅ  う  ぇ  え  ぉ  お  か  が  き  ぎ  く  ぐ
     け  げ  こ  ご  さ  ざ  し  じ  す  ず  せ  ぜ  そ  ぞ  た  だ
     ち  ぢ  っ  つ  づ  て  で  と  ど  な  に  ぬ  ね  の  は  ば
     ぱ  ひ  び  ぴ  ふ  ぶ  ぷ  へ  べ  ぺ  ほ  ぼ  ぽ  ま  み  む
     め  も  ゃ  や  ゅ  ゆ  ょ  よ  ら  り  る  れ  ろ  ゎ  わ  ゐ
     ゑ  を  ん

これに従うと、見出し語中の送り仮名がローマ字プレフィックスに分解される際
、 例えば ‘じ’ は ‘j’ に、‘ち’ は ‘t’ に、‘ふ’ は ‘h’ に、それぞれ分解さ
れます。これらをそれぞれ ‘z’、‘c’、 ‘f’ に変更することもできます。それに
は変数 ‘skk-kana-rom-vector’ の該当部分を "z"、"c"、"f" に変更します。

     (setq skk-rom-kana-vector
           ["x" "a" "x" "i" "x" "u" "x" "e" "x" "o" "k" "g" "k" "g" "k" "g"
            "k" "g" "k" "g" "s" "z" "s" "z" "s" "z" "s" "z" "s" "z" "t" "d"
            "c" "d" "x" "t" "d" "t" "d" "t" "d" "n" "n" "n" "n" "n" "h" "b"
            "p" "h" "b" "p" "f" "b" "p" "h" "b" "p" "h" "b" "p" "m" "m" "m"
            "m" "m" "x" "y" "x" "y" "x" "y" "r" "r" "r" "r" "r" "x" "w" "x"
            "x" "w" "n"])

 次にもうひとつ例を挙げます。 ‘ありがさつき’ に対し ‘有賀さつき’ を登録
したい場合は、上記と同様に辞書登録をし、

     Shall I register this as okuri-ari entry: ありがs /有賀/ ? (y or n)

の確認に対し ‘n’ と回答します。この結果、個人辞書の送りなしエントリ には
、

     ありがさつき /有賀さつき/

というエントリが書き込まれます。

   ---------- Footnotes ----------

   (1) 変数 ‘skk-auto-okuri-process’ の値を ‘non-nil’ に設定している。


File: skk.info,  Node: 送りあり変換の変換開始のタイミング,  Prev: 送り仮名の自動処理,  Up: 送り仮名関連

5.8.4 送りあり変換の変換開始のタイミング
----------------------------------------

 -- ユーザ変数: skk-process-okuri-early

     この変数の値を ‘non-nil’ に設定すると、送りあり変換の変換開始のタ イ
     ミングが早められます。つまり、送り仮名のローマ字プレフィックスの入
     力 時点で変換を開始します。

          U g o K

          ------ Buffer: foo ------
          ▼動k
          ------ Buffer: foo ------

     送り仮名が分からないまま変換しているため、個人辞書が送り仮名に対応
     した形に 成長しません。つまり ‘うごk /動/’ のような形態のままとなり
     ます。た だし、

          うごk /動/[く/動/]/[か/動/]/[け/動/]/[き/動/]/[こ/動/]/

     のようなエントリが既に個人辞書にある場合、それを破壊することはあり
     ません (1)。

     このユーザオプションを ‘non-nil’ に設定して SKK モードを起動する と
     、両立できないオプションである下記オプションは自動的に ‘nil’ に 設
     定されます。

        • ‘skk-kakutei-early’
        • ‘skk-auto-okuri-process’
        • ‘skk-henkan-okuri-strictly’

     既に SKK モードに入った後でこの変数の設定を変更した場合は、カレント
     バッ ファで ‘C-x C-j’ もしくは ‘C-x j’ を 2 回タイプして SKK モード
     を 起動し直すことで、これらの変数間の衝突を調整します。

          *Note skk-kakutei-early: 暗黙の確定のタイミング.
          *Note skk-auto-okuri-process: 送り仮名の自動処理.
          *Note skk-henkan-okuri-strictly: 送り仮名の厳密なマッチ.

   ---------- Footnotes ----------

   (1) *note 辞書の書式::を参照してください。


File: skk.info,  Node: 候補の順序,  Next: 辞書関連,  Prev: 送り仮名関連,  Up: 便利な応用機能

5.9 候補の順序
==============

skk の初期設定では、変換で確定された単語は、次の変換時では最初に表示され
ます。この動作を変更して、効率良く変換する方法があります。

* Menu:

* 変換の学習::               関連のある語は上位に表示
* 候補の順序の固定::          いつも同じ順序で候補を表示
* ベイズ統計を用いた学習::

 ここで解説するほか、確定辞書 (*note 確定辞書::) を用いた変換も、候補の
順序に影響を与えます。


File: skk.info,  Node: 変換の学習,  Next: 候補の順序の固定,  Up: 候補の順序

5.9.1 変換の学習
----------------

‘skk-study.el’ は、ある語 A を確定した場合に、A 及びその見出し 語 A’ に
対して、直前に変換した語 B とその見出し語 B’ を関連語として登 録しておき
、再度見出し語 A’ の変換を行ったときに、B 及び B’ のペアが直 前の何回か
に確定した語の中に見つかれば、A を優先して出力する単純な学習 効果を提供
するプログラムです。

 ‘~/.skk’ に ‘(require 'skk-study)’ と書いて DDSKK を起動して下 さい。以
降、かな漢字変換の学習を始めます。

 例えば、‘梅雨には雨が降る’ と変換した場合、

   • ‘雨’ (‘あめ’) の関連語 ↦ ‘梅雨’ (‘つゆ’)、

   • ‘降る’ (‘ふr’) の関連語 ↦ ‘雨’ (‘あめ’)、

という風に「直前に確定した語」を関連語として、語と語の関連性を学習します
。

 ここで続けて、‘傘を振る’ と変換すると、個人辞書がアップデートされ てし
まい、見出し語 ‘ふr’ の第一候補は ‘振る’ になってしまい ます。

 しかし、更に続けて ‘A m e <SPC> g a H u R u’ と type すると、 ‘H u R u’
(‘ふr’) に対して ‘雨’ (‘あめ’) が関 連語になっているため、‘ふr’ と対で記
憶されている ‘降る’ に変 換されるというわけです。

 では、またここで ‘傘を振る’ と変換し、個人辞書の第一候補が ‘振る’ にな
った状態で、

     ‘A m e <SPC> g a T a i r y o u <SPC> n i H u R u’

と変換すれば ‘ふr’ はどう変換されるでしょうか？ 今度は ‘雨’ (‘あめ’) と
‘ふr’ の間に ‘大量’ (‘たいりょう’) が入っています(1)。

 実はちゃんと

     ‘雨が大量に降る’

と変換されます。何故なら ‘ふr’ の関連語を探す際、
‘skk-study-search-times’ (2) に 指定された回数分だけ遡って、以前に確定し
た語の中に関連語がないか探すの です。従って、この場合だと、２つ前の確定
情報を探した際に ‘雨’ (‘あめ’) 見つけ、これを関連語として、‘ふr’ の値を
決めようとするのです。

 ‘skk-study.el’ に関するその他のオプションを説明します。

 -- ユーザ変数: skk-study-max-distance
     この変数には integer を指定します。直前に確定したポイントと今回の変
     換ポ イントがこの距離以上離れていると学習データを蓄積しないようにし
     ます。 この変数は、必ずしも文章がバッファの ‘point-min’ か ら
     ‘point-max’ へ流れるように書かれるものではなく、ポイントを前に戻 し
     たり後へ移動したりして書かれることを想定しています。 この変数に
     integer を設定すると、直前の変換よりも前のポイントで変換した 場合に
     学習データを蓄積しないようにします。この変数に ‘nil’ を指定す ると
     直前に確定したポイントとの距離を考慮せずに学習します。この変数のデ
     フ ォルト値は 30 です。

     なお、この変数の値にかかわらず、直前の変換バッファと現在変換を行っ
     ている バッファが異なる場合は学習データを蓄積しません。

 -- ユーザ変数: skk-study-first-candidate
     この変数が ‘non-nil’ であれば、第一候補 で確定した際も学習します。
     ‘nil’ であれば、第一候補で確定したとき のみ学習データを蓄積しません
     。学習データをできるだけ小さくしたい場合、 この変数を ‘nil’ にする
     と効果があるかもしれません。 この変数のデフォルト値は ‘t’ です。

 -- ユーザ変数: skk-study-file
     学習結果を保存するファイル名です。 この変数のデフォルト値は
     ‘~/.skk-study’ です。 変数 ‘skk-user-directory’ からも設定ができま
     す。 (*note 設定ファイル::)

 -- ユーザ変数: skk-study-backup-file
     ‘~/.skk-study’ のバックアップファイルです。 この変数のデフォルト値
     は ‘~/.skk-study.BAK’ です。

 -- ユーザ変数: skk-study-sort-saving
     学習データのデータ構造に関するものです。この変数の値が ‘non-nil’ で
     あれば学習結果をソートしてセーブします。この変数が影響を及ぼすのは
     学習デ ータの単なる見映えの問題だけです。 この変数のデフォルト値は
     ‘nil’ です。

 -- ユーザ変数: skk-study-check-alist-format
     学習データのデータ構造に関するものです。この変数の値が ‘non-nil’ で
     あれば、学習結果の読み込み時に連想リストのフォーマットをチェックし
     ます。 これは主に debug の目的で使います。 この変数のデフォルト値は
     ‘nil’ です。

‘M-x skk-study-switch-current-theme’
     そのバッファで利用する学習テーマを切り替えます。 プロンプト ‘Theme
     of current buffer: ’ に対して学習テーマ名を入力し てください。例え
     ば、科学の話題を書くバッファでは science と、法律の話題 を書くバッ
     ファでは law などと入力してください。

‘M-x skk-study-remove-theme’
     不要な学習テーマを消去します。

‘M-x skk-study-copy-theme’
     学習テーマを複製します。

   ---------- Footnotes ----------

   (1) ‘ふr’ に対して ‘大量’ (‘たいりょう’) が 関連語として保存されます
。勿論 (‘ふr’) に対する ‘雨’ (‘あめ’) の学習も まだ生きています。

   (2) デフォルト値は 5 です。


File: skk.info,  Node: 候補の順序の固定,  Next: ベイズ統計を用いた学習,  Prev: 変換の学習,  Up: 候補の順序

5.9.2 候補の順序の固定
----------------------

skk の初期設定では、変換、選択された候補は、次回の変換では最初に表示され
ます。 これに対し、毎回同じ順序で候補を表示させることができます。

 -- ユーザ変数: skk-jisyo-fix-order

     ‘non-nil’ であれば、確定の際に個人辞書の同音語の順序を変更せず、 個
     人辞書に新規追加する際は既出語の後に追加する。標準は ‘nil’。

 これは、個人辞書のエントリの中の各候補の順序を変更しないことで実現され
て いますから、‘skk-study.el’ を用いた学習 (*note 変換の学習::) と 併用
できます。

 ‘skk-jisyo-fix-order’ が ‘non-nil’ の時、個人辞書の候補を手軽に並べ替 え
る方法は、現時点ではありません。個人辞書ファイルを直接編集するか、 コマ
ンド ‘M-x skk-edit-private-jisyo’ を実行して下さい。
(*note 個人辞書ファイルの編集::)

 直前に変換したばかりの単語は、個人辞書の送りあり／なしエントリの一番上
に ありますので、すぐに見つけることができます。


File: skk.info,  Node: ベイズ統計を用いた学習,  Prev: 候補の順序の固定,  Up: 候補の順序

5.9.3 ベイズ統計を用いた学習
----------------------------

‘skk-bayesian.el’ は、直前の履歴のみ使用する ‘skk-study.el’ に比べて、 更
に拡張された学習機能です。ベイズ統計を用いて文脈から変換候補が選択される
確率を 計算して候補順をソートします。なお、機能が重なることから
‘skk-study.el’ と の併用はお勧めできません。

 動作の枠組みは emacs lisp の ‘skk-bayesian.el’ と ruby(1) スクリプト の
‘bskk’ が連携することで実現しています。

 ‘skk-bayesian.el’ のインストールについては ‘bayesian/README.ja.md’ を 参
照してください。

 Ruby 2.4 以降を使用する場合は、DDSKK 16.2 以降に付属する
‘bayesian/bskk’ を 使用してください。

 -- ユーザ変数: skk-bayesian-debug

     ‘non-nil’ ならば、以下のとおりデバッグ用のメッセージを表示します。

        • ‘skk-bayesian.el’ が吐き出すメッセージを *Messages* バッファに
          表示します。

        • ‘bskk’ サブプロセスを ‘-d’ オプションで起動させます。‘bskk’ は
          ‘$HOME/tmp/bskk.log’ にメッセージを吐き出します。

        • 普段は非表示である *skk-bayesian* バッファを表示するようにしま
          す。このバッファには ‘bskk’ の出力が表示されます。

 -- ユーザ変数: skk-bayesian-prefer-server

     ‘non-nil’ ならば ‘skk-bayesian-host’ の ‘skk-bayesian-port’ に接 続
     します。 ‘nil’ であれば ‘bskk’ を emacs のサブプロセスとして起動し
     ます。

 -- ユーザ変数: skk-bayesian-host

     ‘bskk’ サーバが稼動しているホスト名

 -- ユーザ変数: skk-bayesian-port

     ‘bskk’ サーバのポート番号

 -- ユーザ変数: skk-bayesian-history-file
     not documented

 -- ユーザ変数: skk-bayesian-corpus-make
     not documented

 -- ユーザ変数: skk-bayesian-corpus-file
     not documented

 -- Function: コマンド skk-bayesian-kill-process
     not documented

   ---------- Footnotes ----------

   (1) <http://www.ruby-lang.org>


File: skk.info,  Node: 辞書関連,  Next: 注釈 (アノテーション),  Prev: 候補の順序,  Up: 便利な応用機能

5.10 辞書関連
=============

本節では、辞書の種別と形式、設定方法、その他辞書にまつわる動作や設定を説
明しま す。

* Menu:

辞書の設定
* 辞書の種類::
* 辞書ファイルの指定::
* 辞書の検索方法の設定::            検索対象と検索順序の設定。
* Emacs 付属の辞書::
* サーバ関連::
* サーバコンプリージョン::

辞書の管理
* 辞書の書式::
* 強制的に辞書登録モードへ入る::
* 誤った登録の削除::            削除も登録みたいにできます。
* 個人辞書ファイルの編集::       個人辞書を編集するコマンドがあります。
* 個人辞書の保存動作::          いつ個人辞書が更新、保存されるか。
* 変換及び個人辞書に関する統計::

他
* 辞書バッファ::
* 辞書バッファの文字コードの設定::
* 辞書バッファのbuffer-file-name::


File: skk.info,  Node: 辞書の種類,  Next: 辞書ファイルの指定,  Up: 辞書関連

5.10.1 辞書の種類
-----------------

共有辞書

     ‘SKK-JISYO.S’ (S 辞書)、 ‘SKK-JISYO.M’ (M 辞書)、 ‘SKK-JISYO.ML’
     (ML 辞書)、 ‘SKK-JISYO.L’ (L 辞書) などがありま す。通常、個人辞書
     よりもサイズが大きく、省資源の面からユーザ間で共有して 参照されます
     。

     ユーザの変換操作によって内容が書き替えられることはありません。

     これら以外にも、共有辞書として使えるファイルが配布されています。 そ
     れぞれの辞書の詳細については <http://openlab.jp/skk/dic.html> を ご
     参照下さい。

個人辞書

     変数 ‘skk-jisyo’ で指定されるファイル。DDSKK を一番最初に使い始めた
     ときにホームディレクトリに自動的に作られます。その後の使用により日
     々刻々 とエントリが追加され、更新されていきます。

     なお、最初の個人辞書として S 辞書をリネームして使用するのも良いかも
     しれ ません。

‘skk-initial-search-jisyo’
‘skk-kakutei-jisyo’

     これらは共有辞書、個人辞書という区分のいずれにも属しません。これら
     は個人 毎に持つものを使用するか、ユーザ間で共有しているものを使用し
     ます。その性 格から、辞書内容の更新は行われず、参照のみ行われます。
     また使用目的から、 通常は小さい辞書を使用します。

 個人辞書、‘skk-initial-search-jisyo’, ‘skk-kakutei-jisyo’ は Emacs のバ
ッファに読み込んで検索を行います。

 共有辞書は設定により Emacs のバッファに読み込んで使用するか、または辞書
サーバ経由で使用します。


File: skk.info,  Node: 辞書ファイルの指定,  Next: 辞書の検索方法の設定,  Prev: 辞書の種類,  Up: 辞書関連

5.10.2 辞書ファイルの指定
-------------------------

この節では、辞書ファイルを指定する変数を説明します。 個人辞書とバックア
ップのディレクトリは、変数 ‘skk-user-directory’ で も変更できます。
(*note 設定ファイル::)

 -- ユーザ変数: skk-kakutei-jisyo
     確定変換(*note 確定辞書::)のための辞書です。一番最初に参照されます
     。 確定変換をしない時は、初期設定の ‘nil’ のままで良いです。

 -- ユーザ変数: skk-initial-search-jisyo
     確定辞書の後、かつ、個人辞書の前に検索を行う辞書です。

     この辞書を適当に指定することにより、最初に出てくる候補を操作するこ
     とがで きます。例えば、複数の専門用語毎の辞書を用意しておい て
     ‘skk-initial-search-jisyo’ の値を切り替えることにより、専門分野 毎
     の専門用語を切り替えて入力することができます。

     この辞書は、標準の配布パッケージには含まれていないので、使用するの
     であれ ばユーザ側で用意する必要があります。

     不要ならば、初期設定の ‘nil’ のままで良いです。

 -- ユーザ変数: skk-jisyo
     個人辞書。DDSKK を一番最初に起動したとき、変数 ‘skk-jisyo’ が指すフ
     ァイルが存在しなければ自動的に作られます。

          (setq skk-jisyo "/your/path/to/jisyofile")

     個人辞書は、変数 ‘skk-jisyo-code’ で指定された文字コードで取り扱わ
     れます。 ところで、変数 ‘skk-jisyo-code’ の指定は、個人辞書だけに限
     らず共有辞書などに も影響しますので、もし、個人辞書だけを変数
     ‘skk-jisyo-code’ の指定とは異なる 文字コードで取り扱いたいときは、
     次のとおりコンス・セルを設定します。

          (setq skk-jisyo (cons "/your/path/to/jisyofile" 'utf-8))

     この設定は ‘~/.emacs.d/init.el’ で行ってください。同時に、Emacs を
     起動する前 に個人辞書ファイルの文字コードを変換しておく必要がありま
     す。 配布物の ‘etc/dot.emacs’ に設定例が記載されていますので、参考
     にしてください。

 -- ユーザ変数: skk-backup-jisyo
     個人辞書の予備 (バックアップ) です。検索の対象ではなく、あくまで個
     人辞書 のバックアップとして指定してください。

 -- ユーザ変数: skk-cdb-large-jisyo
     共有辞書のうち CDB 形式に変換した辞書です。指定した場合は
     ‘skk-large-jisyo’ よ りも先に検索されます。DDSKK 14.1 からは辞書サ
     ーバを経由せずとも CDB 形式 辞書ファイルを直接検索できるようになり
     ました。

 -- ユーザ変数: skk-large-jisyo
     共有辞書のひとつ。バッファに読み込んで検索を行います。

     例えば ‘skk-large-jisyo’ に S 辞書か M 辞書を指定し、
     ‘skk-aux-large-jisyo’ に L 辞書を指定する、という選択肢もあります。

     また、辞書サーバ経由のアクセスも決して遅くはないので「共有辞書はバ
     ッファには 読み込まない」という設定も自然であり、これには
     ‘skk-large-jisyo’ を ‘nil’ に設定します。

 -- ユーザ変数: skk-aux-large-jisyo
     共有辞書のひとつ。辞書サーバに接続できない時にバッファに読み込んで
     検索を行う 辞書です。

 -- ユーザ変数: skk-extra-jisyo-file-list
     SKK では個人辞書の他に、共有辞書 (‘skk-large-jisyo’、
     ‘skk-cdb-large-jisyo’) または辞書サーバを設定して利用するのが一般的
     ですが、郵便番号辞書 ‘SKK-JISYO.zipcode’ をはじめとした多彩な辞書も
     メンテナンスされています。

     これらの辞書を利用するために変数 ‘skk-search-prog-list’ を手動で編
     集 することもできますが、この変数は厳密にはユーザ変数に分類されてい
     ないため、 予期しない問題が起こることもあります。

     DDSKK 14.2 以降では追加の辞書を簡単に設定する方法を提供します。以下
     の例 を参考に変数 ‘skk-extra-jisyo-file-list’ の設定を ‘~/.skk’ に
     記述します。

          (setq skk-extra-jisyo-file-list
                (list '("/usr/share/skk/SKK-JISYO.JIS3_4" . euc-jisx0213)
                      "/usr/share/skk/SKK-JISYO.zipcode"))

     このように、辞書のファイル名のリストを指定します (1)。 ただし、変数
     ‘skk-jisyo-code’ (*note 辞書バッファの文字コードの設定::) と は異な
     る文字コードのファイルについては、上記の例中の ‘SKK-JISYO.JIS3_4’ の
     ように「ファイル名と文字コードのペア」を記述します。

 これらの変数の意味するところは初期設定でのものですが、
‘skk-search-prog-list’ の設定で変更することもできます。
(*note 辞書検索のための関数::)

   ---------- Footnotes ----------

   (1) ‘skk-search-prog-list’ に登録されている関 数
‘skk-search-extra-jisyo-files’ が、‘skk-extra-jisyo-file-list’ の 各要素
を逐次処理します。


File: skk.info,  Node: 辞書の検索方法の設定,  Next: Emacs 付属の辞書,  Prev: 辞書ファイルの指定,  Up: 辞書関連

5.10.3 辞書の検索方法の設定
---------------------------

辞書の検索方法の指定は、変数 ‘skk-search-prog-list’ で行われます。 特に
必要が無ければ、読み飛ばして下さい。

* Menu:

* 辞書検索の設定の具体例::
* 辞書検索のための関数::


File: skk.info,  Node: 辞書検索の設定の具体例,  Next: 辞書検索のための関数,  Up: 辞書の検索方法の設定

5.10.3.1 辞書検索の設定の具体例
...............................

この節では、‘skk-search-prog-list’ の初期設定を示し、大体 の流れを説明し
ます。

 DDSKK では、複数の辞書を扱うことが可能です。複数の辞書が同時に 検索され
るのではなく、指定した順番に検索します。 ‘skk-search-prog-list’ はリスト
であり、大雑把に言えば、 確定されるまで、先頭の要素から順に lisp として
評価されます。

     ((skk-search-kakutei-jisyo-file skk-kakutei-jisyo 10000 t)
      (skk-search-jisyo-file skk-initial-search-jisyo 10000 t)
      (skk-search-jisyo-file skk-jisyo 0 t)
      (skk-okuri-search)
      (skk-search-cdb-jisyo skk-cdb-large-jisyo)
      (skk-search-jisyo-file skk-large-jisyo 10000)
      (skk-search-server skk-aux-large-jisyo 10000)
      (skk-search-ja-dic-maybe)
      (skk-search-extra-jisyo-files)
      (skk-search-katakana-maybe)
      (skk-search-sagyo-henkaku-maybe)))

 この例では、

  1. ‘skk-kakutei-jisyo’ (*note 確定辞書::), ‘skk-initial-search-jisyo’,
     ‘skk-jisyo’ (個人辞書) の順に検索を 行い、

  2. 次に送り仮名の自動処理を行い、(*note 送り仮名の自動処理::)

  3. その後、‘skk-cdb-large-jisyo’ と ‘skk-large-jisyo’ の検索を順 に行
     い、

  4. 最後に ‘skk-aux-large-jisyo’ に辞書サーバ経由でアクセスしています。

 これらの辞書の意味については、*note 辞書ファイルの指定:: 参照。

 もし確定辞書で候補が見つかったらそのまま自動的に確定されます。1 回
<SPC> を押す動作に対し、プログラム側では新たな候補を見つけるまで上記 の
動作を進めます。例えば、

  1. 確定辞書では候補は見つけられなかったが ‘skk-initial-search-jisyo’ に
     候補がある場合、そこでいったん止まりユーザにその候補を表示します。

  2. 更に <SPC> が押されると、次は個人辞書を検索します。そこで候補が見つ
     かり、しかもその候補が ‘skk-initial-search-jisyo’ で見つけた候補と
     は 異なるものであったときは、そこでまた止まりその候補をユーザに表示
     し ます。

 以降、共有辞書についても同様の繰り返しを行います。最後まで候補が 見つか
らなかった時は、辞書登録モードに入ります。


File: skk.info,  Node: 辞書検索のための関数,  Prev: 辞書検索の設定の具体例,  Up: 辞書の検索方法の設定

5.10.3.2 辞書検索のための関数
.............................

前節で見たとおり、変数 ‘skk-search-prog-list’ を適切に定義することによ っ
て辞書の検索方法を指定します。 そこで使われる辞書検索のための関数を使い
こなすことで、 より細かい辞書検索の方法を指定することができます。

 -- Function: skk-search-jisyo-file FILE LIMIT &optional NOMSG
     通常の検索を行うプログラム。変数 ‘skk-henkan-key’ を見出し語（検索
     文 字列）として、 FILE を被検索対象として変換検索を実施します。個人
     辞書、共 有辞書又は辞書サーバを使わずに検索を行いたい場合はこの関数
     を使用します。

     第１引数 ‘FILE’ は、被検索対象となる辞書ファイルを指定します。
     ‘nil’ を指定したときは、検索を行いません。 ‘FILE’ で指定した辞書フ
     ァイルは Emacs のバッファに読み込まれます。

     第２引数 ‘LIMIT’ は二分検索（バイナリ・サーチ）が行なわれる領域の大
     きさを指定します。一つの見出し語に対する変換動作に対し、検索対象の
     領域の 大きさ(1)が第２ 引数に指定された数値より小さくなるまでは二分
     検索が行われ、最後に直線的検 索（リニア・サーチ, search-forward）が
     １回行われます。

     第２引数に 0 を指定すると、常に直線的検索のみが行われます。 個人辞
     書 ‘skk-jisyo’ はソートされておらず二分検索が不可能であるため
     ‘LIMIT’ を 0 にして下さい。

     第３引数 ‘NOMSG’ が ‘nil’ ならば、辞書ファイルをバッファに 読み込む
     関数 ‘skk-get-jisyo-buffer’ のメッセージをミニバッファに出力し ます
     。‘non-nil’ を与えると出力しません。

 -- Function: skk-search-cdb-jisyo CDB-PATH

     not documented

 -- Function: skk-search-kakutei-jisyo-file FILE LIMIT &optional NOMSG
     「確定変換」を行う検索プログラム。検索対象の辞書ファイルは Emacs の
     バッファに読み込まれます。検索対象のファイルから候補を見つけると、
     内部 変数 ‘skk-kakutei-henkan-flag’ を立てて、いきなり確定します。
     このため ユーザが確定操作を行う必要はありません。

     引数の意味はいずれも ‘skk-search-jisyo-file’ の場合と同様です。

 *Note 確定辞書::.

 -- Function: skk-okuri-search
     形式: (skk-okuri-search)

     自動送り処理を行うプログラム。変数 ‘skk-auto-okuri-process’ の値 が
     ‘non-nil’ のときだけ機能します。

     個人辞書の送りありエントリを検索対象としているので、個人辞書のバッ
     ファを 流用します。そのため、専用の辞書バッファは作りません。

     *Note 送り仮名の自動処理::.

 -- Function: skk-search-server FILE LIMIT &optional NOMSG
     辞書サーバ経由で検索するプログラム。

     辞書サーバが使用不能になると辞書ファイルを Emacs のバッファに読み込
     んで 検索を行います。引数の意味はいずれも ‘skk-search-jisyo-file’ と
     同じですが、これらは辞書を Emacs のバッファに読み込んだときのみ利用
     されます。

     辞書サーバが使う辞書ファイルの設定については、

        • *note 辞書サーバを使いたいときの設定::
        • *note サーバ関連::

     をご覧下さい。

   ---------- Footnotes ----------

   (1) 「検索領域の先頭ポイント」と「同末尾ポイント」の差


File: skk.info,  Node: Emacs 付属の辞書,  Next: サーバ関連,  Prev: 辞書の検索方法の設定,  Up: 辞書関連

5.10.4 Emacs 付属の辞書
-----------------------

GNU Emacs には、 ‘SKK-JISYO.L’ を元に変換された ‘leim/ja-dic/ja-dic.el’
とい う辞書が付属しています。

 DDSKK 14.2 からは、この ‘ja-dic.el’ を利用したかな漢字変換 (送りあり、
送りなし、接頭辞、接尾辞) が可能となりました。 つまり、‘SKK-JISYO.L’ な
どの辞書ファイルを別途準備しなくても一応 は DDSKK の使用が可能、というこ
とです。

 DDSKK 14.2 から追加された「ja-dic.el 検索機能」(‘skk-search-ja-dic’) は
、

   • ‘skk-large-jisyo’
   • ‘skk-aux-large-jisyo’
   • ‘skk-cdb-large-jisyo’
   • ‘skk-server-host’

 の全てが無効な場合に有効となります。

 ただし、‘SKK-JISYO.L’ を利用する場合と比べて英数変換や数値変換などが で
きません。可能な限り ‘SKK-JISYO.L’ などの辞書を利用することを推奨 します
。

 関連項目: *note 辞書の入手::

 -- ユーザ変数: skk-inhibit-ja-dic-search

     この変数を ‘Non-nil’ に設定すると、‘skk-large-jisyo’ 等の値にか か
     わらず、あらゆる場面で ‘skk-search-ja-dic’ を無効とします。

 -- Function: skk-search-ja-dic

     GNU Emacs に付属するかな漢字変換辞書 ‘ja-dic.el’ を用いて検索する。
     現在の Emacs には ‘SKK-JISYO.L’ を基に変換された ‘ja-dic.el’ が付属
     している。 この辞書データを用いて送りあり、送りなし、接頭辞、接尾辞
     の変換を行う。 ただし、‘SKK-JISYO.L’ のような英数変換、数値変換など
     はできず、また「大丈夫」 のように複合語とみなしうる語彙が大幅に削除
     されている。


File: skk.info,  Node: サーバ関連,  Next: サーバコンプリージョン,  Prev: Emacs 付属の辞書,  Up: 辞書関連

5.10.5 サーバ関連
-----------------

辞書サーバの基本的な設定は、*note 辞書サーバを使いたいときの設定:: を ご
覧下さい。

 -- ユーザ変数: skk-servers-list

     この変数を使うと、複数のホスト上の辞書サーバを使い分けることができ
     ます。

     この変数の値は、辞書サーバ毎の情報リストです。各リストは次の 4 つの
     要素か ら成ります。

        • ホスト名
        • 辞書サーバ名 (フルパス)
        • 辞書サーバが読み込む辞書ファイル名
        • 辞書サーバが使用するポート番号

     ただし、辞書ファイル名及びポート番号は、辞書サーバ自身が決定するこ
     ともあるため、そのような場合は ‘nil’ として構いません。

     例えば、以下のように設定します。

          (setq skk-servers-list
                '(("host1" "/your/path/to/skkserv" nil nil)
                  ("host2" "/your/path/to/skkserv" nil nil)))

     上記の設定の場合、まず host1 上の辞書サーバと接続します。接続できな
     くなると、 次に host2 上の辞書サーバと接続します。

 -- ユーザ変数: skk-server-report-response

     この変数の値が ‘non-nil’ であれば、変換時に、辞書サーバの送出する文
     字を 受け取るまでに関数 ‘accept-process-output’ が実行された回数を
     エコーエリ アに報告します。

          -------------------- Echo Area --------------------
          辞書サーバの応答を 99 回待ちました
          -------------------- Echo Area --------------------

 -- ユーザ変数: skk-server-inhibit-startup-server

     デフォルト値は ‘t’ です。この変数を ‘nil’ に設定すると、辞書サ ーバ
     と接続できない場合に ‘call-process’ で辞書サーバプログラムの起動 を
     試みます。

     inetd 経由で起動する多くの辞書サーバは ‘call-process’ で起動するこ
     とができませんが、‘skkserv’ のように ‘call-process’ で起動する こと
     ができる辞書サーバを利用している場合には、この変数を ‘nil’ に設 定
     するのが良いかもしれません。

 -- ユーザ変数: skk-server-remote-shell-program

     この変数には、リモートシェルのプログラム名を指定します。デフォルト
     は、システ ム依存性を考慮する必要があるため、以下の Emacs Lisp コー
     ドを評価すること により決定されています。

          (or (getenv "REMOTESHELL")
              (and (boundp 'remote-shell-program) remote-shell-program)
              (cond
               ((eq system-type 'berkeley-unix)
                (if (file-exists-p "/usr/ucb/rsh") "/usr/ucb/rsh" "/usr/bin/rsh"))
               ((eq system-type 'usg-unix-v)
                (if (file-exists-p "/usr/ucb/remsh") "/usr/ucb/remsh" "/bin/rsh"))
               ((eq system-type 'hpux) "/usr/bin/remsh")
               ((eq system-type 'EWS-UX/V) "/usr/ucb/remsh")
               ((eq system-type 'pcux) "/usr/bin/rcmd")
               (t "rsh")))

 -- Function: コマンド skk-server-version
     辞書サーバから得たバージョン文字列とホスト名文字列を表示する。

          (skk-server-version)
          ⊣ SKK SERVER version (wceSKKSERV) 0.2.0.0 (ホスト名 foo:192.168.0.999: )


File: skk.info,  Node: サーバコンプリージョン,  Next: 辞書の書式,  Prev: サーバ関連,  Up: 辞書関連

5.10.6 サーバコンプリージョン
-----------------------------

Server completion に対応した辞書サーバであれば、見出し語から始まる全ての
語句 の検索が可能です。

 -- Function: skk-comp-by-server-completion
     この関数を ‘skk-completion-prog-list’ の要素に追加すると、▽モードに
     お いて見出し語補完を実行します。

          (add-to-list 'skk-completion-prog-list
                       '(skk-comp-by-server-completion) t)

 -- Function: skk-server-completion-search
     この関数を ‘skk-search-prog-list’ の要素に追加すると、 変換を実行す
     る際に ‘skk-server-completion-search-char’ を付すことに よって見出
     し語で始まるすべての候補を掲げます。

          (add-to-list 'skk-search-prog-list
                       '(skk-server-completion-search) t)


          ------ Buffer: foo ------
          ▽おおさか~★
          ------ Buffer: foo ------

          <SPC>

          ------ Buffer: *候補* ------
          A:おおさかいかだいがく
          S:大阪医科大学
          D:おおさかいがい
          F:大阪以外
          J:おおさかいだい
          K:大阪医大
          L:おおさかいちりつだいがく
          ------ Buffer: *候補* ------


 -- ユーザ変数: skk-server-completion-search-char

     デフォルトは ‘~’（チルダ、#x7e）です。


File: skk.info,  Node: 辞書の書式,  Next: 強制的に辞書登録モードへ入る,  Prev: サーバコンプリージョン,  Up: 辞書関連

5.10.7 辞書の書式
-----------------

* Menu:

* 送りありエントリと送りなしエントリ::
* 送りありエントリのブロック形式::
* エントリの配列::


File: skk.info,  Node: 送りありエントリと送りなしエントリ,  Next: 送りありエントリのブロック形式,  Up: 辞書の書式

5.10.7.1 送りありエントリと送りなしエントリ
...........................................

以下は個人辞書の一例です。

     ;; okuri-ari entries.
     たとe /例/[え/例/]/
     もt /持/[つ/持/]/[って/持/]/[た/持/]/[て/持/]/[ち/持/]/[と/持/]/
     たすk /助/[け/助/]/
     うごk /動/[く/動/]/[か/動/]/[け/動/]/[き/動/]/[こ/動/]/
     ふくm /含/[め/含/]/[む/含/]/[ま/含/]/[み/含/]/[も/含/]/
     ...
     ;; okuri-nasi entries.
     てん /点/・/天/
     ひつよう /必要/
     さくじょ /削除/
     へんこう /変更/
     じゅんじょ /順序/
     ぐん /群/郡/
     こうほ /候補/
     いち /位置/一/壱/
     ...

‘てん /点/・/天/’ を例にして説明します。これは ‘てん’ が見出し 語であり
、その候補が、‘点’、‘・’、‘天’ です。候補はそれぞ れ、‘/’ によって区切ら
れています。SKK では、見出し語と候補群を合わ せた ‘てん /点/・/天/’ の一
行を「エントリ」と呼びます。

 辞書は単純なテキストファイルで、必ず下記の 2 つの行を持っています。

     ;; okuri-ari entries.
     ;; okuri-nasi entries.

この 2 つの行は、それぞれ送り仮名あり、送り仮名なしのエントリの開始地点
を示すマークです。 ‘;; okuri-ari entries.’ までの行で ‘;’ を行 頭に持つ
行はコメント行として無視されます。‘;; okuri-ari entries.’ 以降にコメント
行を含むことはできません。

 ‘;; okuri-ari entries.’ と ‘;; okuri-nasi entries.’ の 間に囲まれた上半
分の部分が送り仮名ありのエントリです。これを「送りあ りエントリ」と呼び
ます。 ‘;; okuri-nasi entries.’以下の下半分部分が送り仮名なしのエント リ
です。これを「送りなしエントリ」と呼びます。

 送りありエントリを検索する変換を「送りあり変換」、送りなしエントリを 検
索する変換を「送りなし変換」と呼びます。SKK では送り仮名の有無が変 換方
法の 1 つの種別となっています。送り仮名がある変換では送りありエント リの
みが検索され、送り仮名がない変換では送りなしエントリのみが検索されま す
。

 1 つの見出し語についてのエントリは 1 行内に書かれます。2 行以上にまたが
ることはできません。改行を含む候補については、‘(concat "改\n行")’ のよう
に、評価すると改行を該当個所に挿入するような Lisp プログラム
(*note プログラム実行変換::) に候補を変換して辞書に収めています。

 送りありエントリは、基本的には ‘もt /持/’ のようになっています。送 り仮
名部分は、送り仮名をローマ字表現したときの 1 文字目 (1)で表現されていま
す。 この 1 エントリで ‘持た’、‘持ち’、‘持つ’、‘持て’、 ‘持と’ の５つの
候補に対応します。その５つの候補の送り仮名をローマ 字プレフィックスで表
現すれば、いずれも ‘t’ になります。

   ---------- Footnotes ----------

   (1) あるかな文字をローマ字表現したときの 1 文字目を「ローマ字プ レフ
ィックス」と呼びます。


File: skk.info,  Node: 送りありエントリのブロック形式,  Next: エントリの配列,  Prev: 送りありエントリと送りなしエントリ,  Up: 辞書の書式

5.10.7.2 送りありエントリのブロック形式
.......................................

個人辞書の送りありエントリには ‘[’ と ‘]’ に囲まれたブロックが あります
。これは、そのブロックの先頭にある平仮名を送り仮名に取る候補群で す。

     たとe /例/[え/例/]/
     ...
     ふくm /含/[め/含/]/[む/含/]/[ま/含/]/[み/含/]/[も/含/]/

 この例で見ると、見出し語 ‘たとe’ の場合は ‘え’ を送り仮名とす る 1 つの
ブロックから構成されています。見出し語 ‘ふくm’ の場合は、 ‘ま’、‘み’、
‘む’、‘め’、‘も’ を送り仮名とする５ ブロックに分けられています。

 この送り仮名毎のブロック部分は、‘skk-henkan-okuri-strictly’ あるい は
‘skk-auto-okuri-process’ のいずれかの変数が ‘non-nil’ で ある場合に使用
されます。その場合、検索において、見出し語の一致に加えて、 更に送り仮名
もマッチするかどうかをテストします。例えば、

     おおk /大/多/[く/多/]/[き/大/]/

というエントリがあるとします。同じ見出し語 ‘おおk’ であっても、送り 仮名
が ‘き’ であれば、候補は ‘大’ のみで ‘多’ は無視されま す。 (1)

 現在 <http://openlab.jp/skk/dic.html> で配布されている共有辞書では、
‘[’ と ‘]’ を使用した送り仮名毎のブロックの形式に対応していません。 個人
辞書のみがこの形式で書き込まれていきます。 ‘skk-henkan-okuri-strictly’ が
‘nil’ であっても送り仮名のブロッ ク形式で書き込まれます。(2)

   ---------- Footnotes ----------

   (1) *Note skk-henkan-okuri-strictly: 送り仮名の自動処理.  *Note
skk-auto-okuri-process: 送り仮名の厳密なマッチ.  *Note
skk-henkan-strict-okuri-precedence: 送り仮名の優先的なマッチ.

   (2) ただし ‘skk-process-okuri-early’ の値が ‘non-nil’ であれば、送り
仮名を決定する前に変換を開始すること になるので、送り仮名を明示的に入力
していても個人辞書にはブロック形式は作 られません。


File: skk.info,  Node: エントリの配列,  Prev: 送りありエントリのブロック形式,  Up: 辞書の書式

5.10.7.3 エントリの配列
.......................

共有辞書は、送りありエントリは ‘;; okuri-ari entries.’ から順 に下方向に
見出し語をキーとして降順に配置され、送りなしエントリ は
‘;; okuri-nasi entries.’ から順に下方向に見出し語をキーと して昇順に配置
されます。 降順／昇順に配置されるのは、辞書サイズが大きいことに配慮して
二分検索 を行うためです (1)。

 一方、個人辞書は、一番最後に変換された語が最も手前に置かれます。 つまり
、送りなし／送りあり、それぞれのエントリが ‘;; okuri-ari entries.’,
‘;; okuri-nasi entries.’ を 基点として最小ポイントに挿入されて辞書が 更
新されます (2)。 個人辞書は、通常は共有辞書ほどはサイズが大きくないので
、検索時にはそれぞ れの基点から直線的に検索が行われます。

 最後に確定された語は、一つのエントリの中の最初の位置に置かれます。

   ---------- Footnotes ----------

   (1) ソートする際には、見出し語を unsigned-char と見なします。 この順
序は Emacs が 関数 ‘string<’ で文字列を比較するときの順序であ り、UNIX の
‘sort’ コマンドでの標準の順序とは異なります。 Emacs のコマンド
‘sort-lines’を用いればファイルをこの順序でソートす ることができます。
Emacs のコマンド ‘sort-columns’ は内部的に UNIX コ マンドの ‘sort’ を使
っているので、辞書のソートには使えません。

   (2) 正確に言えば、送りあり変換では ‘skk-okuri-ari-min’+ 1 の位置、送
りなし変換では ‘skk-okuri-nasi-min’+ 1 の位置。


File: skk.info,  Node: 強制的に辞書登録モードへ入る,  Next: 誤った登録の削除,  Prev: 辞書の書式,  Up: 辞書関連

5.10.8 強制的に辞書登録モードへ入る
-----------------------------------

▼モードにて、エコーエリアに変換候補が表示されているときに ‘.’ をタイ プ
すると、強制的に辞書登録モードへ入ります。

 -- ユーザ変数: skk-force-registration-mode-char
     強制的に辞書登録モードへ入るためのキーキャラクタをこの変数で定義し
     ます。 標準設定は ‘.’ です。


File: skk.info,  Node: 誤った登録の削除,  Next: 個人辞書ファイルの編集,  Prev: 強制的に辞書登録モードへ入る,  Up: 辞書関連

5.10.9 誤った登録の削除
-----------------------

誤って個人辞書に登録した単語は削除できます。

 削除したい単語を変換により求め、その単語が表示された時点で ‘X’ を入力 し
ます。ミニバッファに確認プロンプトが出るので ‘y e s’ と答えると、個 人辞
書の対応するエントリが削除されます。現在のバッファに先程入力した「誤 り
の変換結果」も削除されます。

 例えば、

     さいきてき /再起的/

というエントリを誤って登録してしまったという仮定で、この誤登録を削除する
場合を説明します。

     S a i k i t e k i <SPC>

     ------ Buffer: foo ------
     ▼再起的★
     ------ Buffer: foo ------

     X

     ------------------ MiniBuffer ------------------
     Really purge ``さいきてき /再起的/''?(yes or no) ★
     ------------------ MiniBuffer ------------------

     y e s <RET>

     ------ Buffer: foo ------
     ★
     ------ Buffer: foo ------



File: skk.info,  Node: 個人辞書ファイルの編集,  Next: 個人辞書の保存動作,  Prev: 誤った登録の削除,  Up: 辞書関連

5.10.10 個人辞書ファイルの編集
------------------------------

構文チェックが十分ではありません。個人辞書ファイルの編集は、自己責任 の
もと行ってください。

 コマンド ‘M-x skk-edit-private-jisyo’ を使うと、個人辞書ファイルが 開か
れます(1)。

 個人辞書ファイルを開いて編集している最中も skk を使えますが、 skk から
の単語の登録、削除はできません。(他にも少し制限がありますが、 気にならな
いでしょう。)

 編集が終わったら、‘C-c C-c’ と押すと個人辞書ファイルをセーブしてバッ フ
ァを閉じます。

   ---------- Footnotes ----------

   (1) 前置引数を伴って実行 (‘C-u M-x skk-edit-private-jisyo’) す ること
で、コーディングシステムを指定して個人辞書を開くことができます。


File: skk.info,  Node: 個人辞書の保存動作,  Next: 変換及び個人辞書に関する統計,  Prev: 個人辞書ファイルの編集,  Up: 辞書関連

5.10.11 個人辞書の保存動作
--------------------------

個人辞書の保存動作について説明します。

 個人辞書の保存が行われる場合として、次の４通りがあります。

  1. ‘C-x C-c’ (または ‘M-x save-buffers-kill-emacs’) によって Emacs を
     終了する場合。

  2. ‘M-x skk-save-jisyo’ と入力したか、メニューバーの ‘Save Jisyo’ を 選
     択した場合。

  3. 個人辞書の更新回数が、変数 ‘skk-jisyo-save-count’ で指定された値に
     達した結果として、自動保存 (オートセーブ) 機能が働くとき。

  4. 変数 ‘skk-save-jisyo-instantly’ が ‘non-nil’ であれば、 単語登録（
     単語削除）のたびに個人辞書を保存する。

 保存動作を分析して考えます。まず、 Emacs に読み込んだ個人辞書が更新され
ているかどうかを調べます。更新されていたら保存動作に入ります。Emacs の個
人辞書バッファを一時ファイルに保存して、そのファイルサイズが現存の (セー
ブ前の) 個人辞書より小さくないかどうかをチェックします。個人辞書より小さ
いときは、保存動作を継続するかどうか、確認のための質問がされます (1)。


     --------------------------- Minibuffer -----------------------------
     New ~/.skk-jisyo will be 11bytes smaller.  Save anyway?(yes or no)
     --------------------------- Minibuffer -----------------------------


ここで ‘n o <RET>’ と答えた場合は、そこで保存動作が中止され、個 人辞書は
以前の状態のままになります。‘y e s <RET>’ と答えた場合は 元の個人辞書を
退避用の辞書 ‘~/.skk-jisyo.BAK’ に退避し、一時ファイ ルに保存した新しい
個人辞書を ‘skk-jisyo’ に保存します。

 もし、一時ファイルのサイズが 0 である場合は、なんらかの異常と考えられる
ため保存動作は直ちに中止されます。その場合は

 ‘M-x skk-kill-emacs-without-saving-jisyo’

で Emacs を終了させ、個人辞書 (‘skk-jisyo’) 及び個人辞書の退避用辞 書
(‘skk-backup-jisyo’) をチェックするよう強くお勧めします (2)。

 -- ユーザ変数: skk-compare-jisyo-size-when-saving
     この変数の値を ‘nil’ に設定すると、保存前の個人辞書とのサイズを比較
     しません。

 -- ユーザ変数: skk-jisyo-save-count

     この変数で指定された回数、個人辞書が更新された場合に個人辞書が自動
     保存さ れます。デフォルトは 50 です。また、この値を ‘nil’ にすると
     、個人辞 書の自動保存機能が無効になります。

     ここで、個人辞書の更新回数は確定回数と一致します。また、同じ候補に
     ついて 確定した場合でもそれぞれ 1 回と数えられます (3)。

 -- ユーザ変数: skk-save-jisyo-instantly
     この変数が ‘non-nil’ であれば、単語を登録するたび（削除するたび）に
     個人辞書を保存します。

 -- ユーザ変数: skk-share-private-jisyo
     ‘Non-nil’ であれば、複数の SKK による個人辞書の共有を考慮して辞書を
     更新する。 SKK 起動後にこの変数を変更した場合は ‘M-x skk-restart’ で
     反映させること。

   ---------- Footnotes ----------

   (1) 通常の使用の範囲では ‘M-x skk-purge-from-jisyo’ した場合、あ るい
は個人辞書をユーザが意図的に編集した場合、複数の Emacs で DDSKK を 使用
した場合などに、個人辞書が小さくなることがあります。他の場合はバグの 可
能性があります。

   (2) ‘skk-jisyo’ が既に壊れていても、変数 ‘skk-backup-jisyo’ が 指し示
すファイルにそれ以前の個人辞書が残っている可能性があります。

   (3) これは、個人辞書の最小ポイントに、常に最後に変換を行ったエン トリ
を移動させるために、エントリ数、候補数が全く増えていなくとも、確定に よ
り個人辞書が更新されているからです。


File: skk.info,  Node: 変換及び個人辞書に関する統計,  Next: 辞書バッファ,  Prev: 個人辞書の保存動作,  Up: 辞書関連

5.10.12 変換及び個人辞書に関する統計
------------------------------------

DDSKK は、かな漢字変換及び個人辞書に関する統計を取っており、Emacs の終了
時にファイル ‘~/.skk-record’ に保存します。保存する内容は、以下の形 式で
す。

 Sun Jul 28 09:38:59 1996 登録: 4 確定: 285 確定率: 98% 語数: 3042

 上記の「語数:」の数は個人辞書 ‘skk-jisyo’ に登録されている候補数です が
、ここでは 1 行を 1 語として数えています。そのため、1 つの見出し語に対 し
て複数の候補を持っている場合は、2 つ目以降の候補を無視しています。

 -- ユーザ変数: skk-record-file

     統計情報を保存するファイル名を指定します。 (*note 設定ファイル::)

 -- ユーザ変数: skk-keep-record

     この変数の値を ‘nil’ に設定すると、本節で説明した統計機能を無効に し
     ます。数値を設定すると、‘skk-record-file’ を指定数値の行数よ り大き
     くしません。

 -- ユーザ変数: skk-count-private-jisyo-candidates-exactly

     この変数の値を ‘non-nil’ に設定すると、「語数」の数え方を変更します
     。 具体的には、 1 行を 1 語として数えるのではなく、正確に語数を数え
     ます。 なお、その分時間がかかります。また、この場合でも ‘[’ と ‘]’
     に囲まれた送り仮名毎のブロック形式内は数えません。

‘M-x skk-count-jisyo-candidates’

 このコマンドを使うと、辞書の候補数を数えることができます。

     M-x skk-count-jisyo-candidates

     --------------- MiniBuffer --------------
     Jisyo file: (default: /your/home/.skk-jisyo) ~/★
     --------------- MiniBuffer --------------

     . s k k - j i s y o <RET>

     -------------- Echo Area --------------
     Counting jisyo candidates... 100% done
     -------------- Echo Area --------------

     ------ Echo Area ------
     3530 candidates
     ------ Echo Area ------

 ただし、‘[’ と ‘]’ に囲まれた送り仮名毎のブロック形式内は数えませ ん。

 また、メニューバーが使用できる環境では、メニューバーを使ってこのコマン
ド を呼び出すことができます。*Note メニューバー: (emacs)Menu Bars.


File: skk.info,  Node: 辞書バッファ,  Next: 辞書バッファの文字コードの設定,  Prev: 変換及び個人辞書に関する統計,  Up: 辞書関連

5.10.13 辞書バッファ
--------------------

辞書検索プログラムを実行すると、必要ならば辞書が Emacs のバッファに読み
込まれます。このバッファを辞書バッファと呼びます。

 辞書バッファの名前は、

 「空白+‘*’+辞書ファイル名(ディレクトリ抜き)+‘*’」

という規則に基づいて付けられます。例えば、変数 ‘skk-large-jisyo’ の 値が

 ‘/usr/local/share/skk/SKK-JISYO.L’

であるとき、これに対する辞書バッファ名は、

 ‘ *SKK-JISYO.L*’

となります。

 このバッファのメジャーモードは ‘fundamental-mode’ です。しかし、諸 般の
事情により、変数 ‘major-mode’ の値をシンボル ‘skk-jisyo-mode’ と、 変数
‘mode-name’ の値を文字列 ‘SKK dic’ としています (1)。

   ---------- Footnotes ----------

   (1) これは、Emacs の ‘dabbrev.el’ の機能との調和を考えての措 置です。
Dabbrev においては、現在のバッファと同じモードの他のバッファを検索して
abbreviation の展開を行うように設定することができるのですが、仮に辞書 バ
ッファにおける変数 ‘major-mode’ の値が ‘fundamental-mode’ のま まだとす
ると、 Dabbrev が辞書バッファを検索してしまう可能性があります。 この措置
によって、そのような事態を回避しています。


File: skk.info,  Node: 辞書バッファの文字コードの設定,  Next: 辞書バッファのbuffer-file-name,  Prev: 辞書バッファ,  Up: 辞書関連

5.10.14 辞書バッファの文字コードの設定
--------------------------------------

 -- ユーザ変数: skk-jisyo-code

     この変数は、辞書ファイルの文字コードを決定し、以下のような値を取り
     ます。

        • ‘nil’

        • Emacs の coding system (コード系) (1)

        • ‘euc’, ‘ujis’, ‘sjis’, ‘jis’ の文字列。
          ‘skk-coding-system-alist’ に従って、順に ‘euc-jisx0213’,
          ‘euc-jisx0213’, ‘shift_jisx0213’, ‘iso-2022-jp-3-strict’ の各
          シンボルへ変換されます。

     デフォルトは ‘nil’ です。この場合、シンボル ‘euc-jis-2004’ が使われ
     ます (2) 。

   ---------- Footnotes ----------

   (1) coding system は GNU Emacs の場合 ‘euc-jp’, ‘shift_jis’, ‘junet’
などのシンボルで表され、‘M-x describe-coding-system’ や ‘M-x
list-coding-systems’ で調べることができます。

   (2) 関数 ‘skk-find-coding-system’ を参照のこと。


File: skk.info,  Node: 辞書バッファのbuffer-file-name,  Prev: 辞書バッファの文字コードの設定,  Up: 辞書関連

5.10.15 辞書バッファのbuffer-file-name
--------------------------------------

Emacs には ‘save-some-buffers’ という関数があります。この関数は、ファ イ
ルに関連付けられている各バッファについて、変更があればファイルに保存し ま
すが、実際に保存するかどうかをユーザに質問します。

 Emacs のコマンドには ‘M-x compile’ のように、 ‘save-some-buffers’ を呼
び出すものがあります。もし、個人辞書の辞書 バッファがファイル名と関連付
けられていたとしたら、こうしたコマンドを 実行するたびに個人辞書を保存す
るかどうか質問されるので、面倒です。

 DDSKK では、このような事態を避けるため、辞書バッファにおける変数
‘buffer-file-name’ の値を ‘nil’ に設定しています。


File: skk.info,  Node: 注釈 (アノテーション),  Next: 文字コード関連,  Prev: 辞書関連,  Up: 便利な応用機能

5.11 注釈 (アノテーション)
==========================

かな漢字変換の際に、候補に注釈 (アノテーション) が登録されていれば、それ
を表示することができます。

* Menu:

* アノテーションの基礎::     予備知識
* アノテーションの使用::
* アノテーションの登録::
* アノテーションとして EPWING 辞書を表示する::
* Apple OS X 「辞書」サービスからアノテーションを取得する::
* Wikipedia/Wiktionary からアノテーションを取得する::
* 外部コマンドからアノテーションを取得する::
* 各種アノテーション機能を SKK の枠をこえて活用する::


File: skk.info,  Node: アノテーションの基礎,  Next: アノテーションの使用,  Up: 注釈 (アノテーション)

5.11.1 アノテーションの基礎
---------------------------

この節では、辞書の中でのアノテーションの取り扱いを説明します。

 アノテーションは、ユーザが登録したものと、共有辞書に元々登録されている
もの、それ以外の情報源から取得されるものの 3 つに大別されます。

 ユーザが付けたアノテーションを「ユーザアノテーション」 と呼びます。ユー
ザアノテーションは、次の形式で個人辞書に登録されます。

     「きかん /期間/機関;*機関投資家/基幹;*基幹業務/」

 上記のとおり、‘;’ の直後に ‘*’ が自動的に振られる (1)ことによってユーザ
が 独自に登録したアノテーションであることが分かります。

 一方、共有辞書に元々登録されているアノテーションを「システムアノテー シ
ョン」と呼び、これは ‘;’ の直後に ‘*’ の文字を伴いません。 システムアノ
テーションは、次の形式で辞書に登録されています。

     「いぜん /以前;previous/依然;still/」

 システムアノテーションは、L 辞書等に採用されています。

 上記のいずれでもなく、外部の辞典その他の情報源から得られるものを「外部
ア ノテーション」といいます。外部アノテーションは Emacs Lisp パッケージ
であ る lookup.el、 Apple OS X 付属の辞書、Wiktionary/Wikipedia などから
取得可能 です。

   ---------- Footnotes ----------

   (1) ‘*’ の文字は変換時には表示されません


File: skk.info,  Node: アノテーションの使用,  Next: アノテーションの登録,  Prev: アノテーションの基礎,  Up: 注釈 (アノテーション)

5.11.2 アノテーションの使用
---------------------------

 -- ユーザ変数: skk-show-annotation

     この変数の値を ‘non-nil’ に設定するとアノテーションを表示します
     (1)。

     ‘(setq skk-show-annotation t)’

          アノテーションを常に表示します。

     ‘(setq skk-show-annotation '(not list))’

          *候補*バッファ(2)では、アノテーションを表示しません。

     ‘(setq skk-show-annotation '(not minibuf))’

          ミニバッファにおけるかな漢字変換（単語登録時）では、アノテーシ
          ョンを表示しません。

     ‘(setq skk-show-annotation '(not list minibuf))’

          *候補*バッファ及びミニバッファでは、アノテーションを表示しませ
          ん。

     ‘(setq skk-show-annotation nil)’

          いかなる場合もアノテーションを表示しません。

 -- ユーザ変数: skk-annotation-delay

     アノテーションを表示するまでの遅延を秒で指定する。デフォルトは 1.0
     秒。

 -- ユーザ変数: skk-annotation-copy-key

     ‘C-w’ をタイプすると、現在表示されているアノテーションを kill ring
     に 保存します。保存した内容を Emacs 以外のアプリケーションで利用し
     たい場合は 変数 ‘interprogram-cut-function’ を設定してください。

 -- ユーザ変数: skk-annotation-show-as-message

     ‘Non-nil’ (デフォルト) であれば、アノテーションをエコーエリアに表示
     します。

     ‘nil’ であれば、other-window を一時的に開いてアノテーションを表示し
     ます。 other-window は、その候補を確定するか、その候補の選択を止め
     る (次の 候補の表示又は quit) と自動的に閉じます。

     この変数の値にかかわらず、変数‘skk-show-tooltip’ が ‘non-nil’ の 場
     合はアノテーションをツールティップで表示します。

 -- ユーザ変数: skk-annotation-toggle-display-char

     「*候補*バッファ」で変換候補を一覧表示しているときにアノテーション
     の 表示／非表示を動的に切り替えるキーを設定します。 デフォルトは
     ‘^’ です。

          ----- Buffer: *候補* -----
          A:射
          S:亥;[十二支](12)いのしし
          D:夷;夷狄
          F:姨;おば
          J:洟;はな
          K:痍;満身創痍
          L:維;維持
          ----- Buffer: *候補* -----

          ^

          ----- Buffer: *候補* -----
          A:射
          S:亥;
          D:夷;
          F:姨;
          J:洟;
          K:痍;
          L:維;
          ----- Buffer: *候補* -----

 -- ユーザ変数: skk-annotation-function

     ユーザアノテーションとシステムアノテーションを区別することで、ユー
     ザアノ テーションだけを表示したり、あるいはその逆を行うことが可能で
     す。

     変数 ‘skk-annotation-function’ に「表示したいアノテーション を
     ‘non-nil’ と判定する関数」を定義します。 アノテーション文字列を引数
     にして変数 ‘skk-annotation-function’ が 指し示す関数が ‘funcall’ さ
     れて、戻り値が ‘non-nil’ である場合に 限ってアノテーションが表示さ
     れます。

          (setq skk-annotation-function
                (lambda (annotation)
                    (eq (aref annotation 0) ?*)))

     上記の例では、アノテーションの先頭が ‘*’ で始まる「ユーザアノテー シ
     ョン」の場合に ‘t’ を返すλ式を ‘skk-annotation-function’ に 定義し
     ました。これによってユーザアノテーションだけが表示されます。

   ---------- Footnotes ----------

   (1) Viper 対策はまだ行われていません。‘~/.viper’ に次のように 書いて
下さい。

     (viper-harness-minor-mode "skk-annotation")

   (2) ‘skk-show-candidates-always-pop-to-buffer’


File: skk.info,  Node: アノテーションの登録,  Next: アノテーションとして EPWING 辞書を表示する,  Prev: アノテーションの使用,  Up: 注釈 (アノテーション)

5.11.3 アノテーションの登録
---------------------------

 -- Function: コマンド skk-annotation-add &optional
          NO-PREVIOUS-ANNOTATION

     アノテーションを登録／修正するには、アノテーションを付けたい単語を
     確定し た直後に同じバッファで ‘M-x skk-annotation-add’ と実行します
     。

     アノテーションを編集するバッファ(*SKK annotation*)が開いてカレント
     バッファ になりますので、アノテーションとして表示する文章を編集して
     ください。 編集が終わったら ‘C-c C-c’ とタイプします。

     その単語に既にアノテーションが付いている場合は、あらかじめ当該アノ
     テーショ ンを挿入して *SKK annotation* を開きます。

 -- Function: コマンド skk-annotation-kill

     上記 ‘M-x skk-annotation-add’ を実行したもののアノテーションを付け
     ず に *SKK annotation* を閉じたいときは、‘C-c C-k’ とタイプするか
     ‘M-x skk-annotation-kill’ を実行してください。

 -- Function: コマンド skk-annotation-remove

     最後に確定した候補からアノテーションを取り去りたいとき は ‘M-x
     skk-annotation-remove’ と実行します。


File: skk.info,  Node: アノテーションとして EPWING 辞書を表示する,  Next: Apple OS X 「辞書」サービスからアノテーションを取得する,  Prev: アノテーションの登録,  Up: 注釈 (アノテーション)

5.11.4 アノテーションとして EPWING 辞書を表示する
-------------------------------------------------

‘skk-lookup.el’ に含まれる関数 ‘skk-lookup-get-content’ を活用 すること
により、EPWING 辞書から得た内容をアノテーション表示することが可能 です。

 辞書検索ツールの Lookup (<http://openlab.jp/edict/lookup/>) が正常に イ
ンストールされていることが前提です。Lookup を新規にインストールした場 合
は、SKK をインストールし直す必要があります。

 EPWING 辞書の内容をアノテーション表示するには、２つの方法があります。

  1. ‘skk-treat-candidate-appearance-function’ を設定する方法

     候補の表示を装飾する関数を指定する変数
     ‘skk-treat-candidate-appearance-function’ を設定する場合は、
     ‘etc/dot.skk’ に示されている設定例を以下のように変更してください。

          + (require 'skk-lookup)
            (setq skk-treat-candidate-appearance-function
                  #'(lambda (candidate listing-p)
                      (let* ((value (skk-treat-strip-note-from-word candidate))
                             (cand (car value))     ;候補
          -                  (note (cdr value))     ;注釈
          +                  (note (skk-lookup-get-content cand listing-p))
                             (sep (if note          ;セパレータ
                             :

      -- Function: skk-lookup-get-content 単語 listing-p

          単語の意味を EPWING 辞書から取得します。オプション引数
          listing-p が ‘non-nil’ なら候補一覧用に一行の短い文字列を返し
          ますが、‘nil’ な らば全体を返します。

      -- ユーザ変数: skk-lookup-get-content-nth-dic

          関数 ‘skk-lookup-get-content’ が「どの EPWING 辞書から単語の意
          味を 取得するのか」を、ゼロを起点とした数値で指定します。

          docstring に例示した S 式を評価してみてください。

     ‘M-x skk-lookup-get-content-setup-dic’

     DDSKK の起動後に変数 ‘skk-lookup-get-content-nth-dic’ の数値を変 更
     した場合は、このコマンドを必ず実行してください。

  2. ‘skk-annotation-lookup-lookup’ を設定する方法

     次に変数 ‘skk-annotation-lookup-lookup’ について説明します。この変
     数は EPWING 経由アノテーションの設定を簡単にします。

      -- ユーザ変数: skk-annotation-lookup-lookup

          ‘Non-nil’ ならば ‘lookup.el’ を利用してアノテーションを取得す
          る。

               (setq skk-annotation-lookup-lookup t)

          この値を ‘always’ に設定すると、候補一覧でも辞書サービスを引く
          。 (1)

               (setq skk-annotation-lookup-lookup 'always)

   ---------- Footnotes ----------

   (1) この設定は変数 ‘skk-treat-candidate-appearance-function’ の値を上
書きします。‘skk-treat-candidate-appearance-function’ を 自分で設定する
場合は ‘skk-annotation-lookup-lookup’ には ‘t’ または ‘nil’ を必要に応じ
て設定します。


File: skk.info,  Node: Apple OS X 「辞書」サービスからアノテーションを取得する,  Next: Wikipedia/Wiktionary からアノテーションを取得する,  Prev: アノテーションとして EPWING 辞書を表示する,  Up: 注釈 (アノテーション)

5.11.5 Apple OS X 「辞書」サービスからアノテーションを取得する
--------------------------------------------------------------

Mac OS X 10.5 以降に標準で入っている国語辞典などからアノテーションが取得
できます。(1)

 -- ユーザ変数: skk-annotation-lookup-DictionaryServices

     ‘Non-nil’ ならば OS X の辞書サービスを利用してアノテーションを取得
     する。

          (setq skk-annotation-lookup-DictionaryServices t)

     この値を ‘always’ に設定すると候補一覧でも辞書サービスを引く。 (2)

          (setq skk-annotation-lookup-DictionaryServices 'always)

 -- ユーザ変数: skk-annotation-python-program

     アノテーション取得のために呼びだす python のプログラム名。

          (setq skk-annotation-python-program "/usr/bin/python")

 今のところ、アノテーションを取得する辞典を選択することはできません。 OS
X の「辞書」アプリ (Dictionary.app) を起動し、環境設定から辞書の検索 順
を指定してください。国語辞典を上位に指定すれば使いやすくなります。

   ---------- Footnotes ----------

   (1) この機能を利用するには、python の拡張機能として readline と
pyobject-framework-DictionaryServices が必要です。後者につい ては OS X
10.5 (Leopard) 以降の OS 標準の python に初めからインストール されていま
す。readline については OS X 10.7 (Lion) 標準の python ではイ ンストール
する必要がありません。OS X 10.6 以前の場合は

     % easy_install readline

などの方法でインストールします。

   (2) この設定は変数 ‘skk-treat-candidate-appearance-function’ の値を上
書きします。‘skk-treat-candidate-appearance-function’ を 自分で設定した
い場合は ‘skk-annotation-lookup-DictionaryServices’ には ‘t’ または
‘nil’ を必要に応じて設定します。


File: skk.info,  Node: Wikipedia/Wiktionary からアノテーションを取得する,  Next: 外部コマンドからアノテーションを取得する,  Prev: Apple OS X 「辞書」サービスからアノテーションを取得する,  Up: 注釈 (アノテーション)

5.11.6 Wikipedia/Wiktionary からアノテーションを取得する
--------------------------------------------------------

候補にアノテーションの登録がない場合、アノテーションに代えて Wiktionary
(http://ja.wiktionay.org/), Wikipedia (http://ja.wikipedia.org/) による
解説を表示することができます。他のアノテーションが変換時に自動的に 表示
されるのに対し、 Wikipedia/Wiktionary アノテーションは基本的にユーザ の
指示によって取得される点で異なります。

 ▼モードで候補を表示しているときに ‘C-i’ を押すと、
‘skk-annotation-other-sources’ で指定された順で解説を取得して エコーエリ
アに表示(1) します。

     B o k u j o u

     ----- Buffer: foo -----
     ▽ぼくじょう★
     ----- Buffer: foo -----

     <SPC>

     ----- Buffer: foo -----
     ▼牧場★
     ----- Buffer: foo -----

     C-i

     ----------------------------- Echo Area ------------------------------
     牧場（ぼくじょう）とは、ウシ、ウマなどの家畜を飼養する施設。訓読みされ
     てまきばと呼ばれることもある。
     ----------------------------- Echo Area ------------------------------

 エコーエリアに解説が表示されている最中に ‘C-o’ を押すと、 関数
‘browse-url’ を用いて、その解説の元となった URL をブラウズしま す。

 -- ユーザ変数: skk-annotation-wikipedia-key

     デフォルトは ‘C-i’ です。

 -- ユーザ変数: skk-annotation-browse-key

     デフォルトは ‘C-o’ です。eww で閲覧したい場合は、次のとおり設定して
     ください。

          (setq browse-url-browser-function 'eww-browse-url)

 -- ユーザ変数: skk-annotation-other-sources

     アノテーションを取得する SKK 辞書以外のソースを指定します。

   ---------- Footnotes ----------

   (1) 変数‘skk-show-tooltip’ が ‘non-nil’ の 場合、ツールティップで表示
します。


File: skk.info,  Node: 外部コマンドからアノテーションを取得する,  Next: 各種アノテーション機能を SKK の枠をこえて活用する,  Prev: Wikipedia/Wiktionary からアノテーションを取得する,  Up: 注釈 (アノテーション)

5.11.7 外部コマンドからアノテーションを取得する
-----------------------------------------------

外部コマンドからアノテーションを取得できます。

 -- ユーザ変数: skk-annotation-lookup-dict

     ‘Non-nil’ ならば、‘skk-annotation-dict-program’ に指定された外 部コ
     マンドからアノテーションを指定します。

 -- ユーザ変数: skk-annotation-dict-program

     アノテーションを取得するための外部コマンド名を指定します。

 -- ユーザ変数: skk-annotation-dict-program-arguments

     アノテーションを取得に使う外部コマンドに渡す引数を指定します。


File: skk.info,  Node: 各種アノテーション機能を SKK の枠をこえて活用する,  Prev: 外部コマンドからアノテーションを取得する,  Up: 注釈 (アノテーション)

5.11.8 各種アノテーション機能を SKK の枠をこえて活用する
--------------------------------------------------------

前述した各種外部アノテーション (lookup.el + EPWING 辞書、 Apple OS X 辞
書、 Wikipedia/Wiktionary) は、SKK の変換モードだけでなく Emacs のあらゆ
る状 況で辞書引き機能として使うことができます。そのためには、コマンド
‘skk-annotation-lookup-region-or-at-point’ を任意にキー定義します。

 -- Function: コマンド skk-annotation-lookup-region-or-at-point
          &optional PREFIX-ARG START END

     このコマンドは、領域が指定されていればその領域の文字列をキーワード
     として Lookup.el, OS X 辞書サービス、または Wikipedia/Wiktionary ア
     ノテーション を探し、表示します。領域が指定されていなければ、可能な
     範囲でその位置にあ る単語 (始点と終点) を推測します。

 一例として、以下のキー割当を紹介します。

     (global-set-key "\M-i" 'skk-annotation-lookup-region-or-at-point)

このようにしておくと、何かの意味が調べたくなったとき、領域選択して ‘M-i’
とタイプすればその場で辞書を引くことができます。

さらに、ユーザオプション ‘skk-annotation-other-sources’ の 3 番 目
(Apple OS X では 4 番目) は標準で ‘en.wiktionary’ になっています。 例え
ば、英文を読んでいて buffer という語の正確な意味を参照したくなったと し
ます。そのときは 単語 buffer にポイントを合わせ、‘M-3 M-i’ (Max OS X で
は ‘M-4 M-i’) とプレフィックス付でコマンドを実行してみて ください。(1)

     ----- Buffer: *scratch* -----
     ;; This buffer★ is for notes you don't want to save, and for ...
     ----- Buffer: *scratch* -----

     M-3 M-i (Max OS X では M-4 M-i)

すると SKK モードでのアノテーションと同様、以下のような説明が表示されま
す。

     -------------------- Echo Area --------------------
      English, Noun
     buffer (plural&#160;buffers)
      1: Someone or something that buffs.
      2: (chemistry) A solution used to stabilize the pH (acidity) of a
      liquid.
      3: (computing) A portion of memory set aside to store data, often
      before it is sent to an external device or as it is received from an
      external device.
     [...]
     -------------------- Echo Area --------------------

   ---------- Footnotes ----------

   (1) ‘skk-annotation-other-sources’ の標準の値は環境 によって異なりま
す。‘lookup.el’ と ‘skk-lookup.el’ の設定が有 効になっている場合は
‘en.wiktionary’ は 4 番目 (Apple OS X では５番 目) になります。


File: skk.info,  Node: 文字コード関連,  Next: DDSKK 以外のツールを用いた辞書変換,  Prev: 注釈 (アノテーション),  Up: 便利な応用機能

5.12 文字コード関連
===================

* Menu:

* 文字コードまたはメニューによる文字入力::
* メニューによる文字入力::
* 文字コード一覧::
* 文字コードを知る方法::

関連項目 *Note 辞書バッファの文字コードの設定::.


File: skk.info,  Node: 文字コードまたはメニューによる文字入力,  Next: メニューによる文字入力,  Up: 文字コード関連

5.12.1 文字コードまたはメニューによる文字入力
---------------------------------------------

かなモードで ‘\’ キーを入力すると、ミニバッファに
     ---------------------------- Minibuffer -----------------------------
     ○○の文字を指定します。7/8 ビット JIS コード (00nn), 区点コード (00-00),
     UNICODE (U+00nn), または [RET] (文字一覧): ★
     ---------------------------- Minibuffer -----------------------------

というプロンプトが表示され、文字コード（JIS コード、EUC コードまたは区点
番号） またはメニューによる文字入力が促されます。

 上記例示の○○部分は 変数 ‘skk-kcode-charset’ の値であり、 その初期値は
‘japanese-jisx0208’ 又は ‘japanese-jisx0213-1’ です。 初期値は環境によっ
て自動的に設定されます。 キー ‘\’ の代わりに ‘C-u \’ と入力すると、異な
る文字集合 (charset) を指定す る事ができます。

 ここで、文字コードがあらかじめ分かっている場合には、その文字コードを入
力 します。例えば ‘℃’ の文字コードは、JIS コードでは ‘216e’、EUC コード
では ‘a1ee’ なので、いずれかの文字コードを入力すれば ‘℃’ が現在のバッフ
ァに挿入されます。

 区点番号で入力するには ‘01-78’ のように区と点の間にハイフン ‘-’ を 入れ
る必要があります。ハイフン ‘-’ で区切った３組の数字は JIS X 0213 の ２面
を指定したとみなします。例えば ‘2-93-44’ で「魚花」（ほっけ）が入力 でき
ます。


File: skk.info,  Node: メニューによる文字入力,  Next: 文字コード一覧,  Prev: 文字コードまたはメニューによる文字入力,  Up: 文字コード関連

5.12.2 メニューによる文字入力
-----------------------------

文字コードが不明の文字を入力するには、文字コードを入力せずにそのまま
<RET> キーを入力します。するとミニバッファに以下のような表示が現れま す
。

     ---------------------------- Minibuffer -----------------------------
     A:　  S:￣  D:〜  F:｝  G:＝  H:¢  Q:◆  W:　  E:∩  R:　  T:≡  Y:
     ---------------------------- Minibuffer -----------------------------

 これを「第１段階のメニュー」と呼びます。第１段階のメニューでは、JIS 漢
字を コードの順に 16 文字毎に１文字抽出し、ミニバッファに一度に 12 文字
ずつ 表示しています (1)。ここで <SPC> を入力する と次の候補群を表示しま
す (2)。 ‘x’ を入力すると１つ前の候補群に戻ります。

 キー ‘a’, ‘s’, ‘d’, ‘f’, ‘g’, ‘h’, ‘q’, ‘w’, ‘e’, ‘r’, ‘t’, ‘y’ のいず
れかを 入力すると (3) 、そのキーに対応する文字から始まる 16 個の文字が文
字コード順に表示されま す。これを「第２段階のメニュー」と呼びます。例え
ば、第１段階のメニュ ーが上記の状態のときに ‘d’ を入力すると 第２段階の
メニューは以下のよ うになります。

     --------------------------------- Minibuffer ----------------------------------
     A:〜 S:‖ D:｜ F:… G:‥ H:‘ J:’ K:“ L:” Q:（ W:） E:〔 R:〕 T:［ Y:］ U:｛
     --------------------------------- Minibuffer ----------------------------------

 ここで、キー ‘a’, ‘s’, ‘d’, ‘f’, ‘g’, ‘h’, ‘j’, ‘k’, ‘l’, ‘q’, ‘w’,
‘e’, ‘r’, ‘t’, ‘y’, ‘u’, のいずれかを 入力すると、対応する文字がカレント
バッファに挿入されてメニューによる入力 が終了します。

 第２段階のメニューが表示されているときも <SPC> と ‘x’ キーによ り第２段
階のメニューが前進、後退します。

 また ‘<’、‘>’ によりメニューを１文字分だけ移動します。例えば、 第２段階
のメニューが上記の状態のときに ‘<’ を入力すると、メニューは 以下のように
なります。

     --------------------------------- Minibuffer ----------------------------------
     A:＼ S:〜 D:‖ F:｜ G:… H:‥ J:‘ K:’ L:“ Q:” W:（ E:） R:〔 T:〕 Y:［ U:］
     --------------------------------- Minibuffer ----------------------------------

 第１段階あるいは第２段階のメニューが表示されているときに ‘?’ を入 力す
ると、そのときのキー ‘A’ に対応する文字 (上記の例では、‘＼’) の文字コー
ドが表示されます。

 -- ユーザ変数: skk-kcode-method

     ‘\’ の打鍵で起動する ‘skk-input-by-code-or-menu’ の挙動を調節します
     。

     ‘'char-list’
          ‘\’ の打鍵で「文字コード一覧」（skk-list-chars）を起動します。

     ‘'code-or-char-list’
          ‘\’ の打鍵で「文字コード」（skk-input-by-code）を起動します。
          JIS コード/区点コード入力プロンプトの表示に対して単に <RET> を
          タイプした場合、 「文字コード一覧」（skk-list-chars）を起動し
          ます。

     ‘'this-key’
          ‘\’ の打鍵で ‘\’ を挿入します。

     ‘上記シンボル以外’
          ‘\’ の打鍵で「文字コード」（skk-input-by-code）を起動します。
          JIS コード/区点コード入力プロンプトの表示に対して単に <RET> を
          タイプした場合、 「メニュー入力」を起動します。

   ---------- Footnotes ----------

   (1) 上記の例では、JIS コード 2121 (全角スペース)、2131、2141、2151、
... の文字がそれぞれ表示されています。

   (2) 文字コードの値を 16x12 ≡192 ずつ増やします。

   (3) 大文字でも小文字でも構いません。なお、第１段階・第２段階とも に、
メニューのキーを変更することができます。 *note 候補の選択に用いるキー::
を参照してください。


File: skk.info,  Node: 文字コード一覧,  Next: 文字コードを知る方法,  Prev: メニューによる文字入力,  Up: 文字コード関連

5.12.3 文字コード一覧
---------------------

‘M-x skk-list-chars’ と実行すると、変数 ‘skk-kcode-charset’ が指 す文字
集合に従ってバッファ ‘*skk-list-chars*’ に文字の JIS コード一 覧が表示さ
れます。

 プレフィックス付きで、つまり ‘C-u M-x skk-list-chars’ と実行すると、 カ
ーソル位置の文字に照準をあわすようコード一覧を表示します。

     -------------------- *skk-list-chars* --------------------
     variable skk-kcode-charset's value is `japanese-jisx0208'.

     01-#x--- 0-- 1-- 2-- 3-- 4-- 5-- 6-- 7-- 8-- 9-- A-- B-- C-- D-- E-- F
     　 2120 　　　　、　。　，　．　・　：　；　？　！　゛　゜　´　｀　¨
     　 2130 ＾　￣　＿　ヽ　ヾ　ゝ　ゞ　〃　仝　々　〆　〇　ー　—　‐　／
     　 2140 ＼　〜　‖　｜　…　‥　‘　’　“　”　（　）　〔　〕　［　］
     　 2150 ｛　｝　〈　〉　《　》　「　」　『　』　【　】　＋　−　±　×
     　 2160 ÷　＝　≠　＜　＞　≦　≧　∞　∴　♂　♀　°　′　″　℃　￥
     　 2170 ＄　¢　£　％　＃　＆　＊　＠　§　☆　★　○　●　◎　◇
     -------------------- *skk-list-chars* --------------------

‘f’
‘C-f’
‘l’
     カーソル移動

‘b’
‘C-b’
‘h’
     カーソル移動

‘n’
‘C-n’
‘j’
     カーソル移動

‘p’
‘C-p’
‘k’
     カーソル移動

‘C-x C-x’
     カーソル移動

‘\’
‘o’
     文字集合の切り替え

‘c’
     文字コード入力

‘i’
‘RET’
     文書バッファへ文字を挿入

‘q’
     skk-list-chars を抜ける。

‘$’
     カーソル位置の文字の文字コードを表示

 ほか、Emacs のコマンド ‘M-x list-charset-chars’ や ‘C-x 8 RET’ も有用で
しょう。

 -- ユーザ変数: skk-list-chars-table-header-face
     コード一覧の枠線などに適用するフェイスです。

 -- ユーザ変数: skk-list-chars-face
     プレフィックス付きで実行したときの照準のフェイスです。


File: skk.info,  Node: 文字コードを知る方法,  Prev: 文字コード一覧,  Up: 文字コード関連

5.12.4 文字コードを知る方法
---------------------------

かな/カナモードで ‘$’ を入力する (1) と、現在のポイント位置の直後にある
文字の文字コードをエコーエリア(2) に表示します。

 例えば、カーソルを文字 ‘А’ の上に置いて ‘$’ を入力すると、

     -------------------- Echo Area --------------------
     `А',KUTEN:07-01, JIS:#x2721, EUC:#xa7a1, SJIS:#x8440, UNICODE:U+0410, キリール大文字A,CYRILLIC CAPITAL LETTER A
     -------------------- Echo Area --------------------

とエコーエリアに表示され、この文字がキリル文字であることがわかります。

 ほか、 Emacs のコマンド ‘M-x describe-char’ も(3)有用でしょう。

 -- ユーザ変数: skk-display-code-prompt-face
     エコーエリアに表示されるメッセージ中 ‘KUTEN:’、‘JIS:’‘EUC:’、
     ‘SJIS:’ 及び ‘UNICODE:’ に適用するフェイスです。

 -- ユーザ変数: skk-display-code-char-face
     エコーエリアに表示されるメッセージ中の当該文字に適用するフェイスで
     す。

 -- ユーザ変数: skk-display-code-tankan-radical-face
     エコーエリアに表示されるメッセージ中の総画数表示に適用するフェイス
     です。

 -- ユーザ変数: skk-display-code-tankan-annotation-face
     エコーエリアに表示されるメッセージ中の文字名表示に適用するフェイス
     です。

   ---------- Footnotes ----------

   (1) リードオンリーなバッファでは ‘M-x
skk-display-code-for-char-at-point’ を実行してください。

   (2) 変数 ‘skk-show-tooltip’ が ‘non-nil’ であればツールティップで表示
します。 変数 ‘skk-show-candidates-always-pop-to-buffer’ が ‘non-nil’ で
あれば other-window に表示します。‘skk-show-tooltip’ が優先します。

   (3) Emacs 21 では ‘M-x describe-char-after’ です。


File: skk.info,  Node: DDSKK 以外のツールを用いた辞書変換,  Next: 飾りつけ,  Prev: 文字コード関連,  Up: 便利な応用機能

5.13 DDSKK 以外のツールを用いた辞書変換
=======================================

* Menu:

* skk-lookup::                  Lookup を用いた辞書変換
* skk-look::                    look コマンドを用いた辞書変換
* Lisp シンボル名の補完検索変換::
* Google CGI API for Japanese Input を利用したかな漢字変換::


File: skk.info,  Node: skk-lookup,  Next: skk-look,  Up: DDSKK 以外のツールを用いた辞書変換

5.13.1 skk-lookup
-----------------

‘skk-lookup.el’ を使用すると、辞書検索ツールの Lookup
(<http://openlab.jp/edict/lookup/>) で検索できる辞書を用いて単語 の候補
を出すことができるようになります (1)。

 DDSKK のインストール過程で ‘(require 'lookup)’ が成功する場合は
‘skk-lookup.el’ も自動的にインストールされます。 まずは ‘make
what-where’ を実行して、‘SKK modules:’ 欄 に ‘skk-lookup’ が含まれている
ことを確認してください。

 Lookup がインストールされているにも関わらず、うまく ‘skk-lookup.el’ が
インストールされない場合は、‘SKK-CFG’ を編集して ‘lookup.el’ が置かれて
いるパスを ‘ADDITIONAL_LISPDIR’ に設定し、再度 DDSKK をイ ンストールして
下さい (2)。

 ‘~/.skk’ に以下のように設定します。

     (setq skk-search-prog-list
           (append skk-search-prog-list
                   (list
                    '(skk-lookup-search))))

‘skk-lookup-search’ は、 DDSKK が用意している検索プログラムの中で最 も遅
いものです。したがって、‘skk-search-prog-list’ の設定にあっては 辞書サー
バの検索 (‘skk-search-server’) よりも後方に置くよう設定します。

 Lookup の agent で利用するのは、 ‘lookup-search-agents’ から ‘ndkks’,
‘ndcookie’ 及び ‘ndnmz’ を取り去ったものです (3)。

   ---------- Footnotes ----------

   (1) ‘skk-lookup.el’ は ‘skk-look.el’ とは別ものです。

   (2) 関数 ‘skk-lookup-search’ が ‘skk-autoloads.el’ に 追加されます
(*note 辞書検索のための関数::).

   (3) ‘skk-lookup-search-agents’ にセットして検索するように しています
。Lookup とは異なる設定をする場合、この変数の設定を変更すれば 可能です


File: skk.info,  Node: skk-look,  Next: Lisp シンボル名の補完検索変換,  Prev: skk-lookup,  Up: DDSKK 以外のツールを用いた辞書変換

5.13.2 skk-look
---------------

‘skk-look.el’ は、 ‘look’ コマンドを使って次の 3 つの機能を提供します
(1)。

* Menu:

* 英単語の補完::
* 英単語をあいまいに変換して取り出す::
* 英単語をあいまいに変換して取り出した後、更に再帰的な英和変換を行う::

   ---------- Footnotes ----------

   (1) ‘skk-look.el’ は ‘skk-lookup.el’ とは名前が似てい ますが全くの別
ものです


File: skk.info,  Node: 英単語の補完,  Next: 英単語をあいまいに変換して取り出す,  Up: skk-look

5.13.2.1 英単語の補完
.....................

‘skk-use-look’ を ‘non-nil’ に設定すると ‘skk-look.el’ が使用できるよう
になります。

 例えば、 ‘~/.skk’ で以下のように設定します。

     (setq skk-use-look t)

SKK abbrev モードが拡張されて、‘look’ コマンドを使用した補完が有効 にな
ります。

     / a b s t r

     ------ Buffer: foo ------
     ▽abstr★
     ------ Buffer: foo ------

     <TAB>

     ------ Buffer: foo ------
     ▽abstract★
     ------ Buffer: foo ------


 と補完してくれます。通常の補完と同様に ‘.’ で次の補完候補に、‘,’ で ひ
とつ前の補完候補に移動できます。

 SKK 形式の英和辞書(1)があれば、ここから <SPC> を押して英和変換ができま
す。

   ---------- Footnotes ----------

   (1) SKK 形式の英和辞書 edict が提供されています。 *Note 辞書の入手::.


File: skk.info,  Node: 英単語をあいまいに変換して取り出す,  Next: 英単語をあいまいに変換して取り出した後、更に再帰的な英和変換を行う,  Prev: 英単語の補完,  Up: skk-look

5.13.2.2 英単語をあいまいに変換して取り出す
...........................................

見出し語にアスタリスク ‘*’ を入れて <SPC> を押すと英単語をあいまい にし
て変換できます。


     ------ Buffer: foo ------
     ▽abstr★
     ------ Buffer: foo ------

     <SPC>

     ------ Buffer: foo ------
     ▼abstract★
     ------ Buffer: foo ------


 確定すると、‘abstr*’ を見出し語と、‘abstract’ を候補とする エントリが個
人辞書に追加されます。このようなエントリを追加したくない場合、 ユーザ変
数 ‘skk-search-excluding-word-pattern-function’ を適切に 設定します。

 例えば次のような設定です。

     (add-hook 'skk-search-excluding-word-pattern-function
               ;; 返り値が non-nil の時、個人辞書に取り込まない。
               ;; KAKUTEI-WORD を引数にしてコールされるので、不要でも引数を取る
               ;; 必要あり
               (lambda (kakutei-word)
                   (and skk-abbrev-mode
                        (save-match-data
                          ;; SKK-HENKAN-KEY が "*" で終わるとき
                          (string-match "\\*$" skk-henkan-key)))))


File: skk.info,  Node: 英単語をあいまいに変換して取り出した後、更に再帰的な英和変換を行う,  Prev: 英単語をあいまいに変換して取り出す,  Up: skk-look

5.13.2.3 英単語をあいまいに変換して取り出した後、更に再帰的な英和変換を行う
...........................................................................

SKK 辞書に

        abstract /アブストラクト/抽象/
        abstraction /アブストラクション/

というエントリがあるとして解説します (1)。

 変数 ‘skk-look-recursive-search’ の値を ‘non-nil’ にセットして 下さい。

     ▽abstr*

     <SPC>

     ▼abstract

     <SPC>

     ▼アブストラクト

     <SPC>

     ▼抽象

     <SPC>

     ▼abstraction

     <SPC>

     ▼アブストラクション

このように英単語 + その英単語を見出し語にした候補の「セット」を変換 結果
として出力することができます。

 -- ユーザ変数: skk-look-expanded-word-only

     この変数の値が ‘non-nil’ であれば、再帰検索に成功した英単語の「セッ
     ト」だけを出力することができます。再帰検索で検出されなかった英単語
     は無視 して出力しません。

   ---------- Footnotes ----------

   (1) edict 辞書 ‘SKK-JISYO.edict’ があれば、例えば、

     (setq skk-search-prog-list
           (append skk-search-prog-list
                   (list
                    '(skk-search-jisyo-file "/your-path/SKK-JISYO.edict" 0 t))))

のように設定することにより、 edict 辞書を使用できます。


File: skk.info,  Node: Lisp シンボル名の補完検索変換,  Next: Google CGI API for Japanese Input を利用したかな漢字変換,  Prev: skk-look,  Up: DDSKK 以外のツールを用いた辞書変換

5.13.3 Lisp シンボル名の補完検索変換
------------------------------------

SKK abbrev モードにて、Lisp シンボル名を補完して検索し、検索結果を候補と
して返すことができます。英文字の後ろに ‘~’ を付加してから変換を開始 して
ください。

 まずは動作例を示します。

     / d e f i ~

     ----- Buffer: foo -----
     ▽defi~★
     ----- Buffer: foo -----

     <SPC>

     ----- Buffer: foo -----
     ▽defimage★
     ----- Buffer: foo -----

     <SPC>

     ----- Buffer: foo -----
     ▽define-abbrev★
     ----- Buffer: foo -----

     <SPC>

     ----- Buffer: foo -----
     ▽define-abbrev-table★
     ----- Buffer: foo -----

     <SPC>

     ----- Buffer: foo -----
     ▽define-abbrevs★
     ----- Buffer: foo -----

     <SPC>

     ----- Buffer: *候補* -----
     A:define-auto-insert
     S:define-category
     D:define-ccl-codepoint-translation-table
     F:define-ccl-constant-translation-table
     J:define-ccl-identity-translation-table
     K:define-ccl-program
     L:define-ccl-slide-translation-table
     ----- Buffer: *候補* -----

 この機能を有効とするには、リスト ‘skk-search-prog-list’ の要素に 関数
‘skk-search-lisp-symbol’ を加えてください。

     (add-to-list 'skk-search-prog-list
     	     '(skk-search-lisp-symbol) t)

 なお、見出し語に ‘~’ を含む辞書もあります。例えば ‘SKK-JISYO.JIS3_4’ に
は
     A~ /チルド付きA(LATIN CAPITAL LETTER A WITH TILDE)/
 と登録(1)されています。 したがって、▽A~ <SPC> と変換したときに「チルド
付きA」が表示されるか、Lisp シンボル名が補完されるかは、リスト
‘skk-search-prog-list’ 内の要素の順によります。

 -- Function: skk-search-lisp-symbol &optional PREDICATE NOT-ABBREV-ONLY
          WITHOUT-CHAR-MAYBE
     オプション ‘PREDICATE’ で補完検索する範囲（関数名、変数名、コマンド
     名）を限定することができます。 詳細は docstring を参照してください
     。

 -- ユーザ変数: skk-completion-search-char
     ‘skk-completion-search’ による変換機能を指示するキーキャラクタ。 デ
     フォルトは ‘~’ です。

   ---------- Footnotes ----------

   (1) 実際には JIS X 0213 の1面9区26点の1文字が登録されています。 この
文字を ‘skk.texi’ に直接記載するのは避けました。


File: skk.info,  Node: Google CGI API for Japanese Input を利用したかな漢字変換,  Prev: Lisp シンボル名の補完検索変換,  Up: DDSKK 以外のツールを用いた辞書変換

5.13.4 Google CGI API for Japanese Input を利用したかな漢字変換
---------------------------------------------------------------

かな漢字変換に Google CGI API for Japanese Input を利用することができま
す。 連文節変換も可能となります。

 Google CGI API for Japanese Input については、次の URL を参照してくださ
い。

 <http://www.google.co.jp/ime/cgiapi.html>

 まず、‘~/.skk’ にて、変数 ‘skk-use-search-web’ を ‘non-nil’ に 設定しま
す。これにより、skk-mode を起動した際に ‘skk-search-web.el’ を require す
るようになります。

 同じく ‘~/.skk’ にて、リスト ‘skk-search-prog-list’ の一番最後 の要素と
して、関数 ‘skk-search-web’ を追加します。

     (add-to-list 'skk-search-prog-list
                  '(skk-search-web 'skk-google-cgi-api-for-japanese-input)
                  t)

 以上の設定によって、通常のかな漢字変更の候補が尽きたときに関数
‘skk-search-web’ が 実行され、Google CGI API for Japanese Input による変
換結果が表示されます。

 そのほか、変数 ‘skk-read-from-minibuffer-function’ を以下のように設 定
することで、辞書登録モードへの突入時の初期値に Google サジェストを表示す
ることもできます。

     (setq skk-read-from-minibuffer-function
           (lambda ()
              (car (skk-google-suggest skk-henkan-key))))


File: skk.info,  Node: 飾りつけ,  Next: ユーザガイダンス関連,  Prev: DDSKK 以外のツールを用いた辞書変換,  Up: 便利な応用機能

5.14 飾りつけ
=============

* Menu:

* 仮名文字のローマ字プレフィックスのエコー::
* 入力モードを示すモードラインの文字列の変更::
* 入力モードを示すカーソル色に関する設定::
* 変換候補一覧の表示方法::
* ▼モードにおける変換候補のハイライト表示::
* 変換候補の更なる装飾::
* モードラインの装飾::


File: skk.info,  Node: 仮名文字のローマ字プレフィックスのエコー,  Next: 入力モードを示すモードラインの文字列の変更,  Up: 飾りつけ

5.14.1 仮名文字のローマ字プレフィックスのエコー
-----------------------------------------------

 -- ユーザ変数: skk-echo

     この変数の値は、仮名文字のローマ字プレフィックス (1) のエコーの有無
     を制御します。

 変数 ‘skk-echo’ の値が ‘non-nil’ であれば、仮名文字のローマ字 プレフィ
ックスが、入力時点でいったん現在のバッファに挿入され、続く母音の入 力の
際に、かな文字に変換された時点で現在のバッファから消去されます。

     t

     ------ Buffer: foo ------
     t★
     ------ Buffer: foo ------

     a

     ------ Buffer: foo ------
     た★
     ------ Buffer: foo ------

 変数 ‘skk-echo’ の値が ‘nil’ であれば、仮名文字のローマ字プレ フィック
スのエコーは行われません。これを上記の例で考えると、‘t’ が現 在のバッフ
ァに挿入されず、続く母音 (‘a’) が入力されたとき ‘た’ の文字が挿入されま
す。

 -- ユーザ変数: skk-prefix-hiragana-face

     かなモードにおけるローマ字プレフィックスのフェイスを指定します。

 -- ユーザ変数: skk-prefix-katakana-face

     カナモードにおけるローマ字プレフィックスのフェイスを指定します。

 -- ユーザ変数: skk-prefix-jisx0201-face

     JIS X 0201 モードにおけるローマ字プレフィックスのフェイスを指定しま
     す。

   ---------- Footnotes ----------

   (1) *Note ローマ字プレフィックス: 送りありエントリと送りなしエントリ.


File: skk.info,  Node: 入力モードを示すモードラインの文字列の変更,  Next: 入力モードを示すカーソル色に関する設定,  Prev: 仮名文字のローマ字プレフィックスのエコー,  Up: 飾りつけ

5.14.2 入力モードを示すモードラインの文字列の変更
-------------------------------------------------

下記の変数の値を変更することによって、モードライン上の「入力モードを示す
文字 列」を変更することができます(1)。

 -- ユーザ変数: skk-latin-mode-string
     アスキーモードを示す文字列。標準は、“SKK”。

 -- ユーザ変数: skk-hiragana-mode-string
     かなモードを示す文字列。標準は、“かな”。

 -- ユーザ変数: skk-katakana-mode-string
     カナモードを示す文字列。標準は、“カナ”。

 -- ユーザ変数: skk-jisx0208-latin-mode-string
     全英モードを示す文字列。標準は、“全英”。

 -- ユーザ変数: skk-abbrev-mode-string
     SKK abbrev モードを示す文字列。標準は、“aあ”。

   ---------- Footnotes ----------

   (1) skk-show-mode の表示も連動します。


File: skk.info,  Node: 入力モードを示すカーソル色に関する設定,  Next: 変換候補一覧の表示方法,  Prev: 入力モードを示すモードラインの文字列の変更,  Up: 飾りつけ

5.14.3 入力モードを示すカーソル色に関する設定
---------------------------------------------

 -- ユーザ変数: skk-use-color-cursor
     この変数が ‘non-nil’ ならば、カーソルを色付けします。‘nil’ ならば、
     この機能を無効にします。

     標準では、ウィンドウシステムを使用して、かつ、色表示が可能な場合に
     限 って、この機能が有効になります。

 この機能が有効になっているとき、以下の変数の値を変更することで、各モー
ド におけるカーソルの色を変更できます。

 -- ユーザ変数: skk-cursor-default-color
     SKK モードがオフであることを示すカーソル色。標準では、カーソルのあ
     る該当 フレームにおける標準のカーソル色を使います。

 -- ユーザ変数: skk-cursor-hiragana-color
     かなモードであることを示すカーソル色。標準は、背景の明暗により
     coral4 また は pink です。

 -- ユーザ変数: skk-cursor-katakana-color
     カナモードであることを示すカーソル色。標準は、背景の明暗により
     forestgreen また は green です。

 -- ユーザ変数: skk-cursor-jisx0201-color
     JIS X 0201 モードであることを示すカーソル色。標準は、背景の明暗によ
     り blueviolet また は thistle です。

 -- ユーザ変数: skk-cursor-jisx0208-latin-color
     全英モードであることを示すカーソル色。標準は、gold です。

 -- ユーザ変数: skk-cursor-latin-color
     アスキーモードであることを示すカーソル色。標準は、背景の明暗により
     ivory4 また は gray です。

 -- ユーザ変数: skk-cursor-abbrev-color
     skk abbrev モードであることを示すカーソル色。標準は、royalblue です
     。


File: skk.info,  Node: 変換候補一覧の表示方法,  Next: ▼モードにおける変換候補のハイライト表示,  Prev: 入力モードを示すカーソル色に関する設定,  Up: 飾りつけ

5.14.4 変換候補一覧の表示方法
-----------------------------

変換候補一覧の表示方法は、次の４つに大別されます。

   • 現在のウィンドウにインライン表示する
   • ツールティップで表示する
   • 現在のウィンドウの隣に別なウィンドウを開いて表示する (ポップアップ)
   • エコーエリアに表示する

 ここではその表示方法の制御について解説します。

 -- ユーザ変数: skk-show-inline

     この変数の値が ‘non-nil’ であれば、候補一覧を現在のポイント位置でイ
     ンライン表 示します。 値が シンボル ‘'vertical’ であれば、各候補を
     縦方向にインライン表示します。

      -- ユーザ変数: skk-inline-show-face
          インライン表示する変換候補を装飾するフェイスを指定します。デフ
          ォルト は ‘'underline’ です。

               (setq skk-inline-show-face 'font-lock-doc-face)

          ‘skk-treat-candidate-appearance-function’ による装飾を優先する
          には ‘nil’ に設定して下さい。

      -- ユーザ変数: skk-inline-show-background-color
          インライン表示する変換候補の背景色を指定します。

          ‘skk-inline-show-face’ または
          ‘skk-treat-candidate-appearance-function’ にて、背景色が指定さ
          れてい ない文字に対してのみ作用します。

      -- ユーザ変数: skk-inline-show-background-color-odd
          インライン表示する変換候補の背景色（奇数ライン）を指定します。

 -- ユーザ変数: skk-show-tooltip
     この変数の値が ‘non-nil’ であれば、候補一覧をツールティップで表示し
     ます。同時に、「注釈 (アノテーション) の表示方法」と「文字コードの
     表示方 法」も制御します。

     *Note 注釈 (アノテーション)::.

     *Note 文字コードまたはメニューによる文字入力::.

      -- ユーザ変数: skk-tooltip-face
          ツールティップ表示する文字列に適用するフェイスを指定する変数で
          す。

               (setq skk-tooltip-face 'font-lock-doc-face)
               ;; (make-face 'skk-tooltip-face) ではないことに注意

          候補文字列のフェイス属性（
          ‘skk-treat-candidate-appearance-function’ による加工など）をそ
          のまま使いたい場合は ‘nil’ に設定して下さい。

      -- ユーザ変数: skk-tooltip-mouse-behavior

          ツールティップを表示する位置及びマウスポインタの挙動を指定しま
          す。 下記に掲げるシンボル以外のシンボルを指定した場合は ‘nil’
          となります。

          ‘'follow’
               マウスポインタをカーソル位置へ移動させてツールティップを
               表示します。 ツールティップの表示を終えるとマウスポインタ
               は元の位置へ戻ります。ただし、元のマウスポインタが Emacs
               フレーム外であったならばツールティップの表示を終えてもマ
               ウスポインタはカーソル位置のままです。

          ‘'banish’
               マウスポインタを Emacs フレーム右上隅へ移動させてツールテ
               ィップを表示します。 ツールティップの表示を終えもてマウス
               ポインタは Emacs フレーム右上隅のままです。

          ‘'avoid’
               マウスポインタを Emacs フレーム右上隅へ移動させてツールテ
               ィップを表示します。 ツールティップの表示を終えるとマウス
               ポインタは元の位置へ戻ります。ただし、元のマウスポインタ
               が Emacs フレーム外であったならばツールティップの表示を終
               えてもマウスポインタは Emacs フレーム右上隅のままです。

          ‘'avoid-maybe’
               マウスポインタが Emacs フレーム内であれば ‘'avoid’ と同じ
               動作です。 マウスポインタが Emacs フレーム外であればマウ
               スポインタ位置を変更せず、その位置にツールティップを表示
               します。

          ‘nil’
               マウスポインタを一切移動せず、その位置にツールティップを
               表示します。 ツールティップのテキストとマウスポインタが重
               なったり、うまくツールティップが表示できなかったりする場
               合があります。

      -- ユーザ変数: skk-tooltip-hide-delay

          ツールティップを表示する秒数。デフォルトは 1,000秒。この時間が
          経過すると、 ツールティップは自動的に消える。

      -- ユーザ変数: skk-tooltip-parameters

          デフォルトは ‘nil’。SKK 独自のフレームパラメータを設定する。
          ‘nil’ の場合、‘tooltip-frame-parameters’ が適用される。

 -- ユーザ変数: skk-show-candidates-always-pop-to-buffer
     この値が ‘non-nil’ であれば、画面を上下に分割したうえで、変換一覧を
     専用 の「*候補*バッファ」で表示します。

     候補一覧表示中に、この値を動的に切り換える手段が用意されています。

      -- ユーザ変数: skk-show-candidates-toggle-display-place-char
          デフォルトは ‘C-f’ です。このキーを候補一覧表示時にタイプする
          と、候補 一覧の表示位置をエコーエリアとバッファとで切り替えま
          す。

      -- ユーザ変数: skk-candidate-buffer-background-color
          *候補*バッファの背景色を指定します。 背景色を付けたくない場合
          は ‘nil’ を指定すること（デフォルト）。

      -- ユーザ変数: skk-candidate-buffer-background-color-odd
          *候補*バッファの背景色（奇数ライン）を指定します。

デフォルトでは３つの変数

   • ‘skk-show-inline’
   • ‘skk-show-tooltip’
   • ‘skk-show-candidates-always-pop-to-buffer’

 とも ‘nil’ であり、この状態では候補一覧はエコーエリアに表示 (1) します
。

 もしも、これら変数のうち２つ以上が ‘non-nil’ の場合、優先順位は上記 の
解説の順です。

   ---------- Footnotes ----------

   (1) ‘frame-width’ が不足する場合は *候補*バッファに表示します。


File: skk.info,  Node: ▼モードにおける変換候補のハイライト表示,  Next: 変換候補の更なる装飾,  Prev: 変換候補一覧の表示方法,  Up: 飾りつけ

5.14.5 ▼モードにおける変換候補のハイライト表示
----------------------------------------------

 -- ユーザ変数: skk-use-face

     この変数の値が ‘non-nil’ であれば、Emacs のフェイス機能を使って変換
     候補をハイライト表示します。

     このハイライト表示には Emacs のオーバーレイ (overlay) の機能を使い
     ます (1)。

 -- ユーザ変数: skk-henkan-face

     この変数の値はフェイスであり、このフェイスによって変換候補がハイラ
     イト表 示されます。標準では、背景の明暗により “black/darkseagreen2”
     又は “white/darkolivegreen” を用います。

     なお、この変数よりも ‘skk-treat-candidate-appearance-function’ の設
     定が優先されます。

 変数 ‘skk-henkan-face’ には、既存のフェイス (2)を指定できま すが、新た
にフェイスを作ることもできます。そのために、以下の関数が用意さ れていま
す。

 -- Function: skk-make-face FACE

     形式: (skk-make-face FACE)

     この関数は、引数 FACE と同じ名前のフェイスを作成して、そのフェイス
     を返し ます。フェイスの前景色・背景色は、引数 FACE にスラッシュを含
     めることよっ て、例えば以下の例のように決定されます。

          (setq skk-henkan-face (skk-make-face 'DimGray/PeachPuff1))

     この場合、前景色は DimGray に、背景色は PeachPuff1 になります。

     もうひとつ例を挙げます。

          (setq skk-henkan-face (skk-make-face 'RosyBrown1))

     この場合、前景色は RosyBrown1 になります。背景色が無指定の場合はバ
     ッファ の背景色がそのまま見えます。

   ---------- Footnotes ----------

   (1) 以前のバージョンではテキスト属性 (text property) を使用してい ま
した。

 オーバーレイ属性はテキスト属性と異なり、テキストの一部とは見なされませ
ん。 そのため、テキストのコピーの際にオーバーレイ属性は保存されません。
その他 にも、オーバーレイの移動やその属性の変更はバッファの変更とは見な
されない こと、オーバーレイの変更はバッファのアンドゥリストに記録されな
いこと、な どが特徴として挙げられます。

   (2) Emacs 標準 では ‘default’, ‘modeline’, ‘region’,
‘secondary-selection’, ‘highlight’, ‘underline’, ‘bold’, ‘italic’,
‘bold-italic’ があります。


File: skk.info,  Node: 変換候補の更なる装飾,  Next: モードラインの装飾,  Prev: ▼モードにおける変換候補のハイライト表示,  Up: 飾りつけ

5.14.6 変換候補の更なる装飾
---------------------------

変換候補についてユーザの任意の加工を施すための変数を用意してあります。

 -- ユーザ変数: skk-treat-candidate-appearance-function

     この変数に適切な形式で関数を収めることによって、変換候補をユーザの
     任意に 加工することができます。「適切な形式」とは、次のとおりです。

       1. 引数を２つ取ること。

       2. 第１引数は文字列として扱うこと。これは加工前の文字列に相当する
          。

       3. 第２引数が ‘nil’ の時は通常の変換時、‘non-nil’ の時は候補一覧
          表 示時を表すものとして扱うこと。

       4. 返り値は次のいずれかとすること。

          ‘文字列’

               この場合、この文字列は候補と注釈を両方含みうるものとして
               処理される。

          ‘(候補 . 注釈)’

               この場合、候補はもう注釈を含まないものとして処理される。
               注釈については先 頭が ‘;’ かどうかを調べた上で処理される
               。

          ‘(候補 . (セパレータ . 注釈))’

               この場合、候補はもう注釈を含まないものとして処理される。
               セパレータは通常 の ‘;’ の代わりに利用される。注釈はもう
               セパレータを含まないものとして処 理される。

     ファイル ‘etc/dot.skk’ に設定例があるほか、サンプルとして関数
     ‘skk-treat-candidate-sample1’ と ‘skk-treat-candidate-sample2’ を用
     意してあります。 ファイル ‘~/.skk’ に次のいずれかを書いてみて変換候
     補の装飾を試して ください。

          (setq skk-treat-candidate-appearance-function
                'skk-treat-candidate-sample1)

          (setq skk-treat-candidate-appearance-function
                'skk-treat-candidate-sample2)


File: skk.info,  Node: モードラインの装飾,  Prev: 変換候補の更なる装飾,  Up: 飾りつけ

5.14.7 モードラインの装飾
-------------------------

* Menu:

* インジケータ::
* インジケータの装飾::
* アイコン::


File: skk.info,  Node: インジケータ,  Next: インジケータの装飾,  Up: モードラインの装飾

5.14.7.1 インジケータ
.....................

 -- ユーザ変数: skk-indicator-use-cursor-color

     DDSKK のインジケータをモードラインの左に表示 (1) している場合、イン
     ジケータの色がカーソルの色と同期します。 インジケータに色を付けたく
     ない場合は、この変数を ‘nil’ にします。

 *Note 入力モードを示すカーソル色に関する設定::.

 インジケータに独自色を使いたい場合は、以下のフェイス(2) を設定します。
この場合カーソルの色は参照されません。

 Emacs 21 以上 (3) の場合

   • ‘skk-emacs-hiragana-face’
   • ‘skk-emacs-katakana-face’
   • ‘skk-emacs-jisx0208-latin-face’
   • ‘skk-emacs-jisx0201-face’
   • ‘skk-emacs-abbrev-face’

 なお、インジケータを右クリックするとポップアップメニューが表示されます
。

   ---------- Footnotes ----------

   (1) デフォルトでは、左です。*Note 起動と終了::.

   (2) 変数 ‘window-system’ が ‘nil’ の場合は、これらフェイスは未定義と
なります。

   (3) 変数 ‘mule-version’ の値が 5.0 以上の Emacs


File: skk.info,  Node: インジケータの装飾,  Next: アイコン,  Prev: インジケータ,  Up: モードラインの装飾

5.14.7.2 インジケータの装飾
...........................

インジケータを装飾することができます。

 -- ユーザ変数: skk-indicator-prefix

     インジケータの接頭辞とする文字列を指定します。

 -- ユーザ変数: skk-indicator-suffix-func

     インジケータの接尾語とする文字列を返す関数を指定します。


File: skk.info,  Node: アイコン,  Prev: インジケータの装飾,  Up: モードラインの装飾

5.14.7.3 アイコン
.................

 -- ユーザ変数: skk-show-icon

     変数 ‘skk-show-icon’ の値を ‘non-nil’ と設定することにより、モー ド
     ラインに SKK のアイコンが表示されます(1)。

 -- ユーザ変数: skk-icon

     アイコンの画像ファイル ‘skk.xpm’ へのパス。 関数
     ‘skk-emacs-prepare-modeline-properties’ で定義しています。

   ---------- Footnotes ----------

   (1) ‘(image-type-available-p 'xpm)’ が ‘t’ を返す必要があるため、
Emacsen の実行環境に依存します。


File: skk.info,  Node: ユーザガイダンス関連,  Next: I-search関連,  Prev: 飾りつけ,  Up: 便利な応用機能

5.15 ユーザガイダンス関連
=========================

* Menu:

* エラーなどの日本語表示::
* 冗長な案内メッセージの表示::


File: skk.info,  Node: エラーなどの日本語表示,  Next: 冗長な案内メッセージの表示,  Up: ユーザガイダンス関連

5.15.1 エラーなどの日本語表示
-----------------------------

標準では、エラー、メッセージ及びミニバッファでのプロンプトは、英語で表示
されます。

 -- ユーザ変数: skk-japanese-message-and-error

     この変数の値を ‘non-nil’ に設定すると、エラー、メッセージ及びミニバ
     ッファでのプロンプトを日本語で表示します。標準では ‘nil’ です。

 -- ユーザ変数: skk-show-japanese-menu

     この変数の値を ‘non-nil’ に設定すると、メニューバーを日本語で表示し
     ます。

 -- ユーザ変数: skk-version-codename-ja

     この変数の値を ‘non-nil’ に設定すると、関数 ‘skk-version’ を評価し
     たと きのコードネームを日本語で表示します。


File: skk.info,  Node: 冗長な案内メッセージの表示,  Prev: エラーなどの日本語表示,  Up: ユーザガイダンス関連

5.15.2 冗長な案内メッセージの表示
---------------------------------

 -- ユーザ変数: skk-verbose

     この変数の値を ‘non-nil’ に設定すると、入力中／変換中に冗長なメッセ
     ージを表示します。

          (setq skk-verbose t)

▽モード

     ファンクションキー (<F1> 〜 <F10>) に割り当てられている機能を表示 し
     ます。変数 ‘skk-verbose’ の設定と同時に変数
     ‘skk-j-mode-function-key-usage’ を以下のように設定してみてください
     。

          (setq skk-j-mode-function-key-usage 'conversion)

     ▽モードにおいてキー入力が一定時間 (標準では 1.5 秒) なされなかった
     とき、 エコーエリアに以下のようなメッセージが表示されます。

          -------------------- Echo Area --------------------
          [F5]単漢字 [F6]無変換 [F7]カタカナ [F8]半角カナ [F9]全角ローマ [F10]ローマ
          -------------------- Echo Area --------------------

     この案内に従ってファンクションキーを押すことで、一時的に単漢字変換
     やカタ カナ変換を行うことができます。

▼モード

     Wikipedia アノテーション機能の使い方をメッセージで案内します。 変数
     ‘skk-verbose’ の設定と同時に変数 ‘skk-show-annotation’ を ‘non-nil’
     に設定してみてください。

          (setq skk-show-annotation t)

     ▼モードにおいてキー入力が一定時間 (標準では 1.5 秒) なされなかった
     とき、 エコーエリアに以下のようなメッセージが表示されます。

          -------------------- Echo Area --------------------
          {どれを参照?}[C-1 C-i]ja.wikipedia [C-2 C-i]en.wiktionary
          [C-3 C-i]simple.wikipedia [C-4 C-i]en.wikipedia [C-5 C-i]ja.wiktionary
          -------------------- Echo Area --------------------

     この案内に従って、例えば ‘C-1 C-i’ をタイプすると日本語 Wikipedia の
     該当記 事を調べて、あればその一部をアノテーションとして表示します。

     一方、現在の変換候補に対するアノテーションが既に表示されているとき
     は、 以下のメッセージが上記のものと交互に表示されます。

          -------------------- Echo Area --------------------
          {アノテーション}[C-w]コピー [C-o]URLブラウズ [C-i]デフォルトのソースを参照
          -------------------- Echo Area --------------------

     この案内に従って ‘C-w’ をタイプすればアノテーションの全文を kill
     ring に 保存して利用することができます。また ‘C-o’ を押した場合には
     、もし現 在のアノテーションが Wikipedia アノテーションであればその
     出典となる Wikipedia/Wiktionary のページをウェブブラウザで表示しま
     す。

 -- ユーザ変数: skk-verbose-wait
     冗長なメッセージを表示するまでの待ち時間 (秒)。標準は 1.5 秒です。

 -- ユーザ変数: skk-verbose-message-interval
     冗長なメッセージが複数ある場合の１メッセージあたり表示時間を秒で指
     定する。 標準は 5.0 秒です。 この時間が経過したら表示を次の冗長なメ
     ッセージに切り替えます。

 -- ユーザ変数: skk-verbose-intention-face
     「どれを参照?」と「アノテーション」に適用するフェイスです。

 -- ユーザ変数: skk-verbose-kbd-face
     ‘[F5]’ や ‘[C-1 C-i]’ に適用するフェイスです。


File: skk.info,  Node: I-search関連,  Next: VIP/VIPERとの併用,  Prev: ユーザガイダンス関連,  Up: 便利な応用機能

5.16 I-search関連
=================

* Menu:

* 起動時の入力モードの指定::
* 間に空白等を含む文字列の検索::


File: skk.info,  Node: 起動時の入力モードの指定,  Next: 間に空白等を含む文字列の検索,  Up: I-search関連

5.16.1 起動時の入力モードの指定
-------------------------------

 -- ユーザ変数: skk-isearch-start-mode

     インクリメンタル・サーチを起動したときの入力モードをこの変数で指定
     できます。 以下のいずれかのシンボルを指定できますが、変数
     ‘skk-isearch-use-previous-mode’ の 設定が優先されます。

     ‘nil’
          カレントバッファで SKK モードが起動されていれば、そのモードを
          。 起動されていなければアスキーモード。

     ‘hiragana’

          かなモード

     ‘jisx0208-latin’

          全英モード

     ‘latin’

          アスキーモード

 -- ユーザ変数: skk-isearch-use-previous-mode

     この変数の値が ‘non-nil’ であれば、次のインクリメンタル・サーチ起動
     時の入力モードは、前回のインクリメンタル・サーチでの入力モードにな
     ります。 ‘nil’ であれば、変数 ‘skk-isearch-start-mode’ の設定が優先
     され ます。


File: skk.info,  Node: 間に空白等を含む文字列の検索,  Prev: 起動時の入力モードの指定,  Up: I-search関連

5.16.2 間に空白等を含む文字列の検索
-----------------------------------

‘検索’ という文字列をインクリメンタル・サーチにより検索する場合に、 バッ
ファが以下のような状態になっていることがあります。

     -------- Buffer: foo --------
     この行末から始まる文字列を検
     索して下さい。
     -------- Buffer: foo --------

 このような場合のために、Emacs は正規表現によるインクリメンタル・サーチ
を 提供しています。DDSKK はこの正規表現によるインクリメンタル・サーチに
も対 応しているため、空白や改行を含んだ検索も可能です。

‘M-x isearch-forward-regexp’

     前方への正規表現によるインクリメンタル・サーチ。 ‘C-u C-s’ または
     ‘M-C-s’ で起動します。

‘M-x isearch-backward-regexp’

     後方への正規表現によるインクリメンタル・サーチ。 ‘C-u C-r’ または
     ‘M-C-r’ で起動します。

 -- ユーザ変数: skk-isearch-whitespace-regexp

     この変数の値は正規表現です。この正規表現にマッチする要素は「正規表
     現によ るインクリメンタル・サーチにおいては、単語を区切る要素ではな
     い」と判断さ れます。この変数のデフォルトは以下のようになっています
     。

          "\\(\\s \\|[ \t\n\r\f]\\)*"

     この変数の値を変更することで、正規表現 によるインクリメンタル・サー
     チを拡張することができます。例えば、電子メー ルの引用部分を検索する
     場合を考えます。

          > 引用部分も検
          > 索できる。

     上記のうち、「検索」という語は 2 行に渡っている上、引用マークが挿入
     さ れています。ここで

          (setq skk-isearch-whitespace-regexp "\\(\\s \\|[ \t\n\r\f<>|]\\)*")

     と設定することにより、「検索」を検索できるようになります。


File: skk.info,  Node: VIP/VIPERとの併用,  Next: picture-modeとの併用,  Prev: I-search関連,  Up: 便利な応用機能

5.17 VIP/VIPERとの併用
======================

 -- ユーザ変数: skk-use-viper

     この変数の値を ‘non-nil’ に設定すると、VIPER に対応します。

 VIPER については *note VIPER: (viper)Top.  を参照してください。

 また、VIPER の前身である VIP にも対応します。ただし、正式に対応している
バージョンは 3.5 のみです。これは Mule 2.3 に標準添付します (1)。

   ---------- Footnotes ----------

   (1) ちなみに、VIP 3.5 の作者は、SKK の原作者でもある佐藤雅彦氏（京 都
大学名誉教授）です。VIP 3.5 の発展版である VIPER は現在もメンテナンスさ
れています。Emacs19, 20 には、VIP 、VIPER とも標準添付します。


File: skk.info,  Node: picture-modeとの併用,  Prev: VIP/VIPERとの併用,  Up: 便利な応用機能

5.18 picture-modeとの併用
=========================

SKK モードを ‘picture-mode’ において使用した場合は、以下のような問 題点
があります。ただし、これらは ‘picture-mode’ の問題なので、現在 のところ
DDSKK 側では対処していません。

  1. SKK モードで全角文字を入力した場合に、<BS> で全角文字を消すことがで
     き ません。現状では、後方にある文字を消したい場合は、その文字にポイ
     ントを合 わせ、‘C-c C-d’ で一文字ずつ消す必要があります。

  2. コマンド ‘picture-movement-up’ や ‘picture-movement-down’ によ り上
     下に全角文字を挿入した場合に、桁がずれる場合があります。

 関数 ‘move-to-column-force’ の中で使用されている関数 ‘move-to-column’ の
引数として、全角文字を無視した桁数が与えられるこ とがあり、そのときカー
ソル移動ができないため、これらの問題が生じます。


File: skk.info,  Node: ローマ字入力以外の入力方式,  Next: そのほかの拡張機能,  Prev: 便利な応用機能,  Up: Top

6 ローマ字入力以外の入力方式
****************************

DDSKK は、SKK 旧来のローマ字式かな入力 (訓令式、ヘボン式) 方式のほか、各
種キー配列と入力方式に対応しています。

* Menu:

* AZIK::
* ACT::
* TUT-code::
* かな入力と親指シフト::


File: skk.info,  Node: AZIK,  Next: ACT,  Up: ローマ字入力以外の入力方式

6.1 AZIK
========

AZIK (エイズィック) は QWERTY 配列をベースとした拡張ローマ字入力です。 一
般のローマ字入力がそのまま使える上での拡張であることが特徴です。

 拡張ローマ字入力『ＡＺＩＫ』・『ＡＣＴ』で快適な日本語入力を！
(http://hp.vector.co.jp/authors/VA002116/azik/azikindx.htm)

 azik と skk で仕様が重なる部分があるため、‘skk-azik.el’ では以下のと お
り対応しています。
‘q’

     AZIK では撥音「ん」を入力するには ‘q’ を使うこととされていますが、
     skk で は既に ‘q’ に ‘skk-toggle-kana’ を割り当てています。

     そのため ‘skk-azik.el’ では ‘skk-toggle-kana’ の実行を
        • 日本語キーボードであれば ‘@’ を、
        • 英語キーボードであれば ‘[’ を
     それぞれ使用します。

‘@’

     上記のとおり、‘skk-toggle-kana’ の実行に は ‘@’ (日本語キーボード)
     や ‘[’ (英語キーボード) を使用しますが、 skk では既に ‘@’ には「今
     日の日付の入力」（プログラム実行変換）を割 り当てています。

     そのため、skk 本来の動作には ‘x’ を付けて、それぞれ ‘x@’ と、 ‘x[’
     で代用できるようにしてあります。

‘l’
‘xx’

     AZIK では単独の拗音「ゃゅょぁぃぅぇぉゎ」を入力するには ‘l’ を前置
     す ることとされていますが、skk では既に ‘l’ に「アスキーモードへの
     切り 替え」を割り当てています。

     そのため ‘skk-azik.el’ では、拗音のうち「ぁぃぅぇぉ」の入力について
     は ‘xx’ を前置することとしています。

        • ‘xxa’ ↦ ぁ
        • ‘xxi’ ↦ ぃ
        • ‘xxu’ ↦ ぅ
        • ‘xxe’ ↦ ぇ
        • ‘xxo’ ↦ ぉ

     なお、拗音のうち「ゃゅょゎ」の単独入力は、AZIK 拡張 ‘skk-azik.el’ で
     はなく、標準 ‘skk-vars.el’ です。
        • ‘xya’ ↦ ゃ
        • ‘xyu’ ↦ ゅ
        • ‘xyo’ ↦ ょ
        • ‘xwa’ ↦ ゎ

‘X’
誤った登録の削除
     skk では、▼モードでの ‘X’ は 関数 ‘skk-purge-from-jisyo’ を実行 し
     ますが、AZIK では X は「シャ行」の入力に使われます。 そのため、
     ‘skk-azik.el’ での「誤った登録の削除」は、 ▼モードで ‘M-x
     skk-purge-from-jisyo’ を実行してください。

     関連項目: *note 誤った登録の削除::

 -- ユーザ変数: skk-use-azik

     この値が ‘non-nil’ であれば AZIK 拡張が有効となります。 ‘~/.skk’ に

          (setq skk-use-azik t)

     と書きます。

 -- ユーザ変数: skk-azik-keyboard-type

     AZIK で使うときのキーボードのタイプを、シンボルで指定する。

        • ‘'jp106’ ↦ 日本語 106 キーボード (デフォルト)
        • ‘'jp-pc98’ ↦ NEC PC-98 キーボード
        • ‘'us101’ ↦ 英語キーボード
        • ‘nil’ ↦ キーボード依存処理を無効にする


File: skk.info,  Node: ACT,  Next: TUT-code,  Prev: AZIK,  Up: ローマ字入力以外の入力方式

6.2 ACT
=======

ACT は AZIK の考え方を Dvorak 配列に適用し、Dvorak 配列でかなを快適にタ
イプできるように考案された方式です。

 ACT (AZIK on Dvorak)
(http://www1.vecceed.ne.jp/~bemu/act/act_index.html)

 -- ユーザ変数: skk-use-act

     この値が ‘non-nil’ であれば ACT 拡張が有効となります。‘~/.skk’ に

          (setq skk-use-act t)

     と書きます。


File: skk.info,  Node: TUT-code,  Next: かな入力と親指シフト,  Prev: ACT,  Up: ローマ字入力以外の入力方式

6.3 TUT-code
============

TUT-code は 2 ストローク系の日本語直接入力方式の一つです。

 <http://plone.crew.sfc.keio.ac.jp/groups/tut-code>

 使用するには、SKK のインストール時にいくつかのファイルをインストールす
る 必要があります。SKK ソースの ‘tut-code’ ディレクトリにある
‘skk-tutcdef.el’ と ‘skk-tutcode.el’ を、SKK ソースのトップディレクトリ
にコピーして、SKK のインストールを再度行います。

 *Note DDSKK のインストール::.

 その後、‘~/.skk’ に

     (require 'skk-tutcdef)

と書きます。


File: skk.info,  Node: かな入力と親指シフト,  Prev: TUT-code,  Up: ローマ字入力以外の入力方式

6.4 かな入力と親指シフト
========================

DDSKK はローマ字式ではない、いわゆるかな入力方式をサポートします。具体的
には

   • 旧 JIS 配列でのかな入力
   • 親指シフト方式でのかな入力

に対応しています。これを使うにはまず、nicola-ddskk 拡張パッケージをイン
ストールする必要があります。SKK ソースディレクトリの ‘nicola’ ディ レク
トリに移動し、ドキュメントに従ってインストールしてください。

 <https://github.com/skk-dev/ddskk/blob/master/nicola/README.ja>

 続いて設定をします。

 -- ユーザ変数: skk-use-kana-keyboard

     この変数を ‘non-nil’ に設定すると、かな入力サポートが SKK 起動時に
     有効に なります。

          (setq skk-use-kana-keyboard t)

 -- ユーザ変数: skk-kanagaki-keyboard-type

     この変数で、かな入力サポートの種類を切換えます。適切なシンボルを設
     定してください。

     ‘106-jis’

          日本語 106 キーボード (旧 JIS 配列) でのかな入力に対応します。

               (setq skk-kanagaki-keyboard-type '106-jis)

     ‘nicola-jis’

          日本語 106 キーボード (旧 JIS 配列) での親指シフトエミュレーシ
          ョンに対応 します。

               (setq skk-kanagaki-keyboard-type 'nicola-jis)

     ‘nicola-us’

     ‘nicola-dvorak’

     ‘nicola-colemak’

     ‘omelet-jis’

          ‘nicola-jis’ と同様ですが、より入力しやすい配列が考慮されてい
          ます。

               (setq skk-kanagaki-keyboard-type 'omelet-jis)

     ‘omelet-us’

     ‘omelet-dvorak’

     ‘omelet-colemak’

     ‘oasys’

 かな入力方式使用時の■モードでは以下のコマンドなどが役に立ちます。

‘F1 1’

     かな入力方式での特殊キー定義の一覧を表示します。

‘F1 2’

     かな入力方式でのかなキー配列を表示します。

‘F12’
‘M-x skk-kanagaki-toggle-rom-kana’

     かな入力方式とローマ字入力方式とを切り換えます。

 なお、親指シフト方式については NICOLA 日本語入力コンソーシアム
(http://nicola.sunicom.co.jp/) が参考になります。


File: skk.info,  Node: そのほかの拡張機能,  Next: SKKに関する情報,  Prev: ローマ字入力以外の入力方式,  Up: Top

7 そのほかの拡張機能
********************

十分にテストされていない等の理由がありますが、便利・有益と思われる拡張機
能を紹介します。

* Menu:

* 交ぜ書き変換::


File: skk.info,  Node: 交ぜ書き変換,  Up: そのほかの拡張機能

7.1 交ぜ書き変換
================

‘skk-mazegaki.el’ をインストールすると、交ぜ書き変換が可能となります。

   • き車 ↦ 汽車
   • き者 ↦ 記者
   • き社 ↦ 貴社

 インストール方法などは、次の投稿を参考にしてください。

 <http://mail.ring.gr.jp/skk/201111/msg00037.html>


File: skk.info,  Node: SKKに関する情報,  Next: よくある質問とその回答(FAQ),  Prev: そのほかの拡張機能,  Up: Top

8 SKKに関する情報
*****************

* Menu:

* 最新情報::
* SKKメーリングリスト::
* SKK関連ソフトウェア::
* SKK辞書について::
* 辞書ツール::
* SKKの作者::
* SKKの歴史::
* このマニュアルについて::
* 謝辞::


File: skk.info,  Node: 最新情報,  Next: SKKメーリングリスト,  Up: SKKに関する情報

8.1 最新情報
============

DDSKK についての最新情報は、

     <http://openlab.jp/skk/>

から得ることができます。

 SKK の開発は、 GitHub を利用して行われています。

     <https://github.com/skk-dev/ddskk>

 最新版 DDSKK の変更内容と更に過去の変更点については以下のリソースを参照
してください。

     <https://github.com/skk-dev/ddskk/blob/master/READMEs/NEWS.ja>

 また、将来のバージョンにおける拡張アイディアについては、TODO としてまと
められています。

     <https://github.com/skk-dev/ddskk/blob/master/READMEs/TODO.ja>

 SKK Openlab では、開発者、文章の整備にご協力いただける方、テスター、よ
ろ ずものを言う人などなど、常に募集しています。また要望、拡張の具体的ア
イディ アがあれば、メーリングリストに連絡いただけることを期待します。

     *Note SKKメーリングリスト::.


File: skk.info,  Node: SKKメーリングリスト,  Next: SKK関連ソフトウェア,  Prev: 最新情報,  Up: SKKに関する情報

8.2 SKKメーリングリスト
=======================

SKK Openlab メーリングリストは、統一された一つの ML です。利用者用、開発
者用などと分かれていない他、SKK 辞書、DDSKK の開発議論が中心ですが、辞書
サーバやフロントエンド、 SKK 辞書ツールの話題なども議論の範囲に入ります
。

メーリングリストに参加する

     アドレス <skk-subscribe@ring.gr.jp> 宛てに空のメールを送って下さい
     。 確認の為のメッセージが指定されたアドレス宛に送信されます。その確
     認の為の メッセージに対して返信することで加入手続きは終了します。

メーリングリストから脱会する

     アドレス <skk-unsubscribe@ring.gr.jp> 宛てに空のメールを送って下さ
     い。確認の為のメッセージが指定されたアドレス宛に送信されます。その
     確認の 為のメッセージに対して返信することで脱退手続きは終了します。

登録したアドレスを変更する

     古いアドレスについていったん unsubscribe して、新しいアドレスから再
     度 subscribe して下さい。

記事の投稿

     アドレス <skk@ring.gr.jp> へ送ります。メーリングリストに登録されて
     いる人全員にメールが配信されます。

過去ログの閲覧

     <http://mail.ring.gr.jp/skk>

     <news://news.ring.gr.jp/ring.openlab.skk>


File: skk.info,  Node: SKK関連ソフトウェア,  Next: SKK辞書について,  Prev: SKKメーリングリスト,  Up: SKKに関する情報

8.3 SKK関連ソフトウェア
=======================

SKK 関連ソフトウェアに関しては、次の URL にリンクをまとめてありますの で
参照してください。

 SKK 辞書 Wiki におけるリンク集
(http://openlab.jp/skk/wiki/wiki.cgi?page=%A5%EA%A5%F3%A5%AF%BD%B8)


File: skk.info,  Node: SKK辞書について,  Next: 辞書ツール,  Prev: SKK関連ソフトウェア,  Up: SKKに関する情報

8.4 SKK辞書について
===================

SKK 辞書は多くのユーザの方々から提供された辞書によりコピーフリーの辞書と
しては最大規模の辞書になっています。今後もこの方式により SKK 辞書をより
充実したものにしていきたいと思います。

 <http://openlab.jp/skk/registdic.cgi> にて Web/cgi を利用 した登録・削
除希望フォームを運用しています。 SKK 辞書に追加したい単語、誤登録として
削除したい単語がありましたら、 是非ご利用下さい。


File: skk.info,  Node: 辞書ツール,  Next: SKKの作者,  Prev: SKK辞書について,  Up: SKKに関する情報

8.5 辞書ツール
==============

SKK 辞書に関するツールには、Perl, C, Ruby の各言語により書かれたツールが
ありますが、Perl によるツールは現在十分メンテナンスされていません。 現在
は C, Ruby のツールが開発・メンテナンスされています。

 辞書メンテナンスツール
(http://openlab.jp/skk/wiki/wiki.cgi?page=%BC%AD%BD%F1%A5%E1%A5%F3%A5%C6%A5%CA%A5%F3%A5%B9%A5%C4%A1%BC%A5%EB)


File: skk.info,  Node: SKKの作者,  Next: SKKの歴史,  Prev: 辞書ツール,  Up: SKKに関する情報

8.6 SKKの作者
=============

SKK の原作者は、現京都大学名誉教授の 佐藤雅彦氏
(http://www.ist.i.kyoto-u.ac.jp/organization/ex-professor.html#Sato)です
。

 現在の DDSKK は、大勢のボランティアの貢献により成立しています。 ファイ
ル ‘READMEs/Contributors’ に貢献者名の一覧がありますので、ご覧ください。


File: skk.info,  Node: SKKの歴史,  Next: このマニュアルについて,  Prev: SKKの作者,  Up: SKKに関する情報

8.7 SKKの歴史
=============

SKK の成り立ちと歴史に関しては以下の URL を参照してください。

 SKK の誕生秘話 (http://openlab.jp/skk/born-ja.html)

 “SKK = I” (http://openlab.jp/skk/SKK.html)

 SKK の歴史 (付 Emacs の歴史の一部)
(http://openlab.jp/skk/history-ja.html)

 SKK の 25年 (http://mail.ring.gr.jp/skk/201212/msg00007.html)


File: skk.info,  Node: このマニュアルについて,  Next: 謝辞,  Prev: SKKの歴史,  Up: SKKに関する情報

8.8 このマニュアルについて
==========================

本マニュアルは、SKK オープンラボの有志の貢献により、従来のマニュアルに加
筆修正したものです。


File: skk.info,  Node: 謝辞,  Prev: このマニュアルについて,  Up: SKKに関する情報

8.9 謝辞
========

DDSKK の開発は、Ring Server Open Laboratory (http://openlab.jp) (オープ
ンラボラトリ) に ‘SKK Openlab’ として参加する形 で行われています。‘SKK
Openlab’ は Ring から共有ディスク、CVS 及び ML の提供を受けています。オ
ープンラボラトリの運営は、完全にボランティア により行われております。
Ring 並びにオープンラボラトリにかかわる皆さんに 深く感謝いたします。

 (以降の記載は、SKK の原作者、佐藤雅彦教授により記載された旧来のマニュア
ルのものですが、歴史的意義を踏まえて、そのまま掲載します。)

 SKK の設計方針は TAO/ELIS 上の日本語入力システム Kanzen の影響を受けて
い ます。Kanzen のデモを行ってくださり、また Kanzen を使う機会を与えてく
だ さった NTT の竹内郁雄さんに感謝します。

 第 1 版の辞書作成のための読みの入力を行ってくださった東北大学電気通信研
究所佐藤研究室の 安藤大君、猪岡美紀さん、奥川淳一君、佐々木昭彦君、佐藤
克志君、山岸信寛君に感謝します。

 SKK 辞書第 2, 3, 4, 5, 6, 7, 8 版作成のためのデータを提供してくださっ た
方々に感謝します。

 SKK 辞書第 6, 7 版作成にあたり協力してくださった高橋裕信氏に感謝します
。


File: skk.info,  Node: よくある質問とその回答(FAQ),  Next: 事項索引,  Prev: SKKに関する情報,  Up: Top

9 よくある質問とその回答(FAQ)
*****************************

これは SKK に対するよくある質問と、それに対する回答集です。

* Menu:

* Introduction::                SKK のなぜなに。
* Installation::                SKK の入手から導入まで。
* Customization::               SKK の基本設定からお好みのカスタマイズまで。
* Dictionaries::                SKK 辞書関連。
* Miscellaneous::               SKK の活用法その他。


File: skk.info,  Node: Introduction,  Next: Installation,  Up: よくある質問とその回答(FAQ)

9.1 SKK のなぜなに
==================

* Menu:

* Q1-1 Daredevil SKK って SKK とは違うのですか?::
* Q1-2 SKK はシンプルなのが長所だったのでは?::
* Q1-3 DDSKK はどの Emacs で使えますか?::
* Q1-4 DDSKK はどんなオペレーティングシステムで使えますか?::
* Q1-5 APEL って何? 必要ですか?::


File: skk.info,  Node: Q1-1 Daredevil SKK って SKK とは違うのですか?,  Next: Q1-2 SKK はシンプルなのが長所だったのでは?,  Up: Introduction

Q1-1 Daredevil SKK って SKK とは違うのですか?
---------------------------------------------

SKK Openlab で開発、リリースされる SKK は、京大の佐藤先生が中心になっ て
開発していた SKK と区別するために、‘Daredevil SKK’ と呼ぶことに しました
。その略称は ‘DDSKK’ で、SKK Openlab で最初に ‘Daredevil SKK’ としてリリ
ースされた version は 11.1 です (オリジ ナルの version を継承しました)。

 なお、‘Daredevil’ の名前の採択は、開発陣の一人が講読している某ラ ジオ英
会話講座の、ある日のスキット名が「Daredevil なんとか」で、その内 容は「
とにかくやってみよう。うぎゃぁぁぁ、やられたぁ」というものでした。 これ
があまりに自分の開発ポリシーに合致していた、ということに由来します。


File: skk.info,  Node: Q1-2 SKK はシンプルなのが長所だったのでは?,  Next: Q1-3 DDSKK はどの Emacs で使えますか?,  Prev: Q1-1 Daredevil SKK って SKK とは違うのですか?,  Up: Introduction

Q1-2 SKK はシンプルなのが長所だったのでは?
------------------------------------------

かような議論は 10 年来行われてきており、結論は出ていませんが、事実として
現在まで開発が続けられています。

     「シンプルな操作性の維持と多機能化・高機能化は両立できる」

というのが現在の開発陣の考えであるようです。

 SKK が Simple Kana to Kanji conversion program の略であるとおり、かなを
漢 字に変換するルーチンの簡単さが SKK を定義付けています。その周辺の拡張
に 関する制約は基本的にはありません。

 多機能化と言っても多くはユーザオプションによって無効にすることができま
すし、‘skk.el’ 本体が複雑化しないようにモジュール化されています。


File: skk.info,  Node: Q1-3 DDSKK はどの Emacs で使えますか?,  Next: Q1-4 DDSKK はどんなオペレーティングシステムで使えますか?,  Prev: Q1-2 SKK はシンプルなのが長所だったのでは?,  Up: Introduction

Q1-3 DDSKK はどの Emacs で使えますか?
-------------------------------------

対応する GNU Emacs のバージョンについては以下をご覧ください。

     *Note このバージョンのSKKについて::.


File: skk.info,  Node: Q1-4 DDSKK はどんなオペレーティングシステムで使えますか?,  Next: Q1-5 APEL って何? 必要ですか?,  Prev: Q1-3 DDSKK はどの Emacs で使えますか?,  Up: Introduction

Q1-4 DDSKK はどんなオペレーティングシステムで使えますか?
--------------------------------------------------------

SKK がサポートしている Emacs がその OS で動いているなら、SKK の基本的 な
機能は動くはずです。 Microsoft Windows でも Apple OS X でも使えます。

 拡張機能については、UNIX の各種コマンドを前提としているものがいくつか あ
ります (‘look’ や ‘ispell’ など)。これらのコマンドがお使いの OS にも 存
在すれば該当の拡張機能も基本的には使えるでしょう。

 Apple OS X 版 Emacs に特化した情報については、以下のファイルを参照して
ください。
     <https://github.com/skk-dev/ddskk/blob/master/READMEs/README.MacOSX.ja>


File: skk.info,  Node: Q1-5 APEL って何? 必要ですか?,  Prev: Q1-4 DDSKK はどんなオペレーティングシステムで使えますか?,  Up: Introduction

Q1-5 APEL って何? 必要ですか?
-----------------------------

APEL は A Portable Emacs Library の略です。APEL の主な機能は異なる Emacs
間の非互換性を吸収することです。

 GNU Emacs 22 以上では APEL は不要となりました。この変更は 2010 年 9 月
に CVS に commit され、2011 年 1 月に DDSKK 14.2 としてリリースされまし
た。


File: skk.info,  Node: Installation,  Next: Customization,  Prev: Introduction,  Up: よくある質問とその回答(FAQ)

9.2 SKK の入手から導入まで
==========================

* Menu:

* Q2-1 SKK を使うのに何が必要ですか?::
* Q2-2 SKK 辞書はどこにありますか?::
* Q2-3 SKK サーバはどこにありますか?::


File: skk.info,  Node: Q2-1 SKK を使うのに何が必要ですか?,  Next: Q2-2 SKK 辞書はどこにありますか?,  Up: Installation

Q2-1 SKK を使うのに何が必要ですか?
----------------------------------

SKK 本体と SKK 辞書が必要です。オプションで辞書サーバを用意す ることがで
きます。

 SKK 本体は以下から入手できます。

     <http://openlab.jp/skk/maintrunk>


File: skk.info,  Node: Q2-2 SKK 辞書はどこにありますか?,  Next: Q2-3 SKK サーバはどこにありますか?,  Prev: Q2-1 SKK を使うのに何が必要ですか?,  Up: Installation

Q2-2 SKK 辞書はどこにありますか?
--------------------------------

以下を参照してください。

     *Note SKK辞書について::.


File: skk.info,  Node: Q2-3 SKK サーバはどこにありますか?,  Prev: Q2-2 SKK 辞書はどこにありますか?,  Up: Installation

Q2-3 SKK サーバはどこにありますか?
----------------------------------

DDSKK は辞書サーバの種類、バージョンには依存していません。

     <http://openlab.jp/skk/skkserv-ja.html>

からお好きな辞書サーバを入手して下さい。


File: skk.info,  Node: Customization,  Next: Dictionaries,  Prev: Installation,  Up: よくある質問とその回答(FAQ)

9.3 SKK の基本設定からお好みのカスタマイズまで
==============================================

* Menu:

* Q3-1 「．」、「，」 が入力できるようにカスタマイズしたいのですが。::
* Q3-2 「ゐ」や「ヰ」 が入力できるようにカスタマイズしたいのですが。::
* Q3-3 検索する辞書を増やしたいのですが。::
* Q3-4 左手の小指を SHIFT で酷使したくありません。::
* Q3-5 全く漢字が出てきません。::
* Q3-6 チュートリアルが起動できません。::
* Q3-7 C-x C-j で dired が起動してしまいます。::


File: skk.info,  Node: Q3-1 「．」、「，」 が入力できるようにカスタマイズしたいのですが。,  Next: Q3-2 「ゐ」や「ヰ」 が入力できるようにカスタマイズしたいのですが。,  Up: Customization

Q3-1 「．」、「，」 が入力できるようにカスタマイズしたいのですが。
------------------------------------------------------------------

3通りの方法を紹介します。

  1. 通常 ‘.’ で「．」、‘,’ で「，」を入力したい場合

     ‘~/.skk’ に以下を設定します。

          (setq skk-kutouten-type 'en)

  2. 一時的に ‘.’ で「．」、‘,’ で「，」を入力したい場合

     ‘M-x skk-toggle-kutouten’ を実行すると、その場で「，」「．」に切り
     替える ことができます。「、」「。」に戻すには、もう一度 ‘M-x
     skk-toggle-kutouten’ を実行を実行します。 特定のバッファでのみ「，
     」「．」に切り替えたい場合は、 File Variables (*note File
     Variables: (emacs)File Variables.) を参照下さい。 例えば、 tex モー
     ドでのみ「，」「．」に切り替えたい場合は、つぎの設定を tex ファイル
     の最後に追加します。

          % Local Variables:
          % skk-kutouten-type: en
          % end:

  3. 常に ‘.’ で「．」、‘,’ で「，」を入力したい場合

     ‘skk-rom-kana-rule-list’ を直接変更します。 なお、この設定をすると
     、‘M-x skk-toggle-kutouten’ での切り替えが 効かなくなるので、注意し
     て下さい。

     ‘~/.skk’ に以下を追加します。

          (setq skk-rom-kana-rule-list
                (append '(("." nil "．") ("," nil "，"))
                        skk-rom-kana-rule-list))

     この設定方法は応用が効き、細かく制御することが可能です。 ‘．’ と ‘，
     ’ のところをそれぞれ、‘.’ と ‘,’ とすることで、 「かなモード」「カ
     ナモード」でも、‘.’ と‘,’ を直接入力することが できます。


File: skk.info,  Node: Q3-2 「ゐ」や「ヰ」 が入力できるようにカスタマイズしたいのですが。,  Next: Q3-3 検索する辞書を増やしたいのですが。,  Prev: Q3-1 「．」、「，」 が入力できるようにカスタマイズしたいのですが。,  Up: Customization

Q3-2 「ゐ」や「ヰ」 が入力できるようにカスタマイズしたいのですが。
------------------------------------------------------------------

一つ前の Q の変形問題ですね。かな/カナモードでそれぞれ出力する文字 を変
えるやり方です。

 ‘~/.skk’ に

     (setq skk-rom-kana-rule-list
           (append '(("wi" nil ("ヰ" . "ゐ")))
                   skk-rom-kana-rule-list))

と書いてみましょう。

 一番内側の cons cell は car がカナモード、cdr がかなモー ドでの入力文字
を表しています。

 一つ前の Q に対する答えのように、カナモード、かなモードともに入力す る
文字が変わらなければ、cons cell の代りに文字列を書くことができます。


File: skk.info,  Node: Q3-3 検索する辞書を増やしたいのですが。,  Next: Q3-4 左手の小指を SHIFT で酷使したくありません。,  Prev: Q3-2 「ゐ」や「ヰ」 が入力できるようにカスタマイズしたいのですが。,  Up: Customization

Q3-3 検索する辞書を増やしたいのですが。
---------------------------------------

‘skk-search-prog-list’ で設定をしましょう。

 まず、現在の設定を確認しましょうね。*scratch* バッファに
‘skk-search-prog-list’ と書いてそのシンボルの末尾にポイントを置いて
‘C-j’ してみましょう。例えば次のように出力されます。

     ((skk-search-jisyo-file skk-jisyo 0 t)
      (skk-search-server skk-aux-large-jisyo 10000))

 上記の例は 2 つの要素を持ったリストになっています。設定によりもっと多 く
の要素があるかもしれません。

 各要素は検索する関数と辞書を指定したリストです。要素の順番に検索がなさ
れます。上記の例だとまず最初に ‘skk-jisyo’ (個人辞書) を
‘skk-search-jisyo’ という関数を使ってリニアサーチ、次に
‘skk-search-server’ という関数を使って ‘skk-aux-large-jisyo’ をサーチし
ます。

 変換の際、<SPC> を押しますよね?  1 回 <SPC> を押すと、SKK は候 補が見つ
かるまでの間、‘skk-search-prog-list’ の要素を前から読んでいっ て検索を行
い、見つかればそこでいったん検索を止めてユーザに候補を提示します。

 ユーザが <SPC> を更に押してゆき最初の要素のプログラムが見つけた候補が尽
きると、SKK は中断していた個所から再び ‘skk-search-prog-list’ の次 の要
素を見つけ、ここで指定されている関数を使って検索する、で新しい候補が 見
つかればまた提示する、というシステムになっています。

 では、辞書サーバを使って検索した後に、JIS 第 2 水準の単漢字辞書、
‘SKK-JISYO.JIS2’ を検索したい場合はどうすれば良いでしょう?  もう分 かり
ますよね?  辞書サーバを使った検索式の次に第 2 水準辞書の検索式を書いた リ
ストを ‘skk-search-prog-list’ に指定すれば良いのです。 ‘~/.skk’ に次のよ
うに書きましょう。

     (setq skk-search-prog-list
           '((skk-search-jisyo-file skk-jisyo 0 t)
             (skk-search-server skk-aux-large-jisyo 10000)
             (skk-search-jisyo-file "~/dic/SKK-JISYO.JIS2" 0)))

 ‘skk-search-jisyo-file’ の第 2 引数、0 の数字はリニアサーチにて検索 す
るよう指定しています。第 2 水準辞書はあまり大きくないので、リニアサー チ
で十分でしょう。大きな辞書を検索する場合などは、

     (skk-search-jisyo-file "~/dic/SKK-JISYO.L" 10000)

のようにすると良いでしょう。SKK は Emacs のバッファに読み込まれた
‘~/dic/SKK-JISYO.L’ の検索リージョンのポイント差が 10,000 未満にな るま
ではバイナリサーチを行い、その後リニアサーチを行います。大きな辞 書では
バイナリサーチを行う方がはるかに効率が良いです。嘘だと思うなら、
‘SKK-JISYO.L’ を読み込んでリニアサーチするような設定にして試してみ て下
さい。

 ちなみに、‘SKK-JISYO.JIS2’ は、最大でもリージョン間のポイント差が 8,500
程度です。


File: skk.info,  Node: Q3-4 左手の小指を SHIFT で酷使したくありません。,  Next: Q3-5 全く漢字が出てきません。,  Prev: Q3-3 検索する辞書を増やしたいのですが。,  Up: Customization

Q3-4 左手の小指を SHIFT で酷使したくありません。
------------------------------------------------

SKK を標準の状態で使っている場合、変換のためにシフトキーを多用しますの で
小指への負担が大きくなります。 (1)

 この苦しみを回避するためにここでは 4 つの方法を紹介します。

  1. 親指の近くにあるキーを利用してシフトキーの代用とする。

     日本語 106 キーボードのように無変換、変換などのキーがある場合は、こ
     れ らをシフトキーの代用とすることが可能です。こうすると、例えば

          <SHIFT> を押しながら ‘a’ を押す

     というキー操作は

          <無変換> を押して、その後で ‘a’ を押す

     という操作で置き換えることができるようになります。

     それでは具体的なやり方を説明しましょう。まず、使用中の Emacs が無変
     換 キーを何という名前で認識しているか調べます。それには

          M-x describe-key

     というコマンドを実行し、続いて 無変換キーを押してみます。XFree86 上
     で なら、おそらく

          muhenkan is undefined

     という答えが返ってくるでしょう。次に、この名前を使って
     ‘~/.emacs.d/init.el’ に設定を書きこみます。以下は <無変換> =
     <muhenkan> の場合の例で す。

          (unless (keymapp key-translation-map)
            (setq key-translation-map (make-sparse-keymap)))

          (let ((i ?a))
            (while (<= i ?z)
              (define-key key-translation-map
                          (vector 'muhenkan i) (vector (- i 32)))
              (setq i (1+ i))))

     この設定を終えると、‘<muhenkan>-a’ で ‘A’ が入力できるように なりま
     す。続いて SKK を起動してみましょう。‘<muhenkan>-a’ で ‘▽あ’ となり
     ます。送りの開始点も、もちろん同様の操作で指定できます。 (2)

  2. xmodmap を使う。

     X Window System 上では、‘xmodmap’ というプログラムを使ってキー配列
     を変更で きます。例えば、無変換キーをシフトキーとして使いたければ

          % xmodmap -e 'add Shift = Muhenkan'

     とします。これで無変換キーは通常のシフトキーと同じような感じで使え
     るよ うになります。

  3. ‘skk-sticky.el’ を使う。

     *Note 変換位置の指定方法::.

  4. 親指シフト入力のエミュレーション機能を利用する。

     これは 1, 2 とはかなり違ったアプローチです。SKK 本来のローマ字的入
     力を捨 てて、富士通のワープロ OASYS のような親指シフト入力を修得し
     ます。 (3)

     DDSKK には NICOLA-DDSKK というプログラムが付属しており、これをイン
     ストー ルすると親指シフト入力が可能になります。インストール自体は簡
     単で、

          % cd nicola
          % make install

     とした後に、‘~/.skk’ に

          (setq skk-use-kana-keyboard t)
          (setq skk-kanagaki-keyboard-type 'omelet-jis)

     と書くだけです。詳しいことは、NICOLA-DDSKK 付属のドキュメントを参照
     し てください。

     NICOLA 配列は、特別に日本語入力のために考えられた配列なので、慣れれ
     ば 非常に効率的な日本語入力ができるようになると期待されます。一方で
     、ロー マ字的入力方式に慣れてしまっている人にとっては、NICOLA 配列
     に慣れるま でかなり練習を要することは確かです。

   ---------- Footnotes ----------

   (1) このため、ある人々は SKK を小指キラーと呼びます。

   (2) 変数 ‘key-translation-map’ の意味を調べてみてください。

 ‘M-x describe-variable’ <RET> key-translation-map

   (3) 親指シフト入力の詳細については、ここでは述べません。興味がある 場
合は、日本語入力コンソーシアムの Web サイト
<http://nicola.sunicom.co.jp/> を訪れてください。


File: skk.info,  Node: Q3-5 全く漢字が出てきません。,  Next: Q3-6 チュートリアルが起動できません。,  Prev: Q3-4 左手の小指を SHIFT で酷使したくありません。,  Up: Customization

Q3-5 全く漢字が出てきません。
-----------------------------

恐らく辞書の設定ができていないのでしょう。

 ‘SKK-JISYO.L’ というファイルがインストールされている場所を確認して くだ
さい。普通は

     ‘/usr/local/share/skk’
     ‘/usr/share/skk’

といった場所にインストールされています。

 その後で ‘~/.skk’ に

     (setq skk-large-jisyo "/usr/local/share/skk/SKK-JISYO.L")

のように設定します。

 なお、辞書サーバを使っている場合はこの設定は必要ありません。その場合は
、 辞書サーバの設定や、それがちゃんと起動しているかどうかを確認してくだ
さ い。

 また、どこにも辞書がインストールされていない場合は

     <http://openlab.jp/skk/dic/>

から取得します。


File: skk.info,  Node: Q3-6 チュートリアルが起動できません。,  Next: Q3-7 C-x C-j で dired が起動してしまいます。,  Prev: Q3-5 全く漢字が出てきません。,  Up: Customization

Q3-6 チュートリアルが起動できません。
-------------------------------------

‘SKK.tut’ というファイルがインストールされている場所を確認してくだ さい
。普通は

     ‘/usr/local/share/skk’
     ‘/usr/share/skk’

といった場所にインストールされています。

 その後で ‘~/.emacs.d/init.el’ に

     (setq skk-tut-file "/usr/local/share/skk/SKK.tut")

のように設定します。


File: skk.info,  Node: Q3-7 C-x C-j で dired が起動してしまいます。,  Prev: Q3-6 チュートリアルが起動できません。,  Up: Customization

Q3-7 C-x C-j で dired が起動してしまいます。
--------------------------------------------

‘dired-x’ を読み込むと ‘C-x C-j’ が ‘dired-jump’ にバインドされます。 こ
の状態でも SKK を ‘C-x C-j’ で起動したいときは、変数 ‘dired-bind-jump’ に
‘nil’ を設定します。

     (setq dired-bind-jump nil)

 なお、この設定は ‘dired-x’ を読み込む前である必要があります。


File: skk.info,  Node: Dictionaries,  Next: Miscellaneous,  Prev: Customization,  Up: よくある質問とその回答(FAQ)

9.4 SKK 辞書関連
================

* Menu:

* Q4-1 SKK には郵便番号辞書がありますか?::
* Q4-2 SKK の辞書には、品詞情報がないんですね。::
* Q4-3 複数の SKK 辞書を結合できますか?::
* Q4-4 SKK 形式の英和辞書があると聞いたのですが。::


File: skk.info,  Node: Q4-1 SKK には郵便番号辞書がありますか?,  Next: Q4-2 SKK の辞書には、品詞情報がないんですね。,  Up: Dictionaries

Q4-1 SKK には郵便番号辞書がありますか?
--------------------------------------

CVS から辞書を取得した場合は、‘zipcode’ というディレクトリに入って いま
す。WWW では、

     <http://openlab.jp/skk/dic/>

より入手できます。使用方法は

     <http://openlab.jp/skk/skk/dic/zipcode/README.ja>

を御覧下さい。


File: skk.info,  Node: Q4-2 SKK の辞書には、品詞情報がないんですね。,  Next: Q4-3 複数の SKK 辞書を結合できますか?,  Prev: Q4-1 SKK には郵便番号辞書がありますか?,  Up: Dictionaries

Q4-2 SKK の辞書には、品詞情報がないんですね。
---------------------------------------------

SKK は漢字とかなとの区切りをユーザが指定する方式により、品詞情報を使っ た
解析を用いることなく効率的入力ができます。

 TODO としては、辞書に品詞情報を持たせることで更なる入力の効率化ができ る
という提案がなされており、そのような辞書の作成が既に試みられています。 興
味のある方は

     <http://openlab.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1>

 における ‘SKK-JISYO.notes’ の項目をご覧ください。


File: skk.info,  Node: Q4-3 複数の SKK 辞書を結合できますか?,  Next: Q4-4 SKK 形式の英和辞書があると聞いたのですが。,  Prev: Q4-2 SKK の辞書には、品詞情報がないんですね。,  Up: Dictionaries

Q4-3 複数の SKK 辞書を結合できますか?
-------------------------------------

SKK 本体のパッケージには同封されていませんが、skk-tools という別パッケー
ジがあります。以下をご覧ください。

     *Note 辞書ツール::.


File: skk.info,  Node: Q4-4 SKK 形式の英和辞書があると聞いたのですが。,  Prev: Q4-3 複数の SKK 辞書を結合できますか?,  Up: Dictionaries

Q4-4 SKK 形式の英和辞書があると聞いたのですが。
-----------------------------------------------

edict は和英辞書ですが、これを SKK 辞書形式の英和辞書に変換したものを

     <http://openlab.jp/skk/dic/SKK-JISYO.edict>

として置いています。これは edict を単純に機械的に変換した後、バグの修正
や、エントリ・候補の追加が SKK Openlab で独自に行われているものです。

 edict を自分で加工して上記と同等のものを作成することもできます。edict は

     <ftp://ftp.u-aizu.ac.jp:/pub/SciEng/nihongo/ftp.cc.monash.edu.au/>

などから入手できます。

 加工には日本語の通る ‘gawk’ と skk-tools の中のプログラムを使い、下 記
のように行います。

     % jgawk -f edict2skk.awk edict > temp
     % skkdic-expr temp | skkdic-sort > SKK-JISYO.E2J
     % rm temp

 できた ‘SKK-JISYO.E2J’ の利用方法は色々ありますが、

     % skkdic-expr SKK-JISYO.E2J + /usr/local/share/skk/SKK-JISYO.L | \
       skkdic-sort > SKK-JISYO.L

などとして、‘SKK-JISYO.L’ とマージして使うのが手軽です。

 なお、edict の配布条件は GNU GPL (General Public License) ではありませ
ん。

     <http://www.csse.monash.edu.au/groups/edrdg/newlic.html>

をご覧下さい。‘SKK-JISYO.edict’ のヘッダー部分にもそのダイジェスト が記
載されています。


File: skk.info,  Node: Miscellaneous,  Prev: Dictionaries,  Up: よくある質問とその回答(FAQ)

9.5 SKK の活用法その他
======================

* Menu:

* Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?::
* Q5-2 市販の CD-ROM 辞書やネットワークの辞書サーバが利用できますか?::
* Q5-3 他の FEP を使用中にも SHIFT を押してしまいます。::


File: skk.info,  Node: Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?,  Next: Q5-2 市販の CD-ROM 辞書やネットワークの辞書サーバが利用できますか?,  Up: Miscellaneous

Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?
-----------------------------------------------------------------

UNIX ‘look’ コマンドと ‘skk-look.el’ を利用すると、色々できま すよ。まず
、 ‘~/.skk’ で ‘skk-use-look’ を ‘t’ にセットして Emacs/SKK を立ち上げ直
して下さい。

 さぁ、下記のような芸当が可能になりました。

  1. 英単語の補完ができます。

            ▽abstr(<TAB>) ↦ ▽abstract

     通常の補完機能と同様に ‘.’ で次の補完候補に、‘,’ でひとつ前の補完候
     補 に移動できます。SKK 形式の英和辞書があれば、ここから <SPC> を押
     して 英和変換ができますね。また、‘skk-look-use-ispell’ の値が
     ‘non-nil’ であれば、‘look’ で検索する前に ‘ispell’ でス ペルチェッ
     ク・修正をします。

  2. 英単語をあいまいに変換して取り出すことができます。上記同様、
     ‘skk-look-use-ispell’ の値が ‘non-nil’ であれば、‘look’ で検索する
     前に ‘ispell’ でスペルチェック・修正をします。

            ▽abstr* (<SPC>) ↦ ▼abstract

     見出し語に ‘*’ を入れるのをお忘れなく。

  3. あいまいに変換した後、更に再帰的な英和変換を行うことができます。

     まず、‘skk-look-recursive-search’ の値を ‘non-nil’ にセット して下
     さい。Emacs/SKK を再起動する必要はありません。すると、例えば、

            ▽abstr* (<SPC>)
                 ↦ ▼abstract (<SPC>)
                 ↦ ▼アブストラクト (<SPC>)
                 ↦ ▼抽象 (<SPC>)
                 ↦ ▼abstraction (<SPC>)
                 ↦ ▼アブストラクション

     このように英単語 + その英単語を見出し語にした候補の「セット」を変換
     結果 として出力することができます。

     この際、‘skk-look-expanded-word-only’ の値が ‘non-nil’ であ れば、
     再帰検索に成功した英単語の「セット」だけを出力することができます (再
     帰検索で検出されなかった英単語は無視して出力しません) 。

     もちろん、SKK 辞書に

            abstract /アブストラクト/抽象/
            abstraction /アブストラクション/

     というエントリがあることを前提としています。edict を SKK 辞書形式に
     変換 すると良いですね。

 なお、‘skk-look.el’ を使った補完・変換が期待するスピードよりも遅 い、補
完・変換で余分な候補が出る、とお感じの貴方は、 ‘skk-look-use-ispell’ の
値を ‘nil’ にして ‘ispell’ によ るスペルチェック・修正をオフにしてお試し
下さい。


File: skk.info,  Node: Q5-2 市販の CD-ROM 辞書やネットワークの辞書サーバが利用できますか?,  Next: Q5-3 他の FEP を使用中にも SHIFT を押してしまいます。,  Prev: Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?,  Up: Miscellaneous

Q5-2 市販の CD-ROM 辞書やネットワークの辞書サーバが利用できますか?
------------------------------------------------------------------

Lookup が扱える辞書はほとんど使えます。Lookup がインストールされている 状
態で SKK をインストールすると、SKK と Lookup のゲートウェイプログラ ム
‘skk-lookup.el’ がインストールされます。

 インストールで注意すべきは、‘make’ で呼び出される Emacs は ‘-q
-no-site-file’ フラグ付きで呼ばれるので、‘~/.emacs.d/init.el’ や
‘site-start.el’ などは読み込まれないことです。デフォルトで ‘load-path’ の
通っているディレクトリに lookup をインストールするか、 ‘SKK-CFG’ の中で
VERSION_SPECIFIC_LISPDIR などにディレクトリ を明示することで解決できます
。

 さぁ、‘~/.skk’ で ‘skk-search-prog-list’ の 要素に
‘(skk-lookup-search)’ を追加しましょう。他の検索エンジンより も検索は比
較的遅いので、最後の方が良いと思います。

 こんな感じです。

     (setq skk-search-prog-list
           '((skk-search-jisyo-file skk-jisyo 0 t)
             (skk-search-server skk-aux-large-jisyo 10000)
             (skk-lookup-search)))

 Lookup については、

     <http://openlab.jp/edict/lookup/>

をご参照下さい。


File: skk.info,  Node: Q5-3 他の FEP を使用中にも SHIFT を押してしまいます。,  Prev: Q5-2 市販の CD-ROM 辞書やネットワークの辞書サーバが利用できますか?,  Up: Miscellaneous

Q5-3 他の FEP を使用中にも SHIFT を押してしまいます。
-----------------------------------------------------

治すには SKK をやめるしかありません :-)

 Emacs 上以外でも SKK みたいな操作性を実現するソフトウェアがあります。
*note SKK関連ソフトウェア:: をご覧になってください。


File: skk.info,  Node: 事項索引,  Next: 変数索引,  Prev: よくある質問とその回答(FAQ),  Up: Top

事項索引
********

[index]
* Menu:

* *SKK-JISYO.L*:                         辞書バッファ.        (line   6)
* #0:                                    数値変換.            (line   6)
* #1:                                    数値変換.            (line   6)
* #2:                                    数値変換.            (line   6)
* #3:                                    数値変換.            (line   6)
* #4:                                    数値変換.            (line   6)
* #5:                                    数値変換.            (line   6)
* #8:                                    数値変換.            (line   6)
* #9:                                    数値変換.            (line   6)
* ;; okuri-ari entries.:                 送りありエントリと送りなしエントリ.
                                                              (line   8)
* ;; okuri-nasi entries.:                送りありエントリと送りなしエントリ.
                                                              (line   8)
* ~/.emacs.d/init.el:                    ユーザオプションの設定方法.
                                                              (line   6)
* ~/.skk:                                ユーザオプションの設定方法.
                                                              (line   6)
* ~/.skk <1>:                            I-search関連.        (line   6)
* ■モード:                               ■モード.             (line   6)
* ▽モード:                               ▽モード.             (line   6)
* ACT:                                   ACT.                 (line   6)
* Auto Fill:                             SKKオートフィルモード.
                                                              (line   6)
* AZIK:                                  AZIK.                (line   6)
* backtab:                               読みの補完.          (line  95)
* bayesian/skk-bayesian.el:              ファイル構成.        (line  67)
* <BS>:                                  picture-modeとの併用.
                                                              (line   6)
* canna.el:                              ▼モードにおける変換候補のハイライト表示.
                                                              (line   6)
* ccc.el:                                ファイル構成.        (line   6)
* CDB 形式辞書ファイル:                  最も基本的な設定.    (line  23)
* context-skk.el:                        ファイル構成.        (line  19)
* context-skk.el <1>:                    文脈に応じた自動モード切り替え.
                                                              (line   6)
* Customize:                             Customize による設定変更.
                                                              (line   6)
* dabbrev.el:                            辞書バッファ.        (line   6)
* edict:                                 Q4-4 SKK 形式の英和辞書があると聞いたのですが。.
                                                              (line   6)
* edict <1>:                             Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?.
                                                              (line   6)
* edict2skk.awk:                         Q4-4 SKK 形式の英和辞書があると聞いたのですが。.
                                                              (line   6)
* EUCコード:                             文字コードまたはメニューによる文字入力.
                                                              (line   6)
* EUCコード <1>:                         文字コードを知る方法.
                                                              (line   6)
* Extents:                               ▼モードにおける変換候補のハイライト表示.
                                                              (line  11)
* Google CGI API for Japanese Input:     Google CGI API for Japanese Input を利用したかな漢字変換.
                                                              (line   6)
* I-search:                              インクリメンタル・サーチ.
                                                              (line   6)
* I-search <1>:                          I-search関連.        (line   6)
* Incremental regexp search:             間に空白等を含む文字列の検索.
                                                              (line   6)
* Incremental search:                    インクリメンタル・サーチ.
                                                              (line   6)
* Incremental search <1>:                I-search関連.        (line   6)
* input method:                          DDSKK を Emacs の Input Method とする.
                                                              (line   6)
* isearch.el:                            インクリメンタル・サーチ.
                                                              (line   6)
* JISコード:                             文字コードまたはメニューによる文字入力.
                                                              (line   6)
* JISコード <1>:                         文字コードを知る方法.
                                                              (line   6)
* keyboard.c:                            1回の取り消し操作(undo)の対象.
                                                              (line   6)
* L 辞書:                                辞書の種類.          (line   7)
* LEIM:                                  DDSKK を Emacs の Input Method とする.
                                                              (line   6)
* leim-list.el:                          はじめの設定.        (line   6)
* leim-list.el <1>:                      ファイル構成.        (line   6)
* look:                                  Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?.
                                                              (line   6)
* Lookup:                                skk-lookup.          (line   6)
* Lookup <1>:                            Q5-2 市販の CD-ROM 辞書やネットワークの辞書サーバが利用できますか?.
                                                              (line   6)
* M 辞書:                                辞書の種類.          (line   7)
* MELPA:                                 MELPA によるインストール.
                                                              (line   6)
* Menu Bars:                             領域の操作.          (line   7)
* Menu Bars <1>:                         変換及び個人辞書に関する統計.
                                                              (line  33)
* move-to-column:                        picture-modeとの併用.
                                                              (line   6)
* move-to-column-force:                  picture-modeとの併用.
                                                              (line   6)
* NICOLA:                                かな入力と親指シフト.
                                                              (line   6)
* NICOLA <1>:                            Q3-4 左手の小指を SHIFT で酷使したくありません。.
                                                              (line  69)
* OASYS:                                 Q3-4 左手の小指を SHIFT で酷使したくありません。.
                                                              (line  69)
* Overlays:                              ▼モード.             (line   6)
* Overlays <1>:                          ▼モードにおける変換候補のハイライト表示.
                                                              (line  11)
* package.el:                            MELPA によるインストール.
                                                              (line   6)
* picture-mode:                          picture-modeとの併用.
                                                              (line   6)
* picture.el:                            picture-modeとの併用.
                                                              (line   6)
* rgb.txt:                               ▼モードにおける変換候補のハイライト表示.
                                                              (line   6)
* S 辞書:                                辞書の種類.          (line   7)
* SKK abbrev mode:                       アスキー文字を見出し語とした変換.
                                                              (line   6)
* skk-abbrev.el:                         ファイル構成.        (line  28)
* skk-act.el:                            ファイル構成.        (line  34)
* skk-annotation.el:                     ファイル構成.        (line  41)
* skk-auto.el:                           ファイル構成.        (line  48)
* skk-autoloads.el:                      ファイル構成.        (line  54)
* skk-azik.el:                           ファイル構成.        (line  61)
* skk-cdb.el:                            ファイル構成.        (line  74)
* skk-comp.el:                           ファイル構成.        (line  80)
* skk-cursor.el:                         ファイル構成.        (line  86)
* skk-cus.el:                            ファイル構成.        (line  92)
* skk-dcomp.el:                          ファイル構成.        (line  98)
* skk-dcomp.el <1>:                      動的補完.            (line   6)
* skk-develop.el:                        ファイル構成.        (line 104)
* skk-emacs.el:                          ファイル構成.        (line 114)
* skk-gadget.el:                         ファイル構成.        (line 121)
* skk-gadget.el <1>:                     プログラム実行変換.  (line   6)
* skk-hint.el:                           ファイル構成.        (line 127)
* skk-hint.el <1>:                       候補の絞り込み.      (line   6)
* skk-icon:                              アイコン.            (line   6)
* skk-inline.el:                         ファイル構成.        (line 133)
* skk-isearch.el:                        ファイル構成.        (line 139)
* skk-jisx0201.el:                       ファイル構成.        (line 145)
* skk-jisx0213.el:                       ファイル構成.        (line 149)
* skk-jisyo-edit-mode.el:                ファイル構成.        (line 153)
* SKK-JISYO.L:                           辞書の種類.          (line   7)
* SKK-JISYO.M:                           辞書の種類.          (line   7)
* SKK-JISYO.ML:                          辞書の種類.          (line   7)
* SKK-JISYO.S:                           辞書の種類.          (line   7)
* skk-kakasi.el:                         ファイル構成.        (line 157)
* skk-kanagaki.el:                       ファイル構成.        (line 163)
* skk-kcode.el:                          ファイル構成.        (line 171)
* skk-leim.el:                           DDSKK を Emacs の Input Method とする.
                                                              (line   6)
* skk-leim.el <1>:                       ファイル構成.        (line 178)
* skk-look.el:                           ファイル構成.        (line 185)
* skk-look.el <1>:                       skk-look.            (line   6)
* skk-look.el <2>:                       Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?.
                                                              (line   6)
* skk-lookup.el:                         ファイル構成.        (line 191)
* skk-lookup.el <1>:                     skk-lookup.          (line   6)
* skk-lookup.el <2>:                     Q5-2 市販の CD-ROM 辞書やネットワークの辞書サーバが利用できますか?.
                                                              (line   6)
* skk-macs.el:                           ファイル構成.        (line 197)
* skk-num.el:                            ファイル構成.        (line 201)
* skk-server-completion.el:              ファイル構成.        (line 215)
* skk-server.el:                         ファイル構成.        (line 221)
* skk-setup.el:                          ファイル構成.        (line 227)
* skk-show-mode.el:                      ファイル構成.        (line 233)
* skk-sticky.el:                         ファイル構成.        (line 239)
* skk-sticky.el <1>:                     変換位置の指定方法.  (line   6)
* skk-study.el:                          ファイル構成.        (line 245)
* skk-study.el <1>:                      変換の学習.          (line   6)
* skk-tankan.el:                         ファイル構成.        (line 252)
* skk-tankan.el <1>:                     単漢字変換.          (line   6)
* skk-tut.el:                            ファイル構成.        (line 258)
* skk-tutcode.el:                        ファイル構成.        (line 264)
* skk-vars.el:                           ファイル構成.        (line  11)
* skk-version.el:                        ファイル構成.        (line 272)
* skk-viper.el:                          ファイル構成.        (line 276)
* skk.el:                                ファイル構成.        (line   6)
* skkdic-expr:                           Q4-4 SKK 形式の英和辞書があると聞いたのですが。.
                                                              (line   6)
* skkdic-sort:                           Q4-4 SKK 形式の英和辞書があると聞いたのですが。.
                                                              (line   6)
* SKKSERV:                               辞書サーバを使いたいときの設定.
                                                              (line  46)
* SKKSERVER:                             辞書サーバを使いたいときの設定.
                                                              (line  46)
* SKK_JISYO:                             辞書サーバを使いたいときの設定.
                                                              (line  46)
* Text Properties:                       ▼モードにおける変換候補のハイライト表示.
                                                              (line  11)
* TUT-code:                              TUT-code.            (line   6)
* VIP:                                   VIP/VIPERとの併用.   (line   6)
* vip.el:                                VIP/VIPERとの併用.   (line   6)
* VIPER:                                 VIP/VIPERとの併用.   (line   6)
* viper.el:                              VIP/VIPERとの併用.   (line   6)
* xmodmap:                               Q3-4 左手の小指を SHIFT で酷使したくありません。.
                                                              (line  54)
* かなモード:                            入力モードの説明.    (line   6)
* かな入力:                              かな入力と親指シフト.
                                                              (line   6)
* はじめに:                              はじめに.            (line   6)
* アスキーモード:                        入力モードの説明.    (line  30)
* インストール:                          インストール.        (line   6)
* エントリ:                              送りありエントリと送りなしエントリ.
                                                              (line  29)
* オートフィル:                          SKKオートフィルモード.
                                                              (line   6)
* カナモード:                            入力モードの説明.    (line  14)
* キー設定:                              キー設定.            (line   6)
* サ変動詞の辞書登録に関する注意:        サ変動詞の辞書登録に関する注意.
                                                              (line   6)
* チュートリアル:                        チュートリアル.      (line   6)
* チュートリアル <1>:                    Q3-6 チュートリアルが起動できません。.
                                                              (line   6)
* トグル変換:                            かなモードからカタカナを入力.
                                                              (line   6)
* ハイライト:                            ▼モード.             (line   6)
* プログラム実行変換:                    今日の日付の入力.    (line   6)
* メニューバー:                          領域の操作.          (line   7)
* メニューバー <1>:                      変換及び個人辞書に関する統計.
                                                              (line  33)
* ローマ字プレフィックス:                送りありエントリと送りなしエントリ.
                                                              (line  57)
* ローマ字入力:                          ■モード.             (line  12)
* 二分検索:                              辞書検索のための関数.
                                                              (line  20)
* 個人辞書:                              辞書の種類.          (line  20)
* 個人辞書 <1>:                          個人辞書の保存動作.  (line   6)
* 個人辞書のオートセーブ:                個人辞書の保存動作.  (line   6)
* 個人辞書エントリの削除:                誤った登録の削除.    (line   6)
* 全英モード:                            入力モードの説明.    (line  22)
* 共有辞書:                              辞書の種類.          (line   7)
* 再変換:                                直前の確定を再変換.  (line   6)
* 再帰的辞書登録:                        再帰的辞書登録.      (line   6)
* 単漢字:                                単漢字変換.          (line   6)
* 和英変換:                              Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?.
                                                              (line   6)
* 品詞情報:                              Q4-2 SKK の辞書には、品詞情報がないんですね。.
                                                              (line   6)
* 変換開始:                              ▼モード.             (line   6)
* 大字:                                  数値変換.            (line   6)
* 後から▽モードに入る方法:               後から▽モードに入る方法.
                                                              (line   6)
* 後から▽モードに入る方法 <1>:           ポイントを戻して▽モードへ.
                                                              (line   6)
* 接尾辞:                                接頭辞・接尾辞.      (line   6)
* 接頭辞:                                接頭辞・接尾辞.      (line   6)
* 改行文字を含む文字列の辞書登録:        改行文字を含む辞書登録.
                                                              (line   6)
* 数をパラメータとする語の変換:          数値変換.            (line   6)
* 数値再変換:                            数値変換.            (line   6)
* 数字から始まる見出し語の入力:          後から▽モードに入る方法.
                                                              (line  35)
* 文脈に応じた自動モード切り替え:        文脈に応じた自動モード切り替え.
                                                              (line   6)
* 日本語入力コンソーシアム:              Q3-4 左手の小指を SHIFT で酷使したくありません。.
                                                              (line  69)
* 暗黙の確定:                            ▼モード.             (line   6)
* 暗黙の確定 <1>:                        送り仮名が無い場合の辞書登録.
                                                              (line  20)
* 暗黙の確定 <2>:                        暗黙の確定のタイミング.
                                                              (line   6)
* 暗黙の確定 <3>:                        確定辞書.            (line  25)
* 漢数字:                                数値変換.            (line   6)
* 画数変換:                              総画数による単漢字変換.
                                                              (line   6)
* 直線的検索:                            辞書検索のための関数.
                                                              (line  20)
* 確定アンドゥ:                          直前の確定を再変換.  (line   6)
* 確定入力:                              ■モード.             (line   6)
* 確定入力モード:                        ■モード.             (line   6)
* 確定変換:                              確定辞書.            (line   6)
* 確定変換 <1>:                          辞書検索のための関数.
                                                              (line  39)
* 確定辞書:                              確定辞書.            (line   6)
* 英単語の検索:                          Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?.
                                                              (line   6)
* 英和辞書:                              Q4-4 SKK 形式の英和辞書があると聞いたのですが。.
                                                              (line   6)
* 補完:                                  補完.                (line   6)
* 見出し語の補完:                        補完.                (line   6)
* 親指シフト:                            かな入力と親指シフト.
                                                              (line   6)
* 親指シフト入力:                        Q3-4 左手の小指を SHIFT で酷使したくありません。.
                                                              (line  65)
* 誤登録:                                誤った登録の削除.    (line   6)
* 読みの補完:                            補完.                (line   6)
* 辞書のソート方法:                      エントリの配列.      (line   6)
* 辞書のマージ:                          Q4-3 複数の SKK 辞書を結合できますか?.
                                                              (line   6)
* 辞書バッファの名付け規則:              辞書バッファ.        (line   6)
* 辞書変換対象の文字列の決定:            ▽モード.             (line   6)
* 辞書登録:                              辞書登録モード.      (line   6)
* 送りありエントリ:                      送りありエントリと送りなしエントリ.
                                                              (line  43)
* 送りあり変換:                          送りありエントリと送りなしエントリ.
                                                              (line  46)
* 送りなしエントリ:                      送りありエントリと送りなしエントリ.
                                                              (line  44)
* 送りなし変換:                          送りありエントリと送りなしエントリ.
                                                              (line  46)
* 逆引き:                                領域の操作.          (line  25)
* 部首変換:                              部首による単漢字変換.
                                                              (line   6)
* 金額:                                  数値変換.            (line   6)


File: skk.info,  Node: 変数索引,  Next: 関数索引,  Prev: 事項索引,  Up: Top

変数索引
********

[index]
* Menu:

* buffer-file-name:                      辞書バッファのbuffer-file-name.
                                                              (line   6)
* context-skk-mode-off-message:          文脈に応じた自動モード切り替え.
                                                              (line  44)
* context-skk-programming-mode:          文脈に応じた自動モード切り替え.
                                                              (line  41)
* default-input-method:                  DDSKK を Emacs の Input Method とする.
                                                              (line  28)
* isearch-mode-end-hook:                 インクリメント検索の設定.
                                                              (line   6)
* isearch-mode-hook:                     インクリメント検索の設定.
                                                              (line   6)
* key-translation-map:                   Q3-4 左手の小指を SHIFT で酷使したくありません。.
                                                              (line  46)
* major-mode:                            辞書バッファ.        (line   6)
* minibuffer-exit-hook:                  送り仮名の厳密なマッチ.
                                                              (line   6)
* minibuffer-setup-hook:                 送り仮名の厳密なマッチ.
                                                              (line   6)
* mode-name:                             辞書バッファ.        (line   6)
* package-archives:                      MELPA によるインストール.
                                                              (line   6)
* skk-abbrev-mode-string:                入力モードを示すモードラインの文字列の変更.
                                                              (line  21)
* skk-act-load-hook:                     フック.              (line  31)
* skk-allow-spaces-newlines-and-tabs:    空白・改行・タブを含んだ見出し語の変換.
                                                              (line  50)
* skk-allow-spaces-newlines-and-tabs <1>: ポイントを戻して▽モードへ.
                                                              (line   6)
* skk-allow-spaces-newlines-and-tabs <2>: ポイントを戻して▽モードへ.
                                                              (line  37)
* skk-annotation-browse-key:             Wikipedia/Wiktionary からアノテーションを取得する.
                                                              (line  42)
* skk-annotation-copy-key:               アノテーションの使用.
                                                              (line  38)
* skk-annotation-delay:                  アノテーションの使用.
                                                              (line  33)
* skk-annotation-dict-program:           外部コマンドからアノテーションを取得する.
                                                              (line  13)
* skk-annotation-dict-program-arguments: 外部コマンドからアノテーションを取得する.
                                                              (line  17)
* skk-annotation-function:               アノテーションの使用.
                                                              (line  84)
* skk-annotation-lookup-dict:            外部コマンドからアノテーションを取得する.
                                                              (line   8)
* skk-annotation-lookup-DictionaryServices: Apple OS X 「辞書」サービスからアノテーションを取得する.
                                                              (line   9)
* skk-annotation-lookup-lookup:          アノテーションとして EPWING 辞書を表示する.
                                                              (line  54)
* skk-annotation-other-sources:          Wikipedia/Wiktionary からアノテーションを取得する.
                                                              (line  49)
* skk-annotation-python-program:         Apple OS X 「辞書」サービスからアノテーションを取得する.
                                                              (line  20)
* skk-annotation-show-as-message:        アノテーションの使用.
                                                              (line  44)
* skk-annotation-toggle-display-char:    アノテーションの使用.
                                                              (line  56)
* skk-annotation-wikipedia-key:          Wikipedia/Wiktionary からアノテーションを取得する.
                                                              (line  38)
* skk-auto-fill-mode-hook:               フック.              (line  12)
* skk-auto-insert-paren:                 閉じ括弧の自動入力.  (line  10)
* skk-auto-load-hook:                    フック.              (line  31)
* skk-auto-okuri-process:                自動変換開始.        (line  22)
* skk-auto-okuri-process <1>:            どのように変換されるか.
                                                              (line   6)
* skk-auto-okuri-process <2>:            送りあり変換の変換開始のタイミング.
                                                              (line   7)
* skk-auto-okuri-process <3>:            送りありエントリのブロック形式.
                                                              (line  17)
* skk-auto-paren-string-alist:           閉じ括弧の自動入力.  (line  27)
* skk-auto-start-henkan:                 自動変換開始.        (line  47)
* skk-auto-start-henkan-keyword-list:    自動変換開始.        (line  38)
* skk-aux-large-jisyo:                   辞書ファイルの指定.  (line  66)
* skk-azik-keyboard-type:                AZIK.                (line  73)
* skk-azik-load-hook:                    フック.              (line  31)
* skk-backup-jisyo:                      辞書の保存.          (line   6)
* skk-backup-jisyo <1>:                  辞書ファイルの指定.  (line  46)
* skk-bayesian-corpus-file:              ベイズ統計を用いた学習.
                                                              (line  53)
* skk-bayesian-corpus-make:              ベイズ統計を用いた学習.
                                                              (line  50)
* skk-bayesian-debug:                    ベイズ統計を用いた学習.
                                                              (line  20)
* skk-bayesian-history-file:             ベイズ統計を用いた学習.
                                                              (line  47)
* skk-bayesian-host:                     ベイズ統計を用いた学習.
                                                              (line  39)
* skk-bayesian-port:                     ベイズ統計を用いた学習.
                                                              (line  43)
* skk-bayesian-prefer-server:            ベイズ統計を用いた学習.
                                                              (line  33)
* skk-byte-compile-init-file:            skk-init-fileの自動コンパイル.
                                                              (line   6)
* skk-candidate-buffer-background-color: 変換候補一覧の表示方法.
                                                              (line 118)
* skk-candidate-buffer-background-color-odd: 変換候補一覧の表示方法.
                                                              (line 122)
* skk-cdb-large-jisyo:                   最も基本的な設定.    (line   6)
* skk-cdb-large-jisyo <1>:               辞書ファイルの指定.  (line  50)
* skk-check-okurigana-on-touroku:        送り仮名が有る場合の辞書登録.
                                                              (line  39)
* skk-coding-system-alist:               辞書バッファの文字コードの設定.
                                                              (line   6)
* skk-comp-circulate:                    読みの補完.          (line  77)
* skk-comp-load-hook:                    フック.              (line  31)
* skk-compare-jisyo-size-when-saving:    個人辞書の保存動作.  (line  47)
* skk-completion-prog-list:              読みの補完.          (line  69)
* skk-completion-search-char:            Lisp シンボル名の補完検索変換.
                                                              (line  73)
* skk-count-private-jisyo-candidates-exactly: 変換及び個人辞書に関する統計.
                                                              (line  26)
* skk-cursor-abbrev-color:               入力モードを示すカーソル色に関する設定.
                                                              (line  39)
* skk-cursor-default-color:              入力モードを示すカーソル色に関する設定.
                                                              (line  16)
* skk-cursor-hiragana-color:             入力モードを示すカーソル色に関する設定.
                                                              (line  20)
* skk-cursor-jisx0201-color:             入力モードを示すカーソル色に関する設定.
                                                              (line  28)
* skk-cursor-jisx0208-latin-color:       入力モードを示すカーソル色に関する設定.
                                                              (line  32)
* skk-cursor-katakana-color:             入力モードを示すカーソル色に関する設定.
                                                              (line  24)
* skk-cursor-latin-color:                入力モードを示すカーソル色に関する設定.
                                                              (line  35)
* skk-date-ad:                           今日の日付の入力.    (line  10)
* skk-dcomp-activate:                    動的補完.            (line  98)
* skk-dcomp-face:                        動的補完.            (line 105)
* skk-dcomp-multiple-activate:           動的補完.            (line 110)
* skk-dcomp-multiple-face:               動的補完.            (line 131)
* skk-dcomp-multiple-rows:               動的補完.            (line 127)
* skk-dcomp-multiple-selected-face:      動的補完.            (line 140)
* skk-dcomp-multiple-trailing-face:      動的補完.            (line 135)
* skk-delete-implies-kakutei:            ▼モードでのBS.       (line  21)
* skk-delete-okuri-when-quit:            送りあり変換中のC-g. (line  21)
* skk-display-code-char-face:            文字コードを知る方法.
                                                              (line  23)
* skk-display-code-prompt-face:          文字コードを知る方法.
                                                              (line  19)
* skk-display-code-tankan-annotation-face: 文字コードを知る方法.
                                                              (line  31)
* skk-display-code-tankan-radical-face:  文字コードを知る方法.
                                                              (line  27)
* skk-echo:                              仮名文字のローマ字プレフィックスのエコー.
                                                              (line   6)
* skk-egg-like-newline:                  ▼モードでのRET.      (line  24)
* skk-emacs-abbrev-face:                 インジケータ.        (line  19)
* skk-emacs-hiragana-face:               インジケータ.        (line  19)
* skk-emacs-jisx0201-face:               インジケータ.        (line  19)
* skk-emacs-jisx0208-latin-face:         インジケータ.        (line  19)
* skk-emacs-katakana-face:               インジケータ.        (line  19)
* skk-extra-jisyo-file-list:             辞書ファイルの指定.  (line  70)
* skk-force-registration-mode-char:      強制的に辞書登録モードへ入る.
                                                              (line   9)
* skk-gadget-load-hook:                  フック.              (line  31)
* skk-gyakubiki-jisyo-list:              領域の操作.          (line  97)
* skk-henkan-face:                       ▼モードにおける変換候補のハイライト表示.
                                                              (line  14)
* skk-henkan-number-to-display-candidates: 次候補・前候補.    (line  61)
* skk-henkan-okuri-strictly:             送り仮名の厳密なマッチ.
                                                              (line  17)
* skk-henkan-okuri-strictly <1>:         送り仮名の優先的なマッチ.
                                                              (line  22)
* skk-henkan-okuri-strictly <2>:         送りあり変換の変換開始のタイミング.
                                                              (line   7)
* skk-henkan-okuri-strictly <3>:         送りありエントリのブロック形式.
                                                              (line  17)
* skk-henkan-rest-indicator:             候補の選択に用いるキー.
                                                              (line  25)
* skk-henkan-rest-indicator-face:        候補の選択に用いるキー.
                                                              (line  29)
* skk-henkan-show-candidates-keys:       候補の選択に用いるキー.
                                                              (line  15)
* skk-henkan-show-candidates-keys-face:  候補の選択に用いるキー.
                                                              (line  22)
* skk-henkan-strict-okuri-precedence:    送り仮名の優先的なマッチ.
                                                              (line  21)
* skk-hint-start-char:                   候補の絞り込み.      (line  77)
* skk-hiragana-mode-string:              入力モードを示すモードラインの文字列の変更.
                                                              (line  12)
* skk-icon:                              アイコン.            (line  11)
* skk-indicator-prefix:                  インジケータの装飾.  (line   8)
* skk-indicator-suffix-func:             インジケータの装飾.  (line  12)
* skk-indicator-use-cursor-color:        インジケータ.        (line   6)
* skk-inhibit-ja-dic-search:             Emacs 付属の辞書.    (line  30)
* skk-initial-search-jisyo:              辞書の種類.          (line  30)
* skk-initial-search-jisyo <1>:          辞書ファイルの指定.  (line  14)
* skk-inline-show-background-color:      変換候補一覧の表示方法.
                                                              (line  30)
* skk-inline-show-background-color-odd:  変換候補一覧の表示方法.
                                                              (line  37)
* skk-inline-show-face:                  変換候補一覧の表示方法.
                                                              (line  21)
* skk-isearch-mode-enable:               インクリメント検索の設定.
                                                              (line   8)
* skk-isearch-mode-string-alist:         skk-isearchと入力モード.
                                                              (line   6)
* skk-isearch-start-mode:                起動時の入力モードの指定.
                                                              (line   6)
* skk-isearch-use-previous-mode:         起動時の入力モードの指定.
                                                              (line  28)
* skk-isearch-whitespace-regexp:         間に空白等を含む文字列の検索.
                                                              (line  28)
* skk-itaiji-jisyo:                      異体字へ変換する.    (line  28)
* skk-j-mode-function-key-usage:         ファンクションキーの使い方.
                                                              (line   6)
* skk-j-mode-function-key-usage <1>:     冗長な案内メッセージの表示.
                                                              (line  18)
* skk-japanese-message-and-error:        エラーなどの日本語表示.
                                                              (line   9)
* skk-jisx0208-latin-mode-string:        入力モードを示すモードラインの文字列の変更.
                                                              (line  18)
* skk-jisyo:                             辞書の保存.          (line   6)
* skk-jisyo <1>:                         辞書の種類.          (line  20)
* skk-jisyo <2>:                         辞書ファイルの指定.  (line  27)
* skk-jisyo-code:                        辞書バッファの文字コードの設定.
                                                              (line   6)
* skk-jisyo-fix-order:                   候補の順序の固定.    (line   9)
* skk-jisyo-registration-badge-face:     辞書登録モード.      (line  45)
* skk-jisyo-save-count:                  個人辞書の保存動作.  (line  51)
* skk-kakasi-load-hook:                  フック.              (line  31)
* skk-kakutei-early:                     暗黙の確定のタイミング.
                                                              (line  34)
* skk-kakutei-early <1>:                 送りあり変換の変換開始のタイミング.
                                                              (line   7)
* skk-kakutei-henkan-flag:               辞書検索のための関数.
                                                              (line  39)
* skk-kakutei-jisyo:                     確定辞書.            (line   6)
* skk-kakutei-jisyo <1>:                 確定辞書.            (line  50)
* skk-kakutei-jisyo <2>:                 辞書の種類.          (line  30)
* skk-kakutei-jisyo <3>:                 辞書ファイルの指定.  (line  10)
* skk-kakutei-key:                       確定するキー.        (line   6)
* skk-kakutei-search-prog-limit:         積極的な確定.        (line  26)
* skk-kakutei-when-unique-candidate:     積極的な確定.        (line   9)
* skk-kana-input-search-function:        ■モードに関連するその他の変数.
                                                              (line   6)
* skk-kana-rom-vector:                   辞書登録の際に注意すべきこと.
                                                              (line  58)
* skk-kanagaki-keyboard-type:            かな入力と親指シフト.
                                                              (line  27)
* skk-katakana-mode-string:              入力モードを示すモードラインの文字列の変更.
                                                              (line  15)
* skk-kcode-charset:                     文字コードまたはメニューによる文字入力.
                                                              (line   6)
* skk-kcode-charset <1>:                 文字コード一覧.      (line   6)
* skk-kcode-load-hook:                   フック.              (line  31)
* skk-kcode-method:                      メニューによる文字入力.
                                                              (line  48)
* skk-keep-record:                       変換及び個人辞書に関する統計.
                                                              (line  20)
* skk-kutouten-type:                     ■モードに関連するその他の変数.
                                                              (line  35)
* skk-large-jisyo:                       辞書ファイルの指定.  (line  56)
* skk-large-jisyo <1>:                   辞書バッファ.        (line   6)
* skk-latin-mode-string:                 入力モードを示すモードラインの文字列の変更.
                                                              (line   9)
* skk-list-chars-face:                   文字コード一覧.      (line  71)
* skk-list-chars-table-header-face:      文字コード一覧.      (line  68)
* skk-load-hook:                         フック.              (line  17)
* skk-look-expanded-word-only:           英単語をあいまいに変換して取り出した後、更に再帰的な英和変換を行う.
                                                              (line   6)
* skk-look-expanded-word-only <1>:       英単語をあいまいに変換して取り出した後、更に再帰的な英和変換を行う.
                                                              (line  40)
* skk-look-expanded-word-only <2>:       Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?.
                                                              (line   6)
* skk-look-recursive-search:             英単語をあいまいに変換して取り出した後、更に再帰的な英和変換を行う.
                                                              (line   6)
* skk-look-recursive-search <1>:         Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?.
                                                              (line   6)
* skk-look-use-ispell:                   Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?.
                                                              (line   6)
* skk-lookup-get-content-nth-dic:        アノテーションとして EPWING 辞書を表示する.
                                                              (line  37)
* skk-lookup-search-agents:              skk-lookup.          (line   6)
* skk-mode-hook:                         フック.              (line   7)
* skk-next-completion-char:              読みの補完.          (line  87)
* skk-num-convert-float:                 数値変換.            (line 109)
* skk-num-grouping-places:               数値変換.            (line 127)
* skk-num-grouping-separator:            数値変換.            (line 123)
* skk-num-load-hook:                     フック.              (line  31)
* skk-number-style:                      今日の日付の入力.    (line  15)
* skk-prefix-hiragana-face:              仮名文字のローマ字プレフィックスのエコー.
                                                              (line  32)
* skk-prefix-jisx0201-face:              仮名文字のローマ字プレフィックスのエコー.
                                                              (line  40)
* skk-prefix-katakana-face:              仮名文字のローマ字プレフィックスのエコー.
                                                              (line  36)
* skk-preload:                           起動と終了.          (line  24)
* skk-previous-candidate-keys:           次候補・前候補.      (line  47)
* skk-previous-completion-backtab-key:   読みの補完.          (line 101)
* skk-previous-completion-char:          読みの補完.          (line  91)
* skk-previous-completion-use-backtab:   読みの補完.          (line  95)
* skk-process-okuri-early:               暗黙の確定のタイミング.
                                                              (line   6)
* skk-process-okuri-early <1>:           送り仮名の厳密なマッチ.
                                                              (line  18)
* skk-process-okuri-early <2>:           送り仮名の優先的なマッチ.
                                                              (line  22)
* skk-process-okuri-early <3>:           送りあり変換の変換開始のタイミング.
                                                              (line   6)
* skk-process-okuri-early <4>:           送りありエントリのブロック形式.
                                                              (line  27)
* skk-read-from-minibuffer-function:     辞書登録モード.      (line  37)
* skk-read-from-minibuffer-function <1>: Google CGI API for Japanese Input を利用したかな漢字変換.
                                                              (line   6)
* skk-record-file:                       変換及び個人辞書に関する統計.
                                                              (line  16)
* skk-rom-kana-base-rule-list:           ローマ字のルールの設定.
                                                              (line   7)
* skk-rom-kana-rule-list:                ローマ字のルールの設定.
                                                              (line   8)
* skk-rom-kana-rule-list <1>:            閉じ括弧の自動入力.  (line  36)
* skk-romaji-*-by-hepburn:               領域の操作.          (line 111)
* skk-save-jisyo-instantly:              個人辞書の保存動作.  (line   6)
* skk-save-jisyo-instantly <1>:          個人辞書の保存動作.  (line  60)
* skk-search-excluding-word-pattern-function: 次候補・前候補. (line  54)
* skk-search-excluding-word-pattern-function <1>: 英単語をあいまいに変換して取り出す.
                                                              (line   6)
* skk-search-katakana:                   カタカナ変換.        (line   6)
* skk-search-prog-list:                  辞書検索の設定の具体例.
                                                              (line   6)
* skk-search-prog-list <1>:              Google CGI API for Japanese Input を利用したかな漢字変換.
                                                              (line   6)
* skk-search-prog-list <2>:              Q3-3 検索する辞書を増やしたいのですが。.
                                                              (line   6)
* skk-search-prog-list <3>:              Q5-2 市販の CD-ROM 辞書やネットワークの辞書サーバが利用できますか?.
                                                              (line   6)
* skk-search-sagyo-henkaku:              サ変動詞変換.        (line   6)
* skk-self-insert-non-undo-count:        1回の取り消し操作(undo)の対象.
                                                              (line   6)
* skk-server-completion-search-char:     サーバコンプリージョン.
                                                              (line  42)
* skk-server-host:                       辞書サーバを使いたいときの設定.
                                                              (line  11)
* skk-server-inhibit-startup-server:     辞書サーバを使いたいときの設定.
                                                              (line  20)
* skk-server-inhibit-startup-server <1>: サーバ関連.          (line  44)
* skk-server-jisyo:                      辞書サーバを使いたいときの設定.
                                                              (line  40)
* skk-server-load-hook:                  フック.              (line  31)
* skk-server-portnum:                    辞書サーバを使いたいときの設定.
                                                              (line  15)
* skk-server-prog:                       辞書サーバを使いたいときの設定.
                                                              (line  36)
* skk-server-remote-shell-program:       サーバ関連.          (line  55)
* skk-server-report-response:            サーバ関連.          (line  34)
* skk-servers-list:                      サーバ関連.          (line   9)
* skk-share-private-jisyo:               個人辞書の保存動作.  (line  64)
* skk-show-annotation:                   アノテーションの使用.
                                                              (line   6)
* skk-show-annotation <1>:               冗長な案内メッセージの表示.
                                                              (line  36)
* skk-show-candidates-always-pop-to-buffer: 変換候補一覧の表示方法.
                                                              (line 107)
* skk-show-candidates-nth-henkan-char:   次候補・前候補.      (line  57)
* skk-show-candidates-toggle-display-place-char: 変換候補一覧の表示方法.
                                                              (line 113)
* skk-show-icon:                         アイコン.            (line   6)
* skk-show-inline:                       変換候補一覧の表示方法.
                                                              (line  15)
* skk-show-japanese-menu:                エラーなどの日本語表示.
                                                              (line  14)
* skk-show-mode-inline-face:             入力モードを切り替えるキー.
                                                              (line  45)
* skk-show-mode-show:                    入力モードを切り替えるキー.
                                                              (line  26)
* skk-show-mode-style:                   入力モードを切り替えるキー.
                                                              (line  39)
* skk-show-num-type-info:                数値変換.            (line 118)
* skk-show-tooltip:                      変換候補一覧の表示方法.
                                                              (line  40)
* skk-special-midashi-char-list:         接頭辞・接尾辞.      (line  94)
* skk-start-henkan-with-completion-char: 補完しながら変換.    (line  41)
* skk-status-indicator:                  起動と終了.          (line  16)
* skk-sticky-double-interval:            変換位置の指定方法.  (line  63)
* skk-study-associates-number:           変換の学習.          (line   6)
* skk-study-backup-file:                 変換の学習.          (line  76)
* skk-study-check-alist-format:          変換の学習.          (line  86)
* skk-study-file:                        変換の学習.          (line  71)
* skk-study-first-candidate:             変換の学習.          (line  65)
* skk-study-max-distance:                変換の学習.          (line  51)
* skk-study-search-times:                変換の学習.          (line   6)
* skk-study-sort-saving:                 変換の学習.          (line  80)
* skk-tankan-face:                       部首による単漢字変換.
                                                              (line  48)
* skk-tankan-radical-name-face:          部首による単漢字変換.
                                                              (line  53)
* skk-tankan-search-key:                 検索キーの設定.      (line  10)
* skk-tooltip-face:                      変換候補一覧の表示方法.
                                                              (line  49)
* skk-tooltip-hide-delay:                変換候補一覧の表示方法.
                                                              (line  97)
* skk-tooltip-mouse-behavior:            変換候補一覧の表示方法.
                                                              (line  60)
* skk-tooltip-parameters:                変換候補一覧の表示方法.
                                                              (line 102)
* skk-treat-candidate-appearance-function: 変換候補の更なる装飾.
                                                              (line   8)
* skk-try-completion-char:               読みの補完.          (line  84)
* skk-tut-file:                          チュートリアル.      (line   6)
* skk-tut-file <1>:                      チュートリアル.      (line  10)
* skk-tut-file <2>:                      Q3-6 チュートリアルが起動できません。.
                                                              (line  17)
* skk-tut-lang:                          チュートリアル.      (line  22)
* skk-tut-use-face:                      チュートリアル.      (line  27)
* skk-undo-kakutei-return-previous-point: 直前の確定を再変換. (line  46)
* skk-units-alist:                       プログラム実行変換.  (line  81)
* skk-use-act:                           ACT.                 (line  12)
* skk-use-auto-enclose-pair-of-region:   リージョンを括弧で囲む.
                                                              (line  19)
* skk-use-auto-kutouten:                 ■モードに関連するその他の変数.
                                                              (line  62)
* skk-use-azik:                          AZIK.                (line  65)
* skk-use-color-cursor:                  入力モードを示すカーソル色に関する設定.
                                                              (line   6)
* skk-use-face:                          ▼モードにおける変換候補のハイライト表示.
                                                              (line   6)
* skk-use-kana-keyboard:                 かな入力と親指シフト.
                                                              (line  20)
* skk-use-look:                          英単語の補完.        (line   6)
* skk-use-look <1>:                      Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?.
                                                              (line   6)
* skk-use-numeric-conversion:            数値変換.            (line 132)
* skk-use-search-web:                    Google CGI API for Japanese Input を利用したかな漢字変換.
                                                              (line   6)
* skk-use-viper:                         VIP/VIPERとの併用.   (line   6)
* skk-user-directory:                    設定ファイル.        (line  23)
* skk-verbose:                           冗長な案内メッセージの表示.
                                                              (line   6)
* skk-verbose-intention-face:            冗長な案内メッセージの表示.
                                                              (line  72)
* skk-verbose-kbd-face:                  冗長な案内メッセージの表示.
                                                              (line  75)
* skk-verbose-message-interval:          冗長な案内メッセージの表示.
                                                              (line  67)
* skk-verbose-wait:                      冗長な案内メッセージの表示.
                                                              (line  64)
* skk-version-codename-ja:               エラーなどの日本語表示.
                                                              (line  19)
* tex-mode-hook:                         閉じ括弧の自動入力.  (line  75)
* yatex-mode:                            閉じ括弧の自動入力.  (line  61)


File: skk.info,  Node: 関数索引,  Next: キー索引,  Prev: 変数索引,  Up: Top

関数索引
********

[index]
* Menu:

* coding-system-p:                       辞書バッファの文字コードの設定.
                                                              (line   6)
* convert-standard-filename:             設定ファイル.        (line  17)
* describe-coding-system:                辞書バッファの文字コードの設定.
                                                              (line   6)
* eval-after-load:                       フック.              (line  37)
* find-coding-system:                    辞書バッファの文字コードの設定.
                                                              (line   6)
* fundamental-mode:                      辞書バッファ.        (line   6)
* isearch-backward-regexp:               間に空白等を含む文字列の検索.
                                                              (line  25)
* isearch-forward-regexp:                間に空白等を含む文字列の検索.
                                                              (line  20)
* list-coding-systems:                   辞書バッファの文字コードの設定.
                                                              (line   6)
* package-initialize:                    MELPA によるインストール.
                                                              (line   6)
* register-input-method:                 はじめの設定.        (line  28)
* save-some-buffers:                     辞書バッファのbuffer-file-name.
                                                              (line   6)
* self-insert-command:                   1回の取り消し操作(undo)の対象.
                                                              (line   6)
* skk-abbrev-comma:                      1回の取り消し操作(undo)の対象.
                                                              (line   6)
* skk-abbrev-period:                     1回の取り消し操作(undo)の対象.
                                                              (line   6)
* skk-annotation-add:                    アノテーションの登録.
                                                              (line   6)
* skk-annotation-kill:                   アノテーションの登録.
                                                              (line   6)
* skk-annotation-remove:                 アノテーションの登録.
                                                              (line   6)
* skk-backward-and-set-henkan-point:     ポイントを戻して▽モードへ.
                                                              (line   6)
* skk-calc:                              プログラム実行変換.  (line  31)
* skk-comp-by-server-completion:         サーバコンプリージョン.
                                                              (line   9)
* skk-comp-lisp-symbol:                  読みの補完.          (line 105)
* skk-count-jisyo-candidates:            変換及び個人辞書に関する統計.
                                                              (line  33)
* skk-find-coding-system:                辞書バッファの文字コードの設定.
                                                              (line   6)
* skk-gadget-units-conversion:           プログラム実行変換.  (line  57)
* skk-get:                               辞書の入手.          (line  64)
* skk-gyakubiki-and-henkan:              領域の操作.          (line  52)
* skk-gyakubiki-katakana-message:        領域の操作.          (line  92)
* skk-gyakubiki-katakana-region:         領域の操作.          (line  57)
* skk-gyakubiki-message:                 領域の操作.          (line  91)
* skk-gyakubiki-region:                  領域の操作.          (line  30)
* skk-hiragana-region:                   領域の操作.          (line  10)
* skk-hurigana-katakana-message:         領域の操作.          (line  94)
* skk-hurigana-katakana-region:          領域の操作.          (line  73)
* skk-hurigana-message:                  領域の操作.          (line  93)
* skk-hurigana-region:                   領域の操作.          (line  64)
* skk-insert:                            1回の取り消し操作(undo)の対象.
                                                              (line   6)
* skk-jisx0208-latin-insert:             1回の取り消し操作(undo)の対象.
                                                              (line   6)
* skk-jisx0208-latin-region:             領域の操作.          (line  22)
* skk-kana-input:                        1回の取り消し操作(undo)の対象.
                                                              (line   6)
* skk-katakana-region:                   領域の操作.          (line  14)
* skk-kill-emacs-without-saving-jisyo:   辞書の保存.          (line  13)
* skk-latin-region:                      領域の操作.          (line  18)
* skk-lookup-get-content:                アノテーションとして EPWING 辞書を表示する.
                                                              (line  31)
* skk-lookup-search:                     skk-lookup.          (line   6)
* skk-lookup-search <1>:                 Q5-2 市販の CD-ROM 辞書やネットワークの辞書サーバが利用できますか?.
                                                              (line   6)
* skk-make-face:                         ▼モードにおける変換候補のハイライト表示.
                                                              (line  27)
* skk-okuri-search:                      辞書検索のための関数.
                                                              (line  48)
* skk-relative-date:                     プログラム実行変換.  (line 103)
* skk-restart:                           起動と終了.          (line  36)
* skk-romaji-message:                    領域の操作.          (line  95)
* skk-romaji-region:                     領域の操作.          (line  80)
* skk-search-cdb-jisyo:                  辞書検索のための関数.
                                                              (line  34)
* skk-search-itaiji:                     異体字へ変換する.    (line  36)
* skk-search-ja-dic:                     Emacs 付属の辞書.    (line  35)
* skk-search-jisyo-file:                 辞書検索のための関数.
                                                              (line  10)
* skk-search-kakutei-jisyo-file:         確定辞書.            (line   6)
* skk-search-kakutei-jisyo-file <1>:     辞書検索のための関数.
                                                              (line  38)
* skk-search-lisp-symbol:                Lisp シンボル名の補完検索変換.
                                                              (line  67)
* skk-search-server:                     辞書検索のための関数.
                                                              (line  59)
* skk-search-web:                        Google CGI API for Japanese Input を利用したかな漢字変換.
                                                              (line   6)
* skk-server-completion-search:          サーバコンプリージョン.
                                                              (line  16)
* skk-set-henkan-point:                  1回の取り消し操作(undo)の対象.
                                                              (line   6)
* skk-tankan-search:                     辞書の設定.          (line   6)
* skk-tutorial:                          チュートリアル.      (line   6)
* コマンド:                              辞書の入手.          (line  56)
* コマンド <1>:                          起動と終了.          (line  36)
* コマンド <2>:                          起動と終了.          (line  41)
* コマンド <3>:                          ベイズ統計を用いた学習.
                                                              (line  56)
* コマンド <4>:                          サーバ関連.          (line  73)
* コマンド <5>:                          アノテーションの登録.
                                                              (line   6)
* コマンド <6>:                          アノテーションの登録.
                                                              (line  20)
* コマンド <7>:                          アノテーションの登録.
                                                              (line  26)
* コマンド <8>:                          各種アノテーション機能を SKK の枠をこえて活用する.
                                                              (line  11)


File: skk.info,  Node: キー索引,  Prev: 関数索引,  Up: Top

キー索引
********

[index]
* Menu:

* $:                                     文字コードを知る方法.
                                                              (line   6)
* ,:                                     読みの補完.          (line  12)
* , <1>:                                 動的補完.            (line 123)
* , <2>:                                 Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?.
                                                              (line   6)
* .:                                     読みの補完.          (line  12)
* . <1>:                                 動的補完.            (line 123)
* . <2>:                                 強制的に辞書登録モードへ入る.
                                                              (line   6)
* . <3>:                                 Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?.
                                                              (line   6)
* /:                                     全英文字の入力.      (line   6)
* ;:                                     変換位置の指定方法.  (line   6)
* <:                                     メニューによる文字入力.
                                                              (line  36)
* >:                                     メニューによる文字入力.
                                                              (line  36)
* ?:                                     メニューによる文字入力.
                                                              (line  36)
* @:                                     今日の日付の入力.    (line   6)
* \:                                     文字コードまたはメニューによる文字入力.
                                                              (line   6)
* ^:                                     アノテーションの使用.
                                                              (line  56)
* <BS>:                                  ▼モードでのBS.       (line   6)
* C-f:                                   変換候補一覧の表示方法.
                                                              (line 114)
* C-g:                                   ▽モードを抜ける方法. (line   6)
* C-g <1>:                               送りあり変換中のC-g. (line   6)
* C-i:                                   Wikipedia/Wiktionary からアノテーションを取得する.
                                                              (line  38)
* C-j:                                   ▽モードを抜ける方法. (line   6)
* C-j <1>:                               確定するキー.        (line   6)
* C-o:                                   Wikipedia/Wiktionary からアノテーションを取得する.
                                                              (line  42)
* C-q:                                   全英文字の入力.      (line   6)
* C-q C-j:                               改行文字を含む辞書登録.
                                                              (line   6)
* C-r:                                   skk-isearchの操作性. (line  13)
* C-s:                                   skk-isearchの操作性. (line  13)
* C-u -1 C-x j:                          SKKオートフィルモード.
                                                              (line  16)
* C-u C-r:                               間に空白等を含む文字列の検索.
                                                              (line  25)
* C-u C-s:                               間に空白等を含む文字列の検索.
                                                              (line  20)
* C-u C-x j:                             SKKオートフィルモード.
                                                              (line  12)
* C-u <TAB>:                             読みの補完.          (line  64)
* C-u \:                                 文字コードまたはメニューによる文字入力.
                                                              (line   6)
* C-u 総画数 M-x skk-tankan:             総画数による単漢字変換.
                                                              (line   6)
* C-w:                                   アノテーションの使用.
                                                              (line  38)
* C-x 8 RET:                             文字コード一覧.      (line   6)
* C-x C-c:                               個人辞書の保存動作.  (line   6)
* C-x C-j:                               起動と終了.          (line   6)
* C-x C-j <1>:                           送りあり変換の変換開始のタイミング.
                                                              (line   6)
* C-x j:                                 起動と終了.          (line   6)
* C-x j <1>:                             SKKオートフィルモード.
                                                              (line   6)
* C-x j <2>:                             送りあり変換の変換開始のタイミング.
                                                              (line   6)
* C-\:                                   DDSKK を Emacs の Input Method とする.
                                                              (line   6)
* F1 1:                                  かな入力と親指シフト.
                                                              (line  69)
* F1 2:                                  かな入力と親指シフト.
                                                              (line  73)
* F12:                                   かな入力と親指シフト.
                                                              (line  78)
* M-- C-x j:                             SKKオートフィルモード.
                                                              (line  16)
* M-1 C-x j:                             SKKオートフィルモード.
                                                              (line  12)
* M-C-r:                                 skk-isearchの操作性. (line  13)
* M-C-r <1>:                             間に空白等を含む文字列の検索.
                                                              (line  25)
* M-C-s:                                 skk-isearchの操作性. (line  13)
* M-C-s <1>:                             間に空白等を含む文字列の検索.
                                                              (line  20)
* M-Q:                                   ポイントを戻して▽モードへ.
                                                              (line  10)
* M-<SPC>:                               補完しながら変換.    (line   6)
* M-v:                                   部首による単漢字変換.
                                                              (line  34)
* M-x context-skk-mode:                  文脈に応じた自動モード切り替え.
                                                              (line   6)
* M-x customize-group:                   Customize による設定変更.
                                                              (line  10)
* M-x isearch-backward-regexp:           間に空白等を含む文字列の検索.
                                                              (line  25)
* M-x isearch-forward-regexp:            間に空白等を含む文字列の検索.
                                                              (line  20)
* M-x list-charset-chars:                文字コード一覧.      (line   6)
* M-x list-input-methods:                DDSKK を Emacs の Input Method とする.
                                                              (line   6)
* M-x set-input-method:                  DDSKK を Emacs の Input Method とする.
                                                              (line   6)
* M-x skk-annotation-add:                アノテーションの登録.
                                                              (line   6)
* M-x skk-annotation-kill:               アノテーションの登録.
                                                              (line   6)
* M-x skk-annotation-remove:             アノテーションの登録.
                                                              (line   6)
* M-x skk-bayesian-kill-process:         ベイズ統計を用いた学習.
                                                              (line  56)
* M-x skk-count-jisyo-candidates:        変換及び個人辞書に関する統計.
                                                              (line  33)
* M-x skk-customize:                     skk-customize による設定変更.
                                                              (line   6)
* M-x skk-display-code-for-char-at-point: 文字コードを知る方法.
                                                              (line   6)
* M-x skk-edit-private-jisyo:            個人辞書ファイルの編集.
                                                              (line   6)
* M-x skk-emacs-customize:               Customize による設定変更.
                                                              (line  10)
* M-x skk-get:                           辞書の入手.          (line  56)
* M-x skk-gyakubiki-and-henkan:          領域の操作.          (line  52)
* M-x skk-gyakubiki-katakana-message:    領域の操作.          (line  92)
* M-x skk-gyakubiki-katakana-region:     領域の操作.          (line  57)
* M-x skk-gyakubiki-message:             領域の操作.          (line  91)
* M-x skk-gyakubiki-region:              領域の操作.          (line  30)
* M-x skk-hiragana-region:               領域の操作.          (line  10)
* M-x skk-hurigana-katakana-message:     領域の操作.          (line  94)
* M-x skk-hurigana-katakana-region:      領域の操作.          (line  73)
* M-x skk-hurigana-message:              領域の操作.          (line  93)
* M-x skk-hurigana-region:               領域の操作.          (line  64)
* M-x skk-hurigana-region <1>:           領域の操作.          (line  80)
* M-x skk-jisx0208-latin-region:         領域の操作.          (line  22)
* M-x skk-kanagaki-toggle-rom-kana:      かな入力と親指シフト.
                                                              (line  78)
* M-x skk-katakana-region:               領域の操作.          (line  14)
* M-x skk-kill-emacs-without-saving-jisyo: 辞書の保存.        (line  13)
* M-x skk-kill-emacs-without-saving-jisyo <1>: 個人辞書の保存動作.
                                                              (line  42)
* M-x skk-latin-region:                  領域の操作.          (line  18)
* M-x skk-list-chars:                    文字コード一覧.      (line   6)
* M-x skk-lookup-get-content-setup-dic:  アノテーションとして EPWING 辞書を表示する.
                                                              (line  44)
* M-x skk-restart:                       起動と終了.          (line  36)
* M-x skk-romaji-message:                領域の操作.          (line  95)
* M-x skk-show-mode:                     入力モードを切り替えるキー.
                                                              (line  26)
* M-x skk-study-copy-theme:              変換の学習.          (line 101)
* M-x skk-study-remove-theme:            変換の学習.          (line  98)
* M-x skk-study-switch-current-theme:    変換の学習.          (line  92)
* M-x skk-tankan:                        部首による単漢字変換.
                                                              (line   6)
* M-x skk-toggle-kutouten:               ■モードに関連するその他の変数.
                                                              (line  35)
* M-x skk-tutorial:                      チュートリアル.      (line   6)
* M-x skk-undo-kakutei:                  直前の確定を再変換.  (line   6)
* M-x skk-version:                       起動と終了.          (line  41)
* Q:                                     後から▽モードに入る方法.
                                                              (line   6)
* q:                                     かなモードからカタカナを入力.
                                                              (line   6)
* SHIFT TAB:                             読みの補完.          (line  95)
* SHIFT TAB <1>:                         動的補完.            (line 123)
* <TAB>:                                 読みの補完.          (line   6)
* <TAB> <1>:                             動的補完.            (line 123)
* X:                                     誤った登録の削除.    (line   6)
* x:                                     メニューによる文字入力.
                                                              (line  14)



Tag Table:
Node: Top877
Node: はじめに4299
Node: このバージョンのSKKについて4491
Node: SKKとはなにか6855
Ref: SKKとはなにか-Footnote-19277
Ref: SKKとはなにか-Footnote-29384
Node: インストール9531
Node: DDSKK のインストール9842
Ref: DDSKK のインストール-Footnote-110584
Ref: DDSKK のインストール-Footnote-211090
Node: GNU Emacs へのインストール11182
Node: 対話的なインストール12983
Node: MELPA によるインストール14502
Ref: MELPA によるインストール-Footnote-115063
Ref: MELPA によるインストール-Footnote-215136
Node: 辞書について15318
Node: 辞書の入手16419
Node: 辞書を DDSKK と同時にインストールする19046
Ref: 辞書を DDSKK と同時にインストールする-Footnote-120221
Node: 辞書サーバの入手20304
Node: はじめの設定21214
Ref: はじめの設定-Footnote-121944
Node: 最も基本的な設定22599
Ref: 最も基本的な設定-Footnote-124204
Ref: 最も基本的な設定-Footnote-224349
Ref: 最も基本的な設定-Footnote-324493
Node: インクリメント検索の設定24670
Ref: インクリメント検索の設定-Footnote-125630
Ref: インクリメント検索の設定-Footnote-226025
Node: 辞書サーバを使いたいときの設定26163
Node: DDSKK を Emacs の Input Method とする28679
Ref: DDSKK を Emacs の Input Method とする-Footnote-130100
Ref: DDSKK を Emacs の Input Method とする-Footnote-230138
Node: 基本的な使い方30204
Node: 起動と終了31080
Ref: 起動と終了-Footnote-133352
Ref: 起動と終了-Footnote-233512
Ref: 起動と終了-Footnote-333744
Node: SKKオートフィルモード33928
Ref: SKKオートフィルモード-Footnote-134956
Node: 辞書の保存35059
Node: 入力モード35884
Node: 入力モードの説明36294
Ref: 入力モードの説明-Footnote-137530
Node: 入力モードを切り替えるキー37648
Node: 変換モード39275
Node: ■モード40626
Node: ▽モード42074
Ref: ▽モード-Footnote-143004
Node: 後から▽モードに入る方法43070
Ref: 後から▽モードに入る方法-Footnote-144515
Node: ▽モードを抜ける方法44557
Node: ▼モード45392
Node: 送り仮名が無い場合46138
Ref: 送り仮名が無い場合-Footnote-147561
Ref: 送り仮名が無い場合-Footnote-247785
Node: 次候補・前候補47879
Ref: 次候補・前候補-Footnote-150807
Ref: 次候補・前候補-Footnote-250861
Ref: 次候補・前候補-Footnote-350905
Ref: 次候補・前候補-Footnote-451203
Node: 送り仮名が有る場合51268
Ref: 送り仮名が有る場合-Footnote-153230
Node: 辞書登録モード53316
Node: 送り仮名が無い場合の辞書登録55472
Ref: 送り仮名が無い場合の辞書登録-Footnote-156707
Node: 送り仮名が有る場合の辞書登録56900
Node: サ変動詞の辞書登録に関する注意58730
Ref: サ変動詞の辞書登録に関する注意-Footnote-159532
Node: 再帰的辞書登録60071
Node: 改行文字を含む辞書登録62426
Node: インクリメンタル・サーチ63090
Node: skk-isearchの操作性63674
Ref: skk-isearchの操作性-Footnote-164653
Ref: skk-isearchの操作性-Footnote-264714
Ref: skk-isearchの操作性-Footnote-364855
Node: skk-isearchと入力モード64893
Ref: skk-isearchと入力モード-Footnote-165726
Node: チュートリアル65839
Node: 便利な応用機能67248
Node: ファイル構成68818
Ref: ファイル構成-Footnote-176512
Node: ユーザオプションの設定方法76625
Node: 設定ファイル77386
Node: skk-init-fileの自動コンパイル80118
Node: フック81384
Node: Customize による設定変更83088
Node: skk-customize による設定変更84648
Node: カタカナ、英字入力の便法85500
Node: かなモードからカタカナを入力86245
Ref: かなモードからカタカナを入力-Footnote-188020
Ref: かなモードからカタカナを入力-Footnote-288219
Node: 全英文字の入力88745
Ref: 全英文字の入力-Footnote-189895
Ref: 全英文字の入力-Footnote-290310
Node: 領域の操作90485
Ref: 領域の操作-Footnote-195148
Ref: 領域の操作-Footnote-295509
Ref: 領域の操作-Footnote-395605
Node: カタカナの見出し語95854
Node: 文脈に応じた自動モード切り替え96568
Node: 補完98935
Node: 読みの補完99742
Ref: 読みの補完-Footnote-1104340
Ref: 読みの補完-Footnote-2104715
Node: 補完しながら変換104747
Node: 動的補完106144
Ref: 動的補完-Footnote-1111594
Ref: 動的補完-Footnote-2111722
Node: 便利な変換、その他の変換111847
Node: 単漢字変換112964
Node: 検索キーの設定114881
Node: 辞書の設定115573
Node: 総画数による単漢字変換117351
Ref: 総画数による単漢字変換-Footnote-1118115
Node: 部首による単漢字変換118171
Ref: 部首による単漢字変換-Footnote-1119858
Ref: 部首による単漢字変換-Footnote-2119900
Node: 部首の読みによる単漢字変換120010
Node: 候補の絞り込み121012
Node: 接頭辞・接尾辞123498
Node: 数値変換126482
Ref: 数値変換-Footnote-1131643
Ref: 数値変換-Footnote-2131783
Ref: 数値変換-Footnote-3131845
Ref: 数値変換-Footnote-4132010
Node: アスキー文字を見出し語とした変換132299
Node: 今日の日付の入力134013
Ref: 今日の日付の入力-Footnote-1136530
Node: プログラム実行変換136575
Ref: プログラム実行変換-Footnote-1141320
Ref: プログラム実行変換-Footnote-2141746
Ref: プログラム実行変換-Footnote-3141788
Node: 空白・改行・タブを含んだ見出し語の変換141818
Node: カタカナ変換143869
Ref: カタカナ変換-Footnote-1145086
Ref: カタカナ変換-Footnote-2145145
Node: サ変動詞変換145603
Ref: サ変動詞変換-Footnote-1147371
Node: 異体字へ変換する147834
Ref: 異体字へ変換する-Footnote-1148750
Node: ファンクションキーの使い方149022
Node: キー設定150340
Node: かなモード/カナモードのキー設定151234
Node: ローマ字のルールの設定151672
Node: ローマ字ルールの変更例153812
Node: ■モードに関連するその他の変数155434
Ref: ■モードに関連するその他の変数-Footnote-1158298
Node: 数字や記号文字の入力158388
Node: 全英モードのキー設定159687
Node: 閉じ括弧の自動入力161570
Ref: 閉じ括弧の自動入力-Footnote-1165603
Ref: 閉じ括弧の自動入力-Footnote-2166011
Node: リージョンを括弧で囲む166302
Node: 確定するキー167192
Node: 候補の選択に用いるキー167632
Ref: 候補の選択に用いるキー-Footnote-1168992
Ref: 候補の選択に用いるキー-Footnote-2169022
Node: ▼モードでのRET169297
Ref: ▼モードでのRET-Footnote-1170337
Node: ▼モードでのBS170580
Node: 送りあり変換中のC-g172337
Node: 変換位置の指定方法173512
Ref: 変換位置の指定方法-Footnote-1176223
Ref: 変換位置の指定方法-Footnote-2176560
Node: 1回の取り消し操作(undo)の対象176787
Ref: 1回の取り消し操作(undo)の対象-Footnote-1178973
Ref: 1回の取り消し操作(undo)の対象-Footnote-2179122
Ref: 1回の取り消し操作(undo)の対象-Footnote-3179927
Ref: 1回の取り消し操作(undo)の対象-Footnote-4180079
Node: 変換、確定の前後180213
Node: ポイントを戻して▽モードへ181075
Ref: ポイントを戻して▽モードへ-Footnote-1183240
Ref: ポイントを戻して▽モードへ-Footnote-2183294
Node: 直前の確定を再変換183416
Ref: 直前の確定を再変換-Footnote-1185656
Node: 自動変換開始185794
Ref: 自動変換開始-Footnote-1187629
Node: 暗黙の確定のタイミング187824
Ref: 暗黙の確定のタイミング-Footnote-1189651
Ref: 暗黙の確定のタイミング-Footnote-2189745
Node: 積極的な確定190040
Node: 確定辞書191628
Ref: 確定辞書-Footnote-1193437
Node: 送り仮名関連193810
Node: 送り仮名の厳密なマッチ194431
Ref: 送り仮名の厳密なマッチ-Footnote-1197210
Ref: 送り仮名の厳密なマッチ-Footnote-2197473
Node: 送り仮名の優先的なマッチ197885
Ref: 送り仮名の優先的なマッチ-Footnote-1199535
Ref: 送り仮名の優先的なマッチ-Footnote-2199675
Node: 送り仮名の自動処理199807
Node: どのように変換されるか200283
Ref: どのように変換されるか-Footnote-1203943
Ref: どのように変換されるか-Footnote-2204169
Ref: どのように変換されるか-Footnote-3204232
Ref: どのように変換されるか-Footnote-4204369
Ref: どのように変換されるか-Footnote-5204498
Node: 辞書登録の際に注意すべきこと204732
Ref: 辞書登録の際に注意すべきこと-Footnote-1209608
Node: 送りあり変換の変換開始のタイミング209701
Ref: 送りあり変換の変換開始のタイミング-Footnote-1211703
Node: 候補の順序211765
Node: 変換の学習212448
Ref: 変換の学習-Footnote-1218360
Ref: 変換の学習-Footnote-2218572
Node: 候補の順序の固定218614
Node: ベイズ統計を用いた学習219980
Ref: ベイズ統計を用いた学習-Footnote-1222337
Node: 辞書関連222372
Node: 辞書の種類223439
Node: 辞書ファイルの指定225381
Ref: 辞書ファイルの指定-Footnote-1230900
Node: 辞書の検索方法の設定231082
Node: 辞書検索の設定の具体例231529
Node: 辞書検索のための関数234182
Ref: 辞書検索のための関数-Footnote-1238110
Node: Emacs 付属の辞書238194
Node: サーバ関連240171
Node: サーバコンプリージョン243855
Node: 辞書の書式245459
Node: 送りありエントリと送りなしエントリ245797
Ref: 送りありエントリと送りなしエントリ-Footnote-1249281
Node: 送りありエントリのブロック形式249418
Ref: 送りありエントリのブロック形式-Footnote-1251405
Ref: 送りありエントリのブロック形式-Footnote-2251622
Node: エントリの配列251900
Ref: エントリの配列-Footnote-1253142
Ref: エントリの配列-Footnote-2253695
Node: 強制的に辞書登録モードへ入る253855
Node: 誤った登録の削除254471
Node: 個人辞書ファイルの編集255704
Ref: 個人辞書ファイルの編集-Footnote-1256576
Node: 個人辞書の保存動作256765
Ref: 個人辞書の保存動作-Footnote-1260460
Ref: 個人辞書の保存動作-Footnote-2260788
Ref: 個人辞書の保存動作-Footnote-3260977
Node: 変換及び個人辞書に関する統計261245
Node: 辞書バッファ263829
Ref: 辞書バッファ-Footnote-1264909
Node: 辞書バッファの文字コードの設定265479
Ref: 辞書バッファの文字コードの設定-Footnote-1266423
Ref: 辞書バッファの文字コードの設定-Footnote-2266652
Node: 辞書バッファのbuffer-file-name266718
Node: 注釈 (アノテーション)267758
Node: アノテーションの基礎268593
Ref: アノテーションの基礎-Footnote-1270334
Node: アノテーションの使用270399
Ref: アノテーションの使用-Footnote-1274567
Ref: アノテーションの使用-Footnote-2274730
Node: アノテーションの登録274785
Node: アノテーションとして EPWING 辞書を表示する276327
Ref: アノテーションとして EPWING 辞書を表示する-Footnote-1279628
Node: Apple OS X 「辞書」サービスからアノテーションを取得する279928
Ref: Apple OS X 「辞書」サービスからアノテーションを取得する-Footnote-1281440
Ref: Apple OS X 「辞書」サービスからアノテーションを取得する-Footnote-2281941
Node: Wikipedia/Wiktionary からアノテーションを取得する282255
Ref: Wikipedia/Wiktionary からアノテーションを取得する-Footnote-1284536
Node: 外部コマンドからアノテーションを取得する284648
Node: 各種アノテーション機能を SKK の枠をこえて活用する285623
Ref: 各種アノテーション機能を SKK の枠をこえて活用する-Footnote-1288440
Node: 文字コード関連288708
Node: 文字コードまたはメニューによる文字入力289168
Node: メニューによる文字入力291056
Ref: メニューによる文字入力-Footnote-1295183
Ref: メニューによる文字入力-Footnote-2295332
Ref: メニューによる文字入力-Footnote-3295403
Node: 文字コード一覧295643
Node: 文字コードを知る方法298019
Ref: 文字コードを知る方法-Footnote-1299695
Ref: 文字コードを知る方法-Footnote-2299822
Ref: 文字コードを知る方法-Footnote-3300099
Node: DDSKK 以外のツールを用いた辞書変換300163
Node: skk-lookup300678
Ref: skk-lookup-Footnote-1302357
Ref: skk-lookup-Footnote-2302432
Ref: skk-lookup-Footnote-3302563
Node: skk-look302760
Ref: skk-look-Footnote-1303289
Node: 英単語の補完303399
Ref: 英単語の補完-Footnote-1304399
Node: 英単語をあいまいに変換して取り出す304495
Node: 英単語をあいまいに変換して取り出した後、更に再帰的な英和変換を行う306015
Ref: 英単語をあいまいに変換して取り出した後、更に再帰的な英和変換を行う-Footnote-1307369
Node: Lisp シンボル名の補完検索変換307700
Ref: Lisp シンボル名の補完検索変換-Footnote-1310285
Node: Google CGI API for Japanese Input を利用したかな漢字変換310452
Node: 飾りつけ312161
Node: 仮名文字のローマ字プレフィックスのエコー312732
Ref: 仮名文字のローマ字プレフィックスのエコー-Footnote-1314491
Node: 入力モードを示すモードラインの文字列の変更314593
Ref: 入力モードを示すモードラインの文字列の変更-Footnote-1315748
Node: 入力モードを示すカーソル色に関する設定315801
Node: 変換候補一覧の表示方法317940
Ref: 変換候補一覧の表示方法-Footnote-1325006
Node: ▼モードにおける変換候補のハイライト表示325099
Ref: ▼モードにおける変換候補のハイライト表示-Footnote-1327162
Ref: ▼モードにおける変換候補のハイライト表示-Footnote-2327756
Node: 変換候補の更なる装飾327953
Node: モードラインの装飾330257
Node: インジケータ330513
Ref: インジケータ-Footnote-1331608
Ref: インジケータ-Footnote-2331677
Ref: インジケータ-Footnote-3331794
Node: インジケータの装飾331858
Node: アイコン332377
Ref: アイコン-Footnote-1332950
Node: ユーザガイダンス関連333085
Node: エラーなどの日本語表示333369
Node: 冗長な案内メッセージの表示334355
Node: I-search関連338244
Node: 起動時の入力モードの指定338519
Node: 間に空白等を含む文字列の検索339770
Node: VIP/VIPERとの併用342008
Ref: VIP/VIPERとの併用-Footnote-1342628
Node: picture-modeとの併用342911
Node: ローマ字入力以外の入力方式344083
Node: AZIK344533
Node: ACT347924
Node: TUT-code348465
Node: かな入力と親指シフト349240
Node: そのほかの拡張機能351751
Node: 交ぜ書き変換352113
Node: SKKに関する情報352547
Node: 最新情報352951
Node: SKKメーリングリスト354059
Node: SKK関連ソフトウェア355715
Node: SKK辞書について356164
Node: 辞書ツール356881
Node: SKKの作者357467
Node: SKKの歴史357965
Node: このマニュアルについて358477
Node: 謝辞358806
Node: よくある質問とその回答(FAQ)360366
Node: Introduction360994
Node: Q1-1 Daredevil SKK って SKK とは違うのですか?361452
Node: Q1-2 SKK はシンプルなのが長所だったのでは?362538
Node: Q1-3 DDSKK はどの Emacs で使えますか?363638
Node: Q1-4 DDSKK はどんなオペレーティングシステムで使えますか?364113
Node: Q1-5 APEL って何? 必要ですか?365143
Node: Installation365712
Node: Q2-1 SKK を使うのに何が必要ですか?366063
Node: Q2-2 SKK 辞書はどこにありますか?366497
Node: Q2-3 SKK サーバはどこにありますか?366849
Node: Customization367270
Node: Q3-1 「．」、「，」 が入力できるようにカスタマイズしたいのですが。368020
Node: Q3-2 「ゐ」や「ヰ」 が入力できるようにカスタマイズしたいのですが。370213
Node: Q3-3 検索する辞書を増やしたいのですが。371329
Node: Q3-4 左手の小指を SHIFT で酷使したくありません。374934
Ref: Q3-4 左手の小指を SHIFT で酷使したくありません。-Footnote-1379026
Ref: Q3-4 左手の小指を SHIFT で酷使したくありません。-Footnote-2379106
Ref: Q3-4 左手の小指を SHIFT で酷使したくありません。-Footnote-3379246
Node: Q3-5 全く漢字が出てきません。379474
Node: Q3-6 チュートリアルが起動できません。380576
Node: Q3-7 C-x C-j で dired が起動してしまいます。381258
Node: Dictionaries381889
Node: Q4-1 SKK には郵便番号辞書がありますか?382317
Node: Q4-2 SKK の辞書には、品詞情報がないんですね。382863
Node: Q4-3 複数の SKK 辞書を結合できますか?383749
Node: Q4-4 SKK 形式の英和辞書があると聞いたのですが。384268
Node: Miscellaneous385914
Node: Q5-1 SKK abbrev モードでもっと英単語を利用した変換ができませんか?386351
Node: Q5-2 市販の CD-ROM 辞書やネットワークの辞書サーバが利用できますか?389556
Node: Q5-3 他の FEP を使用中にも SHIFT を押してしまいます。391305
Node: 事項索引391881
Node: 変数索引416465
Node: 関数索引451989
Node: キー索引460948

End Tag Table


Local Variables:
coding: utf-8
End:
