What is a Ghostscript?

S.A. Keel

Despite its name, Ghostscript is not a script. It is a suite of software programs that can interpret the Postscript language created by Adobe Systems Inc. Through these programs, a user can convert Postscript language files into different raster image processing (RIP) formats for printing and display, or interpret a Postscript file for a printer that doesn't have Postscript capabilities built in. This software suite can perform the same functions for portable document format (PDF) files and has the capability to convert Postscript files to PDF, or the other way around.

The tedious, command-line method for using Ghostscript is fairly inaccessible for the common computer use.
The tedious, command-line method for using Ghostscript is fairly inaccessible for the common computer use.

L. Peter Deutsch created the Ghostscript suite in 1986 for the GNU's Not Unix (GNU) Project to provide a means for open-source Unix® systems to interpret the Postscript language. While intended to be open-source software, Deutsch also had plans to make a commercial version, and so retained copyright to the source code. As a result, the software ended up falling under the confines of many different licenses that restricted its use in various ways.

Deutsch formed the company Aladdin Enterprises, which took the original suite and released a version called Aladdin Ghostscript. Although the purpose of this release was to begin work on a commercial version, part of the agreement with the GNU Project meant releasing a free version, as well. Deutsch then released a General Public License (GPL) version for GNU, and an Aladdin Enterprises version was released under what was called the Aladdin Free Public License (AFPL), which was more restrictive than the GPL. This version later simply became known as AFPL Ghostscript.

The company Easy Software Products (ESP) developed in 1993 a version called ESP Ghostscript, which was also covered under the GPL. This version was created to be compatible with the ESP Common Unix Printing System (CUPS). In 2006, as CUPS eventually became a staple to Linux® and other Unix® operating systems, ESP Ghostscript and the GPL version merged to create the GNU Project's GNU Ghostscript. Ultimately, all of this naming, forking of the software source code, and license wrangling is important to note as two versions emerged from the fray — Ghostscript, which is copyrighted software owned by Artifex Software Inc. and licensed for commercial use, and GNU Ghostscript, maintained by the GNU Project and given a GPL release.

As an interpreter, the main purpose of this software is to take Postscript page description commands and translate them into a format that can be displayed either on a computer monitor or on paper from a printer. When run, the interpreter displays a prompt for the user. Postscript language can then be input either directly into the interpreter, or via a text file that contains the Postscript language. The most common method is via a text file, or Postscript document. On most computer file systems, Postscript files are identified by the .ps suffix.

This tedious, command-line method for using Ghostscript is fairly inaccessible for the common computer user, so a number of software projects emerged that use the software as a back-end to display or print Postscript and PDF files. The most common is a program called GSview, which provides a graphical user interface (GUI). Given the software's origins and Adobe Systems Inc.'s provision of Postscript and PDF interpreters for many commercial operating systems, the majority of the GUI software available for working with Ghostscript is developed to operate under Unix®-like free operating systems.

Ghostscript itself, however, has been ported to run under numerous operating systems, including virtually all Unix®-like variants, Linux®, Macintosh®, Microsoft Windows™, as well as myriad other operating systems. The reason for this is likely the software's ability to act as an RIP. In such use cases, Ghostscript sits as a service, or daemon, and acts as an input filter for a device by taking Postscript and processing it for a printer or display. As an engine for RIP devices, then, it needs to be able to run smoothly under any of the varying operating systems that RIP devices are built around.

You might also Like

Discuss this Article

Post your comments
Forgot password?