Hello all,

Attached is an ifhp.conf entry for an HP DesignJet 800ps -- this is a 42" 
wide large-format inkjet printer.  Arrg, somebody write a PPD parser!
The entry supports almost all the options in the PPD, with the exception 
of the 'PageRegion' options, which appear to be identical to the PageSize 
options of the same name.

And a question:

We've had to turn off 'status' support to make this work.  With status on, 
the job is submitted successfully, but IFHP appears to be unable to 
determine the success of the job and promptly resubmits it, leading to a 
neverending series of printouts.

Is anyone else using LPRNG with an 800ps?  Have you encountered and/or 
resolved this problem?

Thanks,

-- Lars

-- 
Lars Kellogg-Stedman <[EMAIL PROTECTED]>


# HP DesignJet 800ps
# $Id: hpdj800ps.ifhp,v 1.4 2003/02/10 20:31:08 lars Exp $

[ hpdj800ps ]

pcl@
ps
pjl
ps_eoj@

# No pagecount, because it's just one big roll.
pagecount@

# There appear to be problems communicating with the printer -- with
# status turned on, a print job will be constantly resubmitted because
# IFHP cannot determine whether or not the job has completed
# successfully.
status@

file_output_match = [
        *postscript*            ps
        *pdf*                   ps      \%s{pdf2ps_converter}
        *text*                  ps      \%s{a2ps_converter}
        *gzip_compressed*       filter  \%s{gzip_decompress}
        *                       msg     ps_no_converter
]

ps_color_as_gray= << /ProcessColorModel /DeviceGray >> setpagedevice

# Auto-scaling Control

ps_autoscale_letter = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [619 792] exch exec
        <<>> setpagedevice

ps_autoscale_tabloid = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [792 1224] exch exec
        <<>> setpagedevice

ps_autoscale_ansic = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [1224 1584] exch exec
        <<>> setpagedevice

ps_autoscale_ansid =  /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [1584 2448] exch exec
        <<>> setpagedevice

ps_autoscale_ansie = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [2448 3168] exch exec
        <<>> setpagedevice

ps_autoscale_archA = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [648 864] exch exec
        <<>> setpagedevice

ps_autoscale_archB = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [864 1296] exch exec
        <<>> setpagedevice

ps_autoscale_archC = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [1296 1728] exch exec
        <<>> setpagedevice

ps_autoscale_archD = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [1728 2592] exch exec
         <<>> setpagedevice

ps_autoscale_archE = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [2592 3456] exch exec
        <<>> setpagedevice

ps_autoscale_a4 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [595 842] exch exec
        <<>> setpagedevice

ps_autoscale_a3 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [842 1191] exch exec
        <<>> setpagedevice

ps_autoscale_a2 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [1191 1684] exch exec
        <<>> setpagedevice

ps_autoscale_a1 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [1684 2384] exch exec
        <<>> setpagedevice

ps_autoscale_a0 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [2384 3370] exch exec
        <<>> setpagedevice

ps_autoscale_b4 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [729 1032] exch exec
        <<>> setpagedevice

ps_autoscale_b3 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [1032 1460] exch exec
        <<>> setpagedevice

ps_autoscale_b2 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [1460 2064] exch exec
        <<>> setpagedevice

ps_autoscale_b1 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [2064 2920] exch exec
        <<>> setpagedevice

ps_24x48 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [1728 3456] exch exec
        <<>> setpagedevice

ps_24x60 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [1728 4320] exch exec
        <<>> setpagedevice

ps_36x60 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [2592 4320] exch exec
        <<>> setpagedevice

ps_36x72 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [2592 5184] exch exec
        <<>> setpagedevice

ps_42x60 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [3024 4320] exch exec
        <<>> setpagedevice

ps_42x72 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [3024 5184] exch exec
        <<>> setpagedevice

ps_42x84 = /HPDict /ProcSet findresource
        /SetAutoScale get true exch exec /HPDict /ProcSet findresource
        /SetDestinationPageSize get [3024 6048] exch exec
        <<>> setpagedevice

# Print Quality

ps_fast = << /PostRenderingEnhance true
        /PostRenderingEnhanceDetails
        << /PrintQuality 1
        /Type 36 >>
        >> systemdict /setpagedevice get exec

ps_normal = << /PostRenderingEnhance true
        /PostRenderingEnhanceDetails
        << /PrintQuality 2
        /Type 36 >>
        >> systemdict /setpagedevice get exec

ps_best = << /PostRenderingEnhance true
        /PostRenderingEnhanceDetails
        << /PrintQuality 3
        /Type 36 >>
        >> systemdict /setpagedevice get exec

ps_color_management = /CMYKColorManagement where {
        pop
        /Native CMYKColorManagement
        /sRGB RGBColorManagement
        } if

ps_maxdetail = <<
                /PostRenderingEnhance true
                /PostRenderingEnhanceDetails
                <<
                        /MaxQualityResolution true
                        /Type 36
                >>
        >> systemdict /setpagedevice get exec

ps_caddrawings = <<
                /PostRenderingEnhance true
                /PostRenderingEnhanceDetails
                <<
                        /REValue 1
                        /Type 36
                >>
        >> systemdict /setpagedevice get exec

ps_mirrorprint = <</MirrorPrint true>>setpagedevice

ps_transverse = userdict /HPCustTrans known {
                (<<) cvx exec
                /Orientation
                userdict /HPCustTrans get 
                1 eq 
                { 0 }
                { 1 } ifelse 
                (>>) cvx exec setpagedevice
                }
                {
                <</Orientation 1>> setpagedevice
        } ifelse

# HP CMYK Emulation

ps_cmykswop = /CMYKColorManagement where {
                pop
                /SWOP CMYKColorManagement
        } if

ps_cmykjapan = /CMYKColorManagement where {
                pop
                /JapanOffset CMYKColorManagement
        } if

ps_cmykeuro = /CMYKColorManagement where {
                pop
                /EuroOffset CMYKColorManagement
        } if

ps_cmykdic = /CMYKColorManagement where {
                pop
                /DIC CMYKColorManagement
        } if

# HP RGB Emulation

ps_srgb = /RGBColorManagement where {
                pop
                /sRGB RGBColorManagement
        } if

ps_adobergb = /RGBColorManagement where {
                pop
                /AdobeRGB RGBColorManagement
        } if

ps_applergb = /RGBColorManagement where {
                pop
                /AppleRGB RGBColorManagement
        } if

ps_colormatchrgb = /RGBColorManagement where {
                pop
                /ColorMatchRGB RGBColorManagement
        } if

# Rendering Intent

ps_perceptual = userdict /UserRenderIntent (Perceptual) put
        <<>> setpagedevice

ps_colorimetric = userdict /UserRenderIntent (RelativeColorimetric) put
        <<>> setpagedevice

ps_saturation = userdict /UserRenderIntent (Saturation) put
        <<>> setpagedevice

# Paper Handling

ps_letter = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[612 792]/ImagingBBox null>>setpagedevice

ps_tabloid = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[792 1224]/ImagingBBox null>>setpagedevice

ps_ansic = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[1224 1584]/ImagingBBox null>>setpagedevice

ps_ansid = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[1584 2448]/ImagingBBox null>>setpagedevice

ps_ansie = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[2448 3168]/ImagingBBox null>>setpagedevice

ps_archA = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[648 864]/ImagingBBox null>>setpagedevice

ps_archB = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[864 1296]/ImagingBBox null>>setpagedevice

ps_archC = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[1296 1728]/ImagingBBox null>>setpagedevice

ps_archD = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[1728 2592]/ImagingBBox null>>setpagedevice

ps_archE = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[2592 3456]/ImagingBBox null>>setpagedevice

ps_a4 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[595 842]/ImagingBBox null>>setpagedevice

ps_a3 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[842 1191]/ImagingBBox null>>setpagedevice

ps_a2 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[1191 1684]/ImagingBBox null>>setpagedevice

ps_a1 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[1684 2384]/ImagingBBox null>>setpagedevice

ps_a0 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[2384 3370]/ImagingBBox null>>setpagedevice

ps_b4 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[729 1032]/ImagingBBox null>>setpagedevice

ps_b3 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[1032 1460]/ImagingBBox null>>setpagedevice

ps_b2 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[1460 2064]/ImagingBBox null>>setpagedevice

ps_b1 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[2064 2920]/ImagingBBox null>>setpagedevice

ps_24x48 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[1728 3456]/ImagingBBox null>>setpagedevice

ps_24x60 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[1728 4320]/ImagingBBox null>>setpagedevice

ps_36x60 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[2592 4320]/ImagingBBox null>>setpagedevice

ps_36x72 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[2592 5184]/ImagingBBox null>>setpagedevice

ps_42x60 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[3024 4320]/ImagingBBox null>>setpagedevice

ps_42x72 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[3024 5184]/ImagingBBox null>>setpagedevice

ps_42x84 = /HPDict /ProcSet findresource /SetMargins get
        [ 48 48 14 14 ] exch exec 
        <</PageSize[3024 6048]/ImagingBBox null>>setpagedevice

ps_user_opts += [
        ps_autoscale_letter ps_autoscale_tabloid
        ps_autoscale_ansic ps_autoscale_ansid ps_autoscale_ansie
        ps_autoscale_archA ps_autoscale_archB
        ps_autoscale_archC ps_autoscale_archD ps_autoscale_archE
        ps_autoscale_a4 ps_autoscale_a3 ps_autoscale_a2
        ps_autoscale_a1 ps_autoscale_a0
        ps_autoscale_b4 ps_autoscale_b3 ps_autoscale_b2 ps_autoscale_b1

        ps_fast ps_normal ps_best
        ps_color_as_gray
        ps_color_management ps_maxdetail ps_caddrawings ps_mirrorprint
        ps_transverse
        ps_cmykswop ps_cmykjapan ps_cmykeuro ps_cmykdic
        ps_srgb ps_adobergb ps_applergb ps_colormatchrgb
        ps_perceptual ps_colorimetric ps_saturation

        ps_letter ps_tabloid
        ps_ansic ps_ansid ps_ansie ps_archA ps_archB ps_archC ps_archD ps_archE
        ps_a4 ps_a3 ps_a2 ps_a1 ps_a0 ps_b4 ps_b3 ps_b2 ps_b1
        ps_24x48 ps_24x60 ps_36x60 ps_36x72 ps_42x60 ps_42x72 ps_42x84
        ]

Reply via email to