Some notes on structure of BBeB dictionaries.
Not complete, bbeb_dic.py handles much more.
2011-04-07 Igor Skochinsky

struct dataMapRec
{
  uint16 DataMapId;
  uint32 Offset; //BE
  uint32 DataSize; //LE
  char extra[6];
}

struct DicHeader
{
  uint16 sig; // 'DB'
  uint16 wVersion; // 0x100
  uint16 wFlags;   // 
                   // Librie: bit 1 (2) = data map table encrypted, compressed data is encrypted
                   // Librie: bit 2 (4) = item address map encrypted, data is compressed
  uint16 w06;
  uint16 w08;
  uint16 w0a;
/* 10 */  uint32 dwIcon;
  uint16 w14;
  uint16 w16;
/* 20 */ char label[16];
}

// data map table
/* 30 */  uint16 nDataMaps;
/* 32 */  char pad[14];
/* 40 */  dataMapRec[nDataMaps];
/*0x40 + nDataMaps*16*/
  uint16 wFlag;
  uint32 dwDicInfoLen;
  char dicInfo[dwDicInfoLen];
}

struct DicInfoData
{
  uint16 DicInfoType;
  uint16 DicInfoSize;
  uint16 memberDicNo;
  char field_6;
  char field_7;
  char field_8[8];
  char CreateDate[10];
  int field_1A;
  uint16 field_1E;
  char CID[16];
  uint16 DicTitleLen;
  char DicTitle[DicTitleLen];
  uint16 TitleReadingLen;
  char TitleReading[TitleReadingLen];
  uint16 PublisherLen;
  char Publisher[PublisherLen];
  uint16 PublisherReadingLen;
  char PublisherReading[PublisherReadingLen];
};
