bookview

この文書は第 BookView バージョン 3.2.1 に対応しています。

Copyright (c) 1997-2004 Motoyuki Kasahara

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 をお読みください。

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
前景色を指定します。
-fg color
背景色を指定します。
-fn font
フォントを指定します。
-fk font
漢字フォントを指定します。
-iconic
ウィンドウをアイコン化した状態で起動します。
-title title
ウィンドウのタイトルを指定します。
-version
バージョン番号を出力して、終了します。

セットアップ

ファイル メニューの中の 設定... を選んでください。

セットアップ用のサブウィンドウが現れます。 サブウィンドウにはサーバの枠が 3 つありますので、最大 3 台までサーバを 指定することができます。

ホスト名のエントリには、ホスト名 (例: localhost) もしくは アドレス (例: 127.0.0.1) を指定することができます。

ポートのエントリには、サービス名 (例: ndtp) もしくはポート番号 (例: 2010) を指定することができます。 ポートのエントリにはデフォルトでサービス名 ndtp が指定されて いますが、あなたのシステムが ndtp をサービス名として認識しない と使えません。 UNIX でも Windows でも、システムの設定ファイルを編集することで、サービス名 ndtp を登録することができます (services ファイル」を参照のこと)。 ファイルを編集できないか、したくない場合は、ndtp の代わりにポー ト番号を指定して下さい。

各サーバエントリには、さらに オプション というエントリがあります。 このエントリの中では高度な設定パラメタを設定するが可能です。 あなたがまだ BookView に慣れていないのであれば、このエントリはそのまま にしておきましょう。 エントリの中のオプションパラメタはセミコロンで区切らなくてはなりません。 現在のところ、以下のオプションが指定可能です。

group=グループ-ID,題名,書籍-ID[,書籍-ID...]
書籍グループ を定義します。 書籍グループは仮想の書籍で、実際の書籍一冊以上ないし複数冊 (書籍-ID,... として書き並べられたもの) から構成されます。 BookView に対して書籍グループを検索するように命令すると、書籍グループに 属するすべての書籍を検索しにいきます。 BookView はサーバ上のすべての書籍から構成される all という 書籍グループを自動的に定義します。 グループ名には 等号 (=)、コンマ (,)、 アットマーク (@)、空白およびタブは使えません。
start=書籍-ID
BookView がそのサーバに接続したときは、常に書籍 (書籍-ID) が 自動的に選択されます。 アットマーク (@) を先頭に付けることで、書籍グループ-ID を 指定することもできます (例: @all)。
demand-load=書籍-ID[,書籍-ID...]
書籍を初めて選択したときに、通常、BookView はその書籍が独自に定義した文字 のビットマップデータをすべて読み込みます。 このオプションは、この振る舞いを抑制します。 BookView は、指定された書籍の独自文字のデータを、表示する直前に 読み込みます。 (このオプションの指定にかかわらず、接続が切れると読み込まれた ビットマップデータは削除されますので、留意して下さい。) アットマーク (@) を先頭に付けることで、書籍グループ-ID を 指定することもできます。

以下は、オプション列の例です。

start=super2000/chujiten; demand-load=super2000/kojien,izumi/file1

セットアップが終わったら、サブウィンドウの中の 了解 ボタンを クリックしてください。 サブウィンドウが閉じられます。 設定内容は 設定ファイル に記録されます。 このファイルは BookView 起動時に自動的に読み込まれますので、BookView を 次回起動したときに再度セットアップを行う必要はありません。

中止 ボタンをクリックすると、サブウィンドウが閉じられ、 サブウィンドウ内で行われた編集内容はすべて破棄されます。

services ファイル

OS にサービス名 ndtp を認識させたければ、システムの設定ファイル を編集してください (セットアップ を参照のこと)。 編集できないか、したくないのであれば、代わりにポート番号を使用して ください。

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 は接続時に その書籍を選択します。 設定していなければ、サーバが提供している書籍の一覧が表示されます。

書籍の選択

選択しているサーバの持っている、利用可能な書籍および書籍グループ (セットアップ を参照のこと) の一覧が 書籍:メニューに並べられます。 一覧の中の書籍もしくは書籍グループを一つ選んでください。

検索方式の選択

BookView は以下のような 検索方式 に対応しています。

完全一致検索 (Exact-Word Search)
入力した単語に完全に一致するエントリを探します。
前方一致検索 (Word Search)
入力された単語に対してエントリの先頭部分が一致するものを探します。
後方一致検索 (End-Word Search)
入力された単語に対してエントリの後方部分が一致するものを探します。
条件検索 (Keyword Search)
入力された複数の単語を含むエントリを探します。

これら検索方式の名前は 方式: メニューにも並んでいます。

検索はこのメニューの中で選択されている方式に応じて行われます。 無効になっている検索方式は、現在選択している書籍がその検索方式に対応して いないことを意味します。 選択している書籍が書籍グループの場合、BookView はすべての検索方式を有効 にしますので注意してください。 たとえ、書籍グループの中の書籍がいずれもある検索方式に対応していなかった としても、すべての検索方式を有効にします。

検索

検索したいパターンを 単語: エントリに入力して、Return を叩くか 検索 ボタンをクリックしてください。

条件検索を行う場合は、次のようにキーワード同士をセミコロン (;) で区切って書き並べて下さい。

have; to; do

キーワードは最大 5 個まで指定できます。

BookView は、選択している検索方式に応じた検索要求を接続中のサーバに 対して送り、サーバから返事を受け取ります。 入力した単語にマッチした候補は一番目のテキスト領域 (ヒット 領域) に並べられます。

各候補の末尾には (->本文) が付いています。 そこをクリックすると、対応する本文が二番目のテキスト領域 (本文 領域) に表示されます。

利便性を考慮して、特殊文字がパターン内にあると選択中の検索方式よりも 優先されるようになっています。

クリア ボタンは 単語: エントリの内容を消去します。

メニュー

選択した書籍が メニュー検索 に対応していた場合、ツールバーの メニューボタンと 表示 メニューの メニュー コマンドが使用できるようになります。 メニュー検索モードにするには、ボタンをクリックするかコマンドを選択して 下さい。

著作権表示

選択した書籍が 著作権表示 を持っていた場合、RIGHT ボタンとツールバーの 表示 メニューの 著作権 コマンドが押せるようになります。 著作権表示を見るには、ボタンをクリックするかコマンドを選択して下さい。

参照先へ

本文領域に表示された本文が参照先を持っていると、青色かつ下線付きで (->参照) と表示されます。 そこをクリックすると、参照先の本文が表示されます。

履歴の操作

BookView は 本文領域に表示した本文の履歴を記録しています。 履歴はメニューバーの ジャンプ メニューの中に並べられます。

その中の一つを選択すると、BookView は対応する本文を本文領域に表示します。

左矢印ボタンをクリックするか、ジャンプ メニューの 一つ前へ コマンドを選択するか、Alt+Left を叩くと、 履歴リストを一つ進みます。 右矢印ボタンをクリックするか、ジャンプ メニューの 一つ後へ コマンドを選択するか、Alt+Right を叩くと、 履歴リストを一つ進みます。

前後の項目への移動

BookView が本文領域に表示している本文の一つ次の項目を見るには、 Alt+J を叩くか、ウィンドウ底部の下向き矢印ボタンをクリックするか、 ジャンプ メニューの 一つ後の項へ を選択します。

一つ前の項目を見るには、Alt+J を叩くか、ウィンドウ底部の 上向き矢印ボタンをクリックするか、ジャンプ メニューの 一つ前の項へ を選択します。

終了

ファイル メニューの中にある 終了 コマンドを 選択すると、BookView が終了します。

BookView の高度な使い方

この章では、エキスパートユーザ向けの BookView の機能を説明します。

セレクションの検索

検索 ボタンと クリア ボタンの間に 選択検索 ボタンがあります。 選択検索セレクションの検索 (Query Selection) を行うショートカットボタンです。 単語: エントリの内容を消去し、セレクションをエントリに貼り付け、 その単語を検索します。

表示 メニューの 選択から検索 コマンド、 Alt+Return も同じ動作をします。

テキスト中のパターンの検索

表示 メニューの 本文から探索... コマンドと ツールバーのルーペボタンは同じ働きをします。 これらは、本文領域内の単語を探すときに用います。

このコマンドを選択すると、本文の単語を探索 サブウィンドウが 現れます。

探索: エントリに探したいパターンを入力し、Return を 叩くか、探索 ボタンをクリックすると、BookView は本文領域から パターンを探し出します。

書籍の一覧

表示 メニューの 書籍一覧 コマンドを選択すると、 BookView は現在のサーバが提供している書籍の一覧を表示します。

サーバとの接続が確立したとき、そのサーバに対して start book ID を設定 していなければ、Bookview はこの一覧を自動的に表示します。

ビットマップ表示の切り替え

表示 メニューの中の ビットマップの表示 チェックボタンでテキスト中のビットマップの表示、非表示を切り替えることが できます。

デフォルトでは、ビットマップを表示します。 ただし、この選択順序の中のどのサイズのビットマップも CD-ROM 書籍が持って いなかった場合は、このボタンの設定に関係なく、ビットマップは表示されません。

ツールバー表示の切り替え

表示 メニューの中の ツールバーの表示 チェックボタンでツールバーの表示、非表示を切り替えることができます。 デフォルトでは、ツールバーを表示します。

テキストの空白量

表示 メニューの テキストの行間隔 コマンドは、 カスケードメニューを持っています。

そしてそのメニューは、0, 2, 4, 6, 8 ピクセル という 5 つの要素を持って います。 これらは本文領域の行間の空白量を指定するために使用します。 デフォルトの値は 0 ピクセル です。

キーボードでの操作

BookView の機能はすべて、キーボードから呼び出すことができます。 この章では、キーボードで BookView を操作する方法について説明します。

フォーカスの操作

次に挙げたキー操作は、ウィジェットのフォーカスを移動させます。 これらの操作は、BookView のメインウィンドウ上のどこからでも検知されます。

Alt+F
ファイル メニューをプルダウンして、グラブします。
Alt+V
表示 メニューをプルダウンして、グラブします。
Alt+S
サーバ メニューをプルダウンして、グラブします。
Alt+G
ジャンプ メニューをプルダウンして、グラブします。
Alt+H
ヘルプ メニューをプルダウンして、グラブします。
Alt+B
書籍: メニューをプルダウンして、グラブします。
Alt+M
方式: メニューをプルダウンして、グラブします。
Alt+W
フォーカスを 単語: エントリに移します。
Tab
フォーカスを 単語: エントリ、ヒット領域、本文領域の順番で 移動させます。

メニューでの操作

グラブされたメニュー内では、次の操作が可能です。

Up
強調されたエントリを一つ上に移動します。
Down
強調されたエントリを一つ下に移動します。
Return
強調されたエントリを選択します。
Esc
メニューによる選択を中止します。

その他にもいくつかの操作が Tk 自身によって定義されています。 詳しくは menu(n) のマニュアルページをご覧下さい。

単語 エントリでの操作

単語: エントリ内では、次の操作が可能です。

Left
カーソルを一文字分戻します。
Right
カーソルを一文字分進めます。
Home
カーソルをエントリの先頭に移動させます。
End
カーソルをエントリの末尾に移動させます。
Backspace
カーソルの左側の一文字を削除します。
Delete
カーソルの右側の一文字を削除します。
Control+K
カーソルの右側のすべての文字を削除します。
Control+Y
セレクションを挿入カーソルの位置に挿入します。

その他にもいくつかの操作が Tk 自身によって定義されています。 詳しくは entry(n) のマニュアルページをご覧下さい。

ヒット領域での操作

ヒット領域内では、次の操作が可能です。

Up
カーソルを一行上に移動させます。
Down
カーソルを一行下に移動させます。
Prior (Page Up)
カーソルを一ページ分上に移動させます。
Next (Page Down)
カーソルを一ページ分下に移動させます。
Return
カーソル位置のヒットエントリを選択します。 そのヒットエントリのテキストがテキスト領域に表示されます。

その他にもいくつかの操作が Tk 自身によって定義されています。 詳しくは text(n) のマニュアルページをご覧下さい。

本文領域での操作

本文領域内では、次の操作が可能です。

Left
カーソルを一文字分戻します。
Right
カーソルを一文字分進めます。
Down
カーソルを一行上に移動させます。
Up
カーソルを一行下に移動させます。
Prior (Page Up)
カーソルを一ページ分上に移動させます。
Next (Page Down)
カーソルを一ページ分下に移動させます。
space
カーソルを、後方の下線部分 ((->参照)) に移動させます。
BackSpace
カーソルを、前方の下線部分 ((->参照)) に移動させます。
Return
カーソルが下線部分にあった場合、その参照先に飛びます。

その他にもいくつかの操作が Tk 自身によって定義されています。 詳しくは text(n) のマニュアルページをご覧下さい。

その他のいろいろな操作

これらの操作は、BookView のメインウィンドウ上のどこからでも検知されます。

Alt+Q
終了。 このキー操作は ファイル メニューの 終了 コマンドと同じです。
Alt+Return
セレクションの検索。 このキー操作は 表示 メニューの 選択から検索 コマンドと同じです。
Alt+Left
履歴リストを一つ戻す。 このキー操作は ジャンプ メニューの 一つ前へ コマンドと同じです。
Alt+Right
履歴リストを一つ進める。 このキー操作は ジャンプ メニューの 一つ後へ コマンドと同じです。
Alt+/
本文の単語を探索 サブウィンドウを出現させて、グラブします。 このキー操作は 表示 メニューの 本文の探索... コマンドと同じです。

よく訊かれる質問集

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_KCPROTOkinput に設定して下さい。 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: <Shift-space> <Control-backslash>