Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
KODAK VERSAMARK IJPDS Formats<br />
Reference Guide<br />
<strong>Kodak</strong> Versamark, Inc.
KODAK VERSAMARK IJPDS Formats<br />
Reference Guide
FCC Compliance Statement<br />
This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to Part 15 of the FCC Rules. These<br />
limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment.<br />
This equipment generates, uses, and can radiate radio frequency energy and, if not installed and used in accordance with the instruction manual,<br />
may cause harmful interference to radio communications. Operation of this equipment in a residential area is likely to cause harmful interference,<br />
in which case the user will be required to correct the interference at his own expense.<br />
Note: Good quality, shielded (braided shielded) cables must be used for the RS-232-C and Centronics interfaces.<br />
Canadian EMI Compliance Statement<br />
Le présent appareil numérique n’émet pas de bruits radioélectriques dépassant les limites applicables aux appareils numériques de la classe A<br />
prescrites dans le Règlement sur le brouillage radioélectrique édicté par le ministère des Communications du Canada.<br />
This digital apparatus does not exceed the Class A limits for radio noise emissions from digital apparatus set out in the Radio Interference Regulations<br />
of the Canadian Department of Communications.<br />
EMI-CISPR 22/EN 55 022/CE Marking<br />
Warning: This is a Class A product. In a domestic environment, this product may cause radio interference in which case the user may be<br />
required to take adequate measures.<br />
KODAK VERSAMARK IJPDS Formats Reference Guide<br />
Part Number Medium Revision Date Description ECN<br />
0113991-602<br />
0113991-603<br />
Print<br />
PDF<br />
Previous Releases<br />
002 02/2005<br />
© Copyright 2005.<strong>Kodak</strong> Versamark, Inc. All rights reserved.<br />
Revised CBM, CCD, and PHR information; added new record<br />
RSRC; reformatted manual to <strong>Kodak</strong> standards<br />
Part Number Revision Date Description ECN<br />
K5123<br />
0113991-603 PDF 001 02/2004 Revised PLR and CCD information; added Appendices D and E SDP1289<br />
0113991 002 06/2000 Revised to include new records CBM and CCD PKG617<br />
0113991 001 04/1999 Revised to include new records PKG290<br />
0113770 00 11/1996 Revised to include new records 08972<br />
0113636 00 10/1995 Initial release 08134<br />
This document contains proprietary information of <strong>Kodak</strong> Versamark, Inc. or is licensors and is their exclusive property. It may not be<br />
reproduced without a written agreement from <strong>Kodak</strong> Versamark, Inc. No patent or other license is granted to this information.<br />
The software described in this document is furnished under a license agreement. The software may not be used or copied except as provided<br />
in the license agreement.<br />
<strong>Kodak</strong> Versamark, Inc. makes no warranty of any kind with regard to the contents of this document, including, but not limited to, the implied<br />
warranties of merchantability and fitness for a particular purpose. <strong>Kodak</strong> Versamark, Inc. shall not be liable for any errors or for compensatory,<br />
incidental or consequential damages in connection with the furnishing, performance, or use of this document or the examples contained herein.<br />
Information concerning products not manufactured by <strong>Kodak</strong> Versamark, Inc. is provided without warranty or representation of any kind, and<br />
<strong>Kodak</strong> Versamark, Inc. will not be liable for any damages resulting form the use of such information.<br />
<strong>Kodak</strong> and Versamark are trademarks of Eastman <strong>Kodak</strong> Company.<br />
0113991-602<br />
0113991-603 02/2005 Printed in U.S.A.
Scope<br />
This publication describes the format requirements for Inkjet Printer Data<br />
Stream (IJPDS) job files. IJPDS job files are input to KODAK VERSAMARK<br />
printing systems on magnetic tape or hard disk. Job files in IJPDS format<br />
contain special-purpose records that describe all of the information<br />
needed for a printing job.<br />
The format required for each record is described in detail in this publication,<br />
along with a discussion of the required record sequence. In addition,<br />
the magnetic tape and disk format requirements are provided.<br />
This publication is intended to be a reference guide where you can quickly<br />
find a detailed description of a particular record in the job file. Tables in<br />
Appendix A allow you to look up records alphabetically by name or<br />
numerically by control code and find a brief description of the record along<br />
with a page reference to a detailed description.<br />
Appendix C in this publication describes the support for IJPDS records<br />
provided by various KODAK VERSAMARK printers. This information should<br />
be referenced prior to the design of a job.<br />
Appendix D discusses indexing and multi-file IJPDS.<br />
Appendix E discusses the IJQ file format.<br />
The reader of this publication is assumed to be a programmer who is<br />
involved with the preparation of job files for KODAK VERSAMARK printing<br />
systems.<br />
The reader should be familiar with KODAK VERSAMARK printing systems<br />
and general inkjet printing terminology.<br />
Reference Guide iii
Scope<br />
Text Notations This manual uses the following typographical conventions.<br />
Safety Notations The following definitions indicate safety precautions to the operator.<br />
Note: Information that needs to be brought to the reader’s attention.<br />
Caution: A situation where a mistake could result in the destruction of data or<br />
system-type damage.<br />
iv IJPDS Formats<br />
This style Refers to<br />
Ready Text displayed by the software.<br />
go Anything you type, exactly as it appears, whether referenced<br />
in text or at a prompt.<br />
ENTER Special keys on the keyboard, such as enter, alt, and<br />
spacebar.<br />
[NEXT] Buttons and lights on the printer operator panel.<br />
Save Software command buttons and sections of dialog boxes,<br />
such as group boxes, text boxes, and text fields.<br />
File → Open<br />
A menu and a specific menu command.<br />
ALT+F1 Pressing more than one key at the same time.<br />
ALT, TAB Pressing more than one key in sequence.<br />
xx,yy Variable in error messages and text.<br />
jobfile.dat File names.<br />
! WARNING<br />
A potential hazard that could result in serious injury or death.<br />
! DANGER<br />
An imminent hazard that will result in serious injury or death.
Scope<br />
Service and Support Technical equipment support is available 24 hours a day, 7 days a week.<br />
Software and applications support is available 8:00 a.m. to 5:00 p.m.<br />
EST/EDT, Monday through Friday.<br />
Call for telephone or on-site technical support; to order parts or supplies;<br />
to request documentation or product information.<br />
U.S.A., Canada, and<br />
worldwide<br />
Phone Fax<br />
+1-800-472-4839<br />
+1-937-259-3739<br />
+1-937-259-3808<br />
Europe +41-21-806-0404 +41-21-806-1920<br />
Asia/Pacific Rim +65-6744-6400 +65-6744-6700<br />
Japan +81-3-3256-2613 +81-3-3256-2616<br />
Updated service<br />
information<br />
http://www.kodakversamark.com<br />
Customer support customer@kodakversamark.com<br />
Reference Guide v
Contents<br />
Chapter 1. Overview<br />
KODAK VERSAMARK Printing System Components ............................................ 1-1<br />
System Controller....................................................................................... 1-2<br />
Data Station ............................................................................................... 1-2<br />
Print Station................................................................................................ 1-2<br />
Data Station RIPs ............................................................................................. 1-3<br />
Synchronization ................................................................................................ 1-4<br />
Documents........................................................................................................ 1-4<br />
Pages and Page Buffers................................................................................... 1-5<br />
Configuring Stitched RIPs................................................................................. 1-6<br />
Image Positions (X and Y) ................................................................................ 1-6<br />
Fonts................................................................................................................. 1-8<br />
Line and Character Spacing....................................................................... 1-8<br />
Category I Fonts......................................................................................... 1-8<br />
Category II Fonts...................................................................................... 1-10<br />
Regular and Super Fonts ......................................................................... 1-12<br />
Definition Records for Category I Fonts............................................. 1-13<br />
Definition Records for Category II Fonts............................................ 1-13<br />
Current Font ............................................................................................. 1-13<br />
Page Length ................................................................................................... 1-14<br />
Fixed Files ...................................................................................................... 1-15<br />
Example Record Uses .................................................................................... 1-16<br />
One Document per Cue ........................................................................... 1-16<br />
Two Documents per Cue.......................................................................... 1-17<br />
Multiple Pages per Document .................................................................. 1-17<br />
Chapter 2. Magnetic Tape Formats<br />
Tape Specifications .......................................................................................... 2-1<br />
Single File/Single Volume (without Labels)................................................ 2-1<br />
Single File/Single Volume (with Labels) ..................................................... 2-2<br />
Single File/Multiple Volume........................................................................ 2-2<br />
Tape Labels ...................................................................................................... 2-3<br />
Tape Blocking ................................................................................................... 2-5<br />
Chapter 3. Disk Formats<br />
Chapter 4. Record Formats<br />
Record Information ........................................................................................... 4-1<br />
Compression Types.......................................................................................... 4-2<br />
Reserved - 0x0000..................................................................................... 4-2<br />
32-Bit Vertical Run Length Encoding (RLEV32) - 0x0001.......................... 4-2<br />
Job Control Record 2 (JC2) .............................................................................. 4-5<br />
Select RIP (RIP) ............................................................................................... 4-7<br />
PrintHead Requirements Record (PHR)........................................................... 4-8<br />
Font Assignment Record (FAR)...................................................................... 4-10<br />
Set Resolution Multiplier (SRM)...................................................................... 4-11<br />
Page Length Requirement (PLR) ................................................................... 4-12<br />
Super Font with Metrics (SFM) ....................................................................... 4-13<br />
Reference Guide vii
Contents<br />
viii IJPDS Formats<br />
Font Definition with Metrics (FDM).................................................................. 4-14<br />
Character Definition with Metrics (CDM)......................................................... 4-15<br />
Compressed Character Definition (CCD)........................................................ 4-18<br />
Super Font Definition (SFD)............................................................................ 4-21<br />
Font Definition Record (FDR).......................................................................... 4-22<br />
Character Definition Record (CDR)................................................................. 4-23<br />
Load Fixed File (LFF)...................................................................................... 4-25<br />
End of Fixed Files (EFF) ................................................................................. 4-26<br />
Range Check Record (RCR)........................................................................... 4-27<br />
Start of Document and Cue (SDC).................................................................. 4-28<br />
Start of Document (SOD) ................................................................................ 4-30<br />
Set Position (SPO) .......................................................................................... 4-32<br />
Set Position (SPX) .......................................................................................... 4-33<br />
Set Origin (SOR) ............................................................................................. 4-34<br />
Set Relative Position (SRP) ............................................................................ 4-35<br />
Cursor Save (CSS) ......................................................................................... 4-36<br />
Cursor Restore (CSR)..................................................................................... 4-37<br />
Set Font and Spacing (SFS) ........................................................................... 4-38<br />
Set Font (SFT) ................................................................................................ 4-39<br />
Set Font and Image (SFI)................................................................................ 4-40<br />
Image a Line (IML) .......................................................................................... 4-41<br />
Two-Byte Image Line (SIL) ............................................................................. 4-42<br />
Multi-Part Line Mode (MPL) ............................................................................ 4-43<br />
Set Fixed File (SFF) ........................................................................................ 4-44<br />
Go to Fixed File (GFF) .................................................................................... 4-45<br />
Reset Fixed File (RFF).................................................................................... 4-46<br />
Unformatted Image Line (UIL)......................................................................... 4-47<br />
Space (SPC) ................................................................................................... 4-48<br />
Set Logical Function (SLF).............................................................................. 4-49<br />
Fill a Rectangular Area (BOX)......................................................................... 4-51<br />
Image Bitmap (IBM) ........................................................................................ 4-52<br />
Compressed Bitmap (CBM) ............................................................................ 4-53<br />
Remote Resource (RSRC).............................................................................. 4-54<br />
Set Page Length (SPL) ................................................................................... 4-55<br />
Start of Page (SOP) ........................................................................................ 4-56<br />
Wait for Cue (WFC)......................................................................................... 4-57<br />
Stop (STP) ...................................................................................................... 4-58<br />
Message (MSG) .............................................................................................. 4-59<br />
Verify Character Checksum (VCC) ................................................................. 4-60<br />
No Operation (NOP)........................................................................................ 4-61<br />
End of Job (EOJ)............................................................................................. 4-62<br />
Job Control Record (JCR)............................................................................... 4-63<br />
Chapter 5. Record Sequence<br />
Single-RIP System ............................................................................................ 5-1<br />
Multi-RIP System .............................................................................................. 5-4<br />
Separate Files ................................................................................................... 5-6<br />
Appendix A. Record References<br />
Appendix B. Sample Font Coding<br />
Category I Font ................................................................................................ B-2<br />
Category II Font ............................................................................................... B-4<br />
Appendix C. Printer Support for IJPDS
Contents<br />
Appendix D. Indexing and Multi-File IJPDS<br />
Basic Index Files (for Single-File IJPDS Jobs) ................................................ D-2<br />
Multiple-File (Very Large) Jobs........................................................................ D-3<br />
File Structure............................................................................................. D-3<br />
File Naming ............................................................................................... D-3<br />
Multiple-File Job index Files ............................................................................ D-4<br />
Index File Structure ................................................................................... D-4<br />
Index File Naming and Location................................................................ D-4<br />
Old Scheme (Prior to MPC4RUN.EXE Version 1.56)......................... D-4<br />
New Scheme (MPC4RUN.EXE Version 1.56 and Newer) ................. D-4<br />
Appendix E. IJQ File Format<br />
Monochrome RIP Data Structure...................................................................... E-1<br />
CMYK RIP Data Structure ................................................................................ E-1<br />
C++ Implementation of the Above Data Structures and Their Serialization ..... E-2<br />
Example of File Writing (in MFC and C++) ....................................................... E-3<br />
Glossary<br />
Reference Guide ix
Figures<br />
Figure 1.1 Printing system components....................................................... 1-1<br />
Figure 1.2 Printer components..................................................................... 1-2<br />
Figure 1.3 Physical and logical RIPs ........................................................... 1-3<br />
Figure 1.4 Printing synchronization.............................................................. 1-4<br />
Figure 1.5 X and Y directions....................................................................... 1-7<br />
Figure 1.6 Character cell.............................................................................. 1-9<br />
Figure 1.7 Building a line ............................................................................. 1-9<br />
Figure 1.8 Line positioning and spacing ...................................................... 1-9<br />
Figure 1.9 Character bounding box ........................................................... 1-10<br />
Figure 1.10 Character escapements and offsets ......................................... 1-11<br />
Figure 1.11 Line escapements..................................................................... 1-11<br />
Figure 1.12 Vertical, right-to-left, and angle printing .................................... 1-12<br />
Figure 1.13 Baseline font design ................................................................. 1-12<br />
Figure 1.14 Page length for text................................................................... 1-14<br />
Figure 1.15 Page length for position record................................................. 1-14<br />
Figure 1.16 One document per cue ............................................................. 1-16<br />
Figure 1.17 Two documents per cue ........................................................... 1-17<br />
Figure 1.18 Multiple pages per document.................................................... 1-18<br />
Figure 4.1 32-bit Vertical Run Length Encoding (RLEV32) ......................... 4-4<br />
Figure 5.1 Single RIP-record sequence....................................................... 5-3<br />
Figure 5.2 Multiple RIP sequence 1............................................................. 5-5<br />
Figure 5.3 Multiple RIP sequence 2............................................................. 5-5<br />
Tables<br />
Table 2.1 VOL1 record format ................................................................ 2-3<br />
Table 2.2 HDR1/EOV1/EOF1 record format........................................... 2-4<br />
Table A.1 Records by acronym............................................................... A-2<br />
Table A.2 Records by control code ......................................................... A-4<br />
Table C.1 Printer support for IJPDS....................................................... C-2<br />
Reference Guide xi
Chapter 1. Overview<br />
KODAK VERSAMARK Printing System Components<br />
An IJPDS job file contains all of the information needed by KODAK<br />
VERSAMARK printing systems to process and print a complete job. The<br />
IJPDS job files can be input to a printing system on magnetic tape or on a<br />
hard disk, depending on the printing system's configuration.<br />
An IJPDS job file consists of special-purpose records that are identified by<br />
control codes. Records contain such information as font identification, font<br />
bitmaps, image positions, fixed data, and variable data. All records used<br />
in IJPDS job files are described in detail in Chapter 4.<br />
To help you understand how a KODAK VERSAMARK printing system uses an<br />
IJPDS job file to print a job, this chapter begins with a brief overview of<br />
the printing system components. The remainder of the chapter is<br />
dedicated to describing some of the terms and parameters used in the<br />
IJPDS job file, including their relationships with certain records. Examples<br />
of how the records are used in an IJPDS job file are also provided.<br />
The following components are included in a KODAK VERSAMARK printing<br />
system:<br />
System controller<br />
Data station<br />
Print station<br />
Printhead(s).<br />
Figure 1.1 illustrates one possible printing system configuration:<br />
Figure 1.1 Printing system components<br />
IJPDS<br />
IJPDS<br />
System<br />
controller<br />
IJPDS<br />
Data<br />
station<br />
Print<br />
station<br />
PH<br />
Reference Guide 1 - 1
Chapter 1. Overview<br />
KODAK VERSAMARK Printing System Components<br />
1 - 2 IJPDS Formats<br />
System Controller<br />
The system controller is the PC on which the system controller software is<br />
installed. Using this software, the operator controls the operation of the<br />
printer or the printing system components. In addition, the system<br />
controller software also handles the IJPDS job files. The software accepts<br />
IJPDS job files as input, divides the IJPDS data by RIP number, and<br />
sends the IJPDS data to the correct data station.<br />
Note: Although the system controller software accepts files in other <strong>formats</strong>,<br />
only IJPDS job files are discussed in this publication.<br />
Data Station<br />
The data station uses fonts, character input data, and positioning<br />
information from the IJPDS job file to build bitmaps, which it sends to the<br />
printhead. The data station receives IJPDS job files from the system<br />
controller. Some data stations can receive job files directly from magnetic<br />
tape or network.<br />
The data station contains at least one Raster Image Processor (RIP).<br />
Each RIP feeds at least one printhead. Some data stations contain up to<br />
four RIPs and some RIPs can feed up to four printheads. In some<br />
configurations the printheads can be stitched.<br />
Print Station<br />
Fluids for the printhead are controlled by the print station. Printhead sizes<br />
vary among print stations and include 9-inch, 4-inch, and 1-inch<br />
printheads, among others.<br />
Note: The data station and print station may also be integrated in one<br />
component, called a printer. The printer's data station contains one RIP,<br />
which feeds one printhead, as shown in Figure 1.2.<br />
Figure 1.2 Printer components<br />
IJPDS<br />
Printer<br />
Data<br />
station Print<br />
station<br />
PH
Data Station RIPs<br />
Chapter 1. Overview<br />
Data Station RIPs<br />
The data station's RIP uses input character data and fonts from the IJPDS<br />
job file to build a bitmap in a page buffer that represents the image to be<br />
printed. Each bit in a page buffer represents a dot in the image to be<br />
printed. Each bitmap represents one page of the document to be printed.<br />
Some printing systems contain more than one RIP. In a multi-RIP system,<br />
information in an IJPDS job file must be divided among the RIPs used for<br />
the job using a RIP record.<br />
Each RIP can control from one to four printheads, depending on the data<br />
station, print station, and the width of the printhead being used.<br />
Multiple printheads can be stitched so that the image appears to have<br />
been printed by one printhead. Stitching printheads can greatly increase<br />
the maximum contiguous width of the image to be printed. If stitched<br />
printheads are controlled by separate RIPs, the RIPs are also said to be<br />
stitched.<br />
In the IJPDS job file, the physical RIPs are numbered consecutively<br />
starting with 0. Logical RIP numbers are required when two physical RIPs<br />
are stitched. For example, in Figure 1.3, because RIPs 1 and 2 in data<br />
station 1 are stitched, RIP 0 is used as the logical RIP number for the two<br />
stitched RIPs.<br />
The system controller in Figure 1.3 interprets the RIP numbers in the<br />
IJPDS job file and directs the data to the appropriate RIP in the<br />
appropriate data station.<br />
Figure 1.3 Physical and logical RIPs<br />
IJPDS System<br />
controller<br />
Data<br />
station<br />
1<br />
Data<br />
station<br />
2<br />
Data<br />
station<br />
3<br />
Data<br />
station<br />
4<br />
RIP 1 PH<br />
RIP 2<br />
RIP 1<br />
RIP 2<br />
RIP 1<br />
RIP 2<br />
RIP 1<br />
RIP 2<br />
Physical RIPs<br />
(No stitching)<br />
PH<br />
PH<br />
PH<br />
PH<br />
PH<br />
PH<br />
PH<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
Logical RIPs<br />
(DS1, RIPs 1&2<br />
stitched)<br />
Reference Guide 1 - 3<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6
Chapter 1. Overview<br />
Synchronization<br />
Synchronization<br />
Documents<br />
1 - 4 IJPDS Formats<br />
The components of printing systems can be mixed to form a customized<br />
printing arrangement. For example, the system controller can be used to<br />
synchronize printing for an IJPDS job file containing data for several<br />
different data stations and printers. The IJPDS job file may contain data<br />
for one or all of the data stations.<br />
The system controller divides the data between the data stations using<br />
the RIP records in the IJPDS job file. All RIPs in the configuration are<br />
numbered consecutively as shown in Figure 1.4. The first two RIPs in the<br />
second data station are stitched so only one logical RIP number is<br />
assigned. Tach and cue signals to the various printers and data stations<br />
are synchronized by the system controller to ensure proper print<br />
registration.<br />
Figure 1.4 Printing synchronization<br />
IJPDS System<br />
controller<br />
Data<br />
station RIP 1<br />
1<br />
Data<br />
station<br />
2<br />
RIP 1<br />
RIP 2<br />
RIP 3<br />
RIP 4<br />
Printer RIP 1<br />
Physical RIPs Logical RIPs<br />
A document is a unit of input data that is printed in one area on the<br />
substrate. In this publication, the term document does not refer to<br />
physical media used in cut-sheet printing, such as an envelope.<br />
KODAK VERSAMARK printing systems print a series of documents<br />
containing both fixed and variable data. Fixed data is information that is<br />
the same on all documents; it is obtained from fixed files in the IJPDS job<br />
file. Variable data is information that can change from one document to<br />
another; there is individual data in the IJPDS job file for each document.<br />
Normally, there is one document printed for each cue mark on a web or<br />
one document printed for each piece in cut-sheet printing.<br />
PH<br />
PH<br />
PH<br />
PH<br />
PH<br />
PH<br />
PH<br />
PH<br />
PH<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
0<br />
1<br />
2<br />
3<br />
4
Pages and Page Buffers<br />
Chapter 1. Overview<br />
Pages and Page Buffers<br />
Multiple RIPs may be involved in printing the documents. An example is<br />
duplex printing where one RIP prints one side of the document and<br />
another RIP prints the other side. Another example is spot color, where a<br />
separate RIP and printhead are used to print a color segment. There are<br />
records in the IJPDS job file that provide each RIP with the information<br />
necessary to print a portion of each document. The physical width of the<br />
documents depends on the number and spacing of the printheads. The<br />
length is controlled by information in the IJPDS job file.<br />
The PLR (Page Length Requirement) record may be used to make the<br />
length of the buffer longer than these defaults if a long document requires<br />
it, at the expense of font memory. Using a PLR to call for the page buffer<br />
to be shorter than the default has no effect. There's no appreciable impact<br />
on performance with a change in PLR value. (See Appendix C for which<br />
RIP/software versions support PLR.)<br />
A page consists of the data for a document in a page buffer. If the<br />
document data is equal to or less than the page buffer length, there is one<br />
page per document. If the document data length is greater than the length<br />
of the page buffer, a record in the IJPDS job file starts another page (page<br />
buffer), resulting in two or more pages per document. The width of the<br />
document data cannot be greater than the width of the page buffer or the<br />
data outside the buffer will be lost (except in the case where two RIPs are<br />
stitched, creating a super RIP as explained later).<br />
There is one page buffer for each RIP. The page buffer size depends on<br />
the printing system. The width of the page buffer depends on number of<br />
jets in the printhead(s) driven from the RIP. For example, 2688 jets at<br />
300dpi is 8.96 inches, the actual print width of the 9-inch printhead. Page<br />
buffer length is hardware defined except for the CD120 and CD130 data<br />
stations, which are software configurable by means of the PLR record.<br />
The data stations' hardware lengths (and their default lengths) are<br />
described in the following bulleted list of example page buffer sizes.<br />
Appendix C lists which RIPs and software versions support PLR (and all<br />
other IJPDS commands.)<br />
The page buffer size is not related to the physical page size. A 17-inchlong<br />
document, printed as one buffer page, could be cut or folded into two<br />
final physical pages. Also, a 25-inch-long document, printed as two buffer<br />
pages, could be one long physical page.<br />
Example sizes of some page buffers for printheads are as follows:<br />
4096 bits by 4096 bits, representing the print width of four 4-inch<br />
printheads and a maximum page length of 17.07 inches (43.35 cm).<br />
This is the CD3000 data station RIP.<br />
2688 bits by 10240 bits, representing the print width of one 9-inch<br />
printhead and a maximum page length of 34.13 inches (86.69 cm) at<br />
300 dpi and 17.07 inches (43.36 cm) at 600 dpi. This is the CD120<br />
data station 9-inch RIP.<br />
1024 bits by 4096 bits, representing the print width of one 4-inch<br />
printhead and a maximum page length of 17.07 inches (43.35 cm).<br />
This is the CD100 or CD120 data station 4-inch RIP.<br />
256 bits by 5280 bits, representing the print width of one 1-inch<br />
printhead and a maximum page length of 22 inches (55.88 cm). This<br />
is the DP5120/DP5240 data station RIP.<br />
Reference Guide 1 - 5
Chapter 1. Overview<br />
Configuring Stitched RIPs<br />
Configuring Stitched RIPs<br />
Image Positions (X and Y)<br />
1 - 6 IJPDS Formats<br />
Some printing systems with multiple printheads contain multiple,<br />
physically separate RIPs in the same data station. The page buffers for<br />
each RIP represent the width of the printhead. Two or more RIPs can be<br />
treated as a combined, single RIP, called a super RIP and the resulting<br />
page buffer is as wide as the number of printheads. (For example, the<br />
page buffer for each 4-inch printhead RIP is 1024 bits by 4096 bits. If the<br />
RIPs for two 4-inch printheads are treated as a super RIP, data is sent to<br />
the super RIP as if the page buffer were 2048 dots wide.)<br />
The PLR may be used to make the length of the buffer longer than these<br />
defaults if a long document requires it, at the expense of font memory.<br />
Using a PLR to call for the RIP to be shorter than the default has no<br />
effect. There is no appreciable impact on performance with a change in<br />
PLR value.<br />
When two or more RIPs are stitched, the IJPDS file should be built as if<br />
there were a single larger RIP. If you want four 4-inch printheads to be<br />
stitched, you configure the data for one 17-inch RIP and the operator<br />
must configure the controller and data stations to stitch the four<br />
printheads/RIPs after which the data stations will all be sent the 17-inch<br />
data and each RIP will print its 4-inch (1024-dot) “slice”, clipping the parts<br />
that “fall off” either side. This 17-inch logical RIP is called a super RIP.<br />
Presently the equipment will not configure this automatically from the<br />
stitched RIP indicator bits, but some future system might, so the job<br />
should be described the job correctly, both in these bits and in the PHR<br />
records (where you indicate there are four 1024-bit heads, and their<br />
positions, in the 17-inch RIP).<br />
You should also produce some sort of setup document for the operator,<br />
as operators cannot easily determine the desired configuration from what<br />
the controller tells them when they load the job.<br />
Since you send stitched-RIP data as one larger RIP, the IJPDS proofer<br />
software shows it as if it were one larger RIP, but it is possible in proofer<br />
version 3.1 and above to use Show Stitch Lines in the View menu, or the<br />
corresponding toolbar button, to show the stitch lines (in red) for purposes<br />
of determining what printed data may be running across the stitch.<br />
An image is a pattern of filled and unfilled dots. It can be a character, a<br />
line of characters, or a graphic. Position records within the IJPDS job file<br />
specify starting positions on the document for the image data that follows.<br />
A starting position is defined by X and Y coordinates and can be absolute<br />
or relative.<br />
The cursor position at the start of a document is set to the upper left<br />
corner of the document as viewed from the printhead looking in the<br />
direction of substrate movement. As shown in Figure 1.5, the X,Y<br />
coordinates for the upper left corner of the document are 0,0, which is the<br />
cursor origin position. If a set origin record (SOR) occurs somewhere on<br />
the page, the origin is reset to the current cursor position.
Chapter 1. Overview<br />
Image Positions (X and Y)<br />
Position records in the IJPDS job file have the following effects:<br />
Set position record SPO or SPX uses the origin as a reference. If the<br />
origin is 0,0, the SPO record contains the coordinates for an absolute<br />
starting position. If the origin has been reset, the SPO contains a<br />
relative starting position.<br />
Set relative position record SRP always uses the current cursor<br />
position as a reference and, therefore, contains a relative starting<br />
position.<br />
Starting position is not the same as cursor position. The current starting<br />
position is the last position set by an SPO, SRP, SPX, or a cursor restore<br />
(CSR) record. The cursor position moves as each character is placed in<br />
the page buffer, but the starting position remains the same until it is<br />
changed by another SPO, SRP, SPX, or CSR record.<br />
The X direction is perpendicular to substrate movement and is sometimes<br />
called the horizontal direction. The Y direction is in the direction opposite<br />
substrate movement and is sometimes called the vertical direction. X and<br />
Y values can be positive or negative. The arrows in Figure 1.5 indicate<br />
the positive directions.<br />
The measurement unit used for X and Y distances in IJPDS job files is the<br />
dot. The dot represents the distance between pixels (dots) in the printed<br />
image. For example, for 240 dots-per-inch (dpi) printheads, the<br />
measurement is 1/240 inch.<br />
In Figure 1.5, one 4-inch, 240-dpi printhead is shown printing documents.<br />
The X and Y coordinates at the end of the document are X = 1023 dots<br />
and Y = 4095 dots. This represents a maximum document size of 4.27<br />
inches (10.8 cm) wide and 17.07 inches (43.35 cm) long.<br />
Figure 1.5 X and Y directions<br />
Documents<br />
Cue marks<br />
If additional printheads are introduced, the maximum document width<br />
depends on the printhead sizes and the physical spacing of the<br />
printheads. The maximum length of the document is dependent on the<br />
printing system.<br />
The cue marks shown in Figure 1.5 are preprinted on the web and are<br />
used by the printing system to synchronize the start of documents. An<br />
optical sensor detects the cue marks and generates a cue signal. For cutsheet<br />
printing, the sensor detects the leading and trailing edges of each<br />
piece.<br />
Reference Guide 1 - 7
Chapter 1. Overview<br />
Fonts<br />
Fonts<br />
1 - 8 IJPDS Formats<br />
Although the bitmaps for some images to be printed are included in the<br />
IJPDS data stream (IBM and/or CBM record) and the bitmaps for other<br />
images are built from parameters in the BOX record, most images are<br />
identified as characters in a font. The characters in a font are stored as<br />
bitmaps in the printing system and accessed as required by the data and<br />
command records in the IJPDS job file to build a page buffer of the image.<br />
IJPDS job files can contain two types of fonts: category I and category II.<br />
Line and Character Spacing<br />
Both category I and category II fonts are affected by the use of four<br />
spacing values contained in several IJPDS records. The four spacing<br />
values are:<br />
Character spacing in the X dimension<br />
Character spacing in the Y dimension<br />
Line spacing in the X dimension<br />
Line spacing in the Y dimension.<br />
The four spacing values in effect at the time characters are being inserted<br />
into the page buffer are added to the corresponding values defined in the<br />
font. The spacing values in effect are those set by the last record<br />
executed that contained spacing values.<br />
An InterLine Spacing (ILS) value can be specified in start-of-document<br />
(SOD and SDC) and set font (SFI and SFT) records. ILS is a positive Y<br />
dimension value. When a record containing an ILS value is executed, the<br />
Y line spacing value is set to the ILS value and the other three spacing<br />
values are set to zero.<br />
A set font and spacing (SFS) record contains fields for all four spacing<br />
values and sets all values to those contained in the record.<br />
Category I Fonts<br />
The category I font format defines each character within a cell. The cell<br />
contains all data needed to define the character itself in addition to data<br />
that defines space around the character. See Figure 1.6.<br />
Note: The following description of character and line spacing for the category I<br />
font assumes an upright font orientation.<br />
Horizontal spacing in the cell provides built-in character-to-character<br />
spacing (X escapement). Each character cell in a font can have a unique<br />
width to provide proportional spacing. The width is defined in the<br />
character definition record (CDR) for each character. Vertical spacing in<br />
the cell provides built-in line spacing (Y escapement). All cells in a font<br />
must have the same height. The height is defined in the font definition<br />
record (SFD or FDR) and applies to all characters in the font.
Character cell<br />
Cursor positions<br />
Starting position<br />
Cell widths<br />
Interline spacing<br />
(ILS)<br />
Figure 1.6 Character cell<br />
Chapter 1. Overview<br />
Fonts<br />
When building the page buffer, the upper left corner of the first character<br />
cell in a line is placed at the current cursor position. The cell for the next<br />
character in the line is placed next to the first character. The Y coordinate<br />
of the cursor for the second character is the same as the first character<br />
and the X coordinate is increased by the width of the first character cell.<br />
This process continues until the end of the line is reached. Refer to Figure<br />
1.7.<br />
Figure 1.7 Building a line<br />
Cell<br />
height<br />
If the last record executed with spacing values was an SFS, the X and Y<br />
character spacing values in that record can alter the spacing between<br />
characters and the alignment of the characters. The X value is added to<br />
the character width and the Y value moves the cursor for the next<br />
character in the Y dimension.<br />
The X coordinate of the cursor for the first character in the second line is<br />
the same as that for the first character in the first line. The Y coordinate<br />
for the second line is increased by the cell height for the font plus any ILS<br />
specified in the font record (SFD or FDR) or in other IJPDS records, such<br />
as SOD, SDC, SFT, or SFI. The ILS in the last record executed is the one<br />
used. See Figure 1.8.<br />
Figure 1.8 Line positioning and spacing<br />
Reference Guide 1 - 9
Chapter 1. Overview<br />
Fonts<br />
1 - 10 IJPDS Formats<br />
Bounding box<br />
If the last record executed with spacing values was an SFS, the X and Y<br />
line spacing values in that record affect the cursor position for the starting<br />
point of the next line. The Y value is added to the cell height and the X<br />
value moves the cursor for the starting point of the next line in the X<br />
dimension.<br />
Category II Fonts<br />
Category II fonts use positive and negative escapements and offsets for<br />
each character. Using these parameters, you can arrange the characters<br />
in a variety of ways.<br />
Each character in a category II font is defined in a box called a bounding<br />
box. As shown in Figure 1.9, a bounding box encloses all dots required to<br />
define the character, but does not normally include space around the<br />
character. The bounding box for each character has its own height and<br />
width as defined in the character definition record (CDM or CCD).<br />
Figure 1.9 Character bounding box<br />
The upper left corner of the bounding box is positioned in the page buffer<br />
according to the values for the X and Y offsets in the CDM or CCD. The<br />
offsets are signed binary fields and, therefore, can be negative or positive<br />
values.<br />
The upper left corner of the bounding box for the first character in a line is<br />
placed at the position determined by adding the X and Y character offset<br />
values to the current cursor position. In the first example in Figure 1.10,<br />
the a character has an X offset of 0 and a positive Y offset. The cursor<br />
position for the next character is then determined by adding the X and Y<br />
character escapement values to the cursor position for the first character.<br />
Note: The cursor position for the first character is the cursor position before the<br />
offset values for the first character are added. The offset values do not<br />
change the cursor position.<br />
In the second example in Figure 1.10, the a character has a Y<br />
escapement of 0 and a positive X escapement. The upper left corner of<br />
the j character bounding box is then determined by adding the offset<br />
values for j to the cursor position. Using a negative X offset for j allows<br />
overlapping of the two characters. The character spacing X and Y values<br />
are added to the X and Y character escapement values in the CDM or<br />
CCD. The SFS record provides a means of altering the spacing between<br />
characters.
Cursor position<br />
Positive Y offset for a<br />
Y line escapement<br />
X line escapement<br />
Figure 1.10 Character escapements and offsets<br />
Positive X escapement for a<br />
Negative X offset for j<br />
Positive Y offset for j<br />
Chapter 1. Overview<br />
Fonts<br />
This process of building a line continues until the end of the line is<br />
reached. The cursor position for the first character in the second line is<br />
determined by adding the X and Y escapement values in the font<br />
definition record (SFM or FDM) to the cursor position for the first<br />
character in the first line. See Figure 1.11.<br />
Figure 1.11 Line escapements<br />
The X and Y line spacing values are added to the X and Y line<br />
escapement values in the SFM or FDM. Interline spacing can therefore be<br />
controlled by line spacing values in the SFS record or the ILS value in an<br />
SOD, SDC, SFT, or SFI record.<br />
Figure 1.12 shows that by setting the X escapement value to 0 and the Y<br />
escapement to a positive value, vertical printing of upright fonts is<br />
achieved. Right-to-left printing is achieved by setting the Y escapement<br />
value to zero and setting negative values for the X escapement.<br />
Reference Guide 1 - 11
Chapter 1. Overview<br />
Fonts<br />
Negative Y offset for f<br />
1 - 12 IJPDS Formats<br />
Category II fonts allow the printing of a line at any angle as shown in<br />
Figure 1.12. As seen for the character A, the characters must be defined<br />
at an angle in their bounding boxes. The character escapement values<br />
are then used to produce angle printing.<br />
Figure 1.12 Vertical, right-to-left, and angle printing<br />
Vertical printing<br />
X escapement = 0<br />
Y escapement = n<br />
Character offsets let you design fonts using a baseline method. This<br />
method, illustrated in Figure 1.12, uses a negative Y offset for each<br />
character to place the character above the cursor position in the page<br />
buffer. Therefore, a baseline for all characters can be maintained.<br />
As shown in the illustration, the baseline method is useful when there is<br />
the possibility of changing font sizes in a line. The f character in Figure<br />
1.13 is larger than the other characters but maintains the same baseline.<br />
Figure 1.13 Baseline font design<br />
Regular and Super Fonts<br />
Right-to-left printing<br />
X escapement = negative n<br />
Y escapement = 0<br />
Angle printing<br />
Baseline<br />
X character escapement<br />
Y character escapement<br />
Both category I and category II fonts can be regular or super. A regular<br />
font is a single-byte font that allows each character to be accessed with a<br />
1-byte code. For example, a 1-byte code of hexadecimal 41 is used to<br />
access the text character A in an ASCII text font. A super font is a doublebyte<br />
font that allows each character to be accessed with a 2-byte code.<br />
Super fonts are required for languages with more than 256 characters in a<br />
font.<br />
The number of regular and super fonts, including both category I and<br />
category II, in an IJPDS job file cannot exceed 255.
Definition Records for Category I Fonts<br />
Chapter 1. Overview<br />
Fonts<br />
Regular fonts are described in the IJPDS job file using font definition<br />
records (FDR) and character definition records (CDR). Each font has one<br />
FDR that provides a general description of the font. Immediately following<br />
each FDR, up to 256 CDRs (plus a default CDR) define the bitmaps for<br />
each character in the font.<br />
For super fonts, the first byte of the 2-byte code identifies a subfont of the<br />
super font and the second byte identifies the character in that subfont.<br />
Super fonts are described in the IJPDS job file using super font definition<br />
(SFD) records. Each super font has one SFD that provides a general<br />
description of the font. Immediately following the SFD, up to 256 FDRs<br />
describe each subfont in the super font. Immediately following each FDR,<br />
up to 256 CDRs (plus a default CDR) define the bitmaps for each<br />
character in the subfont.<br />
Since there is no way for the Data Station to tell whether a subsequent<br />
FDR begins a new single-byte font or another subfont to the super font it<br />
has been loading, any SFD-style (category I) super fonts for a RIP must<br />
be loaded after all single-byte FDR-style fonts for that RIP. (This is not a<br />
problem with category II fonts as SFMs do not have subfonts.)<br />
The preferred method of specifying a default character for the entire<br />
super font is to include one default CDR immediately after the SFD, rather<br />
than including a default CDR after each FDR.<br />
Definition Records for Category II Fonts<br />
Regular fonts are described in the IJPDS job file using font definition with<br />
metrics (FDM) records and character definition with metrics (CDM)<br />
records or compressed character definition (CCD) records. Each font has<br />
one FDM that provides a general description of the font. Immediately<br />
following each FDM, up to 256 CDMs or CCDs (plus a default CDM or<br />
CCD) define the bitmaps for each character in the font.<br />
For super fonts, the 2-byte code identifies one of up to 65,536 characters<br />
in the super font. Super fonts are described in the IJPDS job file using<br />
super font with metrics (SFM) records. Each super font has one SFM that<br />
provides a general description of the font. Immediately following the SFM,<br />
up to 65,536 CDMs or CCDs (plus a default CDM or CCD) define the<br />
bitmaps for each character in the super font.<br />
Current Font<br />
In Chapter 4, the descriptions for some record fields refer to the “current<br />
font”. The current font is the font currently in effect. It is the last font<br />
specified, in execution order, by an IJPDS job file record. Notice that<br />
execution order of records determines the current font rather than the<br />
order of records in the IJPDS job file. Because some records that specify<br />
fonts occur in fixed files, they may be executed in a different order than<br />
the order in which they appear in the IJPDS job file.<br />
The current font is set to a starting or default font at the start of each new<br />
document. Refer to the description for the SOD or SDC record in<br />
Chapter 4.<br />
Reference Guide 1 - 13
Chapter 1. Overview<br />
Page Length<br />
Page Length<br />
1 - 14 IJPDS Formats<br />
Page length<br />
(Number of rows used)<br />
Cell height<br />
ILS<br />
Page length<br />
(Number of rows used)<br />
SPO<br />
X = 3<br />
Y = 9<br />
The length of a page is determined by the number of dot rows from row 0<br />
(Y = 0) up to and including the highest row used before a new page is<br />
started (by an SOP, SOD, SDC, or WFC record). When a new page is<br />
started, the previous page is printed up through the highest row used.<br />
Page length is defined as the number of dot rows used. Because the first<br />
row is identified as Y = 0, the page length is one more than the highest<br />
row used.<br />
For example, if a page consists of only one line of text using an upright<br />
category I font, the page length is the number of rows up to and including<br />
the last row of interline spacing following the line of text. Assuming that<br />
the character cell height is 10 dot rows and the interline spacing is 3 dot<br />
rows, the page length is 13 dot rows. Refer to Figure 1.14.<br />
Figure 1.14 Page length for text<br />
X = 0<br />
Y = 0<br />
Highest row used<br />
(Y coordinate)<br />
If the cursor is left at the end of the page by a set position record (SPO),<br />
the page length is equal to the Y position parameter in the SPO record<br />
(assuming an origin of Y=0). The row previous to that identified by the Y<br />
parameter is the last row on the page. In Figure 1.15, the page length is 9<br />
dot rows.<br />
Figure 1.15 Page length for position record<br />
X = 0<br />
Y = 0<br />
Highest row used<br />
(Y coordinate)
Fixed Files<br />
Chapter 1. Overview<br />
Fixed Files<br />
If font characters are the lowest elements on a page, the following rules<br />
apply. For a left-rotated or inverted font, the page length is one more than<br />
the Y position of the start of line. If a right-rotated font is being used, the<br />
page length is the number of dot rows up to and including the last column<br />
of the last character.<br />
The page length is determined by the last dot row used by any record on<br />
the page. Records that affect the page length are SFI, IML, SIL, UIL,<br />
SPO, SPX, SRP, SPC, BOX, CBM, and IBM. For the SFI, IML, SIL, UIL,<br />
and SPC records, the font orientation determines the effect as previously<br />
described. If a BOX, CBM, or IBM image is the lowest element on a page,<br />
the page length is the starting Y position plus the height.<br />
Instead of using the default page length based on the image data on the<br />
page as just described, you can set the page length using the SPL record.<br />
The page length can be set to be longer or shorter than the space<br />
occupied by the image data. If the length is set to be shorter than the<br />
image length, part of the image will be clipped. If the page length is set to<br />
be longer than the image length, white space is included up to the<br />
specified length.<br />
Note: The PLR won't set the page length to less than the default:<br />
4096 for printhead resolution 120 or 240 dpi;<br />
10240 for printhead resolution 300 or 600 dpi.<br />
The fixed file area is a storage area in the data station where fixed<br />
information may be kept, so that the same information does not need to<br />
be read repeatedly from the input file.<br />
Each RIP may have up to 256 fixed files, numbered from 0 to 255. Each<br />
fixed file may contain any number of records. The maximum amount of<br />
fixed file storage available is printer dependent.<br />
The fixed files for each RIP are loaded at the beginning of the job, after<br />
the fonts. The start of each fixed file is indicated by an LFF record. The<br />
LFF record is not stored as part of the fixed file. The end of the last fixed<br />
file for each RIP is indicated by an EFF record. All records between the<br />
first LFF and the EFF for each RIP are stored in the fixed file area, except<br />
for the LFF, EFF, and RIP records.<br />
During generation of documents, the data station maintains a pointer to<br />
the current position of each fixed file for each RIP. At the start of a<br />
document, all the pointers are reset to the start of their respective fixed<br />
files. During processing of a document, the pointers may be changed, and<br />
records stored in the fixed files may be executed, by use of the SFF, GFF,<br />
and RFF commands.<br />
Refer to Chapter 5 for a list of the records allowed in the fixed files.<br />
Reference Guide 1 - 15
Chapter 1. Overview<br />
Example Record Uses<br />
Example Record Uses<br />
1 - 16 IJPDS Formats<br />
This section provides a general description of how documents and pages<br />
are controlled by records in the IJPDS job file. Examples of record<br />
sequences are used to illustrate concepts. Remember that these are<br />
examples only and do not imply that the record sequences shown must<br />
be used. For more information about any of the records discussed, refer<br />
to Chapter 4.<br />
One Document per Cue<br />
Normally, as shown in Figure 1.16, there is only one document between<br />
cues. The document is started by a start-of-document record (SDC) that<br />
tells the printing system to wait for a cue signal before starting the<br />
document and to start a page buffer at the X,Y coordinates of 0,0.<br />
In this example, the SDC record is followed by an SPO record that<br />
positions the cursor to a specific position on the document. Following the<br />
SPO record are three IML records that cause the printing of three text<br />
lines, starting at the current cursor position.<br />
Because line 3 is the end of the document, it is immediately followed by<br />
another SDC record. This SDC record ends the current document and<br />
page and tells the printing system to wait for another cue before starting<br />
the next document and to start a new page buffer at the X,Y coordinates<br />
of 0,0.<br />
Notice that the page and document are both ended immediately after<br />
line 3.<br />
Figure 1.16 One document per cue<br />
Start of page and document<br />
End of page and document<br />
Start of next page and document<br />
Records in Job file<br />
.<br />
Start of Document and Cue (SDC)<br />
Set Position (SPO)<br />
Image a Line (IML)<br />
Image a Line (IML)<br />
Image a Line (IML)<br />
Start of Document and Cue (SDC)<br />
.
Two Documents per Cue<br />
Chapter 1. Overview<br />
Example Record Uses<br />
Two documents can be printed between cues by alternating SDC and<br />
SOD records. Although the SDC record requires the printing system to<br />
wait for a cue before starting the document, the SOD record does not.<br />
Therefore, an SOD record starts another document immediately.<br />
Figure 1.17 shows the records required to produce two documents per<br />
cue. The first document starts at a cue because of the SDC record. The<br />
second document is started by an SOD record that does not require a<br />
cue. The second document, therefore, begins immediately after the space<br />
inserted by the SPC record after line 3 of the first document.<br />
The third document is defined by an SDC record and waits for the next<br />
cue before starting.<br />
Figure 1.17 Two documents per cue<br />
Start of page and document<br />
End of page and document<br />
Start of next page and document<br />
End of page and document<br />
Start of next page and document<br />
Multiple Pages per Document<br />
Records in Job file<br />
.<br />
Start of Document and Cue (SDC)<br />
Set Position (SPO)<br />
Image a Line (IML)<br />
Image a Line (IML)<br />
Image a Line (IML)<br />
Space (SPC)<br />
Start of Document (SOD)<br />
Set Position (SPO)<br />
Image a Line (IML)<br />
Image a Line (IML)<br />
Image a Line (IML)<br />
Start of Document and cue (SDC)<br />
.<br />
Assume that the maximum length of the page buffer in a printing system<br />
is 4096 dots. If a document exceeds this length, multiple pages are<br />
required. Figure 1.18 illustrates the multiple page situation.<br />
Note: The page length limit for the CD3000 and CD100 data stations is 4096<br />
dots. The page length limit for CD120 data stations is settable by PLR (in<br />
version 1.16, and was larger than 4096 dots in prior versions, to support<br />
300x600 resolution). The DP5120/DP5240 printer data stations have<br />
larger limits; see the 5120/5240 documentation.<br />
In Figure 1.18, there is one document between cues and that document is<br />
4900 dots in length. Therefore, two page buffers are required to store the<br />
document. The document must be divided into pages by a start of page<br />
(SOP) record before it overflows the page length limit of 4096 dots.<br />
Although the division of the document into pages can occur anywhere<br />
before the 4096 dot limit is reached, it is recommended for system<br />
efficiency that the pages be balanced in size as nearly as possible.<br />
Reference Guide 1 - 17
Chapter 1. Overview<br />
Example Record Uses<br />
1 - 18 IJPDS Formats<br />
Figure 1.18 Multiple pages per document<br />
Start of page and document<br />
Start of new page<br />
End of document<br />
2300 dots<br />
Start of new page and<br />
next document<br />
Start of Document and Cue (SDC)<br />
Image a Line (IML)<br />
Image a Line (IML)<br />
Start of Page (SOP)<br />
Image a Line (IML)<br />
Image a LIne (IML)<br />
Start of Document and Cue (SDC)<br />
Note: For compatibility with older IJPDS job files, the DS3000 series printing<br />
system will automatically divide a document into pages if an upright font is<br />
being used and the length of the document exceeds 4096 dots. This<br />
feature is available only when using the JCR record for DS2900 jobs (see<br />
JCR record in Chapter 4).<br />
.<br />
.
Tape Specifications<br />
Chapter 2. Magnetic Tape Formats<br />
IJPDS job files can be stored on disk or magnetic tape. This chapter<br />
describes the format required for magnetic tape. The disk format is<br />
described in Chapter 3.<br />
IJPDS job files on tape require 9-track magnetic tape using either no<br />
labels or IBM standard labels. Recording densities of 1600 or 6250 bits<br />
per inch (bpi) can be used.<br />
The tape uses variable-length record and variable-length block structures.<br />
Because the tape format does not exactly match any of the <strong>formats</strong><br />
defined by IBM, the format is considered as format U (Undefined) when<br />
processing the tape on an IBM mainframe.<br />
Two IBM-standard volume organizations are supported by KODAK<br />
VERSAMARK printing systems:<br />
Single file/single volume<br />
Single file/multiple volume.<br />
Only IBM standard labels are used in both volume organizations. User<br />
labels are ignored. Tapes for the single file/single volume organization<br />
can be generated with or without labels. Tapes for the single file/multiple<br />
volume organization must have labels.<br />
Note: If a tape is being prepared for use with the CS100 system controller, a<br />
single file/single volume tape with labels is required.<br />
Single File/Single Volume (without Labels)<br />
In a single file/single volume organization, a single file appears on a<br />
single tape volume. The following format is required for this volume<br />
organization when labels are not generated.<br />
- Tape Mark (optional)<br />
Job File<br />
- Tape Mark<br />
Reference Guide 2 - 1
Chapter 2. Magnetic Tape Formats<br />
Tape Specifications<br />
2 - 2 IJPDS Formats<br />
Single File/Single Volume (with Labels)<br />
In a single file/single volume organization, a single job file appears on a<br />
single tape volume. The following format is required for this volume<br />
organization when labels are used.<br />
VOL1 - Volume Label<br />
HDR1 - Standard Header Label 1<br />
HDR2 - Standard Header Label 2 (optional)<br />
- Tape Mark<br />
Job File<br />
- Tape Mark<br />
EOF1 - End-of-File Trailer Label 1<br />
EOF2 - End-of-File Trailer Label 2 (optional)<br />
- Tape Mark<br />
- Tape Mark<br />
Single File/Multiple Volume<br />
In a single file/multiple volume organization, the contents of a single job<br />
file can be on multiple tape volumes. The following labels and tape marks<br />
are required for this volume organization.<br />
VOL1 - Volume Header Label<br />
HDR1 - Standard Header Label 1<br />
HDR2 - Standard Header Label 2 (optional)<br />
- Tape Mark<br />
Job File (Section 1)<br />
- Tape Mark<br />
EOV1 - End-of-Volume Trailer Label 1<br />
EOV2 - End-of-Volume Trailer Label 2 (optional)<br />
- Tape Mark<br />
The preceding pattern is repeated for tape reel 1 through tape reel n-1.<br />
The last tape reel (n) requires the following format.<br />
VOL1-Volume Header Label<br />
HDR1-Standard Header Label 1<br />
HDR2-Standard Header Label 2 (optional)<br />
-Tape Mark<br />
Job File (Section n)<br />
-Tape Mark<br />
EOF1-End-of-File Trailer Label 1<br />
EOF2-End-of-File Trailer Label 2 (optional)<br />
-Tape Mark<br />
-Tape Mark
Tape Labels<br />
Chapter 2. Magnetic Tape Formats<br />
Tape Labels<br />
Certain fields in the volume (VOL1) label and header/trailer 1 (HDR1/<br />
EOF1/EOV1) labels are processed by some KODAK VERSAMARK printing<br />
systems. The header/trailer 2 (HDR2/EOF2/EOV2) labels are not used.<br />
The volume serial number in the first reel's VOL1 header is saved for<br />
comparison in the event that this is a multiple volume file. For each<br />
subsequent tape reel, the data set serial number in the HDR1 header is<br />
compared to the volume serial number in the first reel's VOL1 header.<br />
This comparison makes sure that the tape reels are part of the same job<br />
file. The volume owner field in the VOL1 header is saved by some printing<br />
systems.<br />
The volume sequence number in the HDR1 header is checked for each<br />
tape reel to make sure that the reels are mounted in the proper sequence.<br />
The following fields in the HDR1 header are saved by some printing<br />
systems:<br />
Data set name<br />
Creation date<br />
Expiration date.<br />
Tables 2.1 and 2.2 provide a general outline of the IBM VOL1 and HDR1<br />
labels to show the fields used by the KODAK VERSAMARK printing systems.<br />
For more detailed information on these or other labels, refer to IBM<br />
documentation.<br />
Table 2.1 VOL1 record format<br />
Byte Position Bytes Field Name Description<br />
1-4 4 Label identifier EBCDIC characters VOL1.<br />
5-10 6 Volume serial A volume serial number, in EBCDIC,<br />
number consisting of up to 6 characters. The field<br />
must be left justified and space filled to<br />
the right. For example, hex F0 F9 F3 F6<br />
40 40 specifies a serial number of 0936.<br />
11-41 31 Not used Not used by KODAK VERSAMARK printing<br />
systems.<br />
42-51 10 Volume Owner The name and address code, in<br />
EBCDIC, of the owner of this tape.<br />
52-80 29 Not used Not used by KODAK VERSAMARK printing<br />
systems.<br />
Reference Guide 2 - 3
Chapter 2. Magnetic Tape Formats<br />
Tape Labels<br />
2 - 4 IJPDS Formats<br />
Table 2.2 HDR1/EOV1/EOF1 record format<br />
Byte Position Bytes Field Contents Description<br />
1-4 4 Characters<br />
HDR1 or EOV1<br />
or EOF1<br />
EBCDIC characters HDR1, EOV1, or<br />
EOF1.<br />
5-21 17 Data set name The file name, in EBCDIC, for this job<br />
file. The field must be left justified<br />
and space filled to the right. For<br />
example, hex D1 D6 C2 F1 F0 F0 40<br />
40 40 40 40 40 40 40 40 40 40<br />
represents a data set name of<br />
JOB100.<br />
22-27 6 Data set serial<br />
number<br />
28-31 4 Volume<br />
sequence<br />
number<br />
The contents of this field must match<br />
the volume serial number in the<br />
VOL1 label of the first (or only) tape<br />
of the file.<br />
The sequence number, in EBCDIC,<br />
of this tape in a multiple volume file.<br />
The range is 0001-9999. Use 0001<br />
for a single volume file.<br />
32-35 4 File number Not used by KODAK VERSAMARK<br />
printing systems.<br />
36-39 4 Generation<br />
number<br />
Not used by KODAK VERSAMARK<br />
printing systems.<br />
40-41 2 Version number Not used by KODAK VERSAMARK<br />
printing systems.<br />
42-47 6 Creation date The creation date of the job file in<br />
EBCDIC. The format is cyyddd,<br />
where c represents the first 2 digits of<br />
the year (hex 40 = 19 and hex F0 =<br />
20).<br />
48-53 6 Expiration date The expiration date of the job file in<br />
EBCDIC. The format is cyyddd,<br />
where c represents the first 2 digits of<br />
the year (hex 40 = 19 and hex F0 =<br />
20).<br />
54 1 Data set security Not used by KODAK VERSAMARK<br />
printing systems.<br />
55-60 6 Block count Not used by KODAK VERSAMARK<br />
printing systems.<br />
61-80 20 Special codes Not used by KODAK VERSAMARK<br />
printing systems.
Tape Blocking<br />
Chapter 2. Magnetic Tape Formats<br />
Tape Blocking<br />
When written to tape, the job file consists of variable-length records that<br />
are grouped into variable-length blocks. Each block on the tape starts with<br />
a 2-byte block-length field. This binary field indicates the length of the<br />
block, in bytes, including the block length field. The first byte in the block<br />
length field is the most significant byte and the most significant bit in each<br />
byte is the hex 80 bit. For example, hex 09 B6 specifies a block length of<br />
2,486 bytes.<br />
The maximum block length is 4,096 bytes. Each block must contain an<br />
integral number of records. Records cannot be divided between blocks<br />
(spanned).<br />
For job files that contain data for multiple RIPs, each block can contain<br />
data for only one RIP. A RIP command, identifying a specific RIP, must be<br />
the first record in each block after the first block. Multiple RIPs are<br />
explained in Chapter 1.<br />
Reference Guide 2 - 5
Chapter 3. Disk Formats<br />
An IJPDS job file contains all of the information required to run a job. The<br />
job file can be on disk or magnetic tape. This chapter describes the disk<br />
format required.<br />
The format of an IJPDS file on disk is the same as the format on magnetic<br />
tape (see Chapter 2) with two exceptions. First, tape labels and tape<br />
marks are not present on disk. Second, all blocks must be padded so that<br />
they contain exactly 4096 bytes. The pad characters can be binary zeroes<br />
or any other fill characters. The block length field is still a variable-length<br />
indicator and must contain the length of the usable portion of each 4096byte<br />
block.<br />
Reference Guide 3 - 1
Record Information<br />
Chapter 4. Record Formats<br />
An IJPDS job file consists of variable-length, special-purpose records that<br />
describe the printing job. Each record is identified by a control code. All<br />
information needed by the printing system for the job is contained in the<br />
job file.<br />
This chapter describes each record in detail. The record descriptions are<br />
presented in the sequence that the records might appear in the file. The<br />
sequence of some records is fixed while the sequence of other records<br />
can vary depending on the job requirements. Required record sequences<br />
are discussed in Chapter 5.<br />
Tables containing reference lists of all IJPDS records are contained in<br />
Appendix A. Table A.1 provides a list of all records in alphabetic order by<br />
name. The table provides the assigned control code and purpose of each<br />
record along with a page reference to the record description in this<br />
chapter. Table A.2 provides the same information in a list compiled in<br />
numeric order by control code.<br />
Records having a defined length may have pad bytes added at the end<br />
and the extra bytes will be ignored. The extra bytes must be included in<br />
the Record Length field. Defined length records are those where the<br />
length of usable information is either fixed or can be determined by<br />
examining fields in the record. A RIP record is an example of a record<br />
where the length of the usable information is fixed (the length is always 5<br />
bytes). A PHR record is an example of a record where a field in the record<br />
can be examined to determine the usable length. The “Number of<br />
Printheads” field can be used to determine the usable length (the length is<br />
18 bytes for one printhead and 42 bytes for four printheads).<br />
For records that contain binary fields with more than one byte, the<br />
leftmost byte is the most significant. If a field occupies bytes 5 and 6 in a<br />
record, byte 5 is the most significant byte. For example, hex 01 7F<br />
specifies a value of 383.<br />
Some records use 4-byte signed binary values in the two's complement<br />
form to specify X and Y escapements and offsets. The maximum negative<br />
value for these fields is shown in the following equation in both decimal<br />
and hex representation.<br />
-2 31 = -2,147,483,648 = hex 80 00 00 00<br />
The maximum positive value for these fields is shown in the following<br />
equation in both decimal and hex representation.<br />
2 31 - 1 = +2,147,483,647 = hex 7F FF FF FF<br />
Reference Guide 4 - 1
Chapter 4. Record Formats<br />
Compression Types<br />
Compression Types<br />
4 - 2 IJPDS Formats<br />
Some records use 2-byte signed binary values in the two's complement<br />
form to specify X and Y coordinates. The maximum negative value for<br />
these fields is shown in the following equation in both decimal and hex<br />
representation.<br />
-2 15 = -32,768 = hex 80 00<br />
The maximum positive value for these fields is shown in the following<br />
equation in both decimal and hex representation.<br />
2 15 - 1 = +32,767 = hex 7F FF<br />
Some records also use two-byte, unsigned binary with values ranging<br />
from 0 - 65, 535.<br />
Some fields in some records are indicated as reserved. These fields must<br />
be filled with binary zeroes, or unexpected and inconsistent results may<br />
occur.<br />
Certain fields are indicated as for use in DS2900 jobs only. Jobs for all<br />
other printers must set these fields to binary zeroes. See the description<br />
of the JCR record at the end of this chapter for restrictions on DS2900<br />
jobs.<br />
The defined compression types in this section apply to the CCD and CBM<br />
record types described in this chapter.<br />
Reserved - 0x0000<br />
This data compression type is currently undefined.<br />
32-Bit Vertical Run Length Encoding (RLEV32) - 0x0001<br />
The original data is compressed using a lossless run length encoding<br />
scheme. This scheme can provide reasonable compression of white<br />
space, text, and line art data in a format that can be quickly<br />
decompressed by the imager. This scheme may not be suitable for<br />
grayscale images rendered to bilevel data where the run lengths are<br />
typically very short.<br />
The compression parameter for this encoding scheme is currently<br />
reserved and must be set to binary 0x00000080.<br />
A compressed packet of data consists of a flag word (0x00000080 - start<br />
of run), a run count word (number of data words in a run), and a data<br />
word. The flag word, the count word, and the data word are all unsigned<br />
32-bit (4-byte) values. Each of the elements in the compressed data<br />
packet are in big-endian byte order. Run lengths of less than three are<br />
supported, but not recommended because of their inefficiency (except in<br />
the case of a run of flag words [0x00000080]; flag words cannot be left<br />
unencoded). Run lengths of less than three are generally left<br />
uncompressed. A single flag word encountered in the data stream is most<br />
efficiently encoded as a flag word, followed by a run length of zero, and<br />
not followed by a data word. Some data patterns compressed using this<br />
encoding scheme have the possibility of becoming up to 50% larger than
Chapter 4. Record Formats<br />
Compression Types<br />
the original uncompressed data. It is recommended, in cases where the<br />
compressed data becomes larger than (or, in many cases, the same size<br />
as) the uncompressed data, that the data be left uncompressed by the<br />
data preparation program.<br />
0x00000080 0x00000100 0x00000000 Run of 256 words of 0x00000000<br />
0x00000080 0x00000000 Run of 1 word of 0x00000080<br />
0x00000080 0x00000010 0x00000080 Run of 16 words of 0x00000080<br />
Consecutive compressed packets and uncompressed data words in the<br />
compressed data stream represent the original uncompressed data<br />
starting from the top left corner of the image working down each column<br />
of bitmapped data. A compressed packet may continue from the bottom<br />
of one column to the top of the next column. A compressed data packet<br />
cannot be divided among multiple data records (see the CCD record<br />
description later in this chapter). The compressed data for an object<br />
(character or bitmap) represented by a single data word value can be<br />
encoded using a single packet - 0x00000080 n value - where n is the total<br />
number of words in the original uncompressed data. In Figure 4.1, the<br />
data shown could be compressed to the following:<br />
0x00000080 0x00000027 0x00000000 0x00000080 0x00000004<br />
0x0000ffff 0x00000080 0x0000001f 0x00000000 0x00000080<br />
0x00000004 0xffffffff 0x00000080 0x0000001f 0x00000000<br />
0x00000080 0x0000001b 0xffffffff 0x00000080 0x00000008<br />
0x00000000 0x00000080 0x0000001b 0xffffffff 0x00000080<br />
0x00000008 0x00000000 0x00000080 0x00000004 0xffffffff<br />
0x00000080 0x0000001f 0x00000000 0x00000080 0x00000004<br />
0xffff0000 0x00000080 0x0000003e 0x00000000<br />
280 words compressed to 39 words, a 7 to 1 compression ratio (results<br />
not typical for all applications).<br />
Note: Each dot row of the raster must be padded to the right with zero bits to<br />
make an integral number of 32-bit segments before compression. The<br />
width of the bitmap or character pattern being compressed does not have<br />
to be a multiple of 32 bits but the length of the raster dot row does.<br />
Reference Guide 4 - 3
Chapter 4. Record Formats<br />
Compression Types<br />
4 - 4 IJPDS Formats<br />
Figure 4.1 32-bit Vertical Run Length Encoding (RLEV32)<br />
Byte address<br />
(hex) 0 4 8 C 10 14 18 1C<br />
0<br />
20<br />
40<br />
60<br />
Run #1<br />
Run #2<br />
440 440 444 448 44C 450 454 458 45C 35<br />
Row number<br />
(decimal)<br />
1<br />
2<br />
3<br />
4
Chapter 4. Record Formats<br />
Job Control Record 2 (JC2)<br />
Job Control Record 2 (JC2)<br />
The JC2 record must be the first record in the job file and must not occur<br />
again in the file. There can be only one JC2 record in each job file. This<br />
record, along with the PHR and the FAR records, contains system and job<br />
information required for both single- and multi-RIP job files.<br />
Note: The controller may use data provided in this record to formulate a<br />
printhead ID, solely or in conjunction with RIP, PHR, and SRM records.<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 D4 specifies a record length of 212<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. Because the<br />
JC2 record is always the first record in the job file, the count is<br />
always hex 01 for this record. The count is used to verify record<br />
sequence.<br />
4 1 Control Code A binary code that identifies the record type. A value of hex 24<br />
identifies the JC2 record.<br />
5-6 2 Reserved This field is not used and must contain all binary zeroes.<br />
7 1 Even An EBCDIC E (hex C5) in this field indicates that the records in this<br />
file have been padded to make them contain an even number of<br />
bytes. For records whose length indicator specifies an odd number<br />
of bytes, the printer will skip the last (pad) byte.<br />
If this field contains anything other than an EBCDIC E, normal<br />
processing of the records occurs.<br />
8-15 8 Reserved This field is not used and must contain all binary zeroes.<br />
16-17 2 RIP Configuration<br />
(Logical RIPs)<br />
Identifies the logical RIPs required for this job. Each bit position<br />
represents a RIP. If the bit is set to 1, the RIP is required. Bit<br />
assignments, shown in hex, are as follows:<br />
80 00 = RIP 0<br />
40 00 = RIP 1<br />
20 00 = RIP 2<br />
10 00 = RIP 3<br />
08 00 = RIP 4, and so forth.<br />
For example, hex B0 00 indicates that logical RIPs 0, 2, and 3 are<br />
required for the job.<br />
18-27 10 Reserved This field is not used and must contain all binary zeroes.<br />
28 1 Stitched RIP Indicator If set to binary 1 (hex 01), this field indicates that there are stitched<br />
RIPs and the following field identifies which RIPs are stitched.<br />
If set to binary 0 (hex 00), this field indicates that there are no<br />
stitched RIPs and the following field is ignored.<br />
29-92 64 Stitched RIP<br />
Configuration<br />
(Logical RIPs)<br />
This field consists of 16, 32-bit segments to define the stitching for<br />
16 possible RIPs. The first segment, bytes 29-32, specifies which<br />
physical RIPs are stitched to make logical RIP 0. For example, if<br />
bytes 29-32 contain hex C0 00 00 00, physical RIPs 0 and 1 are<br />
stitched to make logical RIP 0.<br />
The logical RIPs are identified as specified in the RIP<br />
Configuration field (byte positions 16-17). Refer to Chapter 1 for a<br />
description of physical and logical RIPs.<br />
93-143 51 Reserved This field is not used and must contain all binary zeroes.<br />
Reference Guide 4 - 5
Chapter 4. Record Formats<br />
Job Control Record 2 (JC2)<br />
Byte Position Bytes Field Name Description<br />
144-151 8 Security Code This field is used only if security is enabled. It is an 8-byte security<br />
code that is the result of an encryption of the Job Identifier Field<br />
(byte positions 205-212). The encryption may be done with or<br />
without an operator-entered password.<br />
152-174 23 Job Information A string of 23 EBCDIC characters used to identify this job. This can<br />
be a job name, the data preparation program name, or any other<br />
identifying information. This field can have any format. It is logged<br />
when the job is run, but it is not used otherwise.<br />
175-188 14 Data Prep Date A string of 14 EBCDIC characters containing the date this job file<br />
was prepared. This field can have any format. It is logged when the<br />
job is run, but it is not used otherwise.<br />
189-202 14 Data Prep Time A string of 14 EBCDIC characters containing the time this job file<br />
was prepared. This field can have any format. It is logged when the<br />
job is run, but it is not used otherwise.<br />
203-204 2 Reserved This field is not used and must contain all binary zeroes.<br />
205-212 8 Job Identifier This field is used if security is enabled. It is an 8-byte Job Identifier,<br />
in EBCDIC, that is encrypted as described in the Security Code<br />
field (byte positions 144-151).<br />
This field is logged whenever the Job History logging feature is<br />
enabled (with or without security).<br />
If the security or job history features are not used, this field can be<br />
filled with pad characters of any kind or the record can end at byte<br />
204.<br />
4 - 6 IJPDS Formats
Select RIP (RIP)<br />
The RIP record is required only for multi-RIP systems.<br />
Chapter 4. Record Formats<br />
Select RIP (RIP)<br />
It is used to identify the logical RIP that is to receive subsequent data in<br />
the job file until another RIP record is encountered. The subsequent data<br />
can be fonts, fixed files, or variable data. If the same fonts or fixed files<br />
are used for more than one RIP, they must be repeated in the job file for<br />
each RIP.<br />
The RIP record is permitted only at the start of a block on tape or disk. For<br />
a multiple RIP job, it is required that each block (with the exception of the<br />
first one) begin with the RIP record.<br />
Refer to Chapter 1 for a discussion of physical and logical RIPs.<br />
Note: The controller may use data provided in this record to formulate a<br />
printhead ID, solely or in conjunction with JC2, PHR, and SRM records.<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 05 specifies a record length of 5 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 23<br />
identifies the RIP record.<br />
5 1 RIP Number This field identifies, in binary, the number of the logical RIP that is<br />
to receive the data that follows in the job file. The range is 0-255.<br />
For example, hex 04 identifies logical RIP number 4.<br />
Reference Guide 4 - 7
Chapter 4. Record Formats<br />
PrintHead Requirements Record (PHR)<br />
PrintHead Requirements Record (PHR)<br />
The PHR record specifies the number and type of printheads required by<br />
this job. It also describes the characteristics of each printhead. It is<br />
recommended that you use this record but it is not required. If the record<br />
is not present, the printer assumes the printheads present in the system<br />
are correct. For multi-RIP systems where this record is used, it must<br />
occur once for each RIP.<br />
4 - 8 IJPDS Formats<br />
Starting with byte position 11, four fields (8 bytes) are provided for each<br />
printhead. These fields contain printhead-specific information.<br />
Note: The controller may use data provided in this record to formulate a<br />
printhead ID, solely or in conjunction with JC2, RIP, and SRM records.<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 2A specifies a record length of 42 bytes<br />
(the number of bytes required if four printheads are specified).<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 26<br />
identifies the PHR record.<br />
5-6 2 Print Resolution -<br />
X Direction<br />
7-8 2 Print Resolution -<br />
Y Direction<br />
The number of jets per inch, in unsigned binary, in each printhead.<br />
This is the print resolution (dots per inch or dpi) in the X direction.<br />
The X direction is perpendicular to substrate movement. All<br />
printheads controlled by the same RIP must have the same Xdirection<br />
resolution.<br />
The print resolution (dots per inch or dpi), in unsigned binary, of the<br />
printheads in the Y direction. The Y direction is upstream or<br />
opposite the direction of paper movement. All printheads<br />
controlled by the same RIP must have the same Y-direction<br />
resolution.<br />
This field is encoded in two parts: lines per tach and tachs per inch.<br />
Bits 16 - 13 (0xF000) = Number of lines per tach;<br />
0 = 1 line per tach;<br />
1 - 8 = Number of lines per tach.<br />
Bits 12 - 1 (0x0FFF) = Number of tachs per inch.<br />
9-10 2 Number of Printheads The number, in unsigned binary, of printheads required by the job<br />
for this RIP. This number is determined by comparing the number<br />
of dots required for the maximum width (X direction) of the image<br />
with the number of jets in the printheads used.<br />
For example, 00 04 specifies 4 printheads.<br />
11-12 2 Number of Jets The number, in unsigned binary, of jets in the first printhead. The<br />
first printhead is the leftmost printhead when looking in the<br />
direction of substrate movement.<br />
For example, hex 04 00 specifies 1,024 jets (4-inch printhead) and<br />
hex 01 00 specifies 256 jets (1-inch printhead).<br />
13-14 2 Number of Drops The number, in binary, of drops per dot for the first printhead. This<br />
field is printer and printhead dependent. The value of this field<br />
must not be 0.<br />
For example, hex 00 02 specifies 2 drops per dot for the first<br />
printhead.
Byte Position Bytes Field Name Description<br />
15-16 2 Relative Printhead<br />
Position<br />
Chapter 4. Record Formats<br />
PrintHead Requirements Record (PHR)<br />
An unsigned binary number that represents the offset, in dots, of<br />
this printhead relative to the starting position of the first (leftmost)<br />
printhead. A binary 0 in this field for all printheads indicates that<br />
printhead positioning is not specified in the job file.<br />
17-18 2 Reserved This field, reserved for the first printhead, is not used and must<br />
contain all binary zeroes.<br />
19-20 2 Number of Jets The number, in binary, of jets in the second printhead. The second<br />
printhead is second from the left when looking in the direction of<br />
substrate movement.<br />
Continue - repeat bytes 11-18 for each printhead.<br />
The first printhead prints from the first n columns of the page buffer, where<br />
n is the number of jets specified in positions 11-12 of the PHR. The<br />
second printhead prints from the next m columns, where m is the number<br />
of jets specified in positions 19-20 of the PHR, and so forth.<br />
Reference Guide 4 - 9
Chapter 4. Record Formats<br />
Font Assignment Record (FAR)<br />
Font Assignment Record (FAR)<br />
The FAR record assigns numbers to font names for the fonts required by<br />
this job. This record assigns names and numbers to regular and super<br />
fonts, but not to subfonts of category I super fonts. It is recommended that<br />
you use this record but it is not required. If the record is not included, the<br />
printer assumes the fonts present in the system or loaded from the tape<br />
are correct. For multi-RIP systems where this record is used, it must<br />
occur once for each RIP.<br />
Byte Position Bytes Field Name Description<br />
4 - 10 IJPDS Formats<br />
Starting with byte position 9, two fields (10 bytes) are provided for each<br />
font. These fields contain the number and associated name for each font.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 44 specifies a record length of 68 bytes<br />
(the number of bytes required if six fonts are named in this record).<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 25<br />
identifies the FAR record.<br />
5-6 2 Number of Fonts The number, in binary, of fonts required for this job for this RIP. The<br />
range is 1 - 255. For example, hex 00 16 specifies 22 fonts.<br />
7-8 2 Default Font The assignment number, in binary, of the default font. The default<br />
font is set as the current font at the start of each document if the<br />
SOD or SDC record does not contain a starting font number. The<br />
range is 0-254. For example, hex 00 0A specifies a font number of<br />
10.<br />
9-10 2 Font Number The assignment number, in binary, for the font name in the next<br />
field. The range is 0-254. For example, hex 00 02 specifies a font<br />
number of 2.<br />
11-18 8 Font Name The name of the font in EBCDIC. The field must be left justified<br />
and space filled to the right. For example, hex C8 C5 E6 C9 E3 E3<br />
40 40 specifies a font name of HEWITT. The same font in different<br />
orientations must have a different font name for each orientation.<br />
19-20 2 Font Number The assignment number, in binary, for the next font.<br />
Continue - Repeat bytes 9-18 for each font.<br />
In some printers, the font names and assigned numbers in the FAR<br />
record are compared to those already loaded in the printer. If the names<br />
and assigned numbers in this record agree with those already loaded and<br />
no font records follow, no error occurs. If the names agree and one or<br />
more assigned numbers disagree, a warning occurs and the assigned<br />
numbers of the loaded fonts are changed to agree with those in this<br />
record. If the font names in this record agree with fonts that appear later in<br />
this job file, no error occurs.<br />
If any of the font names in this record are not loaded and no fonts follow in<br />
this job file, an error occurs. If fonts follow in this job file and any of the<br />
font names in this record are not contained in these font files, an error<br />
occurs.
Chapter 4. Record Formats<br />
Set Resolution Multiplier (SRM)<br />
Set Resolution Multiplier (SRM)<br />
The SRM record allows the data preparation program to specify distances<br />
for character escapements and offsets, font escapements, spacing<br />
values, and relative position values at a resolution higher than that of the<br />
RIP.<br />
This record sets a logical resolution for the current RIP and must appear<br />
(if used) with the PHR and FAR records before any font records, fixed file<br />
records, or the first document. The logical resolution is determined by<br />
multiplying the resolution multiplier times the physical resolution of the<br />
RIP. The resolution multiplier is calculated by raising 2 to the power of the<br />
value in the exponent field of this record.<br />
For example, if the exponent field contains 03, the resolution multiplier is<br />
8 (2 to the third power). Assuming a physical resolution of 240 dpi for the<br />
RIP, the logical resolution is 8 x 240 = 1920 dpi.<br />
Assume that a distance field in one of the affected records contains a<br />
logical X or Y distance of binary 101110100101 (2981 dots) and the<br />
exponent field contains 3. The logical distance is converted to the<br />
physical resolution of the RIP by moving the “binary” point 3 places to the<br />
left, resulting in 101110100.101. The cursor is moved 372 dots according<br />
to the whole binary number 101110100, but the fractional binary number.<br />
101 is carried and added to the next fraction received. When the<br />
accumulated fractions add up to a whole dot, the cursor is moved an extra<br />
dot position.<br />
Note: The controller may use data provided in this record to formulate a<br />
printhead ID, solely or in conjunction with JC2, RIP, and PHR records.<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 05 specifies a record length of 5 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 39<br />
identifies the SRM record.<br />
5 1 Resolution Exponent A binary value with a range of 1-16. The resolution multiplier is<br />
determined by raising 2 to the power of the value in this field.<br />
The SRM record applies to the following fields in the following records:<br />
SFM and FDM X and Y escapements<br />
CDM and CCD X and Y offsets and escapements<br />
SFS X and Y line spacing<br />
X and Y character spacing<br />
SRP X and Y<br />
Reference Guide 4 - 11
Chapter 4. Record Formats<br />
Page Length Requirement (PLR)<br />
Page Length Requirement (PLR)<br />
The PLR record specifies the page length requirement for the current RIP.<br />
Byte Position Bytes Field Name Description<br />
4 - 12 IJPDS Formats<br />
This record is optional. If a PLR record is used, it must appear with the<br />
PHR and FAR records before any font records, fixed file records, or the<br />
first document.<br />
Information in the PLR record can be used by the CD120 data station to<br />
reallocate page buffers for the current RIP and allow more efficient use of<br />
available memory. The maximum page length allowed is printer<br />
dependent. Some printers display a warning message if the page length<br />
requirements in this record cannot be met.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 08 specifies a record length of 8 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 3B<br />
identifies the PLR record.<br />
5-8 4 Page Length<br />
Requirement<br />
An unsigned binary number that represents the page length<br />
requirement for the current RIP in dots. For example, hex 00 00 0E<br />
00 specifies a page length of 3,584 dots. The range is 0 -<br />
4,294,967,295. The maximum page length is printer dependent.<br />
Note: Specifying a page length longer than the default length may cause less<br />
memory to be available for font storage.
Chapter 4. Record Formats<br />
Super Font with Metrics (SFM)<br />
Super Font with Metrics (SFM)<br />
The SFM record is used to provide general information about a Category<br />
II super font and to indicate that the following CDM and/or CCD records<br />
define characters in the super font. A super font is a double-byte font<br />
used with certain languages to provide a large number of characters that<br />
all have the same typeface and size.<br />
Byte Position Bytes Field Name Description<br />
After an SFM in the job file, any record other than a CDM, CCD, RIP,<br />
NOP, or MSG ends the super font.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 16 specifies a record length of 22 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 2F<br />
identifies the SFM record.<br />
5-8 4 X Escapement A signed binary number used to calculate the X coordinate of the<br />
starting position for the next line. Negative values are represented<br />
using the two's complement form. For example, hex 00 00 00 08<br />
specifies +8 dots and hex FF FF FF F8 specifies -8 dots.<br />
The current X line spacing value is added to the value in this field<br />
to calculate the X position for the next line.<br />
9-12 4 Y Escapement A signed binary number used to calculate the Y coordinate of the<br />
starting position for the next line. Negative values are represented<br />
using the two's complement form. For example, hex 00 00 00 1B<br />
specifies +27 dots and hex FF FF FF E5 specifies -27 dots.<br />
The current Y line spacing value is added to the value in this field<br />
to calculate the Y position for the next line.<br />
13 1 Font Rotation A binary code that identifies the font rotation.<br />
0 (hex 00)=Upright2 (hex 02)=Inverted<br />
1 (hex 01)=Right-Rotated3 (hex 03)=Left-Rotated<br />
The font must be patterned in an upright rotation. This field is used<br />
by the printing system to rotate the font to the desired rotation.<br />
If it is to be used in more than one rotation in the same job, a super<br />
font and all characters in the super font must be defined once for<br />
each rotation.<br />
14 1 Super Font Number A number, in binary, that identifies the super font. The range is 0 -<br />
254. For example, hex 0A specifies a font number of 10.<br />
15-22 8 Super Font Name The name of the super font in EBCDIC. The field must be left<br />
justified and space filled to the right. For example, hex C8 C5 E6<br />
C9 E3 E3 40 40 specifies a font name of HEWITT. This name must<br />
match a font name in the FAR record.<br />
Reference Guide 4 - 13
Chapter 4. Record Formats<br />
Font Definition with Metrics (FDM)<br />
Font Definition with Metrics (FDM)<br />
The FDM record contains general information about the Category II font.<br />
There is only one FDM for each font. An FDM is followed by CDM and/or<br />
CCD records that define the characters in the font.<br />
Byte Position Bytes Field Name Description<br />
4 - 14 IJPDS Formats<br />
After an FDM in the job file, any record other than a CDM, CCD, RIP,<br />
NOP, or MSG ends the font. An example of FDM and CDM coding is<br />
shown in Appendix B.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 16 specifies a record length of 22 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 2E<br />
identifies the FDM record.<br />
5-8 4 X Escapement A signed binary number used to calculate the X coordinate of the<br />
starting position for the next line. Negative values are represented<br />
using the two's complement form. For example, hex 00 00 00 08<br />
specifies +8 dots hex FF FF FF F8 specifies -8 dots.<br />
The current X line spacing value is added to the value in this field<br />
to calculate the X position for the next line.<br />
9-12 4 Y Escapement A signed binary number used to calculate the Y coordinate of the<br />
starting position for the next line. Negative values are represented<br />
using the two's complement form. For example, hex 00 00 00 1B<br />
specifies +27 dots and hex FF FF FF E5 specifies -27 dots.<br />
The current Y line spacing value is added to the value in this field<br />
to calculate the Y position for the next line.<br />
13 1 Font Rotation A binary code that identifies the font rotation.<br />
0 (hex 00)=Upright2 (hex 02)=Inverted<br />
1 (hex 01)=Right-Rotated3 (hex 03)=Left-Rotated<br />
The font must be defined in an upright rotation. This field is used<br />
by the printing system to rotate the font to the desired rotation.<br />
If a font is to be used in more than one rotation in the same job, it<br />
must be defined once for each rotation.<br />
14 1 Font Number A number, in binary, that identifies the font. The range is 0 - 254.<br />
For example, hex 0A specifies a font number of 10.<br />
15-22 8 Font Name The name of the font in EBCDIC. The field must be left justified<br />
and space filled to the right. For example, hex C8 C5 E6 C9 E3 E3<br />
40 40 specifies a font name of HEWITT. This name must match a<br />
font name in the FAR record.
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
Chapter 4. Record Formats<br />
Character Definition with Metrics (CDM)<br />
Byte Position Bytes Field Name Description<br />
9-10 2 Width An unsigned binary number that specifies the width, in dots, of the<br />
character bounding box. For example, hex 00 10 specifies a width<br />
of 16 dots. The practical range is limited by the page buffer size<br />
and font memory limitations. Each character in a font can have a<br />
different width. A width of zero defines a blank character.<br />
The width is the X dimension of the bounding box and the direction<br />
is determined by the orientation of the font.<br />
11-12 2 Height An unsigned binary number that specifies the height, in dots, of the<br />
character bounding box. For example, hex 00 14 represents a<br />
height of 20 dots. The practical range is limited by the page buffer<br />
size and font memory limitations. Each character in a font can<br />
have a different height. A height of zero defines a blank character.<br />
The height is the Y dimension of the bounding box and the<br />
direction is determined by the orientation of the font.<br />
13-16 4 X Offset A signed binary number that specifies the X offset of the character.<br />
The X offset is the number of dots to the left side of the character<br />
bounding box from the current cursor position. Direction of the X<br />
offset is determined by the orientation of the font.<br />
Negative values are represented using the two's complement form.<br />
For example, hex 00 00 00 03 specifies +3 dots and hex FF FF FF<br />
FD specifies -3 dots.<br />
17-20 4 Y Offset A signed binary number that specifies the Y offset of the character.<br />
The Y offset is the number of dots to the top of the character<br />
bounding box from the current cursor position. Direction of the Y<br />
offset is determined by the orientation of the font.<br />
Negative values are represented using the two's complement form.<br />
For example, hex 00 00 00 04 specifies +4 dots and hex FF FF FF<br />
FC specifies -4 dots.<br />
21-24 4 X Escapement A signed binary number that specifies the direction and distance to<br />
the cursor position for the next character from the X position of the<br />
current character. Direction of the X escapement is determined by<br />
the orientation of the font.<br />
Negative values are represented using the two's complement form.<br />
For example, hex 00 00 00 16 specifies +22 dots and hex FF FF<br />
FF EA specifies -22 dots.<br />
25-28 4 Y Escapement A signed binary number that specifies the direction and distance to<br />
the cursor position for the next character from the Y position of the<br />
current character. Direction of the Y escapement is determined by<br />
the orientation of the font.<br />
Negative values are represented using the two's complement form.<br />
For example, hex 00 00 00 1B specifies +27 dots and hex FF FF<br />
FF E5 specifies -27 dots.<br />
4 - 16 IJPDS Formats
Byte Position Bytes Field Name Description<br />
Chapter 4. Record Formats<br />
Character Definition with Metrics (CDM)<br />
29-n n Bitmap Pattern This field contains the bitmap pattern for the character defined by<br />
this CDM. Each row of the pattern contains an integral number of<br />
16-bit segments. The number of rows is determined by the height<br />
field (bytes 11-12). The number of 16-bit segments per row is<br />
determined by the width field (bytes 9-10). For example, if the<br />
height is 21 and the width is 28, this field must contain 21 rows<br />
consisting of two 16-bit segments each (42 16-bit segments or 84<br />
bytes).<br />
The high-order bit in this field (bit hex 80 in byte position 29)<br />
controls the dot in the top left corner of the character bounding<br />
box. Subsequent bits in the same segment control dots in a left-toright<br />
order in the first row of the character. The first dot in the<br />
second row of the character is controlled by the high-order bit of<br />
the nth 16-bit segment, where n is the number of segments per<br />
row plus one.<br />
Each row must be padded to the right with binary zeroes.<br />
If the character pattern will not fit in a block, a continuation CDM<br />
must be used. An integral number of rows must be used in each<br />
CDM record.<br />
Reference Guide 4 - 17
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.
Byte Position Bytes Field Name Description<br />
Chapter 4. Record Formats<br />
Compressed Character Definition (CCD)<br />
8 1 Reserved This field is unused and must contain all binary zeros.<br />
9-10 2 Width A binary number representing the width of the uncompressed<br />
character data to be combined into the RIP frame buffer. The<br />
range is 0 to 65535, although the practical size is limited by the<br />
page size and font memory limitations of the data station.<br />
11-12 2 Height A binary number representing the height of the uncompressed<br />
character data to be combined into the RIP frame buffer. The<br />
range is 0 to 65535, although the practical size is limited by the<br />
page size and font memory limitations of the data station.<br />
Each character may have a different height and width, eliminating<br />
the need to supply data to position the character inside the<br />
character cell. If the CCD has a width or height of zero, a blank<br />
character is defined. No data is combined into the frame buffer of<br />
the RIP for characters with a width and/or height of zero.<br />
13-16 4 X Offset A signed binary number that defines the number of dots to the left<br />
side of the bounding box of the character from the X position of the<br />
current cursor. The X offset moves relative to the font’s orientation.<br />
The range is -2,147,483,647 to 2,147,483,647, although useful<br />
values are limited by the page size of the RIP or Super RIP.<br />
17-20 4 Y Offset A signed binary number that defines the number of dots to the top<br />
side of the bounding box of the character from the Y position of the<br />
current cursor. The Y offset moves relative to the font’s orientation.<br />
The range is -2,147,483,647 to 2,147,483,647, although useful<br />
values are limited by the page size of the RIP or Super RIP.<br />
21-24 4 X Escapement A signed binary number that defines the direction and distance to<br />
the left side of the next character cell from the X position of the<br />
current character. The X escapement moves relative to the font’s<br />
orientation. The range is -2,147,483,647 to 2,147,483,647,<br />
although useful values are limited by the page size of the RIP or<br />
Super RIP.<br />
25-28 4 Y Escapement A signed binary number that defines the direction and distance to<br />
the starting position of the next character cell from the Y position of<br />
the current character. The Y escapement moves relative to the<br />
font’s orientation. The range is -2,147,483,647 to 2,147,483,647,<br />
although useful values are limited by the page size of the RIP or<br />
Super RIP.<br />
29-30 2 Reserved This field is unused and must contain all binary zeros.<br />
31-32 2 Compression Type Specifies the compression algorithm used to compress the<br />
bitmapped character data. Undefined or unsupported compression<br />
types will cause an error message to be displayed and the font<br />
download will stop.<br />
Compression types (see “Compression Types” on page 4-2) are:<br />
0x0000 = Reserved<br />
0x0001 = 32-bit Vertical Run Length Encoding (RLEV32)<br />
33-36 4 Compression<br />
The meaning of these bytes depends on the compression type<br />
Parameter<br />
specified in bytes 30-31.<br />
Reference Guide 4 - 19
Chapter 4. Record Formats<br />
Compressed Character Definition (CCD)<br />
Byte Position Bytes Field Name Description<br />
37-n varies Compressed Character<br />
Pattern<br />
4 - 20 IJPDS Formats<br />
Only the upright orientation is supported. Use of rotated characters<br />
in this record will produce incorrect results.<br />
The character pattern data for upright characters is stored<br />
compressed and then decompressed when imaged. During<br />
imaging, the high order bit of the first decompressed byte/word<br />
controls the dot in the top left corner of the character bounding<br />
box, and subsequent bits in the same decompressed byte/word<br />
control adjacent dots in left to right order.<br />
The compressed character pattern begins at byte position 37 and<br />
is arranged in horizontal raster format compressed using the<br />
compression method specified in byte positions 31 and 32. Each<br />
row of the raster must be padded to the right with binary zeroes<br />
(before compression) to make an integral number of 32-bit<br />
segments. The width of the uncompressed character data (byte<br />
positions 9 and 10) does not have to be a multiple of 32 bits but the<br />
raster row length does.<br />
Characters that cannot be compressed into a single CCD record must be<br />
continued in one or more additional consecutive CCD records. The<br />
compressed data must be divided among the continued records so that<br />
the smallest unit of data is not divided between two CCD records. For<br />
example, a CCD record compressed with RLEV32 must contain an<br />
integral number of 32-bit words in the data pattern and a “run” cannot be<br />
divided between multiple CCDs.<br />
Should the character definition (including any continuation) contain more<br />
or less uncompressed data than what is specified by the Height and<br />
Width fields, the imager will display an error message and the font<br />
download will stop. A character definition must be completed for a given<br />
logical input RIP before any other character definitions are started.
Chapter 4. Record Formats<br />
Super Font Definition (SFD)<br />
Super Font Definition (SFD)<br />
The SFD record is used to provide general information about the<br />
Category I super font and to indicate that the following FDR and CDR<br />
records define subfonts and subfont characters. A super font is a doublebyte<br />
font used with certain languages to provide a large number of<br />
characters that all have the same typeface and size.<br />
Byte Position Bytes Field Name Description<br />
Following an SFD record, all FDR records define subfonts and all CDR<br />
records define characters for the current subfont. As an option, a single<br />
CDR may immediately follow an SFD to define the default character for<br />
any undefined character in the super font. After an SFD, any record other<br />
than CDR, RIP, NOP, MSG, or FDR ends the super font.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 12 specifies a record length of 18 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 2A<br />
identifies the SFD record.<br />
5-6 2 Row Count An unsigned binary number that specifies the number of dot rows<br />
for characters in all subfonts of this superfont. For example, hex 00<br />
16 specifies 22 rows.<br />
7 1 Reserved This field is not used and must contain all binary zeroes.<br />
8 1 Interline Spacing (ILS) A binary number that specifies the number of additional dot rows of<br />
space to be generated following each line printed with this font.<br />
The range is 0 - 255.<br />
The value in this field overrides the ILS of the subfonts. The value<br />
in this field is overridden by the ILS values in the SOD, SDC, SFI,<br />
or SFT records and the Y line spacing value in the SFS record.<br />
9 1 Font Rotation A binary code that identifies the font rotation.<br />
0 (hex 00)=Upright2 (hex 02)=Inverted<br />
1 (hex 01)=Right3 (hex 03)=Left<br />
The font must be patterned in an upright rotation. This field is used<br />
by the printing system to rotate the font to the desired rotation. All<br />
subfonts of this super font must have the same rotation.<br />
The value in this field overrides the rotation value in the subfonts.<br />
If it is to be used in more than one rotation in the same job, a super<br />
font and all corresponding subfonts must be defined once for each<br />
rotation.<br />
10 1 Super Font Number A number, in binary, that identifies the super font. The range is 0 -<br />
254. For example, hex 0A specifies a font number of 10.<br />
11-18 8 Super Font Name The name of the super font in EBCDIC. The field must be left<br />
justified and space filled to the right. For example, hex C8 C5 E6<br />
C9 E3 E3 40 40 specifies a font name of HEWITT.<br />
Reference Guide 4 - 21
Chapter 4. Record Formats<br />
Font Definition Record (FDR)<br />
Font Definition Record (FDR)<br />
The FDR record contains general information about the Category I font.<br />
There is only one FDR for each font. An FDR is followed by CDR records<br />
that define the characters in the font.<br />
4 - 22 IJPDS Formats<br />
The first FDR for each RIP causes the data station to remove all fonts<br />
currently stored in the system for the indicated RIP and start loading the<br />
new fonts. If there are no FDR records in the job file, the system checks<br />
the fonts identified in the FAR record against the fonts currently loaded in<br />
the system. If they do not match, an error is generated and printing is<br />
inhibited.<br />
For a super font, the FDRs are preceded by an SFD record and the FDRs<br />
define subfonts of the super font. After an FDR in the job file, any record<br />
other than a CDR, RIP, NOP, or MSG ends the font.<br />
Note: An example of FDR and CDR 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 field.<br />
For example, hex 00 12 specifies a record length of 18 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 13<br />
identifies the FDR record.<br />
5-6 2 Row Count An unsigned binary number that specifies the number of dot rows in<br />
each character bitmap. For example, hex 00 16 specifies 22 rows.<br />
If this is a subfont, the value in this field must be the same as in<br />
bytes 5-6 of the associated SFD.<br />
7 1 Reserved This field is not used and must contain all binary zeroes.<br />
8 1 Interline Spacing (ILS) A binary number that specifies the number of additional dot rows of<br />
space to be generated following each line printed with this font. The<br />
range is 0 - 255.<br />
The value in this field for ILS is overridden by interline spacing<br />
values in the SOD, SDC, SFI, SFT, or SFD records and the Y line<br />
spacing value in the SFS record. If this is a subfont, the value in this<br />
field must be the same as in byte 8 of the associated SFD.<br />
9 1 Font Rotation A binary code that identifies the font rotation.<br />
0 (hex 00)=Upright2 (hex 02)=Inverted<br />
1 (hex 01)=Right3 (hex 03)=Left<br />
The font must be patterned in an upright rotation. This field is used<br />
by the printing system to rotate the font to the desired rotation.<br />
If a font is to be used in more than one rotation in the same job, it<br />
must be defined once for each rotation.<br />
If this is a subfont, the rotation specified in this field must be the<br />
same as that specified in byte 9 of the associated SFD.<br />
10 1 Font Number A number, in binary, that identifies the font. The range is 0 - 254.<br />
For example, hex 0A specifies a font number of 10.<br />
If this is a subfont, the range is 0 - 255.<br />
11-18 8 Font Name The name of the font in EBCDIC. The field must be left justified and<br />
space filled to the right. For example, hex C8 C5 E6 C9 E3 E3 40<br />
40 specifies a font name of HEWITT. This name must match a font<br />
name in the FAR record.<br />
If this is a subfont, the name in this field is ignored.
Chapter 4. Record Formats<br />
Character Definition Record (CDR)<br />
Character Definition Record (CDR)<br />
CDR records follow the FDR record and define each character in the font.<br />
The CDRs contain the bitmap patterns for the characters. Up to 256<br />
characters can be defined for each FDR. Usually, there is one CDR for<br />
each character. However, in some fonts, a continuation CDR is used to<br />
divide a character bitmap into two or more records if it is necessary to limit<br />
the size of the records (because of block length restrictions or other<br />
reasons). The character bitmap can be broken only at the end of a row.<br />
When continuation CDRs are used, all fields up to the bitmap pattern field<br />
must be the same in each CDR for the character except for the<br />
continuation bit in the last CDR.<br />
Note: As an option, a single CDR may immediately follow an SFD to define the<br />
default character for any undefined character in the super font.<br />
When an FDR is received, the printer defines null and default characters<br />
in the following manner. When an FDR is first processed by the printer, all<br />
256 characters in the font are set as null characters. If the first CDR<br />
received has a hex 00 in the Character Identifier field, then the character<br />
in this record is used as the default character for character identifiers hex<br />
01 through FF (character 00 remains a null character). Subsequent CDRs<br />
then redefine the characters for their respective character identifiers.<br />
Character 00 can be redefined from the null character in this manner. If<br />
the first CDR does not have a hex 00 in the Character Identifier field, then<br />
all characters remain null until redefined by subsequent CDRs.<br />
A null character has zero width, and takes no space when printed.<br />
Note: An example of FDR and CDR 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 14<br />
identifies the CDR record.<br />
5 1 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.<br />
6 1 Equivalent Character<br />
Identifier<br />
A binary code that identifies a character in the font that has a<br />
bitmap pattern identical to this character. If 2 characters are the<br />
same, it is not necessary to repeat the bitmap pattern. The<br />
“Equivalent” bit in byte position 8 must be set for this field to be in<br />
effect.<br />
If the equivalent bit is set, the character defined in this field is part<br />
of the font currently being defined unless another font is identified<br />
in byte 9 or in bytes 9 and 10. If byte 9 identifies a regular font,<br />
then byte 10 (if present) is ignored. If byte 9 identifies a super font,<br />
then byte 10 must be present and identifies the subfont. In any<br />
case, the character must have been previously loaded in the same<br />
RIP.<br />
Reference Guide 4 - 23
Chapter 4. Record Formats<br />
Character Definition Record (CDR)<br />
Byte Position Bytes Field Name Description<br />
7 1 Segment Count A binary number that specifies the number of 16-bit segments<br />
required to define one horizontal row of the character bitmap. The<br />
final segment does not have to be completely used. The “Final<br />
segment width” bits in position 8 define how many bits in the final<br />
segment are used. All binary zeroes (hex 00) in position 7 indicate<br />
a null character with zero width.<br />
8 1 Options The bits in position 8 define options available for this character. Bit<br />
0 is the high order bit (hex 80) and bit 7 is the low order bit (hex<br />
01). Bit assignments are as follows.<br />
Bit 0 (hex 80 bit)=Equivalent bit (no bitmap data).<br />
Bit 1 (hex 40 bit)=Continuation bit.<br />
Bits 2-7 (hex 3F bits)=Final segment width.<br />
If bit 0 is set to 1, the bitmap for this character is equivalent to that<br />
for the character specified in byte position 6 and the bitmap is not<br />
repeated in this CDR. If bit 1 is set to 1, the pattern for this<br />
character is continued in the next CDR.<br />
Bits 2 through 7 contain a binary number in the range of 0 through<br />
63. When the value is 1 through 16, it represents the number of<br />
bits in the final 16-bit segment that are to be used. When the value<br />
is 17 through 63, the entire final segment is used and additional<br />
zero bits are created to fill out the additional bit positions. When<br />
the value is 0, the entire final segment is used and 48 additional<br />
zero bits are created to make a final segment containing 64 bits.<br />
For example, a hex 45 in position 8 indicates that the continuation<br />
bit is set and 5 bits of the final segment are used.<br />
9-n n Bitmap Pattern The bitmap pattern for the character defined by this CDR. The<br />
pattern data consists of m rows, each containing s 16-bit<br />
segments, where m is the font height (row count) defined in bytes<br />
5-6 of the FDR, and s is the segment count defined in byte 7 of the<br />
CDR.<br />
Each row must be padded to the right with binary zeroes.<br />
If the equivalent bit in byte position 8 is set, this field can contain<br />
font or super font identifiers. Refer to the description for the<br />
Equivalent Character Identifier field (byte position 6).<br />
If the character pattern will not fit in a block, a continuation CDR<br />
must be used. An integral number of rows must be used in each<br />
CDR record.<br />
4 - 24 IJPDS Formats
Load Fixed File (LFF)<br />
Byte Position Bytes Field Name Description<br />
Chapter 4. Record Formats<br />
Load Fixed File (LFF)<br />
The LFF record specifies that all records that follow, up to another LFF<br />
record or an EFF record, are to be loaded as part of the fixed file identified<br />
in this record. The records in a fixed file are not executed at the time they<br />
are loaded in the printer, but are stored in the fixed file for later use by the<br />
GFF, RFF, SFF, or UIL records.<br />
The first LFF record in the job file for each RIP causes all previously<br />
loaded fixed files for that RIP to be cleared. Fixed files do not have to be<br />
in numeric order in the job file. The amount of memory reserved in the<br />
printer for fixed records is dependent on the printing system.<br />
For a multiple RIP system, the RIP record is used to direct the fixed files<br />
to the proper RIP. Each RIP must receive its own set of fixed files starting<br />
with the LFF record and ending with the EFF record.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 06 specifies a record length of 6 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 01<br />
identifies the LFF record.<br />
5-6 2 File Number A file number, in binary, that identifies the fixed file. For example, a<br />
value of hex 00 0C identifies fixed file 12. The range is 0 - 255.<br />
Reference Guide 4 - 25
Chapter 4. Record Formats<br />
End of Fixed Files (EFF)<br />
End of Fixed Files (EFF) The End of Fixed Files (EFF) record specifies the end of all fixed files for<br />
4 - 26 IJPDS Formats<br />
the job or for a particular RIP.<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 06 specifies a record length of 6 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 02<br />
identifies the EFF record.<br />
5-6 2 Maximum Line Width This field is used only to maintain compatibility with older job files<br />
for the KODAK VERSAMARK DS2900 printing system. It is not<br />
present for job files for other printing systems. The field contains a<br />
binary number that specifies the maximum line width, in number of<br />
dots, for this job. For example, a value of hex 06 18 specifies 1,560<br />
dots (13 inches at 120 dpi).
Chapter 4. Record Formats<br />
Range Check Record (RCR)<br />
Range Check Record (RCR)<br />
The RCR record sets limits for the four sides (top, bottom, left, and right)<br />
of the page buffer. Any data that is positioned outside of these limits<br />
causes the printer to generate a warning message for the current page.<br />
After a warning message, printing will continue but at a reduced speed.<br />
Byte Position Bytes Field Name Description<br />
Warnings can be effectively disabled for the right side and bottom by<br />
specifying the maximum positive value and for the left side and top by<br />
specifying the maximum negative value. The maximum positive field<br />
value is 2,147,483,647 (hex 7F FF FF FF). The maximum negative field<br />
value is -2,147,483,648 (hex 80 00 00 00).<br />
For compatibility with older jobs, default values for range checking are set<br />
for all sides at the start of a new job to the size of the page buffer (top = 0,<br />
bottom = maximum Y, left = 0, and right = maximum X). An RCR record in<br />
the data stream after the JC2 record and before the first font, fixed file, or<br />
SOD/SDC records will define the default range check values for the<br />
current RIP. The ranges are set to the default values each time a new<br />
document is started. An RCR record occurring after the start of a new<br />
document defines the range values for the current document only.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 14 specifies a record length of 20 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 32<br />
identifies the RCR record.<br />
5-8 4 Top Limit A signed binary number that sets the limit for the top of the page<br />
buffer. If any data is positioned at a Y value less than this field, a<br />
warning is generated.<br />
A value of binary zero in this field sets the limit to the top of the<br />
page (Y = 0).<br />
9-12 4 Bottom Limit A signed binary number that sets the limit for the bottom of the<br />
page buffer. If any data is positioned at a Y value greater than this<br />
field, a warning is generated.<br />
A value of binary zero in this field sets the limit to the bottom of the<br />
page buffer (Y = maximum Y).<br />
13-16 4 Left Limit A signed binary number that sets the limit for the left side of the<br />
page buffer. If any data is positioned at an X value less than this<br />
field, a warning is generated.<br />
A value of binary zero in this field sets the limit to the left side of the<br />
page buffer (X = 0).<br />
17-20 4 Right Limit A signed binary number that sets the limit for the right side of the<br />
page buffer. If any data is positioned at an X value greater than this<br />
field, a warning is generated.<br />
A value of binary zero in this field sets the limit to the right side of<br />
the page buffer (X = maximum X).<br />
Reference Guide 4 - 27
Chapter 4. Record Formats<br />
Start of Document and Cue (SDC)<br />
4 - 28 IJPDS Formats<br />
This record does not cause the printing system to generate a warning<br />
message for positioning outside of the specified limits. Positioning is<br />
caused by records such as SPO, SRP, and SPC, or by character and font<br />
escapements. Warnings are generated only when data such as BOX or<br />
IBM images or character bounding boxes are placed outside of the limits.<br />
This record does not control whether or not the data is printed; it controls<br />
only whether or not a warning message is issued. Data which falls entirely<br />
in the buffer will always be printed. Data which falls entirely outside the<br />
buffer will never be printed. What happens to data that is partly in the<br />
buffer is printer and release dependent.<br />
Start of Document and Cue (SDC)<br />
The SDC record specifies the start of a document at the next cue and<br />
contains general information about the document. The records that follow,<br />
up to another SDC record or an SOD record, contain the image<br />
information for this document.<br />
Byte Position Bytes Field Name Description<br />
This record causes the start of a new page. Refer to Chapter 1 for a<br />
description of documents and pages.<br />
For a multi-RIP system, there must be an SDC or SOD record for each<br />
document on each RIP.<br />
The font and ILS specified in this record become the current font and ILS<br />
and remain in effect until these values are specified by another record.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 18 specifies a record length of 24 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 05<br />
identifies the SDC record without security. A value of hex 11<br />
identifies the security version of the SDC record.<br />
5-6 2 Vertical Space This field is used only for the KODAK VERSAMARK DS2900 printing<br />
system and should be binary 0 for all other systems.<br />
An unsigned binary number that specifies the number of dot rows<br />
of vertical space to generate.<br />
7-10 4 Document Counter A document count, in binary, that identifies this document. The<br />
count starts at 1 (hex 00 00 00 01) for the first document and is<br />
incremented by 1 for each following document. This count is used<br />
to verify document sequence.<br />
11-12 2 User Output Signals This field is used to activate user output signals at the printing<br />
system. The signals available are printing system dependent.<br />
Each bit represents one output signal. The associated output<br />
signal is activated when the bit is set to 1 and deactivated when<br />
the bit is set to 0.<br />
13 1 Starting Font Number A binary number that identifies the starting font in this document.<br />
The range is 0-254. For example, hex 02 specifies a font number<br />
of 2.
Byte Position Bytes Field Name Description<br />
Chapter 4. Record Formats<br />
Start of Document and Cue (SDC)<br />
14 1 Starting ILS A binary number that identifies the number of dot rows of space to<br />
be generated following each line printed with this font. For<br />
example, hex 02 specifies 2 dot rows.<br />
The value in this field overrides the ILS value in the SFD or FDR<br />
records. The value in this field is overridden by the ILS value in the<br />
SFI or SFT records.<br />
If the font is a category II font, this field should contain binary<br />
zeroes. If a value is specified, it is added to the Y line escapement<br />
value specified in the font definition record (SFM or FDM).<br />
15 1 Starting Fixed File<br />
Number<br />
A binary number that identifies the starting fixed file.<br />
16 1 Reserved This field is not used and must contain all binary zeroes.<br />
17-24 8 Job Identifier This field is used only if security is enabled. It is an eight-byte Job<br />
Identifier and must be the same as the Job Identifier field in the<br />
JC2 record.<br />
The Starting Font Number, Starting ILS, And Starting Fixed File Number<br />
fields are optional. These 3 fields are either all present or all not present.<br />
If the 3 fields are not used for a non-security SDC record (control code<br />
05), the record ends at byte position 12.<br />
For a security SDC (control code 11), the 3 fields must be present<br />
because the Job Identifier field is required.<br />
If the Starting Font Number and Starting ILS fields are present, the<br />
starting font is set and the Y line spacing is set to the value in the ILS field.<br />
The other three spacing values are set to 0.<br />
If the Starting Font Number and Starting ILS fields are not present, the<br />
starting font is set to that specified as the default font in the FAR or JCR<br />
record. If there is no FAR or JCR, the font for the current RIP with the<br />
lowest font ID is used. If the starting font was defined by SFD or FDR, the<br />
ILS value in that record is used for the Y line spacing value and the other<br />
three spacing values are set to 0. If the font was defined by SFM or FDM,<br />
the ILS is set to 0, along with the other three spacing values.<br />
If the Starting Fixed File Number field is not present, this parameter is set<br />
to fixed file 0.<br />
All fixed file pointers are reset to the beginning of their respective fixed<br />
files at the start of a document.<br />
The logical function is set to 01 (“or”) at the start of each document.<br />
Reference Guide 4 - 29
Chapter 4. Record Formats<br />
Start of Document (SOD)<br />
Start of Document (SOD) The SOD record specifies the start of a document and contains general<br />
information about the document. The document is started immediately,<br />
not waiting for a cue. The records that follow, up to another SOD record or<br />
an SDC record, contain the image information for this document.<br />
4 - 30 IJPDS Formats<br />
This record causes the start of a new page. Refer to Chapter 1 for a<br />
description of documents and pages.<br />
For a multi-RIP system, there must be an SOD or SDC record for each<br />
document on each RIP.<br />
The font and ILS specified in this record become the current font and ILS<br />
and remain in effect until these values are specified by another record.<br />
Note: The SOD record cannot be used with the CS200 and CS220 system<br />
controllers.<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 18 specifies a record length of 24 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 04<br />
identifies the SOD record without security. A value of hex 10<br />
identifies the security version of the SOD record.<br />
5-6 2 Vertical Space This field is used only for the KODAK VERSAMARK DS2900 printing<br />
system and should be binary 0 for all other systems.<br />
An unsigned binary number that specifies the number of dot rows<br />
of vertical space to generate.<br />
7-10 4 Document Counter A document count, in binary, that identifies this document. The<br />
count starts at 1 (hex 00 00 00 01) for the first document and is<br />
incremented by 1 for each following document. This count is used<br />
to verify document sequence.<br />
11-12 2 User Output Signals This field is used to activate user output signals at the printing<br />
system. The signals available are printing system dependent.<br />
Each bit represents one output signal. The associated output<br />
signal is activated when the bit is set to 1 and deactivated when<br />
the bit is set to 0.<br />
13 1 Starting Font Number A binary number that identifies the starting font in this document.<br />
The range is 0-254. For example, hex 02 specifies a font number<br />
of 2.<br />
14 1 Starting ILS A binary number that identifies the number of dot rows of space to<br />
be generated following each line printed with this font. For<br />
example, hex 02 specifies 2 dot rows.<br />
The value in this field overrides the ILS value in the SFD or FDR<br />
records. The value in this field is overridden by the ILS value in the<br />
SFI or SFT records.<br />
If the font is a category II font, this field should contain binary<br />
zeroes. If a value is specified, it is added to the Y line escapement<br />
value specified in the font definition record (SFM or FDM).<br />
15 1 Starting Fixed File<br />
Number<br />
A binary number that identifies the starting fixed file.<br />
16 1 Reserved This field is not used and must contain all binary zeroes.
Byte Position Bytes Field Name Description<br />
Chapter 4. Record Formats<br />
Start of Document (SOD)<br />
17-24 8 Job Identifier This field is used only if security is enabled. It is an 8-byte Job<br />
Identifier and must be the same as the Job Identifier field in the<br />
JC2 record.<br />
The Starting Font Number, Starting ILS, And Starting Fixed File Number<br />
fields are optional. These 3 fields are either all present or all not present.<br />
If the 3 fields are not used for a non-security SOD record (control code<br />
04), the record ends at byte position 12.<br />
For a security SDC (control code 11), the 3 fields must be present<br />
because the Job Identifier field is required.<br />
If the Starting Font Number and Starting ILS fields are present, the<br />
starting font is set and the Y line spacing is set to the value in the ILS field.<br />
The other three spacing values are set to 0.<br />
If the Starting Font Number and Starting ILS fields are not present, the<br />
starting font is set to that specified as the default font in the FAR or JCR<br />
record. If there is no FAR or JCR, the font for the current RIP with the<br />
lowest font ID is used. If the starting font was defined by SFD or FDR, the<br />
ILS value in that record is used for the Y line spacing value and the other<br />
three spacing values are set to 0. If the font was defined by SFM or FDM,<br />
the ILS is set to 0, along with the other three spacing values.<br />
If the Starting Fixed File Number field is not present, this parameter is set<br />
to fixed file 0.<br />
All fixed file pointers are reset to the beginning of their respective fixed<br />
files at the start of a document.<br />
The logical function is set to 01 (“or”) at the start of each document.<br />
Reference Guide 4 - 31
Chapter 4. Record Formats<br />
Set Position (SPO)<br />
Set Position (SPO)<br />
Byte Position Bytes Field Name Description<br />
4 - 32 IJPDS Formats<br />
The SPO record sets the starting position at a specific point on the page.<br />
The next printed line or space will start at this position. The X and Y<br />
coordinates in this record identify a starting position relative to the current<br />
origin. The origin is set to 0,0 by SDC, SOD, SOP, WFC, and CSR and to<br />
the current cursor position by SOR.<br />
When the starting position is set, the top left corner of the first character in<br />
the next printed line will be at that position. Printed lines and spaces<br />
subsequent to this record continue in the direction of the current font.<br />
Refer to Chapter 1 for a discussion of font direction.<br />
The effect of the SPO record will continue until another SPO, SPX, SRP,<br />
or CSR record, a start of page record (SOP or WFC), or a start of<br />
document record (SOD or SDC) is received. The top of page X,Y position<br />
of 0,0 is set by each SOP, WFC, SOD, CSR, and SDC record.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 08 specifies a record length of 8 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 21<br />
identifies the SPO record.<br />
5-6 2 X Position A signed binary number representing the X coordinate value in<br />
dots relative to the current origin. Negative values are represented<br />
using the two's complement form. For example, hex 06 A1<br />
specifies an X value of 1697 dots and F9 5F specifies an X value<br />
of -1697 dots. The useful range is printer dependent and also<br />
dependent upon the current cursor origin. Refer to Chapter 1 for a<br />
description of X position.<br />
7-8 2 Y Position A signed binary number representing the Y coordinate value in<br />
dots relative to the current origin. Negative values are represented<br />
using the two's complement form. For example, hex 03 12<br />
specifies a Y value of 786 dots and FC EE specifies a Y value of -<br />
786 dots. The useful range is printer dependent and also<br />
dependent upon the current cursor origin. Refer to Chapter 1 for a<br />
description of Y position.<br />
The following illustration shows how the starting position set by an SPO<br />
record is used by the different font orientations.
Set Position (SPX)<br />
Byte Position Bytes Field Name Description<br />
Chapter 4. Record Formats<br />
Set Position (SPX)<br />
The SPX record sets the starting position at a specific point on the page.<br />
The next printed line or space will start at this position. The X and Y<br />
coordinates in this record identify a starting position relative to the current<br />
origin. The origin is set to 0,0 by SDC, SOD, SOP, WFC, and CSR and to<br />
the current cursor position by SOR.<br />
When the starting position is set, the top left corner of the first character in<br />
the next printed line will be at that position. Printed lines and spaces<br />
subsequent to this record continue in the direction of the current font.<br />
Refer to Chapter 1 for a discussion of font direction.<br />
The effect of the SPX record will continue until another SPX, SPO, SRP,<br />
or CSR record, a start of page record (SOP or WFC), or a start of<br />
document record (SOD or SDC) is received. The top of page X,Y position<br />
of 0,0 is set by each SOP, WFC, SOD, CSR, and SDC record.<br />
This record performs in the same manner as the SPO record. The only<br />
difference is that the SPX record has 32-bit X and Y fields so that larger<br />
numbers can be specified.<br />
1-2 2 Record Length The length of this record, in binary, including the record length field.<br />
For example, hex 00 0C specifies a record length of 12 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 3C<br />
identifies the SPX record.<br />
5-8 4 X Position A signed binary number representing the X coordinate value in dots<br />
relative to the current origin. Negative values are represented using<br />
the two's complement form. For example, hex 00 00 19 00<br />
specifies an X value of 6400 dots and FF FF E7 00 specifies an X<br />
value of -6400 dots. The useful range is printer dependent and also<br />
dependent upon the current cursor origin. Refer to Chapter 1 for a<br />
description of X position.<br />
9-12 4 Y Position A signed binary number representing the Y coordinate value in dots<br />
relative to the current origin. Negative values are represented using<br />
the two's complement form. For example, hex 00 00 8C A0<br />
specifies a Y value of 36000 dots and FF FF 73 60 specifies a Y<br />
value of -36000 dots. The useful range is printer dependent and<br />
also dependent upon the current cursor origin. Refer to Chapter 1<br />
for a description of Y position.<br />
The following illustration shows how the starting position set by an SPX<br />
record is used by the different font orientations.<br />
Reference Guide 4 - 33
Chapter 4. Record Formats<br />
Set Origin (SOR)<br />
Set Origin (SOR)<br />
Byte Position Bytes Field Name Description<br />
4 - 34 IJPDS Formats<br />
The SOR record sets the origin for subsequent SPO and SPX records to<br />
the current cursor position. The origin is set to 0,0 at the start of each new<br />
page buffer by the SOD, SDC, SOP, and WFC records.<br />
An SPO or SPX record sets the current cursor relative to the origin.<br />
Following an SOR record, the SPO or SPX record sets the current cursor<br />
relative to the new origin.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 04 specifies a record length of 4 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 34<br />
identifies the SOR record.<br />
Refer to the Glossary at the back of this manual for definitions of origin,<br />
starting position, cursor position, and other related terms.
Chapter 4. Record Formats<br />
Set Relative Position (SRP)<br />
Set Relative Position (SRP)<br />
The SRP record contains X and Y values that set a new cursor position<br />
relative to the current cursor position.<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 0C specifies a record length of 12 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 38<br />
identifies the SRP record.<br />
5-8 4 X Value A signed binary number that is added to the current X position of<br />
the cursor to determine the new X position of the cursor.<br />
Negative values are represented using the two's complement form.<br />
For example, hex 00 00 00 08 specifies +8 dots and hex FF FF FF<br />
F8 specifies -8 dots.<br />
9-12 4 Y Value A signed binary number that is added to the current Y position of<br />
the cursor to determine the new Y position of the cursor.<br />
Negative values are represented using the two's complement form.<br />
For example, hex 00 00 00 1B specifies +27 dots and hex FF FF<br />
FF E5 specifies -27 dots.<br />
Reference Guide 4 - 35
Chapter 4. Record Formats<br />
Cursor Save (CSS)<br />
Cursor Save (CSS)<br />
Byte Position Bytes Field Name Description<br />
4 - 36 IJPDS Formats<br />
The CSS record saves the current absolute cursor position for later<br />
retrieval by the Cursor Restore (CSR) record. Up to 15 different absolute<br />
cursor positions can be saved. Each saved position is assigned an<br />
identifying number by this record.<br />
Each saved cursor position is set to 0,0 at the start of each document.<br />
The saved cursor positions are maintained for successive pages of multipage<br />
documents.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 05 specifies a record length of 5 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 36<br />
identifies the CSS record.<br />
5 1 Save Number A binary number that identifies the saved cursor position. The<br />
range is 1-15, allowing 15 cursor positions to be saved. Save<br />
number 0 is reserved and is always set to position 0,0.
Cursor Restore (CSR)<br />
Byte Position Bytes Field Name Description<br />
Chapter 4. Record Formats<br />
Cursor Restore (CSR)<br />
The CSR record restores the cursor position to the last position stored by<br />
a CSS record for the specified number. The restore number in this record<br />
references the save number in the CSS record.<br />
If a cursor position was not stored for the number specified in the CSR<br />
record, the cursor is set to the default position (0,0).<br />
The CSR record does not reset the saved cursor position it restores.<br />
Successive CSR records for the same position number, without an<br />
intermediate CSS record, set the cursor to the same saved position.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 05 specifies a record length of 5 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 37<br />
identifies the CSR record.<br />
5 1 Restore Number A binary number that identifies the saved cursor position. The<br />
range is 0-15, allowing 15 cursor positions to be restored. Restore<br />
number 0 always sets the cursor position to 0,0.<br />
Reference Guide 4 - 37
Chapter 4. Record Formats<br />
Set Font and Spacing (SFS)<br />
Set Font and Spacing (SFS)<br />
The SFS record specifies a font and spacing values.<br />
4 - 38 IJPDS Formats<br />
The font identified in this record can be a regular or super font. It becomes<br />
the current font and remains in effect until another SFS record or an SOD,<br />
SDC, SFI, or SFT record is received.<br />
The SFS record sets all line and character spacing values to those<br />
contained in the spacing fields in this record. These become the current<br />
spacing values and remain in effect until another SFS record or an SOD,<br />
SDC, SFI, or SFT record is received.<br />
Byte Position Bytes Field Name Description<br />
1-2 2 Record Length The length of this record, in binary, including the record length field.<br />
For example, hex 00 16 specifies a record length of 22 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 31<br />
identifies the SFS record.<br />
5 1 Font Number A binary number that identifies the font or super font to be selected.<br />
The range is 0 - 254. For example, hex 0A specifies a font number<br />
of 10.<br />
6 1 Reserved This field is not used and must contain all binary zeroes.<br />
7-10 4 X Line Spacing A signed binary number that is added to the X Escapement<br />
specified in the font record to determine the starting X position of<br />
the next line relative to the starting X position of the current line.<br />
The X line spacing moves relative to the direction of the font.<br />
Negative values are represented using the two's complement form.<br />
For example, hex 00 00 00 08 specifies +8 dots hex FF FF FF F8<br />
specifies -8 dots.<br />
11-14 4 Y Line Spacing A signed binary number that is added to the Y Escapement<br />
specified in the font record to determine the starting Y position of<br />
the next line relative to the starting Y position of the current line.<br />
The Y line spacing moves relative to the direction of the font.<br />
Negative values are represented using the two's complement form.<br />
For example, hex 00 00 00 1B specifies +27 dots and hex FF FF FF<br />
E5 specifies -27 dots.<br />
15-18 4 X Character Spacing A signed binary number that is added to the X Escapement<br />
specified in each character record to determine the starting X<br />
position of the next character cursor relative to the starting X<br />
position of the current character cursor. The X character spacing<br />
moves relative to the direction of the font.<br />
Negative values are represented using the two's complement form.<br />
For example, hex 00 00 00 16 specifies +22 dots and hex FF FF FF<br />
EA specifies -22 dots.<br />
19-22 4 Y Character Spacing A signed binary number that is added to the Y Escapement<br />
specified in each character record to determine the starting Y<br />
position of the next character cursor relative to the starting Y<br />
position of the current character cursor. The Y character spacing<br />
moves relative to the direction of the font.<br />
Negative values are represented using the two's complement form.<br />
For example, hex 00 00 00 1B specifies +27 dots and hex FF FF FF<br />
E5 specifies -27 dots.
Set Font (SFT)<br />
Byte Position Bytes Field Name Description<br />
Chapter 4. Record Formats<br />
Set Font (SFT)<br />
The SFT record contains the number and the interline spacing (ILS) of a<br />
font or super font.<br />
The SFT record sets all line and character spacing values. The Y line<br />
spacing is set to the ILS value in this record, and the other three spacing<br />
values are set to 0. The font and ILS specified in this record become the<br />
current font and ILS and remain in effect until these values are specified<br />
by another record.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 06 specifies a record length of 6 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 2C<br />
identifies the SFT record.<br />
5 1 Font Number The font assignment number, in binary, for the font to be selected.<br />
The range is 0-254. For example, hex 16 specifies a font number<br />
of 22.<br />
6 1 Interline Spacing (ILS) A binary number that specifies the number of additional dot rows of<br />
space to be generated following each line printed with this font.<br />
The range is 0 - 255. This ILS becomes the current ILS and is used<br />
until another ILS is specified in a subsequent record.<br />
The value in this field overrides the ILS values in all previous<br />
records.<br />
Reference Guide 4 - 39
Chapter 4. Record Formats<br />
Set Font and Image (SFI)<br />
Set Font and Image (SFI) The SFI record specifies the font and interline spacing to be used when<br />
printing the line of text characters in the record. The font can be a regular<br />
(single-byte) font or a super (double-byte) font.<br />
Byte Position Bytes Field Name Description<br />
4 - 40 IJPDS Formats<br />
The SFI record sets all line and character spacing values. The Y line<br />
spacing is set to the ILS value in this record, and the other three spacing<br />
values are set to 0. The font and ILS specified in this record become the<br />
current font and ILS and remain in effect until these values are specified<br />
by another record.<br />
If there are no text characters in the SFI record, a blank line will be<br />
printed.<br />
If the multi-part line mode is enabled by an MPL record, the cursor is left<br />
at the end of the text printed by this record and is not positioned for the<br />
next line.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 2F specifies a record length of 47 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 0B<br />
identifies the SFI record.<br />
5 1 Font Number A binary number that identifies the font to be used for this line of<br />
text. This font becomes the current font and is used until another<br />
font is specified in a subsequent record. For example, hex 0E<br />
specifies font number 14.<br />
6 1 Interline Spacing A binary number that identifies the number of dot rows of space to<br />
be generated following each line printed with the font identified in<br />
the previous field. The range is 0 - 255. For example, hex 02<br />
specifies 2 dot rows. This ILS becomes the current ILS and is used<br />
until another ILS is specified in a subsequent record.<br />
The value in this field overrides the ILS values in all previous<br />
records.<br />
7-n n Print Line A character string representing a line of text. The character coding<br />
must agree with the coding of characters in the font. There is no<br />
end-of-line character.<br />
If the font is a super font, there must be an even number of bytes in<br />
this field.
Image a Line (IML)<br />
Byte Position Bytes Field Name Description<br />
Chapter 4. Record Formats<br />
Image a Line (IML)<br />
The IML record contains the characters for a line of print. It is the same as<br />
the SFI record except that a font and ILS are not specified. The current<br />
font and ILS are used. The current font can be a regular (single-byte) font<br />
or a super (double-byte) font. If there are no text characters in the record,<br />
a blank line is printed.<br />
If the multi-part line mode is enabled by an MPL record, the cursor is left<br />
at the end of the text printed by this record and is not positioned for the<br />
next line.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 2F specifies a record length of 47 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 0C<br />
identifies the IML record.<br />
5-n n Print Line A character string representing a line of text. The character coding<br />
must agree with the coding of characters in the font. There is no<br />
end-of-line character.<br />
If the font is a super font, there must be an even number of bytes in<br />
this field.<br />
Reference Guide 4 - 41
Chapter 4. Record Formats<br />
Two-Byte Image Line (SIL)<br />
Two-Byte Image Line (SIL)<br />
The SIL record contains the characters for a line of print. It is the same as<br />
the IML record except that two bytes are used to identify each character.<br />
For a category I super font, the first byte is for the subfont number and the<br />
second byte is for the character within that subfont. A category II font is<br />
not divided into subfonts so the two bytes simply identify the desired<br />
character. The current font must be a super (double-byte) font when this<br />
record occurs or an error occurs and printing stops.<br />
Byte Position Bytes Field Name Description<br />
4 - 42 IJPDS Formats<br />
If there is no text included, a blank line will be printed.<br />
If the multi-part line mode is enabled by an MPL record, the cursor is left<br />
at the end of the text printed by this record and is not positioned for the<br />
next line.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 30 specifies a record length of 48 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 2B<br />
identifies the SIL record.<br />
5-n n Print Line A character string representing a line of text. The character coding<br />
must agree with the coding of characters in the font. There is no<br />
end-of-line character.<br />
Each character is identified using two bytes.
Chapter 4. Record Formats<br />
Multi-Part Line Mode (MPL)<br />
Multi-Part Line Mode (MPL)<br />
The MPL record enables or disables the multi-part line mode.<br />
Byte Position Bytes Field Name Description<br />
When the multi-part line mode is disabled and a line is printed with an<br />
SFI, IML, SIL, or UIL record, the cursor is positioned to the start of the<br />
next line according to the current font metrics and spacing.<br />
When the multi-part line mode is enabled and a line is printed with an SFI,<br />
IML, SIL, or UIL record, the cursor is left at the end of the current line.<br />
The MPL record is useful when you want to change fonts within a line.<br />
The multi-part line mode is disabled at the start of each document. Once<br />
enabled by an MPL record, the mode remains enabled until disabled by<br />
another MPL record or the start of a new document.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 05 specifies a record length of 5 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 35<br />
identifies the MPL record.<br />
5 1 Mode A binary number that sets the multi-part line mode as follows:<br />
Hex 00 = Disable<br />
Hex 01 = Enable<br />
Reference Guide 4 - 43
Chapter 4. Record Formats<br />
Set Fixed File (SFF)<br />
Set Fixed File (SFF)<br />
Byte Position Bytes Field Name Description<br />
4 - 44 IJPDS Formats<br />
The SFF record executes selected records in the fixed file identified in the<br />
record. The SFF record leaves the fixed-file pointer at the next record<br />
after the last record skipped or executed, or at the end of the file.<br />
The fixed file pointer indicates the current position in the file. The pointer<br />
is moved forward by the SFF and GFF records. It can be reset by the RFF<br />
record for a single file. The SOD and SDC records reset the pointers for<br />
all fixed files simultaneously.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 08 specifies a record length of 8 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 0D<br />
identifies the SFF record.<br />
5 1 Record Displacement The number, in binary, of records in the fixed file to be skipped. For<br />
example, hex 06 specifies that 6 records are to be skipped. The<br />
number can be zero (hex 00). The records specified in this field are<br />
skipped before the records specified in the next field are executed.<br />
6 1 Records Executed The number, in binary, of records to be executed. For example,<br />
hex 0A specifies that 10 records are to be executed. The number<br />
can be zero (hex 00). The records specified in this field are<br />
executed after the records specified in the previous field are<br />
skipped.<br />
7 1 Reserved This field is not used and must contain all binary zeroes.<br />
8 1 Fixed File Number The number, in binary, of the fixed file to be used. For example,<br />
hex 1D specifies a file number of 29. This becomes the current<br />
fixed file and is used in subsequent fixed file operations that do not<br />
specify a file number.
Go to Fixed File (GFF)<br />
Byte Position Bytes Field Name Description<br />
Chapter 4. Record Formats<br />
Go to Fixed File (GFF)<br />
The GFF record performs the same function as the SFF record except<br />
that the fixed file is not identified. The current fixed file, the last one to be<br />
identified in an SFF, RFF, SOD, or SDC record, is used.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 06 specifies a record length of 6 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 0F<br />
identifies the GFF record.<br />
5 1 Record Displacement The number, in binary, of records in the fixed file to be skipped. For<br />
example, hex 06 specifies that 6 records are to be skipped. The<br />
number can be zero (hex 00). The records specified in this field are<br />
skipped before the records specified in the next field are executed.<br />
6 1 Records Executed The number, in binary, of records to be executed. For example,<br />
hex 0A specifies that 10 records are to be executed. The number<br />
can be zero (hex 00). The records specified in this field are<br />
executed after the records specified in the previous field are<br />
skipped.<br />
Reference Guide 4 - 45
Chapter 4. Record Formats<br />
Reset Fixed File (RFF)<br />
Reset Fixed File (RFF)<br />
Byte Position Bytes Field Name Description<br />
4 - 46 IJPDS Formats<br />
The RFF record performs the same function as the SFF record except<br />
that the fixed-file pointer is first reset to the start of the file. Resetting the<br />
pointer to the start of the file allows the file to be used in random order.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 08 specifies a record length of 8 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 0E<br />
identifies the RFF record.<br />
5 1 Record Displacement The number, in binary, of records in the fixed file to be skipped. For<br />
example, hex 06 specifies that 6 records are to be skipped. The<br />
number can be zero (hex 00). The records specified in this field are<br />
skipped before the records specified in the next field are executed.<br />
6 1 Records Executed The number, in binary, of records to be executed. For example,<br />
hex 0A specifies that 10 records are to be executed. The number<br />
can be zero (hex 00). The records specified in this field are<br />
executed after the records specified in the previous field are<br />
skipped.<br />
7 1 Reserved This field is not used and must contain all binary zeroes.<br />
8 1 Fixed File Number The number, in binary, of the fixed file to be used. For example,<br />
hex 1D specifies a file number of 29. This becomes the current<br />
fixed file and is used in subsequent fixed file operations that do not<br />
specify a file number.
Chapter 4. Record Formats<br />
Unformatted Image Line (UIL)<br />
Unformatted Image Line (UIL)<br />
The UIL record specifies the portion of an unformatted image string that is<br />
to be printed. Unformatted image strings are stored in IML records in fixed<br />
files. GFF, RFF, and SFF records are used to position the fixed file pointer<br />
at the IML record and then the UIL record specifies the portion to print. If<br />
the record pointed to by the fixed file pointer is not an IML record, printing<br />
stops and an error is generated when the UIL record is executed.<br />
Byte Position Bytes Field Name Description<br />
The UIL record does not affect the current fixed file and current record<br />
numbers set by the GFF, RFF, and SFF records.<br />
If the multi-part line mode is enabled by an MPL record, the cursor is left<br />
at the end of the text printed by this record and is not positioned for the<br />
next line.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 08 specifies a record length of 8 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 33<br />
identifies the UIL record.<br />
5-6 2 Start of String An unsigned binary number that specifies the number of the byte<br />
within the unformatted image string at which printing is to start.<br />
A binary zero starts printing at the first byte of the string. The range<br />
is 0-65535.<br />
If the current font is a super font, the start value must be an even<br />
number.<br />
A start value that is equal to or greater than the length of the string<br />
causes printing to stop and an error message to be generated.<br />
7-8 2 String Length An unsigned binary number that specifies the number of bytes to<br />
be printed from the unformatted image string. The range is<br />
0-65535.<br />
A length value of binary zero causes the printing of a blank line if<br />
the Multi-Part line mode is disabled. Refer to the description for the<br />
MPL record. If the Multi-Part line mode is enabled, a length value<br />
of binary zero does not affect the current cursor position.<br />
If the length value added to the start value exceeds the length of<br />
the unformatted string, printing stops and an error message is<br />
generated.<br />
If the current font is a super font, the length must be an even<br />
number.<br />
Reference Guide 4 - 47
Chapter 4. Record Formats<br />
Space (SPC)<br />
Space (SPC)<br />
Byte Position Bytes Field Name Description<br />
4 - 48 IJPDS Formats<br />
The SPC record generates vertical space in the direction of the current<br />
font. Refer to Chapter 1 for a description of font direction. The space is<br />
generated just by moving the cursor; the logical function (see SLF) has no<br />
effect.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 06 specifies a record length of 6 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 07<br />
identifies the SPC record.<br />
5-6 2 Vertical Space An unsigned binary number that specifies the number of dot rows<br />
of vertical space to be generated. The range is 1 - 65535. The<br />
vertical space is generated in the direction of the current font. The<br />
current font is the last font specified in a previous record.
Chapter 4. Record Formats<br />
Set Logical Function (SLF)<br />
Set Logical Function (SLF)<br />
The SLF record sets the logical function to be used when an image is<br />
written to the page buffer in an area where another image already exists.<br />
The logical function determines how new dots are combined with existing<br />
dots.<br />
Byte Position Bytes Field Name Description<br />
The effects of the logical function apply only to character dots, not to any<br />
spacing defined for the font. Data that is written into a previously unused<br />
area of the page buffer will be combined with the existing 0 bits according<br />
to the current logical function. Data generated by BOX and IBM records is<br />
also affected by the logical function.<br />
Space characters are processed according to the current logical function<br />
just like any other character. Only spaces actually present in the SFI, IML,<br />
or SIL records are processed. Spaces are not generated at the end of a<br />
line to extend to the page limit. Trailing spaces present in SFI, IML, or SIL<br />
records could overlay existing data.<br />
The SPC record moves the cursor to the desired vertical position. The<br />
buffer area skipped over is not changed, and therefore the logical function<br />
does not affect the result of an SPC record.<br />
Characters are rectangular images. The logical functions apply to the<br />
entire area of the rectangle, not just to the black dots of the character.<br />
Before the first SLF record in each document occurs, the default logical<br />
function is OR.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 05 specifies a record length of 5 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 28<br />
identifies the SLF record.<br />
5 1 Function A binary value that specifies the logical function to be used. The<br />
range is 0-7 with each value having the following meaning, where<br />
X is the existing value of the dot and Y is the new value.<br />
00-REPLACE (Y)<br />
01-OR (X ∨ Y)<br />
02-AND (X ∧ Y)<br />
03-EXCLUSIVE OR (X _ Y)<br />
04-REPLACE NOT (Replace by “Ones complement”) (-Y)<br />
05-OR NOT [X ∨ (-Y)]<br />
06-AND NOT [X ∧ (-Y)]<br />
07-EXCLUSIVE OR NOT [X _ (-Y)]<br />
With category II fonts, character bounding boxes may overlap other<br />
characters in the same line. When using such fonts, you should be<br />
especially careful not to use a logical function that would cause some<br />
characters to destroy parts of other characters. In general, the logical<br />
functions that are “safe” are 01, 03, and possibly 06.<br />
Reference Guide 4 - 49
Chapter 4. Record Formats<br />
Set Logical Function (SLF)<br />
4 - 50 IJPDS Formats<br />
Refer to the following table for a definition of each logical function. For<br />
each dot, if X is the existing value (0 or 1) and Y is the new value (0 or 1),<br />
the table shows the resulting value.<br />
00 01 02 03 04 05 06 07<br />
X Y Y (X ∨ Y) (X ∧ Y) (X | Y) (-Y) [X ∨ (-Y)] [X ∧ (-Y)] [X | (-Y)]<br />
0 0 0 0 0 0 1 1 0 1<br />
0 1 1 1 0 1 0 0 0 0<br />
1 0 0 1 0 1 1 1 1 0<br />
1 1 1 1 1 0 0 1 0 1
Chapter 4. Record Formats<br />
Fill a Rectangular Area (BOX)<br />
Fill a Rectangular Area (BOX)<br />
The BOX record defines the size of an area that is to be filled with a black<br />
or white fill pattern. The fill pattern is placed in the page bitmap using the<br />
current logical function as defined by a previous SLF record or by the<br />
default function (OR).<br />
Byte Position Bytes Field Name Description<br />
After this record, the cursor position is at the current X position and the<br />
current Y position plus the height of the box. The height and width of the<br />
box are in the upright orientation.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 09 specifies a record length of 9 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 27<br />
identifies the BOX record.<br />
5-6 2 Height An unsigned binary value representing the height of the box in<br />
dots. The range depends on the printer and the PLR record. The<br />
height is measured down the length of the page in the Y direction<br />
when looking at the substrate in the direction it is moving. For<br />
example, hex 00 37 specifies a box height of 55 dots.<br />
7-8 2 Width An unsigned binary value representing the width of the box in dots.<br />
The range is printer and printhead dependent. For example, the<br />
range is 1-4096 for systems using four stitched 4-inch printheads<br />
and 1-1024 for systems with one 4-inch printhead. The width is<br />
measured across the width of the page in the X direction when<br />
looking at the substrate in the direction it is moving. For example,<br />
hex 06 A1 specifies a width of 1697 dots.<br />
9 1 Fill Pattern A binary value that specifies the fill pattern. Hex 00 = white and<br />
hex 01 = black.<br />
Some KODAK VERSAMARK printers support clipping of the image created<br />
by a BOX record. Clipping means that if part of the box falls outside the<br />
buffer, the part that is in the buffer is printed and the cursor is moved. The<br />
cursor is moved as if the entire image was printed, even though it may fall<br />
outside the buffer. See Appendix C to determine if your printer supports<br />
clipping for the BOX record.<br />
If clipping is not supported and part of the box falls outside the buffer,<br />
none of the box is printed and the cursor is not moved.<br />
In both cases (clipping supported and clipping not supported), a message<br />
is generated only if the image falls outside the limits set by the RCR<br />
record (or the default range if no RCR). Refer to the RCR record<br />
description.<br />
Reference Guide 4 - 51
Chapter 4. Record Formats<br />
Image Bitmap (IBM)<br />
Image Bitmap (IBM)<br />
Byte Position Bytes Field Name Description<br />
4 - 52 IJPDS Formats<br />
The IBM record, which is interchangeable with the Compressed Bitmap<br />
(CBM) record, contains a bitmap that is to be printed at the current cursor<br />
position according to the current logical function set by the last SLF<br />
record. The bitmap is placed on the page in the upright orientation.<br />
After this record, the cursor position is at the current X position and the<br />
current Y position plus the height of the bitmap.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 22 specifies a record length of 34 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 29<br />
identifies the IBM record.<br />
5-6 2 Height An unsigned binary value representing the height of the bitmap in<br />
dots. The range is printer dependent and also dependent upon the<br />
blocking of input data. The height is measured down the length of<br />
the page in the Y direction when looking at the substrate in the<br />
direction it is moving. For example, hex 00 37 specifies a bitmap<br />
height of 55 dots.<br />
7-8 2 Width An unsigned binary value representing the width of the bitmap in<br />
dots. The range is printer dependent. For example, the range is<br />
1-4096 for systems using four stitched 4-inch printheads and<br />
1-1024 for systems with one 4-inch printhead. The width is<br />
measured across the width of the page in the X direction when<br />
looking at the substrate in the direction it is moving. For example,<br />
hex 06 A1 specifies a width of 1697 dots.<br />
9-10 2 Reserved This field is not used and must contain all binary zeroes.<br />
11-n n Bitmap The bitmap begins at byte position 11 and is arranged in horizontal<br />
raster format. Each row of the raster must be padded to the right<br />
with binary zeroes to make an integral number of 16-bit segments.<br />
The width of the bitmap (byte positions 7 and 8) does not have to<br />
be a multiple of 16 bits but the bitmap does.<br />
The total length of the bitmap, in bytes, is the width specified in bytes 7-8,<br />
rounded up to a multiple of 16, divided by 8, and multiplied by the height<br />
specified in bytes 5-6. Because this record cannot be continued, it must<br />
all fit in one block, which limits the size of the bitmap to 4084 bytes. If a<br />
bitmap is larger than 4084 bytes, it must be broken up into multiple IBM<br />
records.<br />
Some KODAK VERSAMARK printers support clipping of the image created<br />
by an IBM record. Clipping means that if part of the bitmap falls outside<br />
the buffer, the part that is in the buffer is printed and the cursor is moved.<br />
The cursor is moved as if the entire image was printed, even though it<br />
may fall outside the buffer. See Appendix C to determine if your printer<br />
supports clipping for the IBM record.<br />
If clipping is not supported and part of the bitmap falls outside the buffer,<br />
none of the box is printed and the cursor is not moved.
Chapter 4. Record Formats<br />
Compressed Bitmap (CBM)<br />
Compressed Bitmap (CBM)<br />
The CBM record, which is interchangeable with the Image Bitmap (IBM)<br />
record, contains a compressed bitmap that is to be printed at the current<br />
cursor position according to the current logical function set by the last SLF<br />
record. The bitmap is placed on the page in the upright orientation.<br />
Byte Position Bytes Field Name Description<br />
After this record, the cursor position is at the current X position and the<br />
current Y position plus the height of the bitmap.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 22 specifies a record length of 34 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 3E<br />
identifies the CBM record.<br />
5-6 2 Height An unsigned binary value representing the height of the bitmap in<br />
dots. The range is printer dependent and also dependent upon the<br />
blocking of input data. The height is measured down the length of<br />
the page in the Y direction when looking at the substrate in the<br />
direction it is moving. For example, hex 00 37 specifies a bitmap<br />
height of 55 dots.<br />
7-8 2 Width An unsigned binary value representing the width of the bitmap in<br />
dots. The range is printer dependent. For example, the range is<br />
1-4096 for systems using four stitched 4-inch printheads and<br />
1-1024 for systems with one 4-inch printhead. The width is<br />
measured across the width of the page in the X direction when<br />
looking at the substrate in the direction it is moving. For example,<br />
hex 06 A1 specifies a width of 1697 dots.<br />
9-10 2 Reserved This field is not used and must contain all binary zeroes.<br />
11-12 2 Compression Type Specifies the compression algorithm used to compress the<br />
bitmapped character data. Undefined or unsupported compression<br />
types will cause the imager to display an error message and stop<br />
printing.<br />
Compression types (see “Compression Types” on page 4-2) are:<br />
0x0000 = Reserved<br />
0x0001 = 32-bit Vertical Run Length Encoding (RLEV32)<br />
13-16 4 Compression<br />
Parameter<br />
17-n varies Compressed Bitmap<br />
Data<br />
The meaning of these bytes depends on the compression type<br />
specified in bytes 10-11.<br />
The bitmap is always imaged upright into the frame buffer at the<br />
current position and according to the current logical function. The<br />
cursor position following this command will be left at the current X<br />
position and at the current Y position plus the height of the bitmap.<br />
Should the compressed bitmap contain more or less<br />
uncompressed data than what is specified by the Height and Width<br />
fields, the imager will display an error message and imaging will<br />
stop.<br />
The compressed bitmap begins at byte position 17 and is arranged<br />
in horizontal raster format compressed using the compression<br />
method specified in byte positions 11 and 12. Each row of the<br />
raster must be padded to the right with binary zeroes (before<br />
compression) to make an integral number of 32-bit segments. The<br />
width of the bitmap (byte positions 7 and 8) does not have to be a<br />
multiple of 32 bits but the bitmap raster row length does.<br />
Reference Guide 4 - 53
Chapter 4. Record Formats<br />
Remote Resource (RSRC)<br />
Remote Resource (RSRC)<br />
The RSRC record in the data stream directs the data system to read a<br />
sequence of IJPDS records from a remote resource file.<br />
Byte Position Bytes Field Name Description<br />
4 - 54 IJPDS Formats<br />
Primary applications can read fonts or bitmaps (IBMs and CBMs) from the<br />
remote resource file to enable:<br />
Faster font loading<br />
Faster inline bitmap (IBM or CBM) printing<br />
Smaller data stream<br />
Reuse of IBMs and CBMs.<br />
Resource files are assumed to be placed on the source by the host or a<br />
customer application.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 22 specifies a record length of 34 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 3F<br />
identifies the RSRC record.<br />
5 1 Resource Type Resource type:<br />
0 = This value is reserved;<br />
1 = IJPDS (the resource file is a sequence of IJPDS records).<br />
There is no block length or file length at the beginning of the<br />
resource file; the file starts with the first IJPDS record of the<br />
resource. The IJPDS records are sequential; there is no provision<br />
to pad the file for odd record lengths.<br />
6-8 3 Reserved These bytes are reserved for future use.<br />
9-n varies Resource Name NULL-terminated ASCII file name or path from the source file<br />
system.
Chapter 4. Record Formats<br />
Set Page Length (SPL)<br />
Set Page Length (SPL) The SPL record specifies the length of the current page. By default, the<br />
length of each page is calculated based on the image data on the page.<br />
The page length is the number of dot rows to be printed. Printing always<br />
starts at the top of the buffer (Y = 0). The default page length is the<br />
maximum of the Y value of any position that the cursor ever occupied on<br />
the page, or one more than the highest Y position occupied by the cell or<br />
bounding box of any character, BOX or IBM.<br />
Byte Position Bytes Field Name Description<br />
Using the SPL record, the page length can be set to be longer or shorter<br />
than the length calculated based on the image data. If the page length is<br />
set to be shorter than the calculated length, part of the image will be<br />
clipped. If the page length is set to be longer than the calculated length,<br />
white space is included up to the specified length.<br />
If the SPL record occurs more than once for a page, the last value<br />
specified is used.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 0C specifies a record length of 12 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 3A<br />
identifies the SPL record.<br />
5-6 2 Page Length An unsigned binary value representing the page length in dots.<br />
The range is 1 to the maximum page buffer length. For example,<br />
0E 06 represents a page length of 3590 dots.<br />
Reference Guide 4 - 55
Chapter 4. Record Formats<br />
Start of Page (SOP)<br />
Start of Page (SOP)<br />
Byte Position Bytes Field Name Description<br />
4 - 56 IJPDS Formats<br />
The SOP record specifies the start of a new page and sets the starting<br />
position to the top of the page. The X,Y coordinates are 0,0 for the top of<br />
the page (upper left corner when looking at the substrate in the direction it<br />
is moving). The current origin and cursor position are also set to 0,0 by<br />
the SOP record. Refer to Chapter 1 for a discussion of pages, position<br />
coordinates, origin, and multiple pages per document.<br />
The SOP record should be used only if the document is longer than the<br />
page buffer length. A long document should be divided among pages as<br />
equally as possible for system efficiency.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 04 specifies a record length of 4 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 20<br />
identifies the SOP record.
Wait for Cue (WFC)<br />
Chapter 4. Record Formats<br />
Wait for Cue (WFC)<br />
The WFC record causes the printing system to wait for a cue and then<br />
start a new page. Subsequent records are not processed until the cue<br />
signal occurs. This record also resets the cursor origin, the starting<br />
position, and the cursor position to 0,0. Refer to Chapter 1 for a<br />
description of pages.<br />
Note: The WFC record cannot be used with the CS200 and CS220 system<br />
controllers.<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 06 specifies a record length of 6 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 06<br />
identifies the WFC record.<br />
5-6 2 Vertical Space This field is used only for the KODAK VERSAMARK DS2900 printing<br />
system and should be binary 0 for all other systems.<br />
A binary number that specifies the number of dot rows of vertical<br />
space to generate after the cue is reached.<br />
Reference Guide 4 - 57
Chapter 4. Record Formats<br />
Stop (STP)<br />
Stop (STP)<br />
Byte Position Bytes Field Name Description<br />
4 - 58 IJPDS Formats<br />
The STP record causes the printing system to stop printing. An optional<br />
message can be included in this record for the printing system to display.<br />
Timing of the display is not synchronized with the printing of the last<br />
document. After an STP record, printing must be restarted by the<br />
operator.<br />
This record should occur only at the end of a document, just before an<br />
SOD or SDC. For multiple RIP printing systems, the STP record must be<br />
present at the end of the same document for each RIP.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 2F specifies a record length of 47 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 08<br />
identifies the STP record.<br />
5-n n Message An EBCDIC character string representing a message to be<br />
displayed at the printing system.<br />
Note: Some data stations do not have the ability to display messages; in this<br />
case, the MSG record is ignored.
Message (MSG)<br />
Byte Position Bytes Field Name Description<br />
Chapter 4. Record Formats<br />
Message (MSG)<br />
The MSG record can be placed anywhere in the stream of documents,<br />
after the first SOD or SDC record. The message is displayed as printing<br />
continues. Timing of the display is not synchronized with the time of<br />
printing of the documents before or after the MSG record.<br />
When the MSG record is used in a fixed file, the message is displayed<br />
when the MSG record is executed from the file.<br />
This record should be used only where necessary. Frequent use can<br />
reduce printing speed.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 2F specifies a record length of 47 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 0A<br />
identifies the MSG record.<br />
5-n n Message An EBCDIC character string representing a message that is<br />
displayed at the printing system.<br />
Note: Some data stations are not capable of displaying messages, in which<br />
case, the MSG record is ignored.<br />
Reference Guide 4 - 59
Chapter 4. Record Formats<br />
Verify Character Checksum (VCC)<br />
Verify Character Checksum (VCC)<br />
The VCC record is used to verify the data written to each page buffer. The<br />
printer starts calculating a checksum value at the start of each page and<br />
continues until the end of the page. When the VCC record occurs, the<br />
checksum value in the record is compared to the current checksum value<br />
calculated by the printer. If the two checksums do not agree, the printer<br />
does a fast stop operation. The VCC record may appear several times in<br />
the data stream for one page. For a multiple RIP, the checksum is<br />
calculated independently for each page for each RIP.<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 08 specifies a record length of 8 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 2D<br />
identifies the VCC record.<br />
5-8 4 Checksum A value calculated by the printer in the printing system as<br />
described below.<br />
4 - 60 IJPDS Formats<br />
The character checksum is calculated as follows:<br />
The checksum is set to 0 by the printer at the start of each page.<br />
As each character printed by an SFI, IML, SIL, or UIL record is placed<br />
into the page buffer, its character value is added to the character<br />
checksum for the page. Only the least significant 32 bits of the<br />
checksum is retained and checked.<br />
For a single-byte font, the character value is an 8-bit number calculated<br />
as follows:<br />
Character value = (character position + font number) modulo 256.<br />
Where:<br />
Character position = character identifier specified in CDR/CDM/CCD.<br />
Font number = number specified in FDR/FDM.<br />
For a double-byte font, the character value is an 8-bit number calculated<br />
as follows:<br />
Character value = (character position + subfont number + super font<br />
number) modulo 256.<br />
Where:<br />
Character position = character identifier specified in CDR.<br />
Subfont number is the number specified in FDR.<br />
Character position + subfont number = the sum of the two bytes in the<br />
character identifier in CDM/CCD.<br />
Superfont number is the number specified in SFD/SFM.
No Operation (NOP)<br />
Byte Position Bytes Field Name Description<br />
Chapter 4. Record Formats<br />
No Operation (NOP)<br />
The NOP record indicates that the remainder of the record, which can be<br />
any length, is to be ignored by the printing system. Using the control code<br />
for the NOP record allows existing records to remain in the file but not be<br />
used.<br />
The NOP record can be used during font definitions, fixed file definitions,<br />
or within variable data records. If an NOP record is found while loading<br />
fixed files, the record is loaded into fixed file memory.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 04 specifies a record length of 4 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 22<br />
identifies the NOP record.<br />
Reference Guide 4 - 61
Chapter 4. Record Formats<br />
End of Job (EOJ)<br />
End of Job (EOJ)<br />
Byte Position Bytes Field Name Description<br />
4 - 62 IJPDS Formats<br />
The EOJ record is placed after the last document and indicates the end of<br />
the job. An optional message can be included in this record for the<br />
printing system to display. Timing of the display is not synchronized with<br />
the printing of the last document.<br />
For multi-RIP printing systems, this record must be included after the last<br />
document for each RIP.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 2F specifies a record length of 47 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 09<br />
identifies the EOJ record.<br />
5-n n Message An EBCDIC character string representing a message that is<br />
displayed at the printing system.
Chapter 4. Record Formats<br />
Job Control Record (JCR)<br />
Job Control Record (JCR)<br />
The JCR record is used only in job files intended for the KODAK<br />
VERSAMARK DS2900 printing system. The JC2, PHR, and FAR records<br />
have replaced the JCR record and are required in job files for all printing<br />
systems newer than the DS2900.<br />
Byte Position Bytes Field Name Description<br />
A job file for a DS2900 printing system may not include any record with a<br />
control code larger than hex 14.<br />
1-2 2 Record Length The length of this record, in binary, including the record length<br />
field. For example, hex 00 D4 specifies a record length of 212<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. Because the<br />
JCR record is always the first record in the job file, the count is<br />
always hex 01 for this record. The count is used to verify record<br />
sequence.<br />
4 1 Control Code A binary code that identifies the record type. A value of hex 00<br />
identifies the JCR record.<br />
5 1 Printhead Description An EBCDIC digit that describes the printhead being used for this<br />
job.<br />
1 (hex F1)=8 inch, 120 dpi printhead<br />
2 (hex F2)=10.66 inch, 120 dpi printhead<br />
3 (hex F3)=13.33 inch, 120 dpi printhead<br />
6 1 Print Resolution An EBCDIC character that specifies the print resolution for this job.<br />
(Space) (hex 40) = 120 dpi x 120 dpi<br />
D (hex C4) = 120 dpi x 240 dpi<br />
7-14 7 Reserved This field is not used and must contain all binary zeroes.<br />
15 1 Default Font The assignment number, in binary, of the default font. The default<br />
font is set as the current font at the start of each document if the<br />
SOD or SDC record does not contain a starting font number. The<br />
range is 0 - 15. For example, hex 0A specifies a font number of 10.<br />
16-18 3 Reserved This field is not used and must contain all binary zeroes.<br />
19 1 Print Density A value, in binary, that specifies the default print density for this<br />
job. The range is 0 - 15. The operator can override this field.<br />
20-147 128 Font Names Up to 16 eight-character names, in EBCDIC, of the fonts to be<br />
used in this job. Each name must be space filled to the right and all<br />
unused names must be space filled. If the fonts listed in this field<br />
are not loaded in the printer and no fonts follow in the file, an error<br />
is generated.<br />
148-151 4 Security Code This field is used only if security is enabled. It is a 4-byte security<br />
code that is the result of an encryption of the Job Identifier Field<br />
(byte positions 205-212). The encryption may be done with a fixed<br />
or an operator-entered password.<br />
Reference Guide 4 - 63
Chapter 4. Record Formats<br />
Job Control Record (JCR)<br />
Byte Position Bytes Field Name Description<br />
152-174 23 Job Information A string of 23 EBCDIC characters used to identify this job. This can<br />
be a job name, the data preparation program name, or any other<br />
identifying information. This field can have any format. It is logged<br />
when the job is run, but it is not used otherwise.<br />
175-188 14 Data Prep Date A string of 14 EBCDIC characters containing the date this job file<br />
was prepared. This field can have any format. It is logged when the<br />
job is run, but it is not used otherwise.<br />
189-202 14 Data Prep Time A string of 14 EBCDIC characters containing the time this job file<br />
was prepared. This field can have any format. It is logged when the<br />
job is run, but it is not used otherwise.<br />
203-204 2 Reserved This field is not used and must contain all binary zeroes.<br />
205-212 8 Job Identifier This field is used if security is enabled. It is an 8-byte Job Identifier<br />
that is encrypted as described in the Security Code field (byte<br />
positions 148-151).<br />
This field is logged whenever the Job History logging feature is<br />
enabled (with or without security).<br />
If the security or job history features are not used, this field can be<br />
filled with pad characters of any kind or the record can end at byte<br />
204.<br />
4 - 64 IJPDS Formats
Single-RIP System<br />
Chapter 5. Record Sequence<br />
This chapter describes the requirements for the sequence of records in<br />
the IJPDS job file. Some records are required to be in a prescribed<br />
sequence while other records, within certain limits, can occur as the job<br />
image layout requires.<br />
The sequence of records is also affected by the RIP configuration of the<br />
printing system. Job files for multi-RIP systems have different sequence<br />
requirements than single-RIP systems. Single-RIP and multi-RIP systems<br />
are discussed separately in this chapter.<br />
Some KODAK VERSAMARK printers allow portions of the job information to<br />
be placed in separate files. The sequence requirements for separate files<br />
are discussed at the end of this chapter.<br />
Figure 5.1 illustrates the record sequence required for a single-RIP job<br />
file. Because there is no RIP record immediately following the JC2 record<br />
all data is assigned to RIP 0. The PHR and FAR records (in either order)<br />
must follow the JC2 record. The PHR record describes the printheads<br />
required for the job and the FAR record lists all the fonts required. If the<br />
fonts listed in the FAR record are the same as the fonts already loaded in<br />
the data station, then font records are not required.<br />
If any of the following records are used, they must be included with the<br />
PHR and FAR records, before the first font, fixed file, SOD, or SDC<br />
record.<br />
SRM - Set Resolution Multiplier<br />
PLR - Page Length Requirement<br />
RCR - Range Check Record<br />
After the previously described records, the fonts must be defined. There<br />
can be up to 255 font definition records (FDRs, FDMs, SFDs, or SFMs).<br />
With one exception, category I fonts and category II fonts (both super and<br />
regular) can be defined in any order. The exception is that a category I<br />
super font cannot be immediately followed by a category I regular font.<br />
Reference Guide 5 - 1
Chapter 5. Record Sequence<br />
Single-RIP System<br />
5 - 2 IJPDS Formats<br />
The following rules apply to the sequence of font records:<br />
After an FDR, any record other than a CDR ends the subfont or<br />
regular font.<br />
An SFD may optionally be followed by one CDR, defining a character<br />
that becomes the default for any undefined character in the super<br />
font.<br />
After an SFD, any record other than CDR or FDR ends the super font.<br />
After an FDM, any record other than a CDM or CCD ends the regular<br />
font.<br />
After an SFM, any record other than a CDM or CCD ends the super<br />
font.<br />
Super fonts defined with SFD may be followed by regular fonts<br />
defined with FDM. FDRs following the SFD (and default CDR, if<br />
present) are subfonts of the super font.<br />
A CDM or CCD may follow an FDM, an SFM, or another CDM or<br />
CCD.<br />
A CDR may follow an FDR, an SFD, or another CDR.<br />
RIP, MSG, and NOP records which may occur do not affect the<br />
sequence of the font records.<br />
When continuation records for a character are used, the first CDR, CDM,<br />
or CCD for a character and its continuation records must be in the proper<br />
sequence in the job file. Apart from these restrictions and the default/null<br />
restrictions described in the CDR, CDM, and CCD descriptions in Chapter<br />
4, characters in a font can be defined in any order.<br />
If required, fixed file records must occur after the fonts have been defined.<br />
Fixed files are optional and up to 256 fixed files can be present in a job<br />
file. A fixed file is started with a load fixed file record (LFF). The records<br />
that are permitted in fixed files are shown in Figure 5.1. A fixed file is<br />
ended with another LFF record or an end of fixed files (EFF) record.<br />
The variable data follows the EFF record. The first record of the variable<br />
data must be a start of document (SOD), start of document and cue<br />
(SDC), or message (MSG) record. The records that are permitted in the<br />
variable data section of the job file are shown in Figure 5.1.<br />
A document may not be split across tape volumes. The end of the job file<br />
is signaled by an end of job (EOJ) record.
Figure 5.1 Single RIP-record sequence<br />
Chapter 5. Record Sequence<br />
Single-RIP System<br />
Reference Guide 5 - 3
Chapter 5. Record Sequence<br />
Multi-RIP System<br />
Multi-RIP System<br />
5 - 4 IJPDS Formats<br />
For a multi-RIP system, the JC2 record must be in a block by itself. All<br />
records following the JC2 record are RIP specific. That is, each record is<br />
assigned to a specific RIP. Other than this requirement, all of the record<br />
sequence rules described for a single-RIP system apply. Just remember<br />
that for a multi-RIP system, the record sequences must be repeated for<br />
each RIP.<br />
Each block on tape or disk can contain data for only one RIP. It is required<br />
that each block start with a RIP record to identify the target RIP even if the<br />
RIP assignment does not change from one block to another.<br />
All fonts for one RIP must be defined before switching to another RIP. All<br />
fixed files for one RIP must be defined before switching to another RIP.<br />
The fonts and fixed files for all RIPs must be loaded before any variable<br />
data for any of the RIPs.<br />
All RIPs for a given document must be on the same tape.<br />
Figures 5.2 and 5.3 show two versions of how the data in the job file can<br />
be divided between RIPs in a system with two RIPs. To keep the<br />
diagrams simple, some optional records like SRM, RCR, or PLR and<br />
category II font records are not included in the illustrations.<br />
In Figure 5.2, the data segments (printhead and font requirements, font<br />
definitions, and fixed file definitions) are separated and repeated for each<br />
RIP. In Figure 5.3, these data segments are joined and then repeated for<br />
each RIP. The method used may depend on the quantity of data such as<br />
the number of fonts and fixed files.<br />
For variable data, the decision as to when to change RIP assignments<br />
with a RIP record depends on the relative output rates of the different<br />
RIPs. Factors such as the distance between printheads for each RIP and<br />
the amount of data each RIP prints must be considered when preparing<br />
the job file. The job file should be prepared so that a situation where the<br />
data station buffers are full with data for one RIP while another RIP needs<br />
data does not occur. Although the requirements vary significantly from job<br />
to job, a general guideline is to format the file so that each group of 20<br />
consecutive blocks contains at least one block for each RIP.<br />
The end of job record (EOJ) must come after the last document for each<br />
RIP.
Figure 5.2 Multiple RIP sequence 1<br />
JC2<br />
RIP<br />
PHR<br />
FAR<br />
RIP<br />
PHR<br />
FAR<br />
RIP<br />
FDR<br />
CDR<br />
RIP<br />
FDR<br />
CDR<br />
RIP<br />
LFF<br />
EFF<br />
RIP<br />
LFF<br />
EFF<br />
RIP<br />
SOD or SDC<br />
RIP<br />
SOD or SDC<br />
EOJ<br />
Figure 5.3 Multiple RIP sequence 2<br />
JC2<br />
RIP<br />
PHR<br />
FAR<br />
FDR<br />
CDR<br />
LFF<br />
EFF<br />
RIP<br />
PHR<br />
FAR<br />
FDR<br />
CDR<br />
LFF<br />
EFF<br />
RIP<br />
SOD or SDC<br />
RIP<br />
SOD or SDC<br />
EOJ<br />
Chapter 5. Record Sequence<br />
Multi-RIP System<br />
Reference Guide 5 - 5
Chapter 5. Record Sequence<br />
Separate Files<br />
Separate Files<br />
5 - 6 IJPDS Formats<br />
The fonts, fixed files, and data for a job can placed in separate files to be<br />
read separately by the data station. Presently, only the KODAK VERSAMARK<br />
DS3000 series printing systems support the concept of separate files.<br />
The possible variations for separate files are provided in the following list<br />
along with the required record sequences for each type of file.<br />
Fonts Only<br />
JC2, FAR (optional), font records, EOJ.<br />
Fixed Files Only<br />
JC2, LFF, fixed file records, EFF, EOJ.<br />
Fonts and Fixed Files<br />
JC2, FAR (optional), font records, LFF, fixed file records, EFF, EOJ.<br />
Data Only<br />
JC2, PHR, FAR, PLR, SDC/SOD, document records, EOJ.<br />
Fixed Files and Data<br />
JC2, PHR, PLR, FAR, LFF, fixed file records, EFF, SDC/SOD,<br />
document records, EOJ.<br />
Fonts and Data<br />
JC2, PHR, PLR, FAR (optional), font records, SDC/SOD, document<br />
records, EOJ.<br />
The “Data Only” and “Fixed Files and Data” files contain a FAR record<br />
that specifies the fonts that must be loaded for the job. It should be noted<br />
that there is no check available to determine if the correct fixed files are<br />
loaded.
Appendix A. Record References<br />
The records in IJPDS job files are cross-referenced in this appendix so<br />
that if you have the record name or control code you can quickly find other<br />
information about the record.<br />
Table A.1 lists all IJPDS records by acronym in alphabetic order. Table<br />
A.2 lists all IJPDS records by control code in numeric order.<br />
Both tables provide a brief description of the purpose of the record and a<br />
page reference to the detailed description in Chapter 4.<br />
Reference Guide A - 1
Appendix A. Record References<br />
Table A.1 Records by acronym<br />
Record<br />
Acronym<br />
Control<br />
Code<br />
A - 2 IJPDS Formats<br />
Name Page Description<br />
BOX 27 Fill a Rectangular Area 4-51 Fills a specified area with a black or white fill pattern.<br />
CBM 3E Compressed Bitmap 4-53 Contains compressed bitmap to be printed.<br />
Interchangeable with the IBM.<br />
CCD 3D Compressed Character<br />
Definition<br />
CDM 30 Character Definition with<br />
Metrics<br />
4-18 Defines each character in a category I font. Contains a<br />
compressed bitmap pattern for the character.<br />
Interchangeable with the CDM.<br />
4-15 Defines each character in a category II font. Contains a<br />
bitmap pattern for the character. Interchangeable with the<br />
CCD.<br />
CDR 14 Character Definition Record 4-23 Defines each character in a category I font. Contains a<br />
bitmap pattern for the character.<br />
CSR 37 Cursor Restore 4-37 Restores the cursor to a position saved by the CSS<br />
record.<br />
CSS 36 Cursor Save 4-36 Saves the current absolute cursor position for later<br />
retrieval by the CSR record.<br />
EFF 02 End Fixed Files 4-26 Indicates end of fixed files.<br />
EOJ 09 End of Job 4-62 Indicates end of job. Can contain a message for display.<br />
FAR 25 Font Assignment Record 4-10 List fonts needed for the job and assigns font numbers to<br />
font names.<br />
FDR 13 Font Definition Record 4-22 Contains general information about a category I font.<br />
Followed by CDRs.<br />
FDM 2E Font Definition with Metrics 4-14 Contains general information about a category II font.<br />
Followed by CDMs and/or CCDs.<br />
GFF 0F Go to Fixed File 4-45 Identifies records in current fixed file to be executed.<br />
IBM 29 Image Bitmap 4-52 Contains bitmap to be printed. Interchangeable with the<br />
CBM.<br />
IML 0C Image a Line 4-41 Contains one line of print. Uses last identified font and<br />
ILS.<br />
JC2 24 Job Control Record 2 4-5 Used for all KODAK VERSAMARK printing systems except<br />
DS2900. Must be the first record in a job file.<br />
JCR 00 Job Control Record 4-63 Used only for KODAK VERSAMARK DS2900 printing<br />
systems. Must be the first record in a job file.<br />
LFF 01 Load Fixed Files 4-25 Indicates that a fixed file follows this record.<br />
MPL 35 Multi-Part Line Mode 4-43 Allows the printing of more than one SFI, IML, SIL, or UIL<br />
record on a line.<br />
MSG 0A Message 4-59 Contains a message for display.<br />
NOP 22 No Operation 4-61 Used to remark out a record.<br />
PHR 26 Printhead Requirements<br />
Record<br />
4-8 Specifies the number and type of printheads required for<br />
the job.<br />
PLR 3B Page Length Requirement 4-12 Specifies the page length requirement for the current RIP.<br />
RCR 32 Range Check Record 4-27 Sets boundary limits for the four sides of the page buffer.<br />
RFF 0E Reset Fixed File 4-46 Identifies fixed file and records to be executed after<br />
pointer is first reset to start of file.<br />
RIP 23 Select RIP 4-7 Specifies which RIP is to receive subsequent data.<br />
RSRC 3F Remote Resource 4-54 Directs the data system to read a sequence of IJPDS<br />
records from a remote resource file.
Table A.1 Records by acronym (Continued)<br />
Record<br />
Acronym<br />
SDC 05<br />
11<br />
Appendix A. Record References<br />
Start of Document and Cue 4-28 Starts new document after waiting for a cue. Code 11 is<br />
for security version.<br />
SFD 2A Super Font Definition 4-17 Contains general information about a category I super<br />
font. Followed by FDRs and CDRs.<br />
SFF 0D Set Fixed File 4-44 Identifies fixed file and records to be executed.<br />
SFI 0B Set Font and Image 4-40 Identifies the font and ILS and contains characters for<br />
one line of print.<br />
SFM 2F Super Font with Metrics 4-13 Contains general information about a category II super<br />
font. Followed by FDMs, CDMs, and/or CCDs.<br />
SFS 31 Set Font and Spacing 4-38 Sets font or super font and spacing for following records.<br />
SFT 2C Set Font 4-39 Sets font or super font and spacing for following records.<br />
SIL 2B Two-Byte Image Line 4-42 Contains double-byte text. Using current super font,<br />
specifies subfonts and characters.<br />
SLF 28 Set Logical Function 4-49 Defines how new pixels will combine with old pixels.<br />
SOD 04<br />
10<br />
Control<br />
Code<br />
Name Page Description<br />
Start of Document 4-30 Starts a new document without waiting for cue. Code 10<br />
is for security version.<br />
Note: The SOD record cannot be used with the CS200<br />
and CS220 system controllers.<br />
SOP 20 Start of Page 4-56 Starts a new page. Sets the X and Y starting point to the<br />
top of the page (0,0).<br />
SOR 34 Set Origin 4-34 Sets the origin to the current cursor position.<br />
SPC 07 Space 4-48 Specifies dot rows of vertical space to be inserted.<br />
SPL 3A Set Page Length 4-55 Sets current page length. Can be shorter or longer than<br />
actual image data.<br />
SPO 21 Set Position 4-32 Sets the X and Y position for following data (16-bit<br />
position fields).<br />
SPX 3C Set Position Extended 4-33 Sets the X and Y position for following data (32-bit<br />
position fields).<br />
SRM 39 Set Resolution Multiplier 4-11 Sets the logical resolution of the current RIP. Allows data<br />
prep to use higher resolution for distances.<br />
SRP 38 Set Relative Position 4-35 Sets a new cursor position relative to the current cursor<br />
position.<br />
STP 08 Stop 4-58 Stops printing. Can contain a message for logging.<br />
UIL 33 Unformatted Image Line 4-47 Permits printing of a portion of a stored image string.<br />
VCC 2D Verify Character Checksum 4-60 Compares checksum in this record against current page<br />
checksum calculated by system.<br />
WFC 06 Wait for Cue 4-57 Causes system to wait for next cue and start a new page.<br />
Note: The WFC record cannot be used with the CS200<br />
and CS220 system controllers.<br />
Reference Guide A - 3
Appendix A. Record References<br />
Table A.2 Records by control code<br />
Control<br />
Code<br />
Record<br />
Acronym<br />
A - 4 IJPDS Formats<br />
Name Page Description<br />
00 JCR Job Control Record 4-63 Used only for KODAK VERSAMARK DS2900 printing<br />
systems. Must be the first record in a job file.<br />
01 LFF Load Fixed Files 4-25 Indicates that a fixed file follows this record.<br />
02 EFF End Fixed Files 4-26 Indicates end of fixed files.<br />
04 SOD Start of Document 4-30 Starts new document without waiting for cue. Code 04 is<br />
for non-security version.<br />
Note: The SOD record cannot be used with the CS200<br />
and CS220 system controllers.<br />
05 SDC Start of Document and Cue 4-28 Starts new document after waiting for a cue. Code 05 is<br />
for non-security version.<br />
06 WFC Wait for Cue 4-57 Causes system to wait for next cue and start a new page.<br />
Note: The WFC record cannot be used with the CS200<br />
and CS220 system controllers.<br />
07 SPC Space 4-48 Specifies dot rows of vertical space to be inserted.<br />
08 STP Stop 4-58 Stops printing. Can contain a message for logging.<br />
09 EOJ End of Job 4-62 Indicates end of job. Can contain a message for display.<br />
0A MSG Message 4-59 Contains a message for display.<br />
0B SFI Set Font and Image 4-40 Identifies the font and ILS and contains characters for<br />
one line of print.<br />
0C IML Image a Line 4-41 Contains one line of print. Uses last identified font and<br />
ILS.<br />
0D SFF Set Fixed File 4-44 Identifies fixed file and records to be executed.<br />
0E RFF Reset Fixed File 4-46 Identifies fixed file and records to be executed after<br />
pointer is first reset to start of file.<br />
0F GFF Go to Fixed File 4-45 Identifies records in current fixed file to be executed.<br />
10 SOD Start of Document 4-30 Starts new document without waiting for cue. Code 10 is<br />
for security version.<br />
Note: The SOD record cannot be used with the CS200<br />
and CS220 system controllers.<br />
11 SDC Start of Document and Cue 4-28 Starts a new document after waiting for a cue. Code 11 is<br />
for security version.<br />
13 FDR Font Definition Record 4-22 Contains general information about a category I font.<br />
Followed by CDRs.<br />
14 CDR Character Definition Record 4-23 Defines each character in a category I font. Contains a<br />
bitmap pattern for the character.<br />
20 SOP Start of Page 4-56 Starts a new page. Sets the X and Y starting point to the<br />
top of the page (0,0).<br />
21 SPO Set Position 4-32 Sets the X and Y position for following data (16-bit<br />
position fields).<br />
22 NOP No Operation 4-61 Used to remark out a record.<br />
23 RIP Select RIP 4-7 Specifies which RIP is to receive subsequent data.<br />
24 JC2 Job Control Record 2 4-5 Used for all KODAK VERSAMARK printing systems except<br />
DS2900. Must be the first record in a job file.<br />
25 FAR Font Assignment Record 4-10 List fonts needed for the job and assigns font numbers to<br />
font names.
Table A.2 Records by control code (Continued)<br />
Control<br />
Code<br />
Record<br />
Acronym<br />
Name Page Description<br />
26 PHR Printhead Requirements<br />
Record<br />
Appendix A. Record References<br />
4-8 Specifies the number and type of printheads required for<br />
the job.<br />
27 BOX Fill a Rectangular Area 4-51 Fills a specified area with a black or white fill pattern.<br />
28 SLF Set Logical Function 4-49 Defines how new pixels will combine with old pixels.<br />
29 IBM Image Bitmap 4-52 Contains bitmap to be printed. Interchangeable with the<br />
CBM.<br />
2A SFD Super Font Definition 4-17 Contains general information about a category I super<br />
font. Followed by FDRs and CDRs.<br />
2B SIL Two-Byte Image Line 4-42 Contains double-byte text. Using current super font,<br />
specifies subfonts and characters.<br />
2C SFT Set Font 4-39 Sets font or super font for following records.<br />
2D VCC Verify Character Checksum 4-60 Compares checksum in this record against current page<br />
checksum calculated by system.<br />
2E FDM Font Definition with Metrics 4-14 Contains general information about a category II font.<br />
Followed by CDMs and/or CCDs.<br />
2F SFM Super Font with Metrics 4-13 Contains general information about a category II super<br />
font. Followed by FDMs, CDMs, and/or CCDs.<br />
30 CDM Character Definition with 4-15 Defines each character in a category II font. Contains a<br />
Metrics<br />
bitmap pattern for the character. Interchangeable with the<br />
CCD.<br />
31 SFS Set Font and Spacing 4-38 Sets font or super font and spacing for following records.<br />
32 RCR Range Check Record 4-27 Sets boundary limits for the four sides of the page buffer.<br />
33 UIL Unformatted Image Line 4-47 Permits printing of a portion of a stored image string.<br />
34 SOR Set Origin 4-34 Sets the origin to the current cursor position.<br />
35 MPL Multi-Part Line Mode 4-43 Allows the printing of more than one SFI, IML, SIL, or UIL<br />
record on a line.<br />
36 CSS Cursor Save 4-36 Saves the current absolute cursor position for later<br />
retrieval by the CSR record.<br />
37 CSR Cursor Restore 4-37 Restores the cursor to a position saved by the CSS<br />
record.<br />
38 SRP Set Relative Position 4-35 Sets a new cursor position relative to the current cursor<br />
position.<br />
39 SRM Set Resolution Multiplier 4-11 Sets the logical resolution of the current RIP. Allows data<br />
prep to use higher resolution for distance parameters.<br />
3A SPL Set Page Length 4-55 Sets current page length. Can be shorter or longer than<br />
actual image data for the page.<br />
3B PLR Page Length Requirement 4-12 Specifies the page length requirement for the current RIP.<br />
3C SPX Set Position Extended 4-33 Sets the X and Y position for following data (32-bit<br />
position fields).<br />
3D CCD Compressed Character 4-18 Defines each character in a category I font. Contains a<br />
Definition<br />
compressed bitmap pattern for the character.<br />
Interchangeable with the CDM.<br />
3E CBM Compressed Bitmap 4-53 Contains compressed bitmap to be printed.<br />
Interchangeable with the IBM.<br />
3F RSRC Remote Resource 4-54 Directs the data system to read a sequence of IJPDS<br />
records from a remote resource file.<br />
Reference Guide A - 5
Appendix B. Sample Font Coding<br />
This chapter provides an example of font coding for both category I fonts<br />
and category II fonts. The examples show the coding for the font record<br />
and one character record for each font category. Also, a diagram of each<br />
character bitmap is provided.<br />
Reference Guide B - 1
Appendix B. Sample Font Coding<br />
Category I Font<br />
Category I Font<br />
B - 2 IJPDS Formats<br />
The following sample coding of the beginning of a category I font provides<br />
an example of how the records and fields in this font type are used. The<br />
example consists of the FDR and the first CDR.<br />
The sample coding is followed by a diagram of the bitmap described by<br />
the font file records for the first character. This allows you to see the result<br />
of field coding in the FDR and CDR.<br />
The coding is presented in groups of 8 rows of 16 bytes.<br />
00 12 01 13 00 21 00 00 - 00 00 C4 D6 D5 E2 C6 D6<br />
D5 E3 00 8C 02 14 61 00 - 02 04 00 00 00 00 00 00<br />
00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00<br />
00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00<br />
00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 3F C0<br />
00 00 3F E0 00 00 00 70 - 00 00 00 30 00 00 00 30<br />
00 00 00 30 00 00 3F B0 - 00 00 7F F0 00 00 E0 70<br />
00 00 C0 30 00 00 C0 30 - 00 00 E0 30 00 00 7F FC<br />
00 00 3F FC 00 00 00 00 - 00 00 00 00 00 00 00 00<br />
00 00 00 00 00 00 00 00 - 00 00 00 00 00 00<br />
This coding along with the following diagram show that the font specifies<br />
an ILS of 0 (hex 00 in position 8 in the FDR. Also, the character cell for<br />
the first character is defined by a row count of 33 (hex 00 21 in positions<br />
5-6 in the FDR), a segment count of 2 (hex 02 in position 7 of the CDR),<br />
and a final segment width of 4 (hex 04 in position 8 of the CDR).
Appendix B. Sample Font Coding<br />
Category I Font<br />
As shown in the diagram, the last 12 bits of each row are not used<br />
because of the final segment width of 4, and therefore are set to binary<br />
zeroes.<br />
Reference Guide B - 3
Appendix B. Sample Font Coding<br />
Category II Font<br />
Category II Font<br />
B - 4 IJPDS Formats<br />
The following sample coding of the beginning of a category II font<br />
provides an example of how the records and fields in this font type are<br />
used. The example consists of the FDM and the first CDM.<br />
The sample coding is followed by a diagram of the bitmap described by<br />
the font file records for the first character. This allows you to see the result<br />
of field coding in the FDM and CDM.<br />
The coding is presented in groups of 8 rows of 16 bytes.<br />
00 16 04 2E 00 00 00 00 - 00 00 00 28 00 00 C4 D6<br />
D5 E2 C6 D6 D5 E3 00 68 - 46 30 00 81 00 00 00 13<br />
00 13 00 00 00 03 FF FF - FF EE 00 00 00 18 00 00<br />
00 00 07 F0 00 00 1F FC - 00 00 3F FE 00 00 3C 1E<br />
00 00 10 0F 00 00 00 07 - 00 00 00 07 00 00 07 F7<br />
00 00 1F FF 00 00 3F FF - 00 00 7C 07 00 00 F0 07<br />
00 00 E0 07 00 00 E0 07 - 00 00 E0 1F 00 00 F8 7F<br />
00 00 7F FF E0 00 3F E7 - E0 00 0F 83 E0 00<br />
This coding shows that the font specifies an X escapement of 0 (hex 00<br />
00 00 00 in positions 5-8 in the FDM) and a Y escapement of 40 (hex 00<br />
00 00 28 in positions 9-12 in the FDM). Also, the coding shows that the<br />
character has the following parameters.<br />
Parameter Code Byte Position in CDM<br />
Width = 19 00 13 9-10<br />
Height = 19 00 13 11-12<br />
X Offset = 3 00 00 00 03 13-16<br />
Y Offset = -18 FF FF FF EE 17-20<br />
X Escapement = 24 00 00 00 18 21-24<br />
Y Escapement = 0 00 00 00 00 25-28<br />
The character bounding box is placed in the page buffer relative to the<br />
current cursor position as shown in the diagram. The upper left corner of<br />
the bounding box is positioned by adding the X and Y character offsets to<br />
the X and Y coordinates of the current cursor position.<br />
In this example, the Y offset is a negative number and moves the<br />
character bounding box above the cursor position, making this a baseline<br />
font. The X escapement of 24 positions the cursor for the next character.<br />
The X offset of 3 provides 3 dot columns of white space before the<br />
character and the X escapement of 24 provides 2 dot columns of white<br />
space after the character. The offsets and escapements of the characters<br />
printed before and after this character could cause them to overlap some<br />
of this white space or even some of the space occupied by the bounding<br />
box of this character.
Y offset = -18<br />
Cursor<br />
position<br />
Appendix B. Sample Font Coding<br />
Category II Font<br />
Because the character width is 19, but each row of the dot pattern must<br />
be a multiple of 16 bits, 13 zero bits are added to the end of each row,<br />
making each row 32 bits (4 bytes).<br />
Cursor position<br />
for next character<br />
X offset = 3<br />
X escapement for character = 24<br />
Reference Guide B - 5
Appendix C. Printer Support for<br />
IJPDS<br />
Different KODAK VERSAMARK printers have different levels of support for<br />
IJPDS. This appendix describes how each KODAK VERSAMARK printer<br />
supports the records in the IJPDS job file.<br />
All records presently available for use in IJPDS are listed in Table C.1.<br />
This table shows the support for these records provided by the CD3000<br />
data station used in the DS3000 series printing systems, the CD100,<br />
CD120, and CD130 data stations, and the data system software in the<br />
DP5120 and DP5240 printers.<br />
The version number of the software that supports each record is provided<br />
for each data station or printer data system. If the record has had a new<br />
feature added, the software version that supports the original record is<br />
given along with the first version that supports the new feature.<br />
For example, consider the entry under the CD3000 data station for the<br />
BOX record in Table C.1.<br />
V2.03<br />
V2.13 - Supports clipping.<br />
This entry indicates that 2.03 is the first version of the CD3000 data<br />
station software that supports the BOX record and that 2.13 is the first<br />
version of the software that supports clipping of the box image.<br />
Note: There is one overall restriction for data stations and data systems being<br />
controlled by a system controller running MPC system software: the SOD,<br />
WFC, STP, and MSG records are not supported. Although the individual<br />
data stations and data systems may support these records, they may not<br />
be used with the MPC system software.<br />
Reference Guide C - 1
Appendix C. Printer Support for IJPDS<br />
Table C.1 Printer support for IJPDS<br />
Record CD3000 data station<br />
BOX V2.03<br />
V2.13 - Supports clipping.<br />
CBM V2.03<br />
V2.13 - Supports clipping in<br />
the Y dimension (top and<br />
bottom of the buffer).<br />
C - 2 IJPDS Formats<br />
CD100/CD120/CD130<br />
data station<br />
V1.11<br />
V1.13 - Supports clipping.<br />
All<br />
V1.13 - Supports clipping in the<br />
Y dimension (top and bottom of<br />
the buffer).<br />
V1.14 - Supports clipping in the<br />
X and Y dimensions.<br />
DP5120/DP5240 printer data station<br />
V1.05<br />
V1.05 - Supports square bitmaps (bitmaps<br />
that are the same height and width).<br />
V2.18 - Supports Image Bitmaps with heights<br />
greater than 1 inch.<br />
CCD V2.13 is the current version,<br />
which does not support the<br />
CCD.<br />
V1.16 No support. Invalid record error generated.<br />
CDM V2.13 V1.13 No support. Invalid record error generated.<br />
CDR All All V1.05<br />
CSR V2.13 V1.13 No support. Invalid record error generated.<br />
CSS V2.13 V1.13 No support. Invalid record error generated.<br />
EFF All All V1.05<br />
EOJ All All V1.05 - The message field is ignored.<br />
FAR V2.03 All V1.05 - Only Default Font field is used.<br />
FDR All All V1.05 - The Font Name field is ignored.<br />
FDM V2.13 V1.13 No support. Invalid record error generated.<br />
GFF All All V1.05<br />
IBM V2.03<br />
All<br />
V1.05 - Supports square bitmaps (bitmaps<br />
V2.13 - Supports clipping in V1.13 - Supports clipping in the that are the same height and width).<br />
the Y dimension (top and Y dimension (top and bottom of V2.18 - Supports Image Bitmaps with heights<br />
bottom of the buffer). the buffer).<br />
V1.14 - Supports clipping in the<br />
X and Y dimensions.<br />
greater than 1 inch.<br />
IML All<br />
V2.13 - Supports 2-byte<br />
data.<br />
All<br />
V1.13 - Supports 2-byte data.<br />
Supports clipping.<br />
JC2 V2.03 All V1.05<br />
The following fields are ignored: RIP<br />
Configuration, Stitched RP Configuration,<br />
Security Code, Job Information, Data Prep<br />
Date, Data Prep Time, and Job Identifier.<br />
JCR All All No support. Invalid record error generated.<br />
LFF All All V1.05<br />
MPL V2.13 V1.13 No support. Invalid record error generated.<br />
MSG All All No support. Ignored.<br />
NOP V2.03 All V1.05<br />
PHR V2.03 All V1.05<br />
The following fields are ignored: Printhead<br />
Position, Number of Printheads, Number of<br />
Jets, and Number of Drops.<br />
V1.05
Table C.1 Printer support for IJPDS (Continued)<br />
Record CD3000 data station<br />
PLR V2.14<br />
The data station's internal<br />
buffer size cannot be<br />
adjusted to meet the<br />
requirements defined in this<br />
record.<br />
V1.14<br />
The CD100's internal buffer<br />
size cannot be adjusted to<br />
meet the requirements defined<br />
in this record.<br />
Appendix C. Printer Support for IJPDS<br />
No support. Invalid record error generated.<br />
RCR V2.13 V1.13 No support. Invalid record error generated.<br />
RFF All All V1.05<br />
RIP V2.03 All No support. Ignored.<br />
RSRC No support. CD120 and CD130 are<br />
supported. CD100 is not<br />
supported.<br />
No support for narrow format products.<br />
SDC All All V1.05<br />
The following fields are ignored: Vertical<br />
Space, User Output Signals, and Job<br />
Identifier.<br />
SFD V2.04 All V1.05<br />
Font Name field is ignored.<br />
SFF All All V1.05<br />
SFI All<br />
2.13 - Supports 2-byte data.<br />
All<br />
V1.13 - Supports 2-byte data.<br />
Supports clipping.<br />
SFM V2.13 V1.13 No support. Invalid record error generated.<br />
SFS V2.13<br />
The X and Y character<br />
spacing fields are ignored.<br />
CD100/CD120/CD130<br />
data station<br />
V1.13<br />
The X and Y character spacing<br />
fields are ignored.<br />
V1.14<br />
The X and Y character spacing<br />
fields are supported.<br />
V1.05<br />
SFT V2.04 All V1.05<br />
SIL V2.04 All<br />
V1.13 - Supports clipping.<br />
V1.05<br />
SLF V2.03 V1.11 - Only OR supported for<br />
IBM.<br />
V1.14 - Supports all logical<br />
functions for IBM.<br />
V1.05<br />
DP5120/DP5240 printer data station<br />
No support. Invalid record error generated.<br />
SOD All All V1.05<br />
The following fields are ignored: Vertical<br />
Space, User Output Signals, and Job<br />
Identifier.<br />
SOP V2.03 All V1.05<br />
SOR V2.13 V1.13 No support. Invalid record error generated.<br />
SPC All All V1.05<br />
SPL V2.13 V1.13 No support. Invalid record error generated.<br />
SPO V2.03 All V1.05<br />
SPX V2.14 V1.14 No support. Invalid record error generated.<br />
SRM No support. No support. No support. Invalid record error generated.<br />
SRP V2.13 V1.13 No support. Invalid record error generated.<br />
Reference Guide C - 3
Appendix C. Printer Support for IJPDS<br />
Table C.1 Printer support for IJPDS (Continued)<br />
Record CD3000 data station<br />
STP All All V1.05<br />
The Message field is ignored<br />
UIL V2.13 V1.13 No support. Invalid record error generated.<br />
VCC V2.08 V1.08<br />
V1.14 - Supports VCC with<br />
stitched RIPs.<br />
No support. Ignored.<br />
WFC All All No support.<br />
C - 4 IJPDS Formats<br />
CD100/CD120/CD130<br />
data station<br />
DP5120/DP5240 printer data station
Appendix D. Indexing and Multi-File<br />
IJPDS<br />
The following index and multi-file discussion applies to CS220 system<br />
controllers. For the older DS3500/DS3600 printing systems the rules are<br />
slightly different. That information is documented elsewhere.<br />
Reference Guide D - 1
Appendix D. Indexing and Multi-File IJPDS<br />
Basic Index Files (for Single-File IJPDS Jobs)<br />
Basic Index Files (for Single-File IJPDS Jobs)<br />
D - 2 IJPDS Formats<br />
For GEORGE.IJP the index file is GEORGE.NDX in the same directory.<br />
An index file is a file of two or more 32-bit words which are file offsets into<br />
the IJPDS file. Each word is the offset to the block containing the<br />
document being indexed (not the offset of the SDC). Words are 32-bit (it<br />
does not matter if they are signed or unsigned; the maximum value is<br />
2GB, not 4GB) integers in Intel byte-order. (The OS/2-hosted Pentium<br />
controller will use the values directly in fseek() operations.)<br />
The first word is the offset to the block containing the earliest SDC for<br />
Document 1 (whichever RIP that may be); this is always present.<br />
The last word is the offset to the block containing the earliest SDC for the<br />
last document (whichever RIP that may be); this is always present.<br />
If the IJPDS file has more than 99 documents, then additional words are<br />
in the index file (between the first word and the last word) with offsets to<br />
the blocks containing the earliest SDCs for Documents 100, 200, 300,<br />
400, etc. If the file ends with a document number that is a multiple of 100,<br />
then the next-to-last index entry will be the pointer for the last multiple-of-<br />
100 document, and the last entry will be, as always, the pointer to the last<br />
document (even though in this case the last two entries are the same).<br />
Here are some example index files:<br />
IJPDS file Index file<br />
87 documents 2 entries<br />
125 documents 3 entries<br />
800 documents 10 entries<br />
801 documents 10 entries<br />
Entries<br />
for<br />
document<br />
1<br />
87<br />
1<br />
100<br />
125<br />
1<br />
100<br />
200<br />
300<br />
400<br />
500<br />
600<br />
700<br />
800<br />
800<br />
1<br />
100<br />
200<br />
300<br />
400<br />
500<br />
600<br />
700<br />
800<br />
801
Multiple-File (Very Large) Jobs<br />
File Structure<br />
Appendix D. Indexing and Multi-File IJPDS<br />
Multiple-File (Very Large) Jobs<br />
Multi-file jobs were designed to break the 2-gigabyte barrier of maximum<br />
file size imposed by several factors in the implementation of the printing<br />
system (and by NFS when that is the networking protocol). Multi-file jobs<br />
may not change to the second file until after documents have begun to<br />
appear in the data stream. You may not break the job until after all fonts<br />
and fixed files have appeared.<br />
For a duplex process color job (8 RIPs: CMKY front and CMKY back) this<br />
allows a total of just under 2GB of total fonts in the job, or an average of<br />
128MB per RIP (even though the RIP allows up to 256MB).<br />
Break the job on a document boundary. That is to say, as you are<br />
approaching 2GB (or whatever size at which you want to break) finish up<br />
to the same document number for all RIPs, and then break. (No<br />
document should exist partly on one file and partly on the next file.)<br />
Stop at the end of a 4K block. Begin the next file with what would have<br />
been the next 4K block if you were not splitting files. The next IJPDS<br />
record must have the next cyclic count value after the last record in the<br />
previous file. Do not repeat the JC2 in the subsequent files; do not end<br />
the files before the last file with EOJ (End-Of-Job) records. The structure<br />
should be such that if all the multiple files were concatenated together,<br />
they would look like one (albeit too large) correctly-composed IJPDS job.<br />
The system will keep looking for the next file any time it hits end-of-file<br />
without an IJPDS EOJ record.<br />
File Naming<br />
If a job is named “ralph” then the multiple files are named ralph.a01,<br />
ralph.a02, ralph.a03, etc. The filename extensions do not limit you to 99<br />
files. It goes like this: .a01, .a02, .a03... .a98, .a99, .b00, .b01, .b02 ...<br />
.b98, .b99, .c00, .c01, .c02 ... etc. Note the first file is .a01 but the bxx,<br />
cxx, dxx, etc. files run from 00 through 99 (not 01 through 99).<br />
Reference Guide D - 3
Appendix D. Indexing and Multi-File IJPDS<br />
Multiple-File Job index Files<br />
Multiple-File Job index Files<br />
D - 4 IJPDS Formats<br />
Index File Structure<br />
The first index file is the same as a normal .ndx file in a single file job:<br />
pointers to blocks containing 1st document, every multiple-of-100<br />
document, and last document, with the last-document pointer being a<br />
duplicate of the last “every-100 pointer” in the case where the last<br />
document number is a multiple of 100. In the case of the 2nd through last<br />
index files of a multi-file job, the pointers are first, every multiple-of-100<br />
and last (with last duplicating next-to-last if last is a multiple of 100, same<br />
as the first file) but in the special case of the 2nd or subsequent files<br />
starting with a multiple of 100 the index file does not have an extra first<br />
entry as you might suspect, but is in fact made with just the one first entry.<br />
Therefore your routines making index files do not need to treat 2nd or<br />
subsequent files beginning with a multiple of 100 as a special case.<br />
Simply index the first document, every multiple-of-100 document after the<br />
first, and then the last document (even if the last is a 100-multiple and<br />
was indexed by the next-to-last index pointer).<br />
Index File Naming and Location<br />
Old Scheme (Prior to MPC4RUN.EXE Version 1.56)<br />
If a job is named “ralph” and the multiple files are named ralph.a01,<br />
ralph.a02, ralph.a03, etc., the index files are named a01.ndx, a02.ndx,<br />
a03.ndx, etc. and should be placed in a sub-directory named “ralph” in the<br />
system's spool directory (usually on the E: drive on the system). This is<br />
regardless of the location of the IJPDS files.<br />
New Scheme (MPC4RUN.EXE Version 1.56 and Newer)<br />
If a job is named “ralph” and the multiple files are named ralph.a01,<br />
ralph.a02, ralph.a03, etc., the index files are named ralphA01.ndx,<br />
ralphA02.ndx, ralphA03.ndx, etc. and should be placed in the same<br />
location as the IJPDS files unless otherwise specified by the optional<br />
"/IndexPath=" command line parameter for the controller. The index<br />
directory must support long filenames for this scheme (unless the job<br />
filenames are 5 characters or less). The E: drive on the CS220 is<br />
formatted as an HPFS partition and supports long filenames. The D: drive<br />
is formatted as FAT16 and does not support long filenames. Note that we<br />
always recommend that jobs not be placed on D: as that is the OS/2<br />
system drive, is only 500MB in capacity, and is mostly filled with OS/2<br />
system files.
Monochrome RIP Data Structure<br />
CMYK RIP Data Structure<br />
Appendix E. IJQ File Format<br />
The IJQ file is a binary RIP setup file, which is used to set up the RIP<br />
positions, colors, and web sides in the IJPDS proofer software. The IJQ<br />
file must be stored in the same folder as its corresponding IJP file. In the<br />
IJQ file, there are two kinds of RIPs: Monochrome (Spot Color) RIP and<br />
CMYK RIP (which has four spot color RIPs).<br />
An IJQ file contains the RIP count followed by an array of RIP structures<br />
as shown below.<br />
1. BOOL isCMYK; (0 - Monochrome RIP, 1 - CMYK RIP) (0 in this<br />
case) [4 bytes]<br />
2. int web_Side; (0 - Front side, 1 - Back side) [4 bytes]<br />
3. float pos_In_Inches; (RIP position relative to the upper-left corner<br />
of the web template) [4 bytes]<br />
4. int <strong>ijpds</strong>_RIP_ID; (range can be between 0 and 15 including 0 and<br />
15 according to the IJPDS specification) [16 bytes]<br />
5. COLORREF color; (Refer to the WINDOWS SDK for information on<br />
making a COLORREF value based on Red, Green, and Blue<br />
numbers. Example: COLORREF color = RGB(255, 235, 200))<br />
[4 bytes]<br />
1. BOOL isCMYK; (0 - Monochrome RIP, 1 - CMYK RIP) (1 in this<br />
case)<br />
2. int web_Side; (0 - Front side, 1 - Back side)<br />
3. float pos_In_Inches; (RIP position relative to the upper-left corner<br />
of the web template)<br />
4. int <strong>ijpds</strong>_RIP_ID[4]]; (Four RIP IDs must be specified in order of<br />
Cyan, Magenta, Yellow, and Black. Range can be between 0 and 15<br />
including 0 and 15 according to the IJPDS specification) [16 bytes]<br />
Reference Guide E - 1
Appendix E. IJQ File Format<br />
C++ Implementation of the Above Data Structures and Their Serialization<br />
C++ Implementation of the Above Data Structures and Their Serialization<br />
E - 2IJPDS Formats<br />
/////CRIP/////<br />
class CRIP<br />
{<br />
public:<br />
CRIP() {};<br />
~CRIP() {};<br />
};<br />
BOOL isCMYK;<br />
int side;<br />
float posDx;<br />
virtual void Write(CFile &file)<br />
{<br />
file.Write((BOOL *)&isCMYK, sizeof(BOOL));<br />
file.Write((int *)&side, sizeof(int));<br />
file.Write((float *)&posDx, sizeof(float));<br />
}<br />
/////CRIPMono/////<br />
class CRIPMono : public CRIP<br />
{<br />
public:<br />
CRIPMono() {};<br />
~CRIPMono() {};<br />
};<br />
int idRip;<br />
COLORREF rgb;<br />
virtual void Write(CFile &file)<br />
{<br />
CPrefRIP::Write(file);<br />
file.Write((BOOL *)&idRip, sizeof(int));<br />
file.Write((COLORREF*)&rgb, sizeof(COLORREF));<br />
}<br />
/////CRIPCmyk/////<br />
class CRIPCmyk : public CRIP<br />
{<br />
public:<br />
CRIPCmyk() {};<br />
~CRIPCmyk() {};<br />
};<br />
int idRips[4];<br />
virtual void Write(CFile &file)<br />
{<br />
CPrefRIP::Write(file);<br />
for (int i=0; i
Example of File Writing (in MFC and C++)<br />
void GenerateIJQFile()<br />
{<br />
CString ijqFileName = _T("C:\\jobname.ijq");<br />
}<br />
Appendix E. IJQ File Format<br />
Example of File Writing (in MFC and C++)<br />
CFile file(ijqFileName, CFile::modeCreate|CFile::modeWrite);<br />
int ripcount = 4;<br />
file.write((int*)&ripcount, sizeof(int));<br />
CRIPMono monochromeRIP1;<br />
monochromeRIP1.isCMYK = FALSE;<br />
monochromeRIP1.side = 0;<br />
monochromeRIP1.posDx = 0.0;<br />
monochromeRIP1.rgb = RGB(255, 0, 0);<br />
monochromeRIP1.idRip = 0;<br />
monochromeRIP1.Write(file);<br />
CRIPMono monochromeRIP2;<br />
monochromeRIP2.isCMYK = FALSE;<br />
monochromeRIP2.side = 0;<br />
monochromeRIP2.posDx = 1.0;<br />
monochromeRIP2.rgb = RGB(255, 0, 255);<br />
monochromeRIP2.idRip = 1;<br />
monochromeRIP2.Write(file);<br />
CRIPCmyk cmykRIP3;<br />
cmykRIP3.isCMYK = 1;<br />
cmykRIP3.side = 1;<br />
cmykRIP3.posDx = 8.0;<br />
cmykRIP3.idRips[0] = 2;<br />
cmykRIP3.idRips[1] = 3;<br />
cmykRIP3.idRips[2] = 4;<br />
cmykRIP3.idRips[3] = 5;<br />
cmykRIP3.Write(file);<br />
CRIPMono monochromeRIP4;<br />
monochromeRIP4.isCMYK = FALSE;<br />
monochromeRIP4.side = 0;<br />
monochromeRIP4.posDx = 1.0;<br />
monochromeRIP4.rgb = RGB(255, 255, 255);<br />
monochromeRIP4.idRip = 6;<br />
monochromeRIP4.Write(file);<br />
/////end/////<br />
Reference Guide E - 3
Glossary<br />
absolute cursor position A position of the cursor in the page buffer<br />
that is referenced to the upper left corner of the document (X,Y<br />
coordinates = 0,0). See also cursor and relative cursor position.<br />
ASCII American Standard Code for Information Interchange.<br />
A standard 7-bit code used to represent a set of characters numbered<br />
0-127. Extended, or 8-bit, ASCII adds characters 128-255. ASCII is<br />
usually used on PCs, workstations, and most minicomputers.<br />
baseline An imaginary line on which characters sit. Used in category II<br />
font design to allow for different sizes of characters on the same line.<br />
big-endian A computer architecture in which, within a given multi-byte<br />
numeric representation, the most significant byte has the lowest address<br />
(the word is stored “big-end-first”). Most processors, including the IBM<br />
370 family, the PDP-10, the Motorola microprocessor families, and most<br />
of the various RISC designs current in mid-1993, are big-endian.<br />
bitmap An arrangement of dots that represents text or graphics.<br />
A computer uses the dots in an arrangement of binary 1s and 0s to<br />
represent the presence and absence of ink drops and sends this data to<br />
the printheads.<br />
bounding box An imaginary rectangle that encloses a character<br />
image. The rectangle includes only the dots used to make the image.<br />
Spacing around the image is not included. See also character cell.<br />
bpi Bits per inch. A measure of tape density giving the number of bits<br />
that can be recorded on 1 inch (25mm) of magnetic tape.<br />
category I font A KODAK VERSAMARK font that defines characters in<br />
cells that include character and line spacing. Character cells cannot<br />
overlap. Line escapement is in the positive Y direction only. See also font.<br />
category II font A KODAK VERSAMARK font that defines characters in<br />
bounding boxes that contain only the character image. Character<br />
definitions allow both positive and negative X and Y character<br />
escapements and offsets. Line escapement is defined using positive and<br />
negative X and Y values. This font category permits character<br />
overlapping, vertical printing, and right-to-left printing. See also font.<br />
character cell An imaginary rectangle that encloses a character image<br />
and surrounding space. The area can include white space for characterto-character<br />
and interline spacing. See also bounding box.<br />
character escapement The distance the cursor is moved from its<br />
position for the present character to its position for the next character.<br />
The cursor can be moved in both the X and Y dimensions in positive or<br />
negative directions. Character escapement values are specified when<br />
defining the font.<br />
Reference Guide
Glossary<br />
IJPDS Formats<br />
character offset The distance a bounding box is offset from the<br />
current cursor position. The offset can be in both the X and Y dimensions<br />
in positive or negative directions. Character offset values are specified<br />
when defining the font.<br />
character spacing X and Y character spacing values that are<br />
contained in an SFS spacing record. These values are added to the<br />
character escapement values defined in the font.<br />
cue A signal that represents the start of a document. A cue signal<br />
occurs each time the cue sensor detects the leading edge of a piece of<br />
substrate or a preprinted cue mark on a web.<br />
cue mark A preprinted mark on a web that is the reference point for the<br />
start of a new document.<br />
current fixed file The last fixed file to be identified by an SFF, RFF,<br />
SOD, or SDC record. See also fixed files.<br />
current font The font currently in effect. The font specified by the last<br />
IJPDS record executed that contained a font identification field.<br />
cursor A pointer in the page buffer. Cursor position is defined using X<br />
and Y coordinates. See also cursor position, absolute cursor position and<br />
relative cursor position.<br />
cursor position The current position of the cursor in the page buffer.<br />
The cursor is set to the starting position in IJPDS position records, but is<br />
moved by various records such as SFI, IML, SIL, UIL, SPC, BOX, and<br />
IBM according to the rules for the record. For example, when printing a<br />
line of text, the starting position for the line remains the same, but the<br />
cursor moves as each character is placed in the buffer. See also starting<br />
position.<br />
data station The component of the printing system that receives<br />
character-coded input data and produces image data in bitmapped format<br />
that is sent to the printheads at the print stations.<br />
document A unit of input data that is printed in one area of the<br />
substrate. A document may include more than one page. Most common<br />
data preparation establishes one document for each cue mark on a web<br />
or one document for each piece in cut-sheet printing. See also page.<br />
dot 1. The smallest mark that can be printed by the printing system. 2.<br />
The distance between pixels (dots) in the printed image. With a 240-dpi<br />
resolution, a distance of 1 dot equals 1/240 in.<br />
downstream The direction that is the same as substrate movement.<br />
See also upstream.<br />
dpi Dots per inch. A measure of print resolution.<br />
EBCDIC Extended Binary-Coded Decimal Interchange Code. A<br />
standard 8-bit code used to represent a set of characters numbered 0 -<br />
255. EBCDIC is usually used on IBM mainframe and midrange systems.<br />
EOT marker A reflective strip on a magnetic tape that indicates the<br />
end of the physical medium (end of tape).<br />
escapement The distance the cursor is moved for character spacing or<br />
for line spacing. See also character escapement and font escapement.
Glossary<br />
fixed data Print fields containing fixed text and/or graphics that are<br />
printed on every document or on selected documents. See also variable<br />
data.<br />
fixed files Files containing fixed data for each RIP. Fixed files are read<br />
from the job file and stored in the data station. They can be referenced in<br />
the data stream so that the same information does not have to be<br />
repeated. See also current fixed file.<br />
font A collection of characters that have the same typeface, style,<br />
weight, and point size. In KODAK VERSAMARK printing systems, fonts can<br />
also contain graphics identified by one or more characters. See also<br />
category I font and category II font.<br />
font escapement The distance the cursor is moved from its position<br />
for the present line to its position for the next line. The cursor can be<br />
moved in both the X and Y dimensions in positive or negative directions.<br />
Font escapement values are specified when defining the font.<br />
highest row used The Y value of the last dot row used on a page. The<br />
highest row used is one less than the page length which is the number of<br />
rows used (the Y value of the first row is 0).<br />
image A pattern of filled and unfilled dots. It can be a character, a line<br />
of characters, or a graphic.<br />
InterLine Spacing (ILS) The distance, in dots, to be added to the<br />
space between lines specified by the font. This is the Y component of line<br />
spacing. See also line spacing.<br />
job file A file that contains information describing a print job. The file<br />
can contain setup information, fixed messages, font identification, and<br />
variable data.<br />
line spacing X and Y line spacing values that are contained in an SFS<br />
spacing record or as an ILS value in an SOD, SDC, SFI, or SFT record.<br />
The ILS is the Y component of line spacing. These values are added to<br />
the font escapement values defined in the font. See also character<br />
spacing.<br />
logical RIP number A number assigned to each unstitched RIP or pair<br />
of stitched RIPs in the printing system for which the IJPDS job file is<br />
intended. See also physical RIP number.<br />
offset See character offset.<br />
orientation Print fields can be rotated 360° in 90° increments, allowing<br />
4 different orientations of 0°, 90°, 180°, and 270°. See also rotation.<br />
origin The position in the page buffer from which SPO and SPX<br />
commands start their measurement. The origin is set to 0,0 at the start of<br />
each page by SOD, SDC, SOP, or WFC records and is set to the current<br />
cursor position by the SOR record.<br />
page The data for a document in a page buffer. If the document data is<br />
equal to or less than the page buffer length, there is one page per<br />
document. If the document data length is greater than the length of the<br />
page buffer, there are two or more pages per document. See also<br />
document.<br />
Reference Guide
Glossary<br />
IJPDS Formats<br />
page buffer Memory in a RIP in which pages are assembled for<br />
printing. The buffer size is printer dependent.<br />
page length The number of dot rows to be printed. The page length<br />
can be set by the SPL record to be longer or shorter than the image. If<br />
shorter, the image will be clipped. If longer, white space is printed to the<br />
end of the page.<br />
physical RIP number A number assigned to each physical RIP in the<br />
printing system for which the IJPDS job file is intended, regardless of<br />
whether the RIP is stitched or not. See also logical RIP number.<br />
piece A discrete segment of substrate upon which the image is printed.<br />
For example, an envelope.<br />
print station The component of the printing system that receives<br />
image data in bitmapped format from the data station and produces a<br />
printed image as output. Each print station contains a fluid controller,<br />
umbilical, and printhead.<br />
print width The maximum width of the area that can be printed by the<br />
printhead. It is usually given in inches or dots.<br />
printhead The part of the print station that forms charged ink drops,<br />
allows uncharged drops to fall on the substrate, and recovers charged<br />
drops to be returned to the fluid cabinet. The printhead receives data in<br />
bitmapped format from the data station through a fiberoptic cable and<br />
uses ink and charge voltages from the fluid cabinet to create inkjet<br />
images.<br />
raster A rectangular bitmap arranged in rows of dots.<br />
regular font A font that allows characters to be accessed with a 1-byte<br />
code. Up to 256 characters are possible.<br />
relative cursor position A position of the cursor in the page buffer that<br />
is referenced to a position other than the upper left corner of the buffer.<br />
See also cursor and absolute cursor position.<br />
resolution The degree of sharpness of an image created by a<br />
computer, measured in dots per inch (dpi).<br />
resolution multiplier A method of setting a logical resolution for the<br />
current RIP that is higher than the RIP physical resolution. This allows the<br />
data preparation program to specify distances at a resolution higher than<br />
that of the RIP.<br />
RIP Raster image processor. The part of the data station or data<br />
system that builds raster bitmaps from character data received from the<br />
data processor and sends bitmapped data to the printheads.<br />
RIP number A number assigned to each RIP or pair of stitched RIPs in<br />
a printing system. See also logical RIP number and physical RIP number.<br />
rotation Print fields can be rotated to orientations of 0°, 90°, 180°, and<br />
270°. See also orientation.<br />
starting position The last position for the cursor specified by an<br />
IJPDS position record (SPO, SPX, SRP, CSR) or by a page start record<br />
(SOD, SDC, SOP, WFC), which sets the starting position to 0,0. See also<br />
cursor position.
Glossary<br />
stitching The process where a single contiguous image is produced<br />
by two or more printheads.<br />
substrate The surface on which an image is printed. The substrate can<br />
be a continuous sheet (web) or separate pieces of various types of<br />
material.<br />
super font A font that requires characters to be accessed with 2-byte<br />
codes. Up to 65,536 characters are possible.<br />
super RIP Two physically separate RIPs that can be stitched and<br />
treated as a single double-width RIP by the input data.<br />
tape mark A unique code written to magnetic tape to indicate the start<br />
or end of a file. A double tape mark indicates the end of a tape volume.<br />
upstream The direction that is opposite that of the substrate<br />
movement. See also downstream.<br />
variable data Print fields that change from document to document.<br />
See also fixed data.<br />
web A continuous sheet of substrate.<br />
Reference Guide
0113991-602<br />
0113991-603<br />
© <strong>Kodak</strong> Versamark, Inc.