xprint: Branch 'master'
Drew Parsons
dparsons at kemper.freedesktop.org
Sat Oct 17 21:55:23 PDT 2009
hw/xprint/doc/Makefile.am | 3
hw/xprint/doc/Xprint_FAQ.html | 3162 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 3164 insertions(+), 1 deletion(-)
New commits:
commit 2686a3828720ee65a67896b74a9d02ca7f00e479
Author: Drew Parsons <dparsons at debian.org>
Date: Sun Oct 18 15:54:27 2009 +1100
Add Xprint FAQ.
Copied from http://xprint.mozdev.org/docs/Xprint_FAQ.html.
Useful document.
diff --git a/hw/xprint/doc/Makefile.am b/hw/xprint/doc/Makefile.am
index e6a8397..f071284 100644
--- a/hw/xprint/doc/Makefile.am
+++ b/hw/xprint/doc/Makefile.am
@@ -19,4 +19,5 @@ SUFFIXES += .$(APP_MAN_SUFFIX) .man
$(LN_S) $< $@
EXTRA_DIST = $(MAN_SRCS) Xprt.html Xprt.sgml Xprt.ps \
- Xprt.book Xprt.mif XprtIX.doc XprtTOC.doc Xprt_cov.mif
+ Xprt.book Xprt.mif XprtIX.doc XprtTOC.doc Xprt_cov.mif \
+ Xprint_FAQ.html
diff --git a/hw/xprint/doc/Xprint_FAQ.html b/hw/xprint/doc/Xprint_FAQ.html
new file mode 100644
index 0000000..52b24d0
--- /dev/null
+++ b/hw/xprint/doc/Xprint_FAQ.html
@@ -0,0 +1,3162 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Xprint Frequently Asked Questions</title><meta name="generator" content="DocBook XSL Stylesheets V1.62.4"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2873367"></a>Xprint Frequently Asked Questions</h1></div></div><div></div><hr></div><div xmlns:ns1="" class="abstract"><a name="about"></a><p class="title"><b>About this FAQ</b></p><p>
+ Archive-name: Xprint/FAQ
+ </p><p>
+ Version: 0.9.1
+ </p><p>
+ Last-Modified: 2004/06/14 08:15:16
+ </p><p>
+ Maintained-by:
+ <span class="othercredit"><span class="firstname">Roland</span> <span class="surname">Mainz</span></span>
+ <tt class="email"><<a href="mailto:roland.mainz at nrubsig.org">roland.mainz at nrubsig.org</a>></tt>
+ </p><p>
+ The following is a list of questions that are frequently asked about
+ Xprint.
+ </p><p>
+ You can help make it an even better-quality FAQ by writing a short
+ contribution or update and sending it BY EMAIL ONLY to me.
+ A contribution should consist of a question and an answer, and increasing
+ number of people sends me contributions of the form "I don't know the
+ answer to this, but it must be a FAQ, please answer it for me". Please
+ read the FAQ first (including the item "<a href="#getting_help">Getting Help</a>")
+ and then feel free to ask me if it is not in the FAQ.
+ </p><p>
+ Thanks!
+ </p><p>
+ The latest Xprint FAQ and some other goodies can be obtained through http from
+ <a href="http://xprint.freedesktop.org/cgi-bin/viewcvs.cgi/*checkout*/xorg/xc/doc/hardcopy/XPRINT/Xprint_FAQ.html" target="_top">
+ http://xprint.freedesktop.org/cgi-bin/viewcvs.cgi/*checkout*/xorg/xc/doc/hardcopy/XPRINT/Xprint_FAQ.html
+ </a>
+ or
+ <a href="http://xprint.freedesktop.org/cgi-bin/viewcvs.cgi/*checkout*/xorg/xc/doc/hardcopy/XPRINT/Xprint_FAQ.txt" target="_top">
+ http://xprint.freedesktop.org/cgi-bin/viewcvs.cgi/*checkout*/xorg/xc/doc/hardcopy/XPRINT/Xprint_FAQ.txt
+ </a>
+ (the DocBook/XML master source file is
+ <a href="http://xprint.freedesktop.org/cgi-bin/viewcvs.cgi/xorg/xc/doc/hardcopy/XPRINT/Xprint_FAQ.xml" target="_top">
+ http://xprint.freedesktop.org/cgi-bin/viewcvs.cgi/xorg/xc/doc/hardcopy/XPRINT/Xprint_FAQ.xml
+ </a>).
+ </p><p>
+ </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+ Note that the FAQ has not been finished yet (nor is it half-finished...),
+ many items marked with "XXX" as the answer have still to be written (or have
+ to be copy&pasted from my item collection... <tt class="literal">:)</tt>
+ </p></div><p>
+ </p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="faq"></a>Frequently Asked Questions with Answers</h2></div></div><div></div></div><div class="qandaset"><dl><dt>1. <a href="#faq_general">General</a></dt><dd><dl><dt>Q: <a href="#what_is_xprint">
+ What is "Xprint" ?
+ </a></dt><dt>Q: <a href="#where_can_i_get_xprint_from">
+ Where can I get Xprint/Xprt from ?
+ </a></dt><dt>Q: <a href="#what_is_xprt">
+ What is "Xprt" ?
+ </a></dt><dt>Q: <a href="#getting_help">
+ Where can I get help for problems with Xprint ?
+ </a></dt><dt>Q: <a href="#advantages_of_xprint">
+ "Why do some people like Xprint ?" / "What are the advantages of Xprint ?"
+ </a></dt><dt>Q: <a href="#contra_xprint">
+ Why do some people dislike Xprint ?
+ </a></dt><dt>Q: <a href="#does_xprint_support_anti_aliased_fonts">
+ Does Xprint support anti-aliased fonts ?
+ </a></dt><dt>Q: <a href="#id2808525">
+ How can I check if Xprint is working and should be used ?
+ </a></dt><dt>Q: <a href="#how_can_i_view_postscript_files">
+ How can I view PS(=PostScript) files ?
+ </a></dt><dt>Q: <a href="#how_can_i_view_pcl_files">
+ How can I view PCL files ?
+ </a></dt><dt>Q: <a href="#id2808706">
+ How does Xprt find fonts ?
+ </a></dt><dt>Q: <a href="#id2808781">
+ How can I print TrueType fonts with Xprint ?
+ </a></dt><dt>Q: <a href="#what_does_ddx_mean">
+ What does "DDX" mean ?
+ </a></dt><dt>Q: <a href="#what_does_dix_mean">
+ What does "DIX" mean ?
+ </a></dt><dt>Q: <a href="#what_does_pdl_mean">
+ What does "PDL" mean ?
+ </a></dt><dt>Q: <a href="#id2809022">
+ I have twenty printers installed on my system - but Xprt only shows two
+ screens. Where are all the other printers ?
+ </a></dt><dt>Q: <a href="#platforms_supported_by_xprint">
+ Which platforms support Xprint ?
+ </a></dt><dt>Q: <a href="#id2809119">
+ I have the broken Xfree86 Xprt binary on my system. Do I need a new
+ version of libXp.so (the client side X11 extension library for Xprint),
+ too ?
+ </a></dt><dt>Q: <a href="#how_do_i_spell_xprint">
+ Which spelling is correct - "Xprint", "XPrint", "Xprinter" or Xprt" ?
+ </a></dt><dt>Q: <a href="#id2809192">
+ Which applications support Xprint ?
+ </a></dt><dt>Q: <a href="#is_xprint_only_for_mozilla">
+ Is "Xprint" "mozilla"-only (I saw that it's hosted by mozdev.org) ?
+ </a></dt><dt>Q: <a href="#xprint_license">
+ Under which license is the source code from xprint.mozdev.org distributed under ?
+ </a></dt><dt>Q: <a href="#why_does_xprint_not_use_ppds">
+ Why does Xprint not use PPDs for configuration ?
+ </a></dt></dl></dd><dt>2. <a href="#faq_usage">Usage</a></dt><dd><dl><dt>Q: <a href="#how_to_configure_xprint_clients">
+ How do I configure Xprint on the client side ?
+ </a></dt><dt>Q: <a href="#how_do_i_start_xprt">
+ How do I start Xprt ?
+ </a></dt><dt>Q: <a href="#id2874377">
+ How can I get a list of printers managed by Xprint ?
+ </a></dt><dt>Q: <a href="#id2874480">
+ How can I start Xprt at boot time ?
+ </a></dt><dt>Q: <a href="#id2874513">
+ How can I start Xprt per-user ?
+ </a></dt><dt>Q: <a href="#id2874545">
+ How can I start Xprt only for one application ?
+ </a></dt><dt>Q: <a href="#id2874579">
+ How can I filter the font path which should be passed to Xprt for
+ certain fonts ?
+ </a></dt><dt>Q: <a href="#id2874601">
+ How can I manage access control to the Xprt server ?
+ </a></dt><dt>Q: <a href="#id2874699">
+ How can I log access to the Xprt server ?
+ </a></dt><dt>Q: <a href="#id2874732">
+ Does it require "root" permissions to use Xprt/Xprint ?
+ </a></dt><dt>Q: <a href="#id2874774">
+ How can I see the attributes of a printer managed by Xprint ?
+ </a></dt><dt>Q: <a href="#how_can_i_list_the_font_path_used_by_xprint">
+ How can I list the font path used by a Xprt server ?
+ </a></dt><dt>Q: <a href="#id2874905">
+ "xset q" lists all model-specific font dirs (like
+ PRINTER:/myxpcfg/C/print/models/SPSPARC2/fonts/") - is that a bug ?
+ </a></dt><dt>Q: <a href="#id2874954">
+ My application lists a printer called "xp_ps_spooldir_tmp_Xprintjobs" /
+ "xp_pdf_spooldir_tmp_Xprintjobs" / "spooldir_tmp_Xprintjobs" / in the
+ print dialog but I do not have such a print queue installed anywhere.
+ What is that for a thing ?!
+ </a></dt><dt>Q: <a href="#manual_xprint_forwarding_via_ssh">
+ How can I forward Xprint services when logging-in via ssh to another machine ?
+ </a></dt></dl></dd><dt>3. <a href="#faq_configuration">Configuration</a></dt><dd><dl><dt>Q: <a href="#configure_default_printer">
+ How do I change the default printer used by Xprint applications ?
+ </a></dt><dt>Q: <a href="#configure_default_plex">
+ How do I change the defaults for double-sided/single-sided/etc.
+ printing ?
+ </a></dt><dt>Q: <a href="#configure_default_papersize">
+ I am in America and I don't have any ISO A4 paper. How do I change the
+ default paper size to 8.5 inch x 11 inch (US-Letter) ?
+ </a></dt><dt>Q: <a href="#configure_default_resolution">
+ How do I change the default printer resolution ?
+ </a></dt><dt>Q: <a href="#configure_default_orientation">
+ How do I change the default settings for "portrait"/"landscape"/"seascape" (=page orientation) ?
+ </a></dt><dt>Q: <a href="#how_to_prevent_usage_of_bitmap_fonts">
+ How can I prevent Xprt from using any bitmap(=gfx) fonts ?
+ </a></dt><dt>Q: <a href="#configure_manual_list_of_printers">
+ I want only my manually added printers managed by Xprint. How can I
+ prevent Xprt from looking-up the printer names automatically ?
+ </a></dt><dt>Q: <a href="#configure_custom_script_to_enumerate_system_printers">
+ How can I specify an own program/script to enumerate the printers on my system ?
+ </a></dt><dt>Q: <a href="#id2877080">
+ Which program is used by default by Xprt to enumerate the printers on my system ?
+ </a></dt><dt>Q: <a href="#id2877337">
+ Where can I get more PostScript Type1 fonts from ?
+ </a></dt><dt>Q: <a href="#id2877686">
+ What are PMF fonts (e.g. the *.pmf fonts in
+ ${XPCONFIGDIR}/C/print/models/%model_name%/fonts/ (or
+ ${XPCONFIGDIR}/${LANG}/print/models/%model_name%/fonts/)) ?
+ </a></dt><dt>Q: <a href="#id2877773">
+ Can I use the fontserver ("xfs") with Xprt ?
+ </a></dt><dt>Q: <a href="#id2877836">
+ What is a "model-config" ?
+ </a></dt><dt>Q: <a href="#id2877947">
+ Where can I store the default values for printers ?
+ </a></dt><dt>Q: <a href="#id2877968">
+ How can I create my own model-config ?
+ </a></dt><dt>Q: <a href="#id2877990">
+ How can I create my own PMF "fonts" ?
+ </a></dt><dt>Q: <a href="#where_can_i_get_more_model_configs_from">
+ Where can I get more model-configs from ?
+ </a></dt><dt>Q: <a href="#id2878099">
+ If I install Xprt &co. as "root" in the default location and don't need
+ to set ${XPCONFIGDIR} - where are my configuration files located then ?
+ </a></dt><dt>Q: <a href="#id2878242">
+ Are config files and/or the PMF fonts architecture dependent ?
+ </a></dt><dt>Q: <a href="#id2878311">
+ Can I localise my Xprint/Xprt configuration (l10n) ?
+ </a></dt><dt>Q: <a href="#id2878596">
+ Can I execute my own scripts to process the PostScript files generated
+ by Xprt ?
+ </a></dt><dt>Q: <a href="#id2878803">
+ How can I disable "xp_ps_spooldir_tmp_Xprintjobs" / "xp_pdf_spooldir_tmp_Xprintjobs" printer targets ?
+ </a></dt></dl></dd><dt>4. <a href="#faq_troubleshooting">Troubleshooting</a></dt><dd><dl><dt>Q: <a href="#printout_only_covers_1_4_of_the_paper">
+ "Printing itself works but the printout covers only 1/4 of the paper - what am I doing wrong ?"
+ </a></dt><dt>Q: <a href="#id2878971">
+ "Printing works but I get large borders/margins..." / "[Top] margin is too small" /
+ "Margins are wrong" / etc.
+ </a></dt><dt>Q: <a href="#id2879055">
+ Xprt refuses to start with the message "sh: lpc: command not found" on
+ my Linux machine. What does that mean ?
+ </a></dt><dt>Q: <a href="#id2879146">
+ When the application (=client side) tries to connect to the Xprt
+ (Xserver) side it fails with a
+
+Xlib: connection to "meridian:52.0" refused by server
+Xlib: Client is not authorized to connect to Server
+
+ What does that mean ?
+ </a></dt><dt>Q: <a href="#id2879415">
+ Xprt refuses to start with the message "failed to set default font path
+ '...' Fatal server error: could not open default font 'fixed'".
+ What does that mean ?
+ </a></dt><dt>Q: <a href="#id2879513">
+ Just copying my fonts into a directory and adding the path to my Xprt
+ command line didn't work - I always get "Fatal server error: could not
+ open default font 'fixed'". What am I doing wrong ?
+ </a></dt><dt>Q: <a href="#id2879625">
+ Xprt refuses to start with the message "Fatal server error: Cannot
+ establish any listening sockets - Make sure an X server isn't already
+ running". What does that mean ?
+ </a></dt><dt>Q: <a href="#id2879653">
+ Xprt refuses to start with the message "Fatal server error: Failed to
+ establish all listening sockets". What does that mean ?
+ </a></dt><dt>Q: <a href="#id2879698">
+ Xprt refuses to start with the message "Fatal server error: could not
+ open default font 'fixed'" or "Fatal server error: could not open default
+ cursor font 'cursor'".
+ </a></dt><dt>Q: <a href="#id2879727">
+ Xprt refuses to start with the message "Fatal server error: no screens
+ found". What does that mean ?
+ </a></dt><dt>Q: <a href="#id2880016">
+ Xprt prints a warning like "Xp Extension: could not find config dir
+ /usr/X11R6/lib/X11/C/print" - what does that mean ?
+ </a></dt><dt>Q: <a href="#id2880091">
+ Xprt crashes with "Fatal server error: Beziers this big not yet supported"
+ What does that mean ?
+ </a></dt><dt>Q: <a href="#id2880117">
+ "My PS Type1 font does not work with my Xserver - how can I fix this ?"
+ </a></dt><dt>Q: <a href="#id2880230">
+ I can't get it working. I have set ${DISPLAY} correctly to point to the
+ Xprt display and... ... What is going wrong ?
+ </a></dt><dt>Q: <a href="#id2880277">
+ When I try to print via Xprint I get the message "Fatal server error:
+ unable to exec '/usr/bin/lp'". What is going wrong here ?
+ </a></dt><dt>Q: <a href="#id2880318">
+ The Solaris Xprt prints some error messages about PostScript fonts like
+ "FOOBAR not found, using Courier. CMEX0123 not found, using Courier."
+ etc. and uses "Courier" instead of these fonts...
+ </a></dt><dt>Q: <a href="#id2880605">
+ "Xprt refused to start, complaining about a missing dir
+ (/etc/X11/xserver/C/print/ directory)... I created it by hand (empty) and
+ started Xprt but it still does not work properly..."
+ </a></dt><dt>Q: <a href="#id2880661">
+ My Linux system already shipps with a '/usr/X11R6/bin/Xprt'-binary.
+ Do I need the binary distribution from http://xprint.mozdev.org/ ?
+ </a></dt><dt>Q: <a href="#id2880745">
+ I am getting the error message "error opening security policy file
+ /usr/X11R6/lib/X11/xserver/SecurityPolicy". What does that mean ?
+ </a></dt><dt>Q: <a href="#id2880798">
+ I have modified the "HPLJ4family" [or "HPDJ1600C" etc.] printer model to
+ work with my PostScript printer, but when I print I get empty places
+ where some text should be - what am I doing wrong here ?
+ </a></dt><dt>Q: <a href="#id2880851">
+ Xprt outputs warning messages like:
+
+
+Xp Extension: Can't load driver XP-PCL-MONO
+ init function missing
+Xp Extension: Can't load driver XP-RASTER
+ init function missing
+
+
+ What does that mean ?
+ </a></dt><dt>Q: <a href="#bug_solaris_xprt_removes_spaces_between_words">
+ Printing on Solaris with Mozilla/Eclipse [or any other Xprint client]
+ removes spaces between words. What is going wrong ?
+ </a></dt><dt>Q: <a href="#id2881576">
+ Installation of the "GISWxprint" / "GISWxprintglue" packages fails like this:
+# pkgadd -d /space/staging/xprint/GISWxprint.pkg
+pkgadd: ERROR: no packages were found in </var/tmp/dstreAAA5Jayyz>
+ Any idea what I am doing wrong ?
+ </a></dt><dt>Q: <a href="#multiple_leading_blank_pages">
+ Printing page results in [two/three/.../16] leading blank pages, followed by a correct (but offset) page.
+ Any idea what is going wrong ?
+ </a></dt></dl></dd><dt>5. <a href="#faq_development">Software development</a></dt><dd><dl><dt>Q: <a href="#id2881884">
+ How does the X print server (Xprt) and the Xlib client side differ
+ from the "normal" video Xserver/video client side ?
+ </a></dt><dt>Q: <a href="#id2882332">
+ How can I get the printable area (e.g. the portion of the page on which
+ the printer is physically capable of placing ink) of the paper after I
+ have chosen a paper ?
+ </a></dt><dt>Q: <a href="#id2882381">
+ Do "offscreen" pixmaps work on Xprt ?
+ </a></dt><dt>Q: <a href="#id2882403">
+ How can I get the DPI value for the current Xprt server ? Can I use the
+ values from "xdpyinfo" ?
+ </a></dt><dt>Q: <a href="#why_does_xprt_not_support_mitshm">
+ Why does Xprt not offer the MIT-SHM protocol extension ?
+ </a></dt><dt>Q: <a href="#id2882576">
+ Does Xprint/Xprt support font rotation ?
+ </a></dt><dt>Q: <a href="#id2882696">
+ When I render something on my window and call XpStartPage all the
+ rendered stuff is gone, I only get a white, empty paper.
+ What is going wrong here ?
+ </a></dt><dt>Q: <a href="#id2882791">
+ What is XpStartDoc for ?
+ </a></dt><dt>Q: <a href="#id2882881">
+ How does the XLFD for printer-builtin fonts look like ? / How can I find/identify printer-builtin fonts ?
+ </a></dt><dt>Q: <a href="#id2882955">
+ How can I scale images using the Xprint API ?
+ </a></dt><dt>Q: <a href="#id2882976">
+ Can I pass my own PostScript code (fragment) to the print spooler instead of letting
+ Xprt's PostScript DDX generate it ?
+ </a></dt><dt>Q: <a href="#id2883002">
+ When I use XpPutDocumentData I get a
+ BadValue X protocol error. Any idea what am I doing wrong ?
+ </a></dt><dt>Q: <a href="#id2883043">
+ How do I use the XprintUtil library ?
+ </a></dt><dt>Q: <a href="#why_does_xgetimage_not_work">
+ Why does the XGetImage not work for Xprt ?
+ </a></dt><dt>Q: <a href="#id2883200">
+ How to print with Xt/Athena widgets ?
+ </a></dt><dt>Q: <a href="#id2883293">
+ How to print with Xt/Motif widgets ?
+ </a></dt><dt>Q: <a href="#id2883318">
+ What are the differences between normal display and Xprint display ?
+ </a></dt><dt>Q: <a href="#id2883340">
+ How do I scale images ?
+ </a></dt><dt>Q: <a href="#id2883361">
+ libXp Image scaling vs. max. request size ?
+ </a></dt><dt>Q: <a href="#id2883383">
+ How can I use XprintUtils ?
+ </a></dt><dt>Q: <a href="#id2883405">
+ How do I calculate the DPI values for Xprt DDX screens ?
+ </a></dt><dt>Q: <a href="#id2883427">
+ How do I find scaleable fonts ?
+ </a></dt><dt>Q: <a href="#id2883449">
+ How do I find printer-builtin fonts ?
+ </a></dt><dt>Q: <a href="#id2883470">
+ The XLFD for Printer-builtin fonts look like bitmap fonts - is that bad ?
+ </a></dt><dt>Q: <a href="#id2883501">
+ When printing using the XawPrintShell/XmPrintShell print shells my PostScript output
+ is always corrupt. What am I doing wrong ?
+ </a></dt><dt>Q: <a href="#id2883569">
+ When printing using the XawPrintShell/XmPrintShell
+ print shells I always get a grey/dithered background on paper.
+ Any idea how to change that to "white" ?
+ </a></dt><dt>Q: <a href="#id2883605">
+ Are there any caveats/suggestions when printing via Xt/Motif2 widgets ?
+ </a></dt><dt>Q: <a href="#changing_page_attributes_on_the_fly_when_using_printshells">
+ Can I change the paper size/resolution/page orientation/etc. when printing using the
+ XawPrintShell/XmPrintShell print shells ?
+ </a></dt><dt>Q: <a href="#examples_for_using_glx">
+ Where can I find an example how to print with Xprint using the OpenGL/GLX API ?
+ </a></dt></dl></dd></dl><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="qandadiv"><td align="left" valign="top" colspan="2"><a name="faq_general"></a><h4 class="title"><a name="faq_general"></a>1. General</h4></td></tr><tr class="toc" colspan="2"><td align="left" valign="top" colspan="2"><dl><dt>Q: <a href="#what_is_xprint">
+ What is "Xprint" ?
+ </a></dt><dt>Q: <a href="#where_can_i_get_xprint_from">
+ Where can I get Xprint/Xprt from ?
+ </a></dt><dt>Q: <a href="#what_is_xprt">
+ What is "Xprt" ?
+ </a></dt><dt>Q: <a href="#getting_help">
+ Where can I get help for problems with Xprint ?
+ </a></dt><dt>Q: <a href="#advantages_of_xprint">
+ "Why do some people like Xprint ?" / "What are the advantages of Xprint ?"
+ </a></dt><dt>Q: <a href="#contra_xprint">
+ Why do some people dislike Xprint ?
+ </a></dt><dt>Q: <a href="#does_xprint_support_anti_aliased_fonts">
+ Does Xprint support anti-aliased fonts ?
+ </a></dt><dt>Q: <a href="#id2808525">
+ How can I check if Xprint is working and should be used ?
+ </a></dt><dt>Q: <a href="#how_can_i_view_postscript_files">
+ How can I view PS(=PostScript) files ?
+ </a></dt><dt>Q: <a href="#how_can_i_view_pcl_files">
+ How can I view PCL files ?
+ </a></dt><dt>Q: <a href="#id2808706">
+ How does Xprt find fonts ?
+ </a></dt><dt>Q: <a href="#id2808781">
+ How can I print TrueType fonts with Xprint ?
+ </a></dt><dt>Q: <a href="#what_does_ddx_mean">
+ What does "DDX" mean ?
+ </a></dt><dt>Q: <a href="#what_does_dix_mean">
+ What does "DIX" mean ?
+ </a></dt><dt>Q: <a href="#what_does_pdl_mean">
+ What does "PDL" mean ?
+ </a></dt><dt>Q: <a href="#id2809022">
+ I have twenty printers installed on my system - but Xprt only shows two
+ screens. Where are all the other printers ?
+ </a></dt><dt>Q: <a href="#platforms_supported_by_xprint">
+ Which platforms support Xprint ?
+ </a></dt><dt>Q: <a href="#id2809119">
+ I have the broken Xfree86 Xprt binary on my system. Do I need a new
+ version of libXp.so (the client side X11 extension library for Xprint),
+ too ?
+ </a></dt><dt>Q: <a href="#how_do_i_spell_xprint">
+ Which spelling is correct - "Xprint", "XPrint", "Xprinter" or Xprt" ?
+ </a></dt><dt>Q: <a href="#id2809192">
+ Which applications support Xprint ?
+ </a></dt><dt>Q: <a href="#is_xprint_only_for_mozilla">
+ Is "Xprint" "mozilla"-only (I saw that it's hosted by mozdev.org) ?
+ </a></dt><dt>Q: <a href="#xprint_license">
+ Under which license is the source code from xprint.mozdev.org distributed under ?
+ </a></dt><dt>Q: <a href="#why_does_xprint_not_use_ppds">
+ Why does Xprint not use PPDs for configuration ?
+ </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a name="what_is_xprint"></a><a name="id2807299"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ What is "Xprint" ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ In short, "Xprint" is an advanced printing system which enables X11
+ applications to use devices like printers, FAX or create documents in
+ formats like PostScript, PDF or SVGprint.
+ </p><p>
+ In long, "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 or SVGprint.
+ In particular, an application can seek a printer, query supported
+ attributes (like paper size, trays, fonts etc.), configure the printer
+ device to match it'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...
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="where_can_i_get_xprint_from"></a><a name="id2807341"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Where can I get Xprint/Xprt from ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns3="" align="left" valign="top"><p>
+ Xprint is client-server based, therefore two answers:
+ </p><div class="itemizedlist"><ul type="disc"><li xmlns:ns2=""><p>
+ The server side is available by default on Solaris (see
+ <a href="#where_can_i_get_xprint_from_giswxprint_package_note">Note</a>
+ below) and HP-UX (Xfree86 ships a "Xprt" binary, but that is broken and the server config files
+ are missing, too).
+ For those platforms who do not have a (working) Xprt server the you
+ can get source, binary tarballs and Linux RPMs from
+ <a href="http://xprint.mozdev.org/" target="_top">http://xprint.mozdev.org/</a>,
+ Debian Linux has a package based on the
+ same sources (see
+ <a href="http://packages.qa.debian.org/x/xprint-xprintorg.html" target="_top">http://packages.qa.debian.org/x/xprint-xprintorg.html</a>).
+
+ </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><a name="where_can_i_get_xprint_from_giswxprint_package_note"></a>Note</h3><p>
+ For Solaris >= 2.7 <a href="http://xprint.mozdev.org/" target="_top">http://xprint.mozdev.org/</a>
+ provides the "GISWxprintglue"
+ and "GISWxprint" packages (available from
+ <a href="http://xprint.mozdev.org/download.html" target="_top">http://xprint.mozdev.org/download.html</a>)
+ which provides a single-step
+ drop-in way to configure and start Xprint at system startup and/or
+ per-user for all applications and users (the package provides only
+ startup scripts and some config data and uses the Xprt binary provided
+ with Solaris (<tt class="filename">/usr/openwin/bin/Xprt</tt>)).
+ </p></div><p>
+ </p></li><li><p>
+ The client-side Xprint support library (<tt class="filename">libXp.so</tt>) is available on all
+ X11 platforms >=R6.4, including Linux, Solaris, HP-UX, AIX, FreeBSD, NetBSD, etc.
+ </p><p>
+ If you do not have it you can build it from the sources available at
+ <a href="http://xprint.mozdev.org/" target="_top">http://xprint.mozdev.org/</a>.
+ </p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="what_is_xprt"></a><a name="id2807545"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ What is "Xprt" ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Xprt is the server-side of Xprint. It's just like any other Xserver - it
+ uses only an other kind of output device (printer instead of framebuffer)
+ and implements an extra X11 extension ("XpExtension") to handle the
+ special features/requirements of a "paged device"(=printer etc.).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="getting_help"></a><a name="id2807575"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Where can I get help for problems with Xprint ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ The current main site for the Xprint development is <a href="http://xprint.mozdev.org/" target="_top">http://xprint.mozdev.org/</a>
+ which hosts various resources including a <a href="http://xprint.mozdev.org/list.html" target="_top">mailinglist</a>
+ (please subscribe before posting) for end-users, admin and developers.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="advantages_of_xprint"></a><a name="id2807635"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ "Why do some people like Xprint ?" / "What are the advantages of Xprint ?"
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns4="" align="left" valign="top"><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ Xprint allows an application to query what features (paper size, trays,
+ orientation, resolutions, plexes, fonts and much more) a printer supports.
+ For example it is avoidable that a user accidently prints DIN-A4 on a
+ DIN-A0 poster printer (the print dialog would only offer DIN-A0 as paper
+ size, e.g. offers only choices which are valid for this printer).
+ </p></li><li><p>
+ Server-side, localizeable configuration - changes to the server
+ config apply to all users without the need to change/updating anything
+ on the user side (the user may still start his/her own Xprt instance
+ using his/her preferred configuration).
+ </p></li><li><p>
+ Small footprint - ideal for for mobile devices (client side does not
+ need to process any fonts - that's the job of the server side).
+ </p></li><li><p>
+ API not restriced to PostScript (X11R6.5.1 comes with PCL and Raster
+ implementations - and PDF/G3-FAX/SVG would be possible without problems).
+ </p></li><li><p>
+ Scaleable - Xprint can use as many Xprt servers as the user/admin wants.
+ </p></li><li><p>
+ "Xprint is designed for the enterprise", e.g. Xprint was designed to
+ match the needs of large company networks.
+ </p></li><li><p>
+ Automatic font handling - font download or the existence of
+ printer-builtin fonts is automagically handled by Xprt - the application
+ does not need to know/handle any details (but the application can
+ optionally get information and control the usage of printer builtin
+ fonts).
+ </p></li><li><p>
+ You can print anything what you can render on the framebuffer(=video
+ card) Xserver.
+ </p></li><li><p>
+ Existing code can be reused 1:1 for printing - which means reduced
+ development costs.
+ </p></li><li><p>
+ Easy support for I18N (internationalization) - you simply render any
+ fonts in any language with Xprint.
+ </p></li><li><p>
+ Network-transparent design - Client can use local or remote Xprt servers
+ like any other Xserver.
+ </p></li><li><p>
+ Uses the X11 protocol - easy adoption of existing code to implement
+ printer support. And all the network goodies like firewall proxies,
+ compressors etc. can be used for Xprint without modifications.
+ </p></li><li><p>
+ Security: Xprint can use all authentification schemes available in X11
+ (like Kerberos5, SecureRPC, MIT-MAGIC-COOKIE or host-based
+ authentification).
+ </p></li><li><p>
+ Enhachements on the server side (Xprt) to not require the change of
+ client-side code.
+ </p></li><li><p>
+ Optimized job output (like the PostScript created by the PostScript DDX)
+ is usually a lot smaller than the PS code created by other PostScript
+ engines.
+ </p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="contra_xprint"></a><a name="id2807845"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Why do some people dislike Xprint ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ There are a few common misconceptions about Xprint.
+ Let's take a look some of these "myths", some background - and the facts:
+ </p><div class="blockquote"><blockquote class="blockquote"><div class="qandaset"><dl><dt>Myth: <a href="#id2807877">
+
+ Xprint prints just a XWD dump of the Xserver bitmap
+
+ </a></dt><dt>Myth: <a href="#id2808002">
+
+ Xprint cannot handle non-'ISO Latin 1' chars
+
+ </a></dt><dt>Myth: <a href="#id2808042">
+
+ Xprint uses a 1024x768 screen resolution to render the stuff on
+ the paper - therefore it will never be able to do high-resolution
+ stuff
+
+ </a></dt><dt>Myth: <a href="#id2808091">
+
+ Xprint prints only graphics(=bitmap/gfx) fonts
+
+ </a></dt><dt>Myth: <a href="#id2808172">
+
+ Xprint does not support pages sizes larger than DIN-A4
+
+ </a></dt><dt>Myth: <a href="#id2808219">
+
+ Xprint does not support rotated text
+
+ </a></dt><dt>Myth: <a href="#myth_rendering_model_not_good">
+
+ The X11 rendering model is not good enougth for printers
+
+ </a></dt></dl><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="question"><td align="left" valign="top"><a name="id2807877"></a><a name="id2807880"></a><b>Myth:</b></td><td align="left" valign="top"><p>
+ “<span class="quote">
+ Xprint prints just a XWD dump of the Xserver bitmap
+ </span>”
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>Fact:</b></td><td xmlns:ns5="" align="left" valign="top"><p>
+ Whoever says Xprint simply does an "xwd"-like dump is wrong.
+ </p><p>
+
+ In short, Xprint <span class="emphasis"><em>currently</em></span> (X11R6.5.1) supports *four* drivers:
+ </p><div class="orderedlist"><ol type="1"><li><p>
+ X to native Postscript
+ </p></li><li><p>
+ X to native PCL5
+ </p></li><li><p>
+ X to native PCL3
+ </p></li><li><p>
+ X to a raster which is then feed to something like xpr to
+ create PS or PCL5 wrapped rasters.
+ </p></li></ol></div><p>
+ </p><p>
+ In long, the original X Print Service ("XPS") was attempted
+ during CDE 1.0, and they only got so far as the "raster" driver.
+ </p><p>
+ As CDE 2.0 came around, Bob Schiefler and others at the X
+ Consortium agreed that the X Consortium would work on a X to
+ native PS Level 2 driver and HP would work on a X to native
+ PCL5 driver.
+ </p><p>
+ It was probably the CDE 1.0 effect that left many people with
+ the impression that Xprint is all about xwd-like window dumps.
+ NO! Xprint has native PostScript and PCL5 printing and more
+ drivers (like PDF and SVGprint DDXs etc.) are in the development.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2808002"></a><a name="id2808005"></a><b>Myth:</b></td><td align="left" valign="top"><p>
+ “<span class="quote">
+ Xprint cannot handle non-'ISO Latin 1' chars
+ </span>”
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>Fact:</b></td><td align="left" valign="top"><p>
+ Xprint can print any chars incl. those required for MathML,
+ Hebrew, Arabic, Japanese etc. etc.
+ For example - the Xprint module for Mozilla5 is the only print
+ module which can proprtly print MathML.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2808042"></a><a name="id2808045"></a><b>Myth:</b></td><td align="left" valign="top"><p>
+ “<span class="quote">
+ Xprint uses a 1024x768 screen resolution to render the stuff on
+ the paper - therefore it will never be able to do high-resolution
+ stuff
+ </span>”
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>Fact:</b></td><td align="left" valign="top"><p>
+ Xprt uses the screen resolution requested by the application or
+ the printers default resolution.
+ For example a 300 DPI printer which supports paper sizes up to
+ DIN-A4 will get a screen with 3300x3300 pixels (screen width and
+ height are usually equal to support per-page changes in the
+ orientation (potrait/landscape etc.), the window size would be
+ 2400x3149 for "portrait" orientation) - and larger resolutions
+ will result in larger screens.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2808091"></a><a name="id2808094"></a><b>Myth:</b></td><td align="left" valign="top"><p>
+ “<span class="quote">
+ Xprint prints only graphics(=bitmap/gfx) fonts
+ </span>”
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>Fact:</b></td><td align="left" valign="top"><p>
+ In short, Xprt supports printer-builtin fonts and can
+ download fonts to the printer if they do not exist on the printer.
+ </p><p>
+ In long, this myth seems to have it's root in a <span class="emphasis"><em>feature</em></span> of
+ Xprt which can - if Xprt gets misconfigured - disable the use of
+ printer-builtin fonts and the ability to download fonts.
+ </p><p>
+ Xprt's PostScript and PCL DDX have the <span class="emphasis"><em>unique</em></span> feature to create
+ font glyphs from bitmap fonts if they are not available as
+ printer-builtin fonts nor as outline fonts (OpenType, TrueType, PS Type1, etc.).
+ However this is the fallback - the <span class="emphasis"><em>last</em></span> option used by Xprt.
+ Used if everything else fails.
+ But when someone does not pass any outline fonts (such as OpenType,
+ TrueType or PS Type1) fonts with the font
+ path nor configures a printer model-config (which contains a
+ description of the features&fonts supported by the printer) Xprt
+ will never have a chance to use them. And if everything else
+ fails it has no other option than using what has been left - the
+ bitmap fonts...
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2808172"></a><a name="id2808175"></a><b>Myth:</b></td><td align="left" valign="top"><p>
+ “<span class="quote">
+ Xprint does not support pages sizes larger than DIN-A4
+ </span>”
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>Fact:</b></td><td align="left" valign="top"><p>
+ There is no such limitation.
+ The only limit is the 16bit coordinate system of the X11
+ protocol - which is large enougth that Xprint can support paper
+ sizes <span class="emphasis"><em>larger</em></span> than DIN-A0 oversize papers. There is no problem
+ with creating your own monster-size DIN-A0 posters using
+ Xprint-based applications.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2808219"></a><a name="id2808222"></a><b>Myth:</b></td><td align="left" valign="top"><p>
+ “<span class="quote">
+ Xprint does not support rotated text
+ </span>”
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>Fact:</b></td><td align="left" valign="top"><p>
+ Xprint and all it's drivers support the X11 matrix XLFD
+ enhancement introduced in X11R6 (and future versions of Xprint will
+ support the <a href="http://stsf.sourceforge.net/" target="_top">STSF</a> font API which supports
+ matrix transformations as well).
+ Fonts can be rotated at any angle. Take a look at the
+ <a href="#faq_development">SOFTWARE DEVELOPMENT</a> section in
+ this FAQ for examples...
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="myth_rendering_model_not_good"></a><a name="id2808307"></a><b>Myth:</b></td><td align="left" valign="top"><p>
+ “<span class="quote">
+ The X11 rendering model is not good enougth for printers
+ </span>”
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>Facts:</b></td><td xmlns:ns6="" align="left" valign="top"><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ The default Xprint rendering model uses the X11 rendering model - which
+ is "limited"... but only when compared with PostScript.
+ But the attempt to compare Xprint with PostScript is like comparing apples
+ and eggs - they have been designed with different goals in mind - PostScript
+ as plain rendering language for printers and Xprint as integrated all-in-one
+ solution to allow applications to print without having special knowledge
+ about the OS, spooler, <a href="#what_does_pdl_mean">PDL</a> or
+ printer.
+ </p></li><li><p>
+ Around 95% of the applications which have print support do not use any of the
+ special features provided by rendering models like PostScript.
+ </p></li><li><p>
+ Xprint does not require that an application uses the X11 rendering model -
+ they are <span class="emphasis"><em>free</em></span> to generate their own PostScript code or PostScript
+ fragments and pass it to the printer via the Xprint API or use the OpenGL rendering
+ model via the GLX extension available in newer versions of the Xprint server.
+ </p></li><li><p>
+ Printing from Mozilla, Motif or the Qt toolkit using Xprint results in
+ a <span class="emphasis"><em>much better</em></span> quality than using the "native" PostScript
+ generation code in those applications.
+ </p></li><li><p>
+ Xprint supports more <a href="#what_does_pdl_mean">PDLs</a> than
+ PostScript - having a PostScript-specific rendering model would be
+ limiting, and make it difficult to support other
+ <a href="#what_does_pdl_mean">PDLs</a>.
+ </p></li></ul></div><p>
+ </p></td></tr></tbody></table></div></blockquote></div></td></tr><tr class="question"><td align="left" valign="top"><a name="does_xprint_support_anti_aliased_fonts"></a><a name="id2808485"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Does Xprint support anti-aliased fonts ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Question back: When do we need anti-aliased fonts ?
+ Anti-aliasing is a "hack" to work around the limitations caused by the
+ low resolution of monitors - they usually operate between 72 DPI and
+ 150 DPI.
+ </p><p>
+ But Xprint operates on printers where the usual <span class="emphasis"><em>minimum</em></span> resolution is
+ 300 DPI (today's normal office printers support resolutions ranging from
+ 300 DPI up to 2400 DPI depending on the model; most common is 600 DPI).
+ Anti-aliasing at those resolutions is not required anymore.
+ Additionally many printers support their own font anti-aliasing at lower
+ resolutions which is far better and faster than it could be "done" on the
+ client side.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2808525"></a><a name="id2808528"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I check if Xprint is working and should be used ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Check whether the <tt class="envar">${XPSERVERLIST}</tt> env var is set or not.
+ If <tt class="envar">${XPSERVERLIST}</tt> is set then Xprint is available and should be used.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="how_can_i_view_postscript_files"></a><a name="id2808566"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I view PS(=PostScript) files ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns9="" align="left" valign="top"><p>
+ </p><div class="itemizedlist"><ul type="disc"><li xmlns:ns7=""><p>
+ On Unix/Linux (general):
+ </p><div class="itemizedlist"><ul type="circle"><li><p>
+ GhostScript ("gs") and GhostView ("gv" and it's KDE- and Gnome-specific versions "kghostview" and "ggv")
+ </p></li></ul></div><p>
+ </p></li></ul></div><p>
+ </p><div class="itemizedlist"><ul type="disc"><li xmlns:ns8=""><p>
+ Solaris:
+ </p><div class="itemizedlist"><ul type="circle"><li><p>
+ <tt class="filename">/usr/dt/bin/sdtimage</tt> (DPS-based image viewer for CDE)
+ </p></li><li><p>
+ <tt class="filename">/usr/openwin/bin/pageview</tt> (DPS-based image viewer for OpenWindows)
+ </p></li></ul></div><p>
+ </p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="how_can_i_view_pcl_files"></a><a name="id2808673"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I view PCL files ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX - <a href="http://xprint.mozdev.org/bugs/show_bug.cgi?id=2261" target="_top">xprint.mozdev.org bug 2261</a>
+ has been filed for that issue.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2808706"></a><a name="id2808709"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How does Xprt find fonts ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns10="" align="left" valign="top"><p>
+
+ Lookup-rule for Xprt's PostScript DDX to find fonts:
+ </p><div class="orderedlist"><ol type="1"><li><p>
+ Printer-builtin fonts (defined by the fonts/-dir in the model-config)
+ </p></li><li><p>
+ PostScript fonts (will be downloaded via generated print job)
+ </p></li><li><p>
+ GFX-fonts build from X11 scaleable fonts
+ </p></li><li><p>
+ GFX-fonts build from X11 bitmap fonts
+ </p></li></ol></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2808781"></a><a name="id2808784"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I print TrueType fonts with Xprint ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns11="" align="left" valign="top"><p>
+ </p><div class="orderedlist"><ol type="1"><li><p>
+ Linux Xprt build from <a href="http://xprint.mozdev.org" target="_top">http://xprint.mozdev.org/</a>'s source supports
+ TrueType fonts out-of-the-box (starting with the 008 development tree;
+ xprint.mozdev.org's releases <= 007 do not support TrueType fonts) and
+ and does not require any special actions.
+ </p></li><li><p>
+ Sun's Xprt on Solaris (<tt class="filename">/usr/openwin/bin/Xprt</tt>) has TrueType font
+ support out-of-the-box and does not require any special actions.
+ </p></li><li><p>
+ You can setup a TTF-aware X font server ("xfs", see
+ <span class="citerefentry"><span class="refentrytitle">xfs</span>(1x)</span>)
+ with the matching TrueType fonts and add the font server location to Xprt's font path.
+ </p></li><li><p>
+ Sourceforge has a TrueType to PostScript Type 1 converter project,
+ see <a href="http://ttf2pt1.sourceforge.net/download.html" target="_top">http://ttf2pt1.sourceforge.net/download.html</a>.
+ You may convert the TTF files into PT1 files that Xprt can download them
+ to the printer on demand...
+ </p></li></ol></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="what_does_ddx_mean"></a><a name="id2808916"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ What does "DDX" mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ "DDX" is a short term for "Device Dependent X" - the device-specific layer
+ of a Xserver (<a href="#what_does_dix_mean">"DIX"</a>(="Device Independent X") is the counterpart).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="what_does_dix_mean"></a><a name="id2808959"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ What does "DIX" mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ "DIX" is a short term for "Device Independent X" - the non-device specific
+ code of a Xserver (<a href="#what_does_ddx_mean">"DDX"</a>(="Device Dependent X") is the counterpart).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="what_does_pdl_mean"></a><a name="id2809002"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ What does "PDL" mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ "PDL" is a short term for "Page Description Language". Examples for PDLs are
+ PostScript, PCL, PDF and SVGprint.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2809022"></a><a name="id2809025"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ I have twenty printers installed on my system - but Xprt only shows two
+ screens. Where are all the other printers ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ A Xprt screen does not represent a single printer. A Xprt screen
+ represents a single DDX (currently supported are PostScript, PCL3/5 color,
+ PCL mono and "raster" output(=1bit deep bitmap).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="platforms_supported_by_xprint"></a><a name="id2809058"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Which platforms support Xprint ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ All platforms which support X11 >= R6.4 can use Xprint. The client side
+ (<tt class="filename">libXp.so</tt>) is available on Linux/FreeBSD(=Xfree86), Solaris, HP-UX and AIX
+ and the Xprt server side is available by default on Solaris and HP-UX
+ (Xfree86 shipps with a Xprt binary - but that is broken and unuseable).
+ The client-side extension library (<tt class="filename">libXp.so</tt>) can be compiled on any
+ platform, the Xprt server needs minor adjustments for the specific
+ platforms...
+ If your platform does not have Xprint (client-side and/or server-side)
+ you can get the sources from <a href="http://xprint.mozdev.org/" target="_top">http://xprint.mozdev.org/</a>.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2809119"></a><a name="id2809122"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ I have the broken Xfree86 Xprt binary on my system. Do I need a new
+ version of <tt class="filename">libXp.so</tt> (the client side X11 extension library for Xprint),
+ too ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ No, the <tt class="filename">libXp.so</tt> shared library shipped with Xfree86 or build from
+ Xfree86 sources is not broken, only the server side ("Xprt") is buggy.
+ There is no need to replace the library.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="how_do_i_spell_xprint"></a><a name="id2809169"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Which spelling is correct - "Xprint", "XPrint", "Xprinter" or Xprt" ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ "Xprint" is the correct one - "XPrint" is just a typo, "Xprinter" is a
+ complety different product not related to X11/Xprint and "Xprt" is only
+ the "X11 print server"(=the server side of Xprint).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2809192"></a><a name="id2809195"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Which applications support Xprint ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns12="" align="left" valign="top"><p>
+ There are various applications which support Xprint:
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ Motif/LessTif toolkits (full framework incl. special widgets like <tt class="function">XmPrintShell</tt>)
+ </p></li><li><p>
+ Athena toolkit (full framework incl. special widgets like <tt class="function">XawPrintShell</tt>, starting with X.org release 6.7.1)
+ </p></li><li><p>
+ Xedit, Xman, Xmore, etc. (starting with X.org release 6.7.1)
+ </p></li><li><p>
+ <a href="http://www.opengroup.org/cde/" target="_top">Common Desktop Environment (CDE) 2.x</a>
+ </p></li><li><p>
+ <a href="http://www.mozilla.org/projects/xprint/" target="_top">Mozilla, FireFox, ThunderBird, etc.</a>
+ </p></li><li><p>
+ Eclipse
+ </p></li><li><p>
+ KDE/Qt support is planned for Q3/2004
+ </p></li><li><p>
+ StarOffice 5.x
+ </p></li><li><p>
+ etc.
+ </p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="is_xprint_only_for_mozilla"></a><a name="id2809353"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Is "Xprint" "mozilla"-only (I saw that it's hosted by mozdev.org) ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ No, Xprint is a general-purpose print API based on X11 used by
+ many applications - <a href="http://www.mozdev.org/" target="_top">mozdev.org</a> is just
+ one of the hosting places (others are
+ <a href="http://xprint.freedesktop.org/" target="_top">http://xprint.freedesktop.org/</a> (bugzilla, CVS)
+ and <a href="http://www.sourceforge.net/projects/xprint/" target="_top">http://www.sourceforge.net/projects/xprint/</a> (download area))
+ hosting the development area, <a href="http://xprint.mozdev.org/docs/" target="_top">documentation</a> and
+ <a href="http://xprint.mozdev.org/list.html" target="_top">mailinglist</a>.
+ <tt class="literal">:)</tt>.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="xprint_license"></a><a name="id2809468"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Under which license is the source code from xprint.mozdev.org distributed under ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns13="" align="left" valign="top"><p>
+ That's the plain "MIT" license, the same as used by Xfree86.org < V4.4.0 and X.org:
+</p><pre class="programlisting">
+Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+and associated documentation files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or
+substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+</pre><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="why_does_xprint_not_use_ppds"></a><a name="id2809549"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Why does Xprint not use PPDs for configuration ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Xprint supports multiple "page description languages (<a href="#what_does_pdl_mean">PDL</a>)"
+ including PostScript, PDF, PCL, etc. Therefore Xprint uses a different
+ configuration file format which works with all these PDLs and not only
+ PostScript (PPD files are PostScript-specific and cannot be used for
+ other PDLs).
+ </p><p>
+ There is currently a converter in development to convert a Adobe PPD file
+ into Xprint's model-config format.
+ See <a href="http://xprint.freedesktop.org/bugzilla/show_bug.cgi?id=636" target="_top">xprint.freedesktop.org bug 636
+ ("RFE: Add an Adobe PPD to model-config converter / xpppdtomodelconfig")</a> for further information.
+ </p></td></tr><tr class="qandadiv"><td align="left" valign="top" colspan="2"><a name="faq_usage"></a><h4 class="title"><a name="faq_usage"></a>2. Usage</h4></td></tr><tr class="toc" colspan="2"><td align="left" valign="top" colspan="2"><dl><dt>Q: <a href="#how_to_configure_xprint_clients">
+ How do I configure Xprint on the client side ?
+ </a></dt><dt>Q: <a href="#how_do_i_start_xprt">
+ How do I start Xprt ?
+ </a></dt><dt>Q: <a href="#id2874377">
+ How can I get a list of printers managed by Xprint ?
+ </a></dt><dt>Q: <a href="#id2874480">
+ How can I start Xprt at boot time ?
+ </a></dt><dt>Q: <a href="#id2874513">
+ How can I start Xprt per-user ?
+ </a></dt><dt>Q: <a href="#id2874545">
+ How can I start Xprt only for one application ?
+ </a></dt><dt>Q: <a href="#id2874579">
+ How can I filter the font path which should be passed to Xprt for
+ certain fonts ?
+ </a></dt><dt>Q: <a href="#id2874601">
+ How can I manage access control to the Xprt server ?
+ </a></dt><dt>Q: <a href="#id2874699">
+ How can I log access to the Xprt server ?
+ </a></dt><dt>Q: <a href="#id2874732">
+ Does it require "root" permissions to use Xprt/Xprint ?
+ </a></dt><dt>Q: <a href="#id2874774">
+ How can I see the attributes of a printer managed by Xprint ?
+ </a></dt><dt>Q: <a href="#how_can_i_list_the_font_path_used_by_xprint">
+ How can I list the font path used by a Xprt server ?
+ </a></dt><dt>Q: <a href="#id2874905">
+ "xset q" lists all model-specific font dirs (like
+ PRINTER:/myxpcfg/C/print/models/SPSPARC2/fonts/") - is that a bug ?
+ </a></dt><dt>Q: <a href="#id2874954">
+ My application lists a printer called "xp_ps_spooldir_tmp_Xprintjobs" /
+ "xp_pdf_spooldir_tmp_Xprintjobs" / "spooldir_tmp_Xprintjobs" / in the
+ print dialog but I do not have such a print queue installed anywhere.
+ What is that for a thing ?!
+ </a></dt><dt>Q: <a href="#manual_xprint_forwarding_via_ssh">
+ How can I forward Xprint services when logging-in via ssh to another machine ?
+ </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a name="how_to_configure_xprint_clients"></a><a name="id2809633"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How do I configure Xprint on the client side ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns15="" align="left" valign="top"><p>
+ There are two env vars which control Xprint on the client side:
+ </p><div class="orderedlist"><ol type="1"><li xmlns:ns14=""><p>
+ The env variable <tt class="envar">${XPSERVERLIST}</tt> contains a list of display identifiers
+ (seperated by whitespace) to tell the application where it can find
+ the Xprt servers.
+ Usually <tt class="envar">${XPSERVERLIST}</tt> is set by the profile startup scripts (e.g.
+ <tt class="filename">/etc/profile</tt> or <tt class="filename">/etc/profile.d/xprint.sh</tt>) using the output of
+ "/etc/init.d/xprint get_xpserverlist".
+ Example:
+</p><pre class="screen">
+ % <b class="userinput"><tt>export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"</tt></b>
+</pre><p>
+ Alternativly <tt class="envar">${XPSERVERLIST}</tt> can be set manually:
+ </p><p>
+ Example:
+</p><pre class="screen">
+ % <b class="userinput"><tt>export XPSERVERLIST="littlecat:80 bitdog:72"</tt></b>
+</pre><p>
+ instructs an application to look at the displays 80 on the machine
+ "littlecat" and display 72 on the machine bigdog to look for Xprt
+ servers.
+ </p></li><li><p>
+ The env variable <tt class="envar">${XPRINTER}</tt> defines the default printer used by print
+ applications.
+ The details can be found in the FAQ item
+ <a href="#configure_default_printer">How do I change the default printer used by Xprint applications ?</a> ...
+ </p></li></ol></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="how_do_i_start_xprt"></a><a name="id2873690"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How do I start Xprt ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns23="" align="left" valign="top"><p>
+ </p><div class="orderedlist"><ol type="1"><li><p><a name="starting_xprt_on_linux_rpm"></a>
+ Linux RPM installations on Mandrake/RedHat/SuSE Linux:
+ Binary RPM packages provided by xprint.mozdev.org (or based on the same
+ source :) will install <tt class="filename">/etc/init.d/xprint</tt> and related glue
+ (see <a href="#starting_xprt_general">[4]</a>)
+ automatically; after a reboot a Xprt instance will be started at system
+ startup and <tt class="envar">${XPSERVERLIST}</tt> should be populated for all users.
+ Note that you can start/stop per-user instances using <tt class="filename">/etc/init.d/xprint</tt>
+ (see <a href="#starting_xprt_general">[4]</a>), too...
+ </p></li><li xmlns:ns16=""><p><a name="starting_xprt_on_debian_linux"></a>
+ Debian Linux:
+ Same as <a href="#starting_xprt_on_linux_rpm">[1]</a>, however Debian does not support
+ <tt class="filename">/etc/profile.d/</tt> - you have to add the following line to <tt class="filename">/etc/profile</tt>
+ (for sh/ksh/bash) to populate <tt class="envar">${XPSERVERLIST}</tt>:
+</p><pre class="screen">
+ <b class="userinput"><tt>export XPSERVERLIST="`/bin/sh /etc/init.d/xprint get_xpserverlist`"</tt></b>
+</pre><p>
+ See <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=171174" target="_top">bugs.debian.org bug 171174</a>
+ ('"xprint-xprintorg" should automatically populate <tt class="envar">$XPSERVERLIST</tt>') for
+ further details on this issue...
+ </p></li><li><a name="starting_xprt_on_solaris"></a><div class="orderedlist"><ol type="a"><li><p><a name="starting_xprt_on_solaris_using_giswxprintglue"></a>
+ Solaris using the "GISWxprintglue" package:
+ <a href="http://xprint.mozdev.org/" target="_top">http://xprint.mozdev.org/</a>
+ provides a Solaris package called "GISWxprintglue"
+ which contains all the neccesary configuration files and startup scripts
+ to use Xprint; after a reboot a Xprt instance will be started at system
+ startup and <tt class="envar">${XPSERVERLIST}</tt> should be populated for all users.
+ Note that you can start/stop per-user instances using <tt class="filename">/etc/init.d/xprint</tt>
+ (see <a href="#starting_xprt_general">[4]</a>), too...
+ </p></li><li><p><a name="starting_xprt_on_solaris_using_giswxprint"></a>
+ Solaris using the "GISWxprint" package:
+ <a href="http://xprint.mozdev.org/" target="_top">http://xprint.mozdev.org/</a>
+ provides a Solaris package called "GISWxprint"
+ which is technically identical to the "GISWxprintglue"
+ (see <a href="#starting_xprt_on_solaris_using_giswxprintglue">[3a]</a>) but
+ provides a Xprt binary build from the xprint.mozdve.org sources
+ ("GISWxprintglue" uses the <tt class="filename">/usr/openwin/bin/Xprt</tt> binary provided by Solaris).
+ </p></li></ol></div></li><li xmlns:ns17=""><p><a name="starting_xprt_general"></a>
+ General: Using <tt class="filename">/etc/init.d/xprint</tt> and related glue:
+ There are startup/shutdown scripts in <tt class="filename">xc/programs/Xserver/Xprint/etc/</tt>
+ to start/stop/restart Xprt per-machine and/or per-user and to populate the
+ <tt class="envar">${XPSERVERLIST}</tt> env var:
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ "<tt class="filename">xc/programs/Xserver/Xprint/etc/init.d/xprint</tt>" is a script for SystemV
+ and Linux to start/stop/restart Xprt. The script includes installation
+ and usage details and can be used by both "root" (to start Xprt for all
+ users) or by a single (non-priviledged, plain) user (to start Xprt
+ instances only for his/her own use)
+ </p></li><li><p>
+ "<tt class="filename">xc/programs/Xserver/Xprint/etc/profile.d/xprint.csh</tt>" and
+ "<tt class="filename">xc/programs/Xserver/Xprint/etc/profile.d/xprint.sh</tt>" are scripts for
+ Linux (which support <tt class="filename">/etc/profile.d/</tt> ; note that this does not include
+ Debian) to populate the <tt class="envar">${XPSERVERLIST}</tt> env var for each user.
+ </p></li></ul></div><p>
+ </p></li><li xmlns:ns18=""><p><a name="starting_xprt_manually"></a>
+ Starting Xprt "manually" (without using <tt class="filename">/etc/init.d/xprint</tt>):
+ Set the <tt class="envar">${XPCONFIGDIR}</tt> env variable to the directory where Xprt can find
+ it's configuration data.
+ </p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">WARNING</h3><p>
+ If Xprt cannot find it's configuration data it will not be
+ able to use printer-builtin fonts (which are defined by the
+ model-config in the configuration dir). Without printer-builtin fonts
+ Xprt <span class="emphasis"><em>may</em></span> fall back to generate font glyphs from bitmap fonts (this
+ resulted in the MYTH that "Xprt can only print gfx fonts". This is not
+ <span class="emphasis"><em>TRUE</em></span> - this only happens if Xprt is either misconfigured or no
+ matching builtin or PS Type1 font is available).
+ </p><p>
+ You may want to make a copy of the default configuration directory and
+ modify it to match your needs.
+ </p></div><p>
+ </p></li><li xmlns:ns19=""><p>
+ Starting Xprt is just as easy as starting any other Xserver:
+</p><pre class="screen">
+ % <b class="userinput"><tt>Xprt :12</tt></b>
+</pre><p>
+ will start Xprt on display 12 (e.g. set <tt class="envar">${XPSERVERLIST}</tt> to ":12" or
+ "myhostname:12".
+ </p><p>
+ You may want to copy your framebuffer Xserver's font path to be able to
+ print all fonts which can be displayed on that Xserver.
+</p><pre class="screen">
+ % <b class="userinput"><tt>Xprt -fp $(xset q | awk "/Font Path:/ { i=1 ; next } i==1 { print \$0 ; i=0 }") :12</tt></b>
+</pre><p>
+ </p></li></ol></div><p>
+ </p><div xmlns:ns22="" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notes:</h3><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ The <tt class="filename">/etc/init.d/xprint</tt> has a more advanched filtering scheme based on
+ regex patters to "accept" and/or "reject" font paths
+ </p></li><li xmlns:ns20=""><p>
+ 'xset q | awk "/Font Path:/ { i=1 ; next } i==1 { print \$0 ; i=0 }"'
+ may be too simple-minded if your Xserver does not support TrueType
+ fonts. The following statemement is better in this case since it
+ filters the font path and removes all path elements which have TrueType
+ fonts (*.ttf, *.TTF) or TrueType font collections (*.ttc, *.TTC) in
+ <tt class="filename">fonts.dir</tt>:
+</p><pre class="screen">
+ % <b class="userinput"><tt>xset q | awk "/Font Path:/ { i=1 ; next } i==1 { print \$0 ; i=0 }" |
+ tr "," "\n" | while read i ; do \
+ if [ "$(cat ${i}/fonts.dir | egrep -i "ttf|ttc" 2>/dev/null)" == "" ] \
+ ; then echo $i ; fi ; done | (fontpath="" ; fpdelim=""; while read i ; \
+ do fontpath=${fontpath}${fpdelim}${i} ; fpdelim="," ; done ; echo \
+ $fontpath)</tt></b>
+</pre><p>
+ </p></li><li xmlns:ns21=""><p>
+ It may be easier to just feed all available font paths to Xprt
+ (BTW: mozilla 1.0 had a bug in that case which resulted in the problem
+ that it used many many bitmap fonts in that case - this has been fixed
+ for 1.0.1 and Netscape 7 (that's the reason why the quickguides for
+ hebrew/cyrillic use the "Xp_dummyfonts" fonts instead of
+ <tt class="filename">/usr/openwin/lib/X11/fonts/misc/</tt> - to avoid that Mozilla finds bitmap
+ fonts for the same locale).
+ The following "small" one-liner finds all fonts (except printer builtin
+ fonts):
+</p><pre class="screen">
+ % <b class="userinput"><tt>find /usr/openwin -name fonts.dir | while read i ; do echo
+ ${i%/fonts.dir} ; done | fgrep -v "models/"</tt></b>
+</pre><p>
+ Plug it into the filter above to remove the Truetype fonts and you are
+ "done"... :)
+ </p></li></ul></div><p>
+ See <a href="#faq_troubleshooting">TROUBLESHOOTING</a> if you run into problems...
+ </p></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2874377"></a><a name="id2874380"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I get a list of printers managed by Xprint ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns26="" align="left" valign="top"><p>
+ The tool "xplsprinters" is designed for that purpose. It can deliver both
+ list of printers and attributes supported for a specific list of printers.
+ Use % xplsprinters -h # to obtain usage information.
+ Example:
+ </p><div class="itemizedlist"><ul type="disc"><li xmlns:ns24=""><p>
+ Get list of available printers:
+</p><pre class="screen">
+% <b class="userinput"><tt>xplsprinters</tt></b>
+<tt class="computeroutput">printer: hplaserjet001 at castor:19
+printer: hpcolor001 at castor:19
+printer: laser1 at jason:5
+printer: david_dj01 at jason:5</tt>
+</pre><p>
+ </p></li><li xmlns:ns25=""><p>
+ Get information about the supported attrbites of printer "ps002":
+</p><pre class="screen">
+% <b class="userinput"><tt>xplsprinters -printer ps002 -l</tt></b>
+<tt class="computeroutput">printer: ps002 at castor:18
+ description=
+ model-identifier=HPDJ1600C
+ default-medium=iso-a4
+ default-input-tray=
+ medium-source-sizes-supported=iso-a4 false 6.35 203.65 6.35 290.65
+ medium-source-sizes-supported=na-letter false 6.35 209.55 6.35 273.05
+ default-printer-resolution=300
+ resolution=300
+ default_orientation=
+ orientation=portrait
+ orientation=landscape
+ default_plex=
+ plex=simplex</tt>
+</pre><p>
+ </p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2874480"></a><a name="id2874483"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I start Xprt at boot time ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ "<tt class="filename">xc/programs/Xserver/Xprint/etc/init.d/xprint</tt>" is a script for SystemV
+ and Linux to start/stop/restart Xprt at system startup (e.g. per-machine)
+ or for a single user (e.g. per-user).
+ The script includes installation and usage details.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2874513"></a><a name="id2874516"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I start Xprt per-user ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ "<tt class="filename">xc/programs/Xserver/Xprint/etc/init.d/xprint</tt>" is a script for SystemV
+ and Linux to start/stop/restart Xprt at system startup (e.g. per-machine)
+ or for a single user (e.g. per-user).
+ The script includes installation and usage details.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2874545"></a><a name="id2874548"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I start Xprt only for one application ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Create your own version/copy of <tt class="filename">/etc/init.d/xprint</tt> and modify it to fit
+ your requirements and then make sure that you issue a
+ "my_xprint_startscript start" before starting the application and a
+ "my_xprint_startscript stop" after leaving the application.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2874579"></a><a name="id2874581"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I filter the font path which should be passed to Xprt for
+ certain fonts ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2874601"></a><a name="id2874604"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I manage access control to the Xprt server ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Access control to Xprt is not differently as to any other Xserver and
+ can be handled in various ways - like per-cookie
+ (using MIT-MAGIC-COOKIE-1 authentification),
+ per-user (using SUN-DES-1 or MIT-KERBEROS-5 auth., see
+ (see <span class="citerefentry"><span class="refentrytitle">xhost</span>(1x)</span>))
+ and/or per-machine (using "xhost" (see <span class="citerefentry"><span class="refentrytitle">xhost</span>(1x)</span>) and/or
+ <tt class="filename">/etc/X<dpy>.hosts</tt> (<dpy> == display number,
+ e.g. <tt class="filename">/etc/X0.hosts</tt> for display 0) (see <span class="citerefentry"><span class="refentrytitle">Xserver</span>(1x)</span>))
+ Consult manual pages
+ <span class="citerefentry"><span class="refentrytitle">Xsecurity</span>(7)</span>,
+ <span class="citerefentry"><span class="refentrytitle">xhost</span>(1x)</span>,
+ <span class="citerefentry"><span class="refentrytitle">Xserver</span>(1x)</span>
+ etc. for further details.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2874699"></a><a name="id2874702"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I log access to the Xprt server ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Logging access to Xprt can be done using the standard Xserver auditing,
+ see the <span class="citerefentry"><span class="refentrytitle">Xserver</span>(1x)</span>
+ manual page, option "-audit"
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2874732"></a><a name="id2874735"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Does it require "root" permissions to use Xprt/Xprint ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ No, both Xprint clients and Xprint server(s) do not require root rights
+ to work.
+ </p><p>
+ Xprint clients are handled like any other X11 application and the Xprt
+ servers can run without any special requirements.
+ Solaris is an exception here since it requires to start any Xserver
+ (incl. Xprt) setgid "root" (set-group-id "root", this is <span class="emphasis"><em>not</em></span>
+ set-user-id "root") since the sockets/pipe files in /tmp/.X11-pipe/ and
+ /tmp/.X11-unix/ are only accessible for the group "root".
+ The workaround is to start Xprt with the option "-pn"; therefore even
+ Xprt server binaries which are not setgid "root" can run without
+ problems).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2874774"></a><a name="id2874777"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I see the attributes of a printer managed by Xprint ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ "xplsprinters -printer myprinter004 -l" will do the job for printer
+ "myprinter004".
+ </p><p>
+ See
+ <span class="citerefentry"><span class="refentrytitle">xplsprinters</span>(1x)</span>
+ for futher usage and a description of the output.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="how_can_i_list_the_font_path_used_by_xprint"></a><a name="id2874824"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I list the font path used by a Xprt server ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns27="" align="left" valign="top"><p>
+ Figure out the display id of the server which should be queried (we are
+ using "foobar:98" in this example) and then try this:
+</p><pre class="screen">
+% <b class="userinput"><tt>(DISPLAY=foobar:98 xset q | \
+awk "/Font Path:/ { i=1 ; next } i==1 { print \$0 ; i=0 }" | \
+tr "," "[\n]")</tt></b>
+# Output may look like:
+<tt class="computeroutput">PRINTER:/usr/openwin/server/etc/XpConfig/C/print/models/HPDJ1600C/fonts/
+PRINTER:/usr/openwin/server/etc/XpConfig/C/print/models/SPSPARC2/fonts/
+PRINTER:/usr/openwin/server/etc/XpConfig/C/print/models/HPLJ3Si-PS/fonts/
+/usr/openwin/lib/X11/fonts/F3/
+/usr/openwin/lib/X11/fonts/F3bitmaps/
+/usr/openwin/lib/X11/fonts/Type1/
+/usr/openwin/lib/X11/fonts/Speedo/
+/usr/openwin/lib/X11/fonts/misc/
+/usr/openwin/lib/X11/fonts/75dpi/
+/usr/openwin/lib/X11/fonts/100dpi/</tt>
+</pre><p>
+ </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note:</h3><p>
+ Note that the font path items which start with "PRINTER:" are <span class="emphasis"><em>only</em></span> be
+ sourced <span class="emphasis"><em>after</em></span> the matching printer has been selected and configured
+ (for developers: After <tt class="function">XpSetContext</tt> has been called).
+ </p></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2874905"></a><a name="id2874908"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ "xset q" lists all model-specific font dirs (like
+ PRINTER:/myxpcfg/C/print/models/SPSPARC2/fonts/") - is that a bug ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ No, this is normal. Xprt will add all fonts of all printer models to the
+ font path - but font path items starting with "PRINTER:" are <span class="emphasis"><em>only</em></span>
+ available for an application <span class="emphasis"><em>after</em></span> the matching printer has been
+ selected and configured (for developers: After <tt class="function">XpSetContext</tt> has been
+ called), <span class="emphasis"><em>before</em></span> that point fonts in these dirs are not available for
+ an application.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2874954"></a><a name="id2874957"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ My application lists a printer called "xp_ps_spooldir_tmp_Xprintjobs" /
+ "xp_pdf_spooldir_tmp_Xprintjobs" / "spooldir_tmp_Xprintjobs" / in the
+ print dialog but I do not have such a print queue installed anywhere.
+ What is that for a thing ?!
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns28="" align="left" valign="top"><p>
+ "xp_ps_spooldir_tmp_Xprintjobs" and "xp_pdf_spooldir_tmp_Xprintjobs"
+ ("spooldir_tmp_Xprintjobs" was the old, pre-009 name for "xp_ps_spooldir_tmp_Xprintjobs")
+ are special Xprint printer targets which uses the "PSspooldir" / "PS2PDFspooldir-GS"
+ printer models. These model config sends PostScript or PDF jobs
+ to the <tt class="filename">/tmp/Xprintjobs/</tt> directory instead to a physical printer
+ (quite usefull for people who want to get the PostScript or PDF files as output instead
+ of printed pages).
+ </p><p><b>References: </b>
+ </p><div class="itemizedlist"><ul type="disc"><li><p><a href="http://xprint.mozdev.org/bugs/show_bug.cgi?id=5092" target="_top">xprint.mozdev.org bug 5092 ("[PS2PDFspooldir-GS] RFE: Add printer model which sends PDF jobs to /tmp/Xprintjobs/")</a></p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="manual_xprint_forwarding_via_ssh"></a><a name="id2875044"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I forward Xprint services when logging-in via ssh to another machine ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns31="" align="left" valign="top"><p>
+ You have to forward the X11 connection for the Xprint server(s) to the remote system
+ and set the <tt class="envar">XPSERVERLIST</tt> variable to direct the Xprint clients to the forwarded ports.
+
+ </p><div xmlns:ns29="" class="example"><a name="id2875068"></a><p class="title"><b>Example 1. Login to a remote host using slogin (assuming there is only one
+ Xprint server listed in <tt class="envar">XPSERVERLIST</tt>)</b></p><pre class="screen">% <b class="userinput"><tt>echo $XPSERVERLIST</tt></b></pre><pre class="screen"><tt class="computeroutput">west:33</tt></pre><p>Add 6000 to the display number ("33" in this example) to get the port number
+ (X11 port numbers start at port 6000. 6000 is display number "0", 6001 is display number 6001 and so on)
+ and then ask slogin to forward the port:
+ </p><pre class="screen">% <b class="userinput"><tt>slogin -R6033:west:6033 -l nrubsig puzzle</tt></b></pre><p>
+ </p><pre class="screen"><tt class="computeroutput">nrubsig's password:
+Last login: Fri Jan 23 04:05:06 2004 from west.informatik.med.uni-giessen.de
+Have a lot of fun...
+</tt></pre><p>
+ </p><p>
+ Then set the <tt class="envar">XPSERVERLIST</tt> env var on the remote host to the forwarded
+ ports and you are done:
+ </p><pre class="screen">% <b class="userinput"><tt>export XPSERVERLIST="localhost:33 ${XPSERVERLIST}"</tt></b></pre></div><p>
+
+ </p><div xmlns:ns30="" class="example"><a name="id2875171"></a><p class="title"><b>Example 2. Login to a remote host using slogin (assuming there are multiple
+ Xprint servers listed in <tt class="envar">XPSERVERLIST</tt>)</b></p><p>
+ The following small shell script will process the <tt class="envar">XPSERVERLIST</tt> env var and output the
+ parameters for calling slogin/ssh with all Xprint server ports forwarded:
+</p><pre class="programlisting">
+#!/bin/ksh
+# xp_print_slogin_args.ksh
+# Small example which parses $XPSERVERLIST and prints out how slogin/ssh
+# should be used to forward all local Xprint servers
+
+PORTARGS=""
+REMOTE_XPSERVERLIST=""
+spacer="" # seperator
+remoteport=6100
+remotedisplaynum=100
+
+echo "${XPSERVERLIST}" | tr " " "\n" |
+ while read i ; do
+ [ "$i" = "" ] && continue
+ displaynum="${i##*:}"
+ port="$(( ${displaynum} + 6000 ))"
+ hostname="${i%:*}"
+ PORTARGS="${PORTARGS}${spacer}-R${remoteport}:${hostname}:${port}"
+ REMOTE_XPSERVERLIST="${REMOTE_XPSERVERLIST}${spacer}localhost:${remotedisplaynum}"
+
+ spacer=" "
+ remoteport=$((${remoteport} + 1))
+ remotedisplaynum=$((${remotedisplaynum} + 1))
+ done
+echo "Log in with: % slogin ${PORTARGS} -l myloginname myremotehost"
+echo "Set remote XPSERVERLIST with % export XPSERVERLIST=\"${REMOTE_XPSERVERLIST} \${XPSERVERLIST}\""
+# EOF.
+</pre><p>
+ </p><p>Example usage:
+ </p><pre class="screen">% <b class="userinput"><tt>xp_print_slogin_args.ksh</tt></b></pre><p>
+ will print
+ </p><pre class="screen"><tt class="computeroutput">Log in with: % slogin -R6100:west:6033 -R6101:north:6033 -l myloginname myremotehost
+Set remote XPSERVERLIST with % export XPSERVERLIST="localhost:100 localhost:101 ${XPSERVERLIST}"</tt></pre><p>
+ </p></div><p>
+ </p></td></tr><tr class="qandadiv"><td align="left" valign="top" colspan="2"><a name="faq_configuration"></a><h4 class="title"><a name="faq_configuration"></a>3. Configuration</h4></td></tr><tr class="toc" colspan="2"><td align="left" valign="top" colspan="2"><dl><dt>Q: <a href="#configure_default_printer">
+ How do I change the default printer used by Xprint applications ?
+ </a></dt><dt>Q: <a href="#configure_default_plex">
+ How do I change the defaults for double-sided/single-sided/etc.
+ printing ?
+ </a></dt><dt>Q: <a href="#configure_default_papersize">
+ I am in America and I don't have any ISO A4 paper. How do I change the
+ default paper size to 8.5 inch x 11 inch (US-Letter) ?
+ </a></dt><dt>Q: <a href="#configure_default_resolution">
+ How do I change the default printer resolution ?
+ </a></dt><dt>Q: <a href="#configure_default_orientation">
+ How do I change the default settings for "portrait"/"landscape"/"seascape" (=page orientation) ?
+ </a></dt><dt>Q: <a href="#how_to_prevent_usage_of_bitmap_fonts">
+ How can I prevent Xprt from using any bitmap(=gfx) fonts ?
+ </a></dt><dt>Q: <a href="#configure_manual_list_of_printers">
+ I want only my manually added printers managed by Xprint. How can I
+ prevent Xprt from looking-up the printer names automatically ?
+ </a></dt><dt>Q: <a href="#configure_custom_script_to_enumerate_system_printers">
+ How can I specify an own program/script to enumerate the printers on my system ?
+ </a></dt><dt>Q: <a href="#id2877080">
+ Which program is used by default by Xprt to enumerate the printers on my system ?
+ </a></dt><dt>Q: <a href="#id2877337">
+ Where can I get more PostScript Type1 fonts from ?
+ </a></dt><dt>Q: <a href="#id2877686">
+ What are PMF fonts (e.g. the *.pmf fonts in
+ ${XPCONFIGDIR}/C/print/models/%model_name%/fonts/ (or
+ ${XPCONFIGDIR}/${LANG}/print/models/%model_name%/fonts/)) ?
+ </a></dt><dt>Q: <a href="#id2877773">
+ Can I use the fontserver ("xfs") with Xprt ?
+ </a></dt><dt>Q: <a href="#id2877836">
+ What is a "model-config" ?
+ </a></dt><dt>Q: <a href="#id2877947">
+ Where can I store the default values for printers ?
+ </a></dt><dt>Q: <a href="#id2877968">
+ How can I create my own model-config ?
+ </a></dt><dt>Q: <a href="#id2877990">
+ How can I create my own PMF "fonts" ?
+ </a></dt><dt>Q: <a href="#where_can_i_get_more_model_configs_from">
+ Where can I get more model-configs from ?
+ </a></dt><dt>Q: <a href="#id2878099">
+ If I install Xprt &co. as "root" in the default location and don't need
+ to set ${XPCONFIGDIR} - where are my configuration files located then ?
+ </a></dt><dt>Q: <a href="#id2878242">
+ Are config files and/or the PMF fonts architecture dependent ?
+ </a></dt><dt>Q: <a href="#id2878311">
+ Can I localise my Xprint/Xprt configuration (l10n) ?
+ </a></dt><dt>Q: <a href="#id2878596">
+ Can I execute my own scripts to process the PostScript files generated
+ by Xprt ?
+ </a></dt><dt>Q: <a href="#id2878803">
+ How can I disable "xp_ps_spooldir_tmp_Xprintjobs" / "xp_pdf_spooldir_tmp_Xprintjobs" printer targets ?
+ </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a name="configure_default_printer"></a><a name="id2875312"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How do I change the default printer used by Xprint applications ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns34="" align="left" valign="top"><p>
+ The env variable <tt class="envar">${XPRINTER}</tt> defines the default printer used by print
+ applications. The syntax is either <printername> or
+ <printername>@<display>
+
+ </p><div class="orderedlist"><p class="title"><b>Examples:</b></p><ol type="1"><li xmlns:ns32=""><p>
+</p><pre class="screen">
+ % <b class="userinput"><tt>export XPRINTER=ps003</tt></b>
+</pre><p>
+ tells an application to look for the first printer named "ps003" on
+ all Xprt servers.
+ </p></li><li xmlns:ns33=""><p>
+</p><pre class="screen">
+ % <b class="userinput"><tt>export XPRINTER="hplaser19 at littlecat:80"</tt></b>
+</pre><p>
+ tells an application to look for the printer "hplaser19" on the Xprt
+ display "littlecat:80".
+ </p></li></ol></div><p>
+ </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note:</h3><p>
+ If <tt class="envar">${XPRINTER}</tt> is not set the applications will examine the values of
+ the <tt class="envar">${PDPRINTER}</tt>, <tt class="envar">${LPDEST}</tt>, and
+ <tt class="envar">${PRINTER}</tt> env vars (in that order).
+ </p></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="configure_default_plex"></a><a name="id2875440"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How do I change the defaults for double-sided/single-sided/etc.
+ printing ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns39="" align="left" valign="top"><p>
+ This is controlled via the "plex" attribute in the document attribute
+ pool <tt class="filename">(<tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/attributes/document</tt> and/or
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt>).
+ Examples:
+ </p><div class="orderedlist"><ol type="1"><li xmlns:ns35=""><p>
+ Adding/modifying the following line to/in
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt> sets the default plex for
+ all printers to "duplex":
+</p><pre class="screen">
+ *plex: duplex
+</pre><p>
+ </p></li><li xmlns:ns36=""><p>
+ Adding/modifying the following two lines to/in
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt> sets the default plex for
+ all printers to "duplex" except for printer "ps003" which should
+ default to "simplex":
+</p><pre class="screen">
+ *plex: duplex
+ ps003.plex: simplex
+</pre><p>
+ </p></li></ol></div><p>
+
+ </p><div xmlns:ns38="" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notes:</h3><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ Not all printers support all plex modes. The model-config may restrict
+ the available plex modes.
+ </p></li><li><p>
+ Setting a plex mode which is not supported by either the DDX(=driver)
+ or not specified in the model-config will cause Xprt to not set a
+ default plex.
+ </p></li><li><p>
+ The PostScript DDX supports plex modes "simplex", "duplex" and "tumble".
+ </p></li><li xmlns:ns37=""><p>
+ Verification:
+ Use
+</p><pre class="programlisting">
+ xplsprinters -l | egrep "^printer:|default_plex=|plex="
+</pre><p>
+ to view the plex settings for all printers.
+ </p></li></ul></div><p>
+ </p></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="configure_default_papersize"></a><a name="id2875633"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ I am in America and I don't have any ISO A4 paper. How do I change the
+ default paper size to 8.5 inch x 11 inch (US-Letter) ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns45="" align="left" valign="top"><p>
+ This is controlled via the "default-medium" attribute in the document
+ attribute pool (<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/attributes/document</tt> and/or
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt>).
+ Examples:
+ </p><div class="orderedlist"><ol type="1"><li xmlns:ns40=""><p>
+ Adding/modifying the following line to/in
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt> sets the default paper size
+ for all printers to "na-letter":
+</p><pre class="screen">
+ *default-medium: na-letter
+</pre><p>
+ </p></li><li xmlns:ns41=""><p>
+ Adding/modifying the following two lines to/in
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt> sets the default paper size
+ for all printers to "na-letter" except for printer "ps003" which should
+ default to "iso-a4":
+</p><pre class="screen">
+ *default-medium: na-letter
+ ps003.default-medium: iso-a4
+</pre><p>
+ </p></li></ol></div><p>
+
+ </p><div xmlns:ns44="" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notes:</h3><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ xprint.mozdev.org releases >= 007 provides a seperate "document"
+ attribute pool for en_US(-like) locales (see
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/en_US/print/attributes/document</tt>) which will override the
+ default ISO-A4 with US-Letter (this feature assumes that <tt class="envar">${LANG}</tt> is set
+ to "en_US" (or a locale which has similar defaults as "en_US", those
+ are currently linked to "en_US" in <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/</tt>))
+ </p></li><li><p>
+ Not all printers support all paper sizes. The model-config may restrict
+ the available paper sizes.
+ </p></li><li><p>
+ Setting a paper size which is not supported by either the DDX(=driver)
+ or not specified in the model-config will cause Xprt to not set a
+ default paper size.
+ </p></li><li xmlns:ns42=""><p>
+ The PostScript DDX supports the following paper sizes:
+ </p><div class="itemizedlist"><ul type="circle"><li><p>
+ X.org release 6.6 (X116.6):
+ <span class="simplelist">"iso-a4", "na-letter", "na-legal", "executive", "iso-designated-long", "na-number-10-envelope"</span>
+ </p></li><li><p>
+ xprint.mozdev.org release >= 006:
+ <span class="simplelist">"na-letter", "na-legal", "executive", "folio", "invoice", "ledger", "quarto", "a", "b", "c", "d", "e", "na-6x9-envelope", "na-10x15-envelope", "monarch-envelope", "na-10x13-envelope", "na-9x12-envelope", "na-number-10-envelope", "na-7x9-envelope", "na-9x11-envelope", "na-10x14-envelope", "na-number-9-envelope", "iso-a0", "iso-a1", "iso-a2", "iso-a3", "iso-a4", "iso-a5", "iso-a6", "iso-a7", "iso-a8", "iso-a9", "iso-a10", "iso-b1", "iso-b2", "iso-b3", "iso-b4", "iso-b5", "iso-b6", "iso-b7", "iso-b8", "iso-b9", "iso-b10", "jis-b1", "jis-b2", "jis-b3", "jis-b4", "jis-b5", "jis-b6", "jis-b7", "jis-b8", "jis-b9", "jis-b10", "iso-c3", "iso-c4", "iso-c5", "iso-c6", "iso-designated-long"</span>
+ </p></li></ul></div><p>
+ </p></li><li xmlns:ns43=""><p>
+ Verification:
+ Use
+</p><pre class="programlisting">
+ xplsprinters -l | egrep "^printer:|default-medium=|medium-source-sizes-supported="
+</pre><p>
+ to view the medium settings for all printers.
+ The 'medium-source-sizes-supported='-lines have the format XXX.
+ </p></li></ul></div><p>
+ </p></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="configure_default_resolution"></a><a name="id2876201"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How do I change the default printer resolution ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns51="" align="left" valign="top"><p>
+ This is controlled via the "default-printer-resolution" attribute in the
+ document attribute pool (<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/attributes/document</tt>
+ and/or <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt>).
+ Examples:
+ </p><div class="orderedlist"><ol type="1"><li xmlns:ns46=""><p>
+ Adding/modifying the following line to/in
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt> sets the default
+ resolution for all printers to 600 DPI:
+</p><pre class="screen">
+ *default-printer-resolution: 600
+</pre><p>
+ </p></li><li xmlns:ns47=""><p>
+ Adding/modifying the following two lines to/in
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt> sets the default resolution
+ for all printers to 300 DPI except for printer "tekcolor_ps" which
+ should default to 1200 DPI:
+</p><pre class="screen">
+ *default-printer-resolution: 300
+ tekcolor_ps.default-printer-resolution: 1200
+</pre><p>
+ </p></li></ol></div><p>
+
+ </p><div xmlns:ns50="" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notes:</h3><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ Not all printers support all resolutions. The model-config may restrict
+ the available resolutions.
+ </p></li><li><p>
+ Setting a resolution which is not supported by either the
+ DDX(=driver) or not specified in the model-config will cause Xprt to
+ not set a default resolution.
+ </p></li><li xmlns:ns48=""><p>
+ The PostScript DDX supports the following default resolutions
+ </p><div class="itemizedlist"><ul type="circle"><li><p>
+ X.org release 6.6 (X116.6):
+ <span class="simplelist">300, 600, 720, 940, 1200, 1440, 2400</span>
+ </p></li><li><p>
+ xprint.mozdev.org release >= 006:
+ <span class="simplelist">75, 100, 120, 150, 180, 200, 240, 300, 360, 400, 600, 720, 940, 1200, 1440, 2400</span>
+ </p></li></ul></div><p>
+
+ </p></li><li xmlns:ns49=""><p>
+ Verification:
+ Use
+</p><pre class="programlisting">
+ xplsprinters -l | egrep "^printer:|default-printer-resolution=|resolution="
+</pre><p>
+ to view the resolution settings for all printers.
+ </p></li></ul></div><p>
+ </p></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="configure_default_orientation"></a><a name="id2876537"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How do I change the default settings for "portrait"/"landscape"/"seascape" (=page orientation) ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns56="" align="left" valign="top"><p>
+ This is controlled via the "content-orientation" attribute in the
+ document attribute pool (<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/attributes/document</tt>
+ and/or <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt>).
+ Examples:
+ </p><div class="orderedlist"><ol type="1"><li xmlns:ns52=""><p>
+ Adding/modifying the following line to/in
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt> sets the default
+ orientation for all printers to "portrait":
+</p><pre class="screen">
+ *content-orientation: portrait
+</pre><p>
+ </p></li><li xmlns:ns53=""><p>
+ Adding/modifying the following two lines to/in
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt> sets the default orientation
+ for all printers to "portrait" except for printer "ps003" which should
+ default to "landscape":
+</p><pre class="screen">
+ *content-orientation: portrait
+ ps003.content-orientation: landscape
+</pre><p>
+ </p></li></ol></div><p>
+
+ </p><div xmlns:ns55="" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notes:</h3><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ Not all printers support all orientations. The model-config may
+ restrict the available orientations.
+ </p></li><li><p>
+ Setting an orientation which is not supported by either the
+ DDX(=driver) or not specified in the model-config will cause Xprt to
+ not set a default orientation.
+ </p></li><li><p>
+ The PostScript DDX supports the following orientations:
+ "portrait", "landscape", "reverse-portrait" and "reverse-landscape".
+ </p></li><li xmlns:ns54=""><p>
+ Verification:
+ Use
+</p><pre class="programlisting">
+ xplsprinters -l | egrep "^printer:|default_orientation=|orientation="
+</pre><p>
+ to view the orientation settings for all printers.
+ </p></li></ul></div><p>
+ </p></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="how_to_prevent_usage_of_bitmap_fonts"></a><a name="id2876733"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I prevent Xprt from using any bitmap(=gfx) fonts ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns62="" align="left" valign="top"><p>
+ Do not pass any bitmap fonts with the "-fp" (=font path) argument.
+ However you have to provide a 'fixed' and a 'cursor' font, a Xserver
+ can't start without having these fonts.
+ </p><div class="blockquote"><blockquote class="blockquote"><div class="procedure"><p class="title"><b>Procedure 1. Task list:</b></p><ol type="1"><li xmlns:ns57=""><p>
+ Create a new directory:
+</p><pre class="screen">
+% <b class="userinput"><tt>mkdir Xp_dummyfonts</tt></b>
+% <b class="userinput"><tt>cd Xp_dummyfonts</tt></b>
+</pre><p>
+ </p></li><li xmlns:ns58=""><p>
+ Create a <tt class="filename">fonts.alias</tt> file with the following content:
+</p><pre class="programlisting">
+! alias for "fixed" font
+! original from /usr/openwin/lib/X11/fonts/misc/fonts.alias looks like this:
+! fixed "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1"
+fixed -*-r-*--*-*-*-*-*-*-iso8859-1
+! EOF.
+</pre><p>
+ </p></li><li xmlns:ns59=""><p>
+ Copy or link "<tt class="filename">6x13.pcf.Z</tt>" and "<tt class="filename">cursor.pcf.Z</tt>" and create <tt class="filename">fonts.dir</tt>
+</p><pre class="screen">
+% <b class="userinput"><tt>ln -s /usr/openwin/lib/X11/fonts/misc/6x13.pcf.Z .</tt></b>
+% <b class="userinput"><tt>ln -s /usr/openwin/lib/X11/fonts/misc/cursor.pcf.Z .</tt></b>
+% <b class="userinput"><tt>mkfontdir $PWD</tt></b>
+</pre><p>
+ </p></li><li xmlns:ns60=""><p>
+ Verify: The directory should now look like this:
+</p><pre class="screen">
+% <b class="userinput"><tt>ls -1</tt></b>
+<tt class="computeroutput">6x13.pcf.Z
+cursor.pcf.Z
+fonts.alias
+fonts.dir</tt>
+</pre><p>
+ </p></li><li xmlns:ns61=""><p>
+ Add the full path (e.g. /home/xp/Xp_dummyfonts) as last element
+ of the font path when starting Xprt:
+</p><pre class="screen">
+ % <b class="userinput"><tt>Xprt -fp /usr/openwin/lib/X11/fonts/Type1/,/home/xp/Xp_dummyfonts :12</tt></b>
+</pre><p>
+ </p></li></ol></div></blockquote></div><p>
+
+
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="configure_manual_list_of_printers"></a><a name="id2876959"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ I want only my manually added printers managed by Xprint. How can I
+ prevent Xprt from looking-up the printer names automatically ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns63="" align="left" valign="top"><p>
+ Add a line with "Augment_Printer_List %none%" to
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/Xprinters</tt> (or
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/Xprinters</tt>) and add lines with
+ "Printer <name>" for each printer <name>.
+ Example:
+</p><pre class="screen">
+Augment_Printer_List %none%
+Printer ps001
+Printer ps003
+Printer hplaser6
+</pre><p>
+ will add only the printers "ps001", ps003" and "hplaser6".
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="configure_custom_script_to_enumerate_system_printers"></a><a name="id2877039"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I specify an own program/script to enumerate the printers on my system ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Add "Augment_Printer_List my_script" to <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/Xprinters</tt> (or
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG</tt>}/print/Xprinters</tt>).
+ The script must return the printer names - one per line, ASCII-only - to stdout.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2877080"></a><a name="id2877083"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Which program is used by default by Xprt to enumerate the printers on my system ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns70="" align="left" valign="top"><p>
+ This depends on the OS:
+ </p><div class="itemizedlist"><ul type="disc"><li xmlns:ns64=""><p>
+ On Solaris (and most other OSes exclusing AIX and Linux):
+</p><pre class="screen">
+% <b class="userinput"><tt>lpstat -a | cut -d " " -f 1</tt></b>
+</pre><p>
+ </p></li><li xmlns:ns67=""><p>
+ On Linux:
+ </p><div class="itemizedlist"><ul type="circle"><li xmlns:ns65=""><p>
+ For Xprt build from X11R6.x X.org sources:
+</p><pre class="screen">
+% <b class="userinput"><tt>lpc status | grep -v '^\t' | sed -e /:/s///</tt></b> # '\t' means TAB
+</pre><p>
+ </p></li><li xmlns:ns66=""><p>
+ For Xprt build from xprint.mozdev.org <= release 008 sources (both lines are executed
+ to support both LPRng and CUPS (using the CUPS *BSD compatibility tools)):
+</p><pre class="screen">
+% <b class="userinput"><tt>lpc status | awk '/:$/ && !/@/ { print $1 }' | sed -e /:/s/// ; \
+ lpc -a status | awk '/@/ && !/:/ { split( $1, name, \"@\" ); print name[1]; }'</tt></b>
+</pre><p>
+ </p></li><li><p>
+ Xprt build from xprint.mozdev.org >= release 009 sources uses a more flexible scheme
+ which tries to enumerate the print spoolers in the order "CUPS" (using the normal CUPS
+ (SYSV-like) commands), "LPRng" and finally "*BSD", the first working (=print queues are
+ found) print spooler is chosen.
+ The spooler(s) being used (and the query order) can be changed by the "-XpSpoolerType"
+ command line option.
+ The list of commands used to enumerate the queues for a specific spooler type
+ can be found in <tt class="filename">xc/programs/Xserver/Xprint/spooler.c</tt>
+ </p></li></ul></div><p>
+ </p></li><li xmlns:ns68=""><p>
+ On AIX v4:
+</p><pre class="screen">
+% <b class="userinput"><tt>lsallq | grep -v '^bsh$'</tt></b>
+</pre><p>
+ </p></li></ul></div><p>
+ </p><div xmlns:ns69="" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notes:</h3><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ See <tt class="filename">xc/programs/Xserver/Xprint/Init.c</tt> (xprint.mozdev.org >= release 009 uses
+ <tt class="filename">xc/programs/Xserver/Xprint/spooler.c</tt>) for a complete list of commands
+ used on the specific platforms to enumerate the printers.
+ </p></li><li><p>
+ Note that the output is always piped through "sort" to get an
+ alphabetical order (the "default" printer is not chosen/defined
+ here(=server side), the client side is responsible to choose a default
+ printer.
+ See FAQ item about the <tt class="envar">${XPRINTER}</tt> env var how to set your default
+ printer).
+ </p></li></ul></div><p>
+ </p></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2877337"></a><a name="id2877340"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Where can I get more PostScript Type1 fonts from ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns74="" align="left" valign="top"><p>
+ Some sources:
+ </p><div class="itemizedlist"><ul type="disc"><li xmlns:ns72=""><p>
+ Adobe:
+
+ </p><div class="itemizedlist"><ul type="circle"><li><p>
+ Commercial fonts:
+ <a href="http://www.adobe.com/type/main.html" target="_top">http://www.adobe.com/type/main.html</a>
+ </p></li><li xmlns:ns71=""><p>
+ Free Euro font:
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ Single-glyph (e.g. it contains <span class="emphasis"><em>only</em></span> the euro char) euro font:
+ <a href="http://www.adobe.com/type/eurofont.html" target="_top">http://www.adobe.com/type/eurofont.html</a> or
+ <a href="ftp://ftp.adobe.com/pub/adobe/type/win/all/" target="_top">ftp://ftp.adobe.com/pub/adobe/type/win/all/</a>
+ ("eurofont.exe" can be unzipped using "unzip")
+ </p></li><li><p>
+ ISO8859-15:
+ XXX - WANTED!!
+ </p></li></ul></div><p>
+ </p></li></ul></div><p>
+ </p></li><li xmlns:ns73=""><p>
+ Solaris shipps with various PS Type 1 fonts:
+ </p><div class="itemizedlist"><ul type="circle"><li><p>
+ Arabic:
+ <tt class="filename">/usr/openwin/lib/locale/ar/X11/fonts/Type1/</tt>
+ (<tt class="filename">fonts.dir</tt> and <tt class="filename">fonts.scale</tt> missing, maybe they miss the
+ presentation forms a&b, too [unconfirmed])
+ </p></li><li><p>
+ ISO-8859-13 (Latin 8):
+ <tt class="filename">/usr/openwin/lib/locale/iso_8859_13/X11/fonts/Type1/</tt>
+ </p></li><li><p>
+ ISO-8859-5 (Latin 5):
+ <tt class="filename">/usr/openwin/lib/locale/iso_8859_9/X11/fonts/Type1/</tt>
+ </p></li><li><p>
+ ISO-8859-8/Hebrew:
+ <tt class="filename">/usr/openwin/lib/locale/iso_8859_8/X11/fonts/Type1</tt>
+ (BROKEN, even "type1fix" cannot fix them. Use the hebrew fonts from
+
+ <a href="broken-link/PS_Type1_iso8859-8.tar.gz" target="_top">
+ broken-link-/PS_Type1_iso8859-8.tar.gz</a>)
+ </p></li><li><p>
+ ISO-8859-7/Modern greek:
+ <tt class="filename">/usr/openwin/lib/locale/iso_8859_7/X11/fonts/Type1/</tt>
+ </p></li><li><p>
+ ISO-8859-5/Cryrillic:
+ <tt class="filename">/usr/openwin/lib/locale/iso_8859_5/X11/fonts/Type1/</tt>
+ </p></li><li><p>
+ ISO-8859-4 (Latin 4):
+ <tt class="filename">/usr/openwin/lib/locale/iso_8859_4/X11/fonts/Type1/</tt>
+ </p></li><li><p>
+ ISO-8859-2 (Latin 2):
+ <tt class="filename">/usr/openwin/lib/locale/iso_8859_2/X11/fonts/Type1/</tt>
+ </p></li><li><p>
+ ISO-8859-1 (Latin 1) and Symbol fonts:
+ <tt class="filename">/usr/openwin/lib/X11/fonts/Type1/</tt>
+ </p></li></ul></div><p>
+ </p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2877686"></a><a name="id2877689"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ What are PMF fonts (e.g. the *.pmf fonts in
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/models/%model_name%/fonts/</tt> (or
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/models/%model_name%/fonts/</tt>)) ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ PMF "fonts" are "printer metric files" (.pmf) that describe the metrics
+ of the fonts (which means they do not contain any data to render the
+ fonts - they contain only the plain metrics of a font) which are built
+ into the printer (ROM or via font catridge etc.).
+ The file format is identical to the PCF ("Portable Compiled Format") font
+ format except that the bitmap data is not provided.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2877773"></a><a name="id2877776"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Can I use the fontserver ("xfs") with Xprt ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ You can use Xprt with the font server ("xfs") like with any other
+ Xserver - but it is not recommded since the font server protocol does
+ not allow access to the native font format and therefore disables font
+ download, e.g. both PS Type1 and TrueType fonts cannot be downloaded
+ anymore and Xprt will fall-back to embed them as bitmap glyphs in the
+ print job (e.g. the fonts will still appear correctly in the printout,
+ but the quality may be reduced since downloaded fonts are always better
+ than bitmap glyphs).
+ (users of xprint.mozdev.org-release <= 006 may see
+ <a href="http://xprint.mozdev.org/bugs/show_bug.cgi?id=2092" target="_top">xprint.mozdev.org bug 2092</a>
+ if they use "xfs"; this has been fixed in the 007 release!)
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2877836"></a><a name="id2877838"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ What is a "model-config" ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns75="" align="left" valign="top"><p>
+ The term "model-config" refers to the subdirs in
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/models/</tt>.
+ There subdirs contain information
+ about the attributes for a specific printer model or family/class of
+ printer models. In particular there are two kinds of information:
+
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/models/${NAME_OF_MODEL}/model-config</tt>"
+ this file defines a set of attributes supported by this specific printer
+ (-family/-class/etc.)
+ and
+ </p></li><li><p>
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/models/${NAME_OF_MODEL}/fonts/</tt>" - a
+ directory which contains a set of PMF (printer metrics file) fonts
+ builtin into the printer itself (actually the PMF "font" format
+ contains only metrics information and no glyphs).
+ These fonts are only available to the application <span class="emphasis"><em>after</em></span> the
+ application has selected a printer and configured it (for developers:
+ After <tt class="function">XpSetContext</tt> has been called).
+ </p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2877947"></a><a name="id2877950"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Where can I store the default values for printers ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2877968"></a><a name="id2877972"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I create my own model-config ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2877990"></a><a name="id2877993"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I create my own PMF "fonts" ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX - no solution yet, but
+ <a href="http://xprint.mozdev.org/bugs/show_bug.cgi?id=2430" target="_top">xprint.mozdev.org bug 2430
+ ("RFE: Need tool to create PMF (printer metrics file) fonts")</a>
+ has been filed to create a freeware tool to create such fonts.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="where_can_i_get_more_model_configs_from"></a><a name="id2878042"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Where can I get more model-configs from ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ If you miss a model-config for your printer please open a bug/RFE at
+ <a href="http://xprint.freedesktop.org/bugzilla/enter_bug.cgi?product=xprint&component=Server%3A%20Config%3A%20model-configs" target="_top">
+ http://xprint.freedesktop.org/bugzilla/enter_bug.cgi?product=xprint&component=Server%3A%20Config%3A%20model-configs</a>
+ (e.g. <a href="http://xprint.freedesktop.org/bugzilla/enter_bug.cgi" target="_top">http://xprint.freedesktop.org/bugzilla/enter_bug.cgi</a>, product "Xprint", component
+ "Server: Config: model-configs").
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2878099"></a><a name="id2878102"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ If I install Xprt &co. as "root" in the default location and don't need
+ to set <tt class="envar">${XPCONFIGDIR}</tt> - where are my configuration files located then ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns77="" align="left" valign="top"><p>
+ This is platform-specific, based on the "XPrintDir" Imake variable set
+ at build time. Default location for plain X11R6.x is
+ "<tt class="filename">${XProjectRoot}/lib/X11/xserver</tt>" (set at build time), but some
+ platforms modify "XPrintDir" to alternate locations:
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ Solaris sets <tt class="envar">${XPCONFIGDIR}</tt> to <tt class="filename">/usr/openwin/server/etc/XpConfig/</tt>
+ </p></li><li><p>
+ Linux (non-Debian) sets <tt class="envar">${XPCONFIGDIR}</tt> to <tt class="filename">/usr/X11R6/lib/X11/xserver/</tt>
+ or <tt class="filename">/etc/X11/xserver/</tt>
+ </p></li><li><p>
+ Debian Linux sets <tt class="envar">${XPCONFIGDIR}</tt> to <tt class="filename">/usr/share/Xprint/xserver/</tt>
+ </p></li></ul></div><p>
+ </p><div xmlns:ns76="" class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Tip</h3><p>
+ If you don't know where the default location for <tt class="envar">${XPCONFIGDIR}</tt> is
+ located try
+</p><pre class="programlisting">
+ strings -a /usr/openwin/bin/Xprt | grep XPRINTDIR
+</pre><p> - it <span class="emphasis"><em>may</em></span>
+ return some debug info from the binary containing the builtin XpConfig
+ path.
+ </p></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2878242"></a><a name="id2878246"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Are config files and/or the PMF fonts architecture dependent ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ The PMF fonts are a variant of the PCF font format, they are
+ (like the PCF format) architecture-independent.
+ These fonts must be kept together with the other model config data since
+ they depend on the printer model (de facto
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/models/</tt> (and/or
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/models/</tt>) should be supplied by the printer
+ vendors (but most people will create their own models on demand since
+ I doubt that any vendor except HP, Sun and xprint.mozdev.org staff ever
+ looked at that stuff)).
+ Per definition they are read-only data supplied by the vendor, but
+ modifying them may be usefull, too.
+ I would say it is recommended to put treat all Xprint files in
+ <tt class="envar">${XPCONFIGDIR}</tt> as read-only vendor data; admins should create copies of
+ this tree on demand (and/or (soft-)link some files) and set
+ <tt class="envar">${XPCONFIGDIR}</tt> to the modified config data.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2878311"></a><a name="id2878314"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Can I localise my Xprint/Xprt configuration (l10n) ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns79="" align="left" valign="top"><p>
+ Yes, Xprt supports localisation ("l10n") by default. Default values for
+ all locales are stored in <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/</tt>, locale-specific
+ settings can be set in <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/</tt>
+ Rules:
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ Attribute pools
+ ("<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/*/print/attributes/document</tt>",
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/*/print/attributes/job</tt>",
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/*/print/attributes/printer</tt>" and
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/*/print/models/*/model-config</tt>"):
+ "document", "job" and "printer" attribute pools and printer
+ model-configs are sourced first from the
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/</tt>"-directory, then they are overridden by any
+ attributes from the locale-specific pools (in
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/</tt>"), e.g. any values set in
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/*</tt>" and
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/models/*/model-config</tt>" will automatically
+ apply to all other locales unless they are overridden by
+ locale-specific versions of these files
+ ("<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/attributes/*</tt>",
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/models/*/model-config</tt>")
+ </p></li><li><p>
+ "Xprinters" (list of printers):
+ If there is a locale-specific <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/Xprinters</tt> present
+ it will be used instead of <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/Xprinters</tt> (e.g. values set
+ in <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/Xprinters</tt> will be ignored and the values from
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/Xprinters</tt> will be used instead).
+ </p></li><li xmlns:ns78=""><p>
+ Xprt will determinate the locale which should be used based on the
+ <tt class="envar">${LANG}</tt>-environment vaiable at startup time. If there is no such
+ variable set at that time LANG="C" is assumed.
+ </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note:</h3><p>
+ Attribute values for paper names and orientation names refer to
+ builtin strings in the DDX code (which are itself based on
+ international standards), these cannot be changed to your own
+ "inventions" (it does it make sense to try to "localize" paper names -
+ "ISO-A4" is "ISO-A4" even in japanese/hebrew/german etc.).
+ Locale-spefific attribute pools can set their own, different values -
+ but only within the allowed range of values supported by the DDX and
+ printers's model-config.
+ </p></div><p>
+ </p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2878596"></a><a name="id2878599"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Can I execute my own scripts to process the PostScript files generated
+ by Xprt ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns83="" align="left" valign="top"><p>
+ Yes, there are at least two possible solutions:
+ </p><div class="orderedlist"><ol type="1"><li><p>
+ Create your own model-config which uses a custom "xp-spooler-command"
+ value - the xprint.mozdev.org's
+ "PSspooldir" model config (see
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/models/PSspooldir/</tt>" and
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/printer</tt>" and
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/Xprinters</tt>")
+ and
+ "PS2PDFspooldir-GS" model config (see
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/models/PS2PDFspooldir-GS/</tt>" and
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/printer</tt>" and
+ "<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/Xprinters</tt>")
+ are good examples for that.
+ </p></li><li xmlns:ns82=""><p>
+ Use an existing "model-config" (which would normally send it's data to
+ a printer using the default print spooler command) and provide a
+ custom "xp-spooler-command".
+ </p><div class="blockquote"><blockquote class="blockquote"><div class="procedure"><p class="title"><b>Procedure 2.
+ Example (using "SPSPARC2" as printer model, <tt class="filename">/w/xp_conv</tt>
+ as the script to execute and "myscriptprinter" as name of the printer):
+ </b></p><ol type="1"><li xmlns:ns80=""><p>
+ Edit <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/printer</tt> and add these lines
+ (Xprt will replace "%printer-name%" with the printer's name,
+ "%copy-count%" with the number of job copies, "%job-name%" with the
+ job's title and "%options%" with any custom spooler options):
+</p><pre class="screen">
+myscriptprinter.xp-model-identifier: SPSPARC2
+myscriptprinter.xp-spooler-command: /w/xp_conv -p %printer-name% -c %copy-count% -t %job-name% -o "%options%"
+</pre><p>
+ </p></li><li xmlns:ns81=""><p>
+ Edit <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/Xprinters</tt> and append this line:
+</p><pre class="screen">
+Printer myscriptprinter
+</pre><p>
+ </p></li></ol></div></blockquote></div><p>
+
+ </p></li></ol></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2878803"></a><a name="id2878805"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I disable "xp_ps_spooldir_tmp_Xprintjobs" / "xp_pdf_spooldir_tmp_Xprintjobs" printer targets ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns84="" align="left" valign="top"><p>
+ Edit <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/Xprinters</tt> and
+ remove or comment-out (using '#') the lines "Printer xp_ps_spooldir_tmp_Xprintjobs"
+ and "Printer xp_pdf_spooldir_tmp_Xprintjobs".
+
+ </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note:</h3><p>
+ Note that Xprt will <span class="emphasis"><em>NOT</em></span> start if this printer has been removed/disabled
+ and no other print queue is available (e.g. if "xp_ps_spooldir_tmp_Xprintjobs"
+ and "Printer xp_pdf_spooldir_tmp_Xprintjobs" are the only printer target available).
+ </p></div><p>
+ </p></td></tr><tr class="qandadiv"><td align="left" valign="top" colspan="2"><a name="faq_troubleshooting"></a><h4 class="title"><a name="faq_troubleshooting"></a>4. Troubleshooting</h4></td></tr><tr class="toc" colspan="2"><td align="left" valign="top" colspan="2"><dl><dt>Q: <a href="#printout_only_covers_1_4_of_the_paper">
+ "Printing itself works but the printout covers only 1/4 of the paper - what am I doing wrong ?"
+ </a></dt><dt>Q: <a href="#id2878971">
+ "Printing works but I get large borders/margins..." / "[Top] margin is too small" /
+ "Margins are wrong" / etc.
+ </a></dt><dt>Q: <a href="#id2879055">
+ Xprt refuses to start with the message "sh: lpc: command not found" on
+ my Linux machine. What does that mean ?
+ </a></dt><dt>Q: <a href="#id2879146">
+ When the application (=client side) tries to connect to the Xprt
+ (Xserver) side it fails with a
+
+Xlib: connection to "meridian:52.0" refused by server
+Xlib: Client is not authorized to connect to Server
+
+ What does that mean ?
+ </a></dt><dt>Q: <a href="#id2879415">
+ Xprt refuses to start with the message "failed to set default font path
+ '...' Fatal server error: could not open default font 'fixed'".
+ What does that mean ?
+ </a></dt><dt>Q: <a href="#id2879513">
+ Just copying my fonts into a directory and adding the path to my Xprt
+ command line didn't work - I always get "Fatal server error: could not
+ open default font 'fixed'". What am I doing wrong ?
+ </a></dt><dt>Q: <a href="#id2879625">
+ Xprt refuses to start with the message "Fatal server error: Cannot
+ establish any listening sockets - Make sure an X server isn't already
+ running". What does that mean ?
+ </a></dt><dt>Q: <a href="#id2879653">
+ Xprt refuses to start with the message "Fatal server error: Failed to
+ establish all listening sockets". What does that mean ?
+ </a></dt><dt>Q: <a href="#id2879698">
+ Xprt refuses to start with the message "Fatal server error: could not
+ open default font 'fixed'" or "Fatal server error: could not open default
+ cursor font 'cursor'".
+ </a></dt><dt>Q: <a href="#id2879727">
+ Xprt refuses to start with the message "Fatal server error: no screens
+ found". What does that mean ?
+ </a></dt><dt>Q: <a href="#id2880016">
+ Xprt prints a warning like "Xp Extension: could not find config dir
+ /usr/X11R6/lib/X11/C/print" - what does that mean ?
+ </a></dt><dt>Q: <a href="#id2880091">
+ Xprt crashes with "Fatal server error: Beziers this big not yet supported"
+ What does that mean ?
+ </a></dt><dt>Q: <a href="#id2880117">
+ "My PS Type1 font does not work with my Xserver - how can I fix this ?"
+ </a></dt><dt>Q: <a href="#id2880230">
+ I can't get it working. I have set ${DISPLAY} correctly to point to the
+ Xprt display and... ... What is going wrong ?
+ </a></dt><dt>Q: <a href="#id2880277">
+ When I try to print via Xprint I get the message "Fatal server error:
+ unable to exec '/usr/bin/lp'". What is going wrong here ?
+ </a></dt><dt>Q: <a href="#id2880318">
+ The Solaris Xprt prints some error messages about PostScript fonts like
+ "FOOBAR not found, using Courier. CMEX0123 not found, using Courier."
+ etc. and uses "Courier" instead of these fonts...
+ </a></dt><dt>Q: <a href="#id2880605">
+ "Xprt refused to start, complaining about a missing dir
+ (/etc/X11/xserver/C/print/ directory)... I created it by hand (empty) and
+ started Xprt but it still does not work properly..."
+ </a></dt><dt>Q: <a href="#id2880661">
+ My Linux system already shipps with a '/usr/X11R6/bin/Xprt'-binary.
+ Do I need the binary distribution from http://xprint.mozdev.org/ ?
+ </a></dt><dt>Q: <a href="#id2880745">
+ I am getting the error message "error opening security policy file
+ /usr/X11R6/lib/X11/xserver/SecurityPolicy". What does that mean ?
+ </a></dt><dt>Q: <a href="#id2880798">
+ I have modified the "HPLJ4family" [or "HPDJ1600C" etc.] printer model to
+ work with my PostScript printer, but when I print I get empty places
+ where some text should be - what am I doing wrong here ?
+ </a></dt><dt>Q: <a href="#id2880851">
+ Xprt outputs warning messages like:
+
+
+Xp Extension: Can't load driver XP-PCL-MONO
+ init function missing
+Xp Extension: Can't load driver XP-RASTER
+ init function missing
+
+
+ What does that mean ?
+ </a></dt><dt>Q: <a href="#bug_solaris_xprt_removes_spaces_between_words">
+ Printing on Solaris with Mozilla/Eclipse [or any other Xprint client]
+ removes spaces between words. What is going wrong ?
+ </a></dt><dt>Q: <a href="#id2881576">
+ Installation of the "GISWxprint" / "GISWxprintglue" packages fails like this:
+# pkgadd -d /space/staging/xprint/GISWxprint.pkg
+pkgadd: ERROR: no packages were found in </var/tmp/dstreAAA5Jayyz>
+ Any idea what I am doing wrong ?
+ </a></dt><dt>Q: <a href="#multiple_leading_blank_pages">
+ Printing page results in [two/three/.../16] leading blank pages, followed by a correct (but offset) page.
+ Any idea what is going wrong ?
+ </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a name="printout_only_covers_1_4_of_the_paper"></a><a name="id2878883"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ "Printing itself works but the printout covers only 1/4 of the paper - what am I doing wrong ?"
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ This is usually an indicator for a wrong DPI setting. The default
+ "PSdefault" model config uses 300 DPI but some printers only support
+ 600 DPI.
+ </p><p><b>Workaround: </b>
+ Edit <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt> and replace the line
+ "*default-printer-resolution: 300" with
+ "*default-printer-resolution: 600"
+ (Note that locale-specific settings in
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/<tt class="envar">${LANG}</tt>/print/attributes/document</tt> always override values
+ set in <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/document</tt>.)
+ </p><p><b>Solution: </b>
+ Create a model-config for your printer which only contains attributes
+ supported by your printer ("printer-resolutions-supported" is the
+ attribute in the "model-config" which holds the space-seperated list
+ of DPI values which are supported by the printer).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2878971"></a><a name="id2878974"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ "Printing works but I get large borders/margins..." / "[Top] margin is too small" /
+ "Margins are wrong" / etc.
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns85="" align="left" valign="top"><p>
+ Two possible causes:
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ Usually same issue as "Printing itself works but the printout covers
+ only 1/4 of the page"-issue: Wrong DPI.
+ Solution: Check the DPI value and adjust it as described in the FAQ item
+ above. Common DPI values for the PostScript DDX are 240, 300, 360, 400
+ and 600 DPI.
+ </p></li><li><p>
+ You are trying to print "US-letter" on a "DIN-A4" paper or "DIN-A4" on
+ "US-letter".
+ </p><p>
+ Solution: Check your paper settings
+ </p><p>
+ Note that the default papersize for Xprt depends on the locale
+ (e.g. on the env var <tt class="envar">${LANG}</tt>) Xprt is running in - "en_US"&co. get
+ US-letter, all others use DIN-A4 (incl. german/austrian etc. locales)).
+ Exception from this rule: If the selected printer does not support the
+ default paper size it will set no default paper size for this printer
+ (then the application side has to make an explicit choice).
+ </p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2879055"></a><a name="id2879058"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Xprt refuses to start with the message "sh: lpc: command not found" on
+ my Linux machine. What does that mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns86="" align="left" valign="top"><p>
+ Some versions of Xprt look up printer queues using "lpc" on Linux.
+ In this case "lpc" cannot be found for some reason.
+ Solution:
+ Find the place where "lpc" is installed on your machine (some
+ distributions put it into <tt class="filename">/usr/sbin</tt>, some into <tt class="filename">/usr/bin/</tt>) and check
+ whether your <tt class="envar">PATH</tt> env var includes this directory.
+ Example (if "lpc" is located in <tt class="filename">/usr/sbin/</tt>):
+</p><pre class="screen">
+ % <b class="userinput"><tt>which lpc</tt></b>
+ <tt class="computeroutput">/usr/sbin/lpc</tt>
+ % <b class="userinput"><tt>export PATH=$PATH:/usr/sbin</tt></b>
+ # Start Xprt ...
+ % <b class="userinput"><tt>Xprt <your-options-come-here></tt></b>
+</pre><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2879146"></a><a name="id2879149"></a><b>Q:</b></td><td xmlns:ns87="" align="left" valign="top"><p>
+ When the application (=client side) tries to connect to the Xprt
+ (Xserver) side it fails with a
+</p><pre class="screen">
+<tt class="computeroutput">Xlib: connection to "meridian:52.0" refused by server
+Xlib: Client is not authorized to connect to Server</tt>
+</pre><p>
+ What does that mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns92="" align="left" valign="top"><p>
+ X11 implements access control. You can have host-based, cookie-based (a
+ "cookie" is used like a passport) or user-based (SecureRPC or Kerberos5)
+ authentification. <span class="citerefentry"><span class="refentrytitle">Xsecurity</span>(7)</span>
+ has most of the details.
+ </p><div class="orderedlist"><ol type="1"><li xmlns:ns88=""><p><b>
+ No access control:
+ . </b>
+ If you do not want to use access control for Xprt then you can start it
+ with the option "-ac" (see <span class="citerefentry"><span class="refentrytitle">Xserver</span>(1x)</span>)
+ to disable the access control.
+ Example:
+</p><pre class="screen">
+ % <b class="userinput"><tt>Xprt -ac -audit 4 :12</tt></b>
+</pre><p>
+ will start Xprt with access control disabled and with auditing enabled
+ (e.g. the "-audit 4" option).
+ </p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">
+ WARNING
+ </h3><p>
+ Disabling the access control will enable <span class="emphasis"><em>everyone</em></span> who can
+ access Xprt to print on your printers (that's why the above example
+ shows how to use auditing, too - that you can see who does something
+ with Xprt...) !!
+ </p></div><p>
+ </p></li><li xmlns:ns91=""><p><b>
+ Host-based access control:
+ . </b>
+ Host-based access control can be archived using <tt class="filename">/etc/X<dpy>.hosts</tt>
+ (<dpy> == display number, e.g. <tt class="filename">/etc/X0.hosts</tt> for display 0 (see
+ <span class="citerefentry"><span class="refentrytitle">Xserver</span>(1x)</span>
+ manual page for further details)).
+ </p><div class="blockquote"><blockquote class="blockquote"><div class="procedure"><p class="title"><b>Procedure 3. Example</b></p><ol type="1"><li xmlns:ns89=""><p>
+ Add the following line to `<tt class="filename">/etc/X12.hosts</tt>' (assuming you want that
+ the hosts 'merkur' and 'mars' should be able to access the Xprt
+ server running as display 12 on your host 'neptun'):
+</p><pre class="screen">
+INET:merkur
+INET:mars
+</pre><p>
+ </p></li><li><p>
+ Start Xprt
+ </p></li><li xmlns:ns90=""><p>
+ Verify that Xprt is correctly configured:
+</p><pre class="screen">
+% <b class="userinput"><tt>export DISPLAY=neptun:12</tt></b>
+% <b class="userinput"><tt>xhost</tt></b>
+<tt class="computeroutput">access control enabled, only authorized clients can connect
+INET:localhost
+LOCAL:
+INET:merkur
+INET:mars</tt>
+</pre><p>
+ </p></li></ol></div></blockquote></div><p>
+ </p></li></ol></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2879415"></a><a name="id2879417"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Xprt refuses to start with the message "failed to set default font path
+ '...' Fatal server error: could not open default font 'fixed'".
+ What does that mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns93="" align="left" valign="top"><p>
+ This means one or more components in the font path (set via the option
+ "-fp") are either...
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ ... not valid
+ </p></li><li><p>
+ ... contain fonts not supported by this Xserver (e.g. support has not
+ be compiled "in" (usually happens for TrueType (which are only support for Solaris version
+ of Xprt and xprint.mozdev.org releases ≥ 008), OpenType (which are only supported by
+ xprint.mozdev.org releases 009 or higher) or F3 fonts (Sunsoft/F3 fonts are Solaris-specific
+ and <span class="emphasis"><em>not</em></span> supported by other vendors (AFAIK))
+ when support for these fonts was not enabled at build time))
+ </p></li><li><p>
+ ... no font or font alias in the font path matches the name "fixed"
+ </p></li><li><p>
+ ... an entry in <tt class="filename">fonts.dir</tt> or <tt class="filename">fonts.alias</tt>
+ with the name "fixed" which references a non-existing or non-readable file
+ </p></li></ul></div><p>
+
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2879513"></a><a name="id2879516"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Just copying my fonts into a directory and adding the path to my Xprt
+ command line didn't work - I always get "Fatal server error: could not
+ open default font 'fixed'". What am I doing wrong ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Every Xserver needs an index file called <tt class="filename">fonts.dir</tt> to tell it which
+ fonts are available in this directory and which properties these fonts
+ have.
+ </p><p>
+ If you are lucky there may be already a <tt class="filename">fonts.scale</tt> file which can be
+ used by "mkfontdir" to create the <tt class="filename">fonts.dir</tt> file.
+ If there is no <tt class="filename">fonts.scale</tt> then you have to create your own
+ <tt class="filename">fonts.dir</tt>/<tt class="filename">fonts.scale</tt> either by hand or
+ via tools like "mkfontscale" (works for all types of scaleable fonts),
+ "type1inst" (for PS Type1 fonts; see
+ <a href="http://packages.debian.org/stable/utils/type1inst.html" target="_top">http://packages.debian.org/stable/utils/type1inst.html</a>)
+ or "ttmkfdir" (for TrueType fonts; see
+ <a href="http://packages.debian.org/stable/x11/ttmkfdir.html" target="_top">http://packages.debian.org/stable/x11/ttmkfdir.html</a>).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2879625"></a><a name="id2879628"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Xprt refuses to start with the message "Fatal server error: Cannot
+ establish any listening sockets - Make sure an X server isn't already
+ running". What does that mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ There is already a Xserver running at the display ID you have specified
+ to start Xprt (for example your framebuffer Xserver runs at ":0" then
+ Xprt can't run at the same display display).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2879653"></a><a name="id2879656"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Xprt refuses to start with the message "Fatal server error: Failed to
+ establish all listening sockets". What does that mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ This means that the Xserver could not open one of it's sockets. Check
+ the permission of /tmp/.X11-pipe and /tmp/.X11-unix (on Solaris a
+ Xserver must run set-gid "root" to access these directories).
+ Either fix the permission or start Xprt with the option "-pn". Using this
+ option requires to access the server <span class="emphasis"><em>always</em></span> with
+ <hostname>:<displaynum> (see <span class="citerefentry"><span class="refentrytitle">Xserver</span>(1x)</span>
+ manual page for the side-effects of this option).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2879698"></a><a name="id2879701"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Xprt refuses to start with the message "Fatal server error: could not
+ open default font 'fixed'" or "Fatal server error: could not open default
+ cursor font 'cursor'".
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ All Xservers at least two fonts as the minimum: One fixed-width font
+ ("fixed") and one font for the cursor ("cursor"). Be sure that the font
+ path contains these fonts.
+
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2879727"></a><a name="id2879736"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Xprt refuses to start with the message "Fatal server error: no screens
+ found". What does that mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns99="" align="left" valign="top"><p><b>Cause: </b>
+ This means that Xprt could not find any printers. Either there are no
+ printers installed, "lpstat"/"lpc" could not find any printers or the
+ configuration does not contain any manual printer configurations
+ (see Q/A item "Which program is used by default by Xprt to enumerate the
+ printers on my system" for further details...).
+ </p><p><b>Solution: </b>
+ Two solutions:
+ </p><div class="orderedlist"><ol type="1"><li xmlns:ns94=""><p><b>
+ Using "PSspooldir" model:
+ . </b>
+ Xprt releases from <a href="http://xprint.mozdev.org/" target="_top">http://xprint.mozdev.org/</a> provide the "PSspooldir"
+ model config for such cases. Just edit the "<tt class="filename">Xprinters</tt>" file and add
+ this line:
+</p><pre class="screen">
+Printer xp_ps_spooldir_tmp_Xprintjobs
+</pre><p>
+ this will add the pre-configured (see
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/printer</tt>) "xp_ps_spooldir_tmp_Xprintjobs"
+ printer which will send jobs to the directory "/tmp/Xprintjobs/"
+ instead to a printer queue.
+ (This feature was added in the xprint.mozdev.org release 007, see
+ <a href="http://xprint.mozdev.org/bugs/show_bug.cgi?id=2475" target="_top">xprint.mozdev.org bug 2475 ("RFE: Need
+ model-config which spools print jobs in a predefined directory")</a>.)
+ </p></li><li xmlns:ns98=""><p><b>
+ Manual setup (task list):
+ . </b>
+ </p><div class="blockquote"><blockquote class="blockquote"><div class="procedure"><ol type="1"><li xmlns:ns95=""><p>
+ Provide a simple "Xprinters" spec file which contains a dummy
+ queue.
+ Example:
+</p><pre class="screen">
+# Create "Xprinters_onlydummy" file which turns autolookup of printers
+# OFF (using "Augment_Printer_List %none%") and provides one dummy
+# queue called "ps_myscript" instead (using "Printer ps_myscript")
+% <b class="userinput"><tt>echo "Augment_Printer_List %none%" >Xprinters_onlydummy</tt></b>
+% <b class="userinput"><tt>echo "Printer ps_myscript" >>Xprinters_onlydummy</tt></b>
+</pre><p>
+ </p></li><li xmlns:ns96=""><p>
+ Edit <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/attributes/printer</tt> and add these
+ two lines:
+</p><pre class="screen">
+ps_myscript.xp-model-identifier: PSdefault
+ps_myscript.xp-spooler-command: /home/sanja/xprint_test/my_xprt_cat_script.sh
+</pre><p>
+ This means that the printer "ps_myscript" now uses the "PSdefault"
+ printer model and it will feed the jobs to the script
+ "/home/sanja/xprint_test/my_xprt_cat_script.sh" (via stdin).
+ Note that the absolute path is required for "*xp-spooler-command".
+ </p></li><li xmlns:ns97=""><p>
+ Start Xprt on display 18, passing the "Xprinters_onlydummy"
+ using the "-XpFile" option:
+</p><pre class="screen">
+% <b class="userinput"><tt>Xprt -XpFile ./Xprinters_onlydummy -pn -ac -audit 4 :18</tt></b>
+</pre><p>
+ </p></li></ol></div></blockquote></div><p>
+ </p></li></ol></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2880016"></a><a name="id2880019"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Xprt prints a warning like "Xp Extension: could not find config dir
+ /usr/X11R6/lib/X11/C/print" - what does that mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns100="" align="left" valign="top"><p>
+ This is actually the worst case what can happen.
+ The message indicates that Xprt was unable to find it's configuration
+ data.
+ </p><p><b>Solution: </b>
+ Two solutions are possible:
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ Install the configuration data at the requested location
+ (<tt class="filename">/usr/X11R6/lib/X11/C/print/</tt> in this example)
+ </p></li><li><p>
+ Set the <tt class="envar">${XPCONFIGDIR}</tt> env var to the location of the Xprt
+ configuration directory.
+ </p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2880091"></a><a name="id2880094"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Xprt crashes with "Fatal server error: Beziers this big not yet supported"
+ What does that mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ This is a known issue in the X11R6.5.1 code. In rare cases some PostScript
+ Type1 fonts can trigger this.
+ See "My PS Type1 font does not work with my Xserver" ...
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2880117"></a><a name="id2880120"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ "My PS Type1 font does not work with my Xserver - how can I fix this ?"
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns101="" align="left" valign="top"><p>
+ Some PS Type1 do not work out-of-the-box with all PS Type1 font engines -
+ some will work with the Adobe font engine (used in Solaris Xsun) but not
+ with the X.org font engine (or the other way round) or the fonts are
+ simply broken.
+
+ The following procedure will try to fix this problem:
+ Get the "type1fix" perl script the TeXTrace package
+ (<a href="http://www.inf.bme.hu/~pts/textrace-latest.tar.gz" target="_top">http://www.inf.bme.hu/~pts/textrace-latest.tar.gz</a>)
+ and run it over the fonts.
+
+ Example 1 (filter fonts):
+</p><pre class="screen">
+# Broken PFA fonts are in broken_fonts/
+% <b class="userinput"><tt>mkdir fixed_fonts ; cd fixed_fonts</tt></b>
+% <b class="userinput"><tt>for i in ../broken_fonts/*.pfa ; do
+ echo " ------- $i" ;
+ type1fix.pl --ofmt=pfa --infile=$i --outfile=$(basename ${i}) ;
+ done</tt></b>
+</pre><p>
+
+ Example 2 (filter fonts and convert them to PFB on-the-fly; do not forget
+ to update <tt class="filename">fonts.scale</tt> and run "mkfontdir" (to update <tt class="filename">fonts.dir</tt>) ;
+ systems which use the Adobe font engine (like Solaris/Xsun) may require
+ to run "makepsres", too):
+</p><pre class="screen">
+# Broken PFA fonts are in broken_fonts/
+% <b class="userinput"><tt>mkdir fixed_fonts ; cd fixed_fonts</tt></b>
+% <b class="userinput"><tt>for i in ../broken_fonts/*.pfa ; do
+ echo " ------- $i" ;
+ type1fix.pl --ofmt=pfb --infile=$i --outfile=$(basename ${i%.pfa}.pfb) ;
+ done</tt></b>
+</pre><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2880230"></a><a name="id2880233"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ I can't get it working. I have set <tt class="envar">${DISPLAY}</tt> correctly to point to the
+ Xprt display and... ... What is going wrong ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Do not set <tt class="envar">${DISPLAY}</tt> to the Xprt server. You still need your normal
+ Xserver for your video card - Xprt is only for your printer(s).
+ Applications look up Xprt servers via the <tt class="envar">${XPSERVERLIST}</tt> env var, <span class="emphasis"><em>NOT</em></span>
+ via the <tt class="envar">${DISPLAY}</tt> env var.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2880277"></a><a name="id2880280"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ When I try to print via Xprint I get the message "Fatal server error:
+ unable to exec '/usr/bin/lp'". What is going wrong here ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ This usually means that the spooler application "<tt class="filename">/usr/bin/lp</tt>"
+ could not be launched. This is usually the result when
+ <tt class="filename">/usr/bin/lp</tt> does not exist or
+ cannot be executed (for example, shell scripts without the +x (executable) flag etc.).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2880318"></a><a name="id2880321"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ The Solaris Xprt prints some error messages about PostScript fonts like
+ "FOOBAR not found, using Courier. CMEX0123 not found, using Courier."
+ etc. and uses "Courier" instead of these fonts...
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns106="" align="left" valign="top"><p><b>Cause: </b>
+ The Solaris (Adobe-based) PostScript font engine requires a "PostScript
+ resource database" file named "<tt class="filename">PSres.upr</tt>" to use the PostScript fonts
+ correctly.
+ </p><p><b>Solution: </b>
+ Create the missing <tt class="filename">PSres.upr</tt> database.
+ </p><div class="blockquote"><blockquote class="blockquote"><div class="procedure"><p class="title"><b>Procedure 5. Steps to create the missing "<tt class="filename">PSres.upr</tt>" file (task list):</b></p><ol type="1"><li xmlns:ns102=""><p>
+ Go to the location where the matching fonts are installed (we're using
+ <tt class="filename">/home/sanja/mathml_fonts/tex_cmps/Type1/</tt> in this example):
+</p><pre class="screen">
+% <b class="userinput"><tt>cd /home/sanja/mathml_fonts/tex_cmps/Type1//</tt></b>
+</pre><p>
+ </p></li><li xmlns:ns103=""><p>
+ Create "<tt class="filename">PSres.upr</tt>" using the "makepsres" command.
+</p><pre class="screen">
+% <b class="userinput"><tt>makepsres</tt></b>
+</pre><p>
+ </p></li><li xmlns:ns104=""><p>
+ Validation:
+ Make sure the file has been created:
+</p><pre class="screen">
+% <b class="userinput"><tt>ls -l PSres.upr</tt></b>
+</pre><p>
+ </p></li><li xmlns:ns105=""><p>
+ Restart Xprt server(s):
+</p><pre class="screen">
+% <b class="userinput"><tt>/etc/init.d/xprint restart</tt></b>
+</pre><p>
+ </p></li><li><p>
+ Restart application which uses these fonts
+ </p></li></ol></div></blockquote></div><p>
+ </p><p><b>References: </b>
+ </p><div class="itemizedlist"><ul type="disc"><li><p><span class="citerefentry"><span class="refentrytitle">makepsres</span>(1)</span> manual page</p></li><li><p><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=120560" target="_top">bugzilla.mozilla.org 120560 ("Solaris Xsun does not like CMEX10/CMSY10 Type1 fonts")</a></p></li><li><p><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=142718" target="_top">bugzilla.mozilla.org 142718 ("Document how to get the MathML fonts to work on Solaris")</a></p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2880605"></a><a name="id2880608"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ "Xprt refused to start, complaining about a missing dir
+ (<tt class="filename">/etc/X11/xserver/C/print/</tt> directory)... I created it by hand (empty) and
+ started Xprt but it still does not work properly..."
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Xprt expects some config data in this directory. Just making it an
+ existing but empty dir will work around the error message but will not
+ result in a properly working Xprt since it has no (usefull) builtins
+ which would make it possible to run the binary without the config data.
+ Your X11 binary distribution should always come with the config data
+ (for example <tt class="filename">/usr/openwin/server/etc/XpConfig/</tt> on Solaris) or you will not
+ be able to use Xprint (however it is possible to copy the config data
+ from another system :)
+ BTW: Source for the configs can be found under <tt class="filename">xc/programs/Xserver/XpConfig/</tt>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2880661"></a><a name="id2880664"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ My Linux system already shipps with a '<tt class="filename">/usr/X11R6/bin/Xprt</tt>'-binary.
+ Do I need the binary distribution from <a href="http://xprint.mozdev.org/" target="_top">http://xprint.mozdev.org/</a> ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns107="" align="left" valign="top"><p>
+ This depends on what is shipped with your Linux distribution.
+ Please check the "vendor" string of the Xprt server:
+</p><pre class="screen">
+% <b class="userinput"><tt>Xprt :10 &</tt></b>
+% <b class="userinput"><tt>xdpyinfo -display :10 | grep -i "vendor string"</tt></b>
+</pre><p>
+ If this outputs a line like "vendor string: The XFree86 Project, Inc"
+ then you have the Xprt binary build from Xfree86 sources - which are
+ broken - even the newest version [I'll update this as soon as Xfree86
+ shipps with a working version].
+ Xprt from Solaris, HP-UX and my own builds (which identifies itself as
+ "vendor string: xprint.mozdev.org" for releases >= 007, older releases
+ (e.g. <= 006) identify itself as as "vendor string: The X.Org Group")
+ are known to work proprtly.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2880745"></a><a name="id2880748"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ I am getting the error message "error opening security policy file
+ /usr/X11R6/lib/X11/xserver/SecurityPolicy". What does that mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ The policy file for the SECURITY extension cannot be found.
+ This is not serious unless you want to make use of features of the
+ SECURITY extensions (like treating clients as "untrusted", e.g. restrict
+ their access to certain Xserver resources).
+ Normally the missing policy file is a problem with your Unix/Linux X11
+ distribution; consult your vendor where to get the missing file from.
+ Alternatively you can get the plain X11R6.6 security policy file from
+ <a href="ftp://ftp.x.org/pub/R6.6/xc/programs/Xserver/Xext/SecurityPolicy" target="_top">ftp://ftp.x.org/pub/R6.6/xc/programs/Xserver/Xext/SecurityPolicy</a>
+ (copy it to the matching location - but be sure that you do not overwrite any
+ existing security policy file).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2880798"></a><a name="id2880801"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ I have modified the "HPLJ4family" [or "HPDJ1600C" etc.] printer model to
+ work with my PostScript printer, but when I print I get empty places
+ where some text should be - what am I doing wrong here ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ The "HPLJ4family" and "HPDJ1600C" models are PCL-only, check
+ the model-config spec
+ (<tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/C/print/models/${MODEL_NAME}/model-config</tt>) - if the
+ "xp-ddx-identifier" attribute says something with "PCL" (like
+ "XP-PCL-MONO" etc.) in the value string then this model-config is for
+ the PCL-DDX <span class="emphasis"><em>only</em></span> (e.g. their PMF fonts do not supply the neccesary
+ information (e.g. the "_ADOBE_POSTSCRIPT_FONTNAME" chunk is missing;
+ they only provide the "PCL_FONT_NAME" chunk) nor are these fonts
+ accessible via the PostScript-support in these printers.
+ A solution is to use the "PSdefault" model instead (and/or create your
+ customized own version of this model) - or look if there is a
+ model-config beginning with the same name and ending with "PS" (e.g.
+ "HPLJ4family-PS").
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2880851"></a><a name="id2880854"></a><b>Q:</b></td><td xmlns:ns108="" align="left" valign="top"><p>
+ Xprt outputs warning messages like:
+</p><pre class="screen">
+<tt class="computeroutput">
+Xp Extension: Can't load driver XP-PCL-MONO
+ init function missing
+Xp Extension: Can't load driver XP-RASTER
+ init function missing
+</tt>
+</pre><p>
+ What does that mean ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns110="" align="left" valign="top"><p>
+ Two possible problems:
+ </p><div class="orderedlist"><ol type="1"><li xmlns:ns109=""><p>
+ The requested driver is not supported by that version of Xprt.
+ For example Solaris 2.7 Xprt does not support XP-PCL-MONO nor the
+ XP-RASTER driver.
+ Valid values for the "xp-ddx-identifier" attribute in
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/*/print/attributes/printers</tt> and/or
+ <tt class="filename"><tt class="envar">${XPCONFIGDIR}</tt>/*/print/models/*/model-config</tt> are
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ Solaris 2.7: XP-POSTSCRIPT and XP-PCL-COLOR
+ </p></li><li><p>
+ Solaris >=2.8: XP-POSTSCRIPT, XP-PCL-COLOR, XP-PCL-MONO and XP-RASTER
+ </p></li><li><p>
+ HP-UX: XP-POSTSCRIPT, XP-PCL-COLOR, XP-PCL-MONO, XP-PCL-LJ3,
+ XP-PCL-DJ1200 and XP-RASTER
+ </p></li><li><p>
+ xprint.mozdev.org release 007: XP-POSTSCRIPT and XP-RASTER
+ </p></li><li><p>
+ xprint.mozdev.org release 008: XP-POSTSCRIPT, XP-PCL-COLOR,
+ XP-PCL-MONO, XP-PCL-LJ3 and XP-RASTER
+ </p></li><li><p>
+ xprint.mozdev.org release >=2.0 (planned): XP-POSTSCRIPT, XP-PCL-COLOR,
+ XP-PCL-MONO, XP-PCL-LJ3, XP-RASTER, XP-PDF and XP-SVGPRINT.
+ </p></li></ul></div><p>
+ </p></li><li><p>
+ There may be too many drivers loaded into one Xprt instance.
+ By default a single Xserver instance can only handle three screens - and
+ since one Xprint DDX maps to one Xserver screen this limit applies to
+ the number of loaded Xprt drivers, too.
+ Starting with xprint.mozdev.org release 008 the per-Xserver screen limit
+ was increased from "3" to "8" to avoid this issue...
+ Workaround: Start a 2nd instance of Xprt which handles the other
+ drivers which do not fit into the first instance.
+ </p></li></ol></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="bug_solaris_xprt_removes_spaces_between_words"></a><a name="id2881037"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Printing on Solaris with Mozilla/Eclipse [or any other Xprint client]
+ removes spaces between words. What is going wrong ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns111="" align="left" valign="top"><p><b>Cause: </b>
+ This is a bug in the Solaris Xprint server binary (<tt class="filename">/usr/openwin/bin/Xprt</tt>).
+ Various bug reports have been filed, see
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ <a href="http://xprint.mozdev.org/bugs/show_bug.cgi?id=3353" target="_top">xprint.mozdev.org bug 3353
+ ("Solaris Xprt looses space when rendering with '-monotype-arial-*'-fonts")</a>
+ </p></li><li><p>
+ <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=199957" target="_top">bugzilla.mozilla.org bug 199957 ("Solaris 8 Mozilla
+ removes spaces for text within <font face="Arial">...</font>"</a>)
+ </p></li></ul></div><p>
+ </p><p><b>Solution: </b>
+ Solution:
+ Please apply the following OS patches from <a href="http://sunsolve.sun.com/" target="_top">http://sunsolve.sun.com/</a>:
+ </p><div class="table"><a name="id2881166"></a><p class="title"><b>Table 1.
+ Solaris patches to fix <a href="http://xprint.mozdev.org/bugs/show_bug.cgi?id=3353" target="_top">xprint.mozdev.org bug 3353
+ ("Solaris Xprt looses space when rendering with '-monotype-arial-*'-fonts")</a>
+ </b></p><table summary="
+ Solaris patches to fix xprint.mozdev.org bug 3353
+ ("Solaris Xprt looses space when rendering with '-monotype-arial-*'-fonts")
+ " border="1"><colgroup><col><col><col><col><col><col></colgroup><thead><tr><th colspan="2" align="center">Solaris 2.7</th><th colspan="2" align="center">Solaris 2.8</th><th colspan="2" align="center">Solaris 2.9</th></tr><tr><th>SPARC</th><th>x86</th><th>SPARC</th><th>x86</th><th>SPARC</th><th>x86</th></tr></thead><tbody><tr><td><a href="#bug_solaris_xprt_removes_spaces_between_words_s27_no_patches_yet">n/a</a></td><td><a href="#bug_solaris_xprt_removes_spaces_between_words_s27_no_patches_yet">n/a</a></td><td><a href="http://sunsolve.sun.com/pub-cgi/retrieve.pl?patchid=108652&collection=fpatches" target="_top">108652-73</a></td><td><a href="http://sunsolve.sun.com/pub-cgi/retrieve.pl?patchid=108653&collection=fpatches" target="_top">108653-62</a></td><td><a href="http://sunsolve.sun.com/pub-cgi/retrieve.pl?patchid=112785&collection=fpatches" target="_top">112785-21</a></td><td><a href="http://sunsolve.sun.com/pub-cgi/retrieve.pl?patchid=112786&collection=fpatches" target="_top">112786-11</a></td></tr></tbody></table></div><p>
+
+ </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><a name="bug_solaris_xprt_removes_spaces_between_words_s27_no_patches_yet"></a>Note</h3><p>
+ For Solaris 2.7 (both SPARC and x86 platforms) there are currently
+ <a href="http://xprint.mozdev.org/bugs/show_bug.cgi?id=3353#c24" target="_top">no patches available</a>...
+ <tt class="literal">;-(</tt>
+ </p></div><p>
+ </p><p><b>Known workarounds: </b>
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
+ Remove the '-monotype-arial-*' fonts from the font path
+ </p></li><li><p>
+ Use an alternate Xprint server like available in the "GISWxprint" package
+ (this package is identical to the "GISWxprintglue" package except that it
+ uses a Xprint server build from xprint.mozdev.org sources and not the
+ <tt class="filename">/usr/openwin/bin/Xprt</tt> binary from Solaris)
+ </p></li><li xmlns:ns112=""><p>
+ Mozilla-only: Adding
+</p><pre class="programlisting">
+ user_pref("print.xprint.font.rejectfontpattern",
+ "fname=-dt-.*;scalable=.*;outline_scaled=false;xdisplay=.*;xdpy=.*;ydpy=.*;xdevice=.*|" +
+ "fname=-monotype-arial.*;scalable=.*;outline_scaled=.*;xdisplay=.*;xdpy=.*;ydpy=.*;xdevice=.*");
+</pre><p>
+ to <tt class="filename">prefs.js</tt> works around the problem (see
+ <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=199957#c6" target="_top">bugzilla.mozilla.org bug 199957 comment #6</a>,
+ too).
+ </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+ Note that this workaround may render various locales completly
+ inaccessible for printing since many of them only employ MonoType fonts.
+ </p></div><p>
+ </p></li></ul></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2881576"></a><a name="id2881616"></a><b>Q:</b></td><td xmlns:ns113="" align="left" valign="top"><p>
+ Installation of the "GISWxprint" / "GISWxprintglue" packages fails like this:
+</p><pre class="screen"># <b class="userinput"><tt>pkgadd -d /space/staging/xprint/GISWxprint.pkg</tt></b>
+<tt class="computeroutput">pkgadd: ERROR: no packages were found in </var/tmp/dstreAAA5Jayyz></tt></pre><p>
+ Any idea what I am doing wrong ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ The target machine misses a patch to cure SunSolve bug 4025718 ("pkginfo: allow greater than nine characters for PKG parameter value").
+ Please apply the patches listed in the "Installation Requirements" section in the README
+ for the <a href="http://xprint.mozdev.org/lxr/http/source/xprint/src/xprint_main/xc/packager/solaris/GISWxprint/README" target="_top">GISWxprint</a> /
+ <a href="http://xprint.mozdev.org/lxr/http/source/xprint/src/xprint_main/xc/packager/solaris/GISWxprintglue/README" target="_top">GISWxprintglue</a> package.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="multiple_leading_blank_pages"></a><a name="id2881707"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Printing page results in [two/three/.../16] leading blank pages, followed by a correct (but offset) page.
+ Any idea what is going wrong ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns114="" align="left" valign="top"><p>
+ This symptom depends on the CUPS GhostScript driver used, however the exact cause is currently unknown
+ (see comments in <a href="http://sdb.suse.de/en/sdb/html/jsmeix_print-81-cups-formfeed.html" target="_top">SuSE
+ support database entry SDB-2002/11/jsmeix_print-81-cups-formfeed ("Blank Pages When Printing with
+ CUPS")</a>).
+ </p><p><b>Solution: </b>
+ Disable the CUPS accounting functionality in the cupsomatic filter by changing the line
+</p><pre class="programlisting">
+ my $ps_accounting = 1;
+</pre><p>
+ to
+</p><pre class="programlisting">
+ my $ps_accounting = 0;
+</pre><p>
+ in the filter script <tt class="filename">/usr/lib/cups/filter/cupsomatic</tt> as the user root.
+ If you use <tt class="filename">/etc/foomatic/filter.conf</tt>, disable ps_accounting there.
+ </p><p><b>References: </b>
+ </p><div class="itemizedlist"><ul type="disc"><li><p><a href="http://sdb.suse.de/en/sdb/html/jsmeix_print-81-cups-formfeed.html" target="_top">SuSE support database entry SDB-2002/11/jsmeix_print-81-cups-formfeed ("Blank Pages When Printing with CUPS")</a></p></li><li><p><a href="http://xprint.mozdev.org/bugs/show_bug.cgi?id=4181" target="_top">xprint.mozdev.org bug 4181 ("Two empty pages printed first")</a></p></li><li><p><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=180602#c7" target="_top">bugzilla.mozilla.org bug 180602 comment #7 ("Printing page results in 16 leading blank pages, followed by a correct, but offset, page")</a></p></li></ul></div><p>
+ </p></td></tr><tr class="qandadiv"><td align="left" valign="top" colspan="2"><a name="faq_development"></a><h4 class="title"><a name="faq_development"></a>5. Software development</h4></td></tr><tr class="toc" colspan="2"><td align="left" valign="top" colspan="2"><dl><dt>Q: <a href="#id2881884">
+ How does the X print server (Xprt) and the Xlib client side differ
+ from the "normal" video Xserver/video client side ?
+ </a></dt><dt>Q: <a href="#id2882332">
+ How can I get the printable area (e.g. the portion of the page on which
+ the printer is physically capable of placing ink) of the paper after I
+ have chosen a paper ?
+ </a></dt><dt>Q: <a href="#id2882381">
+ Do "offscreen" pixmaps work on Xprt ?
+ </a></dt><dt>Q: <a href="#id2882403">
+ How can I get the DPI value for the current Xprt server ? Can I use the
+ values from "xdpyinfo" ?
+ </a></dt><dt>Q: <a href="#why_does_xprt_not_support_mitshm">
+ Why does Xprt not offer the MIT-SHM protocol extension ?
+ </a></dt><dt>Q: <a href="#id2882576">
+ Does Xprint/Xprt support font rotation ?
+ </a></dt><dt>Q: <a href="#id2882696">
+ When I render something on my window and call XpStartPage all the
+ rendered stuff is gone, I only get a white, empty paper.
+ What is going wrong here ?
+ </a></dt><dt>Q: <a href="#id2882791">
+ What is XpStartDoc for ?
+ </a></dt><dt>Q: <a href="#id2882881">
+ How does the XLFD for printer-builtin fonts look like ? / How can I find/identify printer-builtin fonts ?
+ </a></dt><dt>Q: <a href="#id2882955">
+ How can I scale images using the Xprint API ?
+ </a></dt><dt>Q: <a href="#id2882976">
+ Can I pass my own PostScript code (fragment) to the print spooler instead of letting
+ Xprt's PostScript DDX generate it ?
+ </a></dt><dt>Q: <a href="#id2883002">
+ When I use XpPutDocumentData I get a
+ BadValue X protocol error. Any idea what am I doing wrong ?
+ </a></dt><dt>Q: <a href="#id2883043">
+ How do I use the XprintUtil library ?
+ </a></dt><dt>Q: <a href="#why_does_xgetimage_not_work">
+ Why does the XGetImage not work for Xprt ?
+ </a></dt><dt>Q: <a href="#id2883200">
+ How to print with Xt/Athena widgets ?
+ </a></dt><dt>Q: <a href="#id2883293">
+ How to print with Xt/Motif widgets ?
+ </a></dt><dt>Q: <a href="#id2883318">
+ What are the differences between normal display and Xprint display ?
+ </a></dt><dt>Q: <a href="#id2883340">
+ How do I scale images ?
+ </a></dt><dt>Q: <a href="#id2883361">
+ libXp Image scaling vs. max. request size ?
+ </a></dt><dt>Q: <a href="#id2883383">
+ How can I use XprintUtils ?
+ </a></dt><dt>Q: <a href="#id2883405">
+ How do I calculate the DPI values for Xprt DDX screens ?
+ </a></dt><dt>Q: <a href="#id2883427">
+ How do I find scaleable fonts ?
+ </a></dt><dt>Q: <a href="#id2883449">
+ How do I find printer-builtin fonts ?
+ </a></dt><dt>Q: <a href="#id2883470">
+ The XLFD for Printer-builtin fonts look like bitmap fonts - is that bad ?
+ </a></dt><dt>Q: <a href="#id2883501">
+ When printing using the XawPrintShell/XmPrintShell print shells my PostScript output
+ is always corrupt. What am I doing wrong ?
+ </a></dt><dt>Q: <a href="#id2883569">
+ When printing using the XawPrintShell/XmPrintShell
+ print shells I always get a grey/dithered background on paper.
+ Any idea how to change that to "white" ?
+ </a></dt><dt>Q: <a href="#id2883605">
+ Are there any caveats/suggestions when printing via Xt/Motif2 widgets ?
+ </a></dt><dt>Q: <a href="#changing_page_attributes_on_the_fly_when_using_printshells">
+ Can I change the paper size/resolution/page orientation/etc. when printing using the
+ XawPrintShell/XmPrintShell print shells ?
+ </a></dt><dt>Q: <a href="#examples_for_using_glx">
+ Where can I find an example how to print with Xprint using the OpenGL/GLX API ?
+ </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a name="id2881884"></a><a name="id2881887"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How does the X print server (Xprt) and the Xlib client side differ
+ from the "normal" video Xserver/video client side ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns115="" align="left" valign="top"><p>
+ The X Print Service expands on the traditional X-Server and Xlib world
+ in the following ways:
+
+ </p><div class="orderedlist"><ol type="1"><li><p>
+ 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 (<a href="#what_does_pdl_mean">PDL</a>)" output (such as PCL, PDF, PostScript, SVGprint, etc.)
+ or sends the print rendering instructions to a platform-specific
+ print API (like Win32/GDI).
+ </p><p>
+ Once a print ddx driver generates <a href="#what_does_pdl_mean">PDL</a> output, it can be sent to
+ a spooler
+ (using <tt class="function">XpuStartJobToSpooler</tt>)
+ or retrieved by the client (to implement functionality like "print-to-file"
+ with functions such as <tt class="function">XpuStartJobToFile</tt>).
+ </p></li><li><p>
+ Since printers support "paged" output, unlike video, a portion
+ of the Xp Extension supports APIs to delineate printed output
+ into a print job.
+ </p><p>
+ A "print job" in Xprint consists of one or more "documents" which itself
+ consists of one or more "pages".
+ </p><p>
+ A client starts a job sequence with <tt class="function">XpStartJob</tt> and
+ ends it with <tt class="function">XpEndJob</tt> or <tt class="function">XpCancelJob</tt> to cancel the
+ generation of the current print job.
+ Any document-specific print attributes MUST be changed before <tt class="function">XpStartJob</tt>.
+ </p><p>
+ A client starts a document sequence with <tt class="function">XpStartDoc</tt> and
+ ends it with <tt class="function">XpEndDoc</tt> or <tt class="function">XpCancelDoc</tt> to cancel the
+ generation of the current document.
+ Any document-specific print attributes MUST be changed before <tt class="function">XpStartDoc</tt>
+ or after <tt class="function">XpEndDoc</tt> (to affect the following document).
+ </p><p>
+ A client starts a page sequence with <tt class="function">XpStartPage</tt> and
+ ends it with <tt class="function">XpEndPage</tt> or <tt class="function">XpCancelPage</tt> to cancel the
+ generation of the current page.
+ Any page-specific print attributes MUST be changed before <tt class="function">XpStartDoc</tt>
+ or after <tt class="function">XpEndDoc</tt> (to affect the following document).
+ </p></li><li><p>
+ Since printers have extensive capabilities, another portion of
+ the Xp Extension supports APIs to manipulate "print contexts".
+ </p><p>
+ 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).
+ </p></li><li><p>
+ 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.
+ </p><p>
+ 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.
+ </p></li><li><p>
+ 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.
+ </p><p>
+ When a print context is created and set for a given printer,
+ the X rendering calls use the resolution of the current page
+ (or if not given, the resolution of the current document or
+ the current resolution for this print job).
+ The screen's resolution is INVALID in this case.
+ XprintUtils has the functions <tt class="function">XpuGetResolution</tt>
+ (to get the current print resolution (searching page, document and
+ job level attributes (in that order)), <tt class="function">XpuSetPageResolution</tt>
+ (to set the current page resolution), <tt class="function">XpuSetDocResolution</tt>
+ (to set the current document resolution), <tt class="function">XpuGetResolutionList</tt> (to
+ get the list of all resolutions supported by this printer) and <tt class="function">XpuFindResolution</tt>
+ (to find a resolution in the list returned by <tt class="function">XpuGetResolutionList</tt>)
+ to support getting/setting/queries of resolutions.
+ </p><p>
+ When a print context is created and set for a given printer,
+ the X image rendering calls (such as <tt class="function">XPutImage</tt> support
+ scaling of images.
+ The Xp Extension API provides the functions <tt class="function">XpSetImageResolution</tt>
+ and <tt class="function">XpSetImageResolution</tt> to set and get an image resolution.
+ The scaling factor for an image printed on the paper can simply calculated via
+
+ <tt class="literal">scaling_factor = curr_print_resolution_resolution / image_resolution</tt>
+ where <tt class="varname">curr_print_resolution_resolution</tt> is the value returned by a function such as
+ <tt class="function">XpuGetResolution</tt>, <tt class="varname">image_resolution</tt> the resolution passed to
+ <tt class="function">XpSetImageResolution</tt> and <tt class="varname">scaling_factor</tt> the resulting scaling factor.
+ Note that <tt class="function">XpSetImageResolution</tt> will failure (=FALSE) when the print DDX
+ (for example the RASTER DDX) does not support scaling.
+ In that case the application has to scale the image manually.
+ </p></li></ol></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2882332"></a><a name="id2882335"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I get the printable area (e.g. the portion of the page on which
+ the printer is physically capable of placing ink) of the paper after I
+ have chosen a paper ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ The <tt class="function">XpGetPageDimensions</tt> function returns the printable area and other information
+ about the current page geometry.
+ Note that the page geometry changes when the page attributes such as <tt class="literal">content-orientation</tt>
+ or <tt class="literal">default-medium</tt> are changed by the application.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2882381"></a><a name="id2882384"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Do "offscreen" pixmaps work on Xprt ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Yes, "offscreen" pixmaps are working on Xprt.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2882403"></a><a name="id2882406"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I get the DPI value for the current Xprt server ? Can I use the
+ values from "xdpyinfo" ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ The Xprt screen resolution defines only the maximum resolution configured
+ for the matching DDX, the printers real DPI is obtained via an another
+ API (XprintUtil has a bunch of functions to get/set the document/page
+ resolution, see <tt class="function">XpuGetResolutionList</tt>, <tt class="function">XpuFreeResolutionList</tt>,
+ <tt class="function">XpuGetResolution</tt>, <tt class="function">XpuSetPageResolution</tt>,
+ <tt class="function">XpuSetDocResolution</tt> and <tt class="function">XpuFindResolution</tt>).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="why_does_xprt_not_support_mitshm"></a><a name="id2882484"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Why does Xprt not offer the MIT-SHM protocol extension ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ The MIT-SHM protocol extension is partially (<tt class="function">XShmPutImage</tt> would work,
+ but others like <tt class="function">XShmGetImage</tt> and esp. <tt class="function">XShmCreatePixmap</tt>
+ cannot be implemented properly) incompatible to the way how some of the Xprint DDX are implemented.
+ For example the PostScript, PDF, PCL and SVGprint DDX do not rasterize any images on their side - instead they convert the
+ stream of X11 rendering instructions into the matching <a href="#what_does_pdl_mean">PDL</a> instruction stream.
+ Only the printer side will (finally) do the rasterisation of the output image. This is the basically the same reason why
+ <a href="#why_does_xgetimage_not_work"><tt class="function">XGetImage</tt> does not work for those DDXs</a> - and
+ functions such as <tt class="function">XShmCreatePixmap</tt> would be useless since drawing operations on the shared
+ pixmap would not be applied to the application (e.g. Xprint client) as well.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2882576"></a><a name="id2882578"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Does Xprint/Xprt support font rotation ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns118="" align="left" valign="top"><p>
+ Yes - Xprint/Xprt supports font rotation at any angle via the matrix XLFD
+ enhancement (this even works for printer-builtin fonts !!). For details
+ see the paper "New Font Technology for X11R6" by Nathan Meyers (a copy can be found in the
+ Xprint.org source tree under <tt class="filename">xc/doc/hardcopy/XLFD/x11r6_fonts_94_paper.PS.gz</tt>)
+ </p><p>
+ Short:
+ The transformation-matrix for rotation can be calculated like this:
+</p><pre class="programlisting">
++-- --+
+| cos(angle) sin(angle)|
+| |
+|-sin(angle) cos(angle)|
++-- --+
+</pre><p>
+ Examples:
+ </p><div class="orderedlist"><ol type="1"><li xmlns:ns116=""><p>
+ the following code fragment obtains a 180 degree rotated font (matrix [-1 0 0 -1]):
+</p><pre class="programlisting">
+ ... = XLoadQueryFont(..., "-adobe-courier-bold-r-normal--*-[~24 0 0 ~24]-0-0-m-*-iso8859-1");
+</pre><p>
+ </p></li><li xmlns:ns117=""><p>
+ the following code fragment obtains a 90 degree rotated font (matrix [0 1 -1 0]):
+</p><pre class="programlisting">
+ ... = XLoadQueryFont(..., "-adobe-courier-bold-r-normal--*-[0 24 ~24 0]-0-0-m-*-iso8859-1");
+</pre><p>
+ </p></li></ol></div><p>
+ </p><p>
+ Future versions of Xprint will support the <a href="http://stsf.sourceforge.net/" target="_top">STSF</a>
+ font API which supports matrix transformations as well.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2882696"></a><a name="id2882699"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ When I render something on my window and call <tt class="function">XpStartPage</tt> all the
+ rendered stuff is gone, I only get a white, empty paper.
+ What is going wrong here ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns119="" align="left" valign="top"><p>
+ Remember the rule that "only those drawings are printed on the paper which
+ were rendered between <tt class="function">XpStartPage</tt> and <tt class="function">XpEndPage</tt>".
+ <tt class="function">XpStartPage</tt> clears the window you passed as argument, e.g. it creates
+ a new, blank sheet of paper where you can do your rendering stuff on.
+ <tt class="function">XpEndpage</tt> then pushes the "paper sheet" to the stash of papers from the
+ document in process.
+
+ </p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Tip</h3><p>
+ If you want to render something once for multiple or all pages:
+ Render on a offscreen pixmap and copy (with <tt class="function">XCopyArea</tt>) the content to
+ the "paper" drawable (after calling <tt class="function">XpStartPage</tt>) - <tt class="function">XpStartpage</tt> only
+ affects the window passed as parameter.
+ </p></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2882791"></a><a name="id2882794"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ What is <tt class="function">XpStartDoc</tt> for ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ ISO 10175 and some advanced printing systems by IBM and HP had set forth
+ the standard that a "Job" is made up of one or more "Documents", and
+ each document is made up of one or more "Pages". Xprint was designed that
+ in a true ISO 10175 environment/implementation (<span class="citerefentry"><span class="refentrytitle">lp</span>(1)</span> on steroids, and
+ with an API), Xprt can actually learn about all printers and their
+ capabilities though API's into the printer subsystem (vs. using config
+ files), map Job/Doc/Page directly into ISO 10175 equivalents, and use
+ APIs to view job status and kill jobs (vs.
+ <span class="citerefentry"><span class="refentrytitle">cancel</span>(1)</span>,
+ <span class="citerefentry"><span class="refentrytitle">lpcancel</span>(1)</span>,
+ <span class="citerefentry"><span class="refentrytitle">lpstatus</span>(1)</span>).
+ Because most applications of the day are only printing one document per
+ job, <tt class="function">XpStartPage</tt> was designed that it generates a "synthetic"
+ <tt class="function">XpStartDoc</tt> if it has not been called yet.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2882881"></a><a name="id2882884"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How does the XLFD for printer-builtin fonts look like ? / How can I find/identify printer-builtin fonts ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ There is no special XLFD scheme for printer-builtin fonts.
+ Instead the <tt class="literal">xp-listfonts-modes-supported</tt> is used to define
+ whether <tt class="function">XListFonts</tt> and co. return printer-builtin fonts or not.
+ By default the attribute looks is set to
+ <tt class="literal">*xp-listfonts-modes-supported: xp-list-internal-printer-fonts xp-list-glyph-fonts</tt> which defines
+ thaht <tt class="function">XListFonts</tt> and co. return both printer-builtin and normal fonts.
+ Removing <tt class="literal">xp-list-internal-printer-fonts</tt> will make printer-builtin fonts disappear,
+ removing <tt class="literal">xp-list-glyph-fonts</tt> will make normal glyph fonts disappear from font lists.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2882955"></a><a name="id2882957"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I scale images using the Xprint API ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2882976"></a><a name="id2882979"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Can I pass my own PostScript code (fragment) to the print spooler instead of letting
+ Xprt's PostScript DDX generate it ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883002"></a><a name="id2883006"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ When I use <tt class="function">XpPutDocumentData</tt> I get a
+ <tt class="literal">BadValue</tt> X protocol error. Any idea what am I doing wrong ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883043"></a><a name="id2883046"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How do I use the XprintUtil library ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="why_does_xgetimage_not_work"></a><a name="id2883074"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Why does the <tt class="function">XGetImage</tt> not work for Xprt ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns120="" align="left" valign="top"><p>
+ There are at least three reasons why <tt class="function">XGetImage</tt> does not work for Xprt:
+ </p><div class="orderedlist"><ol type="1"><li><p>
+ Most of the Xprt DDX implementations do not render itself on any
+ bitmaps like the framebuffer(=video) DDX do, they translate the
+ rendering commands into the matching commands of the printer language
+ (it is technically possible to implement such support for <tt class="function">XGetImage</tt>
+ even for those drivers - but there are more reasons:)
+ </p></li><li><p>
+ Xprt usually operates at high resolutions which results in very large
+ dimensions. If a client would request the 24bit TrueColor <span class="emphasis"><em>bitmap</em></span>
+ data for a <span class="emphasis"><em>whole</em></span> DIN-A4 page at 2400 DPI a data chunk of ~173
+ megabytes would be the response. This would be more or less a
+ DOS(=Denial of Service) for either the client, the network and/or the
+ server.
+ </p></li><li><p>
+ The printer-builtin fonts only provide metrics information - there is no real "outline"
+ information at that time (these fonts reside only in the printer's ROM and are only
+ available at the time the printer rasterizes the incoming <a href="#what_does_pdl_mean">PDL</a>
+ (e.g. PCL/PostScript) data stream) which could be used to rasterize the matching glyphs
+ (which means: A <tt class="function">XGetImage</tt> implementation would return image
+ data but glyphs rendered using the printer-builtin fonts would be missing).
+ </p></li></ol></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883200"></a><a name="id2883203"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How to print with Xt/Athena widgets ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns121="" align="left" valign="top"><p>
+ There are two examples in the Xprint.org and X11R6.7.1 source trees which demonstrate how to use Xprint using
+ Athena widgets:
+ </p><div class="orderedlist"><ol type="1"><li><p>
+ <tt class="filename">xc/programs/xphelloworld/xpawhelloworld/</tt> contains a simple
+ demo application which prints a Athena widget using the <tt class="function">XawPrintShell</tt> widget class.
+ </p></li><li><p>
+ <tt class="filename">xc/programs/xphelloworld/xpxthelloworld/</tt> contains a simple
+ demo application which prints a Athena widget without using a special print
+ widget class (however, if possible a print shell such as <tt class="function">XawPrintShell</tt> or
+ <tt class="function">XmPrintShell</tt> should be used since this is the easier way to add print
+ support to an Athena application).
+ </p></li></ol></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883293"></a><a name="id2883296"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How to print with Xt/Motif widgets ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ The Xprint.org source tree contains the xpxmhelloworld (xc/programs/xphelloworld/xpxmhelloworld/)
+ application to demonstrate how to print using the Motif2 toolkit.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883318"></a><a name="id2883321"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ What are the differences between normal display and Xprint display ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883340"></a><a name="id2883343"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How do I scale images ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883361"></a><a name="id2883364"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ libXp Image scaling vs. max. request size ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883383"></a><a name="id2883386"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How can I use XprintUtils ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883405"></a><a name="id2883408"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How do I calculate the DPI values for Xprt DDX screens ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883427"></a><a name="id2883430"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How do I find scaleable fonts ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883449"></a><a name="id2883452"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ How do I find printer-builtin fonts ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883470"></a><a name="id2883473"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ The XLFD for Printer-builtin fonts look like bitmap fonts - is that bad ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ No, this is not "bad". The XLFD of a printer-builtin font only looks like a bitmap font since
+ the *.pmf (Printer metrics file) format is a PCF file format variant (the DPI values in the XLFD
+ AFAIK specifies the resolution which was used for generating the metrics) - however this does not
+ change the fact that the printer-builtin fonts are outline scaleable fonts these fonts reside in the
+ printer's ROM).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883501"></a><a name="id2883504"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ When printing using the <tt class="function">XawPrintShell</tt>/<tt class="function">XmPrintShell</tt> print shells my PostScript output
+ is always corrupt. What am I doing wrong ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns122="" align="left" valign="top"><p>
+ Make sure the widgets (such as text input widgets) have the (blinking) cursor turned-off.
+ Setting the <tt class="literal">XmNcursorPositionVisible,</tt> to <tt class="literal">False</tt> usually
+ solves the problem (for Motif2 widgets).
+ Example:
+ </p><div class="informalexample"><pre class="programlisting">
+...
+XtSetArg(args[n], XmNcursorPositionVisible, False);
+...
+</pre></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883569"></a><a name="id2883572"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ When printing using the <tt class="function">XawPrintShell</tt>/<tt class="function">XmPrintShell</tt>
+ print shells I always get a grey/dithered background on paper.
+ Any idea how to change that to "white" ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ XXX
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2883605"></a><a name="id2883608"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Are there any caveats/suggestions when printing via Xt/Motif2 widgets ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td xmlns:ns127="" align="left" valign="top"><p>
+ There are a couple of Xt resources which may likely differ from the normal values (e.g. those values
+ used for a video Xserver):
+ </p><div class="variablelist"><dl><dt><span class="term"><tt class="literal">Core</tt> class level</span></dt><dd xmlns:ns123=""><p>
+ </p><div class="variablelist"><dl><dt><span class="term"><tt class="literal">XmNbackground</tt> resource</span></dt><dd><p>
+ The application will probably want to set the <tt class="literal">XmNbackground</tt> resource
+ to "white" to match the default paper color.
+ </p></dd><dt><span class="term"><tt class="literal">XmNborderWidth</tt> resource</span></dt><dd><p>
+ The application will probably want to set the <tt class="literal">XmNborderWidth</tt> resource
+ to "0" (usually the default value) to avoid that a black border appears around the widget.
+ </p></dd></dl></div><p>
+ </p></dd><dt><span class="term"><tt class="function">XmPrimitive</tt> class</span></dt><dd xmlns:ns124=""><p>
+ </p><div class="variablelist"><dl><dt><span class="term"><tt class="literal">XmNshadowThickness</tt> and <tt class="literal">XmNhightlightThickness</tt> resources</span></dt><dd><p>
+ The application will probably want to set <tt class="literal">XmNshadowThickness</tt> and
+ <tt class="literal">XmNhightlightThickness</tt> to "0" (usually the default value) to avoid
+ 3D border effects on the printout (depends on application and author's preference...
+ <tt class="literal">:-)</tt>).
+ </p></dd></dl></div><p>
+ </p></dd><dt><span class="term"><tt class="function">XmText</tt> and <tt class="literal">XmTextField</tt> classes</span></dt><dd xmlns:ns125=""><p>
+ </p><div class="variablelist"><dl><dt><span class="term"><tt class="literal">XmNcursorPositionVisible</tt> resource</span></dt><dd><p>
+ The application will probably want to set <tt class="literal">XmNcursorPositionVisible</tt>
+ to <tt class="literal">False</tt> to avoid that the cursor is visible on printouts (and to avoid
+ problems with some nasty implementation details which may cause corrupted PostScript output).
+ </p></dd><dt><span class="term"><tt class="literal">XmNscrollHorizontal</tt> and <tt class="literal">XmNscrollVertical</tt> resources</span></dt><dd><p>
+ The application will probably want to set the <tt class="literal">XmNscrollHorizontal</tt> and
+ <tt class="literal">XmNscrollVertical</tt> resources to <tt class="literal">False</tt> to suppress printing
+ of scrollbars (on paper "scrolling" is replaced with "pagination" except for rare exceptions
+ (like 1:1 WYSIWYG-printing)).
+ </p></dd><dt><span class="term"><tt class="literal">XmNmarginWidth</tt> and <tt class="literal">XmNmarginHeight</tt> resources</span></dt><dd><p>
+ The application will probably want to recalculate the <tt class="literal">XmNmarginWidth</tt> and
+ <tt class="literal">XmNmarginHeight</tt> resources based on the (far) higher print resolution
+ (or reverse: set them to "0" - depending on what style matches
+ the application needs better...).
+ </p></dd></dl></div><p>
+ </p></dd><dt><span class="term"><tt class="function">XmLabel</tt> class</span></dt><dd xmlns:ns126=""><p>
+ </p><div class="variablelist"><dl><dt><span class="term"><tt class="literal">XmNmarginTop</tt>, <tt class="literal">XmNmarginBottom</tt>,
+ <tt class="literal">XmNmarginRight</tt>, <tt class="literal">XmNmarginLeft</tt>,
+ <tt class="literal">XmNmarginWidth</tt>, <tt class="literal">XmNmarginHeight</tt> and
+ <tt class="literal">XmNalignment</tt> resources</span></dt><dd><p>
+ The application will probably want to use different value for <tt class="literal">XmLabel</tt> class's
+ <tt class="literal">XmNmarginTop</tt>, <tt class="literal">XmNmarginBottom</tt>, <tt class="literal">XmNmarginRight</tt>,
+ <tt class="literal">XmNmarginLeft</tt>, <tt class="literal">XmNmarginWidth</tt>, <tt class="literal">XmNmarginHeight</tt> and
+ <tt class="literal">XmNalignment</tt> resources. These resources are mainly usefull when the widget holds a
+ border, highlight or shadow of some kind. If borders are not to be transferred there is no real need to transfer
+ a margin either.
+ </p></dd></dl></div><p>
+ </p></dd></dl></div><p>
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="changing_page_attributes_on_the_fly_when_using_printshells"></a><a name="id2884171"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Can I change the paper size/resolution/page orientation/etc. when printing using the
+ <tt class="function">XawPrintShell</tt>/<tt class="function">XmPrintShell</tt> print shells ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ Yes, it is allowed to change the page attributes in the page setup callback
+ (e.g. <tt class="literal">XawNpageSetupCallback</tt> or <tt class="literal">XmNpageSetupCallback</tt>)
+ since this callback is always called before <tt class="function">XpStartPage</tt>
+ (for the 2nd and following pages: between <tt class="function">XpEndPage</tt> and
+ <tt class="function">XpStartPage</tt>).
+ Note that changing page attributes will automagically update the print shell widget size
+ (e.g. attributes <tt class="literal">XawNminX</tt>, <tt class="literal">XawNminY</tt>, <tt class="literal">XawNmaxX</tt> and <tt class="literal">XawNmaxX</tt> (<tt class="function">XawPrintShell</tt>)
+ or
+ <tt class="literal">XmNminX</tt>, <tt class="literal">XmNminY</tt>, <tt class="literal">XmNmaxX</tt> and <tt class="literal">XmNmaxX</tt> (<tt class="function">XmPrintShell</tt>) are updated based
+ on events send by the Xp Extension and then the print shell is resized based on the new values (<tt class="function">XawPrintShell</tt> is slightly more flexible
+ since the size mode can be defined using the <tt class="literal">XawNlayoutMode</tt> attribute)).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="examples_for_using_glx"></a><a name="id2884336"></a><b>Q:</b></td><td align="left" valign="top"><p>
+ Where can I find an example how to print with Xprint using the OpenGL/GLX API ?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+ In Xorg release 6.7.1 Xprint support was added to the GLX demo application "glxgears"
+ (<a href="http://xprint.freedesktop.org/cgi-bin/viewcvs.cgi/xorg/xc/programs/glxgears/" target="_top">xc/programs/Xserver/glxgears/</a>).
+ </p></td></tr></tbody></table></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="knownbugs"></a>Known bugs</h2></div></div><div></div></div><div class="qandaset"><dl><dt></dt><dd><dl><dt>Problem <a href="#id2884394">
+ Xprt build from Xfree86 sources is completely broken and unuseable.
+ </a></dt><dt>Problem <a href="#id2884449">
+ The code which matches XLFD names to PS Type1 font names is
+ case-sensitive in Xprts build from X.org X11R6.5.1/X11R6.6 and the
+ current Solaris Xprt. This may cause that the PS DDX refuses to
+ download PS Type1 fonts.
+ </a></dt><dt>Problem <a href="#id2884485">
+ Xprt build from X11R6.5.1/X11R6.6 sources and Solaris's version of
+ Xprt can only download PFA (PS ASCII font) fonts which ends of the
+ ending "*.pfa".
+ </a></dt><dt>Problem <a href="#id2884537">
+ There is an issue how the Linux and Solaris Xprt handles the
+ "copy-count" of a print job. The result may be that a job with n
+ copies of a document end-up in n jobs with n copies (usually equals
+ to n^2 copies).
+ </a></dt></dl></dd></dl><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="toc" colspan="2"><td align="left" valign="top" colspan="2"><dl><dt>Problem <a href="#id2884394">
+ Xprt build from Xfree86 sources is completely broken and unuseable.
+ </a></dt><dt>Problem <a href="#id2884449">
+ The code which matches XLFD names to PS Type1 font names is
+ case-sensitive in Xprts build from X.org X11R6.5.1/X11R6.6 and the
+ current Solaris Xprt. This may cause that the PS DDX refuses to
+ download PS Type1 fonts.
+ </a></dt><dt>Problem <a href="#id2884485">
+ Xprt build from X11R6.5.1/X11R6.6 sources and Solaris's version of
+ Xprt can only download PFA (PS ASCII font) fonts which ends of the
+ ending "*.pfa".
+ </a></dt><dt>Problem <a href="#id2884537">
+ There is an issue how the Linux and Solaris Xprt handles the
+ "copy-count" of a print job. The result may be that a job with n
+ copies of a document end-up in n jobs with n copies (usually equals
+ to n^2 copies).
+ </a></dt></dl></td></tr><tr class="question"><td align="left" valign="top"><a name="id2884394"></a><a name="id2884397"></a><b>Problem</b></td><td align="left" valign="top"><p>
+ Xprt build from Xfree86 sources is completely broken and unuseable.
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>Solution</b></td><td align="left" valign="top"><p>
+ Build Xprt from the CVS tree at <a href="http://xprint.mozdev.org/" target="_top">http://xprint.mozdev.org/</a> or the
+ X.org X11R6.5.1 sources (note that the client side Xprint extension
+ library ("<tt class="filename">libXp.so</tt>") from Xfree86 is not broken and do not need to be
+ replaced).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2884449"></a><a name="id2884452"></a><b>Problem</b></td><td align="left" valign="top"><p>
+ The code which matches XLFD names to PS Type1 font names is
+ case-sensitive in Xprts build from X.org X11R6.5.1/X11R6.6 and the
+ current Solaris Xprt. This may cause that the PS DDX refuses to
+ download PS Type1 fonts.
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>Solution</b></td><td align="left" valign="top"><p>
+ Patch available, I am looking for a way to get the patch into the X11
+ and Solaris source trees...
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2884485"></a><a name="id2884488"></a><b>Problem</b></td><td align="left" valign="top"><p>
+ Xprt build from X11R6.5.1/X11R6.6 sources and Solaris's version of
+ Xprt can only download PFA (PS ASCII font) fonts which ends of the
+ ending "*.pfa".
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>Solution</b></td><td align="left" valign="top"><p>
+ Either convert PFB (PS Type 1 binary font) to PFA format and adjust
+ the <tt class="filename">fonts.dir</tt> and <tt class="filename">fonts.scale</tt> file or get a patch for the sources.
+ I am looking for a way to get the patch into the X11 and Solaris
+ source trees (the fixed version can download both PFA/PFB fonts in
+ PFA format and even handles non-standard file extensions).
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2884537"></a><a name="id2884540"></a><b>Problem</b></td><td align="left" valign="top"><p>
+ There is an issue how the Linux and Solaris Xprt handles the
+ "copy-count" of a print job. The result may be that a job with n
+ copies of a document end-up in n jobs with n copies (usually equals
+ to n^2 copies).
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><b>Solution</b></td><td align="left" valign="top"><p>
+ Xprt build from xprint.mozdev.org sources has been fixed in release
+ 007, see <a href="http://xprint.mozdev.org/bugs/show_bug.cgi?id=1378" target="_top">xprint.mozdev.org bug 1378
+ ("PS DDX creates n^2 copies of a job instead of n copies")</a> and
+ <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=140030" target="_top">bugzilla.mozilla.org 140030
+ ("Setting number of copies causes too many copies to print")</a> for details.
+ Solaris 2.7 Xprt still suffers from this issue... <tt class="literal">;-(</tt>
+ </p></td></tr></tbody></table></div></div><div xmlns:ns128="" class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="unanswered_questions"></a>Unanswered questions</h2></div></div><div></div></div><p>
+ (My small ToDo list what I will write soon; 379 items missing... <tt class="literal">=:-)</tt>
+ Email me if you want one of these answered "now" and/or to contribute
+ an answer... :)
+ </p><table class="simplelist" border="0" summary="Simple list"><tr><td>How do I create a model-config for my printer ?</td></tr><tr><td>How can I customize a model-config for my site/machine ?</td></tr><tr><td>Which attributes/values can be set in a model-config ?</td></tr><tr><td>Why can't I set default values (for my {paper size, resolution, ...}) in the model-config ?</td></tr><tr><td>Should I add the fonts in the model-config dir to the Xserver's font path ?</td></tr><tr><td>What are the fonts in the model-config dir for ?</td></tr><tr><td>Can I use a font server for all fonts instead of passing then directly to the Xprint server ?</td></tr><tr><td>Does the Xprint PostScript driver do full rasterisation of the print job ?</td></tr><tr><td>Is it possible to prepare a printer config entry so that the PS
+ output is piped to "ps2pdf" and will produce directly a PDF file?
+ It would be nice to have mozilla directly producing PDF files when
+ printing.
+ </td></tr><tr><td>Problem: I have changed the Xprt config - but "xplsprinters -l"</td></tr><tr><td>(or any other Xprint application) does not show the change.</td></tr><tr><td>Any idea what I am doing wrong ?</td></tr><tr><td>How can I add a font path to Xprt ?</td></tr><tr><td>Why does "xset +fp path_to_font" not work in some cases ?</td></tr><tr><td>How can I get a "core"-dump when Xprt crashes ?</td></tr><tr><td>How can I debug Xprt (hint: use "-audit 4") ?</td></tr><tr><td>How can I debug Xprt with Sun Workshop (hint: "check -access") ?</td></tr><tr><td>How can I check whether Xprint is "active" ? / How can I verify that a Xprint is working ?</td></tr></table><p>
+ </p></div><div xmlns:ns129="" class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="acknowledgements"></a>Acknowledgements</h2></div></div><div></div></div><p>
+ We'd like like to express their gratitude to the whole community for
+ providing insightful answers to innumerable questions. In particular,
+ the following people (listed alphabetically) have contributed to this
+ FAQ (apologies, in advance, if anyone has been forgotten):
+ </p><p>
+ </p><table class="simplelist" border="0" summary="Simple list"><tr><td><span class="othercredit"><span class="firstname">Alan</span> <span class="surname">Coopersmith</span></span> <tt class="email"><<a href="mailto:alan.coopersmith at sun.com">alan.coopersmith at sun.com</a>></tt></td></tr><tr><td><span class="othercredit"><span class="firstname">Giuseppe</span> <span class="surname">Ghibò</span></span> <tt class="email"><<a href="mailto:ghibo at mandrakesoft.com">ghibo at mandrakesoft.com</a>></tt></td></tr><tr><td><span class="othercredit"><span class="firstname">Thomas</span> <span class="surname">Gilg</span></span> <tt class="email"><<a href="mailto:thomas_gilg at hp.com">thomas_gilg at hp.com</a>></tt></td></tr><tr><td><span class="othercredit"><span class="firstname">Jay</span> <span class="surname">Hobson</span></span> <tt class="email"><<a href="mailto:jay.hobson at sun.com">jay.hobson at sun.com</a>></tt></td></tr><tr><td><span class="othercredit"><span class="firstname">Masaki</span> <span class="surname">Katakai</span></span> <tt class="email"><<a href="mailto:katakai at japan.sun.com">katakai at japan.sun.com</a>></tt></td></tr><tr><td><span class="othercredit"><span class="firstname">Simon</span> <span class="surname">Montagu</span></span> <tt class="email"><<a href="mailto:smontagu at smontagu.org">smontagu at smontagu.org</a>></tt></td></tr><tr><td><span class="othercredit"><span class="firstname">Drew</span> <span class="surname">Parsons</span></span> <tt class="email"><<a href="mailto:dparsons at debian.org">dparsons at debian.org</a>></tt></td></tr><tr><td>(and many many others)</td></tr></table><p>
+ </p></div></div></body></html>
More information about the xorg-commit
mailing list