12.11.2012 Views

ijpds formats.book - Kodak

ijpds formats.book - Kodak

ijpds formats.book - Kodak

SHOW MORE
SHOW LESS

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 />

Compressed Character Definition (CCD)<br />

Compressed Character Definition (CCD)<br />

CCD records, which are interchangeable with Character Definition with<br />

Metrics (CDM) records, follow an SFM or FDM record and define each<br />

character in the font. The CCDs contain the bitmap patterns for the<br />

characters. Up to 256 characters can be defined for each FDM and up to<br />

65,536 characters for an SFM.<br />

Byte Position Bytes Field Name Description<br />

4 - 18 IJPDS Formats<br />

Usually, there is one CCD for each character. However, in some fonts, a<br />

continuation CCD 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 CCDs are used, all fields up<br />

to the bitmap pattern field must be the same in each CCD for the<br />

character except for the continuation bit in the last CCD.<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 CCD 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 CCDs then redefine the characters for their<br />

respective character identifiers. If the first CCD does not have the default<br />

character bit set, then all characters remain null until redefined by<br />

subsequent CCDs.<br />

A null character has zero width and height, zero X and Y escapement,<br />

and takes no space when printed.<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 3D<br />

identifies the CCD 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 to 255 for single byte fonts or<br />

0 to 65535 for double-byte fonts.<br />

7 1 Options The bits in position 6 define options available for this character.<br />

Bit 0 (hex 80 bit)= Default character bit<br />

Bit 1= Continuation bit<br />

If bit 0 is set to 1, this character is defined as this font’s default<br />

character. If a default character is defined, it must be the first<br />

character defined in the font, or unexpected results may occur. The<br />

default character becomes the character used for all undefined<br />

characters, including character 00.<br />

If bit 1 is set to 1, the pattern for this character is continued in the<br />

next CCD record. The continuation record looks identical to the<br />

previous record except that the pattern is different and the<br />

continuation bit is off unless the pattern is continued to the next<br />

CCD record.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!