?? history4.htm
字號:
<h2><a name="V4.71_Interpreter"></a>Interpreter</h2>
Fixes bugs:
- Some initialization files prematurely switched the interpreter
into Level 2 mode, causing some Level 2 operators not to be defined. (bug
introduced in 4.60 or later.) (gs_cff.ps, gs_cidfn.ps, gs_cmap.ps,
gs_init.ps, gs_res.ps)
<h2><a name="V4.71_Streams"></a>Streams</h2>
Fixes bugs:
- The choice of procedure names for the file-descriptor-based
implementation of file streams was buried in a .c file, rather than being
chosen in the makefile. (sfile.c[deleted], sfileno.c[deleted], sfxstdio.c,
sfxfd.c, sfxboth.c)
<h2><a name="V4.71_Library"></a>Library</h2>
Fixes bugs:
- rcurveto was broken -- it drew curves to random points. (bug
introduced in 4.61.) (gspath.c)
- A trailing comma in an enum definition upset some compilers. (bug
introduced in 4.70.) (gstype1.h)
- Type 1 fonts with hint replacement could produce anomalous or
clipped output, or even missing lines. (Also cleans up some out-of-date
formatting.) (gxtype1.h, gstype1.c, gxhint2.c)
- Removes some conditionals for choosing between old and new
algorithms. (gxhint3.c)
- makebitmappattern required that the bitmap consist of only a
single tile repetition. (gspcolor.c)
- Some computations on RasterOps didn't take transparency into
account properly. (gdevmrop.c)
- The structure definition for imager and graphics states had an
incorrect offset for line_params, causing the garbage collector not to mark
or relocate dash patterns, possibly causing memory faults, FPEs, or invalid
output. (bug introduced since 4.03.) (gsstate.c)
- 'show' operators gave a limitcheck for unreasonable coordinates,
even if limit clamping was enabled. (gschar.c)
Implements banded filling and stroking with colored halftones, in addition
to pure colors and binary halftones. Since we are in a beta test period,
actual use of this feature (but *not* all the code implementing it) is
disabled under an #ifdef FUTURE. (gsdcolor.h, gxcldev.h, gxclpath.h,
gxdht.h, gxhttype.h, gsht.c, gxclimag.c, gxclpath.c, gxclread.c)
<h1><a name="Version4.70"></a>Version 4.70 (limited) (3/26/97)</h1>
This fileset fixes the one outstanding compilation problem on PC platforms
and the old problem of limitchecks for out-of-bounds coordinates, and adds a
variety of new features, including the ability to save away the band lists
for pages and rasterize them later and/or elsewhere in any order and
combination. This is the first "serious beta" candidate for the next
general release.
Fileset numbers 4.62 through 4.69 were skipped deliberately.
<h2><a name="V4.70_Documentation"></a>Documentation</h2>
Fixes bugs:
- The list of special -d and -s switches was out of date. (use.txt)
- The name of the zlibDecode filter was incorrectly written
zlibEncode. (language.txt)
Documents where to find out how to install gcc 2.7.x on SGI IRIX 6.x.
(make.txt)
Documents a makefile patch required on NeXTStep. (make.txt)
Documents how to patch gcc to fix the AXP code generation bug. (make.txt)
Adds documentation for the new unified printer driver. (devices.txt)
<h2><a name="V4.70_Procedures"></a>Procedures</h2>
Fixes bugs:
- 'make distclean' didn't remove a couple of files. (gs.mak)
- A library module didn't include a necessary dependency. (lib.mak)
- A new .ps file wasn't installed properly. (unix-end.mak)
- File write dates weren't updated properly on PC platforms, causing
unnecessary rebuilding. (cp.bat, gs.mak, msc.mak, msvcwint.mak, os2.mak,
tccommon.mak, wccommon.mak, zlib.mak)
- An unnecessary explicit compilation line for gdevcdj.c caused
problems in the Mac environment. (devs.mak)
- The VMS scripts were out of sync again. (vms.mak)
- The VMS build scripts didn't include the new JPEG driver.
(vms-*.mak)
- A number of makefile macros were referenced before being defined.
(devs.mak, lib.mak, int.mak, *.mak)
- libpng.mak didn't work with PVERSION=90. (libpng.mak, zlib.mak)
Separates install-scripts from install-exec and install-data.
(unix-end.mak)
Moves the definition of SEARCH_HERE_FIRST from iminst.h to the makefiles.
(*.mak, iminst.h, iconf.c, imain.c)
Adds a -dBATCH switch that causes Ghostscript to exit after processing the
files named on the command line. (gs_init.ps)
Adds the PostScript, EPS, and PCL XL writers, and the color and gray-scale
JPEG drivers, to all Unix configurations. (ansihead.mak, cc-head.mak,
gcc-head.mak)
<h2><a name="V4.70_Drivers"></a>Drivers</h2>
NOTE: because of a change in an internal interface (clist_output_page), the
cp50 driver no longer works. This is a user-contributed driver for which we
take no responsibility.
Fixes bugs:
- gdevcdj.c wasn't compatible with ansi2knr. (gdevcdj.c)
- 'private' was omitted from some declarations. (gdevjpeg.c)
- The PostScript writer didn't keep track of the current color
properly. (gdevps.c)
- RESOLUTION was misspelled in a header. (gdevbjc.h)
- Some compilers objected to the use of a floating point initial
resolution value. (gdevbjc.h)
- Some compilers didn't allow static initialization of a union.
(gsdcolor.h)
- If a TIFF driver got an error when initializing the CCITTFax
encoder, it returned a bogus error code. (gdevtfax.c)
- The PDF writer produced incorrect output for Indexed color space
images. (gdevpdfi.c)
- For many fatal error conditions, the X driver called exit()
instead of returning an error. (gdevx*.c)
Adds new drivers:
- epswrite, an EPS-writing driver (instead of making EPS output a
parametric option of the PostScript-writing device). (devs.mak, gdevps.c)
- pcxcmyk, a 4-bit CMYK PCX driver. This is probably only useful
for debugging CMYK color rendering. (gdevpcx.c)
- jpeggray, a JPEG driver that produces gray-scale rather than color
output. Thanks to Tom Lane for contributing this. (gdevjpeg.c)
- uniprint, a unified printer driver for a wide variety of inkjet
printers. Thanks to Gunther Hess for contributing this. (gdevupd.c)
Adds the resolution (pHYs) to the output of the PNG drivers. (gdevpng.c)
Adds recognition of the ASCII85EncodePages parameter to the PostScript and
EPS writers. (gdevps.c)
Makes the new JPEG driver write a JFIF header, which contains the image
resolution. (gdevjpeg.c)
Changes the "vector" device support interface so relative movement can be
detected easily. THIS IS STILL SUBJECT TO CHANGE WITHOUT NOTICE.
(gdevvec.h, gdevpsdf.c, gdevps.c, gdevpx.c, gdevvec.c)
Changes the PostScript, EPS, and PDF writers to recognize curves and lines
that can be represented more efficiently. (gdevpsdf.h, gdevpsdf.c,
gdevps.c)
Adds a new parameter to the PDF writer, FirstObjectNumber. This defines the
first object number that will be used in the output. The default, and
minimum, value is 1; the maximum value is approximately 2^31. This is for
the benefit of dvipdf; we don't expect it to be used otherwise. In fact,
using it appears to produce files that Adobe Acrobat Reader won't accept,
even though the files are perfectly compliant with the published PDF
specification. (gdevpdfx.h, gdevpdf.c, gdevpdfp.c)
<h2><a name="V4.70_Platforms"></a>Platforms</h2>
Removes the makefile for the 16-bit Borland C++ platform. This was the last
supported 16-bit platform; we expect to gradually drop all 16-bit
concessions from the code itself. (bcwin.mak)
<h2><a name="V4.70_Interpreter"></a>Interpreter</h2>
Fixes bugs:
- The initial size of systemdict was too small, causing the
interpreter to slow down substantially. (iinit.c)
- A library module depended on an interpreter module. (zcsindex.c)
- A logically necessary (but accidentally always available) #include
was missing. (ifont.h)
Moves set/currentoverprint to a more appropriate module. (zcolor2.c,
zcssepr.c)
Changes the default transfer functions so that they do something reasonable
when given operands outside the legal [0..1] range. We only do this to work
around a bug in FrameMaker output, which uses the transfer function as the
screen function (!). (gs_init.ps)
Changes the CMap construction algorithm to use the new, more compact
representation. (zfcmap.c)
Adds support for Adobe's Compact Font Format. Many individual features are
not implemented yet: see the comment in the source code for details.
(gs_cff.ps)
Adds support for Type 2 charstrings in Type 1 fonts. (ifont.h, zfont1.c)
Changes the Type 1 character rendering operator for the library change in
Type 1 fonts. (zchar1.c, zfont1.c)
Initializes the graphics state limit clamp flag to true. (zgstate.c)
Temporarily adds a configuration file for the new unified printer driver,
and arranges for it to be read at startup. This arrangement will be
replaced very soon by a different one based on command line parameters.
(gs_init.ps, uniprint.ps)
<h2><a name="V4.70_Interpreter_PDF"></a>Interpreter (PDF)</h2>
Adds support for Compact Font Format fonts. (pdf_font.ps)
<h2><a name="V4.70_Streams"></a>Streams</h2>
Adds a glue procedure needed for the new jpeggray driver. (sjpeg.h,
sjpege.c)
Removes the width limit of 32K in the CCITTFaxEncode filter. The new limit
is absurdly large (about 50M). (scf.h, scfx.h, scfe.c)
<h2><a name="V4.70_Library"></a>Library</h2>
Fixes bugs:
- A library module depended on an interpreter module. (gxcolor2.h,
gscolor2.c)
- When rendering a band, clipping was sometimes used when it wasn't
necessary. (Performance only.) (gxclread.c)
- Stroking didn't check the path against the device clipping box in
the absence of an explicit (non-default) clipping path. (Performance only.)
(gxstroke.c)
- A reference to an opaque type upset a couple of compilers.
(gxclread.c)
- Negative 32-bit numbers in Type 1 fonts didn't work properly on
64-bit systems. (gstype1.c)
- A logically necessary (but accidentally always available) #include
was missing. (gxbitmap.h)
- A header wasn't protected against double inclusion. (gxclist.h)
- Clipping devices didn't store their actual width and height.
(gxcpath.c)
- The slow-case check for thin lines was incorrect. (gxstroke.c)
- Images didn't compute their clipping boxes correctly if there
wasn't an explicit clipping path. (This must be a very recent bug, since it
creates an overflow condition that prevents monochrome images from being
rendered at all.) (gximage.c)
Moves set/currentoverprint to a more appropriate module. For clients of
gs_set/currentoverprint, this is a NON-BACKWARD-COMPATIBLE CHANGE, since the
header file is now separate. (gscolor2.h, gscsepr.h, gscolor2.c, gscsepr.c)
Replace the MetroWerks work-around with a different, more general one.
(gdevmem.h, gdevmem.c, gxdevice.h)
Speeds up the Type 1 interpreter a little. (gstype1.c, gxhint3.c)
Redesigns the internal representation of CMaps to be more space-efficient.
(gxfcmap.h, gschar0.c, gsfcmap.c)
Implements a facility for saving away pages and rendering them later.
Currently this requires the pages to be represented as band lists on files,
and only allows X translation when rendering. This involves adding the
following new printer device parameters:
BandHeight
BandWidth
BandBufferSpace
Also changes the names of the printer device parameter elements from
use_buffer_space to BufferSpace and from max_bitmap to MaxBitmap for
consistency. (gdevprn.h, gxcldev.h, gxclio.h, gxclist.h, gxclmem.h,
gxclpage.h, gxdevmem.h, gdevmem.c, gdevp2up.c, gdevprn.c, gxclmem.c,
gxclpath.c, gxclread.c)
Changes the band list implementation API to allow closing a file without
deleting it, and to allow reopening an existing file. This is a
NON-BACKWARD-COMPATIBLE change to a deep internal interface. (gxclio.h,
gxclmem.h, gxclfile.c, gxclist.c, gxclmem.c)
Speeds up rendering of colored halftones, by recognizing cases where one or
more planes don't actually require screening, unrolling a loop, and doing
basic clipping before halftoning. (gxcht.c)
Adds a graphics state parameter, gs_set/currentlimitclamp, that changes the
handling of out-of-range coordinates to clamp them in a way that produces
approximately the intended output most of the time, rather than causing a
limitcheck. Currently this is only designed to work with the basic path
construction operations ([r]moveto, [r]lineto, [r]curveto, closepath); it
does not work with many other operations such as show, flattenpath or the
rectangle operations. Note also that while currentpoint will return the
correct (unclamped) value, reading out the path with pathforall will return
clamped values. This involves NON-BACKWARD-COMPATIBLE changes to the path
structure (but not to any public interfaces). (gxpath.h, gxtype1.h,
gzpath.h, gzstate.h, gspath.c, gspath1.c, gsstate.c, gstype1.c, gxpaint.c,
gxpath.c, gxpath2.c, gxpcopy.c)
Adds support for Type 2 charstrings. Some features are not implemented yet:
see gstype2.c for details. (gscrypt1.h, gstype1.h, gxfont1.h, gxop1.h,
gxtype1.h, gstype1.c, gstype2.c, gxhint2.c, gxhint3.c, gxtype1.c)
<h1><a name="Version4.61"></a>Version 4.61 (limited) (3/13/97)</h1>
This fileset cleans up many compiler warnings. It adds support for
CMap-encoded fonts, and a driver that writes JPEG images.
<h2><a name="V4.61_Documentation"></a>Documentation</h2>
Corrects an error in the description of the internal CodeMap structure.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -