Merging XORG-CURRENT into trunk

This commit is contained in:
Egbert Eich 2004-04-23 18:54:16 +00:00
commit 0664db19bf
265 changed files with 1251 additions and 313 deletions

View file

@ -28,6 +28,13 @@
########################################################################
#Augment_Printer_List %none%
########################################################################
# Preconfigured entry for the PSspooldir model
# (which sends jobs to /tmp/Xprintjobs instead to a physical printer)
########################################################################
#Printer xp_pdf_spooldir_tmp_Xprintjobs
Printer xp_ps_spooldir_tmp_Xprintjobs
########################################################################
# Add individual printers to the list of printers managed by the
# server. These are aliases, determined by driver name.
@ -40,4 +47,3 @@
# Printer xppclpr
# Printer xppclmonopr
# Printer xprasterpr

View file

@ -21,9 +21,17 @@
*copy-count: 1
*default-medium: iso-a4
*default-printer-resolution: 300
*document-format: {Postscript 2}
*plex: duplex
# "PSspooldir" jobs should always be 300 DPI
# (to be compatible to DPS-based PostScript viewers such as sdtimage)
PSspooldir.default-printer-resolution: 300
# "PS2PDFspooldir-GS" jobs should always be 600 DPI
PS2PDFspooldir-GS.default-printer-resolution: 600
# Some resolution defaults to make applications happy which are too lazy
# to pick an own default in absence of "default-printer-resolution"
HPLJ4050-PS.default-printer-resolution: 600
# EXAMPLES
#

View file

@ -16,8 +16,24 @@
# Set this attribute for all printers.
# Example: "*.document-formats-ready: {pcl 5}"
# Remove this line and replace them with per printer settings
# if you want to use more than one DDX!!
*xp-model-identifier: PSdefault
*xp-ddx-identifier: XP-POSTSCRIPT
# Sample entry for the "PSspooldir" model
# Just add a printer called "xp_ps_spooldir_tmp_Xprintjobs" to "Xprinters"
# and you will get an extra printer which files the PostScript jobs
# in the "/tmp/Xprintjobs/" directory.
xp_ps_spooldir_tmp_Xprintjobs.xp-model-identifier: PSspooldir
# Sample entry for the "PS2PDFspooldir-GS" model
# Just add a printer called "xp_pdf_spooldir_tmp_Xprintjobs" to "Xprinters"
# and you will get an extra printer which convertes the PostScript jobs
# to PDF using "ps2pdf" and files them into the "/tmp/Xprintjobs/" directory.
# NOTE: Future versions of Xprint will use the PDF DDX instead directly
# instead of relying on GhostScript/ps2pdf...
xp_pdf_spooldir_tmp_Xprintjobs.xp-model-identifier: PS2PDFspooldir-GS
# IMPORTANT EXAMPLES

View file

@ -0,0 +1,23 @@
# $Xprint.org: CANONBJ10E-GS model-config,v 1.4 2003/02/10 14:48:04 gisburn Exp $
*content-orientations-supported: portrait landscape
*descriptor: Canon BJ-10e (GhostScript)
*document-formats-supported: {POSTSCRIPT 2}
*input-trays-supported:
*medium-source-sizes-supported: \
{ '' \
{iso-b5 FALSE {6.35 169.65 6.35 243.65}}\
{iso-a4 FALSE {6.35 203.65 6.35 290.65}}\
{na-letter FALSE {6.35 209.55 6.35 273.05}}\
{na-legal FALSE {6.35 209.55 6.35 349.25}}\
}
*plexes-supported: simplex
*printer-model: "Canon BJ-10e (GhostScript)"
*printer-resolutions-supported: 360
*xp-ddx-identifier: XP-POSTSCRIPT
*xp-listfonts-modes-supported: xp-list-internal-printer-fonts xp-list-glyph-fonts
*xp-embedded-formats-supported: {POSTSCRIPT 2}
*xp-raw-formats-supported: {POSTSCRIPT 2}
*xp-setup-proviso: setup-optional
# EOF.

View file

@ -0,0 +1,137 @@
# $Xprint.org: GSdefault model-config,v 1.1 2003/02/10 14:48:04 gisburn Exp $
# Generic default model-config for the PostScript DDX when using GhostScript
# as printer driver
#
# DO NOT MODIFY THIS FILE!!
#
# If you want to make customisations for your printer create a copy
# of this printer model.
# Example (for creating a model config "MYCOMPANYlaserxx"):
# 1. Create model config dir:
# % mkdir MYCOMPANYlaserxx
# 2. Link (or copy) the PMF (printer font metrics) for the
# printer buildin fonts:
# % ln -s GSdefault/fonts MYCOMPANYlaserxx/.
# 3. Copy the model config file:
# % cp GSdefault/model-config MYCOMPANYlaserxx/.
# 4. Customize MYCOMPANYlaserxx/model-config to match your needs.
#
# Attributes supported for this printer model
# You may want to cut the lists here down to the attributes supported
# by your printer.
*content-orientations-supported: portrait landscape reverse-portrait reverse-landscape
*descriptor: GhostScript default model
*document-formats-supported: {POSTSCRIPT 2}
*input-trays-supported:
*medium-source-sizes-supported: \
{ '' \
{na-letter FALSE {6.35 209.55 6.35 273.05}}\
{na-legal FALSE {6.35 209.55 6.35 349.25}}\
{executive FALSE {6.35 177.80 6.35 260.35}}\
{folio FALSE {6.35 204.47 6.35 323.85}}\
{invoice FALSE {6.35 133.35 6.35 209.55}}\
{ledger FALSE {6.35 273.05 6.35 425.45}}\
{quarto FALSE {6.35 209.55 6.35 268.732}}\
{a FALSE {6.35 209.55 6.35 273.05}}\
{b FALSE {6.35 273.05 6.35 425.45}}\
{c FALSE {6.35 425.45 6.35 552.45}}\
{d FALSE {6.35 552.45 6.35 857.25}}\
{e FALSE {6.35 857.25 6.35 1111.25}}\
{na-6x9-envelope FALSE {6.35 146.05 6.35 222.25}}\
{na-10x15-envelope FALSE {6.35 247.65 6.35 374.65}}\
{monarch-envelope FALSE {6.35 91.948 6.35 184.15}}\
{na-10x13-envelope FALSE {6.35 247.65 6.35 323.85}}\
{na-9x12-envelope FALSE {6.35 222.25 6.35 298.45}}\
{na-number-10-envelope FALSE {6.35 98.425 6.35 234.95}}\
{na-7x9-envelope FALSE {6.35 171.45 6.35 222.25}}\
{na-9x11-envelope FALSE {6.35 222.25 6.35 273.05}}\
{na-10x14-envelope FALSE {6.35 247.65 6.35 349.25}}\
{na-number-9-envelope FALSE {6.35 92.075 6.35 219.075}}\
{iso-a0 FALSE {6.35 834.65 6.35 1182.65}}\
{iso-a1 FALSE {6.35 587.65 6.35 834.65}}\
{iso-a2 FALSE {6.35 413.65 6.35 587.65}}\
{iso-a3 FALSE {6.35 290.65 6.35 413.65}}\
{iso-a4 FALSE {6.35 203.65 6.35 290.65}}\
{iso-a5 FALSE {6.35 141.65 6.35 203.65}}\
{iso-a6 FALSE {6.35 98.65 6.35 141.65}}\
{iso-a7 FALSE {6.35 67.65 6.35 98.65}}\
{iso-a8 FALSE {6.35 45.65 6.35 67.65}}\
{iso-a9 FALSE {6.35 30.65 6.35 45.65}}\
{iso-a10 FALSE {6.35 19.65 6.35 30.65}}\
{iso-b1 FALSE {6.35 700.65 6.35 993.65}}\
{iso-b2 FALSE {6.35 493.65 6.35 700.65}}\
{iso-b3 FALSE {6.35 346.65 6.35 493.65}}\
{iso-b4 FALSE {6.35 243.65 6.35 346.65}}\
{iso-b5 FALSE {6.35 169.65 6.35 243.65}}\
{iso-b6 FALSE {6.35 118.65 6.35 169.65}}\
{iso-b7 FALSE {6.35 81.65 6.35 118.65}}\
{iso-b8 FALSE {6.35 55.65 6.35 81.65}}\
{iso-b9 FALSE {6.35 37.65 6.35 55.65}}\
{iso-b10 FALSE {6.35 24.65 6.35 37.65}}\
{jis-b1 FALSE {6.35 721.65 6.35 1023.65}}\
{jis-b2 FALSE {6.35 508.65 6.35 721.65}}\
{jis-b3 FALSE {6.35 357.65 6.35 508.65}}\
{jis-b4 FALSE {6.35 250.65 6.35 357.65}}\
{jis-b5 FALSE {6.35 175.65 6.35 250.65}}\
{jis-b6 FALSE {6.35 121.65 6.35 175.65}}\
{jis-b7 FALSE {6.35 84.65 6.35 121.65}}\
{jis-b8 FALSE {6.35 57.65 6.35 84.65}}\
{jis-b9 FALSE {6.35 38.65 6.35 57.65}}\
{jis-b10 FALSE {6.35 25.65 6.35 38.65}}\
{iso-c3 FALSE {6.35 317.65 6.35 451.65}}\
{iso-c4 FALSE {6.35 222.65 6.35 317.65}}\
{iso-c5 FALSE {6.35 155.65 6.35 222.65}}\
{iso-c6 FALSE {6.35 107.65 6.35 155.65}}\
{iso-designated-long FALSE {6.35 103.65 6.35 213.65}}\
{hp-2x-postcard FALSE {6.35 141.65 6.35 193.65}}\
{hp-european-edp FALSE {6.35 298.45 6.35 349.25}}\
{hp-mini FALSE {6.35 133.35 6.35 209.55}}\
{hp-postcard FALSE {6.35 93.65 6.35 141.65}}\
{hp-tabloid FALSE {6.35 273.05 6.35 425.45}}\
{hp-us-edp FALSE {6.35 273.05 6.35 349.25}}\
{hp-us-government-legal FALSE {6.35 196.85 6.35 323.85}}\
{hp-us-government-letter FALSE {6.35 196.85 6.35 247.65}}\
}
# If you have more than one tray use the following example:
# 1. List the supported trays
#*input-trays-supported: main manual
# 2. Define each tray and it's paper sizes
#*medium-source-sizes-supported: \
#{ main \
# {na-letter FALSE {6.35 209.55 6.35 273.05}} \
# {na-legal FALSE {6.35 209.55 6.35 349.25}} \
# {iso-a4 FALSE {6.35 203.65 6.35 290.65}} \
#} \
#{ manual \
# {iso-a5 FALSE {6.35 141.65 6.35 203.65}} \
# {iso-c5 FALSE {6.35 155.65 6.35 222.65}} \
# {iso-designated-long FALSE {6.35 103.65 6.35 213.65}} \
# {jis-b5 FALSE {6.35 175.65 6.35 250.65}} \
# {monarch-envelope FALSE {6.35 91.948 6.35 184.15}} \
# {na-legal FALSE {6.35 209.55 6.35 349.25}} \
# {na-number-10-envelope FALSE {6.35 98.425 6.35 234.95}} \
# {executive FALSE {6.35 177.8 6.35 260.35}} \
# {iso-a3 FALSE {6.35 290.65 6.35 413.65}} \
# {iso-a0 FALSE {6.35 834.65 6.35 1182.65}} \
#}
*plexes-supported: simplex duplex tumble
*printer-model: "GhostScript default model"
# 75, 100, 120, 150, 180, 200, 240, 300, 360, 400, 600, 720,
# 940, 1200 and 2440 are supported DPI values, we limit it here
# to some common values:
*printer-resolutions-supported: 300 360 400 600
*xp-ddx-identifier: XP-POSTSCRIPT
*xp-listfonts-modes-supported: xp-list-internal-printer-fonts xp-list-glyph-fonts
*xp-embedded-formats-supported: {POSTSCRIPT 2}
*xp-raw-formats-supported: {POSTSCRIPT 2}
*xp-setup-proviso: setup-optional
# NOTE: xp-psddx-* attributes are EXPERIMENTAL for now.
# xp-psddx-download-fonts defines which fonts should be downloaded as outlines
# (valid types are "pfa", "pfb", "ttf", "ttc", "otf", "otc")
*xp-psddx-download-fonts: pfa pfb ttf ttc otf otc
# xp-psddx-download-font-type defines which font type is used to download outlines
# (valid values are "bitmap", "pstype1" and "pstype3")
*xp-psddx-download-font-type: pstype1
# EOF.

View file

@ -1 +0,0 @@
! So the file isn't empty

View file

@ -1,28 +1,16 @@
# $Xorg: model-config,v 1.3 2000/08/17 19:48:04 cpqbld Exp $
# $Xprint.org: HPDJ1600C model-config,v 1.4 2002/11/07 19:48:04 gisburn Exp $
# This is the configuration file for the HP DeskJet 1600C printer.
#
# The CDEnext SI supports two 1600C drivers XP-PCL-MONO and
# XP-PCL-COLOR, which work with this configuration file.
#
# Attribute IDs must be qualified using either the printer-model
# identifier or an asterisk ('*'). For example, if "HPDJ1600C" is the
# printer-model, then to initialize the 'plexes-supported' attribute
# to 'simplex', use: "HPDJ1600C.plexes-supported: simplex". For the
# asterisk, use: "*.plexes-supported: simplex". If the same attribute
# is specified using each method, the printer-model qualified entry
# takes precedence.
HPDJ1600C.printer-model: "Hewlett-Packard DeskJet 1600C"
HPDJ1600C.printer-resolutions-supported: 300
HPDJ1600C.content-orientations-supported: portrait landscape
HPDJ1600C.document-formats-supported: {PCL 5} {PostScript 2}
HPDJ1600C.plexes-supported: simplex duplex
HPDJ1600C.xp-ddx-identifier: XP-PCL-COLOR
HPDJ1600C.xp-embedded-formats-supported: { PCL 5 } { PostScript 2 }
HPDJ1600C.xp-setup-proviso: setup-optional
*content-orientations-supported: portrait landscape
*descriptor: Hewlett-Packard DeskJet 1600C
*document-formats-supported: {PCL 5} {PostScript 2}
*input-trays-supported:
# 1/4" unprintable margins
HPDJ1600C.medium-source-sizes-supported:\
*medium-source-sizes-supported:\
{ '' \
{na-letter FALSE {6.35 209.55 6.35 273.05}}\
{executive FALSE {6.35 177.75 6.35 260.35}}\
@ -41,4 +29,12 @@ HPDJ1600C.medium-source-sizes-supported:\
{hp-japanese-postcard FALSE {6 94 6 142 }}\
{hp-japanese-doublepostcard FALSE {6 142 6 194 }}\
}
*plexes-supported: simplex duplex
*printer-model: "Hewlett-Packard DeskJet 1600C"
*printer-resolutions-supported: 300
*xp-ddx-identifier: XP-PCL-COLOR
*xp-listfonts-modes-supported: xp-list-internal-printer-fonts xp-list-glyph-fonts
*xp-embedded-formats-supported: { PCL 5 } { PostScript 2 }
*xp-raw-formats-supported: { PCL 5 }
*xp-setup-proviso: setup-optional
# EOF.

View file

@ -0,0 +1,36 @@
# $Xprint.org: HPLJ4050-PS model-config,v 1.1 2003/12/16 00:48:04 gisburn Exp $
# model-config for the HP LaserJet 4050 PostScript printer series
#
*content-orientations-supported: portrait landscape reverse-portrait reverse-landscape
*descriptor: Hewlett-Packard LaserJet 4050 PostScript printer
*document-formats-supported: {POSTSCRIPT 2}
*input-trays-supported:
*medium-source-sizes-supported: \
{ '' \
{na-letter FALSE {6.35 209.55 6.35 273.05}}\
{na-legal FALSE {6.35 209.55 6.35 349.25}}\
{executive FALSE {6.35 177.80 6.35 260.35}}\
{iso-a4 FALSE {6.35 203.65 6.35 290.65}}\
{iso-a5 FALSE {6.35 141.65 6.35 203.65}}\
{iso-b5 FALSE {6.35 169.65 6.35 243.65}}\
{jis-b5 FALSE {6.35 175.65 6.35 250.65}}\
}
# Duplex unit is optional for HPLJ4050 series
*plexes-supported: simplex
*printer-model: "Hewlett-Packard LaserJet 4050 PostScript printer"
*printer-resolutions-supported: 600 1200
*xp-ddx-identifier: XP-POSTSCRIPT
*xp-listfonts-modes-supported: xp-list-internal-printer-fonts xp-list-glyph-fonts
*xp-embedded-formats-supported: {POSTSCRIPT 2}
*xp-raw-formats-supported: {POSTSCRIPT 2}
*xp-setup-proviso: setup-optional
# NOTE: xp-psddx-* attributes are EXPERIMENTAL for now.
# xp-psddx-download-fonts defines which fonts should be downloaded as outlines
# (valid types are "pfa", "pfb", "ttf", "ttc", "otf", "otc")
*xp-psddx-download-fonts: pfa pfb ttf ttc otf otc
# xp-psddx-download-font-type defines which font type is used to download outlines
# (valid values are "bitmap", "pstype1" and "pstype3")
*xp-psddx-download-font-type: pstype1
# EOF.

View file

@ -1 +0,0 @@
! So the file isn't empty

View file

@ -1,28 +1,15 @@
# $Xorg: model-config,v 1.3 2000/08/17 19:48:04 cpqbld Exp $
# $Xprint.org: HPLJ4family model-config,v 1.4 2002/11/07 19:48:04 gisburn Exp $
# This is the configuration file for the HP LaserJet 4 Printers.
#
# Though not a deliverable for the CDEnext SI, the XP-PCL-MONO
# driver should be able to support the LaserJet 4 printers.
#
# Attribute IDs must be qualified using either the printer-model
# identifier or an asterisk ('*'). For example, if "HPLJ4family" is the
# printer-model, then to initialize the 'plexes-supported' attribute
# to 'simplex', use: "HPLJ4family.plexes-supported: simplex". For the
# asterisk, use: "*.plexes-supported: simplex". If the same attribute
# is specified using each method, the printer-model qualified entry
# takes precedence.
HPLJ4family.printer-model: "Hewlett-Packard LaserJet 4 Series"
HPLJ4family.printer-resolutions-supported: 300 600
HPLJ4family.content-orientations-supported: portrait landscape
HPLJ4family.document-formats-supported: {PCL 5} {PostScript 2}
HPLJ4family.plexes-supported: simplex duplex
HPLJ4family.xp-ddx-identifier: XP-PCL-MONO
HPLJ4family.xp-embedded-formats-supported: { PCL 5 } { PostScript 2 }
HPLJ4family.xp-setup-proviso: setup-optional
*content-orientations-supported: portrait landscape
*descriptor: Hewlett-Packard LaserJet 4 Series
*document-formats-supported: {PCL 5} {PostScript 2}
*input-trays-supported:
# 1/4" unprintable margins
HPLJ4family.medium-source-sizes-supported:\
*medium-source-sizes-supported:\
{ '' \
{na-letter FALSE {6.35 209.55 6.35 273.05}}\
{executive FALSE {6.35 177.75 6.35 260.35}}\
@ -41,4 +28,12 @@ HPLJ4family.medium-source-sizes-supported:\
{hp-japanese-postcard FALSE {6 94 6 142 }}\
{hp-japanese-doublepostcard FALSE {6 142 6 194 }}\
}
*plexes-supported: simplex duplex
*printer-model: "Hewlett-Packard LaserJet 4 Series"
*printer-resolutions-supported: 300 600
*xp-ddx-identifier: XP-PCL-MONO
*xp-listfonts-modes-supported: xp-list-internal-printer-fonts xp-list-glyph-fonts
*xp-embedded-formats-supported: { PCL 5 } { PostScript 2 }
*xp-raw-formats-supported: { PCL 5 }
*xp-setup-proviso: setup-optional
# EOF.

View file

@ -0,0 +1,72 @@
# $Xprint.org: PS2PDFspooldir-GS model-config,v 1.1 2003/11/20 03:48:04 gisburn Exp $
# PostScript DDX model-config which converts jobs to PDF via GhostScript's "ps2pdf"
# and then sends them to a spool dir instead to a print queue
#
# This model is basically a cut-down GSdefault model with a custom *xp-spooler-command
#
# DO NOT MODIFY THIS FILE!!
#
# If you want to make customisations for your printer create a copy
# of this printer model.
# Example (for creating a model config "MYCOMPANYlaserxx"):
# 1. Create model config dir:
# % mkdir MYCOMPANYlaserxx
# 2. Link (or copy) the PMF (printer font metrics) for the
# printer buildin fonts:
# % ln -s PS2PDFspooldir-GS/fonts MYCOMPANYlaserxx/.
# 3. Copy the model config file:
# % cp PS2PDFspooldir-GS/model-config MYCOMPANYlaserxx/.
# 4. Customize MYCOMPANYlaserxx/model-config to match your needs.
#
# Attributes supported for this printer model
*content-orientations-supported: portrait landscape reverse-portrait reverse-landscape
*descriptor: PDF job spool dir /tmp/Xprintjobs
*document-formats-supported: {POSTSCRIPT 2}
*input-trays-supported:
*medium-source-sizes-supported: \
{ '' \
{na-letter FALSE {6.35 209.55 6.35 273.05}}\
{na-legal FALSE {6.35 209.55 6.35 349.25}}\
{executive FALSE {6.35 177.80 6.35 260.35}}\
{ledger FALSE {6.35 273.05 6.35 425.45}}\
{quarto FALSE {6.35 209.55 6.35 268.732}}\
{iso-a3 FALSE {6.35 290.65 6.35 413.65}}\
{iso-a4 FALSE {6.35 203.65 6.35 290.65}}\
{iso-a5 FALSE {6.35 141.65 6.35 203.65}}\
{iso-b3 FALSE {6.35 346.65 6.35 493.65}}\
{iso-b4 FALSE {6.35 243.65 6.35 346.65}}\
{iso-b5 FALSE {6.35 169.65 6.35 243.65}}\
{jis-b3 FALSE {6.35 357.65 6.35 508.65}}\
{jis-b4 FALSE {6.35 250.65 6.35 357.65}}\
{jis-b5 FALSE {6.35 175.65 6.35 250.65}}\
{iso-c3 FALSE {6.35 317.65 6.35 451.65}}\
{iso-c4 FALSE {6.35 222.65 6.35 317.65}}\
{iso-c5 FALSE {6.35 155.65 6.35 222.65}}\
}
*plexes-supported: simplex duplex tumble
*printer-model: "PDF job spool dir /tmp/Xprintjobs"
# 75, 100, 120, 150, 180, 200, 240, 300, 360, 400, 600, 720,
# 940, 1200 and 2440 are supported DPI values, we limit it here
# to some common values:
*printer-resolutions-supported: 300 360 400 600
*xp-ddx-identifier: XP-POSTSCRIPT
*xp-listfonts-modes-supported: xp-list-internal-printer-fonts xp-list-glyph-fonts
*xp-embedded-formats-supported: {POSTSCRIPT 2}
*xp-raw-formats-supported: {POSTSCRIPT 2}
*xp-setup-proviso: setup-optional
# Use custom spooler script which sends the output to a dir instead to a printer queue
# Note that "%xpconfigdir%" is currently only supported in Xprt servers build
# from xprint.mozdev.org sources, other platforms have replace it with the
# absolute path name to the script
*xp-spooler-command: %xpconfigdir%/C/print/models/PS2PDFspooldir-GS/ps2pdf_spooltodir.sh -d /tmp/Xprintjobs -s .pdf -u 077 -p %printer-name% -c %copy-count% -t %job-name% -o "%options%"
# NOTE: xp-psddx-* attributes are EXPERIMENTAL for now.
# xp-psddx-download-fonts defines which fonts should be downloaded as outlines
# (valid types are "pfa", "pfb", "ttf", "ttc", "otf", "otc")
*xp-psddx-download-fonts: pfa pfb ttf ttc otf otc
# xp-psddx-download-font-type defines which font type is used to download outlines
# (valid values are "bitmap", "pstype1" and "pstype3")
*xp-psddx-download-font-type: pstype1
# EOF.

View file

@ -0,0 +1,130 @@
#!/bin/sh
PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/bin
export PATH
verbose_msgs="false"
DEFAULT_SPOOLDIR=/tmp/Xprintjobs
usage()
{
printf "Usage: ${0}: [options]\n"
printf "-v\tbe verbose\n"
printf "-d dirname\tdefine spool dir\n"
printf "-p string\tname of printer selected by user\n"
printf "-c integer\tnumber of copies\n"
printf "-t string\tjob title\n"
printf "-s string\tfile name suffix\n"
printf "-o string\tspooler options\n"
printf "-u mask\tpermission mask for new files (see umask)\n"
exit 2
}
verbose()
{
if ${verbose_msgs} ; then
echo "$1"
fi
}
spooldir="${DEFAULT_SPOOLDIR}"
printername=
num_job_copies=
job_title=
filename_suffix=
spooler_options=
permmask=
while getopts va:b:d:p:c:t:s:o:u: i
do
case $i in
v)
verbose_msgs="true"
;;
d)
spooldir="$OPTARG"
;;
p)
printername="$OPTARG"
;;
c)
num_job_copies="$OPTARG"
;;
t)
job_title="$OPTARG"
;;
s)
filename_suffix="$OPTARG"
;;
o)
spooler_options="$OPTARG"
;;
u)
permmask="$OPTARG"
;;
?) usage
;;
esac
done
verbose "# spooldir=\"$spooldir\""
verbose "# printername=\"$printername\""
verbose "# num_job_copies=\"$num_job_copies\""
verbose "# job_title=\"$job_title\""
verbose "# spooler_options=\"$spooler_options\""
verbose "# umask=\"$permmask\""
if [ ! -d "${DEFAULT_SPOOLDIR}" ] ; then
mkdir "${DEFAULT_SPOOLDIR}"
chmod a+rwxt "${DEFAULT_SPOOLDIR}"
fi
if [ "${permmask}" != "" ] ; then
umask ${permmask}
fi
if [ ! -d "$spooldir" ] ; then
echo "$0: spooldir \"$spooldir\" does not exits." >&2
exit 1
fi
if [ ! -w "$spooldir" ] ; then
echo "$0: Cannot write to spooldir \"$spooldir\"." >&2
exit 1
fi
# Create first part of the output file name (prefix and an "unique"
# id(=date and time))...
filename="Xpjob_`date +%Y%m%d%H%M%S`"
# ... then add options ...
if [ "${printername}" != "" ] ; then
filename="${filename}_${printername}"
fi
if [ "${num_job_copies}" != "" -a "${num_job_copies}" != "1" ] ; then
filename="${filename}_copies_${num_job_copies}"
fi
if [ "${job_title}" != "" ] ; then
filename="${filename}_title_${job_title}"
fi
# ... mangle output file name and filter chars (like whitespaces)
# which may screw-up further processing by other shell scripts ...
filename="`echo \"${filename}\" | tr '[:blank:]' '_' | tr -c -d '[:alnum:]_.-'`"
# ... add path and suffix ...
filename="${spooldir}/${filename}${filename_suffix}"
verbose "# File name is \"$filename\"."
# ... and finally capture stdin to the file (we are using "gs" directly to
# avoid the problem that "ps2pdf" is not available in all Linux
# distributions by default).
#ps2pdf - - | cat >"${filename}"
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "-sOutputFile=-" -dCompatibilityLevel=1.2 -c .setpdfwrite -f - | cat >"${filename}"
if ${verbose_msgs} ; then
printf "# File is " ; ls -l "${filename}"
fi
verbose "# Done."
exit 0
# EOF.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,136 @@
# $Xprint.org: PSdefault model-config,v 1.2 2002/11/07 19:48:04 gisburn Exp $
# Generic default model-config for the PostScript DDX
#
# DO NOT MODIFY THIS FILE!!
#
# If you want to make customisations for your printer create a copy
# of this printer model.
# Example (for creating a model config "MYCOMPANYlaserxx"):
# 1. Create model config dir:
# % mkdir MYCOMPANYlaserxx
# 2. Link (or copy) the PMF (printer font metrics) for the
# printer buildin fonts:
# % ln -s PSdefault/fonts MYCOMPANYlaserxx/.
# 3. Copy the model config file:
# % cp PSdefault/model-config MYCOMPANYlaserxx/.
# 4. Customize MYCOMPANYlaserxx/model-config to match your needs.
#
# Attributes supported for this printer model
# You may want to cut the lists here down to the attributes supported
# by your printer.
*content-orientations-supported: portrait landscape reverse-portrait reverse-landscape
*descriptor: PostScript default model
*document-formats-supported: {POSTSCRIPT 2}
*input-trays-supported:
*medium-source-sizes-supported: \
{ '' \
{na-letter FALSE {6.35 209.55 6.35 273.05}}\
{na-legal FALSE {6.35 209.55 6.35 349.25}}\
{executive FALSE {6.35 177.80 6.35 260.35}}\
{folio FALSE {6.35 204.47 6.35 323.85}}\
{invoice FALSE {6.35 133.35 6.35 209.55}}\
{ledger FALSE {6.35 273.05 6.35 425.45}}\
{quarto FALSE {6.35 209.55 6.35 268.732}}\
{a FALSE {6.35 209.55 6.35 273.05}}\
{b FALSE {6.35 273.05 6.35 425.45}}\
{c FALSE {6.35 425.45 6.35 552.45}}\
{d FALSE {6.35 552.45 6.35 857.25}}\
{e FALSE {6.35 857.25 6.35 1111.25}}\
{na-6x9-envelope FALSE {6.35 146.05 6.35 222.25}}\
{na-10x15-envelope FALSE {6.35 247.65 6.35 374.65}}\
{monarch-envelope FALSE {6.35 91.948 6.35 184.15}}\
{na-10x13-envelope FALSE {6.35 247.65 6.35 323.85}}\
{na-9x12-envelope FALSE {6.35 222.25 6.35 298.45}}\
{na-number-10-envelope FALSE {6.35 98.425 6.35 234.95}}\
{na-7x9-envelope FALSE {6.35 171.45 6.35 222.25}}\
{na-9x11-envelope FALSE {6.35 222.25 6.35 273.05}}\
{na-10x14-envelope FALSE {6.35 247.65 6.35 349.25}}\
{na-number-9-envelope FALSE {6.35 92.075 6.35 219.075}}\
{iso-a0 FALSE {6.35 834.65 6.35 1182.65}}\
{iso-a1 FALSE {6.35 587.65 6.35 834.65}}\
{iso-a2 FALSE {6.35 413.65 6.35 587.65}}\
{iso-a3 FALSE {6.35 290.65 6.35 413.65}}\
{iso-a4 FALSE {6.35 203.65 6.35 290.65}}\
{iso-a5 FALSE {6.35 141.65 6.35 203.65}}\
{iso-a6 FALSE {6.35 98.65 6.35 141.65}}\
{iso-a7 FALSE {6.35 67.65 6.35 98.65}}\
{iso-a8 FALSE {6.35 45.65 6.35 67.65}}\
{iso-a9 FALSE {6.35 30.65 6.35 45.65}}\
{iso-a10 FALSE {6.35 19.65 6.35 30.65}}\
{iso-b1 FALSE {6.35 700.65 6.35 993.65}}\
{iso-b2 FALSE {6.35 493.65 6.35 700.65}}\
{iso-b3 FALSE {6.35 346.65 6.35 493.65}}\
{iso-b4 FALSE {6.35 243.65 6.35 346.65}}\
{iso-b5 FALSE {6.35 169.65 6.35 243.65}}\
{iso-b6 FALSE {6.35 118.65 6.35 169.65}}\
{iso-b7 FALSE {6.35 81.65 6.35 118.65}}\
{iso-b8 FALSE {6.35 55.65 6.35 81.65}}\
{iso-b9 FALSE {6.35 37.65 6.35 55.65}}\
{iso-b10 FALSE {6.35 24.65 6.35 37.65}}\
{jis-b1 FALSE {6.35 721.65 6.35 1023.65}}\
{jis-b2 FALSE {6.35 508.65 6.35 721.65}}\
{jis-b3 FALSE {6.35 357.65 6.35 508.65}}\
{jis-b4 FALSE {6.35 250.65 6.35 357.65}}\
{jis-b5 FALSE {6.35 175.65 6.35 250.65}}\
{jis-b6 FALSE {6.35 121.65 6.35 175.65}}\
{jis-b7 FALSE {6.35 84.65 6.35 121.65}}\
{jis-b8 FALSE {6.35 57.65 6.35 84.65}}\
{jis-b9 FALSE {6.35 38.65 6.35 57.65}}\
{jis-b10 FALSE {6.35 25.65 6.35 38.65}}\
{iso-c3 FALSE {6.35 317.65 6.35 451.65}}\
{iso-c4 FALSE {6.35 222.65 6.35 317.65}}\
{iso-c5 FALSE {6.35 155.65 6.35 222.65}}\
{iso-c6 FALSE {6.35 107.65 6.35 155.65}}\
{iso-designated-long FALSE {6.35 103.65 6.35 213.65}}\
{hp-2x-postcard FALSE {6.35 141.65 6.35 193.65}}\
{hp-european-edp FALSE {6.35 298.45 6.35 349.25}}\
{hp-mini FALSE {6.35 133.35 6.35 209.55}}\
{hp-postcard FALSE {6.35 93.65 6.35 141.65}}\
{hp-tabloid FALSE {6.35 273.05 6.35 425.45}}\
{hp-us-edp FALSE {6.35 273.05 6.35 349.25}}\
{hp-us-government-legal FALSE {6.35 196.85 6.35 323.85}}\
{hp-us-government-letter FALSE {6.35 196.85 6.35 247.65}}\
}
# If you have more than one tray use the following example:
# 1. List the supported trays
#*input-trays-supported: main manual
# 2. Define each tray and it's paper sizes
#*medium-source-sizes-supported: \
#{ main \
# {na-letter FALSE {6.35 209.55 6.35 273.05}} \
# {na-legal FALSE {6.35 209.55 6.35 349.25}} \
# {iso-a4 FALSE {6.35 203.65 6.35 290.65}} \
#} \
#{ manual \
# {iso-a5 FALSE {6.35 141.65 6.35 203.65}} \
# {iso-c5 FALSE {6.35 155.65 6.35 222.65}} \
# {iso-designated-long FALSE {6.35 103.65 6.35 213.65}} \
# {jis-b5 FALSE {6.35 175.65 6.35 250.65}} \
# {monarch-envelope FALSE {6.35 91.948 6.35 184.15}} \
# {na-legal FALSE {6.35 209.55 6.35 349.25}} \
# {na-number-10-envelope FALSE {6.35 98.425 6.35 234.95}} \
# {executive FALSE {6.35 177.8 6.35 260.35}} \
# {iso-a3 FALSE {6.35 290.65 6.35 413.65}} \
# {iso-a0 FALSE {6.35 834.65 6.35 1182.65}} \
#}
*plexes-supported: simplex duplex tumble
*printer-model: "PostScript default model"
# 75, 100, 120, 150, 180, 200, 240, 300, 360, 400, 600, 720,
# 940, 1200 and 2440 are supported DPI values, we limit it here
# to some common values:
*printer-resolutions-supported: 300 360 400 600
*xp-ddx-identifier: XP-POSTSCRIPT
*xp-listfonts-modes-supported: xp-list-internal-printer-fonts xp-list-glyph-fonts
*xp-embedded-formats-supported: {POSTSCRIPT 2}
*xp-raw-formats-supported: {POSTSCRIPT 2}
*xp-setup-proviso: setup-optional
# NOTE: xp-psddx-* attributes are EXPERIMENTAL for now.
# xp-psddx-download-fonts defines which fonts should be downloaded as outlines
# (valid types are "pfa", "pfb", "ttf", "ttc", "otf", "otc")
*xp-psddx-download-fonts: pfa pfb ttf ttc otf otc
# xp-psddx-download-font-type defines which font type is used to download outlines
# (valid values are "bitmap", "pstype1" and "pstype3")
*xp-psddx-download-font-type: pstype1
# EOF.

View file

@ -0,0 +1,71 @@
# $Xprint.org: PSspooldir model-config,v 1.1 2002/11/25 19:48:04 gisburn Exp $
# PostScript DDX model-config which sends jobs to a spool dir instead to a print queue
#
# This model is basically a cut-down PSdefault model with a custom *xp-spooler-command
#
# DO NOT MODIFY THIS FILE!!
#
# If you want to make customisations for your printer create a copy
# of this printer model.
# Example (for creating a model config "MYCOMPANYlaserxx"):
# 1. Create model config dir:
# % mkdir MYCOMPANYlaserxx
# 2. Link (or copy) the PMF (printer font metrics) for the
# printer buildin fonts:
# % ln -s PSspooldir/fonts MYCOMPANYlaserxx/.
# 3. Copy the model config file:
# % cp PSspooldir/model-config MYCOMPANYlaserxx/.
# 4. Customize MYCOMPANYlaserxx/model-config to match your needs.
#
# Attributes supported for this printer model
*content-orientations-supported: portrait landscape reverse-portrait reverse-landscape
*descriptor: PostScript job spool dir /tmp/Xprintjobs
*document-formats-supported: {POSTSCRIPT 2}
*input-trays-supported:
*medium-source-sizes-supported: \
{ '' \
{na-letter FALSE {6.35 209.55 6.35 273.05}}\
{na-legal FALSE {6.35 209.55 6.35 349.25}}\
{executive FALSE {6.35 177.80 6.35 260.35}}\
{ledger FALSE {6.35 273.05 6.35 425.45}}\
{quarto FALSE {6.35 209.55 6.35 268.732}}\
{iso-a3 FALSE {6.35 290.65 6.35 413.65}}\
{iso-a4 FALSE {6.35 203.65 6.35 290.65}}\
{iso-a5 FALSE {6.35 141.65 6.35 203.65}}\
{iso-b3 FALSE {6.35 346.65 6.35 493.65}}\
{iso-b4 FALSE {6.35 243.65 6.35 346.65}}\
{iso-b5 FALSE {6.35 169.65 6.35 243.65}}\
{jis-b3 FALSE {6.35 357.65 6.35 508.65}}\
{jis-b4 FALSE {6.35 250.65 6.35 357.65}}\
{jis-b5 FALSE {6.35 175.65 6.35 250.65}}\
{iso-c3 FALSE {6.35 317.65 6.35 451.65}}\
{iso-c4 FALSE {6.35 222.65 6.35 317.65}}\
{iso-c5 FALSE {6.35 155.65 6.35 222.65}}\
}
*plexes-supported: simplex duplex tumble
*printer-model: "PostScript job spool dir /tmp/Xprintjobs"
# 75, 100, 120, 150, 180, 200, 240, 300, 360, 400, 600, 720,
# 940, 1200 and 2440 are supported DPI values, we limit it here
# to some common values:
*printer-resolutions-supported: 300 360 400 600
*xp-ddx-identifier: XP-POSTSCRIPT
*xp-listfonts-modes-supported: xp-list-internal-printer-fonts xp-list-glyph-fonts
*xp-embedded-formats-supported: {POSTSCRIPT 2}
*xp-raw-formats-supported: {POSTSCRIPT 2}
*xp-setup-proviso: setup-optional
# Use custom spooler script which sends the output to a dir instead to a printer queue
# Note that "%xpconfigdir%" is currently only supported in Xprt servers build
# from xprint.mozdev.org sources, other platforms have replace it with the
# absolute path name to the script
*xp-spooler-command: %xpconfigdir%/C/print/models/PSspooldir/spooltodir.sh -d /tmp/Xprintjobs -s .ps -u 077 -p %printer-name% -c %copy-count% -t %job-name% -o "%options%"
# NOTE: xp-psddx-* attributes are EXPERIMENTAL for now.
# xp-psddx-download-fonts defines which fonts should be downloaded as outlines
# (valid types are "pfa", "pfb", "ttf", "ttc", "otf", "otc")
*xp-psddx-download-fonts: pfa pfb ttf ttc otf otc
# xp-psddx-download-font-type defines which font type is used to download outlines
# (valid values are "bitmap", "pstype1" and "pstype3")
*xp-psddx-download-font-type: pstype1
# EOF.

View file

@ -0,0 +1,127 @@
#!/bin/sh
PATH=/usr/bin:/usr/sbin:/bin:/sbin
export PATH
verbose_msgs="false"
DEFAULT_SPOOLDIR=/tmp/Xprintjobs
usage()
{
printf "Usage: ${0}: [options]\n"
printf "-v\tbe verbose\n"
printf "-d dirname\tdefine spool dir\n"
printf "-p string\tname of printer selected by user\n"
printf "-c integer\tnumber of copies\n"
printf "-t string\tjob title\n"
printf "-s string\tfile name suffix\n"
printf "-o string\tspooler options\n"
printf "-u mask\tpermission mask for new files (see umask)\n"
exit 2
}
verbose()
{
if ${verbose_msgs} ; then
echo "$1"
fi
}
spooldir="${DEFAULT_SPOOLDIR}"
printername=
num_job_copies=
job_title=
filename_suffix=
spooler_options=
permmask=
while getopts va:b:d:p:c:t:s:o:u: i
do
case $i in
v)
verbose_msgs="true"
;;
d)
spooldir="$OPTARG"
;;
p)
printername="$OPTARG"
;;
c)
num_job_copies="$OPTARG"
;;
t)
job_title="$OPTARG"
;;
s)
filename_suffix="$OPTARG"
;;
o)
spooler_options="$OPTARG"
;;
u)
permmask="$OPTARG"
;;
?) usage
;;
esac
done
verbose "# spooldir=\"$spooldir\""
verbose "# printername=\"$printername\""
verbose "# num_job_copies=\"$num_job_copies\""
verbose "# job_title=\"$job_title\""
verbose "# spooler_options=\"$spooler_options\""
verbose "# umask=\"$permmask\""
if [ ! -d "${DEFAULT_SPOOLDIR}" ] ; then
mkdir "${DEFAULT_SPOOLDIR}"
chmod a+rwxt "${DEFAULT_SPOOLDIR}"
fi
if [ "${permmask}" != "" ] ; then
umask ${permmask}
fi
if [ ! -d "$spooldir" ] ; then
echo "$0: spooldir \"$spooldir\" does not exits." >&2
exit 1
fi
if [ ! -w "$spooldir" ] ; then
echo "$0: Cannot write to spooldir \"$spooldir\"." >&2
exit 1
fi
# Create first part of the output file name (prefix and an "unique"
# id(=date and time))...
filename="Xpjob_`date +%Y%m%d%H%M%S`"
# ... then add options ...
if [ "${printername}" != "" ] ; then
filename="${filename}_${printername}"
fi
if [ "${num_job_copies}" != "" -a "${num_job_copies}" != "1" ] ; then
filename="${filename}_copies_${num_job_copies}"
fi
if [ "${job_title}" != "" ] ; then
filename="${filename}_title_${job_title}"
fi
# ... mangle output file name and filter chars (like whitespaces)
# which may screw-up further processing by other shell scripts ...
filename="`echo \"${filename}\" | tr '[:blank:]' '_' | tr -c -d '[:alnum:]_.-'`"
# ... add path and suffix ...
filename="${spooldir}/${filename}${filename_suffix}"
verbose "# File name is \"$filename\"."
# ... and finally capture stdin to the file.
cat >"${filename}"
if ${verbose_msgs} ; then
printf "# File is " ; ls -l "${filename}"
fi
verbose "# Done."
exit 0
# EOF.