[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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

これは SKK に対するよくある質問と、それに対する回答集です。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.1 SKK のなぜなに


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q1-1 Daredevil SKK って SKK とは違うのですか?

SKK Openlab で開発、リリースされる SKK は、京大の佐藤先生が中心になっ て開発していた SKK と区別するために、‘Daredevil SKK’ と呼ぶことに しました。その略称は ‘DDSKK’ で、SKK Openlab で最初に ‘Daredevil SKK’ としてリリースされた version は 11.1 です (オリジ ナルの version を継承しました)。

なお、‘Daredevil’ の名前の採択は、開発陣の一人が講読している某ラ ジオ英会話講座の、ある日のスキット名が「Daredevil なんとか」で、その内 容は「とにかくやってみよう。うぎゃぁぁぁ、やられたぁ」というものでした。 これがあまりに自分の開発ポリシーに合致していた、ということに由来します。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q1-2 SKK はシンプルなのが長所だったのでは?

かような議論は 10 年来行われてきており、結論は出ていませんが、事実として 現在まで開発が続けられています。

 
「シンプルな操作性の維持と多機能化・高機能化は両立できる」

というのが現在の開発陣の考えであるようです。

SKK が Simple Kana to Kanji conversion program の略である通り、かなを漢 字に変換するルーチンの簡単さが SKK を定義付けています。その周辺の拡張に 関する制約は基本的にはありません。

多機能化と言っても多くはユーザオプションによって無効にすることができま すし、‘skk.el’ 本体が複雑化しないようにモジュール化されています。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q1-3 DDSKK はどの Emacs で使えますか?

基本的には、GNU Emacs と Mule 機能付きの XEmacs で使えます。

対応する Emacs のバージョンについては以下をご覧ください。

 
See section このバージョンのSKKについて.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q1-4 DDSKK はどんなオペレーティングシステムで使えますか?

基本的にサポート対象の Emacs がその OS で動いているなら、SKK の基本的 な機能は動くはずです。 Microsoft Windows でも Mac OS X でも使えます。

拡張機能については、UNIX の各種コマンドを前提としているものがいくつか あります (lookispell など)。これらがお使いの OS にも あれば該当の拡張機能も基本的には使えるでしょう。

Mac OS X 版 Emacs に特化した情報については、以下のファイルを参照してください。

 
http://openlab.jp/skk/skk/main/READMEs/README.MacOSX.ja

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q1-5 APEL って何? 必要ですか?

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] [ ? ]

Q1-6 SKK における「モード」の意味とは?

外観すると以下のようになります。

マイナーモード

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] [ ? ]

8.2 SKK の入手から導入まで


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q2-1 SKK を使うのに何が必要ですか?

SKK 本体と SKK 辞書が必要です。オプションで辞書サーバを用意す ることができます。 GNU Emacs 21 及び XEmacs では事前に APEL をインストールしてください。

 
See section APEL のインストール.

SKK 本体は以下から入手できます。

 
http://openlab.jp/skk/maintrunk

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

SKK 辞書はどこにありますか?

以下を参照してください。

 
See section SKK辞書について.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q2-3 SKK サーバはどこにありますか?

DDSKK 14 は辞書サーバの種類、バージョンには依存していません。

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

からお好きな辞書サーバを入手して下さい。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.3 SKK の基本設定からお好みのカスタマイズまで


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q3-1 「.」、「,」 が入力できるようにカスタマイズしたいのですが。

3通りの方法を紹介します。

  1. 通常 ‘.’ で「.」、‘,’ で「,」を入力したい場合

    ~/.skk’ に以下を設定します。

     
    (setq skk-kutouten-type 'en)
    
  2. 一時的に ‘.’ で「.」、‘,’ で「,」を入力したい場合

    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:
    
  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))
    

    この設定方法は応用が効き、細かく制御することが可能です。 ‘’ と ‘’ のところをそれぞれ、‘.’ と ‘,’ とすることで、 「かなモード」「カナモード」でも、‘.’ と‘,’ を直接入力することが できます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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 の代りに文字列を書くことができます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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 程度です。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q3-4 左手の小指を SHIFT で酷使したくありません。

SKK を標準の状態で使っている場合、変換のためにシフトキーを多用しますの で小指への負担が大きくなります。 (112)

この苦しみを回避するためにここでは 4 つの方法を紹介します。

  1. 親指の近くにあるキーを利用してシフトキーの代用とする。

    日本語 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>-aA が入力できるように なります。つづいて、SKK を起動してみましょう。<muhenkan>-a で ‘▽あ’ となります。送りの開始点も、もちろん同様の操作で指定できます。 (113)

  2. xmodmap を使う。

    X Window System 上では、xmodmap というプログラムを使ってキー配列を変更で きます。例えば、無変換キーをシフトキーとして使いたければ

     
    % xmodmap -e 'add Shift = Muhenkan'
    

    とします。これで無変換キーは通常のシフトキーと同じような感じで使えるよ うになります。

  3. skk-sticky.el’ を使う。

    See section 変換位置の指定方法.

  4. 親指シフト入力のエミュレーション機能を利用する。

    これは 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] [ ? ]

Q3-5 全く漢字が出てきません。

恐らく辞書の設定ができていないのでしょう。

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] [ ? ]

Q3-6 チュートリアルが起動できません。

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] [ ? ]

8.4 SKK 辞書関連


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q4-1 SKK には郵便番号辞書がありますか?

CVS から辞書を取得した場合は、‘zipcode’ というディレクトリに入って います。WWW では、

 
http://openlab.jp/skk/dic/

より入手できます。使用方法は

 
http://openlab.jp/skk/skk/dic/zipcode/README.ja

を御覧下さい。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q4-2 SKK の辞書には、品詞情報がないんですね。

SKK は漢字とかなとの区切りをユーザが指定する方式により、品詞情報を使っ た解析を用いることなく効率的入力ができます。

TODO としては、辞書に品詞情報を持たせることで更なる入力の効率化ができ るという提案がなされており、そのような辞書の作成が既に試みられています。 興味のある方は

 
http://openlab.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1

における ‘SKK-JISYO.notes’ の項目をご覧ください。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q4-3 複数の SKK 辞書を結合できますか?

SKK 本体のパッケージには同封されていませんが、skk-tools という別パッケー ジがあります。以下をご覧ください。

 
See section 辞書ツール.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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’ のヘッダー部分にもそのダイジェスト が記載されています。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.5 SKK の活用法その他


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q5-1 SKK abbrev モードって何ですか?

 
  ▽is <SPC>
       → ‘インクリメンタル・サーチ

などのように短い英語見出しから変換できると便利だとは思いませんか?

かな/カナモードで、/ キーを入力してみて下さい。‘’が出てアス キー文字が入力できるようになるはずです。ここで英文字を入力して <SPC> を押せば変換できます。

もちろん対応するエントリが辞書にないと単語登録モードに入りますよ。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q5-2 SKK abbrev モードでもっと英単語を利用した変換ができませんか?

UNIX look コマンドと ‘skk-look.el’ を利用すると、色々できま すよ。まず、 ‘~/.skk’ で skk-use-lookt にセットして 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 によ るスペルチェック・修正をオフにしてお試し下さい。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Q5-3 市販の CD-ROM 辞書やネットワークの辞書サーバが利用できますか?

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] [ ? ]

Q5-4 他の FEP を使用中にも <SHIFT> を押してしまいます。

治すには SKK をやめるしかありません :-)

Emacs 上以外でも SKK みたいな操作性を実現するソフトウェアがあります。 SKK関連ソフトウェア をご覧になってください。


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Yasutaka SHINDOH on May 11, 2011 using texi2html 1.82.