2 |
- |
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
|
2 |
<html>
|
|
|
3 |
<head>
|
|
|
4 |
<title>History of Ghostscript versions 1.n</title>
|
|
|
5 |
<!-- $Id: History1.htm,v 1.39 2005/10/20 19:46:23 ray Exp $ -->
|
|
|
6 |
<!-- Originally: history1.txt -->
|
|
|
7 |
<!--
|
|
|
8 |
WARNING: do not use Pete Kaiser's emacs function "gs-toc" alone to
|
|
|
9 |
re-create the table of contents here, because it will replace the
|
|
|
10 |
hand-edited TOC subheads with a separate subhead for each H2 in
|
|
|
11 |
the body of the file. Or if you do, first look at the original
|
|
|
12 |
TOC to see how to edit it for visual conciseness.
|
|
|
13 |
-->
|
|
|
14 |
<link rel="stylesheet" type="text/css" href="gs.css" title="Ghostscript Style">
|
|
|
15 |
</head>
|
|
|
16 |
|
|
|
17 |
<body>
|
|
|
18 |
<!-- [1.0 begin visible header] ============================================ -->
|
|
|
19 |
|
|
|
20 |
<!-- [1.1 begin headline] ================================================== -->
|
|
|
21 |
|
|
|
22 |
<h1>History of Ghostscript versions 1.n</h1>
|
|
|
23 |
|
|
|
24 |
<!-- [1.1 end headline] ==================================================== -->
|
|
|
25 |
|
|
|
26 |
<!-- [1.2 begin table of contents] ========================================= -->
|
|
|
27 |
|
|
|
28 |
<h2>Table of contents</h2>
|
|
|
29 |
|
|
|
30 |
<blockquote><ul>
|
|
|
31 |
<li><a href="#Version1.3">Version 1.3 (6/20/89)</a>
|
|
|
32 |
<ul>
|
|
|
33 |
<li><a href="#V1.3_Interpreter">Interpreter</a>,
|
|
|
34 |
<a href="#V1.3_Fonts">Fonts</a>,
|
|
|
35 |
<a href="#V1.3_Library">Library</a>,
|
|
|
36 |
<a href="#V1.3_Usage_procedures">Usage procedures</a>
|
|
|
37 |
</ul>
|
|
|
38 |
<li><a href="#Version1.2">Version 1.2 (2/22/89)</a>
|
|
|
39 |
<ul>
|
|
|
40 |
<li><a href="#V1.2_Interpreter">Interpreter</a>,
|
|
|
41 |
<a href="#V1.2_Library">Library</a>,
|
|
|
42 |
<a href="#V1.2_Usage_procedures">Usage procedures</a>
|
|
|
43 |
</ul>
|
|
|
44 |
<li><a href="#Version1.1">Version 1.1 (2/12/89)</a>
|
|
|
45 |
<ul>
|
|
|
46 |
<li><a href="#V1.1_Interpreter">Interpreter</a>,
|
|
|
47 |
<a href="#V1.1_Initialization">Initialization (ghost.ps, gfonts.ps)</a>,
|
|
|
48 |
<a href="#V1.1_Library">Library</a>,
|
|
|
49 |
<a href="#V1.1_Usage_procedures">Usage procedures</a>
|
|
|
50 |
</ul>
|
|
|
51 |
<li><a href="#Version1.0">Version 1.0 (8/11/88)</a>
|
|
|
52 |
</ul></blockquote>
|
|
|
53 |
|
|
|
54 |
<!-- [1.2 end table of contents] =========================================== -->
|
|
|
55 |
|
|
|
56 |
<!-- [1.3 begin hint] ====================================================== -->
|
|
|
57 |
|
|
|
58 |
<p>
|
|
|
59 |
This document is a history of Ghostscript releases numbered 1.n. For more
|
|
|
60 |
recent changes, see the the other history documents and, for the latest
|
|
|
61 |
versions, the news:
|
|
|
62 |
|
|
|
63 |
<blockquote>
|
|
|
64 |
<a href="News.htm">News</a><br>
|
|
|
65 |
<a href="History4.htm">History of Ghostscript versions 4.n</a><br>
|
|
|
66 |
<a href="History3.htm">History of Ghostscript versions 3.n</a><br>
|
|
|
67 |
<a href="History2.htm">History of Ghostscript versions 2.n</a><br>
|
|
|
68 |
History of Ghostscript versions 1.n (this document)<br>
|
|
|
69 |
</blockquote>
|
|
|
70 |
|
|
|
71 |
<p>For other information, see the <a href="Readme.htm">Ghostscript
|
|
|
72 |
overview</a>.
|
|
|
73 |
|
|
|
74 |
<!-- [1.3 end hint] ======================================================== -->
|
|
|
75 |
|
|
|
76 |
<hr>
|
|
|
77 |
|
|
|
78 |
<!-- [1.0 end visible header] ============================================== -->
|
|
|
79 |
|
|
|
80 |
|
|
|
81 |
<h2><a name="Version1.3"></a>Version 1.3 (6/20/89)</h2>
|
|
|
82 |
<pre>
|
|
|
83 |
This release should have had a lot more things in it, but time pressure
|
|
|
84 |
and the already long delay in getting it out made it necessary to push it
|
|
|
85 |
out the door in an incomplete state (e.g., no testing on X systems
|
|
|
86 |
whatsoever).
|
|
|
87 |
|
|
|
88 |
</pre>
|
|
|
89 |
<h3><a name="V1.3_Interpreter"></a>Interpreter</h3>
|
|
|
90 |
|
|
|
91 |
<pre>
|
|
|
92 |
Makes -d and -D equivalent on the command line. Adds a new switch -s / -S
|
|
|
93 |
that defines a name as a string rather than a token.
|
|
|
94 |
|
|
|
95 |
Arranges things so that if -sLIB=_a_prefix_ is defined on the command
|
|
|
96 |
line, (filename) run will look for _a_prefix_filename before giving up if
|
|
|
97 |
filename isn't the name of an accessible file.
|
|
|
98 |
|
|
|
99 |
Changes showpage from an operator to a procedure. The definition of
|
|
|
100 |
showpage in ghost.ps does a copypage, beeps the console, waits for the
|
|
|
101 |
user to type a character (normally a <return>, since line buffering is
|
|
|
102 |
always enabled), and then does an erasepage and an initgraphics.
|
|
|
103 |
|
|
|
104 |
Adds a new initialization file, gdevs.ps, containing device-dependent
|
|
|
105 |
parameters. The default window size for X Windows is properly set to 612
|
|
|
106 |
x 792, i.e., 8.5" x 11".
|
|
|
107 |
|
|
|
108 |
Adds a new optional initialization file, statusd.ps, that provides dummy
|
|
|
109 |
definitions for the names found in statusdict on LaserWriters.
|
|
|
110 |
|
|
|
111 |
Adds a new operator, getenv, to get information from the shell
|
|
|
112 |
environment.
|
|
|
113 |
|
|
|
114 |
Adds a new predefined operator, defaultdevicename, that returns either (X)
|
|
|
115 |
or (EGA) according to how the interpreter was built.
|
|
|
116 |
|
|
|
117 |
Adds a new type, devicetype, and new operators deviceparams, getscanlines,
|
|
|
118 |
makedevice, makeimagedevice, and setdevice. Changes currentdevice to
|
|
|
119 |
return a device object rather than a set of parameters.
|
|
|
120 |
|
|
|
121 |
Makes the scanner recognize reals with 'e' exponent notation, and handle
|
|
|
122 |
reals with more than 9 digits.
|
|
|
123 |
|
|
|
124 |
Fixes a bug that made names starting with digits read incorrectly.
|
|
|
125 |
|
|
|
126 |
Fixes a bug in the exp operator that made it not pop its first argument
|
|
|
127 |
from the stack.
|
|
|
128 |
|
|
|
129 |
Fixes a bug in the rand operator that made it return negative values about
|
|
|
130 |
half the time.
|
|
|
131 |
|
|
|
132 |
Fixes a bug in equality comparison (eq, ne, and several other operators)
|
|
|
133 |
that made unequal operator objects occasionally appear to be equal on DOS
|
|
|
134 |
systems.
|
|
|
135 |
|
|
|
136 |
Fixes a bug in the bind operator that made it not work on packed arrays.
|
|
|
137 |
|
|
|
138 |
Changes the internal representation of dictionaries so they can be
|
|
|
139 |
expanded or contracted dynamically. Adds a new operator, setmaxlength, to
|
|
|
140 |
change the allocated size of a dictionary.
|
|
|
141 |
|
|
|
142 |
Changes sstorei.h so that non-DOS compilers don't encounter the #pragma
|
|
|
143 |
directive used by Turbo C.
|
|
|
144 |
|
|
|
145 |
Restores the display mode (on MS-DOS systems) when exiting.
|
|
|
146 |
|
|
|
147 |
</pre>
|
|
|
148 |
<h3><a name="V1.3_Fonts"></a>Fonts</h3>
|
|
|
149 |
|
|
|
150 |
<pre>
|
|
|
151 |
Makes undefined characters in the standard font display as tilde rather
|
|
|
152 |
than blank (or causing an error). Unmapped character codes (those mapped
|
|
|
153 |
to .notdef in the encoding) still display as nothing, per the PostScript
|
|
|
154 |
manual.
|
|
|
155 |
|
|
|
156 |
</pre>
|
|
|
157 |
<h3><a name="V1.3_Library"></a>Library</h3>
|
|
|
158 |
|
|
|
159 |
<pre>
|
|
|
160 |
Adds a new header file, gxbitmap.h, with some new documentation describing
|
|
|
161 |
the internal storage format for bitmaps.
|
|
|
162 |
|
|
|
163 |
Makes numerous internal changes in the character / font cache, affecting
|
|
|
164 |
many of the routines in gxcache.c.
|
|
|
165 |
|
|
|
166 |
Fixes a bug in gz_draw_line / gz_fill_trapezoid that made nearly
|
|
|
167 |
horizontal lines display wrong.
|
|
|
168 |
|
|
|
169 |
Fixes a bug in gs_scale that made scaling not work if the coordinate
|
|
|
170 |
system was rotated or skewed.
|
|
|
171 |
|
|
|
172 |
Extends the font cache so it will handle characters rotated by multiples
|
|
|
173 |
of 90 degrees.
|
|
|
174 |
|
|
|
175 |
Changes the second argument of gx_path_bbox and gx_path_is_rectangle to be
|
|
|
176 |
a gs_fixed_rect * rather than a fixed [4].
|
|
|
177 |
|
|
|
178 |
Changes gs_matrix_rotate so it handles multiples of 90 degrees as a
|
|
|
179 |
special case.
|
|
|
180 |
|
|
|
181 |
Changes the definition of the gx_device structure to accommodate the new
|
|
|
182 |
device operators, and adds corresponding library calls.
|
|
|
183 |
|
|
|
184 |
Changes the type for a device color index from int to gx_color_index
|
|
|
185 |
(equivalent to unsigned long). ***NOTE***: this affects existing clients
|
|
|
186 |
and drivers in a non-trivial way on MS-DOS systems.
|
|
|
187 |
|
|
|
188 |
Changes gs_malloc and gs_free to take a client name string as an argument.
|
|
|
189 |
|
|
|
190 |
</pre>
|
|
|
191 |
<h3><a name="V1.3_Usage_procedures"></a>Usage procedures</h3>
|
|
|
192 |
|
|
|
193 |
<pre>
|
|
|
194 |
Changes the compilation rules for Unix systems to not use the -o and -c
|
|
|
195 |
compiler flags together, to be compatible with more versions of cc.
|
|
|
196 |
|
|
|
197 |
Changes the gcc makefile to use $(GCC) rather than gcc as the compiler
|
|
|
198 |
name.
|
|
|
199 |
|
|
|
200 |
Moves the -1 flag for the MS-DOS compiler from the cc*.bat files to the
|
|
|
201 |
makefile.
|
|
|
202 |
|
|
|
203 |
Changes CCDEBUG to CCFLAGS, and adds ASMFLAGS, in DOS makefile.
|
|
|
204 |
|
|
|
205 |
Adds -DFOR80386 and /DFOR80386 to enable use of 80386 instructions in
|
|
|
206 |
assembly code on DOS systems.
|
|
|
207 |
|
|
|
208 |
Merges the DEBUG and gs_DEBUG switches. There is now only a single DEBUG
|
|
|
209 |
switch that affects both the interpreter and the library.
|
|
|
210 |
|
|
|
211 |
Adds a new compilation switch, -DNOPRIVATE, that makes private (static)
|
|
|
212 |
variables and procedures public for debugging and profiling (only needed
|
|
|
213 |
on DOS systems).
|
|
|
214 |
|
|
|
215 |
Adds the DOS executable (gs.exe and gs.map) to the distribution fileset.
|
|
|
216 |
|
|
|
217 |
Adds new platform-specific code files, gp-*.c, for a few things like
|
|
|
218 |
reading the clock.
|
|
|
219 |
|
|
|
220 |
Adds a new documentation file, drivers.doc, that describes the interface
|
|
|
221 |
between Ghostscript and device drivers.
|
|
|
222 |
|
|
|
223 |
</pre>
|
|
|
224 |
|
|
|
225 |
<hr>
|
|
|
226 |
|
|
|
227 |
<h2><a name="Version1.2"></a>Version 1.2 (2/22/89)</h2>
|
|
|
228 |
|
|
|
229 |
<h3><a name="V1.2_Interpreter"></a>Interpreter</h3>
|
|
|
230 |
|
|
|
231 |
<pre>
|
|
|
232 |
Adds the new facilities in version 25 of PostScript: //name for immediate
|
|
|
233 |
lookup, packed arrays (setpacking, currentpacking, packedarray operators),
|
|
|
234 |
and new font cache parameters (setcacheparams, currentcacheparams
|
|
|
235 |
operators).
|
|
|
236 |
|
|
|
237 |
Adds new operators (setfileposition, currentfileposition) for random
|
|
|
238 |
access to files.
|
|
|
239 |
|
|
|
240 |
Extends readhexstring to take either a string or a file, just like token.
|
|
|
241 |
|
|
|
242 |
Fixes a bug that caused the 'for' operator (and a couple of others) to
|
|
|
243 |
randomly smash memory locations on PC platforms.
|
|
|
244 |
|
|
|
245 |
</pre>
|
|
|
246 |
<h3><a name="V1.2_Library"></a>Library</h3>
|
|
|
247 |
|
|
|
248 |
<pre>
|
|
|
249 |
Renames the init_device driver procedure as open_device, and adds a
|
|
|
250 |
corresponding close_device.
|
|
|
251 |
|
|
|
252 |
Adds new procedures to read and set the cache limit values (implementing
|
|
|
253 |
the currentcacheparams and setcacheparams operators).
|
|
|
254 |
|
|
|
255 |
</pre>
|
|
|
256 |
<h3><a name="V1.2_Usage_procedures"></a>Usage procedures</h3>
|
|
|
257 |
|
|
|
258 |
<pre>
|
|
|
259 |
Changes the name of the Unix makefile to ux-cc-x.mak, and adds a new Unix
|
|
|
260 |
makefile, ux-gcc-x.mak, for using gcc instead of cc. (The latter doesn't
|
|
|
261 |
actually work yet.)
|
|
|
262 |
|
|
|
263 |
Changes the name of the single built-in font from uglyfont.cp to
|
|
|
264 |
ugly10.cp.
|
|
|
265 |
|
|
|
266 |
</pre>
|
|
|
267 |
|
|
|
268 |
<hr>
|
|
|
269 |
|
|
|
270 |
<h2><a name="Version1.1"></a>Version 1.1 (2/12/89)</h2>
|
|
|
271 |
|
|
|
272 |
<h3><a name="V1.1_Interpreter"></a>Interpreter</h3>
|
|
|
273 |
|
|
|
274 |
<pre>
|
|
|
275 |
Makes the scanner treat ^Z (ASCII code 26) as whitespace: it erroneously
|
|
|
276 |
treated ^R (ASCII code 22, or octal 26) as whitespace.
|
|
|
277 |
|
|
|
278 |
Makes the token and readline operators, and the syntax for comments,
|
|
|
279 |
recognize \r (code 13), \n (code 10), and \r\n as equivalent end-of-line
|
|
|
280 |
indicators. The token and readline operators will skip over any of these
|
|
|
281 |
sequences at the end of a token or line respectively, and a comment will
|
|
|
282 |
read through any of these sequences. The other file operators (read,
|
|
|
283 |
write, readstring, writestring) do nothing special with these characters.
|
|
|
284 |
|
|
|
285 |
Changes the debug switch name from -D to -Z. Adds a -D switch for
|
|
|
286 |
defining names in systemdict from the command line. Defines -DDEBUG for
|
|
|
287 |
printing out debugging information during initialization, and -DNODISPLAY
|
|
|
288 |
for suppressing display output.
|
|
|
289 |
|
|
|
290 |
Corrects a bug that prevented the error machinery from working -- in
|
|
|
291 |
version 1.0, errors always dumped the stacks and aborted interpretation.
|
|
|
292 |
|
|
|
293 |
Corrects a bug that made eq and ne not work for strings.
|
|
|
294 |
|
|
|
295 |
Makes the atan (arctangent) operator normalize its results according to
|
|
|
296 |
the PostScript convention.
|
|
|
297 |
|
|
|
298 |
Makes the div operator check for zero divisor.
|
|
|
299 |
|
|
|
300 |
Makes unimplemented operators (resetfile, echo, save, restore, strokepath,
|
|
|
301 |
reversepath) truly undefined.
|
|
|
302 |
|
|
|
303 |
Makes the interactive loop exit gracefully on end-of-file: in version 1.0
|
|
|
304 |
this caused an infinite loop.
|
|
|
305 |
|
|
|
306 |
Implements the status operator.
|
|
|
307 |
|
|
|
308 |
Corrects a bug that made the 'for' operator deliver garbage values if one
|
|
|
309 |
or more of the operands (start, increment, end) was a real.
|
|
|
310 |
|
|
|
311 |
Corrects a bug that made the arc and arcn operators not pop their operands
|
|
|
312 |
from the stack.
|
|
|
313 |
|
|
|
314 |
Corrects a bug that made the kshow operator crash the interpreter.
|
|
|
315 |
|
|
|
316 |
Corrects a bug that made the print operator fail on machines that don't
|
|
|
317 |
pass structure arguments by simply pushing the contents of the structure.
|
|
|
318 |
|
|
|
319 |
Adds a new operator, imagecharpath, to convert images to
|
|
|
320 |
addcharpath-compatible outlines.
|
|
|
321 |
|
|
|
322 |
Changes alloc and alloc_free to use char * rather than byte *, and
|
|
|
323 |
alloc_free to return void rather than int, making them compatible with the
|
|
|
324 |
library's expectations and with malloc/free.
|
|
|
325 |
|
|
|
326 |
Explicitly casts all expressions of the form (ptr1 - ptr2) used as
|
|
|
327 |
procedure arguments to unsigned, to handle an incompatibility between
|
|
|
328 |
Turbo C versions 1.5 and 2.0.
|
|
|
329 |
|
|
|
330 |
Changes some of the internal conventions for operators: operators that
|
|
|
331 |
push on the operand stack must check for overflow explicitly, and
|
|
|
332 |
operators that modify the execution stack must return a special code.
|
|
|
333 |
(See oper.h for details.)
|
|
|
334 |
|
|
|
335 |
</pre>
|
|
|
336 |
<h3><a name="V1.1_Initialization"></a>Initialization (ghost.ps, gfonts.ps)</h3>
|
|
|
337 |
|
|
|
338 |
<pre>
|
|
|
339 |
Modifies ghost.ps and gfonts.ps so they print debugging information only
|
|
|
340 |
if the name DEBUG is defined. (Presumably the user will set this from the
|
|
|
341 |
command line with -DDEBUG.)
|
|
|
342 |
|
|
|
343 |
Changes ghost.ps so it initializes the nominal screen size to 640 x 350 on
|
|
|
344 |
MS-DOS systems as before, but to 612 x 792 on Unix systems, which is an
|
|
|
345 |
8.5" x 11" page at 72 pixels per inch.
|
|
|
346 |
|
|
|
347 |
</pre>
|
|
|
348 |
<h3><a name="V1.1_Library"></a>Library</h3>
|
|
|
349 |
|
|
|
350 |
<pre>
|
|
|
351 |
Corrects a bug that made the fill and eofill operators (gs_fill and
|
|
|
352 |
gs_eofill) not perform a newpath afterward.
|
|
|
353 |
|
|
|
354 |
Corrects the bug that made thin, nearly horizontal lines display wrong (as
|
|
|
355 |
a series of disconnected dots) in the MS-DOS implementation.
|
|
|
356 |
|
|
|
357 |
Fixes a bug in the EGA driver that often made it fill rectangular regions
|
|
|
358 |
with black around information being displayed in white.
|
|
|
359 |
|
|
|
360 |
Completely changes the internal representation of outline fonts, and
|
|
|
361 |
changes btoi.ps (a Ghostscript language program for converting bitmaps to
|
|
|
362 |
outlines) to use a new library call, gs_imagecharpath.
|
|
|
363 |
|
|
|
364 |
Changes the extension for outline font files from .gf to .cp.
|
|
|
365 |
|
|
|
366 |
Adds a new debugging switch, q, that traces all rectangle fill operations.
|
|
|
367 |
|
|
|
368 |
Adds a new debugging switch, v, that traces all device-level output calls.
|
|
|
369 |
|
|
|
370 |
Explicitly casts pointer differences passed as procedure arguments, as in
|
|
|
371 |
the interpreter.
|
|
|
372 |
|
|
|
373 |
Makes stringwidth work if there is no current point. In version 1.0, this
|
|
|
374 |
gave a nocurrentpoint error.
|
|
|
375 |
|
|
|
376 |
</pre>
|
|
|
377 |
<h3><a name="V1.1_Usage_procedures"></a>Usage procedures</h3>
|
|
|
378 |
|
|
|
379 |
<pre>
|
|
|
380 |
Changes the name of the 'read me' file from READ.ME to README.
|
|
|
381 |
|
|
|
382 |
Removes a bogus line (invoking the 'mcopy' utility) from the makefile.
|
|
|
383 |
|
|
|
384 |
Splits up the makefile into a generic part (ghost.mak) and
|
|
|
385 |
platform-specific parts (dos-ega.mak, unix-x11.mak). The latter are what
|
|
|
386 |
is actually executed.
|
|
|
387 |
|
|
|
388 |
Puts the definitions of the DEBUG and gs_DEBUG compilation flags into the
|
|
|
389 |
makefile instead of in ghost.h and gx.h respectively.
|
|
|
390 |
|
|
|
391 |
Changes the names of the documentation files to be a little less cryptic.
|
|
|
392 |
Changes all the file names to lower-case in the documentation. Adds
|
|
|
393 |
installation information to make.doc.
|
|
|
394 |
|
|
|
395 |
Changes all function definitions (but not prototype declarations) to ANSI
|
|
|
396 |
syntax, and adds a preprocessing step (ansi2knr) to convert them to K&R
|
|
|
397 |
syntax on Unix systems.
|
|
|
398 |
|
|
|
399 |
Changes the normal MS-DOS link configuration to not assume the presence of
|
|
|
400 |
an 80x87 coprocessor, and describes how to increase performance if a
|
|
|
401 |
coprocessor is present.
|
|
|
402 |
|
|
|
403 |
Changes the names of all the interpreter .c files, except stream.c, to
|
|
|
404 |
begin with 'i'.
|
|
|
405 |
|
|
|
406 |
</pre>
|
|
|
407 |
|
|
|
408 |
<hr>
|
|
|
409 |
|
|
|
410 |
<h2><a name="Version1.0"></a>Version 1.0 (8/11/88)</h2>
|
|
|
411 |
|
|
|
412 |
<pre>
|
|
|
413 |
First version released to the public.
|
|
|
414 |
</pre>
|
|
|
415 |
|
|
|
416 |
<!-- [3.0 begin visible trailer] =========================================== -->
|
|
|
417 |
<hr>
|
|
|
418 |
|
|
|
419 |
<p><small>Copyright © 1996, 1997, 1998 Aladdin Enterprises.
|
|
|
420 |
All rights reserved.</small>
|
|
|
421 |
|
|
|
422 |
<p>This software is provided AS-IS with no warranty, either express or
|
|
|
423 |
<p>implied.
|
|
|
424 |
<p>
|
|
|
425 |
<p>This software is distributed under license and may not be copied,
|
|
|
426 |
<p>modified or distributed except as expressly authorized under the terms
|
|
|
427 |
<p>of the license contained in the file LICENSE in this distribution.
|
|
|
428 |
<p>
|
|
|
429 |
<p>For more information about licensing, please refer to
|
|
|
430 |
<p>http://www.ghostscript.com/licensing/. For information on
|
|
|
431 |
<p>commercial licensing, go to http://www.artifex.com/licensing/ or
|
|
|
432 |
<p>contact Artifex Software, Inc., 101 Lucas Valley Road #110,
|
|
|
433 |
<p>San Rafael, CA 94903, U.S.A., +1(415)492-9861.
|
|
|
434 |
|
|
|
435 |
<p>
|
|
|
436 |
<small>Ghostscript version 8.53, 20 October 2005
|
|
|
437 |
|
|
|
438 |
<!-- [3.0 end visible trailer] ============================================= -->
|
|
|
439 |
|
|
|
440 |
</body>
|
|
|
441 |
</html>
|