Move declarations from windows.h to wingdi.h and winuser.h.
[wine/multimedia.git] / documentation / printing
blobe85c8e2294e6ff0037289cb1fe181c493bfbc1b4
1 Printing in Wine
2 ================
4 Printing in Wine can be done in one of two ways. Both of which are very alpha.
6 1. Use a windows 3.1 printer driver.
8 2. Use the builtin Wine Postscript driver (+ ghostscript to produce output for
9    non-postscript printers).
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.
17 1. External printer drivers
18 ---------------------------
19 At present only 16 bit drivers will work.
20 Add
22 printer=on
24 to the [wine] section of wine.conf (or ~/.winerc). This lets CreateDC proceed
25 if its driver argument is a 16 bit driver.
27 You will probably also need to add
29 TTEnable=0
30 TTOnly=0
32 to the [TrueType] section of win.ini .
34 The code for the driver interface is in graphics/win16drv .
37 2. Builtin Wine Postscript driver
38 ---------------------------------
39 Enables printing of postscript files via a driver built into Wine. See
40 graphics/psdrv/README for installation instructions. The code for the
41 postscript driver is in graphics/psdrv .
45 Spooling
46 ========
47 Spooling is rather primitive. The [spooler] section of wine.conf maps a port
48 (e.g. LPT1:) to a file or a command via a pipe. For example the following lines
50 LPT1:=foo.ps
51 LPT2:=|lpr
53 map LPT1: to file foo.ps and LPT2: to the lpr command. If a job is sent to an
54 unlisted port then a file is created with that port's name e.g. for LPT3: a
55 file called LPT3: would be created.