Propagate IsDialogMessage to the parent if the dialog has the
[wine] / documentation / printing
1 Printing in Wine
2 ================
3
4 Printing in Wine can be done in one of two ways. Both of which are very alpha.
5
6 1. Use a windows 3.1 printer driver.
7
8 2. Use the builtin Wine Postscript driver (+ ghostscript to produce output for
9    non-postscript printers).
10
11
12 Note that at the moment WinPrinters (cheap, dumb printers that require the host
13 computer to explicitly control the head) will not work. It is unclear whether
14 they ever will.
15
16
17 1. External printer drivers
18 ---------------------------
19 At present only 16 bit drivers will work (note that these include win9x
20 drivers).
21
22 Add
23
24 printer=on
25
26 to the [wine] section of wine.conf (or ~/.winerc). This lets CreateDC proceed
27 if its driver argument is a 16 bit driver.
28
29 You will probably also need to add
30
31 TTEnable=0
32 TTOnly=0
33
34 to the [TrueType] section of win.ini .
35
36 The code for the driver interface is in graphics/win16drv .
37
38
39 2. Builtin Wine PostScript driver
40 ---------------------------------
41 Enables printing of PostScript files via a driver built into Wine. See
42 documentation/psdriver for installation instructions. The code for the
43 PostScript driver is in graphics/psdrv .
44
45
46
47 Spooling
48 ========
49 Spooling is rather primitive. The [spooler] section of wine.conf maps a port
50 (e.g. LPT1:) to a file or a command via a pipe. For example the following lines
51
52 LPT1:=foo.ps
53 LPT2:=|lpr
54
55 map LPT1: to file foo.ps and LPT2: to the lpr command. If a job is sent to an
56 unlisted port then a file is created with that port's name e.g. for LPT3: a
57 file called LPT3: would be created.