?? history4.htm
字號:
information in $error. (gs_cidfn.ps)
- startjob didn't clear the execution stack. Fixing this required
NON-BACKWARD-COMPATIBLE changes to the internal operators .instopped, .stop,
and .stopped, which are not supposed to be used by any external code.
(startjob will still give errors if executed in a file that isn't being
piped from stdin; this will take longer to fix.) (gs_init.ps, gs_lev2.ps,
iref.h, imain.c, interp.c, zcontrol.c, zfile.c)
Adds a new .execn operator, part of the startjob changes, that allows
pushing multiple items on the exec stack. Eventually this will allow us to
get rid of many dynamically created closures. (zcontrol.c)
<h2><a name="V4.73_Interpreter_PDF"></a>Interpreter (PDF)</h2>
Fixes bugs:
- Landscape-mode PDF files weren't rotated properly. (gs_pdf.ps,
pdf_main.ps)
Makes the default PDF configuration notify users more informatively when
encountering an encrypted file. (pdf_sec.ps)
<h2><a name="V4.73_Streams"></a>Streams</h2>
Makes the RunLengthEncode filter always generate optimally compressed
output. We did this because we thought one of the Genoa CET files loops
forever if this is not the case; but we were wrong. (srle.c)
<h2><a name="V4.73_Library"></a>Library</h2>
Fixes bugs:
- If one coordinate of a position or distance overflowed the
internal representable range, the other coordinate became garbage. (bug
introduced in 4.70) (gspath.c)
- The bounding box computation for strokes was slightly too large
(sometimes much too large). (gxpaint.h, gdevbbox.c, gxclpath.c, gxstroke.c)
Adds (under an #if 0) an experimental alternate halftone cell choice
algorithm. (gshtscr.c)
Adds a better comment to a particularly obscure line of C code.
(gxclimag.c)
<h1><a name="Version4.72"></a>Version 4.72 (limited) (4/14/97)</h1>
This is another bug fix release, motivated mostly by Genoa testing. It also
updates the new uniprint driver with a major revision, and upgrades CFF
support a little bit.
<h2><a name="V4.72_Documentation"></a>Documentation</h2>
Fixes bugs:
- -dNOGC only disables default automatic garbage collection, not all
garbage collection. (use.txt)
- Apparently a different set of flags is needed for newer H-P
compilers. (make.txt)
Replaces the tiny FAQ with a pointer to the on-line FAQ. (use.txt)
Updates the documentation for the uniprint driver. (devices.txt)
Clarifies the fact that Ghostscript reads Fontmap files from *all*
directories in the search list. (use.txt)
Notes that building on Linux may require SM and ICE in the list of X
libraries. (make.txt)
<h2><a name="V4.72_Procedures"></a>Procedures</h2>
Fixes bugs:
- An -include type42 was omitted from the level2 module description.
(int.mak)
- A mention of $(ECHOGS) in the rule for sfile should have been
$(ECHOGS_XE). (lib.mak)
- The pcx2up sample device should have been put in devs.mak rather
than lib.mak. (devs.mak, lib.mak)
- scanchar.h and scantab.c belong in the library, not the
interpreter. (devs.mak, int.mak, lib.mak)
- Some _h definitions were used before being defined, or weren't
defined at all. (devs.mak, lib.mak)
- The JPEG driver was missing a dependency. (devs.mak)
- The PDF writer was missing a dependency. (devs.mak)
- Building Level 1 systems was no longer possible. (int.mak)
Updates the VMS build scripts. (vms.mak, vms-decc.mak)
Adds *.upp to the list of files installed under Unix. (unix-end.mak)
Adds rules to the Unix makefiles to build two library files: gs.a,
consisting of the entire PostScript/PDF interpreter lacking only gs.c, and
gslib.a, consisting of the graphics library without the gslib.c test driver.
(ansihead.mak, cc-head.mak, gcc-head.mak, unixtail.mak)
<h2><a name="V4.72_Drivers"></a>Drivers</h2>
Fixes bugs:
- The PS/EPS writers could generate a reference to an undefined
name. (gdevps.c)
- The PDF writer produced incorrect output for multi-level outlines.
(gdevpdfm.c)
- The PDF writer didn't convert /Action to /A, and /Action/Subtype
to /S, in Annot dictionaries. (gdevpdfm.c)
- The PDF writer didn't work in Level 1 systems. (gs_pdfwr.ps)
- The PDF writer didn't transform /Rect and /R values to current
user coordinates. (gs_pdfwr.ps, gdevpdfx.h, gdevpdfm.c)
- The PNG writer could refer to the 3 predefined stdio files even in
environments where this was undesirable. (gdevpng.c)
- The PDF writer had a compiled-in limit of 100 pages of output.
(gdevpdfx.h, gdevpdf.c)
Updates the uniprint driver with a major revision that uses device
parameters that can be set from the command line, rather than PostScript
code, for configuration choices. (gdevupd.c, *.upp)
<h2><a name="V4.72_Platforms"></a>Platforms</h2>
Fixes bugs:
- gp_enumerate_files_next had no way to return an error. (gp.h,
gp_dosfe.c, gp_ntfs.c, gp_os2.c, gp_unifs.c, gp_vms.c) ****** NOT
IMPLEMENTED YET ******
- On the Watcom platform, CPU_TYPE >= 486 didn't automatically set
FPU_TYPE to 387. (wccommon.mak)
<h2><a name="V4.72_Interpreter"></a>Interpreter</h2>
Fixes bugs:
- Caching the current device in userdict could create dangling
references. (gs_init.ps, gs_pdfwr.ps, zdevice.c)
- If an error occurred in a BuildChar or BuildGlyph procedure, the
graphics state stack wasn't restored. (ichar.h, zchar.c, zchar2.c)
- There was an obsolete check for a structure when cleaning up after
a show operator. (zchar.c)
- Attempting to show a character with no associated glyph in a Type
3 font with a BuildGlyph procedure caused an error. (zchar.c)
- noaccess on a read-only dictionary didn't give an error.
(ztype.c)
- The dictionary passed to a Pattern's PaintProc was the original
template, not the copy made by makepattern. (gs_lev2.ps)
- Invalid font parameters could result in partially constructed
fonts, which caused problems for restore. (zfont0.c, zfont2.c)
- Files run under job control caused an error when terminating.
(gs_init.ps)
- setpagedevice didn't protect itself against malfunctioning
BeginPage or EndPage procedures. (The protection is still not perfect.)
(gs_setpd.ps)
- .type42execchar called font_param redundantly. (zchar42.c)
- The font operators didn't protect themselves well enough against
bogus font dictionaries. (zfont.c, zfont0.c)
- If an error occurred within a stringwidth, the graphics state
stack wasn't restored properly. (zchar.c)
- If an error occurred within the PaintProc of a form, the graphics
state stack was left with an extra entry. (gs_lev2.ps)
- Registering a font under a second name could corrupt data
structures. (zfont2.c)
- Different scalings of the same font should have "equal" fontIDs,
to match the Adobe implementations. (iutil.c)
- Errors detected by PostScript code during initialization either
allowed execution to continue or produced a hex stack dump, instead of just
producing a message and exiting. (interp.c)
- The memory validator didn't validate chunks at previous save
levels. (ilocate.c)
- The Level 1 size of systemdict was too small. (iinit.c)
- Attempting to define a Category resource in local VM gave a
typecheck error rather than an invalidaccess. (gs_res.ps)
- Building Level 1 systems was no longer possible. (zusparam.c)
Rearranges the interpreter code slightly so that all operator invocations go
through a single procedure when debugging. (interp.c)
Adds a -K<numK> switch to limit the total amount of memory that Ghostscript
can acquire. (imainarg.c)
Makes the memory validator check packed refs more carefully. (ilocate.c)
Makes the memory validator check explicitly for pointers to freed objects.
(igc.c, ilocate.c)
Makes the memory validator check dictionaries more carefully. (ilocate.c)
Makes the memory validator check refs embedded in structures. (ilocate.c)
Adds a debugging option that bypasses the garbage collector entirely.
(igc.c)
Adds debugging options to validate memory before/after save/restore.
(zvmem.c)
Removes the patch for the uniprint driver, since it is no longer needed.
(gs_init.ps)
Implements real-number operands in CFF fonts. (gs_cff.ps)
Implements non-default charsets in CFF fonts. (gs_cff.ps)
<h2><a name="V4.72_Interpreter_PDF"></a>Interpreter (PDF)</h2>
Fixes bugs:
- The PDF 1.2 "marked content" operators weren't defined.
(pdf_main.ps)
- Streams with binary data whose first character was an EOL (\n)
didn't parse properly. Unfortunately, the way we fixed this may break some
other files. (pdf_base.ps)
- PDF 1.2 #nn escape syntax in names wasn't recognized. ****** This
is implemented with an inefficient hack that should be moved down into C.
However, I don't want to risk introducing new bugs during the beta test
period. ****** (pdf_base.ps)
- The interpreter had a limit of 64K objects. Removing this limit
required changing a basic data structure -- admittedly a risky thing to do
during beta test. (pdf_base.ps, pdf_main.ps)
- TJ didn't multiply the offsets by the font size, causing incorrect
character positioning. (gs_pdf.ps)
<h2><a name="V4.72_Streams"></a>Streams</h2>
Fixes bugs:
- The ASCIIHexDecode filter read an extra character in case of
error. (sstring.c)
Adds more tracing output to the CCITTFaxDecode stream. (scfd.c)
<h2><a name="V4.72_Library"></a>Library</h2>
Fixes bugs:
- The allocator client name for rendering bitmap patterns was
incorrect. (Only affects tracing output.) (gspcolor.c)
- The check for exceeding the overall allocation limit was
incorrect, because of unsigned arithmetic. (Only affects limitation of
total allocation, which is only used for debugging and benchmarking.)
(gsmemory.c)
- The 0'th component of colored screens wasn't passed through the
band list, possibly causing access errors when rasterizing. (gxclimag.c,
gxclread.c)
- setbbox could get an overflow without detecting it. (gsdps1.c)
- Images with only one component but MultipleDataSources = true
could cause a memory access error. (gximage.c)
- The buffer for unpacking 12-bit-per-sample image data was too
small, causing memory corruption. (gximage.c)
- 12-bit-per-sample images with multiple data sources sometimes
didn't pass correct pointers to image_data. (gsimage.c)
- If an image data stream reached EOF before supplying enough data
for the entire image, memory corruption could occur. (zpaint.c)
- When a device halftone was freed, some pointers in the halftone
cache weren't cleared, leading to possible dangling references. (gsstate.c)
- Invalid font parameters could result in partially constructed
fonts, which caused problems for restore. (gxfont0.h, gsfont.c)
- If an error occurred within a stringwidth, the graphics state
stack wasn't restored properly. (gschar.c)
- The (static) limit on the size of a command line argument was too
small. (gsargs.h)
- Building Level 1 systems was no longer possible. (gxdht.h,
gsht.c, gsht1.c)
- Truncation instead of rounding caused colors on gray-scale devices
to come out very slightly too dark. (gxcmap.c)
- The Decode mapping table constructed for images was slightly
inaccurate for ranges other than [0 1] or [1 0]. (gximage.c)
<h1><a name="Version4.71"></a>Version 4.71 (limited) (3/31/97)</h1>
This is a bug fix release during the beta test period.
<h2><a name="V4.71_Documentation"></a>Documentation</h2>
Fixes bugs:
- A larger value of -Olimit is now needed to optimize gxclread.c.
(make.txt)
- Some comments were incorrect. (gdevbbox.h, sfilter1.c)
Updates the GPL with a newer version from FSF. (COPYLEFT)
Notes that the gcc 2.7.x code generation bug is fixed in 2.7.2.1.
(make.txt)
<h2><a name="V4.71_Procedures"></a>Procedures</h2>
Fixes bugs:
- Some streams required by high-level drivers were incorrectly
grouped with the interpreter rather than the library. (int.mak, lib.mak)
- The choice of implementation for file streams was buried in an
obscure place, rather than being included in the configuration definitions
at the head of each makefile. (We believe there are no more such buried
parameters.) This involved a NON-BACKWARD-COMPATIBLE change in the way this
choice was specified. (lib.mak, *.mak)
- Some dependencies were missing. (lib.mak)
<h2><a name="V4.71_Drivers"></a>Drivers</h2>
Fixes bugs:
- A variable was used before being initialized, causing get_bits
(and raster ops) to fail when using alternate X devices. (bug introduced in
4.70.) (gdevxalt.c)
- Some 'private' declarations were omitted. (It is infuriating that
gcc doesn't check for this!) (gdevps.c, gdevpx.c)
- A few character strings were used as byte arrays without a cast.
(gdevpx.c)
- The EPS writer didn't write a correct bounding box, and didn't
write it at the beginning of the file. (gdevvec.h, gsstruct.h, gdevps.c,
gdevvec.c)
- x_copy_color specified an incorrect (too large) image width.
Apparently this only mattered because it could cause invalid memory
accesses. (gdevx.c)
- x_copy_mono also specified too large an image width. It's not
clear this made any difference. (gdevx.c)
- The default implementation of strip_copy_rop didn't clamp Y values
to legal values for get_bits. (gdevmrop.c)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -