# Overview of Ghostscript

If this is your first contact with Ghostscript, before continuing here you should read the documentation for new users, where you'll find

- what Ghostscript does (PostScript and PDF previewing, conversion, and printing);
- its licensing terms (free for ordinary use);
- what platforms it runs on (every platform you're likely to be interested in);
- where to find some useful programs that enhance Ghostscript (like user-friendly previewers for Unix, VMS, MS Windows, DOS, and Macintosh); and
- what to do if you need help.

The rest of 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 Devices.htm Helpers.htm |  | Humor.htm New-user.htm Ps2epsi.htm Ps2pdf.htm |  | Readme.htm Unix-lpr.htm Use.htm

>   - For both users and developers:

>     > Changes.htm Commprod.htm Copying.htm Current.htm Fonts.htm |  | Hershey.htm History*.htm Install.htm Language.htm Make.htm |  | News.htm Psfiles.htm Public.htm Tester.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 Xfonts.htm

## Document roadmap by theme

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

A new user of Ghostscript should begin by reading the material specifically for new users, then as many of these documents as seem useful:

- how to install Ghostscript
- how to use Ghostscript; some of this information information also found in `gs.1`, the Unix "man" page for Ghostscript.
- the catalogs at the beginning of `devs.mak` and `contrib.mak`, which list all the devices for which Ghostscript is able to produce output (although if you got Ghostscript in binary form, it will only include some of these devices)
- detailed information about some specific devices that Ghostscript knows about
- more detailed information about how to use Ghostscript under Unix with `lpr` as a filter for non-PostScript printers
- information about reporting problems--but remember that Ghostscript comes with NO WARRANTY and NO SUPPORT

### 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, rather than just use an executable you got from somewhere, you should 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;
- Current.htm, for known problems 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 History7.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 (but read about drivers in general first)

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; and the pdfmark, transparency 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.htm
  A reminder that AFPL Ghostscript is governed NOT by the Free Software Foundation's GNU General Public License but by the Aladdin Free Public License.

Current.htm
  Information specifically about the current release of Ghostscript. See also the latest news of changes.

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.

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:

  > 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.

New-user.htm
  Essential information for new users of Ghostscript.

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.

Tester.htm
  A short questionnaire to fill out if you would like to be notified of new tester / beta releases.

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, 2000 Aladdin Enterprises. All rights reserved.

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

Ghostscript version 7.04, 31 January 2002