📄 news.htm
字号:
<h2><a name="V5.30_Documentation"></a>Documentation</h2>
Fixes bugs:
- Yves Arrouye's e-mail address was out of date. (gdevbjc.h,
gdevcdj.c, contrib.mak, devices.txt, unix-lpr.txt)
Makes the warning against using SHARE_JPEG=1 even stronger. (make.txt,
dvx-gcc.mak, ugcclib.mak. unix*.mak)
Removes information about using DCL files on VMS to build Ghostscript.
(make.txt)
Updates the documentation for begin_typed_image. (drivers.txt)
<h2><a name="V5.30_Procedures"></a>Procedures</h2>
Fixes bugs:
- The Unix build procedure didn't create the obj subdirectory
automatically. (unixhead.mak, unix-end.mak)
- gsdll_h wasn't defined for the OS/2 PM device. Fixing this
properly required moving the OS/2 drivers into the same makefile as the MS
Windows drivers, and renaming the file. (devs.mak, msdevs.mak => pcwin.mak,
winlib.mak)
- gsiparm4_h was used before it was defined. (lib.mak)
- Building with shared libaries still used header files in
Ghostscript's directories, not the ones in /usr/include. ****** NOT DONE
YET ******
- The makefiles all assumed they were located in the current
directory, not in the source directory. (*.mak)
Adds new 'debugclean' and 'pgclean' targets, parallel to 'debug' and 'pg',
for the Unix platforms. (unix-end.mak)
Changes the management of .dev files so that on Unix platforms, one can
really maintain standard, debugging, and profiling builds simultaneously.
This is a hack, but a fairly reliable one. (gs.mak, unixhead.mak,
unix-end.mak)
Adds a dummy thread / semaphore / monitor implementation to all platforms
other than Windows. (dvx-tail.mak, openvms.mak, os2.mak, ugcclib.mak,
unixtail.mak, watc.mak, watclib.mak)
<h2><a name="V5.30_Drivers"></a>Drivers</h2>
Updates driver support to use the new write-position stream. (gdevpsdf.c)
<h2><a name="V5.30_Platforms"></a>Platforms</h2>
Fixes bugs:
- The Windows Registry calls didn't deal properly with a null
pointer. (gp_wgetv.c)
Makes a small change in the platform semaphore / monitor API. (gpsync.h,
gxsync.h, gp_win32.c, gxsync.c)
Adds a dummy thread / semaphore / monitor implementation. Note that with
this implementation, async rendering WILL NOT WORK. (gp_nsync.c)
Adds pthreads thread creation and POSIX semaphores for Unix platforms. (We
still need to add System V semaphores, which is all that is available on
Solaris and BSDI.) (gp_semon.c, gp_posem.c, gp_pthr.c).
<h2><a name="V5.30_Fonts"></a>Fonts</h2>
Fixes bugs:
- CIDFontType 0 fonts didn't select the proper VM space for adding
entries to font dictionaries, and for loading Subrs strings. (gs_cidfn.ps)
- TrueType fonts with an odd glyfs length didn't work. (gs_ttf.ps)
- TrueType fonts with a Format 3 'post' table didn't work.
(gs_ttf.ps)
- TrueType fonts where the encoding in the 'post' table didn't cover
the entire set of glyfs didn't work. (gs_ttf.ps)
- TrueType fonts with more than 128K of glyfs didn't work.
(gs_ttf.ps)
- TrueType cmap format 6 didn't work. (gs_ttf.ps)
- CIDFontType 0 fonts with hex data didn't skip over the > at the
end of the data. (gs_cidfn.ps)
<h2><a name="V5.30_Interpreter"></a>Interpreter</h2>
Works around the fact that gs_shfill can't do a gs_setcolorspace for color
spaces that require interpreter assistance. (gs_ll3.ps)
Moves clipsave and cliprestore to C code. (gs_ll3.ps, zmisc3.c)
Updates some files to reflect the redivision of gsmemory.h and gsstruct.h.
(imemory.h, istruct.h, ialloc.c)
<h2><a name="V5.30_Streams"></a>Streams</h2>
Adds a stream that just keeps track of the write position. (stream.h,
stream.c)
Removes the compilation dependency that required all clients of the zlib
filters to be compiled with the zlib source directory in the search path.
(szlibx.h, szlibxx.h, szlib[cde].c)
<h2><a name="V5.30_Library"></a>Library</h2>
Fixes bugs:
- ImageType 4 images with >1 input component didn't work.
(gximage4.c)
- Sampled functions didn't keep the fractional part when
interpolating, possibly leading to infinite recursion in shading.
(gsfunc0.c)
- The color error value for shadings was computed incorrectly for
CIE color spaces. (gxshade.c)
- The CharstringType 2 'roll' operator rolled the operands in the
wrong direction. (gstype2.c)
- Images with RasterOp or transparency didn't retain the current
color properly, leading to unpredictable results. (gdevmrop.h, gsropt.h,
gdevddrw.c, gdevrops.c, gxdcolor.c, gxiinit.c, gximage3.c)
- A cast to void * was needed to remove a const modifier.
(gscrdp.c)
- On 8-bit non-gray-scale devices, RasterOp values of all-0s or
all-1s produced the wrong output. (gdevmrop.c)
- The GC procedure for halftone screen enumerators was wrong,
possibly causing invalid memory access errors. This bug predates 5.10.
(gshtscr.c)
- An extra pair of string quotes confused some compilers.
(gsshade.c)
- There were several errors in the CharstringType 2 'flex'
operators. (gstype2.c)
- The structure descriptors for devices weren't initialized in
library-only configurations. (int.mak, gconf.c)
- The Pattern cache got confused if the current device when a
Pattern color was used wasn't the same as the current device when the
Pattern instance was created. (gxpcmap.c)
- The target of forwarding devices wasn't reference-counted
properly. (gsdevice.c) ****** FIXING THIS PROPERLY WILL BE A LOT OF WORK:
WE ONLY FIXED gs_setdevice_no_erase ******
- As a result of fixing a typo, the structure declaration for
gx_page_queue was private, causing clients not to compile. We left it
private and added an instance allocation procedure. (gxpageq.h, gdevprna.c,
gxpageq.c)
- The mask for ImageType 3 images was clipped (incorrectly).
(gximage3.c)
- Interpolated images with negative X->X values in the CTM were
displaced on the page. (gxiscale.c)
Finishes integrating the asynchronous rendering code. (gpsync.h, gxclist.h,
gdevprna.c, gsmemlok.c, gxclimag.c, gxclpath.c, gxclutil.c)
Updates the memory manager API for additional flexibility needed for
asynchronous rendering. (gsmalloc.h, gsmemlok.h, gsmemraw.h, gsalloc.c,
gsmalloc.c, gsmemlok.c)
Updates the standard memory manager to work with a fixed (externally
supplied) set of chunks, needed for asynchronous rendering, removing some
macros in the process. (gsalloc.h, gsalloc.c)
Updates some code to use more mnemonic variable names. (gstype2.c,
gxicolor.c)
Removes some macros for better readability. (gdevmrop.c)
Adds dummy implementations of clipsave and cliprestore. (gsclipsr.h,
gsclipsr.c)
Implements an alternative, but completely untested, parameter list
serializer based on streams. (gsparam2.c)
Moves more of the internal memory manager structures from gsmemory.h to
gsstruct.h. (gsmemory.h, gsstruct.h, gsmemory.c)
<hr>
<h1><a name="Version5.28"></a>Version 5.28 (limited) (8/3/98)</h1>
This fileset almost finishes merging in the code for overlapped
("asynchronous") interpretation and rasterizing that gave rise to the
side-branch versions 5.13 and 5.14; eliminates all initialized non-constant
globals from the graphics library (but not from the interpreter); and adds a
few more LanguageLevel 3 features (CIEBasedDEF[G] color spaces, CloseSource
and CloseTarget for streams, Separation base space for Indexed color
spaces).
We were not originally planning to produce another fileset until the code
merge was completed; however, the schedule demands of another Aladdin
project justify another intermediate fileset.
<h2><a name="V5.28_Documentation"></a>Documentation</h2>
Notes that the MSVC++ 5.0 compiler may lock up when compiling gxi12bit.c
with optimization. (make.txt)
<h2><a name="V5.28_Procedures"></a>Procedures</h2>
Fixes bugs:
- psl3 didn't include fzlib. (int.mak)
- The Windows makefile had the wrong name for a DLL. (winint.mak)
- The Borland Windows makefile had several errors. (bcwin32.mak)
At the request of a user, changes the creation of jconfig.h so it #includes,
rather than copies, arch.h. (jpeg.mak, gsjconf.h)
<h2><a name="V5.28_Utilities"></a>Utilities</h2>
Fixes bugs:
- viewpbm.ps scaled the image wrong. (viewpbm.ps)
<h2><a name="V5.28_Drivers"></a>Drivers</h2>
Fixes bugs:
- clist_close was declared as an open proc rather than a close proc.
(As it happens, this didn't make any difference.) (gxclist.c)
- A comment was improperly terminated. (gxpageq.h)
- A needed #include of memory_.h was missing. (gdevpsde.c)
Integrates nearly all the rest of the code for asynchronous rendering.
(gdevprn.h, gdevprna.h, gxcldev.h, gxclist.h, gxclpath.h, gxclmem.h,
gdevbmpa.c, gdevprn.c, gdevprna.c, gxclbits.c, gxclimag.c, gxclist.c,
gxclmem.c, gxclpath.c, gxclread.c, gxclrect.c)
Changes tracing of memory-based clists to occur only if -Z: is selected,
rather than always if the code was compiled with -DDEBUG. Note that this is
a NON-BACKWARD-COMPATIBLE CHANGE (but only affects debugging). (gxclmem.c)
Implements the NumCopies parameter for all page devices, not just printers.
(gxdevcli.h, gxdevice.h, gdevprn.c, gsdparam.c)
Splits off command list writing utilities into a separate file, since
gxclist.c was getting too large. (gxclist.h, gxclist.c, gxclutil.c)
Splits command list reading into control (gxclread.c) and the actual list
interpreter (gxclrast.c), since the file was getting too large. (gxcldev.h,
gxclrast.c, gxclread.c)
Distinguishes dev_proc_* (defining a general driver procedure) from
prn_dev_proc_* (defining a printer driver procedure). Unfortunately, we
have to keep dev_proc_print_page and _print_page_copies for backward
compatibility. (gdevprn.h)
Splits out of the BMP driver the parts shared with the async version
(gdevbmp.h, gdevbmp.c, gdevbmpc.c).
Changes the band rasterizer to implement get_bits_rectangle rather than
get_bits. In some cases, this results in much less computation.
(gxclist.c, gxclread.c)
Makes the monochrome H-P printer drivers emit a printer reset when closing
the device. According to a user, this helps prevent the ink nozzles from
clogging. (gdevdjet.c)
<h2><a name="V5.28_Platforms"></a>Platforms</h2>
Fixes bugs:
- The Windows DLL entry point procedure didn't return a value as it
was supposed to. (gp_mswin.c)
Removes all remaining initialized but non-constant globals, and ensures that
all non-debugging-related BSS variables in the library are explicitly set to
0 at initialization time. (gp_unix.c)
Improves an error message slightly. (dwmainc.cpp)
<h2><a name="V5.28_Interpreter"></a>Interpreter</h2>
Fixes bugs:
- The tracing code for restore_resources could access an invalid
address. (isave.c)
- sizeof(procedure) is not allowed in ANSI C++. (opdef.h,
iccfont.c, interp.c, ireclaim.c)
- A variable was declared incorrectly as bin_token_type_t rather
than bin_seq_type_t. (iscanbin.c)
- The behavior of copypage didn't change in LanguageLevel 3.
(gs_init.ps)
- When grestore et al reactivated a page device, they performed an
initgraphics, which should only be performed by showpage. (gs_setpd.ps)
- The RunLengthEncode filter was broken in cases where the caller
supplied a record size. (bug introduced in 5.2x) (zfilter.c)
- A needed #include of memory_.h was missing. (zfreuse.c)
- On machines with sizeof(long) > sizeof(int), the dictionary form
of image and imagemask didn't work. (bug introduced in 5.2x) (zimage2.c)
- exitserver left a 'true' on the operand stack. (gs_lev2.ps)
Replaces the STACK_LOOP_BEGIN/END macros with procedures. (We retain the
macros for backward compatibility.) (istack.h, istack.c, zchar.c,
zcontrol.c, zdict.c, zvmem.c)
Reviews the remaining operator files for ease of reading / debugging,
including removing macros where appropriate. (z*.c)
Changes the dictionary stack printer to indicate whether the dictionary is
allocated in global or local VM. (gs_init.ps)
Redefines countexecstack and execstack as operators, solely for the sake of
the Genoa [count]execstack tests. (gs_init.ps, zcontrol.c)
Changes array/string/packedarray forall not to keep an index on the stack,
solely for the sake of the Genoa [count]execstack tests. (zgeneric.c)
Finishes implementing CIEBasedDEF[G] color spaces. (icie.h, zcie.c)
Adds a ColorSpace resource instance for sRGB. (gs_lev2.ps, gs_res.ps)
Implements CloseSource and CloseTarget for filters. ****** DOESN'T WORK IF
AN EXCEPTION OCCURS DURING A NESTED CLOSE. ****** (zfile.c)
Allows Separation and DeviceN color spaces as the base space for an Indexed
color space. (zcsdevn.c, zcsindex.c, zcssepr.c)
<h2><a name="V5.28_Interpreter_PDF"></a>Interpreter (PDF)</h2>
Fixes bugs:
- In PDF files, Indexed color spaces with a CIEBasedABC base space
gave an /undefined error. (pdf_draw.ps)
<h2><a name="V5.28_Streams"></a>Streams</h2>
Fixes bugs:
- The report_error member of the DCT streams wasn't initialized
early enough. (ifilter.h, zfdctd.c, zfdcte.c, zfile.c)
Changes the zlib filters to use the stream's allocator, rather than the
default allocator, for their private storage. Note that this requires the
stream itself to keep pointers to this storage, for garbage collection.
(szlibx.h, szlibc.c, szlibd.c, szlibe.c)
Updates some clients to use new, simpler GC structure descriptors. (sdct.h,
sfilter.h, sdctc.c, sfilter1.c)
Adds a close_strm member for the interpreter's use (CloseSource /
CloseTarget). (stream.h, stream.c)
<h2><a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -