| 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> |