From: djs@jet.uk (David J Stevenson)
Newsgroups: comp.lang.postscript
Subject: Worst PostScript: (Was Who bakes the Best PostScript?)
Date: 19 Nov 92 14:58:28 GMT
Organization: Joint European Torus

In <92322.131958AUBXG@ASUACAD.BITNET> AUBXG@ASUACAD.BITNET (Ben Goren) writes:

>...
>As far as the worst PostScript goes, I'd say that Finale (a music
>notation program for the Macintosh) has to win the prize hands down.
>I'd even go so far as to say that it's the worst programming I've
>...
So you've never used Calligrapher then :-)

Calligrapher is an ST wysiwyg word processor, which, I am told, drivers
LaserJets fairly well.  Unfortunately, the PostScript driver is terrible.

A few examples (some are bugs, some are just bad PostScript):

1. If using a font that is not built in to your printer, the driver does not
   download a definition for the font, then refer to that definition to paint
   characters.  Instead, it explicity draws the outline of each and every
   character, fills it, draws the outline again, then strokes this.  Thus
   each character in the output takes, typically, 4 Kbytes of PostScript.

2. The coordinates for the lines used to draw the character outlines
   are frequently out by 2 points or so, making the characters look like
   they're printed on a 60dpi printer, not 300, 1200 etc.

3. It will not draw any characters not in the Level 1 Standard Text
   Encoding.  When asked to print a copyright symbol, it printed a plain c.
   When I complained, the authors (Working Title) sent a new driver that
   still put out a standard letter c, but then drew a thick polylined-circle
   around it.  This looks really messy (the circle is much to heavy compared
   with any of the fonts used for the c character).  Working Title flatly
   refused to amend their driver to either use the (c) character from
   a Level 2 coding vector, or to output the (c) from the Symbols font.

4. Rounded boxes are drawn with the wrong radii for the corners, so 
   the corners do not join properly with the straight edges.

5. A good number of the symbols are mapped incorrectly, so what appears
   on the screen as an apostrophe comes out on the printer as a cent.

6. The GEM fill patterns are rendered VERY inaccurately; anyone who has
   access to both Calligrapher and TimeWorks Publisher 2 will find it
   interesting to compare the output.  The 

7. It does not generate *any* DSC directives.

8. Every character is positioned independently.  (For example, 'abc'
   would appear as something like (a) x y moveto show (b) x y moveto ...
   instead of (abc) x y moveto show.  Apart from generating larger
   PS files, it exposes Calligrapher's errors in character positioning,
   and they are not always spaced out correctly.  By using the (abc) form,
   any spacing errors would be inter-word only.  (Obviously, it would
   be better if it got all the character positions correct in the first place).

9. And zillions of other bugs, inefficiencies and wierdos that I won't
   waste further space and time on for now...

-- 
+---------------------------------------------------+
| David Stevenson  djs@jet.uk   Tel: +44 235 465028 |
+---------------------------------------------------+
- Disclaimer: Please note that the above is a personal view and should not 
  be construed as an official comment from the JET project.