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