next up previous
Next: 本文からテキストの取り出し Up: EPWINGの構造について Previous: CATALOGS(登録書籍名管理ファイル)

HONMON(書籍ファイル)

HONMONは書籍の本体と言えるファイルです。 2048Bytesのブロック単位に扱われていて、最初の1ブロックには書籍管理情報が格納されています。 書籍管理情報の構造は下記のとおりです。

/* EPWING HONMON Header(書籍管理情報ブロック1) */
struct {
    WORD itemcount;     /* 書籍構成要素数 */
    BYTE booktype;      /* 書籍の種類 */
    BYTE protecttype;   /* 保護情報 */
    BYTE indexhandling; /* インデックス作成情報の取扱法 */
    BYTE reserved2[11]; /* 予備領域2 */
} EPW_HON_HEADER;

/* EPWING HONMON Item Information(書籍構成要素) */
struct {
    BYTE id;            /* 書籍構成要素識別子 */
    BYTE reserved1;     /* 予備領域3 */
    LONG startblock;    /* 構成要素の先頭ブロック数(1〜) */
    LONG size;          /* 領域サイズ(ブロック数) */
    BYTE indexvalid;    /* インデックス作成情報有効性 */
    BYTE indexinfo[3];  /* インデックス作成情報 */
    BYTE reserved2[2];  /* 予備領域4 */
} EPW_HON_ITEMINFO[書籍構成要素数];


/* EPWING HONMON Display Information(書籍管理情報ブロック2) */
struct {
    BYTE enable;        /* 有効無効フラグ(表示方法の初期値情報全体が有効か無効か) */
    BYTE reserved1[3];  /* 予備領域5 */
    BYTE isdisplaylist; /* 一覧表表示 */
    BYTE bodydisplaytype; /* 本文表示法 */
    BYTE reserved2[10]; /* 予備領域6 */
} EPW_HON_DISPINFO;

例文を抜き出すときに重要なのはEPW_HON_ITEMINFO[]です。メンバidに格納されたIDを元に本文(id=0x00)を探し、先頭ブロックとサイズを取得します。 その他の情報は特に必要ないと思われます。



Katayama 2002-03-12