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