[Lookup] Language: English, Japanese

Lookup
Top Page
Screenshots
Dictionaries
Documentation
Mailing Lists
Project Summary
CVS Repository

Links
Edict
EBNETD
FreePWING
FPWBook
DICT Project
FreeDict Project

Emacs
GNU Emacs
NTEmacs (ja)
Aquamacs

This page is
[Lookup]

Hosted by
[SourceForge]
[RingServer]


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

3.2 辞書に合わせて設定する


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

3.2.1 基本的な設定方法

Lookup を利用するには、まず始めに辞書との直接のインターフェースとなる 検索エージェント を選ぶ必要があります。利用出来る検索エージェントは 検索エージェント一覧 に一覧があるので、そちらを参照してどれを用いるか決めて下さい。

用いるエージェントが決まれば、変数 lookup-search-agents を設定します。これはエージェントの設定のリストで、リストの各要素は次の形式を取ります。

 
(class location [option...])

class には、エージェントの種類をシンボルで指定します。これは ndic とか ndtp とか言うエージェントの名前そのものです。

location には、辞書の所在を文字列により表します。何を指定すべきかは利用するエージェントにより異なるので、それぞれのエージェントについての説明を参照して下さい。これは省略可能な場合もあります。

option は、エージェントに対する省略可能なオプションです。これはパラメータを名前付きで与えるためのもので、タグとなるシンボルと、値となる任意のオブジェクトとの cons によって表わします。いくつでも指定できます。

具体的な例を挙げましょう。例えば、次の設定では、

 
(ndtp "dserver" :port 2010 :account "user@domain")

エージェントの種類は ndtp、辞書の所在は "dserver" で、オプション :port に値 2010 を、オプション :account に値 "user@domain" をそれぞれ指定しています。

各エージェントで具体的に何を設定すべきかは、それぞれのエージェントについての説明を参照して下さい。オプションについては、すべてのエージェントで共通に使えるものもあります。エージェント・オプション一覧 を参照して下さい。

上のような設定を、利用するエージェントの数だけ並べたものが、実際の lookup-search-agents の値となります。例えば一つの典型的な例として、次のような設定が考えられるでしょう。

 
;; ホスト dserver で NDTP サーバが動いており、
;; スペルチェックの機能を有効とする場合。
(setq lookup-search-agents
      '((ndtp "dserver") (ndspell)))

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

3.2.2 各種オプションの設定

先の節では、エージェントにオプションを指定するやり方について説明しましたが、オプションは辞書にも設定することが可能です。実際、Lookup のエージェントや辞書はほとんど、何らかのオプション指定によってカスタマイズされるようになっています。オプションの設定は今後いろいろな場面で出てくるので、ここで一度詳しく説明しておきます。

Lookup で オプション とは、名前付きパラメータのことを意味します。つまり特定のシンボルをタグとして、それに対応させる形で値を設定します。これは典型的には、(key . value) という cons の形で表現されます。

先程はエージェントのオプションとして、lookup-search-agents にオプションの cons のリストを設定しましたが、辞書の場合には変数 lookup-dictionary-options-alist を用いることが出来ます。

例えば辞書にオプション :title を設定することを考えてみましょう。これは辞書のタイトルを変更するための共通オプションです。次のようにします。

 
(setq lookup-dictionary-options-alist
      '(("ndtp+dserver:KOKUGO" ':title "国語辞典")
        ("ndeb+/cdrom:EIWA" ':title "英和辞典")
        ("ndeb+/cdrom:WAEI" ':title "和英辞典")))

先のエージェント・オプションの設定法とよく似ているのがわかると思います。辞書を特定するために、辞書ID(see section 起動するには)を文字列で指定しています。

しかしこの方法では、設定が増えてくると、ごちゃごちゃとして少々わかりづらくなってしまいます。そこで実際のオプション設定のために便利な関数 lookup-set-dictionary-option を用意しています。この関数は間接的に lookup-dictionary-options-alist を書き換えます。実用上はこの関数を利用し、lookup-dictionary-options-alist は直接に変更しない方がいいでしょう。上の例は、次の式と等価になります。

 
(lookup-set-dictionary-option "ndtp+dserver:KOKUGO" ':title "国語辞典")
(lookup-set-dictionary-option "ndeb+/cdrom:EIWA" ':title "英和時点")
(lookup-set-dictionary-option "ndeb+/cdrom:WAEI" ':title "和英辞典")

ただし、これは関数なので、Lookup のプログラム・ファイルをロードしてからでないと利用出来ません。そこでプログラムのロード直後に設定が完了するよう、 Lookup 専用の初期化ファイル ‘~/.lookup/init.el’ を用いることが出来ます。これは後でまた詳しく説明します。(see section 初期化ファイルの設定例)

また、全ての辞書に対してデフォルトのオプションを設定するために、変数 lookup-default-dictionary-options が利用出来ます。オプションの cons をリストにして並べます。例えば次のように設定すれば、単語の語尾を取り除く処理をデフォルトで行なうようになります。

 
(setq lookup-default-dictionary-options
      '((:stemmer .  stem-english)))

全ての辞書に対してではなく、ある特定のエージェントにだけデフォルトを設定したいこともあります。これは単純に、辞書オプションをエージェント・オプションと同じに並べるだけです。辞書オプションが指定されなかった場合、次にエージェント・オプションから同じものが探し出されます。ただし :title の設定など、共有が無意味なものについてはその限りではありません。

辞書オプションと同様に、エージェント・オプションのためにも設定用の変数・関数が用意されています。それぞれ lookup-agent-options-alistlookup-set-agent-optionlookup-default-agent-options です。例えば辞書を無効化するには、次のように書くことも出来ます。

 
(setq lookup-search-agents '((agent "location")))
(lookup-set-agent-option "agent+location" ':disable '("KOKUGO" "WAEI"))

なお、オプション設定の優先順位は次の通りです。

  • 辞書オプション
    1. lookup-dictionary-options-alist
    2. lookup-default-dictionary-options
    3. エージェント・オプションから継続して検索
  • エージェント・オプション
    1. lookup-search-agents 設定時のオプション
    2. lookup-agent-options-alist
    3. lookup-default-agent-options

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

3.2.3 利用する辞書の制限

変数 lookup-search-agents で設定されたエージェントは通常、Lookup の起動と同時に全て初期化され、そこに含まれる全ての辞書が利用されるものとして選択されます。しかし場合によっては、そのうち一部の辞書しか必要としないこともあるかもしれません。エージェントに次の共通オプションを与えることで、あらかじめ有効とする辞書を制限することが出来ます。

:enable

有効とする辞書名のリスト。

:disable

無効とする辞書名のリスト。

例えば、あるエージェントが三つの辞書 ‘KOKUGO’, ‘EIWA’, ‘WAEI’ を持っているとしましょう。この内 ‘EIWA’ だけを有効にしたいのであれば、次のように設定します。

 
(agent "location" :enable ("EIWA"))

あるいは

 
(agent "location" :disable ("KOKUGO" "WAEI"))

ここで指定すべき辞書名は、M-x lookup として表示される辞書一覧のバッファから知ることが出来ます(see section 起動するには)。最初にオプションなしで起動して含まれる辞書を確認し、後から設定を変更するとよいでしょう。

あるいは、無効にはしたくないが、滅多に用いないという辞書もあるかもしれません。上と同様に、次の共通オプションを与えることで、辞書の初期選択状態を変えることが出来ます。

:select

選択する辞書名のリスト。

:unselect

未選択にする辞書名のリスト。

未選択にされた辞書は、後から選択することで利用可能となります。 (see section 特定の辞書を利用する)


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

3.2.4 補助パッケージの利用

Lookup では様々な種類の辞書を扱いますが、各エージェントでは対応しきれない辞書毎の細かな調整を行なうために、補助パッケージ というものが利用出来ます。これは辞書に固有の設定をまとめた設定ファイル集です。

補助パッケージがなくとも検索に支障はありませんが、それを用いることで出力がより見やすく整形されたり、不足する設定が補われたりと、使い勝手が良くなることは期待出来ます。

補助パッケージは、‘support-XXXX.el’ というファイル名で提供されており、使用する辞書に応じて自動的に読み込まれて設定されます。各補助パッケージのファイルには、詳細な利用方法がコメントでかかれている場合がありますので必要に応じて参照ください。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]