4.2 General Header
The items listed below are stored sequentially in the general header.
4.2.1 Identification ID
The character string given below is stored in the first 32 bytes.
"RASTEL FIXED-PITCH SHIFT-JIS "
4.2.2 Parameter Structure
The parameter structure is defined as:
typedef struct {
// In a RASTEL font, as design of a DBCS character, the height should be equal to the width.
// Besides, as design of a SBCS character, the height should be equal to the width of DBCS
// character and the width should be the half height of DBCS character.
USHORT PixelSizeOfFont;
// Defines the height of DBCS character.
// For example, in the case 16 x 16 dot font, the height is 16.
USHORT ySizeOfSBCS;
// Defines the height of SBCS characters.
// For example, in the case of 8 x 16 dot font, the height is 16.
}PHYS_FILE_PARAM_STRUCT;
4.2.3 Segment Table
The segment table is defined as follows:
typedef struct {
ULONG OffsetInFile;
// Indicates the location in byte of each segment in the file.
USHORT SizeOfSegmentOnFile;
// Set the size in bytes of each segment as it is put in the file.
// (or as it is compressed, if applicable).
USHORT SizeOfSegmentOnMemory;
// Set the size in bytes of each segment as it is put in memory.
// (or as it is decompressed if previously compressed)
USHORT CompressionMode;
// Indicates the compression method for each segment.
// Only available number 1 indicates Standard Format.
USHORT SegmentAttribute;
// If bit 0 is 1, the segment will be preloaded.
// If bit 1 is 1, the discardable attribute will be added.
USHORT Reserved1;
USHORT Reserved2;
// System reserved area. Always set 0.
} ONE_SEGMENT;
typedef struct {
USHORT NumberOfSegments;
// Set the number of segments contained in the file.
ONE_SEGMENT OneSegment[];
// Set the information for each segment.
} SEGMENT_TABLE;
In segments 0 to 2, set the following data:
Segment 0: Patch table for horizontal-writing characters
Segment 1: Patch table for vertical-writing characters
Segment 2: Code area table