# Overview of Ghostscript

This document is a roadmap to the Ghostscript documentation. After looking through it, if you want to install Ghostscript and not only use it, we recommend you read how to install Ghostscript, and how to compile Ghostscript from source code (which is necessary before installing it on Unix and VMS systems).

## Table of contents

> - Document roadmap by theme
>   - What should I read if I'm a new user?
>   - AFPL Ghostscript and GNU Ghostscript
>   - Before building Ghostscript
>   - What should I read if I'm not a new user?
>   - What if I'm a developer?
>   - What if I'm writing documentation?
> - Presence on the World Wide Web
>   - Ghostscript's home pages
>   - Adobe PostScript, Encapsulated PostScript, and PDF reference documentation
>   - Other material on the WWW
> - Which document contains what?
>   - Primarily for users:

>     > Bug-form.htm Bug-info.htm Deprecated.htm Devices.htm |  | Helpers.htm Humor.htm Ps2epsi.htm |  | Ps2pdf.htm Readme.htm Unix-lpr.htm Use.htm

>   - For both users and developers:

>     > Changes.htm Commprod.htm COPYING Fonts.htm Hershey.htm |  | History*.htm Install.htm Language.htm Make.htm |  | News.htm Psfiles.htm Public.htm

>   - Primarily for developers:

>     > API.htm C-style.htm DLL.htm Develop.htm Drivers.htm |  | Htmstyle.htm Issues.htm Lib.htm Maintain.htm Projects.htm |  | Ps-style.htm Release.htm Source.htm Testing.htm Xfonts.htm

## Document roadmap by theme

### What should I read if I'm a new user?

- how to use Ghostscript. This includes both a quickstart introduction to the commandline version and more extensive reference material.
- detailed information about specific devices that Ghostscript can use for output
- information about reporting problems--but remember that Ghostscript comes with NO WARRANTY and NO SUPPORT
- more detailed information about how to use Ghostscript under Unix with `lpr` as a filter for printing

### AFPL Ghostscript and GNU Ghostscript

AFPL Ghostscript and GNU Ghostscript are different releases. If you have AFPL Ghostscript, not the GNU Ghostscript releases distributed by the Free Software Foundation, you should read (or at least skim through):

- additional information about AFPL Ghostscript releases that is not relevant to GNU Ghostscript releases.

If you run into any questions, or if you are going to be using Ghostscript extensively, you should at least skim, and probably eventually read:

- about the fonts distributed with Ghostscript, including how to add or replace fonts
- a description of the Ghostscript language, and its differences from the documented PostScript language
- about the postscript files distributed with Ghostscript (other than fonts)

### Before building Ghostscript

If you are going to compile Ghostscript from source, rather than just use an executable you got from somewhere, you may want to read:

- how to build Ghostscript and install it

## What should I read if I'm not a new user?

If you have already used Ghostscript, when you receive a new release you should begin by reading this file, then

- News.htm, for incompatible changes and new features in the current release;
- if you wish, Changes.htm, for a detailed list of changes in the current release;
- if you wish, History#.htm (currently History8.htm), for changes in other releases.

## What if I'm a developer?

If you are going to do any development on or with Ghostscript at all, you should at least look at

- the roadmap documentation for Ghostscript's source files and architecture

If you are going to write a new driver for Ghostscript, you should read

- the guide to the Ghostscript source code
- the interface between Ghostscript and device drivers
- about the external font interface between Ghostscript and platform-supplied fonts

If you are considering distributing Ghostscript (either AFPL or GNU versions) in conjunction with a commercial product, you should read the license carefully, and you should also read

- additional clarification of the circumstances under which Ghostscript can be distributed with a commercial product

If you intend to use Ghostscript in the form of a dynamic link library (DLL) under OS/2 or Microsoft Windows or in the form of shared object under Linux, read

- documentation on Ghostscript Interpreter API

If you want to use Ghostscript as part of another program--as a callable PostScript language interpreter--and not as a DLL or as a self-contained executable application, you should begin by reading

- the source file `imain.h`, the documented API for Ghostscript not as a DLL

or if you are going to use only the Ghostscript graphics library,

- about the structure of the Ghostscript library and its interfaces

## What if I'm writing documentation?

If you are editing or adding to Ghostscript's existing documentation in HTML format, or writing a new document, you should read

- the coding and style guidelines for Ghostscript's HTML-based documentation.

## Presence on the World Wide Web

### Ghostscript's home page

Ghostscript has a home page on the World Wide Web with helpful information such as the FAQ (Frequently Asked Questions) and a list of known problems and workarounds for the current AFPL Ghostscript release (in the "Obtaining" file for that release):

> http://www.cs.wisc.edu/~ghost/

More material about Ghostscript can be found at

> http://www.ghostscript.com/

### Adobe PostScript, Encapsulated PostScript, and PDF reference documentation

Adobe makes a wealth of technical documentation available over the Web, including the PostScript Language Reference Manual (Third Edition); the Encapsulated PostScript (EPS) Format Specification version 3, including Encapsulated PostScript Interchange (EPSI) format; the PDF 1.3 specification or later editions; and the pdfmark and Acrobat Distiller parameters documentation. Some of these documents are also available at Adobe's ftp site, but not necessarily under the same filenames.

### Other material on the WWW

Much other material about Ghostscript is available on the World Wide Web, both as web pages and as archived Usenet and mailing list discussions. Use the well-known search engines to find such material.

There is a good manual for Ghostscript available in PDF form, in English and German (and soon in Japanese), at:

> http://www.pdflib.com/gsmanual

There is a translation of the Ghostscript 'man' pages into Czech at:

> http://www.volny.cz/rebus/ghostscript/

## Which document contains what?

Here is the list in alphabetic order of Ghostscript documentation, with explanations of the contents.

API.htm
  On MS-Windows and OS/2, Ghostscript is compiled as a dynamic link library (DLL). On Linux, Ghostscript can be compiled as a shared object. This describes how to use it. For developers.

Bug-form.htm
  A form to fill out and email to report a problem with AFPL Ghostscript--but remember that Ghostscript comes with NO WARRANTY and NO SUPPORT. Please read the instructions before reporting a bug.

Bug-info.htm
  Information about how to report problems with AFPL Ghostscript--but remember that Ghostscript comes with NO WARRANTY and NO SUPPORT. Please read this before reporting a problem.

C-style.htm
  Guidelines and style for C coding, which you should follow if, for example, you write a new driver or add or change something in Ghostscript. For developers.

Changes.htm
  A detailed list of all code changes in the current release or pre-release, generated mechanically from the CVS logs. For developers.

Commprod.htm
  The conditions under which Ghostscript may be distributed in a commercial context. See also the Aladdin Free Public License.

COPYING
  The text of the GNU General Public License, the copyright terms under which GPL Ghostscript is available.

DLL.htm
  On OS/2, MS Windows-16 and MS Windows-32 platforms, Ghostscript is compiled as a dynamic link library (DLL). This describes how to use it. For developers. This DLL interface is obsolete. Use API.htm instead.

Develop.htm
  Code orientation for developers. Contains a detailed breakdown of the source files by functional group, and overviews of the major architectural features and services.

Deprecated.htm
  Documention for deprecated devices and features. Features described here will be removed in future versions of Ghostscript.

Devices.htm
  Detailed information about some specific devices for which Ghostscript can produce output. Run "`gs -h`" to see which devices a particular version of Ghostscript is built to use.

Drivers.htm
  Describes the interface between Ghostscript and device drivers. If you do this, you should also read and use the C style and coding guidelines. Necessary to develop a new driver. For developers.

Fonts.htm
  All about fonts freely available for Ghostscript, and how to add and use new fonts. Also describes how to use Ghostscript fonts as X Windows fonts. For both users and developers.

Helpers.htm
  A note of thanks to people who have helped in the development of Ghostscript.

Hershey.htm
  Part 1 of the five-part original Usenet distribution of the free Hershey fonts, giving the terms of use and describing their encoding.

History*.htm
  The history of changes in all Ghostscript releases:

  > History8.htm for Ghostscript versions 8.n
  > History7.htm for Ghostscript versions 7.n
  > History6.htm for Ghostscript versions 6.n
  > History5.htm for Ghostscript versions 5.n
  > History4.htm for Ghostscript versions 4.n
  > History3.htm for Ghostscript versions 3.n
  > History2.htm for Ghostscript versions 2.n
  > History1.htm for Ghostscript versions 1.n

Htmstyle.htm
  The guidelines and style for HTML coding of Ghostscript's documentation, which you should follow if, for example, you change existing HTML documentation or write new documents. For writers and editors.

Humor.htm
  Another Ghostscript interpreter.

Install.htm
  How to install Ghostscript. See also how to build it.

Issues.htm
  A list of outstanding open issues in Ghostscript. These include known limitations, minor bugs, performance issues, differences from Adobe implementations, and others.

Language.htm
  The relationship between the Ghostscript interpreter and the PostScript language as defined by Adobe.

Lib.htm
  A description of the Ghostscript library, a set of procedures to implement the graphics and filtering capabilities that are primitive operations in the PostScript language and in Adobe Portable Document Format (PDF). For developers.

Maintain.htm
  Assorted Ghostscript maintenance procedures. For developers.

Make.htm
  How to build Ghostscript executables from the source code. See also how to install it. It's not necessary to be a highly experienced developer to build or install Ghostscript, but some experience is needed.

News.htm
  A brief description of the latest release or pre-release of Ghostscript, and a list of any incompatible changes in it. Changes in older releases are described in the history files "`History*.htm`", which are usually installed in the documentation directory. Run "`gs -h`" to see where that is.

Projects.htm
  A list of Ghostscript development projects with which we would like help.

Ps-style.htm
  The guidelines and style for postscript coding in Ghostscript. Some of Ghostscript is implemented in the postscript language itself, and various utilities and examples are distributed with it. You should follow these guidelines if you're extending or modifying those files. For developers.

Ps2epsi.htm
  Detailed information on how to use Ghostscript through `ps2epsi` to convert PostScript to Adobe Encapsulated PostScript Interchange (EPSI) format.

Ps2pdf.htm
  Detailed information on how to use Ghostscript through `ps2pdf` to convert PostScript to Adobe Portable Document Format (PDF).

Psfiles.htm
  A description of the PostScript files (other than font files) distributed with Ghostscript, including initialization routines, utility programs, and sample printable files.

Public.htm
  The Aladdin Free Public License, which states the conditions for using and redistributing AFPL Ghostscript.

Readme.htm
  This document.

Release.htm
  A description of how to prepare and test a Ghostscript release. Of interest only to developers who want to create new Ghostscript versions for distribution.

Source.htm
  A guide to the Ghostscript source code, for development and debugging.

Testing.htm
  Documentation for using the test scripts located in the toolbin/tests directory, and conventions for writing new testing scripts.

Unix-lpr.htm
  How to set up Ghostscript as a Unix `lpr` filter.

Use.htm
  Detailed instructions on how to use Ghostscript, including such matters as designating an output device; choosing a default paper size; how Ghostscript finds files, including font files; how it uses environment variables; notes on specific platforms, including the X Window System; and command-line options.

Xfonts.htm
  Ghostscript's external font interface to a host platform's font-rendering mechanism, for developers.

Copyright © 1996-2002 artofcode LLC. All rights reserved.

This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of the license contained in the file LICENSE in this distribution. For more information about licensing, please refer to http://www.ghostscript.com/licensing/. For information on commercial licensing, go to http://www.artifex.com/licensing/ or contact Artifex Software, Inc., 101 Lucas Valley Road #110, San Rafael, CA 94903, U.S.A., +1(415)492-9861.

Ghostscript version 8.15, 22 September 2004