📄 news
字号:
Updates clients for the split in gscspace.h. (zcie.c, zcolor1.c, zcolor2.c,
zcsindex.c, zcssepr.c, zimage2.c, zpaint.c, zpcolor.c)
Updates clients for strip-based halftones. (zpcolor.c)
Updates the initialization code to pass the correct (system) allocator to
the library initialization. (imain.c)
Streams
-------
Fixes bugs:
- If a filter reached EOD exactly at the end of reading data for
certain operations, it didn't get closed automatically. (stream.c)
- The LZW-compatible encoding filter reset procedure had an
incorrect return type. (slzwce.c)
Changes the ASCIIHexEncode filter to insert \ns in fewer places, to be
somewhat more compatible with the Adobe implementation. (sstring.c)
Adds PNGPredictorEncode/Decode filters that implement the pixel prediction
algorithms in the PNG specification. (We'd like to use the code in the PNG
library, but it's too deeply embedded in the rest of the PNG machinery, and
it also doesn't provide for suspendable I/O.) (spngpx.h, spngp.c)
Library
-------
Fixes bugs:
- A test for pure color was backwards, causing garbage output or
possible address or floating point exceptions. (gxclpath.c)
- A macro containing an if-else could cause incorrect grouping of
'if' statements. (gsrefct.h)
- The default implementation of RasterOp didn't handle the device
depth correctly. (gdevmrop.c)
- The memory device implementation of RasterOp truncated 24-bit
constant source or texture values to 8 bits. (gdevmrop.c)
- A typo caused the garbage collector to miss an internal buffer
used when rendering images. (gximage.h)
- gs_debug_out was only defined if DEBUG was set. (gdebug.h)
- The raster of horizontally replicated tiles was incorrect.
(gxht.c)
- A data type might not be declared, causing a compilation error.
(gscoord.h)
- Empty TrueType glyphs weren't handled properly. (gstype42.c)
- Fonts with a build procedure written in C could cause an invalid
memory access. (gschar.c)
- The initial point of a band list path sometimes didn't get
written, causing excess or missing filled regions. (gxclpath.c)
- Characters between 49 and 56 bits wide were rendered incorrectly
when banding. (gxclbits.c)
Renames gsimage*.c as gximage*.c, to reflect more accurately the position of
these files in the architecture. (gsimage*.c, gximage*.c)
Fully implements the high-level bitmap image calls in the driver API. This
includes some driver API changes; however, this part of the API was clearly
documented as not stable enough to rely on. (gxdevice.h, gximage.h,
gdevbbox.c, gdevddrw.c, gdevnfwd.c, gsimage.c, gximage*.c)
Splits the color space header into client and implementation, as with many
others. (gscspace.h, gxcspace.h, gximage.h, gscie.c, gscolor.c, gscolor1.c,
gscolor2.c, gscsepr.c, gsimage.c, gspcolor.c, gsstate.c, gxcmap.c,
gxpcmap.c)
Extends band lists to handle high-level images. NOTE: This facility is
patched out because there is not yet a way to pass the necessary color
rendering information through the band list. (gxcldev.h, gxclist.h,
gxclpath.h, gxclimag.c, gxclist.c, gxclpath.c, gxclread.c)
Implements fixed2float and float2fixed more efficiently on machines with
slow floating point. (gxfixed.h, gscoord.c, gsmisc.c)
Makes one further NON-BACKWARD-COMPATIBLE change in the existing
higher-level driver procedures (fill_path, stroke_path, fill_mask): we make
the imager state pointer an explicit argument, rather than a member of the
gx_fill/stroke_params structure. We now consider the specification of these
procedures stable, and have removed the "subject to change" notice from the
documentation. (gxdevice.h, gxpaint.h, gdevbbox.c, gdevnfwd.c, gxacpath.c,
gxclpath.c, gxclread.c, gxfill.c, gxpaint.c, gxstroke.c)
Extends halftone bitmaps to include "strip" and "shift" information,
allowing halftone cells with arbitrary angles to be stored in space
proportional to the number of bits in the cell rather than the square of the
number of bits. This requires adding new (optional) strip_tile_rectangle
and strip_copy_rop driver procedures that are like tile_rectangle and
copy_rop respectively but accept a strip bitmap rather than an ordinary
tile; these procedures supersede tile_rectangle and copy_rop (although these
also remain, defined in terms of the new ones). This also requires making
small but NON-BACKWARD-COMPATIBLE changes in several internal interfaces.
(gdevmem.h, gdevprn.h, gsdcolor.h, gxbcache.h, gxbitmap.h, gxcldev.h,
gxclip2.h, gxclist.h, gxdevice.h, gxdevrop.h, gxdht.h, gxfcache.h,
gxhttile.h, gxpcolor.h, gzht.h; gdevabuf.c, gdevbbox.c, gdevdflt.c,
gdevm*.c, gdevmpla.c, gdevmrop.c, gdevnfwd.c, gsht.c, gsht1.c, gshtscr.c,
gspcolor.c, gsstate.c, gxcht.c, gxclbits.c, gxclip2.c, gxclist.c,
gxclpath.c, gxclread.c, gxcpath.c, gxdcolor.c, gxdither.c, gxht.c,
gximage2.c, gxpcmap.c, ...)
Adds "no join" as a line join type. NOTE: this is not actually implemented
yet. (gslparam.h)
Changes the initialization code so that it passes the system allocator as an
argument to module initialization procedures. While this is theoretically a
NON-BACKWARD-COMPATIBLE change, module initialization procedures are not
documented and presumably are not used by any code outside the
implementation. (gscdefs.h, gconf.c, gdevmrop.c, gsinit.c, gxclimag.c,
gxclpath.c)
Splits up gs_lib_init into two procedures, allowing specification of a
different default allocator for the library. (gslib.h, gsinit.c)
Adds a resize_object operation to the allocator API. (gsmemory.h,
gsalloc.c, gsmemory.c)
Version 3.67(limited) (4/12/96)
=====================
This release restructures the MS Windows and OS/2 code to be primarily DLL-
rather than EXE-based. See under Platforms below for more news. This
release was put out in a hurry in order to get the new DLL code into
testers' hands; it has more rough edges than usual.
Documentation
-------------
Fixes bugs:
- A definition & use comment was incorrect. (scanchar.h)
- William Bader's e-mail address was wrong. (README)
Adds documentation for the new begin_image, image_data, and end_image
procedures. THIS INTERFACE IS STILL SUBJECT TO CHANGE. (drivers.doc)
Procedures
----------
Renames all the *core.dev modules as *lib.dev. (int.mak, *lib.mak, vms.mak,
gdevmrop.c)
Updates all the remaining makefiles to IJG JPEG version 6a. (*.mak)
Moves the configuration parameter definitions from gconf.c to a new file
gscdefs.c. (bcwin*.mak, *lib.mak, gs.mak, int.mak, lib.mak, unixtail.mak,
vms.mak, gconf.c, gscdefs.c)
Platforms
---------
Restructures the MS Windows and OS/2 code to be primarily DLL- rather than
EXE-based. This involves two minor NON-BACKWARD-COMPATIBLE changes to the DLL
interface, documented near the end of dll.doc:
- Adding argv and argc as arguments to gsdll_init.
- Adding a new message type, GSDLL_POLL, to the callback procedure.
(bcwin*.mak, devs.mak, os2.mak, dll.doc, install.doc, dw*.*, gsdll*.*,
gdevms*.*, gdevpm.c, gdevw*.c, gp_mswin.c, gp_os2.c, gsos2.def, gswin.rc)
Adds the BMP drivers to the Watcom platform. (watc.mak)
Interpreter
-----------
Fixes bugs:
- gs.c assumed the presence of stdio. (gs.c)
Defines a new API entry point that is the equivalent of command line
invocation. (imain.h, imainarg.h, gs.c)
Changes clients to conform to the changes in gsimage.h. (zimage2.c,
zpaint.c)
Speeds up the search operator slightly. (zstring.c)
Interpreter (PDF)
-----------------
Fixes bugs:
- If the PDF interpreter was present, running a PostScript file
didn't close the file properly if it caused an error. (pdf_main.ps)
Speeds up embedded font loading by making an internal buffer bigger.
(pdf_font.ps)
Library
-------
Fixes bugs:
- There could be some non-zero garbage between the width and the
next multiple of bitmap_align_mod for copy_alpha. (The driver API
specification explicitly allows this, but it upset one customer.)
(gxccman.c)
- Nibble-swapped alpha values could be displaced in memory by one
pixel, damaging the output. (gdevabuf.c)
Makes further changes towards adding high-level bitmap image calls to the
driver API. This includes the following minor NON-BACKWARD-COMPATIBLE
changes to the interface defined in gsimage.h:
- changing MultipleDataSources from a member of the gs_image_t
structure to an argument of gs_image_init;
- changing the default image parameter values from constant
structures to procedures that initialize the structure.
As far as we know, this doesn't affect any existing client code.
(gsimage.h, gsiparam.h, gxdevice.h, gdevddrw.c, gdevnfwd.c, gsimage.c,
gspcolor.c, gxccache.c)
Removes an unnecessary level of call for path filling. (gxpaint.h,
gxfill.c, gxpaint.c)
Version 3.66(limited) (4/8/96)
=====================
This release adds support for TrueType fonts and Type 42 (encapsulated
TrueType) PostScript fonts. The MS Windows driver now interacts properly
with the garbage collector. This release also includes a new, high-quality
set of free fonts.
Documentation
-------------
Fixes bugs:
- The list of generic makefiles had gotten out of date. (make.doc)
Adds a mention of the bmv program, created by a user and available under the
GPL. (README)
Notes that a bug in gcc 2.7.x prevents these versions from compiling
Ghostscript. (make.doc)
Clarifies the meaning of "inverted" masks. (gsimage.h)
Improves the documentation of the stack sizing parameters. (interp.c)
Improves the documentation of the copy_rop driver procedure.
(drivers.doc)
Notes that all subclasses of gx_device must explicitly include the
device_finalize finalization procedure. (gxdevice.h)
Updates the documentation of the high-level driver API to reflect the change
in gx_drawing_color, and the addition of the new polygon and image drawing
procedures. (drivers.doc)
Updates the documentation for building zlib and libpng. (make.doc)
Procedures
----------
Fixes bugs:
- The environment space overflowed on some inferior Unix systems.
(unixtail.mak)
Adds a ttfont.dev "feature" for including the TrueType interpreter and the
ability to handle Type 42 fonts. A new procedure, .loadttfont, allows
loading a TrueType font directly (by converting it to a Type 42 on the fly).
(gs.mak, int.mak, lib.mak)
Updates the makefiles and procedures to libpng 0.88 and zlib 1.0.
(libpng.mak, zlib.mak)
Utilities
---------
Fixes bugs:
- pdf2ps could produce lines longer than 255 characters.
(pdf_2ps.ps)
Removes some unnecessary and error-inviting code from pdf2dsc. (pdf2dsc.ps)
Updates lines.ps to test the new stroke code more fully. (lines.ps)
Allows omitting the second argument of ps2pdf, as for ps2epsi. (ps2pdf)
Drivers
-------
Fixes bugs:
- A routine was incorrectly declared "private". (I wish gcc caught
this!) (gdevpdf.c)
- A 'const' was omitted in a parameter list. (gdevpdfp.c)
- Some imported procedures didn't have prototypes declared.
(gdevpdft.c)
- The ProcSet list for PDF files didn't include Text when it was
needed. (gdevpdfx.h, gdevpdf.c, gdevpdft.c)
- Text in PDF output ignored the color setting. (gs_pdfwr.ps,
gdevpdft.c)
- Text in PDF output could be positioned incorrectly. (gdevpdft.c)
- pdfmarks could produce an error when producing PDF output.
(gs_pdfwr.ps)
Slightly improves the text output of the PDF writer. (gs_pdfwr.ps,
gdevpdft.c)
Defines driver procedures for filling trapezoids (with the parallel edges
parallel to a coordinate axis), parallelograms (with arbitrary orientation),
triangles (ditto), and minimum-width lines (ditto). (Note that the last of
these obsoletes the former draw_line procedure.) (gdevmem.h, gdevprn.h,
gxdevice.h, gxdraw.h (deleted), gdevddrw.c, gdevdflt.c, gdevht.c,
gdevnfwd.c, gsimage[12345].c, gxacpath.c, gxclist.c, gxclip2.c, gxcpath.c,
gxdraw.c (deleted), gxfill.c, gxpcmap.c, gxstroke.c)
Adds "sketched" driver procedures for high-level bitmap / pixmap image
drawing. In this release, the argument lists are incomplete, and the
procedures are stubs: don't try to use them! [see previous entry]
Changes the screen update strategy for the X Windows driver from a
compile-time option to a settable run-time variable. (gdevx.c)
Patches around a problem with libpng 0.88 that can't be fixed without
editing a configuration file. (gdevpng.c)
Platforms
---------
Fixes bugs:
- %g formats with sscanf don't work on NeXT systems. (gdevpdft.c,
iutil.c, zdouble.c)
- getenv could be declared inconsistently. (gp_unix.c)
Fonts
-----
Fixes bugs:
- The Type 1 font interpreter sometimes set the flatness too large.
(gstype1.c)
- Fonts defined by definefont could never be garbage collected.
(gsstruct.h, gxfcache.h, gxfont.h, gxfont0.h, gxfont1.h, gsfont.c,
gsfont0.c)
- Type 0 fonts weren't garbage collected properly. (gsfont0.c)
- Compiled fonts caused a compilation error (bug introduced in
3.65). (ifont.h)
- If a Type 1 font used hint replacement, hints could be applied
more than once, distorting the character shape. (gxtype1.h, gxhint3.c)
- Oversampling wasn't applied to large enough characters.
(gschar.c)
Interpreter
-----------
Fixes bugs:
- The scanner accepted /[, /], /<<, and />> as literal names (and
similarly for //). It isn't obvious from the Red Book, but the Adobe
implementations don't accept these. What a nuisance! (gs_btokn.ps,
gs_init.ps, pdf_2ps.ps, pdf_base.ps, pdf_main.ps, iscan.c)
- A spurious stackoverflow could occur under unusual conditions.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -