📄 history3.txt
字号:
functions in the future.) (math_.h, gsmisc.c)
Adds additional interrupt checks in the banding code. (gxclist.c, gxclread.c)
Version 3.24(beta) (1/17/95)
==================
This was supposed to be a public release, but too many bugs showed up in 3.23,
so this is another bug-fix beta release. This is the first release with a
working PDF reader.
Documentation
-------------
Notes that Solaris requires using installbsd instead of install. (make.doc)
Procedures
----------
Changes 'make mostlyclean' so that it doesn't delete the Ghostscript
executable (but deletes everything else that 'make clean' does). (gs.mak)
Changes the link list generator so it eliminates duplicate library requests.
(genconf.c)
Factors the interpreter further so as to include less unnecessary PostScript
support in the PDF interpreter. (gs.mak, zpath.c, zpath1.c)
Adds a printout of the available language interpreters to the -h message.
(genconf.c, gs.c, iinit.c, gs.mak)
Drivers
-------
Fixes bugs:
- The alternate X drivers used a cast in an initializer, causing a
compilation error on some platforms. (gdevxalt.c)
Adds a driver for the LaserJet IIID, including duplex printing if specified by
the Duplex page device parameter. (gdevdjet.c)
Adds Orientation to the bit device. (gdevbit.c)
Platforms
---------
Fixes bugs:
- There was an extraneous pfen-> in the NT file system module, causing
a compilation error. (gp_ntfs.c)
- The DLL code referred to an obsolete symbol a_foreign. (gsdll.c)
- The VMS build scripts omitted the LaserJet 4 driver. (vms-*.mak)
- The VMS build scripts had several other minor errors. (vms.mak)
Fonts
-----
Fixes bugs:
- Defining a font alias in global VM with a name that was a string in
local VM caused an error. (gs_fonts.ps)
- The font compiler referred to an obsolete symbol a_foreign.
(font2c.ps)
Interpreter
-----------
Fixes bugs:
- There was an extraneous '#' before an extern declaration.
(gsmain.c)
- The interpreter could (incorrectly) attempt to expand the e-stack.
(istack.h, interp.c, istack.c)
- zfproc.c called memcpy but didn't include memory_.h. (zfproc.c)
- A garbage collection occurring within a 'save' would often smash
memory. (igc.c)
- If the last character returned by the procedure of a procedure-based
filter was \r, readline could get an endless loop. (zfileio.c)
- Saving a change to a ref member of a structure confused the garbage
collector. (isave.h, isave.c, zdict.c)
- The -Zu debugging printout could cause an access error under rare
circumstances. (isave.c)
- Save objects could get allocated in global VM, causing dangling
references. (zvmem.c)
- The vmsave object created by the interpreter for a save didn't get
freed properly if the memory manager created an invisible save level, which
could cause the next garbage collection to crash. (zvmem.c)
- 'run' always printed an error message, rather than letting the
top-level control loop do it. (gs.c, gs_init.ps)
Adds support for duplex devices. (gxdevice.h, gsdparam.c, gs_statd.ps,
gs_setpd.ps)
Adds the beginnings of support for CID-keyed fonts. (gs_cidfn.ps)
Changes the format of the stack dump printed for errors, to make it easier to
read. (gs_init.ps)
Interpreter (PostScript)
------------------------
Fixes bugs:
- The .local/global allocation operators always allocated in system
VM. (zsysvm.c)
- setpage[params] caused an error. (gs_lev2.ps)
- If an error occurred during a cshow or (x|y|xy)show, the interpreter
freed the enumerator twice. (zchar.c, zchar2.c)
Changes setpageparams so that orientation = 0 means portrait. This is not
compatible with AGFA's convention for roll-feed devices, but it is compatible
with the more common cut-sheet printers. (gs_statd.ps)
Adds meaningful values for the Emulator resource. (gsmain.c, gs_res.ps)
Makes -Z? validate the state of memory before and after save and restore.
(ialloc.h, igc.h, ialloc.c, igc.c, ilocate.c, zvmem.c)
Interpreter (PDF)
-----------------
Fixes bugs:
- The Unix install script didn't install the PDF files if they were
present. (unix-end.mak)
- PDF to PostScript conversion didn't work at all. (It still doesn't
work very well.) (pdf_2ps.ps, pdf_main.ps)
- Images with an Indexed color space and no Decode entry caused an
error. (pdf_draw.ps)
- The 'Page <n>' messages were printed even if QUIET was set.
(pdf_main.ps)
Changes the interpreter so that when it encounters an unknown operator, it
prints an error message and continues, rather than signalling an error.
(pdf_base.ps)
Makes F a synonym for f if there is nothing on the operand stack, to
compensate for a bug in some Adobe software. (pdf_base.ps)
Changes pdfgetpage so it uses 1-origin rather than 0-origin indexing. THIS IS
A NON-BACKWARD-COMPATIBLE CHANGE. (pdf_main.ps)
Streams
-------
Fixes bugs:
- The Group 3 2-D and Group 4 encoders produced incorrect output if a
scan line beginning with a black pixel was followed by a scan line beginning
with a white pixel. (scfe.c)
- A SubFileDecode filter with a count of 1 and a non-empty EOD string
would smash memory. (sfilter1.c)
Updates the DCT filters so they will work with the latest version (5a) of the
IJG library. (*.mak, jpeg.mak, sjpegerr.c)
Library
-------
Fixes bugs:
- A call with integer parameters to a procedure with floating point
arguments didn't work on non-ANSI compilers. (gsimage.c)
- Arcs could get turned into polygons if the scaling values in the CTM
were very large and the radius was (in user space coordinates) very small.
(gspath.c)
- The current point was defined when a BuildChar procedure was called.
(This bug was documented as fixed in version 2.2!) (gschar.c)
Adds support for Orientation and Duplex page device parameters, for those
devices that support these. (gdevprn.h, gxdevice.h, gsdevice.c, gsdparam.c)
Version 3.23(beta) (1/5/95)
==================
This is almost entirely a bug fix release. It also includes a largely working
PDF reader. This is intended as the beta test release for the next public
release.
Documentation
-------------
Fixes bugs:
- COPYLEFT, COPYING, NEWS, PUBLIC, README, and the standard Fontmap
were omitted from the 3.22 fileset.
Documents the use of the -oldc switch to work around a compiler crash on
the DECstation.
Expands and clarifies the documentation for building the DesqView/X version
with djgcc. (make.doc)
Adds documentation on the "600x300" H-P inkjet printers, explaining why
this alleged higher resolution is not available. (devices.doc)
Adds to the PUBLIC license a warning that it is not a GNU License, and a
requirement to include a copy of or a pointer to the License in any written
material. (PUBLIC)
Documents the fact that Ghostscript *does* attempt to look up files in the
current directory first. (use.doc)
Procedures
----------
Fixes bugs:
- In VMS.MAK, .JPEG should have been changed to .JPEG-5 in a few
places. (vms.mak)
Adds the pjxl300 driver to all configurations that include the other color
DeskJet drivers. Replaces pjet and pjetxl with pj and pjxl. (*.mak)
Makes 'run' recognize PDF files if the PDF reader is included.
(pdf_main.ps)
Utilities
---------
Fixes bugs:
- viewjpeg.ps needed the test for languagelevel = 2 at the
beginning of the file. (viewjpeg.ps)
- prfont.ps used 'min', which isn't a standard PostScript operator.
(prfont.ps)
- prfont.ps created Encoding vectors that weren't 256 elements
long. (prfont.ps)
Adds the gsdj500 script to the installation list. (unix-end.mak)
Changes the Unix "line printer" shell scripts to add the date to the page
header. (gsbj, gsdj, gsdj500, gslj)
Changes ansi2knr so that it will work properly on systems where the ctype
macros don't handle 8-bit characters correctly. (ansi2knr.c)
Drivers
-------
Fixes bugs:
- Some compilers don't allow casts in initialization expressions.
(gdevx.c, gdevxalt.c)
- The cdj drivers didn't initialize the color_info structure
properly. (gdevcdj.c)
Adds another alternate X Windows driver, x11mono, that is a black-and-white
device. (devs.mak, gdevxalt.c)
Adds a user-contributed driver for the Apple Imagewriter LQ. (devs.mak,
gdevadmp.c)
Platforms
---------
Fixes bugs:
- The VMS MODULES.LIS file had gotten out of sync with the makefile
(again); GDEVABUF and GSBITOPS were missing. (modules.lis)
- The VMS script file had gotten out of sync with the makefile
(again). (vms.mak)
- The MS Windows platform code didn't recognize Windows 95 (Windows
4.0) as equivalent to Windows NT. (gp_mswin.c)
- File name enumeration didn't work on OS/2 or win32. (gp_ntfs.c,
gp_os2.c)
- -sOutputFile= didn't work under MS Windows. (gp_mswin.c)
Changes the SCO Unix direct frame buffer driver so it generates in-line
instructions to access the frame buffer, for a dramatic speed improvement.
(gdevpcfb.h, gdevsco.c)
Fonts
-----
Fixes bugs:
- If a font couldn't be found in the Fontmap, a recursion loop
sometimes occurred. (gs_fonts.ps)
- Aliases for global fonts weren't automatically created as global,
possibly leading to a recursion loop. (gs_dps1.ps, gs_fonts.ps)
- If a font was loaded into global VM within an inner save, the restore
deleted it from FontDirectory but not from SharedFontDirectory, causing a
possible recursion loop. (gs_dps1.ps, gs_fonts.ps, idict.h, idict.c, zdict.c)
Further improves the algorithm for substituting for unknown fonts.
(gs_fonts.ps)
Interpreter (PostScript)
------------------------
Fixes bugs:
- zcontrol.c had an assignment of const char * to const byte *,
which some compilers don't like. (zcontrol.c)
- Setting an Indexed color space based on a CIE space caused an
attempt to free a random block of memory. (zcsindex.c)
- Some compilers don't like mixing conditionals and casts in
initialization expressions. (iref.h)
- Some calculations of table sizes for string garbage collection
didn't work if sizeof(long) != 4, leading to smashed strings. (iastate.h,
ialloc.c, igcstr.c)
- Strings longer than about 7000 bytes smashed their chunk header
and confused the garbage collector. (ialloc.c)
- Some compilers needed iccfont.c to include strimpl.h.
(iccfont.c)
- The obsolete file zcspace2.c was still included in the fileset.
- If the command line included any @-files that required searching
the library path, a limitcheck would occur. (zfile.c)
- The insideness testing operators caused a memory access error,
because the procedure vector hadn't been updated to provide a default
get_alpha_bits procedure. (zupath.c)
- gcheck didn't check for stack underflow. (zvmem2.c)
- cleardictstack could fail to clear the dictionary stack if the
stack had overflowed into additional blocks. (zdict.c)
- If the '-' switch was selected, resources weren't released
properly on exit. (gs.c)
- Setting a Pattern color space based on a CIE space caused an
invalid memory access. (zcsindex.c)
- The garbage collector didn't treat refs properly on machines with
short ints. (igcref.c)
- Operators with more than 16 arguments could break the
interpreter. (interp.h, iinit.c, interp.c)
- save/restore didn't restore the setting of the current allocator
VM (local/global). (isstate.h, isave.c)
- stdpre.h declared exit as an extern, instead of letting gsmain.c
declare it. (stdpre.h, gsmain.c)
- gs.c used fputs to print help messages rather than fprintf.
(gs.c)
- Interrupts failed to re-execute the operation that was
interrupted. (interp.c)
- Low-resolution CMYK devices didn't use separate screens for each
color plane as the default. (gs_init.ps)
- filterdict wasn't getting undef'ed at the end of initialization.
(gs_init.ps)
- gstate operations were broken (bug introduced in 3.02).
(zdevice2.c)
- resourceforall didn't remove the resource dictionary from the
dictionary stack when calling the client-supplied procedure. (gs_res.ps)
- currentcolor with an Indexed color space returned a real rather
than an integer. (zcolor2.c)
- setshared / setglobal left the stack in an unobvious state if
they were given a non-Boolean argument. (gs_dps1.ps)
- sethalftone followed by currenthalftone returned an invalid value.
(zht2.c)
- Empty strings produced spurious garbage collector error messages.
(gsstruct.h, scommon.h, igc.c, igcstr.c, iname.c)
- The garbage collector didn't trace Separation color spaces properly.
(gscsepr.c)
Changes defineresource so that it does not, by default, make instances
read-only. (gs_res.ps)
Adds .{local,global}{array,dict,packedarray,string} operators for creating
objects in a specific VM space. (zsysvm.c, gs_dps1.ps)
Adds definitions of setpage and setpageparams to statusdict. (gs_setpd.ps,
gs_statd.ps)
Alleviates some performance problems in the garbage collector. (igc.c)
Interpreter (PDF)
-----------------
Fixes bugs:
- PDF files that used filters with parameters caused a typecheck
error because the arguments to 'filter' were reversed. (pdf_base.ps)
- The (undocumented) PDF 1.1 ability to specify link and annotation
destinations indirectly was not supported. (pdf_main.ps)
- The (undocumented) PDF ability to specify a null page in a link
destination was not supported. (pdf_main.ps)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -