ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzalu_5.4.0.1/rzaluidps.htm

394 lines
21 KiB
HTML

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="dc.language" scheme="rfc1766" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<meta name="dc.date" scheme="iso8601" content="2005-09-06" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow"/>
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<title>IPDS</title>
<link rel="stylesheet" type="text/css" href="ibmidwb.css" />
<link rel="stylesheet" type="text/css" href="ic.css" />
</head>
<body>
<a id="Top_Of_Page" name="Top_Of_Page"></a><!-- Java sync-link -->
<script language = "Javascript" src = "../rzahg/synch.js" type="text/javascript"></script>
<a name="rzaluidps"></a>
<h4 id="rzaluidps">IPDS</h4>
<p>Intelligent Printer Data Stream&trade; (IPDS&trade;) is IBM's host-to-printer
data stream for Advanced Function Presentation&trade; subsystems.
It provides an interface to all-points-addressable (APA) printers that makes
possible the presentation of pages containing an architecturally unlimited
mixture of different data types: high-quality text, raster image, vector graphics,
and bar code.</p>
<p>IPDS incorporates the following functions: </p>
<ul>
<li>Different applications can create source data (graphics, image, bar code,
and text), independently of one another. IPDS makes it possible for the output of these
independent applications to be merged at print time resulting in an integrated
mixed data page.
<p>IPDS makes this possible by carrying independently defined
blocks of data <span class="italic">(objects)</span>. The IBM&reg; 3270 display
data stream also carries similarly defined independent objects, thus making
it possible to use the same objects in both environments.</p></li>
<li>IPDS is independent of the carrying communications protocol. This allows
the transmission of the same data stream to channel-attached printers, controllers,
local area networks, and any other networking link supporting transparent
transmission of data.</li>
<li>IPDS transfers all data and commands through self-identifying structured
fields which describe the presentation of the page and provide for the following:
<ul>
<li>Dynamic management of downloaded resources (overlays, page segments, and
loaded fonts) and resident fonts</li>
<li>Control of device functions such as duplexing, media bin selection, and
output finishing</li>
<li>Comprehensive handling of exception functions, enabling users to control
the level of exception handling.</li></ul></li>
<li>IPDS provides an extensive acknowledgement protocol at the data stream
level. This acknowledgement protocol helps synchronize host and printer processes,
exchange query/reply information, and return detailed exception information.</li></ul>
<p><span class="bold">IPDS functional divisions</span></p>
<p>IPDS architecture is divided into several functional areas, each of which
contains a set of IPDS commands representing a major printer capability.
This function set design allows IPDS to support a wide range of printer products.
Product developers can match function set implementations to the specific
needs of their product. </p>
<div class="mmobj">
<img src="rbaft531.gif" alt="IPDS architecture is divided into several functional areas" /></div>
<dl>
<dt class="bold">Device control</dt>
<dd>Function set is composed of the IPDS commands that set up a page, communicate
device controls, and manage acknowledgement protocol. The device-control function
set is the only mandatory function set for IPDS printers, although not all DC1 orders
are required to be supported.
</dd>
<dt class="bold">Text</dt>
<dd>Function set composed of commands and orders (text controls) required
to present text information on a page, page segment (stored command sequence),
or an overlay (electronic form). The text function set contains two presentation
text (PT) subsets: PT1 and PT2. Text printers support either subset. PT2
is a superset of PT1 and, therefore, all orders contained in PT1 are also
in PT2.
</dd>
<dt class="bold">IM image</dt>
<dd>Function set containing the IPDS commands required to present raster image
data on a page, page segment, or an overlay.
</dd>
<dt class="bold">IO image</dt>
<dd>Function set containing commands that present raster data (similar to
IM image) but with additional functions.
</dd>
<dt class="bold">Graphics</dt>
<dd>Function set composed of the IPDS commands and drawing orders required to
present vector graphics on a page, page segment, or overlay. The graphics
function set contains two drawing (DR) subsets: DR1 and DR2. Vector graphics
printers support DR2, which is a superset of DR1.
</dd>
<dt class="bold">Bar code</dt>
<dd>Function set composed of the IPDS commands required to present machine-readable
bar code information on a page, page segment, or overlay.
</dd>
<dt class="bold">Page segments and overlays</dt>
<dd>Function sets composed of the IPDS commands required to store and present IPDS constructs containing text, graphics, image, and bar code information.
These stored constructs can be either page segments or overlays.
</dd>
<dt class="bold">Loaded font</dt>
<dd>Function set composed of the IPDS commands necessary to load and delete
font information.
</dd>
</dl>
<p><span class="bold">Function-set requirements for IPDS</span></p>
<p>In order to claim support of the IPDS architecture, a product must do the following: </p>
<ul>
<li>Accomplish all required commands in the device-control function set</li>
<li>Accomplish at least one subset of one other data function set</li>
<li>Accomplish all required commands, orders, and controls for each supported
function set or subset.</li></ul>
<p><span class="bold">Return of function-set information</span></p>
<p>A host presentation services program determines the functional capabilities
of an IPDS printer by issuing certain IPDS query commands to the printer and requesting
an acknowledgement. The data that the printer returns in the acknowledge reply
shows the printer type and model, details of the function sets supported,
and a variety of printer characteristics.</p>
<p><span class="bold">The IPDS page environment</span></p>
<p>IPDS creates mixed-data pages within a hierarchy of presentation spaces.
These presentation spaces are: physical page, logical page, and data blocks. </p>
<dl>
<dt class="bold">Physical page</dt>
<dd>The medium (typically paper) on which information is placed. The physical
page has boundaries of width and depth that define the limits of the medium.
</dd>
<dt class="bold">Logical page</dt>
<dd>The electronic representation of the page that is sent to the printer.
The logical page is a rectangular area that might not be the same size as
the physical page on which it is placed. Printing can only occur where the
current logical page intersects the physical page (valid printable area).
</dd>
<dt class="bold">Data blocks</dt>
<dd>Rectangular areas positioned on the logical page. Data blocks can be
one of three types:
<ul>
<li>Image Data Blocks: Raster information</li>
<li>Graphics Data Blocks: Lines, curves, areas, and other drawing elements</li>
<li>Bar Code Data Blocks: Bar-coded, machine-readable characters or human-readable
characters.</li></ul>
<a name="wq30"></a>
<div class="notetitle" id="wq30">Note:</div>
<div class="notebody">There is no text data block. Text can be positioned
anywhere in the valid printable area. Data blocks can be positioned in relation
to the text.</div>
</dd>
</dl>
<p>IPDS has a hierarchical relationship between a physical page, a logical
page, and data blocks. In the following figure, the logical page boundaries
do not correspond to the physical page boundaries.</p>
<div class="mmobj">
<img src="rbaft532.gif" alt="IPDS has an hierarchical relationship between a physical page, a logical page, and data blocks." /></div>
<p>One of the strengths of IPDS is that independent applications can create
source data for each data block. The output of these independent applications
is merged at the printer to create an integrated mixed data page. For example,
text data could be produced on an editor, image data could be the output of
a scanner stored in a folder, and graphics data could be produced by Business
Graphics Utility. IPDS makes it possible to integrate application output
rather than requiring the use of integrated applications.</p>
<p><span class="bold">Overlays and page segments</span></p>
<p>IPDS stores resources in the printer for later use. Overlays and page
segments can be merged with the logical page before the logical page is printed
on the physical page. </p>
<dl>
<dt class="bold">Overlay</dt>
<dd>Macro-like construct loaded by the host processor and sent to the printer's
storage. An overlay can consist of any combination of text data, image block
data, graphics block data, or bar code block data. An overlay contains the
same type of presentation commands used in the logical page, but overlays
are independent of the logical page environment. The major difference between
overlays and logical pages is that overlays are stored until deleted but logical
pages, if stored, are only stored until printed. Overlays are often used as
electronic forms.
</dd>
<dt class="bold">Page segment</dt>
<dd>This is like the overlay in makeup. The difference between a page segment
and an overlay is that page segments are not independent of the page environment;
they are merged with the logical page and assume the currently active environment.
</dd>
</dl>
<p><span class="bold">Loaded fonts</span></p>
<p>A font is a set of characters in a particular type style and size. Fonts
can be downloaded from the host or can be resident in printer storage. Downloaded
fonts are called <span class="italic">loaded fonts</span> and come in one of the
following configurations: </p>
<dl>
<dt class="bold">Coded font</dt>
<dd>A complete code page of graphic characters in a particular style. (A
code page maps each character in a font to a numeric value or code point.)
</dd>
<dt class="bold">Symbol set</dt>
<dd>A set of characters simpler in structure than a coded font. Symbol sets
are used where typographic quality is not required. Many dot matrix printers
and displays use symbol sets.
</dd>
</dl>
<p><span class="bold">Coordinate systems</span></p>
<p><span class="underlined"> Xm, Ym coordinate system (physical page)</span></p>
<p>IPDS uses orthogonal coordinate systems to define any point on a page.
Distances between these coordinate systems are measured in logical units
or <span class="italic">L-units</span> rather than physical pels.</p>
<p>The Xm, Ym coordinate system is the physical-page coordinate system. The
top-left corner of the physical page is always (0,0).</p>
<p>The printer defines the top of a physical page.</p>
<div class="mmobj">
<img src="rbaft533.gif" alt=" Xm, Ym coordinate system (physical page)" /></div>
<p>The Xm, Ym coordinate system is fixed for each media size. IPDS commands cannot
change the orientation of these coordinates.</p>
<p><span class="underlined"> Xp, Yp coordinate system (logical page)</span></p>
<p>The Xp, Yp coordinate system is the logical-page coordinate system. The
origin of this system (Xp=0, Yp=0) is specified as an offset from the physical
page origin (Xm=0, Ym=0) through the Load Page Position command. IPDS commands cannot
change the orientation of the Xp, Yp coordinate system; it is always parallel
to, but offset from, the Xm, Ym coordinate system.</p>
<p>The size of the logical page in the Xp dimension is called the <span class="italic">Xp extent</span>. The size of the logical page in the Yp dimension is called
the <span class="italic">Yp extent</span>. The Xp, Yp coordinate system is used
to locate data blocks on the logical page.</p>
<p>The coordinate system for overlays is the same as the Xp, Yp coordinate
system for logical pages.</p>
<div class="mmobj">
<img src="rbaft534.gif" alt=" Xp, Yp coordinate system (logical page)" /></div>
<p><span class="underlined"> I, B Coordinate System (Text)</span></p>
<p>The Inline, Baseline (I, B) coordinate system describes the placement of
data blocks on the logical page. The printer places characters along the I-axis
to form a line of text and places lines of text along the B-axis on the logical
page. IPDS commands can change both the origin and the orientation of the inline
and baseline axes.</p>
<p>As characters are developed on the page, the inline coordinate is incremented
in the <span class="bold">positive inline</span> (or +I) direction. As lines are
developed on the page, the baseline coordinate is incremented in the <span class="bold">positive baseline</span> (or +B) direction.</p>
<a name="wq31"></a>
<div class="notetitle" id="wq31">Note:</div>
<div class="notebody">Characters are developed
on a page in the direction in which they will be read (left to right, for
example). The printer can actually place characters or lines on a page in
various directions (as in bidirectional printing).</div>
<p>The coordinates of the first text position on the logical page are called
the initial inline text coordinate (Io) and the initial baseline text coordinate
(Bo). The coordinates of the current position on the logical page are called
the current inline text coordinate (Ic) and the current baseline text coordinate
(Bc).</p>
<div class="mmobj">
<img src="rbaft535.gif" alt="The coordinates of the first text position on the logical page are called the initial inline text coordinate (Io) and the initial baseline text coordinate (Bo). The coordinates of the current position on the logical page are called the current inline text coordinate (Ic) and the current baseline text coordinate (Bc)." /></div>
<p><span class="bold">Processing IPDS commands</span></p>
<p>The structured field format of IPDS allows commands to be sent to the printer
in a continuous stream. Each command is self-describing. The command length,
identifier, flag byte, and data (not always present) are all part of each
command. The printer-host conversation is carried on as if IPDS commands were
processed in sequential order by the printer.</p>
<p>Every IPDS command contains a flag byte. The setting on the acknowledgement-required
bit on this flag byte indicates the end of a command sequence to the printer.
The printer then sends an acknowledge reply to the host, as illustrated in
the following diagram:</p>
<div class="mmobj">
<img src="rbaft536.gif" alt="Processing IPDS Commands" /></div>
<p><span class="bold">The IPDS command format</span></p>
<p>All IPDS commands are encoded in the following format: </p>
<a name="wq32"></a>
<table id="wq32" width="100%" summary="" border="1" frame="border" rules="all" class="singleborder">
<tbody valign="top">
<tr>
<td width="17%">Length</td>
<td width="23%">Command</td>
<td width="10%">Flag</td>
<td width="19%">CID</td>
<td width="28%">Data</td>
</tr>
</tbody>
</table>
<dl>
<dt class="bold">Length</dt>
<dd>A 2-byte field that specifies the length of the command. This count
includes itself, the command field, the flag byte and the optional correlation
ID (CID), and data fields. The length field can range from X'0005' to X'7FFF'.
</dd>
<dt class="bold">Command</dt>
<dd>A 2-byte field that specifies the IPDS command.
</dd>
<dt class="bold">Flag</dt>
<dd>A 1-byte field that contains the IPDS command stream flags.
<ul>
<li>Bit 0 is the acknowledgement required (ARQ) flag. If this bit is on, the
host requests the printer to send an acknowledge reply.</li>
<li>Bit 1 is the correlation ID (CID) flag. If it is on, a 2-byte correlation
ID follows. If it is off, the CID is not present and the following bytes (if
any) contain the data field.</li></ul>
</dd>
<dt class="bold">CID (correlation ID)</dt>
<dd>A 2-byte field that specifies an identifier for the command. A presentation
services program can use any value between X'0000' and X'FFFF' for the correlation
ID.
</dd>
<dt class="bold">Data</dt>
<dd>Not present for all commands. If present, it contains specific orders,
parameters, and data appropriate for the given command.
</dd>
</dl>
<p><span class="bold">IPDS operating states</span></p>
<p>IPDS commands are defined within the context of printer operating states.
The printer moves between these operating states during command processing. IPDS printers are <span class="italic">state machines</span> with the following
operating states:</p>
<ul>
<li>Home state</li>
<li>Block state
<ul>
<li>IO image block state</li>
<li>IM image block state</li>
<li>Graphics block state</li>
<li>Bar code block state.</li></ul></li>
<li>Page state</li>
<li>Overlay state</li>
<li>Page segment state</li>
<li>Font state</li>
<li>Any-state</li></ul>
<dl>
<dt class="bold">Home state</dt>
<dd>The initial IPDS operating state. The printer returns to home state
at the end of each downloaded page, page segment, coded font, or overlay.
<p>While in home state, the printer receives control and initialization commands
to prepare for the print operation. In home state, the printer can also receive
commands that delete resources or request the return of printer information
to the host presentation services program.</p>
</dd>
<dt class="bold">Block states</dt>
<dd>State for establishing the initial processing conditions for a block
of data and placing the block of data on the logical page, page segment or
overlay. The printer can only enter a block state from page, page segment,
or overlay states.
</dd>
<dt class="bold">Page state</dt>
<dd>The operating state for printing a logical page. The printer enters
page state from home state on receiving a Begin Page command and exits on
receiving an End Page command.
<p>In page state, the printer can receive commands
that merge previously defined and loaded overlays and page segments with the
current page information. The printer can also receive Write Text commands
that position text on the logical page and can enter a block state to write
image, bar code, and graphics blocks.</p>
</dd>
<dt class="bold">Overlay state</dt>
<dd>State that allows overlay data to be stored in the printer. The printer
enters overlay state from home state on receiving a Begin Overlay command
and exits on receiving an End Page command.
<p>In overlay state, the printer
can receive commands that merge previously defined and loaded overlays and
page segments with the current page information. The printer can also receive
Write Text commands that position text on the logical page and can enter a
block state to write image, bar code, and graphics blocks.</p>
</dd>
<dt class="bold">Page segment state</dt>
<dd>State that allows page segment data to be stored in the printer. The
printer enters page segment state from home state on receiving a Begin Page
Segment command and exits on an End Page command.
<p>In page segment state,
the printer can receive Write Text commands that position text on the logical
page and can enter a block state to write image, bar code, and graphics blocks.</p>
</dd>
<dt class="bold">Font state</dt>
<dd>State that allows the printer to receive downloaded coded-font data.
The printer enters font state from home state on receiving a Load Font Control
command.
<p>While the printer is in font state, the Load Font command can send
coded-font, character-raster pattern data to the printer. Receipt of an End
command returns the printer to home state.</p>
</dd>
<dt class="bold">Any-state</dt>
<dd>Some IPDS commands can be received in any IPDS operating state. These commands do not
change the IPDS operating state, with the exception of XOA Discard Buffered Data.
</dd>
</dl>
<p><span class="bold">Default handling</span></p>
<p>Defaults are values used as control parameters when no other values are
specified in the current command. IPDS defaults are called through omission or
through values transmitted in the data field portion of commands. The IPDS default structure is normally hierarchical. General IPDS default rules
are: </p>
<ul>
<li>If power has been interrupted or if the printer has been initialized,
printer-established page default values are used until specific IPDS default values
are received.</li>
<li>Initial page values are established when the printer receives a Load Page
Descriptor command. If no such command is received, printer-established default
values remain in effect.</li>
<li>Initial data block values are established when the printer receives either
a Write Image Control, Write Image Control 2, Write Bar Code Control, or Write
Graphics Control command. These values remain in effect until data controls
override them or until the printer receives an End command that ends the block.</li></ul>
<a id="Bot_Of_Page" name="Bot_Of_Page"></a>
</body>
</html>