Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/planix-v0/sys/src/cmd/gs/doc/Details.htm – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"   "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
<head>
4
<title>Ghostscript change history (detailed)</title></title>
5
<!-- generated by split_changelog.py from the output of cvs2cl.pl -->
6
<!-- $Id: Details.htm,v 1.20 2005/10/20 20:14:37 ray Exp $ -->
7
<link rel=stylesheet type="text/css" href="gs.css">
8
</head>
9
<body>
10
 
11
<p><strong><a name="2005-10-20_1946"></a>
12
2005-10-20 19:46 Ray Johnston</strong></p>
13
<blockquote>
14
<pre>
15
Update doc files and version files for 8.53 release.</pre>
16
<p>[doc/API.htm 1.53, doc/Bug-form.htm 1.49, doc/Bug-info.htm 1.49, doc/C-style.htm 1.55, doc/Commprod.htm 1.41, doc/Copying.htm 1.39, doc/DLL.htm 1.43, doc/Deprecated.htm 1.20, doc/Details8.htm 1.24, doc/Develop.htm 1.159, doc/Devices.htm 1.90, doc/Drivers.htm 1.58, doc/Fonts.htm 1.51, doc/Helpers.htm 1.44, doc/History1.htm 1.39, doc/History2.htm 1.39, doc/History3.htm 1.39, doc/History4.htm 1.39, doc/History5.htm 1.41, doc/History6.htm 1.56, doc/History7.htm 1.44, doc/History8.htm 1.29, doc/Htmstyle.htm 1.44, doc/Install.htm 1.56, doc/Issues.htm 1.52, doc/Language.htm 1.98, doc/Lib.htm 1.43, doc/Maintain.htm 1.50, doc/Make.htm 1.90, doc/News.htm 1.168, doc/Projects.htm 1.67, doc/Ps-style.htm 1.37, doc/Ps2epsi.htm 1.42, doc/Ps2pdf.htm 1.88, doc/Ps2ps2.htm 1.7, doc/Psfiles.htm 1.68, doc/Readme.htm 1.71, doc/Release.htm 1.95, doc/Source.htm 1.39, doc/Testing.htm 1.37, doc/Unix-lpr.htm 1.39, doc/Use.htm 1.136, doc/Xfonts.htm 1.39, doc/gs-vms.hlp 1.37, man/dvipdf.1 1.37, man/font2c.1 1.37, man/gs.1 1.38, man/gslp.1 1.37, man/gsnd.1 1.37, man/pdf2dsc.1 1.36, man/pdf2ps.1 1.38, man/pdfopt.1 1.36, man/pf2afm.1 1.37, man/pfbtopfa.1 1.38, man/printafm.1 1.37, man/ps2ascii.1 1.37, man/ps2epsi.1 1.35, man/ps2pdf.1 1.42, man/ps2pdfwr.1 1.41, man/ps2ps.1 1.44, man/wftopfa.1 1.37, src/gscdef.c 1.58, src/version.mak 1.87]</p>
17
</blockquote>
18
 
19
<p><strong><a name="2005-10-20_1942"></a>
20
2005-10-20 19:42 Ray Johnston</strong></p>
21
<blockquote>
22
<pre>
23
Remove trailing ^M (<cr>) characters.</pre>
24
<p>[src/gdevbmp.c 1.12, src/slzwd.c 1.7]</p>
25
</blockquote>
26
 
27
<p><strong><a name="2005-10-20_1851"></a>
28
2005-10-20 18:51 Raph Levien</strong></p>
29
<blockquote>
30
<pre>
31
Fixes broken compile on amd64 platforms (see bug #688047 for details).
32
This patch should be safe on all platforms with 32-bit longs, and is
33
my best guess as to the right thing to do on Tru64 (where long is 64
34
bits).</pre>
35
<p>[src/tttypes.h 1.3]</p>
36
</blockquote>
37
 
38
<p><strong><a name="2005-10-20_1304"></a>
39
2005-10-20 13:04 Igor Melichev</strong></p>
40
<blockquote>
41
<pre>
42
Fix (pdfwrite) : Suppress floating point number format in pdfmark operands (continued 2).
43
 
44
DETAILS :
45
 
46
Bug 688167 "change of real number fomat from fixed to exponential format".
47
 
48
The last patch doesn't correctly handle numbers between 1e-7 and 1e-2.
49
 
50
EXPECTED DIFFERENCES :
51
 
52
None.</pre>
53
<p>[lib/gs_pdfwr.ps 1.52]</p>
54
</blockquote>
55
 
56
<p><strong><a name="2005-10-18_2031"></a>
57
2005-10-18 20:31 Igor Melichev</strong></p>
58
<blockquote>
59
<pre>
60
Fix (pdfwrite) : Suppress floating point number format in pdfmark operands (continued).
61
 
62
DETAILS :
63
 
64
Bug 688167 "change of real number fomat from fixed to exponential format".
65
 
66
This improves the patch
67
http://ghostscript.com/pipermail/gs-cvs/2005-September/005717.html
68
with writing small reals in a fixed point number format.
69
 
70
We did it after Raph's request in Comment #5 of the bug 688167.
71
But we don't see a visible difference against the old implementation with any viewer.
72
Therefore we believe that we shouldn't have done it (as we did before the implementation).
73
Storing it now mainly for archiving purpose.
74
 
75
If this change causes a problem, the author has no objection for unwinding it.
76
 
77
EXPECTED DIFFERENCES :
78
 
79
None.</pre>
80
<p>[lib/gs_pdfwr.ps 1.51]</p>
81
</blockquote>
82
 
83
<p><strong><a name="2005-10-18_0905"></a>
84
2005-10-18 09:05 Igor Melichev</strong></p>
85
<blockquote>
86
<pre>
87
Fix (pdfwrite) : Indexed colors were distorsed with encryption.
88
 
89
DETAILS :
90
 
91
Bug 688313 "pdfwrite : image colors depend on encryption".
92
 
93
The old code applied encryption with a wrong (zero) object id to
94
the palette of the indexed color space. After a viewer decrypts
95
the palette with a right object id, colors appear wrong.
96
 
97
1. Use the PS string encoding instead the hexadecimal string encoding
98
while converting the palette to PDF format (gdevpdfc.c).
99
It provides a correct work of the part 3 below.
100
See also part 4 below.
101
 
102
2. Don't apply encryption when adding the palette
103
to cos object (gdevpdfc.c, devs.mak).
104
The old code was hacky, and new one is based on a general convention.
105
 
106
3. Apply encryption with a right object id
107
to the string which represents the palette
108
when writing the cos object to the output PDF file.
109
This is an implicit consequence of
110
using the PS string encoding in the part 1
111
due to a general convention about
112
applying encryption when writing cos objects to the output file.
113
 
114
4. Disable writing hexadecimal strings because their
115
encryption is not yet implemented (gdevpdfu.c).
116
 
117
The generated PDF may become longer in 1-2 kilobytes per palette
118
due to PS encoding is less effective for palettes.
119
This could be optimized with implelenting an encryption method
120
for hexadecimal encoded strings in pdf_put_encoded_hex_string,
121
and undo the part 1. The method should apply 3 filters :
122
hexadecimal string decode, arc4 encode, hexadecimal string encode,
123
because cos object stores strings in the outer format.
124
Delaying this optimization for better times.
125
 
126
EXPECTED DIFFERENCES :
127
 
128
None.</pre>
129
<p>[src/devs.mak 1.140, src/gdevpdfc.c 1.54, src/gdevpdfo.c 1.35, src/gdevpdfu.c 1.89]</p>
130
</blockquote>
131
 
132
<p><strong><a name="2005-10-18_0758"></a>
133
2005-10-18 07:58 Igor Melichev</strong></p>
134
<blockquote>
135
<pre>
136
Fix (pdfwrite) : Propagate error codes from pdf_write_value.
137
 
138
DETAILS :
139
 
140
This is a preparation for fixing the bug
141
688313 "pdfwrite : image colors depend on encryption".
142
 
143
In cases when no error happens, this code is algorithmocally equivalent.
144
 
145
EXPECTED DIFFERENCES :
146
 
147
None.</pre>
148
<p>[src/gdevpdfo.c 1.34, src/gdevpdfu.c 1.88, src/gdevpdfx.h 1.138]</p>
149
</blockquote>
150
 
151
<p><strong><a name="2005-10-17_1923"></a>
152
2005-10-17 19:23 Igor Melichev</strong></p>
153
<blockquote>
154
<pre>
155
Fix (pdfwrite) : /BP pdfmark could create dead PDF objects (continiued).
156
 
157
DETAILS :
158
 
159
Bug 687560 "Invalid PDF if /BP pdfmarks with non-unique /_objdef".
160
 
161
1. Prevent a potential crash while dereferencing NULL.
162
2. Don't put unnamed objects into local_named_objects.
163
 
164
Thanks to SaGS for pointing these problems out.
165
 
166
EXPECTED DIFFERENCES :
167
 
168
None.</pre>
169
<p>[src/gdevpdfm.c 1.50]</p>
170
</blockquote>
171
 
172
<p><strong><a name="2005-10-12_1759"></a>
173
2005-10-12 17:59 Igor Melichev</strong></p>
174
<blockquote>
175
<pre>
176
Fix : Don't instantiate pattern when rendering to null device.
177
 
178
DETAILS :
179
 
180
Bug 688308 "Error: undefined; OffendingCommand: .type1execchar".
181
 
182
The test case executes cshow or kshow with intrevene changing
183
the current color space, causing a color load callout from fill_with_rule
184
_after_ the callout completes. After that the check
185
ctile->depth == dev->color_info.depth in gx_pattern_cache_lookup fails
186
(not sure why - probably due to gsave-grestore in the pattern procedure).
187
This patch skips entire character drawing when the device is null,
188
so that those cumbersome stuff isn't envolved.
189
 
190
EXPECTED DIFFERENCES :
191
 
192
None.</pre>
193
<p>[src/gsdevice.c 1.25, src/gspaint.c 1.10, src/gxdevcli.h 1.41]</p>
194
</blockquote>
195
 
196
<p><strong><a name="2005-10-12_1105"></a>
197
2005-10-12 11:05 Igor Melichev</strong></p>
198
<blockquote>
199
<pre>
200
Implementing a pointer stability validation in the garbager, continued.
201
 
202
DETAILS :
203
 
204
This patch is currently disabled, so the change is syntactically equivalent.
205
 
206
Bug 688226 "The garbager must check a pointer stability.".
207
 
208
This fixes a minor bug in the last patch.
209
 
210
EXPECTED DIFFERENCES :
211
 
212
None.</pre>
213
<p>[src/ilocate.c 1.14]</p>
214
</blockquote>
215
 
216
<p><strong><a name="2005-10-12_1045"></a>
217
2005-10-12 10:45 Igor Melichev</strong></p>
218
<blockquote>
219
<pre>
220
Implementing a pointer stability validation in the garbager.
221
 
222
DETAILS :
223
 
224
This patch is currently disabled, so the change is syntacticly equivalent.
225
 
226
Bug 688226 "The garbager must check a pointer stability.".
227
 
228
This patch extends the object header with a space order number field,
229
and compares the origin and the destination order numbers for each pointer
230
while validating the heap. The enhanced object header is still
231
within 16 bytes with the 32-bits architecture. See ialloc_validate_pointer_stability
232
about the order number definition.
233
 
234
This patch detected so many problems while running any document,
235
as we can't enable it now. It is disabled with IGC_PTR_STABILITY_CHECK
236
macro defined in gxobj.h .
237
 
238
EXPECTED DIFFERENCES :
239
 
240
None.</pre>
241
<p>[src/gsalloc.c 1.24, src/gxalloc.h 1.12, src/gxobj.h 1.7, src/ialloc.c 1.8, src/ilocate.c 1.13]</p>
242
</blockquote>
243
 
244
<p><strong><a name="2005-10-12_0816"></a>
245
2005-10-12 08:16 Igor Melichev</strong></p>
246
<blockquote>
247
<pre>
248
Fix (pdfwrite) : Skip a clip path, which is set by setcachedevice (continued after July 28 205).
249
 
250
DETAILS :
251
 
252
Bug 687678 "pdfwrite : A Type 3 character cut-off".
253
Bug 688327 "incorrect masking fill in pdfwrite".
254
 
255
The old patch for this problem appears to define a too weak
256
condition for recognizing a clipping set by setcachedevice, sectachedevice2.
257
 
258
Now we think that a special stuff for this condition isn't needed because
259
the condition may be united with the contition for "setcharwidth" :
260
both things need to skip the clipping path, which was set exactly by
261
setcachedevice, sectachedevice2 or setcharwidth.
262
Checking the rectangle coordinates is not relevant.
263
 
264
Therefore the change consists of 2 parts :
265
1. Unwinding the patch http://ghostscript.com/pipermail/gs-cvs/2005-July/005625.html (IM1358)
266
   (see also http://ghostscript.com/pipermail/gs-cvs/2005-July/005626.html).
267
2. Remowing the (control == TEXT_SET_CHAR_WIDTH) check from pdf_text_set_cache,
268
   so that the "caching" clipping path will be skipped in any case.
269
 
270
Will add Bug688327.ps to comparefiles.
271
 
272
EXPECTED DIFFERENCES :
273
 
274
None.</pre>
275
<p>[src/gdevpdfb.h 1.14, src/gdevpdfd.c 1.71, src/gdevpdfx.h 1.137, src/gdevpdti.c 1.53, src/gdevpdtt.c 1.104]</p>
276
</blockquote>
277
 
278
<p><strong><a name="2005-10-11_1004"></a>
279
2005-10-11 10:04 Igor Melichev</strong></p>
280
<blockquote>
281
<pre>
282
Fix (PS interpreter) : Allocate gs_screen_enum in same space as its components.
283
 
284
DETAILS :
285
 
286
Bug 688330 "A dangling pointer in gx_screen_enum.".
287
 
288
The old code allocates gs_screen_enum in current memory space and frees to
289
the memory space of its components, which is obtained from
290
the 'setscreen' operand (the spot function).
291
In the test case the first memory space is local, and the second one is global.
292
We guess the last statement became true after a recent change to the PDF interpreter.
293
 
294
This patch allocates gs_screen_enum in same space as its components.
295
The pritotype of zscreen_enum_init has been changed due to no method for
296
obtaining a space attribute value for iref from a gs_memory_t instance
297
(well, generally it is impossible, but one could solve if the memory
298
allocator is a PS interpreter's allocator except stable ones).
299
 
300
We noticed that components of gs_screen_enum have pointers to memory
301
allocator structures, but don't list them in the related memory descriptors.
302
We're not sure whether a memory allocator structure may relocate or not -
303
our investigation through code didn't give an unique answer.
304
For now we leave component descriptors as they were before the patch.
305
 
306
EXPECTED DIFFERENCES :
307
 
308
None.</pre>
309
<p>[src/iht.h 1.6, src/zht.c 1.8, src/zht1.c 1.7, src/zht2.c 1.14]</p>
310
</blockquote>
311
 
312
<p><strong><a name="2005-10-10_1909"></a>
313
2005-10-10 19:09 Igor Melichev</strong></p>
314
<blockquote>
315
<pre>
316
Fix: Cygwin/gcc warninhs.
317
 
318
EXPECTED DIFFERENCES :
319
 
320
None.</pre>
321
<p>[src/devs.mak 1.139, src/gdevpdfb.c 1.34]</p>
322
</blockquote>
323
 
324
<p><strong><a name="2005-10-10_1858"></a>
325
2005-10-10 18:58 Igor Melichev</strong></p>
326
<blockquote>
327
<pre>
328
Optimizing the transparency compositor.
329
 
330
DETAILS :
331
 
332
Bug 688255 "ai7 pdf fails on 7.03, runs for ten + minutes on 8.51".
333
 
334
The old code always allocates a transparency buffers for entire band.
335
The new code accounts group bbox to minimize buffers.
336
Due to that buffers appear empty for many of bands.
337
The time consumption for the test case of the bug 688255 is dropped in about 100 times
338
(from 8000 seconds to 71 seconds on a 3.07GHz machine, measured with debug build).
339
 
340
1. The transparency bbox computes in pdf14_begin_transparency_group from
341
   the group bbox and the CTM (gdevp14.c).
342
2. Handle an empty buffer pdf14_buf_new, pdf14_pop_transparency_group (gdevp14.c).
343
3. Fixed a bug in the rectangle clipping in
344
   pdf14_mark_fill_rectangle, pdf14_mark_fill_rectangle_ko_simple.
345
   The old code didn't sense it because bbox always covered entire band (gdevp14.c).
346
4. Write the bbox to clist in c_pdf14trans_write and read it in c_pdf14trans_read.
347
5. The pdf14 compositor needs CTM to transform the group bbox to the device space.
348
   Forced the writing of CTM to clist before writing the compositor in clist_create_compositor.
349
   (Sorry, it appears some ugly due to pcte->type->procs.write creates a body
350
   of a command, but we need to create a set of two commands;
351
   Another minor optimization - a narrowing the set of bands - is delayed,
352
   see comments in code in clist_create_compositor) (gxclimag.c).
353
6. New functions cmd_write_ctm_return_length, cmd_write_ctm are factored out for (5)
354
   (gxclpath.c, gxclpath.h). This part of the change is algorithmically eqiuivalent.
355
7. Minor change : fixed coding style of "} else {" in gdevp14.c .
356
 
357
EXPECTED DIFFERENCES :
358
 
359
None.</pre>
360
<p>[src/gdevp14.c 1.35, src/gxclimag.c 1.13, src/gxclpath.c 1.21, src/gxclpath.h 1.13]</p>
361
</blockquote>
362
 
363
<p><strong><a name="2005-10-07_1949"></a>
364
2005-10-07 19:49 Ray Johnston</strong></p>
365
<blockquote>
366
<pre>
367
Add missing space in CVS PRE-RELEASE string.</pre>
368
<p>[src/gscdef.c 1.57]</p>
369
</blockquote>
370
 
371
<p><strong><a name="2005-10-07_1946"></a>
372
2005-10-07 19:46 Ray Johnston</strong></p>
373
<blockquote>
374
<pre>
375
Bump version after the 8.52 release (to 8.53 CVS PRE-RELEASE).</pre>
376
<p>[doc/News.htm 1.167, lib/gs_init.ps 1.120, src/gscdef.c 1.56, src/version.mak 1.86]</p>
377
</blockquote>
378
</body>
379
</html>