# 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

> - What is Ghostscript?
>   - What is GhostPDF?
>   - What is GhostPCL?
>   - What is GhostXPS?
>   - What is GhostSVG?
>   - What is GhostPDL?
>   - What is MuPDF?
>   - What is MuXPS?
> - Document roadmap by theme
>   - What should I read if I'm a new user?
>   - GPL Ghostscript and commercial 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:

>     > Deprecated.htm Devices.htm |  | Helpers.htm Ps2epsi.htm |  | VectorDevices.htm Readme.htm Unix-lpr.htm Use.htm

>   - For both users and developers:

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

>   - Primarily for developers:

>     > API.htm C-style.htm DLL.htm Develop.htm Drivers.htm
>     > Issues.htm
>     > Lib.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?

- 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
- more detailed information about how to use Ghostscript under Unix with `lpr` as a filter for printing
- for information about known problems or to report a new one, please visit bugs.ghostscript.com but remember that free versions of Ghostscript come with with NO WARRANTY and NO SUPPORT

### GPL and commercial Ghostscript

GPL Ghostscript, Artifex Ghostscript and AFPL Ghostscript are different releases.

- additional information about GPL Ghostscript releases that is not relevant to commercial versions.

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, History#.htm (currently History9.htm), for changes in the current and earlier 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 GPL Ghostscript 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

## 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 GPL 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 Reference manuals. The Acrobat SDK contains 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.

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

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 (Deprecated, please see News.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 GNU Affero General Public License.

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:

  > History9.htm for Ghostscript versions 9.n
  > 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

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.

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.

VectorDevices.htm
  Detailed information on how to use Ghostscript, GhostPCL and GhostXPS to convert PostScript, PDF, XPS, PCL or PXL input to Adobe Portable Document Format (PDF), Adobe PostScript Level 2, Adobe Encapsulated PostScript Level 2, Open XML (XPS) or PCL-XL.

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

thirdparty.htm
  Contains a table of "third party libraries" (that is, code from outwith the Ghostscript/GhostPDL project) that we import to our project and supply in our releases. Including the purpose they serve, the version we QA and ship, the license under which the code distributed and the URL for the "upstream" project.

COPYING
  The GNU Affero General Public License, which states the conditions for using and redistributing GPL 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.

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 © 2000-2006 Artifex Software, Inc. 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 that license. Refer to licensing information at http://www.artifex.com/ or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.

Ghostscript version 9.20, 26 September 2016