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 3.n</title>
|
|
|
5 |
<!-- $Id: History3.htm,v 1.39 2005/10/20 19:46:23 ray Exp $ -->
|
|
|
6 |
<!-- Originally: history3.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 3.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="#Version3.70p1">Version 3.70 patch 1 (6/24/96)</a>
|
|
|
32 |
<ul>
|
|
|
33 |
<li><a href="#V3.70p1_Procedures">Procedures</a>,
|
|
|
34 |
<a href="#V3.70p1_Drivers">Drivers</a>
|
|
|
35 |
</ul>
|
|
|
36 |
<li><a href="#Version3.70">Version 3.70 (limited) (6/23/96)</a>
|
|
|
37 |
<ul>
|
|
|
38 |
<li><a href="#V3.70_Documentation">Documentation</a>,
|
|
|
39 |
<a href="#V3.70_Procedures">Procedures</a>,
|
|
|
40 |
<a href="#V3.70_Drivers">Drivers</a>,
|
|
|
41 |
<a href="#V3.70_Platforms">Platforms</a>,
|
|
|
42 |
<a href="#V3.70_Fonts">Fonts</a>,
|
|
|
43 |
<a href="#V3.70_Interpreter">Interpreter</a>,
|
|
|
44 |
<a href="#V3.70_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
45 |
<a href="#V3.70_Streams">Streams</a>,
|
|
|
46 |
<a href="#V3.70_Library">Library</a>
|
|
|
47 |
</ul>
|
|
|
48 |
<li><a href="#Version3.69">Version 3.69 (limited) (6/14/96)</a>
|
|
|
49 |
<ul>
|
|
|
50 |
<li><a href="#V3.69_Documentation">Documentation</a>,
|
|
|
51 |
<a href="#V3.69_Procedures">Procedures</a>,
|
|
|
52 |
<a href="#V3.69_Utilities">Utilities</a>,
|
|
|
53 |
<a href="#V3.69_Drivers">Drivers</a>,
|
|
|
54 |
<a href="#V3.69_Platforms">Platforms</a>,
|
|
|
55 |
<a href="#V3.69_Fonts">Fonts</a>,
|
|
|
56 |
<a href="#V3.69_Interpreter">Interpreter</a>,
|
|
|
57 |
<a href="#V3.69_Library">Library</a>
|
|
|
58 |
</ul>
|
|
|
59 |
<li><a href="#Version3.68p4">Version 3.68 patch 4 (5/23/96)</a>
|
|
|
60 |
<ul>
|
|
|
61 |
<li><a href="#V3.68p4_Documentation">Documentation</a>,
|
|
|
62 |
<a href="#V3.68p4_Procedures">Procedures</a>,
|
|
|
63 |
<a href="#V3.68p4_Drivers">Drivers</a>,
|
|
|
64 |
<a href="#V3.68p4_Platforms">Platforms</a>,
|
|
|
65 |
<a href="#V3.68p4_Fonts">Fonts</a>,
|
|
|
66 |
<a href="#V3.68p4_Interpreter">Interpreter</a>,
|
|
|
67 |
<a href="#V3.68p4_Library">Library</a>
|
|
|
68 |
</ul>
|
|
|
69 |
<li><a href="#Version3.68p3">Version 3.68 patch 3 (5/17/96)</a>
|
|
|
70 |
<ul>
|
|
|
71 |
<li><a href="#V3.68p3_Procedures">Procedures</a>,
|
|
|
72 |
<a href="#V3.68p3_Utilities">Utilities</a>,
|
|
|
73 |
<a href="#V3.68p3_Drivers">Drivers</a>,
|
|
|
74 |
<a href="#V3.68p3_Platforms">Platforms</a>,
|
|
|
75 |
<a href="#V3.68p3_Interpreter">Interpreter</a>,
|
|
|
76 |
<a href="#V3.68p3_Library">Library</a>
|
|
|
77 |
</ul>
|
|
|
78 |
<li><a href="#Version3.68p2">Version 3.68 patch 2 (5/13/96)</a>
|
|
|
79 |
<ul>
|
|
|
80 |
<li><a href="#V3.68p2_Documentation">Documentation</a>,
|
|
|
81 |
<a href="#V3.68p2_Procedures">Procedures</a>,
|
|
|
82 |
<a href="#V3.68p2_Drivers">Drivers</a>,
|
|
|
83 |
<a href="#V3.68p2_Interpreter">Interpreter</a>,
|
|
|
84 |
<a href="#V3.68p2_Streams">Streams</a>,
|
|
|
85 |
<a href="#V3.68p2_Library">Library</a>
|
|
|
86 |
</ul>
|
|
|
87 |
<li><a href="#Version3.68p1">Version 3.68 patch 1 (5/10/96)</a>
|
|
|
88 |
<ul>
|
|
|
89 |
<li><a href="#V3.68p1_Procedures">Procedures</a>
|
|
|
90 |
</ul>
|
|
|
91 |
<li><a href="#Version3.68">Version 3.68 (limited) (5/9/96)</a>
|
|
|
92 |
<ul>
|
|
|
93 |
<li><a href="#V3.68_Documentation">Documentation</a>,
|
|
|
94 |
<a href="#V3.68_Procedures">Procedures</a>,
|
|
|
95 |
<a href="#V3.68_Utilities">Utilities</a>,
|
|
|
96 |
<a href="#V3.68_Drivers">Drivers</a>,
|
|
|
97 |
<a href="#V3.68_Platforms">Platforms</a>,
|
|
|
98 |
<a href="#V3.68_Fonts">Fonts</a>,
|
|
|
99 |
<a href="#V3.68_Interpreter">Interpreter</a>,
|
|
|
100 |
<a href="#V3.68_Streams">Streams</a>,
|
|
|
101 |
<a href="#V3.68_Library">Library</a>
|
|
|
102 |
</ul>
|
|
|
103 |
<li><a href="#Version3.67">Version 3.67 (limited) (4/12/96)</a>
|
|
|
104 |
<ul>
|
|
|
105 |
<li><a href="#V3.67_Documentation">Documentation</a>,
|
|
|
106 |
<a href="#V3.67_Procedures">Procedures</a>,
|
|
|
107 |
<a href="#V3.67_Platforms">Platforms</a>,
|
|
|
108 |
<a href="#V3.67_Interpreter">Interpreter</a>,
|
|
|
109 |
<a href="#V3.67_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
110 |
<a href="#V3.67_Library">Library</a>
|
|
|
111 |
</ul>
|
|
|
112 |
<li><a href="#Version3.66">Version 3.66 (limited) (4/8/96)</a>
|
|
|
113 |
<ul>
|
|
|
114 |
<li><a href="#V3.66_Documentation">Documentation</a>,
|
|
|
115 |
<a href="#V3.66_Procedures">Procedures</a>,
|
|
|
116 |
<a href="#V3.66_Utilities">Utilities</a>,
|
|
|
117 |
<a href="#V3.66_Drivers">Drivers</a>,
|
|
|
118 |
<a href="#V3.66_Platforms">Platforms</a>,
|
|
|
119 |
<a href="#V3.66_Fonts">Fonts</a>,
|
|
|
120 |
<a href="#V3.66_Interpreter">Interpreter</a>,
|
|
|
121 |
<a href="#V3.66_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
122 |
<a href="#V3.66_Streams">Streams</a>,
|
|
|
123 |
<a href="#V3.66_Library">Library</a>
|
|
|
124 |
</ul>
|
|
|
125 |
<li><a href="#Version3.65">Version 3.65 (limited) (3/9/96)</a>
|
|
|
126 |
<ul>
|
|
|
127 |
<li><a href="#V3.65_Documentation">Documentation</a>,
|
|
|
128 |
<a href="#V3.65_Procedures">Procedures</a>,
|
|
|
129 |
<a href="#V3.65_Utilities">Utilities</a>,
|
|
|
130 |
<a href="#V3.65_Drivers">Drivers</a>,
|
|
|
131 |
<a href="#V3.65_Platforms">Platforms</a>,
|
|
|
132 |
<a href="#V3.65_Interpreter">Interpreter</a>,
|
|
|
133 |
<a href="#V3.65_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
134 |
<a href="#V3.65_Streams">Streams</a>,
|
|
|
135 |
<a href="#V3.65_Library">Library</a>
|
|
|
136 |
</ul>
|
|
|
137 |
<li><a href="#Version3.64">Version 3.64 (limited, incremental) (1/27/96)</a>
|
|
|
138 |
<ul>
|
|
|
139 |
<li><a href="#V3.64_Documentation">Documentation</a>,
|
|
|
140 |
<a href="#V3.64_Procedures">Procedures</a>,
|
|
|
141 |
<a href="#V3.64_Utilities">Utilities</a>,
|
|
|
142 |
<a href="#V3.64_Drivers">Drivers</a>,
|
|
|
143 |
<a href="#V3.64_Platforms">Platforms</a>,
|
|
|
144 |
<a href="#V3.64_Interpreter">Interpreter</a>,
|
|
|
145 |
<a href="#V3.64_Streams">Streams</a>,
|
|
|
146 |
<a href="#V3.64_Library">Library</a>
|
|
|
147 |
</ul>
|
|
|
148 |
<li><a href="#Version3.63">Version 3.63 (limited, incremental) (1/14/96)</a>
|
|
|
149 |
<ul>
|
|
|
150 |
<li><a href="#V3.63_Documentation">Documentation</a>,
|
|
|
151 |
<a href="#V3.63_Procedures">Procedures</a>,
|
|
|
152 |
<a href="#V3.63_Utilities">Utilities</a>,
|
|
|
153 |
<a href="#V3.63_Drivers">Drivers</a>,
|
|
|
154 |
<a href="#V3.63_Platforms">Platforms</a>,
|
|
|
155 |
<a href="#V3.63_Interpreter">Interpreter</a>,
|
|
|
156 |
<a href="#V3.63_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
157 |
<a href="#V3.63_Streams">Streams</a>,
|
|
|
158 |
<a href="#V3.63_Library">Library</a>
|
|
|
159 |
</ul>
|
|
|
160 |
<li><a href="#Version3.62">Version 3.62 (limited, incremental) (12/26/95)</a>
|
|
|
161 |
<ul>
|
|
|
162 |
<li><a href="#V3.62_Documentation">Documentation</a>,
|
|
|
163 |
<a href="#V3.62_Procedures">Procedures</a>,
|
|
|
164 |
<a href="#V3.62_Interpreter">Interpreter</a>,
|
|
|
165 |
<a href="#V3.62_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
166 |
<a href="#V3.62_Library">Library</a>
|
|
|
167 |
</ul>
|
|
|
168 |
<li><a href="#Version3.61">Version 3.61 (limited) (12/10/95)</a>
|
|
|
169 |
<ul>
|
|
|
170 |
<li><a href="#V3.61_Documentation">Documentation</a>,
|
|
|
171 |
<a href="#V3.61_Procedures">Procedures</a>,
|
|
|
172 |
<a href="#V3.61_Utilities">Utilities</a>,
|
|
|
173 |
<a href="#V3.61_Drivers">Drivers</a>,
|
|
|
174 |
<a href="#V3.61_Platforms">Platforms</a>,
|
|
|
175 |
<a href="#V3.61_Fonts">Fonts</a>,
|
|
|
176 |
<a href="#V3.61_Interpreter">Interpreter</a>,
|
|
|
177 |
<a href="#V3.61_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
178 |
<a href="#V3.61_Streams">Streams</a>,
|
|
|
179 |
<a href="#V3.61_Library">Library</a>
|
|
|
180 |
</ul>
|
|
|
181 |
<li><a href="#Version3.60">Version 3.60 (limited) (11/20/95)</a>
|
|
|
182 |
<ul>
|
|
|
183 |
<li><a href="#V3.60_Documentation">Documentation</a>,
|
|
|
184 |
<a href="#V3.60_Procedures">Procedures</a>,
|
|
|
185 |
<a href="#V3.60_Utilities">Utilities</a>,
|
|
|
186 |
<a href="#V3.60_Drivers">Drivers</a>,
|
|
|
187 |
<a href="#V3.60_Platforms">Platforms</a>,
|
|
|
188 |
<a href="#V3.60_Fonts">Fonts</a>,
|
|
|
189 |
<a href="#V3.60_Interpreter">Interpreter</a>,
|
|
|
190 |
<a href="#V3.60_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
191 |
<a href="#V3.60_Streams">Streams</a>,
|
|
|
192 |
<a href="#V3.60_Library">Library</a>
|
|
|
193 |
</ul>
|
|
|
194 |
<li><a href="#Version3.53">Version 3.53 (1/10/96)</a>
|
|
|
195 |
<ul>
|
|
|
196 |
<li><a href="#V3.53_Documentation">Documentation</a>,
|
|
|
197 |
<a href="#V3.53_Procedures">Procedures</a>,
|
|
|
198 |
<a href="#V3.53_Utilities">Utilities</a>,
|
|
|
199 |
<a href="#V3.53_Drivers">Drivers</a>,
|
|
|
200 |
<a href="#V3.53_Platforms">Platforms</a>,
|
|
|
201 |
<a href="#V3.53_Fonts">Fonts</a>,
|
|
|
202 |
<a href="#V3.53_Interpreter">Interpreter</a>,
|
|
|
203 |
<a href="#V3.53_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
204 |
<a href="#V3.53_Streams">Streams</a>,
|
|
|
205 |
<a href="#V3.53_Library">Library</a>
|
|
|
206 |
</ul>
|
|
|
207 |
<li><a href="#Version3.52">Version 3.52 (limited) (10/6/95)</a>
|
|
|
208 |
<ul>
|
|
|
209 |
<li><a href="#V3.52_Procedures">Procedures</a>,
|
|
|
210 |
<a href="#V3.52_Interpreter">Interpreter</a>,
|
|
|
211 |
<a href="#V3.52_Library">Library</a>
|
|
|
212 |
</ul>
|
|
|
213 |
<li><a href="#Version3.51">Version 3.51 (9/27/95)</a>
|
|
|
214 |
<ul>
|
|
|
215 |
<li><a href="#V3.51_Documentation">Documentation</a>,
|
|
|
216 |
<a href="#V3.51_Procedures">Procedures</a>,
|
|
|
217 |
<a href="#V3.51_Utilities">Utilities</a>,
|
|
|
218 |
<a href="#V3.51_Drivers">Drivers</a>,
|
|
|
219 |
<a href="#V3.51_Platforms">Platforms</a>,
|
|
|
220 |
<a href="#V3.51_Interpreter">Interpreter</a>,
|
|
|
221 |
<a href="#V3.51_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
222 |
<a href="#V3.51_Library">Library</a>
|
|
|
223 |
</ul>
|
|
|
224 |
<li><a href="#Version3.50">Version 3.50 (limited) (9/24/95)</a>
|
|
|
225 |
<ul>
|
|
|
226 |
<li><a href="#V3.50_Procedures">Procedures</a>,
|
|
|
227 |
<a href="#V3.50_Utilities">Utilities</a>,
|
|
|
228 |
<a href="#V3.50_Drivers">Drivers</a>,
|
|
|
229 |
<a href="#V3.50_Interpreter">Interpreter</a>,
|
|
|
230 |
<a href="#V3.50_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
231 |
<a href="#V3.50_Library">Library</a>
|
|
|
232 |
</ul>
|
|
|
233 |
<li><a href="#Version3.49">Version 3.49 (limited) (9/20/95)</a>
|
|
|
234 |
<ul>
|
|
|
235 |
<li><a href="#V3.49_Documentation">Documentation</a>,
|
|
|
236 |
<a href="#V3.49_Procedures">Procedures</a>,
|
|
|
237 |
<a href="#V3.49_Drivers">Drivers</a>,
|
|
|
238 |
<a href="#V3.49_Platforms">Platforms</a>,
|
|
|
239 |
<a href="#V3.49_Interpreter">Interpreter</a>,
|
|
|
240 |
<a href="#V3.49_Library">Library</a>
|
|
|
241 |
</ul>
|
|
|
242 |
<li><a href="#Version3.48">Version 3.48 (limited) (9/17/95)</a>
|
|
|
243 |
<ul>
|
|
|
244 |
<li><a href="#V3.48_Documentation">Documentation</a>,
|
|
|
245 |
<a href="#V3.48_Procedures">Procedures</a>,
|
|
|
246 |
<a href="#V3.48_Drivers">Drivers</a>,
|
|
|
247 |
<a href="#V3.48_Platforms">Platforms</a>,
|
|
|
248 |
<a href="#V3.48_Interpreter">Interpreter</a>,
|
|
|
249 |
<a href="#V3.48_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
250 |
<a href="#V3.48_Library">Library</a>
|
|
|
251 |
</ul>
|
|
|
252 |
<li><a href="#Version3.47">Version 3.47 (limited) (9/14/95)</a>
|
|
|
253 |
<ul>
|
|
|
254 |
<li><a href="#V3.47_Documentation">Documentation</a>,
|
|
|
255 |
<a href="#V3.47_Procedures">Procedures</a>,
|
|
|
256 |
<a href="#V3.47_Utilities">Utilities</a>,
|
|
|
257 |
<a href="#V3.47_Drivers">Drivers</a>,
|
|
|
258 |
<a href="#V3.47_Platforms">Platforms</a>,
|
|
|
259 |
<a href="#V3.47_Fonts">Fonts</a>,
|
|
|
260 |
<a href="#V3.47_Interpreter">Interpreter</a>,
|
|
|
261 |
<a href="#V3.47_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
262 |
<a href="#V3.47_Streams">Streams</a>,
|
|
|
263 |
<a href="#V3.47_Library">Library</a>
|
|
|
264 |
</ul>
|
|
|
265 |
<li><a href="#Version3.46">Version 3.46 (limited) (9/4/95)</a>
|
|
|
266 |
<ul>
|
|
|
267 |
<li><a href="#V3.46_Documentation">Documentation</a>,
|
|
|
268 |
<a href="#V3.46_Procedures">Procedures</a>,
|
|
|
269 |
<a href="#V3.46_Utilities">Utilities</a>,
|
|
|
270 |
<a href="#V3.46_Drivers">Drivers</a>,
|
|
|
271 |
<a href="#V3.46_Platforms">Platforms</a>,
|
|
|
272 |
<a href="#V3.46_Interpreter">Interpreter</a>,
|
|
|
273 |
<a href="#V3.46_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
274 |
<a href="#V3.46_Library">Library</a>
|
|
|
275 |
</ul>
|
|
|
276 |
<li><a href="#Version3.45">Version 3.45 (limited) (8/27/95)</a>
|
|
|
277 |
<ul>
|
|
|
278 |
<li><a href="#V3.45_Documentation">Documentation</a>,
|
|
|
279 |
<a href="#V3.45_Procedures">Procedures</a>,
|
|
|
280 |
<a href="#V3.45_Utilities">Utilities</a>,
|
|
|
281 |
<a href="#V3.45_Drivers">Drivers</a>,
|
|
|
282 |
<a href="#V3.45_Platforms">Platforms</a>,
|
|
|
283 |
<a href="#V3.45_Interpreter">Interpreter</a>,
|
|
|
284 |
<a href="#V3.45_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
285 |
<a href="#V3.45_Streams">Streams</a>,
|
|
|
286 |
<a href="#V3.45_Library">Library</a>
|
|
|
287 |
</ul>
|
|
|
288 |
<li><a href="#Version3.44">Version 3.44 (limited) (8/21/95)</a>
|
|
|
289 |
<ul>
|
|
|
290 |
<li><a href="#V3.44_Documentation">Documentation</a>,
|
|
|
291 |
<a href="#V3.44_Procedures">Procedures</a>,
|
|
|
292 |
<a href="#V3.44_Utilities">Utilities</a>,
|
|
|
293 |
<a href="#V3.44_Drivers">Drivers</a>,
|
|
|
294 |
<a href="#V3.44_Platforms">Platforms</a>,
|
|
|
295 |
<a href="#V3.44_Interpreter">Interpreter</a>,
|
|
|
296 |
<a href="#V3.44_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
297 |
<a href="#V3.44_Library">Library</a>
|
|
|
298 |
</ul>
|
|
|
299 |
<li><a href="#Version3.43">Version 3.43 (limited) (8/10/95)</a>
|
|
|
300 |
<ul>
|
|
|
301 |
<li><a href="#V3.43_Documentation">Documentation</a>,
|
|
|
302 |
<a href="#V3.43_Procedures">Procedures</a>,
|
|
|
303 |
<a href="#V3.43_Platforms">Platforms</a>,
|
|
|
304 |
<a href="#V3.43_Fonts">Fonts</a>,
|
|
|
305 |
<a href="#V3.43_Interpreter">Interpreter</a>,
|
|
|
306 |
<a href="#V3.43_Streams">Streams</a>,
|
|
|
307 |
<a href="#V3.43_Library">Library</a>
|
|
|
308 |
</ul>
|
|
|
309 |
<li><a href="#Version3.42">Version 3.42 (limited) (8/2/95)</a>
|
|
|
310 |
<ul>
|
|
|
311 |
<li><a href="#V3.42_Documentation">Documentation</a>,
|
|
|
312 |
<a href="#V3.42_Procedures">Procedures</a>,
|
|
|
313 |
<a href="#V3.42_Platforms">Platforms</a>,
|
|
|
314 |
<a href="#V3.42_Interpreter">Interpreter</a>,
|
|
|
315 |
<a href="#V3.42_Streams">Streams</a>,
|
|
|
316 |
<a href="#V3.42_Library">Library</a>
|
|
|
317 |
</ul>
|
|
|
318 |
<li><a href="#Version3.41">Version 3.41 (limited) (7/27/95)</a>
|
|
|
319 |
<ul>
|
|
|
320 |
<li><a href="#V3.41_Documentation">Documentation</a>,
|
|
|
321 |
<a href="#V3.41_Procedures">Procedures</a>,
|
|
|
322 |
<a href="#V3.41_Utilities">Utilities</a>,
|
|
|
323 |
<a href="#V3.41_Drivers">Drivers</a>,
|
|
|
324 |
<a href="#V3.41_Platforms">Platforms</a>,
|
|
|
325 |
<a href="#V3.41_Fonts">Fonts</a>,
|
|
|
326 |
<a href="#V3.41_Interpreter">Interpreter</a>,
|
|
|
327 |
<a href="#V3.41_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
328 |
<a href="#V3.41_Streams">Streams</a>,
|
|
|
329 |
<a href="#V3.41_Library">Library</a>
|
|
|
330 |
</ul>
|
|
|
331 |
<li><a href="#Version3.40">Version 3.40 (limited) (6/28/95)</a>
|
|
|
332 |
<ul>
|
|
|
333 |
<li><a href="#V3.40_Documentation">Documentation</a>,
|
|
|
334 |
<a href="#V3.40_Procedures">Procedures</a>,
|
|
|
335 |
<a href="#V3.40_Utilities">Utilities</a>,
|
|
|
336 |
<a href="#V3.40_Platforms">Platforms</a>,
|
|
|
337 |
<a href="#V3.40_Interpreter">Interpreter</a>,
|
|
|
338 |
<a href="#V3.40_Streams">Streams</a>,
|
|
|
339 |
<a href="#V3.40_Library">Library</a>
|
|
|
340 |
</ul>
|
|
|
341 |
<li><a href="#Version3.39">Version 3.39 (limited) (6/24/95)</a>
|
|
|
342 |
<ul>
|
|
|
343 |
<li><a href="#V3.39_Documentation">Documentation</a>,
|
|
|
344 |
<a href="#V3.39_Procedures">Procedures</a>,
|
|
|
345 |
<a href="#V3.39_Utilities">Utilities</a>,
|
|
|
346 |
<a href="#V3.39_Platforms">Platforms</a>,
|
|
|
347 |
<a href="#V3.39_Fonts">Fonts</a>,
|
|
|
348 |
<a href="#V3.39_Interpreter">Interpreter</a>,
|
|
|
349 |
<a href="#V3.39_Streams">Streams</a>,
|
|
|
350 |
<a href="#V3.39_Library">Library</a>
|
|
|
351 |
</ul>
|
|
|
352 |
<li><a href="#Version3.38">Version 3.38 (limited) (6/18/95)</a>
|
|
|
353 |
<ul>
|
|
|
354 |
<li><a href="#V3.38_Documentation">Documentation</a>,
|
|
|
355 |
<a href="#V3.38_Procedures">Procedures</a>,
|
|
|
356 |
<a href="#V3.38_Utilities">Utilities</a>,
|
|
|
357 |
<a href="#V3.38_Drivers">Drivers</a>,
|
|
|
358 |
<a href="#V3.38_Platforms">Platforms</a>,
|
|
|
359 |
<a href="#V3.38_Fonts">Fonts</a>,
|
|
|
360 |
<a href="#V3.38_Interpreter">Interpreter</a>,
|
|
|
361 |
<a href="#V3.38_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
362 |
<a href="#V3.38_Streams">Streams</a>,
|
|
|
363 |
<a href="#V3.38_Library">Library</a>
|
|
|
364 |
</ul>
|
|
|
365 |
<li><a href="#Version3.37">Version 3.37 (limited) (5/11/95)</a>
|
|
|
366 |
<ul>
|
|
|
367 |
<li><a href="#V3.37_Documentation">Documentation</a>,
|
|
|
368 |
<a href="#V3.37_Procedures">Procedures</a>,
|
|
|
369 |
<a href="#V3.37_Utilities">Utilities</a>,
|
|
|
370 |
<a href="#V3.37_Drivers">Drivers</a>,
|
|
|
371 |
<a href="#V3.37_Fonts">Fonts</a>,
|
|
|
372 |
<a href="#V3.37_Interpreter_PostScript">Interpreter (PostScript)</a>,
|
|
|
373 |
<a href="#V3.37_Interpreter_PDF">Interpreter (PDF)</a>
|
|
|
374 |
</ul>
|
|
|
375 |
<li><a href="#Version3.36">Version 3.36 (limited) (5/4/95)</a>
|
|
|
376 |
<ul>
|
|
|
377 |
<li><a href="#V3.36_Documentation">Documentation</a>,
|
|
|
378 |
<a href="#V3.36_Procedures">Procedures</a>,
|
|
|
379 |
<a href="#V3.36_Drivers">Drivers</a>,
|
|
|
380 |
<a href="#V3.36_Interpreter">Interpreter</a>,
|
|
|
381 |
<a href="#V3.36_Library">Library</a>
|
|
|
382 |
</ul>
|
|
|
383 |
<li><a href="#Version3.35">Version 3.35 (internal) (5/2/95)</a>
|
|
|
384 |
<ul>
|
|
|
385 |
<li><a href="#V3.35_Documentation">Documentation</a>,
|
|
|
386 |
<a href="#V3.35_Procedures">Procedures</a>,
|
|
|
387 |
<a href="#V3.35_Utilities">Utilities</a>,
|
|
|
388 |
<a href="#V3.35_Drivers">Drivers</a>,
|
|
|
389 |
<a href="#V3.35_Platforms">Platforms</a>,
|
|
|
390 |
<a href="#V3.35_Fonts">Fonts</a>,
|
|
|
391 |
<a href="#V3.35_Interpreter">Interpreter</a>,
|
|
|
392 |
<a href="#V3.35_Library">Library</a>
|
|
|
393 |
</ul>
|
|
|
394 |
<li><a href="#Version3.34">Version 3.34 (internal) (4/18/95)</a>
|
|
|
395 |
<ul>
|
|
|
396 |
<li><a href="#V3.34_Documentation">Documentation</a>,
|
|
|
397 |
<a href="#V3.34_Procedures">Procedures</a>,
|
|
|
398 |
<a href="#V3.34_Interpreter">Interpreter</a>,
|
|
|
399 |
<a href="#V3.34_Library">Library</a>
|
|
|
400 |
</ul>
|
|
|
401 |
<li><a href="#Version3.33">Version 3.33 (4/13/95)</a>
|
|
|
402 |
<ul>
|
|
|
403 |
<li><a href="#V3.33_Documentation">Documentation</a>,
|
|
|
404 |
<a href="#V3.33_Procedures">Procedures</a>,
|
|
|
405 |
<a href="#V3.33_Utilities">Utilities</a>,
|
|
|
406 |
<a href="#V3.33_Drivers">Drivers</a>,
|
|
|
407 |
<a href="#V3.33_Platforms">Platforms</a>,
|
|
|
408 |
<a href="#V3.33_Fonts">Fonts</a>,
|
|
|
409 |
<a href="#V3.33_Library">Library</a>
|
|
|
410 |
</ul>
|
|
|
411 |
<li><a href="#Version3.32">Version 3.32 (4/7/95)</a>
|
|
|
412 |
<ul>
|
|
|
413 |
<li><a href="#V3.32_Documentation">Documentation</a>,
|
|
|
414 |
<a href="#V3.32_Procedures">Procedures</a>,
|
|
|
415 |
<a href="#V3.32_Utilities">Utilities</a>,
|
|
|
416 |
<a href="#V3.32_Drivers">Drivers</a>,
|
|
|
417 |
<a href="#V3.32_Platforms">Platforms</a>,
|
|
|
418 |
<a href="#V3.32_Interpreter">Interpreter</a>,
|
|
|
419 |
<a href="#V3.32_Streams">Streams</a>,
|
|
|
420 |
<a href="#V3.32_Library">Library</a>
|
|
|
421 |
</ul>
|
|
|
422 |
<li><a href="#Version3.31">Version 3.31 (4/2/95)</a>
|
|
|
423 |
<ul>
|
|
|
424 |
<li><a href="#V3.31_Documentation">Documentation</a>,
|
|
|
425 |
<a href="#V3.31_Procedures">Procedures</a>,
|
|
|
426 |
<a href="#V3.31_Utilities">Utilities</a>,
|
|
|
427 |
<a href="#V3.31_Drivers">Drivers</a>,
|
|
|
428 |
<a href="#V3.31_Platforms">Platforms</a>,
|
|
|
429 |
<a href="#V3.31_Interpreter">Interpreter</a>,
|
|
|
430 |
<a href="#V3.31_Streams">Streams</a>,
|
|
|
431 |
<a href="#V3.31_Library">Library</a>
|
|
|
432 |
</ul>
|
|
|
433 |
<li><a href="#Version3.30">Version 3.30 (beta) (3/21/95)</a>
|
|
|
434 |
<ul>
|
|
|
435 |
<li><a href="#V3.30_Documentation">Documentation</a>,
|
|
|
436 |
<a href="#V3.30_Utilities">Utilities</a>,
|
|
|
437 |
<a href="#V3.30_Drivers">Drivers</a>,
|
|
|
438 |
<a href="#V3.30_Interpreter_PostScript">Interpreter (PostScript)</a>,
|
|
|
439 |
<a href="#V3.30_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
440 |
<a href="#V3.30_Library">Library</a>
|
|
|
441 |
</ul>
|
|
|
442 |
<li><a href="#Version3.29">Version 3.29 (internal) (3/8/95)</a>
|
|
|
443 |
<ul>
|
|
|
444 |
<li><a href="#V3.29_Documentation">Documentation</a>,
|
|
|
445 |
<a href="#V3.29_Procedures">Procedures</a>,
|
|
|
446 |
<a href="#V3.29_Utilities">Utilities</a>,
|
|
|
447 |
<a href="#V3.29_Fonts">Fonts</a>,
|
|
|
448 |
<a href="#V3.29_Drivers">Drivers</a>,
|
|
|
449 |
<a href="#V3.29_Interpreter_PostScript">Interpreter (PostScript)</a>,
|
|
|
450 |
<a href="#V3.29_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
451 |
<a href="#V3.29_Streams">Streams</a>,
|
|
|
452 |
<a href="#V3.29_Library">Library</a>
|
|
|
453 |
</ul>
|
|
|
454 |
<li><a href="#Version3.28">Version 3.28 (beta) (2/13/95)</a>
|
|
|
455 |
<ul>
|
|
|
456 |
<li><a href="#V3.28_Documentation">Documentation</a>,
|
|
|
457 |
<a href="#V3.28_Procedures">Procedures</a>,
|
|
|
458 |
<a href="#V3.28_Utilities">Utilities</a>,
|
|
|
459 |
<a href="#V3.28_Drivers">Drivers</a>,
|
|
|
460 |
<a href="#V3.28_Interpreter">Interpreter</a>,
|
|
|
461 |
<a href="#V3.28_Library">Library</a>
|
|
|
462 |
</ul>
|
|
|
463 |
<li><a href="#Version3.27">Version 3.27 (beta)(withdrawn) (2/8/95)</a>
|
|
|
464 |
<ul>
|
|
|
465 |
<li><a href="#V3.27_Documentation">Documentation</a>,
|
|
|
466 |
<a href="#V3.27_Procedures">Procedures</a>,
|
|
|
467 |
<a href="#V3.27_Utilities">Utilities</a>,
|
|
|
468 |
<a href="#V3.27_Drivers">Drivers</a>,
|
|
|
469 |
<a href="#V3.27_Platforms">Platforms</a>,
|
|
|
470 |
<a href="#V3.27_Fonts">Fonts</a>,
|
|
|
471 |
<a href="#V3.27_Interpreter">Interpreter</a>,
|
|
|
472 |
<a href="#V3.27_Streams">Streams</a>,
|
|
|
473 |
<a href="#V3.27_Library">Library</a>
|
|
|
474 |
</ul>
|
|
|
475 |
<li><a href="#Version3.26">Version 3.26 (beta) (2/1/95)</a>
|
|
|
476 |
<ul>
|
|
|
477 |
<li><a href="#V3.26_Documentation">Documentation</a>,
|
|
|
478 |
<a href="#V3.26_Procedures">Procedures</a>,
|
|
|
479 |
<a href="#V3.26_Utilities">Utilities</a>,
|
|
|
480 |
<a href="#V3.26_Drivers">Drivers</a>,
|
|
|
481 |
<a href="#V3.26_Platforms">Platforms</a>,
|
|
|
482 |
<a href="#V3.26_Interpreter">Interpreter</a>,
|
|
|
483 |
<a href="#V3.26_Streams">Streams</a>,
|
|
|
484 |
<a href="#V3.26_Library">Library</a>
|
|
|
485 |
</ul>
|
|
|
486 |
<li><a href="#Version3.25">Version 3.25 (beta) (1/24/95)</a>
|
|
|
487 |
<ul>
|
|
|
488 |
<li><a href="#V3.25_Documentation">Documentation</a>,
|
|
|
489 |
<a href="#V3.25_Procedures">Procedures</a>,
|
|
|
490 |
<a href="#V3.25_Drivers">Drivers</a>,
|
|
|
491 |
<a href="#V3.25_Platforms">Platforms</a>,
|
|
|
492 |
<a href="#V3.25_Interpreter">Interpreter</a>,
|
|
|
493 |
<a href="#V3.25_Library">Library</a>
|
|
|
494 |
</ul>
|
|
|
495 |
<li><a href="#Version3.24">Version 3.24 (beta) (1/17/95)</a>
|
|
|
496 |
<ul>
|
|
|
497 |
<li><a href="#V3.24_Documentation">Documentation</a>,
|
|
|
498 |
<a href="#V3.24_Procedures">Procedures</a>,
|
|
|
499 |
<a href="#V3.24_Drivers">Drivers</a>,
|
|
|
500 |
<a href="#V3.24_Platforms">Platforms</a>,
|
|
|
501 |
<a href="#V3.24_Fonts">Fonts</a>,
|
|
|
502 |
<a href="#V3.24_Interpreter">Interpreter</a>,
|
|
|
503 |
<a href="#V3.24_Interpreter_PostScript">Interpreter (PostScript)</a>,
|
|
|
504 |
<a href="#V3.24_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
505 |
<a href="#V3.24_Streams">Streams</a>,
|
|
|
506 |
<a href="#V3.24_Library">Library</a>
|
|
|
507 |
</ul>
|
|
|
508 |
<li><a href="#Version3.23">Version 3.23 (beta) (1/5/95)</a>
|
|
|
509 |
<ul>
|
|
|
510 |
<li><a href="#V3.23_Documentation">Documentation</a>,
|
|
|
511 |
<a href="#V3.23_Procedures">Procedures</a>,
|
|
|
512 |
<a href="#V3.23_Utilities">Utilities</a>,
|
|
|
513 |
<a href="#V3.23_Drivers">Drivers</a>,
|
|
|
514 |
<a href="#V3.23_Platforms">Platforms</a>,
|
|
|
515 |
<a href="#V3.23_Fonts">Fonts</a>,
|
|
|
516 |
<a href="#V3.23_Interpreter_PostScript">Interpreter (PostScript)</a>,
|
|
|
517 |
<a href="#V3.23_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
518 |
<a href="#V3.23_Streams">Streams</a>,
|
|
|
519 |
<a href="#V3.23_Library">Library</a>
|
|
|
520 |
</ul>
|
|
|
521 |
<li><a href="#Version3.22">Version 3.22 (beta) (11/30/94)</a>
|
|
|
522 |
<ul>
|
|
|
523 |
<li><a href="#V3.22_Procedures">Procedures</a>,
|
|
|
524 |
<a href="#V3.22_Drivers">Drivers</a>,
|
|
|
525 |
<a href="#V3.22_Platforms">Platforms</a>,
|
|
|
526 |
<a href="#V3.22_Fonts">Fonts</a>,
|
|
|
527 |
<a href="#V3.22_Interpreter">Interpreter</a>,
|
|
|
528 |
<a href="#V3.22_Streams">Streams</a>,
|
|
|
529 |
<a href="#V3.22_Library">Library</a>
|
|
|
530 |
</ul>
|
|
|
531 |
<li><a href="#Version3.21">Version 3.21 (beta) (11/17/94)</a>
|
|
|
532 |
<ul>
|
|
|
533 |
<li><a href="#V3.21_Documentation">Documentation</a>,
|
|
|
534 |
<a href="#V3.21_Procedures">Procedures</a>,
|
|
|
535 |
<a href="#V3.21_Utilities">Utilities</a>,
|
|
|
536 |
<a href="#V3.21_Drivers">Drivers</a>,
|
|
|
537 |
<a href="#V3.21_Platforms">Platforms</a>,
|
|
|
538 |
<a href="#V3.21_Fonts">Fonts</a>,
|
|
|
539 |
<a href="#V3.21_Interpreter">Interpreter</a>,
|
|
|
540 |
<a href="#V3.21_Streams">Streams</a>,
|
|
|
541 |
<a href="#V3.21_Library">Library</a>
|
|
|
542 |
</ul>
|
|
|
543 |
<li><a href="#Version3.20">Version 3.20 (beta) (10/31/94)</a>
|
|
|
544 |
<ul>
|
|
|
545 |
<li><a href="#V3.20_Documentation">Documentation</a>,
|
|
|
546 |
<a href="#V3.20_Procedures">Procedures</a>,
|
|
|
547 |
<a href="#V3.20_Utilities">Utilities</a>,
|
|
|
548 |
<a href="#V3.20_Drivers">Drivers</a>,
|
|
|
549 |
<a href="#V3.20_Platforms">Platforms</a>,
|
|
|
550 |
<a href="#V3.20_Fonts">Fonts</a>,
|
|
|
551 |
<a href="#V3.20_Interpreters">Interpreters</a>,
|
|
|
552 |
<a href="#V3.20_Library">Library</a>
|
|
|
553 |
</ul>
|
|
|
554 |
<li><a href="#Version3.13">Version 3.13(private) (10/3/94)</a>
|
|
|
555 |
<ul>
|
|
|
556 |
<li><a href="#V3.13_Documentation">Documentation</a>,
|
|
|
557 |
<a href="#V3.13_Procedures">Procedures</a>,
|
|
|
558 |
<a href="#V3.13_Utilities">Utilities</a>,
|
|
|
559 |
<a href="#V3.13_Drivers">Drivers</a>,
|
|
|
560 |
<a href="#V3.13_Platforms">Platforms</a>,
|
|
|
561 |
<a href="#V3.13_Fonts">Fonts</a>,
|
|
|
562 |
<a href="#V3.13_Interpreter">Interpreter</a>,
|
|
|
563 |
<a href="#V3.13_Streams">Streams</a>,
|
|
|
564 |
<a href="#V3.13_Library">Library</a>
|
|
|
565 |
</ul>
|
|
|
566 |
<li><a href="#Version3.12">Version 3.12 (9/29/94)</a>
|
|
|
567 |
<ul>
|
|
|
568 |
<li><a href="#V3.12_Documentation">Documentation</a>,
|
|
|
569 |
<a href="#V3.12_Procedures">Procedures</a>,
|
|
|
570 |
<a href="#V3.12_Drivers">Drivers</a>,
|
|
|
571 |
<a href="#V3.12_Platforms">Platforms</a>,
|
|
|
572 |
<a href="#V3.12_Interpreter">Interpreter</a>,
|
|
|
573 |
<a href="#V3.12_Streams">Streams</a>,
|
|
|
574 |
<a href="#V3.12_Library">Library</a>
|
|
|
575 |
</ul>
|
|
|
576 |
<li><a href="#Version3.1.1">Version 3.1.1 (9/25/94)</a>
|
|
|
577 |
<ul>
|
|
|
578 |
<li><a href="#V3.1.1_Documentation">Documentation</a>,
|
|
|
579 |
<a href="#V3.1.1_Procedures">Procedures</a>,
|
|
|
580 |
<a href="#V3.1.1_Drivers">Drivers</a>,
|
|
|
581 |
<a href="#V3.1.1_Platforms">Platforms</a>,
|
|
|
582 |
<a href="#V3.1.1_Interpreter">Interpreter</a>
|
|
|
583 |
</ul>
|
|
|
584 |
<li><a href="#Version3.1">Version 3.1 (9/20/94)</a>
|
|
|
585 |
<ul>
|
|
|
586 |
<li><a href="#V3.1_Documentation">Documentation</a>,
|
|
|
587 |
<a href="#V3.1_Procedures">Procedures</a>,
|
|
|
588 |
<a href="#V3.1_Drivers">Drivers</a>,
|
|
|
589 |
<a href="#V3.1_Interpreter">Interpreter</a>,
|
|
|
590 |
<a href="#V3.1_Streams">Streams</a>,
|
|
|
591 |
<a href="#V3.1_Library">Library</a>
|
|
|
592 |
</ul>
|
|
|
593 |
<li><a href="#Version3.0.3">Version 3.0.3 (9/16/94)</a>
|
|
|
594 |
<ul>
|
|
|
595 |
<li><a href="#V3.0.3_Documentation">Documentation</a>,
|
|
|
596 |
<a href="#V3.0.3_Procedures">Procedures</a>,
|
|
|
597 |
<a href="#V3.0.3_Utilities">Utilities</a>,
|
|
|
598 |
<a href="#V3.0.3_Drivers">Drivers</a>,
|
|
|
599 |
<a href="#V3.0.3_Platforms">Platforms</a>,
|
|
|
600 |
<a href="#V3.0.3_Fonts">Fonts</a>,
|
|
|
601 |
<a href="#V3.0.3_Streams">Streams</a>,
|
|
|
602 |
<a href="#V3.0.3_Interpreter">Interpreter</a>,
|
|
|
603 |
<a href="#V3.0.3_Library">Library</a>
|
|
|
604 |
</ul>
|
|
|
605 |
<li><a href="#Version3.02">Version 3.02 (8/30/94)</a>
|
|
|
606 |
<ul>
|
|
|
607 |
<li><a href="#V3.02_Documentation">Documentation</a>,
|
|
|
608 |
<a href="#V3.02_Procedures">Procedures</a>,
|
|
|
609 |
<a href="#V3.02_Utilities">Utilities</a>,
|
|
|
610 |
<a href="#V3.02_Drivers">Drivers</a>,
|
|
|
611 |
<a href="#V3.02_Platforms">Platforms</a>,
|
|
|
612 |
<a href="#V3.02_Fonts">Fonts</a>,
|
|
|
613 |
<a href="#V3.02_Interpreter">Interpreter</a>,
|
|
|
614 |
<a href="#V3.02_Streams">Streams</a>,
|
|
|
615 |
<a href="#V3.02_Library">Library</a>
|
|
|
616 |
</ul>
|
|
|
617 |
<li><a href="#Version3.01">Version 3.01 (8/14/94)</a>
|
|
|
618 |
<ul>
|
|
|
619 |
<li><a href="#V3.01_Documentation">Documentation</a>,
|
|
|
620 |
<a href="#V3.01_Procedures">Procedures</a>,
|
|
|
621 |
<a href="#V3.01_Utilities">Utilities</a>,
|
|
|
622 |
<a href="#V3.01_Drivers">Drivers</a>,
|
|
|
623 |
<a href="#V3.01_Platforms">Platforms</a>,
|
|
|
624 |
<a href="#V3.01_Fonts">Fonts</a>,
|
|
|
625 |
<a href="#V3.01_Interpreter">Interpreter</a>,
|
|
|
626 |
<a href="#V3.01_Streams">Streams</a>,
|
|
|
627 |
<a href="#V3.01_Library">Library</a>
|
|
|
628 |
</ul>
|
|
|
629 |
<li><a href="#Version3.0">Version 3.0 (8/1/94)</a>
|
|
|
630 |
<ul>
|
|
|
631 |
<li><a href="#V3.0_Documentation">Documentation</a>,
|
|
|
632 |
<a href="#V3.0_Procedures">Procedures</a>,
|
|
|
633 |
<a href="#V3.0_Utilities">Utilities</a>,
|
|
|
634 |
<a href="#V3.0_Drivers">Drivers</a>,
|
|
|
635 |
<a href="#V3.0_Platforms">Platforms</a>,
|
|
|
636 |
<a href="#V3.0_Fonts">Fonts</a>,
|
|
|
637 |
<a href="#V3.0_Interpreter">Interpreter</a>,
|
|
|
638 |
<a href="#V3.0_Streams">Streams</a>,
|
|
|
639 |
<a href="#V3.0_Library">Library</a>
|
|
|
640 |
</ul>
|
|
|
641 |
</ul></blockquote>
|
|
|
642 |
|
|
|
643 |
<!-- [1.2 end table of contents] =========================================== -->
|
|
|
644 |
|
|
|
645 |
<!-- [1.3 begin hint] ====================================================== -->
|
|
|
646 |
|
|
|
647 |
<p>
|
|
|
648 |
This document is a history of Ghostscript releases numbered 3.n. For more
|
|
|
649 |
recent changes, see the the other history documents and, for the latest
|
|
|
650 |
versions, the news:
|
|
|
651 |
|
|
|
652 |
<blockquote>
|
|
|
653 |
<a href="News.htm">News</a><br>
|
|
|
654 |
<a href="History4.htm">History of Ghostscript versions 4.n</a><br>
|
|
|
655 |
History of Ghostscript versions 3.n (this document)<br>
|
|
|
656 |
<a href="History2.htm">History of Ghostscript versions 2.n</a><br>
|
|
|
657 |
<a href="History1.htm">History of Ghostscript versions 1.n</a>
|
|
|
658 |
</blockquote>
|
|
|
659 |
|
|
|
660 |
<p>For other information, see the <a href="Readme.htm">Ghostscript
|
|
|
661 |
overview</a>.
|
|
|
662 |
|
|
|
663 |
<!-- [1.3 end hint] ======================================================== -->
|
|
|
664 |
|
|
|
665 |
<hr>
|
|
|
666 |
|
|
|
667 |
<!-- [1.0 end visible header] ============================================== -->
|
|
|
668 |
|
|
|
669 |
<h2><a name="Version3.70p1"></a>Version 3.70 patch 1 (6/24/96)</h2>
|
|
|
670 |
|
|
|
671 |
<p>
|
|
|
672 |
This contains a few last-minute patches before the release.
|
|
|
673 |
|
|
|
674 |
<h3><a name="V3.70p1_Procedures"></a>Procedures</h3><pre>
|
|
|
675 |
Comments out the color inkjet drivers in the cc-based makefile, because a
|
|
|
676 |
bug in Sun's cc prevents them from compiling. (cc-head.mak)
|
|
|
677 |
|
|
|
678 |
</pre><h3><a name="V3.70p1_Drivers"></a>Drivers</h3><pre>
|
|
|
679 |
Fixes bugs:
|
|
|
680 |
- The os2prn driver smashed memory. (gdevos2p.c)
|
|
|
681 |
- Some initialized structures weren't declared 'static'.
|
|
|
682 |
(gdevpdf.c, gdevpdfm.c)
|
|
|
683 |
- The PNG driver wouldn't compile with some older versions of the
|
|
|
684 |
PNG library. (gdevpng.c)
|
|
|
685 |
|
|
|
686 |
</pre>
|
|
|
687 |
|
|
|
688 |
<h2><a name="Version3.70"></a>Version 3.70 (limited) (6/23/96)</h2>
|
|
|
689 |
|
|
|
690 |
<p>
|
|
|
691 |
This is the candidate fileset for 4.0. Aside from one optimization
|
|
|
692 |
for the PDF writer, the only changes are bug fixes.
|
|
|
693 |
|
|
|
694 |
<h3><a name="V3.70_Documentation"></a>Documentation</h3><pre>
|
|
|
695 |
|
|
|
696 |
Renames all the documentation files from *.doc to *.txt, since the .doc
|
|
|
697 |
extension didn't give any information about the format of the file.
|
|
|
698 |
(readme, *.doc, *.txt)
|
|
|
699 |
|
|
|
700 |
Notes that IJG JPEG library v6[a] is now required. (jpeg.mak)
|
|
|
701 |
|
|
|
702 |
Brings ps2pdf.1 up to date. (ps2pdf.1)
|
|
|
703 |
|
|
|
704 |
Adds a new file describing Aladdin's C coding practices. (c-style.txt)
|
|
|
705 |
|
|
|
706 |
Updates the man pages to refer to version 4.0. (gs.1, pdf2ps.1, ps2ascii.1,
|
|
|
707 |
ps2pdf.1)
|
|
|
708 |
|
|
|
709 |
</pre><h3><a name="V3.70_Procedures"></a>Procedures</h3><pre>
|
|
|
710 |
|
|
|
711 |
Changes some file names to fit within the MS-DOS 8.3 limit. (gs.mak)
|
|
|
712 |
|
|
|
713 |
Adds the PDF writer to the remaining 32-bit configurations (Watcom, OS/2,
|
|
|
714 |
MSC). (watc.mak, watcwin.mak, os2.mak, msc.mak, msvcwint.mak)
|
|
|
715 |
|
|
|
716 |
Changes the -sFONTMAP= switch so it can take a list of font names, like a
|
|
|
717 |
search path. (use.txt)
|
|
|
718 |
|
|
|
719 |
</pre><h3><a name="V3.70_Drivers"></a>Drivers</h3><pre>
|
|
|
720 |
|
|
|
721 |
Fixes bugs:
|
|
|
722 |
- Signed and unsigned values were mixed inconsistently. (gdevcdj.c)
|
|
|
723 |
- PDF files could contain e-format floating point numbers, which the
|
|
|
724 |
PDF specification doesn't allow. (gdevpdfx.h, gdevpdf*.c)
|
|
|
725 |
- The PDF writer didn't handle glyphshow properly. (gs_pdfwr.ps)
|
|
|
726 |
- The PDF writer did the wrong thing with fonts whose FontMatrix had
|
|
|
727 |
a non-zero translation component. (gs_pdfwr.ps, gdevpdft.c)
|
|
|
728 |
- The stand-alone bounding box device could crash when setting
|
|
|
729 |
parameters. (gdevbbox.c)
|
|
|
730 |
- The mswinpr2 driver smashed memory. (gdevwpr2.c)
|
|
|
731 |
|
|
|
732 |
Changes the PDF writer so that if it encounters a re-encoded character, it
|
|
|
733 |
tries to map it to an encoded character in the standard (ISO Latin-1)
|
|
|
734 |
encoding rather than converting the entire string containing it to a bitmap.
|
|
|
735 |
This dramatically improves output file size for files with a few divergently
|
|
|
736 |
encoded characters, but it may cause the text in the PDF file to differ from
|
|
|
737 |
the text in the PostScript input. (gdevpdft.c)
|
|
|
738 |
|
|
|
739 |
Disallows BitsPerPixel=16 in the MS Windows and OS/2 drivers, since this bit
|
|
|
740 |
depth is not supported by Windows and would require special extra buffering.
|
|
|
741 |
(install.txt, dwtext.h, dwtext.cpp, gdevmswn.c, gdevpm.c, gdevwpr2.c)
|
|
|
742 |
|
|
|
743 |
</pre><h3><a name="V3.70_Platforms"></a>Platforms</h3><pre>
|
|
|
744 |
|
|
|
745 |
Fixes bugs:
|
|
|
746 |
- On the PC platforms, file names weren't changed to reflect the
|
|
|
747 |
value of CONFIG. (gs.mak, bc*.mak, ms*.mak, os2.mak, tc*.mak, watc*.mak,
|
|
|
748 |
wccommon.mak)
|
|
|
749 |
|
|
|
750 |
Modifies some makefiles for greater reusability. (bclib.mak, watclib.mak)
|
|
|
751 |
|
|
|
752 |
</pre><h3><a name="V3.70_Fonts"></a>Fonts</h3><pre>
|
|
|
753 |
|
|
|
754 |
Changes the font searching rules in the following NON-BACKWARD-COMPATIBLE
|
|
|
755 |
way: (gs_fonts.ps, gs_res.ps)
|
|
|
756 |
- -sFONTMAP=files specifies a list of files containing fontmaps;
|
|
|
757 |
previously, it specified only a single fontmap file.
|
|
|
758 |
- If -sFONTMAP= is not used, the interpreter reads the Fontmaps from
|
|
|
759 |
*all* directories on the search path, and does so even if FONTPATH or
|
|
|
760 |
GS_FONTPATH is set; previously, it read only the first Fontmap, and only if
|
|
|
761 |
[GS_]FONTPATH was not set.
|
|
|
762 |
- Fontmap(s) take precedence over [GS_]FONTPATH; previously,
|
|
|
763 |
[GS_]FONTPATH caused Fontmap to be ignored. (You can still force Fontmap to
|
|
|
764 |
be ignored with -dNOFONTMAP.)
|
|
|
765 |
- Earlier [GS_]FONTPATH entries take precedence over later;
|
|
|
766 |
previously, later entries took precedence over earlier. Note that this is
|
|
|
767 |
different from Fontmap: earlier Fontmaps in the search path take precedence
|
|
|
768 |
over later, but within a single Fontmap, later entries take precedence over
|
|
|
769 |
earlier (for backward compatibility).
|
|
|
770 |
- [GS_]FONTPATH is consulted only if there is no Fontmap entry for a
|
|
|
771 |
font, or no Fontmap entry leads to successful loading; previously,
|
|
|
772 |
[GS_]FONTPATH was always consulted at startup.
|
|
|
773 |
- If loading a font fails, the interpreter tries the next Fontmap
|
|
|
774 |
entry; previously, it fell back to font substitution.
|
|
|
775 |
|
|
|
776 |
</pre><h3><a name="V3.70_Interpreter"></a>Interpreter</h3><pre>
|
|
|
777 |
|
|
|
778 |
Fixes bugs:
|
|
|
779 |
- Filters didn't peek ahead for an EOD (see Streams below).
|
|
|
780 |
(zfileio.c, zpaint.c)
|
|
|
781 |
|
|
|
782 |
Splits up a file to allow internal access to user and system parameters even
|
|
|
783 |
in Level 1. (zmisc2.c, zusparam.c)
|
|
|
784 |
|
|
|
785 |
Adds LIBPATH as a predefined name in systemdict. Its value is an array of
|
|
|
786 |
strings comprising the library search path. (imain.c)
|
|
|
787 |
|
|
|
788 |
</pre><h3><a name="V3.70_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
789 |
|
|
|
790 |
Fixes bugs:
|
|
|
791 |
- A Dests dictionary entry with an array (rather than a dictionary)
|
|
|
792 |
value caused an error. (pdf_main.ps)
|
|
|
793 |
- Rotated pages could have incorrect translation and/or clipping.
|
|
|
794 |
(pdf_main.ps)
|
|
|
795 |
|
|
|
796 |
</pre><h3><a name="V3.70_Streams"></a>Streams</h3><pre>
|
|
|
797 |
|
|
|
798 |
Fixes bugs:
|
|
|
799 |
- If a buffer boundary fell just before an EOD, and the client read
|
|
|
800 |
exactly as much data as was present before the EOD, filters didn't consume
|
|
|
801 |
the EOD. (This is required as a tricky consequence of the Adobe
|
|
|
802 |
specification.) (stream.h, strimpl.h, stream.c)
|
|
|
803 |
|
|
|
804 |
</pre><h3><a name="V3.70_Library"></a>Library</h3><pre>
|
|
|
805 |
|
|
|
806 |
Fixes bugs:
|
|
|
807 |
- An extra column of bits could get turned on at the right edge of
|
|
|
808 |
masked or monochrome images. (gximage2.c)
|
|
|
809 |
- Rasterizing very long curves could cause arithmetic errors or
|
|
|
810 |
floating point overflows. (gxpcopy.c)
|
|
|
811 |
- Banding with large line widths could truncate curves or introduce
|
|
|
812 |
spurious lines. (gxclpath.c)
|
|
|
813 |
|
|
|
814 |
</pre>
|
|
|
815 |
|
|
|
816 |
<hr>
|
|
|
817 |
|
|
|
818 |
<h2><a name="Version3.69"></a>Version 3.69 (limited) (6/14/96)</h2>
|
|
|
819 |
|
|
|
820 |
<p>
|
|
|
821 |
More bug fixes, plus one irresistible new feature: the ability to use
|
|
|
822 |
TrueType fonts as freely as Type 1 fonts. Also, one new feature (outside
|
|
|
823 |
clipping) that was needed for Aladdin's PCL XL project. We incremented the
|
|
|
824 |
version number because of the change in trapezoid and path filling (see
|
|
|
825 |
under Library below).
|
|
|
826 |
|
|
|
827 |
<h3><a name="V3.69_Documentation"></a>Documentation</h3><pre>
|
|
|
828 |
Brings documentation about fonts up to date. (fonts.doc)
|
|
|
829 |
|
|
|
830 |
Updates current.doc to reflect changes since 3.53. (current.doc)
|
|
|
831 |
|
|
|
832 |
Updates the DLL documentation to reflect recent changes. (dll.doc)
|
|
|
833 |
|
|
|
834 |
Documents a workaround for the code generation bug in gcc 2.7.x. (make.doc)
|
|
|
835 |
|
|
|
836 |
Changes the contact information for potential commercial customers in
|
|
|
837 |
Europe. (new-user.doc)
|
|
|
838 |
|
|
|
839 |
Updates the OS/2 documentation to make it current. (install.doc, make.doc)
|
|
|
840 |
|
|
|
841 |
Documents -dCOLORSCREEN=0. (use.doc)
|
|
|
842 |
|
|
|
843 |
</pre><h3><a name="V3.69_Procedures"></a>Procedures</h3><pre>
|
|
|
844 |
|
|
|
845 |
Fixes bugs:
|
|
|
846 |
- 'make clean' didn't work in the Watcom environment.
|
|
|
847 |
(wmakebat.bat, gs.mak, msc.mak, msvcwint.mak, os2.mak, tccommon.mak,
|
|
|
848 |
unixhead.mak, wccommon.mak)
|
|
|
849 |
- The X11 libraries were listed in an incorrect order.
|
|
|
850 |
(ansihead.mak, cc-head.mak, gcc-head.mak, ugcclib.mak, unix-end.mak)
|
|
|
851 |
- The OS/2 makefile didn't ignore errors from `erase' commands.
|
|
|
852 |
(os2.mak)
|
|
|
853 |
|
|
|
854 |
Adds the PDF writer to the 32-bit MS Windows configuration. (bcwin32.mak)
|
|
|
855 |
|
|
|
856 |
Adds the PNG drivers to the 32-bit MS Windows platform, since they now
|
|
|
857 |
compile properly. (bcwin32.mak)
|
|
|
858 |
|
|
|
859 |
Changes the ttfont feature so that it refers to support for direct usage of
|
|
|
860 |
TrueType fonts; puts support for Type 42 fonts into a separate feature
|
|
|
861 |
(type42). (gs.mak, int.mak)
|
|
|
862 |
|
|
|
863 |
Adds direct TrueType font support to the Windows platforms. (bcwin.mak,
|
|
|
864 |
bcwin32.mak)
|
|
|
865 |
|
|
|
866 |
Rewrites vms.mak to be structured more like the other makefiles. (vms.mak,
|
|
|
867 |
modules.lis)
|
|
|
868 |
|
|
|
869 |
Makes the device lists in vms-*.mak the same as those for the Unix
|
|
|
870 |
configurations. (vms-cc.mak, vms-decc.mak, vms-gcc.mak)
|
|
|
871 |
|
|
|
872 |
Changes the default X library directory for gcc to /usr/X11/lib.
|
|
|
873 |
(gcc-head.mak)
|
|
|
874 |
|
|
|
875 |
Adds the list of devices to --help, since HylaFax depends on this.
|
|
|
876 |
(imainarg.c)
|
|
|
877 |
|
|
|
878 |
Adds -dCOLORSCREEN=0 to indicate use of 4 separate color screens with the
|
|
|
879 |
same frequency and angle. (gs_init.ps)
|
|
|
880 |
|
|
|
881 |
</pre><h3><a name="V3.69_Utilities"></a>Utilities</h3><pre>
|
|
|
882 |
|
|
|
883 |
Fixes bugs:
|
|
|
884 |
- When ps2epsi encountered a blank page, it called the
|
|
|
885 |
(undocumented) .quit operator with only one argument, causing a stack
|
|
|
886 |
underflow. (ps2epsi.ps)
|
|
|
887 |
- An extraneous file was included in the fileset. (checkacc.ps)
|
|
|
888 |
- A file was omitted from the fileset. (bench.c)
|
|
|
889 |
- Images in PostScript files produced by pdf2ps were processed about
|
|
|
890 |
50 times slower than they should have been. (gs_pdf.ps)
|
|
|
891 |
|
|
|
892 |
</pre><h3><a name="V3.69_Drivers"></a>Drivers</h3><pre>
|
|
|
893 |
|
|
|
894 |
Fixes bugs:
|
|
|
895 |
- An #include was omitted. (gdevpdfi.c)
|
|
|
896 |
- The BJC driver could get into an inconsistent state. (gdevcdj.c)
|
|
|
897 |
- Braces were omitted around the values for two initialized byte
|
|
|
898 |
arrays. (gdevpcx.c)
|
|
|
899 |
- A function used 'float' in its argument list, causing problems in
|
|
|
900 |
mixed ANSI/non-ANSI compilation. (gdevcdj.c)
|
|
|
901 |
- signed and unsigned char pointers were used inconsistently.
|
|
|
902 |
(gdevcdj.c, gdevcgml.c)
|
|
|
903 |
- Some header files weren't protected against double inclusion.
|
|
|
904 |
(gdevprn.h, gdevtifs.h)
|
|
|
905 |
- The 24-bit PNG driver included unnecessary copies of the color
|
|
|
906 |
mapping procedures. (gdevpng.c)
|
|
|
907 |
|
|
|
908 |
Fixes bugs in the PDF writer:
|
|
|
909 |
- The PDF writer sometimes produced a double // in front of a filter
|
|
|
910 |
name. (gdevpdfi.c)
|
|
|
911 |
- The PDF writer produced zero-width, zero-height images for
|
|
|
912 |
non-standard fonts. (bug introduced since 3.68) (gdevpdfi.c)
|
|
|
913 |
- The PDF writer got confused if the input file invoked
|
|
|
914 |
setpagedevice. (gdevpdfp.c)
|
|
|
915 |
- The PDF writer put annotations on the page after the one they were
|
|
|
916 |
supposed to be on. (gdevpdf.c)
|
|
|
917 |
- The PDF writer sometimes failed to set the font when needed.
|
|
|
918 |
(gdevpdf.c)
|
|
|
919 |
- The PDF writer could produce in-line images that were too large.
|
|
|
920 |
(gdevpdfi.c)
|
|
|
921 |
- The PDF writer didn't scale explicit character and word spacing
|
|
|
922 |
(ashow/widthshow/awidthshow) properly. (gdevpdft.c)
|
|
|
923 |
- The PDF writer didn't copy named destination or article title
|
|
|
924 |
strings, possibly leading to dangling pointers. (gdevpdf.c, gdevpdfm.c)
|
|
|
925 |
- The PDF writer produced incorrect output for re-encoded fonts.
|
|
|
926 |
(It now converts any string containing characters in non-standard positions
|
|
|
927 |
to bitmaps; this will be fixed in a later release.) (gs_pdfwr.ps,
|
|
|
928 |
gdevpdfx.h, gdevpdfp.c, gdevpdft.c)
|
|
|
929 |
|
|
|
930 |
Updates a few drivers for the change in the handling of band device
|
|
|
931 |
procedures. (gdevcp50.c, gdevdjet.c)
|
|
|
932 |
|
|
|
933 |
Updates the X Windows driver for strip halftones. (gdevx.c)
|
|
|
934 |
|
|
|
935 |
Adds anti-aliasing capability to the os2pm device. (gdevpm.c)
|
|
|
936 |
|
|
|
937 |
Increases the sizes of some tables in the PDF writer. (gdevpdfx.h)
|
|
|
938 |
|
|
|
939 |
</pre><h3><a name="V3.69_Platforms"></a>Platforms</h3><pre>
|
|
|
940 |
|
|
|
941 |
Fixes bugs:
|
|
|
942 |
- A patch for the MS Windows platform was accidentally omitted.
|
|
|
943 |
(gp_mswin.c)
|
|
|
944 |
- A block of code was accidentally duplicated. (dwmain.cpp)
|
|
|
945 |
- An identifier exceeded VAX VMS C's limit of 31 characters.
|
|
|
946 |
(gscspace.h)
|
|
|
947 |
- File name enumeration didn't work properly on Unix systems
|
|
|
948 |
(still/again). (gp_unifs.c)
|
|
|
949 |
- On MS Windows, If you closed Ghostscript with the system menu, you
|
|
|
950 |
only closed the text window; Ghostscript kept running and you had to use the
|
|
|
951 |
task manager to kill it. (dwmain.cpp, dwmainc.cpp, dwtext.cpp)
|
|
|
952 |
- Some DLL-related typedefs were not consistent. (dwdll.h, gsdll.h,
|
|
|
953 |
dpmainc.c, dwdll.cpp)
|
|
|
954 |
- Attempts to call the DLL before it was initialized were not
|
|
|
955 |
detected. (gsdll.c)
|
|
|
956 |
- Bitmap line lengths were rounded up even on 32-bit Windows, which
|
|
|
957 |
doesn't want this. (gdevwdib.c)
|
|
|
958 |
|
|
|
959 |
Further improves the handling of attempts to use the DLL when it is already
|
|
|
960 |
in use. (dwdll.cpp, gsdll.c)
|
|
|
961 |
|
|
|
962 |
Adds a DLL-compatible main program for OS/2. (dpmainc.c, gp_os2.c, gsdll.c)
|
|
|
963 |
|
|
|
964 |
</pre><h3><a name="V3.69_Fonts"></a>Fonts</h3><pre>
|
|
|
965 |
|
|
|
966 |
Fixes bugs:
|
|
|
967 |
- The WingDings TrueType font wasn't loaded properly. (gs_ttf.ps)
|
|
|
968 |
|
|
|
969 |
Makes changes so that TrueType fonts can appear in the Fontmap and can be
|
|
|
970 |
loaded directly. (gs_fonts.ps, gs_ttf.ps)
|
|
|
971 |
|
|
|
972 |
</pre><h3><a name="V3.69_Interpreter"></a>Interpreter</h3><pre>
|
|
|
973 |
|
|
|
974 |
Fixes bugs:
|
|
|
975 |
- Executing a .quit with only 1 element on the operand stack caused
|
|
|
976 |
an invalid access. (zcontrol.c)
|
|
|
977 |
- The usage help message contained incorrect double %%s.
|
|
|
978 |
(imainarg.c)
|
|
|
979 |
- If an initialization file tried to use any Encodings other than
|
|
|
980 |
the 4 registered ones, it couldn't find them. (gs_init.ps, gs_res.ps)
|
|
|
981 |
- Places that expected arrays of coordinates (rectangles,
|
|
|
982 |
x/y/xyshow) didn't accept packed arrays. (ibnum.c, zdps1.c)
|
|
|
983 |
- filterdict was still visible after initialization. (gs_init.ps)
|
|
|
984 |
- The usage error message wasn't terminated by a newline.
|
|
|
985 |
(imainarg.c)
|
|
|
986 |
- setcacheparams (or setting the MaxFontCache user parameter) didn't
|
|
|
987 |
actually affect the size of the character cache. (zfont.c, zmisc2.c)
|
|
|
988 |
- The main interpreter loop declared iref as a ref *, even though it
|
|
|
989 |
may only be a ref_packed *. (iref.h, interp.c)
|
|
|
990 |
|
|
|
991 |
Changes the character cache so it ignores absurd FontBBox values. Nothing
|
|
|
992 |
in the Adobe spec suggests doing this, but it is necessary for handling
|
|
|
993 |
questionable output produced by PageMaker 5.0 (an Adobe product!).
|
|
|
994 |
(zchar1.c)
|
|
|
995 |
|
|
|
996 |
Changes some type declarations slightly to reduce the number of 'discarding
|
|
|
997 |
const' compiler warnings. (igc.h, igc.c, igcref.c)
|
|
|
998 |
|
|
|
999 |
Adds .setclipoutside and .currentclipoutside operators for accessing the new
|
|
|
1000 |
outside clipping capability. (zpath.c)
|
|
|
1001 |
|
|
|
1002 |
Adds the dictionary stack to the information printed in case of a fatal
|
|
|
1003 |
problem. (imain.c)
|
|
|
1004 |
|
|
|
1005 |
Adds .set/currentrenderalgorithm operators for testing. (zrop.c)
|
|
|
1006 |
|
|
|
1007 |
</pre><h3><a name="V3.69_Library"></a>Library</h3><pre>
|
|
|
1008 |
|
|
|
1009 |
Fixes bugs:
|
|
|
1010 |
- The TrueType rasterizer didn't map quadratic to cubic splines
|
|
|
1011 |
well, and didn't handle off-curve points at the end of a contour properly.
|
|
|
1012 |
(gstype42.c)
|
|
|
1013 |
- An #include was omitted. (gsimage.c, gxclimag.c)
|
|
|
1014 |
- Some compilers complained about statements with no effect, or
|
|
|
1015 |
comma operators with no effect on the left. (gschar.c, gxcpath.c, gxfill.c)
|
|
|
1016 |
- TrueType or Type 42 glyphs with a repeat count that crossed a
|
|
|
1017 |
contour boundary produced incorrect output. (gstype42.c)
|
|
|
1018 |
- TrueType / Type 42 composite glyphs involving rotation were placed
|
|
|
1019 |
incorrectly. (gstype42.c)
|
|
|
1020 |
- Type 42 fonts with an absent or incorrect FontBBox could fail to
|
|
|
1021 |
produce output. (gstype42.c)
|
|
|
1022 |
- Some header files weren't protected against double inclusion.
|
|
|
1023 |
(gsio.h, gdebug.h)
|
|
|
1024 |
- Decoding filters didn't "look ahead" to detect EOD, so if the last
|
|
|
1025 |
read operation before closing the filter ended just before the EOD mark, the
|
|
|
1026 |
EOD mark might not be absorbed. (stream.h, stream.c)
|
|
|
1027 |
- Filling paths consisting of multiple subpaths that overlap in Y
|
|
|
1028 |
produced slightly inaccurate output. We were unable to find a way to fix
|
|
|
1029 |
this without making a NON-BACKWARD-COMPATIBLE change in the interface for
|
|
|
1030 |
the recently introduced fill_trapezoid device procedure. (gxdevice.h,
|
|
|
1031 |
gdevbbox.c, gdevddrw.c, gdevnfwd.c, gxfill.c)
|
|
|
1032 |
- When banding, get_bits didn't detect calls with out-of-range Y
|
|
|
1033 |
values. (gxclread.c)
|
|
|
1034 |
- setcacheparams didn't actually affect the size of the character
|
|
|
1035 |
cache. (gsfont.h, gxbcache.h, gxfcache.h, gschar.c, gsfont.c, gxbcache.c,
|
|
|
1036 |
gxccman.c, gxclbits.c)
|
|
|
1037 |
- When banding, colored halftones could be mangled. (gxclread.c)
|
|
|
1038 |
|
|
|
1039 |
Fixes bugs in the bounding box device:
|
|
|
1040 |
- The bounding box device could give bizarre results if any objects
|
|
|
1041 |
crossed the lower edge of the page. (gdevbbox.c)
|
|
|
1042 |
- The bounding box device could get a memory access error when
|
|
|
1043 |
processing image data. (gdebbox.c)
|
|
|
1044 |
- The bounding box device ran the default drawing algorithms even if
|
|
|
1045 |
it had no target (performance bug only). (gdevbbox.c)
|
|
|
1046 |
- The bounding box device computed an incorrect (too small) box for
|
|
|
1047 |
partially clipped bitmap images. (gdevbbox.c)
|
|
|
1048 |
- The bounding box device got confused by files that filled the
|
|
|
1049 |
entire page with a background color. (gdevbbox.c)
|
|
|
1050 |
- The bounding box device produced infinite-height boxes for certain
|
|
|
1051 |
kinds of data. (gdevbbox.c)
|
|
|
1052 |
|
|
|
1053 |
Changes some type declarations slightly to reduce the number of 'discarding
|
|
|
1054 |
const' compiler warnings. (gsmemory.h, gsstruct.h)
|
|
|
1055 |
|
|
|
1056 |
Adds the capability of clipping to the outside rather than the inside of the
|
|
|
1057 |
clipping path. This is required for emulating an obscure feature of the
|
|
|
1058 |
Microsoft Windows GDI. (gspath.h, gxclpath.h, gxpath.h, gxcpath.h,
|
|
|
1059 |
gzcpath.h, gspath.c, gxacpath.c, gxclpath.c, gxclread.c, gxcpath.c.)
|
|
|
1060 |
|
|
|
1061 |
Makes it possible for band devices to select the underlying memory device
|
|
|
1062 |
used to accumulate the actual bits. This is required for (at least) PCL5
|
|
|
1063 |
emulation. This requires adding a procedure to the gx_device_printer
|
|
|
1064 |
structure, which, for devices that initialize the structure without using
|
|
|
1065 |
the macros in gdevprn.h or access the printer-specific procedures directly,
|
|
|
1066 |
is a NON-BACKWARD-COMPATIBLE change. (gdevprn.h, gxclist.h, gxdevice.h,
|
|
|
1067 |
gdevdflt.c, gdevprn.c, gxclread.c)
|
|
|
1068 |
|
|
|
1069 |
Speeds up handling of rotated or halftoned masked images. (gximage2.c)
|
|
|
1070 |
|
|
|
1071 |
Adds an output_page procedure to the bounding box device, for testing.
|
|
|
1072 |
(gdevbbox.c)
|
|
|
1073 |
|
|
|
1074 |
Adds a sample device that keeps track of the "render algorithm", for PCL5c
|
|
|
1075 |
emulation. (gdevrrgb.c)
|
|
|
1076 |
|
|
|
1077 |
</pre>
|
|
|
1078 |
|
|
|
1079 |
<h2><a name="Version3.68p4"></a>Version 3.68 patch 4 (5/23/96)</h2>
|
|
|
1080 |
|
|
|
1081 |
<p>
|
|
|
1082 |
More minor bug fixes, mostly related to the MS Windows implementation.
|
|
|
1083 |
|
|
|
1084 |
<h3><a name="V3.68p4_Documentation"></a>Documentation</h3><pre>
|
|
|
1085 |
Further updates various doc files to make them more useful to new users.
|
|
|
1086 |
(NEWS, README, current.doc, helpers.doc, new-user.doc)
|
|
|
1087 |
|
|
|
1088 |
Adds user-contributed documentation for ps2pdf. (ps2pdf.doc, unix-end.mak)
|
|
|
1089 |
|
|
|
1090 |
Documents a bug in the Borland C++ 4.52 compiler, and where to find the
|
|
|
1091 |
patch for it. (make.doc)
|
|
|
1092 |
|
|
|
1093 |
</pre><h3><a name="V3.68p4_Procedures"></a>Procedures</h3><pre>
|
|
|
1094 |
|
|
|
1095 |
Fixes bugs:
|
|
|
1096 |
- A command line exceeded the MS-DOS 120 character limit.
|
|
|
1097 |
(devs.mak)
|
|
|
1098 |
|
|
|
1099 |
A file was accidentally omitted from the fileset. (wmakebat.bat)
|
|
|
1100 |
|
|
|
1101 |
</pre><h3><a name="V3.68p4_Drivers"></a>Drivers</h3><pre>
|
|
|
1102 |
|
|
|
1103 |
Fixes bugs:
|
|
|
1104 |
- Many of the 'show' operators didn't work properly if the PDF
|
|
|
1105 |
writer was included in the configuration. (gs_pdfwr.ps)
|
|
|
1106 |
- x_wrap_get_bits was ridiculously slow. (It still is, but not
|
|
|
1107 |
quite as ridiculously.) (gxcindex.h, gdevxalt.c)
|
|
|
1108 |
- The PDF writer generated CR instead of CalRGB, which is legal per
|
|
|
1109 |
the Adobe spec but not compatible with some Adobe Acrobat products.
|
|
|
1110 |
(gdevpdfi.c)
|
|
|
1111 |
- Some signed/unsigned discrepancies caused compilation warnings.
|
|
|
1112 |
(gdevpdfm.c, gdevpdfp.c, gdevpdft.c)
|
|
|
1113 |
|
|
|
1114 |
Fixes bugs in the Windows driver:
|
|
|
1115 |
- An accidentally opened tiny window didn't get closed.
|
|
|
1116 |
(gdevwdib.c)
|
|
|
1117 |
- The name DllInit was misleading, and this procedure wasn't being
|
|
|
1118 |
called whtn the DLL was loaded, so the DLL couldn't know the instance
|
|
|
1119 |
handle. (gp_mswin.c)
|
|
|
1120 |
- The code didn't recognize Win32s (vs. Windows 95) correctly.
|
|
|
1121 |
(dwmain.cpp, gdevwdib.c, gp_mswin.h, gp_mswin.c, gsdll16.rc)
|
|
|
1122 |
- Some compiler warnings needed fixing. (gdevwdib.c)
|
|
|
1123 |
- gsdll16.def and gsdll32.def were different. (gsdll32.def)
|
|
|
1124 |
- A GPF leaving the 16-bit DLL loaded could make the DLL permanently
|
|
|
1125 |
unusable. (dwmain.cpp)
|
|
|
1126 |
- Two obsolete files were still included in the fileset.
|
|
|
1127 |
(gswin.def, gswin32.def)
|
|
|
1128 |
|
|
|
1129 |
Adds a compile-time option to the 'bit' drivers to expand 4-bit pixels to
|
|
|
1130 |
32-bit. This was required for tracking down customer problems, because the
|
|
|
1131 |
only tools we have available for displaying CMYK images require 32 bits per
|
|
|
1132 |
pixel. (gdevbit.c)
|
|
|
1133 |
|
|
|
1134 |
</pre><h3><a name="V3.68p4_Platforms"></a>Platforms</h3><pre>
|
|
|
1135 |
|
|
|
1136 |
Fixes bugs:
|
|
|
1137 |
- In DEC C, <time.h> does define the timeval struct. (time_.h)
|
|
|
1138 |
|
|
|
1139 |
Changes gsdll_init() to take an additional argument, a window handle. This
|
|
|
1140 |
is a NON-BACKWARD-COMPATIBLE change. (dll.doc, dwdll.h, gsdll.h, dwdll.cpp,
|
|
|
1141 |
dwmain.cpp, dwmainc.cpp, gsdll.c)
|
|
|
1142 |
|
|
|
1143 |
</pre><h3><a name="V3.68p4_Fonts"></a>Fonts</h3><pre>
|
|
|
1144 |
|
|
|
1145 |
Updates more Fontmaps to include the new URW++ fonts. (Fontmap.OS2,
|
|
|
1146 |
Fontmap.ATM)
|
|
|
1147 |
|
|
|
1148 |
</pre><h3><a name="V3.68p4_Interpreter"></a>Interpreter</h3><pre>
|
|
|
1149 |
|
|
|
1150 |
Fixes bugs:
|
|
|
1151 |
- The default operator array table wasn't big enough. (iinit.c)
|
|
|
1152 |
- Some signed/unsigned discrepancies caused compilation warnings.
|
|
|
1153 |
(imain.c, imainarg.c, zfile.c)
|
|
|
1154 |
|
|
|
1155 |
Adds encoding vectors for Windows 3.1 Latin 1, Latin 2, and Latin 5
|
|
|
1156 |
encodings. None of these are loaded in the standard configuration.
|
|
|
1157 |
(gs_wl{1,2,5}_e.ps)
|
|
|
1158 |
|
|
|
1159 |
</pre><h3><a name="V3.68p4_Library"></a>Library</h3><pre>
|
|
|
1160 |
|
|
|
1161 |
Fixes bugs:
|
|
|
1162 |
- Some tracing output was incorrect or missing. (gxdither.c)
|
|
|
1163 |
- Resized objects in the C heap had incorrect bookkeeping
|
|
|
1164 |
information (bug introduced in 3.68). (gsmemory.c)
|
|
|
1165 |
- Image pixels that fell exactly on device half-pixel boundaries
|
|
|
1166 |
could get discarded. (gximage0.c)
|
|
|
1167 |
- The bounding box device didn't set a variable properly and didn't
|
|
|
1168 |
implement end_image, leading to invalid memory accesses. (gdevbbox.c)
|
|
|
1169 |
- Fonts with BuildChar routines written in C didn't work properly
|
|
|
1170 |
with kshow or xyshow. (gschar.c)
|
|
|
1171 |
|
|
|
1172 |
Adds some additional tracing output for Patterns. (gxpcmap.c)
|
|
|
1173 |
|
|
|
1174 |
Adds tracing output for freeing malloc'ed blocks at the end of execution.
|
|
|
1175 |
(gsmemory.c)
|
|
|
1176 |
|
|
|
1177 |
Adds a gs_dashpath procedure that expands dashes in the same way that
|
|
|
1178 |
gs_flattenpath expands curves. (gspath.h, gspath1.c)
|
|
|
1179 |
|
|
|
1180 |
</pre>
|
|
|
1181 |
|
|
|
1182 |
<h2><a name="Version3.68p3"></a>Version 3.68 patch 3 (5/17/96)</h2>
|
|
|
1183 |
|
|
|
1184 |
<p>
|
|
|
1185 |
More bug fixes during the beta test period. AccurateScreens now works
|
|
|
1186 |
properly.
|
|
|
1187 |
|
|
|
1188 |
<h3><a name="V3.68p3_Procedures"></a>Procedures</h3><pre>
|
|
|
1189 |
Fixes bugs:
|
|
|
1190 |
- The help message was too long to fit on a PC screen or standard
|
|
|
1191 |
terminal. (imainarg.c)
|
|
|
1192 |
- Failure to run tar_cat wasn't detected. (unix-end.mak,
|
|
|
1193 |
unixtail.mak)
|
|
|
1194 |
|
|
|
1195 |
</pre><h3><a name="V3.68p3_Utilities"></a>Utilities</h3><pre>
|
|
|
1196 |
Fixes bugs:
|
|
|
1197 |
- In the PostScript files produced by pdf2ps, images using ASCII85
|
|
|
1198 |
encoding would cause a typecheck error. (gs_pdf.ps)
|
|
|
1199 |
- pdf2ps wrote out strings longer than 200 characters incorrectly.
|
|
|
1200 |
(pdf_2ps.ps)
|
|
|
1201 |
|
|
|
1202 |
</pre><h3><a name="V3.68p3_Drivers"></a>Drivers</h3><pre>
|
|
|
1203 |
|
|
|
1204 |
Fixes bugs in gdevcdj.c (according to the author, we have no way to test
|
|
|
1205 |
this):
|
|
|
1206 |
- The driver used to use Colors as well as ProcessColorModel to
|
|
|
1207 |
define the process color model. (devices.doc, gdevbjc.h, gdevcdj.c)
|
|
|
1208 |
- Incorrect or inconsistent settings of BitsPerPixel and
|
|
|
1209 |
ProcessColorModel, or setting one but not the other, could leave the driver
|
|
|
1210 |
in an inconsistent state. (gdevcdj.c)
|
|
|
1211 |
|
|
|
1212 |
Fixes bugs in the MS Windows driver:
|
|
|
1213 |
- Insufficient memory for the backing bitmap could cause a GPF.
|
|
|
1214 |
(gdevmswn.c, gdevwdib.c)
|
|
|
1215 |
- Invalid parameters could cause a crash within the DLL code.
|
|
|
1216 |
(gdevwdib.c)
|
|
|
1217 |
|
|
|
1218 |
Adds a user-contributed driver for the CalComp Raster Format. (devs.mak,
|
|
|
1219 |
gdevccr.c)
|
|
|
1220 |
|
|
|
1221 |
Adds an anti-aliasing option for MS Windows. (gdevmswn.c, gdevwdib.c)
|
|
|
1222 |
|
|
|
1223 |
</pre><h3><a name="V3.68p3_Platforms"></a>Platforms</h3><pre>
|
|
|
1224 |
|
|
|
1225 |
Fixes bugs in the Windows platform:
|
|
|
1226 |
- One had to type "quit" twice to exit. (dwdll.h, dwdll.cpp)
|
|
|
1227 |
|
|
|
1228 |
</pre><h3><a name="V3.68p3_Interpreter"></a>Interpreter</h3><pre>
|
|
|
1229 |
|
|
|
1230 |
Fixes bugs:
|
|
|
1231 |
- Platform fonts didn't work properly if the document's primary
|
|
|
1232 |
encoding was the standard MS Windows encoding. (ifont.h, gs_wan_e.ps)
|
|
|
1233 |
- stringwidth with a Type 1 font could give a spurious typecheck
|
|
|
1234 |
error (bug introduced in 3.65). (zcharout.c)
|
|
|
1235 |
- If a DOS editor added a ^Z to the end of the Fontmap file, an
|
|
|
1236 |
error occurred during initialization. (gs_fonts.ps)
|
|
|
1237 |
- Halftones that didn't specify a value for AccurateScreens
|
|
|
1238 |
sometimes ignored the setting of the AccurateScreens user parameter.
|
|
|
1239 |
(zht2.c)
|
|
|
1240 |
|
|
|
1241 |
</pre><h3><a name="V3.68p3_Library"></a>Library</h3><pre>
|
|
|
1242 |
|
|
|
1243 |
Fixes bugs:
|
|
|
1244 |
- gs_join_none was defined, but not implemented. (gxstroke.c)
|
|
|
1245 |
- A bookkeeping list for fonts could get confused, causing invalid
|
|
|
1246 |
memory accesses. (gsfont.c)
|
|
|
1247 |
- An I/O error or internal error would cause the band list
|
|
|
1248 |
rasterizer to go into an infinite loop. (gxclread.c)
|
|
|
1249 |
- The algorithm for choosing screen angles and frequencies produced
|
|
|
1250 |
poor results. (gshtscr.c)
|
|
|
1251 |
- Color screens were broken (bug introduced in 3.68). (gxdht.h,
|
|
|
1252 |
gzht.h, gsht.c, gshtscr.c)
|
|
|
1253 |
|
|
|
1254 |
</pre>
|
|
|
1255 |
|
|
|
1256 |
<h2><a name="Version3.68p2"></a>Version 3.68 patch 2 (5/13/96)</h2>
|
|
|
1257 |
|
|
|
1258 |
<p>
|
|
|
1259 |
This is another set of patches for the next general release.
|
|
|
1260 |
|
|
|
1261 |
<h3><a name="V3.68p2_Documentation"></a>Documentation</h3><pre>
|
|
|
1262 |
Fixes bugs:
|
|
|
1263 |
- Windows NT and Windows 95 implementations were identified as
|
|
|
1264 |
"under development" rather than available. (README)
|
|
|
1265 |
- There were several other minor errors in the README file.
|
|
|
1266 |
(README)
|
|
|
1267 |
- The claimed current IJG JPEG version was incorrect. (jpeg.mak)
|
|
|
1268 |
|
|
|
1269 |
Splits off information for new users into a separate file. (README,
|
|
|
1270 |
new-user.doc)
|
|
|
1271 |
|
|
|
1272 |
</pre><h3><a name="V3.68p2_Procedures"></a>Procedures</h3><pre>
|
|
|
1273 |
|
|
|
1274 |
Fixes bugs:
|
|
|
1275 |
- gettimeofday takes 2 arguments on SVR4 systems more recent than
|
|
|
1276 |
SVR4.0. (make.doc, ansihead.mak, cc-head.mak, gcc-head.mak, time_.h)
|
|
|
1277 |
|
|
|
1278 |
Changes the default Unix data installation directory from /usr/local/lib to
|
|
|
1279 |
/usr/local/share, which seems to be favored by more recent Unix systems
|
|
|
1280 |
(except for some Linux versions, which still use /usr/local/lib, and BSD/OS,
|
|
|
1281 |
which puts Ghostscript in /usr/contrib/lib.) (ansihead.mak, cc-head.mak,
|
|
|
1282 |
gcc-head.mak, ugcclib.mak)
|
|
|
1283 |
|
|
|
1284 |
Changes the unset commands in the Unix script to assignments, because a few
|
|
|
1285 |
older Unix shells don't provide unset. (unixtail.mak)
|
|
|
1286 |
|
|
|
1287 |
</pre><h3><a name="V3.68p2_Drivers"></a>Drivers</h3><pre>
|
|
|
1288 |
|
|
|
1289 |
Fixes bugs:
|
|
|
1290 |
- An #include incorrectly referred directly to a system header.
|
|
|
1291 |
(gdevpdft.c)
|
|
|
1292 |
- CMYK devices took an excessive amount of time clearing the page to
|
|
|
1293 |
white. (gdevm32.c)
|
|
|
1294 |
|
|
|
1295 |
Adds a compile-time option to the 'bit' drivers to remove top and bottom
|
|
|
1296 |
whitespace. This change was required in order to track down a customer bug.
|
|
|
1297 |
(gdevbit.c)
|
|
|
1298 |
|
|
|
1299 |
</pre><h3><a name="V3.68p2_Interpreter"></a>Interpreter</h3><pre>
|
|
|
1300 |
|
|
|
1301 |
Updates the interpreter for the split in the gstate API. (igstate.h)
|
|
|
1302 |
|
|
|
1303 |
</pre><h3><a name="V3.68p2_Streams"></a>Streams</h3><pre>
|
|
|
1304 |
|
|
|
1305 |
Fixes bugs:
|
|
|
1306 |
- Some compilers don't define NULL widely enough. (spngp.c)
|
|
|
1307 |
|
|
|
1308 |
</pre><h3><a name="V3.68p2_Library"></a>Library</h3><pre>
|
|
|
1309 |
|
|
|
1310 |
Fixes bugs:
|
|
|
1311 |
- There was a minor typo (& for &&) that didn't affect execution.
|
|
|
1312 |
(gxccman.c)
|
|
|
1313 |
- There was a trailing comma in an enumeration. (gsiparam.h)
|
|
|
1314 |
- Internal and public interfaces weren't separated properly. THIS
|
|
|
1315 |
IS A NON-BACKWARD-COMPATIBLE CHANGE for clients using certain undocumented
|
|
|
1316 |
interfaces to the graphics state. (gsstate.h, gxstate.h, gzstate.h,
|
|
|
1317 |
gsstate.c)
|
|
|
1318 |
- A 'private' declaration was missing (yet again). (gxclimag.c)
|
|
|
1319 |
|
|
|
1320 |
</pre>
|
|
|
1321 |
|
|
|
1322 |
<h2><a name="Version3.68p1"></a>Version 3.68 patch 1 (5/10/96)</h2>
|
|
|
1323 |
|
|
|
1324 |
<p>
|
|
|
1325 |
This is the first bug fix (patch) incremental release for the next
|
|
|
1326 |
general release.
|
|
|
1327 |
|
|
|
1328 |
<h3><a name="V3.68p1_Procedures"></a>Procedures</h3><pre>
|
|
|
1329 |
Fixes bugs:
|
|
|
1330 |
- Many Windows-specific files were omitted from the previous
|
|
|
1331 |
fileset: dw*.rc, dw*.cpp.
|
|
|
1332 |
|
|
|
1333 |
</pre>
|
|
|
1334 |
|
|
|
1335 |
<h2><a name="Version3.68"></a>Version 3.68 (limited) (5/9/96)</h2>
|
|
|
1336 |
|
|
|
1337 |
<p>
|
|
|
1338 |
This release cleans up the new Windows files, mostly implements the
|
|
|
1339 |
high-level driver API for bitmap images, and adds practical strip
|
|
|
1340 |
(AccurateScreens) halftoning. This is the first "serious beta" fileset for
|
|
|
1341 |
the next general release. It still has more problems than I would have
|
|
|
1342 |
liked.
|
|
|
1343 |
|
|
|
1344 |
<h3><a name="V3.68_Documentation"></a>Documentation</h3><pre>
|
|
|
1345 |
Fixes bugs:
|
|
|
1346 |
- The names of the executable files for MS Windows were out of date.
|
|
|
1347 |
(make.doc)
|
|
|
1348 |
- gxcindex.h still referred to "drawing color". (gxcindex.h)
|
|
|
1349 |
- The name of the default font directory for Unix systems was
|
|
|
1350 |
incorrect. (make.doc)
|
|
|
1351 |
|
|
|
1352 |
Moves the list of files required for installation, and some other
|
|
|
1353 |
installation instructions, from make.doc to install.doc. (install.doc,
|
|
|
1354 |
make.doc)
|
|
|
1355 |
|
|
|
1356 |
Adds a description of the PNGPredictor filters. (language.doc)
|
|
|
1357 |
|
|
|
1358 |
Updates the documentation of the higher-level driver procedures to match the
|
|
|
1359 |
specification changes. (drivers.doc)
|
|
|
1360 |
|
|
|
1361 |
Documents the change in the Watcom build procedure. (make.doc)
|
|
|
1362 |
|
|
|
1363 |
Improves the documentation of bitmap IDs. (gxbitmap.h)
|
|
|
1364 |
|
|
|
1365 |
Adds documentation for the new strip_tile_rectangle and strip_copy_rop
|
|
|
1366 |
driver procedures. (drivers.doc)
|
|
|
1367 |
|
|
|
1368 |
Changes the few remaining direct FTP addresses in README to URLs. (README)
|
|
|
1369 |
|
|
|
1370 |
Notes that zlib does not compile correctly on IRIX 6.n with optimization.
|
|
|
1371 |
(make.doc)
|
|
|
1372 |
|
|
|
1373 |
Adds references to PDF and TrueType fonts to language.doc. (language.doc)
|
|
|
1374 |
|
|
|
1375 |
Updates fonts.doc to remove references to fonts.mak. (fonts.doc)
|
|
|
1376 |
|
|
|
1377 |
Describes how to substitute an LZW compressor for the LZW-compatible
|
|
|
1378 |
compressor provided in the standard release. (make.doc)
|
|
|
1379 |
|
|
|
1380 |
</pre><h3><a name="V3.68_Procedures"></a>Procedures</h3><pre>
|
|
|
1381 |
|
|
|
1382 |
Fixes bugs:
|
|
|
1383 |
- Some lines had exceeded the 120-character limit of the
|
|
|
1384 |
MS-DOS shell. (int.mak)
|
|
|
1385 |
- The configuration files weren't generated correctly when CONFIG
|
|
|
1386 |
wasn't an empty string. (unixhead.mak)
|
|
|
1387 |
|
|
|
1388 |
Factors out shared DLL makefile rules into a new file. (bcwin.mak,
|
|
|
1389 |
bcwin32.mak, dwcommon.mak)
|
|
|
1390 |
|
|
|
1391 |
Makes the cp and rm commands into makefile parameters, allowing automatic
|
|
|
1392 |
generation of build scripts even in the MS-DOS and MS Windows environments
|
|
|
1393 |
where the shell requires the CALL command for sub-scripts. (*.mak,
|
|
|
1394 |
genconf.c)
|
|
|
1395 |
|
|
|
1396 |
Adds the PDF writer to the default Unix configurations. (ansihead.mak,
|
|
|
1397 |
cc-head.mak, gcc-head.mak)
|
|
|
1398 |
|
|
|
1399 |
Adds TrueType support to all Level 2 configurations. (int.mak)
|
|
|
1400 |
|
|
|
1401 |
Removes fonts.mak, which is no longer relevant. (fonts.mak)
|
|
|
1402 |
|
|
|
1403 |
Brings the font compilation procedures up to date. (cfonts.mak, int.mak)
|
|
|
1404 |
|
|
|
1405 |
</pre><h3><a name="V3.68_Utilities"></a>Utilities</h3><pre>
|
|
|
1406 |
|
|
|
1407 |
Fixes bugs:
|
|
|
1408 |
- There was an extra 'show' in one file. (align.ps)
|
|
|
1409 |
|
|
|
1410 |
</pre><h3><a name="V3.68_Drivers"></a>Drivers</h3><pre>
|
|
|
1411 |
|
|
|
1412 |
Fixes bugs:
|
|
|
1413 |
- The bit devices were missing the map_color_rgb procedure.
|
|
|
1414 |
(gdevbit.c)
|
|
|
1415 |
- The MS Windows driver sent a redundant message. (gdevmswn.c)
|
|
|
1416 |
|
|
|
1417 |
Adds a device that keeps track of the page bounding box. This device is not
|
|
|
1418 |
included in any standard configuration. (drivers.doc, gdevbbox.h,
|
|
|
1419 |
gsmatrix.h, gsstruct.h, gxdevice.h, gdevbbox.c, gdevnfwd.c, gsmatrix.c)
|
|
|
1420 |
|
|
|
1421 |
Updates the PDF writer to track the changes in the high-level driver API,
|
|
|
1422 |
and to write out images in a reasonable way. NOTE: the current
|
|
|
1423 |
implementation doesn't write out CIE color space parameters, so CIE-color
|
|
|
1424 |
images won't be colored accurately. (gdevpdf.c, gdevpdfi.c)
|
|
|
1425 |
|
|
|
1426 |
Adds a forwarding procedure for tile_rectangle. (gxdevice.h, gdevnfwd.c)
|
|
|
1427 |
|
|
|
1428 |
Changes the copyright notices on the PDF writer to be the same as on the
|
|
|
1429 |
rest of Ghostscript. (gdevpdf*.[ch])
|
|
|
1430 |
|
|
|
1431 |
Updates Gunther Hess's Epson Stylus Color driver from 1.21 to 1.90. (Aladdin
|
|
|
1432 |
Enterprises takes no responsibility for this driver: if you have questions,
|
|
|
1433 |
contact the author.) (devices.doc, devs.mak, gdevstc*.c, gdevstc.h)
|
|
|
1434 |
|
|
|
1435 |
</pre><h3><a name="V3.68_Platforms"></a>Platforms</h3><pre>
|
|
|
1436 |
|
|
|
1437 |
Removes some obsolete MS Windows files and #defines. (gp_mswtx.h,
|
|
|
1438 |
gp_mswtx.c, gp_mswin.h)
|
|
|
1439 |
|
|
|
1440 |
Works around a memory limitation in the Watcom make utility. (wmakebat.bat)
|
|
|
1441 |
|
|
|
1442 |
</pre><h3><a name="V3.68_Fonts"></a>Fonts</h3><pre>
|
|
|
1443 |
|
|
|
1444 |
Changes the standard Fontmap from using the low-quality fonts converted from
|
|
|
1445 |
bitmaps to using high-quality fonts recently contributed by URW++.
|
|
|
1446 |
(Fontmap, Fontmap.GS)
|
|
|
1447 |
|
|
|
1448 |
</pre><h3><a name="V3.68_Interpreter"></a>Interpreter</h3><pre>
|
|
|
1449 |
|
|
|
1450 |
Fixes bugs:
|
|
|
1451 |
- A macro containing an if-else, and a macro generating a compound
|
|
|
1452 |
statement, could cause incorrect grouping of 'if' statements. (files.h,
|
|
|
1453 |
ostack.h)
|
|
|
1454 |
- .setrasterop didn't pop its operand. (zrop.c)
|
|
|
1455 |
- A rounding inaccuracy could cause bounding box rangecheck errors.
|
|
|
1456 |
(gsdps1.c)
|
|
|
1457 |
- CIE-based images in PDF files didn't work. (gs_pdf.ps)
|
|
|
1458 |
- The page parameter .MediaSize didn't get updated when PageSize was
|
|
|
1459 |
set. (This is just the most recent manifestation of the setpagedevice
|
|
|
1460 |
morass.) (gs_setpd.ps)
|
|
|
1461 |
- %lineedit and %statementedit were limited to 160 characters.
|
|
|
1462 |
(zfileio.c, ziodev.c)
|
|
|
1463 |
- Compiled initialization files didn't work properly. (geninit.c,
|
|
|
1464 |
gs_l2img.ps)
|
|
|
1465 |
- Attempting to parse a command line with argc = 0 caused a crash.
|
|
|
1466 |
(imainarg.c)
|
|
|
1467 |
|
|
|
1468 |
Renames some files to allow separating the non-DLL 'main' procedure into a
|
|
|
1469 |
separate file, and to make the file naming more consistent:
|
|
|
1470 |
gs.c (except for 'main') => imainarg.c
|
|
|
1471 |
gsmain.c => imain.c
|
|
|
1472 |
gs.c now consists only of 'main'. The name gs.c is still inconsistent (it
|
|
|
1473 |
should be i- something), but at least it's consistent with the name of the
|
|
|
1474 |
executable. (*.mak, imain.h, iminst.h, imainarg.h, gs.c, gsmain.c, imain.c,
|
|
|
1475 |
imainarg.c)
|
|
|
1476 |
|
|
|
1477 |
Adds PNGPredictorEncode/Decode filters, and increases the size of filterdict
|
|
|
1478 |
slightly to make room for them. (iinit.c, zfpngp.c)
|
|
|
1479 |
|
|
|
1480 |
Makes zwrite external, per a customer request. (opextern.h, zfileio.c)
|
|
|
1481 |
|
|
|
1482 |
Updates clients to work with the new API-based bitmap imaging calls.
|
|
|
1483 |
(iimage.h, zcolor1.c, zimage2.c, zpaint.c)
|
|
|
1484 |
|
|
|
1485 |
Updates clients for the split in gscspace.h. (zcie.c, zcolor1.c, zcolor2.c,
|
|
|
1486 |
zcsindex.c, zcssepr.c, zimage2.c, zpaint.c, zpcolor.c)
|
|
|
1487 |
|
|
|
1488 |
Updates clients for strip-based halftones. (zpcolor.c)
|
|
|
1489 |
|
|
|
1490 |
Updates the initialization code to pass the correct (system) allocator to
|
|
|
1491 |
the library initialization. (imain.c)
|
|
|
1492 |
|
|
|
1493 |
</pre><h3><a name="V3.68_Streams"></a>Streams</h3><pre>
|
|
|
1494 |
|
|
|
1495 |
Fixes bugs:
|
|
|
1496 |
- If a filter reached EOD exactly at the end of reading data for
|
|
|
1497 |
certain operations, it didn't get closed automatically. (stream.c)
|
|
|
1498 |
- The LZW-compatible encoding filter reset procedure had an
|
|
|
1499 |
incorrect return type. (slzwce.c)
|
|
|
1500 |
|
|
|
1501 |
Changes the ASCIIHexEncode filter to insert \ns in fewer places, to be
|
|
|
1502 |
somewhat more compatible with the Adobe implementation. (sstring.c)
|
|
|
1503 |
|
|
|
1504 |
Adds PNGPredictorEncode/Decode filters that implement the pixel prediction
|
|
|
1505 |
algorithms in the PNG specification. (We'd like to use the code in the PNG
|
|
|
1506 |
library, but it's too deeply embedded in the rest of the PNG machinery, and
|
|
|
1507 |
it also doesn't provide for suspendable I/O.) (spngpx.h, spngp.c)
|
|
|
1508 |
|
|
|
1509 |
</pre><h3><a name="V3.68_Library"></a>Library</h3><pre>
|
|
|
1510 |
|
|
|
1511 |
Fixes bugs:
|
|
|
1512 |
- A test for pure color was backwards, causing garbage output or
|
|
|
1513 |
possible address or floating point exceptions. (gxclpath.c)
|
|
|
1514 |
- A macro containing an if-else could cause incorrect grouping of
|
|
|
1515 |
'if' statements. (gsrefct.h)
|
|
|
1516 |
- The default implementation of RasterOp didn't handle the device
|
|
|
1517 |
depth correctly. (gdevmrop.c)
|
|
|
1518 |
- The memory device implementation of RasterOp truncated 24-bit
|
|
|
1519 |
constant source or texture values to 8 bits. (gdevmrop.c)
|
|
|
1520 |
- A typo caused the garbage collector to miss an internal buffer
|
|
|
1521 |
used when rendering images. (gximage.h)
|
|
|
1522 |
- gs_debug_out was only defined if DEBUG was set. (gdebug.h)
|
|
|
1523 |
- The raster of horizontally replicated tiles was incorrect.
|
|
|
1524 |
(gxht.c)
|
|
|
1525 |
- A data type might not be declared, causing a compilation error.
|
|
|
1526 |
(gscoord.h)
|
|
|
1527 |
- Empty TrueType glyphs weren't handled properly. (gstype42.c)
|
|
|
1528 |
- Fonts with a build procedure written in C could cause an invalid
|
|
|
1529 |
memory access. (gschar.c)
|
|
|
1530 |
- The initial point of a band list path sometimes didn't get
|
|
|
1531 |
written, causing excess or missing filled regions. (gxclpath.c)
|
|
|
1532 |
- Characters between 49 and 56 bits wide were rendered incorrectly
|
|
|
1533 |
when banding. (gxclbits.c)
|
|
|
1534 |
|
|
|
1535 |
Renames gsimage*.c as gximage*.c, to reflect more accurately the position of
|
|
|
1536 |
these files in the architecture. (gsimage*.c, gximage*.c)
|
|
|
1537 |
|
|
|
1538 |
Fully implements the high-level bitmap image calls in the driver API. This
|
|
|
1539 |
includes some driver API changes; however, this part of the API was clearly
|
|
|
1540 |
documented as not stable enough to rely on. (gxdevice.h, gximage.h,
|
|
|
1541 |
gdevbbox.c, gdevddrw.c, gdevnfwd.c, gsimage.c, gximage*.c)
|
|
|
1542 |
|
|
|
1543 |
Splits the color space header into client and implementation, as with many
|
|
|
1544 |
others. (gscspace.h, gxcspace.h, gximage.h, gscie.c, gscolor.c, gscolor1.c,
|
|
|
1545 |
gscolor2.c, gscsepr.c, gsimage.c, gspcolor.c, gsstate.c, gxcmap.c,
|
|
|
1546 |
gxpcmap.c)
|
|
|
1547 |
|
|
|
1548 |
Extends band lists to handle high-level images. NOTE: This facility is
|
|
|
1549 |
patched out because there is not yet a way to pass the necessary color
|
|
|
1550 |
rendering information through the band list. (gxcldev.h, gxclist.h,
|
|
|
1551 |
gxclpath.h, gxclimag.c, gxclist.c, gxclpath.c, gxclread.c)
|
|
|
1552 |
|
|
|
1553 |
Implements fixed2float and float2fixed more efficiently on machines with
|
|
|
1554 |
slow floating point. (gxfixed.h, gscoord.c, gsmisc.c)
|
|
|
1555 |
|
|
|
1556 |
Makes one further NON-BACKWARD-COMPATIBLE change in the existing
|
|
|
1557 |
higher-level driver procedures (fill_path, stroke_path, fill_mask): we make
|
|
|
1558 |
the imager state pointer an explicit argument, rather than a member of the
|
|
|
1559 |
gx_fill/stroke_params structure. We now consider the specification of these
|
|
|
1560 |
procedures stable, and have removed the "subject to change" notice from the
|
|
|
1561 |
documentation. (gxdevice.h, gxpaint.h, gdevbbox.c, gdevnfwd.c, gxacpath.c,
|
|
|
1562 |
gxclpath.c, gxclread.c, gxfill.c, gxpaint.c, gxstroke.c)
|
|
|
1563 |
|
|
|
1564 |
Extends halftone bitmaps to include "strip" and "shift" information,
|
|
|
1565 |
allowing halftone cells with arbitrary angles to be stored in space
|
|
|
1566 |
proportional to the number of bits in the cell rather than the square of the
|
|
|
1567 |
number of bits. This requires adding new (optional) strip_tile_rectangle
|
|
|
1568 |
and strip_copy_rop driver procedures that are like tile_rectangle and
|
|
|
1569 |
copy_rop respectively but accept a strip bitmap rather than an ordinary
|
|
|
1570 |
tile; these procedures supersede tile_rectangle and copy_rop (although these
|
|
|
1571 |
also remain, defined in terms of the new ones). This also requires making
|
|
|
1572 |
small but NON-BACKWARD-COMPATIBLE changes in several internal interfaces.
|
|
|
1573 |
(gdevmem.h, gdevprn.h, gsdcolor.h, gxbcache.h, gxbitmap.h, gxcldev.h,
|
|
|
1574 |
gxclip2.h, gxclist.h, gxdevice.h, gxdevrop.h, gxdht.h, gxfcache.h,
|
|
|
1575 |
gxhttile.h, gxpcolor.h, gzht.h; gdevabuf.c, gdevbbox.c, gdevdflt.c,
|
|
|
1576 |
gdevm*.c, gdevmpla.c, gdevmrop.c, gdevnfwd.c, gsht.c, gsht1.c, gshtscr.c,
|
|
|
1577 |
gspcolor.c, gsstate.c, gxcht.c, gxclbits.c, gxclip2.c, gxclist.c,
|
|
|
1578 |
gxclpath.c, gxclread.c, gxcpath.c, gxdcolor.c, gxdither.c, gxht.c,
|
|
|
1579 |
gximage2.c, gxpcmap.c, ...)
|
|
|
1580 |
|
|
|
1581 |
Adds "no join" as a line join type. NOTE: this is not actually implemented
|
|
|
1582 |
yet. (gslparam.h)
|
|
|
1583 |
|
|
|
1584 |
Changes the initialization code so that it passes the system allocator as an
|
|
|
1585 |
argument to module initialization procedures. While this is theoretically a
|
|
|
1586 |
NON-BACKWARD-COMPATIBLE change, module initialization procedures are not
|
|
|
1587 |
documented and presumably are not used by any code outside the
|
|
|
1588 |
implementation. (gscdefs.h, gconf.c, gdevmrop.c, gsinit.c, gxclimag.c,
|
|
|
1589 |
gxclpath.c)
|
|
|
1590 |
|
|
|
1591 |
Splits up gs_lib_init into two procedures, allowing specification of a
|
|
|
1592 |
different default allocator for the library. (gslib.h, gsinit.c)
|
|
|
1593 |
|
|
|
1594 |
Adds a resize_object operation to the allocator API. (gsmemory.h,
|
|
|
1595 |
gsalloc.c, gsmemory.c)
|
|
|
1596 |
|
|
|
1597 |
</pre>
|
|
|
1598 |
|
|
|
1599 |
<h2><a name="Version3.67"></a>Version 3.67 (limited) (4/12/96)</h2>
|
|
|
1600 |
|
|
|
1601 |
<p>
|
|
|
1602 |
This release restructures the MS Windows and OS/2 code to be primarily DLL-
|
|
|
1603 |
rather than EXE-based. See under Platforms below for more news. This
|
|
|
1604 |
release was put out in a hurry in order to get the new DLL code into
|
|
|
1605 |
testers' hands; it has more rough edges than usual.
|
|
|
1606 |
|
|
|
1607 |
<h3><a name="V3.67_Documentation"></a>Documentation</h3><pre>
|
|
|
1608 |
Fixes bugs:
|
|
|
1609 |
- A definition & use comment was incorrect. (scanchar.h)
|
|
|
1610 |
- William Bader's e-mail address was wrong. (README)
|
|
|
1611 |
|
|
|
1612 |
Adds documentation for the new begin_image, image_data, and end_image
|
|
|
1613 |
procedures. THIS INTERFACE IS STILL SUBJECT TO CHANGE. (drivers.doc)
|
|
|
1614 |
|
|
|
1615 |
</pre><h3><a name="V3.67_Procedures"></a>Procedures</h3><pre>
|
|
|
1616 |
|
|
|
1617 |
Renames all the *core.dev modules as *lib.dev. (int.mak, *lib.mak, vms.mak,
|
|
|
1618 |
gdevmrop.c)
|
|
|
1619 |
|
|
|
1620 |
Updates all the remaining makefiles to IJG JPEG version 6a. (*.mak)
|
|
|
1621 |
|
|
|
1622 |
Moves the configuration parameter definitions from gconf.c to a new file
|
|
|
1623 |
gscdefs.c. (bcwin*.mak, *lib.mak, gs.mak, int.mak, lib.mak, unixtail.mak,
|
|
|
1624 |
vms.mak, gconf.c, gscdefs.c)
|
|
|
1625 |
|
|
|
1626 |
</pre><h3><a name="V3.67_Platforms"></a>Platforms</h3><pre>
|
|
|
1627 |
|
|
|
1628 |
Restructures the MS Windows and OS/2 code to be primarily DLL- rather than
|
|
|
1629 |
EXE-based. This involves two minor NON-BACKWARD-COMPATIBLE changes to the DLL
|
|
|
1630 |
interface, documented near the end of dll.doc:
|
|
|
1631 |
|
|
|
1632 |
- Adding argv and argc as arguments to gsdll_init.
|
|
|
1633 |
|
|
|
1634 |
- Adding a new message type, GSDLL_POLL, to the callback procedure.
|
|
|
1635 |
|
|
|
1636 |
(bcwin*.mak, devs.mak, os2.mak, dll.doc, install.doc, dw*.*, gsdll*.*,
|
|
|
1637 |
gdevms*.*, gdevpm.c, gdevw*.c, gp_mswin.c, gp_os2.c, gsos2.def, gswin.rc)
|
|
|
1638 |
|
|
|
1639 |
Adds the BMP drivers to the Watcom platform. (watc.mak)
|
|
|
1640 |
|
|
|
1641 |
</pre><h3><a name="V3.67_Interpreter"></a>Interpreter</h3><pre>
|
|
|
1642 |
|
|
|
1643 |
Fixes bugs:
|
|
|
1644 |
- gs.c assumed the presence of stdio. (gs.c)
|
|
|
1645 |
|
|
|
1646 |
Defines a new API entry point that is the equivalent of command line
|
|
|
1647 |
invocation. (imain.h, imainarg.h, gs.c)
|
|
|
1648 |
|
|
|
1649 |
Changes clients to conform to the changes in gsimage.h. (zimage2.c,
|
|
|
1650 |
zpaint.c)
|
|
|
1651 |
|
|
|
1652 |
Speeds up the search operator slightly. (zstring.c)
|
|
|
1653 |
|
|
|
1654 |
</pre><h3><a name="V3.67_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
1655 |
|
|
|
1656 |
Fixes bugs:
|
|
|
1657 |
- If the PDF interpreter was present, running a PostScript file
|
|
|
1658 |
didn't close the file properly if it caused an error. (pdf_main.ps)
|
|
|
1659 |
|
|
|
1660 |
Speeds up embedded font loading by making an internal buffer bigger.
|
|
|
1661 |
(pdf_font.ps)
|
|
|
1662 |
|
|
|
1663 |
</pre><h3><a name="V3.67_Library"></a>Library</h3><pre>
|
|
|
1664 |
|
|
|
1665 |
Fixes bugs:
|
|
|
1666 |
- There could be some non-zero garbage between the width and the
|
|
|
1667 |
next multiple of bitmap_align_mod for copy_alpha. (The driver API
|
|
|
1668 |
specification explicitly allows this, but it upset one customer.)
|
|
|
1669 |
(gxccman.c)
|
|
|
1670 |
- Nibble-swapped alpha values could be displaced in memory by one
|
|
|
1671 |
pixel, damaging the output. (gdevabuf.c)
|
|
|
1672 |
|
|
|
1673 |
Makes further changes towards adding high-level bitmap image calls to the
|
|
|
1674 |
driver API. This includes the following minor NON-BACKWARD-COMPATIBLE
|
|
|
1675 |
changes to the interface defined in gsimage.h:
|
|
|
1676 |
|
|
|
1677 |
- changing MultipleDataSources from a member of the gs_image_t
|
|
|
1678 |
structure to an argument of gs_image_init;
|
|
|
1679 |
|
|
|
1680 |
- changing the default image parameter values from constant
|
|
|
1681 |
structures to procedures that initialize the structure.
|
|
|
1682 |
|
|
|
1683 |
As far as we know, this doesn't affect any existing client code.
|
|
|
1684 |
(gsimage.h, gsiparam.h, gxdevice.h, gdevddrw.c, gdevnfwd.c, gsimage.c,
|
|
|
1685 |
gspcolor.c, gxccache.c)
|
|
|
1686 |
|
|
|
1687 |
Removes an unnecessary level of call for path filling. (gxpaint.h,
|
|
|
1688 |
gxfill.c, gxpaint.c)
|
|
|
1689 |
|
|
|
1690 |
</pre>
|
|
|
1691 |
|
|
|
1692 |
<h2><a name="Version3.66"></a>Version 3.66 (limited) (4/8/96)</h2>
|
|
|
1693 |
|
|
|
1694 |
<p>
|
|
|
1695 |
This release adds support for TrueType fonts and Type 42 (encapsulated
|
|
|
1696 |
TrueType) PostScript fonts. The MS Windows driver now interacts properly
|
|
|
1697 |
with the garbage collector. This release also includes a new, high-quality
|
|
|
1698 |
set of free fonts.
|
|
|
1699 |
|
|
|
1700 |
<h3><a name="V3.66_Documentation"></a>Documentation</h3><pre>
|
|
|
1701 |
Fixes bugs:
|
|
|
1702 |
- The list of generic makefiles had gotten out of date. (make.doc)
|
|
|
1703 |
|
|
|
1704 |
Adds a mention of the bmv program, created by a user and available under the
|
|
|
1705 |
GPL. (README)
|
|
|
1706 |
|
|
|
1707 |
Notes that a bug in gcc 2.7.x prevents these versions from compiling
|
|
|
1708 |
Ghostscript. (make.doc)
|
|
|
1709 |
|
|
|
1710 |
Clarifies the meaning of "inverted" masks. (gsimage.h)
|
|
|
1711 |
|
|
|
1712 |
Improves the documentation of the stack sizing parameters. (interp.c)
|
|
|
1713 |
|
|
|
1714 |
Improves the documentation of the copy_rop driver procedure.
|
|
|
1715 |
(drivers.doc)
|
|
|
1716 |
|
|
|
1717 |
Notes that all subclasses of gx_device must explicitly include the
|
|
|
1718 |
device_finalize finalization procedure. (gxdevice.h)
|
|
|
1719 |
|
|
|
1720 |
Updates the documentation of the high-level driver API to reflect the change
|
|
|
1721 |
in gx_drawing_color, and the addition of the new polygon and image drawing
|
|
|
1722 |
procedures. (drivers.doc)
|
|
|
1723 |
|
|
|
1724 |
Updates the documentation for building zlib and libpng. (make.doc)
|
|
|
1725 |
|
|
|
1726 |
</pre><h3><a name="V3.66_Procedures"></a>Procedures</h3><pre>
|
|
|
1727 |
|
|
|
1728 |
Fixes bugs:
|
|
|
1729 |
- The environment space overflowed on some inferior Unix systems.
|
|
|
1730 |
(unixtail.mak)
|
|
|
1731 |
|
|
|
1732 |
Adds a ttfont.dev "feature" for including the TrueType interpreter and the
|
|
|
1733 |
ability to handle Type 42 fonts. A new procedure, .loadttfont, allows
|
|
|
1734 |
loading a TrueType font directly (by converting it to a Type 42 on the fly).
|
|
|
1735 |
(gs.mak, int.mak, lib.mak)
|
|
|
1736 |
|
|
|
1737 |
Updates the makefiles and procedures to libpng 0.88 and zlib 1.0.
|
|
|
1738 |
(libpng.mak, zlib.mak)
|
|
|
1739 |
|
|
|
1740 |
</pre><h3><a name="V3.66_Utilities"></a>Utilities</h3><pre>
|
|
|
1741 |
|
|
|
1742 |
Fixes bugs:
|
|
|
1743 |
- pdf2ps could produce lines longer than 255 characters.
|
|
|
1744 |
(pdf_2ps.ps)
|
|
|
1745 |
|
|
|
1746 |
Removes some unnecessary and error-inviting code from pdf2dsc. (pdf2dsc.ps)
|
|
|
1747 |
|
|
|
1748 |
Updates lines.ps to test the new stroke code more fully. (lines.ps)
|
|
|
1749 |
|
|
|
1750 |
Allows omitting the second argument of ps2pdf, as for ps2epsi. (ps2pdf)
|
|
|
1751 |
|
|
|
1752 |
</pre><h3><a name="V3.66_Drivers"></a>Drivers</h3><pre>
|
|
|
1753 |
|
|
|
1754 |
Fixes bugs:
|
|
|
1755 |
- A routine was incorrectly declared "private". (I wish gcc caught
|
|
|
1756 |
this!) (gdevpdf.c)
|
|
|
1757 |
- A 'const' was omitted in a parameter list. (gdevpdfp.c)
|
|
|
1758 |
- Some imported procedures didn't have prototypes declared.
|
|
|
1759 |
(gdevpdft.c)
|
|
|
1760 |
- The ProcSet list for PDF files didn't include Text when it was
|
|
|
1761 |
needed. (gdevpdfx.h, gdevpdf.c, gdevpdft.c)
|
|
|
1762 |
- Text in PDF output ignored the color setting. (gs_pdfwr.ps,
|
|
|
1763 |
gdevpdft.c)
|
|
|
1764 |
- Text in PDF output could be positioned incorrectly. (gdevpdft.c)
|
|
|
1765 |
- pdfmarks could produce an error when producing PDF output.
|
|
|
1766 |
(gs_pdfwr.ps)
|
|
|
1767 |
|
|
|
1768 |
Slightly improves the text output of the PDF writer. (gs_pdfwr.ps,
|
|
|
1769 |
gdevpdft.c)
|
|
|
1770 |
|
|
|
1771 |
Defines driver procedures for filling trapezoids (with the parallel edges
|
|
|
1772 |
parallel to a coordinate axis), parallelograms (with arbitrary orientation),
|
|
|
1773 |
triangles (ditto), and minimum-width lines (ditto). (Note that the last of
|
|
|
1774 |
these obsoletes the former draw_line procedure.) (gdevmem.h, gdevprn.h,
|
|
|
1775 |
gxdevice.h, gxdraw.h (deleted), gdevddrw.c, gdevdflt.c, gdevht.c,
|
|
|
1776 |
gdevnfwd.c, gsimage[12345].c, gxacpath.c, gxclist.c, gxclip2.c, gxcpath.c,
|
|
|
1777 |
gxdraw.c (deleted), gxfill.c, gxpcmap.c, gxstroke.c)
|
|
|
1778 |
|
|
|
1779 |
Adds "sketched" driver procedures for high-level bitmap / pixmap image
|
|
|
1780 |
drawing. In this release, the argument lists are incomplete, and the
|
|
|
1781 |
procedures are stubs: don't try to use them! [see previous entry]
|
|
|
1782 |
|
|
|
1783 |
Changes the screen update strategy for the X Windows driver from a
|
|
|
1784 |
compile-time option to a settable run-time variable. (gdevx.c)
|
|
|
1785 |
|
|
|
1786 |
Patches around a problem with libpng 0.88 that can't be fixed without
|
|
|
1787 |
editing a configuration file. (gdevpng.c)
|
|
|
1788 |
|
|
|
1789 |
</pre><h3><a name="V3.66_Platforms"></a>Platforms</h3><pre>
|
|
|
1790 |
|
|
|
1791 |
Fixes bugs:
|
|
|
1792 |
- %g formats with sscanf don't work on NeXT systems. (gdevpdft.c,
|
|
|
1793 |
iutil.c, zdouble.c)
|
|
|
1794 |
- getenv could be declared inconsistently. (gp_unix.c)
|
|
|
1795 |
|
|
|
1796 |
</pre><h3><a name="V3.66_Fonts"></a>Fonts</h3><pre>
|
|
|
1797 |
|
|
|
1798 |
Fixes bugs:
|
|
|
1799 |
- The Type 1 font interpreter sometimes set the flatness too large.
|
|
|
1800 |
(gstype1.c)
|
|
|
1801 |
- Fonts defined by definefont could never be garbage collected.
|
|
|
1802 |
(gsstruct.h, gxfcache.h, gxfont.h, gxfont0.h, gxfont1.h, gsfont.c,
|
|
|
1803 |
gsfont0.c)
|
|
|
1804 |
- Type 0 fonts weren't garbage collected properly. (gsfont0.c)
|
|
|
1805 |
- Compiled fonts caused a compilation error (bug introduced in
|
|
|
1806 |
3.65). (ifont.h)
|
|
|
1807 |
- If a Type 1 font used hint replacement, hints could be applied
|
|
|
1808 |
more than once, distorting the character shape. (gxtype1.h, gxhint3.c)
|
|
|
1809 |
- Oversampling wasn't applied to large enough characters.
|
|
|
1810 |
(gschar.c)
|
|
|
1811 |
|
|
|
1812 |
</pre><h3><a name="V3.66_Interpreter"></a>Interpreter</h3><pre>
|
|
|
1813 |
|
|
|
1814 |
Fixes bugs:
|
|
|
1815 |
- The scanner accepted /[, /], /<<, and />> as literal names (and
|
|
|
1816 |
similarly for //). It isn't obvious from the Red Book, but the Adobe
|
|
|
1817 |
implementations don't accept these. What a nuisance! (gs_btokn.ps,
|
|
|
1818 |
gs_init.ps, pdf_2ps.ps, pdf_base.ps, pdf_main.ps, iscan.c)
|
|
|
1819 |
- A spurious stackoverflow could occur under unusual conditions.
|
|
|
1820 |
(istack.c)
|
|
|
1821 |
- The values of OrigFont and ScaleMatrix in scaled fonts reflected
|
|
|
1822 |
only the most recent scaling operation, not the original font and the
|
|
|
1823 |
combined scaling operation. (zfont.c)
|
|
|
1824 |
- The default size of systemdict had become slightly too small.
|
|
|
1825 |
(iinit.c)
|
|
|
1826 |
- Type 1 characters defined by PostScript procedures were called
|
|
|
1827 |
incorrectly. (zcharout.c)
|
|
|
1828 |
|
|
|
1829 |
Removes the papersize operator from statusdict, since it is not documented
|
|
|
1830 |
anywhere in the Adobe literature and didn't interact properly with the
|
|
|
1831 |
various ways of setting the page size. (gs_statd.ps)
|
|
|
1832 |
|
|
|
1833 |
Changes the one client of sskip to match the changed API. (zpaint.c)
|
|
|
1834 |
|
|
|
1835 |
Changes clients to reflect the creation of sstring.h. (iscan.h, zfilter.c)
|
|
|
1836 |
|
|
|
1837 |
Adds PSStringEncode as an accessible filter. (zfilter.c)
|
|
|
1838 |
|
|
|
1839 |
Adds support for TrueType and Type 42 fonts. (gs_fonts.ps, gs_ttf.ps,
|
|
|
1840 |
gs_typ42.ps, bfont.h, icharout.h, ifont.h, zchar1.c, zchar42.c, zcharout.c,
|
|
|
1841 |
zfont1.c, zfont2.c, zfont42.c)
|
|
|
1842 |
|
|
|
1843 |
Adds a few ANSI sheet sizes (commented out, for documentation only).
|
|
|
1844 |
(gs_statd.ps)
|
|
|
1845 |
|
|
|
1846 |
</pre><h3><a name="V3.66_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
1847 |
|
|
|
1848 |
Fixes bugs:
|
|
|
1849 |
- Clients who called pdfopen/close rather than runpdf could get an
|
|
|
1850 |
error (PSLevel1 undefined). (pdf_main.ps)
|
|
|
1851 |
- Some masked images were displayed with black and white inverted.
|
|
|
1852 |
(gs_pdf.ps)
|
|
|
1853 |
- In Level 1 output produced by pdf2ps, images caused a syntaxerror.
|
|
|
1854 |
(gs_pdf.ps)
|
|
|
1855 |
- If a PDF file had multiple xref sections and later sections added
|
|
|
1856 |
new objects, an error occurred. (pdf_main.ps)
|
|
|
1857 |
- Some very old Level 1 interpreters couldn't deal with a file
|
|
|
1858 |
object embedded in a procedure. (gs_pdf.ps)
|
|
|
1859 |
|
|
|
1860 |
</pre><h3><a name="V3.66_Streams"></a>Streams</h3><pre>
|
|
|
1861 |
|
|
|
1862 |
Fixes bugs:
|
|
|
1863 |
- The PSStringEncode filter didn't always produce printable 7-bit
|
|
|
1864 |
output. (sstring.c)
|
|
|
1865 |
- The CCITTFaxDecode filter didn't implement DamagedRowsBeforeError.
|
|
|
1866 |
(scfx.h, scfd.c)
|
|
|
1867 |
- Interpolated images displayed nothing if the data stream ended
|
|
|
1868 |
before the image height was reached. (siscale.h, gsimage5.c, siscale.c)
|
|
|
1869 |
|
|
|
1870 |
Changes the sskip stream procedure so that it takes an additional argument
|
|
|
1871 |
where it returns the actual number of bytes skipped. THIS IS A
|
|
|
1872 |
NON-BACKWARD-COMPATIBLE CHANGE in the API. However, as far as we know,
|
|
|
1873 |
there are no external clients of this procedure. (stream.h, stream.c)
|
|
|
1874 |
|
|
|
1875 |
Splits up sfilter.h so that the headers correspond more directly with the
|
|
|
1876 |
implementations. (sfilter.h, sstring.h, sstring.c)
|
|
|
1877 |
|
|
|
1878 |
</pre><h3><a name="V3.66_Library"></a>Library</h3><pre>
|
|
|
1879 |
|
|
|
1880 |
Fixes bugs:
|
|
|
1881 |
- The default device in the library configuration was device 1, not
|
|
|
1882 |
device 0. (bclib.mak, ugcclib.mak, watclib.mak, gslib.c)
|
|
|
1883 |
- Patterns could be rendered with small gaps between them.
|
|
|
1884 |
(gspcolor.c)
|
|
|
1885 |
- Large characters could render inaccurately because of a numerical
|
|
|
1886 |
boundary condition. (gxpcopy.c)
|
|
|
1887 |
- The show_gstate pointer in the graphics state was not managed
|
|
|
1888 |
properly, possibly leading to dangling pointers or GC errors. (gsstate.c)
|
|
|
1889 |
- Bitmaps could get shifted to the left if ALPHA_LSB_FIRST was
|
|
|
1890 |
selected (bug introduced in 3.53). (gsbitops.c)
|
|
|
1891 |
- The garbage collector could move devices in memory, causing
|
|
|
1892 |
problems with command list devices. (gxdevice.h, gsdevice.c)
|
|
|
1893 |
|
|
|
1894 |
Continues restructuring the image handling code in preparation for adding a
|
|
|
1895 |
high-level driver operation. (gsimage[12345].c)
|
|
|
1896 |
|
|
|
1897 |
Starts to implement passing color mapping information (transfer function,
|
|
|
1898 |
black generation, undercolor removal, CRD, halftoning) in the band list.
|
|
|
1899 |
(gxfmap.h, gscolor.c, gscolor1.c, gsht1.c, gsstate.c)
|
|
|
1900 |
|
|
|
1901 |
Speeds up the path filling code a little more. (gxdraw.c)
|
|
|
1902 |
|
|
|
1903 |
Removes the workaround for the gcc 2.7.0/1/2 optimizer bug, since this
|
|
|
1904 |
turned out to cause more trouble than it was worth. (stdpre.h)
|
|
|
1905 |
|
|
|
1906 |
Speeds up stroking dramatically for the case of butt or square caps, bevel
|
|
|
1907 |
or beveled miter joins, and no fill adjustment, by filling parallelograms
|
|
|
1908 |
and triangles directly rather than constructing and filling paths. This is
|
|
|
1909 |
an important common case for CAD drawings. (gxdraw.h, gxdraw.c, gxstroke.c)
|
|
|
1910 |
|
|
|
1911 |
Adds support for TrueType and Type 42 fonts. (gxfont.h, gxfont42.h,
|
|
|
1912 |
gstype42.c)
|
|
|
1913 |
|
|
|
1914 |
Extends the memory manager to allow allocating objects that the garbage
|
|
|
1915 |
collector won't move. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE for
|
|
|
1916 |
implementors of memory managers, but clients aren't supposed to have any of
|
|
|
1917 |
these. (gsmemory.h, gsmemory.c, gsalloc.c)
|
|
|
1918 |
|
|
|
1919 |
Makes dynamically created instances of registered devices immovable.
|
|
|
1920 |
(gsdevice.c)
|
|
|
1921 |
|
|
|
1922 |
Unifies gx_drawing_color with (makes it equivalent to) gx_device_color.
|
|
|
1923 |
THIS IS A NON-BACKWARD-COMPATIBLE CHANGE for implementors of the
|
|
|
1924 |
higher-level driver procedures (fill_path, stroke_path, fill_mask). We
|
|
|
1925 |
regret that this was necessary, but the documentation in drivers.doc does
|
|
|
1926 |
warn the reader: "DO NOT ASSUME THESE OPERATIONS WILL REMAIN UNCHANGED IN
|
|
|
1927 |
FUTURE RELEASES." These three procedures, at least, should now be stable.
|
|
|
1928 |
(gsdcolor.h, gxcindex.h, gxdcolor.h, gxdevice.h, gximage.h, gxpaint.h,
|
|
|
1929 |
gxpcolor.h, gdevdflt.c, gdevpdf.c, gdevpdfi.c, gdevxalt.c, gsimage.c,
|
|
|
1930 |
gsimage2.c, gspcolor.c, gxacpath.c, gxccache.c, gxcht.c, gxclpath.c,
|
|
|
1931 |
gxclread.c, gxdcconv.c, gxdither.c, gxfill.c, gxdraw.c, gxht.c, gxpaint.c,
|
|
|
1932 |
gxpcmap.c, gxstroke.c)
|
|
|
1933 |
|
|
|
1934 |
</pre>
|
|
|
1935 |
|
|
|
1936 |
<h2><a name="Version3.65"></a>Version 3.65 (limited) (3/9/96)</h2>
|
|
|
1937 |
|
|
|
1938 |
<p>
|
|
|
1939 |
This release adds garbage collection for device instances. ****** NOTE:
|
|
|
1940 |
Because of changes in memory management, if you are using the MS Windows
|
|
|
1941 |
driver (mswin), you must run with -dNOGC. This is a temporary problem which
|
|
|
1942 |
will be fixed before the next beta release.
|
|
|
1943 |
|
|
|
1944 |
<h3><a name="V3.65_Documentation"></a>Documentation</h3><pre>
|
|
|
1945 |
Documents the C API equivalent of a -d switch for setting a flag like
|
|
|
1946 |
NOPAUSE. (imain.h)
|
|
|
1947 |
|
|
|
1948 |
Splits off the NEWS entries for versions 3.0 through 3.33 into a new
|
|
|
1949 |
file. (history3.doc)
|
|
|
1950 |
|
|
|
1951 |
Adds a man page for ps2pdf. (ps2pdf.1)
|
|
|
1952 |
|
|
|
1953 |
Documents the new memory management aspects of device drivers, and corrects
|
|
|
1954 |
many other aspects of driver documentation that had become inaccurate.
|
|
|
1955 |
(drivers.doc)
|
|
|
1956 |
|
|
|
1957 |
Updates the documentation for the gs_*.ps files. (psfiles.doc)
|
|
|
1958 |
|
|
|
1959 |
Replaces .type1addpath with .type1execchar. (language.doc)
|
|
|
1960 |
|
|
|
1961 |
Adds some more documentation on how band lists do read/write switching.
|
|
|
1962 |
(gxclist.h)
|
|
|
1963 |
|
|
|
1964 |
Adds a reference to the new Genscript program, a free Ghostscript-based
|
|
|
1965 |
replacement for enscript. (README)
|
|
|
1966 |
|
|
|
1967 |
Notes that no further changes will be accepted for the gdevcdj.c file, which
|
|
|
1968 |
has gotten completely out of hand. (gdevcdj.c).
|
|
|
1969 |
|
|
|
1970 |
Documents the TextAlphaBits and GraphicsAlphaBits device parameters.
|
|
|
1971 |
(language.doc)
|
|
|
1972 |
|
|
|
1973 |
</pre><h3><a name="V3.65_Procedures"></a>Procedures</h3><pre>
|
|
|
1974 |
Fixes bugs:
|
|
|
1975 |
- gs_pdfwr.ps and pdf2ps.1 weren't installed on Unix systems.
|
|
|
1976 |
(unix-end.mak)
|
|
|
1977 |
- The pdf2ps shell script didn't accept any options. (pdf2ps)
|
|
|
1978 |
- The rule for srle.$(OBJ) incorrectly specified a dependency on
|
|
|
1979 |
srld.c. (lib.mak)
|
|
|
1980 |
- The rule for command lists didn't include stream.$(OBJ).
|
|
|
1981 |
(lib.mak)
|
|
|
1982 |
- The stack size for one configuration was set too small.
|
|
|
1983 |
(watclib.mak)
|
|
|
1984 |
|
|
|
1985 |
Speeds up genconf by eliminating redundant file reading and processing.
|
|
|
1986 |
(genconf.c)
|
|
|
1987 |
|
|
|
1988 |
Moves the pixel-difference filters from int.mak to lib.mak. (int.mak,
|
|
|
1989 |
lib.mak)
|
|
|
1990 |
|
|
|
1991 |
Moves the library parts of the HSB color and Level 1 path (arcs, pathbbox,
|
|
|
1992 |
path enumeration) options from int.mak to lib.mak, and adds them to the
|
|
|
1993 |
library makefiles. (int.mak, lib.mak; bclib.mak. ugcclib.mak, watclib.mak)
|
|
|
1994 |
|
|
|
1995 |
</pre><h3><a name="V3.65_Utilities"></a>Utilities</h3><pre>
|
|
|
1996 |
|
|
|
1997 |
Fixes bugs:
|
|
|
1998 |
- pdf2ps would fail if it encountered a font with a standard
|
|
|
1999 |
encoding. (pdf_2ps.ps)
|
|
|
2000 |
|
|
|
2001 |
Adds new switches to pdf2ps:
|
|
|
2002 |
-dPSBinaryOK allows writing binary image data in the output.
|
|
|
2003 |
(pdf_2ps.ps)
|
|
|
2004 |
-dPSLevel1 forces Level 1 compatible output. (int.mak,
|
|
|
2005 |
unix-end.mak, gs_l2img.ps, gs_pdf.ps, pdf_2ps.ps, pdf_main.ps)
|
|
|
2006 |
-dPSNoProcSet causes the ProcSet to be loaded at run time, not at
|
|
|
2007 |
conversion time -- primarily useful for debugging. (pdf_2ps.ps)
|
|
|
2008 |
|
|
|
2009 |
Adds a utility for viewing PCX files, so we can preview high-resolution
|
|
|
2010 |
output in a reasonable compressed format. (unix-end.mak, viewpcx.ps)
|
|
|
2011 |
|
|
|
2012 |
</pre><h3><a name="V3.65_Drivers"></a>Drivers</h3><pre>
|
|
|
2013 |
|
|
|
2014 |
Fixes bugs:
|
|
|
2015 |
- Some compilers require an extra #include to define structures even
|
|
|
2016 |
if they are only referenced by pointers. (int.mak, gdevpdf.c, gdevpdfp.c)
|
|
|
2017 |
- A procedure name was duplicated. (gdevpdfi.c)
|
|
|
2018 |
- A pdfmark between a gsave and a grestore could cause a
|
|
|
2019 |
rangecheck error. (gdevpdfp.c)
|
|
|
2020 |
- A pdfmark between a gsave and a grestore could cause the
|
|
|
2021 |
grestore to do an inappropriate initgraphics. (gs_pdfwr.ps)
|
|
|
2022 |
- The pdfwrite driver could reinitialize the output file
|
|
|
2023 |
unpredictably. (gdevpdfp.c)
|
|
|
2024 |
- The PCX drivers didn't clear padding bytes at the ends of scan
|
|
|
2025 |
lines. (gdevpcx.c)
|
|
|
2026 |
- The PCX drivers didn't set the "version" field correctly (this was
|
|
|
2027 |
OK in 2.6.1, bug introduced sometime since then). (gdevpcx.c)
|
|
|
2028 |
- Whoever last touched the color inkjet drivers completely broke the
|
|
|
2029 |
handling of the BitsPerPixel parameter, again. We were able to half-fix it,
|
|
|
2030 |
but the code is impossible to understand, let alone modify safely.
|
|
|
2031 |
(gdevcdj.c)
|
|
|
2032 |
- Anti-aliased characters didn't work with banding. (gxclpath.c)
|
|
|
2033 |
- The PGM/PPM drivers didn't recognize black-and-white pages for
|
|
|
2034 |
optimization to PBM, only gray or colored. (gdevpbm.c)
|
|
|
2035 |
- The color inkjet drivers initialized the params_size field of the
|
|
|
2036 |
static instance incorrectly, resulting in garbage in the last few structure
|
|
|
2037 |
members when instances were copied. (gdevcdj.c)
|
|
|
2038 |
- The 24-bit PCX driver didn't pad each scan line to an even number
|
|
|
2039 |
of bytes. (gdevpcx.c)
|
|
|
2040 |
- The svga16 driver initialized its procedures incorrectly.
|
|
|
2041 |
(gdevpcfb.c)
|
|
|
2042 |
|
|
|
2043 |
Adds text writing capability to the PDF writer. In its present form, this
|
|
|
2044 |
is a very bad hack: it only works for the 14 built-in fonts with their
|
|
|
2045 |
standard encodings. (gdevpdfx.h, gdevpdf.c, gdevpdfp.c, gdevpdft.c)
|
|
|
2046 |
|
|
|
2047 |
Adds garbage collection and finalization for device instances (gscdefs.h,
|
|
|
2048 |
gsdevice.h, gxdevice.h, gconf.c, gdevmrop.c, gsdevice.c, gslib.c, gsmain.c).
|
|
|
2049 |
(See the "Driver instance allocation" section of drivers.doc for more
|
|
|
2050 |
details about what is required to make this work.)
|
|
|
2051 |
|
|
|
2052 |
- When an open device is freed (explicitly, by garbage collection,
|
|
|
2053 |
or by 'restore'), if the device was allocated dynamically by Ghostscript's
|
|
|
2054 |
standard allocator, the device's close procedure will be called. THIS IS A
|
|
|
2055 |
NON-BACKWARD-COMPATIBLE CHANGE for dynamically created devices, which
|
|
|
2056 |
formerly were not closed automatically, even when Ghostscript exited.
|
|
|
2057 |
|
|
|
2058 |
- Device instances allocated in GC-able space will be traced
|
|
|
2059 |
like other objects, assuming they have proper structure descriptors.
|
|
|
2060 |
|
|
|
2061 |
Provides a (very slow but correct) default implementation of copy_alpha.
|
|
|
2062 |
(gxcindex.h, gdevdflt.c, gsimage4.c)
|
|
|
2063 |
|
|
|
2064 |
Removes the implementation of copy_alpha in gdevpbm.c, since this is now
|
|
|
2065 |
implemented (more efficiently) in gdevm24.c. (gdevpbm.c)
|
|
|
2066 |
|
|
|
2067 |
Adds TextAlphaBits and GraphicsAlphaBits as readable parameters for all
|
|
|
2068 |
devices. (gsdparam.c, gdevpbm.c, gdevsvga.c)
|
|
|
2069 |
|
|
|
2070 |
</pre><h3><a name="V3.65_Platforms"></a>Platforms</h3><pre>
|
|
|
2071 |
|
|
|
2072 |
Fixes bugs:
|
|
|
2073 |
- There were some attempts to coerce long to short pointers
|
|
|
2074 |
on segmented platforms. (gsdparam.c, gstype1.c)
|
|
|
2075 |
- The stack could overflow on the 16-bit MS Windows platform.
|
|
|
2076 |
(gxfill.c, gxclread.c)
|
|
|
2077 |
- The DLL callback parameter for window resize events was computed
|
|
|
2078 |
incorrectly on 16-bit systems. (gdevwdib.c)
|
|
|
2079 |
- A file included gxdevice.h unnecessarily. (bcwin.mak,
|
|
|
2080 |
bcwin32.mak, msvcwint.mak, gp_mswin.c)
|
|
|
2081 |
|
|
|
2082 |
</pre><h3><a name="V3.65_Interpreter"></a>Interpreter</h3><pre>
|
|
|
2083 |
|
|
|
2084 |
Fixes bugs:
|
|
|
2085 |
- Storing into a read-only dictionary with def or store was
|
|
|
2086 |
allowed. (dstack.h)
|
|
|
2087 |
- If the interpreter allocated extra space for a dictionary
|
|
|
2088 |
to round its storage size up to a power of 2, it was possible for
|
|
|
2089 |
length to exceed maxlength. (idict.c, iinit.c)
|
|
|
2090 |
- The if and ifelse operators didn't check that their
|
|
|
2091 |
'procedure' arguments were actually procedures. (interp.c, zcontrol.c)
|
|
|
2092 |
- The undef operator was defined even in Level 1
|
|
|
2093 |
configurations. (We need this capability for all configurations, so
|
|
|
2094 |
we always define .undef.) (zdict.c, gs_*.ps, pdf_*.ps)
|
|
|
2095 |
- In Level 1 configurations, copying a dictionary should copy the
|
|
|
2096 |
access attributes, but it didn't. We have to work around this
|
|
|
2097 |
compatibility quirk in a lot of places. (gs_cidfn.ps, gs_cmap.ps,
|
|
|
2098 |
gs_dps1.ps, gs_fonts.ps, gs_init.ps, gs_l2img.ps, gs_lev2.ps, gs_pdf.ps,
|
|
|
2099 |
gs_pfile.ps, gs_res.ps, gs_setpd.ps, gs_type1.ps, zdict.c)
|
|
|
2100 |
- DSC comments that crossed a buffer boundary didn't call the
|
|
|
2101 |
scan_dsc_proc. (iscan.c)
|
|
|
2102 |
- "statusdict /setpage get exec" caused an error. (gs_statd.ps)
|
|
|
2103 |
- The default size of systemdict had become slightly too small.
|
|
|
2104 |
(iinit.c)
|
|
|
2105 |
- Doing a showpage or copypage would cause the equivalent of a
|
|
|
2106 |
setpagedevice at the next restore or grestore. We aren't entirely sure that
|
|
|
2107 |
the fix we made doesn't have bad side-effects. (gs_setpd.ps)
|
|
|
2108 |
- Not all filters accepted (and ignored) an optional dictionary
|
|
|
2109 |
parameter on the stack. (ifilter.h, zfbcp.c, zfdecode.c, zfilter.c,
|
|
|
2110 |
zfilterx.c, zfzlib.c, zmisc1.c)
|
|
|
2111 |
- The PixelDifference filters required a Columns parameter, rather
|
|
|
2112 |
than defaulting it to 1. (spdiffx.h, zfdecode.c)
|
|
|
2113 |
- Contrary to the NEWS entry for release 3.60, the LZW filters did
|
|
|
2114 |
not implement pixel differencing. (zfdecode.c, zfilter2.c)
|
|
|
2115 |
- readstring with a 0-length string didn't signal a rangecheck.
|
|
|
2116 |
This doesn't make a lot of sense to me, but it's what the Adobe
|
|
|
2117 |
documentation specifies. Unfortunately, we have to work around this in a
|
|
|
2118 |
number of places that assumed the sensible definition (return () true
|
|
|
2119 |
without reading anything). (gs_l2img.ps, pdf_font.ps, zfileio.c)
|
|
|
2120 |
- Encoded number strings didn't work (bug introduced in 3.64).
|
|
|
2121 |
(ibnum.c)
|
|
|
2122 |
- The allocator could produce spurious "free large 0x...... chunk
|
|
|
2123 |
not found" messages. (These didn't cause any harm, but they were
|
|
|
2124 |
disturbing.) (gsalloc.c)
|
|
|
2125 |
|
|
|
2126 |
Changes the default transfer function for high-resolution devices so
|
|
|
2127 |
that it is the identity function if the device is continuous-tone.
|
|
|
2128 |
(gs_init.ps)
|
|
|
2129 |
|
|
|
2130 |
Undoes the "subversion" of zgetdevice noted in release 3.61, since it
|
|
|
2131 |
is now possible to copy devices safely. (zdevice.c)
|
|
|
2132 |
|
|
|
2133 |
Changes the implementation of the garbage collector and restore so that
|
|
|
2134 |
object finalization code may safely free objects. (igc.c, isave.c)
|
|
|
2135 |
|
|
|
2136 |
Reimplements essentially all of Type 1 BuildChar in C. (gs_init.ps,
|
|
|
2137 |
gs_type0.ps (deleted), gs_type1.ps, ifont.h, zchar.c, zchar1.c, zfont.c)
|
|
|
2138 |
|
|
|
2139 |
Reimplements DISKFONTS as a separate feature (diskfont.dev), and changes it
|
|
|
2140 |
to use Type 4 fonts rather than special machinery. Currently this feature
|
|
|
2141 |
is included only in the makefiles for 16-bit architectures. (bc.mak,
|
|
|
2142 |
bcwin.mak, int.mak, tc.mak, gs_diskf.ps, gs_fonts.ps, gs_type1.ps)
|
|
|
2143 |
|
|
|
2144 |
Converts the library search path from a list of strings to a (PostScript)
|
|
|
2145 |
array of strings, one string per directory. (iminst.h, main.h, gs.c,
|
|
|
2146 |
gsmain.c, zfile.c)
|
|
|
2147 |
|
|
|
2148 |
Adds a hook procedure scan_comment_proc for processing all comments,
|
|
|
2149 |
similar to scan_dsc_proc. If both are set, scan_comment_proc is used only
|
|
|
2150 |
for non-DSC comments. (iscan.h, iscan.c)
|
|
|
2151 |
|
|
|
2152 |
</pre><h3><a name="V3.65_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
2153 |
|
|
|
2154 |
Fixes bugs:
|
|
|
2155 |
- Encrypted PDF files produced a random error (usually ioerror in
|
|
|
2156 |
--token--) rather than a meaningful message. (pdf_main.ps)
|
|
|
2157 |
- Color space setting didn't work. (gs_pdf.ps)
|
|
|
2158 |
- The algorithm for skipping a possible blank line following the
|
|
|
2159 |
'stream' keyword wasn't robust enough. (We aren't sure the new algorithm is
|
|
|
2160 |
exactly right, either.) (pdf_base.ps)
|
|
|
2161 |
|
|
|
2162 |
Gets rid of the special handling of the LZW decoding filter, since the
|
|
|
2163 |
filter itself now handles the Predictor facility. (pdf_base.ps)
|
|
|
2164 |
|
|
|
2165 |
</pre><h3><a name="V3.65_Streams"></a>Streams</h3><pre>
|
|
|
2166 |
|
|
|
2167 |
Fixes bugs:
|
|
|
2168 |
- Configurations with LZW encoding but not decoding had an
|
|
|
2169 |
undefined reference. (lib.mak, slzwc.c, slzwd.c)
|
|
|
2170 |
- The LZW-compatible encoder didn't provide a 'reset' procedure.
|
|
|
2171 |
(slzwce.c)
|
|
|
2172 |
- The PixelDifference filters didn't work for most parameter
|
|
|
2173 |
combinations in which each pixel took up more than 1 byte. (spdiff.c)
|
|
|
2174 |
- Temporary write streams could cause an infinite loop. (We only
|
|
|
2175 |
need such streams for the Predictor = 2 case of LZWEncode: this is why the
|
|
|
2176 |
bug never showed up before.) (stream.c)
|
|
|
2177 |
|
|
|
2178 |
Adds an optional reinitialization procedure to the stream template. Note
|
|
|
2179 |
that this is not the same as the PostScript 'reset' operation or the stream
|
|
|
2180 |
resetting operation invoked by sreset: the reinit procedure in the template
|
|
|
2181 |
reinitializes any internal state of the encoder or decoder without affecting
|
|
|
2182 |
buffered data. (scommon.h, strimpl.h, sbcp.c, sbhc.c, slzwce.c, slzwd.c,
|
|
|
2183 |
slzwe.c, smtf.c, spdiff.c, srle.c) ****** NOT DONE YET: sbwbs.c, szlibd.c,
|
|
|
2184 |
szlibe.c
|
|
|
2185 |
|
|
|
2186 |
Adds a decoding stream for the run-length compression used in PCX.
|
|
|
2187 |
(spcxx.h, spcxd.c)
|
|
|
2188 |
|
|
|
2189 |
</pre><h3><a name="V3.65_Library"></a>Library</h3><pre>
|
|
|
2190 |
|
|
|
2191 |
Fixes bugs:
|
|
|
2192 |
- A recent edit introduced an extraneous right parenthesis.
|
|
|
2193 |
(gpcheck.h)
|
|
|
2194 |
- A minor nit in a macro could cause incorrect grouping of 'if'
|
|
|
2195 |
statements under implausible conditions. (gsmdebug.h)
|
|
|
2196 |
- The first data plane buffer of an image enumerator didn't get
|
|
|
2197 |
marked during garbage collection. (gsimage.c)
|
|
|
2198 |
- The Watcom C compiler required splitting up a declaration.
|
|
|
2199 |
(gxcmap.h)
|
|
|
2200 |
- The extern declarations for the tables in gconf.c weren't gathered
|
|
|
2201 |
together in one place. (gscdefs.h, gxiodev.h, gconf.c, gsdevice.c, gslib.c,
|
|
|
2202 |
gsinit.c, gsiodev.c)
|
|
|
2203 |
- charpath and show produced different output. We fixed this by
|
|
|
2204 |
undoing a "bug fix", introduced in version 2.9, which suppressed hinting and
|
|
|
2205 |
coordinate rounding for charpath; we aren't sure this won't cause some
|
|
|
2206 |
obscure problems to reappear. (gstype1.c)
|
|
|
2207 |
- Clipping with a rectangle usually created a 3-rectangle clipping
|
|
|
2208 |
list, slowing down all drawing operations (performance bug only).
|
|
|
2209 |
(gxacpath.c)
|
|
|
2210 |
- stroking in a rotated coordinate system sometimes thought lines
|
|
|
2211 |
were always thin when they actually weren't. (gxstroke.c)
|
|
|
2212 |
- An unsigned quantity wasn't properly converted to signed, possibly
|
|
|
2213 |
causing band path coordinates to get mangled. (gxclread.c)
|
|
|
2214 |
- A bug in the Borland compiler caused an unsigned quantity to be
|
|
|
2215 |
interpreted as signed, causing band path coordinates to get mangled.
|
|
|
2216 |
(gxclread.c)
|
|
|
2217 |
|
|
|
2218 |
Changes structure type pointers on 16-bit segmented systems to full
|
|
|
2219 |
32-bit pointers. This will increase time and space requirements very
|
|
|
2220 |
slightly on these systems. (gsmemory.h, gxobj.h)
|
|
|
2221 |
|
|
|
2222 |
Changes the memory manager so that object finalization code may safely free
|
|
|
2223 |
objects. (gsmemory.h, gsstruct.h, gsalloc.c, gsmemory.c)
|
|
|
2224 |
|
|
|
2225 |
Refactors the Type 1 CharString interpreter so it can be included in
|
|
|
2226 |
the imager library. (gstype1.h, gxtype1.h, gstype1.c)
|
|
|
2227 |
|
|
|
2228 |
Starts to refactor the implementation of band lists in memory so that it can
|
|
|
2229 |
use any encoding/decoding filter. Currently this choice is made at compile
|
|
|
2230 |
time, but it could easily be made dynamic. (gxclmem.h, gxclmem.c)
|
|
|
2231 |
|
|
|
2232 |
Starts to refactor image rendering so that, like path filling and stroking,
|
|
|
2233 |
it only uses imager state and can be done after banding. (gxcmap.h,
|
|
|
2234 |
gxdraw.h, gximage.h, gsimage*.c, gxcmap.c)
|
|
|
2235 |
|
|
|
2236 |
Speeds up copy_mono for 2-bit-per-pixel devices a little. (gdevm2.c)
|
|
|
2237 |
|
|
|
2238 |
Implements an optimized copy_alpha for 24-bit memory devices. (gdevmem.h,
|
|
|
2239 |
gdevm24.c)
|
|
|
2240 |
|
|
|
2241 |
Speeds up filling rectangles significantly. (gsbitops.c)
|
|
|
2242 |
|
|
|
2243 |
Changes the band list rasterizer to use the memory space of the device
|
|
|
2244 |
rather than the C heap: our allocator is considerably faster than malloc.
|
|
|
2245 |
(gxclread.c)
|
|
|
2246 |
|
|
|
2247 |
Speeds up stroking a little, especially in 90 degree rotated coordinate
|
|
|
2248 |
systems. (gxstroke.c)
|
|
|
2249 |
|
|
|
2250 |
</pre>
|
|
|
2251 |
|
|
|
2252 |
<h2><a name="Version3.64"></a>Version 3.64 (limited, incremental) (1/27/96)</h2>
|
|
|
2253 |
|
|
|
2254 |
<p>
|
|
|
2255 |
This release fixes a few more bugs, including some serious bugs in band
|
|
|
2256 |
lists, and adds pdfmark processing to the PDF writer. The PDF writer is
|
|
|
2257 |
still not fit for real use, since it converts all text characters into 720
|
|
|
2258 |
dpi bitmaps and turns images into zillions of tiny rectangles (!), but it
|
|
|
2259 |
should be producing legal output.
|
|
|
2260 |
|
|
|
2261 |
<h3><a name="V3.64_Documentation"></a>Documentation</h3><pre>
|
|
|
2262 |
Fixes bugs:
|
|
|
2263 |
- Frans van Hoesel's e-mail address was incorrect. (gdevdjet.c)
|
|
|
2264 |
- The man page for ansi2knr was out of date. (ansi2knr.1)
|
|
|
2265 |
- The description of a procedure was out of date. (gxdcolor.h)
|
|
|
2266 |
|
|
|
2267 |
Notes that several "optional" features are required in order to obtain the
|
|
|
2268 |
full PostScript Level 1 functionality at the library level. (lib.doc)
|
|
|
2269 |
|
|
|
2270 |
Documents the top-level interpreter API. (imain.h)
|
|
|
2271 |
|
|
|
2272 |
Adds details on differences between the imager API and the PostScript
|
|
|
2273 |
graphics operators. (lib.doc)
|
|
|
2274 |
|
|
|
2275 |
Notes (here, in NEWS) that the change for device prototypes in 3.61 made the
|
|
|
2276 |
protection attributes of a device significant for the first time. Only the
|
|
|
2277 |
writable attribute is significant so far. (news)
|
|
|
2278 |
|
|
|
2279 |
</pre><h3><a name="V3.64_Procedures"></a>Procedures</h3><pre>
|
|
|
2280 |
|
|
|
2281 |
Fixes bugs:
|
|
|
2282 |
- The .dev rules in the library makefiles didn't list echogs as a
|
|
|
2283 |
dependency. (jpeg.mak, libpng.mak, zlib.mak)
|
|
|
2284 |
- The install rule tried to install gs.1.1 etc. rather than gs.1
|
|
|
2285 |
etc. (unix-end.mak)
|
|
|
2286 |
- The install rule tried to install some nonexistent *.1 files.
|
|
|
2287 |
(unix-end.mak)
|
|
|
2288 |
|
|
|
2289 |
Adds 'help' and '?' procedures to assist users who don't read the
|
|
|
2290 |
documentation. (gs_init.ps)
|
|
|
2291 |
|
|
|
2292 |
Adds -A-, -E-, and -Z-... to turn off debugging flags. (gs.c)
|
|
|
2293 |
|
|
|
2294 |
Adds a -dDELAYBIND switch to delay binding operators, to allow special
|
|
|
2295 |
packages like pstotext to redefine them. (gs_init.ps)
|
|
|
2296 |
|
|
|
2297 |
</pre><h3><a name="V3.64_Utilities"></a>Utilities</h3><pre>
|
|
|
2298 |
|
|
|
2299 |
Fixes bugs:
|
|
|
2300 |
- Fonts produced by rollconv.ps left a couple of items on the
|
|
|
2301 |
operand stack, and left array packing set to true. (rollconv.ps)
|
|
|
2302 |
|
|
|
2303 |
Makes ansi2knr require that the first token after a function header be a
|
|
|
2304 |
left brace on the next line, so it can cope with some macros in IJG release
|
|
|
2305 |
6a. Also updates it to work better without the GNU configure machinery, and
|
|
|
2306 |
on some old compilers. (ansi2knr.c)
|
|
|
2307 |
|
|
|
2308 |
Changes align.ps so it can be used directly to determine the margin
|
|
|
2309 |
parameters. (align.ps, psfiles.doc)
|
|
|
2310 |
|
|
|
2311 |
</pre><h3><a name="V3.64_Drivers"></a>Drivers</h3><pre>
|
|
|
2312 |
|
|
|
2313 |
Fixes bugs:
|
|
|
2314 |
- The TIFF/F (G3 and G4) drivers were broken (bug introduced in
|
|
|
2315 |
3.60). (gdevtfax.c)
|
|
|
2316 |
- The PDF writer produced invalid output for 0-width, 0-height
|
|
|
2317 |
images. (gdevpdfi.c)
|
|
|
2318 |
- The PDF writer wasn't a page device. (gdevpdf.c)
|
|
|
2319 |
- The PDF writer assigned the Contents node rather than the Pages
|
|
|
2320 |
node as the Parent of each page. (gdevpdfx.h, gdevpdf.c)
|
|
|
2321 |
|
|
|
2322 |
Corrects the margin information for the DeskJet printers to be the actual
|
|
|
2323 |
values observed on a printer; all of the values in the file were wrong.
|
|
|
2324 |
(gdevdjet.c)
|
|
|
2325 |
|
|
|
2326 |
Adds pdfmark recognition and conversion to the PDF writer. All documented
|
|
|
2327 |
pdfmarks (ANN, ARTICLE, DEST, DOCINFO, DOCVIEW, LNK, OUT, PAGE, PAGES, PS)
|
|
|
2328 |
are recognized and converted, but some of them are not converted correctly.
|
|
|
2329 |
(gs_pdfwr.ps, gdevpdfx.h, gdevpdf.c, gdevpdfm.c)
|
|
|
2330 |
|
|
|
2331 |
Adds recognition of all Distiller parameters, except *ImageDict, to the PDF
|
|
|
2332 |
writer. Currently only ASCII85EncodePages actually has any effect.
|
|
|
2333 |
(gs_pdfwr.ps, gdevpdfx.h, gdevpdfp.c)
|
|
|
2334 |
|
|
|
2335 |
Ensures that PDF output files include at least a default Info dictionary.
|
|
|
2336 |
(gdevpdf.c)
|
|
|
2337 |
|
|
|
2338 |
Changes the handling of coordinates in PDF output files so that the scale is
|
|
|
2339 |
always 72 dpi, and so that each graphics operator is on a line by itself,
|
|
|
2340 |
for compatibility with Adobe Illustrator. (gdevpdfx.h, gdevpdf*.c)
|
|
|
2341 |
|
|
|
2342 |
Adds a driver for ImageMagick's MIFF format. The driver currently only
|
|
|
2343 |
produces 24-bit, direct color, RLE compressed output. (gdevmiff.c)
|
|
|
2344 |
|
|
|
2345 |
</pre><h3><a name="V3.64_Platforms"></a>Platforms</h3><pre>
|
|
|
2346 |
|
|
|
2347 |
Changes the gp_check_interrupts platform procedure so that instead of just
|
|
|
2348 |
returning a Boolean, it can now also return a negative error code. THIS IS
|
|
|
2349 |
(THEORETICALLY) A NON-BACKWARD-COMPATIBLE CHANGE. However, since all
|
|
|
2350 |
implementations of this procedure should only have been returning 0 or 1 up
|
|
|
2351 |
to now, no existing code should need to be changed. (gpcheck.h, gsmisc.c)
|
|
|
2352 |
|
|
|
2353 |
</pre><h3><a name="V3.64_Interpreter"></a>Interpreter</h3><pre>
|
|
|
2354 |
|
|
|
2355 |
Fixes bugs:
|
|
|
2356 |
- devicenames was accidentally deleted. (gs_init.ps)
|
|
|
2357 |
- -dFAKEFONTS could cause the memory manager to waste a lot of time.
|
|
|
2358 |
(gs_dps1.ps)
|
|
|
2359 |
- Using -r or -dFIXEDMEDIA with a non-page device caused an error.
|
|
|
2360 |
(gs_init.ps)
|
|
|
2361 |
- A VMS compiler reserves the word "readonly", which was used as a
|
|
|
2362 |
parameter name. (imain.h, gsmain.c)
|
|
|
2363 |
- A garbage collection during the execution of x/y/xyshow with an
|
|
|
2364 |
array providing the values could get confused. (ibnum.h, ichar.h, stream.h,
|
|
|
2365 |
ibnum.c, iscanbin.c, zchar.c, zchar2.c, zdps1.c, zupath.c)
|
|
|
2366 |
- Errors in encoded number strings produced a typecheck rather than
|
|
|
2367 |
a rangecheck error. (ibnum.c, zupath.c)
|
|
|
2368 |
|
|
|
2369 |
Updates the DCT filters for IJG release 6a. (zfdctc.c)
|
|
|
2370 |
|
|
|
2371 |
Provides an API call for getting the real stdio files. (imain.h,
|
|
|
2372 |
gs.c, gsmain.c)
|
|
|
2373 |
|
|
|
2374 |
</pre><h3><a name="V3.64_Streams"></a>Streams</h3><pre>
|
|
|
2375 |
|
|
|
2376 |
Fixes bugs:
|
|
|
2377 |
- If the CCITTFaxEncode stream encountered an output buffer boundary
|
|
|
2378 |
while processing the last scan line of input, it could fail to process some
|
|
|
2379 |
the scan line. (scfe.c)
|
|
|
2380 |
- A couple of pointers weren't always initialized, possibly
|
|
|
2381 |
confusing the garbage collector. (stream.c)
|
|
|
2382 |
- The weighting coefficient structures used for image scaling
|
|
|
2383 |
weren't declared properly for the garbage collector. (siscale.h, siscale.c)
|
|
|
2384 |
|
|
|
2385 |
</pre><h3><a name="V3.64_Library"></a>Library</h3><pre>
|
|
|
2386 |
|
|
|
2387 |
Fixes bugs:
|
|
|
2388 |
- Unrotated patterns always used the bounding box size as the step,
|
|
|
2389 |
rather than XStep/YStep. (gspcolor.c)
|
|
|
2390 |
- Alpha computations for graphics could be seriously incorrect (bug
|
|
|
2391 |
introduced in 3.6x). (gdevabuf.c)
|
|
|
2392 |
- The length of the next_data_x command for the fill_mask operation
|
|
|
2393 |
was incorrect, causing the band list to become confused (bug introduced in
|
|
|
2394 |
3.63). (gxclpath.c)
|
|
|
2395 |
- An extern was omitted, causing linker warnings. (gxdevice.h)
|
|
|
2396 |
- RasterOps could cause an invalid access because the palette
|
|
|
2397 |
for a memory device wasn't set. (gdevmrop.c)
|
|
|
2398 |
- gximage.h was included unnecessarily. (gspaint.c)
|
|
|
2399 |
- Color screens caused a segmentation fault (bug introduced in
|
|
|
2400 |
3.6x). (gxcht.c)
|
|
|
2401 |
- cshow returned the width in an incorrect coordinate system.
|
|
|
2402 |
(gscoord.h, gschar.c)
|
|
|
2403 |
- Filling or stroking a path that lay entirely off the page in the
|
|
|
2404 |
+X or +Y direction could corrupt memory (bug introduced in 3.6x).
|
|
|
2405 |
(gxclpath.c)
|
|
|
2406 |
- When banding, painting characters with halftones produced random
|
|
|
2407 |
results (bug introduced in 3.6x). (gxclpath.c)
|
|
|
2408 |
- When banding, characters could get clipped when they shouldn't be
|
|
|
2409 |
(bug introduced in 3.6x). (gxclpath.c)
|
|
|
2410 |
- The default implementation of fill_mask could discard clipped
|
|
|
2411 |
bitmaps (bug introduced in 3.6x). (gdevdflt.c)
|
|
|
2412 |
- Non-halftoned 24-bit colors could get garbled when banding (bug
|
|
|
2413 |
introduced in 3.6x). (gxclist.c)
|
|
|
2414 |
- When banding, if a stroked path had subpaths that fell entirely
|
|
|
2415 |
outside the current band, the rest of the path was drawn in the wrong place
|
|
|
2416 |
(bug introduced in 3.6x). (gxclpath.c)
|
|
|
2417 |
|
|
|
2418 |
Speeds up image interpolation on machines with slow floating point.
|
|
|
2419 |
(siscale.h, siscale.c)
|
|
|
2420 |
|
|
|
2421 |
Speeds up interpolated images when using device color spaces. (gxcvalue.h,
|
|
|
2422 |
gxfrac.h, gdevht.c, gxcmap.c, gsimage.c, gsimage3.c)
|
|
|
2423 |
|
|
|
2424 |
Speeds up color mapping a little by removing tests and calls in favor of
|
|
|
2425 |
code copying. (gxcmap.c)
|
|
|
2426 |
|
|
|
2427 |
Implements RasterOp for 24-bit RGB devices. (gdevm8.c, gdevm24.c,
|
|
|
2428 |
gdevmrop.c)
|
|
|
2429 |
|
|
|
2430 |
</pre>
|
|
|
2431 |
|
|
|
2432 |
<h2><a name="Version3.63"></a>Version 3.63 (limited, incremental) (1/14/96)</h2>
|
|
|
2433 |
|
|
|
2434 |
<p>
|
|
|
2435 |
This release has the usual collection of bug fixes, and two significant
|
|
|
2436 |
additions: AccurateScreens, and the first draft of a PostScript->PDF
|
|
|
2437 |
converter ("distiller").
|
|
|
2438 |
|
|
|
2439 |
<h3><a name="V3.63_Documentation"></a>Documentation</h3><pre>
|
|
|
2440 |
Fixes bugs:
|
|
|
2441 |
- Some documentation for pstoppm.ps was out of date. (psfiles.doc)
|
|
|
2442 |
- Documentation for acctest.ps, view*.ps, and zeroline.ps was
|
|
|
2443 |
missing. (psfiles.doc)
|
|
|
2444 |
- The documentation for rollconv.ps omitted the .CSR file.
|
|
|
2445 |
(rollconv.ps)
|
|
|
2446 |
|
|
|
2447 |
Removes an inappropriate RCS Id line. (gs.1)
|
|
|
2448 |
|
|
|
2449 |
Adds a list of paper sizes to the man page. (gs.1)
|
|
|
2450 |
|
|
|
2451 |
Suggests that driver authors use parameterization rather than copying when
|
|
|
2452 |
possible. (drivers.doc)
|
|
|
2453 |
|
|
|
2454 |
Adds an announcement of Ghostscript support on CompuServe. (README)
|
|
|
2455 |
|
|
|
2456 |
Documents the new -dCOLORSCREEN switch and the existing -dDITHERPPI=lpi
|
|
|
2457 |
switch. (use.doc)
|
|
|
2458 |
|
|
|
2459 |
Notes that the OS/2 implementation now requires EMX/GCC 0.9b rather than
|
|
|
2460 |
0.9a. (install.doc)
|
|
|
2461 |
|
|
|
2462 |
Adds some new man pages. (pdf2ps.1, ps2ascii.1)
|
|
|
2463 |
|
|
|
2464 |
Greatly expands lib.doc. (lib.doc)
|
|
|
2465 |
|
|
|
2466 |
</pre><h3><a name="V3.63_Procedures"></a>Procedures</h3><pre>
|
|
|
2467 |
|
|
|
2468 |
Fixes bugs:
|
|
|
2469 |
- The pg target for Unix platforms didn't include some necessary
|
|
|
2470 |
additional X11 libraries. (unix-end.mak)
|
|
|
2471 |
- The Unix library makefile didn't define CCAUX or CCLEAF.
|
|
|
2472 |
(ugcclib.mak)
|
|
|
2473 |
- Unix systems didn't `install' some .ps files. (unix-end.mak)
|
|
|
2474 |
|
|
|
2475 |
Extends genconf so that features at the library level can have
|
|
|
2476 |
initialization procedures. (gconf.c, genconf.c, gsinit.c)
|
|
|
2477 |
|
|
|
2478 |
Adds a -dCOLORSCREEN[=false] switch to force enabling or disabling of
|
|
|
2479 |
4-color screens. (gs_init.ps, gs_setpd.ps)
|
|
|
2480 |
|
|
|
2481 |
</pre><h3><a name="V3.63_Utilities"></a>Utilities</h3><pre>
|
|
|
2482 |
|
|
|
2483 |
Fixes bugs:
|
|
|
2484 |
- The prfont utility didn't leave enough of a margin on the left.
|
|
|
2485 |
(prfont.ps)
|
|
|
2486 |
- The ps2ascii utility still created files _temp_.out and _temp_.err
|
|
|
2487 |
even though they are no longer used. (ps2ascii.ps)
|
|
|
2488 |
- The acctest.ps file was empty, rather than including a test
|
|
|
2489 |
program. (acctest.ps)
|
|
|
2490 |
|
|
|
2491 |
Adds ps2pdf[.bat] scripts for invoking the new pdfwrite driver. (ps2pdf,
|
|
|
2492 |
ps2pdf.bat, unix-end.mak)
|
|
|
2493 |
|
|
|
2494 |
</pre><h3><a name="V3.63_Drivers"></a>Drivers</h3><pre>
|
|
|
2495 |
|
|
|
2496 |
Fixes bugs:
|
|
|
2497 |
- The x11alpha driver had a patch that suppressed output in many
|
|
|
2498 |
cases. (gdevxalt.c)
|
|
|
2499 |
- The X driver set up a parameter incorrectly in copy_color.
|
|
|
2500 |
(gdevx.c)
|
|
|
2501 |
- An explicit cast was needed to handle a 'const' problem.
|
|
|
2502 |
(gdevpng.c)
|
|
|
2503 |
|
|
|
2504 |
Adds a pdfwrite driver that creates syntactically correct PDF output. The
|
|
|
2505 |
output is only reasonable for fill/stroke graphics, not for text or images.
|
|
|
2506 |
(iscan.h, sa85x.h, sfilter.h, gdevpdf.c, sfilter2.c, zfdecode.c)
|
|
|
2507 |
|
|
|
2508 |
</pre><h3><a name="V3.63_Platforms"></a>Platforms</h3><pre>
|
|
|
2509 |
|
|
|
2510 |
Fixes bugs:
|
|
|
2511 |
- The test for WinExec failure on Win32 was incorrect. (gp_mswin.c)
|
|
|
2512 |
- getenv was declared redundantly on OS/2. (gp_os2.c)
|
|
|
2513 |
- gs16spl.c was missing <string.h>. (gs16spl.c)
|
|
|
2514 |
|
|
|
2515 |
</pre><h3><a name="V3.63_Interpreter"></a>Interpreter</h3><pre>
|
|
|
2516 |
|
|
|
2517 |
Fixes bugs:
|
|
|
2518 |
- Images read data in smaller and smaller increments (performance
|
|
|
2519 |
bug only). (zpaint.c)
|
|
|
2520 |
- Images with MultipleDataSources=true and two or more DataSources
|
|
|
2521 |
referencing the same stream could get confused. (zpaint.c)
|
|
|
2522 |
- Invoking setpagedevice with an undefined key, even with Policy =
|
|
|
2523 |
1, caused an error. (gs_setpd.ps)
|
|
|
2524 |
- IEEE floats in binary tokens or encoded number strings were read
|
|
|
2525 |
incorrectly on CPUs that use non-IEEE floating point. (ibnum.c)
|
|
|
2526 |
|
|
|
2527 |
Adds a 'const' to the second parameter of zimage_setup. (zimage2.c,
|
|
|
2528 |
zpaint.c)
|
|
|
2529 |
|
|
|
2530 |
Encapsulates the filling of free memory blocks in a macro. (igc.c,
|
|
|
2531 |
igcstr.c)
|
|
|
2532 |
|
|
|
2533 |
</pre><h3><a name="V3.63_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
2534 |
|
|
|
2535 |
Fixes bugs:
|
|
|
2536 |
- If the first line of a file began with % but the line was longer
|
|
|
2537 |
than 255 characters, an error occurred. (pdf_main.ps)
|
|
|
2538 |
- Masked images didn't set the color before drawing. (gs_pdf.ps)
|
|
|
2539 |
- Extraneous blank lines in the trailer or cross-reference region
|
|
|
2540 |
caused an error. (pdf_base.ps, pdf_main.ps)
|
|
|
2541 |
|
|
|
2542 |
</pre><h3><a name="V3.63_Streams"></a>Streams</h3><pre>
|
|
|
2543 |
|
|
|
2544 |
Speeds up image interpolation a little. Much more could be still be done.
|
|
|
2545 |
(siscale.c)
|
|
|
2546 |
|
|
|
2547 |
</pre><h3><a name="V3.63_Library"></a>Library</h3><pre>
|
|
|
2548 |
|
|
|
2549 |
Fixes bugs:
|
|
|
2550 |
- An error in handling a boundary condition could cause a horizontal
|
|
|
2551 |
streak of pixels to be turned on or off when it shouldn't be. (gxfill.c)
|
|
|
2552 |
- The new scan-line-based filling loop could write pixels twice.
|
|
|
2553 |
(The old trapezoid-based loop still does write pixels twice.) (gxfill.c)
|
|
|
2554 |
- For multi-plane images, gs_image_next only sets *pused for the
|
|
|
2555 |
last plane; this wasn't documented. (gsimage.h)
|
|
|
2556 |
- Images with MultipleDataSources=true and two or more DataSources
|
|
|
2557 |
referencing the same stream could get confused. (gsimage.h, gsimage0.c)
|
|
|
2558 |
- 12-bit gray images caused an invalid memory access. (gsimage.c)
|
|
|
2559 |
- Nearly-zero-thickness lines didn't get filled, because the hack
|
|
|
2560 |
that compensates for this peculiarity of the MS Windows PostScript driver
|
|
|
2561 |
accidentally got disabled. (gxfill.c)
|
|
|
2562 |
- Some casts to remove 'const' were omitted. (gxclread.c)
|
|
|
2563 |
- 1-line-high bitmaps could get written in the band list with an
|
|
|
2564 |
inconsistent number of bytes, causing errors when reading. (gxcldev.h,
|
|
|
2565 |
gxclbits.c, gxclist.c, gxclpath.c, gxclread.c)
|
|
|
2566 |
- Isolated dots produced by round caps usually disappeared. (They
|
|
|
2567 |
still disappear sometimes.) (gxstroke.c)
|
|
|
2568 |
- On 16-bit platforms, the computation of t2 and t3 in
|
|
|
2569 |
gx_curve_x_at_y could overflow, leading to incorrect output. (gxpcopy.c)
|
|
|
2570 |
- Stroking horizontal or vertical lines could produce variations of
|
|
|
2571 |
1 pixel in the line width. (gxstroke.c)
|
|
|
2572 |
- The default clipping region for band rendering was too large,
|
|
|
2573 |
leading to wasted work. (gxclread.c)
|
|
|
2574 |
- Guarantees no double pixel writing when necessary, i.e., when a
|
|
|
2575 |
non-idempotent RasterOp is selected. (gsropt.h, gxfill.c)
|
|
|
2576 |
- For unrotated black-and-white images, one column of pixels at the
|
|
|
2577 |
right edge of the image might be incorrect. (gsimage1.c)
|
|
|
2578 |
- A const pointer was passed inappropriately. (gxistate.h,
|
|
|
2579 |
gscoord.c)
|
|
|
2580 |
- CIE color conversion could address 1 element beyond the end of an
|
|
|
2581 |
array, with unpredictable results. (gscie.c)
|
|
|
2582 |
|
|
|
2583 |
Separates out the higher-level band list facilities, so they can be an
|
|
|
2584 |
optional feature. (lib.mak, gxcldev.h, gxclpath.h, gxclbits.c, gxclist.c,
|
|
|
2585 |
gxclpath.c, gxclread.c)
|
|
|
2586 |
|
|
|
2587 |
Implements bitmap (fill_mask) clipping in the band list. (gxcldev.h,
|
|
|
2588 |
gxclpath.h, gxclist.c, gxclpath.c, gxclread.c)
|
|
|
2589 |
|
|
|
2590 |
Starts to separate out the RasterOp facility as an optional feature.
|
|
|
2591 |
(lib.mak, gxdevice.h, gxdevrop.h, gdevdflt.c, gdevmrop.c)
|
|
|
2592 |
|
|
|
2593 |
Encapsulates the filling of free memory blocks in a macro, at the request of
|
|
|
2594 |
a licensee. (gdebug.h, gsmdebug.h, gsmemory.h, gs.c, gsalloc.c, gsmemory.c,
|
|
|
2595 |
gxbcache.c)
|
|
|
2596 |
|
|
|
2597 |
Speeds up fill_rectangle for 32-bit devices. (gdevm32.c)
|
|
|
2598 |
|
|
|
2599 |
Speeds up path writing in band lists a little. (gxclpath.c)
|
|
|
2600 |
|
|
|
2601 |
Implements AccurateScreens along the lines described in the Adobe
|
|
|
2602 |
documentation. The current implementation can produce very large
|
|
|
2603 |
super-cells, so it will not always be able to actually increase the screen
|
|
|
2604 |
accuracy. (gxdht.h, gsht.c, gshtscr.c)
|
|
|
2605 |
|
|
|
2606 |
</pre>
|
|
|
2607 |
|
|
|
2608 |
<h2><a name="Version3.62"></a>Version 3.62 (limited, incremental) (12/26/95)</h2>
|
|
|
2609 |
|
|
|
2610 |
<p>
|
|
|
2611 |
This release makes some licensee-requested improvements in the garbage
|
|
|
2612 |
collector and fixes a couple of minor bugs. It also constitutes a
|
|
|
2613 |
checkpoint for the forthcoming forked 3.53 release.
|
|
|
2614 |
|
|
|
2615 |
<h3><a name="V3.62_Documentation"></a>Documentation</h3><pre>
|
|
|
2616 |
Notes that for Win32s, gs16spl.exe must be in the same directory as
|
|
|
2617 |
gswin32.exe. (install.doc)
|
|
|
2618 |
|
|
|
2619 |
Changes `3.N' to a real version number in the man page. (gs.1)
|
|
|
2620 |
|
|
|
2621 |
Adds a reference to dos-psv, another "dumb terminal" user interface for
|
|
|
2622 |
Ghostscript intended for MS-DOS users. (README)
|
|
|
2623 |
|
|
|
2624 |
</pre><h3><a name="V3.62_Procedures"></a>Procedures</h3><pre>
|
|
|
2625 |
|
|
|
2626 |
Fixes bugs:
|
|
|
2627 |
- The stack size for some of the PC platforms was set too small.
|
|
|
2628 |
(watc.mak, watcwin.mak)
|
|
|
2629 |
|
|
|
2630 |
Changes the default value of ORIENT1 from false to true, i.e., assumes that
|
|
|
2631 |
a value of 1 for the orientation parameter of setpageparams indicates
|
|
|
2632 |
portrait orientation. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE. It only
|
|
|
2633 |
affects files created for roll-media imagesetters. (gs_init.ps, use.doc)
|
|
|
2634 |
|
|
|
2635 |
</pre><h3><a name="V3.62_Interpreter"></a>Interpreter</h3><pre>
|
|
|
2636 |
|
|
|
2637 |
Fixes bugs:
|
|
|
2638 |
- The definition of the op_index_op_array_table macro had an
|
|
|
2639 |
incorrect trailing semicolon. (opdef.h)
|
|
|
2640 |
- Setting the PageSize policy to 1 and then trying to set the page
|
|
|
2641 |
size caused an error if FIXEDMEDIA was selected. (gs_setpd.ps)
|
|
|
2642 |
|
|
|
2643 |
Changes the garbage collector marking phase so that instead of just using a
|
|
|
2644 |
single block (allocated, free, or default) for the mark stack, it can chain
|
|
|
2645 |
all three types of block together. (igc.h, igc.c, igcstr.c, ilocate.c)
|
|
|
2646 |
|
|
|
2647 |
Refactors the garbage collector slightly to reduce inter-module
|
|
|
2648 |
dependencies. (int.mak, igc.h, igcstr.h, igcstr.c)
|
|
|
2649 |
|
|
|
2650 |
Changes the garbage collector to keep track of ranges within each chunk that
|
|
|
2651 |
must be scanned if the mark stack overflows. (gxalloc.h, igc.c)
|
|
|
2652 |
|
|
|
2653 |
Adds [write]===[only] procedures, which act like == but also print the
|
|
|
2654 |
contents of dictionaries, and ppstack, which acts like pstack but uses ===.
|
|
|
2655 |
Changes ESTACKPRINT and OSTACKPRINT to use === rather than ==. (gs_init.ps,
|
|
|
2656 |
gs_setpd.ps)
|
|
|
2657 |
|
|
|
2658 |
</pre><h3><a name="V3.62_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
2659 |
|
|
|
2660 |
Fixes bugs:
|
|
|
2661 |
- If a PDF file substituted a calibrated color space for the
|
|
|
2662 |
DeviceGray or DeviceRGB color space using a ColorSpace resource, the
|
|
|
2663 |
PostScript file that pdf2ps produced from that PDF file caused an error.
|
|
|
2664 |
(gs_pdf.ps)
|
|
|
2665 |
|
|
|
2666 |
</pre><h3><a name="V3.62_Library"></a>Library</h3><pre>
|
|
|
2667 |
|
|
|
2668 |
Fixes bugs:
|
|
|
2669 |
- The debugging code for checking the sorting of line lists didn't
|
|
|
2670 |
check for an empty list. (gxfill.c)
|
|
|
2671 |
|
|
|
2672 |
</pre>
|
|
|
2673 |
|
|
|
2674 |
<h2><a name="Version3.61"></a>Version 3.61 (limited) (12/10/95)</h2>
|
|
|
2675 |
|
|
|
2676 |
<p>
|
|
|
2677 |
This limited release fixes a few bugs (including a couple that significantly
|
|
|
2678 |
affected character quality) and also includes some substantial performance
|
|
|
2679 |
improvements.
|
|
|
2680 |
|
|
|
2681 |
<h3><a name="V3.61_Documentation"></a>Documentation</h3><pre>
|
|
|
2682 |
Fixes bugs:
|
|
|
2683 |
- The directory name for the PNG library was incorrect.
|
|
|
2684 |
(libpng.mak)
|
|
|
2685 |
- The analysis of curve monotonocity in gxpcopy.c had an error.
|
|
|
2686 |
(gxpcopy.c)
|
|
|
2687 |
|
|
|
2688 |
Changes the subdirectory names for zlib and libpng to be consistent.
|
|
|
2689 |
(make.doc)
|
|
|
2690 |
|
|
|
2691 |
Documents a possible problem with object file format incompatibilities in
|
|
|
2692 |
certain versions of Linux. (make.doc)
|
|
|
2693 |
|
|
|
2694 |
Documents the new distinction between devices and device prototypes.
|
|
|
2695 |
(language.doc)
|
|
|
2696 |
|
|
|
2697 |
Adds a pointer to DEC's free pstotext utility. (README)
|
|
|
2698 |
|
|
|
2699 |
</pre><h3><a name="V3.61_Procedures"></a>Procedures</h3><pre>
|
|
|
2700 |
|
|
|
2701 |
Fixes bugs:
|
|
|
2702 |
- zlib.mak omitted some files in the encoding module dependencies.
|
|
|
2703 |
(zlib.mak)
|
|
|
2704 |
- os2.mak referred to png.mak rather than libpng.mak. (os2.mak)
|
|
|
2705 |
- The png devices didn't include gdevpccm.$(OBJ) as a required file.
|
|
|
2706 |
(devs.mak)
|
|
|
2707 |
- Some modules in lib.mak referred to stream.h, which was defined in
|
|
|
2708 |
int.mak. (int.mak, lib.mak)
|
|
|
2709 |
- Quite a few dependencies on header files were missing from the
|
|
|
2710 |
makefiles. (int.mak, lib.mak, *.mak)
|
|
|
2711 |
|
|
|
2712 |
Adds a 'pg' target to the Unix makefiles, for building profiling
|
|
|
2713 |
configurations. (unix-end.mak)
|
|
|
2714 |
|
|
|
2715 |
</pre><h3><a name="V3.61_Utilities"></a>Utilities</h3><pre>
|
|
|
2716 |
|
|
|
2717 |
Fixes bugs:
|
|
|
2718 |
- Type 1 fonts in which some characters are defined by PostScript
|
|
|
2719 |
procedures couldn't be compiled. (ccfont.h, iccfont.c, font2c.ps)
|
|
|
2720 |
- pdf2ps didn't write Widths or Encoding in the converted file,
|
|
|
2721 |
producing incorrect spacing and incorrect characters. (pdf_2ps.ps)
|
|
|
2722 |
- markhint.ps didn't handle the Type 1 'div' operator, causing
|
|
|
2723 |
typecheck errors. (markhint.ps)
|
|
|
2724 |
- markhint.ps ignored the hstem3 and vstem3 hints. (markhint.ps)
|
|
|
2725 |
|
|
|
2726 |
Changes the rollconv.ps utility to produce files whose names conform to the
|
|
|
2727 |
8.3 length restriction, and to reduce the fixed RAM overhead for Kanji
|
|
|
2728 |
fonts. (rollconv.ps)
|
|
|
2729 |
|
|
|
2730 |
Adds a utility for detecting compiler problems that affect Ghostscript.
|
|
|
2731 |
(bughunt.sh)
|
|
|
2732 |
|
|
|
2733 |
</pre><h3><a name="V3.61_Drivers"></a>Drivers</h3><pre>
|
|
|
2734 |
|
|
|
2735 |
Adds anti-aliasing capability (-dTextAlphaBits and -dGraphicsAlphaBits) to
|
|
|
2736 |
the PGM and PPM drivers. (gdevpbm.c)
|
|
|
2737 |
|
|
|
2738 |
Declares the static_procs member of the device structure as const *. This
|
|
|
2739 |
should have been done a long time ago! (drivers.doc, gxdevice.h)
|
|
|
2740 |
|
|
|
2741 |
</pre><h3><a name="V3.61_Platforms"></a>Platforms</h3><pre>
|
|
|
2742 |
|
|
|
2743 |
Fixes bugs:
|
|
|
2744 |
- Printing didn't work in 32-bit MS Windows environments.
|
|
|
2745 |
(bcwin32.mak, gdevmswn.c, gp_mswin.c)
|
|
|
2746 |
- There were some compatibility problems with IBM C. (os2.mak,
|
|
|
2747 |
gsdll.h, gdevpm.c, gp_os2.c)
|
|
|
2748 |
|
|
|
2749 |
Adds the PNG drivers to the 32-bit MS Windows and OS/2 makefiles.
|
|
|
2750 |
(bcwin32.mak, os2.mak)
|
|
|
2751 |
|
|
|
2752 |
Adds a conditional to work around a bug in gcc 2.7.x (it didn't recognize
|
|
|
2753 |
that the target of a const T * might still be mutable through aliasing).
|
|
|
2754 |
(stdpre.h)
|
|
|
2755 |
|
|
|
2756 |
</pre><h3><a name="V3.61_Fonts"></a>Fonts</h3><pre>
|
|
|
2757 |
|
|
|
2758 |
Fixes bugs:
|
|
|
2759 |
- Rasterizing a character in a Type 1 font with an invalid FontBBox
|
|
|
2760 |
left some garbage on the operand stack (bug introduced in 3.52 or 3.60).
|
|
|
2761 |
(gs_type1.ps)
|
|
|
2762 |
- The font substitution algorithm could fail or loop. (gs_fonts.ps)
|
|
|
2763 |
|
|
|
2764 |
Adds a little more support for CID fonts and CMaps. (gs_cidfn.ps,
|
|
|
2765 |
gs_cmap.ps)
|
|
|
2766 |
|
|
|
2767 |
</pre><h3><a name="V3.61_Interpreter"></a>Interpreter</h3><pre>
|
|
|
2768 |
|
|
|
2769 |
Fixes bugs:
|
|
|
2770 |
- An #include <memory_.h> was missing. (ziodev.h)
|
|
|
2771 |
- Scanner-detected errors (primarily syntaxerror) didn't report the
|
|
|
2772 |
file position. (gs_init.ps)
|
|
|
2773 |
- Rotated characters were rendered incorrectly (bug introduced in
|
|
|
2774 |
3.52). (gstype1.c)
|
|
|
2775 |
- Some compilers got upset about the use of 'dict' as a variable
|
|
|
2776 |
name. (zdict.c)
|
|
|
2777 |
- Operand stack overflows sometimes didn't set the "requested" field
|
|
|
2778 |
correctly. (interp.c)
|
|
|
2779 |
- Using -dBufferSpace= with a non-printer device caused an error.
|
|
|
2780 |
(gs_init.ps)
|
|
|
2781 |
|
|
|
2782 |
Adds zlibEncode/Decode filters. (int.mak, zfzlib.c)
|
|
|
2783 |
|
|
|
2784 |
Separates devices from device prototypes. Prototypes, which lack the
|
|
|
2785 |
writable attribute, cannot be installed as the current device or have their
|
|
|
2786 |
parameters changed. This change allows Ghostscript to be exited and
|
|
|
2787 |
restarted without being reloaded, which solves some problems with DLL
|
|
|
2788 |
usage. ****** WE HAD TO SUBVERT THIS CHANGE BECAUSE OF MEMORY MANAGER
|
|
|
2789 |
PROBLEMS, by making zgetdevice return a writable reference to the
|
|
|
2790 |
prototype. (We finally fixed this in release 3.65.) (gs_init.ps, iref.h,
|
|
|
2791 |
opcheck.h, zdevice.c, ztype.c, zwppm.c)
|
|
|
2792 |
|
|
|
2793 |
Extends the client API to allow for pushing values onto the operand stack.
|
|
|
2794 |
(imain.h, gs.c, gsmain.c)
|
|
|
2795 |
|
|
|
2796 |
Defines a .setdefaultscreen procedure that sets the default halftone screen,
|
|
|
2797 |
transfer function, and stroke adjustment for the current device. Changes
|
|
|
2798 |
selectdevice and setpagedevice so that they call .setdefaultscreen;
|
|
|
2799 |
setpagedevice calls .setdefaultscreen before calling the Install procedure,
|
|
|
2800 |
so that Install can set different parameters if it wishes. Note that
|
|
|
2801 |
setdevice does not do this. (gs_init.ps, gs_setpd.ps)
|
|
|
2802 |
|
|
|
2803 |
</pre><h3><a name="V3.61_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
2804 |
|
|
|
2805 |
Fixes bugs:
|
|
|
2806 |
- Tf set the current text font twice, and interacted with pdf2ps in
|
|
|
2807 |
an awkward way. (gs_pdf.ps, pdf_2ps.ps, pdf_font.ps)
|
|
|
2808 |
- If a font had variant Widths, it could get confused in the cache
|
|
|
2809 |
with the underlying font. (pdf_font.ps)
|
|
|
2810 |
- If a character appeared twice in an encoding and the font
|
|
|
2811 |
specified different Widths values for the two occurrences, the last Width
|
|
|
2812 |
would be used. We patched this to ignore zero Widths, which is not the
|
|
|
2813 |
correct solution but which almost always produces correct output.
|
|
|
2814 |
(pdf_font.ps)
|
|
|
2815 |
- Arrays containing nulls didn't print out correctly (bug introduced
|
|
|
2816 |
in 3.60). (gs_init.ps)
|
|
|
2817 |
- Some PDF files contain very large dictionaries, which caused a
|
|
|
2818 |
stackoverflow. (pdf_base.ps)
|
|
|
2819 |
|
|
|
2820 |
Speeds up the initial processing of PDF files by caching the map from page
|
|
|
2821 |
numbers to page objects, and by not scanning the outlines if we aren't
|
|
|
2822 |
producing PostScript output. (pdf_2ps.ps, pdf_base.ps, pdf_main.ps)
|
|
|
2823 |
|
|
|
2824 |
</pre><h3><a name="V3.61_Streams"></a>Streams</h3><pre>
|
|
|
2825 |
|
|
|
2826 |
Adds zlibEncode/Decode filters. (lib.mak, szlibx.h, szlibc.c, szlibd.c,
|
|
|
2827 |
szlibe.c)
|
|
|
2828 |
|
|
|
2829 |
</pre><h3><a name="V3.61_Library"></a>Library</h3><pre>
|
|
|
2830 |
|
|
|
2831 |
Fixes bugs:
|
|
|
2832 |
- glyphshow displayed a character with code 0 rather than the
|
|
|
2833 |
requested character (bug introduced in 3.60.) (gschar.c)
|
|
|
2834 |
- If trimming white space around a character reduced its raster, the
|
|
|
2835 |
character was garbled in the cache (bug introduced in 3.60.) (gxccman.c)
|
|
|
2836 |
- colorimage would incorrectly convert white pixels to black if the
|
|
|
2837 |
image color space was CMYK, the current color space was not CMYK, and the
|
|
|
2838 |
number of bits per pixel was 4 or 8. (gsimage2.c)
|
|
|
2839 |
- One of the clipping tests for images was backwards (bug introduced
|
|
|
2840 |
in 3.60). (gsimage.c)
|
|
|
2841 |
- Type 1 fonts that used the Flex feature applied hints to the path
|
|
|
2842 |
multiple times, causing dropouts, uneven stems, and other problems (bug
|
|
|
2843 |
probably introduced in 3.21). (gstype1.c)
|
|
|
2844 |
- If a Type 1 font used the Flex feature within the accent of an
|
|
|
2845 |
accented character defined with seac, the shape of the accent could be
|
|
|
2846 |
distorted. (gxtype1.h, gstype1.c)
|
|
|
2847 |
- If a Type 1 font changed hints using the hint replacement facility
|
|
|
2848 |
when the last operation was a closepath, the old hints would be applied a
|
|
|
2849 |
second time, distorting the shape. (gxhint3.c)
|
|
|
2850 |
- Band lists could read garbage beyond the end of data for a band,
|
|
|
2851 |
causing unpredictable errors (bug introduced in 3.60). (gxclread.c)
|
|
|
2852 |
- If the bounding box of the path for fill_path or stroke_path went
|
|
|
2853 |
outside the device page boundary when banding, out-of-bounds memory
|
|
|
2854 |
references occurred (bug introduced in 3.60). (gxdevice.h, gxclpath.c)
|
|
|
2855 |
|
|
|
2856 |
Adds an alternative implementation of the core path filling algorithm that
|
|
|
2857 |
is much faster on objects with curves but doesn't handle Y fattening. This
|
|
|
2858 |
is the implementation that will normally be used for rasterizing characters.
|
|
|
2859 |
This implementation rasterizes curves directly, without flattening them.
|
|
|
2860 |
(gxfixed.h, gxpath.h, gzpath.h, gsdps1.c, gxfill.c, gxpcopy.c, gxpdash.c)
|
|
|
2861 |
|
|
|
2862 |
Speeds up the flattening of curves substantially by omitting more redundant
|
|
|
2863 |
points. (gxpcopy.c)
|
|
|
2864 |
|
|
|
2865 |
Speeds up character bitmap compression a little more. (gsbitops.h,
|
|
|
2866 |
gdevabuf.c, gsbitops.c, gxccman.c)
|
|
|
2867 |
|
|
|
2868 |
Speeds up anti-aliased graphics a bit by computing a bounding box before
|
|
|
2869 |
converting from oversampling to alpha values, and by speeding up the
|
|
|
2870 |
bounding box computation itself. (gsbitops.h, gdevabuf.c, gsbitops.c,
|
|
|
2871 |
gxccman.c)
|
|
|
2872 |
|
|
|
2873 |
</pre>
|
|
|
2874 |
|
|
|
2875 |
<h2><a name="Version3.60"></a>Version 3.60 (limited) (11/20/95)</h2>
|
|
|
2876 |
|
|
|
2877 |
<p>
|
|
|
2878 |
(Note: release numbers 3.54 through 3.59 were deliberately skipped.) This
|
|
|
2879 |
internal release includes a major redesign of band lists in order to reduce
|
|
|
2880 |
their size for embedded implementations, to move towards supporting "vector"
|
|
|
2881 |
output formats, and to further separate the imager library from the language
|
|
|
2882 |
interpreters.
|
|
|
2883 |
|
|
|
2884 |
<h3><a name="V3.60_Documentation"></a>Documentation</h3><pre>
|
|
|
2885 |
Fixes bugs:
|
|
|
2886 |
- A comment was incorrect. (viewpbm.ps)
|
|
|
2887 |
- The PixelDifference filters were not documented. (language.doc)
|
|
|
2888 |
- The change from currenttime to .currenttime wasn't documented.
|
|
|
2889 |
(language.doc)
|
|
|
2890 |
- gs.1 incorrectly stated that the default font directory name
|
|
|
2891 |
included the version number. (gs.1)
|
|
|
2892 |
- The -g and -r switches didn't specify that the units for their
|
|
|
2893 |
arguments are pixels and pixels per inch respectively. (use.doc)
|
|
|
2894 |
- The PageOffset page device parameter wasn't listed.
|
|
|
2895 |
(language.doc)
|
|
|
2896 |
|
|
|
2897 |
Changes copy_mono and copy_color to optional procedures. (drivers.doc)
|
|
|
2898 |
|
|
|
2899 |
Adds a reference to ps_view.ps, a "dumb terminal" user interface for
|
|
|
2900 |
Ghostscript intended for MS-DOS users. (README)
|
|
|
2901 |
|
|
|
2902 |
Splits off the documentation on installing Ghostscript into a separate file.
|
|
|
2903 |
(readme, install.doc, use.doc)
|
|
|
2904 |
|
|
|
2905 |
Adds documentation on the data format produced by the standard LZWEncode
|
|
|
2906 |
filter. (readme, lzwce.doc)
|
|
|
2907 |
|
|
|
2908 |
Clarifies XLIBDIR vs. XLIBDIRS. (make.doc)
|
|
|
2909 |
|
|
|
2910 |
Adds user-contributed documentation on building Ghostscript under QNX.
|
|
|
2911 |
(make.doc)
|
|
|
2912 |
|
|
|
2913 |
</pre><h3><a name="V3.60_Procedures"></a>Procedures</h3><pre>
|
|
|
2914 |
|
|
|
2915 |
Fixes bugs:
|
|
|
2916 |
- The rule for building dfaxhigh.dev had a typo. (devs.mak)
|
|
|
2917 |
- The dependencies for gdevpipe.h were missing errno__h and
|
|
|
2918 |
string__h. (unixtail.mak)
|
|
|
2919 |
- The geninit program (the implementation of COMPILE_INITS=1) didn't
|
|
|
2920 |
parse the command line properly, and didn't check for PostScript files
|
|
|
2921 |
properly. (geninit.c)
|
|
|
2922 |
- ccfontab.c was omitted from the fileset. The easiest way to fix
|
|
|
2923 |
this was to rename it to icfontab.c. (gs.mak, int.mak, ccfontab.c)
|
|
|
2924 |
- The Unix makefiles installed caption.ls (a typo) rather than
|
|
|
2925 |
caption.ps. (unix-end.mak)
|
|
|
2926 |
- XLIBDIR, for dynamic library access, wasn't defined. (*head.mak,
|
|
|
2927 |
*tail.mak, ugcclib.mak)
|
|
|
2928 |
|
|
|
2929 |
Adds the PNG and ZLIB makefiles to the fileset. (*.mak, png.mak, zlib.mak,
|
|
|
2930 |
tar_cat)
|
|
|
2931 |
|
|
|
2932 |
Puts the PixelDifference filters in the standard Level 2 set, since the LZW
|
|
|
2933 |
filters may invoke them (a post-Red Book addition to the PostScript language
|
|
|
2934 |
definition). (int.mak)
|
|
|
2935 |
|
|
|
2936 |
Adds -Wcast-qual to the gcc compiler flags. (gcc-head.mak)
|
|
|
2937 |
|
|
|
2938 |
Adds the PNG drivers to the standard Unix configurations.
|
|
|
2939 |
(ansi/cc-/gcc-head.mak)
|
|
|
2940 |
|
|
|
2941 |
Adds a -dNOFONTPATH switch to suppress any consultation of the FONTPATH
|
|
|
2942 |
variable or the GS_FONTPATH environment variable. (gs_fonts.ps, gs_init.ps)
|
|
|
2943 |
|
|
|
2944 |
</pre><h3><a name="V3.60_Utilities"></a>Utilities</h3><pre>
|
|
|
2945 |
|
|
|
2946 |
Fixes bugs:
|
|
|
2947 |
- The default scaling for viewing PBM files was computed
|
|
|
2948 |
incorrectly. (viewpbm.ps)
|
|
|
2949 |
- ps2ascii left a value on the stack for each unrecognized character
|
|
|
2950 |
it processed, eventually causing a stackoverflow. (ps2ascii.ps)
|
|
|
2951 |
|
|
|
2952 |
Changes viewpbm.ps so that it simply defines P1 through P6, allowing PBM
|
|
|
2953 |
files to be executed with 'run'. (viewpbm.ps)
|
|
|
2954 |
|
|
|
2955 |
Adds a small benchmark to crudely measure hardware/system performance. The
|
|
|
2956 |
same file can either be compiled as a C program or executed as a PostScript
|
|
|
2957 |
program. (bench.c)
|
|
|
2958 |
|
|
|
2959 |
Adds a few PPD files to the distribution. There will probably be more as
|
|
|
2960 |
time goes on. (tar_gs, unix-end.mak)
|
|
|
2961 |
|
|
|
2962 |
Updates the Unix lpr scripts to handle a wider variety of device options.
|
|
|
2963 |
(unix-lpr.doc, lprsetup.sh, unix-lpr.sh)
|
|
|
2964 |
|
|
|
2965 |
Adds a utility for converting files produced by Macromedia's Rollup program
|
|
|
2966 |
to a Type 0 form directly usable by Ghostscript. (rollconv.ps)
|
|
|
2967 |
|
|
|
2968 |
</pre><h3><a name="V3.60_Drivers"></a>Drivers</h3><pre>
|
|
|
2969 |
|
|
|
2970 |
Fixes bugs:
|
|
|
2971 |
- Forwarding devices passed an incorrect first argument when
|
|
|
2972 |
forwarding a copy_rop operation. (gsdevice.c)
|
|
|
2973 |
- Because of a typo, the LaserJet drivers had incorrect margins.
|
|
|
2974 |
This was probably a new bug in 3.5x. (gdevdjet.c)
|
|
|
2975 |
- A private name was duplicated. (gdevtfax.c)
|
|
|
2976 |
- The x11alpha driver passed invalid colors to the X library.
|
|
|
2977 |
(gdevxalt.c)
|
|
|
2978 |
- The x11alpha driver set the blue component of colors incorrectly.
|
|
|
2979 |
(gdevxalt.c)
|
|
|
2980 |
- Some `const' declarations were missing. (gdevtifs.c, gdevtfnx.c,
|
|
|
2981 |
gdevxxf.c)
|
|
|
2982 |
- The size of A4 paper was slightly inconsistent across drivers.
|
|
|
2983 |
(gdevdjet.c, gdevl256.c)
|
|
|
2984 |
|
|
|
2985 |
Provides default implementations of copy_mono and copy_color in terms of
|
|
|
2986 |
fill_rectangle. (gxdevice.h, gsdevice.c)
|
|
|
2987 |
|
|
|
2988 |
Adds forwarders for sync_output and output_page. (gxdevice.h, gsdevice.c)
|
|
|
2989 |
|
|
|
2990 |
Adds new optional procedures to the driver interface:
|
|
|
2991 |
- fill_path for filling a path with a color;
|
|
|
2992 |
- stroke_path for stroking a path;
|
|
|
2993 |
- fill_mask for painting a color through a mask.
|
|
|
2994 |
The default implementations use the existing rasterizer algorithms. This
|
|
|
2995 |
involves a NON-BACKWARD-COMPATIBLE change to the parameters of a few
|
|
|
2996 |
internal routines:
|
|
|
2997 |
gs_currentlineparams
|
|
|
2998 |
gx_fill_path, gx_fill_path_only, gx_path_expand_dashes, gx_path_flatten
|
|
|
2999 |
and two externally visible routines not part of standard PostScript:
|
|
|
3000 |
gs_setfilladjust, gs_currentfilladjust
|
|
|
3001 |
(gdevmem.h, gdevprn.h, gspath.h, gspenum.h, gxcpath.h, gxdevice.h, gxdraw.h,
|
|
|
3002 |
gxpaint.h, gxpath.h, gscoord.c, gsdevice.c, gspaint.c, gsstate.c,
|
|
|
3003 |
gxacpath.c, gxclist.c, gxclread.c, gxcpath.c, gxdraw.c, gxfill.c, gxpaint.c,
|
|
|
3004 |
gxpcmap.c, gxpcopy.c, gxstroke.c)
|
|
|
3005 |
|
|
|
3006 |
Makes major changes to the dithering algorithm for the color DeskJet and
|
|
|
3007 |
BubbleJet drivers, contributed by a user. (gdevcdj.c)
|
|
|
3008 |
|
|
|
3009 |
Adds a contributed 12-bit RGB TIFF driver. (gdevtfnx.c)
|
|
|
3010 |
|
|
|
3011 |
</pre><h3><a name="V3.60_Platforms"></a>Platforms</h3><pre>
|
|
|
3012 |
|
|
|
3013 |
Fixes bugs:
|
|
|
3014 |
- The printjob created by Ghostscript was called "Ghostscirpt"
|
|
|
3015 |
instead of "Ghostscript". (gp_os2.c)
|
|
|
3016 |
- An "export" declaration was omitted from DllInit. (gp_mswin.c)
|
|
|
3017 |
|
|
|
3018 |
Removes gp_get_clock (its interface was changed from calendar
|
|
|
3019 |
days/milliseconds to epoch seconds/nanoseconds in an undocumented,
|
|
|
3020 |
NON-BACKWARD-COMPATIBLE change in 3.51), and adds a new gp_get_realtime
|
|
|
3021 |
procedure that returns epoch seconds/nanoseconds. This too is a
|
|
|
3022 |
NON-BACKWARD-COMPATIBLE change; it is required because we overlooked the
|
|
|
3023 |
prior change in a batch of user-contributed code. (gp.h, gp_*.c)
|
|
|
3024 |
|
|
|
3025 |
</pre><h3><a name="V3.60_Fonts"></a>Fonts</h3><pre>
|
|
|
3026 |
|
|
|
3027 |
Adds Heavy as a synonym for Bold when doing intelligent font substitution.
|
|
|
3028 |
(gs_fonts.ps)
|
|
|
3029 |
|
|
|
3030 |
</pre><h3><a name="V3.60_Interpreter"></a>Interpreter</h3><pre>
|
|
|
3031 |
|
|
|
3032 |
Fixes bugs:
|
|
|
3033 |
- The setup for the CCITTFax filters set the 'raster' element
|
|
|
3034 |
redundantly. (zfdecode.c)
|
|
|
3035 |
- currentscreen and currentcolorscreen could give an error if the
|
|
|
3036 |
current screen was set with sethalftone (or, for currentscreen,
|
|
|
3037 |
setcolorscreen). (gs_dps1.ps)
|
|
|
3038 |
- The font operators didn't work properly if a PostScript file
|
|
|
3039 |
redefined certain operator names. (gs_res.ps)
|
|
|
3040 |
- The CCITTFax filters imposed a limit of 9999 Rows or Columns. The
|
|
|
3041 |
new limit is 32000. (zfdecode.c)
|
|
|
3042 |
- Streams could get removed from a bookkeeping list prematurely, and
|
|
|
3043 |
wind up dangling. (zfile.c)
|
|
|
3044 |
- The garbage collector didn't ask for large enough a mark stack,
|
|
|
3045 |
and only used half of what it got. (This was only a performance problem.)
|
|
|
3046 |
(igc.c)
|
|
|
3047 |
- Two private names duplicated names in a vendor library. (zbseq.c)
|
|
|
3048 |
- Type 1 fonts didn't enforce the maximum value of BlueScale, which
|
|
|
3049 |
caused some faulty fonts produced by Fontographer to produce incorrect
|
|
|
3050 |
output. (zfont1.c)
|
|
|
3051 |
- cvs / cvrs / = didn't produce Adobe-compatible output.
|
|
|
3052 |
(gs_init.ps, iutil.h, iutil.c, zfileio.c)
|
|
|
3053 |
- Multiple -I switches set the search path incorrectly. (gsmain.c)
|
|
|
3054 |
- Many `const' declarations were missing. (icie.h, idparam.h,
|
|
|
3055 |
iref.h, iutil.h, idparam.c, iinit.c, ilocate.c, iname.c, interp.c, iparam.c,
|
|
|
3056 |
iutil.c, zcie.c, zfile.c, zgstate.c, ziodev.c, ztype.c)
|
|
|
3057 |
- Fonts could wind up with a pointer to the wrong VM space, causing
|
|
|
3058 |
potential GC or save/restore confusion. (zfont2.c)
|
|
|
3059 |
- upath could leave garbage on the stack if it failed. (gs_dps1.ps)
|
|
|
3060 |
|
|
|
3061 |
Speeds up rasterizing characters into the cache a little. (gs_type0.ps)
|
|
|
3062 |
|
|
|
3063 |
Changes the default limit on the size of cached characters from the maximum
|
|
|
3064 |
of (18 points or 5 times the "average" character size) to (18 points or 1%
|
|
|
3065 |
of the total cache size). (gs_init.ps)
|
|
|
3066 |
|
|
|
3067 |
Adds the DecodedByteAlign parameter to the CCITTFax filters. (zfdecode.c)
|
|
|
3068 |
|
|
|
3069 |
Updates some code for compatibility with the new fill_path driver procedure.
|
|
|
3070 |
(zupath.c)
|
|
|
3071 |
|
|
|
3072 |
Replaces .set/currentfilladjust with .set/currentfilladjust2, and defines
|
|
|
3073 |
the former in terms of the latter. (gs_init.ps, zgstate.c)
|
|
|
3074 |
|
|
|
3075 |
Extends the make[word]imagedevice operators to accept palette values of 16,
|
|
|
3076 |
24, and 32, for creating true-color image devices. (zdevice.c)
|
|
|
3077 |
|
|
|
3078 |
Changes realtime to match the definition of gp_get_realtime. (zmisc.c)
|
|
|
3079 |
|
|
|
3080 |
Removes the [.]currenttime operator. realtime provides interval timing in
|
|
|
3081 |
milliseconds; the %Calendar% IODevice provides calendar times. (zmisc.c)
|
|
|
3082 |
|
|
|
3083 |
Extends the LZW filters to handle the PDF Predictor (pixel-differencing)
|
|
|
3084 |
option. (zfdecode.c, zfilter2.c, zfpdiff.c (deleted))
|
|
|
3085 |
|
|
|
3086 |
</pre><h3><a name="V3.60_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
3087 |
|
|
|
3088 |
Fixes bugs:
|
|
|
3089 |
- The length of an image's data was sometimes calculated
|
|
|
3090 |
incorrectly, causing an error when converting PDF to PostScript.
|
|
|
3091 |
(pdf_draw.ps)
|
|
|
3092 |
- If word spacing and/or text spacing was non-zero, an error could
|
|
|
3093 |
occur. (gs_pdf.ps)
|
|
|
3094 |
- Text that was both filled and stroked caused an error.
|
|
|
3095 |
(gs_pdf.ps)
|
|
|
3096 |
|
|
|
3097 |
</pre><h3><a name="V3.60_Streams"></a>Streams</h3><pre>
|
|
|
3098 |
|
|
|
3099 |
Fixes bugs:
|
|
|
3100 |
- When closing an encoding filter stream whose target was also a
|
|
|
3101 |
filter, the latter could get called incorrectly with last = 1, possibly more
|
|
|
3102 |
than once, leading to premature EOD markers. (stream.c)
|
|
|
3103 |
- The LZW-compatible encoder put out an incorrect end-of-data code.
|
|
|
3104 |
(slzwce.c)
|
|
|
3105 |
- The LZW-compatible encoder didn't put out a reset code soon
|
|
|
3106 |
enough. (slzwce.c)
|
|
|
3107 |
- Some `const' declarations were missing. (siscale.c)
|
|
|
3108 |
- Doing a sgets on a closed stream could call sreadbuf, possibly
|
|
|
3109 |
causing an error. (stream.c)
|
|
|
3110 |
|
|
|
3111 |
Adds a new (optional) set_defaults procedure to the stream template, which
|
|
|
3112 |
sets the stream parameters to default values. We only implement it for a
|
|
|
3113 |
few stream types. (scfx.h, scommon.h, slzwx.h, spdiffx.h, srlx.h,
|
|
|
3114 |
strimpl.h, scfd.c, scfe.c, slzwce.c, slzwd.c, slzwe.c, spdiff.c, srld.c,
|
|
|
3115 |
srle.c)
|
|
|
3116 |
|
|
|
3117 |
Adds a new parameter to the CCITTFax filters, DecodedByteAlign. This is an
|
|
|
3118 |
integer N, which must be a power of 2 between 1 (2^0) and 16 (2^4), that
|
|
|
3119 |
specifies that decoded data scan lines are always a multiple of N bytes.
|
|
|
3120 |
The encoding filter skips data in each scan line from Columns to the next
|
|
|
3121 |
multiple of N bytes; the decoding filter pads each scan line to a multiple
|
|
|
3122 |
of N bytes. Default value: 1. (scfx.h, scfd.c, scfe.c)
|
|
|
3123 |
|
|
|
3124 |
Increases the maximum width of a scan line for the CCITTFaxEncode filter to
|
|
|
3125 |
32000 pixels. (scf.h)
|
|
|
3126 |
|
|
|
3127 |
</pre><h3><a name="V3.60_Library"></a>Library</h3><pre>
|
|
|
3128 |
|
|
|
3129 |
Fixes bugs:
|
|
|
3130 |
- Cached characters sometimes had extra blank space on the left,
|
|
|
3131 |
leading to some unnecessary bit-shuffling when imaging them. (gxccman.c)
|
|
|
3132 |
- In rare cases, gray halftones called gx_color_load unnecessarily.
|
|
|
3133 |
(gxdither.c)
|
|
|
3134 |
- The list of all-bands commands wasn't initialized/reset properly.
|
|
|
3135 |
(gxclist.c, gxclread.c)
|
|
|
3136 |
- Rendering an anti-aliased character to a non-anti-aliased device
|
|
|
3137 |
didn't free the temporary bitmap, causing memory to be lost. (gxccache.c)
|
|
|
3138 |
- Dash patterns where the offset exactly reached a run of length 0
|
|
|
3139 |
skipped over the 0-length run. (gsline.c)
|
|
|
3140 |
- Rectangles closed with both lineto and closepath weren't
|
|
|
3141 |
recognized as rectangles. This is only a performance bug. (gxpath2.c)
|
|
|
3142 |
- Because of a typo in a macro formal parameter list, a private name
|
|
|
3143 |
was duplicated. (gsstruct.h)
|
|
|
3144 |
- Text display operations didn't update the current character in the
|
|
|
3145 |
enumerator structure during the fastest path through the code. This only
|
|
|
3146 |
matters to one very unusual commercial client. (gschar.c)
|
|
|
3147 |
- Some `const' declarations were missing. (gsparam.h, gxistate.h,
|
|
|
3148 |
stdpre.h; gdevm1.c, gsalloc.c, gsfont.c, gsimage3.c, gsmemory.c, gsmisc.c,
|
|
|
3149 |
gspcolor.c, gstype1.c, gxfill.c, gxpcopy.c)
|
|
|
3150 |
|
|
|
3151 |
Changes the header files to assume that gcc on Solaris defines
|
|
|
3152 |
__svr4__ and that, in this case, <string.h> has the right stuff in it.
|
|
|
3153 |
(memory_.h)
|
|
|
3154 |
|
|
|
3155 |
Refactors the character cache to share structures with a similar cache
|
|
|
3156 |
used by band lists. Eventually the band list may be able to reference
|
|
|
3157 |
the character cache directly, saving a lot of copying. (gxbcache.h,
|
|
|
3158 |
gxfcache.h, gsfont.c, gxbcache.c, gxccache.c, gxccman.c)
|
|
|
3159 |
|
|
|
3160 |
Speeds up getting the side bearing and width of a Type 1 charstring a
|
|
|
3161 |
little. (gxtype1.h, gstype1.c)
|
|
|
3162 |
|
|
|
3163 |
Redesigns band lists so that they can cache character bitmaps as well as
|
|
|
3164 |
halftone bitmaps. Characters may be written for all bands, not just the
|
|
|
3165 |
band(s) they appear in, depending on the setting of the CHAR_ALL_BANDS_COUNT
|
|
|
3166 |
parameter in gxclbits.c. (gxcldev.h, gxclist.h, gxclbits.c, gxclist.c,
|
|
|
3167 |
gxclread.c)
|
|
|
3168 |
|
|
|
3169 |
Adds G4 fax compression for band list bitmaps. (gxcldev.h, gxclist.c,
|
|
|
3170 |
gxclread.c)
|
|
|
3171 |
|
|
|
3172 |
Incorporates the new set_defaults procedure into the memory-based band list
|
|
|
3173 |
implementation. (gxclmem.c)
|
|
|
3174 |
|
|
|
3175 |
Implements a halftoning device that can be used in a device pipeline.
|
|
|
3176 |
(gdevht.h, gzht.h, gdevht.c, gxcht.c)
|
|
|
3177 |
|
|
|
3178 |
Factors out imager state from the full graphics state. This division is
|
|
|
3179 |
preliminary and subject to change. (gxistate.h, gxop1.h, gzstate.h,
|
|
|
3180 |
gsline.c, gsstate.c, gstype1.c, gxhint*.c)
|
|
|
3181 |
|
|
|
3182 |
Implements passing fill operations in the band list, except for pattern
|
|
|
3183 |
color or colored halftones. (gxcldev.h, gxclist.h, gxclist.c, gxclread.c)
|
|
|
3184 |
|
|
|
3185 |
Implements passing stroke operations in the band list, except for pattern
|
|
|
3186 |
color or colored halftones. (gsline.h, gslparam.h, gxline.h, gzline.h,
|
|
|
3187 |
gsline.c; gxcldev.h, gxclist.h, gxclist.c, gxclread.c)
|
|
|
3188 |
|
|
|
3189 |
Implements the ability to represent halftoned characters in the band list.
|
|
|
3190 |
(gxccache.c)
|
|
|
3191 |
|
|
|
3192 |
Starts to implement the ability to do halftoning during the rendering phase
|
|
|
3193 |
rather than before writing the band list (currently for black-and-white
|
|
|
3194 |
devices only). Doing this required NON-BACKWARD-COMPATIBLE changes to the
|
|
|
3195 |
interfaces of a few internal procedures:
|
|
|
3196 |
gx_check_tile_size, gx_render_device_{color,gray}
|
|
|
3197 |
(gxdcolor.h, gxdht.h, gzht.h, gsht.c, gsimage1.c, gsmisc.c, gspcolor.c,
|
|
|
3198 |
gsstate.c, gxcht.c, gxclbits.c, gxdither.c, gxht.c)
|
|
|
3199 |
|
|
|
3200 |
Implements passing clipping information in the band list. (gzcpath.h,
|
|
|
3201 |
gxacpath.c, gxclpath.c, gxclread.c, gxcpath.c)
|
|
|
3202 |
|
|
|
3203 |
Removes the gs_state * parameter from the device color fill_rectangle
|
|
|
3204 |
procedures and many of their callers, since it is no longer needed. This is
|
|
|
3205 |
a non-backward-compatible change to an internal API. (gdevmrop.h,
|
|
|
3206 |
gxdcolor.h, gxdraw.h, gxpaint.h, gdevmrop.c, gsimage.c, gspcolor.c, gxcht.c,
|
|
|
3207 |
gxclread.c, gxdraw.c, gxfill.c, gxht.c, gxpaint.c, gxstroke.c)
|
|
|
3208 |
|
|
|
3209 |
Removes gxdevice.h from gzstate.h, since not all modules requiring access to
|
|
|
3210 |
the graphics state need to know the implementation of devices. This entails
|
|
|
3211 |
adding gxdevice.h to the include lists for some modules. (gxchar.h,
|
|
|
3212 |
gxcpath.h, gxcvalue.h, gxdevice.h, gxtype1.h, gzstate.h; gschar.c,
|
|
|
3213 |
gscoord.c, gsdevice.c, gsimage1.c, gsimage2.c, gsimage3.c, gspaint.c,
|
|
|
3214 |
gspath.c, gsstate.c, gstype1.c, gxccache.c, gxccman.c, gxhint1.c, gxhint2.c,
|
|
|
3215 |
gxhint3.c, gxpaint.c)
|
|
|
3216 |
|
|
|
3217 |
Adds a compile-time option, ALPHA_LSB_FIRST, which causes alpha-sampled
|
|
|
3218 |
characters to be nibble-reversed in the cache. This was created for a
|
|
|
3219 |
specialized application and does not interact well with the rest of the
|
|
|
3220 |
code. (gsbitops.c)
|
|
|
3221 |
|
|
|
3222 |
Substantially reduces the space required to represent 24- or 32-bit colors
|
|
|
3223 |
in the band list, by using more aggressive color differencing. (gxcldev.h,
|
|
|
3224 |
gxclist.c, gxclread.c)
|
|
|
3225 |
|
|
|
3226 |
Changes the allocation of unique IDs for halftone tiles to use the gray
|
|
|
3227 |
level rather than the number of 1-bits as the increment to a base ID; this
|
|
|
3228 |
allows more efficient (delta) representation of halftone indices in the band
|
|
|
3229 |
list. (gxcldev.h, gxclist.c, gxclread.c, gxht.c)
|
|
|
3230 |
|
|
|
3231 |
Substantially speeds up entering anti-aliased characters in the cache, by
|
|
|
3232 |
removing white space before compressing rather than vice versa.
|
|
|
3233 |
(gsbitops.c, gxccman.c)
|
|
|
3234 |
|
|
|
3235 |
</pre>
|
|
|
3236 |
|
|
|
3237 |
<hr>
|
|
|
3238 |
|
|
|
3239 |
<h2><a name="Version3.53"></a>Version 3.53 (1/10/96)</h2>
|
|
|
3240 |
|
|
|
3241 |
<p>
|
|
|
3242 |
This is an anomalous, out-of-sequence release requested by a commercial
|
|
|
3243 |
licensee. It consists of 3.52 plus the following retrofits from 3.60
|
|
|
3244 |
through 3.63:
|
|
|
3245 |
- PDF interpreter and pdf2ps;
|
|
|
3246 |
- Type 1 rasterizer fixes;
|
|
|
3247 |
- Type 1 rasterizer and polygon fill performance improvements;
|
|
|
3248 |
- MS Windows and OS/2 fixes;
|
|
|
3249 |
- A few other important fixes.
|
|
|
3250 |
It does NOT fix all problems reported since 3.52.
|
|
|
3251 |
|
|
|
3252 |
<p>
|
|
|
3253 |
The list of changes below indicates which subsequent release was the source
|
|
|
3254 |
of each change. In several cases, minor editing of the change was required
|
|
|
3255 |
to make it compatible with 3.52.
|
|
|
3256 |
|
|
|
3257 |
<h3><a name="V3.53_Documentation"></a>Documentation</h3><pre>
|
|
|
3258 |
Fixes bugs:
|
|
|
3259 |
[3.61] The analysis of curve monotonocity in gxpcopy.c had an error.
|
|
|
3260 |
(gxpcopy.c)
|
|
|
3261 |
|
|
|
3262 |
[3.63] Notes that the OS/2 implementation now requires EMX/GCC 0.9b rather
|
|
|
3263 |
than 0.9a. (use.doc)
|
|
|
3264 |
|
|
|
3265 |
[3.62] Notes that for Win32s, gs16spl.exe must be in the same directory as
|
|
|
3266 |
gswin32.exe. (use.doc)
|
|
|
3267 |
|
|
|
3268 |
[3.62] Adds a reference to dos-psv, another "dumb terminal" user interface
|
|
|
3269 |
for Ghostscript intended for MS-DOS users. (README)
|
|
|
3270 |
|
|
|
3271 |
[3.61] Adds a pointer to DEC's free pstotext utility. (README)
|
|
|
3272 |
|
|
|
3273 |
[3.60] Adds a reference to ps_view.ps, a "dumb terminal" user interface for
|
|
|
3274 |
Ghostscript intended for MS-DOS users. (README)
|
|
|
3275 |
|
|
|
3276 |
</pre><h3><a name="V3.53_Procedures"></a>Procedures</h3><pre>
|
|
|
3277 |
|
|
|
3278 |
Fixes bugs:
|
|
|
3279 |
[3.60] The geninit program (the implementation of COMPILE_INITS=1)
|
|
|
3280 |
didn't parse the command line properly, and didn't check for PostScript
|
|
|
3281 |
files properly. (geninit.c)
|
|
|
3282 |
[3.60] ccfontab.c was omitted from the fileset. The easiest way to
|
|
|
3283 |
fix this was to rename it to icfontab.c. (gs.mak, int.mak, ccfontab.c)
|
|
|
3284 |
[3.60] The definition of pdfread.dev did an ADDMOD, not a SETMOD.
|
|
|
3285 |
(int.mak)
|
|
|
3286 |
|
|
|
3287 |
[3.60] Adds a -dNOFONTPATH switch to suppress any consultation of the
|
|
|
3288 |
FONTPATH variable or the GS_FONTPATH environment variable. (gs_fonts.ps,
|
|
|
3289 |
gs_init.ps)
|
|
|
3290 |
|
|
|
3291 |
</pre><h3><a name="V3.53_Utilities"></a>Utilities</h3><pre>
|
|
|
3292 |
|
|
|
3293 |
Fixes bugs:
|
|
|
3294 |
[3.61] pdf2ps didn't write Widths or Encoding in the converted file,
|
|
|
3295 |
producing incorrect spacing and incorrect characters. (pdf_2ps.ps)
|
|
|
3296 |
[3.60] ps2ascii left a value on the stack for each unrecognized
|
|
|
3297 |
character it processed, eventually causing a stackoverflow. (ps2ascii.ps)
|
|
|
3298 |
|
|
|
3299 |
[3.61] Changes the rollconv.ps utility to produce files whose names conform
|
|
|
3300 |
to the 8.3 length restriction, and to reduce the fixed RAM overhead for
|
|
|
3301 |
Kanji fonts. (rollconv.ps)
|
|
|
3302 |
|
|
|
3303 |
[3.60] Adds a utility for converting files produced by Macromedia's Rollup
|
|
|
3304 |
program to a Type 0 form directly usable by Ghostscript. (rollconv.ps)
|
|
|
3305 |
|
|
|
3306 |
</pre><h3><a name="V3.53_Drivers"></a>Drivers</h3><pre>
|
|
|
3307 |
|
|
|
3308 |
Fixes bugs:
|
|
|
3309 |
[3.60] Because of a typo, the LaserJet drivers had incorrect
|
|
|
3310 |
margins. This was probably a new bug in 3.5x. (gdevdjet.c)
|
|
|
3311 |
[3.60] A private name was duplicated. (gdevtfax.c)
|
|
|
3312 |
[3.60] The x11alpha driver passed invalid colors to the X library.
|
|
|
3313 |
(gdevxalt.c)
|
|
|
3314 |
[3.60] The x11alpha driver set the blue component of colors
|
|
|
3315 |
incorrectly. (gdevxalt.c)
|
|
|
3316 |
|
|
|
3317 |
</pre><h3><a name="V3.53_Platforms"></a>Platforms</h3><pre>
|
|
|
3318 |
|
|
|
3319 |
Fixes bugs:
|
|
|
3320 |
[3.63] The test for WinExec failure on Win32 was incorrect.
|
|
|
3321 |
(gp_mswin.c)
|
|
|
3322 |
[3.63] getenv was declared redundantly on OS/2. (gp_os2.c)
|
|
|
3323 |
[3.63] gs16spl.c was missing <string.h>. (gs16spl.c)
|
|
|
3324 |
[3.61] Printing didn't work in 32-bit MS Windows environments.
|
|
|
3325 |
(bcwin32.mak, gdevmswn.c, gp_mswin.c)
|
|
|
3326 |
[3.61] There were some compatibility problems with IBM C. (os2.mak,
|
|
|
3327 |
gsdll.h, gdevpm.c, gp_os2.c)
|
|
|
3328 |
[3.60] The printjob created by Ghostscript was called "Ghostscirpt"
|
|
|
3329 |
instead of "Ghostscript". (gp_os2.c)
|
|
|
3330 |
[3.60] An "export" declaration was omitted from DllInit.
|
|
|
3331 |
(gp_mswin.c)
|
|
|
3332 |
|
|
|
3333 |
[3.61] Adds a conditional to work around a bug in gcc 2.7.x (it didn't
|
|
|
3334 |
recognize that the target of a const T * might still be mutable through
|
|
|
3335 |
aliasing). (stdpre.h)
|
|
|
3336 |
|
|
|
3337 |
</pre><h3><a name="V3.53_Fonts"></a>Fonts</h3><pre>
|
|
|
3338 |
|
|
|
3339 |
Fixes bugs:
|
|
|
3340 |
[3.61] Rasterizing a character in a Type 1 font with an invalid
|
|
|
3341 |
FontBBox left some garbage on the operand stack (bug introduced in 3.52 or
|
|
|
3342 |
3.60). (gs_type1.ps)
|
|
|
3343 |
[3.61] The font substitution algorithm could fail or loop.
|
|
|
3344 |
(gs_fonts.ps)
|
|
|
3345 |
|
|
|
3346 |
[3.60] Adds Heavy as a synonym for Bold when doing intelligent font
|
|
|
3347 |
substitution. (gs_fonts.ps)
|
|
|
3348 |
|
|
|
3349 |
</pre><h3><a name="V3.53_Interpreter"></a>Interpreter</h3><pre>
|
|
|
3350 |
|
|
|
3351 |
Fixes bugs:
|
|
|
3352 |
[3.63] Invoking setpagedevice with an undefined key, even with
|
|
|
3353 |
Policy = 1, caused an error. (gs_setpd.ps)
|
|
|
3354 |
[3.62] Setting the PageSize policy to 1 and then trying to set the
|
|
|
3355 |
page size caused an error if FIXEDMEDIA was selected. (gs_setpd.ps)
|
|
|
3356 |
[3.61] Rotated characters were rendered incorrectly (bug introduced
|
|
|
3357 |
in 3.52). (gstype1.c)
|
|
|
3358 |
[3.60] currentscreen and currentcolorscreen could give an error if
|
|
|
3359 |
the current screen was set with sethalftone (or, for currentscreen,
|
|
|
3360 |
setcolorscreen). (gs_dps1.ps)
|
|
|
3361 |
[3.60] Streams could get removed from a bookkeeping list
|
|
|
3362 |
prematurely, and wind up dangling. (zfile.c)
|
|
|
3363 |
[3.60] Multiple -I switches set the search path incorrectly.
|
|
|
3364 |
(gsmain.c)
|
|
|
3365 |
[3.60] Fonts could wind up with a pointer to the wrong VM space,
|
|
|
3366 |
causing potential GC or save/restore confusion. (zfont2.c)
|
|
|
3367 |
[3.60] upath could leave garbage on the stack if it failed.
|
|
|
3368 |
(gs_dps1.ps)
|
|
|
3369 |
|
|
|
3370 |
[3.61] Extends the client API to allow for pushing values onto the operand
|
|
|
3371 |
stack. (imain.h, gs.c, gsmain.c)
|
|
|
3372 |
|
|
|
3373 |
[3.61] Defines a .setdefaultscreen procedure that sets the default halftone
|
|
|
3374 |
screen, transfer function, and stroke adjustment for the current device.
|
|
|
3375 |
Changes selectdevice and setpagedevice so that they call .setdefaultscreen;
|
|
|
3376 |
setpagedevice calls .setdefaultscreen before calling the Install procedure,
|
|
|
3377 |
so that Install can set different parameters if it wishes. Note that
|
|
|
3378 |
setdevice does not do this. (gs_init.ps, gs_setpd.ps)
|
|
|
3379 |
|
|
|
3380 |
[3.60] Speeds up rasterizing characters into the cache a little.
|
|
|
3381 |
(gs_type0.ps)
|
|
|
3382 |
|
|
|
3383 |
[3.60] Changes the default limit on the size of cached characters from the
|
|
|
3384 |
maximum of (18 points or 5 times the "average" character size) to (18 points
|
|
|
3385 |
or 1% of the total cache size). (gs_init.ps)
|
|
|
3386 |
|
|
|
3387 |
[3.60] Implements parts of the Type 1 BuildChar callout in C. (gs_type1.ps,
|
|
|
3388 |
zchar.c)
|
|
|
3389 |
|
|
|
3390 |
</pre><h3><a name="V3.53_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
3391 |
|
|
|
3392 |
Fixes bugs:
|
|
|
3393 |
[3.62] If a PDF file substituted a calibrated color space for the
|
|
|
3394 |
DeviceGray or DeviceRGB color space using a ColorSpace resource, the
|
|
|
3395 |
PostScript file that pdf2ps produced from that PDF file caused an error.
|
|
|
3396 |
(gs_pdf.ps)
|
|
|
3397 |
[3.61] Tf set the current text font twice, and interacted with
|
|
|
3398 |
pdf2ps in an awkward way. (gs_pdf.ps, pdf_2ps.ps, pdf_font.ps)
|
|
|
3399 |
[3.61] If a font had variant Widths, it could get confused in the
|
|
|
3400 |
cache with the underlying font. (pdf_font.ps)
|
|
|
3401 |
[3.61] If a character appeared twice in an encoding and the font
|
|
|
3402 |
specified different Widths values for the two occurrences, the last Width
|
|
|
3403 |
would be used. We patched this to ignore zero Widths, which is not the
|
|
|
3404 |
correct solution but which almost always produces correct output.
|
|
|
3405 |
(pdf_font.ps)
|
|
|
3406 |
[3.61] Arrays containing nulls didn't print out correctly (bug
|
|
|
3407 |
introduced in 3.60). (gs_init.ps)
|
|
|
3408 |
[3.61] Some PDF files contain very large dictionaries, which caused
|
|
|
3409 |
a stackoverflow. (pdf_base.ps)
|
|
|
3410 |
[3.60] The length of an image's data was sometimes calculated
|
|
|
3411 |
incorrectly, causing an error when converting PDF to PostScript.
|
|
|
3412 |
(pdf_draw.ps)
|
|
|
3413 |
[3.60] If word spacing and/or text spacing was non-zero, an error
|
|
|
3414 |
could occur. (gs_pdf.ps)
|
|
|
3415 |
[3.60] Text that was both filled and stroked caused an error.
|
|
|
3416 |
(gs_pdf.ps)
|
|
|
3417 |
|
|
|
3418 |
[3.61] Speeds up the initial processing of PDF files by caching the map from
|
|
|
3419 |
page numbers to page objects, and by not scanning the outlines if we aren't
|
|
|
3420 |
producing PostScript output. (pdf_2ps.ps, pdf_base.ps, pdf_main.ps)
|
|
|
3421 |
|
|
|
3422 |
</pre><h3><a name="V3.53_Streams"></a>Streams</h3><pre>
|
|
|
3423 |
|
|
|
3424 |
Fixes bugs:
|
|
|
3425 |
[3.60] When closing an encoding filter stream whose target was also
|
|
|
3426 |
a filter, the latter could get called incorrectly with last = 1, possibly
|
|
|
3427 |
more than once, leading to premature EOD markers. (stream.c)
|
|
|
3428 |
[3.60] The LZW-compatible encoder put out an incorrect end-of-data
|
|
|
3429 |
code. (slzwce.c)
|
|
|
3430 |
[3.60] The LZW-compatible encoder didn't put out a reset code soon
|
|
|
3431 |
enough. (slzwce.c)
|
|
|
3432 |
[3.60] Doing a sgets on a closed stream could call sreadbuf,
|
|
|
3433 |
possibly causing an error. (stream.c)
|
|
|
3434 |
|
|
|
3435 |
</pre><h3><a name="V3.53_Library"></a>Library</h3><pre>
|
|
|
3436 |
|
|
|
3437 |
Fixes bugs:
|
|
|
3438 |
[3.63] On 16-bit platforms, the computation of t2 and t3 in
|
|
|
3439 |
gx_curve_x_at_y could overflow, leading to incorrect output. (gxpcopy.c)
|
|
|
3440 |
[3.61] glyphshow displayed a character with code 0 rather than the
|
|
|
3441 |
requested character (bug introduced in 3.60.) (gschar.c)
|
|
|
3442 |
[3.61] If trimming white space around a character reduced its
|
|
|
3443 |
raster, the character was garbled in the cache (bug introduced in 3.60.)
|
|
|
3444 |
(gxccman.c)
|
|
|
3445 |
[3.61] colorimage would incorrectly convert white pixels to black if
|
|
|
3446 |
the image color space was CMYK, the current color space was not CMYK, and
|
|
|
3447 |
the number of bits per pixel was 4 or 8. (gsimage2.c)
|
|
|
3448 |
[3.61] Type 1 fonts that used the Flex feature applied hints to the
|
|
|
3449 |
path multiple times, causing dropouts, uneven stems, and other problems (bug
|
|
|
3450 |
probably introduced in 3.21). (gstype1.c)
|
|
|
3451 |
[3.61] If a Type 1 font used the Flex feature within the accent of
|
|
|
3452 |
an accented character defined with seac, the shape of the accent could be
|
|
|
3453 |
distorted. (gxtype1.h, gstype1.c)
|
|
|
3454 |
[3.61] If a Type 1 font changed hints using the hint replacement
|
|
|
3455 |
facility when the last operation was a closepath, the old hints would be
|
|
|
3456 |
applied a second time, distorting the shape. (gxhint2.c, gxhint3.c)
|
|
|
3457 |
[3.60] Cached characters sometimes had extra blank space on the
|
|
|
3458 |
left, leading to some unnecessary bit-shuffling when imaging them.
|
|
|
3459 |
(gxccman.c)
|
|
|
3460 |
[3.60] The list of all-bands commands wasn't initialized/reset
|
|
|
3461 |
properly. (gxclist.c)
|
|
|
3462 |
[3.60] Because of a typo in a macro formal parameter list, a private
|
|
|
3463 |
name was duplicated. (gsstruct.h)
|
|
|
3464 |
[3.60] Text display operations didn't update the current character
|
|
|
3465 |
in the enumerator structure during the fastest path through the code. This
|
|
|
3466 |
only matters to one very unusual commercial client. (gschar.c)
|
|
|
3467 |
|
|
|
3468 |
[3.61] Adds an alternative implementation of the core path filling algorithm
|
|
|
3469 |
that is much faster on objects with curves but doesn't handle Y fattening.
|
|
|
3470 |
This is the implementation that will normally be used for rasterizing
|
|
|
3471 |
characters. This implementation rasterizes curves directly, without
|
|
|
3472 |
flattening them. (gxfixed.h, gxpath.h, gzpath.h, gxdraw.c, gxfill.c,
|
|
|
3473 |
gxpcopy.c)
|
|
|
3474 |
|
|
|
3475 |
[3.61] Speeds up the flattening of curves substantially by omitting more
|
|
|
3476 |
redundant points. (gxpcopy.c)
|
|
|
3477 |
|
|
|
3478 |
[3.61] Speeds up character bitmap compression a little more. (gsbitops.h,
|
|
|
3479 |
gdevabuf.c, gsbitops.c, gxccman.c)
|
|
|
3480 |
|
|
|
3481 |
[3.61] Speeds up anti-aliased graphics a bit by computing a bounding box
|
|
|
3482 |
before converting from oversampling to alpha values, and by speeding up the
|
|
|
3483 |
bounding box computation itself. (gsbitops.h, gdevabuf.c, gsbitops.c,
|
|
|
3484 |
gxccman.c)
|
|
|
3485 |
|
|
|
3486 |
[3.60] Speeds up getting the side bearing and width of a Type 1 charstring a
|
|
|
3487 |
little. (gxtype1.h, gstype1.c)
|
|
|
3488 |
|
|
|
3489 |
[3.60] Adds a compile-time option, ALPHA_LSB_FIRST, which causes
|
|
|
3490 |
alpha-sampled characters to be nibble-reversed in the cache. This was
|
|
|
3491 |
created for a specialized application and does not interact well with the
|
|
|
3492 |
rest of the code. (gsbitops.c)
|
|
|
3493 |
|
|
|
3494 |
[3.60] Substantially speeds up entering anti-aliased characters in the
|
|
|
3495 |
cache, by removing white space before compressing rather than vice versa.
|
|
|
3496 |
(gsbitops.c, gxccman.c)
|
|
|
3497 |
|
|
|
3498 |
</pre>
|
|
|
3499 |
|
|
|
3500 |
<h2><a name="Version3.52"></a>Version 3.52 (limited) (10/6/95)</h2>
|
|
|
3501 |
|
|
|
3502 |
<p>
|
|
|
3503 |
This is an incremental release to fix a few problems in 3.51. Since it is
|
|
|
3504 |
being made in an environment with no network connectivity, it will probably
|
|
|
3505 |
not be released to the general public. ****** THE CHANGES MARKED WITH ***
|
|
|
3506 |
BELOW WERE LOST IN THE PROCESS OF SHUFFLING FILESETS BETWEEN ENVIRONMENTS.
|
|
|
3507 |
THEY ARE INCORPORATED IN 3.60 BUT NOT IN 3.52. ******
|
|
|
3508 |
|
|
|
3509 |
<h3><a name="V3.52_Procedures"></a>Procedures</h3><pre>
|
|
|
3510 |
Fixes bugs:
|
|
|
3511 |
- The fileset included a meaningless empty file. (acctest.ps)
|
|
|
3512 |
*** The definition of pdfread.dev did an ADDMOD, not a SETMOD.
|
|
|
3513 |
(int.mak)
|
|
|
3514 |
|
|
|
3515 |
</pre><h3><a name="V3.52_Interpreter"></a>Interpreter</h3><pre>
|
|
|
3516 |
|
|
|
3517 |
Fixes bugs:
|
|
|
3518 |
- The RunLengthEncode filter used with a dictionary argument could
|
|
|
3519 |
give a spurious error. (zfilter.c)
|
|
|
3520 |
- The fast form of the 'dup' operator failed to check for stack
|
|
|
3521 |
overflow, which could lead to memory smashing. (interp.c)
|
|
|
3522 |
*** Level 1 configurations gave errors during initialization.
|
|
|
3523 |
(ialloc.c, iinit.c, ireclaim.c)
|
|
|
3524 |
*** Attempting to look up or insert a noaccess string as a
|
|
|
3525 |
dictionary key converted the string to a name rather than giving an error.
|
|
|
3526 |
(idict.h, idict.c)
|
|
|
3527 |
|
|
|
3528 |
Adds a C implementation of the .dicttomark (>>) procedure. (gs_init.ps,
|
|
|
3529 |
zdict.c)
|
|
|
3530 |
|
|
|
3531 |
*** Implements parts of the Type 1 BuildChar callout in C. (gs_type1.ps,
|
|
|
3532 |
ifont.h, zchar.c, zfont1.c, zfont2.c)
|
|
|
3533 |
|
|
|
3534 |
</pre><h3><a name="V3.52_Library"></a>Library</h3><pre>
|
|
|
3535 |
|
|
|
3536 |
Fixes bugs:
|
|
|
3537 |
- Braces were missing in an initializer. (gxdcolor.h)
|
|
|
3538 |
- Composite fonts with a non-zero translation in the FontMatrix
|
|
|
3539 |
positioned characters incorrectly. (gschar.c)
|
|
|
3540 |
*** gsparam.c wouldn't compile with some versions of the Borland
|
|
|
3541 |
compiler. (gsparam.c)
|
|
|
3542 |
|
|
|
3543 |
Speeds up the handling of curve segments in Type 1 fonts a little.
|
|
|
3544 |
(gstype1.c)
|
|
|
3545 |
|
|
|
3546 |
Speeds up displaying very short strings a little. (gschar.c)
|
|
|
3547 |
|
|
|
3548 |
*** Implements parts of the Type 1 BuildChar callout in C. (gxfont.h)
|
|
|
3549 |
|
|
|
3550 |
</pre>
|
|
|
3551 |
|
|
|
3552 |
<h2><a name="Version3.51"></a>Version 3.51 (9/27/95)</h2>
|
|
|
3553 |
|
|
|
3554 |
<p>
|
|
|
3555 |
This is the first public release since 3.33. Its main features are a
|
|
|
3556 |
working setpagedevice, a working PDF interpreter, and a working PDF to PS
|
|
|
3557 |
converter.
|
|
|
3558 |
|
|
|
3559 |
<h3><a name="V3.51_Documentation"></a>Documentation</h3><pre>
|
|
|
3560 |
|
|
|
3561 |
Fixes bugs:
|
|
|
3562 |
- The -dSHORTERRORS switch wasn't documented in enough places.
|
|
|
3563 |
(current.doc, use.doc)
|
|
|
3564 |
- The DLL documentation was internally inconsistent. (dll.doc)
|
|
|
3565 |
- The %pipe% file name syntax wasn't documented. (language.doc)
|
|
|
3566 |
|
|
|
3567 |
</pre><h3><a name="V3.51_Procedures"></a>Procedures</h3><pre>
|
|
|
3568 |
|
|
|
3569 |
Fixes bugs:
|
|
|
3570 |
- caption.ps wasn't installed properly. (unix-end.mak)
|
|
|
3571 |
- geninit depended on $(gconfig_h) in an improper way. (geninit.c,
|
|
|
3572 |
int.mak, *.mak)
|
|
|
3573 |
- One script lacked the #!/bin/sh header. (gsdj500)
|
|
|
3574 |
|
|
|
3575 |
Adds the 24-bit color TIFF driver to all configurations that support
|
|
|
3576 |
black-and-white TIFF. (*.mak)
|
|
|
3577 |
|
|
|
3578 |
</pre><h3><a name="V3.51_Utilities"></a>Utilities</h3><pre>
|
|
|
3579 |
|
|
|
3580 |
Fixes bugs:
|
|
|
3581 |
- align.ps was omitted from the fileset. (psfiles.doc, align.ps,
|
|
|
3582 |
unix-end.mak)
|
|
|
3583 |
|
|
|
3584 |
</pre><h3><a name="V3.51_Drivers"></a>Drivers</h3><pre>
|
|
|
3585 |
|
|
|
3586 |
Fixes bugs:
|
|
|
3587 |
- A driver had some \s in formal parameter lists. (gdevcdj.c)
|
|
|
3588 |
- A driver had some improper &s. (gdevtifs.c)
|
|
|
3589 |
- The default MS Windows printer driver was very slow. (gdevwpr2.c)
|
|
|
3590 |
- The (newly restructured) TIFF drivers could produce a memory
|
|
|
3591 |
access error. (gdevtifs.c)
|
|
|
3592 |
- The CGM drivers referred to an obsolete structure member.
|
|
|
3593 |
(gdevcgm.c)
|
|
|
3594 |
- The black-and-white H-P drivers didn't set the margins properly
|
|
|
3595 |
(again). (gdevdjet.c)
|
|
|
3596 |
- Several of the most common printer drivers omitted some scan lines
|
|
|
3597 |
at the bottom of the page. (gdevprn.h, gdevprn.c)
|
|
|
3598 |
|
|
|
3599 |
At the request of the main OS/2 developer, adds a printer device for OS/2.
|
|
|
3600 |
(gdevos2p.c, os2.mak)
|
|
|
3601 |
|
|
|
3602 |
Makes many changes to the stcolor driver, submitted by the developer just
|
|
|
3603 |
before the release. (devices.doc, unix-end.mak, gdevstc.h, gdevstc*.c,
|
|
|
3604 |
stcinfo.ps, stcolor.ps, stcinfo.ps)
|
|
|
3605 |
|
|
|
3606 |
</pre><h3><a name="V3.51_Platforms"></a>Platforms</h3><pre>
|
|
|
3607 |
|
|
|
3608 |
Fixes bugs:
|
|
|
3609 |
- usertime (and realtime) were broken on VMS. (gp_vms.c)
|
|
|
3610 |
- The 32-bit MS Windows DLL control file had a typo. (gsdll32.def)
|
|
|
3611 |
|
|
|
3612 |
Removes the color inkjet drivers from the 16-bit Windows executable, because
|
|
|
3613 |
they overflow the 64K default data segment; adds PCX, TIFF, and BMP output
|
|
|
3614 |
formats. (bcwin.mak)
|
|
|
3615 |
|
|
|
3616 |
</pre><h3><a name="V3.51_Interpreter"></a>Interpreter</h3><pre>
|
|
|
3617 |
|
|
|
3618 |
Fixes bugs:
|
|
|
3619 |
- A routine was declared 'private' inconsistently. (zcie.c)
|
|
|
3620 |
- -dSHORTERRORS didn't remove enough non-Adobe error output.
|
|
|
3621 |
(gs_init.ps)
|
|
|
3622 |
|
|
|
3623 |
</pre><h3><a name="V3.51_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
3624 |
|
|
|
3625 |
Fixes bugs:
|
|
|
3626 |
- The ProcSet relied on the presence of NullFont. (gs_pdf.ps)
|
|
|
3627 |
|
|
|
3628 |
</pre><h3><a name="V3.51_Library"></a>Library</h3><pre>
|
|
|
3629 |
|
|
|
3630 |
Fixes bugs:
|
|
|
3631 |
- There was an extraneous \ outside a macro. (gsline.c)
|
|
|
3632 |
- Scaling up a black-and-white image could caused many scan lines to
|
|
|
3633 |
be inverted. (gsimage1.c)
|
|
|
3634 |
- The initial clipping path did not take Margins into account
|
|
|
3635 |
properly. (gxdevice.h, gdevxalt.c, gscoord.c, gsdevice.c, gsdevmem.c,
|
|
|
3636 |
gsdparam.c, gspath.c)
|
|
|
3637 |
- If banding was required, characters could come out as solid black
|
|
|
3638 |
rectangles. (gxclist.c, gxclread.c)
|
|
|
3639 |
|
|
|
3640 |
</pre>
|
|
|
3641 |
|
|
|
3642 |
<h2><a name="Version3.50"></a>Version 3.50 (limited) (9/24/95)</h2>
|
|
|
3643 |
|
|
|
3644 |
<p>
|
|
|
3645 |
This is the last limited bug-fix release during beta test. The color
|
|
|
3646 |
DeskJet drivers are broken (they sometimes produce black rectangles instead
|
|
|
3647 |
of characters); we will fix this in the next release.
|
|
|
3648 |
<p>
|
|
|
3649 |
The following issues have been postponed to an unspecified future release:
|
|
|
3650 |
<ul>
|
|
|
3651 |
<li> - Filling areas often writes pixels twice, causing incorrect
|
|
|
3652 |
output
|
|
|
3653 |
with certain unusual RasterOp values. [1.814]
|
|
|
3654 |
<li> - The tar.gz archives should include a subdirectory like
|
|
|
3655 |
gs-3.46/ in
|
|
|
3656 |
the file names.
|
|
|
3657 |
<li> - The CCITTFaxDecode filter should skip initial junk if
|
|
|
3658 |
EndOfLine =
|
|
|
3659 |
true. [1844 8/24/95, NRE]
|
|
|
3660 |
</ul>
|
|
|
3661 |
|
|
|
3662 |
<h3><a name="V3.50_Procedures"></a>Procedures</h3><pre>
|
|
|
3663 |
Fixes bugs:
|
|
|
3664 |
- The name of the new 24-bit TIFF driver was incorrect in one place.
|
|
|
3665 |
(vms.mak)
|
|
|
3666 |
|
|
|
3667 |
</pre><h3><a name="V3.50_Utilities"></a>Utilities</h3><pre>
|
|
|
3668 |
|
|
|
3669 |
Adds a new utility to put a caption in a box at the bottom of each page.
|
|
|
3670 |
(caption.ps)
|
|
|
3671 |
|
|
|
3672 |
</pre><h3><a name="V3.50_Drivers"></a>Drivers</h3><pre>
|
|
|
3673 |
|
|
|
3674 |
Fixes bugs:
|
|
|
3675 |
- The PC display devices weren't page devices. Probably all the
|
|
|
3676 |
other display and window system devices should be made page devices too, but
|
|
|
3677 |
we aren't going to bother tracking them down. (gdevpcfb.c)
|
|
|
3678 |
- There was a lot of duplicated code in the TIFF drivers.
|
|
|
3679 |
(gdevtifs.h, gdevtfax.c, gdevtfnx.c, gdevtifs.c)
|
|
|
3680 |
|
|
|
3681 |
Updates the bjc600 / bjc800 drivers with changes from the author.
|
|
|
3682 |
(devices.doc, gdevbjc.h, gdevcdj.c)
|
|
|
3683 |
|
|
|
3684 |
</pre><h3><a name="V3.50_Interpreter"></a>Interpreter</h3><pre>
|
|
|
3685 |
|
|
|
3686 |
Fixes bugs:
|
|
|
3687 |
- Building with COMPILE_INITS=1 produced a stackunderflow error.
|
|
|
3688 |
(gs_pdf_e.ps)
|
|
|
3689 |
- An internal operator didn't have a name. (ztoken.c)
|
|
|
3690 |
- Some error and information messages weren't in the Adobe format.
|
|
|
3691 |
(gs_fonts.ps, gs_init.ps)
|
|
|
3692 |
- Some common Adobe compatibility operators weren't implemented:
|
|
|
3693 |
pagemargin, pageparams, setpagemargin. (gs_statd.ps, gs_lev2.ps)
|
|
|
3694 |
- setpageparams set Margins rather than PageOffset. (gs_lev2.ps)
|
|
|
3695 |
- setpage and setpageparams didn't set Orientation. (gs_lev2.ps)
|
|
|
3696 |
- If the end of an input buffer fell just after the / of a literal
|
|
|
3697 |
name, a memory access error could occur. (iscan.c)
|
|
|
3698 |
- When the interpreter returned from gs_[main_]run_string_continue,
|
|
|
3699 |
there could be an extra value on the operand stack. (iscan.h, istream.h,
|
|
|
3700 |
interp.c, iscan.c, zfileio.c, zfproc.c, zpaint.c, ztoken.c)
|
|
|
3701 |
- If the character cache was disabled, or if a character was too
|
|
|
3702 |
large to be cached, returning from a font BuildChar procedure could do an
|
|
|
3703 |
erasepage. (zchar.c)
|
|
|
3704 |
|
|
|
3705 |
A minor change was required for compatibility with the library change for
|
|
|
3706 |
image devices. (zdevice.c)
|
|
|
3707 |
|
|
|
3708 |
Adds a -dSHORTERRORS switch that changes some of the common error and
|
|
|
3709 |
warning messages for greater Adobe compatibility. (gs_init.ps, gs_fonts.ps)
|
|
|
3710 |
|
|
|
3711 |
</pre><h3><a name="V3.50_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
3712 |
|
|
|
3713 |
Fixes bugs:
|
|
|
3714 |
- If a CharProc for a Type 3 font did a BT/ET, the graphics state
|
|
|
3715 |
could get confused. (gs_pdf.ps)
|
|
|
3716 |
- If a Tf occurred inside a BT/ET, it didn't take effect on
|
|
|
3717 |
subsequent BT/ETs. (gs_pdf.ps)
|
|
|
3718 |
|
|
|
3719 |
</pre><h3><a name="V3.50_Library"></a>Library</h3><pre>
|
|
|
3720 |
|
|
|
3721 |
Fixes bugs:
|
|
|
3722 |
- There was no way to control whether an image device was a page
|
|
|
3723 |
device. Fixing this required a NON-BACKWARD-COMPATIBLE CHANGE to
|
|
|
3724 |
gs_makewordimagedevice and gs_initialize_wordimagedevice to take a Boolean
|
|
|
3725 |
page_device argument. Fortunately, this change affects only a few obscure
|
|
|
3726 |
library clients. (gsdevice.h, gsdevmem.c)
|
|
|
3727 |
|
|
|
3728 |
Adds translation capability to clipping devices. This isn't used anywhere
|
|
|
3729 |
yet. (gxcpath.h, gxcpath.c)
|
|
|
3730 |
|
|
|
3731 |
Adds procedures for doing unaligned copy_xxx operations. These were added
|
|
|
3732 |
for a customer. (gxdevice.h, gsdevice.c)
|
|
|
3733 |
|
|
|
3734 |
Changes the (undocumented) return value of gs_setcachedevice[2]: they used
|
|
|
3735 |
to return 1 if the current show operation was a non-displaying one
|
|
|
3736 |
(stringwidth or cshow), and now return 1 if the cache device was just
|
|
|
3737 |
installed. This change was required to fix the BuildChar page clearing bug
|
|
|
3738 |
in the interpreter. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE, but as far as
|
|
|
3739 |
I know, there aren't any external clients of these routines. (gschar.h,
|
|
|
3740 |
gschar.c)
|
|
|
3741 |
|
|
|
3742 |
</pre>
|
|
|
3743 |
|
|
|
3744 |
<hr>
|
|
|
3745 |
|
|
|
3746 |
<h2><a name="Version3.49"></a>Version 3.49 (limited) (9/20/95)</h2>
|
|
|
3747 |
|
|
|
3748 |
<p>
|
|
|
3749 |
This is another bug-fix release during beta test. There are other bugs
|
|
|
3750 |
outstanding, but the ones I know about right now are all platform-specific.
|
|
|
3751 |
|
|
|
3752 |
<h3><a name="V3.49_Documentation"></a>Documentation</h3><pre>
|
|
|
3753 |
Fixes bugs:
|
|
|
3754 |
- make.doc didn't mention that the .def files are needed to build a
|
|
|
3755 |
MS Windows executable. (make.doc)
|
|
|
3756 |
|
|
|
3757 |
</pre><h3><a name="V3.49_Procedures"></a>Procedures</h3><pre>
|
|
|
3758 |
|
|
|
3759 |
Fixes bugs:
|
|
|
3760 |
- There were some forward references to macro definitions in the
|
|
|
3761 |
makefiles. (int.mak, lib.mak)
|
|
|
3762 |
- The default device for library configurations was the null page
|
|
|
3763 |
device, not the first device in DEVICE_DEVS. (ugcclib.mak)
|
|
|
3764 |
|
|
|
3765 |
</pre><h3><a name="V3.49_Drivers"></a>Drivers</h3><pre>
|
|
|
3766 |
|
|
|
3767 |
Fixes bugs:
|
|
|
3768 |
- The BJC600 / BJC800 drivers were missing a header file.
|
|
|
3769 |
(gdevbjc.h, gdevcdj.c)
|
|
|
3770 |
- A procedure name was used in two different files. (gdevcdj.c)
|
|
|
3771 |
- The PCX driver didn't return an error code in case of failure.
|
|
|
3772 |
(gdevpcx.c)
|
|
|
3773 |
- The X Windows driver produced some confusing warning messages.
|
|
|
3774 |
(gdevxini.c)
|
|
|
3775 |
- Some names were duplicated between drivers. (gdevepsc.c)
|
|
|
3776 |
- The X driver maintained its own, peculiar initial matrix even if
|
|
|
3777 |
Ghostview wasn't involved. (gdevx.c)
|
|
|
3778 |
|
|
|
3779 |
With the permission of the author, changes the 24-bit TIFF license from GNU
|
|
|
3780 |
to Aladdin. (gdevtfnx.c)
|
|
|
3781 |
|
|
|
3782 |
</pre><h3><a name="V3.49_Platforms"></a>Platforms</h3><pre>
|
|
|
3783 |
|
|
|
3784 |
Fixes bugs:
|
|
|
3785 |
- The VMS build scripts were out of sync with the makefiles (again).
|
|
|
3786 |
(modules.lis, vms.mak)
|
|
|
3787 |
|
|
|
3788 |
</pre><h3><a name="V3.49_Interpreter"></a>Interpreter</h3><pre>
|
|
|
3789 |
|
|
|
3790 |
Fixes bugs:
|
|
|
3791 |
- When the requested media size matched an available size exactly
|
|
|
3792 |
with a 90 degree rotation, Orientation was ignored. (zmedia2.c)
|
|
|
3793 |
|
|
|
3794 |
Makes zcurrentdevice extern. (opextern.h, zdevice.c)
|
|
|
3795 |
|
|
|
3796 |
</pre><h3><a name="V3.49_Library"></a>Library</h3><pre>
|
|
|
3797 |
|
|
|
3798 |
Fixes bugs:
|
|
|
3799 |
- A couple of places used memcpy instead of memmove. (gxclread.c)
|
|
|
3800 |
- If a bitmap image was compressed with RLE compression in a band
|
|
|
3801 |
list, it would cause an error on decompression. (gxclread.c)
|
|
|
3802 |
- The representation of colors in the band list was needlessly
|
|
|
3803 |
inefficient. (gxcldev.h, gxclist.c, gxclread.c)
|
|
|
3804 |
- When using colored halftones, snowflak.ps crashed with an invalid
|
|
|
3805 |
memory access. More generally, any use of halftones could cause the garbage
|
|
|
3806 |
collector to make an invalid access. (gsstate.c)
|
|
|
3807 |
|
|
|
3808 |
Adds some more code for paths in band lists, but again doesn't activate it.
|
|
|
3809 |
(gxcldev.h, gxpath.h, gzline.h, gsline.c, gspath1.c, gxclist.c, gxclread.c,
|
|
|
3810 |
gxpath.c)
|
|
|
3811 |
|
|
|
3812 |
</pre>
|
|
|
3813 |
|
|
|
3814 |
<h2><a name="Version3.48"></a>Version 3.48 (limited) (9/17/95)</h2>
|
|
|
3815 |
|
|
|
3816 |
<p>
|
|
|
3817 |
This is the second bug-fix release during beta test. Among other things, it
|
|
|
3818 |
fixes a bug introduced in 3.47 that caused all PDF files to give an error.
|
|
|
3819 |
|
|
|
3820 |
<p>
|
|
|
3821 |
******NOTE: the BJC600 and BCJ800 drivers do not work in this release,
|
|
|
3822 |
because we didn't get a file from the author in time. They will compile,
|
|
|
3823 |
but not run. This will be fixed in the next round.
|
|
|
3824 |
|
|
|
3825 |
<h3><a name="V3.48_Documentation"></a>Documentation</h3><pre>
|
|
|
3826 |
Fixes bugs:
|
|
|
3827 |
- Alan Barclay's contact information was wrong. (README)
|
|
|
3828 |
|
|
|
3829 |
</pre><h3><a name="V3.48_Procedures"></a>Procedures</h3><pre>
|
|
|
3830 |
|
|
|
3831 |
Fixes bugs:
|
|
|
3832 |
- The linker path for Watcom C++ 10.5 was wrong. (wccommon.mak)
|
|
|
3833 |
- There was a syntax error in a batch file. (pdf2ps.bat)
|
|
|
3834 |
- The VMS build script didn't have entries for some printers.
|
|
|
3835 |
(vms.mak)
|
|
|
3836 |
|
|
|
3837 |
Adds the bjc600 and bjc800 devices on all platforms that already include the
|
|
|
3838 |
color DeskJet devices. (*.mak)
|
|
|
3839 |
|
|
|
3840 |
</pre><h3><a name="V3.48_Drivers"></a>Drivers</h3><pre>
|
|
|
3841 |
|
|
|
3842 |
Fixes bugs:
|
|
|
3843 |
- The H-P drivers didn't reposition the cursor properly at the
|
|
|
3844 |
beginning of pages after the first page, causing the image to be shifted
|
|
|
3845 |
down slightly and cut off at the bottom. (gdevdjet.c)
|
|
|
3846 |
- The x11alpha driver was extremely slow. (gdevxalt.c)
|
|
|
3847 |
- The -g switch by itself didn't work for the X Windows driver.
|
|
|
3848 |
(gdevxini.c)
|
|
|
3849 |
- .installpagedevice can get a rangecheck on MS Windows because the
|
|
|
3850 |
HWColorMap can change spontaneously. (gs_setpd.ps)
|
|
|
3851 |
|
|
|
3852 |
Updates the bjc600 and bjc800 drivers with new versions from Yves Arrouye.
|
|
|
3853 |
(gdevcdj.c)
|
|
|
3854 |
|
|
|
3855 |
Adds a user-contributed driver that writes uncompressed 24-bit RGB TIFF
|
|
|
3856 |
images in a format that is standard on NeXT platforms. This driver is
|
|
|
3857 |
governed by the GNU license and is therefore separated from the rest of the
|
|
|
3858 |
Aladdin distribution. (gdevtfnx.c)
|
|
|
3859 |
|
|
|
3860 |
</pre><h3><a name="V3.48_Platforms"></a>Platforms</h3><pre>
|
|
|
3861 |
|
|
|
3862 |
Fixes bugs:
|
|
|
3863 |
- There was an undefined reference to clock_gettime on some Unix
|
|
|
3864 |
systems. (gp_unix.c)
|
|
|
3865 |
- The new gp_fopen routine had several errors. (gp_vms.c)
|
|
|
3866 |
|
|
|
3867 |
</pre><h3><a name="V3.48_Interpreter"></a>Interpreter</h3><pre>
|
|
|
3868 |
|
|
|
3869 |
Fixes bugs:
|
|
|
3870 |
- Some routines that should be main-instance-specific weren't.
|
|
|
3871 |
(imain.h, main.h, gsmain.c)
|
|
|
3872 |
- sethalftone with a Type 2 or Type 4 halftone didn't work on CMYK
|
|
|
3873 |
devices. (zht2.c)
|
|
|
3874 |
- Setting A4 paper as the default in gs_init.ps, or specifying
|
|
|
3875 |
-dPAPERSIZE, conflicted with -g. (gs_init.ps)
|
|
|
3876 |
- The maximum value of a single-precision float wasn't correct on
|
|
|
3877 |
VAX systems. (math_.h, iscannum.c)
|
|
|
3878 |
- Some integer expressions were passed as floating point arguments.
|
|
|
3879 |
(gs.c, zmedia2.c)
|
|
|
3880 |
- Media selection in setpagedevice was broken (again), as of 3.46.
|
|
|
3881 |
(gs_setpd.ps, zmedia2.c)
|
|
|
3882 |
|
|
|
3883 |
</pre><h3><a name="V3.48_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
3884 |
|
|
|
3885 |
Fixes bugs:
|
|
|
3886 |
- Substituted color spaces caused an error. (gs_pdf.ps,
|
|
|
3887 |
pdf_draw.ps)
|
|
|
3888 |
|
|
|
3889 |
</pre><h3><a name="V3.48_Library"></a>Library</h3><pre>
|
|
|
3890 |
|
|
|
3891 |
Fixes bugs:
|
|
|
3892 |
- If a halftone had no non-default components that matched the
|
|
|
3893 |
device's primary colors, the result would be a solid color rather than a
|
|
|
3894 |
halftone using the default screen. (gsht.c)
|
|
|
3895 |
- sethalftone with a Type 2 or Type 4 halftone didn't work on CMYK
|
|
|
3896 |
devices. (gxht.h, gsht.c, gsht1.c)
|
|
|
3897 |
- The new gp_fopen routine wasn't being used. (gsiodev.c)
|
|
|
3898 |
- A mixing of float and fixed values caused a clipping region to be
|
|
|
3899 |
possibly incorrect by up to 1 pixel. (gspaint.c)
|
|
|
3900 |
- A function definition was inconsistent with the prototype.
|
|
|
3901 |
(gspath1.c)
|
|
|
3902 |
|
|
|
3903 |
Adds preliminary code for including paths in band lists, but doesn't
|
|
|
3904 |
activate any of it. (lib.mak, gxcldev.h, gxclist.c, gxclread.c)
|
|
|
3905 |
|
|
|
3906 |
</pre>
|
|
|
3907 |
|
|
|
3908 |
<h2><a name="Version3.47"></a>Version 3.47 (limited) (9/14/95)</h2>
|
|
|
3909 |
|
|
|
3910 |
<p>
|
|
|
3911 |
This is a bug-fix release during beta test. It is meant to have no new
|
|
|
3912 |
functionality, although in the case of setpagedevice that's stretching
|
|
|
3913 |
things a little.
|
|
|
3914 |
|
|
|
3915 |
<h3><a name="V3.47_Documentation"></a>Documentation</h3><pre>
|
|
|
3916 |
Fixes bugs:
|
|
|
3917 |
- The Mac documentation still referred to IJG JPEG v5a rather than
|
|
|
3918 |
v6. (make.doc)
|
|
|
3919 |
- The RasterOp texture device was identified incorrectly.
|
|
|
3920 |
(gdevmrop.c)
|
|
|
3921 |
- use.doc and psfiles.doc didn't mention the PDF-related files.
|
|
|
3922 |
(psfiles.doc, use.doc)
|
|
|
3923 |
- psview is no longer available. (README)
|
|
|
3924 |
- current.doc didn't document the recognized setpagedevice keys.
|
|
|
3925 |
(current.doc)
|
|
|
3926 |
|
|
|
3927 |
</pre><h3><a name="V3.47_Procedures"></a>Procedures</h3><pre>
|
|
|
3928 |
|
|
|
3929 |
Fixes bugs:
|
|
|
3930 |
- Many utility programs weren't included in the Unix 'install' list.
|
|
|
3931 |
(unix-end.mak)
|
|
|
3932 |
- It wasn't at all convenient to make configurations without the BCP
|
|
|
3933 |
or other non-standard filters. (*.mak, int.mak, modules.lis, zfilter2.c,
|
|
|
3934 |
zfilterx.c)
|
|
|
3935 |
- The gconfig.c and iconfig.c files weren't deleted after
|
|
|
3936 |
compilation. (int.mak, lib.mak)
|
|
|
3937 |
- unix-end.mak referred to the nonexistent macros INT{1,2}_MAK.
|
|
|
3938 |
(unix-end.mak)
|
|
|
3939 |
- The rules for building the dfax drivers were incorrect. (devs.mak)
|
|
|
3940 |
- Omitting filter.dev produced an undefined reference. (int.mak)
|
|
|
3941 |
|
|
|
3942 |
Adds a customer-contributed makefile for Microsoft Visual C++ 2.n under
|
|
|
3943 |
Windows NT. (msvcwint.mak)
|
|
|
3944 |
|
|
|
3945 |
</pre><h3><a name="V3.47_Utilities"></a>Utilities</h3><pre>
|
|
|
3946 |
|
|
|
3947 |
Fixes bugs:
|
|
|
3948 |
- The JPEG utility didn't support the new progressive JPEG modes,
|
|
|
3949 |
and didn't invert Adobe Photoshop output as needed. (viewjpeg.ps)
|
|
|
3950 |
- The printafm utility had a single font name wired in. (printafm,
|
|
|
3951 |
printafm.ps)
|
|
|
3952 |
- The CIE lookup simulation had several bugs. (docie.ps)
|
|
|
3953 |
- pdf2ps[.bat] were missing from the fileset.
|
|
|
3954 |
- Files produced by pdf_2ps didn't include the GS_PDF ProcSet.
|
|
|
3955 |
(gs_pdf.ps, pdf_2ps.ps, pdf_base.ps, pdf_main.ps)
|
|
|
3956 |
|
|
|
3957 |
</pre><h3><a name="V3.47_Drivers"></a>Drivers</h3><pre>
|
|
|
3958 |
|
|
|
3959 |
Fixes bugs:
|
|
|
3960 |
- Bits read back from an EGA or VGA device were incorrect.
|
|
|
3961 |
(gdevpcfb.c)
|
|
|
3962 |
- The 24-bit PCX run length compressor used a slow algorithm.
|
|
|
3963 |
(gdevpcx.c)
|
|
|
3964 |
- gdevstc.c wouldn't compile with the Borland compiler. (gdevstc.c)
|
|
|
3965 |
- There was a typo in the OS/2 PM driver. (gdevpm.c)
|
|
|
3966 |
- .installpagedevice gets a rangecheck on X Windows because the
|
|
|
3967 |
HWColorMap can change spontaneously. (gs_setpd.ps)
|
|
|
3968 |
- The left margin for the DeskJet 500 was wrong. (gdevdjet.c)
|
|
|
3969 |
- The two notions of "margin" (offset of 0,0 from physical page
|
|
|
3970 |
corner vs. unprintable area around edges of physical page) were still
|
|
|
3971 |
confused. We've now fixed this for the H-P monochrome printers, but it's
|
|
|
3972 |
probably still confused for all other printers. (gdevprn.h, gdevdjet.c)
|
|
|
3973 |
|
|
|
3974 |
</pre><h3><a name="V3.47_Platforms"></a>Platforms</h3><pre>
|
|
|
3975 |
|
|
|
3976 |
Fixes bugs:
|
|
|
3977 |
- The Windows print spooler header file wasn't included when it
|
|
|
3978 |
needed to be, and some other Win32-specific changes were missing.
|
|
|
3979 |
(gsdll32.def, gp_mswin.c)
|
|
|
3980 |
- Windows DLLs didn't parse "s in the command "arguments" correctly.
|
|
|
3981 |
(gsdll.c)
|
|
|
3982 |
|
|
|
3983 |
</pre><h3><a name="V3.47_Fonts"></a>Fonts</h3><pre>
|
|
|
3984 |
|
|
|
3985 |
Fixes bugs:
|
|
|
3986 |
- FAKEFONTS could get the font directories into inconsistent states.
|
|
|
3987 |
(gs_dps1.ps, gs_fonts.ps)
|
|
|
3988 |
- The substitutions for Adobe's Myriad and Minion fonts weren't
|
|
|
3989 |
appropriate. (gs_fonts.ps)
|
|
|
3990 |
|
|
|
3991 |
</pre><h3><a name="V3.47_Interpreter"></a>Interpreter</h3><pre>
|
|
|
3992 |
|
|
|
3993 |
Fixes bugs:
|
|
|
3994 |
- If pathforall got an error computing the user-space points on a
|
|
|
3995 |
path, it could cause an invalid access. (zpath1.c)
|
|
|
3996 |
- A 'private' declaration were omitted. (Why doesn't gcc catch
|
|
|
3997 |
this??) (zcie.c)
|
|
|
3998 |
- Setting GS_FONTPATH produced a stackunderflow error.
|
|
|
3999 |
(gs_fonts.ps)
|
|
|
4000 |
- currentscreen caused a typecheck if the screen had been set by
|
|
|
4001 |
setcolorscreen. (gs_dps1.ps)
|
|
|
4002 |
- setcolorrendering tried to cache values computed from the color
|
|
|
4003 |
space even if the current color space wasn't a CIE space. (zcrd.c)
|
|
|
4004 |
- Out-of-range numbers like 10E38 caused a floating point exception.
|
|
|
4005 |
(iscannum.c)
|
|
|
4006 |
- Giving a closed readable file as input for a filter caused an
|
|
|
4007 |
invalidaccess. (files.h, interp.c, zfilter.c)
|
|
|
4008 |
- setpagedevice opened the default device even with -dNODISPLAY.
|
|
|
4009 |
(gs_init.ps, gs_setpd.ps)
|
|
|
4010 |
- realtime returned the same value as usertime. (gs_lev2.ps,
|
|
|
4011 |
zmisc.c)
|
|
|
4012 |
- Storing a local value into systemdict caused some redundant code
|
|
|
4013 |
to be executed. (zdict.c)
|
|
|
4014 |
- Files with a very long first line could cause a rangecheck error.
|
|
|
4015 |
(gs_init.ps)
|
|
|
4016 |
- The PageOffset page device parameter was ignored. (gs_setpd.ps)
|
|
|
4017 |
- The Orientation page device parameter wasn't handled properly.
|
|
|
4018 |
(gs_setpd.ps, idparam.h, idparam.c, zmedia2.c)
|
|
|
4019 |
- setpagedevice could set device parameters twice, with an
|
|
|
4020 |
incomplete update the first time. (gs_setpd.ps)
|
|
|
4021 |
|
|
|
4022 |
</pre><h3><a name="V3.47_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
4023 |
|
|
|
4024 |
Fixes bugs:
|
|
|
4025 |
- Readers confused the internal pdfrun procedure with the public
|
|
|
4026 |
runpdf procedure. (pdf_*.ps)
|
|
|
4027 |
|
|
|
4028 |
</pre><h3><a name="V3.47_Streams"></a>Streams</h3><pre>
|
|
|
4029 |
|
|
|
4030 |
Fixes bugs:
|
|
|
4031 |
- Closed streams had a NULL state pointer, causing problems for some
|
|
|
4032 |
clients. (stream.c)
|
|
|
4033 |
- Group 4 decoding could get an ioerror if an end-of-buffer occurred
|
|
|
4034 |
in a horizontal code sequence between a makeup code and the termination
|
|
|
4035 |
code. (scfd.c)
|
|
|
4036 |
|
|
|
4037 |
</pre><h3><a name="V3.47_Library"></a>Library</h3><pre>
|
|
|
4038 |
|
|
|
4039 |
Fixes bugs:
|
|
|
4040 |
- Some 'private' declarations were omitted. (Why doesn't gcc catch
|
|
|
4041 |
these??) (gdevmrop.c, gxht.c)
|
|
|
4042 |
- Patterns could produce bad output in the band list. (gxclist.c)
|
|
|
4043 |
- RasterOp wasn't implemented at all for 2- or 4-bit devices. (In
|
|
|
4044 |
this release, we implement only a subset, and without handling transparency
|
|
|
4045 |
properly.) (gdevm2.c, gdevm4.c, gdevmrop.c)
|
|
|
4046 |
- Drawing operations and text sometimes didn't apply the RasterOp
|
|
|
4047 |
when they should, and vice versa. (gxdcolor.h, gxdraw.c)
|
|
|
4048 |
- setcolorrendering tried to cache values computed from the color
|
|
|
4049 |
space even if the current color space wasn't a CIE space. (gscie.h,
|
|
|
4050 |
gscie.c)
|
|
|
4051 |
- Some CIE color spaces produced very distorted colors. (gscie.c)
|
|
|
4052 |
- setpagedevice opened a window even with -dNODISPLAY. (gsdevice.c,
|
|
|
4053 |
gsdparam.c)
|
|
|
4054 |
- realtime returned the same value as usertime. (gp.h, time_.h,
|
|
|
4055 |
gp_*.c)
|
|
|
4056 |
- The library level attempted to handle the Orientation page device
|
|
|
4057 |
parameter. (gxdevice.h, gdevbit.c, gsdevice.c, gsdparam.c, gspath.c)
|
|
|
4058 |
- Severely non-linear CIE encoding/decoding functions produced
|
|
|
4059 |
seriously skewed colors near the ends of the color value range. This
|
|
|
4060 |
problem can now be alleviated, at a significant cost in performance, by
|
|
|
4061 |
changing configuration parameters at the beginning of gscie.h. (gscie.h,
|
|
|
4062 |
gscie.c)
|
|
|
4063 |
- Files FTP'ed in binary mode weren't being opened properly on VMS.
|
|
|
4064 |
(gp.h, gp_*.c, gsiodev.c)
|
|
|
4065 |
- A header file had an inconsistent declaration. (math_.h)
|
|
|
4066 |
|
|
|
4067 |
Adds a new gp_get_usertime procedure to gp.h. THIS IS A
|
|
|
4068 |
NON-BACKWARD-COMPATIBLE CHANGE, affecting only platform implementors. It
|
|
|
4069 |
was necessary to fix the realtime/usertime bug. (gp.h, time_.h, gp_*.c)
|
|
|
4070 |
|
|
|
4071 |
Adds a new gp_fopen procedure to gp.h. THIS IS A NON-BACKWARD-COMPATIBLE
|
|
|
4072 |
CHANGE, affecting only platform implementors. It was necessary to fix the
|
|
|
4073 |
binary file problem on VMS. (gp.h, gp_*.c)
|
|
|
4074 |
|
|
|
4075 |
</pre>
|
|
|
4076 |
|
|
|
4077 |
<h2><a name="Version3.46"></a>Version 3.46 (limited) (9/4/95)</h2>
|
|
|
4078 |
|
|
|
4079 |
<p>
|
|
|
4080 |
This is the "serious beta test" release for the next public release. It
|
|
|
4081 |
finishes implementing RasterOp in the graphics state, and the remaining
|
|
|
4082 |
commonly used parts of setpagedevice.
|
|
|
4083 |
|
|
|
4084 |
<h3><a name="V3.46_Documentation"></a>Documentation</h3><pre>
|
|
|
4085 |
Documents some possible problems when building with DJGPP v2.0-beta.
|
|
|
4086 |
(make.doc)
|
|
|
4087 |
|
|
|
4088 |
Adds documentation on using Ghostscript as a PDF interpreter. (use.doc)
|
|
|
4089 |
|
|
|
4090 |
Notes linking problems with the Watcom 10.0 environment. (make.doc)
|
|
|
4091 |
|
|
|
4092 |
</pre><h3><a name="V3.46_Procedures"></a>Procedures</h3><pre>
|
|
|
4093 |
|
|
|
4094 |
Fixes bugs:
|
|
|
4095 |
- The rule for $(ccfonts).dev was wrong. (gs.mak)
|
|
|
4096 |
|
|
|
4097 |
Makes some additional filters into 'features'. (devs.mak, gs.mak)
|
|
|
4098 |
|
|
|
4099 |
Splits off 2 new makefiles from gs.mak, which had gotten very large: lib.mak
|
|
|
4100 |
(graphics library) and int.mak (interpreters). (tar_cat, tar_cat.bat,
|
|
|
4101 |
*.mak)
|
|
|
4102 |
|
|
|
4103 |
Adds a new 'config-clean' target that may be helpful in changing
|
|
|
4104 |
configuration definitions. (gs.mak)
|
|
|
4105 |
|
|
|
4106 |
Notes in the relevant makefiles that on Unix and DVX systems, one should not
|
|
|
4107 |
edit 'makefile' or the concatenated makefile, but should edit the individual
|
|
|
4108 |
subfile and run tar_cat. (ansihead.mak, cc-head.mak, dgc-head.mak,
|
|
|
4109 |
gcc-head.mak, devs.mak)
|
|
|
4110 |
|
|
|
4111 |
Updates the Watcom makefiles to handle Watcom release 10.5, in which many
|
|
|
4112 |
executables moved to different directories. (watc.mak, watcwin.mak,
|
|
|
4113 |
wccommon.mak)
|
|
|
4114 |
|
|
|
4115 |
Adds a pdf2ps shell script. (pdf2ps, pdf2ps.bat)
|
|
|
4116 |
|
|
|
4117 |
Adds a -sFONTMAP= switch to specify the name of the Fontmap file.
|
|
|
4118 |
(gs_fonts.ps)
|
|
|
4119 |
|
|
|
4120 |
Adds a -u<name> switch to undefine a name from systemdict. (interp.h, gs.c,
|
|
|
4121 |
iinit.c)
|
|
|
4122 |
|
|
|
4123 |
Adds a -dFIXEDRESOLUTION switch to parallel -dFIXEDMEDIA. Makes -g set
|
|
|
4124 |
FIXEDMEDIA and -r set FIXEDRESOLUTION. (gs_init.ps, gs_setpd.ps, gs.c)
|
|
|
4125 |
|
|
|
4126 |
Changes some build procedures to avoid problems with read-only source files.
|
|
|
4127 |
(gs.mak, int.mak, lib.mak)
|
|
|
4128 |
|
|
|
4129 |
</pre><h3><a name="V3.46_Utilities"></a>Utilities</h3><pre>
|
|
|
4130 |
|
|
|
4131 |
Adds a utility for emulating the CIE color mapping algorithms. (docie.ps)
|
|
|
4132 |
|
|
|
4133 |
</pre><h3><a name="V3.46_Drivers"></a>Drivers</h3><pre>
|
|
|
4134 |
|
|
|
4135 |
Changes the x11alpha device so that it uses 32-bit pixels with 8 bits of
|
|
|
4136 |
alpha. (gdevxalt.c)
|
|
|
4137 |
|
|
|
4138 |
Updates the Epson Stylus Color driver to Gunther Hess's release 1.17.
|
|
|
4139 |
(devs.mak, unix-end.mak, devices.doc, stcolor.ps, gdevstc.h, gdevstc*.c)
|
|
|
4140 |
|
|
|
4141 |
Updates the alternate X drivers for the change from PageSize to MediaSize.
|
|
|
4142 |
(gdevxalt.c)
|
|
|
4143 |
|
|
|
4144 |
Makes Duplex an optional parameter of printer devices rather than of all
|
|
|
4145 |
devices. (gdevprn.h, gxdevice.h, gsdparam.c, gdevdjet.c, gdevprn.c)
|
|
|
4146 |
|
|
|
4147 |
</pre><h3><a name="V3.46_Platforms"></a>Platforms</h3><pre>
|
|
|
4148 |
|
|
|
4149 |
Makes pipes (%pipe% file syntax) a selectable option on Unix platforms,
|
|
|
4150 |
rather than always being included. (ansihead.mak, cc-head.mak,
|
|
|
4151 |
gcc-head.mak, ugcclib.mak, unixtail.mak)
|
|
|
4152 |
|
|
|
4153 |
</pre><h3><a name="V3.46_Interpreter"></a>Interpreter</h3><pre>
|
|
|
4154 |
|
|
|
4155 |
Fixes bugs:
|
|
|
4156 |
- colorimage, and the dictionary form of image with
|
|
|
4157 |
MultipleDataSources = true, didn't check that all the data sources were of
|
|
|
4158 |
the same type. (zpaint.c)
|
|
|
4159 |
- colorimage, and dictionary-type images with MultipleDataSources =
|
|
|
4160 |
true, usually didn't work properly with files. (zpaint.c)
|
|
|
4161 |
- grestoreall left a dangling pointer to the transfer function
|
|
|
4162 |
cache. (gsstate.c)
|
|
|
4163 |
- Changes made by setpagedevice could get 'lost' and not installed
|
|
|
4164 |
in the current page device dictionary. (gs_setpd.ps)
|
|
|
4165 |
- The Install procedure was called before the new page device
|
|
|
4166 |
dictionary had gotten installed. (gs_setpd.ps)
|
|
|
4167 |
- If a grestore/grestoreall/restore/setgstate operation switched
|
|
|
4168 |
page devices, the new page device didn't get installed properly.
|
|
|
4169 |
(gs_setpd.ps, opextern.h, zdevice2.c, zdps1.c)
|
|
|
4170 |
- If the current screen was a Type 1 halftone, currentscreen and
|
|
|
4171 |
currentcolorscreen returned frequency = 60, angle = 0 rather than the
|
|
|
4172 |
Frequency and Angle from the halftone (see Adobe TN 5085). (gs_dps1.ps,
|
|
|
4173 |
gs_init.ps)
|
|
|
4174 |
- setscreen with a Type 1 halftone dictionary didn't insert the
|
|
|
4175 |
frequency and angle into the dictionary (see Adobe TN 5085). (gs_dps1.ps)
|
|
|
4176 |
- upath didn't include a trailing moveto in the bounding box.
|
|
|
4177 |
(gs_dps1.ps, zpath1.c)
|
|
|
4178 |
- setpagedevice didn't automatically rotate or scale the image when
|
|
|
4179 |
necessary. (gs_setpd.ps, zmedia2.c)
|
|
|
4180 |
|
|
|
4181 |
Moves the RasterOp operators to a separate file. (iutil.h, iutil.c,
|
|
|
4182 |
zgstate.c, zrop.c)
|
|
|
4183 |
|
|
|
4184 |
Eliminates the unnecessary "wrapper" around .setdevice. (zdevice2.c)
|
|
|
4185 |
|
|
|
4186 |
Establishes the convention that all interpreter callbacks into PostScript
|
|
|
4187 |
code use procedure names that begin with %; documents this in gs_init.ps.
|
|
|
4188 |
Changes Type1BuildChar and Type1BuildGlyph to %Type1BuildChar and
|
|
|
4189 |
%Type1BuildGlyph. (gs_init.ps, gs_type1.ps, zfont0.c, zfont1.c)
|
|
|
4190 |
|
|
|
4191 |
Changes image / imagemask / colorimage for the new library API. (zimage2.c,
|
|
|
4192 |
zpaint.c)
|
|
|
4193 |
|
|
|
4194 |
Reorganizes font loading to make compiled fonts and Fontmap interact better
|
|
|
4195 |
with each other. (gs_ccfnt.ps, gs_fonts.ps, gs_init.ps, gs_res.ps)
|
|
|
4196 |
|
|
|
4197 |
Implements parameter collection for the new CIEBasedDEF[G] color spaces, but
|
|
|
4198 |
doesn't actually implement the color spaces themselves. (icie.h, zcie.c,
|
|
|
4199 |
zcrd.c)
|
|
|
4200 |
|
|
|
4201 |
Renames iconfig.c as iconf.c to avoid problems with read-only source files.
|
|
|
4202 |
(iconf.c)
|
|
|
4203 |
|
|
|
4204 |
</pre><h3><a name="V3.46_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
4205 |
|
|
|
4206 |
Fixes bugs:
|
|
|
4207 |
- PDF to PostScript conversion didn't work. (pdf_main.ps)
|
|
|
4208 |
|
|
|
4209 |
Shifts most of the work in the PDF interpreter from the reader to the
|
|
|
4210 |
ProcSet. This simplifies the code considerably and also makes it easier to
|
|
|
4211 |
modify. (gs_pdf.ps, pdf_draw.ps, pdf_font.ps, pdf_main.ps)
|
|
|
4212 |
|
|
|
4213 |
</pre><h3><a name="V3.46_Library"></a>Library</h3><pre>
|
|
|
4214 |
|
|
|
4215 |
Fixes bugs:
|
|
|
4216 |
- 'static' was omitted in a place that some compilers require it.
|
|
|
4217 |
(gxccman.c)
|
|
|
4218 |
- Some compilers don't allow a variable with the same name as a
|
|
|
4219 |
preprocessor macro with arguments. (gscie.c)
|
|
|
4220 |
- Some places did a "return -1" rather than a proper error return.
|
|
|
4221 |
(gsdevice.c, gxclist.c)
|
|
|
4222 |
- An external declaration had a typo. (gsrop.h)
|
|
|
4223 |
- An extra semicolon upset some compilers. (gzpath.h)
|
|
|
4224 |
- Printer devices that didn't use the standard macros for generating
|
|
|
4225 |
their procedure vector wound up being considered as non-page devices.
|
|
|
4226 |
(gdevprn.c)
|
|
|
4227 |
- Some compilers truncated identifiers longer than 31 characters.
|
|
|
4228 |
(gscspace.h, zcie.c, gscie.c)
|
|
|
4229 |
- upath didn't include a trailing moveto in the bounding box.
|
|
|
4230 |
(gspath.h, gspath1.c)
|
|
|
4231 |
- RasterOp value 126 returned an incorrect result. (gsroptab.c)
|
|
|
4232 |
|
|
|
4233 |
Finishes implementing RasterOp in the graphics state. (gdevmrop.h, gsrop.h,
|
|
|
4234 |
gsropt.h, gsstate.h, gxbitmap.h, gxcindex.h, gxdcolor.h, gxdevice.h,
|
|
|
4235 |
gzstate.h, gdevmrop.c, gscolor.c, gsdevice.c, gsimage.c, gsimage1.c,
|
|
|
4236 |
gsimage2.c, gsimage3.c, gspcolor.c, gsrop.c, gsstate.c, gxacpath.c,
|
|
|
4237 |
gxccache.c, gxcht.c, gxcmap.c, gxdither.c, gxdraw.c, gxht.c)
|
|
|
4238 |
|
|
|
4239 |
Changes forwarding devices so they forward get_bits by default. This
|
|
|
4240 |
probably doesn't affect any existing code. (gxdevice.h, gsdevice.c)
|
|
|
4241 |
|
|
|
4242 |
Changes the API for gs_image[mask]_init to pass a structure rather than a
|
|
|
4243 |
very large number of scalars. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE,
|
|
|
4244 |
motivated by the addition of further image parameters to support RasterOp.
|
|
|
4245 |
Since there are no external clients of the library yet, it shouldn't matter.
|
|
|
4246 |
(gsimage.h, gsimage.c, gslib.c, gxccache.c)
|
|
|
4247 |
|
|
|
4248 |
Redefines the device "page size" as being the size of the actual media,
|
|
|
4249 |
changing the name of the gx_device PageSize member to MediaSize, the name of
|
|
|
4250 |
the PageSize device parameter to .MediaSize (but keeping PageSize as
|
|
|
4251 |
equivalent, for backward compatibility), and the name of the
|
|
|
4252 |
gx_device_set_page_size procedure to gx_device_set_media_size (keeping the
|
|
|
4253 |
old name as a macro). THIS IS A NON-BACKWARD-COMPATIBLE CHANGE. It is
|
|
|
4254 |
necessary to make setpagedevice work, and to avoid confusion about what
|
|
|
4255 |
"page size" means. It potentially affects any device driver, but almost
|
|
|
4256 |
none of the device drivers distributed with Ghostscript are affected, and
|
|
|
4257 |
those have been updated. (gsparam.h, gxdevice.h, gsdevice.c, gsdparam.c,
|
|
|
4258 |
gspath.c)
|
|
|
4259 |
|
|
|
4260 |
Renames gconfig.c as gconf.c to avoid problems with read-only source files.
|
|
|
4261 |
(gconf.c)
|
|
|
4262 |
|
|
|
4263 |
Adds an API procedure for setting a bitmap pattern. (gscolor2.h,
|
|
|
4264 |
gspcolor.c)
|
|
|
4265 |
|
|
|
4266 |
</pre>
|
|
|
4267 |
|
|
|
4268 |
<h2><a name="Version3.45"></a>Version 3.45 (limited) (8/27/95)</h2>
|
|
|
4269 |
|
|
|
4270 |
<p>
|
|
|
4271 |
The purpose of this release is to fix some minor bugs reported by commercial
|
|
|
4272 |
licensees, and to add two enhancements: optional RenderTable interpolation
|
|
|
4273 |
for CIE color, and reducing the temporary space used during character
|
|
|
4274 |
caching (also for a licensee).
|
|
|
4275 |
|
|
|
4276 |
<h3><a name="V3.45_Documentation"></a>Documentation</h3><pre>
|
|
|
4277 |
|
|
|
4278 |
Notes that the only valid return values from get_alpha_bits are 1, 2, and 4.
|
|
|
4279 |
(drivers.doc)
|
|
|
4280 |
|
|
|
4281 |
Notes that the get_bits driver procedure will return a pointer to aligned
|
|
|
4282 |
data, but does not require the caller's data area to be aligned.
|
|
|
4283 |
(drivers.doc)
|
|
|
4284 |
|
|
|
4285 |
</pre><h3><a name="V3.45_Procedures"></a>Procedures</h3><pre>
|
|
|
4286 |
|
|
|
4287 |
Fixes bugs:
|
|
|
4288 |
- Many of the printer and file output drivers in devs.mak still
|
|
|
4289 |
included gdevprn.$(OBJ) in their dependencies. (devs.mak)
|
|
|
4290 |
- PDEVH was used before it was defined. (devs.mak)
|
|
|
4291 |
- GENCONF_XE was used before it was defined. (unixhead.mak,
|
|
|
4292 |
unix-end.mak)
|
|
|
4293 |
|
|
|
4294 |
Makes it possible to switch sfile implementations without editing gs.mak.
|
|
|
4295 |
(gs.mak)
|
|
|
4296 |
|
|
|
4297 |
Makes it possible to specify alternate compiled font tables without editing
|
|
|
4298 |
gs.mak. (gs.mak)
|
|
|
4299 |
|
|
|
4300 |
Allows quoted arguments in @-files, e.g.,
|
|
|
4301 |
-sOutputFile="a file name with spaces"
|
|
|
4302 |
(gs.c)
|
|
|
4303 |
|
|
|
4304 |
</pre><h3><a name="V3.45_Utilities"></a>Utilities</h3><pre>
|
|
|
4305 |
|
|
|
4306 |
Fixes bugs:
|
|
|
4307 |
- The ps2ascii script could fail to delete temporary files in case
|
|
|
4308 |
of an abnormal exit. (ps2ascii)
|
|
|
4309 |
|
|
|
4310 |
</pre><h3><a name="V3.45_Drivers"></a>Drivers</h3><pre>
|
|
|
4311 |
|
|
|
4312 |
Fixes bugs:
|
|
|
4313 |
- The MS Windows printer capability test was wrong. (gdevwpr2.c)
|
|
|
4314 |
- The MS Windows and OS/2/PM displays weren't page devices.
|
|
|
4315 |
(gdevwdib.c, gdevpm.c)
|
|
|
4316 |
|
|
|
4317 |
Gets rid of all direct references to dev->PageSize in drivers. (gdevl256.c,
|
|
|
4318 |
gdevvglb.c)
|
|
|
4319 |
|
|
|
4320 |
</pre><h3><a name="V3.45_Platforms"></a>Platforms</h3><pre>
|
|
|
4321 |
|
|
|
4322 |
Fixes bugs:
|
|
|
4323 |
- The 32-bit MS Windows configuration file for the Borland C++
|
|
|
4324 |
compiler was missing from the fileset. (bcc32.cfg, tar_gs)
|
|
|
4325 |
|
|
|
4326 |
Makes the printer devices in the OS/2 implementation capable of outputting
|
|
|
4327 |
directly to the print spooler. (use.doc, gp_os2.c)
|
|
|
4328 |
|
|
|
4329 |
Makes printing on Windows NT and Windows 95 use the printer queue.
|
|
|
4330 |
(gp_mswin.c, gswin32.rc)
|
|
|
4331 |
|
|
|
4332 |
</pre><h3><a name="V3.45_Interpreter"></a>Interpreter</h3><pre>
|
|
|
4333 |
|
|
|
4334 |
Fixes bugs:
|
|
|
4335 |
- Copying a null device produced an uninitialized pointer.
|
|
|
4336 |
(gsdevice.c)
|
|
|
4337 |
- The dictionary returned by deviceinfo wasn't read-only.
|
|
|
4338 |
(gs_lev2.ps)
|
|
|
4339 |
- If a filter's init code failed, an entry on the operand stack
|
|
|
4340 |
(usually the top) could be smashed. (files.h, zfile.c, zfilter.c)
|
|
|
4341 |
|
|
|
4342 |
Adds const in a few places that needed it. (zwppm.c)
|
|
|
4343 |
|
|
|
4344 |
Adds interpolation to the CIE RenderTable lookup. (icie.h, zcie.c, zcrd.c)
|
|
|
4345 |
|
|
|
4346 |
</pre><h3><a name="V3.45_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
4347 |
|
|
|
4348 |
Allows PDF files with control-character garbage at the end, and up to 250
|
|
|
4349 |
characters of garbage at the beginning. The latter is only supported by
|
|
|
4350 |
runpdf, not by run. (pdf_base.ps, pdf_main.ps)
|
|
|
4351 |
|
|
|
4352 |
</pre><h3><a name="V3.45_Streams"></a>Streams</h3><pre>
|
|
|
4353 |
|
|
|
4354 |
Fixes bugs:
|
|
|
4355 |
- A 1-D CCITTFaxDecode stream could give an error if an input buffer
|
|
|
4356 |
boundary fell just before a 0-length termination code. (scfx.h, scfd.c)
|
|
|
4357 |
|
|
|
4358 |
</pre><h3><a name="V3.45_Library"></a>Library</h3><pre>
|
|
|
4359 |
|
|
|
4360 |
Fixes bugs:
|
|
|
4361 |
- A variable was used before being set, which could cause band
|
|
|
4362 |
devices to become confused when processing colored halftones. (gxclist.c)
|
|
|
4363 |
- Some of the color and tile bookkeeping for band lists was wrong
|
|
|
4364 |
(as of 3.44), causing tiled areas to be filled with garbage. (gxclist.c,
|
|
|
4365 |
gxclread.c)
|
|
|
4366 |
- Colored Patterns showed up blank on devices whose native
|
|
|
4367 |
representation of `black' was a non-zero value. The fix removes the
|
|
|
4368 |
'cached' member of the gx_device structure, and requires monobit memory
|
|
|
4369 |
devices to have a palette; this is a NON-BACKWARD-COMPATIBLE CHANGE for
|
|
|
4370 |
anyone who was foolish enough to statically initialize a gx_device structure
|
|
|
4371 |
without using the macros in gxdevice.h or gdevprn.h. (gdevmem.h,
|
|
|
4372 |
gxdevice.h, gxdevmem.h, gdevm1.c, gdevmrop.c, gsdevice.c, gxcpath.c,
|
|
|
4373 |
gxdither.c)
|
|
|
4374 |
|
|
|
4375 |
Provides the framework for band devices to implement alpha (anti-aliasing).
|
|
|
4376 |
(gxcldev.h, gdevprn.c, gsdevice.c, gxclist.c, gxclread.c)
|
|
|
4377 |
|
|
|
4378 |
Implements an efficient API for enumerating paths using device coordinates.
|
|
|
4379 |
(gspath.h, gxpath.h, gzpath.h, gspath1.c, gxpath2.c)
|
|
|
4380 |
|
|
|
4381 |
Changes the character cache logic so that when rasterizing large
|
|
|
4382 |
anti-aliased characters, it converts the oversampled bits to alpha values on
|
|
|
4383 |
the fly rather than waiting until it has rasterized the entire character.
|
|
|
4384 |
This saves a lot of temporary space, at the expense of some extra time and
|
|
|
4385 |
lower quality results for Type 3 characters that don't use a single fill or
|
|
|
4386 |
imagemask operation to draw the character. This enhancement requires adding
|
|
|
4387 |
a member to the gx_device structure (max_fill_band), which is a
|
|
|
4388 |
NON-BACKWARD-COMPATIBLE CHANGE for badly written drivers (see above).
|
|
|
4389 |
(gxchar.h, gxdevice.h, gxpaint.h, gdevabuf.c, gschar.c, gspaint.c,
|
|
|
4390 |
gxccache.c, gxccman.c, gxfill.c)
|
|
|
4391 |
|
|
|
4392 |
Changes the palette member of memory devices from gs_string to
|
|
|
4393 |
gs_const_string. (gdevmem.h, gxdevmem.h, gdevmem.c, gdevm1.c)
|
|
|
4394 |
|
|
|
4395 |
Starts to decouple halftoning from the graphics state machinery, so
|
|
|
4396 |
it can be applied after banding rather than before. (gxdcolor.h,
|
|
|
4397 |
gxdht.h, gxdither.h, gzht.h, gxcmap.c, gxdither.c, gxdraw.c)
|
|
|
4398 |
|
|
|
4399 |
Starts to decouple path filling from the graphics state machinery, so
|
|
|
4400 |
that we can pass paths through band lists. (gxpaint.h, gxfill.c)
|
|
|
4401 |
|
|
|
4402 |
Adds interpolation to the CIE RenderTable lookup. This is optional, enabled
|
|
|
4403 |
by #define CIE_RENDER_TABLE_INTERPOLATE in gscie.h. (gscie.h, gxctable.h,
|
|
|
4404 |
gscie.c, gxctable.c)
|
|
|
4405 |
|
|
|
4406 |
</pre>
|
|
|
4407 |
|
|
|
4408 |
<h2><a name="Version3.44"></a>Version 3.44 (limited) (8/21/95)</h2>
|
|
|
4409 |
|
|
|
4410 |
<p>
|
|
|
4411 |
This includes a few bug fixes, but its main purpose is to add two new
|
|
|
4412 |
features: monobit and 8-bit gray-scale RasterOp (at the driver level, not at
|
|
|
4413 |
the gstate level yet), and (compressed) band lists in RAM. Of course, these
|
|
|
4414 |
new features may have introduced new bugs!
|
|
|
4415 |
|
|
|
4416 |
<h3><a name="V3.44_Documentation"></a>Documentation</h3><pre>
|
|
|
4417 |
Adds contact information for a user working on NeXT machines. (README)
|
|
|
4418 |
|
|
|
4419 |
Notes that Ghostscript runs on FreeBSD. (README)
|
|
|
4420 |
|
|
|
4421 |
Adds copy_rop (the RasterOp operation) to the driver interface.
|
|
|
4422 |
(drivers.doc)
|
|
|
4423 |
|
|
|
4424 |
Adds FONTPATH information for more operating systems. (use.doc)
|
|
|
4425 |
|
|
|
4426 |
</pre><h3><a name="V3.44_Procedures"></a>Procedures</h3><pre>
|
|
|
4427 |
|
|
|
4428 |
Fixes bugs:
|
|
|
4429 |
- The tar_cat script needed a #!/bin/sh to execute correctly on all
|
|
|
4430 |
platforms. (tar_cat)
|
|
|
4431 |
- There were a number of minor errors in the makefiles. (gs.mak,
|
|
|
4432 |
unixhead.mak)
|
|
|
4433 |
- Level 2 configurations without command lists had two undefined
|
|
|
4434 |
references. (gs.mak)
|
|
|
4435 |
- Some shells required an extra ';' to terminate an 'if' command.
|
|
|
4436 |
(ugcclib.mak, unix-end.mak, unixtail.mak)
|
|
|
4437 |
|
|
|
4438 |
Updates the JPEG code to the officially released version 6 of the IJG
|
|
|
4439 |
library. See jpeg.mak for information on where to find this library.
|
|
|
4440 |
(jpeg/*, jpeg.mak, *.mak, modules.lis)
|
|
|
4441 |
|
|
|
4442 |
Adds a definition of XEAUX to the makefiles to parallel CCAUX, primarily for
|
|
|
4443 |
cross-compilation environments. All references to <some-program>$(XE) must
|
|
|
4444 |
be replaced by $(<SOME-PROGRAM>_XE), where some-program={$(GS), ansi2knr,
|
|
|
4445 |
echogs, genarch, genconf, geninit}. This is a NON-BACKWARD-COMPATIBLE
|
|
|
4446 |
CHANGE, required in order for the makefiles to work in cross-compiled
|
|
|
4447 |
environments. (For non-cross-compiled environments, it currently doesn't
|
|
|
4448 |
matter.) (gs.mak, *.mak)
|
|
|
4449 |
|
|
|
4450 |
</pre><h3><a name="V3.44_Utilities"></a>Utilities</h3><pre>
|
|
|
4451 |
|
|
|
4452 |
Updates ps2ai.ps to version 2.13. (ps2ai.ps)
|
|
|
4453 |
|
|
|
4454 |
Changes all the utility shell scripts to include #!/bin/sh, to use exec, and
|
|
|
4455 |
to pass the original arguments using "$@". (bdftops, font2c, gsbj, gsdj,
|
|
|
4456 |
gslj, gslp, gsnd, wftopfa)
|
|
|
4457 |
|
|
|
4458 |
</pre><h3><a name="V3.44_Drivers"></a>Drivers</h3><pre>
|
|
|
4459 |
|
|
|
4460 |
Adds the requirement that all page-oriented devices (i.e., those that use
|
|
|
4461 |
gdevprn.h and implement the print_page procedure) include page.dev in their
|
|
|
4462 |
dependencies and use $(SETPDEV) rather than $(SETDEV) in their makefile rule
|
|
|
4463 |
bodies. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE. Without this change, the
|
|
|
4464 |
command list logic (over 25K of unnecessary object code) would have to be
|
|
|
4465 |
included in every configuration. (gs.mak, devs.mak, echogs.c)
|
|
|
4466 |
|
|
|
4467 |
Adds a user-contributed driver for the Okidata Microline (IBM compatible)
|
|
|
4468 |
dot matrix printers. (gdevokii.c)
|
|
|
4469 |
|
|
|
4470 |
Adds copy_rop (the RasterOp operation) to the driver interface. Currently,
|
|
|
4471 |
only monobit and 8-bit gray-scale devices implement it. (gxdevice.h,
|
|
|
4472 |
gsdevice.c)
|
|
|
4473 |
|
|
|
4474 |
Adds the ability to read back bits from the display to the x11 devices.
|
|
|
4475 |
(x_.h, gdevx.c, gdevxalt.c)
|
|
|
4476 |
|
|
|
4477 |
</pre><h3><a name="V3.44_Platforms"></a>Platforms</h3><pre>
|
|
|
4478 |
|
|
|
4479 |
Makes some minor changes to support QNX. (stat_.h)
|
|
|
4480 |
|
|
|
4481 |
Removes the mswinprn driver from the 16-bit Windows configuration, because
|
|
|
4482 |
the 64K default data segment overflowed. (bcwin.mak)
|
|
|
4483 |
|
|
|
4484 |
</pre><h3><a name="V3.44_Interpreter"></a>Interpreter</h3><pre>
|
|
|
4485 |
|
|
|
4486 |
Fixes bugs:
|
|
|
4487 |
- Type 1 fonts didn't accept packed arrays for Subrs or OtherSubrs.
|
|
|
4488 |
(zchar1.c, zfont1.c)
|
|
|
4489 |
- TBCP-encoded files (yes, I know there isn't supposed to be any
|
|
|
4490 |
such thing) didn't automatically activate TBCP decoding. (gs_init.ps)
|
|
|
4491 |
- Fonts with invalid FID entries weren't detected. (zfont.c)
|
|
|
4492 |
|
|
|
4493 |
Speeds up dictionary operations slightly by removing redundant checks for
|
|
|
4494 |
nulls. (zdict.c)
|
|
|
4495 |
|
|
|
4496 |
Starts adding support for the new CIEBasedDEF and CIEBasedDEFG color spaces.
|
|
|
4497 |
(gs_l2img.ps, gs_lev2.ps, igstate.h, zcrd.c)
|
|
|
4498 |
|
|
|
4499 |
Adds access operators for RasterOp and transparency in the graphics state.
|
|
|
4500 |
(They don't actually do anything yet.) (zgstate.c)
|
|
|
4501 |
|
|
|
4502 |
</pre><h3><a name="V3.44_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
4503 |
|
|
|
4504 |
Fixes bugs:
|
|
|
4505 |
- PDFDocEncoding was missing characters 24-31. (gs_pdf_e.ps)
|
|
|
4506 |
|
|
|
4507 |
Moves the definition of pdfmark from systemdict to userdict so that Adobe
|
|
|
4508 |
PostScript files won't think the interpreter is a distiller. (gs_pdf.ps)
|
|
|
4509 |
|
|
|
4510 |
</pre><h3><a name="V3.44_Library"></a>Library</h3><pre>
|
|
|
4511 |
|
|
|
4512 |
Fixes bugs:
|
|
|
4513 |
- Some JPEG images had bands of garbage alternating with bands of
|
|
|
4514 |
valid data. IJG v6 fixed this -- see above.
|
|
|
4515 |
- With FPU_TYPE = -1, the cosine routine returned incorrect values
|
|
|
4516 |
for angles above 270 degrees. (gsmisc.c)
|
|
|
4517 |
- CIE color conversion didn't work on 16-bit systems. (gscie.h,
|
|
|
4518 |
gscie.c)
|
|
|
4519 |
|
|
|
4520 |
Partially implements reducing the intermediate space for rasterizing
|
|
|
4521 |
anti-aliased characters by compressing the oversampled representation to an
|
|
|
4522 |
alpha array incrementally. (gdevmem.h, gxchar.h, gxdevmem.h, gdevabuf.c,
|
|
|
4523 |
gschar.c, gspaint.c, gxccman.c)
|
|
|
4524 |
|
|
|
4525 |
Starts adding support for the new CIEBasedDEF and CIEBasedDEFG color spaces.
|
|
|
4526 |
(gscie.h, gscspace.h, gscie.c)
|
|
|
4527 |
|
|
|
4528 |
Completes the implementation of band lists in RAM. To select this feature,
|
|
|
4529 |
change the definition of cl_impl in gs.mak from clfile to clmem. (Someday
|
|
|
4530 |
we'll make this easier.) (gxclmem.h, gxclmem.c)
|
|
|
4531 |
|
|
|
4532 |
Finishes implementing RasterOp and transparency at the driver level for
|
|
|
4533 |
monobit and 8-bit gray-scale devices, and implements some of the framework
|
|
|
4534 |
for general multiple-bit-per-pixel devices. See drivers.doc for
|
|
|
4535 |
documentation. (gsropt.h, gxcldev.h, gxclist.h, gdevm1.c, gdevm8.c,
|
|
|
4536 |
gdevmem.c, gdevmrop.c, gschar.c, gxclist.c, gxclread.c)
|
|
|
4537 |
|
|
|
4538 |
Implements the ability to include commands applicable to all bands, rather
|
|
|
4539 |
than an individual band, in the band list. Eventually this will be used for
|
|
|
4540 |
passing halftones through the band list. (gxcldev.h, gxclist.h, gxclist.c)
|
|
|
4541 |
|
|
|
4542 |
Adds support for 2-bit-deep 'word' memory devices. (gdevmem.h, gxdevmem.c,
|
|
|
4543 |
gdevm2.c)
|
|
|
4544 |
|
|
|
4545 |
Changes the initialization for memory devices so that they determine their
|
|
|
4546 |
polarity from the device for which they are buffering the image (if any).
|
|
|
4547 |
This is a subtle change. (gdevmem.h, gdevmem.c, gdevm1.c, gsdevmem.c)
|
|
|
4548 |
|
|
|
4549 |
</pre>
|
|
|
4550 |
|
|
|
4551 |
<h2><a name="Version3.43"></a>Version 3.43 (limited) (8/10/95)</h2>
|
|
|
4552 |
|
|
|
4553 |
<p>
|
|
|
4554 |
Fixes a few more minor bugs, and changes FEATURE selection back to
|
|
|
4555 |
essentially the way it was before 3.41.
|
|
|
4556 |
|
|
|
4557 |
<h3><a name="V3.43_Documentation"></a>Documentation</h3><pre>
|
|
|
4558 |
Fixes bugs:
|
|
|
4559 |
- A ~ was missing in a URL. (README)
|
|
|
4560 |
|
|
|
4561 |
Adds information about an Amiga port of Ghostscript. (README)
|
|
|
4562 |
|
|
|
4563 |
Removes a file called gs.1.c, which appears to be an obsolete version of
|
|
|
4564 |
gs.1.
|
|
|
4565 |
|
|
|
4566 |
Adds DCX documentation to the PCX driver. (We don't support DCX yet, but we
|
|
|
4567 |
might in the future.) (gdevpcx.c)
|
|
|
4568 |
|
|
|
4569 |
Adds information about getting Type 1 fonts from H-P if you have an H-P
|
|
|
4570 |
PostScript printer. (use.doc)
|
|
|
4571 |
|
|
|
4572 |
</pre><h3><a name="V3.43_Procedures"></a>Procedures</h3><pre>
|
|
|
4573 |
|
|
|
4574 |
Fixes bugs:
|
|
|
4575 |
- The auxiliary programs wouldn't compile with ANSI compilers that
|
|
|
4576 |
don't accept K&R syntax. (ccgs, gs.mak, ugcclib.mak, *head.mak,
|
|
|
4577 |
unixtail.mak, echogs.c, genarch.c, genconf.c, geninit.c)
|
|
|
4578 |
|
|
|
4579 |
Reinstates FEATURE_DEVS in the makefiles, getting rid of FEATURE1..10. THIS
|
|
|
4580 |
IS A NON-BACKWARD-COMPATIBLE CHANGE, but it puts things back the way they
|
|
|
4581 |
were before 3.41, with one exception: compiling the PostScript
|
|
|
4582 |
initialization code into the executable is now a separate macro
|
|
|
4583 |
COMPILE_INITS with a definition of 0 or 1, instead of the ccinit 'feature'.
|
|
|
4584 |
(gs.mak, *.mak, fonts.doc, make.doc)
|
|
|
4585 |
|
|
|
4586 |
Adds a CCLEAF macro to the makefiles, for optimizing the compilation of
|
|
|
4587 |
modules containing only leaf procedures. (gs.mak, *.mak)
|
|
|
4588 |
|
|
|
4589 |
Adds a CONFIG makefile variable that helps in maintaining multiple variants
|
|
|
4590 |
in a single directory. (gs.mak, *.mak)
|
|
|
4591 |
|
|
|
4592 |
</pre><h3><a name="V3.43_Platforms"></a>Platforms</h3><pre>
|
|
|
4593 |
|
|
|
4594 |
Fixes bugs:
|
|
|
4595 |
- An extern for exit() (in <stdlib.h>) was omitted. (gp_vms.c)
|
|
|
4596 |
|
|
|
4597 |
</pre><h3><a name="V3.43_Fonts"></a>Fonts</h3><pre>
|
|
|
4598 |
|
|
|
4599 |
Reorganizes the compiled font facility so that fonts can be compiled and
|
|
|
4600 |
turned into a library by third parties. (gs.mak, font2c.ps, gs_ccfnt.ps,
|
|
|
4601 |
ccfont.h, iccfont.c, ccfontab.c)
|
|
|
4602 |
|
|
|
4603 |
</pre><h3><a name="V3.43_Interpreter"></a>Interpreter</h3><pre>
|
|
|
4604 |
|
|
|
4605 |
Fixes bugs:
|
|
|
4606 |
- internaldict was implemented as a dictionary in systemdict and an
|
|
|
4607 |
operator in userdict, rather than as an operator in systemdict. This caused
|
|
|
4608 |
a noaccess error when loading certain Type 1 fonts. (gs_init.ps,
|
|
|
4609 |
gs_type1.ps)
|
|
|
4610 |
- xfonts couldn't handle modified encodings. (zfont2.c)
|
|
|
4611 |
|
|
|
4612 |
Changes the build date printout in the help message to YYYY-MM-DD. (gs.c)
|
|
|
4613 |
|
|
|
4614 |
Adds native support for Multiple Master fonts (WeightVector). (zfont1.c)
|
|
|
4615 |
|
|
|
4616 |
Implements sin and cos more efficiently (by table lookup with linear
|
|
|
4617 |
interpolation) on machines with slow (or no) floating point. (zmath.c)
|
|
|
4618 |
|
|
|
4619 |
Separates out the code for 'reading' the .ps initialization files, for the
|
|
|
4620 |
new COMPILE_INITS arrangement. (imain.h, gconfig.c, gsmain.c, iconfig.c,
|
|
|
4621 |
iccinit0.c, iinit.c)
|
|
|
4622 |
|
|
|
4623 |
</pre><h3><a name="V3.43_Streams"></a>Streams</h3><pre>
|
|
|
4624 |
|
|
|
4625 |
Fixes bugs:
|
|
|
4626 |
- The CCITTFaxDecode filter could read up to 3 bytes beyond EOD.
|
|
|
4627 |
This fix doesn't quite cover all cases, but at least it makes things better.
|
|
|
4628 |
(ghc.h, sbhc.c, scfd.c)
|
|
|
4629 |
|
|
|
4630 |
</pre><h3><a name="V3.43_Library"></a>Library</h3><pre>
|
|
|
4631 |
|
|
|
4632 |
Fixes bugs:
|
|
|
4633 |
- After a nocurrentpoint error from a show operation with a
|
|
|
4634 |
composite font, the bookkeeping was confused and could cause an access
|
|
|
4635 |
error. (gschar.c)
|
|
|
4636 |
- xfonts couldn't handle modified encodings. (gsccode.h, gxchar.h,
|
|
|
4637 |
gxfont.h, gxxfont.h, gschar.c, gxccache.c)
|
|
|
4638 |
|
|
|
4639 |
Makes .charboxpath able to use cached character information. (gxchar.h,
|
|
|
4640 |
gschar.c)
|
|
|
4641 |
|
|
|
4642 |
Adds native support for Multiple Master fonts (OtherSubrs 14-18).
|
|
|
4643 |
(gxfont1.h, gstype1.c)
|
|
|
4644 |
|
|
|
4645 |
Improves the hashing functions for the character cache. (gxfcache.h,
|
|
|
4646 |
gxccman.c)
|
|
|
4647 |
|
|
|
4648 |
Adjusts the character oversampling algorithm to reduce thickening for
|
|
|
4649 |
devices with alpha capability. (gsbitops.c)
|
|
|
4650 |
|
|
|
4651 |
Improves the encoding of the band list for certain kinds of small
|
|
|
4652 |
rectangles. (gxcldev.h, gxclist.c, gxclread.c)
|
|
|
4653 |
|
|
|
4654 |
Implements sin and cos efficiently on machines with slow (or no) floating
|
|
|
4655 |
point. (gxfarith.h, gsmatrix.c, gsmisc.c, gspath1.c)
|
|
|
4656 |
|
|
|
4657 |
</pre>
|
|
|
4658 |
|
|
|
4659 |
<h2><a name="Version3.42"></a>Version 3.42 (limited) (8/2/95)</h2>
|
|
|
4660 |
|
|
|
4661 |
<p>
|
|
|
4662 |
Fixes a few significant problems in 3.41, and brings the DLL code up to
|
|
|
4663 |
date.
|
|
|
4664 |
|
|
|
4665 |
<h3><a name="V3.42_Documentation"></a>Documentation</h3><pre>
|
|
|
4666 |
Fixes bugs:
|
|
|
4667 |
- language.doc still referred to rectappend rather than .rectappend.
|
|
|
4668 |
(language.doc)
|
|
|
4669 |
|
|
|
4670 |
Adds documentation on the Macintosh port. (readme, make.doc)
|
|
|
4671 |
|
|
|
4672 |
Updates the DLL documentation. (dll.doc)
|
|
|
4673 |
|
|
|
4674 |
Documents the BCP and TBCP filters as non-experimental. (language.doc)
|
|
|
4675 |
|
|
|
4676 |
</pre><h3><a name="V3.42_Procedures"></a>Procedures</h3><pre>
|
|
|
4677 |
|
|
|
4678 |
Changes the build date printout to YYYY-MM-DD. (gs_init.ps)
|
|
|
4679 |
|
|
|
4680 |
</pre><h3><a name="V3.42_Platforms"></a>Platforms</h3><pre>
|
|
|
4681 |
|
|
|
4682 |
Fixes bugs:
|
|
|
4683 |
- The VMS build script had gotten out of sync with the makefiles
|
|
|
4684 |
(again). (vms.mak, modules.lis)
|
|
|
4685 |
|
|
|
4686 |
Brings the MS Windows and OS/2 platforms up to date with the rest of the
|
|
|
4687 |
code, including DLL support for OS/2. (os2.mak, gsdll*.def, gdevswn.c,
|
|
|
4688 |
gdevpm.c, gdevwdib.c, gp_mswin.c, gp_os2.c, gsdll.c, gsmain.c)
|
|
|
4689 |
|
|
|
4690 |
Adds a new platform-specific routine gp_do_exit, as an alias for the C
|
|
|
4691 |
library `exit' call. (gp.h, gsdll.c, gsmain.c, gp_*.c)
|
|
|
4692 |
|
|
|
4693 |
</pre><h3><a name="V3.42_Interpreter"></a>Interpreter</h3><pre>
|
|
|
4694 |
|
|
|
4695 |
Fixes bugs:
|
|
|
4696 |
- .forgetsave at the outermost level didn't clear the l_new bit,
|
|
|
4697 |
causing changes to be undone improperly. (isave.c)
|
|
|
4698 |
- A 'void' formal parameter list upset some compilers (as it should
|
|
|
4699 |
have). (gsmain.c)
|
|
|
4700 |
|
|
|
4701 |
Adds a .charboxpath operator that appends to the current path the bounding
|
|
|
4702 |
boxes of the characters of a string. (zchar.c, zchar1.c)
|
|
|
4703 |
|
|
|
4704 |
</pre><h3><a name="V3.42_Streams"></a>Streams</h3><pre>
|
|
|
4705 |
|
|
|
4706 |
Fixes bugs:
|
|
|
4707 |
- A procedure was declared private inconsistently. (siscale.c)
|
|
|
4708 |
|
|
|
4709 |
</pre><h3><a name="V3.42_Library"></a>Library</h3><pre>
|
|
|
4710 |
|
|
|
4711 |
Fixes bugs:
|
|
|
4712 |
- The library test program didn't do a necessary initial gsave.
|
|
|
4713 |
(gslib.c)
|
|
|
4714 |
- The fix for landscape monobit images in 3.41 could smash memory.
|
|
|
4715 |
(gsimage1.c)
|
|
|
4716 |
- 1-pixel-wide lines drawn with image or imagemask still disappeared
|
|
|
4717 |
sometimes. (gsimage.c)
|
|
|
4718 |
|
|
|
4719 |
Does some more preparatory work for the implementation of command lists in
|
|
|
4720 |
RAM. (gdevprn.h, gxclio.h, gxclist.h, gxclfile.c, gxclist.c, gxclread.c)
|
|
|
4721 |
|
|
|
4722 |
Adds a gs_charboxpath procedure that appends to the current path the
|
|
|
4723 |
bounding boxes of the characters of a string. (gschar.h, gscpm.h,
|
|
|
4724 |
gstype1.h, gxchar.h, gxpath.h, gxtype1.h, gzstate.h, gschar.c, gspaint.c,
|
|
|
4725 |
gstype1.c, gxpath.c)
|
|
|
4726 |
|
|
|
4727 |
</pre>
|
|
|
4728 |
|
|
|
4729 |
<h2><a name="Version3.41"></a>Version 3.41 (limited) (7/27/95)</h2>
|
|
|
4730 |
<p>
|
|
|
4731 |
Another incremental release with bug fixes and customer-requested
|
|
|
4732 |
enhancements. This release was intended to include the full setpagedevice
|
|
|
4733 |
media matching and adjustment algorithm, but we discovered some
|
|
|
4734 |
architectural problems during development, and have postponed it.
|
|
|
4735 |
|
|
|
4736 |
<h3><a name="V3.41_Documentation"></a>Documentation</h3><pre>
|
|
|
4737 |
|
|
|
4738 |
Replaces the build instructions for NeXTSTEP with more up-to-date and
|
|
|
4739 |
accurate ones. (make.doc)
|
|
|
4740 |
|
|
|
4741 |
Notes that some extra manual steps are required when cross-compiling.
|
|
|
4742 |
(make.doc)
|
|
|
4743 |
|
|
|
4744 |
Documents how to define new 'features' in the makefile. (gs.mak)
|
|
|
4745 |
|
|
|
4746 |
</pre><h3><a name="V3.41_Procedures"></a>Procedures</h3><pre>
|
|
|
4747 |
|
|
|
4748 |
Fixes bugs:
|
|
|
4749 |
- The build rule for ccinit.dev was circular. Fixing this required
|
|
|
4750 |
a small but NON-BACKWARD-COMPATIBLE change in the way that features are
|
|
|
4751 |
selected in the makefiles (FEATURE_DEVS replaced by FEATURE1..10). (*.mak,
|
|
|
4752 |
fonts.doc, make.doc)
|
|
|
4753 |
|
|
|
4754 |
Changes the build rule for gconfig.h to be less likely to overrun MS-DOS's
|
|
|
4755 |
command line length limit. (gs.mak)
|
|
|
4756 |
|
|
|
4757 |
Adds a -dFIXEDMEDIA switch to indicate that the media size should be
|
|
|
4758 |
considered fixed after initialization. (gs_init.ps)
|
|
|
4759 |
|
|
|
4760 |
</pre><h3><a name="V3.41_Utilities"></a>Utilities</h3><pre>
|
|
|
4761 |
|
|
|
4762 |
Fixes bugs:
|
|
|
4763 |
- traceimg.ps incorrectly referred to .stdout. (traceimg.ps)
|
|
|
4764 |
- prfont.ps didn't display unencoded characters correctly.
|
|
|
4765 |
(prfont.ps)
|
|
|
4766 |
- ps2epsi didn't give correct bounding box information. (ps2epsi,
|
|
|
4767 |
ps2epsi.ps)
|
|
|
4768 |
- ps2epsi produced DSC comments that didn't fully conform to the
|
|
|
4769 |
Adobe standard. (ps2epsi, ps2epsi.ps)
|
|
|
4770 |
|
|
|
4771 |
Allows viewpbm.ps to take multiple files on the command line. (viewpbm.ps)
|
|
|
4772 |
|
|
|
4773 |
</pre><h3><a name="V3.41_Drivers"></a>Drivers</h3><pre>
|
|
|
4774 |
|
|
|
4775 |
Adds a preliminary, contributed PNG driver. THIS IS NOT USABLE YET -- DON'T
|
|
|
4776 |
TRY TO USE IT. (png.mak, gdevpng.c)
|
|
|
4777 |
|
|
|
4778 |
Increases the maximum allowable scan line width for the TIFF drivers from
|
|
|
4779 |
5183 pixels to 12863 pixels. (scf.h)
|
|
|
4780 |
|
|
|
4781 |
</pre><h3><a name="V3.41_Platforms"></a>Platforms</h3><pre>
|
|
|
4782 |
|
|
|
4783 |
Updates the MS Windows DLL code to export the new, suspendable run_string
|
|
|
4784 |
interface. (gsdll.h, gsdll.c, dll.doc)
|
|
|
4785 |
|
|
|
4786 |
</pre><h3><a name="V3.41_Fonts"></a>Fonts</h3><pre>
|
|
|
4787 |
|
|
|
4788 |
Fixes bugs:
|
|
|
4789 |
- There were several errors in cfonts.mak. (cfonts.mak)
|
|
|
4790 |
- The compiled fonts option didn't offer both free and standard
|
|
|
4791 |
configurations. (gs.mak)
|
|
|
4792 |
- A bug in the handling of Encoding resources prevented compiled
|
|
|
4793 |
fonts from working. (gs_res.ps)
|
|
|
4794 |
|
|
|
4795 |
Adds a little more support for CID-keyed fonts. They still aren't anywhere
|
|
|
4796 |
near usable. (gs_cidfn.ps, gs_type1.ps)
|
|
|
4797 |
|
|
|
4798 |
Adds a new Fontmap for Solaris 2.3. (Fontmap.Solaris)
|
|
|
4799 |
|
|
|
4800 |
Adds support for Type 4 fonts (Type 1 fonts with their own BuildChar
|
|
|
4801 |
procedures), including the CCRun procedure in internaldict. (gs_fonts.ps,
|
|
|
4802 |
gs_res.ps, gs_type1.ps)
|
|
|
4803 |
|
|
|
4804 |
</pre><h3><a name="V3.41_Interpreter"></a>Interpreter</h3><pre>
|
|
|
4805 |
|
|
|
4806 |
Fixes bugs:
|
|
|
4807 |
- showpage and copypage didn't honor NumCopies in a page device.
|
|
|
4808 |
(gs_setpd.ps, zdevice2.c)
|
|
|
4809 |
- currentpagedevice returned incorrect information if the current
|
|
|
4810 |
device wasn't a page device. (gs_setpd.ps)
|
|
|
4811 |
- currentpagedevice didn't guarantee the presence of InputAttributes
|
|
|
4812 |
and OutputAttributes. (gs_setpd.ps)
|
|
|
4813 |
- The l_new bit wasn't set properly when a dictionary changed from
|
|
|
4814 |
packed to unpacked keys, leading to unnecessary saves. (idict.c)
|
|
|
4815 |
- Streams requiring intermediate buffering could read ahead too far,
|
|
|
4816 |
causing input data to be skipped. (zfilter.c)
|
|
|
4817 |
- cshow didn't reset the font to the base font when calling the
|
|
|
4818 |
procedure. (zchar2.c)
|
|
|
4819 |
- The Install procedure in a page device didn't set the default CTM.
|
|
|
4820 |
(gs_setpd.ps, zmatrix.c)
|
|
|
4821 |
- findlibfile didn't handle special files like %stdin correctly.
|
|
|
4822 |
(zfile.c)
|
|
|
4823 |
- setpagedevice didn't implement media matching. (gs_setpd.ps,
|
|
|
4824 |
zdevice2.c, zmedia2.c, zmatrix.c)
|
|
|
4825 |
- Some floating point numbers didn't print out with enough digits to
|
|
|
4826 |
read back in with the identical value. (iutil.c)
|
|
|
4827 |
- Integers that overflowed 31 bits (but not 32 bits) were converted
|
|
|
4828 |
to negative integers rather than correct positive reals. (iscannum.c)
|
|
|
4829 |
|
|
|
4830 |
Removes an experimental operator that called the image scaling/interpolation
|
|
|
4831 |
code. (zimage2.c)
|
|
|
4832 |
|
|
|
4833 |
Adds a -sSUBSTFONT=<fontname> switch that substitutes the given font for all
|
|
|
4834 |
unknown fonts, bypassing the normal intelligent substitution algorithm.
|
|
|
4835 |
(gs_fonts.ps)
|
|
|
4836 |
|
|
|
4837 |
Adds the Revision system parameter. (zmisc2.c)
|
|
|
4838 |
|
|
|
4839 |
Adds a .knownundef operator that does an undef and returns true iff the key
|
|
|
4840 |
was formerly present. (zdict.c)
|
|
|
4841 |
|
|
|
4842 |
Makes the maximum length of names be 256 if EXTEND_NAMES is being used, 16K
|
|
|
4843 |
otherwise. (inamedef.h, iname.c)
|
|
|
4844 |
|
|
|
4845 |
Adds internaldict. (gs_init.ps, iinit.c)
|
|
|
4846 |
|
|
|
4847 |
Adds support for Type 4 fonts. (bfont.h, zchar.c, zchar1.c, zfont1.c,
|
|
|
4848 |
zfont2.c)
|
|
|
4849 |
|
|
|
4850 |
Changes .encodingdict to EncodingDirectory, for compatibility with Adobe
|
|
|
4851 |
interpreters. (gs_init.ps, gs_kanji.ps, gs_res.ps)
|
|
|
4852 |
|
|
|
4853 |
Adds superexec, an undocumented operator that is equivalent to exec but
|
|
|
4854 |
suppresses all invalidaccess checks. NOT COMPLETED YET; currently superexec
|
|
|
4855 |
is equivalent to exec. (zcontrol.c)
|
|
|
4856 |
|
|
|
4857 |
</pre><h3><a name="V3.41_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
4858 |
|
|
|
4859 |
Fixes bugs:
|
|
|
4860 |
- .stderr was used but is no longer defined. (pdf_base.ps)
|
|
|
4861 |
|
|
|
4862 |
</pre><h3><a name="V3.41_Streams"></a>Streams</h3><pre>
|
|
|
4863 |
|
|
|
4864 |
Fixes bugs:
|
|
|
4865 |
- Not all streams initialized their state pointer. (stream.c,
|
|
|
4866 |
sfile.c, sfileno.c)
|
|
|
4867 |
|
|
|
4868 |
Adds a filter for the smoothed image scaling algorithm. Eventually this
|
|
|
4869 |
filter will require very little intermediate storage; right now it still
|
|
|
4870 |
needs to buffer the entire intermediate image. (siscale.h, siscale.c)
|
|
|
4871 |
|
|
|
4872 |
Increases the maximum allowable scan line width for the CCITTFaxEncode
|
|
|
4873 |
filter from 5183 pixels to 12863 pixels. (scf.h)
|
|
|
4874 |
|
|
|
4875 |
</pre><h3><a name="V3.41_Library"></a>Library</h3><pre>
|
|
|
4876 |
|
|
|
4877 |
Fixes bugs:
|
|
|
4878 |
- setpagedevice didn't update NumCopies correctly. (gdevprn.c,
|
|
|
4879 |
gsdparam.c)
|
|
|
4880 |
- The newly optimized code for monobit bitmaps could cause an
|
|
|
4881 |
out-of-bounds memory access and/or make unaligned references. (gsimage1.c)
|
|
|
4882 |
- setpagedevice with unknown keys could cause an /undefined error.
|
|
|
4883 |
(gsdparam.c)
|
|
|
4884 |
- cshow didn't reset the font to the base font when calling the
|
|
|
4885 |
procedure. (gschar.h, gschar.c)
|
|
|
4886 |
- The Install procedure in a page device didn't set the default CTM.
|
|
|
4887 |
(gzstate.h, gschar.c, gscoord.c, gsdevice.c)
|
|
|
4888 |
- Very non-linear EncodeABC procedures in a color rendering
|
|
|
4889 |
dictionary could produce very inaccurate results. (gscie.h, gscie.c)
|
|
|
4890 |
- The line_ptrs pointer in memory devices didn't get relocated if
|
|
|
4891 |
the bitmap was moved during garbage collection, leading to memory smashing.
|
|
|
4892 |
(gdevmem.c)
|
|
|
4893 |
- setpagedevice didn't implement media matching. (gsdparam.c,
|
|
|
4894 |
gscoord.c)
|
|
|
4895 |
- 'word' memory devices weren't recognized as memory devices.
|
|
|
4896 |
(gdevmem.c)
|
|
|
4897 |
- makeimagedevice allocated, and then didn't free, an unnecessary
|
|
|
4898 |
palette for monobit devices. (gsdevmem.c)
|
|
|
4899 |
- The hack for 1-bit-wide images didn't work consistently,
|
|
|
4900 |
particularly in landscape orientation. (gsimage.c, gsimage0.c)
|
|
|
4901 |
|
|
|
4902 |
Adds an .IgnoreNumCopies page device parameter that causes #copies and
|
|
|
4903 |
NumCopies to be ignored. (gxdevice.h, gsdevice.c, gsdparam.c)
|
|
|
4904 |
|
|
|
4905 |
Removes the .IsPageDevice device parameter. (gsdparam.c)
|
|
|
4906 |
|
|
|
4907 |
Converts the image scaling/interpolation code to a filter. (gximage.h,
|
|
|
4908 |
gsimage.c, gsimage0.c, gsimage3.c)
|
|
|
4909 |
|
|
|
4910 |
Adds support for Type 4 fonts. (gxfont.h)
|
|
|
4911 |
|
|
|
4912 |
Adds a default implementation of parameter lists, designed to be usable
|
|
|
4913 |
easily from C code. (gsparam.h, gsparam.c)
|
|
|
4914 |
|
|
|
4915 |
</pre>
|
|
|
4916 |
|
|
|
4917 |
<h2><a name="Version3.40"></a>Version 3.40 (limited) (6/28/95)</h2>
|
|
|
4918 |
|
|
|
4919 |
<p>
|
|
|
4920 |
This is another incremental limited release for delivery of a couple of
|
|
|
4921 |
important bug fixes (pixel 'holes' in rotated images, setpagedevice errors
|
|
|
4922 |
on some platforms) and an enhancement (architectural support for band lists
|
|
|
4923 |
in RAM).
|
|
|
4924 |
|
|
|
4925 |
<h3><a name="V3.40_Documentation"></a>Documentation</h3><pre>
|
|
|
4926 |
Fixes bugs:
|
|
|
4927 |
- The FTP location of the EMX DLLs was incorrect. (use.doc)
|
|
|
4928 |
|
|
|
4929 |
</pre><h3><a name="V3.40_Procedures"></a>Procedures</h3><pre>
|
|
|
4930 |
|
|
|
4931 |
Fixes bugs:
|
|
|
4932 |
- A couple of build rules for IJG v6 were omitted. (jpeg.mak)
|
|
|
4933 |
|
|
|
4934 |
</pre><h3><a name="V3.40_Utilities"></a>Utilities</h3><pre>
|
|
|
4935 |
|
|
|
4936 |
Fixes bugs:
|
|
|
4937 |
- prfont.ps wouldn't print more than 128 unencoded characters.
|
|
|
4938 |
(prfont.ps)
|
|
|
4939 |
|
|
|
4940 |
</pre><h3><a name="V3.40_Platforms"></a>Platforms</h3><pre>
|
|
|
4941 |
|
|
|
4942 |
Fixes bugs:
|
|
|
4943 |
- setpagedevice often caused /undefined errors on MS Windows and
|
|
|
4944 |
OS/2 platforms. (gdevmswn.c, gdevpm.c)
|
|
|
4945 |
- The VMS module list had gotten out of sync with the makefiles
|
|
|
4946 |
(again). (modules.lis)
|
|
|
4947 |
|
|
|
4948 |
</pre><h3><a name="V3.40_Interpreter"></a>Interpreter</h3><pre>
|
|
|
4949 |
|
|
|
4950 |
Fixes bugs:
|
|
|
4951 |
- A couple of casts betwen char * and byte * were omitted.
|
|
|
4952 |
(gsmain.c)
|
|
|
4953 |
- gs_[main_]run_file_open wasn't exported properly. (imain.h,
|
|
|
4954 |
main.h, gsmain.c)
|
|
|
4955 |
|
|
|
4956 |
</pre><h3><a name="V3.40_Streams"></a>Streams</h3><pre>
|
|
|
4957 |
|
|
|
4958 |
Changes the DCTEncode filter to return an error if it wasn't supplied enough
|
|
|
4959 |
data before being closed. (sdcte.c)
|
|
|
4960 |
|
|
|
4961 |
</pre><h3><a name="V3.40_Library"></a>Library</h3><pre>
|
|
|
4962 |
|
|
|
4963 |
Fixes bugs:
|
|
|
4964 |
- The coordinate computations for all filling operations were
|
|
|
4965 |
slightly inaccurate, leading to pixel 'holes' in rotated images. (gxdda.h,
|
|
|
4966 |
gximage.h, gsimage*.c, gxdraw.c, gxfill.c)
|
|
|
4967 |
|
|
|
4968 |
Undoes an "optimization" (inlining the normal, fast case of a procedure)
|
|
|
4969 |
that actually hurt performance. (gxclist.c)
|
|
|
4970 |
|
|
|
4971 |
Refactors the command list code so that it in the future it will be able to
|
|
|
4972 |
store command lists either in RAM or in the file system. (gdevprn.h,
|
|
|
4973 |
gxcldev.h, gxclio.h, gxclist.h, gdevprn.c, gxclfile.c, gxclist.c,
|
|
|
4974 |
gxclread.c)
|
|
|
4975 |
|
|
|
4976 |
Changes the interface to the path filling code to take separate X and Y
|
|
|
4977 |
adjustment values. (gxpaint.h, gspaint.c, gxfill.c)
|
|
|
4978 |
|
|
|
4979 |
Makes the command list allocate a small tile cache if the device doesn't
|
|
|
4980 |
need halftones. (gxclist.c)
|
|
|
4981 |
|
|
|
4982 |
</pre>
|
|
|
4983 |
|
|
|
4984 |
<hr>
|
|
|
4985 |
|
|
|
4986 |
<h2><a name="Version3.39"></a>Version 3.39 (limited) (6/24/95)</h2>
|
|
|
4987 |
|
|
|
4988 |
<p>
|
|
|
4989 |
This is again an incremental release primarily for delivery of enhancements
|
|
|
4990 |
(suspendable string input in particular) to commercial customers, and with a
|
|
|
4991 |
few bug fixes.
|
|
|
4992 |
|
|
|
4993 |
<h3><a name="V3.39_Documentation"></a>Documentation</h3><pre>
|
|
|
4994 |
Notes that PDF files and repositioning PostScript files do not work if
|
|
|
4995 |
Ghostscript was compiled with VAX C. (use.doc)
|
|
|
4996 |
|
|
|
4997 |
Notes the requirement for EOD lookahead in decoding filters. (strimpl.h)
|
|
|
4998 |
|
|
|
4999 |
</pre><h3><a name="V3.39_Procedures"></a>Procedures</h3><pre>
|
|
|
5000 |
|
|
|
5001 |
Fixes bugs:
|
|
|
5002 |
- There were a number of undefined or used-before-defined variables
|
|
|
5003 |
in the makefiles. (devs.mak, dvx-head.mak, unixhead.mak, gs.mak)
|
|
|
5004 |
- Some commands in the makefile exceeded the MS-DOS limit of 120
|
|
|
5005 |
characters. (gs.mak)
|
|
|
5006 |
|
|
|
5007 |
Adds a -P and -P- switch to control whether the search path automatically
|
|
|
5008 |
includes `.' as its first element. Moves the default value of this choice
|
|
|
5009 |
(SEARCH_HERE_FIRST) from gsmain.c to iminst.h. (iminst.h, gs.c, gsmain.c,
|
|
|
5010 |
use.doc)
|
|
|
5011 |
|
|
|
5012 |
Makes some makefile changes in anticipation of the IJG v6 release. (*.mak)
|
|
|
5013 |
|
|
|
5014 |
</pre><h3><a name="V3.39_Utilities"></a>Utilities</h3><pre>
|
|
|
5015 |
|
|
|
5016 |
Fixes bugs:
|
|
|
5017 |
- font2c generated invalid C procedure names from font names that
|
|
|
5018 |
contained non-alphanumerics other then '-'. (font2c.ps)
|
|
|
5019 |
- font2c generated a single element of incorrect type for numeric
|
|
|
5020 |
arrays of zero length. (font2c.ps)
|
|
|
5021 |
|
|
|
5022 |
</pre><h3><a name="V3.39_Platforms"></a>Platforms</h3><pre>
|
|
|
5023 |
|
|
|
5024 |
Fixes bugs:
|
|
|
5025 |
- The VMS build scripts had gotten out of sync (again). (vms*.mak,
|
|
|
5026 |
modules.lis)
|
|
|
5027 |
|
|
|
5028 |
</pre><h3><a name="V3.39_Fonts"></a>Fonts</h3><pre>
|
|
|
5029 |
|
|
|
5030 |
Makes the FONTPATH directory scanner accept fonts that begin with
|
|
|
5031 |
%!PS-AdobeFont or %!FontType1 with no following `-'. (gs_fonts.ps)
|
|
|
5032 |
|
|
|
5033 |
</pre><h3><a name="V3.39_Interpreter"></a>Interpreter</h3><pre>
|
|
|
5034 |
|
|
|
5035 |
Fixes bugs:
|
|
|
5036 |
- eq and ne on arrays or dictionaries required read access.
|
|
|
5037 |
(zrelbit.c)
|
|
|
5038 |
- An include was missing. (zcsindex.c)
|
|
|
5039 |
- .forgetsave at the outermost level didn't reset the l_new flag in
|
|
|
5040 |
changed slots, leading to an anomalous (although perhaps not harmful) state.
|
|
|
5041 |
(isave.c)
|
|
|
5042 |
- Dictionary growing or unpacking would both save and free the old
|
|
|
5043 |
keys array, leading to a dangling reference. (idict.c)
|
|
|
5044 |
|
|
|
5045 |
Changes gs_interpret so that for .quit with a negative operand <= -100,
|
|
|
5046 |
gs_interpret returns e_Fatal rather than the operand. THIS IS A
|
|
|
5047 |
NON-BACKWARD-COMPATIBLE CHANGE, but as far as we know, it doesn't affect
|
|
|
5048 |
anyone. (interp.c)
|
|
|
5049 |
|
|
|
5050 |
Adds an API to allow feeding string input to the interpreter in pieces.
|
|
|
5051 |
(errors.h, imain.h, main.h, gs.c, gsmain.c, interp.c, zcontrol.c, zfilter.c)
|
|
|
5052 |
|
|
|
5053 |
Adds new predicates .identeq and .identne that test "pointer equality", even
|
|
|
5054 |
for numbers and strings. (iutil.h, iutil.c, zrelbit.c)
|
|
|
5055 |
|
|
|
5056 |
Changes a few uses of return_error to return in places that don't lead
|
|
|
5057 |
directly to a PostScript error. (idict.c)
|
|
|
5058 |
|
|
|
5059 |
</pre><h3><a name="V3.39_Streams"></a>Streams</h3><pre>
|
|
|
5060 |
|
|
|
5061 |
Fixes bugs:
|
|
|
5062 |
- The logic for skipping up to a 0xff byte when decoding JPEG data
|
|
|
5063 |
could skip too much. (sdctd.c, sjpegd.c)
|
|
|
5064 |
- If a buffer boundary fell in the middle of, or just before, an
|
|
|
5065 |
EOD, some decoding filters could stop reading too soon. (sbcp.c, smtf.c,
|
|
|
5066 |
sstring.c)
|
|
|
5067 |
|
|
|
5068 |
Makes some minor changes in anticipation of the IJG v6 release.
|
|
|
5069 |
(gsjmorec.h)
|
|
|
5070 |
|
|
|
5071 |
</pre><h3><a name="V3.39_Library"></a>Library</h3><pre>
|
|
|
5072 |
|
|
|
5073 |
Fixes bugs:
|
|
|
5074 |
- A declaration should have been removed. (gsdll.c)
|
|
|
5075 |
- The library initialization/termination API wasn't declared.
|
|
|
5076 |
(gslib.h, gsinit.c, gsmain.c)
|
|
|
5077 |
- A variable and a preprocessor macro with the same name confused
|
|
|
5078 |
VAX C. (gxclist.c)
|
|
|
5079 |
- Image devices with depth 2-8 and only gray shades in the palette
|
|
|
5080 |
didn't set color_info correctly. (gsdevice.c)
|
|
|
5081 |
|
|
|
5082 |
Speeds up unrotated black-and-white images further by making them render
|
|
|
5083 |
directly into a memory device when possible. (gxdevmem.h, gsimage1.c)
|
|
|
5084 |
|
|
|
5085 |
</pre>
|
|
|
5086 |
|
|
|
5087 |
<h2><a name="Version3.38"></a>Version 3.38 (limited) (6/18/95)</h2>
|
|
|
5088 |
|
|
|
5089 |
<p>
|
|
|
5090 |
This release incorporates several customer-requested enhancements (cleaner
|
|
|
5091 |
separation of the graphics library from the interpreter, option for >64K
|
|
|
5092 |
names, true garbage collection of names, better handling of halftones on
|
|
|
5093 |
band devices). It is intended primarily for those customers, but is
|
|
|
5094 |
intended as a dry run for the next public release.
|
|
|
5095 |
|
|
|
5096 |
<h3><a name="V3.38_Documentation"></a>Documentation</h3><pre>
|
|
|
5097 |
Fixes bugs:
|
|
|
5098 |
- gx_bitmap had not been updated to gx_tile_bitmap.
|
|
|
5099 |
(drivers.doc)
|
|
|
5100 |
|
|
|
5101 |
</pre><h3><a name="V3.38_Procedures"></a>Procedures</h3><pre>
|
|
|
5102 |
|
|
|
5103 |
Fixes bugs:
|
|
|
5104 |
- The man page extension in the Unix makefiles was still $(manext),
|
|
|
5105 |
not $(man1ext). (unix-end.mak)
|
|
|
5106 |
- 'make clean' didn't remove gs_init.c. (gs.mak)
|
|
|
5107 |
|
|
|
5108 |
Restructures the makefiles to better separate the language interpreters from
|
|
|
5109 |
the graphics core. (gs.mak)
|
|
|
5110 |
|
|
|
5111 |
Adds a -dNOPROMPT switch to suppress the end-of-page prompts (but still wait
|
|
|
5112 |
for the user to type a newline). This is different from -dNOPAUSE, which
|
|
|
5113 |
suppresses both the prompts and the wait. (gs_init.ps)
|
|
|
5114 |
|
|
|
5115 |
</pre><h3><a name="V3.38_Utilities"></a>Utilities</h3><pre>
|
|
|
5116 |
|
|
|
5117 |
Replaces the mergeini.ps program with an equivalent (actually slightly
|
|
|
5118 |
better) version written in C. (gs.mak, *.mak, psfiles.doc, use.doc,
|
|
|
5119 |
geninit.c)
|
|
|
5120 |
|
|
|
5121 |
</pre><h3><a name="V3.38_Drivers"></a>Drivers</h3><pre>
|
|
|
5122 |
|
|
|
5123 |
Fixes bugs:
|
|
|
5124 |
- The color DeskJet drivers wouldn't compile with a K&R compiler,
|
|
|
5125 |
because some of the procedure definitions weren't in the restricted syntax
|
|
|
5126 |
that ansi2knr requires. (gdevcdj.c)
|
|
|
5127 |
- The color DeskJet drivers wouldn't compile because of a bug in
|
|
|
5128 |
Sun's cc. (gdevcdj.c)
|
|
|
5129 |
|
|
|
5130 |
Changes the BJ-10e(x) margins to be identical to those of the BJ-200.
|
|
|
5131 |
(gdevbj10.c)
|
|
|
5132 |
|
|
|
5133 |
Changes the LaserJet margins in response to a user's request. (gdevdjet.c)
|
|
|
5134 |
|
|
|
5135 |
Changes the psmono driver to produce slightly larger files that execute
|
|
|
5136 |
faster on typical Level 1 printers. (gdevpsim.c)
|
|
|
5137 |
|
|
|
5138 |
Changes the psmono driver so that it does not scale the image to fit the
|
|
|
5139 |
page size, but instead scales it to be the same physical size on the page.
|
|
|
5140 |
THIS IS A NON BACKWARD COMPATIBLE CHANGE. However, for full-page images, it
|
|
|
5141 |
will not have any visible effect. (gdevpsim.c)
|
|
|
5142 |
|
|
|
5143 |
</pre><h3><a name="V3.38_Platforms"></a>Platforms</h3><pre>
|
|
|
5144 |
|
|
|
5145 |
Fixes bugs:
|
|
|
5146 |
- There were some problems associated with printing in 32-bit
|
|
|
5147 |
Windows environments. (gp_mswin.c)
|
|
|
5148 |
- The IBM RS/6000 needs both <time.h> and <sys/time.h>. (time_.h)
|
|
|
5149 |
|
|
|
5150 |
Adds the PDF interpreter to the standard MS Windows configuration.
|
|
|
5151 |
(bcwin.mak)
|
|
|
5152 |
|
|
|
5153 |
</pre><h3><a name="V3.38_Fonts"></a>Fonts</h3><pre>
|
|
|
5154 |
|
|
|
5155 |
Fixes bugs:
|
|
|
5156 |
- The entry for Courier-BoldItalic in cfonts.mak incorrectly named
|
|
|
5157 |
it as Courier-Italic. (cfonts.mak)
|
|
|
5158 |
- The files for Courier-Italic in cfonts.mak were inconsistently
|
|
|
5159 |
named ncrri instead of ncri. (cfonts.mak)
|
|
|
5160 |
- The rules in cfonts.mak covered only the fonts distributed with
|
|
|
5161 |
the free versions of Ghostscript, omitting some of the standard set of 35.
|
|
|
5162 |
(cfonts.mak)
|
|
|
5163 |
- The maximum number of stem hints per character in Type 1 fonts
|
|
|
5164 |
wasn't large enough for complex Asian characters. (gxtype1.h)
|
|
|
5165 |
|
|
|
5166 |
Adds a -dNOFONTMAP switch to suppress loading the Fontmap file.
|
|
|
5167 |
(gs_init.ps, gs_fonts.ps)
|
|
|
5168 |
|
|
|
5169 |
</pre><h3><a name="V3.38_Interpreter"></a>Interpreter</h3><pre>
|
|
|
5170 |
|
|
|
5171 |
Fixes bugs:
|
|
|
5172 |
- One of the GC marking routines for halftones had a typo,
|
|
|
5173 |
possibly leading to an invalid access. (zht2.c)
|
|
|
5174 |
- The GC could store beyond the end of the mark stack,
|
|
|
5175 |
possibly smashing some characters of a string or name. (igc.c)
|
|
|
5176 |
- If the allocator allocated a new ref object from a
|
|
|
5177 |
freelist, the bookkeeping for the current ref object could get
|
|
|
5178 |
confused. (ialloc.c)
|
|
|
5179 |
- The GC didn't remove names properly from the hash table.
|
|
|
5180 |
(iname.c)
|
|
|
5181 |
- If a DOS editor added a ^Z to the end of an initialization file,
|
|
|
5182 |
an error occurred during initialization. (gs_init.ps)
|
|
|
5183 |
- If an initialization file had any lines longer than 128
|
|
|
5184 |
characters, .skipeof would get an error. (gs_init.ps)
|
|
|
5185 |
- makepattern could create structures in global VM pointing to
|
|
|
5186 |
structures in local VM. (zpcolor.c)
|
|
|
5187 |
- The default color rendering dictionary didn't specify large enough
|
|
|
5188 |
ranges for some intermediate values. (gs_lev2.ps)
|
|
|
5189 |
- Files being freed by a restore weren't unlinked properly, leading
|
|
|
5190 |
to dangling pointers. (zfile.c)
|
|
|
5191 |
- The interpreter used strlen without a prototype. (interp.c)
|
|
|
5192 |
- Indexed or Separation colors with a CIE base or alternate space
|
|
|
5193 |
didn't work. (zcie.c)
|
|
|
5194 |
- The Watcom C 10.0 compiler produced incorrect code for an
|
|
|
5195 |
overlapping structure assignment. (zcsindex.c)
|
|
|
5196 |
|
|
|
5197 |
Removes limit of 64K names, if EXTEND_NAMES is defined at compile
|
|
|
5198 |
time. (*.mak, idebug.h, iminst.h, iname.h, gs.c, gsmain.c, idebug.c,
|
|
|
5199 |
iname.c)
|
|
|
5200 |
|
|
|
5201 |
Makes the garbage collector really collect names. (iname.h, inamedef.h,
|
|
|
5202 |
isstate.h, igc.c, iname.c, isave.c)
|
|
|
5203 |
|
|
|
5204 |
Restructures some files to better separate the language interpreters
|
|
|
5205 |
from their support code. (gconfig.c, iconfig.c, iinit.c)
|
|
|
5206 |
|
|
|
5207 |
Restructures some files to better separate the language interpreters
|
|
|
5208 |
from the graphics core. (iastate.h, iastruct.h, ialloc.c)
|
|
|
5209 |
|
|
|
5210 |
Allows the operands of cshow to be in either order on the stack. Adobe
|
|
|
5211 |
interpreters apparently allow this, even though it's not documented.
|
|
|
5212 |
(zchar2.c)
|
|
|
5213 |
|
|
|
5214 |
Adds a hack in cvs to truncate non-standard operator names, rather than
|
|
|
5215 |
giving a rangecheck, to work around the "max err string" problem in some
|
|
|
5216 |
common error handlers. (ztype.c)
|
|
|
5217 |
|
|
|
5218 |
Changes the print string for unregistered operators from operator_0x... to
|
|
|
5219 |
@0x.... (iutil.c)
|
|
|
5220 |
|
|
|
5221 |
Changes the garbage collector so it tries to allocate a large mark stack, to
|
|
|
5222 |
avoid going into its 'slow' mode if the mark stack overflows. (igc.c)
|
|
|
5223 |
|
|
|
5224 |
</pre><h3><a name="V3.38_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
5225 |
|
|
|
5226 |
Fixes bugs:
|
|
|
5227 |
- Stroked text used the text matrix, rather than just the
|
|
|
5228 |
CTM, for scaling the line width, which could lead to inappropriately
|
|
|
5229 |
wide lines. (gs_pdf.ps)
|
|
|
5230 |
- Fonts based on other than a 1000-unit scale (i.e., with a
|
|
|
5231 |
FontMatrix other than [0.001 0 0 0.001 0 0]) didn't scale Widths to
|
|
|
5232 |
match the font scaling. (pdf_font.ps)
|
|
|
5233 |
|
|
|
5234 |
Implements the PDF 1.1 color space extensions, except for Lab space.
|
|
|
5235 |
(gs_pdf.ps, pdf_draw.ps)
|
|
|
5236 |
|
|
|
5237 |
Implements the Rotate key for pages. (pdf_main.ps)
|
|
|
5238 |
|
|
|
5239 |
</pre><h3><a name="V3.38_Streams"></a>Streams</h3><pre>
|
|
|
5240 |
|
|
|
5241 |
Fixes bugs:
|
|
|
5242 |
- When the garbage collector closed a file stream, the stream
|
|
|
5243 |
incorrectly attempted to free the buffer. (stream.c)
|
|
|
5244 |
|
|
|
5245 |
Separates out some stream implementations to better distinguish the
|
|
|
5246 |
graphics core from the language interpreters. (smtf.h, sfilter1.c,
|
|
|
5247 |
smtf.c, srld.c, srle.c)
|
|
|
5248 |
|
|
|
5249 |
</pre><h3><a name="V3.38_Library"></a>Library</h3><pre>
|
|
|
5250 |
|
|
|
5251 |
Fixes bugs:
|
|
|
5252 |
- Compressing characters being entered in the cache could cause an
|
|
|
5253 |
invalid memory access. (gsbitops.c)
|
|
|
5254 |
- The setbbox bounding box check was slightly inaccurate.
|
|
|
5255 |
(gsdps1.c)
|
|
|
5256 |
- makepattern could create structures in global VM pointing to
|
|
|
5257 |
structures in local VM. (gscolor2.h, gspcolor.c)
|
|
|
5258 |
- Out-of-range values during CIE color conversion led to random
|
|
|
5259 |
results. (gscie.c)
|
|
|
5260 |
- On output devices with non-inverted Y axes (such as MS Windows),
|
|
|
5261 |
Interpolated images would smash memory. (gsimage.c)
|
|
|
5262 |
- 90 degree rotated zero-width images caused an invalid memory
|
|
|
5263 |
access. (gsimage1.c)
|
|
|
5264 |
- If #copies was zero, showpage could create bogus empty output
|
|
|
5265 |
files. (gdevprn.c)
|
|
|
5266 |
- PageCount didn't take #copies into account. (gsdevice.c)
|
|
|
5267 |
- Indexed or Separation colors with a CIE base or alternate space
|
|
|
5268 |
didn't work. (gscie.h, gscie.c)
|
|
|
5269 |
|
|
|
5270 |
Implements triangular line caps and joins, in anticipation of adding
|
|
|
5271 |
a PCL5 interpreter. (gsline.h, gxstroke.c)
|
|
|
5272 |
|
|
|
5273 |
Moves some procedures around for better separation of library from
|
|
|
5274 |
interpreter. (gsinit.c, gslib.c, gsmain.c, gsmisc.c)
|
|
|
5275 |
|
|
|
5276 |
Moves the standard allocator from the interpreter to the library.
|
|
|
5277 |
(gsalloc.h, gxalloc.h, gxobj.h, gsalloc.c)
|
|
|
5278 |
|
|
|
5279 |
Starts to change the representation of paths slightly to make it possible to
|
|
|
5280 |
identify arcs. This change is backward-compatible for all code except
|
|
|
5281 |
callers of gx_path_add_arc. (gxpath.h, gspath1.c, gxpath.c, gxstroke.c)
|
|
|
5282 |
|
|
|
5283 |
Adds some framework for keeping track of RasterOp and "transparency" in the
|
|
|
5284 |
graphics state, although these don't actually have any effect yet.
|
|
|
5285 |
(gsrop.h, gsropt.h, gsstate.h, gxcldev.h, gzstate.h, gsrop.c, gsstate.c,
|
|
|
5286 |
gxclist.c, gxclread.c)
|
|
|
5287 |
|
|
|
5288 |
Adds a compile-time option for using the Adobe RGB<->CMYK conversion rules.
|
|
|
5289 |
(gxdcconv.c)
|
|
|
5290 |
|
|
|
5291 |
Adds a driver procedure for identifying band devices. This change is
|
|
|
5292 |
backward-compatible for all existing devices. (gdevmem.h, gxdevice.h,
|
|
|
5293 |
gsdevice.c, gxclip2.c, gxclist.c, gxcpath.c)
|
|
|
5294 |
|
|
|
5295 |
Speeds up gray-scale images on devices requiring banding, and enables
|
|
|
5296 |
further optimizations, by reintroducing the distinction between banded and
|
|
|
5297 |
non-banded devices. (gxdevice.h, gdevprn.c, gsimage1.c)
|
|
|
5298 |
|
|
|
5299 |
Reduces the size of the band list for halftoned images by encoding tile
|
|
|
5300 |
indices more compactly. (gxcldev.h, gxclist.h, gxclist.c, gxclread.c)
|
|
|
5301 |
|
|
|
5302 |
Extends the band list so it can cache more than 256 halftone tiles, and to
|
|
|
5303 |
make better decisions about tile caching. (gxcldev.h, gxclist.h, gxclist.c,
|
|
|
5304 |
gxclread.c)
|
|
|
5305 |
|
|
|
5306 |
</pre>
|
|
|
5307 |
|
|
|
5308 |
<h2><a name="Version3.37"></a>Version 3.37 (limited) (5/11/95)</h2>
|
|
|
5309 |
|
|
|
5310 |
<p>
|
|
|
5311 |
Another bug fix release distributed only to customers.
|
|
|
5312 |
|
|
|
5313 |
<h3><a name="V3.37_Documentation"></a>Documentation</h3><pre>
|
|
|
5314 |
Fixes bugs:
|
|
|
5315 |
- Some documentation about parameter lists was incorrect.
|
|
|
5316 |
(gsparam.h)
|
|
|
5317 |
- The documentation did not note that one cannot "pipe" PDF files
|
|
|
5318 |
into the interpreter. (use.doc)
|
|
|
5319 |
|
|
|
5320 |
Adds documentation for the BJC-600 to devices.doc. (devices.doc)
|
|
|
5321 |
|
|
|
5322 |
</pre><h3><a name="V3.37_Procedures"></a>Procedures</h3><pre>
|
|
|
5323 |
|
|
|
5324 |
Changes the debugging switch for OS calls from -Z0 to -Ze, and adds -Z0 for
|
|
|
5325 |
high-level GC tracing. (use.doc, gp_unifs.c, ialloc.c, igc.c)
|
|
|
5326 |
|
|
|
5327 |
</pre><h3><a name="V3.37_Utilities"></a>Utilities</h3><pre>
|
|
|
5328 |
|
|
|
5329 |
Fixes bugs:
|
|
|
5330 |
- The ps2ascii shell script included an erroneous @d. (ps2ascii)
|
|
|
5331 |
|
|
|
5332 |
Enhances ps2ascii to output color and rectangle fill/stroke information if
|
|
|
5333 |
COMPLEX is defined. (ps2ascii.ps)
|
|
|
5334 |
|
|
|
5335 |
</pre><h3><a name="V3.37_Drivers"></a>Drivers</h3><pre>
|
|
|
5336 |
|
|
|
5337 |
Fixes bugs:
|
|
|
5338 |
- the BJC-600 driver didn't handle BitsPerPixel correctly.
|
|
|
5339 |
(gdevcdj.c)
|
|
|
5340 |
|
|
|
5341 |
</pre><h3><a name="V3.37_Fonts"></a>Fonts</h3><pre>
|
|
|
5342 |
|
|
|
5343 |
Fixes bugs:
|
|
|
5344 |
- Some buggy Type 1 fonts confused the Type 1 font reader.
|
|
|
5345 |
(gs_fonts.ps, gs_type1.ps, pdf_font.ps)
|
|
|
5346 |
|
|
|
5347 |
</pre><h3><a name="V3.37_Interpreter_PostScript"></a>Interpreter (PostScript)</h3><pre>
|
|
|
5348 |
|
|
|
5349 |
Fixes bugs:
|
|
|
5350 |
- .registerencoding didn't accept mixedarrays, which could cause an
|
|
|
5351 |
error if an encoding was loaded long after initialization. (zfont2.c)
|
|
|
5352 |
- If a program did a lot of saves and restores, the garbage
|
|
|
5353 |
collector could get invoked much too often. (iastate.h, ialloc.c, igc.c,
|
|
|
5354 |
isave.c)
|
|
|
5355 |
|
|
|
5356 |
Changes the name of the rectappend operator to .rectappend, since it isn't a
|
|
|
5357 |
standard PostScript operator. (zdps1.c)
|
|
|
5358 |
|
|
|
5359 |
</pre><h3><a name="V3.37_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
5360 |
|
|
|
5361 |
Fixes bugs:
|
|
|
5362 |
- PDF files didn't interact properly with ps2ascii. (gs_pdf.ps)
|
|
|
5363 |
- setdash wouldn't accept a packed array. (zgstate.c)
|
|
|
5364 |
- PDF files with incorrect generation numbers in object references
|
|
|
5365 |
produced an error rather than a warning. (pdf_base.ps)
|
|
|
5366 |
|
|
|
5367 |
</pre>
|
|
|
5368 |
|
|
|
5369 |
<h2><a name="Version3.36"></a>Version 3.36 (limited) (5/4/95)</h2>
|
|
|
5370 |
|
|
|
5371 |
<p>
|
|
|
5372 |
This is a limited-distribution release for distributing bug fixes to a few
|
|
|
5373 |
customers.
|
|
|
5374 |
|
|
|
5375 |
<h3><a name="V3.36_Documentation"></a>Documentation</h3><pre>
|
|
|
5376 |
Adds some environment variables to the man page. (gs.1)
|
|
|
5377 |
|
|
|
5378 |
</pre><h3><a name="V3.36_Procedures"></a>Procedures</h3><pre>
|
|
|
5379 |
|
|
|
5380 |
Adds the psmono device to all 32-bit configurations. (*.mak)
|
|
|
5381 |
|
|
|
5382 |
Moves the psmono and 'bit' devices to DEVICE_DEVS12 to avoid exceeding the
|
|
|
5383 |
120-character maximum length of the DOS command line. (*.mak)
|
|
|
5384 |
|
|
|
5385 |
</pre><h3><a name="V3.36_Drivers"></a>Drivers</h3><pre>
|
|
|
5386 |
|
|
|
5387 |
Changes the pgm[raw] and ppm[raw] drivers so they do *not* automatically
|
|
|
5388 |
switch to pbm or pgm/ppm respectively if this is possible for the particular
|
|
|
5389 |
page being rendered; adds pgnm[raw] and pnm[raw] drivers that *do* do this.
|
|
|
5390 |
THIS IS A NON-BACKWARD-COMPATIBLE CHANGE. However, existing programs will
|
|
|
5391 |
still work; they just won't produce the smallest and simplest possible
|
|
|
5392 |
output. (devs.mak, gdevpbm.c)
|
|
|
5393 |
|
|
|
5394 |
</pre><h3><a name="V3.36_Interpreter"></a>Interpreter</h3><pre>
|
|
|
5395 |
|
|
|
5396 |
Fixes bugs:
|
|
|
5397 |
- A multi-level restore didn't free gstates allocated by
|
|
|
5398 |
intermediate saves, causing some global VM to be lost until a garbage
|
|
|
5399 |
collection. (isave.h, isave.c, zvmem.c)
|
|
|
5400 |
|
|
|
5401 |
Speeds up restore by skipping the scan of the character cache if no new
|
|
|
5402 |
names have been allocated since the save. (zfont.c)
|
|
|
5403 |
|
|
|
5404 |
Extends the client API to allow for popping return values off the operand
|
|
|
5405 |
stack. (imain.h, gs.c, gsmain.c)
|
|
|
5406 |
|
|
|
5407 |
</pre><h3><a name="V3.36_Library"></a>Library</h3><pre>
|
|
|
5408 |
|
|
|
5409 |
Modifies the character oversampling algorithms to help prevent dropouts.
|
|
|
5410 |
(gsbitops.c, gschar.c)
|
|
|
5411 |
|
|
|
5412 |
</pre>
|
|
|
5413 |
|
|
|
5414 |
<h2><a name="Version3.35"></a>Version 3.35 (internal) (5/2/95)</h2>
|
|
|
5415 |
|
|
|
5416 |
<p>
|
|
|
5417 |
This is another internal "snapshot" version.
|
|
|
5418 |
|
|
|
5419 |
<h3><a name="V3.35_Documentation"></a>Documentation</h3><pre>
|
|
|
5420 |
Fixes bugs:
|
|
|
5421 |
- Some of the file names in the `man' page had gotten out of date.
|
|
|
5422 |
(gs.1)
|
|
|
5423 |
- Two references to .PageCount hadn't been changed to PageCount.
|
|
|
5424 |
(language.doc, devarch.doc)
|
|
|
5425 |
|
|
|
5426 |
</pre><h3><a name="V3.35_Procedures"></a>Procedures</h3><pre>
|
|
|
5427 |
|
|
|
5428 |
Puts writeppmfile back in the standard Unix and DV/X configurations, since
|
|
|
5429 |
gsftopk uses it. Also puts the PDF reader in all 32-bit configurations.
|
|
|
5430 |
(*.mak)
|
|
|
5431 |
|
|
|
5432 |
Moves the BMP devices to DEVICE_DEVS11 to avoid exceeding the 120-character
|
|
|
5433 |
maximum length of the DOS command line. (bcwin.mak, bcwin32.mak, os2.mak)
|
|
|
5434 |
|
|
|
5435 |
</pre><h3><a name="V3.35_Utilities"></a>Utilities</h3><pre>
|
|
|
5436 |
|
|
|
5437 |
Fixes bugs:
|
|
|
5438 |
- unix-lpr.sh didn't handle 32-bit devices. (unix-lpr.sh)
|
|
|
5439 |
- unix-lpr.sh still used the name .PageCount rather than PageCount.
|
|
|
5440 |
(unix-lpr.sh)
|
|
|
5441 |
- font2c gave an error when trying to write general procedures in
|
|
|
5442 |
font dictionaries. (font2c.ps)
|
|
|
5443 |
|
|
|
5444 |
Adds a pdf2dsc.ps utility for writing out fake DSC-compliant PostScript code
|
|
|
5445 |
to invoke the PDF reader, for the benefit of viewer programs that aren't
|
|
|
5446 |
PDF-aware. (unix-end.mak, pdf2dsc.ps)
|
|
|
5447 |
|
|
|
5448 |
</pre><h3><a name="V3.35_Drivers"></a>Drivers</h3><pre>
|
|
|
5449 |
|
|
|
5450 |
Fixes bugs:
|
|
|
5451 |
- The TIFF drivers put out incorrect PageNumber values.
|
|
|
5452 |
(gdevtfax.c)
|
|
|
5453 |
- Printer (and file output) devices got closed and reopened
|
|
|
5454 |
unnecessarily when changing parameters. (gdevprn.c)
|
|
|
5455 |
- Printer (and file output) devices didn't check for invalid formats
|
|
|
5456 |
following a % in OutputFile. (devs.mak, gdevprn.c)
|
|
|
5457 |
- 1-bit memory devices were not considered page devices, unlike all
|
|
|
5458 |
other memory devices. (gsdevice.c)
|
|
|
5459 |
- The black-and-white H-P printers didn't close the printer
|
|
|
5460 |
properly, causing printing not to happen under MS Windows. (gdevprn.c)
|
|
|
5461 |
- Some compilers didn't like initializing a const char * to NULL.
|
|
|
5462 |
(gdevlbp8.c)
|
|
|
5463 |
|
|
|
5464 |
Changes the X Windows driver so that if Ghostview specifies a bounding box,
|
|
|
5465 |
this also sets ImagingBBox. (gdevxini.c)
|
|
|
5466 |
|
|
|
5467 |
At the request of a customer, adds 1-, 4-, 8-, 24-, and 32-bit-deep memory
|
|
|
5468 |
devices that store bits in 32-bit units rather than byte units. (gdevmem.h,
|
|
|
5469 |
gxdevmem.h, gdevmem.c, gdevm1.c, gdevm2.c, gdevm4.c, gdevm8.c, gdevm16.c,
|
|
|
5470 |
gdevm24.c, gdevm32.c)
|
|
|
5471 |
|
|
|
5472 |
Adds a new MS Windows printer driver, mswinpr2, that uses a DIB rather than
|
|
|
5473 |
a DDB. (gdevwpr2.c)
|
|
|
5474 |
|
|
|
5475 |
</pre><h3><a name="V3.35_Platforms"></a>Platforms</h3><pre>
|
|
|
5476 |
|
|
|
5477 |
Fixes bugs:
|
|
|
5478 |
- A routine wouldn't compile because of a bug in the SGI C compiler.
|
|
|
5479 |
(zcsindex.c)
|
|
|
5480 |
- Some declarations were inconsistent when compiling for segmented
|
|
|
5481 |
environments. (gscie.c)
|
|
|
5482 |
- A routine wouldn't compile because of a bug in the VAX C compiler.
|
|
|
5483 |
(gscie.c)
|
|
|
5484 |
|
|
|
5485 |
Turns on compiler optimization for OS/2; adds PDF support and more devices
|
|
|
5486 |
for Win32 and OS/2. (bcwin.mak, bcwin32.mak, os2.mak)
|
|
|
5487 |
|
|
|
5488 |
</pre><h3><a name="V3.35_Fonts"></a>Fonts</h3><pre>
|
|
|
5489 |
|
|
|
5490 |
Fixes bugs:
|
|
|
5491 |
- Font loading used 'setglobal' without binding it, which caused
|
|
|
5492 |
some EPS files to signal errors. (gs_fonts.ps)
|
|
|
5493 |
- A zero-length string with offset = 0 in a binary object sequence
|
|
|
5494 |
caused an error. (iscanbin.c)
|
|
|
5495 |
|
|
|
5496 |
Adds a LOCALFONTS switch that causes Ghostscript to load Type 1 fonts into
|
|
|
5497 |
the current VM, rather than global VM. According to Adobe, this is what
|
|
|
5498 |
Adobe printers (but not other interpreters, such as DPS and CPSI) do.
|
|
|
5499 |
(gs_init.ps, gs_fonts.ps)
|
|
|
5500 |
|
|
|
5501 |
</pre><h3><a name="V3.35_Interpreter"></a>Interpreter</h3><pre>
|
|
|
5502 |
|
|
|
5503 |
Fixes bugs:
|
|
|
5504 |
- The 'note' page size command caused pages to be clipped
|
|
|
5505 |
improperly. (gs_statd.ps)
|
|
|
5506 |
|
|
|
5507 |
Adds "word" image devices. (gs_init.ps, zdevice.c)
|
|
|
5508 |
|
|
|
5509 |
Starts converting the interpreter to use an explicit instance pointer. This
|
|
|
5510 |
is very fragmentary so far and not really supported. (main.h, gs.c,
|
|
|
5511 |
gsmain.c, iccinit.c)
|
|
|
5512 |
|
|
|
5513 |
</pre><h3><a name="V3.35_Library"></a>Library</h3><pre>
|
|
|
5514 |
|
|
|
5515 |
Adds "word" image devices. (gsdevice.h, gsdevice.c)
|
|
|
5516 |
|
|
|
5517 |
Removes the requirement that ImagingBBox[0] and [1] be non-negative. (The
|
|
|
5518 |
Adobe specification requires this, but Ghostscript supports more general
|
|
|
5519 |
initial CTMs than the Adobe spec.) (gsdparam.c)
|
|
|
5520 |
|
|
|
5521 |
</pre>
|
|
|
5522 |
|
|
|
5523 |
<h2><a name="Version3.34"></a>Version 3.34 (internal) (4/18/95)</h2>
|
|
|
5524 |
|
|
|
5525 |
<p>
|
|
|
5526 |
This is a "snapshot" version made for internal purposes. It was never
|
|
|
5527 |
released to anyone.
|
|
|
5528 |
|
|
|
5529 |
<h3><a name="V3.34_Documentation"></a>Documentation</h3><pre>
|
|
|
5530 |
Updates commprod.doc to be fully consistent with the AGFPL. (commprod.doc)
|
|
|
5531 |
|
|
|
5532 |
</pre><h3><a name="V3.34_Procedures"></a>Procedures</h3><pre>
|
|
|
5533 |
|
|
|
5534 |
Fixes bugs:
|
|
|
5535 |
- tar_x was out of date. (tar_x)
|
|
|
5536 |
- tar_gs assumed that if any PC executables were present, gs.exe
|
|
|
5537 |
would exist. (tar_gs)
|
|
|
5538 |
- jpeg.mak said the current IJG version was 5b, but the makefiles
|
|
|
5539 |
actually referred to version 5a. (jpeg.mak)
|
|
|
5540 |
- The build rule for the LIPS III driver was incorrect. (devs.mak)
|
|
|
5541 |
- Some definitions in the makefiles occurred out of order.
|
|
|
5542 |
(ansihead.mak, cc-head.mak, gcc-head.mak, unixhead.mak, unixtail.mak)
|
|
|
5543 |
- The build rule for dvx-gcc.mak was incorrect. (unix-end.mak)
|
|
|
5544 |
|
|
|
5545 |
</pre><h3><a name="V3.34_Interpreter"></a>Interpreter</h3><pre>
|
|
|
5546 |
|
|
|
5547 |
Restructures the CIE caches to move much more of the computation from color
|
|
|
5548 |
mapping time to cache loading time. (zcie.c)
|
|
|
5549 |
|
|
|
5550 |
</pre><h3><a name="V3.34_Library"></a>Library</h3><pre>
|
|
|
5551 |
|
|
|
5552 |
Fixes bugs:
|
|
|
5553 |
- Color conversion of 12-bit images was very slightly inaccurate.
|
|
|
5554 |
(gxfrac.h)
|
|
|
5555 |
|
|
|
5556 |
Changes the transfer function, black generation, and undercolor removal
|
|
|
5557 |
caches so that they sample at 1024 points and don't interpolate, rather than
|
|
|
5558 |
sampling at 256 points and interpolating. This significantly improves the
|
|
|
5559 |
speed of colored image rendering. ****** LIMITED TO 256 POINTS BECAUSE OF
|
|
|
5560 |
O-STACK SIZE LIMIT. ****** (gxfmap.h, gxcmap.c)
|
|
|
5561 |
|
|
|
5562 |
Restructures the CIE caches to move much more of the computation from color
|
|
|
5563 |
mapping time to cache loading time. (gscie.h, gscie.c)
|
|
|
5564 |
|
|
|
5565 |
</pre>
|
|
|
5566 |
|
|
|
5567 |
<h2><a name="Version3.33"></a>Version 3.33 (4/13/95)</h2>
|
|
|
5568 |
|
|
|
5569 |
<p>
|
|
|
5570 |
A few more last-minute bug fixes. This is, finally, the first public
|
|
|
5571 |
release since 3.12.
|
|
|
5572 |
|
|
|
5573 |
<h3><a name="V3.33_Documentation"></a>Documentation</h3><pre>
|
|
|
5574 |
|
|
|
5575 |
Fixes bugs:
|
|
|
5576 |
- There was a reference to "VAX with OSF/1", which doesn't exist,
|
|
|
5577 |
and an incorrect reference to VAX with Ultrix. (make.doc)
|
|
|
5578 |
- The Unix makefiles incorrectly stated that gsdatadir was only
|
|
|
5579 |
relevant to `make install'. (ansihead.mak, cc-head.mak, dgc-head.mak,
|
|
|
5580 |
gcc-head.mak)
|
|
|
5581 |
- Notes that DV/X users should use the zip version of the JPEG
|
|
|
5582 |
library. (jpeg.mak)
|
|
|
5583 |
|
|
|
5584 |
</pre><h3><a name="V3.33_Procedures"></a>Procedures</h3><pre>
|
|
|
5585 |
|
|
|
5586 |
Fixes bugs:
|
|
|
5587 |
- A command line had gotten too long for the MS-DOS shell.
|
|
|
5588 |
(gs.mak)
|
|
|
5589 |
- The VMS DEC C script didn't explicitly select DEC C.
|
|
|
5590 |
(vms-decc.mak)
|
|
|
5591 |
- The VMS MODULES.LIS omitted SPDIFF and ZFPDIFF. (modules.lis)
|
|
|
5592 |
- The VMS script had an incorrect entry. (vms.mak)
|
|
|
5593 |
- The `if' fix in 3.31 broke some Unix systems with different
|
|
|
5594 |
implementations of sh. (unix-end.mak)
|
|
|
5595 |
- The makefile definition of gscspace_h was out of order. (gs.mak)
|
|
|
5596 |
- An extra ; got written in gconfig_.h on DV/X platforms.
|
|
|
5597 |
(dvx-tail.mak)
|
|
|
5598 |
- '.' was incorrectly prepended to the library search list on DV/X
|
|
|
5599 |
platforms. (dgc-head.mak)
|
|
|
5600 |
- The build rules for unix*.mak didn't work on DV/X. (unix-end.mak)
|
|
|
5601 |
|
|
|
5602 |
Adds a description of the -c quit switch to the help message. (gs.c)
|
|
|
5603 |
|
|
|
5604 |
For the DV/X platform, changes /usr/include to /djgpp/include as the place
|
|
|
5605 |
to look for header files. I'm not sure this is always correct.
|
|
|
5606 |
(dvx-tail.mak)
|
|
|
5607 |
|
|
|
5608 |
</pre><h3><a name="V3.33_Utilities"></a>Utilities</h3><pre>
|
|
|
5609 |
|
|
|
5610 |
Fixes bugs:
|
|
|
5611 |
- ps2ascii would cause an error if given a font that didn't have an
|
|
|
5612 |
'X' character. (ps2ascii.ps)
|
|
|
5613 |
- ps2ascii didn't intercept the Level 2 string display operators.
|
|
|
5614 |
(ps2ascii.ps)
|
|
|
5615 |
|
|
|
5616 |
</pre><h3><a name="V3.33_Drivers"></a>Drivers</h3><pre>
|
|
|
5617 |
|
|
|
5618 |
Fixes bugs:
|
|
|
5619 |
- The Stylus Color driver had an incorrect type name. (gdevstc.c)
|
|
|
5620 |
|
|
|
5621 |
</pre><h3><a name="V3.33_Platforms"></a>Platforms</h3><pre>
|
|
|
5622 |
|
|
|
5623 |
Fixes bugs:
|
|
|
5624 |
- -dBitsPerPixel= didn't work properly for MS Windows or OS/2 PM.
|
|
|
5625 |
(gdevmswn.c, gdevpm.c)
|
|
|
5626 |
- The Win32 platform didn't compile properly. (memory_.h)
|
|
|
5627 |
|
|
|
5628 |
</pre><h3><a name="V3.33_Fonts"></a>Fonts</h3><pre>
|
|
|
5629 |
|
|
|
5630 |
Improves the font substitution algorithm to take the face name into account
|
|
|
5631 |
in more cases. (gs_fonts.ps)
|
|
|
5632 |
|
|
|
5633 |
</pre><h3><a name="V3.33_Library"></a>Library</h3><pre>
|
|
|
5634 |
|
|
|
5635 |
Fixes bugs:
|
|
|
5636 |
- Unrotated black-and-white bitmaps with an inverted device X axis
|
|
|
5637 |
were displaced in X. (gsimage1.c)
|
|
|
5638 |
|
|
|
5639 |
</pre>
|
|
|
5640 |
|
|
|
5641 |
<h2><a name="Version3.32"></a>Version 3.32 (4/7/95)</h2>
|
|
|
5642 |
|
|
|
5643 |
<p>
|
|
|
5644 |
More bug fixes. This is still not a public release.
|
|
|
5645 |
|
|
|
5646 |
<h3><a name="V3.32_Documentation"></a>Documentation</h3><pre>
|
|
|
5647 |
Further clarifies the "two-phase commit" algorithm for device put_params
|
|
|
5648 |
procedures. (drivers.doc, gsparam.h)
|
|
|
5649 |
|
|
|
5650 |
Adds a note about a compiler bug under Ultrix 4.4. (make.doc)
|
|
|
5651 |
|
|
|
5652 |
</pre><h3><a name="V3.32_Procedures"></a>Procedures</h3><pre>
|
|
|
5653 |
|
|
|
5654 |
Fixes bugs:
|
|
|
5655 |
- Some installation scripts could fail because some implementations
|
|
|
5656 |
of sh take the status of an `if' condition as the status of the `if'
|
|
|
5657 |
command. (unix-end.mak)
|
|
|
5658 |
|
|
|
5659 |
Adds "maintainer-clean" as a synonym for "real-clean". (gs.mak)
|
|
|
5660 |
|
|
|
5661 |
Adds a -dORIENT1 switch that defines orientation = 1 as portrait for
|
|
|
5662 |
setpage[params]. (use.doc, gs_init.ps, gs_lev2.ps, gs_statd.ps)
|
|
|
5663 |
|
|
|
5664 |
</pre><h3><a name="V3.32_Utilities"></a>Utilities</h3><pre>
|
|
|
5665 |
|
|
|
5666 |
Fixes bugs:
|
|
|
5667 |
- ps2ascii didn't redirect %stdout completely. (ps2ascii.ps)
|
|
|
5668 |
- ps2ascii didn't preserve the local/global VM mode. (ps2ascii.ps)
|
|
|
5669 |
- ps2ascii didn't handle fonts with an all-zero or missing bounding
|
|
|
5670 |
box correctly. (ps2ascii.ps)
|
|
|
5671 |
- viewpbm didn't scale the image properly. (viewpbm.ps)
|
|
|
5672 |
|
|
|
5673 |
</pre><h3><a name="V3.32_Drivers"></a>Drivers</h3><pre>
|
|
|
5674 |
|
|
|
5675 |
Fixes bugs:
|
|
|
5676 |
- The CGM driver wrote out an incorrect color precision value.
|
|
|
5677 |
(gdevcgm.c)
|
|
|
5678 |
- The SGI bitmap driver was named "sgi" rather than "sgirgb".
|
|
|
5679 |
(gdevsgi.c)
|
|
|
5680 |
- The PCX driver didn't round up an odd line length for gray-scale
|
|
|
5681 |
output. (gdevpcx.c)
|
|
|
5682 |
- The PCX driver produced incorrect output for gray-scale or 4- or
|
|
|
5683 |
8-bit color. (gdevpcx.c)
|
|
|
5684 |
|
|
|
5685 |
</pre><h3><a name="V3.32_Platforms"></a>Platforms</h3><pre>
|
|
|
5686 |
|
|
|
5687 |
Fixes bugs:
|
|
|
5688 |
- The VMS MODULES.LIS file had gotten out of sync with the Unix
|
|
|
5689 |
makefiles (again). (modules.lis)
|
|
|
5690 |
|
|
|
5691 |
</pre><h3><a name="V3.32_Interpreter"></a>Interpreter</h3><pre>
|
|
|
5692 |
|
|
|
5693 |
Fixes bugs:
|
|
|
5694 |
- Some compilers won't accept '\l', even in the false arm of a
|
|
|
5695 |
preprocessor conditional. (scanchar.h)
|
|
|
5696 |
- A procedure was declared with an incorrect argument type.
|
|
|
5697 |
(zcsindex.c)
|
|
|
5698 |
- The scaled font cache didn't copy XUIDs properly. (bfont.h,
|
|
|
5699 |
zfont.c, zfont2.c)
|
|
|
5700 |
- status could return true even if the file was closed. (zfile.c)
|
|
|
5701 |
|
|
|
5702 |
</pre><h3><a name="V3.32_Streams"></a>Streams</h3><pre>
|
|
|
5703 |
|
|
|
5704 |
Fixes bugs:
|
|
|
5705 |
- The LZW filters were factored improperly. (modules.lis, gs.mak,
|
|
|
5706 |
vms.mak, slzwx.h, slzwc.c, slzwd.c)
|
|
|
5707 |
|
|
|
5708 |
Changes the DCTDecode filter for compatibility with Adobe implementations:
|
|
|
5709 |
- Ignore bytes preceding the 0xff that marks the beginning of the
|
|
|
5710 |
JPEG data. (sdctd.c)
|
|
|
5711 |
- Set MAX_BLOCKS_IN_MCU to 64. (jpeg.mak, gsjpglib.h)
|
|
|
5712 |
|
|
|
5713 |
</pre><h3><a name="V3.32_Library"></a>Library</h3><pre>
|
|
|
5714 |
|
|
|
5715 |
Fixes bugs:
|
|
|
5716 |
- The "two-phase commit" for device parameters wasn't fully
|
|
|
5717 |
implemented. (gsiodev.c)
|
|
|
5718 |
- Asking for a device color map before the device was opened could
|
|
|
5719 |
cause a crash. (gsdparam.c)
|
|
|
5720 |
- The scaled font cache didn't copy XUIDs properly. (gxfont.h,
|
|
|
5721 |
gsfont.c)
|
|
|
5722 |
- 90 or 270 degree rotated black-and-white bitmaps (including
|
|
|
5723 |
bitmapped fonts such as downloaded TrueType fonts) with an inverted device Y
|
|
|
5724 |
axis were displaced in Y. (gsimage1.c)
|
|
|
5725 |
- On high-resolution devices, parts of regions filled with halftones
|
|
|
5726 |
could fail to be painted. (gxclist.c)
|
|
|
5727 |
|
|
|
5728 |
</pre>
|
|
|
5729 |
|
|
|
5730 |
<h2><a name="Version3.31"></a>Version 3.31 (4/2/95)</h2>
|
|
|
5731 |
|
|
|
5732 |
<p>
|
|
|
5733 |
A few final bug fixes for the release. Includes significant speed
|
|
|
5734 |
improvements for CIE color, and a first draft of a low-level CGM driver.
|
|
|
5735 |
|
|
|
5736 |
<h3><a name="V3.31_Documentation"></a>Documentation</h3><pre>
|
|
|
5737 |
Notes that the BJC600 driver also works for the BJC4000. (devs.mak)
|
|
|
5738 |
|
|
|
5739 |
</pre><h3><a name="V3.31_Procedures"></a>Procedures</h3><pre>
|
|
|
5740 |
|
|
|
5741 |
At the suggestion of a user, changes the default protections for installed
|
|
|
5742 |
files on Unix and DV/X systems from 775/664 to 755/644. (*head.mak)
|
|
|
5743 |
|
|
|
5744 |
At the suggestion of a user, adds a -dNOCIE switch to substitute DeviceGray
|
|
|
5745 |
and DeviceRGB color spaces for CIEBasedA and CIEBasedABC spaces
|
|
|
5746 |
respectively. (gs_init.ps, gs_lev2.ps)
|
|
|
5747 |
|
|
|
5748 |
</pre><h3><a name="V3.31_Utilities"></a>Utilities</h3><pre>
|
|
|
5749 |
|
|
|
5750 |
Changes gslp and its relatives to use ISOLatin1Encoding for output, and to
|
|
|
5751 |
send almost all printout to stderr rather than stdout (for use as a filter
|
|
|
5752 |
under Unix). (gslp.ps)
|
|
|
5753 |
|
|
|
5754 |
</pre><h3><a name="V3.31_Drivers"></a>Drivers</h3><pre>
|
|
|
5755 |
|
|
|
5756 |
Fixes bugs:
|
|
|
5757 |
- The fax/TIFF driver no longer exported gdev_fax_print_page, which
|
|
|
5758 |
the DigiFax driver needs. (gdevtfax.c)
|
|
|
5759 |
- The color DeskJet drivers gave an error for BitsPerPixel=3.
|
|
|
5760 |
(gdevcdj.c)
|
|
|
5761 |
- The "Windows printer" driver was setting its margins in points
|
|
|
5762 |
rather than inches. (gdevwprn.c)
|
|
|
5763 |
- The BJ10 and BJ200 drivers calculated vertical skip distances
|
|
|
5764 |
wrong. (gdevbj10.c)
|
|
|
5765 |
- The BJ10 and BJ200 drivers output two garbage bytes following the
|
|
|
5766 |
initialization string. (gdevbj10.c)
|
|
|
5767 |
|
|
|
5768 |
Adds a preliminary driver that produces low-level CGM output. (gdevcgml.h,
|
|
|
5769 |
gdevcgmx.h, gdevcgm.c, gdevcgml.c)
|
|
|
5770 |
|
|
|
5771 |
</pre><h3><a name="V3.31_Platforms"></a>Platforms</h3><pre>
|
|
|
5772 |
|
|
|
5773 |
Fixes bugs:
|
|
|
5774 |
- The VMS files had gotten out of sync with the other makefiles
|
|
|
5775 |
(again). (modules.lis, vms.mak)
|
|
|
5776 |
- The MS Windows and OS/2-PM drivers hadn't been updated to handle
|
|
|
5777 |
BitsPerPixel as a standard parameter. (gdevmswn.c, gdevpm.c)
|
|
|
5778 |
|
|
|
5779 |
Removes the TIFF drivers from the Windows platform, and restores the BMP
|
|
|
5780 |
drivers. (bcwin.mak)
|
|
|
5781 |
|
|
|
5782 |
</pre><h3><a name="V3.31_Interpreter"></a>Interpreter</h3><pre>
|
|
|
5783 |
|
|
|
5784 |
Fixes bugs:
|
|
|
5785 |
- The CIE color mapping cache could produce anomalous results
|
|
|
5786 |
for the default (all zero values) color if some of the mapping
|
|
|
5787 |
functions were non-linear. (zcie.c)
|
|
|
5788 |
- MultiMaster font substitution got confused if substituted
|
|
|
5789 |
fonts had their FontName changed. (gs_fonts.ps)
|
|
|
5790 |
- A procedure was declared as private inconsistently. (zdevcal.c)
|
|
|
5791 |
- Some pointer relocation procedures didn't work correctly on
|
|
|
5792 |
systems with sizeof(T *) > sizeof(int). (istack.c)
|
|
|
5793 |
- The freelist vector wasn't large enough to handle graphics state
|
|
|
5794 |
objects on 64-bit systems, leading to severe memory sandbars. (iastate.h)
|
|
|
5795 |
- The debugging messages from the allocator had gotten inconsistent
|
|
|
5796 |
and hard to use. (ialloc.c)
|
|
|
5797 |
- Mixing save/restore with allocation could cause the GC never to
|
|
|
5798 |
get run. (isave.c)
|
|
|
5799 |
|
|
|
5800 |
Speeds up the mapping of CIE colors. (zcie.c)
|
|
|
5801 |
|
|
|
5802 |
Adds a .namestring operator for getting the string of a name without having
|
|
|
5803 |
to copy it. (zstring.c)
|
|
|
5804 |
|
|
|
5805 |
</pre><h3><a name="V3.31_Streams"></a>Streams</h3><pre>
|
|
|
5806 |
|
|
|
5807 |
Fixes bugs:
|
|
|
5808 |
- The IJG code needed a couple more flags set for IJG v6.
|
|
|
5809 |
(gsjmorec.h)
|
|
|
5810 |
- Some pointer relocation procedures didn't work correctly on
|
|
|
5811 |
systems with sizeof(T *) > sizeof(int). (stream.c)
|
|
|
5812 |
|
|
|
5813 |
</pre><h3><a name="V3.31_Library"></a>Library</h3><pre>
|
|
|
5814 |
|
|
|
5815 |
Fixes bugs:
|
|
|
5816 |
- The end-test for the fast case of monobit images was wrong,
|
|
|
5817 |
leading to out-of-range memory accesses. (gsimage1.c)
|
|
|
5818 |
- Monobit images rotated by 270 degrees displayed incorrectly.
|
|
|
5819 |
(gsimage1.c)
|
|
|
5820 |
- If a Type 1 font used hint replacement, some parts of the outline
|
|
|
5821 |
before the hint replacement ignored the old hints. (gstype1.c)
|
|
|
5822 |
- Some compilers didn't accept a variable name that was the same as
|
|
|
5823 |
a macro with parameters. (gxht.c)
|
|
|
5824 |
- A procedure was declared as private inconsistently. (gdevm1.c)
|
|
|
5825 |
- Some pointer relocation procedures didn't work correctly on
|
|
|
5826 |
systems with sizeof(T *) > sizeof(int). (gdevmem.c, gsstate.c)
|
|
|
5827 |
- The test on FORCE_HINTS_TO_BIG_PIXELS was backwards. This bug was
|
|
|
5828 |
supposed to have been fixed in 3.30, but somehow the fix got lost.
|
|
|
5829 |
(gstype1.c)
|
|
|
5830 |
- 90 degree rotated monobit images could drop some scan lines.
|
|
|
5831 |
(gsimage*.c)
|
|
|
5832 |
|
|
|
5833 |
Speeds up the mapping of CIE colors. (gscie.h, gxcmap.h, gscie.c, gxcmap.c)
|
|
|
5834 |
|
|
|
5835 |
Speeds up color images (non-interpolated, 1-8 bits per component) by adding
|
|
|
5836 |
a cache for mapped color values. (gximage.h, gsimage.c, gsimage1.c,
|
|
|
5837 |
gsimage2.c)
|
|
|
5838 |
|
|
|
5839 |
Shrinks the band list file slightly by using only as many bytes as necessary
|
|
|
5840 |
for writing out colors, rather than always using 4 bytes. (gxclist.c,
|
|
|
5841 |
gxclread.c)
|
|
|
5842 |
|
|
|
5843 |
</pre>
|
|
|
5844 |
|
|
|
5845 |
<h2><a name="Version3.30"></a>Version 3.30 (beta) (3/21/95)</h2>
|
|
|
5846 |
|
|
|
5847 |
<p>
|
|
|
5848 |
More bug fixes. The garbage collector and PDF interpreter finally appear to
|
|
|
5849 |
work reliably.
|
|
|
5850 |
|
|
|
5851 |
<h3><a name="V3.30_Documentation"></a>Documentation</h3><pre>
|
|
|
5852 |
Fixes bugs:
|
|
|
5853 |
- language.doc had gotten out of date. (language.doc)
|
|
|
5854 |
|
|
|
5855 |
</pre><h3><a name="V3.30_Utilities"></a>Utilities</h3><pre>
|
|
|
5856 |
|
|
|
5857 |
Fixes bugs:
|
|
|
5858 |
- Changes in the handling of %stdout had broken ps2ascii.
|
|
|
5859 |
(gs_dps1.ps, ps2ascii.ps)
|
|
|
5860 |
|
|
|
5861 |
Improves ps2ascii to skip empty strings and not output redundant font
|
|
|
5862 |
changes. (ps2ascii.ps)
|
|
|
5863 |
|
|
|
5864 |
</pre><h3><a name="V3.30_Drivers"></a>Drivers</h3><pre>
|
|
|
5865 |
|
|
|
5866 |
Fixes bugs:
|
|
|
5867 |
- The fax and TIFF drivers didn't free all their working storage.
|
|
|
5868 |
(This bug was fixed in 3.27, and the fix somehow got lost.) (gdevtfax.c)
|
|
|
5869 |
|
|
|
5870 |
Adds new drivers:
|
|
|
5871 |
- sgirgb, to produce SGI RGB raster files. (gdevsgi.c)
|
|
|
5872 |
- tiffcrle, to produce output in TIFF "CCITT 1-dimensional Huffman
|
|
|
5873 |
RLE" format (Group 3 fax with no EOLs). (gdevtfax.c)
|
|
|
5874 |
- tifflzw, to produce output in TIFF LZW format (using the existing
|
|
|
5875 |
CCITTFaxEncode filter code). (gdevtfax.c)
|
|
|
5876 |
- tiffpack, to produce output in TIFF PackBits format. (gdevtfax.c)
|
|
|
5877 |
|
|
|
5878 |
</pre><h3><a name="V3.30_Interpreter_PostScript"></a>Interpreter (PostScript)</h3><pre>
|
|
|
5879 |
|
|
|
5880 |
Fixes bugs:
|
|
|
5881 |
- If the current screen was set with a halftone, setcolorscreen
|
|
|
5882 |
wouldn't accept what currentcolorscreen returned. (gs_dps1.ps)
|
|
|
5883 |
- debug_print_full_ref didn't print t_oparray objects correctly.
|
|
|
5884 |
(idebug.c)
|
|
|
5885 |
- The internal data for a font could be allocated in a different VM
|
|
|
5886 |
space from the font dictionary, causing dangling pointers. (zfont2.c)
|
|
|
5887 |
- definefont became confused if a program failed to delete the FID
|
|
|
5888 |
from a re-encoded font. (This is questionable PostScript, but dvips does
|
|
|
5889 |
it.) (zfont2.c)
|
|
|
5890 |
- If a BuildChar procedure did a save before the setcachedevice and
|
|
|
5891 |
a restore afterwards, the memory manager would attempt to free the cache
|
|
|
5892 |
device after it had already been freed by the restore, leading to damaged
|
|
|
5893 |
freelists. (gschar.c)
|
|
|
5894 |
- setresolution (in statusdict) was ignored. (gs_lev2.ps,
|
|
|
5895 |
gs_statd.ps)
|
|
|
5896 |
- If a string containing a string containing a \ was passed to the
|
|
|
5897 |
token operator, the \ was not recognized properly in a Level 2 environment.
|
|
|
5898 |
(iscan.c)
|
|
|
5899 |
- A couple of default dictionary sizes had become too small.
|
|
|
5900 |
(iinit.c)
|
|
|
5901 |
|
|
|
5902 |
Makes DOS EOF (control-Z, 0x1a) a self-delimiting token, like left bracket.
|
|
|
5903 |
THIS IS A NON-BACKWARD-COMPATIBLE CHANGE, but it should not have any adverse
|
|
|
5904 |
effects. (gs_init.ps, iscan.c, iscantab.c)
|
|
|
5905 |
|
|
|
5906 |
Distinguishes arch_small_memory from arch_ints_are_short, and adds a new
|
|
|
5907 |
-Z. switch to force small-memory table sizes regardless of actual memory
|
|
|
5908 |
size. (dstack.h, idict.c, zpcolor.c, zvmem2.c)
|
|
|
5909 |
|
|
|
5910 |
</pre><h3><a name="V3.30_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
5911 |
|
|
|
5912 |
Fixes bugs:
|
|
|
5913 |
- A page with no Contents caused an error. (pdf_main.ps)
|
|
|
5914 |
- Executing a Form resource caused an error. (pdf_draw.ps)
|
|
|
5915 |
- Outlines with open entries caused an error. (pdf_main.ps)
|
|
|
5916 |
- Embedded Type 3 fonts caused an error. (pdf_draw.ps, pdf_font.ps)
|
|
|
5917 |
- The Widths array of fonts was ignored. (pdf_font.ps)
|
|
|
5918 |
|
|
|
5919 |
</pre><h3><a name="V3.30_Library"></a>Library</h3><pre>
|
|
|
5920 |
|
|
|
5921 |
Fixes bugs:
|
|
|
5922 |
- Freeing an entry in the pattern cache didn't clear the pointers to
|
|
|
5923 |
the raster data, producing a dangling reference that confused the garbage
|
|
|
5924 |
collector. (gxpcmap.c)
|
|
|
5925 |
- The test on FORCE_HINTS_TO_BIG_PIXELS was backwards. (gstype1.c)
|
|
|
5926 |
- The pattern cache bookkeeping was incorrect. (gxpcmap.c)
|
|
|
5927 |
- Depending on the order in which pointers were relocated, the
|
|
|
5928 |
garbage collector could incorrectly relocate pointers from the character
|
|
|
5929 |
cache. (gxfcache.h, gsfont.c, gxccache.c, gxccman.c)
|
|
|
5930 |
|
|
|
5931 |
Changes the fast case of black-and-white images so it aligns scaled images
|
|
|
5932 |
with the device coordinate system, to improve performance. (gsimage1.c)
|
|
|
5933 |
|
|
|
5934 |
Extends the coordinate transformation routines to handle absurdly large
|
|
|
5935 |
translation values in the CTM as long as the final device device coordinates
|
|
|
5936 |
are within fixed-point range. (gxmatrix.h, gxpath.h, gschar.c, gscoord.c,
|
|
|
5937 |
gsmatrix.c, gxhint2.c, gxpath2.c)
|
|
|
5938 |
|
|
|
5939 |
Distinguishes arch_small_memory from arch_ints_are_short, and adds a new
|
|
|
5940 |
-Z. switch to force small-memory table sizes regardless of actual memory
|
|
|
5941 |
size. (gdevprn.h, gxpcolor.h, gzht.h, std.h, gsfont.c, gsht1.c, gspaint.c,
|
|
|
5942 |
gsstate.c, gxcht.c, gxht.c, gxpcmap.c)
|
|
|
5943 |
|
|
|
5944 |
</pre>
|
|
|
5945 |
|
|
|
5946 |
<hr>
|
|
|
5947 |
|
|
|
5948 |
<h2><a name="Version3.29"></a>Version 3.29 (internal) (3/8/95)</h2>
|
|
|
5949 |
|
|
|
5950 |
<p>
|
|
|
5951 |
Another bug-fix release. This release processes all but 7 of the 500+ files
|
|
|
5952 |
on the Adobe Acrobat Sampler CD-ROM without giving an error. The garbage
|
|
|
5953 |
collector finally appears to be stable. This version was created for a
|
|
|
5954 |
customer; it was not released to the general public or even to the beta test
|
|
|
5955 |
list.
|
|
|
5956 |
|
|
|
5957 |
<h3><a name="V3.29_Documentation"></a>Documentation</h3><pre>
|
|
|
5958 |
Documents the possible need to set LD_RUN_PATH on SVR4 platforms.
|
|
|
5959 |
(make.doc)
|
|
|
5960 |
|
|
|
5961 |
Expands the description of the device life cycle, and of the constraints on
|
|
|
5962 |
put_params procedures. (drivers.doc)
|
|
|
5963 |
|
|
|
5964 |
Adds an explicit copyright notice to the Aladdin Ghostscript Free Public
|
|
|
5965 |
License. (PUBLIC)
|
|
|
5966 |
|
|
|
5967 |
Clarifies that the Win32s documentation also applies to Windows NT.
|
|
|
5968 |
(make.doc)
|
|
|
5969 |
|
|
|
5970 |
</pre><h3><a name="V3.29_Procedures"></a>Procedures</h3><pre>
|
|
|
5971 |
|
|
|
5972 |
Removes the obsolete writeppmfile operator from the standard configurations.
|
|
|
5973 |
(gs.mak)
|
|
|
5974 |
|
|
|
5975 |
Changes the Watcom makefiles to work properly with Watcom C/C++ 10.0.
|
|
|
5976 |
(make.doc, msc.mak, watc.mak, watcwin.mak, wccommon.mak)
|
|
|
5977 |
|
|
|
5978 |
</pre><h3><a name="V3.29_Utilities"></a>Utilities</h3><pre>
|
|
|
5979 |
|
|
|
5980 |
Adds a wftopfa utility for converting the Wadalab fonts to usable Type 0 and
|
|
|
5981 |
Type 1 form. (wftopfa)
|
|
|
5982 |
|
|
|
5983 |
</pre><h3><a name="V3.29_Fonts"></a>Fonts</h3><pre>
|
|
|
5984 |
|
|
|
5985 |
Fixes bugs:
|
|
|
5986 |
- Entries added automatically by definefont (FontInfo, ExactSize)
|
|
|
5987 |
could cause a font dictionary to become full. (gs_fonts.ps, gs_type1.ps)
|
|
|
5988 |
- wrfont.ps couldn't deal with very long CharStrings. (wrfont.ps)
|
|
|
5989 |
|
|
|
5990 |
Makes the name of the Fontmap file an easily editable parameter.
|
|
|
5991 |
(gs_fonts.ps)
|
|
|
5992 |
|
|
|
5993 |
Adds a utility for converting the Wadalab font to usable Type 0 and Type 1
|
|
|
5994 |
form. (wrfont.ps, wftopfa.ps)
|
|
|
5995 |
|
|
|
5996 |
</pre><h3><a name="V3.29_Drivers"></a>Drivers</h3><pre>
|
|
|
5997 |
|
|
|
5998 |
Fixes bugs:
|
|
|
5999 |
- The top margin for printer (and fax) devices was computed
|
|
|
6000 |
incorrectly, using the X resolution rather than the Y resolution.
|
|
|
6001 |
(gdevprn.h)
|
|
|
6002 |
- Changing the page size or resolution of a printer device closed
|
|
|
6003 |
and reopened the device unnecessarily. (gdevprn.c)
|
|
|
6004 |
- Changing the page size of the X11 device didn't change the initial
|
|
|
6005 |
matrix, so (0,0) didn't wind up in the lower left corner. (gdevx.c)
|
|
|
6006 |
- The bit devices didn't allow changing the number of bits per
|
|
|
6007 |
pixel. (gdevbit.c)
|
|
|
6008 |
|
|
|
6009 |
Adds a settable .IsPageDevice boolean device parameter to the X Windows
|
|
|
6010 |
driver. The default value is true. (gdevx.h, gdevx.c)
|
|
|
6011 |
|
|
|
6012 |
Changes the PPM driver so that it chooses between PBM/PGM/PPM on a
|
|
|
6013 |
page-by-page basis, rather retaining the most general format ever required
|
|
|
6014 |
by any page. (gdevpbm.c)
|
|
|
6015 |
|
|
|
6016 |
</pre><h3><a name="V3.29_Interpreter_PostScript"></a>Interpreter (PostScript)</h3><pre>
|
|
|
6017 |
|
|
|
6018 |
Fixes bugs:
|
|
|
6019 |
- The current page device could be null, rather than an empty
|
|
|
6020 |
dictionary. (igstate.h, zchar.c, zdevice.c, zdevice2.c, zgstate.c)
|
|
|
6021 |
- The scanner didn't signal an error for names or strings that were
|
|
|
6022 |
too long. (iscan.c)
|
|
|
6023 |
- A missing header file upset the VAX compilers. (ztype.c)
|
|
|
6024 |
- Some places expecting dictionary operands didn't check the type,
|
|
|
6025 |
because they incorrectly assumed that the dict_check_read/write macro did
|
|
|
6026 |
this. (idict.h, zdevice2.c, zht2.c, zmisc2.c)
|
|
|
6027 |
- The definition of quit in systemdict wasn't disabled within
|
|
|
6028 |
encapsulated jobs. (gs_lev2.ps)
|
|
|
6029 |
- resetfile gave an error if the file was closed, rather than doing
|
|
|
6030 |
nothing. (zfileio.c)
|
|
|
6031 |
- The scanner attempted to free an uninitialized pointer if it
|
|
|
6032 |
reached EOF after a / or //. (iscan.c)
|
|
|
6033 |
- A restore in a different file than the corresponding save caused
|
|
|
6034 |
an invalidrestore error. (gs_init.ps)
|
|
|
6035 |
- The default value of EndOfData in RunLengthDecode streams was set
|
|
|
6036 |
to false. (zfilter.c)
|
|
|
6037 |
- .registerencoding didn't invoke the save machinery correctly,
|
|
|
6038 |
leading to GC problems. (zfont2.c)
|
|
|
6039 |
- The facility for overriding .printerror didn't work correctly.
|
|
|
6040 |
(gs_init.ps)
|
|
|
6041 |
- gs_run_file_open wasn't public. (gsmain.c)
|
|
|
6042 |
- The interpreter returned e_undefined for undefined error names,
|
|
|
6043 |
rather than the error code. (interp.c)
|
|
|
6044 |
- Allocation in system memory (specifically, adding a block to a
|
|
|
6045 |
stack) couldn't trigger automatic garbage collection. (interp.c, igc.c,
|
|
|
6046 |
zvmem2.c)
|
|
|
6047 |
- A restore in a different invocation of gs_run_string than the
|
|
|
6048 |
corresponding save would stop reading the string. (files.h, gsmain.c,
|
|
|
6049 |
iccinit.c, zfile.c)
|
|
|
6050 |
- The Type 1 rasterizer state included a pointer into the middle of
|
|
|
6051 |
an object, confusing the garbage collector. (zchar1.c, zfont1.c)
|
|
|
6052 |
- When the garbage collector deleted a name, it didn't zero out the
|
|
|
6053 |
string pointer. (iname.c)
|
|
|
6054 |
- On platforms where obj_align_mod > 4, the memory manager could
|
|
|
6055 |
access 1 beyond the end of its freelists. (iastate.h)
|
|
|
6056 |
- makefont and scalefont didn't check the type of their font operand
|
|
|
6057 |
soon enough. (zfont.c)
|
|
|
6058 |
- restore didn't finalize the objects it freed. (isave.c)
|
|
|
6059 |
- restore didn't free system VM. (isave.c)
|
|
|
6060 |
- Freeing a ref array that occupied an entire chunk didn't free the
|
|
|
6061 |
chunk. (ialloc.c)
|
|
|
6062 |
|
|
|
6063 |
Adds a .runexec operator which implements the 'close if error' function of
|
|
|
6064 |
run. (zfile.c, zfileio.c)
|
|
|
6065 |
|
|
|
6066 |
Moves the obsolete writeppmfile operator into a separate file. (zfileio.c,
|
|
|
6067 |
zwppm.c)
|
|
|
6068 |
|
|
|
6069 |
Makes the statistics returned by the memory manager more accurate.
|
|
|
6070 |
(ialloc.c, zvmem.c)
|
|
|
6071 |
|
|
|
6072 |
Adds a (read-only) %Calendar% IODevice. (zdevcal.c)
|
|
|
6073 |
|
|
|
6074 |
Adds a "hook" in the character operators to allow external code to
|
|
|
6075 |
intervene; this is needed for a customer. (ichar.h, zchar.c, zchar2.c)
|
|
|
6076 |
|
|
|
6077 |
Makes control-D (0x04) a self-delimiting token, like left bracket. THIS IS
|
|
|
6078 |
A NON-BACKWARD-COMPATIBLE CHANGE, but it should not have any adverse
|
|
|
6079 |
effects. (scanchar.h, iscan.c, iscantab.c)
|
|
|
6080 |
|
|
|
6081 |
Changes the error stack printout so that it puts line breaks between items
|
|
|
6082 |
iff the items are being printed with ==. (gs_init.ps)
|
|
|
6083 |
|
|
|
6084 |
Uses finalization to close streams being freed. (igc.c, zfile.c, ziodev.c)
|
|
|
6085 |
|
|
|
6086 |
</pre><h3><a name="V3.29_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
6087 |
|
|
|
6088 |
Fixes bugs:
|
|
|
6089 |
- Embedded Type 1 fonts that invoked save and restore while being
|
|
|
6090 |
read caused an error. (pdf_font.ps)
|
|
|
6091 |
- Large files that referenced a non-alphabetic font for the first
|
|
|
6092 |
time late in the file could cause an error. (pdf_main.ps)
|
|
|
6093 |
|
|
|
6094 |
</pre><h3><a name="V3.29_Streams"></a>Streams</h3><pre>
|
|
|
6095 |
|
|
|
6096 |
Fixes bugs:
|
|
|
6097 |
- SubFileDecode streams didn't copy partial matches of the EOD
|
|
|
6098 |
string into their output. (sfilter1.c)
|
|
|
6099 |
|
|
|
6100 |
Makes switching between read and write modes a stream procedure. (stream.h,
|
|
|
6101 |
sfile.c, sfileno.c, stream.c, zfileio.c)
|
|
|
6102 |
|
|
|
6103 |
Makes file streams close themselves when finalized. (We can't do this for
|
|
|
6104 |
other streams, because finalization procedures aren't allowed to free
|
|
|
6105 |
storage explicitly.) (stream.h, sfile.c, sfileno.c, stream.c)
|
|
|
6106 |
|
|
|
6107 |
</pre><h3><a name="V3.29_Library"></a>Library</h3><pre>
|
|
|
6108 |
|
|
|
6109 |
Fixes bugs:
|
|
|
6110 |
- The obsolete files gcdefs.h and gsfile.c were still included in
|
|
|
6111 |
the fileset.
|
|
|
6112 |
- A number of places didn't deal with null patterns properly (p_tile
|
|
|
6113 |
== 0). (gxdcolor.h, gspcolor.c, gxpcmap.c)
|
|
|
6114 |
- The pattern tiling algorithm was numerically unstable, especially
|
|
|
6115 |
if the X/YStep vectors were close to the axes. (gxcolor2.h, gspcolor.c,
|
|
|
6116 |
gxpcmap.c)
|
|
|
6117 |
- setdeviceparams checked the values of read-only byte array
|
|
|
6118 |
parameters incorrectly. (gsdparam.c)
|
|
|
6119 |
- The statistics macros in gxfill.c didn't use DO_NOTHING when
|
|
|
6120 |
disabled. (gxfill.c)
|
|
|
6121 |
- Changing the orientation of a device closed and reopened the
|
|
|
6122 |
device unnecessarily. (gsdparam.c)
|
|
|
6123 |
- ioerrors occurring when writing command lists weren't reported
|
|
|
6124 |
properly. (gxclist.h, gxclist.c)
|
|
|
6125 |
- Errors from device procedures weren't always propagated up to
|
|
|
6126 |
clients. (gsimage1.c, gsimage3.c, gxclip2.c, gxclist.c)
|
|
|
6127 |
- Overflowing the fixed-point translation values in the CTM caused a
|
|
|
6128 |
floating point exception rather than a limitcheck. (gxmatrix.h, gscoord.c)
|
|
|
6129 |
- charpath set the current point correctly, but didn't append a
|
|
|
6130 |
moveto element to the path. (This mostly affected Mathematica output.)
|
|
|
6131 |
(gzpath.h)
|
|
|
6132 |
- Image devices mapped colors incorrectly. (gdevmem.c, gdevm16.c)
|
|
|
6133 |
- On devices with color capability but fewer than 4 bits per pixel,
|
|
|
6134 |
color halftones didn't work (and could cause an arithmetic exception).
|
|
|
6135 |
(gxdither.c)
|
|
|
6136 |
- Black-on-white memory devices didn't map colors properly.
|
|
|
6137 |
(gdevprn.h, gxdevice.h, gxdevmem.h, gdevmem.c, gdevm1.c, gsdevice.c)
|
|
|
6138 |
- Memory devices with a non-zero origin in their initial matrix
|
|
|
6139 |
clipped the image improperly. (gsdevice.c)
|
|
|
6140 |
- The Type 1 rasterizer state included a pointer into the middle of
|
|
|
6141 |
an object, confusing the garbage collector. (gstype1.h, gxfont1.h,
|
|
|
6142 |
gxtype1.h, gstype1.c, gxhint2.c)
|
|
|
6143 |
- The band rasterizer could produce garbled output for images
|
|
|
6144 |
(including characters) on 64-bit architectures. (gxclread.c)
|
|
|
6145 |
- Bounding boxes (for pathbbox and setbbox) could be slightly
|
|
|
6146 |
inaccurate. (gsmatrix.c)
|
|
|
6147 |
- On 64-bit architectures, halftone tiles less than 16 bits wide
|
|
|
6148 |
were handled incorrectly. (gxclist.c)
|
|
|
6149 |
|
|
|
6150 |
Adds an .IsPageDevice boolean device parameter (normally read-only).
|
|
|
6151 |
(gsdparam.c)
|
|
|
6152 |
|
|
|
6153 |
Removes the library code for implementing the obsolete writeppmfile
|
|
|
6154 |
operator. (gswppm.c)
|
|
|
6155 |
|
|
|
6156 |
Makes the default matrix (for initmatrix and defaultmatrix) a settable
|
|
|
6157 |
parameter in the graphics state. (gscoord.h, gzstate.h, gscoord.c,
|
|
|
6158 |
gsdevice.c, gsdparam.c)
|
|
|
6159 |
|
|
|
6160 |
Makes the statistics returned by the memory manager more accurate.
|
|
|
6161 |
(gsmemory.h)
|
|
|
6162 |
|
|
|
6163 |
Adds a compile-time flag to choose whether or not to force Type 1 hints to
|
|
|
6164 |
"big pixel" boundaries when oversampling. (gstype1.c)
|
|
|
6165 |
|
|
|
6166 |
Changes the .PageCount device parameter back to PageCount, because the
|
|
|
6167 |
change broke some scripts. (gsdparam.c)
|
|
|
6168 |
|
|
|
6169 |
Adds optimization for 90 degree rotated images with pure colors.
|
|
|
6170 |
(gximage.h, gsimage.c, gsimage1.c)
|
|
|
6171 |
|
|
|
6172 |
Changes the band rasterizer so that replicated halftone tiles are written on
|
|
|
6173 |
the band list in unreplicated form. (gsbitops.h, gxcldev.h, gsbitops.c,
|
|
|
6174 |
gxclist.c, gxclread.c, gxht.c)
|
|
|
6175 |
|
|
|
6176 |
Changes the .HWBitsPerPixel device parameter to BitsPerPixel. (drivers.doc,
|
|
|
6177 |
language.doc, gdevcdj.c, gdevstc.c, gsdparam.c)
|
|
|
6178 |
|
|
|
6179 |
</pre>
|
|
|
6180 |
|
|
|
6181 |
<h2><a name="Version3.28"></a>Version 3.28 (beta) (2/13/95)</h2>
|
|
|
6182 |
|
|
|
6183 |
<p>
|
|
|
6184 |
Another bug-fix beta release. The number of bugs being fixed in each of
|
|
|
6185 |
these sub-releases does exceed the number of new bugs introduced, but the
|
|
|
6186 |
latter number is discouragingly high.
|
|
|
6187 |
|
|
|
6188 |
<h3><a name="V3.28_Documentation"></a>Documentation</h3><pre>
|
|
|
6189 |
Adds some information about handling VMS file attributes for files
|
|
|
6190 |
transferred by FTP. (use.doc)
|
|
|
6191 |
|
|
|
6192 |
</pre><h3><a name="V3.28_Procedures"></a>Procedures</h3><pre>
|
|
|
6193 |
|
|
|
6194 |
Fixes bugs:
|
|
|
6195 |
- unix-gcc.mak said the static linkage switch for SunOS was -Bstatic
|
|
|
6196 |
rather than -static. (unix-gcc.mak)
|
|
|
6197 |
- Some dependency lists in gs.mak were out of date. (gs.mak)
|
|
|
6198 |
|
|
|
6199 |
</pre><h3><a name="V3.28_Utilities"></a>Utilities</h3><pre>
|
|
|
6200 |
|
|
|
6201 |
Fixes bugs:
|
|
|
6202 |
- markhint.ps didn't check for protected fonts. (markhint.ps)
|
|
|
6203 |
|
|
|
6204 |
</pre><h3><a name="V3.28_Drivers"></a>Drivers</h3><pre>
|
|
|
6205 |
|
|
|
6206 |
Fixes bugs:
|
|
|
6207 |
- The cdj driver had a byte/char agreement problem. (gdevcdj.c)
|
|
|
6208 |
- The cdj driver attempted to initialize a dynamic array.
|
|
|
6209 |
(gdevcdj.c)
|
|
|
6210 |
|
|
|
6211 |
Removes the setting of InputAttributes and OutputAttributes from the H-P
|
|
|
6212 |
drivers, since this causes more problems than it solves. (gdevdjet.c)
|
|
|
6213 |
|
|
|
6214 |
</pre><h3><a name="V3.28_Interpreter"></a>Interpreter</h3><pre>
|
|
|
6215 |
|
|
|
6216 |
Fixes bugs:
|
|
|
6217 |
- makeoperator assigned incorrect attributes to operators. (bug
|
|
|
6218 |
introduced in 3.27) (opdef.h, iinit.c, iutil.c, zmisc.c)
|
|
|
6219 |
|
|
|
6220 |
</pre><h3><a name="V3.28_Library"></a>Library</h3><pre>
|
|
|
6221 |
|
|
|
6222 |
Fixes bugs:
|
|
|
6223 |
- gs_makeimagedevice didn't set the caller's pointer to the newly
|
|
|
6224 |
created device. (bug introduced in 3.27) (gsdevice.c)
|
|
|
6225 |
- There were still some mismatches between char * and byte * values.
|
|
|
6226 |
(gsdparam.c)
|
|
|
6227 |
- The halftone replication algorithm could produce inappropriately
|
|
|
6228 |
large replicated masks. (gxht.c)
|
|
|
6229 |
- stroke usually did the wrong thing for degenerate (single-point)
|
|
|
6230 |
subpaths. (gxstroke.c)
|
|
|
6231 |
|
|
|
6232 |
</pre>
|
|
|
6233 |
|
|
|
6234 |
<h2><a name="Version3.27"></a>Version 3.27 (beta)(withdrawn) (2/8/95)</h2>
|
|
|
6235 |
|
|
|
6236 |
<p>
|
|
|
6237 |
Yet another bug-fix beta release. This release had so many serious problems
|
|
|
6238 |
(the most serious being at least one changed file that the release tool
|
|
|
6239 |
failed to include in the fileset) that it was withdrawn less than a day
|
|
|
6240 |
after it was issued.
|
|
|
6241 |
|
|
|
6242 |
<h3><a name="V3.27_Documentation"></a>Documentation</h3><pre>
|
|
|
6243 |
Fixes bugs:
|
|
|
6244 |
- The NEWS for 3.26 didn't mention the fact that the stdxxx stream
|
|
|
6245 |
interface used by MS Windows, OS/2, and Macintosh implementations had
|
|
|
6246 |
changed. (NEWS)
|
|
|
6247 |
- The file public.doc wasn't distributed with the previous fileset.
|
|
|
6248 |
|
|
|
6249 |
Brings the NeXTSTEP documentation up to date for NeXTSTEP releases 3.2 and
|
|
|
6250 |
subsequent. (make.doc)
|
|
|
6251 |
|
|
|
6252 |
</pre><h3><a name="V3.27_Procedures"></a>Procedures</h3><pre>
|
|
|
6253 |
|
|
|
6254 |
Fixes bugs:
|
|
|
6255 |
- Some dependency lists in gs.mak were out of date. (gs.mak)
|
|
|
6256 |
- A 'fi;' was missing in the Unix install script. (unix-end.mak)
|
|
|
6257 |
- There was no VMS build script for the PDF options. (vms.mak)
|
|
|
6258 |
- The VMS script used CC_QUALI instead of CC_QUAL in several places.
|
|
|
6259 |
(vms.mak)
|
|
|
6260 |
|
|
|
6261 |
</pre><h3><a name="V3.27_Utilities"></a>Utilities</h3><pre>
|
|
|
6262 |
|
|
|
6263 |
Fixes bugs:
|
|
|
6264 |
- ps2epsi's usage prompt referred to "pstoepsi". (ps2epsi)
|
|
|
6265 |
- ps2epsi set PATH and LOCALPATH unilaterally. (ps2epsi)
|
|
|
6266 |
|
|
|
6267 |
Comments out the sample usage line at the end of viewjpeg.ps. (viewjpeg.ps)
|
|
|
6268 |
|
|
|
6269 |
</pre><h3><a name="V3.27_Drivers"></a>Drivers</h3><pre>
|
|
|
6270 |
|
|
|
6271 |
Fixes bugs:
|
|
|
6272 |
- The fax and tiff drivers didn't free all of their working storage.
|
|
|
6273 |
(gdevtfax.c)
|
|
|
6274 |
|
|
|
6275 |
Adds user-contributed drivers for the BJC 600 and ESC/P printers.
|
|
|
6276 |
(devs.mak, gdevcdj.c)
|
|
|
6277 |
|
|
|
6278 |
</pre><h3><a name="V3.27_Platforms"></a>Platforms</h3><pre>
|
|
|
6279 |
|
|
|
6280 |
Fixes bugs:
|
|
|
6281 |
- Some necessary casts of string parameters to (const byte *) were
|
|
|
6282 |
omitted. (gp_mswin.c, gp_os2.c)
|
|
|
6283 |
|
|
|
6284 |
Adds the psmono and bit* drivers, and removes the p*m drivers, in the OS/2,
|
|
|
6285 |
32-bit MS-DOS, and 32-bit Windows configurations. (bcwin32.mak, os2.mak,
|
|
|
6286 |
watc.mak)
|
|
|
6287 |
|
|
|
6288 |
</pre><h3><a name="V3.27_Fonts"></a>Fonts</h3><pre>
|
|
|
6289 |
|
|
|
6290 |
Fixes bugs:
|
|
|
6291 |
- The Fontmap for Ultrix had somehow become slightly incorrect.
|
|
|
6292 |
(Fontmap.Ult)
|
|
|
6293 |
|
|
|
6294 |
Removes the font file names from the dependency lists in cfonts.mak. This
|
|
|
6295 |
makes cfonts.mak readily usable with any set of fonts, but it also means
|
|
|
6296 |
that it will always run font2c, rather than being able to avoid this if the
|
|
|
6297 |
.c file is up to date. (cfonts.mak)
|
|
|
6298 |
|
|
|
6299 |
</pre><h3><a name="V3.27_Interpreter"></a>Interpreter</h3><pre>
|
|
|
6300 |
|
|
|
6301 |
Fixes bugs:
|
|
|
6302 |
- Some operators could fail if the stdxxx streams weren't currently
|
|
|
6303 |
open. (files.h, zfileio.c, ziodev.c)
|
|
|
6304 |
- setpagedevice didn't handle unrecognized keys properly.
|
|
|
6305 |
(gs_setpd.ps)
|
|
|
6306 |
- The value returned for the HWColorMap device parameter was
|
|
|
6307 |
allocated incorrectly, confusing the garbage collector. (iparam.c)
|
|
|
6308 |
- Typing ahead at the >>showpage<< prompt no longer caused all
|
|
|
6309 |
further pages to be processed without stopping. (gs_init.ps)
|
|
|
6310 |
- Setting DEVICEWIDTHPOINTS or DEVICEHEIGHTPOINTS on the command
|
|
|
6311 |
line caused a typecheck. (gs_init.ps)
|
|
|
6312 |
- The garbage collector didn't handle halftone threshold arrays
|
|
|
6313 |
properly. (zht2.c)
|
|
|
6314 |
- setdefaulttimeouts caused an error on Level 2 systems.
|
|
|
6315 |
(gs_lev2.ps)
|
|
|
6316 |
- cvi and cvr weren't equivalent to token followed by a type check.
|
|
|
6317 |
(iscan.h, iscannum.h, iscan.c, iscannum.c, ztoken.c, ztype.c)
|
|
|
6318 |
- In Level 2 systems, image and colorimage didn't allow 12 bits per
|
|
|
6319 |
sample. (zpaint.c)
|
|
|
6320 |
- If debugging was enabled, the garbage collector printed spurious
|
|
|
6321 |
error messages about the allocator objects not being in a chunk. (ialloc.c)
|
|
|
6322 |
- restore didn't reset the count of operator procedures, so the
|
|
|
6323 |
operator procedure table could fill up. Fixing this required splitting the
|
|
|
6324 |
op_array_table into a global table and a local table. (opdef.h, iinit.c,
|
|
|
6325 |
iutil.c, zmisc.c)
|
|
|
6326 |
- .forgetsave could leave a dangling pointer in the memory manager,
|
|
|
6327 |
causing an access error. (ialloc.c, isave.c)
|
|
|
6328 |
- Freed objects weren't always marked as freed, which could confuse
|
|
|
6329 |
the memory validator. (ialloc.c)
|
|
|
6330 |
- .forgetsave didn't mark inner chunk headers as free, leading to
|
|
|
6331 |
access errors. (isave.c)
|
|
|
6332 |
|
|
|
6333 |
Changes the representation of operator procedures so that they point
|
|
|
6334 |
directly to their definition in the op_array_table. (iref.h, opdef.h,
|
|
|
6335 |
idebug.c, igc.c, igcref.c, interp.c, zmisc.c)
|
|
|
6336 |
|
|
|
6337 |
Removes .makeglobaloperator. (zmisc.c)
|
|
|
6338 |
|
|
|
6339 |
Adds patches to discard some common garbage produced by H-P-oriented
|
|
|
6340 |
applications and drivers. (gs_init.ps)
|
|
|
6341 |
|
|
|
6342 |
Changes the >>showpage<< prompt so that if the input reaches EOF, the
|
|
|
6343 |
interpreter still stops after the next >>showpage<<, rather than processing
|
|
|
6344 |
all subsequent pages. This is a consequence of the bug fix that
|
|
|
6345 |
automatically reopens the stdxxx files.
|
|
|
6346 |
|
|
|
6347 |
Adds an optional dictionary parameter for the RunLengthEncode/Decode
|
|
|
6348 |
filters, to allow specifying EndOfData. The default is true. (zfilter.c)
|
|
|
6349 |
|
|
|
6350 |
Adds ByteTranslateEncode/Decode filters. (zfilter2.c)
|
|
|
6351 |
|
|
|
6352 |
</pre><h3><a name="V3.27_Streams"></a>Streams</h3><pre>
|
|
|
6353 |
|
|
|
6354 |
Fixes bugs:
|
|
|
6355 |
- The K > 0 option of the CCITTFaxDecode filter switched back to 2-D
|
|
|
6356 |
encoding if an output buffer boundary fell in the middle of a 1-D line, and
|
|
|
6357 |
signalled an error if an input buffer boundary fell in the middle of an EOL.
|
|
|
6358 |
(scfd.c)
|
|
|
6359 |
|
|
|
6360 |
Adds an EndOfData flag to the RunLengthEncode/Decode filters. If true, RLE
|
|
|
6361 |
generates 128 as EOD, and RLD recognizes it; if false, RLE does not mark
|
|
|
6362 |
EOD, and RLD ignores 128. (srlx.h, gxclist.c, gxclread.c, sfilter1.c)
|
|
|
6363 |
|
|
|
6364 |
Adds ByteTranslateEncode/Decode streams. (sbtx.h, sfilter2.c)
|
|
|
6365 |
|
|
|
6366 |
</pre><h3><a name="V3.27_Library"></a>Library</h3><pre>
|
|
|
6367 |
|
|
|
6368 |
Fixes bugs:
|
|
|
6369 |
- There were some mismatches between char * and byte * values.
|
|
|
6370 |
(gsdparam.c)
|
|
|
6371 |
- Failure to round a scaling coordinate caused one-for-one
|
|
|
6372 |
black-and-white images to render slower than they should. (gsimage.c)
|
|
|
6373 |
- Setting PageSize without setting HWResolution could cause an
|
|
|
6374 |
invalid memory access. (gsdparam.c)
|
|
|
6375 |
- The garbage collector didn't handle halftone threshold arrays
|
|
|
6376 |
properly. (gxht.h, gsht.c, gsht1.c)
|
|
|
6377 |
|
|
|
6378 |
</pre>
|
|
|
6379 |
|
|
|
6380 |
<h2><a name="Version3.26"></a>Version 3.26 (beta) (2/1/95)</h2>
|
|
|
6381 |
|
|
|
6382 |
<p>
|
|
|
6383 |
Yet another bug-fix beta release, still not ready for public release.
|
|
|
6384 |
|
|
|
6385 |
<h3><a name="V3.26_Documentation"></a>Documentation</h3><pre>
|
|
|
6386 |
Fixes bugs:
|
|
|
6387 |
- The description of device properties had gotten out of sync with
|
|
|
6388 |
the code. (language.doc)
|
|
|
6389 |
|
|
|
6390 |
Splits off documentation specific to the Aladdin (non-GNU) release into a
|
|
|
6391 |
separate file. (readme, public.doc, unix-end.mak)
|
|
|
6392 |
|
|
|
6393 |
Adds a pointer to a collection of other free fonts (including some Cyrillic
|
|
|
6394 |
ones) available on the net. (public.doc)
|
|
|
6395 |
|
|
|
6396 |
</pre><h3><a name="V3.26_Procedures"></a>Procedures</h3><pre>
|
|
|
6397 |
|
|
|
6398 |
Fixes bugs:
|
|
|
6399 |
- On VMS systems with both VAX C and DEC C installed, the build script
|
|
|
6400 |
used VAX C rather than DEC C. (vms.mak)
|
|
|
6401 |
- zfdecode.c didn't have a build rule. (gs.mak)
|
|
|
6402 |
- Several macros in the makefile were used before they were defined.
|
|
|
6403 |
(gs.mak)
|
|
|
6404 |
- Several macros in the makefile were used without being defined.
|
|
|
6405 |
(gs.mak)
|
|
|
6406 |
|
|
|
6407 |
Replaces the gssetdev, gssetmod, and gsaddmod scripts with more variants of
|
|
|
6408 |
echogs. (echogs.c, gs.mak)
|
|
|
6409 |
|
|
|
6410 |
</pre><h3><a name="V3.26_Utilities"></a>Utilities</h3><pre>
|
|
|
6411 |
|
|
|
6412 |
Fixes bugs:
|
|
|
6413 |
- The ps2ascii shell script passed a -f flag to the shell, which not
|
|
|
6414 |
all shells recognize. (ps2ascii)
|
|
|
6415 |
|
|
|
6416 |
</pre><h3><a name="V3.26_Drivers"></a>Drivers</h3><pre>
|
|
|
6417 |
|
|
|
6418 |
Fixes bugs:
|
|
|
6419 |
- Due to a typo in an initialization string, the H-P printers didn't
|
|
|
6420 |
reset the top margin to zero. (gdevdjet.c)
|
|
|
6421 |
|
|
|
6422 |
Adds InputAttributes and OutputAttributes entries to the H-P drivers. (This
|
|
|
6423 |
should probably be generic to all printers.) (gdevdjet.c)
|
|
|
6424 |
|
|
|
6425 |
Replaces the contributed Epson Stylus Color driver with a newer version.
|
|
|
6426 |
(devices.doc, gdevstc.c)
|
|
|
6427 |
|
|
|
6428 |
</pre><h3><a name="V3.26_Platforms"></a>Platforms</h3><pre>
|
|
|
6429 |
|
|
|
6430 |
Fixes bugs:
|
|
|
6431 |
- DEC C complained about 'abs' and 'exit' not being declared. (x_.h)
|
|
|
6432 |
- gp_mswin.c and gp_os2.c wouldn't compile. (gp_mswin.c, gp_os2.c,
|
|
|
6433 |
ziodev.c)
|
|
|
6434 |
|
|
|
6435 |
</pre><h3><a name="V3.26_Interpreter"></a>Interpreter</h3><pre>
|
|
|
6436 |
|
|
|
6437 |
Fixes bugs:
|
|
|
6438 |
- The default CIE rendering dictionary gave everything a magenta tint.
|
|
|
6439 |
(gs_lev2.ps)
|
|
|
6440 |
- Changing HWResolution and PageSize in the same call of
|
|
|
6441 |
setpagedevice produced an incorrect HWSize. (gsdparam.c)
|
|
|
6442 |
- .putdeviceparams didn't accept all the keys that .getdeviceparams
|
|
|
6443 |
returned. (gsdparam.c)
|
|
|
6444 |
- The default handler for interrupt and timeout errors didn't push a
|
|
|
6445 |
current object (command) on the stack. (gs_init.ps)
|
|
|
6446 |
- The garbage collector didn't handle strings larger than 64K
|
|
|
6447 |
properly. (iastate.h, ialloc.c, igcstr.c)
|
|
|
6448 |
|
|
|
6449 |
Adds media matching and Policy consultation to the implementation of
|
|
|
6450 |
setpagedevice. (gs_setpd.ps)
|
|
|
6451 |
|
|
|
6452 |
Adds a MaxGlobalVM system parameter. (zmisc2.c)
|
|
|
6453 |
|
|
|
6454 |
</pre><h3><a name="V3.26_Streams"></a>Streams</h3><pre>
|
|
|
6455 |
|
|
|
6456 |
Fixes bugs:
|
|
|
6457 |
- The CCITTFaxEncode filter could access a byte beyond the end of
|
|
|
6458 |
the allocated area. (scfe.c)
|
|
|
6459 |
- The CCITTFaxDecode filter could get an ioerror if a buffer
|
|
|
6460 |
boundary fell in exactly the wrong place. (scfd.c)
|
|
|
6461 |
|
|
|
6462 |
</pre><h3><a name="V3.26_Library"></a>Library</h3><pre>
|
|
|
6463 |
|
|
|
6464 |
Fixes bugs:
|
|
|
6465 |
- The garbage collector didn't trace colored halftones properly.
|
|
|
6466 |
(gzht.h)
|
|
|
6467 |
- The garbage collector didn't relocate the bitmap pointers in
|
|
|
6468 |
halftone caches properly. (gzht.h, gxht.c)
|
|
|
6469 |
|
|
|
6470 |
Adds the ability to transmit dictionaries through the param_list mechanism
|
|
|
6471 |
(specifically, as device parameters). This change is
|
|
|
6472 |
non-backward-compatible only for implementors of parameter lists, which only
|
|
|
6473 |
exist within the Ghostscript core. (gsparam.h, iparam.h, iparam.c)
|
|
|
6474 |
|
|
|
6475 |
Removes the InitialMatrix device property. (gsdparam.c)
|
|
|
6476 |
|
|
|
6477 |
</pre>
|
|
|
6478 |
|
|
|
6479 |
<h2><a name="Version3.25"></a>Version 3.25 (beta) (1/24/95)</h2>
|
|
|
6480 |
|
|
|
6481 |
<p>
|
|
|
6482 |
Yet another bug-fix beta release. There are still at least half a dozen
|
|
|
6483 |
significant known bugs to be fixed before a public release.
|
|
|
6484 |
|
|
|
6485 |
<h3><a name="V3.25_Documentation"></a>Documentation</h3><pre>
|
|
|
6486 |
Notes that on Unix systems, one should not edit 'makefile', but should edit
|
|
|
6487 |
the individual subfile and run tar_cat. THIS IS A NON-BACKWARD-COMPATIBLE
|
|
|
6488 |
CHANGE. (make.doc)
|
|
|
6489 |
|
|
|
6490 |
Adds information on the Macintosh implementation. (readme)
|
|
|
6491 |
|
|
|
6492 |
</pre><h3><a name="V3.25_Procedures"></a>Procedures</h3><pre>
|
|
|
6493 |
Fixes bugs:
|
|
|
6494 |
- make clean failed on Unix systems where rm -f requires at least one
|
|
|
6495 |
file name. (gs.mak)
|
|
|
6496 |
- math_.h was omitted from many dependency lists. (gs.mak)
|
|
|
6497 |
|
|
|
6498 |
</pre><h3><a name="V3.25_Drivers"></a>Drivers</h3><pre>
|
|
|
6499 |
|
|
|
6500 |
Fixes bugs:
|
|
|
6501 |
- The X Windows and MS Windows draw-line routines couldn't possibly
|
|
|
6502 |
produce sufficiently correct output (since the interface only provides integer
|
|
|
6503 |
coordinates). (gdevx.c, gdevwddb.c)
|
|
|
6504 |
|
|
|
6505 |
In response to patent-related actions by Unisys and CompuServe, removes the
|
|
|
6506 |
GIF driver. (*.mak)
|
|
|
6507 |
|
|
|
6508 |
Changes dci_std_color (and std_device_std_color_* and prn_device_std_*) so
|
|
|
6509 |
that if the number of bits per pixel is 32, the device is defined as CMYK
|
|
|
6510 |
rather than RGB. (gxdevice.h)
|
|
|
6511 |
|
|
|
6512 |
Removes the tseng8 device, which is no longer useful. (devs.mak, gdevsvga.c)
|
|
|
6513 |
|
|
|
6514 |
Adds pseudo-alpha support to the SVGA drivers, via the TextAlphaBits and
|
|
|
6515 |
GraphicsAlphaBits device parameters. (gdevsvga.h, gdevsvga.c)
|
|
|
6516 |
|
|
|
6517 |
Adds a user-contributed driver for the Epson Stylus Color printer. (devs.mak,
|
|
|
6518 |
gdevstc.c, devices.doc)
|
|
|
6519 |
|
|
|
6520 |
</pre><h3><a name="V3.25_Platforms"></a>Platforms</h3><pre>
|
|
|
6521 |
|
|
|
6522 |
Fixes bugs:
|
|
|
6523 |
- The VMS build scripts had gotten out of sync (again). (vms*.mak)
|
|
|
6524 |
|
|
|
6525 |
</pre><h3><a name="V3.25_Interpreter"></a>Interpreter</h3><pre>
|
|
|
6526 |
|
|
|
6527 |
Fixes bugs:
|
|
|
6528 |
- The emulator name array was incorrectly declared const in one place.
|
|
|
6529 |
(gs.c)
|
|
|
6530 |
- A closed file could incorrectly appear to be 'eq' to another file
|
|
|
6531 |
(open or closed). (iutil.c)
|
|
|
6532 |
- If %stdin/%stdout/%stderr was ever closed, it couldn't be
|
|
|
6533 |
reopened. (gs_btokn.ps, gs_init.ps, files.h, zfile.c, zfileio.c, zfilter.c,
|
|
|
6534 |
zfproc.c, ziodev.c)
|
|
|
6535 |
|
|
|
6536 |
Changes (almost) all the operator routines to 'static'. (z*.c)
|
|
|
6537 |
|
|
|
6538 |
</pre><h3><a name="V3.25_Library"></a>Library</h3><pre>
|
|
|
6539 |
|
|
|
6540 |
Fixes bugs:
|
|
|
6541 |
- The raster value for replicated tiles in the halftone cache was
|
|
|
6542 |
incorrect, causing unaligned memory accesses. (gxht.c)
|
|
|
6543 |
- stroke and strokepath could produce slightly inaccurate output
|
|
|
6544 |
(leading to slight visible anomalies) as a result of stroke adjustment.
|
|
|
6545 |
(gxstroke.c)
|
|
|
6546 |
- Attempting to draw an arc with zero radius could cause a numeric
|
|
|
6547 |
exception. (gspath1.c)
|
|
|
6548 |
- Setting the Orientation of a device to null resulted in actually
|
|
|
6549 |
setting it to a random value. (gsdparam.c)
|
|
|
6550 |
- charpath, stringwidth, and cshow attempted to remap the current
|
|
|
6551 |
color unnecessarily. (gschar.c)
|
|
|
6552 |
|
|
|
6553 |
Adds the ability to trace calls on the sqrt function (and possibly other math
|
|
|
6554 |
functions in the future.) (math_.h, gsmisc.c)
|
|
|
6555 |
|
|
|
6556 |
Adds additional interrupt checks in the banding code. (gxclist.c, gxclread.c)
|
|
|
6557 |
|
|
|
6558 |
</pre>
|
|
|
6559 |
|
|
|
6560 |
<h2><a name="Version3.24"></a>Version 3.24 (beta) (1/17/95)</h2>
|
|
|
6561 |
|
|
|
6562 |
<p>
|
|
|
6563 |
This was supposed to be a public release, but too many bugs showed up in 3.23,
|
|
|
6564 |
so this is another bug-fix beta release. This is the first release with a
|
|
|
6565 |
working PDF reader.
|
|
|
6566 |
|
|
|
6567 |
<h3><a name="V3.24_Documentation"></a>Documentation</h3><pre>
|
|
|
6568 |
Notes that Solaris requires using installbsd instead of install. (make.doc)
|
|
|
6569 |
|
|
|
6570 |
</pre><h3><a name="V3.24_Procedures"></a>Procedures</h3><pre>
|
|
|
6571 |
|
|
|
6572 |
Changes 'make mostlyclean' so that it doesn't delete the Ghostscript
|
|
|
6573 |
executable (but deletes everything else that 'make clean' does). (gs.mak)
|
|
|
6574 |
|
|
|
6575 |
Changes the link list generator so it eliminates duplicate library requests.
|
|
|
6576 |
(genconf.c)
|
|
|
6577 |
|
|
|
6578 |
Factors the interpreter further so as to include less unnecessary PostScript
|
|
|
6579 |
support in the PDF interpreter. (gs.mak, zpath.c, zpath1.c)
|
|
|
6580 |
|
|
|
6581 |
Adds a printout of the available language interpreters to the -h message.
|
|
|
6582 |
(genconf.c, gs.c, iinit.c, gs.mak)
|
|
|
6583 |
|
|
|
6584 |
</pre><h3><a name="V3.24_Drivers"></a>Drivers</h3><pre>
|
|
|
6585 |
|
|
|
6586 |
Fixes bugs:
|
|
|
6587 |
- The alternate X drivers used a cast in an initializer, causing a
|
|
|
6588 |
compilation error on some platforms. (gdevxalt.c)
|
|
|
6589 |
|
|
|
6590 |
Adds a driver for the LaserJet IIID, including duplex printing if specified by
|
|
|
6591 |
the Duplex page device parameter. (gdevdjet.c)
|
|
|
6592 |
|
|
|
6593 |
Adds Orientation to the bit device. (gdevbit.c)
|
|
|
6594 |
|
|
|
6595 |
</pre><h3><a name="V3.24_Platforms"></a>Platforms</h3><pre>
|
|
|
6596 |
|
|
|
6597 |
Fixes bugs:
|
|
|
6598 |
- There was an extraneous pfen-> in the NT file system module, causing
|
|
|
6599 |
a compilation error. (gp_ntfs.c)
|
|
|
6600 |
- The DLL code referred to an obsolete symbol a_foreign. (gsdll.c)
|
|
|
6601 |
- The VMS build scripts omitted the LaserJet 4 driver. (vms-*.mak)
|
|
|
6602 |
- The VMS build scripts had several other minor errors. (vms.mak)
|
|
|
6603 |
|
|
|
6604 |
</pre><h3><a name="V3.24_Fonts"></a>Fonts</h3><pre>
|
|
|
6605 |
|
|
|
6606 |
Fixes bugs:
|
|
|
6607 |
- Defining a font alias in global VM with a name that was a string in
|
|
|
6608 |
local VM caused an error. (gs_fonts.ps)
|
|
|
6609 |
- The font compiler referred to an obsolete symbol a_foreign.
|
|
|
6610 |
(font2c.ps)
|
|
|
6611 |
|
|
|
6612 |
</pre><h3><a name="V3.24_Interpreter"></a>Interpreter</h3><pre>
|
|
|
6613 |
|
|
|
6614 |
Fixes bugs:
|
|
|
6615 |
- There was an extraneous '#' before an extern declaration.
|
|
|
6616 |
(gsmain.c)
|
|
|
6617 |
- The interpreter could (incorrectly) attempt to expand the e-stack.
|
|
|
6618 |
(istack.h, interp.c, istack.c)
|
|
|
6619 |
- zfproc.c called memcpy but didn't include memory_.h. (zfproc.c)
|
|
|
6620 |
- A garbage collection occurring within a 'save' would often smash
|
|
|
6621 |
memory. (igc.c)
|
|
|
6622 |
- If the last character returned by the procedure of a procedure-based
|
|
|
6623 |
filter was \r, readline could get an endless loop. (zfileio.c)
|
|
|
6624 |
- Saving a change to a ref member of a structure confused the garbage
|
|
|
6625 |
collector. (isave.h, isave.c, zdict.c)
|
|
|
6626 |
- The -Zu debugging printout could cause an access error under rare
|
|
|
6627 |
circumstances. (isave.c)
|
|
|
6628 |
- Save objects could get allocated in global VM, causing dangling
|
|
|
6629 |
references. (zvmem.c)
|
|
|
6630 |
- The vmsave object created by the interpreter for a save didn't get
|
|
|
6631 |
freed properly if the memory manager created an invisible save level, which
|
|
|
6632 |
could cause the next garbage collection to crash. (zvmem.c)
|
|
|
6633 |
- 'run' always printed an error message, rather than letting the
|
|
|
6634 |
top-level control loop do it. (gs.c, gs_init.ps)
|
|
|
6635 |
|
|
|
6636 |
Adds support for duplex devices. (gxdevice.h, gsdparam.c, gs_statd.ps,
|
|
|
6637 |
gs_setpd.ps)
|
|
|
6638 |
|
|
|
6639 |
Adds the beginnings of support for CID-keyed fonts. (gs_cidfn.ps)
|
|
|
6640 |
|
|
|
6641 |
Changes the format of the stack dump printed for errors, to make it easier to
|
|
|
6642 |
read. (gs_init.ps)
|
|
|
6643 |
|
|
|
6644 |
</pre><h3><a name="V3.24_Interpreter_PostScript"></a>Interpreter (PostScript)</h3><pre>
|
|
|
6645 |
|
|
|
6646 |
Fixes bugs:
|
|
|
6647 |
- The .local/global allocation operators always allocated in system
|
|
|
6648 |
VM. (zsysvm.c)
|
|
|
6649 |
- setpage[params] caused an error. (gs_lev2.ps)
|
|
|
6650 |
- If an error occurred during a cshow or (x|y|xy)show, the interpreter
|
|
|
6651 |
freed the enumerator twice. (zchar.c, zchar2.c)
|
|
|
6652 |
|
|
|
6653 |
Changes setpageparams so that orientation = 0 means portrait. This is not
|
|
|
6654 |
compatible with AGFA's convention for roll-feed devices, but it is compatible
|
|
|
6655 |
with the more common cut-sheet printers. (gs_statd.ps)
|
|
|
6656 |
|
|
|
6657 |
Adds meaningful values for the Emulator resource. (gsmain.c, gs_res.ps)
|
|
|
6658 |
|
|
|
6659 |
Makes -Z? validate the state of memory before and after save and restore.
|
|
|
6660 |
(ialloc.h, igc.h, ialloc.c, igc.c, ilocate.c, zvmem.c)
|
|
|
6661 |
|
|
|
6662 |
</pre><h3><a name="V3.24_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
6663 |
|
|
|
6664 |
Fixes bugs:
|
|
|
6665 |
- The Unix install script didn't install the PDF files if they were
|
|
|
6666 |
present. (unix-end.mak)
|
|
|
6667 |
- PDF to PostScript conversion didn't work at all. (It still doesn't
|
|
|
6668 |
work very well.) (pdf_2ps.ps, pdf_main.ps)
|
|
|
6669 |
- Images with an Indexed color space and no Decode entry caused an
|
|
|
6670 |
error. (pdf_draw.ps)
|
|
|
6671 |
- The 'Page <n>' messages were printed even if QUIET was set.
|
|
|
6672 |
(pdf_main.ps)
|
|
|
6673 |
|
|
|
6674 |
Changes the interpreter so that when it encounters an unknown operator, it
|
|
|
6675 |
prints an error message and continues, rather than signalling an error.
|
|
|
6676 |
(pdf_base.ps)
|
|
|
6677 |
|
|
|
6678 |
Makes F a synonym for f if there is nothing on the operand stack, to
|
|
|
6679 |
compensate for a bug in some Adobe software. (pdf_base.ps)
|
|
|
6680 |
|
|
|
6681 |
Changes pdfgetpage so it uses 1-origin rather than 0-origin indexing. THIS IS
|
|
|
6682 |
A NON-BACKWARD-COMPATIBLE CHANGE. (pdf_main.ps)
|
|
|
6683 |
|
|
|
6684 |
</pre><h3><a name="V3.24_Streams"></a>Streams</h3><pre>
|
|
|
6685 |
|
|
|
6686 |
Fixes bugs:
|
|
|
6687 |
- The Group 3 2-D and Group 4 encoders produced incorrect output if a
|
|
|
6688 |
scan line beginning with a black pixel was followed by a scan line beginning
|
|
|
6689 |
with a white pixel. (scfe.c)
|
|
|
6690 |
- A SubFileDecode filter with a count of 1 and a non-empty EOD string
|
|
|
6691 |
would smash memory. (sfilter1.c)
|
|
|
6692 |
|
|
|
6693 |
Updates the DCT filters so they will work with the latest version (5a) of the
|
|
|
6694 |
IJG library. (*.mak, jpeg.mak, sjpegerr.c)
|
|
|
6695 |
|
|
|
6696 |
</pre><h3><a name="V3.24_Library"></a>Library</h3><pre>
|
|
|
6697 |
|
|
|
6698 |
Fixes bugs:
|
|
|
6699 |
- A call with integer parameters to a procedure with floating point
|
|
|
6700 |
arguments didn't work on non-ANSI compilers. (gsimage.c)
|
|
|
6701 |
- Arcs could get turned into polygons if the scaling values in the CTM
|
|
|
6702 |
were very large and the radius was (in user space coordinates) very small.
|
|
|
6703 |
(gspath.c)
|
|
|
6704 |
- The current point was defined when a BuildChar procedure was called.
|
|
|
6705 |
(This bug was documented as fixed in version 2.2!) (gschar.c)
|
|
|
6706 |
|
|
|
6707 |
Adds support for Orientation and Duplex page device parameters, for those
|
|
|
6708 |
devices that support these. (gdevprn.h, gxdevice.h, gsdevice.c, gsdparam.c)
|
|
|
6709 |
|
|
|
6710 |
</pre>
|
|
|
6711 |
|
|
|
6712 |
<h2><a name="Version3.23"></a>Version 3.23 (beta) (1/5/95)</h2>
|
|
|
6713 |
|
|
|
6714 |
<p>
|
|
|
6715 |
This is almost entirely a bug fix release. It also includes a largely working
|
|
|
6716 |
PDF reader. This is intended as the beta test release for the next public
|
|
|
6717 |
release.
|
|
|
6718 |
|
|
|
6719 |
<h3><a name="V3.23_Documentation"></a>Documentation</h3><pre>
|
|
|
6720 |
Fixes bugs:
|
|
|
6721 |
- COPYLEFT, COPYING, NEWS, PUBLIC, README, and the standard Fontmap
|
|
|
6722 |
were omitted from the 3.22 fileset.
|
|
|
6723 |
|
|
|
6724 |
Documents the use of the -oldc switch to work around a compiler crash on
|
|
|
6725 |
the DECstation.
|
|
|
6726 |
|
|
|
6727 |
Expands and clarifies the documentation for building the DesqView/X version
|
|
|
6728 |
with djgcc. (make.doc)
|
|
|
6729 |
|
|
|
6730 |
Adds documentation on the "600x300" H-P inkjet printers, explaining why
|
|
|
6731 |
this alleged higher resolution is not available. (devices.doc)
|
|
|
6732 |
|
|
|
6733 |
Adds to the PUBLIC license a warning that it is not a GNU License, and a
|
|
|
6734 |
requirement to include a copy of or a pointer to the License in any written
|
|
|
6735 |
material. (PUBLIC)
|
|
|
6736 |
|
|
|
6737 |
Documents the fact that Ghostscript *does* attempt to look up files in the
|
|
|
6738 |
current directory first. (use.doc)
|
|
|
6739 |
|
|
|
6740 |
</pre><h3><a name="V3.23_Procedures"></a>Procedures</h3><pre>
|
|
|
6741 |
|
|
|
6742 |
Fixes bugs:
|
|
|
6743 |
- In VMS.MAK, .JPEG should have been changed to .JPEG-5 in a few
|
|
|
6744 |
places. (vms.mak)
|
|
|
6745 |
|
|
|
6746 |
Adds the pjxl300 driver to all configurations that include the other color
|
|
|
6747 |
DeskJet drivers. Replaces pjet and pjetxl with pj and pjxl. (*.mak)
|
|
|
6748 |
|
|
|
6749 |
Makes 'run' recognize PDF files if the PDF reader is included.
|
|
|
6750 |
(pdf_main.ps)
|
|
|
6751 |
|
|
|
6752 |
</pre><h3><a name="V3.23_Utilities"></a>Utilities</h3><pre>
|
|
|
6753 |
|
|
|
6754 |
Fixes bugs:
|
|
|
6755 |
- viewjpeg.ps needed the test for languagelevel = 2 at the
|
|
|
6756 |
beginning of the file. (viewjpeg.ps)
|
|
|
6757 |
- prfont.ps used 'min', which isn't a standard PostScript operator.
|
|
|
6758 |
(prfont.ps)
|
|
|
6759 |
- prfont.ps created Encoding vectors that weren't 256 elements
|
|
|
6760 |
long. (prfont.ps)
|
|
|
6761 |
|
|
|
6762 |
Adds the gsdj500 script to the installation list. (unix-end.mak)
|
|
|
6763 |
|
|
|
6764 |
Changes the Unix "line printer" shell scripts to add the date to the page
|
|
|
6765 |
header. (gsbj, gsdj, gsdj500, gslj)
|
|
|
6766 |
|
|
|
6767 |
Changes ansi2knr so that it will work properly on systems where the ctype
|
|
|
6768 |
macros don't handle 8-bit characters correctly. (ansi2knr.c)
|
|
|
6769 |
|
|
|
6770 |
</pre><h3><a name="V3.23_Drivers"></a>Drivers</h3><pre>
|
|
|
6771 |
|
|
|
6772 |
Fixes bugs:
|
|
|
6773 |
- Some compilers don't allow casts in initialization expressions.
|
|
|
6774 |
(gdevx.c, gdevxalt.c)
|
|
|
6775 |
- The cdj drivers didn't initialize the color_info structure
|
|
|
6776 |
properly. (gdevcdj.c)
|
|
|
6777 |
|
|
|
6778 |
Adds another alternate X Windows driver, x11mono, that is a black-and-white
|
|
|
6779 |
device. (devs.mak, gdevxalt.c)
|
|
|
6780 |
|
|
|
6781 |
Adds a user-contributed driver for the Apple Imagewriter LQ. (devs.mak,
|
|
|
6782 |
gdevadmp.c)
|
|
|
6783 |
|
|
|
6784 |
</pre><h3><a name="V3.23_Platforms"></a>Platforms</h3><pre>
|
|
|
6785 |
|
|
|
6786 |
Fixes bugs:
|
|
|
6787 |
- The VMS MODULES.LIS file had gotten out of sync with the makefile
|
|
|
6788 |
(again); GDEVABUF and GSBITOPS were missing. (modules.lis)
|
|
|
6789 |
- The VMS script file had gotten out of sync with the makefile
|
|
|
6790 |
(again). (vms.mak)
|
|
|
6791 |
- The MS Windows platform code didn't recognize Windows 95 (Windows
|
|
|
6792 |
4.0) as equivalent to Windows NT. (gp_mswin.c)
|
|
|
6793 |
- File name enumeration didn't work on OS/2 or win32. (gp_ntfs.c,
|
|
|
6794 |
gp_os2.c)
|
|
|
6795 |
- -sOutputFile= didn't work under MS Windows. (gp_mswin.c)
|
|
|
6796 |
|
|
|
6797 |
Changes the SCO Unix direct frame buffer driver so it generates in-line
|
|
|
6798 |
instructions to access the frame buffer, for a dramatic speed improvement.
|
|
|
6799 |
(gdevpcfb.h, gdevsco.c)
|
|
|
6800 |
|
|
|
6801 |
</pre><h3><a name="V3.23_Fonts"></a>Fonts</h3><pre>
|
|
|
6802 |
|
|
|
6803 |
Fixes bugs:
|
|
|
6804 |
- If a font couldn't be found in the Fontmap, a recursion loop
|
|
|
6805 |
sometimes occurred. (gs_fonts.ps)
|
|
|
6806 |
- Aliases for global fonts weren't automatically created as global,
|
|
|
6807 |
possibly leading to a recursion loop. (gs_dps1.ps, gs_fonts.ps)
|
|
|
6808 |
- If a font was loaded into global VM within an inner save, the restore
|
|
|
6809 |
deleted it from FontDirectory but not from SharedFontDirectory, causing a
|
|
|
6810 |
possible recursion loop. (gs_dps1.ps, gs_fonts.ps, idict.h, idict.c, zdict.c)
|
|
|
6811 |
|
|
|
6812 |
Further improves the algorithm for substituting for unknown fonts.
|
|
|
6813 |
(gs_fonts.ps)
|
|
|
6814 |
|
|
|
6815 |
</pre><h3><a name="V3.23_Interpreter_PostScript"></a>Interpreter (PostScript)</h3><pre>
|
|
|
6816 |
|
|
|
6817 |
Fixes bugs:
|
|
|
6818 |
- zcontrol.c had an assignment of const char * to const byte *,
|
|
|
6819 |
which some compilers don't like. (zcontrol.c)
|
|
|
6820 |
- Setting an Indexed color space based on a CIE space caused an
|
|
|
6821 |
attempt to free a random block of memory. (zcsindex.c)
|
|
|
6822 |
- Some compilers don't like mixing conditionals and casts in
|
|
|
6823 |
initialization expressions. (iref.h)
|
|
|
6824 |
- Some calculations of table sizes for string garbage collection
|
|
|
6825 |
didn't work if sizeof(long) != 4, leading to smashed strings. (iastate.h,
|
|
|
6826 |
ialloc.c, igcstr.c)
|
|
|
6827 |
- Strings longer than about 7000 bytes smashed their chunk header
|
|
|
6828 |
and confused the garbage collector. (ialloc.c)
|
|
|
6829 |
- Some compilers needed iccfont.c to include strimpl.h.
|
|
|
6830 |
(iccfont.c)
|
|
|
6831 |
- The obsolete file zcspace2.c was still included in the fileset.
|
|
|
6832 |
- If the command line included any @-files that required searching
|
|
|
6833 |
the library path, a limitcheck would occur. (zfile.c)
|
|
|
6834 |
- The insideness testing operators caused a memory access error,
|
|
|
6835 |
because the procedure vector hadn't been updated to provide a default
|
|
|
6836 |
get_alpha_bits procedure. (zupath.c)
|
|
|
6837 |
- gcheck didn't check for stack underflow. (zvmem2.c)
|
|
|
6838 |
- cleardictstack could fail to clear the dictionary stack if the
|
|
|
6839 |
stack had overflowed into additional blocks. (zdict.c)
|
|
|
6840 |
- If the '-' switch was selected, resources weren't released
|
|
|
6841 |
properly on exit. (gs.c)
|
|
|
6842 |
- Setting a Pattern color space based on a CIE space caused an
|
|
|
6843 |
invalid memory access. (zcsindex.c)
|
|
|
6844 |
- The garbage collector didn't treat refs properly on machines with
|
|
|
6845 |
short ints. (igcref.c)
|
|
|
6846 |
- Operators with more than 16 arguments could break the
|
|
|
6847 |
interpreter. (interp.h, iinit.c, interp.c)
|
|
|
6848 |
- save/restore didn't restore the setting of the current allocator
|
|
|
6849 |
VM (local/global). (isstate.h, isave.c)
|
|
|
6850 |
- stdpre.h declared exit as an extern, instead of letting gsmain.c
|
|
|
6851 |
declare it. (stdpre.h, gsmain.c)
|
|
|
6852 |
- gs.c used fputs to print help messages rather than fprintf.
|
|
|
6853 |
(gs.c)
|
|
|
6854 |
- Interrupts failed to re-execute the operation that was
|
|
|
6855 |
interrupted. (interp.c)
|
|
|
6856 |
- Low-resolution CMYK devices didn't use separate screens for each
|
|
|
6857 |
color plane as the default. (gs_init.ps)
|
|
|
6858 |
- filterdict wasn't getting undef'ed at the end of initialization.
|
|
|
6859 |
(gs_init.ps)
|
|
|
6860 |
- gstate operations were broken (bug introduced in 3.02).
|
|
|
6861 |
(zdevice2.c)
|
|
|
6862 |
- resourceforall didn't remove the resource dictionary from the
|
|
|
6863 |
dictionary stack when calling the client-supplied procedure. (gs_res.ps)
|
|
|
6864 |
- currentcolor with an Indexed color space returned a real rather
|
|
|
6865 |
than an integer. (zcolor2.c)
|
|
|
6866 |
- setshared / setglobal left the stack in an unobvious state if
|
|
|
6867 |
they were given a non-Boolean argument. (gs_dps1.ps)
|
|
|
6868 |
- sethalftone followed by currenthalftone returned an invalid value.
|
|
|
6869 |
(zht2.c)
|
|
|
6870 |
- Empty strings produced spurious garbage collector error messages.
|
|
|
6871 |
(gsstruct.h, scommon.h, igc.c, igcstr.c, iname.c)
|
|
|
6872 |
- The garbage collector didn't trace Separation color spaces properly.
|
|
|
6873 |
(gscsepr.c)
|
|
|
6874 |
|
|
|
6875 |
Changes defineresource so that it does not, by default, make instances
|
|
|
6876 |
read-only. (gs_res.ps)
|
|
|
6877 |
|
|
|
6878 |
Adds .{local,global}{array,dict,packedarray,string} operators for creating
|
|
|
6879 |
objects in a specific VM space. (zsysvm.c, gs_dps1.ps)
|
|
|
6880 |
|
|
|
6881 |
Adds definitions of setpage and setpageparams to statusdict. (gs_setpd.ps,
|
|
|
6882 |
gs_statd.ps)
|
|
|
6883 |
|
|
|
6884 |
Alleviates some performance problems in the garbage collector. (igc.c)
|
|
|
6885 |
|
|
|
6886 |
</pre><h3><a name="V3.23_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
6887 |
|
|
|
6888 |
Fixes bugs:
|
|
|
6889 |
- PDF files that used filters with parameters caused a typecheck
|
|
|
6890 |
error because the arguments to 'filter' were reversed. (pdf_base.ps)
|
|
|
6891 |
- The (undocumented) PDF 1.1 ability to specify link and annotation
|
|
|
6892 |
destinations indirectly was not supported. (pdf_main.ps)
|
|
|
6893 |
- The (undocumented) PDF ability to specify a null page in a link
|
|
|
6894 |
destination was not supported. (pdf_main.ps)
|
|
|
6895 |
- The PDF encodings weren't loaded properly in a system with both
|
|
|
6896 |
PS Level 2 and PDF features. (gs_res.ps, gs_init.ps)
|
|
|
6897 |
- If the next line after a stream keyword was blank, the line
|
|
|
6898 |
wasn't skipped, which matters for binary data. (pdf_base.ps)
|
|
|
6899 |
- A Q operator with no matching q operator caused an error.
|
|
|
6900 |
(pdf_draw.ps)
|
|
|
6901 |
- The text position wasn't preserved across a fill or stroke
|
|
|
6902 |
operator. (gs_pdf.ps, pdf_draw.ps)
|
|
|
6903 |
- Embedded Type 3 fonts didn't work. (pdf_base.ps, pdf_draw.ps,
|
|
|
6904 |
pdf_main.ps)
|
|
|
6905 |
- Masked images with no Decode value had their polarity inverted.
|
|
|
6906 |
(pdf_draw.ps)
|
|
|
6907 |
- Embedded Type 1 fonts referenced from within a stream didn't
|
|
|
6908 |
work. (pdf_font.ps)
|
|
|
6909 |
|
|
|
6910 |
Changes the PDF code so that it automatically recognizes PDF files as such.
|
|
|
6911 |
(pdf_main.ps)
|
|
|
6912 |
|
|
|
6913 |
Splits out the PixelDifference filters as a separate "feature". (gs.mak)
|
|
|
6914 |
|
|
|
6915 |
</pre><h3><a name="V3.23_Streams"></a>Streams</h3><pre>
|
|
|
6916 |
|
|
|
6917 |
Fixes bugs:
|
|
|
6918 |
- Closing the primary input stream caused an invalid memory access.
|
|
|
6919 |
(stream.c)
|
|
|
6920 |
- Increasing the size of a buffer within a save resulted in a
|
|
|
6921 |
dangling reference after the restore. (files.h, sfilter.h, zfile.c,
|
|
|
6922 |
zfilter.c)
|
|
|
6923 |
- The garbage collector didn't properly trace streams that referenced
|
|
|
6924 |
strings directly. (stream.h, stream.c, ziodev.c)
|
|
|
6925 |
|
|
|
6926 |
</pre><h3><a name="V3.23_Library"></a>Library</h3><pre>
|
|
|
6927 |
|
|
|
6928 |
Fixes bugs:
|
|
|
6929 |
- An extraneous \ upset some compilers. (gdevabuf.c)
|
|
|
6930 |
- Uncolored Patterns that completely filled their bounding box
|
|
|
6931 |
caused an invalid memory access. (gspcolor.c)
|
|
|
6932 |
- If a color image required clipping, black or white pixels might
|
|
|
6933 |
be rendered with incorrect (random) colors. (gxcpath.c)
|
|
|
6934 |
- Reference counts for color spaces were sometimes set too high, so
|
|
|
6935 |
they would only be freed by restore or garbage collection. (gscolor.c)
|
|
|
6936 |
- The character cache could get confused if the Encoding for the
|
|
|
6937 |
character wasn't a name. (gschar.c)
|
|
|
6938 |
- Character outlines were always rendered with flatness = 0,
|
|
|
6939 |
causing very bad performance for large characters. (gzstate.h, gschar.c,
|
|
|
6940 |
gsimage.c, gxfill.c, gxstroke.c)
|
|
|
6941 |
- If a device (presumably uninitialized) had a
|
|
|
6942 |
color_info.num_components of zero, an invalid memory access could occur.
|
|
|
6943 |
(gsdparam.c)
|
|
|
6944 |
- Intersecting clipping paths that are not both rectangular didn't
|
|
|
6945 |
properly set the outer box of new clipping path, leading to unnecessary
|
|
|
6946 |
computation. (gxcpath.h, gxacpath.c, gxcpath.c)
|
|
|
6947 |
- A call passed false instead of NULL. (gschar.c)
|
|
|
6948 |
- On machines where sizeof returns a long, genarch.c failed.
|
|
|
6949 |
(genarch.c)
|
|
|
6950 |
- xfonts were consulted, incorrectly, even for stroked characters.
|
|
|
6951 |
(gxccman.c)
|
|
|
6952 |
- gstate/currentgstate/setgstate didn't work properly. (gsline.c,
|
|
|
6953 |
gsstate.c)
|
|
|
6954 |
- On CMYK devices needing halftoning, colors with C = M = Y were
|
|
|
6955 |
always converted to gray shades. (gxcmap.c)
|
|
|
6956 |
- Isolated horizontal lines, or the horizontal edges of rectangles,
|
|
|
6957 |
could get drawn with one or both end pixels missing. (gxfill.c)
|
|
|
6958 |
|
|
|
6959 |
Changes the character cache back so it oversamples characters at small
|
|
|
6960 |
sizes. (gschar.c)
|
|
|
6961 |
|
|
|
6962 |
Changes all occurrences of (void)x to discard(x), and defines discard in
|
|
|
6963 |
stdpre.h as a cast to void, to make it possible to pacify compilers that
|
|
|
6964 |
don't accept this construct for some kinds of x. (gpcheck.h, stdpre.h,
|
|
|
6965 |
store.h, gdevmswn.c, gp_mswin.c, gscoord.c, gxclread.c, igc.c, sfile.c,
|
|
|
6966 |
sfileno.c, zcie.c, zht2.c, ziodev.c, zmisc1.c)
|
|
|
6967 |
|
|
|
6968 |
Increases the size of the halftone cache on large-memory machines from 35K
|
|
|
6969 |
to 100K. This substantially improves halftoning performance at higher
|
|
|
6970 |
resolutions. (gxht.c)
|
|
|
6971 |
|
|
|
6972 |
</pre>
|
|
|
6973 |
|
|
|
6974 |
<h2><a name="Version3.22"></a>Version 3.22 (beta) (11/30/94)</h2>
|
|
|
6975 |
|
|
|
6976 |
<p>
|
|
|
6977 |
This is primarily a bug fix release. It also includes limited anti-aliased
|
|
|
6978 |
graphics capability. This release was not distributed to the public.
|
|
|
6979 |
|
|
|
6980 |
<h3><a name="V3.22_Procedures"></a>Procedures</h3><pre>
|
|
|
6981 |
|
|
|
6982 |
Fixes bugs:
|
|
|
6983 |
- The definition of ghost_h was misplaced, so changes in it or its
|
|
|
6984 |
antecedents didn't force recompilation of its dependents. (gs.mak)
|
|
|
6985 |
|
|
|
6986 |
Actually implements the -Z+ switch, for forcing small stack blocks.
|
|
|
6987 |
(interp.c)
|
|
|
6988 |
|
|
|
6989 |
Makes the -dSAFER switch disable the %pipe syntax for file names, even for
|
|
|
6990 |
reading. (gs_init.ps)
|
|
|
6991 |
|
|
|
6992 |
</pre><h3><a name="V3.22_Drivers"></a>Drivers</h3><pre>
|
|
|
6993 |
|
|
|
6994 |
Fixes bugs:
|
|
|
6995 |
- The dfax drivers incorrectly set EncodedByteAlign to false.
|
|
|
6996 |
(gdevdfax.c)
|
|
|
6997 |
- softwareValue and dateTimeValue were declared as byte rather than
|
|
|
6998 |
char. (gdevtfax.c)
|
|
|
6999 |
|
|
|
7000 |
</pre><h3><a name="V3.22_Platforms"></a>Platforms</h3><pre>
|
|
|
7001 |
|
|
|
7002 |
Fixes bugs:
|
|
|
7003 |
- The VMS DEC C compilers declare delete in unixio.h, and doesn't
|
|
|
7004 |
declare unlink anywhere. (stdio_.h)
|
|
|
7005 |
- The VMS compilers declare malloc and free in stdlib.h, which
|
|
|
7006 |
wasn't being included in malloc_.h. (malloc_.h)
|
|
|
7007 |
- The SCO Unix C compiler needs both <sys/time.h> and <time.h>.
|
|
|
7008 |
(time_.h)
|
|
|
7009 |
- The VMS compilers declare abs in stdlib.h, which wasn't being
|
|
|
7010 |
included anywhere. (gshtscr.c)
|
|
|
7011 |
- The definition for A4 paper in VMS-AXP.MAK was incorrect.
|
|
|
7012 |
(vms-axp.mak)
|
|
|
7013 |
|
|
|
7014 |
Renames VMS-AXP.MAK as VMS-DECC.MAK, with some changes that make it
|
|
|
7015 |
appropriate for DEC C on both VAX and AXP platforms. (vms-axp.mak =>
|
|
|
7016 |
vms.decc.mak)
|
|
|
7017 |
|
|
|
7018 |
</pre><h3><a name="V3.22_Fonts"></a>Fonts</h3><pre>
|
|
|
7019 |
|
|
|
7020 |
Fixes bugs:
|
|
|
7021 |
- gs_kanji.ps got an invalidaccess error. (gs_kanji.ps)
|
|
|
7022 |
|
|
|
7023 |
</pre><h3><a name="V3.22_Interpreter"></a>Interpreter</h3><pre>
|
|
|
7024 |
|
|
|
7025 |
Fixes bugs:
|
|
|
7026 |
- An off-by-1 test in the roll operator caused it to smash the
|
|
|
7027 |
stack if the operand stack had overflowed into additional blocks.
|
|
|
7028 |
(zstack.c)
|
|
|
7029 |
- The default CIE color rendering dictionary didn't assume a
|
|
|
7030 |
reasonable intermediate (XYZ) space. (gs_lev2.ps)
|
|
|
7031 |
- CIE color mapping tables weren't traced properly by the garbage
|
|
|
7032 |
collector. (gscie.h, gscie.c, zcie.c)
|
|
|
7033 |
- If the very last character of a file was a ^M, the scanner
|
|
|
7034 |
(incorrectly) signaled a syntaxerror. (iscan.c)
|
|
|
7035 |
- If an operator could return both a typecheck and a
|
|
|
7036 |
stackunderflow, it always returned a stackunderflow, which doesn't match
|
|
|
7037 |
the behavior of Adobe interpreters. (opcheck.h, idparam.c, interp.c,
|
|
|
7038 |
iutil.c, z*.c)
|
|
|
7039 |
- astore, dictstack, and execstack could return a spurious
|
|
|
7040 |
invalidaccess error (or fail to detect an invalid access) if the operand
|
|
|
7041 |
stack had overflowed into additional blocks. (istack.c)
|
|
|
7042 |
- The garbage collector didn't relocate pointers to names! (Bug
|
|
|
7043 |
introduced in 3.20.) (iname.h)
|
|
|
7044 |
- If the dictionary stack overflowed into additional blocks, the
|
|
|
7045 |
cached value pointer for a name could get set incorrectly, and also not get
|
|
|
7046 |
relocated by the garbage collector. (idict.c)
|
|
|
7047 |
- If the dictionary stack overflowed into additional blocks, the
|
|
|
7048 |
post-GC fixup of cached value pointers in names could cause an addressing
|
|
|
7049 |
error. (igc.c)
|
|
|
7050 |
- With the -Z? switch set, the garbage collector could incorrectly
|
|
|
7051 |
report that objects or strings weren't in any chunk. (igc.c)
|
|
|
7052 |
- << /a 1 /a 2 >> /a get gave the value 2 rather than 1.
|
|
|
7053 |
(gs_init.ps)
|
|
|
7054 |
- Numbers in binary object sequences and encoded number arrays
|
|
|
7055 |
didn't work properly on machines where sizeof(short) != 2 or sizeof(long)
|
|
|
7056 |
!= 4. (ibnum.c)
|
|
|
7057 |
- The put operator for dictionaries allowed null as a key.
|
|
|
7058 |
(idict.h, idict.c)
|
|
|
7059 |
- >> didn't give an error if there were an odd number of values on
|
|
|
7060 |
the stack above the next mark. (gs_init.ps)
|
|
|
7061 |
- Operations that explicitly freed ref objects (setting a CIE
|
|
|
7062 |
colorspace, resizing a dictionary, popping a block off a stack) could
|
|
|
7063 |
corrupt storage. (ialloc.c)
|
|
|
7064 |
- The -Z@ switch, which fills freed blocks with a recognizable bit
|
|
|
7065 |
pattern, could incorrectly overwrite freed blocks in previous save levels,
|
|
|
7066 |
causing invalid memory accesses. (ialloc.c)
|
|
|
7067 |
- Since streams freed by a restore weren't marked as free, they
|
|
|
7068 |
could confuse the garbage collector and lead to invalid memory accesses.
|
|
|
7069 |
(zfile.c)
|
|
|
7070 |
- If one of the built-in dictionaries overflowed during
|
|
|
7071 |
initialization, no error was reported -- entries were simply discarded.
|
|
|
7072 |
(iinit.c)
|
|
|
7073 |
- If the level2.dev feature was combined with certain other
|
|
|
7074 |
features, the current languagelevel was 2 when some gs_*.ps files were
|
|
|
7075 |
loaded, causing them to load incorrectly. (gs_btokn.ps, gs_setpd.ps)
|
|
|
7076 |
- If readline read a line that ended with only a CR (no LF)
|
|
|
7077 |
followed by an end-of-file, it incorrectly closed the stream. (zfileio.c)
|
|
|
7078 |
|
|
|
7079 |
Adds a .cond operator, similar to the Lisp multi-arm conditional.
|
|
|
7080 |
(zcontrol.c)
|
|
|
7081 |
|
|
|
7082 |
Adds a .makeglobaloperator operator, allowing the definition of operator
|
|
|
7083 |
procedures in local VM that turn into global operators, provided the save
|
|
|
7084 |
level is zero. (iref.h, opdef.h, iinit.c, interp.c, zmisc.c)
|
|
|
7085 |
|
|
|
7086 |
Note: the fix for returning typecheck vs. stackunderflow requires that all
|
|
|
7087 |
operators (or other code) that uses return_error(e_typecheck) to indicate
|
|
|
7088 |
an incorrect object type on the operand stack must change this to
|
|
|
7089 |
return_op_typecheck(op), where op points to the operand. THIS IS A
|
|
|
7090 |
NON-BACKWARD-COMPATIBLE CHANGE.
|
|
|
7091 |
|
|
|
7092 |
Implements string array and name array parameters for parameter lists.
|
|
|
7093 |
(gsparam.h, iparam.c)
|
|
|
7094 |
|
|
|
7095 |
Brings filterdict inside the INITIAL_DICTIONARIES conditional. (iinit.c)
|
|
|
7096 |
|
|
|
7097 |
Adds a .currentscreenlevels operator that returns the number of
|
|
|
7098 |
distinguishable halftone levels. (zht.c)
|
|
|
7099 |
|
|
|
7100 |
</pre><h3><a name="V3.22_Streams"></a>Streams</h3><pre>
|
|
|
7101 |
|
|
|
7102 |
Fixes bugs:
|
|
|
7103 |
- The 2-D case of CCITTFaxDecode could get confused by an input
|
|
|
7104 |
data buffer boundary that fell immediately after a horizontal code.
|
|
|
7105 |
(scfd.c)
|
|
|
7106 |
- The LZW decoder didn't detect invalid data unless DEBUG was
|
|
|
7107 |
selected at build time. (slzwd.c)
|
|
|
7108 |
|
|
|
7109 |
</pre><h3><a name="V3.22_Library"></a>Library</h3><pre>
|
|
|
7110 |
|
|
|
7111 |
Fixes bugs:
|
|
|
7112 |
- The clipping region accumulator could refer to a clipping
|
|
|
7113 |
rectangle even after it had been freed. (No effect on execution unless the
|
|
|
7114 |
-Z@ switch was selected.) (gxacpath.c)
|
|
|
7115 |
- setbbox expanded the bounding box, but didn't place a limit on
|
|
|
7116 |
further path elements, if the current path wasn't empty. (gsdps1.c)
|
|
|
7117 |
- setbbox didn't make sufficient allowance for rounding.
|
|
|
7118 |
(gsdps1.c)
|
|
|
7119 |
|
|
|
7120 |
Implements the ProcessColorModel parameter (read-only) for all devices.
|
|
|
7121 |
(gsdparam.c)
|
|
|
7122 |
|
|
|
7123 |
Adds a gs_currentscreenlevels procedure that returns the number of
|
|
|
7124 |
distinguishable halftone levels. (gsht.c)
|
|
|
7125 |
|
|
|
7126 |
</pre>
|
|
|
7127 |
|
|
|
7128 |
<h2><a name="Version3.21"></a>Version 3.21 (beta) (11/17/94)</h2>
|
|
|
7129 |
|
|
|
7130 |
<p>
|
|
|
7131 |
This is primarily a bug fix release. It also includes a substantial
|
|
|
7132 |
improvement in the Type 1 font hinting algorithms. This release was not
|
|
|
7133 |
distributed to the public.
|
|
|
7134 |
|
|
|
7135 |
<h3><a name="V3.21_Documentation"></a>Documentation</h3><pre>
|
|
|
7136 |
Fixes bugs:
|
|
|
7137 |
- The `man' page referred to gnu.ghostscript.bug rather than
|
|
|
7138 |
comp.lang.postscript. (gs.1)
|
|
|
7139 |
|
|
|
7140 |
Documents the special entries in operator definition tables that allow
|
|
|
7141 |
switching dictionaries. (opdef.h)
|
|
|
7142 |
|
|
|
7143 |
</pre><h3><a name="V3.21_Procedures"></a>Procedures</h3><pre>
|
|
|
7144 |
|
|
|
7145 |
Moves the definition of JSRCDIR to the individual platform makefiles, to
|
|
|
7146 |
make it easier to change on platforms that don't have file links. (*.mak)
|
|
|
7147 |
|
|
|
7148 |
</pre><h3><a name="V3.21_Utilities"></a>Utilities</h3><pre>
|
|
|
7149 |
|
|
|
7150 |
Fixes bugs:
|
|
|
7151 |
- ansi2knr didn't recognize that a line ending with } couldn't be a
|
|
|
7152 |
function definition. (ansi2knr.c)
|
|
|
7153 |
- ps2epsi always returned an empty bounding box. (ps2epsi,
|
|
|
7154 |
ps2epsi.bat)
|
|
|
7155 |
|
|
|
7156 |
</pre><h3><a name="V3.21_Drivers"></a>Drivers</h3><pre>
|
|
|
7157 |
|
|
|
7158 |
Fixes bugs:
|
|
|
7159 |
- The bitrgb device had an invalid depth of 3. (gdevbit.c)
|
|
|
7160 |
|
|
|
7161 |
Replaces the color mapping code in the X driver with a much faster
|
|
|
7162 |
algorithm, courtesy of Tim Theisen. (gdevx.h, gdevx.c, gdevxini.c)
|
|
|
7163 |
|
|
|
7164 |
</pre><h3><a name="V3.21_Platforms"></a>Platforms</h3><pre>
|
|
|
7165 |
|
|
|
7166 |
Fixes bugs:
|
|
|
7167 |
- Two variable names were misspelled. (gdevpm.c, gp_mswin.c)
|
|
|
7168 |
- It wasn't possible to compile a non-DLL configuration under OS/2.
|
|
|
7169 |
(os2.mak)
|
|
|
7170 |
- Compilation under Microsoft C/C++ 8.0 gave errors. (gp_mswin.h,
|
|
|
7171 |
gp_mswin.c, gshtscr.c)
|
|
|
7172 |
|
|
|
7173 |
Adds some more devices to the OS/2 makefile. (os2.mak)
|
|
|
7174 |
|
|
|
7175 |
</pre><h3><a name="V3.21_Fonts"></a>Fonts</h3><pre>
|
|
|
7176 |
|
|
|
7177 |
Fixes bugs:
|
|
|
7178 |
- wrfont.ps, and hence bdftops, didn't write out the FontType or
|
|
|
7179 |
PaintType. (Bug introduced since 2.6.1) (wrfont.ps)
|
|
|
7180 |
- wrfont.ps omitted a 'begin' and 'end', causing -! or -| to be
|
|
|
7181 |
undefined when the font was loaded. (Bug introduced since 2.6.1)
|
|
|
7182 |
(wrfont.ps)
|
|
|
7183 |
|
|
|
7184 |
</pre><h3><a name="V3.21_Interpreter"></a>Interpreter</h3><pre>
|
|
|
7185 |
|
|
|
7186 |
Fixes bugs:
|
|
|
7187 |
- make_tasv_old called make_tasv_new with extra arguments.
|
|
|
7188 |
(store.h)
|
|
|
7189 |
- currentcacheparams only returned 2 values instead of 3.
|
|
|
7190 |
(zfont.c)
|
|
|
7191 |
- ustroke popped one element too many off the stack if a matrix was
|
|
|
7192 |
supplied. (zupath.c)
|
|
|
7193 |
- inu[eo]fill popped one element too many off the stack.
|
|
|
7194 |
(zupath.c)
|
|
|
7195 |
- The color rendering dictionary was initialized to null rather
|
|
|
7196 |
than a valid dictionary. (gs_lev2.ps)
|
|
|
7197 |
- An invalid IODevice resource named "9" got created. (gs_res.ps)
|
|
|
7198 |
- bytesavailable often caused an error rather than returning -1.
|
|
|
7199 |
(zfileio.c, stream.c)
|
|
|
7200 |
- The insideness testing operators always returned true if the
|
|
|
7201 |
aperture was defined by a user path rather than a point. (zupath.c)
|
|
|
7202 |
- If INITIAL_DICTIONARIES was defined in the makefile, the
|
|
|
7203 |
definition of the initial_dictionaries array was missing a comma.
|
|
|
7204 |
(iinit.c)
|
|
|
7205 |
- Even if userdict appeared in INITIAL_DICTIONARIES, gs_init.ps set
|
|
|
7206 |
its maxlength to 200. (gs_init.ps)
|
|
|
7207 |
- Setting a CIE color space left a garbage value on the stack.
|
|
|
7208 |
(zcie.c)
|
|
|
7209 |
- If a file or filter was opened and then closed, opening a file
|
|
|
7210 |
subsequently within a 'save' could lead to a memory access error in the
|
|
|
7211 |
garbage collector. (zfile.c)
|
|
|
7212 |
- Setting an Indexed or Separation color space could cause a crash
|
|
|
7213 |
either in the garbage collector or when printing out the e-stack.
|
|
|
7214 |
(icsmap.h, zcsindex.c, zcssepr.c)
|
|
|
7215 |
- Invoking a filter with an invalid data source or sink could cause
|
|
|
7216 |
a memory access error (bug introduced in 3.20). (zfilter.c)
|
|
|
7217 |
- Invoking stringwidth on a font whose BuildChar procedure did a
|
|
|
7218 |
save could cause a memory manager error or infinite loop, because
|
|
|
7219 |
stringwidth attempted to use an inapplicable shortcut. (gschar.c)
|
|
|
7220 |
- The bounding box for rendering stroked Type 1 characters didn't
|
|
|
7221 |
take square caps and miter joins into account. (gs_type1.ps)
|
|
|
7222 |
- Invoking filter with DCTDecode or DCTEncode could cause an
|
|
|
7223 |
addressing error if no dictionary argument was supplied. (zfdctd.c,
|
|
|
7224 |
zfdcte.c)
|
|
|
7225 |
- The Generic resource, the Font resource, and half a dozen
|
|
|
7226 |
resources with no predefined instances all shared the same Instances
|
|
|
7227 |
dictionary. (gs_res.ps)
|
|
|
7228 |
- The temporary null device allocated for stringwidth was never
|
|
|
7229 |
freed. (gschar.h, gschar.c, zchar.c)
|
|
|
7230 |
- Internal operators, and structures that might be freed on stack
|
|
|
7231 |
unwinding, could "escape" from the e-stack. (zcontrol.c, ztype.c)
|
|
|
7232 |
- makefont and scalefont didn't properly handle a font whose
|
|
|
7233 |
Encoding had been changed. (bfont.h, zfont.c, zfont2.c)
|
|
|
7234 |
- Type 1 fonts with PaintType = 2 incorrectly checked for an xfont.
|
|
|
7235 |
(gxfont.h, gschar.c, gsfont.c, zchar1.c, zfont1.c, zfont2.c)
|
|
|
7236 |
- Specifying a string argument with -d...=(...) or -d...=<...>
|
|
|
7237 |
would cause an invalidaccess error. (gs.c)
|
|
|
7238 |
- The environment for encapsulated jobs didn't rebind quit to stop
|
|
|
7239 |
in userdict. (gs_lev2.ps)
|
|
|
7240 |
- restore didn't deal properly with open files on the e-stack.
|
|
|
7241 |
(zvmem.c)
|
|
|
7242 |
- Even with the '-' switch, Ghostscript would try to read ahead in
|
|
|
7243 |
the input stream rather than processing input character-by-character.
|
|
|
7244 |
(ziodev.c)
|
|
|
7245 |
- If an error occurred with a unreadable dictionary on any stack,
|
|
|
7246 |
the standard error printer would get into an error loop and exit the
|
|
|
7247 |
interpreter. (gs_init.ps)
|
|
|
7248 |
- The for_roots macro in igc.c used ap rather than mem as its
|
|
|
7249 |
second formal parameter. (This typo had no effect on the executable
|
|
|
7250 |
program.) (igc.c)
|
|
|
7251 |
- If saving the stacks for an error caused a GC request, a value
|
|
|
7252 |
could get stored into an improper variable on the C stack, causing havoc.
|
|
|
7253 |
(interp.c)
|
|
|
7254 |
- setdash checked to make sure that the distance array had read
|
|
|
7255 |
access; Adobe interpreters don't check this. (zgstate.c)
|
|
|
7256 |
- The roots for gs_run_string and gs_interpret weren't registered
|
|
|
7257 |
properly, which could cause a dangling reference in the case of a restore
|
|
|
7258 |
whose save had been done earlier. (gsmain.c, interp.c)
|
|
|
7259 |
|
|
|
7260 |
Adds an OpenOutputFile Boolean device parameter for printer devices; if
|
|
|
7261 |
true, the device opens the OutputFile at the time the device is opened,
|
|
|
7262 |
instead of waiting for the first showpage. This helps with synchronization
|
|
|
7263 |
when the OutputFile is a pipe. (gdevprn.h, gdevprn.c)
|
|
|
7264 |
|
|
|
7265 |
Changes the BEGIN/END_OP_DEFS macros to require an explicit { and } at each
|
|
|
7266 |
use. (gsmain.c, interp.c, z*.c)
|
|
|
7267 |
|
|
|
7268 |
Arranges things so that the operators that the interpreter handles
|
|
|
7269 |
specially are assigned the first N operator indices [internal change only].
|
|
|
7270 |
(interp.h, iinit.c, interp.c)
|
|
|
7271 |
|
|
|
7272 |
Changes the operators max and min to .max and .min, to avoid conflicts with
|
|
|
7273 |
PostScript programs that use these names for variables and also use 'bind'.
|
|
|
7274 |
THIS IS A NON-BACKWARD-COMPATIBLE CHANGE from programs that depend on
|
|
|
7275 |
'bind' binding in these operators; however, we have also defined procedures
|
|
|
7276 |
max and min that just call the operators, which should take care of any
|
|
|
7277 |
ordinary code. (*.ps, zrelbit.c)
|
|
|
7278 |
|
|
|
7279 |
</pre><h3><a name="V3.21_Streams"></a>Streams</h3><pre>
|
|
|
7280 |
|
|
|
7281 |
Fixes bugs:
|
|
|
7282 |
- The pfb_state pointer in the eexecDecode filter state wasn't
|
|
|
7283 |
marked as traceable for the garbage collector. (sfilter.h)
|
|
|
7284 |
- The eexec decoding filter could access invalid memory or return
|
|
|
7285 |
garbage under some conditions. (Bug introduced in 3.12.) (zmisc1.c)
|
|
|
7286 |
- The eexec decoding filter would incorrectly ask for more input if
|
|
|
7287 |
the output buffer was full. (seexec.c)
|
|
|
7288 |
|
|
|
7289 |
</pre><h3><a name="V3.21_Library"></a>Library</h3><pre>
|
|
|
7290 |
|
|
|
7291 |
Fixes bugs:
|
|
|
7292 |
- Some compilers reserve the word 'try'. (gshtscr.c)
|
|
|
7293 |
- Some compilers don't like line continuations (\) within a
|
|
|
7294 |
preprocessor macro formal parameter list. (gdevprn.h, gxdevice.h)
|
|
|
7295 |
- Memory devices created with an inverted palette (0=white,
|
|
|
7296 |
1=black) interchanged white and black in fill operations. (gdevmem1.c)
|
|
|
7297 |
- The 'bits' variable in mem_mono_copy_mono was unused on
|
|
|
7298 |
little-endian machines. (gdevmem1.c)
|
|
|
7299 |
- Some garbage collector procedures were declared 'private'
|
|
|
7300 |
inconsistently. (gscie.c)
|
|
|
7301 |
- The new anti-aliased text capability accidentally caused all
|
|
|
7302 |
characters to be oversampled. (gschar.c)
|
|
|
7303 |
- Type 1 fonts with PaintType = 2 and StrokeWidth = 0 came out with
|
|
|
7304 |
many pixels missing because of oversampling. (gschar.c)
|
|
|
7305 |
- Type 1 font stem hints were not being processed correctly.
|
|
|
7306 |
(gstype1.h, gxtype1.h, gstype1.c, gxhint2.c, gxhint3.c, gxpath.c)
|
|
|
7307 |
- The tracing message for 9/7 composite fonts incorrectly
|
|
|
7308 |
identified them as 1/7 fonts. (gschar0.c)
|
|
|
7309 |
- If a 1/7 or 9/7 composite font was a child of a non-modal font,
|
|
|
7310 |
the font number of the child font was computed incorrectly. (gschar0.c)
|
|
|
7311 |
|
|
|
7312 |
Splits up the various memory devices into one file per depth [internal
|
|
|
7313 |
change only]. (gdevm*.c)
|
|
|
7314 |
|
|
|
7315 |
</pre>
|
|
|
7316 |
|
|
|
7317 |
<h2><a name="Version3.20"></a>Version 3.20 (beta) (10/31/94)</h2>
|
|
|
7318 |
|
|
|
7319 |
<p>
|
|
|
7320 |
This version contains some support for a PDF interpreter; however, the PDF
|
|
|
7321 |
code itself is not ready for release yet. It also includes anti-aliased text
|
|
|
7322 |
capability. This release was not distributed to the public.
|
|
|
7323 |
|
|
|
7324 |
<h3><a name="V3.20_Documentation"></a>Documentation</h3><pre>
|
|
|
7325 |
Notes that the FAQ has moved to smallo.ruhr.de:pub/ghost/gs.faq. (readme)
|
|
|
7326 |
|
|
|
7327 |
Documents various implementation limits. (language.doc)
|
|
|
7328 |
|
|
|
7329 |
</pre><h3><a name="V3.20_Procedures"></a>Procedures</h3><pre>
|
|
|
7330 |
|
|
|
7331 |
Fixes bugs:
|
|
|
7332 |
- bcp.dev wasn't included in the list of dependencies for
|
|
|
7333 |
level1.dev. (gs.mak)
|
|
|
7334 |
|
|
|
7335 |
Changes the printout of version numbers so that it is always A.BC,
|
|
|
7336 |
rather than A.B if C is zero. (gs.c, gs_init.ps)
|
|
|
7337 |
|
|
|
7338 |
</pre><h3><a name="V3.20_Utilities"></a>Utilities</h3><pre>
|
|
|
7339 |
|
|
|
7340 |
Fixes bugs:
|
|
|
7341 |
- font2c didn't correctly handle Metrics or Metrics2 dictionaries
|
|
|
7342 |
whose entries were arrays rather than scalars. (font2c.ps, ccfont.h,
|
|
|
7343 |
iccfont.c)
|
|
|
7344 |
- font2c didn't handle CDevProc. (font2c.ps, ccfont.h, iccfont.c)
|
|
|
7345 |
- genconf could get a stack overflow on small machines.
|
|
|
7346 |
(genconf.c)
|
|
|
7347 |
|
|
|
7348 |
Changes mergeini.ps so it can take arguments on the command line specifying
|
|
|
7349 |
the input and output files. (mergeini.ps)
|
|
|
7350 |
|
|
|
7351 |
Adds a gsdj500 shell script to parallel gsdj500.bat. (gsdj500)
|
|
|
7352 |
|
|
|
7353 |
</pre><h3><a name="V3.20_Drivers"></a>Drivers</h3><pre>
|
|
|
7354 |
|
|
|
7355 |
Fixes bugs:
|
|
|
7356 |
- The X driver didn't mask dynamically assigned colors properly, so
|
|
|
7357 |
it could request the same color over and over again. (gdevx.c)
|
|
|
7358 |
|
|
|
7359 |
Adds two alternate X Windows drivers, for helping debug drivers with other
|
|
|
7360 |
color models:
|
|
|
7361 |
- x11alpha, an RGB device with 4-bit alpha capability (for
|
|
|
7362 |
copy_alpha only);
|
|
|
7363 |
- x11cmyk, a 1-bit-per-component CMYK device.
|
|
|
7364 |
(devs.mak, gdevxalt.c)
|
|
|
7365 |
|
|
|
7366 |
Changes the left margin of the lj4dith driver to 0.26". (gdevcdj.c)
|
|
|
7367 |
|
|
|
7368 |
</pre><h3><a name="V3.20_Platforms"></a>Platforms</h3><pre>
|
|
|
7369 |
|
|
|
7370 |
Fixes bugs:
|
|
|
7371 |
- If <sys/time.h> didn't exist, time_.h didn't always include
|
|
|
7372 |
<time.h>. (time_.h)
|
|
|
7373 |
- The OS/2 platform wouldn't compile. (gdevpm.c)
|
|
|
7374 |
- The auxiliary VMS command files sometimes got blank lines
|
|
|
7375 |
inserted when going through EOL conversion. (vms.mak; delete gs_.com)
|
|
|
7376 |
- The VMS makefiles didn't include the Level 1 operators in
|
|
|
7377 |
level1.dev. (vms.mak)
|
|
|
7378 |
- The VMS gcc makefile didn't handle undefined DEVICE_DEVSn
|
|
|
7379 |
variables properly. (vms*.mak)
|
|
|
7380 |
- The VMS makefiles didn't recognize DEVICE_DEVS{1,2,5,7}.
|
|
|
7381 |
(vms.mak)
|
|
|
7382 |
|
|
|
7383 |
At the request of a Unix expert, changes all the Unix shell scripts to use
|
|
|
7384 |
exec gs ... "$@" rather than gs ... $*. (gsnd, gsbj, gsdj, gslj, gslp)
|
|
|
7385 |
|
|
|
7386 |
Modifies the JPEG library so that it uses 4K less of the automatic data
|
|
|
7387 |
segment in 16-bit environments. (bcwin.mak, jpeg.mak, sjpeg.c, sjpegerr.c)
|
|
|
7388 |
|
|
|
7389 |
Adds the bmp drivers back into the 16-bit MS Windows executable, since they
|
|
|
7390 |
will fit now. (bcwin.mak)
|
|
|
7391 |
|
|
|
7392 |
</pre><h3><a name="V3.20_Fonts"></a>Fonts</h3><pre>
|
|
|
7393 |
|
|
|
7394 |
Makes the font substitution algorithm recognize the word Roman as calling
|
|
|
7395 |
for a serif font. (gs_fonts.ps)
|
|
|
7396 |
|
|
|
7397 |
</pre><h3><a name="V3.20_Interpreters"></a>Interpreters</h3><pre>
|
|
|
7398 |
|
|
|
7399 |
Fixes bugs:
|
|
|
7400 |
- The fix in 3.13 for the inexact function values at 0 didn't work.
|
|
|
7401 |
(zcontrol.c)
|
|
|
7402 |
- Level 1 configurations referenced an undefined procedure
|
|
|
7403 |
gs_currenthalftone. (gsht.c, gsht1.c)
|
|
|
7404 |
- Specifying any device properties (including -r and -g) on the
|
|
|
7405 |
command line caused an error. (gs_init.ps)
|
|
|
7406 |
- The forward declaration of cfont_name_array_create was
|
|
|
7407 |
incorrect. (iccfont.c)
|
|
|
7408 |
- save and restore could get called before the graphics state stack
|
|
|
7409 |
had been initialized properly. (gs_mex_e.ps)
|
|
|
7410 |
- Some encodings weren't loaded properly. (gs.mak, gs_mex_e.ps,
|
|
|
7411 |
gs_mro_e.ps, gs_pdf_e.ps, gs_wan_e.ps)
|
|
|
7412 |
- Zero-height images were allowed, but zero-width images
|
|
|
7413 |
weren't. (zpaint.c)
|
|
|
7414 |
- Neither zero-width nor zero-height images popped their
|
|
|
7415 |
arguments from the operand stack. (zpaint.c)
|
|
|
7416 |
- lib_file_fopen overwrote its file name argument, causing havoc
|
|
|
7417 |
with @-files. (gxiodev.h, gdevpipe.c, gsiodev.c, zfile.c)
|
|
|
7418 |
- The garbage collector got confused if there were any arrays or
|
|
|
7419 |
dictionaries with 8K or more elements. (igcref.c)
|
|
|
7420 |
- >> could leave the stacks in a questionable state if it failed.
|
|
|
7421 |
(gs_init.ps)
|
|
|
7422 |
- The Category resource category didn't implement undefineresource.
|
|
|
7423 |
(gs_res.ps)
|
|
|
7424 |
- When the token operator read the last token from a string, it
|
|
|
7425 |
left an unchanged string on the stack instead of an empty string.
|
|
|
7426 |
(stream.c)
|
|
|
7427 |
- noaccess didn't give an invalidaccess error when applied to the
|
|
|
7428 |
permanent dictionaries. (dstack.h, idict.c, ztype.c)
|
|
|
7429 |
- Overflowing the exec stack wasn't handled properly. (istack.h,
|
|
|
7430 |
istack.c)
|
|
|
7431 |
- The garbage collector cleared the cached value pointers in names,
|
|
|
7432 |
causing interpretation to slow down substantially. (idict.c, igc.c,
|
|
|
7433 |
iname.c)
|
|
|
7434 |
- 0 dict created a dictionary with a maxlength of 1. (idict.c)
|
|
|
7435 |
|
|
|
7436 |
Changes the default size of the execution stack from 150 to 250, to match
|
|
|
7437 |
the Adobe "typical" value. (interp.c)
|
|
|
7438 |
|
|
|
7439 |
Moves the operator definitions out of the automatic data segment.
|
|
|
7440 |
(opdef.h, iinit.c, z*.c)
|
|
|
7441 |
|
|
|
7442 |
Adds operators that allow creation of objects in system space:
|
|
|
7443 |
.systemvmstring, .systemvmarray, .systemvmpackedarray, .systemvmdict,
|
|
|
7444 |
.systemvmcheck. (zsysvm.c)
|
|
|
7445 |
|
|
|
7446 |
Renames gcdefs.h as gscdefs.h.
|
|
|
7447 |
|
|
|
7448 |
Allocates names in system space rather than global space. (gsmain.c)
|
|
|
7449 |
|
|
|
7450 |
Changes the memory manager so that it allows programs to create objects in
|
|
|
7451 |
system space. (iref.h, iutil.h, ivmspace.h, ...)
|
|
|
7452 |
|
|
|
7453 |
Changes the implementation of filters so they appear in their own
|
|
|
7454 |
dictionary named filterdict. (gs_init.ps, z*.c)
|
|
|
7455 |
|
|
|
7456 |
Changes the implementation of color spaces so each one has its own
|
|
|
7457 |
setcolorspace procedure, defined in a new dictionary named
|
|
|
7458 |
colorspacedict. (gs_lev2.ps, z*.c)
|
|
|
7459 |
|
|
|
7460 |
Adds a new debugging switch, $, that always initializes all fields in a
|
|
|
7461 |
ref, in order to keep Purify happy. (store.h)
|
|
|
7462 |
|
|
|
7463 |
</pre><h3><a name="V3.20_Library"></a>Library</h3><pre>
|
|
|
7464 |
|
|
|
7465 |
Fixes bugs:
|
|
|
7466 |
- The page size for image devices was always set to (0, 0).
|
|
|
7467 |
(gsdevice.c)
|
|
|
7468 |
- The PageSize computation in gx_default_put_params could overflow
|
|
|
7469 |
on 16-bit machines. (gsdparam.c)
|
|
|
7470 |
- An omitted 'static' on an initialized array caused a compiler
|
|
|
7471 |
error. (gxccman.c)
|
|
|
7472 |
- If interpolated image rendering was requested but not
|
|
|
7473 |
actually carried out, gs_image_cleanup could attempt to free a random
|
|
|
7474 |
pointer. (gsimage.c)
|
|
|
7475 |
- Some compilers only retain 23 characters of procedure names, but
|
|
|
7476 |
some procedure names weren't unique in the first 23 characters. (gscie.c,
|
|
|
7477 |
gscolor.c, gscolor1.c, gxcmap.c)
|
|
|
7478 |
- The garbage collector didn't trace device colors properly.
|
|
|
7479 |
(gxdcolor.h, gzht.h, gsimage1.c, gspcolor.c, gxcht.c, gxcmap.c, gxdraw.c,
|
|
|
7480 |
gxht.c)
|
|
|
7481 |
- For CMYK devices, the transfer functions were being applied to
|
|
|
7482 |
the CMYK values rather than the complemented RGBW values. (gxcmap.c)
|
|
|
7483 |
- Memory devices used their own color mapping procedures rather
|
|
|
7484 |
than those of the target; this could cause incorrect colors for patterns on
|
|
|
7485 |
devices with more than 1 bit per pixel. (gxdevmem.h, gdevmem1.c, gdevpm.c,
|
|
|
7486 |
gdevprn.c, gdevwdib.c, gschar.c, gsdevice.c, gxccache.c, gxccman.c,
|
|
|
7487 |
gxclip2.c, gxclread.c, gxpcmap.c)
|
|
|
7488 |
- The garbage collector didn't trace image enumerators properly in
|
|
|
7489 |
the image_render_simple case. (gsimage.c)
|
|
|
7490 |
- stroke produced different-looking output for thin (zero-width)
|
|
|
7491 |
lines depending on whether or not clipping was invoked. (gxstroke.c)
|
|
|
7492 |
- If a clipping list changed from multiple rectangles to a single
|
|
|
7493 |
rectangle, it could fail to clip properly thereafter. (gxacpath.c)
|
|
|
7494 |
|
|
|
7495 |
Adds two new device procedures: alpha_bits and copy_alpha. This change is
|
|
|
7496 |
backward-compatible for all existing devices. (gdevmem.h, gxdevice.h,
|
|
|
7497 |
gsdevice.c, gxclip2.c, gxclist.c, gxcpath.c)
|
|
|
7498 |
|
|
|
7499 |
Changes the implementation of color halftones so that, when appropriate, it
|
|
|
7500 |
generates a single cell and uses the device tile_rectangle procedure.
|
|
|
7501 |
(gzht.h, gsht.c, gxcht.c, gxclist.c, gxclread.c)
|
|
|
7502 |
|
|
|
7503 |
Adds partial support for the Orientation page device parameter.
|
|
|
7504 |
(gsdevice.c)
|
|
|
7505 |
|
|
|
7506 |
Adds support for anti-aliased characters using 2 or 4 bits of alpha.
|
|
|
7507 |
(gxfcache.h, gschar.c, gxccache.c)
|
|
|
7508 |
|
|
|
7509 |
</pre>
|
|
|
7510 |
|
|
|
7511 |
<hr>
|
|
|
7512 |
|
|
|
7513 |
<h2><a name="Version3.13"></a>Version 3.13(private) (10/3/94)</h2>
|
|
|
7514 |
|
|
|
7515 |
<p>
|
|
|
7516 |
This release was created for a customer; it was not distributed to the
|
|
|
7517 |
public.
|
|
|
7518 |
|
|
|
7519 |
<h3><a name="V3.13_Documentation"></a>Documentation</h3><pre>
|
|
|
7520 |
Notes in make.doc that the file names in the IJG archive distributed with
|
|
|
7521 |
Ghostscript do not include the gsA.BC/ prefix. (make.doc)
|
|
|
7522 |
|
|
|
7523 |
Adds a cross-reference to make.doc to the Watcom makefiles. (watc.mak,
|
|
|
7524 |
watcwin.mak, wccommon.mak)
|
|
|
7525 |
|
|
|
7526 |
</pre><h3><a name="V3.13_Procedures"></a>Procedures</h3><pre>
|
|
|
7527 |
|
|
|
7528 |
Fixes bugs:
|
|
|
7529 |
- The makefile rule for gconfig.h et al had a couple of blank lines
|
|
|
7530 |
in the middle of it. (gs.mak)
|
|
|
7531 |
|
|
|
7532 |
</pre><h3><a name="V3.13_Utilities"></a>Utilities</h3><pre>
|
|
|
7533 |
|
|
|
7534 |
Fixes bugs:
|
|
|
7535 |
- wrfont.ps didn't add a lenIV entry to the Private dictionary if
|
|
|
7536 |
it was needed. (wrfont.ps)
|
|
|
7537 |
|
|
|
7538 |
Adds a packfile.ps utility that allows compressing multiple files into a
|
|
|
7539 |
single file for environments with very little permanent storage.
|
|
|
7540 |
(gs_pfile.ps, packfile.ps, wrfont.ps)
|
|
|
7541 |
|
|
|
7542 |
</pre><h3><a name="V3.13_Drivers"></a>Drivers</h3><pre>
|
|
|
7543 |
|
|
|
7544 |
Fixes bugs:
|
|
|
7545 |
- The {tiff,fax}{g32d,g4} devices could produce incorrect output.
|
|
|
7546 |
See under Streams below.
|
|
|
7547 |
- The dfax drivers referred to the obsolete structure member
|
|
|
7548 |
EncodedEOLAlign. (gdevdfax.c)
|
|
|
7549 |
|
|
|
7550 |
Changes the default bit order for TIFF/F output to little-endian, which is
|
|
|
7551 |
apparently what the majority of TIFF decoders like best. The bit order for
|
|
|
7552 |
the fax drivers is still big-endian. (gdevdfax.c, gdevtfax.c)
|
|
|
7553 |
|
|
|
7554 |
</pre><h3><a name="V3.13_Platforms"></a>Platforms</h3><pre>
|
|
|
7555 |
|
|
|
7556 |
Fixes bugs:
|
|
|
7557 |
- The VMS build script used -a rather than -w for creating
|
|
|
7558 |
gconfig_.h. (vms.mak)
|
|
|
7559 |
- The VMS build script didn't create gconfigv.h. (vms.mak)
|
|
|
7560 |
- The VMS Fontmap had incorrect entries for the Bitstream Charter
|
|
|
7561 |
fonts. (fontmap.vms)
|
|
|
7562 |
- The VMS MODULES.LIS file assumed the JPEG library files were in
|
|
|
7563 |
directory JPEG rather than JPEG-5. (modules.lis)
|
|
|
7564 |
|
|
|
7565 |
</pre><h3><a name="V3.13_Fonts"></a>Fonts</h3><pre>
|
|
|
7566 |
|
|
|
7567 |
Fixes bugs:
|
|
|
7568 |
- Using DISKFONTS resulted in an invalidaccess error.
|
|
|
7569 |
(gs_fonts.ps)
|
|
|
7570 |
|
|
|
7571 |
</pre><h3><a name="V3.13_Interpreter"></a>Interpreter</h3><pre>
|
|
|
7572 |
|
|
|
7573 |
Fixes bugs:
|
|
|
7574 |
- The standard transfer function considered gray values above
|
|
|
7575 |
roughly 0.994 equivalent to white; 0.999 is a better value. (gs_init.ps)
|
|
|
7576 |
- The transfer, black generation, and undercolor removal functions
|
|
|
7577 |
gave slightly inexact results for an input value of 0. (zcolor.c,
|
|
|
7578 |
zcontrol.c)
|
|
|
7579 |
- setpagedevice gave an /undefined error if it did not recognize a
|
|
|
7580 |
key, rather than ignoring the key. (zdevice.c, gs_init.ps, gs_lev2.ps,
|
|
|
7581 |
gs_setpd.ps)
|
|
|
7582 |
|
|
|
7583 |
Changes .putdeviceparams to take an additional argument, a Boolean that
|
|
|
7584 |
says whether or not unrecognized keys should be reported as /undefined
|
|
|
7585 |
errors. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE; however, no user-written
|
|
|
7586 |
code should be calling .putdeviceparams. (zdevice.c)
|
|
|
7587 |
|
|
|
7588 |
</pre><h3><a name="V3.13_Streams"></a>Streams</h3><pre>
|
|
|
7589 |
|
|
|
7590 |
Fixes bugs:
|
|
|
7591 |
- The Group 3 2-D and Group 4 fax encoders could emit incorrect
|
|
|
7592 |
output. (scfe.c)
|
|
|
7593 |
- The algorithm for constructing optimal Huffman codes could
|
|
|
7594 |
produce invalid codes in some rare cases. (shcgen.c)
|
|
|
7595 |
|
|
|
7596 |
</pre><h3><a name="V3.13_Library"></a>Library</h3><pre>
|
|
|
7597 |
|
|
|
7598 |
Fixes bugs:
|
|
|
7599 |
- Rectangles closed with lineto rather than closepath weren't
|
|
|
7600 |
recognized as rectangles. (This only affected performance, not
|
|
|
7601 |
functionality.) (gxpath2.c)
|
|
|
7602 |
- The xfont lookup_font procedure could get called with a matrix
|
|
|
7603 |
whose translation components had never been initialized. (gxccman.c)
|
|
|
7604 |
- Some compilers don't allow \ in the formal argument list of a
|
|
|
7605 |
preprocessor macro. (gdevprn.h, gxdevice.h)
|
|
|
7606 |
|
|
|
7607 |
</pre>
|
|
|
7608 |
|
|
|
7609 |
<h2><a name="Version3.12"></a>Version 3.12 (9/29/94)</h2>
|
|
|
7610 |
|
|
|
7611 |
<p>
|
|
|
7612 |
This is another bug fix release, the first Level 2 release that we believe
|
|
|
7613 |
is reasonably reliable.
|
|
|
7614 |
|
|
|
7615 |
<h3><a name="V3.12_Documentation"></a>Documentation</h3><pre>
|
|
|
7616 |
|
|
|
7617 |
Adds some text warning about making copies of the makefile. (make.doc)
|
|
|
7618 |
|
|
|
7619 |
</pre><h3><a name="V3.12_Procedures"></a>Procedures</h3><pre>
|
|
|
7620 |
|
|
|
7621 |
Fixes bugs:
|
|
|
7622 |
- There were a number of unnecessary dependencies on $(MAKEFILE) in
|
|
|
7623 |
gs.mak, left over from before the existence of gconfigv.h. (gs.mak)
|
|
|
7624 |
- JPEGSRC was defined in gs.mak rather than in jpeg.mak. (gs.mak,
|
|
|
7625 |
jpeg.mak)
|
|
|
7626 |
|
|
|
7627 |
Changes the version numbering scheme back to A.BC, since people seem to be
|
|
|
7628 |
adapting to the change, and this allows using the version number directly
|
|
|
7629 |
as a MS-DOS directory name. (gconfig.c, gdevtfax.c, gs.c, gs_init.ps)
|
|
|
7630 |
|
|
|
7631 |
Updates the JPEG library to version 5 (official release) of the IJG code.
|
|
|
7632 |
(jpeg/*, jpeg.mak)
|
|
|
7633 |
|
|
|
7634 |
</pre><h3><a name="V3.12_Drivers"></a>Drivers</h3><pre>
|
|
|
7635 |
|
|
|
7636 |
Fixes bugs:
|
|
|
7637 |
- The TIFF/F driver put out invalid PageNumber and Software
|
|
|
7638 |
entries. (gdevtifs.h, gdevtfax.c)
|
|
|
7639 |
- The TIFF/F and fax Group 3 2-D drivers used K=3 and K=5 instead
|
|
|
7640 |
of K=2 and K=4. (gdevtfax.c)
|
|
|
7641 |
- The TIFF/F and fax Group 3 2-D drivers emitted improperly aligned
|
|
|
7642 |
output. (See under Streams below.)
|
|
|
7643 |
- The MS Windows driver didn't resize the window properly in
|
|
|
7644 |
response to changing the device parameters. (gdevmswn.c)
|
|
|
7645 |
|
|
|
7646 |
Because of complementary bugs in various C compilers, changes all the
|
|
|
7647 |
non-printer devices to use a different set of macros. (gdevmem.h,
|
|
|
7648 |
gdevpcfb.h, gdevprn.h, gdevsvga.h, gxdevice.h, gdev{3b1, bgi, herc, l256,
|
|
|
7649 |
pe, pm, sun, vglb, wddb, wdib, wprn, x}.c, gsdevice.c, gxacpath.c,
|
|
|
7650 |
gxclip2.c, gxcpath.c, gxpcmap.c, zupath.c)
|
|
|
7651 |
|
|
|
7652 |
Changes the X11 driver to ignore the "margins" specified by Ghostview.
|
|
|
7653 |
This is apparently necessary for Ghostview to handle landscape display
|
|
|
7654 |
properly. (gdevxini.c)
|
|
|
7655 |
|
|
|
7656 |
Adds a WindowID parameter to the X11 device, to allow setting the window
|
|
|
7657 |
for the output. (gdevx.h, gdevx.c, gdevxini.c)
|
|
|
7658 |
|
|
|
7659 |
</pre><h3><a name="V3.12_Platforms"></a>Platforms</h3><pre>
|
|
|
7660 |
|
|
|
7661 |
Fixes bugs:
|
|
|
7662 |
- The definition of BEGINFILES in os2.mak occurred too late in the
|
|
|
7663 |
file to have the desired effect. (os2.mak)
|
|
|
7664 |
|
|
|
7665 |
</pre><h3><a name="V3.12_Interpreter"></a>Interpreter</h3><pre>
|
|
|
7666 |
|
|
|
7667 |
Fixes bugs:
|
|
|
7668 |
- Updating the list of allocated file objects at a restore didn't
|
|
|
7669 |
clear the prev pointer of the new head, which could cause the garbage
|
|
|
7670 |
collector to encounter an invalid pointer. (Bug introduced by .forgetsave
|
|
|
7671 |
in 3.0.3.) (zfile.c)
|
|
|
7672 |
|
|
|
7673 |
</pre><h3><a name="V3.12_Streams"></a>Streams</h3><pre>
|
|
|
7674 |
|
|
|
7675 |
Fixes bugs:
|
|
|
7676 |
- The CCITTFaxEncode filter with K > 0 and EncodedByteAlign = true
|
|
|
7677 |
incorrectly aligned the 1-D/2-D bit as the last bit of a byte, rather than
|
|
|
7678 |
the first bit. (scfx.h, scfe.c)
|
|
|
7679 |
- eexec could loop indefinitely under certain conditions.
|
|
|
7680 |
(seexec.c)
|
|
|
7681 |
- eexec's algorithm for recognizing text vs. binary encoding didn't
|
|
|
7682 |
work properly in some cases that don't conform to the Adobe Type 1 Font
|
|
|
7683 |
Format documentation. (seexec.c)
|
|
|
7684 |
- Closing a stream didn't clear out the strm and state pointers,
|
|
|
7685 |
which could cause invalid accesses by the garbage collector. (stream.c)
|
|
|
7686 |
|
|
|
7687 |
</pre><h3><a name="V3.12_Library"></a>Library</h3><pre>
|
|
|
7688 |
|
|
|
7689 |
Fixes bugs:
|
|
|
7690 |
- fill_loop could loop indefinitely under certain conditions.
|
|
|
7691 |
(Introduced by a bug fix in 3.1.) (gxfill.c)
|
|
|
7692 |
- fill/eofill sometimes failed to paint parts of a region.
|
|
|
7693 |
(Introduced by a bug fix in 3.1.1.) (gxfill.c)
|
|
|
7694 |
- Non-convex clipping paths sometimes omitted thin horizontal
|
|
|
7695 |
slivers of the region. (Probably introduced by the "thin graphics" fix in
|
|
|
7696 |
3.1.) (gxacpath.c)
|
|
|
7697 |
|
|
|
7698 |
</pre>
|
|
|
7699 |
|
|
|
7700 |
<h2><a name="Version3.1.1"></a>Version 3.1.1 (9/25/94)</h2>
|
|
|
7701 |
|
|
|
7702 |
<p>
|
|
|
7703 |
This is primarily a bug fix release. It was originally intended for some
|
|
|
7704 |
commercial licensees, but beta testers found too many problems with it.
|
|
|
7705 |
|
|
|
7706 |
<h3><a name="V3.1.1_Documentation"></a>Documentation</h3><pre>
|
|
|
7707 |
|
|
|
7708 |
Fixes bugs:
|
|
|
7709 |
- NEWS didn't indicate that there was a non-backward-compatible
|
|
|
7710 |
change in the gx_device structure -- specifically, that l_margin,
|
|
|
7711 |
b_margin, r_margin, and t_margin were replaced by macros named
|
|
|
7712 |
dev_l_margin(dev), etc. (news)
|
|
|
7713 |
|
|
|
7714 |
Describes the two-phase commit requirement for device put_params
|
|
|
7715 |
procedures. (drivers.doc, gsparam.h)
|
|
|
7716 |
|
|
|
7717 |
</pre><h3><a name="V3.1.1_Procedures"></a>Procedures</h3><pre>
|
|
|
7718 |
|
|
|
7719 |
Fixes bugs:
|
|
|
7720 |
- The new S macro in genarch.c didn't work on compilers that do
|
|
|
7721 |
macro substitution within string constants (which is forbidden by the ANSI
|
|
|
7722 |
standard). (genarch.c)
|
|
|
7723 |
|
|
|
7724 |
</pre><h3><a name="V3.1.1_Drivers"></a>Drivers</h3><pre>
|
|
|
7725 |
|
|
|
7726 |
Fixes bugs:
|
|
|
7727 |
- Driver put_params implementations didn't observe a "two-phase
|
|
|
7728 |
commit" discipline; this could lead to the current device in the graphics
|
|
|
7729 |
state being closed, and other inconsistencies. (gsparam.h, gxdevice.h,
|
|
|
7730 |
iparam.h, gdevbit.c, gdevcdj.c, gdevmswn.c, gdevpcfb.c, gdevpm.c,
|
|
|
7731 |
gdevprn.c, gdevx.c, gsdevice.c, gsdparam.c, zdevice.c, ziodev2.c, zmisc2.c)
|
|
|
7732 |
THIS IS A NON-BACKWARD-COMPATIBLE CHANGE; however, it only affects
|
|
|
7733 |
put_params implementations, of which there are few.
|
|
|
7734 |
|
|
|
7735 |
NOTE THE NON-BACKWARD-COMPATIBLE CHANGE IN THE gx_device STRUCTURE UNDER
|
|
|
7736 |
'Documentation' ABOVE. (gdevescp.c, gdevsj48.c, gdevsppr.c, gdevxini.c)
|
|
|
7737 |
|
|
|
7738 |
</pre><h3><a name="V3.1.1_Platforms"></a>Platforms</h3><pre>
|
|
|
7739 |
|
|
|
7740 |
Ensures that the Unix makefiles all include all the variants of TIFF/F and
|
|
|
7741 |
fax drivers. (ansihead.mak, cc-head.mak, gcc-head.mak)
|
|
|
7742 |
|
|
|
7743 |
</pre><h3><a name="V3.1.1_Interpreter"></a>Interpreter</h3><pre>
|
|
|
7744 |
|
|
|
7745 |
Fixes bugs:
|
|
|
7746 |
- Most of the contents of statusdict were missing when
|
|
|
7747 |
running a Level 2 system in Level 1 mode. (zmisc2.c)
|
|
|
7748 |
|
|
|
7749 |
</pre>
|
|
|
7750 |
|
|
|
7751 |
<h2><a name="Version3.1"></a>Version 3.1 (9/20/94)</h2>
|
|
|
7752 |
|
|
|
7753 |
<p>
|
|
|
7754 |
This release finally includes a usable subset implementation of
|
|
|
7755 |
setpagedevice, including all the machinery needed to address the
|
|
|
7756 |
long-standing "margins" problems.
|
|
|
7757 |
|
|
|
7758 |
<h3><a name="V3.1_Documentation"></a>Documentation</h3><pre>
|
|
|
7759 |
|
|
|
7760 |
Fixes bugs:
|
|
|
7761 |
- t_oparray objects weren't identified as behaving differently
|
|
|
7762 |
depending on whether they were marked executable. (iref.h)
|
|
|
7763 |
- drivers.doc had gx_color_value instead of gx_color_index in
|
|
|
7764 |
the description of color mapping. (drivers.doc)
|
|
|
7765 |
|
|
|
7766 |
Updates drivers.doc to reflect the change from static_procs to
|
|
|
7767 |
std_procs in the gx_device structure. (drivers.doc)
|
|
|
7768 |
|
|
|
7769 |
</pre><h3><a name="V3.1_Procedures"></a>Procedures</h3><pre>
|
|
|
7770 |
|
|
|
7771 |
Fixes bugs:
|
|
|
7772 |
- The commands for building the JPEG library used rm instead
|
|
|
7773 |
of rm -f. (jpeg.mak)
|
|
|
7774 |
|
|
|
7775 |
</pre><h3><a name="V3.1_Drivers"></a>Drivers</h3><pre>
|
|
|
7776 |
|
|
|
7777 |
Fixes bugs:
|
|
|
7778 |
- The X Windows driver hadn't been updated to reflect some
|
|
|
7779 |
name changes in members of the gx_color_info structure. (gdevx.h,
|
|
|
7780 |
gdevx.c, gdevxini.c)
|
|
|
7781 |
|
|
|
7782 |
Changes all non-printer drivers so that they use the new std_device_body
|
|
|
7783 |
macros. (gdev*.c)
|
|
|
7784 |
|
|
|
7785 |
Adds a print_page_copies procedure for printer drivers, allowing the
|
|
|
7786 |
driver to receive num_copies. (gdevprn.h, gdevprn.c)
|
|
|
7787 |
|
|
|
7788 |
</pre><h3><a name="V3.1_Interpreter"></a>Interpreter</h3><pre>
|
|
|
7789 |
|
|
|
7790 |
Fixes bugs:
|
|
|
7791 |
- ref_memory_enum/reloc_ptrs were declared inconsistently.
|
|
|
7792 |
(ialloc.c)
|
|
|
7793 |
- If the operand of restore was invalid, the restore did
|
|
|
7794 |
nothing, instead of giving a typecheck. (zvmem.c)
|
|
|
7795 |
- In Level 2, the margins and setmargins compatibility
|
|
|
7796 |
operators were defined incorrectly in terms of current/setpagedevice.
|
|
|
7797 |
(gs_lev2.ps)
|
|
|
7798 |
|
|
|
7799 |
Enables .makeoperator to make local operators as well as global ones.
|
|
|
7800 |
(opdef.h, iinit.c, zmisc.c, zpacked.c)
|
|
|
7801 |
|
|
|
7802 |
Finishes implementing the TransferFunction entry in halftone
|
|
|
7803 |
dictionaries. (zht1.c, zht2.c)
|
|
|
7804 |
|
|
|
7805 |
Adds .set/currentfilladjust operators for access to the fill
|
|
|
7806 |
adjustment parameter in the graphics state. (zgstate.h)
|
|
|
7807 |
|
|
|
7808 |
Removes the deviceinitialmatrix operator. (zdevice.c)
|
|
|
7809 |
|
|
|
7810 |
Changes defaultmatrix from a procedure to an operator. (zmatrix.c)
|
|
|
7811 |
|
|
|
7812 |
Sets the fill adjustment to 0.5 for high-resolution devices, effectively
|
|
|
7813 |
implementing Adobe's any-part-of-pixel filling rule. (gs_init.ps)
|
|
|
7814 |
|
|
|
7815 |
Implements a small but useful subset of setpagedevice. (gs_lev2.ps)
|
|
|
7816 |
|
|
|
7817 |
</pre><h3><a name="V3.1_Streams"></a>Streams</h3><pre>
|
|
|
7818 |
|
|
|
7819 |
Fixes bugs:
|
|
|
7820 |
- The eexec decoder incorrectly concluded that its data was
|
|
|
7821 |
in hex form if the first data character was whitespace. (seexec.c)
|
|
|
7822 |
|
|
|
7823 |
</pre><h3><a name="V3.1_Library"></a>Library</h3><pre>
|
|
|
7824 |
|
|
|
7825 |
Fixes bugs:
|
|
|
7826 |
- Thin graphics (e.g., lines or rectangles) with small angles
|
|
|
7827 |
relative to the X axis rendered with many points missing. (gxdraw.c,
|
|
|
7828 |
gxfill.c)
|
|
|
7829 |
- The character cache rejected oversampled characters if the
|
|
|
7830 |
scaled-up size was too large, even if the scaled-down size wasn't.
|
|
|
7831 |
(gxchar.h, gschar.c, gxccache.c, gxccman.c)
|
|
|
7832 |
- A call on sqrt with an integer argument didn't promote it
|
|
|
7833 |
explicitly to double, which is required for non-ANSI compilers.
|
|
|
7834 |
(gshtscr.c)
|
|
|
7835 |
|
|
|
7836 |
Finishes implementing the TransferFunction entry in halftone
|
|
|
7837 |
dictionaries. (gsht1.c)
|
|
|
7838 |
|
|
|
7839 |
Modifies the character oversampler so it can produce gray scale
|
|
|
7840 |
output instead of a 1-bit mask. We don't actually make use of this
|
|
|
7841 |
ability yet. (gxccman.c)
|
|
|
7842 |
|
|
|
7843 |
Adds gs_set/currentfilladjust for access to the fill adjustment
|
|
|
7844 |
parameter in the graphics state. (gsstate.h, gsstate.c)
|
|
|
7845 |
|
|
|
7846 |
Changes the names of the last few routines beginning with gz_ to
|
|
|
7847 |
begin with gx_ instead. (gzdraw.h => gxdraw.h, gsimage*.c, gxdraw.c,
|
|
|
7848 |
gxfill.c, gxstroke.c)
|
|
|
7849 |
|
|
|
7850 |
Properly implements the PageSize, Margins, .HWMargins, and ImagingBBox
|
|
|
7851 |
device parameters for all devices. (gscoord.c, gsdparam.c, gspath2.c)
|
|
|
7852 |
Implements the NumCopies device parameter for printer devices.
|
|
|
7853 |
(gdevprn.c)
|
|
|
7854 |
|
|
|
7855 |
Implements std_device_body macros to help insulate statically initialized
|
|
|
7856 |
non-printer devices from future changes in the gx_device structure.
|
|
|
7857 |
(gxdevice.h, ... many .c files ...)
|
|
|
7858 |
|
|
|
7859 |
</pre>
|
|
|
7860 |
|
|
|
7861 |
<hr>
|
|
|
7862 |
|
|
|
7863 |
<h2><a name="Version3.0.3"></a>Version 3.0.3 (9/16/94)</h2>
|
|
|
7864 |
|
|
|
7865 |
<p>
|
|
|
7866 |
This is primarily a bug fix release; it also implements most of the
|
|
|
7867 |
remaining Level 2 loose ends (except for setpagedevice).
|
|
|
7868 |
|
|
|
7869 |
<h3><a name="V3.0.3_Documentation"></a>Documentation</h3><pre>
|
|
|
7870 |
|
|
|
7871 |
Changes code that refers to "Ghostscript" to use the correct product
|
|
|
7872 |
name from gs_product. (gs.mak, gdevpbm.c, gdevsun.c, gswppm.c)
|
|
|
7873 |
|
|
|
7874 |
Documents the new .forgetsave operator. (language.doc)
|
|
|
7875 |
|
|
|
7876 |
Clarifies the distinction between commercial licensing and single-copy
|
|
|
7877 |
end-user sales. (readme)
|
|
|
7878 |
|
|
|
7879 |
</pre><h3><a name="V3.0.3_Procedures"></a>Procedures</h3><pre>
|
|
|
7880 |
|
|
|
7881 |
Fixes bugs:
|
|
|
7882 |
- The compilation rule for gdevadmp.c was missing from the
|
|
|
7883 |
makefile. (devs.mak)
|
|
|
7884 |
|
|
|
7885 |
Changes the version numbering scheme back to A.B.C, since too many
|
|
|
7886 |
people got confused by the change to A.BC. (gconfig.c, gs.c,
|
|
|
7887 |
gs_init.ps)
|
|
|
7888 |
|
|
|
7889 |
Adds a -dNOGC switch to prevent the garbage collector from being
|
|
|
7890 |
enabled. (gs_init.ps)
|
|
|
7891 |
|
|
|
7892 |
</pre><h3><a name="V3.0.3_Utilities"></a>Utilities</h3><pre>
|
|
|
7893 |
|
|
|
7894 |
Removes the ps2image utility, since the new psmono driver replaces it.
|
|
|
7895 |
|
|
|
7896 |
</pre><h3><a name="V3.0.3_Drivers"></a>Drivers</h3><pre>
|
|
|
7897 |
|
|
|
7898 |
Fixes bugs:
|
|
|
7899 |
- The TIFF drivers incorrectly assumed that short and ulong
|
|
|
7900 |
were the same size as TIFF_short and TIFF_ulong, causing problems on
|
|
|
7901 |
64-bit systems. (gdevtfax.c)
|
|
|
7902 |
- The EGA/VGA driver didn't do gray halftones properly if it
|
|
|
7903 |
was configured as a monochrome or 8-color device. (gdevpcfb.h)
|
|
|
7904 |
- The comment in gdevevga.c incorrectly identified the file
|
|
|
7905 |
as gdevpcfb.c. (gdevevga.c)
|
|
|
7906 |
|
|
|
7907 |
Changes the PC display drivers to save and restore more of the BIOS
|
|
|
7908 |
state. (gdevpcfb.h, gdevevga.c, gdevpcfb.c, gdevsco.c)
|
|
|
7909 |
|
|
|
7910 |
Adds a new psmono driver that does the same thing as ps2image, faster
|
|
|
7911 |
and more conveniently. (gdevpsim.c)
|
|
|
7912 |
|
|
|
7913 |
Replaces the X11 driver with the one from 3.01, since the color
|
|
|
7914 |
handling rewrite in 3.02 introduced serious bugs. (gdevx.h, gdevx.c,
|
|
|
7915 |
gdevxini.c)
|
|
|
7916 |
|
|
|
7917 |
</pre><h3><a name="V3.0.3_Platforms"></a>Platforms</h3><pre>
|
|
|
7918 |
|
|
|
7919 |
Changes the definition of gx_no_color_index to work around one of the
|
|
|
7920 |
bugs in the SGI Irix compiler. (gxdcolor.h)
|
|
|
7921 |
|
|
|
7922 |
Rewrites the installation commands in unix-end.mak so they don't have
|
|
|
7923 |
very long lines. (unix-end.mak)
|
|
|
7924 |
|
|
|
7925 |
</pre><h3><a name="V3.0.3_Fonts"></a>Fonts</h3><pre>
|
|
|
7926 |
|
|
|
7927 |
Fixes bugs:
|
|
|
7928 |
- Fonts that used 2- or 4-element arrays in the Metrics dictionary
|
|
|
7929 |
interpreted the width and side bearing interchanged with each other.
|
|
|
7930 |
(gs_type1.ps)
|
|
|
7931 |
- Setting FONTPATH on the command line didn't work. (gs_fonts.ps)
|
|
|
7932 |
|
|
|
7933 |
</pre><h3><a name="V3.0.3_Streams"></a>Streams</h3><pre>
|
|
|
7934 |
|
|
|
7935 |
Fixes bugs:
|
|
|
7936 |
- The stream position wasn't updated properly if sgets
|
|
|
7937 |
crossed a buffer boundary. (stream.c)
|
|
|
7938 |
|
|
|
7939 |
Extends the BoundedHuffman filters so they can encode and decode runs of
|
|
|
7940 |
zeros specially, and so they mark and detect EOD. (sbhc.h, shc.h, sbhc.c,
|
|
|
7941 |
zfilter2.c)
|
|
|
7942 |
|
|
|
7943 |
Provides an alternate implementation of file streams which doesn't use
|
|
|
7944 |
stdio buffering and which works around the System V "interrupted system
|
|
|
7945 |
call" problem. (stream.c, sfile.c, sfileno.c)
|
|
|
7946 |
|
|
|
7947 |
Increases the maximum LZW output code from 3000 to 4095. (slzwe.c)
|
|
|
7948 |
|
|
|
7949 |
</pre><h3><a name="V3.0.3_Interpreter"></a>Interpreter</h3><pre>
|
|
|
7950 |
|
|
|
7951 |
Fixes bugs:
|
|
|
7952 |
- Opening a filter on a file of the wrong access type (read
|
|
|
7953 |
vs. write) didn't cause an error. (stream.h, sbasic.c, zfile.c, zfileio.c)
|
|
|
7954 |
- save performed an extra, unnecessary gsave. (zvmem.c)
|
|
|
7955 |
- sethalftone always gave a /undefined error. (zht2.c)
|
|
|
7956 |
- eexec decryption read too much data from the input -- in
|
|
|
7957 |
Level 2, it isn't allowed to read 512 characters ahead. (sfilter.h,
|
|
|
7958 |
strimpl.h, seexec.c, sstring.c, zfileio.c, zmisc1.c)
|
|
|
7959 |
- The scanner was too aggressive about allocating additional
|
|
|
7960 |
space for strings on small machines. (iscan.c)
|
|
|
7961 |
- The AccurateScreens flag in Type 1 and Type 2 halftone
|
|
|
7962 |
dictionaries was being ignored. (zht2.c)
|
|
|
7963 |
- The Level 2 definition of margins in statusdict didn't
|
|
|
7964 |
allow for Margins being undefined in the current page device.
|
|
|
7965 |
(gs_lev2.ps)
|
|
|
7966 |
- The Interpolate flag was being ignored in image
|
|
|
7967 |
dictionaries. [implemented in library]
|
|
|
7968 |
- The TransferFunction option was being ignored in halftone
|
|
|
7969 |
dictionaries. (zht2.c)
|
|
|
7970 |
- Type 5 halftones usually didn't work, because they called
|
|
|
7971 |
the wrong (or an invalid) spot function. (zht2.c)
|
|
|
7972 |
|
|
|
7973 |
Implements a .forgetsave operator that effectively causes a given save (and
|
|
|
7974 |
all more recent saves) to disappear. (isave.h, stream.h, isave.c, zfile.c,
|
|
|
7975 |
zvmem.c)
|
|
|
7976 |
|
|
|
7977 |
</pre><h3><a name="V3.0.3_Library"></a>Library</h3><pre>
|
|
|
7978 |
|
|
|
7979 |
Fixes bugs:
|
|
|
7980 |
- In the 1-operand form of the image operator, a Decode value of [1
|
|
|
7981 |
0] with 8-bit sample values and a single data source was treated the same
|
|
|
7982 |
as [0 1]. (gsimage1.c)
|
|
|
7983 |
- Some Monotype fonts put a callsubr between an OtherSubr call and
|
|
|
7984 |
the following 'pop' opcodes (which the Adobe documentation forbids); The
|
|
|
7985 |
Type 1 font interpreter gave an invalidfont error rather than allowing
|
|
|
7986 |
this. (gxtype1.h, gstype1.c)
|
|
|
7987 |
- Patterns didn't implement XStep and YStep properly.
|
|
|
7988 |
(gxpcolor.h, gspcolor.c, gxclip2.c)
|
|
|
7989 |
- Clipping regions were sometimes 1 pixel too small at the edges;
|
|
|
7990 |
this could cause vertical and horizontal lines produced by certain Windows
|
|
|
7991 |
drivers to disappear. (gzpath.h, gxacpath.c, gxcpath.c, gxfill.c)
|
|
|
7992 |
- Oversampling cached rotated characters produced very bad
|
|
|
7993 |
results (many dropouts). (gschar.c)
|
|
|
7994 |
- Rendering a DeviceGray color on a DeviceCMYK device applied
|
|
|
7995 |
the transfer function to all 4 components, not just to the K
|
|
|
7996 |
component. (gxcmap.c)
|
|
|
7997 |
- A screen specified with setcolorscreen didn't take effect
|
|
|
7998 |
properly on CMYK devices. (gsht.c)
|
|
|
7999 |
|
|
|
8000 |
Implements the Interpolate option for images. Currently this is only
|
|
|
8001 |
implemented for portrait-orientation images (no rotation, skewing, or
|
|
|
8002 |
X-reflection). (gscspace.h, gximage.h, gscie.c, gscolor.c, gscolor1.c,
|
|
|
8003 |
gscolor2.c, gspcolor.c, gxcmap.c, gsimage.c, gsimage2.c, gsimage3.c)
|
|
|
8004 |
|
|
|
8005 |
Implements AccurateScreens, but only in the form of a larger limit on
|
|
|
8006 |
the size of a halftone super-cell. (gxht.h, gsht.c, gsht1.c)
|
|
|
8007 |
|
|
|
8008 |
Starts to implement the TransferFunction option for halftones.
|
|
|
8009 |
(gzht.h, gzstate.h, gsht.c, ...too many others to list...)
|
|
|
8010 |
|
|
|
8011 |
</pre>
|
|
|
8012 |
|
|
|
8013 |
<h2><a name="Version3.02"></a>Version 3.02 (8/30/94)</h2>
|
|
|
8014 |
|
|
|
8015 |
<p>
|
|
|
8016 |
This is another bug fix release. It was distributed only to a few people,
|
|
|
8017 |
since the new X Windows color mapping code is not reliable yet.
|
|
|
8018 |
|
|
|
8019 |
<h3><a name="V3.02_Documentation"></a>Documentation</h3><pre>
|
|
|
8020 |
|
|
|
8021 |
Fixes bugs:
|
|
|
8022 |
- make.doc, but not unixtail.mak, called for setting PLATFORM=unix_
|
|
|
8023 |
on SVR4 platforms. (unixtail.mak)
|
|
|
8024 |
- drivers.doc contained some wording that suggested that
|
|
|
8025 |
Ghostscript always used RGB colors internally. (drivers.doc)
|
|
|
8026 |
- The definition of gx_device in drivers.doc had gotten out of sync
|
|
|
8027 |
with gxdevice.h. (drivers.doc)
|
|
|
8028 |
- README claimed that Ghostscript is not compatible with the
|
|
|
8029 |
VAX/VMS DEC C compiler, which is no longer true. (readme)
|
|
|
8030 |
|
|
|
8031 |
Adds a new section on printer drivers to drivers.doc. (drivers.doc)
|
|
|
8032 |
|
|
|
8033 |
Adds a large number of new display boards to the 800x600 SVGA section of
|
|
|
8034 |
use.doc. (use.doc)
|
|
|
8035 |
|
|
|
8036 |
Adds a bug report form to the README file. (readme)
|
|
|
8037 |
|
|
|
8038 |
Notes that OSF/1 AXP systems require changing the definition of INSTALL
|
|
|
8039 |
from install to installbsd. (make.doc)
|
|
|
8040 |
|
|
|
8041 |
</pre><h3><a name="V3.02_Procedures"></a>Procedures</h3><pre>
|
|
|
8042 |
|
|
|
8043 |
Removes -Wno-uninitialized from the gcc flags, and fixes all the places (in
|
|
|
8044 |
Aladdin's code only) that need to be fixed to pacify gcc after doing this.
|
|
|
8045 |
(gcc-head.mak, gdevgif.c, gdevmem2.c, gdevpcl.c, gs.c, gsht1.c, gsimpath.c,
|
|
|
8046 |
gsutil.c, gxclread.c, gxpcopy.c, gxstroke.c, idict.c, iscannum.c, stream.c,
|
|
|
8047 |
zdevice2.c) (NOT FINISHED YET)
|
|
|
8048 |
|
|
|
8049 |
Adds a FAKEFONTS switch that makes fake entries in FontDirectory for
|
|
|
8050 |
unloaded fonts, for the benefit of programs that think they can find all
|
|
|
8051 |
the available fonts by scanning FontDirectory. (gs_fonts.ps, gs_init.ps)
|
|
|
8052 |
|
|
|
8053 |
</pre><h3><a name="V3.02_Utilities"></a>Utilities</h3><pre>
|
|
|
8054 |
|
|
|
8055 |
Fixes bugs:
|
|
|
8056 |
- ps2epsi didn't work, because setdevice now erases the page.
|
|
|
8057 |
(ps2epsi.ps)
|
|
|
8058 |
- ps2epsi didn't work, because -dNODISPLAY installs a null device
|
|
|
8059 |
with 0 width and height. The fix -- to remove the -dNODISPLAY -- is not
|
|
|
8060 |
satisfactory, because it opens an unnecessary window. (ps2epsi)
|
|
|
8061 |
|
|
|
8062 |
</pre><h3><a name="V3.02_Drivers"></a>Drivers</h3><pre>
|
|
|
8063 |
|
|
|
8064 |
Fixes bugs:
|
|
|
8065 |
- gdev_fax_open was incorrectly declared static in gdevtfax.c,
|
|
|
8066 |
causing the extern reference in the dfax drivers not to be resolved.
|
|
|
8067 |
(gdevtfax.c)
|
|
|
8068 |
- devs.mak included a duplicate definition of gdevmswn_h.
|
|
|
8069 |
(devs.mak)
|
|
|
8070 |
- The fax drivers didn't link properly in Level 1 systems, because
|
|
|
8071 |
shc.c was omitted from their dependency list. (gs.mak, devs.mak)
|
|
|
8072 |
- The TIFF/F drivers didn't set RowsPerStrip properly.
|
|
|
8073 |
(gdevtfax.c)
|
|
|
8074 |
- The TIFF/F drivers didn't byte-align the EOL properly. (scfx.h,
|
|
|
8075 |
gdevdfax.c, gdevtfax.c, scfe.c, zfilter2.c)
|
|
|
8076 |
- The rule for compiling gdevpccm.c incorrectly specified
|
|
|
8077 |
dependency on gs.h rather than gx.h. (devs.mak)
|
|
|
8078 |
- The rule for compiling gdevtfax.c didn't include time_.h as a
|
|
|
8079 |
dependency. (devs.mak)
|
|
|
8080 |
- The mode 2 compression routine for the DeskJet/LaserJet printers
|
|
|
8081 |
was broken. (gdevpcl.c)
|
|
|
8082 |
|
|
|
8083 |
Removes the -O0 from the compilation rule for gdevsco.c, since it was
|
|
|
8084 |
misplaced to begin with. (devs.mak)
|
|
|
8085 |
|
|
|
8086 |
Adds a maxDynamicColors X resource to control dynamic allocation in the
|
|
|
8087 |
color map. Replaces the X color lookup algorithms with completely new
|
|
|
8088 |
ones, for a substantial performance gain. (gdevx.h, gdevx.c, gdevxini.c)
|
|
|
8089 |
|
|
|
8090 |
Adds PageNumber, Software, and DateTime entries to the TIFF/F drivers.
|
|
|
8091 |
(gdevtifs.h, gdevtfax.c)
|
|
|
8092 |
|
|
|
8093 |
Changes the margins for the LaserJet 4 to 0. (gdevdjet.c)
|
|
|
8094 |
|
|
|
8095 |
Adds a user-contributed LaserJet 4 driver that does Floyd-Steinberg
|
|
|
8096 |
dithering. (gdevcdj.c)
|
|
|
8097 |
|
|
|
8098 |
</pre><h3><a name="V3.02_Platforms"></a>Platforms</h3><pre>
|
|
|
8099 |
|
|
|
8100 |
Fixes bugs:
|
|
|
8101 |
- The exit codes for Ghostscript should be different on VMS.
|
|
|
8102 |
(iastate.h, gs.c, gsmain.c, igc.c, igcref.c)
|
|
|
8103 |
- The VMS DEC C compiler declares malloc and free in stdlib.h, and
|
|
|
8104 |
delete and unlink in stdlib.h. (malloc_.h, stdio_.h)
|
|
|
8105 |
- st_prn_device wasn't defined, which upset the VMS linker even
|
|
|
8106 |
though there were no references. (gdevprn.h)
|
|
|
8107 |
- stdpre.h didn't bring in the right headers when running gcc on
|
|
|
8108 |
SCO Unix, causing compilation warnings/errors. (stdpre.h)
|
|
|
8109 |
- The definition of rename in gp_sysv didn't include const for the
|
|
|
8110 |
arguments. (gp_sysv.c)
|
|
|
8111 |
- The definition of gettimeofday in gp_sysv didn't return any
|
|
|
8112 |
value. (gp_sysv.c)
|
|
|
8113 |
- time_.h didn't work on MS-DOS systems. (time_.h)
|
|
|
8114 |
- math_.h didn't include <math.h> when compiling with gcc on VMS
|
|
|
8115 |
systems. (math_.h)
|
|
|
8116 |
- DesqView/X doesn't have a 'cat' command, which caused problems in
|
|
|
8117 |
the linking step. (dvx-tail.mak)
|
|
|
8118 |
|
|
|
8119 |
Changes the definitions of popen in gdevpipe.c and gp_unix.c so they don't
|
|
|
8120 |
specify the argument list. This is an attempt to get around the fact that
|
|
|
8121 |
there is no easy way to detect whether the available header files declare
|
|
|
8122 |
popen correctly (with const arguments), incorrectly (with non-const
|
|
|
8123 |
arguments), or not at all. (gdevpipe.c, gp_unix.c)
|
|
|
8124 |
|
|
|
8125 |
Replaces VMS.MAK, VMS-CC.MAK, and VMS-AXP.MAK with new versions provided by
|
|
|
8126 |
a user. (vms.mak, vms-cc.mak, vms-axp.mak)
|
|
|
8127 |
|
|
|
8128 |
Changes the 16-bit Borland makefiles so their standard configuration is
|
|
|
8129 |
Level 1 plus color.dev (CMYK color and colorimage). (bc.mak, bcwin.mak)
|
|
|
8130 |
|
|
|
8131 |
</pre><h3><a name="V3.02_Fonts"></a>Fonts</h3><pre>
|
|
|
8132 |
|
|
|
8133 |
Fixes bugs:
|
|
|
8134 |
- cfonts.mak still referred to some .gsf files that have been
|
|
|
8135 |
replaced by .pfa files. (cfonts.mak)
|
|
|
8136 |
- Compiled fonts got entered into FontDirectory, but didn't get
|
|
|
8137 |
registered as resources. (gs_ccfnt.ps)
|
|
|
8138 |
- The Cyrillic, Kana, Hershey .gsf, and URW fonts didn't include a
|
|
|
8139 |
necessary systemdict begin/end, which caused them to fail in badly designed
|
|
|
8140 |
environments. (fonts/f*.gsf, fonts/h*.gsf, fonts/?0*.gsf)
|
|
|
8141 |
|
|
|
8142 |
Changes the default target directory in cfonts.mak from fonts/c to .;
|
|
|
8143 |
changes the names of the Zapf Chancery compiled font procedures from c* to
|
|
|
8144 |
zc*. (cfonts.mak)
|
|
|
8145 |
|
|
|
8146 |
Adds more fonts from the Adobe Type Manager package for MS Windows to
|
|
|
8147 |
Fontmap.ATM. (fontmap.atm)
|
|
|
8148 |
|
|
|
8149 |
Adds the entire set of 35 standard fonts to the ccfonts feature in gs.mak;
|
|
|
8150 |
removes all the compilation rules for compiled fonts, since these rules are
|
|
|
8151 |
in cfonts.mak already. (gs.mak)
|
|
|
8152 |
|
|
|
8153 |
</pre><h3><a name="V3.02_Interpreter"></a>Interpreter</h3><pre>
|
|
|
8154 |
|
|
|
8155 |
Fixes bugs:
|
|
|
8156 |
- kshow executed a null, rather than the correct procedure, between
|
|
|
8157 |
the characters of the string, and got a typecheck error at the end.
|
|
|
8158 |
(zchar.c)
|
|
|
8159 |
- MultiMaster fonts computed their side bearing and width
|
|
|
8160 |
incorrectly, producing incorrect output. (zchar1.c)
|
|
|
8161 |
- There was no structure definition for gs_type1_state, so a GC
|
|
|
8162 |
during the execution of an OtherSubrs procedure could scramble pointers in
|
|
|
8163 |
the saved state. (zchar1.c, zfont1.c; also affects library, see below)
|
|
|
8164 |
- kshow didn't work properly if the kerning procedure changed the
|
|
|
8165 |
depth of the operand or dictionary stack. (zchar.c)
|
|
|
8166 |
- If the element count for roll was too large by only 1 or 2, the
|
|
|
8167 |
result was a crash rather than a rangecheck. (zstack.c)
|
|
|
8168 |
- restore didn't undo currentgstate. (igstate.h, store.h,
|
|
|
8169 |
gsstate.c, zdevice2.c, zdps1.c, ztype.c)
|
|
|
8170 |
- The scanner didn't set the local bit properly in a suspended
|
|
|
8171 |
state. (iscan.c)
|
|
|
8172 |
- copypage disregarded #copies. (gs_init.ps)
|
|
|
8173 |
- An incorrectly declared pointer led to addressing faults on
|
|
|
8174 |
16-bit systems. (zchar1.c)
|
|
|
8175 |
- The cache for Separation colors was allocated with one element
|
|
|
8176 |
too few. (zcsindex.c)
|
|
|
8177 |
|
|
|
8178 |
Changes `executive' so that if an error other than EOF occurs in the
|
|
|
8179 |
reading of the statement, the interpreter prints the error message, but
|
|
|
8180 |
control remains in the executive loop. (This isn't a very good fix; a
|
|
|
8181 |
better one will require refactoring executive / execute / run.)
|
|
|
8182 |
(gs_init.ps)
|
|
|
8183 |
|
|
|
8184 |
Changes dictionary undo saving to use the new ref_must_save macro [internal
|
|
|
8185 |
change only]. (idict.c)
|
|
|
8186 |
|
|
|
8187 |
Moves configuration definitions from iinit.c to gconfig.c. (gcdefs.h,
|
|
|
8188 |
interp.h, gconfig.c, gs.c, iinit.c, zmisc2.c, gs.mak)
|
|
|
8189 |
|
|
|
8190 |
Moves =string from systemdict to userdict for Adobe compatibility.
|
|
|
8191 |
(gs_init.ps)
|
|
|
8192 |
|
|
|
8193 |
Starts to implement the Interpolate flag in image dictionaries. See under
|
|
|
8194 |
Library below for restrictions. (zpaint.c, zimage2.c)
|
|
|
8195 |
|
|
|
8196 |
</pre><h3><a name="V3.02_Streams"></a>Streams</h3><pre>
|
|
|
8197 |
|
|
|
8198 |
Fixes bugs:
|
|
|
8199 |
- stream_compact attempted to compact a read-only string being used
|
|
|
8200 |
as the data source of a filter. (sbasic.c, stream.c)
|
|
|
8201 |
|
|
|
8202 |
Adds an EncodedEOLAlign flag to the CCITTFaxEncode stream, to allow direct
|
|
|
8203 |
generation of TIFF/F output. (scfx.h, scfe.c, zfilter2.c)
|
|
|
8204 |
|
|
|
8205 |
</pre><h3><a name="V3.02_Library"></a>Library</h3><pre>
|
|
|
8206 |
|
|
|
8207 |
Fixes bugs:
|
|
|
8208 |
- There was no structure definition for gs_type1_state, so a GC
|
|
|
8209 |
during the execution of an OtherSubrs procedure could scramble pointers in
|
|
|
8210 |
the saved state. (gxfont1.h, gxtype1.h, gstype1.c, gxhint2.c)
|
|
|
8211 |
- A couple of calls had to discard const, but didn't include the
|
|
|
8212 |
necessary cast. (gxpcmap.c)
|
|
|
8213 |
- makeimagedevice refused to accept an empty image. (gsdevice.c)
|
|
|
8214 |
- The extra parentheses around arguments in memory_.h caused some
|
|
|
8215 |
compilers to fail. (memory_.h)
|
|
|
8216 |
- Floating point overflows during coordinate conversion terminated
|
|
|
8217 |
Ghostscript. (gxfarith.h, gxfixed.h, gsmatrix.c, gsmisc.c)
|
|
|
8218 |
- Accents still weren't getting placed properly on characters
|
|
|
8219 |
created with seac. (gstype1.c, gxhint2.c)
|
|
|
8220 |
- The SGI C compiler couldn't handle the (perfectly legal)
|
|
|
8221 |
definitions of dev_init_[open_]misc. (gxdevice.h)
|
|
|
8222 |
- string_.h caused some problems with gcc on some versions of
|
|
|
8223 |
Solaris. (string_.h)
|
|
|
8224 |
- The halftone levels for color screens were computed incorrectly.
|
|
|
8225 |
(gzht.h, gxdither.c)
|
|
|
8226 |
- Color screens sometimes had vertical stripes of solid color
|
|
|
8227 |
interspersed. (gxcht.c)
|
|
|
8228 |
- Colors could get mapped incorrectly if a compiler aggressively
|
|
|
8229 |
(and incorrectly) reordered the computation of procedure arguments
|
|
|
8230 |
involving the unit_frac macro. (gxcmap.c)
|
|
|
8231 |
- setcachedevice[2] insisted that the corners of the bounding box
|
|
|
8232 |
be given in the correct order, i.e., llx < urx and lly < ury. (gschar.c)
|
|
|
8233 |
- The image operator gave a limitcheck on unrotated 1-bit-per-pixel
|
|
|
8234 |
images whose width in device coordinates exceeded 65529. (gsimage.c)
|
|
|
8235 |
- The garbage collector didn't trace the input data of an
|
|
|
8236 |
in-progress image operator correctly. (gsimage.c)
|
|
|
8237 |
|
|
|
8238 |
Changes the max_rgb and dither_rgb members of gx_device_color_info to
|
|
|
8239 |
max_color and dither_colors, since Ghostscript now uses these for CMYK
|
|
|
8240 |
devices as well. Also changes dither_gray to dither_grays. (gdevmem.h,
|
|
|
8241 |
gdevprn.h, gxdevice.h, gdevbit.c, gdevcdj.c, gdevprn.c, gdevxini.c,
|
|
|
8242 |
gsdparam.c, gxcht.c, gxcmap.c)
|
|
|
8243 |
|
|
|
8244 |
Starts to implement the Interpolate option for images. Currently this is
|
|
|
8245 |
only implemented for image, not imagemask, and only for rotations that are
|
|
|
8246 |
multiples of 90 degrees (possibly with reflection). (gsimage.h,
|
|
|
8247 |
gsiscale.h, gximage.h, gsimage.c, gsimage1.c, gsiscale.c)
|
|
|
8248 |
|
|
|
8249 |
Starts to implement XStep and YStep in pattern dictionaries. (gxdcolor.h,
|
|
|
8250 |
gxpcolor.h, gspcolor.c, gxpcmap.c)
|
|
|
8251 |
|
|
|
8252 |
</pre>
|
|
|
8253 |
|
|
|
8254 |
<h2><a name="Version3.01"></a>Version 3.01 (8/14/94)</h2>
|
|
|
8255 |
|
|
|
8256 |
<p>
|
|
|
8257 |
This is a patch release to fix early problems in release 3.0, and to clean
|
|
|
8258 |
up a few known loose ends.
|
|
|
8259 |
|
|
|
8260 |
<h3><a name="V3.01_Documentation"></a>Documentation</h3><pre>
|
|
|
8261 |
|
|
|
8262 |
Fixes bugs:
|
|
|
8263 |
- language.doc still documented the devicename procedure, which has
|
|
|
8264 |
been withdrawn. (language.doc)
|
|
|
8265 |
- drivers.doc didn't specify under what circumstances each
|
|
|
8266 |
procedure could be called. (drivers.doc)
|
|
|
8267 |
- current.doc said that setcachedevice and makeimagedevice wouldn't
|
|
|
8268 |
accept packed arrays, but neither of these operators takes any array
|
|
|
8269 |
arguments. (current.doc)
|
|
|
8270 |
- current.doc said that definefont didn't interact properly with
|
|
|
8271 |
the resource machinery, which apparently is no longer true. (current.doc)
|
|
|
8272 |
- make.doc incorrectly gave the name of the DVX makefile as
|
|
|
8273 |
dvx-djg.mak rather than dvx-gcc.mak. (make.doc)
|
|
|
8274 |
- In one place, devices.doc incorrectly used -sBitsPerPixel= rather
|
|
|
8275 |
than -dBitsPerPixel=. (devices.doc)
|
|
|
8276 |
|
|
|
8277 |
Notes that a kernel bug in SCO Unix makes Ghostscript not work correctly in
|
|
|
8278 |
some circumstances. (use.doc)
|
|
|
8279 |
|
|
|
8280 |
</pre><h3><a name="V3.01_Procedures"></a>Procedures</h3><pre>
|
|
|
8281 |
|
|
|
8282 |
Fixes bugs:
|
|
|
8283 |
- devs.mak incorrectly referred to gdevjetp.c instead of
|
|
|
8284 |
gdev3852.c. (devs.mak)
|
|
|
8285 |
- The obsolete file gsprops.c was accidentally included in the
|
|
|
8286 |
fileset.
|
|
|
8287 |
|
|
|
8288 |
Changes the version numbering scheme from A.BCC to A.B[C]. E.g., this
|
|
|
8289 |
release will be 3.01, not 3.001. (gs_init.ps, gs.c, iinit.c)
|
|
|
8290 |
|
|
|
8291 |
Adds the LaserJet 4 driver to all makefiles that already include the
|
|
|
8292 |
LaserJet 3 driver. (*.mak)
|
|
|
8293 |
|
|
|
8294 |
Adds the BJ-200 driver to all makefiles that already included the BJ-10e
|
|
|
8295 |
driver. (*.mak)
|
|
|
8296 |
|
|
|
8297 |
Splits the Unix 'install' target into install-exec and install-data. Moves
|
|
|
8298 |
the executable scripts from gsdatadir to a new directory scriptdir, which
|
|
|
8299 |
defaults to bindir. (ansihead.mak, cc-head.mak, gcc-head.mak,
|
|
|
8300 |
unix-end.mak)
|
|
|
8301 |
|
|
|
8302 |
</pre><h3><a name="V3.01_Utilities"></a>Utilities</h3><pre>
|
|
|
8303 |
|
|
|
8304 |
Fixes bugs:
|
|
|
8305 |
- genconf had fixed buffer sizes built into it, which it could
|
|
|
8306 |
overrun its working storage without checking. (genconf.c)
|
|
|
8307 |
|
|
|
8308 |
Removes RCS or SCCS headers from two utility files. (pj-gs.sh,
|
|
|
8309 |
printafm.ps)
|
|
|
8310 |
|
|
|
8311 |
</pre><h3><a name="V3.01_Drivers"></a>Drivers</h3><pre>
|
|
|
8312 |
|
|
|
8313 |
Fixes bugs:
|
|
|
8314 |
- The new dfaxhigh and dfaxlow drivers didn't set
|
|
|
8315 |
state.EncodedByteAlign to false. (gdevdfax.c)
|
|
|
8316 |
- The sunview driver assumed that the device would be open before
|
|
|
8317 |
map_rgb_color was called. (gdevsun.c)
|
|
|
8318 |
- The CP50 driver incremented page_count itself, rather than
|
|
|
8319 |
letting the core library do it. (gdevcp50.c)
|
|
|
8320 |
- The GIF driver(s) could loop indefinitely under certain
|
|
|
8321 |
circumstances. (gdevgif.c)
|
|
|
8322 |
- The Group 4 fax drivers incorrectly included end-of-line codes in
|
|
|
8323 |
the output. (gdevtfax.c, gdevdfax.c)
|
|
|
8324 |
- The Group 4 fax drivers could put out an EOB in the middle of the
|
|
|
8325 |
data. (scfe.c)
|
|
|
8326 |
- The DesignJet 650C driver didn't use the correct compression
|
|
|
8327 |
mode. (gdevcdj.c)
|
|
|
8328 |
- The Hercules and EGA/VGA/SVGA drivers computed the page height
|
|
|
8329 |
incorrectly according to the A4 switch. (gdevherc.c, gdevpcfb.h)
|
|
|
8330 |
|
|
|
8331 |
Changes the page_count and showpage_count members of the device structure
|
|
|
8332 |
from int to long. (gxdevice.h, gdevprn.c, gsdparam.c)
|
|
|
8333 |
|
|
|
8334 |
Changes the faxg3, faxg32d, and faxg4 drivers so that, like the TIFF and
|
|
|
8335 |
dfax drivers, they adjust the page size to one of the three CCITT standard
|
|
|
8336 |
sizes if this is reasonable. (gdevtfax.c)
|
|
|
8337 |
|
|
|
8338 |
Splits the bit driver into bit, bitrgb, and bitcmyk. Adds bitrgb and
|
|
|
8339 |
bitcmyk to all makefiles that included bit. (*.mak, devs.mak, gdevbit.c)
|
|
|
8340 |
|
|
|
8341 |
Replaces the atiw16, tseng16, and tvga16 SuperVGA drivers with a single
|
|
|
8342 |
svga16 driver that allows specifying the display mode number. (devs.mak,
|
|
|
8343 |
gdevpcfb.c)
|
|
|
8344 |
|
|
|
8345 |
</pre><h3><a name="V3.01_Platforms"></a>Platforms</h3><pre>
|
|
|
8346 |
|
|
|
8347 |
Fixes bugs:
|
|
|
8348 |
- The MS Windows and OS/2 drivers allocated their terminal input
|
|
|
8349 |
buffers in a way that could cause the GC to crash. (gp_mswin.c, gp_os2.c)
|
|
|
8350 |
- The handling of gettimeofday on SVR4 platforms was incorrect.
|
|
|
8351 |
(time_.h, gp_sysv.c, gp_unix.c)
|
|
|
8352 |
- On some platforms, function prototypes were not enabled even if
|
|
|
8353 |
__STDC__ was defined. (stdpre.h)
|
|
|
8354 |
- The VMS build script referred to an obsolete feature lev2only.
|
|
|
8355 |
(vms.mak)
|
|
|
8356 |
|
|
|
8357 |
Changes the DVX platform so that stdprn is buffered. This should improve
|
|
|
8358 |
printing performance dramatically. (gp_dvx.c)
|
|
|
8359 |
|
|
|
8360 |
</pre><h3><a name="V3.01_Fonts"></a>Fonts</h3><pre>
|
|
|
8361 |
|
|
|
8362 |
Fixes bugs:
|
|
|
8363 |
- Setting DISKFONTS resulted in a reference to FontFileDirectory
|
|
|
8364 |
before it was defined. (gs_type1.ps, gs_fonts.ps)
|
|
|
8365 |
- /Font findresource gave an error rather than doing font
|
|
|
8366 |
substitution. (gs_res.ps)
|
|
|
8367 |
- FontDirectory wasn't rebound to GlobalFontDirectory when global
|
|
|
8368 |
VM was current. (gs_res.ps, zdict.c)
|
|
|
8369 |
- Type 1 fonts weren't loaded into global VM. (gs_fonts.ps)
|
|
|
8370 |
- In the standard Fontmap, the Utopia fonts had extension .gsf
|
|
|
8371 |
rather than .pfa. (fontmap.gs)
|
|
|
8372 |
- Fonts whose FontBBox was [0 0 0 0] were not displayed, or were
|
|
|
8373 |
displayed as tiny dots. (gs_type1.ps)
|
|
|
8374 |
|
|
|
8375 |
</pre><h3><a name="V3.01_Interpreter"></a>Interpreter</h3><pre>
|
|
|
8376 |
|
|
|
8377 |
Fixes bugs:
|
|
|
8378 |
- dict_put could read from the variable pvslot before it was used.
|
|
|
8379 |
(This was harmless, since the value was never actually used; it just upset
|
|
|
8380 |
Purify.) (idict.c)
|
|
|
8381 |
- Binary object sequences could cause addressing faults.
|
|
|
8382 |
(iscanbin.c)
|
|
|
8383 |
- The attributes on names were set incorrectly in binary object
|
|
|
8384 |
sequences. (iscanbin.c)
|
|
|
8385 |
- gs.c duplicated (in some cases incorrectly) some definitions in
|
|
|
8386 |
interp.h. (gs.c)
|
|
|
8387 |
- gs_lib_paths was declared const in one place and non-const in
|
|
|
8388 |
another. (zfile.c)
|
|
|
8389 |
- file_restore and font_restore had inconsistent const declarations
|
|
|
8390 |
for their argument. (isave.c)
|
|
|
8391 |
- iodev_os_open_file was missing its last formal parameter.
|
|
|
8392 |
(ziodev.c)
|
|
|
8393 |
- gs.c declared gs_devicename with an incorrect extern. (gs.c)
|
|
|
8394 |
- undefinefont didn't interact properly with the resource
|
|
|
8395 |
machinery. (gs_lev2.ps)
|
|
|
8396 |
- The declaration for swap_entry used a typedef name as a formal
|
|
|
8397 |
parameter, which upset some compilers. (zmisc2.c)
|
|
|
8398 |
- Including the ccinit feature could cause the garbage collector to
|
|
|
8399 |
make an invalid access. (stream.c)
|
|
|
8400 |
- The check for t_[a]struct types in ztype.c was incorrect.
|
|
|
8401 |
(ztype.c)
|
|
|
8402 |
- After the collection of halftone samples, temporary data
|
|
|
8403 |
structures were freed incorrectly. (gzht.h, gsht1.c, zht.c)
|
|
|
8404 |
- Images with source width between 489 and 492 crashed the
|
|
|
8405 |
memory manager. (iastate.h)
|
|
|
8406 |
|
|
|
8407 |
Makes it possible to define SEARCH_HERE_FIRST (gsmain.c) in the makefile.
|
|
|
8408 |
(gsmain.c)
|
|
|
8409 |
|
|
|
8410 |
Splits the Level 2 resource machinery into a separate file. (gs_lev2.ps,
|
|
|
8411 |
gs_res.ps, gs.mak, unix-end.mak, vms.mak).
|
|
|
8412 |
|
|
|
8413 |
Changes the names of the DiffEncode/Decode filters to
|
|
|
8414 |
PixelDifferenceEncode/Decode, and splits them off into a separate
|
|
|
8415 |
"feature". (gs.mak, zfilter2.c, zfpdiff.c, spdiff.c, spdiffx.h)
|
|
|
8416 |
|
|
|
8417 |
Adds experimental code for filtered image scaling. DON'T USE THIS CODE.
|
|
|
8418 |
(zimage2.c)
|
|
|
8419 |
|
|
|
8420 |
</pre><h3><a name="V3.01_Streams"></a>Streams</h3><pre>
|
|
|
8421 |
|
|
|
8422 |
Fixes bugs:
|
|
|
8423 |
- The CCITTFaxEncode filter could put out an EOB in the middle of
|
|
|
8424 |
the data. (scfe.c)
|
|
|
8425 |
|
|
|
8426 |
Splits off the PixelDifferenceEncode/Decode filters into a separate
|
|
|
8427 |
"feature". (gs.mak)
|
|
|
8428 |
|
|
|
8429 |
</pre><h3><a name="V3.01_Library"></a>Library</h3><pre>
|
|
|
8430 |
|
|
|
8431 |
Fixes bugs:
|
|
|
8432 |
- gs_setcachedevice could return a garbage error code. (gschar.c)
|
|
|
8433 |
- joins on stroked lines were incorrect if the device coordinate
|
|
|
8434 |
system mapped +Y to +Y. (gxstroke.c)
|
|
|
8435 |
- If gsmisc.c supplied versions of missing library routines, they
|
|
|
8436 |
could clash with the names of the real ones if those were present
|
|
|
8437 |
unexpectedly. (memory_.h, gsmisc.c)
|
|
|
8438 |
- The initialization expression for is_open in the
|
|
|
8439 |
dev_init_misc_open macro included a cast, which some compilers don't allow.
|
|
|
8440 |
(gxdevice.h, gsdevice.c, gxclip2.c, gxpcmap.c)
|
|
|
8441 |
- In Type 1 fonts, character that specified their side bearing and
|
|
|
8442 |
width with sbw rather than hsbw gave an invalidfont error. (gstype1.c)
|
|
|
8443 |
- Some procedures were declared inconsistently with regard to const
|
|
|
8444 |
arguments. (gscie.c, gxpcmap.c, gxacpath.c, gxcmap.c)
|
|
|
8445 |
- A few places still assumed that pointers occupied 4 bytes.
|
|
|
8446 |
(gxclist.c)
|
|
|
8447 |
- Rendering a gray halftone on a CMYK device called the device's
|
|
|
8448 |
map_rgb_color procedure instead of map_cmyk_color. (gxdither.c)
|
|
|
8449 |
|
|
|
8450 |
Renames gsfile.c as gswppm.c. (gsfile.c, gswppm.c)
|
|
|
8451 |
|
|
|
8452 |
Implements the ability to cache arbitrarily transformed characters. This
|
|
|
8453 |
is currently enabled by a compile-time flag in gschar.c. (gschar.c)
|
|
|
8454 |
|
|
|
8455 |
</pre>
|
|
|
8456 |
|
|
|
8457 |
<h2><a name="Version3.0"></a>Version 3.0 (8/1/94)</h2>
|
|
|
8458 |
|
|
|
8459 |
<p>
|
|
|
8460 |
This is the first full Level 2 version released to the public.
|
|
|
8461 |
Unfortunately, we were not able to include setpagedevice in this release.
|
|
|
8462 |
|
|
|
8463 |
<h3><a name="V3.0_Documentation"></a>Documentation</h3><pre>
|
|
|
8464 |
|
|
|
8465 |
Fixes bugs:
|
|
|
8466 |
- README didn't mention Aladdin's European distributor.
|
|
|
8467 |
- psfiles.doc didn't describe some of the newer gs_*.ps files.
|
|
|
8468 |
|
|
|
8469 |
Notes that gcc -O2 (version 2.5.8 of gcc) generates incorrect code for some
|
|
|
8470 |
modules on the H-P RISC architecture.
|
|
|
8471 |
|
|
|
8472 |
Notes that on AXP platforms running VMS, DEC C V4.0 is required.
|
|
|
8473 |
|
|
|
8474 |
</pre><h3><a name="V3.0_Procedures"></a>Procedures</h3><pre>
|
|
|
8475 |
|
|
|
8476 |
Fixes bugs:
|
|
|
8477 |
- 'make clean' didn't delete devs.tr or t.tr.
|
|
|
8478 |
- devs.mak was missing the entry for faxg32d.
|
|
|
8479 |
- unixansi.mak omitted some drivers that were included in
|
|
|
8480 |
unix-cc.mak and unix-gcc.mak.
|
|
|
8481 |
|
|
|
8482 |
Updates jpeg.mak to reference version 5beta1 of the IJG JPEG code.
|
|
|
8483 |
|
|
|
8484 |
Changes the version numbering scheme from A.B.C to A.B[CC]. I.e., the
|
|
|
8485 |
first sub-release after 3.0 will be 3.01 or 3.001, not 3.0.1.
|
|
|
8486 |
|
|
|
8487 |
</pre><h3><a name="V3.0_Utilities"></a>Utilities</h3><pre>
|
|
|
8488 |
|
|
|
8489 |
Fixes bugs:
|
|
|
8490 |
- ps2ascii didn't do a setglobal.
|
|
|
8491 |
|
|
|
8492 |
Adds an option to ansi2knr to convert ... to va_alist/va_dcl.
|
|
|
8493 |
|
|
|
8494 |
</pre><h3><a name="V3.0_Drivers"></a>Drivers</h3><pre>
|
|
|
8495 |
|
|
|
8496 |
Fixes bugs:
|
|
|
8497 |
- The newly added faxg32d driver didn't have an entry in devs.mak.
|
|
|
8498 |
- The BMP, GIF, and PCX drivers wrote out an incorrect color
|
|
|
8499 |
palette (the blue values were too small).
|
|
|
8500 |
- The vgalib driver had some compilation problems.
|
|
|
8501 |
- The TIFF drivers didn't produce correct multi-page output.
|
|
|
8502 |
|
|
|
8503 |
Adds faxg32d and tiffg32d drivers.
|
|
|
8504 |
|
|
|
8505 |
Reinstates the DigiFax drivers, which were withdrawn when the new fax
|
|
|
8506 |
drivers were added.
|
|
|
8507 |
|
|
|
8508 |
</pre><h3><a name="V3.0_Platforms"></a>Platforms</h3><pre>
|
|
|
8509 |
|
|
|
8510 |
Fixes bugs:
|
|
|
8511 |
- gs_btokn.ps and gs_ccfnt.ps weren't installed on Unix platforms.
|
|
|
8512 |
- The VMS module list omitted SBHC, included a non-existent GXDASH,
|
|
|
8513 |
and had incorrect names for some of the IJG JPEG files.
|
|
|
8514 |
- The VMS build scripts (vms*.mak) had incorrect "boilerplate".
|
|
|
8515 |
- The VMS script file gssetmod.com had \r characters in it, as well
|
|
|
8516 |
as \n characters.
|
|
|
8517 |
- The echogs and genarch utilities didn't return the correct exit
|
|
|
8518 |
codes under VMS.
|
|
|
8519 |
- The VMS Fontmap had incorrect entries for the Courier and Charter
|
|
|
8520 |
fonts.
|
|
|
8521 |
- When running under Ghostview, Ghostscript didn't drain the input
|
|
|
8522 |
pipe. (We fixed this with a temporary patch in gs.c; this isn't a good
|
|
|
8523 |
solution for the longer term.)
|
|
|
8524 |
|
|
|
8525 |
</pre><h3><a name="V3.0_Fonts"></a>Fonts</h3><pre>
|
|
|
8526 |
|
|
|
8527 |
Fixes bugs:
|
|
|
8528 |
- The free AvantGarde, Bookman, and Palatino font families had
|
|
|
8529 |
incorrect FontBBox values.
|
|
|
8530 |
- The 'f' and 'j' in the free AvantGarde-DemiOblique,
|
|
|
8531 |
Bookman-DemiItalic, Bookman-LightItalic, and Palatino-Italic fonts were
|
|
|
8532 |
chopped off on the right. (The bitmaps were chopped off in the original
|
|
|
8533 |
BDF fonts from which these fonts were made.) ****** THIS PROBLEM WAS NOT
|
|
|
8534 |
ACTUALLY FIXED. ******
|
|
|
8535 |
|
|
|
8536 |
</pre><h3><a name="V3.0_Interpreter"></a>Interpreter</h3><pre>
|
|
|
8537 |
|
|
|
8538 |
Fixes bugs:
|
|
|
8539 |
- gs -h and gs -v didn't print the tertiary version number correctly.
|
|
|
8540 |
- Binary object sequences with no strings or names didn't read in
|
|
|
8541 |
correctly.
|
|
|
8542 |
- Binary object sequences that crossed an input buffer boundary
|
|
|
8543 |
didn't read in correctly.
|
|
|
8544 |
- Binary object sequences read in as {[e1 .. en] e1 ... en} instead
|
|
|
8545 |
of {[e1 ... en]}. (New bug in 2.9.x.)
|
|
|
8546 |
- setpattern didn't set the current color space correctly if the
|
|
|
8547 |
current color space wasn't a Pattern space.
|
|
|
8548 |
- If the current color space was an uncolored Pattern space but the
|
|
|
8549 |
current color was a colored Pattern, currentcolor returned extra values on
|
|
|
8550 |
the operands stack.
|
|
|
8551 |
- .buildfont1 in gs_type1.ps didn't force binding of the old
|
|
|
8552 |
definition, causing ps2ascii to loop endlessly.
|
|
|
8553 |
|
|
|
8554 |
Adds a facility for writing and reading dictionaries in binary object
|
|
|
8555 |
sequences. This is experimental and subject to change in the future.
|
|
|
8556 |
|
|
|
8557 |
</pre><h3><a name="V3.0_Streams"></a>Streams</h3><pre>
|
|
|
8558 |
|
|
|
8559 |
Fixes bugs:
|
|
|
8560 |
- gs_run_string and ccinit didn't have any way to mark the string
|
|
|
8561 |
as "foreign", which confused the GC.
|
|
|
8562 |
|
|
|
8563 |
</pre><h3><a name="V3.0_Library"></a>Library</h3><pre>
|
|
|
8564 |
|
|
|
8565 |
Fixes bugs:
|
|
|
8566 |
- gxchar.h had an extra comma after the last element of the
|
|
|
8567 |
show_width_status enum, which upset some compilers.
|
|
|
8568 |
- stroke and strokepath didn't correctly skip zero-length segments
|
|
|
8569 |
if the line width was less than one pixel, or if there was a closed subpath
|
|
|
8570 |
consisting entirely of zero-length segments.
|
|
|
8571 |
- strokepath sometimes incorrectly added a moveto at the end of the
|
|
|
8572 |
path.
|
|
|
8573 |
</pre>
|
|
|
8574 |
|
|
|
8575 |
<!-- [3.0 begin visible trailer] =========================================== -->
|
|
|
8576 |
<hr>
|
|
|
8577 |
|
|
|
8578 |
<p>
|
|
|
8579 |
<small>Copyright © 1996, 1997, 1998 Aladdin Enterprises.
|
|
|
8580 |
All rights reserved.</small>
|
|
|
8581 |
|
|
|
8582 |
<p>
|
|
|
8583 |
This software is provided AS-IS with no warranty, either express or
|
|
|
8584 |
implied.
|
|
|
8585 |
|
|
|
8586 |
This software is distributed under license and may not be copied,
|
|
|
8587 |
modified or distributed except as expressly authorized under the terms
|
|
|
8588 |
of the license contained in the file LICENSE in this distribution.
|
|
|
8589 |
|
|
|
8590 |
For more information about licensing, please refer to
|
|
|
8591 |
http://www.ghostscript.com/licensing/. For information on
|
|
|
8592 |
commercial licensing, go to http://www.artifex.com/licensing/ or
|
|
|
8593 |
contact Artifex Software, Inc., 101 Lucas Valley Road #110,
|
|
|
8594 |
San Rafael, CA 94903, U.S.A., +1(415)492-9861.
|
|
|
8595 |
|
|
|
8596 |
<p>
|
|
|
8597 |
<small>Ghostscript version 8.53, 20 October 2005
|
|
|
8598 |
|
|
|
8599 |
|
|
|
8600 |
<!-- [3.0 end visible trailer] ============================================= -->
|
|
|
8601 |
|
|
|
8602 |
</body>
|
|
|
8603 |
</html>
|