This is ebzip-ja.info, produced by makeinfo version 4.0 from
ebzip-ja.texi.

INFO-DIR-SECTION CD-ROM Book Utilities
START-INFO-DIR-ENTRY
* ebzip-ja: (ebzip-ja).         Compress and uncompress a CD-ROM book.
END-INFO-DIR-ENTRY

   ebzip: CD-ROM 書籍の圧縮と伸長のためのツール, 笠原基之

   Copyright (C) 1998, 99, 2000, 01  Motoyuki Kasahara

   Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by Free Software Foundation, Inc.


File: ebzip-ja.info,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)

   この文書は第 3.2.1 版です。 EB ライブラリバージョン 3.2.1 に対応して
います。

* Menu:

* Introduction::                はじめに
* Action and Command Name::     動作とコマンド名
* Invoking ebzip::              `ebzip' の実行
* Compression::                 圧縮の動作について
* Uncompression::               伸長の動作について
* Information::                 情報出力の動作について
* Delete a Book::               書籍の削除
* Summary of Options::          `ebzip' のオプション一覧
* Comparision Result::          圧縮結果の比較
* Compressed File Format::      圧縮ファイルの形式

 --- The Detailed Node Listing ---

圧縮

* Compression Example 1::       圧縮の実例 (1)
* Compression Example 2::       圧縮の実例 (2)
* Compression Level::           圧縮レベル
* Test::                        テスト
* Partial Compression::         一部だけの圧縮
* Overwrite Old Files::         古いファイルの上書き
* Compress Compressed Book::    圧縮された書籍の圧縮

伸長

* Uncompression Example::       伸長の実例
* Options for Uncompression::   伸長のオプション
* Uncompress Compressed Book::  圧縮された書籍の伸長

情報出力

* Information Example::         情報出力の実行例
* Options for Information::     情報出力のオプション

圧縮ファイルの形式

* Format Overview::             圧縮ファイル形式の概要
* Data Part::                   データ部
* Index Part::                  インデックス部
* Header Part::                 ヘッダ部


File: ebzip-ja.info,  Node: Introduction,  Next: Action and Command Name,  Prev: Top,  Up: Top

はじめに
********

   `ebzip' は EB ライブラリのアプリケーション用に、CD-ROM 書籍の圧縮・
伸長を行います。 EB ライブラリのアプリケーションは、機能的には何の制限
もなく圧縮された CD-ROM 書籍にアクセスできます (ただし、処理速度はもと
の書籍に比べて遅くなるかも知れません)。 圧縮データ形式は、 CPU
の種類や、OS、ファイルシステムには依存していませんので、`ebzip' で圧縮
したファイルは共用が可能です。 `ebzip' は EB ライブラリと一緒に配布され
ています。

   `ebzip' はフリーソフトウェアです。あなたは、 Free Software Foundation
が公表した GNU General Public License (GNU 一般公有使用許諾) バージョン
2 あるいはそれ以降の各バージョンの中からいずれかを選択し、そのバージョ
ンが定める条項に従って本プログラムを再頒布または変更することができます。

   `ebzip' は有用とは思いますが、頒布にあたっては、市場性及び特定目的
適合性についての暗黙の保証を含めて、いかなる保証も行ないません。 詳細に
ついては GNU General Public License をお読み下さい。

   加えて、あなたは自分の所有する CD-ROM 書籍の使用許諾も守らなくてはい
けません。 `ebzip' はフリーソフトウェアですが、あなたの書籍が自由に使
えるものであるとは限りません。 CD-ROM 書籍の出版社がハードディスク (お
よび他の補助記憶装置)
に書籍をコピーすることを許可していないのであれば、その書籍の圧縮は諦め
て下さい。


File: ebzip-ja.info,  Node: Action and Command Name,  Next: Invoking ebzip,  Prev: Introduction,  Up: Top

動作とコマンド名
****************

   `ebzip' は三つの "動作" ("action") モードを備えています。 圧縮
(compression)、伸長 (uncompression) と情報出力 (information) です。

   * 圧縮 (compression)
     一冊の CD-ROM 書籍を圧縮します。

   * 伸長 (uncompression)
     `ebzip' で圧縮された、一冊の CD-ROM 書籍を伸長します。

   * 情報出力 (information)
     `ebzip' で圧縮された、一冊の CD-ROM 書籍の圧縮状態に関する情報を
     出力します。


`ebzip' は起動時に、起動時に使用されたコマンド名とコマンドラインオプシ
ョンから動作を決定します。 `ebzip' の一回の実行の間で、動作が変わること
はありません。

   `ebzip' は `ebzip'、`ebunzip', `ebzipinfo' という異なる 3 つのコマ
ンド名でインストールされます。 (DOS および Windows システム環境では、
`ebzipinfo' は `ebzipinf' に改名されています)。 一般に、これらは次のよ
うにハードリンクされています。

     % ls -li ebzip ebunzip ebzipinfo
     38787 -rwxr-xr-x  3 bin   bin     73728 Jun 27 22:48 ebunzip
     38787 -rwxr-xr-x  3 bin   bin     73728 Jun 27 22:48 ebzip
     38787 -rwxr-xr-x  3 bin   bin     73728 Jun 27 22:48 ebzipinfo

`ebunzip' という名前で起動された場合、動作を指定しないときは、 伸長を行
います。 `ebzipinfo'
という名前で起動された場合、動作を指定しないときは、
情報出力を行います。 それ以外の場合、動作を指定しないと圧縮を行います。

   加えて、コマンドラインオプションでも動作を決定することができます。
そのオプションとは `--compress'(`-z') および `--uncompress'(`-u') と
`--information'(`-i') です。
オプションは、起動時の名前より優先します。 次の例では、いずれの行も動作
モードは「伸長」になります。

     ebunzip
     ebzip --uncompress
     ebzipinfo --uncompress


File: ebzip-ja.info,  Node: Invoking ebzip,  Next: Compression,  Prev: Action and Command Name,  Up: Top

`ebzip' の実行
**************

   `ebinfo'、`ebunzip'、`ebzipinfo' の一般的な起動方法は次の通りです。

     % ebzip 書籍へのパス
     % ebunzip 書籍へのパス
     % ebzipinfo 書籍へのパス

書籍へのパスには、CD-ROM 書籍のトップディレクトリ、つまり `CATALOG' ま
たは `CATALOGS' ファイルが存在するディレクトリを指定します。 複数のパ
スを書くことはできませんが、以下のように、パスの指定を省くことはできま
す。

     % ebzip
     % ebunzip
     % ebzipinfo

この場合は、カレントディレクトリ (`.')
が指定されたものと判断されます。


File: ebzip-ja.info,  Node: Compression,  Next: Uncompression,  Prev: Invoking ebzip,  Up: Top

圧縮
****

   `ebzip' (`ebunzip --compress'、 `ebzipinfo --compress' と等価) は
CD-ROM 書籍の圧縮を行います。

* Menu:

* Compression Example 1::       圧縮の実例 (1)
* Compression Example 2::       圧縮の実例 (2)
* Compression Level::           圧縮レベル
* Test::                        テスト
* Partial Compression::         一部だけの圧縮
* Overwrite Old Files::         古いファイルの上書き
* Compress Compressed Book::    圧縮された書籍の圧縮


File: ebzip-ja.info,  Node: Compression Example 1,  Next: Compression Example 2,  Prev: Compression,  Up: Compression

圧縮の実行例 (1)
================

   この節では、ハードディスクにすでにコピーしてある CD-ROM
書籍を圧縮するにはどうしたらいいかを説明します。 CD-ROM 書籍がすでに
`/dict' にコピーされているものの、まだ圧縮されていないと仮定します。
この書籍は `/dict' の下に、次のようなファイルを持っています。

     /dict/catalog
     /dict/language
     /dict/kanji/start
     /dict/english/start

この書籍を圧縮するには、次のようにします。

     % cd /dict
     % ebzip

これは次のようにしても同じです。

     % ebzip --output-directory /dict /dict

圧縮には、しばらくかかることがあります。 圧縮の間、`ebzip' は、次のよう
に状況を知らせるメッセージを出力します。

     ==> /dict/kanji/start を圧縮 <==
     ./dict/kanji/start.ebz に出力
      1.0% 処理済み (2097152 / 220069888 バイト)
      1.9% 処理済み (4194304 / 220069888 バイト)
      2.9% 処理済み (6291456 / 220069888 バイト)
             : (略)
     完了 (220069888 / 220069888 バイト)
     220069888 -> 78163751 バイト (35.5%)

圧縮が完了すると、`/dict' の下のディレクトリ構成は少し変化しています。

     /dict/catalog
     /dict/language.ebz
     /dict/kanji/start.ebz
     /dict/english/start.ebz

拡張子 `.ebz' がいくつかのファイル (`/dict/language.ebz'、
`/dict/kanji/start.ebz'、`/dict/english/start.ebz') に付いています。
これらは圧縮されたファイルです。 他のファイルは変化していません。

   `ebzip' が圧縮するファイルは、 `START'、`HONMON'、`LANGUAGE' ファイ
ルと `GAIJI' ディレクトリにある外字ファイルです。


File: ebzip-ja.info,  Node: Compression Example 2,  Next: Compression Level,  Prev: Compression Example 1,  Up: Compression

圧縮の実行例 (2)
================

   この節では、もう一つ別の例を採り上げます。 この節では、CD-ROM ディス
クのファイルを圧縮し、それをハードディスクに置く方法について説明します。
元の CD-ROM 書籍が `/cdrom' にマウントされ、書籍は `/cdrom' の下に次の
ようなファイルを持っていると仮定します。

     /cdrom/catalog
     /cdrom/language
     /cdrom/german/start
     /cdrom/french/start
     /cdrom/italian/start

この書籍を圧縮し、 `/dict'
の下に置くためには、次のコマンドを実行します。

     % cd /dict
     % ebzip --keep /cdrom

これは次のようにしても同じです。

     % ebzip --keep --output-directory /dict /cdrom

出力側のディレクトリ `/dict' は空でも構いませんが、圧縮前にあらかじめ
作っておかなければならないので、注意して下さい。 この例では、`--keep'
オプションを使っています。 特に指定しなければ、`ebzip' は、圧縮後に元の
ファイルを削除しますが、 `--keep'
オプションはこの振る舞いを抑制します。

   `/dict' と `/cdrom' のディレクトリ構成はほとんど同じですが、 `/dict'
の下の圧縮されたファイルには拡張子 `.ebz' が付いています。

     /dict/catalog
     /dict/language.ebz
     /dict/german/start.ebz
     /dict/french/start.ebz
     /dict/italian/start.ebz

中間のディレクトリ `/dict/german'、 `/dict/french'、 `/dict/italian'
は、もし無ければ `ebzip' によって作成されます。 `CATALOG' と `CATALOGS'
は、出力側のディレクトリにコピーされます。 EB ライブラリが対応していな
いファイル、ディレクトリについては、 `ebzip' は無視します。


File: ebzip-ja.info,  Node: Compression Level,  Next: Test,  Prev: Compression Example 2,  Up: Compression

圧縮レベル
==========

   `ebzip' は、0 〜 5 という 6 つの圧縮レベルを持っています。 圧縮レベ
ル 0 は、圧縮・伸長が最も速いですが、圧縮率が最悪です。 圧縮レベル 5
は、圧縮率が最良ですが、圧縮・伸長が最も遅くなります。 圧縮レベルは、
`--level' (`-l') オプションで設定します。

     % ebzip --level 2 --output-directory /dict /dict

無指定時のレベルは 0 (最も速いが圧縮率は最悪) です。


File: ebzip-ja.info,  Node: Test,  Next: Partial Compression,  Prev: Compression Level,  Up: Compression

テスト
======

   `ebzip' を `--test' (`-t') オプション付きで実行すると、 `ebzip' は圧
縮したデータを実際のファイルには書き込まなくなります。 圧縮する前に圧縮
後のファイルの大きさを知りたいときに、便利です。

     % ebzip --test /dict /dict


File: ebzip-ja.info,  Node: Partial Compression,  Next: Overwrite Old Files,  Prev: Test,  Up: Compression

一部だけの圧縮
==============

   なにも設定しないと、 `ebzip' は書籍一冊の全体を圧縮しますが、
`--subbook' (`-S') や `--skip-content' (`-s') オプションを使うと一部だ
けを圧縮できます。

   `--subbook' オプションは引数を一つ取り、そこにカンマ (`,') で区切っ
て、圧縮したい副本のディレクトリ名を並べて書きます。 `ebinfo' コマンド
を用いると、あなたの所有している書籍にどのような副本が含まれているのか
を知ることができます。

     % ebinfo /mnt/cdrom
     ディスクの形式: EB/EBG/EBXA/EBXA-C/S-EBXA
     文字コード: JIS X 0208
     副本の数: 3
     副本 1:
       題名: 新英和辞典（第四版）
       ディレクトリ: english
       検索方式: 前方一致後方一致条件メニュー
       フォントの大きさ: 16 24 30 48
       半角フォントの文字: 0xa121 -- 0xa24e
       全角フォントの文字: 0xa321 -- 0xa27e
     副本 2:
       題名: CD-ROM 仏和辞典（第三版）
       ディレクトリ: french
       検索方式: 前方一致後方一致条件メニュー
       フォントの大きさ: 16 24 30 48
       半角フォントの文字:
       全角フォントの文字: 0xa321 -- 0xa27e
     副本 3:
       題名: ポケット独和辞典（第三版）
       ディレクトリ: german
       検索方式: メニュー
       フォントの大きさ: 16 24 30 48
       半角フォントの文字:
       全角フォントの文字: 0xa321 -- 0xa27e

(`ebinfo' コマンドに関しての詳細は、 *note `ebinfo' の実行 :
(ebinfo-ja)Invoking ebinfo.)。
この例では、 3 つの副本が書籍には含まれており、それらのディレクトリ名は
`english', `french', `german' だということが分かります。

   `english' と `german' だけを圧縮するには、次のようにします。

     % ebzip --subbook english,french /dict

ディレクトリ名の大文字、小文字の違いは無視されます。 `--subbook' の引数
は、次のように分けて書くこともできます。

     % ebzip --subbook english --subbook french /dict

残りの副本 (この例では `german') のファイルは圧縮されることもコピーさ
れることもありませんので、この時点ではまだこの書籍に対する圧縮の作業は
完了していません。 この書籍を使用するためには、さらなる操作を行って残り
の副本を圧縮するか、 `ebrefile' コマンドを使って残りの副本を
`CATALOG(S)' ファイルの副本登録リストから削除しなくてはなりません (詳
しくは *note `ebzip' との連携: (ebrefile-ja)Combination with ebzip.)。

   副本同士で、異なる圧縮レベルを設定することは可能です (たとえば、
`english' と `french' はレベル 0 で圧縮し、 `german' はレベル 2 で圧縮
する)。

   `--skip-content' (`-s') は `--subbook' に似ていますが、
`--skip-content' では無視するファイルのデータ型を指定します。

     % ebzip --skip-content sound,movie --subbook french /dict

この例では、`ebzip' は音声と動画ファイルを飛ばします。 現在のところ、
`ebzip' によって認識されるデータ型は、 `font'、`graphic'、`sound'、
`movie' です。


File: ebzip-ja.info,  Node: Overwrite Old Files,  Next: Compress Compressed Book,  Prev: Partial Compression,  Up: Compression

古いファイルの上書き
====================

   書き込もうとしたファイルがすでに存在するとき、`ebzip' は上書きして
良いかどうかの確認を求めてきます。

     ==> /dict/science/data/honmon を圧縮 <==
     /dict/science/data/honmon.ebz に出力
     
     ファイルがすでに存在します: /dict/science/data/honmon.ebz
     上書きしますか (はい:y, いいえ:n)?

`y' か `n' で答えて下さい。 `n' と答えると、`ebzip' はそのファイルを飛
ばして、次に進みます。

   `--force-overwrite' オプションを指定すると、`ebzip' はすでに存在し
ているファイルを、確認なしに上書きします。 同様に、`--no-overwrite' オ
プションを指定すると、`ebzip' は確認なしにそのファイルを飛ばして次に進
みます。


File: ebzip-ja.info,  Node: Compress Compressed Book,  Prev: Overwrite Old Files,  Up: Compression

圧縮された書籍の圧縮
====================

   S-EBXA および EPWING においても圧縮形式を定義しており、CD-ROM 書籍に
はこれらの圧縮形式を実際に採用しているものがあります。 これらの圧縮形
式は、ebzip の圧縮形式とは異なるものです。

   `ebzip' は S-EBXA や EPWING 圧縮形式で圧縮された CD-ROM 書籍も伸長
することができますが、圧縮することはできません。

   `ebzip' に対して、既に圧縮されている CD-ROM 書籍を圧縮するように命
じると、`ebzip' はいったん書籍を伸長してから、ebzip の圧縮形式で圧縮し
直します。

   一般に ebzip の圧縮形式の方が S-EBXA や EPWING の圧縮形式よりも圧縮
率が良好です。


File: ebzip-ja.info,  Node: Uncompression,  Next: Information,  Prev: Compression,  Up: Top

伸長
****

   `ebunzip' (`ebzip --uncompress'、 `ebzipinfo --uncompress' と同じ)
は、`ebzip' で圧縮した CD-ROM 書籍を伸長します。

* Menu:

* Uncompression Example::       伸長の実例
* Options for Uncompression::   伸長のオプション
* Uncompress Compressed Book::  圧縮された書籍の伸長


File: ebzip-ja.info,  Node: Uncompression Example,  Next: Options for Uncompression,  Prev: Uncompression,  Up: Uncompression

伸長の実行例
============

   伸長の処理手順は、圧縮とかなり似ています。 `/dict' の下に圧縮された
書籍が置かれているものと仮定します。 この書籍には、`/dict' の下に次のよ
うなファイルを持っています。

     /dict/catalog
     /dict/language.ebz
     /dict/kanji/start.ebz
     /dict/english/start.ebz

この書籍を伸長するには、次のコマンドを実行します。

     % cd /dict
     % ebunzip

これは次のようにしても同じです。

     % ebunzip --output-directory /dict /dict

伸長には、しばらくかかることがあります。 伸長の間、`ebunzip' は、次のよ
うに状況を知らせるメッセージを出力します。

     ==> /dict/kanji/start.ebz を伸長 <==
     ./kanji/start.ebz に出力
      5.1% 処理済み (4194304 / 82460672 バイト)
     10.2% 処理済み (8388608 / 82460672 バイト)
     15.3% 処理済み (12582912 / 82460672 バイト)
             : (略)
     完了 (82460672 / 82460672 バイト)
     25681439 -> 82460672 バイト

伸長の間、`ebunzip' は、すでに存在するファイルを上書きしても良いかどう
か確認を求めてきます。

     ==> /dict/kanji/start.ebz を伸長 <==
     /dict/kanji/start に出力
     
     ファイルがすでに存在します: /dict/kanji/start
     上書きしますか (はい:y, いいえ:n)?

伸長が完了すると、`/dict' の下のディレクトリ構成は少し変化しています。

     /dict/catalog
     /dict/language
     /dict/kanji/start
     /dict/english/start

伸長されたファイルはファイル名が変化し、 拡張子 `.ebz' が取り除かれてい
ます。


File: ebzip-ja.info,  Node: Options for Uncompression,  Next: Uncompress Compressed Book,  Prev: Uncompression Example,  Up: Uncompression

伸長のオプション
================

   多くのオプションは、圧縮時と伸長時とで同じ意味を持っています。

   `--keep' オプションを指定すると、`ebunzip' は、伸長した後に圧縮ファ
イルを削除しなくなります。

   `--test' オプションを指定すると、`ebunzip' は伸長したデータを実際の
ファイルには書き込みません。 このオプションは、ファイルが正しく圧縮され
ているのかを確認するときに便利です (`--test' オプションについての詳細
は、*note テスト: Test.)。

   `--subbook' や `--skip-content' オプションを指定すると、条件に合致
したファイルだけしか伸長しません (これらのオプションについての詳細は、
*note 一部だけの圧縮: Partial Compression.)。

   `--force-overwrite' や `--no-overwrite' オプションを指定すると、
`ebunzip' は上書きしても良いかどうかの確認なしに、ファイルを上書きした
り飛ばして次に進んだりします (`--force-overwrite' と `--no-overwrite'
オプションについての詳細は、*note 古いファイルの上書き : Overwrite Old
Files.)。

   `ebunzip' は、`--level' オプションを無視します。 伸長時に `--level'
オプションを指定する必要はありません。


File: ebzip-ja.info,  Node: Uncompress Compressed Book,  Prev: Options for Uncompression,  Up: Uncompression

圧縮された書籍の伸長
====================

   S-EBXA および EPWING では ebzip のものとは異なる圧縮形式を定義してお
り、 CD-ROM
書籍にはこれらの圧縮形式を実際に採用しているものがあります。 これらの圧
縮形式は、ebzip の圧縮形式とは異なるものです。

   `ebzip' は S-EBXA や EPWING 圧縮形式で圧縮された CD-ROM 書籍も伸長
することができますが、圧縮することはできません。


File: ebzip-ja.info,  Node: Information,  Next: Delete a Book,  Prev: Uncompression,  Up: Top

情報出力
********

   `ebzipinfo' (`ebzip --information'、`ebunzip --information' と同じ)
は CD-ROM 書籍の圧縮状態を出力します。

* Menu:

* Information Example::         情報出力の実行例
* Options for Information::     情報出力のオプション


File: ebzip-ja.info,  Node: Information Example,  Next: Options for Information,  Prev: Information,  Up: Information

情報出力の実行例
================

   `/dict' にある、圧縮された CD-ROM 書籍の情報を出力するには次のコマ
ンドを実行します。 `/dict' に置かれている、圧縮された CD-ROM 書籍の情報
を出力するには、次のようにします。

     % ebzipifo /dict

   `ebzipinfo' は標準出力に次のような情報を出力します。

     ==> /dict/spanish/spanish/start.ebz <==
     154290176 -> 54881862 バイト (35.6%, ebzip 圧縮レベル 0)
     ==> /dict/spanish/language.ebz <==
     compressed: 12288 -> 4121 バイト (33.5%, ebzip 圧縮レベル 0)
     ==> /dict/spanish/catalog <==
     2048 バイト (非圧縮)


File: ebzip-ja.info,  Node: Options for Information,  Prev: Information Example,  Up: Information

情報出力のオプション
====================

   `--subbook' や `--skip-content' オプションを指定すると、条件に合致
したファイルの情報だけを出力します
(これらのオプションについての詳細は、 *note 一部だけの圧縮 : Partial
Compression.)。

   `ebzipinfo' は `--force-overwrite'、 `--keep'、`--level'、
`--no-overwrite'、 `--output-directory'、`--quiet'、 `--silence'、
`--test' オプションを無視します。


File: ebzip-ja.info,  Node: Delete a Book,  Next: Summary of Options,  Prev: Information,  Up: Top

書籍の削除
**********

   `ebzip' は、ハードディスク上に圧縮した辞書の削除機能は持っていませ
ん。 代わりに `rm' コマンドを使って下さい。

     % rm -r /dict

この作業は、注意して行って下さい。


File: ebzip-ja.info,  Node: Summary of Options,  Next: Comparision Result,  Prev: Delete a Book,  Up: Top

`ebzip' のオプション一覧
************************

   `ebzip' コマンドは、伝統的な一文字オプション名と覚えやすい長いオプ
ション名の両方を扱うことができます。 長いオプション名を表すには、`-' で
はなく `--' を用います。 オプション名が一意に決まる範囲内で、名前の後方
部分を省略することができます。

`-f'
`--force-overwrite'
     確認を求めずに、既に存在しているファイルを上書きします。 このオプ
     ションは、情報出力の動作のときや、`--test' (`-t') オプションを指定
     したときは無視されます

     (詳しくは、*note 古いファイルの上書き: Overwrite Old Files.)。

`-h'
`--help'
     ヘルプメッセージを標準出力に出力して、終了します。

`-i'
`--information'
     指定された CD-ROM 書籍の圧縮状態を出力します。

     (詳しくは、 *note 情報出力: Information.)。

`-k'
`--keep'
     出力側のファイルを書き込み終わっても、対応する入力側のファイルは削
     除しません。 このオプションは、情報出力の動作のときや、 `--test'
     (`-t') オプションを指定したときは無視されます

     (詳しくは、*note 圧縮の実行例 (2): Compression Example 2.)。

`-l 整数'
`--level 整数'
     圧縮レベルを指定します。 整数は、`0'、`1'、`2'、`3'、`4'、 `5' の
     いずれかでなくてはいけません。 レベル 0 は、最も速いものの圧縮率は
     最悪です。 レベル 3 は、最も遅いものの圧縮率は最良です。 指定しな
     かったときのレベルは 0 です。 このオプションは、圧縮以外の動作のと
     きは無視されます。

     (詳しくは、*note 圧縮レベル: Compression Level.)。

`-n'
`--no-overwrite'
     既に存在するファイルがあった場合、上書きの確認を求めずに、そのファ
     イルは飛ばして次のファイルに進みます。 このオプションは、情報出力
     の動作のときや、`--test' (`-t') オプションを指定したときは無視され
     ます

     (詳しくは、*note 古いファイルの上書き: Overwrite Old Files.)。

`-o ディレクトリ'
`--output-directory ディレクトリ'
     出力側のファイルを置くディレクトリを指定します。 指定しなかったと
     きは、カレントディレクトリ (`.') になります。 このオプションは、情
     報出力の動作のときや、`--test' (`-t') オプションを指定したときは無
     視されます

`-q'
`--quiet'
`--silence'
     情報、警告メッセージを出力しません。 ただし、圧縮・伸長時に出力側
     のファイルが既に存在していると、 `ebzip' はその出力側のファイルを
     上書きして良いかどうか訊いてきます。 この質問を抑制するには、
     `--force-overwrite'(`-f') または `--no-overwrite'(`-n') を指定して
     下さい。 このオプションは、情報出力の動作のときは、無視されます

`-s 型'
`--skip-content 型'
     無視するファイルのデータ型を指定します。 型は、データ型の名前をカ
     ンマ (`,') で区切って並べたものでなくてはいけません。 `ebzip' が
     現在のところ認識するデータ型の名前は、`font'、 `graphic'、
     `sound'、`movie' です。 指定しなかったときは、どのファイルも無視さ
     れません。

`-S 副本'
`--subbook 副本'
     圧縮・伸長・情報出力の対象とする副本を指定します。 副本は、副本の
     ディレクトリ名をカンマ (`,') で区切って並べたものでなくてはいけま
     せん。 指定しなかったときは、すべての副本が対象になります。

     (詳しくは、*note 一部だけの圧縮: Partial Compression.)。

`-t'
`--test'
     圧縮・伸長したデータを、実際のファイルには書き込みません。 このオ
     プションは、情報出力の動作のときは無視されます

     (詳しくは、*note テスト: Test.)。

`-u'
`--uncompress'
     CD-ROM 書籍を伸長します。

     (詳しくは、*note 伸長: Uncompression.)。

`-v'
`--version'
     バージョン番号を標準出力に出力して、終了します。

`-z'
`--compress'
     CD-ROM 書籍を圧縮します。

     (詳しくは、*note 圧縮: Compression.)。


File: ebzip-ja.info,  Node: Comparision Result,  Next: Compressed File Format,  Prev: Summary of Options,  Up: Top

圧縮結果の比較
**************

   次の表は、ある英和・和英辞典 (EBXA) の `START' ファイルを圧縮した結
果:

圧縮レベル                    ファイルサイズ         圧縮率
(元のファイル)                154476544 bytes        100.0%
レベル 0                      54922039 bytes         35.6%
レベル 1                      49615791 bytes         32.1%
レベル 2                      45983464 bytes         29.8%
レベル 3                      43431397 bytes         28.1%
(参考: gzip -6)               38712247 bytes         25.0%

   ある英々辞典 (EBG) の `START' ファイルを圧縮した結果:

圧縮レベル                    ファイルサイズ         圧縮率
(元のファイル)                55511040 bytes         100.0%
レベル 0                      25866491 bytes         46.6%
レベル 1                      24419066 bytes         44.0%
レベル 2                      23453212 bytes         42.2%
レベル 3                      22748840 bytes         41.0%
(参考: gzip -6)               20930009 bytes         37.7%

   ある国語辞典 (EPWING V1) の `HONMON' ファイルを圧縮した結果:

圧縮レベル                    ファイルサイズ         圧縮率
(元のファイル)                23642112 bytes         100.0%
レベル 0                      9927048 bytes          42.0%
レベル 1                      9213184 bytes          39.0%
レベル 2                      8767603 bytes          37.1%
レベル 3                      8495563 bytes          35.9%
(参考: gzip -6)               8114658 bytes          34.3%

   ある国語辞典 (EPWING V5) の `HONMON2' ファイルを圧縮した結果:

圧縮レベル                    ファイルサイズ         圧縮率
(非圧縮)                      220069888 bytes        100.0%
(元のファイル)                149139690 bytes        67.8%
レベル 0                      82973263 bytes         37.7%
レベル 1                      78163751 bytes         35.5%

   ある百科事典 (S-EBXA) の `START' ファイルを圧縮した結果:

圧縮レベル                    file size              ratio
(非圧縮)                      225140735 bytes        100.0%
(元のファイル)                176467968 bytes        78.4%
レベル 0                      146045331 bytes        64.9%
レベル 1                      138137218 bytes        61.4%


File: ebzip-ja.info,  Node: Compressed File Format,  Prev: Comparision Result,  Up: Top

圧縮ファイルの形式
******************

   この章では、`ebzip' が扱っている圧縮ファイル形式の詳細について説明
します。

* Menu:

* Format Overview::             圧縮ファイル形式の概要
* Data Part::                   データ部
* Index Part::                  インデックス部
* Header Part::                 ヘッダ部


File: ebzip-ja.info,  Node: Format Overview,  Next: Data Part,  Prev: Compressed File Format,  Up: Compressed File Format

圧縮ファイル形式の概要
======================

   圧縮ファイル形式は次のような特徴を持っています。

   * CPU の種類、オペレーティングシステム、ファイルシステムに依存しませ
     ん。

   * 非損失圧縮です。
     圧縮ファイルを伸長することによって、元のファイルを復元できます。

   * 4 つの圧縮レベルがあります。
     伸長の速さか圧縮率の良さの、いずれかを選ぶことができます。

圧縮されたファイルは、ヘッダ部、インデックス部、およびデータ部から構成
され、この順でファイルに配置されます。

     +--------+-------------+-----------------------------+
     | ヘッダ |インデックス |          データ             |
     +--------+-------------+-----------------------------+
                                                          EOF


File: ebzip-ja.info,  Node: Data Part,  Next: Index Part,  Prev: Format Overview,  Up: Compressed File Format

データ部
========

   元のファイルは、次の行程で圧縮されます。

   まず、 `ebzip' は元のファイルを分割します。 個々の "スライス"
("slice") は、末尾のものを除けば、同じ大きさになっています。

     +---------------+---------------+--   --+----------+
     |  スライス 1   |  スライス 2   |  ...  |スライス N|
     +---------------+---------------+--   --+----------+
                                                       EOF

スライス・サイズは、圧縮レベルから決まります (圧縮レベルについては
*note 圧縮レベル: Compression Level.)。

圧縮レベル                           スライスの大きさ
0                                    2048 バイト
1                                    4096 バイト
2                                    8192 バイト
3                                    16384 バイト
3                                    32768 バイト
3                                    65536 バイト

次に、末尾のスライスがスライス・サイズよりも短かった場合、 `ebzip' はス
ライス・サイズと同じになるまで伸ばし、伸ばした部分に 0x00 を埋めます。

                                                      伸した部分
     +---------------+---------------+--   --+---------+-----+
     |  スライス 1   |  スライス 2   |  ...  |  スライス N   |
     +---------------+---------------+--   --+---------+-----+
                                                             EOF

最後に、`ebzip' は個々のスライスを、RFC 1951 に記されている DEFLATE 圧
縮データ形式で圧縮します。 おのおののスライスは、他のスライスとは独立し
て圧縮されます。 圧縮されたスライスのビット数が 8 の倍数でなければ、1
〜 7 ビットを圧縮されたスライスの末尾に足し、8 の倍数になるようにしま
す。 これにより、圧縮されたそれぞれのスライスはバイトの境界から開始され
ます。 足されたビットの内容は未定義ですが、このビットは決して使用され
ません。

     +------------+----------+--   --+--------------+
     | 圧縮された |圧縮された|  ...  |  圧縮された  |
     | スライス 1 |スライス 2|  ...  |  スライス N  |
     +------------+----------+--   --+--------------+

これが圧縮ファイル形式における "データ部" になり、圧縮されたスライスか
ら構成されます。

   末尾のスライスの伸ばした部分は、末尾のスライスの一部として圧縮され
ます。 `ebunzip' が末尾のスライスを復元するときは、スライスを伸長して
から伸ばした部分を取り除くという作業を行います。

   圧縮したスライスの大きさが、スライス・サイズよりも大きいか等しいとき
は、 `ebzip' はそのスライスの圧縮データを廃棄します。 この場合、 `ebzip'
は元のデータをそのスライスの圧縮データとして代わりに記録します。

   元のファイルが空だったときは、圧縮ファイルのデータ部はありません。


File: ebzip-ja.info,  Node: Index Part,  Next: Header Part,  Prev: Data Part,  Up: Compressed File Format

インデックス部
==============

   圧縮時に、 `ebzip' は圧縮した個々のスライスの "インデックス"
("index") を記録します。 個々のインデックスは、圧縮ファイルの先頭から圧
縮されたスライスの先頭までの距離を表します。 距離の単位はバイトです。

     +---------+---------+--           --+---------+---------+
     |インデッ |インデッ |  ...........  |インデッ |インデッ |
     |クス 1   |クス 2   |  ...........  |クス N   |クス END |
     +---------+---------+--           --+---------+---------+
          |         |                        |         |
      +---+         +----+                   +------+  +-----------+
      V                  V                          V              V
     +------------------+------------------+--   --+--------------+
     |    圧縮された    |    圧縮された    |  ...  |  圧縮された  |
     |    スライス 1    |    スライス 2    |  ...  |  スライス N  |
     +------------------+------------------+--   --+--------------+

個々のインデックスは 2 〜 4 バイトの大きさを持ちます。 インデックスの大
きさは、元のファイルの大きさで決まります。

元のファイルの大きさ                               インデックスの大きさ
0 〜      65535 バイト                             2 バイト
65535 〜   16777215 バイト                         3 バイト
16777216 〜 4294967295 バイト                      4 バイト

   インデックス内での、複数バイトからなる数値はすべて、値の大きい方の部
分を表すバイト (most significant byte) が先に来た形で記録されます。 た
とえば、0x1234 は次のように記録されます。 最初のバイトは 0x12 となり、
次のバイトは 0x34 になります。

     +---------+---------+
     |0001 0010|0011 0100|
     +---------+---------+
       (0x12)    (0x34)

   インデックス部は、圧縮されたスライス 1 のインデックスで始まり、その
後ろに圧縮されたスライス 2 のインデックスが続きます。 圧縮されたスライ
ス N のインデックスの後ろには、「終端」へのインデックスが置かれます。
このインデックスは、圧縮されたスライス N
の末尾の次のバイトへのインデックスになります。 また、圧縮されたファイル
のサイズを示すことにもなります。

     +---------+---------+--           --+---------+---------+
     |インデッ |インデッ |  ...........  |インデッ |インデッ |
     |クス 1   |クス 2   |  ...........  |クス N   |クス END |
     +---------+---------+--           --+---------+---------+

   圧縮されたスライスの大きさがスライスサイズに等しいときは、そのスライ
スのデータは実際には圧縮されていないことを示します。

   元のファイルが空だったときは、インデックス部はインデックスを一つだけ
持ちます。 このインデックスは圧縮されたファイルの大きさを表します。


File: ebzip-ja.info,  Node: Header Part,  Prev: Index Part,  Up: Compressed File Format

ヘッダ部
========

   ヘッダ部は 22 バイトからなります。 次のフィールドから構成されます。

     +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     | マジック ID  |*1| *2  |ファイルの大きさ | Adler-32  | 修正時刻  |
     +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
      0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20 21
     
     *1: zip モードと圧縮レベル
     *2: 予約領域

`マジック ID (5 バイト)'
     0x45, 0x42, 0x5a, 0x69, 0x70 (ASCII 文字列で表すと `EBZip') とい
     う固定した値を持ちます。

`zip モード (MSB 側の 4 ビット)'
     圧縮モードを表します。 EB ライブラリバージョン 3.2.1 では、1 (2 進
     数で 0001) だけが規定されています。

`圧縮レベル (LSB 側の 4 ビット)'
     圧縮レベルを表します。

`予約領域 (2 バイト)'
     予約されていますが、使われていません。 0x0000 で埋められます。

`ファイルの大きさ (6 バイト)'
     元の (非圧縮時の) ファイルの大きさを記録しています。

`Adler-32 (4 バイト)'
     RFC 1950 に記されている Adler-32 というアルゴリズムを用いて計算し
     た、 非圧縮データのチェックサムの値です。

`修正時刻 (4 バイト)'
     元のファイルの最終修正時刻です。 グリニッジ標準時の 1970 年 1 月 1
     日 0 時 0 分 0 秒からの経過秒数で表します。

   `zip モード' と `圧縮レベル' は、両方ともヘッダの 5 バイト目に入り
ます。 `zip モード' は、値の最も大きい部分を表すビット (most significant
bit) を含み、 `圧縮レベル' は最も小さい部分を表すビット (least
significant bit) を含んでいます。 `zip モード' が 1 で、 `圧縮レベル' が
2 なら、ヘッダの 5 バイト目は 0x12 になります。

      MSB                         LSB
     +---+---+---+---+---+---+---+---+
     | 0   0   0   1   0   0   1   0 | = 0x12
     +---+---+---+---+---+---+---+---+
       (zip モード)  |  (圧縮レベル)

   ヘッダ内での、複数バイトからなる数値はすべて、値の大きい方の部分を
表すバイト (most significant byte) が先に来た形で記録されます。



Tag Table:
Node: Top1018
Node: Introduction2526
Node: Action and Command Name3878
Node: Invoking ebzip5619
Node: Compression6252
Node: Compression Example 16800
Node: Compression Example 28384
Node: Compression Level9948
Node: Test10443
Node: Partial Compression10793
Node: Overwrite Old Files13546
Node: Compress Compressed Book14340
Node: Uncompression15031
Node: Uncompression Example15412
Node: Options for Uncompression16937
Node: Uncompress Compressed Book18111
Node: Information18590
Node: Information Example18929
Node: Options for Information19618
Node: Delete a Book20117
Node: Summary of Options20413
Node: Comparision Result23991
Node: Compressed File Format26309
Node: Format Overview26713
Node: Data Part27567
Node: Index Part30242
Node: Header Part32909

End Tag Table
