EB ライブラリ Windows 版 CD-ROM 書籍にアクセスするための C のライブラリ 1. はじめに EB ライブラリは CD-ROM 書籍にアクセスするための C のライブラリです。 このソフトウェアは、もともとは UNIX 系システム向けに開発されました。 本パッケージは、EB ライブラリを Windows 上で Visual Studio 6.0 を用い てビルドさせるためのファイル一式を提供します。 EB ライブラリは EB, EBG, EBXA, EBXA-C, S-EBXA および EPWING 形式の CD-ROM 書籍に対応しています。これらの形式の CD-ROM 書籍は、日本で一般 的に使われています。CD-ROM 書籍自体は ISO 9660 形式になっていますので、 他の ISO 9660 形式と同じ要領でマウントすることができます。 また、EB ライブラリは幾つかのユーテリティコマンドも提供しています。 ebfont CD-ROM 書籍内の外字のフォントデータを取り出す ebinfo CD-ROM 書籍に関する情報を出力する ebrefile CD-ROM 書籍のカタログファイルを構成し直す ebstopcode CD-ROM 書籍の本文の区切りコードを検査する ebunzip CD-ROM 書籍を伸長する ebzip CD-ROM 書籍を圧縮する ebzipinfo CD-ROM 書籍の圧縮情報を出力する ebappendix コマンドは Perl スクリプトのため、本パッケージでは提供して いませんので、ご注意下さい。 バージョン 4.0 から、EB ライブラリは他のホストの書籍にアクセスできる ようになりました。遠隔アクセス用の識別子を使うことで、他ホスト上の CD-ROM 書籍を指定することができます。この識別子は、次のような形式をと ります。 ebnet://<ホスト>:<ポート>/<書籍名> (CD-ROM 書籍本体) ebnet://<ホスト>:<ポート>/<書籍名>.app (付録パッケージ) <ホスト> は遠隔ホストの IP アドレスもしくはホスト名です。ただし、IPv6 アドレスを指定する場合は、アドレスを `[' と `]' で囲む必要があります。 (注: バイナリ配布版では IPv4 でしか通信できません。) <ポート> は、そのホストが待ち受けているポートの番号です。ホストが待ち 受けているポートが標準の 22010 番であれば、`:<ポート>' の部分は省略可 能です。 以下に例を記します。 ebnet://eb.example.com/dict ebnet://eb.example.com:22010/dict.app ebnet://192.168.1.1/dict.app ebnet://192.168.1.1:22010/dict ebnet://[fe80::290:27ff:fe3]/dict.app ebnet://[fe80::290:27ff:fe3]:22010/dict 遠隔アクセスを行うには、EBNETD を <ホスト> 上にインストールする必要が あります。EBNETD は、EB Library 用の遠隔アクセスサーバのソフトウェア です。 EB ライブラリはフリーソフトウェアです。ソースコードおよびバイナリを、 いわゆる Modified BSD ライセンス の下で使用することが可能です。 (バージョン 4.1 よりも前のものは、GPL を採用していました。) ライセンスに関して、詳しくは COPYING.txt という英文のファイルを参照 して下さい。 最新の EB ライブラリは次のところから入手できます。 https://github.com/mistydemeo/eb/releases EB ライブラリに関する情報は次のところから得ることができます。 http://www.mistys-internet.website/eb/ コメントやバグの報告は m-kasahr@sra.co.jp 宛に、日本語か英語でお送り下さい。 2. ソースコードからのビルド Windows 用ソースコード配布版を用いて EB ライブラリをソースコードからビ ルドするには、Visual Studio 6.0 が必要です。EB ライブラリのソースコー ド配布版と、それに対応するバージョンの Windows 用ソースコード配布版を 用意し、同じディレクトリに展開します。つまり、展開後は作業ディレクトリ 上に eb-<version>-win32\ eb-<version>\ というサブディレクトリが存在するようにします。この状態で、Visual Studio にワークスペースファイル eb-<version>-win32\eb.dsw を読み込ませ、ワークスペース内の全プロジェクトのビルドを行って下さい。 3. 生成されるバイナリについて 何の修正もせずにそのままビルドした場合、もしくはバイナリ配布版を使用す る場合、バイナリは次のような特徴を持ちます。 * 遠隔アクセス 対応しています。ただし、IPv6 には対応していません。 * メッセージの国際化 対応しています。ただし、使える文字コードはシフトJIS だけです。 * マルチスレッド 対応していません。 なお、バイナリ配布版に収めているバイナリは、`Release' ターゲットでビル ドしたものです。 4. 他のアプリケーションへのリンク EB ライブラリをリンクしたアプリケーションを配布する場合は、最低限 `eb.dll' を一緒に配布する必要があります。もし、メッセージの国際化機能 (eb_error_message() の国際化) を使いたい場合は、`locale/eb.mo' も一緒 に配布します。 `eb.mo' は、起動されたアプリケーションの存在するディレクトリから見て locale\LC_MESSAGES\Japanese\eb.mo ..\locale\LC_MESSAGES\Japanese\eb.mo のどちらかの位置に置いて下さい。