I'm attempting to adjust the pitch to 12 characters per inch so the invoice number (green box) will fit within the designated column:

However, the output is not affected, and the HP printer just passes the code through as if it is text to be printed (yellow box).
I'm using the following code with the intention of every subsequent print statement resulting in text that is 12 chars/in.
X.ESC = CHAR(27)
X.PCL.COMMAND = X.ESC:"(s12H"
PRINT X.PCL.COMMAND
Does anything need to be enabled on the printer (hp4350) for PCL commands to take effect?
The printer in question will generate a PCL font list so I think that confirms the required software is present.
Also, does every print statement have to include the escape sequence or can it just be invoked once and remain in effect until the page/job is finished?
It's been 10+ years since I messed with this (at another site), but I don't recall having any trouble with it.
------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------
I'm attempting to adjust the pitch to 12 characters per inch so the invoice number (green box) will fit within the designated column:

However, the output is not affected, and the HP printer just passes the code through as if it is text to be printed (yellow box).
I'm using the following code with the intention of every subsequent print statement resulting in text that is 12 chars/in.
X.ESC = CHAR(27)
X.PCL.COMMAND = X.ESC:"(s12H"
PRINT X.PCL.COMMAND
Does anything need to be enabled on the printer (hp4350) for PCL commands to take effect?
The printer in question will generate a PCL font list so I think that confirms the required software is present.
Also, does every print statement have to include the escape sequence or can it just be invoked once and remain in effect until the page/job is finished?
It's been 10+ years since I messed with this (at another site), but I don't recall having any trouble with it.
------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------
Hi Shawn,
You need to send the decimal ESC not ASCII i.e. (27)(s12H
Cheers
------------------------------
Justin Gledhill
Business Analyst
Ecolab Incorporated
NSW AU
------------------------------
I'm attempting to adjust the pitch to 12 characters per inch so the invoice number (green box) will fit within the designated column:

However, the output is not affected, and the HP printer just passes the code through as if it is text to be printed (yellow box).
I'm using the following code with the intention of every subsequent print statement resulting in text that is 12 chars/in.
X.ESC = CHAR(27)
X.PCL.COMMAND = X.ESC:"(s12H"
PRINT X.PCL.COMMAND
Does anything need to be enabled on the printer (hp4350) for PCL commands to take effect?
The printer in question will generate a PCL font list so I think that confirms the required software is present.
Also, does every print statement have to include the escape sequence or can it just be invoked once and remain in effect until the page/job is finished?
It's been 10+ years since I messed with this (at another site), but I don't recall having any trouble with it.
------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------
I checked our invoice print routine and the 1st line shows as "\\D027(s1p10v0s3b4099T" (\\D027=Esc), which sets the
font to courier bold.
Also, the the driver for the print queue is set to "cat /uvsp/5SINORM - | lp -d hpit0". It looks like this is what
sets up the PCL. (\\D027=Esc)
5SINORM
Basic Editor &UVSPOOL& 11-30-23
Acct: UCPPGM 5SINORM 07:39:38
0001:\\D027(8U\\D027(s0p21h0s3b4102T\\D027&l8D\\D027&l4E\\D027&a10L
EOI
I have the following code in an INCLUDE so I don't have to remember all of the syntax.
*****
ESC = CHAR(27)
HP.RESET = ESC:'*E'
HP.GL2 = ESC:'%0B' ;** HP-GL/2 mode
HP.PCL = ESC:'%0A' ;** PCL mode (default)
HP.UNDLINE.FLOAT = ESC:'&d0D'
HP.UNDLINE.FIXED = ESC:'&d3D'
HP.NOLINE = ESC:'&d@'
HP.FIXED = ESC:'(s0p'
HP.PROP = ESC:'(s1p'
HP.PORTRAIT = ESC:'&l0O'
HP.LANDSCAPE = ESC:'&l1O'
HP.SIMPLEX = ESC:'&l0S'
HP.DUPLEX = ESC:'&l1S'
HP.ENDPLEX = ESC:'%-12345X'
HP.TBMARGIN = ESC:'&l'
HP.TMARGIN = 'E' ;** HP.TB.MARGIN:5:HP.TMARGIN
** FORM LENGTH
HP.BMARGIN = 'L' ;** HP.TB.MARGIN:76:HP.BMARGIN
HP.FORMLEN = 'F' ;** HP.TB.MARGIN:88:HP.FORMLEN
HP.LRMARGIN = ESC:'&a'
HP.LMARGIN = 'L' ;** HP.LR.MARGIN:5:HP.LMARGIN
HP.RMARGIN = 'M' ;** HP.LR.MARGIN:5:HP.RMARGIN
HP.CLR.HMARGIN = ESC:9 ;** CLEAR HORIZONTAL MARGINS
HP.TRAY1 = ESC:'&l8H'
HP.TRAY2 = ESC:'&l1H'
HP.TRAY3 = ESC:'&l4H'
HP.TRAY4 = ESC:'&l5H' ;** 2000 SHEET
HP.CPI = ''
HP.4LPI = ESC:'&l4D'
HP.6LPI = ESC:'&l6D'
HP.8LPI = ESC:'&l8D'
HP.10LPI = ESC:'&l10D'
HP.12LPI = ESC:'&l12D'
HP.14LPI = ESC:'&l14D'
HP.16LPI = ESC:'&l16D'
HP.300DPI = ESC:'*t300R'
HP.600DPI = ESC:'*t600R'
HP.HV.POS = ESC:'&a' ;** ROWS/COLUMNS
HP.VPOS = 'R' ;** HP.HV.POS:5:HP.VPOS
HP.HPOS = 'C' ;** HP.HV.POS:10:HP.HPOS
HP.HV.DPOS = ESC:'&p' ;** DOTS
HP.VDPOS = 'Y' ;** HP.HV.DPOS:5:HP.VDPOS
HP.HDPOS = 'X' ;** HP.HV.DPOS:10:HP.HDPOS
HP.HV.DPTPOS = ESC:'&a';** DECIPOINTS
HP.VDPTPOS = 'Y' ;** HP.HV.DPTPOS:5:HP.VDPTPOS
HP.HDPTPOS = 'X' ;** HP.HV.DPTPOS:10:HP.HDPTPOS
** HP SIMPLE COLOR PALLETE RGB
HP.CLR.RGB = ESC:'*r3U'
HP.CLR.RGB.BLACK = HP.CLR.RGB:ESC:'*v0S'
HP.CLR.RGB.RED = HP.CLR.RGB:ESC:'*v1S'
HP.CLR.RGB.GREEN = HP.CLR.RGB:ESC:'*v2S'
HP.CLR.RGB.YELLOW = HP.CLR.RGB:ESC:'*v3S'
HP.CLR.RGB.BLUE = HP.CLR.RGB:ESC:'*v4S'
HP.CLR.RGB.MAGENTA = HP.CLR.RGB:ESC:'*v5S'
HP.CLR.RGB.CYAN = HP.CLR.RGB:ESC:'*v6S'
HP.CLR.RGB.WHITE = HP.CLR.RGB:ESC:'*v7S'
** SPECIAL EFFECTS ON FONTS
HP.OUTLINE = ESC:'(s32S'
HP.INLINE = ESC:'(s64S'
HP.SHADOW = ESC:'(s128S'
HP.SHADOW.OUT = ESC:'(s160S'
** DEFAULT FONTS
HP.FONT.INITF = HP.FIXED
HP.FONT.INITP = HP.PROP
HP.FONT.INIT = ESC:'(s1P'
** PROPORTIONAL
HP.ALBERTUS = 'v0s0b4362T' ;** HP.FONT.INIT:size:HP.ALBERTUS
HP.ALBERTUS.B = 'v0s3b4362T'
HP.ALBERTUS.I = 'v1s0b4362T'
HP.ALBERTUS.B.I = 'v1s3b4362T'
HP.ANTOLIVE = 'v0s0b4168T'
HP.ANTOLIVE.B = 'v0s3b4168T'
HP.ANTOLIVE.I = 'v1s0b4168T'
HP.ANTOLIVE.B.I = 'v1s3b4168T'
HP.ARIAL = 'v0s0b16602T'
HP.ARIAL.B = 'v0s3b16602T'
HP.ARIAL.I = 'v1s0b16602T'
HP.ARIAL.B.I = 'v1s3b16602T'
HP.CGTIMES = 'v0s0b4101T'
HP.CGTIMES.B = 'v0s3b4101T'
HP.CGTIMES.I = 'v1s0b4101T'
HP.CGTIMES.B.I = 'v1s3b4101T'
HP.CGOMEGA = 'v0s0b4113T'
HP.CGOMEGA.B = 'v0s3b4113T'
HP.CGOMEGA.I = 'v1s0b4113T'
HP.CGOMEGA.B.I = 'v1s3b4113T'
HP.CORONET = 'v0s0b4116T'
HP.CORONET.B = 'v0s3b4116T'
HP.CORONET.I = 'v1s0b4116T'
HP.CORONET.B.I = 'v1s3b4116T'
HP.CLARENDON = 'v0s0b4140T'
HP.CLARENDON.B = 'v0s3b4140T'
HP.CLARENDON.I = 'v1s0b4140T'
HP.CLARENDON.B.I = 'v1s3b4140T'
HP.COURIER = 'v0s0b4099T'
HP.COURIER.B = 'v0s3b4099T'
HP.COURIER.I = 'v1s0b4099T'
HP.COURIER.B.I = 'v1s3b4099T'
HP.GARAMOND = 'v0s0b4197T'
HP.GARAMOND.B = 'v0s3b4197T'
HP.GARAMOND.I = 'v1s0b4197T'
HP.GARAMOND.B.I = 'v1s3b4197T'
HP.GOTHIC = 'v0s0b4102T'
HP.GOTHIC.B = 'v0s3b4102T'
HP.GOTHIC.I = 'v1s0b4102T'
HP.GOTHIC.B.I = 'v1s3b4102T'
HP.LPTR = 'v0s0b0T'
HP.LPTR.B = 'v0s3b0T'
HP.LPTR.I = 'v1s0b0T'
HP.LPTR.B.I = 'v1s3b0T'
HP.MARIGOLD = 'v0s0b16901T'
HP.MARIGOLD.B = 'v0s3b4297T'
HP.MARIGOLD.I = 'v1s0b4297T'
HP.MARIGOLD.B.I = 'v1s3b4297T'
HP.TIMESROMAN = 'v0s0b16901T'
HP.TIMESROMAN.B = 'v0s3b16901T'
HP.TIMESROMAN.I = 'v1s0b16901T'
HP.TIMESROMAN.B.I = 'v1s3b16901T'
HP.UNIVERS = 'v0s0b4148T'
HP.UNIVERS.B = 'v0s3b4148T'
HP.UNIVERS.I = 'v1s0b4148T'
HP.UNIVERS.B.I = 'v1s3b4148T'
** FIXED
HP.ALBERTUSF = 'h0s0b4362T' ;** HP.FONT.INIT:size:HP.ALBERTUS
HP.ALBERTUSF.B = 'h0s3b4362T'
HP.ALBERTUSF.I = 'h1s0b4362T'
HP.ALBERTUSF.B.I = 'h1s3b4362T'
HP.ANTOLIVEF = 'h0s0b4168T'
HP.ANTOLIVEF.B = 'h0s3b4168T'
HP.ANTOLIVEF.I = 'h1s0b4168T'
HP.ANTOLIVEF.B.I = 'h1s3b4168T'
HP.ARIALF = 'h0s0b16602T'
HP.ARIALF.B = 'h0s3b16602T'
HP.ARIALF.I = 'h1s0b16602T'
HP.ARIALF.B.I = 'h1s3b16602T'
HP.CGTIMESF = 'h0s0b4101T'
HP.CGTIMESF.B = 'h0s3b4101T'
HP.CGTIMESF.I = 'h1s0b4101T'
HP.CGTIMESF.B.I = 'h1s3b4101T'
HP.CGOMEGAF = 'h0s0b4113T'
HP.CGOMEGAF.B = 'h0s3b4113T'
HP.CGOMEGAF.I = 'h1s0b4113T'
HP.CGOMEGAF.B.I = 'h1s3b4113T'
HP.CORONETF = 'h0s0b4116T'
HP.CORONETF.B = 'h0s3b4116T'
HP.CORONETF.I = 'h1s0b4116T'
HP.CORONETF.B.I = 'h1s3b4116T'
HP.CLARENDONF = 'h0s0b4140T'
HP.CLARENDONF.B = 'h0s3b4140T'
HP.CLARENDONF.I = 'h1s0b4140T'
HP.CLARENDONF.B.I = 'h1s3b4140T'
HP.COURIERF = 'h0s0b4099T'
HP.COURIERF.B = 'h0s3b4099T'
HP.COURIERF.I = 'h1s0b4099T'
HP.COURIERF.B.I = 'h1s3b4099T'
HP.GARAMONDF = 'h0s0b4197T'
HP.GARAMONDF.B = 'h0s3b4197T'
HP.GARAMONDF.I = 'h1s0b4197T'
HP.GARAMONDF.B.I = 'h1s3b4197T'
HP.GOTHICF = 'h0s0b4102T'
HP.GOTHICF.B = 'h0s3b4102T'
HP.GOTHICF.I = 'h1s0b4102T'
HP.GOTHICF.B.I = 'h1s3b4102T'
HP.LPTRF = 'h0s0b0T'
HP.LPTRF.B = 'h0s3b0T'
HP.LPTRF.I = 'h1s0b0T'
HP.LPTRF.B.I = 'h1s3b0T'
HP.MARIGOLDF = 'h0s0b16901T'
HP.MARIGOLDF.B = 'h0s3b4297T'
HP.MARIGOLDF.I = 'h1s0b4297T'
HP.MARIGOLDF.B.I = 'h1s3b4297T'
HP.TIMESROMANF = 'h0s0b16901T'
HP.TIMESROMANF.B = 'h0s3b16901T'
HP.TIMESROMANF.I = 'h1s0b16901T'
HP.TIMESROMANF.B.I = 'h1s3b16901T'
HP.UNIVERSF = 'h0s0b4148T'
HP.UNIVERSF.B = 'h0s3b4148T'
HP.UNIVERSF.I = 'h1s0b4148T'
HP.UNIVERSF.B.I = 'h1s3b4148T'
ARIAL.6 = HP.FONT.INITP:6:HP.ARIAL
ARIAL.6B = HP.FONT.INITP:6:HP.ARIAL.B
ARIAL.8 = HP.FONT.INITP:8:HP.ARIAL
ARIAL.8B = HP.FONT.INITP:8:HP.ARIAL.B
ARIAL.10 = HP.FONT.INITP:10:HP.ARIAL
ARIAL.10B = HP.FONT.INITP:10:HP.ARIAL.B
ARIAL.12 = HP.FONT.INITP:12:HP.ARIAL
ARIAL.12B = HP.FONT.INITP:12:HP.ARIAL.B
ARIAL.14 = HP.FONT.INITP:14:HP.ARIAL
ARIAL.14B = HP.FONT.INITP:14:HP.ARIAL.B
ARIAL.14BI = HP.FONT.INITP:14:HP.ARIAL.B.I
ARIAL.16 = HP.FONT.INITP:16:HP.ARIAL
ARIAL.16B = HP.FONT.INITP:16:HP.ARIAL.B
ARIAL.16BI = HP.FONT.INITP:16:HP.ARIAL.B.I
ARIAL.20B = HP.FONT.INITP:20:HP.ARIAL.B
ARIAL.22B = HP.FONT.INITP:22:HP.ARIAL.B
ARIAL.24B = HP.FONT.INITP:24:HP.ARIAL.B
ARIAL.26B = HP.FONT.INITP:26:HP.ARIAL.B
ARIALF.2 = HP.FONT.INITF:2:HP.ARIALF
ARIALF.2B = HP.FONT.INITF:2:HP.ARIALF.B
ARIALF.3 = HP.FONT.INITF:3:HP.ARIALF
ARIALF.3B = HP.FONT.INITF:3:HP.ARIALF.B
ARIALF.4 = HP.FONT.INITF:4:HP.ARIALF
ARIALF.4B = HP.FONT.INITF:4:HP.ARIALF.B
ARIALF.6 = HP.FONT.INITF:6:HP.ARIALF
ARIALF.6B = HP.FONT.INITF:6:HP.ARIALF.B
ARIALF.8 = HP.FONT.INITF:8:HP.ARIALF
ARIALF.8B = HP.FONT.INITF:8:HP.ARIALF.B
ARIALF.10 = HP.FONT.INITF:10:HP.ARIALF
ARIALF.10B = HP.FONT.INITF:10:HP.ARIALF.B
ARIALF.12 = HP.FONT.INITF:12:HP.ARIALF
ARIALF.12B = HP.FONT.INITF:12:HP.ARIALF.B
ARIALF.14 = HP.FONT.INITF:14:HP.ARIALF
ARIALF.14B = HP.FONT.INITF:14:HP.ARIALF.B
ARIALF.16 = HP.FONT.INITF:16:HP.ARIALF
ARIALF.16B = HP.FONT.INITF:16:HP.ARIALF.B
COURIER.6 = HP.FONT.INITP:6:HP.COURIER
COURIER.6B = HP.FONT.INITP:6:HP.COURIER.B
COURIER.8 = HP.FONT.INITP:8:HP.COURIER
COURIER.8B = HP.FONT.INITP:8:HP.COURIER.B
COURIER.10 = HP.FONT.INITP:10:HP.COURIER
COURIER.10B = HP.FONT.INITP:10:HP.COURIER.B
COURIER.11 = HP.FONT.INITP:11:HP.COURIER
COURIER.11B = HP.FONT.INITP:11:HP.COURIER.B
COURIER.12 = HP.FONT.INITP:12:HP.COURIER
COURIER.12B = HP.FONT.INITP:12:HP.COURIER.B
COURIER.12BI = HP.FONT.INITP:12:HP.COURIER.B.I
COURIER.14 = HP.FONT.INITP:14:HP.COURIER
COURIER.14B = HP.FONT.INITP:14:HP.COURIER.B
COURIER.14BI = HP.FONT.INITP:14:HP.COURIER.B.I
COURIER.16 = HP.FONT.INITP:16:HP.COURIER
COURIER.16B = HP.FONT.INITP:16:HP.COURIER.B
COURIER.16BI = HP.FONT.INITP:16:HP.COURIER.B.I
COURIERF.8 = HP.FONT.INITF:8:HP.COURIERF
COURIERF.8B = HP.FONT.INITF:8:HP.COURIERF.B
COURIERF.10 = HP.FONT.INITF:10:HP.COURIERF
COURIERF.10B = HP.FONT.INITF:10:HP.COURIERF.B
COURIERF.11 = HP.FONT.INITF:11:HP.COURIERF
COURIERF.11B = HP.FONT.INITF:11:HP.COURIERF.B
COURIERF.12 = HP.FONT.INITF:12:HP.COURIERF
COURIERF.12B = HP.FONT.INITF:12:HP.COURIERF.B
COURIERF.13 = HP.FONT.INITF:13:HP.COURIERF
COURIERF.13B = HP.FONT.INITF:13:HP.COURIERF.B
COURIERF.14 = HP.FONT.INITF:14:HP.COURIERF
COURIERF.14B = HP.FONT.INITF:14:HP.COURIERF.B
COURIERF.16 = HP.FONT.INITF:16:HP.COURIERF
COURIERF.16B = HP.FONT.INITF:16:HP.COURIERF.B
COURIERF.18 = HP.FONT.INITF:18:HP.COURIERF
COURIERF.18B = HP.FONT.INITF:18:HP.COURIERF.B
COURIERF.20 = HP.FONT.INITF:20:HP.COURIERF
COURIERF.20B = HP.FONT.INITF:20:HP.COURIERF.B
COURIERF.22 = HP.FONT.INITF:22:HP.COURIERF
COURIERF.22B = HP.FONT.INITF:22:HP.COURIERF.B
GARAMOND.10 = HP.FONT.INITP:10:HP.GARAMOND
GARAMOND.10B = HP.FONT.INITP:10:HP.GARAMOND.B
GARAMOND.12 = HP.FONT.INITP:12:HP.GARAMOND
GARAMOND.12B = HP.FONT.INITP:12:HP.GARAMOND.B
GARAMOND.14 = HP.FONT.INITP:14:HP.GARAMOND
GARAMOND.14B = HP.FONT.INITP:14:HP.GARAMOND.B
GARAMOND.16BI = HP.FONT.INITP:16:HP.GARAMOND.B.I
GARAMONDF.10 = HP.FONT.INITF:10:HP.GARAMONDF
GARAMONDF.10B = HP.FONT.INITF:10:HP.GARAMONDF.B
GARAMONDF.12 = HP.FONT.INITF:12:HP.GARAMONDF
GARAMONDF.12B = HP.FONT.INITF:12:HP.GARAMONDF.B
GARAMONDF.14 = HP.FONT.INITF:14:HP.GARAMONDF
GARAMONDF.14B = HP.FONT.INITF:14:HP.GARAMONDF.B
TIMESROMAN.8 = HP.FONT.INITP:8:HP.TIMESROMAN
TIMESROMAN.8B = HP.FONT.INITP:8:HP.TIMESROMAN.B
TIMESROMAN.10 = HP.FONT.INITP:10:HP.TIMESROMAN
TIMESROMAN.10B = HP.FONT.INITP:10:HP.TIMESROMAN.B
TIMESROMAN.12 = HP.FONT.INITP:12:HP.TIMESROMAN
TIMESROMAN.12B = HP.FONT.INITP:12:HP.TIMESROMAN.B
TIMESROMAN.14 = HP.FONT.INITP:14:HP.TIMESROMAN
TIMESROMAN.14B = HP.FONT.INITP:14:HP.TIMESROMAN.B
TIMESROMAN.16BI = HP.FONT.INITP:16:HP.TIMESROMAN.B.I
TIMESROMANF.10 = HP.FONT.INITF:10:HP.TIMESROMANF
TIMESROMANF.10B = HP.FONT.INITF:10:HP.TIMESROMANF.B
TIMESROMANF.12 = HP.FONT.INITF:12:HP.TIMESROMANF
TIMESROMANF.12B = HP.FONT.INITF:12:HP.TIMESROMANF.B
TIMESROMANF.14 = HP.FONT.INITF:14:HP.TIMESROMANF
TIMESROMANF.14B = HP.FONT.INITF:14:HP.TIMESROMANF.B
------------------------------
Mark Vander Veen
Project Leader, System Administrator
University of Chicago Distribution Center
Chicago IL US
------------------------------
Hi Shawn,
You need to send the decimal ESC not ASCII i.e. (27)(s12H
Cheers
------------------------------
Justin Gledhill
Business Analyst
Ecolab Incorporated
NSW AU
------------------------------
Thank you for the feedback, Justin.
All the other examples (unidata context) that I have reviewed have the escape character specified by using CHAR(27).
And that is what I used with success in the past.
------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------
I checked our invoice print routine and the 1st line shows as "\\D027(s1p10v0s3b4099T" (\\D027=Esc), which sets the
font to courier bold.
Also, the the driver for the print queue is set to "cat /uvsp/5SINORM - | lp -d hpit0". It looks like this is what
sets up the PCL. (\\D027=Esc)
5SINORM
Basic Editor &UVSPOOL& 11-30-23
Acct: UCPPGM 5SINORM 07:39:38
0001:\\D027(8U\\D027(s0p21h0s3b4102T\\D027&l8D\\D027&l4E\\D027&a10L
EOI
I have the following code in an INCLUDE so I don't have to remember all of the syntax.
*****
ESC = CHAR(27)
HP.RESET = ESC:'*E'
HP.GL2 = ESC:'%0B' ;** HP-GL/2 mode
HP.PCL = ESC:'%0A' ;** PCL mode (default)
HP.UNDLINE.FLOAT = ESC:'&d0D'
HP.UNDLINE.FIXED = ESC:'&d3D'
HP.NOLINE = ESC:'&d@'
HP.FIXED = ESC:'(s0p'
HP.PROP = ESC:'(s1p'
HP.PORTRAIT = ESC:'&l0O'
HP.LANDSCAPE = ESC:'&l1O'
HP.SIMPLEX = ESC:'&l0S'
HP.DUPLEX = ESC:'&l1S'
HP.ENDPLEX = ESC:'%-12345X'
HP.TBMARGIN = ESC:'&l'
HP.TMARGIN = 'E' ;** HP.TB.MARGIN:5:HP.TMARGIN
** FORM LENGTH
HP.BMARGIN = 'L' ;** HP.TB.MARGIN:76:HP.BMARGIN
HP.FORMLEN = 'F' ;** HP.TB.MARGIN:88:HP.FORMLEN
HP.LRMARGIN = ESC:'&a'
HP.LMARGIN = 'L' ;** HP.LR.MARGIN:5:HP.LMARGIN
HP.RMARGIN = 'M' ;** HP.LR.MARGIN:5:HP.RMARGIN
HP.CLR.HMARGIN = ESC:9 ;** CLEAR HORIZONTAL MARGINS
HP.TRAY1 = ESC:'&l8H'
HP.TRAY2 = ESC:'&l1H'
HP.TRAY3 = ESC:'&l4H'
HP.TRAY4 = ESC:'&l5H' ;** 2000 SHEET
HP.CPI = ''
HP.4LPI = ESC:'&l4D'
HP.6LPI = ESC:'&l6D'
HP.8LPI = ESC:'&l8D'
HP.10LPI = ESC:'&l10D'
HP.12LPI = ESC:'&l12D'
HP.14LPI = ESC:'&l14D'
HP.16LPI = ESC:'&l16D'
HP.300DPI = ESC:'*t300R'
HP.600DPI = ESC:'*t600R'
HP.HV.POS = ESC:'&a' ;** ROWS/COLUMNS
HP.VPOS = 'R' ;** HP.HV.POS:5:HP.VPOS
HP.HPOS = 'C' ;** HP.HV.POS:10:HP.HPOS
HP.HV.DPOS = ESC:'&p' ;** DOTS
HP.VDPOS = 'Y' ;** HP.HV.DPOS:5:HP.VDPOS
HP.HDPOS = 'X' ;** HP.HV.DPOS:10:HP.HDPOS
HP.HV.DPTPOS = ESC:'&a';** DECIPOINTS
HP.VDPTPOS = 'Y' ;** HP.HV.DPTPOS:5:HP.VDPTPOS
HP.HDPTPOS = 'X' ;** HP.HV.DPTPOS:10:HP.HDPTPOS
** HP SIMPLE COLOR PALLETE RGB
HP.CLR.RGB = ESC:'*r3U'
HP.CLR.RGB.BLACK = HP.CLR.RGB:ESC:'*v0S'
HP.CLR.RGB.RED = HP.CLR.RGB:ESC:'*v1S'
HP.CLR.RGB.GREEN = HP.CLR.RGB:ESC:'*v2S'
HP.CLR.RGB.YELLOW = HP.CLR.RGB:ESC:'*v3S'
HP.CLR.RGB.BLUE = HP.CLR.RGB:ESC:'*v4S'
HP.CLR.RGB.MAGENTA = HP.CLR.RGB:ESC:'*v5S'
HP.CLR.RGB.CYAN = HP.CLR.RGB:ESC:'*v6S'
HP.CLR.RGB.WHITE = HP.CLR.RGB:ESC:'*v7S'
** SPECIAL EFFECTS ON FONTS
HP.OUTLINE = ESC:'(s32S'
HP.INLINE = ESC:'(s64S'
HP.SHADOW = ESC:'(s128S'
HP.SHADOW.OUT = ESC:'(s160S'
** DEFAULT FONTS
HP.FONT.INITF = HP.FIXED
HP.FONT.INITP = HP.PROP
HP.FONT.INIT = ESC:'(s1P'
** PROPORTIONAL
HP.ALBERTUS = 'v0s0b4362T' ;** HP.FONT.INIT:size:HP.ALBERTUS
HP.ALBERTUS.B = 'v0s3b4362T'
HP.ALBERTUS.I = 'v1s0b4362T'
HP.ALBERTUS.B.I = 'v1s3b4362T'
HP.ANTOLIVE = 'v0s0b4168T'
HP.ANTOLIVE.B = 'v0s3b4168T'
HP.ANTOLIVE.I = 'v1s0b4168T'
HP.ANTOLIVE.B.I = 'v1s3b4168T'
HP.ARIAL = 'v0s0b16602T'
HP.ARIAL.B = 'v0s3b16602T'
HP.ARIAL.I = 'v1s0b16602T'
HP.ARIAL.B.I = 'v1s3b16602T'
HP.CGTIMES = 'v0s0b4101T'
HP.CGTIMES.B = 'v0s3b4101T'
HP.CGTIMES.I = 'v1s0b4101T'
HP.CGTIMES.B.I = 'v1s3b4101T'
HP.CGOMEGA = 'v0s0b4113T'
HP.CGOMEGA.B = 'v0s3b4113T'
HP.CGOMEGA.I = 'v1s0b4113T'
HP.CGOMEGA.B.I = 'v1s3b4113T'
HP.CORONET = 'v0s0b4116T'
HP.CORONET.B = 'v0s3b4116T'
HP.CORONET.I = 'v1s0b4116T'
HP.CORONET.B.I = 'v1s3b4116T'
HP.CLARENDON = 'v0s0b4140T'
HP.CLARENDON.B = 'v0s3b4140T'
HP.CLARENDON.I = 'v1s0b4140T'
HP.CLARENDON.B.I = 'v1s3b4140T'
HP.COURIER = 'v0s0b4099T'
HP.COURIER.B = 'v0s3b4099T'
HP.COURIER.I = 'v1s0b4099T'
HP.COURIER.B.I = 'v1s3b4099T'
HP.GARAMOND = 'v0s0b4197T'
HP.GARAMOND.B = 'v0s3b4197T'
HP.GARAMOND.I = 'v1s0b4197T'
HP.GARAMOND.B.I = 'v1s3b4197T'
HP.GOTHIC = 'v0s0b4102T'
HP.GOTHIC.B = 'v0s3b4102T'
HP.GOTHIC.I = 'v1s0b4102T'
HP.GOTHIC.B.I = 'v1s3b4102T'
HP.LPTR = 'v0s0b0T'
HP.LPTR.B = 'v0s3b0T'
HP.LPTR.I = 'v1s0b0T'
HP.LPTR.B.I = 'v1s3b0T'
HP.MARIGOLD = 'v0s0b16901T'
HP.MARIGOLD.B = 'v0s3b4297T'
HP.MARIGOLD.I = 'v1s0b4297T'
HP.MARIGOLD.B.I = 'v1s3b4297T'
HP.TIMESROMAN = 'v0s0b16901T'
HP.TIMESROMAN.B = 'v0s3b16901T'
HP.TIMESROMAN.I = 'v1s0b16901T'
HP.TIMESROMAN.B.I = 'v1s3b16901T'
HP.UNIVERS = 'v0s0b4148T'
HP.UNIVERS.B = 'v0s3b4148T'
HP.UNIVERS.I = 'v1s0b4148T'
HP.UNIVERS.B.I = 'v1s3b4148T'
** FIXED
HP.ALBERTUSF = 'h0s0b4362T' ;** HP.FONT.INIT:size:HP.ALBERTUS
HP.ALBERTUSF.B = 'h0s3b4362T'
HP.ALBERTUSF.I = 'h1s0b4362T'
HP.ALBERTUSF.B.I = 'h1s3b4362T'
HP.ANTOLIVEF = 'h0s0b4168T'
HP.ANTOLIVEF.B = 'h0s3b4168T'
HP.ANTOLIVEF.I = 'h1s0b4168T'
HP.ANTOLIVEF.B.I = 'h1s3b4168T'
HP.ARIALF = 'h0s0b16602T'
HP.ARIALF.B = 'h0s3b16602T'
HP.ARIALF.I = 'h1s0b16602T'
HP.ARIALF.B.I = 'h1s3b16602T'
HP.CGTIMESF = 'h0s0b4101T'
HP.CGTIMESF.B = 'h0s3b4101T'
HP.CGTIMESF.I = 'h1s0b4101T'
HP.CGTIMESF.B.I = 'h1s3b4101T'
HP.CGOMEGAF = 'h0s0b4113T'
HP.CGOMEGAF.B = 'h0s3b4113T'
HP.CGOMEGAF.I = 'h1s0b4113T'
HP.CGOMEGAF.B.I = 'h1s3b4113T'
HP.CORONETF = 'h0s0b4116T'
HP.CORONETF.B = 'h0s3b4116T'
HP.CORONETF.I = 'h1s0b4116T'
HP.CORONETF.B.I = 'h1s3b4116T'
HP.CLARENDONF = 'h0s0b4140T'
HP.CLARENDONF.B = 'h0s3b4140T'
HP.CLARENDONF.I = 'h1s0b4140T'
HP.CLARENDONF.B.I = 'h1s3b4140T'
HP.COURIERF = 'h0s0b4099T'
HP.COURIERF.B = 'h0s3b4099T'
HP.COURIERF.I = 'h1s0b4099T'
HP.COURIERF.B.I = 'h1s3b4099T'
HP.GARAMONDF = 'h0s0b4197T'
HP.GARAMONDF.B = 'h0s3b4197T'
HP.GARAMONDF.I = 'h1s0b4197T'
HP.GARAMONDF.B.I = 'h1s3b4197T'
HP.GOTHICF = 'h0s0b4102T'
HP.GOTHICF.B = 'h0s3b4102T'
HP.GOTHICF.I = 'h1s0b4102T'
HP.GOTHICF.B.I = 'h1s3b4102T'
HP.LPTRF = 'h0s0b0T'
HP.LPTRF.B = 'h0s3b0T'
HP.LPTRF.I = 'h1s0b0T'
HP.LPTRF.B.I = 'h1s3b0T'
HP.MARIGOLDF = 'h0s0b16901T'
HP.MARIGOLDF.B = 'h0s3b4297T'
HP.MARIGOLDF.I = 'h1s0b4297T'
HP.MARIGOLDF.B.I = 'h1s3b4297T'
HP.TIMESROMANF = 'h0s0b16901T'
HP.TIMESROMANF.B = 'h0s3b16901T'
HP.TIMESROMANF.I = 'h1s0b16901T'
HP.TIMESROMANF.B.I = 'h1s3b16901T'
HP.UNIVERSF = 'h0s0b4148T'
HP.UNIVERSF.B = 'h0s3b4148T'
HP.UNIVERSF.I = 'h1s0b4148T'
HP.UNIVERSF.B.I = 'h1s3b4148T'
ARIAL.6 = HP.FONT.INITP:6:HP.ARIAL
ARIAL.6B = HP.FONT.INITP:6:HP.ARIAL.B
ARIAL.8 = HP.FONT.INITP:8:HP.ARIAL
ARIAL.8B = HP.FONT.INITP:8:HP.ARIAL.B
ARIAL.10 = HP.FONT.INITP:10:HP.ARIAL
ARIAL.10B = HP.FONT.INITP:10:HP.ARIAL.B
ARIAL.12 = HP.FONT.INITP:12:HP.ARIAL
ARIAL.12B = HP.FONT.INITP:12:HP.ARIAL.B
ARIAL.14 = HP.FONT.INITP:14:HP.ARIAL
ARIAL.14B = HP.FONT.INITP:14:HP.ARIAL.B
ARIAL.14BI = HP.FONT.INITP:14:HP.ARIAL.B.I
ARIAL.16 = HP.FONT.INITP:16:HP.ARIAL
ARIAL.16B = HP.FONT.INITP:16:HP.ARIAL.B
ARIAL.16BI = HP.FONT.INITP:16:HP.ARIAL.B.I
ARIAL.20B = HP.FONT.INITP:20:HP.ARIAL.B
ARIAL.22B = HP.FONT.INITP:22:HP.ARIAL.B
ARIAL.24B = HP.FONT.INITP:24:HP.ARIAL.B
ARIAL.26B = HP.FONT.INITP:26:HP.ARIAL.B
ARIALF.2 = HP.FONT.INITF:2:HP.ARIALF
ARIALF.2B = HP.FONT.INITF:2:HP.ARIALF.B
ARIALF.3 = HP.FONT.INITF:3:HP.ARIALF
ARIALF.3B = HP.FONT.INITF:3:HP.ARIALF.B
ARIALF.4 = HP.FONT.INITF:4:HP.ARIALF
ARIALF.4B = HP.FONT.INITF:4:HP.ARIALF.B
ARIALF.6 = HP.FONT.INITF:6:HP.ARIALF
ARIALF.6B = HP.FONT.INITF:6:HP.ARIALF.B
ARIALF.8 = HP.FONT.INITF:8:HP.ARIALF
ARIALF.8B = HP.FONT.INITF:8:HP.ARIALF.B
ARIALF.10 = HP.FONT.INITF:10:HP.ARIALF
ARIALF.10B = HP.FONT.INITF:10:HP.ARIALF.B
ARIALF.12 = HP.FONT.INITF:12:HP.ARIALF
ARIALF.12B = HP.FONT.INITF:12:HP.ARIALF.B
ARIALF.14 = HP.FONT.INITF:14:HP.ARIALF
ARIALF.14B = HP.FONT.INITF:14:HP.ARIALF.B
ARIALF.16 = HP.FONT.INITF:16:HP.ARIALF
ARIALF.16B = HP.FONT.INITF:16:HP.ARIALF.B
COURIER.6 = HP.FONT.INITP:6:HP.COURIER
COURIER.6B = HP.FONT.INITP:6:HP.COURIER.B
COURIER.8 = HP.FONT.INITP:8:HP.COURIER
COURIER.8B = HP.FONT.INITP:8:HP.COURIER.B
COURIER.10 = HP.FONT.INITP:10:HP.COURIER
COURIER.10B = HP.FONT.INITP:10:HP.COURIER.B
COURIER.11 = HP.FONT.INITP:11:HP.COURIER
COURIER.11B = HP.FONT.INITP:11:HP.COURIER.B
COURIER.12 = HP.FONT.INITP:12:HP.COURIER
COURIER.12B = HP.FONT.INITP:12:HP.COURIER.B
COURIER.12BI = HP.FONT.INITP:12:HP.COURIER.B.I
COURIER.14 = HP.FONT.INITP:14:HP.COURIER
COURIER.14B = HP.FONT.INITP:14:HP.COURIER.B
COURIER.14BI = HP.FONT.INITP:14:HP.COURIER.B.I
COURIER.16 = HP.FONT.INITP:16:HP.COURIER
COURIER.16B = HP.FONT.INITP:16:HP.COURIER.B
COURIER.16BI = HP.FONT.INITP:16:HP.COURIER.B.I
COURIERF.8 = HP.FONT.INITF:8:HP.COURIERF
COURIERF.8B = HP.FONT.INITF:8:HP.COURIERF.B
COURIERF.10 = HP.FONT.INITF:10:HP.COURIERF
COURIERF.10B = HP.FONT.INITF:10:HP.COURIERF.B
COURIERF.11 = HP.FONT.INITF:11:HP.COURIERF
COURIERF.11B = HP.FONT.INITF:11:HP.COURIERF.B
COURIERF.12 = HP.FONT.INITF:12:HP.COURIERF
COURIERF.12B = HP.FONT.INITF:12:HP.COURIERF.B
COURIERF.13 = HP.FONT.INITF:13:HP.COURIERF
COURIERF.13B = HP.FONT.INITF:13:HP.COURIERF.B
COURIERF.14 = HP.FONT.INITF:14:HP.COURIERF
COURIERF.14B = HP.FONT.INITF:14:HP.COURIERF.B
COURIERF.16 = HP.FONT.INITF:16:HP.COURIERF
COURIERF.16B = HP.FONT.INITF:16:HP.COURIERF.B
COURIERF.18 = HP.FONT.INITF:18:HP.COURIERF
COURIERF.18B = HP.FONT.INITF:18:HP.COURIERF.B
COURIERF.20 = HP.FONT.INITF:20:HP.COURIERF
COURIERF.20B = HP.FONT.INITF:20:HP.COURIERF.B
COURIERF.22 = HP.FONT.INITF:22:HP.COURIERF
COURIERF.22B = HP.FONT.INITF:22:HP.COURIERF.B
GARAMOND.10 = HP.FONT.INITP:10:HP.GARAMOND
GARAMOND.10B = HP.FONT.INITP:10:HP.GARAMOND.B
GARAMOND.12 = HP.FONT.INITP:12:HP.GARAMOND
GARAMOND.12B = HP.FONT.INITP:12:HP.GARAMOND.B
GARAMOND.14 = HP.FONT.INITP:14:HP.GARAMOND
GARAMOND.14B = HP.FONT.INITP:14:HP.GARAMOND.B
GARAMOND.16BI = HP.FONT.INITP:16:HP.GARAMOND.B.I
GARAMONDF.10 = HP.FONT.INITF:10:HP.GARAMONDF
GARAMONDF.10B = HP.FONT.INITF:10:HP.GARAMONDF.B
GARAMONDF.12 = HP.FONT.INITF:12:HP.GARAMONDF
GARAMONDF.12B = HP.FONT.INITF:12:HP.GARAMONDF.B
GARAMONDF.14 = HP.FONT.INITF:14:HP.GARAMONDF
GARAMONDF.14B = HP.FONT.INITF:14:HP.GARAMONDF.B
TIMESROMAN.8 = HP.FONT.INITP:8:HP.TIMESROMAN
TIMESROMAN.8B = HP.FONT.INITP:8:HP.TIMESROMAN.B
TIMESROMAN.10 = HP.FONT.INITP:10:HP.TIMESROMAN
TIMESROMAN.10B = HP.FONT.INITP:10:HP.TIMESROMAN.B
TIMESROMAN.12 = HP.FONT.INITP:12:HP.TIMESROMAN
TIMESROMAN.12B = HP.FONT.INITP:12:HP.TIMESROMAN.B
TIMESROMAN.14 = HP.FONT.INITP:14:HP.TIMESROMAN
TIMESROMAN.14B = HP.FONT.INITP:14:HP.TIMESROMAN.B
TIMESROMAN.16BI = HP.FONT.INITP:16:HP.TIMESROMAN.B.I
TIMESROMANF.10 = HP.FONT.INITF:10:HP.TIMESROMANF
TIMESROMANF.10B = HP.FONT.INITF:10:HP.TIMESROMANF.B
TIMESROMANF.12 = HP.FONT.INITF:12:HP.TIMESROMANF
TIMESROMANF.12B = HP.FONT.INITF:12:HP.TIMESROMANF.B
TIMESROMANF.14 = HP.FONT.INITF:14:HP.TIMESROMANF
TIMESROMANF.14B = HP.FONT.INITF:14:HP.TIMESROMANF.B
------------------------------
Mark Vander Veen
Project Leader, System Administrator
University of Chicago Distribution Center
Chicago IL US
------------------------------
Thank you, Mark.
I'll check our printer setup.
BTW, i'm digging that INCLUDE record.
------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------
Thank you for the feedback, Justin.
All the other examples (unidata context) that I have reviewed have the escape character specified by using CHAR(27).
And that is what I used with success in the past.
------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------
Interesting... I'm not familiar with UniData. Using UniVerse we are more in line with Mark's example... \\d027 etc.
------------------------------
Justin Gledhill
Business Analyst
Ecolab Incorporated
NSW AU
------------------------------
I'm attempting to adjust the pitch to 12 characters per inch so the invoice number (green box) will fit within the designated column:

However, the output is not affected, and the HP printer just passes the code through as if it is text to be printed (yellow box).
I'm using the following code with the intention of every subsequent print statement resulting in text that is 12 chars/in.
X.ESC = CHAR(27)
X.PCL.COMMAND = X.ESC:"(s12H"
PRINT X.PCL.COMMAND
Does anything need to be enabled on the printer (hp4350) for PCL commands to take effect?
The printer in question will generate a PCL font list so I think that confirms the required software is present.
Also, does every print statement have to include the escape sequence or can it just be invoked once and remain in effect until the page/job is finished?
It's been 10+ years since I messed with this (at another site), but I don't recall having any trouble with it.
------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------
I have run into similar issue and it came down to the defined printer driver modifying the pcl commands being sent. Try defining the printer as a generic text or raw (as opposed to a HP driver) and see if it resolves your issue. You typically can define multiple queues with different drivers going to the same physical printer to handle the various types of jobs.
------------------------------
doug miller
dir tech services
Rocket Forum Shared Account
Carrollton TX US
------------------------------
I have run into similar issue and it came down to the defined printer driver modifying the pcl commands being sent. Try defining the printer as a generic text or raw (as opposed to a HP driver) and see if it resolves your issue. You typically can define multiple queues with different drivers going to the same physical printer to handle the various types of jobs.
------------------------------
doug miller
dir tech services
Rocket Forum Shared Account
Carrollton TX US
------------------------------
Don Miller's comment is correct, all of our printers are set up as generic. I also set them up in AIX with 2000 columns to deal with the added coding for PCL.
------------------------------
Mark Vander Veen
Project Leader, System Administrator
University of Chicago Distribution Center
Chicago IL US
------------------------------
I'm attempting to adjust the pitch to 12 characters per inch so the invoice number (green box) will fit within the designated column:

However, the output is not affected, and the HP printer just passes the code through as if it is text to be printed (yellow box).
I'm using the following code with the intention of every subsequent print statement resulting in text that is 12 chars/in.
X.ESC = CHAR(27)
X.PCL.COMMAND = X.ESC:"(s12H"
PRINT X.PCL.COMMAND
Does anything need to be enabled on the printer (hp4350) for PCL commands to take effect?
The printer in question will generate a PCL font list so I think that confirms the required software is present.
Also, does every print statement have to include the escape sequence or can it just be invoked once and remain in effect until the page/job is finished?
It's been 10+ years since I messed with this (at another site), but I don't recall having any trouble with it.
------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------
Hey Shawn, when messing with PCL escape codes, it is always good practice to first send an ESC:'E' to reset the printer. Then you can squirt in your desired combo of configurations followed by the job data and lastly followed by another ESC:'E' to reset and print the last page.
The reason the printer is printing the s12 and not interpretting it as a PCL command might be because the printer cannot deal with that option in its current state. Resetting it beforehand should do the trick.
Also there's a nice little feature in the UV spooler (in unix) that allows you to cat a file to standard-in and standard-out effectively wrapping the print job in a header and footer. In these files you can place PCL commands, assign the files to a print queue and each time you print to that queue you get that particular PCL configuration sent to the printer for each job. Easy to then write a maintenance routine to set the files to do portrait/landscape, font stuff and the like.
Hope this helps
Cheers
------------------------------
Peter Cheney
Developer and Systems Superstar
Firstmac
Brisbane Qld Australia
------------------------------
Don Miller's comment is correct, all of our printers are set up as generic. I also set them up in AIX with 2000 columns to deal with the added coding for PCL.
------------------------------
Mark Vander Veen
Project Leader, System Administrator
University of Chicago Distribution Center
Chicago IL US
------------------------------
Thank you, Doug and Mark.
We've adjusted the printer in question to use the generic text driver instead of the HP postscript driver, and we're now waiting for feedback from the user again.
------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------
Hey Shawn, when messing with PCL escape codes, it is always good practice to first send an ESC:'E' to reset the printer. Then you can squirt in your desired combo of configurations followed by the job data and lastly followed by another ESC:'E' to reset and print the last page.
The reason the printer is printing the s12 and not interpretting it as a PCL command might be because the printer cannot deal with that option in its current state. Resetting it beforehand should do the trick.
Also there's a nice little feature in the UV spooler (in unix) that allows you to cat a file to standard-in and standard-out effectively wrapping the print job in a header and footer. In these files you can place PCL commands, assign the files to a print queue and each time you print to that queue you get that particular PCL configuration sent to the printer for each job. Easy to then write a maintenance routine to set the files to do portrait/landscape, font stuff and the like.
Hope this helps
Cheers
------------------------------
Peter Cheney
Developer and Systems Superstar
Firstmac
Brisbane Qld Australia
------------------------------
Thank you for the suggestions, Peter.
And I recall using this reset-character-sending technique in the past, so thank you for the reminder!
------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------
I have run into similar issue and it came down to the defined printer driver modifying the pcl commands being sent. Try defining the printer as a generic text or raw (as opposed to a HP driver) and see if it resolves your issue. You typically can define multiple queues with different drivers going to the same physical printer to handle the various types of jobs.
------------------------------
doug miller
dir tech services
Rocket Forum Shared Account
Carrollton TX US
------------------------------
I can finally confirm that this worked.
Though I couldn't get two other options to work (with 'generic' in the name), one labeled 'Local Raw Printer (grayscale)' did the trick.
Thank you!
And a big thank you to everyone else who offered very helpful feedback.
------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------