Problems and new features in Ghostscript 5.50

Table of contents

For other information, see the Ghostscript overview.

New features (since release 5.10)

(This is not a complete list of new features: see the news for details.)

A number of PostScript LanguageLevel 3 features are implemented: ImageType 4 images, Type 32 fonts and CIDFontType 4 fonts, CIEBasedDEF[G] color spaces, idiom recognition, shfill (partial support), CloseSource and CloseTarget.

More of Display PostScript is implemented: view clipping, DevicePixel color space, context creation with private local VM, ImageType 2 images, compositing (NeXT extension).

The PDF interpreter now handles double-byte fonts. Ghostscript now handles essentially all of PDF 1.2 (Acrobat 3.x compatibility).

The PDF writer now implements the xxxImageFilter, EncodexxxImage, and ConvertCMYKImagesToRGB distiller parameters, which provide the ability to compress images.

The PDF writer now recognizes nearly all varieties of pdfmark, other than the Distiller 3.0 "named object" pdfmarks.

It is now possible (in fact, easy) to build Ghostscript with the source and object files in different directories.

There is a new PostScript-to-PostScript distiller, ps2ps.


Contributed drivers now have their own makefile (contrib.mak).

The IJG JPEG library is now in a directory named jpeg rather than jpeg-#.

The pdf2ps utility has been completely rewritten. It should be much more reliable, at the expense of possibly producing larger, lower-level output.

Running tar_cat after editing makefiles is no longer necessary. Users should now edit the unix*.mak makefiles.

Known problems

On MS Windows, trying to execute setfileposition or bytesavailable on the standard input file crashes Ghostscript.

On 16-bit-deep X Windows systems, the x11cmyk device doesn't work.

(This is not a complete list of known problems: see the release news for details.)


On a DOS system, interrupting the interpreter by typing control-C doesn't restore the display mode.


serialnumber returns the same value in all copies.

Some floating point exceptions terminate the interpreter, rather than producing a limitcheck error.

The DCTEncode filter disregards the Blend parameter, and uses different QuantTables and HuffTables from Adobe's.

The DCT filters do not support nonintegral sample ratios. Also, DCTEncode will not create files with Sum(HS×VS)>10 (regardless of the value of the Relax parameter) because they violate the JPEG standard; but DCTDecode will read such files.

The size of the execution stack cannot be changed dynamically. (However, the sizes of the operand and dictionary stacks can be changed.)

Separation color spaces are implemented, but devices that actually produce color separations are not supported: Separation color spaces always use the alternate space. The special color separations All and None, and the primary separations (Red, Green, etc.), are not supported.

execform and ucache are implemented, but they do not actually do any caching; setucacheparams and ucachestatus are dummies. (This only impacts performance, not functionality.)

The image operator only honors the Interpolate flag in the image dictionary if the combined transformation (ImageMatrix + CTM) doesn't involve rotation, skewing, or X-reflection; imagemask doesn't honor Interpolate at all.

Some path-building operations that would generate a device coordinate larger than +/-2^19 will cause a limitcheck. However, the common ones ([r]moveto, [r]lineto, [r]curveto, closepath) will not.

Graphics bugs

Opening more than one window device at the same time doesn't work. This is the case for both X Windows and Microsoft Windows.

cshow doesn't work with composite fonts.

Non-graphics bugs

The definefont operator (Subrs (type 1 fonts)) expects arrays but won't accept packed arrays:

Syntax errors occurring within a binary token do not produce the error message specified by the Adobe documentation.

Copyright © 1996, 1997, 1998 Aladdin Enterprises. All rights reserved.

This file is part of Aladdin Ghostscript. See the Aladdin Free Public License (the "License") for full details of the terms of using, copying, modifying, and redistributing Aladdin Ghostscript.

Ghostscript version 5.50, 16 September 1998