Changes between Initial Version and Version 1 of ModifyingPPD


Ignore:
Timestamp:
Dec 18, 2006, 10:00:33 AM (18 years ago)
Author:
psmedley
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ModifyingPPD

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