[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
これは SKK に対するよくある質問と、それに対する回答集です。
8.1 SKK のなぜなに | ||
8.2 SKK の入手から導入まで | ||
8.3 SKK の基本設定からお好みのカスタマイズまで | ||
8.4 SKK 辞書関連 | ||
8.5 SKK の活用法その他 |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Q1-1 Daredevil SKK って SKK とは違うのですか? | ||
Q1-2 SKK はシンプルなのが長所だったのでは? | ||
Q1-3 DDSKK はどの Emacs で使えますか? | ||
Q1-4 DDSKK はどんなオペレーティングシステムで使えますか? | ||
Q1-5 APEL って何? 必要ですか? | ||
Q1-6 SKK における「モード」の意味とは? |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SKK Openlab で開発、リリースされる SKK は、京大の佐藤先生が中心になっ て開発していた SKK と区別するために、‘Daredevil SKK’ と呼ぶことに しました。その略称は ‘DDSKK’ で、SKK Openlab で最初に ‘Daredevil SKK’ としてリリースされた version は 11.1 です (オリジ ナルの version を継承しました)。
なお、‘Daredevil’ の名前の採択は、開発陣の一人が講読している某ラ ジオ英会話講座の、ある日のスキット名が「Daredevil なんとか」で、その内 容は「とにかくやってみよう。うぎゃぁぁぁ、やられたぁ」というものでした。 これがあまりに自分の開発ポリシーに合致していた、ということに由来します。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
かような議論は 10 年来行われてきており、結論は出ていませんが、事実として 現在まで開発が続けられています。
「シンプルな操作性の維持と多機能化・高機能化は両立できる」 |
というのが現在の開発陣の考えであるようです。
SKK が Simple Kana to Kanji conversion program の略である通り、かなを漢 字に変換するルーチンの簡単さが SKK を定義付けています。その周辺の拡張に 関する制約は基本的にはありません。
多機能化と言っても多くはユーザオプションによって無効にすることができま すし、‘skk.el’ 本体が複雑化しないようにモジュール化されています。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
基本的には、GNU Emacs と Mule 機能付きの XEmacs で使えます。
対応する Emacs のバージョンについては以下をご覧ください。
See section このバージョンのSKKについて. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
基本的にサポート対象の Emacs がその OS で動いているなら、SKK の基本的 な機能は動くはずです。 Microsoft Windows でも Mac OS X でも使えます。
拡張機能については、UNIX の各種コマンドを前提としているものがいくつか
あります (look
や ispell
など)。これらがお使いの OS にも
あれば該当の拡張機能も基本的には使えるでしょう。
Mac OS X 版 Emacs に特化した情報については、以下のファイルを参照してください。
http://openlab.jp/skk/skk/main/READMEs/README.MacOSX.ja |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
APEL は A Portable Emacs Library の略です。APEL の主な機能は異なる Emacs 間の非互換性を吸収することです。
GNU Emacs 21 及び XEmacs では APEL が必要です。 GNU Emacs 22 以上では APEL は不要となりました。 これらの変更は 2010 年 9 月に CVS に commit され、 DDSKK 14.2 としてリリ ースされる予定です。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
外観すると以下のようになります。
SKK モード (skk-mode
)
C-x C-j
かなモード/カナモード (skk-j-mode
)
C-j
アスキーモード (skk-latin-mode
)
l
全英モード (skk-jisx0208-latin-mode
)
L
SKK abbrev モード (skk-abbrev-mode
)
/
■モード (eq skk-henkan-mode nil
)
かななど確定入力
▽モード (eq skk-henkan-mode 'on
)
変換前
▼モード (eq skk-henkan-mode 'active
)
変換中
辞書登録モード
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Q2-1 SKK を使うのに何が必要ですか? | ||
SKK 辞書はどこにありますか? | ||
Q2-3 SKK サーバはどこにありますか? |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SKK 本体と SKK 辞書が必要です。オプションで辞書サーバを用意す ることができます。 GNU Emacs 21 及び XEmacs では事前に APEL をインストールしてください。
See section APEL のインストール. |
SKK 本体は以下から入手できます。
http://openlab.jp/skk/maintrunk |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
以下を参照してください。
See section SKK辞書について. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
DDSKK 14 は辞書サーバの種類、バージョンには依存していません。
http://openlab.jp/skk/skkserv-ja.html |
からお好きな辞書サーバを入手して下さい。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Q3-1 「.」、「,」 が入力できるようにカスタマイズしたいのですが。 | ||
Q3-2 「ゐ」や「ヰ」 が入力できるようにカスタマイズしたいのですが。 | ||
Q3-3 検索する辞書を増やしたいのですが。 | ||
Q3-4 左手の小指を SHIFT で酷使したくありません。 | ||
Q3-5 全く漢字が出てきません。 | ||
Q3-6 チュートリアルが起動できません。 |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
3通りの方法を紹介します。
‘~/.skk’ に以下を設定します。
(setq skk-kutouten-type 'en) |
M-x skk-toggle-kutouten を実行すると、その場で「,」「.」に切り替える ことができます。「、」「。」に戻すには、もう一度 M-x skk-toggle-kutouten を実行を実行します。 特定のバッファでのみ「,」「.」に切り替えたい場合は、 File Variables (see (emacs)File Variables section ‘File Variables’ in GNU Emacs Manual) を参照下さい。 例えば、 tex モードでのみ「,」「.」に切り替えたい場合は、つぎの設定を tex ファイルの最後に追加します。
% Local Variables: % skk-kutouten-type: en % end: |
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)) |
この設定方法は応用が効き、細かく制御することが可能です。 ‘.’ と ‘,’ のところをそれぞれ、‘.’ と ‘,’ とすることで、 「かなモード」「カナモード」でも、‘.’ と‘,’ を直接入力することが できます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
一つ前の Q の変形問題ですね。かな/カナモードでそれぞれ出力する文字 を変えるやり方です。
‘~/.skk’ に
(setq skk-rom-kana-rule-list (append '(("wi" nil ("ヰ" . "ゐ"))) skk-rom-kana-rule-list)) |
と書いてみましょう。
一番内側の cons cell は car がカナモード、cdr がかなモー ドでの入力文字を表しています。
一つ前の Q に対する答えのように、カナモード、かなモードともに入力す る文字が変わらなければ、cons cell の代りに文字列を書くことができます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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 程度です。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SKK を標準の状態で使っている場合、変換のためにシフトキーを多用しますの で小指への負担が大きくなります。 (112)
この苦しみを回避するためにここでは 4 つの方法を紹介します。
日本語 106 キーボードのように無変換、変換などのキーがある場合は、これ らをシフトキーの代用とすることが可能です。こうすると、例えば
<SHIFT> を押しながら a を押す |
というキー操作は
<無変換> を押して、その後で a を押す |
という操作で置き換えることができるようになります。
それでは具体的なやり方を説明しましょう。まず、使用中の Emacs が無変換 キーを何という名前で認識しているか調べます。それには
M-x describe-key |
というコマンドを実行し、続いて 無変換キーを押してみます。XFree86 上で なら、おそらく
muhenkan is undefined |
という答えが返ってくるでしょう。次に、この名前を使って ‘~/.emacs’ に設定を書きこみます。以下は <無変換> = <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 で ‘▽あ’ となります。送りの開始点も、もちろん同様の操作で指定できます。 (113)
X Window System 上では、xmodmap
というプログラムを使ってキー配列を変更で
きます。例えば、無変換キーをシフトキーとして使いたければ
% xmodmap -e 'add Shift = Muhenkan' |
とします。これで無変換キーは通常のシフトキーと同じような感じで使えるよ うになります。
See section 変換位置の指定方法.
これは 1, 2 とはかなり違ったアプローチです。SKK 本来のローマ字的入力を捨 てて、富士通のワープロ OASYS のような親指シフト入力を修得します。 (114)
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 配列に慣れるま でかなり練習を要することは確かです。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
恐らく辞書の設定ができていないのでしょう。
‘SKK-JISYO.L’ というファイルがインストールされている場所を確認して ください。普通は
‘/usr/local/share/skk’ ‘/usr/share/skk’ |
といった場所にインストールされています。XEmacs のパッケージならば
‘/usr/local/lib/xemacs/mule-packages/etc/skk’ |
などを確認します。その後で ‘~/.skk’ に
(setq skk-large-jisyo "/usr/local/share/skk/SKK-JISYO.L") |
のように設定します。
なお、辞書サーバを使っている場合はこの設定は必要ありません。その場合は、 辞書サーバの設定や、それがちゃんと起動しているかどうかを確認してくださ い。
また、どこにも辞書がインストールされていない場合は
http://openlab.jp/skk/dic/ |
から取得します。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
‘SKK.tut’ というファイルがインストールされている場所を確認してくだ さい。普通は
‘/usr/local/share/skk’ ‘/usr/share/skk’ |
といった場所にインストールされています。XEmacs のパッケージならば
‘/usr/local/lib/xemacs/mule-packages/etc/skk’ |
などを確認します。その後で ‘~/.emacs’ に
(setq skk-tut-file "/usr/local/share/skk/SKK.tut") |
のように設定します。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Q4-1 SKK には郵便番号辞書がありますか? | ||
Q4-2 SKK の辞書には、品詞情報がないんですね。 | ||
Q4-3 複数の SKK 辞書を結合できますか? | ||
Q4-4 SKK 形式の英和辞書があると聞いたのですが。 |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
CVS から辞書を取得した場合は、‘zipcode’ というディレクトリに入って います。WWW では、
http://openlab.jp/skk/dic/ |
より入手できます。使用方法は
http://openlab.jp/skk/skk/dic/zipcode/README.ja |
を御覧下さい。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SKK は漢字とかなとの区切りをユーザが指定する方式により、品詞情報を使っ た解析を用いることなく効率的入力ができます。
TODO としては、辞書に品詞情報を持たせることで更なる入力の効率化ができ るという提案がなされており、そのような辞書の作成が既に試みられています。 興味のある方は
http://openlab.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1 |
における ‘SKK-JISYO.notes’ の項目をご覧ください。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SKK 本体のパッケージには同封されていませんが、skk-tools という別パッケー ジがあります。以下をご覧ください。
See section 辞書ツール. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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’ のヘッダー部分にもそのダイジェスト が記載されています。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Q5-1 SKK abbrev モードって何ですか? | ||
Q5-2 SKK abbrev モードでもっと英単語を利用した変換ができませんか? | ||
Q5-3 市販の CD-ROM 辞書やネットワークの辞書サーバが利用できますか? | ||
Q5-4 他の FEP を使用中にも <SHIFT> を押してしまいます。 |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
▽is <SPC> → ‘インクリメンタル・サーチ’ |
などのように短い英語見出しから変換できると便利だとは思いませんか?
かな/カナモードで、/ キーを入力してみて下さい。‘▽’が出てアス キー文字が入力できるようになるはずです。ここで英文字を入力して <SPC> を押せば変換できます。
もちろん対応するエントリが辞書にないと単語登録モードに入りますよ。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
UNIX look
コマンドと ‘skk-look.el’ を利用すると、色々できま
すよ。まず、 ‘~/.skk’ で skk-use-look
を t
にセットして Emacs/SKK を立ち上げ直して下さい。
さぁ、下記のような芸当が可能になりました。
▽abstr(<TAB>) → ▽abstract |
通常の補完機能と同様に . で次の補完候補に、, でひとつ前の補完候補
に移動できます。SKK 形式の英和辞書があれば、ここから <SPC> を押して
英和変換ができますね。また、skk-look-use-ispell
の値が
non-nil
であれば、look
で検索する前に ispell
でス
ペルチェック・修正をします。
skk-look-use-ispell
の値が non-nil
であれば、look
で検索する前に ispell
でスペルチェック・修正をします。
▽abstr* (<SPC>) → ▼abstract |
見出し語に ‘*’ を入れるのをお忘れなく。
まず、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
によ
るスペルチェック・修正をオフにしてお試し下さい。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Lookup が扱える辞書はほとんど使えます。Lookup がインストールされている 状態で SKK をインストールすると、SKK と Lookup のゲートウェイプログラ ム ‘skk-lookup.el’ がインストールされます。
インストールで注意すべきは、make
で呼び出される Emacs は
‘-q -no-site-file’ フラグ付きで呼ばれるので、‘~/.emacs’ や
‘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/ |
をご参照下さい。中島は、ローカルマシンのハードディスクに広辞苑の第四版
をコピーして利用していますが、速度的には十分満足しています。ちなみに
epwutil で squeeze
した辞書データのサイズは 45MB 弱です。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
治すには SKK をやめるしかありません :-)
Emacs 上以外でも SKK みたいな操作性を実現するソフトウェアがあります。 SKK関連ソフトウェア をご覧になってください。
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Yasutaka SHINDOH on May 11, 2011 using texi2html 1.82.