You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Chapter 4. Record Formats<br />
Character Definition with Metrics (CDM)<br />
Character Definition with Metrics (CDM)<br />
CDM records, which are interchangeable with CCD records, follow an<br />
SFM or FDM record and define each character in the font. The CDMs<br />
contain the bitmap patterns for the characters. Up to 256 characters can<br />
be defined for each FDM and up to 65,536 characters for an SFM.<br />
Usually, there is one CDM for each character. However, in some fonts, a<br />
continuation CDM is used to divide a character bitmap into two or more<br />
records if it is necessary to limit the size of the records (because of block<br />
length restrictions or other reasons). The character bitmap can be broken<br />
only at the end of a row. When continuation CDMs are used, all fields up<br />
to the bitmap pattern field must be the same in each CDM for the<br />
character except for the continuation bit in the last CDM.<br />
When an SFM or FDM is received, the printer defines null and default<br />
characters in the following manner. When an SFM or FDM is first<br />
processed by the printer, all characters in the font are set as null<br />
characters. If the first CDM received has the default bit set, then the<br />
character in this record is used as the default character. The default<br />
character is used for all undefined characters in the font, including<br />
character 00. Subsequent CDMs then redefine the characters for their<br />
respective character identifiers. If the first CDM does not have the default<br />
character bit set, then all characters remain null until redefined by<br />
subsequent CDMs.<br />
A null character has zero width and height, zero X and Y escapement,<br />
and takes no space when printed.<br />
Note: An example of FDM and CDM coding is shown in Appendix B.<br />
Byte Position Bytes Field Name Description<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 8C specifies a record length of 140<br />
bytes.<br />
3 1 Cyclic Record Count A binary cyclic record count using modulo 256. Each record in the<br />
job is counted, starting with hex 01 for the first record. The 255th<br />
record is hex FF and the 256th record is hex 00. This count is used<br />
to verify record sequence.<br />
4 1 Control Code A binary code that identifies the record type. A value of hex 30<br />
identifies the CDM record.<br />
5-6 2 Character Identifier A binary code that identifies the character defined in this record.<br />
This is the code that must be used in the input data to access this<br />
character for printing. The range is 0 - 255 for regular font<br />
characters or 0 through 65,535 for super font characters.<br />
If the default bit in byte 7 is set, this field is ignored.<br />
7 1 Options Two bits in this field are used to specify two character definition<br />
record options. Bit assignments are as follows.<br />
Bit 0 (hex 80 bit)=Default Character bit.<br />
Bit 1 (hex 40 bit)=Continuation bit.<br />
If the default bit is set, this character must be the first one defined<br />
in the font.<br />
8 1 Reserved This field is not used and must contain all binary zeroes.<br />
Reference Guide 4 - 15