278 lines
8.6 KiB
HTML
278 lines
8.6 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||
<!-- #file "eb.html" -->
|
||
<html lang="ja">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
|
||
<link rel="stylesheet" type="text/css" href="eb.css">
|
||
<link rev="made" href="mailto:m-kasahr@sra.co.jp">
|
||
<title>EB ライブラリ</title>
|
||
</head>
|
||
|
||
<body>
|
||
<p>
|
||
[<a href="eb-01.html">前へ</a>] [<a href="eb-03.html">次へ</a>] [<a href="eb.html#toc">目次</a>]
|
||
</p>
|
||
<hr>
|
||
<h2><a name="features">EB ライブラリの特徴</a></h2>
|
||
|
||
<p>
|
||
前に述べたように、EB ライブラリは、電子ブック (EB, EBG, EBXA, EBXA-C, S-EBXA)
|
||
と EPWING 形式の CD-ROM 書籍に対応しています。
|
||
</p>
|
||
|
||
<p>
|
||
EB ライブラリは、これらの CD-ROM 書籍に対して、次の処理を行うことが
|
||
できます。
|
||
</p>
|
||
|
||
<ul>
|
||
<li>前方一致検索
|
||
<li>後方一致検索
|
||
<li>完全一致検索
|
||
<li>条件検索
|
||
<li>複合検索
|
||
<li>見出しデータの取得
|
||
<li>本文データの取得
|
||
<li>メニューの取得
|
||
<li>著作権表示の取得
|
||
<li>カラー図版データの取得 (ただし EPWING のみ)
|
||
<li>モノクロ図版データの取得
|
||
<li>外字データの取得
|
||
<li>動画データの取得
|
||
</ul>
|
||
|
||
<p>
|
||
この章では、EB ライブラリの概要に関して、あらかじめ知っておいて頂いた
|
||
ほうが良いと思われるその他の事柄について、何点か説明します。
|
||
</p>
|
||
|
||
|
||
<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
|
||
<h3><a name="header-files">ヘッダファイル</a></h3>
|
||
|
||
<p>
|
||
EB ライブラリには、いくつかのヘッダファイルが用意されています。
|
||
</p>
|
||
|
||
<dl>
|
||
<dt><code>appendix.h</code></dt>
|
||
<dd>
|
||
appendix (付録) に関連した宣言、定義を行う。
|
||
<dt><code>binary.h</code></dt>
|
||
<dd>
|
||
バイナリデータに関連した宣言、定義を行う。
|
||
<dt><code>eb.h</code></dt>
|
||
<dd>
|
||
EB ライブラリの基本ヘッダファイル。
|
||
<dt><code>error.h</code></dt>
|
||
<dd>
|
||
エラーコードに関連した宣言、定義を行う。
|
||
<dt><code>font.h</code></dt>
|
||
<dd>
|
||
外字に関連した宣言、定義を行う。
|
||
<dt><code>text.h</code></dt>
|
||
<dd>
|
||
テキストデータ (本文、見出しなど) に関連した宣言、定義を行う。
|
||
</dl>
|
||
|
||
<p>
|
||
これ以外にもいくつかのファイルがインストールされますが、上に挙げた
|
||
ヘッダファイルから読み込まれるもので、アプリケーションプログラムが
|
||
直接読み込む必要はありません。
|
||
</p>
|
||
|
||
<p>
|
||
アプリケーションプログラムは、EB ライブラリを使う際にこのヘッダファイル
|
||
をファイルの先頭付近で読み込みます。
|
||
</p>
|
||
|
||
<blockquote class="program">
|
||
<pre>
|
||
#include <eb/eb.h>
|
||
#include <eb/error.h>
|
||
</pre>
|
||
</blockquote>
|
||
|
||
<p>
|
||
<code>eb.h</code> ではなく、<code>eb/eb.h</code> を読み込むようにして下さい。
|
||
</p>
|
||
|
||
<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
|
||
<h3><a name="character-code">文字コード</a></h3>
|
||
|
||
<p>
|
||
EB ライブラリでは、CD-ROM 書籍内のデータを文字列にしてアプリケーション
|
||
に渡す際の文字コードを規定しています。
|
||
</p>
|
||
|
||
<p>
|
||
EBG (海外の電子ブック) については、データが ISO 8859-1 (ラテン文字 1、
|
||
ただし制御文字を除く) で書かれているため、データのやり取りも ISO 8859-1
|
||
で行います。
|
||
ただし、外字だけは 2 バイトで表現し、0x0101 ~ 0x1efe の領域を使用します。
|
||
(外字領域の下位 16 ビットは 0x01 ~ 0xfe の範囲を使用します。)
|
||
</p>
|
||
|
||
<p>
|
||
EBG, EBXA-C を除いた電子ブック、および EPWING については、データが
|
||
JIS X 0208 (日本語のかな漢字) で書かれており、JIS X 0208 を 0x2121 ~
|
||
0x7e7e にマッピングし、0xa121 ~ 0xfe7e を外字領域にしています (下図)。
|
||
</p>
|
||
|
||
<blockquote>
|
||
<pre>
|
||
上位8ビット
|
||
|
||
00 21 7e a1 fe
|
||
00┌──┬─────┬──┬─────┬┐
|
||
│ │ │ │ ││
|
||
21├──┼─────┼──┼─────┼┤
|
||
│ │ │ │ ││
|
||
│ │JIS X│ │ 外字 ││
|
||
│ │0208 │ │ ││
|
||
│ │ │ │ ││
|
||
7e├──┼─────┼──┼─────┼┤
|
||
下位8ビット │ │ │ │ ││
|
||
a1├──┼─────┼──┼─────┼┤
|
||
│ │ │ │ ││
|
||
│ │ │ │ ││
|
||
│ │ │ │ ││
|
||
│ │ │ │ ││
|
||
fe├──┼─────┼──┼─────┼┤
|
||
└──┴─────┴──┴─────┴┘
|
||
</pre>
|
||
</blockquote>
|
||
|
||
<p>
|
||
EB ライブラリでは JIS X 0208 部分を日本語 EUC (EUC-JP) にエンコード
|
||
して、アプリケーションとのやり取りも日本語 EUC で行います。
|
||
したがって、JIS X 0208 部分は 0xa1a1 ~ 0xfefe にマッピングされます。
|
||
</p>
|
||
|
||
<p>
|
||
EBXA-C (中日・日中辞書の電子ブック) については、データが JIS X 0208
|
||
(日本語のかな漢字) と GB 2312 (中国語の簡体字) で書かれており、
|
||
JIS X 0208 を 0x2121 ~ 0x7e7e にマッピング、
|
||
GB 2312 を 0x21a1 ~ 0x7efe にマッピングし、
|
||
0xa121 ~ 0xfe7e を外字領域にしています (下図)。
|
||
</p>
|
||
|
||
<blockquote>
|
||
<pre>
|
||
上位8ビット
|
||
|
||
00 21 7e a1 fe
|
||
00┌──┬─────┬──┬─────┬┐
|
||
│ │ │ │ ││
|
||
21├──┼─────┼──┼─────┼┤
|
||
│ │ │ │ ││
|
||
│ │JIS X│ │ 外字 ││
|
||
│ │0208 │ │ ││
|
||
│ │ │ │ ││
|
||
7e├──┼─────┼──┼─────┼┤
|
||
下位8ビット │ │ │ │ ││
|
||
a1├──┼─────┼──┼─────┼┤
|
||
│ │ │ │ ││
|
||
│ │GB │ │ ││
|
||
│ │2312 │ │ ││
|
||
│ │ │ │ ││
|
||
fe├──┼─────┼──┼─────┼┤
|
||
└──┴─────┴──┴─────┴┘
|
||
</pre>
|
||
</blockquote>
|
||
|
||
<p>
|
||
EB ライブラリでは、アプリケーションとのやり取りに使う文字コードは、
|
||
日本語 EUC および中国語 EUC (EUC-ZH) です。
|
||
したがって、そのままでは JIS X 0208 と GB 2312 が 0xa1a1 ~ 0xfefe に
|
||
マッピングされ、衝突してしまいます。
|
||
この問題をどう回避するのかは、アプリケーション側で決める必要があります
|
||
(詳しくは、<a href="eb-09.html#hook-and-character-code">「フックと文字コードの関係」</a> を参照のこと)。
|
||
</p>
|
||
|
||
<p>
|
||
電子ブック、EPWING ともに、外字については、アプリケーション側でどう
|
||
扱うかを決める必要があります。
|
||
外字について詳しくは <a href="eb-10.html#local-character">「外字」</a> を参照のこと。
|
||
</p>
|
||
|
||
<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
|
||
<h3><a name="compressed-book">圧縮された書籍について</a></h3>
|
||
|
||
<p>
|
||
EB ライブラは、データを圧縮して収録した書籍を扱うことができます。
|
||
今のところ、次の 4 種類の圧縮方法に対応しています。
|
||
</p>
|
||
|
||
<dl>
|
||
<dt><code>ebzip</code> 圧縮形式</dt>
|
||
<dd>
|
||
EB ライブラリ独自の圧縮形式です。
|
||
付属の <code>ebzip</code> コマンドを使うと、この形式で圧縮した書籍を作れます。
|
||
|
||
<dt>EPWING V4, V5 形式</dt>
|
||
<dd>
|
||
市販の EPWING V4, V5 の書籍の一部に、この形式で圧縮したものがあります。
|
||
|
||
<dt>EPWING V6 形式</dt>
|
||
<dd>
|
||
市販の EPWING V6 の書籍の一部に、この形式で圧縮したものがあります。
|
||
EPWING V4, V5 形式の改良型です。
|
||
|
||
<dt>S-EBXA 形式</dt>
|
||
<dd>
|
||
市販の S-EBXA の書籍の一部に、この形式で圧縮したものがあります。
|
||
</dl>
|
||
|
||
<p>
|
||
データの伸長は EB ライブラリ側で自動的に行われるため、
|
||
アプリケーションプログラムからは、アクセスしている書籍が圧縮されているか
|
||
どうか分かりません。
|
||
アプリケーションプログラムは、書籍が圧縮されているかどうかで処理を変える
|
||
必要はありません。
|
||
</p>
|
||
|
||
<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
|
||
<h3><a name="remote-access">遠隔ホスト上の書籍について</a></h3>
|
||
|
||
<p>
|
||
バージョン 4.0 から、EB ライブラリは他のホストの書籍にアクセスできる
|
||
ようになりました。
|
||
</p>
|
||
|
||
<p>
|
||
遠隔アクセスの処理はすべて EB ライブラリ側で行われますので、
|
||
アプリケーションプログラムは、書籍が自分のホスト上にあるかどうかで、
|
||
EB ライブラリの呼び出し手順を変える必要はありません。
|
||
</p>
|
||
|
||
<p>
|
||
ただし、他のホストからアクセスすると、処理速度は非常に遅くなります。
|
||
そのため、効率良く処理できるよう、アプリケーションの処理方法を工夫すべき
|
||
状況が生じることはあるかも知れません。
|
||
</p>
|
||
|
||
<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
|
||
<h3><a name="system-requirements">システムの要件</a></h3>
|
||
|
||
<p>
|
||
アプリケーションプログラムのコンパイルに用いるコンパイラには、
|
||
ANSI (ANSI X3.159-1989, ISO/IEC 9899-1990) 対応のものを対象としています。
|
||
また、システムには POSIX.1 (IEEE Std. 1003.2-1990, ISO/IEC 9945-1:1990)
|
||
準拠ないし互換のものを対象としています。
|
||
</p>
|
||
|
||
<p>
|
||
永らく EB ライブラリでは、古いコンパイラや UNIX 系システムへの対応も
|
||
それなりに行われていましたが、バージョン 4.1 からは対応を打ち切っています。
|
||
特に ANSI 対応のコンパイラは必須ですので、ご注意ください。
|
||
</p>
|
||
|
||
<!-- ================================================================ -->
|
||
<hr>
|
||
<p>
|
||
[<a href="eb-01.html">前へ</a>] [<a href="eb-03.html">次へ</a>] [<a href="eb.html#toc">目次</a>]
|
||
</p>
|
||
</body>
|
||
</html>
|