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)を探し、先頭ブロックとサイズを取得します。 その他の情報は特に必要ないと思われます。