VIPP Reference Manual v5 PDF
VIPP Reference Manual v5 PDF
VIPP Reference Manual v5 PDF
Version 5.0
September 2003
721P83359
©1999, 2000, 2001, 2002, 2003 by Xerox Corporation. All rights
reserved.
Getting started
VIPP and PostScript ......................................................................................................... 1-1
VIPP program overview .................................................................................................... 1-2
VIPP-enabled devices ........................................................................................... 1-3
VIPP features and functions................................................................................... 1-3
Documentation overview ................................................................................................... 1-5
Contents .............................................................................................................. 1-5
Conventions ......................................................................................................... 1-7
VIPP documentation and training ....................................................................................... 1-8
VIPP resources
Resource types ................................................................................................................ 9-1
VIPP Project ........................................................................................................ 9-2
VIPP core and setup files ...................................................................................... 9-2
Fonts................................................................................................................... 9-3
Font encoding........................................................................................... 9-4
VIPP font lists and encoding tables ............................................................. 9-5
Adding fonts in the VIPP IDE...................................................................... 9-8
Forms.................................................................................................................. 9-9
Segments ............................................................................................................ 9-9
Images ................................................................................................................ 9-9
Job Descriptor Tickets......................................................................................... 9-10
XML Job Tickets ................................................................................................. 9-10
Data Base Masters ............................................................................................. 9-10
Distribution lists .................................................................................................. 9-11
Text files ............................................................................................................ 9-11
Resource access and management.................................................................................. 9-12
NEWSIDE...................................................................................................... 11-110
NL................................................................................................................. 11-111
NMP_off ........................................................................................................ 11-111
OFFSET_off................................................................................................... 11-112
OFFSET_on................................................................................................... 11-112
ONEUP ......................................................................................................... 11-113
ORIBL ........................................................................................................... 11-113
ORITL ........................................................................................................... 11-113
OVERPRINT_on............................................................................................. 11-114
PAGEBRK ..................................................................................................... 11-115
PAGERANGE ................................................................................................ 11-116
PDF417 ......................................................................................................... 11-117
PDFDEST...................................................................................................... 11-119
PDFINFO....................................................................................................... 11-120
PDFOPEN ..................................................................................................... 11-121
PORT ............................................................................................................ 11-122
PRECACHE ................................................................................................... 11-122
PROCESSDJDE............................................................................................. 11-123
QSTRIP_on ................................................................................................... 11-124
REPEAT ........................................................................................................ 11-126
RESET .......................................................................................................... 11-128
RPEDEF........................................................................................................ 11-129
RPEKEY........................................................................................................ 11-131
RSAVE .......................................................................................................... 11-133
RUN .............................................................................................................. 11-134
RUNDD ......................................................................................................... 11-136
RUNTIF ......................................................................................................... 11-140
SAVEPP ........................................................................................................ 11-140
SCALL........................................................................................................... 11-141
SETBAT ........................................................................................................ 11-144
SETBFORM ................................................................................................... 11-146
SETBUFSIZE ................................................................................................. 11-147
SETCOL ........................................................................................................ 11-148
SETCOLWIDTH ............................................................................................. 11-148
SETCYCLECOPY........................................................................................... 11-149
SETDBSEP.................................................................................................... 11-150
SETDLFILE.................................................................................................... 11-151
SETENCODING ............................................................................................. 11-152
SETEPATH.................................................................................................... 11-153
SETFONT...................................................................................................... 11-154
SETFORM ..................................................................................................... 11-155
SETFPATH .................................................................................................... 11-157
SETFRAME ................................................................................................... 11-157
SETFTSW ..................................................................................................... 11-158
SETGEP........................................................................................................ 11-159
SETGRID ...................................................................................................... 11-160
SETGUNIT .................................................................................................... 11-160
SETINDENT .................................................................................................. 11-161
SETIPATH ..................................................................................................... 11-161
SETJDT......................................................................................................... 11-162
SETJPATH .................................................................................................... 11-163
SETKERN...................................................................................................... 11-164
SETLFI .......................................................................................................... 11-165
SETLKF......................................................................................................... 11-166
XMLDTH........................................................................................................ 11-290
XMLPAR........................................................................................................ 11-290
XMLPATH...................................................................................................... 11-290
XMLTAG........................................................................................................ 11-290
XMLVAL ........................................................................................................ 11-291
YINIT............................................................................................................. 11-291
Parameters................................................................................................................ 11-292
Parameter categories ...................................................................................... 11-293
Parameter descriptions ................................................................................... 11-294
VIPP commands by function........................................................................................ 11-302
VIPP variables by type ................................................................................................ 11-315
Error messages
PostScript...................................................................................................................... 12-1
Selected pages: <first> <last>.......................................................................................... 12-1
Selected booklets: <first> <last> ...................................................................................... 12-1
VIPP_access_denied...................................................................................................... 12-1
VIPP_AFM_parsing_error ............................................................................................... 12-1
VIPP_ambiguous_name in _name ................................................................................... 12-2
VIPP_buffer_overflow ..................................................................................................... 12-2
VIPP_corrupted_or_unsupported_image_file..................................................................... 12-2
VIPP_invalid_align in SHMF ............................................................................................ 12-2
VIPP_invalid_align in SHP .............................................................................................. 12-2
VIPP_invalid_align in SHX .............................................................................................. 12-2
VIPP_invalid_booklet_length ........................................................................................... 12-2
VIPP_invalid_contents in ENDPAGE ................................................................................ 12-3
VIPP_invalid_license_file ................................................................................................ 12-3
VIPP_invalid_PIF_type ................................................................................................... 12-3
VIPP_invalid_PN_option ................................................................................................. 12-3
VIPP_invalid_syntax in RPE ............................................................................................ 12-3
VIPP_invalid_syntax in SETBAT ...................................................................................... 12-3
VIPP_invalid_syntax in SETMULTIUP .............................................................................. 12-3
VIPP_invalid_VSUB........................................................................................................ 12-4
VIPP_length_error in ENDPCC ........................................................................................ 12-4
VIPP_length_error in RPE ............................................................................................... 12-4
VIPP_license_failed........................................................................................................ 12-4
VIPP_misplaced in SETPAGESIZE .................................................................................. 12-4
VIPP_OMR_invalid_response_string ................................................................................ 12-4
VIPP_PDF417__data_limit_exceeded .............................................................................. 12-4
VIPP_PDF417__invalid_mode......................................................................................... 12-5
VIPP_POSTNET_invalid_digit ......................................................................................... 12-5
VIPP_POSTNET_invalid_length ...................................................................................... 12-5
VIPP_RPE_invalid_prefix ................................................................................................ 12-5
VIPP_RPE_invalid_prefix_length ..................................................................................... 12-5
VIPP_SETVAR_invalid_name ......................................................................................... 12-5
VIPP_unable_to_locate................................................................................................... 12-5
Limitcheck error ............................................................................................................. 12-6
PostScript Error - dictfull / Offending Command:def ........................................................... 12-6
Stack Overflow error in Ghostscript .................................................................................. 12-6
Decomposition Services
Referencing forms decomposed in DocuPrint NPS ............................................................ 15-1
Referencing forms decomposed in the DocuSP ................................................................. 15-2
Referencing images decomposed in DocuPrint NPS .......................................................... 15-3
Referencing images decomposed in DocuSP .................................................................... 15-4
Decomposition Services hints and tips.............................................................................. 15-4
Decomposition document in the Data Base Master................................................. 15-5
Decomposition form performance ......................................................................... 15-7
Decomposition TIFF file placement....................................................................... 15-7
Importing forms from the DocuPrint NPS decomposition directory............................ 15-7
LCDS migration
General description ........................................................................................................ 16-1
Basic LCDS ................................................................................................................... 16-2
LCDS and VIPP resources .............................................................................................. 16-3
Creating the JDT file from the JSL ........................................................................ 16-3
LCDS and VIPP commands............................................................................................. 16-4
Conversion examples ..................................................................................................... 16-6
OUTPUT and RTEXT.......................................................................................... 16-6
CME.................................................................................................................. 16-7
RPAGE.............................................................................................................. 16-8
Translating DJDE records.................................................................................... 16-9
Standard SYSOUT printing .................................................................................. 16-9
PCC bytes ......................................................................................................... 16-9
Font index.......................................................................................................... 16-9
LCDS migration hints and tips........................................................................................ 16-10
Comparable FDL section commands in VIPP ...................................................... 16-10
Converting LCDS resources to VIPP resources ................................................... 16-10
Using the fsl2xgf utility....................................................................................... 16-11
Handling host banner pages .............................................................................. 16-12
Testing for banner criteria .................................................................................. 16-12
Index
VIPP-enabled devices
A VIPP imager (PostScript-enabled printer, fax machine, computer
screen, etc.) can run VIPP either permanently or on a job-by-job basis. To
use VIPP capabilities with a VIPP imager:
• Embed VIPP commands in your print data
• Describe your document layout in a Job Descriptor Ticket (JDT),
XML Job Ticket (XJT), or a Data Base Master (DBM), which you then
make available to the VIPP imager
When ever possible use supported devices that run a PostScript
interpreter with access to a local file system (for example, a DocuPrint
NPS, DocuSP, or a PC or UNIX workstation). These devices access VIPP
resources in shared libraries on that file system. In addition, other file
systems can be NFS mounted to provide additional resource libraries.
Desktop VIPP-enabled printers, such as N-Series, DocumentCentre, or
Phaser printers, can also access VIPP on a local file system.
When devices with access to a local file system are not available, use
supported devices that run a PostScript interpreter without a file system
(for example, a diskless DocuPrint N40). These devices must embed
resources in the data stream before a file is submitted to the printer.
Documentation overview
The VIPP Reference Manual is intended for this audience:
• Application programmers who want to produce a VIPP data stream
(native mode users).
• Layout designers who want to use VIPP to encode the layout
definitions (line, database, and XML mode users).
• Developers of advanced layout design applications who want to
include VIPP as a format for the resources produced by their
products (for example, VIPP emitters).
It is assumed that you have:
• A basic knowledge of the VIPP program and programming
techniques
• A working knowledge of your computer and its operating
conventions, including how to:
— use a mouse and standard menus and commands.
— open, save, and close files.
Contents
This information is included:
Section One: Introduction:
• “Getting started” provides an overview of the VIPP software and this
documentation.
• “VIPP data streams” describes native, line, database, and XML
mode data streams in relation to VIPP.
Section Two: Installing VIPP:
• “VIPP licensing and installation” provides an overview of the
licensing and software installation instructions for various VIPP
devices, including contact information.
• Installing VIPP on DocuPrint NPS devices describes the installation
process for NPS devices.
• Installing VIPP on DocuSP devices describes the installation
process for DocuSP devices.
• Installing VIPP on Creo or EFI DFEs describes the installation
process for Creo and EFI Digital Front Ends (DFEs).
• “Installing the VIPP API for DigiPath” details the installation and
configuration requirements for the VIPP/DigiPath interface.
Conventions
Format changes have been made in the Variable Data Intelligent
PostScript PrintWare (VIPP) Reference Manual to facilitate delivery and
use of the documentation in various electronic formats. When viewed
online, active links to referenced subject matter are indicated by light blue
text, and are also provided in the index and table of contents.
In addition to active links, these conventions are used:
• UPPERCASE text is used to denote:
— VIPP commands
— GEPkeys
— Colorkeys
— Dynamic variables
• Italicized text is used to denote:
— Command parameters
— Directory, path, and file names
— Variable data
— Titles of documents
• Code examples appear in dark green monospaced type.
• Single commands or several logically linked commands are listed on
a single line. It is recommended that you adopt this practice.
• Commands start in the first position on a line. It is recommended that
you adopt this practice.
• All coordinates and dimensions specified as command parameters,
except SETFONT and INDEXFONT, are specified in units of
measure defined by SETUNIT and SETGUNIT. For example, inches,
cm, mm, and 1/300-inch.
• UNIX file hierarchy conventions are used when referring to library
and file paths. When using VIPP from any other file system, you
must convert the paths according to your system requirements. For
example, the UNIX path /usr/xgf/formlib may become C:\xgf\formlib
in DOS and Windows environments.
Native mode
VIPP native mode refers to files comprised of VIPP commands only.
These commands are used to place text, images, graphics, logos, forms,
and segments directly on a page.
Native mode can be used for these purposes:
• To produce a VIPP native mode data stream that directly controls the
page composition process. Production of the data stream is
accomplished using an application, a converter, or a postprocessor.
• To encode resources such as forms, segments, JDTs, and DBMs.
Resources are encoded by the layout designer using a text editor or
any advanced VIPP user interface such as VIPP IDE.
Native mode commands may also be embedded in line mode data
streams. Refer to “Native mode prefix” for more information.
VIPP native mode files are processed directly by the PostScript
interpreter. There is no explicit native mode invocation for these files. For
this reason, native mode is the default VIPP mode.
Line mode
Line mode refers to legacy type data streams, such as LCDS applications,
and is sometimes referred to as “line” or “print ready” data. (For more
information, refer to “LCDS migration.”) Data typically consists of ASCII or
EBCDIC with fixed or variable length records, and also includes prefixed
(tagged) and/or field delimited data streams. Line mode allows you to
read, process, and format the line printer data, line-by-line and
column-by-column. It is most often used for transactional type
applications such as a telephone billing statement.
Use the VIPP STARTLM command to start line mode.
With line mode, the page composition of the line printer data is controlled
by a JDT, which is provided as a parameter to the VIPP line mode initiator
command (STARTLM). A JDT is a file that contains the VIPP commands
used to define the desired presentation of the line printer data.
Line mode is further divided into two presentation options, defined in
these sections:
• Listing
• Record processing entry
Listing
The listing presentation option is the line printer emulation presentation
used to print internal sysouts that do not require sophisticated
presentation capabilities.
When this option is used, page layout features such as orientation,
margins, grid, font, and form are defined globally for a page using a JDT.
In addition, page numbering, automatic zebra striping, and frame
generation can also be used.
The automatic font scaling feature allows scaling of a fixed pitch font
according to the grid, which is the number of characters per line (CPL) and
number of lines per page (LPP). Refer to SETFONT for further
information.
Page delimiting is controlled by setting a maximum number of LPP or
using an explicit page delimiter such as Form Feed (FF) or Skip to
channel one when PCC is used. Refer to SETGRID, SETPCC, SETPBRK,
and SETSKIP for more information.
The listing presentation option is initiated by a STARTLM sequence
invoking a JDT with listing specifications.
Database mode
Database mode is used to process a single file containing delimited
records. The delimited file is typically created as an extraction or query
from a relational database. Applications processed using database mode
include mail-merge or promotional applications.
Database mode uses these file types:
• Database file
• Database Master (DBM) for processing variable fields
• JDT for global page layout definitions (optional)
Records in a database file may be fixed or variable in length, and must
have the same sequence and number of fields. Use the SETDBSEP
command to define the field delimiter as any character such as a comma.
The structure of the database file is defined in the first record, which
consists of the field names and their sequence within the record.
A Database Master is a template file in which field names are used as
place holders for each variable item. It can also reference other VIPP
resources such as segments and images. The DBM is coded in VIPP
native mode. PostScript cannot be used to code a DBM because
PostScript drivers do not allow place holders. PostScript or EPS files can
be called as forms or segments in a DBM.
NOTE: Use .dbf and .dbm extensions for database files and database
masters to facilitate file type identification.
XML mode
XML mode enables the processing of XML data.
XML mode is initiated by a STARTXML sequence. This sequence may be
placed at the beginning of an XML file (together with an initial “%!” line) or
used in a submission file after a SETLMFILE sequence that references an
XML file.
The name of an XJT must be provided as an operand to STARTXML.
An XJT is a file that contains instructions on how to process and arrange
the XML data into a document. It is similar to a line mode JDT. It contains
all global layout definitions for the document (orientation, forms, medias,
frames, fonts, colors, etc.) plus an XML Processing Definition (XPD) table
that describes specific actions to be performed on specific XML tags.
XML variables
During the processing of an XML file VIPP accumulates the node contents
and places them into a dictionary of variables. Each variable is registered
with a “VIPP XML Variable path” (VXVpath). A VXVpath for a given node
content consists of all the parent node names including the node itself
preceded by a carat (^).
<invoices>
<invoice>
<customer>
<fname>John</fname>
<lname>Smith</lname>
<phone type=”home”>111.111</phone>
<phone type=”work”>222.222</phone>
....
</customer>
...
</invoice>
...
</invoices>
^invoices^invoice^customer^fname
If a node tag has attributes, the attribute values will be registered with a
VXVpath created by concatenating the VXVpath of the node and the
attribute name preceded by "@". In the example above, the attribute
values "home" and "work" will be registered with this VXVpath:
^invoices^invoice^customer^phone^@type
^invoice^customer^fname^customer^fname^fname
Example: Assuming the XML data above, the phone numbers may be registered by
this code during the processing of the “phone” data:
BTA /customer^phone {}
{ CASE ^phone^@type {}
(home) { /^customer^hphone ^phone SETVAR }
(work) { /^customer^wphone ^phone SETVAR }
ENDCASE
} ETA
^invoices^invoice^customer^hphone
^invoices^invoice^customer^wphone
This more streamlined coding can be used to produce the VXV paths that
follow:
BTA /customer^phone {}
{ (^customer^$$^phone^@type.phone) VSUB ^phone SETVAR } ETA
^invoices^invoice^customer^homephone
^invoices^invoice^customer^workphone
[ /ChkResources PD ] SETPARAMS
Record structures
These record structures are supported by VIPP:
• Record length — either variable or fixed length
• Vertical control — through control codes or Printer Control
Characters (PCC)
• Line printer and field delimited data
• Prefix — either non-prefixed or prefixed data
• XML
Record length
Records may have either a variable or fixed length.
A record with variable length format is a succession of bytes ending with
a valid record delimiter such as a LF, CR, or CRLF. This is the default.
Maximum record length is provided by the SETBUFSIZE command.
A record with fixed length format consists of a fixed number of bytes
regardless of the content. Record size is provided by the SETBUFSIZE
command (F) option.
Vertical control
Vertical spacing is controlled by control codes or by Printer Control
Characters (PCC).
Control codes control vertical spacing with specific control characters
(such as CR, LF, or FF) in the data stream. This is the default.
Printer Control Characters (PCC) inserted as the first byte of each record
will control vertical spacing. Refer to BEGINPCC and SETPCC for PCC
definition and enabling information.
Keep this information in mind:
• Vertical control mechanisms are exclusive. When PCC is used, FF
are processed as print data. CR and LF are processed as record
delimiters but do not influence the vertical spacing. For this reason
CR and LF cannot be used as PCC values for variable length
records as they are first interpreted as record delimiters.
• On fixed length records, CR and LF are processed as print data. If
no PCC is used each record is assigned a print-and-space spacing.
• On variable length records with no PCC, the sequences CR, LF, and
CRLF are all equivalent to print-and-space. Specific overprint
processing (single CR) may be enabled using the OVERPRINT_on
command.
• When no PCC is used, an FF occurring in the middle of a record
causes the record to be split in 2 parts. This behavior (as well as the
value of the FF sequence) may be changed by the SETPBRK
command.
• Advanced vertical control is also available through the SETSKIP
command. Refer to SETSKIP for more information.
• Vertical control only applies to line mode. In database mode vertical
control is performed by native mode commands in the DBM.
Prefix
A prefixed record consists of a prefix followed by data (line printer or field
delimited) related to the prefix. This format is intended for use with the
RPE presentation option, which allows you to locate and place each field
in the record.
Prefix is a compact format that does not contain unnecessary spaces.
This format is provided for applications such as invoices or bank
statements that have an indeterminate number of data items per page.
Mode/Presentation option
Record type Listing RPE DBM XML
Line printer VL / no PCC VL / no PCC VL / no PCC N/A
VL / PCC VL / PCC FL / no PCC
FL / no PCC FL / no PCC
FL / PCC FL / PCC
Prefix VL / no PCC VL / no PCC VL / no PCC N/A
VL / PCC VL / PCC FL / no PCC
FL / no PCC FL / no PCC
FL / PCC FL / PCC
Field VL / no PCC VL / no PCC VL / no PCC N/A
delimited VL / PCC VL / PCC FL / no PCC
FL / no PCC FL / no PCC
FL / PCC FL / PCC
XML VL / no PCC N/A N/A XJT
Functions
VIPP functions include:
• Orientation settings, including:
— portrait
— landscape
— inverse portrait
— inverse landscape
• Font selection, including:
— horizontal and vertical independent scaling
— outline
— background
— kerning
• Font re-encoding
• Absolute placement coordinates
• Text alignment, including:
— left
— right
— center
— justified
— rotation to any angle
• Line spacing
• Form and back form enabling for use with cycle forms, multiple
levels, and the copy sensitive option
• Variable storage in a file for later use.
• Segment call (refer to “VIPP resources” for further information)
• Image call with scaling, alignment, and rotation options for TIFF,
EPS, and JPEG files
• Print multiple TIFF, RDO, and Decomposed files as a booklet and
print TIFF files that contain multiple pages as a single document
• Box, circle, and polygon drawing with the filled or outlined options
• Media selection with the cycle media and copy sensitive options, and
ability to insert slipsheets in the middle of a job
• Color or gray level settings for text and images
• Cyclecopy, based on page, set, or document settings, as well as
copy sensitive options
• Multi-up printing
• Automatic page numbering
• Conditional processing
Conditional processing
Use conditional processing functions for VIPP to trigger dynamic variants
in the processing and layout of data during a job.
Conditions may be set at the page, record, or field level. Refer to
commands like SETRCD, SETPCD, IF/ELSE/ENDIF, CASE, and RPE
conditional entries for more information.
Dynamic boxes
The dynamic box feature allows you to draw boxes dynamically based on
the variable data submitted in a VIPP application. This allows boxes to be
correctly drawn around data, regardless of the number of lines included in
the box.
In native mode and database mode, this feature can be invoked with the
SAVEPP and related SHPOS, SVPOS, HDISP, and VDISP commands.
In line mode, this feature can be invoked in one of two ways:
• Using the capability of RPE entries to call segments with the SCALL
command in the “align procedure” parameter. Segments can be
defined within the JDT using XGFRESDEF. Each segment will
dynamically draw specific elements of the boxes (top, sides, bottom,
etc.). Refer to “Example 6: Bank statement using dynamic boxes and
Data Driven Graphics,” and to the demonstration jobs dynbox3.lm
and samddg.lm for further information.
• Using RPEPOS in a procedure defined by ENDPAGE. For more
information, refer to the examples of RPEPOS in “The VIPP
language.”
In any mode, Background Attributes (BATkey) can be used to highlight
specific records or fields individually. Refer to SETBAT, SETTXB, and
INDEXBAT.
Distribution list
As an alternative to SETCYCLECOPY, use the distribution list (DL)
feature (also referred to as set labeling) to obtain multiple copies of a
document. For example, use this feature to produce a report or
publication for distribution to a list of addressees.
SETDLFILE associates a DL file and a JDT and produces cover pages at
the beginning of each set of the document. These pages are created by
processing the DL file using the associated JDT and performing the same
process as STARTLM. The number of copies produced is equal to the
number of pages in the DL files. SETCYCLECOPY cannot be used when
using this feature.
SETDLFILE can be used in a native mode file, a JDT, or a submission file.
End of file
VIPP automatically terminates line mode, database mode, or XML mode
and performs a RESET when these situations occur:
• At end of file. End of file can be either physical, when the file is
spooled to the DocuPrint NPS and DocuSP controllers, or at a
timeout when the file is received on a communication channel, such
as on a parallel port on a DocuPrint N40.
• When the printer reaches a record that begins with the PostScript
end of file indicator (%%EOF).
• When the printer reaches a record that begins with the start of a new
PostScript file indicator (%!).
To concatenate independent jobs in the same print file, restart line mode
or database mode by coding a new STARTLM/STARTDBM command and
referencing a new JDT or DBM after the %%EOF record, as illustrated in
this example.
%!
(job1.jdt) STARTLM
first batch of data formatted according to job1.jdt
...........
last line of batch 1
%%EOF
(job2.jdt) STARTLM
second batch of data formatted according to job2.jdt
...........
last line of batch 2
%%EOF
.........
end of page n
<FF>%%XGF (xyz.jdt) SETJDT
start of page n+1
....
“<FF>” in the above example indicates the form feed character in the data
file.
Coding examples
This section contains VIPP coding examples for these modes:
• Native mode coding
• Line mode file
• Job Descriptor Ticket
• Database file
• Data Base Master file
Additional coding examples can be found in “VIPP file examples.”
%!
LAND % Set landscape orientation
(TBC12.frm) SETFORM % Set form to be used for the document
175 2292 MOVETO % Set current print position
(TBClogo.tif) 1 0 ICALL % Print a TIFF image at that location
/NHEB 18 SETFONT % Set current font
720 2240 MOVETO % Set new current print position
(Trade Bank Corp.) SHC % Print text centered at current pos.
.....
PAGEBRK % End of page
%!
(r4.jdt) STARTLM
SALES REPORT - Europe
Product Division France U.Kingdom Germany Spain Total
...
BUSINESS DIVISIONS
Personal Document Products 230.120 340.200 190.200 210.000 2.234.000
Office Document Systems 210.000 540.000 200.400 123.040 1.200.000
Office Document Products 210.000 540.000 200.400 123.040 1.200.000
Xsoft 230.120 340.200 190.200 210.000 2.234.000...
%%EOF
%!
%%Title: r4.jdt
%%CreationDate: may 93
%%Creator: JYB/RXCH
%%Copyright: (C) 1993 by Rank Xerox AG (RXCH). All right reserved.
%-----------------------------------------------------------------------
% set orientation
%-----------------------------------------------------------------------
ILAND % PORT - Portrait IPORT - Inverse Portrait
% LAND - Landscape ILAND - Inverse Landscape
%-----------------------------------------------------------------------
% set forms and media (1 copy)
%-----------------------------------------------------------------------
2 SETMAXFORM
(xgfts3.frm) 0 SETFORM
(rxlogo.frm) 1 SETFORM
%-----------------------------------------------------------------------
% set RPE fonts
%-----------------------------------------------------------------------
/F1 /NHEB 9 13 INDEXFONT
/F2 /NHEB 10 15 INDEXFONT
/F3 /NHEB 13 15 INDEXFONT
/F4 /NHEB 22 18 INDEXFONT
/F5 /NHEB 13 INDEXFONT
/F6 /NHEB 60 20 INDEXFONT
%-----------------------------------------------------------------------
% RPE definition
%-----------------------------------------------------------------------
4 BEGINRPE
% Almt. rot. Xinit Xdispl Yinit Ydisp Rec.pos. Length Font Color
1 FROMLINE
[ 2 0 838 0 295 0 00 99 /F4 BLACK ]
[ 2 0 833 0 300 0 00 99 /F4 DARK ]
[ 2 -90 3370 0 1240 0 14 99 /F6 DARK ]
2 FROMLINE
[ 2 0 615 0 445 0 00 33 /F1 WHITE ]
[ 2 0 1200 0 445 0 33 12 /F1 WHITE ]
[ 2 0 1520 0 445 0 45 12 /F1 WHITE ]
[ 2 0 1830 0 445 0 57 12 /F1 WHITE ]
[ 2 0 2140 0 445 0 69 12 /F1 WHITE ]
[ 2 0 2462 0 445 0 81 12 /F5 WHITE ]
3 FROMLINE
[ 0 0 230 0 560 75 00 33 /F2 BLACK ]
[ 1 0 1345 0 560 75 33 12 /F2 BLACK ]
[ 1 0 1658 0 560 75 45 12 /F2 BLACK ]
[ 1 0 1976 0 560 75 57 12 /F2 BLACK ]
[ 1 0 2286 0 560 75 69 12 /F2 BLACK ]
[ 1 0 2610 0 560 75 81 12 /F3 BLACK ]
ENDRPE
Database file
This is an example of VIPP coding of a database file.
%!
(letter.dbm) STARTDBM
CHER:TITRE:FNAME:NAME:ADRESS1:ADRESS2:ZIP:CITY
Cher:Monsieur:Alain:DUPONT:3, rue de la gare::1200:Genève
Chère:Madame:Martine:BELLEGAMBE:chez Lulu:12, place Grenu:1034:Lausanne
......
%%EOF
%!
%%Title: letter.dbm
DOT3 SETUNIT
PORT
/M /NTMR 12 11.3 INDEXFONT % M = medium font
/B /NTMB 12 11.3 INDEXFONT % B = bold font
/D BLACK INDEXCOLOR % D = Dark
/H BLUE INDEXCOLOR % H = Highlight color
1200 0 360 0 SETMARGIN
48 SETLSP
360 3200 MOVETO
H (rxlogo.tif) 1 0 ICALL D
1500 2850 MOVETO
M ($$TITRE. $$FNAME. //B$$NAME.) VSUB 0 SHMF M
ADRESS1 SHL
ADRESS2 SHL
ZIP SH ( - ) SH CITY SH
1780 SETCOLWIDTH
360 2300 MOVETO
($$CHER. $$TITRE. $$NAME.,) VSUB SHL
NL
(Die Welt, in der Sie leben, //H$$CHER. $$TITRE. $$NAME.//D, ist - in
Ubereinstimmung mit Ihrer Persönlichkeit - aussergewöhnlich.) VSUB 3 SHP NL
(So aussergewöhnlich wie der Trembley Brooklyn, ein Automobil der
exklusivsten Klasse.Wobei sich der Begriff Exklusivitat sowohl auf das aussergewohnlich hohe
Niveau der) 3 SHP NL
(Verarbeitung, des Luxus, als auch auf die Sicherheit und die
Fahrleistungen erstreckt.) 3 SHP NL
(Lassen Sie sich uberraschen. Wir werden Ihnen die Aufmerksamkeit widmen, die Sie verdienen.
) 3 SHP NL
(Gerne erwarten wir Ihre Antwort und verbleiben inzwischen mit freundlichen Grussen.) 3 SHP
NL
H (signa.tif) .75 0 ICALL D
NL NL NL NL
(Your W. Signature) SHL
(MANAGING DIRECTOR) SHL
PAGEBRK
%!
%%Title: list.xjt
ORITL
[[ 200 420 2100 2800 0 ]] SETLKF
64 SETLSP
(Page #) 1 2300 220 6 SETPAGENUMBER
/C1 BLACK INDEXCOLOR
/C2 RED INDEXCOLOR
/C3 BLUE INDEXCOLOR
/F1 /NHE 12 INDEXFONT
/F2 /NHEB 13 INDEXFONT
/F3 /NHEN 12 INDEXFONT
/F4 /NHEB 18 INDEXFONT
{ ORITL
200 210 MOVETO
F4 (Customer List) SH
NL NL NL
2100 SETCOLWIDTH
F1 B1
0 MOVEHR (Title) SH B0
120 MOVEHR (First Name) SH
430 MOVEHR (Last Name) SH
800 MOVEHR F3 (Street/Post code/City/Country) SH
1500 MOVEHR F1 (Birthday/Phone/Email) SH
} SETFORM
BEGINXPD
BTA /Customer
{}
{ IF FRCOUNT 0 ne {NL} ENDIF
0 MOVEHR F1 ^USER_TITLE SH
120 MOVEHR ^USER_FIRST CASETI SH
430 MOVEHR F2 ^USER_LAST SH
800 MOVEHR F1 ^USER_STR SH
1500 MOVEHR ([=^USER_BIRTH_DD=].[=^USER_BIRTH_MM=].[=^USER_BIRTH_YY=]) VSUB SH
NL
800 MOVEHR ^USER_POSTCODE SH
1150 MOVEHR ^USER_CITY SH
1500 MOVEHR ^USER_PHONE SH
NL
800 MOVEHR ^USER_COUNTRY SH
1500 MOVEHR ^USER_EMAIL CASELOW 600 100 SHmf
40 NL
0 40 2100 0 G_S2 DRAWB
} ETA
ENDXPD
XML
This is a sample of an XML data file.
</CustomerInfo>
This Section of the VIPP Reference Manual provides the information you
need to prepare for and install the VIPP software and license on these
devices:
• DocuPrint NPS (monochrome and color)
• DocuSP, including iGen3
• DocuColor, EFI and Creo controllers, (including Creo iGen3)
Also included is a description of the installation of the software interface
between VIPP and DigiPath.
VIPP Reference Manual (9/2003)
VIPP licensing and installation
This chapter provides information to begin your VIPP license and software
installation. These topics are discussed:
• Demonstration and Production modes
• Installation overview
Demonstration mode
If VIPP is installed without a production license file, it is considered to be
installed in demonstration mode. Demonstration mode is a full-featured
version of the VIPP software with two exceptions:
• Customer support is not available
• Page volume limitations are imposed
VIPP limits the number of pages that can be printed when running in
Demonstration mode. The limit is device-dependant and varies between
10 and 200 pages. VIPP jobs that exceed this page volume limit will abort
with the following error message:
ERROR: undefined
OFFENDING COMMAND: Selected pages 0 n
Where:
n
is the page volume limit for that device.
When you receive the above error message, you have exceeded the
demonstration page capacity for your device. On some DocuColor
printers, the error does not appear, instead, jobs stop when the
demonstration limit is reached. The limit is 57 or 200 pages and depends
upon the device.
Production mode
Production mode is enabled by installing a valid VIPP license on the
device. This will allow you to run VIPP jobs without any page limitations.
Contact your Xerox representative for more information about running
VIPP in Production mode.
Installation overview
The following sections provide the general steps required to:
• Install the VIPP software
• Obtain a VIPP License Request Form
• Send the license request to Xerox
• Complete the installation
DocuPrint NPS (monochrome and color) “Installing VIPP on DocuPrint NPS devices”
DocuColor, EFI and Creo controllers, (including “Installing VIPP on Creo or EFI DFEs”
Creo iGen3)
All production-level devices, including In the USA and Canada, contact your Xerox
DocuPrint NPS, DocuSP, Creo, and EFI. representative. The form is sent to XDSS, which can be
contacted by phone at 1-800-890-3260 and by fax at (310)
333-7982.
DMO customers must contact their Xerox representative.
The Representative will e-mail the completed license
request form to Robert.B.Avery@usa.xerox.com.
XE customers must contact the XETC Welwyn Software
Library by phone at +44 1707 35 2684, fax at +44 1707 35
2607, or e-mail Welwyn.CSC.Licenses@gbr.xerox.com.
Hours of operation are 8:00 to 18:00 GMT, Monday to
Friday
N-Series, and Phaser Go to the Xerox VIPPManage Installation and User Guide.
For more information about VIPP production licenses contact your local
Xerox representative.
The VIPP license string will be issued and faxed to the number provided
on the VIPP License Request Form.
Use these instructions to upgrade the VIPP software and install the VIPP
license on all DocuPrint NPS devices including DocuPrint NPS color
devices.
VIPP software is installed in Demonstration mode during the normal
DocuPrint NPS software installation process. There are no special
installation instructions for the initial installation of the VIPP software.
However, you must install and activate a VIPP license in order to run the
software in Production mode. Refer to “VIPP licensing and installation” for
information about obtaining your license.
If VIPP has already been installed, these two directories will exist on your
system:
• /usr/xgf
• /usr/xgfc
Software installation
An upgrade may be necessary to load the latest version of the VIPP
software. Upgrading VIPP software from the CD-ROM will not overwrite
the customer files located in /usr/xgfc, however it will overwrite the
/usr/xgf directories.
Performing an upgrade maintains the validity of an installed license file.
Follow the steps in this document to upgrade VIPP on a DocuPrint NPS
controller:
NOTE: If more than one VIPP package name is displayed, they must
all be removed; use a last installed to first installed order when
removing them.
Where
package name
is the result from Step 2. For example: pkgrm VIPP32
Step 6. If you have previously customized your VIPP files enter those changes in
your new files now. See “Customized file backup.”
License installation
Step 8. Determine if a VIPP license has been installed. At the UNIX workstation,
enter:
pkginfo | grep VIP
If XRXdpvipp is included on the list of packages a license has been
installed and no further action is necessary. If not, proceed to the next
step.
Step 10. After you receive your license string, follow one of these two options to
complete the license installation:
name> XRX_VIPP_software
expiration date>01-Jan-1999
key> 1EF830EABF32453663D8
IOT serial number> (Leave blank for VIPP license)
Hostid> xxxxxxxx
Step 11. To validate the license installation log on as administrator in the NPS/IPS
Command Line administrator window and enter:
Show License Status
This is an example of the results of the command:
Where
xxx
is the number of days that the license is valid.
Step 12. Restart the NPS sequencer. At the command prompt, enter”
Restart Sequencer
Use these instructions to install the VIPP software and license on all
devices driven by the DocuSP controller including iGen3.
Software installation
This section contains software installation and upgrade instructions for
VIPP on DocuSP devices.
NOTE: If more than one VIPxx package name is displayed, they must
all be removed; use a 'last installed' to 'first installed' order when
removing them.
Step 4. Still logged in as root, insert the CDROM, wait for the File Manager
window to open, then minimize the window, enter:
cd /cdrom
ls
(Either listing the contents of the CD, or looking in the File Manager
window, provides the directory name required to continue the
installation. For example: vip41)
cd vipxx
where
xx
is the software version, for example: vip41.
cd DocuSP
pkgadd -d . package name
where
package name
is VIPxxnn
xx
is the version
nn
is the package extension (LE for 8 1/2x11 paper size or A4 for A4
paper size. For example: VIP41LE or VIP41A4.)
Step 5. Review the displayed installation messages for errors; record and report
errors found to your Xerox representative.
Step 6. If you have previously customized your VIPP files enter those changes in
your new files now. See “Customized file backup.”
Step 7. Print the VIPP Golden Job to validate the installation or upgrade. At the
DocuSP Print Services window, select System>Logon and log on as
System Administrator.
Step 8. Use the Printer Manager to program the paper trays with the paper stocks
shown in the table in Step 9.
Select the appropriate paper size in the Size area. If you installed the A4
version of VIPP during the software installation, select A4. If you installed
the Letter version, select USLetter.
Ensure that White is selected in the Color area.
In the Type area, select Custom, then type the color name from the Type
column of table 1: Paper Tray Setup.
Step 10. Load paper trays 1, 2, and 3 with the paper stocks you programmed in the
previous step.
License installation
Step 13. Determine if a VIPP license has been installed; at the UNIX workstation,
enter:
pkginfo | grep VIP
Look for package name XRXdpvipp. If the package is found a license has
been installed and no further action is necessary. If not, proceed with Step
14.
Step 14. The acquisition process is described in “VIPP licensing and installation.”
Step 15. Log on as the DocuSP Administrator. In the System Administrator window
select:
Setup>
<Feature Licenses>
Step 16. In the License Manager Window locate and double-click the Variable
Intelligent PostScript Printware (VIPP) option; then:
Select <Activate>
Enter the license string
Enter the Expiration Date
Select <Apply>
Select <OK>
Step 17. Verify that the license string has been correctly installed by entering:
cd /usr/xgf/demo
print -p <queuename> imgdemo.nm
Step 18. If the PostScript Error Page option is enabled and the license string was
not installed correctly or has expired, the message “VIPP_license_failed”
will appear on a PostScript error page.
Step 19. Restart the system. From the DocuSP Print Services window, select:
System>Restart.
Use these instructions to install the VIPP software and license on a Creo
or EFI DFE.
Software installation
This section contains instructions for installing VIPP software on the Creo
or EFI DFEs. For Color DocuSP installation, refer to “Installing VIPP on
DocuSP devices.”
To install VIPP software on the Creo or EFI DFE for DocuColor systems:
Step 1. Insert the VIPP CD-ROM. If not auto launched, launch the VIPP Setup
Program using one of these methods:
• The Run window:
Select Start>Run to access the Run window, then click Browse to
make sure that the CD drive, or alternate network location, and
Setup.exe are listed in the Open field (for example,
E:\windows\setup.exe). When the correct drive and file name are
selected, click OK.
• Windows Explorer:
Access root on the VIPP CD-ROM or the alternate location when the
distribution CD was copied to a network server for network
installation. Locate and click the windows\setup executable file.
NOTE: Exit all other Windows programs prior to running the Setup
Program.
Step 3. Read the Software License Agreement window, then click Yes to accept
the License Agreement and continue with the installation.
Step 4. From the Choose Destination Drive For VIPP window, make sure that the
correct drive displays in the Drive field, or use the drop-down list box to
select the correct drive in the Drive field, then click Next.
NOTES:
Your destination drive must have at least 200 MB free space.
DO NOT use the C: drive on the DocuColor Series DFEs. For more
information refer to the Customer Expectations Document (CED)
supplied with the device
Step 5. At this point in the installation, the system will produce one of several
possible windows.
You did not change the default drive from the CD-ROM drive. Select Back
and repeat Step 4, being sure to enter a new drive designator.
Step 6. From the Select Default Media window, click the button that represents
the default paper size you want to use for your VIPP applications, then
click Next. The choices are:
• A4 — specifies that you want to use A4 size paper (8.25 by 11.75
inches or 210 by 297 mm) as the default media.
• USLetter — specifies that you want to use USLetter size paper (8.5
by 11 inches or 216 by 279 mm) as the default media.
Step 7. Use the Select Program Folder window to select the program folder from
which you want to launch VIPP-related items. Use the default program
folder that appears in the selection window, or scroll through the list box
to select a different folder. Once the folder is selected, click Next.
Step 8. When the Start Copying Files window is displayed, verify the settings
specified in the previous steps, then click Next to install the software
using the settings you specified in the previous step.
Step 9. If you have a FlexLM license for VIPP, select Yes, then Next. If you do
not have a FlexLM license, select No, then Next, and go to Step 15.
Step 10. From the Please select your FlexLM license file for VIPP window,
navigate to your license file, select the license file, and click Open.
Step 11. If the FlexLM license for VIPP had previously been installed or an invalid
license was previously attempted for installation, a window containing one
of these messages may be produced:
• This file already exists. Replace existing File? Yes/No
• Access is denied. OK
Step 12. When the Activation Complete window appears, it means that the
installation successfully activated the FlexLM license for VIPP. Skip to
Step 14. If you do not see the message, go to the next step.
Step 13. If the Choose Server or File window is produced, the license file that you
selected was invalid. Go to Install the license on page 6-11 for more
information. You will have another opportunity to specify the FlexLM
license file.
If the system displays the Setup Complete window go to Step 14.
Step 14. The Setup Complete window provides information on the location of the
VIPP release notes so they can be accessed at any time. After you click
Finish to complete the installation, this window will be produced:
Click OK to complete the installation, exit the Setup Program, and restart
the system. This completes the installation. Proceed to VIPP Golden Job
to validate the installation.
Step 15. When the Setup Complete With Warning window is displayed, either you
did not provide a FlexLM license or something was wrong with the FlexLM
license you provided. In order to obtain a valid FlexLM license, contact
your Xerox representative and provide the Host ID number and the VIPP
software serial number. When you receive the FlexLM license, click on
Start>Programs, go to the appropriate VIPP group, then click on
Activate VIPP FlexLM License. You do not have to go through the
installation again.
Click OK to complete the installation, exit the Setup Program, and reboot
the system.
Step 17. Submit the VIPP Golden Job (goljobv) in the xgf\demo directory on your
destination drive to validate the installation of VIPP. See VIPP Golden Job
on page 6-10.
License installation
The VIPP license is installed on DocuColor devices during the initial
device setup process, or if the license is unavailable, it is installed after
the initial setup process is complete. If the license is not installed, VIPP
will only run in Demonstration mode. Production mode is activated by
obtaining a VIPP license and installing a device-specific FlexLM license
string on the DocuColor Series DFE.
Step 1. Contact your Xerox representative; see “VIPP licensing and installation”
for contact information. Provide the serial number of the printer targeted
for installation and relevant customer account information. Specific
delivery instructions should be communicated to your Xerox
representative when calling.
Step 2. A license file is generated and sent via an e-mail attachment to the e-mail
account provided during Step 1.
Step 1. Upon receipt of the license, save the attachment (.dat file) to an
appropriate media to transfer to the DFE.
NOTE: Not all DFEs have a floppy drive. In such cases, you must
determine the best way to transfer the file to a location that is
accessible from the DFE. This could be an NFS mounted file system
or a shared NT directory.
Step 2. Determine which license installation process to use. Read the information
found in the sections referenced in this bulleted list for more information:
Step 3. Store the Ethernet card (NIC) number and the VIPP license file in a safe
location for use in the event that the software needs to be reloaded at a
future date.
Then your FlexLM license has already been activated and you do not
need to read the rest of this chapter.
Simple activation
To activate your FlexLM license after the software is installed:
Step 1. Copy your FlexLM license file to E:\xgf\src. Replace E:\ with the
appropriate drive designator if this is not the drive on which VIPP was
installed.
Advanced activation
Use this method to activate your FlexLM license if:
• Your organization keeps its FlexLM licenses in a central location
• You do not want to put your license under the E:\xgf\… directory
hierarchy
Step 1. Begin the license activation process, from the Start menu choose
Programs>VIPP x.x>Activate VIPP FlexLM License.
You will see this dialog:
Step 2. Select the option labeled Specify the License File and click Next. This
dialog will appear:
Step 3. Click Browse. The system produces a standard file selection dialog box
from which you must locate and select your FlexLM license file. After
selecting your license file, click Next.
The system produces a dialog telling you to “Press Finish to continue.”
Step 4. Click Finish to complete the license activation process. Your license has
been successfully activated when you see this message:
Step 5. Click OK to exit the activation process. You should now be able to print
VIPP jobs in Production mode. If this is the case, then you do not need to
read the rest of this chapter. If not, go to Unsuccessful activation.
Unsuccessful activation
If your license file is not found, is not valid, or you selected Cancel in any
of the steps described, you will be presented with this message:
The Host ID displayed will be the Host ID used in the installation process.
If it is not correct, this dialog will appear after clicking OK:
NOTE: You do not have to install VIPP on the DigiPath machine. But
you must install the DigiPath API, which is found in the DigiPath folder
on the VIPP CD.
DigiPath/VIPP installation
VIPP is installed as part of the full DigiPath installation when the VIPP
Enabled option is selected during the DigiPath installation.
If the VIPP option is not enabled at this time, you must reinstall DigiPath
and select the VIPP option.
Step 1. Insert the VIPP software CD-ROM into the CD-ROM drive.
VIPP/DigiPath configuration
Once DigiPath and VIPP have been installed on the DigiPath system, that
system and any target print devices must be configured. This involves:
• DigiPath configuration
• NFS mount of a DigiPath system
• Identify networked print devices
DigiPath configuration
The VDI directory represents the mount point for the NFS mounted file
system.
The information in the following example assumes that you have created
a VDI directory corresponding to the one shown on the screens below
(G:\Product_Z\Marketing\Brochures).
After DigiPath shares the VDI directory using Hummingbird's NFS, you
then need to mount the shared directory at the printer's controller. For
UNIX systems like those driving DocuSP and DocuPrint, use the mount
command. Typically, you will create the mount point just under the xgfc
directory. Choose any name for the mount point, then create a directory
by that name. The name chosen is usually:
/usr/xgfc/VIPPDIGIPATH
A different name is used in this example to emphasize that the names of
the VDI directory and the mount point are arbitrary. Our mount point is:
/usr/xgfc/VDI_dir
Last, ensure that the new mount point is included in the libraries defined
to VIPP by the SETMPATH command. Use one of these methods:
• Define the libraries using the SETMPATH command when you
initialize a job (in the data file or in a Native or DBM file).
• Add the new mount point to the startup xgfunix.run or xgfdos.run
files, Be aware that UNIX devices may error out if they do not find
the mount point readily upon bootup.
When the VIPP RUN command calls out a VDI file, it looks for that file as
it would any other miscellaneous file. It searches for the file in each library
defined by SETMPATH. In this case, one of the miscellaneous libraries
points to the mount point, and the search will be redirected to DigiPath's
VDI directory. When VIPP finds the VDI file, it reads the name of the
subdirectory that contains the RDO structure and an index to the TIFF
files. VIPP then processes each TIFF image in succession similarly to the
way VIPP works with Decomposition Service.
Step 1. Start the Control Panel and choose the appropriate option below:
• Hummingbird NFS Server if you are using DigiPath 3.x.
Once you open the HCL or Hummingbird NFS Server window, you will no
longer see a reference to HCL or Hummingbird.
Step 2. From the Exported File Systems tab, select the ... button (Browse) in the
Exported File System field. This dialog is produced:
Step 3. Browse to and highlight the VDI directory, then press OK.
Step 4. When the Exported File Systems window is displayed, ensure that the
Restrict Access to Hosts box is NOT selected, then press Insert followed
by Apply.
Step 5. If access rights have not been set to Everyone, Hummingbird will prompt
you to approve it now. Select Yes when you see this dialog:
.
Step 6. At the NFS window, on the Configure tab, select NT Style (in the
Attributes/Permissions box), then enter administrator in the box labeled
NT User Name for Non-Mapped, as shown here:
Step 9. Check that the VDI directory gets exported, then click Reload. This
window will be displayed:
Step 10. Click OK to acknowledge the export message, then click Close or OK to
close the windows opened in steps 8, 7, and 6.
Step 11. Mount the VDI directory to the directory you created under the xgfc
directory at the VIPP enabled printer. (In the example, VDI_dir was used
as the mount point.) Open a terminal window and log on as root, then
enter:
dt6135% su
Password: password
Step 12. Verify that VDI_dir does not already exist, then create it. Notice that
VDI_dir is empty. Enter:
# cd /usr/xgfc
# ls
Projects formlib imglib jdtlib mislib xgfd
# mkdir VDI_dir
# chown xrxusr:xrxgrp VDI_dir
# ls
Projects VDI_dir formlib imglib jdtlib mislib xgfd
# ls VDI_dir
#
Step 13. Verify that the DigiPath VDI directory has been exported. Use the
dfshares command and enter the I.P. address of the DigiPath machine.
Note the exact spelling of the shared (exported) directory.
# dfshares 13.245.64.152
RESOURCE SERVER ACCESS TRANSPORT
13.245.64.152:/G/Product_Z/Marketing 13.245.64.152 - -
Step 14. Mount the exported directory to the mount point using the mount
command. (Enter man mount to see the correct syntax). You will use the
syntax that specifies the first parameter as host:/directory and the second
parameter as mount_point.
Step 15. Check that the mount point now points to the DigiPath VDI directory.
# ls VDI_dir
Announcements Brochures ColdCall.vdi Flyers MAG0201.vdi
References TV0321.vdi
#
The mount point will stay active until the UNIX controller is rebooted or the
DigiPath closes the connection for any reason. The connection can also
be closed at the UNIX controller with the umount command.
#umount /usr/xgfc/VDI_dir
#ls /usr/xgfc/VDI_dir
#
To set UNIX to re-establish the mount point every time it is rebooted, get
your UNIX system administrator to edit the /etc/vfstab file.
Notice that “-” is entered to prevent UNIX from attempting to perform a file
system check (fsck) on the volume. Also ensure that “bg” is specified in
the option string so that UNIX knows it can skip the mount point if the
DigiPath volume is not available when you boot the printer controller. This
entry tells UNIX to attempt to reconnect to the volume in the background
if it cannot find the connection on the first attempt. Last, specify a “hard”
link if you connect to the volume with “rw” (or read-write) privileges.
Update mislib
The final step in the installation process is to update VIPP's list of
miscellaneous libraries (mislib) by:
• Updating VIPP Initialization files
• Adding a SETMPATH command to your VIPP job
The following sections provide examples.
%!PS
XGF
(/usr/xgfc/VDI_dir/) SETMPATH
(ColdCall.vdi) RUN
PAGEBRK
If you intend to use VIPP Project folders, be sure you add the VDI_dir
mount point to the SETPPATH command. The SETPPATH command
must describe all project folders before a SETPROJECT command is
issued.
This Section of the VIPP Reference Manual lists and describes the
various VIPP files and resources found in the VIPP program.
• “VIPP files and utilities” describes set up, demonstration, and
PostScript files, and several useful utilities included with VIPP.
• “VIPP resources” describes various VIPP concepts and resources,
and provides data stream setup information.
• “Standard lists, tables, keys, and attributes” provides font lists,
encoding tables, GEPkeys, BATkeys, and other attribute information.
VIPP Reference Manual (9/2003)
VIPP files and utilities
%!PS-Adobe-2.0
%%Title: VIPP link file for Unix (xgfunix.run)
%%Creator: JYB
%%CreationDate: Apr 2003
%%Version: 4.1
%%Copyright: (C) 2003 Xerox Corporation. All Rights Reserved.
%%EndComments
% Warning!! The following statements must not be moved or edited by the customer.
% To do so may cause unpredictable results.
(/usr/xgf/src/xgf.gep) run % run xgf predef. color keys and GEP keys
%(/usr/xgf/src/scoat.cck) run % run xgf solid coated color keys
%(/usr/xgf/src/sucoat.cck) run % run xgf solid uncoated color keys
(/usr/xgf/src/xgf.ddg) run % run data driven graphics
%(/usr/xgf/src/xgf.417) run % run PDF417 barcode
%(/usr/xgf/src/xgf.max)run % run MaxiCode barcode
(/usr/xgf/src/xgf.def) run % run xgf default setting
(/usr/xgf/src/xgf.pcc) run % run xgf PCC definitions
(/usr/xgf/src/xgf.mup) run % run xgf multi-up definitions
(/usr/xgf/src/xgf.bat) run % run predefined BAT keys
end % mandatory (remove XGFdict from dict stack)
%!PS-Adobe-2.0
%%Title: VIPP link file for DOS (xgfdos.run)
%%Creator: JYB
%%CreationDate: Apr 2003
%%Version: 4.1
%%Copyright: (C) 2003 Xerox Corporation. All Rights Reserved.
%%EndComments
(c:\\xgf\\src\\xgf.lic) run % run xgf license
(c:\\xgf\\src\\xgf.eeh) run % run xgf prolog
%(c:\\xgf\\src\\vipp.vsm) run % run VIPP Services Module
% Warning!! The following statements must not be moved or edited by the customer.
% To do so may cause unpredictable results.
%!PS-Adobe-2.0
%%Title: xgf.def
%%Creator: JYB/XECH
%%CreationDate: Apr 2003
%%For: VIPP default settings - rel. 4.1 (Letter)
%%Copyright: (C) 2000-2003 Xerox Corp. All Rights Reserved.
%%EndComments
%%BeginSetup
%-----------------------------------------------------------------------------
% Defaults setting
%-----------------------------------------------------------------------------
%%EndSetup
General utilities
These are the VIPP general utilities located in the top VIPP directory.
• fsl2xgf — converts FSL files into VIPP native mode forms. Only FSL
files formatted with lines in 80-column format ending with a line
number of 8 characters are supported. fsl2xgf works with the
configuration file fsl2xgf.cfg and a font and Graphic Element
Property key (GEPkey) mapping file, fsl2xgf.map, that can be edited
for each specific site.
• mkfrm — converts a PostScript, VIPP native mode, or TIFF file into a
VIPP form.
mkfrm has been modified to add a %%Title: nnn DSC comment at the
top of the form. nnn is the value of the target_filename parameter.
An FSHOW command allows you to print the form directly for sample
purposes.
• samfrm — prints VIPP form samples on the default VIPP printer.
Wildcards are allowed. samfrm works on a DocuSP printer, printing
from the default queue.
• samtif — prints TIFF file samples on a VIPP printer. Wildcards are
allowed. samtif uses the XGFRESDEF construction, rather than ()
ICALL. It works on DocuSP printers.
• showchar — displays the extended ASCII character set.
Golden Job
The Golden Job delivered with VIPP contains these files:
• goljob (black golden job)
• goljobb (blue golden job)
• goljobg (green golden job)
• goljobr (red golden job)
• goljob6135 (DocuSP golden job)
• goljobv (verify golden job) is a black golden job without tray
requirements
All golden jobs except goljobv require that these media types be set using
Set Tray on the DocuPrint NPS user interface or VIPPManage printer
configuration on decentralized printers:
• YELLOW
• GREEN
• Default paper
Use goljobv to verify your VIPP installation without loaded media.
These subset finishing test files are delivered with VIPP and are located
in the /usr/xgf/demo directory:
• subset.dbf
• subset1.lm
• subset2.lm
VIPP Services
VIPP Services are features and functions that act primarily on the
workflow space of your VIPP-enabled device rather than on the actual
composition and assembly of documents. Service features are used to
provide information about the job or to enable job processing before
printing and imaging occur.
VIPP Services is a separately licensed, fully documented program
available on the VIPP CD-ROM.
VIPPManage
VIPPManage is a Windows GUI that allows you to manage VIPP
resources on the disk of a decentralized printer and print files to a diskless
printer. VIPPManage replaces the VIPP DOS utilities. VIPPManage is
available on the VIPP CD-ROM and is fully documented through the help
menu.
Resources, files stored in the VIPP libraries, are used for accessing and
processing VIPP jobs. Information on the different types of resources, the
different ways in which VIPP can access these resources, and the
mechanism and syntax used to embed resources in the data stream can
be found in these sections:
• Resource types
• Resource access and management
Resource types
VIPP supports these types of resources:
• VIPP Project
• VIPP core and setup files
• Fonts
• Forms
• Segments
• Images
• Job Descriptor Tickets
• XML Job Tickets
• Data Base Masters
• Distribution lists
• Text files
VIPP Project
Processing variable data is the core functionality of the VIPP
programming language. The model used by VIPP to compose documents
is known as Dynamic Document Construction (DDC). DDC is based on
real time composition of the document at the printer or imaging device.
In this model, document components are often not part of the submission
file that triggers the beginning of the composition process. Components
such as images, fonts, and forms can be stored locally on disk drives or
accessed from networked disk drives.
DDC is highly effective for applications targeted by VIPP because it is
based on, and supports, the model commonly used for the creation of
most documents in production environments where job components are
created by several different people or departments. The DDC model also
improves performance by enabling a “RIP once / Use many” capability. In
short, this functionality allows you to reuse various components of a
document with other documents.
VIPP Project provides a mechanism that simplifies the handling of the job
components by logically and physically grouping components as part of a
single entity. The logical grouping is the VIPP Project. The physical
grouping is referred to as the VIPP Project Container.
The files that make up the project as a single entity can be tracked and
stored using VIPP Project. In addition, VIPP Projects can be used to
identify, organize, and store the components of a job under a single name
(the project) and can also group jobs by categories (the folder). This
allows you to package all of the project components in a single file (the
container) as well as to use and transfer them among applications,
devices, and locations.
Fonts
VIPP supports PostScript fonts either as PostScript resources or as VIPP
resources.
• As PostScript resources, fonts must be accessible to the PostScript
interpreter on which VIPP is running. VIPP does not perform any
resource management functions on these fonts. It relies on the
standard PostScript mechanism to locate fonts and accesses them
using their PostScript font name.
Use this method for the initial font set (fonts that are pre-loaded in the
PostScript device), and for any additional fonts loaded on the device
that will be available to PostScript applications. Fonts embedded in
PostScript files, like EPS, are also supported as PostScript
resources.
Loading fonts as PostScript resources is device-specific. Refer to the
appropriate device manual for instructions on how to load additional
fonts onto a specific device. For example DP/NPS printers use the
“Install Font” command and DocuSP systems use the Font Manager.
VIPPManage can be used to load fonts on decentralized printers.
• As VIPP resources, font files must be loaded in one of the VIPP
directories defined by SETMPATH. The recommended directory is
xgfc/fontlib. When VIPP initially accesses the VIPP resources the
font file name is used as an operand to SETENCODING. During
subsequent access, VIPP uses the VIPP font name. VIPP also
performs resource management functions such as embedding the
font in a VIPP self-contained print stream.
Use this method for fonts that are specific to a VIPP application or
project, rather than to a specific device. This method ensures that the
font will always be included with the project and automatically
embedded in self-contained print streams. It also provides a method
to install additional fonts in a VIPP environment and avoids the need
to install the fonts on each target device.
VIPP supports any font type (Type 1, Type 3, and composite) supported
by the PostScript interpreter.
Purchase additional fonts, such as barcode and double-byte fonts, from
the Xerox Font Library (www.font.net). Fonts purchased from other
sources may have nonstandard encoding tables, which can cause
incorrect characters to print. Custom encoding can be used to resolve this
problem. For further information, see VIPP font lists and encoding tables.
Font encoding
A PostScript font is a collection of characters (character set) associated
with a specific font name. Each character in a font contains an outline
description (vector) or a bitmap that represents the character, and a
PostScript-assigned name for each character. However, data streams call
out each character using a byte value. For this reason a PostScript font
contains an encoding table matching the byte value with the character
name.
This table shows the relationship between the hex value in the data, the
PostScript character name, and the actual printed character using the
standard ASCII encoding table.
/Helvetica 12 SETFONT
PostScript fonts are built with a standard encoding table that covers only
a small subset of the character set. (Latin accented characters are not
included.) When the original encoding table does not include a specific
character, or a character is assigned to a byte value that does not match
the data stream, the encoding table must be altered. This process is
called “font re-encoding.”
VIPP provides a font re-encoding mechanism through the
SETENCODING command. SETENCODING:
• Assigns a new name (generally shorter) to the font
• Alters the encoding table
To re-encode fonts, provide a font list and an encoding table to
SETENCODING.
Font lists
VIPP assigns a short name to each PostScript font in the initial font set as
shown in this sample. Fonts can then be selected using this VIPP short
name.
/NHE /Helvetica
/NHEB /Helvetica-Bold
/NHEO /Helvetica-Oblique
These two pre-defined font lists are stored in the xgf/encoding directory.
Other font lists can be created to accommodate special requirements.
• fontlist — contains all Latin fonts and is associated with an encoding
table (pcsun) that includes most latin accented characters used on
UNIX, Windows, and DOS systems.
• nullfl — contains special fonts (symbol and dingbats). These fonts
are not re-encoded, they are only assigned a shorter name.
Fonts can be added to one of the pre-defined font lists when they are
added to your system. Use fontlist if you want the fonts to be re-encoded
using latin encoding and nullfl to assign a short name only.
VIPP can call out fonts that are not included in the font lists by using the
original PostScript font name. The PostScript font name can be found in
the documentation provided with the font, or by searching for the string
“/FontName” in the PostScript font file.
Encoding tables
VIPP provides these four predefined encoding tables:
• sun8
• pc8
• pcsun
• ebcdic
Step 1. Create a unique font list file. Save this file using the .lst extension. This is
an example of a font list file:
%!
%% Title: Myencoding.lst
Where:
New Name
is the new font name
PS font name
is the original font name or font file name
Step 2. Create the encoding file. The encoding file contains a list of all the values
to be changed or re-encoded. Any values not included in this list match
the default PostScript ASCII encoding table (Standard Encoding). Save
this file using the .enc extension.
This example illustrates how to re-encode the byte value hex 7E (the tilde
character in ASCII) to the space character:
%!
%% Title: Myencoding.enc
/Myfont1 12 SETFONT.
/F2 /Myfont2 14 INDEXFONT
In-line coding
An alternative to font re-encoding is to use in-line coding to place all
definitions in the JDT. This example will produce the same result as steps
1-3 above:
Step 2. Edit C:\vide2\gsopt\Fontmap to add this line at the end of the file:
/PSFontName (FontFileName) ;
Where:
A space character placed prior to “;” is mandatory
/PSFontName
is the PostScript font name
(FontFileName)
is the DOS file name for the font file
Ensure that the font is also loaded on the target printers.
Forms
A form is a single-page VIPP native mode or PostScript document
intended to be reproduced identically in the background on each page of
a job. Forms can be invoked using either SETFORM or SETBFORM.
When directly invoked by SETFORM or SETBFORM, forms must be
coded in VIPP native mode (or simple PostScript code that does not use
the “currentfile” operator) and encapsulated between braces “{ }”. Adding
the command FSHOW after the closing brace allows you to print the form
only, and automatically invokes the caching feature. These types of forms
must be stored in one of the libraries referenced by SETFPATH. Forms
that contain variable references should not be cached.
PS, EPS, TIFF, and JPEG files created by document processing
applications using common drivers (for example .prn files) can be invoked
directly by using the CACHE command in the SETFORM or SETBFORM
syntax. These types of forms must be stored in one of the libraries
referenced by SETFPATH, SETIPATH, or SETMPATH.
Multiple levels of forms on a page are supported and controlled by
SETMAXFORM. Copy-sensitive forms and cycle forms are also
supported.
Segments
A segment is a VIPP native mode or a PostScript fragment intended to be
reproduced once or several times at specific locations on a page. You
must store a segment in one of the libraries referenced by SETFPATH.
Segment can be invoked using either SCALL or FCALL.
PS, EPS, TIFF, and JPEG files created by document processing
applications using common drivers (typically .prn files) must be invoked
using the CACHE command with the SCALL syntax. This type of segment
must be stored in one of the libraries referenced by SETFPATH,
SETIPATH, or SETMPATH.
Images
When using an image as a VIPP resource, it can be a TIFF or JPEG/JFIF
file. A TIFF file is a bitmap stream wrapped in a TIFF header. A JPEG/JFIF
file is a JPEG bitstream wrapped in a JFIF header. Images can be
reproduced one or more times specific locations on the page.
Use the ICALL command to invoke an image when it is stored in one of
the libraries referenced by SETIPATH. Use the CACHE command with the
SCALL syntax to invoke an image when it is stored in one of the libraries
referenced by SETIPATH, SETFPATH, or SETMPATH.
VIPP supports only a subset of TIFF and JPEG files. Refer to ICALL for
further information on the supported image files.
Distribution lists
A distribution list (DL) is a data file on which a specific JDT is applied to
produce the cover pages used for the distribution of numerous copies of
a document. You must store distribution lists in one of the libraries
referenced by SETMPATH.
Use the Distribution list (DL) feature (also referred to as set labeling) to
obtain multiple copies of a document, as an alternative to using the
SETCYCLECOPY command. For example, this feature can be used to
produce a report or publication for distribution to a list of addressees.
Invoke a distribution list using SETDLFILE. The SETDLFILE command
associates a distribution list file with a JDT and produces cover pages at
the beginning of each set of the document. These pages are created by
processing the DL file using the associated JDT and performing the same
process as STARTLM. The number of copies produced is equal to the
number of pages in the DL file. SETCYCLECOPY cannot be used when
using this feature. Use SETDLFILE in a native mode file, a JDT, or a
submission file.
Text files
Text files can be used as a VIPP resource. Use VSUB to incorporate the
contents of a text file into a string.
This example will print the contents of a file named text1.txt, which must
be located in a directory specified in SETMPATH or SETPPATH.
Information about locating the lists, tables, keys, attributes, and other
predefined information provided with VIPP is provided in these sections:
• Standard font lists and encoding tables
• Standard Colorkeys and GEPkeys
• Standard Background Attributes
• Predefined PCC tables
• Predefined multi-up definitions
NOTE: The xgf directory referred to in the path names in this chapter
is located in /usr/xgf on UNIX systems and in C:\xgf on Windows
systems. (“C:\” is used as an example only, if VIPP is installed on a
different drive use that drive name.)
NCR Courier
NHE Helvetica
NSY Symbol
NZDB ZapfDingbats
Pattern keys
To generate PATkey samples, print the sampat.nm file located in
/xgf/demo.
This figure contains standard VIPP PATkey samples.
This Section of the VIPP Reference Manual provides a complete list of the
commands and error messages that are part of the VIPP Language.
VIPP Reference Manual (9/2003)
The VIPP language
Information about the VIPP language and its components is grouped into
these topics:
• General information
• Commands
• Markers
• Transform functions
• Variables
• Parameters
• VIPP commands by function
• VIPP variables by type
General information
General information includes conventions and background information
about using VIPP commands. These subjects are described:
• SHx commands
• Booklet support
• Kerning
• Main and secondary print positions
• Media support
• Printable text or reference “( )”
• VIPP PDF Interactive Features
• RPE command information
• Arithmetic expressions
• VIPP Colorkeys
• Solid coated and uncoated color simulation
• Color tints
• Barcodes
• Reserved keywords
SHx commands
The variable SHx is used to indicate that one or more of these commands
can be used:
• SHC and SHc
• SHJ and SHj
• SHL and SH
• SHMF, SHMf, and SHmf
• SHP and SHp
• SHR and SHr
• SHT and SHt
• SHX
Booklet support
Booklet mode is driven by using the STARTBOOKLET and
ENDBOOKLET commands. Initialize booklet mode using this
SETPARAMS sequence:
[ /PagesPerBooklet integer1
/BookletMismatch integer2
] SETPARAMS
Where:
integer1
is the number of pages that a booklet should contain.
integer2
is used to control the action (in ENDBOOKLET) when the number of
pages does not match:
0 — ignores mismatch and continues
1 — adds blank pages until the number of pages match, and
continues
2 — aborts the job with a VIPP error message (done through the
PostScript error mechanism)
This sequence must be coded at the beginning of the DBF or in the JDT.
BOOKLETRANGE works in conjunction with STARTBOOKLET and
ENDBOOKLET to select a range of booklets to print.
Kerning
Kerning refers to the ability to adjust the amount of space between
characters when imaging a block of text with a given font.
There are two types of kerning, which can be used independently or
together:
• Pair-wise kerning is applied to specific character pairs
• Track kerning is applied to all characters uniformly
Kerning information for a PostScript font is available in a file called an
Adobe Font Metrics (AFM) file. AFM files are generally supplied with the
font kit when the font is purchased. Specifications for the AFM file can be
obtained from Adobe, Inc.
Kerning can be enabled for SHx commands using:
• Extended syntax on the entry in the font list supplied to
SETENCODING
• SETKERN and INDEXKERN commands
Use this syntax to establish the link between a given font and an AFM file
when supplying a fontlist to SETENCODING:
Where:
AFM_filename
is the name of the AFM file containing the kerning information for the
associated font.
The AFM file must be located in one of the libraries referenced by
SETMPATH or SETEPATH (or SETPPATH in project mode).
Kerning is disabled by default.
Media support
In the VIPP language, media selection is available through the
SETMEDIA and SETMEDIAT commands. These commands default to the
PostScript operator, setpagedevice, to perform the appropriate media
selection. A workaround is available for those devices on which
setpagedevice is not implemented. The /MediaSubst parameter can be
set on those devices to substitute a proprietary PostScript sequence for
the default selection.
[/MediaSubst<<
(Plain) { 1 setpapertray }
(Letterhead) { 2 setpapertray }
>>]SETPARAMS
Examples: When the printable text or reference contains single left or right
parentheses or a backslash (“\”), they must be preceded by the backslash
character as shown in these examples.
This example prints “Delimiter is ).”
This example prints “Xerox©” (\251 is the octal value for the copyright
symbol).
(Xerox\251) SHL
Bookmarks
A list of bookmarks is an optional feature of a PDF document that may be
displayed on the screen. The list consists of a tree-structured hierarchy of
text items. Clicking the text of a bookmark causes the viewer application
to jump to its associated destination, which is a specific part either of the
current document or another document.
Links
A link associates an element on a page (such as a fragment of text, a box,
or an image) with a destination. Clicking this element causes the viewer
application to jump to the destination.
Notes
A note associates an element on a page (such as a fragment of text, a box
or an image) with a text entry that is not part of the page flow. When the
note is closed, the text is not visible. A closed note can be invisible or
visible as an icon or a stamp. Clicking a visible note, or an element
associated with an invisible note, causes the text to be displayed in a
pop-up window. There are four categories of notes:
• Icon — a visible note represented by a small icon
• Stamp — a visible note represented by a rubber stamp
• Free text — a visible note that displays text directly on the page.
Free text notes have no closed state; instead of being displayed in a
pop-up window, the text is always visible.
• Markup — is visible as background color underneath the associated
closed element if a color other than white or “null” is specified,
otherwise the note is invisible.
Conditional processing
Conditions can be nested at any level using the /ENDIF and /ENDIFALL
RPE subcommands. Refer to SETRCD and SETPCD condition definitions
for further information.
Examples: In this example, /ENDIFALL provides a facility to close all pending /IF
statements in one command rather than having to code all matching
/ENDIF statements.
1 FROMLINE
/IF_CND1
[.... rpe entry 1 .... ]
[ .... rpe entry 2 .... ]
/IF_CND2
[ .... rpe entry 3 .... ]
/ELSE
[ .... rpe entry 4 .... ]
/ENDIF
/ELSE
[ .... rpe entry 5 .... ]
[ .... rpe entry 6 .... ]
/IF_CND3
[ .... rpe entry 7 .... ]
/ENDIF
/ENDIF
10 FROMLINE
/IF_CND4
[ .... rpe entry 11 .... ]
[ .... rpe entry 12 .... ]
/ELSE /IF_CND5
[ .... rpe entry 13 .... ]
/ELSE /IF_CND6
[ .... rpe entry 14 .... ]
/ELSE /IF_CND7
[ .... rpe entry 15 .... ]
[ .... rpe entry 16 .... ]
/ELSE
[ .... rpe entry 17 .... ]
/ENDIFALL
The previous syntax is still valid (/IF and /ENDIF matching one RPE entry
respectively). The new syntax is applied only when /ENDIF or /ENDIFALL
is located in an RPE definition.
Old and new syntax are exclusive in an RPE definition. However, RPE
definitions with both syntax can be mixed in an RPE library composed of
several RPEKEY or FROMLINE commands placed between BEGINRPE
and ENDRPE.
Fixed text
The recpos and length parameters in an RPE definition (RPEKEY or
FROMLINE commands) can be replaced by one of these sequences:
• 0 (fixed text)
• 0 /VARname
Use this feature to print fixed text strings or variables, which are defined
using SETVAR or GETFIELD, and are not present in the data stream.
/LFA0 RPEKEY
[ 0 0 70 null 910 50 0 (Description:) /F1 BLACK]
[ 0 0 500 null 910 50 0 30 /F1 BLACK]
Align procedure
The align parameter in an RPE entry can be replaced by a VIPP native
mode procedure. This procedure must call a native mode command using
printable data or fixed text as an operand.
When the procedure is called, the operand will be automatically provided
by the extracted field specified by the recpos and length parameters or
fixed text feature described above. The print position is set according to
the current RPE print position.
The procedure must only supply the additional operands required by the
VIPP command. These are examples of align procedures syntax:
{ rotate GEPkey align SHX }
{ scale SCALL }
{ EAN13 SHx }
{ CODE39 SHx }
(SHx represents SH, SHr, SHc, or SHj.)
Examples: This is an example that prints a TIFF image called signa.tif at Xpos 70 and
Ypos 910 every time /LFA0 RPEKEY is selected. In addition, characters
0 to 29 in the record will be printed at Xpos 500 and Ypos 910.
/LFA0 RPEKEY
[{1 0 ICALL} 0 70 null 910 50 0 (signa.tif) /F1 BLACK]
[ 0 0 500 null 910 50 0 30 /F1 BLACK]
/LFA0 RPEKEY
[{1 0 ICALL} 0 70 null 910 50 30 9 /F1 BLACK]
[ 0 0 500 null 910 50 0 30 /F1 BLACK]
This example will print the string “David Kirk” underlined at position 100
100. The N turns off the UNDL BATkey.
/U /UNDL INDEXBAT
/N null INDEXBAT
1 BEGINRPE
1 FROMLINE
[ {U SH N} 0 100 0 100 30 0 (David Kirk) /F1 BLACK ]
Arithmetic expressions
Arithmetic expressions allow you to combine numeric variables, numeric
constants, and arithmetic operators into a single operand, which is
passed to a VIPP command.
A VIPP arithmetic expression can be formally defined as:
VAR1'+'VAR2 123
VAR1'-'VAR2 77
VAR1'*'2 200
VAR1'+'VAR2'*'.35 108.05
«VAR1'+'VAR2»'*'.35 43.05
-VAR2'*'10 -230
VIPP Colorkeys
VIPP uses a built in color definition table located in the /xgf/src/xgf.gep
file, which contains colorkey definitions.
A colorkey definition is a set of color values (RGB or CMYK) that is linked
to a color name. Selecting a colorkey name actually selects the RGB or
CMYK value for that key.
Custom colors can be added to this table using the syntax described
below.
If added to the xgf.gep table the definition will be permanent and available
to all applications. If added to a DBM, JDT or XJT, the color definition will
be temporary and available just for that job.
Where:
/name
is the name of the colorkey. The name is user definable, and must not
be a reserved word.
[c m y k]
is a CMYK (cyan, magenta, yellow, black) color definition. Four real
values are required within the array (Square braces). Each value
must be in the range of 0 to 1.
[r g b]
is a RGB (red, green, blue) color definition. Three real values are
required within the array (Square braces). Each value must be in the
range of 0 to 1.
/RED [1 0 0] SETCOL
This color definition defines an RGB color. The three values represent
100% Red, 90% Green and 90% Blue. The label “XLRED” has been
assigned to the definition.
/XLRED [1 .9 .9]
/CMYK_RED [0 1 .9 0] SETCOL
CMYK_RED SETTXC
There are over 1000 predefined solid color simulation keys. Some color
differences can be expected from device to device because color output
is affected by many factors such as a printer's color engine, settings, inks,
and paper stock. To get the best possible representation of the solid
colors, the colorkey data must be calibrated for your specific printer. (See
also “Solid coated and uncoated custom colors.”)
To select a solid color, use a solid colorkey as with any of the predefined
color keys in /usr/xgf/xgf.gep.
Color tints
A color tint can be applied to any CMYK or RGB colorkey argument to a
VIPP command referencing a colorkey (SETTXC, INDEXCOLOR).
(colorname~T) SETTXC
Where:
~
indicates that a tint value is attached to the color name
T
is a tint value with a valid range from 0 to 1
(PANTONE 7505 CS~.5) SETTXC % Solid color key with a tint of 50%
(BLUE~.3) SETTXC % RGB color key with a tint of 30%
/PURPLE~.7 SETTXC % RGB color key with a tint of 70%
Barcodes
The commands found in “Transform functions” that have the same names
as common barcode fonts, are not barcode fonts, but are transforms that
can manipulate an input string and output a string that a barcode font of
that type would expect. Use the transform functions to avoid having to
modify your existing application.
With the exception of the PDF417 and MAXICODE barcodes, which are
created as an image, all other barcodes supported by VIPP (2OF5,
CODE39, EAN13/EAN8, CODE128/EAN128, UPCA, and POSTNET)
require a barcode font to be called in order to print the barcode. Barcode
fonts are not supplied as standard VIPP fonts. They are available from the
Xerox Font Center, at www.font.net.
Barcodes that do not require data transforms can be printed by printing
the text string with the appropriate barcode font.Other barcodes require
that the input stream contain special characters. These special characters
can be supplied in the text string by the application, or a transform
function can be applied to the text string to add the special characters.
The VIPP command syntax includes several VIPP commands that
perform transforms on incoming data, so that when printed with a barcode
font the correct barcode output is printed.
If the application does not supply these special characters in the string,
using a transform avoids having to change the original application
program, as the transform takes care of the barcode requirements. A
barcode font is still required to print the correct character set. All Xerox
transforms are based on barcode fonts available from the Xerox Font
Center.
For example, a typical USA postal code can be one of the following (5, 9,
or 11 characters) and may look like one of these examples:
• 90404
• 90404-2534
• 90404-2534+DPBC
To print this in the Postnet barcode format, you need:
• A PostScript Postnet font. The Xerox Font Center supplies two
postnet fonts, MB043 and MB045.
• To supply the barcode font a string of acceptable characters. Just
passing the string 90404-2534 is not going to work as the printed
barcode must contain additional special characters not in the original
string, such as frame characters, check digits, etc. Without these
characters, the barcode reader will not be able to understand the
barcode passed to it and will reject it as an error.
/MB034 12 SETFONT
(90404-2534) POSTNET SH % with the dash
/MB034 12 SETFONT
(904042534) POSTNET SH % without the dash
/MB034 12 SETFONT
($$ZIP.) VSUB POSTNET SH % if calling in a variable
This example uses a font index created for the MB034 font:
Reserved keywords
When a reserved keyword is used as a database field name unpredictable
and hard to isolate errors may occur in VIPP applications. In order to
avoid this conflict, VIPP performs a check on database names and
produces an error message if a conflict is found.
The additional line of code checks for database file names that are known
in the current PostScript context. Reserved keywords include all:
• PostScript operators and reserved keywords
• VIPP commands, functions, variables, etc.
• VIPP internal names (starting with XGF, VIP, ^, and ")
The error message (VIPP_ambiguous_name in _name) may also occur in
an XML job when the code uses an ambiguous XML variable name, which
is not adequately qualified for VIPP to identify to which part of the XML
tree it refers.
To avoid using reserved keywords when naming database fields, use an
initial uppercase character in your database field name. For example,
Fieldname.
Commands
A VIPP command is a stand-alone sequence made up of any number of
operands and a VIPP command keyword as described in the syntax.
Operands, if any, are always placed before the command. Commands are
all uppercase to prevent conflict with PostScript operators.
++/--
These commands can be applied to numeric variables defined with
SETVAR to increment or decrement them by one. They can be used to
implement a counter and associated actions in conjunction with
IF/ELSE/ENDIF.
Syntax: /VARname ++
/VARname --
Where:
VARname
must have been previously initialized with SETVAR.
Example: Use this example to staple each ten-page document set on an NPS or
DocuSP printer.
STAPLE_on
/VAR.CNT1 0 SETVAR
{ /VAR.CNT1 ++
IF VAR.CNT1 10 eq
{ ENDOFSET /VAR.CNT1 0 SETVAR }
ENDIF
} BEGINPAGE
Example:
/VAR1 (0000) SETVAR
/VAR1 ++
VAR1 SH
will print “0001”.
ABSPOS
Use ABSPOS in multi-up mode to place subsequent commands, such as
MOVETO or MOVEH, in a position relative to the physical page rather
than to the current logical page.
In general, this command is used to convert LCDS data streams using the
“DJDE GRAPHIC=” statements in multi-up mode.
The effect of ABSPOS is automatically cancelled at the end of the page,
or by any orientation command such as PORT, LAND, IPORT, and ILAND.
Syntax: ABSPOS
Example: This example prints page 1 and page 2 side by side, reduced to a single
physical page. image1.tif prints at x0, y1000 (current units) from the origin
of the physical page, and overlaps the two logical pages.
TWOUP
Page 1 data/commands
PAGEBRK
Page 2 data/commands
ABSPOS
0 1000 MOVETO
(image1.tif) 1 0 ICALL
PAGEBRK
ADD
ADD adds a value to a variable defined by SETVAR or an XML variable.
If the variable is a number (either a numeric string, a real, or an integer)
the operand must be a number and ADD performs the mathematical
addition. If the variable is an array the operand must also be an array and
ADD includes the operand items as new items in the variable array.
Where:
/VARname
refers to a numeric variable previously initialized by SETVAR.
/^XMLname
refers to an XML variable (an XML variable need not be explicitly
initialized. VIPP initializes all XML variables to an empty string
equivalent to a numeric string equal to zero).
additem
is either:
/VAR.CNT1 0 SETVAR
/VAR.CNT1 12 ADD
/VAR.CNT1 -3 ADD
This example shows how to use ADD to capture data in a line mode job
and produce a chart on the page.
{ /VAR_CHARTDATA [ ] SETVAR
{ IF RPCOUNT 10 ge RPCOUNT 40 le and
{ /VAR_LINE RPCOUNT 0 100 GETFIELD % lines 10 to 40
/VAR_CHARTDATA
[ VAR_LINE 15 10 GETINTV % extract label
VAR_LINE 30 10 GETINTV % extract value
] ADD % accumulate in CHARTDATA
} ENDIF
} LNCOUNT REPEAT
x y MOVETO VAR_CHARTDATA 800 DRAWPIE % draw a pie
} ENDPAGE
This example shows how to use ADD to cumulate data in an array and
produce a chart with them. Each line goes in a different part of the
formatting resource (JDT/DBM/XJT), typically initialization, BEGINPAGE,
ENDPAGE.
ADVPAGE
ADVPAGE enables various options related to blank page and empty line
processing.
Where:
option
is a number that may combine these values:
• +1 — print pages that consist of only one empty line
• +2 — print pages that consist of only one NMP line
• +4 — process empty lines for SETRCD tests
Pages that consist of only one empty line or a single NMP will be skipped
by default. SETRCD tests are not applied on empty lines by default.
BACKSP_off
BACKSP_off disables backspace processing.
Syntax: BACKSP_off
BACKSPF_on
BACKSPF_on enables backspace processing with fixed fonts only.
Syntax: BACKSPF_on
Hints and tips: This command gives better performance than BACKSPP_on for fixed
fonts.
BACKSPP_on
BACKSPP_on enables backspace processing with fixed and proportional
fonts.
Syntax: BACKSPP_on
BCALL
BCALL executes a fragment of VIPP code encapsulated in a procedure.
BCALL protects any settings inside the procedure from any effect outside.
Settings in effect before the BCALL statement will remain active after the
statement.
Protected settings include:
• Font as defined by SETFONT or instantiated by a font index
• Color as defined by SETTXC or instantiated by a color index
• Background as defined by SETTXB or instantiated by a BAT index
• Line spacing as defined by SETLSP
• Indentation as defined by SETINDENT
Where:
{ VIPP code }
is a fragment of VIPP code that paints an element on the page.
{ /NHE 12 SETFONT
RED SETTXC
/UNDL SETTXB
(text text text ... ) 3 SHP
} BCALL
BEGINIMP
BEGINIMP turns on the imposition feature. Use this feature to print a
document that consists of a collection of TIFF files so that the printed
pages create a booklet. Use this command with a multi-up setting (such
as TWOUP), as well as a duplex mode (such as DUPLEX_on or
TUMBLEDUPLEX_on). This ensures that the printed document can be
folded and stitched correctly. BEGINIMP is ended using ENDIMP.
Syntax: BEGINIMP
call to document tiff files
ENDIMP
TWOUP
TUMBLEDUPLEX_on
BEGINIMP
(report1.ps) RUNDD
ENDIMP
Hints and tips: When the document has n pages, and n is a multiple of four, the pages
print as: n, 1, 2, n-1, n-2, 3, 4, n-3,... When n is not a multiple of four, extra
blank pages will be added by VIPP up to a multiple of four.
BEGINPAGE
BEGINPAGE defines actions to be performed at the beginning of each
page. By default these actions are null. Do not use BEGINPAGE to
perform marking commands, use it to perform tests on a page prior to the
page being imaged. (Refer to ENDPAGE for more information about page
marking.) This allows you to test for a value and perform an action, such
as setting a new JDT file.
Where:
{ start of page actions } BEGINPAGE
defines an action on the base or slave JDT level.
{ start of page actions } /M BEGINPAGE
defines an action on the master JDT level.
{ start of page actions } /B BEGINPAGE
defines an action on the banner JDT level.
Use the /B switch when defining BEGINPAGE actions in the JDT for
banner pages. Use the /M switch when defining BEGINPAGE actions in
the master JDT. No switch is required when defining BEGINPAGE actions
in the slave JDT.
Examples: This example shows how to staple sets of multi-copy pages when using
noncollate mode. This avoids the need to place an ENDOFRUN command
at the beginning of each page in the data.
STAPLE_on
3 SETCYCLECOPY
COLLATE_off
{ ENDOFRUN } BEGINPAGE
This example shows how to capture the data field following FORM= on the
banner page and use it to activate a JDT on the subsequent pages.
Use the “or” operator to set the condition to true if either StartBanner or
EndBanner is true.
BEGINPCC
BEGINPCC starts a PCC table definition used later with the SETPCC
command.
Where:
value
is the PCC code (0-255 or 16#0-16#FF).
pre_skip
is either a number of lines or a key to be assigned later by SETVFU.
print_action
is either true (print the record) or false (do not print the record).
post_skip
is either a number of lines or a key to be assigned later by SETVFU.
Hints and tips: The /usr/xgf/src/xgf.pcc file contains globally predefined PCC tables for a
site. For further information, refer to “Standard lists, tables, keys, and
attributes.”
BEGINRPE
BEGINRPE starts an RPE library definition in a JDT file. Refer to RPE
command information for more information, also refer to other related
RPE commands.
Where:
Maxrpe
must be equal to or greater than the number of FROMLINE or
RPEKEY commands following BEGINRPE and up to ENDRPE.
Hints and tips: Refer to INDEXRPE for information on defining several RPE libraries in a
master JDT.
BEGINXPD
BEGINXPD starts an XML Processing Definition (XPD) table in an XML
Job Ticket (XJT) file. It must be coupled with an ENDXPD command.
Between BEGINXPD and ENDXPE only definitions for tag actions and/or
tag substitutions using BTA/ETA and BTS/ETS commands are allowed.
Syntax: BEGINXPD
Inside BTA and BTS definitions these built-in variables are available:
• XMLATL — list of all the attributes of an XML tag
• XMLATN — attribute name
• XMLATV — attribute value
• XMLTAG — name of the current node
• XMLVAL — contents of the current node
• XMLPAR — name of the parent node of the current node
• XMLPATH — VXVpath of the current node
• XMLDTH — depth of the current node
BIND_off
BIND_off disables binding on DocuSP jobs only. This is the default.
For further information on setting up and using the subset finishing
features of the DocuSP products, refer to the appropriate DocuSP
manual.
Syntax: BIND_off
BIND_on
BIND_on enables binding on DocuSP jobs only. Use BIND_on with the
ENDOFSET, ENDOFRUN, and STARTOFSET commands to perform
subset binding. The default is BIND_off.
For further information on setting up and using the subset finishing
features of the DocuSP products, refer to the appropriate DocuSP
manual.
Syntax: BIND_on
BINDDETAILS
Use BINDDETAILS to specify the details for binding. You must enter this
command before you enter the BIND_on command.
This command is only effective on devices with various binding options.
For further information on binding options, refer to the appropriate device
manual.
Where:
detail_spec
is the device-specific binding option.
BOOKLETRANGE
BOOKLETRANGE is similar to PAGERANGE but is booklet oriented.
BOOKLETRANGE works in conjunction with STARTBOOKLET/
ENDBOOKLET to allow selection of a range of booklets to print.
This command is currently supported on the Creo DFE only.
Where:
startbooklet
is the number of the first booklet to print.
endbooklet
is the number of the last booklet to print.
Depending on the /PageRange parameter set by SETPARAMS the job will
complete normally or terminate with the message “Selected booklets:
startbooklet endbooklet.”
BOOKMARK
BOOKMARK creates an interactive bookmark within a PDF file.
Where:
input_string
is the string used to create the bookmark. Usually it is a field in
database mode, or data extracted using GETFIELD in line mode.
count
is the number of sub-bookmarks following this bookmark. (Default is
0.) It may be a variable. If it is positive the bookmark is open when the
file is initially accessed. If negative it is closed.
color
is a colorkey defining the color used to display the bookmark text.
(Default is BLACK.) Only plain RGB and grey scale color are
supported
style
is the style of the bookmark text:
• 0 — plain (default)
• 1 — italic
• 2 — bold
• 3 — bold and italic
/EX
tells BOOKMARK to create an "extended bookmark" rather than a
regular bookmark. An extended bookmark is a transparent PDF note,
which is usually visible from the from the "Comment" section of the
completed PDF only. /EX is valid only when using the VIPP Thin
Printer (VTP).
Extended bookmarks support large blocks of text when using the
Dispatch function of VTP. (The contents of a regular bookmark is
limited to 256 characters, extended bookmarks can contain as much
as 64K.) VTP processes the contents of the extended note
(depending on opt2) by appending it to the contents of the regular
bookmark. An extended bookmark is always linked to a regular
bookmark and must be created after the regular bookmark. Several
extended bookmarks may be created in a sub-document (between
two consecutive regular bookmarks). Refer to VIPP Thin Printer
(VTP) User's Guide for detailed information on VTP and VTP splitter.
opt1
is an integer that tells the VTP splitter how to handle the child PDF
file:
• 0 — Do not produce the child PDF file
• 1— Produce the child PDF file but do not include bookmark in it.
• 2— Produce the child PDF file and include bookmark in it. This is
the default.
If there is no extended bookmark the splitter will behave as described
for opt1=2.
opt2
is an integer that tells the VTP splitter how to handle the extended
bookmark:
• 0 — Do nothing with this extended bookmark
• 1 — Merge the extended bookmark with the associated regular
bookmark (for index file processing), but do not include it in the
child PDF
• 2— Merge the extended bookmark with the associated regular
bookmark (for index file processing) and include it in the child
PDF
opt2=0 can be used to insert comments or instructions in the main
PDF file present only in this file.
The combination opt1=0 and opt2=2 is irrelevant. It will act as opt2=1.
Example: This example creates an extended bookmark that instructs the VTP
splitter to produce a child PDF that does not contain the extended
bookmark. However, this extended bookmark will be included in the VTP
index file and, with appropriate VTP Dispatch and mail server settings, will
trigger an e-mail to John Smith with the child PDF attached.
(John Smith@isp.com:April invoice:Dear John, Attached you will find your invoice for April.
Best regards, Paul Martin) [ /EX 2 1 ] BOOKMARK
Hints and tips: If there is no active PIF, the destination of the bookmark is the current
page. If a PIF destination is active the destination is as defined by the PIF.
BSTRIP_off
BSTRIP_off disables the stripping of leading and trailing blanks in
delimited fields in database mode.
Syntax: BSTRIP_off
BSTRIP_off and other global commands such as DUPLEX_on,
SETDBSEP, and SETBUFSIZE, must not be coded in the Data Base
Master. Code it in the beginning of the database file before the
STARTDBM command, or in an external Job Descriptor Ticket referenced
by a SETJDT command placed before the STARTDBM command in the
database file.
%!
DUPLEX_on
(;) SETDBSEP
BSTRIP_off
(cas.dbm) STARTDBM
....
%! database file
(cas.jdt) SETJDT
(cas.dbm) STARTDBM
...
%!PS-Adobe-2.0
%%Title: cas.jdt
%%Creator: CAS/RXCH
....
DUPLEX_on
(;) SETDBSEP
BSTRIP_off
....
BTA
BTA starts a tag action definition. It must be coupled with an ETA
command.
Where:
/VXVkey
is a VXVname referencing a node of the XML file. Because VXVkey
references an XML node name (as opposed to a VXVname that
references XML node contents) the “^” in the first position must be
omitted. Contrary to stand-alone VXVname references, a VXVname
BTA operand may be ambiguous. When this happens the definition
will apply to all nodes whose VXVpath matches the BTA VXVname.
{ start tag action }
is a sequence of VIPP commands that is executed each time the
start-tag of the node is encountered.
{ end tag action }
is a sequence of VIPP commands that is executed each time the
end-tag of the node is encountered.
{ partial contents tag action }
is a sequence of VIPP commands that is executed each time a
start-tag is encountered while some node contents of its parent is
pending.
Examples: In this example the partial node contents “is an” and “writer born in” will
trigger the execution of this process.This operand is optional. When not
specified, the { end tag action } operand is used instead.
<author>
<name>John Smith</name> is an <nat>English</nat> writer born in <birth>1961</birth>.
</author>
This is an example of BTA used with the XML data shown above.
BTA /author
{}
{ x y MOVETO ^author 0 SHP }
ETA
Hints and tips: The BTA procedures may contain any VIPP native mode command to
print or store the node contents, initiate or terminate the current page,
define or change any layout parameter or carry any relevant action.
Due to the parsing order the node contents is only available in the end-tag
and partial contents procedures. In the start-tag process it will always
return an empty string.
All three actions, start tag, end tag, and partial contents tag, default to
none. Thus, if no BTA is defined for a given node no specific action will occur
when the node is encountered; except that its contents will still be stored using
its VXVname, making it available to any BTA action of other tags executed
later.
BTS
BTS starts a tag substitution definition. It must be coupled with an ETS
command.
Where:
/VXVname
is a VXVname referencing a node of the XML file. Because VXVkey
references an XML node name (as opposed to a VXVname that
references XML node contents) the “^” in the first position must be
omitted. Contrary to stand-alone VXVname references, a VXVname
BTS operand may be ambiguous. When this happens the definition
will apply to all nodes whose VXVpath matches the BTS VXVname.
(start tag substitution string)
defines a string that will be substituted to the start tag name making
it part of the node contents of its parent.
{ start tag substitution action }
is a sequence of VIPP commands that is executed each time the
start-tag of the node is encountered. This sequence must deliver a
string that will be substituted to the start tag name making it part of
the node contents of its parent.
(end tag substitution string)
defines a string that will be substituted to the end tag name making it
part of the node contents of its parent.
{ end tag substitution action }
is a sequence of VIPP commands that is executed each time the
end-tag of the node is encountered. This sequence must deliver a
string that will be substituted to the end tag name making it part of the
node contents of its parent.
Hints and tips: Use BTS/ETS definitions to substitute tags with font, color, background,
SST or PIF indexes.
<author>
<name>John Smith</name> is an English writer born in 1961.
</author>
This coding will print “John Smith is an English writer born in 1961.”
/U /UNDL INDEXBAT
/u null INDEXBAT
BEGINXPD
BTS /name (//U) (//u) ETS
BTA /author {} { ^author 0 SHP } ETA
ENDXPD
CACHE
CACHE enables resource caching. CACHE converts a resource into a
PostScript Form dictionary, which can then be used by the SCALL,
SETFORM, or SETBFORM commands. CACHE is always combined with
one of these commands by replacing (segmentname) or (formname) with
“(rname) CACHE” as described in the syntax below.
Where:
rname
can represent a VIPP segment, an EPS file, a PostScript file, a JPEG
file, or a TIFF.
When a VIPP segment is used with SETFORM/SETBFORM its origin is
placed at the bottom left corner of the page. To specify a different origin
use CACHE/SCALL in an in-line form definition as in this example.
VIPP forms (those encapsulated between braces “{ }”) are not allowed as
CACHE operands. When FSHOW is used in such forms, CACHE is
implicitly applied.
CACHE can use files located in these resource directories:
• formlib (as defined by SETFPATH)
• imglib (as defined by SETIPATH)
• mislib (as defined by SETMPATH)
CASE
CASE is an alternative to IF/ELSE/ENDIF for multiple similar tests.
Always use ENDCASE to close the CASE list.
Where:
reference_variable
is a variable that represents a string or number.
default action
is a sequence of native mode commands executed when reference
_variable is not equal to any choicen items.
choicen
is a string or number compared to the reference_variable.
actionn
is a sequence of native mode commands executed when choicen is
equal to reference_variable. This can include additional IF/ELSE
statements.
Examples: In this example, the salutation used differs according to the value
assigned to VAR.SCORE. When VAR.SCORE is not 1, 2, or 3, the default
value “Dear Sirs,” is used.
CHKPOINT
CHKPOINT defines an end of set point for cycle copy in collate mode. By
default, the end of set point is the end of file in line mode. There is no
default end of set point in native mode. Use %%EOF at the end of every
data set or database file to terminate the file.
Syntax: CHKPOINT
Examples: This example is of a data set using native mode CHKPOINT in a data stream.
() STARTLM
Page 1
Page 2
Page 3
%%XGF CHKPOINT
PAGE 4
PAGE 5
PAGE 6
%%EOF
/VARPageCount 1 SETVAR
{ IF VARPageCount 3 eq
{ CHKPOINT
/VARPageCount 1 SETVAR % Resets counter to 1
} ENDIF
} BEGINPAGE
Hints and tips: This command indicates a set delimiting point to produce multiple copy
sets using SETCYCLECOPY.
This command does not restore variables before each copy pass.
Because the values for each variable remain unchanged from one pass to
the next the user is responsible for re-initializing them as needed.
COLLATE_dbm
COLLATE_dbm enables a new collation mode in database mode. When
this collation mode is enabled the database master is called for each
record the number of times specified by SETCYCLECOPY.
Syntax: COLLATE_dbm
Example: This example prints two copies of a database mode job using
COLLATE_dbm and SETCYCLECOPY.
% DBM code
COLLATE_dbm
2 SETCYCLECOPY
/NTMR 14 SETFONT
300 2700 MOVETO
($$Fname. $$LName.) VSUB 0 SHP
% other code
PAGEBRK
COLLATE_off
COLLATE_off sets the noncollate mode for cycle copy mode.
COLLATE_on is the default. Noncollate mode indicates that the
requested number of copies is immediately produced after each logical
page.
Syntax: COLLATE_off
Hints and tips: Use this command with TWOUP to produce two reduced copies of a report
on a normal size sheet of paper in one pass.
COLLATE_on
COLLATE_on sets collate mode for cycle copy mode. This is the default.
In collate mode, multiple copies are created on a job or set basis. Refer
to CHKPOINT for further information.
Syntax: COLLATE_on
COPYRANGE
COPYRANGE causes the associated FROMLINE or RPEKEY Record
Processing Entry definition, and all following definitions, to apply only to
the specified copies [c1, c2, ... cn]. The number of copies is defined by
SETCYCLECOPY. Refer to FROMLINE or RPEKEY for the description of
the RPE entry parameters.
Hints and tips: Use this command to set up a different layout for each copy.
DJDEBEGIN
Use the DJDEBEGIN command to process the LCDS BEGIN parameter
in a PROCESSDJDE procedure.
{ CASE DJDECMD
...
(BEGIN) { DJDEPAR DJDEBEGIN }
...
ENDCASE
} 0 (DJDE) 3 PROCESSDJDE
Where:
Xpos and Ypos
are the position of the upper left corner.
width
is the width.
height
is the height.
radius
is the corner radius, width=height=2xradius generates a circle.
The predefined GEPkeys are as follows:
FBLACK S1 S2 S3 D1 D2 D3
XLT XLT_S1 XLT_S2 XLT_S3 XLT_D1 XLT_D2 XLT_D3
LT LT_S1 LT_S2 LT_S3 LT_D1 LT_D2 LT_D3
LMED LMED_S1 LMED_S2 LMED_S3 LMED_D1 LMED_D2 LMED_D3
MED MED_S1 MED_S2 MED_S3 MED_D1 MED_D2 MED_D3
DMED DMED_S1 DMED_S2 DMED_S3 DMED_D1 DMED_D2 DMED_D3
DRK DRK_S1 DRK_S2 DRK_S3 DRK_D1 DRK_D2 DRK_D3
XDRK XDRK_S1 XDRK_S2 XDRK_S3 XDRK_D1 XDRK_D2 XDRK_D3
Hints and tips: Refer to “Standard lists, tables, keys, and attributes,” or print the
/usr/xgf/demo/samgep.ps file for GEPkey samples. To add new GEPkeys
refer to SETGEP and edit the /usr/xgf/src/xgf.gep file.
DRAWBAR
DRAWBAR draws a bar chart. This command places the bottom left origin
of the bar chart at the current secondary print position.
Syntax: [ lab1 value1 lab2 value2 … labN valueN ]width height DRAWBAR
[ lab1 [val11 val12 ..val 1M] … labN [valN1 valN2 ..val NM] ]
width height DRAWBAR
[ lab1 [val11 val12 ..val 1M] … labN [valN1 valN2 ..val NM] ]
width height option DRAWBAR
Where:
labX
is the string label for a bar item. Variables can be used. Attributes
switches (font, color, ..) are allowed in the string or variable contents.
Label placement is determined by the /PrintLabel and /ChartDir
parameters.
For vertical bar charts word wrapping is performed on the labels
based on the bar width. For horizontal bar charts word wrapping is
performed based on a percentage of the chart width set by the
/LabelColw parameter.
valueX
is the value (string or real) for a bar item. Variables can be used. See
/Format parameter for formatting options.
[ valX1 valX2 ..val XM ]
is the set of string values (string or real) for a bar item. Variables can
be used.
When a set of values is provided, matching bars are stacked on top
of each other. The number of values must be the same in all sets.
The number of colors in the /ColorTable parameter must match the
number of values in a set. Spot labelling for these colors can be
provided using the /SpotLabels parameter.
See /Format for formatting options
width
is the width of the bar chart area.
height
is the height of the bar chart area.
option
is detailed in “Parameter descriptions” (all of the parameters have
default values and can be omitted). All parameters set here will
temporarily override the default value set by SETPARAMS and only
apply to that command. The default values will be restored for
subsequent commands.
ddg_index
refers to a list of label/values captured by an RPE entry (only zero is
currently supported). Refer to the FROMLINE align parameter.
Syntax: Xpos Ypos width height GEPkey repeat Xdispl Ydispl DRAWBM
Where:
Xpos and Ypos
are the position of the upper left corner of the first box.
width
is the width.
height
is the height.
radius
is the corner radius, width=height=2xradius generates a circle.
repeat
gives the number of boxes to draw.
Xdispl and Ydispl
are added to the Xpos and Ypos of the previous box to provide the
position of the upper left corner for the next box to be drawn. Ydispl
displacement is up when ORIBL is used or down when using ORITL.
Negative numbers invert the displacement direction. The default is
ORIBL.
DRAWC
DRAWC draws a circle or an ellipse. The circle is outlined and/or filled
according to the GEPkey. This command supports strings as operands
allowing you to use DBM variables as operands.
Where:
Xpos and Ypos
are the positions of the upper left corner of the bounding box of the
circle/ellipse in current units.
width and height
are the width and height of the circle/ellipse in current units. When the
width and height are equal, a circle is drawn. When they differ, an
ellipse is drawn.
GEPkey
is the Graphical Element Property key used to draw the circle.
Hints and tips: Refer to “Standard lists, tables, keys, and attributes,” or print the
/usr/xgf/demo/samgep.ps file for GEPkey samples. To add new GEPkeys,
refer to SETGEP and edit the /usr/xgf/src/xgf.gep file.
710 1250 900 900 XLT_S1 DRAWC % shaded and outlined circle
DRAWCRV
DRAWCRV draws a curve chart. This command places the bottom left
origin of the chart at the current secondary print position.
Where:
label/value list
is a list of label/value pairs.
width
is the width of the curve chart area.
height
is the height of the curve chart area.
option
is detailed in “Parameter descriptions““(all of the parameters have
default values and can be omitted). All parameters set here will
temporarily override the default value set by SETPARAMS and only
apply to that command. The default values will be restored for
subsequent commands.
ddg_index
refers to a list of label/values captured by an RPE entry (only zero is
currently supported). Refer to the FROMLINE align parameter.
Multiple charts drawn with DRAWCRV can be stacked using the /Stack
parameter. When drawing stacked charts the following rules must be
followed:
• /MaxVal and /MinVal parameters must be set to ensure a common
scale for the stacked charts.
• All stack charts must share the same width and height.
• Labels must be specified only on the first chart.
DRAWPIE
DRAWPIE draws a pie chart. This command places the center of a pie
chart at the current secondary print position.
Where:
label/value list
is a list of label/value pairs.
radius
is the radius of the pie chart.
When /FitSpace > 0, then radius is the maximum acceptable radius.
option
is detailed in “Parameter descriptions” (all of the parameters have
default values and can be omitted). All parameters set here will
temporarily override the default value set by SETPARAMS and only
apply to that command. The default values will be restored for
subsequent commands.
ddg_index
refers to a list of label/values captured by an RPE entry (only zero is
currently supported). Refer to FROMLINE align parameter.
DRAWPOL
DRAWPOL draws a polygon. This command supports strings as
operands, allowing you to use DBM variables as operands.
Syntax: [ Xpos1 Ypos1 Xpos2 Ypos2 ... Xposn Yposn ] GEPkey DRAWPOL
Where:
Xpos and Ypos
provide the subsequent coordinates of a polygon, which is outlined,
filled, or both according to the GEPkey.
[ 200 200 1240 3300 2280 200 ] LMED_S1 DRAWPOL % draws a triangle
DUPLEX_off
DUPLEX_off disables duplex printing. This is the default.
To delay switching from duplex to simplex, and avoid throughput
deterioration in jobs that frequently switch from duplex to simplex, use
SETPARAMS to set the parameter MixPlexCount using these values:
• When in mix-plex mode and the MixPlexCount value is greater than
0, the value is the number of pages that will be printed with blank
back pages after the execution of the DUPLEX_off command. (True
simplex mode will only be entered after that number of pages.)
• When in mix-plex mode and the MixPlexCount value is equal to 0,
true simplex mode is entered immediately after the execution of
DUPLEX_off. This is the default value for DocuSP printers.
• When the MixPlexCount value is equal to -1, true simplex mode is
never entered in mix-plex mode. For backward compatibility, this is
the default value for NPS printers. When this value is set, the print
speed for the document remains the same as in duplex mode
because a blank page is imaged on the back of every simplex page.
Syntax: DUPLEX_off
DUPLEX_on
DUPLEX_on enables duplex printing. The default is DUPLEX_off.
Syntax: DUPLEX_on
ENDBOOKLET
Use the ENDBOOKLET command to end a booklet. You must code this
command after the PAGEBRK command on the last page of a booklet.
This command is currently supported on the Creo DFE only.
Syntax: ENDBOOKLET
ENDCASE
ENDCASE must close the CASE list. Use this command only with the
CASE command.
Syntax: ENDCASE
ENDCLIP
ENDCLIP cancels the clipping area defined by a previous command using
a CLIP GEPkey.
Syntax: ENDCLIP
ENDIFALL
ENDIFALL is an RPE subcommand used when conditions are nested at
any level. /ENDIFALL provides a facility to close all pending /IF
statements in one command rather than having to code all matching
/ENDIF statements. Refer to SETRCD and SETPCD condition definitions
for further information, also refer to RPE command information and other
related RPE commands.
1 FROMLINE
/IF_CND1
[ .... rpe entry 1 .... ]
[ .... rpe entry 2 .... ]
/IF_CND2
[ .... rpe entry 3 .... ]
/ELSE
[ .... rpe entry 4 .... ]
/ENDIF
/ELSE
[ .... rpe entry 5 .... ]
[ .... rpe entry 6 .... ]
/IF_CND3
[ .... rpe entry 7 .... ]
/ENDIF
/ENDIF
10 FROMLINE
/IF_CND4
[ .... rpe entry 11 .... ]
[ .... rpe entry 12 .... ]
/ELSE /IF_CND5
[ .... rpe entry 13 .... ]
/ELSE /IF_CND6
[ .... rpe entry 14 .... ]
/ELSE /IF_CND7
[ .... rpe entry 15 .... ]
[ .... rpe entry 16 .... ]
/ELSE
[ .... rpe entry 17 .... ]
/ENDIFALL
ENDIMP
ENDIMP turns off the imposition feature. Use this feature to print a
document that consists of a collection of TIFF files so that the printed
pages create a booklet. ENDIMP ends the BEGINIMP command.
Syntax: BEGINIMP
call to document tiff files
ENDIMP
TWOUP
TUMBLEDUPLEX_on
BEGINIMP
(report1.ps) RUNDD
ENDIMP
ENDJOB
Use ENDJOB to define a sequence of actions to execute at the end of a
job.
Where:
{additional actions}
is a sequence of VIPP commands that will be executed at the end of
the job.
Additional actions can include additional marking on the last page
and/or additional pages depending upon if and how PAGEBRK is
used in the sequence.
{ PAGEBRK
/NHE 30 SETFONT
200 3000 MOVETO
(This job printed $$PPCOUNT. pages) VSUB 0 SHP
PAGEBRK
} ENDJOB
ENDOFRUN
ENDOFRUN acts as a subset of a set delimiter. When inserted in the print
file, this command must be placed at the beginning of the last page of the
subset.
Syntax: ENDOFRUN
Code ENDOFRUN in the data stream (in an NMP in line mode,) or in a
BEGINPAGE procedure based on any condition detected on the page as
illustrated in this example.
This allows you to place the endofrun_marker at any location in the last
page of the set. SETPBRK may be used to set up a page delimiter that
combines an endofpage_marker with an endofrun_marker. When the form
feed is used as an endofpage_marker, combine the above setting with
this example.
%!
(xyz.jdt)STARTLM
.......... first page
<FF>
.......... 2nd page
<FF>
.......... last page of run
<FF>endofrun_marker
.......... first page of new run
In this example, the endofrun_marker is part of the last page of the run.
This may help when migrating LCDS applications.
ENDOFSET
ENDOFSET acts as a set delimiter. When inserted in the print file, this
command must be placed at the beginning of the last page of the set.
Syntax: ENDOFSET
Code ENDOFSET in the data stream (in an NMP in line mode), or in a
BEGINPAGE procedure, based on any condition detected on the page as
follows.
This allows you to place the endofset_marker at any location in the last
page of the set. SETPBRK may help to set up a page delimiter that
combines an endofpage_marker with an endofset_marker.
When the form feed is used as an endofpage_marker, combine the above
setting with this example.
%!
(xyz.jdt)STARTLM
.......... first page
<FF>
.......... 2nd page
<FF>
.......... last page of set
<FF>endofset_marker
.......... first page of new set
In this example the endofset_marker is part of the last page of the set.
This may help migrating LCDS applications.
ENDPAGE
Use ENDPAGE to define actions that the system will perform at the end
of each page. The default is no actions.
Where:
count
is an optional operand defining the number of consecutive pages on
which the actions will be executed. The default for the count operand
is 999999.
The first two syntax examples define actions that the system executes
before the page is imaged. In general, these consist of final markings,
such as printing data that was previously captured using GETFIELD.
The third syntax example defines actions that the system executes after
the page is imaged. In general, use this syntax to change the setup for
subsequent pages, depending on the conditions evaluated by SETPCD.
Marking commands cannot be used in this syntax.
{ /NHE 20 SETFONT
100 3000 MOVETO
VAR.CUST SHC
} ENDPAGE
{ IF BANNER
{ /VARjdt 0 5 8 /BANNER GETFIELD
($$VARjdt...jdt) VSUB SETJDT
}
ENDIF
} /P ENDPAGE
ENDPCC
ENDPCC ends a PCC definition. It must be coupled with BEGINPCC.
Syntax: ENDPCC
ENDRPE
ENDRPE ends an RPE library definition. It must be coupled with
BEGINRPE. Refer to RPE command information for more information,
also refer to other related RPE commands.
Syntax: ENDRPE
ENDXPD
ENDXPD ends an XML Processing Definition (XPD) table in an XML Job
Ticket (XJT) file. It must be coupled with an BEGINXPD command.
Syntax: ENDXPD
ETA
ETA ends a tag action definition. It must be coupled with an BTA
command.
Syntax: ETA
ETS
ETS ends a tag substitution definition. It must be coupled with an BTS
command.
Syntax: ETS
EXIST
The EXIST command tests for the existence of an external or embedded
VIPP resource. This command must be combined with the IF command.
Where:
resource_name
is the name of the resource that will be checked.
If resource_name is an empty string EXIST returns “false” (does not
exist).
rec_type
is one of these:
• frm — VIPP form files (FRMs, and EPS files) in xgfc/formlib
• dbm — VIPP Database Master Files (DBMs) in xgfc/formlib
• seg — VIPP PostScript Segments in xgfc/formlib
• img — TIFF and JPEG files in xgfc/formlib
• jdt — VIPP Job Description Ticket files in xgfc/formlib
• enc — font encoding tables in xgfc/encoding
• fnt — font files
• mis — miscellaneous files (path set by SETMPATH)
• dd — decomposition files
NOTE: The paths for all files are defined in the xgf/src/xgfunix.run or
xgf/src/xgdos.run file.
IF (truk.tif)/img EXIST
{ 100 200 MOVETO (truk.tif) 1 0 ICALL }
ENDIF
This example places the truk.tif image when the condition is true.
Otherwise, it places a default.tif image.
EXIT
Use EXIT to exit from a REPEAT loop.
Syntax: EXIT
Example: This example will print all Decomposition Services documents named in
order docu001.txt, docu002.txt, … and exit on the first named file that
does not exist, up to 999 documents.
FBIND
FBIND is used exclusively before XGFRESDEF when embedding a VIPP
form in a VIPP job.
FCALL
FCALL executes a segment in the current context such as font, print, or
position.
Hints and tips: FCALL may be used to store pieces of frequently used VIPP code or to
print paragraphs down the page.
FILLOMR
FILLOMR fills in the bubbles and response boxes of an Optical Mark
Reading (OMR) grid.
Where:
[ parameters ]
can be one of the parameters listed here:
• /OMRMap (map string)
• /OMRDir /H or /V
• /ORMHskip integer
• /ORMVskip integer
• /OMRHdisp integer
• /OMRVdisp integer
• /OMRSlugFont /Fontname
• /OMRSlugSize integer
• /OMRSlugChar string
• /OMRWriteResp boolean
These parameters are described in detail in “Parameter descriptions."
All the parameters have built-in defaults that can be altered using
SETPARAMS. The FILLOMR array may be provided with only those
parameters that differ from the defaults.
The response string must be made up of characters from the OMRMap
string. The current font (set by SETFONT or a font index) is used for
printing the response string.
The current font (set by SETFONT or a font index) is used for printing the
response string.
FOREACH
FOREACH applies GETITEM to each entry of a variable array and
executes the supplied procedure. The variable array may have been
previously defined and populated with SETVAR and ADD.
Where:
{ sequence of VIPP commands }
is any sequence of native mode commands that produces a portion
of a page, a complete page, or several pages. Variable names
defined in the variable array may be used in this sequence.
variable_array_name
is a name referencing a variable array in the format suited for the
GETITEM command.
/VAR_names
[ [ /VAR_fname /VAR_name ]
[ (John) (Smith) ]
[ (Paul) (Martin)]
[ (Mary) (White) ]
] SETVAR
FORMSHIFT
Use FORMSHIFT to adjust the origin in a VIPP form.
Syntax: X Y FORMSHIFT
Where:
X
is the horizontal adjustment in current units. It can be negative.
Y
is the vertical adjustment in current units. It can be negative.
FROMLINE
FROMLINE sets an RPEdefinition to be applied from linenumber. Refer to
RPE command information and to other related RPE commands for more
information.
Where:
linenumber
refers to the record position in the print file from the last page
delimiter. The FROMLINE command is then followed by one or
several RPE entries encapsulated between square brackets ”[ ].”
Each RPE entry has ten parameters that define the field processed in the
record and the layout attributes, as follows.
align
can include these:
• 0 — align left
• 1 — align right
• 2 — align center
• [ Colwidth 3 ] — justify on Colwidth
• 4 — align left with heading blanks strip
• 5 — align right with trailing blanks strip
• [ (string) 6 ] — align on string (for example, decimal point)
• 7 — show on (append to previous string).
When the align parameter is extended with a decimal, the related
RPE field will be captured for later use in a Data Driven Graphic
(DDG). Refer to DRAWPIE, DRAWBAR, or DRAWCRV for more
information. When extending align with a decimal:
• x.1 — capture a value field (mandatory)
• x.2 — capture a label field (optional)
For example, 1.1 will capture a value field and print it aligned right,
[(.) 6.2] will capture a label field and align it on the decimal point.
{proc}
align can also be replaced by a procedure body. Refer to Align
procedure in “Extending FROMLINE and RPEKEY commands.”
rotate
is the rotation angle in degrees (positive is counterclockwise).
Xinit
is the initial horizontal position on the page computed from the left
margin.
Xdispl
is added to Xinit for consecutive records using the same RPE
definition.
Yinit
is the initial vertical position on the page computed from the top
margin. In an RPE definition, the origin is always in the top left corner
of the page. This parameter can also be expressed as a variable,
/YINIT.
Ydispl
is added to Yinit for consecutive records using the same RPE
definition.This parameter can also be expressed as a variable, /LSP.
recpos
is the record position of the field to select (starting with 0).
length
is the length of the field. length can be replaced with a string value.
field_nr
is the field number starting with 0. It applies to records with a field
delimited structure. /FN indicates that the previous parameter is a
field number. The field delimiter is defined by SETDBSEP. The
default is “:”.
font
is the font index as defined by INDEXFONT. /CRFT is a reserved
index name that may be used to refer to the font used in the previous
line. It must be given an initial value using INDEXFONT.
colorkey
is defined in the /usr/xgf/src/xgf.gep file, for more information, refer to
“Standard lists, tables, keys, and attributes.”
Examples: In this example, the value “Smith” is obtained by this RPE entry from the
record that follows.
/ADR0
[ 0 0 100 null 200 50 3 /FN /F1 BLACK ]
ADR0:Robert:W.:Smith:New York
Data File
CASH 37,586 32.70
SHARE 26,879 45.28
-----
/GraphData
[ {SCALL} 0 1500 null 300 50 0 (PIE0) /F3 BLACK ]
/ENDIF
ENDRPE
Where:
LN
is the number, starting from zero, of the line in the current group.
When the group changes, LN is reset to zero
Xpos and Ypos
are re-initialized with the Xinit and Yinit values of the new group.
Xinit, Yinit, Xdispl, and Ydispl
generally must be identical in all entries of an RPE group. Xinit or
Yinit can change only when the corresponding X or Y displacement is
set to zero.
% RPE definition
5 BEGINRPE
% align rot. Xinit Xdispl Yinit Ydispl recpos length font color
1 FROMLINE
[ 2 0 835 0 300 0 00 99 /F4 BLACK ]2 FROMLINE
[ 2 0 615 0 445 0 00 99 /F1 WHITE ]3 FROMLINE
[ 2 0 1199 318 445 0 00 99 /F1 WHITE ]9 FROMLINE
[ 2 0 3140 0 445 0 00 99 /F5 WHITE ]10 FROMLINE
[ 0 0 230 0 560 75 00 33 /F2 BLACK ]
[ 1 0 1345 0 560 75 33 12 /F2 BLACK ]
[ 1 0 1658 0 560 75 45 12 /F2 BLACK ]
[ 1 0 1976 0 560 75 57 12 /F2 BLACK ]
[ 1 0 3290 0 560 75 105 12 /F3 BLACK ]
[ 1 0 2286 0 560 75 69 12 /F2 BLACK ]
ENDRPE
With variable line spacing, Xdispl and Ydispl can vary in an RPE definition
or RPE group. When processing lines match an RPE definition or RPE
group, the print position (X and Y) resulting from the last RPE entry is kept
in memory and is used as the initial print position for the next RPE entry.
These values are initialized with Xinit and Yinit the first time an RPE
definition or RPE group is involved in a page. In all subsequent access to
any entry in this RPE definition, the print position is computed as follows:
• When the keyword null is used for either Xdispl or Ydispl, the
corresponding Xinit or Yinit values of the current RPE entry are
used.
• When the keyword null is not used for either Xdispl or Ydispl, the
Xdispl or Ydispl values are added to the values kept in memory.
When PCC processing is enabled, Xdispl or Ydispl values are added
before or after printing the record portion, depending on the PCC
definition.
Therefore, when a record is split into several fields that must be printed
with the same horizontal position, Yinit and Ydispl are only relevant in the
first RPE entry. All other entries must have these parameters set to zero.
In addition, Xinit varies to reflect the different horizontal positions of the
fields and Xdispl is always null.
LFA0 and LFA1 records in the data file can be intermixed in any order, the
line spacing will adjust automatically.
This example shows the use of the subcommand NEWPOS. Use
NEWPOS when a new print position is necessary for a group of RPE
entries to print the same field at different locations on the page,
Hints and tips: TLGRID may be a useful tool when setting up RPE definitions.
FSHOW
Use FSHOW to submit a form as a normal print file, and to obtain a sample
of the form either as printed output or on screen.
FSHOW automatically enables caching when the form is invoked by
SETFORM or SETBFORM.
FSHOW takes FORMSHIFT into account when the form is submitted on
its own.
Syntax: %!
{ form contents } FSHOW
G4PMETRIC_off
G4PMETRIC_off disables the PhotometricInterpretation tag on G4 TIFF
files. The PhotometricInterpretation tag is now processed using TIFF 6.0
specifications. This may cause some TIFF files to print in reverse. The
G4PMETRIC_off command enables processing of G4 TIFF files using
pre-VIPP version 2.0.1 functionality.
Syntax: G4PMETRIC_off
GETDATE
GETDATE sets or updates these date- and time-related VIPP variables:
Name Contents Examples or value range
D_DWL Day of week (long) Sunday, Monday, Tuesday, ...
D_DWS Day of week (short) Sun, Mon, Tue, ...
D_DD Day of month 01-31
D_MOL Month (alpha long) January, February, March, ...
D_MOS Month (alpha short) Jan, Feb, Mar, ...
D_MO Month number 01-12
D_YY Year (2 digits) 00-99
D_YYYY Year (4 digits) 1970-9999
T_HH Hours (24) 00-23
T_HH2 Hours (12) 1-12
T_MM Minutes 00-59
T_SS Seconds 00-59
T_AMPM AM/PM am, pm
T_TZN TimeZone PST, PDT
D_DOY DayOfYear 1-366
GETDATE relies on an accurate clock being accessible to the file system
of the PostScript interpreter on which VIPP is running. The file created to
acquire the date is created in the same directory as the file defined by
SPOOLNAME.
On interpreters that have no file system available, GETDATE will use the
date defined by the /DefaultDate parameter. By default, this parameter is
initialized to: 2003, January, 1st 00:00:00, standard time.
Syntax: GETDATE
GETDATE is initially called in xgf.def and then implicitly called at each
page initialization. In most cases, you will not need to call GETDATE
explicitly unless you want to force an immediate update of the date
variables.
GETFIELD
The GETFIELD command captures a record portion or a field of a specific
line and assigns its value to the specified variable.
Where:
line_nr
is the line number from which to capture data.
recpos
is the position of the record portion to capture.
length
is the length of the record portion to capture.
field_nr
is the field number to capture in the record.
PCDkey
identifies the line from which to capture data.
line_off
is an offset to the line identified by PCDkey. For example:
NOTE: GETFIELD strips left and right blanks from the extracted field
before assigning it to the variable.
Example: This example illustrates how to capture the data field following FORM= on
the banner page and use it to activate a JDT on the subsequent pages.
(FORM=INV01 calls INV01.jdt). /BANNER must be true to assign /VARjdt
the value captured by GETFIELD.
GETITEM
Use the GETITEM command to assign a particular set of values (referred
to by an index) to a set of field names. Field names and values are stored
in a table previously defined by SETVAR. The first entry of the table holds
the field names, subsequent entries hold the sets of values. GETITEM is
used in a Data Base Master to avoid a long list of SETVARs. Typically this
command is used to assign multi-lingual variables depending on an index
in a DBF field.
Where:
VAR_itemtable
is a table previously defined with this syntax:
/VAR_itemtable
[ [ /VAR_name1 /VAR_name2 /VAR_name3 .../VAR_nameN ]
[ (value11) (value12) (value13) .... (value1N) ]
[ (value21) (value22) (value23) .... (value2N) ]
.......
[ (valueM1) (ValueM2) (valueM3) .... (valueMN) ]
] SETVAR
index
is an integer in the range 1 to M (length of the table).
Example: This example shows how to build and use a multi-lingual table for a
multi-lingual mailing. In the table LCODE is the language code ranging
from 1 to 4. GENDER is the gender ranging from 1 to 3.
/VAR_LANGUAGE
[ [ /VAR_G1 /VAR_G2 /VAR_G3 /VAR_LETTER ]
[(Dear Sir,)(Dear Madam,)(Dear Miss,)(letter_en.ps)] % 1. English
[(Querido Señor,)(Querida Señora,)(Querida Señorita,)(letter_fr.ps)] % 2. Spanish
[(Cher Monsieur,)(Chère Madame,)(Chère Mademoiselle,)(letter_sp.ps)] % 3. French
[(Sehr geehrter Herr,)(Sehr geehrte Frau,)(Sehr geehrtes Fraulein,)(letter_ge.ps)] % 4. German ]
/INI SETVAR
VAR_LANGUAGE LCODE GETITEM
VAR_LETTER CACHE SETFORM
x y MOVETO
(VAR_G$$GENDER.) VSUB2 SHL
Hints and tips: RPCOUNT may be used for index when GETITEM is placed inside a
REPEAT loop. For example:
GOTOFRAME
Use the GOTOFRAME command with a frame number to start placing all
subsequent elements into the specified frame. The frame number must be
greater than the current frame number and less than or equal to the
maximum frame number, otherwise the request will be ignored.
Where:
frame_number
is the frame number for the destination frame (starting with 1).
2 GOTOFRAME
(My paragraph of text) 0 SHP
ICALL
ICALL images a 6.0 TIFF file or JFIF/JPEG file (baseline encoded format)
at the current secondary print position. Bi-level images use the current
color set by SETTXC.
Where:
imagename
is the name of the TIFF or JPEG file to image.
scale
is the scaling factor (1 = 100% or no scaling). A special value (2D3)
is available to print 200 DPI scanned images at 300 DPI (a 66,666...
% reduction) with the best performance. The default is no scaling.
rotation
is the rotation value in degrees (positive is counterclockwise).
align
indicates which point of the image must be aligned on the secondary
print position using these values:
• 0 — top left (default)
• 1 — top right
• 2 — top center
• 10 — bottom left
• 11 — bottom right
• 12 — bottom center
• 20 — center left
• 21 — center right
• 22 — center center
Images must be stored in one of the libraries defined by SETIPATH. Use
of the .tif or .jpg extension is recommended.
This support is provided for TIFF or JPEG files:
• One image for each file (only the first image is processed)
• Bi-level (transparent imaging) uncompressed or compressed with
CCITT G4/G3 or PackBits encoding schemes
• Grayscale or full color, uncompressed or compressed with LZW
encoding schemes (opaque imaging)
• Two-dimensional (2D)
• Mono-strip or multi-strip images
• FillOrder (tag 266) value must be 1 (MSB). A FillOrder value of 2
(LSB) is supported on Docuprint NPS printers
• Support for CIE color space (PhotometricInterpretation=8).
• Support for density parameters=0 in JPEG files
Example: This is an example of how to call a TIFF file embedded in the data stream.
IF/ELSE/ENDIF
The IF, ELSE, and ENDIF commands introduce native mode and Data
Base Master conditional logic. See also ENDIFALL.
Where:
condition
may be one of these:
• item1 item2 test_op
• PCDkey
• condition1 condition2 bool_op
item1and item2
can be fixed strings, integers, real numbers, names of variables
defined by SETVAR or GETFIELD, or database field names.
test_op
is a test operator such as:
• eq — equal
• ne — not equal
• gt — greater than
• ge — greater than or equal
• lt — less than
• le — less than or equal
bool_op
is a boolean operator such as:
• or — true if either condition is true
• and — true if both conditions are true
PCDkey
is a condition defined by SETPCD.
Examples: This example prints “Your gift will be a pocket razor” when the contents of
FIELD1 is “Sir,” and “Your gift will be a hand bag mirror” when FIELD1
contains any other text.
IF FIELD1 (Sir) eq
{ (Your gift will be a pocket razor) SHL }
ELSE
{ (Your gift will be a hand bag mirror) SHL }
ENDIF
Use this example to print the string “Is life good or what!!” for only those
people from California who are over 40 and are male.
IF State (California) eq
Age (40) ge and
Gender (Male) eq and
{ (Is life good or what!!) 0 SHP }
ENDIF
Mode: These commands are applicable in native mode, line mode, and database
mode.
IGNOREBT_off
IGNOREBT_off causes the ICALL command to abort the job on corrupted
or unsupported TIFF files. IGNOREBT_off is the default.
IGNOREBT stands for “IGNORE Bad TIFFs.”
Syntax: IGNOREBT_off
IGNOREBT_on
IGNOREBT_on causes corrupted or unsupported TIFF files to be ignored
by the ICALL command. The related TIFF file will not be printed and the
job will finish. A list of all ignored TIFF files will be produced on the error
sheet at the end of the job. ICALL command aborts the job on corrupted
or unsupported TIFF files by default.
The default is IGNOREBT_off.
Syntax: IGNOREBT_on
ILAND
ILAND sets inverse landscape orientation. Inverse landscape orientation
is obtained by rotating a portrait sheet 90 degrees clockwise.
Syntax: ILAND
INDEXBAT
INDEXBAT associates a BATkey with a BATindex.
Once defined by INDEXBAT, a BATindex follows the same rules and
behaviors as a Colorindex defined by INDEXCOLOR. Refer to
INDEXCOLOR for further information.
Where:
BATindex
is an alphanumeric string.
BATkey
is a BATkey defined by SETBAT.
null
defines a BATindex to cancel the current one.
For more information on pre-defined BATkeys, refer to “Standard lists,
tables, keys, and attributes.”
/U /UNDL INDEXBAT
/N null INDEXBAT
(Switching from //U underlined text//N to regular) 0 SHMF
Hints and tips: Refer to SHMF for further information on the font color switch.
INDEXCOLOR
INDEXCOLOR associates a color and pattern with the Colorindex key.
Once defined by INDEXCOLOR, Colorindex can be used externally as a
stand-alone command between subsequent SHx commands, or following
a color switch prefix inside printable data processed by SHMF or SHP.
The color switch prefix is defined by SETFTSW (the default is “//”).
When used externally, Colorindex can be any alphanumeric string starting
with an alphabetic character. When used inside printable data, Colorindex
must be an alphanumeric character string whose length is defined by
SETFTSW (the default is 1).
Colorkeys are defined in /usr/xgf/src/xgf.gep.
Where:
Colorindex
is an alphanumeric string.
Colorkey
is a colorkey defined in xgf/src/xgf.gep.
PATkey
is a pattern key defined by SETPAT.
For more information on pre-defined color and pattern keys, refer to
“Standard lists, tables, keys, and attributes.”
Example: This example prints “Text using font 1 Switch to font 2 blue and Font 3.”
/1 /NHE 18 INDEXFONT
/2 /NHE 24 INDEXFONT
/3 /NHEO 18 INDEXFONT
/A BLACK INDEXCOLOR
/B BLUE INDEXCOLOR
200 200 MOVETO
(//1Text using font 1 //2//BSwitch to font 2 blue //3and Font 3) 0 SHMF
Hints and tips: Using color indexes provides a more compact and efficient data stream
when intensive color switching is required.
Related commands: INDEXBAT, SHMF/SHMf, SETFTSW, SETPAT, SETTXC, SHP and SHp,
SETCOL
INDEXFONT
INDEXFONT associates a font name and a font size with Fontindex.
Once defined by INDEXFONT, Fontindex can be used externally as a
stand-alone command between subsequent SHx commands, or following
a font switch prefix inside printable data processed by SHMF or SHP. The
font switch prefix is defined by SETFTSW (the default is “//”). Refer to
SHMF for further information.
When used externally, Fontindex can be any alphanumeric string starting
with an alphabetic character. When used inside printable data, Fontindex
must be an alphanumeric character string whose length is defined by
SETFTSW (default is 1).
See “Kerning” for additional information.
Where:
Fontindex
is an alphanumeric string.
Fontname
is the name of a font chosen from the VIPP font lists enabled by
SETENCODING in the /usr/xgf/src/xgf.def file or from the PostScript
font list, for more information, refer to “Standard lists, tables, keys,
and attributes.”
size
is the font size in both X and Y direction in points.
sizex
is the font size in the X direction in points.
sizey
is the font size in the Y direction in points.
size, sizex and sizey may be integer or real numbers.
When the second syntax is used, the font is scaled with different values
on the X and Y axis.
Example: This example shows the usage of a three-character font index with an
SHMF command.
(//) 3 SETFTSW
/H10 /NHE 10 INDEXFONT
/H12 /NHE 12 INDEXFONT
(//H10 use Helvetica 10 //H12 use Helvetica 12) 0 SHMF
Hints and tips: Using font indexes provides a more compact and efficient data stream
when intensive font switching is required.
INDEXKERN
INDEXKERN associates kerning options with a Kernindex key.
Once defined by INDEXKERN, Kernindex can be used externally as a
stand-alone command between subsequent SHx commands, or following
a switch prefix inside printable data processed by SHMF or SHP. The
switch prefix is defined by SETFTSW (the default is “//”).
When used externally, Kernindex can be any alphanumeric string starting
with an alphabetic character. When used inside printable data, Kernindex
must be an alphanumeric character string whose length is defined by
SETFTSW (the default is 1).
Where:
Kernindex
is an alphanumeric string.
PW_opt
defines the pair-wise kerning option. PW_opt can take one of these
values:
• 0 — disable pair-wise kerning.
• not 0 — enable pair-wise kerning by multiplying the pair-wise
kerning values provided by the AFM file (KP, KPX or KPY
entries). The recommended value is 1 and may be a real number.
• null — keep the current pair-wise kerning option in effect.
TG_opt
defines the generic track kerning option. TG_opt can take one of
these values:
• 0 — disable generic track kerning
• not 0 — enable track kerning by multiplying generic track kerning
values defined by VIPP. The recommended value range is -3 to
+3, and may be a real number.
• null — keep the current generic track kerning option in effect.
TK_deg
defines the track kerning degree. TK_deg can take one of these
values:
• 0 — disable track kerning degree.
• not 0 — enable track kerning by selecting values from the closest
track kern degree defined in the TrackKern entries of the AFM
file. Track kerning degrees generally range from -3 to +3, they
must be an integer.
• null — keep the current track kerning degree in effect.
INDEXPIF
INDEXPIF associates a PIF destination or note with a PIF index. Once
defined by INDEXPIF, a PIF index follows the same rules and behaviors
as a Colorindex defined by INDEXCOLOR. Refer to INDEXCOLOR for
further information.
Where:
PIFindex
is an alphanumeric string.
PIFtype
can be one of these:
• PAGE — a page in the document
• DEST — a named destination defined by PDFDEST
• XPAGE — a page in another PDF document
• XDEST— a named destination in another PDF document
• FILE — a non-PDF document
• URI — an Internet/Intranet site or document
• NOTE — a note
paramX
depending on PIFtype these parameters must be supplied:
• [ /PAGE pagenum view ]
• [ /DEST /destname ]
• [ /XPAGE (fileref) pagenum view ]
• [ /XDEST (fileref) /destname ]
• [ /FILE (fileref) ]
• [ /URI ]
• [ /URI (URIstring) ]
• [ /NOTE (title) (contents) ]
• [ /NOTE (title) (contents) notetype color option ]
Refer to SETPIF for a list of possible values.
null
defines a PIF index to cancel the current PIF index.
Example: This example shows how to associate a URL with a logo and a bookmark,
using a PIF index:
INDEXRPE
INDEXRPE registers the current RPE under a key.
In the syntax example below, INDEXRPE registers the current RPE under
the RPEname used later as a self-execute command in a JDT or Native
Mode Prefix (NMP). INDEXRPE must be coded immediately after
ENDRPE.
The last RPE defined by ENDRPE remains active.
Refer to RPE command information and to other related RPE commands
for more information.
Hints and tips: Use this command to define several RPE libraries in a master JDT called
by STARTLM. RPE names can then be invoked by slave JDTs called by
SETJDT or NMP. This method avoids re-creating RPE structures on each
JDT call, for detailed examples refer to “VIPP file examples.”
INDEXSST
INDEXSST associates an SST_param sequence with an SSTindex. Once
defined by INDEXSST, an SSTindex follows the same rules and behaviors
as a Colorindex defined by INDEXCOLOR.
This index is used to activate Subscript and superscript attributes. See
SETTXS for more details.
Where:
SSTindex
is an alphanumeric string.
sst_params
is defined in SETTXS. Refer to SETTXS for a description of this
operand.
/1 /NHE 16 INDEXFONT
/2 /NHE 8 INDEXFONT
/3 20 INDEXSST
/4 null INDEXSST
100 3000 MOVETO
(//1March, 17//2//3th//4//1) 0 SHMF
/S /SUP INDEXSST
/N null INDEXSST
/NHE 16 SETFONT
100 3000 MOVETO
(March, 17//Sth//N) 0 SHMF
IPORT
IPORT sets inverse portrait orientation. Inverse portrait orientation is
obtained by rotating a portrait sheet by 180 degrees.
Syntax: IPORT
IREVERSE_off
IREVERSE_off causes bi-level images to be printed in normal mode. This
is the default.
Bi-level images are transparent. White parts do not overlay previous
marks on the page.
Syntax: IREVERSE_off
IREVERSE_on
IREVERSE_on causes bi-level images to be printed in reverse mode. The
default is IREVERSE_off.
Bi-level images are transparent. White parts do not overlay previous
marks on the page.
Syntax: IREVERSE_on
JOG_on/JOG_off
Use JOG_on and JOG_off to offset pages on a page-by-page basis,
rather than on a set-by-set basis as with ENDOFSET. When JOG_on is
coded at the beginning of a page, the next, and all subsequent pages, are
offset from each other. JOG_off stops offsetting beginning with the next
page. OFFSET_on cannot be used when using JOG_on.
Using JOG_on and JOG_off is more efficient than using ENDOFSET.
Syntax: JOG_on
JOG_off
Example: To offset each DBM document from the next, use this example to end a
multi-page DBM.
....
PAGEBRK % end of last-but-one page
JOG_on
...... % last page
PAGEBRK
JOG_off
LAND
LAND sets landscape orientation. Landscape orientation is obtained by
rotating a portrait sheet by 90 degrees counterclockwise. The default
orientation is PORT and is set in the /usr/xgf/src/xgf.def file.
Syntax: LAND
LMSKIP
Use LMSKIP to skip the beginning of line mode data by a number of lines,
a number of characters, or an array of bytes. You must place the LMSKIP
command in the JDT or before the STARTLM command.
Where:
item
is:
/L — skip lines
/C — skip characters
/B — skip bytes
MAKEVMFILE
MAKEVMFILE stores data (generally the contents of a file) in memory as
a “virtual file.” Use MAKEVMFILE in combination with XGFRESDEF to
embed external files used by RUN, SETLMFILE, SETDLFILE in a
self-contained VIPP PostScript file (deplpr process).
Syntax: MAKEVMFILE
data .........
%%EOD_XGF
Where:
data .........
represents the contents of a file.
%%EOD_XGF
must be appended at the end to indicate the end of the data.
/doc1.ps
MAKEVMFILE
data .........
%%EOD_XGF
XGFRESDEF
Hints and tips: SETLMFILE and SETDLFILE can be embedded in the data stream using
MAKEVMFILE.
MAKEVMFORM
MAKEVMFORM creates a procedure suitable for use with the SETFORM
or SETBFORM commands. Use MAKEVMFORM to avoid encapsulation
between braces ( {....} ). This creates VIPP forms out of PostScript files
generated by document processing applications. When using this format,
all limitations of brace encapsulation are avoided (except for memory
limitations).
Syntax: MAKEVMFORM
data .........
%%EOD_XGF
Where:
data .........
represents the contents of a file.
%%EOD_XGF
must be appended at the end to indicate the end of the data.
Example: This example shows how to create a VIPP form from a PostScript file.
%!
%%Title: form1.ps
MAKEVMFORM
PS code ......
%%EOD_XGF
MAXICODE
MAXICODE creates and images a MaxiCode barcode based on the
specified string and parameter data. No special fonts are required.
Where:
( msgdata )
is a string that contains the data to be encoded. Refer to “msgdata
formatting requirements” for more information.
mode
defines the structure of the barcode data and error correction within
the symbol. There are five supported modes:
0 — obsolete.
1 — obsolete.
2 — creates a US structured carrier message that is used as a
destination sortation symbol by carriers in the shipping industry.
3 — creates an international structured carrier message that is used
as a destination sortation symbol by carriers in the shipping industry.
4 — creates a symbol that encodes information for purposes other
than the shipping industry. Mode 4 encodes a maximum of 93
characters or 138 digits, but it contains less error correction/detection
than mode 5.
5 — creates a symbol that encodes information for purposes other
than the shipping industry. Mode 5 encodes a maximum of 77
characters or 113 digits, but it provides more error
correction/detection than mode 4.
6 — creates a symbol that encodes a message used to program
barcode readers (scanners). Mode 6 encodes a maximum of 93
characters or 138 digits.
Modes 2, 3, 4, and 6 use Enhanced Error Correction (EEC) for the primary
message and Standard Error Correction (SEC) for the secondary
message. Mode 5 uses EEC for both the primary and secondary
messages.
[ posval totval ]
is the optional structured append array. This array is specified if more
than one and up to eight MaxiCode barcodes are to be appended in
a structured format. posval is the position of the barcode. totval is the
total number of appended barcodes.
All modes: If this optional message header is specified, it must be positioned at the
beginning of msgdata:
[)><RS>01<GS>YY
Modes 2 and 3 only: msgdata must contain a postal code (reference mode 2 only and mode 3
only for specifics), 3-digit country code, and 3-digit service class in that
order. The postal code must follow the message header, if specified in
msgdata; otherwise the postal code must be positioned at the beginning
of msgdata.
Mode 2 only:
The postal code must be 2 to 9 digits (no dashes or other characters are
allowed). A 5-digit postal code with a country code of 840 will be right filled
with 4 zeroes. All other postal codes with a length less than 9 digits will
be left filled with zeros.
Mode 3 only:
The postal code must be 2 to 6 characters, but a postal code with less
than 6 characters will be space filled to equal 6 characters. Each
character must be a number or uppercase letter.
Modes 4, 5, 6 only: msgdata does not contain a postal code, country code, or service class.
([\)><RS>01<GS>96152382802<GS>840<GS>001<GS>1Z00004951<GS>UPSN
<GS>06X610<GS>159<GS>1234567<GS>1/1<GS><GS>Y<GS>634 ALPHA DRIVE
<GS>PITTSBURGH<GS>PA<RS><EOT>) 2 MAXICODE
Where:
<GS>
is a special character sequence used to separate fields
<RS>
is a special character sequence indicating end of format
<EOT>
is a special character sequence indicating end of transmission
<FS>
is a special character sequence used to separate the primary and
secondary address numbers (not shown in above example).
([\)><RS>01<GS>V6J5G3<GS>124<GS>001<GS>1Z00004951<GS>UPSN
<GS>06X610<GS>159<GS>1234567<GS>1/1<GS><GS>Y<GS>1090 W PENDER ST
<GS>VANCOUVER<GS>BC<RS><EOT>) 3 MAXICODE
That the structure of msgdata for mode 2 and 3 barcodes is very similar.
Only the postal code requirements are different.
This is an example of mode 2 barcodes in a structured append sequence:
MOVEH
MOVEH sets the secondary horizontal print position (PP) with optional dot
leading.
Where:
hpos
is the secondary horizontal position in current units. When using
MOVEH, hpos is measured from the left edge of the page.
GEPkey
is the GEPkey used to define the appearance of the dot leading.
When a GEPkey is present, a line is drawn from the current
secondary horizontal print position to the left of the next text item
imaged with an SHx command.
Hints and tips: Use this command with SH, SHr, SHc, SHj, ICALL, and SCALL.
MOVEHR
The MOVEHR command sets the secondary horizontal print position (PP)
relative to the last horizontal main position (defined in the last MOVETO
or the current frame) with optional dot leading.
Where:
hrpos
is the distance to move along the horizontal axis from the last
horizontal main position (defined in the last MOVETO or the current
frame). When not specified, the initial PP is “0,0.” hrpos may also be
a string or variable. This allows you to use DBM variables as hrpos
operands.
The origin (0,0) is located at the bottom left corner of the page, or at
the top left corner when ORITL is specified.
GEPkey
is the GEPkey used to define the appearance of the dot leading.
When a GEPkey is present, a line is drawn from the current
secondary horizontal print position to the left of the next text item
imaged with an SHx command.
MOVETO
The MOVETO command sets both the main and secondary print positions
(PP). In the syntax example below, MOVETO sets the main and
secondary PPs to hpos and vpos.
Where:
hpos
is along the horizontal axis.
vpos
is along the vertical axis.
When not specified, the initial PP is “0,0.” vpos and hpos may also be
strings or variables. This allows you to use DBM variables as vpos and
hpos operands.
The origin (0,0) is located at the bottom left corner of the page or at the
top left corner when ORITL is specified.
MSPP_on
In multi-up mode, the MSPP_on command allows ENDOFSET,
ENDOFRUN, and JOG_on/JOG_off to be placed at the beginning of the
last physical page rather than the beginning of the last logical page.
By default, VIPP forces the last logical page on a new physical page to
execute the ENDOFx command. Although the set remains consistent, this
may lead to undesirable page splitting. MSPP_on avoids this.
Syntax: MSPP_on
NEWBACK
In duplex mode, NEWBACK forces the current page to print on the next
available back of a sheet. You must code NEWBACK after a page
delimiter, such as PAGEBRK, Form Feed, or Skip to channel one.
Syntax: NEWBACK
In multi-up mode, an implicit NEWSIDE is also performed.
NEWFRAME
Use the NEWFRAME command to start placing subsequent elements in
the next available frame. Using this command can cause a page
transition.
Syntax: NEWFRAME
NEWFRONT
NEWFRONT forces the current page to print on the front of a new sheet.
You must code NEWFRONT after a page delimiter such as PAGEBRK,
Form Feed, or Skip to channel one.
Syntax: NEWFRONT
In multi-up mode, an implicit NEWSIDE is also performed.
NEWGROUP
NEWGROUP is an RPE subcommand that allows you to create RPE
Groups inside an RPE definition. The command is used when a data
stream uses prefixes that do not follow the last digit rule for line grouping.
All RPEKEY definitions belonging to a group must be placed together and
preceded by a NEWGROUP command.
Refer to RPE command information and to other related RPE commands
for more information.
6 SETRPEPREFIX
10 BEGINRPE
NEWGROUP
/LINECR RPEKEY [ .... ]
/LINEDB RPEKEY [ .... ]
NEWGROUP
/NAME01 RPEKEY [ .... ]
/NAME02 RPEKEY [ .... ]
/ADRE01 RPEKEY [ .... ]
/ADRE01 RPEKEY [ .... ]
/ZPCITY RPEKEY [ .... ]
ENDRPE
NEWPOS
NEWPOS, an RPE subcommand, forces a new independent set of print
position values to be kept in memory. It is used when a new print position
is necessary for a group of RPE entries to print the same field at different
locations on the page.
In addition, with this new syntax, records belonging to the same RPE
group can be nonconsecutive in the data file. Old and new syntax are
exclusive in a specified RPE definition set by an RPEKEY or FROMLINE
command. However, RPE definitions with both syntax can be mixed in an
RPE library composed of several RPEKEY or FROMLINE commands
placed between BEGINRPE and ENDRPE.
Refer to RPE command information and to other related RPE commands
for more information.
NEWSIDE
In multi-up mode, NEWSIDE forces the current logical page to print on the
next physical page. You must code NEWSIDE after a page delimiter, such
as PAGEBRK, Form Feed, or Skip to channel one.
Syntax: NEWSIDE
NL
The NL command resets the horizontal print position (PP) and forwards
the vertical print position.
In the syntax example below, NL resets the main and secondary
horizontal print positions to the last values specified by MOVETO and
forwards the vertical print position by the SETLSP or LSPval values.
Syntax: NL
LSPval NL
Where:
LSPval
is the value (in current units) that will be added to the current vertical
position. When not present, the default value set by SETLSP is used.
Hints and tips: Use the sequence 0 NL to initialize the page just before the first marking
command to prevent memory consumption. This is recommended when
the first marking command is SHP or uses VSUB.
NMP_off
NMP_off disables Native Mode Prefix (NMP) records processing.
Syntax: NMP_off
Hints and tips: This command may be used for debugging purposes.
OFFSET_off
OFFSET_off disables the offsetting of sets in a job in the output tray.
Syntax: OFFSET_off
OFFSET_on
OFFSET_on enables the offsetting of sets in a job in the output tray. Sets
must be delimited with ENDOFSET, ENDOFRUN, or STARTOFSET.
Syntax: OFFSET_on
ONEUP
ONEUP resets one-up mode. One-up mode permits a single logical page
to be imaged on each physical page. ONEUP is the default.
Syntax: ONEUP
Hints and tips: Use this command to cancel TWOUP or multi-up modes.
ORIBL
ORIBL sets the origin of all coordinates, except RPE, to the bottom left
corner of the page. This command should be the first command in a VIPP
file. ORIBL is the default.
Syntax: ORIBL
ORITL
ORITL sets the origin of all coordinates at the top left corner of the page.
It should be the first command in a VIPP file.
Syntax: ORITL
Hints and tips: This command can be used to create forms with RPE jobs because RPE
coordinates always refer to the top left origin.
OVERPRINT_on
OVERPRINT_on enables overprint processing in line mode. Use this
command to print lines of data over each other when each line ends with
a single Carriage Return (CR) instead a of LF or CR/LF.
Syntax: OVERPRINT_on
Hints and tips: Either set DocuPrint N-series printers to BINARY POSTSCRIPT, or
encapsulate the print file with these escape sequences:
<1B>%-12345X<01>M%!
(jdt) STARTLM
......
%%EOF<1B>%12345X
In this example, <01> and <1B> represent bytes with the specified hex
value (x1B and x01). For further information, refer to the appropriate
Adobe publication.
PAGEBRK
PAGEBRK prints the current page and resets the main and secondary
print positions (PP) to “0,0.” This command is the only end of page marker
in native mode. In line mode, end of page also occurs when Form Feed or
channel skip are encountered. For further information, refer to “VIPP data
streams.”
In multi-up mode, PAGEBRK skips to the next logical page. A physical
page only prints when the last logical page is reached, unless
NEWFRONT, NEWBACK, NEWFRAME, or NEWSIDE is used.
Syntax: PAGEBRK
When nothing is imaged on the page, PAGEBRK does not produce a
blank page. To produce a blank page, you must use, at a minimum, NL
PAGEBRK.
PAGERANGE
PAGERANGE specifies the range of pages to print for the current job.
Where:
startpage
is the starting page number.
stoppage
is the ending page number.
50 100 PAGERANGE
Hints and tips: This command is a useful means to display only the first pages of a larger
job in a viewer, or to quickly restart a job from a specific page.
NOTE: When the stoppage value is less than the last page of the job,
this error message is printed at the end of the job: “Selected pages:
startpage stoppage.”
This is an intentional warning that only a portion of the job has been
printed. This message can be suppressed by setting the /PageRange
parameter to 1 or 2 with SETPARAMS. See Parameter descriptions
for a description of the /PageRange parameter.
PDF417
PDF417 creates and images a PDF417 barcode based on the specified
string(s) and parameter data. No special fonts are required.
Where:
/TC
is text compaction mode. Allowable characters are:
• printable characters
• (\n) — new line or line feed
• (\r) — carriage return
• (\t) — horizontal tab
• (\\) — backslash
/BC
is byte compaction mode. It allows the encoding of any 8-bit value
from 0 to 255.
/NC
is numeric compaction mode. It should be used to encode long strings
of consecutive numeric digits. Although numeric compaction mode
can be invoked at any digit length, it is recommended that it be used
when there are 13 or more consecutive digits.
(string)
is either text, byte, or numeric data depending on the preceding
compaction mode.
/Rows
is the number of rows in the barcode.
RValue
must be within the range of 3 - 90.
/Columns
is the number of data columns in the barcode.
CValue
must be within the range of 1 - 30.
/ARatio
is the aspect ratio of the barcode.
HValue
is the height or number of rows in the barcode.
WValue
is the width or the number of data columns.
/ELevel
is the error correction/detection level.
EValue
must be within the range 0 - 8, where 0 is the minimum and 8 is the
maximum amount of correction.
/Rows, /Columns, and /ARatio are optional. Both /Rows and /Columns
cannot be specified in the same command. If both are specified, only
/Columns will be accepted and /Rows will be recalculated. If neither
/Rows nor /Columns is specified, both will be automatically determined
based on the default or specified by /ARatio.
/ELevel is also optional. The error level will default to a minimum of two
and a maximum of five depending on the amount of data encoded.
One PDF417 barcode can encode approximately 1850 text characters,
1110 bytes, or 2710 digits at an error level of 0. For an error level of 8, the
limits are approximately 830 text characters, 498 bytes, or 1215 digits.
The PDF417 barcode also supports two new parameters in SETPARAMS:
[ /DotsPerModule integer
/RowHeight integer
] SETPARAMS
Where:
/DotsPerModule
is the number of dots per bar or space in the barcode. The default
value is 3.
/RowHeight
is the height of one row in the barcode.The default value is 4 if the
error level is low given the amount of data encoded and 3 if the error
level is appropriate for the amount of data encoded.
These parameters are modifiable to support a wide range of printers and
scanners. However, it is recommended that the parameters remain at
their default values unless printer resolution or scanner problems require
enlarging the bars.
PDFDEST
PDFDEST defines a named destination. A named destination can be
referenced in a PIF definition of type DEST or XDEST.
Where:
destname
is the destination name (alphanumeric string).
pagenum
is the page number of the destination starting with 1.The default is the
current page number. It may be a variable.
view
defines how to adjust the view for the destination. (Refer to SETPIF
for a list of possible values.)
Example: This example shows how to set a link to a destination (/NOTES) defined
later in the job:
PDFINFO
PDFINFO populates the “Document Summary” section of the PDF file with
information.
Where:
(Author of the document)
contains the author’s name.
(Creator of the document)
contains the document creator’s name.
(Title of the document)
contains the document’s title.
(Subject of the document)
contains the document’s subject.
(List of keywords
contains the document’s keywords.
PDFOPEN
PDFOPEN defines how a PDF document will be opened. When
associated with a PIF destination it also defines a destination to be used
when the document is opened.
Where:
openmode
selects the mode used when the document is opened. It may be one
of these:
• /UseOutlines — open and display the bookmarks
• /UseThumbs — open and display thumbnail images
• /UseNone — open and display none of the above (default)
• /FullScreen — open in full screen mode
Example: This example shows how to use PDFOPEN to display bookmarks when
the PDF file is opened:
/UseOutlines PDFOPEN
PORT
PORT sets portrait orientation. Portrait orientation indicates that the short
edge of the sheet is on the horizontal (X) axis and the long edge is on the
vertical (Y) axis. This is the default.
Syntax: PORT
PRECACHE
PRECACHE enables resource pre-caching. It is only effective on a
PostScript interpreter that behaves according to Xerox specifications for
pre-caching. Consult your Xerox representative for more details.
Pre-cached resources are created on the printer controller (DFE) external
storage. PRECACHE does not produce any mark on the page. Only
subsequent calls to the resource (possibly in subsequent jobs) using
SCALL or SETFORM/SETBFORM will image the resource on the page.
Where:
rname
may be a VIPP segment, EPS, PostScript, or TIFF file.
rotN scaleN
pairs list the rotation and scaling combinations that need to be
pre-rendered.
PRECACHE can use files located in these VIPP resource directories:
• formlib (as defined by SETFPATH)
• imglib (as defined by SETIPATH)
• mislib (as defined by SETMPATH)
(car1.eps) [0 1 90 1 0 .5 90 .5]PRECACHE
PROCESSDJDE
Use PROCESSDJDE to simplify processing DJDE (LCDS data stream)
jobs by VIPP. PROCESSDJDE eliminates DJDEs from the printable data
and calls a user-defined procedure for each keyword/parameter pair in the
DJDE line.
Where:
djde_proc
is a procedure that will be executed for each keyword/parameter pair
in the DJDE line. It is a VIPP command sequence that takes
appropriate action depending on DJDECMD (containing the DJDE
keyword) and DJDEPAR (containing the related DJDE parameter).
CASE and/or IF/ELSE/ENDIF commands are expected in this
procedure.
position
is the position of the DJDE prefix in the record starting with 0.
djde_prefix
is the DJDE prefix string.
option
is a number that may combine these values:
• +1 — forces new page on first DJDE in a DJDE packet
• +2 — cancels pre-skip on first data line after DJDE
• +4 — cancel line pre-skip on DJDE line
• +8 — cancel post-skip on DJDE line
DJDECMD=(JDL), DJDEPAR=(JDL23)
DJDECMD=(FORM), DJDEPAR=(BILL2)
DJDECMD=(FEED), DJDEPAR=(MAIN)
QSTRIP_on
QSTRIP_on strips first and last quotes (double or single), when present,
from every delimited field in database mode. Quoted and non-quoted
fields can be mixed within a record. Field delimiters (as defined by
SETDBSEP) in quoted fields are not stripped, they are retained as part of
the field contents.
Syntax: QSTRIP_on
Do not code global commands such as QSTRIP_on, DUPLEX_on,
SETDBSEP, and SETBUFSIZE in the Data Base Master. Place global
commands at the beginning of the database file prior to the STARTDBM
command. As an alternative, global commands can be placed in an
external Job Descriptor Ticket file referenced by a SETJDT command
placed in the database file prior to the STARTDBM command.
%!
DUPLEX_on
(;) SETDBSEP
BSTRIP_off
QSTRIP_on
(cas.dbm) STARTDBM
....
%! database file
(cas.jdt) SETJDT
(cas.dbm) STARTDBM
....
%!PS-Adobe-2.0
%%Title: cas.jdt
%%Creator: CAS/RXCH
....
DUPLEX_on
(;) SETDBSEP
QSTRIP_on
BSTRIP_off
....
%!
XGF
QSTRIP_on
(,) SETDBSEP
(dbm1.dbm) STARTDBM
FNAME,NAME,ADDRESS
“John”,“Martin”,“23, Wall Street”
.....
REPEAT
Use REPEAT to execute a sequence of commands numerous times.
REPEAT can be used in a Data Base Master when the SETCYCLECOPY
command cannot be used. REPEAT performs the equivalent of the
SETCYCLECOPY command while in database mode.
Where:
{sequence of VIPP commands}
is any sequence of native mode commands that produce a portion of
a page, a complete page, or several pages.
count
is the number of times the procedure is executed. This operand can
be a field name from the database file when the field name contains
a numeric value.
In normal operation REPEAT will end when the count is reached. The
EXIT command can be used in a conditional test to exit the REPEAT loop.
Use the two VIPP integer variables, RPCOUNT and RPLEFT, in the
REPEAT procedure if you need to check which iteration is being
executed.
For control purposes use these variables with IF/ELSE/ENDIF:
• RPCOUNT — indicates the number of current iterations in the
REPEAT command
• RPLEFT — indicates the number of remaining iterations in the
REPEAT command
Examples: This example uses REPEAT to print multiple copies of the Data Base
Master form for each record contained in the database file, it also changes
the number of copies from record to record and triggers an ENDOFSET
on the last page.
IF RPLEFT 1 eq
{ENDOFSET}
ENDIF
{ 0 2400 MOVETO
($$GREETING..tif) VSUB 1 0 ICALL
PAGEBRK
} NUMBER REPEAT
This example shows how to change the font for the last iteration of a
REPEAT loop.
This example shows how to exit a loop when the horizontal position has
reached the edge of the page.
{
VARHoz VARVer MOVETO
VARNumber 50 2 SHP
/VARNumber ++
/VARHor 50 ADD
IF VARHoz 2550 ge { EXIT} ENDIF
} 24 REPEAT
RESET
RESET restores the VIPP context to the initial default value or to the value
stored by the last RSAVE. It cancels all settings (forms, fonts, etc.) since
the last RSAVE.
Syntax: RESET
NOTE: Code this command only after a page delimiter command (for
example, PAGEBRK, Form Feed, or channel skip).
RPEDEF
RPEDEF provides a fast way to build simplified RPE definitions that will
process records with a font index. Simplified RPE definitions have no
rotation, left alignment, and no field selection.
Use RPEDEF in NMP records (%%XGF) when the conversion of LCDS
DJDE FONTS= statements is required. RPEDEF may also be coded in
Job Descriptor Tickets.
Refer to RPE command information and to other related RPE commands
for more information.
Where:
fontN
is a VIPP font index previously defined by INDEXFONT, which will be
used with the record font index N.
YdisplN
is the line spacing, in current units, associated with this font.
colorkey
is a VIPP colorkey.
Fheight
specifies a font height value (expressed in current units) for each font
in the list. This causes the top margin (set by SETMARGIN) to refer
to the top of the cell rather than to the baseline (the default) for the
first line on the page. This option is primarily used to convert LCDS
data streams using font index.
1 SETRPEPREFIX
2 BEGINRPE
/0 RPEKEY [ 0 0 0 null 0 50 1 buf_size /F0 BLACK ]
/1 RPEKEY [ 0 0 0 null 0 80 1 buf_size /F1 RED ]
/2 RPEKEY [ 0 0 0 null 40 60 1 buf_size /F2 BLACK ]
ENDRPE
This example prints “hello world” using the /F1 font and a vertical
displacement of 20 units. “I am still alive” prints using the /F2 font with a
vertical displacement of 30.
Font index values start with zero and range from 0 to 9 and then A to Z.
When the customer list starts with 1, the RPEDEF list must start with a
dummy entry.
When the font index is not the first byte in the record, or the second byte
in the record when a PCC is used, the SETRPEPREFIX must be coded
before RPEDEF. When an EBCDIC data stream is transformed, the
INDEXFONT command used to define the font must be coded before the
RPEDEF command.
In this example, the portion extracted from the record as printable data (0
to 131) ends just before the font index byte.
[ 1 131 ] SETRPEPREFIX
[ .... ] RPEDEF
RPEKEY
RPEKEY starts an RPE definition that will be invoked by the line prefix
when SETRPEPREFIX is used or by a SETRPE command in the data
stream. RPE key names that match, in all but the last character, form a
group. Refer to SETRPEPREFIX for further information, also refer to RPE
command information and to other related RPE commands.
Where:
rpekeyname
is a line prefix matching the SETRPEPREFIX definition. If the prefix
contains one or more spaces the syntax must be (rpekeyname)
instead of /rpekeyname.
% RPE definition
5 BEGINRPE
% almt rot. Xinit Xdispl Yinit Ydispl recpos length font color
/HDR0 RPEKEY
[ 2 0 835 0 300 0 00 99 /F4 BLACK ]/CL10 RPEKEY
[ 2 0 615 0 445 0 00 99 /F1 WHITE ]/CL20 RPEKEY
[ 2 0 1199 318 445 0 00 99 /F1 WHITE ]/CL30 RPEKEY
[ 2 0 3140 0 445 0 00 99 /F5 WHITE ]/BODY RPEKEY
[ 0 0 230 0 560 75 00 33 /F2 BLACK ]
[ 1 0 1345 0 560 75 33 12 /F2 BLACK ]
[ 1 0 1658 0 560 75 45 12 /F2 BLACK ]
[ 1 0 1976 0 560 75 57 12 /F2 BLACK ]
[ 1 0 2286 0 560 75 69 12 /F2 BLACK ]
[ 1 0 2610 0 560 75 81 12 /F2 BLACK ]
[ 1 0 2945 0 560 75 93 12 /F2 BLACK ]
[ 1 0 3290 0 560 75 105 12 /F3 BLACK ]
ENDRPE
RSAVE
RSAVE saves the current context, which is restored at a later time using
the RESET command.
Syntax: RSAVE
NOTE: This command must only occur before the first marking
command (for example, SHx, DRAWB, DRAWBR, DRAWBM,
DRAWBRM, ICALL, and SCALL) on a page and after a page delimiter
when it is not the first page. Otherwise the effects are limited to the
current page.
RUN
The RUN command executes the VIPP or PostScript code contained in
the referenced file. The referenced file must be stored in one of the
libraries defined by SETMPATH, or in a VIPP-enabled DigiPath
repository.
Where:
option
can include these:
• 0 — no special action (default)
• 1 — save/restore encapsulation to protect memory consumption
• 2 — save/restore + basic VIPP/PostScript interaction
• 3 — save/restore + full VIPP/PostScript interaction (limited to
PostScript files created by some drivers).
For applications that must protect the RUN execution, option 1 must be
specified. In addition, options 2 and 3 enable an interaction between VIPP
and PostScript where page-related features such as SETFORM,
SETPAGENUMBER, and SETFRAME are active during execution of the
PostScript job.
option 2 will apply VIPP features at the end of the PostScript page
execution. For this reason, SETMEDIA is not allowed with this option.
option 3 will apply VIPP features at the beginning of the PostScript page
execution. SETMEDIA can be used. This option only supports PostScript
files generated by some PostScript drivers. Apple LaserWriter NTX II or
Adobe drivers are recommended
options 2 and 3 also update information pertaining to the context, such as
page number, and front/back flag for NEWFRONT/NEWBACK.
There is no guarantee that options 2 and 3 will work with every PostScript
file, due to the nature of PostScript, but they should work with most of
them.
By using an empty reference, the RUN command can be placed after the
VIPP settings and before the beginning of a PostScript document, so that
a separate VIPP submission file is not required.
%!
XGF
(copy.frm) SETFORM
() 3 RUN
%!PS_Adobe-3.0
.....
RUNDD
RUNDD prints a document previously processed by the Decomposition
Service in DocuPrint NPS or DocuSP controllers.
document_name.pnnnn.c.tif
Where:
document_name
is the name of the file submitted to Decomposition Services.
nnnn
is the four digit page number.
c
is either
“b” — black
“h” — highlight.
When TIFF images are not found, this DocuSP Decomposition Services
naming convention is used to search again:
document_name_dir/document_name.pnnnnnnnn.tif
Where:
document_name
is the name of the file submitted to Decomposition Services.
nnnnnnnn
is the eight-digit page number.
document_name_dir
is the name of the subdirectory containing the TIFF images.
In both cases, when TIFF images are found, RUNDD prints each of them
on a separate page using the ICALL command.
Where:
document_name
is the name of the file submitted to Decomposition Services.
nnnn
is the four digit page number.
When forms are found, RUNDD prints each of them on a separate page
using the exec PostScript operator. All form pages are printed with black
and the current highlight color.
The forms option is supported only on DocuPrint NPS and is required
when Byte Compressed SaveMaskBC decomposition is used.
Examples: This example prints the decomposed document doc1 using, in sequence,
the set of forms and media defined by the SETFORM and SETMEDIA
commands as follows:
doc1(page1)+form1+med1, doc1(page2)+form2+med2, ...
This solution will allow your decomposed forms to print the same
across all three printer families.
This example prints “This page belongs to name” (field from the database
file) on every page of the decomposed document:
{
1275 50 MOVETO
(This page belongs to $$NAME. ) VSUB 1200 2 SHP
} SETFORM
(Doc1) RUNDD
{
1275 50 MOVETO
(This page belongs to $$NAME. ) VSUB 1200 2 SHP
} 3 ENDPAGE
(Doc1) RUNDD
The “3” is user-defined, and represents the number of pages in which the
procedure remains active.
This example prints the “Name” and “Address” fields from the database
file on page 2 and 5 of the decomposed document.
%!
XGF
DUPLEX_on
PORT
/VARPageCount (00001) SETVAR % Starting number for page.
/NHEB 10 SETFONT
{
1275 50 MOVETO
(Page $$VARPageCount.) VSUB 900 2 SHP
} SETFORM
STAPLE_on
(FirtsSection.ps) /ENDOFSET RUNDD
(SecondSection.ps) /ENDOFSET RUNDD
(ThirdSection.ps) /ENDOFSET RUNDD
This example will staple all sections together, however, the cover page is
not stapled.
RUNTIF
RUNTIF prints a document from a single TIFF file that contains one or
more pages. This command prints each page of a TIFF file on a separate
logical page.
Where:
startpage and stoppage
specify the range of pages you want to print.
Use the same techniques as described in the RUNDD command to apply
media, forms and variable data on the pages of the TIFF document printed
with RUNTIF.
SAVEPP
SAVEPP saves the current secondary print position for later use by
HDISP, VDISP, SHPOS, and SVPOS. There are many uses for this
command, but the most common use of SAVEPP is to draw variable
boxes or lines between variable length paragraphs.
Syntax: SAVEPP
Example: Use this example to draw a line between paragraphs using SAVEPP.
When you want to draw a box instead of a line, use the VDISP and HDISP
commands.
SCALL
SCALL images an object on the current page. The origin (0,0) of the
object is placed at the secondary print position. An object can be either:
• A segment coded using VIPP native mode or simple PostScript
• A TIFF, JPEG, PostScript, or Encapsulated PostScript (EPS) file
In the first case the CACHE command is optional. In the second case the
CACHE command must be coded after the object name.
Where:
Segmentname
is the name of a segment.
Objectname
is the name of a segment, TIFF, JPEG, PostScript or EPS file.
scale
is a real number defining the scaling factor (default is 1 = 100%).
rotation1
is the rotation angle of the segment (counterclockwise) around its
alignment point. Default is 0.
align1
is the alignment option, only available with CACHE, defining which
point of the image must be aligned on the secondary print position. It
must be one of these:
• 0 — top left
• 1 — top right
• 2 — top center
• 10 — bottom left (default)
• 11 — bottom right
• 12 — bottom center
• 20 — center left
• 21 — center right
• 22 — center center
width and height
are the size, in current units, of a box into which the object will be
forced to fit. This is called the “fit-in-box” option. The bottom left
corner of the box is placed at the secondary print position.
rotation2
is the rotation of the object inside the box (only 0, 90, 180 and 270
are supported).
align2
indicates how the image will be aligned inside the box. Values are the
same as align1.
Two optional weights can be combined with align2 options:
• +100 — fill-in-box option. When this option is enabled the image
is scaled isomorphically so that it fills the entire box. When the
width/height ratios of the box and the image differ, the part of the
image that falls outside of the box is cropped. In this case the
alignment options are used to chose which part of the image
(corners, left, right, top, bottom, or center) is kept visible in the
box.
• +200 — stretch-in-box option. When this option is enabled the
image is scaled anamorphically so that it fills the entire box.
When the width/height ratios of the box and the image differ, the
image is stretched either vertically or horizontally. In this case the
alignment options are useless.
Segments must be coded using VIPP native mode or simple PostScript
and stored in one of the libraries defined by SETFPATH. Use of the .seg
extension is recommended.
CACHE is optional after (segmentname) in the first 3 syntax. When the
CACHE command is used with a segment you must code a
%%BoundingBox statement at the beginning of the segment to define the
size of the image and its position relative to its origin.
Inside a segment, print positions are relative to the origin. The initial print
position is set by default to 0,0 (i.e. the origin of the segment). In other
words “0 0 MOVETO” is implicitly executed at the beginning of a segment.
PostScript and EPS files created by document processing applications
using common drivers (typically .prn files) as well as TIFF and JPEG files
can be imaged by SCALL when the CACHE command is used. These
objects must be stored in a library referenced by the SETFPATH,
SETIPATH, or SETMPATH commands.
Replace (Segmentname) with {segment contents} to directly build small
segments in the data stream without coding them in an external file. This
is called an in-line segment. When using this method, do not use the
CACHE command.
(dcxlogo.seg) SCALL
Hints and tips: By default, the origin of a segment is at bottom left, even when ORITL is
specified externally. To code a VIPP segment with a top left origin, specify
ORITL as the first command of the segment.
SCALL is encapsulated. This indicates that it has no side effect.
Specifically, settings like current print positions, current font and current
color remain unchanged after execution of the object. When you want to
print paragraphs down the page, use FCALL.
SETBAT
SETBAT defines a Background Attribute key. When activated by SETTXB
or INDEXBAT a BATkey paints a background under all subsequent text
imaged using the SHx commands. A text background may be made of any
combination of lines and boxes (outlined or filled) called “items.” A
collection of standard BATkeys is provided in /usr/xgf/src/xgf.bat and can
be sampled by printing these files:
• /usr/xgf/demo/sambat.ps (for gray BATkeys)
• /usr/xgf/demo/sambatr.ps (for red BATkeys)
• /usr/xgf/demo/sambatg.ps (for green BATkeys)
• /usr/xgf/demo/sambatb.ps (for blue BATkeys)
Syntax: /BATkey
[Col_GEP LineW WVal WC HVal HC Xpos XC Ypos YC Corner CC UR
Col_GEP LineW WVal WC HVal HC Xpos XC Ypos YC Corner CC UR
.......
] SETBAT
Where:
Col_GEP
is a colorkey or a GEPkey as defined in xgf.gep.
LineW
is a percentage of the font height used to set the line width (thickness)
for this item (for example, 0.06 with a font of 20 points will set a line
width of 1.2 point). If zero, the line width set by the GEPkey will be
used regardless of the font size.
WVal
is used to compute the width of the item in relation to the width code.
WC
is the width code:
• 0 — WVal is a fixed value in current units
• 1 — WVal is a percentage of the string height that will be added
to the string width
• 2 — WVal is a fixed value that will be added to the string width
• 3 — WVal is a percentage of the maximum of the string width and
string height
HVal
is used to compute the height of the item in relation to the height
code.
HC
is the height code:
• 0 — HVal is a fixed value in current units
• 1 — HVal is a percentage of the string height
• 2 — HVal is a fixed value that will be added to the string height
• 3 — HVal is a percentage of the maximum of the string width and
string height
Xpos
is used to compute the horizontal position of the item in relation to the
X code.
XC
is the X code:
• 0 — Xpos is a fixed value in current units
• 1 — Xpos is a percentage of the string height added to the
horizontal string position
• 2 — Xpos is a fixed value that will be added to the horizontal
string position
• 3 — Xpos is a percentage of the maximum of the string width and
string height added to the horizontal string position
Ypos
is used to compute the vertical position of the item in relation to the Y
code.
YC
is the Y code:
• 0 — Ypos is a fixed value in current units
• 1 — Ypos is a percentage of the string height added to the
vertical string position
• 2 — Ypos is a fixed value that will be added to the vertical string
position
• 3 — Ypos is a percentage of the maximum of the string width and
string height added to the vertical string position
Corner
is used to compute the corner radius of the item in relation to the
corner code.
CC
is the corner code:
• 0 — Corner is a fixed value in current units
• 1 — Corner is a percentage of the string height
• 2 — Corner is a fixed value that will be added to the string height
• 3 — Corner is a percentage of the maximum of the string width
and string height
UR
sets the string height:
• 0 — string height is the height of the uppercase “X”
• 1 — string height is the real height of the string (positions will
adjust on ascenders and descenders)
Example: This example defines a BATkey for underlining. The line will be black,
have a thickness equal to 6% of the font height, a width equal to the width
of the text, and be placed at 25% of the font height under the baseline.
NOTE: When the code is 0, WVal, HVal, Xpos, Ypos, and Corner can
be specified as a variable (ex: /VAR.width). An internal variable
(/COLW) is provided to represent the column width defined by
SETCOLWIDTH.
SETBFORM
SETBFORM selects a form for printing on the back sides of sheets without
variable data for the current and all subsequent sheets. This command
must be specified before any printing command on the sheet. Otherwise,
this command produces the same results as SETFORM. Refer to
SETFORM for syntax description and examples.
Hints and tips: This command is normally used in duplex mode. When this is not the
case, the back form is printed on an extra page between each page. When
the application requires more than one back form, you must use the
SETMAXBFORM command.
To cancel a back form use the statement: 0 SETMAXBFORM.
SETBUFSIZE
The SETBUFSIZE command sets the line/record buffer size for data files
being processed by STARTLM or STARTDBM.
NOTE: When the buffer size is too small, the job aborts with a
“rangecheck error on readline.”
Hints and tips: Set the default value in the /usr/xgf/src/xgf.def file to the largest size
required by your applications, for example, 2000 SETBUFSIZE.
SETCOL
The SETCOL command sets color definitions. Use the command to set
definitions for both CMYK and RGB color.
/name g SETCOL
Where:
/name
is the name of the colorkey. The name is user definable, and must not
be a reserved word.
[c m y k]
is a CMYK (cyan, magenta, yellow, black) color definition. Four real
values are required within the array (Square braces). Each value
must be in the range of 0 to 1.
[r g b]
is a RGB (red, green, blue) color definition. Three real values are
required within the array (Square braces). Each value must be in the
range of 0 to 1.
g
is a grey level color definition. It is a real value in the range 0 to 1. 0
is black, 1 is white.
SETCOLWIDTH
The SETCOLWIDTH command sets the column width for use by
subsequent commands with a justify option.
Where:
colwidth
is the column width in current units.
The default value is defined in the /usr/xgf/src/xgf.def file.
Related commands: COLW, SHJ and SHj, SHMF/SHMf, SHP and SHp, SETLKF
SETCYCLECOPY
The SETCYCLECOPY command sets the number of cycle copies. Cycle
copy is an alternative to the standard multiple copy mechanism that
allows copy range specification for forms, media, and RPE items as
described in the related commands.
Example: This example prints three copies of each page, using “FORM_A” on
copies 1 and 2 and “FORM_B” on copy 3.
COLLATE_off
3 SETCYCLECOPY
(FORM_A.frm) [1 2] SETFORM
(FORM_B.frm) [3] SETFORM
Hints and tips: Combine this command with others like DUPLEX_on or SETMULTIUP to
perform sophisticated multi-copy functions.
When SETCYCLECOPY is used in native mode with COLLATE_on, the
CHKPOINT command is mandatory at the end of the job.
This command does not restore variables before each copy pass.
Because the values for each variable remain unchanged from one pass to
the next, the user is responsible for re-initializing them as needed.
Only multiple sets (using CHKPOINT) in native mode are not supported
but the same functionality can be achieved using the REPEAT command.
SETDBSEP
SETDBSEP sets the field separator for use in database mode, or with
RPE entries using the /FN option. Subsequent STARTDBM commands
use this field separator to scan fields in a database file. For more
information refer to “VIPP data streams.” The default value, “:,” is defined
in the /usr/xgf/src/xgf.def file.
To change the separator value either change this file, which applies the
new separator to all applications, or use the SETDBSEP command in the
JDT or before the STARTDBM command.
Syntax: (field separator) SETDBSEP
Where:
field separator
is an alphanumeric string of one or more characters.
Examples: This example defines the “:” as the field separator.
(:) SETDBSEP
Hex or octal values can be used to define the field separator. Use this
example to set the tab character as the field separator.
NOTE: Never place this command in the Data Base Master file.
SETDLFILE
SETDLFILE activates multiple copy mode with a distribution list for the
current job.
As an alternative to SETCYCLECOPY, multiple copies of a document can
be obtained with the Distribution list feature. This is known as Set
labeling.
SETDLFILE associates a distribution list and a JDT to produce cover
pages in front of each document set. These pages are created by
processing the Distribution List (DL) file with the associated JDT in the
same manner as STARTLM processes them. Thus, the number of copies
produced is equal to the number of pages of the DL file. In this case,
SETCYCLECOPY must not be used.
SETDLFILE may be used in a native mode file, in a JDT, or in a
submission file.
The DL file must be located in one of the libraries referenced by
SETMPATH.
Example: This example prints the file dist23.lst using the JDT dist.jdt. The file
report57.dat is printed between each cover page using the JDT report.jdt.
The JDT dist.jdt contains a form call and page layout for the cover pages.
%!
(dist23.lst) (dist.jdt) SETDLFILE
(report57.dat) SETLMFILE
(report.jdt) STARTLM
SETENCODING
SETENCODING associates a font list and an encoding table used when
re-encoding fonts. Font re-encoding does not occur for all fonts at once at
the first occurrence of SETENCODING. Instead, it is performed only at the
first occurrence of SETFONT or INDEXFONT. This saves VIPP start-up
time and memory consumption.
Where:
font list and encoding table
are names of files that must be located in one of the encoding
libraries referenced by SETEPATH or in the Project directories. The
default setting is in the /usr/xgf/src/xgf.def file.
font list must contain a list of font pairs as follows:
/new_font_name /PS_font_name
/new_font_name (font_file_name)
new_font_name
is the name of the re-encoded font.
PS_font_name
is the name of the original PostScript font.
font_file_name
is the name of the file containing the font.
When a syntax with (font_file_name) is used, the font is processed by
VIPP, and does not need to be installed as a printer resident font. The
VIPP IDE Proof Print function will embed the font in the print stream. The
font file must be stored in one of the libraries referenced by SETMPATH.
“pfa” and “pfb” font formats are supported. The original PostScript font
name does not need to be specified, VIPP will extract it from the font file.
encoding table must contain a list of character codes and character
names. Character codes must range from 0 to 255, or 16#00 to 16#FF.
Character names must be from the character set of the PostScript font.
Refer to the appropriate PostScript manual for further information. In the
new font, each character code is associated with the matching character
name. Character codes not present in the encoding table match the
default PostScript ASCII encoding table (StandardEncoding).
Once defined through SETENCODING, new font names can be used as
operands for SETFONT and INDEXFONT.
For predefined font lists and encoding tables refer to “Standard lists,
tables, keys, and attributes.”
SETENCODING is resource intensive because of the additional
processing required. Use it mainly in the /usr/xgf/src/xgf.def file.
Hints and tips: Set different font lists and encoding tables to accommodate data streams
from various sources (for example, EBCDIC Hosts, PCs, and UNIX
workstations).
SETEPATH
SETEPATH defines a library or a list of libraries for font lists and encoding
tables. The specified libraries are used by SETENCODING to locate font
lists and encoding tables. The default is defined in the file
/usr/xgf/src/xgfunix.run.
SETFONT
SETFONT selects and scales a font. All data following this command is
printed with the selected font until a new SETFONT command is
encountered or a font index defined by INDEXFONT is invoked.
See “Kerning” for additional information.
Where:
/Fontname
is the name of a font chosen from the VIPP font lists enabled by
SETENCODING in the /usr/xgf/src/xgf.def file or from the PostScript
font list. Refer to “Standard lists, tables, keys, and attributes” for
further information. /Fontname can also be a string or a variable. This
allows you to use DBM variables as /Fontname operands.
size
consists of units of 1/72 inches and uses integers or real numbers.
When a size of 0 is given, the font is automatically scaled according
to the margins and grid defined by SETMARGIN and SETGRID. In
this case, a fixed font must be used (for example, Courier).
sizeX and sizeY
scales the font with different values on the horizontal (X) and vertical
(Y) axes.
The default font setting is specified in the /usr/xgf/src/xgf.def file.
SETFORM
SETFORM selects a form to be printed on the current and all subsequent
pages. This command must be specified before any marking command on
the page.
Forms must be coded in PostScript or VIPP native mode and stored as
procedures, in one of the libraries referenced by SETFPATH. Use of the
.frm extension is recommended. (Procedures are encapsulated within
braces “{ }”.)
Where:
Form_ref
may be one of these:
• (Formname) — the name of a form enclosed in parenthesis
null — to disable the form (default)
• { form contents } — VIPP code enclosed in braces to build a
small in-line form instead of coding an external file.
• [ FormRef1 FormRef2 ... FormRefn ] — a list of FormRef
enclosed in square brackets to be used in sequence in a cyclical
manner (cycle forms).
planenumber
is the plane number index (default is 0). It refers to the capability of
imaging several forms on top of each other. planenumber ranges from
0 to maxplanenumber -1. The planenumber default is 0. The default
for maxplanenumber, set by SETMAXFORM, is 1. This also
determines the order in which forms are imaged. A form with a
planenumber of 0 is imaged before a form with a planenumber of 1.
This order must be handled carefully because PostScript elements
are opaque.
[ c1, c2, ... cn ]
defines a copy range selection. It must be used with
SETCYCLECOPY. Copies selection specifies on which copies the
form is imaged for example, [ 1 5 ] indicates that the form is imaged
only on copies one and five. When not specified, the form is imaged
on all copies.
An EPS, JPEG, or a TIFF file can be used as a form by using the CACHE
command after the resource name. Refer to CACHE for further
information.
(form1.frm) SETFORM
(form1.frm) 0 SETFORM
(form2.frm) 1 SETFORM
(copy.frm) 3 [2 3] SETFORM
null SETFORM
null 3 SETFORM
{ PORT 100 3200 MOVETO (image.tif) 1 0 ICALL } SETFORM
[ (form1.frm) (form2.frm) (form3.frm) ] SETFORM
{ x y MOVETO
CASE VAR_FIRST8 {}
(xxxxxxxx) { (image1.tif) 1 0 ICALL }
(yyyyyyyy) { (image2.tif) 1 0 ICALL }
....
ENDCASE
} SETFORM
SETFPATH
SETFPATH defines a library or a list of libraries for forms. The default is
defined in the /usr/xgf/src/xgfunix.run file.
SETFRAME
SETFRAME draws an overall frame around the current page and all
following pages.
Where:
linewidth
is the width of the line in current units. 0 indicates no frame. The offset
is from the margins.
colorkey
is the color.
cradius
is the corner radius of the frame in current units. 0 indicates square.
The default setting is specified in the /usr/xgf/src/xgf.def file.
SETFTSW
The SETFTSW command sets the font/color switch for subsequent SHMF
or SHP and SHp commands.
Where:
ftsw
is an alphanumeric string that will trigger a font or color switch.
Choosing a character sequence that is not likely to appear in the data
to be printed is recommended.
index_length
indicates the number of bytes following ftsw in the data that
represents the font/color index. When no index_length is indicated
the operand defaults to 1.
The default value (//) is defined in the /usr/xgf/src/xgf.def file.
Example: This example shows how to use a three-character font index with an
SHMF command.
(//) 3 SETFTSW
/H10 /NHE 10 INDEXFONT
/H12 /NHE 12 INDEXFONT
(//H10 use Helvetica 10 //H12 use Helvetica 12) 0 SHMF
SETGEP
SETGEP defines a Graphic Element Property key (GEPkey) used in
subsequent draw commands.
Where:
GEPkey
is any alphanumeric string starting with an alphabetic character.
LineWidth
defines the width of the outline border. 0 indicates no outline.
LineColorKey
defines a colorkey for the outline border.
LineDash
defines the dash pattern for the outline border. 0 indicates a solid line.
It may be either a single number defining the equal width of filled and
unfilled portions or a list specifying the initial offset and a width
sequence [ offset gap1 gap2 ... gapn ].
FillColorKey
defines a colorkey used to fill the inside.
Units for LineWidth and LineDash are defined by SETGUNIT.
Examples: This example specifies an evenly spaced dashed black outline border
defined as follows:
• The width of the outline border is four units wide
• The pattern consists of six black units alternating with six white units
• A light medium LMEDIUM inside fill pattern is used
Hints and tips: Use SETGEP mainly in the /usr/xgf/src/xgf.gep file at installation time.
Creating and updating GEPkeys in the data stream is not recommended.
For information on predefined GEPkeys, refer to “Standard lists, tables,
keys, and attributes.”
SETGRID
SETGRID sets the number of characters per line (cpl) and the number of
lines per page (lpp).
Hints and tips: These values may be used by SETFONT with size=0. Refer to SETFONT
for further information. In line mode, reaching the lpp value causes a
PAGEBRK. The default is specified in the /usr/xgf/src/xgf.def file.
SETGUNIT
SETGUNIT sets the unit of measure for all subsequent SETGEP
commands.
Where:
unit
can include these:
• DOT3 — (1/300 inch) default value
• PELS — (1/240 inch)
• POINT — (1/72 inch)
• CM — (centimeter)
• MM — (millimeter)
• INCH — (inch)
Using PELS may help when converting AFP resources to VIPP resources.
Hints and tips: Defining the GEPkey units only once per site in the /usr/xgf/src/xgf.gep
file is recommended. Use SETUNIT for the unit definition of other
commands.
SETINDENT
SETINDENT sets the indention for subsequent SHP/SHp commands.
Once set, an indentation causes the first line of each paragraph printed
with SHP/SHp to be offset horizontally.
Where:
indent
is the indentation value in current units. the default is 0.
SETIPATH
SETIPATH defines a library or a list of libraries for images. The default is
defined in the file /usr/xgf/src/xgfunix.run. The specified libraries are used
by ICALL to locate images.
SETJDT
SETJDT activates the settings in the JDT for subsequent pages.
Unspecified settings are inherited from the previous settings, not from the
base defaults.
JDT must be coded with VIPP native mode commands and stored in one
of the libraries referenced by SETJPATH. Use of the .jdt extension is
recommended. Refer to “VIPP data streams” and the STARTLM
command for further information on JDT processing.
Where:
jdt_ref
may be one of these:
• (JDTname) — the name of a JDT enclosed in parenthesis
• { JDT contents } — VIPP code enclosed in braces to build a small
in-line JDT instead of coding an external file
• [ jdt_ref1 jdt_ref2 ... jdt_refn ] — a list of jdt_ref enclosed in
square brackets to be used in sequence in a cyclical manner
(cycle JDT)
count
expresses the number of pages after which the JDT is applied (this is
similar to the count operand of STARTLM). This operand delays the
application of a JDT on subsequent pages. Refer to the GETFIELD
example for further information.
Hints and tips: Use this command in a Native Mode Prefix (NMP) record (%%XGF) to
allow the JDT to change on a page-by-page basis. The JDT referenced by
SETJDT is called a slave JDT, which contains only settings that change
page-by-page. The master JDT referenced by STARTLM at the beginning
of the job contains all of the global settings.
The BEGINPAGE command has been designed to facilitate the use of
banner, master, and slave JDTs in the same application. Refer to
BEGINPAGE for further information.
SETJPATH
SETJPATH defines a library or a list of libraries for JDTs. The default is
defined in the file /usr/xgf/src/xgfunix.run.
SETKERN
The SETKERN command sets the kerning options for all subsequent text
imaged using one of the SHx commands.
Where:
PW_opt
defines the pair-wise kerning option. PW_opt can take one of these
values:
• 0 — disable pair-wise kerning.
• not 0 — enable pair-wise kerning by multiplying the pair-wise
kerning values provided by the AFM file (KP, KPX or KPY
entries). The recommended value is 1 and may be a real number.
• null — keep the current pair-wise kerning option in effect.
TG_opt
defines the generic track kerning option. TG_opt can take one of
these values:
• 0 — disable generic track kerning.
• not 0 — enable track kerning by multiplying generic track kerning
values defined by VIPP. The recommended value range is -3 to
+3, and may be a real number.
• null — keep the current generic track kerning option in effect.
TK_deg
defines the track kerning degree. TK_deg can take one of these
values:
• 0 — disable track kerning degree.
• not 0 — enable track kerning by selecting values from the closest
track kern degree defined in the TrackKern entries of the AFM
file. Track kerning degrees generally range from -3 to +3, they
must be an integer.
• null — keep the current track kerning degree in effect.
• When TK_deg is not zero and TrackKern entries exist in the AFM
file, TG_opt is ignored.
• When TK_deg is not zero and no TrackKern entries exist in the AFM
file, TG_opt is used instead.
• PW_opt and TK_deg are ignored when no AFM file is associated
with the current font or no kerning information is present in it.
• TG_opt does not require any information from the AFM file so it may
be used even if there is no AFM file associated with the current font.
• Use [0 0 0] SETKERN to disable all kerning options (default).
[1 0 0] SETKERN
[0 0 -2] SETKERN
[1 0 -2] SETKERN
[0 -2 -2] SETKERN
To enable pair-wise and light generic track kerning use this example.
[1 1 0] SETKERN
SETLFI
The SETLFI command sets the line feed increment.
Where:
lfi
is the number of lines skipped after each record when positive, or
before each record when negative. The value must be an integer. The
default is 1.
The line spacing value is defined by SETGRID or SETLSP.
Hints and tips: This command may be used to provide more space between lines in basic
line mode while still maintaining page break control when the lpp value is
reached.
SETLKF
The SETLKF command enables the “Linked Frames mode” (text re-flow).
This mode allows you to define a collection of rectangular frames on the
page into which text or graphical elements will be placed by VIPP
commands such as SHx, ICALL, or SCALL. Frames will fill in the order
defined by SETLKF. When the last frame is filled, an implicit PAGEBRK
occurs and the next element (or remaining part of the text element in case
of SHP and SHp) will be placed in the first frame of a new page.
Do not use the MOVETO command when LKF mode is active. Only
relative placements using MOVEH, MOVEHR, NL, and SETLSP may be
coded. Elements that must fall into fixed locations must be placed using
a form definition (SETFORM) either inline or external.
All alignments will be computed according to the current frame (center
means “center of frame”, right means “right edge of frame”, column width
is adjusted to the width of the frame, etc. Secondary print position (as
defined by MOVEH, or MOVEHR) will apply inside the frame if it differs
from the main print position.
Where:
HorX and VerX
define the horizontal and vertical coordinates (in current units) of the
top left corner of the frame related to the current origin (TL or BL) of
the logical page.
WidthX and HeightX
define the size of the frame (in current units).
rotateX
defines the rotation values. The supported value is 0, VIPP ignores
any other value.
SETLMFILE
SETLMFILE causes the following STARTLM or STARTDBM commands to
read data from a specified file, which must be located in one of the
libraries referenced by SETMPATH.
Example: Submitting the syntax contained in this example causes the data file
invoice.dat to print using the layout described in invoice.jdt.
%!
(invoice.dat) SETLMFILE
(invoice.jdt) STARTLM
Hints and tips: Using the submission method shown in the example above has these
advantages:
• No modification to the data file is required to insert the startup
commands.
• The submitted file is very small and it avoids the duplication of the
data file in the spool directory. There is no need to reserve space
twice the size of the data file on the printer disk.
• The data file can be a remote file, through NFS mount, that allows
submission of huge files without having to transfer them to the
printer disk first.
SETLSP
The SETLSP command sets line spacing. Line spacing is computed from
the margins and grid specifications by default.
Where:
LSPval
is the line spacing value.
Related commands: SETGRID, SETMARGIN, SHC, SHJ, SHL, SHR, SHX, SHMF/SHMf, SHP
and SHp
SETMARGIN
SETMARGIN sets the top, bottom, left, and right margins using the
current units. The default is specified in the /usr/xgf/src/xgf.def file.
Hints and tips: When using the SETMARGIN command, make sure to measure the
bottom and right margins from the bottom and right edges of the page.
Otherwise, the font may be scaled incorrectly when you are using
auto-scale mode.
SETMAXBFORM
SETMAXBFORM sets the maximum number of planes of backforms on
one page. Plane numbers range from 0, to maxplanenumber-1, and
associated backforms are imaged in that order. PostScript elements are
opaque.
SETMAXBFORM must be used when the application requires more than
one back form.
SETMAXCOPY
SETMAXCOPY sets the maximum number of copies for a job to the
specified value. Use this command when SETCYCLECOPY is set
dynamically using PROCESSDJDE or BEGINPAGE. SETMAXCOPY
does not set the copy count until a SETCYCLECOPY command is
executed. The value for SETCYCLECOPY cannot be greater than the
value specified for SETMAXCOPY.
Where:
number
is a user-defined value.
10 SETMAXCOPY
{CASE DJDECMD {} (COPIES) {DJDEPAR SETCYCLECOPY} ENDCASE } 0 ($DJDE) 3
PROCESSDJDE
SETMAXFORM
SETMAXFORM sets the maximum number of planes of forms on one
page. Plane numbers range from 0, to maxplanenumber-1, and
associated forms are imaged in that order. PostScript elements are
opaque. The default is specified in the /usr/xgf/src/xgf.def file.
SETMEDIA
The SETMEDIA command sets the media requirement.
In the syntax example below, SETMEDIA sets MediaType, MediaColor,
and MediaWeight as the current media type requirements for subsequent
pages.
(Drilled:null:100) SETMEDIA
• When any of the media attributes such as type, color, or weight are
omitted, the last specification or the default value for that attribute
remains in effect.
• The trailing “:” may be omitted as shown in this example.
(Plain::) SETMEDIA
(Plain:) SETMEDIA
(Plain) SETMEDIA
The PageSize media attribute is not set by this command, it is set using
the SETPAGESIZE command.
Hints and tips: Coding a %%DocumentMedia record at the beginning of the data file is
required on DocuPrint NPS to force the related trays to be available for
the job. Refer to %% for further information.
SETMEDIAT
SETMEDIAT temporarily sets the media requirement for the current page.
The next page reverts to the previous media selected, or to the media
required to satisfy the cycle media.
Example: This example selects a media with Type=drilled Weight=120 and Color
equal to the current setting for the current page. However, the subsequent
page reverts to the previous settings.
(drilled::120) SETMEDIAT
SETMPATH
SETMPATH defines a library or a list of libraries for miscellaneous files.
The default is defined in the file /usr/xgf/src/xgfunix.run.
SETMULTIUP
SETMULTIUP enables multi-up printing. Multi-up printing is the printing of
several logical pages on one physical page.
In this syntax each logical page is defined by an entry.
Where:
Hor and Ver
define the horizontal and vertical origins of the logical pages. These
are always measured from the bottom left corner of the physical page.
Width and Height
define the size of the “original” page. The “original” page size is the
size for which the job has been originally designed. If not specified,
the size of the original page is equal to the size of the current physical
page (as per printer default or set by SETPAGESIZE).
The size of the logical page will be computed by applying the scaling
factors (Hscale and Vscale) to the original page size.
The “original” page size specification is useful when the size of the
original pages differs from the physical page (for example, print 2 A4
pages on A3 paper).
rotate
defines the rotation angles.
Hscale and Vscale
define horizontal and vertical scaling.
When multi-up is enabled, each page skip that occurs after a PAGEBRK,
Form Feed, Skip to channel one, or last line reached causes a skip to the
next logical page. The physical page is printed only when the last logical
page is filled or when the end of the job is reached.
In multi-up mode, consider that when no proper reduction is applied
(reduction = scaling<1), only the part of the logical page overlapping the
physical page is printed, adjustments to placement values may be
required.
This command must be used as the first command following the %! line in
the print file or as the first command in a JDT.
Use NEWFRONT, NEWBACK, and NEWSIDE to force a new physical
page.
Examples: This example defines two-up printing on A4 paper with DOT3 units.
[ 0 3500 -90 .7 .7
0 1750 -90 .7 .7 ] SETMULTIUP
Where you place the SETMULTIUP command dictates the result. For
example, if you code a four-up statement inside the DBM file four
copies of the currently processing record will print. (Four copies of the
same physical page). If you code the multi-up in the data file, or
create and call a JDT with a four-up SETMULTIUP statement, the
resulting page contains records 1, 2, 3, and 4.
Hints and tips: Use this command with SETCYCLECOPY and COLLATE_off to produce
several copies of a smaller document on one sheet of paper.
The coordinates of each logical page are related to the bottom left corner
of the physical page, and define the bottom left corner of the logical page.
Globally pre-defined multi-up settings for a site should be placed in the
file /usr/xgf/src/xgf.mup. Refer to “Standard lists, tables, keys, and
attributes” for further information. To invoke them, use this syntax:
VAR.4UP SETMULTIUP
When you create a job that may not use the complete page, with the intent
to use SETMULTIUP (for example, a check application that will be printed
four-up on a page) create a master physical page with the check image
and variable data placed on the bottom of the page and not on the top.
This makes it easier to set the vertical and horizontal positions used in the
SETMULTIUP command, as the bottom left hand corner of the master
page is the 0,0 coordinate used to position the second, third and fourth
check in your multiup definition.
SETNMP
SETNMP defines the Native Mode Prefix (NMP) string. Refer to “VIPP
data streams” and to %%XGF for further information on NMP.
SETOBIN
SETOBIN sets the output bin destination.
Each printer will vary the description of output bins. Check for legal
OutputType values in the printer documentation. For example, these
OutputType values can be used on the DocuPrint N-series printers.
SETOBINT
SETOBINT temporarily sets the output bin destination for the current
page. The next page reverts to previous output bin destination or next in
cycle output bin.
SETPAGEDEF
Use the SETPAGEDEF command to define different sets of frames,
forms, media and other layout settings for consecutive pages. The layouts
will be applied in the order they are defined in a cyclical manner unless
the last layout is followed by the /R key. When using the /R key, the last
layout will be applied indefinitely.
Where:
layout_definitionX
defines the layout for a particular page. It may contain any VIPP
command related to layout setting (for example, SETLKF, SETFORM,
SETMEDIA, and SETJDT).
(form1.frm) SETFORM
}
{ [ [ 200 200 990 3100 0 ] % layout for page 2
[ 1290 200 990 3100 0 ]
] SETLKF
(form2.frm) SETFORM
}
/R % repeat layout 2
] SETPAGEDEF
SETPAGENUMBER
The SETPAGENUMBER command sets the page numbering for all
subsequent pages.
Where:
format
is any string where “#” represents the page number place holder. Use
multiple “#” characters to print leading zeros.
start
specifies the first page number. This value can be zero or negative.
When using zero or a negative value, page numbers less than one do
not print. The maximum value is 999999.
rotate
specifies the angle of rotation (positive values rotate in a
counterclockwise direction).
pos
provides the position as follows:
5 — left
6 — right
7 — center
The default page numbering, the font (reserved /PNFT font index), and
color (reserved /PNCL color index) used to print the page numbers are
specified in the /usr/xgf/src/xgf.def file.
To retain the current values while changing other page numbering options
for the current and subsequent pages, use a null value in the format and
start operands. The rotate operand is mandatory in this case.
SETPAGENUMBER must be placed before any page marking commands.
Examples: This example prints “Page 001” at the bottom right corner of the first page.
This example prints at the top center with the same format and page
continuation.
This example prints at the bottom center with the same format, and
restarts page numbering at 1.
null 1 0 1 SETPAGENUMBER
SETPAGESIZE
The SETPAGESIZE command defines the page size requirement for all
subsequent pages.
Where:
pagewidth
is the width of the physical page in current units. By convention
pagewidth refers to the short dimension of the sheet (horizontal axis
in portrait orientation).
pageheight
is the height of the physical page in current units. By convention
pageheight refers to the long dimension of the sheet (vertical axis in
portrait orientation).
The VIPP commands PORT, LAND, IPORT and ILAND rely on this
convention to place elements on the page. Failing to follow it will cause
orientation mismatch.
All page layout settings such as orientation, grid, and margins are based
on these values. If not specified, the default value is the default page size
of the imaging device. An error occurs when this command is placed
incorrectly (for example, in the middle of a page).
On level 2 printers, this command causes subsequent pages to print on
the proper media.
Examples: This example sets the page size to portrait USLetter (8.5 x 11) using
current units of DOT3.
DOT3 SETUNIT
2550 3300 SETPAGESIZE
This example sets the page size to portrait A3, also using current units of
MM.
MM SETUNIT
297 420 SETPAGESIZE
SETPARAMS
SETPARAMS sets persistent parameters throughout the job. Once a
parameter has been set with SETPARAMS that parameter applies to all
of the subsequent commands to which it relates.
/Where:
parameters
is a list of key/value pairs. The first item may be a code. When
parameters are not specified, the default values are used. For more
information refer to “Parameter descriptions.”
integer
can be one of these:
• 0 — abort the job with an error message (default)
• 1 — flush the data file and end without error
• 2 — process the data file to the end but do not image pages after
the last page in the range
This example shows the use of /Pagerange at the beginning of a data file:
%!
XGF
[ /PageRange 1 ] SETPARAMS
1 10 PAGERANGE
...
This example lists the eight meta characters that can be defined for use
in the FORMAT command using the SETPARAMS command.
The value of each parameter is the ASCII decimal value of the character.
A value of “null” indicates that the corresponding character is undefined.
When FNSign is used with positive numeric data, it generates a space.
When FPSign is used with negative numeric data, it is replaced by
FNSign.
All characters will be reproduced in the output string, excluding meta
formatting characters.
SETPAT
Use SETPAT to instantiate a pattern from a prototype pattern defined
using SETPPAT. A pattern is a small drawing that will be used repeatedly
to fill an area. Once defined it may be used instead of, or in conjunction
with, a color.
Where:
PATkey
is the name of the pattern (Pattern key) to define (any alphanumeric
string starting with an alphabetic character).
PPATkey
is the name of the prototype pattern on which to build the pattern.
Htrans
is the initial horizontal translation of 1st cell in points.
Vtrans
is the initial vertical translation of 1st cell in points.
rotate
is the cell rotation in degrees.
Hscale
is the horizontal scaling factor of the cell.
Vscale
is the vertical scaling factor of the cell.
Once defined by SETPAT a pattern key may be used in place of a
colorkey with any VIPP commands that require one. Namely:
• SETTXC
• INDEXCOLOR
• FROMLINE/RPEKEY
• SETPARAMS: ColorTable, BGColor
• SETGEP: FillColorKey
[ Colorkey PATkey ]
SETPBRK
Use SETPBRK to specify any string as a page delimiter. When this string
is detected, the line on which it appears can be one of these:
• Last line of the current page
• First line of a new page
• Nonprintable page delimiter
• Split into a left part and a right part
In the last case, the process may be recursively repeated on the right part.
Where:
delimiter string
is the string identifying a page delimitation.
option
is a three-digit number with these possible values:
• First digit:
— 0 — matching line is the last line
— 1 — matching line is the first line
• Second digit:
— 0 — print left part when not empty
— 1 — print left part
— 2 — print right part
— 3 — print the complete line
— 4 — print none
• Third digit:
— 0 — loop on right part. Checks whether there is more than
one instance of the test string in the record
— 1 — do not loop on right part. Does not check whether there
is more than one instance of the test string in the record.
This example sets the Form Feed as the default page delimiter, allows
multiple Form Feeds to be processed on a single line, and avoids empty
pages in case of adjacent multiple Form Feeds.
(Page) 131 SETPBRK % assumes that a line with Page is the first line
SETPCC
SETPCC enables PCC processing for the current job. When PCC is
enabled, vertical spacing is controlled by the first byte of each record
(PCC byte) whose action is defined in the PCC definition. Refer to
BEGINPCC for further information.
Where:
pccname
refers to a PCC definition previously defined by BEGINPCC.
SETPCD
The SETPCD command sets a page criteria definition. Although this
command is similar to SETRCD, the condition is evaluated at the page
level rather than at the record level. Tests using SETPCD result in an
outcome of true or false.
All PCDs are evaluated for each page before the page composition.
Therefore, PCDkeys can be used in BEGINPAGE or ENDPAGE
procedures, in forms using native mode tests IF, ELSE, and ENDIF, or in
an RPE definition such as RCDs.
Where:
PCDkey
is the PCD name.
line_nr
is the line number from which the condition will be evaluated starting
from 1. If line_nr is out of range, no error will occur, but the test will
be false.
line_ct
is the number of lines, starting at line_nr, on which the condition will
be evaluated. When line_nr + line_ct exceeds the number of lines of
the current page, no error will occur and line_ct defaults to its
maximum number of lines.
recpos/length
selects the record portion of the line to compare using the compare
string. recpos starts with 0.
field_nr
specifies the field number to compare using the compare string.
field_nr starts with 0 and applies to records with a field delimited
structure. The field delimiter is defined by SETDBSEP. The default is
“:”.
/cnd
specifies the test operator (for example, /eq, /ne, /ge, /gt, /le, /lt and
/HOLD). /HOLD searches for the compare string anywhere in the
selected record portion.
comp.str
is the reference string for the test. Use a count value (for example
100(*)), or use /PREV to refer to the equivalent string on the previous
page. Such a condition is always TRUE on the first page. When
/PREV is used, the line_ct operand must be 1. comp.str may also be
a variable in the form of /VARxxx. This allows you to change the
compare string during the job.
NOTE: SETPCD also applies on NMP records. This allows you to test
nonprintable data embedded in NMP comments (for example,
%%XGF% marker 1).
Examples: In this example, the condition is true when the string FORM= appears in
the first 132 positions on any line from 10 to 18.
In this example, the condition is true when the first six positions of line 10
are different from those of the previous page. On the first page the
condition is always true.
SETPIF
SETPIF defines a PIF destination or note that will be associated with the
next and only element imaged on the page using SHP, SHMF/SHMf, SHX,
ICALL, SCALL, DRAWB, or BOOKMARK.
null SETPIF
where:
PIFtype
can be one of these:
• PAGE — a page in the document
• DEST — a named destination defined by PDFDEST
• XPAGE — a page in another PDF document
• XDEST— a named destination in another PDF document
• FILE — a non-PDF document
• URI — an Internet/Intranet site or document
• NOTE — a note
null
cancels any active PIF definition.
Where:
pagenum
is the page number of the destination starting with 1. It may be a
variable.
{/Prev}
the destination is the previous page
{/Next}
the destination is the next page
view
defines how to adjust the view for a page destination. It can be one of
these:
null
use the current view.
[/Fit]
fit the page to the window.
[/FitB]
fit the bounding box of the page contents to the window.
[/FitR left bottom right top]
the page rectangle specified by the bounding box “left bottom
right top” is magnified and centered in the viewer window.
[/FitH top]
fit the width of the page to the window and place its top origin at
“top” current units of the page origin.
[/FitV left]
fit the height of the page to the window and place its left origin at
“left” current units of the page origin.
[/XYZ left top zoom]
place the origin of the window at “left top” current units of the
page origin.
destname
is a destination name. It may be a variable.
fileref
is the full or relative path and name of an external file. (Refer to the
/ResolvePath parameter to set the path resolution mode.)
URIstring
is an Internet or Intranet site or document name. When omitted the
text of the associated element (printed by SHP or SHMF) is used
instead.
title
is the title of the note.
contents
is the contents of the note. It may be a variable.
notetype
is one of these keys listed by category:
• icons — /Note /Comment /Help /Insert /Key /NewParagraph
/Paragraph
• stamps — /Draft /Approved /Experimental /NotApproved /AsIs
/Expired /NotForPublicRelease /Confidential /Final /Sold
/Departmental/ForComment /TopSecret /ForPublicRelease
• free text — /FT
• markup — /MK
color
is either a colorkey that defines the color of the note or “null” if no
color is required. Only plain RGB and grey scale color are supported.
option
is one of these:
• +1— the note is presented open (applies to icons only). The
default is closed.
• +2 — notetype is a stamp.
• +4 — center note icon on anchor element.
When notetype, color and option are omitted they default to /Note,
YELLOW, and 0.
SETPPAT
The SETPPAT command defines a prototype pattern for use with the
SETPAT command. A pattern is a small drawing that will be used
repeatedly to fill a area. Once defined it may be used instead of, or in
conjunction with, a color.
Where:
PPATkey
is the name of the prototype pattern to define (any alphanumeric
string starting with an alphabetic character).
PaintType
is an integer that specifies the paint type as one of these:
• 1 — Colored pattern (color is specified inside the PaintProc)
• 2 — Uncolored pattern (color must be defined prior to pattern
usage)
BBox
is the bounding box; an array of 4 numbers in points, giving the
lower-left X, lower-left Y, upper-right X, and upper-right Y of the
pattern cell.
Xstep
is the horizontal spacing between cells in points.
Ystep
is the vertical spacing between cells in points.
PaintProc
is a PostScript language procedure for painting the cell.
/PStar 2 [-5 -5 5 5] 10 10{pop 0 5 moveto 4 {144 rotate 0 5 lineto} repeat closepath fill} SETPPAT
SETPPATH
The SETPPATH command defines a list of libraries for projects. The
library paths may contain the key sequences “$$FOLDER.” and
“$$PROJECT.” as place holders for project folders and project names.
The defaults are defined in the link files xgfunix.run or xgfdos.run.
[ (c:\\xgfc\\$$FOLDER.\\$$PROJECT.\\)
(c:\\xgfc\\$$FOLDER.\\fshared\\)
(c:\\xgfc\\gshared\\)
] SETPPATH
SETPROJECT
The SETPROJECT command activates the SETPPATH definition with the
related project and folder names for all subsequent resource accesses.
Where:
folder_name
is the replacement value for $$FOLDER.
project_name
is the replacement value for $$PROJECT.
SETPROJECT is used at the beginning of a VIPP job before any access
to the resources.
%!
[(projects) (holidays)] SETPROJECT
(holi1.dbm) STARTDBM
.......
SETRCD
SETRCD sets a Record Criteria Definition (RCD) for use in subsequent
RPE definitions. Refer to RPE command information and to other related
RPE commands for more information.
Where:
RCDkey
is the RCD name used in the RPE definition.
recpos/length
selects the record portion of the line to compare using the compare
string. recpos starts with 0.
field_nr
specifies the field number to compare using the compare string.
field_nr starts with 0 and applies to records with a field delimited
structure. The field delimiter is defined by SETDBSEP. The default
is “:”.
cond
specifies the test operator (for example, /eq, /ne, /ge, /gt, /le, /lt, and
/HOLD). /HOLD searches for the compare string anywhere in the
selected record portion.
compare string
is the reference string for the test. It can be expressed using a count
value (for example, 100(*)).
/bool op
is a boolean operator, such as /or, /and, and /not, used to combine
several RCD definitions.
{ condition statement }
is a sequence of VIPP commands expected to deliver a boolean.
Built-in or custom variables are likely to be used in this statement.
Once defined, an RCDkey may be placed before any RPE entry causing
this entry to be processed only when the resulting condition is true. When
the next entry is preceded by /ELSE, it is processed only when the
previous RCD is false.
When using /ENDIF, the condition and the following /ELSE can apply to
several RPE entries and can be nested. Refer to the examples in the
FROMLINE extensions for further information.
Example: This example shows how to print a line beginning with the word “TOTAL”
using a different font.
This example defines a new RCD that is true when IF_CND1 RCD or
IF_CND2 RCD is true.
This example defines a new RCD that is true when IF_CND1 RCD or
IF_CND2 RCD is true and IF_CND3 RCD is also true. Complex
combinations can affect performance.
This example is true when the word “DIVISION” appears anywhere in the
first 100 positions of the record. Searching every record and every byte in
the record for a string may affect performance.
Hints and tips: Use this command to print a negative number in red ink.
Always begin RCD keys with IF to make sure that the RPE definition is
clear. This will avoid duplication of other keys.
SETRES
The SETRES command sets the device resolution for current and
subsequent pages.
600 SETRES
SETRPE
The SETRPE command invokes an RPE definition set by RPEKEY for the
lines following the command. This command must be embedded in the
data stream with a Native Mode Prefix (NMP). Refer to RPE command
information and to other related RPE commands for more information.
Example: This is an example that invokes “ADR0” for the following lines until the
next SETRPE is encountered.
SETRPEPREFIX
The SETRPEPREFIX command enables RPE prefix mode and sets the
prefix length. Refer to RPE command information and to other related
RPE commands for more information.
Where:
prefixlength
is the length of the prefix.
position
is the position of the prefix in the record starting with 0 (default is
zero).
The second syntax provides support to a prefix starting at any position in
the record. Use this option to migrate LCDS applications that use a font
index by mapping the font index byte to an RPEKEY definition (refer to
RPEDEF).
When RPE prefix mode is turned on, all lines in the data file must begin
with a prefix that invokes the matching RPE definition defined by RPEKEY
in the JDT for this line.
When the prefix for a given line is not defined:
• The line is skipped when the prefixlength is positive
• The job aborts with an “VIPP_RPE_invalid_prefix” error message
instead of /rpekeyname.
An RPE group is made of consecutive lines that use the same prefix but
have a different last digit. This indicates that when only the last digit of the
prefix changes from the previous line, the line belongs to the same RPE
group.
An RPE prefix must be at least two bytes in length unless the RPE prefix
is used to process an LCDS data stream using fontindex (refer to
RPEDEF for further information). This is due to the possibility of an RPE
group usage. When the prefix is only one byte in length, all RPE
definitions will belong to the same unique group. When this is the case,
all records are processed in the same manner.
Use different prefixes in a group to specify various field attributes such as
font, color, alignment, and position when different types of records may
appear in random order. For example, in a bank statement, credit lines
may be prefixed by LINEC and debit lines by LINED. This allows the
printing of the amount with a different color or in a different column.
When a data stream uses prefixes that do not follow the 'last digit' rule use
NEWGROUP.
Refer to RPEKEY and FROMLINE for an explanation on RPE processing.
%!
4 SETRPEPREFIX % should normally be coded in the JDT
(bill.jdt) STARTLM
PER0 01.11.1989 - 31.12.1989
REF0 14153 01764960
DFA0 23.01.1990
DPY0 23.02.1990
DRE0 7.12.1989
CRN0 068.025.000 COMMUNS IMMEUBLE
[ 1 131 ] SETRPEPREFIX
Hints and tips: This mode has a major advantage for new applications. The data stream
produced by the application is very compact and independent of the
layout.
SETSKIP
The SETSKIP command is an alternative to SETPCC. In addition, it
provides a mechanism to handle widow and orphan printing situations.
SETSKIP and SETPCC are exclusive.
Where:
skip_condx
is either:
an RCDkey. If the RCD condition is true for that line, then the
associated skip action will occur.
pre_skip
is either:
a number of lines
a key to be assigned later by SETVFU
print_action
is either:
a number of lines
a key to be assigned later by SETVFU
BOF
defines the bottom threshold. A skip to next page (before print) occurs
when the number of remaining lines on the page after pre-skip is less
than this number. The number of lines per page is defined by the
SETGRID command.
TOF
defines the top threshold. If not zero, TOF forces that line to be the
target line (regardless of the pre-skip) when a page transition occurs
during pre-skip process.
Example: In this example any line starting with “0001” will cause a skip to channel
one.
SETTAB
The SETTAB command enables tab processing and defines tab spacing
in character units.
Where:
charcount
is the number of characters used to position tabs.
8 SETTAB
Hints and tips: Use SETTAB only with fixed pitch fonts.
SETTXB
The SETTXB command activates a background for all subsequent text
imaged using an SHx command.
null SETTXB
Where:
BATkey
represents any key previously defined with SETBAT.
null
disables a currently active BATkey.
Example: This example illustrates how to activate underlining and light gray.
UNDL SETTXB
PB_LT SETTXB
SETTXC
The SETTXC command sets the color and pattern for all subsequent
printed text and ICALL commands.
PATkey SETTXC
Where:
ColorKey
is the name of the color used for subsequent text and ICALL
commands.
PATkey
is the name of the pattern used for subsequent text and ICALL
commands (the color used is the last plain color defined in the VIPP
job).
[ ColorKey PATkey ]
sets the color and pattern used for subsequent text and ICALL
commands.
Colorkeys and patterns are defined in the /usr/xgf/src/xgf.gep file listed in
“Standard lists, tables, keys, and attributes.”
The default color is BLACK. The predefined colorkeys include:
• BLACK
• XLIGHT
• LMEDIUM
• DARK
• RED
• WHITE
• LIGHT
• MEDIUM
• XDARK
• BLUE
• DMEDIUM
• GREEN
To define new colorkeys, edit the /usr/xgf/src/xgf.gep file and add lines
using this syntax:
Where:
color_definition
Can be one of these:
• a number between 0 (black) and 1 (white) to define a gray level:
/LIGHT .9 SETCOL
/LRED [ 1 .8 .6 ] SETCOL
SETTXS
Use the SETTXS command to activate superscript and subscript.
Subscript and superscript are handled as text attributes, as are font, color,
and background .
Where:
sst_param
can be one of these:
• A numeric value — representing a vertical displacement (in
current units) from the current vertical position (positive for
superscript and negative for subscript). In this case, font size is
handled by the font commands (SETFONT, INDEXFONT).
• /SUP — for automatic superscript activation (smaller font and
offset computed from the current font settings).
• /SUB — for automatic subscript activation (smaller font and offset
computed from the current font settings).
• null — indicates “end of sub/superscript.”
SETTXS is used to activate or deactivate subscript or superscript on a
case-by-case basis (between SH commands).
SETUNIT
SETUNIT sets the unit of measure for all subsequent commands except
SETGEP.
Where:
unit
can be one of these values:
• DOT3 — (1/300 inch), the default value
• PELS — (1/240 inch)
• POINT — (1/72 inch)
• CM — (centimeter)
• MM — (millimeter)
• INCH — (inch)
PELS may help when converting AFP resources to VIPP resources.
Hints and tips: Defining the units only once per site in the /usr/xgf/src/xgf.def file is
recommended. Use SETGUNIT for unit definition of the SETGEP
command.
SETUTAB
The SETUTAB command enables tab processing and defines the tab
length in current units.
Where:
unitcount
is the number of units used to position tabs.
50 SETUTAB
SETVAR
The SETVAR command sets a variable. Once defined, a variable
reference may be used in any command in place of a string, number, or
array operand.
Where:
VARname
can be any alphanumeric string starting with the prefix “VAR.” The
maximum length is 20 characters. The “-” and “_” characters are
allowed. However, “.” is allowed only when the variable is not used
with VSUB.
value
may be a string, a number, or an array.
/INI
when this option is used, the variable will be set only if it does not
already exist. A variable that already exists will not be re-initialized
when the /INI option is used. Use this option in a DBM to initialize a
variable only during the first call.
^name
is a variable name generally associated with an XML job ticket.
Numeric strings accommodate large numbers up to 40 digits (25 digits for
the integer part and 15 digits for the decimal part). In a numeric string the
negative sign and the decimal delimiter are defined by the parameters
/DecimalPoint and /NSign, and can occur anywhere in the string.
It is mandatory to set these parameters with appropriate values to ensure
accurate results. Defaults are defined in the file xgf/src/xgf.def. When the
variable is processed by ADD or SUB, characters in the numeric string
other than these two plus the digits 0-9 are discarded.
The initial length of the string defined by SETVAR is automatically
extended up to 40 digits when needed.
Reals and integers must be used only for small values <= 99999 (for
instance the implementation of a counter). The decimal delimiter, if
present, is always the point (.). The negative sign, if present, is always the
minus (-) and must be the first character.
Real and integers can be converted to strings using the VSUB command.
Then they can be formatted for printing using the FORMAT command.
In an XML job, XML variables are automatically assigned a full name
depending on their name and the current XML path. In addition they are
automatically reset when parent nodes are crossed.
XML variables start with “^” and are mainly intended to be used in an XML
job ticket (.xjt). They do not require explicit initialization. When not
initialized they will be automatically pre-set to an empty string or zero if
they appear to be updated using ++, --, ADD or SUB.
VAR.date SHL
/VARadd_block
{
($$Fname. $$Lname.) VSUB SHL
Addr1 0 SHP
Addr2 0 SHP
($$City. $$State. $$Zip.) VSUB SHL
} SETVAR
% When needed
300 3000 MOVETO
VARadd_block
String values:
• When you want the number to be zero filled, then declare a number
with the appropriate number of zeros.
• When you do not want zero filled numbers, use FORMAT to format
the number.
SETVFU
The SETVFU command defines a Vertical Format Unit (VFU) table,
channel-skip to line-number assignments for the current PCC definition.
Where:
/skip-key
the skip keys as defined in the PCC definition, refer to “Standard lists,
tables, keys, and attributes” for further information.
line-number
the matching line numbers for the current job. A negative line number
forces a skip to the specified line on a new page.
Refer to BEGINPCC for further information on PCC definitions.
SETVFU must be coded in a JDT.
SETZEBRA
The SETZEBRA command enables zebra, or greenbar, printing for all
subsequent pages. Zebra printing is the printing of background shaded
boxes.
Where:
colorkey
defines the color. WHITE or 1 indicates no zebra printing.
lines-with and lines-without
define the sequence of lines with and without zebra printing.
/V
varies the number of zebra lines depending on the number of lines
printed on the page. Without /V the number of zebra lines is constant
and controlled by the number of lines per page set by the SETGRID
command.
Zebra boxes are computed from the current grid and margins. The default
zebra, or greenbar, pattern is set in the /usr/xgf/src/xgf.def file. Colorkeys
are defined in the /usr/xgf/src/xgf.gep file listed in “Standard lists, tables,
keys, and attributes.” The predefined keys include these:
• BLACK
• XLIGHT
• LMEDIUM
• DARK
• RED
• WHITE
• LIGHT
• MEDIUM
• XDARK
• BLUE
• DMEDIUM
• GREEN
Edit the /usr/xgf/src/xgf.gep file to add new Colorkeys.
LIGHT 3 3 SETZEBRA
Mode: These commands are applicable in native mode, line mode, and database
mode.
Related commands: MOVETO, MOVEH, MOVEHR, SETLSP, SHJ and SHj, SHL and SH,
SHMF/SHMf, SHR and SHr
SHGLYPH
SHGLYPH creates a DataGlyph pattern from a string. The command
relies on a proprietary PostScript operator currently only available on the
DocuPrint NPS family of printers. A gray box with the string on it will be
printed instead of the DataGlyph for proof printing on other printers, or for
screen display. The lower left corner of the glyph pattern will be placed at
the current secondary print position.
Where:
(string)
is the string to be imaged as a glyph pattern.
Wvalue
is the width of the glyph pattern in points.
Hvalue
is the height of the glyph pattern in points.
SHIFT
The SHIFT command defines horizontal (X) and vertical (Y) shift values
in current units for front and back pages. All of the page content is shifted
from the bottom left origin on the horizontal and vertical axis according to
the specified values, either positive or negative. These values always
refer to the bottom left origin of the portrait sheet regardless of the current
orientation.
Hints and tips: This command is useful for setting the proper left or top margins for
binding in duplex.
NOTE: When the width set by SETCOLWIDTH does not fit the length
of printable data, the printed text may overlap.
SHL and SH
SHL and SH print data left aligned at the main (SHL) or secondary (SH)
print position.
SHL resets the main horizontal print position to the last value specified by
MOVETO and forwards the vertical print position by the SETLSP value.
SH sets the secondary print position to the point reached after printing the
data.
(printable data) SH
Related commands: CASETI, GETINTV, MOVETO, MOVEH, MOVEHR, SETLSP, SHC and
SHc, SHJ and SHj, SHMF/SHMf, SHR and SHr
Where:
align
is the alignment option and can be specified as one of these:
• 0 — left
• 1 — right
• 2 — center
• 3 — justify
• +100 — fit-in-width
• +200 — stretch-in-width
fit-in-width option — When this option is enabled the current font will
be scaled on the horizontal axis so that the printed string fits into the
current column width (as specified by SETCOLWIDTH or the colwidth
operand). Scaling is only performed when the “natural” width exceeds
the column width. If not no scaling is applied.
stretch-in-width option — When this option is enabled the current font
will be scaled on the horizontal axis so that the printed string entirely
fills the current column width (as specified by SETCOLWIDTH or the
colwidth operand).
This example will print the name (for instance in an address box) left
aligned and constrained within a width of 500 dots.
colwidth
is the column width for justification (align=3). When colwidth is not
specified, the value defined by a previous SETCOLWIDTH is used.
When colwidth is specified, it overrides and replaces the value
defined by a previous SETCOLWIDTH.
Example: This example prints “Text using font 1 Switch to font 2 blue and Font 3.”
/1 /NHE 18 INDEXFONT
/2 /NHE 24 INDEXFONT
/3 /NHEO 18 INDEXFONT
/A BLACK INDEXCOLOR
/B BLUE INDEXCOLOR
200 200 MOVETO
(//1Text using font 1 //2//BSwitch to font 2 blue //3and Font 3) 0 SHMF
Hints and tips: Use the appropriate SHx commands when font or color switching is not
required.
Related commands: INDEXBAT, INDEXFONT, MOVETO, MOVEH, MOVEHR, SHP and SHp,
SETCOLWIDTH, SETFTSW, SETLSP, SHL and SH, SHC and SHc, SHJ
and SHj, SHR and SHr
Where:
align
is the alignment option, and can be specified as one of these:
• 0 — left
• 1 — right
• 2 — center
• 3 — justify
colwidth
is the column width used for word wrapping. When colwidth is not
specified, the value defined by a previous SETCOLWIDTH is used.
When colwidth is specified, it overrides and replaces the value
defined by a previous SETCOLWIDTH.
With the last two syntax, SHP appends the specified list of strings and
formats the resulting string (the sum of all lengths cannot exceed 65,535
characters).
When using alignment 3, any word that causes the line to exceed the
column width, but is within a specific percentage, prints with that line. The
threshold is by default set to 0.05% of the column width. This value is
stored in a variable named VAR.SHP_OVER. Use the SETVAR command
to change this value.
Combine SHP with SETLKF if you want the text to flow from frame to
frame or from page to page.
This example illustrates the use of database records to print a name and
address block, which may contain blank fields. These are the example
database records:
Fname,Lname,addr1,addr2,city,state,zip
David,Kirk,101 Continental Blvd., Suite 1, El Segundo, CA, 90245
Mary, Smith, 5 Euclid Lane, Santa Monica, CA 90403
Hints and tips: When used with functions like VSUB to substitute variables in printable
data, SHP can be very powerful for applications such as mailings and
insurance contracts. SHP can be used in an SCALL procedure to rotate a
block of text. Text can be rotated by any degree.
When “colwidth” is not supplied as an operand, the current column width
defined by SETCOLWIDTH is reduced by the difference between the main
and secondary horizontal positions.
Related commands: MOVETO, MOVEH, MOVEHR, SETLSP, SHL and SH, SHC and SHc, SHJ
and SHj, SHMF/SHMf
Where:
align
is the alignment option, and can be specified as one of these:
• 0 — left
• 1 — right
• 2 — center
• 3 — justify
colwidth
is the column width used for word wrapping. When colwidth is not
specified, the value defined by a previous SETCOLWIDTH is used.
When colwidth is specified, it overrides and replaces the value
defined by a previous SETCOLWIDTH.
With the last two syntax, SHT appends the specified list of strings and
formats the resulting string (the sum of all lengths cannot exceed 65,535
characters).
When using alignment 3, any word that causes the line to exceed the
column width, but is within a specific percentage, prints with that line. The
threshold is by default set to 0.05% of the column width. This value is
stored in a variable named VAR.SHT_OVER. Use the SETVAR command
to change this value.
SHX
The SHX command prints data with a GEPkey and rotates data.
SHX resets the main horizontal print position to the last value specified by
MOVETO and forwards the vertical print position by the SETLSP value.
Where:
rotate
is the angle in degrees by which the text will be rotated. Positive is
counterclockwise.
GEPkey
refers to a GEPkey that will be applied to each character glyph
(outline and/or fill).
align
aligns the text on the main print position using one of these values:
• 0 — left
• 1 — right
• 2 — center
• 4 — XYcenter (uppercase)
• 5 — XYcenter (lowercase)
XYcenter
indicates that centering is performed not only horizontally, according
to string length, but also vertically, according to character height.
Hints and tips: This command can be used to place outlined text across the page using
a large font.
SKIPPAGE
SKIPPAGE causes the current page to be skipped (not printed). This
command is used in a BEGINPAGE procedure under the control of an
IF/ENDIF statement.
Syntax: SKIPPAGE
Example: This example shows how to cause the banner pages (pages with lines of
asterisks) to be skipped.
Hints and tips: When SKIPPAGE is combined with a SETCYCLECOPY command, it may
be useful to compute the number of pages of a job in a first “nonprinting”
pass, and print it with the page number in the second pass. An example
of this procedure is as follows:
COLLATE_on
2 SETCYCLECOPY
(Page ##) 1 1 SETPAGENUMBER
/VAR_TOTPAGE 0 SETVAR
{ IF CPCOUNT 1 eq
{ SKIPAGE
/VAR_TOTPAGE ++
}
ELSE
{ (Page ## / $$VAR_TOTPAGE.) VSUB null 1 SETPAGENUMBER }
ENDIF
} BEGINPAGE
SLIPSHEET
SLIPSHEET inserts slipsheets (additional sheets intended to separate
sets) in the middle of a job.
Where:
{ slipsheet proc }
can contain the commands necessary to specify the format of the
slipsheet (for example, SETMEDIA or SETFORM).
The procedure enclosed in braces does not affect the remainder of the
print job (for example, page numbering). The slipsheet prints using the
current form by default. To cancel it or to select another one use
SETFORM in the procedure.
Example: This is an example of coding that selects a blue media and a specific form.
Hints and tips: When used in line mode, this command should be called in either
BEGINPAGE or in a /P ENDPAGE procedure under a PCD test. Use
GETFIELD to capture data from the current page or from previous pages
and print then on the slip sheet using an in-line form.
SOF_off
SOF_off disables end of line mode when %! is encountered.
Syntax: SOF_off
Hints and tips: STARTLM ends when it encounters a record that starts with %! by default.
Therefore, VIPP or PostScript files that start with %! cannot be printed.
When SOF_off is used, %! is processed as print data. This can be used
to print the source code of VIPP or PostScript files using line mode for
documentation purposes.
SPOOLNAME
SPOOLNAME specifies a path and file name for a temporary file used to
store the data in cyclecopy mode (refer to SETCYCLECOPY). Use this
command mainly in the /usr/xgf/src/xgfunix.run file, where the default is
specified.
NOTE: This file is not used on DocuPrint NPS and DocuSP except in
streaming mode.
STAPLE_off
STAPLE_off disables the stitching of sets previously enabled by
STAPLE_on. STAPLE_off is the default.
Syntax: STAPLE_off
STAPLE_on
STAPLE_on enables the stitching of sets in a job in the output tray. This
command must be placed at the beginning of the job before the first page
starts, or in the JDT. Use STAPLE_on with ENDOFSET and ENDOFRUN
to perform subset stapling. For DocuSP version 1.32 and later, use the
STARTOFSET command to perform subset stapling. STAPLE_off is the
default.
For further information on setting up and using the subset finishing
features of the DocuSP products, refer to the appropriate DocuSP
manual.
Syntax: STAPLE_on
STAPLEDETAILS
Use STAPLEDETAILS to specify the details for stapling. You must enter
this command before you enter the STAPLE_on command.
This command is only effective on devices with various stapling options
such as the DocuSP, and N series printers. For further information on
stapling options, refer to the appropriate device manual.
Where:
detail_spec
is the device specific stapling option.
Valid options for DocuSP are:
• (SinglePortrait)
• (SingleLandscape)
• (DualLandscape)
• (RightPortrait)
• (RightLandscape)
• (RightDualPortrait)
• (DualPortrait) — 65/75/90 and 2045/260/6060 printers only
STARTBOOKLET
Use the STARTBOOKLET command to start a booklet. This command
must be coded before any marking command on the first page of the
booklet. It will execute a PostScript StartBooklet. By default a
StartBooklet is an empty procedure. Refer to “Booklet support” for more
information.
This command is currently supported on the Creo DFE only.
Syntax: STARTBOOKLET
STARTDBM
STARTDBM starts database mode. This command must precede the data
in the database file. A DBM file name is provided as an operand. It must
be stored in one of the libraries defined by SETFPATH or in the Project
directories used by the job. Use of the .dbm extension is recommended.
The DBM contains all page layout and processing instructions required to
print a document for each record in the database file.
When SETCYCLECOPY is used inside a database master, a CHKPOINT
is implicitly executed. When combined with a conditional statement
(IF/ELSE/ENDIF) on specific records this allows a set of records to be
processed as a document (set) with a specific number of copies.
Commands in a DBM may be any native mode command. In addition,
VSUB may be used to substitute field contents.
For further information on database mode refer to “VIPP data streams.”
Where:
Data Base Master name
is the DBM name to use. When no DBM name is supplied to
STARTDBM, for example, “() STARTDBM”, a DBM name must be
supplied with each record in a field called DBM_NAME. This allows
the usage of a different DBM for each record.
<EOL>
is the end-of-line marker, for example, LF, CRLF, or CR. It must
immediately follow the keyword STARTDBM. Any additional space
between STARTDBM and <EOL> causes the job to fail.
record grouping
defines the number of records to read for processing the DBM. The
default is 1. The record grouping option causes the records of the
database file to be processed in packets, the first of which contains
the field names. This may be useful for long records containing
numerous fields.
Because the DBM is executed for each record, for efficiency and to avoid
side effects, you must place general setting commands such as
DUPLEX_on, SETMULTIUP, SETDBSEP and others, before the
STARTDBM command. These commands can be grouped in a JDT and
called with SETJDT before STARTDBM. Last, set up an initialization
section at the beginning of the DBM as shown in this example:
Hints and tips: This sequence can now be embedded in a Data Base Master.
....
PAGEBRK
RSAVE
(file_name) SETLMFILE
(xyz.jdt) STARTLM
....
Use this sequence to print a line mode file as part of a DBM. RSAVE is
mandatory to match the implicit RESET performed by STARTLM when the
end of the line mode file is reached.
STARTLM
STARTLM starts line mode, for further information on line mode refer to
“VIPP data streams.”
This command must precede the line mode data. A JDT file name is
provided as an operand. It must be stored in one of the libraries defined
by SETJPATH or in the Project directories used by the job. Use of the .jdt
extension is recommended. This JDT file contains all page layout and
processing instructions for the job.
In a JDT, use only those commands related to the page layout setting
such as orientation, SETGRID, SETMARGIN, SETFONT, SETFORM, and
RPE definitions. Commands that print items on the page such as SHX,
ICALL, and DRAWB, cannot be used except in an in-line form definition
or in an ENDPAGE procedure.
When a specific command is not specified in the JDT, the job uses the
defaults set in the /usr/xgf/src/xgf.def file.
Where:
jdtname
is the JDT name to use. When no JDT reference is specified, for
example,“() STARTLM”, no JDT is searched for and commands may
be embedded between the %! and STARTLM statements.
<EOL>
is the end-of-line marker; for example, LF, CRLF, or CR. It must
immediately follow the keyword STARTLM. Any additional space
between STARTLM and <EOL> causes an extra blank line at the top
of the first page.
jdtname1
will be applied for count pages before applying jdtname2. This is
useful for printing banner pages with a specific JDT.
Hints and tips: The LMSKIP command can be used to skip bytes, lines, or arrays of
characters at the beginning of an input file.
This syntax may be used as a workaround when <EOL> cannot
immediately follow the STARTLM command.
(jdt reference) STARTLM%%XGF%<EOL>
STARTOFSET
STARTOFSET acts as a set delimiter for DocuSP print jobs only. Use this
command with DocuSP version 1.32 and later only. You must place this
command at the beginning of the first page of a set.
For further information on setting up and using the subset finishing
features of the DocuSP products, refer to the appropriate DocuSP
publication.
Syntax: STARTOFSET
STARTXML
STARTXML initiates XML mode. This command must precede the XML
data or be used after a SETLMFILE command referencing an XML file. It
takes as an operand a reference to an XML Job Ticket (XJT) file. The XJT
file must be stored in one of the libraries defined by SETJPATH or the
Project directories used by this job. Use of the .xjt extension is
recommended.
When the XJT operand is an empty string VIPP creates the XJT name by
appending “.xjt” to the root tag name of the XML file. If this XJT does not
exist VIPP uses an XJT called xmldump.xjt located in xgf/jdtlib.
An XJT file contains instructions on how to process and arrange the XML
data into a document. It is similar to a line mode JDT and the same rules
and limitations apply to its contents (see STARTLM). It contains all global
layout definitions for the document (orientation, forms, medias, frames,
fonts, colors, ...) plus an XML Processing Definition (XPD) table that
describes specific actions to be performed on specific XML tags.
STARTXML parses and consumes the XML file populating the VXVpath
directory with node contents and performing actions or substitutions as
defined in the XPD table.
When SETCYCLECOPY is used in a BTA start process for a given tag a
CHKPOINT is implicitly executed when the end tag is encountered. This
allows the entire XML sub-tree to be processed as a document (set) with
a specific number of copies.
STARTXML ends after the end root tag. At that point VIPP returns to
native mode.
() STARTXML
STOREVAR
Use STOREVAR to store data in a file for later use by the same or another
application. Everlasting counters or data shared by different applications
are examples of data to store using STOREVAR.
CAUTION: This command stores data in the file system of the printer
controller in an area possibly accessible by other applications or
users. Use it only when this is intended. For internal variables in a
given VIPP job use SETVAR, do not use STOREVAR.
Where:
data
may be either a string enclosed in parenthesis, an integer, a real or a
variable of one of these types.
store_file
is the name of the file into which data will be stored. It must be located
in one of libraries referenced by SETMPATH. When the file exists, its
contents is overwritten by data. When it does not exists, it is created
in the first library referenced by SETMPATH. The library and the file
must have the appropriate write permissions.
Example: This example shows how to store, retrieve, and increment a variable.
Hints and tips: On the DocuPrint NPS, the library must be added in the
/var/db/PS.prefix.write file. On DocuSP, STOREVAR can write into the
directory /opt/XRXnps/resources/ps. Make sure this directory is present in
the SETMPATH list.
SUB
SUB subtracts a value from a numeric variable defined by SETVAR or an
XML variable.
Where:
/VARname
refers to a numeric variable previously initialized by SETVAR.
/^XMLname
refers to an XML variable that does not need not be explicitly
initialized. VIPP initializes all XML variables to an empty string, which
is equivalent to a numeric string equal to zero.
number
is the number to be subtracted from the variable. It can be an integer,
a real, or a numeric string. When large numbers are involved a
numeric string is mandatory.
Numeric strings accommodate large numbers up to 40 digits (25 digits for
the integer part and 15 digits for the decimal part). In a numeric string the
negative sign and the decimal delimiter are defined by the parameters
/DecimalPoint and /NSign and can occur anywhere in the string.
It is mandatory to set these parameters with appropriate values to ensure
accurate results. Defaults are defined in the file xgf/src/xgf.def.
Characters in the numeric string other than these two plus the digits 0-9
are ignored.
The initial length of the string defined by SETVAR is automatically
extended up to 40 digits when needed.
Reals and integers must be used only for small values <= 99999 (for
instance the implementation of a counter). The decimal delimiter, if
present, is always the point (.). The negative sign, if present, is always the
minus (-) and must be the first character.
/VAR.CNT1 0 SETVAR
/VAR.CNT1 12 SUB
/VAR.CNT1 -3 SUB
TIFORI_off
TIFORI_off disables processing of tag 274 (Orientation) within ICALL.
TIFORI_off is the default.
Syntax: TIFORI_off
TIFORI_on
TIFORI_on enables processing of tag 274 (Orientation) within ICALL. The
ICALL default does not process the orientation tag (TIFORI_off) and
assumes orientation is 1 (the default for TIFF files). Orientation
processing is provided as an option to ensure compatibility with previous
releases.
Syntax: TIFORI_on
TUMBLEDUPLEX_off
TUMBLEDUPLEX_off disables duplex printing. TUMBLEDUPLEX_off is
the default. This command is equivalent to DUPLEX_off and exists only
for compatibility with earlier versions.
Syntax: TUMBLEDUPLEX_off
TUMBLEDUPLEX_on
TUMBLEDUPLEX_on enables tumble duplex printing (180 degree
rotation on the back side). The default is TUMBLEDUPLEX_off.
Syntax: TUMBLEDUPLEX_on
TWOUP
TWOUP enables two-up mode. Two reduced logical pages are printed on
top of each other (LAND/ILAND) or side by side (PORT/IPORT) on the
same physical page.
This command must be used as the first command following the %! line in
the print file or as the first line in a JDT.
Syntax: TWOUP
Hints and tips: This command may be used with SETCYCLECOPY and COLLATE_off to
produce two reduced copies of a document on a normal size sheet of
paper.
XGF
XGF forces the PostScript interpreter to load VIPP. VIPP is implicitly
loaded by these commands:
• DUPLEX_on
• ILAND
• INDEXFONT
• IPORT
• LAND
• ORITL
• PAGERANGE
• PORT
• RUN
• SETCYCLECOPY
• SETDBSEP
• SETDLFILE
• SETEPATH
• SETFONT
• SETFORM
• SETFPATH
• SETGRID
• SETIPATH
• SETPROJECT
• SETJDT
• SETJPATH
• SETLMFILE
• SETMARGIN
• SETMEDIA
• SETMPATH
• SETMULTIUP
• SETPAGESIZE
• SETTAB
• SETUTAB
• SHIFT
• STAPLE_on
• STARTDBM
• STARTLM
• STARTXML
• TUMBLEDUPLEX_on
• TWOUP
• XGF
• XGFDEBUG
In order for the PostScript interpreter to load VIPP, the VIPP file submitted
for printing must start with one of the commands listed above.
When you need to start the VIPP file with any other command, it must be
preceded by XGF or registered as an initial command by XGFENTRY in
the /usr/xgf/src/xgf file and in the /usr/xgf/src/xgfunix.run file after the end
line.
Syntax: XGF
XGFDEBUG
XGFDEBUG forces the printing of Native Mode Prefix (NMP) and Form
Feeds for documentation and debugging purposes. NMP commands are
processed as print data and are not interpreted as VIPP commands. Form
Feeds are printed as <FF> and have no skip effect.
This command may be coded in a JDT or prior to the STARTLM command.
Syntax: XGFDEBUG
XGFEND
XGFEND is mandatory at the end of a native mode job when demographic
service is active. If not, this command has no action.
XGFENTRY
XGFENTRY registers a command as an initial command. Refer to XGF for
further information.
/MOVETO XGFENTRY
Hints and tips: Use XGFENTRY to print an early version VIPP job that used an
unregistered initial command.
XGFRESDEF
XGFRESDEF registers the specified resource in the PostScript
interpreter's memory. Use this command to embed resources in the data
stream to prepare VIPP jobs for printing on a decentralized printer. This
is referred to as a “self-contained VIPP data stream.” The syntax of the
command varies depending on the resource type. Refer to “VIPP
resources” for further information.
Where:
formname
is the name of a VIPP form.
form_data
is the form contents including encapsulating braces (therefore, not
shown in the syntax).
resourcename
is the name of a segment, a DBM, a JDT, a font list, or an encoding
table.
resource_data
is the exact contents of the resource.
imagename
is the name of a TIFF or JPEG file.
image_data
is the exact contents of the TIFF or JPEG file converted to
hexadecimal fixed length records encapsulated between “<“ and “>”.
The last record may be shorter. The record length must be such that
the number of hexadecimal records does not exceed 65535. In
general, 128 is sufficient.
psname
is the name of a PostScript file as created by a PostScript driver out
of a document processing application.
ps_data
is the PostScript code created by the driver.
ilname
is the name of an in-line resource that needs to be cached. Normally,
an in-line resource has no name so it cannot be cached. Use this
syntax to give it a name and cache it for subsequent use with SCALL,
SETFORM or SETBFORM.
VIPP_code
is the contents of the in-line resource.
llx lly urx ury
is the bounding box of the in-line resource in current VIPP units (see
the description of %%BoundingBox for more details). If not specified,
the bounding box defaults to the physical page size.
/bill.frm { PORT 100 1150 MOVETO (Xerox) SHL ... } FBIND XGFRESDEF
/a1b.jdt { ILAND 120 66 SETGRID (bill.frm) SETFORM ... } XGFRESDEF
/rxlogo.tif[ <49492a00...> <007fff80...> ... ] XGFRESDEF
/doc1.ps MAKEVMFILE %!PS ... showpage %%EOF %%EOD_XGF XGFRESDEF
/Seg1 {... VIPP code ...} [ -100 -100 400 400 ] /CACHE XGFRESDEF
Hints and tips: SETLMFILE and SETDLFILE can be embedded in the data stream using
XGFRESDEF.
XMLSYN
XMLSYN defines synonyms for XML tags. These synonyms must then be
used instead of the original names in the XPD definitions and XML
VXVpaths.
This command is mainly intended for long tag names in complex XML
structures that may cause VXVpath to exceed 128 characters, which is
the maximum length allowed for VXVpaths.
Where:
tag_nameX
is the name of a tag in the current XML data tree.
tag_synX
is the synonym to be substituted for that tag.
Examples:
[ /ACCOUNT_INVOICE /AINV
/ACCOUNT_INFORMATION /AINF
/ACCOUNT_UNITS /AU
/ACCOUNT_USAGE_CHARGES /AUC ] XMLSYN
ZSORT
ZSORT provides the ability to print simplex or duplex multi-up documents
in a north/south imposition order in “stacks,” which are then taken to a
cutter that cuts the stacks into “piles.” When the “piles” are placed on top
of each other, the resulting stack of “piles” is in the order of the original
input data. The stack can then be sent for other offline finishing. A
slipsheet can be created and inserted between stacks of output to identify
the stack boundaries.
NOTE: The maximum size of a stack is the number of sheets that can
be cut by the post-processing cutter. A smaller maximum may be
necessary, depending upon the amount of memory in the printer and
the size of the database records.
Where:
slipsheet proc
is the VIPP code to be executed at the end of a stack to produce a
slipsheet. This procedure is processed by the SLIPSHEET command
and must be a valid procedure for that command. This procedure may
be empty if no slipsheet is desired.
stacksize
is the maximum number of sheets in a stack. This number should be
no larger than the number of sheets of paper the cutter can cut.
options
is a two-digit number with these possible values:
• Right digit:
— 0 – shorten last stack to fit number of records. Some blank
logical pages may be created to fill the last physical page.
— 1 – add blank logical pages to last stack to match ‘stacksize’
• Left digit, which controls processing of records when printing
duplex:
— 0 – each record is processed once and produces a single
logical page.
— 1 – each record is processed twice, first for the front side,
then for the back side. The DBM is called twice for each
record. If a different output is intended for the front and the
back the DBM must include conditional logic (using the
boolean variable BACK) to do so.
Examples: This example shows printing 4-up logical pages in simplex in stacks of
100 sheets, with a switch to red media for a page containing “Slip Sheet”
at the end of each stack. The stack is shortened if the number of input
records is not a multiple of 400.
[ [ 0 1275] [ 0 1650] 0 1 1
[1275 1275] [ 0 1650] 0 1 1
[ 0 1275] [ 1650 1650] 0 1 1
[1275 1275] [ 1650 1650] 0 1 1
] SETMULTIUP
Markers
Markers are reserved strings or sequences that, when embedded at
appropriate places in a VIPP job, will affect the behavior of certain
commands.
%
Any occurrence of the character “%” outside of parentheses introduces a
comment. The comment consists of all characters between the “%” and
the next End of Line (EOL) delimiter such as LF, CR, or CRLF.
Syntax: % comment
%%
The %% command indicates a Document Structuring Convention (DSC)
statement. DocuPrint NPS, or other agents in the print submission
process (for example, print servers), may take specific actions on a
subset of DSC statements. Therefore, when you want to conform to DSC
specifications, all VIPP files should begin with a standard DSC header as
illustrated in this example.
%!
%%Title: xxxxxxx.ps
%%DocumentMedia: dmFAC 596 841 0 white
%%+ dmBVR 596 841 0 white BVR
%%EndComments
%!
The %! command indicates the start of a PostScript or VIPP file. A line
beginning with %! must always be the first line of a VIPP job. It allows the
job server on the imaging device to identify a PostScript data stream and
invoke the PostScript interpreter.
Syntax: %! comment
NOTE: Failing to begin a file with %! may cause the job to print using
the wrong interpreter, for example, printing the job as ASCII text in
error.
Hints and tips: %! is only mandatory at the beginning of the submitted file. It is not
mandatory at the beginning of resource files.
%! also acts as a new line mode delimiter unless SOF_off is used, refer
to “VIPP data streams” for further information.
%%BoundingBox
%%BoundingBox defines the size and position relative to its origin, of the
image area of a segment. It must be used at the beginning of a segment
when it is called with CACHE/SCALL. Any mark outside the image area
will not appear on the page.
Where:
llx lly
are the coordinates in points, relative to the origin of the segment, of
the bottom left corner of the image area.
urx ury
are the coordinates in points, relative to the origin of the segment, of
the top right corner of the image area.
Example: This example shows a segment drawing two concentric circles with the
appropriate %%BoundingBox statement.
%%EOD_XGF
%%EOD_XGF is an end-of-data marker that will terminate the preceding
MAKEVMFILE, MAKEVMFORM or '() RUN' commands.
Syntax: %%EOD_XGF
%%EOF
The %%EOF command is a End-of-file Document Structuring Convention
(DSC) statement. In native mode, VIPP takes no specific action upon it. It
is nevertheless recommended when you want to conform to DSC
specifications.
In line mode, %%EOF causes VIPP to perform a page eject and a RESET,
to exit line mode and to resume native mode. VIPP acts in the same way
when the physical end of file is reached with no %%EOF, however, it is
highly recommended that you include an %%EOF statement at the end of
line mode data for a proper line mode exit. Refer to “VIPP data streams”
for further information.
Syntax: %%EOF
End-of-file DSC statement.
%%XGF
%%XGF identifies a Native Mode Prefix (NMP) record in line mode by
default. NMP commands apply only to line printer or prefixed records.
NMP records allow native mode commands to be embedded in a line
mode data stream in order to dynamically change the layout on a
page-by-page basis. An NMP (%%XGF) must be placed at the first
position of the record, or at the second position when PCC processing is
enabled. Refer to “VIPP data streams” for further information.
%%XGF is the default value defined in /usr/xgf/src/xgf.def. Change the
default value by editing this file or by using the SETNMP command in the
JDT.
%!
(p1.jdt) STARTLM
............
............
last line of a page
<Form Feed>%%XGF (form127.frm) SETFORM
first line of next page
............
............
%%EOF
NOTE: Using NMP records may mean that data production and data
presentation are no longer independent.
Hints and tips: NMP records can also be used to embed comments or information in the
line mode data. For example, the comment contained in this example
does not print.
%%XGF % comment
Transform functions
A VIPP transform function is a sequence made up of one or more
operands and a VIPP transform function keyword. It operates some
transformation on one of the operands and substitutes the entire
sequence with the transformed operand. The sequence may replace any
operand of any command or transform function assuming the value of the
result is appropriate to replace that operand. That this allows transform
functions to be combined.
2OF5
2OF5 reformats a string for printing a 2 of 5 interleaved barcode
sequence. 2OF5 must be inserted between the basic string and the
printing operator. You must previously select the barcode font using
SETFONT or INDEXFONT.
Where:
(string)
is a numeric string to be formatted.
SHx
is one of the valid show commands.
NOTE: 2OF5 barcode does not accept space or alpha characters and
will produce an error if one is processed in the input string.
!0K9R2”
This command can also be used in the Align procedure of an RPE entry.
For more information, refer to RPE command information and the
FROMLINE and RPEKEY descriptions.
The associated barcode font must conform to a specific character
mapping. Barcode fonts are available from the Xerox Font Center.
BSTRIP
BSTRIP strips extra left and right blanks from a string.
CASELOW
CASELOW changes all letters in a string to lowercase.
CASETI
CASETI changes all letters in a string to the correct case for a title. All
letters are changed to lowercase with the exception of the first letter in the
string and any letter preceded by a space, a hyphen, or a slash.
CASEUP
CASEUP changes all letters in a string to uppercase.
CODE39
CODE39 reformats a string for printing a code 39 barcode sequence.
CODE39 must be inserted between the basic string and the printing
operator. The barcode font must have been selected previously using
SETFONT or INDEXFONT.
Where:
(string)
is an alphanumeric string to be formatted
SHx
is a valid Show command.
Example: This example illustrates the syntax and the resulting printed output. You
must have the barcode font to print the actual barcode.
*800273400024*
CODE128 / EAN128
CODE128 and EAN128 reformat strings for printing a CODE 128 or EAN
128 barcode sequences. CODE128 or EAN128 must be inserted between
the basic string and the printing operator. The barcode font must have
been selected previously using SETFONT or INDEXFONT.
Where:
string
is the alphanumeric string to be formatted. The length of the input
string is variable. The input string may consist of the full ASCII range
(0-127). Codesets A, B, and C are supported. Start and stop
characters should not be included in the input.
SHx
is a valid Show command.
integer
is an optional operand. The values can be:
• 0 — This is the default. CODE128 will use codeset C when
possible (compress a sequence of digits). It will compress
numeric characters if it detects four or more adjacent digits
• 1 — CODE128 will NOT compress any sequence of digits
(always uses codeset B).
(fix_length_string)
is an EAN fixed length field (field ID must be part of the string).
(var_length_string)<F1>
is an EAN variable length field (field ID must be part of the string).
The field ID must be included in the fields.
/MB034 12 SETFONT
FIELD1 CODE128 SHL
FIELD1 EAN128 SHL
[FIX_FIELD1 VAR_FIELD1<F1> FIX_FIELD2] EAN128 SHL
/F128/MB034 12 INDEXFONT
...
3 FROMLINE
[{BSTRIP 1 CODE128 SH} 0 300 0 1000 150 60 15 /F128 BLACK]
4 FROMLINE
[...]
CS
Use CS to concatenate two strings into one.
EAN13/EAN8
EAN13 and EAN8 reformat a string for printing an EAN barcode
sequence. EAN13 and EAN8 must be inserted between the basic string
and the printing operator. The relevant font must have been selected
previously using SETFONT or INDEXFONT.
Where:
(SXXXXXXYYYYY)
is a 12-digit string consisting of these:
• S — the number system
• XXXXXX — the left part
• YYYYY — the right part
(XXXXYYYY)
is a seven-digit string consisting of these:
• XXXX — the left part
• YYY — the right part
SHx
is a valid Show command.
Examples: This example illustrates EAN13 syntax and the resulting printed output.
8<ALCSOE=aaacec>
This example illustrates EAN8 syntax and the resulting printed output.
<HGBG=ecei>
Also use these commands in the Align procedure of an RPE entry. Refer
to RPE command information and the FROMLINE and RPEKEY
descriptions for further information.
The check digit is computed by the functions. The associated barcode font
must conform to a specific character mapping. Barcode fonts are
available from the Xerox Font Center.
F2S
Use F2S to store a field delimited record into a table using the ADD
command.
This example, with ADD, assumes RECORD is a string with field delimited
data:
FORMAT
Use FORMAT to format a numeric string for printing by one of the SHx
commands.
Where:
numeric data
is a string containing numeric data (non numeric characters will be
discarded).
format
is a string containing meta characters describing the desired output.
For further information regarding the available meta characters, refer
to SETPARAMS.
Example: This example contains a negative sign (-) after the last number (#)
character. This example will print “$1,234.56-.”
GETINTV
GETINTV extracts a substring or a field from a string.
Where:
string
is the source string for the extraction.
recpos
is the position of the first character to be extracted (starting with
zero).
length
is the length of the substring. When length is negative, the extraction
is performed starting from the last character (from right to left instead
of left to right).
field_nr
is the field number (starting with zero).
field_sep
is the field separator string. field_sep can specify a separator string
different than the one specified by the current SETDBSEP command.
Examples: To print only the first name from the string “Mr. John Martin,” use this.
This example produces the string, “ABC” from the string, “ABCDEF.”
(ABCDEF) 0 3 GETINTV
This example produces the string, “DEF” from the string, “ABCDEF.”
(ABCDEF) 0 -3 GETINTV
This example selects the month from the string, “10/02/00,” and prints
“10.” A previous GETINTV or GETFIELD command could have been used
to capture this field from a larger string or field.
In this example the date is separated into the month, day, and year and
assigns variables for later use.
GETINTV can also be used in a DBM to process lines with fixed length
fields (typically line mode data). This example shows the construction of
a database file using line mode data.
%!
(fixed.dbm) STARTDBM
MY_RECORD
John Mary Snow
Tim Victor Sand
%%EOF
In the DBM, fields are separated and assigned to variables for later use
using this code.
HMS
Use HMS to convert time measured in seconds to the HH:MM:SS format.
integer HMS
(4456)HMS SHL
NOHYPHEN
NOHYPHEN is a transform function that prevents hyphenation on spaces
for text printed with the SHP or SHp commands. It is intended to be
applied on variables embedded within and SHP text.
POSTNET
POSTNET reformats a string for printing a PostNet barcode sequence.
This command must be inserted between the input string and a VIPP
printing command. You must previously select a PostNet barcode font
using SETFONT or INDEXFONT.
Where:
string
must be a numeric string of length 5, 9 or 11. Lengths of 10 and 12
are also supported with a dash in the 6th position.
SHx
is one of the VIPP commands for text printing.
NOTE: In the United States, the input string must comply with U.S.
Postal Service specs for Zip, Zip+4 or Zip+4+DPBC (see
www.usps.gov for details).
QSTRIP
QSTRIP strips the first and last characters from a string. It can be used
as an alternative to QSTRIP_on in database mode when only some fields
need to be stripped. This command has no action if the string length is
less than two characters.
Example: This example prints John Martin without the quotation marks.
SUBSTFONT
SUBSTFONT is used for font substitutions. This command is mainly used
in the font lists stored in one of the files defined by SETEPATH. It is only
effective on PostScript level 2 devices.
UPCA
UPCA reformats a string for use when printing a UPC (version A) barcode
sequence. You must insert UPCA between the basic string and the
printing operator. A UPCA barcode font must be previously selected using
SETFONT or INDEXFONT.
Where:
(SXXXXXYYYYY)
is an 11-digit string made up of these:
• S represents the number system
• XXXXX specifies the vendor number
• YYYYY specifies the product number
SHx
represents a valid print command.
The check digit is computed by the function. The associated barcode font
must conform to a specific character mapping. Barcode fonts are
available from the Xerox Font Center.
UPCA can also be used in RPE entries using the Align procedure option.
Refer to the RPE command information description for further information.
Examples: These are examples of the command structure and resulting output.
0<kIJHIC=aeeggw>2
VSUB
VSUB substitutes variable and/or text file references with their contents
in a string.
Use this command together with the commands that use a string as an
operand, for example, SHx, SETFORM, SETMEDIA, etc., in a DBM, a
VIPP form, or a native mode job.
A variable reference consists of a variable name encapsulated between
“$$” and “.”, or between ”[=” and “=].” A variable name is either a built-in
variable, or a variable set by SETVAR or by processing a database or
XML file. Refer to “VIPP data streams” for further information. A variable
name defined in a database file can include spaces.
A text file reference is made up of a text file name encapsulated between
”[=” and “=].”
When a reference is not a variable, it is looked up as a file name in the
directories defined by the SETMPATH or SETPPATH (project mode)
commands. The text files referenced in this manner must be plain text
consisting of eventually valid VIPP text attribute switches (as defined by
the INDEXxxx commands) and/or variable place holders (“$$” and “.”, or
”[=” and “=]”). The content of the text file is inserted in the delivered string
without changes, except for the substitution of variable references. A
typical use of VSUB with text file references is to import text blocks from
a collection of external text files and print them down the page using
SETLKF and SHP.
The total length of the string delivered by VSUB can not exceed 65535
characters.
Syntax: (printable data with variable and/or text file references) VSUB
Examples: When FNAME and LNAME contain “John” and “Smith,” these examples
deliver “Dear John Smith,”:
In this example, TITLE and NAME have been assigned to “Mr.”, and
“Martin” by the current record of a database file, and this sequence prints
as: ”As you know, Mr. Martin, you have won, . . . ”
(As you know, $$TITLE. $$NAME., you have won, ...) VSUB SHL
Use VSUB in an RPE entry align procedure to merge the RPE field in a
string by leaving out the variable name between “$$” and “.”
This example uses VSUB in an RPE align procedure to merge a field into
a string and print it.
Amount: --1,234.50--
When the file name is contained in a variable (fields CND1 and CND2 in
this example), variable and text file substitution can be combined as
follows:
Hints and tips: This command may also be used to select specific forms or media on a
record basis.
VSUB2
VSUB2 executes VSUB. Then it considers the resulting string as a
variable name and delivers its value. If the variable does not exist an
“undefined” error occurs.
Variable names are encapsulated between “$$” and “.”, or between”[=”
and “=]”.
Examples: In this example, when the contents of FIELD 7 is 5, the resulting variable
name is VARcode5 and the variable content “May” prints.
Use VSUB2 in an RPE entry align procedure to merge the RPE field in a
string by leaving out the variable name between “$$” and “.”
This example uses VSUB2 in an RPE align procedure to merge a field into
a string, retrieve the variable value and print it.
VSUB3
VSUB3 executes VSUB. Then it considers the resulting string as a
variable name and, if the variable exists, it delivers its value. If not it
delivers the input string.
Variable names are encapsulated between “$$” and “.”, or between”[=”
and “=]”.
Variables
A VIPP variable is a keyword (either built-in or defined using SETVAR)
that represents a value subject to change throughout the job. It may
replace any operand of any command or transform function assuming the
value of the variable is appropriate to replace that operand. Some built-in
variables, such as RPEPOS, may need operands for themselves.
Variables may be of these PostScript types (as defined by the PostScript
language):
• String
• Integer
• Real number
• Boolean
• Array
• Procedure
• Name
Built-in variables may also be of these VIPP types:
• Form
• GEPkey
• Colorkey
AUTOGRID
The built-in form, AUTOGRID, enables printing of a line mode test print
file overlaying a line and column grid.
Use this feature to help determine the record position in the print file when
coding RPE definitions. AUTOGRID must be used in a JDT with proper
grid, margin, and font settings. Refer to the /usr/xgf/jdtlib/autogrid.jdt file
for an example.
80 70 SETGRID
130 130 130 130 SETMARGIN % to allow line/column number printing
(AUTOGRID) SETFORM
/NCR 0 SETFONT
Hints and tips: Use NMP_off to disable Native Mode Prefix (NMP) command side effects,
if any. The grid is printed using the current highlight color on DocuPrint
NPS Highlight Color systems.
BACK
BACK is a built-in boolean variable that is true when the current page is
on the back side of the current sheet and false when it is not.
Syntax: BACK
BLGRID
The built-in form, BLGRID, enables the printing of an VIPP job sample on
top of a unit grid with a bottom left origin. This grid may be useful in native
mode form design.
This feature helps locate print positions on the page when coding an VIPP
job such as a form, RPE, or native mode. The unit used is the current one
set by SETUNIT.
0 0 0 0 SETMARGIN
(BLGRID) SETFORM
Hints and tips: Increment SETMAXFORM to print the grid on top of other forms. On
DocuPrint NPS Highlight Color systems, the grid is printed using the
current highlight color.
CLIP
CLIP is a reserved, built-in, GEPkey used for clipping. Use CLIP with a
command that uses a GEPkey such as DRAWB, DRAWBR, DRAWPOL,
or SHx. The area defined by this command becomes the new clipping
area.
The clipping area is the area on the page where printing is enabled. Any
mark outside this area is not imaged. The default is the entire page.
Use ENDCLIP to disable clipping and restore full page printing.
PAGEBRK also disables clipping.
Syntax: CLIP
Everything outside of the triangle is not printed after the command in this
example.
Hints and tips: This built-in GEPkey may be used to clip patterns. Items already marked
on the page cannot be clipped.
COLW
COLW is a built-in dynamic variable that provides the current column
width as defined by SETCOLWIDTH. COLW can be used with BATkey
definitions.
Syntax: COLW
Example: This example draws a horizontal line with the length equal to the current
column width.
CPCOUNT
CPCOUNT is a built-in variable that provides the current copy number.
Use this variable to perform specific actions on a particular copy pass.
Syntax: CPCOUNT
Example: In this example, back form is cancelled on the third copy (otherwise, it will
produce blank back pages).
3 SETCYCLECOPY
(bform.frm) [1 2] SETBFORM
{IF CPCOUNT 3 eq {0 SETMAXFORM} ENDIF }BEGINPAGE
CURLINE
CURLINE is a built-in variable that provides the line number of the current
line being processed by an RPE entry. This variable is used in SETRCD
tests only. Refer to RPE command information and to other related RPE
commands for more information.
Syntax: CURLINE
D_DD
D_DD is used in conjunction with the GETDATE command to set the
appropriate day of the month (1-31) for your application.
Syntax: D_DD
D_DOY
D_DOY is used in conjunction with the GETDATE command to set the
appropriate numerical day of the year (1-366) for your application.
Syntax: D_DOY
D_DWL
D_DWL is used in conjunction with the GETDATE command to set the
unabreviated week date (Monday, Tuesday, etc.) for your application.
Syntax: D_DWL
D_DWS
D_DWS is used in conjunction with the GETDATE command to set the
appropriately abbreviated week date (Mon, Tue, etc.) for your
application.
Syntax: D_DWS
D_MO
D_MO is used in conjunction with the GETDATE command to set the
numerical month name (1-12) for your application.
Syntax: D_MO
D_MOL
D_MOL is used in conjunction with the GETDATE command to set the
appropriate unabreviated month name (January, February, etc.) for your
application.
Syntax: D_MOL
D_MOS
D_MOS is used in conjunction with the GETDATE command to set the
appropriately abbreviated month name (Jan, Feb, etc.) for your
application.
Syntax: D_MOS
D_YY
D_YY is used in conjunction with the GETDATE command to set the
appropriate 2-digit year for your application.
Syntax: D_YY
D_YYYY
D_YYYY is used in conjunction with the GETDATE command to set the
appropriate 4-digit year for your application.
Syntax: D_YYYY
DJDECMD
DJDECMD is a built-in variable that represents a DJDE keyword that has
been extracted from a DJDE record by the PROCESSDJDE command. It
is available only inside the djde_proc operand of a PROCESSDJDE
command. It is always associated with its corresponding DJDEPAR
variable.
Syntax: DJDECMD
DJDEPAR
DJDEPAR is a built-in variable that represents a DJDE parameter that has
been extracted from a DJDE record by the PROCESSDJDE command. It
is available only inside the djde_proc operand of a PROCESSDJDE
command. It is always associated with it's corresponding DJDECMD
variable.
Syntax: DJDEPAR
FRCOUNT
FRCOUNT is a built-in variable that provides the current frame number.
Use this variable to perform specific actions depending on a particular
frame number.
Syntax: FRCOUNT
IF FRCOUNT 3 eq
( Do this )
ELSE
( Do that }
ENDIF
FRLEFT
FRLEFT is a built-in variable that provides the amount of vertical space
available from the current print position to the bottom of the current frame
on the stack. The value is expressed in current units.
Syntax: FRLEFT
IF FRLEFT 100 lt
{ PAGEBRK }
ENDIF
HCOLOR
The built-in colorkey, HCOLOR, selects the current highlight color on
DocuPrint NPS Highlight Color systems.
HCOLOR defaults to black on other devices. You must use this command
with SETTXC, INDEXCOLOR, SETGEP, and RPE items.
Syntax: HCOLOR
HDISP
HDISP provides the displacement between the current secondary
horizontal print position and those saved by SAVEPP. Use HDISP with
MOVETO, MOVEH, DRAWBx, and DRAWPOL.
Syntax: HDISP
HPOS
HPOS provides the current horizontal main print position.
Syntax: HPOS
HPOS2
HPOS2 provides the current horizontal secondary print position.
Syntax: HPOS2
LNCOUNT
LNCOUNT is a built-in variable that provides the number of lines on the
current page. LNCOUNT must be used only inside BEGINPAGE or
ENDPAGE procedures.
Syntax: LNCOUNT
{ IF LNCOUNT 50 gt
{ (jdt1.jdt) SETJDT }
ELSE
{ (jdt2.jdt) SETJDT }
ENDIF
...
BEGINPAGE
LPCOUNT
LPCOUNT is a built-in variable (integer) that provides the current logical
page number. This is the number printed by the SETPAGENUMBER
command. It may be used to capture the page number on a specific page
and refer to it later.
LPCOUNT starts from 0 by default due to the default SETPAGENUMBER
in xgf.def.
To print the LPCOUNT a VSUB construction is required.
Syntax: LPCOUNT
(Page #) 1 1 SETPAGENUMBER
IF ... { /VARpage LPCOUNT SETVAR } ENDIF
IF ... { (as mentioned on page $$VARpage., ..) VSUB 0 SHP } ENDIF
LPINDEX
LPINDEX is a built-in variable (integer) that provides the index of the
current logical page on the current physical page. It ranges from 1 to the
number of entries in the multi-up definition.
To print an LPINDEX a VSUB construction is needed.
Syntax: LPINDEX
LSP
LSP is a built-in dynamic variable that provides the current line spacing
(as defined by SETGRID or SETLSP) to an RPE entry in a FROMLINE
definition. This variable enables interaction between RPE and SETGRID.
It is often used in conjunction with YINIT.
Syntax: LSP
/LSP
The second syntax must be used when SETGRID can vary during a job.
Example: This is an example of a layout setting, driven by SETGRID, which will print
the first two lines using a bold font on a zebra background.
80 60 SETGRID
LMEDIUM 1 1 SETZEBRA
100 200 200 200 SETMARGIN
/F1 /NCR 0 INDEXFONT
/F2 /NCRB 0 INDEXFONT
2 BEGINRPE
1 FROMLINE [ 0 0 0 null YINIT LSP 0 80 /F2 BLACK ]
3 FROMLINE [ 0 0 0 null YINIT LSP 0 80 /F1 BLACK ]
ENDRPE
PAGEH
PAGEH provides the height of the current logical page.
Syntax: PAGEH
PAGEW
PAGEW provides the width of the current logical page.
Syntax: PAGEW
PDFDEVICE
PDFDEVICE is a built-in boolean variable that is “true” when the current
imaging device is a PDF producer, and “false” when it is not. It is intended
to allow VIPP jobs to conditionally create either paper or PDF documents
(or both) with certain parts of the job.
Syntax: PDFDEVICE
Example: This example shows how to detect specific documents within a VIPP job
and to produce them only as a paper or a PDF document.
{ /VAR_OUTPUT 1 20 3 GETFIELD
CASE VAR_OUTPUT {}
(PRT) { IF PDFDEVICE { SKIPPAGE } ENDIF } % print only
(WEB) { IF PDFDEVICE not { SKIPPAGE } ENDIF } % PDF only
ENDCASE
} BEGINPAGE
PPCOUNT
PPCOUNT is a built-in variable (integer) that provides the current
absolute physical page number (also called “face print” or “image”) from
the beginning of the job. It may be printed on each page (using a small
font) and used later as a reference for re-print using PAGERANGE.
To print the PPCOUNT a VSUB construction is needed.
Syntax: PPCOUNT
PRODUCT
PRODUCT is a built-in string variable that identifies the PostScript
interpreter on which VIPP is running.
Syntax: PRODUCT
RPCOUNT
RPCOUNT is an built-in variable only available inside a REPEAT
procedure, which provides the number (starting at 1) of the current
iteration of the REPEAT loop.
Use this variable with IF/ELSE/ENDIF or CASE to perform specific actions
on specific iterations in the REPEAT procedure
Syntax: RPCOUNT
{ IF RPCOUNT 1 eq
{ do this } % action on first iteration
ENDIF
...
REPEAT
RPEPOS
RPEPOS is a built-in variable that provides the initial or final print position,
or the displacement of a specific RPE group defined using FROMLINE or
RPEKEY. RPEPOS must be used with MOVETO, DRAWB and DRAWBR,
DRAWBM, or DRAWPOL.
RPEPOS can also be used with ENDPAGE to draw a box, draw a line, or
to place an image relative to the last line of the RPE group.
Refer to RPE command information and to other related RPE commands
for more information.
Where:
rpe_def
specifies the line number or RPE key used in the related FROMLINE
or RPEKEY definition.
offset
specifies the adjustment value that must be added to, or subtracted
from, the retrieved value.
HV_option
can be one of these:
• /HI — the initial horizontal position
• /VI — the initial vertical position
• /H — the final horizontal position
• /V — the final vertical position
• /HD — the horizontal displacement
• /VD — the vertical displacement
Examples: This example draws a horizontal line just below the last line.
{ORITL
1 0 /H RPEPOS % final hor. pos. of “1 FROMLINE”
1 15 /V RPEPOS % final ver. pos. of “1 FROMLINE”
2000 0 S1 DRAWB
}ENDPAGE
{ORITL
/ADR0 -50 /HI RPEPOS % init. hor. pos. of “/ADR0 RPEKEY”
/ADR0 -50 /VI RPEPOS % init. ver. pos. of “/ADR0 RPEKEY”
1000 % fixed width
/ADR0 100 /VD RPEPOS % ver. displ. of “/ADR0 RPEKEY”
S1 DRAWB
}ENDPAGE
RPLEFT
RPLEFT is a VIPP built-in variable only available inside a REPEAT
procedure, which provides the number of the remaining iterations
(including the current one) of the REPEAT loop.
Use this variable with IF/ELSE/ENDIF or CASE to perform specific actions
on specific iterations in the REPEAT procedure.
Syntax: RPLEFT
{ IF RPLEFT 1 eq
{ do this } % action on last iteration
ENDIF
...
} REPEAT
SHEETH
SHEETH provides the height of the current physical page.
Syntax: SHEETH
SHEETW
SHEETW provides the width of the current physical page.
Syntax: SHEETW
SHPOS
The SHPOS built-in dynamic variable provides the secondary horizontal
print position saved by SAVEPP. Use SHPOS with MOVETO, MOVEH,
DRAWB and DRAWBR, DRAWBM and DRAWBRM, and DRAWPOL.
Syntax: SHPOS
SVPOS
SVPOS provides the vertical print position saved by SAVEPP. Use
SVPOS with MOVETO, DRAWB and DRAWBR, DRAWBM and
DRAWBRM, and DRAWPOL.
Syntax: SVPOS
T_AMPM
T_AMPM is used in conjunction with the GETDATE command to set the
appropriate time for your application. This variable is used to set 12-hour
clocks to an AM or PM designation.
Syntax: T_AMPM
T_HH
T_HH is used in conjunction with the GETDATE command to set the
appropriate time (hours) for your application. This variable is used to set
24-hour clocks.
Syntax: T_HH
T_HH2
T_HH2 is used in conjunction with the GETDATE command to set the
appropriate time (hours) for your application. This variable is used to set
12-hour clocks.
Syntax: T_HH2
T_MM
T_MM is used in conjunction with the GETDATE command to set the
appropriate time (minutes) (00-59) for your application.
Syntax: T_MM
T_SS
T_SS is used in conjunction with the GETDATE command to set the
appropriate time in seconds (00-59) for your application.
Syntax: T_SS
T_TZN
T_TZN is used in conjunction with the GETDATE command to set the
appropriate time zone (PST, PDT) for your application.
Syntax: T_TZN
TLGRID
TLGRID enables the printing of a VIPP job sample on top of a unit grid
with a top left origin. This grid may be useful for placing data in RPE
definitions.
This feature helps locate print positions on the page when coding a VIPP
job such as a form, RPE, or native mode. The unit used is the current unit
set by SETUNIT.
The origin (0,0) of the grid is related to the margins. Setting the margins
to zero is advised in most cases.
0 0 0 0 SETMARGIN
(TLGRID) SETFORM
Hints and tips: You must increment SETMAXFORM to print the grid on top of other forms.
On DocuPrint NPS Highlight Color systems, the grid is printed using the
current highlight color.
VDISP
VDISP provides the displacement between the current vertical print
position and those saved by SAVEPP. Use VDISP with MOVETO,
DRAWB and DRAWBR, DRAWBM and DRAWBRM, and DRAWPOL.
VDISP is often used with SAVEPP, SHPOS and SVPOS to draw variable
boxes.
Syntax: VDISP
VPOS
VPOS provides the current vertical print position.
Syntax: VPOS
XGFVER
XGFVER provides a string showing the actual VIPP release number. This
built-in string must be used with an SHx command.
Syntax: XGFVER
XGFVER SHL
XMLATL
XMLATL must be placed inside a BTA/ETA or BTS/ETS command pair.
XMLATL provides a list of all the attributes of an XML tag. It takes a
process as an argument and calls it for each attribute after setting
XMLATN and XMLATV.
XMLATN
XMLATN provides the XML attribute name and is usually coupled with
XMLATV.
XMLATV
XMLATV provides the XML attribute value and is usually coupled with
XMLATN.
XMLDTH
XMLDTH must be placed inside a BTA/ETA or BTS/ETS command pair.
XMLDTH provides the depth of the current node.
Syntax: XMLDTH
XMLPAR
XMLPAR must be placed inside a BTA/ETA or BTS/ETS command pair.
XMLPAR provides the name of the parent node of the current node.
Syntax: XMLPAR
XMLPATH
XMLPATH must be placed inside a BTA/ETA or BTS/ETS command pair.
XMLPATH provides the VXVpath of the current node.
Syntax: XMLPATH
XMLTAG
XMLTAG must be placed inside a BTA/ETA or BTS/ETS command pair.
XMLTAG provides the name of the current node.
Syntax: XMLTAG
XMLVAL
XMLVAL must be placed inside a BTA/ETA or BTS/ETS command pair.
XMLVAL provides the contents of the current node.
Syntax: XMLVAL
YINIT
YINIT is a built-in dynamic variable that provides the current vertical
position (as defined by SETGRID) to an RPE entry in a FROMLINE
definition. This variable enables interaction between RPE and SETGRID.
It is often used in conjunction with LSP.
Syntax: YINIT
/YINIT
The second syntax must be used when SETGRID can vary during the job.
Example: This is an example of a layout setting, driven by SETGRID, where the first
two lines are printed using a bold font on a zebra background.
80 60 SETGRID
LMEDIUM 1 1 SETZEBRA
100 200 200 200 SETMARGIN
/F1 /NCR 0 INDEXFONT
/F2 /NCRB 0 INDEXFONT
2 BEGINRPE
1 FROMLINE [ 0 0 0 null YINIT LSP 0 80 /F2 BLACK ]
3 FROMLINE [ 0 0 0 null YINIT LSP 0 80 /F1 BLACK ]
ENDRPE
Parameters
A VIPP Parameter is a keyword that represents an internal value that
affects the behavior of one or several commands or transform functions.
It can only be set using the SETPARAMS command.
The option parameter of the DRAWBAR, DRAWCRV, DRAWPIE, and
SETPARAMS commands is available in three forms:
• /code
• [/param1 value1 /param2 value2..../paramN valueN]
• [/code /param1 value1 /param2 value2..../paramN valueN]
Where:
/code
is a numeric value computed by adding all codes related to the
parameters required. Parameter values enabled by the code are
indicated in the following table (print xgf/demo/samddg.ps for a
complete sample of codes).
/paramX valueX
are key/value pairs from the following table used to change the
default value of a given parameter.
All parameters set by either DRAWBAR, DRAWCRV or DRAWPIE will
temporarily override the default value set by SETPARAMS and only apply
to that command. The default values will be restored for subsequent
commands.
Examples: These are three examples of option parameters, which result in equivalent
outputs.
/67
[/3D true /SliceSepWidth 0 /PrintValue true ]
[/66 /3D true ]
Parameter categories
Parameters are used with several different commands, and can be
generally grouped into these categories:
• Chart parameters, which apply to DRAWPIE, DRAWBAR, and
DRAWCRV
• Format parameters, which apply to the FORMAT command and
Format parameter
• Duplex parameters, which apply to DUPLEX_on and DUPLEX_off
• Booklet parameters, which apply to STARTBOOKLET and
ENDBOOKLET
• Job reprint parameters, which apply to PAGERANGE and
BOOKLETRANGE
• Image rendition parameters, which apply to ICALL and CACHE
SCALL
• Media selection parameters, which apply to SETMEDIA
• LCDS migration parameters, which apply to SETFORM and
SETBFORM
• PIF parameters, which apply to SETPIF, INDEXPIF, and
BOOKMARK
• Caching parameters, which apply to CACHE, PRECACHE, and
FSHOW
• Optical Mark Reading (OMR) parameters, which apply to FILLOMR.
• Date and time parameters, which apply to GETDATE.
Parameter descriptions
VIPP parameters are described in this table.
/DaylightSaving Date none array Start/end times for Daylight Saving Time
6-integer [ year +-hrs startday starttime
arrays
endday endtime ]
/DefinedDate Date none array of 7 When present, this date overrides the
integers system date
[ year month day hrs mns sec
daylightsaving(0/1)]
/Format Chart none string When /PrintValue is set to true, use this
parameter to specify the printing format
for the label values and scale. The string
associated with the /Format parameter
follows the rules described in the
FORMAT command
Text attributes switches (font, color, etc.)
are allowed inside the format string.
/FormatPC Chart none string When /PrintValue is set to true, use this
parameter to specify the printing format
for percentages. The string associated
with the /Format parameter follows the
rules described in the FORMAT
command.
/FPSign Format + ASCII code Positive sign in format
/FPunctuation Format , (US) ASCII code Thousands delimiter in format
. (A4)
/HalfPie Chart 0 integer +512 1 0=Full pie, 1=Top half, -1=Bottom half
+1024 -1
/Interpolate Image false true / false Request image interpolation (enhanced
rendition quality) on color images.
This parameter may impact job
performance. Use in conjunction with
CACHE to minimize job impact.
/KeepRatio Chart true true / false +256 false true: 3D Thickness is based on bar width
false: 3D Thickness is based on Width/5
/LabelColw Chart 0.2 Real Column width in percentage of the chart
width for label wrapping of horizontal
charts (ChartDir=1/3).
/LabelDashColor Chart BLACK Colorkey Color of label dashes (WHITE=no dash)
/LabelDashWidth Chart 0.5 points Line width of label dashes
/LabelOffset Chart 0.1 % of Radius Offset of labels from the pie (if
SpotSize=0)
/LCDSmode LCDS false true / false When set to true SETFORM and
migration SETBFORM apply all forms to the
physical pages instead of the logical
pages. Use this setting to facilitate
migration from LCDS to VIPP.
The PROCESSDJDE command
automatically sets this value to true.
/MaxVal Chart integer Maximum value of the chart scale
/OMRMap OMR (ABC ... map string Indicates which characters make up the
XYZ) OMR grid and in which order.
The default is
(ABCDEFGHIJKLMNOPQRSTUVWXYZ)
/OMRSlugChar OMR (D) string The shape of the OMR grid bubbles.
(A) — square
(B) — vertical rectangle
(C) — horizontal rectangle
(D) — circle (default)
(E) — vertical oval
(F) — vertical condensed oval
(G) — horizontal oval
(H) — horizontal condensed oval
/OMRSlugFont OMR /XOMR /Fontname The OMR font used to fill in the OMR grid
bubbles.
/OMRSlugSize OMR 12 points The size in points of the OMR font used
to fill in the OMR grid bubbles.
/OMRVdisp OMR 6 LPI The number of lines/rows per inch (LPI)
in the OMR grid.
/OMRVskip OMR 0 integer Indicates the number of rows skipped.
/OMRWriteResp OMR false true/false Indicates how response boxes are filled.
true — the response boxes must be filled
in with the response string
false — no response box (default)
/OriLine Chart false true/false DRAWCRV only. When this parameter is
set to true a line is added from the origin
of the graph (0,0)to the first point.
/PageRange Job reprint 0 integer 0 — abort the job with an error message
(warning)
1 — flush the data file and end without
error
2 — process the data file to the end but
do not image pages after the last page in
the range
/Pagerange is used to define the
PAGERANGE behavior after the last
page in the range has been printed. This
command may be placed in the xgf.def
file, in the JDT, at the beginning of the
data file along with the PAGERANGE
command
/PagesPerBooklet Booklet 1 integer Number of pages a booklet should have,
the value range begins at 1, 0 is invalid.
/PrintLabel Chart 1 integer Print labels on bar and curve charts
0 - do not print label
1 - Print labels below/a side X axis
2 - Print labels at end of bars
(opt. 2 automatically disables
PrintValue)
Text attributes switches (font, color, …)
are allowed inside the text.
/PrintScale Chart 1 integer +128 0 Print scale on bar and curve charts
0/false — do not print scale
1/true — print scale at left/bottom
2 — print scale at right/top
(see /Format for formatting options)
/PrintValue Chart false true / false +64 true Print value (bar and curve) or
percentage (pie)
(see /Format for formatting options)
/ResolvePath PIF 0 integer none none Sets the path resolution mode for “fileref”
in PIF links.
0 — (default) Do not resolve the file
reference. Leave it as provided.
1 — Try to resolve the file reference in
the current VIPP context (SETIPATH or
SETMPATH). If it exists replace it with
the full path. If not, leave it as provided.
/RowHeight integer 3 or 4 integer The height of one row in the barcode.The
default value is 4 if the error level is low,
given the amount of data encoded. The
default is 3 if the error level is
appropriate for the amount of data
encoded.
Function
Transform Control
Design and Debug
Resource Control
VIPP
PCC Processing
RPE Processing
Font and color
Miscellaneous
Page Control
Page Layout
PDF Control
Cyclecopy
Markers, Type
1
Transform Functions,
and
Variables
% M
%% M
%! M
%%BoundingBox M
%%EOD_XGF M
%%EOF M
%%XGF M
++/-- C X
2OF5 TF X
ABSPOS C X
ADD C X
ADVPAGE C X
AUTOGRID V X
BACK V X
BACKSP_off C X
BACKSPF_on C X
BACKSPP_on C X
BCALL C X
BEGINIMP C X
BEGINPAGE C X
BEGINPCC C X
BEGINRPE C X
BEGINXPD C X
BIND_off / BIND_on C X
BINDDETAILS C X
BLGRID V X
Function
Transform Control
Design and Debug
Resource Control
VIPP
PCC Processing
RPE Processing
Font and color
Miscellaneous
Page Control
Page Layout
PDF Control
Cyclecopy
Markers, Type
1
Transform Functions,
and
Variables
BOOKLETRANGE C X
BOOKMARK C X
BSTRIP TF X
BSTRIP_off C X
BTA C X
BTS C X
CACHE C X
CASE C X
CASELOW TF X
CASETI TF X
CASEUP TF X
CHKPOINT C X
CLIP V X
CODE128 / EAN128 TF X
CODE39 TF X
COLLATE_dbm C X
COLLATE_off / C
X
COLLATE_on
COLW V X
COPYRANGE C X
CPCOUNT V X
CS TF X
CURLINE V X
D_DD V X
D_DOY V X
D_DWL V X
D_DWS V X
Function
Transform Control
Design and Debug
Resource Control
VIPP
PCC Processing
RPE Processing
Font and color
Miscellaneous
Page Control
Page Layout
PDF Control
Cyclecopy
Markers, Type
1
Transform Functions,
and
Variables
D_MO V X
D_MOL V X
D_MOS V X
D_YY V X
D_YYYY V X
DJDEBEGIN C X
DJDECMD V X
DJDEPAR V X
DRAWB and DRAWBR C X
DRAWBAR C X
DRAWBM and C
X
DRAWBRM
DRAWC C X
DRAWCRV C X
DRAWPIE C X
DRAWPOL C X
DUPLEX_off / C
X
DUPLEX_on
EAN13/EAN8 TF X
ENDBOOKLET C X
ENDCASE C X
ENDCLIP C X
ENDIFALL C X
ENDIMP C X
ENDJOB C X
ENDOFRUN C X
ENDOFSET C X
Function
Transform Control
Design and Debug
Resource Control
VIPP
PCC Processing
RPE Processing
Font and color
Miscellaneous
Page Control
Page Layout
PDF Control
Cyclecopy
Markers, Type
1
Transform Functions,
and
Variables
ENDPAGE C X
ENDPCC C X
ENDRPE C X
ENDXPD C X
ETA C X
ETS C X
EXIST C X
EXIT C X
Extending FROMLINE C
and RPEKEY X
commands
F2S TF X
FBIND C X
FCALL C X
FILLOMR C X
FOREACH C X
FORMAT TF X
FORMSHIFT C X
FRCOUNT V X
FRLEFT V X
FROMLINE C X
FSHOW C X
G4PMETRIC_off C X
GETDATE C X
GETFIELD C X
GETINTV TF X
GETITEM C X
Function
Transform Control
Design and Debug
Resource Control
VIPP
PCC Processing
RPE Processing
Font and color
Miscellaneous
Page Control
Page Layout
PDF Control
Cyclecopy
Markers, Type
1
Transform Functions,
and
Variables
GOTOFRAME C X
HCOLOR V X
HDISP V X
HMS TF X
HPOS V X
HPOS2 V X
ICALL C X
IF/ELSE/ENDIF C X
IGNOREBT_off / C
X
IGNOREBT_on
ILAND C X
INDEXBAT C X
INDEXCOLOR C X
INDEXFONT C X
INDEXKERN C X
INDEXPIF C X
INDEXRPE C X
INDEXSST C X
IPORT C X
IREVERSE_off / C
X
IREVERSE_on
JOG_on/JOG_off C X
LAND C X
LMSKIP C X
LNCOUNT V X
LPCOUNT V X
LPINDEX V X
Function
Transform Control
Design and Debug
Resource Control
VIPP
PCC Processing
RPE Processing
Font and color
Miscellaneous
Page Control
Page Layout
PDF Control
Cyclecopy
Markers, Type
1
Transform Functions,
and
Variables
LSP V X
MAKEVMFILE C X
MAKEVMFORM C X
MAXICODE C X
MOVEH C X
MOVEHR C X
MOVETO C X
MSPP_on C X
NEWBACK C X
NEWFRAME C X
NEWFRONT C X
NEWGROUP C X
NEWPOS C X
NEWSIDE C X
NL C X
NMP_off C X
NOHYPHEN TF X
OFFSET_off / C
X
OFFSET_on
ONEUP C X
ORIBL C X
ORITL C X
OVERPRINT_on C X
PAGEBRK C X
PAGEH V X
PAGERANGE C X
PAGEW V X
Function
Transform Control
Design and Debug
Resource Control
VIPP
PCC Processing
RPE Processing
Font and color
Miscellaneous
Page Control
Page Layout
PDF Control
Cyclecopy
Markers, Type
1
Transform Functions,
and
Variables
PDF417 C X
PDFDEST C X
PDFDEVICE V X
PDFINFO C X
PDFOPEN C X
PORT C X
POSTNET TF X
PPCOUNT V X
PRECACHE C X
PROCESSDJDE C X
PRODUCT V X
QSTRIP TF X
QSTRIP_on C X
REPEAT C X
RESET C X
RPCOUNT V X
RPEDEF C X
RPEKEY C X
RPEPOS V X
RPLEFT V X
RSAVE C X
RUN C X
RUNDD C X
RUNTIF C X
SAVEPP C X
SCALL C X
Function
Transform Control
Design and Debug
Resource Control
VIPP
PCC Processing
RPE Processing
Font and color
Miscellaneous
Page Control
Page Layout
PDF Control
Cyclecopy
Markers, Type
1
Transform Functions,
and
Variables
SETBAT C X
SETBFORM C X
SETBUFSIZE C X
SETCOL X
SETCOLWIDTH C X
SETCYCLECOPY C X
SETDBSEP C X
SETDLFILE C X
SETENCODING C X
SETEPATH C X
SETFONT C X
SETFORM C X
SETFPATH C X
SETFRAME C X
SETFTSW C X
SETGEP C X
SETGRID C X
SETGUNIT C X
SETINDENT C X
SETIPATH C X
SETJDT C X
SETJPATH C X
SETKERN C X
SETLFI C X
SETLKF C X
SETLMFILE C X
Function
Transform Control
Design and Debug
Resource Control
VIPP
PCC Processing
RPE Processing
Font and color
Miscellaneous
Page Control
Page Layout
PDF Control
Cyclecopy
Markers, Type
1
Transform Functions,
and
Variables
SETLSP C X
SETMARGIN C X
SETMAXBFORM C X
SETMAXCOPY C X
SETMAXFORM C X
SETMEDIA C X
SETMEDIAT C X
SETMPATH C X
SETMULTIUP C X
SETNMP C X
SETOBIN C X
SETOBINT C X
SETPAGEDEF C X
SETPAGENUMBER C X
SETPAGESIZE C X
SETPARAMS C X
SETPAT C X
SETPBRK C X
SETPCC C X
SETPCD C X
SETPIF C X
SETPPAT C X
SETPPATH C X
SETPROJECT C X
SETRCD C X
SETRES C X
Function
Transform Control
Design and Debug
Resource Control
VIPP
PCC Processing
RPE Processing
Font and color
Miscellaneous
Page Control
Page Layout
PDF Control
Cyclecopy
Markers, Type
1
Transform Functions,
and
Variables
SETRPE C X
SETRPEPREFIX C X
SETSKIP C X
SETTAB C X
SETTXB C X
SETTXC C X
SETTXS C X
SETUNIT C X
SETUTAB C X
SETVAR C X
SETVFU C X
SETZEBRA C X
SHC and SHc C X
SHEETH V X
SHEETW V X
SHGLYPH C X
SHIFT C X
SHJ and SHj C X
SHL and SH C X
SHMF, SHMf, and SHmf C X
SHP and SHp C X
SHPOS V X
SHR and SHr C X
SHT and SHt C X
SHX C X
SKIPPAGE C X
Function
Transform Control
Design and Debug
Resource Control
VIPP
PCC Processing
RPE Processing
Font and color
Miscellaneous
Page Control
Page Layout
PDF Control
Cyclecopy
Markers, Type
1
Transform Functions,
and
Variables
SLIPSHEET C X
SOF_off C X
SPOOLNAME C X
STAPLE_off / C
X
STAPLE_on
STAPLEDETAILS C X
STARTBOOKLET C X
STARTDBM C X
STARTLM C X
STARTOFSET C X
STARTXML C X
STOREVAR C X
SUB C X
SUBSTFONT TF X
SVPOS V X
T_AMPM V X
T_HH V X
T_HH2 V X
T_MM V X
T_SS V X
T_TZN V X
TIFORI_off / TIFORI_on C X
TLGRID V X
TUMBLEDUPLEX_off / C
X
TUMBLEDUPLEX_on
TWOUP C X
UPCA TF X
Function
Transform Control
Design and Debug
Resource Control
VIPP
PCC Processing
RPE Processing
Font and color
Miscellaneous
Page Control
Page Layout
PDF Control
Cyclecopy
Markers, Type
1
Transform Functions,
and
Variables
VDISP V X
VPOS V X
VSUB TF X
VSUB2 TF X
VSUB3 TF X
XGF C X
XGFDEBUG C X
XGFEND C X
XGFENTRY C X
XGFRESDEF C X
XGFVER V X
XMLDTH V X
XMLPAR V X
XMLPATH V X
XMLSYN C X
XMLTAG V X
XMLVAL V X
YINIT V X
ZSORT C X
1 C= Command, M = Marker, TF = Transform Function, V = Variable
Type
Built-in
Variable Boolean Color Form GEPKey Integer Real String
AUTOGRID X
BACK X
BLGRID X
CLIP X
COLW X
CPCOUNT X
CURLINE X
D_DD X
D_DOY X
D_DWL X
D_DWS X
D_MO X
D_MOL X
D_MOS X
D_YY X
D_YYYY X
DJDECMD X
DJDEPAR X
FRCOUNT X
FRLEFT X
HCOLOR X
HDISP X
HPOS X
HPOS2 X
LNCOUNT X
LPCOUNT X
LPINDEX X
LSP X
PAGEH X
Type
Built-in
Variable Boolean Color Form GEPKey Integer Real String
PAGEW X
PDFDEVICE X
PPCOUNT X
PRODUCT X
RPCOUNT X
RPEPOS X
RPLEFT X
SHEETH X
SHEETW X
SHPOS X
SVPOS X
T_AMPM X
T_HH X
T_HH2 X
T_MM X
T_SS X
T_TZN X
TLGRID X
VDISP X
VPOS X
XGFVER X
XMLATL X
XMLATN X
XMLATV X
XMLDTH X
XMLPAR X
XMLPATH X
XMLTAG X
XMLVAL X
YINIT X
VIPP error messages are specific VIPP errors that you may encounter in
addition to standard PostScript errors. Refer to the appropriate
documentation for descriptions of PostScript errors.
PostScript
There is a runtime error in the PostScript interpreter. Refer to the
appropriate PostScript manual for detailed information regarding this
error message.
VIPP_access_denied
A resource such as a form, segment, JDT, image, or font list was located
but the interpreter does not have the access rights necessary to access it.
VIPP_AFM_parsing_error
VIPP encountered an error while parsing an Adobe Font Metrics file for
kerning information. Check for integrity and completeness of the AFM files
referenced by the SETENCODING command.
VIPP_ambiguous_name in _name
The name pointed out by this error message creates a conflict. In XML
mode it means that VIPP encountered an VXVpath name that is not
unique. The VXVname must be additionally qualified to remove the
ambiguity.
In database mode, this name is already a reserved word and cannot be
used as a field name; choose another name for that field.
VIPP_buffer_overflow
An ADD or SUB command caused an overflow on VIPP internal
computing buffers which are limited to 40 digits (25 digits for the integer
and 15 digits for the decimal).
VIPP_corrupted_or_unsupported_image_file
Indicates that a corrupted or unsupported image file has been
encountered.
VIPP_invalid_align in SHMF
The SHMF align parameter is invalid. This parameter cannot be greater
than three.
VIPP_invalid_align in SHP
The SHP and SHp align parameter is invalid. This parameter cannot be
greater than three.
VIPP_invalid_align in SHX
The SHX align parameter is invalid. This parameter cannot be greater
than five.
VIPP_invalid_booklet_length
A booklet is not of the required length specified by /PagePerBooklet in
SETPARAMS. The job has aborted as required by the /BookletMismatch
parameter.
VIPP_invalid_contents in ENDPAGE
An ENDPAGE command with the /P option contains marking commands
in its procedure. Place the marking commands in an ENDPAGE
procedure without the /P option.
VIPP_invalid_license_file
The file currently referenced by /usr/xgf/src/xgf.lic is not a license file or it
has been corrupted. Reload the original file.
VIPP_invalid_PIF_type
The /PIFtype parameter of a SETPIF or INDEXPIF command is invalid. It
must be one of the types listed in the SETPIF and INDEXPIF command
descriptions.
VIPP_invalid_PN_option
The SETPAGENUMBER pos or align parameter is invalid. This parameter
must be less than zero or greater than seven.
VIPP_invalid_syntax in RPE
An entry between BEGINRPE and ENDRPE in an RPE definition is
invalid. The entry must be either a table that contains ten items or a
Record Criteria Definition (RCD) key defined by SETRCD.
VIPP_invalid_syntax in SETBAT
The number of parameters in a SETBAT statement is not a multiple of 13.
VIPP_invalid_syntax in SETMULTIUP
A SETMULTIUP definition contains an incorrect number of elements. The
total number of elements in a table must be a multiple of five.
VIPP_invalid_VSUB
While substituting a variable name, VSUB encountered an incorrect
syntax. In general, this occurs when there is no closing period (.) following
the two dollar signs ($$).
VIPP_length_error in ENDPCC
An entry in a PCC table between BEGINPCC and ENDPCC contains an
incorrect number of elements. The entry must have three characters.
VIPP_length_error in RPE
An entry between BEGINRPE and ENDRPE in an RPE definition contains
an invalid number of elements. The number of elements must be ten.
VIPP_license_failed
The current VIPP license is not valid for this device. Contact your Xerox
representative to update your license.
VIPP_misplaced in SETPAGESIZE
A SETPAGESIZE command is placed on the page after the first marking
command. Place the SETPAGESIZE command at the beginning of the
page before any marking commands.
VIPP_OMR_invalid_response_string
A character (or characters) in the response string was not found in the
OMR map string.
VIPP_PDF417__data_limit_exceeded
The total number of characters in the string parameter(s) of a PDF417
command exceeds the maximum number allowed.
VIPP_PDF417__invalid_mode
An invalid mode was generated during the compaction of a text string
parameter of a PDF417 command.
VIPP_POSTNET_invalid_digit
The string parameter of a POSTNET transform function contains an
invalid character. Only numeric characters (0-9) and dash (-) in the fifth
position are allowed.
VIPP_POSTNET_invalid_length
The string parameter of a POSTNET transform function has an invalid
length. It must be 5, 9, or 11.
VIPP_RPE_invalid_prefix
A prefixed record with a prefix undefined in the current RPE definition was
encountered. This error occurs only when RPE prefix control is enabled.
SETRPEPREFIX sets the prefix length with a negative value.
VIPP_RPE_invalid_prefix_length
A prefixed record with a prefix shorter than the length defined by
SETRPEPREFIX was encountered.
VIPP_SETVAR_invalid_name
A variable name defined by SETVAR does not begin with VAR.
VIPP_unable_to_locate
A resource such as a form, segment, JDT, image, or font list is not
available in any of the libraries referenced by the corresponding
SETxPATH command.
Limitcheck error
This error message may display when using a VIPP form created with the
mkfrm utility from an EPS file that was created using a Windows driver:
This error may indicate that your form contains bitmap images called
using the PostScript operators for the current file image.
Use one of these to solve this problem:
• Eliminate the problem by using the original PostScript file with this
syntax:
• Submit the EPS file to the Decomposition Services and use the
result as a form. More details about decomposition services can be
found in “Using VIPP on specific printers” and in “Hints and tips.”
This section of the VIPP Reference Manual provides the information you
need to:
• Use VIPP on specific printers
• Use VIPP and DigiPath
• Take advantage of NPS preprocessing capabilities with
Decomposition services
• Migrate your LCDS data to VIPP
VIPP Reference Manual (9/2003)
Using VIPP on specific printers
NOTE: Any limitations encountered while using VIPP are due to the
functions and capabilities of the printer and the implementation of the
PostScript interpreters.
Preprocessing capabilities
Printer preprocessing capabilities have been added to the DocuPrint NPS
by Decomposition Services. Refer to “Decomposition Services” for more
information.
%!
% custom.ini
(job1.jdt) STARTLM
The main data file is sent to DocuPrint NPS, setting the DocumentFormat
attribute to “XGF/job1.” The DocumentFormat attribute is set using a
virtual printer, the lpr -C switch, or any other attribute setting method
available.
New sets of commands can be installed at any time by creating new files
called /usr/xgfc/mislib/xxx.ini, where xxx is the name of the command set.
The .ini extension is mandatory.
In general, all lowercase characters should be used in place of xxx. To
invoke a command set named xxx, set the DocumentFormat attribute to
XGF/xxx.
Although XGFNub was designed to run with VIPP as a means to issue
initial VIPP commands, its use is not restricted to VIPP. It can also be
applied to any PostScript program.
%!
%%Title: ex8.nm
% Commands: SETMEDIA
%
% DSC definitions so DocuPrint NPS can make this job
% ineligible if the media required is unavailable
% 8.5 x 11 = 612 x 792
% A4 = 595 x 841
%
% When using SETMEDIA in LINE MODE.....
% DSC comments relating to DocumentMedia must be in the
% SUBMISSION file (the data file or a file that calls the data file & .jdt/.dbm)
% DSC comments will have no effect if they are in the JDT or DBM.
% NOTE: SETMEDIA relies on the 'type' NOT on 'tag' and not 'color'
% SETMEDIA can be used with three parameters <type> <color> and <weight>.
% For this example to work:
% One tray on DocuPrint NPS must be set to A4:YELLOW:white and
% one tray on DocuPrint NPS must be set to A4:GREEN:white and
%
% Key: <Tag Name> <width> <height> <weight> <color> <type>
%%DocumentMedia: dummy 595 841 0 white ()
%%+ YELLOW 595 841 0 white YELLOW
%%+ GREEN 595 841 0 white GREEN
PORT
% Change media
(YELLOW) SETMEDIA
1250 3200 MOVETO
(This is an example of using SETFORM and SETMEDIA - YELLOW media) SHC
PAGEBRK
%Change media
(GREEN) SETMEDIA
1250 3200 MOVETO
(This is an example of using SETFORM AND SETMEDIA - Greenmedia) SHC
PAGEBRK
Preprocessing capabilities
Printer preprocessing capabilities have been added to the DocuSP by
Decomposition Services. Refer to “Decomposition Services” for more
information.
Unsupported commands
This section lists the VIPP commands not supported on DocuColor
systems using Creo Scitex or EFI DFE’s. Use of these commands may
cause the VIPP job to abort.
• BIND_off / BIND_on
• DUPLEX_on / DUPLEX_off
• OFFSET_on / OFFSET_off
• SETMEDIA / SETMEDIAT
• STAPLEDETAILS
• STAPLE_on / STAPLE_off
• STARTOFSET
• TUMBLEDUPLEX_on / TUMBLEDUPLEX_off
TIFF images
TIFF files with a FillOrder value of 2 are supported on the DocuPrint NPS
family of printers.
Applications that print TIFF files with a FillOrder value of 2 do not print on
the DocuPrint 65 through remote PS/VIPP call or from embedded TIFFs.
%!
%%Creator: CAS
%%DocumentName:form1.frm
{
(path to the file) run
} FSHOW
%!
%%Creator: CAS
%%DocumentName: list1.jdt
....
(form1.frm) SETFORM
...
%!
%%Creator: CAS
%%DocumentName: list1.jdt
....
{ (path to the file) run } 0 SETFORM
...
DigiPath description
The VIPP/DigiPath interface allows you to create a VIPP DBM or native
mode file that can use DigiPath RDO files as VIPP resources, much like
VIPP does with images or forms stored in its own VIPP subdirectories on
the printer’s hard disk. The DigiPath resources must be NFS mounted to
the print device for this interface to work. This feature is not available in
line mode VIPP (JDT).
DigiPath version 4.0 and higher adds a new field to the RDO structure
known as the “Hidden Text Object.” This new field appears as a menu
item in the Document Scan and Make Ready (DSM) module. It allows
selection of an RDO file, selection of a document boundary within the file,
(chapters, start or end pages, etc.), and type-in text. The intent is to type
VIPP layout commands into the text object that invoke VIPP formatting
instructions.
Even though this new field will not appear on every DigiPath system at
start-up, installation of the DigiPath Applications Program Interface (API)
(supplied on the VIPP CD) is required.
NOTE: You do not have to install VIPP on the DigiPath machine. But
you must install the DigiPath API, which is found in the DigiPath folder
on the VIPP CD.
NOTE: Do not edit the VDI file, it is often referenced when a VIPP
RUN command is coded in a DBM or native mode file. Although VIPP
uses the VDI file, it is transparent to the DigiPath user who will always
edit the RDO file. Always use the Scan and Make Ready module
when making changes to RDO files, as it is this interface that creates
the VDI file that VIPP uses as a map to the stored images that will be
printed using VIPP.
You must share the directory that contains the VDI files.This shared VDI
directory must contain a subdirectory that contains the RDO files and
CON (TIFF) directories. Because this setup relies on NFS mounted
systems, an NT and UNIX system administrator should assist in setting up
the NFS mount and export rights. Only the VDI directory is NFS mounted,
the rest of the DigiPath repository can be isolated from the network.
(MYTEST.vdi) RUN
NOTE: The VDI file is internally generated in the VDI directory, not
the document directory where the RDO files are located.
Hidden Text
DigiPath has a feature called Hidden Text. This feature is only available
if the VIPP option was selected during the installation of DigiPath.
Hidden text is optional. You do not have to embed it into DigiPath
documents in order to have VDI files created.
Hidden Text allows the creator of the DigiPath RDO file to add hidden
VIPP layout commands to the file. The commands are then executed as
part of a normal VIPP job. For example, the variable name and address
label can be embedded in an RDO document (encapsulated in an inline
SETFORM definition). When the document is called as a resource to a
VIPP job, the Hidden Text, or VIPP commands contained in the Hidden
Text label, will be executed as a normal part of the VIPP job, replacing the
variable labels in the RDO document with the actual information from the
customer data base file.
This feature is not intended for complete VIPP programs or individual
page marking commands not embedded within a SETFORM procedure,
such a SH or SHP. This feature is designed for VIPP layout commands
such as SETMEDIA, SETFORM, SETPAGEDEF, SETMULTIUP,
DUPLEX_on.
Multiple Hidden Text lines can be added to an RDO document via the
Scan and Make Ready interface. The Hidden Text line of VIPP commands
must begin with the %%VIPP prefix. The commands are then executed as
part of a normal VIPP job. Page marking commands can be encapsulated
within an inline form definition.
If the commands or syntax used in the Hidden Text are invalid, an error
will result and the job will abort at the print device during the print run. No
syntax checking is performed within the RDO file, so care must be taken
to ensure no errors are made when entering the VIPP commands. If the
data field referenced in the Hidden Text file is not valid or available, this
will also cause the job to abort at run time.
Use this feature with caution and consider it as a source for potential
problems when troubleshooting VIPP applications using DigiPath files
and Hidden Text. Always keep these points in mind when using this
feature:
• Hidden Text is not designed to handle complex VIPP code
• Each Hidden Text entry must be made on a single line
• The maximum line length is 132 characters (including spaces)
• The Hidden Text string must begin with the %%VIPP prefix
• No spaces should precede the %%VIPP prefix
• VIPP commands must be entered on a single line and use the
%%VIPP prefix.
• Multiple VIPP commands can be entered on a single line separated
by a space character.
• No VIPP comments (%) are allowed in a Hidden Text entry.
When you assign multiple hidden text fields to a single page they will be
processed in the order in which they were assigned. However, this does
not mean you should use hidden text fields for programming. Instead, you
should create embedded procedures (use SETVAR or XGFRESDEF) in
the VIPP code, then simply invoke the procedures from within the hidden
text.
Step 1. Select an existing RDO file or create one using the DSM interface.
Step 2. Open the file. If this is a multi-page file, select the page on which the
Hidden Text will be placed.
NOTE: The syntax for the Hidden Text must be valid VIPP code. Care
must be taken as no syntax checking is performed. If you make an
error, the error will abort the VIPP job during the print run.
Pressing Enter ends the Hidden Text dialogue. Once you press Enter, the
Hidden Text entry is complete.
Following is an example of a Hidden Text entry:
Where:
Fname and Lname
are fields in a database record.
Invalid syntax (space characters placed before the %%VIPP prefix) looks
like this:
Invalid syntax (no space character between the %%VIPP prefix and the
VIPP commands) looks like this:
Step 1. Select the RDO document with the Hidden Text entry.
Step 2. Highlight the Hidden Text to edit; multiple Hidden Text labels may be
displayed.
Step 3. Right-click the highlighted text and select the Properties option.
The Hidden Text interface is displayed allowing you to edit the contents.
(filename.vdi) RUN
NOTE: VIPP file names are case sensitive, the file name enclosed in
parenthesis above must match the case of the file name on the
DigiPath Cabinet, including the extension.
The RDO file is not called directly. Instead, RUN the VDI file that
references the RDO structure. Review the ColdCall.vdi file created by
DigiPath for the sample shown in this document. Pay special attention to
the line that ends in RDOBegin.
(document_name.pnnnn.ps) SETBFORM
Where:
document_name
is the name of the file submitted to Decomposition Services
nnnn
is the four-digit page number.
Example: This example selects the first page of a previously decomposed file called
“letter” as a form.
(letter.p0001.ps) SETFORM
Syntax 0 MOVETO
(document_name_dir/document_name.pnnnnnnnn.tif) 1 90 ICALL}
SETFORM or SETBFORM
Where:
document_name
is the name of the file submitted to Decomposition Services.
nnnnnnnn
is the eight-digit page number.
Example: This example selects the first page of a previously decomposed file called
“letter” as a form.
Where:
document_name
is the name of the file submitted to Decomposition Services,
c
is either “b” for black images or “h” for highlight images
nnnn
is the four-digit page number.
Example: This is an example that prints the TIFF image representing the first page
of a previously decomposed file called “letter.” The TIFF image is printed
at the current position, in its original size, with no rotation.
0 0 MOVETO
(letter.p0001.b.tif) 1 90 ICALL
Where:
document_name
is the name of the file submitted to Decomposition Services.
nnnnnnnn
is the eight-digit page number.
Example: This is an example that prints the TIFF image representing the first page
of a previously decomposed file called “letter.” The TIFF image is printed
at the current position, in its original size, with no rotation.
0 0 MOVETO
(letter_dir/letter.p00000001.tif) 1 90 ICALL
%!
PORT
X1 Y1 MOVETO VAR1 SHL
X1 Y1 MOVETO VAR1 SHL
(decom_doc.ps) RUNDD
%!
PORT (decomp_doc.ps.p0001.b.tif) 1 90 ICALL
X1 Y1 MOVETO VAR1 SHL
PAGEBRK
(decomp_doc.ps.p0002.b.tif) 1 90 ICALL
X2 Y2 MOVETO VAR2 SHL
PAGEBRK
(decomp_doc.ps.p0003.b.tif) 1 90 ICALL
PAGEBRK
X3 Y3 MOVETO VAR3 SHL
X4 Y4 MOVETO VAR4 SHL
(decomp_doc.ps.p0004.b.tif) 1 90 ICALL
PAGEBRK
%!
PORT
[ {X1 Y1 MOVETO VAR1 SHL}% variables for page 1
{X2 Y2 MOVETO VAR2 SHL}% variables for page 2
null% nothing on page 3
{X3 Y3 MOVETO VAR3 SHL
X4 Y4 MOVETO VAR4 SHL}% variables for page 4
null% nothing on page 5
null% nothing on page 6
null% nothing on page 7
null% nothing on page 8
] SETFORM
(decom_doc.ps) RUNDD
When you have a large job, code the cycle SETFORM sequence in a
separate JDT and call it using SETJDT in the database file before the
STARTDBM line to prevent excessive memory consumption.
(form1.ps.p0001.ps) SETFORM
This syntax is required when using Byte Compressed (BC), as the ICALL
command cannot process BC files.
General description
VIPP uses the same “Dynamic Document Construction” concepts as the
Xerox LCDS printers. Fonts, forms, and images reside on the printer and
formatting is controlled by a template file (JDT) called by the job. The
resources are merged with the data at the printer. The result is an efficient
printing model that saves valuable network bandwidth. With VIPP, only
the variable data is sent to the printer.
A VIPP programmer can take advantage of the built-in PCC tables,
(/ANSI, /IBM1403, /IBM1403A), page and record conditional processing,
and the PROCESSDJDE command to create a VIPP job that can emulate
or enhance the original LCDS application without requiring changes to the
original data set. These features include rounded corners, data driven
graphics, reusable data elements, and multiple form layouts. VIPP can
also be used to add highlight or full color to LCDS applications converted
to VIPP and sent to a highlight or full color print device or PDF output.
An LCDS data stream can be migrated to VIPP if the data stream does not
contain these:
• Metacode object
• Inline objects such as resource files, fonts, forms, and graphics
downloaded in the data
The LCDS data stream can contain Dynamic Job Descriptor Entry (DJDE)
records. The VIPP programmer must code a JDT file that captures
information from the DJDE record and substitutes it with a VIPP command
or procedure.
When considering LCDS-to-VIPP migration, you must:
• Obtain copies of original resources, which must be converted to
PostScript resources. This is an opportunity to update old resources
and add new features supported by your PostScript print device.
• Review the original application. VIPP cannot be used to create the
new application when the application contains inline resources or
metacode.
• Review the JSL and data file. At this point, decide if you want to
emulate the LCDS application, recode the application to meet new
requirements, or use new functionality provided by VIPP. In some
cases it may be easier to recode the application than to recreate the
original application.
• Convert existing resources or create new resources. Several
third-party vendors provide the services to convert LCDS resources.
Lytrod Software's Proform Designer is a VIPP application design tool
that also provides resource conversion utilities (www.lytrod.com).
• Code the new application in VIPP. Xerox provides services that can
assist in VIPP programming. For further information, contact your
local Xerox representative.
Basic LCDS
LCDS jobs are typically comprised of a data stream, job resources, and
control files such as Job Source Libraries (JSL), Copy Modification
Entries (CME), Page Descriptor Entries (PDE), and Dynamic Job
Descriptor Entries (DJDE).
The table below reviews some of the LCDS commands and parameters
used to control print format and processing. These must be emulated with
VIPP commands when migrating an application to VIPP.
LCDS command /
parameter Function
CME Applies font or ink changes within variable data for
certain parts of the report output, possibly replacing
them with predefined static data. CMEs may vary from
one copy to another.
PDE Controls page format orientation and fonts.
DJDE Sent through input data stream, specifies the forms,
fonts, and graphics to print or sets up various dynamic
changes in the layout.
RTEXT Specifies the text to be printed on a separate page
preceding a report.
RPAGE Specifies the position of the current, or next, logical
page on the physical sheet.
Conversion examples
This section provides some LCDS code and VIPP code examples that
demonstrate the conversion issues contained in the previous sections.
VIPP code:
2 SETCYCLECOPY
(form23.frm) SETFORM
/VAR_CPC 0 SETVAR
{ IF VAR_CPC CPCOUNT ne % new copy set
{ { 2 SETMAXFORM
(rout23.frm) SETFORM
{ ORITL 600 300 MOVETO
/NCR 20 SETFONT
CASE CPCOUNT {}
1 { (Message 1) SH }
2 { (Message 2) SH }
ENDCASE
} 1 SETFORM
(AUX) SETMEDIA
} SLIPSHEET
/VAR_CPC CPCOUNT SETVAR
} ENDIF
} BEGINPAGE
CME
This information illustrates the conversion of a CME LCDS statement to a
VIPP RPE.
LCDS code:
VIPP code:
CM SETUNIT
PORT
2 SETCYCLECOPY
2.4 0 3 0 SETMARGIN
/F1 /NHE 10 INDEXFONT
/F2 /NHEB 10 INDEXFONT
/F3 /NHE 8 INDEXFONT
2 BEGINRPE
1 FROMLINE
[ 0 0 0 null 0 .5 0 50 /F1 BLACK ]
[ 7 0 0 null 0 0 50 82 /F2 BLACK ]
4 FROMLINE [1] COPYRANGE
[ 0 0 0 null 1.5 .4 0 132 /F3 BLACK ]
4 FROMLINE [2] COPYRANGE
[ 0 0 0 null 1.5 .4 0 80 /F3 BLACK ]
[ 7 0 0 null 0 0 0 (******) /F3 BLACK ]
ENDRPE
RPAGE
This information illustrates the conversion of RPAGE LCDS statements to
VIPP.
LCDS code (WHEN=TOP):
VIPP code:
VIPP code:
%!
ILAND
132 66 SETGRID
/NCR 0 SETFONT
DUPLEX_on
(form1.frm) SETFORM
PCC bytes
VIPP handles PCC bytes using the VIPP SETPCC command. Customized
PCC tables can be defined using BEGINPCC/ENDPCC. Predefined
standard PCC tables are defined in xgf/src/xgf.pcc
(/ANSI, /IBM1403, /IBM1403A).
Font index
LCDS FONTINDEX command can be handled by VIPP as follows:
• Using SETRCD tests inside FROMLINE/RPE tables
• Using SETRPEPREFIX and RPEKEY/RPE tables
• Using RPEDEF
%!
%%Title: formxyz.frm
{
/SEC1
{ 50 50 MOVETO (test) SH
0 100 100 100 S1 DRAWB
} XGFRESDEF
.....
100 100 MOVETO (SEC1) SCALL
500 500 MOVETO (SEC1) SCALL
....
} FSHOW
Step 1. Obtain the object-coded FRM files from the LCDS printer as well as all of
the font resources used to create the form.
Step 2. Import the FRM and FNT resources to the correct input directories on the
Elixir PC. Elixir does this automatically when you are using a 4090
formatted diskette.
Step 3. Using the Elixir converter icon, generate Elixir and screen fonts from your
4090 FNT files.
Step 4. Drag your input FRM files to the converter and select “Create 9700 FSL
files.”
Step 5. Write the Elixir-created FSL files to a PC-formatted 3-1/2 inch diskette.
Step 6. Insert the diskette at the printer controller and download the files to a
working directory.
Step 7. Use the LPS printer SAMPLE command to sample all of the fonts used in
the FSL. These fonts must be available when you modify the FSL files.
Step 8. Modify the FSL files as necessary. In the /usr/xgf file system, there are
two files used by the fsl2xgf utility. These are fsl2xgf.cfg and fsl2xgf.map.
Modify the fsl2xgf.cfg file to change the directory path of the input FSL
files and the target output directory in which you want the resulting VIPP
FRM file placed. Edit the fsl2xgf.map file to add font equivalencies. This
provides the application with the information regarding which of the fonts
contained in your FSL file that you want to substitute with the available
VIPP fonts in the new VIPP form.
Step 9. Log on as root in a command tool window, change to the VIPP directory
#cd /usr/xgf, and type ./fsl2xgf go. Depending on how many FSLs you
are converting, it may take some time to complete this step. The system
will prompt you when the process is complete.
Step 10. Sample the form by submitting it as a print job to the printer. Make sure
that the printed output is correct.
VIPP provides the fsl2xgf utility, which can obtain FSL files that were
produced by Elixir and convert them to VIPP forms. You must define the
fonts and specify the GEPkey mapping tables in fsl2xgf.map. Although
different x and y scaling may be used on the fonts to obtain as accurate a
result as possible, the converted form may not be identical due to the font
mapping. However, these options provide you with a similar VIPP form
that can be edited further.
This example illustrates how banner.jdt is used to format the first three
pages of the data file. It also illustrates how to use data.jdt to format the
remainder of the data file. Another method is to use the SETPCD and
BEGINPAGE commands.
Use this information to help design and debug your VIPP jobs.The
information is divided into these categories:
• Resource creation and maintenance
• Application design
• Debugging and documentation tools
• Error handling
Text editors
All resources, except images and fonts, can be created using a common
text editor available on any system. Text editors are the easiest tools to
use for this purpose as they allow use of plain text and the resources can
be maintained directly from the libraries in which they are stored.
Document applications
High-level document processing applications such as Word, FrameMaker,
Excel, and PageMaker can be used to create resources such as forms or
segments. After the document is created, you must generate a PostScript
file on disk using an appropriate PostScript driver. Then place the
PostScript file into a VIPP form library and invoke it from the VIPP job
using CACHE/SETFORM or CACHE/SCALL. The file can also be
converted to a TIFF file using Decomposition Services.
Image tools
Use scanner control software and TIFF or JPEG editors to create, edit,
and transform images. Refer to ICALL for further information on supported
TIFF and JPEG files.
Resource libraries
For security purposes, production resources and development resources
are usually stored in separate libraries. The VIPP link file refers to the
production libraries. For further information, refer to “Link and setup files.”
To access the development libraries, test jobs can include SETxPATH
commands that force VIPP to access the resources contained in these
libraries for use during the duration of the job.
Application design
Stand-alone PostScript interpreters such as Ghostscript allow you to view
your print application on screen. In addition, there are other third party
tools that can edit and create VIPP applications, such as Lytrod Software
Desktop Designer (www.lytrod.com).
Xerox has designed a tool called the VIPP Interactive Design
Environment (IDE). VIPP IDE provides three editing modes, a text editor,
a smart editor, and a graphical user interface editor. The full set of VIPP
commands, including Data Driven Graphics, are available to VIPP IDE
users. The graphical interface provides immediate feedback on any
changes made in the code, which greatly reduces the time required to
design and code a VIPP application.
VIPP IDE is the best diagnostic tool for VIPP applications, as the VIPP
code can be run in the IDE and results shown on the GUI window. VIPP
IDE allows you to make changes and view the results electronically,
without printing hardcopy.
Error handling
PostScript and VIPP errors are printed on error sheets. This section
contains information on how error messages are formatted on the error
sheets.
PostScript errors
In general, PostScript errors are documented on an error sheet produced
by the printer when the error occurs. When a PostScript error is printed
on an error sheet, this information is included:
• Offending Command — lists the PostScript operator that
encountered the error
• Error Type — lists the error type
In addition, the contents of the interpreter stacks may be listed.
When you are unable to determine the cause of an error using the
information contained on the error sheet, attempt to isolate the source of
the error by commenting out some part of the job. To comment out a line
in a job, insert % at the start of the line. When the source of the error
cannot be determined using this method, contact your Xerox
representative for assistance.
VIPP errors
VIPP errors are a subset of PostScript errors. These errors are listed in
the Error field beginning with the text “VIPP_”. The VIPP errors are
documented in “Error messages.”
Error sheet
Occasionally, a job may not print even when it is clear that it was received
by the printer. When this is the case, it is likely that a PostScript error has
occurred but that the error sheet printing option is not enabled. Refer to
your printer documentation for information on how to enable the error
sheet option. When the error sheet printing option is enabled, print the job
again.
This chapter contains information that is useful when using VIPP, these
topics are discussed:
• Fonts
• Layout
• TIFF files
• Adding GEPkeys
• Creating a VIPP self-contained PostScript file
• Ignoring the number of lines at the beginning of each file
• Including a PostScript-generated chart in a VIPP job
• Managing VIPP resources
• Incorporating highlight color in decomposition forms
• Printing with special languages and accented characters
• VIPP and double-byte printing
• VIPP and EBCDIC
Fonts
This section contains font-related information:
• Fixed pitch and barcode fonts
• Using PostScript files with embedded fonts as forms in VIPP
Layout
This section contains layout hints and tips, it includes:
• Assigning Skip to channel one to various top-of-forms
• Cycle form capability in VIPP
• Improving shading differentiation using DDGs
• Overprinting a line for a bold font effect
• Printing data on back forms
• Printing two copies at once side by side
• Processing PCCs and VFUs
• Setting automatic font size
• Setting bold in the center of a record or line
• Setting multiple forms in a job
• Setting page breaks in line mode
• Suppressing vertical displacement with empty fields in a DBM
• Switching between multi-up and one-up
• Using cycle forms and cycle JDTs
• Using data grouping and multi-up in database mode
• Using highlight color to print negative numbers
• Using SETMULTIUP in database mode
[ (form1) null null (form1) null null (form1) (form2) null null (form1) (form2)] SETFORM
Example This example sets seven levels of gray for use with DDGs.
If you need more colors, add color keys to xgf.gep. The maximum number
of colors that can be defined in the /ColorTable is 65,536.
%!
XGF
/ANSI SETPCC
/F1 /NCR 12 INDEXFONT
/IF_OVP 0 1 /eq (+) SETRCD
10 BEGINRPE
1 FROMLINE
/IF_OVP [ 0 0 104 null 104 50 0 80 /F1 BLACK ]
/ELSE [ 0 0 100 null 100 50 0 80 /F1 BLACK ]
ENDRPE
() STARTLM
Aaaaaaaaaaaaaaa
Bbbbbbbbbbbbb
+Bbbbbbbbbbbbb}
Ccccccccccccc
%%EOF
%!
%%Title: jobxy.jdt
...
DUPLEX_on
...
[ (front.frm) (back.frm) ] SETFORM
x BEGINRPE
..... % RPE definitions for front page
ENDRPE /RPEfront INDEXRPE
y BEGINRPE
..... % RPE definitions for back page
ENDRPE /RPEback INDEXRPE
%!
(jobxy.jdt) STARTLM
1page 1, line 1
page 1, line 2
.....
1page 2, line 1
page 2, line 2
....
%%EOF
• Create two separate JDTs, front.jdt, and back.jdt, and combine them
at the start of the job as in this example. When JDTs are combined in
this manner, do not use the DUPLEX_on command since it forces a
NEWFRONT command.
%!
DUPLEX_on
[ (front.jdt) (back.jdt) ] STARTLM
1page 1, line 1
page 1, line 2
.....
1page 2, line 1
page 2, line 2
....
%%EOF
In multi-up mode, you must create the data in this order (assuming a
three-up setting):
• front_page 1
• front_page 2
• front_page 3
• back_page 1
• back_page 2
• back_page 3
• front_page 4, etc.
/ANSI SETPCC
[/skip-key1 line-number1 /skip-key2 line-number2 ...] SETVFU
Define the fonts with a single character using INDEXFONT. The change
is caused by the font switch sequence (the default is “//”).When you want
to simulate the XES model, redefine the sequence and assign the bold
font to “b” as shown in this example.
<1B> SETFTSW
/p /NHE 12 INXEXFONT % normal font
/b /NHEB 12 INXEXFONT % bold font
(formA) 0 SETFORM
(formB) 1 SETFORM
(formC) 2 SETFORM
• Use the cycle form option — which allows you to define a list of
forms applied in a cyclical manner on consecutive pages
(formA) SETFORM
or
{ x y MOVETO (tiffA) 1 0 ICALL } SETFORM
......
PAGEBRK
(formB) SETFORM
.......
PAGEBRK
(formC) SETFORM
......
PAGEBRK
Define all of the common settings in the top portion of the JDT and then
create the three subJDTs to be applied in a cyclical manner.
When you need to use different layout instructions for each of the three
pages, define three RPE tables, index them using INDEXRPE, and then
call the indexes in the sub-JDTs.
%!
PORT% or whatever
3 SETCYCLECOPY
COLLATE_off
[ (form1.frm) (form2.frm) (form3.frm) ] SETFORM
...........% layout definition (RPE or listing)
/JDT1 { 3 SETCYCLECOPY } XGFRESDEF
/JDT2 { 1 SETCYCLECOPY } XGFRESDEF
[ (JDT1) (JDT2) (JDT2) ] SETJDT
%!
DUPLEX_on
[ .... ] SETMULTIUP
(xyz.dbm) 4 STARTDBM
FIELD10:FIELD11:FIELD12:FIELD13
FIELD20:FIELD21:FIELD22:FIELD23
FIELD30:FIELD31:FIELD32:FIELD33
FIELD40:FIELD41:FIELD42:FIELD43
data record for logical page 1
data record for logical page 2
data record for logical page 3
data record for logical page 4
.......
When using this method, data records are read four at a time, the fields
in each data record are assigned to different field names, and the DBM is
called.
Construct your DBM by duplicating the four front logical pages followed
by the four back logical pages using the appropriate field names for each.
NOTE: This assumes that the number is 10 bytes long in position 50.
TIFF files
This section contains TIFF file hints and tips, it includes:
• Dynamic TIFF file placement in line mode
• ICALL in a JDT
• Locating TIFF images in multiple directories
• Merging data with TIFF files
• TIFF file performance considerations
or:
In either case, the line using this RPE entry must be identified with a test
(SETRCD) or using an RPE prefix.
ICALL in a JDT
When you attempt to make a stand-alone ICALL in a JDT, errors occur.
Use one of these to make an ICALL in a JDT:
• An inline VIPP form, as shown in this example. In this example, the
VIPP form file is placed as plane 0 and the TIFF image is placed as
plane 1.
2 SETMAXFORM
(myform.frm) 0 SETFORM
{ PORT ORITL 0100 0100 MOVETO (focus.tif) 1 0 ICALL } 1 SETFORM
3 BEGINRPE
[{1 0 ICALL} 0 1400 0 1495 0 000 (image.tif) /TEXTS BLACK]
....
ENDRPE
(/disk330/tiff1/) SETIPATH
......
(image1) 1 0 ICALL
() SETIPATH
.....
(/disk330/tiff1/image1) 1 0 ICALL
[ ()
(/usr/xgfc/imglib/)
(/usr/xgf/imglib)
] SETIPATH
Keeping the path, or at least the root path, out of the job may avoid
having to make changes to the application later should changes occur
in the file system structure (for example, adding new disks, renaming
disks, or mounting on a DOS file system).
%!
{ x y MOVETO (ab1.tif) 1 0 ICALL } FSHOW
(xyz.frm) SETFORM
NOTE: In the above example, x and y are the origin of the top
left corner of the image.
• Reference the TIFF file in an RPE entry. Refer to the align procedure
option in the FROMLINE extensions.
• Call the TIFF file in an ENDPAGE procedure.
Adding GEPkeys
The most effective manner in which to create a new colorkey or GEPkey
is to print /usr/xgf/demo/palrgb.ps using the correct highlight color.
To perform this task from the produced page, locate the colors you want
and note the three values that specify each color. These color values are
located on top of the box. Edit the /usr/xgf/src/xgf.gep file and add a
colorkey that specifies these values.
Then add all of the GEPkeys you want to use with this colorkey.
Step 1. Determine all of the resources required for the VIPP file.
Step 2. Concatenate all of these resources and relevant VIPP core files with the
VIPP file.
For UNIX systems, a utility called deplpr exists in the VIPP deplib library.
Use this utility to send a VIPP job to a nonenabled printer as follows.
This utility allows you to view the structure of a VIPP self-contained file.
Use this utility to create a VIPP self-contained file as follows.
NOTE: The deplpr utility does not support the RUNDD and RUN
commands.
Step 1. Set up a link file, /usr/xgfc, that points to the location of your resources.
Use the /usr/xgfc directory to store your custom files, thus allowing your
jobs to continue to run after each upgrade.
Step 3. Add the paths necessary to run and process an individual VIPP job using
SETIPATH, SETFPATH, SETJPATH, and SETMPATH.
This example looks for the EBCDIC string, TOTAL, in position 10.
Print file
This is a print file example.
%!
PORT
(example1.frm) SETFORM
/NHE 12 SETFONT
50 SETLSP
500 2820 MOVETO (1284500600) SHL
1500 3000 MOVETO
(Hr. Kurt Miller) SHL
(6 rue des Bois) SHL
(1227 Carouge) SHL
1900 2355 MOVETO (1) SHR
1900 2255 MOVETO (6200.00) SHR
1900 2155 MOVETO (6200.00) SHR
1900 2055 MOVETO (0.00) SHR
1900 1555 MOVETO (2) SHR
1900 1455 MOVETO (670.00) SHR
1900 1355 MOVETO (660.00) SHR
1900 1255 MOVETO (10.00) SHR
1900 755 MOVETO (3) SHR
1900 655 MOVETO (1423.60) SHR
1900 555 MOVETO (1423.60) SHR
1900 455 MOVETO (0.00) SHR
200 2600 MOVETO
(bvr1.tif) 2D3 0 ICALL
200 1800 MOVETO
(bvr2.tif) 2D3 0 ICALL
200 1000 MOVETO
(bvr3.tif) 2D3 0 ICALL
PAGEBRK
Form file
This is a form file example.
%%Title: example1.frm
{
PORT
200 3200 MOVETO
(trdbank.tif) 1 0 ICALL
200 3150 2150 0 S1 DRAWB
197 2903 856 126 S1 DRAWB
197 3053 856 126 LT_S1 DRAWB
1447 1000 906 750 S1 3 0 800 DRAWBM
1450 350 900 50 LT 7 0 100 DRAWBM
1450 1150 900 50 LT 7 0 100 DRAWBM
1450 1950 900 50 LT 7 0 100 DRAWBM
/NHE 9 SETFONT
1460 2560 MOVETO (Wir haben Ihrem Konto den nebenan) SH
1460 2510 MOVETO (abgebildeten Posteingang wie folgt) SH
1460 2460 MOVETO (gutgeschrieben:) SH
1460 2360 MOVETO (Beleg-Nr.:) SH
1460 2260 MOVETO (Betrag:) SH
1460 2160 MOVETO (Valuta:) SH
1460 2060 MOVETO (Postspesen:) SH
1460 1760 MOVETO (Wir haben Ihrem Konto den nebenan) SH
1460 1710 MOVETO (abgebildeten Posteingang wie folgt) SH
1460 1660 MOVETO (gutgeschrieben:) SH
1460 1560 MOVETO (Beleg-Nr.:) SH
1460 1460 MOVETO (Betrag:) SH
1460 1360 MOVETO (Valuta:) SH
1460 1260 MOVETO (Postspesen:) SH
1460 960 MOVETO (Wir haben Ihrem Konto den nebenan) SH
1460 910 MOVETO (abgebildeten Posteingang wie folgt) SH
1460 860 MOVETO (gutgeschrieben:) SH
1460 760 MOVETO (Beleg-Nr.:) SH
1460 660 MOVETO (Betrag:) SH
1460 560 MOVETO (Valuta:) SH
1460 460 MOVETO (Postspesen:) SH
/NHEB 9 SETFONT
220 2970 MOVETO (GUTSCHRIFTSANZEIGE) SH
220 2820 MOVETO (KONTO NR.) SH
/NHE 9 SETFONT
220 2660 MOVETO (GESCHÄFTSKONTO SFR) SH
/NHE 6 SETFONT
190 300 MOVETO (Printed on Xerox DocuPrint) 90 FBLACK 0 SHX
} FSHOW
Print file
This is a print file example.
%!
(example2.jdt) STARTLM
SALES REPORT - Europe
Product Division
France
United Kingdom
Germany
Spain
Italy
Belgium
Total
BUSINESS DIVISIONS
Personal Document Products 230.120 340.200 190.200 210.000 103.000 194.000 2.234.000
Office Document Systems 210.000 540.000 200.400 123.040 95.050 23.000 1.200.000
Office Document Products 210.000 540.000 200.400 123.040 95.050 23.000 1.200.000
Xsoft 230.120 340.200 190.200 210.000 103.000 94.000 2.234.000
Document Production Systems 210.000 540.000 200.400 123.040 95.050 23.000 1.200.000
Document Printing Systems 210.000 540.000 200.400 123.040 95.050 23.000 1.200.000
Xerox Engineering Systems 230.120 340.200 190.200 210.000 103.000 94.000 2.234.000
Xerox Business Services 210.000 540.000 200.400 123.040 95.050 23.000 1.200.000
Office Document Services 30.120 340.200 190.200 210.000 103.000 94.000 2.234.000
U.S. Customer Operations 230.120 340.200 190.200 210.000 103.000 94.000 2.234.000
Americas Customer Operations 210.000 540.000 200.400 123.040 95.050 23.000 1.200.000
U.S. Customer Operations 230.120 340.200 190.200 210.000 103.000 94.000 2.234.000
TOTAL 1.230.120 6.340.200 3.190.200 1.210.000 1.103.000 594.000 19.234.000
%%EOF
%!PS-Adobe-2.0
%%Title: example2.jdt
%%Creator: JYB/RXCH
%%CreationDate: MAR 97
%%For: JDT definition for Variable Data Intelligent PostScript PrintWare
%%Copyright: (C) 1995 by Rank Xerox AG (RXCH). All right reserved.
%%EndComments
%---------------------------------------------------------------------
% set orientation
%---------------------------------------------------------------------
ILAND % PORT - Portrait IPORT - Inverse Portrait
% LAND - Landscape ILAND - Inverse Landscape
%---------------------------------------------------------------------
% set margins
%---------------------------------------------------------------------
200 % top margin
200 % bottom margin
200 % left margin
200 % right margin
SETMARGIN
%---------------------------------------------------------------------
% set grid
%---------------------------------------------------------------------
103 % number of characters per line
33 % number of line per page
SETGRID
%---------------------------------------------------------------------
% set frame
%---------------------------------------------------------------------
3 % frame width (0 = no frame)
50 % frame offset from margins
BLACK % frame color (colorkey)
30 % corner radius ( 0 = square corners)
SETFRAME
%---------------------------------------------------------------------
% set zebra and form
%---------------------------------------------------------------------
LIGHT % zebra color (colorkey, WHITE = no zebra)
3 % number of lines with zebra
3 % number of lines without zebra
SETZEBRA
{ ILAND 3110 2273 MOVETO (xdlogo.tif) .66 0 ICALL } SETFORM
%---------------------------------------------------------------------
% set page numbering
%---------------------------------------------------------------------
/PNFT /NHE 10 INDEXFONT % PN font (PNFT is a reserved font index)
/PNCL BLACK INDEXCOLOR % PN color (PNCL is a reserved color index)
(- ## -) % print format (# stands for page number)
1 % starting page number (<1 will not print)
1 % 0 - do not print page number
% 1 - bottom center 2 - bottom right
% 3 - top center 3 - top right
SETPAGENUMBER
%---------------------------------------------------------------------
% set font
%---------------------------------------------------------------------
/NCR % font name (key)
0 % font size in points (1/72 inch)
% 0 = font size will be computed from SETGRID
SETFONT
Print file
This is a print file example.
%!
(example3.jdt) STARTLM
SALES REPORT - Europe
Product Division
France
United Kingdom
Germany
Spain
Italy
Belgium
Total
BUSINESS DIVISIONS
Personal Document Products 230.120 340.200 190.200 210.000 103.000 194.000 2.234.000
Office Document Systems 210.000 540.000 200.400 123.040 95.050 23.000 1.200.000
Office Document Products 210.000 540.000 200.400 123.040 95.050 23.000 1.200.000
Xsoft 230.120 340.200 190.200 210.000 103.000 94.000 2.234.000
Document Production Systems 210.000 540.000 200.400 123.040 95.050 23.000 1.200.000
Document Printing Systems 210.000 540.000 200.400 123.040 95.050 23.000 1.200.000
Xerox Engineering Systems 230.120 340.200 190.200 210.000 103.000 94.000 2.234.000
Xerox Business Services 210.000 540.000 200.400 123.040 95.050 23.000 1.200.000
Office Document Services 30.120 340.200 190.200 210.000 103.000 94.000 2.234.000
U.S. Customer Operations 230.120 340.200 190.200 210.000 103.000 94.000 2.234.000
Americas Customer Operations 210.000 540.000 200.400 123.040 95.050 23.000 1.200.000
U.S. Customer Operations 230.120 340.200 190.200 210.000 103.000 94.000 2.234.000
TOTAL 5.230.120 6.340.200 3.190.200 1.210.000 1.103.000 594.000 19.234.000
%%EOF
Form file
This is a form file example.
%%Title: example3.frm
{ ILAND
3309 2293 MOVETO (xdlogo.tif) .7 0 21 ICALL
210 330 825 150 LT 6 0 300 DRAWBM
1047 330 313 150 LT 6 0 300 DRAWBM
1372 330 300 150 LT 6 0 300 DRAWBM
1685 330 300 150 LT 6 0 300 DRAWBM
210 2105 825 100 FBLACK DRAWB
1047 2105 313 100 FBLACK DRAWB
1372 2105 300 100 FBLACK DRAWB
1685 2105 300 100 FBLACK DRAWB
1997 2105 300 100 FBLACK DRAWB
2310 2105 313 100 FBLACK DRAWB
2635 2105 325 100 FBLACK DRAWB
2972 2105 337 100 FBLACK DRAWB
210 1980 825 1875 S1 DRAWB
1047 1980 313 1875 S1 DRAWB
1372 1980 300 1875 S1 DRAWB
1685 1980 300 1875 S1 DRAWB
1997 1980 300 1875 MED_S1 DRAWB
2310 1980 312 1875 MED_S1 DRAWB
2635 1980 325 1875 MED_S1 DRAWB
2972 1980 337 1875 MED_S1 DRAWB
210 2259 1262 100 S2 DRAWB
} FSHOW
%!PS-Adobe-2.0
%%Title: example3.jdt
%%Creator: JYB/RXCH
%%CreationDate: MAR 97
%%For: RPE definition for Variable Data Intelligent PostScript PrintWare
%%Copyright: (C) 1995 by Rank Xerox AG (RXCH). All right reserved.
%%EndComments
%---------------------------------------------------------------------
% set orientation and margins
%---------------------------------------------------------------------
ILAND % PORT - Portrait IPORT - Inverse Portrait
% LAND - Landscape ILAND - Inverse Landscape
0 0 0 0 SETMARGIN % set all margins to zero
%---------------------------------------------------------------------
% set form
%---------------------------------------------------------------------
(example3.frm) SETFORM
%---------------------------------------------------------------------
% set RPE fonts
%---------------------------------------------------------------------
/F1 /NHEB 9 13 INDEXFONT
/F2 /NHEB 11 15 INDEXFONT
/F2t /NHEB 20 15 INDEXFONT
/F3 /NHEB 13 15 INDEXFONT
/F4 /NHEB 18 INDEXFONT
/F5 /NHEB 13 INDEXFONT
%---------------------------------------------------------------------
% Record Criteria Definitions
%---------------------------------------------------------------------
% Cond. key Rec.pos. Length cond. ref. string
/CND1 0 5 /eq (TOTAL) SETRCD
%---------------------------------------------------------------------
% RPE definition
%---------------------------------------------------------------------
5 BEGINRPE
% Almt rot. Xinit Xdispl Yinit Ydisp pos. length Font Color
1 FROMLINE
[ 2 0 835 0 300 0 00 99 /F4 BLACK ]
2 FROMLINE
[ 2 0 615 0 445 0 00 99 /F1 WHITE ]
3 FROMLINE
[ 2 0 1199 318 445 0 00 99 /F1 WHITE ]
9 FROMLINE
[ 2 0 3140 0 445 0 00 99 /F5 WHITE ]
10 FROMLINE
/CND1 [ 0 0 230 0 560 75 00 28 /F2t BLACK ]
/ELSE [ 0 0 230 0 560 75 00 28 /F2 BLACK ]
[ 1 0 1345 0 560 75 28 10 /F2 BLACK ]
[ 1 0 1658 0 560 75 38 11 /F2 BLACK ]
[ 1 0 1976 0 560 75 49 11 /F2 BLACK ]
[ 1 0 2286 0 560 75 60 11 /F2 BLACK ]
[ 1 0 2610 0 560 75 71 11 /F2 BLACK ]
[ 1 0 2945 0 560 75 82 10 /F2 BLACK ]
[ 1 0 3290 0 560 75 92 11 /F3 BLACK ]
ENDRPE
Print file
This is a print file example.
%!
(example4.jdt) STARTLM
PER0 01.11.1989 - 31.12.1989
REF0 14153 01764960
DFA0 23.01.1990
DPY0 23.02.1990
DRE0 7.12.1989
CRN0 068.025.000 COMMUNS IMMEUBLE
OLI0 0100000469609>000001415301764960012001019+
%%EOF
Form file
This is a form file example.
%%Title: example4.frm
{ PORT
/NHEB 8 SETFONT
355 1210 MOVETO (Empfangsschein/Récépissé/Ricevuta) SHc
900 MOVEH (Einzahlung Giro PTT) SH
1350 MOVEH (Versement Virement PTT) SH
1900 MOVEH (Versamento Girata PTT) SH
/NHE 6 SETFONT
25 SETLSP
20 1160 MOVETO
(Einzahlung für / Versement pour / Versamento per) SH
750 1160 MOVETO
(Einzahlung für / Versement pour /) SHL
(Versamento per) SH
1270 1160 MOVETO
(Bitte keine Mitteilungen anbringen) SHL
(Pas de communications s.v.p.) SHL
(Non aggiungete comunicazioni p.f.) SH
/NHEB 8 SETFONT
1835 MOVEH (N°) SH
1870 815 400 0 D1 DRAWB
20 770 350 80 S3 2 720 0 DRAWBM
385 770 115 80 S3 2 720 0 DRAWBM
20 780 MOVETO (Fr.) SH 385 MOVEH (c.) SH
740 MOVEH (Fr.) SH 1105 MOVEH (c.) SH
/NHE 6 SETFONT
20 660 MOVETO (Einbezahlt von / Versé par / Versato da) SH
/NHEC 6 SETFONT
1795 775 MOVETO (Referenz-Nr / N° de référence / N° di riferimento) SHC
POINT SETUNIT
% logo SIG
37 821 7 27 FBLACK 2 DRAWBR
42 821 18 8 FBLACK 2 DRAWBR
72 821 8 8 FBLACK 2 DRAWBR
82 821 8 36 FBLACK 2 DRAWBR
88 821 18 8 FBLACK 2 DRAWBR
46 811 24 7 FBLACK 2 DRAWBR
72 811 8 26 FBLACK 2 DRAWBR
92 807 23 7 FBLACK 2 DRAWBR
62 806 8 21 FBLACK 2 DRAWBR
108 804 7 19 FBLACK 2 DRAWBR
42 802 18 8 FBLACK 2 DRAWBR
37 792 28 7 FBLACK 2 DRAWBR
87 792 24 7 FBLACK 2 DRAWBR
% zebra -----------------------------------
12 366 167 11 LT 11 0 24 DRAWBM
183 366 45 11 LT 11 0 24 DRAWBM
232 366 58 11 LT 11 0 24 DRAWBM
295 366 52 11 LT 11 0 24 DRAWBM
351 366 40 11 LT 11 0 24 DRAWBM
395 366 60 11 LT 11 0 24 DRAWBM
459 366 47 11 LT 11 0 24 DRAWBM
510 366 74 11 LT 11 0 24 DRAWBM
% Box total -------------------------------
510 332 74 25 LT_S1 3 DRAWBR
% Box reference ---------------------------
36 757 115 24 LT_S1 3 DRAWBR
% Box headers -----------------------------
12 649 167 19 FBLACK 3 DRAWBR
183 649 45 19 FBLACK 3 DRAWBR
232 649 58 19 FBLACK 3 DRAWBR
295 649 52 19 FBLACK 3 DRAWBR
351 649 40 19 FBLACK 3 DRAWBR
395 649 60 19 FBLACK 3 DRAWBR
459 649 47 19 FBLACK 3 DRAWBR
510 649 74 19 FBLACK 3 DRAWBR
% Box body --------------------------------
12 626 167 289 S1 3 DRAWBR
183 626 45 289 S1 3 DRAWBR
232 626 58 289 S1 3 DRAWBR
295 626 52 289 S1 3 DRAWBR
351 626 40 289 S1 3 DRAWBR
395 626 60 289 S1 3 DRAWBR
459 626 47 289 S1 3 DRAWBR
510 626 74 289 S1 3 DRAWBR
WHITE SETTXC
/NHEB 14 10 SETFONT
95.5 636 MOVETO (Libellé) SHC
/NHEB 12 10 SETFONT
547 636 MOVETO (Montant) SHC
/NHEB 7 10 SETFONT
261 636 MOVETO (Nouvel index) SHC
371 636 MOVETO (Coeffic.) SHC
321 636 MOVETO (Ancien index) SHC
/NHEB 6 7 SETFONT
205.5 641 MOVETO (No) SHC
425 641 MOVETO (Quantité) SHC
482.5 641 MOVETO (Prix unitaire) SHC
205.5 634 MOVETO (compteur SI) SHC
425 634 MOVETO (Consommée) SHC
482.5 634 MOVETO (Fr. Ct.) SHC
BLACK SETTXC
/NHE 09 SETFONT
345.6 789 MOVETO (Période:) SH
137 785.3 MOVETO (Tél. 093/221.56.77) SH
61.2 764 MOVETO (No de référence) SH
35 717 MOVETO (Date de facture:) SH35 705 MOVETO (Payable jusqu'au:) SH
35 686 MOVETO (Relevé du:) SH
35 662 MOVETO (Concerne:) SH
11 256 MOVETO (Services Industriels ) SH
183 256 MOVETO (Services Industriels ) SH
11 246 MOVETO (de la Ville de Sagex) SH
183 246 MOVETO (de la Ville de Sagex) SH
11 236 MOVETO (2323 Sagex) SH
183 236 MOVETO (2323 Sagex) SH
/NHE 13 12 SETFONT
137 813 MOVETO (SERVICES INDUSTRIELS) SH
137 799 MOVETO (2323 SAGEX) SH
/NHEB 12 SETFONT
47 205 MOVETO (01-8574-5) SH
219 205 MOVETO (01-8574-5) SH
/NHE 16 14 SETFONT
345.6 813 MOVETO (Facture de consommation) SH
}FSHOW
%!PS-Adobe-2.0
%%Title: example4.jdt
%%Creator: JYB/RXCH
%%CreationDate: MAR 95
%%For: RPE definition for example4
%%Copyright: (C) 1995 by Rank Xerox AG (RXCH). All right reserved.
%%EndComments
%----------------------------------------------------------------------
% set orientation and margins
%----------------------------------------------------------------------
PORT % PORT - Portrait IPORT - Inverse Portrait
% LAND - Landscape ILAND - Inverse Landscape
%----------------------------------------------------------------------
% set form
%----------------------------------------------------------------------
(BVR) SETMEDIA
(example4.frm) SETFORM
%----------------------------------------------------------------------
% set RPE fonts
%----------------------------------------------------------------------
/F1 /NHE 11 9 INDEXFONT % lignes
/F1a /NHE 9 9 INDEXFONT % BVR G
/F2 /NHEB 12 12 INDEXFONT % reference
/F3 /NHE 12 9 INDEXFONT % montant
/F4 /NHEB 13 18 INDEXFONT % total
/F5 /NOCRB 10 INDEXFONT % ligne OCRB
%----------------------------------------------------------------------
% RPE definition
%----------------------------------------------------------------------
4 SETRPEPREFIX
12 BEGINRPE
% Almt rot. Xinit Xdispl Yinit Ydisp Rec.pos. Length Font Color
/PER0 RPEKEY
[ 0 0 1603 0 212 0 5 30 /F1 BLACK ]
/REF0 RPEKEY
[ 2 0 390 0 410 0 5 20 /F2 BLACK ]
/ADR0 RPEKEY
[ 0 0 1440 0 410 50 5 99 /F1 BLACK ]
[ 0 0 1410 0 2890 50 5 99 /F1 BLACK ]
[ 0 0 30 0 3030 48 5 99 /F1a BLACK ]
/DFA0 RPEKEY
[ 0 0 465 0 510 0 5 10 /F1 BLACK ]
/DPY0 RPEKEY
[ 0 0 465 0 560 0 5 10 /F1 BLACK ]
/DRE0 RPEKEY
[ 0 0 465 0 640 0 5 10 /F1 BLACK ]
/CRN0 RPEKEY
[ 0 0 465 0 740 50 5 50 /F1 BLACK ]
/LFA0 RPEKEY
[ 0 0 70 0 960 50 5 2 /F5 BLACK ]
[ 0 0 130 0 960 50 7 22 /F1 BLACK ]
[ 1 0 920 0 960 50 29 6 /F1 BLACK ]
[ 1 0 1170 0 960 50 35 9 /F1 BLACK ]
[ 1 0 1420 0 960 50 44 8 /F1 BLACK ]
[ 1 0 1620 0 960 50 52 6 /F1 BLACK ]
[ 1 0 1870 0 960 50 58 9 /F1 BLACK ]
[ 1 0 2100 0 960 50 67 7 /F1 BLACK ]
[ 1 0 2410 0 960 50 74 11 /F3 BLACK ]
/LFA1 RPEKEY
[ 0 0 70 0 960 50 5 24 /F3 BLACK ]
[ 1 0 2410 0 960 50 74 11 /F3 BLACK ]
/MNT0 RPEKEY
[ 0 0 1600 0 2180 0 5 17 /F3 BLACK ]
[ 1 0 2410 0 2190 0 22 11 /F4 BLACK ]
[ 1 0 340 0 2790 0 22 7 /F5 BLACK ]
[ 1 0 460 0 2790 0 30 2 /F5 BLACK ]
[ 1 0 1060 0 2790 0 22 7 /F5 BLACK ]
[ 1 0 1180 0 2790 0 30 2 /F5 BLACK ]
/BRE0 RPEKEY
[ 0 0 1300 0 2800 0 5 32 /F5 BLACK ]
[ 0 0 30 0 2910 0 5 15 /F1 BLACK ]
[ 0 0 30 0 2958 0 20 17 /F1 BLACK ]
/OLI0 RPEKEY
[ 0 0 810 0 3290 0 5 42 /F5 BLACK ]
ENDRPE
Print file
This is a print file example.
%!
(example5.dbm) STARTDBM
CHER:TITRE:FNAME:NAME:ADRESS1:ADRESS2:ZIP:CITY
Cher:Monsieur:Alain:DUPONT:3, rue de la gare::1200:Genève
Chère:Madame:Martine:BELLEGAMBE:chez son copain:12, place de la poste:1034:Lausanne
%%EOF
%%Title: example5.dbm
%!
PORT
/M /NTMR 12 11.3 INDEXFONT % M = medium font
/B /NTMB 12 11.3 INDEXFONT % B = bold font
1200 0 360 0 SETMARGIN
48 SETLSP
1780 SETCOLWIDTH
360 2300 MOVETO
($$CHER. $$TITRE. $$NAME.,) VSUB SHL
NL
(Die Welt, in der Sie leben, //B$$CHER. $$TITRE. $$NAME.//M, ist - in Übereinstimmung mit
Ihrer Persönlichkeit - aussergewöhnlich.) VSUB 3 SHP
NL
(So aussergewöhnlich wie der Trembley Brooklyn, ein Automobil der exklusivsten Klasse.) SHJ
(Wobei sich der Begriff Exklusivität sowohl auf das aussergewöhnlich hohe Niveau der) SHJ
(Verarbeitung, des Luxus, als auch auf die Sicherheit und die Fahrleistungen erstreckt.) SHJ
NL
(Und, auf die Dauer gesehen, kommt ein Brooklyn nicht teurer zu stehen als ein) SHJ
(Spitzenprodukt irgend eines Grossherstellers: In 30 Jahren wird Ihr Brooklyn immer) SHJ
(noch modern und fahrtüchtig sein, wie es zwei Drittel der seit 73 Jahren produzierten) SHJ
(Trembleys heute noch sind.) SHLNL
(Wir möchten es Ihnen ermöglichen, während einigen Stunden die Welt des Trembley) SHJ
(Brooklyn zu erleben.) SHL
NL
(Im wahrsten Sinne des Wortes. Wo und wann dies Ihnen genehm ist und zwar auf die) SHJ
(angenehmste, einfachste Weise.) SHL
NL
(Wir fahren bei Ihnen vor, Ihre Welt und unsere Welt begegnen sich. Sie dürfen sich dann) SH
J
(davon überzeugen, dass der Brooklyn im Einklang mit Ihren persönlichen Wertmassstäben) SHJ
(steht.) SHL
NL
(Es genügt, wenn Sie uns beiliegende Einladungskarte zurücksenden: Wir werden uns) SHJ
(nachher um alles kümmern.) SHL
NL
(Lassen Sie sich überraschen. Wir werden Ihnen die Aufmerksamkeit widmen, die Sie) SHJ
(verdienen.) SHL
NL
(Gerne erwarten wir Ihre Antwort und verbleiben inzwischen mit freundlichen Grüssen.) SHJ
NL
NL
(signa.tif) .75 0 ICALL
NL NL NL NL
(Your W. Signature) SHL
(MANAGING DIRECTOR) SHL
PAGEBRK
This figure illustrates the printed output for Example 5 (first page).
Print file
This is an example of a print file for a bank statement containing dynamic
boxes and DDGs.
%!
(example6.jdt) STARTLM
1ACS0:PORTFOLIO OVERVIEW
ACS1:Asset Allocation Summary
ACS2:::2 JUL 1997:Asset Class:::SGD
ACS3:BOND, NOTE:::925,647.30:41.85
ACS3:VARIOUS:::25,802.48:11.17
ACS3:CASH:::37,586.28:32.70
ACS3:SHARE:::1,222,538.43:45.28
ACS4:TOTAL:2,211,574.49:100.00
ACS1:Currency Allocation Summary
ACS2:Market Value:FX Rate::Currency:local currency:(LCU/SGD):SGD
ACS3:AUSTRALIAN DOLLAR:33,730.00:1.0760:36,293.48:3.64
ACS3:SWISS FRANCS:118,704.50:0.9753:115,772.50:5.23
ACS3:DEUTSCHE MARK:1,297,995.69:0.8189:1,062,928.67:23.06
ACS3:DANISH KRONER:1,032,533.33:0.2151:222,097.92:10.04
ACS3:FRENCH FRANCS:513,365.00:0.2429:124,696.36:5.64
ACS3:HONG KONG DOLLARS:186,400.00:0.1845:34,390.80:2.56
ACS3:YEN (JAPAN):15,343,050.00:0.0125:191,481.26:8.66
ACS3:MALAYSIAN RINGGIT:37,200.00:0.5662:21,062.64:1.95
ACS3:NEW ZEALAND DOLLARS:72,061.98:0.9695:69,864.09:3.16
ACS3:PHILIPPINE PESOS:363,000.00:0.0543:19,707.27:1.89
ACS3:SINGAPORE DOLLAR:62,358.40::62,358.40:3.82
ACS3:US DOLLAR:175,555.24:1.4293:250,921.10:11.35
ACS4:TOTAL:2,211,574.49:100.00
1TIT0:TIME WEIGHTED SEGMENT PERFORMANCE
SEM0:Period from 1 January 1997 to 2 July 1997
SEM1:Asset Class:Capital Flows SGD:Total Gains/Losses SGD:Total Earnings
SGD:Performance
SEM3:CASH:1,220.18:1,400.26:0.00:3.80
SEM3:BOND, NOTE:0.00:3,737.23:197.24:5.38
SEM3:SHARE:-2150.26:47,098.98:215.26:-3.90
SEM3:FIXED INCOME:16,313.61:19,423.00:3,188.89:8.06
SEM3:EQUITIES:-40,355.07:17,958.50:1,828.57:9.83
SEM3:EQUITY FUNDS:-16,409.67:4,865.38:583.29:2.71
SEM3:VARIOUS:0.00:708.84:0.00:2.82
1TIT0:TIME WEIGHTED GROSS PERFORMANCE
PER0:Period from 1 January 1997 to 31 July 1997
PPA0:TOTAL ASSET VALUE END OF PERIOD:2,211,574.49:SGD
PPA0:TOTAL ASSET VALUE START OF PERIOD:2,208,526.77:SGD
PPA0:DEPOSITS:0.00:SGD
PPA0:WITHDRAWALS:0.00:SGD
PPA0:CUSTODY/MANAGEMENT FEES::SGD
PPA0:WITHHOLDING TAX:0.00:SGD
PPA1:VALUATION CHANGE:3,047.72:SGD:PERFORMANCE:0.09 %
PPA2:PERFORMANCE COMPONENTS:
%!PS-Adobe-2.0
%%Title: example6.jdt
%%Creator: JYB/XCH
%%CreationDate: Jan. 99
%%Copyright: (C) 1998 Xerox Corporation. All Rights Reserved.
%%EndComments
/ANSI SETPCC
%---------------------------------------------------------------------------
% set orientation
%---------------------------------------------------------------------------
%2480 3500 SETPAGESIZE
ILAND
%---------------------------------------------------------------------------
% top bottom left right margins
%---------------------------------------------------------------------------
0 0 0 0 SETMARGIN
130 65 SETGRID
%---------------------------------------------------------------------------
% form and page numbering
%---------------------------------------------------------------------------
{ ILAND 3110 2273 MOVETO RED SETTXC (xdlogo.tif) .66 0 ICALL } SETFORM
(Page #) 1 1750 100 7 SETPAGENUMBER
%---------------------------------------------------------------------------
% tests
%---------------------------------------------------------------------------
/SEGPERF 1 5 1 4 /eq (SEM3) SETPCD
/IF_PERF 5 /FN /ne () SETRCD
%---------------------------------------------------------------------------
% set RPE fonts
%---------------------------------------------------------------------------
/F1 /NHEB 16 INDEXFONT
/F3 /NHEB 13 INDEXFONT
/F3B /NHEB 12 9 INDEXFONT
/F4 /NHE 10 INDEXFONT
/F4B /NHEB 10 INDEXFONT
/F7 /NHE 7 9 INDEXFONT
/F8 /NHE 9 INDEXFONT
%---------------------------------------------------------------------------
% RPE definition
%---------------------------------------------------------------------------
4 SETRPEPREFIX
20 BEGINRPE
% Almt rot. Xinit Xdpl Yinit Ydpl Pos. Length Font Color
/TIT0 RPEKEY
[ 2 0 1750 null 450 0 1 /FN /F1 BLACK]
/ACS0 RPEKEY
[ 2 0 1750 null 450 0 1 /FN /F1 BLACK]
/ACS1 RPEKEY
[{SCALL} 0 250 null 0 90 0 (BLUEBOX) /F1 BLACK]
[{SCALL} 0 250 null 0 0 0 (LINEHOR) /F1 BLACK]
[ 0 0 270 null 0 60 1 /FN /F3 WHITE]
[{SCALL} 0 250 null 0 20 0 (LINEVERT) /F1 BLACK]
/ACS2 RPEKEY
[ 1 0 1330 null 0 60 1 /FN /F4B BLACK]
[ 1 0 1600 null 0 0 2 /FN /F4B BLACK]
[ 1 0 2030 null 0 0 1 /FN /F4B BLACK]
[ 0 0 1970 null 0 0 3 /FN /F4B BLACK]
[{SCALL} 0 250 null 0 0 0 (LINEVERT) /F1 BLACK]
[ 0 0 270 null 0 50 4 /FN /F4B BLACK]
[ 1 0 1330 null 0 0 5 /FN /F4B BLACK]
[ 1 0 1600 null 0 0 6 /FN /F4B BLACK]
[ 1 0 2030 null 0 0 7 /FN /F4B BLACK]
[ 1 0 2250 null 0 0 0 (%) /F4B BLACK]
[{SCALL} 0 250 null 0 12 0 (LINEHOS) /F1 BLACK]
[{SCALL} 0 250 null 0 0 0 (LINEVERT) /F1 BLACK]
/ACS3 RPEKEY
[ 0 0 270 null 0 50 1 /FN /F4 BLACK]
[[(.)6] 0 1270 null 0 0 2 /FN /F4 BLACK]
[[(.)6] 0 1500 null 0 0 3 /FN /F4 BLACK]
[[(.)6] 0 1970 null 0 0 4 /FN /F4 BLACK]
[[(.)6.1] 0 2190 null 0 0 5 /FN /F4 BLACK]
[{SCALL} 0 250 null 0 0 0 (LINEVERT) /F1 BLACK]
/ACS4 RPEKEY
[{SCALL} 0 250 null 0 40 0 (GRAYBOX) /F3B BLACK]
[{SCALL} 0 250 null 0 0 0 (LINEVERT) /F1 BLACK]
[ 0 0 270 null 0 46 1 /FN /F4 BLACK]
[[(.)6] 0 1970 null 0 0 2 /FN /F4B BLACK]
[[(.)6] 0 2190 null 0 0 3 /FN /F4B BLACK]
[{SCALL} 0 250 null 0 15 0 (LINEVERT) /F1 BLACK]
[{SCALL} 0 250 null 0 0 0 (LINEHOR) /F1 BLACK]
[{SCALL} 0 2790 null 0 0 0 (PIE1) /F8 BLACK]
%----------------------------------------------------------------------
[ 1 0 2190 null 0 0 3 /FN /F4 BLACK]
[ 1 0 2790 null 0 0 4 /FN /F4 BLACK]
[ 1.1 0 3230 null 0 0 5 /FN /F4B BLACK]
[{SCALL} 0 0 null 0 10 0 (LIVERGR) /F1 BLACK]
[{SCALL} 0 250 null 0 0 0 (LINEVERT) /F1 BLACK]
%----------------------------------------------------------------------
ENDRPE
/BLUEBOX
{0 0 3000 80 FBLUE DRAWB} XGFRESDEF
/GRAYBOX
{0 0 2010 60 LT DRAWB} XGFRESDEF
/GRAYBOX8
{0 -10 1418 -60 LT DRAWB} XGFRESDEF
/LINEHOS
{0 0 2010 4 FBLACK DRAWB} XGFRESDEF
/LINEHOR
{-4 0 3008 4 FBLACK DRAWB} XGFRESDEF
/LINEVERT
{-4 0 4 -80 FBLACK DRAWB
3000 0 4 -80 FBLACK DRAWB
} XGFRESDEF
/PERFRAME
{-4 0 3008 -4 FBLACK DRAWB
-4 -1758 3008 -4 FBLACK DRAWB
-4 0 4 1758 FBLACK DRAWB
3004 0 -4 1758 FBLACK DRAWB
} XGFRESDEF
/LIVERGR
{1000 -3 3 -100 LT DRAWB
1600 -3 3 -100 LT DRAWB
2200 -3 3 -100 LT DRAWB
2800 -3 3 -100 LT DRAWB
} XGFRESDEF
/PIE1
{ 0 380 [/15
/SpotOffset -1.35
/ExtraSpace 2
/3DAngle .25
/FitSpace 8
] DRAWPIE
} XGFRESDEF
{ IF SEGPERF
{ ORITL
253 /SEM3 8 /V RPEPOS 2994 3 LT DRAWB
F7 550 2200 MOVETO
/VAR.BARH 1620 /SEM3 0 /VD RPEPOS sub SETVAR% compute available height
0 2400 VAR.BARH [/67
/BGColor XLBLUE
/ColorTable [LGREEN]
/BarSpace .25
/FitSpace 0
] DRAWBAR
} ENDIF
} ENDPAGE
/CRV1
{ 0 1250 800 [/67
/BGColor XLBLUE
/ColorTable [LGREEN]
/3DThickness .5
/FitSpace 0
] DRAWCRV
} XGFRESDEF
This Section contains the index entries for the VIPP Reference Manual.
VIPP Reference Manual (9/2003)
Index
SHIFT 11-216
SHJ 11-216
D
SHj 11-216 D_DD 11-272
SHL 11-217 D_DOY 11-272
SHMF 11-218 D_DWL 11-272
SHMf 11-218 D_DWS 11-272
SHmf 11-218 D_MO 11-273
SHP 11-220 D_MOL 11-273
SHp 11-220 D_MOS 11-273
SHR 11-222 D_YY 11-274
SHr 11-222 D_YYYY 11-274
SHT 11-223 dash pattern 11-159
SHt 11-223 Data Base Master
SHX 11-224 calling decomposition documents 15-5
SKIPPAGE 11-225 conditional logic 11-86
SLIPSHEET 11-226 description 9-10
SOF_off 11-227 empty fields, suppressing vertical displacement
SPOOLNAME 11-227 18-8
STAPLE_off 11-228 Data Base Master file
STAPLE_on 11-228 example 19-21
STAPLEDETAILS 11-229 Data Driven Graphics 2-14
STARTBOOKLET 11-229 data grouping 18-10
STARTDBM 11-230 database mode
STARTLM 11-232 description 2-4
STARTOFSET 11-233 DBM. See Data Base Master
STARTXML 11-233 DBM_NAME 11-230
STOREVAR 11-234 DDC 9-2
SUB 11-235 debugging
TIFORI_off 11-236 commands 11-111
TIFORI_on 11-236 jobs 17-1 to 17-4
TUMBLEDUPLEX_off 11-237 tools 17-2
TUMBLEDUPLEX_on 11-237 decomposition forms, performance 15-7
TWOUP 11-237 Decomposition Services 13-7, 15-1 to 15-7, 17-1
XGF 11-238 demonstration files 8-9
XGFDEBUG 11-239 billb.lm 8-10
XGFEND 11-239 imgdemo.nm 8-10
XGFENTRY 11-239 letter.dbf 8-10
XGFRESDEF 11-240 lis1.lm 8-10
XMLSYN 11-242 lis1b.lm 8-10
ZSORT 11-243 rpe2.lm 8-10
comments in code 11-245 rpe2b.lm 8-10
conditional processing 2-13, 11-9 rpe5.lm 8-10
COPYRANGE 11-46 rpe5b.lm 8-10
CPCOUNT 11-271 samddgs.lm 8-10
cpl. See characters per line demonstration mode 3-1, 16-1
CS 11-256 deplpr 18-16
CURLINE 11-271 designing
curve chart, drawing 11-53 applications 17-2
Custom colors 9-2 jobs 17-1 to 17-4
custom colors dictfull/Offending Command
selecting 11-16 def 12-6
custom colors, defining 10-9 DigiPath
cycle form capability 18-2 description 14-1
distribution list 2-15, 9-11, 11-151
DJDEBEGIN 11-47
DJDECMD 11-274
E
DJDEPAR 11-275 EAN128 11-254
DL. See distribution list EAN13/EAN8 11-257
document applications 17-1 EBCDIC 18-19
Document Structuring Convention. See DSC Elixir 16-10
documentation tools 17-2 ellipse, drawing 11-52
DocuPrint NPS ELSE 11-86
color rendering, GEPkeys 13-3 encapsulating parentheses
compatibility 11-136 using 11-6
demonstration mode 13-1 encoding tables 10-1, 11-153, 18-18
duplex printing 13-3 end of file 2-15
DocuSP end of line (EOL) delimiter 11-245
compatibility 11-136 end of line mode 11-247
FTP 13-5 End-of-file Document Structuring Convention (DSC)
NFS 13-5 statement 11-248
security settings 13-5 ENDBOOKLET 11-57
virtual printer 13-2 ENDCASE 11-57
DOS core files and resource library paths 9-2 ENDCLIP 11-57
DOS link file 8-4 ENDIF 11-86
DOT3 11-160, 11-174, 11-207 ENDIFALL 11-58
double-byte printing 18-18 ENDIMP 11-59
DRAWB 11-48 ENDJOB 11-60
DRAWBAR 11-49 ENDOFRUN 11-61
DRAWBM 11-51 ENDOFSET 11-62
DRAWBR 11-48 ENDPAGE 11-63
DRAWBRM 11-51 ENDPCC 11-63
DRAWC 11-52 ENDRPE 11-64
DRAWCRV 11-53 ENDXPD 11-64
DRAWPIE 11-55 error
DRAWPOL 11-56 handling 17-3
DSC link file execution 17-3
header 11-246 locating, using invalid strings 17-4
statement 11-246 PostScript 17-3
duplex printing sheet 17-3
disabling 11-237 VIPP 17-3
DocuPrint NPS 13-3 Error messages
enabling 11-237 limitcheck 12-6
DUPLEX_off 11-56 PostScript 12-1, 12-6
DUPLEX_on 11-57 rangecheck 11-147
dynamic box feature 2-13 Selected booklets: <first> <last> 12-1
Dynamic Document Construction 9-2, 16-1 Selected pages: <first> <last> 12-1
Stack Overflow 11-30, 12-6
VIPP_AFM_parsing_error 12-1
VIPP_ambiguous_name in _name 12-2
VIPP_buffer_overflow 12-2
VIPP_corrupted_or_unsupported_image_file
12-2
G images 9-9
referencing DocuPrint NPS decomposed 15-3
G4PMETRIC_off 11-77 referencing DocuSP 15-4
general defaults 9-2 tools 17-2
setup file 8-6 imgdemo.nm 8-10
general utilities 8-7 INDEXBAT 11-89
fsl2xgf 8-7 INDEXCOLOR 11-90
mkfrm 8-7 INDEXFONT 11-91
samfrm 8-7 INDEXKERN 11-92
samtif 8-7 INDEXPIF 11-93
showchar 8-7 INDEXRPE 11-94
xgfprint 8-8 INDEXSST 11-95
GEPkey installation
adding 18-15 DOS link file 8-4
color rendering 13-3 general defaults setup file 8-6
file 10-6, 10-8 UNIX link file 8-2
predefined 11-48 inter-character justification 11-216
samples 8-11 inter-word justification 11-216
SETGEP 11-159 invalid strings, locating errors 17-4
SHX 11-224 inverse landscape orientation 11-88
VIPP core files 9-2 inverse portrait orientation 11-96
GETDATE 11-78 IPORT 11-96
GETFIELD 11-80 IREVERSE_off 11-96
GETINTV 11-259 IREVERSE_on 11-96
GETITEM 11-82 ISO Latin 1 encoding table file 10-5
Ghostscript 17-2
Stack Overflow 12-6
golden jobs 8-9 J
GOTOFRAME 11-83 JDT
Graphic Element Property keys. See GEPkey cover pages, producing 9-11
grid 11-268, 11-269 cyclical use 18-9
grouping components 9-2 description 9-10
enabling 11-162
H file 19-6, 19-11, 19-18
ICALL 18-12
HCOLOR 11-276 master 11-94
HDISP 11-276 reference 11-232
hidden text 14-5 Job Descriptor Ticket 9-10
highlight color jobs, designing and debugging 17-1 to 17-4
commands 11-276 JOG_off 11-97
decomposition forms, incorporating 18-18 JOG_on 11-97
printing negative numbers 18-10 justification
HMS 11-260 inter-character 11-216
inter-word 11-216
I
ICALL 11-84, 18-12 K
IF 11-86 kerning
IF/ELSE/ENDIF 11-86 definition 11-3
IGNOREBT_off 11-88 pair-wise 11-3
IGNOREBT_on 11-88 track 11-3
ILAND 11-88
L MAXICODE
commands
LAND 11-98 MAXICODE 11-101
landscape orientation 11-98 Maxicode 9-2
LCDS, migrating 16-10 to 16-12 media requirements 11-171
letter.dbf 8-10 media selection
libraries, resources 17-2 commands used 11-5
Licence Request form 8-11 media support 11-5
licensing VIPP 12-4 mixed code 1-1
limitations, system 13-7 mkfrm 8-7, 12-6
limitcheck error 12-6 modes
line Byte Compressed 18-18
ignoring 18-16 database 2-1, 2-4
spacing 11-75 demonstration 16-1
line feed increment 11-165 line 2-1, 2-2
line mode native 2-1, 2-2
description 2-2 production 16-1
start of line mode 11-230 sysout 18-9
lines per page 11-160 XML 2-1, 2-5
link file 18-17 mono-strip images 11-84
DOS 8-4 MOVEH 11-105
errors 17-3 MOVEHR 11-106
UNIX 8-2 MOVETO 11-107
linked frames mode 11-166 msgdata formatting requirements 11-102
linking data MSPP_on 11-107
with DBM 2-8 multi-strip images 11-84
with JDT 2-8 multi-up
with XJT 2-8 database mode 18-10
links 11-7 pre-defined definitions 10-9
lis1.lm 8-10 sequence 18-11
lis1b.lm 8-10 switching 18-9
LMSKIP 11-98 multiple copies 11-44, 11-46
LNCOUNT 11-277 multiple forms, setting 18-7
LPCOUNT 11-278
LPINDEX 11-278
lpp. See lines per page N
LSP 11-279 native mode
description 2-2
M end of page marker 11-115
native mode prefix 2-14
Macintosh character set file 10-5 NEWBACK 11-108
MAKEVMFILE 11-99 NEWFRAME 11-108
MAKEVMFORM 11-100 NEWFRONT 11-108
margin setting 11-169 NEWGROUP 11-109
marker commands 11-115 NEWPOS 11-76, 11-110
markers NEWSIDE 11-110
% 11-245 NFS 13-5
%! 11-247 NL 11-111
%% 11-246 NMP 11-175, 11-249
%%BoundingBox 11-247 NMP. See native mode prefix
%%EOD_XGF 11-248 NMP_off 11-111
%%EOF 11-248 NOHYPHEN 11-261
%%XGF 11-249 non collate mode 11-45
master JDT 11-94 non re-encoded font list 10-5
VIPP
command differences 13-9
X
DocuColor considerations 13-6 XGF 11-238
errors 17-3 xgf.def 8-6, 10-5
function list 2-12 XGFDEBUG 11-239
release number 11-288 XGFEND 11-239
VIPP and PostScript 1-1 XGFENTRY 11-239
VIPP API XGFNub 2-8, 13-2
description 14-2 xgfprint 8-8
VIPP core files 9-2 XGFRESDEF 11-240
VIPP Designers 8-13 XGFVER 11-288
VIPP emitters 8-13 XJT 9-10
VIPP IDE 17-2 XML
VIPP Interactive Development Environment (IDE) data structure 2-5
8-12 Job Ticket 9-10
VIPP PDF Interactive Features 11-7 variables 2-6, 11-209
bookmarks 11-7 XMLATL 11-289
links 11-7 XMLATN 11-289
notes 11-7 XMLATV 11-289
VIPP Resource Converter 8-13 XMLDTH 11-290
VIPP resources 9-1 XMLPAR 11-290
VIPP Services 8-12, 9-2 XMLPATH 11-290
VIPP Thin Printer 8-12 XMLSYN 11-242
VIPP/DigiPath API 14-1 XMLTAG 11-290
VIPP/DigiPath interface 14-1 XMLVAL 11-291
vipplrfus.ps 8-11
vipplrfxe.ps 8-11
VIPPManage 8-13
Y
VIPP Project 9-2 YINIT 11-291
VIPP Projects Manager 8-12
Virtual Memory (VM), PostScript usage 18-1
VPOS 11-288
Z
VSUB 11-264 zebra printing 11-213
VSUB2 11-266 ZSORT 11-243
VSUB3 11-267