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