|  | Wine PostScript Driver | 
|  | ====================== | 
|  |  | 
|  | When complete this will allow Wine to generate PostScript files without needing | 
|  | an external printer driver. It should be possible to print to a non PostScript | 
|  | printer by filtering the output through ghostscript. | 
|  |  | 
|  |  | 
|  | Installation | 
|  | ------------ | 
|  |  | 
|  | The driver behaves as if it were a DRV file called WINEPS.DRV 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. | 
|  |  | 
|  | To install it add | 
|  |  | 
|  | Wine PostScript Driver=WINEPS,LPT1: | 
|  |  | 
|  | to the [devices] section of win.ini and to set it as the default printer also | 
|  | add | 
|  |  | 
|  | device=Wine PostScript Driver,WINEPS,LPT1: | 
|  |  | 
|  | to the [windows] section of win.ini and | 
|  |  | 
|  |  | 
|  | To run 32 bit apps (and 16 bit apps using the builtin commdlg) you also need to | 
|  | add certain entries to the registry.  The easiest way to do that at the moment | 
|  | is to use the winelib program programs/regapi/regapi with the file | 
|  | documentation/psdrv.reg .  To do this cd to programs/regapi/regapi and type | 
|  | `make' to actually make the program, then type | 
|  | `./regapi setValue <../../documentation/psdrv.reg' .  You can obviously edit | 
|  | psdrv.reg to suit your requirements. | 
|  |  | 
|  | You will need Adobe Font Metric (AFM) files for the (type 1 PostScript) fonts | 
|  | that you wish to use. You can get these from | 
|  | ftp://ftp.adobe.com/pub/adobe/type/win/all/afmfiles .  The directories base17 | 
|  | or base35 are good places to start.  Note that these are only the font metrics | 
|  | and not the fonts themselves. At the moment the driver does not download | 
|  | additional fonts, so you can only use fonts that are already present on the | 
|  | printer. | 
|  |  | 
|  | Then create a [afmfiles] section in your wine.conf (or ~/.winerc) and add a | 
|  | line of the form | 
|  |  | 
|  | file<n>=/unix/path/name/filename.afm | 
|  |  | 
|  | for each AFM file that you wish to use. [This might change in the future] | 
|  |  | 
|  | 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 | 
|  | ftp://ftp.adobe.com/pub/adobe/printerdrivers/win/all/ | 
|  | Create a [psdrv] section in your wine.conf (or ~/.winerc) and add the | 
|  | following entry: | 
|  |  | 
|  | ppdfile=/somewhere/file.ppd | 
|  |  | 
|  | By default, the driver will look for a file named default.ppd in the directory | 
|  | from which you started wine. | 
|  |  | 
|  | To enable colour printing you need to have the *ColorDevice entry in the PPD | 
|  | set to true, otherwise the driver will generate greyscale. | 
|  |  | 
|  | Note that you need not set printer=on in the [wine] section of wine.conf, this | 
|  | enables printing via external printer drivers and does not affect wineps. | 
|  |  | 
|  | If you're lucky you should now be able to produce PS files from Wine! | 
|  |  | 
|  | 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. | 
|  |  | 
|  | TODO / Bugs | 
|  | ----------- | 
|  |  | 
|  | Driver does read PPD files, but ignores all constraints and doesn't let you | 
|  | specify whether you have optional extras such as envelope feeders. You will | 
|  | therefore find a larger than normal selection of input bins in the print setup | 
|  | dialog box. I've only really tested ppd parsing on the hp4m6_v1.ppd file. | 
|  |  | 
|  | No TrueType download. | 
|  |  | 
|  | StretchDIBits uses level 2 PostScript. | 
|  |  | 
|  | AdvancedSetup dialog box. | 
|  |  | 
|  | Many partially implemented functions. | 
|  |  | 
|  | ps.c is becoming messy. | 
|  |  | 
|  | Notepad often starts text too far to the left depending on the margin | 
|  | settings. However the win3.1 pscript.drv (under wine) also does this. | 
|  |  | 
|  | Probably many more... | 
|  |  | 
|  | Please contact me if you want to help so that we can avoid duplication. | 
|  |  | 
|  | Huw Davies <h.davies1@physics.ox.ac.uk> |