Anda di halaman 1dari 578

Variable Data Intelligent

PostScript PrintWare (VIPP)


Reference Manual

Version 5.0
September 2003
721P83359
©1999, 2000, 2001, 2002, 2003 by Xerox Corporation. All rights
reserved.

Copyright protection claimed includes all forms and matters of


copyrightable material and information now allowed by statutory
or judicial law or hereinafter granted, including without limitation,
material generated from the software programs that are
displayed on the screen, such as icons, screen displays, looks,
etc.

Produced in the United States of America.


Xerox®, The Document Company®, the digitized X®, and the
identifying product names and numbers herein are trademarks of
Xerox Corporation.

All non-Xerox brands and product names are trademarks or


registered trademarks of their respective companies.

Companies, names, and data used in examples herein are


fictitious unless otherwise noted.

Changes are periodically made to this document. Changes,


technical inaccuracies, and typographic errors will be corrected
in subsequent editions.
Table of contents

Section One: Introduction

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 data streams


Native mode ....................................................................................................................2-2
Line mode ....................................................................................................................... 2-2
Listing ................................................................................................................. 2-3
Record processing entry........................................................................................ 2-3
Database mode................................................................................................................ 2-4
XML mode .......................................................................................................................2-5
XML data structure overview ...................................................................... 2-5
XML variables ...................................................................................................... 2-6
Resource checking mode .................................................................................................. 2-8
Linking the data with the JDT, DBM, or XJT ........................................................................ 2-8
Record structures ............................................................................................................. 2-9
Record length....................................................................................................... 2-9
Vertical control ................................................................................................... 2-10
Line printer and field delimited data ...................................................................... 2-11
Prefix................................................................................................................. 2-11
Record structures and mode/presentation relationship ....................................................... 2-11
Functions ...................................................................................................................... 2-12
Conditional processing.................................................................................................... 2-13
Dynamic boxes .............................................................................................................. 2-13
Data Driven Graphics...................................................................................................... 2-14
Native mode prefix.......................................................................................................... 2-14
Distribution list ............................................................................................................... 2-15
End of file ...................................................................................................................... 2-15
Typical VIPP application diagram ..................................................................................... 2-17

VIPP Reference Manual (9/2003) iii


Table of contents

Coding examples ........................................................................................................... 2-18


Native mode coding ............................................................................................ 2-18
Line mode file..................................................................................................... 2-18
Job Descriptor Ticket .......................................................................................... 2-19
Database file ...................................................................................................... 2-20
Data Base Master file .......................................................................................... 2-21
XML mode coding............................................................................................... 2-22
XML .................................................................................................................. 2-24

Section Two: Installing VIPP

VIPP licensing and installation


Demonstration and Production modes ................................................................................ 3-1
Demonstration mode............................................................................................. 3-1
Production mode .................................................................................................. 3-2
Installation overview ......................................................................................................... 3-2
Install the VIPP software........................................................................................ 3-2
Obtain a VIPP License Request Form..................................................................... 3-3
Send the license request to Xerox .......................................................................... 3-4
Complete the installation ....................................................................................... 3-4

Installing VIPP on DocuPrint NPS devices


Customized file backup ..................................................................................................... 4-1
Software installation..........................................................................................................4-2
License installation ...........................................................................................................4-3
Validate license installation .................................................................................... 4-4
License problem solving ........................................................................................ 4-5

Installing VIPP on DocuSP devices


Customized file backup ..................................................................................................... 5-1
Software installation..........................................................................................................5-2
License installation ...........................................................................................................5-4
Install the license string ......................................................................................... 5-4
Validate license installation .................................................................................... 5-4

VIPP Reference Manual (9/2003) iv


Table of contents

Installing VIPP on Creo or EFI DFEs


Customized file backup ..................................................................................................... 6-1
Software installation..........................................................................................................6-2
VIPP Golden Job ................................................................................................ 6-10
Back up VIPP resource files................................................................................. 6-10
License installation ......................................................................................................... 6-11
Obtain the license string ...................................................................................... 6-11
Install the license ................................................................................................ 6-11
Activation during software installation........................................................ 6-12
Simple activation..................................................................................... 6-13
Advanced activation ................................................................................ 6-13
Unsuccessful activation ........................................................................... 6-15

Installing the VIPP API for DigiPath


DigiPath software installation ............................................................................................. 7-2
DigiPath/VIPP installation.................................................................................................. 7-2
VIPP DigiPath API installation on DigiPath .......................................................................... 7-3
VIPP/DigiPath configuration............................................................................................... 7-3
DigiPath configuration ........................................................................................... 7-4
NFS mount of a DigiPath system............................................................................ 7-5
Identify networked print devices ........................................................................... 7-11
Update mislib ..................................................................................................... 7-11
Update VIPP initialization files .................................................................. 7-12
Add SETMPATH to VIPP job.................................................................... 7-12

Section Three: VIPP Files and Resources

VIPP files and utilities


Link and setup files...........................................................................................................8-1
UNIX link file ........................................................................................................ 8-2
DOS link file ......................................................................................................... 8-4
General defaults setup file ..................................................................................... 8-6
Utilities and demonstration files.......................................................................................... 8-7
General utilities..................................................................................................... 8-7
VIPP demonstration files ....................................................................................... 8-9
Golden Job............................................................................................... 8-9
Individual demonstration files ................................................................... 8-10
Miscellaneous PostScript files .............................................................................. 8-11
Additional VIPP programs ............................................................................................... 8-12
VIPP Interactive Development Environment (IDE) .................................................. 8-12
VIPP Thin Printer................................................................................................ 8-12
VIPP Projects Manager ....................................................................................... 8-12
VIPP Services .................................................................................................... 8-12
VIPP Resource Converter.................................................................................... 8-13
VIPPManage...................................................................................................... 8-13
Third party VIPP emitters ................................................................................................ 8-13

VIPP Reference Manual (9/2003) v


Table of contents

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

Standard lists, tables, keys, and attributes


Standard font lists and encoding tables............................................................................. 10-1
Re-encoded font list file ....................................................................................... 10-1
PostScript encoded font list file ............................................................................ 10-5
ISO Latin 1 encoding table................................................................................... 10-5
PC-8 encoding table file ...................................................................................... 10-5
Macintosh character set ...................................................................................... 10-5
Standard Colorkeys and GEPkeys ................................................................................... 10-6
Pattern keys ....................................................................................................... 10-7
Standard Background Attributes....................................................................................... 10-8
Solid coated and uncoated custom colors ......................................................................... 10-9
Predefined PCC tables.................................................................................................... 10-9
Predefined multi-up definitions ......................................................................................... 10-9

Section Four: VIPP Command and Error Code Lists

The VIPP language


General information ........................................................................................................ 11-1
SHx commands .................................................................................................. 11-1
Booklet support .................................................................................................. 11-2
Kerning.............................................................................................................. 11-3
Main and secondary print positions....................................................................... 11-4
Media support .................................................................................................... 11-5
Printable text or reference “( )” ............................................................................. 11-6
VIPP PDF Interactive Features ............................................................................ 11-7
Bookmarks ............................................................................................. 11-7
Links...................................................................................................... 11-7
Notes..................................................................................................... 11-7

VIPP Reference Manual (9/2003) vi


Table of contents

RPE command information .................................................................................. 11-8


Extending FROMLINE and RPEKEY commands ........................................ 11-8
Arithmetic expressions ...................................................................................... 11-12
VIPP Colorkeys ................................................................................................ 11-14
Solid coated and uncoated color simulation ......................................................... 11-16
Color tints ........................................................................................................ 11-16
Barcodes ......................................................................................................... 11-17
Getting the string .................................................................................. 11-17
Reserved keywords .......................................................................................... 11-19
Commands .................................................................................................................. 11-20
++/-- ................................................................................................................ 11-20
ABSPOS.......................................................................................................... 11-21
ADD ................................................................................................................ 11-22
ADVPAGE ....................................................................................................... 11-24
BACKSP_off .................................................................................................... 11-24
BACKSPF_on .................................................................................................. 11-24
BACKSPP_on .................................................................................................. 11-25
BCALL............................................................................................................. 11-25
BEGINIMP ....................................................................................................... 11-26
BEGINPAGE.................................................................................................... 11-27
BEGINPCC ...................................................................................................... 11-29
BEGINRPE ...................................................................................................... 11-30
BEGINXPD ...................................................................................................... 11-30
BIND_off.......................................................................................................... 11-31
BIND_on.......................................................................................................... 11-31
BINDDETAILS.................................................................................................. 11-31
BOOKLETRANGE ............................................................................................ 11-32
BOOKMARK .................................................................................................... 11-33
BSTRIP_off...................................................................................................... 11-35
BTA................................................................................................................. 11-36
BTS................................................................................................................. 11-38
CACHE............................................................................................................ 11-40
CASE .............................................................................................................. 11-42
CHKPOINT ...................................................................................................... 11-43
COLLATE_dbm ................................................................................................ 11-45
COLLATE_off................................................................................................... 11-45
COLLATE_on................................................................................................... 11-46
COPYRANGE .................................................................................................. 11-46
DJDEBEGIN .................................................................................................... 11-47
DRAWB and DRAWBR ..................................................................................... 11-48
DRAWBAR ...................................................................................................... 11-49
DRAWBM and DRAWBRM................................................................................ 11-51
DRAWC........................................................................................................... 11-52
DRAWCRV ...................................................................................................... 11-53
DRAWPIE........................................................................................................ 11-55
DRAWPOL ...................................................................................................... 11-56
DUPLEX_off .................................................................................................... 11-56
DUPLEX_on .................................................................................................... 11-57
ENDBOOKLET................................................................................................. 11-57
ENDCASE ....................................................................................................... 11-57
ENDCLIP......................................................................................................... 11-57
ENDIFALL ....................................................................................................... 11-58
ENDIMP .......................................................................................................... 11-59
ENDJOB.......................................................................................................... 11-60

VIPP Reference Manual (9/2003) vii


Table of contents

ENDOFRUN .................................................................................................... 11-61


ENDOFSET ..................................................................................................... 11-62
ENDPAGE ....................................................................................................... 11-63
ENDPCC ......................................................................................................... 11-63
ENDRPE ......................................................................................................... 11-64
ENDXPD ......................................................................................................... 11-64
ETA................................................................................................................. 11-64
ETS................................................................................................................. 11-64
EXIST ............................................................................................................. 11-65
EXIT................................................................................................................ 11-66
FBIND ............................................................................................................. 11-67
FCALL............................................................................................................. 11-67
FILLOMR......................................................................................................... 11-68
FOREACH ....................................................................................................... 11-70
FORMSHIFT .................................................................................................... 11-71
FROMLINE ...................................................................................................... 11-72
Using FROMLINE to compute print position ............................................. 11-74
FSHOW........................................................................................................... 11-77
G4PMETRIC_off............................................................................................... 11-77
GETDATE........................................................................................................ 11-78
GETFIELD ....................................................................................................... 11-80
GETITEM ........................................................................................................ 11-82
GOTOFRAME .................................................................................................. 11-83
ICALL .............................................................................................................. 11-84
IF/ELSE/ENDIF ................................................................................................ 11-86
IGNOREBT_off................................................................................................. 11-88
IGNOREBT_on................................................................................................. 11-88
ILAND ............................................................................................................. 11-88
INDEXBAT....................................................................................................... 11-89
INDEXCOLOR ................................................................................................. 11-90
INDEXFONT .................................................................................................... 11-91
INDEXKERN .................................................................................................... 11-92
INDEXPIF ........................................................................................................ 11-93
INDEXRPE ...................................................................................................... 11-94
INDEXSST....................................................................................................... 11-95
IPORT ............................................................................................................. 11-96
IREVERSE_off ................................................................................................. 11-96
IREVERSE_on ................................................................................................. 11-96
JOG_on/JOG_off.............................................................................................. 11-97
LAND .............................................................................................................. 11-98
LMSKIP ........................................................................................................... 11-98
MAKEVMFILE .................................................................................................. 11-99
MAKEVMFORM ............................................................................................. 11-100
MAXICODE.................................................................................................... 11-101
msgdata formatting requirements.......................................................... 11-102
MOVEH ......................................................................................................... 11-105
MOVEHR....................................................................................................... 11-106
MOVETO ....................................................................................................... 11-107
MSPP_on ...................................................................................................... 11-107
NEWBACK .................................................................................................... 11-108
NEWFRAME .................................................................................................. 11-108
NEWFRONT .................................................................................................. 11-108
NEWGROUP ................................................................................................. 11-109
NEWPOS ...................................................................................................... 11-110

VIPP Reference Manual (9/2003) viii


Table of contents

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

VIPP Reference Manual (9/2003) ix


Table of contents

SETLMFILE ................................................................................................... 11-168


SETLSP ........................................................................................................ 11-169
SETMARGIN.................................................................................................. 11-169
SETMAXBFORM............................................................................................ 11-169
SETMAXCOPY .............................................................................................. 11-170
SETMAXFORM .............................................................................................. 11-170
SETMEDIA .................................................................................................... 11-171
SETMEDIAT .................................................................................................. 11-172
SETMPATH ................................................................................................... 11-172
SETMULTIUP ................................................................................................ 11-173
SETNMP ....................................................................................................... 11-175
SETOBIN....................................................................................................... 11-176
SETOBINT..................................................................................................... 11-177
SETPAGEDEF ............................................................................................... 11-177
SETPAGENUMBER ....................................................................................... 11-178
SETPAGESIZE .............................................................................................. 11-180
SETPARAMS ................................................................................................. 11-181
SETPAT ........................................................................................................ 11-183
SETPBRK...................................................................................................... 11-185
SETPCC........................................................................................................ 11-186
SETPCD........................................................................................................ 11-187
SETPIF.......................................................................................................... 11-189
SETPPAT ...................................................................................................... 11-192
SETPPATH.................................................................................................... 11-193
SETPROJECT ............................................................................................... 11-194
SETRCD........................................................................................................ 11-195
SETRES ........................................................................................................ 11-198
SETRPE ........................................................................................................ 11-198
SETRPEPREFIX ............................................................................................ 11-199
SETSKIP ....................................................................................................... 11-201
SETTAB ........................................................................................................ 11-202
SETTXB ........................................................................................................ 11-203
SETTXC ........................................................................................................ 11-204
SETTXS ........................................................................................................ 11-206
SETUNIT ....................................................................................................... 11-207
SETUTAB ...................................................................................................... 11-208
SETVAR ........................................................................................................ 11-209
SETVFU ........................................................................................................ 11-212
SETZEBRA.................................................................................................... 11-213
SHC and SHc................................................................................................. 11-214
SHGLYPH ..................................................................................................... 11-215
SHIFT ........................................................................................................... 11-216
SHJ and SHj .................................................................................................. 11-216
SHL and SH ................................................................................................... 11-217
SHMF, SHMf, and SHmf.................................................................................. 11-218
SHP and SHp................................................................................................. 11-220
SHR and SHr ................................................................................................. 11-222
SHT and SHt.................................................................................................. 11-223
SHX .............................................................................................................. 11-224
SKIPPAGE .................................................................................................... 11-225
SLIPSHEET ................................................................................................... 11-226
SOF_off......................................................................................................... 11-227
SPOOLNAME ................................................................................................ 11-227
STAPLE_off ................................................................................................... 11-228

VIPP Reference Manual (9/2003) x


Table of contents

STAPLE_on ................................................................................................... 11-228


STAPLEDETAILS ........................................................................................... 11-229
STARTBOOKLET ........................................................................................... 11-229
STARTDBM ................................................................................................... 11-230
STARTLM...................................................................................................... 11-232
STARTOFSET ............................................................................................... 11-233
STARTXML.................................................................................................... 11-233
STOREVAR ................................................................................................... 11-234
SUB .............................................................................................................. 11-235
TIFORI_off ..................................................................................................... 11-236
TIFORI_on ..................................................................................................... 11-236
TUMBLEDUPLEX_off ..................................................................................... 11-237
TUMBLEDUPLEX_on ..................................................................................... 11-237
TWOUP......................................................................................................... 11-237
XGF .............................................................................................................. 11-238
XGFDEBUG................................................................................................... 11-239
XGFEND ....................................................................................................... 11-239
XGFENTRY ................................................................................................... 11-239
XGFRESDEF ................................................................................................. 11-240
XMLSYN........................................................................................................ 11-242
ZSORT .......................................................................................................... 11-243
Markers ..................................................................................................................... 11-245
% .................................................................................................................. 11-245
%% ............................................................................................................... 11-246
%! ................................................................................................................. 11-247
%%BoundingBox............................................................................................ 11-247
%%EOD_XGF................................................................................................ 11-248
%%EOF ........................................................................................................ 11-248
%%XGF ........................................................................................................ 11-249
Transform functions .................................................................................................... 11-250
2OF5............................................................................................................. 11-250
BSTRIP ......................................................................................................... 11-251
CASELOW..................................................................................................... 11-251
CASETI ......................................................................................................... 11-252
CASEUP........................................................................................................ 11-252
CODE39 ........................................................................................................ 11-253
CODE128 / EAN128 ....................................................................................... 11-254
CS ................................................................................................................ 11-256
EAN13/EAN8 ................................................................................................. 11-257
F2S ............................................................................................................... 11-258
FORMAT ....................................................................................................... 11-258
GETINTV....................................................................................................... 11-259
HMS.............................................................................................................. 11-260
NOHYPHEN .................................................................................................. 11-261
POSTNET...................................................................................................... 11-261
QSTRIP......................................................................................................... 11-262
SUBSTFONT ................................................................................................. 11-262
UPCA ............................................................................................................ 11-263
VSUB ............................................................................................................ 11-264
VSUB2 .......................................................................................................... 11-266
VSUB3 .......................................................................................................... 11-267

VIPP Reference Manual (9/2003) xi


Table of contents

Variables ................................................................................................................... 11-268


AUTOGRID.................................................................................................... 11-268
BACK ............................................................................................................ 11-269
BLGRID......................................................................................................... 11-269
CLIP.............................................................................................................. 11-270
COLW ........................................................................................................... 11-270
CPCOUNT ..................................................................................................... 11-271
CURLINE....................................................................................................... 11-271
D_DD ............................................................................................................ 11-272
D_DOY.......................................................................................................... 11-272
D_DWL.......................................................................................................... 11-272
D_DWS ......................................................................................................... 11-272
D_MO ........................................................................................................... 11-273
D_MOL.......................................................................................................... 11-273
D_MOS ......................................................................................................... 11-273
D_YY ............................................................................................................ 11-274
D_YYYY ........................................................................................................ 11-274
DJDECMD ..................................................................................................... 11-274
DJDEPAR...................................................................................................... 11-275
FRCOUNT ..................................................................................................... 11-275
FRLEFT......................................................................................................... 11-276
HCOLOR ....................................................................................................... 11-276
HDISP ........................................................................................................... 11-276
HPOS............................................................................................................ 11-277
HPOS2 .......................................................................................................... 11-277
LNCOUNT ..................................................................................................... 11-277
LPCOUNT ..................................................................................................... 11-278
LPINDEX ....................................................................................................... 11-278
LSP............................................................................................................... 11-279
PAGEH.......................................................................................................... 11-279
PAGEW......................................................................................................... 11-280
PDFDEVICE .................................................................................................. 11-280
PPCOUNT ..................................................................................................... 11-281
PRODUCT ..................................................................................................... 11-281
RPCOUNT ..................................................................................................... 11-282
RPEPOS ....................................................................................................... 11-282
RPLEFT ........................................................................................................ 11-284
SHEETH........................................................................................................ 11-284
SHEETW ....................................................................................................... 11-284
SHPOS.......................................................................................................... 11-285
SVPOS.......................................................................................................... 11-285
T_AMPM ....................................................................................................... 11-285
T_HH ............................................................................................................ 11-286
T_HH2........................................................................................................... 11-286
T_MM............................................................................................................ 11-286
T_SS............................................................................................................. 11-286
T_TZN........................................................................................................... 11-287
TLGRID ......................................................................................................... 11-287
VDISP ........................................................................................................... 11-288
VPOS ............................................................................................................ 11-288
XGFVER........................................................................................................ 11-288
XMLATL ........................................................................................................ 11-289
XMLATN........................................................................................................ 11-289
XMLATV ........................................................................................................ 11-289

VIPP Reference Manual (9/2003) xii


Table of contents

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

VIPP Reference Manual (9/2003) xiii


Table of contents

Section Five: Printers, Programs, and Migration

Using VIPP on specific printers


VIPP considerations for DocuPrint NPS ............................................................................ 13-1
Production and Demonstration mode .................................................................... 13-1
Preprocessing capabilities ................................................................................... 13-1
DocuPrint NPS XGFNub...................................................................................... 13-2
DocuSP print queue ................................................................................ 13-2
Color rendering on DocuPrint NPS for GEPkeys .................................................... 13-3
Duplex printing with VIPP DocuPrint NPS.............................................................. 13-3
Using SETMEDIA with DocuPrint NPS.................................................................. 13-3
VIPP considerations for DocuSP ...................................................................................... 13-5
Production and Demonstration mode .................................................................... 13-5
Preprocessing capabilities ................................................................................... 13-5
DocuSP, FTP, and NFS ...................................................................................... 13-5
VIPP considerations for DocuColor .................................................................................. 13-6
Unsupported commands...................................................................................... 13-6
Required VIPP commands................................................................................... 13-6
TIFF images....................................................................................................... 13-6
Limitations when printing VIPP jobs on Xerox decentralized printers .................................... 13-7
Using Decomposition Services ............................................................................. 13-7
Using CACHE SCALL and CACHE SETFORM...................................................... 13-7
Running the file in a form definition ....................................................................... 13-8
Running the file in an inline form definition............................................................. 13-8
Storing VIPP resources on DocuPrint N-series disks .......................................................... 13-8
VIPP command differences ............................................................................................. 13-9

VIPP and DigiPath


DigiPath description........................................................................................................ 14-1
VIPP API description ...................................................................................................... 14-2
How VIPP calls the RDO file............................................................................................ 14-3
Hidden Text ................................................................................................................... 14-5
Entering Hidden Text .......................................................................................... 14-6
Editing a Hidden Text entry.................................................................................. 14-7
Using an RDO file in a VIPP job ....................................................................................... 14-9

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

VIPP Reference Manual (9/2003) xiv


Table of contents

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

Section Six: Getting the Most Out of VIPP

Design and debugging


Resource creation and maintenance ................................................................................ 17-1
Text editors ........................................................................................................ 17-1
Document applications ........................................................................................ 17-1
Image tools ........................................................................................................ 17-2
Resource libraries............................................................................................... 17-2
Application design .......................................................................................................... 17-2
Debugging and documentation tools................................................................................. 17-2
Error handling ................................................................................................................ 17-3
PostScript errors................................................................................................. 17-3
VIPP errors ........................................................................................................ 17-3
Error sheet ......................................................................................................... 17-3
Link file execution ............................................................................................... 17-3
Locating the cause of an error.............................................................................. 17-4

VIPP Reference Manual (9/2003) xv


Table of contents

Hints and tips


Fonts ............................................................................................................................ 18-1
Fixed pitch and barcode fonts .............................................................................. 18-1
Using PostScript files with embedded fonts as forms in VIPP .................................. 18-1
Layout ........................................................................................................................... 18-2
Assigning Skip to channel one to various top-of-forms ............................................ 18-2
Cycle form capability in VIPP ............................................................................... 18-2
Improving shading differentiation using DDGs........................................................ 18-3
Overprinting a line for a bold font effect ................................................................. 18-3
Printing data on back forms ................................................................................. 18-4
Printing two copies at once side by side ................................................................ 18-5
Processing PCCs and VFUs ................................................................................ 18-6
Setting automatic font size................................................................................... 18-6
Setting bold in the center of a record or line........................................................... 18-6
Setting multiple forms in a job .............................................................................. 18-7
Setting page breaks in line mode.......................................................................... 18-8
Suppressing vertical displacement with empty fields in a DBM ................................ 18-8
Switching between multi-up and one-up ................................................................ 18-9
Using cycle forms and cycle JDTs ........................................................................ 18-9
Using data grouping and multi-up in database mode ............................................ 18-10
Using highlight color to print negative numbers .................................................... 18-10
Using SETMULTIUP in database mode .............................................................. 18-11
TIFF files ..................................................................................................................... 18-11
Dynamic TIFF file placement in line mode ........................................................... 18-11
ICALL in a JDT ................................................................................................. 18-12
Locating TIFF images in multiple directories ........................................................ 18-13
Merging data with TIFF files ............................................................................... 18-14
TIFF file performance considerations .................................................................. 18-15
Adding GEPkeys .......................................................................................................... 18-15
Creating a VIPP self-contained PostScript file ................................................................. 18-16
Ignoring the number of lines at the beginning of each file.................................................. 18-16
Including a PostScript-generated chart in a VIPP job........................................................ 18-17
Managing VIPP resources ............................................................................................. 18-17
Incorporating highlight color in decomposition forms ........................................................ 18-18
Printing with special languages and accented characters.................................................. 18-18
VIPP and double-byte printing ....................................................................................... 18-18
VIPP and EBCDIC........................................................................................................ 18-19

VIPP Reference Manual (9/2003) xvi


Table of contents

VIPP file examples


Example 1: Bank statement with images using native mode................................................ 19-2
Print file ............................................................................................................. 19-2
Form file ............................................................................................................ 19-3
Example 2: Sales report using line mode .......................................................................... 19-5
Print file ............................................................................................................. 19-5
Job Descriptor Ticket file ..................................................................................... 19-6
Example 3: Sales report using RPE line mode................................................................... 19-9
Print file ............................................................................................................. 19-9
Form file .......................................................................................................... 19-10
Job Descriptor Ticket file ................................................................................... 19-11
Example 4: Invoice using RPE prefixed line mode ........................................................... 19-14
Print file ........................................................................................................... 19-14
Form file .......................................................................................................... 19-15
Job Descriptor Ticket file ................................................................................... 19-18
Example 5: Mailing using database mode ....................................................................... 19-21
Print file ........................................................................................................... 19-21
Data Base Master file ........................................................................................ 19-21
Example 6: Bank statement using dynamic boxes and Data Driven Graphics ..................... 19-25
Print file ........................................................................................................... 19-25
Job Descriptor Ticket file ................................................................................... 19-27

Section Seven: Index

Index

VIPP Reference Manual (9/2003) xvii


Table of contents

VIPP Reference Manual (9/2003) xviii


Section One:
Introduction

The VIPP Reference Manual has been expanded and reformatted to


include installation instructions and additional information on the practical
uses of VIPP.
This Section of the VIPP Reference Manual provides an overview of the
VIPP program and documentation. It gives you the background
information you need to use this manual. It also provides an overview of
VIPP data streams, and the modes in which VIPP is used.
VIPP Reference Manual (9/2003)
Getting started

Variable Data Intelligent PostScript PrintWare (VIPP) software, is


PostScript output device-resident software that provides the means to
print complex documents on a variety of print devices in monochrome,
highlight color, and full color at production speeds. VIPP features and
functions provide enhanced variable data printing performance through
the use of cached object elements, dynamic text flow, data driven
graphics, data formatting, conditional processing, and workflow
improvements.
VIPP is supported on these devices:
• DocuPrint NPS (monochrome and color)
• DocuSP, including iGen3
• DocuColor, EFI and Creo controllers, (including Creo iGen3)
• DigiPath
Limited support is provided on these printers:
• DocuPrint N-series
• DocumentCentre
• Phaser printers
This document provides the information you need to create VIPP
applications. The information in this chapter provides an overview of VIPP
features, functions, and this document.
Throughout this document the term “PDF” refers to Adobe Portable
Document Format files.

VIPP and PostScript


VIPP is a variable document composition and assembly language using a
postfix notation syntax similar to PostScript. For this reason the VIPP
interpreter provided by Xerox has been implemented using the PostScript
language and is required to run inside a PostScript interpreter. Because
of this situation, intermixing VIPP and PostScript code may happen to
work in some circumstances. This kind of “mixed” code is not compliant
with the VIPP language specifications and will break any application or
utility expecting a compliant VIPP data stream. There is no assurance that
such jobs will work correctly with future VIPP releases. For this reason,
“mixed” code is not supported and must be absolutely avoided.
However, PostScript code can be used in self-contained resources (such
as EPS files) to be used as form or segments in a VIPP job.

VIPP Reference Manual (9/2003) 1-1


Getting started

VIPP program overview


The VIPP program is device-resident and requires no extra virtual
memory. Other VIPP resources, such as forms and images, can be
retained on your printer or network. Network traffic and production time
are reduced because only the unformatted variable data file with the initial
start commands is required for printing and imaging.
VIPP commands are a set of page layout functions bundled as a
PostScript prolog, which allow imaging and data processing applications
to produce a data stream output supported by any VIPP-enabled
PostScript output device.
VIPP files are PostScript files that are sent to a VIPP-enabled PostScript
device. A PostScript interpreter with access to VIPP resources is
VIPP-enabled.
VIPP data streams must be processed by a PostScript interpreter, which
accesses resources such as the VIPP prolog code, forms, images, and
JDTs, and other required resources.
VIPP processes data streams in these modes:
• Native mode
• Line mode
• Database mode
• XML mode
The purpose of line mode, database mode, and XML mode as opposed to
native mode, is to keep data production and data presentation as
independent as possible, allowing you to design your layout and update
your jobs without modifying your application.
Legacy output (line data) from COBOL or CICS programs, generated by
your data center and targeted toward fan-fold line printers, can be
enhanced, reformatted, and colorized using VIPP. In addition, VIPP has
composition features that handle other data streams. Delimited database
data, tagged or fixed record data, even-tagged delimited data, such as
output from SAP or other client server type applications, can be formatted
by VIPP.

VIPP Reference Manual (9/2003) 1-2


Getting started

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.

VIPP features and functions


These are highlights of VIPP features and functions.
• Provides optimal throughput and efficiency for image and data
processing applications.
• Supports resource pre-rasterization and caching.
• Allows input of TIFF and JPEG files, VIPP application, PostScript
files, text files (TXT), and Encapsulated PostScript (EPS) including
PS3 commands when VIPP is enabled by a PS3 interpreter.
• Provides direct access to PostScript PDL, which supports rich TIFF
images, curved boxes, and PostScript fonts with scaling and
rotation.
• Speeds the page composition process by composing the pages on
the imaging device when the imaging occurs. Since this is not a
conversion process, no intermediate files are produced.
• Allows applications to remain independent of the evolution of
PostScript. VIPP can use higher-level PostScript operators as soon
as they become available allowing you to take advantage of
performance improvements without modifying your applications.
• Allows printing without converting documents.
• Allows you to print line mode applications on PostScript-enabled
devices using PostScript functions without altering print files.
• Enables PostScript formatting and printing of database and XML
files, including forms and logos, on supported PostScript devices.
• Converts character based information to Code 39, Code 128, EAN,
UPC, 2OF5, POSTNET, PDF417, and MAXICODE barcode output.

VIPP Reference Manual (9/2003) 1-3


Getting started

• Saves network bandwidth since the formatting files and resources


(for example, images) can be stored at each printer and only the
variable data portion of the document is sent for each print run.
• Allows you to take full advantage of powerful PostScript features
without investing in costly PostScript training.
• Enables VIPP document design using third party or Xerox
application design tools. (VIPP IDE - Design environment for
programmers, Lytrod Software Desktop Designer for
non-programmers.)
• Allows production of data-driven graphics from variable input data.
• Provides text highlighting using lines, boxes, shading, and outlines.
• Enables text reflow across frames, including pages.
• Prints multi-page TIFF files, Decomp files, or DigiPath RDO files,
allowing the assembly of pre-composed document segments into a
larger document using conditional logic and data values to drive
construction of the document.
• Arithmetic expressions, which allow you to combine numeric
variables, numeric constants, and arithmetic operators into a single
operand.
• Commands and variables providing expanded support for date and
time.
• VIPP's list of predefined colorkeys now includes solid coated and
uncoated color simulation as supported by DocuSP.
• Support allowing application of a color tint to any CMYK or RGB
colorkey argument to a VIPP command referencing a colorkey.
In addition to the features and functions of the VIPP Core program, VIPP
functionality has been expanded with the addition of these programs:
• VIPP Interactive Development Environment — the VIPP IDE
includes a graphical user interface (GUI), application templates, and
Smart Editor features that simplify the creation and modification of
your VIPP applications. VIPP IDE provides full support of the VIPP
command set in order to create VIPP applications in native mode,
line mode, database mode, and XML mode.
• VIPP Thin Printer — the VTP software allows you to generate Adobe
PDF documents from VIPP-based variable data applications.
• VIPP Projects Manager — the VPM software is a tool that allows you
to view and administer VIPP Projects, and the various VIPP
resources within those projects, on a DocuSP printer or on a
Windows PC.
• VIPP Resource Converter — the resource converter is an application
used on your PC to convert Microsoft Word or Adobe PDF files into
PostScript files for use in VIPP applications.
• VIPP Services — these features and functions act primarily on the
workflow space of your VIPP-enabled device rather than on the
actual composition and assembly of documents. Job service
features are used to provide information about the job or to enable
job processing before printing and imaging occur.

VIPP Reference Manual (9/2003) 1-4


Getting started

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.

VIPP Reference Manual (9/2003) 1-5


Getting started

Section Three: VIPP Files and Resources:


• “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.
Section Four: VIPP Command and Error Code Lists:
• “The VIPP language” describes VIPP commands, markers,
transform functions, variables, and parameters.
• “Error messages” describes common errors and provides a few hints
and tips for problem solving.
Section Five: Printers, Programs, and Migration:
• “Using VIPP on specific printers” describes variations in how VIPP is
handled on some printers.
• “VIPP and DigiPath” provides a brief description of DigiPath and the
information needed to use the VIPP/DigiPath interface.
• “Decomposition Services” describes the printer preprocessing
capabilities added to the DocuPrint NPS and the DocuSP.
• “LCDS migration” provides information, examples, hints, and tips for
LCDS-to-VIPP migration.
Section Six: Getting the Most Out of VIPP:
• “Design and debugging” provides information needed to design and
debug VIPP applications.
• “Hints and tips” provides categorized help information.
• “VIPP file examples” includes several examples of VIPP files
including code and illustrations of its output.

VIPP Reference Manual (9/2003) 1-6


Getting started

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.

NOTE: A note is a hint that assists you in performing a task or


understanding the text. For greater emphasis, notes appear in blue
text.

CAUTION: A caution notifies you that an action or omission may


result in damage to your software or data. For greater emphasis,
cautions appear in red text.

VIPP Reference Manual (9/2003) 1-7


Getting started

VIPP documentation and training


The VIPP family of user documentation consists of these publications:
• Variable Data Intelligent PostScript PrintWare (VIPP) Reference
Manual
• Variable Data Intelligent PostScript PrintWare (VIPP) Interactive
Development Environment (IDE) User's Guide
• VIPP Projects Manager (VPM) User's Guide for DocuSP
• VIPP Projects Manager (VPM) User's Guide for Windows
• VIPP Thin Printer (VTP) User's Guide
• VIPP Resource Converter User’s Guide
• VIPP Services User’s Guide
• VIPP Quick Reference Card
VIPP documents and information can be accessed and downloaded at:
• www.xdss.com (select Free Downloads>Shared Software
Services, then open the VIPP folder to retrieve documentation).
• www.vippcommands.com contains the Variable Data Intelligent
PostScript PrintWare (VIPP) Command Library and software
updates.
• www.xerox-techsupport.com is the Xerox customer forum. Select the
“VIPP Customer Message Forum” to post and answer questions
related to VIPP.
For more information about VIPP training contact your Xerox
representative.

VIPP Reference Manual (9/2003) 1-8


VIPP data streams

VIPP applications can be sent to print in one or more of these modes:


• Native mode — the default, a PostScript data stream comprised of
VIPP commands only.
• Line mode — a non-PostScript data stream processed by the single
VIPP command STARTLM. Line mode is page oriented; it reads a
page of data at a time and prints that data using either listing or RPE
presentation options as defined in a Job Descriptor Ticket (JDT).
• Database mode — a non-PostScript data stream processed by the
single VIPP command STARTDBM. Database mode is record
oriented; it reads one record at a time and calls the Database Master
(DBM), which processes the record data. Each call to the DBM can
use the record data to print one or more pages, one or more lines, or
store the record data in memory for use at a later time.
• XML mode — an XML data stream processed by the single VIPP
command STARTXML. XML data is parsed and then printed on
pages according to the layout instructions contained in an XML Job
Ticket (XJT).
The purpose of line mode, database mode, and XML mode as opposed to
native mode, is to keep data production and data presentation as
independent as possible, allowing you to design your layout and update
your jobs without modifying your application.
Line mode, database mode, and XML mode also enable processing of
data (including conditional processing at the page, record, and field/tag
levels) at the target VIPP-enabled device. This allows you to send data
files directly to the printer, bypassing lengthy composition steps on the
host. The primary advantages of this method are:
• Faster production of the data file at the host
• Minimum amount of data sent over the network
• Optimal processing speed of PostScript at the printer
The data in line or database mode applications is further organized into
records, or lines, which may have one of these structure variants:
• Variable or fixed record length
• Control codes or Printer Control Characters (PCC)
• Line printer or field delimited data
• Non-prefixed or prefixed data
All four variants may be combined, which provides 16 different record
structures.
VIPP native mode, line mode, database, and XML mode commands are
described in “The VIPP language.” Many VIPP commands are available
in all three modes.

VIPP Reference Manual (9/2003) 2-1


VIPP data streams

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

VIPP Reference Manual (9/2003) 2-2


VIPP data streams

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.

Record processing entry


The Record Processing Entry (RPE) presentation option allows each
record to be split into fields that can be printed any number of times and
at any location on the page. RPEs can contain specific presentation
attributes such as position on the page, line spacing, font, color,
alignment, and rotation. The RPE presentation option is initiated by a
STARTLM sequence, which invokes a JDT that contains RPE definitions.
The RPE fields are defined horizontally using one of these:
• character position and field length
• field number
The RPE fields are defined vertically using one of these:
• line number (FROMLINE)
• prefix (SETRPEPREFIX, RPEKEY)
Refer to FROMLINE and RPEKEY for more information.
Field definitions, location on the page, and presentation attributes for a
given group of lines or a given prefix are coded in an RPE definition. Page
delimiting is controlled the same way as in the listing presentation option.
Line printer files built with one data record per page (referred to as
unformatted records) can also be processed, one line per page, using this
option.

VIPP Reference Manual (9/2003) 2-3


VIPP data streams

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.

Database mode is initiated by submitting a database file beginning with a


STARTDBM sequence. STARTDBM passes a DBM name to the VIPP
imager. VIPP reads the first record of the database file and registers the
field names. For subsequent records, VIPP replaces the DBM field names
with the appropriate value, then recomposes and images each page of the
DBM. Dynamic composition of the page occurs when lines and
paragraphs using variables from the database file are reformatted.
Variables can also be used to reference forms, logos, and media.
When no DBM name is provided to the STARTDBM command, a DBM
name must be supplied with each record in a DBM_NAME field. Use this
capability to process a different DBM for each record.
Page transition is controlled by the PAGEBRK command in the DBM.
Page overflow is controlled by the SETLKF command.
Reference database fields in the DBM using one of these methods:
• Use a field name to directly replace a string operand of any native
mode command such as SHx, SETFORM, SETMEDIA, ICALL, or
SCALL.
• Embed the field name(s) in a string, encapsulated between “$$” and
“.”, or between “[=” and “=],” and followed by the VSUB command.
VSUB replaces each field name by its value when the DBM is
processed. Use this method when a field name must be merged with
other fixed text, like a field name occurring in the middle of a
paragraph.
Global page layout definitions (such as duplex, page size, multi-up, index
definitions, and others) can be executed once along with the DBM. Place
the definitions before the STARTDBM command either in the database file
or grouped in a JDT called by SETJDT, or include them in the DBM using
an IF/ENDIF construct.

VIPP Reference Manual (9/2003) 2-4


VIPP data streams

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 data structure overview


XML data is ASCII text data organized in a tree structure.
Each node of the tree has a name, or “tag,” encapsulated between left and
right angle brackets (< and >). Tags are usually found in pairs consisting
of a start-tag and an end-tag.
Each node may contain text between the start and end tags. Nodes with
no contents may be compacted as a single tag called an empty-tag. The
formats of the 3 types of tags are:
• start-tag <Tagname>
• end-tag </Tagname>
• empty-tag <Tagname/>
For more information on the XML language refer to:
http://www.w3.org/TR/REC-xml

VIPP Reference Manual (9/2003) 2-5


VIPP data streams

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 (^).

Example: Assuming this XML data tree:

<invoices>
<invoice>
<customer>
<fname>John</fname>
<lname>Smith</lname>
<phone type=”home”>111.111</phone>
<phone type=”work”>222.222</phone>
....
</customer>
...
</invoice>
...
</invoices>

The node contents “John” will be registered with this VXVpath:

^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

A VXVpath can be abbreviated to any sub-path extracted from its right


part. For example the first VXVpath above can be abbreviated to:

^invoice^customer^fname^customer^fname^fname

Such a sub-path is called a VXVname.


A VXVname is mapped to its VXVpath according to the current context at
the time it is used (see BTA/BTS commands). If a VXVname maps two or
more VXVpaths, VIPP chooses the closest match to the current VXVpath.
If it is not unique the job will abort with the message:
VIPP_ambiguous_name in _name
meaning that the VXVname must be additionally qualified to remove the
ambiguity.

VIPP Reference Manual (9/2003) 2-6


VIPP data streams

A VXVname can be used in the same manner as any variable name to


replace a VIPP command operand, or it can be embedded in a VSUB
string.
When a VXVpath has not yet been created it returns an empty string.
When a node is entered its VXVpath, and all previous VXVpaths that are
children of this node, are reset. For these reasons VXVpaths do not need
to be explicitly initialized or reset.
In addition to native VXVpaths created by the processing of the XML data,
create custom VXVnames using the SETVAR or ADD/SUB commands.
A custom VXVname will be registered with a VXVpath created by
expanding the VXVname with the current VXVpath. Thus, custom
VXVnames benefit from the implicit initialization and reset of VXVpaths.

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

In this example ^customer^hphone and ^customer^wphone are registered


with these VXVpaths:

^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

VIPP Reference Manual (9/2003) 2-7


VIPP data streams

Resource checking mode


Resource checking mode and the parameter /ChkResources have been
deprecated and replaced by “Demographics,” which is a service included in the
VIPP Service Module (VSM). Demographics tracks the job-related information
generated and resources used in a VIPP job. Information collected by this
service can be used for job-estimation, in accounting files, and with integrity
checking systems of output devices. For more details on how to activate and
use these services, refer to VIPP Services User’s Guide.
/ChkResources it is supported for backward compatibility. The statement:

[ /ChkResources PD ] SETPARAMS

will be automatically converted to:

[ /Demographics [ 011PD (reslist.dbf) ] ] SETPARAMS

As a consequence, the VSM module must be active for /ChkResources


statements to work.
Xerox recommends that you update the /ChkResources statements in
your existing code with /Demographics statements as soon as possible.

Linking the data with the JDT, DBM, or XJT


To create the link between the data file and the JDT, DBM, or XJT file, use
one of these methods:
• Use the application program to produce a
STARTLM/STARTDBM/STARTXML sequence at the top of the data
file.
• Use the job or print submission process (for example, JCL or the
print server task) to:
— parse the print file data or print file attributes to determine the
appropriate JDT, DBM, or XJT to use
— concatenate a STARTLM/STARTDBM/STARTXML sequence at
the top of the print file
• Use the print submission process to create a submission file that
references both the print file (SETLMFILE) and the JDT (STARTLM),
or DBM (STARTDBM), or XJT (STARTXML) and forwards it to the
printer rather than the print file.
• Use the XGFNub or Virtual printer setting available on DocuPrint
NPS or DocuSP systems to start the printer using the appropriate
JDT, DBM, or XJT file. This allows just the data file without any
special VIPP start commands to be sent directly to the printer.

VIPP Reference Manual (9/2003) 2-8


VIPP data streams

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.

NOTE: Variable and fixed length records cannot be mixed within a


job.

VIPP Reference Manual (9/2003) 2-9


VIPP data streams

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.

VIPP Reference Manual (9/2003) 2-10


VIPP data streams

Line printer and field delimited data


Data can be formatted either as line printer or as field delimited data.
When formatted as line printer data, each record is a line of data
formatted with a line printer presentation. Print files that consist of line
printer records are intended for printing on impact printers. This format is
intended for use with the Listing or RPE presentation options.
Field delimited records consist of a succession of fields separated by a
predefined field delimiter. In general, these files are produced by a
database extraction. This format is intended for use with database mode
or the Line mode RPE presentation option.
Field delimited is a compact format provided for applications with a finite
number of data items per record, such as mailings, insurance contracts,
and registration files.

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.

Record structures and mode/presentation relationship


This table summarizes the possible associations of the record structures
with modes and presentation options. The shaded areas in the table
reflect the most common associations. Other associations can be used for
documentation or debugging purposes.

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

VIPP Reference Manual (9/2003) 2-11


VIPP data streams

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

VIPP Reference Manual (9/2003) 2-12


VIPP data streams

These functions are mainly intended for line mode:


• Margin settings
• Grid settings such as characters per line and lines per page
• Automatic zebra (green bar), generation, and frame generation
• Processing horizontal tabulations (listing presentation only)
• Processing Backspace characters (listing presentation only)

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.

VIPP Reference Manual (9/2003) 2-13


VIPP data streams

Data Driven Graphics


Data Driven Graphics (DDG) (also known as Business Graphics) allow
you to configure and print bar charts, pie charts, and curve charts. VIPP
DDG commands, DRAWPIE, DRAWBAR, and DRAWCRV are described
in “The VIPP language.”
Examples of DDG coding in native mode are provided in the file
/usr/xgf/demo/samddg.nm. Coding examples of DDG in line mode is
provided in Example 6 in “VIPP file examples” and in the file
/usr/xgf/demo/samddg.lm. For a complete palette of Data Driven Graphics
samples, print the files /usr/xgf/demo/samddg.ps.

Native mode prefix


When using line mode, the application may dynamically invoke VIPP
resources or features by embedding Native Mode Prefix (NMP) records in
the data stream.
These records are identified by a specific prefix followed by one or more
commands processed as VIPP commands rather than printable data. The
default prefix is “%%XGF.” To change the default use the SETNMP
command.
This feature allows you to dynamically change layout settings such as
forms, media, and JDTs on a page-to-page basis, or to directly invoke
resources such as logos and images on the page.
When using PCC record format, the PCC byte associated with an NMP
must be either Skip to channel one or no space. When no PCC is used,
the print-and-space default is ignored for NMP records.
Page dependent NMP records such as SETFORM, SETMEDIA, and
SETJDT must immediately follow a Skip to channel one or Form Feed.
Several consecutive NMP records can be coded.
These are some of the native mode commands that can be used in NMPs:
• PAGEBRK — produces a new page
• SETFORM — calls a form
• SETMEDIA — select a media
• MOVETO — positions the current point
• ICALL/SCALL — calls an image or segment at the current point

NOTE: Use of NMP records may affect the independence of data


production and data presentation.

VIPP Reference Manual (9/2003) 2-14


VIPP data streams

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

VIPP Reference Manual (9/2003) 2-15


VIPP data streams

To optimize performance when changing JDTs on a page-by-page basis,


use the SETJDT command as an NMP as illustrated in this example.

.........
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.

NOTE: Use the %%EOF string to terminate a line mode or database


mode file when the file is received on a communication channel. If you
fail to do so, the job will end correctly only when a timeout occurs or
when the next job is a VIPP or PostScript job that starts with a %!
sequence. Any other scenario can cause unpredictable results.

VIPP Reference Manual (9/2003) 2-16


VIPP data streams

Typical VIPP application diagram


This is a typical VIPP application workflow.

VIPP Reference Manual (9/2003) 2-17


VIPP data streams

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.”

Native mode coding


This is an example of VIPP native mode coding.

%!
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

Line mode file


This is an example of VIPP coding in line mode.

%!
(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

VIPP Reference Manual (9/2003) 2-18


VIPP data streams

Job Descriptor Ticket


This is an example of VIPP coding of a JDT.

%!
%%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

VIPP Reference Manual (9/2003) 2-19


VIPP data streams

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

VIPP Reference Manual (9/2003) 2-20


VIPP data streams

Data Base Master file


This is an example of VIPP coding of a DBM file.

%!
%%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

VIPP Reference Manual (9/2003) 2-21


VIPP data streams

XML mode coding


This is an example of VIPP coding in XML mode.

%!
%%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

/B0 null INDEXBAT


/B1 /CH_XLTG INDEXBAT
/B2 /PB_XLTG INDEXBAT
/B3 /SB_LMEDG INDEXBAT

{ 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

VIPP Reference Manual (9/2003) 2-22


VIPP data streams

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

VIPP Reference Manual (9/2003) 2-23


VIPP data streams

XML
This is a sample of an XML data file.

<?xml version="1.0" encoding="ISO-8859-1" ?>


- <CustomerInfo>
- <Customer>
<USER_ID>10144</USER_ID>
<USER_TITLE>Mr</USER_TITLE>
<USER_FIRST>Pravin</USER_FIRST>
<USER_LAST>Chirac</USER_LAST>
<USER_STR>38 Launde Road</USER_STR>
<USER_POSTCODE>LE2 4HG</USER_POSTCODE>
<USER_CITY>Leicester</USER_CITY>
<USER_COUNTRY>GBR</USER_COUNTRY>
<USER_PHONE>0116 2710581</USER_PHONE>
<USER_EMAIL>pravin.chirac@powerconv.alstom.com</USER_EMAIL>
<USER_BIRTH_DD>31</USER_BIRTH_DD>
<USER_BIRTH_MM>3</USER_BIRTH_MM>
<USER_BIRTH_YY>1961</USER_BIRTH_YY>
<USER_COMPUTER>yes</USER_COMPUTER>
<USER_OPERATINGSYS>Win95</USER_OPERATINGSYS>
<USER_CAMERA />
<USER_MODEL />
<USER_CONNECTION>Memory stick/Floppy Disk Adapter</USER_CONNECTION>
<USER_SONYID>3193750702002196</USER_SONYID>
<USER_SDMENO />
</Customer>
- <Customer>
<USER_ID>10154</USER_ID>
<USER_TITLE>Mr</USER_TITLE>
<USER_FIRST>JAMES</USER_FIRST>
<USER_LAST>BLAIR</USER_LAST>
<USER_STR>PJ</USER_STR>
<USER_POSTCODE>RG8 8LA</USER_POSTCODE>
<USER_CITY>READING</USER_CITY>
<USER_COUNTRY>GBR</USER_COUNTRY>
<USER_PHONE>07970260802</USER_PHONE>
<USER_EMAIL>JAMES777_99@YAHOO.COM</USER_EMAIL>
<USER_BIRTH_DD>31</USER_BIRTH_DD>
<USER_BIRTH_MM>12</USER_BIRTH_MM>
<USER_BIRTH_YY>1985</USER_BIRTH_YY>
<USER_COMPUTER>yes</USER_COMPUTER>
<USER_OPERATINGSYS>Win98</USER_OPERATINGSYS>
<USER_CAMERA />
<USER_MODEL>BERKSHIRE</USER_MODEL>
<USER_CONNECTION>USB cable</USER_CONNECTION>
<USER_SONYID>8386650604002896</USER_SONYID>
<USER_SDMENO />
</Customer>

</CustomerInfo>

VIPP Reference Manual (9/2003) 2-24


Section Two:
Installing VIPP

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 and Production modes


VIPP software can be installed in two modes, Demonstration and
Production.
VIPP may be delivered pre-loaded on your device, or on a CD delivered
as part of the installation kit. In some instances you may need to order the
VIPP Demo Kit from the Xerox Software Library. For information about
your device contact your Xerox representative.
Verify that VIPP is loaded on your device by locating the xgf directory on
the device’s hard drive. If the xgf directory is not present VIPP has not
been loaded onto the device. Refer to “Installation overview” to locate
installation information for your device.

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.

VIPP Reference Manual (9/2003) 3-1


VIPP licensing and installation

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

Install the VIPP software


The VIPP software is delivered with the License Kit. Use this table to
locate the software installation instructions for your device.

If you are installing VIPP on this device: Go to this Chapter:

DocuPrint NPS (monochrome and color) “Installing VIPP on DocuPrint NPS devices”

All DocuSP-based controllers including DocuSP “Installing VIPP on DocuSP devices”


controllers for monochrome and color devices
(including iGen3)

DocuColor, EFI and Creo controllers, (including “Installing VIPP on Creo or EFI DFEs”
Creo iGen3)

DigiPath “Installing the VIPP API for DigiPath”

VIPP Reference Manual (9/2003) 3-2


VIPP licensing and installation

Obtain a VIPP License Request Form


Once the software is installed, follow these instructions to obtain the VIPP
License Request Form:

VIPP-enabled device Instructions

All production-level devices, including Windows only:


DocuPrint NPS, DocuSP, Creo, and EFI.
Locate the xgf directory on the hard drive where the VIPP
software was installed. Then if, during software
installation, you selected:
• A4 — print the vipplrfxe.ps file
• USLetter — print the vipplrfus.ps file
Get the Network Interface Card (NIC) address of the
device. At the DOS command prompt enter:
ipconfig/ all

Solaris only (DocuSP and NPS controllers):


If, during software installation, you selected:
• A4 and you are using:
— DocuPrint NPS — print
/opt/XRXdocuprint/xgf/a4/vipplrfxe.ps
— DocuSP — print /XRXxgf/xgfa4/vipplrfxe.ps
• LE and you are using:
— DocuPrint NPS — print
/opt/XRXdocuprint/xgf/let/vipplrfus.ps
— DocuSP — print /XRXxgf/xgfle/vipplrfus.ps
Get the Host ID for the device, at a command prompt
window, enter:
hostid

DigiPath See “VIPP and DigiPath.”

N-Series Contact your Xerox representative for license and support


information.
Phaser
DocumentCentre

VIPP Reference Manual (9/2003) 3-3


VIPP licensing and installation

Send the license request to Xerox


After your license request is printed and completed, use this table to
determine to whom the request is sent:

For these VIPP-enabled devices: Follow these instructions:

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

DigiPath See “VIPP and DigiPath.”

N-Series, and Phaser Go to the Xerox VIPPManage Installation and User Guide.

Document Centre Contact your Xerox representative.

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.

Complete the installation


Follow the instructions found in the device-specific chapters listed in
Install the VIPP software on page 3-2.

VIPP Reference Manual (9/2003) 3-4


Installing VIPP on DocuPrint NPS
devices

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

Customized file backup


During an upgrade customized VIPP files located in /usr/xgf/src and
/usr/xgf/encoding are overwritten with new files of the same name. The
system automatically copies and renames those directories as a form of
backup for customized files. The back up versions of the original
directories are /usr/xgf/src.$OLDVER and /usr/xgf/encoding.$OLDVER,
where $OLDVER represents the previous version of VIPP. If customized
files exist in either of the original directories, it is your responsibility to
merge the customized contents of those files with the new versions found
in the most recent /usr/xgf/src/ and /usr/xgf/encoding directories.
Typically, customization is done in one of the following files. Even though
the file contents will be backed up during an upgrade installation, it is
recommended that the files be printed as hardcopy backup.
• xgf/src/xgfunix.run — VIPP startup definition file
• xgf/src/xgf.pcc — standard pcc definitions
• xgf/src/xgf.mup — multi-up definitions
• xgf/src/xgf.gep — color and graphical element property (gep) keys
• xgf/src/xgf.bat — background attribute (bat) keys
• xgf/src/xgf.def — VIPP system defaults
• xgf/encoding/fontlist — (found in xgf\encoding)

NOTE: Any previous customization of the VIPP environment will not


be valid in a new upgrade. Copying the old files has the potential of
rendering the new functionality unusable. Any customization will have
to be repeated on the new files after a successful upgrade.

VIPP Reference Manual (9/2003) 4-1


Installing VIPP on DocuPrint NPS devices

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:

Step 1. Log on the system at the “root user” security level.

Step 2. Locate the existing VIPP package name(s), enter:


pkginfo | grep VIP
pkginfo | grep XRXdpxgf
VIP is the package name of the VIPP software as it is loaded as an
upgrade. XRXdpxgf is the package name of the VIPP software as it is
loaded with NPS software.

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.

Step 3. Remove the existing package(s):


pkgrm package name

Where
package name
is the result from Step 2. For example: pkgrm VIPP32

Step 4. Log on in as administrator in the NPS/IPS Command Line administrator


window. Enter:
Privilege Administrator
Password
Contact your system administrator for the correct password.

Step 5. Begin the software installation. Enter:


Install Update From CDROM
You will be prompted for the UNIX root password. Contact your system
administrator for the correct password.

VIPP Reference Manual (9/2003) 4-2


Installing VIPP on DocuPrint NPS devices

Step 6. If you have previously customized your VIPP files enter those changes in
your new files now. See “Customized file backup.”

Step 7. Validate the software installation by printing /usr/xgf/demo/goljob. Place


color stock in trays 1, 2, and 3 as follows:
• Tray 1 — Yellow
• Tray 2 — Green
• Tray 3 — White
The completed job consists of 43 single-sided pages. Pages 1 and 43 are
printed on yellow stock, pages 8, 10, 25, 26, and 27 are printed on green
stock and the remaining pages are printed on white stock.

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 9. See “VIPP licensing and installation” to acquire your license.

Step 10. After you receive your license string, follow one of these two options to
complete the license installation:

To install the license from faxed information.


Log on as “Privilege Administrator” and at the DocuPrint NPS user
interface window, enter:
Install Feature License.
When prompted, enter the information you received from your Xerox
representative. When complete you will see a message similar to this
example:

name> XRX_VIPP_software
expiration date>01-Jan-1999
key> 1EF830EABF32453663D8
IOT serial number> (Leave blank for VIPP license)
Hostid> xxxxxxxx

VIPP Reference Manual (9/2003) 4-3


Installing VIPP on DocuPrint NPS devices

To Install the license from a disk or E-mail.


Copy license.dat from the E-mail to a floppy disk. Insert the floppy
disk into the floppy drive of the NPS controller and at the user
interface enter:
Install FlexLicense From Floppy.
At the prompt, “Floppy disk inserted? (no to quit)” enter:
Y
The system will report the number of licenses that have been
pre-pended to the license file. Then, when prompted for another disk,
enter:
N
Finally, at the “Floppy disk inserted? (no to quit)” prompt, enter:
N

Validate license installation

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:

XRX_VIPP_Software License will expire in xxx days.

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

VIPP Reference Manual (9/2003) 4-4


Installing VIPP on DocuPrint NPS devices

License problem solving


Perform these actions in sequence if the VIPP license string is not
accepted by Install Feature License or Install FlexLicense From
Floppy, or if after a successful installation of the VIPP license string,
Production mode is not activated:
• Use Show License Status to check for the existence of installed
licenses.
• Re-enter the VIPP license string exactly as delivered by your Xerox
representative. Remember that the license string is case sensitive;
enter it exactly as shown. Contact your Xerox representative if you
have any question about a character.
• Check that the correct VIPP license string has been installed in the
corresponding printer. Remember that the VIPP license string is
printer specific. Use the Show Hostid command to display the Host
ID and compare it with the one in the fax sent by your Xerox
representative.
• Check that the Host ID you have provided in the VIPP License
Request Form is correct. If it is not, contact your Xerox
representative.
• Contact your Xerox representative to confirm the accuracy of the
VIPP license string they provided.
• Contact the Xerox Help Line.

VIPP Reference Manual (9/2003) 4-5


Installing VIPP on DocuPrint NPS devices

VIPP Reference Manual (9/2003) 4-6


Installing VIPP on DocuSP devices

Use these instructions to install the VIPP software and license on all
devices driven by the DocuSP controller including iGen3.

Customized file backup


During an upgrade customized VIPP files located in /usr/xgf/src and
/usr/xgf/encoding are overwritten with new files of the same name. The
system automatically copies and renames those directories as a form of
backup for customized files. The back up versions of the original
directories are /usr/xgf/src.$OLDVER and /usr/xgf/encoding.$OLDVER,
where $OLDVER represents the previous version of VIPP. If customized
files exist in either of the original directories, it is your responsibility to
merge the customized contents of those files with the new versions found
in the most recent /usr/xgf/src/ and /usr/xgf/encoding directories.
Typically, customization is done in one of the following files. Even though
the file contents will be backed up during an upgrade installation, it is
recommended that the files be printed as hardcopy backup.
• xgf/src/xgfunix.run — VIPP startup definition file
• xgf/src/xgf.pcc — standard pcc definitions
• xgf/src/xgf.mup — multi-up definitions
• xgf/src/xgf.gep — color and graphical element property (gep) keys
• xgf/src/xgf.bat — background attribute (bat) keys
• xgf/src/xgf.def — VIPP system defaults
• xgf/encoding/fontlist — (found in xgf\encoding)

NOTE: Any previous customization of the VIPP environment will not


be valid in a new upgrade. Copying the old files has the potential of
rendering the new functionality unusable. Any customization will have
to be repeated on the new files after a successful upgrade.

VIPP Reference Manual (9/2003) 5-1


Installing VIPP on DocuSP devices

Software installation
This section contains software installation and upgrade instructions for
VIPP on DocuSP devices.

Step 1. Log on the system at the “root user” security level.

Step 2. Locate the existing VIPP package name(s), enter:


pkginfo | grep VIP

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 3. Remove the existing package(s), enter:


pkgrm package name
Where
package name
is the result from Step 2. For example: pkgrm VIP41LE

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.

VIPP Reference Manual (9/2003) 5-2


Installing VIPP on DocuSP devices

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 9. Select OK.


Repeat the steps described in Step 8 for each paper tray listed in this
table:.

Tray Size Color Type Stock Name

1 US Letter or A4 White Yellow Unspecified

2 US Letter or A4 White Green Unspecified

3 US Letter or A4 White Plain Unspecified

Step 10. Load paper trays 1, 2, and 3 with the paper stocks you programmed in the
previous step.

Step 11. From a terminal window, enter:


cd /usr/xgf/demo

Step 12. To print the Golden Job, enter this command:


print -p <queue name> goljobv,
or use the SUN CDE file manager to print the data file.
The completed job should consist of 43 single-sided. Pages 1 and 43 are
printed on Tray 1 stock (yellow), pages 8, 10, and pages 25 through 27
are printed on Tray 2 stock (green). The remaining pages are printed on
Tray 3 stock (plain).

VIPP Reference Manual (9/2003) 5-3


Installing VIPP on DocuSP devices

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.”

Install the license string

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>

Validate license installation

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.

VIPP Reference Manual (9/2003) 5-4


Installing VIPP on Creo or EFI DFEs

Use these instructions to install the VIPP software and license on a Creo
or EFI DFE.

Customized file backup


During an upgrade customized VIPP files located in /usr/xgf/src and
/usr/xgf/encoding are overwritten with new files of the same name. The
system automatically copies and renames those directories as a form of
backup for customized files. The back up versions of the original
directories are /usr/xgf/src.$OLDVER and /usr/xgf/encoding.$OLDVER,
where $OLDVER represents the previous version of VIPP. If customized
files exist in either of the original directories, it is your responsibility to
merge the customized contents of those files with the new versions found
in the most recent /usr/xgf/src/ and /usr/xgf/encoding directories.
Typically, customization is done in one of the following files. Even though
the file contents will be backed up during an upgrade installation, it is
recommended that the files be printed as hardcopy backup.
• xgf/src/xgfunix.run — VIPP startup definition file
• xgf/src/xgf.pcc — standard pcc definitions
• xgf/src/xgf.mup — multi-up definitions
• xgf/src/xgf.gep — color and graphical element property (gep) keys
• xgf/src/xgf.bat — background attribute (bat) keys
• xgf/src/xgf.def — VIPP system defaults
• xgf/encoding/fontlist — (found in xgf\encoding)

NOTE: Any previous customization of the VIPP environment will not


be valid in a new upgrade. Copying the old files has the potential of
rendering the new functionality unusable. Any customization will have
to be repeated on the new files after a successful upgrade.

VIPP Reference Manual (9/2003) 6-1


Installing VIPP on Creo or EFI DFEs

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 2. Read the Welcome to VIPP window, then click Next.

NOTE: Different levels of software will display different Welcome


messages.

VIPP Reference Manual (9/2003) 6-2


Installing VIPP on Creo or EFI DFEs

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.

VIPP Reference Manual (9/2003) 6-3


Installing VIPP on Creo or EFI DFEs

If this window is displayed:

The system has determined that this is an upgrade to an existing VIPP


installation. If this is correct, click Next to continue. If this is not correct,
or to ensure that no unexpected updates occur, click Back to return to the
previous window and repeat Step 4, or click Cancel to exit the installation.
If this window is displayed:

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.

VIPP Reference Manual (9/2003) 6-4


Installing VIPP on Creo or EFI DFEs

If this window is displayed:

The system has assumed that this is an upgrade to a previous version of


VIPP.
When you upgrade an existing VIPP installation, all duplicate VIPP
customer files will not be updated unless you choose Replace. Select
Next to continue the installation.
When Step 5 has been completed successfully, this window is produced:

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.

VIPP Reference Manual (9/2003) 6-5


Installing VIPP on Creo or EFI DFEs

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.

CAUTION: Do not select StartUp as the VIPP program folder.

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.

VIPP Reference Manual (9/2003) 6-6


Installing VIPP on Creo or EFI DFEs

A window appears showing the installation progress. When the process is


complete, this window is produced:

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

VIPP Reference Manual (9/2003) 6-7


Installing VIPP on Creo or EFI DFEs

Click Yes and/or OK as appropriate.

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.

VIPP Reference Manual (9/2003) 6-8


Installing VIPP on Creo or EFI DFEs

If the system displays the Setup Complete With Warning window, go to


Step 15.

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.

NOTE: Click on Start>Programs>VIPPxx>Get Host ID at any time


to display the valid host ID.

VIPP Reference Manual (9/2003) 6-9


Installing VIPP on Creo or EFI DFEs

Step 16. When this window is produced:

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.

VIPP Golden Job


The VIPP CD-ROM includes many demonstration test files that are
automatically loaded in the \xgf\demo directory on the DFE during
software installation. Upon completion of the licensing and installation
process, the VIPP golden job should be run in order to validate that the
process has been completed successfully.
To submit the VIPP golden job (goljobv) located in the xgf\demo directory,
select File>Import. Scroll to usr\xgf\demo and select the goljobv file.

Back up VIPP resource files


In addition to regular backups of the xgf and xgfc directory structures,
backups should always be performed upon completion of the installation
and prior to reinstalling any software on the DFE, or in the event that
installation of new DFE software is required. Performing frequent backups
will decrease the likelihood of losing important information in the event of
hard drive failure.
The files to back up are the VIPP resource files located in the E:\xgfc
sub-directories and the system files located in the E:\xgf directory.
(Substitute the correct drive designation if your files were not installed on
the E:\ drive.) They should be backed up on a file server or external
device.
Backup is a customer responsibility, and the backup frequency should be
based on the backup procedures in place at the customer site.

VIPP Reference Manual (9/2003) 6-10


Installing VIPP on Creo or EFI DFEs

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.

Obtain the license string


The VIPP license for the DocuColor Series is based on the (NIC) address
of the Ethernet Network adapter card on the DFE.
Navigate to the Windows NT settings panel on the DFE to obtain the NIC
number:
• From the Start menu, choose Programs>Administrative Tools
(Common)>Windows NT Diagnostics.
• From the Windows NT Diagnostics screen, select the Network tab
and click Transports at the bottom of the screen. The NIC number is
displayed.
After obtaining the NIC number, follow these steps to obtain a VIPP
license:

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.

Install the license


To complete the license installation:

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:

VIPP Reference Manual (9/2003) 6-11


Installing VIPP on Creo or EFI DFEs

• Activation during software installation — This is the easiest way to


install the license. Complete instructions are found in Installing VIPP
on Creo or EFI DFEs.
• Simple activation — Use this process to install the VIPP license if
VIPP software has been installed but is running in Demonstration
mode. It is also the default licensing process during software
installation.
• Advanced activation — Use this process to install the VIPP license
in a location other than the default. This option is available during
initial installation or when VIPP is running in Demonstration mode.

NOTE: The C: drive on the DFE is automatically designated as the


default location for the installation unless an alternate location is
specified. To avoid potential space limitations, your Xerox
representative should specify a drive other than the C: drive as the
destination volume.

It is recommended that you install your license in the xgf directory.

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.

Activation during software installation


The simplest way to activate your FlexLM license is to have it available
before beginning the VIPP installation - the installation process will
prompt you for the location of your license file and do all the work
necessary to copy it to the proper location with the proper name,
automatically performing the activation process.
If this message appeared during your VIPP installation:

Then your FlexLM license has already been activated and you do not
need to read the rest of this chapter.

VIPP Reference Manual (9/2003) 6-12


Installing VIPP on Creo or EFI DFEs

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.

Step 2. Rename the license file to license.dat.

Step 3. Activate your license; from the Start menu choose


Programs>VIPPxx>Activate VIPP FlexLM License.
When activation is complete, you will see an Activation Complete dialog,
which indicates that your license has been activated successfully. You
should now be able to print VIPP jobs in Production mode.
If VIPP does not run in Production mode, go to “Unsuccessful activation”
for more information.

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:

VIPP Reference Manual (9/2003) 6-13


Installing VIPP on Creo or EFI DFEs

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.

VIPP Reference Manual (9/2003) 6-14


Installing VIPP on Creo or EFI DFEs

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:

After clicking OK, your system will remain in Demonstration mode.


If you believe that your license file is valid and that you are following the
license activation procedure properly, but you are still unable to
successfully complete the activation procedure, contact your Xerox
representative for assistance.

VIPP Reference Manual (9/2003) 6-15


Installing VIPP on Creo or EFI DFEs

VIPP Reference Manual (9/2003) 6-16


Installing the VIPP API for DigiPath

This chapter describes the basic installation of the VIPP Applications


Program Interface (API) used in conjunction with DigiPath software. The
VIPP API is installed after VIPP has been installed on your VIPP-enabled
devices. Follow the instructions for your specific device to install the VIPP
software.
Installation of the DigiPath software and configuration of the DigiPath
system is described in the Xerox DigiPath Production Software
Installation Guide.
For a description of DigiPath and an overview of the VIPP/DigiPath
interface, see “VIPP and DigiPath” in Section Five of this manual.

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.

In order to enable the VIPP/DigiPath interface, you must have:


• VIPP software
• DigiPath 4.0 or higher Professional Edition Software (DigiPath
Xpress does not support this interface)
The installation process involves:
• DigiPath software installation
• DigiPath/VIPP installation
• VIPP DigiPath API installation on DigiPath
• VIPP/DigiPath configuration (including mounting the DigiPath VDI
directory on the target print device)

VIPP Reference Manual (9/2003) 7-1


Installing the VIPP API for DigiPath

DigiPath software installation


This is a standard DigiPath installation. Refer to the Xerox DigiPath
Production Software Installation Guide for complete instructions on
standard installations.

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.

VIPP Reference Manual (9/2003) 7-2


Installing the VIPP API for DigiPath

VIPP DigiPath API installation on DigiPath


The VIPP CD-ROM contains an API, or plug-in, for DigiPath. It is in a
DigiPath directory on the VIPP CD. To install the API:

Step 1. Insert the VIPP software CD-ROM into the CD-ROM drive.

Step 2. Cancel out of the VIPP installation procedure if it auto-initializes.

Step 3. Use Microsoft Explorer to open the CD drive.

Step 4. Open the DigiPath folder on the CD.

Step 5. Double-click the installation file setup.exe.


The installation process checks for a valid version of DigiPath. If a valid
version of DigiPath software is not present, the installation will exit.You
must load a valid version of DigiPath before continuing with this
installation.
If a valid installation of DigiPath is found, the VIPP installation will
continue automatically.
Once finished, the PC must be re-booted.

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

VIPP Reference Manual (9/2003) 7-3


Installing the VIPP API for DigiPath

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).

In this example, the RDO structure is placed in the Brochures folder,


which is contained in the Marketing folder. Notice how the RDO files and
CON directories get created in Brochures as you specified in the Save
operation under DSM. Notice also that the VDI files are created one level
above the folder that contains the RDO files. Thus, the VDI directory is
actually the Marketing folder, which is the folder that should be NFS
mounted by the printer.

VIPP Reference Manual (9/2003) 7-4


Installing the VIPP API for DigiPath

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.

NFS mount of a DigiPath system


DigiPath uses the Hummingbird NFS Maestro Server software to share,
or export, local directories over the network. This software is installed by
default during the DigiPath installation, but you must configure it to export
the VDI directory. You must also configure the Printer to mount the
exported DigiPath directory. A vippdigipath directory is normally created
under the xgfc directory as the mount point, but in this example we
arbitrarily chose the name VDI_dir.
A network administrator should be involved in setting up the NFS mount
and export of the VDI directory to the target print device. Procedures to
do this will vary from system to system and cannot be documented in this
document.
The procedure below should be used as a guide only. It is based on
mounting a Decomposition Services directory to a DocuSP system. This
procedure is covered in the DigiPath System Administrator Guide, Section
3, Procedure: “Configuring the DocuSP Decomposition Service.” The
configuration process may change based on your network configuration
and your target device.
The critical steps for the DigiPath setup are shown here:

VIPP Reference Manual (9/2003) 7-5


Installing the VIPP API for DigiPath

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:

VIPP Reference Manual (9/2003) 7-6


Installing the VIPP API for DigiPath

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:
.

VIPP Reference Manual (9/2003) 7-7


Installing the VIPP API for DigiPath

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 7. Click Server Status. This window is displayed:

VIPP Reference Manual (9/2003) 7-8


Installing the VIPP API for DigiPath

Step 8. Click Exports. This window is displayed:

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
#

VIPP Reference Manual (9/2003) 7-9


Installing the VIPP API for DigiPath

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.

# mount 13.245.64.152:/G/Product_Z/Marketing /usr/xgfc/VDI_dir


#

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.

CAUTION: The syntax of the /etc/vfstab file may change, depending


on the operating system and/or version in use. Always validate the
correct syntax for your system before making any modifications. The
examples shown are provided for a Solaris 8 system.

VIPP Reference Manual (9/2003) 7-10


Installing the VIPP API for DigiPath

Add an entry along the lines of:

13.245.64.152:/G/Product_Z/Marketing - /usr/xgfc/VDI_dir nfs - yes bg,rw,hard,retry=5

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.

Identify networked print devices


The VIPP software at the print device must be aware of its resource
directory structure. Failure to properly identify a resource path will result
in this error message and the VIPP job will abort.
VIPP_no_valid_path_or_access_denied
The VIPP programmer should work closely with the DigiPath
administrator to ensure that:
• all resource files are located in the DigiPath VDI directory
• the correct mount point has been identified at the print device
• the xgfunix.run file has been modified to point to that directory
The system administrator must create a directory under the xgfc directory
on the print device to match the name of the NFS mount point. Using our
example, a directory called vippdigipath is created in the xgfc directory on
the target print device. For example:
/usr/xgfc/VDI_dir

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.

VIPP Reference Manual (9/2003) 7-11


Installing the VIPP API for DigiPath

Update VIPP initialization files


The xgfunix.run file is located in the /usr/xgf/src directory on all UNIX
based systems. Look for the SETMPATH command and make the
changes shown in bold.

[ (/usr/xgfc/mislib/) % customer path for miscell. files


(/usr/xgf/demo/) % demo path for demo files
(/usr/xgfc/formlib/) % customer path for forms & segments
(/usr/xgf/formlib/) % demo path for forms & segments
(/usr/xgf/encoding/) % demo path for encoding files
(/usr/xgfc/VDI_dir/) % DigiPath path for VDI files
() % null path for full names
] SETMPATH

If you have a Windows-based system, edit xgfdos.run, which is usually


found in C:\xgf\src. The line you enter is shown here. If you have installed
the program on a drive other than C:, replace it with the drive designation
for the xgfc directory,

(C:\\xgfc\\VDI_dir\\) % DigiPath path for VDI files

Add SETMPATH to VIPP job


Alternatively, code a SETMPATH statement into your job to point to the
VDI directory. This method avoids depending on updated VIPP
initialization settings, which may be lost if the printer operating system is
upgraded or reloaded.
This is an example of a SETMPATH statement in a native mode job:

%!PS
XGF
(/usr/xgfc/VDI_dir/) SETMPATH
(ColdCall.vdi) RUN
PAGEBRK

NOTE: If multiple VDI directories are created on the DigiPath system


and they have all been mounted as described in this document, they
will be searched in the order in which they are specified in the
SETMPATH command.

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.

VIPP Reference Manual (9/2003) 7-12


Section Three:
VIPP Files and Resources

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

These VIPP files and utilities are described:


• Link and setup files
— UNIX link file
— DOS link file
— General defaults setup file
• Utilities and demonstration files
— General utilities
— VIPPManage
— VIPP demonstration files
— Miscellaneous PostScript files

Link and setup files


Each VIPP installation includes these editable files:
• UNIX link file
• DOS link file
• General defaults setup file
For your convenience the text version of these link and setup files is
provided in the sections that follow. Each section includes the location
and a brief description of how the file is invoked.

VIPP Reference Manual (9/2003) 8-1


VIPP files and utilities

UNIX link file


The UNIX-to-VIPP link file is provided in /usr/xgf/src/xgfunix.run. This file
must be invoked by a PostScript run command contained in the
initialization file for PostScript interpreters running under a UNIX file
system.

%!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

(/usr/xgf/src/xgf.lic) run % run xgf license


(/usr/xgf/src/xgf.eeh) run % run xgf prolog
%(/usr/xgf/src/vipp.vsm) run % run VIPP Services Module

% Note: The customer may edit the following statements


% to reflect their local configuration.

XGFdict begin % push XGFdict on stack


[ (/usr/xgfc/formlib/) % customer path for forms & segments
(/usr/xgf/formlib/) % demo path for forms & segments
(/usr/xgf/gshared/) % demo path for globally shared forms & segments
(/var/db/forms/) % path for decomp forms (DP/NPS)
] SETFPATH

[ (/usr/xgfc/imglib/) % customer path for images


(/usr/xgf/imglib/) % demo path for images
(/var/db/forms/) % path for decomp images (DP/NPS)
(/var/spool/) % path for decomp images (DocuSP)
] SETIPATH

[ (/usr/xgfc/jdtlib/) % customer path for jdt


(/usr/xgf/jdtlib/) % demo path for jdt
(/usr/xgf/gshared/) % demo path for globally shared jdt files
] SETJPATH
[ (/usr/xgfc/encoding/) % customer path for encoding files
(/usr/xgf/encoding/) % demo path for encoding files
] SETEPATH

[ (/usr/xgfc/mislib/) % customer path for miscell. files


(/usr/xgfc/fontlib/) % customer path to font lib
(/usr/xgf/demo/) % demo path for demo files
(/usr/xgfc/formlib/) % customer path for forms & segments
(/usr/xgf/formlib/) % demo path for forms & segments
(/usr/xgf/encoding/) % demo path for encoding files
(/opt/XRXnps/resources/ps/mislib/) % project access to DocuSP resource list
() % null path for full names
] SETMPATH

VIPP Reference Manual (9/2003) 8-2


VIPP files and utilities

[ (/usr/xgfc/$$FOLDER./$$PROJECT./) % project local paths


(/usr/xgfc/$$FOLDER./fshared/) % project folder shared paths
(/usr/xgfc/gshared/) % project global shared paths
(/usr/xgfc/fontlib/) % project access to font lib
(/usr/xgf/encoding/) % project access to standard encoding
(/usr/xgf/gshared/) % project global shared path
(/opt/XRXnps/resources/ps/mislib/) % project access to DocuSP resource list
] SETPPATH

% Warning!! The following statements must not be moved or edited by the customer.
% To do so may cause unpredictable results.

(/var/spool/data/tmp/xgfspool) SPOOLNAME % XGF spoolfile full name

(/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)

VIPP Reference Manual (9/2003) 8-3


VIPP files and utilities

DOS link file


The DOS-to-VIPP link file is provided in /usr/xgf/src/xgfdos.run. This file
must be invoked by a PostScript run command contained in the
initialization file for PostScript interpreters running under a DOS file
system.
The specified DOS drive can be changed to the drive on which VIPP is
loaded. In this case, the double backslashes (\\) are mandatory as the
backslash is considered an escape character in a PostScript string.

%!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

% Note: The customer may edit the following statements


% to reflect their local configuration.

XGFdict begin % push XGFdict on stack

[ (c:\\xgfc\\formlib\\) % customer path for forms & segments


(c:\\xgf\\formlib\\) % demo path for forms & segments
(c:\\xgf\\gshared\\) % demo path for globally shared forms & segments
] SETFPATH

[ (c:\\xgfc\\imglib\\) % customer path for images


(c:\\xgf\\imglib\\) % demo path for images
] SETIPATH

[ (c:\\xgfc\\jdtlib\\) % customer path for jdt


(c:\\xgf\\jdtlib\\) % demo path for jdt
(c:\\xgf\\gshared\\) % demo path for globally shared jdt files
] SETJPATH

[ (c:\\xgfc\\encoding\\) % customer path for encoding files


(c:\\xgf\\encoding\\) % demo path for encoding files
] SETEPATH

VIPP Reference Manual (9/2003) 8-4


VIPP files and utilities

[ (c:\\xgfc\\mislib\\) % customer path for miscell. files


(c:\\xgfc\\fontlib\\) % customer path to font lib
(c:\\xgf\\demo\\) % demo path for demo files
(c:\\xgfc\\formlib\\) % customer path for forms & segments
(c:\\xgf\\formlib\\) % demo path for forms & segments
(c:\\xgf\\encoding\\) % demo path for encoding files
() % null path for full names
] SETMPATH

[ (c:\\xgfc\\$$FOLDER.\\$$PROJECT.\\) % project local paths


(c:\\xgfc\\$$FOLDER.\\fshared\\) % project folder shared paths
(c:\\xgfc\\gshared\\) % project global shared paths
(c:\\xgfc\\fontlib\\) % project access to font lib
(c:\\xgf\\encoding\\) % project access to standard encoding
(c:\\xgf\\gshared\\) % project global shared path
] SETPPATH

% Warning!! The following statements must not be moved or edited by the customer.
% To do so may cause unpredictable results.

(c:\\xgfspool) SPOOLNAME % XGF spoolfile full name


(c:\\xgf\\src\\xgf.gep) run % run xgf predef. color keys and GEP keys
%(c:\\xgf\\src\\scoat.cck) run % run xgf solid coated color keys
%(c:\\xgf\\src\\sucoat.cck) run % run xgf solid uncoated color keys
(c:\\xgf\\src\\xgf.ddg) run % run data driven graphics
%(c:\\xgf\\src\\xgf.417) run % run PDF417 barcode
%(c:\\xgf\\src\\xgf.max) run % run MaxiCode barcode
(c:\\xgf\\src\\xgf.def) run % run xgf default setting
(c:\\xgf\\src\\xgf.pcc) run % run xgf PCC definitions
(c:\\xgf\\src\\xgf.mup) run % run xgf multi-up definitions
(c:\\xgf\\src\\xgf.bat) run % run predefined BAT keys
end % mandatory (remove XGFdict from dict stack)

VIPP Reference Manual (9/2003) 8-5


VIPP files and utilities

General defaults setup file


The general default setup file is provided in /usr/xgf/src/xgf.def. This file
is invoked from the link file and can be changed to accommodate specific
site defaults and the local language.

%!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
%-----------------------------------------------------------------------------

500 SETBUFSIZE % line buffer length


(%%XGF) SETNMP % Native Mode Prefix (line mode)
(//) SETFTSW % font switch anchor
(:) SETDBSEP % set date base field delimiter
(fontlist) (pcsun) SETENCODING % set default re-encoded font list
(nullfl) null SETENCODING % non reencoded fontlist (Symbol,...)
DOT3 SETUNIT % set unit to 1/300 inch
PORT % set orientation to portrait
100 100 100 100 SETMARGIN % set default margin
2350 SETCOLWIDTH % set default colunm width
80 66 SETGRID % set default grid
0 0 0 0 SETFRAME % set no default frame
1 0 0 SETZEBRA % set no default zebra
() 0 0 SETPAGENUMBER % set no default page numbering
/PNFT /NHE 10 INDEXFONT % set default pagenumber font
/PNCL BLACK INDEXCOLOR % set default pagenumber color
/NCR 0 SETFONT % set auto size font mode with Courier
[ /DecimalPoint 46 % set period as decimal delimiter
/FDecimalPoint 46 % set period as FORMAT decimal delimiter
/FPunctuation 44 % set comma as FORMAT thousand delimiter
/TimeZone -480 % set time zone, +- minutes from UTC. -480 = Pacific Standard
/DaylightSaving [ % set start, end times for Daylight Saving Time
[ 2003 60 96 120 299 120 ] % year adj. sday stime endday endtime
[ 2004 60 95 120 305 120 ] % 2004 +1Hr day95 0200Hr day305 0200Hr
]
/DaysLong [(Sunday)(Monday)(Tuesday)(Wednesday)(Thursday)(Friday)(Saturday)]
/DaysShort [(Sun)(Mon)(Tue)(Wed)(Thu)(Fri)(Sat)]
/MonthsLong [(January)(February)(March)(April)(May)(June)(July)(August)(September)(October
)(November)(December)]
/MonthsShort [(Jan)(Feb)(Mar)(Apr)(May)(Jun)(Jul)(Aug)(Sep)(Oct)(Nov)(Dec)]
/TimeZoneName [(PST)(PDT)] % Time zone names: Standard time, Daylight Saving time
/AmPm [(a.m.) (p.m.)]
/DefaultDate [ 2003 1 1 00 00 00 0 ] % 2003 Jan 1 00:00:00 Standard time
] SETPARAMS
GETDATE % capture initial date&time

%%EndSetup

VIPP Reference Manual (9/2003) 8-6


VIPP files and utilities

Utilities and demonstration files


Each VIPP installation includes both utility and demonstration files.
(Demonstration files are either “Golden Job” or individual demonstration
files.) Detailed descriptions of the files and utilities are found in these
sections:
• General utilities
• VIPPManage
• VIPP demonstration files
• Miscellaneous PostScript files
The utilities listed here are Bourne shell UNIX scripts that can run on most
UNIX systems.
Enter the utility name without any parameters to display the usage
statement and available options. Submit the PostScript and VIPP
demonstration files to any PostScript or VIPP printer.

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.

VIPP Reference Manual (9/2003) 8-7


VIPP files and utilities

• xgfprint — prints an ASCII file on a VIPP printer using VIPP


capabilities. The syntax is as follows:
xgfprint [ -jdt <jdtname> -cpl <cpl> -lpp <lpp> -tab <tablength>-auto
-zebra -2up -dup -tumdup ] [deplpr options] filename
Where:
jdtname
is the name of the JDT used to format the data. The default is
p0.jdt, which is set up with these values:
• portrait 120, 120, 180, 150 (T, B, L, R) margins
• CPL 85 (characters per line; default is 85)
• LPP 70 (lines per page; default is 70)
• black frame with round corners
• RX logo top left
• Courier font
cpl
is the number of characters per line. The default is 85.
lpp
is the number of lines per page. The default is 70.
tablength
is the tabulator value expressed in number of characters. The
default is 8.
deplpr options
are the parameters supported by the deplpr utility. These are
valid only when xgfprint is used to print on a Xerox MRSP printer.
filename
is the name of the file you want to print.
-auto
parses the print file to extract the cpl and lpp values. p0.jdt is
advised when using this option.
-zebra
selects Green Bar printing.
-2up
selects two-up mode printing.
-dup
selects duplex printing.
-tumdup
selects tumble-duplex printing.

VIPP Reference Manual (9/2003) 8-8


VIPP files and utilities

VIPP demonstration files


Use VIPP demonstration files for demonstrations and training exercises.
These files are located in the VIPP demonstration directory. Required
resources are located in the appropriate demonstration libraries (such as
/usr/xgf/formlib). These categories of VIPP demonstration files exist:
• Golden Job
• Individual demonstration files

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 Reference Manual (9/2003) 8-9


VIPP files and utilities

Individual demonstration files


These files are part of the golden job and can be run individually:
• imgdemo.nm — a bank statement with images using native mode
• lis1.lm — a sales report using listing data processing options (gray)
• lis1b.lm — a sales report using listing data processing options (blue)
• rpe2.lm — a sales report using Record Processing Entry (RPE) data
processing options (gray) that includes nested conditions and
variable line spacing
• rpe2b.lm — a sales report using RPE data processing options (blue)
that includes nested conditions and variable line spacing
• rpe5.lm — a sales report using RPE data processing options and
cyclecopy (gray)
• rpe5b.lm — a sales report using RPE data processing options and
cyclecopy (blue)
• billb.lm — an invoice using RPE prefixed data processing options
(blue)
• letter.dbf — a mailing using database mode
• samddgs.lm — a bank statement that demonstrates the usage of
dynamic boxes and Data Driven Graphics

VIPP Reference Manual (9/2003) 8-10


VIPP files and utilities

Miscellaneous PostScript files


Miscellaneous PostScript files are listed here. For further information,
refer to “Standard lists, tables, keys, and attributes.”
These files are located in the top VIPP directory:
• vipplrfus.ps (US) or vipplrfxe.ps (Europe) — the License Request
form. To order VIPP for a specific site, print this file on each printer
and device on which VIPP will run. Complete the required
information on the printed forms. Use this form as instructed by your
Xerox representative.
These files are located in the VIPP demo directory:
• palrgb.ps — prints color samples with RGB coding references. Used
to define new colorkeys.
• samfont.ps — prints a character set sample for each of the fonts
listed in the files xgf/encoding/fontlist and xgf/encoding/nullfl.
• samgep.ps — prints predefined gray GEPkey samples. Refer to
“Standard lists, tables, keys, and attributes” for further information.
• samgepb.ps — prints predefined blue GEPkey samples.
• samgepg.ps — prints predefined green GEPkey samples.
• samgepr.ps — prints predefined red GEPkey samples.
• sambat.ps — prints predefined gray Background Attributes (BATkey)
samples.
• sambatb.ps — prints predefined blue BATkey samples.
• sambatg.ps — prints predefined green BATkey samples.
• sambatr.ps — prints predefined red BATkey samples.
• samddg.ps — prints a palette of Data Driven Graphics (DDG)
samples.
• samlkf.nm — prints a sample of SETLKF usage.
• sampat.nm — prints a palette of predefined pattern samples.
• samxml1.vpc — VIPP project container (VPC) containing an
example of an XML job.
• samxml2.vpc — VIPP project container (VPC) containing an
example of an XML job.

VIPP Reference Manual (9/2003) 8-11


VIPP files and utilities

Additional VIPP programs


Several stand-alone programs are available to use with the VIPP Core,
these programs enhance VIPP and provide GUI features not available in
the basic program.

VIPP Interactive Development Environment (IDE)


The VIPP IDE includes a graphical user interface (GUI), application
templates, and Smart Editor features that simplify the creation and
modification of your VIPP applications. VIPP IDE provides full support of
the VIPP command set in order to create VIPP applications in native
mode, line mode, database mode, and XML mode.
The VIPP IDE is a separately licensed, fully documented program.

VIPP Thin Printer


VIPP Thin Printer (VTP) allows you to generate Adobe PDF documents
from VIPP-based variable data applications.
The VIPP Thin Printer is a separately licensed, fully documented program.

VIPP Projects Manager


VIPP Projects Manager (VPM) allows you to view and administer VIPP
Projects, and the various VIPP resources within those projects, on a
DocuSP printer or from a Windows PC.
The VIPP Projects Manager is a separately licensed, fully documented
program.

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.

VIPP Reference Manual (9/2003) 8-12


VIPP files and utilities

VIPP Resource Converter


The VIPP Resource Converter is used on your PC to convert Microsoft
Word or Adobe PDF files into PostScript files for use in VIPP applications.
The resulting PostScript files can be saved separately or added to existing
VIPP Projects. The resource converter also allows you to add the original
source files to the VIPP Project as appropriate.
VIPP Resource Converter is a 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.

Third party VIPP emitters


Third party VIPP emitters are design tools or document applications that
emit or use VIPP. They can be broken down into these categories:
• VIPP Designers — make VIPP application design easier, using drag
and drop GUIs to design the VIPP templates and job resources.
Examples are Lytrod Software ProForm Designer and Banta’s
Design Merge.
• VIPP Emitters — output a data file to a VIPP-enabled device. An
example is Atlas PrintShop Mail.
Contact your Xerox representative for more information on supported
VIPP tools.

VIPP Reference Manual (9/2003) 8-13


VIPP files and utilities

VIPP Reference Manual (9/2003) 8-14


VIPP resources

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 Reference Manual (9/2003) 9-1


VIPP resources

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.

VIPP core and setup files


VIPP core files are located in the /usr/xgf/src directory and are called by
the link file. Depending on the capability of the device, these files are
executed only once at power up or once per job. The /usr/xgf/src/xgf file
for the Sun platform and the C:\xgf\src\xgfdos link file execute the
/usr/xgf/src/xgfunix.run file on DocuPrint NPS and DocuSP controllers, or
the \xgf\src\xgfdos.run file on DOS systems. The resource paths are
coded in xgfunix.run and xgfdos.run. The core files are as follows:
• xgf or xgfdos — link file
• xgf.lic — license file
• xgf.eeh — VIPP code
• xgf.ddg — Data Driven Graphics module
• xgf.def — general defaults
• xgf.bat — standard Background attribute keys (BATkeys)
• xgf.mup — standard multi-up definitions
• xgf.pcc — standard PCC definitions
• xgfdos.run — DOS core files and resource library paths
• xgfunix.run — UNIX core files and resource library paths
• xgf.417 — PDF417 barcode
• xgf.max — Maxicode barcode
• vipp.vsm — VIPP Services
• sucoat.cck/scoat.cck — Custom colors
• xgf.gep — standard Colorkeys, Pattern keys, and Graphic Element
Property keys (GEPkeys)

VIPP Reference Manual (9/2003) 9-2


VIPP resources

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.

VIPP Reference Manual (9/2003) 9-3


VIPP resources

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.

Hex value PostScript name Character


26 /ampersand &
20 /space
24 /dollar $
2A /asterisk *
41 /A A
32 /2 2
7A /z z

NOTE: Although a character set in a font can be relatively large, byte


values are in the range of 0-255; therefore, the length of the encoding
table is limited to 256. This means that only a subset of 256
characters is available with an encoding table.

VIPP Reference Manual (9/2003) 9-4


VIPP resources

VIPP font lists and encoding tables


Two VIPP commands can be used to select fonts, SETFONT and
INDEXFONT. (For a complete description of VIPP commands refer to “The
VIPP language.”) Any font available to the interpreter can be selected by
these commands using the original PostScript font name. For example:

/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.

% VIPP name PostScript 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.

NOTE: Do not place non-Latin character fonts such as barcode and


postnet in fontlist, they will be unusable.

VIPP Reference Manual (9/2003) 9-5


VIPP resources

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.

NOTE: On DocuSP fontlist and nullfl contain an expanded list of


PostScript fonts. When updating to a new version of VIPP, old
possibly customized files in xgf/encoding will be saved in a directory
called xgf/encoding.xxx, which contains a backup of all VIPP
encoding files.

Encoding tables
VIPP provides these four predefined encoding tables:
• sun8
• pc8
• pcsun
• ebcdic

Creating custom font lists and encoding tables


Custom font lists and encoding tables can be created to meet special
requirements. These must be stored in one of the libraries referenced by
SETEPATH (or SETPPATH in project mode); xgfc/encoding is the
preferred directory.
Follow these steps to create a custom re-encoding table:

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

% New Name PSfont name


/Myfont1 /Times-Roman % PS resource
/Myfont2 /Helvetica % PS resource
/Myfont3 (corporatefont.pfb) % VIPP resource

Where:
New Name
is the new font name
PS font name
is the original font name or font file name

VIPP Reference Manual (9/2003) 9-6


VIPP resources

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

% Incoming Hex value - PostScript Character Name


16#7E /space

Step 3. Activate re-encoding by adding the SETENCODING command to your


JDT file as follows:

(Myencoding.lst) (Myencoding.enc) SETENCODING

Step 4. Select the re-encoded fonts using the SETFONT or INDEXFONT


commands as follows:

/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:

/Myencoding { 16#7E /space } XGFRESDEF


[ /Myfont1 /Times-Roman
/Myfont2 /Helvetica
/Myfont3 (corporatefont.pfb)
] (Myencoding) SETENCODING

VIPP Reference Manual (9/2003) 9-7


VIPP resources

Adding fonts in the VIPP IDE


Additional fonts can be loaded in the VIPP IDE using one of the methods
described below. In these methods “C:\” is used as an example only; if the
VIPP IDE is installed on a different drive use the appropriate drive name.
After the font is loaded, either edit one of the font lists, create a custom
font list, or use in-line coding to code the appropriate SETENCODING
command in your VIPP application.
Only fonts added to the pre-defined font lists will appear in the VIPP IDE
font drop-down menu. Refer to “Adding PostScript fonts” in the Variable
Data Intelligent PostScript PrintWare (VIPP) Interactive Development
Environment (IDE) User’s Guide for more information.

To load the font as a PostScript resource:

Step 1. Copy the font file to the C:\vide2\gsopt directory

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.

To load the font as a VIPP resource:


Copy the font file to the C:\xgfc\fontlib directory or to one of the project
directories if your application is running in project mode.

VIPP Reference Manual (9/2003) 9-8


VIPP resources

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.

VIPP Reference Manual (9/2003) 9-9


VIPP resources

Job Descriptor Tickets


A Job Descriptor Ticket (JDT) is a file that contains the VIPP commands,
which control the page composition of a job.
The VIPP commands contained in the JDT format the data for printing (for
example, by changing the font, orientation, spacing, or by calling forms or
other resources). In general, use JDTs with VIPP line and XML mode.
However, JDTs can also be used with native mode and database mode.
With the exception of Native Mode Prefix (NMP) records, the print file on
which a JDT is applied is a file that consists of line printer or raw data
prefixed records without embedded page composition commands. A JDT
must be stored in one of the libraries referenced by SETJPATH. Invoke
JDTs using STARTLM or SETJDT.

XML Job Tickets


An XML Job Ticket (XJT) is a file that contains instructions on how to
process and arrange 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.
The XJT must be provided as an operand to STARTXML.

Data Base Masters


A Data Base Master (DBM) is a file that contains VIPP native mode
commands and variable references used to control the page composition
of a job. The print file on which a DBM is applied is a file that consists of
field delimited records produced by a database extraction. You must store
DBMs in one of the libraries referenced by SETFPATH. Invoke DBMs
using STARTDBM. For further information, refer to “VIPP data streams.”

NOTE: Any database, mainframe, or PC file that can be extracted to


field delimited records is a candidate for a VIPP database mode
application.

VIPP Reference Manual (9/2003) 9-10


VIPP resources

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.

([=text1.txt=]) VSUB 0 SHP

VIPP Reference Manual (9/2003) 9-11


VIPP resources

Resource access and management


Resources used in a VIPP job, such as forms or segments, may be either
external or embedded in the job. When a resource is not embedded, VIPP
tries to locate and load it from the file system available to the PostScript
interpreter at the time the job is imaged.
Use of external resources greatly reduces the production time and the
size of the print job. Because they are not part of the job, external
resources must be deployed to the file system of the target device prior to
job submission. Production printers and electronic document applications
can share a common resource repository on a network file system where
resources are deployed only once to a single location. When using
desktop printers with a local disk, resources can be deployed to each
printer using tools such as VIPPManage.
Use of embedded resources ensures print job autonomy. This method is
appropriate when the job is sent to a device that is outside the scope of
resource deployment or without a file system, such as a diskless desktop
printer.
Embedded resources, when present in a job, must be grouped either in
the global resource section before the setup section, or in the body
section before a page. In any case they must appear in the data stream
prior to any invocation by a VIPP command.
Embedded resources are loaded in memory and their scope is limited to
the job. They are cleared from memory at the end of the job.
An embedded resource takes precedence over an external resource with
the same name. Test jobs during the development phase can contain
embedded resources that temporarily obscure external resources.
VIPP commands such as SETFORM or SCALL only require the base
name of the resource as an operand. This name is used as a key to embed
the resource. If the resource is not embedded, VIPP looks for the external
resource in a set of directory paths defined by the SETxPATH commands.
This definition is part of the VIPP configuration resident on the target
device. This makes the VIPP data stream device independent, as the
resolution of the resource paths occurs on the device itself.
When VIPP cannot access a resource because it is neither embedded nor
external the job aborts and the error message “VIPP_unable_to_locate”
is reported by the PostScript interpreter along with the resource name.
The XGFRESDEF command describes the various syntax used to embed
resources depending on their type. The resource name used in these
syntax is the name used as an operand in VIPP commands invoking
resources.
Consult your Xerox representative for technical documentation about
applications and emitters that create full autonomous VIPP print jobs
including VIPP core files and resources (also referred to as
“self-contained” jobs).

VIPP Reference Manual (9/2003) 9-12


Standard lists, tables, keys, and
attributes

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.)

Standard font lists and encoding tables


The standard font list and encoding table files are:
• Re-encoded font list file
• PostScript encoded font list file
• ISO Latin 1 encoding table
• PC-8 encoding table file

Re-encoded font list file


The information in these tables is found in xgf/encoding/fontlist. The
default re-encoding table is specified using SETENCODING in
xgf/src/xgf.def; this file is invoked in xgf/src/xgfunix.run and
xgf/src/xgfdos.run.

VIPP font key PostScript font name

NCR Courier

NCRB Courier Bold

NCRO Courier Oblique

NCRBO Courier BoldOblique

NHE Helvetica

VIPP Reference Manual (9/2003) 10-1


Standard lists, tables, keys, and attributes

VIPP font key PostScript font name

NHEB Helvetica Bold

NHEO Helvetica Oblique

NHEBO Helvetica BoldOblique

NHEN Helvetica Narrow

NHENB Helvetica Narrow Bold

NHENO Helvetica Narrow Oblique

NHENBO Helvetica Narrow BoldOblique

NBKL Bookman Light

NBKLI Bookman LightItalic

NBKD Bookman Demi

NBKDI Bookman DemiItalic

NTMR Times Roman

NTMB Times Bold

NTMI Times Italic

NTMBI Times BoldItalic

NPAR Palatino Roman

NPAB Palatino Bold

NPAI Palatino Italic

NPABI Palatino BoldItalic

NNCSR NewCenturySchlbk Roman

NNCSB NewCenturySchlbk Bold

NNCSI NewCenturySchlbk Italic

NNCSBI NewCenturySchlbk BoldItalic

NAGB AvantGarde Book

NAGBO AvantGarde BookOblique

NAGD AvantGarde Demi

NAGDO AvantGarde DemiOblique

NZCMI ZapfChancery MediumItalic

VIPP Reference Manual (9/2003) 10-2


Standard lists, tables, keys, and attributes

VIPP font key Font name Substitute font

NHEL Helvetica Light Helvetica

NHEBL Helvetica Black Helvetica Bold

NHELO Helvetica LightOblique Helvetica Oblique

NHEBLO Helvetica BlackOblique Helvetica BoldOblique

NHEC Helvetica Condensed Helvetica Narrow

NHECB Helvetica Condensed Helvetica Narrow Bold


Bold

NHECO Helvetica Condensed Helvetica Narrow


Oblique Oblique

NHECBO Helvetica Condensed Helvetica Narrow


BoldOb BoldOblique

NKR Korinna Regular Palatino Roman

NKRB Korinna Bold Palatino Bold

NKRI Korinna KursivRegular Palatino Italic

NKRBI Korinna KursivBold Palatino BoldItalic

NGML Garamond Light Times Roman

NGMB Garamond Bold Times Bold

NGMLI Garamond LightItalic Times Italic

NGMBI Garamond BoldItalic Times BoldItalic

VIPP font key Font name Substitute font

NOCRB ocrbmedium Courier

NLG LetterGothic Courier

NUN Univers Helvetica

NFU Futura Helvetica

VIPP Reference Manual (9/2003) 10-3


Standard lists, tables, keys, and attributes

This is an illustration of a sample font list.

VIPP Reference Manual (9/2003) 10-4


Standard lists, tables, keys, and attributes

PostScript encoded font list file


A font list is provided in xgf/encoding/nullfl that is associated with the null
encoding table using SETENCODING in xgf/src/xgf.def. Null encoding
indicates that the original encoding of the PostScript font is retained in the
new font (also referred to as non re-encoded). It is used to assign a
shorter name to fonts that have a nonlatin character set.
.

VIPP font key Postscript font name

NSY Symbol

NZDB ZapfDingbats

ISO Latin 1 encoding table


The ISO Latin 1 encoding table provided in xgf/encoding/sun8 contains
this line of code:

ISOLatin1Encoding aload pop

It calls the PostScript “ISOLatin1Encoding” encoding array and is invoked


using a SETENCODING command. This is the character set used by most
Windows and UNIX systems.

PC-8 encoding table file


The PC-8 table provided in xgf/encoding/pc8 provides information about
the encoded character set for key positions 128 to 255. It is invoked using
a SETENCODING command. Only those characters present in the
PostScript Standard Roman Character Set are encoded. This is the
character set used by MS-DOS systems.

Macintosh character set


The encoding table xgf/encoding/mac provides information about the
encoded character set for key positions 128 through 255 for Macintosh
operating systems. It can be invoked permanently by editing the fontlist
SETENCODING statement in xgf/src/xgf.def; or on a case by case basis
in custom SETENCODINGs
Only those characters in the PostScript Standard Latin Character Set are
encoded.

VIPP Reference Manual (9/2003) 10-5


Standard lists, tables, keys, and attributes

Standard Colorkeys and GEPkeys


Standard VIPP Colorkeys, Graphic Element Property keys (GEPkeys),
and Pattern keys (PATkeys) are provided in the xgf/src/xgf.gep file. This
file is invoked in xgf/src/xgfunix.run and xgf/src/xgfdos.run.
To generate GEPkey samples, print the samgep.ps, samgepb.ps,
samgepg.ps, and samgepr.ps files located in xgf/demo.
This figure contains VIPP grey GEPkey samples.

VIPP Reference Manual (9/2003) 10-6


Standard lists, tables, keys, and attributes

Pattern keys
To generate PATkey samples, print the sampat.nm file located in
/xgf/demo.
This figure contains standard VIPP PATkey samples.

VIPP Reference Manual (9/2003) 10-7


Standard lists, tables, keys, and attributes

Standard Background Attributes


Standard VIPP Background Attributes keys (BATkeys) are provided in the
xgf/src/xgf.bat file. Consult the file xgf.bat to see both black and white and
color BATkeys. The file is invoked in xgf/src/xgfunix.run and
xgf/src/xgfdos.run.
To generate BATkey samples, print the sambat.ps, sambatb.ps,
sambatg.ps, and sambatr.ps files located in xgf/demo.
This figure contains VIPP BATkey samples (sambatb).

VIPP Reference Manual (9/2003) 10-8


Standard lists, tables, keys, and attributes

Solid coated and uncoated custom colors


VIPP supports solid coated and uncoated colors for color-enabled printing
systems.
To use VIPP's custom colors, include the custom colorkeys in your VIPP
applications as you would any colorkey in xgf.gep. The custom colorkeys
are defined in files xgf/src/scoat.cck and sucoat.cck. scoat.cck contains
custom colorkeys for applications printed on coated paper and sucoat.cck
for uncoated paper. (Because of chemical differences between coated
and uncoated papers printed colors may vary from one paper to the other,
even when using the same color setting.)
To make the custom color keys accessible to your application you must
also uncomment the lines of code in xgf/src/xgfdos.run or xgfunix.run that
reference scoat.cck and sucoat.cck by removing the preceding %.
VIPP applications that specify VIPP custom colors will emulate Pantone
colors when printed on Pantone-calibrated systems. These systems will
map VIPP custom color names to their internally stored
Pantone-calibrated values and print the colors defined in the PANTONE
MATCHING SYSTEM®. When these same applications are printed on
color-enabled systems that are not Pantone-calibrated, no mapping of the
colors will be performed and the color output will vary depending on the
system's calibration.

Predefined PCC tables


Predefined PCC tables are provided in the xgf/src/xgf.pcc file. The file is
invoked in xgf/src/xgfunix.run and xgf/src/xgfdos.run. A PCC table is
invoked using a SETPCC command in a JDT.
In addition, the IBM STD2 FCB is provided in a SETVFU definition and a
default SETVFU definition is invoked. Application specific SETVFU
commands must be coded in the corresponding JDTs.

Predefined multi-up definitions


Predefined multi-up definitions are provided in the xgf/src/xgf.mup file.
This file is invoked in xgf/src/xgfunix.run and xgf/src/xgfdos.run.
A pre-defined multi-up definition is used to replicate the original page
image many times on a physical page. As an example, the pre-defined
TWOUP multi-up definition will print two logical pages on one physical
page. This feature is often used in sysout reports, postcard, or label
applications.
A multi-up definition is invoked using SETMULTIUP in a JDT.

VIPP Reference Manual (9/2003) 10-9


Standard lists, tables, keys, and attributes

VIPP Reference Manual (9/2003) 10-10


Section Four:
VIPP Command and Error Code Lists

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

VIPP Reference Manual (9/2003) 11-1


The VIPP language

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.

NOTE: STARTBOOKLET and ENDBOOKLET are only supported on


the Creo DFE, therefore, booklet support using these commands is
only supported on the Creo DFE.

VIPP Reference Manual (9/2003) 11-2


The VIPP language

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:

/vipp_font_name [ /PS_font_name (AFM_filename) ]

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.

Example: This is an example:

/NHE [ /Helvetica (helvetica.afm) ]

VIPP Reference Manual (9/2003) 11-3


The VIPP language

Main and secondary print positions


Main and secondary print positions (PP) refer to the page location (X,Y)
used to place text, images, or segments by the commands detailed below.
Vertical (Y) main and secondary print positions are always identical, and
are referred to as the vertical print position. Only horizontal (X) main and
secondary print positions differ. Main and secondary print positions are
defined as follows:
• Main PP = Horizontal main PP + Vertical PP
• Secondary PP = Horizontal secondary PP + Vertical PP
These commands are used to set or adjust main and secondary print
positions, or to place text or images in a VIPP application:
• MOVETO — sets the initial main and secondary print positions to the
same values.
• SHC, SHJ, SHL, SHMF/SHMf, SHP, SHR, SHT, and SHX — use the
current main print position to:
— place text
— reset the horizontal main PP to the last MOVETO value
— increase the vertical PP downward by the SETLSP value
• SH, SHc, SHj, SHmf, SHp, SHr, and SHt — use the current
secondary PP to place text and set the secondary PP to the position
reached after the text is printed.
• ICALL and SCALL — use the current secondary PP to place images
or segments and leave the secondary PP unchanged, regardless of
the size of the image or segment.
• MOVEH — sets the secondary horizontal PP to a supplied value.
• MOVEHR — sets the secondary PP relative to the last horizontal
main position.
• NL — resets both the main and secondary horizontal PP to the last
MOVETO value and increases the vertical PP downward by the
SETLSP or supplied value.
• PAGEBRK — resets the main and secondary PP to “0,0.”
• SAVEPP — saves the current secondary PP for later use by HDISP,
VDISP, SHPOS, and SVPOS.

VIPP Reference Manual (9/2003) 11-4


The VIPP language

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.

Example: This is an example of usage and syntax for media substitution.

[/MediaSubst<<
(Plain) { 1 setpapertray }
(Letterhead) { 2 setpapertray }
>>]SETPARAMS

If setpapertray is implemented on the device, the VIPP sequence,


(Letterhead) SETMEDIA will cause the paper to be fed from tray 2.
Place the /MediaSubst definition in the xgf/src/xgf.def file on the device
controller so that it can be easily changed when installing new media on
the device.

VIPP Reference Manual (9/2003) 11-5


The VIPP language

Printable text or reference “( )”


Encapsulating parentheses “( )” identify printable text or references as a
string operand for the next VIPP command.
Printable text or references may contain variable names that can be
substituted with a value using the VSUB command.
Printable text or references may contain an octal character preceded by
the “\” character.

Syntax: (printable text or reference)

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 ).”

(Delimiter is \)) SHL

This example prints “Delimiter is \.”

(Delimiter is \\) SHL

This example prints “Delimiter is ($).”

(Delimiter is ($)) SHL

This example prints “Xerox©” (\251 is the octal value for the copyright
symbol).

(Xerox\251) SHL

VIPP Reference Manual (9/2003) 11-6


The VIPP language

VIPP PDF Interactive Features


VIPP PDF Interactive Features (PIF) are a set of VIPP commands that
allow the designer of a VIPP job to create interactive elements when the
VIPP job is rendered into a PDF document.
There are three categories of interactive elements:
• Bookmarks
• Links
• Notes

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.

VIPP Reference Manual (9/2003) 11-7


The VIPP language

RPE command information


Record Processing Entry (RPE) is a presentation option used in line mode
applications that allows each record to be split into fields that can be
printed any number of times and at any location on the page. This option
is also described in “VIPP data streams.”
RPEs can contain specific presentation attributes such as position on the
page, line spacing, font, color, alignment, and rotation. RPE attributes are
initiated by a STARTLM sequence.
The RPE fields are defined horizontally using one of these:
• character position and field length
• field number
The RPE fields are defined vertically using one of these:
• line number (FROMLINE)
• prefix (SETRPEPREFIX, RPEKEY)
Field definitions, location on the page, and presentation attributes for a
given group of lines or a given prefix are coded in an RPE definition; see
RPEDEF and SETRPE for more 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, and
SETPBRK for more information.
Line printer files built with one data record per page (referred to as
unformatted records) can also be processed, one line per page, using
RPE commands.
The commands and variables used for RPE processing are:
• BEGINRPE
• CURLINE
• ENDIFALL
• ENDRPE
• FROMLINE
• INDEXRPE
• NEWGROUP
• NEWPOS
• RPEDEF
• RPEKEY
• RPEPOS
• SETRCD
• SETRPE
• SETRPEPREFIX

Extending FROMLINE and RPEKEY commands


The FROMLINE and RPEKEY commands can be extended by using:
• Conditional processing
• Fixed text
• Align procedure

VIPP Reference Manual (9/2003) 11-8


The VIPP language

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.

VIPP Reference Manual (9/2003) 11-9


The VIPP language

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.

2 BEGINRPE % Begin RPE library

1 FROMLINE % RPE using old syntax


/CND1
[ .... rpe entry .... ]
/ELSE
[ .... rpe entry ... ]

2 FROMLINE % RPE using new syntax


/IF_CND2
[ .... rpe entry .... ]
[ .... rpe entry .... ]
/ELSE /IF_CND3
[ .... rpe entry .... ]
/ELSE /IF_CND4
[ .... rpe entry .... ]
/ENDIFALL

ENDRPE % End RPE library

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.

Examples: This example prints “Description:” at Xpos 70 followed by characters 0 to


29 in the record at Xpos 500 and Ypos 910.

/LFA0 RPEKEY
[ 0 0 70 null 910 50 0 (Description:) /F1 BLACK]
[ 0 0 500 null 910 50 0 30 /F1 BLACK]

This is an example using a variable.

/VAR.LABEL1 (Description:) SETVAR


....
/LFA0 RPEKEY
[ 0 0 70 null 910 50 0 /VAR.LABEL1 /F1 BLACK]

VIPP Reference Manual (9/2003) 11-10


The VIPP language

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 }

{ colwidth align SHP and SHp }

{ colwidth align SHMF/SHMf }

{ scale rotation ICALL }

{ 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]

This is an example that uses the contents of the record positions 30 to 38


as the name of the TIFF image to print 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 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 ]

VIPP Reference Manual (9/2003) 11-11


The VIPP language

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:

expression ::= member | unop member |


expression (binop expression)* |
«expression» | unop «expression»
member ::= numeric-variable | numeric-constant
binop ::= '+' | '-' | '*' | ':' | 'M' | 'm' | 'q' | 'r'
unop ::= - | + | #

numeric-variable ::= any valid VIPP variable with numeric contents


numeric-constant ::= any valid PostScript integer or real

These are the available binary arithmetic operators:


• + — addition
• - — subtraction
• * — multiplication
• : — division
• M — maximum
• m — minimum
• q — quotient
• r — remainder

NOTE: To avoid conflict with variable names, binary operators must


be bracketed with single quotes (i.e., '+', '-', etc.).

The following unary operators are available. Unary operators do not


require single quotes.
• + — positive value
• - — negative value
• # — absolute value
An expression must fit on one line and must not contain PostScript
delimiters such as:
space, /, [, ], {, }, <, >, (, ), or %.
Generally, expressions are evaluated from left to right, however,
multiplication and division expressions are evaluated prior to most other
expressions. Sub-expressions, which are encapsulated between « and »
signs, are evaluated first. (To produce the symbols on a PC keyboard, use
ALT+174 and ALT+175.)

VIPP Reference Manual (9/2003) 11-12


The VIPP language

An arithmetic expression always delivers an integer or real number


(whichever applies) regardless of the types of the members contained in
the expression (integer, real, or numeric string).
A useful application for unary operators is to convert a numeric string to
an integer or real number for accurate numeric comparisons in a condition
statement (IF/ELSE/ENDIF).

Examples: These examples assume these definitions:

/VAR1 100 SETVAR


/VAR2 23 SETVAR

Expressions and results:

VAR1'+'VAR2 123
VAR1'-'VAR2 77
VAR1'*'2 200
VAR1'+'VAR2'*'.35 108.05
«VAR1'+'VAR2»'*'.35 43.05
-VAR2'*'10 -230

Commands using expressions as an operand:

«VAR1'+'VAR2»'*'.35 VAR3 MOVETO


VAR_LM VAR_TM'+'270 VAR_RM'-'VAR_LM 0 S1 DRAWB
COLW'-'420 0 440 90 XLTR_S1 DRAWB

VIPP Reference Manual (9/2003) 11-13


The VIPP language

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.

Syntax: /name [c m y k] SETCOL % for CMYK color definition

/name [r g b] SETCOL % for RGB color definition

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.

VIPP Reference Manual (9/2003) 11-14


The VIPP language

Examples: In an RGB color definition, the RGB color is defined as a percentage of


Red, Green and Blue. The color definition below defines an RGB color
(only three values entered in the array). The three values represent 100%
Red, 0% Green and 0% Blue. The label “RED” has been assigned to this
definition

/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]

In a CMYK color definition, CMYK color is defined as a percentage of


Cyan, Magenta, Yellow and Black.This color definition defines a CMYK
color (four values entered in the array). The values represent 0% Cyan,
100% Magenta and 90% Yellow and 0% Black. The label “CMYK_RED”
has been assigned to the definition.

/CMYK_RED [0 1 .9 0] SETCOL

This is an example of colorkey usage in a VIPP command. In the example


the statement sets the color for all subsequent printed text to the colorkey
value called CMYK_RED as defined in the example above.

CMYK_RED SETTXC

VIPP Reference Manual (9/2003) 11-15


The VIPP language

Solid coated and uncoated color simulation


VIPP's list of predefined colorkeys now includes solid coated and
uncoated color simulation as supported by DocuSP.

NOTE: This functionality is provided as separate modules,


xgf/src/scoat.cck and xgf/src/sucoat.cck, to avoid an unnecessary
increase in virtual memory usage. The modules are deactivated by
default. To activate them, together or separately, edit src/xgfdos.run
on Windows-based systems or src/xgfunix.run on UNIX-based
systems. Uncomment the line(s) containing the “run” command(s) for
xgf/src/scoat.cck and/or xgf/src/sucoat.cck by removing the “%”
character at the first position of the line.

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.

Syntax: (solidcolorname) SETTXC

Example: (PANTONE 7505 CS) SETTXC


To see samples of the solid color keys, print samccc.ps for solid coated
color simulation or samccu.ps for solid uncoated color simulation. Both
files are located in xgf/demo.

Color tints
A color tint can be applied to any CMYK or RGB colorkey argument to a
VIPP command referencing a colorkey (SETTXC, INDEXCOLOR).

Syntax: /colorname~T SETTXC

(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

Examples: Three color tint examples are shown here:

(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%

VIPP Reference Manual (9/2003) 11-16


The VIPP language

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.

Getting the string


Get an acceptable string in one of the following two ways:
• The program generating the data can supply the complete string that
needs to be passed to the barcode font, including all the special
characters.

VIPP Reference Manual (9/2003) 11-17


The VIPP language

• Use the VIPP barcode transform commands. These special VIPP


commands enable you to pass the standard text string to the
transform command. The transform command will modify the input
string and add the required special characters, check digits, etc., as
required (assuming the original input string is valid and the barcode
font you are using is a supported barcode font - VIPP supports fonts
supplied by the Xerox Font Centers).
To use the VIPP POSTNET transform command, you must:
• Call in the Postnet font
• Pass the font the standard postnet code, use the POSTNET VIPP
command to transform the string, and print it using any of the SHx
type commands

Examples: These examples call in the Postnet font:

/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:

/F1 /MB034 12 INDEXFONT % Postnet font


F1 (90404-2534) POSTNET 0 SHP % with the dash

This example enables a barcode transform using an RPE entry.In the


example below the alignment parameter is replaced with a procedure
body containing the POSTNET transform and the SH command:

/F1 /MB034 12 INDEXFONT % Postnet font


5 BEGINRPE
...
10 FROMLINE
[ { POSTNET SH } 0 Xinit Xdisp Yinit Ydisp 11 9 /F1 BLACK ]
..
ENDRPE

VIPP Reference Manual (9/2003) 11-18


The VIPP language

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.

VIPP Reference Manual (9/2003) 11-19


The VIPP language

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

NOTE: The variable type can be either integer or string. A string


variable can be also printed and/or merged with VSUB.

Counters using a string value may hold numbers up to 25 digits.

Leading zeros present at initialization are preserved when the string


is printed.

Example:
/VAR1 (0000) SETVAR
/VAR1 ++
VAR1 SH
will print “0001”.

Mode: This command is applicable in all modes.

Related commands: ADD, SETVAR, SUB

VIPP Reference Manual (9/2003) 11-20


The VIPP language

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

Mode: This command is applicable in all modes.

Related commands: MOVETO, MOVEH

VIPP Reference Manual (9/2003) 11-21


The VIPP language

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.

Syntax: /VARname additem ADD

/^XMLname additem ADD

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:

a number (positive or negative) to be added to the variable if it is itself


a number. It can be either an integer a real or a numeric string. When
large numbers are involved a numeric string is mandatory.
or
an array to be appended to the variable array.
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.

VIPP Reference Manual (9/2003) 11-22


The VIPP language

Examples: These are examples of ADD.

/VAR.CNT1 0 SETVAR
/VAR.CNT1 12 ADD
/VAR.CNT1 -3 ADD

/VAR_SUM (0) SETVAR


/VAR_SUM (1'234'890'566,00-) 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.

/VAR_CHART [] SETVAR % initialize array


...
/VAR_CHART [ VAR_LAB VAR_VAL ] ADD % cumulate label/value pairs
...
x y MOVETO VAR_CHART 800 DRAWPIE % draw chart

Mode: This command is applicable in all modes.

Related commands: ++/--, SETVAR, SUB

VIPP Reference Manual (9/2003) 11-23


The VIPP language

ADVPAGE
ADVPAGE enables various options related to blank page and empty line
processing.

Syntax: option ADVPAGE

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.

Mode: This command is applicable in line mode.

Related command: SETPBRK

BACKSP_off
BACKSP_off disables backspace processing.

Syntax: BACKSP_off

Mode: This command is applicable in line mode only with no RPE.

Related commands: BACKSPP_on

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.

Mode: This command is applicable in line mode only with no RPE.

Related commands: BACKSP_off

VIPP Reference Manual (9/2003) 11-24


The VIPP language

BACKSPP_on
BACKSPP_on enables backspace processing with fixed and proportional
fonts.

Syntax: BACKSPP_on

Mode: This command is applicable in line mode only with no RPE.

Related commands: BACKSP_off, BACKSPF_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

Syntax: { VIPP code } BCALL

Where:
{ VIPP code }
is a fragment of VIPP code that paints an element on the page.

Example: This is an example of BCALL.

{ /NHE 12 SETFONT
RED SETTXC
/UNDL SETTXB
(text text text ... ) 3 SHP
} BCALL

Mode: This command is applicable in all modes.

Related commands: FCALL, MOVETO, SCALL

VIPP Reference Manual (9/2003) 11-25


The VIPP language

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.

NOTE: Do not associate this command with STARTBOOKLET or


ENDBOOKLET, or any print controller imposition feature.

Syntax: BEGINIMP
call to document tiff files
ENDIMP

Example: This is an example of BEGINIMP.

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.

Mode: This command is applicable in native mode and database mode.

Related commands: DUPLEX_off, DUPLEX_on, ENDIMP, ICALL, PAGEBRK, RUNDD,


RUNTIF, TUMBLEDUPLEX_off, TUMBLEDUPLEX_on, TWOUP

VIPP Reference Manual (9/2003) 11-26


The VIPP language

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.

Syntax: { start of page actions } BEGINPAGE

{ start of page actions } /M BEGINPAGE

{ start of page actions } /B BEGINPAGE

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

VIPP Reference Manual (9/2003) 11-27


The VIPP language

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.

/BANNER 10 9 0 5 /eq (FORM=) SETPCD


{IF BANNER
{/VARjdt 0 5 8 /BANNER GETFIELD
($$VARjdt..jdt) VSUB 1 SETJDT
}
ENDIF
}/B BEGINPAGE

To test for a START OF JOB or END OF JOB banner page, use a


BEGINPAGE procedure. This procedure will look for the text START OF
JOB or END OF JOB and if found, set a null form (no form).

/StartBanner 3 3 5 13 /eq (START OF JOB:) SETPCD

/EndBanner 3 3 5 11 /eq (END OF JOB:) SETPCD


{
IF StartBanner EndBanner or
{ null SETFORM } ENDIF
} BEGINPAGE

Use the “or” operator to set the condition to true if either StartBanner or
EndBanner is true.

Mode: This command is applicable in all modes.

Related commands: ENDOFRUN, ENDPAGE, GETFIELD, SLIPSHEET

VIPP Reference Manual (9/2003) 11-28


The VIPP language

BEGINPCC
BEGINPCC starts a PCC table definition used later with the SETPCC
command.

Syntax: /pccname BEGINPCC


value [ pre_skip print_action post_skip ]
......
ENDPCC

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.

Example: This is an example of BEGINPCC.

/ANSI BEGINPCC % (first entry is the default)


16#20 [ 1 true 0 ] % asa blank : space 1 line and print
16#30 [ 2 true 0 ] % asa 0 : space 2 line and print
16#2D [ 3 true 0 ] % asa - : space 3 line and print
16#2B [ 0 true 0 ] % asa + : print without spacing
16#31 [ /SK1 true 0 ] % asa 1 : skip to channel 1 and print
....
ENDPCC

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.”

Mode: This command is applicable in line mode.

Related commands: ENDPCC, SETPCC, SETVFU

VIPP Reference Manual (9/2003) 11-29


The VIPP language

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.

Syntax: Maxrpe BEGINRPE

Where:
Maxrpe
must be equal to or greater than the number of FROMLINE or
RPEKEY commands following BEGINRPE and up to ENDRPE.

NOTE: Theoretically, the maximum number of entries in an RPE


library or in an RPE entry is 65,535. However, a very large number
may affect performance or cause a stack overflow error.

Hints and tips: Refer to INDEXRPE for information on defining several RPE libraries in a
master JDT.

Mode: This command is applicable in line mode.

Related commands: ENDRPE, FROMLINE, INDEXRPE, RPEKEY, STARTLM

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

Mode: This command is applicable in XML mode.

Related commands: ENDXPD, BTA, BTS, ETA, ETS, STARTXML

VIPP Reference Manual (9/2003) 11-30


The VIPP language

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

Mode: This command is applicable only with DocuSP, in all modes.

Related commands: ENDOFSET, ENDOFRUN, STARTOFSET

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

Mode: This command is applicable only with DocuSP, in all modes.

Related commands: ENDOFSET, ENDOFRUN, STARTOFSET

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.

Syntax: (detail_spec) BINDDETAILS

Where:
detail_spec
is the device-specific binding option.

Modes This command is applicable in all modes.

Related command: BIND_on

VIPP Reference Manual (9/2003) 11-31


The VIPP language

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.

Syntax: startbooklet endbooklet BOOKLETRANGE

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.”

Mode: This command is applicable in all modes.

Related commands: STARTBOOKLET, ENDBOOKLET

VIPP Reference Manual (9/2003) 11-32


The VIPP language

BOOKMARK
BOOKMARK creates an interactive bookmark within a PDF file.

Syntax: (input_string) BOOKMARK

(input_string) [ count color style ] BOOKMARK

(input_string) [ /EX opt1 opt2 ] BOOKMARK % extended note

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.

VIPP Reference Manual (9/2003) 11-33


The VIPP language

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.

NOTE: All extended bookmarks within a sub-document must carry


the same opt1 value.

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.

Mode: This command is applicable in all modes.

Related commands: GETFIELD, PDFDEST, SETPIF, INDEXPIF, PDFINFO, PDFOPEN

VIPP Reference Manual (9/2003) 11-34


The VIPP language

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.

Examples: These are examples of BSTRIP_off.

%!
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
....

Mode: This command is applicable in database mode.

Related commands: BSTRIP, GETINTV, STARTDBM

VIPP Reference Manual (9/2003) 11-35


The VIPP language

BTA
BTA starts a tag action definition. It must be coupled with an ETA
command.

Syntax: BTA /VXVkey


{ start tag action }
{ end tag action }
{ partial contents tag action }
ETA

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>

VIPP Reference Manual (9/2003) 11-36


The VIPP language

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.

Mode: This command is applicable in XML mode.

Related commands: BEGINXPD, ENDXPD, BTS, ETA, ETS, STARTXML

VIPP Reference Manual (9/2003) 11-37


The VIPP language

BTS
BTS starts a tag substitution definition. It must be coupled with an ETS
command.

Syntax: BTS /VXVname


(start tag substitution string) |
{ start tag substitution action }
(end tag substitution string) |
{ end tag substitution action }
ETS

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.

NOTE: BTS substitutions take precedence over BTA actions. When a


node matches a BTS entry any matching BTA action will be ignored.

Hints and tips: Use BTS/ETS definitions to substitute tags with font, color, background,
SST or PIF indexes.

VIPP Reference Manual (9/2003) 11-38


The VIPP language

Example: Assuming the following XML fragment:

<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

Mode: This command is applicable in XML mode.

Related commands: BEGINXPD, ENDXPD, BTA, ETA, ETS, STARTXML

VIPP Reference Manual (9/2003) 11-39


The VIPP language

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.

Syntax: (rname) CACHE ... SCALL

(rname) CACHE ... SETFORM

(rname) CACHE ... SETBFORM

[(rname) CACHE (formname) ... ]SETFORM

[(rname) CACHE (formname) ... ]SETBFORM


For additional syntax descriptions refer to SETFORM, SETBFORM, and
SCALL.

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.

{ 50 80 MOVETO (logo1.seg) CACHE SCALL } SETFORM

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)

VIPP Reference Manual (9/2003) 11-40


The VIPP language

Examples: These are examples.

(car1.eps) CACHE .6 SCALL

(car1.eps) CACHE [600 300] 0 22 SCALL %for “fit-in-box” option

[(form1.ps) CACHE (form2.ps) CACHE ] SETFORM

NOTE: The CACHE command has PostScript implementation


compatible with devices that use the Adobe Red Book PostScript
Level 2 forms caching. With this cache method resources are loaded
and retrieved from the cache using device-rasterization format.

Mode: This command is applicable in all modes.

Related commands: SCALL, SETFORM, SETBFORM, SETFPATH, SETIPATH, SETMPATH

VIPP Reference Manual (9/2003) 11-41


The VIPP language

CASE
CASE is an alternative to IF/ELSE/ENDIF for multiple similar tests.
Always use ENDCASE to close the CASE list.

Syntax: CASE reference_variable { default action }


choice1 { action 1 }
choice2 { action 2 }
...
choicen { action n }
ENDCASE

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.

CASE VAR.SCORE {(Dear Sirs,) SHL}


(1) {(Dear Mr. $$NAME.,) VSUB SHL}
(2) {(Dear Mrs. $$NAME.,) VSUB SHL}
(3) {(Dear Miss $$NAME.,) VSUB SHL}
ENDCASE

The syntax can be expanded to include IF/ELSE statements inside a


CASE statement.

CASE VARbranch { null SETFORM } % branch unknown


(7481) { IF STATE (IL) eq
{(Illinoisregion1) SETFORM }
ELSE
{ (region1 ) SETFORM } ENDIF
(7483) { (region1) SETFORM }
(7496) { (region2) SETFORM ]
ENDCASE

Related commands: ENDCASE, IF/ELSE/ENDIF

VIPP Reference Manual (9/2003) 11-42


The VIPP language

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

Use CHKPOINT in a SETPCD command if there is something in the data


that can be used as a trigger between the sets.

/SetStart 1 1 0 6 /eq (Page 1) SETPCD


{ IF SetStart
{ CHKPOINT } ENDIF
} BEGINPAGE
() STARTLM
Page 1
Page 2
Page 3
Page 1
Page 2
Page 3
%%EOF

VIPP Reference Manual (9/2003) 11-43


The VIPP language

Use CHKPOINT with a counter if you have a known and consistant


number of pages in each set (three in this case).

/VARPageCount 1 SETVAR

{ IF VARPageCount 3 eq
{ CHKPOINT
/VARPageCount 1 SETVAR % Resets counter to 1
} ENDIF
} BEGINPAGE

{/VARPageCount ++ } /P ENDPAGE % Increment page count

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.

Mode: This command is applicable in all modes.

Related commands: COLLATE_on, SETCYCLECOPY

VIPP Reference Manual (9/2003) 11-44


The VIPP language

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

NOTE: Any collation command must be coded before the


SETCYCLECOPY command.

Mode: This command is applicable in database mode.

Related command: SETCYCLECOPY

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

NOTE: Any collation command must be coded before the


SETCYCLECOPY command.

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.

Mode: This command is applicable in native mode and line mode.

Related commands: COLLATE_on, COLLATE_dbm, SETCYCLECOPY

VIPP Reference Manual (9/2003) 11-45


The VIPP language

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

NOTE: Any collation command must be coded before the


SETCYCLECOPY command.

Mode: This command is applicable in all modes.

Related commands: CHKPOINT, COLLATE_off, SETCYCLECOPY

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.

Syntax: Linenumber FROMLINE [ c1 c2 ... cn ]COPYRANGE

/rpekeyname RPEKEY [ c1 c2 ... cn ]COPYRANGE


[ align rotate Xinit Xdispl Yinit Ydispl recpos length /font
colorkey ]
...
[ align rotate Xinit Xdispl Yinit Ydispl recpos length /font
colorkey ]

NOTE: This command must be used only with FROMLINE or


RPEKEY.

Hints and tips: Use this command to set up a different layout for each copy.

Mode: This command is applicable in line mode.

Related commands: FROMLINE, RPEKEY, SETCYCLECOPY, SETTXC, SETPAT

VIPP Reference Manual (9/2003) 11-46


The VIPP language

DJDEBEGIN
Use the DJDEBEGIN command to process the LCDS BEGIN parameter
in a PROCESSDJDE procedure.

Syntax: ( DJDE BEGIN parameter ) DJDEBEGIN


“IN” and “CM” LCDS units are supported inside the operand string.
Multiple BEGIN commands are supported through multiple DJDEBEGIN
commands.

Examples: This is an example of DJDEBEGIN.

(1.2 CM, 5 CM) DJDEBEGIN

This is an example in PROCESSDJDE.

{ CASE DJDECMD
...
(BEGIN) { DJDEPAR DJDEBEGIN }
...
ENDCASE
} 0 (DJDE) 3 PROCESSDJDE

NOTE: This command makes an implicit call to SETMULTIUP,


therefore SETMULTIUP cannot be used explicitly when DJDEBEGIN
is used.

Mode: This command is applicable in line mode only.

Related commands: PROCESSDJDE, SETMULTIUP

VIPP Reference Manual (9/2003) 11-47


The VIPP language

DRAWB and DRAWBR


DRAWB draws a box with square corners. DRAWBR draws a box with
rounded corners. The box is outlined and/or filled according to the
GEPkey. These commands support strings as operands allowing you to
use DBM variables as operands.

NOTE: Use DRAWC to draw circles or ellipses.

Syntax: Xpos Ypos width height GEPkey DRAWB

Xpos Ypos width height GEPkey radius DRAWBR

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.

Examples: These are examples illustrating the various uses of DRAWB.

710 1250 1770 950 XLT DRAWB % shaded box


1250 900 1230 0 S1 DRAWB % horizontal line
1250 900 0 1230 S1 DRAWB % vertical line
710 1250 1770 950 LT_S1 30 DRAWBR % shaded box + border + round corners
110 300 220 220 D1 110 DRAWBR % circle

Mode: These commands are applicable in all modes.

Related command: DRAWC

VIPP Reference Manual (9/2003) 11-48


The VIPP language

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 value1 lab2 value2 … labN valueN ]width height option


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

ddg_index width height DRAWBAR

ddg_index 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

VIPP Reference Manual (9/2003) 11-49


The VIPP language

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.

Examples: This is an example of DRAWBAR.

[ (FF) 100 (US$) 250 (DM) 150 ] 300 200 DRAWBAR


[ (FF) 100 (US$) 250 (DM) 150 ] 300 200 /117 DRAWBAR

This is an example of DRAWBAR with multiple values stacked.

[ (FF) [ 100 20 87 ](US$) [ 250 120 350 ] (DM) [ 150 75 123 ] ]


300 200 [ /SpotLabels [ (Cash) (Checks) (Credit Cards) ] /ColorTable [ RED BLUE GREEN] ]
DRAWBAR

Mode: This command is applicable in all modes.

Related commands: SETPARAMS, RPEKEY, FROMLINE, DRAWPIE, DRAWCRV

VIPP Reference Manual (9/2003) 11-50


The VIPP language

DRAWBM and DRAWBRM


DRAWBM draws multiple boxes with square corners. DRAWBRM draws
multiple boxes with rounded corners. The boxes are outlined and/or filled
according to the GEPkey. These commands also support strings as
operands allowing you to use DBM variables as operands.

NOTE: Use DRAWC to draw circles or ellipses.

Syntax: Xpos Ypos width height GEPkey repeat Xdispl Ydispl DRAWBM

Xpos Ypos width height GEPkey radius repeat Xdispl Ydispl


DRAWBRM

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.

Example: This is an example.

120 360 1160 45 LT 20 0 100 DRAWBM % zebra

Mode: These commands are applicable in all modes.

Related commands: DRAWC

VIPP Reference Manual (9/2003) 11-51


The VIPP language

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.

Syntax: Xpos Ypos width height GEPkey DRAWC

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.

Examples: These examples illustrate the various uses of DRAWC:

710 1250 900 900 S1 DRAWC % outlined circle

710 1250 900 900 XLT_S1 DRAWC % shaded and outlined circle

710 1250 900 600 S1 DRAWC % outlined horizontal ellipse

710 1250 600 900 XLT DRAWC % shaded vertical ellipse

Mode: This command is applicable in all modes.

Related commands: SETGEP, DRAWBR

VIPP Reference Manual (9/2003) 11-52


The VIPP language

DRAWCRV
DRAWCRV draws a curve chart. This command places the bottom left
origin of the chart at the current secondary print position.

Syntax: [ label/value list ] width height DRAWCRV

[ label/value list ] width height option DRAWCRV

ddg_index width height DRAWCRV

ddg_index width height option DRAWCRV

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.

VIPP Reference Manual (9/2003) 11-53


The VIPP language

Examples: This is an example of DRAWCRV.

[ (FF) 100 (US$) 250 (DM) 150 ] 300 200 DRAWCRV


[ (FF) 100 (US$) 250 (DM) 150 ] 300 200 /83 DRAWCRV

This example shows how to draw three stacked charts:

[/3D true /MaxVal 1000 /MinVal 500 /BGColor XLGREEN ] SETPARAMS


[ (1998) 623 (1999) 556 (2000) 690 ] 1600 900 [ /ColorTable [RED] ] DRAWCRV
[ () 720 () 656 () 840 ] 1600 900 [ /Stack true /ColorTable [GREEN] ] DRAWCRV
[ () 840 () 956 () 590 ] 1600 900 [ /Stack true /ColorTable [BLUE] ] DRAWCRV

Mode: This command is applicable in all modes.

Related commands: SETPARAMS, RPEKEY, FROMLINE, DRAWPIE, DRAWBAR

VIPP Reference Manual (9/2003) 11-54


The VIPP language

DRAWPIE
DRAWPIE draws a pie chart. This command places the center of a pie
chart at the current secondary print position.

Syntax: [ label/value list ] radius DRAWPIE

[ label/value list ] radius option DRAWPIE

ddg_index radius DRAWPIE

ddg_index radius option DRAWPIE

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.

Example: This is an example of DRAWPIE.

[ (FF) 100 (US$) 250 (DM) 150 ] 200 DRAWPIE


[ (FF) 100 (US$) 250 (DM) 150 ] 200 [/3D true /3DThickness .8
/ColorTable [BLUE GREEN RED] ] DRAWPIE
[ (FF) 100 (US$) 250 (DM) 150 ] 200 /29 DRAWPIE

Mode: This command is applicable in all modes.

Related commands: SETPARAMS, RPEKEY, FROMLINE, DRAWBAR, DRAWCRV

VIPP Reference Manual (9/2003) 11-55


The VIPP language

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.

Example: This is an example of DRAWPOL.

[ 200 200 1240 3300 2280 200 ] LMED_S1 DRAWPOL % draws a triangle

Mode: This command is applicable in all modes.

Related commands: DRAWB and DRAWBR

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

Mode: This command is applicable in all modes.

Related commands: BCALL, DUPLEX_on, ENDIMP, TUMBLEDUPLEX_off,


TUMBLEDUPLEX_on

VIPP Reference Manual (9/2003) 11-56


The VIPP language

DUPLEX_on
DUPLEX_on enables duplex printing. The default is DUPLEX_off.

Syntax: DUPLEX_on

Mode: This command is applicable in all modes.

Related commands: BCALL, DUPLEX_off, ENDIMP, TUMBLEDUPLEX_off,


TUMBLEDUPLEX_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

Mode: This command is applicable in all modes.

Related commands: SETPARAMS, STARTBOOKLET

ENDCASE
ENDCASE must close the CASE list. Use this command only with the
CASE command.

Syntax: ENDCASE

Related command: CASE

ENDCLIP
ENDCLIP cancels the clipping area defined by a previous command using
a CLIP GEPkey.

Syntax: ENDCLIP

Mode: This command is applicable in all modes.

Related command: COLLATE_dbm

VIPP Reference Manual (9/2003) 11-57


The VIPP language

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.

Example: This is an example.

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

Mode: This command is applicable in line mode.

Related commands: None

VIPP Reference Manual (9/2003) 11-58


The VIPP language

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.

NOTE: Do not associate this command with STARTBOOKLET or


ENDBOOKLET, or any print controller imposition feature.

Syntax: BEGINIMP
call to document tiff files
ENDIMP

Example: This is an example of ENDIMP.

TWOUP
TUMBLEDUPLEX_on
BEGINIMP
(report1.ps) RUNDD
ENDIMP

Mode: This command is applicable in all modes.

Related commands: BCALL, DUPLEX_on, ICALL, PAGEBRK, RUNDD, RUNTIF,


TUMBLEDUPLEX_on, TWOUP

VIPP Reference Manual (9/2003) 11-59


The VIPP language

ENDJOB
Use ENDJOB to define a sequence of actions to execute at the end of a
job.

Syntax: {additional actions} ENDJOB

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.

Example: This is an example.

{ PAGEBRK
/NHE 30 SETFONT
200 3000 MOVETO
(This job printed $$PPCOUNT. pages) VSUB 0 SHP
PAGEBRK
} ENDJOB

Mode: This command is applicable in line mode and database mode.

Related commands: STARTDBM, STARTLM

VIPP Reference Manual (9/2003) 11-60


The VIPP language

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.

/LASTPAGE 1 60 0 --length-- /eq (endofrun_marker) SETPCD


{IF LASTPAGE { ENDOFRUN } ENDIF } BEGINPAGE

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.

<0C> 021 SETPBRK

The data stream displays as follows.

%!
(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.

NOTE: This feature is only effective on DocuPrint NPS systems with


the MultiSet feature enabled and on DocuSP version 1.32 and later.
For a specific action on the subset, STAPLE_on or OFFSET_on
commands must also be coded in the JDT or at the beginning of the
job. For DocuSP printers, the ENDOFSET and ENDOFRUN
commands are equivalent; there is no differentiation between a “set”
and a “run.”

Mode: This command is applicable in all modes.

Related commands: BEGINPAGE, OFFSET_on, SETPCD, STAPLE_on

VIPP Reference Manual (9/2003) 11-61


The VIPP language

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.

/LASTPAGE 1 60 0 --length-- /eq (endofset_marker) SETPCD


{IF LASTPAGE { ENDOFSET } ENDIF } BEGINPAGE

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.

<0C> 021 SETPBRK

The data stream displays as follows.

%!
(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.

NOTE: This feature is only effective on DocuPrint NPS systems with


the MultiSet feature enabled, and on DocuSP version 1.32 and later.
For a specific action on the subset, STAPLE_on or OFFSET_on
commands must also be coded in the JDT or at the beginning of the
job. For DocuSP printers, the ENDOFSET and ENDOFRUN
commands are equivalent; there is no differentiation between a “set”
and a “run.”

Mode: This command is applicable in all modes.

Related commands: BEGINPAGE, OFFSET_on, SETPCD, STAPLE_on

VIPP Reference Manual (9/2003) 11-62


The VIPP language

ENDPAGE
Use ENDPAGE to define actions that the system will perform at the end
of each page. The default is no actions.

Syntax: {end of page actions} ENDPAGE

{end of page actions} count ENDPAGE

{end of page actions} /P ENDPAGE

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.

Example: This is an example.

{ /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

Mode: This command is applicable in all modes.

Related commands: BEGINPAGE, GETFIELD, SETPCD, SLIPSHEET

ENDPCC
ENDPCC ends a PCC definition. It must be coupled with BEGINPCC.

Syntax: ENDPCC

Mode: This command is applicable in line mode.

Related commands: BEGINPCC, SETPCC, SETVFU

VIPP Reference Manual (9/2003) 11-63


The VIPP language

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

Mode: This command is applicable in line mode.

Related commands: BEGINRPE, FROMLINE, INDEXRPE, RPEKEY

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

Mode: This command is applicable in XML mode.

Related commands: BEGINXPD, BTA, BTS, ETA, ETS, STARTXML

ETA
ETA ends a tag action definition. It must be coupled with an BTA
command.

Syntax: ETA

Mode: This command is applicable in XML mode.

Related commands: BEGINXPD, BTA, BTS, ETS, STARTXML

ETS
ETS ends a tag substitution definition. It must be coupled with an BTS
command.

Syntax: ETS

Mode: This command is applicable in XML mode.

Related commands: BEGINXPD, ENDXPD, BTA, BTS, ETA, STARTXML

VIPP Reference Manual (9/2003) 11-64


The VIPP language

EXIST
The EXIST command tests for the existence of an external or embedded
VIPP resource. This command must be combined with the IF command.

Syntax: IF (resource_name) /rec_type EXIST

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.

Examples: This is an example of EXIST.

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.

IF (truk.tif) /img EXIST


{ 100 200 MOVETO (truk.tif) 1 0 ICALL
}
ELSE
{ 100 200 MOVETO (default.tif) 1 0 ICALL
}
ENDIF

Mode: This command is applicable in all modes.

Related commands: ICALL, SETFORM, SCALL, SETJDT, SETENCODING, RUN, RUNDD

VIPP Reference Manual (9/2003) 11-65


The VIPP language

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.

{ /VAR1 RPCOUNT (###) FORMAT SETVAR


IF (docu$$VAR1..txt) VSUB /dd EXIST
{ BEGINIMP
(docu$$VAR1..txt) RUNDD
ENDIMP
}
ELSE
{EXIT}
ENDIF
} 999 REPEAT

Mode: This command is applicable in all modes.

Related commands: REPEAT, EXIST, IF/ENDIF

VIPP Reference Manual (9/2003) 11-66


The VIPP language

FBIND
FBIND is used exclusively before XGFRESDEF when embedding a VIPP
form in a VIPP job.

Syntax: { form contents } FBIND XGFRESDEF

Mode: This command is applicable in all modes.

Related command: XGFRESDEF

FCALL
FCALL executes a segment in the current context such as font, print, or
position.

Syntax: (Segmentname) FCALL


Segments must be coded in PostScript or VIPP native mode and stored
in one of the formlib libraries defined by SETFPATH in the /usr/xgf/src/xgf
file. Use of the .seg extension is recommended.

NOTE: Unlike SCALL, FCALL is not encapsulated, replacing


(Segmentname) FCALL with the contents of the segment has the
same result. Be aware of possible side effects. Inefficient PostScript
code may affect performance.

The FCALL command can execute a PAGEBRK as part of the


segment definition without affecting performance.

Hints and tips: FCALL may be used to store pieces of frequently used VIPP code or to
print paragraphs down the page.

Mode: This command is applicable in all modes.

Related commands: SCALL, SETFPATH

VIPP Reference Manual (9/2003) 11-67


The VIPP language

FILLOMR
FILLOMR fills in the bubbles and response boxes of an Optical Mark
Reading (OMR) grid.

Syntax: (response string) FILLOMR

(response string) [ parameters ] FILLOMR

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.

VIPP Reference Manual (9/2003) 11-68


The VIPP language

Examples: These are examples of the FILLOMR command:

/Helvetica 15 SETFONT % Font for response string


100 1000 MOVETO % The origin of the top left corner of the grid.
% More specifically, it is the upper left corner
% of the grid cell (OMRHdisp X OMRVdisp) in
% which the first grid bubble is centered.

(398400562874234) [ /OMRMap (0123456789)


/OMRDir /H
/OMRHskip 1
/OMRVskip 2
/OMRHdisp 6
/OMRVdisp 5
/OMRSlugFont /XOMR
/OMRSlugSize 12
/OMRSlugChar (A)
/OMRWriteResp true
] FILLOMR

100 2000 MOVETO


(ACFLEBDGHKJIMON) FILLOMR

Mode: This command is applicable in all modes.

Related commands : SETPARAMS, MOVETO, SETFONT

VIPP Reference Manual (9/2003) 11-69


The VIPP language

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.

Syntax: { sequence of VIPP commands } variable_array_name FOREACH

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.

Example: These examples will print:


John Smith
Paul Martin
Mary White

/VAR_names
[ [ /VAR_fname /VAR_name ]
[ (John) (Smith) ]
[ (Paul) (Martin)]
[ (Mary) (White) ]
] SETVAR

{ ($$VAR_fname. $$VAR_name.) VSUB SHL } VAR_names FOREACH

Mode: This command is applicable in all modes.

Related commands: GETITEM, SETVAR, ADD, REPEAT

VIPP Reference Manual (9/2003) 11-70


The VIPP language

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.

NOTE: FORMSHIFT is only in effect inside a form definition (between


braces) and after the orientation command, if any.

Mode: This command is applicable in all modes.

Related command: SHIFT

VIPP Reference Manual (9/2003) 11-71


The VIPP language

FROMLINE
FROMLINE sets an RPEdefinition to be applied from linenumber. Refer to
RPE command information and to other related RPE commands for more
information.

Syntax: linenumber FROMLINE


[align rotate Xinit Xdispl Yinit Ydispl recpos length
/font colorkey]

[align rotate Xinit Xdispl Yinit Ydispl field_nr /FN


/font colorkey]

[ {proc} rotate Xinit Xdispl Yinit Ydispl recpos length


/font colorkey]

[ {proc} rotate Xinit Xdispl Yinit Ydispl field_nr /FN


/font colorkey]

[ {proc} rotate Xinit Xdispl Yinit Ydispl 0 (resource_name)


/font colorkey]

[ align rotate Xinit Xdispl Yinit Ydispl 0 (my text here)


/font colorkey]

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.

VIPP Reference Manual (9/2003) 11-72


The VIPP language

{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

VIPP Reference Manual (9/2003) 11-73


The VIPP language

This example shows how to capture data (CASH/32.70 and


SHARE/45.28) printed with a FROMLINE definition and use the data to
create a data driven graphic.

Data File
CASH 37,586 32.70
SHARE 26,879 45.28
-----

/GraphData 14 5 /eq (-----) SETRCD


2 BEGINRPE
1 FROMLINE
[ 0.2 0 150 null 150 50 0 10 /F4 BLACK ]
[ 0.1 0 600 null 0 0 24 5 /F4 BLACK ]

/GraphData
[ {SCALL} 0 1500 null 300 50 0 (PIE0) /F3 BLACK ]
/ENDIF
ENDRPE

/PIE0 { 0 300 DRAWPIE } XGFRESDEF

Using FROMLINE to compute print position


The print position for consecutive lines formatted by the same RPE
definition, or RPE group when RPEKEY is used, is computed using one
of these methods:
• Fixed line spacing
• Variable line spacing
Fixed line spacing provides backward compatibility. When the null
keyword is not used in any Xdispl or Ydispl field in the RPE definition, the
print position is computed as follows:
• Xpos=Xinit+Xdispl*LN
• Ypos=Yinit+Ydispl*LN

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.

VIPP Reference Manual (9/2003) 11-74


The VIPP language

Examples: This is an example of fixed line spacing.

% 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.

VIPP Reference Manual (9/2003) 11-75


The VIPP language

This is an example of variable line spacing in which LFA1 records are


using a font (F2) requiring a line spacing (Ydispl = 80) larger than the one
(Ydispl = 50) required with the font (F1) used for LFA0 records.

% Xinit Xdispl Yinit Ydispl


/LFA0 RPEKEY
[ 0 0 70 null 910 50 5 2 /F1 BLACK]
[ 0 0 130 null 0 0 7 22 /F1 BLACK]
[ 1 0 920 null 0 0 29 6 /F1 BLACK]
[ 1 0 1170 null 0 0 35 9 /F1 BLACK]
[ 1 0 1420 null 0 0 44 8 /F1 BLACK]
[ 1 0 1620 null 0 0 52 6 /F1 BLACK]
[ 1 0 1870 null 0 0 58 9 /F1 BLACK]
[ 1 0 2100 null 0 0 67 7 /F1 BLACK]
[ 1 0 2410 null 0 0 74 11 /F1 BLACK]
/LFA1 RPEKEY
[ 0 0 70 null 910 80 5 24 /F2 BLACK]
[ 1 0 2410 null 0 0 74 11 /F2 BLACK]

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,

% Xinit Xdispl Yinit Ydispl


/LFA0 RPEKEY
[ 0 0 70 null 910 50 0 30 /F1 BLACK]
NEWPOS
[ 0 0 1200 null 200 80 0 30 /F3 BLACK]

NEWPOS forces a new independent set of print position values to be kept


in memory.
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.

Hints and tips: TLGRID may be a useful tool when setting up RPE definitions.

Mode: This command is applicable in line mode.

Related commands: BEGINRPE, COPYRANGE, ENDRPE, INDEXRPE, LSP, RPEKEY,


SETPAT, SETPCD, SETRCD, SETTXC

VIPP Reference Manual (9/2003) 11-76


The VIPP language

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.

NOTE: FSHOW should only be used to invoke automatic caching of


forms that contain no variable elements. If a form with variable
elements is cached with FSHOW, only the first variable object will be
in the cache or used in subsequent calls.

Syntax: %!
{ form contents } FSHOW

Mode: This command is applicable in all modes.

Related commands: None

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.

NOTE: Use the G4PMETRIC_off command only when G4 TIFF files


print in reverse. Global use of this command may cause other G4
TIFF files to print incorrectly.

Syntax: G4PMETRIC_off

Mode: This command is applicable in all modes.

Related commands: ICALL, RUNTIF

VIPP Reference Manual (9/2003) 11-77


The VIPP language

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.

VIPP Reference Manual (9/2003) 11-78


The VIPP language

The date variables can be used in conjunction with VSUB to construct an


appropriate time stamp. The following example will print 01/24/2003
16:16:56

($$D_MO./$$D_DD./$$D_YYYY. $$T_HH.:$$T_MM.:$$T_SS.) VSUB SH

The behavior and result of GETDATE are impacted by these parameters:


• /TimeZone — set time zone, +- minutes from UTC (-480 = PST)
• /DaylightSaving — set start, end times for Daylight Saving Time
• /DaysLong — list of day names (long)
• /DaysShort — list of day names (short)
• /MonthsLong — list of month names (long)
• /MonthsShort — list of month names (short)
• /TimeZoneName — time zone names: Standard time, Daylight
Saving time
• /AmPm — AM/PM designations, for example: [(a.m.) (p.m.)]
• /DefaultDate — date used when no file system is available
• /DefinedDate — when present, this date overrides the system date

NOTE: The hours in DefaultDate and DefinedDate must be specified


in 24 hour time.

Refer to “Parameter descriptions” for more details on these parameters.


Default values for these parameters (except /DefinedDate) are defined in
xgf.def. To localize the time- and date-related variables for your area, and
to return values in a language other than English, you must edit the
xgf.def file. The example shown contains values for installations in the
western United States.

/TimeZone -480 % Pacific Standard


/DaylightSaving % year adj. sday stime endday endtime
[[ 2003 60 96 120 299 120 ] % 2003 +1Hr day96 0200Hr day299 0200Hr
[ 2004 60 95 120 305 120 ] % 2004 +1Hr day95 0200Hr day305 0200Hr
]
/DaysLong [(Sunday)(Monday)(Tuesday)(Wednesday)(Thursday)(Friday)(Saturday)]
/DaysShort [(Sun)(Mon)(Tue)(Wed)(Thu)(Fri)(Sat)]
/MonthsLong [(January)(February)(March)(April)(May)(June)
(July)(August)(September)(October)(November)(December)]
/MonthsShort [(Jan)(Feb)(Mar)(Apr)(May)(Jun)(Jul)(Aug)(Sep)(Oct)(Nov)(Dec)]
/TimeZoneName [(PST)(PDT)]
/AmPm [(a.m.) (p.m.)]
/DefaultDate [ 2003 1 1 00 00 00 0 ] % 2003 Jan 1 00:00:00 Std time

Mode: This command is applicable in all modes.

Related commands: SPOOLNAME, SETPARAMS

VIPP Reference Manual (9/2003) 11-79


The VIPP language

GETFIELD
The GETFIELD command captures a record portion or a field of a specific
line and assigns its value to the specified variable.

Syntax: /VARname line_nr recpos length GETFIELD

/VARname line_off recpos length /PCDkey GETFIELD

/VARname line_nr field_nr /FN GETFIELD

/VARname line_off field_nr /FN /PCDkey GETFIELD

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:

0 — selects the line on which PCDkey is true


1 — selects the following line
-1 — selects the previous line
When the condition is false, or when line_nr or line_off is out of range,
GETFIELD returns an empty string.

NOTE: GETFIELD strips left and right blanks from the extracted field
before assigning it to the variable.

VIPP Reference Manual (9/2003) 11-80


The VIPP language

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.

/BANNER 10 9 0 5 /eq (FORM=) SETPCD


{ IF BANNER
{ /VARjdt 0 5 8 /BANNER GETFIELD
($$VARjdt..jdt) VSUB 1 SETJDT
}
ENDIF
} /B BEGINPAGE

Mode: This command is applicable in line mode.

Related commands: BEGINPAGE, ENDPAGE, SETPCD, SLIPSHEET

VIPP Reference Manual (9/2003) 11-81


The VIPP language

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.

Syntax: VAR_itemtable index GETITEM

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

VIPP Reference Manual (9/2003) 11-82


The VIPP language

Hints and tips: RPCOUNT may be used for index when GETITEM is placed inside a
REPEAT loop. For example:

{ VAR_TABLE1 RPCOUNT GETITEM


......
} 24 REPEAT

Mode: This command is applicable in all modes.

Related commands: SETVAR, CASE, IF/ELSE/ENDIF, REPEAT

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.

Syntax: frame_number GOTOFRAME

Where:
frame_number
is the frame number for the destination frame (starting with 1).

Example: This example starts the placement of a paragraph of text in frame 2.

2 GOTOFRAME
(My paragraph of text) 0 SHP

Mode: This command is applicable in native and database mode.

Related commands: FRCOUNT, NEWFRAME, SETLKF

VIPP Reference Manual (9/2003) 11-83


The VIPP language

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.

Syntax: (Imagename) scale rotation ICALL

() scale rotation ICALL

(imagename) scale rotation align ICALL

() scale rotation align ICALL

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

VIPP Reference Manual (9/2003) 11-84


The VIPP language

Multi-strip, grayscale, color images, scaling, and rotation will negatively


affect printing performance.
When imagename is not specified, the TIFF file contents must follow the
ICALL operator. A string of 10 “%” characters should be appended after
the TIFF file and before resuming normal VIPP data (refer to the example
below). Some communication channels do not support the embedding of
TIFF files in the data stream. In this case, resource embedding using the
XGFRESDEF syntax is recommended.

Example: This is an example of how to call a TIFF file embedded in the data stream.

500 900 MOVETO


() 1 0 ICALL
<TIFF file contents>
%%%%%%%%%%
200 300 MOVETO ...

On DocuPrint NPS, the /var/db/PS.prefix.read file must contain paths to


the image libraries or to their parents.
Although not normally supported by the TIFF specifications, TIFF files
with resolution tags (282 and 283) set to zero, default to 300 dpi. The 262
tag (PhotometricInterpretation) defaults to zero. Different XY resolution
tags are supported.

NOTE: To cache images use SCALL instead of ICALL because


CACHE cannot be combined with ICALL.
Because ICALL and SCALL default alignments differ, when
converting an ICALL syntax without alignment option the SCALL
syntax should specify alignment option “0” to ensure the correct
placement of the image. For example:
(myfile.tif) 1 0 ICALL
must be converted to:
(myfile.tif) CACHE 1 0 0 SCALL

Mode: This command is applicable in all modes.

Related commands: BCALL, ENDIMP, G4PMETRIC_off, IGNOREBT_off, IGNOREBT_on,


IREVERSE_off, IREVERSE_on, MOVEH, MOVETO, RUNTIF, SETTXC,
TIFORI_off, TIFORI_on

VIPP Reference Manual (9/2003) 11-85


The VIPP language

IF/ELSE/ENDIF
The IF, ELSE, and ENDIF commands introduce native mode and Data
Base Master conditional logic. See also ENDIFALL.

Syntax: IF condition { ... true action ... } ENDIF

IF condition { ... true action ... } ELSE


{ ... false action ... } ENDIF

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.

VIPP Reference Manual (9/2003) 11-86


The VIPP language

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.

Related commands: SETPCD, SETVAR, GETFIELD

VIPP Reference Manual (9/2003) 11-87


The VIPP language

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

Mode: This command is applicable in all modes.

Related commands: IGNOREBT_on, ICALL

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

Mode: This command is applicable in all modes.

Related commands: IGNOREBT_off, ICALL

ILAND
ILAND sets inverse landscape orientation. Inverse landscape orientation
is obtained by rotating a portrait sheet 90 degrees clockwise.

Syntax: ILAND

Mode: This command is applicable in all modes.

Related commands: LAND, IPORT, PORT

VIPP Reference Manual (9/2003) 11-88


The VIPP language

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.

Syntax: /BATindex /BATkey INDEXBAT

/BATindex null INDEXBAT

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.”

Example: This example prints “Switching from underlined text to regular.”

/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.

Mode: This command is applicable in all modes.

Related commands: INDEXFONT, INDEXCOLOR, SHMF/SHMf, SHx, SETFTSW

VIPP Reference Manual (9/2003) 11-89


The VIPP language

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.

Syntax: /Colorindex /Colorkey INDEXCOLOR

/Colorindex [ Colorkey PATkey ] INDEXCOLOR

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.

Mode: This command is applicable in all modes.

Related commands: INDEXBAT, SHMF/SHMf, SETFTSW, SETPAT, SETTXC, SHP and SHp,
SETCOL

VIPP Reference Manual (9/2003) 11-90


The VIPP language

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.

Syntax: /Fontindex /Fontname size INDEXFONT

/Fontindex /Fontname sizex sizey INDEXFONT

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.

Mode: This command is applicable in all modes.

Related commands: INDEXBAT, SETENCODING, SETFONT, SHMF/SHMf, SHP and SHp,


SETFTSW

VIPP Reference Manual (9/2003) 11-91


The VIPP language

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).

Syntax: /Kernindex [ PW_opt TG_opt K_deg ] INDEXKERN

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.

Mode: This command is applicable in all modes.

Related commands: SHMF/SHMf, SHP, SETKERN

VIPP Reference Manual (9/2003) 11-92


The VIPP language

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.

Syntax: /PIFindex [ /PIFtype param1 param2 .... ] INDEXPIF

/PIFindex null INDEXPIF

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.

NOTE: Such an index is only useful when a PIF index is used on a


fragment of text inside a string printed by SHP or SHMF. For all other
usages the PIF index is automatically canceled when it has been
associated with an element.

VIPP Reference Manual (9/2003) 11-93


The VIPP language

Example: This example shows how to associate a URL with a logo and a bookmark,
using a PIF index:

/LX [ /URI (http://www.xerox.com) ] INDEXPIF


100 3000 MOVETO LX (dcxlogo.seg) CACHE 1 0 0 SCALL
LX (Xerox web site) BOOKMARK

Mode: This command is applicable in all modes.

Related commands: PDFDEST, SETPIF, BOOKMARK, PDFOPEN, PDFINFO

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.

Syntax: /RPEname INDEXRPE

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.”

Mode: This command is applicable in line mode and database mode.

Related commands: BEGINRPE, ENDRPE, FROMLINE, RPEKEY

VIPP Reference Manual (9/2003) 11-94


The VIPP language

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.

Syntax: /SSTindex sst_param INDEXSST

Where:
SSTindex
is an alphanumeric string.
sst_params
is defined in SETTXS. Refer to SETTXS for a description of this
operand.

Examples: Both of these examples print “March, 17th.”

/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

Mode: This command is applicable in all modes.

Related commands: SETFTSW, SETTXS, SHMF/SHMf, SHP and SHp

VIPP Reference Manual (9/2003) 11-95


The VIPP language

IPORT
IPORT sets inverse portrait orientation. Inverse portrait orientation is
obtained by rotating a portrait sheet by 180 degrees.

Syntax: IPORT

Mode: This command is applicable in all modes.

Related commands: ILAND, LAND, PORT

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

Mode: This command is applicable in all modes.

Related commands: ICALL, IREVERSE_on

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

Mode: This command is applicable in all modes.

Related commands: ICALL, IREVERSE_off

VIPP Reference Manual (9/2003) 11-96


The VIPP language

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.

NOTE: These commands are only effective on DocuPrint NPS and


DocuSP systems.

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

Mode: These commands are applicable in all modes.

Related commands: ENDOFRUN, ENDOFSET

VIPP Reference Manual (9/2003) 11-97


The VIPP language

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

Mode: This command is applicable in all modes.

Related commands: ILAND, IPORT, PORT

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.

Syntax: item option LMSKIP

Where:
item
is:

A number of lines or bytes for options /L or /C


An array of ASCII numbers for option /B
option
is:

/L — skip lines
/C — skip characters
/B — skip bytes

Example: This is an example.

3 /L LMSKIP % skip first 3 lines


10 /C LMSKIP % skip first 10 characters
[ 16#0A 16#0D 16#0C ] /B LMSKIP % skip all bytes whose ASCII
% value is either 10, 13 or 12
[ 10 12 13 ] /B LMSKIP % skip all bytes whose ASCII value
% is either 10, 13 or 12

Mode: This command is applicable in line mode.

Related command: STARTLM

VIPP Reference Manual (9/2003) 11-98


The VIPP language

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.

Example: This example shows how to embed a PostScript file in a VIPP


self-contained file.

/doc1.ps
MAKEVMFILE
data .........
%%EOD_XGF
XGFRESDEF

Hints and tips: SETLMFILE and SETDLFILE can be embedded in the data stream using
MAKEVMFILE.

Mode: This command is applicable in all modes.

Related command: XGFRESDEF

VIPP Reference Manual (9/2003) 11-99


The VIPP language

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

Mode: This command is applicable in all modes.

Related commands: SETFORM, SETBFORM

VIPP Reference Manual (9/2003) 11-100


The VIPP language

MAXICODE
MAXICODE creates and images a MaxiCode barcode based on the
specified string and parameter data. No special fonts are required.

NOTE: In order to avoid an unnecessary increase in the usage of


virtual memory, this functionality is provided as a separate module
(xgf.max). The module is deactivated by default. To activate it, edit
src/xgfdos.run or src/xgfunix.run and uncomment the line by
removing the “%” character.

Syntax: ( msgdata ) mode MAXICODE

( msgdata ) mode [ posval totval ] MAXICODE

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.

VIPP Reference Manual (9/2003) 11-101


The VIPP language

msgdata formatting requirements


The format of msgdata is dependent upon the mode of the barcode as
explained below.

All modes: If this optional message header is specified, it must be positioned at the
beginning of msgdata:

[)><RS>01<GS>YY

(In this header, YY is a two-digit representation of the year.)

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.

In a structured append sequence:


Each barcode of a structured append sequence must contain the same
mode, postal code, country code, and service class.

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.

In a structured append sequence:


Each barcode of a structured append sequence must contain the same
mode.

VIPP Reference Manual (9/2003) 11-102


The VIPP language

Examples: These examples show various uses of MAXICODE.


This is an example of a mode 2 barcode:

([\)><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).

Note that the brackets in the special character sequences are


necessary to differentiate them from normal uppercase characters.
[)><RS>01<GS>96
message header, transportation data, and format header; 96 is the
last 2 digits of the year
152382802
Postal code
840
Country code, must be 3 digits
001
Service class, must be 3 digits
1Z00004951
Tracking number
UPSN
SCAC
06X610
UPS account number
159
Julian day of pickup
1234567
Shipment ID #
1/1
Package n/x
Y
Address Validation

VIPP Reference Manual (9/2003) 11-103


The VIPP language

634 ALPHA DRIVE


Ship To Street Address
PITTSBURGH
Ship To City
PA
Ship To State
This is an example of a mode 3 barcode:

([\)><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:

100 700 MOVETO


([\)><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 [1 2] MAXICODE
100 1100 MOVETO
([\)><RS>01<GS>96152382802<GS>840<GS>001<GS>05<GS>400123456789<RS>
<EOT>) 2 [2 2] MAXICODE

This is an example of mode 5 barcodes in a structured append sequence:

100 700 MOVETO


(This is message 1 of a structured append sequence) 5 [1 8] MAXICODE
100 1100 MOVETO
(This is message 2 of a structured append sequence) 5 [2 8] MAXICODE
100 1500 MOVETO
(This is message 3 of a structured append sequence) 5 [3 8] MAXICODE
100 1900 MOVETO
(This is message 4 of a structured append sequence) 5 [4 8] MAXICODE
500 700 MOVETO
(This is message 5 of a structured append sequence) 5 [5 8] MAXICODE
500 1100 MOVETO
(This is message 6 of a structured append sequence) 5 [6 8] MAXICODE
500 1500 MOVETO
(This is message 7 of a structured append sequence) 5 [7 8] MAXICODE
500 1900 MOVETO
(This is message 8 of a structured append sequence) 5 [8 8] MAXICODE

A MOVETO command is required between the MAXICODE commands of


a structured append sequence to prevent the overlapping of images.

Mode: This command is applicable in all modes.

Related commands: MOVEH, MOVEHR, MOVETO

VIPP Reference Manual (9/2003) 11-104


The VIPP language

MOVEH
MOVEH sets the secondary horizontal print position (PP) with optional dot
leading.

Syntax: hpos MOVEH

[ hpos GEPkey ]MOVEH

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.

Example: This example will print:


Introduction ................................ 1

100 MOVEH (Introduction) SH [1500 D1] MOVEH (1) SH

Hints and tips: Use this command with SH, SHr, SHc, SHj, ICALL, and SCALL.

Mode: This command is applicable in all modes.

Related commands: MOVETO, MOVEHR, NL, SETLKF

VIPP Reference Manual (9/2003) 11-105


The VIPP language

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.

Syntax: hrpos MOVEHR

[ hpos GEPkey ]MOVEHR

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.

Example: This example will print:


Introduction ................................ 1

(Introduction) SH [1500 D1] MOVEHR (1) SH

Mode: This command is applicable in all modes.

Related commands: MOVEH, MOVETO, NL, ORIBL, ORITL, SETLKF

VIPP Reference Manual (9/2003) 11-106


The VIPP language

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.

Syntax: hpos vpos MOVETO

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.

Mode: This command is applicable in all modes.

Related commands: MOVEH, NL, ORIBL, ORITL, SETLKF

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

NOTE: When using MSPP_on, it is the responsibility of the customer


application to insert commands in the position that identifies the first
logical page of the last physical page of the set.

Mode: This command is applicable in all modes.

Related commands: ENDOFRUN, ENDOFSET, TWOUP, SETMULTIUP, JOG_on/JOG_off

VIPP Reference Manual (9/2003) 11-107


The VIPP language

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.

Mode: This command is applicable in all modes.

Related commands: DUPLEX_on, NEWFRONT, NEWSIDE, PAGEBRK, SETMULTIUP,


TWOUP

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

Mode: This command is applicable in native and database mode.

Related commands: FRCOUNT, GOTOFRAME, SETLKF

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.

Mode: This command is applicable in all modes.

Related commands: DUPLEX_on, NEWBACK, NEWSIDE, PAGEBRK, SETMULTIUP, TWOUP

VIPP Reference Manual (9/2003) 11-108


The VIPP language

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.

Example: This is an example using NEWGROUP.

6 SETRPEPREFIX
10 BEGINRPE
NEWGROUP
/LINECR RPEKEY [ .... ]
/LINEDB RPEKEY [ .... ]
NEWGROUP
/NAME01 RPEKEY [ .... ]
/NAME02 RPEKEY [ .... ]
/ADRE01 RPEKEY [ .... ]
/ADRE01 RPEKEY [ .... ]
/ZPCITY RPEKEY [ .... ]
ENDRPE

Mode: This command is applicable in line mode.

Related commands: BEGINRPE, ENDRPE

VIPP Reference Manual (9/2003) 11-109


The VIPP language

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.

Example This example shows the use of the subcommand NEWPOS.

% Xinit Xdispl Yinit Ydispl


/LFA0 RPEKEY
[ 0 0 70 null 910 50 0 30 /F1 BLACK]
NEWPOS
[ 0 0 1200 null 200 80 0 30 /F3 BLACK]

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.

Mode: This command is applicable in line mode.

Related command: RPEKEY

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

Mode: This command is applicable in all modes.

Related commands: NEWBACK, NEWFRONT, NEWSIDE, PAGEBRK, SETMULTIUP,


TWOUP

VIPP Reference Manual (9/2003) 11-110


The VIPP language

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.

Mode: This command is applicable in all modes.

Related commands: MOVEH, MOVETO

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.

Mode: This command is applicable in line mode and database mode.

Related commands: %%XGF, SETNMP

VIPP Reference Manual (9/2003) 11-111


The VIPP language

OFFSET_off
OFFSET_off disables the offsetting of sets in a job in the output tray.

Syntax: OFFSET_off

NOTE: This feature is only effective on DocuPrint NPS with the


MultiSet feature enabled, and DocuSP systems.

Mode: This command is applicable in all modes.

Related command: OFFSET_on

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

NOTE: This feature is only effective on DocuPrint NPS with the


MultiSet feature enabled or on DocuSP systems running version 1.32
or later.

On DocuSP systems OFFSET_on forces the output to the stacker.

Mode: This command is applicable in all modes.

Related commands: ENDOFRUN, ENDOFSET, OFFSET_off, STARTOFSET

VIPP Reference Manual (9/2003) 11-112


The VIPP language

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.

Mode: This command is applicable in all modes.

Related commands: SETMULTIUP, TWOUP

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

Mode: This command is applicable in all modes.

Related command: ORITL

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.

Mode: This command is applicable in all modes.

Related command: ORIBL

VIPP Reference Manual (9/2003) 11-113


The VIPP language

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.

NOTE: OVERPRINT_on must be placed before SETCYCLECOPY


when these two commands are used together.

CAUTION: Use this command only when necessary as it may affect


performance.

Mode: This command is applicable in line mode.

Related command: STARTLM

VIPP Reference Manual (9/2003) 11-114


The VIPP language

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.

Mode: This command is applicable in all modes.

Related commands: BCALL, ENDIMP, NEWBACK, NEWFRAME, NEWFRONT, NEWSIDE,


SETLKF

VIPP Reference Manual (9/2003) 11-115


The VIPP language

PAGERANGE
PAGERANGE specifies the range of pages to print for the current job.

Syntax: startpage stoppage PAGERANGE

Where:
startpage
is the starting page number.
stoppage
is the ending page number.

Example: This example only prints pages 50 to 100

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.

NOTE: PAGERANGE now applies to physical pages instead of


logical pages. This provides more accurate usage in jobs using back
forms or multi-up.

Mode: This command is applicable in all modes.

Related commands: SETPARAMS

VIPP Reference Manual (9/2003) 11-116


The VIPP language

PDF417
PDF417 creates and images a PDF417 barcode based on the specified
string(s) and parameter data. No special fonts are required.

NOTE: In order to avoid an unnecessary increase in the usage of


virtual memory, this functionality is provided as a separate module
(xgf.417). By default, the module is deactivated. To activate it, edit
the src/xgfdos.run or src/xgfunix.run file and uncomment the line by
removing the “%” character.

Syntax: [/TC (string) /BC (string) /NC (string)] PDF417

[/TC (string) /BC (string) /NC (string)]


[/Rows RValue /Columns CValue /ARatio [HValue WValue]
/ELevel EValue ] PDF417

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.

VIPP Reference Manual (9/2003) 11-117


The VIPP language

NOTE: The default /ARatio is [1 1]. An /ARatio of [1 1] does not


produce a square barcode. The number of columns per barcode is
actually WValue plus four (start and stop columns plus left and right
row indicators).

The /ARatio necessary to create a square barcode depends on many


factors, the values given to the SETPARAMS parameters,
DotsPerModule, and RowHeight, the error correction/detection value,
the number of rows or columns, and the number of string characters.
The best way to create a specific barcode size is through trial and
error. If an /ARatio of 1 to 1 creates a barcode that is wider than it is
tall (it will if the default parameters are used), then increase the
/HValue or decrease the /WValue or both (e.g. /ARatio [5 1]) to create
a square barcode.

/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.

VIPP Reference Manual (9/2003) 11-118


The VIPP language

Example: This example shows various uses of PDF417.

[ /BC <01 02 03 04 05 06 07 08 09> /TC (Test) /NC (00246812345678) ] PDF417


[ /BC (PDF417 symbology) ] [ /ARatio [1 2] /ELevel 1 ] PDF417
[ /NC (1234567890123456789012345) ] [ /Rows 3 ] PDF417
[ /TC (John Doe\n1405 Ocean Drive\nEl Segundo, CA 90245) ] [ /Columns 3 ] PDF417

Mode: This command is applicable in all modes.

Related commands: MOVEH, MOVEHR, MOVETO

PDFDEST
PDFDEST defines a named destination. A named destination can be
referenced in a PIF definition of type DEST or XDEST.

Syntax: /destname PDFDEST

/destname [ pagenum view ] PDFDEST

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:

[ /DEST /NOTES [/Fit] ] SETPIF


100 500 MOVETO (Go to Notes) 2 SHmf
....
PAGEBRK
....
/NOTES PDFDEST

Mode: This command is applicable in all modes.

Related commands: BOOKMARK, SETPIF, INDEXPIF, PDFOPEN, PDFINFO

VIPP Reference Manual (9/2003) 11-119


The VIPP language

PDFINFO
PDFINFO populates the “Document Summary” section of the PDF file with
information.

Syntax: [ /Author (Author of the document)


/Creator (Creator of the document)
/Title (Title of the document)
/Subject (Subject of the document)
/Keywords (list of keywords)
] PDFINFO

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.

Example: This is an example of PDFINFO:

[ /Author (John Smith)


/Creator ()
/Title (VIPP PIF Samples)
/Subject (Samples of VIPP Interactive PDF features)
/Keywords (VIPP PDF Interactive PIF)
] PDFINFO

Mode: This command is applicable in all modes.

Related commands: PDFOPEN

VIPP Reference Manual (9/2003) 11-120


The VIPP language

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.

Syntax: /openmode PDFOPEN

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

Mode: This command is applicable in all modes.

Related commands: PDFINFO

VIPP Reference Manual (9/2003) 11-121


The VIPP language

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

Mode: This command is applicable in all modes.

Related commands: ILAND, IPORT, LAND, SETPAGESIZE

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.

NOTE: PRECACHE is not supported on all controllers. Contact your


Xerox representative to determine if your controller supports this
command.

Syntax: (rname) [rot1 scale1 rot2 scale2...rotN scaleN] PRECACHE

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)

Example: This is an example.

(car1.eps) [0 1 90 1 0 .5 90 .5]PRECACHE

Related commands: SETFPATH, SETIPATH, SETMPATH

VIPP Reference Manual (9/2003) 11-122


The VIPP language

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.

Syntax: { djde_proc } position (djde_prefix) option PROCESSDJDE

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

Example: This is an example:

{ CASE DJDECMD {}% default action = none


(JDL) {($$DJDEPAR..JDT) VSUB SETJDT }
(FORM) {($$DJDEPAR..FRM) VSUB SETFORM }
(FEED) {CASE DJDEPAR {}
(AUX){(Preprinted) SETMEDIA}
(MAIN){(Plain) SETMEDIA}
ENDCASE
}
ENDCASE
} 0 ($DJDE$) 3 PROCESSDJDE

VIPP Reference Manual (9/2003) 11-123


The VIPP language

This example can process the DJDE statement by exclusively assigning


the values that follow:

$DJDE$ JDL=JDL23, FORM=BILL2. FEED=MAIN, END;

DJDECMD=(JDL), DJDEPAR=(JDL23)
DJDECMD=(FORM), DJDEPAR=(BILL2)
DJDECMD=(FEED), DJDEPAR=(MAIN)

Mode: This command is applicable in line mode.

Related commands: CASE, IF/ELSE/ENDIF, DJDEBEGIN

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.

Examples: These are examples.

%!
DUPLEX_on
(;) SETDBSEP
BSTRIP_off
QSTRIP_on
(cas.dbm) STARTDBM
....

%! database file
(cas.jdt) SETJDT
(cas.dbm) STARTDBM
....

VIPP Reference Manual (9/2003) 11-124


The VIPP language

%!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”
.....

The last example assigns the variables as follows:


FNAME=John
NAME=Martin
ADDRESS=23, Wall Street
The field names may also be defined by using quotes as follows:
“FNAME”, “NAME”, “ADDRESS”
“John”, “Martin”, “23, Wall Street”

Mode: This command is applicable in database mode only.

Related command: STARTDBM

VIPP Reference Manual (9/2003) 11-125


The VIPP language

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.

Syntax: {sequence of VIPP commands} count REPEAT

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

NOTE: Using RSAVE and RESET in REPEAT is not recommended as


unpredictable results may occur.

VIPP Reference Manual (9/2003) 11-126


The VIPP language

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.

300 2500 MOVETO


{
(I am looping) 0 SHP
IF RPCOUNT 9 gt
{ /NCRB 30 SETFONT } ENDIF
} 10 REPEAT

This example shows how to exit a loop when the horizontal position has
reached the edge of the page.

/VARHoz 300 SETVAR


/VARVer 300 SETVAR
/VARNumber 0 SETVAR

{
VARHoz VARVer MOVETO
VARNumber 50 2 SHP
/VARNumber ++
/VARHor 50 ADD
IF VARHoz 2550 ge { EXIT} ENDIF
} 24 REPEAT

Mode: This command is applicable in all modes.

Related commands: IF/ELSE/ENDIF, STARTDBM

VIPP Reference Manual (9/2003) 11-127


The VIPP language

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).

NOTE: Do not use RESET in a REPEAT command, or after the


SETCYCLECOPY command as unpredictable results may occur.

Mode: This command is applicable in all modes.

Related commands: RSAVE

VIPP Reference Manual (9/2003) 11-128


The VIPP language

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.

Syntax: [ [ /font0 Ydispl0 ] [ /font1 Ydispl1 ]... ] RPEDEF


Each entry in the list above may also be in one of these formats:
[ /font0 Ydispl0 colorkey ]
[ /font0 [Ydispl0 Fheight] ]
[ /font0 [Ydispl0 Fheight] colorkey ]

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.

Examples: This example is equivalent to the RPE coding below.

[ [ /F0 50 ] [ /F1 80 RED ] [ /F2 [ 60 40 ] ] RPEDEF

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 information must be defined in the xgf.def file, in the JDT, or in a


previous NMP record:
• Initial position (value of DJDE BEGIN=) by SETMARGIN
• buf_size by SETBUFSIZE
• /font0, /font1, ... with INDEXFONT
The value of the first byte in the record, or the second byte when PCC
mode is active, is used to select the simplified RPEKEY defined by
RPEDEF. The selection is based on the position of the RPE definition in
the RPEDEF command.

VIPP Reference Manual (9/2003) 11-129


The VIPP language

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.

%%XGF [ [/F1 20 ] [/F2 30] ] RPEDEF


0hello world
1I am still alive

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

Related commands: INDEXFONT, SETBUFSIZE, SETMARGIN, SETPAT, SETTXC,


SETRPEPREFIX, RPEKEY

VIPP Reference Manual (9/2003) 11-130


The VIPP language

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.

Syntax: /rpekeyname RPEKEY


[ align rotate Xinit Xdispl Yinit Ydispl recpos length /font
colorkey ]
...
[ align rotate Xinit Xdispl Yinit Ydispl recpos length /font
colorkey ]

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.

NOTE: Whenever an RPE prefix contains spaces it must be coded


between parenthesis instead of preceded by a “/”. For example:
(REC1 45 C) RPEKEY [ ... RPE entry ... ]

Refer to FROMLINE for a complete description of the RPE entry parameters


and Extending FROMLINE and RPEKEY commands for more information.

VIPP Reference Manual (9/2003) 11-131


The VIPP language

Example: This is an example.

% set RPE fonts


/F1 /NHEB 9 13 INDEXFONT
/F2 /NHEB 10 15 INDEXFONT
/F3 /NHEB 13 15 INDEXFONT
/F4 /NHEB 18 INDEXFONT
/F5 /NHEB 13 INDEXFONT

% 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

Mode: This command is applicable in line mode and database mode.

Related commands: BEGINRPE, COPYRANGE, ENDRPE, FROMLINE, INDEXRPE, SETPAT,


SETPCD, SETRCD, SETRPEPREFIX, SETTXC

VIPP Reference Manual (9/2003) 11-132


The VIPP language

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.

NOTE: Do not use RSAVE in a REPEAT command, or after the


SETCYCLECOPY command, as unpredictable results may occur.

Mode: This command is applicable in all modes.

Related commands: %%EOF, RESET

VIPP Reference Manual (9/2003) 11-133


The VIPP language

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.

Syntax: (file name) RUN

(file name) option RUN

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.

VIPP Reference Manual (9/2003) 11-134


The VIPP language

Example: This example illustrates an empty reference in the RUN command.

%!
XGF
(copy.frm) SETFORM
() 3 RUN
%!PS_Adobe-3.0
.....

NOTE: Inefficient PostScript code may affect performance.

Mode: This command is applicable in all modes.

Related commands: RESET, SETMPATH

VIPP Reference Manual (9/2003) 11-135


The VIPP language

RUNDD
RUNDD prints a document previously processed by the Decomposition
Service in DocuPrint NPS or DocuSP controllers.

Syntax: (document_name) RUNDD

(document_name) /ENDOFRUN RUNDD

(document_name) /ENDOFSET RUNDD


RUNDD locates the initial page relative to the document in the libraries
currently defined by SETIPATH or SETFPATH; then locates all
consecutive pages in the same library associated with the document.
The second and third syntax define an additional finishing action on the
document. Use /ENDOFRUN to staple the document, or /ENDOFSET to
staple and/or offset the document depending on the previous
STAPLE_on/STAPLE_off and OFFSET_on/OFFSET_off commands.
RUNDD can be combined with SETFORM, and SETMEDIA, usually with
the cycle syntax of these commands, to map specific forms and media
with specific pages of the document.
Use SETFORM or ENDPAGE to place static or variable data on every
page of the decomposed document. SETFORM prints the data under the
decomposed page (white areas are transparent), ENDPAGE prints them
on top. To place specific data on specific pages, implement a counter and
use IF or CASE statements in the form or ENDPAGE procedure. More
complex layout coding can also be done using SETPAGEDEF.
RUNDD may be used with SETCYCLECOPY/COLLATE_off.

DocuPrint NPS and DocuSP application compatibility


The RUNDD command will search in the SETIPATH libraries for TIFF
images named according to this DocuPrint NPS Decomposition Services
convention:

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.

VIPP Reference Manual (9/2003) 11-136


The VIPP language

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.

DocuPrint NPS only


All .b.tif pages are printed black, 0 setgray is forced, and .h.tif images are
overlaid on the black image using the color previously defined by
SETTXC.
When TIFF images are not found in the prior steps, forms named
according to this DocuPrint NPS Decomposition Services convention are
searched in the SETFPATH libraries: document_name.pnnnn.ps

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.

VIPP Reference Manual (9/2003) 11-137


The VIPP language

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, ...

[ (form1) (form2) .... (formn) ] SETFORM


[ (med1) (med2) .... (typen) ] SETMEDIA
(doc1) RUNDD

NOTE: When using a decomposed document as a form, combine


RUNDD with SETFORM to eliminate printing differences between the
DocuPrint NPS family of printers, and DocuSP controllers. Example
of syntax (assuming “doc1.ps” is a one page document):
{ (doc1.ps) RUNDD } SETFORM

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

This is an example of using ENDPAGE when printing “This page belongs


to name” on the first three pages only.

{
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.

VIPP Reference Manual (9/2003) 11-138


The VIPP language

This example prints the “Name” and “Address” fields from the database
file on page 2 and 5 of the decomposed document.

/VARpage (00) SETVAR


{ /VARpage ++
IF VARpage (02) eq VARpage (05) eq or
{ 1275 50 MOVETO
NAME SHL
ADDRESS SHL
}
ENDIF
} SETFORM
(Doc1) RUNDD

This is an example of printing a sequential page number on a


decomposition page.

%!
XGF
DUPLEX_on
PORT
/VARPageCount (00001) SETVAR % Starting number for page.
/NHEB 10 SETFONT
{
1275 50 MOVETO
(Page $$VARPageCount.) VSUB 900 2 SHP
} SETFORM

This is an example of set functionality.This staples each set.

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.

150 3000 MOVETO


(Cover Page) SH
PAGEBRK
STAPLE_on
(FirtsSection.ps) RUNDD
(SecondSection.ps) RUNDD
(ThirdSection.ps) /ENDOFSET RUNDD

Mode: This command is applicable in native mode and database mode.


Related commands: BCALL, ENDIMP, ENDOFRUN, ENDOFSET, SETFPATH, SETIPATH

VIPP Reference Manual (9/2003) 11-139


The VIPP language

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.

Syntax: (document1.tif) RUNTIF

(document1.tif) startpage stoppage RUNTIF

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.

Mode: This command is applicable in native and line mode.

Related commands: BCALL, ENDIMP, RUNDD

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.

150 3000 MOVETO


400 0 SHP %This is a variable length paragraph which could have many lines
25 NL
SAVEPP
SHPOS SVPOS 400 0 S1 DRAWB
25 NL
400 0 SHP %This is the next paragraph

When you want to draw a box instead of a line, use the VDISP and HDISP
commands.

Mode: This command is applicable in all modes.

Related commands: HDISP, SHPOS, SVPOS, VDISP

VIPP Reference Manual (9/2003) 11-140


The VIPP language

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.

Syntax: (Segmentname) SCALL

(Segmentname) scale SCALL

(Segmentname) scale rotation1 SCALL

(Objectname) CACHE scale rotation1 align1 SCALL

(Objectname) CACHE [width height] rotation2 align2 SCALL

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).

VIPP Reference Manual (9/2003) 11-141


The VIPP language

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.

VIPP Reference Manual (9/2003) 11-142


The VIPP language

Examples: These are examples.

(dcxlogo.seg) SCALL

(doc1.eps) CACHE .6 SCALL

{ /NHE 18 SETFONT (XY Corp) SHc 25 NL (xy.tif) 1 0 2 ICALL } SCALL

This example uses the “stretch-in-box” option:

(picture1.jpg) CACHE [ 500 1000 ] 0 222 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.

NOTE: Inefficient PostScript code may affect performance. Use


CACHE when performance is degraded.

Mode: This command is applicable in all modes.

Related commands: CACHE, FCALL, MOVETO, MOVEH, SETFPATH, SETIPATH,


SETMPATH

VIPP Reference Manual (9/2003) 11-143


The VIPP language

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

VIPP Reference Manual (9/2003) 11-144


The VIPP language

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)

VIPP Reference Manual (9/2003) 11-145


The VIPP language

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.

/UNDL [ BLACK .06 0 2 0 0 0 2 -.25 1 0 0 0 ] SETBAT

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.

Mode: This command is applicable in all modes.

Related commands: SETCOLWIDTH, SETPAT, SETTXB, SETTXC, SHx

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.

Syntax: Form_ref SETBFORM

Form_ref planenumber SETBFORM

Form_ref [ c1 c2 ... cn ] SETBFORM

Form_ref planenumber [ c1 c2 ... cn ] SETBFORM


An EPS, a 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.

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.

Mode: This command is applicable in all modes.

Related commands: SETFORM, SETFPATH, SETMAXBFORM, CACHE

VIPP Reference Manual (9/2003) 11-146


The VIPP language

SETBUFSIZE
The SETBUFSIZE command sets the line/record buffer size for data files
being processed by STARTLM or STARTDBM.

Syntax: size SETBUFSIZE

size (F) SETBUFSIZE


size
defines the maximum line length. Use this syntax to process files
made of lines ending with LF, CR, or CRLF line delimiters.
size (F)
defines a fixed record length. Use this syntax to process files made
of fixed length records without any line delimiters such as LF, CR, or
CRLF.
The default value is defined in the /usr/xgf/src/xgf.def file.

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.

Mode: This command is applicable in line mode and database mode.

Related commands: None

VIPP Reference Manual (9/2003) 11-147


The VIPP language

SETCOL
The SETCOL command sets color definitions. Use the command to set
definitions for both CMYK and RGB color.

Syntax: /name [c m y k] SETCOL % for CMYK color definition

/name [r g b] SETCOL % for RGB color definition

/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.

Mode: This command is applicable in all modes.

Related commands: SETTXC, INDEXCOLOR, SETGEP

SETCOLWIDTH
The SETCOLWIDTH command sets the column width for use by
subsequent commands with a justify option.

Syntax: colwidth SETCOLWIDTH

Where:
colwidth
is the column width in current units.
The default value is defined in the /usr/xgf/src/xgf.def file.

Mode: This command is applicable in all modes.

Related commands: COLW, SHJ and SHj, SHMF/SHMf, SHP and SHp, SETLKF

VIPP Reference Manual (9/2003) 11-148


The VIPP language

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.

Syntax: copynumber SETCYCLECOPY

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

NOTE: In collate mode (COLLATE_on), the data file will be


temporarily spooled either on the local disk or in memory if no local
disk is available. In the second case very large jobs may abort if
memory is exhausted. SPOOLNAME is used to define the path to the
temporary spool file (default in /usr/xgf/src/xgfunix.run or
c:\xgf\src\xgfdos.run). Jobs may abort when the maximum size
available on the printer is exceeded. The limit is likely to be between
1 and 3 Mbytes of spooled data.

Any collation command must be set prior to the SETCYCLECOPY


command.

Place a SETMAXCOPY command at the beginning of the JDT or XJT to


specify the maximum number of copies when SETCYCLECOPY is used
to dynamically change the copy number in:
• Line mode — either using NMPs or within a BEGINPAGE or
PROCESSDJDE procedure
• Database mode — inside a DBM
• XML mode — inside a BTA
This initializes the memory structures and forces data file spooling in
advance on desktop printers. In these situations, SETCYCLECOPY
executes an implicit CHKPOINT, do not code CHKPOINT.

NOTE: Do not use REPEAT or RSAVE after the SETCYCLECOPY


command, unpredictable results may occur.

VIPP Reference Manual (9/2003) 11-149


The VIPP language

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.

Mode: This command is applicable in all modes.

Related commands: CHKPOINT, COLLATE_dbm, COLLATE_off, COLLATE_on,


COPYRANGE, SETBFORM, SETDLFILE, SETFORM, SETMEDIA,
SPOOLNAME, REPEAT

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.

<09> SETDBSEP % Hex value


(\011) SETDBSEP % Octal value

NOTE: Never place this command in the Data Base Master file.

Mode: This command is applicable in line mode and database mode.


Related commands: GETINTV, STARTDBM, FROMLINE, RPEKEY

VIPP Reference Manual (9/2003) 11-150


The VIPP language

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.

Syntax: (DL file name) (jdtname) SETDLFILE

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

Mode: This command is applicable in native mode and line mode.

Related commands: SETCYCLECOPY, SETJPATH, SETMPATH, STARTLM

VIPP Reference Manual (9/2003) 11-151


The VIPP language

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.

Syntax: (font list) (encoding table) SETENCODING

[/new_font_name /PS_font_name ] (encoding table) SETENCODING

[/new_font_name (font_file_name) ] (encoding table) SETENCODING

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.

VIPP Reference Manual (9/2003) 11-152


The VIPP language

Examples: These are examples of SETENCODING:

(fontlist) (sun8) SETENCODING


[ /EHE /Helvetica ] (ebcdic) SETENCODING

[ /CD128 (mb034.pfb) ] null SETENCODING

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).

Mode: This command is applicable in all modes.

Related commands: INDEXFONT, SETEPATH, SETFONT, SETMPATH

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.

Syntax: (path to enc. library) SETEPATH

[ (path to enc. library 1) (path to enc. library 2) ... ]


SETEPATH
When a list of libraries is specified, as in the second syntax above, they
are searched in the order in which they appear in the list. Use this
command mainly in the usr/xgf/src/xgfunix.run file.

Mode: This command is applicable in all modes.

Related command: SETENCODING

VIPP Reference Manual (9/2003) 11-153


The VIPP language

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.

Syntax: /Fontname size SETFONT

/Fontname sizeX sizeY SETFONT

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.

Mode: This command is applicable in all modes.

Related commands: INDEXFONT, SETENCODING

VIPP Reference Manual (9/2003) 11-154


The VIPP language

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 “{ }”.)

Syntax: Form_ref SETFORM

Form_ref planenumber SETFORM

Form_ref [ c1 c2 ... cn ] SETFORM

Form_ref planenumber [ c1 c2 ... cn ] SETFORM

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.

VIPP Reference Manual (9/2003) 11-155


The VIPP language

Examples: These are examples of SETFORM.

(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

These examples use CACHE SETFORM:

(form1.ps) CACHE SETFORM


(logo.eps) CACHE SETFORM
(image3.tif) CACHE SETFORM

Combine SETFORM, plane numbers, and condition statements to


perform unique functions. In this example an in-line form is used to
position a different image on the page based on a value in a record.

{ /VAR_FIRST8 1 0 8 GETFIELD } BEGINPAGE

{ x y MOVETO
CASE VAR_FIRST8 {}
(xxxxxxxx) { (image1.tif) 1 0 ICALL }
(yyyyyyyy) { (image2.tif) 1 0 ICALL }
....
ENDCASE
} SETFORM

NOTE: Always use the SETMAXFORM command when using


multiple forms. Otherwise, a rangecheck error occurs.

For specific syntax related to Decomposition Services on DP/NPS


and DocuSP systems refer to “Decomposition Services.”

Mode: This command is applicable in all modes.

Related commands: SETBFORM, SETCYCLECOPY, SETFPATH, SETMAXFORM,


SLIPSHEET, CACHE

VIPP Reference Manual (9/2003) 11-156


The VIPP language

SETFPATH
SETFPATH defines a library or a list of libraries for forms. The default is
defined in the /usr/xgf/src/xgfunix.run file.

Syntax: (path to form library) SETFPATH

[ (path to form library 1) (path to form library 2) ... ]


SETFPATH
The libraries specified with SETFPATH are used by SETFORM,
SETBFORM, SCALL, FCALL, and STARTDBM to locate forms,
segments, and Data Base Masters (DBM).
When a list of libraries is specified, they are searched in the order in which
they appear in the list. Use this command mainly in the
/usr/xgf/src/xgfunix.run file.

Mode: This command is applicable in all modes.

Related commands: FCALL, SCALL, SETBFORM, SETFORM, STARTDBM, CACHE

SETFRAME
SETFRAME draws an overall frame around the current page and all
following pages.

Syntax: linewidth offset colorkey cradius SETFRAME

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.

Mode: This command is applicable in all modes.

Related commands: SETMARGIN, SETPAT, SETTXC

VIPP Reference Manual (9/2003) 11-157


The VIPP language

SETFTSW
The SETFTSW command sets the font/color switch for subsequent SHMF
or SHP and SHp commands.

Syntax: (ftsw) SETFTSW

(ftsw) index_length SETFTSW

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

Mode: This command is applicable in all modes.

Related commands: INDEXCOLOR, INDEXFONT, INDEXSST, SETTXS, SHMF/SHMf,


INDEXBAT, SHP and SHp

VIPP Reference Manual (9/2003) 11-158


The VIPP language

SETGEP
SETGEP defines a Graphic Element Property key (GEPkey) used in
subsequent draw commands.

Syntax: /GEPkey LineWidth LineColorKey LineDash FillColorKey SETGEP

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

/GEPK1 4 BLACK 6 LMEDIUM SETGEP

This example specifies an oddly spaced dashed black outline border.

/GEPK2 4 BLACK [ 0 10 5 5 5 ] LMEDIUM SETGEP

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.”

Mode: This command is applicable in all modes.

Related commands: DRAWB and DRAWBR, DRAWBM and DRAWBRM, DRAWPOL,


SETGUNIT, SETPAT, SETTXC, SHX, SETCOL

VIPP Reference Manual (9/2003) 11-159


The VIPP language

SETGRID
SETGRID sets the number of characters per line (cpl) and the number of
lines per page (lpp).

Syntax: cpl lpp SETGRID

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.

Mode: This command is applicable in all modes.

Related commands: LSP, SETFONT, SETMARGIN

SETGUNIT
SETGUNIT sets the unit of measure for all subsequent SETGEP
commands.

Syntax: unit SETGUNIT

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.

Mode: This command is applicable in all modes.

Related commands: SETGEP, SETUNIT

VIPP Reference Manual (9/2003) 11-160


The VIPP language

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.

Syntax: indent SETINDENT

Where:
indent
is the indentation value in current units. the default is 0.

Mode: This command is applicable in all modes.

Related commands: SHP and SHp

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.

Syntax: (path to image library) SETIPATH

[ (path to image library 1) (path to image library 2) ... ]


SETIPATH
When a list of libraries is specified, they are searched in the order in which
they appear in the list.
Use SETIPATH mainly in the /usr/xgf/src/xgfunix.run file. On DocuPrint
NPS, the file /var/db/PS.prefix.read must contain paths to the image
libraries or to their parent directories.

Mode: This command is applicable in all modes.

Related commands: ICALL, RUNTIF, CACHE

VIPP Reference Manual (9/2003) 11-161


The VIPP language

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.

Syntax: jdt_ref SETJDT

jdt_ref count SETJDT

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.

NOTE: When inside a JDT, marking commands are only allowed in


in-line forms or ENDPAGE procedures.

VIPP Reference Manual (9/2003) 11-162


The VIPP language

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.

CAUTION: The maximum number of JDTs that can be included in a


single job is 65535. The maximum number of JDTs that can be
included in a SETJDT command is also 65535. However, this many
JDTs in a single SETJDT command may degrade system
performance and deplete virtual memory. Therefore, it is
recommended that fewer than 1000 JDTs are included in a SETJDT
command.

Mode: This command is applicable in all modes.

Related commands: SETJPATH, STARTLM, STARTDBM, SETPAGEDEF

SETJPATH
SETJPATH defines a library or a list of libraries for JDTs. The default is
defined in the file /usr/xgf/src/xgfunix.run.

Syntax: (path to JDT library) SETJPATH

[ (path to JDT library 1) (path to JDT library 2) ... ]


SETJPATH
The specified libraries are used by STARTLM, SETJDT, and SETDLFILE
to locate JDTs.
When a list of libraries is specified, as in the second syntax listed above,
they are searched in the order in which they appear in the list. Use
SETJPATH mainly in the /usr/xgf/src/xgfunix.run file.

Mode: This command is applicable in all modes.

Related commands: SETDLFILE, SETJDT, STARTLM

VIPP Reference Manual (9/2003) 11-163


The VIPP language

SETKERN
The SETKERN command sets the kerning options for all subsequent text
imaged using one of the SHx commands.

Syntax: [ PW_opt TG_opt TK_deg ] SETKERN

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).

VIPP Reference Manual (9/2003) 11-164


The VIPP language

Examples: To enable pair-wise kerning use this example.

[1 0 0] SETKERN

To enable AFM medium track kerning use this example.

[0 0 -2] SETKERN

To enable pair-wise and AFM medium track kerning

[1 0 -2] SETKERN

To enable medium generic or AFM medium track kerning use this


example.

[0 -2 -2] SETKERN

To enable pair-wise and light generic track kerning use this example.

[1 1 0] SETKERN

Mode: This command is applicable in all modes.

Related commands: SHx, INDEXKERN

SETLFI
The SETLFI command sets the line feed increment.

Syntax: lfi SETLFI

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.

Mode: This command is applicable in line mode.

Related commands: SETGRID, SETLSP

VIPP Reference Manual (9/2003) 11-165


The VIPP language

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.

Syntax: [ [ Hor1 Ver1 Width1 Height1 rotate1 ]


[ Hor2 Ver2 Width2 Height2 rotate2 ]
.....
[ HorN VerN WidthN HeightN rotateN ]
] SETLKF

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.

VIPP Reference Manual (9/2003) 11-166


The VIPP language

Example: This is an example of a two column layout.

[ [ 200 200 1025 2900 0 ] % left column


[ 1325 200 1025 2900 0 ] % right column
] SETLKF

NOTE: To allow automatic flow over page boundaries, code SETLKF


before any marking command on the page. If this is not the case (for
example if SETLKF is coded in a form definition) no page transition
will occur. Instead the last frame will overflow beyond the bottom
edge of the frame and possibly beyond the page edge.

It is possible to define different sets of frames and forms for consecutive


pages using the SETPAGEDEF command.

Mode: This command is applicable in native and database modes.

Related commands: FRCOUNT, FRLEFT, GOTOFRAME, NEWFRAME, SETGRID, SETLSP,


SETMARGIN

VIPP Reference Manual (9/2003) 11-167


The VIPP language

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.

Syntax: (file name) SETLMFILE

(file name) skiplines SETLMFILE


The second syntax causes the first skiplines lines in the file to be ignored.

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.

NOTE: When accessing remote files performance is tightly linked to


network speed.

Mode: This command is applicable in line mode and database mode.

Related commands: SETMPATH, STARTDBM, STARTLM

VIPP Reference Manual (9/2003) 11-168


The VIPP language

SETLSP
The SETLSP command sets line spacing. Line spacing is computed from
the margins and grid specifications by default.

Syntax: LSPval SETLSP

Where:
LSPval
is the line spacing value.

Mode: This command is applicable in all modes.

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.

Syntax: top bottom left right SETMARGIN

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.

Mode: This command is applicable in all modes.

Related commands: SETFONT, SETGRID

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.

Syntax: maxplanenumber SETMAXBFORM

Hints and tips: Use “0 SETMAXBFORM” to cancel back forms.

Mode: This command is applicable in all modes.

Related command: SETBFORM

VIPP Reference Manual (9/2003) 11-169


The VIPP language

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.

Syntax: number SETMAXCOPY

Where:
number
is a user-defined value.

Example: This is an example of SETMAXCOPY.

10 SETMAXCOPY
{CASE DJDECMD {} (COPIES) {DJDEPAR SETCYCLECOPY} ENDCASE } 0 ($DJDE) 3
PROCESSDJDE

Mode: This command is applicable in all modes.

Related commands: SETCYCLECOPY, 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.

Syntax: maxplanenumber SETMAXFORM

Mode: This command is applicable in all modes.

Related command: SETFORM

VIPP Reference Manual (9/2003) 11-170


The VIPP language

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.

Syntax: (MediaType:MediaColor:MediaWeight) SETMEDIA

(MediaType:MediaColor:MediaWeight) [c1 c2 ... cn] SETMEDIA

[ (Med req1) (Med req2) ...(Med reqN) ] SETMEDIA


This media requirement is compared to the related values set by the
SetTray command on the DocuPrint NPS user interface, or by the VIPP
utility, trayload. When one or more trays match this requirement, the
sheets for the current and subsequent pages, up to the next SETMEDIA
command, are fed from these trays.
The second syntax sets the media requirement for the specified selection
of copies [c1, c2, ... cn].
The third syntax defines a list of media requirements to be used in
sequence in a cyclical manner (cycle media).
Keep this in mind when using SETMEDIA:
• When any of the media attributes are specified as null, those
attributes are ignored in the following media selections. This
example ignores MediaColor.

(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.

NOTE: Refer to “Media support” for additional information related to


devices that do not support standard PostScript media selection.

VIPP Reference Manual (9/2003) 11-171


The VIPP language

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.

Mode: This command is applicable in all modes.

Related commands: %%, SETCYCLECOPY, SETPAGESIZE, SETMEDIAT, SLIPSHEET

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.

Syntax: (MediaType:mediaColor:MediaWeight) SETMEDIAT


As with the SETMEDIA command, the media values may be unchanged
by leaving the corresponding fields empty.

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

Mode: This command is applicable in all modes.

Related commands: %%, SETMEDIA, SETPAGESIZE

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.

Syntax: (path to misc. library) SETMPATH

[ (path to misc. library 1) (path to misc. library 2) ... ]


SETMPATH
The specified libraries are used by SETLMFILE, SETDLFILE, CACHE and
RUN to locate the files referred to by these commands.
When a list of libraries is specified, as in the second syntax, they are
searched in the order in which they appear in the list. Use SETMPATH
mainly in the /usr/xgf/src/xgfunix.run file.

Mode: This command is applicable in all modes.

Related commands: RUN, SETDLFILE, SETLMFILE, STOREVAR, CACHE

VIPP Reference Manual (9/2003) 11-172


The VIPP language

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.

Syntax: [ Hor1 Ver1 rotate1 Hscale1 Vscale1 % setting for logical


page 1
Hor2 Ver2 rotate2 Hscale2 Vscale2 % setting for logical
page 2
......
] SETMULTIUP

[ [ Hor1 Width1 ] [ Ver1 Height1 ] rotate1 Hscale1 Vscale1


[ Hor2 Width2 ] [ Ver2 Height2 ] rotate2 Hscale2 Vscale2
....
] SETMULTIUP

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.

VIPP Reference Manual (9/2003) 11-173


The VIPP language

Examples: This example defines two-up printing on A4 paper with DOT3 units.

[ 0 3500 -90 .7 .7
0 1750 -90 .7 .7 ] SETMULTIUP

This example defines two-up A4 printing on an A3 sheet for a document


that has been “ripped” by the Decomposition Service.

4960 3500 SETPAGESIZE % size of the sheet


[ [ 0 2480][0 3500] 0 1 1 % original A4 page
[2480 2480][0 3500] 0 1 1 % original A4 page
] SETMULTIUP
(doc1.ps) RUNDD

NOTE: Using multi-up mode and reduction may affect printer


performance, especially when images are called.

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.

Mode: This command is applicable in all modes.

Related commands: NEWBACK, NEWFRONT, NEWSIDE, ONEUP, TWOUP

VIPP Reference Manual (9/2003) 11-174


The VIPP language

SETNMP
SETNMP defines the Native Mode Prefix (NMP) string. Refer to “VIPP
data streams” and to %%XGF for further information on NMP.

Syntax: (NMP string) SETNMP


%%XGF is the default NMP value defined in the /usr/xgf/src/xgf.def file.

Mode: This command is applicable in line mode.

Related commands: %%XGF, NMP_off, STARTLM

VIPP Reference Manual (9/2003) 11-175


The VIPP language

SETOBIN
SETOBIN sets the output bin destination.

Syntax: (OutputType) SETOBIN

(OutputType) [ c1 c2 ... cn ] SETOBIN

[ (OType1) (OType2) ... (OTypeN) ] SETOBIN


The first syntax allows you to select a specific output tray. The second and
third syntax allow you to select a different output tray for each copy of a
document or to define a cycle for output of each page to a different tray,
similar to the SETMEDIA cycle syntax.
The OutputType is device-dependent and may be mapped to standard
keys using SETVAR.

Examples: This is an example.

/VARTT (Top Tray) SETVAR


VARTT SETOBIN

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.

(Top Tray) SETOBIN


(High Capacity Stacker) SETOBIN
(Face-Up Tray) SETOBIN

SETOBIN relies on the OutputAttributes dictionary, which is a PostScript


Level 2 feature not implemented on all Level 2 devices.

NOTE: On DocuSP printers (from version 1.32) this command can be


used to set an external finisher as a subset finishing destination, for
example, (SBM) SETOBIN. In this situation STAPLE_on must not be
used.

Mode: This command is applicable in all modes.

Related command: SETOBINT

VIPP Reference Manual (9/2003) 11-176


The VIPP language

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.

Syntax: (OutputType) SETOBINT

Mode: This command is applicable all modes.

Related command: SETOBIN

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.

Syntax: [ { layout_definition1 } { layout_definition1 } ... ]


SETPAGEDEF

[ { layout_definition1 } { layout_definition1 } ... /R ]


SETPAGEDEF

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).

Example: This is an example.

[ { [ [ 200 500 990 1330 0 ] % layout for page 1


[ 200 2400 990 900 0 ]
[ 1290 500 990 430 0 ]
[ 1290 2300 990 1000 0 ]
] SETLKF

(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

Mode: This command is applicable in all modes.

Related command: SETLKF, SETJDT

VIPP Reference Manual (9/2003) 11-177


The VIPP language

SETPAGENUMBER
The SETPAGENUMBER command sets the page numbering for all
subsequent pages.

Syntax: (format) start pos SETPAGENUMBER

(format) start rotate pos SETPAGENUMBER

(format) start hpos vpos align SETPAGENUMBER

(format) start hpos vpos rotate align SETPAGENUMBER

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:

0 — do not print page number (temporary disablement)


1 — bottom center
2 — bottom right
3 — top center
4 — top right
hpos and vpos
provide the absolute horizontal and vertical coordinates.
align
provides the alignment 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.

VIPP Reference Manual (9/2003) 11-178


The VIPP language

Examples: This example prints “Page 001” at the bottom right corner of the first page.

(Page ###) 1 2 SETPAGENUMBER

This example prints at the top center with the same format and page
continuation.

null null 0 3 SETPAGENUMBER

This example prints at the bottom center with the same format, and
restarts page numbering at 1.

null 1 0 1 SETPAGENUMBER

Hints and tips: Positions 1, 2, 3, and 4 are related to the margins.

Mode: This command is applicable in all modes.

Related command: SETMARGIN

VIPP Reference Manual (9/2003) 11-179


The VIPP language

SETPAGESIZE
The SETPAGESIZE command defines the page size requirement for all
subsequent pages.

Syntax: pagewidth pageheight SETPAGESIZE

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

Mode: This command is applicable in all modes.

Related commands: %%XGF, NMP_off

VIPP Reference Manual (9/2003) 11-180


The VIPP language

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.

Syntax: [parameters] SETPARAMS

[ /Pagerange integer ] SETPARAMS

/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

Examples: This is an example of SETPARAMS.

[/3D true /SliceBurst .1] SETPARAMS

This example shows the use of /Pagerange at the beginning of a data file:

%!
XGF
[ /PageRange 1 ] SETPARAMS
1 10 PAGERANGE
...

VIPP Reference Manual (9/2003) 11-181


The VIPP language

This example lists the eight meta characters that can be defined for use
in the FORMAT command using the SETPARAMS command.

[ /DecimalPoint 46 % decimal delimiter in numeric data (default .)


/NSign 45 % negative sign in numeric data (default: -)
/FDecimalPoint 46 % decimal delimiter in format (default: .)
/FNSign 45 % negative sign in format (default: -)
/FPSign 43 % positive sign in format (default: +)
/FPunctuation 44 % thousands delimiter in format (default: ,)
/FDigit 35 % placeholder for digit in format (default: #)
/FLZDigit 64 % placeholder for digit in format (default: @)
% that will be replaced by space if the digit
% is aleading zero
] SETPARAMS

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.

NOTE: SETPARAMS replaces the SETDDGPARAMS command, but


SETDDGPARAMS is supported for backward compatibility.

Mode: This command is applicable in all modes.

Related commands: DRAWPIE, DRAWBAR, DRAWCRV, FORMAT, Parameters

VIPP Reference Manual (9/2003) 11-182


The VIPP language

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.

Syntax: /PATkey /PPATkey Htrans Vtrans rotate Hscale Yscale SETPAT

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

VIPP Reference Manual (9/2003) 11-183


The VIPP language

If the pattern type is uncolored (PaintType=2) it will be painted using the


last plain color defined in the VIPP job. An alternative is to use the pattern
key in conjunction with a colorkey using this syntax:

[ Colorkey PATkey ]

Example: This is an example.

/Star /PStar 5 -5 0 .8 .8 SETPAT % pattern definition


Star SETTXC % invoke pattern with current color
[ BLUE Star ] SETTXC % invoke pattern with color BLUE

A collection of pre-defined patterns are provided in the src/xgf.gep file, to


sample them, print xgf/demo/sampat.nm.

Mode: This command is applicable in all modes.

Related commands: SETPPAT, SETTXC, INDEXCOLOR

VIPP Reference Manual (9/2003) 11-184


The VIPP language

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.

Syntax: (delimiter string) option SETPBRK

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.

VIPP Reference Manual (9/2003) 11-185


The VIPP language

Examples: This is the default setting for backward compatibility:

<0C> 000 SETPBRK

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.

<0C> 010 SETPBRK % full ASCII printer compatibility

<0C> 001 SETPBRK % FF at the end of the last line


% suppresses extra blank line on the next page

(Page) 131 SETPBRK % assumes that a line with Page is the first line

($$INDEX) 141 SETPBRK % detects a nonprintable delimiter


% this line may contain additional information such as archive
% indexing

Mode: This command is applicable in line mode.

Related commands: PAGEBRK, XGFDEBUG

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.

Syntax: /pccname SETPCC

Where:
pccname
refers to a PCC definition previously defined by BEGINPCC.

Mode: This command is applicable in line mode.

Related commands: BEGINPCC, ENDPCC, SETVFU

VIPP Reference Manual (9/2003) 11-186


The VIPP language

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.

Syntax: /PCDkey line_nr line_ct recpos length /cnd (comp.str) SETPCD

/PCDkey line_nr line_ct field_nr /FN /cnd (comp.str) SETPCD

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).

VIPP Reference Manual (9/2003) 11-187


The VIPP language

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.

/BANNER 10 9 0 132 /HOLD (FORM=) SETPCD

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.

/NEWDEPT 10 1 0 6 /ne /PREV SETPCD

In this example, the condition is true if the string “START OF JOB:”


appears in position 5 for a total of 13 character positions on any line from
3 to line 5.

/STARTBANNER 3 3 5 13 /eq (START OF JOB:) SETPCD

Mode: This command is applicable in line mode.

Related commands: BEGINPAGE, ENDPAGE, GETFIELD, IF/ELSE/ENDIF, SETRCD

VIPP Reference Manual (9/2003) 11-188


The VIPP language

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.

Syntax: [ /PIFtype param1 param2 .... ] SETPIF

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.

NOTE: Because active PIFs are automatically cancelled when they


are associated with an element, use of the null syntax is seldom
necessary.

Depending on PIFtype, these parameters must be supplied:


• [ /PAGE pagenum view ]
• [ /PAGE {/Prev} view ]
• [ /PAGE {/Next} view ]
• [ /DEST /destname ]
• [ /XPAGE (fileref) pagenum view ]
• [ /XDEST (fileref) /destname ]
• [ /FILE (fileref) ]
• [ /URI ]
• [ /URI (URIstring) ]
• [ /NOTE (title) (contents) ]
• [ /NOTE (title) (contents) notetype color option ]

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

VIPP Reference Manual (9/2003) 11-189


The VIPP language

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

VIPP Reference Manual (9/2003) 11-190


The VIPP language

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.

Mode: This command is applicable in all modes.

Related commands: PDFDEST, INDEXPIF, BOOKMARK, PDFINFO, PDFOPEN

VIPP Reference Manual (9/2003) 11-191


The VIPP language

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.

Syntax: /PPATkey PaintType [BBox] Xstep Ystep {PaintProc} SETPPAT

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.

Example: This is an example.

/PStar 2 [-5 -5 5 5] 10 10{pop 0 5 moveto 4 {144 rotate 0 5 lineto} repeat closepath fill} SETPPAT

Mode: This command is applicable in all modes.

Related command: SETPAT

VIPP Reference Manual (9/2003) 11-192


The VIPP language

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.

Syntax: [ (path to project library 1) (path to project library 1) ... ]


SETPPATH
When SETPROJECT is used at the beginning of a job, all resource
libraries are redefined to those defined by SETPPATH for all resources
types. In other words all previous SETxPATH definitions are replaced by
the SETPPATH definition.
Project paths are divided into these three categories (scopes):
• Local scope — paths that contain both $$FOLDER and $$PROJECT.
These libraries will hold resources that pertain only to the project.
• Folder scope — paths that contain only $$FOLDER. These libraries
will hold project libraries and resources shared by projects belonging
to the same folder.
• Global scope — paths that contain neither $$FOLDER nor
$$PROJECT. These libraries will hold resources shared by all
projects.
Limitations and rules:
• In the Local scope category, $$PROJECT must immediately follow
$$FOLDER.
• A path containing $$PROJECT without $$FOLDER is not allowed.
• If present, $$FOLDER and $$PROJECT must appear only once in
each path.
• No additional path components are allowed after $$PROJECT.
• A path ending by $$FOLDER is invalid.
• There must be at least one path for each category.
• There may be several paths in each category but they must be
defined and grouped by category (local, folder, global) in the
SETPPATH list.
• A folder or project name must appear only once in the trees of
directories covered by SETPPATH.
• When a resource is present with the same name in more than one
scope, the order of precedence is: local, folder, global.

VIPP Reference Manual (9/2003) 11-193


The VIPP language

Example: This is an example.

[ (c:\\xgfc\\$$FOLDER.\\$$PROJECT.\\)
(c:\\xgfc\\$$FOLDER.\\fshared\\)
(c:\\xgfc\\gshared\\)
] SETPPATH

Mode: This command is applicable in all modes.

Related command: SETPROJECT

SETPROJECT
The SETPROJECT command activates the SETPPATH definition with the
related project and folder names for all subsequent resource accesses.

Syntax: [ (folder_name) (project_name) ] SETPROJECT

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.

Example: This is an example.

%!
[(projects) (holidays)] SETPROJECT
(holi1.dbm) STARTDBM
.......

When associated with the example presented in SETPPATH, the


SETPROJECT command will assign these libraries to be searched for
resources during the rest of the job:
• c:\xgfc\projects\holidays
• c:\xgfc\projects\fshared
• c:\xgfc\gshared

Mode: This command is applicable in all modes.

Related command: SETPPATH

VIPP Reference Manual (9/2003) 11-194


The VIPP language

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.

Syntax: /RCDkey recpos length /cond (compare string) SETRCD

/RCDkey field_nr /FN /cond (compare string) SETRCD

/RCDkey [ RCDkey1 RCDkey2 /bool_op ] SETRCD

/RCDkey { condition statement } SETRCD

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.

VIPP Reference Manual (9/2003) 11-195


The VIPP language

/IF_TOTAL 0 5 /eq (TOTAL) SETRCD


5 BEGINRPE
% align rotate init displ Yinit Ydispl recpos length font color
1 FROMLINE
[ 2 0 835 0 300 0 00 99 /F4 BLACK ]10 FROMLINE
/IF_TOTAL [ 0 0 230 0 560 75 00 33 /F2T BLACK ]
/ELSE [ 0 0 230 0 560 75 00 33 /F2 BLACK ]
[ 1 0 1345 0 560 75 33 112 /F2 BLACK ]
ENDRPE

This example defines a new RCD that is true when IF_CND1 RCD or
IF_CND2 RCD is true.

/IF_CND3 [ IF_CND1 IF_CND2 /or ] SETRCD

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.

/IF_CND4 [ IF_CND1 IF_CND2 /or IF_CND3 /and ] SETRCD

These two examples are equivalent.

/IF_CND1 0 10 /eq 10(*) SETRCD

/IF_CND1 0 10 /eq (**********) SETRCD

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.

/IF_CND1 0 100 /HOLD (DIVISION) SETRCD

VIPP Reference Manual (9/2003) 11-196


The VIPP language

This is an example using the built-in variable CURLINE.

/IF_1STLINE { CURLINE 1 eq } SETRCD


2 BEGINRPE
/HEAD RPEKEY
/IF_1STLINE
[ …… ] % entry processed only if a record prefixed with “HEAD” is on the first line
/ENDIF
[ …… ] % entry processed for all records prefixed with “HEAD”
/BODY RPEKEY
[ …… ]
ENDRPE

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.

Mode: This command is applicable in line mode.

Related commands: CURLINE, FROMLINE, LNCOUNT, RPEKEY, SETPCD

VIPP Reference Manual (9/2003) 11-197


The VIPP language

SETRES
The SETRES command sets the device resolution for current and
subsequent pages.

Syntax: Res SETRES

Example: This is an example.

600 SETRES

Only those resolutions supported by the current device and selectable


through PostScript are allowed. Check for legal resolution values in the
printer documentation. This command is supported only in level 2 devices.

Mode: This command is applicable in all modes.

Related commands: None

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.

Syntax: /rpekeyname SETRPE


SETRPE and SETRPEPREFIX are mutually exclusive.

Example: This is an example that invokes “ADR0” for the following lines until the
next SETRPE is encountered.

%%XGF /ADR0 SETRPE

Hints and tips: This is an alternative method for prefixed records.

Mode: This command is applicable in line mode.

Related commands: RPEKEY, SETRPEPREFIX

VIPP Reference Manual (9/2003) 11-198


The VIPP language

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.

Syntax: prefixlength SETRPEPREFIX

[prefixlength position] SETRPEPREFIX

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.

NOTE: Whenever an RPE prefix contains spaces it must be


coded between parenthesis instead of preceded by a “/”. For
example:
(REC1 45 C) RPEKEY
[ ... RPE entry ... ]

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.

VIPP Reference Manual (9/2003) 11-199


The VIPP language

Examples: This is an example of a data stream using prefixed records.

%!
4 SETRPEPREFIX % should normally be coded in the JDT
(bill.jdt) STARTLM
PER0 01.11.1989 - 31.12.1989
REF0 14153 01764960

ADR0 M. MARCEL DUPONT


ADR0 RESIDENCE “LES MIMOSAS”
ADR0 PLACE DE LA GARE, 44
ADR0 2323 SAGEX

DFA0 23.01.1990
DPY0 23.02.1990
DRE0 7.12.1989
CRN0 068.025.000 COMMUNS IMMEUBLE

LFA0 14 COMMUNS 81978 30248 30144 104 44,40


LFA0 41 EAU TARIF I 491 12869 12714 155 0,2800 43,40
LFA0 TAXE DE BASE 2,0 7,692 15,35
LFA0 LOCATION COMPTEUR 2,0 2,00 4,00
LFA0 82 GAZ CHAUFFAGE 3500 40972 40126 8798 0,0330 290,35
LFA0 TAXE DE BASE 2,0 16,666 33,35
LFA1 TOTAL S.I. 430,85
LFA0 41 ASSAINISSEMENT 491 155 0,25 38,75

MNT0 MONTANT A PAYER 469,60


BRE0 00 00014 15301 76496 00120 01019
OLI0 0100000469609>000001415301764960012001019+
%%EOF

This example of [prefixlength position] SETRPEPREFIX, defines the


prefix as 1 byte long and located at position 132 on the record. The default
position is zero.

[ 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.

Mode: This command is applicable in line mode and database mode.

Related commands: RPEKEY, SETRPE

VIPP Reference Manual (9/2003) 11-200


The VIPP language

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.

Syntax: [ skip_cond1 [ pre-skip print-action post-skip BOF TOF ]


skip_cond2 [ pre-skip print-action post-skip BOF TOF ]
......
skip_condn [ pre-skip print-action post-skip BOF TOF ]
() [ pre-skip print-action post-skip BOF TOF ]
%default
] SETSKIP

Where:
skip_condx
is either:

a string of any length enclosed in parenthesis. If the beginning of a


line matches the string then the associated skip action will occur. The
string remains as part of the printable data.

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:

true, print the record


false, do not print the record
post_skip
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.

VIPP Reference Manual (9/2003) 11-201


The VIPP language

Example: In this example any line starting with “0001” will cause a skip to channel
one.

[ (0001) [ /SK1 true 0 0 0 ]


() [ 1 true 0 0 0 ]
] SETSKIP

Mode: This command is applicable in line mode.


Related commands: SETGRID, SETPBRK, SETPCC, SETVFU

SETTAB
The SETTAB command enables tab processing and defines tab spacing
in character units.

Syntax: charcount SETTAB

Where:
charcount
is the number of characters used to position tabs.

Example: This example defines a tab stop every eight characters.

8 SETTAB

NOTE: Use SETTAB only when required, as it may affect


performance.

Hints and tips: Use SETTAB only with fixed pitch fonts.

Mode: This command is applicable in basic line mode (no RPE).

Related command: SETUTAB

VIPP Reference Manual (9/2003) 11-202


The VIPP language

SETTXB
The SETTXB command activates a background for all subsequent text
imaged using an SHx command.

Syntax: /BATkey SETTXB

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

Mode: This command is applicable in all modes.

Related commands: SETBAT, SHx, INDEXBAT

VIPP Reference Manual (9/2003) 11-203


The VIPP language

SETTXC
The SETTXC command sets the color and pattern for all subsequent
printed text and ICALL commands.

Syntax: ColorKey SETTXC

PATkey SETTXC

[ ColorKey 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

VIPP Reference Manual (9/2003) 11-204


The VIPP language

To define new colorkeys, edit the /usr/xgf/src/xgf.gep file and add lines
using this syntax:

/ColorKey color_definition SETCOL

Where:
color_definition
Can be one of these:
• a number between 0 (black) and 1 (white) to define a gray level:

/LIGHT .9 SETCOL

• a list of three (RGB) or four (CMYK) numbers between square


brackets to define a color:

/LRED [ 1 .8 .6 ] SETCOL

Print the /usr/xgf/sampalrgb.ps file to obtain color samples with


associated RGB values.
The default pattern is no pattern. Pattern keys are defined using the
SETPAT and SETPPAT commands. Predefined Patterns include:
• Diamond
• Diamond2
• Cross
• Grid
• Honey
• VIPP
• Strike
• Spot
• Spot2
• Star
• Star1
• Wave

Mode: This command is applicable in all modes.

Related commands: INDEXCOLOR, SETPAT, SETCOL

VIPP Reference Manual (9/2003) 11-205


The VIPP language

SETTXS
Use the SETTXS command to activate superscript and subscript.
Subscript and superscript are handled as text attributes, as are font, color,
and background .

Syntax: sst_param SETTXS

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).

Example: These examples print “March, 17 th.”

100 3000 MOVETO


/NHE 16 SETFONT
(March, 17) SH
/NHE 8 SETFONT
20 SETTXS (th) SH null SETTXS

100 3000 MOVETO


/NHE 16 SETFONT
(March, 17) SH
/NHE 8 SETFONT
/SUP SETTXS (th) SH null SETTXS %uses VIPP computed placement

Mode: This command is applicable in all modes.

Related commands: INDEXSST, SETFTSW

VIPP Reference Manual (9/2003) 11-206


The VIPP language

SETUNIT
SETUNIT sets the unit of measure for all subsequent commands except
SETGEP.

Syntax: unit SETUNIT

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.

CAUTION: SETUNIT is not a VIPP start-up command. Place an XGF


command prior to a SETUNIT statement if your job begins with that
statement.

Mode: This command is applicable in all modes.

Related command: SETGUNIT

VIPP Reference Manual (9/2003) 11-207


The VIPP language

SETUTAB
The SETUTAB command enables tab processing and defines the tab
length in current units.

Syntax: unitcount SETUTAB

Where:
unitcount
is the number of units used to position tabs.

Example: This example defines a tab stop every 50 current units.

50 SETUTAB

NOTE: Use SETUTAB only when necessary as it may affect


performance.

Hints and tips: Use SETUTAB with proportional fonts.

Mode: This command is applicable in basic line mode (no RPE).

Related command: SETTAB

VIPP Reference Manual (9/2003) 11-208


The VIPP language

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.

Syntax: /VARname value SETVAR

/VARname value /INI SETVAR

/^name value SETVAR

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.

VIPP Reference Manual (9/2003) 11-209


The VIPP language

Assuming the current XML path starts with:


^invoices^invoice^customer
the variable: ^customer^area will be assigned a full variable name of:
^invoices^invoice^customer^area and will be automatically reset
whenever a new <customer> or <invoice> tag is crossed.
As to XML tree variables, XML variables can be accessed through their
full name or any unambiguous sub-name at the time they are referenced.

Examples: These are examples.

/VAR.date (December, 12th. 1993) SETVAR

/VARX1 200 SETVAR

/VARY1 300 SETVAR

VARX1 VARY1 MOVETO

VAR.date SHL

($$VARX1.) VSUB SHL

($$VARX1.) VSUB (:#######:) FORMAT SHL

In this example, SETVAR initializes a variable in a DBM. Because /INI


was used to define the variable, it will not be re-initialized for each record,
allowing the /VAR.COUNT ++ to increment the count. When /INI is not
used the count is set to zero for each new record.

/VAR.COUNT 0 /INI SETVAR


IF VAR.COUNT 50 eq
{ (slipsheet) SETMEDIAT
0 NL PAGEBRK
/VAR.COUNT 0 /SETVAR
}
ENDIF
/VAR.COUNT ++
.....

VIPP Reference Manual (9/2003) 11-210


The VIPP language

In this example SETVAR is used to define a procedure. This procedure


prints an address block. It is executed each time the variable name is
coded in the VIPP code.
This example also demonstrates the usage of SHP to print the address
lines (Addr1 and Addr2). When one of the address lines is empty, VIPP
will not move the print position down. This allows the address block to
adjust for empty lines.

/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

VIPP allows for incrementing and decrementing of variables. There are


differences in applying this to integers and string values.
Integers:

/VARNumber 0 SETVAR % Value equals 0


/VARNumber ++ % Value now equals 1
/VARNumber 3 ADD % Value now equals 4
/VARNumber -- % Value now equals 3

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.

/VARNumber (000) SETVAR % value is 000


/VARNumber ++ % Value is now 001
/VARNumber 7 ADD % Value is now 008
/VARNumber -- % Value is now 007
/VARNumber -2 ADD % Value is now 005
/VARNumber (7) ADD % Value is now 012

Mode: This command is applicable in all modes.

Related commands: SETMPATH, STOREVAR, VSUB

VIPP Reference Manual (9/2003) 11-211


The VIPP language

SETVFU
The SETVFU command defines a Vertical Format Unit (VFU) table,
channel-skip to line-number assignments for the current PCC definition.

Syntax: [ /skip-key1 line-number1 /skip-key2 line-number2 ... ] SETVFU

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.

Example: This is an example.

[ /SK1 -1 /SK2 35 /SK9 66 ] SETVFU

Mode: This command is applicable in line mode.

Related commands: BEGINPCC, ENDPCC, SETPCC

VIPP Reference Manual (9/2003) 11-212


The VIPP language

SETZEBRA
The SETZEBRA command enables zebra, or greenbar, printing for all
subsequent pages. Zebra printing is the printing of background shaded
boxes.

Syntax: colorkey lines-with lines-without SETZEBRA

colorkey lines-with lines-without /V SETZEBRA

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.

Example: This is an example.

LIGHT 3 3 SETZEBRA

Mode: This command is applicable in all modes.

Related commands: SETGRID, SETMARGIN, SETPAT, SETTXC

VIPP Reference Manual (9/2003) 11-213


The VIPP language

SHC and SHc


SHC and SHc prints data centered on the main (SHC) or secondary (SHc)
print position. SHC resets the main horizontal print position to the last
value specified by MOVETO and forwards the vertical print position by the
SETLSP value. SHc sets the secondary print position at the point reached
after printing the data.

Syntax: (printable data) SHC

(printable data) SHc

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

VIPP Reference Manual (9/2003) 11-214


The VIPP language

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.

NOTE: Support for this command is restricted by Xerox and is limited


to Xerox NPS devices only. It is not enabled on any device and cannot
be used without first contacting Xerox. If you need to enable
DataGlyph support on your NPS printer, please contact your local
Xerox analyst, who will need to contact the VIPP Hotline.

Syntax: (string) [ /Width Wvalue /Height Hvalue ] SHGLYPH

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.

Examples: This is a native mode example:

100 200 MOVETO


(test string for Glyph encoding) [ /Width 50/Height 20 ] SHGLYPH

This is a database mode example:

100 200 MOVETO


FIELD12 [ /Width 50/Height 20 ] SHGLYPH

This is a line mode (JDT) example:

{ /VAR.GLYPH ....... GETFIELD % capture data on the page


100 200 MOVETO
VAR.GLYPH[ /Width 50/Height 20 ] SHGLYPH
} ENDPAGE

Mode: This command is applicable in all modes.

Related commands: MOVETO, MOVEH, MOVEHR

VIPP Reference Manual (9/2003) 11-215


The VIPP language

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.

Syntax: Xfront Yfront Xback Yback SHIFT

Hints and tips: This command is useful for setting the proper left or top margins for
binding in duplex.

Mode: This command is applicable in all modes.

Related commands: SETPARAMS, SETVAR, SHx

SHJ and SHj


SHJ and SHj print data justified from the main (SHJ) or secondary (SHj)
print position to the width specified by the last SETCOLWIDTH.
Inter-word justification is applied when the string contains spaces, if not
inter-character justification is applied.
SHJ resets the main horizontal print position to the last value specified by
MOVETO and forwards the vertical print position by the SETLSP value.
SHj sets the secondary print position at the point reached after printing
the data.

Syntax: (printable data) SHJ

(printable data) SHj

NOTE: When the width set by SETCOLWIDTH does not fit the length
of printable data, the printed text may overlap.

Mode: These commands are applicable in all modes.

Related commands: MOVETO,MOVEH, MOVEHR, SETCOLWIDTH, SETLSP, SHL and SH,


SHC and SHc, SHMF/SHMf, SHR and SHr

VIPP Reference Manual (9/2003) 11-216


The VIPP language

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.

Syntax: (printable data) SHL

(printable data) SH

Example: This example prints: “Hello World it's me.”

(Hello World) SH ( it's me) SH

Mode: These commands are applicable in all modes.

Related commands: CASETI, GETINTV, MOVETO, MOVEH, MOVEHR, SETLSP, SHC and
SHc, SHJ and SHj, SHMF/SHMf, SHR and SHr

VIPP Reference Manual (9/2003) 11-217


The VIPP language

SHMF, SHMf, and SHmf


SHMF, SHMf and SHmf print data at the main (SHMF/SHMf) or secondary
(SHmf) print position. Use these commands to switch between fonts and
colors in the printable data by using a font/color switch sequence. The
font/color switch prefix is defined in the /usr/xgf/src/xgf.def file using
SETFTSW. “//” is the default.
SHMF resets the main horizontal print position to the last value specified
by MOVETO, and forwards the vertical print position by the SETLSP
value.
SHmf sets the secondary print position to the point reached after printing
the data.
Using SHMF allows you to print line mode data streams with embedded
font switch sequences. This can be useful when migrating XES data
streams to VIPP.
SHMf behaves like SHMF, however as with the SHP command, it does not
forward the vertical print position when (printable data) is an empty string.

Syntax: (printable data) align SHMF

(printable data) colwidth align SHMF

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.

(Mrs. Mary-Eleonore de Bourbon l'Archambaud) 500 100 SHMF

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.

VIPP Reference Manual (9/2003) 11-218


The VIPP language

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

NOTE: Refer to INDEXFONT and SETFTSW for further information.

Hints and tips: Use the appropriate SHx commands when font or color switching is not
required.

Mode: These commands are applicable in all modes.

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

VIPP Reference Manual (9/2003) 11-219


The VIPP language

SHP and SHp


The SHP command prints data at the main print position and SHp prints
data at the secondary print position with line wrapping.
These commands behave the same as SHMF. In addition, they perform
word wrapping on printable data according to the width defined by
SETCOLWIDTH and the line spacing defined by SETLSP. Printable data
may be a long string including up to 65,535 characters dynamically
formatted in a paragraph by SHP.
SHP resets the main horizontal print position to the last value specified by
MOVETO and forwards the vertical print position reached after the last
line by the SETLSP value.

Syntax: (printable data) align SHP

(printable data) colwidth align SHP

[ (printable data1) (printable data2) .... ] align SHP

[ (printable data1) (printable data2) .... ] colwidth align


SHP

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.

VIPP Reference Manual (9/2003) 11-220


The VIPP language

Examples: This example changes the value to 0.03.

/VAR.SHP_OVER 0.03 SETVAR

NOTE: When (printable data) is empty, the vertical print position is


not forwarded.

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

300 3000 MOVETO


($$Fname. $$Lname.) VSUB SH
addr1 0 SHP
addr2 0 SHP
($$city., $$state. $$zip.) VSUB SH
PAGEBRK

The example prints this information:


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.

Mode: These commands are applicable in all modes.

Related commands: MOVETO, MOVEH, MOVEHR, SCALL, SETCOLWIDTH, SETLSP,


SETVAR, SHMF/SHMf, VSUB

VIPP Reference Manual (9/2003) 11-221


The VIPP language

SHR and SHr


SHR and SHr print data right aligned on the main (SHR) or secondary
(SHr) print position.
SHR resets the main horizontal print position to the last value specified by
MOVETO and forwards the vertical print position by the SETLSP value.
SHr sets the secondary print position at the point reached after printing
the data.

Syntax: (printable data) SHR

(printable data) SHr

Mode: These commands are applicable all modes.

Related commands: MOVETO, MOVEH, MOVEHR, SETLSP, SHL and SH, SHC and SHc, SHJ
and SHj, SHMF/SHMf

VIPP Reference Manual (9/2003) 11-222


The VIPP language

SHT and SHt


SHT and SHt print possibly truncated data on the main (SHT) or
secondary (SHt) print position. The amount of data printed is limited to the
length defined by the column width. These commands behave like
SHP/SHp but print only the first line of the paragraph. When the data is
truncated an ellipsis ( ... ) is printed at the end of the line to indicate the
truncation.

Syntax: (printable data) align SHT

(printable data) colwidth align SHT

[ (printable data1) (printable data2) .... ] align SHT

[ (printable data1) (printable data2) .... ] colwidth align


SHT

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.

Mode: These commands are applicable in all modes.

Related commands: MOVETO, MOVEH, MOVEHR, SCALL, SETCOLWIDTH, SETLSP,


SETVAR, SHMF/SHMf, VSUB

VIPP Reference Manual (9/2003) 11-223


The VIPP language

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.

Syntax: (printable data) rotate GEPkey align SHX

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.

NOTE: SHX can be associated with a background (refer to SETTXB


and INDEXBAT) only when a non-outlined GEPkey is used. A
non-outlined GEPkey has a LineWidth equal to 0 (refer to SETGEP).

Hints and tips: This command can be used to place outlined text across the page using
a large font.

Mode: This command is applicable in all modes.

Related commands: INDEXBAT, SETGEP, MOVETO, SETBAT, SETLSP, SETTXB

VIPP Reference Manual (9/2003) 11-224


The VIPP language

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.

/BANNER 1 10 /eq 132(*) SETPCD


{ IF BANNER {SKIPPAGE} ENDIF } BEGINPAGE

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

Mode: This command is applicable in line mode.

Related commands: BEGINPAGE, IF/ELSE/ENDIF, SETPCD

VIPP Reference Manual (9/2003) 11-225


The VIPP language

SLIPSHEET
SLIPSHEET inserts slipsheets (additional sheets intended to separate
sets) in the middle of a job.

Syntax: { slipsheet proc } SLIPSHEET

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.

/SLIP 1 5 0 10 /eq (criteria string) SETPCD


{ IF SLIP
{ { (:blue) SETMEDIA
(slipform.frm) SETFORM
} SLIPSHEET
}ENDIF
} BEGINPAGE

NOTE: In native mode or database mode always code SLIPSHEET


immediately after a PAGEBRK (or before the beginning of the first
page).

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.

Mode: This command is applicable in all modes.

Related commands: BEGINPAGE, ENDPAGE,GETFIELD, SETFORM, SETMEDIA

VIPP Reference Manual (9/2003) 11-226


The VIPP language

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.

Mode: This command is applicable in line mode and database mode.

Related commands: %%EOF, %!

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.

Syntax: (spoolfile name) SPOOLNAME

NOTE: This file is not used on DocuPrint NPS and DocuSP except in
streaming mode.

Mode: This command is applicable in all modes.

Related command: SETCYCLECOPY, SETMAXCOPY

VIPP Reference Manual (9/2003) 11-227


The VIPP language

STAPLE_off
STAPLE_off disables the stitching of sets previously enabled by
STAPLE_on. STAPLE_off is the default.

Syntax: STAPLE_off

Mode: This command is applicable in all modes.

Related command: STAPLE_on

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

NOTE: Use this command only on a DocuPrint NPS or DocuSP


running version 1.32 or later. In addition, a DP/NPS printer must be
equipped with a stitching module, have the MultiSet feature enabled,
and have the “staple” attribute set for each job using one of these:

• Include “%%Requirements: staple” in the job


• Submit with lpr-C”(staple)”
• Submit to a virtual printer with the Staple attribute preset.

On DocuSP this command only addresses the internal stapling station. To


set an external finisher as a subset finishing destination use the SETOBIN
command, for example, (SBM) SETOBIN.

Mode: This command is applicable in all modes.

Related commands: ENDOFRUN, ENDOFSET, STAPLE_off, STARTOFSET, SETOBIN

VIPP Reference Manual (9/2003) 11-228


The VIPP language

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.

Syntax: (detail_spec) STAPLEDETAILS

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

Related command: STAPLE_on

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

Mode: This command is applicable in all modes.

Related commands: ENDBOOKLET, SETPARAMS

VIPP Reference Manual (9/2003) 11-229


The VIPP language

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.”

Syntax: (Data Base Master name) STARTDBM<EOL>

(Data Base Master name) record-grouping STARTDBM<EOL>

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.

VIPP Reference Manual (9/2003) 11-230


The VIPP language

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:

/VAR_INI true /INI SETVAR


% this section executes only on the first call to the DBM
IF VAR_INI
{ TWOUP
DUPLEX_on
2480 3500 SETPAGESIZE
/VAR_INI false SETVAR
} ENDIF

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.

Mode: This command is applicable in database mode.

Related commands: SETFPATH, SETJDT, STARTLM, VSUB

VIPP Reference Manual (9/2003) 11-231


The VIPP language

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.

Syntax: (jdtname) STARTLM<EOL>

(jdtname2) (jdtname1) count STARTLM<EOL>

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>

Mode: This command is applicable in line mode.

Related commands: LMSKIP, SETJDT, SETJPATH, STARTDBM

VIPP Reference Manual (9/2003) 11-232


The VIPP language

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

Mode: This command is applicable in all modes.

Related commands: ENDOFSET, STAPLE_on, OFFSET_on, BIND_on, SETOBIN

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.

Syntax: (xjtname) STARTXML

() STARTXML

Mode: This command is applicable in XML mode.

Related commands: BEGINXPD, ENDXPD, BTA, BTS, ETA, ETS, SETJPATH

VIPP Reference Manual (9/2003) 11-233


The VIPP language

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.

Syntax: data (store_file) 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.

VAR.NUMBER (number.var) STOREVAR (this stores the variable)


/VAR.NUMBER (number.var) RUN SETVAR (this retrieves the variable)
/VAR.NUMBER ++ (this increments the 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.

Mode: This command is applicable in all modes.

Related commands: SETMPATH, SETVAR

VIPP Reference Manual (9/2003) 11-234


The VIPP language

SUB
SUB subtracts a value from a numeric variable defined by SETVAR or an
XML variable.

Syntax: /VARname number SUB

/^XMLname number SUB

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.

Examples: These are examples of SUB:

/VAR.CNT1 0 SETVAR
/VAR.CNT1 12 SUB
/VAR.CNT1 -3 SUB

/VAR_SUM (0) SETVAR


/VAR_SUM (1,234,890,566,00-) SUB

Mode: This command is applicable in all modes.

Related commands: ADD, SETVAR, ++/--

VIPP Reference Manual (9/2003) 11-235


The VIPP language

TIFORI_off
TIFORI_off disables processing of tag 274 (Orientation) within ICALL.
TIFORI_off is the default.

Syntax: TIFORI_off

Mode: This command is applicable in all modes.

Related commands: TIFORI_on, ICALL

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

Mode: This command is applicable in all modes.

Related commands: TIFORI_off, ICALL

VIPP Reference Manual (9/2003) 11-236


The VIPP language

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

Mode: This command is applicable in all modes.

Related commands: BCALL, DUPLEX_off, DUPLEX_on, ENDIMP, TUMBLEDUPLEX_on

TUMBLEDUPLEX_on
TUMBLEDUPLEX_on enables tumble duplex printing (180 degree
rotation on the back side). The default is TUMBLEDUPLEX_off.

Syntax: TUMBLEDUPLEX_on

Mode: This command is applicable in all modes.

Related commands: BCALL, DUPLEX_off, DUPLEX_on, ENDIMP, TUMBLEDUPLEX_off

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.

Mode: This command is applicable in all modes.

Related commands: BCALL, ENDIMP, ONEUP, SETMULTIUP

VIPP Reference Manual (9/2003) 11-237


The VIPP language

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

Mode: This command is applicable in all modes.

Related command: XGFENTRY

VIPP Reference Manual (9/2003) 11-238


The VIPP language

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

Mode: This command is applicable in line mode.

Related commands: None

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.

Syntax: /command XGFENTRY

Example: This example registers MOVETO as an initial command.

/MOVETO XGFENTRY

NOTE: This command can only be used in the /usr/xgf/scr/xgf file,


and the /usr/xgf/src/xgfunix.run file after the end line.

Hints and tips: Use XGFENTRY to print an early version VIPP job that used an
unregistered initial command.

Mode: This command is applicable in all modes.

Related command: XGF

VIPP Reference Manual (9/2003) 11-239


The VIPP language

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.

Syntax: /formname form_data FBIND XGFRESDEF

/resourcename { resource_data } XGFRESDEF

/imagename [ <image_data1> <image_data2> … ] XGFRESDEF

/psname MAKEVMFILE ps_data %%EOD_XGF XGFRESDEF

/ilname {VIPP_code } /CACHE XGFRESDEF

/ilname {VIPP_code } [ llx lly urx ury ] /CACHE XGFRESDEF

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.

VIPP Reference Manual (9/2003) 11-240


The VIPP language

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.

Example: This example illustrates various uses of XGFRESDEF.

/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

NOTE: Embedded resources must appear in the data stream before


they are referenced by any VIPP command.

Hints and tips: SETLMFILE and SETDLFILE can be embedded in the data stream using
XGFRESDEF.

Mode: This command is applicable in all modes.

Related commands: CACHE, FCALL, ICALL, RUN, SCALL, SETBFORM, SETDLFILE,


SETENCODING, SETFORM, SETJDT, STARTDBM, STARTLM

VIPP Reference Manual (9/2003) 11-241


The VIPP language

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.

Syntax: [ /tag_name1 /tag_syn1 /tag_name2 /tag_syn2 … ] XMLSYN

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

Mode: This command is applicable in XML mode only.

Related commands: BEGINXPD, ENDXPD, BTA, ETA, BTS, ETS

VIPP Reference Manual (9/2003) 11-242


The VIPP language

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: When using ZSORT in duplex mode, the SETMULTIUP


syntax that specifies the page size for each logical page must be used
or placements on the back will be wrong. (See example below.)

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.

Syntax: { slipsheet proc } stacksize options ZSORT

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.

VIPP Reference Manual (9/2003) 11-243


The VIPP language

NOTE: ZSORT is applicable only in database mode using a DBM that


produces a single page per record.

ZSORT must be placed before the STARTDBM command or in a JDT


called before STARTDBM.

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.

[ Hor1 Ver1 rotate1 Hscale1 Vscale1 % logical page 1


. . . . Hor4 Ver4 rotate4 Hscale4 Vscale4 % logical page 4
] SETMULTIUP
{ ONEUP (:red) SETMEDIA
{/NHEB 24 SETFONT 300 1650 MOVETO (Slip Sheet) SH }
SETFORM
} 100 00 ZSORT

This is an example of a multi-up statement required when defining a 4-up


portrait on a letter page (2550x3300, assuming DOTS units), the logical
page size is 1275x1650, so the multi-up statement is:

[ [ 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

Mode: This command is applicable in database mode only.

Related commands: SETBUFSIZE, SETMULTIUP, DUPLEX_on, DUPLEX_off

VIPP Reference Manual (9/2003) 11-244


The VIPP language

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

Hints and tips: Use comments for documentation purposes or to communicate


information such as index or set delimiting to other applications. Keep
your comments as short as possible to avoid increasing the print file size
unnecessarily. In line mode, you must embed comments in a Native Mode
Prefix (NMP) record; for example, “%%XGF% this is a comment.”

Mode: This command is applicable in all modes.

Related commands: None

VIPP Reference Manual (9/2003) 11-245


The VIPP language

%%
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 %%DocumentMedia statement allows DocuPrint NPS to check for


proper loading of specified media in the printer trays before starting to
process the job. When the currently loaded media does not match that
required by %%DocumentMedia, the job is put in a MediaWait state until
the specified media is loaded.
This statement is mandatory when the SETMEDIA command is used in
the job to change the media on a page-by-page basis.

NOTE: When the %%DocumentMedia statement is omitted, the job


prints on the default media, therefore, media selection through
SETMEDIA may have unpredictable results.

Syntax: %%DSC statement


Refer to the appropriate Adobe documentation for further information on
DSC statements.

Mode: This command is applicable in all modes.

Related command: SETMEDIA

VIPP Reference Manual (9/2003) 11-246


The VIPP language

%!
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.

Mode: This command is applicable in all modes.

Related commands: %%EOF, SOF_off, STARTDBM, STARTLM

%%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.

Syntax: %%BoundingBox: llx lly urx ury

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.

%%BoundingBox: -100 -100 100 100


POINT SETUNIT
-100 100 200 200 LT_S1 100 DRAWBR
-50 50 100 100 OW_S1 50 DRAWBR

Mode: This command is applicable in all modes.

Related commands: CACHE, SCALL

VIPP Reference Manual (9/2003) 11-247


The VIPP language

%%EOD_XGF
%%EOD_XGF is an end-of-data marker that will terminate the preceding
MAKEVMFILE, MAKEVMFORM or '() RUN' commands.

Syntax: %%EOD_XGF

Mode: This command is applicable in all modes.

Related commands: MAKEVMFILE, MAKEVMFORM, RUN

%%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.

Mode: This command is applicable in all modes.

Related commands: %!, RESET, STARTDBM, STARTLM

VIPP Reference Manual (9/2003) 11-248


The VIPP language

%%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.

Syntax: %%XGF native mode commands

Example: This is an example.

%!
(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

Mode: This command is applicable in line mode.

Related commands: NMP_off, SETNMP

VIPP Reference Manual (9/2003) 11-249


The VIPP language

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.

Syntax: (string) 2OF5 SHx

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.

Example: This is an example.

(1340224715) 20F5 SHL

The example provides this output.

!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.

Mode: This command is applicable in all modes.

Related commands: CODE39, EAN13/EAN8, INDEXFONT, SETFONT, SHx, UPCA,


POSTNET

VIPP Reference Manual (9/2003) 11-250


The VIPP language

BSTRIP
BSTRIP strips extra left and right blanks from a string.

Syntax: string BSTRIP

Example: These are equivalent statements.

( Text with extra blanks ) BSTRIP SHL


(Text with extra blanks) SHL

Mode: This command is applicable in all modes.

Related command: BSTRIP_off

CASELOW
CASELOW changes all letters in a string to lowercase.

Syntax: string CASELOW

Example: This example prints “john r. martin.”

(John R. Martin) CASELOW SHL

Mode: This command is applicable in all modes.

Related commands: CASEUP, CASETI

VIPP Reference Manual (9/2003) 11-251


The VIPP language

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.

Syntax: string CASETI

Example This example prints “John R. Martin.”

(JOHN R. MARTIN) CASETI SHL

Mode: This command is applicable in all modes.

Related commands: CASELOW, CASEUP, SHL, SHx

CASEUP
CASEUP changes all letters in a string to uppercase.

Syntax: string CASEUP

Example: This example prints “JOHN MARTIN.”

(John Martin) CASEUP SHL

Mode: This command is applicable in all modes.

Related commands: CASELOW, CASETI, SHL, SHx

VIPP Reference Manual (9/2003) 11-252


The VIPP language

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.

Syntax: (string) CODE39 SHx

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) CODE39 SHL

*800273400024*

This command may also be used in RPE entries. Refer to the


FROMLINE/RPEKEY description for further information.
The associated barcode font must conform to a specific character
mapping. Barcode fonts are available from the Xerox Font Center.

Mode: This command is applicable in all modes.

Related commands: 2OF5, EAN13/EAN8, INDEXFONT, SETFONT, SHx, UPCA, POSTNET

VIPP Reference Manual (9/2003) 11-253


The VIPP language

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.

Syntax: (string) CODE128 SHx

(string) integer CODE128 SHx

(string) EAN128 SHx

[ (fix_length_string) (var_length_string) <F1> ... ) ] EAN128


SHx

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.

VIPP Reference Manual (9/2003) 11-254


The VIPP language

The output string consists of this information: start_char +


code128_sequence + check_digit + stop_char, in which:
• start_char is an appropriate Codeset (A, B, or C) start character.
• code128_sequenceis an input string, compressed if possible (if parts
of the input string were compressed, the output will include switch
characters).
• check_digit is a checksum character.
• stop_char is a stop character.
Code sets A, B, and C are supported. Output string encoding maps either
the Xerox encoding (x20-7F,A1-AB) or BearRock encoding
(x20-7F,95-DF). The commands perform an automatic detection to select
the appropriate encoding.
This command may also be used in RPE entries. More information can be
found in RPE command information and in FROMLINE and RPEKEY.
The associated barcode font must conform to a specific character
mapping. Barcode fonts are available from the Xerox Font Center.

Examples: This example illustrates the syntax using these assumptions:


Database field names:
• FIELD1
• FIX_FIELD1
• FIX_FIELD2
• VAR_FIELD1

/MB034 12 SETFONT
FIELD1 CODE128 SHL
FIELD1 EAN128 SHL
[FIX_FIELD1 VAR_FIELD1<F1> FIX_FIELD2] EAN128 SHL

This is a JDT example.

/F128/MB034 12 INDEXFONT
...
3 FROMLINE
[{BSTRIP 1 CODE128 SH} 0 300 0 1000 150 60 15 /F128 BLACK]
4 FROMLINE
[...]

A record portion (15 characters at position 60) is extracted from line 3.


After striping the blanks it is printed as barcodes 128 at position 300, 1000
using font F128.

Mode: This command is applicable in all modes.

Related commands: INDEXFONT, SETFONT, SHx, UPCA, POSTNET

VIPP Reference Manual (9/2003) 11-255


The VIPP language

CS
Use CS to concatenate two strings into one.

Syntax: (string1) (string2) CS

Example: This example prints “Dear Mr. Martin.”

(Dear Mr.) (Martin) CS SHL

Mode: This command is applicable in all modes.

Related commands: VSUB, SETVAR

VIPP Reference Manual (9/2003) 11-256


The VIPP language

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.

Syntax: (SXXXXXXYYYYY) EAN13 SHx

(XXXXYYY) EAN8 SHx

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.

(800273400024) EAN13 SHL

8<ALCSOE=aaacec>

This example illustrates EAN8 syntax and the resulting printed output.

(7616424) EAN8 SHL

<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.

Mode: These commands are applicable in all modes.

Related commands: 2OF5, CODE39, INDEXFONT, SETFONT, SHx, UPCA, POSTNET

VIPP Reference Manual (9/2003) 11-257


The VIPP language

F2S
Use F2S to store a field delimited record into a table using the ADD
command.

Syntax: (fdl1:fdl2:...:fdln) (delim) F2S (fdl1) (fdl2) ... (fdln)

Examples: This example of F2S produces (John) (Smith) (Seattle).

(John:Smith:Seattle) (:) F2S

This example, with ADD, assumes RECORD is a string with field delimited
data:

/VARtable [[ RECORD (:) F2S ] ] ADD

Mode: This command is applicable in all modes.

Related commands: ADD, GETITEM, FOREACH

FORMAT
Use FORMAT to format a numeric string for printing by one of the SHx
commands.

Syntax: (numeric data) (format) FORMAT SHx

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-.”

(-00001234.56) ($@,@@@,@@#.##-) FORMAT SHr

Mode: This command is applicable in all modes.

Related commands: SETPARAMS, SETVAR, SHx

VIPP Reference Manual (9/2003) 11-258


The VIPP language

GETINTV
GETINTV extracts a substring or a field from a string.

Syntax: (string) recpos length GETINTV

(string) field_nr (field_sep) GETINTV

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.

(Mr. John Martin) 1 ( ) GETINTV SHL

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.

(10/02/00) 0 (/) GETINTV SHL

VIPP Reference Manual (9/2003) 11-259


The VIPP language

In this example the date is separated into the month, day, and year and
assigns variables for later use.

/VAR_month (10/02/00) 0 (/) GETINTV SETVAR


/VAR_day (10/02/00) 1 (/) GETINTV SETVAR
/VAR_year (10/02/00) 2 (/) GETINTV SETVAR

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.

/VARname MY_RECORD 0 6 GETINTV SETVAR


/VARname2 MY_RECORD 6 11 GETINTV SETVAR
/VARsurface MY_RECORD 17 8 GETINTV SETVAR

Mode: This command is applicable in all modes.

Related command: SETDBSEP, GETFIELD

HMS
Use HMS to convert time measured in seconds to the HH:MM:SS format.

Syntax: (integer) HMS

integer HMS

Example: This example prints “4456” as “1:14:16.”

(4456)HMS SHL

Mode: This command is applicable in all modes.

Related commands: SHx

VIPP Reference Manual (9/2003) 11-260


The VIPP language

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.

Syntax: string NOHYPHEN

Example: This is an example.

/VAR_DATE DATE NOHYPHEN SETVAR


(... will be delivered on $$VAR_DATE. no later than 16:00 ...) VSUB SHP

Modes: This command is applicable in all modes.

Related commands: SHP and SHp, SHT and SHt

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.

Syntax: (string) POSTNET SHx

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).

Postal code accuracy is determined by the application creating the


data stream.

The output string consists of these:


• frame_char + input_string + check_digit + frame_char
• frame_char must be encoded on position 42 (asterisk)
The associated barcode font must conform to specific character mapping.
Barcode fonts are available from the Xerox Font Center.

Mode: This command is applicable in all modes.

Related commands: SETFONT, INDEXFONT, SHx

VIPP Reference Manual (9/2003) 11-261


The VIPP language

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.

Syntax: string QSTRIP

Example: This example prints John Martin without the quotation marks.

(“John Martin”) QSTRIP SHL

Mode: This function is applicable in all modes.

Related commands: BSTRIP, BSTRIP_off, GETINTV, QSTRIP_on, SHx

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.

Syntax: /font1 /font2 SUBSTFONT


SUBSTFONT delivers /font1 if this font is available on the device, if it is
not available it delivers /font2.
Define substitutions to avoid default substitution (generally with Courier)
or error when the font is not available on the device. font2 should be as
close as possible to font1 so that the VIPP output is only slightly affected.

Example: In this example, Helvetica-light is used when it is available, otherwise,


Helvetica is used.

/Helvetica-light /Helvetica SUBSTFONT

Mode: This function is applicable in all modes.

Related command: SETENCODING

VIPP Reference Manual (9/2003) 11-262


The VIPP language

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.

Syntax: (SXXXXXYYYYY) UPCA SHx

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.

(08978204466) UPCA SHL

0<kIJHIC=aeeggw>2

Mode: This command is applicable in all modes.

Related commands: 2OF5, CODE39, EAN13/EAN8, INDEXFONT, SETFONT, SHx,


POSTNET

VIPP Reference Manual (9/2003) 11-263


The VIPP language

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

(string to merge) (string holding $$.) VSUB

Examples: When FNAME and LNAME contain “John” and “Smith,” these examples
deliver “Dear John Smith,”:

(Dear [=FNAME=] [=LNAME=],) VSUB


(Dear $$FNAME. $$LNAME.,) VSUB
(John Smith) (Dear $$.,) VSUB

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 “.”

VIPP Reference Manual (9/2003) 11-264


The VIPP language

This example uses VSUB in an RPE align procedure to merge a field into
a string and print it.

[ { (Amount: --$$.--) VSUB SH } …… 25 8 /F1 BLACK ]

Assuming the field specified by the start of position 25 and length of 8


characters in the above example contains “1,234.50,” this entry will print:

Amount: --1,234.50--

These examples show how to insert a text file into a paragraph:

(Your conditions are: [=cnd23.txt=] and [=cnd54.txt=].) VSUB 0 SHP

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:

(Your conditions are: [=$$CND1.=] and [=$$CND2.=].) VSUB 0 SHP

Hints and tips: This command may also be used to select specific forms or media on a
record basis.

Mode: This command is applicable in all modes.

Related commands: SETVAR, STARTDBM, VSUB2, VSUB3, SETMPATH, SETPPATH

VIPP Reference Manual (9/2003) 11-265


The VIPP language

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 “=]”.

Syntax: (printable data with variable references) VSUB2

(string to merge) (string holding $$.) VSUB2

Examples: In this example, when the contents of FIELD 7 is 5, the resulting variable
name is VARcode5 and the variable content “May” prints.

/VARcode5 (May) SETVAR


....
(VARcode$$FIELD7.) VSUB2 SHL

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.

/VARmonth01 (January) SETVAR


/VARmonth02 (February) SETVAR
...
10 BEGINRPE
...
[ { (VARmonth$$.) VSUB2 SH } …… 25 2 /F1 BLACK ]

Assuming the field specified by the start of position 25 and length of 2


characters in the above example contains “02,” this entry will print
“February.”

Mode: This command is applicable in all modes.

Related commands: SETVAR, STARTDBM, VSUB, VSUB3

VIPP Reference Manual (9/2003) 11-266


The VIPP language

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 “=]”.

Syntax: (input string) (string holding $$.) VSUB3


Use VSUB3 in an RPE entry align procedure to merge the RPE field in a
string by leaving out the variable name between “$$” and “.”

Example: This is an example.

/VARmonth01 (January) SETVAR


(month01) (VAR$$.) VSUB3
will produce “January” but
(month13) (VAR$$.) VSUB3
will produce “month13”

Mode: This command is applicable in all modes.

Related commands: VSUB, VSUB2, SETVAR, STARTDBM

VIPP Reference Manual (9/2003) 11-267


The VIPP language

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.

Syntax: (AUTOGRID) SETFORM

Example: This is an example of AUTOGRID.

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.

Mode: This built-in form is applicable in line mode.

Related commands: NMP_off, SETFONT, SETFORM, SETGRID, SETMARGIN, STARTLM

VIPP Reference Manual (9/2003) 11-268


The VIPP language

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

Example: This is an example.

IF BACK { ... action on back pages ... } ENDIF


IF BACK not { ... action on front pages ... } ENDIF

NOTE: Information provided by this variable is relative to the current


page when used in BEGINPAGE and to the next page when used in
“/P ENDPAGE.”

Mode: This variable is applicable in all modes.

Related commands: DUPLEX_on, SETBFORM, TUMBLEDUPLEX_on

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.

Syntax: (BLGRID) SETFORM


The origin (0,0) of the grid is related to the margins. Setting the margins
to zero is advised in most cases.

Example: This is an example of BLGRID.

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.

Mode: This built-in form is applicable in all modes.

Related commands: SETFORM, SETMARGIN, SETMAXFORM, SETUNIT, TLGRID

VIPP Reference Manual (9/2003) 11-269


The VIPP language

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

Example: This is an example of CLIP.

[ 200 200 1200 3400 2300 200 ] CLIP DRAWPOL

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.

Mode: This built-in GEPkey is applicable in all modes.

Related commands: DRAWB and DRAWBR, DRAWPOL, ENDCLIP, SHx

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.

100 200 COLW 0 S1 DRAWB

Mode: This variable is applicable in all modes.

Related command: SETCOLWIDTH

VIPP Reference Manual (9/2003) 11-270


The VIPP language

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

Mode: This variable is applicable in all modes.

Related commands: BEGINPAGE, ENDIF, SETBFORM, SETCYCLECOPY, SETFORM,


SETMAXBFORM

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

Example: This is an example.

/IF_1STLINE { CURLINE 1 eq } SETRCD

Mode: This variable is applicable in line mode only.

Related command: SETRCD

VIPP Reference Manual (9/2003) 11-271


The VIPP language

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

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

Mode: This built-in dynamic variable is applicable in all modes.

Related commands GETDATE

VIPP Reference Manual (9/2003) 11-272


The VIPP language

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

VIPP Reference Manual (9/2003) 11-273


The VIPP language

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

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

Example: This is an example.

IF DJDECMD (FORM) eq { ($$DJDEPAR..frm) VSUB SETFORM } ENDIF

Mode: This variable is applicable in line mode only.

Related commands: DJDEPAR, PROCESSDJDE, CASE, IF/ELSE/ENDIF

VIPP Reference Manual (9/2003) 11-274


The VIPP language

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

Example: This is an example.

IF DJDECMD (FORM) eq { ($$DJDEPAR..frm) VSUB SETFORM } ENDIF

Mode: This variable is applicable in line mode only.

Related commands: DJDECMD, PROCESSDJDE, VSUB

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

Example: This is an example.

IF FRCOUNT 3 eq
( Do this )
ELSE
( Do that }
ENDIF

NOTE: Frame numbers range from 1 to the number of frames defined


by SETLKF. If FRCOUNT is equal to 0 (zero) it means that the current
page is not yet initialized (so frame number 1 has not yet started to
be filled).

Mode: This variable is applicable in native mode and database mode.

Related commands: FRLEFT, GOTOFRAME, NEWFRAME, SETLKF

VIPP Reference Manual (9/2003) 11-275


The VIPP language

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

Example: This is an example.

IF FRLEFT 100 lt
{ PAGEBRK }
ENDIF

Mode: This variable is applicable in native mode and database mode.

Related commands: FRCOUNT, GOTOFRAME, NEWFRAME, SETLKF

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

Mode: This built-in colorkey is applicable in all modes.

Related commands: FROMLINE, INDEXCOLOR, SETGEP, SETTXC, RPEKEY

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

Mode: This built-in dynamic variable is applicable in all modes.

Related commands: SAVEPP, SHPOS, SVPOS, VDISP

VIPP Reference Manual (9/2003) 11-276


The VIPP language

HPOS
HPOS provides the current horizontal main print position.

Syntax: HPOS

Mode: This built-in dynamic variable is applicable in all modes.

Related commands: HPOS2, VPOS, SVPOS, HDISP, SAVEPP, SHPOS, VDISP

HPOS2
HPOS2 provides the current horizontal secondary print position.

Syntax: HPOS2

Mode: This built-in dynamic variable is applicable in all modes.

Related commands: HPOS, VPOS, SVPOS, HDISP, SAVEPP, SHPOS, VDISP

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

Example: This is an example.

{ IF LNCOUNT 50 gt
{ (jdt1.jdt) SETJDT }
ELSE
{ (jdt2.jdt) SETJDT }
ENDIF
...
BEGINPAGE

Mode: This variable is applicable in line mode.

Related commands: BEGINPAGE, ENDPAGE

VIPP Reference Manual (9/2003) 11-277


The VIPP language

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

Example: This is an example.

(Page #) 1 1 SETPAGENUMBER
IF ... { /VARpage LPCOUNT SETVAR } ENDIF
IF ... { (as mentioned on page $$VARpage., ..) VSUB 0 SHP } ENDIF

NOTE: Information provided by this variable is relative to the current


page when used in BEGINPAGE and to the forthcoming page when
used in “/P ENDPAGE.”

Mode: This variable is applicable in all modes.

Related command: SETPAGENUMBER

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

Example: This is an example.

IF LPINDEX 1 eq { ... action on 1st logical page ... } ENDIF

NOTE: Information provided by this variable is relative to the current


page when used in BEGINPAGE and to the forthcoming page when
used in “/P ENDPAGE.”

Mode: This variable is applicable in all modes.

Related command: SETMULTIUP

VIPP Reference Manual (9/2003) 11-278


The VIPP language

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

Mode: This variable is applicable in line mode and database mode.

Related commands: FROMLINE, SETGRID, YINIT

PAGEH
PAGEH provides the height of the current logical page.

Syntax: PAGEH

Mode: This built-in dynamic variable is applicable in all modes.

Related commands: PAGEW, SHEETW, SHEETH

VIPP Reference Manual (9/2003) 11-279


The VIPP language

PAGEW
PAGEW provides the width of the current logical page.

Syntax: PAGEW

Mode: This built-in dynamic variable is applicable in all modes.

Related commands: PAGEH, SHEETW, SHEETH

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

Mode: This variable is applicable in line mode an

Related commands: IF/ELSE/ENDIF, SETPCD, GETFIELD, SKIPPAGE, BEGINPAGE

VIPP Reference Manual (9/2003) 11-280


The VIPP language

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

Example: This is an example.

{ /NHE 6 SETFONT 80 80 MOVETO ($$PPCOUNT.) VSUB SH } SETFORM

NOTE: Information provided by this variable is relative to the current


page when used in BEGINPAGE and to the forthcoming page when
used in “/P ENDPAGE.”

Mode: This variable is applicable in all modes.

Related command: PAGERANGE

PRODUCT
PRODUCT is a built-in string variable that identifies the PostScript
interpreter on which VIPP is running.

Syntax: PRODUCT

Mode: This built-in dynamic variable is applicable in all modes.

Related commands: None

VIPP Reference Manual (9/2003) 11-281


The VIPP language

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

Example: This is an example.

{ IF RPCOUNT 1 eq
{ do this } % action on first iteration
ENDIF
...
REPEAT

Mode: This variable is applicable in all modes.

Related command: REPEAT, RPLEFT

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.

Syntax: /rpe_def offset HV_option RPEPOS

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

VIPP Reference Manual (9/2003) 11-282


The VIPP language

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

This example draws a box around the /ADR group of lines.

{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

NOTE: Use opaque GEPkeys carefully as they overlap any data


contained in the box.

Mode: This variable is applicable in line mode.

Related commands: BEGINRPE, COPYRANGE, ENDRPE, FROMLINE, INDEXRPE,


SETRPEPREFIX

VIPP Reference Manual (9/2003) 11-283


The VIPP language

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

Example: This is an example.

{ IF RPLEFT 1 eq
{ do this } % action on last iteration
ENDIF
...
} REPEAT

Mode: This variable is applicable in all modes.

Related command: REPEAT, RPCOUNT

SHEETH
SHEETH provides the height of the current physical page.

Syntax: SHEETH

Mode: This built-in dynamic variable is applicable in all modes.

Related commands: SHEETW, PAGEW, PAGEH

SHEETW
SHEETW provides the width of the current physical page.

Syntax: SHEETW

Mode: This built-in dynamic variable is applicable in all modes.

Related commands: SHEETH, PAGEW, PAGEH

VIPP Reference Manual (9/2003) 11-284


The VIPP language

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

Mode: This built-in dynamic variable is applicable in all modes.

Related commands: HDISP, SAVEPP, SVPOS, VDISP

SVPOS
SVPOS provides the vertical print position saved by SAVEPP. Use
SVPOS with MOVETO, DRAWB and DRAWBR, DRAWBM and
DRAWBRM, and DRAWPOL.

Syntax: SVPOS

Mode: This built-in dynamic variable is applicable in all modes.

Related commands: HDISP, SAVEPP, SHPOS, VDISP

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

VIPP Reference Manual (9/2003) 11-285


The VIPP language

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

VIPP Reference Manual (9/2003) 11-286


The VIPP language

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

Mode: This built-in dynamic variable is applicable in all modes.

Related command: GETDATE

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.

Syntax: (TLGRID) SETFORM

Example: This is an example.

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.

Mode: This built-in form is applicable in all modes.

Related commands: BLGRID, SETFORM, SETMARGIN, SETMAXFORM, SETUNIT

VIPP Reference Manual (9/2003) 11-287


The VIPP language

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

Mode: This built-in dynamic variable is applicable in all modes.

Related commands: HDISP, SAVEPP, SHPOS, SVPOS

VPOS
VPOS provides the current vertical print position.

Syntax: VPOS

Mode: This built-in dynamic variable is applicable in all modes.

Related commands: HPOS, HPOS2, SVPOS, HDISP, SAVEPP, SHPOS, VDISP

XGFVER
XGFVER provides a string showing the actual VIPP release number. This
built-in string must be used with an SHx command.

Syntax: XGFVER

Example: This example prints “3.0.”

XGFVER SHL

Mode: This built-in string is applicable in all modes.

Related commands: None

VIPP Reference Manual (9/2003) 11-288


The VIPP language

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.

Syntax: { VIPP commands and XMLATN and XMLATV variables } XMLATL


Where:
XMLATN
is the attribute name.
XMLATV
is the attribute value.

Mode: This built-in variable is applicable in XML mode.

Related commands: BTA, BTS, ETA, ETS

XMLATN
XMLATN provides the XML attribute name and is usually coupled with
XMLATV.

Syntax: See XMLATL

Mode: This built-in variable is applicable in XML mode.

Related commands: BTA, BTS, ETA, ETS

XMLATV
XMLATV provides the XML attribute value and is usually coupled with
XMLATN.

Syntax: See XMLATL

Mode: This built-in variable is applicable in XML mode.

Related commands: BTA, BTS, ETA, ETS

VIPP Reference Manual (9/2003) 11-289


The VIPP language

XMLDTH
XMLDTH must be placed inside a BTA/ETA or BTS/ETS command pair.
XMLDTH provides the depth of the current node.

Syntax: XMLDTH

Mode: This built-in variable is applicable in XML mode.

Related commands: BTA, BTS, ETA, ETS

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

Mode: This built-in variable is applicable in XML mode.

Related commands: BTA, BTS, ETA, ETS

XMLPATH
XMLPATH must be placed inside a BTA/ETA or BTS/ETS command pair.
XMLPATH provides the VXVpath of the current node.

Syntax: XMLPATH

Mode: This built-in variable is applicable in XML mode.

Related commands: BTA, BTS, ETA, ETS

XMLTAG
XMLTAG must be placed inside a BTA/ETA or BTS/ETS command pair.
XMLTAG provides the name of the current node.

Syntax: XMLTAG

Mode: This built-in variable is applicable in XML mode.

Related commands: BTA, BTS, ETA, ETS

VIPP Reference Manual (9/2003) 11-290


The VIPP language

XMLVAL
XMLVAL must be placed inside a BTA/ETA or BTS/ETS command pair.
XMLVAL provides the contents of the current node.

Syntax: XMLVAL

Mode: This built-in variable is applicable in XML mode.

Related commands: BTA, BTS, ETA, ETS

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

Mode: This variable is applicable in line mode.

Related commands: FROMLINE, SETGRID, LSP

VIPP Reference Manual (9/2003) 11-291


The VIPP language

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 ]

VIPP Reference Manual (9/2003) 11-292


The VIPP language

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.

VIPP Reference Manual (9/2003) 11-293


The VIPP language

Parameter descriptions
VIPP parameters are described in this table.

Parameter Default Unit or Code


Code Description
Name Category value Format value

/3D Chart false true/false +1 true 3D effect


/3DAngle Chart 0.3 real 3D angle (vision angle)
between 0
and 2 0 to 1 — show right side of bars
1 to 2 — show left side of bars
/3DThickness Chart 0.35 % of Radius, Thickness (depth) when /3D is true
% of bar
width, (see /KeepRatio)
% of Width/5
/AmPm Date none array of 2 AM/PM designations. Example:
strings [ (a.m.) (p.m.) ]

/BarSpace Chart 0.4 % of bar +32 0 Spacing between bars


width
/BGColor Chart WHITE ColorKey +16 .99 Color of background for bar and curve
or .95
null .70 For transparency use “null” instead of a
colorkey
/BookletMismatch Booklet 0 integer Sets the action when the number of
booklet pages do not match the
PagesPerBooklet parameter:
0 — Ignore mismatch
1 — Add pages until the booklet pages
match
2 — Abort and send VIPP error
message
3 — Add pages with the current form
until the number of pages match

VIPP Reference Manual (9/2003) 11-294


The VIPP language

Parameter Default Unit or Code


Code Description
Name Category value Format value

/Caching Caching 12 integer Caching options are:


0 — no caching (CACHE can be used but
no caching will occur).
Adobe caching — caching will occur
according to Adobe specifications.
1 — caching through CACHE and
PRECACHE.
2 — caching through CACHE,
PRECACHE and FSHOW.
VIPP caching — caching will occur
according to VIPP specifications
11 — caching through CACHE and
PRECACHE.
12 — caching through CACHE,
PRECACHE and FSHOW (default).

NOTE: When VIPP caching is not


implemented in the PostScript
interpreter on which VIPP is running
it automatically defaults to Adobe
caching.

/ChartDir Chart 0 integer Chart direction for DRAWBAR and


DRAWCRV
0 - Bottom-up
1 - Left-to-right
2 - Top-down
3 - Right-to-left
/ChartOrder Chart 0 Integer DRAWBAR and DRAWCRV only
0 - Print items from left to right or top to
bottom
1- Print items from right to left to bottom
to top
/ChkResources Resource 0 integer This parameter is supported for
checking backwards compatibility. To gather
resource information refer to the
demographics feature described in VIPP
Services.
/ColorTable Chart see [ColorKeys...] Colorkeys list used in cyclical manner
aside
Default: XLGREEN LRED LGREEN RED
MBLUE LMGREEN XDBLUE MRED
DGREEN LBLUE
For transparency use “null” instead of a
colorkey

VIPP Reference Manual (9/2003) 11-295


The VIPP language

Parameter Default Unit or Code


Code Description
Name Category value Format value

/DaylightSaving Date none array Start/end times for Daylight Saving Time
6-integer [ year +-hrs startday starttime
arrays
endday endtime ]

/DaysLong Date none array of 7 List of days names (long) (starting


strings Sunday)
/DaysShort Date none array of 7 List of days names (short) (starting
strings Sunday)
/DecimalPoint Format . (US) ASCII code Decimal delimiter in numeric data
, (A4)
/DefaultDate Date [2003 1 array of 7 Date used when no file system is
1 00 00 integers available.
0 0] [ year month day hrs mns sec
daylightsaving(0/1)]

/DefinedDate Date none array of 7 When present, this date overrides the
integers system date
[ year month day hrs mns sec
daylightsaving(0/1)]

/DotsPerModule integer 3 integer The number of dots per bar or space in


the barcode.
/ExtraSpace Chart 1 % of font size Top and bottom extra space when
/FitSpace > 0
/FDecimalPoint Format . (US) ASCII code Decimal delimiter in format
, (A4)
/FDigit Format # ASCII code Placeholder for digit in format
/FitSpace Chart 1 integer Fit RPE space when ddg_index is used:
0 — fixed size
+1 — fit RPE space
+2 — cancel 3D if fitting radius is less
than maximum
+4 — force 3D if fitting radius is greater
than maximum
+8 — adjust 3D thickness for a better fit
/FLZDigit Format @ ASCII code 64 Placeholder for a digit in a format that is
replaced by a space when the digit is a
leading zero
/FNSign Format - ASCII code 45 Negative sign in format

VIPP Reference Manual (9/2003) 11-296


The VIPP language

Parameter Default Unit or Code


Code Description
Name Category value Format value

/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

VIPP Reference Manual (9/2003) 11-297


The VIPP language

Parameter Default Unit or Code


Code Description
Name Category value Format value

/MediaSubst Media none substitution Defined device-specific actions for


selection list SETMEDIA requirements. Use on
devices that do not support media
selection through setpagedevice.
Refer to “Media support” for more
information.
/MergeValue Chart false true / false Combine values with equal labels
/MinVal Chart integer Minimum value of the chart scale
/MixPlexCount Duplex 0 integer Number of pages to delay simplex mode,
see DUPLEX_off
/MonthsLong Date none array of 12 List of months names (long)
strings
/MonthsShort Date none array of 12 List of months names (short)
strings
/MUPduplex Multiup 0 integer 0 – (default) logical page positions are
identical on the front and on the back
1 – logical page positions on the back
side are computed so that they
physically face their counterparts on the
front. Logical pages must fit entirely on
the physical page (either through explicit
specification of the logical page sizes or
by scaling down)
/NSign Format - ASCII code Negative sign in numeric data
/OMRDir OMR /V key The direction of the OMRMap string
characters in the OMR grid.
/H — OMR map string characters are
shown horizontally (and form each row
of) the OMR grid
/V — OMR map string characters are
shown vertically (and form each row of)
the OMR grid. (default)
/OMRHdisp OMR 6 CPI The number of columns per inch (CPI) in
the OMR grid.
/OMRHskip OMR 0 integer Indicates the number of columns
skipped.

VIPP Reference Manual (9/2003) 11-298


The VIPP language

Parameter Default Unit or Code


Code Description
Name Category value Format value

/OMRMap OMR (ABC ... map string Indicates which characters make up the
XYZ) OMR grid and in which order.
The default is
(ABCDEFGHIJKLMNOPQRSTUVWXYZ)

NOTE: Every character in the


response string must be a character
in the map string.

/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

NOTE: The letters A through H in


this example are not related to the
response or map strings. They are
used to choose a shape that is
defined in the /XOMR font.

/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.

VIPP Reference Manual (9/2003) 11-299


The VIPP language

Parameter Default Unit or Code


Code Description
Name Category value Format value

/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.

VIPP Reference Manual (9/2003) 11-300


The VIPP language

Parameter Default Unit or Code


Code Description
Name Category value Format value

/SliceBurst Chart 0 % of Radius +8 0.1 Burst value (0=no burst)


/SliceSepColor Chart BLACK Colorkey Color of slice or bar borders
/SliceSepWidth Chart 0.5 points +2 0 Line width of slice or bar borders
/SpotLabels Chart None [ (label1) Provide labels to be associated with spot
(label2) … colors when DRAWBAR is fed with
(labelN) ] multiple values per items. (3rd and 4th
syntaxes in DRAWBAR description)
Text attributes switches (font, color, …)
are allowed inside the text.
/SpotOffset Chart Hor: % of Radius, Hor_Offset
1.4 % of Width/2 or
[Hor_offset Vert_offset ]
offset of spots from the center of the
graphic (positive=offset to the right/top,
negative=offset to the left/bottom)
Vert: % of Height/2 When omitted Vert_offset defaults to .5.
0
/SpotSize Chart 0 % of font size +4 1 Size of aside spots
(0=no spots, labels around or below)
/Stack Chart true / false True indicates that the chart will be
stacked on top of another chart and
requires a transparent background
/TimeZone Date none integer Time zone, +- minutes from UTC. (ex:
-480 = PST)
/TimeZoneName Date none array of 2 Time zone names: Standard time,
strings Daylight Saving time Ex: [ (PST) (PDT) ]

VIPP Reference Manual (9/2003) 11-301


The VIPP language

VIPP commands by function


This table contains an alphabetical list of VIPP commands. The table
provides each command’s type and indicates its functional area.
Command functions are grouped into the categories described here. The
descriptions of the categories provide only general examples, they are not
inclusive.
• Cyclecopy commands control the number of copies and how those
copies are handled by the printer.
• Design and debug commands are used to design VIPP jobs and to
aid in debugging the applications you create.
• Font and color commands control the type and appearance of fonts
and text backgrounds in your VIPP jobs.
• Output device control commands control options at the output
device. These commands allow you to set stapling, jog, offset, and
duplex options, media requirements, output resolution, etc.
• Page control commands control such things as page breaks, page
imposition, skipping and printing pages, inserting slipsheets, etc.
• Page layout commands determine the appearance of your job. They
include commands to set column and margin width, define forms
used, set page orientation, etc.
• Page marking commands allow you to insert images, segments, text,
glyphs, etc. They also allow you to set DDG and format parameters,
and draw charts.
• PCC processing commands allow you to set printer control character
options.
• PDF control commands are a set of VIPP commands that allow you
to create interactive elements when the VIPP job is rendered into a
PDF document.
• Print file processing commands determine how the files are
processed, set Native, Line, Database, and XML modes, etc.
• Resource control commands allow you to use cache and precache
options, set paths and patterns for jobs and VIPP Projects, and store
data in memory as a “virtual file.”
• RPE processing allows you to use Record Processing Entry data
processing options.
• Transform control commands allow you to change text within the
document, strip spaces, create barcodes, etc.
• Date and time functions allow you to set date and time information.

VIPP Reference Manual (9/2003) 11-302


The VIPP language

Function

Output Device Control

Print File Processing

Transform Control
Design and Debug

Resource Control
VIPP

PCC Processing

RPE Processing
Font and color

Miscellaneous

Date and Time


Page Marking
Commands,

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

VIPP Reference Manual (9/2003) 11-303


The VIPP language

Function

Output Device Control

Print File Processing

Transform Control
Design and Debug

Resource Control
VIPP

PCC Processing

RPE Processing
Font and color

Miscellaneous

Date and Time


Page Marking
Commands,

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

VIPP Reference Manual (9/2003) 11-304


The VIPP language

Function

Output Device Control

Print File Processing

Transform Control
Design and Debug

Resource Control
VIPP

PCC Processing

RPE Processing
Font and color

Miscellaneous

Date and Time


Page Marking
Commands,

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

VIPP Reference Manual (9/2003) 11-305


The VIPP language

Function

Output Device Control

Print File Processing

Transform Control
Design and Debug

Resource Control
VIPP

PCC Processing

RPE Processing
Font and color

Miscellaneous

Date and Time


Page Marking
Commands,

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

VIPP Reference Manual (9/2003) 11-306


The VIPP language

Function

Output Device Control

Print File Processing

Transform Control
Design and Debug

Resource Control
VIPP

PCC Processing

RPE Processing
Font and color

Miscellaneous

Date and Time


Page Marking
Commands,

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

VIPP Reference Manual (9/2003) 11-307


The VIPP language

Function

Output Device Control

Print File Processing

Transform Control
Design and Debug

Resource Control
VIPP

PCC Processing

RPE Processing
Font and color

Miscellaneous

Date and Time


Page Marking
Commands,

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

VIPP Reference Manual (9/2003) 11-308


The VIPP language

Function

Output Device Control

Print File Processing

Transform Control
Design and Debug

Resource Control
VIPP

PCC Processing

RPE Processing
Font and color

Miscellaneous

Date and Time


Page Marking
Commands,

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

VIPP Reference Manual (9/2003) 11-309


The VIPP language

Function

Output Device Control

Print File Processing

Transform Control
Design and Debug

Resource Control
VIPP

PCC Processing

RPE Processing
Font and color

Miscellaneous

Date and Time


Page Marking
Commands,

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

VIPP Reference Manual (9/2003) 11-310


The VIPP language

Function

Output Device Control

Print File Processing

Transform Control
Design and Debug

Resource Control
VIPP

PCC Processing

RPE Processing
Font and color

Miscellaneous

Date and Time


Page Marking
Commands,

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

VIPP Reference Manual (9/2003) 11-311


The VIPP language

Function

Output Device Control

Print File Processing

Transform Control
Design and Debug

Resource Control
VIPP

PCC Processing

RPE Processing
Font and color

Miscellaneous

Date and Time


Page Marking
Commands,

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

VIPP Reference Manual (9/2003) 11-312


The VIPP language

Function

Output Device Control

Print File Processing

Transform Control
Design and Debug

Resource Control
VIPP

PCC Processing

RPE Processing
Font and color

Miscellaneous

Date and Time


Page Marking
Commands,

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

VIPP Reference Manual (9/2003) 11-313


The VIPP language

Function

Output Device Control

Print File Processing

Transform Control
Design and Debug

Resource Control
VIPP

PCC Processing

RPE Processing
Font and color

Miscellaneous

Date and Time


Page Marking
Commands,

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

VIPP Reference Manual (9/2003) 11-314


The VIPP language

VIPP variables by type


This table provides a list of all VIPP built-in variables and indicates each
variable’s type.

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

VIPP Reference Manual (9/2003) 11-315


The VIPP language

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 Reference Manual (9/2003) 11-316


Error messages

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.

Selected pages: <first> <last>


Indicates one of these:
• PAGERANGE is used for this job. The message reflects the first and
last pages printed.
• The license (xgf.lic) in use is a demonstration or evaluation license,
which causes the job to abort after 200 pages on production printers
and after 10 pages on all other printers. When this is the case,
replace the demonstration or evaluation license with a production
license.

Selected booklets: <first> <last>


Indicates that BOOKLETRANGE is used for this job. The message
indicates the first and last booklets printed.

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 Reference Manual (9/2003) 12-1


Error messages

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 Reference Manual (9/2003) 12-2


Error messages

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 Reference Manual (9/2003) 12-3


Error messages

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 Reference Manual (9/2003) 12-4


Error messages

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.

VIPP Reference Manual (9/2003) 12-5


Error messages

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:

%%[Error: limitcheck; Offending Command:f1fff500defff500.........


Stack:
(eform.frm)
-mark-
[1]
0

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:

{ (eform.ps) CACHE SETFORM

• 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.”

PostScript Error - dictfull / Offending Command:def


This error may be due to a large number of variables (as defined by
SETVAR, GETFIELD, or fields in your database file) when you are using
a PostScript Level 1 interpreter. Use a PostScript Level 2 interpreter to
solve this problem.

Stack Overflow error in Ghostscript


The Stack Overflow error occurs when you have exceeded the maximum
number of tokens (PostScript words) that can be accommodated on the
operand stack. On Ghostscript 2.6.1, the limit for this version of the
application is approximately 800.
However, this error does not occur on a DocuPrint NPS, since the
operand stack can hold 5000 tokens by default and can be configured to
a larger number if required.
Should this error occur, it is recommended that you upgrade to the latest
version of the Ghostscript software. The limit for this version of the
application is extended to over 10.000.

VIPP Reference Manual (9/2003) 12-6


Section Five:
Printers, Programs, and Migration

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

This chapter provides this information:


• VIPP considerations for DocuPrint NPS
• VIPP considerations for DocuSP
• VIPP considerations for DocuColor
• Limitations when printing VIPP jobs on Xerox decentralized printers
• VIPP command differences

NOTE: Any limitations encountered while using VIPP are due to the
functions and capabilities of the printer and the implementation of the
PostScript interpreters.

VIPP considerations for DocuPrint NPS


This section provides information specific to the DocuPrint NPS printer
series, it includes:
• Production and Demonstration mode
• Preprocessing capabilities
• DocuPrint NPS XGFNub

Production and Demonstration mode


The VIPP package delivered on the DocuPrint NPS is enabled for VIPP
Demonstration mode. This mode allows you to use the full set of VIPP
features on the DocuPrint NPS. Documents larger than 200 pages abort
at page 200 and the “Selected pages: 1 200” message displays. See
“VIPP licensing and installation” for more information.
To use VIPP for production printing, you must activate Production mode
by purchasing and installing a device-specific VIPP license string on the
DocuPrint NPS controller. For installation instructions see “Installing VIPP
on DocuPrint NPS devices.”

Preprocessing capabilities
Printer preprocessing capabilities have been added to the DocuPrint NPS
by Decomposition Services. Refer to “Decomposition Services” for more
information.

VIPP Reference Manual (9/2003) 13-1


Using VIPP on specific printers

DocuPrint NPS XGFNub


XGFNub is a DocuPrint NPS extension that allows you to execute
PostScript and VIPP commands at the start of any VIPP or PostScript
document. Multiple sets of commands can be enabled. The choice of
command sets is determined by the DocumentFormat attribute.

Example: In this example, the VIPP command “(job1.jdt) STARTLM” is executed at


the start of the main data file. In this example, this set of commands is
called “job1.” The following text is placed in the /usr/xgfc/mislib/job1.ini
file:

%!
% 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.

DocuSP print queue


DocuSP also has a feature to enable a VIPP start command and associate
it with a print queue. Data files sent to this print queue use the VIPP start
commands associated with the printer. Refer to your DocuSP user guide
for more information on this feature.

VIPP Reference Manual (9/2003) 13-2


Using VIPP on specific printers

Color rendering on DocuPrint NPS for GEPkeys


To obtain the best color rendering on GEPKeys on a DocuPrint NPS, set
the DefaultHighlightColorRendering option on the DocuPrint NPS to
colorTables.

Duplex printing with VIPP DocuPrint NPS


With DocuPrint NPS, you must specify duplex as a job attribute through a
submission option or a virtual printer, and in the VIPP file using
DUPLEX_on.

Using SETMEDIA with DocuPrint NPS


To obtain VIPP media calls working on DocuPrint NPS, specify media in
these areas:
• In the DSC statements. These must be specified in the submission
file, not in the JDT. However, it is possible to avoid using the DSC
statements for this purpose when you create a virtual printer that
includes media specifications or when specifying them in the
submission command line: lpr -C”(media=a4::white, media=a4::red,
...).”
• On DocuPrint NPS using the Set Tray command.
• In the print job using the SETMEDIA command.

VIPP Reference Manual (9/2003) 13-3


Using VIPP on specific printers

Example This is an example.

%!
%%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

1250 3200 MOVETO


/NHEB 14 SETFONT
50 SETLSP
(This is an example of using SETFORM and SETMEDIA - default media) SHC
PAGEBRK

% 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

VIPP Reference Manual (9/2003) 13-4


Using VIPP on specific printers

VIPP considerations for DocuSP


This section provides information specific to the DocuSP controller, it
includes:
• Production and Demonstration mode
• Preprocessing capabilities
• DocuSP, FTP, and NFS

Production and Demonstration mode


The VIPP package delivered on DocuSP devices is enabled for VIPP
Demonstration mode. This mode allows you to use the full set of VIPP
features on the DocuSP. Documents larger than 200 pages abort at page
200 and the “Selected pages: 1 200” message displays. See “VIPP
licensing and installation” for more information.
To use VIPP for production printing, you must activate Production mode
by purchasing and installing a device-specific VIPP license string on the
DocuSP controller. For installation instructions see “Installing VIPP on
DocuSP devices.”

Preprocessing capabilities
Printer preprocessing capabilities have been added to the DocuSP by
Decomposition Services. Refer to “Decomposition Services” for more
information.

DocuSP, FTP, and NFS


For DocuSP 3.7 and above, the DocuSP printer may have a security
setting that blocks transmission via FTP and/or NFS. Contact the Printer
System Administrator to enable FTP and/or NFS.
The DocuSP System Administrator is in control of the security settings.
The default security setting on the DocuSP is set to “High;” FTP and NFS
are disabled. The System Administrator can enable FTP and/or NFS in
one of these ways:
• Change the security setting to either Low or None.
• Leave the security setting at High and use the IP Filter feature to
identify each of the machines that have permission to transmit to the
DocuSP printer.
• Create and activate a custom security profile with FTP and/or NFS
enabled.

VIPP Reference Manual (9/2003) 13-5


Using VIPP on specific printers

VIPP considerations for DocuColor


Special consideration must be taken when coding VIPP applications for
the DocuColor series. The DFEs powering the DocuColor family of
printing systems do not support the full set of VIPP commands as
described in this reference manual. Information about these
considerations is included:
• Unsupported commands
• Required VIPP commands
• TIFF images

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

Required VIPP commands


These are the VIPP commands required for VIPP applications to work on
DocuColor systems using Creo Scitex or EFI DFE’s. Without these
commands the job may abort.
• SETPAGESIZE
• One of these orientation commands:
— PORT
— IPORT
— LAND
— ILAND

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.

VIPP Reference Manual (9/2003) 13-6


Using VIPP on specific printers

Limitations when printing VIPP jobs on Xerox decentralized


printers
Due to the implementation of printing VIPP jobs on Xerox decentralized
printers, all resources are read in memory as procedures. PostScript files
with embedded images using currentfile do not work when defined as
forms or segments.
There are several ways in which to work around this problem; each is
described in these sections:
• Using Decomposition Services
• Using CACHE SCALL and CACHE SETFORM
• Running the file in a form definition
• Running the file in an inline form definition

Using Decomposition Services


PostScript forms can be preprocessed and referenced as described in
“Decomposition Services.” This solution is the most suitable from a
performance aspect. Use this capability when a stackoverflow error
occurs due to the processing and printing of large forms.

Using CACHE SCALL and CACHE SETFORM


Use CACHE SCALL or CACHE SETFORM to place any TIFF, JPEG,
PostScript, or EPS element into your application. The CACHE command
provides a single command from which all these formats can be
accessed. CACHE SETFORM allows the use of a TIFF file as a form, and
also removes the limitation related to large PostScript or EPS files and
PostScript or EPS files with embedded images.

VIPP Reference Manual (9/2003) 13-7


Using VIPP on specific printers

Running the file in a form definition


This section provides an example of running the file in a form definition.

Example: This is an example.

%!
%%Creator: CAS
%%DocumentName:form1.frm
{
(path to the file) run
} FSHOW

%!
%%Creator: CAS
%%DocumentName: list1.jdt
....
(form1.frm) SETFORM
...

Running the file in an inline form definition


This section contains an example of using SETFORM when a PostScript
file with embedded images using currentfile is defined as a form or a
segment. This solution works only on systems that include a hard disk.

Example: This is an example.

%!
%%Creator: CAS
%%DocumentName: list1.jdt
....
{ (path to the file) run } 0 SETFORM
...

Storing VIPP resources on DocuPrint N-series disks


JDTs and other VIPP resources such as forms and TIFF images can be
stored on the DocuPrint N-series, and then referenced from the data file.
To perform this task, use VIPPManage, which is provided with VIPP. This
utility allows you to manage VIPP resources on the DocuPrint N-series
disk.

VIPP Reference Manual (9/2003) 13-8


Using VIPP on specific printers

VIPP command differences


VIPP commands may differ across printer families. This section
addresses VIPP command differences across the DocuPrint 65, DocuSP,
and DocuPrint NPS families.
Differences in these commands are summarized in the following table:
• %% DocumentMedia
• BIND_off and BIND_on
• DUPLEX_off and TUMBLEDUPLEX_off
• OFFSET_on with ENDOFSET and ENDOFRUN
• STAPLEDETAILS
• STAPLE_on with ENDOFSET and ENDOFRUN
• STARTOFSET
The use of TIFF files in VIPP applications are also discussed in relation
to each printer family.

VIPP commands DP/DT 75 and 90 DocuSP DocuPrint NPS


%%DocumentMedia Not required Not required Required when the
SETMEDIA or the
SETMEDIAT command is
used
BIND_off/BIND_on Not applicable (ignored) DocuSP Not applicable (ignored)
DUPLEX_off Speed improved with Speed improved with Default setting in off state
simplex/duplex because simplex/duplex because
TUMBLEDUPLEX_off blank pages are not blank pages are not When job is submitted
imaged on the back sides imaged on the back sides with duplex option
of simplex pages of simplex pages provides “simulated
mixed plex”
No speed difference with
mixed simplex/duplex
jobs unless
/MixPlexCount is set
using SETPARAMS
OFFSET_on with Cannot offset within a set Cannot offset within a set Must have MultiSet
ENDOFSET and feature enabled to use
ENDOFRUN Cannot offset on page ENDOFSET and
boundaries, only on set ENDOFRUN are the Can offset on page
boundaries same boundaries
STAPLEDETAILS DualPortrait also SinglePortrait, Not applicable (ignored)
supported SingleLandscape,
DualLandscape
supported

VIPP Reference Manual (9/2003) 13-9


Using VIPP on specific printers

VIPP commands DP/DT 75 and 90 DocuSP DocuPrint NPS


STAPLE_on with This command only This command only Must have the MulitSet
ENDOFSET and addresses internal addresses internal feature enabled
ENDOFRUN stapling stapling
STAPLE_on must be
External Finisher uses External Finisher uses coded in the JDT or the
SETOBIN SETOBIN data file
ENDOFSET and ENDOFSET and System must have the
ENDOFRUN are the ENDOFRUN are the switching module
same same
Staple attribute is set with
Use with DocuSP 1.32 or Use with DocuSP 1.32 or each job
later later
STARTOFSET Command acts as a set Command acts as a set Not applicable
delimiter delimiter (unpredictable results)
Command must be Command must be
placed at the beginning of placed at the beginning of
the first page of a “set” in the first page of a “set” in
the submitted data file the submitted data file

VIPP Reference Manual (9/2003) 13-10


VIPP and DigiPath

This chapter describes the VIPP/DigiPath interface. It describes the


changes in DigiPath and the way in which VIPP will use this interface.
Installation of the DigiPath software and configuration of the DigiPath
system is described in the Xerox DigiPath Production Software
Installation Guide. Installation of the VIPP/DigiPath API is described in
“Installing the VIPP API for DigiPath,” found in Section Two of this
manual.

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.

NOTE: The DSM interface must be used to create, edit, move, or


delete the RDO document. If you fail to use this interface, the
VIPP-required VDI file will not be created. Also, VIPP ignores any job
ticket information saved with the RDO. Any formatting of the pages
should be controlled by VIPP.

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.

VIPP Reference Manual (9/2003) 14-1


VIPP and DigiPath

In addition, the Digital Library for DigiPath will be modified to include a


VIPP Cabinet that can be used to manage all the RDO documents
accessed by VIPP, in addition to being the repository for VIPP files. This
cabinet is set up for your convenience, but you do not have to use it. Place
the DigiPath files in any directory you choose, then use the Hummingbird
software included with DigiPath to share that directory with your printers.
When you share a lot of folders, an extra burden is placed on your system
to maintain those links and an extra burden is placed on you to maintain
separate shares.Create your own share directory or use the cabinet that
is created automatically.

VIPP API description


The VIPP API, which is transparent to the user, is enabled by the
installation of a VIPP key during the DigiPath software installation. Once
the VIPP key has been installed, DigiPath will create a VDI file in addition
to the CON folder and RDO file currently generated every time a
document is created or edited in the Scan and Make Ready module.
The VDI file is created in the parent directory of the directory containing
the RDO files and corresponding TIFF directories. The VDI is for VIPP
internal use only.

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.

VIPP Reference Manual (9/2003) 14-2


VIPP and DigiPath

How VIPP calls the RDO file


The VIPP data file is submitted to the printer (just like in any normal VIPP
workflow). The DBM calls for documents that are contained in the
DigiPath Digital Library (the VDI directory). The VIPP formatting
instructions can be in the DBM or in the RDO file (parsed from the Hidden
Text Objects). This allows the submission of the database extraction (as
input variable data) that calls a DBM file or a VIPP native mode file. The
DBM may select one or several documents from the DigiPath Digital
Library (the VDI directory) and format them based on the variable data
content. The VIPP RUN command has been modified to use the VDI
directory and understands the DigiPath directory structure within the VDI
directory, if the correct mount point has been established. VIPP cannot
print a DigiPath document sent directly from the DigiPath system. The
DigiPath RDO file must be called (by way of a VDI file) in a VIPP DBM or
native mode job.
When an RDO document is created or modified using the Scan and Make
Ready module, DigiPath creates an RDO file and a CON directory that
contains the TIFF images referenced in the RDO file. As long as DigiPath
is enabled with the VIPP key, and the VIPP API has been installed, then
DigiPath will also create a VDI file one level above the directory that
contains the RDO file and CON directory. Although the RDO file is used
when making modifications to the document from within DigiPath, the VDI
file is referenced when coding the DigiPath file called in your VIPP
program. For example, an RDO file called mytest.rdo in the VDI directory
would be called out in a VIPP program using this syntax:

(MYTEST.vdi) RUN

NOTE: The VDI file is internally generated in the VDI directory, not
the document directory where the RDO files are located.

VIPP Reference Manual (9/2003) 14-3


VIPP and DigiPath

VIPP Reference Manual (9/2003) 14-4


VIPP and DigiPath

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.

VIPP Reference Manual (9/2003) 14-5


VIPP and DigiPath

Entering Hidden Text


To create an RDO object with 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.

Step 3. From the Menu bar, select Insert>Hidden Text.


A window will be displayed. You are prompted to enter a text label for your
Hidden Text object. The Hidden Text label is user-defined. It must be
alphanumeric and contain no spaces.

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:

%%VIPP { 300 300 MOVETO ($$Fname. $$Lname.) VSUB SH } SETFORM

Where:
Fname and Lname
are fields in a database record.

Examples: Valid syntax looks like this:

%%VIPP { 300 300 MOVETO ($$Fname. $$Lname.) VSUB SH } SETFORM

Invalid syntax (space characters placed before the %%VIPP prefix) looks
like this:

%%VIPP { 300 300 MOVETO ($$Fname. $$Lname.) VSUB SH } SETFORM

VIPP Reference Manual (9/2003) 14-6


VIPP and DigiPath

Invalid syntax (no space character between the %%VIPP prefix and the
VIPP commands) looks like this:

%%VIPP{ 300 300 MOVETO ($$Fname. $$Lname.) VSUB SH } SETFORM

Editing a Hidden Text entry


To edit an existing Hidden Text entry:

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.

VIPP Reference Manual (9/2003) 14-7


VIPP and DigiPath

The Hidden Text interface is displayed allowing you to edit the contents.

VIPP Reference Manual (9/2003) 14-8


VIPP and DigiPath

Using an RDO file in a VIPP job


To use an RDO file in a VIPP job, the VIPP/DigiPath interface must be
enabled. The DigiPath VDI directory must be NFS mounted on the target
print device and have the correct attributes to allow the print device to
access files in the VDI directory.
The xgfunix.run or xgfdos.run file must be modified on the printer to
include a path to the correct directory within the DigiPath VDI directory.
The correct VIPP syntax to call out an RDO file is:

(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.

% VIPP RDO link file


% Version: 1.02
% RDO name: ColdCall.rdo
% Number of pages: 3
% Creation date: Thu Jun 27 10:03:40 2002
% Copyright (C) 2000-4.0 Xerox Corporation. All rights reserved.
% ...
(Brochures) (ColdCall.vdi) RDOBegin
% page 1
[ 1 8.500000 11.000000 0 0 0 % Page Data for page 1
[ 90 0.000000 0.000000 0 1 (00000001.tif) 0 ] % data for Image 1 on page 1
] RDOPageData % end of data for page 1
% page 2
[ 1 8.500000 11.000000 0 0 0 % Page Data for page 2
[ 90 0.000000 0.000000 0 1 (00000002.tif) 0 ] % data for Image 1 on page 2
] RDOPageData % end of data for page 2
% page 3
[ 1 8.500000 11.000000 0 0 0 % Page Data for page 3
[ 90 0.000000 0.000000 0 1 (00000003.tif) 0 ] % data for Image 1 on page 3
] RDOPageData % end of data for page 3

VIPP Reference Manual (9/2003) 14-9


VIPP and DigiPath

VIPP Reference Manual (9/2003) 14-10


Decomposition Services

VIPP can take advantage of the printer preprocessing capabilities added


to the DocuPrint NPS and DocuSP by using Decomposition Services to
print preprocessed documents using the RUNDD command. Documents
referenced as forms or images can be printed using the SETFORM,
SETBFORM, and ICALL commands.
The SETFPATH and SETIPATH commands, which are defaulted in the
/usr/xgf/src/xgfunix.run file, must provide the path to the directory that
contains the forms or TIFF images created by Decomposition Services.
For the DocuPrint NPS, the path is /var/db/forms.
For the DocuSP, the path is provided using the GUI menus.
The implementation of Decomposition Services for the DocuSP
dynamically creates a new directory for each document processed.
However, only the path to the top forms directory can be provided.

Referencing forms decomposed in DocuPrint NPS


This section contains information on how to reference forms decomposed
in DocuPrint NPS. Both TIFF and Byte Compress formats are supported.

Syntax: (document_name.pnnnn.ps) SETFORM

(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

VIPP Reference Manual (9/2003) 15-1


Decomposition Services

Referencing forms decomposed in the DocuSP


This section contains information on how to reference forms decomposed
in the DocuSP.

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.

{ 0 0 MOVETO (letter_dir/letter.p00000001.tif)1 90 ICALL} SETFORM

VIPP Reference Manual (9/2003) 15-2


Decomposition Services

Referencing images decomposed in DocuPrint NPS


This section contains information on how to reference images
decomposed in DocuPrint NPS

Syntax (document_name.pnnnn.c.tif) scaling rotation ICALL

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

NOTE: The images are already rotated by Decomposition Services


for optimization. Therefore, use a value of 90 in the ICALL command
to print the image at its original orientation for the best performance.

Only TIFF images can be referenced by the ICALL command. Byte


Compress format is not supported.

VIPP Reference Manual (9/2003) 15-3


Decomposition Services

Referencing images decomposed in DocuSP


This section contains information on how you reference images that were
decomposed in the DocuSP.

Syntax (document_name_dir/document_name.pnnnnnnnn.tif) scaling rotation


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

NOTE: The images are already rotated by Decomposition Services


for optimization. Therefore, use a value of 90 in the ICALL command
to print the image at its original orientation for the best performance.

Decomposition Services hints and tips


This section contains Decomposition Services hints and tips.
If your system supports CACHE, consider using it as CACHE is more
efficient. CACHE is supported by DocuSP and DocuColor systems.

NOTE: CACHE is supported on NPS version 7.x and above.

VIPP Reference Manual (9/2003) 15-4


Decomposition Services

Decomposition document in the Data Base Master


Use one of these commands to call your decomposition document in the
Data Base Master:
• RUNDD — When you call the Decomposition document using
RUNDD, variable data is merged on the first page only. This is an
example.

%!
PORT
X1 Y1 MOVETO VAR1 SHL
X1 Y1 MOVETO VAR1 SHL
(decom_doc.ps) RUNDD

• ICALL — By calling all individual pages using ICALL, variable data


can be merged on any page. This is an example.

%!
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

VIPP Reference Manual (9/2003) 15-5


Decomposition Services

• RUNDD and cycle forms — Using the sophistication of the cycle


form syntax, you define the actual form for each page that must be
merged with variable data. This is an example.

%!
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.

VIPP Reference Manual (9/2003) 15-6


Decomposition Services

Decomposition form performance


All decomposition forms are formatted with the correct scale and rotation.
This provides you with the greatest printer performance available,
assuming you are using the forms at their original size.

Decomposition TIFF file placement


The origin of the TIFF files obtained from the Decomposition Services is
located at the bottom left corner in portrait orientation. A 90 degree
rotation must be applied to these files. By default (ORIBL) the bottom left
corner is located at position 0,0. When ORITL is specified, it is located at
0 3300 for USLetter paper, and at 0 3500 for A4 paper.

Importing forms from the DocuPrint NPS decomposition


directory
You do not have to call the images when using the decomposition forms
as VIPP forms on the DocuPrint NPS. To perform this task, add
/var/db/forms in the SETFPATH list in /usr/xgf/src/xgfunix.run and use the
SETFORM command. For example, when you submit a single page file
called form1.ps to the Decomposition Services, the syntax is as follows:

(form1.ps.p0001.ps) SETFORM

This syntax is required when using Byte Compressed (BC), as the ICALL
command cannot process BC files.

VIPP Reference Manual (9/2003) 15-7


Decomposition Services

VIPP Reference Manual (9/2003) 15-8


LCDS migration

This chapter contains information, examples, hints, and tips for


LCDS-to-VIPP migration, it includes:
• General description
• Basic LCDS
• LCDS and VIPP resources
• LCDS and VIPP commands
• Conversion examples
• LCDS migration hints and tips

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.

VIPP Reference Manual (9/2003) 16-1


LCDS migration

• 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.

VIPP Reference Manual (9/2003) 16-2


LCDS migration

LCDS and VIPP resources


To convert an LCDS job to VIPP, all LCDS control files and commands
must be recoded as VIPP equivalents. This requires the creation of a
VIPP JDT for use in place of the JSL, CME, PDE, RTEXT, and so forth.
A JDT is made up of VIPP commands and functions that format and
control the data on a page. The JDT sets the orientation, margins, fonts,
forms, and so forth.

Creating the JDT file from the JSL


There is no straightforward way to create a JDT from a JSL. Each JSL
command can be converted to one or several VIPP commands. The VIPP
programmer must code this by hand or use a tool such as the Proform
Designer application from Lytrod Software. This application uses a
drag-and-drop interface and a job building menu and can create VIPP
documents without the need to code VIPP. Proform Designer can output
a VIPP JDT file and can convert legacy resources to PostScript
resources. Using tools of this type avoids the need to recode the JSL.
LCDS resource files must be converted from their native source to a
PostScript resource. Many of the third-party tools available, such as
Lytrod ProForm Designer, can be used to convert LCDS resources to
VIPP.
The table below lists some of the LCDS resources and their PostScript or
VIPP equivalent.

LCDS resource PostScript resource

.JSL Job Descriptor Ticket (.JDT)

.FNT PostScript Type I or III fonts

.FRM PostScript print file or Native VIPP form

.IMG TIFF or JPEG images

.LGO VIPP segments or TIFF/JPEG files

VIPP Reference Manual (9/2003) 16-3


LCDS migration

LCDS and VIPP commands


Many of the functions initiated by LCDS commands can be converted to
VIPP by using VIPP equivalent commands.
The table below lists some common LCDS commands and their VIPP
equivalents. These are not always one-to-one relationships. In some
cases, several VIPP commands are necessary to provide equivalent
functionality.

LCDS commands VIPP commands


CODE SETENCODING
RECORD LENGTH/STRUCTURE SETBUFSIZE
TABLE/CRITERIA SETRCD/SETPCD
RSELECT/RDELETE SETRCD and Conditional RPEs
ROFFSET/OFFSET OFFSET_on, SETPCD, CPCOUNT, ENDOFSET/STARTOFSET,
BEGINPAGE
BANNER SETPCD, SETJDT, BEGINPAGE
RSTACK SETSKIP, SETPCD, SETJDT, BEGINPAGE
RAUX SETPCD, SETMEDIA, BEGINPAGE
RPAGE/SIDE SETPCD/SETSKIP, NEWFRONT, NEWSIDE, NEWBACK,
BEGINPAGE
FORMS/BFORM SETFORM/SETBFORM
COPIES SETCYCLECOPY
COLLATE COLLATE_on, COLLATE_off
COVER SLIPSHEET
CYCLEFORMS [ … ] SETFORM
DESTINATION SETOBIN
DUPLEX DUPLEX_on, DUPLEX_off, TUMBLEDUPLEX_on,
TUMBLEDUPLEX_off
FEED/STOCKST SETMEDIA, SETMEDIA
PMODE PORT, LAND, IPORT, ILAND
BEGIN SETMARGIN, DJDEBEGIN
Multiple BEGINs SETMULTIUP, DJDEBEGIN
FONTS SETFONT, INDEXFONT, RPEDEF
GRAPHIC/IMAGE MOVETO, ICALL, SCALL
MODIFY/CME BEGINRPE, FROMLINE, ENDRPE, COPYRANGE
FORMAT/PDE PORT, LAND, IPORT, ILAND, SETMARGIN, SETFONT, INDEXFONT
NUMBER SETPAGENUMBER

VIPP Reference Manual (9/2003) 16-4


LCDS migration

LCDS commands VIPP commands


PAPERSIZE SETPAGESIZE
RESOLUTION SETRES
SHIFT SHIFT
STAPLE STAPLE_on/STAPLE_off, ENDOFSET/ENDOFRUN
UNITS SETUNIT
DATA FROMLINE (recpos length)
FONTINDEX SETRPEPREFIX, RPEKEY, RPEDEF
MARGIN FROMLINE/RPEKEY (Xpos)
PCC/PCCTYPE BEGINPCC/ENDPCC, SETPCC, SETSKIP
VFU/BOF/TOF SETVFU, SETGRID, SETSKIP
ROUTE/RTEXT/RFORM SLIPSHEET, SETFORM, CPCOUNT, BEGINPAGE
IDEN PROCESSDJDE
JDE/JDL SETJDT

VIPP Reference Manual (9/2003) 16-5


LCDS migration

Conversion examples
This section provides some LCDS code and VIPP code examples that
demonstrate the conversion issues contained in the previous sections.

OUTPUT and RTEXT


This information illustrates the conversion of OUTPUT and ROUTE LCDS
statements to VIPP.
LCDS code:

OUTPUT FORMS=FORM23, COPIES=2, COVER=FRONT;


ROUTER FORM=ROUT23,
RTEXT=('Message 1',1,10,5,3),
RTEXT=('Message 2',2,10,5,3);

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

VIPP Reference Manual (9/2003) 16-6


LCDS migration

CME
This information illustrates the conversion of a CME LCDS statement to a
VIPP RPE.
LCDS code:

CME1:CME LINE=(1,3),POS=1, FONT=1,


POS=51, FONT=2,
LINE=(4,-),POS=1, FONT=3;
CME2:CME LINE=(1,3),POS=1, FONT=1,
POS=51, FONT=2,
LINE=(4,-),POS=1, FONT=3,
POS=81, CON=(******);
PDE1:PDE PMODE=PORTRAIT, BEGIN=(2.4 CM, 3 CM)
FONTS=(HE10BP,HB10BP,HE08BP);
OUTPUTCOPIES=2, FORMAT=PDE1, MODIFY=(CME1,1,1),MODIFY=(CME2,2,1);

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

VIPP Reference Manual (9/2003) 16-7


LCDS migration

RPAGE
This information illustrates the conversion of RPAGE LCDS statements to
VIPP.
LCDS code (WHEN=TOP):

T1:TABLE CONSTANT='Page 1';


C1:CRITERIA CONSTANT=(100,7,EQ,T1);
RPAGE TEST=C1, SIDE=NUFRONT, WHEN=TOP;

VIPP code:

/TEST1 1 66 100 7 /eq (Page 1) SETPCD


{ IF TEST1 { NEWFRONT } ENDIF } BEGINPAGE

LCDS code (WHEN=BOTTOM):

RPAGE TEST=C1, SIDE=NUBACK, WHEN=BOTTOM;

VIPP code:

{ IF TEST1 { NEWBACK } ENDIF } /P ENDPAGE

LCDS code (WHEN=NOW):

RPAGE TEST=C1, SIDE=NUFRONT, WHEN=NOW;

VIPP code (VIPP 2001 and later):

/TEST2 100 7 /eq (Page 1) SETRCD


/TEST3 1 1 100 7 /eq (Page 1) SETPCD
[ /TEST2 [/SK1 true 1 0 0] ] SETSKIP
{ IF TEST3 { NEWFRONT } ENDIF } BEGINPAGE

VIPP Reference Manual (9/2003) 16-8


LCDS migration

Translating DJDE records


The PROCESSDJDE command simplifies the conversion of DJDEs in a
JDT. DJDEBEGIN can be used inside the PROCESSDJDE command to
process LCDS BEGIN statements.
This is an example of how PROCESSDJDE is used:

{ CASE DJDECMD {}% default action = none


(JDL) { DJDEPAR SETJDT }
(BEGIN) { DJDEPAR DJDEBEGIN }
(FORM) { DJDEPAR SETFORM }
(FEED) { CASE DJDEPAR {}
(AUX) {(Preprinted) SETMEDIA}
(MAIN) {(Plain) SETMEDIA}
ENDCASE
}
ENDCASE
} 0 ($$DJDE) 3 PROCESSDJDE

Standard SYSOUT printing


This is an example of the VIPP code used to print standard sysout:

%!
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

VIPP Reference Manual (9/2003) 16-9


LCDS migration

LCDS migration hints and tips


This section contains LCDS migration hints and tips.

Comparable FDL section commands in VIPP


When using comparable FDL section commands in VIPP, consider this:
• When using FDL section commands to build a multi-up form, write
the VIPP form code as you would for one-up and use the
SETMULTIUP command in the JDT. This sets up scaling and places
the form on each page.
• If you want to repeat a section in the form, define a local segment
with XGFRESDEF and call it with SCALL.

Example: This is an example.

%!
%%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

Converting LCDS resources to VIPP resources


To convert your legacy resources, it is recommended that you use a
third-party tool such as Lytrod's ProForm Designer package
(www.lytrod.com). ProForm Designer converts legacy fonts, forms, logos
and images into PostScript resources. ProForm Designer also provides
an easy-to-use VIPP design tool to create line mode or database mode
VIPP applications.
Use Elixir with a utility called fsl2xgf, provided by VIPP, to convert from
Elixir-generated .FSL to native VIPP form code. However, this process is
available only for .FSL files in 80-column format with 8 character line
numbers.
Contact your local Xerox representative if you need assistance with your
resource conversion.

VIPP Reference Manual (9/2003) 16-10


LCDS migration

Using the fsl2xgf utility


This describes the fsl2xgf process:

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.

VIPP Reference Manual (9/2003) 16-11


LCDS migration

Step 10. Sample the form by submitting it as a print job to the printer. Make sure
that the printed output is correct.

NOTE: Should any character output incorrectly, remove the error in


the translation table of the configuration file fsl2cgf.cgf. The character
codes in this table are in octal.

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.

Handling host banner pages


Use the second syntax of the STARTLM command to handle host banner
pages.

(data.jdt) (banner.jdt) 3 STARTLM

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.

Testing for banner criteria


Banner detection and associated actions can be defined using the
SETPCD, IF/ELSE/ENDIF, and BEGINPAGE commands. These
commands allow you to test for banner criteria in the data for job or report
separation purposes. Include this code in a JDT:

/BANNER 1 5 0 100 /eq 100 (*) SETPCD


{ IF BANNER { (:red) SETMEDIAT } ENDIF } BEGINPAGE

VIPP Reference Manual (9/2003) 16-12


Section Six:
Getting the Most Out of VIPP

This Section of the VIPP Reference Manual provides samples and


examples of how to use the VIPP language to create various types of
VIPP jobs, information on debugging, some useful hints and tips for using
VIPP.
VIPP Reference Manual (9/2003)
Design and debugging

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

Resource creation and maintenance


This section contains information on these topics:
• Text editors
• Document applications
• Image tools
• Resource libraries

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.

NOTE: PostScript drivers do not always produce PostScript code


appropriate for production printing. Therefore, the use of the
DocuPrint NPS Decomposition Service tool may be more effective.

VIPP Reference Manual (9/2003) 17-1


Design and debugging

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.

Debugging and documentation tools


Use these commands to aid in debugging applications and generating
documentation:
• XGFDEBUG — VIPP command
• NMP_off — VIPP command
• SOF_off — VIPP command
• AUTOGRID — VIPP built-in variable
• BLGRID — VIPP built-in variable
• TLGRID — VIPP built-in variable
• FSHOW — VIPP command
• SHPOS — VIPP built-in variable
Also refer to “Locating the cause of an error” and to the VIPP IDE User
Guide for further information.

VIPP Reference Manual (9/2003) 17-2


Design and debugging

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.

Link file execution


When an error occurs during automatic VIPP link file execution, it may not
be clear on the error sheet which linked program generated the error. If
this is the case, disable the automatic VIPP link file execution (comment
out the sequence (/usr/xgf/src/xgf) run in the startup file) and submit the
link file as a normal VIPP file. Then comment out lines in the link file,
starting from the bottom, to isolate the file causing the error.

VIPP Reference Manual (9/2003) 17-3


Design and debugging

Locating the cause of an error


When you are using a large application or having difficulty locating an
error, place an invalid string in the application for use in locating the error.
For example, enter the string in the middle of the JDT or DBM file to
determine whether the error you want to find is located above or below the
string you entered. The invalid string you enter cannot be a VIPP
command.
When you resubmit the application after entering the invalid string, and
the error condition changes to an offending command that refers to the
invalid string you inserted, then the error is located after the invalid string
you entered. Determine the file initiating the error and at which line the
error is located by moving your invalid string.
With VIPP IDE, lines or sections of code can be commented out until the
desired results is achieved. This can quickly isolate problem areas in the
code that require modification (refer to the VIPP IDE User Guide for
further information).
Refer to “The VIPP language” for information on proper VIPP syntax
usage.

VIPP Reference Manual (9/2003) 17-4


Hints and tips

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

Fixed pitch and barcode fonts


Various fixed pitch type 1 fonts and barcode fonts are available from the
Xerox Font Center.
Adobe fonts can be used on the DocuPrint NPS and DocuSP printers.
Obtain Adobe fonts by contacting Adobe and ordering the fonts directly,
or by ordering the fonts through the Xerox Font Center.
For information on barcode fonts see Barcodes in “The VIPP Language.”

Using PostScript files with embedded fonts as forms in


VIPP
When a PostScript file contains fonts, referencing the file as a form in
VIPP may have an affect on virtual memory (VM) usage and printer
performance.
To avoid these problems, either the fonts should be permanently installed
on the printer disk drive and removed from the form, or you should run the
PostScript file through Decomposition Services (on a DocuPrint NPS, this
should be done in ByteCompressed mode). Then reference the form
directly using the VIPP SETFORM command in your JDT or DBM. Refer
to “Decomposition Services” for further information.

VIPP Reference Manual (9/2003) 18-1


Hints and tips

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

Assigning Skip to channel one to various top-of-forms


Assigning Skip to channel one to several lines (limited multi-up mode) is
not currently supported by VIPP. However, a similar result can be
achieved using the SETMULTIUP command.

Cycle form capability in VIPP


This is the cycle form syntax of the SETFORM command.

[ (form1) null null (form1) null null (form1) (form2) null null (form1) (form2)] SETFORM

This example produces a 12-page cycle of forms where form1 prints on


pages 1, 4, 7, and 11, form2 prints on pages 8 and 12, and neither form
prints on pages 2, 3, 5, 6, 9, or 10.

VIPP Reference Manual (9/2003) 18-2


Hints and tips

Improving shading differentiation using DDGs


Changing the colorkey set will improve the shading differentiation on
black and white printers when you are using the DDG commands
DRAWPIE, DRAWBAR, or DRAWCRV. The default color keys are defined
by the parameter /ColorTable. To change the default color keys, use the
SETPARAMS command to specify a different set of color keys. Mixing the
sequence of gray levels from light to dark is recommended.

Example This example sets seven levels of gray for use with DDGs.

/ColorTable[XLIGHT MEDIUM XDARK LIGHT DARK LMEDIUM DMEDIUM]]SETDDGPARAMS

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.

Overprinting a line for a bold font effect


Some legacy applications designed for impact printers still use the
overprint technique to obtain a bold text effect. To obtain the same effect
with VIPP, use the SETRCD command to test the overprint code (usually
a “+” PCC character at position “0” of the record) and apply a different
print position (104 and 104 rather than 100 and 100). This prints the two
lines on top of each other with a slight offset and provides the bold effect.
This is an example.

%!
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

VIPP Reference Manual (9/2003) 18-3


Hints and tips

Printing data on back forms


When you want to print variable data on the front and the back of a page
with different forms on each side, perform one of these:
• Use the cycle form and cycle JDT syntax in a single JDT, as shown
in this example. This is somewhat complex. However, it contains all
of the required settings in one JDT and avoids duplication of
common settings such as orientation or list of fonts.

%!
%%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

/JDTfront { RPEfront } XGFRESDEF


/JDTback { RPEback } XGFRESDEF

[ (JDTfront) (JDTback) ] SETJDT

This is the data file example.

%!
(jobxy.jdt) STARTLM
1page 1, line 1
page 1, line 2
.....
1page 2, line 1
page 2, line 2
....
%%EOF

VIPP Reference Manual (9/2003) 18-4


Hints and tips

• 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.

Printing two copies at once side by side


When you want to print two copies of each page of a document
side-by-side, the document is output in this manner:
• Sheet 1 / Side 1 : Page 1 / Page 1
• Sheet 1 / Side 2 : Page 2 / Page 2
• Sheet 2 / Side 1 : Page 3 / Page 3
• Sheet 2 / Side 2 : Page 4 / Page 4
• Sheet 3 / Side 1 : Page 5 / Page 5
• Sheet 3 / Side 2 : Page 6 / Page 6
To achieve this, combine these commands:
• TWOUP
• 2 SETCYCLECOPY
• COLLATE_off
Trim the printed job to create two collated copies of the document.

VIPP Reference Manual (9/2003) 18-5


Hints and tips

Processing PCCs and VFUs


Use these commands in the JDT to define PCC/VFU processing:

/ANSI SETPCC
[/skip-key1 line-number1 /skip-key2 line-number2 ...] SETVFU

Setting automatic font size


Use SETGRID and SETMARGIN to change the characters per line (CPL)
and the lines per page (LPP). This makes fixed pitch font scaling, and
therefore LPP and CPL, easy. Once you set these two parameters, use
the SETFONT command, with “0” specified as the size, for automatic
scaling.

Setting bold in the center of a record or line


To specify that you want bold in the center of a line, use SHMF in the RPE
entry:

[ {0 SHMF} 0 Xinit Xdispl Yinit Ydispl rec_pos length /font color ]

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

VIPP Reference Manual (9/2003) 18-6


Hints and tips

Setting multiple forms in a job


These examples can be used to set multiple forms in a jobs that:
• Use the planenumber option — which allows you to define several
layers of forms (stacking forms on top of each other on the same
page)

(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

[ (formA1) (formA2) (formA3) ] SETFORM

• Combine these options. This example specifies this information:


— Page 1 receives forms formA1, formB and FormC
— Page 2 receives forms formA2, formB and FormC
— Page 3 receives forms formA3, formB and FormC
— Page 4 receives forms formA1, formB and FormC, etc.

[ (formA1) (formA2) (formA3) ] 0 SETFORM


(formB) 1 SETFORM
(formC) 2 SETFORM

In database mode, new forms can be called after each PAGEBRK.

Example This is an example file.

(formA) SETFORM
or
{ x y MOVETO (tiffA) 1 0 ICALL } SETFORM
......
PAGEBRK
(formB) SETFORM
.......
PAGEBRK
(formC) SETFORM
......
PAGEBRK

VIPP Reference Manual (9/2003) 18-7


Hints and tips

Setting page breaks in line mode


There are four ways to set up page breaks in a line mode job:
• Number of lines per page (SETGRID)
• Form feed (hex “0C”)
• PCC byte
• %%XGF PAGEBRK
Form feed and PCC are mutually exclusive.
Form feed detection works with any string contained on the line. Refer to
SETPBRK for further information.

Suppressing vertical displacement with empty fields in a DBM


Use one of these to suppress the vertical displacement when a field in a
DBM is empty:
• Use SHP and SHp, as it suppresses the vertical displacement if the
string is empty (contrary to other SHx commands):

1600 800 MOVETO


($$FIRST_NAME. $$LAST_NAME.) VSUB SHL
ADD1 SHL
ADD2 0 SHP
($$CITY_NAME. $$STATE. $$ZIP.-$$ZIP4.) VSUB SHL

In this example, if ADD2 is empty, there will be no blank space after


ADD1. However, use SHP only when necessary, as it requires more
processing than other SHx commands.
• Use IF/ENDIF:

1600 800 MOVETO


($$FIRST_NAME. $$LAST_NAME.) VSUB SHL
ADD1SHL
IF ADD2 () ne { ADD2 SHL } ENDIF
($$CITY_NAME. $$STATE. $$ZIP.-$$ZIP4.) VSUB SHL

VIPP Reference Manual (9/2003) 18-8


Hints and tips

Switching between multi-up and one-up


When you want to print pages one and two on the front page in two-up
mode, print page three on the back page in one-up mode, print pages four
and five on the front page in two-up mode, print page six on the back page
in one-up mode, etc., enter this at the end of your JDT:

.......% common normal JDT code


/JDT1 { TWOUP } XGFRESDEF
/JDT2 { } XGFRESDEF
/JDT3 { ONEUP } XGFRESDEF
[ (JDT1) (JDT2) (JDT3) ] SETJDT

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.

Using cycle forms and cycle JDTs


Forms and JDTs can be used in a cyclical manner to perform tasks
equivalent to those provided using cycle forms; for example, to send out
five forms to each of your customers. The first three forms are identical,
and forms four and five are different. The form data arrives in Sysout
mode. The data for the first three forms is sent down once, followed by
pages of data for forms four and five. Use this JDT to perform this task:

%!
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

VIPP Reference Manual (9/2003) 18-9


Hints and tips

Using data grouping and multi-up in database mode


This example shows how to use the record grouping option of the
database mode to print eight logical pages (four front and four back) in
one DBM call. The data for all eight pages must be read before each DBM
call. The record group option may help to create the data file with a clear
structure.
To perform this task, you must provide a different name for each of the
fields on the four logical pages.

%!
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.

Using highlight color to print negative numbers


The SETRCD and SETPCD commands have a /HOLD test operator used
to locate the compare string in the record portions of the data.
This example looks for the minus sign in the field and uses the current
highlight color to print it:

/IF_NEG 50 10 /HOLD (-) SETRCD


.....
x FROMLINE
/IF_NEG [0 0 100 100 100 100 50 10 /F1 HCOLOR ]
/ELSE [0 0 100 100 100 100 50 10 /F1 BLACK ]
.....

NOTE: This assumes that the number is 10 bytes long in position 50.

VIPP Reference Manual (9/2003) 18-10


Hints and tips

Using SETMULTIUP in database mode


When using SETMULTIUP in database mode, there are two situations to
consider:
When you want each call to the DBM to print on the next logical page, it
is important to enter the SETMULTIUP command at the top of the DBF file
before the STARTDBM command. When you enter this command in the
DBM, it reinitializes the multi-up sequence on each DBM call.
When you are coding a multi-page DBM with a multi-up layout, add a
NEWSIDE or NEWFRONT at the beginning of the DBM or place the
SETMULTIUP at the beginning of the DBM.

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

Dynamic TIFF file placement in line mode


Use one of these methods to dynamically call TIFF files in line mode:
• Use ICALL in an NMP:

%%XGF 1000 1500 MOVETO (name.tif) 1 90 ICALL

The image is located at a fixed position regardless of where the NMP


occurs in the data file.
• Use ICALL in an RPE entry align procedure to achieve dynamic
placement depending on whether the image name is fixed or must
be extracted from the data:

[ {1 90 ICALL} 0 Xinit Xdispl Yinit Ydispl 0 (xxxxx.tif) /font color ]

or:

[ {1 90 ICALL} 0 Xinit Xdispl Yinit Ydispl rec_pos length /font color ]

In either case, the line using this RPE entry must be identified with a test
(SETRCD) or using an RPE prefix.

VIPP Reference Manual (9/2003) 18-11


Hints and tips

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

Make the ICALL part of an RPE definition, as shown in this example. In


this example, a constant value, image.tif, is used. However, the image file
name can be obtained from your data file using the recpos and length
parameters to find the name in the record. Refer to FROMLINE and ICALL
for further information on how to use these commands in an RPE
definition.

3 BEGINRPE
[{1 0 ICALL} 0 1400 0 1495 0 000 (image.tif) /TEXTS BLACK]
....
ENDRPE

There may be unexpected side effects to marking commands such as


SHx, ICALL, and SCALL in a JDT, when you code DIRECT calls.
A JDT should contain only general or global formatting commands for the
job. A marking command writes directly on the current page. However,
when the JDT is executed in the initialization phase, no current page is
defined.

VIPP Reference Manual (9/2003) 18-12


Hints and tips

Locating TIFF images in multiple directories


ICALL builds the full path to an image by concatenating the library paths
specified in the SETIPATH command with the image name provided as the
argument. The default libraries are available in the
/usr/xgf/src/xgfunix.run file.
Perform one of these to access TIFF images in multiple directories:
• Place additional libraries in xgfunix.run. Make sure that no two
images in any two libraries have the same name. When this occurs,
only the first image can be accessed.
• Include a SETIPATH command at the beginning of the job to specify
which libraries to search.

(/disk330/tiff1/) SETIPATH
......
(image1) 1 0 ICALL

• Include an empty SETIPATH at the beginning of the job and specify


the full path with each ICALL.

() SETIPATH
.....
(/disk330/tiff1/image1) 1 0 ICALL

'()' SETIPATH disables all of the libraries defined in


/usr/xgf/src/xgfunix.run for the current job and provides an empty
path. When this syntax is used, no search is performed. Therefore,
access to the image is direct for each ICALL.
When you want to have access to the other libraries in the job, enter
“()” as the first library in /usr/xgf/src/xgfunix.run. The effect is similar,
as the image containing a full path is located in the first library;
therefore no further search is necessary. In addition, use the base
name of the images to continue to access images located in other
libraries.

[ ()
(/usr/xgfc/imglib/)
(/usr/xgf/imglib)
] SETIPATH

VIPP Reference Manual (9/2003) 18-13


Hints and tips

• Specify a root path using SETIPATH and enter an additional subpath


in the ICALL. Specify the root path in xgfunix.run.

(/disk330/) SETIPATH......(tiff1/image1) 1 0 ICALL

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).

Merging data with TIFF files


To merge a TIFF file with data, use one of these options:
• Create a form (/usr/xgfc/formlib/xyz.frm) with these contents:

%!
{ x y MOVETO (ab1.tif) 1 0 ICALL } FSHOW

Then call the form in the JDT as follows:

(xyz.frm) SETFORM

• Build the form in the JDT as follows:

{ x y MOVETO (ab1.tif) 1 0 ICALL } 0 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.

VIPP Reference Manual (9/2003) 18-14


Hints and tips

TIFF file performance considerations


When you have several TIFF images to include in a form, call these TIFF
images from your form, rather than as separate forms in your JDT. When
the TIFF files and the form are static throughout your document or are
static in a pattern in your document, as with a cycle form, run them as a
separate job through Decomposition Services and reference the resulting
file as a single form.
You will achieve the best performance from your printer when TIFF files
do not require any scaling or rotation and when the file size is kept to the
minimum. Reduce file size in a number of ways, including cropping excess
white space from a scanned image.
Although VIPP can reference TIFF files not sent with the submission file,
you may want to evaluate the network performance when you perform this
task, as the files could reside on a network server and could be shared by
multiple printers on the same network.

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.

VIPP Reference Manual (9/2003) 18-15


Hints and tips

Creating a VIPP self-contained PostScript file


To print a VIPP file to a PostScript device that is not VIPP-enabled, you
must create a self-contained VIPP file that is the concatenation of the
VIPP file and all of the resources required. This task requires two steps.

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.

deplpr -P<printer> XGF_file_name

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.

deplpr -mkf Target_file_name XGF_file_name

NOTE: The deplpr utility does not support the RUNDD and RUN
commands.

Ignoring the number of lines at the beginning of each file


When the contents of the lines is unique in the SETLMFILE file, a
SETRCD condition can be defined and used in a FROMLINE entry with
recpos=0 and length=0. Also, use the extended syntax of STARTLM,
which allows you to use a JDT for a specific number of pages and then to
switch to another JDT for the remainder of the file.
When this is the case, define SETGRID as the number of lines you want
to skip in the first JDT and use a FROMLINE command that selects no
data.

VIPP Reference Manual (9/2003) 18-16


Hints and tips

Including a PostScript-generated chart in a VIPP job


Perform one of these to include a PostScript-generated chart in a VIPP
job. This assumes that you will download the file to the hard disk:
• Download the PostScript file to the hard disk. Call the file in the
middle of the report using the RUN command. This is an example.

(chart.ps) RUN % native mode


% or
%%XGF (chart.ps) RUN % line mode

NOTE: The library path is taken from SETMPATH.

• Convert the PostScript file to a TIFF using Decomposition Services,


XDOD, or any other means, and then download the TIFF file to the
hard disk. Call the TIFF file in the middle of the report using the
ICALL command. This is an example.

x y MOVETO (chart.tif) 1 rot ICALL PAGEBRK % native mode


% or
%%XGF x y MOVETO (chart.tif) 1 rot ICALL PAGEBRK % line mode

NOTE: When you perform this task, x, y, and rot can be 0, 0,


and 90 for Decomposition, or 0, 3300, and 0 for XDOD.

Managing VIPP resources


VIPP resources can be located on any disk, on another machine, or on
the network (for example, on a UNIX server or a Novell server).
Provide your DocuPrint NPS and DocuSP printers with access to the VIPP
resources by performing these steps:

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 2. Edit the /usr/xgf/src/xgfunix.run file to specify alternate locations.

Step 3. Add the paths necessary to run and process an individual VIPP job using
SETIPATH, SETFPATH, SETJPATH, and SETMPATH.

VIPP Reference Manual (9/2003) 18-17


Hints and tips

Incorporating highlight color in decomposition forms


Using Byte Compressed mode (SaveMaskBC) is recommended when
using NPS Decomposition Services. This mode includes both black and
highlight color in the same file and its performance is better than TIFF.
The only concern is portability, as this option is proprietary to the
DocuPrint NPS printers.

Printing with special languages and accented characters


The encoding tables used by VIPP are located in /usr/xgf/encoding. By
default, pcsun, which is defined in xgf.def, is used and supports accented
characters for both PC and Sun encoding. When you want to use different
encoding, modify the existing translation table or create a new translation
table. Refer to “Standard lists, tables, keys, and attributes” for further
information.

VIPP and double-byte printing


VIPP relies on the PostScript interpreter when handling double-byte
printing. Any OCF font supported by the PostScript interpreter is available
to VIPP.
When performing double-byte printing from a mainframe, IBM uses a
mechanism called SHIFTIN/SHIFTOUT to shift between different
character sets. However, testing is currently in progress to verify whether
this capability can be incorporated on the currently supported VIPP
printers.
Due to the size and architecture of OCF fonts, it is not possible to
re-encode the fonts from PostScript. The data stream must be encoded
using the same character table as the fonts. For new applications using
the standard PostScript encoding, this is not an issue. However, for
existing IBM mainframe applications using the 5550 code set (Chinese),
it is necessary to have the printer font encoded using the same character
set. This may require the creation of a new font.
The only known limitation when using VIPP for Chinese printing is with the
vertical printing extended alignments (for example, support for centering
and justification). In addition, this type of printing may require rebuilding
the font with vertical character set displacement.

VIPP Reference Manual (9/2003) 18-18


Hints and tips

VIPP and EBCDIC


VIPP uses translation tables, which allow processing of VIPP data
streams coded using different character encoding schemes. Several
tables including the EBCDIC table have been provided. These tables can
be modified or new ones created. Contact your system analyst if you need
assistance creating or modifying a table.
These tables are valid for printable data only, meaning that forms, JDTs,
etc., cannot be coded in EBCDIC. Commands included in the data file,
such as VIPP startup commands (STARTLM), and embedded commands
(%%XGF SETJDT), must be coded in ASCII even when the surrounding
data is coded in EBCDIC. However, submission from the host may provide
an option to convert EBCDIC to ASCII for output to the printer.
When using a DocuPrint NPS, you have the option of setting up a virtual
printer that prepends the incoming data file with a VIPP initialization file
used to format the data files. For further information, refer to “DocuPrint
NPS XGFNub” in “Using VIPP on specific printers.” This allows you to
choose not to insert any VIPP commands for use in startup formatting, but
to send a customer data file in EBCDIC or ASCII format without any
required modifications.
SETRCD and SETPCD reference strings must be coded in EBCDIC using
the hexadecimal PostScript notation:

/IF_TOTAL 10 5 /eq <E3D6E3C1D3> SETRCD

This example looks for the EBCDIC string, TOTAL, in position 10.

VIPP Reference Manual (9/2003) 18-19


Hints and tips

VIPP Reference Manual (9/2003) 18-20


VIPP file examples

This chapter contains these VIPP file examples:


• Example 1: Bank statement with images using native mode
• Example 2: Sales report using line mode
• Example 3: Sales report using RPE line mode
• Example 4: Invoice using RPE prefixed line mode
• Example 5: Mailing using database mode
• Example 6: Bank statement using dynamic boxes and Data Driven
Graphics
The electronic files are located in the corresponding VIPP directories.

VIPP Reference Manual (9/2003) 19-1


VIPP file examples

Example 1: Bank statement with images using native mode


This section contains an example of a bank statement with images using
native mode. It consists of a print file, form file, and an example of the
generated output.

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

VIPP Reference Manual (9/2003) 19-2


VIPP file examples

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

VIPP Reference Manual (9/2003) 19-3


VIPP file examples

This figure illustrates the printed output for Example 1.

VIPP Reference Manual (9/2003) 19-4


VIPP file examples

Example 2: Sales report using line mode


This section contains an example of a sales report using basic line mode.
This example consists of a print file, a JDT file, and an example of the
generated output.

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

CUSTOMER OPERATION DIVISIONS

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

VIPP Reference Manual (9/2003) 19-5


VIPP file examples

Job Descriptor Ticket file


This is a JDT file example.

%!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

VIPP Reference Manual (9/2003) 19-6


VIPP file examples

%---------------------------------------------------------------------
% 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

VIPP Reference Manual (9/2003) 19-7


VIPP file examples

This figure illustrates the printed output for Example 2.

VIPP Reference Manual (9/2003) 19-8


VIPP file examples

Example 3: Sales report using RPE line mode


This section contains an example of a sales report using RPE line mode.
It consists of a print file, a form file, a JDT, and an example of the
generated output.

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

CUSTOMER OPERATION DIVISIONS

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

VIPP Reference Manual (9/2003) 19-9


VIPP file examples

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

VIPP Reference Manual (9/2003) 19-10


VIPP file examples

Job Descriptor Ticket file


This is a JDT file example.

%!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
%---------------------------------------------------------------------

VIPP Reference Manual (9/2003) 19-11


VIPP file examples

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

VIPP Reference Manual (9/2003) 19-12


VIPP file examples

This figure illustrates the printed output for Example 3.

VIPP Reference Manual (9/2003) 19-13


VIPP file examples

Example 4: Invoice using RPE prefixed line mode


This is an example of an invoice using RPE prefixed line mode. It consists
of a print file, a form file, a JDT, and an example of the generated output.

Print file
This is a print file example.

%!
(example4.jdt) STARTLM
PER0 01.11.1989 - 31.12.1989
REF0 14153 01764960

ADR0 M. MARCEL DUPONT


ADR0 RESIDENCE “LES MIMOSA“
ADR0 PLACE DE LA GARE, 44
ADR0 2323 SAGEX

DFA0 23.01.1990
DPY0 23.02.1990
DRE0 7.12.1989
CRN0 068.025.000 COMMUNS IMMEUBLE

LFA0 14 COMMUNS D'IMMEUBLES 81978 30248 30144 104 4,40


LFA0 41 EAU TARIF I 491 12869 12714 155 0,2800 43,40
LFA0 TAXE DE BASE 2,0 7,692 15,35
LFA0 LOCATION COMPTEUR 2,0 2,00 4,00
LFA0 82 GAZ CHAUFFAGE 3500 40972 40126 10,40 8798 0,0330 290,35
LFA0 TAXE DE BASE 2,0 16,666 33,35
LFA0
LFA1 TOTAL S.I. 430,85
LFA0
LFA0 41 ASSAINISSEMENT 491 155 0,25 38,75

MNT0 MONTANT A PAYER 469,60

BRE0 00 00014 15301 76496 00120 01019

OLI0 0100000469609>000001415301764960012001019+
%%EOF

VIPP Reference Manual (9/2003) 19-14


VIPP file examples

Form file
This is a form file example.

%%Title: example4.frm

{ PORT

0 1250 710 1250 XLT DRAWB


710 1250 1770 950 XLT DRAWB
710 1250 0 1250 D1 DRAWB
0 1250 2480 0 D1 DRAWB
0 1200 2480 0 S1 DRAWB
1250 1200 0 900 S1 DRAWB
2080 1200 0 300 S1 DRAWB
1250 900 1230 0 S1 DRAWB
2165 1160 220 220 D1 110 DRAWBR
110 300 220 220 D1 110 DRAWBR

/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

20 890 MOVETO (Konto) SHL (compte) SHL (conto) SHL


750 890 MOVETO (Konto) SHL (compte) SHL (conto) SHL
1270 870 MOVETO (einbezahlt von) SHL (versé par) SHL (versato da) SH
1480 870 MOVETO (oder) SHL (ou) SHL (o) SH
1560 870 MOVETO (Giro aus Konto) SHL (virement du compte) SHL (girata dal conto) 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

VIPP Reference Manual (9/2003) 19-15


VIPP file examples

400 250 MOVETO


(Die Annahmestelle) SHL
(L'office de dépot) SHL
(L'ufficio d'accettazione) SH

1270 780 0 90 S1 2 1050 0 DRAWBM


1270 690 1050 0 S1 2 0 70 DRAWBM
1270 780 270 0 S1 2 780 0 DRAWBM

/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

VIPP Reference Manual (9/2003) 19-16


VIPP file examples

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

VIPP Reference Manual (9/2003) 19-17


VIPP file examples

Job Descriptor Ticket file


This is a JDT file example.

%!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

0 0 0 0 SETMARGIN % set all margins to zero

%----------------------------------------------------------------------
% 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 ]

VIPP Reference Manual (9/2003) 19-18


VIPP file examples

/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

VIPP Reference Manual (9/2003) 19-19


VIPP file examples

This figure illustrates the printed output for Example 4.

VIPP Reference Manual (9/2003) 19-20


VIPP file examples

Example 5: Mailing using database mode


This section contains an example of a mailing using database mode. It
consists of a print file, a DBM file, and an example of the generated
output.

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

Data Base Master file


This is a DBM file example.

%%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

1240 3300 MOVETO


(dcxlogo.seg).6 SCALL

1450 2800 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, //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

VIPP Reference Manual (9/2003) 19-21


VIPP file examples

(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

VIPP Reference Manual (9/2003) 19-22


VIPP file examples

This figure illustrates the printed output for Example 5 (first page).

VIPP Reference Manual (9/2003) 19-23


VIPP file examples

This figure illustrates the printed output of Example 5 (second page).

VIPP Reference Manual (9/2003) 19-24


VIPP file examples

Example 6: Bank statement using dynamic boxes and Data


Driven Graphics
This section contains an example of a bank statement using RPE line
mode together with dynamic boxes and DDG. It consists of a print file, a
JDT, and the printed output.

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

VIPP Reference Manual (9/2003) 19-25


VIPP file examples

PPA0:CUSTODY/MANAGEMENT FEES::SGD
PPA0:WITHHOLDING TAX:0.00:SGD
PPA1:VALUATION CHANGE:3,047.72:SGD:PERFORMANCE:0.09 %
PPA2:PERFORMANCE COMPONENTS:

PPA0:REALIZED GAINS/LOSSES SECURITIES:0.00:SGD


PPA0:Unreal. GAINS/LOSSES SECURITIES:6,544.05:SGD
PPA0:REALIZED GAINS/LOSSES FX:0.00:SGD
PPA0:UNREAL. GAINS/LOSSES FX:-4,913.75:SGD
PPA0:DIVIDENDS AND INTEREST:215.26:SGD
PPA0:CHANGE IN ACCR. INTEREST:197.25:SGD
PPA0:CUSTODY/MANAGEMENT FEES::SGD
PPA0:WITHHOLDING TAX:0.00:SGD
PPA0:EXTRAORDINARY EXPENSES:0.00:SGD
PPA0:EXTRAORDINARY INCOME:0.00:SGD
PPA1:VALUATION CHANGE:3,047.72:SGD
PPA4:0.15:January
PPA4:0.10:February
PPA4:0.16:MarchPPA4:0.18:April
PPA4:0.06:May
PPA4:0.14:June
PPA4:0.09:July
PPA5
%%EOF

VIPP Reference Manual (9/2003) 19-26


VIPP file examples

Job Descriptor Ticket file


This is a JDT file example for a bank statement containing dynamic boxes
and DDGs.

%!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

VIPP Reference Manual (9/2003) 19-27


VIPP file examples

%---------------------------------------------------------------------------
% 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]

VIPP Reference Manual (9/2003) 19-28


VIPP file examples

/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]

%----------------------------------------------------------------------

/SEM0 RPEKEY % Segment performance blue title line


[{SCALL} 0 250 null 470 75 0 (PERFRAME) /F1 BLACK]
[{SCALL} 0 250 null 0 0 0 (BLUEBOX) /F1 BLACK]
[ 0 0 270 null 0 55 1 /FN /F3 WHITE]
/SEM1 RPEKEY % Header of the segment performance report
[ 0 0 260 null 470 120 1 /FN /F4B BLACK]
[ 0 0 1010 null 0 0 2 /FN /F4B BLACK]
[ 0 0 1610 null 0 0 3 /FN /F4B BLACK]
[ 0 0 2210 null 0 0 4 /FN /F4B BLACK]
[ 0 0 2810 null 0 0 5 /FN /F4B BLACK]
[{SCALL} 0 0 null 0 10 0 (LIVERGR) /F1 BLACK]
[{SCALL} 0 250 null 0 0 0 (LINEHOR) /F1 BLACK]
[{SCALL} 0 250 null 0 0 0 (LINEVERT) /F1 BLACK]
/SEM3 RPEKEY % Simple line of the segment performance report
[ 0.2 0 260 null 470 65 1 /FN /F4 BLACK]
[ 1 0 1590 null 0 0 2 /FN /F4 BLACK]

/PER0 RPEKEY % Performance blue title line


[{SCALL} 0 250 null 470 75 0 (PERFRAME) /F1 BLACK]
[{SCALL} 0 250 null 0 0 0 (BLUEBOX) /F1 BLACK]
[ 0 0 270 null 0 55 1 /FN /F3 WHITE]

VIPP Reference Manual (9/2003) 19-29


VIPP file examples

/PPA0 RPEKEY % left side of the page of the performance report


[ 0 0 270 null 620 75 1 /FN /F4 BLACK]
[ 1 0 1550 null 0 0 2 /FN /F4 BLACK]
[ 1 0 1700 null 0 0 3 /FN /F4 BLACK]
/PPA1 RPEKEY % left side of the page of the performance report (subtotal)
[ 0 0 270 null 0 75 1 /FN /F4B BLACK]
[ 1 0 1550 null 0 00 2 /FN /F4B BLACK]
[ 1 0 1700 null 0 00 3 /FN /F4B BLACK]
/IF_PERF
[{SCALL} 0 1830 null 0 0 0 (GRAYBOX8) /F3B BLACK]
[ 0 0 1850 null 0 0 4 /FN /F4B BLACK]
[ 1 0 3150 null 0 0 5 /FN /F4B BLACK]
/ENDIF

/PPA2 RPEKEY % Subtitle of the left side of the performance report.


[ 0 0 270 null 0 200 1 /FN /F4B BLACK]
[ 0 0 1650 null 0 0 2 /FN /F4B BLACK]
/PPA4 RPEKEY % performance data
[ 0.1 0 -500 null 0 0 1 /FN /F4B BLACK]
[ 0.2 0 -500 null 0 0 2 /FN /F4B BLACK]

/PPA5 RPEKEY % performance curve


[{SCALL} 0 1940 null 2150 null 0 (CRV1) /F8 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

VIPP Reference Manual (9/2003) 19-30


VIPP file examples

/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

VIPP Reference Manual (9/2003) 19-31


VIPP file examples

This example illustrates printed output for a bank statement containing


dynamic boxes and pie chart DDGs.

VIPP Reference Manual (9/2003) 19-32


VIPP file examples

This example illustrates printed output for a bank statement containing


dynamic boxes and bar chart DDGs.

VIPP Reference Manual (9/2003) 19-33


VIPP file examples

This example illustrates printed output for a bank statement containing


dynamic boxes and curve chart DDGs.

VIPP Reference Manual (9/2003) 19-34


Section Seven:
Index

This Section contains the index entries for the VIPP Reference Manual.
VIPP Reference Manual (9/2003)
Index

Symbols /LabelColw 11-297


/LabelDashColor 11-297
% 11-245 /LabelDashWidth 11-297
%! 11-247 /LabelOffset 11-297
%% 11-246 /LCDSmode 11-297
%%BoundingBox 11-247 /MaxVal 11-297
%%EOD_XGF 11-248 /MediaSubst 11-298
%%EOF 11-248 /MergeValue 11-298
%%XGF 11-249 /MinVal 11-298
++/-- 11-20 /MixPlexCount 11-298
/3D 11-294 /MonthsLong 11-298
/3DAngle 11-294 /MonthsShort 11-298
/3DThickness 11-294 /MUPduplex 11-298
/AmPm 11-294 /NSign 11-298
/BarSpace 11-294 /OMRDir 11-298
/BGColor 11-294 /OMRHdisp 11-298
/BookletMismatch 11-294 /OMRHskip 11-298
/Caching 11-295 /OMRMap 11-299
/ChartDir 11-295 /OMRSlugChar 11-299
/ChartOrder 11-295 /OMRSlugFont 11-299
/ChkResources 11-295 /OMRSlugSize 11-299
/ColorTable 11-295 /OMRVdisp 11-299
/DaylightSaving 11-296 /OMRVskip 11-299
/DaysLong 11-296 /OMRWriteResp 11-299
/DaysShort 11-296 /OriLine 11-299
/DecimalPoint 11-296 /PageRange 11-300
/DefaultDate 11-296 /PagesPerBooklet 11-300
/DefinedDate 11-296 /PrintLabel 11-300
/DotsPerModule 11-296 /PrintScale 11-300
/ExtraSpace 11-296 /PrintValue 11-300
/FDecimalPoint 11-296 /ResolvePath 11-300
/FDigit 11-296 /RowHeight 11-300
/FitSpace 11-296 /SliceBurst 11-301
/FLZDigit 11-296 /SliceSepColor 11-301
/FNSign 11-296 /SliceSepWidth 11-301
/Format 11-297 /SpotLabels 11-301
/FormatPC 11-297 /SpotOffset 11-301
/FPSign 11-297 /SpotSize 11-301
/FPunctuation 11-297 /Stack 11-301
/HalfPie 11-297 /TimeZone 11-301
/Interpolate 11-297 /TimeZoneName 11-301
/KeepRatio 11-297

VIPP Reference Manual (9/2003) I-1


Index

Numerals BOOKMARK 11-33


bookmarks 11-7
2OF5 11-250 extended 11-33
5550 codeset (Chinese) 18-18 Bourne shell UNIX scripts 8-7
box, drawing
A multiple
rounded corners 11-51
ABSPOS 11-21 square corners 11-51
ADD 11-22 rounded corners 11-48
ADVPAGE 11-24 square corners 11-48
AFM files 11-3 BSTRIP 11-251
AFP resources, converting 11-160 BSTRIP_off 11-35
align procedure 11-11 BTA 11-36
arithmetic expressions BTS 11-38
binary operators in 11-12 buffer size 11-147
unary operators in 11-12 built-in
ASCII 18-19 colorkey
AUTOGRID 11-268 HCOLOR 11-276
forms
B BLGRID 11-269
Byte Compressed (BC)
BACK 11-269 mode 18-18
backforms 11-169 syntax 15-7
BACKSP_off 11-24
backspace processing
disable 11-24 C
fixed fonts 11-24 CACHE 11-40
fixed/proportional fonts 11-25 CACHE SCALL, using 13-7
BACKSPF_on 11-24 CACHE SETFORM, using 13-7
BACKSPP_on 11-25 CASE 11-42
banner CASELOW 11-251
criteria, testing 16-12 CASETI 11-252
handling host pages 16-12 CASEUP 11-252
bar chart, drawing 11-49 CCITT G4/G3 11-84
barcode channel-skip 11-212
acceptable string 11-17 characters
data transforms 11-17 accented 18-18
fonts 18-1 per line 11-160
printing 11-17 Chinese 18-18
sequence, reformatting 11-253, 11-254, 11-257 CHKPOINT 11-43
BCALL 11-25 circle, drawing 11-52
BEGINIMP 11-26 CLIP 11-270
BEGINPAGE 11-27 CMYK 11-148, 11-205
BEGINPCC 11-29 code examples
BEGINRPE 11-30 database file 2-20
BEGINXPD 11-30 DBM file 2-21
bi-level images, normal mode printing 11-96 JDT 2-19
billb.lm 8-10 line mode 2-18
BIND_off 11-31 native mode 2-18
BIND_on 11-31 XML data 2-24
BINDDETAILS 11-31 CODE128 11-254
BLGRID 11-269 CODE39 11-253
booklet support 11-2 collate mode 11-46
BOOKLETRANGE 11-32 COLLATE_dbm 11-45

VIPP Reference Manual (9/2003) I-2


Index

COLLATE_off 11-45 DRAWPIE 11-55


COLLATE_on 11-46 DRAWPOL 11-56
color DUPLEX_off 11-56
keys 10-6, 10-8, 11-205, 11-276 DUPLEX_on 11-57
rendering 13-3 ELSE 11-86
switch 11-158 ENDBOOKLET 11-57
color definition 11-205 ENDCASE 11-57
CMYK 11-148 ENDCLIP 11-57
RGB 11-148 ENDIF 11-86
color definition table 11-14 ENDIFALL 11-58
color simulation ENDIMP 11-59
solid coated colors 11-16 ENDJOB 11-60
solid uncoated colors 11-16 ENDOFRUN 11-61
color tints 11-16 ENDOFSET 11-62
colorkey 11-14, 11-204 ENDPAGE 11-63
colorkeys 11-16 ENDPCC 11-63
COLW 11-270 ENDRPE 11-64
commands 11-270 ENDXPD 11-64
++/-- 11-20 ETA 11-64
ABSPOS 11-21 ETS 11-64
ADD 11-22 EXIST 11-65
ADVPAGE 11-24 EXIT 11-66
BACKSP_off 11-24 FBIND 11-67
BACKSPF_on 11-24 FCALL 11-67
BACKSPP_on 11-25 FILLOMR 11-68
BCALL 11-25 FOREACH 11-70
BEGINIMP 11-26 FORMSHIFT 11-71
BEGINPAGE 11-27 FROMLINE 11-72
BEGINPCC 11-29 FROMLINE extensions 11-8
BEGINRPE 11-30 FSHOW 11-77
BEGINXPD 11-30 G4PMETRIC_off 11-77
BIND_off 11-31 GETDATE 11-78
BIND_on 11-31 GETFIELD 11-80
BINDDETAILS 11-31 GETITEM 11-82
BOOKLETRANGE 11-32 GOTOFRAME 11-83
BOOKMARK 11-33 ICALL 11-84
BSTRIP_off 11-35 IF 11-86
BTA 11-36 IF/ELSE/ENDIF 11-86
BTS 11-38 IGNOREBT_off 11-88
CACHE 11-40 IGNOREBT_on 11-88
CASE 11-42 ILAND 11-88
CHKPOINT 11-43 INDEXBAT 11-89
COLLATE_dbm 11-45 INDEXCOLOR 11-90
COLLATE_off 11-45 INDEXFONT 11-91
COLLATE_on 11-46 INDEXKERN 11-92
COPYRANGE 11-46 INDEXPIF 11-93
DJDEBEGIN 11-47 INDEXRPE 11-94
DRAWB 11-48 INDEXSST 11-95
DRAWBAR 11-49 IPORT 11-96
DRAWBM 11-51 IREVERSE_off 11-96
DRAWBR 11-48 IREVERSE_on 11-96
DRAWBRM 11-51 JOG_off 11-97
DRAWC 11-52 JOG_on 11-97
DRAWCRV 11-53 LAND 11-98

VIPP Reference Manual (9/2003) I-3


Index

LMSKIP 11-98 SETFTSW 11-158


MAKEVMFILE 11-99 SETGEP 11-159
MAKEVMFORM 11-100 SETGRID 11-160
MOVEH 11-105 SETGUNIT 11-160
MOVEHR 11-106 SETINDENT 11-161
MOVETO 11-107 SETIPATH 11-161
MSPP_on 11-107 SETJDT 11-162
NEWBACK 11-108 SETJPATH 11-163
NEWFRAME 11-108 SETKERN 11-164
NEWFRONT 11-108 SETLFI 11-165
NEWGROUP 11-109 SETLKF 11-166
NEWPOS 11-110 SETLMFILE 11-168
NEWSIDE 11-110 SETLSP 11-169
NL 11-111 SETMARGIN 11-169
NMP_off 11-111 SETMAXBFORM 11-169
OFFSET_off 11-112 SETMAXCOPY 11-170
OFFSET_on 11-112 SETMAXFORM 11-170
ONEUP 11-113 SETMEDIA 11-171
ORIBL 11-113 SETMEDIAT 11-172
ORITL 11-113 SETMPATH 11-172
OVERPRINT_on 11-114 SETMULTIUP 11-173
PAGEBRK 11-115 SETNMP 11-175
PAGERANGE 11-116 SETOBIN 11-176
PDF417 11-117 SETOBINT 11-177
PDFDEST 11-119 SETPAGEDEF 11-177
PDFINFO 11-120 SETPAGENUMBER 11-178
PDFOPEN 11-121 SETPAGESIZE 11-180
PORT 11-122 SETPARAMS 11-181
PRECACHE 11-122 SETPAT 11-183
PROCESSDJDE 11-123 SETPBRK 11-185
QSTRIP_on 11-124 SETPCC 11-186
REPEAT 11-126 SETPCD 11-187
RESET 11-128 SETPIF 11-189
RPEDEF 11-129 SETPPAT 11-192
RPEKEY 11-131 SETPPATH 11-193
RSAVE 11-133 SETPROJECT 11-194
RUN 11-134 SETRCD 11-195
RUNDD 11-136 SETRES 11-198
RUNTIF 11-140 SETRPE 11-198
SAVEPP 11-140 SETRPEPREFIX 11-199
SCALL 11-141 SETSKIP 11-201
SETBAT 11-144 SETTAB 11-202
SETBFORM 11-146 SETTXB 11-203
SETBUFSIZE 11-147 SETTXC 11-204
SETCOLWIDTH 11-148 SETTXS 11-206
SETCYCLECOPY 11-149 SETUNIT 11-207
SETDBSEP 11-150 SETUTAB 11-208
SETDLFILE 11-151 SETVAR 11-209
SETENCODING 11-152 SETVFU 11-212
SETEPATH 11-153 SETZEBRA 11-213
SETFONT 11-154 SH 11-217
SETFORM 11-155 SHC 11-214
SETFPATH 11-157 SHc 11-214
SETFRAME 11-157 SHGLYPH 11-215

VIPP Reference Manual (9/2003) I-4


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

VIPP Reference Manual (9/2003) I-5


Index

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

VIPP Reference Manual (9/2003) I-6


Index

VIPP_invalid_align in SHMF 12-2 FILLOMR 11-68


VIPP_invalid_align in SHP 12-2 fit-in-box 11-41, 11-141
VIPP_invalid_align in SHX 12-2 fit-in-width 11-218
VIPP_invalid_booklet_length 12-2 fixed line spacing 11-74
VIPP_invalid_contents in ENDPAGE 12-3 fixed text 11-10
VIPP_invalid_license_file 12-3 font
VIPP_invalid_PIF_type 12-3 barcode 18-1
VIPP_invalid_PN_option 12-3 bold effect 18-3
VIPP_invalid_syntax in RPE 12-3 fixed pitch type 1 18-1
VIPP_invalid_syntax in SETBAT 12-3 list 10-1, 11-153
VIPP_invalid_syntax in SETMULTIUP 12-3 list, encoding table 11-152
VIPP_invalid_VSUB 12-4 resources 9-3
VIPP_length_error in ENDPCC 12-4 samples 10-4
VIPP_length_error in RPE 12-4 scaling 11-154
VIPP_license_failed 12-4 selection 11-154
VIPP_misplaced in SETPAGESIZE 12-4 setting automatic size 18-6
VIPP_OMR_invalid_response_string 12-4 substitutions 11-262
VIPP_PDF417__data_limit_exceeded 12-4 switch 11-158
VIPP_PDF417__invalid_mode 12-5 FOREACH 11-70
VIPP_POSTNET_invalid_digit 12-5 FORMAT 11-258
VIPP_POSTNET_invalid_length 12-5 Format Parameters 11-181
VIPP_RPE_invalid_prefix 12-5 forms 11-170
VIPP_RPE_invalid_prefix_length 12-5 BLGRID 11-269
VIPP_SETVAR_invalid_name 12-5 cyclical use 18-9
VIPP_unable_to_locate 12-5 definition
ETA 11-64 running file 13-8
ETS 11-64 running in-line 13-8
examples description 9-9
bank statement, images using native mode 19-2 file example 19-3, 19-10, 19-15
Data Base Master file 19-21 FSHOW 11-77
form 19-10 importing from DocuPrint NPS 15-7
form file 19-3, 19-10, 19-15 printing backs 18-4 to 18-5
invoice using RPE prefixed mode 19-14 referencing
JDT file 19-6, 19-11, 19-18 DocuPrint NPS decomposed 15-1
mailing using database mode 19-21 DocuSP 15-2
sales report using line mode 19-5 selecting 11-146
sales report using RPE line mode 19-9 FORMSHIFT 11-71
EXIST 11-65 frame drawing 11-157
EXIT 11-66 FRCOUNT 11-275
exiting 11-66 FRLEFT 11-276
FROMLINE 11-72
FROMLINE command extension 11-8
F FROMLINE extensions 11-8
F2S 11-258 FSHOW 11-77
FBIND 11-67 FSL files 8-7
FCALL 11-67 fsl2xgf 8-7
FCB 10-9 fsl2xgf utility 16-12
FDL section commands, comparable 16-10 FTP 13-5
field separator, database mode 11-150 function list 2-12
fill-in-box 11-142

VIPP Reference Manual (9/2003) I-7


Index

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

VIPP Reference Manual (9/2003) I-8


Index

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 Reference Manual (9/2003) I-9


Index

non re-encoded font list file 10-5 /ChkResources 11-295


notes 11-7 /ColorTable 11-295
NPS Decomposition Services 18-18 /DaylightSaving 11-296
null encoding table 10-5 /DaysLong 11-296
nullfl 10-5 /DaysShort 11-296
/DecimalPoint 11-296
/DefaultDate 11-296
O /DefinedDate 11-296
OCF fonts 18-18 /DotsPerModule 11-296
OFFSET_off 11-112 /ExtraSpace 11-296
OFFSET_on 11-112 /FDecimalPoint 11-296
offsetting /FDigit 11-296
disable 11-112 /FitSpace 11-296
enable 11-112 /FLZDigit 11-296
one-up, switching 18-9 /FNSign 11-296
ONEUP 11-113 /Format 11-297
ORIBL 11-113 /FormatPC 11-297
orientation /FPSign 11-297
inverse landscape 11-88 /FPunctuation 11-297
inverse portrait 11-96 /HalfPie 11-297
landscape 11-98 /Interpolate 11-297
portrait 11-122 /KeepRatio 11-297
origin, all coordinates 11-113 /LabelColw 11-297
ORITL 11-113 /LabelDashColor 11-297
outline border, width 11-159 /LabelDashWidth 11-297
output bin destination 11-176 /LabelOffset 11-297
overprint processing, enabling 11-114 /LCDSmode 11-297
OVERPRINT_on 11-114 /MaxVal 11-297
overprinting 18-3 /MediaSubst 11-298
/MergeValue 11-298
/MinVal 11-298
P /MixPlexCount 11-298
PackBits 11-84 /MonthsLong 11-298
page /MonthsShort 11-298
breaks, line mode 18-8 /MUPduplex 11-298
eject, line mode 11-248 /NSign 11-298
numbering 11-178 /OMRDir 11-298
size 11-180 /OMRHdisp 11-298
PAGEBRK 11-115 /OMRHskip 11-298
PAGERANGE 11-116 /OMRMap 11-299
palrgb.ps 8-11 /OMRSlugChar 11-299
paper requirements 11-171 /OMRSlugFont 11-299
parameter categories 11-293 /OMRSlugSize 11-299
parameters /OMRVdisp 11-299
/3D 11-294 /OMRVskip 11-299
/3DAngle 11-294 /OMRWriteResp 11-299
/3DThickness 11-294 /OriLine 11-299
/AmPm 11-294 /PageRange 11-300
/BarSpace 11-294 /PagesPerBooklet 11-300
/BGColor 11-294 /PrintLabel 11-300
/BookletMismatch 11-294 /PrintScale 11-300
/Caching 11-295 /PrintValue 11-300
/CharDir 11-295 /ResolvePath 11-300
/ChartOrder 11-295 /RowHeight 11-300

VIPP Reference Manual (9/2003) I-10


Index

/SliceBurst 11-301 samgepb.ps 8-11


/SliceSepColor 11-301 samgepg.ps 8-11
/SliceSepWidth 11-301 samgepr.ps 8-11
/SpotLabels 11-301 samlkf.nm 8-11
/SpotOffset 11-301 sampat.nm 8-11
/SpotSize 11-301 vipplrfus.ps 8-11
/Stack 11-301 vipplrfxe.ps 8-11
/TimeZone 11-301 PP. See print positions
/TimeZoneName 11-301 PPCOUNT 11-281
parameters, definition of 11-292 PRECACHE 11-122
PATkey 11-204 predefined colorkeys 11-16, 11-204, 11-213
file 10-7 presentation option
pattern keys 10-7 listing 2-3
PC-8 encoding table file 10-5 RPE 2-3, 11-8
PCC print position, computing 11-74
pre-defined tables 10-9 print positions
processing commands used 11-4
commands 18-6 coordinates 11-269
enabling 11-186 main and secondary 11-4
table definition printable text or reference 11-6
beginning 11-29 printing
ending 11-63 accented characters 18-18
PDF417 9-2, 11-117 bold
PDFDEST 11-119 centering 18-6
PDFDEVICE 11-280 using overprint 18-3
PDFINFO 11-120 Chinese 18-18
PDFOPEN 11-121 double-byte 18-18
PELS 11-160, 11-207 duplex, DocuPrint NPS 13-3
pie chart, drawing 11-55 forms, backs 18-4 to 18-5
PIF. See VIPP PDF Interactive Features highlight color 18-10
PNCL color index key 11-178 side-by-side, two copies 18-5
PNFT font index key 11-178 special languages 18-18
POINT 11-160, 11-207 PROCESSDJDE 11-123
polygon, drawing 11-56 Production mode 16-1
PORT 11-122 production mode 3-2
portrait orientation 11-122
POSTNET 11-261
PostScript Q
creating self-contained files 18-16 QSTRIP 11-262
errors 12-6, 17-3 QSTRIP_on 11-124
file start indicator 11-247
generated charts, including 18-17
interpreter 17-2 R
interpreters 17-2 RCD. See record criteria definition
miscellaneous files 8-11 RDO file 14-3
PostScript files re-encoded font list file 10-1
palrgb.ps 8-11 record criteria definition 11-195
sambat.ps 8-11 record grouping option 18-10
sambatb.ps 8-11 Record Processing Entry 11-8
sambatg.ps 8-11 record structures 2-9
sambatr.ps 8-11 field delimited data 2-11
samddg.ps 8-11 line printer data 2-11
samfont.ps 8-11 prefix 2-11
samgep.ps 8-11 record length 2-9

VIPP Reference Manual (9/2003) I-11


Index

vertical control 2-10


red ink, printing 11-197
S
reference, printable 11-6 sambat.ps 8-11
REPEAT 11-126 sambatb.ps 8-11
repeat loop 11-66 sambatg.ps 8-11
reserved keywords 11-19 sambatr.ps 8-11
RESET 11-128 samddg.ps 8-11
resource types samddgs.lm 8-10
DBM 9-10 samfont.ps 8-11
distribution list 9-11 samfrm 8-7
fonts 9-3 samgep.ps 8-11, 10-6
forms 9-9 samgepb.ps 8-11, 10-6
image 9-9 samgepg.ps 8-11, 10-6
JDT 9-10 samgepr.ps 8-11, 10-6
segment 9-9 samlkf.nm 8-11
setup files 9-2 sampat.nm 8-11
text files 9-11 samtif 8-7
VIPP core files 9-2 samxml.vpc 8-11
VIPP Project 9-2 samxml2.vpc 8-11
XJT 9-10 SAVEPP 11-140
resources SCALL 11-141
creating 17-1 scanner control software 17-2
libraries 17-2 scripts 8-7
maintaining 17-1 segments 9-9, 11-67
managing 18-17 set labeling 2-15, 11-151
storing, Xerox 4220/4230 13-8 SETBAT 11-144
reverse mode 11-96 SETBFORM 11-146
RGB 8-11, 11-148, 11-205 SETBUFSIZE 11-147
RPCOUNT 11-282 SETCOLWIDTH 11-148
RPE SETCYCLECOPY 11-149
group 11-199 SETDBSEP 11-150
library definition SETDLFILE 11-151
beginning 11-30 SETENCODING 11-152
ending 11-64 SETEPATH 11-153
prefix 11-199 SETFONT 11-154
print position 11-74 SETFORM 11-155
RPE command information 11-8 SETFPATH 11-157
RPE. See Record Processing Entry SETFRAME 11-157
rpe2.lm 8-10 SETFTSW 11-158
rpe2b.lm 8-10 SETGEP 11-159
rpe5.lm 8-10 SETGRID 11-160
rpe5b.lm 8-10 SETGUNIT 11-160
RPEDEF 11-129 SETINDENT 11-161
RPEKEY 11-131 SETIPATH 11-161
RPEKEY command extension 11-8 SETJDT 11-162
RPEPOS 11-282 SETJPATH 11-163
RPLEFT 11-284 SETKERN 11-164
RSAVE 11-133 SETLFI 11-165
RUN 11-134 SETLKF 11-166
RUNDD 11-136 SETLMFILE 11-168
RUNTIF 11-140 SETLSP 11-169
SETMARGIN 11-169
SETMAXBFORM 11-169
SETMAXCOPY 11-170

VIPP Reference Manual (9/2003) I-12


Index

SETMAXFORM 11-170 SHX 11-224


SETMEDIA 11-171, 13-3 side-by-side printing 18-5
SETMEDIAT 11-172 Skip to channel one, assigning 18-2
SETMPATH 11-172 SKIPPAGE 11-225
SETMULTIUP 11-173 SLIPSHEET 11-226
SETNMP 11-175 SOF_off 11-227
SETOBIN 11-176 solid coated colors 10-9
SETOBINT 11-177 solid uncoated colors 10-9
SETPAGEDEF 11-177 SPOOLNAME 11-227
SETPAGENUMBER 11-178 Stack Overflow error 11-30, 12-6
SETPAGESIZE 11-180 Standard Colorkeys 9-2
SETPARAMS 11-181 Standard multi-up definitions 9-2
SETPAT 11-183 Standard PCC definitions 9-2
SETPBRK 11-185 StandardEncoding 11-152
SETPCC 11-186 STAPLE_off 11-228
SETPCD 11-187 STAPLE_on 11-228
SETPIF 11-189 STAPLEDETAILS 11-229
SETPPAT 11-192 STARTBOOKLET 11-229
SETPPATH 11-193 STARTDBM 11-230
SETPROJECT 11-194 STARTLM 11-232
SETRCD 11-195 STARTOFSET 11-233
SETRES 11-198 STARTXML 11-233
SETRPE 11-198 stitching
SETRPEPREFIX 11-199 enabling 11-228
SETSKIP 11-201 STOREVAR 11-234
SETTAB 11-202 stretch-in-box 11-142
SETTXB 11-203 stretch-in-width 11-218
SETTXC 11-204 SUB 11-235
SETTXS 11-206 SUBSTFONT 11-262
SETUNIT 11-207 SVPOS 11-285
setup files 9-2 Sysout mode 18-9
SETUTAB 11-208
SETVAR 11-209
SETVFU 11-212 T
SETZEBRA 11-213 T_AMPM 11-285
SH 11-217 T_HH 11-286
SHC 11-214 T_HH2 11-286
SHc 11-214 T_MM 11-286
SHGLYPH 11-215 T_SS 11-286
SHIFT 11-216 T_TZN 11-287
SHJ 11-216 tab processing 11-208
SHj 11-216 tab spacing 11-202
SHL 11-217 text
SHMF 11-218 color 11-204
SHMf 11-218 editors 17-1
SHmf 11-218 printable 11-6
showchar 8-7 text files 9-11
SHP 11-220 TIFF
SHp 11-220 decomposition file placement 15-7
SHPOS 11-285 editors 17-2
SHR 11-222 files 18-11 to 18-15
SHr 11-222 images, locating 18-13
SHT 11-223 TIFF image 13-6
SHt 11-223 TIFORI_off 11-236

VIPP Reference Manual (9/2003) I-13


Index

TIFORI_on 11-236 CURLINE 11-271


TLGRID 11-287 D_DD 11-272
transform functions D_DOY 11-272
2OF5 11-250 D_DWL 11-272
BSTRIP 11-251 D_DWS 11-272
CASELOW 11-251 D_MO 11-273
CASETI 11-252 D_MOL 11-273
CASEUP 11-252 D_MOS 11-273
CODE128 11-254 D_YY 11-274
CODE39 11-253 D_YYYY 11-274
CS 11-256 DJDECMD 11-274
EAN128 11-254 DJDEPAR 11-275
EAN13/EAN8 11-257 FRCOUNT 11-275
F2S 11-258 FRLEFT 11-276
FORMAT 11-258 HCOLOR 11-276
GETINTV 11-259 HDISP 11-276
HMS 11-260 LNCOUNT 11-277
NOHYPHEN 11-261 LPCOUNT 11-278
POSTNET 11-261 LPINDEX 11-278
QSTRIP 11-262 LSP 11-279
SUBSFONT 11-262 PDFDEVICE 11-280
UPCA 11-263 PPCOUNT 11-281
VSUB 11-264 RPCOUNT 11-282
VSUB2 11-266 RPEPOS 11-282
VSUB3 11-267 RPLEFT 11-284
translation tables 18-19 SHPOS 11-285
trayload 11-171 SVPOS 11-285
tumble duplex, enabling 11-237 T_AMPM 11-285
TUMBLEDUPLEX_off 11-237 T_HH 11-286
TUMBLEDUPLEX_on 11-237 T_HH2 11-286
TWOUP 11-237 T_MM 11-286
T_SS 11-286
T_TZN 11-287
U TLGRID 11-287
UNIX VDISP 11-288
core files and resource library paths 9-2 VPOS 11-288
link file 8-2 XGFVER 11-288
scripts 8-7 XMLATL 11-289
UPCA 11-263 XMLATN 11-289
XMLATV 11-289
XMLDTH 11-290
V XMLPAR 11-290
VAR 12-5 XMLPATH 11-290
variable line spacing 11-75 XMLTAG 11-290
variable reference substitution 11-264 XMLVAL 11-291
variables YINT 11-291
AUTOGRID 11-268 VDI file 14-2
BACK 11-269 VDISP 11-288
BLGRID 11-269 VFU
CLIP 11-270 processing 18-6
COLW 11-270 table 11-212
CPCOUNT 11-271

VIPP Reference Manual (9/2003) I-14


Index

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

VIPP Reference Manual (9/2003) I-15


Index

VIPP Reference Manual (9/2003) 16

Anda mungkin juga menyukai