# 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?
>   - 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:

>     > 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 Current.htm CJK.htm Fonts.htm |  | Hershey.htm History*.htm Install.htm Language.htm Make.htm |  | News.htm Psfiles.htm

>   - Primarily for developers:

>     > API.htm C-style.htm CJKTTCID.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
- 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 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 GNU/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

GNU Ghostscript has a home page on the World Wide Web with helpful information. Pleave visit:

> http://www.gnu.org/software/ghostscript/

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 GNU/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
  A detailed list of all code changes in the current release or pre-release, generated mechanically from the CVS logs. For developers.

CJK.htm
  Usage of features to support CJK CID-keyed fonts in Ghostscript.

CJKTTCID.htm
  Note providing information on utilization of CJK (Chinese, Japanese and Korean) TrueType fonts as CIDFontType2 fonts from the viewpoint of its validity and limitations.

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.

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 © 1996, 2000 Aladdin Enterprises. 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.

Ghostscript version 7.07, 17 May 2003