ijpds formats.book - Kodak

kodakversamark.com

ijpds formats.book - Kodak

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.

More magazines by this user
Similar magazines