[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

x11proto-print: Changes to 'upstream-unstable'



 .gitignore             |    3 
 COPYING                |    2 
 Makefile.am            |   38 
 Print.h                |    2 
 Printstr.h             |    2 
 README                 |   30 
 configure.ac           |   24 
 man/Xprint.man         |  421 
 man/Xprint.sgml        |  627 
 specs/xp_proto.book    |binary
 specs/xp_proto.mif     |73304 +++++++++++++++++++++++++++++++++++++++++++++++++
 specs/xp_proto.ps      |10422 ++++++
 specs/xp_protoIX.doc   |binary
 specs/xp_protoTOC.doc  |binary
 specs/xp_proto_cov.mif | 3467 ++
 15 files changed, 88332 insertions(+), 10 deletions(-)

New commits:
commit cca2ca69d2a6b4b133dba69d5330499fbfe88257
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Wed Jan 5 18:31:40 2011 -0800

    printproto 1.0.5
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/configure.ac b/configure.ac
index b935c48..9702d35 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ dnl Process this file with autoconf to create configure.
 
 # Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([PrintProto], [1.0.4],
+AC_INIT([PrintProto], [1.0.5],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
 AC_CONFIG_SRCDIR([Makefile.am])
 

commit bf29f29a6e054e4208951a906d818b85949a93cc
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Dec 28 19:05:41 2010 -0800

    Add README with pointers to mailing lists, git, bugzilla, the true status, etc.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/README b/README
new file mode 100644
index 0000000..deef4e7
--- /dev/null
+++ b/README
@@ -0,0 +1,30 @@
+Xprint extension to the X11 protocol - a portable, network-transparent
+ printing system
+
+WARNING: Xprint is no longer actively maintained.  This package is
+mainly provided to allow continued binary compatibility of libraries
+and applications that link against libXp.
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+        http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+        git://anongit.freedesktop.org/git/xorg/proto/printproto
+
+        http://cgit.freedesktop.org/xorg/proto/printproto
+
+For patch submission instructions, see:
+
+	http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+        http://wiki.x.org/wiki/GitPage
+

commit 6e385b9711f9ac4808672528f8e856033b9cea06
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Dec 28 18:57:31 2010 -0800

    config: Replace obsolete usage of AC_OUTPUT with AC_CONFIG_FILES
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/configure.ac b/configure.ac
index 92d8638..b935c48 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,5 +17,6 @@ m4_ifndef([XORG_MACROS_VERSION],
 XORG_MACROS_VERSION(1.3)
 XORG_DEFAULT_OPTIONS
 
-AC_OUTPUT([Makefile
-           printproto.pc])
+AC_CONFIG_FILES([Makefile
+                 printproto.pc])
+AC_OUTPUT

commit be513b2f2f296cba566093f9533d51a5deaddab3
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Dec 28 18:56:43 2010 -0800

    config: Add missing AC_CONFIG_SRCDIR & AM_MAINTAINER_MODE
    
    Regroup AC statements under the Autoconf initialization section.
    Regroup AM statements under the Automake initialization section.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/configure.ac b/configure.ac
index 834ae13..92d8638 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,15 @@
+dnl
+dnl Process this file with autoconf to create configure.
+
+# Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([PrintProto], [1.0.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([PrintProto], [1.0.4],
+        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_CONFIG_SRCDIR([Makefile.am])
+
+# Initialize Automake
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
 
 # Require xorg-macros 1.3 or later: XORG_DEFAULT_OPTIONS
 m4_ifndef([XORG_MACROS_VERSION],

commit bb21c638673d1b2c4b24374267490e9dfedf97cb
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Dec 28 18:55:27 2010 -0800

    config: update AC_PREREQ statement to 2.60
    
    Unrelated to the previous patches, the new value simply reflects
    the reality that the minimum level for autoconf to configure
    all x.org modules is 2.60 dated June 2006.
    
    ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/configure.ac b/configure.ac
index 8b369d2..834ae13 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_PREREQ([2.57])
+AC_PREREQ([2.60])
 AC_INIT([PrintProto], [1.0.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 

commit 687530cecc4e139dadda3c0dcbd8ab77824f7588
Author: Paulo Zanoni <pzanoni@mandriva.com>
Date:   Thu Dec 16 13:41:51 2010 -0200

    Use docbookx.dtd version 4.3 for all docs
    
    Signed-off-by: Paulo Zanoni <pzanoni@mandriva.com>
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/man/Xprint.sgml b/man/Xprint.sgml
index 1f7e0a7..349e970 100644
--- a/man/Xprint.sgml
+++ b/man/Xprint.sgml
@@ -1,4 +1,4 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.2//EN" 'http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd'>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.3//EN" 'http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd'>
 
 <!-- Process this file with docbook-to-man to generate an nroff manual
      page: 'docbook-to-man manpage.sgml > manpage.1'.  You may view

commit 37932b0b0af27872bc7517a80d23a98a6dd15127
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Nov 21 11:43:56 2010 -0800

    Sun's copyrights belong to Oracle now
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/COPYING b/COPYING
index 69843ad..3b590a8 100644
--- a/COPYING
+++ b/COPYING
@@ -1,6 +1,6 @@
 (c) Copyright 1996 Hewlett-Packard Company
 (c) Copyright 1996 International Business Machines Corp.
-(c) Copyright 1996 Sun Microsystems, Inc.
+(c) Copyright 1996, Oracle and/or its affiliates. All rights reserved.
 (c) Copyright 1996 Novell, Inc.
 (c) Copyright 1996 Digital Equipment Corp.
 (c) Copyright 1996 Fujitsu Limited
diff --git a/Print.h b/Print.h
index 2d45082..ba64e35 100644
--- a/Print.h
+++ b/Print.h
@@ -27,7 +27,7 @@
  **
  ** (c) Copyright 1996 Hewlett-Packard Company
  ** (c) Copyright 1996 International Business Machines Corp.
- ** (c) Copyright 1996 Sun Microsystems, Inc.
+ ** (c) Copyright 1996, Oracle and/or its affiliates. All rights reserved.
  ** (c) Copyright 1996 Novell, Inc.
  ** (c) Copyright 1996 Digital Equipment Corp.
  ** (c) Copyright 1996 Fujitsu Limited
diff --git a/Printstr.h b/Printstr.h
index 86fa001..7fb4594 100644
--- a/Printstr.h
+++ b/Printstr.h
@@ -13,7 +13,7 @@
  **
  ** (c) Copyright 1996 Hewlett-Packard Company
  ** (c) Copyright 1996 International Business Machines Corp.
- ** (c) Copyright 1996 Sun Microsystems, Inc.
+ ** (c) Copyright 1996, Oracle and/or its affiliates. All rights reserved.
  ** (c) Copyright 1996 Novell, Inc.
  ** (c) Copyright 1996 Digital Equipment Corp.
  ** (c) Copyright 1996 Fujitsu Limited

commit 8418a3a9fb81c8581093621e833267055150e1d3
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Tue Oct 13 14:58:56 2009 -0700

    Move Xprint protocol spec & overview man pages from xorg-docs
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>

diff --git a/Makefile.am b/Makefile.am
index 15546a5..6b2e7c8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,7 +6,19 @@ print_HEADERS = \
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = printproto.pc
 
-EXTRA_DIST = printproto.pc.in
+miscmandir = $(MISC_MAN_DIR)
+miscman_DATA =	man/Xprint.$(MISC_MAN_SUFFIX)
+CLEANFILES = $(miscman_DATA)
+
+EXTRA_DIST = 	printproto.pc.in	\
+		man/Xprint.man		\
+		man/Xprint.sgml		\
+		specs/xp_proto.book	\
+		specs/xp_proto.mif	\
+		specs/xp_proto.ps	\
+		specs/xp_protoIX.doc	\
+		specs/xp_protoTOC.doc	\
+		specs/xp_proto_cov.mif
 
 EXTRA_DIST += ChangeLog
 MAINTAINERCLEANFILES = ChangeLog
@@ -17,3 +29,25 @@ ChangeLog:
 	$(CHANGELOG_CMD)
 
 dist-hook: ChangeLog
+
+SED = sed
+
+# Strings to replace in man pages
+XORGRELSTRING = @PACKAGE_STRING@
+  XORGMANNAME = X Version 11
+
+MAN_SUBSTS = \
+        -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+        -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+        -e 's|__datadir__|$(datadir)|g' \
+        -e 's|__libdir__|$(libdir)|g' \
+        -e 's|__sysconfdir__|$(sysconfdir)|g' \
+        -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
+        -e 's|__libmansuffix__|$(LIB_MAN_SUFFIX)|g' \
+        -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g'
+
+SUFFIXES = .$(MISC_MAN_SUFFIX) .man
+
+.man.$(MISC_MAN_SUFFIX): man
+	$(MKDIR_P) man
+	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
diff --git a/man/Xprint.man b/man/Xprint.man
new file mode 100644
index 0000000..39b0ccc
--- /dev/null
+++ b/man/Xprint.man
@@ -0,0 +1,421 @@
+.\" -*- coding: us-ascii -*-
+.TH Xprint __miscmansuffix__ "8 October 2004"  
+.SH NAME
+Xprint \- The "X print service" - a portable, network-transparent printing system based on the X11 protocol
+.SH SYNOPSIS
+Xprint is a very flexible, extensible, scaleable, client/server
+print system based on ISO 10175 (and some other specs) and the X11 
+rendering protocol. 
+Using Xprint an application can search, query and use devices like 
+printers, FAX machines or create documents in formats like PDF. 
+In particular, an application can seek a printer, query supported 
+attributes (like paper size, trays, fonts etc.), configure the printer 
+device to match it\(cqs needs and print on it like on any other X device 
+reusing parts of the code which is used for the video card Xserver. 
+.SH OVERVIEW
+The "X Print Service" technology allows X rendering to devices such as
+printers and fax. Most of the service is available in the X11
+technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
+Modifications have also been made to the LessTif/Motif/Qt technology
+stacks to support Xprint.
+.PP
+The Xp portion consists of:
+.TP 0.2i
+\(bu
+Xp Extension for the X-Server (included in the X-Server Xprt)
+.TP 0.2i
+\(bu
+Xp Extension API for the client side (libXp/libXprintUtils)
+.TP 0.2i
+\(bu
+PCL ddx driver that converts core X to native PCL
+.TP 0.2i
+\(bu
+PDF ddx driver that converts core X to native PDF
+.TP 0.2i
+\(bu
+PostScript ddx driver that converts core X to native PostScript
+.TP 0.2i
+\(bu
+Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters
+.PP
+.PP
+From an X clients perspective, it can attach to one of two nearly
+identical X-Servers, a "Video" X-Server, and a "Print" X-Server
+which has the additional Xp capability but otherwise looks and
+behaves the same. 
+.SH "HOW THE X PRINT SERVICE WORKS"
+The X Print Service expands on the traditional X-Server and Xlib world
+in four ways.
+.TP 0.4i
+1.
+Most obvious is the use of "print ddx drivers" instead of
+"video ddx drivers". While a video ddx driver modifies pixels
+in a video frame buffer, a print ddx driver generates "page
+description language (PDL)" output (such as PCL, PDF or PostScript)
+or sends the print rendering instructions to a platform-specific
+print API (like Win32/GDI).
+
+Once a print ddx driver generates PDL output, it can be sent to
+a spooler such as \fBlp\fR(1)
+or retrieved by the client (to implement functionality like "print-to-file").
+
+Though not currently done, a single X-Server can support both
+print and video ddx drivers.
+.TP 0.4i
+2.
+Since printers support "paged" output, unlike video, a portion
+of the Xp Extension supports APIs to delineate printed output.
+For example, XpStartPage and XpEndPage tell the X-Server where
+a physical page starts and ends in an otherwise continuous
+stream of X rendering primitives. Likewise, XpStartJob and
+XpEndJob determine when a collection of pages starts and ends.
+XpEndJob typically causes the generated PDL to be submitted to
+a spooler, such as \fBlp\fR(1).
+.TP 0.4i
+3.
+Since printers have extensive capabilities, another portion of
+the Xp Extension supports APIs to manipulate "print contexts".
+
+Once a printer is selected using the Xp Extension API, a print
+context to represent it can be created. A print context
+embodies the printer selected - it contains the printer's
+default capabilities, selectable range of capabilities,
+printer state, and generated output. Some "attributes" within
+the print context can be modified by the user, and the
+X-Server and print ddx driver will react accordingly. For
+example, the attribute "content-orientation" can be set to
+"landscape" or "portrait" (if the printer supports these 
+values - which can be queried using the Xprint API as well).
+.TP 0.4i
+4.
+Since printers can have "built in" fonts, the Xp Extension in
+the X-Server works with the print ddx drivers to make
+available (for printing only) additional fonts on a per print
+context basis.
+
+When a print context is created and set for a given printer,
+the X font calls may be able to access additional printer
+fonts. To do this (typically), the X-Server must have access
+to "printer metric files" (.pmf) that describe at minimum the
+metrics of the built in fonts.
+.PP
+.SH USAGE
+There are three tasks to start the X Print Service:
+.TP 0.4i
+1.
+configuring the X Print Server,
+.TP 0.4i
+2.
+starting the X Print Service
+.TP 0.4i
+3.
+configuring the user session so that clients can find the running X Print Service
+.PP
+.PP
+The tasks are described in detail below.
+.SH "SERVER CONFIGURATION"
+The X Print Server (Xprt) can read a number of configuration files which
+control its behavior and support for printers. Each vendor platform has
+a default location for this information. Xprt can also read the
+environment variable \fBXPCONFIGDIR\fR to locate alternate configuration
+directories. Common settings include:
+
+export XPCONFIGDIR=/X11/lib/X11/XpConfig/
+.PP
+export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/
+
+.PP
+Xprt has many built-in defaults, and lacking any configuration files,
+will immediately try to support all printers visible via \fBlpstat\fR(1).
+.PP
+In order of importance for configuration by a system administrator, the
+configuration files for a "C" locale are as follows (see \fBXprt\fR(__appmansuffix__) for more
+details (including support for non-"C" locales)):
+.TP 
+\fB${XPCONFIGDIR}/C/print/Xprinters\fR
+\&'Xprinters' is the top most configuration file. It tells
+Xprt which specific printer names (e.g. mylaser) should
+be supported, and whether \fBlpstat\fR(1) or other commands
+should be used to automatically supplement the list of
+printers.
+.TP 
+\fB${XPCONFIGDIR}/C/print/attributes/printer\fR
+The 'printer' file maps printer names to model
+configurations (see 'model-config' below). For example,
+"mylaser" could be mapped to a "HPDJ1600C", and all other
+arbitrary printers could be mapped to a default, such as
+"HPLJ4SI". When depending on \fBlpstat\fR(1) in the Xprinters
+file, setting up defaults in 'printer' becomes all the
+more important.
+.TP 
+\fB${XPCONFIGDIR}/C/print/attributes/document\fR
+The 'document' file specifies the initial document values
+for any print jobs. For example, which paper tray to
+use, what default resolution, etc.
+.TP 
+\fB${XPCONFIGDIR}/C/print/attributes/job\fR
+The 'job' file specifies the initial job values for any
+print jobs. For example, "notification-profile" can be
+set so that when a print job is successfully sent to a
+printer, e-mail is sent to the user.
+.TP 
+\fB${XPCONFIGDIR}/C/print/models/PSdefault/model\-config\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf\fR
+The 'model-config' file has attributes that describe the
+printer model\(cqs capabilities and default settings.
+Printer model fonts may also be present. The model-config
+file also identifies the print ddx driver to be used.
+For each printer model supported, a complete hierarchy of
+files should exist. In most cases, these files do not
+need to be modified.
+.TP 
+\fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pcl\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pdf\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/postscript\fR
+The print ddx drivers can have highly specific
+configuration files to control their behavior. In most
+cases, these files do not need to be modified.
+.PP
+More information in how to configure and customize the X print server can be found in the
+\fBXprt\fR(__appmansuffix__)
+manual page.
+.SH "STARTING UP"
+The summary checklist for starting the X Print Service is as follows:
+.TP 0.4i
+1.
+Choose an execution model for the X Print Service. The X
+Print Service can be run on a per-user session basis, per
+machine basis, or can be run on a few machines globally
+available to a number of users.
+.TP 0.4i
+2.
+If print jobs are to be submitted to a spooler (almost always
+the case), make sure all needed printers are available to the
+spooler subsystem (most often \fBlp\fR(1))
+on the same machine running the X Print Service.
+.TP 0.4i
+3.
+Configure the X Print Server. See ``X Print Server
+Configuration''.
+.TP 0.4i
+4.
+Depending on #1, start the X Print Server process "Xprt", and
+then the toolkit-specific Print Dialog Manager Daemon process
+(such as CDEnext's "dtpdmd") at the appropriate times.
+Note that libXprintUtils-based applications/toolkits do not need
+a Print Dialog Manager Daemon process to use Xprint.
+.PP
+The details are described below.
+.PP
+Because the X Print Service is based on X, it can be easily distributed.
+The most significant factors in which execution model to choose will be
+driven by:
+.TP 0.2i
+\(bu
+how many printers will be accessable through the printer
+subsystem on any given machine. A system administrator may
+choose to cluster printers on a few given machines, or
+scatter them across an organization and possibly make
+extensive use of remote spoolers to make them globally
+available.
+.TP 0.2i
+\(bu
+how many machines will need a copy of the X Print Server
+configuration files. The files have been architected so
+that one super-set version of them can be maintained and
+distributed (e.g. via NFS), and a per-machine or per-user
+version of the `Xprinters' is all that is needed to have the
+appropriate information in them utilized or ignored.
+.TP 0.2i
+\(bu
+how many users can demand services from a given X Print
+Service.
+.PP
+With the above in mind, some obvious execution models include:
+.TP 0.2i
+\(bu
+Global - in this model, the system administrator is choosing
+to run the X Print Service on a *few* select machines with
+appropriate printers configured, and allow clients access to
+the global resource. This can centralize the administration
+of printers and configuration files, but may have to be
+monitored for performance loading.
+
+Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
+.TP 0.2i
+\(bu
+Per-machine - every machine with potential X Print Service
+users would run the service. Printer and configuration file
+administration is decentralized, and usage would be limited
+to the users on the machine.
+
+Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
+.TP 0.2i
+\(bu
+Per-user session - every user would run an entire X Print
+Service for themselves. In the future, the Video X Server
+normally started may contain Print X Server capability, so
+this model becomes very natural.
+
+Startup would likely be done at session login or by
+launching actions or processes manually once the user
+logs in. Note: Deamons like "dtpdmd" must be started after Xprt.
+.PP
+.PP
+Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage):
+.TP 0.4i
+1.
+
+.nf
+[machineA] % Xprt [\-XpFile <Xprinters file>] [:dispNum] &
+.fi
+
+
+Note that Xprt will look for configuration files in either
+a default location or where \fBXPCONFIGDIR\fR points.
+
+\fB\-XpFile\fR specifies an alternate `Xprinters' file, rather
+than the default one or `\fB${XPCONFIGDIR}/C/print/Xprinters\fR'.
+.TP 0.4i
+2.
+
+.nf
+[machineA] % dtpdmd \-d machineA[:dispNum] [\-l /tmp/dtpdmd.log] &
+.fi
+
+
+The dtpdmd will maintain an X-Selection on the X-Server,
+and will start dtpdm's as required to service requests.
+.PP
+.PP
+In all but the per-user session model, the machine running the dtpdmd
+(thus dtpdm's) will need display authorization to the users video
+display.
+.SH "CLIENT CONFIGURATION"
+Once a X Print Server and dtpdmd have been started -- many of them
+in some cases -- clients will need to find and use them. There are
+two mechanisms that allow clients to discover X Print Servers and
+printers.
+.TP 0.2i
+\(bu
+"X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
+applications, the following notation is understood:
+
+
+.nf
+printer_name@machine[:dispNum]
+.fi
+
+
+For example:
+
+
+.nf
+colorlj7@printhub:2
+.fi
+
+
+In the above example, the X Print Server running at `printhub:2'
+is assumed to support the printer named `colorlj7'.
+.TP 0.2i
+\(bu
+\fB${XPSERVERLIST}\fR - assuming usage of the DtPrint print dialogs,
+the environment variable \fB${XPSERVERLIST}\fR can contain a list
+of X Print Servers. For example:
+
+
+.nf
+XPSERVERLIST="printhub:2 printhub:3 otherdept:0"
+.fi
+
+
+Then in the dialogs, only a printer name needs to be entered.
+The dialog will then search the X Print Servers in \fB${XPSERVERLIST}\fR
+for a server than supports the printer, and then establish
+contact.
+.PP
+.SH "END-USER SEQUENCE"
+From most CDEnext applications, printing is accomplished by bringing
+down the <File> menu and selecting <Print...>. This will result in
+the DtPrintSetupBox dialog, which will request the name of a printer,
+and offer limited capability to configure print options (e.g. number
+of copies). If the user wishes, they can select <Setup...>, which
+will start a dtpdm capable of modifying additional print options.
+Finally, the user should select <Print>.
+.SH ENVIRONMENT
+.TP 
+\fB${XPCONFIGDIR}\fR
+This environment variable points to the root
+of the Xprint server configuration directory hierarchy.
+If the variable is not defined, the default
+path is be assumed. The default path may be
+\fB/usr/X11R6/lib/X11/xserver/\fR, 
+\fB/usr/lib/X11/xserver/\fR,
+\fB/usr/share/Xprint/xserver/\fR or
+\fB/usr/openwin/server/etc/XpConfig\fR, depending on the
+system, and may be configured in \fB/etc/init.d/xprint\fR.
+.TP 
+\fB${LANG}\fR
+This environment variable selects the locale settings used by the Xprint server.
+Xprt allows language-specific settings (stored in \fB${XPCONFIGDIR}/${LANG}/print/\fR)
+which will override the default settings (stored in \fB${XPCONFIGDIR}/C/print/\fR).
+If \fB${LANG}\fR is not set "C" is assumed.
+.TP 
+\fB${XPSERVERLIST}\fR
+The environment variable \fB${XPSERVERLIST}\fR contains a list
+of display identifiers (separated by whitespace) which tell an
+application where it can find the Xprint servers. Usually
+\fB${XPSERVERLIST}\fR is set by the profile startup scripts (e.g.
+\fB/etc/profile\fR or \fB/etc/profile.d/xprint.sh\fR) using the output of
+\fB/etc/init.d/xprint get_xpserverlist\fR.
+
+Example: 
+
+.nf
+
+		export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"
+.fi
+
+
+Alternatively \fB${XPSERVERLIST}\fR can be set
+manually. Example:
+
+.nf
+
+		export XPSERVERLIST="littlecat:80 bitdog:72"
+.fi
+
+instructs an application to find an Xprint server at display
+80 on the machine "littlecat" and at display 72 on the
+machine bigdog.
+.TP 
+\fB${XPRINTER}\fR 
+The environment variable \fB${XPRINTER}\fR
+defines the default printer used by print
+applications. The syntax is either
+\fIprintername\fR or
+\fIprintername\fR@\fIdisplay\fR.
+
+Examples:
+.RS 
+.TP 
+\fBXPRINTER=ps003\fR
+tells an application to look for the
+first printer named "ps003" on all Xprint
+servers.
+.TP 
+\fBXPRINTER=hplaser19@littlecat:80\fR
+tells an application to use the printer "hplaser19"
+on the Xprint server at display 
+"littlecat:80".
+.RE
+
+
+If \fB${XPRINTER}\fR is not set the applications
+will examine the values of the \fB${PDPRINTER}\fR,
+\fB${LPDEST}\fR, and 
+\fB${PRINTER}\fR environment variables (in that order). 
+.SH "SEE ALSO"
+\fBX11\fR(__miscmansuffix__), \fBxplsprinters\fR(__appmansuffix__), \fBxprehashprinterlist\fR(__appmansuffix__), \fBxphelloworld\fR(__appmansuffix__), \fBxpxmhelloworld\fR(__appmansuffix__), \fBxpawhelloworld\fR(__appmansuffix__), \fBxpxthelloworld\fR(__appmansuffix__), \fBxpsimplehelloworld\fR(__appmansuffix__), \fBXserver\fR(__appmansuffix__), \fBXprt\fR(__appmansuffix__), \fBlibXp\fR(__libmansuffix__), \fBlibXprintUtils\fR(__libmansuffix__), \fBlibXprintAppUtils\fR(__libmansuffix__), \fBXmPrintShell\fR(__libmansuffix__), \fBXawPrintShell\fR(__libmansuffix__), Xprint FAQ (http://xprint.mozdev.org/docs/Xprint_FAQ.html), Xprint main site (http://xprint.mozdev.org/)
+.SH AUTHORS
+This manual page was written by 
+Roland Mainz <roland.mainz@nrubsig.org> based on the original X11R6.6
+\fBxc/programs/Xserver/XpConfig/README\fR.
diff --git a/man/Xprint.sgml b/man/Xprint.sgml
new file mode 100644
index 0000000..1f7e0a7
--- /dev/null
+++ b/man/Xprint.sgml
@@ -0,0 +1,627 @@
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.2//EN" 'http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd'>
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+     page: 'docbook-to-man manpage.sgml > manpage.1'.  You may view
+     the manual page with: 'docbook-to-man manpage.sgml | nroff -man | less'. 
+     A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+	docbook-to-man $< > $@
+
+HTML generation can be done like this:
+% xsltproc ==docbook /usr/share/sgml/docbook/docbook-xsl-stylesheets-1.60.1/html/docbook.xsl Xprint.sgml >Xprint.html
+  -->
+
+<refentry id="Xprint">
+  <refmeta>
+    <refentrytitle>Xprint</refentrytitle>
+    <manvolnum>__miscmansuffix__</manvolnum>
+  </refmeta>
+  <refnamediv>
+    <refname>Xprint</refname>
+
+    <refpurpose>The "X print service" - a portable, network-transparent printing system based on the X11 protocol</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <para>Xprint is a very flexible, extensible, scaleable, client/server
+     print system based on ISO 10175 (and some other specs) and the X11        
+     rendering protocol.                                                       
+     Using Xprint an application can search, query and use devices like        
+     printers, FAX machines or create documents in formats like PDF.           
+     In particular, an application can seek a printer, query supported         
+     attributes (like paper size, trays, fonts etc.), configure the printer    
+     device to match it&rsquo;s needs and print on it like on any other X device     
+     reusing parts of the code which is used for the video card Xserver.    
+    </para>
+  </refsynopsisdiv>
+  
+  <refsect1>
+    <title>OVERVIEW</title>
+    <para>
+      The "X Print Service" technology allows X rendering to devices such as
+      printers and fax.  Most of the service is available in the X11
+      technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
+      Modifications have also been made to the LessTif/Motif/Qt technology
+      stacks to support Xprint.
+    </para>
+    <para>
+      The Xp portion consists of:
+      <itemizedlist>
+        <listitem><para>Xp Extension for the X-Server (included in the X-Server Xprt)</para></listitem>
+        <listitem><para>Xp Extension API for the client side (libXp/libXprintUtils)</para></listitem>
+        <listitem><para>PCL ddx driver that converts core X to native PCL</para></listitem>
+        <listitem><para>PDF ddx driver that converts core X to native PDF</para></listitem>
+        <listitem><para>PostScript ddx driver that converts core X to native PostScript</para></listitem>
+        <listitem><para>Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters</para></listitem>
+      </itemizedlist>
+    </para>
+    <para>
+      From an X clients perspective, it can attach to one of two nearly
+      identical X-Servers, a "Video" X-Server, and a "Print" X-Server
+      which has the additional Xp capability but otherwise looks and
+      behaves the same.   
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>HOW THE X PRINT SERVICE WORKS</title>
+    <para>    
+      The X Print Service expands on the traditional X-Server and Xlib world
+      in four ways.
+
+      <orderedlist>
+        <listitem>
+          <para>
+            Most obvious is the use of "print ddx drivers" instead of
+            "video ddx drivers".  While a video ddx driver modifies pixels
+            in a video frame buffer, a print ddx driver generates "page
+            description language (PDL)" output (such as PCL, PDF or PostScript)
+            or sends the print rendering instructions to a platform-specific
+            print API (like Win32/GDI).
+          </para>
+          <para>
+            Once a print ddx driver generates PDL output, it can be sent to
+            a spooler such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+            or retrieved by the client (to implement functionality like "print-to-file").
+          </para>
+          <para>
+            Though not currently done, a single X-Server can support both
+            print and video ddx drivers.
+            <!-- FIXME: IBM/AIX people have integrated Xprt into their main Xserver (currently experimental) ... -->
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Since printers support "paged" output, unlike video, a portion
+            of the Xp Extension supports APIs to delineate printed output.
+            For example, <function>XpStartPage</function> and <function>XpEndPage</function> tell the X-Server where
+            a physical page starts and ends in an otherwise continuous
+            stream of X rendering primitives.  Likewise, <function>XpStartJob</function> and
+            <function>XpEndJob</function> determine when a collection of pages starts and ends.
+            <function>XpEndJob</function> typically causes the generated PDL to be submitted to
+            a spooler, such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Since printers have extensive capabilities, another portion of
+            the Xp Extension supports APIs to manipulate "print contexts".
+          </para>
+          <para>
+            Once a printer is selected using the Xp Extension API, a print
+            context to represent it can be created.  A print context
+            embodies the printer selected - it contains the printer's
+            default capabilities, selectable range of capabilities,
+            printer state, and generated output.  Some "attributes" within
+            the print context can be modified by the user, and the
+            X-Server and print ddx driver will react accordingly.  For
+            example, the attribute "content-orientation" can be set to
+            "landscape" or "portrait" (if the printer supports these 
+            values - which can be queried using the Xprint API as well).
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Since printers can have "built in" fonts, the Xp Extension in
+            the X-Server works with the print ddx drivers to make
+            available (for printing only) additional fonts on a per print
+            context basis.
+          </para>
+          <para>
+            When a print context is created and set for a given printer,
+            the X font calls may be able to access additional printer
+            fonts.  To do this (typically), the X-Server must have access
+            to "printer metric files" (.pmf) that describe at minimum the
+            metrics of the built in fonts.
+          </para>
+        </listitem>
+      </orderedlist>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>USAGE</title>
+    <para>    
+      There are three tasks to start the X Print Service:
+      <orderedlist>
+        <listitem><para>configuring the X Print Server,</para></listitem>
+        <listitem><para>starting the X Print Service</para></listitem>
+        <listitem><para>configuring the user session so that clients can find the running X Print Service</para></listitem>
+      </orderedlist>
+    </para>
+    <para>
+      The tasks are described in detail below.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>SERVER CONFIGURATION</title>
+    <para>
+      The X Print Server (Xprt) can read a number of configuration files which
+      control its behavior and support for printers.  Each vendor platform has
+      a default location for this information.  Xprt can also read the
+      environment variable <envar>XPCONFIGDIR</envar> to locate alternate configuration
+      directories.  Common settings include:
+
+      <simplelist type="vert">
+        <member>export XPCONFIGDIR=/X11/lib/X11/XpConfig/</member>
+        <member>export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/</member>
+      </simplelist>
+    </para>
+    <para>
+      Xprt has many built-in defaults, and lacking any configuration files,
+      will immediately try to support all printers visible via <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+    </para>
+    <para>
+      In order of importance for configuration by a system administrator, the
+      configuration files for a "C" locale are as follows (see <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry> for more
+      details (including support for non-"C" locales)):
+      <variablelist>
+        <varlistentry>
+          <term><filename>${XPCONFIGDIR}/C/print/Xprinters</filename></term>
+          <listitem>
+            <para>
+              'Xprinters' is the top most configuration file.  It tells
+              Xprt which specific printer names (e.g.  mylaser) should
+              be supported, and whether <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> or other commands
+              should be used to automatically supplement the list of
+              printers.
+            </para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><filename>${XPCONFIGDIR}/C/print/attributes/printer</filename></term>
+          <listitem>
+            <para>
+              The 'printer' file maps printer names to model
+              configurations (see 'model-config' below).  For example,
+              "mylaser" could be mapped to a "HPDJ1600C", and all other
+              arbitrary printers could be mapped to a default, such as
+              "HPLJ4SI".  When depending on <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> in the Xprinters
+              file, setting up defaults in 'printer' becomes all the
+              more important.
+            </para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><filename>${XPCONFIGDIR}/C/print/attributes/document</filename></term>
+          <listitem>
+            <para>
+              The 'document' file specifies the initial document values
+              for any print jobs.  For example, which paper tray to
+              use, what default resolution, etc.
+            </para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><filename>${XPCONFIGDIR}/C/print/attributes/job</filename></term>
+          <listitem>
+            <para>
+              The 'job' file specifies the initial job values for any
+              print jobs.  For example, "notification-profile" can be
+              set so that when a print job is successfully sent to a
+              printer, e-mail is sent to the user.
+            </para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/model-config</filename></term>
+          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir</filename></term>
+          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf</filename></term>
+          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf</filename></term>
+
+          <listitem>
+            <para>
+              The 'model-config' file has attributes that describe the
+              printer model&rsquo;s capabilities and default settings.
+              Printer model fonts may also be present.  The model-config
+              file also identifies the print ddx driver to be used.
+
+              For each printer model supported, a complete hierarchy of
+              files should exist.  In most cases, these files do not
+              need to be modified.
+            </para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pcl</filename></term>
+          <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pdf</filename></term>
+          <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/postscript</filename></term>
+
+          <listitem>
+            <para>
+              The print ddx drivers can have highly specific
+              configuration files to control their behavior.  In most
+              cases, these files do not need to be modified.
+            </para>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+      
+      More information in how to configure and customize the X print server can be found in the
+      <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry>
+      manual page.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>STARTING UP</title>
+    <para>
+      The summary checklist for starting the X Print Service is as follows:


Reply to: