BookView-ja NDTP client written in Tcl/Tk. この文書は第 3.2 版 (BookView バージョン 3.2 に対応) です。 BookView とは ************* BookView は Tcl/Tk で書かれた NDTP (Network Dictionary Transfer Protocol) クライアントです。 動作させるには Tcl/Tk 8.3 かそれ以降、もし くは 8.0jp (`jp' は日本語対応バージョンを意味します) のいずれかが必要 です。 BookView はフリーソフトウェアです。あなたは、 Free Software Foundation が公表した GNU General Public License (GNU 一般公有使用許諾) バージョン 2 或いはそれ以降の各バージョンの中からいずれかを選択し、そのバージョン が定める条項に従って本プログラムを再頒布または変更することができます。 BookView は有用とは思いますが、頒布にあたっては、市場性及び特定目的 適合性についての暗黙の保証を含めて、いかなる保証も行ないません。詳細に ついては GNU General Public License をお読みください。 この文書は第 3.2 版です。BookView バージョン 3.2 に対応しています。 BookView の起動 *************** コマンド行からの起動 ==================== UNIX 系システム上でコマンドラインから BookView を起動するには、次の ようにします。 /usr/local/bin/bookview (BookView を `/usr/local' 以下にインストールしたと仮定しています。) 環境変数 `BOOKVIEW_LANG' は BookView が表示するメッセージの言語を決 定します。 デフォルトでは、日本語が選択されます。 変数を `en' に設定す ると、英語のメッセージを表示するようになります。 現在のところ、メッセー ジは日本語と英語が利用できます。 `wish' のオプション一覧 ======================= 以下のオプションは `wish' によって解釈されます。 `-colormap new' メインウィンドウのカラーマップを指定します。 `-display DISPLAY' 使用するディスプレイを指定します。 `-geometry GEOMETRY' ウィンドウの初期位置とサイズを指定します。 `-name NAME' 使用するアプリケーションの名前を指定します。 `-sync' ディスプレイサーバに対して同期モードを使用します。 `-visual' メインウィンドウに対するビジュアルを指定します。 `--' 残りのすべての引数をスクリプトに渡します。 `bookview' のオプション一覧 =========================== 以下のオプションは `bookview' 自身によって解釈されます。 `-bg COLOR' `-background COLOR' 前景色を指定します。 `-fg COLOR' `-foreground COLOR' 背景色を指定します。 `-fn FONT' `-font FONT' フォントを指定します。 `-fk FONT' `-kanjifont FONT' 漢字フォントを指定します。 `-iconic' ウィンドウをアイコン化した状態で起動します。 `-title TITLE' ウィンドウのタイトルを指定します。 `-version' バージョン番号を出力して、終了します。 セットアップ ============ `ファイル' メニューの中の `設定...' を選んでください。 セットアップ 用のサブウィンドウが現れます。 サブウィンドウにはサーバの枠が 3 つあり ますので、最大 3 台までサーバを指定することができます。 ホスト名のエントリには、ホスト名 (例 : `localhost') もしくはアドレス (例: `127.0.0.1') を指定することができます。 ポートのエントリには、サービス名 (例: `ndtp') もしくはポート番号 (例 : `2010') を指定することができます。 ポートのエントリにはデフォルトでサ ービス名 `ndtp' が指定されていますが、あなたのシステムが `ndtp' をサー ビス名として認識しないと使えません。 UNIX でも Windows でも、システム の設定ファイルを編集することで、サービス名 `ndtp' を登録することができ ます (*note `services' ファイル : Services.)。 ファイルを編集できないか、したくない場合は、`ndtp' の代わりにポート番 号を指定して下さい。 各サーバエントリには、さらに `オプション' というエントリがあります。 このエントリの中では高度な設定パラメタを設定するが可能です。 あなたがま だ BookView に慣れていないのであれば、このエントリはそのままにしておき ましょう。 エントリの中のオプションパラメタはセミコロンで区切らなくては なりません。 現在のところ、以下のオプションが指定可能です。 `group=グループ-ID,題名,書籍-ID[,書籍-ID...]' "書籍グループ" を定義します。 書籍グループは仮想の書籍で、実際の書 籍一冊以上ないし複数冊 (書籍-ID,... として書き並べられたもの) から 構成されます。 BookView に対して書籍グループを検索するように命令す ると、書籍グループに属するすべての書籍を検索しにいきます。 BookView はサーバ上のすべての書籍から構成される `all' という書籍グループを自動的に定義します。 グループ名には等号 (`=')、コンマ (`,')、アットマーク (`@')、 空白 およびタブは使えません。 `start=書籍-ID' `start=@グループ-ID' BookView がそのサーバに接続したときは、常に書籍 (書籍 -ID) が自動的に選択されます。 アットマーク (`@') を先頭に付けることで、 書籍グループ-ID を指定することもできます (例: `@all')。 `demand-load=書籍-ID[,書籍-ID...]' 書籍を初めて選択したときに、通常、BookView はその書籍が独自に定義 した文字のビットマップデータをすべて読み込みます。 このオプション は、この振る舞いを抑制します。 BookView は、指定された書籍の独自文 字のデータを、表示する直前に読み込みます。 (このオプションの指定 にかかわらず、接続が切れると読み込まれたビットマップデータは削除 されますので、留意して下さい。) アットマーク (`@') を先頭に付けることで、書籍グループ-ID を指定す ることもできます。 以下は、オプション列の例です。 start=super2000/chujiten; demand-load=super2000/kojien,izumi/file1 セットアップが終わったら、サブウィンドウの中の `了解' ボタンをクリックしてください。 サブウィンドウが閉じられます。 設定内容 はファイル (*note 設定ファイル: Configuration File.) に記録されます。 このファイルは BookView 起動時に自動的に読み込まれますので、 BookView を次回起動したときに再度セットアップを行う必要はありません。 `中止' ボタンをクリックすると、サブウィンドウが閉じられ、サブウィン ドウ内で行われた編集内容はすべて破棄されます。 `services' ファイル =================== OS にサービス名 `ndtp' を認識させたければ、システムの設定ファイルを 編集してください (*note セットアップ: Setup.)。 編集できないか、したく ないのであれば、代わりにポート番号を使用してください。 Windows では設定ファイルは、 `\WINDOWS\SERVICES' になります。 UNIX 系 OS では通常このファイルは `/etc/services' になりますが、 もしあなたのホ ストが NIS クライアントならば、代わりに NIS サーバ上にある NIS のマッ プを修正しなくてはなりません。 ファイルの形式は、Windows でも UNIX でも 同じです。 サービス名 `ndtp' を登録するには、ファイルに次の行が無ければ足しま す。 ndtp tcp/2010 次のように、システムの `services' ファイルにはすでに別のサービス名で `tcp/2010' というエントリが入っているかも知れません。 search tcp/2010 この場合は、 `ndtp' というサービス名を別名としてその行に追加して下さい。 search tcp/2010 ndtp (詳しくは、あなたのシステムのマニュアルをご覧下さい。) 設定ファイル ============ Bookview が終了したときと、あなたがセットアップウィンドウの `了解' ボタンを押したときに、その時点での設定がファイルに記録されます。 UNIX では、この設定ファイルは `~/.bookview' になります。 Windows では、 BookView を `C:\\Program Files\\BookView' にインストールした場合は、 `C:\\Program Files\\BookView\\setup' になります。 設定ファイルは、 BookView のスタート時に自動的に読み込まれます。 UNIX 系 OS では、システム共有のセットアップファイルを用意することも で きます。 あなたのシステムにユーザが複数いるなら、ユーザが自分でセッ トアップする必要がなくなるので、このファイルの存在は便利でしょう。 共有の設定ファイルは、 `/usr/local/etc/bookview.conf' になります。 (BookView を `/usr/local' 以下にインストールしたと仮定しています。) 個 人の設定ファイル (`~/.bookview') と共有の設定ファイルの形式は同じです。 共有の設定ファイルを用意するには、誰かが BookView を起動し、セットアッ プウィンドウで設定を行い、 `~/.bookview' を `/usr/local/etc/bookview.conf' にコピーして下さい。 設定ファイルを読み込む際、BookView は個人の設定ファイルが開けるかど う か試し、次に共有のファイルを試します。 BookView が読み込むのはどちら か一方であり、両方ではありませんので、ご注意ください。 BookView の基本的な使い方 ************************* この章では、BookView の基本的な使い方を説明します。 NDTP サーバの選択 ================= `サーバ' メニューをクリックしてください。セットアップのところで指定 したサーバがここに並べられます。 その中からサーバを一つ選ぶと、 BookView はそのサーバに接続します。 このサーバに対して start book ID を設定していれば、BookView はその書 籍 を選択します。 設定していなければ、サーバが提供している書籍の一覧が 表示されます。 書籍の選択 ========== 選択しているサーバの持っている、利用可能な書籍および書籍グループ (*note セットアップ: Setup.) の一覧が `書籍:'メニューに並べられます。 一覧の中の書籍もしくは書籍グループを一つ選んでください。 検索方式の選択 ============== BookView は以下のような "検索方式" に対応しています。 完全一致検索 (Exact-Word Search) 入力した単語に完全に一致するエントリを探します。 前方一致検索 (Word Search) 入力された単語に対してエントリの先頭部分が一致するものを探します。 後方一致検索 (End-Word Search) 入力された単語に対してエントリの後方部分が一致するものを探します。 条件検索 (Keyword Search) 入力された複数の単語を含むエントリを探します。 これら検索方式の名前は `方式:' メニューにも並んでいます。 検索はこの メニューの中で選択されている方式に応じて行われます。 無効になっている検 索方式は、現在選択している書籍がその検索方式に対応していないことを意味 します。 選択している書籍が書籍グループの場合、BookView はすべての検索 方式を有効にしますので注意してください。 たとえ、書籍グループの中の書 籍がいずれもある検索方式に対応していなかったとしても、すべての検索方式 を有効にします。 検索 ==== 検索したいパターンを `単語:' エントリに入力して、 を叩くか `検索' ボタンをクリックしてください。 条件検索を行う場合は、次のように キーワード同士をセミコロン (`;') で区切って書き並べて下さい。 have; to; do キーワードは最大 5 個まで指定できます。 BookView は、選択している検索方式に応じた検索要求を接続中のサーバに 対して送り、サーバから返事を受け取ります。 入力した単語にマッチした候 補は一番目のテキスト領域 ("ヒット" 領域) に並べられます。 各候補の末尾 には `(->本文)' が付いています。 そこをクリックすると、対応する本文が二 番目のテキスト領域 ("本文" 領域) に表示されます。 利便性を考慮して、特殊文字がパターン内にあると選択中の検索方式よりも優 先されるようになっています。 * パターンの中にセミコロン (`;') があると、条件検索が行われます。 * パターンがアスタリスク (`*') で始まっていると、パターンの残りの部 分に対して後方一致検索が行われます。 * パターンがアスタリスク (`*') で終わっていると、パターンの残りの部 分に対して前方一致検索が行われます。 `クリア' ボタンは `単語:' エントリの内容を消去します。 メニュー ======== 選択した書籍が "メニュー検索" に対応していた場合、ツールバーのメニ ューボタンと `表示' メニューの `メニュー' コマンドが使用できるようにな ります。 メニュー検索モードにするには、ボタンをクリックするかコマンドを 選択して下さい。 著作権表示 ========== 選択した書籍が "著作権表示" を持っていた場合、`RIGHT' ボタンとツー ルバーの `表示' メニューの `著作権' コマンドが押せるようになります。 著作権表示を見るには、ボタンをクリックするかコマンドを選択して下さい。 参照先へ ======== 本文領域に表示された本文が参照先を持っていると、青色かつ下線付きで `(->参照)' と表示されます。 そこをクリックすると、参照先の本文が表示さ れます。 履歴の操作 ========== BookView は本文領域に表示した本文の履歴を記録しています。 履歴はメ ニューバーの `ジャンプ' メニューの中に並べられます。 その中の一つを選択 すると、BookView は対応する本文を本文領域に表示します。 左矢印ボタンをクリックするか、`ジャンプ' メニューの `一つ前へ' コマ ンドを選択するか、 を叩くと、履歴リストを一つ進みます。 右矢 印ボタンをクリックするか、`ジャンプ' メニューの `一つ後へ' コマンドを選 択するか、 を叩くと、履歴リストを一つ進みます。 前後の項目への移動 ================== BookView が本文領域に表示している本文の一つ次の項目を見るには、 を叩くか、ウィンドウ底部の下向き矢印ボタンをクリックするか、` ジャンプ' メニューの `一つ後の項へ' を選択します。 一つ前の項目を見るには、 を叩くか、ウィンドウ底部の上向き矢 印ボタンをクリックするか、`ジャンプ' メニューの `一つ前の項へ' を選択し ます。 ヘルプ ====== `ヘルプ' メニューの中にある `ドキュメント...' を選択して下さい。 サ ブウィンドウが現れ、このドキュメントが表示されます。 終了 ==== `ファイル' メニューの中にある `終了' コマンドを選択すると、 BookView が終了します。 BookView の高度な使い方 *********************** この章では、エキスパートユーザ向けの BookView の機能を説明します。 セレクションの検索 ================== `検索' ボタンと `クリア' ボタンの間に `選択検索' ボタンがあります。 `選択検索' は "セレクションの検索" ("Query Selection") を行うショート カットボタンです。 `単語:' エントリの内容を消去し、セレクションをエント リに貼り付け、 その単語を検索します。 `表示' メニューの `選択から検索' コマンド、 も同じ動作を します。 テキスト中のパターンの検索 ========================== `表示' メニューの `本文から探索...' コマンドとツールバーのルーペボ タンは同じ働きをします。 これらは、本文領域内の単語を探すときに用います。 このコマンドを選択する と、`本文の単語を探索' サブウィンドウが現れます。 `探索:' エントリに探 したいパターンを入力し、 を叩くか、 `探索' ボタンをクリックする と、BookView は本文領域からパターンを探し出します。 書籍の一覧 ========== `表示' メニューの `書籍一覧' コマンドを選択すると、BookView は現在の サーバが提供している書籍の一覧を表示します。 サーバとの接続が確立したと き、そのサーバに対して start book ID を設定していなければ、Bookview は この一覧を自動的に表示します。 ビットマップ表示の切り替え ========================== `表示' メニューの中の `ビットマップの表示' チェックボタンでテキスト 中のビットマップの表示、非表示を切り替えることができます。 デフォルトで は、ビットマップを表示します。 ただし、この選択順序の中のどのサイズのビットマップも CD-ROM 書籍が持 っ ていなかった場合は、このボタンの設定に関係なく、ビットマップは表示さ れ ません。 ツールバー表示の切り替え ======================== `表示' メニューの中の `ツールバーの表示' チェックボタンでツールバー の表示、非表示を切り替えることができます。 デフォルトでは、ツールバーを 表示します。 テキストの空白量 ================ `表示' メニューの `テキストの行間隔' コマンドは、カスケードメニュー を持っています。 そしてそのメニューは、0, 2, 4, 6, 8 ピクセルという 5 つの要素を持っています。 これらは本文領域の行間の空白量を指定するため に使用します。 デフォルトの値は `0 ピクセル' です。 キーボードでの操作 ****************** BookView の機能はすべて、キーボードから呼び出すことができます。 この 章では、キーボードで BookView を操作する方法について説明します。 フォーカスの操作 ================ 次に挙げたキー操作は、ウィジェットのフォーカスを移動させます。 これ らの操作は、BookView のメインウィンドウ上のどこからでも検知されます。 `ファイル' メニューをプルダウンして、グラブします。 `表示' メニューをプルダウンして、グラブします。 `サーバ' メニューをプルダウンして、グラブします。 `ジャンプ' メニューをプルダウンして、グラブします。 `ヘルプ' メニューをプルダウンして、グラブします。 `書籍:' メニューをプルダウンして、グラブします。 `方式:' メニューをプルダウンして、グラブします。 フォーカスを `単語:' エントリに移します。 フォーカスを `単語:' エントリ、ヒット領域、本文領域の順番で移動さ せ ます。 メニューでの操作 ================ グラブされたメニュー内では、次の操作が可能です。 強調されたエントリを一つ上に移動します。 強調されたエントリを一つ下に移動します。 強調されたエントリを選択します。 メニューによる選択を中止します。 その他にもいくつかの操作が Tk 自身によって定義されています。 詳しく は menu(n) のマニュアルページをご覧下さい。 単語エントリでの操作 ==================== `単語:' エントリ内では、次の操作が可能です。 カーソルを一文字分戻します。 カーソルを一文字分進めます。 カーソルをエントリの先頭に移動させます。 カーソルをエントリの末尾に移動させます。 カーソルの左側の一文字を削除します。 カーソルの右側の一文字を削除します。 カーソルの右側のすべての文字を削除します。 セレクションを挿入カーソルの位置に挿入します。 その他にもいくつかの操作が Tk 自身によって定義されています。 詳しく は entry(n) のマニュアルページをご覧下さい。 ヒット領域での操作 ================== ヒット領域内では、次の操作が可能です。 カーソルを一行上に移動させます。 カーソルを一行下に移動させます。 カーソルを一ページ分上に移動させます。 カーソルを一ページ分下に移動させます。 カーソル位置のヒットエントリを選択します。 そのヒットエントリのテ キストがテキスト領域に表示されます。 その他にもいくつかの操作が Tk 自身によって定義されています。 詳しく は text(n) のマニュアルページをご覧下さい。 本文領域での操作 ================ 本文領域内では、次の操作が可能です。 カーソルを一文字分戻します。 カーソルを一文字分進めます。 カーソルを一行上に移動させます。 カーソルを一行下に移動させます。 カーソルを一ページ分上に移動させます。 カーソルを一ページ分下に移動させます。 カーソルを、後方の下線部分 (`(->参照)') に移動させます。 カーソルを、前方の下線部分 (`(->参照)') に移動させます。 カーソルが下線部分にあった場合、その参照先に飛びます。 その他にもいくつかの操作が Tk 自身によって定義されています。 詳しく は text(n) のマニュアルページをご覧下さい。 その他のいろいろな操作 ====================== これらの操作は、BookView のメインウィンドウ上のどこからでも検知され ます。 終了。 このキー操作は `ファイル' メニューの `終了' コマンドと同じ です。 セレクションの検索。 このキー操作は `表示' メニューの `選択から検 索' コマンドと同じです。 履歴リストを一つ戻す。 このキー操作は `ジャンプ' メニューの `一つ 前へ' コマンドと同じです。 履歴リストを一つ進める。 このキー操作は `ジャンプ' メニューの `一 つ後へ' コマンドと同じです。 `本文の単語を探索' サブウィンドウを出現させて、グラブします。 この キー操作は `表示' メニューの `本文の探索...' コマンドと同じです。 よく訊かれる質問集 ****************** 質問 1 (日本語の入力方法) ========================= 質問 BookView のウィンドウ上で日本語を入力するにはどうしたら良いですか? 答え kinput2 か XIM 対応の入力フロントエンドを使用してください。 質問 2 (日本語が入力できない) ============================= 質問 kinput2 を使っていますが、BookView のウィンドウ上で日本語が入力で きません。 答え Tk8.0jp インタプリタと kinput2 の間は、どのプロトコルを使用してい ますか? あなたの kinput2 はそのプロトコルを受け入れることができる ようになっていますか? 環境変数 `TK_KCPROTO' が設定されていない限り、プロトコルは次の要領で選択されます。 環境 変数 `XMODIFIERS' を設定していてその値が空でなければ、Tk8.0jp イン タプリタは XIM プロトコルで kinput2 と通信しようとします。 それ以 外の場合は、kinput プロトコルが使用されます。 気を付けておきたいのは、 kinput プロトコルを使おうとして `XMODIFIERS' を `@im=none' に設定した場合も、XIM が選択されてしま うことです。 この場合は、`XIMODIFIERS' を未設定にするか、 `TK_KCPROTO' を `kinput' に設定して下さい。 `TK_KCPROTO' を設定するには、次のようにします。 (csh, tcsh のような C 互換シェルの場合) % setenv TK_KCPROTO kinput (sh, ksh, bash, zsh のような Bourne 互換シェルの場合) $ export TK_KCPROTO; TK_KCPROTO=kinput 質問 3 (kipnut2 開始キーの変更) =============================== 質問 BookView ウィンドウ上での kinput2 の開始キーを変更するにはどうした ら良いですか? 答え 次のように、X のリソースを設定して下さい。 bookview*tkKinputStartKeys: