Changes between Version 3 and Version 4 of ModifyingPPD


Ignore:
Timestamp:
Oct 6, 2019, 5:23:58 AM (5 years ago)
Author:
Lewis Rosenthal
Comment:

Cleaned up wiki formatting.

Legend:

Unmodified
Added
Removed
Modified
  • ModifyingPPD

    v3 v4  
    1 = Modifying GutenPrint PPD files to work with eComStation's pscript.drv =
     1= Modifying !GutenPrint PPD files to work with eComStation's pscript.drv =
    22
    3 Paul,
     3After running pin.exe 60 or 70 times, writing my own PPDs, & learning far more about this stuff than I ever wanted to know, I can now get perfectly printed pages on my Epson Stylus C40UX.
    44
    5 After running pin.exe 60 or 70 times, writing my own PPDs, & learning
    6 far more about this stuff than I ever wanted to know, I can now get
    7 perfectly printed pages on my Epson Stylus C40UX.
     5As it turns out, only a few minor changes were needed to get the PPD from your package (stp-escp2-c40ux.5.0.ppd.gz) to work.  Perhaps the following will be of use to you or Bart or whomever:
    86
    9 As it turns out, only a few minor changes were needed to get the PPD
    10 from your package (stp-escp2-c40ux.5.0.ppd.gz) to work.  Perhaps the
    11 following will be of use to you or Bart or whomever:
     71. The divide-by-zero trap is caused by this stuff in the PPDs:
    128
    13 1- The divide-by-zero trap is caused by this stuff in the PPDs:
     9  *!DefaultResolution:  None
    1410
    15  *DefaultResolution:    None
     11  *Resolution !None/Automatic:  ""
    1612
    17  *Resolution None/Automatic:    ""
     13  The "*Resolution" keyword '''must''' be followed by a numeric value (e.g. 360x360).  Using "None" sets dots-per-inch to zero, causing a trap when the driver tries to do some scaling operation.  Changing "*!DefaultResolution" to one of the other values listed & eliminating the "*Resolution None" line fixes the issue.
    1814
    19 The "*Resolution" keyword _must_ be followed by a numeric value (e.g.
    20 360x360).  Using 'None' sets dots-per-inch to zero, causing a trap
    21 when the driver tries to do some scaling operation.  Changing
    22 "*DefaultResolution"" to one of the other values listed & eliminating
    23 the "*Resolution None" line fixes the issue.
     15  Fixing this causes a non-fatal conflict.  For many printers, CUPS uses its "*!StpQuality" keyword to set DPI.  Forcing "*Resolution" to be valid (because the IBM driver demands it) causes whatever value "*!StpQuality" set previously to be overridden.  These two entries will have to be reconciled (knowing what "/cupsCompression" & "/cupsRowFeed" do would help).
    2416
    25 Fixing this causes a non-fatal conflict.  For many printers, CUPS uses
    26 its "*StpQuality" keyword to set DPI.  Forcing *Resolution to be valid
    27 (because the IBM driver demands it) causes whatever value *StpQuality
    28 set previously to be overridden.  These two entries will have to be
    29 reconciled (knowing what "/cupsCompression" & "/cupsRowFeed" do would
    30 help).
     172. The entries which control DPI '''have''' to be set identically in the driver's Properties pages & in the ''Set Printer Options'' web page. If they're not, the output is scaled incorrectly.  I had the driver using 8pt type but it was printing out at 24pt.  Eventually I found that the driver was set to 360x360 while CUPS itself was set to 360x120.
    3118
    32 2- The entries which control DPI *have* to be set identically in the
    33 driver's Properties pages & in the "Set Printer Options" web page.
    34 If they're not, the output is scaled incorrectly.  I had the driver
    35 using 8pt type but it was printing out at 24pt.  Eventually I found
    36 that the driver was set to 360x360 while CUPS itself was set to
    37 360x120.
     193. "*!LanguageEncoding: UTF-8" is a non-issue - at least for Western European languages.  AFAICT, the first 256 characters of UTF-8 are IsoLatin1.  Change this manually & ppdenc works great.  In any case, the only non-CP850 character I found in my PPD (0xD7) translated to a multiplication sign.  It's used in some of the paper sizes (e.g. 4x6). I used a search & replace to change them to lowercase 'x' before running ppdenc.  The only difference between before & after was "IsoLatin1" became "OS2-850".
    3820
    39 3- "*LanguageEncoding: UTF-8" is a non-issue - at least for Western
    40 European languages.  AFAICT, the first 256 characters of UTF-8 are
    41 IsoLatin1.  Change this manually & ppdenc works great.  In any case,
    42 the only non-CP850 character I found in my PPD (0xD7) translated to a
    43 multiplication sign.  It's used in some of the paper sizes (e.g. 4x6).
    44 I used a search & replace to change them to lowercase 'x' before
    45 running ppdenc.  The only difference between before & after was
    46 "IsoLatin1" became "OS2-850".
     214. On the ''Output'' page of the driver's job properties, ''Use printer device fonts'' has to be unchecked (at least when printing plain-text files).  If not, I get this error: "[Job 38] /invalidfont in findfont". OS/2's lpd then reports that it got an invalid size for the file it received and aborts the print job.  The primary downside to this is that the PS files get monstrously large because they require the font to be embedded.
    4722
    48 4- On the 'Output' page of the driver's job properties, "Use printer
    49 device fonts" has to be unchecked (at least when printing plain-text
    50 files).  If not, I get this error: "[Job 38] /invalidfont in findfont".
    51 OS/2's lpd then reports that it got an invalid size for the file it
    52 received and aborts the print job.  The primary downside to this is
    53 that the PS files get monstrously large because they require the font
    54 to be embedded.
     235. PPD keywords that don't have any Postscript code associated with them are not emitted by the driver, e.g.:
    5524
    56 5- PPD keywords that don't have any Postscript code associated with
    57 them are not emitted by the driver, e.g.
    58   *StpInkType CMYK/CMYK Colour: ""
    59 Consequently, most of the entries on the 'Features' page of the
    60 driver properties have no effect whatsoever (and 80% of each PPD is
    61 inert filler).
     25  *!StpInkType CMYK/CMYK Colour: ""
    6226
    63 6- My PPD had 60 forms listed but the driver can only handle 30
    64 entries - the rest are ignored.
     27  Consequently, most of the entries on the ''Features'' page of the driver properties have no effect whatsoever (and 80% of each PPD is inert filler).
    6528
    66 Rich Walsh
     296. My PPD had 60 forms listed but the driver can only handle 30 entries - the rest are ignored.