Here is the OKFHEADER structure as really defined in the file OKF.H to avoid alignment problems between compilers.
typedef struct tagOKFHEADER {
unsigned char signature[4];
unsigned char version;
union {
unsigned
char flags1;
struct {
unsigned char colorDepth :
1;
unsigned char bitmapRLEEncoded :
1;
unsigned char alphaMask :
1;
unsigned char maskRLEEncoded :
1;
unsigned char shadowMask :
1;
unsigned char indents :
1;
unsigned char postProcessed :
1;
unsigned char proportional :
1;
};
};
union {
unsigned char flags2;
struct {
unsigned char serif :
1;
unsigned char script :
1;
unsigned char bold :
1;
unsigned char italic :
1;
unsigned char underline :
1;
unsigned char strikethrough :
1;
};
};
unsigned char size;
unsigned char name[32];
unsigned long fileSize;
unsigned long bitmapOffset;
unsigned long maskOffset;
unsigned short transColor;
unsigned short shadowColor;
unsigned char reserved1[2];
unsigned short bitmapWidth;
unsigned char bitmapHeight;
unsigned char defaultWidth;
unsigned char defaultHeight;
unsigned char maxWidth;
unsigned char maxHeight;
signed char maskWidthInc;
signed char maskHeightInc;
signed char shadowOX;
signed char shadowOY;
signed char shadowXPos;
signed char shadowYPos;
signed char lineSeparation;
signed char charSeparation;
unsigned char nbChars;
unsigned char reserved2[2];
} OKFHEADER;
See Also