Changed the printing documentation to include CUPS and LPR support,
also give some hints on AFM files in system and generic.ppd.
This commit is contained in:
parent
00d7068409
commit
621be200c0
|
@ -13,7 +13,7 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Printing in Wine can be done in one of two ways. Both of which are pretty alpha.
|
Printing in Wine can be done in one of two ways:
|
||||||
</para>
|
</para>
|
||||||
<orderedlist>
|
<orderedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -36,8 +36,8 @@
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>External printer drivers</title>
|
<title>External printer drivers</title>
|
||||||
<para>
|
<para>
|
||||||
At present only 16 bit drivers will work (note that these include win9x
|
At present only 16 bit drivers will work (note that these include
|
||||||
drivers). To use them, add
|
win9x drivers). To use them, add
|
||||||
</para>
|
</para>
|
||||||
<screen>
|
<screen>
|
||||||
printer=on
|
printer=on
|
||||||
|
@ -62,8 +62,15 @@ printer=on
|
||||||
<para>
|
<para>
|
||||||
Enables printing of PostScript files via a driver built into Wine. See
|
Enables printing of PostScript files via a driver built into Wine. See
|
||||||
below for installation instructions. The code for the PostScript
|
below for installation instructions. The code for the PostScript
|
||||||
driver is in <filename>graphics/psdrv</filename>.
|
driver is in <filename>dlls/wineps/</filename>.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
The driver behaves as if it were a DRV file called
|
||||||
|
<filename>wineps.drv</filename> which at the moment is built into
|
||||||
|
Wine.
|
||||||
|
Although it mimics a 16 bit driver it will work with both 16 and 32
|
||||||
|
bit apps, just as win9x drivers do.
|
||||||
|
</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
|
@ -84,6 +91,12 @@ printer=on
|
||||||
with that port's name e.g. for <systemitem>LPT3:</systemitem> a file
|
with that port's name e.g. for <systemitem>LPT3:</systemitem> a file
|
||||||
called <systemitem>LPT3:</systemitem> would be created.
|
called <systemitem>LPT3:</systemitem> would be created.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
There are now also virtual spool queues called
|
||||||
|
<systemitem>LPR:printername</systemitem>, which send the data
|
||||||
|
to <command>lpr -Pprintername</command>. You do not need to
|
||||||
|
specify those in the config file, they are handled automatically by
|
||||||
|
<filename>dlls/gdi/printdrv.c</filename>.
|
||||||
</sect3>
|
</sect3>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
@ -98,132 +111,182 @@ printer=on
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
When complete this will allow Wine to generate PostScript files without
|
This allows Wine to generate PostScript files without
|
||||||
needing an external printer driver. It should be possible to print to a
|
needing an external printer driver. Wine in this case uses the
|
||||||
non PostScript printer by filtering the output through ghostscript.
|
system provided postscript printer filters, which almost all use
|
||||||
|
ghostscript if necessary. Those should be configured during the
|
||||||
|
original system installation or by your system administrator.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>Installation</title>
|
<title>Installation</title>
|
||||||
<para>
|
<sect4>
|
||||||
The driver behaves as if it were a DRV file called
|
<title>Installation of CUPS printers</title>
|
||||||
<filename>wineps.drv</filename> which at the moment is built into Wine.
|
<para>
|
||||||
Although it mimics a 16 bit driver it will work with both 16 and 32 bit
|
If you are using CUPS you do not need to configure .ini or
|
||||||
apps, just as win9x drivers do.
|
registry entries, everything is autodetected.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
</sect4>
|
||||||
To install it add
|
<sect4>
|
||||||
</para>
|
<title>Installation of LPR /etc/printcap based printers</title>
|
||||||
<screen>
|
<para>
|
||||||
"Wine PostScript Driver" = "WINEPS,LPT1:"
|
If your system is not yet using CUPS, it probably uses LPRng
|
||||||
</screen>
|
or a LPR based system with configuration based on /etc/printcap.
|
||||||
<para>
|
</para>
|
||||||
to the [devices] section and
|
<para>
|
||||||
</para>
|
If it does, your printers in <filename>/etc/printcap</filename>
|
||||||
<screen>
|
are scanned with a heuristic whether they are PostScript capable
|
||||||
"Wine PostScript Driver" = "WINEPS,LPT1:,15,45"
|
printers and also configured mostly automatic.
|
||||||
</screen>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
to the [PrinterPorts] section of <filename>win.ini</filename> and to set it
|
Since WINE cannot find out what type of printer this is, you
|
||||||
as the default printer also add
|
need to specify a PPD file in the [ppd] section of
|
||||||
</para>
|
<filename>~/.wine/config</filename>. Either use the shortcut
|
||||||
<screen>
|
name and make the entry look:
|
||||||
"device" = "Wine PostScript Driver,WINEPS,LPT1:"
|
</para>
|
||||||
</screen>
|
<screen>
|
||||||
<para>
|
[ppd]
|
||||||
to the [windows] section of <filename>~/.wine/config</filename> and ???
|
"ps1" = "/usr/lib/wine/ps1.ppd"
|
||||||
<emphasis>[sic]</emphasis>
|
</screen>
|
||||||
</para>
|
<para>
|
||||||
<para>
|
Or you can specify a generic PPD file matching for all of the rest
|
||||||
You also need to add certain entries to the registry. The easiest way
|
printers. A generic PPD file can be found in
|
||||||
to do this is to customise the contents of
|
<filename>documenation/samples/generic.ppd</filename>.
|
||||||
<filename>documentation/psdrv.reg</filename> (see below) and use the
|
</para>
|
||||||
Winelib program <command>programs/regapi/regapi</command>. For
|
</sect4>
|
||||||
example, if you have installed the Wine source tree in
|
<sect4>
|
||||||
<filename>/usr/src/wine</filename>, you could use the following
|
<title>Installation of other printers</title>
|
||||||
series of commands:
|
<para>
|
||||||
<itemizedlist>
|
You do not need to this, if the above 2 sections apply, only if
|
||||||
<listitem>
|
you have a special printer.
|
||||||
<para>
|
</para>
|
||||||
<userinput>cp /usr/src/wine/documentation/psdrv.reg ~</userinput>
|
<screen>
|
||||||
</para>
|
"Wine PostScript Driver" = "WINEPS,LPT1:"
|
||||||
</listitem>
|
</screen>
|
||||||
<listitem>
|
<para>
|
||||||
<para><userinput>vi ~/psdrv.reg</userinput></para>
|
to the [devices] section and
|
||||||
</listitem>
|
</para>
|
||||||
<listitem>
|
<screen>
|
||||||
<para>
|
"Wine PostScript Driver" = "WINEPS,LPT1:,15,45"
|
||||||
Edit the copy of <filename>psdrv.reg</filename> to suit your
|
</screen>
|
||||||
requirements. At a minimum, you must specify a PPD file for
|
<para>
|
||||||
each printer.
|
to the [PrinterPorts] section of <filename>win.ini</filename> and to set it
|
||||||
</para>
|
as the default printer also add
|
||||||
</listitem>
|
</para>
|
||||||
<listitem>
|
<screen>
|
||||||
<para>
|
"device" = "Wine PostScript Driver,WINEPS,LPT1:"
|
||||||
<userinput>regapi setValue < ~/psdrv.reg</userinput>
|
</screen>
|
||||||
</para>
|
<para>
|
||||||
</listitem>
|
to the [windows] section of <filename>~/.wine/config</filename> and ???
|
||||||
</itemizedlist>
|
<emphasis>[sic]</emphasis>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
You will need Adobe Font Metric (AFM) files for the (type 1 PostScript)
|
You also need to add certain entries to the registry. The easiest way
|
||||||
fonts that you wish to use. You can get these from
|
to do this is to customise the contents of
|
||||||
<ulink url="ftp://ftp.adobe.com/pub/adobe/type/win/all/afmfiles">
|
<filename>documentation/psdrv.reg</filename> (see below) and use the
|
||||||
ftp://ftp.adobe.com/pub/adobe/type/win/all/afmfiles </ulink>. The
|
Winelib program <command>programs/regapi/regapi</command>. For
|
||||||
directories <filename>base17</filename> or <filename>base35</filename>
|
example, if you have installed the Wine source tree in
|
||||||
are good places to start. Note that these are only the font metrics and
|
<filename>/usr/src/wine</filename>, you could use the following
|
||||||
not the fonts themselves. At the moment the driver does not download
|
series of commands:
|
||||||
additional fonts, so you can only use fonts that are already present on
|
<itemizedlist>
|
||||||
the printer. (Actually, the driver can use any font that is listed in
|
<listitem>
|
||||||
the PPD file, for which it has an AFM file. If you use fonts that are
|
<para>
|
||||||
<emphasis>not</emphasis> installed in your printer, or in
|
<userinput>cp /usr/src/wine/documentation/psdrv.reg ~</userinput>
|
||||||
Ghostscript, you will need to use some means of embedding the font in
|
</para>
|
||||||
the print job or downloading the font to the printer. Note also that
|
</listitem>
|
||||||
the driver does not yet properly list required fonts in its DSC
|
<listitem>
|
||||||
comments, so a print manager that depends on these comments to
|
<para><userinput>vi ~/psdrv.reg</userinput></para>
|
||||||
download the proper fonts to the printer may not work properly.)
|
</listitem>
|
||||||
</para>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Then create a [afmdirs] section in your
|
Edit the copy of <filename>psdrv.reg</filename> to suit your
|
||||||
<filename>wine.conf</filename> (or
|
requirements. At a minimum, you must specify a PPD file for
|
||||||
<filename>~/.wine/config</filename>) and add a line of the form
|
each printer.
|
||||||
</para>
|
</para>
|
||||||
<screen>
|
</listitem>
|
||||||
"dir<n>" = "/unix/path/name/"
|
<listitem>
|
||||||
</screen>
|
<para>
|
||||||
<para>
|
<userinput>regapi setValue < ~/psdrv.reg</userinput>
|
||||||
for each directory that contains AFM files you wish to use.
|
</para>
|
||||||
</para>
|
</listitem>
|
||||||
<para>
|
</itemizedlist>
|
||||||
You also require a PPD file for your printer. This describes certain
|
</para>
|
||||||
characteristics of the printer such as which fonts are installed, how
|
</sect4>
|
||||||
to select manual feed etc. Adobe also has many of these on its website,
|
<sect4>
|
||||||
have a look in <ulink url="ftp://ftp.adobe.com/pub/adobe/printerdrivers/win/all/">
|
<title>Required Configuration for all printertypes</title>
|
||||||
ftp://ftp.adobe.com/pub/adobe/printerdrivers/win/all/</ulink>. See
|
<para>
|
||||||
above for information on configuring the driver to use this file.
|
You will need Adobe Font Metric (AFM) files for the (type 1 PostScript)
|
||||||
</para>
|
fonts that you wish to use. You can get these from
|
||||||
<para>
|
<ulink url="ftp://ftp.adobe.com/pub/adobe/type/win/all/afmfiles">
|
||||||
To enable colour printing you need to have the
|
ftp://ftp.adobe.com/pub/adobe/type/win/all/afmfiles </ulink>. The
|
||||||
<literal>*ColorDevice</literal> entry in the PPD set to
|
directories <filename>base17</filename> or <filename>base35</filename>
|
||||||
<literal>true</literal>, otherwise the driver will generate
|
are good places to start. Note that these are only the font metrics and
|
||||||
greyscale.
|
not the fonts themselves. At the moment the driver does not download
|
||||||
</para>
|
additional fonts, so you can only use fonts that are already present on
|
||||||
<para>
|
the printer. (Actually, the driver can use any font that is listed in
|
||||||
Note that you need not set <literal>printer=on</literal> in
|
the PPD file, for which it has an AFM file. If you use fonts that are
|
||||||
the [wine] section of <filename>wine.conf</filename>, this
|
<emphasis>not</emphasis> installed in your printer, or in
|
||||||
enables printing via external printer drivers and does not
|
Ghostscript, you will need to use some means of embedding the font in
|
||||||
affect the builtin PostScript driver.
|
the print job or downloading the font to the printer. Note also that
|
||||||
</para>
|
the driver does not yet properly list required fonts in its DSC
|
||||||
<para>
|
comments, so a print manager that depends on these comments to
|
||||||
If you're lucky you should now be able to produce PS files
|
download the proper fonts to the printer may not work properly.)
|
||||||
from Wine!
|
</para>
|
||||||
</para>
|
<para>
|
||||||
<para>
|
Then create a [afmdirs] section in your
|
||||||
I've tested it with win3.1 notepad/write, Winword6 and
|
<filename>wine.conf</filename> (or
|
||||||
Origin4.0 and 32 bit apps such as win98 wordpad, Winword97,
|
<filename>~/.wine/config</filename>) and add a line of the form
|
||||||
Powerpoint2000 with some degree of success - you should be
|
</para>
|
||||||
able to get something out, it may not be in the right place.
|
<screen>
|
||||||
</para>
|
"dir<n>" = "/unix/path/name/"
|
||||||
|
</screen>
|
||||||
|
<para>
|
||||||
|
for each directory that contains AFM files you wish to use.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
There usually are a lot of afm files already on your system,
|
||||||
|
within ghostscript, enscript, a2ps or similar programs. You might
|
||||||
|
check (and probably add) the following entries to the [afmdirs]
|
||||||
|
section.
|
||||||
|
</para>
|
||||||
|
<screen>
|
||||||
|
"1" = "/usr/share/ghostscript/fonts"
|
||||||
|
"2" = "/usr/share/a2ps/afm"
|
||||||
|
"3" = "/usr/share/enscript"
|
||||||
|
"4" = "/usr/X11R6/lib/X11/fonts/Type1"
|
||||||
|
</screen>
|
||||||
|
<para>
|
||||||
|
You also require a PPD file for your printer. This describes
|
||||||
|
certain characteristics of the printer such as which fonts are
|
||||||
|
installed, how to select manual feed etc. Adobe also has many of
|
||||||
|
these on its website, have a look in
|
||||||
|
<ulink url="ftp://ftp.adobe.com/pub/adobe/printerdrivers/win/all/">
|
||||||
|
ftp://ftp.adobe.com/pub/adobe/printerdrivers/win/all/</ulink>.
|
||||||
|
See above for information on configuring the driver to use this
|
||||||
|
file.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
To enable colour printing you need to have the
|
||||||
|
<literal>*ColorDevice</literal> entry in the PPD set to
|
||||||
|
<literal>true</literal>, otherwise the driver will generate
|
||||||
|
greyscale.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Note that you need not set <literal>printer=on</literal> in
|
||||||
|
the [wine] section of <filename>wine.conf</filename>, this
|
||||||
|
enables printing via external printer drivers and does not
|
||||||
|
affect the builtin PostScript driver.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
If you're lucky you should now be able to produce PS files
|
||||||
|
from Wine!
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
I've tested it with win3.1 notepad/write, Winword6 and
|
||||||
|
Origin4.0 and 32 bit apps such as win98 wordpad, Winword97,
|
||||||
|
Powerpoint2000 with some degree of success - you should be
|
||||||
|
able to get something out, it may not be in the right place.
|
||||||
|
</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
|
|
Loading…
Reference in New Issue