summaryrefslogtreecommitdiff
path: root/doc/src/Readme.rst
blob: 85b078e6949aeec052668b6bf1e3abaac1092f48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
.. title:: Ghostscript Introduction


.. meta::
   :description: The Ghostscript documentation
   :keywords: Ghostscript, documentation, ghostpdl


.. _Ghostscript Introduction:
.. _Readme.htm:


Introduction
===================================


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 :ref:`How to install Ghostscript<Install.htm>`, and :ref:`How to compile Ghostscript<Make.htm>` from source code (which is necessary before installing it on Unix and VMS systems).


.. _WhatIsGhostscript:

What is Ghostscript?
----------------------

There are various products in the Ghostscript family; this document describes what they are, and how they are related.





Ghostscript
~~~~~~~~~~~~~~~~

Ghostscript is an interpreter for PostScript® and Portable Document Format (PDF) files.

Ghostscript consists of a PostScript interpreter layer, and a graphics library. The graphics library is shared with all the other products in the Ghostscript family, so all of these technologies are sometimes referred to as Ghostscript, rather than the more correct GhostPDL.

Binaries for Ghostscript and (see below) GhostPDF (included in the Ghostscript binaries) for various systems can be downloaded from `here`_. The source can be found in both the Ghostscript and GhostPDL downloads from the same site.





GhostPDF
~~~~~~~~~~~~~~~~

Prior to release 9.55.0 GhostPDF was an interpreter for the PDF page description language built on top of Ghostscript, and written in the PostScript programming language. From 9.55.0 onwards there is a new GhostPDF executable, separate from Ghostscript and written in C rather than PostScript.

This new interpreter has also been integrated into Ghostscript itself, in order to preserve the PDF functionality of that interpreter. For now, the old PostScript-based interpreter remains the default, but the new interpreter is built-in alongside it.

The intention is that the new interpreter will replace the old one, which will be withdrawn.

It is possible to control which interpreter is used with the NEWPDF command-line switch. When this is false (the current default) the old PostScript-based interpreter is used, when NEWPDF is true then the new C-based interpreter is used.





GhostPDL
~~~~~~~~~~~~~~~~

Historically, we’ve used GhostPDL as an umbrella term to encompass our entire line of products. We've now brought all these disparate products together into a single package, called, appropriately enough, GhostPDL.

When running on a printer (or server) GhostPDL now automatically detects the type of data being fed to it and processes it accordingly. The individual interpreters all plug into a top-level module that handles both automatic language detection and Printer Job Language (PJL) based configuration.

The exact set of interpreters present in an installation can be tuned by the integrator for their specific product/use cases.

In addition to our existing PDL modules (PS, PDF, PCL, PXL, and XPS) we have now added new modules to handle a range of common image formats. With these installed, GhostPDL will handle JPEGs (both JFIF and EXIF), PWGs, TIFFs, PNGs, JBIG2s, and JPEG2000s.

GhostPDL is available both under the `GNU Affero GPL license`_ and for `commercial licensing`_ from `Artifex`_.

The source code for GhostPDL can be found `here`_.





GhostPCL
~~~~~~~~~~~~~~~~

GhostPCL is an interpreter for PCL™ and PXL files. This consists of an PCL/PXL interpreter hooked up to the Ghostscript graphics library.

GhostPCL is available both under the `GNU Affero GPL license`_ and for `commercial licensing`_ from `Artifex`_.

Binaries for GhostPCL for various systems can be downloaded from `here`_. The source can be found in the GhostPCL/GhostPDL downloads from the same site.




GhostXPS
~~~~~~~~~~~~~~~~

GhostXPS is an interpreter for XPS (XML Paper Specfication) files. This consists of an XPS interpreter hooked up to the Ghostscript graphics library.

GhostXPS is available both under the `GNU Affero GPL license`_ and for `commercial licensing`_ from `Artifex`_.

Binaries for GhostXPS for various systems can be downloaded from `here`_. The source can be found in the GhostXPS/GhostPDL downloads from the same site.


.. _URWFontInformation:

URW Font Information
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The set of truetype fonts in the urwfonts directory are necessary for the PCL/XL interpreter to function properly but they ARE NOT FREE SOFTWARE and are NOT distributed under the GNU GPL/AGPL. They can instead be redistributed under the `AFPL`_ license which bars commercial use.

If your copy of GhostPDL includes these fonts, you should have received a copy of the Aladdin Free Public License, usually in a file called COPYING.AFPL. If not, please contact Artifex Software, Inc. 1305 Grant Avenue - Suite 200, Novato, CA 94945 USA, or visit `Artifex`_




Document roadmap by theme
-----------------------------

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

- :ref:`How to use Ghostscript<Use.htm>`. This includes both a quickstart introduction to the command line version and more extensive reference material.
- detailed information about :ref:`specific devices<Devices.htm>` that Ghostscript can use for output.
- more detailed information about how to use Ghostscript under Unix with ``lpr`` :ref:`as a filter<Unix-lpr.htm>` 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 :ref:`fonts distributed with Ghostscript<Fonts.htm>`, including how to add or replace fonts.
- a description of :ref:`the Ghostscript language<Language.htm>`, and its differences from the documented PostScript language.
- about the :ref:`postscript files distributed with Ghostscript<Psfiles.htm>` (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:

- :ref:`How to build Ghostscript<Make.htm>` and :ref:`install it<Install.htm>`.


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`_, for incompatible changes and new features in the current release.


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 :ref:`roadmap documentation<Develop.htm>` for Ghostscript's source files and architecture.

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

- the :ref:`guide to the Ghostscript source code<Source.htm>`.
- the interface between Ghostscript and :ref:`device drivers<Drivers.htm>`.

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 :ref:`Ghostscript Interpreter API<API.htm>`.

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 :ref:`Ghostscript library<Lib.htm>` and its interfaces.

What if I'm writing documentation?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If you are editing or adding to Ghostscript's existing documentation you should contact us on our Discord channel or the gs-devel mailing list for guidance, links to those are on: `www.ghostscript.com`_.





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):

`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 :ref:`Encapsulated PostScript Interchange<Ps2epsi.htm>` (EPSI) format; the `PDF Reference manuals`_. The `Acrobat SDK`_ contains `pdfmark and Acrobat Distiller parameters documentation`_.


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.




.. External links

.. _www.ghostscript.com: http://www.ghostscript.com/
.. _here: http://www.ghostscript.com/download
.. _AGPL:
.. _GNU Affero GPL license: http://www.gnu.org/licenses/agpl-3.0.html
.. _AFPL: https://en.wikipedia.org/wiki/Aladdin_Free_Public_License
.. _commercial licensing: https://artifex.com/licensing/commercial/
.. _Artifex: https://artifex.com
.. _News: https://ghostscript.com/doc/current/News.htm
.. _bugs.ghostscript.com: https://bugs.ghostscript.com
.. _History#.htm: https://ghostscript.com/doc/current/History9.htm
.. _GPL Ghostscript releases: COPYING
.. _license: COPYING
.. _COPYING: COPYING

.. _PostScript Language Reference Manual (Third Edition): http://partners.adobe.com/public/developer/en/ps/PLRM.pdf
.. _Encapsulated Postscript: http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf
.. _PDF Reference manuals: http://partners.adobe.com/public/developer/pdf/index_reference.html
.. _Acrobat SDK: http://partners.adobe.com/public/developer/acrobat/sdk/index.html
.. _pdfmark and Acrobat Distiller parameters documentation: http://partners.adobe.com/public/developer/acrobat/sdk/index_doc.html

.. include:: footer.rst