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 5.n</title>
|
|
|
5 |
<!-- $Id: History5.htm,v 1.41 2005/10/20 19:46:23 ray Exp $ -->
|
|
|
6 |
<!--
|
|
|
7 |
WARNING: do not use Pete Kaiser's emacs function "gs-toc" alone to
|
|
|
8 |
re-create the table of contents here, because it will replace the
|
|
|
9 |
hand-edited TOC subheads with a separate subhead for each H2 in
|
|
|
10 |
the body of the file. Or if you do, first look at the original
|
|
|
11 |
TOC to see how to edit it for visual conciseness.
|
|
|
12 |
-->
|
|
|
13 |
<link rel="stylesheet" type="text/css" href="gs.css" title="Ghostscript Style">
|
|
|
14 |
</head>
|
|
|
15 |
|
|
|
16 |
<body>
|
|
|
17 |
<!-- [1.0 begin visible header] ============================================ -->
|
|
|
18 |
|
|
|
19 |
<!-- [1.1 begin headline] ================================================== -->
|
|
|
20 |
|
|
|
21 |
<h1>History of Ghostscript versions 5.n</h1>
|
|
|
22 |
|
|
|
23 |
<!-- [1.1 end headline] ==================================================== -->
|
|
|
24 |
|
|
|
25 |
<!-- [1.2 begin table of contents] ========================================= -->
|
|
|
26 |
|
|
|
27 |
<h2>Table of contents</h2>
|
|
|
28 |
|
|
|
29 |
<blockquote><ul>
|
|
|
30 |
<li><a href="#Version5.99">Version 5.99 (beta) (1999-12-18)</a>
|
|
|
31 |
<ul>
|
|
|
32 |
<li><a href="#5.99_Incompatible_changes">Incompatible changes</a>,
|
|
|
33 |
<a href="#5.99_Documentation">Documentation</a>,
|
|
|
34 |
<a href="#5.99_Procedures">Procedures</a>,
|
|
|
35 |
<a href="#5.99_Utilities">Utilities</a>,
|
|
|
36 |
<a href="#5.99_Drivers">Drivers</a>,
|
|
|
37 |
<a href="#5.99_Platforms">Platforms</a>,
|
|
|
38 |
<a href="#5.99_Fonts">Fonts</a>,
|
|
|
39 |
<a href="#5.99_PDF_writer">PDF writer</a>,
|
|
|
40 |
<a href="#5.99_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
41 |
<a href="#5.99_Interpreter">Interpreter</a>,
|
|
|
42 |
<a href="#5.99_Streams">Streams</a>,
|
|
|
43 |
<a href="#5.99_Library">Library</a>
|
|
|
44 |
</ul>
|
|
|
45 |
<li><a href="#Version5.98">Version 5.98 (beta) (1999-12-01)</a>
|
|
|
46 |
<ul>
|
|
|
47 |
<li><a href="#5.98_Incompatible_changes">Incompatible changes</a>,
|
|
|
48 |
<a href="#5.98_Documentation">Documentation</a>,
|
|
|
49 |
<a href="#5.98_Procedures">Procedures</a>,
|
|
|
50 |
<a href="#5.98_Utilities">Utilities</a>,
|
|
|
51 |
<a href="#5.98_Drivers">Drivers</a>,
|
|
|
52 |
<a href="#5.98_Fonts">Fonts</a>,
|
|
|
53 |
<a href="#5.98_PDF_writer">PDF writer</a>,
|
|
|
54 |
<a href="#5.98_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
55 |
<a href="#5.98_Interpreter">Interpreter</a>,
|
|
|
56 |
<a href="#5.98_Streams">Streams</a>,
|
|
|
57 |
<a href="#5.98_Library">Library</a>
|
|
|
58 |
</ul>
|
|
|
59 |
<li><a href="#Version5.97">Version 5.97 (beta) (11/22/99)</a>
|
|
|
60 |
<ul>
|
|
|
61 |
<li><a href="#5.97_Incompatible_changes">Incompatible changes</a>,
|
|
|
62 |
<a href="#5.97_Documentation">Documentation</a>,
|
|
|
63 |
<a href="#5.97_Procedures">Procedures</a>,
|
|
|
64 |
<a href="#5.97_Utilities">Utilities</a>,
|
|
|
65 |
<a href="#5.97_Drivers">Drivers</a>,
|
|
|
66 |
<a href="#5.97_Platforms">Platforms</a>,
|
|
|
67 |
<a href="#5.97_PDF_writer">PDF writer</a>,
|
|
|
68 |
<a href="#5.97_Interpreter">Interpreter</a>,
|
|
|
69 |
<a href="#5.97_Library">Library</a>
|
|
|
70 |
</ul>
|
|
|
71 |
<li><a href="#Version5.96">Version 5.96 (beta) (11/12/99)</a>
|
|
|
72 |
<ul>
|
|
|
73 |
<li><a href="#5.96_Incompatible_changes">Incompatible changes</a>,
|
|
|
74 |
<a href="#5.96_Documentation">Documentation</a>,
|
|
|
75 |
<a href="#5.96_Procedures">Procedures</a>,
|
|
|
76 |
<a href="#5.96_Utilities">Utilities</a>,
|
|
|
77 |
<a href="#5.96_Drivers">Drivers</a>,
|
|
|
78 |
<a href="#5.96_Platforms">Platforms</a>,
|
|
|
79 |
<a href="#5.96_PDF_writer">PDF writer</a>,
|
|
|
80 |
<a href="#5.96_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
81 |
<a href="#5.96_Interpreter">Interpreter</a>,
|
|
|
82 |
<a href="#5.96_Streams">Streams</a>,
|
|
|
83 |
<a href="#5.96_Library">Library</a>
|
|
|
84 |
</ul>
|
|
|
85 |
<li><a href="#Version5.95">Version 5.95 (beta) (11/1/99)</a>
|
|
|
86 |
<ul>
|
|
|
87 |
<li><a href="#5.95_Incompatible_changes">Incompatible changes</a>,
|
|
|
88 |
<a href="#5.95_Documentation">Documentation</a>,
|
|
|
89 |
<a href="#5.95_Procedures">Procedures</a>,
|
|
|
90 |
<a href="#5.95_Utilities">Utilities</a>,
|
|
|
91 |
<a href="#5.95_Drivers">Drivers</a>,
|
|
|
92 |
<a href="#5.95_Platforms">Platforms</a>,
|
|
|
93 |
<a href="#5.95_Fonts">Fonts</a>,
|
|
|
94 |
<a href="#5.95_PDF_writer">PDF writer</a>,
|
|
|
95 |
<a href="#5.95_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
96 |
<a href="#5.95_Interpreter">Interpreter</a>,
|
|
|
97 |
<a href="#5.95_Library">Library</a>
|
|
|
98 |
</ul>
|
|
|
99 |
<li><a href="#Version5.94">Version 5.94 (beta) (9/30/99)</a>
|
|
|
100 |
<ul>
|
|
|
101 |
<li><a href="#5.94_Incompatible_changes">Incompatible changes</a>,
|
|
|
102 |
<a href="#5.94_Documentation">Documentation</a>,
|
|
|
103 |
<a href="#5.94_Procedures">Procedures</a>,
|
|
|
104 |
<a href="#5.94_Utilities">Utilities</a>,
|
|
|
105 |
<a href="#5.94_Drivers">Drivers</a>,
|
|
|
106 |
<a href="#5.94_Platforms">Platforms</a>,
|
|
|
107 |
<a href="#5.94_Fonts">Fonts</a>,
|
|
|
108 |
<a href="#5.94_PDF_writer">PDF writer</a>,
|
|
|
109 |
<a href="#5.94_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
110 |
<a href="#5.94_Interpreter">Interpreter</a>,
|
|
|
111 |
<a href="#5.94_Streams">Streams</a>,
|
|
|
112 |
<a href="#5.94_Library">Library</a>
|
|
|
113 |
</ul>
|
|
|
114 |
<li><a href="#Version5.93">Version 5.93 (beta) (9/11/99)</a>
|
|
|
115 |
<ul>
|
|
|
116 |
<li><a href="#5.93_Incompatible_changes">Incompatible changes</a>,
|
|
|
117 |
<a href="#5.93_Documentation">Documentation</a>,
|
|
|
118 |
<a href="#5.93_Procedures">Procedures</a>,
|
|
|
119 |
<a href="#5.93_Utilities">Utilities</a>,
|
|
|
120 |
<a href="#5.93_Drivers">Drivers</a>,
|
|
|
121 |
<a href="#5.93_Platforms">Platforms</a>,
|
|
|
122 |
<a href="#5.93_PDF_writer">PDF writer</a>,
|
|
|
123 |
<a href="#5.93_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
124 |
<a href="#5.93_Interpreter">Interpreter</a>,
|
|
|
125 |
<a href="#5.93_Streams">Streams</a>,
|
|
|
126 |
<a href="#5.93_Library">Library</a>
|
|
|
127 |
</ul>
|
|
|
128 |
<li><a href="#Version5.92">Version 5.92 (beta) (9/2/99)</a>
|
|
|
129 |
<ul>
|
|
|
130 |
<li><a href="#5.92_Documentation">Documentation</a>,
|
|
|
131 |
<a href="#5.92_Procedures">Procedures</a>,
|
|
|
132 |
<a href="#5.92_Utilities">Utilities</a>,
|
|
|
133 |
<a href="#5.92_Drivers">Drivers</a>,
|
|
|
134 |
<a href="#5.92_PDF_writer">PDF writer</a>,
|
|
|
135 |
<a href="#5.92_Interpreter">Interpreter</a>,
|
|
|
136 |
<a href="#5.92_Streams">Streams</a>
|
|
|
137 |
</ul>
|
|
|
138 |
<li><a href="#Version5.91">Version 5.91 (beta) (8/30/99)</a>
|
|
|
139 |
<ul>
|
|
|
140 |
<li><a href="#5.91_Documentation">Documentation</a>,
|
|
|
141 |
<a href="#5.91_Utilities">Utilities</a>,
|
|
|
142 |
<a href="#5.91_Drivers">Drivers</a>,
|
|
|
143 |
<a href="#5.91_Platforms">Platforms</a>,
|
|
|
144 |
<a href="#5.91_Fonts">Fonts</a>,
|
|
|
145 |
<a href="#5.91_PDF_writer">PDF writer</a>,
|
|
|
146 |
<a href="#5.91_Library">Library</a>
|
|
|
147 |
</ul>
|
|
|
148 |
<li><a href="#Version5.90">Version 5.90 (beta) (8/20/99)</a>
|
|
|
149 |
<ul>
|
|
|
150 |
<li><a href="#5.90_Incompatible_changes">Incompatible changes</a>,
|
|
|
151 |
<a href="#5.90_Documentation">Documentation</a>,
|
|
|
152 |
<a href="#5.90_Procedures">Procedures</a>,
|
|
|
153 |
<a href="#5.90_Utilities">Utilities</a>,
|
|
|
154 |
<a href="#5.90_Drivers">Drivers</a>,
|
|
|
155 |
<a href="#5.90_Platforms">Platforms</a>,
|
|
|
156 |
<a href="#5.90_Fonts">Fonts</a>,
|
|
|
157 |
<a href="#5.90_PDF_writer">PDF writer</a>,
|
|
|
158 |
<a href="#5.90_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
159 |
<a href="#5.90_Interpreter">Interpreter</a>,
|
|
|
160 |
<a href="#5.90_Streams">Streams</a>,
|
|
|
161 |
<a href="#5.90_Library">Library</a>
|
|
|
162 |
</ul>
|
|
|
163 |
<li>(Version 5.89 deliberately omitted.)
|
|
|
164 |
<li><a href="#Version5.88">Version 5.88 (tester) (8/3/99)</a>
|
|
|
165 |
<ul>
|
|
|
166 |
<li><a href="#5.88_Incompatible_changes">Incompatible changes</a>,
|
|
|
167 |
<a href="#5.88_Documentation">Documentation</a>,
|
|
|
168 |
<a href="#5.88_Procedures">Procedures</a>,
|
|
|
169 |
<a href="#5.88_Drivers">Drivers</a>,
|
|
|
170 |
<a href="#5.88_Platforms">Platforms</a>,
|
|
|
171 |
<a href="#5.88_Fonts">Fonts</a>,
|
|
|
172 |
<a href="#5.88_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
173 |
<a href="#5.88_Interpreter">Interpreter</a>,
|
|
|
174 |
<a href="#5.88_Streams">Streams</a>,
|
|
|
175 |
<a href="#5.88_Library">Library</a>
|
|
|
176 |
</ul>
|
|
|
177 |
<li><a href="#Version5.87">Version 5.87 (tester) (6/29/99)</a>
|
|
|
178 |
<ul>
|
|
|
179 |
<li><a href="#5.87_Incompatible_changes">Incompatible changes</a>,
|
|
|
180 |
<a href="#5.87_Documentation">Documentation</a>,
|
|
|
181 |
<a href="#5.87_Procedures">Procedures</a>,
|
|
|
182 |
<a href="#5.87_Drivers">Drivers</a>,
|
|
|
183 |
<a href="#5.87_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
184 |
<a href="#5.87_Interpreter">Interpreter</a>,
|
|
|
185 |
<a href="#5.87_Library">Library</a>
|
|
|
186 |
</ul>
|
|
|
187 |
<li><a href="#Version5.86">Version 5.86 (tester) (6/14/99)</a>
|
|
|
188 |
<ul>
|
|
|
189 |
<li><a href="#5.86_Incompatible_changes">Incompatible changes</a>,
|
|
|
190 |
<a href="#5.86_Documentation">Documentation</a>,
|
|
|
191 |
<a href="#5.86_Procedures">Procedures</a>,
|
|
|
192 |
<a href="#5.86_Utilities">Utilities</a>,
|
|
|
193 |
<a href="#5.86_Drivers">Drivers</a>,
|
|
|
194 |
<a href="#5.86_Platforms">Platforms</a>,
|
|
|
195 |
<a href="#5.86_Fonts">Fonts</a>,
|
|
|
196 |
<a href="#5.86_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
197 |
<a href="#5.86_Interpreter">Interpreter</a>,
|
|
|
198 |
<a href="#5.86_Streams">Streams</a>,
|
|
|
199 |
<a href="#5.86_Library">Library</a>
|
|
|
200 |
</ul>
|
|
|
201 |
<li><a href="#Version5.85">Version 5.85 (tester) (5/29/99)</a>
|
|
|
202 |
<ul>
|
|
|
203 |
<li><a href="#5.85_Incompatible_changes">Incompatible changes</a>,
|
|
|
204 |
<a href="#5.85_Documentation">Documentation</a>,
|
|
|
205 |
<a href="#5.85_Procedures">Procedures</a>,
|
|
|
206 |
<a href="#5.85_Utilities">Utilities</a>,
|
|
|
207 |
<a href="#5.85_Drivers">Drivers</a>,
|
|
|
208 |
<a href="#5.85_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
209 |
<a href="#5.85_Interpreter">Interpreter</a>,
|
|
|
210 |
<a href="#5.85_Library">Library</a>
|
|
|
211 |
</ul>
|
|
|
212 |
<li><a href="#Version5.84">Version 5.84 (tester) (5/19/99)</a>
|
|
|
213 |
<ul>
|
|
|
214 |
<li><a href="#5.84_Incompatible_changes">Incompatible changes</a>,
|
|
|
215 |
<a href="#5.84_Procedures">Procedures</a>,
|
|
|
216 |
<a href="#5.84_Utilities">Utilities</a>,
|
|
|
217 |
<a href="#5.84_Drivers">Drivers</a>,
|
|
|
218 |
<a href="#5.84_Platforms">Platforms</a>,
|
|
|
219 |
<a href="#5.84_Interpreter">Interpreter</a>,
|
|
|
220 |
<a href="#5.84_Streams">Streams</a>,
|
|
|
221 |
<a href="#5.84_Library">Library</a>
|
|
|
222 |
</ul>
|
|
|
223 |
<li><a href="#Version5.83">Version 5.83 (tester) (5/13/99)</a>
|
|
|
224 |
<ul>
|
|
|
225 |
<li><a href="#5.83_Incompatible_changes">Incompatible changes</a>,
|
|
|
226 |
<a href="#5.83_Documentation">Documentation</a>,
|
|
|
227 |
<a href="#5.83_Procedures">Procedures</a>,
|
|
|
228 |
<a href="#5.83_Utilities">Utilities</a>,
|
|
|
229 |
<a href="#5.83_Interpreter">Interpreter</a>,
|
|
|
230 |
<a href="#5.83_Library">Library</a>
|
|
|
231 |
</ul>
|
|
|
232 |
<li><a href="#Version5.82">Version 5.82 (tester) (4/24/99)</a>
|
|
|
233 |
<ul>
|
|
|
234 |
<li><a href="#5.82_Incompatible_changes">Incompatible changes</a>,
|
|
|
235 |
<a href="#5.82_Documentation">Documentation</a>,
|
|
|
236 |
<a href="#5.82_Procedures">Procedures</a>,
|
|
|
237 |
<a href="#5.82_Utilities">Utilities</a>,
|
|
|
238 |
<a href="#5.82_Drivers">Drivers</a>,
|
|
|
239 |
<a href="#5.82_Platforms">Platforms</a>,
|
|
|
240 |
<a href="#5.82_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
241 |
<a href="#5.82_Interpreter">Interpreter</a>,
|
|
|
242 |
<a href="#5.82_Library">Library</a>
|
|
|
243 |
</ul>
|
|
|
244 |
<li><a href="#Version5.81">Version 5.81 (tester) (4/14/99)</a>
|
|
|
245 |
<ul>
|
|
|
246 |
<li><a href="#5.81_Incompatible_changes">Incompatible changes</a>,
|
|
|
247 |
<a href="#5.81_Procedures">Procedures</a>,
|
|
|
248 |
<a href="#5.81_Utilities">Utilities</a>,
|
|
|
249 |
<a href="#5.81_Drivers">Drivers</a>,
|
|
|
250 |
<a href="#5.81_Fonts">Fonts</a>,
|
|
|
251 |
<a href="#5.81_Platforms">Platforms</a>,
|
|
|
252 |
<a href="#5.81_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
253 |
<a href="#5.81_Interpreter">Interpreter</a>,
|
|
|
254 |
<a href="#5.81_Library">Library</a>
|
|
|
255 |
</ul>
|
|
|
256 |
<li><a href="#Version5.80">Version 5.80 (tester) (4/6/99)</a>
|
|
|
257 |
<ul>
|
|
|
258 |
<li><a href="#5.80_Incompatible_changes">Incompatible changes</a>,
|
|
|
259 |
<a href="#5.80_Procedures">Procedures</a>,
|
|
|
260 |
<a href="#5.80_Utilities">Utilities</a>,
|
|
|
261 |
<a href="#5.80_Drivers">Drivers</a>,
|
|
|
262 |
<a href="#5.80_Fonts">Fonts</a>,
|
|
|
263 |
<a href="#5.80_Platforms">Platforms</a>,
|
|
|
264 |
<a href="#5.80_Interpreter">Interpreter</a>,
|
|
|
265 |
<a href="#5.80_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
266 |
<a href="#5.80_Streams">Streams</a>,
|
|
|
267 |
<a href="#5.80_Library">Library</a>
|
|
|
268 |
</ul>
|
|
|
269 |
<li>(Versions 5.74 - 5.79 deliberately omitted.)
|
|
|
270 |
<li><a href="#Version5.73">Version 5.73 (tester) (3/19/99)</a>
|
|
|
271 |
<ul>
|
|
|
272 |
<li><a href="#5.73_Incompatible_changes">Incompatible changes</a>,
|
|
|
273 |
<a href="#5.73_Documentation">Documentation</a>,
|
|
|
274 |
<a href="#5.73_Procedures">Procedures</a>,
|
|
|
275 |
<a href="#5.73_Drivers">Drivers</a>,
|
|
|
276 |
<a href="#5.73_Interpreter">Interpreter</a>,
|
|
|
277 |
<a href="#5.73_Library">Library</a>
|
|
|
278 |
</ul>
|
|
|
279 |
<li><a href="#Version5.72">Version 5.72 (tester) (3/17/99)</a>
|
|
|
280 |
<ul>
|
|
|
281 |
<li><a href="#5.72_Incompatible_changes">Incompatible changes</a>,
|
|
|
282 |
<a href="#5.72_Documentation">Documentation</a>,
|
|
|
283 |
<a href="#5.72_Procedures">Procedures</a>,
|
|
|
284 |
<a href="#5.72_Utilities">Utilities</a>,
|
|
|
285 |
<a href="#5.72_Drivers">Drivers</a>,
|
|
|
286 |
<a href="#5.72_Fonts">Fonts</a>,
|
|
|
287 |
<a href="#5.72_Interpreter">Interpreter</a>,
|
|
|
288 |
<a href="#5.72_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
289 |
<a href="#5.72_Streams">Streams</a>,
|
|
|
290 |
<a href="#5.72_Library">Library</a>
|
|
|
291 |
</ul>
|
|
|
292 |
<li><a href="#Version5.71">Version 5.71 (tester) (3/3/99)</a>
|
|
|
293 |
<ul>
|
|
|
294 |
<li><a href="#5.71_Incompatible_changes">Incompatible changes</a>,
|
|
|
295 |
<a href="#5.71_Documentation">Documentation</a>,
|
|
|
296 |
<a href="#5.71_Procedures">Procedures</a>,
|
|
|
297 |
<a href="#5.71_Utilities">Utilities</a>,
|
|
|
298 |
<a href="#5.71_Drivers">Drivers</a>,
|
|
|
299 |
<a href="#5.71_Fonts">Fonts</a>,
|
|
|
300 |
<a href="#5.71_Interpreter">Interpreter</a>,
|
|
|
301 |
<a href="#5.71_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
302 |
<a href="#5.71_Streams">Streams</a>,
|
|
|
303 |
<a href="#5.71_Library">Library</a>
|
|
|
304 |
</ul>
|
|
|
305 |
<li><a href="#Version5.70">Version 5.70 (internal) (2/20/99)</a>
|
|
|
306 |
<ul>
|
|
|
307 |
<li><a href="#5.70_Incompatible_changes">Incompatible changes</a>,
|
|
|
308 |
<a href="#5.70_Documentation">Documentation</a>,
|
|
|
309 |
<a href="#5.70_Procedures">Procedures</a>,
|
|
|
310 |
<a href="#5.70_Utilities">Utilities</a>,
|
|
|
311 |
<a href="#5.70_Drivers">Drivers</a>,
|
|
|
312 |
<a href="#5.70_Fonts">Fonts</a>,
|
|
|
313 |
<a href="#5.70_Interpreter">Interpreter</a>,
|
|
|
314 |
<a href="#5.70_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
315 |
<a href="#5.70_Streams">Streams</a>,
|
|
|
316 |
<a href="#5.70_Library">Library</a>
|
|
|
317 |
</ul>
|
|
|
318 |
<li><a href="#Version5.69">Version 5.69 (internal) (2/4/99)</a>
|
|
|
319 |
<ul>
|
|
|
320 |
<li><a href="#5.69_Procedures">Procedures</a>,
|
|
|
321 |
<a href="#5.69_Utilities">Utilities</a>,
|
|
|
322 |
<a href="#5.69_Drivers">Drivers</a>,
|
|
|
323 |
<a href="#5.69_Interpreter">Interpreter</a>,
|
|
|
324 |
<a href="#5.69_Streams">Streams</a>,
|
|
|
325 |
<a href="#5.69_Library">Library</a>
|
|
|
326 |
</ul>
|
|
|
327 |
<li><a href="#Version5.68">Version 5.68 (internal) (1/29/99)</a>
|
|
|
328 |
<ul>
|
|
|
329 |
<li><a href="#5.68_Incompatible_changes">Incompatible changes</a>,
|
|
|
330 |
<a href="#5.68_Documentation">Documentation</a>,
|
|
|
331 |
<a href="#5.68_Procedures">Procedures</a>,
|
|
|
332 |
<a href="#5.68_Utilities">Utilities</a>,
|
|
|
333 |
<a href="#5.68_Drivers">Drivers</a>,
|
|
|
334 |
<a href="#5.68_Fonts">Fonts</a>,
|
|
|
335 |
<a href="#5.68_Platforms">Platforms</a>,
|
|
|
336 |
<a href="#5.68_Interpreter">Interpreter</a>,
|
|
|
337 |
<a href="#5.68_Streams">Streams</a>,
|
|
|
338 |
<a href="#5.68_Library">Library</a>
|
|
|
339 |
</ul>
|
|
|
340 |
<li><a href="#Version5.67">Version 5.67 (internal) (1/8/99)</a>
|
|
|
341 |
<ul>
|
|
|
342 |
<li><a href="#5.67_Incompatible_changes">Incompatible changes</a>,
|
|
|
343 |
<a href="#5.67_Documentation">Documentation</a>,
|
|
|
344 |
<a href="#5.67_Procedures">Procedures</a>,
|
|
|
345 |
<a href="#5.67_Utilities">Utilities</a>,
|
|
|
346 |
<a href="#5.67_Drivers">Drivers</a>,
|
|
|
347 |
<a href="#5.67_Fonts">Fonts</a>,
|
|
|
348 |
<a href="#5.67_Interpreter">Interpreter</a>,
|
|
|
349 |
<a href="#5.67_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
350 |
<a href="#5.67_Streams">Streams</a>,
|
|
|
351 |
<a href="#5.67_Library">Library</a>
|
|
|
352 |
</ul>
|
|
|
353 |
<li><a href="#Version5.66">Version 5.66 (internal) (11/25/98)</a>
|
|
|
354 |
<ul>
|
|
|
355 |
<li><a href="#5.66_Incompatible_changes">Incompatible changes</a>,
|
|
|
356 |
<a href="#5.66_Documentation">Documentation</a>,
|
|
|
357 |
<a href="#5.66_Procedures">Procedures</a>,
|
|
|
358 |
<a href="#5.66_Utilities">Utilities</a>,
|
|
|
359 |
<a href="#5.66_Drivers">Drivers</a>,
|
|
|
360 |
<a href="#5.66_Platforms">Platforms</a>,
|
|
|
361 |
<a href="#5.66_Interpreter">Interpreter</a>,
|
|
|
362 |
<a href="#5.66_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
363 |
<a href="#5.66_Streams">Streams</a>,
|
|
|
364 |
<a href="#5.66_Library">Library</a>
|
|
|
365 |
</ul>
|
|
|
366 |
<li><a href="#Version5.65">Version 5.65 (internal) (11/13/98)</a>
|
|
|
367 |
<ul>
|
|
|
368 |
<li><a href="#5.65_Incompatible_changes">Incompatible changes</a>,
|
|
|
369 |
<a href="#5.65_Documentation">Documentation</a>,
|
|
|
370 |
<a href="#5.65_Procedures">Procedures</a>,
|
|
|
371 |
<a href="#5.65_Utilities">Utilities</a>,
|
|
|
372 |
<a href="#5.65_Drivers">Drivers</a>,
|
|
|
373 |
<a href="#5.65_Platforms">Platforms</a>,
|
|
|
374 |
<a href="#5.65_Interpreter">Interpreter</a>,
|
|
|
375 |
<a href="#5.65_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
376 |
<a href="#5.65_Library">Library</a>
|
|
|
377 |
</ul>
|
|
|
378 |
<li><a href="#Version5.64">Version 5.64 (internal) (11/5/98)</a>
|
|
|
379 |
<ul>
|
|
|
380 |
<li><a href="#5.64_Incompatible_changes">Incompatible changes</a>,
|
|
|
381 |
<a href="#5.64_Documentation">Documentation</a>,
|
|
|
382 |
<a href="#5.64_Procedures">Procedures</a>,
|
|
|
383 |
<a href="#5.64_Drivers">Drivers</a>,
|
|
|
384 |
<a href="#5.64_Library">Library</a>
|
|
|
385 |
</ul>
|
|
|
386 |
<li><a href="#Version5.63">Version 5.63 (internal) (11/4/98)</a>
|
|
|
387 |
<ul>
|
|
|
388 |
<li><a href="#5.63_Incompatible_changes">Incompatible changes</a>,
|
|
|
389 |
<a href="#5.63_Documentation">Documentation</a>,
|
|
|
390 |
<a href="#5.63_Procedures">Procedures</a>,
|
|
|
391 |
<a href="#5.63_Drivers">Drivers</a>,
|
|
|
392 |
<a href="#5.63_Interpreter">Interpreter</a>,
|
|
|
393 |
<a href="#5.63_Library">Library</a>
|
|
|
394 |
</ul>
|
|
|
395 |
<li><a href="#Version5.62">Version 5.62 (internal) (10/31/98)</a>
|
|
|
396 |
<ul>
|
|
|
397 |
<li><a href="#5.62_Incompatible_changes">Incompatible changes</a>,
|
|
|
398 |
<a href="#5.62_Documentation">Documentation</a>,
|
|
|
399 |
<a href="#5.62_Drivers">Drivers</a>,
|
|
|
400 |
<a href="#5.62_Interpreter">Interpreter</a>,
|
|
|
401 |
<a href="#5.62_Library">Library</a>
|
|
|
402 |
</ul>
|
|
|
403 |
<li><a href="#Version5.61">Version 5.61 (internal) (10/28/98)</a>
|
|
|
404 |
<ul>
|
|
|
405 |
<li><a href="#5.61_Documentation">Documentation</a>,
|
|
|
406 |
<a href="#5.61_Procedures">Procedures</a>,
|
|
|
407 |
<a href="#5.61_Utilities">Utilities</a>,
|
|
|
408 |
<a href="#5.61_Drivers">Drivers</a>,
|
|
|
409 |
<a href="#5.61_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
410 |
<a href="#5.61_Streams">Streams</a>,
|
|
|
411 |
<a href="#5.61_Library">Library</a>
|
|
|
412 |
</ul>
|
|
|
413 |
<li><a href="#Version5.60">Version 5.60 (internal) (10/18/98)</a>
|
|
|
414 |
<ul>
|
|
|
415 |
<li><a href="#5.60_Incompatible_changes">Incompatible changes</a>,
|
|
|
416 |
<a href="#5.60_Documentation">Documentation</a>,
|
|
|
417 |
<a href="#5.60_Procedures">Procedures</a>,
|
|
|
418 |
<a href="#5.60_Utilities">Utilities</a>,
|
|
|
419 |
<a href="#5.60_Drivers">Drivers</a>,
|
|
|
420 |
<a href="#5.60_Platforms">Platforms</a>,
|
|
|
421 |
<a href="#5.60_Interpreter">Interpreter</a>,
|
|
|
422 |
<a href="#5.60_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
423 |
<a href="#5.60_Streams">Streams</a>,
|
|
|
424 |
<a href="#5.60_Library">Library</a>
|
|
|
425 |
</ul>
|
|
|
426 |
<li>(Versions 5.51 - 5.59 deliberately omitted.)
|
|
|
427 |
<li><a href="#Version5.50">Version 5.50 (9/16/98)</a>
|
|
|
428 |
<ul>
|
|
|
429 |
<li><a href="#5.50_Documentation">Documentation</a>,
|
|
|
430 |
<a href="#5.50_Procedures">Procedures</a>,
|
|
|
431 |
<a href="#5.50_Utilities">Utilities</a>,
|
|
|
432 |
<a href="#5.50_Drivers">Drivers</a>,
|
|
|
433 |
<a href="#5.50_Platforms">Platforms</a>,
|
|
|
434 |
<a href="#5.50_Interpreter">Interpreter</a>,
|
|
|
435 |
<a href="#5.50_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
436 |
<a href="#5.50_Library">Library</a>
|
|
|
437 |
</ul>
|
|
|
438 |
<li><a href="#Version5.40">Version 5.40 (beta) (9/10/98)</a>
|
|
|
439 |
<ul>
|
|
|
440 |
<li><a href="#5.40_Documentation">Documentation</a>,
|
|
|
441 |
<a href="#5.40_Procedures">Procedures</a>,
|
|
|
442 |
<a href="#5.40_Utilities">Utilities</a>,
|
|
|
443 |
<a href="#5.40_Drivers">Drivers</a>,
|
|
|
444 |
<a href="#5.40_Platforms">Platforms</a>,
|
|
|
445 |
<a href="#5.40_Library">Library</a>
|
|
|
446 |
</ul>
|
|
|
447 |
<li><a href="#Version5.39">Version 5.39 (beta) (9/8/98)</a>
|
|
|
448 |
<ul>
|
|
|
449 |
<li><a href="#5.39_Drivers">Drivers</a>,
|
|
|
450 |
<a href="#5.39_Library">Library</a>
|
|
|
451 |
</ul>
|
|
|
452 |
<li><a href="#Version5.38">Version 5.38 (beta) (9/3/98)</a>
|
|
|
453 |
<ul>
|
|
|
454 |
<li><a href="#5.38_Documentation">Documentation</a>,
|
|
|
455 |
<a href="#5.38_Drivers">Drivers</a>,
|
|
|
456 |
<a href="#5.38_Interpreter">Interpreter</a>,
|
|
|
457 |
<a href="#5.38_Library">Library</a>
|
|
|
458 |
</ul>
|
|
|
459 |
<li><a href="#Version5.37">Version 5.37 (beta) (8/31/98)</a>
|
|
|
460 |
<ul>
|
|
|
461 |
<li><a href="#5.37_Documentation">Documentation</a>,
|
|
|
462 |
<a href="#5.37_Procedures">Procedures</a>,
|
|
|
463 |
<a href="#5.37_Utilities">Utilities</a>,
|
|
|
464 |
<a href="#5.37_Drivers">Drivers</a>,
|
|
|
465 |
<a href="#5.37_Fonts">Fonts</a>,
|
|
|
466 |
<a href="#5.37_Interpreter">Interpreter</a>,
|
|
|
467 |
<a href="#5.37_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
468 |
<a href="#5.37_Streams">Streams</a>,
|
|
|
469 |
<a href="#5.37_Library">Library</a>
|
|
|
470 |
</ul>
|
|
|
471 |
<li><a href="#Version5.36">Version 5.36 (beta) (8/25/98)</a>
|
|
|
472 |
<ul>
|
|
|
473 |
<li><a href="#5.36_Documentation">Documentation</a>,
|
|
|
474 |
<a href="#5.36_Utilities">Utilities</a>,
|
|
|
475 |
<a href="#5.36_Drivers">Drivers</a>,
|
|
|
476 |
<a href="#5.36_Platforms">Platforms</a>,
|
|
|
477 |
<a href="#5.36_Fonts">Fonts</a>,
|
|
|
478 |
<a href="#5.36_Interpreter">Interpreter</a>,
|
|
|
479 |
<a href="#5.36_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
480 |
<a href="#5.36_Streams">Streams</a>,
|
|
|
481 |
<a href="#5.36_Library">Library</a>
|
|
|
482 |
</ul>
|
|
|
483 |
<li><a href="#Version5.35">Version 5.35 (beta) (8/18/98)</a>
|
|
|
484 |
<ul>
|
|
|
485 |
<li><a href="#5.35_Documentation">Documentation</a>,
|
|
|
486 |
<a href="#5.35_Drivers">Drivers</a>,
|
|
|
487 |
<a href="#5.35_Fonts">Fonts</a>,
|
|
|
488 |
<a href="#5.35_Interpreter">Interpreter</a>,
|
|
|
489 |
<a href="#5.35_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
490 |
<a href="#5.35_Library">Library</a>
|
|
|
491 |
</ul>
|
|
|
492 |
<li><a href="#Version5.34">Version 5.34 (beta) (8/16/98)</a>
|
|
|
493 |
<ul>
|
|
|
494 |
<li><a href="#V5.34_Documentation">Documentation</a>,
|
|
|
495 |
<a href="#V5.34_Procedures">Procedures</a>,
|
|
|
496 |
<a href="#V5.34_Drivers">Drivers</a>,
|
|
|
497 |
<a href="#V5.34_Interpreter">Interpreter</a>,
|
|
|
498 |
<a href="#V5.34_Library">Library</a>
|
|
|
499 |
</ul>
|
|
|
500 |
<li><a href="#Version5.33">Version 5.33 (beta) (8/14/98)</a>
|
|
|
501 |
<ul>
|
|
|
502 |
<li><a href="#V5.33_Platforms">Platforms</a>,
|
|
|
503 |
<a href="#V5.33_Fonts">Fonts</a>,
|
|
|
504 |
<a href="#V5.33_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
505 |
<a href="#V5.33_Library">Library</a>
|
|
|
506 |
</ul>
|
|
|
507 |
<li><a href="#Version5.32">Version 5.32 (beta) (8/13/98)</a>
|
|
|
508 |
<ul>
|
|
|
509 |
<li><a href="#V5.32_Procedures">Procedures</a>,
|
|
|
510 |
<a href="#V5.32_Interpreter">Interpreter</a>,
|
|
|
511 |
<a href="#V5.32_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
512 |
<a href="#V5.32_Library">Library</a>
|
|
|
513 |
</ul>
|
|
|
514 |
<li><a href="#Version5.31">Version 5.31 (limited) (8/11/98)</a>
|
|
|
515 |
<ul>
|
|
|
516 |
<li><a href="#V5.31_Drivers">Drivers</a>,
|
|
|
517 |
<a href="#V5.31_Interpreter">Interpreter</a>,
|
|
|
518 |
<a href="#V5.31_Library">Library</a>
|
|
|
519 |
</ul>
|
|
|
520 |
<li><a href="#Version5.30">Version 5.30 (limited) (8/10/98)</a>
|
|
|
521 |
<ul>
|
|
|
522 |
<li><a href="#V5.30_Documentation">Documentation</a>,
|
|
|
523 |
<a href="#V5.30_Procedures">Procedures</a>,
|
|
|
524 |
<a href="#V5.30_Drivers">Drivers</a>,
|
|
|
525 |
<a href="#V5.30_Platforms">Platforms</a>,
|
|
|
526 |
<a href="#V5.30_Fonts">Fonts</a>,
|
|
|
527 |
<a href="#V5.30_Interpreter">Interpreter</a>,
|
|
|
528 |
<a href="#V5.30_Streams">Streams</a>,
|
|
|
529 |
<a href="#V5.30_Library">Library</a>
|
|
|
530 |
</ul>
|
|
|
531 |
<li><a href="#Version5.28">Version 5.28 (limited) (8/3/98)</a>
|
|
|
532 |
<ul>
|
|
|
533 |
<li><a href="#V5.28_Documentation">Documentation</a>,
|
|
|
534 |
<a href="#V5.28_Procedures">Procedures</a>,
|
|
|
535 |
<a href="#V5.28_Utilities">Utilities</a>,
|
|
|
536 |
<a href="#V5.28_Drivers">Drivers</a>,
|
|
|
537 |
<a href="#V5.28_Platforms">Platforms</a>,
|
|
|
538 |
<a href="#V5.28_Interpreter">Interpreter</a>,
|
|
|
539 |
<a href="#V5.28_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
540 |
<a href="#V5.28_Streams">Streams</a>,
|
|
|
541 |
<a href="#V5.28_Library">Library</a>
|
|
|
542 |
</ul>
|
|
|
543 |
<li><a href="#Version5.27">Version 5.27 (limited) (7/18/98)</a>
|
|
|
544 |
<ul>
|
|
|
545 |
<li><a href="#V5.27_Documentation">Documentation</a>,
|
|
|
546 |
<a href="#V5.27_Procedures">Procedures</a>,
|
|
|
547 |
<a href="#V5.27_Drivers">Drivers</a>,
|
|
|
548 |
<a href="#V5.27_Platforms">Platforms</a>,
|
|
|
549 |
<a href="#V5.27_Interpreter">Interpreter</a>,
|
|
|
550 |
<a href="#V5.27_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
551 |
<a href="#V5.27_Library">Library</a>
|
|
|
552 |
</ul>
|
|
|
553 |
<li><a href="#Version5.26">Version 5.26 (limited) (7/7/98)</a>
|
|
|
554 |
<ul>
|
|
|
555 |
<li><a href="#V5.26_Procedures">Procedures</a>,
|
|
|
556 |
<a href="#V5.26_Drivers">Drivers</a>,
|
|
|
557 |
<a href="#V5.26_Fonts">Fonts</a>,
|
|
|
558 |
<a href="#V5.26_Interpreter">Interpreter</a>,
|
|
|
559 |
<a href="#V5.26_Library">Library</a>
|
|
|
560 |
</ul>
|
|
|
561 |
<li><a href="#Version5.25">Version 5.25 (limited) (7/1/98)</a>
|
|
|
562 |
<ul>
|
|
|
563 |
<li><a href="#V5.25_Documentation">Documentation</a>,
|
|
|
564 |
<a href="#V5.25_Procedures">Procedures</a>,
|
|
|
565 |
<a href="#V5.25_Platforms">Platforms</a>,
|
|
|
566 |
<a href="#V5.25_Fonts">Fonts</a>,
|
|
|
567 |
<a href="#V5.25_Interpreter">Interpreter</a>,
|
|
|
568 |
<a href="#V5.25_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
569 |
<a href="#V5.25_Drivers">Drivers</a>,
|
|
|
570 |
<a href="#V5.25_Library">Library</a>
|
|
|
571 |
</ul>
|
|
|
572 |
<li><a href="#Version5.24">Version 5.24 (limited) (6/17/98)</a>
|
|
|
573 |
<ul>
|
|
|
574 |
<li><a href="#V5.24_Documentation">Documentation</a>,
|
|
|
575 |
<a href="#V5.24_Procedures">Procedures</a>,
|
|
|
576 |
<a href="#V5.24_Utilities">Utilities</a>,
|
|
|
577 |
<a href="#V5.24_Drivers">Drivers</a>,
|
|
|
578 |
<a href="#V5.24_Platforms">Platforms</a>,
|
|
|
579 |
<a href="#V5.24_Fonts">Fonts</a>,
|
|
|
580 |
<a href="#V5.24_Interpreter">Interpreter</a>,
|
|
|
581 |
<a href="#V5.24_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
582 |
<a href="#V5.24_Streams">Streams</a>,
|
|
|
583 |
<a href="#V5.24_Library">Library</a>
|
|
|
584 |
</ul>
|
|
|
585 |
<li><a href="#Version5.23">Version 5.23 (limited) (5/14/98)</a>
|
|
|
586 |
<ul>
|
|
|
587 |
<li><a href="#V5.23_Documentation">Documentation</a>,
|
|
|
588 |
<a href="#V5.23_Procedures">Procedures</a>,
|
|
|
589 |
<a href="#V5.23_Utilities">Utilities</a>,
|
|
|
590 |
<a href="#V5.23_Drivers">Drivers</a>,
|
|
|
591 |
<a href="#V5.23_Platforms">Platforms</a>,
|
|
|
592 |
<a href="#V5.23_Fonts">Fonts</a>,
|
|
|
593 |
<a href="#V5.23_Interpreter">Interpreter</a>,
|
|
|
594 |
<a href="#V5.23_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
595 |
<a href="#V5.23_Streams">Streams</a>,
|
|
|
596 |
<a href="#V5.23_Library">Library</a>
|
|
|
597 |
</ul>
|
|
|
598 |
<li><a href="#Version5.22">Version 5.22 (limited) (2/19/98)</a>
|
|
|
599 |
<ul>
|
|
|
600 |
<li><a href="#V5.22_Documentation">Documentation</a>,
|
|
|
601 |
<a href="#V5.22_Procedures">Procedures</a>,
|
|
|
602 |
<a href="#V5.22_Utilities">Utilities</a>,
|
|
|
603 |
<a href="#V5.22_Drivers">Drivers</a>,
|
|
|
604 |
<a href="#V5.22_Interpreter">Interpreter</a>,
|
|
|
605 |
<a href="#V5.22_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
606 |
<a href="#V5.22_Streams">Streams</a>,
|
|
|
607 |
<a href="#V5.22_Library">Library</a>
|
|
|
608 |
</ul>
|
|
|
609 |
<li><a href="#Version5.21">Version 5.21 (limited) (1/19/98)</a>
|
|
|
610 |
<ul>
|
|
|
611 |
<li><a href="#V5.21_Documentation">Documentation</a>,
|
|
|
612 |
<a href="#V5.21_Procedures">Procedures</a>,
|
|
|
613 |
<a href="#V5.21_Drivers">Drivers</a>,
|
|
|
614 |
<a href="#V5.21_Fonts">Fonts</a>,
|
|
|
615 |
<a href="#V5.21_Interpreter">Interpreter</a>,
|
|
|
616 |
<a href="#V5.21_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
617 |
<a href="#V5.21_Library">Library</a>
|
|
|
618 |
</ul>
|
|
|
619 |
<li><a href="#Version5.20">Version 5.20 (limited) (1/8/98)</a>
|
|
|
620 |
<ul>
|
|
|
621 |
<li><a href="#V5.20_Documentation">Documentation</a>,
|
|
|
622 |
<a href="#V5.20_Procedures">Procedures</a>,
|
|
|
623 |
<a href="#V5.20_Utilities">Utilities</a>,
|
|
|
624 |
<a href="#V5.20_Drivers">Drivers</a>,
|
|
|
625 |
<a href="#V5.20_Platforms">Platforms</a>,
|
|
|
626 |
<a href="#V5.20_Fonts">Fonts</a>,
|
|
|
627 |
<a href="#V5.20_Interpreter">Interpreter</a>,
|
|
|
628 |
<a href="#V5.20_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
629 |
<a href="#V5.20_Streams">Streams</a>,
|
|
|
630 |
<a href="#V5.20_Library">Library</a>
|
|
|
631 |
</ul>
|
|
|
632 |
<li><a href="#Version5.10">Version 5.10 (11/23/97)</a>
|
|
|
633 |
<ul>
|
|
|
634 |
<li><a href="#V5.10_Documentation">Documentation</a>,
|
|
|
635 |
<a href="#V5.10_Procedures">Procedures</a>,
|
|
|
636 |
<a href="#V5.10_Utilities">Utilities</a>,
|
|
|
637 |
<a href="#V5.10_Drivers">Drivers</a>,
|
|
|
638 |
<a href="#V5.10_Interpreter">Interpreter</a>,
|
|
|
639 |
<a href="#V5.10_Library">Library</a>
|
|
|
640 |
</ul>
|
|
|
641 |
<li><a href="#Version5.07">Version 5.07 (limited) (10/31/97)</a>
|
|
|
642 |
<ul>
|
|
|
643 |
<li><a href="#V5.07_Documentation">Documentation</a>,
|
|
|
644 |
<a href="#V5.07_Drivers">Drivers</a>,
|
|
|
645 |
<a href="#V5.07_Library">Library</a>
|
|
|
646 |
</ul>
|
|
|
647 |
<li><a href="#Version5.06">Version 5.06 (limited) (10/7/97)</a>
|
|
|
648 |
<ul>
|
|
|
649 |
<li><a href="#V5.06_Documentation">Documentation</a>,
|
|
|
650 |
<a href="#V5.06_Procedures">Procedures</a>,
|
|
|
651 |
<a href="#V5.06_Utilities">Utilities</a>,
|
|
|
652 |
<a href="#V5.06_Drivers">Drivers</a>,
|
|
|
653 |
<a href="#V5.06_Interpreter">Interpreter</a>,
|
|
|
654 |
<a href="#V5.06_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
655 |
<a href="#V5.06_Library">Library</a>
|
|
|
656 |
</ul>
|
|
|
657 |
<li><a href="#Version5.05">Version 5.05 (limited) (9/24/97)</a>
|
|
|
658 |
<ul>
|
|
|
659 |
<li><a href="#V5.05_Platforms">Platforms</a>,
|
|
|
660 |
<a href="#V5.05_Drivers">Drivers</a>,
|
|
|
661 |
<a href="#V5.05_Interpreter">Interpreter</a>,
|
|
|
662 |
<a href="#V5.05_Interpreter_PDF">Interpreter (PDF)</a>
|
|
|
663 |
</ul>
|
|
|
664 |
<li><a href="#Version5.04">Version 5.04 (limited) (9/21/97)</a>
|
|
|
665 |
<ul>
|
|
|
666 |
<li><a href="#V5.04_Documentation">Documentation</a>,
|
|
|
667 |
<a href="#V5.04_Procedures">Procedures</a>,
|
|
|
668 |
<a href="#V5.04_Utilities">Utilities</a>,
|
|
|
669 |
<a href="#V5.04_Drivers">Drivers</a>,
|
|
|
670 |
<a href="#V5.04_Interpreter">Interpreter</a>,
|
|
|
671 |
<a href="#V5.04_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
672 |
<a href="#V5.04_Library">Library</a>
|
|
|
673 |
</ul>
|
|
|
674 |
<li><a href="#Version5.03">Version 5.03 (8/8/97)</a>
|
|
|
675 |
<ul>
|
|
|
676 |
<li><a href="#V5.03_Documentation">Documentation</a>,
|
|
|
677 |
<a href="#V5.03_Procedures">Procedures</a>,
|
|
|
678 |
<a href="#V5.03_Drivers">Drivers</a>,
|
|
|
679 |
<a href="#V5.03_Platforms">Platforms</a>,
|
|
|
680 |
<a href="#V5.03_Fonts">Fonts</a>,
|
|
|
681 |
<a href="#V5.03_Interpreter">Interpreter</a>,
|
|
|
682 |
<a href="#V5.03_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
683 |
<a href="#V5.03_Library">Library</a>
|
|
|
684 |
</ul>
|
|
|
685 |
<li><a href="#Version5.02">Version 5.02 (7/28/97)</a>
|
|
|
686 |
<ul>
|
|
|
687 |
<li><a href="#V5.02_Documentation">Documentation</a>,
|
|
|
688 |
<a href="#V5.02_Procedures">Procedures</a>,
|
|
|
689 |
<a href="#V5.02_Utilities">Utilities</a>,
|
|
|
690 |
<a href="#V5.02_Drivers">Drivers</a>,
|
|
|
691 |
<a href="#V5.02_Platforms">Platforms</a>,
|
|
|
692 |
<a href="#V5.02_Fonts">Fonts</a>,
|
|
|
693 |
<a href="#V5.02_Interpreter">Interpreter</a>,
|
|
|
694 |
<a href="#V5.02_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
695 |
<a href="#V5.02_Library">Library</a>
|
|
|
696 |
</ul>
|
|
|
697 |
<li><a href="#Version5.01">Version 5.01 (6/22/97)</a>
|
|
|
698 |
<ul>
|
|
|
699 |
<li><a href="#V5.01_Documentation">Documentation</a>,
|
|
|
700 |
<a href="#V5.01_Procedures">Procedures</a>,
|
|
|
701 |
<a href="#V5.01_Utilities">Utilities</a>,
|
|
|
702 |
<a href="#V5.01_Drivers">Drivers</a>,
|
|
|
703 |
<a href="#V5.01_Platforms">Platforms</a>,
|
|
|
704 |
<a href="#V5.01_Interpreter">Interpreter</a>,
|
|
|
705 |
<a href="#V5.01_Interpreter_PDF">Interpreter (PDF)</a>,
|
|
|
706 |
<a href="#V5.01_Library">Library</a>
|
|
|
707 |
</ul>
|
|
|
708 |
<li><a href="#Version5.0">Version 5.0 (6/6/97)</a>
|
|
|
709 |
<ul>
|
|
|
710 |
<li><a href="#V5.0_Documentation">Documentation</a>,
|
|
|
711 |
<a href="#V5.0_Procedures">Procedures</a>,
|
|
|
712 |
<a href="#V5.0_Interpreter">Interpreter</a>,
|
|
|
713 |
<a href="#V5.0_Library">Library</a>
|
|
|
714 |
</ul>
|
|
|
715 |
</ul></blockquote>
|
|
|
716 |
|
|
|
717 |
<!-- [1.2 end table of contents] =========================================== -->
|
|
|
718 |
|
|
|
719 |
<!-- [1.3 begin hint] ====================================================== -->
|
|
|
720 |
|
|
|
721 |
<p>
|
|
|
722 |
This document is a record of changes in Ghostscript releases numbered 5.n.
|
|
|
723 |
For earlier versions, see the the history documents:
|
|
|
724 |
|
|
|
725 |
<blockquote>
|
|
|
726 |
<a href="History4.htm">History of Ghostscript versions 4.n</a><br>
|
|
|
727 |
<a href="History3.htm">History of Ghostscript versions 3.n</a><br>
|
|
|
728 |
<a href="History2.htm">History of Ghostscript versions 2.n</a><br>
|
|
|
729 |
<a href="History1.htm">History of Ghostscript versions 1.n</a>
|
|
|
730 |
</blockquote>
|
|
|
731 |
|
|
|
732 |
<p>For other information, see the <a href="Readme.htm">Ghostscript
|
|
|
733 |
overview</a>.
|
|
|
734 |
|
|
|
735 |
<!-- [1.3 end hint] ======================================================== -->
|
|
|
736 |
|
|
|
737 |
<hr>
|
|
|
738 |
|
|
|
739 |
<!-- [1.0 end visible header] ============================================== -->
|
|
|
740 |
|
|
|
741 |
<!-- [2.0 begin contents] ================================================== -->
|
|
|
742 |
|
|
|
743 |
<p>
|
|
|
744 |
Within each release, news appears in the following order: Incompatible
|
|
|
745 |
changes, Documentation, Procedures, Utilities, Drivers, Platforms, Fonts,
|
|
|
746 |
Interpreter, Streams (included under Interpreter through release 2.9.9),
|
|
|
747 |
Library. Changes marked with a * were made available as patches to a
|
|
|
748 |
previous release.
|
|
|
749 |
|
|
|
750 |
<hr>
|
|
|
751 |
|
|
|
752 |
<h2><a name="Version5.99"></a>Version 5.99 (beta) (1999-12-18)</h2>
|
|
|
753 |
|
|
|
754 |
<h3><a name="5.99_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
755 |
|
|
|
756 |
(Procedures)
|
|
|
757 |
- All platform-specific makefiles must now define the Q macro.
|
|
|
758 |
- Ghostscript now exits with an error status if an error occurs in a
|
|
|
759 |
file named on the command line, a -c command, or piped input.
|
|
|
760 |
(Utilities)
|
|
|
761 |
- ps2epsi now disables setpagedevice: the bounding box of the EPSI
|
|
|
762 |
output file is recorded only in the %%BoundingBox comment.
|
|
|
763 |
(Drivers)
|
|
|
764 |
- The return type of gdev_vector_close_file is changed from void
|
|
|
765 |
to int.
|
|
|
766 |
(Interpreter)
|
|
|
767 |
- The name of the predefined stochastic halftone is changed to
|
|
|
768 |
StochasticDefault. (This change was actually made in 5.98.)
|
|
|
769 |
- The compht feature is replaced by stocht.
|
|
|
770 |
- Font searching now looks in FontResourceDir.
|
|
|
771 |
- The ASCIIHexEncode filter now produces upper-case output.
|
|
|
772 |
(Library)
|
|
|
773 |
- The type returned by compiled halftone resource access procedures
|
|
|
774 |
is changed.
|
|
|
775 |
|
|
|
776 |
</pre><h3><a name="5.99_Documentation"></a>Documentation</h3><pre>
|
|
|
777 |
|
|
|
778 |
Fixes problems:
|
|
|
779 |
- A stray character had gotten added to the beginning of a file.
|
|
|
780 |
(doc/Use.htm)
|
|
|
781 |
- Many minor HTML errors had crept in. (doc/*.htm, doc/gsdoc.el)
|
|
|
782 |
|
|
|
783 |
Updates the docmentation on the mswinpr2 driver. (doc/Devices.htm)
|
|
|
784 |
|
|
|
785 |
Notes that GNU make currently does not work on OpenVMS. (doc/Make.htm)
|
|
|
786 |
|
|
|
787 |
Documents the fact that x/y_pixels_per_inch are deprecated. (gxdevcli.h)
|
|
|
788 |
|
|
|
789 |
Documents certain bugs in ps2pdf. (doc/Ps2pdf.htm)
|
|
|
790 |
|
|
|
791 |
Documents the addition of FontResourceDir to the font search process.
|
|
|
792 |
(doc/Use.htm)
|
|
|
793 |
|
|
|
794 |
Documents the new arrangement for B paper sizes. (doc/Psfiles.htm,
|
|
|
795 |
doc/Use.htm, doc/gs-vms.hlp, man/gs.1)
|
|
|
796 |
|
|
|
797 |
Removes the "under development" warning from the text API and
|
|
|
798 |
get_bits_rectangle documentation, and adds a little more detail.
|
|
|
799 |
(doc/Drivers.htm)
|
|
|
800 |
|
|
|
801 |
Adds new user-contributed documentation for installing and using Ghostscript
|
|
|
802 |
fonts with X Windows. (doc/Fonts.htm, doc/Readme.htm, doc/Use.htm)
|
|
|
803 |
|
|
|
804 |
Adds building with the Watcom compiler to the release process.
|
|
|
805 |
(doc/Release.htm)
|
|
|
806 |
|
|
|
807 |
Adds an "Improving performance" section to the user documentation.
|
|
|
808 |
(doc/Use.htm)
|
|
|
809 |
|
|
|
810 |
Adds a note to the C style guide about order of evaluation.
|
|
|
811 |
(doc/C-style.htm)
|
|
|
812 |
|
|
|
813 |
Documents the new stocht.ps file. (doc/Psfiles.htm)
|
|
|
814 |
|
|
|
815 |
</pre><h3><a name="5.99_Procedures"></a>Procedures</h3><pre>
|
|
|
816 |
|
|
|
817 |
Fixes problems:
|
|
|
818 |
- A missing dependency caused builds on certain platforms to fail.
|
|
|
819 |
(int.mak)
|
|
|
820 |
- $(EXP) was missing before various utility invocations. (int.mak)
|
|
|
821 |
- VMS converts all unquoted arguments to lower case. In order to
|
|
|
822 |
work around this, we have added a platform-specific makefile macro Q, which
|
|
|
823 |
is defined as a quote mark on VMS and as an empty string on all other
|
|
|
824 |
platforms, and used it to quote the few mixed-case values in the makefiles.
|
|
|
825 |
We removed the obsolete QQ macro from os2.mak as well. (cfonts.mak,
|
|
|
826 |
dvx-head.mak, int.mak, openvms.mak, openvms.mmk, os2.mak, unixhead.mak,
|
|
|
827 |
wccommon.mak, winlib.mak)
|
|
|
828 |
- PSRCDIR was incorrectly referenced as PNGSRCDIR in one place.
|
|
|
829 |
(all-arch.mak)
|
|
|
830 |
- winint.mak had a conditional that Watcom's make program didn't
|
|
|
831 |
accept. (winint.mak)
|
|
|
832 |
|
|
|
833 |
Adds a makefile entry to allow compilation with libpng 1.0.5. (libpng.mak)
|
|
|
834 |
|
|
|
835 |
Updates the Borland C++ makefile to work with C++Builder 4. (bcwin32.mak)
|
|
|
836 |
|
|
|
837 |
Updates the Unix installation makefile to install stocht.ps. (unixinst.mak)
|
|
|
838 |
|
|
|
839 |
</pre><h3><a name="5.99_Utilities"></a>Utilities</h3><pre>
|
|
|
840 |
|
|
|
841 |
Fixes problems:
|
|
|
842 |
- ps2epsi didn't disable setpagedevice. (lib/ps2epsi)
|
|
|
843 |
- geninit needed <stdlib.h> for 'exit'. (geninit.c)
|
|
|
844 |
- Some invocations of utilities didn't deal with VMS's habit of
|
|
|
845 |
converting arguments to lower case. (geninit.c, cfonts.mak)
|
|
|
846 |
- The ps2pdf*.bat files didn't produce a usage message if no
|
|
|
847 |
arguments were provided. (lib/ps2pdf.bat, lib/ps2pdf12.bat,
|
|
|
848 |
lib/ps2pdf13.bat)
|
|
|
849 |
- Removes some warnings from the Windows uninstaller.
|
|
|
850 |
(dwuninst.cpp)
|
|
|
851 |
|
|
|
852 |
Upgrades the halftone compiler to handle Type 5 halftones. (genht.c)
|
|
|
853 |
|
|
|
854 |
Makes the initialization string compiler recognize sections of the code
|
|
|
855 |
where binary tokens are allowed, and convert literal hex strings within such
|
|
|
856 |
sections to binary-token strings, which take less space and load faster.
|
|
|
857 |
(geninit.c)
|
|
|
858 |
|
|
|
859 |
Adds a utility file to define b0 ... b6 as selecting JIS B paper sizes.
|
|
|
860 |
(unixinst.mak, lib/jispaper.ps)
|
|
|
861 |
|
|
|
862 |
Modifies the font printing utility to sort unencoded characters.
|
|
|
863 |
(lib/prfont.ps)
|
|
|
864 |
|
|
|
865 |
Adds a small utility to help use the StochasticDefault halftone.
|
|
|
866 |
(lib/stocht.ps)
|
|
|
867 |
|
|
|
868 |
</pre><h3><a name="5.99_Drivers"></a>Drivers</h3><pre>
|
|
|
869 |
|
|
|
870 |
Fixes problems:
|
|
|
871 |
- The output of the epswrite driver couldn't be embedded in another
|
|
|
872 |
file, because it assumed it was invoked with an empty operand stack.
|
|
|
873 |
(gdevps.c)
|
|
|
874 |
- "Vector" drivers didn't detect I/O errors such as filling up the
|
|
|
875 |
disk. (gdevvec.h, gdevpdf.c, gdevps.c, gdevpx.c, gdevvec.c)
|
|
|
876 |
- The bookkeeping for image color spaces when banding was incorrect,
|
|
|
877 |
possibly causing memory access errors. (gxclist.h, gxclimag.c, gxclist.c)
|
|
|
878 |
- The cljet5 driver didn't place the image on the page correctly.
|
|
|
879 |
(gdevclj.c)
|
|
|
880 |
- 16-bit X11 devices with R/G/B widths other than 5/6/5 sometimes
|
|
|
881 |
failed to map colors correctly. (gdevxcmp.h, gdevxcmp.c)
|
|
|
882 |
- The cljet5c driver omitted a needed cast. (gdevcljc.c)
|
|
|
883 |
|
|
|
884 |
Adds new x11rg16x and x11rg32x devices to test X Windows with unusual pixel
|
|
|
885 |
layout. (devs.mak, gdevxalt.c)
|
|
|
886 |
|
|
|
887 |
Works around a bug in Acrobat Distiller 4 (and perhaps some other PostScript
|
|
|
888 |
interpreters) that causes an error if CCITTFaxDecode with /EndOfBlock = true
|
|
|
889 |
is given data with no EOB (terminated by the end of the data stream
|
|
|
890 |
instead). (gdevps.c)
|
|
|
891 |
|
|
|
892 |
</pre><h3><a name="5.99_Platforms"></a>Platforms</h3><pre>
|
|
|
893 |
|
|
|
894 |
Fixes problems:
|
|
|
895 |
- The absence of mktemp on the Watcom platform caused a linking
|
|
|
896 |
error under Windows. (watc.mak, watcw32.mak, gp_iwatc.c, gp_mktmp.c)
|
|
|
897 |
|
|
|
898 |
</pre><h3><a name="5.99_Fonts"></a>Fonts</h3><pre>
|
|
|
899 |
|
|
|
900 |
Fixes problems:
|
|
|
901 |
- findfont, /Font resourcestatus, and /Font resourceforall weren't
|
|
|
902 |
consistent. (lib/gs_fonts.ps, lib/gs_res.ps)
|
|
|
903 |
- Very large TrueType fonts caused a stackoverflow. (lib/gs_ttf.ps)
|
|
|
904 |
|
|
|
905 |
</pre><h3><a name="5.99_PDF_writer"></a>PDF writer</h3><pre>
|
|
|
906 |
|
|
|
907 |
Fixes problems:
|
|
|
908 |
- Errors in pdfmark and setdistillerparams were ignored (!).
|
|
|
909 |
(lib/gs_pdfwr.ps)
|
|
|
910 |
- The PUT pdfmark didn't allow adding dictionaries to stream-type
|
|
|
911 |
objects. (The pdfmark documentation says this isn't allowed, but we think
|
|
|
912 |
this is an oversight, since it is reasonable and unambiguous and Acrobat
|
|
|
913 |
Distiller allows it.) (gdevpdfm.c)
|
|
|
914 |
- The token scanner used to substitute object names in pdfmark
|
|
|
915 |
parameters sometimes added an extra character on the end. (gdevpdfr.c)
|
|
|
916 |
- ashow and [a]widthshow produced incorrect text spacing. (bug
|
|
|
917 |
introduced by an optimization in 5.97) (gdevpdft.c)
|
|
|
918 |
- setdistillerparams left its argument on the stack.
|
|
|
919 |
(lib/gs_pdfwr.ps)
|
|
|
920 |
- 0-height images caused errors either at conversion or at rendering
|
|
|
921 |
time. (gdevpdfi.c)
|
|
|
922 |
- If the FontMatrix included a translation component, text was
|
|
|
923 |
positioned incorrectly. NOTE: this fix may not handle x/y/xyshow.
|
|
|
924 |
(gdevpdft.c)
|
|
|
925 |
- Out-of-range user-space coordinates could get generated for
|
|
|
926 |
rectangles. NOTE: they can still get generated for general paths.
|
|
|
927 |
(gdevpdfd.c)
|
|
|
928 |
- Widths weren't written for renamed built-in fonts. We fixed this
|
|
|
929 |
partly by improving the algorithm for recognizing built-in fonts.
|
|
|
930 |
(gdevpdff.h, gdevpdff.c, gdevpdft.c)
|
|
|
931 |
|
|
|
932 |
Works around the Acrobat limitation that user-space coordinates must not
|
|
|
933 |
exceed 32K. (fix from Artifex) (gdevpdfp.c)
|
|
|
934 |
|
|
|
935 |
Works around an Acrobat Reader 3 bug with printing files including Type 3
|
|
|
936 |
fonts: with the "Download Fonts Once" option, AR3 only emits the font subset
|
|
|
937 |
referenced on the first page where the font appears. (gdevpdfx.h,
|
|
|
938 |
gdevpdf.c, gdevpdft.c)
|
|
|
939 |
|
|
|
940 |
</pre><h3><a name="5.99_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
941 |
|
|
|
942 |
Fixes problems:
|
|
|
943 |
- Type 3 fonts weren't handled properly as a marking context, so if
|
|
|
944 |
a CharProc referenced a resource in the font, an error would occur.
|
|
|
945 |
(lib/pdf_fonts.ps)
|
|
|
946 |
- 0-height images caused an error. (lib/pdf_draw.ps)
|
|
|
947 |
|
|
|
948 |
</pre><h3><a name="5.99_Interpreter"></a>Interpreter</h3><pre>
|
|
|
949 |
|
|
|
950 |
Fixes problems:
|
|
|
951 |
- Errors weren't propagated properly. (bug introduced in 5.98 by
|
|
|
952 |
enhanced error recovery code) (imainarg.h, gs.c, imainarg.c)
|
|
|
953 |
- Errors in -c commands or in files named on the command line
|
|
|
954 |
sometimes allowed execution to continue, and did not terminate with an
|
|
|
955 |
abnormal status. (lib/gs_init.ps)
|
|
|
956 |
|
|
|
957 |
Changes the binary token scanner so that if the stream buffer is in foreign
|
|
|
958 |
space, binary-token strings will not be copied, but will be referenced
|
|
|
959 |
directly in the buffer. This parallels what is done for name strings.
|
|
|
960 |
(iscanbin.c)
|
|
|
961 |
|
|
|
962 |
Changes the stochastic halftone from multiple Type 3s to a Type 5.
|
|
|
963 |
(lib/ht_ccsto.ps, int.mak)
|
|
|
964 |
|
|
|
965 |
Replaces the compht feature with a new feature called stocht. If this
|
|
|
966 |
feature is selected, the StochasticDefault halftone resource will be
|
|
|
967 |
pre-loaded into Ghostscript. If COMPILE_INITS=1, all the halftone data
|
|
|
968 |
(threshold array, order and bits arrays) will be efficiently compiled into
|
|
|
969 |
the executable. (int.mak)
|
|
|
970 |
|
|
|
971 |
Replaces (...\n) print with (...) = everywhere. (lib/gs_cmdl.ps,
|
|
|
972 |
lib/gs_fonts.ps, lib/gs_init.ps, lib/gs_setpd.ps, lib/pdf_base.ps,
|
|
|
973 |
lib/pdf_font.ps, lib/pdf_main.ps, lib/pdf_sec.ps)
|
|
|
974 |
|
|
|
975 |
Adds support for JIS B paper sizes: statusdict will now include isob0..6 and
|
|
|
976 |
jisb0..6 operators, with b0..6 normally aliased to the former.
|
|
|
977 |
(lib/gs_statd.ps, lib/jispaper.ps)
|
|
|
978 |
|
|
|
979 |
Adds a b5tray procedure; limits the valid arguments for setpagetype to the
|
|
|
980 |
Adobe-defined values 0 and 1. (lib/gs_statd.ps)
|
|
|
981 |
|
|
|
982 |
Updates clients for the change in the gs_image_* API. (zimage.c)
|
|
|
983 |
|
|
|
984 |
Makes the default halftone lookup procedure more reasonable.
|
|
|
985 |
(lib/gs_init.ps, lib/gs_ll3.ps)
|
|
|
986 |
|
|
|
987 |
</pre><h3><a name="5.99_Streams"></a>Streams</h3><pre>
|
|
|
988 |
|
|
|
989 |
Fixes problems:
|
|
|
990 |
- An error condition when closing a file stream wasn't reported
|
|
|
991 |
properly. (sfxfd.c, sfxstdio.c)
|
|
|
992 |
|
|
|
993 |
For greater Adobe compatibility, changes the ASCIIHexEncode filter to
|
|
|
994 |
produce upper-case output. (sstring.c)
|
|
|
995 |
|
|
|
996 |
</pre><h3><a name="5.99_Library"></a>Library</h3><pre>
|
|
|
997 |
|
|
|
998 |
Fixes problems:
|
|
|
999 |
- The gs_image_* API didn't work for ImageType 3 images. Fixing
|
|
|
1000 |
this required a small (but backward-compatible) API change. (fix mostly
|
|
|
1001 |
provided by Artifex) (gsimage.h, gsimage.c)
|
|
|
1002 |
- The change in the bbox device in 5.95 broke it for the case where
|
|
|
1003 |
it was being used in a pipeline. (gdevbbox.c)
|
|
|
1004 |
- A possible overflow wasn't detected when stroking lines with very
|
|
|
1005 |
large coordinates. (gxstroke.c)
|
|
|
1006 |
- A mask was sized incorrectly. (gsdcolor.h)
|
|
|
1007 |
|
|
|
1008 |
Updates the runtime support for compiled halftones. (gxdhtres.h, gscdefs.h,
|
|
|
1009 |
gconf.c, gxclrast.c, gxhtbit.c)
|
|
|
1010 |
|
|
|
1011 |
Replaces all references to the now-deprecated x/y_pixels_per_inch with
|
|
|
1012 |
HWResolution[0/1]. (gsdevice.c, gxclist.c, gxpcmap.c)
|
|
|
1013 |
|
|
|
1014 |
</pre>
|
|
|
1015 |
|
|
|
1016 |
<hr>
|
|
|
1017 |
|
|
|
1018 |
<h2><a name="Version5.98"></a>Version 5.98 (beta) (1999-12-01)</h2>
|
|
|
1019 |
|
|
|
1020 |
<h3><a name="5.98_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
1021 |
|
|
|
1022 |
(Library)
|
|
|
1023 |
- The return type of init_proc is changed from void to int.
|
|
|
1024 |
- The return types of gs_lib_init* are changed from void to int.
|
|
|
1025 |
(Interpreter)
|
|
|
1026 |
- The return types of gs_[main_]init*, gs_[main_]add_lib_path,
|
|
|
1027 |
gs_[main_]set_lib_paths, and a number of internal initialization-related
|
|
|
1028 |
procedures are changed from void to int.
|
|
|
1029 |
|
|
|
1030 |
</pre><h3><a name="5.98_Documentation"></a>Documentation</h3><pre>
|
|
|
1031 |
|
|
|
1032 |
Improves the documentation of the clist_render_rectangle procedure.
|
|
|
1033 |
(gxclist.h)
|
|
|
1034 |
|
|
|
1035 |
Makes it clear that pre-public-release filesets should not be redistributed.
|
|
|
1036 |
(doc/Tester.htm)
|
|
|
1037 |
|
|
|
1038 |
Clarifies that the parameters for the X driver are command line switches,
|
|
|
1039 |
not X resources. (doc/Use.htm)
|
|
|
1040 |
|
|
|
1041 |
Improves the documentation of ps2pdf in response to some user comments.
|
|
|
1042 |
(doc/Ps2pdf.htm)
|
|
|
1043 |
|
|
|
1044 |
Documents the initial settings of the distiller parameters.
|
|
|
1045 |
(doc/Ps2pdf.htm)
|
|
|
1046 |
|
|
|
1047 |
Documents the UniqueIDs assigned to Aladdin. (lib/gs_fonts.ps)
|
|
|
1048 |
|
|
|
1049 |
Updates the documentation for the stochastic halftone mask. (doc/Make.htm)
|
|
|
1050 |
|
|
|
1051 |
Removes some obsolete material. (doc/Release.htm)
|
|
|
1052 |
|
|
|
1053 |
</pre><h3><a name="5.98_Procedures"></a>Procedures</h3><pre>
|
|
|
1054 |
|
|
|
1055 |
Fixes problems:
|
|
|
1056 |
- The new ps2pdf* scripts weren't included in the Unix install list.
|
|
|
1057 |
(unixinst.mak)
|
|
|
1058 |
- The directory names were missing in BEGINFILES. (openvms.mak)
|
|
|
1059 |
- The .pl and .sh scripts weren't included in the Unix install list.
|
|
|
1060 |
(unixinst.mak)
|
|
|
1061 |
|
|
|
1062 |
Updates all-arch.mak with a newer version from its contributor.
|
|
|
1063 |
(all-arch.mak)
|
|
|
1064 |
|
|
|
1065 |
Updates the makefiles for a change in eexec modularization. (devs.mak,
|
|
|
1066 |
int.mak, lib.mak)
|
|
|
1067 |
|
|
|
1068 |
</pre><h3><a name="5.98_Utilities"></a>Utilities</h3><pre>
|
|
|
1069 |
|
|
|
1070 |
Fixes problems:
|
|
|
1071 |
- The dvipdf usage message was incorrect. (lib/dvipdf)
|
|
|
1072 |
|
|
|
1073 |
Adds a utility for mechanically adding the Adobe extended Latin characters
|
|
|
1074 |
(primarily Central European accented letters) to a font. Eventually we
|
|
|
1075 |
would like to integrate this into the font loader and/or make extended
|
|
|
1076 |
versions of the standard 35 fonts. (lib/addxchar.ps)
|
|
|
1077 |
|
|
|
1078 |
</pre><h3><a name="5.98_Drivers"></a>Drivers</h3><pre>
|
|
|
1079 |
|
|
|
1080 |
Fixes problems:
|
|
|
1081 |
- psdf_sorted_glyphs_include didn't handle empty lists correctly.
|
|
|
1082 |
(gdevpsdf.c)
|
|
|
1083 |
- A reference to a #defined constant hadn't been converted to upper
|
|
|
1084 |
case. (gdevpsdf.h)
|
|
|
1085 |
- Acrobat Reader couldn't handle <> as the definition of
|
|
|
1086 |
Notice in an embedded font's FontInfo dictionary: it requires a ()
|
|
|
1087 |
string. (gdevpsd1.c)
|
|
|
1088 |
- The [e]pswrite driver didn't take stroked paths into account when
|
|
|
1089 |
computing the bounding box. (gdevps.c)
|
|
|
1090 |
|
|
|
1091 |
Updates gdevwpr2.c with a new version from its most recent author.
|
|
|
1092 |
(gdevwpr2.c)
|
|
|
1093 |
|
|
|
1094 |
</pre><h3><a name="5.98_Fonts"></a>Fonts</h3><pre>
|
|
|
1095 |
|
|
|
1096 |
Fixes problems:
|
|
|
1097 |
- The FONTPATH file scanner wasn't protected against errors.
|
|
|
1098 |
(lib/gs_fonts.ps)
|
|
|
1099 |
- Some badly designed Chinese TrueType fonts, whose 'post' table
|
|
|
1100 |
gives the name .null to all glyphs, didn't work properly. (lib/gs_ttf.ps)
|
|
|
1101 |
- The shareware Katakana font had an incorrect UniqueID.
|
|
|
1102 |
(fonts/fkarw.gsf)
|
|
|
1103 |
|
|
|
1104 |
Adds all of the PostScript 3 fonts to the intelligent substitution tables.
|
|
|
1105 |
(lib/gs_fonts.ps)
|
|
|
1106 |
|
|
|
1107 |
Changes the FONTPATH scanner to allow a %%BeginFont: line as the first line
|
|
|
1108 |
of a font. Nothing in Adobe's documentation suggests that this is
|
|
|
1109 |
acceptable, but some fonts have it. (lib/gs_fonts.ps)
|
|
|
1110 |
|
|
|
1111 |
Releases an updated set of the URW fonts, fixing the braceleftbt problem in
|
|
|
1112 |
the Symbol font and a couple of missing characters in the ZapfDingbats
|
|
|
1113 |
fonts, and adding the Euro glyph to the alphabetic fonts. The new archive
|
|
|
1114 |
also includes fonts.scale and fonts.dir files for use with X Windows
|
|
|
1115 |
(mkfontdir and xfs).
|
|
|
1116 |
|
|
|
1117 |
Centralizes the definition of Aladdin's XUIDs. (lib/gs_fonts.ps,
|
|
|
1118 |
lib/gs_ttf.ps)
|
|
|
1119 |
|
|
|
1120 |
</pre><h3><a name="5.98_PDF_writer"></a>PDF writer</h3><pre>
|
|
|
1121 |
|
|
|
1122 |
Fixes problems:
|
|
|
1123 |
- The algorithm for making font names unique didn't take subset
|
|
|
1124 |
prefixes into account. (gdevpdff.h, gdevpdff.c, gdevpdfw.c)
|
|
|
1125 |
- Computing character bounding boxes was taking an inordinate amount
|
|
|
1126 |
of time. (performance problem only) (gdevpdff.c)
|
|
|
1127 |
- The pdf_image_writer and pdf_image_enum structures didn't have GC
|
|
|
1128 |
descriptors, possibly causing memory corruption. (gdevpdfi.c)
|
|
|
1129 |
- PostScript files containing images with premature end-of-data were
|
|
|
1130 |
converted to PDF files with premature end-of-data, which Acrobat doesn't
|
|
|
1131 |
accept. (gdevpdfo.h, gdevpdfx.h, gdevpdfi.c, gdevpdfo.c, gdevpdfu.c)
|
|
|
1132 |
- Pattern resources whose image was written in-line omitted a needed
|
|
|
1133 |
gsave (q). (bug introduced in 5.94) (gdevpdfi.c)
|
|
|
1134 |
- The similarity between a font and a base font wasn't computed
|
|
|
1135 |
correctly, leading to some unnecessary writing of Widths for standard fonts.
|
|
|
1136 |
(gdevpdft.c)
|
|
|
1137 |
- Embedding a stream in the psdf_binary_writer caused garbage
|
|
|
1138 |
collector problems, because there could be pointers to that stream from
|
|
|
1139 |
elsewhere. (gdevpsdf.h, gdevpsdf.c)
|
|
|
1140 |
- The algorithms for deciding whether a font was script or serif
|
|
|
1141 |
were very inaccurate. (The revised ones are only somewhat better.)
|
|
|
1142 |
(gdevpdff.c)
|
|
|
1143 |
- Re-encoded characters in subset fonts weren't handled correctly.
|
|
|
1144 |
We work around this by writing the entire font if the character doesn't
|
|
|
1145 |
appear in the font's encoding. This is inefficient but will always produce
|
|
|
1146 |
correct output. (gdevpdff.h, gdevpdff.c, gdevpdft.c, gdevpdfw.c)
|
|
|
1147 |
- The meaning of bit 6 in the Flags was supposed to have changed in
|
|
|
1148 |
PDF 1.2, but didn't. (gdevpdff.h, gdevpdff.c, gdevpdfw.c)
|
|
|
1149 |
- The Widths array didn't get written out for embedded subsets of
|
|
|
1150 |
the built-in fonts. (gdevpdfw.c)
|
|
|
1151 |
- Planar images weren't handled correctly, and could cause memory
|
|
|
1152 |
corruption. (gdevpdfi.c)
|
|
|
1153 |
- Patterns still weren't scaled correctly; in fact, the "fix" in
|
|
|
1154 |
5.94 can't possibly have worked, and we don't understand why it seemed to.
|
|
|
1155 |
(gdevpdfi.c)
|
|
|
1156 |
|
|
|
1157 |
Recants the belief that the default encoding for embedded fonts is
|
|
|
1158 |
StandardEncoding (see 5.95): the appearance of this was a symptom of having
|
|
|
1159 |
multiple fonts with the same name. (gdevpdft.c)
|
|
|
1160 |
|
|
|
1161 |
Removes FONT_EMBED_UNKNOWN, which is meaningless (a decision is always made
|
|
|
1162 |
about whether to embed a font). (gdevpdff.h, gdevpdff.c, gdevpdft.c)
|
|
|
1163 |
|
|
|
1164 |
Changes the algorithm for picking the base font so that it produces more
|
|
|
1165 |
efficient output for certain cases of re-encoded fonts. (gdevpdft.c)
|
|
|
1166 |
|
|
|
1167 |
</pre><h3><a name="5.98_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
1168 |
|
|
|
1169 |
Fixes problems:
|
|
|
1170 |
- Fonts were getting renamed unnecessarily. (performance and PDF
|
|
|
1171 |
output size problem only) (lib/pdf_font.ps)
|
|
|
1172 |
- Fonts with Widths but no FontDescriptor caused an error.
|
|
|
1173 |
(lib/pdf_font.ps)
|
|
|
1174 |
- TrueType fonts processed the Encoding key in the font the same way
|
|
|
1175 |
as other font types, which is not correct. (lib/pdf_font.ps)
|
|
|
1176 |
- For embedded Type 3 fonts, the Widths entry in a font didn't
|
|
|
1177 |
override the width in the CharProc. (lib/pdf_font.ps, lib/pdf_ops.ps)
|
|
|
1178 |
- If a page had multiple Contents streams, and one of the streams
|
|
|
1179 |
ended with values on the operand stack, an error might occur.
|
|
|
1180 |
(lib/pdf_main.ps)
|
|
|
1181 |
- Ts and Tz within a text object didn't take effect immediately.
|
|
|
1182 |
(lib/pdf_ops.ps)
|
|
|
1183 |
- sc[n] and SC[N] could cause an error because Do left an extra item
|
|
|
1184 |
on the stack temporarily. (lib/pdf_draw.ps)
|
|
|
1185 |
|
|
|
1186 |
</pre><h3><a name="5.98_Interpreter"></a>Interpreter</h3><pre>
|
|
|
1187 |
|
|
|
1188 |
Fixes problems:
|
|
|
1189 |
- Getting the unscaled outline for a Type 1 font didn't disable
|
|
|
1190 |
hinting. (mostly a performance problem) (zchar1.c)
|
|
|
1191 |
- Error conditions during initialization weren't recognized. Fixing
|
|
|
1192 |
this required changing various return types from void to int. (ialloc.h,
|
|
|
1193 |
iinit.h, imain.h, interp.h, ialloc.c, iinit.c, imain.c)
|
|
|
1194 |
- HalftoneMode didn't affect setscreen or setcolorscreen.
|
|
|
1195 |
(lib/gs_init.ps, lib/gs_ll3.ps)
|
|
|
1196 |
|
|
|
1197 |
Makes the interpreter quit with a message, rather than a stack dump, if it
|
|
|
1198 |
can't open the initial device and DEBUG is not set. (lib/gs_init.ps)
|
|
|
1199 |
|
|
|
1200 |
Adds .setlimitclamp and .currentlimitclamp operators to access the limit
|
|
|
1201 |
clamp flag in the graphics state. (zgstate.c)
|
|
|
1202 |
|
|
|
1203 |
Changes the names of the stochastic halftone mask to be more descriptive.
|
|
|
1204 |
(lib/ht_ccsto.ps, int.mak, unixinst.mak)
|
|
|
1205 |
|
|
|
1206 |
</pre><h3><a name="5.98_Streams"></a>Streams</h3><pre>
|
|
|
1207 |
|
|
|
1208 |
Adds the ability to forbid using hex encoding when writing strings.
|
|
|
1209 |
(spsdf.h, spsdf.c)
|
|
|
1210 |
|
|
|
1211 |
</pre><h3><a name="5.98_Library"></a>Library</h3><pre>
|
|
|
1212 |
|
|
|
1213 |
Fixes problems:
|
|
|
1214 |
- Computing the width of a glyph unnecessarily constructed the
|
|
|
1215 |
entire outline. (performance problem only) (gxtype1.c)
|
|
|
1216 |
- Getting the unscaled width of a glyph in a Type 1 font didn't
|
|
|
1217 |
disable hinting. (mostly a performance problem) (gxtype1.c.)
|
|
|
1218 |
- The "unknown device" GC descriptor is no longer used. (gsdevice.c)
|
|
|
1219 |
- Some compilers *still* complained about end-of-loop code not being
|
|
|
1220 |
reached. (gxpath2.c)
|
|
|
1221 |
- Mixing float and double values sometimes caused spurious lines to
|
|
|
1222 |
be drawn when stroking very short lines with large widths. (fix from
|
|
|
1223 |
Artifex) (gxpdash.c)
|
|
|
1224 |
- The code for handling crossing lines in the path filling algorithm
|
|
|
1225 |
sometimes computed line crossings incorrectly, causing excessive
|
|
|
1226 |
computation. (gxfill.c)
|
|
|
1227 |
- When oversampling for anti-aliasing, the flatness parameter was
|
|
|
1228 |
not scaled, leading to unnecessarily accurate curve rendering. (gspaint.c)
|
|
|
1229 |
- An extra grestore in a Pattern PaintProc could cause a crash.
|
|
|
1230 |
(gxpcmap.c)
|
|
|
1231 |
- Error conditions during initialization weren't recognized. Fixing
|
|
|
1232 |
this required changing the return type of init_proc, and various other
|
|
|
1233 |
internal procedures, from void to int. (std.h, gslib.h, gscdefs.h,
|
|
|
1234 |
gshtscr.c, gsiodev.c, gslib.c, gsutil.c)
|
|
|
1235 |
|
|
|
1236 |
Splits off the Type 1 encryption/decryption code into a separate file for
|
|
|
1237 |
sharing with the eexec streams. (gscrypt1.c, gxtype1.c)
|
|
|
1238 |
|
|
|
1239 |
</pre>
|
|
|
1240 |
|
|
|
1241 |
<hr>
|
|
|
1242 |
|
|
|
1243 |
<h2><a name="Version5.97"></a>Version 5.97 (beta) (11/22/99)</h2>
|
|
|
1244 |
|
|
|
1245 |
<p>
|
|
|
1246 |
This is the next beta for 6.0. We believe the pdfwrite driver (ps2pdf) now
|
|
|
1247 |
finally produces Acrobat-acceptable output, with reasonable handling of
|
|
|
1248 |
fonts, and have also fixed the problem with high-level image banding. We
|
|
|
1249 |
are cautiously hopeful that this is a "real" beta candidate.
|
|
|
1250 |
|
|
|
1251 |
<h3><a name="5.97_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
1252 |
|
|
|
1253 |
(Drivers)
|
|
|
1254 |
- The default CompatibilityLevel in the pdfwrite driver is now back
|
|
|
1255 |
to 1.3.
|
|
|
1256 |
(Library)
|
|
|
1257 |
- The seac_data procedure of a Type 1 font must now be able to
|
|
|
1258 |
return the glyph and/or the actual outline data.
|
|
|
1259 |
|
|
|
1260 |
</pre><h3><a name="5.97_Documentation"></a>Documentation</h3><pre>
|
|
|
1261 |
|
|
|
1262 |
Fixes problems:
|
|
|
1263 |
- A <br> was missing. (doc/Release.htm)
|
|
|
1264 |
- The final step of copying releases to www.aladdin.com was missing.
|
|
|
1265 |
(doc.Release.htm)
|
|
|
1266 |
|
|
|
1267 |
Documents the new situation with the ps2pdf* scripts. (doc/Ps2pdf.htm)
|
|
|
1268 |
|
|
|
1269 |
Documents the simplification of the pthreads code. (doc/Helpers.htm,
|
|
|
1270 |
doc/Make.htm)
|
|
|
1271 |
|
|
|
1272 |
Adds a requirement to the license that modifications include the name and
|
|
|
1273 |
e-mail address of the author, and the date and purpose of the modification.
|
|
|
1274 |
(doc/Public.htm)
|
|
|
1275 |
|
|
|
1276 |
Adds a link to the documentation for setdistillerparams. (doc/Ps2pdf.htm)
|
|
|
1277 |
|
|
|
1278 |
</pre><h3><a name="5.97_Procedures"></a>Procedures</h3><pre>
|
|
|
1279 |
|
|
|
1280 |
Fixes problems:
|
|
|
1281 |
- On OpenVMS, the test for whether the bin and obj subdirectories
|
|
|
1282 |
already existed was incorrect. (openvms.mak, openvms.mmk)
|
|
|
1283 |
- The recently updated Borland/Inprise makefile deleted some temp
|
|
|
1284 |
files prematurely. (bcwin32.mak)
|
|
|
1285 |
- The dependencies for the Unix install-scripts and install-data
|
|
|
1286 |
targets were incorrect. (unixinst.mak)
|
|
|
1287 |
|
|
|
1288 |
Updates the RPM spec files. (gs.rps, gs-fonts.rps, rpm-conf.dif)
|
|
|
1289 |
|
|
|
1290 |
Adds support for compilation with Borland/Inprise C++Builder 3.
|
|
|
1291 |
(bcwin32.mak, winint.mak)
|
|
|
1292 |
|
|
|
1293 |
Adds a note on font installation under Red Hat Linux 6. (doc/Install.htm)
|
|
|
1294 |
|
|
|
1295 |
</pre><h3><a name="5.97_Utilities"></a>Utilities</h3><pre>
|
|
|
1296 |
|
|
|
1297 |
Adds ps2pdf12 and ps2pdf13 scripts to select the PDF output level
|
|
|
1298 |
explicitly; makes ps2pdf a wrapper for ps2pdf12. (lib/ps2pdf,
|
|
|
1299 |
lib/ps2pdf.bat, lib/ps2pdf12, lib/ps2pdf12.bat, lib/ps2pdf13,
|
|
|
1300 |
lib/ps2pdf13.bat, lib/ps2pdfwr, lib/ps2pdfwr.bat)
|
|
|
1301 |
|
|
|
1302 |
Updates the Windows install/setup program to display the Aladdin start menu
|
|
|
1303 |
folder on a successful install, so that the user gets some feedback that all
|
|
|
1304 |
went well. (dwinst.cpp, dwsetup.cpp)
|
|
|
1305 |
|
|
|
1306 |
</pre><h3><a name="5.97_Drivers"></a>Drivers</h3><pre>
|
|
|
1307 |
|
|
|
1308 |
Fixes problems:
|
|
|
1309 |
- The lj5{mono,gray} drivers didn't send the page size to the
|
|
|
1310 |
printer. (gdevpxut.h, gdevlj56.c, gdevpx.c, gdevpxut.c)
|
|
|
1311 |
- The pxl drivers didn't handle out-of-range points properly.
|
|
|
1312 |
(gdevvec.c, gdevpx.c)
|
|
|
1313 |
- The bmpa drivers didn't produce multi-page output files correctly
|
|
|
1314 |
-- all pages but the first were blank. (The bmp format is supposed to be
|
|
|
1315 |
single-page, but at least some readers handle multi-page files correctly.)
|
|
|
1316 |
(gdevbmpa.c)
|
|
|
1317 |
- The code for writing embedded TrueType fonts was broken. (bug
|
|
|
1318 |
probably introduced in 5.9x) (gdevpsdt.c)
|
|
|
1319 |
|
|
|
1320 |
Removes an unused variable. (gdevbmpa.c)
|
|
|
1321 |
|
|
|
1322 |
</pre><h3><a name="5.97_Platforms"></a>Platforms</h3><pre>
|
|
|
1323 |
|
|
|
1324 |
Replaces the 4 pthreads files, which included a dependence on the non-POSIX
|
|
|
1325 |
<semaphore.h>, with a single file that uses only pthreads procedures.
|
|
|
1326 |
(gp_psync.c, gp_posem.c [deleted], gp_pthr.c [deleted], gp_ptsem.c
|
|
|
1327 |
[deleted], gp_semon.c [deleted])
|
|
|
1328 |
|
|
|
1329 |
</pre><h3><a name="5.97_PDF_writer"></a>PDF writer</h3><pre>
|
|
|
1330 |
|
|
|
1331 |
Fixes problems:
|
|
|
1332 |
- Whether or not to write the Widths array was implicit in the data
|
|
|
1333 |
structures rather than explicit, so it was sometimes written unnecessarily.
|
|
|
1334 |
(gdevpdfx.h, gdevpdff.c, gdevpdft.c)
|
|
|
1335 |
- Fonts based on the 14 built-in fonts didn't set BaseFont to the
|
|
|
1336 |
name of the built-in font. (gdevpdff.c)
|
|
|
1337 |
- The determination of whether a glyph was available was incorrect
|
|
|
1338 |
for embedded fonts, leading some glyphs to be turned into bitmaps
|
|
|
1339 |
unnecessarily. (gdevpdft.c)
|
|
|
1340 |
- Apparently Acrobat Reader gets confused if different subsets of
|
|
|
1341 |
the same font have different FirstChar and LastChar values, so we have to
|
|
|
1342 |
write the full Widths array each time. (gdevpdfx.h, gdevpdff.c, gdevpdft.c)
|
|
|
1343 |
- A structure member wasn't initialized when processing pdfmark
|
|
|
1344 |
annotations, possibly causing a memory access error. (gdevpdfm.c)
|
|
|
1345 |
- The typedef for gx_device_pdf had a typo. (gdevpdfx.h)
|
|
|
1346 |
- Each embedded font subset had its own FontDescriptor and its own
|
|
|
1347 |
font data, confusing Acrobat Reader. Fixing this required sharing
|
|
|
1348 |
FontDescriptors among multiple fonts and making FontDescriptors
|
|
|
1349 |
pseudo-resources. (gdevpdff.h, gdevpdfx.h, gdevpdf.c, gdevpdff.c,
|
|
|
1350 |
gdevpdft.c, gdevpdfw.c)
|
|
|
1351 |
- Incrementally defined embedded Type 1 fonts didn't write out
|
|
|
1352 |
correct Widths. (gdevpdff.c)
|
|
|
1353 |
- PDF resources didn't consistently record the gs_id of the
|
|
|
1354 |
structure they represented, possibly causing resources to be duplicated
|
|
|
1355 |
unnecessarily. (gdevpdff.c, gdevpdfu.c)
|
|
|
1356 |
|
|
|
1357 |
Reinstates PDF text output. (gdevpdf.c)
|
|
|
1358 |
|
|
|
1359 |
Changes the default CompatibilityLevel in the pdfwrite device back to 1.3,
|
|
|
1360 |
since the ps2pdf scripts now make it easy to choose the PDF level.
|
|
|
1361 |
(gdevpdf.c)
|
|
|
1362 |
|
|
|
1363 |
When possible, uses the widths obtained from the font, rather than the
|
|
|
1364 |
default implementation of text_process, to complete the text_process
|
|
|
1365 |
operation. This greatly speeds up the conversion process. (gdevpdft.c)
|
|
|
1366 |
|
|
|
1367 |
Allows character remapping (but not reencoding) of TrueType fonts.
|
|
|
1368 |
(gdevpdft.c)
|
|
|
1369 |
|
|
|
1370 |
Factors the definitions for cos objects and font-related objects into header
|
|
|
1371 |
files more thoroughly. (gdevpdff.h, gdevpdfo.h, gdevpdfx.h, gdevpdf.c,
|
|
|
1372 |
gdevpdff.c, gdevpdfi.c, gdevpdfm.c, gdevpdfr.c, gdevpdft.c, gdevpdfu.c)
|
|
|
1373 |
|
|
|
1374 |
Makes the names of some structure elements correspond more directly to keys
|
|
|
1375 |
in PDF directories. (gdevpdff.h, gdevpdff.c, gdevpdft.c)
|
|
|
1376 |
|
|
|
1377 |
Splits off the font-writing code, since a source file was getting too big.
|
|
|
1378 |
(gdevpdff.h, gdevpdff.c, gdevpdfw.c)
|
|
|
1379 |
|
|
|
1380 |
Adds CharSet information to embedded Type 1 font descriptors. (gdevpdfw.c)
|
|
|
1381 |
|
|
|
1382 |
Makes all font names in the output unique, selected by static bool
|
|
|
1383 |
MAKE_FONT_NAMES_UNIQUE. (gdevpdff.h, gdevpdff.c, gdevpdft.c)
|
|
|
1384 |
|
|
|
1385 |
Reinstates support for one special case of composite fonts (8/8 mapping with
|
|
|
1386 |
the high order byte always zero) that is used by the AdobePS4 Windows
|
|
|
1387 |
driver. (gdevpdft.c)
|
|
|
1388 |
|
|
|
1389 |
Changes the assumption about the default encoding for embedded TrueType
|
|
|
1390 |
fonts from StandardEncoding to no known encoding. (gdevpdft.c)
|
|
|
1391 |
|
|
|
1392 |
Changes FONT_EMBED_BASE14 to FONT_EMBED_STANDARD for greater
|
|
|
1393 |
descriptiveness. (gdevpdff.h, gdevpdff.c, gdevpdft.c)
|
|
|
1394 |
|
|
|
1395 |
</pre><h3><a name="5.97_Interpreter"></a>Interpreter</h3><pre>
|
|
|
1396 |
|
|
|
1397 |
Fixes problems:
|
|
|
1398 |
- The same-font test for Type 1 fonts didn't correctly identify
|
|
|
1399 |
re-encoded fonts with unchanged metrics. (zfont1.c)
|
|
|
1400 |
- If a save level was split into multiple internal save objects,
|
|
|
1401 |
some changes could get undone before objects were finalized. (isave.c)
|
|
|
1402 |
- When releasing all of memory, stable allocators weren't finalized.
|
|
|
1403 |
(isave.c)
|
|
|
1404 |
- Some compilers gave annoying and needless warnings about integer
|
|
|
1405 |
overflow. (store.h)
|
|
|
1406 |
- There was a signed/unsigned char * mismatch. (iccfont.c)
|
|
|
1407 |
|
|
|
1408 |
Adds a debugging procedure. (idebug.h, idebug.c)
|
|
|
1409 |
|
|
|
1410 |
Changes the Type 1 font seac_data procedure to match the new API.
|
|
|
1411 |
(zchar1.c)
|
|
|
1412 |
|
|
|
1413 |
</pre><h3><a name="5.97_Library"></a>Library</h3><pre>
|
|
|
1414 |
|
|
|
1415 |
Fixes problems:
|
|
|
1416 |
- The GC didn't know about the pointers to the tables for Indexed
|
|
|
1417 |
color spaces when banding, occasionally causing the tables to be written as
|
|
|
1418 |
garbage. This is the real fix for the problem discovered in 5.96.
|
|
|
1419 |
(gsiparam.h, gxclist.h, gxiparam.h, gxclimag.c, gxclist.c, gxclpath.c)
|
|
|
1420 |
- With 'async' drivers, multi-page files didn't render properly
|
|
|
1421 |
(they got a rangecheck error on every page after the first one).
|
|
|
1422 |
(gdevprna.c)
|
|
|
1423 |
- Some compilers still complained about end-of-loop code not being
|
|
|
1424 |
reached. (gxpath2.c)
|
|
|
1425 |
- The scaled font cache required that a font have a UID in order to
|
|
|
1426 |
be a candidate for caching. (gsfont.c)
|
|
|
1427 |
- An obsolete check caused slight discrepancies between banded and
|
|
|
1428 |
non-banded output. (gxstroke.c)
|
|
|
1429 |
- The glyph_outline procedure for TrueType fonts transformed the
|
|
|
1430 |
width by the scaling matrix twice. (gstype42.c)
|
|
|
1431 |
|
|
|
1432 |
Removes some now-unnecessary extern_st declarations. (gdevbbox.c,
|
|
|
1433 |
gdevplnx.c, gximage3.c)
|
|
|
1434 |
|
|
|
1435 |
Removes some initializations that read uninitialized locations and are
|
|
|
1436 |
logically unnecessary. (gsalloc.c, gscolor.c)
|
|
|
1437 |
|
|
|
1438 |
Adds makefile rules for compiling the MD5 implementation. (lib.mak)
|
|
|
1439 |
|
|
|
1440 |
Makes the seac_data of a Type 1 font return the glyph and/or the actual
|
|
|
1441 |
outline data. This is necessary because some Type 1 fonts don't have the
|
|
|
1442 |
accents in the same positions as StandardEncoding, but use seac anyway.
|
|
|
1443 |
(gxfont1.h)
|
|
|
1444 |
|
|
|
1445 |
Changes the Type 1 font interpreter to match the new seac_data API.
|
|
|
1446 |
(gxtype1.c)
|
|
|
1447 |
|
|
|
1448 |
</pre>
|
|
|
1449 |
|
|
|
1450 |
<hr>
|
|
|
1451 |
|
|
|
1452 |
<h2><a name="Version5.96"></a>Version 5.96 (beta) (11/12/99)</h2>
|
|
|
1453 |
|
|
|
1454 |
<p>
|
|
|
1455 |
This is the next beta for 6.0. To meet a need of our commercial licensing
|
|
|
1456 |
partner for a PostScript LL3 release, we are releasing this fileset with all
|
|
|
1457 |
font handling in the PDF writer disabled, as well as high-level image
|
|
|
1458 |
banding. This is a temporary measure: we will reinstate PDF text in 5.97,
|
|
|
1459 |
and high-level image banding as soon as we can straighten out its memory
|
|
|
1460 |
management problems.
|
|
|
1461 |
|
|
|
1462 |
<h3><a name="5.96_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
1463 |
|
|
|
1464 |
(Procedures)
|
|
|
1465 |
- All Unix 'make' programs must now predefine MAKE as the name of
|
|
|
1466 |
the program.
|
|
|
1467 |
(Interpreter)
|
|
|
1468 |
- zcolor_remap_one now returns o_push_estack rather than 0 in the
|
|
|
1469 |
case where it doesn't actually have to sample the procedure.
|
|
|
1470 |
(Library)
|
|
|
1471 |
- Multi-plane halftones (when needed) are now used for all CMYK
|
|
|
1472 |
devices, not only if setcolorscreen was executed.
|
|
|
1473 |
- Font implementors must now provide a same_font procedure.
|
|
|
1474 |
|
|
|
1475 |
</pre><h3><a name="5.96_Documentation"></a>Documentation</h3><pre>
|
|
|
1476 |
|
|
|
1477 |
Makes it clear that gsnup.ps is very simple and naive. (doc/Psfiles.htm,
|
|
|
1478 |
lib/gsnup.ps)
|
|
|
1479 |
|
|
|
1480 |
Documents the new -Z_ switch. (doc/Use.htm)
|
|
|
1481 |
|
|
|
1482 |
Documents that SYNC=nosync allows building on systems that don't support
|
|
|
1483 |
multi-threading. (doc/Make.htm)
|
|
|
1484 |
|
|
|
1485 |
Adds documentation for building on Macintosh Rhapsody systems.
|
|
|
1486 |
(doc/Make.htm)
|
|
|
1487 |
|
|
|
1488 |
Adds a reference to the new all-arch.mak file. (doc/Helpers.htm,
|
|
|
1489 |
doc/Make.htm)
|
|
|
1490 |
|
|
|
1491 |
Notes that ps2pdf does preserve the color space for images.
|
|
|
1492 |
(doc/Ps2pdf.htm)
|
|
|
1493 |
|
|
|
1494 |
Documents the new self-extracting archive for MS Windows. (doc/Install.htm,
|
|
|
1495 |
doc/Release.htm)
|
|
|
1496 |
|
|
|
1497 |
Further improves the documentation of the PDF text machinery. (gdevpdfx.h)
|
|
|
1498 |
|
|
|
1499 |
Reorganizes the build information for Unix. (doc/Make.htm)
|
|
|
1500 |
|
|
|
1501 |
Adds information on building Ghostscript under BSDI. (doc/Make.htm)
|
|
|
1502 |
|
|
|
1503 |
Notes that versions of zlib before 1.1.3 may cause an error on rare
|
|
|
1504 |
occasions. (zlib.mak)
|
|
|
1505 |
|
|
|
1506 |
Fixes a few other minor problems. (doc/Current.htm, doc/Devices.htm,
|
|
|
1507 |
doc/DLL.htm, doc/Install.htm, doc/Language.htm, doc/Make.htm,
|
|
|
1508 |
doc/New-user.htm, doc/Ps2pdf.htm, doc/Source.htm, doc/Use.htm)
|
|
|
1509 |
|
|
|
1510 |
</pre><h3><a name="5.96_Procedures"></a>Procedures</h3><pre>
|
|
|
1511 |
|
|
|
1512 |
Fixes problems:
|
|
|
1513 |
- dctd.dev and dcte.dev were defined in $(PSD), but referenced in
|
|
|
1514 |
$(GLD). (devs.mak, int.mak, lib.mak)
|
|
|
1515 |
- pipe.dev was defined in $(GLD), but referenced in $(PSD).
|
|
|
1516 |
(bcwin32.mak, dvx-gcc.mak, msvc32.mak, unix-gcc.mak, unixansi.mak,
|
|
|
1517 |
unixtrad.mak)
|
|
|
1518 |
- XLIBDIRS was included in the linker command even if none of the
|
|
|
1519 |
X drivers were used. (devs.mak, dvx-tail.mak, ugcclib.mak, unixlink.mak)
|
|
|
1520 |
- The OpenVMS makefile didn't create the obj and bin directories
|
|
|
1521 |
properly. (openvms.mak)
|
|
|
1522 |
- 'make debug' and 'make pg' didn't work on Unix systems where the
|
|
|
1523 |
make program was named something other than make. (unix-end.mak)
|
|
|
1524 |
|
|
|
1525 |
Introduces a new top-level makefile macro, STDLIBS, that is -lm for all
|
|
|
1526 |
reasonable platforms but null for Rhapsody. (dvx-gcc.mak, dvx-tail.mak,
|
|
|
1527 |
ugcclib.mak, unix-gcc.mak, unixansi.mak, unixlink.mak, unixtrad.mak)
|
|
|
1528 |
|
|
|
1529 |
Adds Nelson Beebe's contributed multi-architecture Unix makefile.
|
|
|
1530 |
(all-arch.mak)
|
|
|
1531 |
|
|
|
1532 |
Makes it theoretically possible in theory to build the new Windows
|
|
|
1533 |
install/uninstall program with the Borland compiler. However, since this
|
|
|
1534 |
requires Borland C++ 4.52 and we only have 4.5, this is disabled in
|
|
|
1535 |
bcwin32.mak. (bcwin32.mak, winint.mak)
|
|
|
1536 |
|
|
|
1537 |
</pre><h3><a name="5.96_Utilities"></a>Utilities</h3><pre>
|
|
|
1538 |
|
|
|
1539 |
Fixes problems:
|
|
|
1540 |
- The default for gsnup.ps was 3x2 landscape, rather than 2x2
|
|
|
1541 |
portrait. (lib/gsnup.ps)
|
|
|
1542 |
- gslp.ps was broken (by the changes made to support gsnup.ps).
|
|
|
1543 |
(lib/gslp.ps)
|
|
|
1544 |
|
|
|
1545 |
Adds a -link switch to genconf, to allow verbatim copying of commands into
|
|
|
1546 |
the linker command line. (genconf.c)
|
|
|
1547 |
|
|
|
1548 |
Edits files to add missing $Id lines and module summary comments, and to
|
|
|
1549 |
delimit module summary comments from further material. (dwinst.h,
|
|
|
1550 |
dwsetup.h, dwuninst.h, bench.c, dwuninst.cpp)
|
|
|
1551 |
|
|
|
1552 |
Makes it possible to build the new Windows install/uninstall program with
|
|
|
1553 |
the Borland compiler. (dwinst.cpp, dwsetup.cpp, dwsetup.def, dwsetup.rc,
|
|
|
1554 |
dwuninst.cpp, dwuninst.def)
|
|
|
1555 |
|
|
|
1556 |
</pre><h3><a name="5.96_Drivers"></a>Drivers</h3><pre>
|
|
|
1557 |
|
|
|
1558 |
Fixes problems:
|
|
|
1559 |
- Embedded Type 1 fonts lacked some 'def' commands. (gdevpsd1.c)
|
|
|
1560 |
- Multiple Master Font instances weren't written out correctly.
|
|
|
1561 |
(gdevpsd1.c)
|
|
|
1562 |
|
|
|
1563 |
Edits files to add missing $Id lines and module summary comments, and to
|
|
|
1564 |
delimit module summary comments from further material. (gdev8bcm.h,
|
|
|
1565 |
gdevht.h, gdevpccm.h, gdevpcl.h, gdevsvga.h, gdevx.h, gdev3852.c,
|
|
|
1566 |
gdev8510.c, gdevadmp.c, gdevcd8.c, gdevcif.c, gdevclj.c, gdevhl7x.c,
|
|
|
1567 |
gdevifno.c, gdevimgn.c, gdevl31s.c, gdevmeds.c, gdevmswn.c, gdevos2p.c,
|
|
|
1568 |
gdevpe.c, gdevpm.c, gdevsj48.c, gdevtknk.c, gdevupd.c, gdevwddb.c,
|
|
|
1569 |
gdevwpr2.c, gdevwprn.c)
|
|
|
1570 |
|
|
|
1571 |
</pre><h3><a name="5.96_Platforms"></a>Platforms</h3><pre>
|
|
|
1572 |
|
|
|
1573 |
Fixes problems:
|
|
|
1574 |
- The pthreads wrapper had a procedure type mismatch. We fixed this
|
|
|
1575 |
by making it allocate and free a wrapper object, as the Windows wrapper
|
|
|
1576 |
does. (gp_pthr.c)
|
|
|
1577 |
|
|
|
1578 |
Edits files to add missing $Id lines and module summary comments, and to
|
|
|
1579 |
delimit module summary comments from further material. (dwimg.h, dwmain.h,
|
|
|
1580 |
gsdll.h, gp_msio.c, gp_mswin.c)
|
|
|
1581 |
|
|
|
1582 |
Removes an unnecessary #include <semaphore.h>. (gp_semon.c)
|
|
|
1583 |
|
|
|
1584 |
Adds a module that implements semaphores using the pthreads mutex
|
|
|
1585 |
facilities, as an alternative to gp_posem.c. Unfortunately, using this
|
|
|
1586 |
module causes immediate crashes on both Linux and BSDI, and we don't know
|
|
|
1587 |
why. (Let us know if you figure it out.) (gp_ptsem.c)
|
|
|
1588 |
|
|
|
1589 |
</pre><h3><a name="5.96_PDF_writer"></a>PDF writer</h3><pre>
|
|
|
1590 |
|
|
|
1591 |
Fixes problems:
|
|
|
1592 |
- The character and word spacing weren't recognized as being reset
|
|
|
1593 |
by a PDF grestore. (gdevpdfx.h, gdevpdfu.c)
|
|
|
1594 |
- Fonts that couldn't be embedded were always converted to bitmaps,
|
|
|
1595 |
rather than becoming candidates for non-embedded representation (if
|
|
|
1596 |
EmbedAllFonts is false and the font doesn't appear on the AlwaysEmbed list).
|
|
|
1597 |
(gdevpdfx.h, gdevpdff.c, gdevpdft.c)
|
|
|
1598 |
- Stream-type Cos objects were written with no (0-length) data.
|
|
|
1599 |
(gdevpdfm.c)
|
|
|
1600 |
- Reencoded base 14 fonts were not recognized as such, leading to
|
|
|
1601 |
excessive font embedding. (gdevpdfx.h, gdevpdf.c, gdevpdff.c, gdevpdft.c)
|
|
|
1602 |
- Fonts were embedded by default even if EmbedAllFonts was false.
|
|
|
1603 |
(gdevpdft.c)
|
|
|
1604 |
|
|
|
1605 |
Changes MaxSubsetPct to 35 to match Acrobat Distiller. (gdevpsdf.h)
|
|
|
1606 |
|
|
|
1607 |
Adds some tracing output (-Z_). (gdevpdff.c, gdevpdft.c)
|
|
|
1608 |
|
|
|
1609 |
Temporarily disables font handling in the PDF writer, to meet a need of our
|
|
|
1610 |
commercial licensing partner. All text will be converted to code-scrambled
|
|
|
1611 |
Type 3 bitmap fonts. (gdevpdf.c)
|
|
|
1612 |
|
|
|
1613 |
</pre><h3><a name="5.96_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
1614 |
|
|
|
1615 |
Fixes problems:
|
|
|
1616 |
- The sh operator caused an invalidaccess error for shadings that
|
|
|
1617 |
required a DataSource. (lib/pdf_draw.ps)
|
|
|
1618 |
- The test for whether a Widget appearance was a Form or a
|
|
|
1619 |
collection of sub-appearances was incorrect, causing an /undefined error in
|
|
|
1620 |
the latter case. (lib/pdf_draw.ps)
|
|
|
1621 |
- If the FontName in a Font descriptor differed from the BaseFont
|
|
|
1622 |
name in the Font object, the interpreter used the two inconsistently,
|
|
|
1623 |
sometimes causing the wrong font to be used. (lib/pdf_font.ps)
|
|
|
1624 |
- ICCBased color spaces caused an error. (lib/pdf_draw.ps)
|
|
|
1625 |
|
|
|
1626 |
Works around the fact that Acrobat Distiller produces files in which a
|
|
|
1627 |
Widget's Form appearance lacks Type and Subtype keys. (lib/pdf_draw.ps)
|
|
|
1628 |
|
|
|
1629 |
</pre><h3><a name="5.96_Interpreter"></a>Interpreter</h3><pre>
|
|
|
1630 |
|
|
|
1631 |
Fixes problems:
|
|
|
1632 |
- Failure in allocating the name table would cause a crash.
|
|
|
1633 |
(iname.c)
|
|
|
1634 |
- Shadings with procedure-based filters didn't work.
|
|
|
1635 |
(lib/gs_ll3.ps, ifilter.h, zfileio.c, zfproc.c)
|
|
|
1636 |
- Some compilers complained about arithmetic on an enum. (iparam.c)
|
|
|
1637 |
- Setting a transfer or similar function to the identity function
|
|
|
1638 |
didn't set the cached values, so the setting didn't consistently take
|
|
|
1639 |
effect. (icolor.h, zcolor.c)
|
|
|
1640 |
- If the C library's implementation of sprintf with a %g format ever
|
|
|
1641 |
produced a number with an exponent but no decimal point, a crash would
|
|
|
1642 |
occur. (iutil.c)
|
|
|
1643 |
- The PageDeviceName page device parameter wasn't supported.
|
|
|
1644 |
(lib/gs_lev2.ps, lib/gs_setpd.ps)
|
|
|
1645 |
- A public procedure wasn't declared extern if DEBUG wasn't set.
|
|
|
1646 |
(igc.h)
|
|
|
1647 |
- Because of a typo, loading resources automatically from a file
|
|
|
1648 |
always failed. (bug introduced in 5.94) (lib/gs_res.ps)
|
|
|
1649 |
|
|
|
1650 |
Edits files to add missing $Id lines and module summary comments, and to
|
|
|
1651 |
delimit module summary comments from further material. (files.h, iastate.h,
|
|
|
1652 |
ibnum.h, ichar.h, ifilter.h, iimage.h, iimage2.h, iparam.h, isave.h,
|
|
|
1653 |
iscan.h, isstate.h, istream.h, iutil.h, opcheck.h, scanchar.h)
|
|
|
1654 |
|
|
|
1655 |
Adds a font similarity testing procedure for Type 1/2/4 fonts. (zfont1.c)
|
|
|
1656 |
|
|
|
1657 |
</pre><h3><a name="5.96_Streams"></a>Streams</h3><pre>
|
|
|
1658 |
|
|
|
1659 |
Edits files to add missing $Id lines and module summary comments, and to
|
|
|
1660 |
delimit module summary comments from further material. (sbhc.h, sbtx.h,
|
|
|
1661 |
sbwbs.h, sdct.h, scfdgen.c, scfdtab.c, shcgen.h, siscale.h, sjpeg.h,
|
|
|
1662 |
slzwx.h, smtf.h, spdiffx.h, spngpx.h, srlx.h)
|
|
|
1663 |
|
|
|
1664 |
</pre><h3><a name="5.96_Library"></a>Library</h3><pre>
|
|
|
1665 |
|
|
|
1666 |
Fixes problems:
|
|
|
1667 |
- Making a transformed font inappropriately copied the font's
|
|
|
1668 |
notification list. (gsfont.c)
|
|
|
1669 |
- Some compilers complained about end-of-loop code not being
|
|
|
1670 |
reached. (gxpath2.c)
|
|
|
1671 |
- The first two arguments of scale_delta was swapped, causing
|
|
|
1672 |
anomalous output for certain Type 1 fonts with curves where the starting and
|
|
|
1673 |
ending points had the same X or Y coordinate. (gxhint3.c)
|
|
|
1674 |
- Large smoothness values produced blocky output. (gxshade.c)
|
|
|
1675 |
- When banding, in a region where a CMYK halftone had no K at all,
|
|
|
1676 |
the output was likely to be black rather than the correct color. (gxcht.c)
|
|
|
1677 |
- Interpolated images with mirrored X scaling weren't mirrored.
|
|
|
1678 |
(gxiscale.c)
|
|
|
1679 |
- Interpolated images were truncated. (gxiscale.c)
|
|
|
1680 |
- Halftone caches could have a dangling pointer to a transfer map in
|
|
|
1681 |
the halftone order. (gxht.c)
|
|
|
1682 |
- The next-character code returned for kshow was the same as the
|
|
|
1683 |
current character. (bug probably introduced in 5.86) (gstext.c)
|
|
|
1684 |
- The GC didn't know about the pointers to the tables for Indexed
|
|
|
1685 |
color spaces when banding, occasionally causing the tables to be written as
|
|
|
1686 |
garbage. In the process of investigating this, we discovered that the GC
|
|
|
1687 |
didn't know about *any* of the pointers in the structures used to track
|
|
|
1688 |
banded images. ****** NOT FIXED, TOO MUCH RISK OF INTRODUCING FURTHER
|
|
|
1689 |
BUGS. ****** Instead, we disabled high-level image banding in this fileset.
|
|
|
1690 |
(gxclimag.c)
|
|
|
1691 |
|
|
|
1692 |
Changes the name of a variable from ppc to ppcr, because an Apple compiler
|
|
|
1693 |
inappropriately defines the name ppc when compiling on a PowerPC.
|
|
|
1694 |
(gxshade6.c)
|
|
|
1695 |
|
|
|
1696 |
Edits files to add missing $Id lines and module summary comments, and to
|
|
|
1697 |
delimit module summary comments from further material. (gdevbbox.h,
|
|
|
1698 |
gscoord.h, gscpixel.h, gsfname.h, gsfont.h, gsimage.h, gslib.h, gsmdebug.h,
|
|
|
1699 |
gspaint.h, gspath.h, gspath2.h, gxalloc.h, gxclipm.h, gxclpage.h,
|
|
|
1700 |
gxclpath.h, gxcmap.h, gxcoord.h, gxcpath.h, gxdda.h, gxdevmem.h, gxfcache.h,
|
|
|
1701 |
gxfont.h, gximage.h, gxiodev.h, gxpaint.h, gxpath.h, gxpcolor.h, gzacpath.h,
|
|
|
1702 |
gzcpath.h, gzht.h, gzpath.h, md5.h, gxdither.c, md5.c)
|
|
|
1703 |
|
|
|
1704 |
Adds a prototype for debug_find_pointers. (gxalloc.h)
|
|
|
1705 |
|
|
|
1706 |
Adds a font procedure for testing whether two fonts are the same in various
|
|
|
1707 |
ways. This is needed so that the PDF writer can do a reasonable job of
|
|
|
1708 |
identifying reencoded and renamed versions of the base 14 fonts. (gxfont.h,
|
|
|
1709 |
gsfont.c)
|
|
|
1710 |
|
|
|
1711 |
Changes a macro to a procedure and improves some commenting. (gxhint3.c)
|
|
|
1712 |
|
|
|
1713 |
Changes the halftoning code so that multi-plane halftones are always used on
|
|
|
1714 |
CMYK devices, even if only a single halftone is set (setscreen or
|
|
|
1715 |
HalftoneType 1). (gxcht.c, gxdither.c)
|
|
|
1716 |
|
|
|
1717 |
</pre>
|
|
|
1718 |
|
|
|
1719 |
<hr>
|
|
|
1720 |
|
|
|
1721 |
<h2><a name="Version5.95"></a>Version 5.95 (beta) (11/1/99)</h2>
|
|
|
1722 |
|
|
|
1723 |
<p>
|
|
|
1724 |
There were several new problems in 5.94, some of them severe. We hope this
|
|
|
1725 |
beta candidate fixes them without introducing any new ones. It also fixes
|
|
|
1726 |
some minor problems not reported in 5.93.
|
|
|
1727 |
|
|
|
1728 |
<p>
|
|
|
1729 |
We think we have finally found the right workarounds for Acrobat and
|
|
|
1730 |
specification problems so that pdfwrite output (with CompatibilityLevel
|
|
|
1731 |
either 1.2 or 1.3) both conforms as closely as possible to the published PDF
|
|
|
1732 |
specification and works with Acrobat Reader (3 or 4 respectively) for both
|
|
|
1733 |
displaying and printing.
|
|
|
1734 |
|
|
|
1735 |
<p>
|
|
|
1736 |
NOTE: The default level of output from the pdfwrite device (ps2pdf) has been
|
|
|
1737 |
changed back to PDF 1.2 (Acrobat 3 compatible), because this is what the
|
|
|
1738 |
majority of users want. For PDF 1.3 output, use -dCompatibilityLevel=1.3.
|
|
|
1739 |
|
|
|
1740 |
<p>
|
|
|
1741 |
Note: some post-6.0 code is included under an #ifdef POST60.
|
|
|
1742 |
|
|
|
1743 |
<h3><a name="5.95_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
1744 |
|
|
|
1745 |
(Drivers)
|
|
|
1746 |
- The default CompatibilityLevel in the pdfwrite device (ps2pdf) is
|
|
|
1747 |
now 1.2 rather than 1.3.
|
|
|
1748 |
- pdfwrite now discards information after the last showpage rather
|
|
|
1749 |
than producing an additional page.
|
|
|
1750 |
(Library)
|
|
|
1751 |
- The is_monotonic procedure of a function now returns a result that
|
|
|
1752 |
indicates the direction of monotonicity of each value separately.
|
|
|
1753 |
- The coordinate system used internally by the bbox device is now
|
|
|
1754 |
upright (lower left corner = (0,0) rather than upper left corner). (This
|
|
|
1755 |
should not make any difference to clients, who should always have been using
|
|
|
1756 |
default user space coordinate.)
|
|
|
1757 |
|
|
|
1758 |
</pre><h3><a name="5.95_Documentation"></a>Documentation</h3><pre>
|
|
|
1759 |
|
|
|
1760 |
Fixes problems:
|
|
|
1761 |
- A couple of URLs were incorrect or out of date. (doc/Readme.htm,
|
|
|
1762 |
doc/Use.htm)
|
|
|
1763 |
- There was a typo in a comment. (gxfont.h)
|
|
|
1764 |
- An old bug had been fixed, but the documentation had not been
|
|
|
1765 |
updated to reflect this. (doc/Current.htm)
|
|
|
1766 |
|
|
|
1767 |
Documents the requirement to change SYNC from posync to fbsdsync on FreeBSD.
|
|
|
1768 |
(doc/Make.htm)
|
|
|
1769 |
|
|
|
1770 |
Adds references to Adobe's on-line documentation. (doc/Readme.htm)
|
|
|
1771 |
|
|
|
1772 |
Updates the release procedure to mention adding .ps files.
|
|
|
1773 |
(doc/Release.htm)
|
|
|
1774 |
|
|
|
1775 |
Adds documentation for the bbox device. (doc/Use.htm)
|
|
|
1776 |
|
|
|
1777 |
Documents the new gsnup.ps utility. (doc/Psfiles.htm)
|
|
|
1778 |
|
|
|
1779 |
Modifies the gslp utility for greater page independence and smaller output
|
|
|
1780 |
files. (lib/gslp.ps)
|
|
|
1781 |
|
|
|
1782 |
Documents the fact that the default output from pdfwrite is PDF 1.2.
|
|
|
1783 |
(doc/Ps2pdf.htm)
|
|
|
1784 |
|
|
|
1785 |
Adds Inprise (as the new name of the Borland tools) in a few places.
|
|
|
1786 |
(doc/Make.htm)
|
|
|
1787 |
|
|
|
1788 |
Updates the release documentation slightly. (doc/Release.htm)
|
|
|
1789 |
|
|
|
1790 |
</pre><h3><a name="5.95_Procedures"></a>Procedures</h3><pre>
|
|
|
1791 |
|
|
|
1792 |
Fixes problems:
|
|
|
1793 |
- FreeBSD uses a different name for the pthreads implementation.
|
|
|
1794 |
(lib.mak, unixansi.mak, unix-gcc.mak, unixtrad.mak)
|
|
|
1795 |
|
|
|
1796 |
Encapsulates gsnogc.$(OBJ) in a gsnogc.dev module, to make it more sharable.
|
|
|
1797 |
(lib.mak)
|
|
|
1798 |
|
|
|
1799 |
</pre><h3><a name="5.95_Utilities"></a>Utilities</h3><pre>
|
|
|
1800 |
|
|
|
1801 |
Fixes problems:
|
|
|
1802 |
- guilsinglleft and guilsinglright were misspelled.
|
|
|
1803 |
(lib/ps2ascii.ps)
|
|
|
1804 |
- The ps2pdf script didn't handle the -I switch correctly. We fixed
|
|
|
1805 |
this by including the options twice, both before and after the automatically
|
|
|
1806 |
supplied options. (lib/ps2pdf, lib/ps2pdf.bat)
|
|
|
1807 |
|
|
|
1808 |
Adds an install/uninstall program for Windows 9x, including optional
|
|
|
1809 |
generation of a self-extracting executable, written by Ghostgum Software Pty
|
|
|
1810 |
Ltd. This program is not actually used yet. (msvc32.mak, winint.mak,
|
|
|
1811 |
dwinst.*, dwsetup.*, dwuninst.*)
|
|
|
1812 |
|
|
|
1813 |
Adds a new environment parameter to arch.h, ARCH_DIV_NEG_POS_TRUNCATES.
|
|
|
1814 |
(genarch.c)
|
|
|
1815 |
|
|
|
1816 |
Adds a utility for N-up printing. (unixinst.mak, lib/gsnup.ps)
|
|
|
1817 |
|
|
|
1818 |
Changes ps2pdf so that if showpage has ever been executed, any partial page
|
|
|
1819 |
after the last showpage is discarded rather than made into an additional
|
|
|
1820 |
page. This is consistent with printers, and correctly handles BeginPage
|
|
|
1821 |
procedures that draw backgrounds. (gdevpdf.c)
|
|
|
1822 |
|
|
|
1823 |
</pre><h3><a name="5.95_Drivers"></a>Drivers</h3><pre>
|
|
|
1824 |
|
|
|
1825 |
Fixes problems:
|
|
|
1826 |
- The TIFF drivers could produce incorrectly sorted tag tables.
|
|
|
1827 |
(gdevtifs.c)
|
|
|
1828 |
- The OS/2 PM driver had an incorrect #include. (gdevpm.c)
|
|
|
1829 |
- Embedded Type 1 fonts that used seac didn't automatically include
|
|
|
1830 |
the constituent glyphs. (gdevpsd1.c)
|
|
|
1831 |
- Embedded Type 1 fonts wrote the wrong font name in the first
|
|
|
1832 |
(comment) line. (gdevpsd1.c)
|
|
|
1833 |
- Deleting elements from the AlwaysEmbed or NeverEmbed list could
|
|
|
1834 |
cause a memory access error. (gdevpsdp.c)
|
|
|
1835 |
- The string and string array members of psdf_distiller_params were
|
|
|
1836 |
omitted from the GC descriptor, causing memory corruption. (gdevpsdf.h,
|
|
|
1837 |
gdevpsdf.c, gdevpsdp.c)
|
|
|
1838 |
- When using "async" printing, the buffer device was destroyed too
|
|
|
1839 |
soon. (fix from Artifex) (gdevbmpa.c)
|
|
|
1840 |
|
|
|
1841 |
Adds (partial) parsing for the new Acrobat Distiller 4.0 parameters, under
|
|
|
1842 |
#ifdef POST60. The put_params code isn't finished. (gdevpsdf.h,
|
|
|
1843 |
gdevpsdp.c)
|
|
|
1844 |
|
|
|
1845 |
</pre><h3><a name="5.95_Platforms"></a>Platforms</h3><pre>
|
|
|
1846 |
|
|
|
1847 |
Changes product to productfamily as the Windows registry key. (gp_wgetv.c)
|
|
|
1848 |
|
|
|
1849 |
</pre><h3><a name="5.95_Fonts"></a>Fonts</h3><pre>
|
|
|
1850 |
|
|
|
1851 |
Fixes problems:
|
|
|
1852 |
- guilsinglleft and guilsinglright were misspelled in
|
|
|
1853 |
MacRomanEncoding and MacGlyphEncoding. (lib/gs_mro_e.ps)
|
|
|
1854 |
- plusminus was misspelled in MacGlyphEncoding. (lib/gs_mgl_e.ps)
|
|
|
1855 |
- braceleftbt was misspelled as bracelefttbt in the Symbol font.
|
|
|
1856 |
(fonts/s050000l.pfb) ****** NOT DISTRIBUTED YET ******
|
|
|
1857 |
- euro was incorrectly included at position 240 in the Symbol
|
|
|
1858 |
encoding. (lib/gs_sym_e.ps)
|
|
|
1859 |
- Zcaron and zcaron weren't included in WinAnsiEncoding (this is new
|
|
|
1860 |
for PDF 1.3). (lib/gs_wan_e.ps)
|
|
|
1861 |
- Euro replaced currency in MacRomanEncoding. We had to change this
|
|
|
1862 |
back, even though the Mac does use code 219 for Euro, for compatibility with
|
|
|
1863 |
Adobe documentation. (lib/gs_mro_e.ps)
|
|
|
1864 |
- TrueType fonts with more glyphencoding entries than glyphs could
|
|
|
1865 |
cause errors. (lib/gs_ttf.ps)
|
|
|
1866 |
|
|
|
1867 |
Adds the Adobe Central European encoding. (lib/gs_ce_e.ps, unixinst.mak)
|
|
|
1868 |
|
|
|
1869 |
Adds more tracing to the TrueType font loader. (lib/gs_ttf.ps)
|
|
|
1870 |
|
|
|
1871 |
Adds the remaining PDF Encodings to the predefined set. (lib/gs_lgo_e.ps,
|
|
|
1872 |
lib/gs_lgx_e.ps, lib/gs_mex_e.ps, lib/gs_mgl_e.ps, lib/gs_mro_e.ps)
|
|
|
1873 |
|
|
|
1874 |
</pre><h3><a name="5.95_PDF_writer"></a>PDF writer</h3><pre>
|
|
|
1875 |
|
|
|
1876 |
Fixes problems:
|
|
|
1877 |
- When printing an error message, a pointer/length string was
|
|
|
1878 |
incorrectly treated as a C string. (gdevpdfm.c)
|
|
|
1879 |
- The treatment of text was completely broken by "improvements" made
|
|
|
1880 |
in 5.94. We think we've put things back to a state that at least isn't any
|
|
|
1881 |
worse than 5.93. (gdevpdfx.h, gdevpdff.c, gdevpdft.c)
|
|
|
1882 |
- The test for whether a glyph was present in a glyph set was wrong,
|
|
|
1883 |
possibly causing an infinite loop. (This never happened, because the code
|
|
|
1884 |
was masked by other bugs.) (gdevpdft.c)
|
|
|
1885 |
- Testing the PDF compatibility level didn't work correctly, because
|
|
|
1886 |
of float/double mismatches. (gdevpdfx.h, gdevpdfp.c)
|
|
|
1887 |
- Embedded TrueType fonts were still written in binary even if
|
|
|
1888 |
ASCII85EncodePages was true. (gdevpdff.c)
|
|
|
1889 |
- Embedded TrueType subsets didn't use Flags to indicate that they
|
|
|
1890 |
had a non-standard cmap. (gdevpdff.c)
|
|
|
1891 |
- Contrary to the obvious reading of the PDF specification, it
|
|
|
1892 |
appears that the default encoding for embedded fonts, if no BaseEncoding is
|
|
|
1893 |
specified, is StandardEncoding, *not* the built-in encoding of the font
|
|
|
1894 |
itself; and that any differences from StandardEncoding must be listed
|
|
|
1895 |
explicitly. (gdevpdft.c)
|
|
|
1896 |
|
|
|
1897 |
Adds parsing for the new Acrobat Distiller 4.0 parameters, under #ifdef
|
|
|
1898 |
POST60. (lib/gs_pdfwr.ps, gdevpdfx.h, gdevpdfp.c)
|
|
|
1899 |
|
|
|
1900 |
Ensures that the Mac encodings are loaded when writing PDF. (devs.mak)
|
|
|
1901 |
|
|
|
1902 |
Works around an Acrobat 3 bug: The only cmap table that works in TrueType
|
|
|
1903 |
fonts is format 0, which can only reference glyphs up to 255. Consequently,
|
|
|
1904 |
a TrueType font whose Encoding references glyphs above 255 cannot be
|
|
|
1905 |
embedded (as a font). (gdevpdft.c)
|
|
|
1906 |
|
|
|
1907 |
Changes the default CompatibilityLevel from 1.3 to 1.2. The majority of
|
|
|
1908 |
users are running Acrobat 3. (gdevpdf.c)
|
|
|
1909 |
|
|
|
1910 |
</pre><h3><a name="5.95_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
1911 |
|
|
|
1912 |
Fixes problems:
|
|
|
1913 |
- The T* operator was changed incorrectly to use the negative of the
|
|
|
1914 |
leading value. (lib/pdf_ops.ps)
|
|
|
1915 |
- The Tz value scaled the X offset for Td and TD (which it
|
|
|
1916 |
shouldn't), occasionally causing strings to be displaced horizontally.
|
|
|
1917 |
(lib/pdf_ops.ps)
|
|
|
1918 |
- sc[n]/SC[N] didn't work with 1-value color spaces, because the
|
|
|
1919 |
code incorrectly assumed the operand stack contained only the values on the
|
|
|
1920 |
PDF operand stack. (bug introduced by Annotation rendering in 5.94)
|
|
|
1921 |
(lib/pdf_base.ps, lib/pdf_draw.ps, lib/pdf_main.ps, lib/pdf_ops.ps)
|
|
|
1922 |
- The HTP key in the graphics state caused an error if the
|
|
|
1923 |
interpreter didn't implement sethalftonephase. (lib/pdf_draw.ps)
|
|
|
1924 |
- If there was no Names tree, invalid links (string Dest values)
|
|
|
1925 |
caused an error instead of being ignored. (lib/pdf_main.ps)
|
|
|
1926 |
- An annotation with a Thread action caused an error.
|
|
|
1927 |
(lib/pdf_main.ps)
|
|
|
1928 |
|
|
|
1929 |
Adds table entries, but not implementation, for the op and OPM keys in
|
|
|
1930 |
ExtGState dictionaries. (lib/pdf_draw.ps)
|
|
|
1931 |
|
|
|
1932 |
Works around a bug in Adobe Acrobat Distiller 4.0 for Windows: it uses the
|
|
|
1933 |
value /Default with the BG, UCR, and TR keys in an ExtGState.
|
|
|
1934 |
(lib/pdf_draw.ps, lib/pdf_main.ps)
|
|
|
1935 |
|
|
|
1936 |
Adds additional tracing for Functions. (lib/pdf_draw.ps)
|
|
|
1937 |
|
|
|
1938 |
Implements the BG2, UCR2, and TR2 keys in ExtGStates. (lib/pdf_draw.ps)
|
|
|
1939 |
|
|
|
1940 |
</pre><h3><a name="5.95_Interpreter"></a>Interpreter</h3><pre>
|
|
|
1941 |
|
|
|
1942 |
Fixes problems:
|
|
|
1943 |
- There was a (harmless) signed/unsigned mismatch. (imainarg.c)
|
|
|
1944 |
- If build_gs_simple_font had to add any elements to the font
|
|
|
1945 |
dictionary, a temporary pointer to the CharStrings could become invalid,
|
|
|
1946 |
causing crashes or confusion. (zbfont.c)
|
|
|
1947 |
- The check for known Encodings included some pseudo-Encodings.
|
|
|
1948 |
(zbfont.c)
|
|
|
1949 |
- The error object wasn't reset to null before each call of the
|
|
|
1950 |
interpreter, possibly causing the garbage collector to mark it even if it no
|
|
|
1951 |
longer existed. (interp.c)
|
|
|
1952 |
|
|
|
1953 |
Adds productfamily as a new predefined name, for the benefit of the Windows
|
|
|
1954 |
registry. (iinit.c)
|
|
|
1955 |
|
|
|
1956 |
Changes the default color smoothness to 0.02 to match Adobe RIPs.
|
|
|
1957 |
(lib/gs_ll3.ps)
|
|
|
1958 |
|
|
|
1959 |
Adds using the glyph_info procedure for Type 1 fonts, needed to fix the
|
|
|
1960 |
problem with seac and Type 1 embedded fonts. (zfont1.c)
|
|
|
1961 |
|
|
|
1962 |
</pre><h3><a name="5.95_Library"></a>Library</h3><pre>
|
|
|
1963 |
|
|
|
1964 |
Fixes problems:
|
|
|
1965 |
- Memory devices that may execute RasterOp must be initialized with
|
|
|
1966 |
an allocator (for temporary bitmaps), but sometimes they weren't.
|
|
|
1967 |
(gdevdrop.c)
|
|
|
1968 |
- The computation of colors_used for images could cause arithmetic
|
|
|
1969 |
exceptions and/or produce incorrect results. (fix from Artifex)
|
|
|
1970 |
(gxclimag.c)
|
|
|
1971 |
- A dead variable was getting incremented in a loop. (Small
|
|
|
1972 |
performance bug only.) (gsfunc0.c)
|
|
|
1973 |
- The cached is_monotonic value in a function head was incorrectly
|
|
|
1974 |
declared bool rather than int. (gsfunc.h)
|
|
|
1975 |
- The clip operators didn't always recognize empty clipping regions:
|
|
|
1976 |
sometimes they retained a 1-pixel-wide region. (gxcpath.c)
|
|
|
1977 |
- The bbox device could get into a recursion loop if it had a
|
|
|
1978 |
non-null target with a non-standard fill_path procedure. (gdevbbox.c)
|
|
|
1979 |
- The procedure u32 was defined in two places. (gsutil.h,
|
|
|
1980 |
gdevpsdt.c, gsutil.c, gstype42.c)
|
|
|
1981 |
- The DataSource member of a sampled function wasn't reported to the
|
|
|
1982 |
garbage collector. (gsfunc0.h, gsfunc0.c) ****** MUST DO THE SAME FOR
|
|
|
1983 |
SHADINGS ******
|
|
|
1984 |
- All name-type parameters (device and other) were converted as
|
|
|
1985 |
strings rather than names. (gsparam.c)
|
|
|
1986 |
- Using a mask Pattern with an anti-aliased device could make
|
|
|
1987 |
invalid memory accesses and cause a crash. (gxpcmap.c)
|
|
|
1988 |
- math_.h was included unnecessarily. (gxfill.c, gxhint3.c)
|
|
|
1989 |
- In a few places, (fixed-point) coordinates were truncated towards
|
|
|
1990 |
zero rather than taking the floor. (It's likely that this had no effect.)
|
|
|
1991 |
(gxfill.c, gxpcopy.c)
|
|
|
1992 |
- The join and cap values weren't taken into account when dividing a
|
|
|
1993 |
stroked path into bands, possibly causing some caps or joins to be dropped
|
|
|
1994 |
if they fell exactly at band boundaries. (gxclpath.c)
|
|
|
1995 |
- An arithmetic overflow in gx_adjust_if_empty could produce
|
|
|
1996 |
incorrect output. (gxfill.c)
|
|
|
1997 |
- Because the bbox device used a Y-inverted coordinate system, it
|
|
|
1998 |
could produce incorrect results for out-of-bounds coordinates. (gdevbbox.c)
|
|
|
1999 |
- The default font_info procedure didn't compute MISSING_WIDTH if
|
|
|
2000 |
IS_FIXED_WIDTH wasn't requested. (gsfont.c)
|
|
|
2001 |
- space_params wasn't managed properly, causing problems if the
|
|
|
2002 |
device altered the default values. (fix from Artifex) (gdevprn.c)
|
|
|
2003 |
- The Macintosh cmap table for embedded TrueType fonts was written
|
|
|
2004 |
incorrectly. (gdevpsdt.c)
|
|
|
2005 |
- The OS/2 table for embedded TrueType fonts could be inconsistent
|
|
|
2006 |
with the cmap table. (gdevpsdt.c)
|
|
|
2007 |
- In embedded subset TrueType fonts, loca entries beyond the last
|
|
|
2008 |
occupied glyph contained garbage. (gdevpsdt.c)
|
|
|
2009 |
- Embedded TrueType subsets didn't include the components of
|
|
|
2010 |
composite glyphs. (gdevpsdf.h, gdevpsd1.c, gdevpsdf.c, gdevpsdt.c)
|
|
|
2011 |
|
|
|
2012 |
Changes the is_monotonic procedure of Functions so that it reports the
|
|
|
2013 |
direction of monotonicity of each value independently. This allows a larger
|
|
|
2014 |
class of functions to be detected as monotonic. (gsfunc.h, gsfunc0.c,
|
|
|
2015 |
gsfunc3.c)
|
|
|
2016 |
|
|
|
2017 |
Works around a bug in Fontographer that causes it to produce (or at least
|
|
|
2018 |
allow users to produce) Type 1 fonts using seac in which the side bearing of
|
|
|
2019 |
the accented character differs from the side bearing of the base glyph. The
|
|
|
2020 |
published Type 1 specification and Adobe's engineers agree that such fonts
|
|
|
2021 |
are invalid, but the authors of Fontographer don't seem to care (this is the
|
|
|
2022 |
4th Fontographer bug that we have had to patch around so far). (gxtype1.h,
|
|
|
2023 |
gstype1.c, gxtype1.c)
|
|
|
2024 |
|
|
|
2025 |
Adds gs_productfamily, for the benefit of the Windows registry. (gscdefs.h,
|
|
|
2026 |
gscdef.c)
|
|
|
2027 |
|
|
|
2028 |
Adds a glyph_info procedure for Type 1 fonts, needed to fix the problem with
|
|
|
2029 |
seac and Type 1 embedded fonts. (gxfont1.h, gxtype1.c)
|
|
|
2030 |
|
|
|
2031 |
Adds a gs_resize_struct_array procedure that either allocates or resizes an
|
|
|
2032 |
object. We have wanted this for quite a while. (gsmemory.h, gsmemory.c)
|
|
|
2033 |
|
|
|
2034 |
Adds the remaining PDF Encodings to the predefined set. Also adds string
|
|
|
2035 |
names for the "real" encodings. (gsccode.h)
|
|
|
2036 |
|
|
|
2037 |
Adjusts the format of embedded TrueType fonts to be closer to that produced
|
|
|
2038 |
by Acrobat Distiller, in the hope of making Acrobat Reader accept them.
|
|
|
2039 |
(gdevpsdf.h, gdevpsdt.c)
|
|
|
2040 |
|
|
|
2041 |
</pre>
|
|
|
2042 |
|
|
|
2043 |
<hr>
|
|
|
2044 |
|
|
|
2045 |
<h2><a name="Version5.94"></a>Version 5.94 (beta) (9/30/99)</h2>
|
|
|
2046 |
|
|
|
2047 |
<p>
|
|
|
2048 |
This is (intended to be) the last beta candidate for the 6.0 release. Most
|
|
|
2049 |
changes other than added documentation are bug fixes. In order to address a
|
|
|
2050 |
last-minute problem report, we implemented a subset of Annotation rendering
|
|
|
2051 |
for PDF files.
|
|
|
2052 |
|
|
|
2053 |
<p>
|
|
|
2054 |
At the request of the Free Software Foundation, we removed support for GNU
|
|
|
2055 |
readline from the Aladdin Ghostscript fileset. See <a
|
|
|
2056 |
href="Make.htm#GNU_readline">here</a> for more information.
|
|
|
2057 |
|
|
|
2058 |
<p>
|
|
|
2059 |
We suspect that Acrobat's bugs and limitations still prevent embedded
|
|
|
2060 |
TrueType fonts in files created by the pdfwrite device from working
|
|
|
2061 |
properly, but we have neither the time nor the means to test this properly.
|
|
|
2062 |
|
|
|
2063 |
<h3><a name="5.94_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
2064 |
|
|
|
2065 |
(Procedures)
|
|
|
2066 |
- For OpenVMS with MMK or MMS, the third-party libraries are now
|
|
|
2067 |
located in [.<lib>] rather than [-.<lib>].
|
|
|
2068 |
- The OpenVMS makefiles now select the same set of devices as the
|
|
|
2069 |
Unix makefiles.
|
|
|
2070 |
- The MS Windows and MS-DOS default installation directory is now
|
|
|
2071 |
c:\Aladdin\gs#.# rather than c:\gs.
|
|
|
2072 |
- All top-level makefiles now need a definition of BUILD_TIME_GS.
|
|
|
2073 |
(Drivers)
|
|
|
2074 |
- The cljet5 driver is renamed cljet5pr; there is a new cljet5
|
|
|
2075 |
driver that doesn't attempt (and fail) to handle page rotation.
|
|
|
2076 |
(Interpreter)
|
|
|
2077 |
- .getiodevice may return null.
|
|
|
2078 |
(Library)
|
|
|
2079 |
- IODevices may now have a null name.
|
|
|
2080 |
|
|
|
2081 |
</pre><h3><a name="5.94_Documentation"></a>Documentation</h3><pre>
|
|
|
2082 |
|
|
|
2083 |
Fixes problems:
|
|
|
2084 |
- The documentation of font searching was still wrong in both
|
|
|
2085 |
places. (doc/Fonts.htm, doc/Use.htm)
|
|
|
2086 |
|
|
|
2087 |
Notes that certain CodeWarrior code generation options produce incorrect
|
|
|
2088 |
code. (doc/Make.htm)
|
|
|
2089 |
|
|
|
2090 |
Removes an inaccurate and obsolete comment. (lib/pdf_font.ps)
|
|
|
2091 |
|
|
|
2092 |
Notes that newer versions of the SGI compiler use a different switch for
|
|
|
2093 |
setting the optimization limit. (doc/Make.htm)
|
|
|
2094 |
|
|
|
2095 |
Notes that there may be code generation bugs in MSVC5 and later.
|
|
|
2096 |
(doc/Make.htm)
|
|
|
2097 |
|
|
|
2098 |
Documents the new Fontmap.SGI file. (doc/Use.htm)
|
|
|
2099 |
|
|
|
2100 |
Updates the documentation on installing Ghostscript on MS Windows.
|
|
|
2101 |
(doc/Install.htm)
|
|
|
2102 |
|
|
|
2103 |
Documents the removal of the GNU readline interface. (doc/Current.htm,
|
|
|
2104 |
doc/Make.htm)
|
|
|
2105 |
|
|
|
2106 |
</pre><h3><a name="5.94_Procedures"></a>Procedures</h3><pre>
|
|
|
2107 |
|
|
|
2108 |
Fixes problems:
|
|
|
2109 |
- The instcopy script, supposed to handle incompatibilities between
|
|
|
2110 |
Unix `install' commands, didn't work. (instcopy, unixinst.mak)
|
|
|
2111 |
- The Windows makefiles had an extra occurrence of `.' at the
|
|
|
2112 |
beginning of the default search path. (bcwin32.mak, msvc32.mak,
|
|
|
2113 |
msvclib.mak, watc*.mak)
|
|
|
2114 |
- The OpenVMS makefile didn't automatically create the bin and obj
|
|
|
2115 |
directories if needed. (openvms.mak)
|
|
|
2116 |
|
|
|
2117 |
Changes the OpenVMS MMK/MMS makefile to expect the third-party libraries in
|
|
|
2118 |
a subdirectory of the current directory, rather than a subdirectory of the
|
|
|
2119 |
parent. This makes it compatible with all the other makefiles.
|
|
|
2120 |
(openvms.mmk)
|
|
|
2121 |
|
|
|
2122 |
Changes the OpenVMS makefiles to select the same set of devices as the Unix
|
|
|
2123 |
makefiles. (openvms.mak, openvms.mmk, unixansi.mak)
|
|
|
2124 |
|
|
|
2125 |
Changes the Windows and OS/2 default search paths to match the new
|
|
|
2126 |
convention of installation rooted at c:\Aladdin. (bcwin32.mak, msvc32.mak,
|
|
|
2127 |
msvclib.mak, os2.mak, watc.mak, watclib.mak, watcw32.mak)
|
|
|
2128 |
|
|
|
2129 |
</pre><h3><a name="5.94_Utilities"></a>Utilities</h3><pre>
|
|
|
2130 |
|
|
|
2131 |
Fixes problems:
|
|
|
2132 |
- The Type 1/2 CharString printer didn't handle undefined opcodes
|
|
|
2133 |
correctly. (lib/type1ops.ps)
|
|
|
2134 |
- There was no Unix script for pf2afm. (lib/pf2afm)
|
|
|
2135 |
- The Type 1/2 font printing utilities didn't default lenIV to -1
|
|
|
2136 |
for Type 2, and didn't handle lenIV = -1 correctly in some places.
|
|
|
2137 |
(lib/type1ops.ps)
|
|
|
2138 |
- The font2c utility used the version of font2c.ps from whatever
|
|
|
2139 |
existing Ghostscript executable was in the search path. Fixing this
|
|
|
2140 |
required adding a new parameter in all top-level makefiles, BUILD_TIME_GS.
|
|
|
2141 |
(cfonts.mak, bcwin32.mak, dvx-gcc.mak, msvc32.mak, openvms.mak, openvms.mmk,
|
|
|
2142 |
os2.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak, watc.mak, watcw32.mak)
|
|
|
2143 |
- The pfbtopfa usage message was incorrect. (lib/pfbtopfa.ps)
|
|
|
2144 |
|
|
|
2145 |
</pre><h3><a name="5.94_Drivers"></a>Drivers</h3><pre>
|
|
|
2146 |
|
|
|
2147 |
Fixes problems:
|
|
|
2148 |
- The pswrite driver didn't reset the clipping path when writing
|
|
|
2149 |
low-level images, possibly causing output to be clipped incorrectly.
|
|
|
2150 |
(gdevps.c)
|
|
|
2151 |
- The PNG drivers implicitly declared png_init_io. Fixing this is
|
|
|
2152 |
only possible in libpng versions 1.0.3 and later. (gdevpng.c)
|
|
|
2153 |
- The cljet5 driver (now cljet5pr) set rotated = true if the page
|
|
|
2154 |
was rotated, but didn't set it to false if the page wasn't rotated.
|
|
|
2155 |
(gdevclj.c)
|
|
|
2156 |
- Embedded Type 1 fonts didn't include any FontInfo elements.
|
|
|
2157 |
(gdevpsd1.c)
|
|
|
2158 |
- Specifying the DCTEncode filter for compressing images caused a
|
|
|
2159 |
crash. This problem is hard to fix correctly because of the complicated
|
|
|
2160 |
initialization requirements of the JPEG encoder. We patched around it by
|
|
|
2161 |
substituting FlateEncode (when available) for DCTEncode. (gdevpsdi.c)
|
|
|
2162 |
|
|
|
2163 |
Renames the cljet5 driver, which has special (and incorrect) hacks to handle
|
|
|
2164 |
page rotation for the PCL interpreter, as cljet5pr; adds a new cljet5 driver
|
|
|
2165 |
without the hacks. (gdevclj.c)
|
|
|
2166 |
|
|
|
2167 |
</pre><h3><a name="5.94_Platforms"></a>Platforms</h3><pre>
|
|
|
2168 |
|
|
|
2169 |
Fixes problems:
|
|
|
2170 |
- On MS Windows and OS/2 systems, the wstdio pseudo-IODevice showed
|
|
|
2171 |
up as an instance of the IODevice resource category, causing problems.
|
|
|
2172 |
(gp_msio.c, gp_os2.c)
|
|
|
2173 |
|
|
|
2174 |
Adds a set of XBM/XPM icons in 4 sizes, contributed by Gintautas Grigelionis
|
|
|
2175 |
(eragigr@ki.ericsson.se). (lib/gs*.xbm, lib/gs*.xpm, unixinst.mak)
|
|
|
2176 |
|
|
|
2177 |
Brings the Windows and OS/2 code up to date, fixing some minor problems.
|
|
|
2178 |
(gdevpm.c, gp_os2.c, gsos2.rc, gspmdrv.rc, os2.mak, pcwin.mak)
|
|
|
2179 |
|
|
|
2180 |
</pre><h3><a name="5.94_Fonts"></a>Fonts</h3><pre>
|
|
|
2181 |
|
|
|
2182 |
Fixes problems:
|
|
|
2183 |
- The font directory scanner (FONTPATH) didn't recognize TrueType
|
|
|
2184 |
fonts tagged as 'true' rather than 0x00010000. (lib/gs_ttf.ps)
|
|
|
2185 |
|
|
|
2186 |
Changes the TrueType font loader to use ISOLatin1Encoding for constructing
|
|
|
2187 |
the CharStrings if there is a Microsoft Unicode cmap and no glyph names in
|
|
|
2188 |
the post table. This seems like a hack, but we aren't sure what the right
|
|
|
2189 |
approach would be. (lib/gs_ttf.ps)
|
|
|
2190 |
|
|
|
2191 |
Adds a Fontmap for SGI IRIX. This just comments out those fonts that are
|
|
|
2192 |
provided by DPS. (lib/Fontmap.SGI)
|
|
|
2193 |
|
|
|
2194 |
</pre><h3><a name="5.94_PDF_writer"></a>PDF writer</h3><pre>
|
|
|
2195 |
|
|
|
2196 |
Fixes problems:
|
|
|
2197 |
- Writing Patterns could cause a memory access error. (bug
|
|
|
2198 |
introduced recently) (gdevpdfi.c)
|
|
|
2199 |
- Filling with a pattern didn't reset the clipping path, possibly
|
|
|
2200 |
causing output to be clipped incorrectly. (gdevpdfi.c)
|
|
|
2201 |
- Patterns weren't scaled correctly. (gdevpdfi.c)
|
|
|
2202 |
- The data for large Patterns could exceed Acrobat Reader's limit on
|
|
|
2203 |
the length of a string. (gdevpdfi.c)
|
|
|
2204 |
- copy_color did an extra gsave and concat. (gdevpdfi.c)
|
|
|
2205 |
- Repeated color images weren't detected (performance bug only).
|
|
|
2206 |
(gdevpdfi.c)
|
|
|
2207 |
- Names including control characters or spaces produced invalid
|
|
|
2208 |
output. (gdevpdfx.h, gdevpdfu.c)
|
|
|
2209 |
- A matrix multiply was in the wrong order, causing fonts with
|
|
|
2210 |
non-zero translation in the FontMatrix to render at incorrect coordinates
|
|
|
2211 |
(sometimes off the page).
|
|
|
2212 |
- If a font had one of the 14 standard names but had some characters
|
|
|
2213 |
defined by PostScript procedures, the output file would be invalid.
|
|
|
2214 |
(gdevpdft.c)
|
|
|
2215 |
- The graphics state line parameters were kept in two different
|
|
|
2216 |
copies, causing bookkeeping errors. (gdevpdfx.h, gdevpdf.c, gdevpdfd.c,
|
|
|
2217 |
gdevpdfu.c)
|
|
|
2218 |
- If a page's BeginPage procedure did anything other than erase the
|
|
|
2219 |
page to white, the resulting PDF file was invalid. (gdevpdf.c)
|
|
|
2220 |
- Articles with the same title weren't merged properly.
|
|
|
2221 |
(gdevpdfm.c)
|
|
|
2222 |
- The Threads element of the catalog wasn't an indirect object.
|
|
|
2223 |
(gdevpdf.c)
|
|
|
2224 |
- Thread actions incorrectly converted the destination (thread
|
|
|
2225 |
title) to a name, rather than leaving it as a string. (gdevpdfm.c)
|
|
|
2226 |
- Fonts with the same name as the built-in ones, but not the
|
|
|
2227 |
standard definitions, produced possibly incorrect output. (gdevpdff.c)
|
|
|
2228 |
- The writer didn't recognize attempts to use Encodings with the
|
|
|
2229 |
standard fonts that mentioned characters not present in the font's glyph
|
|
|
2230 |
set. (gdevpdft.c)
|
|
|
2231 |
|
|
|
2232 |
Ensures that the WinAnsiEncoding is loaded when writing PDF. (devs.mak)
|
|
|
2233 |
|
|
|
2234 |
</pre><h3><a name="5.94_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
2235 |
|
|
|
2236 |
Fixes problems:
|
|
|
2237 |
- The default (identity) CMap didn't map CID 0 to glyph 0.
|
|
|
2238 |
(pdf_fonts.ps)
|
|
|
2239 |
- TrueType fonts with an explicit Encoding didn't work properly.
|
|
|
2240 |
(lib/gs_ttf.ps)
|
|
|
2241 |
- If an embedded Type 1 font executed definefont more than once,
|
|
|
2242 |
the wrong thing would happen. (lib/pdf_font.ps)
|
|
|
2243 |
- The T* operator used the negative of the leading value.
|
|
|
2244 |
(lib/pdf_ops.ps)
|
|
|
2245 |
|
|
|
2246 |
Implements a subset of Annotation rendering: only Widget annotations, only
|
|
|
2247 |
Normal appearance, only S and D borders, no rounded-corner borders. We did
|
|
|
2248 |
this at the very last minute before the release, in order to respond to a
|
|
|
2249 |
bug report, and it probably has some bugs. (lib/pdf_draw.ps,
|
|
|
2250 |
lib/pdf_main.ps)
|
|
|
2251 |
|
|
|
2252 |
</pre><h3><a name="5.94_Interpreter"></a>Interpreter</h3><pre>
|
|
|
2253 |
|
|
|
2254 |
Fixes problems:
|
|
|
2255 |
- If an input buffer boundary fell at exactly the wrong place, an
|
|
|
2256 |
image whose input was coming from a stream could fail to read the stream EOD
|
|
|
2257 |
marker. (This is quite an old bug.) (zimage.c)
|
|
|
2258 |
- On MS Windows and OS/2 systems, the wstdio pseudo-IODevice showed
|
|
|
2259 |
up as an instance of the IODevice resource category, causing problems.
|
|
|
2260 |
(lib/gs_res.ps, ziodev.c)
|
|
|
2261 |
- errorinfo in $error was undefined, rather than null, initially and
|
|
|
2262 |
after errors that didn't set it deliberately. (lib/gs_init.ps)
|
|
|
2263 |
- The InkParams resource category was defined even in systems that
|
|
|
2264 |
didn't support in-RIP trapping. (lib/gs_ll3.ps, lib/gs_res.ps,
|
|
|
2265 |
lib/gs_trap.ps)
|
|
|
2266 |
- CID fonts with 0-length data caused an error. (lib/gs_cidfn.ps)
|
|
|
2267 |
- Type 10 halftone dictionaries were broken -- perhaps they never
|
|
|
2268 |
had worked. (lib/gs_ll3.ps)
|
|
|
2269 |
|
|
|
2270 |
Makes FontInfo entries available through the extended font API, needed to
|
|
|
2271 |
allow embedded Type 1 fonts to include those entries. (zfont1.c)
|
|
|
2272 |
|
|
|
2273 |
Makes it possible to determine whether the current file is a resource file,
|
|
|
2274 |
needed to allow distinguishing between built-in and input-embedded fonts.
|
|
|
2275 |
(lib/gs_ccfnt.ps, lib/gs_fonts.ps, lib/gs_init.ps, lib/gs_res.ps,
|
|
|
2276 |
lib/gs_type1.ps, zfont.c)
|
|
|
2277 |
|
|
|
2278 |
Moves support for GNU readline from the main Ghostscript fileset to the
|
|
|
2279 |
GNU-specific fileset. (unix-gcc.mak, int.mak, gp_gnrdl.c =>
|
|
|
2280 |
src/gnu/gp_gnrdl.c, gnu/src/gnudevs.mak)
|
|
|
2281 |
|
|
|
2282 |
</pre><h3><a name="5.94_Streams"></a>Streams</h3><pre>
|
|
|
2283 |
|
|
|
2284 |
Fixes problems:
|
|
|
2285 |
- The CCITTFaxDecode filter didn't correctly handle the case where
|
|
|
2286 |
the last code of a 1-D row was a black code and occurred less than 7 or 8
|
|
|
2287 |
bits before the end of the input stream. (We thought we fixed this in 5.86,
|
|
|
2288 |
but we missed one case.) (scfd.c)
|
|
|
2289 |
- If an input buffer boundary fell at exactly the wrong place, an
|
|
|
2290 |
image whose input was coming from a stream could fail to read the stream EOD
|
|
|
2291 |
marker. (This is quite an old bug.) Fixing this involved a possibly risky
|
|
|
2292 |
change to the definition of sbuf_min_left and the already fragile logic in
|
|
|
2293 |
sreadbuf: the fix does solve this problem, but we aren't at all certain it
|
|
|
2294 |
didn't introduce new ones. (stream.h, stream.c)
|
|
|
2295 |
|
|
|
2296 |
</pre><h3><a name="5.94_Library"></a>Library</h3><pre>
|
|
|
2297 |
|
|
|
2298 |
Fixes problems:
|
|
|
2299 |
- The default implementation of copy_tile didn't pass the bitmap id
|
|
|
2300 |
for complete tiles, missing potential optimizations (performance bug only).
|
|
|
2301 |
(gdevdbit.c)
|
|
|
2302 |
- The patch edges of ShadingType 7 shadings were ordered
|
|
|
2303 |
incorrectly, producing incorrect output in some cases where the surface
|
|
|
2304 |
folds over itself. (gxshade6.c)
|
|
|
2305 |
- Flushing internal buffers when rendering an image didn't clip the
|
|
|
2306 |
flushed data, producing incorrect output. (gxidata.c)
|
|
|
2307 |
- Non-zero data_x values for banded images produced incorrect band
|
|
|
2308 |
list data. (It's astounding that this problem hasn't shown up before.)
|
|
|
2309 |
(gxclimag.c)
|
|
|
2310 |
- Banded images rotated by 90 degrees could produce "seams" or
|
|
|
2311 |
garbage if they crossed band boundaries. (This is at least the third time
|
|
|
2312 |
we have "fixed" this problem.) (gxclimag.c, gxifast.c)
|
|
|
2313 |
- Circles or ellipses defined by pairs of 180-degree arcs produced
|
|
|
2314 |
incorrect output when banding. (gxclpath.c, gxclrast.c)
|
|
|
2315 |
- setgray et al simply cleared the Pattern pointer in the client
|
|
|
2316 |
color rather than adjusting its reference count. (gscolor.c, gscolor1.c)
|
|
|
2317 |
- The saved graphics state for bitmap/pixmap patterns contained a
|
|
|
2318 |
reference to the Pattern color, causing Patterns to be retained when they
|
|
|
2319 |
shouldn't be and causing unwanted recursion when freeing them. (gsptype1.c)
|
|
|
2320 |
- Patterns containing halftoned CMYK colors rendered as all black.
|
|
|
2321 |
(bug probably introduced in 5.6x) (gxcht.c)
|
|
|
2322 |
- Because of a typo, CMYK halftoning with only a single plane could
|
|
|
2323 |
put too much yellow into the output. This appears to be quite an old bug.
|
|
|
2324 |
(gxdither.c)
|
|
|
2325 |
- The error code from running out of band list memory wasn't
|
|
|
2326 |
propagated if the condition was detected in cmd_put_drawing_color, causing
|
|
|
2327 |
low-memory recovery not to be invoked. (gxclpath.c)
|
|
|
2328 |
- (Same error code problem) in clist_change_tile. (gxclbits.c)
|
|
|
2329 |
|
|
|
2330 |
Adds more font attributes to the set available through a standard API.
|
|
|
2331 |
(gxfont.h)
|
|
|
2332 |
|
|
|
2333 |
Adds more statistics to the filling algorithm. (gxfill.c)
|
|
|
2334 |
|
|
|
2335 |
Adds an is_resource flag to fonts, to indicate that they originated from a
|
|
|
2336 |
resource rather than being embedded in an input file. (gxfont.h, gsfont.c)
|
|
|
2337 |
|
|
|
2338 |
</pre>
|
|
|
2339 |
|
|
|
2340 |
<hr>
|
|
|
2341 |
|
|
|
2342 |
<h2><a name="Version5.93"></a>Version 5.93 (beta) (9/11/99)</h2>
|
|
|
2343 |
|
|
|
2344 |
<p>
|
|
|
2345 |
This is the next candidate for the 6.0 release. As with 5.92, all changes
|
|
|
2346 |
other than added documentation are bug fixes.
|
|
|
2347 |
|
|
|
2348 |
<h3><a name="5.93_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
2349 |
|
|
|
2350 |
(Library)
|
|
|
2351 |
- Every stream whose state includes any GC-traceable pointers must
|
|
|
2352 |
now have a set_defaults procedure that clears those pointers.
|
|
|
2353 |
|
|
|
2354 |
</pre><h3><a name="5.93_Documentation"></a>Documentation</h3><pre>
|
|
|
2355 |
|
|
|
2356 |
Fixes problems:
|
|
|
2357 |
- There was an extra /ul tag. (doc/Release.htm)
|
|
|
2358 |
- Fontmap.GS wasn't mentioned as needing to be installed.
|
|
|
2359 |
(doc/Install.htm)
|
|
|
2360 |
- Some documentation for the handling of seac was incorrect.
|
|
|
2361 |
(gxtype1.c)
|
|
|
2362 |
|
|
|
2363 |
Removes references to installbsd, which are no longer relevant.
|
|
|
2364 |
(doc/Install.htm)
|
|
|
2365 |
|
|
|
2366 |
Updates the information on building with NeXTSTEP. (doc/Make.htm)
|
|
|
2367 |
|
|
|
2368 |
</pre><h3><a name="5.93_Procedures"></a>Procedures</h3><pre>
|
|
|
2369 |
|
|
|
2370 |
Fixes problems:
|
|
|
2371 |
- The install command had unpredictably different syntax from one
|
|
|
2372 |
"standard" Unix system to another, causing `make install' to fail. We
|
|
|
2373 |
replaced the install command with our own script. (instcopy, dvx-gcc.mak,
|
|
|
2374 |
unix-gcc.mak, unixansi.mak, unixtrad.mak)
|
|
|
2375 |
|
|
|
2376 |
</pre><h3><a name="5.93_Utilities"></a>Utilities</h3><pre>
|
|
|
2377 |
|
|
|
2378 |
Fixes problems:
|
|
|
2379 |
- pcharstr.ps loaded type1ops.ps with run rather than runlibfile,
|
|
|
2380 |
causing an error. (lib/pcharstr.ps)
|
|
|
2381 |
|
|
|
2382 |
</pre><h3><a name="5.93_Drivers"></a>Drivers</h3><pre>
|
|
|
2383 |
|
|
|
2384 |
Fixes problems:
|
|
|
2385 |
- Attempting to embed a font whose Encoding included characters not
|
|
|
2386 |
present in the font produced invalid output. (gdevpsd1.c)
|
|
|
2387 |
- Allocating a stream state didn't (automatically) clear all its
|
|
|
2388 |
internal pointers, possibly causing GC memory access errors. (gdevpsds.c)
|
|
|
2389 |
- An #include of string_.h should have been memory_.h. (gdevpsdf.c)
|
|
|
2390 |
|
|
|
2391 |
Disables compression for very small images. (gdevpsdi.c)
|
|
|
2392 |
|
|
|
2393 |
</pre><h3><a name="5.93_Platforms"></a>Platforms</h3><pre>
|
|
|
2394 |
|
|
|
2395 |
Fixes problems:
|
|
|
2396 |
- Compiling gp_msio with MSVC's /MD switch caused a compile-time
|
|
|
2397 |
error. (gp_msio.c)
|
|
|
2398 |
|
|
|
2399 |
</pre><h3><a name="5.93_PDF_writer"></a>PDF writer</h3><pre>
|
|
|
2400 |
|
|
|
2401 |
Fixes problems:
|
|
|
2402 |
- A bookkeeping object was allocated with the wrong allocator,
|
|
|
2403 |
possibly causing access errors or garbage output. (gdevpdfu.c)
|
|
|
2404 |
- Certain Patterns weren't treated as such, leading to very large
|
|
|
2405 |
output files. (gdevpdfi.c)
|
|
|
2406 |
- If one of the base 14 fonts had a non-standard FontMatrix, the
|
|
|
2407 |
output disregarded this fact. This could cause double obliquing.
|
|
|
2408 |
(gdevpdfx.h, gdevpdff.c, gdevpdft.c)
|
|
|
2409 |
- Articles never got an object ID assigned. (bug introduced in
|
|
|
2410 |
5.91) (gdevpdfm.c)
|
|
|
2411 |
|
|
|
2412 |
</pre><h3><a name="5.93_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
2413 |
|
|
|
2414 |
Changes the PDF interpreter to allow abbreviated filter names like /Fl for
|
|
|
2415 |
all streams, not just in-line images. This directly contradicts the
|
|
|
2416 |
published PDF specification, but Acrobat Reader allows it.
|
|
|
2417 |
(lib/pdf_base.ps)
|
|
|
2418 |
|
|
|
2419 |
</pre><h3><a name="5.93_Interpreter"></a>Interpreter</h3><pre>
|
|
|
2420 |
|
|
|
2421 |
Fixes problems:
|
|
|
2422 |
- Compiled fonts were broken by the introduction of i_ctx_p.
|
|
|
2423 |
(lib/font2c.ps, ccfont.h, iccfont.c)
|
|
|
2424 |
- Allocating a stream state didn't (automatically) clear all its
|
|
|
2425 |
internal pointers, possibly causing GC memory access errors. (zfproc.c)
|
|
|
2426 |
|
|
|
2427 |
</pre><h3><a name="5.93_Streams"></a>Streams</h3><pre>
|
|
|
2428 |
|
|
|
2429 |
Fixes problems:
|
|
|
2430 |
- Allocating a stream state didn't (automatically) clear all its
|
|
|
2431 |
internal pointers, possibly causing GC memory access errors. (scfx.h,
|
|
|
2432 |
slzwx.h, spngpx.h, strimpl.h, sbwbs.c, sdctc.c, seexec.c, sfilter1.c,
|
|
|
2433 |
siscale.c, szlibc.c)
|
|
|
2434 |
- The PNG predictor streams could fail to process some data at the
|
|
|
2435 |
end of the input. (spngp.c)
|
|
|
2436 |
|
|
|
2437 |
</pre><h3><a name="5.93_Library"></a>Library</h3><pre>
|
|
|
2438 |
|
|
|
2439 |
Fixes problems:
|
|
|
2440 |
- Some obsolete definitions for Turbo C could produce references to
|
|
|
2441 |
an undefined procedure (setmem) at link time. (memory_.h, string_.h)
|
|
|
2442 |
|
|
|
2443 |
</pre>
|
|
|
2444 |
|
|
|
2445 |
<hr>
|
|
|
2446 |
|
|
|
2447 |
<h2><a name="Version5.92"></a>Version 5.92 (beta) (9/2/99)</h2>
|
|
|
2448 |
|
|
|
2449 |
<p>
|
|
|
2450 |
This is the next candidate for the 6.0 release. All changes other than
|
|
|
2451 |
added documentation are bug fixes.
|
|
|
2452 |
|
|
|
2453 |
<h3><a name="5.92_Documentation"></a>Documentation</h3><pre>
|
|
|
2454 |
|
|
|
2455 |
Fixes problems:
|
|
|
2456 |
- The News for 5.91 didn't include a summary. (doc/News.htm)
|
|
|
2457 |
- The documentation for Microsoft platforms didn't mention that you
|
|
|
2458 |
must add the Ghostscript bin and lib directories to the PATH. (doc/Use.htm)
|
|
|
2459 |
|
|
|
2460 |
Adds a file describing Aladdin's process for building, testing, and
|
|
|
2461 |
releasing Ghostscript. (doc/Readme.htm, doc/Release.htm)
|
|
|
2462 |
|
|
|
2463 |
</pre><h3><a name="5.92_Procedures"></a>Procedures</h3><pre>
|
|
|
2464 |
|
|
|
2465 |
Fixes problems:
|
|
|
2466 |
- Fontmap.GS is now required, but wasn't installed. (unixinst.mak)
|
|
|
2467 |
- A couple of documentation files weren't installed. (unixinst.mak)
|
|
|
2468 |
|
|
|
2469 |
</pre><h3><a name="5.92_Utilities"></a>Utilities</h3><pre>
|
|
|
2470 |
|
|
|
2471 |
Fixes problems:
|
|
|
2472 |
- The ps2pdf script for MS Windows used the wrong name for the
|
|
|
2473 |
executable. (lib/ps2pdf.bat)
|
|
|
2474 |
|
|
|
2475 |
</pre><h3><a name="5.92_Drivers"></a>Drivers</h3><pre>
|
|
|
2476 |
|
|
|
2477 |
Fixes problems:
|
|
|
2478 |
- An uninitialized variable annoyed some compilers. (gdevpsdt.c)
|
|
|
2479 |
- The PostScript-writing driver used the wrong allocator, causing
|
|
|
2480 |
possible memory access errors. (gdevps.c)
|
|
|
2481 |
- The PostScript-writing driver didn't clear a pointer, causing
|
|
|
2482 |
possible GC errors. (gdevps.c)
|
|
|
2483 |
- The PostScript-writing driver didn't have a correct GC descriptor,
|
|
|
2484 |
causing pointers to be corrupted. (gdevpsdf.h, gdevps.c, gdevpsdf.c)
|
|
|
2485 |
- Embedded Type 1 fonts unnecessarily filled individual Encoding
|
|
|
2486 |
slots with /.notdef. (gdevpsd1.c)
|
|
|
2487 |
- A large constant produced warnings on some compilers. (gdevpsdt.c)
|
|
|
2488 |
|
|
|
2489 |
</pre><h3><a name="5.92_PDF_writer"></a>PDF writer</h3><pre>
|
|
|
2490 |
|
|
|
2491 |
Fixes problems:
|
|
|
2492 |
- Once again, gcc didn't complain about an ANSI-illegal extra
|
|
|
2493 |
semicolon in a declaration list. (gdevpdfo.h)
|
|
|
2494 |
- Adds a cast to work around the fact that some compilers declare
|
|
|
2495 |
the return type of memchr as char * rather than void *. (gdevpdfr.c)
|
|
|
2496 |
- The bookkeeping for whether a font had been written and freed was
|
|
|
2497 |
inverted, causing some fonts to be written many times and other fonts not to
|
|
|
2498 |
be written at all. (gdevpdf.c)
|
|
|
2499 |
|
|
|
2500 |
</pre><h3><a name="5.92_Interpreter"></a>Interpreter</h3><pre>
|
|
|
2501 |
|
|
|
2502 |
Fixes problems:
|
|
|
2503 |
- More places needed workarounds for the alignment aliasing gcc bug.
|
|
|
2504 |
The bug only occurs if a pointer variable is dereferenced through a cast to
|
|
|
2505 |
a stricter alignment and then dereferenced later in its original form, so it
|
|
|
2506 |
doesn't affect very many places. (igc.c, igcref.c, isave.c)
|
|
|
2507 |
|
|
|
2508 |
</pre><h3><a name="5.92_Streams"></a>Streams</h3><pre>
|
|
|
2509 |
|
|
|
2510 |
Makes the stream GC descriptor public for subclassing. (stream.h, stream.c)
|
|
|
2511 |
|
|
|
2512 |
</pre>
|
|
|
2513 |
|
|
|
2514 |
<hr>
|
|
|
2515 |
|
|
|
2516 |
<h2><a name="Version5.91"></a>Version 5.91 (beta) (8/30/99)</h2>
|
|
|
2517 |
|
|
|
2518 |
<p>
|
|
|
2519 |
This is the next beta for 6.0. It includes a major rewrite of the parts of
|
|
|
2520 |
the PDF writer that deal with resources and pdfmarks, as well as the usual
|
|
|
2521 |
bug fixes. There are still problems with embedded fonts, both TrueType
|
|
|
2522 |
(which sometimes don't show up at all) and Type 1 (which sometimes confuse
|
|
|
2523 |
Acrobat Reader 3).
|
|
|
2524 |
|
|
|
2525 |
<h3><a name="5.91_Documentation"></a>Documentation</h3><pre>
|
|
|
2526 |
|
|
|
2527 |
Fixes problems:
|
|
|
2528 |
- An HTML tag was misplaced in the News file. (doc/News.htm)
|
|
|
2529 |
|
|
|
2530 |
Notes that the Solaris FONTPATH scanning problem may be fixed.
|
|
|
2531 |
(doc/Use.htm)
|
|
|
2532 |
|
|
|
2533 |
</pre><h3><a name="5.91_Utilities"></a>Utilities</h3><pre>
|
|
|
2534 |
|
|
|
2535 |
Fixes problems:
|
|
|
2536 |
- Many of the margin and width computations in ps2epsi.ps (not
|
|
|
2537 |
written by Aladdin) were wrong -- off by 1. It's only because the bugs
|
|
|
2538 |
masked each other or cancelled each other out that the code didn't produce
|
|
|
2539 |
errors more of the time. (lib/ps2epsi.ps)
|
|
|
2540 |
|
|
|
2541 |
</pre><h3><a name="5.91_Drivers"></a>Drivers</h3><pre>
|
|
|
2542 |
|
|
|
2543 |
Fixes problems:
|
|
|
2544 |
- Font subset glyphs weren't sorted early enough, causing Type 1
|
|
|
2545 |
embedded fonts to be written with inconsistent lengths. (gdevpsd1.c)
|
|
|
2546 |
|
|
|
2547 |
Changes the BMP drivers so that they set the resolution in the BMP header
|
|
|
2548 |
rather than leaving it at 0. This solves some problems reported by users,
|
|
|
2549 |
but may cause others. (gdevbmpc.c)
|
|
|
2550 |
|
|
|
2551 |
</pre><h3><a name="5.91_Platforms"></a>Platforms</h3><pre>
|
|
|
2552 |
|
|
|
2553 |
Fixes problems:
|
|
|
2554 |
- A change made in 5.90 was incorrect (we couldn't test it, because
|
|
|
2555 |
MS Windows and OS/2 systems can't be used over a network). (gp_msio.c,
|
|
|
2556 |
gp_os2.c)
|
|
|
2557 |
|
|
|
2558 |
Adds some conditionalization to work around a bug in some recent versions of
|
|
|
2559 |
gcc/egcs. (stdpre.h, interp.c)
|
|
|
2560 |
|
|
|
2561 |
</pre><h3><a name="5.91_Fonts"></a>Fonts</h3><pre>
|
|
|
2562 |
|
|
|
2563 |
Fixes problems:
|
|
|
2564 |
- If the extension of a font file name on GS_FONTPATH included any
|
|
|
2565 |
upper-case characters, the font would not be found. (lib/gs_fonts.ps)
|
|
|
2566 |
|
|
|
2567 |
Allows fontmaps to contain <string> run or .runlibfile, to get rid of the
|
|
|
2568 |
Fontmap -> Fontmap.GS link that VMS can't handle. (lib/gs_fonts.ps)
|
|
|
2569 |
|
|
|
2570 |
</pre><h3><a name="5.91_PDF_writer"></a>PDF writer</h3><pre>
|
|
|
2571 |
|
|
|
2572 |
Fixes problems:
|
|
|
2573 |
- Very long arguments for pdfmark caused an ioerror, because the
|
|
|
2574 |
buffer used for converting them was fixed-length. (lib/gs_pdfwr.ps)
|
|
|
2575 |
- pdfmarks couldn't refer to objects that hadn't been defined yet.
|
|
|
2576 |
(gdevpdfx.h, gdevpdfo.c)
|
|
|
2577 |
- When a DOCVIEW pdfmark added an OpenAction key to the Catalog,
|
|
|
2578 |
it omitted the / before the name. (gdevpdfm.c)
|
|
|
2579 |
- Font resources could be written in the middle of a page contents
|
|
|
2580 |
stream. (bug introduced in 5.90) (gdevpdff.c, gdevpdfu.c)
|
|
|
2581 |
- As usual, there were some signed/unsigned char * mismatches that
|
|
|
2582 |
gcc didn't detect. (gdevpdff.c, gdevpdfm.c, gdevpdfo.c)
|
|
|
2583 |
- Fonts used on a page but freed before the end of the page were
|
|
|
2584 |
omitted from the page's resource dictionary. (gdevpdfx.h, gdevpdf.c,
|
|
|
2585 |
gdevpdff.c, gdevpdft.c)
|
|
|
2586 |
- /D or /Dest keys in Action pdfmark dictionaries dropped the first
|
|
|
2587 |
character of their value. (gdevpdfm.c)
|
|
|
2588 |
- If a pdfmark added annotations to a page after the end of that
|
|
|
2589 |
page had been reached, those annotations would be lost. (gdevpdf.c)
|
|
|
2590 |
- ANN, LNK, DEST, and PS pdfmarks ignored the object name, if any.
|
|
|
2591 |
(Only OBJ and BP processed the name.) Unfortunately, fixing this required a
|
|
|
2592 |
complete overhaul of the way that resources and PDF objects were represented
|
|
|
2593 |
internally. The result is both simpler and more general, but it involved a
|
|
|
2594 |
major upheaval in the PDF writer code. (lib/gs_pdfwr.ps, gdevpdfo.h,
|
|
|
2595 |
gdevpdfx.h, gdevpdf.c, gdevpdff.c, gdevpdfi.c, gdevpdfm.c, gdevpdfo.c,
|
|
|
2596 |
gdevpdfr.c, gdevpdft.c, gdevpdfu.c)
|
|
|
2597 |
- EP pdfmarks didn't close any open text context. (gdevpdfm.c)
|
|
|
2598 |
|
|
|
2599 |
Adds debugging code to check the consistency of the embedded Type 1 font
|
|
|
2600 |
writer. (gdevpdff.c)
|
|
|
2601 |
|
|
|
2602 |
Makes /A and /F at the top level of an annotation or outline pdfmark
|
|
|
2603 |
equivalent to /Action and /File respectively. See the code for more
|
|
|
2604 |
information. (gdevpdfm.c)
|
|
|
2605 |
|
|
|
2606 |
</pre><h3><a name="5.91_Library"></a>Library</h3><pre>
|
|
|
2607 |
|
|
|
2608 |
Fixes problems:
|
|
|
2609 |
- Degenerate Bezier curves could cause a division by zero.
|
|
|
2610 |
(gxpcopy.c)
|
|
|
2611 |
- Some macros used in non-FPU configurations were missing some
|
|
|
2612 |
needed uses of const, and in one case an additional cast. (gxfarith.h,
|
|
|
2613 |
gxfixed.h)
|
|
|
2614 |
|
|
|
2615 |
Changes the discard macro to upper-case. (stdpre.h)
|
|
|
2616 |
|
|
|
2617 |
</pre>
|
|
|
2618 |
|
|
|
2619 |
<hr>
|
|
|
2620 |
|
|
|
2621 |
<h2><a name="Version5.90"></a>Version 5.90 (beta) (8/20/99)</h2>
|
|
|
2622 |
|
|
|
2623 |
<p>
|
|
|
2624 |
This is the first real candidate for the 6.0 release. It does not fix all
|
|
|
2625 |
known bugs, but it includes all planned functionality. New in this fileset:
|
|
|
2626 |
<ul>
|
|
|
2627 |
<li> - FunctionType 4 for PDF files.
|
|
|
2628 |
<li> - Alternate printer images for PDF files (-dUsePrinterImages
|
|
|
2629 |
switch).
|
|
|
2630 |
<li> - pdfwrite support for PDF "Cos objects" (without compression for
|
|
|
2631 |
streams).
|
|
|
2632 |
<li> - pdfwrite support for graphics objects named with BP/EP/SP
|
|
|
2633 |
(without compression for the object definition).
|
|
|
2634 |
<li> - pdfwrite font subsetting and embedded TrueType fonts.
|
|
|
2635 |
</ul>
|
|
|
2636 |
|
|
|
2637 |
<h3><a name="5.90_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
2638 |
|
|
|
2639 |
(Interpreter)
|
|
|
2640 |
- ref_stack_init now takes an additional argument.
|
|
|
2641 |
- no_time_slice_proc is removed -- use 0 instead.
|
|
|
2642 |
(Library)
|
|
|
2643 |
- Notification client procedures and the gs_notify_ procedures
|
|
|
2644 |
take different arguments.
|
|
|
2645 |
- The common part of a gs_function_t structure has changed.
|
|
|
2646 |
- gs_text_enum_init now returns a value that can indicate an error.
|
|
|
2647 |
- The font font_info procedure now takes an additional argument.
|
|
|
2648 |
- The IODevice open_device procedure is now defined as returning
|
|
|
2649 |
|
|
|
2650 |
- gxp1fill.h is renamed gxp1impl.h.
|
|
|
2651 |
- Allocators now have an additional procedure they must implement,
|
|
|
2652 |
and a state member they must initialize.
|
|
|
2653 |
- Most of the gs..basic.. structure definition macros have been
|
|
|
2654 |
renamed. The ptrs1_stringsN structure definition macros are removed.
|
|
|
2655 |
- Implementations of the text API now must provide a resync
|
|
|
2656 |
procedure rather than a restart procedure.
|
|
|
2657 |
|
|
|
2658 |
</pre><h3><a name="5.90_Documentation"></a>Documentation</h3><pre>
|
|
|
2659 |
|
|
|
2660 |
Documents the new -dUsePrinterImages switch, and the expanded meaning of
|
|
|
2661 |
-Z~. (doc/Use.htm)
|
|
|
2662 |
|
|
|
2663 |
Updates FSF's address in documentation. (lib/Fontmap.GS, lib/Fontmap.Sol,
|
|
|
2664 |
gdevcd8.c)
|
|
|
2665 |
|
|
|
2666 |
Brings the PDF writer (ps2pdf) documentation up to date. (doc/Ps2pdf.htm)
|
|
|
2667 |
|
|
|
2668 |
Updates the current-release documentation. (doc/Current.htm,
|
|
|
2669 |
doc/Readme.htm)
|
|
|
2670 |
|
|
|
2671 |
Updates the problem-reporting procedure for contributed drivers, and some
|
|
|
2672 |
other new-user information. (doc/New-user.htm)
|
|
|
2673 |
|
|
|
2674 |
</pre><h3><a name="5.90_Procedures"></a>Procedures</h3><pre>
|
|
|
2675 |
|
|
|
2676 |
Fixes bugs:
|
|
|
2677 |
- Because of a typo, the file gs_mgl_e.ps wasn't installed (on Unix
|
|
|
2678 |
systems) by 'make install'. (unixinst.mak)
|
|
|
2679 |
- The .dev files for drivers didn't depend on devs.mak. (devs.mak)
|
|
|
2680 |
- The X driver didn't include a needed dependency on the bbox
|
|
|
2681 |
device. (devs.mak)
|
|
|
2682 |
|
|
|
2683 |
Incorporates the pdfmin package into the pdf package, since pdfmin was only
|
|
|
2684 |
provided for very small-memory environments and is no longer useful.
|
|
|
2685 |
(int.mak)
|
|
|
2686 |
|
|
|
2687 |
Adds additional prototype-checking switches, which are important on 64-bit
|
|
|
2688 |
platforms and useful on all platforms, to the gcc compilation line.
|
|
|
2689 |
(unix-gcc.mak)
|
|
|
2690 |
|
|
|
2691 |
</pre><h3><a name="5.90_Utilities"></a>Utilities</h3><pre>
|
|
|
2692 |
|
|
|
2693 |
Fixes bugs:
|
|
|
2694 |
- A backquote was misplaced in the Unix ps2pdf script. (lib/ps2pdf)
|
|
|
2695 |
- Some example files didn't have %! headers. (examples/alphabet.ps,
|
|
|
2696 |
examples/waterfal.ps)
|
|
|
2697 |
- ansi2knr didn't handle preprocessor directives within a function
|
|
|
2698 |
header. (ansi2knr.c)
|
|
|
2699 |
|
|
|
2700 |
Cleans up some minor compiler complaints. (genarch.c, genconf.c, echogs.c)
|
|
|
2701 |
|
|
|
2702 |
</pre><h3><a name="5.90_Drivers"></a>Drivers</h3><pre>
|
|
|
2703 |
|
|
|
2704 |
Fixes bugs:
|
|
|
2705 |
- The PostScript writer sometimes failed to reset the clip path,
|
|
|
2706 |
causing parts of the output to be omitted or to appear incorrectly.
|
|
|
2707 |
(gdevvec.c)
|
|
|
2708 |
- There was a type mismatch in a conditional. (gdevxini.c)
|
|
|
2709 |
- A constant array wasn't declared as static. (gdevpsdt.c)
|
|
|
2710 |
- Once again, there were some signed / unsigned char mismatches that
|
|
|
2711 |
gcc apparently can't be forced to detect. (gdevpsdt.c)
|
|
|
2712 |
- The alternative X drivers didn't have GC descriptors, which could
|
|
|
2713 |
lead to memory corruption. (gdevxalt.c)
|
|
|
2714 |
- The alternative X drivers didn't handle the closing of the
|
|
|
2715 |
underlying X driver correctly, leading to a dangling pointer. (gdevxalt.c)
|
|
|
2716 |
- Font subsetting didn't eliminate duplicate glyphs (glyphs
|
|
|
2717 |
referenced more than once from the Encoding vector.) (gdevpsd1.c,
|
|
|
2718 |
gdevpsdt.c)
|
|
|
2719 |
- Type 1 font subsetting didn't ensure the presence of .notdef.
|
|
|
2720 |
(gdevpsd1.c)
|
|
|
2721 |
- The embedded TrueType font writer wrote all 16-bit values
|
|
|
2722 |
incorrectly. This could explain a lot! (gdevpsdt.c)
|
|
|
2723 |
|
|
|
2724 |
Cleans up public functions with no previous prototype. (gdevtfax.h,
|
|
|
2725 |
gdevx.h, gdevdfax.c, gdevtfax.c, gdevx.c, gdevxini.c, gdevxxf.c)
|
|
|
2726 |
|
|
|
2727 |
Adds some procedures to support font subsetting. (gdevpsdf.h, gdevpsdf.c)
|
|
|
2728 |
|
|
|
2729 |
Adds an alternate font name for writing TrueType fonts. (gdevpsdt.c)
|
|
|
2730 |
|
|
|
2731 |
Makes the TrueType font writer generate an OS/2 table, a Macintosh cmap, and
|
|
|
2732 |
a name table (for the font name), as well as a Windows cmap and post, if
|
|
|
2733 |
necessary. (gdevpsdf.h, gdevpsdt.c)
|
|
|
2734 |
|
|
|
2735 |
</pre><h3><a name="5.90_Platforms"></a>Platforms</h3><pre>
|
|
|
2736 |
|
|
|
2737 |
Updates a couple of clients for the change in the IODevice open_device
|
|
|
2738 |
procedure, eliminating some undesirable externs. (gp_msio.c, gp_os2.c)
|
|
|
2739 |
|
|
|
2740 |
</pre><h3><a name="5.90_Fonts"></a>Fonts</h3><pre>
|
|
|
2741 |
|
|
|
2742 |
Adds OS/2 and maxp to the list of tables that must be preserved when loading
|
|
|
2743 |
TrueType fonts. (lib/gs_ttf.ps)
|
|
|
2744 |
|
|
|
2745 |
Registers the complete lists of glyphs in the Adobe Latin fonts as
|
|
|
2746 |
pseudo-encodings. (lib/gs_lgo_e.ps, lib/gs_lgx_e.ps, unixinst.mak)
|
|
|
2747 |
|
|
|
2748 |
</pre><h3><a name="5.90_PDF_writer"></a>PDF writer</h3><pre>
|
|
|
2749 |
|
|
|
2750 |
Fixes bugs:
|
|
|
2751 |
- One built-in font was sometimes substituted for another.
|
|
|
2752 |
(gdevpdff.c)
|
|
|
2753 |
- Use of composite fonts often produced a rangecheck error.
|
|
|
2754 |
(gdevpdft.c)
|
|
|
2755 |
- The structures for named objects were freed twice. (gdevpdfx.h,
|
|
|
2756 |
gdevpdf.c, gdevpdfo.c)
|
|
|
2757 |
- The code to avoid writing a blank between a Td command and
|
|
|
2758 |
following text was fragile and still incorrect after being "fixed" twice.
|
|
|
2759 |
We removed this minor optimization, at a small cost in file size when not
|
|
|
2760 |
compressing. (gdevpdft.c)
|
|
|
2761 |
- No Names tree was generated for named destinations specified as
|
|
|
2762 |
strings. Rather than do this, we now convert string destinations to names.
|
|
|
2763 |
This doesn't scale up well, but it is simple and also is compatible with all
|
|
|
2764 |
PDF versions from 1.1 on. (gdevpdfm.c)
|
|
|
2765 |
- Fonts that define characters incrementally, such as the TrueType
|
|
|
2766 |
fonts written by some versions of the AdobePS Windows driver, could omit
|
|
|
2767 |
characters if embedded. Fixing this required delaying writing out fonts
|
|
|
2768 |
until the font was about to be freed or the writer was closed. (gdevpdfx.h,
|
|
|
2769 |
gdevpdff.c, gdevpdft.c)
|
|
|
2770 |
|
|
|
2771 |
Cleans up public functions with no previous prototype. (gdevpdfx.h,
|
|
|
2772 |
gdevpdf.c, gdevpdfm.c)
|
|
|
2773 |
|
|
|
2774 |
Updates client code for the change in gs_text_enum_init. (gdevpdft.c)
|
|
|
2775 |
|
|
|
2776 |
Makes some changes towards handling show operations that must be split up
|
|
|
2777 |
internally into multiple operations using different fonts. (gdevpdfx.h,
|
|
|
2778 |
gdevpdff.c, gdevpdft.c)
|
|
|
2779 |
|
|
|
2780 |
Implements the PUT pdfmark for the built-in objects (Catalog, DocInfo,
|
|
|
2781 |
Page<#>, ThisPage, PrevPage, NextPage). This required deferring writing out
|
|
|
2782 |
page objects until the end of the document. (lib/gs_pdfwr.ps, gdevpdfx.h,
|
|
|
2783 |
gdevpdf.c, gdevpdff.c, gdevpdfm.c, gdevpdfo.c, gdevpdfu.c)
|
|
|
2784 |
|
|
|
2785 |
Adds table entries, but not parsing, checking, or functionality, for the new
|
|
|
2786 |
Acrobat 4 pdfmarks related to document logical structure. (gdevpdfm.c)
|
|
|
2787 |
|
|
|
2788 |
Implements stream-type Cos objects. (lib/gs_pdfwr.ps, gdevpdfx.h,
|
|
|
2789 |
gdevpdf.c, gdevpdfm.c, gdevpdfo.c, gdevpdfp.c, gdevpdfu.c)
|
|
|
2790 |
|
|
|
2791 |
Implements BP/EP/SP pdfmarks. (gdevpdfx.h, gdevpdf.c, gdevpdfi.c,
|
|
|
2792 |
gdevpdfm.c)
|
|
|
2793 |
|
|
|
2794 |
Changes enumeration and #defined names to upper case, and adds _t to type
|
|
|
2795 |
names. (gdevpdfx.h, gdevpdf*.c)
|
|
|
2796 |
|
|
|
2797 |
Adds an OS/2 table for embedded fonts if missing. (gdevpdff.c)
|
|
|
2798 |
|
|
|
2799 |
Makes the allocator for the PDF device's internal structures be the stable
|
|
|
2800 |
allocator of the device's allocator, not the C heap. This required
|
|
|
2801 |
correcting a number of GC descriptors. (gdevpdfx.h, gdevpdf.c, gdevpdfu.c)
|
|
|
2802 |
|
|
|
2803 |
Replaces the text restart procedure with the new resync procedure.
|
|
|
2804 |
(gdevpdft.c)
|
|
|
2805 |
|
|
|
2806 |
</pre><h3><a name="5.90_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
2807 |
|
|
|
2808 |
Fixes problems:
|
|
|
2809 |
- Failure to find a font in the Resources dictionary signalled an
|
|
|
2810 |
/undefinedfont error (which does not exist) rather than /invalidfont.
|
|
|
2811 |
(lib/pdf_font.ps)
|
|
|
2812 |
|
|
|
2813 |
Implements FunctionType 4 functions. (lib/pdf_draw.ps, zfunc4.c)
|
|
|
2814 |
|
|
|
2815 |
Implements the -dUsePrinterImages switch to use "alternate" printer images
|
|
|
2816 |
when rendering. (lib/pdf_draw.ps)
|
|
|
2817 |
|
|
|
2818 |
</pre><h3><a name="5.90_Interpreter"></a>Interpreter</h3><pre>
|
|
|
2819 |
|
|
|
2820 |
Fixes problems:
|
|
|
2821 |
- Some pointers were declared as ref * that actually could be
|
|
|
2822 |
ref_packed *, potentially confusing compilers that follow the new, stricter
|
|
|
2823 |
ANSI C rules about alignment aliasing. (idebug.h, idebug.c, igc.c,
|
|
|
2824 |
igcref.c, zmisc.c)
|
|
|
2825 |
- cshow didn't restore the root font after executing the procedure,
|
|
|
2826 |
producing incorrect results if the procedure did a setfont. (ichar.h,
|
|
|
2827 |
zcfont.c, zchar.c)
|
|
|
2828 |
- A needed const-breaking cast was omitted. (zmisc.c)
|
|
|
2829 |
- The memory validator could cause an unaligned access. (ilocate.c)
|
|
|
2830 |
- restore could free parts of the stacks that were still in use. We
|
|
|
2831 |
fixed this long-standing problem using the new concept of stable allocators.
|
|
|
2832 |
(interp.c)
|
|
|
2833 |
|
|
|
2834 |
Moves the implementation of the abs operator to C, required for FunctionType
|
|
|
2835 |
4 support. (lib/gs_init.ps, zarith.c)
|
|
|
2836 |
|
|
|
2837 |
Makes more operator procedures public, required for FunctionType 4 support.
|
|
|
2838 |
(zarith.c, zmath.c, zrelbit.c, ztype.c)
|
|
|
2839 |
|
|
|
2840 |
Adds an additional parameter to ref_stack_init, to allow creating a
|
|
|
2841 |
temporary stack without having an allocator. (istkparm.h, istack.h,
|
|
|
2842 |
interp.c, istack.c)
|
|
|
2843 |
|
|
|
2844 |
Cleans up public functions with no previous prototype. (files.h, ichar.h,
|
|
|
2845 |
icstate.h, ifilter2.h, ifrpred.h, ifwpred.h, igcstr.h, iimage.h, iimage2.h,
|
|
|
2846 |
iinit.h, imain.h, interp.h, iscanbin.h, ivmem2.h, oparc.h, opextern.h,
|
|
|
2847 |
icontext.c, igc.c, iinit.c, imain.c, inobtokn.c, interp.c, iscan.c,
|
|
|
2848 |
iscanbin.c, zchar.c, zcharout.c, zcolor.c, zcolor1.c, zcontrol.c, zdevice.c,
|
|
|
2849 |
zdpnext.c, zdps.c, zfdecode.c, zfile.c, zfilter2.c, zfont0.c, zfunc0.c,
|
|
|
2850 |
zfunc3.c, zfzlib.c, zgeneric.c, zht1.c, zht2.c, zimage.c, zimage2.c,
|
|
|
2851 |
ziodev.c, zmath.c, zpath1.c, zupath.c, zusparam.c, zvmem.c, zvmem2.c)
|
|
|
2852 |
|
|
|
2853 |
Updates client code for the tweak in the definition of the IODevice
|
|
|
2854 |
open_device procedure. (ziodev.c)
|
|
|
2855 |
|
|
|
2856 |
Implements stable local and global VM allocators. This required changing
|
|
|
2857 |
more places than we would have liked. (ialloc.c, igc.c, ilocate.c, imain.c,
|
|
|
2858 |
interp.c, ireclaim.c, isave.c, zcontext.c)
|
|
|
2859 |
|
|
|
2860 |
Removes the global member of gs_ref_memory_t, since it isn't used.
|
|
|
2861 |
(gxalloc.h, ialloc.c, zcontext.c)
|
|
|
2862 |
|
|
|
2863 |
Adds more tracing to the relocation phase of the garbage collector.
|
|
|
2864 |
(igcref.c)
|
|
|
2865 |
|
|
|
2866 |
</pre><h3><a name="5.90_Streams"></a>Streams</h3><pre>
|
|
|
2867 |
|
|
|
2868 |
Fixes problems:
|
|
|
2869 |
- jpeg_open_backing_store no longer had the correct arguments.
|
|
|
2870 |
(This had no effect in practice, since the procedure was never called.)
|
|
|
2871 |
(sjpegc.c)
|
|
|
2872 |
|
|
|
2873 |
Cleans up public functions with no previous prototype. (scfdgen.c,
|
|
|
2874 |
scfetab.c, sjpegc.c, slzwce.c, slzwd.c, stream.c)
|
|
|
2875 |
|
|
|
2876 |
Adds some tracing to the image scaling stream. (siscale.c)
|
|
|
2877 |
|
|
|
2878 |
</pre><h3><a name="5.90_Library"></a>Library</h3><pre>
|
|
|
2879 |
|
|
|
2880 |
Fixes bugs:
|
|
|
2881 |
- A null OutputFile name could cause an error. (gxdevice.h,
|
|
|
2882 |
gsdevice.c, gsfname.c)
|
|
|
2883 |
- Shading with non-monotonic Functions produced incorrect output.
|
|
|
2884 |
(gxshade1.c)
|
|
|
2885 |
- An #undef didn't match the #define it was supposed to cancel.
|
|
|
2886 |
(gxchar.c)
|
|
|
2887 |
- The default next_char_glyph procedure didn't handle FROM_CHARS or
|
|
|
2888 |
FROM_SINGLE_CHAR data sources. (gstext.c)
|
|
|
2889 |
- When finalizing a forwarding device, the target pointer in the
|
|
|
2890 |
device wasn't cleared, leading to an incorrect attempt to access it later.
|
|
|
2891 |
(gdevnfwd.c)
|
|
|
2892 |
- Interpolated images were broken, probably since 5.81.
|
|
|
2893 |
(gxiscale.c)
|
|
|
2894 |
- Some color space implementation procedures hadn't been updated to
|
|
|
2895 |
add 'const' to the color space argument. (gscie.c)
|
|
|
2896 |
- A constant had a signed/unsigned ambiguity on systems where
|
|
|
2897 |
sizeof(long) > 4. (gsccode.h)
|
|
|
2898 |
- The font font_info procedure didn't provide for scaling.
|
|
|
2899 |
(gxfont.h)
|
|
|
2900 |
|
|
|
2901 |
Simplifies the notification mechanism to remove the concept of client and
|
|
|
2902 |
generating object. Registration now just takes a closure (procedure +
|
|
|
2903 |
opaque data); events pass the closure data and event data. (gsnotify.h,
|
|
|
2904 |
gsfont.c, gsnotify.c)
|
|
|
2905 |
|
|
|
2906 |
Changes gs_notify_unregister so that it can unregister all registrations of
|
|
|
2907 |
a particular client rather than only one. (gsnotify.h, gsnotify.c)
|
|
|
2908 |
|
|
|
2909 |
Adds support for "vanilla" Functions at the library level. (gsfunc.h,
|
|
|
2910 |
gsfunc.c)
|
|
|
2911 |
|
|
|
2912 |
Adds some tracing for Functions. (gsfunc3.c)
|
|
|
2913 |
|
|
|
2914 |
Redefines function monotonicity to indicate whether the function is
|
|
|
2915 |
increasing or decreasing, and implements monotonicity correctly for all
|
|
|
2916 |
FunctionTypes except 4. (gsfunc.h, gxfunc.h, gsfunc0.c, gsfunc3.c)
|
|
|
2917 |
|
|
|
2918 |
Makes Type 0 fonts check that they are being used with a string, not a
|
|
|
2919 |
character or (a) glyph(s). (gxtext.h, gschar.c, gschar0.c, gstext.c,
|
|
|
2920 |
gxchar.c)
|
|
|
2921 |
|
|
|
2922 |
Cleans up public functions with no previous prototype. (gdevmem.h,
|
|
|
2923 |
gpcheck.h, gscie.h, gserror.h, gsmemory.h, gxcie.h, gxcldev.h, gxclpath.h,
|
|
|
2924 |
gxcmap.h, gxcspace.h, gxfixed.h, gxfont0.h, gxp1fill.h [deleted],
|
|
|
2925 |
gxp1impl.h, math_.h, std.h, gconf.c, gdevdrop.c, gdevm1.c, gdevm2.c,
|
|
|
2926 |
gdevm4.c, gdevm8.c, gdevm24.c, gdevmr1.c, gdevmr2n.c, gdevprn.c, gsbittab.c,
|
|
|
2927 |
gscdef.c, gscie.c, gsciemap.c, gscspace.c, gscscie.c, gsdevmem.c,
|
|
|
2928 |
gsdparam.c, gshtscr.c, gsimpath.c, gsiodev.c, gsmisc.c, gsnorop.c, gspath.c,
|
|
|
2929 |
gspcolor.c, gsptype1.c, gsropc.c, gsutil.c, gxacpath.c, gxclist.c,
|
|
|
2930 |
gxcpath.c, gxi12bit.c, gxicolor.c, gxifast.c, gximono.c, gxiscale.c,
|
|
|
2931 |
gxp1fill.c, gxpath2.c)
|
|
|
2932 |
|
|
|
2933 |
Gets rid of some remaining vestiges of 16-bit ints. (gdevm1.c, gsbitops.c)
|
|
|
2934 |
|
|
|
2935 |
Adds procedures to register clients for notification when a font is freed.
|
|
|
2936 |
(gxfont.h, gsfont.c)
|
|
|
2937 |
|
|
|
2938 |
Defines the IODevice open_device procedure as returning 1 if it opened a new
|
|
|
2939 |
stream, 0 if it returned an existing stream. This eliminates some awkward
|
|
|
2940 |
externs.
|
|
|
2941 |
|
|
|
2942 |
Adds the concept of a stable allocator -- an allocator that allocates from
|
|
|
2943 |
the same heap and in the same VM space as another allocator, but is not
|
|
|
2944 |
subject to save and restore. (gsmemory.h, gsmemraw.h, gsalloc.c,
|
|
|
2945 |
gsmalloc.c, gsmemlok.c, gsmemret.c, gsnogc.c)
|
|
|
2946 |
|
|
|
2947 |
Adds some new macros to make defining new kinds of fixed-format structures
|
|
|
2948 |
simpler. (gsstruct.h)
|
|
|
2949 |
|
|
|
2950 |
Replaces the text processing restart procedure with a more general resync
|
|
|
2951 |
procedure, which can be used to restart partway through a string. We retain
|
|
|
2952 |
gs_text_restart for backward compatibility and general usefulness.
|
|
|
2953 |
(gstext.h, gxtext.h, gdevbbox.c, gstext.c, gxchar.c)
|
|
|
2954 |
|
|
|
2955 |
Adds the Adobe Latin glyph sets as pseudo-encodings. (gsccode.h)
|
|
|
2956 |
|
|
|
2957 |
</pre>
|
|
|
2958 |
|
|
|
2959 |
<hr>
|
|
|
2960 |
|
|
|
2961 |
<h2><a name="Version5.88"></a>Version 5.88 (tester) (8/3/99)</h2>
|
|
|
2962 |
|
|
|
2963 |
<p>
|
|
|
2964 |
This fileset adds the ability to reference and embed TrueType fonts in PDF
|
|
|
2965 |
output. Unfortunately, even though the resulting PDF files work fine with
|
|
|
2966 |
Ghostscript itself, Acrobat Reader apparently can't handle embedded TrueType
|
|
|
2967 |
fonts with non-standard Encodings. We hope to fix this problem during the
|
|
|
2968 |
6.0 beta test period.
|
|
|
2969 |
|
|
|
2970 |
<p>
|
|
|
2971 |
This fileset also adds the ability to buffer X Windows output in a
|
|
|
2972 |
client-side bitmap. This is typically more efficient than trying to push
|
|
|
2973 |
many small commands through the X client/server knothole, especially if
|
|
|
2974 |
bitmap images or RasterOp are involved.
|
|
|
2975 |
|
|
|
2976 |
<p>
|
|
|
2977 |
Some reported problems have been deliberately left unfixed: we will need
|
|
|
2978 |
every minute of the 13 days before the start of the 6.0 beta test period to
|
|
|
2979 |
implement the last few items of functionality scheduled for the 6.0 release,
|
|
|
2980 |
and we can fix problems (but not add functionality) during the beta test
|
|
|
2981 |
period.
|
|
|
2982 |
|
|
|
2983 |
<h3><a name="5.88_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
2984 |
|
|
|
2985 |
(Library)
|
|
|
2986 |
- The box_device member of the bbox device is replaced by the
|
|
|
2987 |
box_data member, with a different meaning.
|
|
|
2988 |
- The x_rect structure is removed; all uses are changed to
|
|
|
2989 |
gs_int_rect.
|
|
|
2990 |
- gdevpstr.h is renamed spprint.h.
|
|
|
2991 |
- The parameter printing procedures are moved from gdevpsdf.[hc] to
|
|
|
2992 |
spsdf.[hc].
|
|
|
2993 |
- Clients must now allocate gs_font* objects using gs_font_alloc or
|
|
|
2994 |
gs_font_base_alloc, not directly with gs_alloc_struct.
|
|
|
2995 |
- The first (vptr) argument of enum_ptrs procedures is now const *.
|
|
|
2996 |
EV_CONST is no longer defined.
|
|
|
2997 |
- The pep argument of enum_ptrs procedures is now enum_ptr_t *
|
|
|
2998 |
rather than const void **.
|
|
|
2999 |
- The font glyph_pieces procedure is replaced with an option for
|
|
|
3000 |
glyph_info.
|
|
|
3001 |
- The font encode_char procedure now takes an additional glyph_space
|
|
|
3002 |
argument.
|
|
|
3003 |
- The o_large flag in object headers is renamed o_alone; o_lmark and
|
|
|
3004 |
o_lsize no longer exist. The DO_LARGE and DO_SMALL macros for enumerating
|
|
|
3005 |
objects in a chunk are also removed.
|
|
|
3006 |
|
|
|
3007 |
</pre><h3><a name="5.88_Documentation"></a>Documentation</h3><pre>
|
|
|
3008 |
|
|
|
3009 |
Fixes problems:
|
|
|
3010 |
- News entries since 5.72 had a missing <li> in the table of
|
|
|
3011 |
contents entry. (doc/News.htm)
|
|
|
3012 |
- gs_text_params_t still referred to REPLACE_X_WIDTHS and
|
|
|
3013 |
REPLACE_Y_WIDTHS rather than REPLACE_WIDTHS. (gstext.h)
|
|
|
3014 |
|
|
|
3015 |
Clarifies that the font glyph_outline procedure must append a final moveto
|
|
|
3016 |
for the advance width. (gxfont.h)
|
|
|
3017 |
|
|
|
3018 |
Clarifies that the font enumerate_glyph procedure enumerates glyphs in an
|
|
|
3019 |
unpredictable order. (gxfont.h)
|
|
|
3020 |
|
|
|
3021 |
Documents that reference counted freeing procedures for structures with
|
|
|
3022 |
finalization must free the structure itself first rather than last.
|
|
|
3023 |
(gsrefct.h)
|
|
|
3024 |
|
|
|
3025 |
Updates documentation on building Ghostscript on MS-DOS and MS Windows.
|
|
|
3026 |
(doc/Make.htm)
|
|
|
3027 |
|
|
|
3028 |
Adds some documentation on how the makefiles are / should be structured.
|
|
|
3029 |
(doc/Source.htm)
|
|
|
3030 |
|
|
|
3031 |
Documents the new parameters for the X driver. (doc/Use.htm)
|
|
|
3032 |
|
|
|
3033 |
Updates the language documentation to refer properly to PostScript
|
|
|
3034 |
LanguageLevel 3 and PDF 1.3. (doc/Language.htm)
|
|
|
3035 |
|
|
|
3036 |
</pre><h3><a name="5.88_Procedures"></a>Procedures</h3><pre>
|
|
|
3037 |
|
|
|
3038 |
Fixes problems:
|
|
|
3039 |
- An omitted space in a makefile caused an incompatibility with the
|
|
|
3040 |
VMS build utilities. (lib.mak)
|
|
|
3041 |
- The gsindent script was omitted from the fileset. (gsindent)
|
|
|
3042 |
- The core library didn't include stream.c, which is now required.
|
|
|
3043 |
(lib.mak)
|
|
|
3044 |
- The workaround for the peculiarities of the Watcom compiler's
|
|
|
3045 |
command line syntax didn't work. (zlib.mak)
|
|
|
3046 |
- A DOS command line overflowed in the makefile. We patched this by
|
|
|
3047 |
deleting the bmpgray device from the Borland Windows platform.
|
|
|
3048 |
(bcwin32.mak)
|
|
|
3049 |
|
|
|
3050 |
Provides a .lnk file required by the revised linking procedures on MS
|
|
|
3051 |
Windows. (gsdll32w.lnk)
|
|
|
3052 |
|
|
|
3053 |
Straightens out the Watcom makefiles so that it is possible to build a
|
|
|
3054 |
Windows executable and DLL using the Watcom compiler. This required moving
|
|
|
3055 |
some parameters around in the other PC makefiles. (bcwin32.mak,
|
|
|
3056 |
msvccmd.mak, watc.mak, watcw32.mak, wccommon.mak, winint.mak, winlib.mak)
|
|
|
3057 |
|
|
|
3058 |
</pre><h3><a name="5.88_Drivers"></a>Drivers</h3><pre>
|
|
|
3059 |
|
|
|
3060 |
Fixes problems:
|
|
|
3061 |
- The X driver reported the wrong parameter name for errors in the
|
|
|
3062 |
value of the WindowID or .IsPageDevice parameter. (gdevxini.c)
|
|
|
3063 |
- The X driver calculated the Y window dimension incorrectly when
|
|
|
3064 |
resizing the window if X and Y resolutions were different. (Never happens
|
|
|
3065 |
in practice.) (gdevxini.c)
|
|
|
3066 |
- The bmpasep8 device was defined as gx_device_printer rather than
|
|
|
3067 |
gx_device_async. (gdevbmpa.c)
|
|
|
3068 |
- Some casts between signed and unsigned char * were missing.
|
|
|
3069 |
(gdevpdff.c, gdevpdft.c)
|
|
|
3070 |
- The PDF writer didn't handle reencoded characters properly in
|
|
|
3071 |
non-embedded fonts. (gdevpdfx.h)
|
|
|
3072 |
- The PDF writer allocated new structures while being closed,
|
|
|
3073 |
causing memory corruption if the close procedure was called for
|
|
|
3074 |
finalization. (gdevpdff.c, gdevpsd1.c)
|
|
|
3075 |
- The PDF writer tried to close the resource file twice. (bug
|
|
|
3076 |
introduced since 5.50) (gdevpdf.c)
|
|
|
3077 |
- The PDF writer failed to work around a bug in Acrobat 3 Reader's
|
|
|
3078 |
Print function related to re-encoded fonts. (gdevpdft.c)
|
|
|
3079 |
- The PDF writer incorrectly specified ASCII85Encode rather than
|
|
|
3080 |
ASCII85Decode for non-binary embedded fonts. (gdevpdff.c)
|
|
|
3081 |
- The PDF writer didn't handle embedded fonts with a non-standard
|
|
|
3082 |
FontMatrix correctly. (gdevpdft.c)
|
|
|
3083 |
- The PDF writer didn't handle reassigned characters correctly.
|
|
|
3084 |
(gdevpdft.c)
|
|
|
3085 |
- When embedding a Type 1 font, the PDF writer didn't check that the
|
|
|
3086 |
font contains only CharStrings (no PostScript procedures), no non-standard
|
|
|
3087 |
OtherSubrs, and no CDevProc. (gdevpsd1.c)
|
|
|
3088 |
- There was an unused label in the mswinpr2 driver. (gdevwpr2.c)
|
|
|
3089 |
- The X driver didn't flush buffered output before reading back
|
|
|
3090 |
bits from the display. (gdevx.c)
|
|
|
3091 |
- The X driver still didn't set up the color mapping tables
|
|
|
3092 |
correctly -- in particular, it didn't initialize cman.color_to_rgb before
|
|
|
3093 |
setting up the dither ramp or cube. This is at least the third time we have
|
|
|
3094 |
"fixed" this problem. (gdevxcmp.c)
|
|
|
3095 |
|
|
|
3096 |
Removes the remaining uses of gs_malloc, gs_free, and gs_memory_default from
|
|
|
3097 |
Aladdin's non-display drivers. (gdevbit.c, gdevbmp.c, gdevbmpa.c,
|
|
|
3098 |
gdevcgm.c, gdevclj.c, gdevcljc.c, gdevdjet.c, gdevlj56.c, gdevmiff.c,
|
|
|
3099 |
gdevpbm.c, gdevpcx.c, gdevpng.c, gdevpsim.c, gdevtfax.c, gdevtfnx.c,
|
|
|
3100 |
gdevxalt.c)
|
|
|
3101 |
|
|
|
3102 |
Adds a MaxBitmap parameter to the X driver: the driver will maintain a
|
|
|
3103 |
full-window pixmap in memory if it requires no more space than MaxBitmap.
|
|
|
3104 |
The default value of this parameter is 0, meaning never use a client-side
|
|
|
3105 |
bitmap. (gdevx.h, gdevx.c, gdevxini.c, gdevxxf.c)
|
|
|
3106 |
|
|
|
3107 |
Moves the X device closing and get/put parameters procedures from gdevx.c to
|
|
|
3108 |
gdevxini.c. (gdevx.c, gdevxini.c)
|
|
|
3109 |
|
|
|
3110 |
Removes some remaining uses of gs_malloc and gs_free from the X driver.
|
|
|
3111 |
Note that this requires making the X device structure properly
|
|
|
3112 |
garbage-collectable. (gdevx.h, gsstruct.h, gdevxini.c)
|
|
|
3113 |
|
|
|
3114 |
Removes the remaining uses of 'register' from the X driver. (gdevx.c,
|
|
|
3115 |
gdevxini.c)
|
|
|
3116 |
|
|
|
3117 |
Removes the remaining uses of the obsolete far_data keyword from Aladdin's
|
|
|
3118 |
non-PC drivers. (gdevbmp.c, gdevbmpa.c, gdevcgm.c, gdevlj56.c, gdevmiff.c,
|
|
|
3119 |
gdevp2up.c)
|
|
|
3120 |
|
|
|
3121 |
Improves the X driver's algorithm for deciding when to update the screen,
|
|
|
3122 |
and makes its parameters available for reading and setting. (gdevx.h,
|
|
|
3123 |
gdevx.c, gdevxini.c)
|
|
|
3124 |
|
|
|
3125 |
In the X driver's color mapper, improves performance slightly by replacing
|
|
|
3126 |
multiplies and divides with shifts and table lookups in the normal case of
|
|
|
3127 |
standard color maps. (gdevxcmp.h, gdevxcmp.c)
|
|
|
3128 |
|
|
|
3129 |
Moves some filter-related code from the driver level to the stream level.
|
|
|
3130 |
(gdevpsdf.c)
|
|
|
3131 |
|
|
|
3132 |
Moves some utilities for printing values in ASCII form from the driver level
|
|
|
3133 |
to the stream level. (devs.mak, gdevpdfx.h, gdevpstr.h [deleted], gdevps.c,
|
|
|
3134 |
gdevpsde.c, gdevpsdf.c, gdevpsdp.c, gdevpstr.c [deleted])
|
|
|
3135 |
|
|
|
3136 |
Upgrades the PDF writer to handle TrueType fonts as well as Type 1.
|
|
|
3137 |
(gdevpdfx.h, gdevpsdf.h, gdevpdff.c, gdevpdft.c, gdevpsde.c => gdevpsd1.c,
|
|
|
3138 |
gdevpsdt.c)
|
|
|
3139 |
|
|
|
3140 |
Starts to implement font subsetting in the PDF writer. (gdevpdfx.h,
|
|
|
3141 |
gdevpsdf.h, gdevpdff.c, gdevpsd1.c, gdevpsdt.c)
|
|
|
3142 |
|
|
|
3143 |
Partially implements WMode when writing font descriptors. (gdevpdff.c)
|
|
|
3144 |
|
|
|
3145 |
Changes psdf_binary_writer so that adding the ASCII85 filter in
|
|
|
3146 |
psdf_begin_binary doesn't require allocating any memory. (gdevpsdf.h,
|
|
|
3147 |
gdevpsdf.c)
|
|
|
3148 |
|
|
|
3149 |
Makes the PDF writer guess the Ascent and StemV values for embedded fonts
|
|
|
3150 |
when it can't determine them by examining the font. (gdevpdff.c)
|
|
|
3151 |
|
|
|
3152 |
Makes the PDF writer able to handle xshow and yshow (TEXT_REPLACE_WIDTHS).
|
|
|
3153 |
(gdevpdft.c)
|
|
|
3154 |
|
|
|
3155 |
Updates code to reflect the addition of glyph_space to the font encode_char
|
|
|
3156 |
and enumerate_glyph procedures. (gdevpsdf.h, gdevpdff.c, gdevpdft.c,
|
|
|
3157 |
gdevpsd1.c, gdevpsdf.c, gdevpsdt.c)
|
|
|
3158 |
|
|
|
3159 |
Removes some unnecessary #includes. (gdevxres.c)
|
|
|
3160 |
|
|
|
3161 |
Removes the sample driver-based CRD from the variant X drivers, since this
|
|
|
3162 |
created a pointless dependency. (The `bit' drivers still provide this
|
|
|
3163 |
feature, for testing.) (gdevxalt.c)
|
|
|
3164 |
|
|
|
3165 |
Changes the default compatibility level of PDF output from 1.2 (Acrobat 3)
|
|
|
3166 |
to 1.3 (Acrobat 4). (gdevpdf.c)
|
|
|
3167 |
|
|
|
3168 |
</pre><h3><a name="5.88_Platforms"></a>Platforms</h3><pre>
|
|
|
3169 |
|
|
|
3170 |
Fixes problems:
|
|
|
3171 |
- A comment included an extra /*. (gp_mswin.c)
|
|
|
3172 |
- The definitions for min and max in a couple of files disagreed
|
|
|
3173 |
with the ones typically provided in system header files. (dwimg.cpp,
|
|
|
3174 |
dwtext.cpp)
|
|
|
3175 |
|
|
|
3176 |
Removes some unnecessary code related to generating temporary file names.
|
|
|
3177 |
(gp_iwatc.c)
|
|
|
3178 |
|
|
|
3179 |
</pre><h3><a name="5.88_Fonts"></a>Fonts</h3><pre>
|
|
|
3180 |
|
|
|
3181 |
Changes the loader for TrueType fonts to keep the 'instructions', which are
|
|
|
3182 |
required if the font is going to be written out in a PDF file.
|
|
|
3183 |
(lib/gs_ttf.ps)
|
|
|
3184 |
|
|
|
3185 |
Adds some more debugging output to the TrueType font loader.
|
|
|
3186 |
(lib/gs_ttf.ps)
|
|
|
3187 |
|
|
|
3188 |
Registers the MacGlyphEncoding so it can be made available to the PDF
|
|
|
3189 |
writer. (lib/gs_mgl_e.ps, lib/gs_ttf.ps, unixinst.mak, gsccode.h, ifont.h)
|
|
|
3190 |
|
|
|
3191 |
</pre><h3><a name="5.88_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
3192 |
|
|
|
3193 |
Fixes problems:
|
|
|
3194 |
- The serif and small-caps flags in the FontDescriptor were ignored
|
|
|
3195 |
when doing font substitution. (lib/gs_fonts.ps, lib/pdf_font.ps)
|
|
|
3196 |
- The ri operator was undefined. We added a dummy definition.
|
|
|
3197 |
(lib/pdf_ops.ps)
|
|
|
3198 |
- The redefinitions of restore could cause a recursion loop.
|
|
|
3199 |
(lib/gs_fform.ps, lib/gs_lev2.ps)
|
|
|
3200 |
- There was an extra gsave executed for each page, causing the
|
|
|
3201 |
graphics state stack to grow deeper and deeper, which caused problems when
|
|
|
3202 |
wrapping up at the end of execution. (lib/pdf_main.ps)
|
|
|
3203 |
|
|
|
3204 |
Implements the sh operator. (lib/pdf_draw.ps)
|
|
|
3205 |
|
|
|
3206 |
Works around a bug in some PDF files generated by Adobe's PDF library (?),
|
|
|
3207 |
which attempt to create a font Encoding array with more than 256 elements.
|
|
|
3208 |
(lib/pdf_font.ps)
|
|
|
3209 |
|
|
|
3210 |
</pre><h3><a name="5.88_Interpreter"></a>Interpreter</h3><pre>
|
|
|
3211 |
|
|
|
3212 |
Fixes problems:
|
|
|
3213 |
- The GNU readline completion code (which Aladdin did not write) was
|
|
|
3214 |
completely wrong. (gp_gnrdl.c)
|
|
|
3215 |
- The top-level restore sometimes tried to restore global VM an
|
|
|
3216 |
extra time, leading to memory corruption. (bug probably introduced in 5.85)
|
|
|
3217 |
(isave.c)
|
|
|
3218 |
- The glyph_ref procedure was defined in two different places
|
|
|
3219 |
(inconsistently). (ichar.h, zchar.c, zchar1.c)
|
|
|
3220 |
|
|
|
3221 |
Restructures the name table to improve cache coherence and to make it
|
|
|
3222 |
possible to store initial name strings in ROM. (iname.h, inamedef.h,
|
|
|
3223 |
inames.h, inamestr.h, igc.c, iname.c, isave.c)
|
|
|
3224 |
|
|
|
3225 |
Changes the scanner so it doesn't copy name strings when scanning a compiled
|
|
|
3226 |
init string. This reduces RAM requirements by about 20K when using compiled
|
|
|
3227 |
initialization. (iscan.c)
|
|
|
3228 |
|
|
|
3229 |
Removes redundant FontBBox correction code, since this is now handled by the
|
|
|
3230 |
library. (zfont42.c)
|
|
|
3231 |
|
|
|
3232 |
Updates the Type 1 and Type 42 font code to implement the new font
|
|
|
3233 |
procedures. (icharout.h, zcharout.c, zchar1.c, zchar42.c, zfont1.c,
|
|
|
3234 |
zfont42.c)
|
|
|
3235 |
|
|
|
3236 |
Simplifies the code that checks whether a grestore needs to do a
|
|
|
3237 |
setpagedevice. (zdevice2.c)
|
|
|
3238 |
|
|
|
3239 |
Updates code to reflect the change of the vptr argument of enum_ptrs
|
|
|
3240 |
procedures to const *. (igcref.c)
|
|
|
3241 |
|
|
|
3242 |
Updates code to reflect the change in the pep argument of enum_ptrs
|
|
|
3243 |
procedures to enum_ptr_t *. (igc.h, iscan.h, istruct.h, igc.c, igcref.c,
|
|
|
3244 |
ilocate.c, iscan.c)
|
|
|
3245 |
|
|
|
3246 |
Updates code to reflect the addition of glyph_space to the font encode_char
|
|
|
3247 |
and enumerate_glyph procedures. (bfont.h, ifont.h, zbfont.c, zfont1.c,
|
|
|
3248 |
zfont32.c, zfont42.c)
|
|
|
3249 |
|
|
|
3250 |
Cleans up some code details. (idebug.h, ifunc.h, iparray.h, istream.h,
|
|
|
3251 |
zfunc.c)
|
|
|
3252 |
|
|
|
3253 |
Removes some no longer needed test code. (zfont1.c)
|
|
|
3254 |
|
|
|
3255 |
Updates memory manager code to reflect the change from o_large to o_alone.
|
|
|
3256 |
(igc.c, igcref.c, ilocate.c, isave.c)
|
|
|
3257 |
|
|
|
3258 |
Changes the printed font substitution message to be closer to what some
|
|
|
3259 |
Adobe products print if SHORTERRORS is defined. (Thanks to Andrew Chilvers
|
|
|
3260 |
for the suggestion.) (lib/gs_fonts.ps)
|
|
|
3261 |
|
|
|
3262 |
</pre><h3><a name="5.88_Streams"></a>Streams</h3><pre>
|
|
|
3263 |
|
|
|
3264 |
Fixes problems:
|
|
|
3265 |
- The fix in 5.85 for ASCII85Encode EOLs was wrong and caused a word
|
|
|
3266 |
of data to be dropped occasionally. (sfilter2.c)
|
|
|
3267 |
|
|
|
3268 |
Moves some filter-related code from the driver level to the stream level.
|
|
|
3269 |
(stream.h, stream.c)
|
|
|
3270 |
|
|
|
3271 |
Moves some utilities for printing values in ASCII form from the driver level
|
|
|
3272 |
to the stream level. (lib.mak, spprint.h, spsdf.h, spprint.c, spsdf.c)
|
|
|
3273 |
|
|
|
3274 |
Adds some more tracing output for image scaling. (siscale.c)
|
|
|
3275 |
|
|
|
3276 |
</pre><h3><a name="5.88_Library"></a>Library</h3><pre>
|
|
|
3277 |
|
|
|
3278 |
Fixes problems:
|
|
|
3279 |
- The bbox device's check for whether a rectangle filled the entire
|
|
|
3280 |
page was wrong. (gdevbbox.c)
|
|
|
3281 |
- The bbox device didn't correctly handle parallelograms, triangles,
|
|
|
3282 |
or thin lines with points specified in other than ascending order.
|
|
|
3283 |
(gdevbbox.c)
|
|
|
3284 |
- The bbox device smashed the reference count of the text enumerator
|
|
|
3285 |
it created, causing a memory leak. (gdevbbox.c)
|
|
|
3286 |
- The bbox device didn't copy back all the dynamic information from
|
|
|
3287 |
a subsidiary text enumerator, with unpredictable results. (gxtext.h,
|
|
|
3288 |
gdevbbox.c, gstext.c)
|
|
|
3289 |
- The default implementation of glyph_info for fonts incorrectly
|
|
|
3290 |
reported that it returned values for all members, not just the ones it knew
|
|
|
3291 |
about. (gsfont.c)
|
|
|
3292 |
- The profiling implementation of memset was incorrect, leading to
|
|
|
3293 |
memory smashing. (gsmisc.c)
|
|
|
3294 |
- The default implementation of glyph_info had a memory leak.
|
|
|
3295 |
(gsfont.c)
|
|
|
3296 |
- The default implementation of character rendering didn't correctly
|
|
|
3297 |
handle the case where the character was in the cache and only the character
|
|
|
3298 |
width was requested. (gxchar.c)
|
|
|
3299 |
- Text processing didn't correctly handle REPLACE_WIDTHS if the X
|
|
|
3300 |
and Y width arrays were different. (The PostScript interpreter never does
|
|
|
3301 |
this.) (gstext.h, gstext.c, gxchar.c)
|
|
|
3302 |
- Compositing devices weren't initialized properly, leading to
|
|
|
3303 |
invalid accesses. This is the last (?) bit of the device reference counting
|
|
|
3304 |
bug tail. (gsalphac.c, gsropc.c)
|
|
|
3305 |
|
|
|
3306 |
Changes the bbox device to make the procedures for managing the bounding box
|
|
|
3307 |
virtual, so the X device can be a subclass. (gdevbbox.h, gdevbbox.c)
|
|
|
3308 |
|
|
|
3309 |
Changes the bbox device so it always adds the bounding box after doing the
|
|
|
3310 |
drawing operation rather than before, for the benefit of the buffering X
|
|
|
3311 |
device. (gdevbbox.c)
|
|
|
3312 |
|
|
|
3313 |
Removes some remaining uses of gs_memory_default. (gdevdrop.c)
|
|
|
3314 |
|
|
|
3315 |
Removes all uses of the obsolete far_data keyword from the library.
|
|
|
3316 |
(gconf.c, gdevbbox.c)
|
|
|
3317 |
|
|
|
3318 |
Changes the bbox device so it doesn't run drawing algorithms twice if it has
|
|
|
3319 |
a target that uses the default implementation. (gdevbbox.c)
|
|
|
3320 |
|
|
|
3321 |
Speeds up the implementation of fill_rectangle for 16-bit memory devices.
|
|
|
3322 |
(gdevm16.c)
|
|
|
3323 |
|
|
|
3324 |
Makes TrueType fonts implement the new font procedures. (gxfont42.h,
|
|
|
3325 |
gxmatrix.h, gsmatrix.c, gstype42.c)
|
|
|
3326 |
|
|
|
3327 |
Adds a gs_id to gs_font objects, so that fonts with the same name can be
|
|
|
3328 |
distinguished reliably without relying on the address. (gxfont.h, gsfont.c)
|
|
|
3329 |
|
|
|
3330 |
Makes the vptr argument of enum_ptrs procedures be const *. This is a
|
|
|
3331 |
long-overdue change. (gsstype.h, gxxfont.h, gsalloc.c, gsfont.c,
|
|
|
3332 |
gsmemory.c) ****** REDO THE CONST-BREAKING CASTS IN gsfont.c ******
|
|
|
3333 |
|
|
|
3334 |
Changes the pep argument of enum_ptrs from const void ** to enum_ptr_t *, to
|
|
|
3335 |
get rid of some hacks in enum_ptrs implementations that had to construct
|
|
|
3336 |
temporary gs_strings. (gsstruct.h, gsstype.h, gstext.h, gsalloc.c,
|
|
|
3337 |
gscolor2.c, gsfont.c, gsmemory.c, gstext.c)
|
|
|
3338 |
|
|
|
3339 |
Adds a general mechanism that provides for an arbitrary number of clients to
|
|
|
3340 |
be notified when an event occurs. For the moment, we only use it to notify
|
|
|
3341 |
PDF writers when a font is about to be freed. (gsnotify.h, gsnotify.c)
|
|
|
3342 |
|
|
|
3343 |
Makes fonts use the new notification mechanism to notify clients when the
|
|
|
3344 |
font is about to be freed. (gxfont.h, gsfont.c)
|
|
|
3345 |
|
|
|
3346 |
Adds a gs_text_set_cache procedure to parallel restart and retry.
|
|
|
3347 |
(gstext.h, gxtext.h, gstext.c)
|
|
|
3348 |
|
|
|
3349 |
Adds a glyph_space argument to the font encode_char and enumerate_glyph
|
|
|
3350 |
procedures, so that clients can choose between glyph names and glyph indices
|
|
|
3351 |
in environments that use both. (gsccode.h, gxchar.h, gxfont.h, gxfont42.h,
|
|
|
3352 |
gsfont.c, gstype42.c, gxchar.c)
|
|
|
3353 |
|
|
|
3354 |
Changes the bbox device so it optionally considers white to be opaque.
|
|
|
3355 |
(gdevbbox.h, gdevbbox.c)
|
|
|
3356 |
|
|
|
3357 |
Cleans up some code details. (gshsb.h)
|
|
|
3358 |
|
|
|
3359 |
Adds a hack to suppress warning messages from the Watcom compiler about
|
|
|
3360 |
testing constant values. (stdpre.h)
|
|
|
3361 |
|
|
|
3362 |
Replaces the glyph_pieces font procedure with a GLYPH_INFO_PIECES option for
|
|
|
3363 |
glyph_info. (gxfont.h, gxfont42.h, gsfont.c, gstype42.c)
|
|
|
3364 |
|
|
|
3365 |
Adds a font_info font procedure, similar to glyph_info but giving
|
|
|
3366 |
information about the font as a whole. (gxfont.h)
|
|
|
3367 |
|
|
|
3368 |
In order to fix a bug in resizing large objects, gets rid of the concept of
|
|
|
3369 |
large objects entirely, replacing it with the concept of an 'alone' object
|
|
|
3370 |
that is guaranteed to be the only object in its chunk. (gxalloc.h, gxobj.h,
|
|
|
3371 |
gsalloc.c)
|
|
|
3372 |
|
|
|
3373 |
Adds some more tracing output for interpolated images. (gxiscale.c)
|
|
|
3374 |
|
|
|
3375 |
Adds a _long parameter setting procedure to parallel _bool, _enum, and _int.
|
|
|
3376 |
(gsparamx.h, gsparamx.c)
|
|
|
3377 |
|
|
|
3378 |
</pre>
|
|
|
3379 |
|
|
|
3380 |
<hr>
|
|
|
3381 |
|
|
|
3382 |
<h2><a name="Version5.87"></a>Version 5.87 (tester) (6/29/99)</h2>
|
|
|
3383 |
|
|
|
3384 |
<p>
|
|
|
3385 |
In this fileset, the pdfwrite device finally handles general Type 1 fonts,
|
|
|
3386 |
and can write them in both embedded and non-embedded form. This fileset
|
|
|
3387 |
also contains a few more changes to the text API, and some incompatible
|
|
|
3388 |
changes to the gs_font procedure vector: more such changes are likely. It
|
|
|
3389 |
also fixes a couple of long-standing pdfmark bugs.
|
|
|
3390 |
|
|
|
3391 |
<p>
|
|
|
3392 |
NOTE: there are known problems in PDF output with non-embedded fonts (fonts
|
|
|
3393 |
represented only by a descriptor): some characters will be missing, and
|
|
|
3394 |
because of bugs in Acrobat's Print function, even more characters will be
|
|
|
3395 |
missing or wrong when printing from Acrobat. We will fix our problems, and
|
|
|
3396 |
work around Acrobat's bugs, in the next couple of filesets.
|
|
|
3397 |
|
|
|
3398 |
<h3><a name="5.87_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
3399 |
|
|
|
3400 |
(Library)
|
|
|
3401 |
- Text enumerators now have a release procedure.
|
|
|
3402 |
- gx_device_text_begin no longer stores its arguments into the
|
|
|
3403 |
enumerator: the driver text_begin procedure must do this.
|
|
|
3404 |
- The argument list for the font encode_char procedure no longer
|
|
|
3405 |
includes the enumerator, and the second argument is now a gs_char rather
|
|
|
3406 |
than a gs_char *.
|
|
|
3407 |
- The font next_char procedure is removed. (It has been obsolete
|
|
|
3408 |
for a while.) The next_glyph procedure is renamed next_char_glyph.
|
|
|
3409 |
- The first argument of the font init_fstack, build_char, and
|
|
|
3410 |
next_glyph procedures is changed from gs_show_enum * to gs_text_enum_t *.
|
|
|
3411 |
- gx_font_stack[_item] is renamed gx_font_stack[_item]_t.
|
|
|
3412 |
- New font procedures have been added, of which two (enumerate_glyph
|
|
|
3413 |
and glyph_outline) are required. The font procedure vector has been
|
|
|
3414 |
reorganized.
|
|
|
3415 |
- The Type 1 font next_glyph procedure is replaced by the gs_font
|
|
|
3416 |
enumerate_glyph procedure.
|
|
|
3417 |
- psdf_embed_type1_font is renamed psdf_write_type1_font, and has
|
|
|
3418 |
an additional argument.
|
|
|
3419 |
- psdf_alloc_param_printer takes slightly different arguments;
|
|
|
3420 |
print_binary_ok and print_ASCII85_ok are now upper-case.
|
|
|
3421 |
|
|
|
3422 |
</pre><h3><a name="5.87_Documentation"></a>Documentation</h3><pre>
|
|
|
3423 |
|
|
|
3424 |
Reorganizes the driver API documentation slightly, documents the fact that
|
|
|
3425 |
get_alpha_bits and draw_line are obsolete, and documents the driver text
|
|
|
3426 |
API. (doc/Drivers.htm)
|
|
|
3427 |
|
|
|
3428 |
Documents an additional Irix configuration where the compiler doesn't work.
|
|
|
3429 |
(doc/Make.htm)
|
|
|
3430 |
|
|
|
3431 |
</pre><h3><a name="5.87_Procedures"></a>Procedures</h3><pre>
|
|
|
3432 |
|
|
|
3433 |
Moves the %pipe% IODevice into lib.mak, since it is now included on Windows
|
|
|
3434 |
as well as Unix. (lib.mak, unix-aux.mak)
|
|
|
3435 |
|
|
|
3436 |
Adds the bmpgray driver to all platforms that include the other BMP drivers.
|
|
|
3437 |
(bcwin32.mak, msvc32.mak, os2.mak, unix-gcc.mak, watc.mak, watcw32.mak)
|
|
|
3438 |
|
|
|
3439 |
</pre><h3><a name="5.87_Drivers"></a>Drivers</h3><pre>
|
|
|
3440 |
|
|
|
3441 |
Fixes problems:
|
|
|
3442 |
- The PS and PDF writers didn't maintain the font embedding lists
|
|
|
3443 |
correctly. (gdevpsdp.c)
|
|
|
3444 |
- The CreationDate in PDF output was always set to the current date,
|
|
|
3445 |
and couldn't be set with a pdfmark. We now don't set CreationDate at all,
|
|
|
3446 |
since it is supposed to be the creation date of the original document, not
|
|
|
3447 |
of the PDF file. (gdevpdfm.c, gdevpdfu.c)
|
|
|
3448 |
- The Producer in PDF output couldn't be set with a pdfmark.
|
|
|
3449 |
(gdevpdfx.h, gdevpdf.c, gdevpdfm.c, gdevpdfu.c)
|
|
|
3450 |
- pdfmarks with /Action /GoTo incorrectly retained the Action key.
|
|
|
3451 |
(gdevpdfm.c)
|
|
|
3452 |
- pdfmarks didn't substitute /Dest => /D or /File => /F correctly.
|
|
|
3453 |
(gdevpdfm.c)
|
|
|
3454 |
|
|
|
3455 |
Updates the PDF writer to use the new text API rather than the show
|
|
|
3456 |
pseudo-parameter. (gdevpdfx.h, gdevpdf.c, gdevpdfp.c, gdevpdft.c)
|
|
|
3457 |
|
|
|
3458 |
Changes pdf_open_document so that it opens the document even if some
|
|
|
3459 |
resources have been allocated. (gdevpdf.c)
|
|
|
3460 |
|
|
|
3461 |
Splits off pdfwrite utilities from top-level control, since the file was
|
|
|
3462 |
getting too big. (gdevpdfx.h, gdevpdf.c, gdevpdfu.c)
|
|
|
3463 |
|
|
|
3464 |
When writing PDF, avoids resetting the word spacing parameter if the string
|
|
|
3465 |
doesn't contain any spaces, and the character spacing parameter if the
|
|
|
3466 |
string has no more than 1 character. (gdevpdft.c)
|
|
|
3467 |
|
|
|
3468 |
Splits off PDF font handling from text handling, since the file was getting
|
|
|
3469 |
too big. (gdevpdfx.h, gdevpdff.c, gdevpdft.c)
|
|
|
3470 |
|
|
|
3471 |
Implement both embedded and non-embedded fonts beyond the base 14 in the PDF
|
|
|
3472 |
writer. This code doesn't work very reliably yet. (gdevpdfx.h, gdevpdff.c,
|
|
|
3473 |
gdevpdft.c)
|
|
|
3474 |
|
|
|
3475 |
Adds a bmpgray driver that produces 8-bit gray-scale output. (devs.mak,
|
|
|
3476 |
gdevbmp.c)
|
|
|
3477 |
|
|
|
3478 |
Updates the PDF writer for changes in the gs_font procedure vector.
|
|
|
3479 |
(gdevpdff.c, gdevpdft.c)
|
|
|
3480 |
|
|
|
3481 |
Updates the Type 1 font writer for changes in the gs_font procedure vector,
|
|
|
3482 |
and adds some output options. (gdevpsdf.h, gdevpsde.c)
|
|
|
3483 |
|
|
|
3484 |
Changes the printing parameter list implementation to take all of its
|
|
|
3485 |
parametric arguments in the params structure, and changes the names of the
|
|
|
3486 |
options. (gdevpsdf.h, gdevpsde.c, gdevpsdf.c, gdevpdff.c, gdevpdfi.c,
|
|
|
3487 |
gdevpdfu.c)
|
|
|
3488 |
|
|
|
3489 |
</pre><h3><a name="5.87_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
3490 |
|
|
|
3491 |
Fixes problems:
|
|
|
3492 |
- Indexed color spaces didn't allow the base space to be an indirect
|
|
|
3493 |
reference. (lib/pdf_draw.ps)
|
|
|
3494 |
- The CS and cs operators didn't accept a literal color space name
|
|
|
3495 |
(as opposed to a color space resource name). (lib/pdf_draw.ps)
|
|
|
3496 |
- Some PDF 1.2 files had a SM entry in graphics state dictionaries,
|
|
|
3497 |
even though this is not documented and requires a LL3 interpreter.
|
|
|
3498 |
(lib/pdf_draw.ps)
|
|
|
3499 |
- Generated font names included a % character, which could cause
|
|
|
3500 |
problems for ps2pdf. (lib/pdf_font.ps)
|
|
|
3501 |
|
|
|
3502 |
</pre><h3><a name="5.87_Interpreter"></a>Interpreter</h3><pre>
|
|
|
3503 |
|
|
|
3504 |
Fixes problems:
|
|
|
3505 |
- The calculation of the final index when enumerating the pointers
|
|
|
3506 |
in a context state was incorrect. (source bug only, no effect on execution)
|
|
|
3507 |
(icontext.c)
|
|
|
3508 |
|
|
|
3509 |
Updates the interpreter's glue code for the changes in the PDF writer.
|
|
|
3510 |
(lib/gs_pdfwr.ps)
|
|
|
3511 |
|
|
|
3512 |
Updates a client to use gs_font_alloc. (zbfont.c)
|
|
|
3513 |
|
|
|
3514 |
Updates clients for changes in the gs_font procedure vector. (zbfont.c,
|
|
|
3515 |
zchar1.c, zfont0.c, zfont1.c, zfont32.c)
|
|
|
3516 |
|
|
|
3517 |
Updates a client for the change to psdf_write_type1_font. (zfont1.c)
|
|
|
3518 |
|
|
|
3519 |
</pre><h3><a name="5.87_Library"></a>Library</h3><pre>
|
|
|
3520 |
|
|
|
3521 |
Fixes problems:
|
|
|
3522 |
- Some code used rc_decrement_only instead of gx_device_retain.
|
|
|
3523 |
(Stylistic bug only.) (gschar.c)
|
|
|
3524 |
- The finalize procedure for the character cache device could get
|
|
|
3525 |
unset and/or the retained flag cleared, leading to a reference count not
|
|
|
3526 |
getting decremented. (gxccman.c)
|
|
|
3527 |
- Allocating a show enumerator didn't clear the show_gstate member.
|
|
|
3528 |
(Probably no effect in practice.) (gschar.c)
|
|
|
3529 |
- Cleaning up at the end of text processing was not consistent and
|
|
|
3530 |
sometimes didn't get done. The old API used explicit and separate client
|
|
|
3531 |
allocation (gs_show_enum_alloc), release (gs_show_enum_release), and freeing
|
|
|
3532 |
(gs_free_object); release, but not free, was automatic at the end of
|
|
|
3533 |
processing (in show_finish). The new API has allocation in gs_text_begin or
|
|
|
3534 |
gx_device_text_begin, no implicit release or free, and a single
|
|
|
3535 |
gs_text_release call to handle both release and free. Reconciling these
|
|
|
3536 |
required adding an auto_release flag in the gs_show_enum structure to
|
|
|
3537 |
indicate which API was used to create it, and a release procedure. (The
|
|
|
3538 |
auto_release flag is only needed for backward compatibility with clients
|
|
|
3539 |
that use the old API. Ghostscript itself no longer has such clients, but
|
|
|
3540 |
the PCL interpreters do.) (gxchar.h, gxtext.h, gdevbbox.c, gschar.c,
|
|
|
3541 |
gstext.c, gxchar.c)
|
|
|
3542 |
- We were burned once again by gcc's acceptance of private/public
|
|
|
3543 |
procedure mismatches. (gxchar.c)
|
|
|
3544 |
- A line break was missing between the return type and a procedure
|
|
|
3545 |
name. (gsstate.c)
|
|
|
3546 |
- Show enumerators had an incorrect GC descriptor. (gxchar.c)
|
|
|
3547 |
- Text enumerators didn't terminate their list properly. (gstext.c)
|
|
|
3548 |
|
|
|
3549 |
Adds a debugging procedure that finds all the pointers to an object. This
|
|
|
3550 |
uses the GC's pointer enumeration procedures, so it will only work if all
|
|
|
3551 |
structures have correct GC descriptors. (Of course, we think this is true
|
|
|
3552 |
of all of Ghostscript.) The current implementation doesn't trace refs.
|
|
|
3553 |
(gsalloc.c)
|
|
|
3554 |
|
|
|
3555 |
Removes remaining references from gxchar.c to procedures defined in
|
|
|
3556 |
gschar.c. The standard Ghostscript build now no longer needs gschar.c,
|
|
|
3557 |
although we will keep it for the moment for backward compatibility.
|
|
|
3558 |
(gschar.c, gxchar.c)
|
|
|
3559 |
|
|
|
3560 |
Removes an obsolete reference to gs_show_enum. (gstype1.h)
|
|
|
3561 |
|
|
|
3562 |
Adds definitions for the built-in encoding indices. (gsccode.h, gxfont.h,
|
|
|
3563 |
gxxfont.h)
|
|
|
3564 |
|
|
|
3565 |
To make text_begin implementations callable, requires them, rather than
|
|
|
3566 |
gx_device_text_begin, to save their parameters in the enumerator structure.
|
|
|
3567 |
(gxtext.h, gstext.c, gxchar.c)
|
|
|
3568 |
|
|
|
3569 |
Adds a TEXT_DO_CHARWIDTH alternative to the text operation, to just advance
|
|
|
3570 |
the current point by the character width (stringwidth rmoveto). (gscpm.h,
|
|
|
3571 |
gstext.h, gxchar.c, gxpath.c)
|
|
|
3572 |
|
|
|
3573 |
Adds procedures to allocate and initialize fonts. (gxfont.h, gsfont.c)
|
|
|
3574 |
|
|
|
3575 |
Starts to revise the gs_font procedure vector to create a real "font socket"
|
|
|
3576 |
API, adding several new procedures. This is a NON-BACKWARD-COMPATIBLE
|
|
|
3577 |
change, and there probably are more to come. (gxchar.h, gxfont.h, gsfont.c,
|
|
|
3578 |
gstext.c, gxchar.c)
|
|
|
3579 |
|
|
|
3580 |
Moves the Type 0 font stack from gs_show_enum to gs_text_enum_t, and renames
|
|
|
3581 |
its types to gx_font_stack_[item_]t. Also moves cmap_code. (gxchar.h,
|
|
|
3582 |
gxtext.h, gschar0.c, gstext.c, gxchar.c)
|
|
|
3583 |
|
|
|
3584 |
Moves the glyph enumeration procedure from Type 1 fonts to general fonts,
|
|
|
3585 |
changing its name to enumerate_glyph. (gxfont1.h)
|
|
|
3586 |
|
|
|
3587 |
Changes the debugging code for reference counting to call procedures, to
|
|
|
3588 |
allow better breakpointing. (gsrefct.h, gsmemory.c)
|
|
|
3589 |
|
|
|
3590 |
</pre>
|
|
|
3591 |
|
|
|
3592 |
<hr>
|
|
|
3593 |
|
|
|
3594 |
<h2><a name="Version5.86"></a>Version 5.86 (tester) (6/14/99)</h2>
|
|
|
3595 |
|
|
|
3596 |
<p>
|
|
|
3597 |
This fileset includes the first batch of changes for the new driver-based
|
|
|
3598 |
text API. Unfortunately, a few of them are non-backward-compatible.
|
|
|
3599 |
WARNING: This API is UNSTABLE and should not be used yet. This includes the
|
|
|
3600 |
APIs and structures in gxtext.h, and to a lesser extent those in gstext.h.
|
|
|
3601 |
|
|
|
3602 |
<h3><a name="5.86_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
3603 |
|
|
|
3604 |
(Interpreter)
|
|
|
3605 |
- The default initialization of fonts now sets next_glyph rather
|
|
|
3606 |
than next_char.
|
|
|
3607 |
(Library)
|
|
|
3608 |
- The font argument of the driver text_begin procedure is no
|
|
|
3609 |
longer declared as const.
|
|
|
3610 |
- Text enumerators now have a is_width_only and current_width
|
|
|
3611 |
procedures; the restart procedure is renamed retry, and there is a new
|
|
|
3612 |
restart procedure that does something different.
|
|
|
3613 |
- The scale member of gs_text_enum_t is renamed log2_scale.
|
|
|
3614 |
- gs_show_restore_font is removed.
|
|
|
3615 |
- The current_char, current_glyph, width, and log2_current_scale
|
|
|
3616 |
members of gs_show_enum are removed (replaced by members of gs_text_enum_t).
|
|
|
3617 |
- The current_width member of gs_text_enum_t is removed.
|
|
|
3618 |
- Replaces TEXT_REPLACE_{X,Y}_WIDTHS with a single
|
|
|
3619 |
TEXT_REPLACE_WIDTHS.
|
|
|
3620 |
|
|
|
3621 |
</pre><h3><a name="5.86_Documentation"></a>Documentation</h3><pre>
|
|
|
3622 |
|
|
|
3623 |
Fixes a number of outdated URLs. (doc/Devices.htm, doc/Fonts.htm,
|
|
|
3624 |
doc/Install.htm, doc/Language.htm, doc/Make.htm, doc/New-user.htm)
|
|
|
3625 |
|
|
|
3626 |
Documents the name change from gs_iso_e.ps to gs_il1_e.ps.
|
|
|
3627 |
(doc/Psfiles.htm)
|
|
|
3628 |
|
|
|
3629 |
Documents the fact that a double % may be needed on MS systems.
|
|
|
3630 |
(doc/Use.htm)
|
|
|
3631 |
|
|
|
3632 |
Documents that reversepath discards a trailing moveto, for compatibility
|
|
|
3633 |
with Adobe implementations. (gxpath2.c)
|
|
|
3634 |
|
|
|
3635 |
</pre><h3><a name="5.86_Procedures"></a>Procedures</h3><pre>
|
|
|
3636 |
|
|
|
3637 |
Fixes problems:
|
|
|
3638 |
- Some punctuation was omitted that affects builds on VMS systems.
|
|
|
3639 |
(gs.mak)
|
|
|
3640 |
- 'make install' didn't install doc/History5.htm. (unixinst.mak)
|
|
|
3641 |
- The Borland makefile put some generated files in the top-level
|
|
|
3642 |
directory rather than the build directory. (bcwin32.mak)
|
|
|
3643 |
|
|
|
3644 |
Updates the Unix install script for the name change of gs_iso_e.ps.
|
|
|
3645 |
(unixinst.mak)
|
|
|
3646 |
|
|
|
3647 |
Moves the GNU-licensed drivers to a separate makefile. (contrib.mak,
|
|
|
3648 |
gnu/src/gnudevs.mak)
|
|
|
3649 |
|
|
|
3650 |
Adds pipe.dev to the BC++, MSVC++, and OS/2 (GCC/EMX) platforms.
|
|
|
3651 |
(bcwin32.mak, dvx-gcc.mak, msvc32.mak, msvclib.mak)
|
|
|
3652 |
|
|
|
3653 |
</pre><h3><a name="5.86_Utilities"></a>Utilities</h3><pre>
|
|
|
3654 |
|
|
|
3655 |
Fixes problems: - The usage message for pdf2ps was incorrect. (lib/pdf2ps,
|
|
|
3656 |
lib/pdf2ps.bat)
|
|
|
3657 |
|
|
|
3658 |
</pre><h3><a name="5.86_Drivers"></a>Drivers</h3><pre>
|
|
|
3659 |
|
|
|
3660 |
Removes all remaining uses of #define'd casts in connection with ENUM_PTRS
|
|
|
3661 |
and RELOC_PTRS procedures. (gdevpdf.c, gdevpdfo.c)
|
|
|
3662 |
|
|
|
3663 |
Adds a user-contributed driver for the Oki Data OkiPage 4w+ LED printer.
|
|
|
3664 |
This is a GPL'ed driver. (contrib.mak, gnu/src/gdevop4w.c)
|
|
|
3665 |
|
|
|
3666 |
</pre><h3><a name="5.86_Platforms"></a>Platforms</h3><pre>
|
|
|
3667 |
|
|
|
3668 |
Adds a %handle% IODevice (mshandle.dev) to recognize file names of the form
|
|
|
3669 |
%handle%NNNNNNNN under MS Windows. GSview uses this feature in place of
|
|
|
3670 |
pipes, which are an open industry standard not supported by MS Windows.
|
|
|
3671 |
(msvc32.mak, winlib.mak, gp_mshdl.c)
|
|
|
3672 |
|
|
|
3673 |
</pre><h3><a name="5.86_Fonts"></a>Fonts</h3><pre>
|
|
|
3674 |
|
|
|
3675 |
Adds the ISO 8859-2 encoding to the stock of built-in encodings.
|
|
|
3676 |
(lib/gs_il2_e.ps, lib/gs_iso_e.ps => lib/gs_il1_e.ps)
|
|
|
3677 |
|
|
|
3678 |
</pre><h3><a name="5.86_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
3679 |
|
|
|
3680 |
Fixes problems:
|
|
|
3681 |
- Using a colored pattern with an uncolored Pattern color space
|
|
|
3682 |
caused an error. (lib/pdf_draw.ps)
|
|
|
3683 |
- Embedded CIDFontType 2 fonts didn't work, and embedded TrueType
|
|
|
3684 |
fonts did an extra definefont. (lib/gs_ttf.ps, lib/pdf_font.ps,
|
|
|
3685 |
lib/pdf_ops.ps) ****** IN PROGRESS ******
|
|
|
3686 |
|
|
|
3687 |
</pre><h3><a name="5.86_Interpreter"></a>Interpreter</h3><pre>
|
|
|
3688 |
|
|
|
3689 |
Fixes problems:
|
|
|
3690 |
- Some files hadn't been updated for the removal of the gs_imemory
|
|
|
3691 |
static. (int.mak, gp_gnrdl.c, imain.c, ztrap.c)
|
|
|
3692 |
- %statementedit could append a spurious character if the last
|
|
|
3693 |
character of the statement was not whitespace. (bug probably introduced in
|
|
|
3694 |
5.8x) (ziodev.c)
|
|
|
3695 |
- The show operators didn't properly handle the special case of
|
|
|
3696 |
executing within a cshow procedure for a non-CID font. (zchar.c)
|
|
|
3697 |
- cshow applied to a composite font didn't scale the current font
|
|
|
3698 |
correctly (in fact, at all). (zcfont.c)
|
|
|
3699 |
- If an error occurred within the procedure called by
|
|
|
3700 |
resourceforall, it wasn't reported. (lib/gs_res.ps)
|
|
|
3701 |
- flushfile and closefile didn't correctly handle filters that only
|
|
|
3702 |
write a fixed amount of data. (zfileio.c)
|
|
|
3703 |
- cshow didn't restore the font reliably after executing the
|
|
|
3704 |
procedure. (ichar.h, zcfont.c, zchar.c)
|
|
|
3705 |
- An execstackoverflow error might temporarily leave the execution
|
|
|
3706 |
stack in an invalid state. (interp.c)
|
|
|
3707 |
|
|
|
3708 |
Cleans up some macros. (iname.c, isave.c, iscan.c)
|
|
|
3709 |
|
|
|
3710 |
Removes all remaining uses of #define'd casts in connection with ENUM_PTRS
|
|
|
3711 |
and RELOC_PTRS procedures. (icontext.c, iname.c, isave.c, iscan.c,
|
|
|
3712 |
istack.c, zcontext.c, zfproc.c)
|
|
|
3713 |
|
|
|
3714 |
Adds a run-time warning message if gp_gnrdl.c is included in a non-GNU
|
|
|
3715 |
build. (gp_gnrdl.c)
|
|
|
3716 |
|
|
|
3717 |
Converts clients to use the gs_text procedures that replace the gs_show
|
|
|
3718 |
procedures, and to use gs_text_enum_t rather than gs_show_enum as the
|
|
|
3719 |
enumerator type. (ichar.h, zbfont.c, zcfont.c, zchar.c, zchar1.c,
|
|
|
3720 |
zchar32.c, zchar42.c, zcharout.c, zcharx.c, zfont.c, zfont0.c, zfont1.c,
|
|
|
3721 |
zfont32.c, zimage.c, zimage2.c)
|
|
|
3722 |
|
|
|
3723 |
Updates the initialization code for the name change of gs_iso_e.ps.
|
|
|
3724 |
(lib/gs_init.ps)
|
|
|
3725 |
|
|
|
3726 |
Splits off the definitions relating to name indices, in anticipation of
|
|
|
3727 |
defining some name indices statically. (inamedef.h, inameidx.h, iname.c)
|
|
|
3728 |
|
|
|
3729 |
</pre><h3><a name="5.86_Streams"></a>Streams</h3><pre>
|
|
|
3730 |
|
|
|
3731 |
Fixes problems:
|
|
|
3732 |
- The pixel-difference filters didn't initialize the previous sample
|
|
|
3733 |
to 0 at the beginning of each row. (spdiff.c)
|
|
|
3734 |
- The CCITTFaxDecode filter didn't correctly handle the case where
|
|
|
3735 |
the last code of a row occurred less than 7 or 8 bits before the end of the
|
|
|
3736 |
input stream. (scf.h, shc.h, scfd.c)
|
|
|
3737 |
- Flushing filters didn't work. (stream.c)
|
|
|
3738 |
- The DCTEncode filter gave an error if asked to write to a string
|
|
|
3739 |
with less than 100 bytes of free space left when the end of the input data
|
|
|
3740 |
was reached. (sdct.h, sdcte.c)
|
|
|
3741 |
|
|
|
3742 |
Removes all remaining uses of #define'd casts in connection with ENUM_PTRS
|
|
|
3743 |
and RELOC_PTRS procedures. (stream.c)
|
|
|
3744 |
|
|
|
3745 |
Changes the ASCII85Encode stream to reliably insert a newline at least once
|
|
|
3746 |
every 80 characters, rather than unreliably after at most 80 characters of
|
|
|
3747 |
data. (sfilter2.c)
|
|
|
3748 |
|
|
|
3749 |
Cleans up some formatting. (stream.c)
|
|
|
3750 |
|
|
|
3751 |
</pre><h3><a name="5.86_Library"></a>Library</h3><pre>
|
|
|
3752 |
|
|
|
3753 |
Fixes problems:
|
|
|
3754 |
- A client wasn't updated for the change in the declaration of
|
|
|
3755 |
gx_dht_proc. (bug introduced in 5.84) (genht.c)
|
|
|
3756 |
- When rendering a 12-bit-per-sample color image, the device color
|
|
|
3757 |
wasn't initialized, possibly causing a memory access error when comparing
|
|
|
3758 |
the current color with the previous one. (gxi12bit.c)
|
|
|
3759 |
- arch_floats_are_IEEE was incorrectly defined as
|
|
|
3760 |
arch_floats_are_ieee. (bug introduced in 5.83) (std.h)
|
|
|
3761 |
- Decoding of IEEE floats on non-IEEE systems was wrong. (ibnum.c)
|
|
|
3762 |
- The fast case of masked images in Pattern color spaces didn't
|
|
|
3763 |
work. (bug introduced since 5.50) (gxifast.c)
|
|
|
3764 |
- cshow gave an error if there was no current point. (gxchar.c)
|
|
|
3765 |
|
|
|
3766 |
Replaces TEXT_REPLACE_{X,Y}_WIDTHS with a single TEXT_REPLACE_WIDTHS.
|
|
|
3767 |
(gstext.h, gstext.c)
|
|
|
3768 |
|
|
|
3769 |
Cleans up some macros. (gdevddrw.c, gsfont.c, gsht1.c)
|
|
|
3770 |
|
|
|
3771 |
Removes all remaining uses of #define'd casts in connection with ENUM_PTRS
|
|
|
3772 |
and RELOC_PTRS procedures. (gdevddrw.c, gdevplnx.c, gsalloc.c, gschar.c,
|
|
|
3773 |
gscolor.c, gscolor2.c, gscrd.c, gscsepr.c, gscspace.c, gsdevice.c, gsdsrc.c,
|
|
|
3774 |
gsfcmap.c, gsfont.c, gsfont0.c, gsht1.c, gshtscr.c, gsimage.c, gspcolor.c,
|
|
|
3775 |
gsptype1.c, gsstate.c, gstext.c, gxcmap.c, gxht.c, gxipixel.c, gxmclip.c,
|
|
|
3776 |
gxtype1.c)
|
|
|
3777 |
|
|
|
3778 |
Adds gs_c_param_list_write_more, to switch a C parameter list back to write
|
|
|
3779 |
mode without clearing it. (gsparam.h, gscparam.c)
|
|
|
3780 |
|
|
|
3781 |
Adds gs_grestore_only, to do a grestore without requiring 2 entries on the
|
|
|
3782 |
graphics state stack. (gsstate.h, gsstate.c)
|
|
|
3783 |
|
|
|
3784 |
Completes a first bridge between the new driver text_begin procedure and the
|
|
|
3785 |
existing text API defined in gschar.h. The changes are backward-compatible
|
|
|
3786 |
for both clients of the APIs and (the few) implementors of text_begin,
|
|
|
3787 |
except that the font argument of text_begin is no longer const. Note that
|
|
|
3788 |
gschar.h is no longer used by any client, and in fact is deprecated.
|
|
|
3789 |
(gschar.h, gstext.h, gxfcache.h, gxtext.h, gzstate.h, gdevbbox.c,
|
|
|
3790 |
gdevnfwd.c, gschar.c, gsfont.c, gsfont0.c, gstext.c)
|
|
|
3791 |
|
|
|
3792 |
Mostly splits off the existing text procedures from the default
|
|
|
3793 |
implementation of the new text facilities. (lib.mak, gxchar.h, gschar.c,
|
|
|
3794 |
gxchar.c)
|
|
|
3795 |
|
|
|
3796 |
Makes the structure descriptor for gs_state public, for testing in gxchar.c.
|
|
|
3797 |
(gzstate.h, gsstate.c)
|
|
|
3798 |
|
|
|
3799 |
Adds is_width_only and current_width procedures to the text enumerator;
|
|
|
3800 |
renames restart as retry, and adds a restart procedure for restarting with
|
|
|
3801 |
different parameters. (gstext.h, gxtext.h, gdevbbox.c, gschar.c, gstext.c,
|
|
|
3802 |
gxchar.c)
|
|
|
3803 |
|
|
|
3804 |
Makes the masks for the subgroups of text operation parameters public.
|
|
|
3805 |
(gstext.h)
|
|
|
3806 |
|
|
|
3807 |
Removes members of gs_show_enum that are superseded by members of
|
|
|
3808 |
gs_text_enum_t: current_char, current_glyph, width, and log2_current_scale.
|
|
|
3809 |
(gxchar.h, gxchar.c)
|
|
|
3810 |
|
|
|
3811 |
Adds aliases for popen and pclose under WIN32. (pipe_.h)
|
|
|
3812 |
|
|
|
3813 |
Moves gs_incachedevice from gschar.h to gsstate.h. (gschar.h, gsstate.h)
|
|
|
3814 |
|
|
|
3815 |
</pre>
|
|
|
3816 |
|
|
|
3817 |
<hr>
|
|
|
3818 |
|
|
|
3819 |
<h2><a name="Version5.85"></a>Version 5.85 (tester) (5/29/99)</h2>
|
|
|
3820 |
|
|
|
3821 |
<p>
|
|
|
3822 |
This fileset removes a few more writable statics, and adds uniform support
|
|
|
3823 |
for %filedevice%filename syntax in OutputFile. Unfortunately, removing the
|
|
|
3824 |
static that held the interpreter's allocator group was almost as much of an
|
|
|
3825 |
upheaval as removing the statics for the interpreter stacks.
|
|
|
3826 |
|
|
|
3827 |
<h3><a name="5.85_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
3828 |
|
|
|
3829 |
(Interpreter)
|
|
|
3830 |
- context_state_alloc now takes an additional parameter, as do
|
|
|
3831 |
obj_cvp, make_packed_array, parse_real_file_name, ref_stack_store,
|
|
|
3832 |
sread/write_proc, terminate_file_name, and a number of other internal
|
|
|
3833 |
interpreter procedures.
|
|
|
3834 |
- scan_number now does not mark the result as new.
|
|
|
3835 |
- The _param_list_read/write procedures now take an additional
|
|
|
3836 |
gs_ref_memory_t * parameter.
|
|
|
3837 |
- It is no longer possible to store pointers to the interpreter's
|
|
|
3838 |
allocator group (gs_dual_memory_t) in structures or variables across a
|
|
|
3839 |
garbage collection.
|
|
|
3840 |
- The save_level instance variable is moved from gs_dual_memory_t
|
|
|
3841 |
to gs_ref_memory_t.
|
|
|
3842 |
- op_show_finish_setup can now fail.
|
|
|
3843 |
- fname.h is renamed gsfname.h; the procedure names and parameters
|
|
|
3844 |
for %device%name file names are changed.
|
|
|
3845 |
- gx_imager_stroke_add now takes an additional argument; a NULL
|
|
|
3846 |
value for the device argument of gx_stroke_path_only is no longer valid.
|
|
|
3847 |
- gx_make_clip_translate_device now takes a memory parameter, and no
|
|
|
3848 |
container parameter; gx_make_clip_device no longer takes a container
|
|
|
3849 |
parameter; gx_mask_clip_initialize and tile_clip_initialize now take a
|
|
|
3850 |
memory parameter.
|
|
|
3851 |
|
|
|
3852 |
</pre><h3><a name="5.85_Documentation"></a>Documentation</h3><pre>
|
|
|
3853 |
|
|
|
3854 |
Fixes problems:
|
|
|
3855 |
- The language documentation still referred to outside clipping.
|
|
|
3856 |
(doc/Language.htm)
|
|
|
3857 |
|
|
|
3858 |
Documents the new curve join graphics state parameter. (doc/Language.htm)
|
|
|
3859 |
|
|
|
3860 |
Documents the fact that the OutputFile device parameter now supports the
|
|
|
3861 |
%device%file syntax. (gp.h, doc/Use.htm)
|
|
|
3862 |
|
|
|
3863 |
Documents the licensing problems related to GNU readline. (int.mak,
|
|
|
3864 |
unix-gcc.mak, gp_gnrdl.c)
|
|
|
3865 |
|
|
|
3866 |
</pre><h3><a name="5.85_Procedures"></a>Procedures</h3><pre>
|
|
|
3867 |
|
|
|
3868 |
Fixes problems:
|
|
|
3869 |
- The bmpa devices needed gdevppla. (bug introduced in 5.84)
|
|
|
3870 |
(devs.mak)
|
|
|
3871 |
- The bmpa devices were accidentally included in the DEVICE_DEVS
|
|
|
3872 |
setting in the distributed fileset. (unix-gcc.mak)
|
|
|
3873 |
- msvclib.mak was missing some definitions. (msvclib.mak)
|
|
|
3874 |
|
|
|
3875 |
Adds a CC_NO_WARN macro for those few files that produce tons of warnings
|
|
|
3876 |
that we can't work around. (bcwin32.mak, dvx-gcc.mak, msvccmd.mak,
|
|
|
3877 |
openvms.mak, openvms.mmk, os2.mak, ugcclib.mak, unix-gcc.mak, unixansi.mak,
|
|
|
3878 |
unixtrad.mak, watcw32.mak, wccommon.mak, devs.mak, lib.mak, zlib.mak)
|
|
|
3879 |
|
|
|
3880 |
Adds version.mak to msvclib.mak, so library clients can track the version.
|
|
|
3881 |
(msvclib.mak)
|
|
|
3882 |
|
|
|
3883 |
</pre><h3><a name="5.85_Utilities"></a>Utilities</h3><pre>
|
|
|
3884 |
|
|
|
3885 |
Fixes problems:
|
|
|
3886 |
- -replace didn't work if it was the last item of a module
|
|
|
3887 |
description. (genconf.c)
|
|
|
3888 |
|
|
|
3889 |
</pre><h3><a name="5.85_Drivers"></a>Drivers</h3><pre>
|
|
|
3890 |
|
|
|
3891 |
Fixes problems:
|
|
|
3892 |
- CCITTFax-compressed bitmaps sometimes used both a Rows value and
|
|
|
3893 |
an end-of-block indicator, which some PostScript implementations don't
|
|
|
3894 |
handle properly. (gdevpsdf.h, gdevps.c, gdevpsdf.c)
|
|
|
3895 |
|
|
|
3896 |
Removes an unused procedure and macro. (gdevlj56.c)
|
|
|
3897 |
|
|
|
3898 |
</pre><h3><a name="5.85_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
3899 |
|
|
|
3900 |
Fixes problems:
|
|
|
3901 |
- The interpreter cached objects even if the reference had the wrong
|
|
|
3902 |
generation number, causing errors if a correct reference occurred later.
|
|
|
3903 |
(lib/pdf_base.ps)
|
|
|
3904 |
- Embedded TrueType fonts using the Macintosh encoding sometimes
|
|
|
3905 |
caused an error. (lib/gs_ttf.ps)
|
|
|
3906 |
|
|
|
3907 |
</pre><h3><a name="5.85_Interpreter"></a>Interpreter</h3><pre>
|
|
|
3908 |
|
|
|
3909 |
Fixes problems:
|
|
|
3910 |
- Multiple contexts were broken (probably since 5.80). Fixing this
|
|
|
3911 |
required adding a parameter to context_state_alloc, to provide systemdict.
|
|
|
3912 |
(icontext.h, icontext.c, interp.c)
|
|
|
3913 |
- setpagedevice didn't accept the 4-element PageSize values that
|
|
|
3914 |
appear in the InputAttributes dictionary. (zmedia2.c)
|
|
|
3915 |
- BuildChar/BuildGlyph was "short circuited" even in some cases
|
|
|
3916 |
where it wasn't safe to do so. (ichar.h, zchar.c, zcharout.c)
|
|
|
3917 |
- The show operators didn't properly handle the special case of
|
|
|
3918 |
executing within a cshow procedure. (ichar.h, zcfont.c, zchar.c, zcharx.c)
|
|
|
3919 |
- The -dDOINTERPOLATE switch had gotten broken somehow.
|
|
|
3920 |
(lib/gs_init.ps)
|
|
|
3921 |
- The is_identity flag wasn't properly cleared when loading cached
|
|
|
3922 |
CIE mapping values, causing incorrect output. (zcie.c)
|
|
|
3923 |
|
|
|
3924 |
Removes the writable static for the context scheduler. (zcontext.c)
|
|
|
3925 |
|
|
|
3926 |
Removes the writable static for the interpreter's group of allocators
|
|
|
3927 |
(gs_imemory). This too turned out to be a massive change with many
|
|
|
3928 |
NON-BACKWARD-COMPATIBLE changes required in internal procedures. (bfont.h,
|
|
|
3929 |
files.h, fname.h, ialloc.h, ifunc.h, imemory.h, interp.h, iparam.h,
|
|
|
3930 |
iparray.h, ipcolor.h, isave.h, iscannum.h, istack.h, istream.h, iutil.h,
|
|
|
3931 |
store.h, ialloc.c, icontext.c, idebug.c, idict.c, iinit.c, imain.c,
|
|
|
3932 |
imainarg.c, interp.c, iparam.c, ireclaim.c, isave.c, iscan.c, iscanbin.c,
|
|
|
3933 |
iscannum.c, isstate.h, istack.c, iutil.c, zarray.c, zbfont.c, zcontext.c,
|
|
|
3934 |
zdict.c, zfname.c, zdps.c, zdps1.c, zfcmap.c, zdict.c, zfile.c, zfilter.c,
|
|
|
3935 |
zfont.c, zfont0.c, zfproc.c, zfreuse.c, zfunc.c, zfunc0.c, zfunc3.c,
|
|
|
3936 |
zgeneric.c, zht2.c, ziodev.c, ziodev2.c, zpacked.c, zpcolor.c, zshade.c,
|
|
|
3937 |
zupath.c, zvmem.c)
|
|
|
3938 |
|
|
|
3939 |
Adds a gs_memory_t * argument to obj_cvp. This is part of the work for
|
|
|
3940 |
removing the gs_imemory static: we note it separately because it affects
|
|
|
3941 |
code beyond the interpreter. (iutil.h, gp_gnrdl.c, iutil.c, zfileio.c)
|
|
|
3942 |
|
|
|
3943 |
Updates interpreter code for the addition of new_mask, test_mask, and
|
|
|
3944 |
save_level to gs_ref_memory_t, and the removal of save_level from
|
|
|
3945 |
gs_dual_memory_t. (ialloc.h, ialloc.c, isave.c)
|
|
|
3946 |
|
|
|
3947 |
Adds a gs_ref_memory_t * argument to all the _param_list_read/write
|
|
|
3948 |
procedures. (iparam.h, iparam.c, zcrd.c, zdevice.c, zfdctd.c, zfdcte.c,
|
|
|
3949 |
zfdecode.c, zfilter2.c, ziodev2.c, zusparam.c)
|
|
|
3950 |
|
|
|
3951 |
Changes the hack in file_alloc_stream that determines whether a gs_memory_t
|
|
|
3952 |
* is actually a gs_ref_memory_t *. The former code tested specifically
|
|
|
3953 |
whether the allocator was one of the current interpreter allocators; the new
|
|
|
3954 |
code simply tests the procedure vector. We aren't 100% sure that this
|
|
|
3955 |
change will work reliably. (zfile.c)
|
|
|
3956 |
|
|
|
3957 |
Factors common code out of isave.h and store.h. (idosave.h, isave.h,
|
|
|
3958 |
store.h)
|
|
|
3959 |
|
|
|
3960 |
Removes the reclaim_data member of gs_dual_memory_t, since it is no longer
|
|
|
3961 |
useful. (imemory.h, ialloc.c, ireclaim.c)
|
|
|
3962 |
|
|
|
3963 |
Makes the default InputAttributes and OutputAttributes elements of page
|
|
|
3964 |
device dictionaries writable and (if possible) allocated in local VM, to
|
|
|
3965 |
work around bugs in the output of Word Perfect. (lib/gs_setpd.ps)
|
|
|
3966 |
|
|
|
3967 |
Modifies the interpreter's error printout to indicate whether dictionaries
|
|
|
3968 |
on the stack(s) are writable. (lib/gs_init.ps)
|
|
|
3969 |
|
|
|
3970 |
Moves support for %device%name file naming into the library. (fname.h,
|
|
|
3971 |
zfile.c, zfname.c [deleted])
|
|
|
3972 |
|
|
|
3973 |
Adds interpreter support for the new curve join graphics state parameter.
|
|
|
3974 |
(zgstate.c)
|
|
|
3975 |
|
|
|
3976 |
</pre><h3><a name="5.85_Library"></a>Library</h3><pre>
|
|
|
3977 |
|
|
|
3978 |
Fixes problems:
|
|
|
3979 |
- bbox_fill_path device didn't interact with compositors correctly.
|
|
|
3980 |
(This problem had no practical effect.) (gdevbbox.c)
|
|
|
3981 |
- kshow didn't check for CID fonts. (gschar.c)
|
|
|
3982 |
- The bbox and ImageType 3 image enumerators had incorrect GC
|
|
|
3983 |
descriptors, possibly causing memory-related crashes. (gsstruct.h,
|
|
|
3984 |
gdevbbox.c, gximage3.c)
|
|
|
3985 |
- gx_make_clip_[translate_]device took an obsolete container
|
|
|
3986 |
parameter. (gxcpath.h, gsshade.c, gxccache.c, gxfill.c, gxstroke.c)
|
|
|
3987 |
- Non-transient clipping devices were used for image clipping, but
|
|
|
3988 |
the API didn't support creating them. (gxcpath.h, gxclip.c, gximage3.c,
|
|
|
3989 |
gxipixel.c)
|
|
|
3990 |
- Some devices were created without setting their memory member,
|
|
|
3991 |
which caused the GC not to trace pointers to them. (gxmclip.h, gxclip2.h,
|
|
|
3992 |
gxclip2.c, gximage3.c, gxmclip.c, gxp1fill.c)
|
|
|
3993 |
- The bbox device didn't handle ImageType 3 images correctly.
|
|
|
3994 |
(gdevbbox.c)
|
|
|
3995 |
- When the bbox device passed a stroke operation to the library, it
|
|
|
3996 |
didn't pass the device, causing absolute-length dots to render incorrectly.
|
|
|
3997 |
Fixing this required adding a device parameter to the gx_imager_stroke_add
|
|
|
3998 |
procedure. (gxpaint.h, gdevbbox.c, gxpaint.c)
|
|
|
3999 |
- The counter control OtherSubrs (12 and 13) weren't implemented.
|
|
|
4000 |
(This probably had no effect.) (gstype1.c)
|
|
|
4001 |
- Type 1 stem hints with negative widths didn't work properly.
|
|
|
4002 |
(gxhint2.c)
|
|
|
4003 |
- The debugging output for hintmask and cntrmask printed the vstem
|
|
|
4004 |
and hstem counts in the wrong order. (gstype2.c)
|
|
|
4005 |
- If the value of the OutputFile device parameter was too long,
|
|
|
4006 |
the result could be memory corruption rather than a rangecheck error.
|
|
|
4007 |
(gsdevice.c)
|
|
|
4008 |
- The dash pattern pointer in the saved imager state of a band list
|
|
|
4009 |
writer could point inside the writer structure, confusing the garbage
|
|
|
4010 |
collector. (gxclist.h, gxclpath.c)
|
|
|
4011 |
|
|
|
4012 |
Adds new_mask, test_mask, and save_level instance variables to
|
|
|
4013 |
gs_ref_memory_t. This too is part of the gs_imemory work: we note it
|
|
|
4014 |
separately because it is the only piece of this work that affects the
|
|
|
4015 |
library. (gxalloc.h, gsalloc.c)
|
|
|
4016 |
|
|
|
4017 |
Makes cntrmask at the beginning of a charstring act like vstemhm + cntrmask,
|
|
|
4018 |
as with hintmask. This is not documented, but we see it used this way in
|
|
|
4019 |
Type 2 CharStrings. (gstype2.c)
|
|
|
4020 |
|
|
|
4021 |
Cleans up formatting and macros. (gp.h)
|
|
|
4022 |
|
|
|
4023 |
Speeds up the bounding box device by skipping path filling if the entire
|
|
|
4024 |
path falls within the already-accumulated bounding box, and by defining the
|
|
|
4025 |
device as 8-bit gray to avoid halftone computation. (gdevbbox.c)
|
|
|
4026 |
|
|
|
4027 |
Adds a procedure, gs_show_use_glyph, for implementing the show-in-cshow
|
|
|
4028 |
hack. (gschar.h, gschar.c)
|
|
|
4029 |
|
|
|
4030 |
Moves support for %device%file file naming into the library. (lib.mak,
|
|
|
4031 |
gsfname.h, gxiodev.h, gdevpipe.c, gsfname.c)
|
|
|
4032 |
|
|
|
4033 |
Makes the OutputFile device parameter recognize %device%file syntax, as well
|
|
|
4034 |
as "-" and (on platforms that support pipes) |command. (gp.h, gxdevice.h,
|
|
|
4035 |
gdevprn.c, gsdevice.c, gp_unix.c)
|
|
|
4036 |
|
|
|
4037 |
Adds a separate graphics state parameter to indicate how to treat joins
|
|
|
4038 |
between segments of a flattened curve, for compatibility with Adobe
|
|
|
4039 |
interpreters (which apparently always use bevel joins). (gsline.h,
|
|
|
4040 |
gxclpath.h, gxline.h, gsline.c, gsstate.c, gxclpath.c, gxclrast.c,
|
|
|
4041 |
gxstroke.c)
|
|
|
4042 |
|
|
|
4043 |
Changes code slightly, introducing an unnecessary assignment, in order to
|
|
|
4044 |
suppress a compiler warning. (gxclpath.c)
|
|
|
4045 |
|
|
|
4046 |
Tweaks the CIE_LOAD_CACHE_BODY macro slightly. (gscie.c)
|
|
|
4047 |
|
|
|
4048 |
</pre>
|
|
|
4049 |
|
|
|
4050 |
<hr>
|
|
|
4051 |
|
|
|
4052 |
<h2><a name="Version5.84"></a>Version 5.84 (tester) (5/19/99)</h2>
|
|
|
4053 |
|
|
|
4054 |
<p>
|
|
|
4055 |
This fileset completes the implementation of planar rendering, and fixes a
|
|
|
4056 |
few more bugs, some of them surprisingly old.
|
|
|
4057 |
|
|
|
4058 |
<h3><a name="5.84_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
4059 |
|
|
|
4060 |
(Drivers)
|
|
|
4061 |
- The dopath vector device implementation procedure was changed to
|
|
|
4062 |
take an optional matrix argument.
|
|
|
4063 |
(Library)
|
|
|
4064 |
- The internal memory__need_ macros are changed to upper case.
|
|
|
4065 |
|
|
|
4066 |
</pre><h3><a name="5.84_Procedures"></a>Procedures</h3><pre>
|
|
|
4067 |
|
|
|
4068 |
Fixes problems:
|
|
|
4069 |
- There was a duplicate entry for GENINIT_XE in the Watcom makefile.
|
|
|
4070 |
(wctail.mak)
|
|
|
4071 |
|
|
|
4072 |
Adds the duplex-capable LaserJet drivers (ljet3d and ljet4d) to all standard
|
|
|
4073 |
configurations. (bcwin32.mak, dvx-gcc.mak, msvc32.mak, openvms.mak,
|
|
|
4074 |
openvms.mmk, os2.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak, watc.mak,
|
|
|
4075 |
watcw32.mak)
|
|
|
4076 |
|
|
|
4077 |
Adds a PROFILE compilation switch, similar to DEBUG, to work around the fact
|
|
|
4078 |
that gprof under Linux doesn't count time in memset, memcpy, or other C
|
|
|
4079 |
library procedures. PROFILE will substitute our own versions of memset,
|
|
|
4080 |
memcpy, and memmove. Currently, this switch is supported only on Unix.
|
|
|
4081 |
(unix-end.mak)
|
|
|
4082 |
|
|
|
4083 |
Defines a new makefile macro, SYNC, that gives the module name for thread /
|
|
|
4084 |
synchronization facilities; makes async.dev include this module. This is
|
|
|
4085 |
posync on Unix and VMS platforms, winsync on MS Windows and OS/2 platforms.
|
|
|
4086 |
(bcwin32.mak, dvx-gcc.mak, lib.mak, msvc32.mak, msvclib.mak, openvms.mak,
|
|
|
4087 |
openvms.mmk, os2.mak, ugcclib.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak,
|
|
|
4088 |
watc.mak, watclib.mak, watcw32.mak)
|
|
|
4089 |
|
|
|
4090 |
Splits off the rules common to the 3 Windows makefiles (watc, watclib,
|
|
|
4091 |
winlib) into a separate file, defining new modules winplat.dev and
|
|
|
4092 |
winsync.dev. (watc.mak, watclib.mak, winlib.mak, winplat.mak)
|
|
|
4093 |
|
|
|
4094 |
Removes -Wcast-align from the gcc switches, since this produces huge numbers
|
|
|
4095 |
of warnings that we will certainly never get rid of. (unix-gcc.mak)
|
|
|
4096 |
|
|
|
4097 |
</pre><h3><a name="5.84_Utilities"></a>Utilities</h3><pre>
|
|
|
4098 |
|
|
|
4099 |
Enhances the ps2pdf script with a patch contributed by Jim Avera
|
|
|
4100 |
(avera@fjst.com) so that it can be used as a pipe by specifying "-" for the
|
|
|
4101 |
input and/or output file. (lib/ps2pdf)
|
|
|
4102 |
|
|
|
4103 |
Modifies ps2ascii to handle landscape pages better. (lib/ps2ascii.ps)
|
|
|
4104 |
|
|
|
4105 |
</pre><h3><a name="5.84_Drivers"></a>Drivers</h3><pre>
|
|
|
4106 |
|
|
|
4107 |
Fixes problems:
|
|
|
4108 |
- PDF output that used Pattern colors on more than one page failed
|
|
|
4109 |
to include the color space resource in the resource dictionaries of pages
|
|
|
4110 |
other than the first. (gdevpdf.c)
|
|
|
4111 |
- The PDF writer emitted bitmap patterns inverted in Y.
|
|
|
4112 |
(gdevpdfi.c)
|
|
|
4113 |
- The PCL XL driver's GC descriptor had become incorrect, causing
|
|
|
4114 |
crashes. (gdevpx.c)
|
|
|
4115 |
- The pdfwrite driver could still emit coordinates too large for
|
|
|
4116 |
Acrobat Reader to handle, for stroked lines with an unusual CTM.
|
|
|
4117 |
(gdevpdfd.c)
|
|
|
4118 |
- The pxl drivers emitted invalid output for dashed lines.
|
|
|
4119 |
(gdevpx.c)
|
|
|
4120 |
- The [e]pswrite and pxl drivers scaled line widths and dash
|
|
|
4121 |
patterns incorrectly. Fixing this properly involved refactoring the
|
|
|
4122 |
handling of scaling for paths, and removing gdev_vector_stroke_path.
|
|
|
4123 |
(gdevpsdf.h, gdevvec.h, gdevpdfd.c, gdevps.c, gdevpsdf.c, gdevpx.c,
|
|
|
4124 |
gdevvec.c)
|
|
|
4125 |
- The lj5 drivers didn't pad images to a multiple of 4 bytes per
|
|
|
4126 |
scan line, producing invalid PCL XL output. (We don't see how they could
|
|
|
4127 |
ever have worked, in fact.) (gdevpcl.h, gdevlj56.c, gdevpcl.c)
|
|
|
4128 |
|
|
|
4129 |
Adds a user-contributed driver for the DEClaser 2100. This is a GPL'ed
|
|
|
4130 |
driver. (contrib.mak, gnu/src/gdevln03.c)
|
|
|
4131 |
|
|
|
4132 |
Makes the UsePlanarBuffer parameter, and planar buffering capability, from
|
|
|
4133 |
the PPM devices available to general printer devices, but in a separate
|
|
|
4134 |
module to avoid making all printer devices require gdevmpla.c. (gdevppla.h,
|
|
|
4135 |
gdevpbm.c, gdevppla.c)
|
|
|
4136 |
|
|
|
4137 |
Adds a UsePlanarBuffer parameter to the async BMP drivers, for testing.
|
|
|
4138 |
(gdevbmpa.c)
|
|
|
4139 |
|
|
|
4140 |
Removes the comment about the instability of the "vector" driver interface.
|
|
|
4141 |
(gdevvec.h, gdevvec.c)
|
|
|
4142 |
|
|
|
4143 |
</pre><h3><a name="5.84_Platforms"></a>Platforms</h3><pre>
|
|
|
4144 |
|
|
|
4145 |
Splits off the Windows thread and synchronization primitives into a new file
|
|
|
4146 |
and a new module, winsync.dev. (watc.mak, watclib.mak, winlib.mak,
|
|
|
4147 |
gp_win32.c, gp_wsync.c)
|
|
|
4148 |
|
|
|
4149 |
</pre><h3><a name="5.84_Interpreter"></a>Interpreter</h3><pre>
|
|
|
4150 |
|
|
|
4151 |
Fixes problems:
|
|
|
4152 |
- As usual, gcc failed to flag some signed/unsigned char mismatches.
|
|
|
4153 |
(gp_gnrdl.c, iutil.c)
|
|
|
4154 |
|
|
|
4155 |
Moves the indexed color space cache lookup procedure from the interpreter to
|
|
|
4156 |
the library. (zcsindex.c)
|
|
|
4157 |
|
|
|
4158 |
</pre><h3><a name="5.84_Streams"></a>Streams</h3><pre>
|
|
|
4159 |
|
|
|
4160 |
Fixes problems:
|
|
|
4161 |
- If a 2-D CCITTFax stream ended with 1 or 2 "vertical 0" codes,
|
|
|
4162 |
those codes would be ignored. (scfd.c)
|
|
|
4163 |
|
|
|
4164 |
</pre><h3><a name="5.84_Library"></a>Library</h3><pre>
|
|
|
4165 |
|
|
|
4166 |
Fixes problems:
|
|
|
4167 |
- gsnogc.h contained an extern for gs_gc_reclaim rather than for
|
|
|
4168 |
gs_nogc_reclaim. (gsnogc.h)
|
|
|
4169 |
- Banded images in Indexed color spaces rendered incorrectly.
|
|
|
4170 |
(gximage.c)
|
|
|
4171 |
- A function declared some arguments as float rather than floatp.
|
|
|
4172 |
(gshtx.h, gshtx.c)
|
|
|
4173 |
- As usual, gcc failed to flag some public/private mismatches.
|
|
|
4174 |
(gdevmrun.c)
|
|
|
4175 |
- The tracing output for monobit images printed 8 bits per pixel
|
|
|
4176 |
rather than 1 bit per pixel. (gxidata.c)
|
|
|
4177 |
- A Pn macro was used in a header file that didn't include stdpre.h.
|
|
|
4178 |
(gscdefs.h, gconf.c, genht.c, gxhtbit.c, gxclrast.c)
|
|
|
4179 |
- get_bits_rectangle for the planar memory device didn't flush the
|
|
|
4180 |
last byte of each row. (gdevmpla.c)
|
|
|
4181 |
- When banding, Indexed color spaces using a procedure rather than a
|
|
|
4182 |
lookup table caused a crash. (gxcolor2.h, gscolor2.c, gxclrast.c)
|
|
|
4183 |
- When filling a region with a Pattern with a rotated matrix, some
|
|
|
4184 |
parts of the region could be missed. (bug introduced by a fix in 5.38)
|
|
|
4185 |
(gxp1fill.c)
|
|
|
4186 |
|
|
|
4187 |
When compiling with gcc, replaces inline with __inline__ to get rid of a
|
|
|
4188 |
potential warning. (stdpre.h)
|
|
|
4189 |
|
|
|
4190 |
Adds our own implementations of memset, memcpy, and memmove, to work around
|
|
|
4191 |
the fact that gprof under Linux doesn't count time in C library procedures.
|
|
|
4192 |
(memory_.h, string_.h, gsmisc.c)
|
|
|
4193 |
|
|
|
4194 |
Finishes implementing planar rendering for printer / banded devices.
|
|
|
4195 |
(gdevprn.h, gxclist.h, gxdevbuf.h, gdevprn.c, gxclread.c)
|
|
|
4196 |
|
|
|
4197 |
</pre>
|
|
|
4198 |
|
|
|
4199 |
<hr>
|
|
|
4200 |
|
|
|
4201 |
<h2><a name="Version5.83"></a>Version 5.83 (tester) (5/13/99)</h2>
|
|
|
4202 |
|
|
|
4203 |
<p>
|
|
|
4204 |
This fileset was driven mostly by commercial licensee demands; it doesn't
|
|
|
4205 |
fix most of the problems reported in 5.82. It features smaller threshold
|
|
|
4206 |
halftones, the ability to store halftones in ROM, and a nearly complete
|
|
|
4207 |
implementation of a planar memory device.
|
|
|
4208 |
|
|
|
4209 |
<p>
|
|
|
4210 |
Items pushed off to the next fileset:
|
|
|
4211 |
<ul>
|
|
|
4212 |
<li> - Finish multi-planar band buffers (requires changing
|
|
|
4213 |
gdev_prn_render_lines to be based on memory devices rather than buffer
|
|
|
4214 |
pointers).
|
|
|
4215 |
<li> - For Adobe compatibility, change stroking so that it always
|
|
|
4216 |
uses
|
|
|
4217 |
bevel joins between the segments of a curve (this directly contradicts the
|
|
|
4218 |
Red Book, but it's what Adobe interpreters do).
|
|
|
4219 |
<li> - Implement an IdiomSet for Corel Draw fountain fills?
|
|
|
4220 |
(idioms.ps)
|
|
|
4221 |
<li> - Change shading so it doesn't install a clip device (make this
|
|
|
4222 |
a
|
|
|
4223 |
driver procedure instead), because that prevents clist_fill_path from being
|
|
|
4224 |
called.
|
|
|
4225 |
</ul>
|
|
|
4226 |
|
|
|
4227 |
<h3><a name="5.83_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
4228 |
|
|
|
4229 |
(Interpreter)
|
|
|
4230 |
- The spaces.indexed member of a vm_spaces structure has been
|
|
|
4231 |
renamed spaces_indexed (a macro).
|
|
|
4232 |
- The gs_reclaim procedure is changed to a macro, GS_RECLAIM.
|
|
|
4233 |
(Library)
|
|
|
4234 |
- The bits member of a halftone order is now called bit_data, and is
|
|
|
4235 |
opaque; halftone orders are now "objects"; gx_ht_alloc_[ht_]order now take
|
|
|
4236 |
an additional argument.
|
|
|
4237 |
- The architectural values in arch.h are now all upper-case.
|
|
|
4238 |
(std.h defines lower-case synonyms for backward compatibility.)
|
|
|
4239 |
- The buffer device procedures for printer devices are now collected
|
|
|
4240 |
in a structure; this also changes the parameters of clist_init_params.
|
|
|
4241 |
- The parameters of the buffered device setup_buf_device procedure
|
|
|
4242 |
are changed.
|
|
|
4243 |
- gx_path_copy_reducing now takes an additional argument, an imager
|
|
|
4244 |
state, for flattening stroked paths.
|
|
|
4245 |
- Memory devices now must be created by copying a prototype device,
|
|
|
4246 |
rather than by initializing individual members, even if they are only being
|
|
|
4247 |
used for limited purposes.
|
|
|
4248 |
|
|
|
4249 |
</pre><h3><a name="5.83_Documentation"></a>Documentation</h3><pre>
|
|
|
4250 |
|
|
|
4251 |
Documents the new facility for compiled halftones, and the old one for
|
|
|
4252 |
compiling initialization files. (doc/Make.htm)
|
|
|
4253 |
|
|
|
4254 |
</pre><h3><a name="5.83_Utilities"></a>Utilities</h3><pre>
|
|
|
4255 |
|
|
|
4256 |
Adds a utility for compiling halftones into the executable. Also defines
|
|
|
4257 |
the dependency lists for the auxiliary programs in lib.mak and int.mak,
|
|
|
4258 |
rather than replicating them for every platform. (bcwin32.mak,
|
|
|
4259 |
dvx-tail.mak, gs.mak, int.mak, lib.mak, msvctail.mak, openvms.mak,
|
|
|
4260 |
openvms.mmk, os2.mak, unix-aux.mak, wctail.mak, genht.c)
|
|
|
4261 |
|
|
|
4262 |
Adds support for halftone "resources" in the makefile. (genconf.c)
|
|
|
4263 |
|
|
|
4264 |
Adds code to determine the primary and secondary CPU cache sizes
|
|
|
4265 |
empirically. (genarch.c)
|
|
|
4266 |
|
|
|
4267 |
Changes the architecture definition macros from lower to upper case, with
|
|
|
4268 |
lower-case synonyms in std.h for backward compatibility. (gsjconf.h, std.h,
|
|
|
4269 |
genarch.c)
|
|
|
4270 |
|
|
|
4271 |
Changes the ps2ai utility so that jtxt3 can be set from the command line, to
|
|
|
4272 |
allow pstoedit to generate AI3-compatible output. (lib/ps2ai.ps)
|
|
|
4273 |
|
|
|
4274 |
</pre><h3><a name="5.83_Procedures"></a>Procedures</h3><pre>
|
|
|
4275 |
|
|
|
4276 |
Adds some optional library modules to the base library compilation list, so
|
|
|
4277 |
that compilation errors won't slip through. (lib.mak)
|
|
|
4278 |
|
|
|
4279 |
</pre><h3><a name="5.83_Interpreter"></a>Interpreter</h3><pre>
|
|
|
4280 |
|
|
|
4281 |
Fixes problems:
|
|
|
4282 |
- A change from char to byte needed to be undone (gcc didn't catch
|
|
|
4283 |
this). (iutil.c)
|
|
|
4284 |
|
|
|
4285 |
Adds a 167x167 stochastic halftone that CalComp put in the public domain.
|
|
|
4286 |
(lib/ht_ccbnm.ps, int.mak, unixinst.mak)
|
|
|
4287 |
|
|
|
4288 |
Updates the interpreter for the change to per-VM-spaces garbage collection.
|
|
|
4289 |
(igc.h, ialloc.c, icontext.c, igc.c, ilocate.c, imain.c, interp.c,
|
|
|
4290 |
ireclaim.c, isave.c, zfile.c, zht.c, zht1.c, zht2.c)
|
|
|
4291 |
|
|
|
4292 |
Updates places that only use gsstruct.h for extern_st to use gsstype.h
|
|
|
4293 |
instead. (icontext.h, ifont.h)
|
|
|
4294 |
|
|
|
4295 |
</pre><h3><a name="5.83_Library"></a>Library</h3><pre>
|
|
|
4296 |
|
|
|
4297 |
Fixes problems:
|
|
|
4298 |
- Some types needed updating to reflect the change in the string
|
|
|
4299 |
freelists. (gsalloc.c, gsnogc.c)
|
|
|
4300 |
- clip_copy_color didn't initialize some variables in the fastest
|
|
|
4301 |
case. (bug probably introduced in 5.83) (gxclip.c)
|
|
|
4302 |
- The fit_fill_ and fit_copy_ macros didn't always parenthesize
|
|
|
4303 |
their dev argument. (gxdevice.h)
|
|
|
4304 |
- The sample_load macros returned the wrong results for depth 1 and
|
|
|
4305 |
2. Amazingly enough, it appears that this case had never been used.
|
|
|
4306 |
(gsbitops.h)
|
|
|
4307 |
- The standard allocator would free chunks even if is_controlled was
|
|
|
4308 |
true. (gsalloc.c)
|
|
|
4309 |
- Stroking drew semicircles rather than full circles for round
|
|
|
4310 |
joins. (gxstroke.c)
|
|
|
4311 |
- The calculation of how finely to sample a curve to achieve a
|
|
|
4312 |
particular flatness didn't take line width into account when stroking (the
|
|
|
4313 |
flatness has to apply to the outside of the stroked curve). (gxpath.h,
|
|
|
4314 |
gxpcopy.c, gxstroke.c)
|
|
|
4315 |
|
|
|
4316 |
Speeds up the bbox device a little. (gdevbbox.c)
|
|
|
4317 |
|
|
|
4318 |
Speeds up the most common cases of clipping a little. (gxclip.h,
|
|
|
4319 |
gxacpath.c, gxclip.c)
|
|
|
4320 |
|
|
|
4321 |
Makes halftone orders more "object-oriented", so we can use an alternate
|
|
|
4322 |
representation that trades time for space. This requires a
|
|
|
4323 |
NON-BACKWARD-COMPATIBLE CHANGE in the gx_ht_order structure and the
|
|
|
4324 |
arguments of gx_ht_alloc_[ht_]order. (gxcldev.h, gxdht.h, gzht.h, gsht.c,
|
|
|
4325 |
gsht1.c, gshtscr.c, gshtx.c, gsistate.c, gxcht.c, gxclimag.c, gxclrast.c,
|
|
|
4326 |
gxht.c, gxhtbit.c)
|
|
|
4327 |
|
|
|
4328 |
Makes it possible to compile-in halftone threshold arrays and orders (e.g.,
|
|
|
4329 |
in ROM) so they don't take up RAM at execution time. (gscdefs.h, gxdht.h,
|
|
|
4330 |
gxdhtres.h, gzht.h, gconf.c, gsht.c, gsht1.c, gxclrast.c, gxhtbit.c)
|
|
|
4331 |
|
|
|
4332 |
Adds some statistics to the 24-bit memory device (in DEBUG mode only, as
|
|
|
4333 |
usual). (gdevm24.c)
|
|
|
4334 |
|
|
|
4335 |
Makes the 24-bit memory device optionally use memcpy for wide rectangle
|
|
|
4336 |
fills. We thought this got us a factor of 3 speedup on a Pentium with gcc's
|
|
|
4337 |
library, but it turned out to be a profiler artifact. (gdevm24.c)
|
|
|
4338 |
|
|
|
4339 |
Cleans up some formatting. (gxclip.h)
|
|
|
4340 |
|
|
|
4341 |
Dusts off the run-length-encoded memory device, changing it so it reverts to
|
|
|
4342 |
the unencoded representation when necessary. This code hasn't been tested,
|
|
|
4343 |
and is not currently used. (gdevmrun.h, gdevrun.c [deleted], gdevmrun.c)
|
|
|
4344 |
|
|
|
4345 |
Adds more statistics to the clipping device. (gxclip.c)
|
|
|
4346 |
|
|
|
4347 |
Adds an implementation of the MD5 Algorithm defined in RFC 1321, derived
|
|
|
4348 |
directly from the text of the RFC and not from the reference implementation.
|
|
|
4349 |
This code uses the zlib license, which is more liberal than the Aladdin or
|
|
|
4350 |
GNU licenses. (md5.h, md5.c)
|
|
|
4351 |
|
|
|
4352 |
Finishes implementing the planar memory device, including generalizing it to
|
|
|
4353 |
store varying numbers of bits per plane rather than 1 bit per plane.
|
|
|
4354 |
(gdevmem.h, gdevmpla.h, gxdevmem.h, gdevmem.c, gdevmpla.c)
|
|
|
4355 |
|
|
|
4356 |
Updates clients to initialize memory devices more fully, now required to
|
|
|
4357 |
distinguish chunky from planar devices. (gxpcmap.c)
|
|
|
4358 |
|
|
|
4359 |
Mostly implements enhancing printer / banded devices so they can use a
|
|
|
4360 |
planar memory device for rendering and/or band buffering. The code
|
|
|
4361 |
currently works only in the non-banded case. (gdevprn.h, gxclist.h,
|
|
|
4362 |
gxdevbuf.h, gxdevcli.h, gdevprn.c, gxclist.c, gxclread.c)
|
|
|
4363 |
|
|
|
4364 |
For testing, adds a -dUsePlanarBuffer=<boolean> parameter to the PPM devices
|
|
|
4365 |
to make them use a planar memory device. (gdevpbm.c)
|
|
|
4366 |
|
|
|
4367 |
Cleans up some code formatting. (gdevmem.c)
|
|
|
4368 |
|
|
|
4369 |
Makes the garbage collection procedure separately settable for each group of
|
|
|
4370 |
VM spaces. (In an environment with "async" rendering, the renderer has its
|
|
|
4371 |
owm VM space group.) Unfortunately, this involved a NON-BACKWARD-COMPATIBLE
|
|
|
4372 |
change in the vm_spaces structure. (gsgc.h, gsnogc.h, gsnogc.c)
|
|
|
4373 |
|
|
|
4374 |
Updates a client for the change in gs_reclaim; also makes the renderer
|
|
|
4375 |
thread use the non-tracing garbage collector. (gdevprna.c)
|
|
|
4376 |
|
|
|
4377 |
Updates the non-tracing GC to reflect its role as a garbage collection
|
|
|
4378 |
procedure in a vm_spaces. (gsnogc.c)
|
|
|
4379 |
|
|
|
4380 |
Enhances the non-tracing GC so that if a chunk ever contains no strings, the
|
|
|
4381 |
string marking area reserved for the tracing GC is added to free space.
|
|
|
4382 |
(gxalloc.h, gsalloc.c, gsnogc.c)
|
|
|
4383 |
|
|
|
4384 |
Changes the font cache allocator to use a different structure descriptor for
|
|
|
4385 |
its data so that memory dumps will show "font cache bytes" rather than just
|
|
|
4386 |
"bytes". (gxccman.c)
|
|
|
4387 |
|
|
|
4388 |
Splits gsstruct.h into gsstype.h, which contains enough of the definition of
|
|
|
4389 |
structure type descriptors to support extern_st, and gsstruct.h, which is
|
|
|
4390 |
needed to actually define structure types. (gsstruct.h, gsstype.h,
|
|
|
4391 |
gxfmap.h)
|
|
|
4392 |
|
|
|
4393 |
Updates places that only use gsstruct.h for extern_st to use gsstype.h
|
|
|
4394 |
instead. (gsbitmap.h, gsccolor.h, gscie.h, gxfont.h, gzpath.h, scommon.h,
|
|
|
4395 |
gscdevn.c, gscrd.c, gscrdp.c, gsshade.c, gxpath2.c)
|
|
|
4396 |
|
|
|
4397 |
</pre>
|
|
|
4398 |
|
|
|
4399 |
<hr>
|
|
|
4400 |
|
|
|
4401 |
<h2><a name="Version5.82"></a>Version 5.82 (tester) (4/24/99)</h2>
|
|
|
4402 |
|
|
|
4403 |
<p>
|
|
|
4404 |
This fileset fixes a few odds and ends, removes a couple more writable
|
|
|
4405 |
statics, and improves performance in a couple of areas.
|
|
|
4406 |
|
|
|
4407 |
<h3><a name="5.82_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
4408 |
|
|
|
4409 |
(Interpreter)
|
|
|
4410 |
- dict_uid_param now takes an additional argument, the interpreter
|
|
|
4411 |
context pointer.
|
|
|
4412 |
- obj_cvp now takes a stream rather than a string.
|
|
|
4413 |
|
|
|
4414 |
</pre><h3><a name="5.82_Documentation"></a>Documentation</h3><pre>
|
|
|
4415 |
|
|
|
4416 |
Documents the -dGraphicsAlphaBits and -dTextAlphaBits switches; reorganizes
|
|
|
4417 |
the documentation of the -d/-s switches by function. (doc/Use.htm)
|
|
|
4418 |
|
|
|
4419 |
</pre><h3><a name="5.82_Procedures"></a>Procedures</h3><pre>
|
|
|
4420 |
|
|
|
4421 |
Fixes problems:
|
|
|
4422 |
- Building with MSVC didn't work if COMPILE_INITS was selected.
|
|
|
4423 |
(msvctail.mak)
|
|
|
4424 |
- The cp script didn't work on all MS-DOS systems, since the systems
|
|
|
4425 |
are incompatible with each other in undocumented ways. (cp.bat)
|
|
|
4426 |
- Using ^ in a command line failed on Windows 98. (wccommon.mak)
|
|
|
4427 |
- Watcom compilation under Windows NT didn't include some needed
|
|
|
4428 |
headers. (wccommon.mak)
|
|
|
4429 |
- The Watcom compiler's quoting requirements were inconsistent.
|
|
|
4430 |
(gs.mak)
|
|
|
4431 |
- GLCCWIN was used without being defined. The MS DOS/Windows
|
|
|
4432 |
makefiles really are a tangled mess.... (watc.mak)
|
|
|
4433 |
- The build directories didn't get created automatically when
|
|
|
4434 |
compiling with the Watcom compiler. (watc.mak)
|
|
|
4435 |
|
|
|
4436 |
Adds more optimization switches for Watcom compilation. (wccommon.mak)
|
|
|
4437 |
|
|
|
4438 |
</pre><h3><a name="5.82_Utilities"></a>Utilities</h3><pre>
|
|
|
4439 |
|
|
|
4440 |
Adds a pfbtopfa script. (unixinst.mak, lib/pfbtopfa, lib/pfbtopfa.bat,
|
|
|
4441 |
lib/pfbtopfa.ps)
|
|
|
4442 |
|
|
|
4443 |
</pre><h3><a name="5.82_Drivers"></a>Drivers</h3><pre>
|
|
|
4444 |
|
|
|
4445 |
Fixes problems:
|
|
|
4446 |
- "Vector" drivers (currently only the PCL XL driver) filled
|
|
|
4447 |
polygons incorrectly. (gdevvec.c)
|
|
|
4448 |
- The PCL XL drivers produced incorrect output for images. (We
|
|
|
4449 |
can't understand how they ever could have worked.) (gdevpx.c)
|
|
|
4450 |
- The PCL XL drivers skipped blank pages. (gdevpx.c)
|
|
|
4451 |
- The page origin for the clj driver was set incorrectly. (fix from
|
|
|
4452 |
Artifex) (gdevclj.c)
|
|
|
4453 |
- The map_color_rgb procedure for the 32-bit CMYK bmp device was
|
|
|
4454 |
wrong, causing RasterOps to produce incorrect output. (fix from Artifex)
|
|
|
4455 |
(gdevbmp.c)
|
|
|
4456 |
|
|
|
4457 |
Works around a bug in Acrobat Reader's Print command, by changing the
|
|
|
4458 |
scaling for bitmap patterns. (gdevpdfi.c)
|
|
|
4459 |
|
|
|
4460 |
Cleans up some formatting and macros. (gdevpx.c)
|
|
|
4461 |
|
|
|
4462 |
Factors out some common parameter-putting utilities. (gdevpsdf.h,
|
|
|
4463 |
gdevpdfp.c, gdevpsdp.c)
|
|
|
4464 |
|
|
|
4465 |
</pre><h3><a name="5.82_Platforms"></a>Platforms</h3><pre>
|
|
|
4466 |
|
|
|
4467 |
Fixes problems:
|
|
|
4468 |
- The DLL code "knew" it could only be compiled on Windows and OS/2
|
|
|
4469 |
platforms. (gsdll.c)
|
|
|
4470 |
|
|
|
4471 |
Removes a Mac-specific file that is now moved to the Mac-specific archive.
|
|
|
4472 |
(gsdllmac.h [deleted])
|
|
|
4473 |
|
|
|
4474 |
</pre><h3><a name="5.82_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
4475 |
|
|
|
4476 |
Fixes problems:
|
|
|
4477 |
- An invalidaccess could occur when repositioning the file after
|
|
|
4478 |
executing an image XObject. (lib/pdf_draw.ps)
|
|
|
4479 |
- Indexed color spaces gave an error if the underlying space was
|
|
|
4480 |
represented as a name rather than an array. (bug introduced in 5.80)
|
|
|
4481 |
(lib/pdf_draw.ps)
|
|
|
4482 |
|
|
|
4483 |
</pre><h3><a name="5.82_Interpreter"></a>Interpreter</h3><pre>
|
|
|
4484 |
|
|
|
4485 |
Fixes problems:
|
|
|
4486 |
- The interpreter reentrancy changes broke the GNU readline
|
|
|
4487 |
interface. (gp_gnrdl.c, ziodev.c)
|
|
|
4488 |
- The TrappingType resource category wasn't defined.
|
|
|
4489 |
(lib/gs_res.ps, lib/gs_trap.ps)
|
|
|
4490 |
- CIE color spaces in shading patterns didn't work. (lib/gs_ll3.ps)
|
|
|
4491 |
- Printing a string of more than 200 characters with == was broken.
|
|
|
4492 |
Fixing this required a NON-BACKWARD-COMPATIBLE change in the argument list
|
|
|
4493 |
of obj_cvp. (bug introduced in 5.80) (iutil.h, gp_gnrdl.c, idebug.c,
|
|
|
4494 |
iutil.c, zfileio.c)
|
|
|
4495 |
|
|
|
4496 |
Changes the interpreter trace output to be somewhat more readable.
|
|
|
4497 |
(interp.c)
|
|
|
4498 |
|
|
|
4499 |
Makes the linking of the binary token scanning procedure static rather than
|
|
|
4500 |
dynamic. (int.mak, inobtokn.c, iscan.c, zbseq.c)
|
|
|
4501 |
|
|
|
4502 |
Makes the language level a property of the context, eliminating a writable
|
|
|
4503 |
static. (icstate.h, idparam.h, ilevel.h, icontext.c, idparam.c, iinit.c,
|
|
|
4504 |
interp.c, zcontext.c, zmisc2.c)
|
|
|
4505 |
|
|
|
4506 |
Updates clients for the change in dict_uid_param. (zbfont.c, zfcmap.c,
|
|
|
4507 |
zpcolor.c, zshade.c)
|
|
|
4508 |
|
|
|
4509 |
</pre><h3><a name="5.82_Library"></a>Library</h3><pre>
|
|
|
4510 |
|
|
|
4511 |
Fixes problems:
|
|
|
4512 |
- There was a signed/unsigned char * mismatch. (sfxfd.c)
|
|
|
4513 |
- Some very picky compilers complained inappropriately about a
|
|
|
4514 |
const/non-const mismatch. (gxcht.c)
|
|
|
4515 |
- The format of the string freelists didn't allow chunks with more
|
|
|
4516 |
than 64K bytes of string area. (gxalloc.h, gsnogc.c)
|
|
|
4517 |
|
|
|
4518 |
Moves the interface definitions for the memory dump debugging code into a
|
|
|
4519 |
header file. (gxalloc.h, gsalloc.c)
|
|
|
4520 |
|
|
|
4521 |
Makes the standard memory manager recognize more effectively when it can
|
|
|
4522 |
reset the high-water mark for occupied space in the current chunk. This
|
|
|
4523 |
turns out to make a big difference in preventing sandbars. (gxalloc.h,
|
|
|
4524 |
gsalloc.c)
|
|
|
4525 |
|
|
|
4526 |
Makes clipping lists keep track of their minimum and maximum X values, so
|
|
|
4527 |
that they can return accurate outer clipping boxes, which in turn allows
|
|
|
4528 |
more effective pre-clipping of filled regions. (gxcpath.h, gxacpath.c,
|
|
|
4529 |
gxclip.c, gxcpath.c)
|
|
|
4530 |
|
|
|
4531 |
Makes clipping devices cache their clipping box, so they can return it
|
|
|
4532 |
quickly. (gxcpath.h, gxclip.c)
|
|
|
4533 |
|
|
|
4534 |
Makes the colored halftone logic check bounding boxes before running the
|
|
|
4535 |
expensive algorithms. This improves performance dramatically for some files
|
|
|
4536 |
without costing much for the rest. (gxcht.c)
|
|
|
4537 |
|
|
|
4538 |
Adds some more debugging printout for clipping lists. (gxcpath.c)
|
|
|
4539 |
|
|
|
4540 |
Cleans up formatting and macros. (gdevdflt.c, gdevhit.c, gdevnfwd.c)
|
|
|
4541 |
|
|
|
4542 |
Factors out some common parameter-putting utilities. (gsparamx.h,
|
|
|
4543 |
gsparamx.c, gstrap.c)
|
|
|
4544 |
|
|
|
4545 |
Adds some more tracing output for images. (gxidata.c)
|
|
|
4546 |
|
|
|
4547 |
</pre>
|
|
|
4548 |
|
|
|
4549 |
<hr>
|
|
|
4550 |
|
|
|
4551 |
<h2><a name="Version5.81"></a>Version 5.81 (tester) (4/14/99)</h2>
|
|
|
4552 |
|
|
|
4553 |
<p>
|
|
|
4554 |
This fileset cleans up most of the bug tail from 5.80, but it doesn't fix
|
|
|
4555 |
all the reported problems. It also factors out the platform-specific DLL
|
|
|
4556 |
calls, and extends the DLL API to the Mac.
|
|
|
4557 |
|
|
|
4558 |
<h3><a name="5.81_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
4559 |
|
|
|
4560 |
(Platforms)
|
|
|
4561 |
- gsdll_get_bitmap is now defined in gsdllos2.h; gsdll_copy_dib,
|
|
|
4562 |
_copy_palette, _draw, and _get_bitmap_row are now defined in gsdllwin.h.
|
|
|
4563 |
|
|
|
4564 |
(Interpreter)
|
|
|
4565 |
- zcolor_remap_one may return 0 rather than o_push_estack. (This
|
|
|
4566 |
change actually occurred in 5.80, but was not documented.)
|
|
|
4567 |
|
|
|
4568 |
(Library)
|
|
|
4569 |
- The initialized parameters of an image scaling filter are now
|
|
|
4570 |
stored in a subsidiary structure.
|
|
|
4571 |
- The names max_support and log2_max_support are changed to
|
|
|
4572 |
MAX_ISCALE_SUPPORT and LOG2_MAX_ISCALE_SUPPORT.
|
|
|
4573 |
- The structure definition for the smoothed image scaling filter is
|
|
|
4574 |
now private, although its descriptor remains public.
|
|
|
4575 |
- The criteria for when to use Interpolate are now more stringent.
|
|
|
4576 |
|
|
|
4577 |
</pre><h3><a name="5.81_Procedures"></a>Procedures</h3><pre>
|
|
|
4578 |
|
|
|
4579 |
Fixes problems:
|
|
|
4580 |
- gs_trap.ps wasn't installed by `make install'. (unixinst.mak)
|
|
|
4581 |
- A semicolon was missing in one definition of GS_LIB_DEFAULT.
|
|
|
4582 |
(watc.mak)
|
|
|
4583 |
- ll.tr and _temp_.tr weren't created in the obj directory.
|
|
|
4584 |
(watc.mak, wctail.mak)
|
|
|
4585 |
- RM_ was defined incorrectly on one platform. (wccommon.mak)
|
|
|
4586 |
|
|
|
4587 |
</pre><h3><a name="5.81_Utilities"></a>Utilities</h3><pre>
|
|
|
4588 |
|
|
|
4589 |
Makes some minor edits in ansi2knr, contributed by a user, to remove gcc
|
|
|
4590 |
warnings. (ansi2knr.c)
|
|
|
4591 |
|
|
|
4592 |
</pre><h3><a name="5.81_Drivers"></a>Drivers</h3><pre>
|
|
|
4593 |
|
|
|
4594 |
Fixes problems:
|
|
|
4595 |
- There was an int/uint mismatch. (gdevbmpa.c)
|
|
|
4596 |
- There was a const/non-const mismatch. (gdevbmpa.c)
|
|
|
4597 |
|
|
|
4598 |
Changes the p*m drivers so that they use the default color mapper when
|
|
|
4599 |
possible, speeding up execution. (gdevpbm.c)
|
|
|
4600 |
|
|
|
4601 |
</pre><h3><a name="5.81_Fonts"></a>Fonts</h3><pre>
|
|
|
4602 |
|
|
|
4603 |
Adds Black as indicating that a bold font should be substituted if
|
|
|
4604 |
necessary. (lib/gs_fonts.ps)
|
|
|
4605 |
|
|
|
4606 |
</pre><h3><a name="5.81_Platforms"></a>Platforms</h3><pre>
|
|
|
4607 |
|
|
|
4608 |
Fixes problems:
|
|
|
4609 |
- The Watcom NT compiler implements setmode and fileno but not
|
|
|
4610 |
_setmode and _fileno. (gp_ntfs.c)
|
|
|
4611 |
- The procedure parameter passed to the Windows _beginthread
|
|
|
4612 |
procedure had the wrong prototype. (gp_win32.c)
|
|
|
4613 |
- Watcom's _beginthread procedure takes an extra argument.
|
|
|
4614 |
(windows_.h, gp_win32.c)
|
|
|
4615 |
|
|
|
4616 |
Extends the DLL API to work on the Mac. This required some restructuring of
|
|
|
4617 |
the code, and some NON-BACKWARD-COMPATIBLE changes to move
|
|
|
4618 |
environment-specific calls into environment-specific header files.
|
|
|
4619 |
(pcwin.mak, os2.mak, winint.mak, dwdll.h, gsdll.h, gsdllmac.h, gsdllos2.h,
|
|
|
4620 |
gsdllwin.h, dpmainc.c, dwdll.cpp, dwnodll.cpp, gdevmswn.c, gdevpm.c,
|
|
|
4621 |
gdevwdib.c, gsdll.c)
|
|
|
4622 |
|
|
|
4623 |
</pre><h3><a name="5.81_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
4624 |
|
|
|
4625 |
Changes the interpreter to handle two more specification-violating
|
|
|
4626 |
conditions that Adobe Acrobat accepts: truncation of %%EOF to %%EO, and use
|
|
|
4627 |
of Dest links with no Dests dictionary. (lib/pdf_main.ps)
|
|
|
4628 |
|
|
|
4629 |
</pre><h3><a name="5.81_Interpreter"></a>Interpreter</h3><pre>
|
|
|
4630 |
|
|
|
4631 |
Fixes problems:
|
|
|
4632 |
- gcc failed to flag initialization of an automatic aggregate, which
|
|
|
4633 |
is allowed in neither ANSI nor traditional C. (iutil.c)
|
|
|
4634 |
- The system name table lacked the last 3 entries.
|
|
|
4635 |
(lib/gs_btokn.ps)
|
|
|
4636 |
- Interpolated images always wound up at (0, 0). (bug introduced in
|
|
|
4637 |
5.80) (gxipixel.c)
|
|
|
4638 |
- The Watcom compiler didn't consider "const uint" and "const
|
|
|
4639 |
unsigned" to be compatible. (ifunc.h)
|
|
|
4640 |
- The code to detect identity transfer functions could cause
|
|
|
4641 |
transfer functions not to be processed at all. (icolor.h, zcolor.c,
|
|
|
4642 |
zcolor1.c, zht2.c)
|
|
|
4643 |
- The Level 2 redefinition of restore could do an extra grestore,
|
|
|
4644 |
possibly creating a temporary reference to a freed object. (zdevice2.c)
|
|
|
4645 |
|
|
|
4646 |
Adds more tracing for undo-saves, and changes a macro to a procedure.
|
|
|
4647 |
(isave.c)
|
|
|
4648 |
|
|
|
4649 |
Removes some #define'd casts. (isave.c)
|
|
|
4650 |
|
|
|
4651 |
</pre><h3><a name="5.81_Library"></a>Library</h3><pre>
|
|
|
4652 |
|
|
|
4653 |
Fixes problems:
|
|
|
4654 |
- When banding, the color space wasn't reinitialized for each page.
|
|
|
4655 |
(gxclist.c)
|
|
|
4656 |
- The criterion for allowing image interpolation still produced
|
|
|
4657 |
"mush" for some important classes of image. (gxiscale.c)
|
|
|
4658 |
- The Watcom compiler didn't consider "const uint" and "const
|
|
|
4659 |
unsigned" to be compatible. (gscdefs.h, gconf.c)
|
|
|
4660 |
- Identity black generation and undercolor removal functions weren't
|
|
|
4661 |
passed through the band list correctly. (gxcldev.h, gxclbits.c, gxclrast.c)
|
|
|
4662 |
- Once again, gcc failed to give a warning for extern followed by
|
|
|
4663 |
private. (gxcdevn.h)
|
|
|
4664 |
- glyphshow set up the text operation in a way that created a
|
|
|
4665 |
garbage collector error. (gschar.c)
|
|
|
4666 |
|
|
|
4667 |
Makes gs_opendevice complete the device procedure vector if the device
|
|
|
4668 |
wasn't already open. (gsdevice.c)
|
|
|
4669 |
|
|
|
4670 |
Factors out the image scaling filter so that we can use either Adobe's
|
|
|
4671 |
algorithm or the Mitchell filter. This involves a NON-BACKWARD-COMPATIBLE
|
|
|
4672 |
CHANGE in the way the filter parameters are defined. (gximage.h, siscale.h,
|
|
|
4673 |
sisparam.h, gxclimag.c, gxidata.c, gxiscale.c, siscale.c)
|
|
|
4674 |
|
|
|
4675 |
Makes the criteria for when to use interpolation stricter, since we are
|
|
|
4676 |
still using the Mitchell filter. (gxiscale.c)
|
|
|
4677 |
|
|
|
4678 |
Starts to implement Adobe's image interpolation algorithm. (siinterp.h,
|
|
|
4679 |
siinterp.c, gxiscale.c)
|
|
|
4680 |
|
|
|
4681 |
Speeds up RGB interpolated images by detecting runs of output color.
|
|
|
4682 |
(gxiscale.c)
|
|
|
4683 |
|
|
|
4684 |
Makes the default RGB color mapper a "known" mapper that can be propagated
|
|
|
4685 |
through device pipelines. (gxdevice.h, gsdevice.c)
|
|
|
4686 |
|
|
|
4687 |
</pre>
|
|
|
4688 |
|
|
|
4689 |
<hr>
|
|
|
4690 |
|
|
|
4691 |
<h2><a name="Version5.80"></a>Version 5.80 (tester) (4/6/99)</h2>
|
|
|
4692 |
|
|
|
4693 |
<p>
|
|
|
4694 |
This version contains the first, and, we hope, largest wave of changes in
|
|
|
4695 |
the interpreter required to make the interpreter fully reentrant.
|
|
|
4696 |
Unfortunately, many externally visible APIs, including the argument list for
|
|
|
4697 |
operator procedures, required changes.
|
|
|
4698 |
|
|
|
4699 |
<p>
|
|
|
4700 |
Because of the magnitude of the change, we incremented the version number to
|
|
|
4701 |
5.80.
|
|
|
4702 |
|
|
|
4703 |
<p>
|
|
|
4704 |
The non-backward-compatible API changes were confined to the interpreter:
|
|
|
4705 |
the (very minor) changes to the library required to support interpreter
|
|
|
4706 |
reentrancy are fully backward-compatible.
|
|
|
4707 |
|
|
|
4708 |
<p>
|
|
|
4709 |
This fileset also implements DeviceN color spaces (always using the
|
|
|
4710 |
alternate space), including Indexed spaces over DeviceN spaces, for all uses
|
|
|
4711 |
except smooth shading.
|
|
|
4712 |
|
|
|
4713 |
<h3><a name="5.80_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
4714 |
|
|
|
4715 |
(Interpreter)
|
|
|
4716 |
- names_init now takes a gs_ref_memory_t * rather than a gs_memory_t
|
|
|
4717 |
*.
|
|
|
4718 |
- type_print_strings, type_name_strings, and
|
|
|
4719 |
ref_type_properties_data are now REF_TYPE_DEBUG_PRINT_STRINGS,
|
|
|
4720 |
REF_TYPE_NAME_STRINGS, and REF_TYPE_PROPERTIES_DATA.
|
|
|
4721 |
- The undocumented .writecvp operator, and obj_cvp, now take an
|
|
|
4722 |
integer instead of a Boolean to define the type of output desired.
|
|
|
4723 |
- The argument list for operators is changed from os_ptr to
|
|
|
4724 |
i_ctx_t *. Many internal interpreter APIs have changed.
|
|
|
4725 |
- The typedef name for operator procedures is changed from op_proc_p
|
|
|
4726 |
to op_proc_t.
|
|
|
4727 |
- gs_interpret now takes an additional context (i_ctx_t **)
|
|
|
4728 |
argument.
|
|
|
4729 |
- The interpreter's rescheduling and time-slicing procedures,
|
|
|
4730 |
gs_interp_reschedule_proc and gs_interp_time_slice_proc, now take a context
|
|
|
4731 |
(i_ctx_t **) argument.
|
|
|
4732 |
- The Type 1 interpreter push_value callback is renamed push_values;
|
|
|
4733 |
the first argument of push_values and pop_value has changed from
|
|
|
4734 |
gs_font_type1 * to void *.
|
|
|
4735 |
- dict_put*, dict_copy*, dict_undef, dict_resize, dict_grow, and
|
|
|
4736 |
dict_unpack now take an additional argument, a dictionary stack where the
|
|
|
4737 |
dictionary may be present.
|
|
|
4738 |
|
|
|
4739 |
</pre><h3><a name="5.80_Procedures"></a>Procedures</h3><pre>
|
|
|
4740 |
|
|
|
4741 |
Fixes problems:
|
|
|
4742 |
- The dependency list for the (dummy) trapping feature was wrong.
|
|
|
4743 |
(int.mak)
|
|
|
4744 |
- The directory for jerror_.h was incorrect. (jpeg.mak)
|
|
|
4745 |
|
|
|
4746 |
Removes the never-used -header switch from genconf. (genconf.c)
|
|
|
4747 |
|
|
|
4748 |
Adds priority-sorted resources to genconf, currently used only for image
|
|
|
4749 |
classes. (genconf.c)
|
|
|
4750 |
|
|
|
4751 |
Adds an imageclass resource to genconf, for what used to be called image
|
|
|
4752 |
strategies. (genconf.c)
|
|
|
4753 |
|
|
|
4754 |
</pre><h3><a name="5.80_Utilities"></a>Utilities</h3><pre>
|
|
|
4755 |
|
|
|
4756 |
Fixes problems:
|
|
|
4757 |
- ansi2knr didn't recognize id1(id2, xxxxx) as not being a function.
|
|
|
4758 |
(ansi2knr.c)
|
|
|
4759 |
- viewpcx still referred to the deleted PCXDecode filter.
|
|
|
4760 |
(lib/viewpcx.ps)
|
|
|
4761 |
- strlen was called without being declared. (genarch.c)
|
|
|
4762 |
|
|
|
4763 |
</pre><h3><a name="5.80_Drivers"></a>Drivers</h3><pre>
|
|
|
4764 |
|
|
|
4765 |
Fixes problems:
|
|
|
4766 |
- Some drivers that called gdev_prn_open_printer didn't check the
|
|
|
4767 |
return code for errors. (gdevdjet.c, gdevhl7x.c)
|
|
|
4768 |
- The cljet5 driver didn't handle long-edge feed properly. (from
|
|
|
4769 |
Artifex) (gdevclj.c)
|
|
|
4770 |
- The [e]pswrite driver could produce incorrect output if the input
|
|
|
4771 |
file had zero-length lines. (gdevps.c)
|
|
|
4772 |
- The X driver didn't handle byte-swapped 16-bit displays.
|
|
|
4773 |
(gdevx.c)
|
|
|
4774 |
- There was an int/uint mismatch. (gdevbmp.c)
|
|
|
4775 |
- Some needed headers weren't included. (gdevdcrd.c, gdevpdfo.c)
|
|
|
4776 |
- The updated mswinpr2 driver wouldn't compile with older Windows
|
|
|
4777 |
header files. (gdevwpr2.c)
|
|
|
4778 |
|
|
|
4779 |
Removes some unnecessary #includes. (gdevps.c)
|
|
|
4780 |
|
|
|
4781 |
Adds user-contributed drivers for the CoStar LabelWriter II Plus and XL
|
|
|
4782 |
label printers. (gdevcslw.c)
|
|
|
4783 |
|
|
|
4784 |
Speeds up color mapping for the bitrgb driver a little, by using the default
|
|
|
4785 |
procedure. (gdevbit.c)
|
|
|
4786 |
|
|
|
4787 |
</pre><h3><a name="5.80_Fonts"></a>Fonts</h3><pre>
|
|
|
4788 |
|
|
|
4789 |
Fixes problems:
|
|
|
4790 |
- TrueType fonts with odd-length glyf definitions caused an
|
|
|
4791 |
invalidfont error. (lib/gs_ttf.ps)
|
|
|
4792 |
|
|
|
4793 |
Changes the font substitution mechanism slightly to be more useful to the
|
|
|
4794 |
PDF interpreter. (lib/gs_fonts.ps)
|
|
|
4795 |
|
|
|
4796 |
</pre><h3><a name="5.80_Platforms"></a>Platforms</h3><pre>
|
|
|
4797 |
|
|
|
4798 |
Fixes problems:
|
|
|
4799 |
- Some needed headers weren't included. (watc.mak, watclib.mak,
|
|
|
4800 |
winlib.mak, gp_win32.c)
|
|
|
4801 |
|
|
|
4802 |
</pre><h3><a name="5.80_Interpreter"></a>Interpreter</h3><pre>
|
|
|
4803 |
|
|
|
4804 |
Fixes problems:
|
|
|
4805 |
- There were many signed/unsigned char type errors that gcc didn't
|
|
|
4806 |
catch. (gp_gnrdl.c)
|
|
|
4807 |
- The operator definition list for zdouble was too long. (int.mak,
|
|
|
4808 |
zdouble.c)
|
|
|
4809 |
|
|
|
4810 |
Removes some unnecessary #includes. (zchar.c)
|
|
|
4811 |
|
|
|
4812 |
Speeds up names_string_ref. (inamedef.h, inames.h, imain.c, iname.c)
|
|
|
4813 |
|
|
|
4814 |
Speeds up reading string/name array parameters. (iparam.c)
|
|
|
4815 |
|
|
|
4816 |
Refactors the implementation of ==, so that all types other than arrays and
|
|
|
4817 |
dictionaries are handled in C code. (lib/gs_init.ps, iutil.h, iref.h,
|
|
|
4818 |
gp_gnrdl.c, idebug.c, iutil.c, zfileio.c, ztype.c)
|
|
|
4819 |
|
|
|
4820 |
Changes the type name for operator procedures from op_proc_p to op_proc_t,
|
|
|
4821 |
for consistency and also to help detect places that need the argument list
|
|
|
4822 |
changed. (ichar.h, interp.h, iref.h, opdef.h, interp.c, iutil.c, zchar.c,
|
|
|
4823 |
zcharx.c, zcontrol.c, zupath.c)
|
|
|
4824 |
|
|
|
4825 |
Changes the argument type for operators from os_ptr to i_ctx_t *. (i_ctx_t
|
|
|
4826 |
is an alias for gs_context_state_t.) This also requires adding a context
|
|
|
4827 |
pointer to many internal procedures, or changing an os_ptr argument to
|
|
|
4828 |
i_ctx_t *. This is a MASSIVE NON-BACKWARD-COMPATIBLE change which we simply
|
|
|
4829 |
saw no way to avoid if the interpreter was to be made fully re-entrant. See
|
|
|
4830 |
"Incompatible changes" above for externally visible changes.
|
|
|
4831 |
(lib/gs_init.ps, bfont.h, btoken.h, dstack.h, estack.h, files.h, ichar.h,
|
|
|
4832 |
ichar1.h, icharout.h, icie.h, icolor.h, icontext.h, icsmap.h, ifilter.h,
|
|
|
4833 |
ifont1.h, igstate.h, iht.h, iimage.h, iimage2.h, imain.h, imemory.h,
|
|
|
4834 |
interp.h, ipacked.h, iref.h, iscan.h, istream.h, opdef.h, oper.h,
|
|
|
4835 |
opextern.h, ostack.h, ialloc.c, icontext.c, iinit.c, imain.c, inouparm.c,
|
|
|
4836 |
interp.c, ireclaim.c, iscan.c, iscanbin.c, zarith.c, zarray.c, zbfont.c,
|
|
|
4837 |
zbseq.c, zcfont.c, zchar.c, zchar1.c, zchar2.c, zchar32.c, zchar42.c,
|
|
|
4838 |
zcharout.c, zcharx.c, zcid.c, zcie.c, zcolor.c, zcolor1.c, zcolor2.c,
|
|
|
4839 |
zcontext.c, zcontrol.c, zcrd.c, zcsdevn.c, zcsindex.c, zcspixel.c,
|
|
|
4840 |
zcssepr.c, zdevice.c, zdevice2.c, zdict.c, zdosio.c, zdouble.c, zdpnext.c,
|
|
|
4841 |
zdps.c, zdps1.c, zfbcp.c, zfcmap.c, zfdctd.c, zfdcte.c, zfdecode.c, zfile.c,
|
|
|
4842 |
zfileio.c, zfilter.c, zfilter2.c, zfilterx.c, zfont.c, zfont0.c, zfont1.c,
|
|
|
4843 |
zfont2.c, zfont32.c, zfont42.c, zfproc.c, zfreuse.c, zfunc.c, zfzlib.c,
|
|
|
4844 |
zgeneric.c, zgstate.c, zhsb.c, zht.c, zht1.c, zht2.c, zimage.c, zimage2.c,
|
|
|
4845 |
zimage3.c, ziodev.c, ziodev2.c, zmath.c, zmatrix.c, zmedia2.c, zmisc.c,
|
|
|
4846 |
zmisc1.c, zmisc2.c, zmisc3.c, zpacked.c, zpaint.c, zpath.c, zpath1.c,
|
|
|
4847 |
zpcolor.c, zrelbit.c, zrop.c, zshade.c, zstack.c, zstring.c, zsysvm.c,
|
|
|
4848 |
ztoken.c, ztrap.c, ztype.c, zupath.c, zusparam.c, zvmem.c, zvmem2.c)
|
|
|
4849 |
|
|
|
4850 |
Changes caching for the interpreter's CIE color spaces so that instead of
|
|
|
4851 |
changing the color space installation procedure to one that schedules the
|
|
|
4852 |
sampling of the procedures though a back door, it leaves the installation
|
|
|
4853 |
procedure alone and schedules the sampling in the color-space-specific
|
|
|
4854 |
setcolorspace operator. This is needed for interpreter reentrancy.
|
|
|
4855 |
(icie.h, zcie.c, zcrd.c)
|
|
|
4856 |
|
|
|
4857 |
Makes the linkage from the dictionary machinery to the cached values in the
|
|
|
4858 |
dictionary stack and the name table explicit, by adding a dstack pointer to
|
|
|
4859 |
all the relevant dict_* procedures. This is needed for interpreter
|
|
|
4860 |
reentrancy. (iddstack.h, idict.h, idstack.h, idict.c)
|
|
|
4861 |
|
|
|
4862 |
Updates clients for the change in the dictionary API. For each changed
|
|
|
4863 |
dict_ procedure, we add an idict_ procedure that uses i_ctx_p->dict_stack as
|
|
|
4864 |
the additional argument. (iddict.h, icontext.c, iinit.c, interp.c,
|
|
|
4865 |
iparam.c, iscanbin.c, zdps.c, zfcmap.c, zdict.c, zfont.c, zfont0.c,
|
|
|
4866 |
zgeneric.c, zht2.c, zmisc2.c)
|
|
|
4867 |
|
|
|
4868 |
Changes Pattern color remapping so that it saves information in the
|
|
|
4869 |
interpreter's part of the graphics state, rather than manipulating the
|
|
|
4870 |
e-stack directly. This is needed for interpreter reentrancy. (errors.h,
|
|
|
4871 |
icremap.h, igstate.h, interp.c, zgstate.c, zpcolor.c)
|
|
|
4872 |
|
|
|
4873 |
Adds to the "main instance" structure a pointer to the currently executing
|
|
|
4874 |
context. This is needed for interpreter reentrancy. (imain.h, iminst.h,
|
|
|
4875 |
main.h, imain.c, imainarg.c)
|
|
|
4876 |
|
|
|
4877 |
Changes the argument list for operator initialization procedures from void
|
|
|
4878 |
to i_ctx_t *. (opdef.h, ireclaim.c, zbfont.c, zbseq.c, zcontext.c, zfile.c,
|
|
|
4879 |
zfont.c, zpcolor.c)
|
|
|
4880 |
|
|
|
4881 |
Changes the initialization of the interpreter's allocators so it doesn't
|
|
|
4882 |
presume the allocator structure is global. (ialloc.h, ialloc.c, imain.c)
|
|
|
4883 |
|
|
|
4884 |
Factors out the structure definition of the stacks, which is needed for
|
|
|
4885 |
defining the state of a context, from the API, which is only needed by
|
|
|
4886 |
actual clients. (icstate.h, idsdata.h, idstack.h, iesdata.h, iestack.h,
|
|
|
4887 |
iosdata.h, iostack.h, isdata.h, istack.h)
|
|
|
4888 |
|
|
|
4889 |
Changes filter error reporting so that the report_error procedure doesn't
|
|
|
4890 |
need access to the interpreter. (interp.h, interp.c, zfile.c, zfileio.c)
|
|
|
4891 |
|
|
|
4892 |
Completes the implementation of DeviceN color spaces at the interpreter
|
|
|
4893 |
level. (lib/gs_res.ps, lib/gs_lev2.ps, lib/gs_ll3.ps, icsmap.h, zcsdevn.c,
|
|
|
4894 |
zcsindex.c, zcssepr.c, zimage.c)
|
|
|
4895 |
|
|
|
4896 |
Speeds up color mapping for identity transfer, BG, or UCR functions.
|
|
|
4897 |
(zcolor.c)
|
|
|
4898 |
|
|
|
4899 |
</pre><h3><a name="5.80_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
4900 |
|
|
|
4901 |
Fixes problems:
|
|
|
4902 |
- The L range for Lab color spaces was wrong. (lib/pdf_draw.ps)
|
|
|
4903 |
- Images in Lab color spaces came out all black. (lib/pdf_draw.ps)
|
|
|
4904 |
|
|
|
4905 |
Improves the font substitution mechanism slightly. (lib/pdf_font.ps)
|
|
|
4906 |
|
|
|
4907 |
</pre><h3><a name="5.80_Streams"></a>Streams</h3><pre>
|
|
|
4908 |
|
|
|
4909 |
Adds an error string to the stream state structure, which stream
|
|
|
4910 |
implementations can set when returning an error. The motivation is to allow
|
|
|
4911 |
the PostScript interpreter to put this into $error.errorinfo. (scommon.h,
|
|
|
4912 |
stream.c)
|
|
|
4913 |
|
|
|
4914 |
</pre><h3><a name="5.80_Library"></a>Library</h3><pre>
|
|
|
4915 |
|
|
|
4916 |
Fixes problems:
|
|
|
4917 |
- The S_ISCHR fix in 5.73 had a typo. (stat_.h)
|
|
|
4918 |
- The garbage collector traced dash pattern pointers even if the
|
|
|
4919 |
pattern had no elements. (gzline.h, gsistate.c)
|
|
|
4920 |
- Always tracing the clip_path element of gx_device_clist for
|
|
|
4921 |
garbage collection could cause crashes, because this pointer could be stale.
|
|
|
4922 |
However, we have to trace this pointer if an image is being processed.
|
|
|
4923 |
(gxclist.c)
|
|
|
4924 |
- A close-brace was positioned incorrectly. (No effect on the
|
|
|
4925 |
working of the code.) (gximage3.c)
|
|
|
4926 |
- Some macros caused some compilers to complain about functions that
|
|
|
4927 |
didn't return values. (gsmemlok.c)
|
|
|
4928 |
- A procedure vector wasn't declared const. (gsmemlok.c)
|
|
|
4929 |
- Some needed headers weren't included. (gscrdp.c)
|
|
|
4930 |
- A const pointer was being treated as non-const. (gxcpath.c)
|
|
|
4931 |
- The algorithm for choosing halftone cell dimensions required an
|
|
|
4932 |
unreasonably close angle tolerance (0.01 degrees, rather than 1% of a
|
|
|
4933 |
90-degree possible difference). (gshtscr.c)
|
|
|
4934 |
|
|
|
4935 |
Speeds up arcs a little more. (gspath1.c)
|
|
|
4936 |
|
|
|
4937 |
Removes some unnecessary #includes. (gxclpath.h, gxcpath.h, gzcpath.h,
|
|
|
4938 |
gxccman.c, gxclip.c, gxcpath.c, gxi12bit.c, gxicolor.c, gxifast.c,
|
|
|
4939 |
gximono.c, gxiscale.c, gxpcmap.c)
|
|
|
4940 |
|
|
|
4941 |
Cleans up some formatting. (gxpath.c)
|
|
|
4942 |
|
|
|
4943 |
Re-enables image interpolation for images that have at least 8 bits of input
|
|
|
4944 |
data per pixel. This is still a compromise.... (gxiscale.c)
|
|
|
4945 |
|
|
|
4946 |
Enhances the default implementation of parameter lists so that a C parameter
|
|
|
4947 |
list can forward unrecognized param_read calls to another parameter list.
|
|
|
4948 |
This allows constructing incrementally modified parameter lists for internal
|
|
|
4949 |
purposes. (gsparam.h, gscparam.c)
|
|
|
4950 |
|
|
|
4951 |
Changes the first argument of the Type 1 charstring interpreter push_value
|
|
|
4952 |
(which is renamed push_values) and pop_value callbacks from the font pointer
|
|
|
4953 |
to an arbitrary pointer passed in to the interpreter. This is needed for
|
|
|
4954 |
PostScript interpreter reentrancy. (gstype1.h, gxfont1.h, gxtype1.h,
|
|
|
4955 |
gstype1.c, gxtype1.c)
|
|
|
4956 |
|
|
|
4957 |
Adds an allocator wrapper that calls a closure to attempt to free up memory
|
|
|
4958 |
if an allocation fails. This is used for asynchronous operation (waiting
|
|
|
4959 |
for the page queue to empty) and operation with an optional disk for the
|
|
|
4960 |
band list. (gsmemret.h, gsmemret.c)
|
|
|
4961 |
|
|
|
4962 |
Adds the retrying wrapper to the malloc allocator. (gsmalloc.c)
|
|
|
4963 |
|
|
|
4964 |
Makes "async" printer devices use the retrying wrapper. (gdevprna.c)
|
|
|
4965 |
|
|
|
4966 |
Makes clist_fill_parallelogram recognize rectangles. This makes a big
|
|
|
4967 |
difference for images rotated 90 degrees. (gsrect.h, gdevddrw.c,
|
|
|
4968 |
gxclpath.c)
|
|
|
4969 |
|
|
|
4970 |
Arranges to construct the list of image classes (formerly called strategies)
|
|
|
4971 |
statically rather than dynamically. (lib.mak, gscdefs.h, gxiclass.h,
|
|
|
4972 |
gximage.h, gconf.c, gxi12bit.c, gxicolor.c, gxifast.c, gximono.c,
|
|
|
4973 |
gxipixel.c, gxiscale.c)
|
|
|
4974 |
|
|
|
4975 |
Implements Indexed color spaces for high-level image banding. (gxclist.h,
|
|
|
4976 |
gxclpath.h, gxclimag.c, gxclrast.c)
|
|
|
4977 |
|
|
|
4978 |
Arranges to construct the blank bitmap for colored patterns statically
|
|
|
4979 |
rather than dynamically. (gsbitmap.h, gxbitmap.h, gxcht.c)
|
|
|
4980 |
|
|
|
4981 |
Changes FORCE_STRIP_HALFTONES from a #define to a static Boolean.
|
|
|
4982 |
(gshtscr.c)
|
|
|
4983 |
|
|
|
4984 |
Implements alternate-space DeviceN color spaces. (gscspace.h, gxcdevn.h,
|
|
|
4985 |
gscdevn.c)
|
|
|
4986 |
|
|
|
4987 |
Implements DeviceN color spaces for images. (gximage.h, gsimage.c,
|
|
|
4988 |
gxi12bit.c, gxicolor.c, gxidata.c, gximage3.c, gximono.c, gxipixel.c)
|
|
|
4989 |
|
|
|
4990 |
Speeds up color mapping a bit. (gxfmap.h, gsdevice.c, gsstate.c,
|
|
|
4991 |
gxclbits.c, gxclrast.c, gxcmap.c)
|
|
|
4992 |
|
|
|
4993 |
</pre>
|
|
|
4994 |
|
|
|
4995 |
<hr>
|
|
|
4996 |
|
|
|
4997 |
<h2><a name="Version5.73"></a>Version 5.73 (tester) (3/19/99)</h2>
|
|
|
4998 |
|
|
|
4999 |
<p>
|
|
|
5000 |
This fileset fixes a few bugs and adds a couple of minor performance
|
|
|
5001 |
improvements. Its purpose is to fix a fairly serious memory management bug
|
|
|
5002 |
and a Microsoft-platform compilation problem, both introduced in 5.72.
|
|
|
5003 |
|
|
|
5004 |
<h3><a name="5.73_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
5005 |
|
|
|
5006 |
(Library)
|
|
|
5007 |
- Removes the restriction on device registration that was introduced
|
|
|
5008 |
in 5.72.
|
|
|
5009 |
- gx_[c]path_scale_exp2 are replaced by gx_[c]path_scale_exp2_shared.
|
|
|
5010 |
|
|
|
5011 |
</pre><h3><a name="5.73_Documentation"></a>Documentation</h3><pre>
|
|
|
5012 |
|
|
|
5013 |
Identifies GNU readline support as user-contributed, and adds the author's
|
|
|
5014 |
name. (int.mak, unix-gcc.mak, gp_gnrdl.c)
|
|
|
5015 |
|
|
|
5016 |
Notes that an edit is required for GNU readline for AIX. (doc/Make.htm)
|
|
|
5017 |
|
|
|
5018 |
Changes the bug reporting e-mail address to bug-gs@aladdin.com.
|
|
|
5019 |
(doc/Bug-form.htm, doc/New-user.htm, doc/Use.htm, imainarg.c)
|
|
|
5020 |
|
|
|
5021 |
</pre><h3><a name="5.73_Procedures"></a>Procedures</h3><pre>
|
|
|
5022 |
|
|
|
5023 |
Adds FEATURE_DEVS_EXTRA and DEVICE_DEVS_EXTRA, reserved for setting from the
|
|
|
5024 |
command line. (gs.mak)
|
|
|
5025 |
|
|
|
5026 |
</pre><h3><a name="5.73_Drivers"></a>Drivers</h3><pre>
|
|
|
5027 |
|
|
|
5028 |
Fixes problems:
|
|
|
5029 |
- A needed cast was missing. (gdevx.c)
|
|
|
5030 |
|
|
|
5031 |
</pre><h3><a name="5.73_Interpreter"></a>Interpreter</h3><pre>
|
|
|
5032 |
|
|
|
5033 |
Fixes problems:
|
|
|
5034 |
- A needed cast was missing. (zfname.c)
|
|
|
5035 |
- The CFF loader didn't handle empty subsections correctly.
|
|
|
5036 |
(lib/gs_cff.ps)
|
|
|
5037 |
- GNU readline gave an error, rather than expanding the input
|
|
|
5038 |
buffer, when called in response to %lineedit. (files.h, zfileio.c,
|
|
|
5039 |
ziodev.c)
|
|
|
5040 |
- GNU readline wasn't always initialized, causing a crash when an
|
|
|
5041 |
attempt was made to shut it down. (iminst.h, imain.c)
|
|
|
5042 |
|
|
|
5043 |
Adds more tracing to the CFF loader. (lib/gs_cff.ps)
|
|
|
5044 |
|
|
|
5045 |
Adds some deconstifying casts to compensate for broken headers in the GNU
|
|
|
5046 |
readline package. (gp_gnrdl.c)
|
|
|
5047 |
|
|
|
5048 |
</pre><h3><a name="5.73_Library"></a>Library</h3><pre>
|
|
|
5049 |
|
|
|
5050 |
Fixes problems:
|
|
|
5051 |
- The bounding box device didn't ignore filling paths consisting
|
|
|
5052 |
only of a moveto. (gdevbbox.c)
|
|
|
5053 |
- Some systems have S_IFCHR but not S_ISCHR. (stat_.h)
|
|
|
5054 |
- The clipping list accumulator didn't merge single rectangles
|
|
|
5055 |
correctly. (gxacpath.c)
|
|
|
5056 |
- The clipping list accumulator wasn't aggressive enough about
|
|
|
5057 |
merging rectangles. (Performance effect only.) (gxacpath.c)
|
|
|
5058 |
- The page wasn't cleared when installing a new device. (bug
|
|
|
5059 |
introduced in 5.72) (gsdevice.c)
|
|
|
5060 |
- With graphics anti-aliasing enabled, executing clip or eoclip
|
|
|
5061 |
followed by fill or stroke produced incorrect output. (bug introduced
|
|
|
5062 |
between 5.10 and 5.50) (gxpath.h, gspaint.c, gxcpath.c, gxpath2.c)
|
|
|
5063 |
- The garbage collector could crash if any banded devices were
|
|
|
5064 |
active. (bug introduced in 5.72) (gdevprn.c)
|
|
|
5065 |
|
|
|
5066 |
Changes memory management for device instances to allocate the structure
|
|
|
5067 |
type objects dynamically. This gets rid of a static, and also gets rid of
|
|
|
5068 |
the requirement that device prototypes be registered, at the expense of an
|
|
|
5069 |
extra copy of the (small) structure type object per instance of certain
|
|
|
5070 |
devices. (gscdefs.h, gxdevcli.h, gxdevice.h, gconf.c, gsdevice.c)
|
|
|
5071 |
|
|
|
5072 |
Disables image interpolation for all high-resolution images, not just
|
|
|
5073 |
black-and-white, since this produces better-looking output. (gxiscale.c)
|
|
|
5074 |
|
|
|
5075 |
Speeds up path bounding box computation a little. (gxpath2.c)
|
|
|
5076 |
|
|
|
5077 |
Speeds up clipping a little. (gxclip.c)
|
|
|
5078 |
|
|
|
5079 |
Cleans up formatting a bit. (gxacpath.c)
|
|
|
5080 |
|
|
|
5081 |
Adds support for libpng version 1.0.3, but (for now) updates only the
|
|
|
5082 |
OpenVMS and Unix makefiles to use it. (libpng.mak, openvms.mak,
|
|
|
5083 |
openvms.mmk, ugcclib.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak)
|
|
|
5084 |
|
|
|
5085 |
Attempts to work around picky compilers that don't allow assigning T[M][N]
|
|
|
5086 |
to const T[M][N]. (gxcht.c)
|
|
|
5087 |
|
|
|
5088 |
</pre>
|
|
|
5089 |
|
|
|
5090 |
<hr>
|
|
|
5091 |
|
|
|
5092 |
<h2><a name="Version5.72"></a>Version 5.72 (tester) (3/17/99)</h2>
|
|
|
5093 |
|
|
|
5094 |
<p>
|
|
|
5095 |
This fileset finally gets rid of the need to have jpeg, libpng, or zlib
|
|
|
5096 |
source code on Unix systems that already have these libraries available. It
|
|
|
5097 |
also starts to add support for general DeviceN color spaces.
|
|
|
5098 |
|
|
|
5099 |
<p>
|
|
|
5100 |
Works in progress:
|
|
|
5101 |
<ul>
|
|
|
5102 |
<li> - Fix Fontmap -> Fontmap.GS link, which VMS can't handle.
|
|
|
5103 |
<li> - Make x11alpha do real alpha blending.
|
|
|
5104 |
<li> - spdiff.c is unfinished, partly wrong.
|
|
|
5105 |
<li> - DeviceN support is in progress. In gxcht.c,
|
|
|
5106 |
set_ht_colors_le_4
|
|
|
5107 |
and set_color_ht_gt_4 don't have any way to color-map >4 planes.
|
|
|
5108 |
</ul>
|
|
|
5109 |
|
|
|
5110 |
<h3><a name="5.72_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
5111 |
|
|
|
5112 |
(Interpreter)
|
|
|
5113 |
- The str argument of arg_push_memory_string is no longer const.
|
|
|
5114 |
- The last argument of print_reloc is now const.
|
|
|
5115 |
|
|
|
5116 |
(Library)
|
|
|
5117 |
- Clients should never call the device open_device or close_device
|
|
|
5118 |
procedure directly: they should call gs_opendevice or gs_closedevice.
|
|
|
5119 |
- The fn_free_functions procedure has been made private.
|
|
|
5120 |
- The first argument of gs_currentpoint is no longer const.
|
|
|
5121 |
- References to header files in the third-party libraries must now
|
|
|
5122 |
include a trailing _, i.e.: jerror_.h jmorecf_.h jpeglib_.h png_.h zconf_.h
|
|
|
5123 |
- IJG JPEG library versions before v5a are no longer supported.
|
|
|
5124 |
- ilog2 replaces small_exact_log2.
|
|
|
5125 |
- Support for "outside" clipping has been removed.
|
|
|
5126 |
- Clients that define their own devices now must either register
|
|
|
5127 |
them in the makefile (using the SET[P]DEV[2] macros) or set the stype
|
|
|
5128 |
pointer in the static prototype to the correct structure type (or at least a
|
|
|
5129 |
structure type with the correct procedures).
|
|
|
5130 |
|
|
|
5131 |
</pre><h3><a name="5.72_Documentation"></a>Documentation</h3><pre>
|
|
|
5132 |
|
|
|
5133 |
Clarifies the fact that clients should never call the device open_device or
|
|
|
5134 |
close_device procedure directly. (doc/Drivers.htm)
|
|
|
5135 |
|
|
|
5136 |
Updates contact information for Artifex Software. (doc/Commprod.htm,
|
|
|
5137 |
doc/New-user.htm)
|
|
|
5138 |
|
|
|
5139 |
Clarifies the fact that Aladdin did not write gdevcdj.c. (gdevcdj.c)
|
|
|
5140 |
|
|
|
5141 |
Documents the new -TTYPAUSE switch. (doc/Use.htm)
|
|
|
5142 |
|
|
|
5143 |
Adds SCO OpenServer 5.0.5 to the list of systems where Ghostscript is known
|
|
|
5144 |
to build. (doc/Make.htm)
|
|
|
5145 |
|
|
|
5146 |
Notes that the MIPSpro 7.2.1.3m compiler produces incorrect output.
|
|
|
5147 |
(doc/Make.htm)
|
|
|
5148 |
|
|
|
5149 |
</pre><h3><a name="5.72_Procedures"></a>Procedures</h3><pre>
|
|
|
5150 |
|
|
|
5151 |
Fixes problems:
|
|
|
5152 |
- The Unix install directory ($(gsdatadir)) and the Unix default
|
|
|
5153 |
search path ($(gsdatadir)/lib) weren't compatible. (bug introduced since
|
|
|
5154 |
5.50) (unixinst.mak)
|
|
|
5155 |
- The compilation rule for echogs omitted a dependency and also
|
|
|
5156 |
failed to specify a directory for header files. (unix-aux.mak)
|
|
|
5157 |
- Third-party library source code was required even if the
|
|
|
5158 |
corresponding SHARE_xxx option was set to 1. (devs.mak, gs.mak, int.mak,
|
|
|
5159 |
lib.mak, jpeg.mak)
|
|
|
5160 |
|
|
|
5161 |
Adds a -dTTYPAUSE switch to cause .confirm to read from /dev/tty instead of
|
|
|
5162 |
stdin, useful when the data input is a pipe. (lib/gs_init.ps)
|
|
|
5163 |
|
|
|
5164 |
</pre><h3><a name="5.72_Utilities"></a>Utilities</h3><pre>
|
|
|
5165 |
|
|
|
5166 |
Fixes problems:
|
|
|
5167 |
- Some preprocessor macros were defined twice on VMS. (echogs.c)
|
|
|
5168 |
- traceop.ps didn't build operator-tracing procedures in global VM.
|
|
|
5169 |
(This didn't matter before we introduced local pseudo-operators.)
|
|
|
5170 |
(lib/traceop.ps)
|
|
|
5171 |
- geninit produced invalid output or hung if the input files didn't
|
|
|
5172 |
have the correct EOL representation for the platform. (geninit.c)
|
|
|
5173 |
|
|
|
5174 |
Updates a (probably otherwise obsolete) file for the deletion of the private
|
|
|
5175 |
JPEG library error message table. (bughunt.sh)
|
|
|
5176 |
|
|
|
5177 |
</pre><h3><a name="5.72_Drivers"></a>Drivers</h3><pre>
|
|
|
5178 |
|
|
|
5179 |
Fixes problems:
|
|
|
5180 |
- A procedure returning void tried to return a value. (gdevtfax.c)
|
|
|
5181 |
- For 24-bit displays, XGetImage can return an image in which
|
|
|
5182 |
bits_per_pixel is 32 rather than 24, which is not at all obvious from the
|
|
|
5183 |
documentation; also, the bit and byte ordering may not be MSBFirst.
|
|
|
5184 |
(gdevx.c)
|
|
|
5185 |
- XFree takes a char *, not a void *. (gdevx.c)
|
|
|
5186 |
- The fix in 5.71 to adjust the width of TIFF images introduced
|
|
|
5187 |
another bug. (gdevtfax.c)
|
|
|
5188 |
- If the X driver used a standard colormap, pixel values 255 and
|
|
|
5189 |
less didn't map back to RGB properly. (bug introduced in 5.71) (gdevxcmp.c)
|
|
|
5190 |
- The ForceMono addition to gdevbit.c (in 5.71) was incorrect.
|
|
|
5191 |
(gdevbit.c)
|
|
|
5192 |
- There was a const mismatch in an extern. (gdevxalt.c)
|
|
|
5193 |
- Third-party library source code was required even if the
|
|
|
5194 |
corresponding SHARE_xxx option was set to 1. Fixing this required
|
|
|
5195 |
referencing all third-party library header files through *_.h files.
|
|
|
5196 |
(gdevjpeg.c, gdevpdfi.c, gdevpng.c, gdevpsdi.c, gdevpsdp.c)
|
|
|
5197 |
- There was no way to cause the bounding box device to give up its
|
|
|
5198 |
reference to the target. (gdevbbox.h, gdevbbox.c)
|
|
|
5199 |
- pdfwrite crashed if given a 12-bit-per-sample CMYK image when
|
|
|
5200 |
ConvertCMYKImagesToRGB was true, and produced invalid output for other
|
|
|
5201 |
12-bit-per-sample images (PDF limits bits-per-sample to 8). (gdevpsdi.c)
|
|
|
5202 |
- pdfwrite mangled planar images if bits-per-sample was other than
|
|
|
5203 |
8. (bug introduced since 5.50) (gdevpdfi.c)
|
|
|
5204 |
|
|
|
5205 |
Changes some code to reduce compiler warnings about casts discarding const.
|
|
|
5206 |
(gdevxalt.c)
|
|
|
5207 |
|
|
|
5208 |
Removes a test that allowed referencing the statically allocated instance of
|
|
|
5209 |
the alternative X drivers. (gdevxalt.c)
|
|
|
5210 |
|
|
|
5211 |
Changes a reference to small_exact_log2. (gdevsvga.c)
|
|
|
5212 |
|
|
|
5213 |
Greatly improves the PDF writer's handling of simple pattern fills, by
|
|
|
5214 |
retaining them as pattern fills. (gdevpdfx.h, gdevpdf.c, gdevpdfi.c)
|
|
|
5215 |
|
|
|
5216 |
</pre><h3><a name="5.72_Fonts"></a>Fonts</h3><pre>
|
|
|
5217 |
|
|
|
5218 |
Fixes problems:
|
|
|
5219 |
- Cn in a font name wasn't recognized as indicating a condensed
|
|
|
5220 |
font. (lib/gs_fonts.ps)
|
|
|
5221 |
|
|
|
5222 |
</pre><h3><a name="5.72_Interpreter"></a>Interpreter</h3><pre>
|
|
|
5223 |
|
|
|
5224 |
Fixes problems:
|
|
|
5225 |
- Third-party library source code was required even if the
|
|
|
5226 |
corresponding SHARE_xxx option was set to 1. Fixing this required
|
|
|
5227 |
referencing all third-party library header files through *_.h files.
|
|
|
5228 |
(zfdctd.c, zfdcte.c)
|
|
|
5229 |
- An /undefined error occurred on floating point numbers whose
|
|
|
5230 |
integer part exceeded the size of a long (normally 31 bits) and that also
|
|
|
5231 |
included a fraction. (iscannum.c)
|
|
|
5232 |
- ialloc.c included gxarith.h unnecessarily. (ialloc.c)
|
|
|
5233 |
|
|
|
5234 |
When opening a terminal for reading, always sets the buffer size to 1. This
|
|
|
5235 |
does not apply to %stdin, %lineedit, or %statementedit. (zfile.c)
|
|
|
5236 |
|
|
|
5237 |
Changes code to use the new deconstifying freeing procedures, to remove
|
|
|
5238 |
deconstifying casts. (gsargs.h, ialloc.h, gsargs.c, zfname.c, zfunc.c)
|
|
|
5239 |
|
|
|
5240 |
Adds a writable packed ref pointer variant to ref.value, to remove compiler
|
|
|
5241 |
warnings about casts discarding const. (igc.h, iref.h, idict.c, igc.c,
|
|
|
5242 |
igcref.c)
|
|
|
5243 |
|
|
|
5244 |
Changes the help printouts to use the new printf_program_ident procedure.
|
|
|
5245 |
(imainarg.c)
|
|
|
5246 |
|
|
|
5247 |
Generalizes clients to handle color spaces that may have more than 4
|
|
|
5248 |
components. (zcsdevn.c, zcsindex.c, zcssepr.c, zdpnext.c, zfdecode.c)
|
|
|
5249 |
|
|
|
5250 |
Removes support for outside clipping, which we implemented only because we
|
|
|
5251 |
misinterpreted a requirement. (zpath.c)
|
|
|
5252 |
|
|
|
5253 |
</pre><h3><a name="5.72_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
5254 |
|
|
|
5255 |
Fixes problems:
|
|
|
5256 |
- Selecting a colored Pattern color space caused an error.
|
|
|
5257 |
(lib/pdf_draw.ps, lib/pdf_ops.ps)
|
|
|
5258 |
- Reading data from a subfile with no filter caused an error.
|
|
|
5259 |
(lib/pdf_base.ps)
|
|
|
5260 |
|
|
|
5261 |
Allows mask images to omit BitsPerComponent: Acrobat Reader accepts this
|
|
|
5262 |
even though the PDF specification requires it to be present (with value =
|
|
|
5263 |
1). (lib/pdf_draw.ps)
|
|
|
5264 |
|
|
|
5265 |
</pre><h3><a name="5.72_Streams"></a>Streams</h3><pre>
|
|
|
5266 |
|
|
|
5267 |
Fixes problems:
|
|
|
5268 |
- The PixelDifference filters didn't propagate leftover bits in the
|
|
|
5269 |
last byte of a row. (bug probably introduced in 5.60) (spdiff.c)
|
|
|
5270 |
- The 1- and 2-bit-per-pixel PixelDifferenceEncode filters were
|
|
|
5271 |
broken. (spdiff.c)
|
|
|
5272 |
|
|
|
5273 |
Changes code slightly to remove a warning about an uninitialized variable.
|
|
|
5274 |
(spdiff.c)
|
|
|
5275 |
|
|
|
5276 |
Extends the PixelDifference filters to handle more than 4 Colors.
|
|
|
5277 |
s_PDiff_max_Colors is the maximum value. (spdiffx.h, spdiff.c)
|
|
|
5278 |
|
|
|
5279 |
Adds a stream for converting 12-bit samples to 8-bit. (gdevpsds.h,
|
|
|
5280 |
gdevpsds.c)
|
|
|
5281 |
|
|
|
5282 |
Gets rid of the no longer needed private copy of the JPEG error message
|
|
|
5283 |
table. (sdcte.c, sdeparam.c, sjpegerr.c [deleted], sjpegc.c)
|
|
|
5284 |
|
|
|
5285 |
</pre><h3><a name="5.72_Library"></a>Library</h3><pre>
|
|
|
5286 |
|
|
|
5287 |
Fixes problems:
|
|
|
5288 |
- If a 1-bit-per-pixel image terminated early, the last few scan
|
|
|
5289 |
lines might not be written out. (gxidata.c)
|
|
|
5290 |
- The bbox device could leave its target in a half-open state,
|
|
|
5291 |
because it called the open/close_device procedures directly rather than
|
|
|
5292 |
going through gs_open/closedevice. We "fixed" this by making this device
|
|
|
5293 |
forward open and close, but conditionally, so that clients can choose.
|
|
|
5294 |
(gdevbbox.c)
|
|
|
5295 |
- Third-party library source code was required even if the
|
|
|
5296 |
corresponding SHARE_xxx option was set to 1. Fixing this required
|
|
|
5297 |
referencing all third-party library header files through *_.h files.
|
|
|
5298 |
(sdcparam.c, sdctc.c, sdctd.c, sddparam.c, sjpegc.c, sjpegd.c, sjpege.c,
|
|
|
5299 |
sjpegerr.c)
|
|
|
5300 |
- Low-memory recovery in the band list writer sometimes didn't work,
|
|
|
5301 |
because a test was backwards. (gxcldev.h, gxclist.c)
|
|
|
5302 |
- Executing a put_params during band rasterizing didn't update
|
|
|
5303 |
cached values in the imager state. This was probably not a problem in
|
|
|
5304 |
practice, since the only parameters that affect cached values (device color
|
|
|
5305 |
space, depth, and color mapping) were very rarely set. (gxclrast.c)
|
|
|
5306 |
- Converting 12-bit planar images to chunky format could store
|
|
|
5307 |
beyond the end of the output area and corrupt memory. (gsflip.h, gsflip.c)
|
|
|
5308 |
- The algorithms for converting 4-plane, 1- and 2-bit planar images
|
|
|
5309 |
to chunky format were wrong. (gsflip.c)
|
|
|
5310 |
- Images that lay entirely outside the page could cause a memory
|
|
|
5311 |
access error. (gxclimag.c)
|
|
|
5312 |
- The bbox device could return excessively conservative values for
|
|
|
5313 |
stroked paths. (gxpaint.h, gdevbbox.c, gxpaint.c, gxstroke.c)
|
|
|
5314 |
- Banding devices now include some pointers that the garbage
|
|
|
5315 |
collector must trace. (gdevprn.h, gxclist.h, gxdevice.h, gdevprn.c,
|
|
|
5316 |
gsdevice.c, gxclist.c)
|
|
|
5317 |
|
|
|
5318 |
Adds a gs_opendevice procedure to mirror gs_closedevice. (gsdevice.h,
|
|
|
5319 |
gsdevice.c)
|
|
|
5320 |
|
|
|
5321 |
Adds deconstifying freeing procedures to the memory manager. This allows us
|
|
|
5322 |
to have pointers as structure members that should be const * for all
|
|
|
5323 |
ordinary clients, and still be able to free the referenced objects without a
|
|
|
5324 |
compiler warning. (gsmemory.h, gsmemory.c)
|
|
|
5325 |
|
|
|
5326 |
Changes code, often to use the new deconstifying freeing procedures, to
|
|
|
5327 |
remove deconstifying casts. (gspath.h, gxfunc.h, gsfunc.c, gsfunc0.c,
|
|
|
5328 |
gsfunc3.c, gspath.c, gsptype1.c)
|
|
|
5329 |
|
|
|
5330 |
Changes the eprintf macros so they print the version as well as the program
|
|
|
5331 |
name. (std.h, gscdef.c, gsmisc.c)
|
|
|
5332 |
|
|
|
5333 |
Adds procedures that update cached values in graphics or imager states after
|
|
|
5334 |
setting device parameters. Clients should use these when setting parameters
|
|
|
5335 |
of devices that may be current in graphics or imager states. Note that this
|
|
|
5336 |
is only a partial solution for a much deeper problem, and may even have to
|
|
|
5337 |
be replaced at some point. (gsdevice.h, gsdevice.c)
|
|
|
5338 |
|
|
|
5339 |
Defines GS_CLIENT_COLOR_MAX_COMPONENTS (in gsccolor.h),
|
|
|
5340 |
GX_DEVICE_COLOR_MAX_COMPONENTS (in gxcindex.h), and GS_IMAGE_MAX_COMPONENTS,
|
|
|
5341 |
and starts to use them where needed, in anticipation of implementing DeviceN
|
|
|
5342 |
color spaces. (gsccolor.h, gsdcolor.h, gsiparam.h, gsiparm4.h, gxcindex.h,
|
|
|
5343 |
gxctable.h, gximage.h, gxshade.h, gdevplnx.c, gscdevn.c, gscolor2.c,
|
|
|
5344 |
gxcht.c, gxclimag.c, gxcmap.c, gxicolor.c, gxctable.c, gxi12bit.c)
|
|
|
5345 |
|
|
|
5346 |
Replaces small_exact_log2 by a procedure ilog2 that computes floor(log2(n)).
|
|
|
5347 |
(gxarith.h, gsmisc.c, gspaint.c, gxccman.c, gxclimag.c, gxclrect.c)
|
|
|
5348 |
|
|
|
5349 |
Upgrades gsflip.c to handle >4 planes. (gsbitops.h, gsflip.h, gsflip.c)
|
|
|
5350 |
|
|
|
5351 |
Speeds up getting and testing memory device prototypes a little. (gdevmem.c)
|
|
|
5352 |
|
|
|
5353 |
Speeds up adding arcs to a path a little. (gspath1.c)
|
|
|
5354 |
|
|
|
5355 |
Increases the precision of a precomputed constant from float to double.
|
|
|
5356 |
(gxpath.h)
|
|
|
5357 |
|
|
|
5358 |
Adds a new band list operation to make circles smaller and faster.
|
|
|
5359 |
(gxclpath.h, gxclpath.c, gxclrast.c)
|
|
|
5360 |
|
|
|
5361 |
Adds an accessor procedure for the start point of the current subpath.
|
|
|
5362 |
(gxpath.h, gxpath2.c)
|
|
|
5363 |
|
|
|
5364 |
Removes support for outside clipping, which we implemented only because we
|
|
|
5365 |
misinterpreted a requirement. (gspath.h, gxcldev.h, gxcpath.h, gxpath.h,
|
|
|
5366 |
gspath.c, gxacpath.c, gxclip.c, gxclpath.c, gxclrast.c, gxcpath.c)
|
|
|
5367 |
|
|
|
5368 |
Changes gs_copydevice to require that static prototypes either be registered
|
|
|
5369 |
in gx_device_list or have a correct stype pointer. (This is already the
|
|
|
5370 |
case for all devices in code we distribute.) (gsdevice.c)
|
|
|
5371 |
|
|
|
5372 |
Adds ENUM_PTRS_PROC and RELOC_PTRS_PROC macros for giving a name to the
|
|
|
5373 |
typed pointer to the object being processed. (gsstruct.h)
|
|
|
5374 |
|
|
|
5375 |
</pre>
|
|
|
5376 |
|
|
|
5377 |
<hr>
|
|
|
5378 |
|
|
|
5379 |
<h2><a name="Version5.71"></a>Version 5.71 (tester) (3/3/99)</h2>
|
|
|
5380 |
|
|
|
5381 |
<p>
|
|
|
5382 |
This fileset reinstates support for TrueColor X displays, and adds optional
|
|
|
5383 |
support for GNU readline. It also includes a little more work on the new
|
|
|
5384 |
driver text API.
|
|
|
5385 |
|
|
|
5386 |
<h3><a name="5.71_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
5387 |
|
|
|
5388 |
(Library)
|
|
|
5389 |
- The *line_accum* macros are now capitalized; declare_line_accum is
|
|
|
5390 |
renamed DECLARE_LINE_ACCUM_COPY, and DECLARE_LINE_ACCUM is new.
|
|
|
5391 |
|
|
|
5392 |
</pre><h3><a name="5.71_Documentation"></a>Documentation</h3><pre>
|
|
|
5393 |
|
|
|
5394 |
Documents the CIE joint cache invariant more accurately. (gscie.h)
|
|
|
5395 |
|
|
|
5396 |
Adds a request for xdpyinfo/xwininfo output to the problem reporting form.
|
|
|
5397 |
(doc/Bug-form.htm)
|
|
|
5398 |
|
|
|
5399 |
</pre><h3><a name="5.71_Procedures"></a>Procedures</h3><pre>
|
|
|
5400 |
|
|
|
5401 |
Fixes problems:
|
|
|
5402 |
- The default search path was missing the lib subdirectory on many
|
|
|
5403 |
platforms. (dvx-gcc.mak, os2.mak, ugcclib.mak, unix-gcc.mak, unixansi.mak,
|
|
|
5404 |
unixtrad.mak, watc.mak, watclib.mak, watcw32.mak)
|
|
|
5405 |
- The dependency list for the X Windows drivers was incorrect,
|
|
|
5406 |
sometimes causing needed recompilation to be omitted. (devs.mak)
|
|
|
5407 |
|
|
|
5408 |
</pre><h3><a name="5.71_Utilities"></a>Utilities</h3><pre>
|
|
|
5409 |
|
|
|
5410 |
Fixes problems:
|
|
|
5411 |
- The representation of maximum unsigned values produced warnings on
|
|
|
5412 |
some compilers (specifically, gcc with -Wtraditional). (genarch.c)
|
|
|
5413 |
- Some string variables weren't declared const. (echogs.c,
|
|
|
5414 |
genarch.c)
|
|
|
5415 |
- The viewpbm utility was broken for pgm and ppm (but not pbm).
|
|
|
5416 |
(bug introduced in 5.66) (lib/viewpbm.ps)
|
|
|
5417 |
|
|
|
5418 |
</pre><h3><a name="5.71_Drivers"></a>Drivers</h3><pre>
|
|
|
5419 |
|
|
|
5420 |
Fixes problems:
|
|
|
5421 |
- The X driver didn't handle TrueColor displays properly.
|
|
|
5422 |
(gdevxcmp.h, gdevxcmp.c)
|
|
|
5423 |
- The alternative X drivers didn't implement get_bits properly.
|
|
|
5424 |
(gdevxalt.c)
|
|
|
5425 |
- The X driver specified the byte order incorrectly for displays
|
|
|
5426 |
with more than 8 bits per pixel. (gdevx.c)
|
|
|
5427 |
- The X driver used the wrong number of bits for comparing colors on
|
|
|
5428 |
visuals with fixed color maps. (gdevxcmp.h, gdevxcmp.c)
|
|
|
5429 |
- Some symbols were multiply defined with -DNOPRIVATE. (gdevbit.c)
|
|
|
5430 |
- If a file specified a paper size, rather than using the default,
|
|
|
5431 |
the G3/G4 fax output drivers didn't adjust the width to a legal one for fax
|
|
|
5432 |
systems. (gdevtfax.c)
|
|
|
5433 |
|
|
|
5434 |
Segregates the resource lists, for which warnings about casting of const to
|
|
|
5435 |
non-const string types should be suppressed, into a separate file.
|
|
|
5436 |
(devs.mak, gdevx.h, gdevxini.c, gdevxres.c)
|
|
|
5437 |
|
|
|
5438 |
Splits off the code related to color mapping for X Windows, for greater
|
|
|
5439 |
understandability. (devs.mak, gdevx.h, gdevxcmp.h, gdevx.c, gdevxcmp.c,
|
|
|
5440 |
gdevxini.c)
|
|
|
5441 |
|
|
|
5442 |
Changes code slightly to remove warnings about signed/unsigned integer
|
|
|
5443 |
constants. (gdevxalt.c)
|
|
|
5444 |
|
|
|
5445 |
Changes code to remove unused variables. (gdevx.c, gdevxalt.c)
|
|
|
5446 |
|
|
|
5447 |
Adds a user-contributed driver for the H-P LaserJet 4D. (devs.mak,
|
|
|
5448 |
gdevdjet.c)
|
|
|
5449 |
|
|
|
5450 |
Makes the bitcmyk driver reset its map_cmyk_color procedure dynamically
|
|
|
5451 |
according to the depth, allowing more efficient execution in the 1- and
|
|
|
5452 |
8-bit cases. (gdevbit.c)
|
|
|
5453 |
|
|
|
5454 |
Adds a settable option, AdjustWidth, to control whether the fax-format
|
|
|
5455 |
drivers (faxg*, tiffcrle, tiffg*) adjust the page width to legal fax values.
|
|
|
5456 |
Its default value is 1 (do adjust). (devs.mak, gdevtfax.c)
|
|
|
5457 |
|
|
|
5458 |
Adds a ForceMono parameter to the bitcmyk/bitrgb devices to implement a
|
|
|
5459 |
special monochrome-in-CMYK mode requested by a customer. (gdevbit.c)
|
|
|
5460 |
|
|
|
5461 |
Removes the TRIM_ and EXPAND_BITS_TO_BYTES options from the bit devices,
|
|
|
5462 |
since they are no longer needed. (gdevbit.c)
|
|
|
5463 |
|
|
|
5464 |
</pre><h3><a name="5.71_Fonts"></a>Fonts</h3><pre>
|
|
|
5465 |
|
|
|
5466 |
Changes the substitution mechanism for condensed / narrow fonts, so that the
|
|
|
5467 |
PDF interpreter can use it. (lib/gs_fonts.ps)
|
|
|
5468 |
|
|
|
5469 |
</pre><h3><a name="5.71_Interpreter"></a>Interpreter</h3><pre>
|
|
|
5470 |
|
|
|
5471 |
Fixes problems:
|
|
|
5472 |
- The bind operator generated unaligned accesses and might not
|
|
|
5473 |
operate reliably. (bug introduced in 5.70) (zmisc.c)
|
|
|
5474 |
- If the BuildChar procedure of a font included an image or
|
|
|
5475 |
imagemask operator, charpath would (incorrectly) display the character.
|
|
|
5476 |
(zimage.c)
|
|
|
5477 |
|
|
|
5478 |
Adds a bogus return statement to suppress a compiler warning. (gs.c)
|
|
|
5479 |
|
|
|
5480 |
Changes code slightly to remove warnings about signed/unsigned integer
|
|
|
5481 |
constants. (store.h, ibnum.c)
|
|
|
5482 |
|
|
|
5483 |
Changes the build date format to %d-%02d-%02d. (lib/gs_init.ps, imainarg.c)
|
|
|
5484 |
|
|
|
5485 |
Rearranges some code to add readline support. (files.h, imain.c, zfileio.c,
|
|
|
5486 |
ziodev.c)
|
|
|
5487 |
|
|
|
5488 |
Adds support for GNU readline, with several completion keys, contributed by
|
|
|
5489 |
a user. (int.mak, gs_rdlin.ps, gp_gnrdl.c)
|
|
|
5490 |
|
|
|
5491 |
Changes the font substitution machinery slightly so the PDF interpreter can
|
|
|
5492 |
use it. (lib/gs_fonts.ps)
|
|
|
5493 |
|
|
|
5494 |
</pre><h3><a name="5.71_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
5495 |
|
|
|
5496 |
Fixes problems:
|
|
|
5497 |
- In-line images caused a syntaxerror or stackunderflow.
|
|
|
5498 |
(lib/pdf_draw.ps)
|
|
|
5499 |
- The font substitution mechanism didn't detect Condensed fonts.
|
|
|
5500 |
(lib/pdf_font.ps)
|
|
|
5501 |
- The font substitution mechanism didn't use the intelligent
|
|
|
5502 |
algorithm used for PostScript files. (lib/pdf_font.ps)
|
|
|
5503 |
|
|
|
5504 |
Prints a message when substituting for a font on the basis of its
|
|
|
5505 |
descriptor. (lib/pdf_font.ps)
|
|
|
5506 |
|
|
|
5507 |
</pre><h3><a name="5.71_Streams"></a>Streams</h3><pre>
|
|
|
5508 |
|
|
|
5509 |
Adds an interface and default implementation for readline. (srdline.h,
|
|
|
5510 |
stream.h, stream.c)
|
|
|
5511 |
|
|
|
5512 |
</pre><h3><a name="5.71_Library"></a>Library</h3><pre>
|
|
|
5513 |
|
|
|
5514 |
Fixes problems:
|
|
|
5515 |
- A void procedure attempted to return a value. (stream.c)
|
|
|
5516 |
- A pointer was declared with an extra *. (gsmemory.c)
|
|
|
5517 |
- An argument would be stringified with traditional C. (gdevdbit.c)
|
|
|
5518 |
- The check for validity of the CIE joint caches was wrong, leading
|
|
|
5519 |
to incorrect output in some obscure cases. (gsciemap.c)
|
|
|
5520 |
- A tiny rounding inaccuracy could cause an occasional blank line
|
|
|
5521 |
when rendering adjacent images. (gxipixel.c)
|
|
|
5522 |
- Some symbols were multiply defined with -DNOPRIVATE. (gsptype2.h)
|
|
|
5523 |
- If a character was too large to be cached, it didn't use
|
|
|
5524 |
anti-aliasing, even if TextAlphaBits was >1. (gspaint.c)
|
|
|
5525 |
|
|
|
5526 |
Changes code slightly to remove warnings about signed/unsigned integer
|
|
|
5527 |
constants. (gsccode.h, gsmisc.c, gxcht.c)
|
|
|
5528 |
|
|
|
5529 |
Changes code to remove a warning about an unhandled case in a switch.
|
|
|
5530 |
(gsstruct.h, gsmemory.c)
|
|
|
5531 |
|
|
|
5532 |
Changes code to remove unused variables. (gxcindex.h, gdevdbit.c,
|
|
|
5533 |
gdevprn.c, gxiscale.c)
|
|
|
5534 |
|
|
|
5535 |
Restructures the header files for the new text API, adding the SINGLE
|
|
|
5536 |
options in text_params, enough new elements in text_enum to store all the
|
|
|
5537 |
arguments of text_begin, and new elements in text_enum to hold results
|
|
|
5538 |
returned by text_process. This code is no longer "subject to [arbitrary]
|
|
|
5539 |
change without notice", although it is still not very stable. (gstext.h,
|
|
|
5540 |
gxtext.h, gstext.c)
|
|
|
5541 |
|
|
|
5542 |
Changes code to remove warnings about uninitialized variables. (gxipixel.c)
|
|
|
5543 |
|
|
|
5544 |
Changes the syntactic form of some constants yet again to suppress a
|
|
|
5545 |
different set of compiler warnings. (gxsample.c)
|
|
|
5546 |
|
|
|
5547 |
Adds a procedure to fix the charpath-in-BuildChar problem. (gsimage.h,
|
|
|
5548 |
gsimage.c, gsptype1.c)
|
|
|
5549 |
|
|
|
5550 |
Speeds up the handling of certain RasterOp cases for CMYK devices.
|
|
|
5551 |
(gxdevice.h, gxdevmem.h, gdevdrop.c, gdevmem.c, gdevmr8n.c, gdevrops.c)
|
|
|
5552 |
|
|
|
5553 |
Adds a platform-specific interface for reading lines from stdin. This is
|
|
|
5554 |
intended primarily to support GNU readline. (lib.mak, gp.h, gp_strdl.c)
|
|
|
5555 |
|
|
|
5556 |
</pre>
|
|
|
5557 |
|
|
|
5558 |
<hr>
|
|
|
5559 |
|
|
|
5560 |
<h2><a name="Version5.70"></a>Version 5.70 (internal) (2/20/99)</h2>
|
|
|
5561 |
|
|
|
5562 |
<p>
|
|
|
5563 |
This fileset includes substantial changes to the interpreter in support of
|
|
|
5564 |
making it fully reentrant (eliminating writable globals).
|
|
|
5565 |
|
|
|
5566 |
<h3><a name="5.70_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
5567 |
|
|
|
5568 |
(Interpreter)
|
|
|
5569 |
- The ref_stack structure has been renamed ref_stack_t, and has been
|
|
|
5570 |
changed substantially. Clients should now access all of its members, other
|
|
|
5571 |
than the pointers to the current block, through the macros or procedures
|
|
|
5572 |
defined in istack.h. The STACK_LOOP_{BEGIN,END} macros have been removed.
|
|
|
5573 |
- The argument of context_state_load is no longer const.
|
|
|
5574 |
- Each file's table of operator definitions is now limited to 16
|
|
|
5575 |
entries. op_def_table[] no longer exists: use op_index_def() instead.
|
|
|
5576 |
- invalid_file_entry now has an associated VM space,
|
|
|
5577 |
avm_invalid_file_entry, that must be used in constructing invalid file refs.
|
|
|
5578 |
- restore will now undo binding of pseudo-operators. Attempting to
|
|
|
5579 |
bind a local pseudo-operator into a global procedure will cause an
|
|
|
5580 |
invalidaccess error.
|
|
|
5581 |
|
|
|
5582 |
</pre><h3><a name="5.70_Documentation"></a>Documentation</h3><pre>
|
|
|
5583 |
|
|
|
5584 |
Updates the driver documentation a bit. It probably still includes a lot of
|
|
|
5585 |
out-of-date text. (doc/Drivers.htm)
|
|
|
5586 |
|
|
|
5587 |
Improves the problem reporting form to make it absolutely clear that test
|
|
|
5588 |
data are required, and that the problem must be reproducible without using a
|
|
|
5589 |
viewer. (doc/Bug-form.htm)
|
|
|
5590 |
|
|
|
5591 |
Documents the -dDOINTERPOLATE switch. (doc/Use.htm)
|
|
|
5592 |
|
|
|
5593 |
Documents the difference between public and tester releases, in connection
|
|
|
5594 |
with making tester releases available to everyone. (doc/New-user.htm)
|
|
|
5595 |
|
|
|
5596 |
Updates the list of history files. (doc/Readme.htm)
|
|
|
5597 |
|
|
|
5598 |
Adds a questionnaire for people who want to be notified of new test
|
|
|
5599 |
releases. (doc/Readme.htm, doc/Tester.htm)
|
|
|
5600 |
|
|
|
5601 |
</pre><h3><a name="5.70_Procedures"></a>Procedures</h3><pre>
|
|
|
5602 |
|
|
|
5603 |
Fixes problems:
|
|
|
5604 |
- A ! was missing before an include. (bcwin32.mak, msvc32.mak)
|
|
|
5605 |
- A trailing \ in some macro definitions was quoted incorrectly.
|
|
|
5606 |
(bcwin32.mak, msvc32.mak)
|
|
|
5607 |
- An editing error prevented a makefile from working. (bcwin32.mak)
|
|
|
5608 |
- The 16-bit spooler executable didn't reference its icon correctly.
|
|
|
5609 |
(gs16spl.rc)
|
|
|
5610 |
- The Watcom makefiles had gotten badly out of date. (watc.mak,
|
|
|
5611 |
watclib.mak, wccommon.mak)
|
|
|
5612 |
- Some DEVICE_DEVS lines were too long for the shell to handle.
|
|
|
5613 |
(openvms.mmk)
|
|
|
5614 |
- A space was missing before a colon. (openvms.mmk)
|
|
|
5615 |
|
|
|
5616 |
Updates MSVC support to handle version 6. (msvc32.mak)
|
|
|
5617 |
|
|
|
5618 |
Extends genconf to handle function types as well as image types, and changes
|
|
|
5619 |
the output for image types. (genconf.c)
|
|
|
5620 |
|
|
|
5621 |
Desupports the use of CONFIG for selecting between multiple configurations,
|
|
|
5622 |
since parameterized output directories do this better. (bcwin32.mak,
|
|
|
5623 |
dvx-gcc.mak, gs.mak, int.mak, lib.mak, msvc32.mak, msvclib.mak, openvms.mak,
|
|
|
5624 |
openvms.mmk, os2.mak, ugcclib.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak,
|
|
|
5625 |
watc.mak, watclib.mak, watcw32.mak)
|
|
|
5626 |
|
|
|
5627 |
Adds a -dDOINTERPOLATE switch to force Interpolate in all images.
|
|
|
5628 |
(lib/gs_init.ps)
|
|
|
5629 |
|
|
|
5630 |
</pre><h3><a name="5.70_Utilities"></a>Utilities</h3><pre>
|
|
|
5631 |
|
|
|
5632 |
Rewrites viewpcx to eliminate dependence on a special filter.
|
|
|
5633 |
(lib/viewpcx.ps)
|
|
|
5634 |
|
|
|
5635 |
</pre><h3><a name="5.70_Drivers"></a>Drivers</h3><pre>
|
|
|
5636 |
|
|
|
5637 |
Fixes problems:
|
|
|
5638 |
- The [e]pswrite and pdfwrite drivers wrote out clipping paths using
|
|
|
5639 |
the winding number rule even if the path had been set with eoclip.
|
|
|
5640 |
(gdevpdfd.c, gdevvec.c)
|
|
|
5641 |
- Some occurrences of ushort should have been gx_color_value.
|
|
|
5642 |
(gdevpbm.c)
|
|
|
5643 |
- A comment was accidentally left outside comment quotes.
|
|
|
5644 |
(gdev3852.c)
|
|
|
5645 |
- There was a char/byte mismatch not covered by a cast.
|
|
|
5646 |
(gdevdcrd.c)
|
|
|
5647 |
- There were still some references to the 'huge' keyword, which has
|
|
|
5648 |
been superseded by FAR. (gdevwdib.c)
|
|
|
5649 |
- Some obsolete references to which_colors hadn't been removed.
|
|
|
5650 |
(gdevwdib.c)
|
|
|
5651 |
- The [e]pswrite driver produced incorrect output for a curveto or
|
|
|
5652 |
closepath followed by a lineto and then a moveto. (gdevps.c)
|
|
|
5653 |
- The [e]pswrite driver could produce incorrect output for paths
|
|
|
5654 |
ending with a lineto. (gdevps.c)
|
|
|
5655 |
- The name paper_sizes was used both by a driver and by other code,
|
|
|
5656 |
causing a problem when building with -dNOPRIVATE. (gdevclj.c)
|
|
|
5657 |
|
|
|
5658 |
Consolidates the X error handling statics into a structure. (gdevxini.c)
|
|
|
5659 |
|
|
|
5660 |
Updates the pdfwrite driver to reflect the addition of state to the
|
|
|
5661 |
ASCII85Encode filter. (gdevpsdf.c)
|
|
|
5662 |
|
|
|
5663 |
Adds a user-contributed driver for the Lexmark 5700 printer (black-and-white
|
|
|
5664 |
only). (contrib.mak, gdevlxm.c)
|
|
|
5665 |
|
|
|
5666 |
Updates the mswinpr2 driver with a new, user-contributed one that includes
|
|
|
5667 |
interaction with the user. (gdevwpr2.c)
|
|
|
5668 |
|
|
|
5669 |
</pre><h3><a name="5.70_Fonts"></a>Fonts</h3><pre>
|
|
|
5670 |
|
|
|
5671 |
Fixes problems:
|
|
|
5672 |
- When TrueType support was present, the FONTPATH scanner didn't
|
|
|
5673 |
recognize TrueType fonts whose 'type' was "true" rather than the documented
|
|
|
5674 |
<00 01 00 00>. (lib/gs_ttf.ps)
|
|
|
5675 |
- When DEBUG was set, loading a TrueType font could cause an
|
|
|
5676 |
/undefined error. (lib/gs_ttf.ps)
|
|
|
5677 |
|
|
|
5678 |
</pre><h3><a name="5.70_Interpreter"></a>Interpreter</h3><pre>
|
|
|
5679 |
|
|
|
5680 |
Fixes problems:
|
|
|
5681 |
- Local (pseudo-)operators could get bound into global procedures
|
|
|
5682 |
with 'bind', causing dangling references. Attempting this now causes an
|
|
|
5683 |
invalidaccess error. Fixing this also required making restore undo binding
|
|
|
5684 |
of pseudo-operators. (zmisc.c)
|
|
|
5685 |
- A harmless dictfull error occurring during language level
|
|
|
5686 |
switching caused an error. (zmisc2.c)
|
|
|
5687 |
- If given a closed input file, flushfile caused an error, rather
|
|
|
5688 |
than doing nothing. (zfileio.c)
|
|
|
5689 |
|
|
|
5690 |
Renames the ref_stack structure as ref_stack_t, and factors it so that the
|
|
|
5691 |
parts set only at initialization are separated from the dynamic parts, in
|
|
|
5692 |
support of moving the stacks from static to dynamic storage. (icstate.h,
|
|
|
5693 |
idebug.h, idstack.h, iestack.h, iostack.h, iparam.h, iparray.h, istack.h,
|
|
|
5694 |
idebug.c, interp.c, iparam.c, istack.c, zcontext.c, zpacked.c, zvmem.c)
|
|
|
5695 |
|
|
|
5696 |
Moves the dynamic part of the stacks in-line in the context structure; gets
|
|
|
5697 |
rid of the statically allocated stacks. (dstack.h, estack.h, icontext.h,
|
|
|
5698 |
icstate.h, idstack.h, iestack.h, interp.h, iostack.h, ostack.h, icontext.c,
|
|
|
5699 |
iinit.c, interp.c, zcontext.c)
|
|
|
5700 |
|
|
|
5701 |
Packages the dictionary lookup statistics in a structure, like the other
|
|
|
5702 |
statistics. (idict.c)
|
|
|
5703 |
|
|
|
5704 |
Changes from dynamic to static initialization of the function type table.
|
|
|
5705 |
(int.mak, ifunc.h, iconf.c, zfunc.c, zfunc0.c, zfunc3.c)
|
|
|
5706 |
|
|
|
5707 |
Removes the PCXDecode filter. (zfilterx.c)
|
|
|
5708 |
|
|
|
5709 |
Removes more writable statics. (int.mak, btoken.h, files.h, icstate.h,
|
|
|
5710 |
igstate.h, ipacked.h, iscan.h, icontext.c, imain.c, iscan.c, iscanbin.c,
|
|
|
5711 |
zbseq.c, zcolor2.c, zcontext.c, zgstate.c, ziodev.c, zmath.c, zpcolor.c,
|
|
|
5712 |
zpacked.c)
|
|
|
5713 |
|
|
|
5714 |
Changes the representation of the operator table to avoid allocating a
|
|
|
5715 |
dynamic copy. This introduces a limit of 16 entries per definition set.
|
|
|
5716 |
(int.mak, opdef.h, iconf.c, idebug.c, iinit.c, interp.c, iutil.c,
|
|
|
5717 |
zcontext.c, zcontrol.c, zdict.c, zfileio.c, zgstate.c, ztype.c)
|
|
|
5718 |
|
|
|
5719 |
Includes the ASCII85Decode filter in all configurations, for simplicity.
|
|
|
5720 |
(iscan.c, zfdecode.c)
|
|
|
5721 |
|
|
|
5722 |
Makes the invalid file reference point to a static object. (files.h,
|
|
|
5723 |
icontext.c, zfile.c, ziodev.c)
|
|
|
5724 |
|
|
|
5725 |
Changes all dictfull error returns from the dictionary code to use
|
|
|
5726 |
return_error. This should have been done a long time ago! (idict.c)
|
|
|
5727 |
|
|
|
5728 |
Increases the predefined size of systemdict a little more because .upp files
|
|
|
5729 |
may define a lot of new entries. (iinit.c)
|
|
|
5730 |
|
|
|
5731 |
Adds a few more interpreter statistics. (interp.c)
|
|
|
5732 |
|
|
|
5733 |
</pre><h3><a name="5.70_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
5734 |
|
|
|
5735 |
Fixes problems:
|
|
|
5736 |
- Images never closed the data stream, placing a heavy load on the
|
|
|
5737 |
garbage collector to clean up streams and stream states. (lib/pdf_draw.ps)
|
|
|
5738 |
- Streams stored on external files didn't work. (lib/pdf_base.ps)
|
|
|
5739 |
|
|
|
5740 |
Reorganizes code slightly to allocate less memory for in-line images.
|
|
|
5741 |
(lib/pdf_draw.ps)
|
|
|
5742 |
|
|
|
5743 |
Speeds up some common operations a little. (lib/pdf_base.ps)
|
|
|
5744 |
|
|
|
5745 |
</pre><h3><a name="5.70_Streams"></a>Streams</h3><pre>
|
|
|
5746 |
|
|
|
5747 |
Removes the PCXDecode filter. (spcxx.h [deleted], spcxd.c [deleted])
|
|
|
5748 |
|
|
|
5749 |
Changes the name of a variable for greater clarity. (stream.c)
|
|
|
5750 |
|
|
|
5751 |
Splits off the ASCII85Decode filter into a separate file, since it turns out
|
|
|
5752 |
to be convenient to include it in all configurations. (sa85d.h, sa85x.h,
|
|
|
5753 |
sa85d.c, sfilter2.c)
|
|
|
5754 |
|
|
|
5755 |
Makes an initialization entry point available for non-heap-allocated
|
|
|
5756 |
streams. (stream.h, stream.c)
|
|
|
5757 |
|
|
|
5758 |
Changes the ASCII85Encode filter so it always produces lines of at most 80
|
|
|
5759 |
characters, not counting the EOD marker. THIS IS A NON-BACKWARD-COMPATIBLE
|
|
|
5760 |
CHANGE, because this filter now needs a state structure, which it didn't
|
|
|
5761 |
before. (sa85x.h, sfilter2.c)
|
|
|
5762 |
|
|
|
5763 |
</pre><h3><a name="5.70_Library"></a>Library</h3><pre>
|
|
|
5764 |
|
|
|
5765 |
Fixes problems:
|
|
|
5766 |
- Reference counting of graphics state elements was wrong when
|
|
|
5767 |
creating multiple contexts, causing memory corruption. (bug probably
|
|
|
5768 |
introduced in 5.68) (gsstate.c)
|
|
|
5769 |
- If CIE joint caches were created because the reference count of
|
|
|
5770 |
the existing caches was >1, the new caches weren't initialized correctly.
|
|
|
5771 |
(bug introduced in 5.60, found by Ray Johnston.) (gscie.c)
|
|
|
5772 |
- If Margins are set so that part of the default clipping region
|
|
|
5773 |
lies outside the ((0,0),(width,height)) device coordinate space, the fast
|
|
|
5774 |
case of images could cause a memory access error. (gxifast.c)
|
|
|
5775 |
- In the case of a halftone with more bits than levels,
|
|
|
5776 |
gx_check_tile_cache could incorrectly return false, causing images to render
|
|
|
5777 |
more slowly than they should. (gzht.h, gxht.c)
|
|
|
5778 |
- There was a const mismatch between an argument and the formal
|
|
|
5779 |
parameter. (gdevprn.h, gdevprn.c, gxclread.c)
|
|
|
5780 |
- An error in the definition of st_imager_state_num_ptrs caused the
|
|
|
5781 |
garbage collector to omit marking one pointer in imager states, possibly
|
|
|
5782 |
causing memory corruption. (gxistate.h)
|
|
|
5783 |
- The bbox device, used with no target, didn't properly handle
|
|
|
5784 |
images where more data was provided than needed. (gdevbbox.c)
|
|
|
5785 |
|
|
|
5786 |
Removes any pretense of supporting multiple threads in a single-threaded
|
|
|
5787 |
environment. Dummy synchronization primitives, however, are still provided.
|
|
|
5788 |
(gp_nsync.c)
|
|
|
5789 |
|
|
|
5790 |
Removes more writable statics. (gximage.h, gxi12bit.c, gxino12b.c,
|
|
|
5791 |
gxipixel.c)
|
|
|
5792 |
|
|
|
5793 |
Changes the handling of image types, and adds similar handling for function
|
|
|
5794 |
types. (gscdefs.h, gconf.c)
|
|
|
5795 |
|
|
|
5796 |
Consolidates the gs_std* files into a structure. (gsio.h, gsmisc.c)
|
|
|
5797 |
|
|
|
5798 |
Speeds up the fastest (common) case of clipping fill_rectangle and copy_mono
|
|
|
5799 |
operations. We could do the same for the other operations if we wanted.
|
|
|
5800 |
(gxclip.c)
|
|
|
5801 |
|
|
|
5802 |
Identifies this fileset as a tester release. (gscdef.c)
|
|
|
5803 |
|
|
|
5804 |
</pre>
|
|
|
5805 |
|
|
|
5806 |
<hr>
|
|
|
5807 |
|
|
|
5808 |
<h2><a name="Version5.69"></a>Version 5.69 (internal) (2/4/99)</h2>
|
|
|
5809 |
|
|
|
5810 |
<p>
|
|
|
5811 |
This incremental fileset fixes minor compilation problems, as well as many
|
|
|
5812 |
problems with driver-based CRDs (not used by PostScript or PDF).
|
|
|
5813 |
|
|
|
5814 |
<h3><a name="5.69_Procedures"></a>Procedures</h3><pre>
|
|
|
5815 |
|
|
|
5816 |
Fixes problems:
|
|
|
5817 |
- The OpenVMS makefile had not been updated properly to reflect the
|
|
|
5818 |
division of files into subdirectories. (openvms.mak)
|
|
|
5819 |
- A space was missing before a :. (devs.mak)
|
|
|
5820 |
- The MMK makefile had not been updated to reflect the renaming of
|
|
|
5821 |
the psm[raw] devices to pksm[raw]. (openvms.mmk)
|
|
|
5822 |
|
|
|
5823 |
Changes the default name of the build directory for the library test program
|
|
|
5824 |
from debugobj to libobj, so that one can work with both library and
|
|
|
5825 |
interpreter builds without interference. (ugcclib.mak)
|
|
|
5826 |
|
|
|
5827 |
Adds -fno-builtin to the gcc switches, to detect failure to declare
|
|
|
5828 |
functions like memcpy, at a small cost in performance. (ugcclib.mak,
|
|
|
5829 |
unix-gcc.mak)
|
|
|
5830 |
|
|
|
5831 |
</pre><h3><a name="5.69_Utilities"></a>Utilities</h3><pre>
|
|
|
5832 |
|
|
|
5833 |
Makes a couple of minor fixes to ansi2knr, suggested by users. (ansi2knr.c)
|
|
|
5834 |
|
|
|
5835 |
Updates ps2ai.ps with an improved version from its author. (lib/ps2ai.ps)
|
|
|
5836 |
|
|
|
5837 |
</pre><h3><a name="5.69_Drivers"></a>Drivers</h3><pre>
|
|
|
5838 |
|
|
|
5839 |
Fixes problems:
|
|
|
5840 |
- The 32-bit CMYK "async" BMP driver was declared incorrectly as a
|
|
|
5841 |
non-async device. (gdevbmpa.c)
|
|
|
5842 |
- Some #includes were missing, because gcc didn't warn about
|
|
|
5843 |
failures to declare certain standard functions. (x_.h, gdevdcrd.c, gdevx.c)
|
|
|
5844 |
- The PC frame buffer device still referred to _ss and near.
|
|
|
5845 |
(gdevpcfb.c)
|
|
|
5846 |
- The [e]pswrite driver didn't handle bitmaps with a non-zero X bit
|
|
|
5847 |
offset correctly. (gdevps.c)
|
|
|
5848 |
- The pdfwrite driver wrote all clipping paths with the winding
|
|
|
5849 |
number rule, even if they were established by eoclip. (gdevpdfd.c)
|
|
|
5850 |
- "Vector" drivers wrote all clipping paths with the winding number
|
|
|
5851 |
rule, even if they were established by eoclip. (gdevvec.c)
|
|
|
5852 |
|
|
|
5853 |
Adds the CRDName parameter to the sample driver-based CRD. (gdevdcrd.c)
|
|
|
5854 |
|
|
|
5855 |
Tweaks the sample driver-based CRD to make it a more realistic (closer to
|
|
|
5856 |
the PostScript default). (gdevdcrd.c)
|
|
|
5857 |
|
|
|
5858 |
Adds the sample driver-based CRD to the modified X drivers. (devs.mak,
|
|
|
5859 |
gdevxalt.c)
|
|
|
5860 |
|
|
|
5861 |
</pre><h3><a name="5.69_Interpreter"></a>Interpreter</h3><pre>
|
|
|
5862 |
|
|
|
5863 |
Fixes problems:
|
|
|
5864 |
- Some #includes were missing, because gcc didn't warn about
|
|
|
5865 |
failures to declare certain standard functions. (zchar1.c)
|
|
|
5866 |
- Driver CRDs were not supported properly. (zcrd.c, lib/gs_lev2.ps)
|
|
|
5867 |
|
|
|
5868 |
Changes some code because non-int switch expressions are not handled
|
|
|
5869 |
correctly in pre-ANSI C. (igcref.c, zdevice.c)
|
|
|
5870 |
|
|
|
5871 |
Adds the ability to set the orientation of zero-length "dots". (zgstate.c)
|
|
|
5872 |
|
|
|
5873 |
Adds comments on an alternative shallow-binding design. (dstack.h)
|
|
|
5874 |
|
|
|
5875 |
Changes the threshold for repeatedly rescanning change lists so that it is
|
|
|
5876 |
based on the cumulative amount of rescanning and not the amount in a single
|
|
|
5877 |
pass. (isave.c)
|
|
|
5878 |
|
|
|
5879 |
</pre><h3><a name="5.69_Streams"></a>Streams</h3><pre>
|
|
|
5880 |
|
|
|
5881 |
Changes some code because non-int switch expressions are not handled
|
|
|
5882 |
correctly in pre-ANSI C. (sfilter1.c)
|
|
|
5883 |
|
|
|
5884 |
</pre><h3><a name="5.69_Library"></a>Library</h3><pre>
|
|
|
5885 |
|
|
|
5886 |
Fixes problems:
|
|
|
5887 |
- Some casts to (gx_device *) were missing. (gschar.c)
|
|
|
5888 |
- Some #includes were missing, because gcc doesn't warn about
|
|
|
5889 |
failures to declare certain standard functions. (gdevdgbr.c, gscie.c,
|
|
|
5890 |
gsmatrix.c, gxshade1.c)
|
|
|
5891 |
- gxclread.c now needs gdevprn.h to declare certain procedures. We
|
|
|
5892 |
tried very hard to make the command list machinery not depend on anything
|
|
|
5893 |
related to printer devices, but at this point we have not succeeded.
|
|
|
5894 |
(gxclread.c)
|
|
|
5895 |
- For CRDs set by library clients, the is_identity flags in the
|
|
|
5896 |
caches were set incorrectly, producing incorrect output. (gscie.h, gscie.c,
|
|
|
5897 |
gscrd.c, gscrdp.c)
|
|
|
5898 |
- For CRDs set by library clients, the EncodeABC and RenderTable T
|
|
|
5899 |
procedures were sampled incorrectly. (gsciemap.c, gscrd.c)
|
|
|
5900 |
- The interpreter tried to sample the TransformPQR functions in the
|
|
|
5901 |
PostScript CRD even for driver CRDs. (gscie.h, gscie.c)
|
|
|
5902 |
- Library assistance was needed for the interpreter to support
|
|
|
5903 |
driver CRDs properly. (gscrdp.h, gscrdp.c)
|
|
|
5904 |
- The procedures that accessed cached CIE values didn't round the
|
|
|
5905 |
index, so accessing already-cached values could wipe out the cache.
|
|
|
5906 |
(gscie.c)
|
|
|
5907 |
- The procedure that accessed cached RenderTable.T values simply
|
|
|
5908 |
wasn't implemented. (gscrd.c)
|
|
|
5909 |
|
|
|
5910 |
Adds an "if (1)" to a macro to suppress "statement not reached" warnings
|
|
|
5911 |
from stupid compilers. (gsmemlok.c)
|
|
|
5912 |
|
|
|
5913 |
Changes the syntactic form of some constant tables to suppress
|
|
|
5914 |
signed/unsigned warning messages. (gsbitops.c, gxsample.c)
|
|
|
5915 |
|
|
|
5916 |
Changes some switch statements to if/else because non-int switch expressions
|
|
|
5917 |
are not handled correctly in pre-ANSI C. (gdevmr8n.c, gxdcolor.c)
|
|
|
5918 |
|
|
|
5919 |
Adds the ability to set the orientation of zero-length "dots". (gsline.h,
|
|
|
5920 |
gxline.h, gsline.c, gsstate.c, gxstroke.c)
|
|
|
5921 |
|
|
|
5922 |
Adds an allocator state variable to support the change in the rescanning
|
|
|
5923 |
algorithm. (gxalloc.h)
|
|
|
5924 |
|
|
|
5925 |
</pre>
|
|
|
5926 |
|
|
|
5927 |
<hr>
|
|
|
5928 |
|
|
|
5929 |
<h2><a name="Version5.68"></a>Version 5.68 (internal) (1/29/99)</h2>
|
|
|
5930 |
|
|
|
5931 |
<p>
|
|
|
5932 |
This fileset implements PatternType 2 (gradient fill) Patterns. All
|
|
|
5933 |
significant PostScript LanguageLevel 3 features are now implemented, except
|
|
|
5934 |
for DeviceN color spaces. We have also verified that the MMK script for
|
|
|
5935 |
OpenVMS also works with MMS.
|
|
|
5936 |
|
|
|
5937 |
<p>
|
|
|
5938 |
Note that there are significant non-backward compatible changes to memory
|
|
|
5939 |
management for device instances: we are sorry about this, but just as with
|
|
|
5940 |
paths in 5.22, we had to fix this design problem at some point.
|
|
|
5941 |
|
|
|
5942 |
<h3><a name="5.68_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
5943 |
|
|
|
5944 |
(Procedures)
|
|
|
5945 |
- A new makefile, unix-aux.mak, must be included in all Unix
|
|
|
5946 |
top-level makefiles. (It is included in the ones we distribute.)
|
|
|
5947 |
unixtail.mak is renamed unixlink.mak.
|
|
|
5948 |
|
|
|
5949 |
(Library)
|
|
|
5950 |
- The names of the anti-aliasing parameters in the device color_info
|
|
|
5951 |
structure have been changed.
|
|
|
5952 |
- Dummy definitions for PC-specific C keywords (_cs, _ds, _ss, near,
|
|
|
5953 |
far, huge) are no longer provided: these keywords should be removed from
|
|
|
5954 |
non-PC-specific code.
|
|
|
5955 |
- The names of the alignment_mod, ptr_le, ptr_lt, ptr_ge, ptr_gt,
|
|
|
5956 |
and ptr_between macros have been changed to upper case (ALIGNMENT_MOD etc.)
|
|
|
5957 |
- gs_make_null_device now takes an additional argument.
|
|
|
5958 |
- The ccolor member of a gx_device_color is no longer inside a
|
|
|
5959 |
substructure.
|
|
|
5960 |
- Clients now must initialize Pattern templates with
|
|
|
5961 |
gs_patternN_init, where N is the PatternType (normally 1), before filling in
|
|
|
5962 |
the members.
|
|
|
5963 |
- gs_pattern_instance_common_t is renamed gs_pattern_instance_t;
|
|
|
5964 |
gs_pattern_instance is renamed gs_pattern1_instance.
|
|
|
5965 |
- To set the target of a forwarding device, you must now use
|
|
|
5966 |
gx_device_set_target rather than setting the target member directly.
|
|
|
5967 |
- Memory management for devices has changed substantially, and in a
|
|
|
5968 |
subtle way. If you have code that calls the library, please read the
|
|
|
5969 |
documentation in gxdevcli.h.
|
|
|
5970 |
- Callers of the driver create_buf_device procedure must always call
|
|
|
5971 |
it through gdev_create_buf_device, never directly.
|
|
|
5972 |
- For composite and CID-keyed fonts, the character code returned by
|
|
|
5973 |
gs_show_current_char and gs_kshow_previous_char is now the full multi-byte
|
|
|
5974 |
character code rather than just the last byte of the code.
|
|
|
5975 |
- gdev_cmap_set_method has been replaced by a device parameter,
|
|
|
5976 |
ColorMappingMethod.
|
|
|
5977 |
- The CRD pointer parameter for param_write_cie_render1 and
|
|
|
5978 |
param_put_cie_render1 is no longer const.
|
|
|
5979 |
|
|
|
5980 |
</pre><h3><a name="5.68_Documentation"></a>Documentation</h3><pre>
|
|
|
5981 |
|
|
|
5982 |
Fixes problems:
|
|
|
5983 |
- The documentation for resize_object and resize_string didn't allow
|
|
|
5984 |
the new size to be the same as the old size, didn't describe what data was
|
|
|
5985 |
preserved, and didn't guarantee to return the same object if the new size
|
|
|
5986 |
was the same as the old size. (gsmemraw.h, gsmemory.h)
|
|
|
5987 |
- The documentation for the value returned by the internal
|
|
|
5988 |
.getmetrics32 operator was incorrect. (zchar32.c)
|
|
|
5989 |
- The documentation for the special color mapping device didn't say
|
|
|
5990 |
that the caller had to call gs_setdevice_no_init to update graphics states.
|
|
|
5991 |
(gdevcmap.h)
|
|
|
5992 |
|
|
|
5993 |
Notes that OPENVMS.MMK works with both MMK and MMS. (doc/Make.htm)
|
|
|
5994 |
|
|
|
5995 |
Adds a note to the C style guide about nested vs. multi-branch 'if'
|
|
|
5996 |
statements. (doc/C-style.htm)
|
|
|
5997 |
|
|
|
5998 |
Notes that the multi-threaded ("async") drivers require libc version 6 or
|
|
|
5999 |
higher under Linux. (doc/Make.htm)
|
|
|
6000 |
|
|
|
6001 |
Notes additional Irix/MIPSpro combinations that compile idict.c incorrectly,
|
|
|
6002 |
and gives a workaround. (doc/Make.htm)
|
|
|
6003 |
|
|
|
6004 |
Adds a couple more acknowledgements. (doc/Helpers.htm)
|
|
|
6005 |
|
|
|
6006 |
Documents the new -Z^ switch. (doc/Use.htm)
|
|
|
6007 |
|
|
|
6008 |
Documents the new rules about memory management for device instances
|
|
|
6009 |
(gxdevcli.h, gxdevice.h)
|
|
|
6010 |
|
|
|
6011 |
</pre><h3><a name="5.68_Procedures"></a>Procedures</h3><pre>
|
|
|
6012 |
|
|
|
6013 |
Fixes problems:
|
|
|
6014 |
- The "async" BMP devices were accidentally included in the default
|
|
|
6015 |
list for Unix, leading to a requirement for the POSIX thread package, which
|
|
|
6016 |
is not available on all systems. (unix-gcc.mak)
|
|
|
6017 |
- There was a minor typo in the new MMK script. (openvms.mmk)
|
|
|
6018 |
- The MMK script redefines macros, which MMS does not allow.
|
|
|
6019 |
(openvms.mmk)
|
|
|
6020 |
- The gcc version test used gcc rather than $(CC) for the compiler
|
|
|
6021 |
name. (unix-gcc.mak)
|
|
|
6022 |
- There was a minor typo in the pcx2up device makefile entry.
|
|
|
6023 |
(devs.mak)
|
|
|
6024 |
- Some commands in the Unix install rules referenced sh rather than
|
|
|
6025 |
$(SHELL). (unixinst.mak)
|
|
|
6026 |
|
|
|
6027 |
Makes (dummy) in-RIP trapping an optional feature, and removes it from the
|
|
|
6028 |
default configuration. (int.mak, lib.mak)
|
|
|
6029 |
|
|
|
6030 |
Splits off the build rules for the Unix auxiliary programs, so they can be
|
|
|
6031 |
shared between interpreter and library configurations. (ugcclib.mak,
|
|
|
6032 |
unix-aux.mak, unix-gcc.mak, unixansi.mak, unixtail.mak [deleted],
|
|
|
6033 |
unixlink.mak, unixtrad.mak)
|
|
|
6034 |
|
|
|
6035 |
Adds the bitcmyk device to the list of devices for the library test program.
|
|
|
6036 |
(ugcclib.mak)
|
|
|
6037 |
|
|
|
6038 |
</pre><h3><a name="5.68_Utilities"></a>Utilities</h3><pre>
|
|
|
6039 |
|
|
|
6040 |
Fixes problems:
|
|
|
6041 |
- ansi2knr didn't handle occurrences of '/' or quoted strings inside
|
|
|
6042 |
an argument list correctly. (ansi2knr.c)
|
|
|
6043 |
|
|
|
6044 |
At the suggestion of a GNU person, makes ansi2knr check for output errors.
|
|
|
6045 |
(ansi2knr.c)
|
|
|
6046 |
|
|
|
6047 |
</pre><h3><a name="5.68_Drivers"></a>Drivers</h3><pre>
|
|
|
6048 |
|
|
|
6049 |
Fixes problems:
|
|
|
6050 |
- Setting the resolution on the SPARCprinter didn't work.
|
|
|
6051 |
(gdevsppr.c)
|
|
|
6052 |
- Even in PDF 1.1 compatibility mode, the PDF writer used a
|
|
|
6053 |
predictor to compress images. (gdevpsdi.c)
|
|
|
6054 |
- Reference counting for devices was not implemented consistently.
|
|
|
6055 |
(gdevxalt.c)
|
|
|
6056 |
- gcc (again) missed some static / non-static inconsistencies.
|
|
|
6057 |
(gdevbmpa.c, gdevifno.c)
|
|
|
6058 |
|
|
|
6059 |
Removes all remaining uses of segment identifiers (_cs, _ds, _ss) from
|
|
|
6060 |
non-PC-specific code. (gdev3852.c, gdevcdj.c, gdevhl7x.c, gdevl256.c,
|
|
|
6061 |
gdevmgr.c, gdevsgi.c, gdevsppr.c, gdevvglb.c)
|
|
|
6062 |
|
|
|
6063 |
Removes all remaining uses of the 'near' keyword from non-PC-specific code.
|
|
|
6064 |
(gdevcd8.c, gdevcdj.c, gdevcgm.c)
|
|
|
6065 |
|
|
|
6066 |
Changes uses of round_up to ROUND_UP. (gdevmsxf.c, gdevpcx.c, gdevpx.c,
|
|
|
6067 |
gdevxxf.c)
|
|
|
6068 |
|
|
|
6069 |
Adds user-contributed support for 16-bit displays to the MS Windows driver.
|
|
|
6070 |
(gdevmswn.c, gdevwdib.c)
|
|
|
6071 |
|
|
|
6072 |
Adds a user-contributed driver (sunhmono) for the Harlequin variant of 1-bit
|
|
|
6073 |
Sun raster files. We expect to add other varieties of Sun Raster file
|
|
|
6074 |
eventually as well. (contrib.mak, gdevsunr.c)
|
|
|
6075 |
|
|
|
6076 |
Adds a user-contributed driver (fs600) for the Kyocera FS-600 laser printer.
|
|
|
6077 |
(devs.mak, gdevdjet.c)
|
|
|
6078 |
|
|
|
6079 |
Replaces the sample device CRD with a slightly hacked version of the default
|
|
|
6080 |
PostScript CRD, and moves it to a separate file for greater flexibility in
|
|
|
6081 |
testing. (gdevdcrd.h, gdevbit.c, gdevdcrd.c)
|
|
|
6082 |
|
|
|
6083 |
Adds standard and "async" 32-bit CMYK BMP drivers (even though this is
|
|
|
6084 |
outside the published BMP format). (gdevbmp.c, gdevbmpa.c)
|
|
|
6085 |
|
|
|
6086 |
Changes the names of the separated-CMYK PBM drivers from psm to pksm, to be
|
|
|
6087 |
more descriptive. (devs.mak, openvms.mak, unix-gcc.mak, gdevpbm.c)
|
|
|
6088 |
|
|
|
6089 |
</pre><h3><a name="5.68_Platforms"></a>Platforms</h3><pre>
|
|
|
6090 |
|
|
|
6091 |
Fixes problems:
|
|
|
6092 |
- On MS Windows and OS/2, "(%stdin) (r) file bytesavailable" caused
|
|
|
6093 |
a crash. (gp_msio.c, gp_os2.c)
|
|
|
6094 |
|
|
|
6095 |
</pre><h3><a name="5.68_Fonts"></a>Fonts</h3><pre>
|
|
|
6096 |
|
|
|
6097 |
Fixes problems:
|
|
|
6098 |
- TrueType fonts with fewer glyph names in post than entries in loca
|
|
|
6099 |
caused an error. (gs_ttf.ps)
|
|
|
6100 |
|
|
|
6101 |
Adds additional tracing to the TrueType font loader. (lib/gs_ttf.ps)
|
|
|
6102 |
|
|
|
6103 |
Per Adobe, adds the Euro symbol under the name /Euro (capitalized) to
|
|
|
6104 |
various built-in Encodings. (lib/gs_mro_e.ps, lib/gs_pdf_e.ps,
|
|
|
6105 |
lib/gs_sym_e.ps, lib/gs_wan_e.ps)
|
|
|
6106 |
|
|
|
6107 |
</pre><h3><a name="5.68_Interpreter"></a>Interpreter</h3><pre>
|
|
|
6108 |
|
|
|
6109 |
Fixes problems:
|
|
|
6110 |
- An extraneous file got left in the fileset. (lib/pdf_main.ps.sav
|
|
|
6111 |
[deleted])
|
|
|
6112 |
- The number of required arguments for .pathbbox was incorrectly
|
|
|
6113 |
specified as 0 rather than 1. (zpath1.c)
|
|
|
6114 |
- Opening a ReusableStreamDecode filter with a string source and no
|
|
|
6115 |
decoding filters left an extra value on the stack. (lib/gs_ll3.ps)
|
|
|
6116 |
- Type 32 fonts sometimes didn't display the characters, or
|
|
|
6117 |
displayed them offset. (lib/gs_typ32.ps)
|
|
|
6118 |
- In LanguageLevel 3, copypage still called EndPage with 1 rather
|
|
|
6119 |
than 0. (lib/gs_init.ps)
|
|
|
6120 |
- The HalftoneName parameter was missing from the trapping parameter
|
|
|
6121 |
set. (lib/gs_ll3.ps)
|
|
|
6122 |
- CMap character entries were processed in the wrong order.
|
|
|
6123 |
(lib/gs_cmap.ps)
|
|
|
6124 |
- CMap'ed non-CID fonts didn't work properly, because they called
|
|
|
6125 |
BuildChar with the original character code rather than BuildGlyph with the
|
|
|
6126 |
mapped glyph. (zchar.c)
|
|
|
6127 |
- Using an out-of-range CID value with a CIDFont caused an error
|
|
|
6128 |
rather than substituting a notdef. (lib/gs_cidfn.ps)
|
|
|
6129 |
- CIDFontType 0 fonts with a GlyphDirectory didn't fall back to the
|
|
|
6130 |
indexed character data if the CID wasn't in the GlyphDirectory.
|
|
|
6131 |
(lib/gs_cidfn.ps)
|
|
|
6132 |
- CIDFontType 0 fonts didn't substitute a notdef at all.
|
|
|
6133 |
(lib/gs_cidfn.ps)
|
|
|
6134 |
|
|
|
6135 |
Changes uses of round_up to ROUND_UP. (igcstr.c)
|
|
|
6136 |
|
|
|
6137 |
Updates clients for the object-oriented changes to Patterns. (zcolor2.c,
|
|
|
6138 |
zpcolor.c)
|
|
|
6139 |
|
|
|
6140 |
Implements the rest of PatternType 2. (ipcolor.h, zpcolor.c, zshade.c)
|
|
|
6141 |
|
|
|
6142 |
Makes in-RIP trapping an optional feature. (lib/gs_ll3.ps, lib/gs_trap.ps)
|
|
|
6143 |
|
|
|
6144 |
Updates clients for the change in gs_show_current_char. (zcfont.c, zchar.c)
|
|
|
6145 |
|
|
|
6146 |
Changes the dict_*_param macros to procedures, for easier tracing. This
|
|
|
6147 |
includes a change in the return value of dict_matrix3_param. (icie.h,
|
|
|
6148 |
zcie.c, zcrd.c)
|
|
|
6149 |
|
|
|
6150 |
</pre><h3><a name="5.68_Streams"></a>Streams</h3><pre>
|
|
|
6151 |
|
|
|
6152 |
Changes uses of round_up to ROUND_UP. (scfd.c, scfe.c)
|
|
|
6153 |
|
|
|
6154 |
</pre><h3><a name="5.68_Library"></a>Library</h3><pre>
|
|
|
6155 |
|
|
|
6156 |
Fixes problems:
|
|
|
6157 |
- Once again, gcc failed to flag a static procedure declaration
|
|
|
6158 |
followed by a non-static definition. (gdevprna.c, gximage3.c)
|
|
|
6159 |
- Anti-aliasing no longer worked for the x11alpha device. To fix
|
|
|
6160 |
this, we factored out the anti-aliasing information in the
|
|
|
6161 |
gx_device_color_info structure. (bug introduced in 5.65) (gxdevcli.h,
|
|
|
6162 |
gdevabuf.c, gdevdflt.c, gdevxalt.c, gsdparam.c)
|
|
|
6163 |
- An empty declaration generated an extraneous semicolon.
|
|
|
6164 |
(gxclip2.h)
|
|
|
6165 |
- Some macros that generated an if-else construct didn't enclose it
|
|
|
6166 |
in BEGIN/END, possibly leading to incorrect parsing. (gxobj.h)
|
|
|
6167 |
- A comment was missing a closing */. (gxpageq.h)
|
|
|
6168 |
- The handling of the phase in Pattern filling was broken again. We
|
|
|
6169 |
probably broke it with the "fix" introduced in 5.24. (gxp1fill.c)
|
|
|
6170 |
- Looking up an undefined IODevice name caused a memory access
|
|
|
6171 |
error. (bug claimed to be fixed in 5.24) (gsiodev.c)
|
|
|
6172 |
- The null device installed for stringwidth didn't copy the color
|
|
|
6173 |
mapping information from its target, causing confusion if the current device
|
|
|
6174 |
was a pattern accumulator. (gxdevcli.h, gxdevice.h, gschar.c, gsdevice.c,
|
|
|
6175 |
gxpcmap.c)
|
|
|
6176 |
- mem_mapped2_copy_mono produced incorrect results for byte-aligned
|
|
|
6177 |
rectangles exactly 1 byte wide (fix from John D.), and could also access
|
|
|
6178 |
data 1 byte beyond the end of each source row. (gdevm2.c)
|
|
|
6179 |
- In the case of a masked image or a RasterOp involving a Pattern,
|
|
|
6180 |
the garbage collector could fail to follow a pointer, possibly causing
|
|
|
6181 |
memory corruption. (gsdcolor.h)
|
|
|
6182 |
- Assigning a double value to a float variable caused an infinite
|
|
|
6183 |
recursion. (gxshade1.c)
|
|
|
6184 |
- Failure to detect when the region being filled had become very
|
|
|
6185 |
small caused excessive recursion. (gxshade4.c)
|
|
|
6186 |
- The default implementations of resize_object didn't always return
|
|
|
6187 |
the old object if the old and new sizes were the same. (gsalloc.c,
|
|
|
6188 |
gsmalloc.c)
|
|
|
6189 |
- The left side bearing of TrueType characters was sometimes
|
|
|
6190 |
calculated incorrectly. (gstype42.c)
|
|
|
6191 |
- The TrueType renderer disregarded the left side bearing values.
|
|
|
6192 |
We aren't sure that the change we made is right, but it seems to produce
|
|
|
6193 |
better output. (gstype42.c)
|
|
|
6194 |
- Shadings used the first Decode entry for both X and Y values.
|
|
|
6195 |
(gxshade.c)
|
|
|
6196 |
- Function-based Shadings sometimes omitted part of their output.
|
|
|
6197 |
(gxshade1.c)
|
|
|
6198 |
- Function-based Shadings didn't access 4-bit-per-sample data
|
|
|
6199 |
correctly. (gsfunc0.c)
|
|
|
6200 |
- The malloc/free-based allocator didn't finalize objects when
|
|
|
6201 |
freeing them. (gsmalloc.c)
|
|
|
6202 |
- Reference counting for device instances was not implemented even
|
|
|
6203 |
close to consistently. THIS IS THE BUG TAIL WE WORRIED ABOUT IN 5.24.
|
|
|
6204 |
(gxdevcli.h, gxdevice.h, gdevbbox.c, gdevcmap.c, gdevmem.c, gdevnfwd.c,
|
|
|
6205 |
gdevplnx.c, gdevprn.c, gdevrops.c, gsalphac.c, gschar.c, gsdevice.c,
|
|
|
6206 |
gsropc.c, gxidata.c, gxmclip.c, gxipixel.c, gxpcmap.c)
|
|
|
6207 |
- Some device structure definitions failed to include finalization.
|
|
|
6208 |
(gdevmrop.h, gsstruct.h, gxclip2.h, gxcpath.h, gxdevmem.h, gxmclip.h)
|
|
|
6209 |
- Reference counting for the device halftone wasn't correct in the
|
|
|
6210 |
band rasterizer. This must be a recently introduced bug, because otherwise
|
|
|
6211 |
banding couldn't have worked. (gxclrast.c)
|
|
|
6212 |
- When banding, high-level images that extended off the page in the
|
|
|
6213 |
Y direction caused memory access errors. (gxclimag.c)
|
|
|
6214 |
- [a]widthshow didn't use the correct value for comparison for
|
|
|
6215 |
composite fonts with FMapType 9 (CMap). (gxchar.h, gschar.c, gschar0.c,
|
|
|
6216 |
gsfcmap.c)
|
|
|
6217 |
- The special color mapping device only worked for
|
|
|
6218 |
device_cmap_monochrome. (gdevcmap.h, gdevcmap.c)
|
|
|
6219 |
- The definition of gs_memory_locked_release was wrong.
|
|
|
6220 |
(gsmemlok.h, gsmemlok.c)
|
|
|
6221 |
- An opaque structure definition (for gx_device) was missing,
|
|
|
6222 |
creating a need for an otherwise unnecessary #include. (gscrdp.h)
|
|
|
6223 |
- Certain cached values weren't computed when needed. Fixing this
|
|
|
6224 |
required removing 'const' from a parameter type. (gscrdp.h, gscrdp.c)
|
|
|
6225 |
- gxclmem.c #included "gsmalloc.h", which is no longer needed.
|
|
|
6226 |
(gxclmem.c)
|
|
|
6227 |
- Memory management for device halftones was incorrect, leading to
|
|
|
6228 |
objects being freed twice or other memory corruption during band rendering.
|
|
|
6229 |
(gzht.h, gsht.c, gsstate.c, gxclrast.c, gxistate.c)
|
|
|
6230 |
- Setting a driver-originated CRD didn't invalidate cached
|
|
|
6231 |
information, leading to incorrect output. (gscrdp.c)
|
|
|
6232 |
- A consistency check on driver-originated CRDs was incorrect,
|
|
|
6233 |
causing valid CRDs to be rejected. (gscrdp.c)
|
|
|
6234 |
|
|
|
6235 |
Removes dummy definitions for old PC-specific language extensions.
|
|
|
6236 |
(stdpre.h)
|
|
|
6237 |
|
|
|
6238 |
Removes uses of the PC-specific 'huge' keyword. (gdevmem.c)
|
|
|
6239 |
|
|
|
6240 |
Removes uses of the PC-specific 'near' keyword. (gdevabuf.c, gdevbbox.c)
|
|
|
6241 |
|
|
|
6242 |
Changes the pointer comparison macros to upper-case names. (gxalloc.h,
|
|
|
6243 |
stdpre.h, gsalloc.c, gsmisc.c)
|
|
|
6244 |
|
|
|
6245 |
Changes the alignment_mod macro to upper case. (stdpre.h, gdevdbit.c,
|
|
|
6246 |
gdevdgbr.c, gsparams.c, gxifast.c)
|
|
|
6247 |
|
|
|
6248 |
Changes the round_up and round_down macros to upper case. We retain the
|
|
|
6249 |
lower-case definitions for the sake of the PCL code. (gxfcache.h, gxobj.h,
|
|
|
6250 |
stdpre.h, gdevalph.c, gdevmem.c, gsalloc.c, gspath1.c, gxccman.c,
|
|
|
6251 |
gxclimag.c, gxifast.c)
|
|
|
6252 |
|
|
|
6253 |
Makes Pattern colors more object-oriented, to support PatternType 2,
|
|
|
6254 |
splitting gsptype1.c off from gspcolor.c in the process. (gsccolor.h,
|
|
|
6255 |
gsdcolor.h, gspcolor.h, gsptype1.h, gsptype2.h, gxcolor2.h, gxpcolor.h,
|
|
|
6256 |
gspcolor.c, gsptype1.c, gxpcmap.c)
|
|
|
6257 |
|
|
|
6258 |
Implements PatternType 2. (gspcolor.h, gsptype1.h, gsptype2.h, gxcolor2.h,
|
|
|
6259 |
gxpcolor.h, gxshade.h, gspcolor.c, gsptype2.c)
|
|
|
6260 |
|
|
|
6261 |
Changes the interface to shaded filling to make filling rectangles more
|
|
|
6262 |
efficient. (gsshade.h, gscolor3.c, gsshade.c)
|
|
|
6263 |
|
|
|
6264 |
Improves some macros that didn't handle expressions as arguments.
|
|
|
6265 |
(gsrect.h)
|
|
|
6266 |
|
|
|
6267 |
Improves tracing of loading the CIE caches. (gscie.c)
|
|
|
6268 |
|
|
|
6269 |
Cleans up some formatting, and replaces some floating point divides with
|
|
|
6270 |
multiplies. (gstype42.c)
|
|
|
6271 |
|
|
|
6272 |
Adds default values for the MaxSeparations (1), Separations (false), and
|
|
|
6273 |
SeparationColorNames (empty array) device parameters. (gsdparam.c)
|
|
|
6274 |
|
|
|
6275 |
Adds -Z^ to trace reference counting. (gsrefct.h, gsmemory.c)
|
|
|
6276 |
|
|
|
6277 |
Changes the definition of finalization so that finalization procedures *can*
|
|
|
6278 |
assume that objects they reference still exist. This is necessary so that
|
|
|
6279 |
forwarding devices can decrement the reference counts of their targets.
|
|
|
6280 |
Fortunately, all invocations of finalization (in 'restore', the garbage
|
|
|
6281 |
collector, and freeing) already have this property. (gsstruct.h)
|
|
|
6282 |
|
|
|
6283 |
Extends CRD initialization so that cached values may be copied from an
|
|
|
6284 |
existing CRD. (gscrd.h, gscrd.c)
|
|
|
6285 |
|
|
|
6286 |
Adds a wrapper to the driver create_buf_device procedure to increment the
|
|
|
6287 |
reference count, so that buffer devices can be freely used in graphics
|
|
|
6288 |
states and as a target. (gxdevcli.h, gdevprn.c, gxclread.c)
|
|
|
6289 |
|
|
|
6290 |
Removes recursion from the shading rendering code, in preparation for making
|
|
|
6291 |
it interruptible (required for DeviceN color mapping callouts).
|
|
|
6292 |
(gxshade4.h, gxshade1.c, gxshade4.c, gxshade6.c)
|
|
|
6293 |
|
|
|
6294 |
Monitor-locks the default allocator based on the C heap, if multi-threading
|
|
|
6295 |
is being supported at all. (lib.mak, gsmalloc.h, gsmalloc.c)
|
|
|
6296 |
|
|
|
6297 |
Speeds up the implementation of mem_true32_copy_mono for the common case.
|
|
|
6298 |
(gdevm32.c)
|
|
|
6299 |
|
|
|
6300 |
Adds a (disabled) option for defining gx_color_index as a pointer or a
|
|
|
6301 |
structure, for testing. (gxcindex.h)
|
|
|
6302 |
|
|
|
6303 |
Makes the library test program test the special color mapper more
|
|
|
6304 |
thoroughly. (gslib.c)
|
|
|
6305 |
|
|
|
6306 |
</pre>
|
|
|
6307 |
|
|
|
6308 |
<hr>
|
|
|
6309 |
|
|
|
6310 |
<h2><a name="Version5.67"></a>Version 5.67 (internal) (1/8/99)</h2>
|
|
|
6311 |
|
|
|
6312 |
<p>
|
|
|
6313 |
This fileset adds more PostScript LanguageLevel 3 capability:
|
|
|
6314 |
<ul>
|
|
|
6315 |
<li> - Complete implementation of shfill.
|
|
|
6316 |
<li> - Most of the expanded CMap capabilities.
|
|
|
6317 |
<li> - ReusableStreamDecode filter.
|
|
|
6318 |
<li> - FontType 2 for CFFs (formerly done in an incompatible way).
|
|
|
6319 |
<li> - HalftoneMode user parameter.
|
|
|
6320 |
<li> - HalftoneTypes 6, 10, and 16.
|
|
|
6321 |
<li> - ImageType 3 images.
|
|
|
6322 |
<li> - UseCIEColor device parameter.
|
|
|
6323 |
</ul>
|
|
|
6324 |
|
|
|
6325 |
<p>
|
|
|
6326 |
It also adds a build script for MMK (which may also work with MMS) under
|
|
|
6327 |
OpenVMS, and Uli Wortmann's drivers for the H-P color inkjet printers.
|
|
|
6328 |
Among other bug fixes, it eliminates about half the "possibly uninitialized
|
|
|
6329 |
variable" compiler warnings.
|
|
|
6330 |
|
|
|
6331 |
<h3><a name="5.67_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
6332 |
|
|
|
6333 |
(Library)
|
|
|
6334 |
- The default UCR and BG functions are now f(k) = k rather than f(k)
|
|
|
6335 |
= 0.
|
|
|
6336 |
- The set_[d]fmul2fixed_vars macros have been removed from
|
|
|
6337 |
gxfixed.h. Clients must use the new CHECK/FINISH_[D]FMUL2FIXED_VARS macros.
|
|
|
6338 |
(We don't think there are any such clients outside Ghostscript itself.)
|
|
|
6339 |
- The internal procedure gx_cpath_intersect_slow is replaced with
|
|
|
6340 |
gx_cpath_intersect_path_slow, with different arguments.
|
|
|
6341 |
- gs_color_space_type_Device{Gray,RGB,CMYK} are now private.
|
|
|
6342 |
Clients should use the gs_cspace_Device{Gray,RGB,CMYK} access procedures in
|
|
|
6343 |
gscspace.h to obtain device color space objects.
|
|
|
6344 |
- FontType 2 was renamed from ft_CFF to ft_encrypted2.
|
|
|
6345 |
- FontType 2 fonts now have FontType = ft_encrypted2, rather than
|
|
|
6346 |
ft_encrypted with CharstringType = 2. CharstringType no longer exists.
|
|
|
6347 |
- Type 1 / Type 2 fonts now have an additional member, interpret,
|
|
|
6348 |
that must be initialized.
|
|
|
6349 |
- gdev_prn_render_lines and gdev_prn_get_band_buffer replace
|
|
|
6350 |
gdev_prn_locate_overlay_buffer and gdev_prn_get_overlay_bits. "Async"
|
|
|
6351 |
drivers must now use the new procedures to implement partial-page rendering
|
|
|
6352 |
recovery.
|
|
|
6353 |
- Clients that pass ImageType 3 images where the mask and the image
|
|
|
6354 |
are not scaled identically, or that call image_plane_data without knowing
|
|
|
6355 |
the image type, must now call gs_image_planes_wanted or
|
|
|
6356 |
gx_image_planes_wanted in order to find out which subset of the data planes
|
|
|
6357 |
to pass to the next call of image_plane_data.
|
|
|
6358 |
- gx_image_enum_common_init now takes slightly different arguments.
|
|
|
6359 |
- gs_imager_state_initialize now initializes the entire imager
|
|
|
6360 |
state, including halftone, dev_ht, and ht_cache.
|
|
|
6361 |
- The argument lists for the plane_data and end_image procedures in
|
|
|
6362 |
image enumerators have changed.
|
|
|
6363 |
|
|
|
6364 |
</pre><h3><a name="5.67_Documentation"></a>Documentation</h3><pre>
|
|
|
6365 |
|
|
|
6366 |
Fixes problems:
|
|
|
6367 |
- The 5.66 News mentioned the non-existent WAITFILE macro, and had
|
|
|
6368 |
another minor typo. (doc/News.htm)
|
|
|
6369 |
- The URL for the user-contributed H-P 850c driver was incorrect.
|
|
|
6370 |
(doc/Devices.htm, contrib.mak)
|
|
|
6371 |
- The documentation for the driver image API had gotten out of date.
|
|
|
6372 |
(doc/Drivers.htm)
|
|
|
6373 |
|
|
|
6374 |
Greatly improves documentation for the page queue. (from Artifex 5.50c)
|
|
|
6375 |
(gxpageq.h)
|
|
|
6376 |
|
|
|
6377 |
Documents the fact that Solaris builds now need -lposix4 for <semaphore.h>.
|
|
|
6378 |
(doc/Make.htm)
|
|
|
6379 |
|
|
|
6380 |
Adds a stack status comment in .pdfshow. (lib/gs_pdfwr.ps)
|
|
|
6381 |
|
|
|
6382 |
Documents the new -Z` debugging switch. (doc/Use.htm)
|
|
|
6383 |
|
|
|
6384 |
Touches up some formatting in the C style guide, and adds a mention of the
|
|
|
6385 |
space-before-: rule for makefiles. (doc/C-style.htm)
|
|
|
6386 |
|
|
|
6387 |
Adds documentation for the new H-P 8xx drivers. (doc/Devices.htm)
|
|
|
6388 |
|
|
|
6389 |
Splits off news for versions 5.0 - 5.50 into a separate file.
|
|
|
6390 |
(doc/History5.htm)
|
|
|
6391 |
|
|
|
6392 |
</pre><h3><a name="5.67_Procedures"></a>Procedures</h3><pre>
|
|
|
6393 |
|
|
|
6394 |
Fixes problems:
|
|
|
6395 |
- On MS Windows platforms, the DLL object file wasn't created in the
|
|
|
6396 |
proper directory. (from Artifex 5.55) (msvc32.mak)
|
|
|
6397 |
- cfonts.mak didn't have no-op commands for rules that didn't
|
|
|
6398 |
contain any commands. (cfonts.mak)
|
|
|
6399 |
- The version number for libpng was different from libpng's own
|
|
|
6400 |
version numbering system. (libpng.mak)
|
|
|
6401 |
- Solaris builds now need -lposix4 for <semaphore.h>.
|
|
|
6402 |
(unix-gcc.mak, unixansi.mak, unixtrad.mak)
|
|
|
6403 |
- The makefiles redefined a number of macros, which MMS doesn't
|
|
|
6404 |
allow. (bcwin32.mak, gs.mak, int.mak, lib.mak, libpng.mak, msvc32.mak,
|
|
|
6405 |
openvms.mak, openvms.mmk, unix-gcc.mak, unixansi.mak, unixtrad.mak,
|
|
|
6406 |
version.mak)
|
|
|
6407 |
|
|
|
6408 |
Changes cp.bat and rm.bat to eliminate "File not found" messages. (from
|
|
|
6409 |
Artifex 5.55) (cp.bat, rm.bat)
|
|
|
6410 |
|
|
|
6411 |
Changes all platform-independent makefiles to add a space before the : that
|
|
|
6412 |
separates the targets from the dependencies, to allow the makefiles to be
|
|
|
6413 |
used with MMS/MMK. (cfonts.mak, contrib.mak, devs.mak, gs.mak, int.mak,
|
|
|
6414 |
jpeg.mak, lib.mak, libpng.mak, zlib.mak)
|
|
|
6415 |
|
|
|
6416 |
Adds a script for compiling Ghostscript on OpenVMS systems with MMK. This
|
|
|
6417 |
has not been tested extensively. (doc/Make.htm, openvms.mmk)
|
|
|
6418 |
|
|
|
6419 |
Changes the set of optimization switches for MSVC++. We believe the new
|
|
|
6420 |
switches produce working executables, which /O2 didn't. (msvc32.mak,
|
|
|
6421 |
msvccmd.mak)
|
|
|
6422 |
|
|
|
6423 |
Updates the default expected libpng version to 1.0.2. (bcwin32.mak,
|
|
|
6424 |
dvx-gcc.mak, msvc32.mak, msvclib.mak, openvms.mak, os2.mak, ugcclib.mak,
|
|
|
6425 |
unix-gcc.mak, unixansi.mak, unixtrad.mak, watc.mak, watclib.mak,
|
|
|
6426 |
watcw32.mak)
|
|
|
6427 |
|
|
|
6428 |
</pre><h3><a name="5.67_Utilities"></a>Utilities</h3><pre>
|
|
|
6429 |
|
|
|
6430 |
Fixes problems:
|
|
|
6431 |
- Default scaling in viewcmyk.ps was broken. (lib/viewcmyk.ps)
|
|
|
6432 |
|
|
|
6433 |
Updates pdf2dsc.ps with a newer (user-contributed) version that generates
|
|
|
6434 |
DocumentMedia and PageMedia comments. (lib/pdf2dsc.ps)
|
|
|
6435 |
|
|
|
6436 |
</pre><h3><a name="5.67_Drivers"></a>Drivers</h3><pre>
|
|
|
6437 |
|
|
|
6438 |
Fixes problems:
|
|
|
6439 |
- An int * was provided where a uint * was required. (gdevpbm.c)
|
|
|
6440 |
- ps2ps -dLanguageLevel=1 generated invalid output. (gdevps.c)
|
|
|
6441 |
- The X drivers crashed on gray-scale displays. (bug probably
|
|
|
6442 |
introduced in 5.61) (gdevx.c)
|
|
|
6443 |
- The width and height of the cljet5 device were interchanged.
|
|
|
6444 |
(from Artifex) (gdevclj.c)
|
|
|
6445 |
- The PDF writer didn't clip cached characters properly. (bug
|
|
|
6446 |
introduced somewhere between 3.51 and 5.10) (gdevpdfi.c)
|
|
|
6447 |
- For stroked paths with a non-uniform CTM, the PDF writer could
|
|
|
6448 |
emit coordinates larger than 32K, which Acrobat handles incorrectly.
|
|
|
6449 |
(gdevpdfd.c)
|
|
|
6450 |
|
|
|
6451 |
Restructures some code to suppress bogus "possibly uninitialized variable"
|
|
|
6452 |
warnings. (gdevpdfm.c, gdevps.c)
|
|
|
6453 |
|
|
|
6454 |
Adds some unnecessary initializations to suppress bogus "possibly
|
|
|
6455 |
uninitialized variable" warnings. (gdevpbm.c, gdevpdfd.c, gdevvec.c,
|
|
|
6456 |
gdevxalt.c)
|
|
|
6457 |
|
|
|
6458 |
Rewrites the (contributed) X11 xfont code to remove code duplication.
|
|
|
6459 |
(gdevx.h, gdevx.c, gdevxini.c, gdevxxf.c)
|
|
|
6460 |
|
|
|
6461 |
Adds a user-contributed driver for the H-P LaserJet 3100 with H-P software.
|
|
|
6462 |
(gdevmeds.h, gdevl31s.c, gdevmeds.c)
|
|
|
6463 |
|
|
|
6464 |
Adds a user-contributed option for 600 dpi output on H-P DesignJet
|
|
|
6465 |
650C-compatible printers. (gdevcdj.c)
|
|
|
6466 |
|
|
|
6467 |
Removes unnecessary references to device color spaces. (gdevpdfi.c)
|
|
|
6468 |
|
|
|
6469 |
Changes the [e]pswrite and pdfwrite drivers to use EndOfBlock rather than
|
|
|
6470 |
Rows for CCITTFax image encoding, producing slightly smaller output.
|
|
|
6471 |
(gdevpsdf.c)
|
|
|
6472 |
|
|
|
6473 |
Changes the sample async driver to use gdev_prn_render_lines and
|
|
|
6474 |
gdev_prn_get_band_buffer instead of locate_overlay_buffer and
|
|
|
6475 |
get_overlay_bits. Unfortunately, because "async" memory management is
|
|
|
6476 |
broken, we have no way to test the code. (gdevbmpa.c)
|
|
|
6477 |
|
|
|
6478 |
Updates clients for the change in gx_image_enum_common_init. (gdevpdfi.c,
|
|
|
6479 |
gdevvec.c)
|
|
|
6480 |
|
|
|
6481 |
Adds Uli Wortmann's drivers for the H-P color inkjet printers.
|
|
|
6482 |
(contrib.mak, gdevcd8.c)
|
|
|
6483 |
|
|
|
6484 |
Adds mode 9 compression to the PCL printer utilities. (gdevpcl.h,
|
|
|
6485 |
gdevcdj.c, gdevpcl.c)
|
|
|
6486 |
|
|
|
6487 |
Updates implementors for the change in the plane_data and image_end image
|
|
|
6488 |
processing procedures. (gdevpdfi.c, gdevps.c, gdevpx.c)
|
|
|
6489 |
|
|
|
6490 |
</pre><h3><a name="5.67_Fonts"></a>Fonts</h3><pre>
|
|
|
6491 |
|
|
|
6492 |
Fixes problems:
|
|
|
6493 |
- The PFM files for URW Grotesk and Antiqua had some extraneous ^M
|
|
|
6494 |
characters inserted before ^J characters. (fonts/u003043t.pfm,
|
|
|
6495 |
fonts/u004006t.pfm)
|
|
|
6496 |
- CID-keyed fonts didn't handle GlyphDirectory correctly.
|
|
|
6497 |
(lib/gs_cidfn.ps)
|
|
|
6498 |
- CIDFontType 0 fonts with 0-length Subrs caused an error.
|
|
|
6499 |
(lib/gs_cidfn.ps)
|
|
|
6500 |
- Malformed TrueType fonts with overlapping tables (which are
|
|
|
6501 |
nevertheless apparently acceptable to Windows) caused an error.
|
|
|
6502 |
(lib/gs_ttf.ps)
|
|
|
6503 |
- The Hershey font repairs documented in fileset 5.24 apparently
|
|
|
6504 |
never happened: the makeher.ps program was fixed, but the derived fonts were
|
|
|
6505 |
still broken. (fonts/h*.ps)
|
|
|
6506 |
- In some Fontmaps, the /Charter-* font names were linked directly
|
|
|
6507 |
to the Bitstream fonts, rather than being aliases for /CharterBT-*.
|
|
|
6508 |
(lib/Fontmap.GS, lib/Fontmap.Sol, lib/Fontmap.Ult)
|
|
|
6509 |
|
|
|
6510 |
Makes undefined fonts execute the SubstituteFont procedure in $error, per a
|
|
|
6511 |
posting by Stephen Zisk of Adobe on pdf-prepress-l on 10/8/97.
|
|
|
6512 |
(lib/gs_fonts.ps)
|
|
|
6513 |
|
|
|
6514 |
Changes the interpreter-level CIE color space install procedures to reflect
|
|
|
6515 |
the addition of const to the color space argument. (zcie.c)
|
|
|
6516 |
|
|
|
6517 |
</pre><h3><a name="5.67_Interpreter"></a>Interpreter</h3><pre>
|
|
|
6518 |
|
|
|
6519 |
Fixes problems:
|
|
|
6520 |
- The interpreter appeared to be a distiller even when the current
|
|
|
6521 |
device was not pdfwrite. We fixed this by patching 'where' to make the
|
|
|
6522 |
distiller operators visible iff the current device is pdfwrite. We also
|
|
|
6523 |
moved the setcolor hack in 'where' into PostScript code. (lib/gs_init.ps,
|
|
|
6524 |
lib/gs_lev2.ps, lib/gs_pdfwr.ps, zmisc2.c)
|
|
|
6525 |
- The current color space for shfill wasn't identically the same
|
|
|
6526 |
color space as the one in the shading. (gs_ll3.ps)
|
|
|
6527 |
|
|
|
6528 |
Changes the default UCR and BG functions from f(k) = 0 to f(k) = k.
|
|
|
6529 |
(lib/gs_init.ps)
|
|
|
6530 |
|
|
|
6531 |
Adds some unnecessary initializations to suppress bogus "possibly
|
|
|
6532 |
uninitialized variable" warnings. (igc.c, zcie.c)
|
|
|
6533 |
|
|
|
6534 |
Restructures some code slightly to suppress a bogus "possibly uninitialized
|
|
|
6535 |
variable" warning. (zdevice.c)
|
|
|
6536 |
|
|
|
6537 |
Brings the CMap machinery up to LL3, by allowing a single CMap to reference
|
|
|
6538 |
multiple fonts (usefont, usematrix, and array CIDSystemInfo).
|
|
|
6539 |
(lib/gs_cmap.ps, zfcmap.c)
|
|
|
6540 |
|
|
|
6541 |
Finishes implementing ReusableStreamDecode. The implementation is very
|
|
|
6542 |
inefficient -- it reads the entire contents into a string -- but it passes
|
|
|
6543 |
the Genoa FTS. (lib/gs_ll3.ps, lib/gs_res.ps, zfreuse.c)
|
|
|
6544 |
|
|
|
6545 |
Changes CFFs with CharstringType = 2 to generate FontType 2 fonts, rather
|
|
|
6546 |
than FontType 1 with CharstringType = 2, for compatibility with Adobe's LL3
|
|
|
6547 |
implementations. (lib/gs_cff.ps, lib/gs_type1.ps, lib/type1ops.ps, bfont.h,
|
|
|
6548 |
ichar1.h, ifont.h, ifont1.h, zbfont.c, zchar1.c, zchar2.c, zcharx.c,
|
|
|
6549 |
zfont.c, zfont1.c, zfont2.c)
|
|
|
6550 |
|
|
|
6551 |
Adds the ability to create (with .bytestring) and do a few operations
|
|
|
6552 |
(currently only length, put, putinterval) on byte arrays. This is needed
|
|
|
6553 |
for implementing ReusableStringDecode filters with >64K bytes of data, and
|
|
|
6554 |
for the LL3 halftone types. (zgeneric.c, zstring.c)
|
|
|
6555 |
|
|
|
6556 |
Implements HalftoneMode, and HalftoneTypes 6, 10, and 16. To do this, we
|
|
|
6557 |
introduce an internal HalftoneType 7. (lib/gs_dps2.ps, lib/gs_init.ps,
|
|
|
6558 |
lib/gs_ll3.ps, lib/gs_res.ps, zht2.c)
|
|
|
6559 |
|
|
|
6560 |
Finishes implementing ImageType 3 images. (zimage.c, zimage3.c)
|
|
|
6561 |
|
|
|
6562 |
Adds the hooks in ColorSpace defineresource and undefineresource for
|
|
|
6563 |
detecting definitions that interact with UseCIEColor. (gs_res.ps)
|
|
|
6564 |
|
|
|
6565 |
Implements UseCIEColor at the interpreter level. (lib/gs_dps1.ps,
|
|
|
6566 |
lib/gs_ll3.ps, zcolor1.c, zcolor2.c, zimage.c, zmisc3.c)
|
|
|
6567 |
|
|
|
6568 |
Touches up some formatting. (igstate.h)
|
|
|
6569 |
|
|
|
6570 |
</pre><h3><a name="5.67_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
6571 |
|
|
|
6572 |
Fixes problems:
|
|
|
6573 |
- A MediaBox with a non-zero llx or lly would produce incorrect
|
|
|
6574 |
output. The way we fixed this doesn't exactly match Acrobat, but it
|
|
|
6575 |
produces reasonable output. (based on a change from Artifex 5.55)
|
|
|
6576 |
(lib/pdf_main.ps)
|
|
|
6577 |
- Colored patterns didn't work properly. (lib/pdf_draw.ps)
|
|
|
6578 |
- The resources in a Pattern dictionary weren't made available
|
|
|
6579 |
during the execution of the PaintProc. (fix from Artifex) (lib/pdf_draw.ps)
|
|
|
6580 |
|
|
|
6581 |
</pre><h3><a name="5.67_Streams"></a>Streams</h3><pre>
|
|
|
6582 |
|
|
|
6583 |
Adds a flag to the ASCIIHexEncode filter to indicate whether or not to write
|
|
|
6584 |
an EOD, required for Level 1 output from the pswrite device. (sstring.h,
|
|
|
6585 |
sstring.c)
|
|
|
6586 |
|
|
|
6587 |
Adds a close_at_eod flag to the stream state, for implementing reusable
|
|
|
6588 |
streams; also cleans up some formatting. (stream.h, stream.c)
|
|
|
6589 |
|
|
|
6590 |
</pre><h3><a name="5.67_Library"></a>Library</h3><pre>
|
|
|
6591 |
|
|
|
6592 |
Fixes problems:
|
|
|
6593 |
- Black-and-white images with Interpolate = true produced
|
|
|
6594 |
undesirable artifacts if the image resolution was close to that of the
|
|
|
6595 |
device. We now disable Interpolate in this case. (gxiscale.c)
|
|
|
6596 |
- In "async" mode, get_hardware_params did an unnecessary flush and
|
|
|
6597 |
reopen. (from Artifex 5.50c) (gdevprna.c)
|
|
|
6598 |
- The computation of the minimum band height for the "async" reader
|
|
|
6599 |
was incorrect. (from Artifex 5.50c) (gdevbmpa.c)
|
|
|
6600 |
- The "fix" for reallocating async buffer memory in 5.50 was
|
|
|
6601 |
incorrect. (from Artifex 5.55) (gdevprn.c)
|
|
|
6602 |
- The "async" reader called clist_finish_page, which it shouldn't.
|
|
|
6603 |
(from Artifex 5.50c) (gdevprn.c)
|
|
|
6604 |
- The image enumeration procedures for ImageType 4 were unnecessary,
|
|
|
6605 |
since the ImageType 1 code now handles ImageType 4 as well. (gximage4.c)
|
|
|
6606 |
- The structure descriptor for tile clipping devices was
|
|
|
6607 |
unnecessary, since these are the same as mask clipping devices. (gxclip2.h)
|
|
|
6608 |
- There was a trailing comma in an enumeration list. (gsbitops.c)
|
|
|
6609 |
- Some compilers didn't like initializing a uint with ~0.
|
|
|
6610 |
(gdevm1.c)
|
|
|
6611 |
- shfill unnecessarily saved, reset, and restored the graphics
|
|
|
6612 |
state. (gscolor3.c)
|
|
|
6613 |
- Radial shadings always extended the shading to radius = 0.
|
|
|
6614 |
(gxshade1.c)
|
|
|
6615 |
- An identifier exceeded VMS's limit of 31 characters. (gdevprn.h,
|
|
|
6616 |
gdevprn.c)
|
|
|
6617 |
- A header file didn't #include enough of its prerequisites.
|
|
|
6618 |
(gxpcolor.h)
|
|
|
6619 |
- Images with non-default ImageMatrix weren't written correctly in
|
|
|
6620 |
the band list. (bug introduced in 5.60) (gximage1.c)
|
|
|
6621 |
- Banded images that had to use the default implementation incurred
|
|
|
6622 |
an extra level of procedure call for each block of data. (gxclimag.c)
|
|
|
6623 |
- Images rotated by other than a multiple of 90 degrees produced
|
|
|
6624 |
incorrect output, because pie->rect.p.y was updated after each block of
|
|
|
6625 |
data, causing image_band_box to produce inconsistent results. (bug
|
|
|
6626 |
introduced by async changes in 5.50) (gxclimag.c)
|
|
|
6627 |
- The client_data pointer in client_order halftones wasn't traced
|
|
|
6628 |
correctly, possibly causing memory corruption if this type of halftone was
|
|
|
6629 |
used. (These are not currently used by the PostScript interpreter.)
|
|
|
6630 |
(gsht.c, gsht1.c)
|
|
|
6631 |
- ImageType 3 images didn't handle subrectangles. (Not a problem
|
|
|
6632 |
for PostScript, which doesn't generate subrectangles, or for PCL, which
|
|
|
6633 |
doesn't use them.) (gximage3.c)
|
|
|
6634 |
- If a VMerror occurred when setting up an ImageType 3 image. an
|
|
|
6635 |
attempt could be made to free an uninitialized pointer. (gximage3.c)
|
|
|
6636 |
- ImageType 4 images with 1 to 8 bits per sample and Decode = [1 0]
|
|
|
6637 |
didn't test transparency correctly. (bug introduced in 5.60) (gximage.h,
|
|
|
6638 |
gxicolor.c, gximono.c, gxipixel.c)
|
|
|
6639 |
- setgray, setrgbcolor, sethsbcolor, and setcmykcolor didn't use
|
|
|
6640 |
gs_cspace_assign, causing code duplication. After this fix, we made the
|
|
|
6641 |
device color space types private, since there are no longer any references
|
|
|
6642 |
to them outside gscspace.c. (gxcspace.h, gscolor.c, gscolor1.c, gscspace.c)
|
|
|
6643 |
- gs_cspace_assign was misspelled cs_cspace_assign. (gscspace.h)
|
|
|
6644 |
- setgray didn't set the pattern pointer of the current color to 0,
|
|
|
6645 |
possibly causing the GC to retain patterns it shouldn't. (gscolor.c)
|
|
|
6646 |
- The dev_ht member of an imager (or graphics) state wasn't included
|
|
|
6647 |
in the macro that enumerates reference-counted pointers. This probably had
|
|
|
6648 |
no effect, since the macro isn't used. (gxistate.h)
|
|
|
6649 |
- When the band rasterizer freed its imager state, the halftone and
|
|
|
6650 |
device halftone structures weren't freed, possibly causing memory leakage.
|
|
|
6651 |
(gsistate.c)
|
|
|
6652 |
|
|
|
6653 |
Changes the default UCR and BG functions from f(k) = 0 to f(k) = k, per a
|
|
|
6654 |
user's suggestion. We aren't sure which matches the Adobe implementations
|
|
|
6655 |
on color devices. (gxdcconv.c)
|
|
|
6656 |
|
|
|
6657 |
Conditionally removes some variables that are not needed on big-endian
|
|
|
6658 |
systems. (gdevm1.c)
|
|
|
6659 |
|
|
|
6660 |
Restructures some code to suppress bogus "possibly uninitialized variable"
|
|
|
6661 |
warnings. (gxfixed.h, gdevddrw.c, gsmatrix.c, gsmisc.c, gxclimag.c)
|
|
|
6662 |
|
|
|
6663 |
Adds a couple of unnecessary initializations to suppress bogus "possibly
|
|
|
6664 |
uninitialized variable" warnings. (gsbitops.c)
|
|
|
6665 |
|
|
|
6666 |
Implements BBox, Background, and Extend for shadings. (Background isn't
|
|
|
6667 |
tested yet, because it only takes effect for pattern shading, which isn't
|
|
|
6668 |
implemented yet.) (gsshade.h, gxacpath.h, gxistate.h, gxpath.h, gscolor3.c,
|
|
|
6669 |
gsshade.c, gxacpath.c, gxacpath.c, gxcpath.c)
|
|
|
6670 |
|
|
|
6671 |
Brings the CMap machinery up to LL3, by allowing a single CMap to reference
|
|
|
6672 |
multiple fonts (usefont, usematrix, and array CIDSystemInfo). (gsfcmap.h,
|
|
|
6673 |
gxfcmap.h, gsfcmap.c)
|
|
|
6674 |
|
|
|
6675 |
Adds more tracing output to the band list reader. (gxclrast.c)
|
|
|
6676 |
|
|
|
6677 |
Cleans up some formatting. (gstext.h, gxtext.h)
|
|
|
6678 |
|
|
|
6679 |
Replaces FontType = 1, CharstringType = 2 with FontType = 2, to match the
|
|
|
6680 |
Adobe implementations. (gxfont1.h, gxftype.h, gxtype1.h, gstype1.c,
|
|
|
6681 |
gstype2.c, gxtype1.c)
|
|
|
6682 |
|
|
|
6683 |
Adds new gs_bytestring and gs_const_bytestring structures that may reference
|
|
|
6684 |
either string or (byte) object storage. (gsstruct.h, gstypes.h, gsmemory.c)
|
|
|
6685 |
|
|
|
6686 |
Implements an additional halftone type (ht_type_threshold2) needed for
|
|
|
6687 |
HalftoneTypes 6, 10, and 16. We don't extend gshtx.[hc] to deal with this
|
|
|
6688 |
at this time, since the new type is only needed for the PostScript
|
|
|
6689 |
interpreter. (gxht.h, gxhttype.h, gzht.h, gsht.c, gsht1.c, gshtscr.c)
|
|
|
6690 |
|
|
|
6691 |
Adds a procedure for division mod M, possibly needed for halftones.
|
|
|
6692 |
(gxarith.h, gsmisc.c)
|
|
|
6693 |
|
|
|
6694 |
Adds a -Z` debugging switch to turn off high-level images in the band list.
|
|
|
6695 |
(gxclimag.c)
|
|
|
6696 |
|
|
|
6697 |
Implements gdev_prn_render_lines, as the lowest-level external API for
|
|
|
6698 |
rendering lines in a banded device. This call replaces the "overlay" calls
|
|
|
6699 |
for async rendering. (gdevprn.h, gdevprna.h, gxclist.h, gdevprn.c,
|
|
|
6700 |
gxclread.c)
|
|
|
6701 |
|
|
|
6702 |
Extends the image enumeration API so that the enumerator can indicate what
|
|
|
6703 |
subset of the input planes it wants delivered on the next call to
|
|
|
6704 |
image_plane_data. Currently this is only needed for ImageType 3.
|
|
|
6705 |
(gsimage.h, gxdevcli.h, gxiparam.h, gdevddrw.c, gsimage.c, gximage.c,
|
|
|
6706 |
gximage3.c)
|
|
|
6707 |
|
|
|
6708 |
Extends the image enumeration structures to handle images that require a
|
|
|
6709 |
different amount of data for plane N than Width * plane_depths[N]. This
|
|
|
6710 |
requires a NON-BACKWARD-COMPATIBLE change to the argument list of the
|
|
|
6711 |
gx_image_enum_common_init procedure. (gxiparam.h, gdevbbox.c, gsimage.c,
|
|
|
6712 |
gxclimag.c, gximage.c, gximage2.c, gximage3.c, gxipixel.c)
|
|
|
6713 |
|
|
|
6714 |
Updates the copyright date to 1999. (gscdef.c)
|
|
|
6715 |
|
|
|
6716 |
Cleans up formatting, capitalizes macro names, etc. (gximage.h, gxsample.h,
|
|
|
6717 |
gxipixel.c)
|
|
|
6718 |
|
|
|
6719 |
Adds the UseCIEColor device parameter. (gxdevcli.h, gxdevice.h, gsdparam.c)
|
|
|
6720 |
|
|
|
6721 |
Implements color space substitution (UseCIEColor). (gscolor2.h, gscspace.h,
|
|
|
6722 |
gscssub.h, gxistate.h, gzstate.h, gscolor.c, gscolor1.c, gscolor2.c,
|
|
|
6723 |
gscolor3.c, gscssub.c, gslib.c, gspcolor.c, gsstate.c)
|
|
|
6724 |
|
|
|
6725 |
Changes the color space install procedure so that its color space argument
|
|
|
6726 |
is const. Now all color space implementation procedures take a const
|
|
|
6727 |
argument. (gscie.h, gxcspace.h, gscdevn.c, gscolor2.c, gscscie.c,
|
|
|
6728 |
gscspace.c, gscsepr.c, gspcolor.c)
|
|
|
6729 |
|
|
|
6730 |
Changes gs_setcolorspace so its color space argument is const. (gscolor2.h,
|
|
|
6731 |
gscolor2.c)
|
|
|
6732 |
|
|
|
6733 |
Splits imager state procedures out of gsstate.c, which was getting too
|
|
|
6734 |
large. (gxistate.h, gsstate.c, gsistate.c)
|
|
|
6735 |
|
|
|
6736 |
Changes gs_imager_state_initialize so it really initializes the whole imager
|
|
|
6737 |
state. (gsistate.c, gxclrast.c)
|
|
|
6738 |
|
|
|
6739 |
Removes the now-redundant first (device) argument from the plane_data and
|
|
|
6740 |
end_image procedures in image enumerators. Implementors of these procedures
|
|
|
6741 |
must now get the device from the enumerator structure. This is a
|
|
|
6742 |
NON-BACKWARD-COMPATIBLE design cleanup that we have been putting off for
|
|
|
6743 |
most of a year. Also adds an argument to plane_data so it can tell its
|
|
|
6744 |
client how many rows of data was used: this is needed for the implementation
|
|
|
6745 |
of ImageType 3. (gxdevcli.h, gxiparam.h, gdevbbox.c, gdevplnx.c, gsimage.c,
|
|
|
6746 |
gxclimag.c, gxidata.c, gximage.c, gximage3.c)
|
|
|
6747 |
|
|
|
6748 |
Changes CFFs with CharstringType = 2 to FontType 2 fonts, rather than
|
|
|
6749 |
FontType 1 with CharstringType = 2, for compatibility with Adobe's LL3
|
|
|
6750 |
implementations. (gstype1.h)
|
|
|
6751 |
|
|
|
6752 |
</pre>
|
|
|
6753 |
|
|
|
6754 |
<hr>
|
|
|
6755 |
|
|
|
6756 |
<h2><a name="Version5.66"></a>Version 5.66 (internal) (11/25/98)</h2>
|
|
|
6757 |
|
|
|
6758 |
<p>
|
|
|
6759 |
This fileset includes the ability to efficiently and conveniently obtain
|
|
|
6760 |
planar rather than chunky raster output. It also fixes a large number of
|
|
|
6761 |
minor compilation problems on non-ANSI compilers, and a small number of real
|
|
|
6762 |
problems. It also implements the PostScript LanguageLevel 3 clipsave and
|
|
|
6763 |
cliprestore operators. Unfortunately, because of fragility in third-party
|
|
|
6764 |
code changes that we were forced to include in the base graphics library,
|
|
|
6765 |
overlapped rasterizing ("async mode") fails:
|
|
|
6766 |
<ul>
|
|
|
6767 |
<li> - At 300 dpi, for 4-bit planar devices in the low-memory
|
|
|
6768 |
("partial
|
|
|
6769 |
page") condition, and always for 32-bit planar devices.
|
|
|
6770 |
|
|
|
6771 |
<li> - At 600 dpi, for all devices other than monochrome.
|
|
|
6772 |
</ul>
|
|
|
6773 |
|
|
|
6774 |
<h3><a name="5.66_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
6775 |
|
|
|
6776 |
(Procedures)
|
|
|
6777 |
- Every platform-specific makefile must now define _D_, the internal
|
|
|
6778 |
separator for defining preprocessor macros.
|
|
|
6779 |
- Every platform-specific makefile must now define PSLIBDIR, the
|
|
|
6780 |
directory holding the PS initialization files at build time. (This need not
|
|
|
6781 |
be the same as where these files are stored at run time.)
|
|
|
6782 |
|
|
|
6783 |
(Library)
|
|
|
6784 |
- New elements arch_float_mantissa_bits and
|
|
|
6785 |
arch_double_mantissa_bits have been added to arch.h. Cross-build
|
|
|
6786 |
environments that supply arch.h rather than generating it at build time must
|
|
|
6787 |
add these elements.
|
|
|
6788 |
- A new GB_SELECT_PLANES option has been added to the options mask
|
|
|
6789 |
for the get_bits_rectangle driver procedure. Implementations of this
|
|
|
6790 |
procedure must take this option into account (although they do not have to
|
|
|
6791 |
implement it).
|
|
|
6792 |
- The make_buffer_device printer device procedure has been replaced
|
|
|
6793 |
with create_buf_device, setup_buf_device, and destroy_buf_device. All
|
|
|
6794 |
clients and implementors of make_buffer_device must be changed, including
|
|
|
6795 |
users of the clist_init_params macro.
|
|
|
6796 |
- The gx_device_cmap_procs procedure has been replaced with
|
|
|
6797 |
gx_get_cmap_procs, which also take an imager state as an argument. Callers
|
|
|
6798 |
of gx_device_cmap_procs must be changed.
|
|
|
6799 |
|
|
|
6800 |
</pre><h3><a name="5.66_Documentation"></a>Documentation</h3><pre>
|
|
|
6801 |
|
|
|
6802 |
Updates Make.htm to clarify the standard directory structure.
|
|
|
6803 |
(doc/Make.htm)
|
|
|
6804 |
|
|
|
6805 |
Adds a note about DEC C vs. VAX C for remapping of exit codes.
|
|
|
6806 |
(doc/Make.htm)
|
|
|
6807 |
|
|
|
6808 |
Clarifies that the end_image procedure frees the enumerator. (gxiparam.h)
|
|
|
6809 |
|
|
|
6810 |
</pre><h3><a name="5.66_Procedures"></a>Procedures</h3><pre>
|
|
|
6811 |
|
|
|
6812 |
Fixes problems:
|
|
|
6813 |
- The genxxx utilities didn't compile properly on systems where the
|
|
|
6814 |
C compiler doesn't automatically search for .h files in the directory of the
|
|
|
6815 |
.c file. (unixtail.mak)
|
|
|
6816 |
- Preprocessor definitions require special quoting with Watcom C.
|
|
|
6817 |
Fixing this required adding a _D_ macro similar to II. This is a
|
|
|
6818 |
NON-BACKWARD-COMPATIBLE change, since this definition is now required in
|
|
|
6819 |
each platform-specific makefile. (dvx-head.mak, openvms.mak, os2.mak,
|
|
|
6820 |
unixhead.mak, wccommon.mak, winlib.mak, zlib.mak)
|
|
|
6821 |
- The VMS subdirectories didn't include the "." to make the
|
|
|
6822 |
directory name relative. (openvms.mak)
|
|
|
6823 |
- Some of the OpenVMS command files were omitted from the
|
|
|
6824 |
distribution. (copy_one.com, rm_one.com, rm_all.com)
|
|
|
6825 |
- MMK interprets a final - on a command line as a continuation
|
|
|
6826 |
marker. (gs.mak)
|
|
|
6827 |
- gsiparm4_h was used before being defined. (lib.mak)
|
|
|
6828 |
- Compiled initialization code (COMPILE_INITS=1) was broken because
|
|
|
6829 |
of the introduction of subdirectories. (bcwin32.mak, dvx-gcc.mak,
|
|
|
6830 |
msvc32.mak, openvms.mak, os2.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak,
|
|
|
6831 |
watc.mak, watcw32.mak, int.mak, geninit.c)
|
|
|
6832 |
- Level 1 configurations would no longer build with the standard set
|
|
|
6833 |
of drivers. (devs.mak)
|
|
|
6834 |
- wmake interpreted "&" in a rule command line as calling for
|
|
|
6835 |
background execution. (wccommon.mak)
|
|
|
6836 |
|
|
|
6837 |
Makes the standard set of features the same on all platforms, namely, psl3
|
|
|
6838 |
(PostScript LanguageLevel 3) + pdf (PDF 1.2/1.3) + dpsnext (DPS with NeXT
|
|
|
6839 |
extensions) + ttfont (ability to load TrueType fonts directly). Unix
|
|
|
6840 |
platforms add pipe (recognition of %pipe% file names). (bcwin32.mak,
|
|
|
6841 |
dvx-gcc.mak, msvc32.mak, openvms.mak, os2.mak, unix-gcc.mak, unixansi.mak,
|
|
|
6842 |
unixtrad.mak, watc.mak, watcw32.mak)
|
|
|
6843 |
|
|
|
6844 |
Adds minimal support for Windows 95/NT compiler versions. (wccommon.mak)
|
|
|
6845 |
|
|
|
6846 |
Notes a set of switches that may work around the optimizer bug in MSVC++
|
|
|
6847 |
5.0. (msvccmd.mak)
|
|
|
6848 |
|
|
|
6849 |
</pre><h3><a name="5.66_Utilities"></a>Utilities</h3><pre>
|
|
|
6850 |
|
|
|
6851 |
Adds a switch to genconf to set the escape character, since wmake interprets
|
|
|
6852 |
"&" in a rule command line as calling for background execution. (genconf.c)
|
|
|
6853 |
|
|
|
6854 |
Makes echogs recognize -+ alone as equivalent to - alone, for the sake of
|
|
|
6855 |
VMS systems, which interpret a final - as a line continuation marker.
|
|
|
6856 |
(echogs.c)
|
|
|
6857 |
|
|
|
6858 |
Adds a viewpsm procedure to viewpbm.ps, for reassembling plane-separated
|
|
|
6859 |
files. (lib/viewpbm.ps)
|
|
|
6860 |
|
|
|
6861 |
</pre><h3><a name="5.66_Drivers"></a>Drivers</h3><pre>
|
|
|
6862 |
|
|
|
6863 |
Fixes problems:
|
|
|
6864 |
- There were places where the code assumed that void * could be
|
|
|
6865 |
coerced to byte *, which not all C compilers support. (gdevpdfx.h,
|
|
|
6866 |
gdevpdfo.c)
|
|
|
6867 |
- The name put_bytes was defined in two places, causing an error
|
|
|
6868 |
when linking with NOPRIVATE=1. (gdevpx.c)
|
|
|
6869 |
- The minimum space computation for high-level images and for the
|
|
|
6870 |
scan line length for the sample async driver was slightly too small.
|
|
|
6871 |
(gdevbmpa.c)
|
|
|
6872 |
|
|
|
6873 |
Improves the tracing output from the psm driver. (gdevpbm.c)
|
|
|
6874 |
|
|
|
6875 |
Rewrites some macros to eliminate "statement not reached" compiler warnings.
|
|
|
6876 |
(gdevpx.c)
|
|
|
6877 |
|
|
|
6878 |
Revises the (only) client for changes in the plane-extraction device API.
|
|
|
6879 |
(gdevpbm.c)
|
|
|
6880 |
|
|
|
6881 |
Adds plane-separated BMP drivers, primarily for testing but also as an
|
|
|
6882 |
example. bmp[a]sep1 and bmp[a]sep8 produce 1- and 8-bit-per-pixel separated
|
|
|
6883 |
CMYK. (gdevbmp.h, gdevbmp.c, gdevbmpa.c, gdevbmpc.c)
|
|
|
6884 |
|
|
|
6885 |
</pre><h3><a name="5.66_Platforms"></a>Platforms</h3><pre>
|
|
|
6886 |
|
|
|
6887 |
Fixes problems:
|
|
|
6888 |
- The Watcom environment doesn't provide the st_blocks member of the
|
|
|
6889 |
stat structure. (stat_.h)
|
|
|
6890 |
- In its standard configuration, the Watcom environment doesn't
|
|
|
6891 |
provide stdprn. (gp_iwatc.c)
|
|
|
6892 |
- Newer versions of DEC C on OpenVMS don't require the remapping
|
|
|
6893 |
of the exit codes. (stdpre.h)
|
|
|
6894 |
|
|
|
6895 |
Revises the dummy implementation of semaphores, monitors, and threads in an
|
|
|
6896 |
attempt to make async rendering (just barely) work for the non-overlay case.
|
|
|
6897 |
Unfortunately, this turned out not to be feasible. (gp_nsync.c)
|
|
|
6898 |
|
|
|
6899 |
</pre><h3><a name="5.66_Interpreter"></a>Interpreter</h3><pre>
|
|
|
6900 |
|
|
|
6901 |
Fixes problems:
|
|
|
6902 |
- Certain DEC compilers assume that a pointer is aligned even if it
|
|
|
6903 |
is cast to a pointer whose target type has weaker alignment; this produced
|
|
|
6904 |
"unaligned access" errors in the interpreter. (interp.c)
|
|
|
6905 |
- A necessary cast was omitted. (zcrd.c)
|
|
|
6906 |
- Level 1 configurations would no longer run. (lib/gs_init.ps)
|
|
|
6907 |
|
|
|
6908 |
Updates clients to set mask image fattening properly. (zimage.c, zimage2.c)
|
|
|
6909 |
|
|
|
6910 |
Rewrites some macros to eliminate "statement not reached" compiler warnings.
|
|
|
6911 |
(files.h, istruct.h)
|
|
|
6912 |
|
|
|
6913 |
</pre><h3><a name="5.66_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
6914 |
|
|
|
6915 |
Fixes problems:
|
|
|
6916 |
- The test for whether to honor the Rotate key was backwards. (bug
|
|
|
6917 |
probably introduced in 5.24) (lib/pdf_main.ps)
|
|
|
6918 |
|
|
|
6919 |
Updates the code to handle improper PDF files in which the startxref and the
|
|
|
6920 |
following file position appear on the same line rather than (as required by
|
|
|
6921 |
the spec) two successive lines. (lib/pdf_main.ps)
|
|
|
6922 |
|
|
|
6923 |
</pre><h3><a name="5.66_Streams"></a>Streams</h3><pre>
|
|
|
6924 |
|
|
|
6925 |
Notes a bug in s_DCT_get_quantization_tables. (sdcparam.c)
|
|
|
6926 |
|
|
|
6927 |
</pre><h3><a name="5.66_Library"></a>Library</h3><pre>
|
|
|
6928 |
|
|
|
6929 |
Fixes problems:
|
|
|
6930 |
- The algorithm for reducing 4-bit chunky to 1-bit separated colors
|
|
|
6931 |
didn't handle the trailing pixels of a transfer correctly. (gdevplnx.c)
|
|
|
6932 |
- Banding for RGB devices with multi-plane halftones was broken.
|
|
|
6933 |
(bug introduced recently) (gxdcolor.c)
|
|
|
6934 |
- Mask images were written in the band list with inverted polarity.
|
|
|
6935 |
(bug introduced in 5.60) (gximage1.c)
|
|
|
6936 |
- Mask images were always fattened. Fixing this required extending
|
|
|
6937 |
the API, since gs_image_t_init_mask set adjust = true by default (a bad
|
|
|
6938 |
decision) and we didn't want to change it. (gschar.h, gscpm.h, gsiparam.h,
|
|
|
6939 |
gzstate.h, gschar.c, gximage1.c)
|
|
|
6940 |
- The member names push and pop caused problems for compilers whose
|
|
|
6941 |
preprocessors consider it an error to use a macro defined with arguments as
|
|
|
6942 |
a name without arguments. (gxfont1.h, gstype1.c)
|
|
|
6943 |
- Once again, gcc didn't detect some private/non-private mismatches.
|
|
|
6944 |
(gdevplnx.c, gsalphac.c, gximage2.c, gximage4.c)
|
|
|
6945 |
- & was used with an array (which gcc doesn't complain about).
|
|
|
6946 |
(gxshade6.c)
|
|
|
6947 |
- There were several uses of automatic aggregate initialization,
|
|
|
6948 |
which not all C compilers support. (gdevprn.c, gdevps.c)
|
|
|
6949 |
- There were places where the code assumed that void * could be
|
|
|
6950 |
coerced to byte *, which not all C compilers support. (gdevprn.c)
|
|
|
6951 |
- Some \ line continuation characters were used inappropriately
|
|
|
6952 |
(in a macro argument list). (gxclimag.c)
|
|
|
6953 |
- Some function prototypes didn't use the Pn macros. (gsalloc.c)
|
|
|
6954 |
- A function definition not at the left margin confused ansi2knr.
|
|
|
6955 |
(gsfont.c)
|
|
|
6956 |
- A cast for the result of malloc, needed on systems where malloc
|
|
|
6957 |
returns a char * rather than a void *, was missing. (gsmalloc.c)
|
|
|
6958 |
- An occurrence of dev should be pdev. (I can't understand how we
|
|
|
6959 |
missed this in 5.65.) (gdevprna.c)
|
|
|
6960 |
- A value was missing from a list of initial structure values,
|
|
|
6961 |
causing mismatches between subsequent values and the members they
|
|
|
6962 |
initialized. (gcc treated this as a warning: it should have given an
|
|
|
6963 |
error.) (gxband.h)
|
|
|
6964 |
- When setting the tile phase during banding, the old value of the
|
|
|
6965 |
tile phase was written out rather than the new one. (gxclutil.c)
|
|
|
6966 |
- The definition of fixed_mult_quo wasn't consistent between systems
|
|
|
6967 |
with FPU (where it took the floor, and might be slightly inaccurate) and
|
|
|
6968 |
systems without FPU (where it truncated towards zero, and was accurate).
|
|
|
6969 |
(gxfixed.h, genarch.c, gsmisc.c)
|
|
|
6970 |
- Banding devices using multi-screen halftones didn't set the
|
|
|
6971 |
halftone phase correctly. We have now "fixed" this problem at least 4
|
|
|
6972 |
times. (gxclrast.c)
|
|
|
6973 |
- The name put_bytes was defined in two places, causing an error
|
|
|
6974 |
when linking with NOPRIVATE=1. (gsparams.c)
|
|
|
6975 |
- For [x][y]show, the pointers to the width arrays weren't
|
|
|
6976 |
initialized, causing memory access errors when checking or garbage
|
|
|
6977 |
collecting. (gschar.c)
|
|
|
6978 |
- Due to a typo, bitmap characters were fattened too much.
|
|
|
6979 |
(gximage1.c)
|
|
|
6980 |
- Some identifiers exceeded VMS's limit of 31 characters.
|
|
|
6981 |
(gdevprn.h, gscsepr.h, gsdevice.h, gxdevice.h, gdevdflt.c, gdevprn.c,
|
|
|
6982 |
gscsepr.c, gsdparam.c)
|
|
|
6983 |
- The device halftone parameter was declared const inappropriately
|
|
|
6984 |
in some places. (gsdcolor.h, gxdither.h, gxdcolor.c, gxdither.c)
|
|
|
6985 |
- gdev_mem_raster was used (misleadingly, even though it happened to
|
|
|
6986 |
produce the correct result) on possibly non-memory devices. (gxclread.c)
|
|
|
6987 |
- Pure Level 1 configurations had some undefined procedures.
|
|
|
6988 |
(gscolor1.c, gscspace.c)
|
|
|
6989 |
- Indexed color images could incorrectly conclude that they didn't
|
|
|
6990 |
need to re-render halftones, producing incorrect output. (gximono.c)
|
|
|
6991 |
- gs_device_is_memory returned false for non-banding printer
|
|
|
6992 |
devices: this didn't used to matter, but it matters now. We changed it to
|
|
|
6993 |
test the procedures rather than the device name. (gdevmem.c)
|
|
|
6994 |
- The plane extraction device didn't handle halftoned colors
|
|
|
6995 |
correctly. (gdevplnx.c)
|
|
|
6996 |
- If an error occurred while building a Function object, a crash
|
|
|
6997 |
could occur while freeing the partially built object. (gsfunc.c)
|
|
|
6998 |
- The plane extraction device didn't handle RasterOps correctly.
|
|
|
6999 |
(gdevplnx.c)
|
|
|
7000 |
- The colors-used mask could include some additional, invalid bits.
|
|
|
7001 |
(gxclrect.c)
|
|
|
7002 |
- The colors-used mask was updated incorrectly for RasterOps on
|
|
|
7003 |
subtractive-color devices. (gxclrect.c)
|
|
|
7004 |
- Memory devices didn't set enough option bits for the case where
|
|
|
7005 |
get_bits_rectangle had to do conversion. (gdevmem.c)
|
|
|
7006 |
- The TrueType font rasterizer didn't accept fonts whose 'type' was
|
|
|
7007 |
"true" rather than the documented <00 01 00 00>. (gstype42.c)
|
|
|
7008 |
- A bug in the Watcom compiler caused two conditional expressions to
|
|
|
7009 |
execute incorrectly. (gstype42.c)
|
|
|
7010 |
- When a page queue was freed, it attempted to free the page_info
|
|
|
7011 |
resource in the reserve entry, which is actually unused. (gxpageq.c)
|
|
|
7012 |
- A necessary #include was missing. (gdevmr2n.c)
|
|
|
7013 |
|
|
|
7014 |
Reduces the size of band list entries for halftoned colors somewhat.
|
|
|
7015 |
(gxclpath.h, gxclpath.c, gxclrast.c)
|
|
|
7016 |
|
|
|
7017 |
Increases the number of saved band color masks per page, mostly for testing.
|
|
|
7018 |
(gxband.h)
|
|
|
7019 |
|
|
|
7020 |
Rewrites some macros, and one 'for' statement, to eliminate "statement not
|
|
|
7021 |
reached" compiler warnings. (gxcldev.h, gxpath2.c)
|
|
|
7022 |
|
|
|
7023 |
Corrects a tiny inaccuracy in the computation of trapezoid coordinates.
|
|
|
7024 |
(gdevddrw.c)
|
|
|
7025 |
|
|
|
7026 |
Edits the trapezoid fill code for greater readability and better
|
|
|
7027 |
documentation of its functioning. The new code runs a little slower on
|
|
|
7028 |
compilers that don't support 'inline'. (gdevddrw.c)
|
|
|
7029 |
|
|
|
7030 |
Improves the documentation of the tile phase bookkeeping. (gxclrast.c)
|
|
|
7031 |
|
|
|
7032 |
Documents the fact that fixed_mult_quo takes the floor if the first argument
|
|
|
7033 |
is negative. (gxfixed.h)
|
|
|
7034 |
|
|
|
7035 |
Finishes implementing clipsave and cliprestore. (gxclipsr.h, gxistate.h,
|
|
|
7036 |
gzstate.h, gsclipsr.c, gsstate.c)
|
|
|
7037 |
|
|
|
7038 |
Implements driver access to planar, rather than chunky, banding.
|
|
|
7039 |
(gdevplnx.h, gdevprn.h, gxclist.h, gxdevcli.h, gxrplane.h, gdevplnx.c,
|
|
|
7040 |
gdevprn.c, gxclread.c)
|
|
|
7041 |
|
|
|
7042 |
Makes it possible to set up memory devices that allocate just the line
|
|
|
7043 |
pointer table (but not the bitmap), or neither the line pointers nor the
|
|
|
7044 |
bitmap. (gxdevmem.h, gdevmem.c)
|
|
|
7045 |
|
|
|
7046 |
Moves gx_device_white/black to a more appropriate header file. (gxdcolor.h)
|
|
|
7047 |
|
|
|
7048 |
Moves gx_default_make_buffer_device to a more appropriate file.
|
|
|
7049 |
(gdevdflt.c, gdevprn.c)
|
|
|
7050 |
|
|
|
7051 |
Adds plane extraction and expansion utility procedures, required for the
|
|
|
7052 |
extended capability of get_bits_rectangle. (gsbitops.h, gsbitops.c)
|
|
|
7053 |
|
|
|
7054 |
Extends get_bits_rectangle so it can return individual planes rather than
|
|
|
7055 |
all planes. (gdevplnx.h, gsbittab.h, gxbitfmt.h, gxgetbit.h, gdevdgbr.c,
|
|
|
7056 |
gdevdrop.c, gdevmem.c, gdevplnx.c, gsalphac.c, gsbittab.c)
|
|
|
7057 |
|
|
|
7058 |
Factors out the two more complex cases of gx_get_bits_copy into single-use
|
|
|
7059 |
procedures for readability. (gdevdgbr.c)
|
|
|
7060 |
|
|
|
7061 |
Makes public the procedure for reducing a colored halftone to a pure or
|
|
|
7062 |
binary halftone, needed for planar rendering. (gxdither.h, gxdither.c)
|
|
|
7063 |
|
|
|
7064 |
Moves the client_data pointer from gs_state to gs_imager_state.
|
|
|
7065 |
(gxistate.h, gzstate.h, gsstate.c)
|
|
|
7066 |
|
|
|
7067 |
Extends the plane extraction device to handle fill_mask and images
|
|
|
7068 |
efficiently. (gxcmap.h, gdevplnx.h, gdevplnx.c)
|
|
|
7069 |
|
|
|
7070 |
Creates a procedure to make a temporary copy of a gs_imager_state, needed
|
|
|
7071 |
for planar image processing. (gxistate.h, gsstate.c)
|
|
|
7072 |
|
|
|
7073 |
Makes getting the color mapping procedures for a device a virtual procedure
|
|
|
7074 |
of the imager state, needed for planar image processing. (gxcmap.h,
|
|
|
7075 |
gxistate.h, gxcmap.c, gxicolor.c, gximono.c, gxi12bit.c)
|
|
|
7076 |
|
|
|
7077 |
Increases the amount of memory allocated to the asynchronous rasterizer,
|
|
|
7078 |
since we now may need a dynamically allocated line pointer table for the
|
|
|
7079 |
target (plane) memory device. (gdevprna.c)
|
|
|
7080 |
|
|
|
7081 |
Adds a record of which bands have "difficult" RasterOps -- RasterOps that
|
|
|
7082 |
can't be executed, even in principle, in CMYK space. We don't do anything
|
|
|
7083 |
with this information yet, but we will have to. (gsropt.h, gxband.h,
|
|
|
7084 |
gxcldev.h, gxclpath.h, gxclist.c, gxclpath.c, gxclrect.c)
|
|
|
7085 |
|
|
|
7086 |
Makes conversion from render_plane indices to bit ranges the responsibility
|
|
|
7087 |
of the device, not the client. (gxrplane.h)
|
|
|
7088 |
|
|
|
7089 |
</pre>
|
|
|
7090 |
|
|
|
7091 |
<hr>
|
|
|
7092 |
|
|
|
7093 |
<h2><a name="Version5.65"></a>Version 5.65 (internal) (11/13/98)</h2>
|
|
|
7094 |
|
|
|
7095 |
<p>
|
|
|
7096 |
The main purpose of this fileset is to fix the MS Windows and OpenVMS build
|
|
|
7097 |
procedures, which have been broken since 5.60. It also adds the ability for
|
|
|
7098 |
a driver to determine efficiently which colors are used in a given page or
|
|
|
7099 |
band, which is important for separated color printing, and contains some
|
|
|
7100 |
early support for plane-separated color printing.
|
|
|
7101 |
|
|
|
7102 |
<h3><a name="5.65_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
7103 |
|
|
|
7104 |
(Procedures)
|
|
|
7105 |
- Every platform-specific makefile must now define D_ and _D, the
|
|
|
7106 |
brackets for defining preprocessor macros.
|
|
|
7107 |
- The unix-cc.mak makefile has been renamed unixtrad.mak, since it
|
|
|
7108 |
only applies to "traditional C" compilers.
|
|
|
7109 |
|
|
|
7110 |
(Drivers, Library)
|
|
|
7111 |
- Devices now store their TextAlphaBits and GraphicsAlphaBits values
|
|
|
7112 |
explicitly. The former get_alpha_bits procedure is obsoleted, and no
|
|
|
7113 |
longer implemented or called by any code we distribute.
|
|
|
7114 |
- gx_device_color_info now has additional fields. Code that
|
|
|
7115 |
constructed gx_color_info_values in any way other than by using the dci_
|
|
|
7116 |
macros will no longer work.
|
|
|
7117 |
|
|
|
7118 |
</pre><h3><a name="5.65_Documentation"></a>Documentation</h3><pre>
|
|
|
7119 |
|
|
|
7120 |
Fixes problems:
|
|
|
7121 |
- The -sPSFile= switch was still documented, even though it no
|
|
|
7122 |
longer exists. (doc/Use.htm)
|
|
|
7123 |
- The - "switch" wasn't documented in the list of switches,
|
|
|
7124 |
although it was documented elsewhere. (doc/Use.htm)
|
|
|
7125 |
- The documentation for the PC environments was out of date -- it
|
|
|
7126 |
didn't mention the use of subdirectories. (doc/Make.htm)
|
|
|
7127 |
|
|
|
7128 |
Updates the documentation on PostScript files to indicate in what directory
|
|
|
7129 |
the files are distributed. (doc/Psfiles.htm)
|
|
|
7130 |
|
|
|
7131 |
Documents more of the utility procedures used by printer drivers.
|
|
|
7132 |
(gdevprn.h)
|
|
|
7133 |
|
|
|
7134 |
Notes that the public tar archives may not be compatible with the tar
|
|
|
7135 |
program in SunOS 4.1.3. (doc/Make.htm)
|
|
|
7136 |
|
|
|
7137 |
Adds documentation on the Unix "make pg" target. (doc/Make.htm)
|
|
|
7138 |
|
|
|
7139 |
Updates documentation to reflect the name change from unix-cc.mak to
|
|
|
7140 |
unixtrad.mak. (doc/Make.htm)
|
|
|
7141 |
|
|
|
7142 |
Adds some links for the benefit of people who have built Ghostscript before
|
|
|
7143 |
and therefore skip reading the initial sections of the documentation.
|
|
|
7144 |
(doc/Make.htm)
|
|
|
7145 |
|
|
|
7146 |
Documents the new -_ switch. (doc/Use.htm)
|
|
|
7147 |
|
|
|
7148 |
Updates the documentation to mention PostScript LanguageLevel 3 and to
|
|
|
7149 |
remove many references to 16-bit systems. (doc/Language.htm)
|
|
|
7150 |
|
|
|
7151 |
</pre><h3><a name="5.65_Procedures"></a>Procedures</h3><pre>
|
|
|
7152 |
|
|
|
7153 |
Fixes problems:
|
|
|
7154 |
- A cast discarded `const' needlessly. (genconf.c)
|
|
|
7155 |
- Upper-case echogs switches were getting converted to lower case
|
|
|
7156 |
on VMS. (jpeg.mak)
|
|
|
7157 |
- $(EXP) was missing before some invocations of executables.
|
|
|
7158 |
(gs.mak, jpeg.mak, lib.mak)
|
|
|
7159 |
- Some dependencies in the Unix install script were incorrect.
|
|
|
7160 |
(unixinst.mak)
|
|
|
7161 |
- Because of differences between shells, putting *.upp in the list
|
|
|
7162 |
of files to be installed didn't work with some shells. (unixinst.mak)
|
|
|
7163 |
- The PC makefiles were out of date. (bcwin32.mak, pcwin.mak,
|
|
|
7164 |
winint.mak, winlib.mak, dwmain.rc, gsdll32.rc)
|
|
|
7165 |
- Some makefiles still used $(DEV) instead of dev. (dvx-tail.mak,
|
|
|
7166 |
msvclib.mak, openvms.mak, os2.mak, pcwin.mak, watclib.mak, winlib.mak)
|
|
|
7167 |
- The DEVICE_DEVSn lists overflowed the DOS 120-character command
|
|
|
7168 |
line limit again. We had to add DEVICE_DEVS16 through 20 to work around
|
|
|
7169 |
this. (*.mak)
|
|
|
7170 |
- Preprocessor definitions have a different syntax on VMS. Fixing
|
|
|
7171 |
this required adding D_ and _D macros, similar to I_ and _I. This is a
|
|
|
7172 |
NON-BACKWARD-COMPATIBLE change, since these definitions are now required in
|
|
|
7173 |
each platform-specific makefile. (dvx-head.mak, openvms.mak, os2.mak,
|
|
|
7174 |
unixhead.mak, wccommon.mak, winlib.mak, zlib.mak)
|
|
|
7175 |
|
|
|
7176 |
Adds command line switches to generate additional warnings when compiling
|
|
|
7177 |
the auxiliary programs with gcc. (unix-gcc.mak)
|
|
|
7178 |
|
|
|
7179 |
Gets rid of the EXPP and SHP macros, since they aren't used or needed any
|
|
|
7180 |
longer. (gs.mak, bcwin32.mak, dvx-head.mak, msvccmd.mak, openvms.mak,
|
|
|
7181 |
os2.mak, unixhead.mak, watcw32.mak, wccommon.mak)
|
|
|
7182 |
|
|
|
7183 |
Changes the Unix EXP to null, since all executables now use an explicit
|
|
|
7184 |
directory prefix. (unixhead.mak)
|
|
|
7185 |
|
|
|
7186 |
Renames unix-cc.mak as unixtrad.mak, since people with ANSI-compatible cc
|
|
|
7187 |
were getting confused. (unix-cc.mak [deleted], unixtrad.mak)
|
|
|
7188 |
|
|
|
7189 |
Adds a -_ switch, for piped execution with buffering. (iminst.h,
|
|
|
7190 |
imainarg.c)
|
|
|
7191 |
|
|
|
7192 |
</pre><h3><a name="5.65_Utilities"></a>Utilities</h3><pre>
|
|
|
7193 |
|
|
|
7194 |
Fixes problems:
|
|
|
7195 |
- The revised ansi2knr didn't recognize "foo(void)" as a procedure
|
|
|
7196 |
definition. (ansi2knr.c)
|
|
|
7197 |
- ansi2knr didn't handle function definitions where the last
|
|
|
7198 |
formal parameter was a procedure parameter. (ansi2knr.c)
|
|
|
7199 |
|
|
|
7200 |
Adds a utility for printing an informative error page if a PostScript job
|
|
|
7201 |
fails. (lib/errpage.ps, doc/Psfiles.htm, unixinst.mak)
|
|
|
7202 |
|
|
|
7203 |
</pre><h3><a name="5.65_Drivers"></a>Drivers</h3><pre>
|
|
|
7204 |
|
|
|
7205 |
Fixes problems:
|
|
|
7206 |
- The [e]pswrite drivers produced incorrect output for images in
|
|
|
7207 |
non-Device color spaces. We fixed this by causing all other images to be
|
|
|
7208 |
handled as rectangles. This is clearly not satisfactory: we need to unify
|
|
|
7209 |
the PS and PDF writers in this area. (gdevps.c)
|
|
|
7210 |
- The CCITTFaxEncoded data produced by the [e]pswrite driver had
|
|
|
7211 |
both a Rows value and an EndOfBlock marker, which wasn't compatible with
|
|
|
7212 |
some Adobe interpreters. (gdevpsdf.c)
|
|
|
7213 |
- X devices couldn't be copied, because the copy didn't clear the
|
|
|
7214 |
list of X fonts and therefore tried to free it a second time. (gdevx.c,
|
|
|
7215 |
gdevxini.c)
|
|
|
7216 |
- gdevx.h declared a type called rect, conflicting with variables
|
|
|
7217 |
named rect. (gdevx.h, gdevx.c)
|
|
|
7218 |
- A function definition wasn't formatted properly to be
|
|
|
7219 |
recognized by ansi2knr. (gdevupd.c)
|
|
|
7220 |
- The PCL XL drivers crashed if given a masked image. (gdevpx.c)
|
|
|
7221 |
|
|
|
7222 |
Adds a PBM driver that writes separated CMYK, using the colors-used masks to
|
|
|
7223 |
skip bands. (devs.mak, gdevpbm.c)
|
|
|
7224 |
|
|
|
7225 |
Updates drivers that formerly supported the TextAlphaBits and
|
|
|
7226 |
GraphicsAlphaBits parameters themselves. (gdevmswn.h, gdevsvga.h,
|
|
|
7227 |
gdevpbm.c, gdevmswn.c, gdevpm.c, gdevwdib.c, gdevsvga.c, gdevxalt.c)
|
|
|
7228 |
|
|
|
7229 |
</pre><h3><a name="5.65_Platforms"></a>Platforms</h3><pre>
|
|
|
7230 |
|
|
|
7231 |
Fixes problems:
|
|
|
7232 |
- The stack size on the Watcom platform was set too small.
|
|
|
7233 |
(watc.mak)
|
|
|
7234 |
- The OpenVMS platform code and makefiles had gotten out of date.
|
|
|
7235 |
(gp_vms.c, openvms.mak)
|
|
|
7236 |
|
|
|
7237 |
</pre><h3><a name="5.65_Interpreter"></a>Interpreter</h3><pre>
|
|
|
7238 |
|
|
|
7239 |
Fixes problems:
|
|
|
7240 |
- The size of Indexed color space lookup tables wasn't set, possibly
|
|
|
7241 |
causing them to be corrupted during garbage collection. (zcsindex.c)
|
|
|
7242 |
- A function definition wasn't formatted properly to be
|
|
|
7243 |
recognized by ansi2knr. (icontext.c)
|
|
|
7244 |
- quit was only rebound to stop in encapsulated jobs, rather than in
|
|
|
7245 |
any context under control of a job server. Since we don't currently have
|
|
|
7246 |
any explicit way to indicate whether execution is under control of a job
|
|
|
7247 |
server, we consider that it is under a job server iff startjob has ever been
|
|
|
7248 |
executed. (lib/gs_lev2.ps)
|
|
|
7249 |
|
|
|
7250 |
Adds tracing output for removing an entry from a dictionary. (idict.c)
|
|
|
7251 |
|
|
|
7252 |
Slightly improves dictionary deletion so that it can replace a run of
|
|
|
7253 |
deleted keys with empty keys. (idict.c)
|
|
|
7254 |
|
|
|
7255 |
Adds statistics-gathering to the interpreter. (interp.c)
|
|
|
7256 |
|
|
|
7257 |
Adds more statistics-gathering to the dictionary stack search. (idstack.c)
|
|
|
7258 |
|
|
|
7259 |
Improves the debugging printout of packed arrays. (idebug.c)
|
|
|
7260 |
|
|
|
7261 |
Increases the name table allocation increment from 128 names (1.5K) to 256
|
|
|
7262 |
names (3K), to provide better scattering of name indices. (inamedef.h)
|
|
|
7263 |
|
|
|
7264 |
Changes the name count / index mapping to provide better scattering.
|
|
|
7265 |
(inamedef.h)
|
|
|
7266 |
|
|
|
7267 |
</pre><h3><a name="5.65_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
7268 |
|
|
|
7269 |
Fixes problems:
|
|
|
7270 |
- If a font other than the base 14 wasn't embedded and lacked a
|
|
|
7271 |
descriptor, an error occurred. (The PDF specification explicitly prohibits
|
|
|
7272 |
this, but Acrobat PDFWriter 3.02 for Windows produces PDF files with
|
|
|
7273 |
TrueType fonts that lack a descriptor.) (lib/pdf_font.ps)
|
|
|
7274 |
|
|
|
7275 |
</pre><h3><a name="5.65_Library"></a>Library</h3><pre>
|
|
|
7276 |
|
|
|
7277 |
Fixes problems:
|
|
|
7278 |
- The computation of colors used by CMYK halftones was incorrect.
|
|
|
7279 |
(gxclpath.c)
|
|
|
7280 |
- Some header files had preprocessor directives with a space before
|
|
|
7281 |
the #, which pre-ANSI compilers don't accept. (gpsync.h, gsjconf.h,
|
|
|
7282 |
gsmemlok.h, gxsync.h, gxxfont.h)
|
|
|
7283 |
- A number of prototypes didn't use the Pn macros. (gscolor2.h,
|
|
|
7284 |
gscsepr.h, gsptype1.h, gspcolor.c)
|
|
|
7285 |
- A function definition wasn't formatted properly to be
|
|
|
7286 |
recognized by ansi2knr. (gxcht.c)
|
|
|
7287 |
- The algorithm for reducing single-plane CMYK halftones to binary
|
|
|
7288 |
halftones was incorrect (bug introduced in 5.60). (gxdither.c)
|
|
|
7289 |
- Writing a degenerate triangle or parallelogram in the band list
|
|
|
7290 |
could cause a memory access error when rasterizing. (gxclrast.c)
|
|
|
7291 |
|
|
|
7292 |
Adds per-band "colors used" information to the information for a saved page,
|
|
|
7293 |
and procedures (gdev_prn_colors_used and gx_page_info_colors_used, defined
|
|
|
7294 |
in gdevprn.h) for accessing it. (gdevprn.h, gxband.h, gxclist.h, gdevprn.c,
|
|
|
7295 |
gxclist.c)
|
|
|
7296 |
|
|
|
7297 |
Adds an internal device that appears to clients as a multi-plane color
|
|
|
7298 |
device, and extracts a single plane for actual rendering. This device will
|
|
|
7299 |
be used to support planar output devices. (gdevplnx.h, gsbitops.h,
|
|
|
7300 |
gdevplnx.c)
|
|
|
7301 |
|
|
|
7302 |
Adds explicit color_info.text_anti_alias_bits and graphics_anti_alias_bits
|
|
|
7303 |
values in the device state, obsoleting the get_alpha_bits procedure, and
|
|
|
7304 |
makes them settable for all devices. (gxdevcli.h, gxdevice.h, gdevabuf.c,
|
|
|
7305 |
gdevdflt.c, gdevnfwd.c, gdevprn.c, gsdparam.c)
|
|
|
7306 |
|
|
|
7307 |
Reformats some code for readability. (gxdither.c)
|
|
|
7308 |
|
|
|
7309 |
Adds a tentative API for a procedure that allows band rasterizing directly
|
|
|
7310 |
into client's memory. This is tentative because we may need to add the
|
|
|
7311 |
ability to select an individual plane. (gdevprn.h)
|
|
|
7312 |
|
|
|
7313 |
</pre>
|
|
|
7314 |
|
|
|
7315 |
<hr>
|
|
|
7316 |
|
|
|
7317 |
<h2><a name="Version5.64"></a>Version 5.64 (internal) (11/5/98)</h2>
|
|
|
7318 |
|
|
|
7319 |
<p>
|
|
|
7320 |
This is another incremental fileset to fix problems for an external
|
|
|
7321 |
customer.
|
|
|
7322 |
|
|
|
7323 |
<h3><a name="5.64_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
7324 |
|
|
|
7325 |
(Drivers)
|
|
|
7326 |
- The output_page procedure of all drivers now must call
|
|
|
7327 |
gx_finish_output_page as its last action. (This doesn't affect ordinary
|
|
|
7328 |
printer or raster file drivers, which already call a common procedure.)
|
|
|
7329 |
|
|
|
7330 |
</pre><h3><a name="5.64_Documentation"></a>Documentation</h3><pre>
|
|
|
7331 |
|
|
|
7332 |
Fixes problems:
|
|
|
7333 |
- The instructions for creating 'makefile' on Unix systems were
|
|
|
7334 |
out of date. (doc/Make.htm)
|
|
|
7335 |
|
|
|
7336 |
</pre><h3><a name="5.64_Procedures"></a>Procedures</h3><pre>
|
|
|
7337 |
|
|
|
7338 |
Fixes problems:
|
|
|
7339 |
- An omitted return statement caused genconf to malfunction on some
|
|
|
7340 |
platforms. (genconf.c)
|
|
|
7341 |
- The replacement of MAKEFILES by TOP_MAKEFILES accidentally changed
|
|
|
7342 |
some comments that should not have been changed. (bcwin32.mak, gs.mak,
|
|
|
7343 |
msvctail.mak, openvms.mak, os2.mak, watcw32.mak, wctail.mak, winlib.mak)
|
|
|
7344 |
|
|
|
7345 |
</pre><h3><a name="5.64_Drivers"></a>Drivers</h3><pre>
|
|
|
7346 |
|
|
|
7347 |
Updates drivers to call gx_finish_output_page where needed. (gdev3b1.c,
|
|
|
7348 |
gdevcgm.c, gdevcp50.c, gdevpdf.c, gdevmswn.c, gdevpm.c, gdevps.c, gdevpx.c,
|
|
|
7349 |
gdevsnfb.c, gdevwprn.c, gdevx.c)
|
|
|
7350 |
|
|
|
7351 |
</pre><h3><a name="5.64_Library"></a>Library</h3><pre>
|
|
|
7352 |
|
|
|
7353 |
Fixes problems:
|
|
|
7354 |
- The FontBBox workaround introduced in 5.63 didn't work properly.
|
|
|
7355 |
(zchar1.c)
|
|
|
7356 |
- PageCount was getting incremented in the first device of a device
|
|
|
7357 |
pipeline, rather than in the last one and being propagated back.
|
|
|
7358 |
(gxdevice.h, gdevbbox.c, gdevdflt.c, gdevnfwd.c, gdevprn.c, gdevprna.c,
|
|
|
7359 |
gsdevice.c)
|
|
|
7360 |
|
|
|
7361 |
</pre>
|
|
|
7362 |
|
|
|
7363 |
<hr>
|
|
|
7364 |
|
|
|
7365 |
<h2><a name="Version5.63"></a>Version 5.63 (internal) (11/4/98)</h2>
|
|
|
7366 |
|
|
|
7367 |
<p>
|
|
|
7368 |
This fileset was driven by the development needs of an external customer,
|
|
|
7369 |
primarily related to asynchronous rendering. It includes a few bug fixes as
|
|
|
7370 |
well.
|
|
|
7371 |
|
|
|
7372 |
<h3><a name="5.63_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
7373 |
|
|
|
7374 |
(Procedures)
|
|
|
7375 |
- In the makefiles, changes the name MAKEFILES to TOP_MAKEFILES.
|
|
|
7376 |
|
|
|
7377 |
(Library)
|
|
|
7378 |
- The pis member of the Type 1 interpreter state was renamed in
|
|
|
7379 |
order to catch places that assumed it was set. (It may now be 0.) This
|
|
|
7380 |
should not affect any client code.
|
|
|
7381 |
- gx_page_queue_dnit and gx_page_queue_finish_dequeue now free the
|
|
|
7382 |
band list information associated with the page_info in the queue entry. An
|
|
|
7383 |
explicit call of gx_page_queue_entry_free_page_info is now required to free
|
|
|
7384 |
this information before any other call of gx_page_queue_entry_free.
|
|
|
7385 |
|
|
|
7386 |
</pre><h3><a name="5.63_Documentation"></a>Documentation</h3><pre>
|
|
|
7387 |
|
|
|
7388 |
Fixes problems:
|
|
|
7389 |
- devs.mak incorrectly referred to msdevs.mak rather than pcwin.mak.
|
|
|
7390 |
(devs.mak)
|
|
|
7391 |
|
|
|
7392 |
</pre><h3><a name="5.63_Procedures"></a>Procedures</h3><pre>
|
|
|
7393 |
|
|
|
7394 |
Fixes problems:
|
|
|
7395 |
- There was a $ in the makefile that wasn't quoted. (unix-gcc.mak)
|
|
|
7396 |
- The name MAKEFILES has a special meaning in GNU make which only be
|
|
|
7397 |
disabled by using a directive that is a syntactic error for standard 'make'
|
|
|
7398 |
implementations. We had to work around this by changing all occurrences of
|
|
|
7399 |
MAKEFILES to TOP_MAKEFILES. (*.mak)
|
|
|
7400 |
- genconf did the wrong thing for modules with names shorter than
|
|
|
7401 |
5 characters. (genconf.c)
|
|
|
7402 |
|
|
|
7403 |
</pre><h3><a name="5.63_Drivers"></a>Drivers</h3><pre>
|
|
|
7404 |
|
|
|
7405 |
Updates the Canon BJC library, changing the names of the files. This code
|
|
|
7406 |
is still very preliminary. (gdevbjcl.h, gdevbjcl.c)
|
|
|
7407 |
|
|
|
7408 |
</pre><h3><a name="5.63_Interpreter"></a>Interpreter</h3><pre>
|
|
|
7409 |
|
|
|
7410 |
Fixes problems:
|
|
|
7411 |
- Some Type 1 fonts have a plausible but incorrect (too-small)
|
|
|
7412 |
FontBBox, causing some characters to be clipped. We work around this by
|
|
|
7413 |
enlarging the FontBBox and restarting the rasterization if the outline goes
|
|
|
7414 |
outside the FontBBox. (zchar1.c)
|
|
|
7415 |
|
|
|
7416 |
</pre><h3><a name="5.63_Library"></a>Library</h3><pre>
|
|
|
7417 |
|
|
|
7418 |
Fixes problems:
|
|
|
7419 |
- gx_default_strip_copy_rop didn't check for zero width before
|
|
|
7420 |
dividing by it. (gdevdrop.c)
|
|
|
7421 |
- Some places that called a procedure returning void tried to use
|
|
|
7422 |
the return value. (gximage.c, gximage1.c, gximage4.c)
|
|
|
7423 |
- The flatness for rendering Type 1 characters was set incorrectly
|
|
|
7424 |
(always set to 0, producing best accuracy at extra cost) for characters not
|
|
|
7425 |
in portrait orientation. (gxtype1.c)
|
|
|
7426 |
- clist_begin_typed_image incorrectly used the memory manager client
|
|
|
7427 |
name "clist_begin_image". (gxclimag.c)
|
|
|
7428 |
- If a page queue entry was created without a page_info, the entry's
|
|
|
7429 |
page_info wasn't initialized, probably causing a crash when attempting to
|
|
|
7430 |
free the (nonexistent) associated band files later. (gxpageq.c)
|
|
|
7431 |
|
|
|
7432 |
More fully supports the use of saved page_info objects for decoupling banded
|
|
|
7433 |
rendering from band list construction:
|
|
|
7434 |
- Adds the ability to close and free the command list associated
|
|
|
7435 |
with a saved page. (gxclist.h, gxclist.c)
|
|
|
7436 |
- Separates freeing of the band list information associated with a
|
|
|
7437 |
page queue entry from freeing the entry itself. (gxpageq.h, gxpageq.c)
|
|
|
7438 |
- Changes the rendering thread for asynchronous band rendering so
|
|
|
7439 |
that it doesn't try to free the band list information twice. (gdevprna.c)
|
|
|
7440 |
|
|
|
7441 |
Implements triangles and parallelograms in the band list, primarily for the
|
|
|
7442 |
sake of smooth shading. (gxclpath.h, gxclist.c, gxclpath.c, gxclrast.c)
|
|
|
7443 |
|
|
|
7444 |
Adds a rectangle merging procedure, parallel to rectangle intersection.
|
|
|
7445 |
This is needed for the FontBBox fix. (gsrect.h)
|
|
|
7446 |
|
|
|
7447 |
Adds logic for keeping track of what pixel values are used in which bands.
|
|
|
7448 |
Currently this information is not used for anything. (gdevmrop.h, gsropt.h,
|
|
|
7449 |
gxcldev.h, gxclpath.h, gxclrect.c, gxclpath.c, gxclimag.c)
|
|
|
7450 |
|
|
|
7451 |
Updates a few more files for readability and coding conventions.
|
|
|
7452 |
(gxband.h, gxpageq.c)
|
|
|
7453 |
|
|
|
7454 |
Updates users of gxband.h and gxpageq.h. (gdevprn.h, gxclist.h, gxpageq.h,
|
|
|
7455 |
gdevprna.c, gxclpage.c, gxclread.c)
|
|
|
7456 |
|
|
|
7457 |
Moves the definition of the page queue into the (private) implementation
|
|
|
7458 |
file. (gxpageq.h, gxpageq.c)
|
|
|
7459 |
|
|
|
7460 |
</pre>
|
|
|
7461 |
|
|
|
7462 |
<hr>
|
|
|
7463 |
|
|
|
7464 |
<h2><a name="Version5.62"></a>Version 5.62 (internal) (10/31/98)</h2>
|
|
|
7465 |
|
|
|
7466 |
<p>
|
|
|
7467 |
This fileset concludes this round of work on (primarily color) performance
|
|
|
7468 |
improvement. It contains almost no new bug fixes.
|
|
|
7469 |
|
|
|
7470 |
<h3><a name="5.62_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
7471 |
|
|
|
7472 |
(Library)
|
|
|
7473 |
- Clients that load the CIE caches themselves must now reset the
|
|
|
7474 |
procedures to the _from_cache values. (This affects the PostScript
|
|
|
7475 |
interpreter, but no ordinary library clients.)
|
|
|
7476 |
- gs_cie_compute_wbsd (an internal procedure) was changed to
|
|
|
7477 |
gs_cie_compute_points_sd, with different parameters.
|
|
|
7478 |
|
|
|
7479 |
</pre><h3><a name="5.62_Documentation"></a>Documentation</h3><pre>
|
|
|
7480 |
|
|
|
7481 |
Adds information about problems with PDF files copied from Macintosh
|
|
|
7482 |
environments. (doc/Use.htm)
|
|
|
7483 |
|
|
|
7484 |
</pre><h3><a name="5.62_Drivers"></a>Drivers</h3><pre>
|
|
|
7485 |
|
|
|
7486 |
Adds a library for generating Canon BJC commands. This code is subject to
|
|
|
7487 |
change without notice! (gdevcbjc.h, gdevcbjc.c)
|
|
|
7488 |
|
|
|
7489 |
</pre><h3><a name="5.62_Interpreter"></a>Interpreter</h3><pre>
|
|
|
7490 |
|
|
|
7491 |
Fixes problems:
|
|
|
7492 |
- The structures allocated for CIE RenderTables weren't marked
|
|
|
7493 |
correctly for garbage collection, possibly mangling the output. (zcie.c)
|
|
|
7494 |
- The CIE color space procedures weren't reset after the cache was
|
|
|
7495 |
loaded, producing incorrect output now that it matters. (zcie.c, zcrd.c)
|
|
|
7496 |
|
|
|
7497 |
</pre><h3><a name="5.62_Library"></a>Library</h3><pre>
|
|
|
7498 |
|
|
|
7499 |
Fixes problems:
|
|
|
7500 |
- Under some circumstances, a setbbox didn't take effect.
|
|
|
7501 |
(gxpcopy.c)
|
|
|
7502 |
- The last step of CIE color mapping didn't clamp the very top end
|
|
|
7503 |
of the range correctly. (gsciemap.c)
|
|
|
7504 |
|
|
|
7505 |
Speeds up bits_replicate_horizontally a bit more. (gsbitops.c)
|
|
|
7506 |
|
|
|
7507 |
Separates the CIE color mapping code from CIE cache loading, since the file
|
|
|
7508 |
was getting too big. (gscie.h, gscie.c, gsciemap.c)
|
|
|
7509 |
|
|
|
7510 |
Finishes adding the hooks for skipping steps during CIE color mapping when
|
|
|
7511 |
possible, and implements one case of step-skipping. (gscie.h, gscie.c,
|
|
|
7512 |
gsciemap.c, gscrd.c)
|
|
|
7513 |
|
|
|
7514 |
Adds more tracing to the CIE color machinery. (gscie.c)
|
|
|
7515 |
|
|
|
7516 |
Changes the default number of tiles for the colored halftone screen caches
|
|
|
7517 |
from 1 to 4, substantially reducing cache turnover. (gsht1.c, gshtx.c,
|
|
|
7518 |
gxclrast.c)
|
|
|
7519 |
|
|
|
7520 |
</pre>
|
|
|
7521 |
|
|
|
7522 |
<hr>
|
|
|
7523 |
|
|
|
7524 |
<h2><a name="Version5.61"></a>Version 5.61 (internal) (10/28/98)</h2>
|
|
|
7525 |
|
|
|
7526 |
<p>
|
|
|
7527 |
More rendering speedups, and fixes for many of the minor problems reported
|
|
|
7528 |
in 5.50.
|
|
|
7529 |
|
|
|
7530 |
<h3><a name="5.61_Documentation"></a>Docmentation</h3><pre>
|
|
|
7531 |
|
|
|
7532 |
Fixes problems:
|
|
|
7533 |
- There were still some incorrect references to .txt files.
|
|
|
7534 |
(gs.mak, libpng.mak)
|
|
|
7535 |
- Two references to libpng should have referred to libjpeg.
|
|
|
7536 |
(gs.mak)
|
|
|
7537 |
|
|
|
7538 |
</pre><h3><a name="5.61_Procedures"></a>Procedures</h3><pre>
|
|
|
7539 |
|
|
|
7540 |
Fixes problems:
|
|
|
7541 |
- GNU 'make' treats the name MAKEFILES specially. (unix-gcc.mak)
|
|
|
7542 |
- genconf didn't sort libraries in the right order. (genconf.c)
|
|
|
7543 |
- The dependency for ansi2knr, and the invocation of ccgs, didn't
|
|
|
7544 |
include the directory name. (ccgs, unix-cc.mak)
|
|
|
7545 |
- The CC_ and CCAUX rules didn't invoke the new ccgs correctly.
|
|
|
7546 |
(unix-cc.mak)
|
|
|
7547 |
- There was a typo in a comment. (unixtail.mak)
|
|
|
7548 |
- gcc versions of the form 2.7.2.f.1 weren't recognized as having
|
|
|
7549 |
the const-related code generation bug. (unix-gcc.mak)
|
|
|
7550 |
|
|
|
7551 |
Documents workaround for bugs in newer IRIX compilers. (doc/Make.htm)
|
|
|
7552 |
|
|
|
7553 |
</pre><h3><a name="5.61_Utilities"></a>Utilities</h3><pre>
|
|
|
7554 |
|
|
|
7555 |
Fixes problems:
|
|
|
7556 |
- ansi2knr didn't understand the new formatting of the enum_ptrs and
|
|
|
7557 |
reloc_ptrs procedures, which now don't have a left brace on the same line as
|
|
|
7558 |
the macro call that defines the procedure. (ansi2knr.c)
|
|
|
7559 |
|
|
|
7560 |
Adds a utility for viewing MIFF files. (lib/viewmiff.ps)
|
|
|
7561 |
|
|
|
7562 |
</pre><h3><a name="5.61_Drivers"></a>Drivers</h3><pre>
|
|
|
7563 |
|
|
|
7564 |
Fixes problems:
|
|
|
7565 |
- The X driver could report a depth (e.g., 15 bits) that caused
|
|
|
7566 |
problems elsewhere. (gdevxini.c)
|
|
|
7567 |
- With the X driver, if the display is grey-scale or does not have
|
|
|
7568 |
enough colors to allocate a color ramp, Ghostscript crashed in
|
|
|
7569 |
x_map_color_rgb due to an array index overflow. (gdevx.c)
|
|
|
7570 |
- The PDF writer used the X scaling of fonts to determine the point
|
|
|
7571 |
size rather than the Y scaling, which gives the wrong result for synthetic
|
|
|
7572 |
condensed fonts. (gdevpdft.c)
|
|
|
7573 |
- If the last thing written before a flushpage was text, the X
|
|
|
7574 |
driver might fail to display it. (gdevx.c)
|
|
|
7575 |
- The PDF writer didn't free the streams created for image
|
|
|
7576 |
compression, causing a memory leak. (gdevpsdf.c)
|
|
|
7577 |
- pswrite didn't output a command to set the page size. (gdevps.c)
|
|
|
7578 |
|
|
|
7579 |
Removes an obsolete comment and commented-out line. (gdevxalt.c)
|
|
|
7580 |
|
|
|
7581 |
</pre><h3><a name="5.61_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
7582 |
|
|
|
7583 |
Fixes problems:
|
|
|
7584 |
- Explicit (not resource) Indexed color spaces caused an error.
|
|
|
7585 |
(lib/pdf_draw.ps)
|
|
|
7586 |
|
|
|
7587 |
</pre><h3><a name="5.61_Streams"></a>Streams</h3><pre>
|
|
|
7588 |
|
|
|
7589 |
Fixes problems:
|
|
|
7590 |
- The PNGPredictor filters didn't free their row buffer. (spngp.c)
|
|
|
7591 |
- The PNGPredictor filters didn't handle end-of-data correctly.
|
|
|
7592 |
(spngp.c)
|
|
|
7593 |
|
|
|
7594 |
Changes the eexec filter to ignore % characters when reading
|
|
|
7595 |
ASCIIHex-encoded data. This is contrary to the Adobe documentation, but one
|
|
|
7596 |
badly coded prologue requires it. (seexec.c)
|
|
|
7597 |
|
|
|
7598 |
</pre><h3><a name="5.61_Library"></a>Library</h3><pre>
|
|
|
7599 |
|
|
|
7600 |
Fixes problems:
|
|
|
7601 |
- The definition of TRANSPARENCY_PER_H_P was in the wrong module,
|
|
|
7602 |
causing it to be ignored. (gdevmrop.h, gdevdrop.c)
|
|
|
7603 |
- There was a typo in the tracing output for init_tile_cursor.
|
|
|
7604 |
(gxcht.c)
|
|
|
7605 |
- gx_get_bits_copy computed the standard raster incorrectly if
|
|
|
7606 |
the destination used a different color representation from the source,
|
|
|
7607 |
causing multi-line transfers to be done incorrectly. (gdevdgbr.c)
|
|
|
7608 |
- Parentheses were missing around the use of width_bits in the
|
|
|
7609 |
definition of bitmap_raster, possibly causing incorrect computation.
|
|
|
7610 |
(gxbitmap.h)
|
|
|
7611 |
- When rendering a Pattern, a singular CTM caused an error even if
|
|
|
7612 |
the Pattern was empty. (gspcolor.c)
|
|
|
7613 |
- The lookup table wasn't allocated for device-originated CRDs.
|
|
|
7614 |
(gscrdp.c)
|
|
|
7615 |
- If an error occurred when setting up to rasterize a band,
|
|
|
7616 |
data_bits could be freed without ever having been initialized. (gxclrast.c)
|
|
|
7617 |
- Processing a CIE-color image with a color space different from the
|
|
|
7618 |
current color space caused an error. (gscie.c)
|
|
|
7619 |
- The speedup for bits_replicate_horizontally had an algorithm
|
|
|
7620 |
error, producing incorrect output. (gsbitops.c)
|
|
|
7621 |
|
|
|
7622 |
Splits up the memory device implementation of RasterOp, since the file was
|
|
|
7623 |
getting too large. (gdevmem.h, gdevm1.c, gdevm8.c, gdevm16.c, gdevm24.c,
|
|
|
7624 |
gdevm32.c, gdevmrop.c [deleted], gdevmr1.c, gdevmr2n.c, gdevmr8n.c,
|
|
|
7625 |
gsnorop.c)
|
|
|
7626 |
|
|
|
7627 |
Cleans up a little formatting. (gsbittab.h)
|
|
|
7628 |
|
|
|
7629 |
Speeds up the default RasterOp implementation some more. (gdevdgbr.c,
|
|
|
7630 |
gdevdrop.c, gdevmem.c)
|
|
|
7631 |
|
|
|
7632 |
Speeds up testing whether a given halftone level is already present in its
|
|
|
7633 |
cache. (gzht.h, gxht.c)
|
|
|
7634 |
|
|
|
7635 |
Speeds up 1-bit CMYK halftones a bit more. (gxcht.c)
|
|
|
7636 |
|
|
|
7637 |
Makes filling always use the (much faster) trapezoid-based algorithm if the
|
|
|
7638 |
region being filled is a rectangle. (gxfill.c)
|
|
|
7639 |
|
|
|
7640 |
</pre>
|
|
|
7641 |
|
|
|
7642 |
<hr>
|
|
|
7643 |
|
|
|
7644 |
<h2><a name="Version5.60"></a>Version 5.60 (internal) (10/18/98)</h2>
|
|
|
7645 |
|
|
|
7646 |
<p>
|
|
|
7647 |
This fileset incorporates many performance enhancements for 1-bit CMYK
|
|
|
7648 |
devices, especially for PCL 5c interpretation.
|
|
|
7649 |
|
|
|
7650 |
<p>
|
|
|
7651 |
This fileset divides the files into subdirectories. In the lists of changed
|
|
|
7652 |
files, files with no explicit subdirectory name are in the src subdirectory.
|
|
|
7653 |
The revised OpenVMS and OS/2 makefiles have not been tested.
|
|
|
7654 |
|
|
|
7655 |
<h3><a name="5.60_Incompatible_changes"></a>Incompatible changes</h3><pre>
|
|
|
7656 |
|
|
|
7657 |
(Procedures)
|
|
|
7658 |
- The instructions for font compilation in doc/Fonts.htm are
|
|
|
7659 |
different.
|
|
|
7660 |
- The fileset has been split into multiple directories; the source
|
|
|
7661 |
code and makefiles are now in src/.
|
|
|
7662 |
- The top-level makefile requires a definition for BINDIR for the
|
|
|
7663 |
directory to hold the final executable.
|
|
|
7664 |
- Every .dev rule of the form
|
|
|
7665 |
xxx.dev: <list>
|
|
|
7666 |
$(SETyyy) xxx <items>
|
|
|
7667 |
$(ADDMOD) xxx <items>
|
|
|
7668 |
must be changed to
|
|
|
7669 |
$(DD)xxx.dev: <list>
|
|
|
7670 |
$(SETyyy) $(DD)xxx <items>
|
|
|
7671 |
$(ADDMOD) $(DD)xxx <items>
|
|
|
7672 |
(DD for drivers, PSD for PostScript/PDF-interpreter features, GLD for
|
|
|
7673 |
graphics library features). Every -include and -replace option in the
|
|
|
7674 |
makefiles rules, and every element of FEATURE_DEVS and DEVICE_DEVS*, must be
|
|
|
7675 |
changed similarly. This is very unfortunate, especially since people
|
|
|
7676 |
editing FEATURE_DEVS and DEVICE_DEVS* must now know which subsystem
|
|
|
7677 |
implements a particular feature; but we tried 3 different ways to get the
|
|
|
7678 |
generated .dev files out of the top-level directory, and this was the only
|
|
|
7679 |
one we could make work.
|
|
|
7680 |
- Top-level makefiles must define both MAKEFILE and MAKEFILES,
|
|
|
7681 |
the latter to include any subsidiary makefiles that define configuration
|
|
|
7682 |
parameters. Dependencies on $(MAKEFILE) must be changed to $(MAKEFILES).
|
|
|
7683 |
- Color space objects now must either be allocated with the
|
|
|
7684 |
gs_cspace_build_ procedures or initialized with the gs_cspace_init_
|
|
|
7685 |
procedures: building color spaces "by hand" is no longer allowed.
|
|
|
7686 |
|
|
|
7687 |
(Library)
|
|
|
7688 |
- There are new required elements of the gs_image_type_t structure.
|
|
|
7689 |
- The binary and colored variants of gx_device_halftone have
|
|
|
7690 |
changed. (No APIs are affected.)
|
|
|
7691 |
- If a device changes its (effective) color mapping algorithm other
|
|
|
7692 |
than as a side effect of put_params, it must call
|
|
|
7693 |
gx_device_decache_colors(dev).
|
|
|
7694 |
|
|
|
7695 |
</pre><h3><a name="5.60_Documentation"></a>Documentation</h3><pre>
|
|
|
7696 |
|
|
|
7697 |
Fixes problems:
|
|
|
7698 |
- Some files still referred to .doc files rather than .htm.
|
|
|
7699 |
(gsiparam.h, imain.h)
|
|
|
7700 |
- Version 5.50 was incorrectly identified as a beta version.
|
|
|
7701 |
(doc/News.htm)
|
|
|
7702 |
- The instructions for cross-compilation were seriously
|
|
|
7703 |
incomplete. (doc/Make.htm)
|
|
|
7704 |
|
|
|
7705 |
Adds a text-only README file. (doc/README)
|
|
|
7706 |
|
|
|
7707 |
Updates the instructions for font compilation. (doc/Fonts.htm)
|
|
|
7708 |
|
|
|
7709 |
Updates the instructions for device and feature selection. (doc/Make.htm)
|
|
|
7710 |
|
|
|
7711 |
Adds material on 8.3 file names, compiler warning messages, and graphics
|
|
|
7712 |
library error codes to the C style guide. (doc/C-style.htm)
|
|
|
7713 |
|
|
|
7714 |
Adds a note about gx_device_decache_colors. (doc/Drivers.htm)
|
|
|
7715 |
|
|
|
7716 |
Improves formatting slightly. (doc/Install.htm, doc/Use.htm)
|
|
|
7717 |
|
|
|
7718 |
</pre><h3><a name="5.60_Procedures"></a>Procedures</h3><pre>
|
|
|
7719 |
|
|
|
7720 |
Fixes problems:
|
|
|
7721 |
- The Unix install script referred to an obsolete ps2image.ps file.
|
|
|
7722 |
(unixinst.mak)
|
|
|
7723 |
- The Unix CC script had some duplicated definitions. (unix-cc.mak)
|
|
|
7724 |
- The DVX makefile referred to int.mak in GLSRC rather than PSSRC.
|
|
|
7725 |
(dvx-gcc.mak)
|
|
|
7726 |
- rollconv.ps wasn't installed with the other utilities.
|
|
|
7727 |
(unixinst.mak)
|
|
|
7728 |
- Some definitions of MAKEFILE lacked a directory name. (os2.mak,
|
|
|
7729 |
unix-cc.mak, unixansi.mak, watclib.mak)
|
|
|
7730 |
- There were inappropriate dependencies on a file with the literal
|
|
|
7731 |
name `makefile'. (bcwin32.mak, gs.mak, watc32.mak)
|
|
|
7732 |
- Unix systems didn't use -fomit-frame-pointer when possible.
|
|
|
7733 |
(unix-cc.mak, unix-gcc.mak, unixansi.mak, unix-end.mak)
|
|
|
7734 |
|
|
|
7735 |
Restructures the source files into multiple subdirectories:
|
|
|
7736 |
src/ - files needed at build time: *.mak, *.h, *.c, *.cpp, *.icx, *.rc,
|
|
|
7737 |
*.cmd, ??.bat, *.com, *.rps, *.dif, *.cfg
|
|
|
7738 |
lib/ - files needed at run time: *_*.ps, *.ppd, *.upp, *.bat
|
|
|
7739 |
doc/ - documentation other than man pages: *.htm, *.txt
|
|
|
7740 |
man/ - man pages: *.1
|
|
|
7741 |
examples/ - sample input data: *.ps, *.eps, *.pdf
|
|
|
7742 |
Also incorporates the font compilation makefile into the main makefile,
|
|
|
7743 |
since the former now depends on parameters defined in the latter. (*.mak)
|
|
|
7744 |
|
|
|
7745 |
****** HAVEN'T SETTLED HOW TO HANDLE .ico FILES ******
|
|
|
7746 |
|
|
|
7747 |
NOTE: Still need to update: openvms.mak, os2.mak.
|
|
|
7748 |
|
|
|
7749 |
Updates the Unix install script for the directory split. (unixinst.mak)
|
|
|
7750 |
|
|
|
7751 |
Updates the font compilation makefile rules to handle alternate directories.
|
|
|
7752 |
(cfonts.mak, int.mak)
|
|
|
7753 |
|
|
|
7754 |
****** PROBLEM: cfonts.mak NEEDS CCFONT, BUT int.mak NEEDS CF* FOR ADDING
|
|
|
7755 |
ONE'S OWN FONTS ******
|
|
|
7756 |
|
|
|
7757 |
Removes useless dependencies on gs_*.ps files. (int.mak)
|
|
|
7758 |
|
|
|
7759 |
Moves the .dev files into the GEN directories where they belong. (gs.mak,
|
|
|
7760 |
dvx-tail.mak, msvclib.mak, openvms.mak, os2.mak, pcwin.mak, ugcclib.mak,
|
|
|
7761 |
unixhead.mak, unixtail.mak, unix-end.mak, watc.mak, watclib.mak, winlib.mak,
|
|
|
7762 |
echogs.c, genconf.c) ****** NO_OP FOR dvx HASN'T BEEN VERIFIED ******
|
|
|
7763 |
NOTE: Still to do:
|
|
|
7764 |
src/bcwin32.mak
|
|
|
7765 |
src/dvx-gcc.mak
|
|
|
7766 |
src/dvx-head.mak
|
|
|
7767 |
src/dvx-tail.mak
|
|
|
7768 |
src/msvc32.mak
|
|
|
7769 |
src/msvccmd.mak
|
|
|
7770 |
src/msvclib.mak
|
|
|
7771 |
src/msvctail.mak
|
|
|
7772 |
src/openvms.mak
|
|
|
7773 |
src/os2.mak
|
|
|
7774 |
src/pcwin.mak
|
|
|
7775 |
src/ugcclib.mak
|
|
|
7776 |
src/watc.mak
|
|
|
7777 |
src/watclib.mak
|
|
|
7778 |
src/watcw32.mak
|
|
|
7779 |
src/wccommon.mak
|
|
|
7780 |
src/wctail.mak
|
|
|
7781 |
src/winint.mak
|
|
|
7782 |
src/winlib.mak
|
|
|
7783 |
|
|
|
7784 |
Adds a new BINDIR directory for the final executable (and associated files
|
|
|
7785 |
like resource files). After building, only the contents of BINDIR and lib
|
|
|
7786 |
are needed for execution. (gs.mak, unix-end.mak) ****** NEED TO DO
|
|
|
7787 |
openvms.mak, os2.mak, OTHER PC MAKEFILES ******
|
|
|
7788 |
|
|
|
7789 |
Updates libpng to version 1.0.2. (libpng.mak)
|
|
|
7790 |
|
|
|
7791 |
</pre><h3><a name="5.60_Utilities"></a>Utilities</h3><pre>
|
|
|
7792 |
|
|
|
7793 |
Adds a new switch, -b, to echogs. (echogs.c)
|
|
|
7794 |
|
|
|
7795 |
</pre><h3><a name="5.60_Drivers"></a>Drivers</h3><pre>
|
|
|
7796 |
|
|
|
7797 |
Updates the PDF writer for the change in color space initialization.
|
|
|
7798 |
(gdevpdfi.c)
|
|
|
7799 |
|
|
|
7800 |
Speeds up the pkmraw driver a bit more. (gdevpbm.c)
|
|
|
7801 |
|
|
|
7802 |
Updates some drivers to use the new CMYK color mapping procedures.
|
|
|
7803 |
(gdevpbm.c, gdevpcx.c, gdevxalt.c)
|
|
|
7804 |
|
|
|
7805 |
Updates one driver that maintained its own color cache. (gdevxalt.c)
|
|
|
7806 |
|
|
|
7807 |
Removes some compiler warnings (mostly about "uninitialized" variables).
|
|
|
7808 |
(gdevpdfo.c, gdevpdft.c, gdevpx.c)
|
|
|
7809 |
|
|
|
7810 |
Adds another driver for the H-P Color LaserJet 5/5M. (gdevcljc.c)
|
|
|
7811 |
|
|
|
7812 |
</pre><h3><a name="5.60_Platforms"></a>Platforms</h3><pre>
|
|
|
7813 |
|
|
|
7814 |
Fixes problems:
|
|
|
7815 |
- A change in the MetroWerks C compiler caused the hypot function
|
|
|
7816 |
to become declared. (math_.h)
|
|
|
7817 |
|
|
|
7818 |
</pre><h3><a name="5.60_Interpreter"></a>Interpreter</h3><pre>
|
|
|
7819 |
|
|
|
7820 |
Updates the compiled font code for updates in the type declarations.
|
|
|
7821 |
(iccfont.c, icfontab.c)
|
|
|
7822 |
|
|
|
7823 |
Cleans up some more formatting and macros. (ccfont.h, errors.h, icfontab.c,
|
|
|
7824 |
interp.c)
|
|
|
7825 |
|
|
|
7826 |
Updates clients for the change in color space initialization. (zcsdevn.c,
|
|
|
7827 |
zcsindex.c, zcspixel.c, zcssepr.c, zpcolor.c)
|
|
|
7828 |
|
|
|
7829 |
Updates the memory validator for the addition of the large-block freelist.
|
|
|
7830 |
(ilocate.c)
|
|
|
7831 |
|
|
|
7832 |
</pre><h3><a name="5.60_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
7833 |
|
|
|
7834 |
Fixes problems:
|
|
|
7835 |
- If the final %%EOF was followed by any blanks before the newline,
|
|
|
7836 |
an error would occur. (lib/pdf_main.ps)
|
|
|
7837 |
|
|
|
7838 |
</pre><h3><a name="5.60_Streams"></a>Streams</h3><pre>
|
|
|
7839 |
|
|
|
7840 |
Fixes problems:
|
|
|
7841 |
- The LZWDecode filter wouldn't handle a file that had 4096-256-2+1
|
|
|
7842 |
data items before the reset. (We think this is a bug in the file, but
|
|
|
7843 |
Acrobat accepts it.) (slzwx.h, slzwd.c)
|
|
|
7844 |
|
|
|
7845 |
Rearranges code slightly to improve readability. (spdiff.c)
|
|
|
7846 |
|
|
|
7847 |
</pre><h3><a name="5.60_Library"></a>Library</h3><pre>
|
|
|
7848 |
|
|
|
7849 |
Fixes problems:
|
|
|
7850 |
- Changing the resolution (or any other parameter) of the bbox
|
|
|
7851 |
device from the command line caused an invalid memory access. (gdevbbox.c)
|
|
|
7852 |
- When banding, if the very first drawing operation involved a
|
|
|
7853 |
halftone with non-zero phase, an arithmetic exception occurred.
|
|
|
7854 |
(gxclpath.c)
|
|
|
7855 |
- When banding, the X offset of the band was negated, producing
|
|
|
7856 |
incorrect output when placing multiple source pages on a single output page.
|
|
|
7857 |
(gxclread.c)
|
|
|
7858 |
- When banding, rotated images crossing band boundaries produced
|
|
|
7859 |
incorrect output, because the subrectangle X value was inconsistent with the
|
|
|
7860 |
amount of data transmitted. (gxclimag.c)
|
|
|
7861 |
- When banding, the clipping check didn't take interpolation support
|
|
|
7862 |
into account. (gxclimag.c)
|
|
|
7863 |
- The clipping check for banding used (int) to take the floor of
|
|
|
7864 |
floating point values, which is wrong for negative values. (gxclimag.c)
|
|
|
7865 |
- The bounding box device didn't return an empty bounding
|
|
|
7866 |
rectangle if nothing had been written to it. (gdevbbox.c)
|
|
|
7867 |
- A value was conditional on a debugging switch even if DEBUG wasn't
|
|
|
7868 |
defined. (gxcht.c)
|
|
|
7869 |
- Filling a region with a large colored halftone, a non-default
|
|
|
7870 |
RasterOp, and a non-null RasterOp source could cause only part of the region
|
|
|
7871 |
to be filled. (gxcht.c) ****** NOT FIXED YET ******
|
|
|
7872 |
- Type 1 fonts that used very large numbers (>= 2^19) caused a
|
|
|
7873 |
rangecheck. We've fixed this for the only case that seems to matter, namely
|
|
|
7874 |
<very-large-number> <number> div. (gxtype1.h, gstype1.c)
|
|
|
7875 |
- The memory-based band list allocator failed to return an error
|
|
|
7876 |
code from memfile_next_blk. (gxclmem.c)
|
|
|
7877 |
- When recovering from a low-band-list-memory condition while
|
|
|
7878 |
writing an image, the record of the current image enumeration
|
|
|
7879 |
(cdev->image_enum_id) wasn't updated. (gxclimag.c)
|
|
|
7880 |
- The estimated memory requirement for the band list rasterizer was
|
|
|
7881 |
too small. (gdevprna.c)
|
|
|
7882 |
|
|
|
7883 |
Adds some tracing to mask clipping. (gxclipm.c)
|
|
|
7884 |
|
|
|
7885 |
Speeds up masked images by doing mask clipping before halftoning, using a
|
|
|
7886 |
more efficient mask scanning algorithm, and checking for vertical blocks of
|
|
|
7887 |
1s. (gxclipm.c)
|
|
|
7888 |
|
|
|
7889 |
Speeds up ImageType 4 images greatly by incorporating the color-key check
|
|
|
7890 |
into the ImageType 1 rendering code. NOTE: the 12-bit case has not been
|
|
|
7891 |
tested. (gxcpath.h, gximage.h, gxi12bit.c, gxicolor.c, gxifast.c,
|
|
|
7892 |
gxiinit.c, gximage4.c, gximono.c, gxiscale.c)
|
|
|
7893 |
|
|
|
7894 |
Implements passing ImageType 4 images (and potentially others) through the
|
|
|
7895 |
band list. This involves adding image parameter writing and reading
|
|
|
7896 |
procedures to the image type structure. (gscdefs.h, gsiparam.h, gsiparm2.h,
|
|
|
7897 |
gsiparm4.h, gsmatrix.h, gxclpath.h, gxiparam.h, gconf.c, genconf.c,
|
|
|
7898 |
gsmatrix.c, gxclimag.c, gxclist.c, gxclpath.c, gxclrast.c, gxiinit.c,
|
|
|
7899 |
gximage2.c, gximage3.c, gximage4.c)
|
|
|
7900 |
|
|
|
7901 |
Splits off the generic image support code from the ImageType 1 code.
|
|
|
7902 |
(gxiinit.c [deleted], gximage.c, gximage1.c, gxipixel.c)
|
|
|
7903 |
|
|
|
7904 |
Removes some vestiges of support for 16-bit environments. (gsmisc.c)
|
|
|
7905 |
|
|
|
7906 |
Implements bit-planar images, important for PCL interpretation.
|
|
|
7907 |
(gsiparam.h, gximage.h, gxiparam.h, gdevddrw.c, gdevpdfi.c, gdevps.c,
|
|
|
7908 |
gsimage.c, gxclimag.c, gxidata.c, gximage.c, gxipixel.c) ****** NOT TESTED
|
|
|
7909 |
YET ******
|
|
|
7910 |
|
|
|
7911 |
Makes closing a memory device that owns its bitmap set the bitmap pointer to
|
|
|
7912 |
0, for the sake of an application that doesn't handle is_open properly.
|
|
|
7913 |
(gdevmem.c)
|
|
|
7914 |
|
|
|
7915 |
Speeds up floating-point emulation for single-precision add, subtract, and
|
|
|
7916 |
multiply. (gsfemu.c)
|
|
|
7917 |
|
|
|
7918 |
Speeds up sampling of transfer functions. (gshtx.c)
|
|
|
7919 |
|
|
|
7920 |
Makes the CIE cache used fixed-point values if the CPU has slow floating
|
|
|
7921 |
point. (gscie.h)
|
|
|
7922 |
|
|
|
7923 |
Adds a unique ID to color spaces to allow fast detection of reselecting the
|
|
|
7924 |
same color space. This matters for certain client code that repeatedly
|
|
|
7925 |
reselects the same color space, since selecting certain color spaces is
|
|
|
7926 |
expensive. (gscpixel.h, gscspace.h, gxcspace.h, gscolor2.c, gscpixel.c,
|
|
|
7927 |
gscscie.c, gscspace.c, gspcolor.c, gsstate.c, gximage2.c) ****** NEED TO FIX
|
|
|
7928 |
gxclrast.c TO ALLOC INDEXED COLOR SPACE ******
|
|
|
7929 |
|
|
|
7930 |
Speeds up setting Pattern color spaces, by bypassing the install code for
|
|
|
7931 |
the base space. (gspcolor.c)
|
|
|
7932 |
|
|
|
7933 |
Adds a unique ID to CRDs to allow fast detection of reselecting the same
|
|
|
7934 |
CRD. This matters for certain client code that does this repeatedly.
|
|
|
7935 |
(gscie.h, gscrd.h, gscrd.c)
|
|
|
7936 |
|
|
|
7937 |
Detects setting the CRD to one with identical PQR components, and bypasses
|
|
|
7938 |
an expensive setup step. (gscie.c)
|
|
|
7939 |
|
|
|
7940 |
Speeds up converting pixels between representations (gx_get_bits_copy) for
|
|
|
7941 |
devices with up to 4 bits per pixel, by caching the pixel values.
|
|
|
7942 |
(gdevdgbr.c)
|
|
|
7943 |
|
|
|
7944 |
Speeds up the slow default RasterOp algorithm a little. (gdevdrop.c)
|
|
|
7945 |
|
|
|
7946 |
Defines standard mapping procedures for 1-bit-per-component CMYK colors.
|
|
|
7947 |
Other code can then test for the presence of these procedures and use more
|
|
|
7948 |
efficient algorithms. (gxdevice.h, gxcmap.c)
|
|
|
7949 |
|
|
|
7950 |
Speeds up some algorithms in the bbox device by making some recursive calls
|
|
|
7951 |
use a pure color rather than a client-supplied one. (gdevbbox.h, gdevbbox.c)
|
|
|
7952 |
|
|
|
7953 |
Adds a cache for the black and white pixel values to the device structure.
|
|
|
7954 |
(gxdevcli.h, gxdevice.h, gdevalph.c, gdevnfwd.c, gsdparam.c, gxdcolor.c)
|
|
|
7955 |
|
|
|
7956 |
Makes the code for colored halftones a little more readable. (gxcht.c)
|
|
|
7957 |
|
|
|
7958 |
Speeds up color mapping for CMYK devices by copying the color mapping
|
|
|
7959 |
procedures into forwarding devices, when applicable. (gdevcmap.c,
|
|
|
7960 |
gdevmem.c, gsdevice.c, gxclip.c)
|
|
|
7961 |
|
|
|
7962 |
Removes some compiler warnings (mostly about "uninitialized" variables).
|
|
|
7963 |
(gxcldev.h, gsdevmem.c, gsshade.c, gstype42.c, gxclpath.c, gxfill.c,
|
|
|
7964 |
gximage3.c, gxpath2.c, gxpcopy.c)
|
|
|
7965 |
|
|
|
7966 |
For the benefit of certain client code that commonly sets a CRD and then
|
|
|
7967 |
doesn't use it, makes loading of the joint CIE caches lazy (at the library
|
|
|
7968 |
level). (gscie.h, gscie.c)
|
|
|
7969 |
|
|
|
7970 |
Changes CIE color restriction from a macro to a procedure, since it is
|
|
|
7971 |
rarely used. (gscie.c)
|
|
|
7972 |
|
|
|
7973 |
Adds code and structures for detecting when CIE Decode and/or Encode
|
|
|
7974 |
procedures are simply linear transformations, which would allow collapsing
|
|
|
7975 |
them into the adjacent matrix, but doesn't actually do the collapsing.
|
|
|
7976 |
(gscie.h, gscie.c)
|
|
|
7977 |
|
|
|
7978 |
Speeds up color halftoning by pre-computing the mask of planes that need to
|
|
|
7979 |
be halftoned, and preconverting multi-plane halftones to binary or solid
|
|
|
7980 |
colors when possible. (gsdcolor.h, gxcht.c, gxdcolor.c, gxdither.c, gxht.c)
|
|
|
7981 |
|
|
|
7982 |
Optimizes color mapping for 1-bit-per-component CMYK halftones. (gxcht.c)
|
|
|
7983 |
|
|
|
7984 |
Optimizes null RasterOp sources for black = 1 as well as black = 0.
|
|
|
7985 |
(gxdcolor.c)
|
|
|
7986 |
|
|
|
7987 |
Modifies the standard allocator so it keeps track of large free blocks as
|
|
|
7988 |
well as small ones, and uses them to satisfy requests when appropriate.
|
|
|
7989 |
(gxalloc.h, gsalloc.c)
|
|
|
7990 |
|
|
|
7991 |
Speeds up the horizontal bitmap replication code a bit. (Much more is
|
|
|
7992 |
possible.) (gsbitops.c)
|
|
|
7993 |
|
|
|
7994 |
Changes gs_image_max_planes to gs_image_max_components to reflect its
|
|
|
7995 |
function more accurately. (gdevddrw.c)
|
|
|
7996 |
|
|
|
7997 |
</pre>
|
|
|
7998 |
|
|
|
7999 |
<hr>
|
|
|
8000 |
|
|
|
8001 |
<h2><a name="Version5.50"></a>Version 5.50 (9/16/98)</h2>
|
|
|
8002 |
|
|
|
8003 |
<p>
|
|
|
8004 |
This is the first public release since 5.10. See
|
|
|
8005 |
<a href="Current.htm">the release summary</a>
|
|
|
8006 |
for a list of major additions and changes.
|
|
|
8007 |
|
|
|
8008 |
<h3><a name="5.50_Documentation"></a>Documentation</h3><pre>
|
|
|
8009 |
|
|
|
8010 |
Fixes problems:
|
|
|
8011 |
- Many files still referred to .txt rather than .htm files.
|
|
|
8012 |
(DLL.htm, Make.htm, New-user.htm, Readme.htm, bcwin32.mak, cfonts.mak,
|
|
|
8013 |
devs.mak, dvx-gcc.mak, dwmainc.cpp, gs-vms.hlp, gxdevcli.h, gxdevice.h,
|
|
|
8014 |
int.mak, jpeg.mak, libpng.mak, msvc32.mak, msvclib.mak, openvms.mak,
|
|
|
8015 |
os2.mak, unix-cc.mak, unix-gcc.mak, unixansi.mak, watc.mak, watcw32.mak,
|
|
|
8016 |
wccommon.mak, zlib.mak)
|
|
|
8017 |
|
|
|
8018 |
Notes that ps2epsi.1 and ps2epsi.txt may be inconsistent or obsolete.
|
|
|
8019 |
(ps2epsi.1, ps2epsi.txt)
|
|
|
8020 |
|
|
|
8021 |
Adds a reference to Thomas Merz's Ghostscript manual. (Readme.htm)
|
|
|
8022 |
|
|
|
8023 |
Adds instructions for making RPMs. (Install.htm, Make.htm)
|
|
|
8024 |
|
|
|
8025 |
Changes the URL for post-release notes. (Bug-form.htm, Make.htm,
|
|
|
8026 |
New-user.htm)
|
|
|
8027 |
|
|
|
8028 |
Notes problems with Watcom compilation. (Make.htm)
|
|
|
8029 |
|
|
|
8030 |
</pre><h3><a name="5.50_Procedures"></a>Procedures</h3><pre>
|
|
|
8031 |
|
|
|
8032 |
Fixes problems:
|
|
|
8033 |
- On Unix systems, the documentation files didn't get installed by
|
|
|
8034 |
`make install'. (unixinst.mak)
|
|
|
8035 |
- $() was missing around MAKEFILE in a Windows makefile.
|
|
|
8036 |
(msvc32.mak)
|
|
|
8037 |
- The dfax drivers didn't include all the necessary files in the
|
|
|
8038 |
linker list. (contrib.mak)
|
|
|
8039 |
- The MSVC makefiles didn't allow building the executable in a
|
|
|
8040 |
different directory. (bcwin32.mak, gs.mak, lib.mak, msvc32.mak,
|
|
|
8041 |
msvccmd.mak, msvclib.mak, msvctail.mak, os2.mak, watcw32.mak, winint.mak,
|
|
|
8042 |
winlib.mak)
|
|
|
8043 |
- The default build directory for the Borland compiler was debugobj
|
|
|
8044 |
rather than obj. (bcwin32.mak)
|
|
|
8045 |
|
|
|
8046 |
Adds a patch file and some specification files for making RPMs. (gs.rps,
|
|
|
8047 |
gs-fonts.rps, rpm-conf.dif)
|
|
|
8048 |
|
|
|
8049 |
Removes the docs target in the makefile, since this function is now
|
|
|
8050 |
performed by another program. (unix-end.mak)
|
|
|
8051 |
|
|
|
8052 |
</pre><h3><a name="5.50_Drivers"></a>Drivers</h3><pre>
|
|
|
8053 |
|
|
|
8054 |
Fixes problems:
|
|
|
8055 |
- The jpeg drivers caused a memory access error. (bug introduced in
|
|
|
8056 |
5.20 by an incorrectly made fix) (gdevjpeg.c)
|
|
|
8057 |
- The x11cmyk driver implemented map_rgb_color, which it should not
|
|
|
8058 |
do. (gdevxalt.c)
|
|
|
8059 |
|
|
|
8060 |
Updates a high-level driver for the addition of the bit-planar image format.
|
|
|
8061 |
(gdevps.c)
|
|
|
8062 |
|
|
|
8063 |
</pre><h3><a name="5.50_Utilities"></a>Utilities</h3><pre>
|
|
|
8064 |
|
|
|
8065 |
Fixes problems:
|
|
|
8066 |
- echogs -h didn't work in environments where char is signed.
|
|
|
8067 |
(echogs.c)
|
|
|
8068 |
|
|
|
8069 |
</pre><h3><a name="5.50_Platforms"></a>Platforms</h3><pre>
|
|
|
8070 |
|
|
|
8071 |
Fixes problems:
|
|
|
8072 |
- MSVC++ 5.0 produced incorrect code with TDEBUG=0. We "fixed" this
|
|
|
8073 |
problem by noting in the makefile that TDEBUG must be left set to 1.
|
|
|
8074 |
(msvc32.mak, msvclib.mak)
|
|
|
8075 |
|
|
|
8076 |
Updates the icons for the MS Windows and OS/2 platforms. (gsgraph.icx,
|
|
|
8077 |
gsos2.icx, gspmdrv.icx, gstext.icx)
|
|
|
8078 |
|
|
|
8079 |
</pre><h3><a name="5.50_Interpreter"></a>Interpreter</h3><pre>
|
|
|
8080 |
|
|
|
8081 |
Fixes problems:
|
|
|
8082 |
- setpagedevice didn't update the state correctly when switching to
|
|
|
8083 |
a new type of device (different OutputDevice value). (gs_setpd.ps)
|
|
|
8084 |
- The interpreter's initialization depended on BSS being initialized
|
|
|
8085 |
to 0. (files.h, zfile.c)
|
|
|
8086 |
|
|
|
8087 |
Removes all references to reloc_struct_ptr other than in gsstruct.h.
|
|
|
8088 |
(igcref.c)
|
|
|
8089 |
|
|
|
8090 |
Adds DEBUG tracing for pdfmarks. (gs_pdfwr.ps)
|
|
|
8091 |
|
|
|
8092 |
Disables TEST code for release. (zcrd.c, zfdcte.c)
|
|
|
8093 |
|
|
|
8094 |
</pre><h3><a name="5.50_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
8095 |
|
|
|
8096 |
Fixes problems:
|
|
|
8097 |
- Some third-party software still referred to the obsolete #?
|
|
|
8098 |
procedure. (pdf_main.ps)
|
|
|
8099 |
- Destinations with string names weren't properly converted to
|
|
|
8100 |
pdfmarks. (pdf_main.ps)
|
|
|
8101 |
- Destinations with S = /Named weren't supported. (pdf_main.ps)
|
|
|
8102 |
|
|
|
8103 |
</pre><h3><a name="5.50_Library"></a>Library</h3><pre>
|
|
|
8104 |
|
|
|
8105 |
Fixes problems:
|
|
|
8106 |
- Dropout prevention wasn't applied to landscape image masks.
|
|
|
8107 |
(gximono.c)
|
|
|
8108 |
- When using async rendering, the renderer's allocator was allocated
|
|
|
8109 |
with the wrong allocator. (gdevprna.c)
|
|
|
8110 |
- gx_strip_bitmap and gx_device_mask_clip didn't have proper GC
|
|
|
8111 |
descriptors, causing crashes if a GC occurred while rendering an ImageType 3
|
|
|
8112 |
or 4 image. (gsstruct.h, gxbitmap.h, gxclip2.h, gxclipm.h, gxmclip.h,
|
|
|
8113 |
gspcolor.c, gxclipm.c, gxmclip.c)
|
|
|
8114 |
- The buffer for printer devices wasn't reallocated properly for
|
|
|
8115 |
async devices when the page size changed. We aren't entirely comfortable
|
|
|
8116 |
with the fix, but it's the best we've got right now. (gdevprn.c)
|
|
|
8117 |
- Some files wouldn't compile with -dNOPRIVATE. (gxcspace.h,
|
|
|
8118 |
gscdevn.c, gscolor2.c, gscscie.c, gscsepr.c)
|
|
|
8119 |
- gp_semaphore_close and gp_monitor_close were defined as not
|
|
|
8120 |
returning an error code. (gpsync.h, gp_nsync.c, gp_posem.c, gp_semon.c,
|
|
|
8121 |
gp_win32.c)
|
|
|
8122 |
- Initialization code depended on BSS being initialized to 0.
|
|
|
8123 |
(gsiodev.c)
|
|
|
8124 |
- The special PCL color mapping device didn't handle CMYK devices
|
|
|
8125 |
correctly in other than "identity" mode. (gdevcmap.c)
|
|
|
8126 |
|
|
|
8127 |
Cleans up a little formatting. (gscie.h, gscpixel.c, gxmclip.c)
|
|
|
8128 |
|
|
|
8129 |
Removes all references to reloc_struct_ptr other than in gsstruct.h.
|
|
|
8130 |
(gsstruct.h, gsalloc.c, gsdevice.c, gsfont.c, gxcpath.c)
|
|
|
8131 |
|
|
|
8132 |
Patches the async code so that it allocates twice as much space for the
|
|
|
8133 |
renderer as should be needed, to deal with sandbars. (gdevprna.c)
|
|
|
8134 |
|
|
|
8135 |
</pre>
|
|
|
8136 |
|
|
|
8137 |
<hr>
|
|
|
8138 |
|
|
|
8139 |
<h2><a name="Version5.40"></a>Version 5.40 (beta) (9/10/98)</h2>
|
|
|
8140 |
|
|
|
8141 |
<p>
|
|
|
8142 |
A few more fixes. This is intended as the candidate fileset for the 5.50
|
|
|
8143 |
release.
|
|
|
8144 |
|
|
|
8145 |
<h3><a name="5.40_Documentation"></a>Documentation</h3><pre>
|
|
|
8146 |
|
|
|
8147 |
Fixes problems:
|
|
|
8148 |
- The current GNU Ghostscript version was documented as 3.33, not
|
|
|
8149 |
4.03. (New-user.htm)
|
|
|
8150 |
- The ansi2knr usage documentation didn't mention --filename.
|
|
|
8151 |
(ansi2knr.1)
|
|
|
8152 |
- A projected completion date was too optimistic. (ps2pdf.1)
|
|
|
8153 |
|
|
|
8154 |
Replaces all documentation files with new HTML versions. (*.txt [deleted],
|
|
|
8155 |
*.htm, index.html, imainarg.c)
|
|
|
8156 |
|
|
|
8157 |
Adds a contributed set of Emacs macros useful for working with Ghostscript
|
|
|
8158 |
documentation. (gsdoc.el)
|
|
|
8159 |
|
|
|
8160 |
Changes the version and date format slightly in one file for consistency.
|
|
|
8161 |
(gs-vms.hlp)
|
|
|
8162 |
|
|
|
8163 |
</pre><h3><a name="5.40_Procedures"></a>Procedures</h3><pre>
|
|
|
8164 |
|
|
|
8165 |
Adds a make target (make docs) to touch up documentation files before a
|
|
|
8166 |
release. (unix-end.mak)
|
|
|
8167 |
|
|
|
8168 |
</pre><h3><a name="5.40_Utilities"></a>Utilities</h3><pre>
|
|
|
8169 |
|
|
|
8170 |
Removes the long-obsolete ps2image.ps utility. (ps2image.ps [deleted])
|
|
|
8171 |
|
|
|
8172 |
</pre><h3><a name="5.40_Drivers"></a>Drivers</h3><pre>
|
|
|
8173 |
|
|
|
8174 |
Adds a driver for the Color LaserJet 5. (devs.mak, gdevclj.c)
|
|
|
8175 |
|
|
|
8176 |
</pre><h3><a name="5.40_Platforms"></a>Platforms</h3><pre>
|
|
|
8177 |
|
|
|
8178 |
Fixes problems:
|
|
|
8179 |
- Blanks in command lines weren't handled properly. (dwmain.cpp,
|
|
|
8180 |
dwmainc.cpp)
|
|
|
8181 |
|
|
|
8182 |
</pre><h3><a name="5.40_Library"></a>Library</h3><pre>
|
|
|
8183 |
|
|
|
8184 |
Fixes problems:
|
|
|
8185 |
- 16-bit devices didn't convert colors to RGB correctly.
|
|
|
8186 |
(gdevm16.c)
|
|
|
8187 |
- 16- and 32-bit RasterOp didn't work, because pack_from_standard
|
|
|
8188 |
didn't handle depths greater than 8. (gdevdrop.c)
|
|
|
8189 |
- RasterOps with devices with non-standard color representation
|
|
|
8190 |
sometimes substituted black or white for the source or target. (gdevdrop.c)
|
|
|
8191 |
- The non-orthogonal case of Axial shading executed the axial-case
|
|
|
8192 |
code as well. (gxshade1.c)
|
|
|
8193 |
- copy_color on 4-bit-deep memory devices did an unnecessary
|
|
|
8194 |
fit_copy check. (gdevm4.c)
|
|
|
8195 |
- An upcast was missing. (gdevbbox.c)
|
|
|
8196 |
- View clipping was applied to internal devices, incorrectly.
|
|
|
8197 |
(gspath.c)
|
|
|
8198 |
|
|
|
8199 |
Revises the implementation of shading so as to reduce the use of macros,
|
|
|
8200 |
update formatting, and help prepare for PatternType 2 patterns. (gsshade.h,
|
|
|
8201 |
gxshade.h, gxshade4.h, gscolor3.c, gsshade.c, gxshade.c, gxshade1.c,
|
|
|
8202 |
gxshade4.c, gxshade6.c)
|
|
|
8203 |
|
|
|
8204 |
</pre>
|
|
|
8205 |
|
|
|
8206 |
<hr>
|
|
|
8207 |
|
|
|
8208 |
<h2><a name="Version5.39"></a>Version 5.39 (beta) (9/8/98)</h2>
|
|
|
8209 |
|
|
|
8210 |
<p>
|
|
|
8211 |
A couple more small fixes.
|
|
|
8212 |
|
|
|
8213 |
<h3><a name="5.39_Drivers"></a>Drivers</h3><pre>
|
|
|
8214 |
|
|
|
8215 |
Fixes problems:
|
|
|
8216 |
- The pkm[raw] drivers didn't work with 32-bit pixels. (gdevpbm.c)
|
|
|
8217 |
|
|
|
8218 |
Adds (fake) 8-, 16-, and 32-bit X11 CMYK devices, for debugging.
|
|
|
8219 |
Unfortunately, the 16- and 32-bit devices consume the hardware color map and
|
|
|
8220 |
then no longer behave reasonably; the 8-bit device produces output with
|
|
|
8221 |
garbled colors (fixed in 5.40). (devs.mak, gdevxalt.c)
|
|
|
8222 |
|
|
|
8223 |
</pre><h3><a name="5.39_Library"></a>Library</h3><pre>
|
|
|
8224 |
|
|
|
8225 |
Fixes bugs:
|
|
|
8226 |
- All banded devices caused a memory access error. (bug introduced
|
|
|
8227 |
in 5.38) (gsstate.c)
|
|
|
8228 |
- The special color mapping device didn't update its state after
|
|
|
8229 |
put_params. (gdevcmap.c)
|
|
|
8230 |
- RasterOp on 8-bit non-gray-scale devices didn't handle filling
|
|
|
8231 |
with constant 0 or 1 properly. (gdevmrop.c)
|
|
|
8232 |
- The halftone machinery didn't switch from full-size to strip
|
|
|
8233 |
halftones early enough, possibly allocating very large halftone data
|
|
|
8234 |
structures. (gshtscr.c)
|
|
|
8235 |
- If an ioerror (such as a disk- or memory-full condition) occurred
|
|
|
8236 |
while writing out the band list, the bookkeeping structures were left in an
|
|
|
8237 |
inconsistent state, causing further problems. (gxclutil.c)
|
|
|
8238 |
- Some shaded fills didn't check for errors when filling
|
|
|
8239 |
sub-regions. (gxshade1.c, gxshade4.c)
|
|
|
8240 |
|
|
|
8241 |
Cleans up some formatting. (gxshade6.c)
|
|
|
8242 |
|
|
|
8243 |
</pre>
|
|
|
8244 |
|
|
|
8245 |
<hr>
|
|
|
8246 |
|
|
|
8247 |
<h2><a name="Version5.38"></a>Version 5.38 (beta) (9/3/98)</h2>
|
|
|
8248 |
|
|
|
8249 |
<p>
|
|
|
8250 |
The sole purpose of this release was to fix some obscure bugs detected by
|
|
|
8251 |
the Genoa tests and by another Aladdin project.
|
|
|
8252 |
|
|
|
8253 |
<h3><a name="5.38_Documentation"></a>Documentation</h3><pre>
|
|
|
8254 |
|
|
|
8255 |
Updates the list of implemented PostScript LanguageLevel 3 features.
|
|
|
8256 |
(current.txt)
|
|
|
8257 |
|
|
|
8258 |
</pre><h3><a name="5.38_Drivers"></a>Drivers</h3><pre>
|
|
|
8259 |
|
|
|
8260 |
Fixes problems:
|
|
|
8261 |
- The PDF writer did the wrong thing for multi-source images with
|
|
|
8262 |
more than 180 bytes of data (total) per scan line. (gdevpdfi.c)
|
|
|
8263 |
- If one used setdistillerparams, [g]restore caused a rangecheck in
|
|
|
8264 |
.setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV
|
|
|
8265 |
****** (gdevpsdp.c)
|
|
|
8266 |
|
|
|
8267 |
</pre><h3><a name="5.38_Interpreter"></a>Interpreter</h3><pre>
|
|
|
8268 |
|
|
|
8269 |
Fixes problems:
|
|
|
8270 |
- 0-length parameter arrays were given an arbitrary type, confusing
|
|
|
8271 |
clients. (iparam.c)
|
|
|
8272 |
- EOD on a write stream caused an error. (zfileio.c)
|
|
|
8273 |
|
|
|
8274 |
</pre><h3><a name="5.38_Library"></a>Library</h3><pre>
|
|
|
8275 |
|
|
|
8276 |
Fixes problems:
|
|
|
8277 |
- 0-length parameter arrays confused clients that wanted arrays of a
|
|
|
8278 |
particular type. (gsparam.c)
|
|
|
8279 |
- Patterns with XStep or YStep smaller than the bounding box didn't
|
|
|
8280 |
work properly. (gxp1fill.c)
|
|
|
8281 |
- Resizing an object sometimes copied it unnecessarily. (gsalloc.c)
|
|
|
8282 |
- Freeing the shared part of a graphics state didn't free its
|
|
|
8283 |
sub-objects. (gsstate.c)
|
|
|
8284 |
- The standard allocator didn't free its initial (self-containing)
|
|
|
8285 |
chunk when asked to free itself. (gsalloc.c)
|
|
|
8286 |
- The standard allocator didn't attempt to merge free blocks before
|
|
|
8287 |
giving up. We implemented this by adding another virtual procedure to
|
|
|
8288 |
allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c,
|
|
|
8289 |
gsmalloc.c, gsmemlok.c, gsmemory.c)
|
|
|
8290 |
- The free object merging algorithm thought there were free objects
|
|
|
8291 |
even when there weren't. (Small performance bug only.) (gsalloc.c)
|
|
|
8292 |
|
|
|
8293 |
Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c)
|
|
|
8294 |
|
|
|
8295 |
Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures.
|
|
|
8296 |
(gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c)
|
|
|
8297 |
|
|
|
8298 |
Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be
|
|
|
8299 |
used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h,
|
|
|
8300 |
gsalloc.c, gsnogc.c)
|
|
|
8301 |
|
|
|
8302 |
</pre>
|
|
|
8303 |
|
|
|
8304 |
<hr>
|
|
|
8305 |
|
|
|
8306 |
<h2><a name="Version5.37"></a>Version 5.37 (beta) (8/31/98)</h2>
|
|
|
8307 |
|
|
|
8308 |
<h3><a name="5.37_Documentation"></a>Documentation</h3><pre>
|
|
|
8309 |
|
|
|
8310 |
Mentions the new cid2code utility in the documentation. (psfiles.txt)
|
|
|
8311 |
|
|
|
8312 |
Documents dpsnext.dev. (gs.mak)
|
|
|
8313 |
|
|
|
8314 |
Notes that clients of ImageType 3 images are responsible for providing the
|
|
|
8315 |
mask data before the pixel data. (gsiparm3.h)
|
|
|
8316 |
|
|
|
8317 |
</pre><h3><a name="5.37_Procedures"></a>Procedures</h3><pre>
|
|
|
8318 |
|
|
|
8319 |
Fixes problems:
|
|
|
8320 |
- The makefiles were missing a dependency of jconfig.h on arch.h.
|
|
|
8321 |
With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)
|
|
|
8322 |
|
|
|
8323 |
</pre><h3><a name="5.37_Utilities"></a>Utilities</h3><pre>
|
|
|
8324 |
|
|
|
8325 |
Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak,
|
|
|
8326 |
cid2code.ps)
|
|
|
8327 |
|
|
|
8328 |
</pre><h3><a name="5.37_Drivers"></a>Drivers</h3><pre>
|
|
|
8329 |
|
|
|
8330 |
Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no
|
|
|
8331 |
longer supports this facility. (devs.mak, gdevpfax.c [deleted])
|
|
|
8332 |
|
|
|
8333 |
</pre><h3><a name="5.37_Fonts"></a>Fonts</h3><pre>
|
|
|
8334 |
|
|
|
8335 |
Fixes problems:
|
|
|
8336 |
- TrueType fonts whose first code wasn't 0 or 0xf000 didn't display
|
|
|
8337 |
correctly. (bug introduced in 5.36) (gs_ttf.ps)
|
|
|
8338 |
- CIDFontType 0 fonts didn't handle being redefined with another
|
|
|
8339 |
name. (gs_cidfn.ps)
|
|
|
8340 |
- CIDFontType 0 fonts could get local-into-global-store errors.
|
|
|
8341 |
(gs_cidfn.ps)
|
|
|
8342 |
- PDF files couldn't use already-defined CMap resources.
|
|
|
8343 |
(pdf_font.ps)
|
|
|
8344 |
- Out-of-range CIDs gave an error rather than using a notdef
|
|
|
8345 |
character. (gs_cidfn.ps)
|
|
|
8346 |
|
|
|
8347 |
</pre><h3><a name="5.37_Interpreter"></a>Interpreter</h3><pre>
|
|
|
8348 |
|
|
|
8349 |
Fixes problems:
|
|
|
8350 |
- CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c,
|
|
|
8351 |
zchar32.c, zfont32.c)
|
|
|
8352 |
- When recovering from an error in an operator procedure, the
|
|
|
8353 |
interpreter didn't update the dictionary stack caches. (interp.c)
|
|
|
8354 |
- startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps)
|
|
|
8355 |
- Encoding filters with a Predictor always caused an error.
|
|
|
8356 |
(zfilter2.c)
|
|
|
8357 |
- currenttrapparams gave an error. (gs_ll3.ps)
|
|
|
8358 |
- settrapparams had no effect, and left the dictionary on the stack.
|
|
|
8359 |
(gs_ll3.ps)
|
|
|
8360 |
|
|
|
8361 |
Finishes implementing Type 32 fonts. These fonts don't actually work
|
|
|
8362 |
directly with the cache -- they store the bitmaps in a compressed form in an
|
|
|
8363 |
ordinary Dictionary -- but they do behave the way they are specified.
|
|
|
8364 |
(gs_typ32.ps, zchar32.c, zfont32.c)
|
|
|
8365 |
|
|
|
8366 |
Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h,
|
|
|
8367 |
icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c,
|
|
|
8368 |
isave.h, isave.c, iscannum.c, iutil.c, iutil2.c)
|
|
|
8369 |
|
|
|
8370 |
Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c,
|
|
|
8371 |
zusparam.c)
|
|
|
8372 |
|
|
|
8373 |
</pre><h3><a name="5.37_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
8374 |
|
|
|
8375 |
Fixes problems:
|
|
|
8376 |
- Color spaces with subsidiary spaces (Indexed, Separation, DeviceN)
|
|
|
8377 |
sometimes didn't work properly, because they were translated to PostScript
|
|
|
8378 |
structures more than once. (pdf_draw.ps)
|
|
|
8379 |
- Type 3 fonts didn't rebind the resource context when executing the
|
|
|
8380 |
CharProc procedure. (pdf_font.ps)
|
|
|
8381 |
|
|
|
8382 |
</pre><h3><a name="5.37_Streams"></a>Streams</h3><pre>
|
|
|
8383 |
|
|
|
8384 |
Fixes problems:
|
|
|
8385 |
- The CCITTFax decoder signaled an error if it saw an EOB with
|
|
|
8386 |
EndOfBlock = false. (According to e-mail from Adobe, EOBs should be
|
|
|
8387 |
recognized even if EndOfBlock is false, even though the Red Book implies the
|
|
|
8388 |
opposite.) (scfd.c)
|
|
|
8389 |
|
|
|
8390 |
Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c,
|
|
|
8391 |
sfxstdio.c)
|
|
|
8392 |
|
|
|
8393 |
</pre><h3><a name="5.37_Library"></a>Library</h3><pre>
|
|
|
8394 |
|
|
|
8395 |
Fixes problems:
|
|
|
8396 |
- Landscape color images usually didn't display. (bug introduced in
|
|
|
8397 |
5.32) (gxicolor.c)
|
|
|
8398 |
- If gs_heap_free_object was called with ptr != 0 but bp = 0 (which
|
|
|
8399 |
is an error), an invalid memory access would occur. (gsmalloc.c)
|
|
|
8400 |
- The left side bearing was still being added in a second time for
|
|
|
8401 |
the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c)
|
|
|
8402 |
- An access error occurred when rendering the very last glyph of a
|
|
|
8403 |
TrueType font with a 2-byte loca table. (gstype42.c)
|
|
|
8404 |
- In the fast portrait case of monochrome images, a numerical error
|
|
|
8405 |
sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the
|
|
|
8406 |
right edge of the image. (gxifast.c)
|
|
|
8407 |
- ImageType 3 images with InterleaveType = 3 gave memory access
|
|
|
8408 |
errors. (gximage3.c)
|
|
|
8409 |
- Hit detection ignored any part of the aperture that had negative X
|
|
|
8410 |
or Y coordinates. (gdevhit.c)
|
|
|
8411 |
- The special color mapping device didn't copy all necessary values
|
|
|
8412 |
back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c)
|
|
|
8413 |
- The special color mapping device didn't handle ordinary (Type 1)
|
|
|
8414 |
images correctly. (gdevcmap.c)
|
|
|
8415 |
- CMYK halftones complemented both the color and the halftone level:
|
|
|
8416 |
this produced the right number of pixels turned on (only for linear spot
|
|
|
8417 |
functions or threshold arrays), but wasn't consistent with either the Adobe
|
|
|
8418 |
specification or the user's intentions. (gxcht.c)
|
|
|
8419 |
- The phase of mask Patterns wasn't always set correctly.
|
|
|
8420 |
(gxp1fill.c)
|
|
|
8421 |
- The reader side of overlapped band devices was confused about its
|
|
|
8422 |
open/closed status. (gdevprna.c)
|
|
|
8423 |
|
|
|
8424 |
Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h)
|
|
|
8425 |
|
|
|
8426 |
Adds some more tracing for composite font decoding. (gsfcmap.c)
|
|
|
8427 |
|
|
|
8428 |
Adds some more tracing for images. (gxiinit.c)
|
|
|
8429 |
|
|
|
8430 |
Cleans up formatting and macros in a few more files. (gxifast.c)
|
|
|
8431 |
|
|
|
8432 |
Moves the image*_type_data and image*_enum_procs_data definitions from
|
|
|
8433 |
header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h,
|
|
|
8434 |
gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)
|
|
|
8435 |
|
|
|
8436 |
</pre>
|
|
|
8437 |
|
|
|
8438 |
<hr>
|
|
|
8439 |
|
|
|
8440 |
<h2><a name="Version5.36"></a>Version 5.36 (beta) (8/25/98)</h2>
|
|
|
8441 |
|
|
|
8442 |
<p>
|
|
|
8443 |
Another set of fixes. The free-standing bbox device now produces convenient
|
|
|
8444 |
%%BoundingBox messages. This fileset also includes support for double-byte
|
|
|
8445 |
TrueType fonts.
|
|
|
8446 |
|
|
|
8447 |
<h3><a name="5.36_Documentation"></a>Documentation</h3><pre>
|
|
|
8448 |
|
|
|
8449 |
Fixes problems:
|
|
|
8450 |
- There was a minor spacing glitch in one man page. (gs.1)
|
|
|
8451 |
- The page printed by align.ps didn't make it clear enough what to
|
|
|
8452 |
do with the numbers it asks users to calculate. (align.ps)
|
|
|
8453 |
- The sample code for adding gamma adjustment didn't work most of
|
|
|
8454 |
the time. (devices.txt)
|
|
|
8455 |
- The prolog produced by pswrite was completely uncommented.
|
|
|
8456 |
(gdevps.c)
|
|
|
8457 |
- The documentation didn't note that the string block freelist
|
|
|
8458 |
(sfree) is sorted in address order. (gxalloc.h)
|
|
|
8459 |
|
|
|
8460 |
Notes that FirstBitLowOrder and LowBitFirst are equivalent. (slzwx.h)
|
|
|
8461 |
|
|
|
8462 |
Notes a change in the FTP site of the free Kanji ("Wadalab") fonts.
|
|
|
8463 |
(fonts.txt)
|
|
|
8464 |
|
|
|
8465 |
Adds a pointer to the freely available Unicode CMaps. (fonts.txt)
|
|
|
8466 |
|
|
|
8467 |
Changes an obsolete e-mail address for Carsten Emde. (contrib.mak)
|
|
|
8468 |
|
|
|
8469 |
</pre><h3><a name="5.36_Utilities"></a>Utilities</h3><pre>
|
|
|
8470 |
|
|
|
8471 |
Fixes problems:
|
|
|
8472 |
- The viewgif utility sometimes left 1-scan-line gaps when rendering
|
|
|
8473 |
interlaced images. (viewgif.ps)
|
|
|
8474 |
|
|
|
8475 |
</pre><h3><a name="5.36_Drivers"></a>Drivers</h3><pre>
|
|
|
8476 |
|
|
|
8477 |
Fixes problems:
|
|
|
8478 |
- In the PDF writer, downsampled images were always written with 8
|
|
|
8479 |
bits per sample, not the requested depth. (gdevpsdi.c)
|
|
|
8480 |
- The 8-to-N-bit compression filter produced an extra byte at the
|
|
|
8481 |
end of each row, and the N-to-8-bit expansion filter skipped an input byte
|
|
|
8482 |
at the end of each row. (gdevpsds.c)
|
|
|
8483 |
- In the PDF writer, the size of downsampled images for changing the
|
|
|
8484 |
pixel width was set incorrectly, leading to inconsistent image parameters in
|
|
|
8485 |
the output. (gdevpsdi.c)
|
|
|
8486 |
- The subsampling filters didn't take a clear position about what to
|
|
|
8487 |
do with excess input samples beyond a multiple of the reduction factor,
|
|
|
8488 |
leading to inconsistent image parameters. We added a Boolean to indicate
|
|
|
8489 |
whether they should discard the samples or use them to create an additional
|
|
|
8490 |
output sample. (gdevpsds.h, gdevpsdi.c, gdevpsds.c)
|
|
|
8491 |
- The subsampling filters didn't provide the necessary set_defaults
|
|
|
8492 |
procedures. (gdevpsds.h, gdevpsds.c)
|
|
|
8493 |
- Because of a typo, pdfwrite and pswrite printed sequences of 4
|
|
|
8494 |
decimal values wrong. (bug introduced during macro removal in 5.25)
|
|
|
8495 |
(gdevpstr.c)
|
|
|
8496 |
|
|
|
8497 |
Makes the PS writer produce a %%HiResBoundingBox as well as a %%BoundingBox.
|
|
|
8498 |
(gdevps.c)
|
|
|
8499 |
|
|
|
8500 |
</pre><h3><a name="5.36_Platforms"></a>Platforms</h3><pre>
|
|
|
8501 |
|
|
|
8502 |
Fixes problems:
|
|
|
8503 |
- The Borland makefile didn't include the MT libraries. We added a
|
|
|
8504 |
MULTITHREAD option to this makefile. (bcwin32.mak)
|
|
|
8505 |
- The MSVC makefile didn't include the MT switches in the right
|
|
|
8506 |
place. (msvccmd.mak)
|
|
|
8507 |
- 'make clean' in the Windows makefiles didn't clean up quite
|
|
|
8508 |
enough. (bcwin32.mak, msvc32.mak, msvccmd.mak)
|
|
|
8509 |
- The OS/2 makefile had gotten slightly out of date. (os2.mak)
|
|
|
8510 |
|
|
|
8511 |
Cleans up some formatting. (gp_win32.c)
|
|
|
8512 |
|
|
|
8513 |
</pre><h3><a name="5.36_Fonts"></a>Fonts</h3><pre>
|
|
|
8514 |
|
|
|
8515 |
Fixes problems:
|
|
|
8516 |
- Loading large TrueType fonts caused excessive garbage collection.
|
|
|
8517 |
(gs_ttf.ps)
|
|
|
8518 |
|
|
|
8519 |
Finishes implementing support for turning double-byte TrueType fonts into
|
|
|
8520 |
CIDFontType 2 fonts. (gs_ttf.ps)
|
|
|
8521 |
|
|
|
8522 |
</pre><h3><a name="5.36_Interpreter"></a>Interpreter</h3><pre>
|
|
|
8523 |
|
|
|
8524 |
Fixes problems:
|
|
|
8525 |
- We thought the dictionary returned by currentuserparams should
|
|
|
8526 |
always be allocated in local VM, but in fact the correct definition is that
|
|
|
8527 |
it should be allocated in the current VM. The simplest way to make this
|
|
|
8528 |
work is for setuserparams to copy any string values into global VM.
|
|
|
8529 |
(gs_lev2.ps)
|
|
|
8530 |
- 1-input stitching functions didn't allow k = 0. (ifunc.h,
|
|
|
8531 |
zfunc.c)
|
|
|
8532 |
- OtherSubrs defined in PostScript no longer worked. (bug probably
|
|
|
8533 |
introduced when we rewrote the Type 1 code in C) (zchar1.c)
|
|
|
8534 |
|
|
|
8535 |
Cleans up a few compiler warnings (missing empty 'default' cases, unused
|
|
|
8536 |
variables). (igc.c, iname.c)
|
|
|
8537 |
|
|
|
8538 |
Replaces some uses of RELOC_*_PTR (now deprecated) with RELOC_*_VAR.
|
|
|
8539 |
(isave.c, iscan.c)
|
|
|
8540 |
|
|
|
8541 |
</pre><h3><a name="5.36_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
8542 |
|
|
|
8543 |
Fixes problems:
|
|
|
8544 |
- Resources were re-created on each page, causing (sometimes a lot
|
|
|
8545 |
of) unnecessary computation. We implemented most of the machinery for
|
|
|
8546 |
avoiding this, but not the mechanism for actually storing resources in
|
|
|
8547 |
global VM. (pdf_base.ps, pdf_main.ps)
|
|
|
8548 |
|
|
|
8549 |
Adds a little more debugging code. (pdf_draw.ps)
|
|
|
8550 |
|
|
|
8551 |
</pre><h3><a name="5.36_Streams"></a>Streams</h3><pre>
|
|
|
8552 |
|
|
|
8553 |
Cleans up formatting in a few more files. (sbtx.h, sfilter.h, slzwx.h,
|
|
|
8554 |
spngpx.h, srlx.h, sstring.h, seexec.c, sfilter1.c, sfilter2.c, smtf.c,
|
|
|
8555 |
spcxd.c, srld.c, srle.c)
|
|
|
8556 |
|
|
|
8557 |
Replaces a couple of #defines with duplicated (small) structures. (sbtx.h,
|
|
|
8558 |
sfilter.h, sfilter1.c, sfilter2.c)
|
|
|
8559 |
|
|
|
8560 |
Replaces all uses of RELOC_*_PTR (now deprecated) with RELOC_*_VAR.
|
|
|
8561 |
(stream.c)
|
|
|
8562 |
|
|
|
8563 |
</pre><h3><a name="5.36_Library"></a>Library</h3><pre>
|
|
|
8564 |
|
|
|
8565 |
Fixes problems:
|
|
|
8566 |
- If a garbage collection occurred during a string show operation,
|
|
|
8567 |
memory could be corrupted. (bug introduced in 5.24) (gstext.h, gstext.c)
|
|
|
8568 |
- A debugging check incorrectly indicated an error when
|
|
|
8569 |
miter-checking lines with a 0 degree angle between them. (gxstroke.c)
|
|
|
8570 |
- A structure created for bitmap/pixmap patterns was never freed.
|
|
|
8571 |
(gspcolor.c)
|
|
|
8572 |
- Colored halftones didn't work with 24-bit devices. (This case was
|
|
|
8573 |
never actually used.) (gxcht.c)
|
|
|
8574 |
- CIE colors didn't remap properly if the current color space was a
|
|
|
8575 |
Pattern space. (gscie.c)
|
|
|
8576 |
- In a non-garbage-collected environment, freeing a string in the
|
|
|
8577 |
current chunk made an unnecessary test. (Minor performance impact only.)
|
|
|
8578 |
(gsnogc.c)
|
|
|
8579 |
|
|
|
8580 |
Cleans up a few compiler warnings (missing empty 'default' cases, unused
|
|
|
8581 |
variables). (gsht.c, gsht1.c, gshtscr.c, gsimage.c, gxacpath.c, gxclread.c,
|
|
|
8582 |
gxicolor.c, gxshade4.c)
|
|
|
8583 |
|
|
|
8584 |
Replaces some uses of RELOC_*_PTR with RELOC_*_VAR. (gsht1.c)
|
|
|
8585 |
|
|
|
8586 |
Changes the printed output of the free-standing bbox device so it produces
|
|
|
8587 |
%%BoundingBox and %%HiResBoundingBox lines that can be dropped directly into
|
|
|
8588 |
a DSC header. (gdevbbox.c)
|
|
|
8589 |
|
|
|
8590 |
Speeds up the 4-bit case of copy_mono by about 30%. (gdevm4.c)
|
|
|
8591 |
|
|
|
8592 |
Expands some macros and cleans up formatting, for easier reading and
|
|
|
8593 |
debugging. Speeds up the color halftone generation algorithm substantially
|
|
|
8594 |
(up to 40%), by skipping the halftone computation for planes that are known
|
|
|
8595 |
to be solid-color, and using copy_mono directly if only one plane is not
|
|
|
8596 |
solid-color. (gxcht.c)
|
|
|
8597 |
|
|
|
8598 |
</pre>
|
|
|
8599 |
|
|
|
8600 |
<hr>
|
|
|
8601 |
|
|
|
8602 |
<h2><a name="Version5.35"></a>Version 5.35 (beta) (8/18/98)</h2>
|
|
|
8603 |
|
|
|
8604 |
<p>
|
|
|
8605 |
More updates for 5.3x, specifically fixing problems with halftones on banded
|
|
|
8606 |
CMYK devices.
|
|
|
8607 |
|
|
|
8608 |
<h3><a name="5.35_Documentation"></a>Documentation</h3><pre>
|
|
|
8609 |
|
|
|
8610 |
Fixes problems:
|
|
|
8611 |
- The URLs for the third-party libraries were out of date.
|
|
|
8612 |
(make.txt, jpeg.mak, libpng.mak, zlib.mak)
|
|
|
8613 |
|
|
|
8614 |
</pre><h3><a name="5.35_Drivers"></a>Drivers</h3><pre>
|
|
|
8615 |
|
|
|
8616 |
Adds an x11gray4 device for help in debugging. (devs.mak, gdevxalt.c)
|
|
|
8617 |
|
|
|
8618 |
</pre><h3><a name="5.35_Fonts"></a>Fonts</h3><pre>
|
|
|
8619 |
|
|
|
8620 |
Fixes problems:
|
|
|
8621 |
- TrueType fonts with more than 64K of data before or after the
|
|
|
8622 |
glyfs caused an error. (gs_ttf.ps)
|
|
|
8623 |
|
|
|
8624 |
</pre><h3><a name="5.35_Interpreter"></a>Interpreter</h3><pre>
|
|
|
8625 |
|
|
|
8626 |
Fixes problems:
|
|
|
8627 |
- The dictionary returned by currentuserparams was allocated in the
|
|
|
8628 |
current VM rather than always in local VM. (gs_lev2.ps)
|
|
|
8629 |
|
|
|
8630 |
</pre><h3><a name="5.35_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
8631 |
|
|
|
8632 |
Fixes problems:
|
|
|
8633 |
- CID-keyed fonts caused an error, because their CDevProc was
|
|
|
8634 |
incorrect. (pdf_font.ps)
|
|
|
8635 |
|
|
|
8636 |
</pre><h3><a name="5.35_Library"></a>Library</h3><pre>
|
|
|
8637 |
|
|
|
8638 |
Fixes problems:
|
|
|
8639 |
- A comment was duplicated. (gxht.h)
|
|
|
8640 |
- The main procedure of the command list reader was so large that it
|
|
|
8641 |
couldn't be optimized by many compilers, and was very hard to read.
|
|
|
8642 |
(gxclrast.c)
|
|
|
8643 |
- Banding devices using multi-screen halftones could get memory
|
|
|
8644 |
access errors because they didn't clear the halftone caches when changing
|
|
|
8645 |
halftone parameters. (gxclrast.c)
|
|
|
8646 |
- Banding devices using multi-screen halftones didn't set the
|
|
|
8647 |
halftone phase correctly. (gxcht.c, gxclrast.c)
|
|
|
8648 |
- RasterOp didn't work for 2- or 4-bit gray-scale devices. It still
|
|
|
8649 |
doesn't work right, but it's closer. (gdevm2.c, gdevm4.c, gdevmrop.c)
|
|
|
8650 |
- Undefined characters in CMap-based composite fonts caused errors
|
|
|
8651 |
and possible invalid memory accesses. (gschar0.c)
|
|
|
8652 |
|
|
|
8653 |
</pre>
|
|
|
8654 |
|
|
|
8655 |
<hr>
|
|
|
8656 |
|
|
|
8657 |
<h2><a name="Version5.34"></a>Version 5.34 (beta) (8/16/98)</h2>
|
|
|
8658 |
|
|
|
8659 |
<p>
|
|
|
8660 |
More updates for 5.3x.
|
|
|
8661 |
|
|
|
8662 |
<h3><a name="V5.34_Documentation"></a>Documentation</h3><pre>
|
|
|
8663 |
|
|
|
8664 |
Updates all of the man pages to new versions. (gs-vms.hlp, gs.1, pdf2dsc.1,
|
|
|
8665 |
pdf2ps.1, ps2ascii.1, ps2epsi.1, ps2pdf.1, ps2ps.1)
|
|
|
8666 |
|
|
|
8667 |
</pre><h3><a name="V5.34_Procedures"></a>Procedures</h3><pre>
|
|
|
8668 |
|
|
|
8669 |
Fixes problems:
|
|
|
8670 |
- The MSVC library makefile incorrectly included gp_msio.c.
|
|
|
8671 |
(msvclib.mak, winlib.mak)
|
|
|
8672 |
|
|
|
8673 |
</pre><h3><a name="V5.34_Drivers"></a>Drivers</h3><pre>
|
|
|
8674 |
|
|
|
8675 |
Fixes problems:
|
|
|
8676 |
- The PDF writer unnecessarily checked for other parameters after a
|
|
|
8677 |
failing show or pdfmark. (gdevpdfp.c)
|
|
|
8678 |
- The device's BufferSpace parameter was ignored. (bug introduced
|
|
|
8679 |
by async rendering code in 5.30) (gdevprn.c)
|
|
|
8680 |
- Banding devices smashed the first 4 bytes of each scan line. (bug
|
|
|
8681 |
introduced in 5.28) (gxdevmem.h, gdevmem.c, gxclread.c)
|
|
|
8682 |
- The phase for colored halftones was set wrong. (We have "fixed"
|
|
|
8683 |
this innumerable times, and it is still probably wrong.) (gxclrast.c)
|
|
|
8684 |
|
|
|
8685 |
Replaces the deprecated gx_device_image_xxx calls with the new gx_image_xxx
|
|
|
8686 |
calls. (gdevpdfi.c, gdevps.c, gdevpx.c, gdevvec.c)
|
|
|
8687 |
|
|
|
8688 |
</pre><h3><a name="V5.34_Interpreter"></a>Interpreter</h3><pre>
|
|
|
8689 |
|
|
|
8690 |
Fixes problems:
|
|
|
8691 |
- The equality test for idiom recognition sometimes incorrectly
|
|
|
8692 |
returned false. (zmisc3.c)
|
|
|
8693 |
- shfill didn't take the BBox into account. (It still doesn't.)
|
|
|
8694 |
(gxshade.c)
|
|
|
8695 |
- The status operator could return an incorrect pages or bytes value
|
|
|
8696 |
for files larger than 2 Gb, rather than giving an error. (zfile.c)
|
|
|
8697 |
|
|
|
8698 |
</pre><h3><a name="V5.34_Library"></a>Library</h3><pre>
|
|
|
8699 |
|
|
|
8700 |
Fixes problems:
|
|
|
8701 |
- The hint tables weren't reset after processing the base character
|
|
|
8702 |
of a 'seac', leading to incorrect hinting and (for Type 2 CharStrings)
|
|
|
8703 |
possible mis-parsing of the outline data. (gstype2.c)
|
|
|
8704 |
- When processing a 'seac', the left side bearing was added in
|
|
|
8705 |
twice, displacing characters to the right. (bug probably introduced in
|
|
|
8706 |
5.20) (gstype1.c)
|
|
|
8707 |
- RasterOps didn't set the size of the RasterOp texture device,
|
|
|
8708 |
which caused filling operations involving a colored halftone to be clipped
|
|
|
8709 |
to an empty rectangle. (gdevrops.c)
|
|
|
8710 |
- When filling with a colored halftone, the RasterOp source was
|
|
|
8711 |
often disregarded. (gxcht.c)
|
|
|
8712 |
- gx_device_image[_plane]_data and gx_device_end_image took an
|
|
|
8713 |
unused dev argument, leading to potential confusion. We deprecated the
|
|
|
8714 |
gx_device_image_plane_data and gx_device_end_image procedures, replacing
|
|
|
8715 |
them with macros that call their replacements gx_image_plane_data and
|
|
|
8716 |
gx_image_end (which no longer have the spurious dev argument). (gxdevcli.h,
|
|
|
8717 |
gxdevice.h, gxiparam.h, gdevbbox.c, gdevddrw.c, gdevdflt.c, gsimage.c,
|
|
|
8718 |
gslib.c, gxclimag.c, gxclrast.c, gximage2.c, gximage3.c, gximage4.c)
|
|
|
8719 |
- gs_color_adjust_count, introduced in 5.33 to address the problem
|
|
|
8720 |
of freeing free-standing patterns, just made things worse. We are replacing
|
|
|
8721 |
them with gs_pattern_reference, essentially the procedure introduced in 5.31
|
|
|
8722 |
that we deleted in 5.33. (gsccolor.h, gspcolor.h, gscolor.c, gspcolor.c)
|
|
|
8723 |
|
|
|
8724 |
Changes hint suppression from a #define to a debugger-settable static.
|
|
|
8725 |
(gxhint1.c)
|
|
|
8726 |
|
|
|
8727 |
</pre>
|
|
|
8728 |
|
|
|
8729 |
<hr>
|
|
|
8730 |
|
|
|
8731 |
<h2><a name="Version5.33"></a>Version 5.33 (beta) (8/14/98)</h2>
|
|
|
8732 |
|
|
|
8733 |
<p>
|
|
|
8734 |
This is the third set of updates for 5.30. These updates have been driven
|
|
|
8735 |
mostly by the needs of another Aladdin project, so they haven't included as
|
|
|
8736 |
many problem fixes as we would normally make.
|
|
|
8737 |
|
|
|
8738 |
<h3><a name="V5.33_Platforms"></a>Platforms</h3><pre>
|
|
|
8739 |
|
|
|
8740 |
Fixes problems:
|
|
|
8741 |
- The thread creation procedure for Win32 called a Windows function
|
|
|
8742 |
rather than the proper C library function. (gp_win32.c)
|
|
|
8743 |
- In some MS-DOS implementations, the copy command doesn't recognize
|
|
|
8744 |
the /Y switch. (bcwin32.mak)
|
|
|
8745 |
|
|
|
8746 |
</pre><h3><a name="V5.33_Fonts"></a>Fonts</h3><pre>
|
|
|
8747 |
|
|
|
8748 |
Fixes problems:
|
|
|
8749 |
- TrueType fonts with *less* than 64K of glyf data stopped working.
|
|
|
8750 |
(bug introduced in 5.31) (gs_ttf.ps)
|
|
|
8751 |
|
|
|
8752 |
</pre><h3><a name="V5.33_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
8753 |
|
|
|
8754 |
Fixes problems:
|
|
|
8755 |
- Using an Identity function left an extra element on the stack.
|
|
|
8756 |
(pdf_draw.ps)
|
|
|
8757 |
- The syntax of # in names is different in PDF 1.1 and PDF 1.2, but
|
|
|
8758 |
the PDF 1.2 syntax was always used. (pdf_base.ps, pdf_main.ps)
|
|
|
8759 |
|
|
|
8760 |
</pre><h3><a name="V5.33_Library"></a>Library</h3><pre>
|
|
|
8761 |
|
|
|
8762 |
Fixes problems:
|
|
|
8763 |
- Color images still always caused an error. (bug introduced in
|
|
|
8764 |
5.32) (gxicolor.c)
|
|
|
8765 |
- Because of a typo, the implementation of image types didn't
|
|
|
8766 |
compile. (bug introduced in 5.32) (gxiparam.h)
|
|
|
8767 |
- Free-standing colors (specifically pattern colors) and color
|
|
|
8768 |
spaces couldn't be freed. This required a NON-BACKWARD-COMPATIBLE change in
|
|
|
8769 |
an internal API used for managing color and color space reference counts.
|
|
|
8770 |
(gxcspace.h, gsccolor.h, gscdevn.c, gscolor.c, gscolor2.c, gscscie.c,
|
|
|
8771 |
gscsepr.c, gscspace.c, gspcolor.c)
|
|
|
8772 |
|
|
|
8773 |
Cleans up a little more formatting. (gscspace.h)
|
|
|
8774 |
|
|
|
8775 |
</pre>
|
|
|
8776 |
|
|
|
8777 |
<hr>
|
|
|
8778 |
|
|
|
8779 |
<h2><a name="Version5.32"></a>Version 5.32 (beta) (8/13/98)</h2>
|
|
|
8780 |
|
|
|
8781 |
<p>
|
|
|
8782 |
This is the second set of updates for 5.30.
|
|
|
8783 |
|
|
|
8784 |
<h3><a name="V5.32_Procedures"></a>Procedures</h3><pre>
|
|
|
8785 |
|
|
|
8786 |
Fixes problems:
|
|
|
8787 |
- The OS/2 makefile accidentally omitted the OS/2-PM driver.
|
|
|
8788 |
(os2.mak)
|
|
|
8789 |
- The MSVC library makefile didn't work. (msvclib.mak)
|
|
|
8790 |
- Debugging was turned on in the Borland Windows makefile.
|
|
|
8791 |
(bcwin32.mak)
|
|
|
8792 |
- The BEGINFILES2 list was too long in the MSVC makefile.
|
|
|
8793 |
(msvc32.mak)
|
|
|
8794 |
|
|
|
8795 |
</pre><h3><a name="V5.32_Interpreter"></a>Interpreter</h3><pre>
|
|
|
8796 |
|
|
|
8797 |
Fixes problems:
|
|
|
8798 |
- .execn wouldn't accept pseudo-operators. (iref.h)
|
|
|
8799 |
- inustroke with a matrix operand didn't work correctly. (zupath.c)
|
|
|
8800 |
- ImageType 4 images didn't work. (bug introduced in 5.31)
|
|
|
8801 |
(zimage3.c)
|
|
|
8802 |
|
|
|
8803 |
</pre><h3><a name="V5.32_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
8804 |
|
|
|
8805 |
Fixes problems:
|
|
|
8806 |
- Forms used more than once caused an invalidaccess error.
|
|
|
8807 |
(pdf_draw.ps)
|
|
|
8808 |
|
|
|
8809 |
</pre><h3><a name="V5.32_Library"></a>Library</h3><pre>
|
|
|
8810 |
|
|
|
8811 |
Fixes problems:
|
|
|
8812 |
- Using a colored pattern with a Pattern color space that included a
|
|
|
8813 |
base space could access uninitialized floating point values, possibly
|
|
|
8814 |
causing an arithmetic trap. (gspcolor.c)
|
|
|
8815 |
- RasterOp wasn't implemented for 16- and 32- bit devices.
|
|
|
8816 |
(gdevm16.c, gdevm32.c, gdevmrop.c)
|
|
|
8817 |
- The library test program relied on copysign, which some C
|
|
|
8818 |
libraries lack. (gslib.c)
|
|
|
8819 |
- The gs_free and gs_heap_free_all debugging printout were included
|
|
|
8820 |
even if DEBUG wasn't defined. (bug introduced in 5.30) (gsmalloc.c)
|
|
|
8821 |
- Color images always caused an error. (bug introduced in 5.30)
|
|
|
8822 |
(gxicolor.c)
|
|
|
8823 |
- Masked images with pis = NULL could cause an error. (gximono.c)
|
|
|
8824 |
- In landscape orientation, masked images didn't guarantee that the
|
|
|
8825 |
buffer of mask scan lines would be flushed to the mask clipping device
|
|
|
8826 |
before processing the data being masked. (gxiparam.h, gxidata.c, gxifast.c,
|
|
|
8827 |
gximage3.c)
|
|
|
8828 |
- Images with source transparency set but CombineWithColor = false
|
|
|
8829 |
could get an error because of trying to paint with an unloaded
|
|
|
8830 |
color. (caused by a bug fix in 5.30) (gxdcolor.c, gxiinit.c)
|
|
|
8831 |
|
|
|
8832 |
</pre>
|
|
|
8833 |
|
|
|
8834 |
<hr>
|
|
|
8835 |
|
|
|
8836 |
<h2><a name="Version5.31"></a>Version 5.31 (limited) (8/11/98)</h2>
|
|
|
8837 |
|
|
|
8838 |
<p>
|
|
|
8839 |
This is the first set of updates for 5.30. They fix a few minor build
|
|
|
8840 |
problems, and some significant problems with bitmap patterns that do not
|
|
|
8841 |
affect the PostScript or PDF interpreters.
|
|
|
8842 |
|
|
|
8843 |
<h3><a name="V5.31_Drivers"></a>Drivers</h3><pre>
|
|
|
8844 |
|
|
|
8845 |
Moves some casting macros from generic files to the few specific files that
|
|
|
8846 |
use them. (gdev4693.c, gdevn533.c, gdevsnfb.c)
|
|
|
8847 |
|
|
|
8848 |
</pre><h3><a name="V5.31_Interpreter"></a>Interpreter</h3><pre>
|
|
|
8849 |
|
|
|
8850 |
Changes ImageType 4 images to match the change in the library interface.
|
|
|
8851 |
(zimage3.c)
|
|
|
8852 |
|
|
|
8853 |
</pre><h3><a name="V5.31_Library"></a>Library</h3><pre>
|
|
|
8854 |
|
|
|
8855 |
Fixes bugs:
|
|
|
8856 |
- The MaskColor elements of ImageType 4 images were defined as int
|
|
|
8857 |
rather than uint, truncating the range by 1 bit and causing problems in
|
|
|
8858 |
comparing the mask color against the pixel samples. (gsiparm4.h,
|
|
|
8859 |
gximage4.c)
|
|
|
8860 |
- A needed cast was missing from gs_malloc_memory_release.
|
|
|
8861 |
(gsmalloc.h)
|
|
|
8862 |
- A needed cast from byte to char was missing. (gsparams.c)
|
|
|
8863 |
- Patterns always allocated a mask for rendering, which for large
|
|
|
8864 |
patterns specified directly as bitmaps allocated a lot of unnecessary
|
|
|
8865 |
memory. (gxcolor2.h, gspcolor.c, gxp1fill.c, gxpcmap.c)
|
|
|
8866 |
- Macros simply defining casted versions of variables made the code
|
|
|
8867 |
hard to debug. We have only removed the ones that are in generic code (not
|
|
|
8868 |
drivers) and that cast pointers to gx_device or its subclasses: the only
|
|
|
8869 |
ones removed from header files were prn_dev in gdevprn.h, mdev in gdevmem.h,
|
|
|
8870 |
and ccdev, crdev, and cwdev in gxcldev.h. gdevmem.h, (gdevprn.h, gxclist.h,
|
|
|
8871 |
gdevabuf.c, gdevm1.c, gdevm2.c, gdevm4.c, gdevm8.c, gdevm16.c, gdevm24.c,
|
|
|
8872 |
gdevm32.c, gdevmpla.c, gdevnfwd.c, gdevprn.c, gxacpath.c, gxclimag.c,
|
|
|
8873 |
gxclist.c, gxclpage.c, gxclpath.c, gxclread.c, gxclrect.c)
|
|
|
8874 |
- There was no way to free a pattern instance outside the graphics
|
|
|
8875 |
state. (gspcolor.h, gspcolor.c)
|
|
|
8876 |
|
|
|
8877 |
</pre>
|
|
|
8878 |
|
|
|
8879 |
<hr>
|
|
|
8880 |
|
|
|
8881 |
<h2><a name="Version5.30"></a>Version 5.30 (limited) (8/10/98)</h2>
|
|
|
8882 |
|
|
|
8883 |
<p>
|
|
|
8884 |
This is the first beta candidate for the 5.50 release. It completes the
|
|
|
8885 |
merge of the overlapped rasterizing code into the main development line.
|
|
|
8886 |
|
|
|
8887 |
<h3><a name="V5.30_Documentation"></a>Documentation</h3><pre>
|
|
|
8888 |
|
|
|
8889 |
Fixes bugs:
|
|
|
8890 |
- Yves Arrouye's e-mail address was out of date. (gdevbjc.h,
|
|
|
8891 |
gdevcdj.c, contrib.mak, devices.txt, unix-lpr.txt)
|
|
|
8892 |
|
|
|
8893 |
Makes the warning against using SHARE_JPEG=1 even stronger. (make.txt,
|
|
|
8894 |
dvx-gcc.mak, ugcclib.mak. unix*.mak)
|
|
|
8895 |
|
|
|
8896 |
Removes information about using DCL files on VMS to build Ghostscript.
|
|
|
8897 |
(make.txt)
|
|
|
8898 |
|
|
|
8899 |
Updates the documentation for begin_typed_image. (drivers.txt)
|
|
|
8900 |
|
|
|
8901 |
</pre><h3><a name="V5.30_Procedures"></a>Procedures</h3><pre>
|
|
|
8902 |
|
|
|
8903 |
Fixes bugs:
|
|
|
8904 |
- The Unix build procedure didn't create the obj subdirectory
|
|
|
8905 |
automatically. (unixhead.mak, unix-end.mak)
|
|
|
8906 |
- gsdll_h wasn't defined for the OS/2 PM device. Fixing this
|
|
|
8907 |
properly required moving the OS/2 drivers into the same makefile as the MS
|
|
|
8908 |
Windows drivers, and renaming the file. (devs.mak, msdevs.mak => pcwin.mak,
|
|
|
8909 |
winlib.mak)
|
|
|
8910 |
- gsiparm4_h was used before it was defined. (lib.mak)
|
|
|
8911 |
- Building with shared libaries still used header files in
|
|
|
8912 |
Ghostscript's directories, not the ones in /usr/include. ****** NOT DONE
|
|
|
8913 |
YET ******
|
|
|
8914 |
- The makefiles all assumed they were located in the current
|
|
|
8915 |
directory, not in the source directory. (*.mak)
|
|
|
8916 |
|
|
|
8917 |
Adds new 'debugclean' and 'pgclean' targets, parallel to 'debug' and 'pg',
|
|
|
8918 |
for the Unix platforms. (unix-end.mak)
|
|
|
8919 |
|
|
|
8920 |
Changes the management of .dev files so that on Unix platforms, one can
|
|
|
8921 |
really maintain standard, debugging, and profiling builds simultaneously.
|
|
|
8922 |
This is a hack, but a fairly reliable one. (gs.mak, unixhead.mak,
|
|
|
8923 |
unix-end.mak)
|
|
|
8924 |
|
|
|
8925 |
Adds a dummy thread / semaphore / monitor implementation to all platforms
|
|
|
8926 |
other than Windows. (dvx-tail.mak, openvms.mak, os2.mak, ugcclib.mak,
|
|
|
8927 |
unixtail.mak, watc.mak, watclib.mak)
|
|
|
8928 |
|
|
|
8929 |
</pre><h3><a name="V5.30_Drivers"></a>Drivers</h3><pre>
|
|
|
8930 |
|
|
|
8931 |
Updates driver support to use the new write-position stream. (gdevpsdf.c)
|
|
|
8932 |
|
|
|
8933 |
</pre><h3><a name="V5.30_Platforms"></a>Platforms</h3><pre>
|
|
|
8934 |
|
|
|
8935 |
Fixes bugs:
|
|
|
8936 |
- The Windows Registry calls didn't deal properly with a null
|
|
|
8937 |
pointer. (gp_wgetv.c)
|
|
|
8938 |
|
|
|
8939 |
Makes a small change in the platform semaphore / monitor API. (gpsync.h,
|
|
|
8940 |
gxsync.h, gp_win32.c, gxsync.c)
|
|
|
8941 |
|
|
|
8942 |
Adds a dummy thread / semaphore / monitor implementation. Note that with
|
|
|
8943 |
this implementation, async rendering WILL NOT WORK. (gp_nsync.c)
|
|
|
8944 |
|
|
|
8945 |
Adds pthreads thread creation and POSIX semaphores for Unix platforms. (We
|
|
|
8946 |
still need to add System V semaphores, which is all that is available on
|
|
|
8947 |
Solaris and BSDI.) (gp_semon.c, gp_posem.c, gp_pthr.c).
|
|
|
8948 |
|
|
|
8949 |
</pre><h3><a name="V5.30_Fonts"></a>Fonts</h3><pre>
|
|
|
8950 |
|
|
|
8951 |
Fixes bugs:
|
|
|
8952 |
- CIDFontType 0 fonts didn't select the proper VM space for adding
|
|
|
8953 |
entries to font dictionaries, and for loading Subrs strings. (gs_cidfn.ps)
|
|
|
8954 |
- TrueType fonts with an odd glyfs length didn't work. (gs_ttf.ps)
|
|
|
8955 |
- TrueType fonts with a Format 3 'post' table didn't work.
|
|
|
8956 |
(gs_ttf.ps)
|
|
|
8957 |
- TrueType fonts where the encoding in the 'post' table didn't cover
|
|
|
8958 |
the entire set of glyfs didn't work. (gs_ttf.ps)
|
|
|
8959 |
- TrueType fonts with more than 128K of glyfs didn't work.
|
|
|
8960 |
(gs_ttf.ps)
|
|
|
8961 |
- TrueType cmap format 6 didn't work. (gs_ttf.ps)
|
|
|
8962 |
- CIDFontType 0 fonts with hex data didn't skip over the > at the
|
|
|
8963 |
end of the data. (gs_cidfn.ps)
|
|
|
8964 |
|
|
|
8965 |
</pre><h3><a name="V5.30_Interpreter"></a>Interpreter</h3><pre>
|
|
|
8966 |
|
|
|
8967 |
Works around the fact that gs_shfill can't do a gs_setcolorspace for color
|
|
|
8968 |
spaces that require interpreter assistance. (gs_ll3.ps)
|
|
|
8969 |
|
|
|
8970 |
Moves clipsave and cliprestore to C code. (gs_ll3.ps, zmisc3.c)
|
|
|
8971 |
|
|
|
8972 |
Updates some files to reflect the redivision of gsmemory.h and gsstruct.h.
|
|
|
8973 |
(imemory.h, istruct.h, ialloc.c)
|
|
|
8974 |
|
|
|
8975 |
</pre><h3><a name="V5.30_Streams"></a>Streams</h3><pre>
|
|
|
8976 |
|
|
|
8977 |
Adds a stream that just keeps track of the write position. (stream.h,
|
|
|
8978 |
stream.c)
|
|
|
8979 |
|
|
|
8980 |
Removes the compilation dependency that required all clients of the zlib
|
|
|
8981 |
filters to be compiled with the zlib source directory in the search path.
|
|
|
8982 |
(szlibx.h, szlibxx.h, szlib[cde].c)
|
|
|
8983 |
|
|
|
8984 |
</pre><h3><a name="V5.30_Library"></a>Library</h3><pre>
|
|
|
8985 |
|
|
|
8986 |
Fixes bugs:
|
|
|
8987 |
- ImageType 4 images with >1 input component didn't work.
|
|
|
8988 |
(gximage4.c)
|
|
|
8989 |
- Sampled functions didn't keep the fractional part when
|
|
|
8990 |
interpolating, possibly leading to infinite recursion in shading.
|
|
|
8991 |
(gsfunc0.c)
|
|
|
8992 |
- The color error value for shadings was computed incorrectly for
|
|
|
8993 |
CIE color spaces. (gxshade.c)
|
|
|
8994 |
- The CharstringType 2 'roll' operator rolled the operands in the
|
|
|
8995 |
wrong direction. (gstype2.c)
|
|
|
8996 |
- Images with RasterOp or transparency didn't retain the current
|
|
|
8997 |
color properly, leading to unpredictable results. (gdevmrop.h, gsropt.h,
|
|
|
8998 |
gdevddrw.c, gdevrops.c, gxdcolor.c, gxiinit.c, gximage3.c)
|
|
|
8999 |
- A cast to void * was needed to remove a const modifier.
|
|
|
9000 |
(gscrdp.c)
|
|
|
9001 |
- On 8-bit non-gray-scale devices, RasterOp values of all-0s or
|
|
|
9002 |
all-1s produced the wrong output. (gdevmrop.c)
|
|
|
9003 |
- The GC procedure for halftone screen enumerators was wrong,
|
|
|
9004 |
possibly causing invalid memory access errors. This bug predates 5.10.
|
|
|
9005 |
(gshtscr.c)
|
|
|
9006 |
- An extra pair of string quotes confused some compilers.
|
|
|
9007 |
(gsshade.c)
|
|
|
9008 |
- There were several errors in the CharstringType 2 'flex'
|
|
|
9009 |
operators. (gstype2.c)
|
|
|
9010 |
- The structure descriptors for devices weren't initialized in
|
|
|
9011 |
library-only configurations. (int.mak, gconf.c)
|
|
|
9012 |
- The Pattern cache got confused if the current device when a
|
|
|
9013 |
Pattern color was used wasn't the same as the current device when the
|
|
|
9014 |
Pattern instance was created. (gxpcmap.c)
|
|
|
9015 |
- The target of forwarding devices wasn't reference-counted
|
|
|
9016 |
properly. (gsdevice.c) ****** FIXING THIS PROPERLY WILL BE A LOT OF WORK:
|
|
|
9017 |
WE ONLY FIXED gs_setdevice_no_erase ******
|
|
|
9018 |
- As a result of fixing a typo, the structure declaration for
|
|
|
9019 |
gx_page_queue was private, causing clients not to compile. We left it
|
|
|
9020 |
private and added an instance allocation procedure. (gxpageq.h, gdevprna.c,
|
|
|
9021 |
gxpageq.c)
|
|
|
9022 |
- The mask for ImageType 3 images was clipped (incorrectly).
|
|
|
9023 |
(gximage3.c)
|
|
|
9024 |
- Interpolated images with negative X->X values in the CTM were
|
|
|
9025 |
displaced on the page. (gxiscale.c)
|
|
|
9026 |
|
|
|
9027 |
Finishes integrating the asynchronous rendering code. (gpsync.h, gxclist.h,
|
|
|
9028 |
gdevprna.c, gsmemlok.c, gxclimag.c, gxclpath.c, gxclutil.c)
|
|
|
9029 |
|
|
|
9030 |
Updates the memory manager API for additional flexibility needed for
|
|
|
9031 |
asynchronous rendering. (gsmalloc.h, gsmemlok.h, gsmemraw.h, gsalloc.c,
|
|
|
9032 |
gsmalloc.c, gsmemlok.c)
|
|
|
9033 |
|
|
|
9034 |
Updates the standard memory manager to work with a fixed (externally
|
|
|
9035 |
supplied) set of chunks, needed for asynchronous rendering, removing some
|
|
|
9036 |
macros in the process. (gsalloc.h, gsalloc.c)
|
|
|
9037 |
|
|
|
9038 |
Updates some code to use more mnemonic variable names. (gstype2.c,
|
|
|
9039 |
gxicolor.c)
|
|
|
9040 |
|
|
|
9041 |
Removes some macros for better readability. (gdevmrop.c)
|
|
|
9042 |
|
|
|
9043 |
Adds dummy implementations of clipsave and cliprestore. (gsclipsr.h,
|
|
|
9044 |
gsclipsr.c)
|
|
|
9045 |
|
|
|
9046 |
Implements an alternative, but completely untested, parameter list
|
|
|
9047 |
serializer based on streams. (gsparam2.c)
|
|
|
9048 |
|
|
|
9049 |
Moves more of the internal memory manager structures from gsmemory.h to
|
|
|
9050 |
gsstruct.h. (gsmemory.h, gsstruct.h, gsmemory.c)
|
|
|
9051 |
|
|
|
9052 |
</pre>
|
|
|
9053 |
|
|
|
9054 |
<hr>
|
|
|
9055 |
|
|
|
9056 |
<h2><a name="Version5.28"></a>Version 5.28 (limited) (8/3/98)</h2>
|
|
|
9057 |
|
|
|
9058 |
<p>
|
|
|
9059 |
This fileset almost finishes merging in the code for overlapped
|
|
|
9060 |
("asynchronous") interpretation and rasterizing that gave rise to the
|
|
|
9061 |
side-branch versions 5.13 and 5.14; eliminates all initialized non-constant
|
|
|
9062 |
globals from the graphics library (but not from the interpreter); and adds a
|
|
|
9063 |
few more LanguageLevel 3 features (CIEBasedDEF[G] color spaces, CloseSource
|
|
|
9064 |
and CloseTarget for streams, Separation base space for Indexed color
|
|
|
9065 |
spaces).
|
|
|
9066 |
|
|
|
9067 |
<p>
|
|
|
9068 |
We were not originally planning to produce another fileset until the code
|
|
|
9069 |
merge was completed; however, the schedule demands of another Aladdin
|
|
|
9070 |
project justify another intermediate fileset.
|
|
|
9071 |
|
|
|
9072 |
<h3><a name="V5.28_Documentation"></a>Documentation</h3><pre>
|
|
|
9073 |
|
|
|
9074 |
Notes that the MSVC++ 5.0 compiler may lock up when compiling gxi12bit.c
|
|
|
9075 |
with optimization. (make.txt)
|
|
|
9076 |
|
|
|
9077 |
</pre><h3><a name="V5.28_Procedures"></a>Procedures</h3><pre>
|
|
|
9078 |
|
|
|
9079 |
Fixes bugs:
|
|
|
9080 |
- psl3 didn't include fzlib. (int.mak)
|
|
|
9081 |
- The Windows makefile had the wrong name for a DLL. (winint.mak)
|
|
|
9082 |
- The Borland Windows makefile had several errors. (bcwin32.mak)
|
|
|
9083 |
|
|
|
9084 |
At the request of a user, changes the creation of jconfig.h so it #includes,
|
|
|
9085 |
rather than copies, arch.h. (jpeg.mak, gsjconf.h)
|
|
|
9086 |
|
|
|
9087 |
</pre><h3><a name="V5.28_Utilities"></a>Utilities</h3><pre>
|
|
|
9088 |
|
|
|
9089 |
Fixes bugs:
|
|
|
9090 |
- viewpbm.ps scaled the image wrong. (viewpbm.ps)
|
|
|
9091 |
|
|
|
9092 |
</pre><h3><a name="V5.28_Drivers"></a>Drivers</h3><pre>
|
|
|
9093 |
|
|
|
9094 |
Fixes bugs:
|
|
|
9095 |
- clist_close was declared as an open proc rather than a close proc.
|
|
|
9096 |
(As it happens, this didn't make any difference.) (gxclist.c)
|
|
|
9097 |
- A comment was improperly terminated. (gxpageq.h)
|
|
|
9098 |
- A needed #include of memory_.h was missing. (gdevpsde.c)
|
|
|
9099 |
|
|
|
9100 |
Integrates nearly all the rest of the code for asynchronous rendering.
|
|
|
9101 |
(gdevprn.h, gdevprna.h, gxcldev.h, gxclist.h, gxclpath.h, gxclmem.h,
|
|
|
9102 |
gdevbmpa.c, gdevprn.c, gdevprna.c, gxclbits.c, gxclimag.c, gxclist.c,
|
|
|
9103 |
gxclmem.c, gxclpath.c, gxclread.c, gxclrect.c)
|
|
|
9104 |
|
|
|
9105 |
Changes tracing of memory-based clists to occur only if -Z: is selected,
|
|
|
9106 |
rather than always if the code was compiled with -DDEBUG. Note that this is
|
|
|
9107 |
a NON-BACKWARD-COMPATIBLE CHANGE (but only affects debugging). (gxclmem.c)
|
|
|
9108 |
|
|
|
9109 |
Implements the NumCopies parameter for all page devices, not just printers.
|
|
|
9110 |
(gxdevcli.h, gxdevice.h, gdevprn.c, gsdparam.c)
|
|
|
9111 |
|
|
|
9112 |
Splits off command list writing utilities into a separate file, since
|
|
|
9113 |
gxclist.c was getting too large. (gxclist.h, gxclist.c, gxclutil.c)
|
|
|
9114 |
|
|
|
9115 |
Splits command list reading into control (gxclread.c) and the actual list
|
|
|
9116 |
interpreter (gxclrast.c), since the file was getting too large. (gxcldev.h,
|
|
|
9117 |
gxclrast.c, gxclread.c)
|
|
|
9118 |
|
|
|
9119 |
Distinguishes dev_proc_* (defining a general driver procedure) from
|
|
|
9120 |
prn_dev_proc_* (defining a printer driver procedure). Unfortunately, we
|
|
|
9121 |
have to keep dev_proc_print_page and _print_page_copies for backward
|
|
|
9122 |
compatibility. (gdevprn.h)
|
|
|
9123 |
|
|
|
9124 |
Splits out of the BMP driver the parts shared with the async version
|
|
|
9125 |
(gdevbmp.h, gdevbmp.c, gdevbmpc.c).
|
|
|
9126 |
|
|
|
9127 |
Changes the band rasterizer to implement get_bits_rectangle rather than
|
|
|
9128 |
get_bits. In some cases, this results in much less computation.
|
|
|
9129 |
(gxclist.c, gxclread.c)
|
|
|
9130 |
|
|
|
9131 |
Makes the monochrome H-P printer drivers emit a printer reset when closing
|
|
|
9132 |
the device. According to a user, this helps prevent the ink nozzles from
|
|
|
9133 |
clogging. (gdevdjet.c)
|
|
|
9134 |
|
|
|
9135 |
</pre><h3><a name="V5.28_Platforms"></a>Platforms</h3><pre>
|
|
|
9136 |
|
|
|
9137 |
Fixes bugs:
|
|
|
9138 |
- The Windows DLL entry point procedure didn't return a value as it
|
|
|
9139 |
was supposed to. (gp_mswin.c)
|
|
|
9140 |
|
|
|
9141 |
Removes all remaining initialized but non-constant globals, and ensures that
|
|
|
9142 |
all non-debugging-related BSS variables in the library are explicitly set to
|
|
|
9143 |
|
|
|
9144 |
|
|
|
9145 |
Improves an error message slightly. (dwmainc.cpp)
|
|
|
9146 |
|
|
|
9147 |
</pre><h3><a name="V5.28_Interpreter"></a>Interpreter</h3><pre>
|
|
|
9148 |
|
|
|
9149 |
Fixes bugs:
|
|
|
9150 |
- The tracing code for restore_resources could access an invalid
|
|
|
9151 |
address. (isave.c)
|
|
|
9152 |
- sizeof(procedure) is not allowed in ANSI C++. (opdef.h,
|
|
|
9153 |
iccfont.c, interp.c, ireclaim.c)
|
|
|
9154 |
- A variable was declared incorrectly as bin_token_type_t rather
|
|
|
9155 |
than bin_seq_type_t. (iscanbin.c)
|
|
|
9156 |
- The behavior of copypage didn't change in LanguageLevel 3.
|
|
|
9157 |
(gs_init.ps)
|
|
|
9158 |
- When grestore et al reactivated a page device, they performed an
|
|
|
9159 |
initgraphics, which should only be performed by showpage. (gs_setpd.ps)
|
|
|
9160 |
- The RunLengthEncode filter was broken in cases where the caller
|
|
|
9161 |
supplied a record size. (bug introduced in 5.2x) (zfilter.c)
|
|
|
9162 |
- A needed #include of memory_.h was missing. (zfreuse.c)
|
|
|
9163 |
- On machines with sizeof(long) > sizeof(int), the dictionary form
|
|
|
9164 |
of image and imagemask didn't work. (bug introduced in 5.2x) (zimage2.c)
|
|
|
9165 |
- exitserver left a 'true' on the operand stack. (gs_lev2.ps)
|
|
|
9166 |
|
|
|
9167 |
Replaces the STACK_LOOP_BEGIN/END macros with procedures. (We retain the
|
|
|
9168 |
macros for backward compatibility.) (istack.h, istack.c, zchar.c,
|
|
|
9169 |
zcontrol.c, zdict.c, zvmem.c)
|
|
|
9170 |
|
|
|
9171 |
Reviews the remaining operator files for ease of reading / debugging,
|
|
|
9172 |
including removing macros where appropriate. (z*.c)
|
|
|
9173 |
|
|
|
9174 |
Changes the dictionary stack printer to indicate whether the dictionary is
|
|
|
9175 |
allocated in global or local VM. (gs_init.ps)
|
|
|
9176 |
|
|
|
9177 |
Redefines countexecstack and execstack as operators, solely for the sake of
|
|
|
9178 |
the Genoa [count]execstack tests. (gs_init.ps, zcontrol.c)
|
|
|
9179 |
|
|
|
9180 |
Changes array/string/packedarray forall not to keep an index on the stack,
|
|
|
9181 |
solely for the sake of the Genoa [count]execstack tests. (zgeneric.c)
|
|
|
9182 |
|
|
|
9183 |
Finishes implementing CIEBasedDEF[G] color spaces. (icie.h, zcie.c)
|
|
|
9184 |
|
|
|
9185 |
Adds a ColorSpace resource instance for sRGB. (gs_lev2.ps, gs_res.ps)
|
|
|
9186 |
|
|
|
9187 |
Implements CloseSource and CloseTarget for filters. ****** DOESN'T WORK IF
|
|
|
9188 |
AN EXCEPTION OCCURS DURING A NESTED CLOSE. ****** (zfile.c)
|
|
|
9189 |
|
|
|
9190 |
Allows Separation and DeviceN color spaces as the base space for an Indexed
|
|
|
9191 |
color space. (zcsdevn.c, zcsindex.c, zcssepr.c)
|
|
|
9192 |
|
|
|
9193 |
</pre><h3><a name="V5.28_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
9194 |
|
|
|
9195 |
Fixes bugs:
|
|
|
9196 |
- In PDF files, Indexed color spaces with a CIEBasedABC base space
|
|
|
9197 |
gave an /undefined error. (pdf_draw.ps)
|
|
|
9198 |
|
|
|
9199 |
</pre><h3><a name="V5.28_Streams"></a>Streams</h3><pre>
|
|
|
9200 |
|
|
|
9201 |
Fixes bugs:
|
|
|
9202 |
- The report_error member of the DCT streams wasn't initialized
|
|
|
9203 |
early enough. (ifilter.h, zfdctd.c, zfdcte.c, zfile.c)
|
|
|
9204 |
|
|
|
9205 |
Changes the zlib filters to use the stream's allocator, rather than the
|
|
|
9206 |
default allocator, for their private storage. Note that this requires the
|
|
|
9207 |
stream itself to keep pointers to this storage, for garbage collection.
|
|
|
9208 |
(szlibx.h, szlibc.c, szlibd.c, szlibe.c)
|
|
|
9209 |
|
|
|
9210 |
Updates some clients to use new, simpler GC structure descriptors. (sdct.h,
|
|
|
9211 |
sfilter.h, sdctc.c, sfilter1.c)
|
|
|
9212 |
|
|
|
9213 |
Adds a close_strm member for the interpreter's use (CloseSource /
|
|
|
9214 |
CloseTarget). (stream.h, stream.c)
|
|
|
9215 |
|
|
|
9216 |
</pre><h3><a name="V5.28_Library"></a>Library</h3><pre>
|
|
|
9217 |
|
|
|
9218 |
Fixes bugs:
|
|
|
9219 |
- gstate, currentgstate, and setgstate didn't handle the effective
|
|
|
9220 |
clip path properly, possibly leading to dangling pointers. (gsstate.c)
|
|
|
9221 |
- setrasterop, setsourcetransparent, and settexturetransparent
|
|
|
9222 |
should all return int rather than void, since they can fail. (gsrop.h,
|
|
|
9223 |
gsrop.c)
|
|
|
9224 |
- FunctionType 1 functions didn't clip the output value to the
|
|
|
9225 |
Range. (gsfunc3.c)
|
|
|
9226 |
- A needed cast from byte * to char * was missing. (gscrdp.c)
|
|
|
9227 |
- Some needed #includes of *_.h were missing. (gscrd.c, gscrdp.c,
|
|
|
9228 |
gxshade6.c)
|
|
|
9229 |
- The prototype for gx_effective_clip_path wasn't #included in a
|
|
|
9230 |
needed place. (gsimage.c)
|
|
|
9231 |
- RasterOp sometimes didn't work properly for devices whose
|
|
|
9232 |
representation of white wasn't a pixel value of 0. (gxdcolor.h, gdevbbox.c,
|
|
|
9233 |
gdevdbit.c, gdevvec.c, gslib.c, gxdcolor.c)
|
|
|
9234 |
- The variable used to detect double declaration of
|
|
|
9235 |
gs_get_bits_params_t was named incorrectly. (gxdevcli.h, gxgetbit.h)
|
|
|
9236 |
- gs_[eo]clip never retained the clipping path in its original form.
|
|
|
9237 |
These routines now retain it in the simple case (the old clipping path is a
|
|
|
9238 |
rectangle, and the new path is completely contained within it). This
|
|
|
9239 |
requires a small NON-BACKWARD-COMPATIBLE change in the gx_cpath_intersect
|
|
|
9240 |
procedure: it no longer updates the new path, and it flattens the path if
|
|
|
9241 |
needed. To avoid problems, we renamed this procedure as gx_cpath_clip.
|
|
|
9242 |
(gsdps.c, gspath.c, gxcpath.c)
|
|
|
9243 |
- If the image was empty, gs_image_common_init didn't free the
|
|
|
9244 |
lower-level enumerator. (gsimage.c, gxccache.c)
|
|
|
9245 |
|
|
|
9246 |
Removes all remaining initialized but non-constant globals, and ensures that
|
|
|
9247 |
all non-debugging-related BSS variables in the library are explicitly set to
|
|
|
9248 |
|
|
|
9249 |
gsiodev.c, gsutil.c, gxcht.c)
|
|
|
9250 |
|
|
|
9251 |
Finishes implementing table-driven GC descriptors. We expected it to save
|
|
|
9252 |
considerable space at negligible time cost; it actually shrank the 1Mb
|
|
|
9253 |
executable by only about 5K, and slowed down garbage collection by about
|
|
|
9254 |
2%. (gsfcmap.h, gsstrtab.h [deleted], gsstruct.h, gzpath.h, gsfcmap.c,
|
|
|
9255 |
gsmemory.c, gsstrtab.c [deleted])
|
|
|
9256 |
|
|
|
9257 |
Finishes implementing CIEBasedDEF[G] color spaces. (gscie.h, gscie.c)
|
|
|
9258 |
|
|
|
9259 |
Simplifies some code by removing or redefining macros. (gxi12bit.c)
|
|
|
9260 |
|
|
|
9261 |
Removes all patches made for easier retrofitting of 5.2x code into 5.1x
|
|
|
9262 |
filesets. (gdevdrop.c, gdevmrop.c, gslib.c, gspcolor.c)
|
|
|
9263 |
|
|
|
9264 |
Reviews a few more files for style and readability. (gxbitfmt.h,
|
|
|
9265 |
gxgetbit.h)
|
|
|
9266 |
|
|
|
9267 |
Allows Separation (and, if included, DeviceN) color spaces as the base space
|
|
|
9268 |
of an Indexed color space. Unfortunately, this involves introducing a new
|
|
|
9269 |
distinction in color space types, which entails NON-BACKWARD-COMPATIBLE
|
|
|
9270 |
changes in the color space and color space type structures. (gxcspace.h,
|
|
|
9271 |
gscdevn.c, gscolor1.c, gscolor2.c, gscpixel.c, gscscie.c, gscsepr.c,
|
|
|
9272 |
gscspace.c, gspcolor.c)
|
|
|
9273 |
|
|
|
9274 |
Makes a small addition in order to fix an interpreter bug. (gxfixed.h,
|
|
|
9275 |
gdevbbox.c)
|
|
|
9276 |
|
|
|
9277 |
</pre>
|
|
|
9278 |
|
|
|
9279 |
<hr>
|
|
|
9280 |
|
|
|
9281 |
<h2><a name="Version5.27"></a>Version 5.27 (limited) (7/18/98)</h2>
|
|
|
9282 |
|
|
|
9283 |
<p>
|
|
|
9284 |
This is another "in-flight" snapshot made in preparation for the 5.2x / 5.1x
|
|
|
9285 |
code merge. It completes the driver CRD API.
|
|
|
9286 |
|
|
|
9287 |
<h3><a name="V5.27_Documentation"></a>Documentation</h3><pre>
|
|
|
9288 |
|
|
|
9289 |
Fixes bugs:
|
|
|
9290 |
- The reference to psview was out of date. (new-user.txt)
|
|
|
9291 |
|
|
|
9292 |
Adds some pointers to Aladdin Ghostscript mirror sites. (new-user.txt)
|
|
|
9293 |
|
|
|
9294 |
Updates the C style guide a little further. (c-style.txt)
|
|
|
9295 |
|
|
|
9296 |
Adds documentation on driver-supplied CRDs. (drivers.txt)
|
|
|
9297 |
|
|
|
9298 |
Updates the JPEG makefile to mention IJG release 6b. (jpeg.mak)
|
|
|
9299 |
|
|
|
9300 |
Updates documentation to reflect the devs.mak / contrib.mak split. (README,
|
|
|
9301 |
devices.txt, drivers.txt, make.txt, new-user.txt, source.txt, use.txt)
|
|
|
9302 |
|
|
|
9303 |
</pre><h3><a name="V5.27_Procedures"></a>Procedures</h3><pre>
|
|
|
9304 |
|
|
|
9305 |
Fixes bugs:
|
|
|
9306 |
- sjpegerr.o was needed even when using the shared JPEG library.
|
|
|
9307 |
(jpeg.mak)
|
|
|
9308 |
|
|
|
9309 |
Changes the name of the jpeg library directory from jpeg-<version> to just
|
|
|
9310 |
jpeg, to parallel libpng and zlib. (make.txt, *.mak)
|
|
|
9311 |
|
|
|
9312 |
Creates a separate makefile for contributed drivers. Eventually these
|
|
|
9313 |
drivers will go in a separate directory. (devs.mak, contrib.mak, *.mak)
|
|
|
9314 |
|
|
|
9315 |
</pre><h3><a name="V5.27_Drivers"></a>Drivers</h3><pre>
|
|
|
9316 |
|
|
|
9317 |
Fixes bugs:
|
|
|
9318 |
- The pkm driver was absurdly inefficient. (gdevpbm.c)
|
|
|
9319 |
- The psfax driver (which, admittedly, doesn't come close to
|
|
|
9320 |
working) no longer compiled. (gdevpfax.c)
|
|
|
9321 |
- The ARCHAIC mode of the Epson driver emitted an incorrect
|
|
|
9322 |
character ('r' instead of ^R). (gdevepsn.c)
|
|
|
9323 |
- The X driver didn't check the calls of XInitImage for error
|
|
|
9324 |
status. (gdevx.c)
|
|
|
9325 |
|
|
|
9326 |
Updates a client for the change in the names of the gb_ values. (gdevx.c)
|
|
|
9327 |
|
|
|
9328 |
Updates a client for the added param_request procedure. (gdevpsdf.c)
|
|
|
9329 |
|
|
|
9330 |
Reformats all Aladdin-maintained drivers to the new Ghostscript standard
|
|
|
9331 |
format, using indent. We deliberately did not reformat user-contributed
|
|
|
9332 |
drivers, since indent mangles a line once in a while and we do not want to
|
|
|
9333 |
take responsibility for fixing others' code. (*.h, *.c)
|
|
|
9334 |
|
|
|
9335 |
Adds a default CRD specification to the 'bit' device, for testing.
|
|
|
9336 |
(gdevbit.c)
|
|
|
9337 |
|
|
|
9338 |
Integrates a bit more of the support code for asynchronous rasterizing.
|
|
|
9339 |
(gxband.h, gxclio.h, gxclist.h, gxclmem.h, gxclfile.c, gxclist.c, gxclmem.c,
|
|
|
9340 |
gxclread.c, gxpageq.h, gxpageq.c)
|
|
|
9341 |
|
|
|
9342 |
</pre><h3><a name="V5.27_Platforms"></a>Platforms</h3><pre>
|
|
|
9343 |
|
|
|
9344 |
Adds thread support to the Win32 platform. (gp_win32.c)
|
|
|
9345 |
|
|
|
9346 |
</pre><h3><a name="V5.27_Interpreter"></a>Interpreter</h3><pre>
|
|
|
9347 |
|
|
|
9348 |
Fixes bugs:
|
|
|
9349 |
- Composite fonts with CID-keyed descendants didn't run the
|
|
|
9350 |
BuildGlyph procedure. (zchar.c)
|
|
|
9351 |
- The internal representation of CMaps was built incorrectly.
|
|
|
9352 |
(zfcmap.c)
|
|
|
9353 |
- Category resources didn't load from files automatically.
|
|
|
9354 |
(gs_res.ps)
|
|
|
9355 |
|
|
|
9356 |
Reformats all files to the new Ghostscript standard format, using indent.
|
|
|
9357 |
(*.h, *.c)
|
|
|
9358 |
|
|
|
9359 |
Reviews most of the operator files for ease of reading / debugging,
|
|
|
9360 |
including removing macros where appropriate. (z*.c)
|
|
|
9361 |
|
|
|
9362 |
Updates a client for the change in the names of the gb_ values. (zdevice.c)
|
|
|
9363 |
|
|
|
9364 |
Updates a client for the added param_request procedure. (iparam.c)
|
|
|
9365 |
|
|
|
9366 |
Updates clients for the completion of the CRD API. (zcie.c, zcrd.c)
|
|
|
9367 |
|
|
|
9368 |
Increases the initial size of systemdict a little more, to allow for -d and
|
|
|
9369 |
-s. (iinit.c)
|
|
|
9370 |
|
|
|
9371 |
</pre><h3><a name="V5.27_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
9372 |
|
|
|
9373 |
Fixes bugs:
|
|
|
9374 |
- Text modes other than 0 didn't work with multiple-byte fonts.
|
|
|
9375 |
(pdf_ops.ps)
|
|
|
9376 |
- There were many bugs in the code for Type 0 and CIDFontType 0
|
|
|
9377 |
fonts. (pdf_font.ps)
|
|
|
9378 |
|
|
|
9379 |
</pre><h3><a name="V5.27_Library"></a>Library</h3><pre>
|
|
|
9380 |
|
|
|
9381 |
Fixes bugs:
|
|
|
9382 |
- cshow returned a character code of -1 for composite fonts with
|
|
|
9383 |
FMapType 9 (CMap-based). (gsfcmap.h, gschar0.c, gsfcmap.c)
|
|
|
9384 |
- The GC procedure for enumerating show enumerators was broken.
|
|
|
9385 |
(bug introduced in 5.24 or 5.25) (gschar.c)
|
|
|
9386 |
- dashpath always copied the path, instead of only copying it if
|
|
|
9387 |
needed. (gspath1.c)
|
|
|
9388 |
- The hint replacement fix in 5.24 sometimes thought a path was
|
|
|
9389 |
closed when it wasn't, producing gross distortions of some characters.
|
|
|
9390 |
(gxhint3.c)
|
|
|
9391 |
|
|
|
9392 |
Cleans up code for debugging by expanding macros, etc. (gstext.h,
|
|
|
9393 |
gschar0.c)
|
|
|
9394 |
|
|
|
9395 |
Changes the gb_ values to all caps, in line with general C convention. This
|
|
|
9396 |
is a NON-BACKWARD-COMPATIBLE change to an as yet rarely-used API.
|
|
|
9397 |
(gxbitfmt.h, gdevalph.c, gdevdgbr.c, gdevmem.c, gsalphac.c, gximage2.c)
|
|
|
9398 |
|
|
|
9399 |
Enhances the default implementation of parameter lists to allow requesting
|
|
|
9400 |
individual parameters. This is needed for the driver CRD API. (gsparam.h,
|
|
|
9401 |
gscparam.c, gsparam.c)
|
|
|
9402 |
|
|
|
9403 |
Completes the API for driver CRDs, also moving some code from gscie.c to
|
|
|
9404 |
gscrd.c. This involves a NON-BACKWARD-COMPATIBLE change in the prototype of
|
|
|
9405 |
the TransformPQR procedures. (gscie.h, gscrd.h, gscrdp.h, gscie.c, gscrd.c,
|
|
|
9406 |
gscrdp.c)
|
|
|
9407 |
|
|
|
9408 |
Reformats all files to the new Ghostscript standard format, using indent.
|
|
|
9409 |
(*.h, *.c)
|
|
|
9410 |
|
|
|
9411 |
Splits up gdevmrop.c into 3 files: gdevmrop.c (RasterOp implementation for
|
|
|
9412 |
memory devices), gdevdrop.c (default and device-independent RasterOp
|
|
|
9413 |
algorithms), and gdevrops.c (RasterOp-source device). (gdevmrop.h,
|
|
|
9414 |
gdevdrop.c, gdevmrop.c, gdevrops.c)
|
|
|
9415 |
|
|
|
9416 |
</pre>
|
|
|
9417 |
|
|
|
9418 |
<hr>
|
|
|
9419 |
|
|
|
9420 |
<h2><a name="Version5.26"></a>Version 5.26 (limited) (7/7/98)</h2>
|
|
|
9421 |
|
|
|
9422 |
<p>
|
|
|
9423 |
The purpose of this fileset is to add an API for drivers to provide one or
|
|
|
9424 |
more device-appropriate CIE rendering dictionaries. Like 5.25, it is a
|
|
|
9425 |
"snapshot" fileset not made available even to beta testers.
|
|
|
9426 |
|
|
|
9427 |
<h3><a name="V5.26_Procedures"></a>Procedures</h3><pre>
|
|
|
9428 |
|
|
|
9429 |
Fixes bugs:
|
|
|
9430 |
- An !endif was omitted. (msvc32.mak)
|
|
|
9431 |
- A newly needed Windows library was omitted. (msvctail.mak)
|
|
|
9432 |
- The /Za and /Ze switches were set incorrectly for MSVC.
|
|
|
9433 |
(bcwin32.mak, msvccmd.mak, watcw32.mak, winint.mak, winlib.mak)
|
|
|
9434 |
|
|
|
9435 |
</pre><h3><a name="V5.26_Drivers"></a>Drivers</h3><pre>
|
|
|
9436 |
|
|
|
9437 |
Fixes bugs:
|
|
|
9438 |
- A closing bracket was omitted (in code that is ifdef'd out).
|
|
|
9439 |
(gdevpdf.c)
|
|
|
9440 |
|
|
|
9441 |
</pre><h3><a name="V5.26_Fonts"></a>Fonts</h3><pre>
|
|
|
9442 |
|
|
|
9443 |
Changes the font loader so that instead of pushing systemdict and a small
|
|
|
9444 |
empty dictionary on the stack before loading a font, it pushes userdict.
|
|
|
9445 |
This is what Adobe interpreters do, but this will probably break some
|
|
|
9446 |
PostScript files, specifically ones that redefine 'index'. I don't see how
|
|
|
9447 |
the Adobe interpreters can possibly do the right thing for such files.
|
|
|
9448 |
(gs_fonts.ps, gs_type1.ps)
|
|
|
9449 |
|
|
|
9450 |
</pre><h3><a name="V5.26_Interpreter"></a>Interpreter</h3><pre>
|
|
|
9451 |
|
|
|
9452 |
Updates clients for changes in CRD API. This involves some changes in
|
|
|
9453 |
internal procedures. (gs_lev2.ps, icie.h, zcie.c, zcrd.c)
|
|
|
9454 |
|
|
|
9455 |
</pre><h3><a name="V5.26_Library"></a>Library</h3><pre>
|
|
|
9456 |
|
|
|
9457 |
Fixes bugs:
|
|
|
9458 |
- Pickling string, name, and array parameters tried to force
|
|
|
9459 |
inappropriate alignment. (gsparams.c)
|
|
|
9460 |
- Pickling dictionary parameters wrote the result in the wrong
|
|
|
9461 |
place. (gsparams.c)
|
|
|
9462 |
- An occurrence of dev_t should have been gx_device. The compiler
|
|
|
9463 |
didn't catch this because there happens to be a type named dev_t in
|
|
|
9464 |
<types.h> (!). (gxclread.c)
|
|
|
9465 |
|
|
|
9466 |
Adds an API for drivers to provide one or more CRDs (as device parameters).
|
|
|
9467 |
Makes a small but NON-BACKWARD-COMPATIBLE change in the names and argument
|
|
|
9468 |
lists of the existing CRD API (which is not used by anything in the standard
|
|
|
9469 |
configuration). (gscie.h, gscrd.h, gscrdp.h, gscie.c, gscrd.c, gscrdp.c,
|
|
|
9470 |
gslib.c)
|
|
|
9471 |
|
|
|
9472 |
</pre>
|
|
|
9473 |
|
|
|
9474 |
<hr>
|
|
|
9475 |
|
|
|
9476 |
<h2><a name="Version5.25"></a>Version 5.25 (limited) (7/1/98)</h2>
|
|
|
9477 |
|
|
|
9478 |
<p>
|
|
|
9479 |
This is a "snapshot" fileset created for the purpose of merging with a
|
|
|
9480 |
separate development branch. While it fixes some significant bugs in 5.24,
|
|
|
9481 |
it doesn't represent substantial additional progress.
|
|
|
9482 |
|
|
|
9483 |
<h3><a name="V5.25_Documentation"></a>Documentation</h3><pre>
|
|
|
9484 |
|
|
|
9485 |
Completely rearranges the C style guide, updates it to reflect current
|
|
|
9486 |
practice, and adds a 1-page summary of the most important points.
|
|
|
9487 |
(c-style.txt)
|
|
|
9488 |
|
|
|
9489 |
Updates the man pages for consistency and to correct minor errors. (*.1)
|
|
|
9490 |
|
|
|
9491 |
Notes that the pjxl300 driver works with the H-P CopyJet. (devices.txt,
|
|
|
9492 |
devs.mak).
|
|
|
9493 |
|
|
|
9494 |
Notes that in order to deal with over-zealous Solaris security checking,
|
|
|
9495 |
additional linker switches are needed. (make.txt, unix*.mak)
|
|
|
9496 |
|
|
|
9497 |
</pre><h3><a name="V5.25_Procedures"></a>Procedures</h3><pre>
|
|
|
9498 |
|
|
|
9499 |
Fixes bugs:
|
|
|
9500 |
- 'make install' didn't get the executable from the right place.
|
|
|
9501 |
unixinst.mak)
|
|
|
9502 |
- COMPILE_INITS=1 didn't work. (int.mak, geninit.c)
|
|
|
9503 |
- The MSVC makefile updates hadn't been applied to the MSVC-only
|
|
|
9504 |
devices. (devs.mak)
|
|
|
9505 |
- The other PC makefiles didn't define GLCCWIN. (bcwin32.mak,
|
|
|
9506 |
watcw32.mak)
|
|
|
9507 |
|
|
|
9508 |
Adds bounding box testing to the library test program. (ugcclib.mak)
|
|
|
9509 |
|
|
|
9510 |
Reviews and reformats code for maintainability. (genarch.c, geninit.c)
|
|
|
9511 |
|
|
|
9512 |
Moves the MS Windows-specific devices to a new file. (bcwin32.mak,
|
|
|
9513 |
devs.mak, msdevs.mak, msvc32.mak, watcw32.mak)
|
|
|
9514 |
|
|
|
9515 |
</pre><h3><a name="V5.25_Platforms"></a>Platforms</h3><pre>
|
|
|
9516 |
|
|
|
9517 |
Reviews and reformats header files for maintainability. (vmsmath.h,
|
|
|
9518 |
windows_.h)
|
|
|
9519 |
|
|
|
9520 |
Removes some no-longer-used files from the fileset. (overlay.h, gp_itbc.c)
|
|
|
9521 |
|
|
|
9522 |
</pre><h3><a name="V5.25_Fonts"></a>Fonts</h3><pre>
|
|
|
9523 |
|
|
|
9524 |
Fixes bugs:
|
|
|
9525 |
- Substituted fonts had their FontName set to the requested one.
|
|
|
9526 |
There was a comment in the code saying that some files that depend on this
|
|
|
9527 |
happening, but Adobe implementations don't do it. However, aliased fonts in
|
|
|
9528 |
Fontmap will continue to have the FontName set to the Fontmap key.
|
|
|
9529 |
(gs_fonts.ps)
|
|
|
9530 |
|
|
|
9531 |
Adds the euro symbol at position 240 (0360) in SymbolEncoding. This is a
|
|
|
9532 |
PostScript 3 addition, but it's too much work to make it appear there only
|
|
|
9533 |
if languagelevel >= 3. (gs_sym_e.ps)
|
|
|
9534 |
|
|
|
9535 |
</pre><h3><a name="V5.25_Interpreter"></a>Interpreter</h3><pre>
|
|
|
9536 |
|
|
|
9537 |
Fixes bugs:
|
|
|
9538 |
- The bbox device didn't work if its target was itself a forwarding
|
|
|
9539 |
device. (gdevbbox.c)
|
|
|
9540 |
- User parameters maintained at the PostScript (as opposed to VM)
|
|
|
9541 |
level didn't work. (gs_init.ps)
|
|
|
9542 |
- Idiom recognition didn't work. (gs_init.ps, gs_ll3.ps, zmisc3.c)
|
|
|
9543 |
- .beginpage and .endpage could cause an error if the current device
|
|
|
9544 |
was a page device but was installed with setdevice rather than
|
|
|
9545 |
setpagedevice. (gs_setpd.ps)
|
|
|
9546 |
|
|
|
9547 |
In the interest of readability, replaces all casting macros with separate
|
|
|
9548 |
variables, other than those used in enum_ptrs and reloc_ptrs procedures.
|
|
|
9549 |
Note that doing this for rptr in gc_trace in igc.c will have a significant
|
|
|
9550 |
performance cost on Intel CPUs, unless the compiler has a very good
|
|
|
9551 |
optimizer, because it introduces another variable competing for scarce
|
|
|
9552 |
registers in the most performance-critical section of code in the garbage
|
|
|
9553 |
collector. (ialloc.c, igc.c, iparam.c, isave.c, istack.c, zchar42.c,
|
|
|
9554 |
zfproc.c, zusparam.c)
|
|
|
9555 |
|
|
|
9556 |
Changes some macros to procedures. (igc.c, ilocate.c, zusparam.c)
|
|
|
9557 |
|
|
|
9558 |
Changes some macros to static quasi-constants (only variable for debugging).
|
|
|
9559 |
(zvmem.c)
|
|
|
9560 |
|
|
|
9561 |
Adds #include "errors.h" to oper.h, removing it from z*.c. (oper.h, z*.c)
|
|
|
9562 |
|
|
|
9563 |
Reviews and reformats some header files for maintainability. This is an
|
|
|
9564 |
ongoing project. (bfont.h, errors.h, iinit.c)
|
|
|
9565 |
|
|
|
9566 |
Consolidates and simplifies the reading and writing of binary tokens and
|
|
|
9567 |
binary object sequences. (bseq.h [deleted], btoken.h, ibnum.h, ibnum.c,
|
|
|
9568 |
iscanbin.c, zbseq.c)
|
|
|
9569 |
|
|
|
9570 |
Adds dummy user and system parameter entries for all the parameters listed
|
|
|
9571 |
in Appendix C of the PostScript Red Book: even though the book clearly says
|
|
|
9572 |
that no PostScript program should rely on the presence of any particular
|
|
|
9573 |
parameter, PostScript files routinely assume the existence of the parameters
|
|
|
9574 |
listed in Appendix C. (gs_init.ps, gs_lev2.ps, gs_res.ps)
|
|
|
9575 |
|
|
|
9576 |
Adds dummy user and system parameter entries for the new parameters listed
|
|
|
9577 |
in the 3010 Supplement. (gs_ll3.ps)
|
|
|
9578 |
|
|
|
9579 |
Adds double-inclusion protection to all header files. (*.h)
|
|
|
9580 |
|
|
|
9581 |
Moves the creation of binary object sequence headers from C to PostScript
|
|
|
9582 |
code. (zbseq.c, gs_btokn.ps)
|
|
|
9583 |
|
|
|
9584 |
Adds support for multiple FormTypes and ColorRenderingTypes. (gs_init.ps,
|
|
|
9585 |
gs_lev2.ps, gs_res.ps, zcrd.c)
|
|
|
9586 |
|
|
|
9587 |
Updates structures and clients for the introduction of "raw memory"
|
|
|
9588 |
allocators. (ialloc.h, igc.h, ialloc.c, imain.c, isave.c)
|
|
|
9589 |
|
|
|
9590 |
In the interest of readability and being able to use GNU indent to create
|
|
|
9591 |
standard formatting, changes the operator tables from procedures back to
|
|
|
9592 |
data structures. This change is backward-compatible for all operator files,
|
|
|
9593 |
although we also edited all of Ghostscript's own operator definitions to
|
|
|
9594 |
remove the BEGIN_OP_DEFS and END_OP_DEFS macros (which now have to generate
|
|
|
9595 |
a little unnecessary code for backward compatibility). (opdef.h, iconf.c,
|
|
|
9596 |
iinit.c, iutil.c, z*.c)
|
|
|
9597 |
|
|
|
9598 |
Splits zchar2.c into a Level 1+ part and a Level 2 part. (zcfont.c,
|
|
|
9599 |
zchar2.c)
|
|
|
9600 |
|
|
|
9601 |
</pre><h3><a name="V5.25_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
9602 |
|
|
|
9603 |
Adds font synthesis based on the FontDescriptor. Currently this is very
|
|
|
9604 |
rudimentary. (pdf_font.ps)
|
|
|
9605 |
|
|
|
9606 |
</pre><h3><a name="V5.25_Drivers"></a>Drivers</h3><pre>
|
|
|
9607 |
|
|
|
9608 |
Fixes bugs:
|
|
|
9609 |
- The PDF writer didn't default to A4 paper size if A4 was selected
|
|
|
9610 |
as the default in the makefile. (gdevpdf.c)
|
|
|
9611 |
- The default implementation of the begin_image procedure always
|
|
|
9612 |
called the image's begin_image implementation, rather than the device's
|
|
|
9613 |
begin_typed_image implementation. (gdevddrw.c)
|
|
|
9614 |
- The bbox device didn't initialize its reference count.
|
|
|
9615 |
(gdevbbox.c)
|
|
|
9616 |
- A necessary cast was omitted. (gdevpsde.c)
|
|
|
9617 |
|
|
|
9618 |
Changes some macros to procedures. (gdevpstr.h, gdevpstr.c)
|
|
|
9619 |
|
|
|
9620 |
Adds an internal device to implement the PCL5 special color mapping
|
|
|
9621 |
algorithms. (gdevcmap.h, gxdevice.h, gdevcmap.c, gdevnfwd.c)
|
|
|
9622 |
|
|
|
9623 |
Adds double-inclusion protection to all header files. (*.h)
|
|
|
9624 |
|
|
|
9625 |
Updates drivers for the change in begin_image. (gdevbbox.c, gdevpdfi.c,
|
|
|
9626 |
gdevvec.c, gxclimag.c)
|
|
|
9627 |
|
|
|
9628 |
</pre><h3><a name="V5.25_Library"></a>Library</h3><pre>
|
|
|
9629 |
|
|
|
9630 |
Fixes bugs:
|
|
|
9631 |
- The non-ANSI definitions of CLEAR_MARKS_PROC, ENUM_PTRS_BEGIN_PROC
|
|
|
9632 |
and RELOC_PTRS_BEGIN were missing a parameter. (gsstruct.h)
|
|
|
9633 |
- A few necessary casts were omitted. (gsparam.c, gxpcmap.c)
|
|
|
9634 |
- Images or Patterns with non-default RasterOps could cause crashes.
|
|
|
9635 |
(gdevmrop.c, gxp1fill.c)
|
|
|
9636 |
- Exponential Interpolation functions with non-integral positive
|
|
|
9637 |
exponents incorrectly required the lower bound of the domain to be strictly
|
|
|
9638 |
positive rather than only non-negative. (gsfunc3.c)
|
|
|
9639 |
- The attempt to achieve the desired color smoothness when shading
|
|
|
9640 |
could compute (nearly) forever. (gxshade.c, gxshade1.c)
|
|
|
9641 |
- The arc change in 5.24 caused arcs to render incorrectly.
|
|
|
9642 |
(gspath1.c)
|
|
|
9643 |
- The macro-reducing cleanup in 5.24 introduced a bug in handling
|
|
|
9644 |
copy operations with negative skew. (gdevm1.c)
|
|
|
9645 |
|
|
|
9646 |
Adds unmasked images and bounding box testing to the library test program.
|
|
|
9647 |
(gxdevcli.h, gslib.c)
|
|
|
9648 |
|
|
|
9649 |
Changes some macros to procedures. (gxfunc.h, gsfunc.c, gsfunc0.c,
|
|
|
9650 |
gsfunc3.c)
|
|
|
9651 |
|
|
|
9652 |
Adds double-inclusion protection to all header files. (*.h)
|
|
|
9653 |
|
|
|
9654 |
Reviews and reformats header files for maintainability. (*_.h, dodebug.h
|
|
|
9655 |
[deleted])
|
|
|
9656 |
|
|
|
9657 |
Changes the structure of the common part of the image enumerator to include
|
|
|
9658 |
the device (which may be different from the original device, because of
|
|
|
9659 |
forwarding), and to access the procedures through a pointer to a const
|
|
|
9660 |
structure. This is a NON-BACKWARD-COMPATIBLE CHANGE for implementors of
|
|
|
9661 |
begin_image, since they now must pass the device to
|
|
|
9662 |
gx_image_enum_common_init. (gximage.h, gxiparam.h, gdevddrw.c, gdevdflt.c,
|
|
|
9663 |
gxiinit.c, gximage3.c, gximage4.c)
|
|
|
9664 |
|
|
|
9665 |
Adds tests of the new color mapping device to the library test program.
|
|
|
9666 |
(gslib.c)
|
|
|
9667 |
|
|
|
9668 |
Removes the last vestiges of segmented pointers. (genarch.c, std.h)
|
|
|
9669 |
|
|
|
9670 |
Introduces a "raw memory" API, primarily for managing the underlying memory
|
|
|
9671 |
pool for embedded systems. This involves a NON-BACKWARD-COMPATIBLE-CHANGE
|
|
|
9672 |
in the implementation (but not ordinary clients) of allocators.
|
|
|
9673 |
(gsmemory.h, gsmemraw.h, gxalloc.h, gsalloc.c, gsmalloc.c, gsmemory.c)
|
|
|
9674 |
|
|
|
9675 |
</pre>
|
|
|
9676 |
|
|
|
9677 |
<hr>
|
|
|
9678 |
|
|
|
9679 |
<h2><a name="Version5.24"></a>Version 5.24 (limited) (6/17/98)</h2>
|
|
|
9680 |
|
|
|
9681 |
<p>
|
|
|
9682 |
In addition to the usual bug fixes, and a few enhancements where temptation
|
|
|
9683 |
proved irresistible or in response to an external need, this fileset:
|
|
|
9684 |
<ul>
|
|
|
9685 |
<li> - Takes the first steps on a major readability cleanup
|
|
|
9686 |
(4-space indentation instead of 2, replacement of macros by
|
|
|
9687 |
procedures, ....)
|
|
|
9688 |
|
|
|
9689 |
<li> - Implements a bit more of the DPS functionality, including view
|
|
|
9690 |
clipping, and gstate stack copying for 'fork'.
|
|
|
9691 |
|
|
|
9692 |
<li> - Starts to sketch a text API for drivers.
|
|
|
9693 |
|
|
|
9694 |
<li> - Changes the Unix makefiles so that they create production
|
|
|
9695 |
binaries
|
|
|
9696 |
in a separate directory.
|
|
|
9697 |
</ul>
|
|
|
9698 |
|
|
|
9699 |
<p>
|
|
|
9700 |
Again, there are some non-backward-compatible changes required by other
|
|
|
9701 |
architectural improvements. As always, we have tried to minimize the impact
|
|
|
9702 |
of such changes on users' code.
|
|
|
9703 |
|
|
|
9704 |
<h3><a name="V5.24_Documentation"></a>Documentation</h3><pre>
|
|
|
9705 |
|
|
|
9706 |
Fixes bugs:
|
|
|
9707 |
- The -Kn switch wasn't documented. (use.txt)
|
|
|
9708 |
- The term "Software" was used instead of "Program" in the last
|
|
|
9709 |
paragraphs of the license. (PUBLIC)
|
|
|
9710 |
|
|
|
9711 |
Adds a couple of missing operators to the list at the end of ostack.h.
|
|
|
9712 |
(ostack.h)
|
|
|
9713 |
|
|
|
9714 |
Documents more precisely which gstate points to which objects after various
|
|
|
9715 |
gstate operations. (gsstate.c)
|
|
|
9716 |
|
|
|
9717 |
Corrects some addresses for the Free Software Foundation. (commprod.txt,
|
|
|
9718 |
new-user.txt)
|
|
|
9719 |
|
|
|
9720 |
Improves the documentation for memory management of color spaces. (gscie.h,
|
|
|
9721 |
gscolor2.h)
|
|
|
9722 |
|
|
|
9723 |
Updates the list of hardware available to Aladdin. (new-user.txt)
|
|
|
9724 |
|
|
|
9725 |
Documents ReopenPerPage. (language.txt)
|
|
|
9726 |
|
|
|
9727 |
Moves the documentation of image rendering procedures to a better place.
|
|
|
9728 |
(gximage.h, gxiinit.c)
|
|
|
9729 |
|
|
|
9730 |
Clarifies that old slzwe.c files may not work with current Ghostscript
|
|
|
9731 |
versions. (make.txt)
|
|
|
9732 |
|
|
|
9733 |
</pre><h3><a name="V5.24_Procedures"></a>Procedures</h3><pre>
|
|
|
9734 |
|
|
|
9735 |
Fixes bugs:
|
|
|
9736 |
- psl3.dev didn't include func.dev. (int.mak)
|
|
|
9737 |
- device and device2 devices weren't sorted together, causing
|
|
|
9738 |
devices to appear in the list out of order (including, possibly, selecting
|
|
|
9739 |
the wrong device as default). (genconf.c)
|
|
|
9740 |
- The mswindll module definition omitted some needed files.
|
|
|
9741 |
(devs.mak)
|
|
|
9742 |
|
|
|
9743 |
Changes the optimization level for gcc from -O to -O2 for both standard and
|
|
|
9744 |
profiling builds. (unix-gcc.mak)
|
|
|
9745 |
|
|
|
9746 |
Defines 3 new makefile macros for the Unix platforms,
|
|
|
9747 |
CFLAGS_{STANDARD|DEBUG|PROFILE}, that give the additional compiler switches
|
|
|
9748 |
for these 3 compilation options. (unixansi.mak, unix-cc.mak, unix-gcc.mak)
|
|
|
9749 |
|
|
|
9750 |
Changes the Unix makefiles so that by default they create the binaries in an
|
|
|
9751 |
'obj' subdirectory of the source directory. (unixansi.mak, unix-cc.mak,
|
|
|
9752 |
unix-gcc.mak, unix-end.mak)
|
|
|
9753 |
|
|
|
9754 |
Updates the MSVC++ makefiles so they allow setting any configuration
|
|
|
9755 |
parameter from the make command line. (msvc32.mak, msvccmd.mak, msvccom.mak
|
|
|
9756 |
[deleted], msvclib.mak, msvctail.mak)
|
|
|
9757 |
|
|
|
9758 |
</pre><h3><a name="V5.24_Utilities"></a>Utilities</h3><pre>
|
|
|
9759 |
|
|
|
9760 |
Fixes bugs:
|
|
|
9761 |
- ps2ascii was broken. (ps2ascii.ps)
|
|
|
9762 |
|
|
|
9763 |
Adds capability to gslp.ps:
|
|
|
9764 |
|
|
|
9765 |
- Variable-width fonts (but without automatic line breaking);
|
|
|
9766 |
|
|
|
9767 |
- Pair kerning (from AFM file);
|
|
|
9768 |
|
|
|
9769 |
- Inter-character and space width adjustment.
|
|
|
9770 |
|
|
|
9771 |
This project was done for a paying customer. (gslp.ps)
|
|
|
9772 |
|
|
|
9773 |
</pre><h3><a name="V5.24_Drivers"></a>Drivers</h3><pre>
|
|
|
9774 |
|
|
|
9775 |
Fixes bugs:
|
|
|
9776 |
- The name of the plan9bm device was wrong. (gdevpbm.c)
|
|
|
9777 |
- The PDF writer wrote incorrect parameters for the CCITTFax filter
|
|
|
9778 |
used to compress Type 3 font bitmaps. (bug introduced in 5.23) (gdevpdfi.c)
|
|
|
9779 |
- The PDF writer emitted two 'endobj' lines for Type 3 bitmap fonts.
|
|
|
9780 |
(gdevpdf.c)
|
|
|
9781 |
|
|
|
9782 |
Removes all remaining uses of _ds and _ss in Aladdin's drivers. (gdevprn.h,
|
|
|
9783 |
gdevsvga.h, gdevbit.c, gdevcgm.c, gdevdjet.c, gdevmsxf.c, gdevpbm.c,
|
|
|
9784 |
gdevpccm.c, gdevpcfb.c, gdevpdfi.c, gdevprn.c, gdevsvga.c, gdevtfax.c)
|
|
|
9785 |
|
|
|
9786 |
Renames a local macro named END. (gdevcgml.c)
|
|
|
9787 |
|
|
|
9788 |
Removes all uses of far_data other than for device (but not device2)
|
|
|
9789 |
prototypes. (gdevbit.c, gdevdjet.c, gdevemap.c, gdevmsxf.c, gdevpbm.c,
|
|
|
9790 |
gdevpcfb.c, gdevpcx.c, gdevpdf.c, gdevpng.c, gdevps.c, gdevpsim.c, gdevpx.c,
|
|
|
9791 |
gdevtfax.c, gdevtfnx.c, gdevvglb.c, gdevx.c, gdevxalt.c)
|
|
|
9792 |
|
|
|
9793 |
Adds a psrgb driver that writes PostScript (Level 2) planar,
|
|
|
9794 |
run-length-compressed, 24-bit RGB images. (gdevpsci.c)
|
|
|
9795 |
|
|
|
9796 |
Starts to define and implement a driver procedure for text. This interface
|
|
|
9797 |
will certainly change in the future as we get more insight into the division
|
|
|
9798 |
of responsibility and control flow between generic code, individual drivers,
|
|
|
9799 |
and internal and external fonts. This involves a major
|
|
|
9800 |
NON-BACKWARD-COMPATIBLE CHANGE in the gs_show_enum structure (which no
|
|
|
9801 |
client should be accessing directly). (gdevmem.h, gdevprn.h, gstext.h,
|
|
|
9802 |
gxchar.h, gxdevcli.h, gxdevice.h, gxtext.h, gdevbbox.c, gdevht.c,
|
|
|
9803 |
gdevnfwd.c, gschar.c, gschar0.c, gstext.c, gxacpath.c, gxclip.c, gxclip2.c,
|
|
|
9804 |
gxclipm.c, gxclist.c, gxpcmap.c)
|
|
|
9805 |
|
|
|
9806 |
Extends the parameter list printer to handle names and arrays. (gdevpsdf.c)
|
|
|
9807 |
|
|
|
9808 |
Implements the ability to write out a Type 1 font definition, for embedding
|
|
|
9809 |
fonts in PDF output. Currently this code isn't called from anywhere, and it
|
|
|
9810 |
will certainly be subject to change in the future. (gdevpsdf.h, gdevpdfi.c,
|
|
|
9811 |
gdevpsde.c, gdevpsdf.c)
|
|
|
9812 |
|
|
|
9813 |
Adds the PCL XL Protocol Class 2.0 operators, attributes, and enumerated
|
|
|
9814 |
values to the relevant header files. (gdevpxat.h, gdevpxen.h, gdevpxop.h)
|
|
|
9815 |
|
|
|
9816 |
Converts some additional devices to -dev2, to make them const. (devs.mak,
|
|
|
9817 |
gdevjpeg.c)
|
|
|
9818 |
|
|
|
9819 |
To help in debugging, changes all uses of
|
|
|
9820 |
#define ss ((stream_xxx_state *)st)
|
|
|
9821 |
to
|
|
|
9822 |
stream_xxx_state * const ss = (stream_xxx_state *)st;
|
|
|
9823 |
(gdevpdfi.c, gdevpsdi.c, gdevpsdp.c, gdevpsds.c)
|
|
|
9824 |
|
|
|
9825 |
Massages mem_mono_copy_mono and mem_mono_strip_tile_rectangle to reduce the
|
|
|
9826 |
use of macros somewhat. (gdevm1.c, gdevmem.h)
|
|
|
9827 |
|
|
|
9828 |
Makes a change to support the change in gs_param_list_common. (gdevpsdf.c)
|
|
|
9829 |
|
|
|
9830 |
Replaces all remaining uses of do { ... } while (0) with BEGIN ... END.
|
|
|
9831 |
(gdevpdfm.c, gdevpx.c, gdevx.c, gdevxalt.c)
|
|
|
9832 |
|
|
|
9833 |
Adds a ReopenPerPage Boolean device parameter for printers, which causes the
|
|
|
9834 |
output file to be closed and reopened for each page. This may be helpful in
|
|
|
9835 |
persuading spoolers to start printing as soon as the first page is
|
|
|
9836 |
available. (gdevprn.h, gdevprn.c)
|
|
|
9837 |
|
|
|
9838 |
Makes the %-format validator for output file names a procedure, even though
|
|
|
9839 |
it's only called in one place. (gdevprn.c)
|
|
|
9840 |
|
|
|
9841 |
Updates some clients for the change from std_procs to procs. (gdevp2up.c,
|
|
|
9842 |
gdevpbm.c, gdevupd.c,
|
|
|
9843 |
|
|
|
9844 |
Removes the use of the CleanFaxData tag (327) from TIFF output, since many
|
|
|
9845 |
applications don't recognize it and it isn't in the TIFF 6 documentation.
|
|
|
9846 |
(gdevtifs.h, gdevtfax.c)
|
|
|
9847 |
|
|
|
9848 |
</pre><h3><a name="V5.24_Platforms"></a>Platforms</h3><pre>
|
|
|
9849 |
|
|
|
9850 |
Adds a new gp_setmode_binary platform procedure, to set a file into binary
|
|
|
9851 |
mode on platforms that distinguish text and binary. (gp.h, gp_*.c)
|
|
|
9852 |
|
|
|
9853 |
</pre><h3><a name="V5.24_Fonts"></a>Fonts</h3><pre>
|
|
|
9854 |
|
|
|
9855 |
Fixes bugs:
|
|
|
9856 |
- The derived (Bold, Oblique, ...) Hershey fonts were broken.
|
|
|
9857 |
(fonts/makeher.ps, fonts/h*.ps)
|
|
|
9858 |
|
|
|
9859 |
</pre><h3><a name="V5.24_Interpreter"></a>Interpreter</h3><pre>
|
|
|
9860 |
|
|
|
9861 |
Fixes bugs:
|
|
|
9862 |
- As always, gcc failed to report some signed/unsigned char *
|
|
|
9863 |
mismatches. (imainarg.c)
|
|
|
9864 |
- Some needed #includes were missing. (zcrd.c, ztype.c)
|
|
|
9865 |
- Contexts were always allocated in global VM (should be local VM),
|
|
|
9866 |
and were freed in the current VM (should be local VM). Fixing this required
|
|
|
9867 |
changing some internal interfaces defined in icontext.h. (icontext.h,
|
|
|
9868 |
icontext.c, interp.c, zcontext.c)
|
|
|
9869 |
- restore did some unnecessary gsaves. (zvmem.c)
|
|
|
9870 |
- Creating a new context didn't initialize the graphics state
|
|
|
9871 |
properly, and didn't do the first gsave that grestoreall relies on.
|
|
|
9872 |
(gs_dps.ps)
|
|
|
9873 |
- The bookkeeping for open files didn't work with multiple contexts.
|
|
|
9874 |
Fixing this required a substantial (simplifying) redesign of the
|
|
|
9875 |
interpreter's bookkeeping for streams in general: this may have introduced
|
|
|
9876 |
new bugs. (files.h, ireclaim.c, isave.c, zfile.c)
|
|
|
9877 |
- fork didn't copy the graphics state stack. (zcontext.c)
|
|
|
9878 |
- The space bits were set incorrectly in the array reference for the
|
|
|
9879 |
operand stack, causing the garbage collector not to mark the operand stack
|
|
|
9880 |
of contexts other than the current one. (interp.c)
|
|
|
9881 |
- LanguageLevel 3 facilities weren't enabled when desired.
|
|
|
9882 |
(gs_ll3.ps, ilevel.h, opdef.h, iinit.c, zcsdevn.c, zimage3.c, zmisc2.c,
|
|
|
9883 |
zmisc3.c, zshade.c, ztrap.c)
|
|
|
9884 |
- flushfile with a procedure-target stream didn't pass the buffered
|
|
|
9885 |
data to the procedure. We tinkered with this a little, but it still isn't
|
|
|
9886 |
fixed. (zfilter.c, zfproc.c)
|
|
|
9887 |
- The top-level color space objects allocated by the CIE color space
|
|
|
9888 |
setting operators were never freed (until garbage collection). (zcie.c)
|
|
|
9889 |
- setpagedevice with a 0-size page didn't fail. (gs_setpd.ps,
|
|
|
9890 |
zmedia2.c)
|
|
|
9891 |
- If one or more of the matrices in a CIE color space or CRD was
|
|
|
9892 |
singular, setcolorspace or setcolorrendering could cause a stackoverflow.
|
|
|
9893 |
(zcie.c)
|
|
|
9894 |
- defineuserobject didn't work. (I don't see how it could ever have
|
|
|
9895 |
worked.) (gs_dps2.ps)
|
|
|
9896 |
- The version string wasn't read-only. (gs_init.ps, gs_lev2.ps,
|
|
|
9897 |
gs_ll3.ps)
|
|
|
9898 |
- Some standard resource categories weren't defined (which they need
|
|
|
9899 |
to be, even if they have no instances). (gs_res.ps, gs_ll3.ps)
|
|
|
9900 |
- The Trapping ProcSet was empty. (gs_ll3.ps)
|
|
|
9901 |
- setvmthreshold didn't accept a value of -1. (gs_lev2.ps,
|
|
|
9902 |
gs_pdfwr.ps, zusparam.c, zvmem2.c)
|
|
|
9903 |
- Binary tokens containing native reals with swapped byte order
|
|
|
9904 |
didn't read in properly. (ibnum.c, iscanbin.c)
|
|
|
9905 |
- In binary object sequences, many executable objects were
|
|
|
9906 |
incorrectly written out as literal. (zbseq.c)
|
|
|
9907 |
- String DataSources for shadings didn't work. (zshade.c)
|
|
|
9908 |
- Parameter dictionaries with integer keys didn't work. (iparam.c)
|
|
|
9909 |
- A "can't happen" condition caused massive confusion instead of a
|
|
|
9910 |
rangecheck error. (gs_setpd.ps)
|
|
|
9911 |
- setcachelimit and setcacheparams were broken, because they no
|
|
|
9912 |
longer interacted correctly with setuserparams and setsystemparams.
|
|
|
9913 |
(gs_lev2.ps)
|
|
|
9914 |
- The source width and height of images was arbitrarily limited to
|
|
|
9915 |
32767. (zimage2.c)
|
|
|
9916 |
- The optional dictionary parameter for filters was the last
|
|
|
9917 |
operand, not the first. (zfbcp.c, zfdecode.c, zfilter.c, zfilter2.c,
|
|
|
9918 |
zfilterx.c, zfzlib.c)
|
|
|
9919 |
- If the current color space was Indexed, Separation using the
|
|
|
9920 |
alternative space, or DeviceN using the alternative space,
|
|
|
9921 |
currentgray/cmykcolor/hsbcolor/rgbcolor returned 0 rather than the
|
|
|
9922 |
underlying color. (This was a correction to the Red Book in the 3010
|
|
|
9923 |
Language Supplement, Section D.2.4 and D.2.5.) (gscolor.c, gscolor1.c,
|
|
|
9924 |
gxcspace.h)
|
|
|
9925 |
|
|
|
9926 |
Implements some additional LanguageLevel 3 stream facilities:
|
|
|
9927 |
- CloseSource and CloseTarget (parsing only). (ilevel.h, zfilter.c)
|
|
|
9928 |
- Dictionary argument for SubFileDecode. (zfilter.c)
|
|
|
9929 |
- UnitSize (fully implemented) and LowBitFirst (parsing only) for
|
|
|
9930 |
LZWDecode. (zfdecode.c)
|
|
|
9931 |
- ReusableStreamDecode (incomplete). (gs_ll3.ps, zfreuse.c)
|
|
|
9932 |
|
|
|
9933 |
Removes all remaining uses of _ds and _ss. (bfont.h, errors.h, files.h,
|
|
|
9934 |
icie.h, idict.h, idparam.h, ifunc.h, iscan.h, iutil2.h, opdef.h; iccfont.c,
|
|
|
9935 |
idict.c, idparam.c, igc.c, iinit.c, iparam.c, iscan.c, iscannum.c, iutil2.c,
|
|
|
9936 |
zcid.c, zcie.c, zdevice2.c, zfdecode.c, zfile.c, zfileio.c, zfont0.c,
|
|
|
9937 |
zfont2.c, zfont42.c, zfunc.c, zht2.c, zusparam.c)
|
|
|
9938 |
|
|
|
9939 |
Removes the use of gs_if_debug_c. (zvmem2.c)
|
|
|
9940 |
|
|
|
9941 |
Updates clients for the change in color space num_components. (zcolor2.c,
|
|
|
9942 |
zcsindex.c, zcssepr.c, zpcolor.c)
|
|
|
9943 |
|
|
|
9944 |
Changes the stack manager so it can ensure an unused margin above the top
|
|
|
9945 |
element. This is needed for a possible change in the operator API.
|
|
|
9946 |
(istack.h, istack.c)
|
|
|
9947 |
|
|
|
9948 |
Decouples the definition of the interpreter instance from the definition of
|
|
|
9949 |
the exported procedures that use it, so that we can use it in more places
|
|
|
9950 |
internally. (iminst.h, main.h)
|
|
|
9951 |
|
|
|
9952 |
Removes all initialization of static per-context state. (iinit.c, iscan.c,
|
|
|
9953 |
zmath.c)
|
|
|
9954 |
|
|
|
9955 |
Makes the freeing of VM spaces entirely dependent on the number of contexts
|
|
|
9956 |
referencing them, removing the special handling of interpreter termination.
|
|
|
9957 |
(icontext.h, gsalloc.c, icontext.c, inouparm.c, interp.c, zcontext.c,
|
|
|
9958 |
zusparam.c) ****** IN PROGRESS ******
|
|
|
9959 |
|
|
|
9960 |
Enables printing of time and memory usage even in non-DEBUG systems, for
|
|
|
9961 |
benchmarking. (imain.c)
|
|
|
9962 |
|
|
|
9963 |
Adds a .forceundef operator to parallel .forceput. (gs_init.ps, zdict.c)
|
|
|
9964 |
|
|
|
9965 |
Rewrites the Form caching code to use the Pattern cache. (gs_fform.ps)
|
|
|
9966 |
|
|
|
9967 |
Removes all uses of far_data. (imain.c, imainarg.c, iname.c, opdef.h)
|
|
|
9968 |
|
|
|
9969 |
Moves responsibility for null page devices from C code to PostScript code.
|
|
|
9970 |
(gs_setpd.ps, igstate.h, zdevice2.c, zgstate.c)
|
|
|
9971 |
|
|
|
9972 |
Changes the context scheduler to not store or reload the state when
|
|
|
9973 |
switching from a context to the same context. (zcontext.c)
|
|
|
9974 |
|
|
|
9975 |
Moves .registerencoding from C code to PostScript code. (gs_init.ps,
|
|
|
9976 |
zfont2.c)
|
|
|
9977 |
|
|
|
9978 |
Splits off inames.h (API for names and the name table) from iname.h (API for
|
|
|
9979 |
the interpreter's name table); renames the_nt as the_gs_name_table, and
|
|
|
9980 |
moves it to imain.c. We would like to rename iname.h as names.h, but there
|
|
|
9981 |
are too many places that include it. (igc.h, iname.h, inamedef.h, inames.h,
|
|
|
9982 |
imain.h, idict.c, idstack.c, igc.c, iname.c, interp.c, isave.c)
|
|
|
9983 |
|
|
|
9984 |
Splits off iestack.h and iostack.h from estack.h and ostack.h, as was done
|
|
|
9985 |
for [i]dstack.h in 5.23. (estack.h, iestack.h, iostack.h, ostack.h,
|
|
|
9986 |
interp.c)
|
|
|
9987 |
|
|
|
9988 |
Splits off the hit detection device from the user path code, moving it to
|
|
|
9989 |
the library level where it belongs. (zupath.c)
|
|
|
9990 |
|
|
|
9991 |
Updates the interpreter for the changes in the enum_ptrs, reloc_ptrs, and
|
|
|
9992 |
clear_marks memory management procedures. (igc.c, igcref.c, ilocate.c,
|
|
|
9993 |
zcontext.c)
|
|
|
9994 |
|
|
|
9995 |
Removes all uses of 'near' from the interpreter: if short and long calls
|
|
|
9996 |
have different formats, we rely on the compiler to generate the most
|
|
|
9997 |
efficient one. (iccfont.c, imainarg.c, iparam.c, zdevice2.c, zdouble.c,
|
|
|
9998 |
zdps.c, zgstate.c, zmatrix.c, zpath.c, zpath1.c, zrelbit.c, ztype.c)
|
|
|
9999 |
|
|
|
10000 |
Makes a couple of minor changes to support the change in
|
|
|
10001 |
gs_param_list_common. (iparam.h, iparam.c)
|
|
|
10002 |
|
|
|
10003 |
Changes internaldict to an operator, and executive and findencoding to
|
|
|
10004 |
procedures, in order to satisfy the Genoa FTS. (gs_dps.ps, gs_init.ps,
|
|
|
10005 |
gs_res.ps)
|
|
|
10006 |
|
|
|
10007 |
Updates clients for the addition of device reference counting. (zpcolor.c,
|
|
|
10008 |
zupath.c)
|
|
|
10009 |
|
|
|
10010 |
Replaces all remaining uses of do { ... } while (0) with BEGIN ... END.
|
|
|
10011 |
(istruct.h, opcheck.h)
|
|
|
10012 |
|
|
|
10013 |
Adds a debugging operator for printing out a Type 1 font. (zfont1.c)
|
|
|
10014 |
|
|
|
10015 |
Updates the Type 1 font operators for the change in the procedure structure.
|
|
|
10016 |
(zchar1.c, zfont1.c)
|
|
|
10017 |
|
|
|
10018 |
Updates one client for the change in the gs_show_enum structure. (zchar.c)
|
|
|
10019 |
|
|
|
10020 |
Removes an obsolete "hook" put in for a customer. (zchar.c)
|
|
|
10021 |
|
|
|
10022 |
Removes the BigStringEncode filter, which was only used by a former
|
|
|
10023 |
customer. (zfilter.c)
|
|
|
10024 |
|
|
|
10025 |
</pre><h3><a name="V5.24_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
10026 |
|
|
|
10027 |
Fixes bugs:
|
|
|
10028 |
- Images defined in non-Device color spaces were broken.
|
|
|
10029 |
(pdf_draw.ps)
|
|
|
10030 |
|
|
|
10031 |
Removes some vestiges of the old pdf2ps. (pdf_draw.ps, pdf_main.ps)
|
|
|
10032 |
|
|
|
10033 |
Adds some leftover PDF 1.2 features:
|
|
|
10034 |
|
|
|
10035 |
- F, FFilter, and FDecodeParms keys in stream dictionaries.
|
|
|
10036 |
(pdf_base.ps)
|
|
|
10037 |
|
|
|
10038 |
- Functions, including predefined spot functions. (pdf_draw.ps)
|
|
|
10039 |
|
|
|
10040 |
- Name trees. (pdf_base.ps)
|
|
|
10041 |
|
|
|
10042 |
Adds some PDF 1.3 features. Note that these require a fair amount of
|
|
|
10043 |
PostScript LanguageLevel 3 support. Note also that none of these have been
|
|
|
10044 |
tested yet, because we don't have any source of test files.
|
|
|
10045 |
|
|
|
10046 |
- DeviceN and (stubbed) ICCBased color spaces. (pdf_draw.ps,
|
|
|
10047 |
pdf_ops.ps)
|
|
|
10048 |
|
|
|
10049 |
- Additional extended graphics state parameters. (pdf_draw.ps)
|
|
|
10050 |
|
|
|
10051 |
- Number trees. (pdf_base.ps)
|
|
|
10052 |
|
|
|
10053 |
- Masked images. (pdf_draw.ps)
|
|
|
10054 |
|
|
|
10055 |
Works around a bug in pdfTeX, which can generate Encoding vectors containing
|
|
|
10056 |
nulls. (pdf_font.ps)
|
|
|
10057 |
|
|
|
10058 |
</pre><h3><a name="V5.24_Streams"></a>Streams</h3><pre>
|
|
|
10059 |
|
|
|
10060 |
Fixes bugs:
|
|
|
10061 |
- A needed #include of memory_.h was missing. (sdeparam.c)
|
|
|
10062 |
- The needed input buffer size for the RunLengthEncode filter was
|
|
|
10063 |
128, but should be 129. (srle.c)
|
|
|
10064 |
- The ASCII85Encode and ASCIIHexEncode filters sometimes didn't
|
|
|
10065 |
insert \n characters often enough. (sfilter2.c, sstring.c)
|
|
|
10066 |
- In one obscure boundary case, the CCITTFaxEncode filter with K =
|
|
|
10067 |
-1 could emit an extra, incorrect code. (scfe.c)
|
|
|
10068 |
- The CCITTFaxDecode filter didn't default DamagedRowsBeforeError to
|
|
|
10069 |
0. (scfx.h)
|
|
|
10070 |
|
|
|
10071 |
Removes all remaining uses of _ds and _ss. (sfilter.h, sbcp.c, scfe.c,
|
|
|
10072 |
seexec.c, sfilter1.c, sstring.c)
|
|
|
10073 |
|
|
|
10074 |
Removes the use of do_debug. (scfd.c)
|
|
|
10075 |
|
|
|
10076 |
Removes all uses of far_data. (scf.h, scfdgen.c, scfdtab.c, scfetab.c,
|
|
|
10077 |
sjpegerr.c)
|
|
|
10078 |
|
|
|
10079 |
Removes the save_count member of streams, which is now no longer needed.
|
|
|
10080 |
(stream.h)
|
|
|
10081 |
|
|
|
10082 |
To help in debugging, changes all uses of
|
|
|
10083 |
#define ss ((stream_xxx_state *)st)
|
|
|
10084 |
to
|
|
|
10085 |
stream_xxx_state * const ss = (stream_xxx_state *)st;
|
|
|
10086 |
(sbcp.c, sbhc.c, sbwbs.c, scfd.c, scfe.c, sdctc.c, sdctd.c, sdcte.c,
|
|
|
10087 |
seexec.c, sfilter1.c, sfilter2.c, sfxfd.c, sfxstdio.c, siscale.c, slzwc.c,
|
|
|
10088 |
slzwce.c, slzwd.c, smtf.c, spdiff.c, spngp.c, srld.c, srle.c, sstring.c,
|
|
|
10089 |
szlibc.c, szlibd.c, szlibe.c)
|
|
|
10090 |
|
|
|
10091 |
Changes all groups of statistic-gathering variables to be structure
|
|
|
10092 |
variables named stats_*. (scfe.c)
|
|
|
10093 |
|
|
|
10094 |
Rewrites the CCITTFaxEncode filter to cut down one particularly large and
|
|
|
10095 |
obnoxious macro, and to simplify the code by allocating an output buffer as
|
|
|
10096 |
well as an input buffer. (scf.h, scfdgen.c, scfe.c, scfetab.c)
|
|
|
10097 |
|
|
|
10098 |
</pre><h3><a name="V5.24_Library"></a>Library</h3><pre>
|
|
|
10099 |
|
|
|
10100 |
Fixes bugs:
|
|
|
10101 |
- The masked image clipper sequenced through mask rows incorrectly.
|
|
|
10102 |
(gxclipm.c)
|
|
|
10103 |
- gx_[c]path_init_local_shared were declared as returning void, but
|
|
|
10104 |
could actually return an error. (gxpath.h, gxcpath.c, gxpath.c)
|
|
|
10105 |
- As always, gcc failed to report some static/non-static
|
|
|
10106 |
inconsistencies. However, to my dismay, I find that the ANSI C standard
|
|
|
10107 |
allows these, so I'll have to stop complaining about them. (gxclimag.c,
|
|
|
10108 |
gxclipm.c)
|
|
|
10109 |
- As always, gcc failed to report some signed/unsigned char *
|
|
|
10110 |
mismatches. (gdevpdfi.c, gsparam.c)
|
|
|
10111 |
- A loop counted on a non-existent zero value to mark the end of the
|
|
|
10112 |
IODevice table. (gsiodev.c)
|
|
|
10113 |
- Some needed #includes of memory_.h were missing. (gdevddrw.c,
|
|
|
10114 |
gscolor2.c, gscrdp.c, gscspace.c, gxclipm.c, gximage3.c, gxshade4.c)
|
|
|
10115 |
- Pattern device colors didn't have access to the original halftone
|
|
|
10116 |
phase, making it impossible to handle non-standard X/YStep correctly.
|
|
|
10117 |
(gsdcolor.h, gspcolor.c)
|
|
|
10118 |
- Pattern filling disregarded the phase. THIS MAY UNDO A FIX MADE
|
|
|
10119 |
IN 5.02. WE NEED TO RE-TEST PATTERNS CAREFULLY. (gxp1fill.c)
|
|
|
10120 |
- restore did some unnecessary gsaves. (gsstate.h, gsstate.c)
|
|
|
10121 |
- The reference counting macros could read from an object after
|
|
|
10122 |
freeing it. (gsrefct.h)
|
|
|
10123 |
- setgstate and currentgstate freed the view clipping path, which
|
|
|
10124 |
they shouldn't do. (gsstate.c)
|
|
|
10125 |
- If no view clipping path was set, viewclippath returned the entire
|
|
|
10126 |
extent of the device, not the imageable area. (gxpath.h, gsdps.c, gspath.c)
|
|
|
10127 |
- Assigning one stack-allocated path to another incorrectly wound up
|
|
|
10128 |
sharing their segments. (gxcpath.c, gxpath.c)
|
|
|
10129 |
- dot_length_absolute was incorrectly declared as float rather than
|
|
|
10130 |
bool. (gxline.h)
|
|
|
10131 |
- The test for varying-depth banded images was incorrect, causing
|
|
|
10132 |
varying-depth images to be treated as constant-depth. (This only affected
|
|
|
10133 |
ImageType 3 images.) (gxclimag.c)
|
|
|
10134 |
- Failure to clamp Y values when processing banded images could
|
|
|
10135 |
cause crashes or invalid band list data. (gxclimag.c)
|
|
|
10136 |
- The changes in gsparam.c introduced in 5.23 made the coercion of
|
|
|
10137 |
int arrays to float arrays fail. (gsparam.h, gsparam.c)
|
|
|
10138 |
- Interpolated banded images could be transmitted incompletely,
|
|
|
10139 |
causing narrow stripes to be chopped out of their rendering. (gxclimag.c)
|
|
|
10140 |
- FunctionType 0 functions with 32-bit samples didn't read their
|
|
|
10141 |
data correctly. (gsfunc0.c)
|
|
|
10142 |
- Lattice-form Shadings with packed coordinates could crash or
|
|
|
10143 |
produce incorrect results. (gxshade.c)
|
|
|
10144 |
- Lattice-form Shadings with packed coordinates always returned an
|
|
|
10145 |
error. (gxshade4.c)
|
|
|
10146 |
- If the PaintProc of a Pattern or a Form, or a CharString
|
|
|
10147 |
procedure, or a similar callback copied the current graphics state with
|
|
|
10148 |
gstate or currentgstate, a dangling reference to the device could result.
|
|
|
10149 |
Fixing this required adding a reference count to devices: internally created
|
|
|
10150 |
devices initialize it to 0, externally visible devices initialize it to 1.
|
|
|
10151 |
THIS IS A DELICATE CHANGE AND WILL PROBABLY HAVE A BUG TAIL. (gsdevice.h,
|
|
|
10152 |
gxdevcli.h, gxdevice.h, gdevmem.c, gdevmrop.c, gdevnfwd.c, gschar.c,
|
|
|
10153 |
gsdevice.c, gsmemory.c, gspaint.c, gsstate.c, gxacpath.c, gxccman.c,
|
|
|
10154 |
gxclip.c, gxmclip.c, gxpcmap.c)
|
|
|
10155 |
- The return_if_error macro referred to code rather than code_.
|
|
|
10156 |
(gserror.h)
|
|
|
10157 |
- Non-monotonic halftones didn't allocate enough slots in the
|
|
|
10158 |
halftone cache. (gxht.c)
|
|
|
10159 |
- setpagedevice with a 0-size page didn't fail. Fixing this
|
|
|
10160 |
required making the nullpage device provide explicit InputAttributes.
|
|
|
10161 |
(gdevnfwd.c)
|
|
|
10162 |
- Halftone angles were often slightly off. (gshtscr.c)
|
|
|
10163 |
- Banded fill_mask operations (used for characters) were sometimes
|
|
|
10164 |
broken. This bug was obviously introduced since 5.10; I'm surprised that it
|
|
|
10165 |
didn't have more serious effects. (gxclread.c)
|
|
|
10166 |
- Partially transparent patterns didn't work with non-default
|
|
|
10167 |
RasterOp values. (gxp1fill.c)
|
|
|
10168 |
- The default implementation of strip_copy_rop didn't handle color
|
|
|
10169 |
space conversion properly. (gdevmrop.c)
|
|
|
10170 |
- Hint replacement could cause the initial moveto and final
|
|
|
10171 |
closepath of a Type 1 outline to differ, confusing the filling code.
|
|
|
10172 |
(gxhint3.c)
|
|
|
10173 |
- Interpolated images were truncated at the bottom. (bug probably
|
|
|
10174 |
introduced in 5.23) (gxiscale.c)
|
|
|
10175 |
- Using an unsigned type for the index passed to enum_ptrs
|
|
|
10176 |
procedures caused comparisons against signed values to be incorrect.
|
|
|
10177 |
(gsstruct.h)
|
|
|
10178 |
|
|
|
10179 |
Rewrites the rectangle list and mask clipping algorithms to use callback
|
|
|
10180 |
procedures rather than macros. The rectangle list source code grew by 20%,
|
|
|
10181 |
but the compiled code shrank from 10K to less than 4K; the mask clip source
|
|
|
10182 |
code and compiled code both shrank. (gxclip.h, gxmclip.h, gxclip.c,
|
|
|
10183 |
gxclip2.c, gxclipm.c, gxcpath.c)
|
|
|
10184 |
|
|
|
10185 |
Removes all remaining uses of _ds and _ss. (gsmemory.h, gsstruct.h, gzht.h,
|
|
|
10186 |
stdpre.h, gp_dosfb.c, gsbitops.c, gscie.c, gsht.c, gstype1.c, gstype2.c,
|
|
|
10187 |
gxclpath.c, gxclread.c, gxcmap.c, gxfill.c, gxi12bit.c, gxop1.h, gxpflat.c,
|
|
|
10188 |
gxstroke.c, gxtype1.c)
|
|
|
10189 |
|
|
|
10190 |
Changes some GC procedures from explicit code to standard macros.
|
|
|
10191 |
(gsstruct.h, gscscie.c, gxcht.c)
|
|
|
10192 |
|
|
|
10193 |
For easier debugging, changes gs_debug_c to a procedure; removes
|
|
|
10194 |
gs_if_debug_c and do_debug. (gdebug.h, gsht1.c, gsmisc.c, gspaint.c,
|
|
|
10195 |
gxcht.c, gxht.c, gxpcmap.c)
|
|
|
10196 |
|
|
|
10197 |
Changes the num_components member of the color space structure to a
|
|
|
10198 |
procedure, which is needed because DeviceN color spaces have a variable
|
|
|
10199 |
number of components; also makes Pattern spaces return -1 - the correct
|
|
|
10200 |
num_components instead of -1. This is a NON-BACKWARD-COMPATIBLE CHANGE.
|
|
|
10201 |
Also adds a base_space procedure. (gxcspace.h, gscdevn.c, gscolor1.c,
|
|
|
10202 |
gscolor2.c, gscpixel.c, gscscie.c, gscsepr.c, gscspace.c, gspcolor.c,
|
|
|
10203 |
gxiinit.c, gxiscale.c)
|
|
|
10204 |
|
|
|
10205 |
Changes all groups of statistic-gathering variables to be structure
|
|
|
10206 |
variables named stats_*. (gxclip.c, gxclist.c, gxclpath.c, gxfill.c,
|
|
|
10207 |
gxifast.c)
|
|
|
10208 |
|
|
|
10209 |
Starts to pull apart gs_makebitmap/pixmappattern to remove the dependency on
|
|
|
10210 |
masked images. (gspcolor.c)
|
|
|
10211 |
|
|
|
10212 |
Splits the C heap allocator from generic allocator support. (gsmemory.c,
|
|
|
10213 |
gsmalloc.c)
|
|
|
10214 |
|
|
|
10215 |
Removes all uses of far_data other than references to device (but not
|
|
|
10216 |
device2) prototypes. (gdevmem.h, gdevmrop.h, gxdevcli.h, gconf.c,
|
|
|
10217 |
gdevabuf.c, gdevht.c, gdevm*.c, gdevmpla.c, gdevmrop.c, gdevnfwd.c,
|
|
|
10218 |
gsbittab.c, gsflip.c, gsroptab.c, gxcht.c)
|
|
|
10219 |
|
|
|
10220 |
Adds a streams member to gs_ref_memory_t. The library doesn't use this, but
|
|
|
10221 |
it greatly simplifies the interpreter's bookkeeping. (gsalloc.h, gxalloc.h,
|
|
|
10222 |
gsalloc.c)
|
|
|
10223 |
|
|
|
10224 |
Adds some more opaque types to the graphics state structure, rather than
|
|
|
10225 |
using naked struct types. (gsccolor.h, gzstate.h)
|
|
|
10226 |
|
|
|
10227 |
Introduces the notion of the "effective clip path" in a graphics state.
|
|
|
10228 |
Painting operators should now call gx_effective_clip_path rather than using
|
|
|
10229 |
the clip_path member directly. (gxpath.h, gschar.c, gsdps1.c, gsimage.c,
|
|
|
10230 |
gspaint.c, gspath.c, gxccache.c, gxpaint.c)
|
|
|
10231 |
|
|
|
10232 |
Implements view clipping. (gzstate.h, gspath.c, gsstate.c)
|
|
|
10233 |
|
|
|
10234 |
Starts to pare down the fit_* macros in gxdevice.h, since some people feel
|
|
|
10235 |
strongly they are hard to follow, and also adds BEGIN/END wrapping.
|
|
|
10236 |
(gxdevice.h, gdevabuf.c, gdevmem.c, gxclpath.c)
|
|
|
10237 |
|
|
|
10238 |
Refactors the structure definition macros in anticipation of moving to a
|
|
|
10239 |
more table-driven approach. Replaces ENUM_CALL, ENUM_RETURN_CALL, and
|
|
|
10240 |
RELOC_CALL with ENUM_USING and RELOC_USING. (gsstruct.h, gdevmem.c,
|
|
|
10241 |
gshtscr.c, gxcpath.c, gxiinit.c)
|
|
|
10242 |
|
|
|
10243 |
Sketches a table-driven rather than procedural representation for GC
|
|
|
10244 |
descriptors. We believe this will improve readability, reduce code size,
|
|
|
10245 |
and perhaps reduce cache thrashing during garbage collection. This requires
|
|
|
10246 |
a NON-BACKWARD-COMPATIBLE CHANGE to the enum_ptrs, reloc_ptrs, and
|
|
|
10247 |
clear_marks procedures (to add the structure descriptor as a parameter).
|
|
|
10248 |
This should not affect any ordinary clients, because they should already
|
|
|
10249 |
define these procedures using the macros in gsstruct.h, which *are*
|
|
|
10250 |
backward-compatible; however, they do affect two internal clients that use
|
|
|
10251 |
their own type tags with unions (color spaces and device colors).
|
|
|
10252 |
(gsstrtab.h, gsstruct.h, gsalloc.c, gsstrtab.c)
|
|
|
10253 |
|
|
|
10254 |
Updates color spaces for the change in enum_ptrs and reloc_ptrs.
|
|
|
10255 |
(gxcspace.h, gscdevn.c, gscolor1.c, gscolor2.c, gscpixel.c, gscscie.c,
|
|
|
10256 |
gscsepr.c, gscspace.c, gspcolor.c)
|
|
|
10257 |
|
|
|
10258 |
Updates device colors for the change in enum_ptrs and reloc_ptrs.
|
|
|
10259 |
(gsdcolor.h, gxdcolor.h, gxpcolor.h, gspcolor.c, gxcht.c, gxcmap.c,
|
|
|
10260 |
gxdcolor.c, gxht.c, gxp1fill.c)
|
|
|
10261 |
|
|
|
10262 |
Implements a hit detection device at the library level. (gserrors.h,
|
|
|
10263 |
gdevhit.c)
|
|
|
10264 |
|
|
|
10265 |
Changes some configuration parameters from #defines to statics. (gschar.c)
|
|
|
10266 |
|
|
|
10267 |
Changes "simple" structures so they no longer have 0 for the enum_ptrs or
|
|
|
10268 |
reloc_ptrs procedure. This is a NON-BACKWARD-COMPATIBLE CHANGE for
|
|
|
10269 |
structure-definers that don't use the macros in gsstruct.h (of which there
|
|
|
10270 |
shouldn't be any). (gsstruct.h, gsalloc.c)
|
|
|
10271 |
|
|
|
10272 |
Adds the structure type name to the debugging printout for freeing objects.
|
|
|
10273 |
(gsalloc.c)
|
|
|
10274 |
|
|
|
10275 |
To help in debugging, changes all uses of
|
|
|
10276 |
#define ss ((stream_xxx_state *)st)
|
|
|
10277 |
to
|
|
|
10278 |
stream_xxx_state * const ss = (stream_xxx_state *)st;
|
|
|
10279 |
(gxclread.c)
|
|
|
10280 |
|
|
|
10281 |
Removes all uses of 'near' from the library: if short and long calls have
|
|
|
10282 |
different formats, we rely on the compiler to generate the most efficient
|
|
|
10283 |
one. (gscie.c, gscoord.c, gsimpath.c, gsstate.c, gstype2.c, gxclpath.c,
|
|
|
10284 |
gxclread.c, gxfill.c, gxhint1.c, gxhint2.c, gxhint3.c, gxstroke.c)
|
|
|
10285 |
|
|
|
10286 |
Adds 'inline' to stdpre.h, defined as the empty string on compilers other
|
|
|
10287 |
than the ones we know accept it. (stdpre.h)
|
|
|
10288 |
|
|
|
10289 |
Adds printout of the subrectangle to ImageType 1 tracing. (gxiinit.c)
|
|
|
10290 |
|
|
|
10291 |
Replaces a few uses of gs_memory_default with dev->memory. (gdevdbit.c,
|
|
|
10292 |
gxclread.c)
|
|
|
10293 |
|
|
|
10294 |
Improves support for halftone objects not associated with graphics states.
|
|
|
10295 |
This involves a minor change to the definitions of gs_spot_halftone and
|
|
|
10296 |
gs_threshold_halftone, to define the transfer function as a closure. This
|
|
|
10297 |
is slightly NON-BACKWARD-COMPATIBLE in that it requires clients to set
|
|
|
10298 |
transfer_closure.proc to 0 if they also set transfer to 0. NOTE: the API
|
|
|
10299 |
defined in gshtx.h is subject to future change. (gscsepnm.h, gshtx.h,
|
|
|
10300 |
gxdht.h, gxfmap.h, gxht.h, gxtmap.h, gscolor.c, gsht.c, gsht1.c, gshtx.c)
|
|
|
10301 |
|
|
|
10302 |
Changes the Bezier approximation of arcs to cut arcs at absolute multiples
|
|
|
10303 |
of 90 degrees rather than at intervals of 90 degrees (e.g., an arc from 45
|
|
|
10304 |
to 105 would now be cut at 90 rather than being treated as a single
|
|
|
10305 |
60-degree curve) in order to produce more uniform output and also to ensure
|
|
|
10306 |
that the bounding box for arcs is more accurate (to pacify the Genoa FTS).
|
|
|
10307 |
(gxfarith.h, gsmisc.c, gspath1.c)
|
|
|
10308 |
|
|
|
10309 |
Replaces all remaining uses of do { ... } while (0) with BEGIN ... END.
|
|
|
10310 |
(gsbitops.h, gsdsrc.h, gserror.h, gsmdebug.h, gsrect.h, gxcldev.h, gxfunc.h,
|
|
|
10311 |
gxop1.h, gxtype1.h, gsalphac.c, gsshade.c, gstype2.c, gstype42.c,
|
|
|
10312 |
gxclread.c, gxcpath.c, gximage4.c, gxpath.c)
|
|
|
10313 |
|
|
|
10314 |
Adds a user-defined halftone type, to support non-monotonic halftones. We
|
|
|
10315 |
could make any of the following structures fully object-oriented:
|
|
|
10316 |
- Halftones (client level)
|
|
|
10317 |
- Halftone orders (device level, but not rendered)
|
|
|
10318 |
- Device halftones (device level, fully rendered)
|
|
|
10319 |
The right place to do this for non-monotonic halftones, which are specified
|
|
|
10320 |
directly by bit masks, is at the device halftone level. However, there are
|
|
|
10321 |
too many places that know too much about the implementation of device
|
|
|
10322 |
halftones and halftone orders right now. WE NEED TO REVISIT THIS AFTER THE
|
|
|
10323 |
5.1x CODE BRANCH IS TERMINATED. SHOULD ALSO CONVERT UNION TO TYPED UNION
|
|
|
10324 |
FOR GC -- CODE IS DUPLICATED IN gsht.c VS gshtx.c. (gxdht.h, gxht.h,
|
|
|
10325 |
gxhttype.h, gshtx.h, gsht.c, gsht1.c, gshtx.c)
|
|
|
10326 |
|
|
|
10327 |
Moves the procedures in Type 1 font data into a structure. This is a
|
|
|
10328 |
NON-BACKWARD-COMPATIBLE CHANGE, but an internal one. (gxfont1.h, gstype1.c,
|
|
|
10329 |
gstype2.c, gxtype1.c)
|
|
|
10330 |
|
|
|
10331 |
Extends Type 1 / 2 / 4 fonts to require that they be able to enumerate the
|
|
|
10332 |
set of glyphs that they define, to allow writing them out. We may propagate
|
|
|
10333 |
this to all base fonts in the future. (gxfont1.h)
|
|
|
10334 |
|
|
|
10335 |
Provides some utilities for devices that want to define their own
|
|
|
10336 |
InputAttributes and OutputAttributes. (gdevprn.h, gxdevice.h, gdevprn.c,
|
|
|
10337 |
gsdparam.c)
|
|
|
10338 |
|
|
|
10339 |
Removes all of the text-display procedures that took null-terminated C
|
|
|
10340 |
strings as operands. This is NON-BACKWARD-COMPATIBLE. However, since the
|
|
|
10341 |
memory manager required that all such operands be allocated using
|
|
|
10342 |
gs_alloc_string, the procedures were never usable with arbitrary C strings
|
|
|
10343 |
anyway. (gschar.h, gschar.c)
|
|
|
10344 |
|
|
|
10345 |
Renames the gx_device procedure record from std_procs to procs, in
|
|
|
10346 |
anticipation of more unified support for "objects". This is a
|
|
|
10347 |
NON-BACKWARD-COMPATIBLE CHANGE for a surprisingly large number of clients
|
|
|
10348 |
that should have been using dev_proc and set_dev_proc. (gdevbbox.h,
|
|
|
10349 |
gxdevcli.h, gxdevice.h, gdevdflt.c, gdevdgbr.c, gdevmem.c, gdevprn.c,
|
|
|
10350 |
gsalphac.c, gsdevice.c, gsropc.c, gxccache.c, gxifast.c)
|
|
|
10351 |
|
|
|
10352 |
Disallows setting of the RasterOp-related graphics state parameters when
|
|
|
10353 |
a cache device is active. (gsrop.c)
|
|
|
10354 |
|
|
|
10355 |
Changes the tracing printout of path segments to provide enough accuracy to
|
|
|
10356 |
cover all the fraction bits of a 'fixed'. (gxpath.c)
|
|
|
10357 |
|
|
|
10358 |
</pre>
|
|
|
10359 |
|
|
|
10360 |
<hr>
|
|
|
10361 |
|
|
|
10362 |
<h2><a name="Version5.23"></a>Version 5.23 (limited) (5/14/98)</h2>
|
|
|
10363 |
|
|
|
10364 |
<p>
|
|
|
10365 |
This fileset adds a number of PostScript LanguageLevel 3 features: library
|
|
|
10366 |
support for ImageType 3 and 4 (masked) images, PostScript-level support for
|
|
|
10367 |
ImageType 4, and the shfill operator for smooth shading. It also adds RCS
|
|
|
10368 |
Id lines to all the files we maintain. It also changes the Unix makefiles
|
|
|
10369 |
so that they create debugging or profiling binaries in separate directories.
|
|
|
10370 |
|
|
|
10371 |
<p>
|
|
|
10372 |
This fileset includes an unusually large number of non-backward-compatible
|
|
|
10373 |
API changes. Most of them don't affect ordinary library clients, but a few
|
|
|
10374 |
do. These changes, and a few more to come, result from the next (large)
|
|
|
10375 |
increment in our ongoing project to make the code completely re-entrant (no
|
|
|
10376 |
non-idempotent writable globals in our own code). This necessarily involves
|
|
|
10377 |
putting some things that used to be global into structures, some of which
|
|
|
10378 |
must be added to some interfaces.
|
|
|
10379 |
|
|
|
10380 |
<p>
|
|
|
10381 |
NOTE: because of a combination of hardware problems, time pressure, and
|
|
|
10382 |
belated discovery of sloppiness by the original developers of the PC
|
|
|
10383 |
makefiles, none of the PC makefiles in this fileset work. The Borland
|
|
|
10384 |
makefiles probably come the closest.
|
|
|
10385 |
|
|
|
10386 |
<h3><a name="V5.23_Documentation"></a>Documentation</h3><pre>
|
|
|
10387 |
|
|
|
10388 |
Adds documentation for:
|
|
|
10389 |
- The changes in begin_image and related facilities. (drivers.txt)
|
|
|
10390 |
- The addition of -Z/. (use.txt)
|
|
|
10391 |
- The new ps2ps utility. (ps2ps.1)
|
|
|
10392 |
- The new get_hardware_params procedure. (drivers.txt)
|
|
|
10393 |
- The new -B<size> / -B- switch. (use.txt).
|
|
|
10394 |
|
|
|
10395 |
Improves the documentation for the sample_ macros. (gsbitops.h)
|
|
|
10396 |
|
|
|
10397 |
Adds some documentation on how the debugging/tracing flags work. (gdebug.h)
|
|
|
10398 |
|
|
|
10399 |
Improves the documentation of DDAs. (gxdda.h)
|
|
|
10400 |
|
|
|
10401 |
Documents a subtle change in the meaning of a flag in the PDF
|
|
|
10402 |
FontDescriptor. (pdf_font.ps)
|
|
|
10403 |
|
|
|
10404 |
Changes the location of the authoritative site for zlib sources. (zlib.mak)
|
|
|
10405 |
|
|
|
10406 |
Corrects a typo. (gsht1.h)
|
|
|
10407 |
|
|
|
10408 |
Removes pdf_2ps.ps from the fileset. (psfiles.txt)
|
|
|
10409 |
|
|
|
10410 |
Adds standard file name comments to all .c and .h files that didn't already
|
|
|
10411 |
have them. (dodebug.h, gdev3b1.c, gdev8510.c, gdevadmp.c, gdevhl7x.c,
|
|
|
10412 |
gdevimgn.c, gdevo182.c, gdevpdfx.h, gdevpe.c gdevsco.c, gdevsj48.c,
|
|
|
10413 |
gdevvglb.c, gsalpha.c, gscolor1.c, gscsepr.h, gsdsc.c, scfetab.c string_.h,
|
|
|
10414 |
zfunc3.c, zmedia2.c)
|
|
|
10415 |
|
|
|
10416 |
Unifies the nroff styles of the various man pages a bit. (*.1)
|
|
|
10417 |
|
|
|
10418 |
Adds a reference to the CTAN mirror sites. (new-user.txt)
|
|
|
10419 |
|
|
|
10420 |
Notes that the result of rect_intersect may be anomalous. (gsrect.h)
|
|
|
10421 |
|
|
|
10422 |
Improves the documentation for the Distiller parameter handling code.
|
|
|
10423 |
(gdevpdfp.c, gdevpsdp.c)
|
|
|
10424 |
|
|
|
10425 |
Corrects an ambiguity in the definition of the int_keys argument of
|
|
|
10426 |
param_begin_xmit_dict. (gsparam.h)
|
|
|
10427 |
|
|
|
10428 |
Adds a new file that will evolve into a reasonable guide to the source code.
|
|
|
10429 |
(README, source.txt)
|
|
|
10430 |
|
|
|
10431 |
Adds the convention for 'status' and 'code' to the C style guide.
|
|
|
10432 |
(c-style.txt)
|
|
|
10433 |
|
|
|
10434 |
Improves the documentation for the '-' pseudo-switch. (use.txt)
|
|
|
10435 |
|
|
|
10436 |
Updates the problem reporting form to include the URL for known post-release
|
|
|
10437 |
problems. (bug-form.txt)
|
|
|
10438 |
|
|
|
10439 |
Documents the availability of sources and binaries for Plan 9.
|
|
|
10440 |
(new-user.txt)
|
|
|
10441 |
|
|
|
10442 |
</pre><h3><a name="V5.23_Procedures"></a>Procedures</h3><pre>
|
|
|
10443 |
|
|
|
10444 |
Fixes bugs:
|
|
|
10445 |
- The 'tags' target in the Unix makefiles had an incorrect directory
|
|
|
10446 |
name. (bug probably introduced since 5.20) (unix-end.mak)
|
|
|
10447 |
- The ld_tr and CCFLAGS macros were used in the makefiles before
|
|
|
10448 |
they were defined, causing problems with `make' implementations that
|
|
|
10449 |
substitute macros into definitions at definition time rather than at use
|
|
|
10450 |
time. (*.mak)
|
|
|
10451 |
- Recent Digital Unix versions (4.0 and later) require -std1 when
|
|
|
10452 |
compiling. (make.txt)
|
|
|
10453 |
- The Unix library-only makefile had gotten out of date.
|
|
|
10454 |
(ugcclib.mak)
|
|
|
10455 |
- pf2afm[.bat] were omitted from the fileset. (master/package.tcl)
|
|
|
10456 |
- The Borland makefile didn't work, because the Borland compiler
|
|
|
10457 |
requires specifying the output file name (-o) before the input file name
|
|
|
10458 |
(-c)! This required changing the order of every compilation command in
|
|
|
10459 |
every platform-independent makefile. The win*.mak files still need work.
|
|
|
10460 |
(*.mak)
|
|
|
10461 |
- None of the non-Unix makefiles specified directory names for the
|
|
|
10462 |
auxiliary programs. (dvx-tail.mak, os2.mak, wctail.mak, winlib.mak)
|
|
|
10463 |
- The Windows makefiles lacked build rules for gp_ntfs and gp_win32.
|
|
|
10464 |
(msvclib.mak, winlib.mak)
|
|
|
10465 |
|
|
|
10466 |
Adds a new debugging switch -Z/ that prints the file name and line number on
|
|
|
10467 |
all trace messages. (gdebug.h, std.h)
|
|
|
10468 |
|
|
|
10469 |
Changes the Unix 'pg' and 'debug' build targets so that they create the
|
|
|
10470 |
binaries in a 'pgobj' or 'debugobj' subdirectory of the standard build
|
|
|
10471 |
directory. This allows keeping all 3 configurations active. (unix-end.mak)
|
|
|
10472 |
|
|
|
10473 |
Adds GEN directories for jpeg, libpng, and zlib. (devs.mak, gs.mak,
|
|
|
10474 |
jpeg.mak, lib.mak, libpng.mak, zlib.mak)
|
|
|
10475 |
|
|
|
10476 |
Adds a gendev.c that will eventually replace genconf.c. (gendev.c, *.mak)
|
|
|
10477 |
|
|
|
10478 |
Adds -Wcast-align to the gcc compilation switches. (unix-gcc.mak)
|
|
|
10479 |
|
|
|
10480 |
Adds support for libpng 1.0.1. (libpng.mak)
|
|
|
10481 |
|
|
|
10482 |
Notes the use of -R on Solaris and other SVR4 systems. (unix*.mak)
|
|
|
10483 |
|
|
|
10484 |
Removes pdf_2ps.ps from the fileset. (int.mak, unixinst.mak,
|
|
|
10485 |
pdf_2ps.ps[deleted])
|
|
|
10486 |
|
|
|
10487 |
Ensures that every file that is copyright, maintained, and distributed by
|
|
|
10488 |
Aladdin Enterprises has a RCS Id line. In .c and .h files, these lines
|
|
|
10489 |
currently are only comments, but they could be converted easily to static
|
|
|
10490 |
strings later if we want to. We had to touch almost every file in the
|
|
|
10491 |
fileset to do this, but we did *not* change the write dates. (*)
|
|
|
10492 |
|
|
|
10493 |
Makes the build procedure auto-detect whether the installed version of gcc
|
|
|
10494 |
has the 'const' code generation bug. (gs.mak, lib.mak, unix-gcc.mak)
|
|
|
10495 |
|
|
|
10496 |
Removes 'makefile' as a precondition for ccf32.tr. (I can't quite figure
|
|
|
10497 |
out why it was there in the first place.) (msvccom.mak)
|
|
|
10498 |
|
|
|
10499 |
Replaces the -F<file> switch with a -B<buffer size> switch that forces all
|
|
|
10500 |
files to use the run_string interfaces. -B- turns it off. (iminst.h,
|
|
|
10501 |
imainarg.c)
|
|
|
10502 |
|
|
|
10503 |
Adds a new resource to genconf.c, -replace <module>. This causes <module>
|
|
|
10504 |
*not* to be included if the module with the -replace resource *is* included.
|
|
|
10505 |
If two modules -replace each other, either directly or indirectly through
|
|
|
10506 |
-includes, the result is undefined. (genconf.c)
|
|
|
10507 |
|
|
|
10508 |
Uses -replace to implement a default roplib package. (lib.mak)
|
|
|
10509 |
|
|
|
10510 |
</pre><h3><a name="V5.23_Utilities"></a>Utilities</h3><pre>
|
|
|
10511 |
|
|
|
10512 |
Fixes bugs:
|
|
|
10513 |
- unprot.ps stopped working because of the stricter prohibition
|
|
|
10514 |
against storing local-VM objects into systemdict. (unprot.ps)
|
|
|
10515 |
|
|
|
10516 |
Adds a new ps2ps utility, like pdf2ps, that "distills" PostScript.
|
|
|
10517 |
(ps2ps, ps2ps.bat)
|
|
|
10518 |
|
|
|
10519 |
Modifies the ps2epsi utility so it can be run outside the ps2epsi script for
|
|
|
10520 |
testing. (ps2epsi.ps)
|
|
|
10521 |
|
|
|
10522 |
Changes the pdf2ps utility to use the pswrite device. This gets rid of all
|
|
|
10523 |
conversion problems, at the expense of larger and stupider output files.
|
|
|
10524 |
(pdf2ps, pdf2ps.bat)
|
|
|
10525 |
|
|
|
10526 |
</pre><h3><a name="V5.23_Drivers"></a>Drivers</h3><pre>
|
|
|
10527 |
|
|
|
10528 |
Fixes bugs:
|
|
|
10529 |
- Two procedures were declared 'private' inconsistently (thank you
|
|
|
10530 |
again, gcc). (gdevps.c)
|
|
|
10531 |
- The author of the uniprint driver sent a fix for an
|
|
|
10532 |
allocation-related bug and an off-by-one bug. (gdevupd.c)
|
|
|
10533 |
- The PDF writer incorrectly converted open stroked rectangles (only
|
|
|
10534 |
3 sides drawn) to closed (4 sides drawn). (gxpath.h, gzpath.h, gdevpdfd.c,
|
|
|
10535 |
gxpath2.c)
|
|
|
10536 |
- When banding, filling a character within the PaintProc of a
|
|
|
10537 |
Pattern could produce memory access errors. (The problem was in
|
|
|
10538 |
gx_forward_fill_mask, which might affect filling characters in other
|
|
|
10539 |
situations as well.) (gdevnfwd.c)
|
|
|
10540 |
- The [e]pswrite driver produced incorrect line widths for stroked
|
|
|
10541 |
graphics. (gdevps.c)
|
|
|
10542 |
- The [e]pswrite driver didn't invoke colorimage correctly, so
|
|
|
10543 |
didn't handle Patterns right. (gdevps.c)
|
|
|
10544 |
- Vector devices didn't set the color before writing trapezoids,
|
|
|
10545 |
possibly causing incorrectly colored output. (gdevvec.c)
|
|
|
10546 |
- Vector devices could give errors on Pattern fills. (gdevvec.c)
|
|
|
10547 |
- The bbox device retained a pointer to the clipping path, which,
|
|
|
10548 |
since the path was embedded in the gs_state_contents, confused the garbage
|
|
|
10549 |
collector, causing memory access errors. We fixed this by de-embedding the
|
|
|
10550 |
path object: see below. (gsstate.c)
|
|
|
10551 |
- On some Linux systems, the X driver could get a memory access
|
|
|
10552 |
error when displaying patterns. We fixed this by adding calls on XInitImage
|
|
|
10553 |
in the necessary places when running X11R6. (gdevx.c)
|
|
|
10554 |
- PDF output didn't check names for unusual characters, and could
|
|
|
10555 |
produce invalid output if the input included names with those characters.
|
|
|
10556 |
(gdevpdfx.h, gdevpdf.c, gdevpdfm.c, gdevpdfo.c)
|
|
|
10557 |
- In the PDF writer, DEST pdfmarks with /Dest but no /Page or /View
|
|
|
10558 |
didn't generate named destinations. (gdevpdfm.c)
|
|
|
10559 |
- Printer devices didn't allow . in %-formats in the output file
|
|
|
10560 |
name. (gdevprn.c)
|
|
|
10561 |
- The x11cmyk driver didn't read bits back from the screen
|
|
|
10562 |
correctly. (gdevxalt.c)
|
|
|
10563 |
- The pcxmono and pcxgray drivers used colored rather than
|
|
|
10564 |
gray-scale palettes. (gdevpcx.c)
|
|
|
10565 |
- The PCX drivers could emit repetition counts greater than 15,
|
|
|
10566 |
confusing some readers. (gdevpcx.c)
|
|
|
10567 |
|
|
|
10568 |
Removes some vestiges of the obsolete draw_line driver procedure. We also
|
|
|
10569 |
rename the draw_line member of the driver procedure structure as
|
|
|
10570 |
obsolete_draw_line, so that any uses of it will cause compilation errors,
|
|
|
10571 |
but we don't remove it from the structure, so that existing driver procedure
|
|
|
10572 |
vectors will continue to compile (although the draw_line procedure will
|
|
|
10573 |
never be called). (gxdevcli.h, gdevbbox.c, gdevddrw.c, gdevdflt.c)
|
|
|
10574 |
|
|
|
10575 |
To repair a design error, and at the same time add flexibility needed for
|
|
|
10576 |
ImageType 3:
|
|
|
10577 |
|
|
|
10578 |
- Removes the image_data and end_image driver procedures,
|
|
|
10579 |
associating them with the gx_image_enum(_common)_t structure instead.
|
|
|
10580 |
Clients should call gx_device_image_data and gx_device_end_image instead: we
|
|
|
10581 |
set the image_data and end_image procedures in the device structures to
|
|
|
10582 |
these procedures when filling in defaulted procedures. This is a
|
|
|
10583 |
NON-BACKWARD-COMPATIBLE CHANGE for drivers that implement begin_image, since
|
|
|
10584 |
they now have to fill the procedures into the enumerator structure.
|
|
|
10585 |
(gsiparm*.h, gxdevcli.h, gxdevice.h, gxiparam.h, gdevbbox.c, gdevddrw.c,
|
|
|
10586 |
gdevdflt.c, gdevnfwd.c, gsimage.c, gxclist.c, gxidata.c, gxifast.c,
|
|
|
10587 |
gxiinit.c, gximage3.c, gximage4.c)
|
|
|
10588 |
|
|
|
10589 |
- Replaces the image_data driver procedure with a plane_data
|
|
|
10590 |
procedure (now associated with the image enumerator, not the device) that
|
|
|
10591 |
allows specifying the X offset and raster independently for each plane, and
|
|
|
10592 |
(depending on the image type) may allow omitting some planes. We provide a
|
|
|
10593 |
gx_device_image_plane_data procedure parallel to _image_data and _end_image
|
|
|
10594 |
(see above). (gsiparm*.h, gxdevcli.h, gxiparam.h, gdevbbox.c, gdevddrw.c,
|
|
|
10595 |
gxidata.c, gxiinit.c, gximage3.c, gximage4.c)
|
|
|
10596 |
|
|
|
10597 |
Updates clients for image processing changes. (gdevvec.h, gdevpdf.c,
|
|
|
10598 |
gdevpdfi.c, gdevps.c, gdevpx.c, gdevvec.c)
|
|
|
10599 |
|
|
|
10600 |
Enhances [e]pswrite to detect other kinds of opportunities for producing
|
|
|
10601 |
smaller output. This involves a change in the moveto procedure in the
|
|
|
10602 |
'vector' interface. (gdevps.c)
|
|
|
10603 |
|
|
|
10604 |
Changes the bbox device so that it automatically detects whether it is being
|
|
|
10605 |
used as a component in a device pipeline or as a free-standing device,
|
|
|
10606 |
rather than having to select this in the makefile. (lib.mak, gdevbbox.h,
|
|
|
10607 |
gdevbbox.c)
|
|
|
10608 |
|
|
|
10609 |
Moves the halftoning driver a bit closer to real usability. (gdevht.h,
|
|
|
10610 |
gdevht.c)
|
|
|
10611 |
|
|
|
10612 |
Adds some tracing to the color mapping code in the X driver. (gdevx.c)
|
|
|
10613 |
|
|
|
10614 |
Implements setting the Dict and ACSDict parameters for pswrite and pdfwrite.
|
|
|
10615 |
Dict is effective with the CCITTFaxEncode filter for black-and-white images;
|
|
|
10616 |
otherwise, these parameters still don't do anything. (gdevpdfi.c,
|
|
|
10617 |
gdevpsdp.c) ****** READING HUFFMAN TABLES IS NYI, SEE sdcparam.c; SETTING
|
|
|
10618 |
DOESN'T WORK BECAUSE DCT_set_defaults DOESN'T DO WHAT IT SHOULD ******
|
|
|
10619 |
|
|
|
10620 |
Updates the PS/PDF writers to reflect the fact that the ASCIIHexEncode
|
|
|
10621 |
filter now has a state. (gdevpsdf.c)
|
|
|
10622 |
|
|
|
10623 |
Modifies the X driver so that it can draw multiple platform characters at a
|
|
|
10624 |
time rather than one character per call. (gdevx.h, gdevx.c, gdevxxf.c)
|
|
|
10625 |
|
|
|
10626 |
Takes advantage of the filter stream procedures now available in stream.c.
|
|
|
10627 |
(gdevjpeg.c, gdevpdf.c, gdevpsdf.c)
|
|
|
10628 |
|
|
|
10629 |
Adds a get_hardware_params procedure, similar to get_params except that it
|
|
|
10630 |
reads parameters whose values depend on hardware state that may change
|
|
|
10631 |
without program intervention (e.g., panel switches). The default is that
|
|
|
10632 |
there are no hardware parameters. (gdevmem.h, gdevprn.h, gsdevice.h,
|
|
|
10633 |
gxdevcli.h, gxdevice.h, gxacpath.c, gxclip2.c, gxclipm.c, gxclist.c,
|
|
|
10634 |
gxcpath.c, gdevbbox.c, gdevdflt.c, gdevht.c, gdevmrop.c, gdevnfwd.c,
|
|
|
10635 |
gdevprn.c, gsdparam.c)
|
|
|
10636 |
|
|
|
10637 |
Updates the PS/PDF writer for the change in the parameter list API.
|
|
|
10638 |
(gdevpsdf.c)
|
|
|
10639 |
|
|
|
10640 |
Makes a few more writable statics const. (gdevos2p.c, gdevpipe.c,
|
|
|
10641 |
gdevpsim.c, gdevx.c)
|
|
|
10642 |
|
|
|
10643 |
Removes the rrgb sample device, since it now no longer serves any purpose.
|
|
|
10644 |
(gdevrrgb.c[deleted])
|
|
|
10645 |
|
|
|
10646 |
Converts some additional devices to -dev2, to make them const. (devs.mak,
|
|
|
10647 |
gdevbit.c, gdevpbm.c, gdevpcx.c, gdevpsim.c, gdevpng.c, gdevtfax.c,
|
|
|
10648 |
gdevtfnx.c, gdevx.c, gdevxalt.c)
|
|
|
10649 |
|
|
|
10650 |
Updates a client accessing the preallocated color spaces. (gdevpsdi.c)
|
|
|
10651 |
|
|
|
10652 |
Renames the debugging-related statics in the X driver as X_SOMETHING.
|
|
|
10653 |
(gdevx.c)
|
|
|
10654 |
|
|
|
10655 |
</pre><h3><a name="V5.23_Platforms"></a>Platforms</h3><pre>
|
|
|
10656 |
|
|
|
10657 |
Makes a few minor changes to support Plan 9. (make.txt, devs.mak, stat_.h,
|
|
|
10658 |
stdio_.h, time_.h, gdevpbm.c)
|
|
|
10659 |
|
|
|
10660 |
</pre><h3><a name="V5.23_Fonts"></a>Fonts</h3><pre>
|
|
|
10661 |
|
|
|
10662 |
Documents the availability of a free Chinese font. (fonts.txt,
|
|
|
10663 |
new-user.txt)
|
|
|
10664 |
|
|
|
10665 |
Works around a bug in the Adobe PostScript driver. We though it just output
|
|
|
10666 |
the FontBBox for Type 42 fonts in the 2048- or 4096-unit character space
|
|
|
10667 |
rather than a 1-unit space, but in fact it outputs garbage. (zfont42.c,
|
|
|
10668 |
gstype42.c)
|
|
|
10669 |
|
|
|
10670 |
Augments the handling of Type 42 fonts to recognize the gdir /
|
|
|
10671 |
GlyphDirectory method of outline definition in addition to the loca / glyf
|
|
|
10672 |
method, per Adobe versions 2015 and later (undocumented!). (ifont.h,
|
|
|
10673 |
zfont42.c)
|
|
|
10674 |
|
|
|
10675 |
</pre><h3><a name="V5.23_Interpreter"></a>Interpreter</h3><pre>
|
|
|
10676 |
|
|
|
10677 |
Fixes bugs:
|
|
|
10678 |
- Memory management for argument strings was wrong. (gsargs.h,
|
|
|
10679 |
gsargs.c)
|
|
|
10680 |
- 1 .setlanguagelevel was broken, because it didn't allow for the
|
|
|
10681 |
possibility that values could get deleted from systemdict that existed in
|
|
|
10682 |
level2dict. (bug introduced in 5.x, x <= 10) (zmisc2.c)
|
|
|
10683 |
- -dFAKEFONTS was broken. (gs_fonts.ps, gs_init.ps)
|
|
|
10684 |
- copyscanlines was broken. (bug introduced in 5.20) (gs_init.ps)
|
|
|
10685 |
- The matrix returned by sizeimage was incorrect. (zdpnext.c)
|
|
|
10686 |
- The implementation of .buildpattern for PatternType 2 was wrong.
|
|
|
10687 |
(gs_ll3.ps)
|
|
|
10688 |
- Ghostscript couldn't load TrueType fonts where the amount of data
|
|
|
10689 |
either before or after the glyf section exceeds 64K. (gs_ttf.ps) ****** WE
|
|
|
10690 |
BACKED OUT THIS CHANGE, BECAUSE WE HAD TO BACK OUT THE NEXT ONE. ******
|
|
|
10691 |
- Ghostscript couldn't load TrueType fonts where the total data is
|
|
|
10692 |
more than 64K and the offset or length of the glyfs is odd. (gs_ttf.ps)
|
|
|
10693 |
****** WE BACKED OUT THIS CHANGE: IT BROKE THE PDF INTERPRETER, BECAUSE IT
|
|
|
10694 |
IMPOSES A NEW REQUIREMENT THAT TTF FILES BE POSITIONABLE. ******
|
|
|
10695 |
- Some compilers complained about arithmetic on enums. (interp.c)
|
|
|
10696 |
- The CIE color space and CRD GC structure definitions were in the
|
|
|
10697 |
interpreter rather than the library. (zcie.c, zcrd.c)
|
|
|
10698 |
- NullFont was still present in FontDirectory when currentglobal was
|
|
|
10699 |
false. (gs_init.ps)
|
|
|
10700 |
- execform failed with Form resources, because it tried to insert
|
|
|
10701 |
the Implementation in a read-only dictionary. (gs_fform.ps, gs_lev2.ps)
|
|
|
10702 |
|
|
|
10703 |
Finishes implementing ImageType 4 images, and moves closer to implementing
|
|
|
10704 |
ImageType 3. (iimage.h, zdps.c, zimage.c, zimage2.c, zimage3.c)
|
|
|
10705 |
|
|
|
10706 |
Updates tracing output to use the new dlprintf macros. (idict.c, igc.c,
|
|
|
10707 |
igcref.c, igcstr.c, iname.c, interp.c, isave.c, iscan.c, zcie.c, zcontext.c)
|
|
|
10708 |
|
|
|
10709 |
Implements multiproc=true for readimage. (gs_dpnxt.ps)
|
|
|
10710 |
|
|
|
10711 |
Does a bit more work on implementing shading with PatternType 2.
|
|
|
10712 |
(gs_ll3.ps, zfunc.c, zshade.c)
|
|
|
10713 |
|
|
|
10714 |
Adds a .bitadd operator for adding integers modulo the word size.
|
|
|
10715 |
(zarith.c)
|
|
|
10716 |
|
|
|
10717 |
Updates filter operators to use the new stream parameter facility.
|
|
|
10718 |
(iparam.h, iparam.c, zfdecode.c, zfdctc.c[deleted], zfdctd.c, zfdcte.c)
|
|
|
10719 |
|
|
|
10720 |
Updates the implementation of parameter lists for the change from _dict to
|
|
|
10721 |
_collection. (iparam.c, iparam.h)
|
|
|
10722 |
|
|
|
10723 |
Takes advantage of the filter stream procedures now available in stream.c.
|
|
|
10724 |
(zfilter.c)
|
|
|
10725 |
|
|
|
10726 |
Adds get_hardware_params to one device procedure vector. (zupath.c)
|
|
|
10727 |
|
|
|
10728 |
Adds .gethardwareparams to parallel .getdeviceparams. (zdevice.c)
|
|
|
10729 |
|
|
|
10730 |
Updates the interpreter's parameter list machinery to match the change in
|
|
|
10731 |
gsparam.h. (iparam.h, iparam.c)
|
|
|
10732 |
|
|
|
10733 |
Makes more writable statics const. (gs_init.ps, btoken.h, dstack.h, iref.h,
|
|
|
10734 |
opextern.h, icontext.c, idict.c, igc.c, igcref.c, iinit.c, imainarg.c,
|
|
|
10735 |
interp.c, iscanbin.c, iutil.c, zbseq.c, zcie.c, zcontrol.c, zdevcal.c,
|
|
|
10736 |
zdevice2.c, zdps.c, zdps1.c, zfont2.c, zgeneric.c, zgstate.c, ziodev.c,
|
|
|
10737 |
ziodev2.c, ztype.c)
|
|
|
10738 |
|
|
|
10739 |
Removes an inappropriate reference to PROGRAM_NAME. (imainarg.c)
|
|
|
10740 |
|
|
|
10741 |
Removes set/currentrenderalgorithm, since they are useless for the purpose
|
|
|
10742 |
for which they were intended. (zrop.c)
|
|
|
10743 |
|
|
|
10744 |
Uncomments code for CIEBasedDEF[G] color spaces, even though these aren't
|
|
|
10745 |
fully implemented yet. (zcie.c)
|
|
|
10746 |
|
|
|
10747 |
Reimplements StartJobPassword and SystemParamsPassword as no-access strings
|
|
|
10748 |
in systemdict. (gs_lev2.ps, iutil2.h, iutil2.c, ziodev2.c, zusparam.c)
|
|
|
10749 |
|
|
|
10750 |
Splits off the context state record from icontext.h, so that places that
|
|
|
10751 |
only need access to state variables don't need to import the
|
|
|
10752 |
procedures. (icontext.h, icstate.h)
|
|
|
10753 |
|
|
|
10754 |
Updates a client for the change in gs_malloc_limit. (imainarg.c)
|
|
|
10755 |
|
|
|
10756 |
Updates clients for the change in the accessors for predefined color spaces.
|
|
|
10757 |
(zcolor1.c, zimage.c, zimage2.c)
|
|
|
10758 |
|
|
|
10759 |
Renames the (few) debugging-related statics as I_SOMETHING. (igc.c)
|
|
|
10760 |
|
|
|
10761 |
Splits off idstack.h (API for dictionary stacks) from dstack.h (API for the
|
|
|
10762 |
interpreter's dictionary stack), and idstack.c (dictionary stack
|
|
|
10763 |
implementation) from idict.c (dictionary implementation). We should have
|
|
|
10764 |
done this a long time ago! (dstack.h, idictdef.h, idstack.h, idict.c,
|
|
|
10765 |
idstack.c, iinit.c, ireclaim.c)
|
|
|
10766 |
|
|
|
10767 |
Folds the cached currentfile pointer into the exec-stack structure.
|
|
|
10768 |
(estack.h, interp.c)
|
|
|
10769 |
|
|
|
10770 |
Changes clients of gs_register_*_root to eliminate statically allocated
|
|
|
10771 |
roots. (iinit.c, iname.c, interp.c, zbseq.c, zcontext.c, zfile.c, zfont.c,
|
|
|
10772 |
zfont2.c, zgstate.c, ziodev.c)
|
|
|
10773 |
|
|
|
10774 |
Adds a ref_free_stack procedure, and reformats the implementation of stacks.
|
|
|
10775 |
(istack.h, interp.c, istack.c)
|
|
|
10776 |
|
|
|
10777 |
</pre><h3><a name="V5.23_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
10778 |
|
|
|
10779 |
Fixes bugs:
|
|
|
10780 |
- Pattern colors sometimes caused errors. (gs_pdf.ps)
|
|
|
10781 |
- A file ending with %%EOF without an EOL caused an error.
|
|
|
10782 |
(pdf_main.ps)
|
|
|
10783 |
- Fl wasn't recognized as an abbreviation for FlateDecode in in-line
|
|
|
10784 |
images. (pdf_draw.ps)
|
|
|
10785 |
|
|
|
10786 |
Removes all code related to converting PDF to PS: it never worked reliably,
|
|
|
10787 |
and we now support this function with the pswrite device instead.
|
|
|
10788 |
(gs_pdf.ps => pdf_ops.ps, pdf*.ps)
|
|
|
10789 |
|
|
|
10790 |
</pre><h3><a name="V5.23_Streams"></a>Streams</h3><pre>
|
|
|
10791 |
|
|
|
10792 |
Updates tracing output to use the new dlprintf macros. (shc.h, scfd.c,
|
|
|
10793 |
scfe.c, shcgen.c)
|
|
|
10794 |
|
|
|
10795 |
Provides the ability to read and set stream initial parameters to/from a
|
|
|
10796 |
parameter list. This is currently needed only by the PDF/PS writers and the
|
|
|
10797 |
filter operator, so it is implemented in modules separate from the stream
|
|
|
10798 |
implementation per se, but it might be useful for other clients too.
|
|
|
10799 |
(scommon.h, scfparam.c, sdcparam.c, sdct*.c, sdeparam.c, sddparam.c,
|
|
|
10800 |
gdevpsfp.c[deleted])
|
|
|
10801 |
|
|
|
10802 |
Changes the ASCII85Encode filter so it never produces two %% at the
|
|
|
10803 |
beginning of a line, which could mislead document managers or spoolers.
|
|
|
10804 |
(sfilter2.c)
|
|
|
10805 |
|
|
|
10806 |
Changes the ASCIIHexEncode filter so it always produces lines of exactly 64
|
|
|
10807 |
characters, except for the last one. THIS IS A NON-BACKWARD-COMPATIBLE
|
|
|
10808 |
CHANGE, because this filter now needs a state structure, which it didn't
|
|
|
10809 |
before. (sstring.h, sstring.c)
|
|
|
10810 |
|
|
|
10811 |
Moves filter_{read,write}_procs to stream.c, changing the names to
|
|
|
10812 |
s_filter_{read,write}_procs. (stream.h, stream.c)
|
|
|
10813 |
|
|
|
10814 |
Makes creation of JPEG filters set default values for parameters that are
|
|
|
10815 |
outside the IJG library (Picky and Relax). (sdct.h, sjpegd.c, sjpege.c)
|
|
|
10816 |
|
|
|
10817 |
</pre><h3><a name="V5.23_Library"></a>Library</h3><pre>
|
|
|
10818 |
|
|
|
10819 |
Fixes bugs:
|
|
|
10820 |
- An error in dda_step_add could theoretically produce anomalies in
|
|
|
10821 |
images (although we don't think we've ever seen any). (gxdda.h)
|
|
|
10822 |
- A boundary error in dda_state_next/previous/advance could
|
|
|
10823 |
theoretically produce anomalies in images by allowing R = 0 (although we
|
|
|
10824 |
don't think we've ever seen any). (gxdda.h)
|
|
|
10825 |
- A rounding error in computing the size of portrait images could
|
|
|
10826 |
produce a spurious 1-pixel-wide line at the edge of the image. (gxifast.c)
|
|
|
10827 |
- When banding, images with singular or nearly singular CTM or
|
|
|
10828 |
ImageMatrix could confuse things badly enough to cause memory access errors.
|
|
|
10829 |
(gxclimag.c)
|
|
|
10830 |
- Patterns were broken. (bug introduced in 5.21) (gxclip2.c)
|
|
|
10831 |
- Because some image processing code retained a pointer to the
|
|
|
10832 |
clipping path, which was embedded inside the gs_state_contents object,
|
|
|
10833 |
garbage collection could cause crashes. (The only case where we know this
|
|
|
10834 |
happened was the bounding box device, since we think all other image
|
|
|
10835 |
enumerators preconstruct a clipping device, which does not retain a pointer
|
|
|
10836 |
to the clipping path, rather than constructing one from the path on the
|
|
|
10837 |
fly.) We fixed this by replacing gs_state_contents with individual objects:
|
|
|
10838 |
see below.
|
|
|
10839 |
- The *_.h files didn't have double-inclusion protection. (*_.h)
|
|
|
10840 |
- ImageType 2 images were broken by the change in begin_typed_image.
|
|
|
10841 |
(gximage2.c)
|
|
|
10842 |
- Color-setting operators that "substitute the nearest legal value"
|
|
|
10843 |
didn't substitute it in storage, only when using it. E.g., after
|
|
|
10844 |
gs_setgray(pgs, 2.0), gs_currentgray(pgs) returned 2.0 rather than 1.0.
|
|
|
10845 |
This bug has been there since release 1.0! (gxcspace.h, gscie.c, gscolor.c,
|
|
|
10846 |
gscolor1.c, gscolor2.c, gscdevn.c, gscsepr.c, gscpixel.c, gspcolor.c)
|
|
|
10847 |
- The RasterOp implementation for 2-bit, 4-bit, and non-gray 8-bit
|
|
|
10848 |
devices didn't work. (gdevmrop.c)
|
|
|
10849 |
- The test of whether to use copy_mono, fill_mask, or general
|
|
|
10850 |
imaging for rendering characters sometimes used copy_mono when not
|
|
|
10851 |
appropriate. (gxccache.c)
|
|
|
10852 |
- The default implementation of fill_mask produced solid rectangles,
|
|
|
10853 |
rather than properly masked output, if the logical operation didn't use its
|
|
|
10854 |
source operand. (gdevdbit.c)
|
|
|
10855 |
- Some more files needed double inclusion protection. (gscie.h)
|
|
|
10856 |
- Checking for interrupts before a return always returned 0 rather
|
|
|
10857 |
than the correct return code if there was no interrupt. (gsmisc.c)
|
|
|
10858 |
- Characters within Pattern PaintProcs sometimes didn't get drawn.
|
|
|
10859 |
(gxpcmap.c)
|
|
|
10860 |
- The CIE color space and CRD GC structure definitions were in the
|
|
|
10861 |
interpreter rather than the library. (gscie.h, gscie.c)
|
|
|
10862 |
- Numeric overflows when setting up the character cache caused
|
|
|
10863 |
errors rather than simply disabling caching for that character. (gschar.c)
|
|
|
10864 |
- FORCE_STRIP_HALFTONES was accidentally left set to 1 (in 5.10!),
|
|
|
10865 |
slowing down all uses of monobit halftones. (gshtscr.c)
|
|
|
10866 |
|
|
|
10867 |
Implements mask clipping, which is needed for ImageType 3 images.
|
|
|
10868 |
(gxclip2.h, gxclipm.h, gxmclip.h, gxclip2.c, gxclipm.c, gxmclip.c)
|
|
|
10869 |
|
|
|
10870 |
Finishes implementing ImageType 3 and 4 images. (gsimage.h, gsiparam.h,
|
|
|
10871 |
gsimage.c, gsiparm3.h, gximage3.c, gximage4.c)
|
|
|
10872 |
|
|
|
10873 |
Starts to update the banding code to handle ImageType 3 and 4 images.
|
|
|
10874 |
(gxclist.h, gxiparam.h, gxclimag.c, gxclist.c, gxiinit.c)
|
|
|
10875 |
|
|
|
10876 |
Make eprintf_program_name, lprintf_file_{and_line,only}, and new
|
|
|
10877 |
dlprintf_file_{and_line,only} always be procedures, rather than sometimes
|
|
|
10878 |
macros and sometimes procedures. (std.h, gdebug.h, gsmisc.c)
|
|
|
10879 |
|
|
|
10880 |
Adds new dlprintf, dlputc, and dlputs macros that are like
|
|
|
10881 |
dprintf/dputc/dputs but also print the source file name and line number at
|
|
|
10882 |
the beginning of the line if the -Z/ debugging switch is set. The if_debug*
|
|
|
10883 |
macros now use dlprintf rather than dprintf; many other places also needed
|
|
|
10884 |
changing. Note that if any place was overlooked, no great harm is done:
|
|
|
10885 |
printout produced there simply won't include the source file and line number
|
|
|
10886 |
even if -Z/ is set. (std.h, gdebug.h, gsmisc.c; gdevbbox.c, gdevdbit.c,
|
|
|
10887 |
gdevdgbr.c, gdevmrop.c, gdevrun.c, gdevsvga.c, gdevx.c, gp_unifs.c,
|
|
|
10888 |
gsalloc.c, gschar.c, gscoord.c, gsfont.c, gshsb.c, gsht.c, gshtscr.c,
|
|
|
10889 |
gsmemory.c, gspath.c, gstype1.c, gstype2.c, gxacpath.c, gxccache.c,
|
|
|
10890 |
gxclimag.c, gxclist.c, gxclpath.c, gxclread.c, gxcpath.c, gxfill.c,
|
|
|
10891 |
gxidata.c, gxpath.c, gxpcopy.c, gxpflat.c, gxstroke.c)
|
|
|
10892 |
|
|
|
10893 |
Simplifies storage management for graphics states by replacing
|
|
|
10894 |
gs_state_contents with individual objects. This slows down gsave and
|
|
|
10895 |
grestore a bit, but eliminates a class of potential obscure bugs.
|
|
|
10896 |
(gxpath.h, gzstate.h, gsstate.c, gxcpath.c, gxpath.c)
|
|
|
10897 |
|
|
|
10898 |
Adds some more information to the deubgging printout for paths. (gxpath.c)
|
|
|
10899 |
|
|
|
10900 |
Modifies the library test program to test ImageType 3 and 4 images.
|
|
|
10901 |
(ugcclib.mak, gslib.c)
|
|
|
10902 |
|
|
|
10903 |
Extends the @-file parser to be more shell-like:
|
|
|
10904 |
|
|
|
10905 |
- The sequence \ <newline> is ignored everywhere.
|
|
|
10906 |
|
|
|
10907 |
- If a # appears as the first character on a line outside quotes,
|
|
|
10908 |
the entire line (including the terminating newline) is ignored.
|
|
|
10909 |
|
|
|
10910 |
(gsargs.h, gsargs.c)
|
|
|
10911 |
|
|
|
10912 |
Changes a stem hint tracing message so that it will print with the correct
|
|
|
10913 |
line number. (gxhint2.c)
|
|
|
10914 |
|
|
|
10915 |
Moves the 'format' information for images to the image parameter structure.
|
|
|
10916 |
This entails a NON-BACKWARD-COMPATIBLE CHANGE in the begin_typed_image
|
|
|
10917 |
driver procedure (which was not guaranteed stable). (gsiparam.h,
|
|
|
10918 |
gxdevcli.h, gsimage.c, gxiinit.c)
|
|
|
10919 |
|
|
|
10920 |
Adds an optional matrix argument to begin_typed_image, overriding the CTM in
|
|
|
10921 |
the imager state if present. This is needed to make masks and masked images
|
|
|
10922 |
line up precisely; this too is a NON-BACKWARD-COMPATIBLE CHANGE.
|
|
|
10923 |
(gxdevcli.h, gdevbbox.c, gdevddrw.c, gdevnfwd.c, gdevx.c, gxclimag.c,
|
|
|
10924 |
gxiinit.c, gximage2.c, gximage3.c, gximage4.c)
|
|
|
10925 |
|
|
|
10926 |
Adds a procedure for testing monotonicity of Functions over a given range.
|
|
|
10927 |
(gsfunc.h, gsfunc0.c, gsfunc3.c)
|
|
|
10928 |
|
|
|
10929 |
Implements smooth shading with shfill. All documented ShadingTypes (1-7)
|
|
|
10930 |
are implemented. (gscspace.h, gsdsrc.h, gspath.h, gsshade.h, gxshade.h,
|
|
|
10931 |
gxshade4.h, gscolor.c, gscolor3.c, gsdsrc.c, gsfunc0.c, gsfunc3.c,
|
|
|
10932 |
gspath1.c, gsshade.c, gxshade.c, gxshade1.c, gxshade4.c, gxshade6.c)
|
|
|
10933 |
|
|
|
10934 |
Changes the TrueType rasterizer to remove the assumption that the entire
|
|
|
10935 |
loca table is stored contiguously. This may not have any practical effect,
|
|
|
10936 |
since currently Type 42 fonts never split the loca table across segments.
|
|
|
10937 |
(gstype42.c)
|
|
|
10938 |
|
|
|
10939 |
Adds a new interface for creating CIE CRDs that provides the parameters as
|
|
|
10940 |
separate arguments. (gscrd.h, gscrd.c)
|
|
|
10941 |
|
|
|
10942 |
Starts to add the ability for a device to provide one or more default CIE
|
|
|
10943 |
CRDs as (read-only) device parameters. (Not ready for use yet.) (gscie.h,
|
|
|
10944 |
gscrdp.h, gscie.c, gscrdp.c)
|
|
|
10945 |
|
|
|
10946 |
Adds a multiple-bit-per-pixel analogue of gs_makebitmappattern,
|
|
|
10947 |
gs_makepixmappattern, for use by another Aladdin project. (lib.mak,
|
|
|
10948 |
gsbitmap.h, gsptype1.h, gxbitmap.h, gspcolor.c)
|
|
|
10949 |
|
|
|
10950 |
Changes the API of param_begin_write_dict so that the client can request the
|
|
|
10951 |
creation of an array rather than a dictionary. This is a
|
|
|
10952 |
NON-BACKWARD-COMPATIBLE CHANGE for implementors (of which there are only
|
|
|
10953 |
2.5), but not for clients. (gsparam.h, gsparam.c)
|
|
|
10954 |
|
|
|
10955 |
Adds dynamically typed data to the parameter list interface, and removes the
|
|
|
10956 |
statically typed procedures. This isn't important for any standard facility
|
|
|
10957 |
yet. This too is a NON-BACKWARD-COMPATIBLE CHANGE for implementors of
|
|
|
10958 |
parameter lists. (gsparam.h, gsparams.h, gsparam.c, gsparams.c)
|
|
|
10959 |
|
|
|
10960 |
Adds a new platform-specific API for thread creation and synchronization,
|
|
|
10961 |
and a memory manager "wrapper" that monitor-locks each call. No code
|
|
|
10962 |
normally included in this fileset uses any of this machinery as yet. (gp.h,
|
|
|
10963 |
gpsync.h, gxsync.h, gsmemlok.h, gsmemlok.c, gxsync.c)
|
|
|
10964 |
|
|
|
10965 |
Splits off (PatternType 1) Pattern filling into a separate file, since the
|
|
|
10966 |
file was getting too big; refactors the filling code to use procedures
|
|
|
10967 |
rather than macros. (gxp1fill.h, gspcolor.c, gxp1fill.c)
|
|
|
10968 |
|
|
|
10969 |
Makes a few more writable statics const. (gscie.h, gscscie.c, gsdll.c,
|
|
|
10970 |
gsmemory.c, gsmisc.c, gstype1.c, gstype2.c, gxclpath.c)
|
|
|
10971 |
|
|
|
10972 |
Adds a compile-time option, SYSTEM_CONSTANTS_ARE_WRITABLE, to choose whether
|
|
|
10973 |
the system configuration values (buildtime, copyright, product, revision,
|
|
|
10974 |
revisiondate, serialnumber) are const or not. By default they are now
|
|
|
10975 |
const: THIS IS A NON-BACKWARD-COMPATIBLE CHANGE (affecting only one user).
|
|
|
10976 |
(lib.mak, openvms.mak, os2.mak, unix-end.mak, wctail.mak, winlib.mak,
|
|
|
10977 |
gscdefs.h, gscdef.c)
|
|
|
10978 |
|
|
|
10979 |
Removes the dependence of std.h on PROGRAM_NAME. (std.h, gsdll.c, gsmisc.c,
|
|
|
10980 |
gscdef.c)
|
|
|
10981 |
|
|
|
10982 |
Adds a new member of the color space type structure, the size of the
|
|
|
10983 |
smallest color space structure that will hold a color space of the given
|
|
|
10984 |
type. Also removes the obsolete _ds modifier. (gscspace.h, gxcspace.h,
|
|
|
10985 |
gscdevn.c, gscie.c, gscolor.c, gscolor1.c, gscolor2.c, gscpixel.c,
|
|
|
10986 |
gscsepr.c, gspcolor.c, gxiinit.c)
|
|
|
10987 |
|
|
|
10988 |
Removes set/currentrenderalgorithm, since they are useless for the purpose
|
|
|
10989 |
for which they were intended. (gsrop.h, gsropt.h, gdevmrop.c, gsrop.c)
|
|
|
10990 |
|
|
|
10991 |
Splits off gscspace.c from gscolor.c, and gscscie.c from gscie.c. (gscie.c,
|
|
|
10992 |
gscolor.c, gscscie.c, gscspace.c)
|
|
|
10993 |
|
|
|
10994 |
Adds constructor and accessor procedures for color spaces. (gscie.h,
|
|
|
10995 |
gscolor2.h, gscsepr.h, gscspace.h, gsptype1.h, gxcolor2.h, gxcspace.h,
|
|
|
10996 |
gscolor.c, gscolor2.c, gscscie.c, gscsepr.c, gscspace.c, gslib.c,
|
|
|
10997 |
gspcolor.c)
|
|
|
10998 |
|
|
|
10999 |
Changes the CIEBased color space structures slightly to allow implementation
|
|
|
11000 |
of the CIEBasedDEF[G] color spaces. (gscie.h, gscie.c)
|
|
|
11001 |
|
|
|
11002 |
Changes gs_malloc_limit from a static to a member of the allocator
|
|
|
11003 |
structure. This is a NON-BACKWARD-COMPATIBLE CHANGE for clients that
|
|
|
11004 |
declared this variable as an extern. (gsmalloc.h, gsmemory.c)
|
|
|
11005 |
|
|
|
11006 |
In order to eliminate some statics, changes the static color space accessors
|
|
|
11007 |
(gs_color_space_Device*) so they require a const gx_imager_state as
|
|
|
11008 |
parameter, and changes their names as well to avoid confusion. This is a
|
|
|
11009 |
NON-BACKWARD-COMPATIBLE CHANGE not only in these accessors, but also in
|
|
|
11010 |
gs_image_t_init_{gray,color}. This is very unfortunate, but we see no way
|
|
|
11011 |
to avoid it. (gscspace.h, gsiparam.h, gxistate.h, gscolor1.c, gscscie.c,
|
|
|
11012 |
gscspace.c, gsimage.c, gspcolor.c, gsstate.c, gxclread.c, gxiinit.c,
|
|
|
11013 |
gximage2.c, gximage3.c, gximage4.c)
|
|
|
11014 |
|
|
|
11015 |
Unifies the handling of const for the IODevice table. (gscdefs.h,
|
|
|
11016 |
gxiodev.h, gconf.c, gsiodev.c)
|
|
|
11017 |
|
|
|
11018 |
Changes the register_root memory manager call so that a NULL as the pointer
|
|
|
11019 |
to the root structure asks the memory manager to allocate the root structure
|
|
|
11020 |
itself. This is a NON-BACKWARD-COMPATIBLE CHANGE for implementors of the
|
|
|
11021 |
memory manager API (of which there are only 3). (gsmemory.h, gsstruct.h,
|
|
|
11022 |
gsalloc.c, gsmemory.c)
|
|
|
11023 |
|
|
|
11024 |
Adds a new GC structure type, suffix_add0_local, which is a more efficient
|
|
|
11025 |
form of suffix_add0 that can be used when the supertype is defined in the
|
|
|
11026 |
same file as the subtype. (gsbitmap.h, gscie.h, gsshade.h, gsstruct.h)
|
|
|
11027 |
|
|
|
11028 |
Uses the new package replacement facility in the makefile to make RasterOp
|
|
|
11029 |
optional without tinkering with statics at runtime. (lib.mak, gxdevice.h,
|
|
|
11030 |
gxdevrop.h, gdevdbit.c, gdevdflt.c, gdevmrop.c, gdevnfwd.c, gsnorop.c,
|
|
|
11031 |
gsropc.c)
|
|
|
11032 |
|
|
|
11033 |
Makes RasterOp really optional. (gdevmrop.h, gsrop.h, gdevmrop.c, gsrop.c,
|
|
|
11034 |
gxiinit.c)
|
|
|
11035 |
|
|
|
11036 |
Rewrites bits_fill_rectangle to get rid of nearly all the macros.
|
|
|
11037 |
(gxbitops.h, gsbitops.c)
|
|
|
11038 |
|
|
|
11039 |
Removes the obsolete _ds from gs_log_error. (gserror.h, gsmisc.c)
|
|
|
11040 |
|
|
|
11041 |
</pre>
|
|
|
11042 |
|
|
|
11043 |
<hr>
|
|
|
11044 |
|
|
|
11045 |
<h2><a name="Version5.22"></a>Version 5.22 (limited) (2/19/98)</h2>
|
|
|
11046 |
|
|
|
11047 |
<p>
|
|
|
11048 |
This fileset has a few more bug fixes, a major overhaul of memory management
|
|
|
11049 |
for paths so that we can do view clipping in a reasonable way, and the
|
|
|
11050 |
ability to build executables in a different directory from the sources.
|
|
|
11051 |
|
|
|
11052 |
<h3><a name="V5.22_Documentation"></a>Documentation</h3><pre>
|
|
|
11053 |
|
|
|
11054 |
Designates gv as the preferred VMS and Unix previewer. (new-user.txt,
|
|
|
11055 |
use.txt)
|
|
|
11056 |
|
|
|
11057 |
Adds a pointer to post-release documentation. (README)
|
|
|
11058 |
|
|
|
11059 |
Notes that compilation with certain platforms and compilers must turn off
|
|
|
11060 |
optimization. (make.txt)
|
|
|
11061 |
|
|
|
11062 |
Improves the documentation of the fit_fill and fit_copy macros.
|
|
|
11063 |
(gxdevice.h)
|
|
|
11064 |
|
|
|
11065 |
</pre><h3><a name="V5.22_Procedures"></a>Procedures</h3><pre>
|
|
|
11066 |
|
|
|
11067 |
Fixes bugs:
|
|
|
11068 |
- The ccgs script for non-ANSI compilers was no longer flexible
|
|
|
11069 |
enough to handle all the possible command lines. (ccgs)
|
|
|
11070 |
- The pdfwrite device was missing on the DesqView/X platform.
|
|
|
11071 |
(dvx-gcc.mak)
|
|
|
11072 |
- The System V build procedure was broken. (unixtail.mak)
|
|
|
11073 |
- A Watcom makefile lacked parentheses around a macro name.
|
|
|
11074 |
(wctail.mak)
|
|
|
11075 |
- Some `make' programs drop trailing spaces in macro definitions: we
|
|
|
11076 |
didn't work around this. (os2.mak, unixhead.mak, winlib.mak)
|
|
|
11077 |
|
|
|
11078 |
Adds support for WCVERSION=11.0 in the Watcom makefiles. (watc.mak,
|
|
|
11079 |
wccommon.mak)
|
|
|
11080 |
|
|
|
11081 |
Adds a shell script for removing the 'includes' from makefiles, since a very
|
|
|
11082 |
few Unix systems don't support this capability. (catmake)
|
|
|
11083 |
|
|
|
11084 |
Changes -dNOPROMPT to -dNOPAGEPROMPT, and adds -dNOPROMPT to suppress both
|
|
|
11085 |
the end-of-page prompt and the executive prompt. (use.txt, gs_init.ps)
|
|
|
11086 |
|
|
|
11087 |
Adds definitions of {GL,PS}{SRC,GEN,OBJ}DIR to the top-level makefiles,
|
|
|
11088 |
removing these definitions from gs.mak. (*.mak, gs.mak)
|
|
|
11089 |
|
|
|
11090 |
Adds explicit directories to more makefile rules. We can now do builds with
|
|
|
11091 |
source, GL/PS generated files, and GL/PS object files in 5 different
|
|
|
11092 |
directories! (*.mak, gsjconf.h)
|
|
|
11093 |
|
|
|
11094 |
</pre><h3><a name="V5.22_Utilities"></a>Utilities</h3><pre>
|
|
|
11095 |
|
|
|
11096 |
Adds a user-contributed utility that runs dvips followed by ps2pdf.
|
|
|
11097 |
(dvipdf, unixinst.mak)
|
|
|
11098 |
|
|
|
11099 |
</pre><h3><a name="V5.22_Drivers"></a>Drivers</h3><pre>
|
|
|
11100 |
|
|
|
11101 |
Fixes bugs:
|
|
|
11102 |
- A pointer was incorrectly declared const. (gdevpdfm.c)
|
|
|
11103 |
- pdfwrite handled the Title element of ARTICLE pdfmarks
|
|
|
11104 |
incorrectly. (gdevpdfm.c)
|
|
|
11105 |
- pdfwrite inserted a Dest element in Link annotations even if an A
|
|
|
11106 |
(Action) key was present. (gdevpdfm.c)
|
|
|
11107 |
- pdfwrite didn't recognize and convert /Article actions in
|
|
|
11108 |
pdfmarks. (gdevpdfm.c)
|
|
|
11109 |
|
|
|
11110 |
Replaces some open-coded accesses to path structure elements with macros, in
|
|
|
11111 |
anticipation of a representation change. (gdevpdfd.c)
|
|
|
11112 |
|
|
|
11113 |
Moves pdfwrite further towards supporting Dict and ACSDict Distiller
|
|
|
11114 |
parameters. (gdevpsdf.h, gdevpsdp.c, gdevpsfp.c)
|
|
|
11115 |
|
|
|
11116 |
Updates a few places for the change in the path API. (gdevpdfd.c,
|
|
|
11117 |
gdevvec.c)
|
|
|
11118 |
|
|
|
11119 |
Adds recognition of named object references to the PDF writer, fixing many
|
|
|
11120 |
bugs in the named object code in the process. (gdevpdfx.h, gdevpdfm.c,
|
|
|
11121 |
gdevpdfo.c)
|
|
|
11122 |
|
|
|
11123 |
Enhances pswrite to skip fills or strokes of completely empty paths, to
|
|
|
11124 |
recognize horizontal and vertical lines, and to abbreviate color settings
|
|
|
11125 |
based on 8-bit fractions. This requires a NON-BACKWARD-COMPATIBLE CHANGE in
|
|
|
11126 |
the "vector" device interface (which was, however, clearly identified as
|
|
|
11127 |
subject to change without notice). (gdevpsdf.h, gdevvec.h, gdevps.c,
|
|
|
11128 |
gdevpsdf.c, gdevpx.c, gdevvec.c)
|
|
|
11129 |
|
|
|
11130 |
</pre><h3><a name="V5.22_Interpreter"></a>Interpreter</h3><pre>
|
|
|
11131 |
|
|
|
11132 |
Updates a few places for the change in the path API. (zupath.c)
|
|
|
11133 |
|
|
|
11134 |
Implements %statementedit properly. (iscan.h, iscan.c, ziodev.c)
|
|
|
11135 |
|
|
|
11136 |
Changes the initialization code so that if DELAYBIND is set, .forcedef and
|
|
|
11137 |
.forceput remain accessible until .bindnow is called. (gs_init.ps)
|
|
|
11138 |
|
|
|
11139 |
</pre><h3><a name="V5.22_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
11140 |
|
|
|
11141 |
Fixes bugs:
|
|
|
11142 |
- An empty Differences array, which Acrobat Distiller 3.02 can emit,
|
|
|
11143 |
caused a rangecheck error. (pdf_font.ps)
|
|
|
11144 |
|
|
|
11145 |
</pre><h3><a name="V5.22_Streams"></a>Streams</h3><pre>
|
|
|
11146 |
|
|
|
11147 |
Fixes bugs:
|
|
|
11148 |
- The alternative LZWEncode filter didn't emit a reset code as the
|
|
|
11149 |
first code, and waited one code too long to emit a reset. (slzwce.c)
|
|
|
11150 |
|
|
|
11151 |
Adds some double-inclusion protection. (scfx.h)
|
|
|
11152 |
|
|
|
11153 |
</pre><h3><a name="V5.22_Library"></a>Library</h3><pre>
|
|
|
11154 |
|
|
|
11155 |
Fixes bugs:
|
|
|
11156 |
- There was an (incorrect) assignment to a read-only structure
|
|
|
11157 |
member. (gximage2.c)
|
|
|
11158 |
- A formal parameter list was incorrect if __PROTOTYPES__ wasn't
|
|
|
11159 |
defined. (gsroptab.c)
|
|
|
11160 |
- Some images didn't get clipped properly when banding. This was a
|
|
|
11161 |
fix for 5.03 that somehow didn't make it into 5.10. (gxclimag.c)
|
|
|
11162 |
- When banding, dashed lines could cause an invalid memory access.
|
|
|
11163 |
This was apparently caused by an error in a fix made in 5.04. (gsline.c)
|
|
|
11164 |
- Images with non-zero data_x could cause an invalid memory access.
|
|
|
11165 |
(gxiinit.c, gxidata.c)
|
|
|
11166 |
- The band list rasterizer didn't initialize the image structure
|
|
|
11167 |
properly, causing control to go to a random address. (gxclread.c)
|
|
|
11168 |
|
|
|
11169 |
Replaces some open-coded accesses to path structure elements with macros, in
|
|
|
11170 |
anticipation of a representation change. (gxpath.h, gzpath.h, gspath1.c,
|
|
|
11171 |
gxfill.c, gxpath2.c, gxstroke.c)
|
|
|
11172 |
|
|
|
11173 |
Changes the path and clipping path structures so that segments and clipping
|
|
|
11174 |
lists are stored in separate, reference-counted structures. This finally
|
|
|
11175 |
supports reliable freeing of path segments and clipping lists even in the
|
|
|
11176 |
presence of off-stack gstates, and the ability to store the original
|
|
|
11177 |
segments of a clipping path, both of which we have wanted for a long time.
|
|
|
11178 |
Unfortunately, it requires SIGNIFICANT NON-BACKWARD-COMPATIBLE CHANGES TO
|
|
|
11179 |
THE API FOR PATHS:
|
|
|
11180 |
Paths:
|
|
|
11181 |
- adds gx_path_alloc_contained;
|
|
|
11182 |
- gx_path_init => gx_path_init_local (or nothing);
|
|
|
11183 |
- gx_path_reset => gx_path_new;
|
|
|
11184 |
- removes gx_path_share and gx_path_release;
|
|
|
11185 |
- gx_path_assign => gx_path_assign_{preserve,release};
|
|
|
11186 |
- renames gx_path_expand_dashes => gx_path_add_dash_expansion,
|
|
|
11187 |
gx_path_flatten[_accurate] => gx_path_add_flattened[_accurate],
|
|
|
11188 |
gx_path_monotonize => gx_path_add_monotonized;
|
|
|
11189 |
- removes the init Boolean from gx_path_copy[_reversed].
|
|
|
11190 |
Clipping paths:
|
|
|
11191 |
- gx_cpath_init => gx_cpath_init_local (or nothing);
|
|
|
11192 |
- removes gx_cpath_share and gx_cpath_release_segments;
|
|
|
11193 |
- gx_cpath_path => gx_cpath_to_path;
|
|
|
11194 |
- removes the mem argument from gx_cpath_from_rectangle.
|
|
|
11195 |
We believe that we either renamed or changed the argument list of every API
|
|
|
11196 |
function that was affected in a non-backward-compatible way, so incompatible
|
|
|
11197 |
clients will get either compilation or linking errors. (gxpath.h,
|
|
|
11198 |
gzcpath.h, gzpath.h, gschar.c, gsdps.c, gsdps1.c, gspaint.c, gspath.c,
|
|
|
11199 |
gspath1.c, gsstate.c, gxacpath.c, gxccache.c, gxclpath.c, gxclread.c,
|
|
|
11200 |
gxcpath.c, gxfill.c, gxpath.c, gxpath2.c, gxpcmap.c, gxpcopy.c, gxpdash.c,
|
|
|
11201 |
gxstroke.c)
|
|
|
11202 |
|
|
|
11203 |
Reimplements view clipping bookkeeping to use reference-counted paths.
|
|
|
11204 |
(gzstate.h, gsdps.c, gsstate.c)
|
|
|
11205 |
|
|
|
11206 |
Adds const in a couple more places. (gxpath2.c)
|
|
|
11207 |
|
|
|
11208 |
If -Z? is enabled, makes the reference counting machinery check for
|
|
|
11209 |
reference counts going negative. (gsrefct.h)
|
|
|
11210 |
|
|
|
11211 |
Adds the first bit of code for rendering smooth shadings. The code is
|
|
|
11212 |
nowhere near usable. (gsshade.h, gxshade.h, gsshade.c, gxshade.c)
|
|
|
11213 |
|
|
|
11214 |
Adds BEGIN ... END macros for creating compound statements that are
|
|
|
11215 |
syntactically equivalent to single statements. (stdpre.h)
|
|
|
11216 |
|
|
|
11217 |
</pre>
|
|
|
11218 |
|
|
|
11219 |
<hr>
|
|
|
11220 |
|
|
|
11221 |
<h2><a name="Version5.21"></a>Version 5.21 (limited) (1/19/98)</h2>
|
|
|
11222 |
|
|
|
11223 |
<p>
|
|
|
11224 |
This is primarily a bug fix fileset for 5.20, with a little new
|
|
|
11225 |
functionality (pdfwrite image downsampling and more complete pdfmark
|
|
|
11226 |
processing).
|
|
|
11227 |
|
|
|
11228 |
<h3><a name="V5.21_Documentation"></a>Documentation</h3><pre>
|
|
|
11229 |
|
|
|
11230 |
Fixes bugs:
|
|
|
11231 |
- The build procedures still referred to tar_cat. (make.txt)
|
|
|
11232 |
|
|
|
11233 |
Documents some user-developed patches for using certain kinds of Japanese
|
|
|
11234 |
fonts with Ghostscript. (new-user.txt)
|
|
|
11235 |
|
|
|
11236 |
Notes that on Solaris 2.x systems, it is probably not a good idea to use
|
|
|
11237 |
Sun's fonts. (use.txt)
|
|
|
11238 |
|
|
|
11239 |
Documents -dSTRICT. (use.txt)
|
|
|
11240 |
|
|
|
11241 |
</pre><h3><a name="V5.21_Procedures"></a>Procedures</h3><pre>
|
|
|
11242 |
|
|
|
11243 |
Fixes bugs:
|
|
|
11244 |
- The definitions of MAKEFILE in several makefiles was incorrect.
|
|
|
11245 |
(dvx-gcc.mak, unix-cc.mak, unixansi.mak)
|
|
|
11246 |
- The build rules for the gp_*.$(OBJ) files lacked a directory name,
|
|
|
11247 |
confusing most 'make' programs. (*.mak)
|
|
|
11248 |
- geninit didn't work, because the syntax of psfile_() entries in
|
|
|
11249 |
gconfig.h had changed. (geninit.c)
|
|
|
11250 |
- Some files were created and then deleted during building,
|
|
|
11251 |
preventing [gnu]make -j from working. (lib.mak, int.mak)
|
|
|
11252 |
|
|
|
11253 |
Adds an explicit directory name to more files in the makefiles. (jpeg.mak,
|
|
|
11254 |
lib.mak) Added in this fileset:
|
|
|
11255 |
.$(OBJ): jpeg.mak, {dvx-tail,msvclib,openvms,os2,ugcclib,unixtail,
|
|
|
11256 |
watc,watclib,winint,winlib}.mak
|
|
|
11257 |
.dev: jpeg.mak
|
|
|
11258 |
|
|
|
11259 |
Removes the default suppression of 'const' with gcc. You must now compile
|
|
|
11260 |
with gcc 2.7.2.1 or newer, or patch the makefile. (ugcclib.mak,
|
|
|
11261 |
unix-gcc.mak)
|
|
|
11262 |
|
|
|
11263 |
Removes -DPNG_USE_CONST from the command line for compiling libpng, since
|
|
|
11264 |
this has never actually worked, and is handled in a different way starting
|
|
|
11265 |
with libpng 0.97. (gs.mak)
|
|
|
11266 |
|
|
|
11267 |
Adds a -dSTRICT switch that disables some Ghostscript extensions, to be more
|
|
|
11268 |
helpful in debugging applications that produce output for Adobe and other
|
|
|
11269 |
RIPs. (gs_init.ps, gs_statd.ps)
|
|
|
11270 |
|
|
|
11271 |
</pre><h3><a name="V5.21_Drivers"></a>Drivers</h3><pre>
|
|
|
11272 |
|
|
|
11273 |
Fixes bugs:
|
|
|
11274 |
- Many occurrences of 'const' were missing or incorrect.
|
|
|
11275 |
(gdevpdfd.c, gdevpdfi.c, gdevpdfo.c, gdevpdft.c)
|
|
|
11276 |
- pdfmark processing was broken by changes introduced in 5.20.
|
|
|
11277 |
(gs_pdfwr.ps)
|
|
|
11278 |
- pdfwrite didn't convert /Color => /C or /Title => /T in ANN and
|
|
|
11279 |
LNK pdfmarks. (gdevpdfm.c)
|
|
|
11280 |
- pdfwrite didn't convert /Dest => /D or /File => /F in the Action
|
|
|
11281 |
dictionary of ANN and LNK pdfmarks. (gdevpdfm.c)
|
|
|
11282 |
- pdfwrite didn't convert a /Launch annotation to an Action with a
|
|
|
11283 |
dictionary. (gdevpdfm.c)
|
|
|
11284 |
- pdfwrite didn't convert \n in annotation Contents strings to \r.
|
|
|
11285 |
(gdevpdfm.c)
|
|
|
11286 |
- jstrm.state was used before being set. (gdevjpeg.c)
|
|
|
11287 |
- The SVGA devices were not identified as page devices.
|
|
|
11288 |
(gdevsvga.c)
|
|
|
11289 |
- The SPARCPrinter driver returned the address of a local buffer
|
|
|
11290 |
containing an error string. (gdevsppr.c)
|
|
|
11291 |
- pdfwrite no longer compressed character bitmaps. (bug introduced
|
|
|
11292 |
in 5.20) (gdevpdfi.c)
|
|
|
11293 |
- pdfwrite didn't recognize _objdef syntax everywhere. (gdevpdfx.h,
|
|
|
11294 |
gdevpdfm.c, gdevpdfo.c)
|
|
|
11295 |
- pdfwrite didn't recognize and convert Launch and GoToR OUT
|
|
|
11296 |
pdfmarks. (gdevpdfm.c)
|
|
|
11297 |
- pdfwrite used a /Dest key rather than a /P key for the page number
|
|
|
11298 |
in articles. (gdevpdfx.h, gdevpdfm.c)
|
|
|
11299 |
- pdfwrite didn't save and write the /I dictionary for articles.
|
|
|
11300 |
(gdevpdfx.h, gsstruct.h, gdevpdf.c, gdevpdfm.c)
|
|
|
11301 |
|
|
|
11302 |
Implements a parameter list "reader" that prints the parameter values on a
|
|
|
11303 |
stream in PS/PDF syntax. (We need something like this for printing filter
|
|
|
11304 |
parameters.) (gdevpsdf.h, gdevpdf.c, gdevpsdf.c)
|
|
|
11305 |
|
|
|
11306 |
Implements a write stream that just keeps track of the position. We use
|
|
|
11307 |
this to determine how much space to allocate for data we're going to save.
|
|
|
11308 |
(gdevpsdf.h, gdevpsdf.c)
|
|
|
11309 |
|
|
|
11310 |
Implements image downsampling, but not anti-aliasing, for the PDF writer.
|
|
|
11311 |
(gdevpsdf.h, gdevpsds.h, gdevpsdi.c, gdevpsds.c)
|
|
|
11312 |
|
|
|
11313 |
</pre><h3><a name="V5.21_Fonts"></a>Fonts</h3><pre>
|
|
|
11314 |
|
|
|
11315 |
Adds Frutiger to the built-in list of sans-serif fonts. (gs_fonts.ps)
|
|
|
11316 |
|
|
|
11317 |
</pre><h3><a name="V5.21_Interpreter"></a>Interpreter</h3><pre>
|
|
|
11318 |
|
|
|
11319 |
Fixes bugs:
|
|
|
11320 |
- Many occurrences of 'const' were missing. (gsargs.c, ialloc.c,
|
|
|
11321 |
zdpnext.c, zfunc3.c, zshade.c)
|
|
|
11322 |
- Some byte * => char * casts were missing. (imainarg.c)
|
|
|
11323 |
- The stack limit check in .eqproc was wrong. (zmisc3.c)
|
|
|
11324 |
- The paper sizes a4small and lettersmall weren't implemented.
|
|
|
11325 |
(gs_statd.ps)
|
|
|
11326 |
- setuserparams signalled errors on 64-bit systems. (zusparam.c)
|
|
|
11327 |
|
|
|
11328 |
Changes .image2 to track the change in the library. (zdps.c)
|
|
|
11329 |
|
|
|
11330 |
Some improvements were made to the (still not entirely functional) Type 32
|
|
|
11331 |
font code. (zchar32.c)
|
|
|
11332 |
|
|
|
11333 |
Updates some filters to use the new procedure for transmitting collections
|
|
|
11334 |
of parameters. (zfdecode.c)
|
|
|
11335 |
|
|
|
11336 |
Adds ISO paper sizes C0 through C6. (gs_statd.ps)
|
|
|
11337 |
|
|
|
11338 |
Trims down the list of #includes in iconf.c. (iconf.c)
|
|
|
11339 |
|
|
|
11340 |
</pre><h3><a name="V5.21_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
11341 |
|
|
|
11342 |
Fixes bugs:
|
|
|
11343 |
- CalGray color spaces with a Gamma value caused an error.
|
|
|
11344 |
(gs_pdf.ps)
|
|
|
11345 |
|
|
|
11346 |
</pre><h3><a name="V5.21_Library"></a>Library</h3><pre>
|
|
|
11347 |
|
|
|
11348 |
Fixes bugs:
|
|
|
11349 |
- There was a 'const' conflict in the code for handling ImageType 2
|
|
|
11350 |
images. Fixing this properly required a small change in the ImageType 2
|
|
|
11351 |
structure. (gsiparm2.h, gximage2.c)
|
|
|
11352 |
- Many occurrences of 'const' were missing. (gsfunc3.h, gstrap.h,
|
|
|
11353 |
gxgetbit.h, gdevdgbr.c, gstrap.c, gxclist.c, gxclread.c)
|
|
|
11354 |
- A couple of enumerations had trailing commas. (gsshade.h,
|
|
|
11355 |
gxbitfmt.h)
|
|
|
11356 |
- The gcst parameter was omitted in the non-ANSI version of the
|
|
|
11357 |
ENUM_PTRS_BEGIN_PROC macro. (gsstruct.h)
|
|
|
11358 |
- gcc missed a private / non-private discrepancy. (gxpcmap.c)
|
|
|
11359 |
- An uninitialized variable was used by mistake
|
|
|
11360 |
(copy_params.options). (gdevdgbr.c)
|
|
|
11361 |
- The last statement of a procedure was unreachable. (gxclpath.c)
|
|
|
11362 |
- If a Type 2 font was transformed so that hints were not being
|
|
|
11363 |
used, hintmask and cntrmask didn't compute the number of following bytes
|
|
|
11364 |
correctly. (gxtype1.h, gstype2.c, gxtype1.c)
|
|
|
11365 |
|
|
|
11366 |
Factors out some common code in gxclip2.c into macros. (gxclip2.c)
|
|
|
11367 |
|
|
|
11368 |
Starts to reimplement RasterOp using the compositing framework. (gsropc.h,
|
|
|
11369 |
gxropc.h, gsropc.c) ****** IN PROGRESS ******
|
|
|
11370 |
|
|
|
11371 |
Adds an equality-testing procedure for device colors. This is used both for
|
|
|
11372 |
color images (which previously did this adhoc) and for RasterOp compositing.
|
|
|
11373 |
(gxdcolor.h, gximage.h, gxcht.c, gxdcolor.c, gxht.c, gspcolor.c)
|
|
|
11374 |
|
|
|
11375 |
Implements hintmask (but not cntrmask) for Type 2 CharString fonts. I don't
|
|
|
11376 |
know any reasonable way to test whether it's working, though. (gxtype1.h,
|
|
|
11377 |
gstype2.c, gxhint2.c, gxhint3.c, gxtype1.c)
|
|
|
11378 |
|
|
|
11379 |
Adds a more convenient interface for reading and setting sets of parameters.
|
|
|
11380 |
(gsparam.h, gsparam.c)
|
|
|
11381 |
|
|
|
11382 |
Pulls the decision as to whether to halftone for a given device out into a
|
|
|
11383 |
macro. Eventually we will do something more sophisticated about this.
|
|
|
11384 |
(gxdevice.h, gxclist.c, gxcmap.c)
|
|
|
11385 |
|
|
|
11386 |
Breaks apart a macro in anticipation of future usage. (gsrefct.h)
|
|
|
11387 |
|
|
|
11388 |
</pre>
|
|
|
11389 |
|
|
|
11390 |
<hr>
|
|
|
11391 |
|
|
|
11392 |
<h2><a name="Version5.20"></a>Version 5.20 (limited) (1/8/98)</h2>
|
|
|
11393 |
|
|
|
11394 |
<p>
|
|
|
11395 |
This fileset provides enough of the Display PostScript capabilities to start
|
|
|
11396 |
running real programs. It also adds the first few LanguageLevel 3 features
|
|
|
11397 |
(none of which have been tested) and reorganizes the makefile structure
|
|
|
11398 |
somewhat. There are many internal changes since 5.10, some of them still in
|
|
|
11399 |
progress, so we expect more problems than usual.
|
|
|
11400 |
|
|
|
11401 |
<p>
|
|
|
11402 |
This fileset is being provided for testing in two different configurations:
|
|
|
11403 |
a full release, and a DPS-only package. The latter will be released with
|
|
|
11404 |
the GPL when it is reasonably complete and reliable.
|
|
|
11405 |
|
|
|
11406 |
<h3><a name="V5.20_Documentation"></a>Documentation</h3><pre>
|
|
|
11407 |
|
|
|
11408 |
Fixes bugs:
|
|
|
11409 |
- TrueType fonts on GS_FONTPATH weren't recognized. (use.txt)
|
|
|
11410 |
- The argument list for gstate was incorrect. (zdevice2.c)
|
|
|
11411 |
- There were a couple of minor errors in the e-stack documentation.
|
|
|
11412 |
(estack.h)
|
|
|
11413 |
- fonts.txt had several errors regarding compiled fonts.
|
|
|
11414 |
(fonts.txt)
|
|
|
11415 |
- An out-of-date Aladdin address still appeared in documentation.
|
|
|
11416 |
(new-user.txt)
|
|
|
11417 |
|
|
|
11418 |
Updates make.txt to reflect the changes in makefile structure. (make.txt)
|
|
|
11419 |
|
|
|
11420 |
Notes the addition of -Z' and -Z". (use.txt)
|
|
|
11421 |
|
|
|
11422 |
Documents the new begin_typed_image, get_bits_rectangle,
|
|
|
11423 |
map_color_rgb_alpha, and create_compositor driver procedures. (drivers.txt)
|
|
|
11424 |
|
|
|
11425 |
Moves documentation for all releases before 5.0 to history4.txt. (NEWS,
|
|
|
11426 |
history4.txt)
|
|
|
11427 |
|
|
|
11428 |
Documents the addition of SHARE_JPEGLIB. (make.txt)
|
|
|
11429 |
|
|
|
11430 |
Removes the author's name and e-mail address from the ps2ascii man page, at
|
|
|
11431 |
his request. (ps2ascii.1)
|
|
|
11432 |
|
|
|
11433 |
Documents the addition of (some) image compression facilities to ps2pdf /
|
|
|
11434 |
pdfwrite. (ps2pdf.txt)
|
|
|
11435 |
|
|
|
11436 |
Documents the new -dNOINTERPOLATE and -F<n> switches. (use.txt)
|
|
|
11437 |
|
|
|
11438 |
Adds documentation for a user-contributed port to the SMS/QDOS operating
|
|
|
11439 |
system. (new-user.txt)
|
|
|
11440 |
|
|
|
11441 |
Removes documentation for BGI, which is no longer supported. (use.txt)
|
|
|
11442 |
|
|
|
11443 |
Documents the use of the Registry and the GS_DLL environment variable on
|
|
|
11444 |
Windows platforms. (install.txt)
|
|
|
11445 |
|
|
|
11446 |
</pre><h3><a name="V5.20_Procedures"></a>Procedures</h3><pre>
|
|
|
11447 |
|
|
|
11448 |
Fixes bugs:
|
|
|
11449 |
- The OpenVMS makefile referred to EXTEND_NAME rather than
|
|
|
11450 |
EXTEND_NAMES. (openvms.mak)
|
|
|
11451 |
- A typo caused a spurious error message from lpr. (unix-lpr.sh)
|
|
|
11452 |
- The PDF writer didn't include a needed dependency on zlib
|
|
|
11453 |
compression. (devs.mak)
|
|
|
11454 |
- The rule for the OS/2 printer device was wrong. (devs.mak)
|
|
|
11455 |
- The -migrate switch was incorrectly removed from the command line
|
|
|
11456 |
for pre-4.0 Digital Unix. (make.txt)
|
|
|
11457 |
- The -r switch was ignored with -dNODISPLAY. (gs_init.ps)
|
|
|
11458 |
|
|
|
11459 |
Adds targets for Type 32 fonts (type32.dev) and PostScript LanguageLevel 3
|
|
|
11460 |
(psl3.dev, psl3core.dev, psl3read.dev). (gs.mak, int.mak, lib.mak)
|
|
|
11461 |
|
|
|
11462 |
Changes the documented feature names for PostScript Level 1 and 2
|
|
|
11463 |
interpreters from level1/2 to psl1/2. The old names are still recognized
|
|
|
11464 |
for backward compatibility. (gs.mak, int.mak, *.mak)
|
|
|
11465 |
|
|
|
11466 |
Removes support for building with DCL under VMS. Building under VMS now
|
|
|
11467 |
requires some version of make, preferably GNU make. THIS IS A
|
|
|
11468 |
NON-BACKWARD-COMPATIBLE CHANGE, but there was plenty of lead time for users
|
|
|
11469 |
(it was announced in 5.01, 6/22/97). (vms*.mak[deleted])
|
|
|
11470 |
|
|
|
11471 |
Starts to add an explicit directory name to every file in the makefiles, to
|
|
|
11472 |
allow building multiple object versions (e.g., debug, profile, product) or
|
|
|
11473 |
cross-building for multiple platforms in separate directories without any
|
|
|
11474 |
makefile editing. (*.mak) Done so far:
|
|
|
11475 |
(done) _h= devs.mak gs.mak int.mak jpeg.mak lib.mak
|
|
|
11476 |
(done) .h devs.mak gs.mak int.mak lib.mak zlib.mak
|
|
|
11477 |
openvms.mak os2.mak ugcclib.mak unix-end.mak
|
|
|
11478 |
unixtail.mak wctail.mak winint.mak winlib.mak
|
|
|
11479 |
.$(OBJ): devs.mak int.mak (except ccfonts)
|
|
|
11480 |
lib.mak (except special compilations)
|
|
|
11481 |
libpng.mak zlib.mak
|
|
|
11482 |
.dev: libpng.mak zlib.mak
|
|
|
11483 |
|
|
|
11484 |
Gets rid of tar_cat. Building on Unix platforms now requires that make
|
|
|
11485 |
recognize the include directive. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE:
|
|
|
11486 |
rather than editing the *head.mak files, users should now edit the unix*.mak
|
|
|
11487 |
or dvx*.mak files (which they previously were instructed NOT to do). Aside
|
|
|
11488 |
from this, we think the change won't actually affect anyone, since most Unix
|
|
|
11489 |
make programs (include GNU make) do recognize this directive. (*.mak,
|
|
|
11490 |
ansihead.mak[deleted], cc-head.mak[deleted], gcc-head.mak[deleted],
|
|
|
11491 |
dgc-head.mak[deleted], tar_*cat[deleted], dvx-gcc.mak, unixansi.mak,
|
|
|
11492 |
unix-cc.mak, unix-gcc.mak)
|
|
|
11493 |
|
|
|
11494 |
Includes the basic context machinery in every PostScript interpreter
|
|
|
11495 |
configuration. (int.mak)
|
|
|
11496 |
|
|
|
11497 |
Removes the division between 'low-level' and 'high-level' band list
|
|
|
11498 |
facilities: we once thought we might make the latter optional, but this no
|
|
|
11499 |
longer seems useful. (lib.mak)
|
|
|
11500 |
|
|
|
11501 |
Introduces a new category of devices, identified to genconf as -dev2 and
|
|
|
11502 |
created with SETDEV2 and SETPDEV2. For the moment, these are the same as
|
|
|
11503 |
existing devices except that their static instance is const, but we plan to
|
|
|
11504 |
make them quite different in the future: don't attempt to create any.
|
|
|
11505 |
(devs.mak, gs.mak, genconf.c, gconf.c)
|
|
|
11506 |
|
|
|
11507 |
Removes the obsolete -includef resource from genconf. (genconf.c)
|
|
|
11508 |
|
|
|
11509 |
Removes support for IJG JPEG library v5* from the makefile, since we no
|
|
|
11510 |
longer support these library versions. (jpeg.mak, lib.mak,
|
|
|
11511 |
gsjerror.h[deleted], gsjpglib.h[deleted], gsjerror.c[deleted])
|
|
|
11512 |
|
|
|
11513 |
Makes the JPEG library use floating point if it is fast. (gsjmorec.h)
|
|
|
11514 |
|
|
|
11515 |
Adds a SHARE_JPEG option to the makefiles, with the necessary warning about
|
|
|
11516 |
possible incompatibilities. (*.mak)
|
|
|
11517 |
|
|
|
11518 |
Replaces the CCC macro in the makefiles with CC_, the various CC* macros
|
|
|
11519 |
with CC_* (except for CCA2K and CCAUX), and the O macro with O_; removes the
|
|
|
11520 |
'begin' target and the CCBEGIN macro. THIS IS A NON-BACKWARD-COMPATIBLE
|
|
|
11521 |
CHANGE, required for the new arrangement of files into directories. (*.mak)
|
|
|
11522 |
|
|
|
11523 |
Replaces all occurrences of -Idir1 -Idir2 ... -Idirn in platform-generic
|
|
|
11524 |
makefiles with $(I_)dir1 $(II)dir2 ... $(_I)dirn, and defines these macros
|
|
|
11525 |
in platform-specific makefiles, in order to accommodate OpenVMS command
|
|
|
11526 |
syntax. (*.mak)
|
|
|
11527 |
|
|
|
11528 |
Adds -fno-common to the default gcc compilation and linking switches, to
|
|
|
11529 |
improve checking for doubly-defined externs. (unix-gcc.mak)
|
|
|
11530 |
|
|
|
11531 |
Adds a -dNOINTERPOLATE switch to turn off image interpolation. (gs_init.ps)
|
|
|
11532 |
|
|
|
11533 |
Adds a -F<file> switch that runs files through the run_string interface with
|
|
|
11534 |
an 1-byte buffer. (imainarg.c)
|
|
|
11535 |
|
|
|
11536 |
Allows specifying the name of the gconfig.h file with -DGCONFIG_H= in the
|
|
|
11537 |
compilation command line, to support certain multi-configuration build
|
|
|
11538 |
procedures. (int.mak, lib.mak, gconf.h, gconf.c, gscdef.c, iconf.c)
|
|
|
11539 |
|
|
|
11540 |
Splits off the installation targets from unix-end.mak. (unix-end.mak,
|
|
|
11541 |
unixinst.mak, unix*.mak, ugcclib.mak)
|
|
|
11542 |
|
|
|
11543 |
</pre><h3><a name="V5.20_Utilities"></a>Utilities</h3><pre>
|
|
|
11544 |
|
|
|
11545 |
Fixes bugs:
|
|
|
11546 |
- A case label was misplaced. (No effect on normal operation.)
|
|
|
11547 |
(genconf.c)
|
|
|
11548 |
- ps2ascii had some Encoding-related problems, and a serious bug
|
|
|
11549 |
causing the stack to grow indefinitely. (ps2ascii.ps)
|
|
|
11550 |
|
|
|
11551 |
Adds a new font2pcl.ps utility, for converting outline fonts to bitmapped
|
|
|
11552 |
PCL fonts. (font2pcl.ps)
|
|
|
11553 |
|
|
|
11554 |
At the request of a user, modifies ansi2knr to read stdin if no input file
|
|
|
11555 |
is supplied, and to accept an optional --filename switch to set the file
|
|
|
11556 |
name in the #line directive. Also makes ansi2knr write the usage message on
|
|
|
11557 |
stderr rather than stdout. (ansi2knr.c)
|
|
|
11558 |
|
|
|
11559 |
Adds a user-contributed Perl script that fixes compatibility problems
|
|
|
11560 |
between MS Word output and Ghostview 1.5. (fixmswrd.pl)
|
|
|
11561 |
|
|
|
11562 |
Adds a new test file that produces some pretty color output. (vasarely.ps,
|
|
|
11563 |
unix-end.mak)
|
|
|
11564 |
|
|
|
11565 |
Adds a user-contributed utility for producing AFM files from PFA/PFB and
|
|
|
11566 |
optionally PFM files. (pf2afm.bat, pf2afm.ps)
|
|
|
11567 |
|
|
|
11568 |
</pre><h3><a name="V5.20_Drivers"></a>Drivers</h3><pre>
|
|
|
11569 |
|
|
|
11570 |
Fixes bugs:
|
|
|
11571 |
- Some 'static' declarations were missing (gcc lossage). (gdevht.c,
|
|
|
11572 |
gdevmgr.c, gdevpcfb.c, gdevrrgb.c)
|
|
|
11573 |
- Some 'char *' should have been 'unsigned char *'. (gdevccr.c)
|
|
|
11574 |
- The PDF writer represented non-rectangular clipping paths in a way
|
|
|
11575 |
that could cause Acrobat to produce incorrect output. (The fix relies on
|
|
|
11576 |
the new clipping path enumeration facility.) (gdevpdfd.c)
|
|
|
11577 |
- get_params for the X device didn't read the WINDOWID and
|
|
|
11578 |
.IsPageDevice parameters. (gdevx.c)
|
|
|
11579 |
- A superseded driver was still in the distribution.
|
|
|
11580 |
(gdevnp6.c[deleted])
|
|
|
11581 |
- The PDF writer's default parameters didn't quite match the default
|
|
|
11582 |
parameters of Adobe Acrobat(TM). (gdevpsdf.h)
|
|
|
11583 |
- A cast from const byte * to const char * was omitted.
|
|
|
11584 |
(gdevpdft.c)
|
|
|
11585 |
- x_map_color_rgb returned incorrect values for values in the dither
|
|
|
11586 |
cube/ramp. (gdevx.c)
|
|
|
11587 |
|
|
|
11588 |
Adds user-contributed drivers for:
|
|
|
11589 |
- the Brother HL 720/730 laser printer (gdevhl7x.c);
|
|
|
11590 |
- the Cirrus Logic CL-GD54xx SuperVGA chipset (in gdevsvga.c).
|
|
|
11591 |
|
|
|
11592 |
Adds stubs or dummy implementations for the new Acrobat Distiller 3.0
|
|
|
11593 |
pdfmark features (BP/EP/SP, _objdef/OBJ, PUT/PUTINTERVAL/CLOSE). Features
|
|
|
11594 |
not yet implemented:
|
|
|
11595 |
- Predefining Catalog and DocInfo.
|
|
|
11596 |
- Writing out added Catalog and Info keys.
|
|
|
11597 |
- Special handling for Page#, Prev/This/NextPage.
|
|
|
11598 |
- Writing out added keys in Page objects.
|
|
|
11599 |
- Defining objects for ANN, DEST, LNK, PS.
|
|
|
11600 |
- Writing out added keys for ANN, BP, DEST, LNK, PS.
|
|
|
11601 |
- Adding information to streams (PUT, CLOSE).
|
|
|
11602 |
- Writing out streams.
|
|
|
11603 |
(gs_pdfwr.ps, gdevpdfx.h, gdevpdf.c, gdevpdfi.c, gdevpdfm.c, gdevpdfo.c)
|
|
|
11604 |
|
|
|
11605 |
Removes the DoThumbnails distiller parameter, which Acrobat Distiller 3.0 no
|
|
|
11606 |
longer supports. (gs_pdfwr.ps, gdevpdfx.h, gdevpdf.c, gdevpdfp.c)
|
|
|
11607 |
|
|
|
11608 |
Starts to eliminate or segregate writable globals that point to
|
|
|
11609 |
heap-allocated data, as in the interpreter (see below); specifically, makes
|
|
|
11610 |
all device and xfont procedure structures const in devices that Aladdin
|
|
|
11611 |
maintains. Note that this involves a NON-BACKWARD-COMPATIBLE CHANGE in the
|
|
|
11612 |
get_xfont_procs device procedure (to add const to the return type); this
|
|
|
11613 |
only affects the 3 implementations of xfonts. (gdevprn.h, gdevdjet.c,
|
|
|
11614 |
gdevm1.c, gdevpccm.c, gdevpdf.c, gdevpdfm.c, gdevpdft.c, gdevps.c,
|
|
|
11615 |
gdevpsdf.c, gdevpx.c; gxdevice.h, gxxfont.h, gdevbgi.c, gdevbit.c,
|
|
|
11616 |
gdevbmp.c, gdevdflt.c, gdevdjet.c, gdevlj56.c, gdevmiff.c, gdevmsxf.c,
|
|
|
11617 |
gdevnfwd.c, gdevpbm.c, gdevpcfb.c, gdevpdf.c, gdevpng.c, gdevprn.c,
|
|
|
11618 |
gdevps.c, gdevpx.c, gdevs3ga.c, gdevsvga.c, gdevtfax.c, gdevtfnx.c,
|
|
|
11619 |
gdevvglb.c, gdevwddb.c, gdevwdib.c, gdevwpr2.c, gdevwprn.c, gdevx.c,
|
|
|
11620 |
gdevxalt.c, gdevxxf.c, gxccman.c)
|
|
|
11621 |
|
|
|
11622 |
Makes the statically allocated device templates const in some devices, using
|
|
|
11623 |
the new -dev2 device resource type. NOTE: the meaning of -dev2 is subject
|
|
|
11624 |
to change without notice in future releases. (gdevdjet.c, gdevpdf.c,
|
|
|
11625 |
gdevps.c, gdevpx.c, gdevvglb.c)
|
|
|
11626 |
|
|
|
11627 |
Adds a new begin_typed_image driver procedure which is called for all types
|
|
|
11628 |
of images, not just ImageType 1. The default implementation calls
|
|
|
11629 |
begin_image if the ImageType is 1. (gdevmem.h, gdevprn.h, gsiparam.h,
|
|
|
11630 |
gxdevice.h, gdevbbox.c, gdevdflt.c, gdevht.c, gdevmrop.c, gdevnfwd.c,
|
|
|
11631 |
gxacpath.c, gxclimag.c, gxclip2.c, gxclist.c, gxcpath.c, gxpcmap.c)
|
|
|
11632 |
|
|
|
11633 |
Adds a new get_bits_rectangle driver procedure which allows reading back an
|
|
|
11634 |
arbitrary rectangle of bits from the device, not just a single full scan
|
|
|
11635 |
line. The default implementation calls get_bits, being careful to avoid a
|
|
|
11636 |
recursion loop; the default implementation of get_bits calls
|
|
|
11637 |
get_bits_rectangle similarly. This procedure has a lot of flexibility,
|
|
|
11638 |
almost all of which is ultimately provided by the implementation in memory
|
|
|
11639 |
devices. (gdevmem.h, gsbitops.h, gxcindex.h, gxdevice.h, gdevbbox.c,
|
|
|
11640 |
gdevdflt.c, gdevdgbr.c, gdevht.c, gdevm*.c, gdevmem.c, gdevmpla.c,
|
|
|
11641 |
gdevnfwd.c, gxbitfmt.h, gxclip2.c, gxclist.c, gxclread.c, gxcpath.c,
|
|
|
11642 |
gxgetbit.h)
|
|
|
11643 |
|
|
|
11644 |
Removes support for the BGI (Borland Graphics Interface) device, since we no
|
|
|
11645 |
longer support the Borland compilers for MS-DOS. (devs.mak, dvx-head.mak,
|
|
|
11646 |
openvms.mak, unixhead.mak, gdevbgi.c[deleted])
|
|
|
11647 |
|
|
|
11648 |
Speeds up x_map_color_rgb by avoiding server access in most cases.
|
|
|
11649 |
(gdevx.h, gdevx.c, gdevxini.c)
|
|
|
11650 |
|
|
|
11651 |
Implements get_bits_rectangle in the X driver in place of get_bits.
|
|
|
11652 |
(gdevx.c, gdevxalt.c)
|
|
|
11653 |
|
|
|
11654 |
Implements begin_typed_image for ImageType 2 images in the X driver, as an
|
|
|
11655 |
example of how a driver can implement this function itself. (gdevx.c)
|
|
|
11656 |
|
|
|
11657 |
Adds a call on the DCTEncode set_defaults procedure, which is now required
|
|
|
11658 |
(see under Streams below). (gdevjpeg.c)
|
|
|
11659 |
|
|
|
11660 |
Implements a substantial part of the Distiller image compression machinery.
|
|
|
11661 |
See ps2pdf.txt for details. (gdevpdfx.h, gdevpsdf.h, gdevpdf.c, gdevpdfi.c,
|
|
|
11662 |
gdevps.c, gdevpsdf.c, gdevpsdi.c, gdevpsdp.c, gdevpsds.c)
|
|
|
11663 |
|
|
|
11664 |
Adds a map_color_rgb_alpha driver procedure, complementing
|
|
|
11665 |
map_rgb_alpha_color. (gdevmem.h, gdevprn.h, gxdevice.h,
|
|
|
11666 |
gdevbbox.c, gdevdflt.c, gdevht.c, gdevmrop.c, gdevnfwd.c, gdevprn.c,
|
|
|
11667 |
gxclip2.c, gxclist.c, gxcmap.c, gxcpath.c)
|
|
|
11668 |
|
|
|
11669 |
Splits off gxdevcli.h (client definitions) from gxdevice.h, which had gotten
|
|
|
11670 |
very large. This doesn't do much good yet in terms of reducing dependencies
|
|
|
11671 |
and compilation time, because every client still includes gxdevice.h, but
|
|
|
11672 |
it's the raw material for doing so in the future. (gxdevcli.h, gxdevice.h)
|
|
|
11673 |
|
|
|
11674 |
Adds alpha tracking to the command list. (gxclpath.h, gxclimag.c,
|
|
|
11675 |
gxclpath.c, gxclread.c)
|
|
|
11676 |
|
|
|
11677 |
Changes the 'show' pseudo-parameter for the PDF writer so that it takes
|
|
|
11678 |
multiple additional parameters instead of a dictionary. This greatly
|
|
|
11679 |
reduces garbage collection overhead. (gs_pdfwr.ps, gdevpdfx.h, gdevpdfp.c,
|
|
|
11680 |
gdevpdft.c)
|
|
|
11681 |
|
|
|
11682 |
Adds a create_compositor driver call for handling compositing. (gdevbbox.h,
|
|
|
11683 |
gdevmem.h, gdevprn.h, gsdevice.h, gxdevcli.h, gxdevice.h, gdevbbox.c,
|
|
|
11684 |
gdevdflt.c, gdevht.c, gdevnfwd.c, gsdevice.c, gxclimag.c, gxclip2.c,
|
|
|
11685 |
gxclist.c, gxcpath.c, gxpcmap.c)
|
|
|
11686 |
|
|
|
11687 |
Updates drivers to account for the more careful handling of file name
|
|
|
11688 |
length. (gdevpdfx.h, gdevwprn.c)
|
|
|
11689 |
|
|
|
11690 |
Adds a user-contributed enhancement to make the Epson dot matrix driver work
|
|
|
11691 |
at 180x60dpi and 240x180dpi for 24 pin printers. (gdevepsn.c)
|
|
|
11692 |
|
|
|
11693 |
</pre><h3><a name="V5.20_Platforms"></a>Platforms</h3><pre>
|
|
|
11694 |
|
|
|
11695 |
Fixes bugs:
|
|
|
11696 |
- The Windows platform didn't put stdin into binary mode.
|
|
|
11697 |
(dwmainc.cpp)
|
|
|
11698 |
|
|
|
11699 |
Removes all remaining uses of gs_malloc and gs_free in platform-specific
|
|
|
11700 |
code. (gp_dosfb.c, gp_vms.c)
|
|
|
11701 |
|
|
|
11702 |
Adds a platform-specific gp_getenv call, to allow the Windows implementation
|
|
|
11703 |
to consult the Registry. (gp.h, gpgetenv.h, gp_getnv.c, gp_wgetv.c, *.mak,
|
|
|
11704 |
gp_win32.c)
|
|
|
11705 |
|
|
|
11706 |
Separates out the declaration of popen and pclose, which may be declared
|
|
|
11707 |
correctly in stdio.h, incorrectly in stdio.h, or not at all, depending on
|
|
|
11708 |
the platform. (lib.mak, unixtail.mak, pipe_.h, gdevpipe.c, gp_os2.c,
|
|
|
11709 |
gp_os9.c, gp_unix.c)
|
|
|
11710 |
|
|
|
11711 |
Tweaks the platform-workaround header file conditionals a little more.
|
|
|
11712 |
(malloc_.h, memory_.h).
|
|
|
11713 |
|
|
|
11714 |
Makes the Windows DLL check the GS_DLL environment/registry variable for the
|
|
|
11715 |
location of the DLL. (dwdll.cpp)
|
|
|
11716 |
|
|
|
11717 |
Defines the maximum length for the file name returned by
|
|
|
11718 |
gp_open_scratch_file, and possibly by gp_open_printer. (gp.h, gp_*.c)
|
|
|
11719 |
|
|
|
11720 |
</pre><h3><a name="V5.20_Fonts"></a>Fonts</h3><pre>
|
|
|
11721 |
|
|
|
11722 |
Fixes bugs:
|
|
|
11723 |
- A 'flush' was missing from a debugging message. (gs_fonts.ps)
|
|
|
11724 |
- Type 2 fonts didn't always have a PaintType entry. (gs_cff.ps)
|
|
|
11725 |
- CIDFontType 0 fonts were broken, probably because of a recently
|
|
|
11726 |
added validity test in the C code. (gs_cidfn.ps)
|
|
|
11727 |
- Font types without an Encoding caused an error (in .completefont).
|
|
|
11728 |
(gs_fonts.ps)
|
|
|
11729 |
- composefont required the elements of the font array to be actual
|
|
|
11730 |
fonts, rather than allowing font names. (gs_cidfn.ps)
|
|
|
11731 |
- composefont required that all elements of the font array have
|
|
|
11732 |
CIDSystemInfo dictionaries. (Adobe has said that their interpreters don't
|
|
|
11733 |
check for this in some cases, but it's a bug. Unfortunately, by now it's an
|
|
|
11734 |
established one.) (zfcmap.c)
|
|
|
11735 |
|
|
|
11736 |
Adds .dir to the list of file suffixes known not to be fonts. (gs_fonts.ps)
|
|
|
11737 |
|
|
|
11738 |
</pre><h3><a name="V5.20_Interpreter"></a>Interpreter</h3><pre>
|
|
|
11739 |
|
|
|
11740 |
Fixes bugs:
|
|
|
11741 |
- A Type 2 font that provided fewer CharStrings than charset
|
|
|
11742 |
elements caused an error. (gs_cff.ps)
|
|
|
11743 |
- If a context was joined before it terminated, its stack was never
|
|
|
11744 |
copied to the joining context. (zcontext.c)
|
|
|
11745 |
- Freeing a context didn't free most of its substructures.
|
|
|
11746 |
(icontext.h, istack.h, icontext.c, interp.c, istack.c, zcontext.c)
|
|
|
11747 |
- save and restore didn't save and restore the user parameters.
|
|
|
11748 |
(gs_lev2.ps, zvmem2.c)
|
|
|
11749 |
- %stdin and %stdout weren't defined per-context. (files.h,
|
|
|
11750 |
icontext.h, icontext.c, ziodev.c)
|
|
|
11751 |
- Switching contexts didn't clean up the stacks. (The current way
|
|
|
11752 |
we do this is very inefficient: we should use a special null for filling the
|
|
|
11753 |
untouched area, so we can use it to detect the high water mark.)
|
|
|
11754 |
(icontext.c)
|
|
|
11755 |
- A cast from const to non-const was missing. (zdpnext.c)
|
|
|
11756 |
- User parameters weren't managed per-context. (The current way we
|
|
|
11757 |
do this is inefficient.) (gs_dps.ps, gs_init.ps, gs_lev2.ps, isave.h,
|
|
|
11758 |
icontext.c, iinit.c, isave.c, zcontext.c, zusparam.c)
|
|
|
11759 |
- Some operand checks weren't wrapped in do { ... } while(0),
|
|
|
11760 |
possibly leading to incorrect parsing of 'if's. (opcheck.h)
|
|
|
11761 |
- If a context terminated with unmatched saves, the restores weren't
|
|
|
11762 |
executed. (isave.h, isave.c, zcontext.c)
|
|
|
11763 |
- If two or more contexts shared the same global VM, the outermost
|
|
|
11764 |
restore (which in this case saves only local VM) checked for invalidrestore
|
|
|
11765 |
incorrectly. (isave.c)
|
|
|
11766 |
- resourceforall didn't remove its own temporary values from the
|
|
|
11767 |
operand stack when calling the procedure. (gs_res.ps)
|
|
|
11768 |
- resourceforall returned local instances even when currentglobal
|
|
|
11769 |
was true. (gs_res.ps)
|
|
|
11770 |
- If a context had unmatched saves, other contexts sharing the same
|
|
|
11771 |
local VM weren't blocked from running. (zcontext.c)
|
|
|
11772 |
- The NeXT compositing operations (Copy, etc.) weren't defined in
|
|
|
11773 |
systemdict. (gs_dpnxt.ps)
|
|
|
11774 |
- In the case of a stack overflow, some garbage could get left on
|
|
|
11775 |
the stack. (istack.c)
|
|
|
11776 |
- Stack overflow was reported prematurely -- typically when the
|
|
|
11777 |
stack depth had reached half the specified limit. (istack.c)
|
|
|
11778 |
- Freed ref arrays weren't filled with nulls, which could confuse
|
|
|
11779 |
the garbage collector later. (ialloc.c)
|
|
|
11780 |
- Certain stack overflow conditions could put a stack into an
|
|
|
11781 |
anomalous state that confused the garbage collector. (istack.c)
|
|
|
11782 |
- The maximum stack size could not be set to a value smaller than
|
|
|
11783 |
the current allocated space, but the minimum value should be the number of
|
|
|
11784 |
entries actually in use. (istack.c)
|
|
|
11785 |
- If .buildfont* had to add any elements to the font dictionary, a
|
|
|
11786 |
temporary pointer to the Encoding, FDepVector, or sfnts could become
|
|
|
11787 |
invalid, causing crashes or confusion. (zfont0.c, zfont2.c, zfont42.c)
|
|
|
11788 |
|
|
|
11789 |
Changes exit, stop, and .stop so that if there is no matching dynamically
|
|
|
11790 |
enclosing context (loop or stopped), the effect is a quit, like the Adobe
|
|
|
11791 |
interpreters, and not an invalidexit. (zcontrol.c)
|
|
|
11792 |
|
|
|
11793 |
Adds support for ImageTypes other than 1. (gs_init.ps, gs_lev2.ps,
|
|
|
11794 |
gs_res.ps, zimage2.c)
|
|
|
11795 |
|
|
|
11796 |
Adds support for LanguageLevel 3 features:
|
|
|
11797 |
- Idiom recognition in 'bind'. (gs_init.ps, gs_dps.ps, gs_lev2.ps,
|
|
|
11798 |
gs_ll3.ps, zmisc3.c)
|
|
|
11799 |
- HalftoneTypes 6, 10, and 16. (gs_ll3.ps)
|
|
|
11800 |
- FunctionType resource category. (gs_ll3.ps)
|
|
|
11801 |
- FunctionType 2 and 3 Functions. (zfunc3.c)
|
|
|
11802 |
- PatternType 2 and smooth shading (structures and API only, no
|
|
|
11803 |
algorithms). (gs_init.ps, gs_ll3.ps, gs_res.ps, zshade.c)
|
|
|
11804 |
- In-RIP trapping (structures and API only, no algorithms).
|
|
|
11805 |
(gs_ll3.ps, ztrap.c)
|
|
|
11806 |
- ImageType 3 and 4 (masked images) (structures and parsing only, no
|
|
|
11807 |
algorithms). (gs_ll3.ps, gs_res.ps, iimage2.h, zimage.c, zimage2.c,
|
|
|
11808 |
zimage3.c)
|
|
|
11809 |
- DevicePixel color space. (gs_lev2.ps, zcolor2.c, zcspixel.c)
|
|
|
11810 |
- DeviceN color space. (gs_lev2.ps, igstate.h, zcsdevn.c)
|
|
|
11811 |
|
|
|
11812 |
Adds support for Type 32 fonts. (gs_cidfn.ps, gs_init.ps, gs_typ32.ps,
|
|
|
11813 |
zchar32.c, zfont32.c)
|
|
|
11814 |
|
|
|
11815 |
Adds debugging printout to the CFF loader. (gs_cff.ps)
|
|
|
11816 |
|
|
|
11817 |
Removes support for _ds pointers referencing the stacks, since we no longer
|
|
|
11818 |
support 16-bit implementations. (iref.h, istack.h, interp.c, ireclaim.c,
|
|
|
11819 |
istack.c)
|
|
|
11820 |
|
|
|
11821 |
Removes all #ifdef DPNEXT conditionalization. (We had intended to use this
|
|
|
11822 |
to delimit blocks of code to be released with the GPL, but we're now
|
|
|
11823 |
planning to release a much larger number of files.) (igstate.h, interp.h,
|
|
|
11824 |
istruct.h, interp.c, zgstate.c)
|
|
|
11825 |
|
|
|
11826 |
Allows user parameters to be implemented partly in PostScript code, since
|
|
|
11827 |
this is required for some LanguageLevel 3 features (currently only
|
|
|
11828 |
IdiomRecognition). (gs_lev2.ps)
|
|
|
11829 |
|
|
|
11830 |
Removes most of the references to a global process scheduler. Completing
|
|
|
11831 |
this will require passing an interpreter state structure to all operators in
|
|
|
11832 |
place of the operand stack pointer, which we aren't prepared to contemplate
|
|
|
11833 |
yet. (zcontext.c)
|
|
|
11834 |
|
|
|
11835 |
Adds tracing for context operations, -Z' and -Z". (zcontext.c)
|
|
|
11836 |
|
|
|
11837 |
Changes def so that it doesn't have a special exception for storing
|
|
|
11838 |
references to local objects into systemdict or its subsidiary dictionaries
|
|
|
11839 |
during initialization: such stores now must use .forceput (or .forcedef,
|
|
|
11840 |
defined in gs_init.ps using .forceput); changes .forceput to allow storing a
|
|
|
11841 |
local reference into any global dictionary, not only systemdict, if the save
|
|
|
11842 |
level is 0. (gs_dps1.ps, gs_init.ps, gs_lev2.ps, gs_pdfwr.ps, gs_res.ps,
|
|
|
11843 |
gs_statd.ps, zdict.c)
|
|
|
11844 |
|
|
|
11845 |
Moves all of the initialization of internaldict to PostScript code.
|
|
|
11846 |
(gs_init.ps, iinit.c, zcontrol.c)
|
|
|
11847 |
|
|
|
11848 |
Moves the JobName user parameter from C to PostScript code. (gs_lev2.ps,
|
|
|
11849 |
zusparam.c)
|
|
|
11850 |
|
|
|
11851 |
Adds to every dictionary a pointer to the allocator that created it. This
|
|
|
11852 |
allows us to create and grow dictionaries without having to reference any
|
|
|
11853 |
global variables. (idict.h, idict.c, iinit.c)
|
|
|
11854 |
|
|
|
11855 |
Implements the localfork operator, which creates contexts with private local
|
|
|
11856 |
VM. (gs_dps.ps, gs_init.ps, dstack.h, gsalloc.h, ialloc.c, icontext.c,
|
|
|
11857 |
iinit.c, interp.c, zcontext.c)
|
|
|
11858 |
|
|
|
11859 |
Systematizes reliable access to variables in systemdict and userdict.
|
|
|
11860 |
(gs_dps1.ps, gs_dps2.ps, gs_fonts.ps, gs_init.ps, gs_lev2.ps, gs_statd.ps,
|
|
|
11861 |
gs_type1.ps)
|
|
|
11862 |
|
|
|
11863 |
Starts to eliminate or segregate writable globals that point to
|
|
|
11864 |
heap-allocated data. (Writable globals containing procedures,
|
|
|
11865 |
run-time-settable switches, pointers to static data, or non-pointer values
|
|
|
11866 |
that are initialized once and idempotently are OK.) (iconf.c, iinit.c,
|
|
|
11867 |
imain.c, imainarg.c, interp.c, zfont1.c, zht2.c, ziodev.c, ztype.c,
|
|
|
11868 |
zupath.c, zusparam.c)
|
|
|
11869 |
|
|
|
11870 |
Adds support for ImageType 2 (device source) images. (gs_dps.ps, zdps.c)
|
|
|
11871 |
|
|
|
11872 |
Adds begin_typed_image to internal device procedure vectors. (zupath.c)
|
|
|
11873 |
|
|
|
11874 |
Increases the maximum stack sizes to match the Adobe implementation more
|
|
|
11875 |
closely. (gs_init.ps)
|
|
|
11876 |
|
|
|
11877 |
Adds a file_is_invalid macro to work around a bug in the Borland 5.0
|
|
|
11878 |
compiler. (files.h, ziodev.c, zvmem.c)
|
|
|
11879 |
|
|
|
11880 |
Changes the character cache to be allocated in the C heap rather than global
|
|
|
11881 |
VM. This is required because cache chunks are now allocated from the same
|
|
|
11882 |
allocator as the cache. (zfont.c)
|
|
|
11883 |
|
|
|
11884 |
Implements sizeimage and readimage, including a new .getbitsrect operator.
|
|
|
11885 |
(gs_dpnxt.ps, gs_init.ps, zdevice.c, zdpnext.c)
|
|
|
11886 |
|
|
|
11887 |
Resets the maximum stack sizes earlier in initialization. (gs_init.ps)
|
|
|
11888 |
|
|
|
11889 |
Tweaks the default CRD slightly (syntactically, not the content).
|
|
|
11890 |
(gs_lev2.ps)
|
|
|
11891 |
|
|
|
11892 |
Adds support for PatternTypes other than 1. (gs_init.ps, gs_lev2.ps,
|
|
|
11893 |
gs_res.ps, zpcolor.c)
|
|
|
11894 |
|
|
|
11895 |
Adds a pointer to the C heap allocator to the gs_main_instance structure,
|
|
|
11896 |
working towards the goal of removing all references to gs_memory_default.
|
|
|
11897 |
(iminst.h)
|
|
|
11898 |
|
|
|
11899 |
Removes all remaining uses of gs_malloc and gs_free from the interpreter.
|
|
|
11900 |
(igc.h, igc.c, imain.c, zfdctd.c, zfdcte.c)
|
|
|
11901 |
|
|
|
11902 |
Adds an explicit #include for all remaining uses of gs_memory_default in the
|
|
|
11903 |
interpreter. (zfdctd.c, zfdcte.c, zvmem.c)
|
|
|
11904 |
|
|
|
11905 |
Adds a map_color_rgb_alpha driver procedure, complementing
|
|
|
11906 |
map_rgb_alpha_color. (zupath.c)
|
|
|
11907 |
|
|
|
11908 |
Removes the obsolete writeppmfile operator. (zwppm.c[deleted])
|
|
|
11909 |
|
|
|
11910 |
Updates the implementation of the image operators to match the change from
|
|
|
11911 |
HasAlpha to Alpha in the image definition structure. (iimage.h, zcolor1.c,
|
|
|
11912 |
zimage.c)
|
|
|
11913 |
|
|
|
11914 |
Reimplements upath in C code, since UnpaintedPath requires it. (zupath.c)
|
|
|
11915 |
|
|
|
11916 |
Updates interpreter code for the change in the GC interface. (imemory.h,
|
|
|
11917 |
istruct.h, icontext.c, igc.c, igcref.c, igcstr.c, ilocate.c, iname.c,
|
|
|
11918 |
isave.c, iscan.c, istack.c, zfproc.c)
|
|
|
11919 |
|
|
|
11920 |
Implements the compositing operators. (zdpnext.c, zdps.c, zupath.c)
|
|
|
11921 |
|
|
|
11922 |
Changes some matrix operators to pass unpacked matrices on the stack.
|
|
|
11923 |
(zmatrix.c)
|
|
|
11924 |
|
|
|
11925 |
Moves the alpha-related operators to where they belong. (zcolor.c,
|
|
|
11926 |
zdpnext.c)
|
|
|
11927 |
|
|
|
11928 |
Changes all calls on getenv to gp_getenv. (imainarg.c, zmisc.c)
|
|
|
11929 |
|
|
|
11930 |
</pre><h3><a name="V5.20_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
11931 |
|
|
|
11932 |
Fixes bugs:
|
|
|
11933 |
- PostScript pass-throughs caused an error. They are now always
|
|
|
11934 |
executed; probably we should offer the option of not executing them, for
|
|
|
11935 |
closer compatibility with Acrobat. (pdf_draw.ps, pdf_main.ps)
|
|
|
11936 |
- Font resources, unlike all other types of resources, couldn't be
|
|
|
11937 |
inherited from an ancestor Page(s) object. (pdf_font.ps)
|
|
|
11938 |
- Resources appearing only in Form or Pattern dictionaries weren't
|
|
|
11939 |
recognized as being present. (pdf_base.ps, pdf_draw.ps, pdf_main.ps)
|
|
|
11940 |
|
|
|
11941 |
Moves closer to supporting Type 0 (and CID) fonts. (pdf_font.ps)
|
|
|
11942 |
|
|
|
11943 |
</pre><h3><a name="V5.20_Streams"></a>Streams</h3><pre>
|
|
|
11944 |
|
|
|
11945 |
Fixes bugs:
|
|
|
11946 |
- If the image was very narrow or very shallow, the interpolated
|
|
|
11947 |
image scaling stream could make an invalid memory reference. (siscale.c)
|
|
|
11948 |
|
|
|
11949 |
Removes the last few references to gs_malloc and gs_free from stream code.
|
|
|
11950 |
Clients now *must* call the set_defaults procedure for the DCT filters
|
|
|
11951 |
before initializing them: THIS IS A NON-BACKWARD-COMPATIBLE CHANGE.
|
|
|
11952 |
(sdct.h, sdctd.c, sdcte.c, sjpegc.c)
|
|
|
11953 |
|
|
|
11954 |
Adds an explicit #include for all remaining uses of gs_memory_default.
|
|
|
11955 |
(sdctd.c, sdcte.c, szlibd.c, szlibe.c)
|
|
|
11956 |
|
|
|
11957 |
</pre><h3><a name="V5.20_Library"></a>Library</h3><pre>
|
|
|
11958 |
|
|
|
11959 |
Fixes bugs:
|
|
|
11960 |
- Some files that included shc.h didn't include scommon.h. (shc.h)
|
|
|
11961 |
- A file didn't include std.h before <stdio.h>. (gslib.c)
|
|
|
11962 |
- There was an unnecessary extern (cleanup only). (gscsepr.c)
|
|
|
11963 |
- The uid.xvalues member of gs_client_pattern structures wasn't
|
|
|
11964 |
traced by the GC. (gspcolor.h)
|
|
|
11965 |
- If an Interpolated image reached the end of the input at exactly
|
|
|
11966 |
the wrong time, an assertion could fail. (gxiscale.c)
|
|
|
11967 |
- With non-ANSI compilers, an integer constant passed to the fmod
|
|
|
11968 |
library function, which requires a floating point argument, could cause a
|
|
|
11969 |
floating point exception or an incorrect result. (gsmisc.c)
|
|
|
11970 |
- An error in computing the bounding box sometimes caused strokes to
|
|
|
11971 |
print incorrectly (for example, some graduated fills printed incorrectly).
|
|
|
11972 |
(gxstroke.c)
|
|
|
11973 |
|
|
|
11974 |
Implements an undocumented (!) feature of Type 2 CharStrings, namely that if
|
|
|
11975 |
the endchar operator is invoked with 4 or 5 operands on the stack, it is
|
|
|
11976 |
equivalent to the Type 1 seac operator (without the asb operand). This
|
|
|
11977 |
required changing the implementation of seac so that it does the base
|
|
|
11978 |
character first, rather than the accent. (gxtype1.h, gstype1.c, gstype2.c,
|
|
|
11979 |
gxtype1.c)
|
|
|
11980 |
|
|
|
11981 |
Adds support for ImageTypes other than 1. (gsiparam.h, gximage.h,
|
|
|
11982 |
gxiparam.h, gdevddrw.c, gsimage.c, gximage.c, gximage0.c)
|
|
|
11983 |
|
|
|
11984 |
Adds support for ImageType 2 (device source) images. Currently we only
|
|
|
11985 |
handle the simplest case (source is not transformed). (gsimage.h,
|
|
|
11986 |
gsiparm2.h, gsimage.c, gximage2.c)
|
|
|
11987 |
|
|
|
11988 |
Adds support for LanguageLevel 3 features:
|
|
|
11989 |
- FunctionType 2 and 3 Functions. (gsfunc3.h, gsfunc3.c)
|
|
|
11990 |
- PatternType 2 and smooth shading (structures and API only, no
|
|
|
11991 |
algorithms). (gscolor3.h, gsptype2.h, gsshade.h, gxistate.h, gscolor3.c,
|
|
|
11992 |
gsshade.c)
|
|
|
11993 |
- In-RIP trapping (structures and API only, no algorithms).
|
|
|
11994 |
(gstrap.h, gstrap.c)
|
|
|
11995 |
- ImageType 3 (masked images) (structures and API only, no
|
|
|
11996 |
algorithms). (gsiparm3.h, gximage3.c)
|
|
|
11997 |
- ImageType 4 (chroma-keyed masked images). (gsiparm4.h,
|
|
|
11998 |
gximage4.c)
|
|
|
11999 |
- DevicePixel color space. (gscpixel.h, gscspace.h, gscpixel.c,
|
|
|
12000 |
gximono.c)
|
|
|
12001 |
- DeviceN color space. (gscspace.h, gscdevn.c)
|
|
|
12002 |
|
|
|
12003 |
Removes the #ifdef FUTURE around the code for passing multi-plane and
|
|
|
12004 |
interpolated images through the band list (version 5.01) and for banded
|
|
|
12005 |
filling and stroking with colored halftones (version 4.71). This code is
|
|
|
12006 |
now part of the standard release. (gxcldev.h, gxclpath.h, gxdht.h,
|
|
|
12007 |
gxhttype.h, gsht.c, gxclimag.c, gxclread.c, gximage.c)
|
|
|
12008 |
|
|
|
12009 |
Adds a _ptrs6 structure definition macro. (gsstruct.h)
|
|
|
12010 |
|
|
|
12011 |
Removes #ifdef DPNEXT conditionalization, as in the interpreter (see above).
|
|
|
12012 |
(gzstate.h, gsdps.c, gsstate.c, gximage.c, gximage5.c)
|
|
|
12013 |
|
|
|
12014 |
Starts to eliminate or segregate writable globals that point to
|
|
|
12015 |
heap-allocated data, as in the interpreter (see above). (gsbittab.h,
|
|
|
12016 |
gscdefs.h, gsdcolor.h, gxclist.h, gxsample.h, gzht.h, gconf.c, gsbitops.c,
|
|
|
12017 |
gsbittab.c, gscdef.c, gsdparam.c, gsflip.c, gsinit.c, gsmatrix.c,
|
|
|
12018 |
gspcolor.c, gsstate.c, gxcht.c, gxclist.c, gxcmap.c, gxdcolor.c, gxdither.c,
|
|
|
12019 |
gxht.c, gximage.c)
|
|
|
12020 |
|
|
|
12021 |
Removes the division between 'low-level' and 'high-level' band list
|
|
|
12022 |
facilities. (gxcldev.h, gxclimag.c, gxclist.c, gxclpath.c)
|
|
|
12023 |
|
|
|
12024 |
Renames gximage*.c as gxi*.c, since these files apply only to ImageType 1
|
|
|
12025 |
images and the use of numerical suffixes was confusing. (gximage.c =>
|
|
|
12026 |
gxiinit.c, gximage0.c => gxidata.c, gximage1.c => gxifast.c,
|
|
|
12027 |
gximage2.c => gximono.c, gximage3.c => gxicolor.c, gximage4.c =>
|
|
|
12028 |
gxi12bit.c, gximage5.c => gxiscale.c)
|
|
|
12029 |
|
|
|
12030 |
Provides the ability to enumerate a clipping path (based on the clipping
|
|
|
12031 |
list) using an enumerator, in the same way as an ordinary path. (gxpath.h,
|
|
|
12032 |
gzcpath.h, gzpath.h, gxcpath.c, gxpath2.c)
|
|
|
12033 |
|
|
|
12034 |
Speeds up mem_mapped4_copy_mono substantially. (gdevm4.c)
|
|
|
12035 |
|
|
|
12036 |
Removes all remaining uses of gs_malloc and gs_free in the library, other
|
|
|
12037 |
than in drivers. This turned out to require changing a couple of
|
|
|
12038 |
initialization APIs. (gsfont.h, gslib.h, gxdevice.h, gxfcache.h, gsfont.c,
|
|
|
12039 |
gxccman.c)
|
|
|
12040 |
|
|
|
12041 |
Reduces the writable statics related to the default (C heap) allocator to a
|
|
|
12042 |
single pointer. (gsmalloc.h, gsmemory.h, gsinit.c, gsmemory.c)
|
|
|
12043 |
|
|
|
12044 |
Adds support for PatternTypes other than 1. (gscolor2.h, gspcolor.h,
|
|
|
12045 |
gsptype1.h, gxcolor2.h, gspcolor.c)
|
|
|
12046 |
|
|
|
12047 |
Adds an explicit #include for all remaining uses of gs_memory_default that
|
|
|
12048 |
aren't covered by gxdevice.h. (gxclmem.c)
|
|
|
12049 |
|
|
|
12050 |
Splits off the default implementations of the bit-copying device procedures,
|
|
|
12051 |
because the file was getting too large. (gdevdbit.c, gdevdflt.c)
|
|
|
12052 |
|
|
|
12053 |
Adds a procedure for calculating the difference of two rectangles, needed
|
|
|
12054 |
for Type 2 images. (gsrect.h, gxpath.h, gsutil.c)
|
|
|
12055 |
|
|
|
12056 |
Extends the image machinery to allow alpha values to either precede or
|
|
|
12057 |
follow color values in image data, replacing HasAlpha with Alpha in the
|
|
|
12058 |
ImageType 1 image structure. (gsiparam.h, gximage.h, gsimage.c, gxclimag.c,
|
|
|
12059 |
gxclread.c, gxicolor.c, gxiinit.c, gxiscale.c)
|
|
|
12060 |
|
|
|
12061 |
Extends the path enumeration API to decouple path copying from coordinate
|
|
|
12062 |
transformation. (gspath.h, gzpath.h, gspath1.c, gxpath2.c)
|
|
|
12063 |
|
|
|
12064 |
Changes the garbage collector interface so that all procedures are passed
|
|
|
12065 |
through a structure rather than being referenced as externs. This allows
|
|
|
12066 |
programs other than the GC itself to enumerate and relocate pointers, and
|
|
|
12067 |
also removes all static dependencies on the GC from the library. This
|
|
|
12068 |
involves a NON-BACKWARD-COMPATIBLE CHANGE to the argument list of enum_ptrs
|
|
|
12069 |
procedures, and to the implementation of both enum_ptrs and reloc_ptrs. (We
|
|
|
12070 |
hope that the new macros we've introduced will avoid non-backward-compatible
|
|
|
12071 |
changes in the future.) (gsstruct.h, gdevmem.c, gsalloc.c, gscdevn.c,
|
|
|
12072 |
gscolor.c, gscolor2.c, gscsepr.c, gsdevice.c, gsfont.c, gshtscr.c,
|
|
|
12073 |
gsimage.c, gsmemory.c, gspcolor.c, gsstate.c, gxcmap.c, gxcpath.c, gxht.c,
|
|
|
12074 |
gxiinit.c)
|
|
|
12075 |
|
|
|
12076 |
Moves the image compositing code into the library from its inappropriate
|
|
|
12077 |
home in the interpreter. (gsdpnext.h)
|
|
|
12078 |
|
|
|
12079 |
Splits up gsbitops.h into client interface and implementation support.
|
|
|
12080 |
Removes some obsolete code at the same time. (gdevmem.h, gsbitops.h,
|
|
|
12081 |
gxbitops.h, gsbitops.c)
|
|
|
12082 |
|
|
|
12083 |
Creates the concept of compositing functions and compositing devices
|
|
|
12084 |
(compositors). (gscompt.h, gxcomp.h)
|
|
|
12085 |
|
|
|
12086 |
Implements the default compositor for alpha-based compositing. (gsalphac.h,
|
|
|
12087 |
gsalphac.c)
|
|
|
12088 |
|
|
|
12089 |
Creates a store_alpha device that adds alpha channel storage to any other
|
|
|
12090 |
device. (gdevalph.c)
|
|
|
12091 |
|
|
|
12092 |
Moves alpha channel capability into the dpsnext feature, where it should
|
|
|
12093 |
have been all along. (gsalpha.h, gscolor.h, gsalpha.c, gscolor.c,
|
|
|
12094 |
gsstate.c)
|
|
|
12095 |
|
|
|
12096 |
Implements color premultiplying by (non-unity) alpha values. Currently we
|
|
|
12097 |
always premultiply towards white: see gxalpha.h for some comments.
|
|
|
12098 |
(gxalpha.h, gxcmap.c)
|
|
|
12099 |
|
|
|
12100 |
Reduces the amount of boilerplate in the RasterOp implementation table.
|
|
|
12101 |
(gsroptab.c)
|
|
|
12102 |
|
|
|
12103 |
Adds an arg_push_temp_string procedure to accommodate the new gp_getenv
|
|
|
12104 |
call. (gsargs.h, gsargs.c)
|
|
|
12105 |
|
|
|
12106 |
Updates various library APIs to account for the more careful handling of
|
|
|
12107 |
file name length. (gdevprn.h, gxclio.h, gxclist.h, gsdevice.c, gxclfile.c,
|
|
|
12108 |
gxclmem.c)
|
|
|
12109 |
|
|
|
12110 |
</pre>
|
|
|
12111 |
|
|
|
12112 |
<hr>
|
|
|
12113 |
|
|
|
12114 |
<h2><a name="Version5.10"></a>Version 5.10 (11/23/97)</h2>
|
|
|
12115 |
|
|
|
12116 |
<p>
|
|
|
12117 |
This release, not originally planned, greatly reduces the size of PDF files
|
|
|
12118 |
produced by the pdfwrite device, fixes a number of minor problems in PDF
|
|
|
12119 |
output, and optionally produces output compatible with Acrobat 2.x, in order
|
|
|
12120 |
to address problems reported by NSF in processing these files as part of
|
|
|
12121 |
their FastLane electronic proposal submission process. Aside from that, and
|
|
|
12122 |
some localized bug fixes, it has minimal changes from 5.03.
|
|
|
12123 |
|
|
|
12124 |
<h3><a name="V5.10_Documentation"></a>Documentation</h3><pre>
|
|
|
12125 |
|
|
|
12126 |
Fixes bugs:
|
|
|
12127 |
- ansihead.mak referred to unix-ansi.mak, which is actually named
|
|
|
12128 |
unixansi.mak. (ansihead.mak)
|
|
|
12129 |
- README referred to an "If you need help" section that was moved to
|
|
|
12130 |
new-user.txt. (README)
|
|
|
12131 |
|
|
|
12132 |
Updates build information for HP-UX systems. (make.txt)
|
|
|
12133 |
|
|
|
12134 |
Updates the information for getting Martin Lottermoser's hpdj driver.
|
|
|
12135 |
(new-user.txt)
|
|
|
12136 |
|
|
|
12137 |
Improves the error message when a user tries to invoke gswin32c without
|
|
|
12138 |
explicitly selecting a device. (dwmainc.cpp)
|
|
|
12139 |
|
|
|
12140 |
Removes the author's name and e-mail address from the pdf2ps man page, at
|
|
|
12141 |
his request. (pdf2ps.1)
|
|
|
12142 |
|
|
|
12143 |
Improves the documentation for BandBufferSpace. (language.txt)
|
|
|
12144 |
|
|
|
12145 |
</pre><h3><a name="V5.10_Procedures"></a>Procedures</h3><pre>
|
|
|
12146 |
|
|
|
12147 |
Changes the VMS command files so that they don't echo the commands.
|
|
|
12148 |
(append_l.com, copy_one.com, rm_all.com, rm_one.com)
|
|
|
12149 |
|
|
|
12150 |
</pre><h3><a name="V5.10_Utilities"></a>Utilities</h3><pre>
|
|
|
12151 |
|
|
|
12152 |
Fixes bugs:
|
|
|
12153 |
- The "lp" command files all inappropriately set the top margin to
|
|
|
12154 |
0.1". (lp386.bat, lp386r2.bat, lpgs, lpgs.bat, lpr2, lpr2.bat)
|
|
|
12155 |
- The lp386[r2].bat command files inappropriately set the
|
|
|
12156 |
LanguageLevel to 1. (lp386.bat, lp386r2.bat)
|
|
|
12157 |
|
|
|
12158 |
</pre><h3><a name="V5.10_Drivers"></a>Drivers</h3><pre>
|
|
|
12159 |
|
|
|
12160 |
Fixes bugs:
|
|
|
12161 |
- The PDF writer got confused about the current color if the input
|
|
|
12162 |
contained text strings separated only by color changes. (gdevpdf.c)
|
|
|
12163 |
- Some casts between const char * and const byte * were incorrect
|
|
|
12164 |
(warnings only). (gdevpdft.c)
|
|
|
12165 |
|
|
|
12166 |
Adds a NoCancel parameter to the winpr2 device, which suppresses display of
|
|
|
12167 |
the dialog box. (gdevwpr2.c)
|
|
|
12168 |
|
|
|
12169 |
</pre><h3><a name="V5.10_Interpreter"></a>Interpreter</h3><pre>
|
|
|
12170 |
|
|
|
12171 |
Fixes bugs:
|
|
|
12172 |
- An "extern" was omitted, causing a duplicate definition of
|
|
|
12173 |
build_function_procs. (ifunc.h)
|
|
|
12174 |
- The global pseudo-operator table was too small, causing a
|
|
|
12175 |
limitcheck in ps2ascii. (iinit.c)
|
|
|
12176 |
- setcolorspace with a Pattern space with no underlying space would
|
|
|
12177 |
cause an error if the current color space was a Pattern space. (zpcolor.c)
|
|
|
12178 |
- The Decode key was optional, not required, in the dictionary form
|
|
|
12179 |
of image[mask]. (zimage2.c)
|
|
|
12180 |
|
|
|
12181 |
Adds two more PCL/PJL reset sequences to the list of sequences to ignore.
|
|
|
12182 |
(gs_init.ps)
|
|
|
12183 |
|
|
|
12184 |
</pre><h3><a name="V5.10_Library"></a>Library</h3><pre>
|
|
|
12185 |
|
|
|
12186 |
Fixes bugs:
|
|
|
12187 |
- Multi-screen color halftones could produce "seams". (gxcht.c)
|
|
|
12188 |
- A bug in the gcc optimizer on H-P RISC workstations caused all
|
|
|
12189 |
curves to be output as lines. (gxpflat.c)
|
|
|
12190 |
- If a non-standard OtherSubr was called before the [h]sbw in a Type
|
|
|
12191 |
1 font, a crash could occur. (gxhint3.c)
|
|
|
12192 |
- gxclist.c didn't include string_.h. (gxclist.c)
|
|
|
12193 |
|
|
|
12194 |
</pre>
|
|
|
12195 |
|
|
|
12196 |
<hr>
|
|
|
12197 |
|
|
|
12198 |
<h2><a name="Version5.07"></a>Version 5.07 (limited) (10/31/97)</h2>
|
|
|
12199 |
|
|
|
12200 |
<p>
|
|
|
12201 |
A few more bug fixes for the 5.10 release.
|
|
|
12202 |
|
|
|
12203 |
<h3><a name="V5.07_Documentation"></a>Documentation</h3><pre>
|
|
|
12204 |
|
|
|
12205 |
Fixes bugs:
|
|
|
12206 |
- Some file and directory names hadn't been updated to match the new
|
|
|
12207 |
directory structure on the primary server. (make.txt, new-user.txt)
|
|
|
12208 |
|
|
|
12209 |
Adds the URL for reaching URW++. (Fontmap.*)
|
|
|
12210 |
|
|
|
12211 |
</pre><h3><a name="V5.07_Drivers"></a>Drivers</h3><pre>
|
|
|
12212 |
|
|
|
12213 |
Fixes bugs:
|
|
|
12214 |
- Because the C % operator isn't equivalent to 'modulus' for
|
|
|
12215 |
negative numerators, gx_default_strip_tile_rectangle could crash in some
|
|
|
12216 |
cases. (gxdevice.h, gdevdflt.c)
|
|
|
12217 |
- In the PDF writer, Dest values were correct (page numbers) for
|
|
|
12218 |
GoToR actions, but were incorrect (should be page object references) for
|
|
|
12219 |
other actions; also, Rect values were transformed, but should not be.
|
|
|
12220 |
(gdevpdfm.c)
|
|
|
12221 |
- In the PDF writer, articles and bookmarks could attempt to write
|
|
|
12222 |
multiple Contents streams, which is not allowed. (gdevpdfx.h, gdevpdf.c,
|
|
|
12223 |
gdevpdfm.c)
|
|
|
12224 |
- The PDF writer ignored PS (PostScript pass-through) pdfmarks.
|
|
|
12225 |
(gdevpdfm.c)
|
|
|
12226 |
- The PDF writer didn't write out the color space parameters for
|
|
|
12227 |
CIE-based spaces. (gdevpdfi.c)
|
|
|
12228 |
|
|
|
12229 |
</pre><h3><a name="V5.07_Library"></a>Library</h3><pre>
|
|
|
12230 |
|
|
|
12231 |
Fixes bugs:
|
|
|
12232 |
- Suffix subclass structures with 4 added pointers skipped the first
|
|
|
12233 |
pointer in the superclass when garbage collecting, possibly causing invalid
|
|
|
12234 |
memory accesses. (gsstruct.h)
|
|
|
12235 |
- An argument list incompatibility in a procedure used in a static
|
|
|
12236 |
structure initialization upset some compilers. (gsfunc.h, gsfunc0.c)
|
|
|
12237 |
|
|
|
12238 |
</pre>
|
|
|
12239 |
|
|
|
12240 |
<hr>
|
|
|
12241 |
|
|
|
12242 |
<h2><a name="Version5.06"></a>Version 5.06 (limited) (10/7/97)</h2>
|
|
|
12243 |
|
|
|
12244 |
<p>
|
|
|
12245 |
This fixes a few more bugs in the PDF writer, and a few other very obscure
|
|
|
12246 |
problems. It also adds support for Functions and brings multiple contexts
|
|
|
12247 |
closer to working, neither of which we expect actually to be used any time
|
|
|
12248 |
soon. This is intended to be the candidate fileset for the 5.10 release,
|
|
|
12249 |
but since we had to tinker with a delicate part of the PDF writer to fix a
|
|
|
12250 |
problem affecting visual quality with Acrobat, there may be new bugs that
|
|
|
12251 |
will have to be fixed in yet another candidate fileset.
|
|
|
12252 |
|
|
|
12253 |
<h3><a name="V5.06_Documentation"></a>Documentation</h3><pre>
|
|
|
12254 |
|
|
|
12255 |
Fixes bugs:
|
|
|
12256 |
- Jim McPherson's e-mail address was out of date. (devices.txt)
|
|
|
12257 |
- Invoking ps2pdf with only a single file name is supported on some
|
|
|
12258 |
versions of Windows NT and OS/2, not only on Unix. (ps2pdf.txt)
|
|
|
12259 |
- The ps2pdf documentation didn't indicate that ps2pdf can use the
|
|
|
12260 |
Windows "console mode" executable as well as the MS-DOS executable.
|
|
|
12261 |
(ps2pdf.txt)
|
|
|
12262 |
- The list of which Distiller parameters actually have an effect was
|
|
|
12263 |
incorrect. (gdevpdfp.c)
|
|
|
12264 |
|
|
|
12265 |
Notes that the cdj550 driver is compatible with the H-P 660C and 660Cse.
|
|
|
12266 |
(devs.mak, devices.txt)
|
|
|
12267 |
|
|
|
12268 |
Adds a note about using Acrobat Reader fonts. (install.txt, use.txt)
|
|
|
12269 |
|
|
|
12270 |
Notes that the LJ 5P, like the 5L, is not a PCL XL printer. (devs.mak)
|
|
|
12271 |
|
|
|
12272 |
Notes problems and possible problems with certain versions of the Borland
|
|
|
12273 |
C++ compiler. (make.txt)
|
|
|
12274 |
|
|
|
12275 |
Notes the change in -Z:. (use.txt)
|
|
|
12276 |
|
|
|
12277 |
Updates the uniprint documentation for this release. (devices.txt)
|
|
|
12278 |
|
|
|
12279 |
Expands the rationale for the large resolution in the bbox device.
|
|
|
12280 |
(gdevbbox.c)
|
|
|
12281 |
|
|
|
12282 |
Notes that the H-P DeskJet 600 series can use the djet500 driver with -r600.
|
|
|
12283 |
(devs.mak)
|
|
|
12284 |
|
|
|
12285 |
</pre><h3><a name="V5.06_Procedures"></a>Procedures</h3><pre>
|
|
|
12286 |
|
|
|
12287 |
Fixes bugs:
|
|
|
12288 |
- Vector devices didn't include a necessary dependency on the stream
|
|
|
12289 |
package. (lib.mak)
|
|
|
12290 |
- There were several bugs in the ps2pdf.bat file. (ps2pdf.bat)
|
|
|
12291 |
|
|
|
12292 |
Changes -Z: so it prints some summary lines as well as minimal information
|
|
|
12293 |
about banding. This makes the -ZA trace compatible with our memory leak
|
|
|
12294 |
tool. (iminst.h, imain.c)
|
|
|
12295 |
|
|
|
12296 |
</pre><h3><a name="V5.06_Utilities"></a>Utilities</h3><pre>
|
|
|
12297 |
|
|
|
12298 |
Fixes bugs:
|
|
|
12299 |
- ps2epsi sometimes produced a too-large bounding box, or even
|
|
|
12300 |
caused a rangecheck. (ps2epsi)
|
|
|
12301 |
|
|
|
12302 |
At the advice of a user, removes the RESOLUTION=100 line from pv.sh.
|
|
|
12303 |
(pv.sh)
|
|
|
12304 |
|
|
|
12305 |
</pre><h3><a name="V5.06_Drivers"></a>Drivers</h3><pre>
|
|
|
12306 |
|
|
|
12307 |
Fixes bugs:
|
|
|
12308 |
- The PDF writer produced incorrect output for stroke operations
|
|
|
12309 |
with unusual CTMs, because PDF, unlike PostScript, applies the CTM to the
|
|
|
12310 |
path at the time of the fill or stroke, not as the path is being
|
|
|
12311 |
constructed. (gdevpdfd.c)
|
|
|
12312 |
- Vector devices returned an error, instead of falling back to the
|
|
|
12313 |
default implementations, when filling or stroking with a pattern.
|
|
|
12314 |
(gdevvec.c)
|
|
|
12315 |
- The PDF writer freed an internal stream structure using the wrong
|
|
|
12316 |
allocator, possibly causing memory corruption. (gdevpdf.c)
|
|
|
12317 |
- The uniprint driver had some compilation problems, and possibly
|
|
|
12318 |
other problems as well (consult the source file). (gdevupd.c, *.upp)
|
|
|
12319 |
- With -dNOCACHE, the PDF writer wrote all text in the base 14 fonts
|
|
|
12320 |
twice, once as text and once as outlines. (gs_pdfwr.ps, gdevpdfd.c)
|
|
|
12321 |
- The PDF writer didn't properly recognize Symbol and ZapfDingbats
|
|
|
12322 |
as being among the base 14 fonts. (gs_pdfwr.ps)
|
|
|
12323 |
- When using Acrobat Reader with font smoothing turned on, the base
|
|
|
12324 |
14 fonts appeared too bold on the screen in files produced by ps2pdf,
|
|
|
12325 |
because Reader decides that a 100-unit font at 1 unit = 0.1 point should be
|
|
|
12326 |
bolder than a 10-unit font at 1 unit = 1 point. (gdevpdfx.h, gdevpdf.c,
|
|
|
12327 |
gdevpdft.c)
|
|
|
12328 |
- The PDF writer didn't convert View/Page specifications for
|
|
|
12329 |
bookmark pdfmarks to a Dest key, causing bookmarks not to work.
|
|
|
12330 |
(gdevpdfm.c)
|
|
|
12331 |
|
|
|
12332 |
Speeds up the PDF writer by only passing the encoding if it isn't
|
|
|
12333 |
StandardEncoding. (gs_pdfwr.ps, gdevpdft.c)
|
|
|
12334 |
|
|
|
12335 |
Changes the PDF writer's handling of unencoded glyphs. Adds device
|
|
|
12336 |
parameters ReEncodeCharacters and ReAssignCharacters to control how
|
|
|
12337 |
unencoded glyphs are handled. (These parameters will go away when we handle
|
|
|
12338 |
variant encodings in full generality.) (gdevpdfx.h, gdevpdf.c, gdevpdfp.c,
|
|
|
12339 |
gdevpdft.c)
|
|
|
12340 |
|
|
|
12341 |
</pre><h3><a name="V5.06_Interpreter"></a>Interpreter</h3><pre>
|
|
|
12342 |
|
|
|
12343 |
Fixes bugs:
|
|
|
12344 |
- setpagedevice didn't restore the stack properly if it failed.
|
|
|
12345 |
(gs_setpd.ps)
|
|
|
12346 |
- 0 identmatrix didn't cause an error. (gs_init.ps)
|
|
|
12347 |
- Devices expecting array-valued parameters didn't accept packed
|
|
|
12348 |
arrays. (iparam.c)
|
|
|
12349 |
|
|
|
12350 |
Starts to de-implement support for special handling of the stacks on
|
|
|
12351 |
machines with 16:16 addressing. Currently this only happens if DPNEXT is
|
|
|
12352 |
defined. (istack.h)
|
|
|
12353 |
|
|
|
12354 |
Brings multiple contexts closer to working. The interpreter can now run
|
|
|
12355 |
some very simple test cases. (int.mak, icontext.h, igstate.h, interp.h,
|
|
|
12356 |
istruct.h, icontext.c, interp.c, zcontext.c, zgstate.c)
|
|
|
12357 |
|
|
|
12358 |
Adds support for FunctionType 0 Functions. (ifunc.h, iref.h, store.h,
|
|
|
12359 |
zfunc.c, zfunc0.c)
|
|
|
12360 |
|
|
|
12361 |
Updates a few remaining pseudo-operators in gs_init.ps to take advantage of
|
|
|
12362 |
automatic operand and dictionary stack restoration: eexec, identmatrix,
|
|
|
12363 |
pathbbox. Not updated yet: filter. (gs_init.ps)
|
|
|
12364 |
|
|
|
12365 |
</pre><h3><a name="V5.06_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
12366 |
|
|
|
12367 |
Fixes bugs:
|
|
|
12368 |
- Separation color spaces weren't supported. (gs_pdf.ps,
|
|
|
12369 |
pdf_draw.ps)
|
|
|
12370 |
|
|
|
12371 |
</pre><h3><a name="V5.06_Library"></a>Library</h3><pre>
|
|
|
12372 |
|
|
|
12373 |
Fixes bugs:
|
|
|
12374 |
- The size argument to gs_free was wrong in an out-of-memory case.
|
|
|
12375 |
(This was irrelevant, since gs_free only uses the size argument for
|
|
|
12376 |
error-checking during debugging.) (gdevprn.c)
|
|
|
12377 |
- When freeing a block on the C heap, if -Z@ was set, the block's
|
|
|
12378 |
header wasn't filled with the sentinel pattern. (Only relevant when
|
|
|
12379 |
debugging.) (gsmemory.c)
|
|
|
12380 |
- The C heap allocator didn't fix up pointers properly when freeing
|
|
|
12381 |
a block, causing unpredictable memory corruption after a 'resize' call.
|
|
|
12382 |
(gsmemory.c)
|
|
|
12383 |
- Using a show operator inside the procedure of a cshow with a
|
|
|
12384 |
composite font could cause an invalid access. (gschar.c)
|
|
|
12385 |
|
|
|
12386 |
Adds support for FunctionType 0 Functions. (gsdsrc.h, gsfunc.h, gsfunc0.h,
|
|
|
12387 |
gxfunc.h, gsdsrc.c, gsfunc.c, gsfunc0.c)
|
|
|
12388 |
|
|
|
12389 |
Moves the GC descriptor for arrays of constant strings to a place where it
|
|
|
12390 |
is more visible. (gscie.h, gsstruct.h, gscie.c, gsmemory.c)
|
|
|
12391 |
|
|
|
12392 |
</pre>
|
|
|
12393 |
|
|
|
12394 |
<hr>
|
|
|
12395 |
|
|
|
12396 |
<h2><a name="Version5.05"></a>Version 5.05 (limited) (9/24/97)</h2>
|
|
|
12397 |
|
|
|
12398 |
<p>
|
|
|
12399 |
This fixes a few bugs found in the first few days of testing 5.04. There
|
|
|
12400 |
will probably be several more small incremental filesets before the next
|
|
|
12401 |
public release.
|
|
|
12402 |
|
|
|
12403 |
<h3><a name="V5.05_Platforms"></a>Platforms</h3><pre>
|
|
|
12404 |
|
|
|
12405 |
Fixes bugs:
|
|
|
12406 |
- The Windows code wouldn't compile with the latest MSVC++, because
|
|
|
12407 |
Microsoft changed the prototype for fprintf. (gp_msio.c)
|
|
|
12408 |
|
|
|
12409 |
</pre><h3><a name="V5.05_Drivers"></a>Drivers</h3><pre>
|
|
|
12410 |
|
|
|
12411 |
Fixes bugs:
|
|
|
12412 |
- A picky compiler complained about some omitted casts. (gdevpdf.c,
|
|
|
12413 |
gdevpdft.c)
|
|
|
12414 |
- Writing a PDF file with any synthesized fonts could produce
|
|
|
12415 |
slightly garbled output or possibly even an invalid memory access, because a
|
|
|
12416 |
string was not terminated. (gdevpdft.c)
|
|
|
12417 |
- When writing a PDF file, the first character of a string could get
|
|
|
12418 |
placed off the page, because of a matrix bookkeeping error. (gdevpdft.c)
|
|
|
12419 |
|
|
|
12420 |
</pre><h3><a name="V5.05_Interpreter"></a>Interpreter</h3><pre>
|
|
|
12421 |
|
|
|
12422 |
Fixes bugs:
|
|
|
12423 |
- In case of an error, setpagedevice executed a 'stop'
|
|
|
12424 |
unconditionally, rather than just signalling an error through the error
|
|
|
12425 |
machinery. (gs_setpd.ps)
|
|
|
12426 |
|
|
|
12427 |
</pre><h3><a name="V5.05_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
12428 |
|
|
|
12429 |
Fixes bugs:
|
|
|
12430 |
- Files with unknown operators caused errors, even if the BX
|
|
|
12431 |
operator was used to disable the error report. (pdf_base.ps)
|
|
|
12432 |
|
|
|
12433 |
</pre>
|
|
|
12434 |
|
|
|
12435 |
<hr>
|
|
|
12436 |
|
|
|
12437 |
<h2><a name="Version5.04"></a>Version 5.04 (limited) (9/21/97)</h2>
|
|
|
12438 |
|
|
|
12439 |
<p>
|
|
|
12440 |
This is a test fileset for an unplanned release that greatly reduces the
|
|
|
12441 |
size of PDF files produced by the pdfwrite device, and also optionally
|
|
|
12442 |
produces output compatible with Acrobat 2.x, in order to address problems
|
|
|
12443 |
reported by NSF in processing these files as part of their FastLane
|
|
|
12444 |
electronic proposal submission process. Aside from that, and some localized
|
|
|
12445 |
bug fixes, it has minimal changes from 5.03.
|
|
|
12446 |
|
|
|
12447 |
<h3><a name="V5.04_Documentation"></a>Documentation</h3><pre>
|
|
|
12448 |
|
|
|
12449 |
Fixes bugs:
|
|
|
12450 |
- George Cameron's address was listed with a domain of .ukis rather
|
|
|
12451 |
than .uk. (devices.txt)
|
|
|
12452 |
- The default value of ORIENT1 was given as false rather than true.
|
|
|
12453 |
(use.txt)
|
|
|
12454 |
- The documentation for ps2pdf said one can omit the output file
|
|
|
12455 |
name, but this is only true on Unix systems. (ps2pdf.txt)
|
|
|
12456 |
- The documentation for ps2pdf didn't make clear that the executable
|
|
|
12457 |
must be named gs on Microsoft OSs. (ps2pdf.txt)
|
|
|
12458 |
- ht_cache is actually allocated with the first gstate, not on
|
|
|
12459 |
demand. (gsstate.c)
|
|
|
12460 |
|
|
|
12461 |
Slightly improves the documentation of .type1execchar. (zchar1.c)
|
|
|
12462 |
|
|
|
12463 |
Clarifies the distinction between Ghostscript (PostScript) commands and
|
|
|
12464 |
shell commands, for the benefit of users brainwashed by Microsoft.
|
|
|
12465 |
(use.txt)
|
|
|
12466 |
|
|
|
12467 |
Improves the usage synopsis in the ps2epsi man page. (ps2epsi.1)
|
|
|
12468 |
|
|
|
12469 |
Adds a reference to Uli Wortmann's H-P drivers. (new-user.txt)
|
|
|
12470 |
|
|
|
12471 |
Improves the documentation of GS_FONTPATH, distinguishing it from GS_LIB and
|
|
|
12472 |
the search path. (use.txt)
|
|
|
12473 |
|
|
|
12474 |
Notes that on some systems, one must substitute 'installbsd' for 'install'
|
|
|
12475 |
in the makefile and make other edits. (install.txt, ansihead.mak,
|
|
|
12476 |
cc-head.mak, gcc-head.mak)
|
|
|
12477 |
|
|
|
12478 |
Notes that ps2epsi is no longer maintained. (ps2epsi.ps)
|
|
|
12479 |
|
|
|
12480 |
Clarifies the availability of support. (new-user.txt)
|
|
|
12481 |
|
|
|
12482 |
</pre><h3><a name="V5.04_Procedures"></a>Procedures</h3><pre>
|
|
|
12483 |
|
|
|
12484 |
Fixes bugs:
|
|
|
12485 |
- The uniprint driver was accidentally omitted from the default
|
|
|
12486 |
Watcom (MS-DOS) and OS/2 configurations. (watc.mak, os2.mak)
|
|
|
12487 |
- The suggested compiler switches for Digital Unix were incorrect.
|
|
|
12488 |
(make.txt)
|
|
|
12489 |
- The cp.cmd script file didn't work in the newest versions of OS/2.
|
|
|
12490 |
(cp.cmd)
|
|
|
12491 |
- The compilation rules for some Windows-specific files didn't
|
|
|
12492 |
include ccf32.tr in their dependencies, which could cause the compilation to
|
|
|
12493 |
fail. (winint.mak)
|
|
|
12494 |
|
|
|
12495 |
Removes the lev2min configuration, since we no longer support 16-bit Windows
|
|
|
12496 |
environments. (int.mak)
|
|
|
12497 |
|
|
|
12498 |
</pre><h3><a name="V5.04_Utilities"></a>Utilities</h3><pre>
|
|
|
12499 |
|
|
|
12500 |
Fixes bugs:
|
|
|
12501 |
- ps2epsi.bat always appended to the output file, rather than
|
|
|
12502 |
writing over it. (There are probably other bugs in this script file.)
|
|
|
12503 |
(ps2epsi.bat)
|
|
|
12504 |
- The output of pdf2ps didn't execute properly on some printers,
|
|
|
12505 |
especially Level 1 printers. (gs_pdf.ps)
|
|
|
12506 |
|
|
|
12507 |
Makes ps2pdf do an initial 'save', which causes fonts to be retained better
|
|
|
12508 |
across pages. (ps2pdf, ps2pdf.bat)
|
|
|
12509 |
|
|
|
12510 |
Adds an option to pcharstr.ps to produce C-like rather than PostScript-like
|
|
|
12511 |
output. (pcharstr.ps)
|
|
|
12512 |
|
|
|
12513 |
</pre><h3><a name="V5.04_Drivers"></a>Drivers</h3><pre>
|
|
|
12514 |
|
|
|
12515 |
Fixes bugs:
|
|
|
12516 |
- The LaserJet III and higher printers weren't able to print in the
|
|
|
12517 |
narrow strip between 1/6" and 1/4" from the left edge of the page.
|
|
|
12518 |
(gdevdjet.c)
|
|
|
12519 |
- The PCL XL drivers produced incorrect output which often caused a
|
|
|
12520 |
PCL XL NoCurrentFont error at the beginning of the second page. (gdevpx.c)
|
|
|
12521 |
- The GC descriptors for the pswrite device and for PS/PDF devices
|
|
|
12522 |
were incorrect, causing the GC to smash memory. (gdevpsdf.h, gdevps.c)
|
|
|
12523 |
- The pdfwrite device didn't have a GC descriptor at all. ******
|
|
|
12524 |
DISABLED because the device allocates all its temporary structures directly
|
|
|
12525 |
on the C heap. ****** (gdevpdf.c)
|
|
|
12526 |
- When the PDF writer wrote out the Dest key in an action
|
|
|
12527 |
dictionary, it always used a page object instead of a page number, even if
|
|
|
12528 |
the page was in another file or didn't exist; it now always uses a page
|
|
|
12529 |
number. (gdevpdfm.c)
|
|
|
12530 |
- The PDF writer gave an error if a file redefined any of the 14
|
|
|
12531 |
known fonts. (gs_pdfwr.ps)
|
|
|
12532 |
- The PDF writer didn't handle copy_mono with a non-zero sourcex.
|
|
|
12533 |
(This probably had no effect in practice.) (gdevpdfi.c)
|
|
|
12534 |
|
|
|
12535 |
Splits off gdevpdfd.c (driver drawing procedures) from gdevpdf.c, since the
|
|
|
12536 |
file was getting too large. (gdevpdfx.h, gdevpdf.c, gdevpdfd.c)
|
|
|
12537 |
|
|
|
12538 |
Adds recognition of the CompressPages, CompatibilityLevel, and
|
|
|
12539 |
UseFlateCompression device (distiller) parameters to the PDF writer. If
|
|
|
12540 |
CompressPages is true (default), CompatibilityLevel is 1.2 (default), and
|
|
|
12541 |
UseFlateCompression is true (default), page contents will be compressed with
|
|
|
12542 |
Flate ("zip") compression; otherwise, they will not be compressed.
|
|
|
12543 |
|
|
|
12544 |
Restructures the PDF writer to produce much smaller and faster PDF files, by
|
|
|
12545 |
restructuring its handling of text to defer all resources to the end of the
|
|
|
12546 |
file, eliminate duplicate Font resources, turn characters into Type 3 fonts
|
|
|
12547 |
rather than Image XObjects, use more efficient text positioning commands,
|
|
|
12548 |
and optionally (but by default) Flate-compress the contents streams. Also
|
|
|
12549 |
removes some unnecessary spaces in the output. (gdevpdfx.h, gdevpdf.c,
|
|
|
12550 |
gdevpdfd.c, gdevpdfi.c, gdevpdfm.c, gdevpdft.c)
|
|
|
12551 |
|
|
|
12552 |
Improves the PDF writer so that it no longer converts stroke operations with
|
|
|
12553 |
non-uniform CTMs to fills, and doesn't bother to stroke empty paths at all.
|
|
|
12554 |
(gdevpdfd.c)
|
|
|
12555 |
|
|
|
12556 |
Speeds up the "alternate" X devices substantially. (gdevxalt.c)
|
|
|
12557 |
|
|
|
12558 |
</pre><h3><a name="V5.04_Interpreter"></a>Interpreter</h3><pre>
|
|
|
12559 |
|
|
|
12560 |
Fixes bugs:
|
|
|
12561 |
- Filling a string with a Pattern caused a crash with the PDF
|
|
|
12562 |
writer. (gs_pdfwr.ps)
|
|
|
12563 |
- Converting a file with no marks at all to PDF produced invalid
|
|
|
12564 |
output. (gdevpdf.c)
|
|
|
12565 |
- .endpage, which is called at the end of every page, sometimes left
|
|
|
12566 |
2 extra values on the stack. (gs_setpd.ps)
|
|
|
12567 |
- A definefont with a Type 1 font lacking a .notdef character didn't
|
|
|
12568 |
cause an invalidfont error. (bfont.h, zfont1.c, zfont2.c)
|
|
|
12569 |
- On anti-aliased devices, characters from Type 1 fonts with an
|
|
|
12570 |
incorrect or missing FontBBox came out a factor of 2 or 4 too small if the
|
|
|
12571 |
character was small enough to cache. (zchar1.c)
|
|
|
12572 |
- If a file redefined certain operators, loading Type 1 fonts could
|
|
|
12573 |
fail. This problem was fixed in an earlier release, and somehow the fix got
|
|
|
12574 |
undone. (gs_type1.ps)
|
|
|
12575 |
- cshow didn't set the correct current font when running the
|
|
|
12576 |
procedure, and didn't restore it properly afterwards. (zchar.c, zchar2.c)
|
|
|
12577 |
- With certain compilers, the interpreter loop caused unaligned
|
|
|
12578 |
memory accesses on DEC Alpha systems running Windows NT. (iref.h)
|
|
|
12579 |
|
|
|
12580 |
Adds freelist validation to the memory checker. (ilocate.c)
|
|
|
12581 |
|
|
|
12582 |
Changes the debugging switch for bypassing the garbage collector from
|
|
|
12583 |
compile-time to run-time. (igc.c)
|
|
|
12584 |
|
|
|
12585 |
Adds the real operators for view clipping (but they don't do anything yet,
|
|
|
12586 |
because view clipping isn't implemented at the library level). (zdps.c,
|
|
|
12587 |
zvmem.c)
|
|
|
12588 |
|
|
|
12589 |
Completes the implementation of defineusername. (zdps.c)
|
|
|
12590 |
|
|
|
12591 |
Adds an implementation of wtranslation, by simply reading a device parameter
|
|
|
12592 |
of the same name. (gs_dps.ps)
|
|
|
12593 |
|
|
|
12594 |
</pre><h3><a name="V5.04_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
12595 |
|
|
|
12596 |
Fixes bugs:
|
|
|
12597 |
- Lab color spaces weren't implemented, and gave an error.
|
|
|
12598 |
(gs_pdf.ps)
|
|
|
12599 |
- Images only worked with built-in color spaces, not color space
|
|
|
12600 |
resources. (pdf_draw.ps)
|
|
|
12601 |
- Embedded font subsets were treated as undefined. (pdf_font.ps)
|
|
|
12602 |
|
|
|
12603 |
</pre><h3><a name="V5.04_Library"></a>Library</h3><pre>
|
|
|
12604 |
|
|
|
12605 |
Fixes bugs:
|
|
|
12606 |
- strokepath sometimes clipped the path to the current clipping
|
|
|
12607 |
region, which it should never do. (gxstroke.c)
|
|
|
12608 |
- The initial X/Y position for Type 2 charstrings (CFFs) sometimes
|
|
|
12609 |
was set incorrectly. (gstype2.c)
|
|
|
12610 |
- Memory management for dash patterns was still incorrect (despite
|
|
|
12611 |
the fix in 4.36), possibly causing snarled freelists and invalid memory
|
|
|
12612 |
references. (gsline.c, gsstate.c)
|
|
|
12613 |
- The saved gstate of a Pattern instance was freed properly when the
|
|
|
12614 |
instance was freed by reference counting as a result of setting the color or
|
|
|
12615 |
color space, but not when the instance was freed by reference counting
|
|
|
12616 |
anywhere else. (gspcolor.c)
|
|
|
12617 |
- A test for whether to use a slower form of oversampling was
|
|
|
12618 |
incorrect. (Probably only a performance bug.) (gschar.c)
|
|
|
12619 |
- cshow didn't set the correct current font when running the
|
|
|
12620 |
procedure, and didn't restore it properly afterwards. (gsfont.h, gschar.c,
|
|
|
12621 |
gsfont.c)
|
|
|
12622 |
|
|
|
12623 |
Improves allocator validity checking when DEBUG is set. (gsalloc.c)
|
|
|
12624 |
|
|
|
12625 |
Adds a couple of missing FontType values. (gxftype.h)
|
|
|
12626 |
|
|
|
12627 |
Changes the default conversions between CMYK and RGB colors back to the
|
|
|
12628 |
Adobe rules documented in the Red Book, to reduce output differences from
|
|
|
12629 |
Adobe implementations. (gxdcconv.c)
|
|
|
12630 |
|
|
|
12631 |
Adds a graphics state element for view clipping, under an #ifdef DPNEXT, and
|
|
|
12632 |
implementations of the view clipping operators (but not the logic for doing
|
|
|
12633 |
the actual clipping). (gsstate.h, gzstate.h, gsstate.c)
|
|
|
12634 |
|
|
|
12635 |
Removes the redundant clip_rule variable from the graphics state (which
|
|
|
12636 |
wasn't used for anything). (gzstate.h, gspath.c)
|
|
|
12637 |
|
|
|
12638 |
</pre>
|
|
|
12639 |
|
|
|
12640 |
<hr>
|
|
|
12641 |
|
|
|
12642 |
<h2><a name="Version5.03"></a>Version 5.03 (8/8/97)</h2>
|
|
|
12643 |
|
|
|
12644 |
<p>
|
|
|
12645 |
The only reason for this release is to fix two serious bugs introduced
|
|
|
12646 |
between 5.01 and 5.02. We fixed a few other very localized and low-risk
|
|
|
12647 |
bugs at the same time.
|
|
|
12648 |
|
|
|
12649 |
<h3><a name="V5.03_Documentation"></a>Documentation</h3><pre>
|
|
|
12650 |
|
|
|
12651 |
Removes the "(if relevant)" from the bug reporting form, since about 25% of
|
|
|
12652 |
the forms are submitted without a URL or any other data. (bug-form.txt)
|
|
|
12653 |
|
|
|
12654 |
Adds a discussion of single-use procedures to the style guide.
|
|
|
12655 |
(c-style.txt)
|
|
|
12656 |
|
|
|
12657 |
Updates the information about obtaining Ghostscript on physical media.
|
|
|
12658 |
(new-user.txt)
|
|
|
12659 |
|
|
|
12660 |
Updates the information about ps_view. (new-user.txt)
|
|
|
12661 |
|
|
|
12662 |
</pre><h3><a name="V5.03_Procedures"></a>Procedures</h3><pre>
|
|
|
12663 |
|
|
|
12664 |
Adds the uniprint driver to all platforms. (*.mak)
|
|
|
12665 |
|
|
|
12666 |
Changes the contents of the pc.tar.gz archives:
|
|
|
12667 |
- Adds *.upp.
|
|
|
12668 |
- Removes *.res.
|
|
|
12669 |
- Removes cp.bat, font2c.bat, mv.bat, rm.bat, wmakebat.bat,
|
|
|
12670 |
cp.cmd, mv.cmd and rm.cmd, and gv-vms.hlp.
|
|
|
12671 |
|
|
|
12672 |
Removes an obsolete script file. (tar_mv)
|
|
|
12673 |
|
|
|
12674 |
</pre><h3><a name="V5.03_Drivers"></a>Drivers</h3><pre>
|
|
|
12675 |
|
|
|
12676 |
Fixes bugs:
|
|
|
12677 |
- The uniprint driver didn't handle an increase in media height
|
|
|
12678 |
correctly. (gdevupd.c)
|
|
|
12679 |
|
|
|
12680 |
</pre><h3><a name="V5.03_Platforms"></a>Platforms</h3><pre>
|
|
|
12681 |
|
|
|
12682 |
Fixes bugs:
|
|
|
12683 |
- Printing to printers other than LPT1 under MS Windows no longer
|
|
|
12684 |
worked. (bug introduced in 5.02) (gp_mswin.c)
|
|
|
12685 |
- Drag-and-drop didn't work under Windows NT (or other 32-bit
|
|
|
12686 |
Windows environments). (dwtext.cpp)
|
|
|
12687 |
- Sequent systems needed an additional system header file.
|
|
|
12688 |
(time_.h)
|
|
|
12689 |
|
|
|
12690 |
</pre><h3><a name="V5.03_Fonts"></a>Fonts</h3><pre>
|
|
|
12691 |
|
|
|
12692 |
Fixes bugs:
|
|
|
12693 |
- The substitutions Myriad => Times and Minion => Helvetica were
|
|
|
12694 |
incorrect; they should be the other way around. (gs_fonts.ps)
|
|
|
12695 |
- MyriadPkg wasn't recognized as a condensed font. (gs_fonts.ps)
|
|
|
12696 |
- Univers wasn't recognized as mapping to Helvetica. (gs_fonts.ps)
|
|
|
12697 |
|
|
|
12698 |
</pre><h3><a name="V5.03_Interpreter"></a>Interpreter</h3><pre>
|
|
|
12699 |
|
|
|
12700 |
Fixes bugs:
|
|
|
12701 |
- A line of debugging code, printing the sections of 3 regions of
|
|
|
12702 |
TrueType fonts being loaded, was accidentally left in. (gs_ttf.ps)
|
|
|
12703 |
- TrueType fonts whose pre-glyf data had odd length were broken
|
|
|
12704 |
(typically gave a rangecheck error), because of the fix to treat the odd
|
|
|
12705 |
byte of individual sfnts strings as padding per Adobe documentation. (bug
|
|
|
12706 |
introduced in 5.02) (gs_ttf.ps)
|
|
|
12707 |
|
|
|
12708 |
</pre><h3><a name="V5.03_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
12709 |
|
|
|
12710 |
Fixes bugs:
|
|
|
12711 |
- If a real-number token in a CFF had an even number of nibbles, a
|
|
|
12712 |
unmatchedmark error would occur. (gs_cff.ps)
|
|
|
12713 |
- If the strings Index in a CFF included an empty string, a
|
|
|
12714 |
rangecheck error would occur. (gs_cff.ps)
|
|
|
12715 |
- CFFs with non-standard Encodings that included standard strings
|
|
|
12716 |
would get a typecheck error. (gs_cff.ps)
|
|
|
12717 |
|
|
|
12718 |
</pre><h3><a name="V5.03_Library"></a>Library</h3><pre>
|
|
|
12719 |
|
|
|
12720 |
Fixes bugs:
|
|
|
12721 |
- Using %d in an OutputFile name didn't substitute the page number.
|
|
|
12722 |
(bug introduced in 5.02) (gsdevice.c)
|
|
|
12723 |
- In Type 2 CharStrings, if a hintmask occurred at the beginning, it
|
|
|
12724 |
wasn't recognized as also incorporating the function of vstemhm.
|
|
|
12725 |
(gstype2.c)
|
|
|
12726 |
- The data bytes for hintmask and cntrmask weren't printed for
|
|
|
12727 |
debugging. (gstype2.c)
|
|
|
12728 |
|
|
|
12729 |
</pre>
|
|
|
12730 |
|
|
|
12731 |
<hr>
|
|
|
12732 |
|
|
|
12733 |
<h2><a name="Version5.02"></a>Version 5.02 (7/28/97)</h2>
|
|
|
12734 |
|
|
|
12735 |
<p>
|
|
|
12736 |
Because of an ISP failure that delayed the 5.0 announcement for 12 days, the
|
|
|
12737 |
5.01 release only responded to a few days of bug reports; 5.02 fixes some
|
|
|
12738 |
problems that should have been fixed in 5.01, as well as a large number of
|
|
|
12739 |
obscure problems uncovered by Genoa testing.
|
|
|
12740 |
|
|
|
12741 |
<h3><a name="V5.02_Documentation"></a>Documentation</h3><pre>
|
|
|
12742 |
|
|
|
12743 |
Fixes bugs:
|
|
|
12744 |
- The documentation for building on the Intergraph Clipper was out
|
|
|
12745 |
of date. (make.txt)
|
|
|
12746 |
- ESC was claimed to be a self-delimiting character. (gs_init.ps)
|
|
|
12747 |
- Removes the documentation claiming that ^D and ^Z are
|
|
|
12748 |
self-delimiting. (language.txt)
|
|
|
12749 |
- Document that -dSUBSTFONT doesn't create a font with the requested
|
|
|
12750 |
font name. (use.txt)
|
|
|
12751 |
- Ghostscript was defined as compatible with PDF 1.1 rather than PDF
|
|
|
12752 |
1.2. (language.txt)
|
|
|
12753 |
- The description of gcc problems on Alpha didn't make it clear that
|
|
|
12754 |
the use of gcc was optional, not required. (make.txt)
|
|
|
12755 |
- The description of how to use GNU make on VMS systems was
|
|
|
12756 |
inaccurate. (make.txt)
|
|
|
12757 |
|
|
|
12758 |
Improves the documentation for building on H-P RISC systems. (make.txt)
|
|
|
12759 |
|
|
|
12760 |
Corrects the discussion of Cygnus' licensing terms for the cygwin32
|
|
|
12761 |
environment. (make.txt)
|
|
|
12762 |
|
|
|
12763 |
Removes the apology for the poor quality of Ghostscript's TrueType
|
|
|
12764 |
rasterizer, since the quality is now quite good. (fonts.txt)
|
|
|
12765 |
|
|
|
12766 |
Documents the fact that one must use # rather than = with Watcom C.
|
|
|
12767 |
(use.txt)
|
|
|
12768 |
|
|
|
12769 |
Documents the updates and additions to the uniprint driver. (devices.txt)
|
|
|
12770 |
|
|
|
12771 |
Adds some material to Aladdin's C style guide. (c-style.txt)
|
|
|
12772 |
|
|
|
12773 |
Documents the fact that using gmake requires VMS 6.2 or later on Alphas and
|
|
|
12774 |
7.1 (perhaps 7.0) or later on VAXen. (make.txt)
|
|
|
12775 |
|
|
|
12776 |
Adds an example EPS file. (psfiles.txt)
|
|
|
12777 |
|
|
|
12778 |
Adds some information about compiling and linking under OS/2. (make.txt)
|
|
|
12779 |
|
|
|
12780 |
Expands the description of XLIBDIR and XLIBDIRS. (*head.mak)
|
|
|
12781 |
|
|
|
12782 |
Adds a new pointer to information on using a Kanji font with Ghostscript.
|
|
|
12783 |
(new-user.txt)
|
|
|
12784 |
|
|
|
12785 |
Documents the use of /Resource/<category>/<resource> as the default place
|
|
|
12786 |
where resources are sought. (use.txt)
|
|
|
12787 |
|
|
|
12788 |
Updates the documentation on building with MSVC++ to reflect the makefile
|
|
|
12789 |
changes. (make.txt)
|
|
|
12790 |
|
|
|
12791 |
</pre><h3><a name="V5.02_Procedures"></a>Procedures</h3><pre>
|
|
|
12792 |
|
|
|
12793 |
Fixes bugs:
|
|
|
12794 |
- In openvms.mak, several ifdef tests were wrong. (openvms.mak)
|
|
|
12795 |
- One CP command was slightly inconsistent with the others.
|
|
|
12796 |
(zlib.mak)
|
|
|
12797 |
- If libz and libpng were both shared, libz was linked first,
|
|
|
12798 |
resulting in some undefined references. (libpng.mak)
|
|
|
12799 |
- The VMS makefile didn't interact properly with VMS's version
|
|
|
12800 |
numbering facility. (copy_one.com)
|
|
|
12801 |
|
|
|
12802 |
Updates the VMS DCL script one last time, to handle libpng version 96.
|
|
|
12803 |
(vms.mak)
|
|
|
12804 |
|
|
|
12805 |
Restructures the MSVC++ makefiles to allow building the graphics library
|
|
|
12806 |
without the PostScript interpreter. (bcwin32.mak, msvc4.mak[deleted],
|
|
|
12807 |
msvc5.mak[deleted], msvc32.mak, msvccom.mak, watcw32.mak,
|
|
|
12808 |
wincom.mak[deleted], winint.mak, winlib.mak)
|
|
|
12809 |
|
|
|
12810 |
Adds a makefile to create a library-only demo program under MSVC++, like the
|
|
|
12811 |
ones for Unix/gcc and MS-DOS/Watcom. (msvclib.mak)
|
|
|
12812 |
|
|
|
12813 |
Adds an example EPS file. (ridt91.eps, unix-end.mak)
|
|
|
12814 |
|
|
|
12815 |
Removes support for libpng release 0.88, which is now quite obsolete.
|
|
|
12816 |
(libpng.mak)
|
|
|
12817 |
|
|
|
12818 |
</pre><h3><a name="V5.02_Utilities"></a>Utilities</h3><pre>
|
|
|
12819 |
|
|
|
12820 |
Fixes bugs:
|
|
|
12821 |
- ps2pdf.bat, unlike ps2pdf, didn't accept options. (ps2pdf.bat)
|
|
|
12822 |
- echogs used 'const' in one place, which wasn't accepted by some
|
|
|
12823 |
very old compilers. (echogs.c)
|
|
|
12824 |
- pdf2ps output Orientation, which it shouldn't. (pdf_main.ps)
|
|
|
12825 |
|
|
|
12826 |
Makes the usage message from ps2pdf.bat include the options, like ps2pdf.
|
|
|
12827 |
(ps2pdf.bat)
|
|
|
12828 |
|
|
|
12829 |
Changes the printpath utility so that its output is legal PostScript code.
|
|
|
12830 |
(ppath.ps)
|
|
|
12831 |
|
|
|
12832 |
Makes pdf2dsc add DSC comments for the bounding box (if a CropBox is
|
|
|
12833 |
available in the PDF file) and the orientation. (pdf2dsc.ps)
|
|
|
12834 |
|
|
|
12835 |
</pre><h3><a name="V5.02_Drivers"></a>Drivers</h3><pre>
|
|
|
12836 |
|
|
|
12837 |
Fixes bugs:
|
|
|
12838 |
- The get_bits operation wasn't implemented for the vgalib driver.
|
|
|
12839 |
(gdevvglb.c)
|
|
|
12840 |
- The dnj650c driver output an extra % near the end of the file.
|
|
|
12841 |
(gdevcdj.c)
|
|
|
12842 |
- The definition of pprintd2 didn't have a line break before the
|
|
|
12843 |
procedure name, confusing ansi2knr. (gdevpstr.c)
|
|
|
12844 |
- EPS files produced invalid PDF output. (gdevpdf.c)
|
|
|
12845 |
- "Vector" output devices didn't recognize %d in output file names,
|
|
|
12846 |
or - for output to stdout. (gdevprn.h, gxdevice.h, gdevprn.c, gdevvec.c,
|
|
|
12847 |
gsdevice.c)
|
|
|
12848 |
- With the pdfwrite driver, restore or grestore would cause a
|
|
|
12849 |
rangecheck error in .installpagedevice if a setpagedevice had been executed.
|
|
|
12850 |
(gdevpdfp.c)
|
|
|
12851 |
- The pdfwrite driver produced garbage output for text rotated by
|
|
|
12852 |
angles that were only infinitesimally different from multiples of 90
|
|
|
12853 |
degrees. (gdevpdft.c)
|
|
|
12854 |
- The pnm[raw] driver didn't handle anti-aliasing properly.
|
|
|
12855 |
(gdevpbm.c)
|
|
|
12856 |
- The PDF writer didn't scale the parameters for [a][width]show
|
|
|
12857 |
correctly. (gs_pdfwr.ps, gdevpdft.c)
|
|
|
12858 |
|
|
|
12859 |
Fixes some minor compilation warnings not affecting code functionality.
|
|
|
12860 |
(gdevbbox.c, gdevpdfm.c, gshtscr.c, gsmemory.c, gxccman.c, gxfill.c,
|
|
|
12861 |
gximage0.c)
|
|
|
12862 |
|
|
|
12863 |
Fixes some bugs in the uniprint driver and adds some more printer models.
|
|
|
12864 |
(gdevupd.c, bjc610a*.upp, bjc610b*.upp, necp2x6.upp, stc1520h.upp)
|
|
|
12865 |
|
|
|
12866 |
Makes a small change for clean compilation on BeOS. (gdevcdj.c)
|
|
|
12867 |
|
|
|
12868 |
Updates the PNG driver to use updated API calls for allocating/initializing
|
|
|
12869 |
and freeing the PNG structures. (gdevpng.c)
|
|
|
12870 |
|
|
|
12871 |
</pre><h3><a name="V5.02_Platforms"></a>Platforms</h3><pre>
|
|
|
12872 |
|
|
|
12873 |
Refactors the MS Windows code to allow building the library without the
|
|
|
12874 |
interpreter. (gs_msio.c, gs_mslib.c, gp_mswin.c)
|
|
|
12875 |
|
|
|
12876 |
</pre><h3><a name="V5.02_Fonts"></a>Fonts</h3><pre>
|
|
|
12877 |
|
|
|
12878 |
Fixes bugs:
|
|
|
12879 |
- definefont was executed twice on TrueType fonts. (No bad
|
|
|
12880 |
consequences, just unnecessary work.) (gs_ttf.ps)
|
|
|
12881 |
|
|
|
12882 |
</pre><h3><a name="V5.02_Interpreter"></a>Interpreter</h3><pre>
|
|
|
12883 |
|
|
|
12884 |
Fixes bugs:
|
|
|
12885 |
- The fix for the 'stopped' around run_string_* in 5.01 was made
|
|
|
12886 |
incorrectly. (gs_init.ps)
|
|
|
12887 |
- Many operators that expect a matrix operand didn't accept packed
|
|
|
12888 |
arrays. (iutil.c)
|
|
|
12889 |
- The default CRD didn't have an explicit BlackPoint, which some
|
|
|
12890 |
Genoa tests require. (gs_lev2.ps)
|
|
|
12891 |
- A stack protection fix caused setscreen and setcolorscreen with
|
|
|
12892 |
dictionary operands to give a typecheck. (gs_dps2.ps)
|
|
|
12893 |
- Executing a string didn't handle tail recursion properly if the
|
|
|
12894 |
last token was followed by a single whitespace character. (interp.c)
|
|
|
12895 |
- Clearing the error indication didn't set errorname to null.
|
|
|
12896 |
(gs_init.ps)
|
|
|
12897 |
- Some unexpected items appeared on the execution stack, confusing
|
|
|
12898 |
some of the Genoa tests. (gs_init.ps, istack.h, istack.c, zcontrol.c)
|
|
|
12899 |
- The dummy definitions for setucacheparams/ucachestatus didn't look
|
|
|
12900 |
enough like the real ones. (gs_dps2.ps)
|
|
|
12901 |
- Insideness tests didn't work, because the hit detection device
|
|
|
12902 |
width and height weren't set up. (zupath.c)
|
|
|
12903 |
- defineuserobject didn't use the same algorithm for growing the
|
|
|
12904 |
array as Adobe interpreters. (gs_dps2.ps)
|
|
|
12905 |
- eq and ne didn't work correctly on save objects. (iutil.c)
|
|
|
12906 |
- findfont used =string internally, interfering with PostScript
|
|
|
12907 |
programs that also used it. (gs_fonts.ps)
|
|
|
12908 |
- cshow didn't set up scaled versions of base fonts as the current
|
|
|
12909 |
font. (zchar2.c)
|
|
|
12910 |
- defineresource didn't make the resource value read-only.
|
|
|
12911 |
(gs_res.ps)
|
|
|
12912 |
- If inustroke got an error, it could return without an error
|
|
|
12913 |
indication and without changing the stack. (zupath.c)
|
|
|
12914 |
- The arrays returned by different invocations of currentcolorspace
|
|
|
12915 |
with the same device color space weren't guaranteed to be eq. (gs_lev2.ps)
|
|
|
12916 |
- Out-of-range integers followed by a '.' were converted to names
|
|
|
12917 |
rather than reals. (iscan.c, iscannum.c)
|
|
|
12918 |
- resourceforall caused an invalidaccess error if currentglobal was
|
|
|
12919 |
true but the procedure, template, or scratch string was in local VM.
|
|
|
12920 |
(gs_res.ps)
|
|
|
12921 |
- In many places, integer values were converted to floats rather
|
|
|
12922 |
than doubles, losing precision. (ichar.h, icharout.h, ifont.h, iutil.h,
|
|
|
12923 |
idparam.c, iparam.c, iutil.c, zchar.c, zchar1.c, zchar42.c, zcharout.c,
|
|
|
12924 |
zcie.c, zcolor.c, zcolor1.c, zcolor2.c, zcontrol.c, zcsindex.c, zcssepr.c,
|
|
|
12925 |
zdpnext.c, zdps1.c, zfont.c, zfont2.c, zgstate.c, zhsb.c, zht.c, zmath.c,
|
|
|
12926 |
zmatrix.c, zmedia2.c, zpath.c, zpath1.c, zupath.c)
|
|
|
12927 |
- The TransformPQR procedure in the default CRD didn't pop its
|
|
|
12928 |
auxiliary operands from the stack. (gs_lev2.ps)
|
|
|
12929 |
- Because of an incorrect stack depth check, setcolorrendering
|
|
|
12930 |
sometimes produced a stackunderflow. (zcrd.c)
|
|
|
12931 |
- sethalftone caused an invalidaccess error if the HalfTone type was
|
|
|
12932 |
not 5, the dictionary was in local VM, and the current VM was global.
|
|
|
12933 |
(gs_dps2.ps)
|
|
|
12934 |
- writeobject and printobject caused an invalidaccess error if the
|
|
|
12935 |
object being written was in local VM and the current VM was global.
|
|
|
12936 |
(gs_btokn.ps)
|
|
|
12937 |
- ustrokepath appended the strokepath segments to the current path,
|
|
|
12938 |
rather than replacing the path. (zupath.c)
|
|
|
12939 |
- restore incorrectly purged from the character cache any characters
|
|
|
12940 |
in a font being freed, even if the font had a UID. (zfont.c)
|
|
|
12941 |
- The definition of zimage_opaque_setup confused ansi2knr.
|
|
|
12942 |
(zimage.c)
|
|
|
12943 |
- Type 42 fonts that included the padding byte in each sfnts string
|
|
|
12944 |
didn't work if sfnts had more than one string. (zfont42.c)
|
|
|
12945 |
- Doing a garbage collection at the same time as handling a
|
|
|
12946 |
stackoverflow failed to update the object that needed re-execution, causing
|
|
|
12947 |
the interpreter to execute random data. (interp.c)
|
|
|
12948 |
- %stdout and %stderr weren't flushed if they were closed
|
|
|
12949 |
explicitly. (ziodev.c)
|
|
|
12950 |
|
|
|
12951 |
For greater Adobe compatibility:
|
|
|
12952 |
- Changes setdash to limit dash patterns to 11 elements. (This is
|
|
|
12953 |
enforced at the PostScript level: the graphics library doesn't have a
|
|
|
12954 |
limit.) (gs_init.ps)
|
|
|
12955 |
- Changes ^D and ^Z so they are not self-delimiting characters, and
|
|
|
12956 |
changes ^K so it is not a whitespace character. (gs_init.ps, iscan.c,
|
|
|
12957 |
scantab.c)
|
|
|
12958 |
- Makes = cause an error on non-read-accessible objects rather than
|
|
|
12959 |
printing them as --nostringval--. (gs_init.ps)
|
|
|
12960 |
- When -dSUBSTFONT= is used, makes findfont return the actual named
|
|
|
12961 |
font, rather than a copy with the FontName changed to the requested one.
|
|
|
12962 |
(gs_fonts.ps)
|
|
|
12963 |
- CFF fonts with a non-default FontMatrix caused an error.
|
|
|
12964 |
(gs_cff.ps)
|
|
|
12965 |
|
|
|
12966 |
Fixes some minor compilation warnings not affecting code functionality.
|
|
|
12967 |
(iparam.c, zfcmap.c)
|
|
|
12968 |
|
|
|
12969 |
Strengthens the test of o-stack validity in the main interpreter loop in
|
|
|
12970 |
debug mode. (interp.c)
|
|
|
12971 |
|
|
|
12972 |
Changes the filling rule for Type 1 fonts from winding-number to even-odd.
|
|
|
12973 |
This affects no properly designed fonts, and seems to match Adobe
|
|
|
12974 |
interpreters better. (zchar1.c)
|
|
|
12975 |
|
|
|
12976 |
Implements non-standard Encodings in CFF fonts. (gs_cff.ps)
|
|
|
12977 |
|
|
|
12978 |
Changes the default halftone screen for 600 dpi printers from 85 to 106 lpi,
|
|
|
12979 |
which reduces the number of halftone levels from 50 to 32 but produces
|
|
|
12980 |
visually better output. (gs_init.ps)
|
|
|
12981 |
|
|
|
12982 |
</pre><h3><a name="V5.02_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
12983 |
|
|
|
12984 |
Fixes bugs:
|
|
|
12985 |
- Pattern color spaces weren't supported. (gs_pdf.ps, pdf_draw.ps)
|
|
|
12986 |
|
|
|
12987 |
Causes references to undefined named Destinations to be ignored rather than
|
|
|
12988 |
giving an error. (pdf_main.ps)
|
|
|
12989 |
|
|
|
12990 |
</pre><h3><a name="V5.02_Library"></a>Library</h3><pre>
|
|
|
12991 |
|
|
|
12992 |
Fixes bugs:
|
|
|
12993 |
- A 'const' was omitted in a declaration, upsetting several
|
|
|
12994 |
compilers. (gxclread.c)
|
|
|
12995 |
- arct and arcto gave an error for negative radii. (gspath1.c)
|
|
|
12996 |
- The collinearity check for arct[o] could cause some arcs to be
|
|
|
12997 |
rendered as single points. (gspath1.c)
|
|
|
12998 |
- Uncolored patterns sometimes came out blank, because the color
|
|
|
12999 |
wasn't set before calling the PaintProc. (gspcolor.c)
|
|
|
13000 |
- The phase for masking colored patterns was wrong, producing
|
|
|
13001 |
incorrect output. (gspcolor.c)
|
|
|
13002 |
- reversepath always appended the current position to the new path,
|
|
|
13003 |
rather than only doing so if the path just consisted of a single moveto.
|
|
|
13004 |
(gxpath2.c)
|
|
|
13005 |
- cshow didn't restore the current font properly. (gschar.h,
|
|
|
13006 |
gschar.c)
|
|
|
13007 |
- The check for whether characters can be cached didn't consider
|
|
|
13008 |
PaintType values other than 0 and 2. (gschar.c)
|
|
|
13009 |
- The bounding box device didn't handle PageCount properly.
|
|
|
13010 |
(gdevbbox.c)
|
|
|
13011 |
- Uncached fonts with a next_char procedure didn't set the glyph
|
|
|
13012 |
properly. (gschar.c)
|
|
|
13013 |
- Parallelograms with ax < bx, ay < by, and the 'a' edge to the
|
|
|
13014 |
right of the 'b' edge weren't filled, causing pixels to be omitted from some
|
|
|
13015 |
highly skewed images. (gdevddrw.c)
|
|
|
13016 |
- 12-bit-per-pixel images in portrait orientation filled each scan
|
|
|
13017 |
line with the value of the last pixel -- i.e., didn't work. (gximage4.c)
|
|
|
13018 |
- The path representation of a clipping path could include some
|
|
|
13019 |
inappropriate, leftover path segments. (gxcpath.c)
|
|
|
13020 |
- The angle for the miter check was computed in device space rather
|
|
|
13021 |
than in user space. (gxstroke.c)
|
|
|
13022 |
- TrueType fonts were lumpy, and the accents of accented characters
|
|
|
13023 |
were placed incorrectly. (gstype42.c)
|
|
|
13024 |
- Some macros used for generating device prototypes didn't
|
|
|
13025 |
parenthesize all uses of their parameters, causing possible errors if the
|
|
|
13026 |
parameters were expressions rather than numeric constants. (gdevprn.h)
|
|
|
13027 |
- When banding, strip halftones (typically produced by
|
|
|
13028 |
AccurateScreens) sometimes didn't have the correct phase. (gxbitmap.h,
|
|
|
13029 |
gxclread.c)
|
|
|
13030 |
- A minor change was required for correct compilation with Microsoft
|
|
|
13031 |
VC++. (memory_.h)
|
|
|
13032 |
- Under certain conditions, character shapes could get wildly
|
|
|
13033 |
distorted by hints. (bug introduced in 5.01) (gxhint3.c)
|
|
|
13034 |
|
|
|
13035 |
For greater Adobe compatibility:
|
|
|
13036 |
- Changes reversepath so that the implicit line created by closepath
|
|
|
13037 |
is not considered a "segment". (gxpath2.c)
|
|
|
13038 |
|
|
|
13039 |
Fixes some minor compilation warnings not affecting code functionality.
|
|
|
13040 |
(gstype1.c)
|
|
|
13041 |
|
|
|
13042 |
Changes the font and scaled-font caches so that if the font has a UID
|
|
|
13043 |
(UniqueID or XUID), the UID and FontType are both considered part of the
|
|
|
13044 |
key, and we don't cache fonts with non-zero PaintType. (The Red Book says
|
|
|
13045 |
that changing anything except the Encoding should also change or remove the
|
|
|
13046 |
UID, but some files don't do this. The current fix is probably not
|
|
|
13047 |
sufficient, but it is a step in the right direction.) (gxfcache.h,
|
|
|
13048 |
gxccache.c, gxccman.c)
|
|
|
13049 |
|
|
|
13050 |
Splits off the definitions of font_type and fbit_type into a separate file,
|
|
|
13051 |
since gxfcache.h now needs font_type. (gxfcache.h, gxfont.h, gxftype.h)
|
|
|
13052 |
|
|
|
13053 |
Makes the Flex feature in Type 1 fonts conform to the published
|
|
|
13054 |
specification, rather than always producing curves. The comment in the code
|
|
|
13055 |
(and in the NEWS entry for release 2.6) says that this breaks some very old
|
|
|
13056 |
Adobe fonts: if this turns out to be a problem, we'll figure out a test that
|
|
|
13057 |
will do the right thing for these fonts. (gstype1.c)
|
|
|
13058 |
|
|
|
13059 |
Provides 'double' versions of some API functions to accommodate the
|
|
|
13060 |
increased use of doubles in the interpreter. (gschar.h, gschar.c)
|
|
|
13061 |
|
|
|
13062 |
Adds a compile-time option to force the use of strip halftones, for
|
|
|
13063 |
debugging. (gshtscr.c)
|
|
|
13064 |
|
|
|
13065 |
Changes the hint snapping algorithm in the Type 1 rasterizer so that it will
|
|
|
13066 |
only change a stem width by a maximum of 1/2 pixel rather than 1 pixel.
|
|
|
13067 |
This appears to help with dropouts at certain sizes. (gxhint2.c)
|
|
|
13068 |
|
|
|
13069 |
Makes a few changes for clean compilation on BeOS. (stdpre.h, stat_.h,
|
|
|
13070 |
gxcpath.c)
|
|
|
13071 |
|
|
|
13072 |
</pre>
|
|
|
13073 |
|
|
|
13074 |
<hr>
|
|
|
13075 |
|
|
|
13076 |
<h2><a name="Version5.01"></a>Version 5.01 (6/22/97)</h2>
|
|
|
13077 |
|
|
|
13078 |
<p>
|
|
|
13079 |
This fixes a few bugs reported in the 5.0 release. This will be a
|
|
|
13080 |
commercially supported release.
|
|
|
13081 |
|
|
|
13082 |
<h3><a name="V5.01_Documentation"></a>Documentation</h3><pre>
|
|
|
13083 |
|
|
|
13084 |
Fixes bugs:
|
|
|
13085 |
- README referred to an obsolete file devarch.txt. (README)
|
|
|
13086 |
- The comment on flip4x12 had a typo. (gsflip.c)
|
|
|
13087 |
- The algorithm comments for adjusted_y_spans_pixel weren't precise
|
|
|
13088 |
enough. (gxfill.c)
|
|
|
13089 |
- The usage message printed by the ps2pdf script didn't indicate
|
|
|
13090 |
that one can now insert options before the input file name. (ps2pdf)
|
|
|
13091 |
- The file searching documentation didn't indicate that paths
|
|
|
13092 |
beginning with ./ or ../ are considered "explicit" and not subject to
|
|
|
13093 |
searching. (use.txt)
|
|
|
13094 |
- The description of SEARCH_HERE_FIRST in the per-platform makefiles
|
|
|
13095 |
indicated that it only applied to initialization files, not to files
|
|
|
13096 |
specified on the command line as well. (*.mak)
|
|
|
13097 |
- There were still some references to 16-bit implementations.
|
|
|
13098 |
(install.txt)
|
|
|
13099 |
|
|
|
13100 |
Clarifies that -dNODISPLAY also suppresses output to other devices.
|
|
|
13101 |
(use.txt)
|
|
|
13102 |
|
|
|
13103 |
Adds the e-mail address for reporting problems to the bug report form, and
|
|
|
13104 |
also a space to report makefile changes. (bug-form.txt)
|
|
|
13105 |
|
|
|
13106 |
Adds a note under -g indicating that it fixes the media size. (use.txt)
|
|
|
13107 |
|
|
|
13108 |
Adds an explanation of why Ghostscript can't use the system libraries for
|
|
|
13109 |
the JPEG package. (make.txt)
|
|
|
13110 |
|
|
|
13111 |
Notes that ps2ai doesn't work properly with Adobe's Helvetica-Oblique font,
|
|
|
13112 |
and other fonts whose original FontMatrix involves skewing or rotation.
|
|
|
13113 |
(psfiles.txt)
|
|
|
13114 |
|
|
|
13115 |
Updates the uniprint documentation slightly. (devices.txt)
|
|
|
13116 |
|
|
|
13117 |
Notes that the new lj5 drivers do not work with the LJ5L. (devs.mak)
|
|
|
13118 |
|
|
|
13119 |
Modifies the Aladdin Free Public License slightly to make it clearer that
|
|
|
13120 |
the exception for freely redistributable CD-ROMs only applies if the CD-ROM
|
|
|
13121 |
is being distributed by itself, not with anything else commercial. (This
|
|
|
13122 |
has always been the case, but the previous wording wasn't clear enough.)
|
|
|
13123 |
(PUBLIC)
|
|
|
13124 |
|
|
|
13125 |
Notes that gcc with -O still has code generation problems on H-P RISC
|
|
|
13126 |
machines. (make.txt)
|
|
|
13127 |
|
|
|
13128 |
Adds a pointer to Martin Lottermoser's hpdj driver. (new-user.txt)
|
|
|
13129 |
|
|
|
13130 |
Enhances and reorganizes the documentation for building Ghostscript, in
|
|
|
13131 |
response to user feedback. (make.txt, install.txt)
|
|
|
13132 |
|
|
|
13133 |
Adds a description of the EPSF recognition feature. (language.txt)
|
|
|
13134 |
|
|
|
13135 |
</pre><h3><a name="V5.01_Procedures"></a>Procedures</h3><pre>
|
|
|
13136 |
|
|
|
13137 |
Fixes bugs:
|
|
|
13138 |
- string__h was misspelled string_h in one place. (lib.mak)
|
|
|
13139 |
- gs_dps.ps wasn't installed by "make install". (unix-end.mak)
|
|
|
13140 |
- ccgs (used with non-ANSI C compilers) didn't do the right thing
|
|
|
13141 |
with -DPNG_USE_CONST. (ccgs)
|
|
|
13142 |
|
|
|
13143 |
Adds support for version 96 of libpng, and updates all the makefiles to
|
|
|
13144 |
reference it. (libpng.mak, *.mak)
|
|
|
13145 |
|
|
|
13146 |
Updates the MSVC makefiles to get rid of some warning messages and provide a
|
|
|
13147 |
way to specify a library path for the final link. (msvc*.mak)
|
|
|
13148 |
|
|
|
13149 |
</pre><h3><a name="V5.01_Utilities"></a>Utilities</h3><pre>
|
|
|
13150 |
|
|
|
13151 |
Fixes bugs:
|
|
|
13152 |
- The usage message for the gslp utility had a minor typo.
|
|
|
13153 |
(gslp.ps)
|
|
|
13154 |
- The "line printer" utility didn't expand tabs properly when
|
|
|
13155 |
producing PostScript output. (gslp.ps)
|
|
|
13156 |
- The gslp utility didn't automatically include the date. (gslp)
|
|
|
13157 |
- The line printer scripts didn't pass the script name to the
|
|
|
13158 |
utility program, so the usage message didn't use the correct name. (gsbj*,
|
|
|
13159 |
gsdj*, gslj*, gslp*, lp*)
|
|
|
13160 |
|
|
|
13161 |
Modifies the gslp utility so that invoking it with no arguments prints the
|
|
|
13162 |
usage message. (gslp.ps)
|
|
|
13163 |
|
|
|
13164 |
Adds the ability to specify the number of bits per component to the
|
|
|
13165 |
CMYK-viewing utility. (viewcmyk.ps)
|
|
|
13166 |
|
|
|
13167 |
Changes the ps2pdf script so that on Windows NT, as on Unix, it allows
|
|
|
13168 |
omitting the output file name, automatically replacing the extension of the
|
|
|
13169 |
input file with .pdf. (ps2pdf.bat)
|
|
|
13170 |
|
|
|
13171 |
</pre><h3><a name="V5.01_Drivers"></a>Drivers</h3><pre>
|
|
|
13172 |
|
|
|
13173 |
Fixes bugs:
|
|
|
13174 |
- Some compilers didn't accept a #define with the macro name on the
|
|
|
13175 |
next line. (gdevpx.c)
|
|
|
13176 |
- The procedure dash_pattern_eq was defined in two places.
|
|
|
13177 |
(gdevpdf.c)
|
|
|
13178 |
- The uniprint driver sometimes dropped some output or got confused,
|
|
|
13179 |
because of a misunderstanding about how to update device procedure vectors
|
|
|
13180 |
properly. (gdevupd.c)
|
|
|
13181 |
- The PostScript and EPS writers produced binary output for images,
|
|
|
13182 |
which generally can't be sent to PostScript printers. (gdevpsdf.h,
|
|
|
13183 |
gdevpdf.c, gdevps.c)
|
|
|
13184 |
- The EPS writer put a %%EOF at the end of the file, which might
|
|
|
13185 |
cause problems for some spoolers if the file is embedded in another.
|
|
|
13186 |
(gdevps.c)
|
|
|
13187 |
|
|
|
13188 |
Changes the implementation of printer drivers so that they flush the output
|
|
|
13189 |
stream after each page. We aren't absolutely sure that this is a good idea,
|
|
|
13190 |
but it prevents certain anomalous behavior where the last page isn't ejected
|
|
|
13191 |
properly. (gdevprn.c)
|
|
|
13192 |
|
|
|
13193 |
Implements a long-delayed update to the mgr drivers, to restore the color
|
|
|
13194 |
mapping to an older one. (gdevmgr.h, gdevmgr.c)
|
|
|
13195 |
|
|
|
13196 |
Updates the uniprint driver with a number of changes from its author.
|
|
|
13197 |
(gdevupd.c)
|
|
|
13198 |
|
|
|
13199 |
</pre><h3><a name="V5.01_Platforms"></a>Platforms</h3><pre>
|
|
|
13200 |
|
|
|
13201 |
Adds the JPEG, Postscript, and PCL XL drivers, which are included on all
|
|
|
13202 |
other platforms, to the MS Windows platforms. (bcwin32.mak, msvc4.mak,
|
|
|
13203 |
msvc5.mak, watcw32.mak)
|
|
|
13204 |
|
|
|
13205 |
</pre><h3><a name="V5.01_Interpreter"></a>Interpreter</h3><pre>
|
|
|
13206 |
|
|
|
13207 |
Fixes bugs:
|
|
|
13208 |
- composefont defined the resource with the font name and font
|
|
|
13209 |
directory interchanged. (gs_cmap.ps)
|
|
|
13210 |
- With dFIXEDMEDIA, documents requesting other sizes caused an error
|
|
|
13211 |
instead of clipping the page. (gs_init.ps)
|
|
|
13212 |
- PageSize Policy = 7 wasn't implemented. (However, the current
|
|
|
13213 |
implementation is wrong.) (gs_setpd.ps, zmedia2.c)
|
|
|
13214 |
- FontType resource 42 wasn't defined even if Type 42 fonts were
|
|
|
13215 |
supported; similarly for FontType 9, 10, and 11 for CIDFonts. (gs_cidfn.ps,
|
|
|
13216 |
gs_res.ps)
|
|
|
13217 |
- The error handling machinery would break if the name /errordict
|
|
|
13218 |
was redefined. (gs_init.ps)
|
|
|
13219 |
- Level 1 systems got an /undefined in .doneshowpage. (zdevice.c,
|
|
|
13220 |
zdevice2.c)
|
|
|
13221 |
- Because of an initialization order problem, copy didn't work on
|
|
|
13222 |
gstates. (zgeneric.c)
|
|
|
13223 |
|
|
|
13224 |
Adds a naive implementation of findcolorrendering. (gs_lev2.ps, gs_res.ps)
|
|
|
13225 |
|
|
|
13226 |
Removes the 'stopped' around run_string[_begin/continue/end] so that, as in
|
|
|
13227 |
4.03, errors print a hex dump and exit with a non-zero code instead of
|
|
|
13228 |
printing a readable message and continuing. (We aren't sure that this
|
|
|
13229 |
change didn't undo the fix in 5.0 regarding calling startjob from
|
|
|
13230 |
run_string.) (gs_init.ps)
|
|
|
13231 |
|
|
|
13232 |
</pre><h3><a name="V5.01_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre>
|
|
|
13233 |
|
|
|
13234 |
Fixes bugs:
|
|
|
13235 |
- stdin redirection failed for PDF files even if the new stdin was
|
|
|
13236 |
seekable. This was fixed in 4.02, but the fix stopped working with the
|
|
|
13237 |
introduction of .runexec. (pdf_main.ps)
|
|
|
13238 |
|
|
|
13239 |
Makes the cross-reference reader accept a startxref value that points at the
|
|
|
13240 |
EOL before the xref line. The Adobe documentation doesn't allow this, but
|
|
|
13241 |
some real files are this way. (pdf_main.ps)
|
|
|
13242 |
|
|
|
13243 |
</pre><h3><a name="V5.01_Library"></a>Library</h3><pre>
|
|
|
13244 |
|
|
|
13245 |
Fixes bugs:
|
|
|
13246 |
- The bounding box of a completely empty path was reported as
|
|
|
13247 |
garbage. (gxpath2.c)
|
|
|
13248 |
- Stroking a path with more than one segment didn't produce correct
|
|
|
13249 |
output when anti-aliasing was used. (gspaint.c)
|
|
|
13250 |
- The alpha-buffer device returned an incorrect clipping box,
|
|
|
13251 |
causing output to be discarded. (gdevabuf.c)
|
|
|
13252 |
- gx_forward_get_clipping_box passed the wrong device to the target
|
|
|
13253 |
procedure, producing incorrect results. (gdevnfwd.c)
|
|
|
13254 |
- The sin/cos procedure did some unnecessary computations
|
|
|
13255 |
(performance bug only). (gsmisc.c)
|
|
|
13256 |
- The procedure for adjusting the ends of curves to match the
|
|
|
13257 |
tangents did some unnecessary computations (performance bug only).
|
|
|
13258 |
(gxpcopy.c)
|
|
|
13259 |
- RAM-based banding always gave an invalidfileaccess error, due to a
|
|
|
13260 |
typo in memfile_fopen. (gxclmem.c)
|
|
|
13261 |
- The algorithms for deciding whether a line is thin still weren't
|
|
|
13262 |
correct. (gxstroke.c)
|
|
|
13263 |
- The fill adjustment values for the any-part-of-pixel case (adjust
|
|
|
13264 |
= 0.5) were (0.5-epsilon, 0.5+epsilon), which colored inappropriate
|
|
|
13265 |
additional pixels if the higher coordinate was integral. With considerable
|
|
|
13266 |
trepidation, we have changed this to (0.5-epsilon,0.5), which does the right
|
|
|
13267 |
thing in every case we can think of. (gxfill.c)
|
|
|
13268 |
- When banding, paths were clipped to only 0.5 pixel outside their
|
|
|
13269 |
bounding box, which may be slightly too conservative; 1 pixel is safer.
|
|
|
13270 |
(gxclpath.c)
|
|
|
13271 |
- The algorithm for testing whether an adjusted Y value spanned a
|
|
|
13272 |
pixel center was incorrect, causing some pixels to get colored incorrectly.
|
|
|
13273 |
(gxfill.c)
|
|
|
13274 |
- 24-bit devices could cause a memory fault, by accessing a pointer
|
|
|
13275 |
just beyond the end of the line pointer array. (gdevm24.c)
|
|
|
13276 |
- Astonishingly enough, the determination of which hints were
|
|
|
13277 |
applicable to a given segment of a Type 1 character was wrong in several
|
|
|
13278 |
different places. Fixing this in a way that correctly handled all allowed
|
|
|
13279 |
permutations of the coordinate system was not simple. (gxfont1.h,
|
|
|
13280 |
gxhint1.c, gxhint3.c)
|
|
|
13281 |
- The debugging printout macros didn't include the syntactic hack to
|
|
|
13282 |
prevent an 'else' from begin assigned to the wrong 'if'. (gdebug.h)
|
|
|
13283 |
- The bbox device was accidentally limited to 130 x 130 pixels (not
|
|
|
13284 |
130" x 130"). (bug introduced in 5.0) (gdevbbox.c)
|
|
|
13285 |
- The bbox device didn't recognize PageBoundingBox in put_params,
|
|
|
13286 |
causing a possible /undefined error on [g]restore. (gdevbbox.c)
|
|
|
13287 |
- setlinewidth didn't take the absolute value of its operand.
|
|
|
13288 |
(zgstate.c)
|
|
|
13289 |
- Some code formatting was slightly off. (gximage5.c)
|
|
|
13290 |
- Some extra pixels were written for Interpolated images, but they
|
|
|
13291 |
were immediately overwritten, so the output was correct. (gximage5.c)
|
|
|
13292 |
|
|
|
13293 |
Changes the data flipping API from a macro to a procedure, adds a return
|
|
|
13294 |
value, and makes the individual flipping procedures private. (gsflip.h,
|
|
|
13295 |
gsflip.c)
|
|
|
13296 |
|
|
|
13297 |
Adds (under an #ifdef FUTURE) code to allow passing multi-plane images
|
|
|
13298 |
through the band list. (gxclpath.h, gxclimag.c, gxclread.c)
|
|
|
13299 |
|
|
|
13300 |
Adds (under an #ifdef FUTURE) code to allow passing interpolated images
|
|
|
13301 |
through the band list. NOTE: interpolated images will appear slightly
|
|
|
13302 |
different than without banding, because the part of the image intersecting
|
|
|
13303 |
each band will be scaled slightly differently in the (device) Y direction.
|
|
|
13304 |
(gxclpath.h, gxclimag.c, gxclread.c, gximage.c)
|
|
|
13305 |
|
|
|
13306 |
Changes Type 1 hinting so that when it moves points on a curve, it does so
|
|
|
13307 |
by properly scaling the curve in the given direction. (gxhint3.c)
|
|
|
13308 |
|
|
|
13309 |
</pre>
|
|
|
13310 |
|
|
|
13311 |
<hr>
|
|
|
13312 |
|
|
|
13313 |
<h2><a name="Version5.0"></a>Version 5.0 (6/6/97)</h2>
|
|
|
13314 |
|
|
|
13315 |
<p>
|
|
|
13316 |
This is the first public release since 4.03.
|
|
|
13317 |
|
|
|
13318 |
<h3><a name="V5.0_Documentation"></a>Documentation</h3><pre>
|
|
|
13319 |
|
|
|
13320 |
Fixes bugs:
|
|
|
13321 |
- Fontmap.Sol was incorrectly referred to as Fontmap.Solaris.
|
|
|
13322 |
(use.txt)
|
|
|
13323 |
- There was still a reference to pstoppm in the documentation.
|
|
|
13324 |
(psfiles.txt)
|
|
|
13325 |
- The JPEG DOS source site information was out of date. (jpeg.mak)
|
|
|
13326 |
- The list of devices included in the distributed Unix makefiles was
|
|
|
13327 |
out of date. (make.txt)
|
|
|
13328 |
- The MCU size limitation on the DCT filters was documented
|
|
|
13329 |
incorrectly. (current.txt)
|
|
|
13330 |
- The URL for the uniprint driver home page was incorrect.
|
|
|
13331 |
(devices.txt)
|
|
|
13332 |
- The makefiles referred to sfilefd.c, which is now named sfxfd.c.
|
|
|
13333 |
(gs.mak, *.mak)
|
|
|
13334 |
|
|
|
13335 |
Adds a VMS help file. (gs-vms.hlp)
|
|
|
13336 |
|
|
|
13337 |
Removes documentation for Digital Unix (OSF/1) 1.2 and 1.3, which are now
|
|
|
13338 |
long obsolete, and updates the documentation for current versions.
|
|
|
13339 |
(make.txt)
|
|
|
13340 |
|
|
|
13341 |
Notes that there may be a problem with libpng version 0.95. (libpng.mak)
|
|
|
13342 |
|
|
|
13343 |
Adds some specific documentation for the JPEG drivers. (devices.txt)
|
|
|
13344 |
|
|
|
13345 |
Adds a suggestion that people compiling Ghostscript check the values of
|
|
|
13346 |
JVERSION and PVERSION. (make.txt)
|
|
|
13347 |
|
|
|
13348 |
Removes the requirement for setting the LIB environment variable when
|
|
|
13349 |
compiling with MSVC. (make.txt)
|
|
|
13350 |
|
|
|
13351 |
</pre><h3><a name="V5.0_Procedures"></a>Procedures</h3><pre>
|
|
|
13352 |
|
|
|
13353 |
Fixes bugs:
|
|
|
13354 |
- There were a number of small errors in the new OpenVMS makefile.
|
|
|
13355 |
(openvms.mak)
|
|
|
13356 |
- The MSVC makefiles omitted a necessary switch to work around some
|
|
|
13357 |
"unspecified Pentium bugs". (msvccom.mak)
|
|
|
13358 |
- The Borland makefile wasn't even close to working; fixing it
|
|
|
13359 |
required moving the compilation rule for genarch.exe into the
|
|
|
13360 |
compiler-specific makefiles. (bcwin32.mak, msvccom.mak, watcw32.mak,
|
|
|
13361 |
wincom.mak)
|
|
|
13362 |
- There were some (harmless) undefined macro references in the MSVC
|
|
|
13363 |
makefile. (msvccom.mak)
|
|
|
13364 |
|
|
|
13365 |
Makes it unnecessary to set the LIB environment variable for MSVC.
|
|
|
13366 |
(msvc4.mak, msvc5.mak, wincom.mak)
|
|
|
13367 |
|
|
|
13368 |
Adds a note on compiling with the cygwin32 gcc compiler for Windows NT.
|
|
|
13369 |
(make.txt)
|
|
|
13370 |
|
|
|
13371 |
Updates vms.mak yet again, hopefully for the last time. (vms.mak)
|
|
|
13372 |
|
|
|
13373 |
Moves the CGM, JPEG, and MIFF file formats from DEVICE_DEVS8 to
|
|
|
13374 |
DEVICE_DEVS14 to shorten command lines; adds pcxcmyk to all platforms that
|
|
|
13375 |
include PCX format at all; adds jpeggray to all platforms that include jpeg.
|
|
|
13376 |
(devs.mak, *.mak)
|
|
|
13377 |
|
|
|
13378 |
Adds -DPNG_USE_CONST for compiling libpng, to get rid of compiler warning
|
|
|
13379 |
messages. (gs.mak)
|
|
|
13380 |
|
|
|
13381 |
Removes obsolete makefiles from the fileset. (tccommon.mak, tctail.mak)
|
|
|
13382 |
|
|
|
13383 |
</pre><h3><a name="V5.0_Interpreter"></a>Interpreter</h3><pre>
|
|
|
13384 |
|
|
|
13385 |
Fixes bugs:
|
|
|
13386 |
- restore was broken if -dNOBIND was invoked. This fix should have
|
|
|
13387 |
been in the 4.81 fileset, but was left out due to operator error.
|
|
|
13388 |
(gs_dps1.ps)
|
|
|
13389 |
- Some compilers complained about macro argument replacement within
|
|
|
13390 |
a string literal. (isave.c)
|
|
|
13391 |
-dSAFER didn't allow opening the %stdxxx files, which caused the
|
|
|
13392 |
combination of -dSAFER and -dNOBIND to cause an infinite error.
|
|
|
13393 |
(gs_init.ps)
|
|
|
13394 |
- If C code used run_string to execute a startjob, an error
|
|
|
13395 |
occurred. (gs_init.ps)
|
|
|
13396 |
|
|
|
13397 |
</pre><h3><a name="V5.0_Library"></a>Library</h3><pre>
|
|
|
13398 |
|
|
|
13399 |
Fixes bugs:
|
|
|
13400 |
- Some compilers complained about macro argument replacement within
|
|
|
13401 |
a string literal. (gxclbits.c, gdevpdfi.c)
|
|
|
13402 |
- At certain resolutions, a 1-pixel line of the wrong color could
|
|
|
13403 |
appear at one edge of landscape-oriented monobit images. (This is the 4th
|
|
|
13404 |
or 5th time we have "fixed" this one infuriatingly fragile piece of code.)
|
|
|
13405 |
(gxfixed.h, gximage1.c)
|
|
|
13406 |
- The optimized code for landscape monobit images overlooked the
|
|
|
13407 |
possibility of partial images, causing parts of images to be translated and
|
|
|
13408 |
possibly clipped. (Yes, it's that same fragile piece of code.)
|
|
|
13409 |
(gximage1.c)
|
|
|
13410 |
- The bounding box device allowed resetting its resolution, which
|
|
|
13411 |
could cause limitchecks from coordinate overflow. Our fix is to initialize
|
|
|
13412 |
the device to a very high resolution (4000 dpi), which reduces the maximum
|
|
|
13413 |
page size it can handle to about 130" on a side. (gdevbbox.c)
|
|
|
13414 |
- The bounding box device wasn't identified as a page device.
|
|
|
13415 |
(gdevbbox.c)
|
|
|
13416 |
- The bounding box device used alone disregarded changes in page
|
|
|
13417 |
size. (gdevbbox.c)
|
|
|
13418 |
- One old compiler didn't allow a structure member name to be the
|
|
|
13419 |
same as a typedef name. (gximage.h, gximage.c, gximage4.c)
|
|
|
13420 |
- The height and band intersection computations for banded images
|
|
|
13421 |
still weren't right, leading to inconsistencies in the band list and errors
|
|
|
13422 |
in the output (typically, thin horizontal white stripes at band boundaries).
|
|
|
13423 |
(gxclimag.c)
|
|
|
13424 |
|
|
|
13425 |
Adds an extensive memory dump facility to the standard allocator.
|
|
|
13426 |
Eventually this should be moved into a separate file, but it would be too
|
|
|
13427 |
disruptive to do this just before a release. (gsalloc.c)
|
|
|
13428 |
|
|
|
13429 |
</pre>
|
|
|
13430 |
|
|
|
13431 |
<!-- [2.0 end contents] ==================================================== -->
|
|
|
13432 |
|
|
|
13433 |
<!-- [3.0 begin visible trailer] =========================================== -->
|
|
|
13434 |
<hr>
|
|
|
13435 |
|
|
|
13436 |
<p>
|
|
|
13437 |
<small>Copyright © 1997, 1998, 1999, 2000 Aladdin Enterprises.
|
|
|
13438 |
All rights reserved.</small>
|
|
|
13439 |
|
|
|
13440 |
<p>
|
|
|
13441 |
This software is provided AS-IS with no warranty, either express or
|
|
|
13442 |
implied.
|
|
|
13443 |
|
|
|
13444 |
This software is distributed under license and may not be copied,
|
|
|
13445 |
modified or distributed except as expressly authorized under the terms
|
|
|
13446 |
of the license contained in the file LICENSE in this distribution.
|
|
|
13447 |
|
|
|
13448 |
For more information about licensing, please refer to
|
|
|
13449 |
http://www.ghostscript.com/licensing/. For information on
|
|
|
13450 |
commercial licensing, go to http://www.artifex.com/licensing/ or
|
|
|
13451 |
contact Artifex Software, Inc., 101 Lucas Valley Road #110,
|
|
|
13452 |
San Rafael, CA 94903, U.S.A., +1(415)492-9861.
|
|
|
13453 |
|
|
|
13454 |
<p>
|
|
|
13455 |
<small>Ghostscript version 8.53, 20 October 2005
|
|
|
13456 |
|
|
|
13457 |
<!-- [3.0 end visible trailer] ============================================= -->
|
|
|
13458 |
|
|
|
13459 |
</body>
|
|
|
13460 |
</html>
|