Copyright (C) 1993 Aladdin Enterprises. All rights reserved. This file is part of Ghostscript; it is licensed under the same terms as the rest of Ghostscript. If you do not have Ghostscript, you do not have the right to have this file. Fixes for Ghostscript 2.6.1 --------------------------- (last update: 7/20/93) This file summarizes a number of important quality fixes for Ghostscript 2.6.1. The fixes are supplied in the form of replacements for corresponding files in the 2.6.1 release. Please report any problems. 6/5/93 ------ Problem: The Unix install script used gs rather than $(GS) as the name of the executable. The Unix install script didn't copy gs_dbt_e.ps to $(gsdatadir). Files affected: unixtail.mak (and unix-*.mak, built from it using tar_cat) Problem: The ps2ascii script still referenced ps2ascii.ps under its old name gs_2asc.ps. Files affected: ps2ascii Problem: ps2image.ps had a 'pop' missing in the written-out definition of 'max' in the boilerplate code it put at the beginning of compressed files. ps2image.ps got a typecheck if a scan line had no repeated data in it anywhere. Files affected: ps2image.ps Problem: rectfill drew rectangles with vertices specified in clockwise order as 0-width lines. Files affected: gsdps1.c Problem: The string matching function reported that 'abcdefg' matched the pattern 'abcde'. Files affected: gsutil.c Problem: The bounding box of non-rectangular clipping paths was not being marked as valid, so cached characters would simply get discarded as being outside the bounding box. Fix: Have gx_path_intersect set the `setbbox' flag if the new clipping path is not rectangular. Files affected: gxcpath.c 6/9/93 ------ Problem: The PCX driver didn't offer a gray-scale option. Fix: Implement one. Files affected: devs.mak gdevpcx.c 6/10/93 ------- Problem: Colors with equal R/G/B or C/M/Y components were converted to gray before being mapped through the transfer function. Files affected: gxcmap.c 6/11/93 ------- Problem: Faulty X servers could generate bogus errors on XFreeColors. Fix: Catch and ignore the errors. Files affected: gdevxini.c x_.h Problem: X driver gave up on color allocation too easily. X driver dynamic color table size could become negative. Files affected: gdevx.c Problem: x_lookup_font could return platform fonts of very small sizes, which have very inaccurate metrics. Fix: Don't return fonts of size 4 pixels or smaller. Files affected: gdevxxf.c 6/14/93 ------- Problem: rc_unshare could indirect through 0 to obtain the size of a new block, causing the CIE rendering caches to be allocated with a random size. Fix: Change it to use rc_alloc_struct_1 rather than rc_alloc_1. Files affected: gxrefct.h ---------------- Fixes up to here distributed 6/23/93 ---------------- 6/28/93 ------- Problem: The Unix install script attempts to install the nonexistent file type1enc.ps. Files affected: unixtail.mak (and unix-*.mak, built from it using tar_cat) Problem: X driver didn't free dynamic colors at the start of each page. Files affected: gdevx.h gdevx.c Problems: X driver didn't bind foreground/background defaults tightly. X driver didn't check for GHOSTVIEW_COLORS properly. X driver freed too many colors if an allocation request failed. X driver didn't check return value of gs_malloc for being NULL. Files affected: gdevxini.c Problem: There was no LaserJet 4 driver that could use the 600 dpi mode. Fix: Implement one. Files affected: devs.mak gdevdjet.c Problem: The DeskJet and LaserJet drivers used \033&l0H (page eject) instead of \f (end of page), which prevented duplex printing. The DeskJet and LaserJet drivers reset the printer at the start of each page, which prevented manually initiated duplex printing. Files affected: gdevdjet.c 7/8/93 ------ Problem: kshow returned an incorrect (random, 32-bit) character code for the second character. Fix: Make sure the character code is stored properly on all control paths. Files affected: gschar.c Problem: Color halftones "flipped over" at the 50% point, inverting foreground and background. Fix: Correct a numerical error in the octant flip test. Files affected: gxdither.c Problem: setbbox didn't round the coordinates properly, which could cause erroneous rangecheck errors with coordinates on the edge of the box. Files affected: gsdps1.c Problem: The PCX driver put an old version number in the header, and didn't pad scan lines to an even number of bytes. Files affected: gdevpcx.c Problem: The TIFF driver didn't handle A4 or B4 size paper correctly. Fix: Make the driver handle variable page sizes properly. Files affected: gdevtiff.c Problem: The VMS script files referenced IBSCAN instead of ISCAN2, and omitted GDEVXXF. Files affected: vms-cc.mak vms-gcc.mak Problem: zht2.c didn't include alloc.h. Files affected: zht2.c Problem: gdevx.h was inadvertently omitted from an earlier batch of fixes. Files affected: gdevx.h Problem: The UUENCODEd icons for the MS Windows platform were omitted from the fileset. Files added: gsgraph.uue gstext.uue 7/9/93 ------ Problem: exitserver didn't check the password, and always succeeded. Fix: Make exitserver do a minimal password check. Files affected: gs_statd.ps Problem: Ghostscript only knew about a limited set of paper sizes. Fix: Add many new paper sizes to gs_statd.ps. It now includes ISO a0-a10 and b0-b10, and CAD sizes archA-archE. Files affected: gs_statd.ps 7/17/93 ------- Problem: The ESCP/2 driver was incorrectly named gdevescp2 in devs.mak. Files affected: devs.mak Problem: The X11 driver incorrectly demanded the Xmu library, which was not needed and which caused link errors on some versions of SunOS. Solution: Remove Xmu from the list of X libraries. Files affected: devs.mak Problem: X11 font matching scheme was too loose, causing overlaps and other problems. Solution: X11 font must be within 1/2 pixel of desired height to be used. Files affected: gdevx.c, gdevx.h, gdevxini.c, gdevxxf.c Problem: X11 Font Extensions (rotated and mirrored fonts) did not work properly on NCD terminals. Solution: Add an X resource to be able to selectively turn off the use of Font Extensions. It is called useFontExtensions. Files affected: gdevx.c, gdevx.h, gdevxini.c, gdevxxf.c Problem: When the X11 driver freed the rgb cube/gray ramp, the parameters to gs_free() did not exactly match the parameters to gs_malloc(). Solution: Make them match. Files affected: gdevx.c Problem: The X11 driver failed to warn the user when it could not allocate the original color cube/gray ramp and dropped back to a smaller cube/ramp, or from color to mono. Solution: Warn the user when color allocation fails during initialization. Files: gdevxini.c Problem: x_release could cause Ghostscript to fail if a font was freed after the device was closed. Solution: Don't free the font in x_release. The font will be freed when the connection to the X server is closed. Files affected: gdevx.c 7/18/93 ------- Problem: On MS-DOS systems, filenameforall didn't interpret * alone as a pattern matching all files. Fix: Recognize a trailing * in a pattern as a special case. Files affected: gp_msdos.c Problem: The FontName in the font file had be the same as the name in Fontmap. (This requirement led to the need for aliases, and was extremely confusing to users.) Fix: If loading a font file doesn't define the font with the requested name, parse the file to find the FontName, and make the requested name an alias for it. Files affected: gs_fonts.ps Problem: Users had to remember to edit the Fontmap file whenever they installed a new font. Fix: Add a GS_FONTPATH environment variable containing a list of directories that should be scanned automatically for fonts at startup time. Files affected: gs_fonts.ps, fonts.doc, use.doc ---------------- Fixes up to here distributed 7/18/93 ---------------- 7/20/93 ------- Problem: gdevdjet.c was omitted from the previous patch distribution. ---------------- ALL fixes up to here distributed 7/20/93 ----------------