⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 history2.htm

📁 GhostScript的源代码
💻 HTM
📖 第 1 页 / 共 5 页
字号:
	  (for OutputAttributes matching only)
	NumCopies
	HWResolution
	*Margins
	*Orientation (for all devices, not just roll devices)
	Policies
	Install
	BeginPage
	EndPage
Does not implement:
	- Updating InputAttributes or OutputAttributes by sensing the state
	  of the device;
	- Retrying media matching after an initial failure;
	- Automatic handling of portrait vs. landscape page size;
	- Recording the CTM after Install as the one to be used for
	  defaultmatrix, initmatrix, and initgraphics.
Also, media matching is normally disabled (with InputAttributes = null)
for all devices.  ****** We had to disable setpagedevice just before
shipping this release, because of interactions with the older device
handling machinery that we could not fix in the time available.

<h2><a name="V2.9.8_Library"></a>Library</h2>

Fixes bugs:
	- 24-bit color (mem_true24_fill_rectangle and _copy_mono) had
algorithm bugs.
	- A complex conditional expression in gx_render_gray wouldn't
compile properly with the DECStation 3100 Ultrix 4.3 compiler.
	- The GC routines for gx_device_clip didn't handle the case where
the 'current' pointer pointed to list.single.
	- gx_add_char_bits used memcpy, rather than bytes_copy, for
compressing character bitmaps, even though the source and destination might
overlap.
	- Some compilers require the definition of st_gstate_contents to
precede the definitions of the GC procedures.
	- Filling a large rectangle (more than 1K of bitmap) with a colored
halftone overwrote random areas of the stack.

Changes gs_setcachedevice[2] to take a pointer to an array of floats,
rather than 6 or 10 individual floats.  THIS IS A NON-BACKWARD-COMPATIBLE
CHANGE.

Implements the BitmapWidths flag in fonts.

<h1><a name="Version2.9.7b"></a>Version 2.9.7-beta (6/5/94)</h1>

Yet another pre-3.0 beta.  The main features are a fairly reliable garbage
collector, and function prototypes almost everywhere they are needed.

<h2><a name="V2.9.7b_Documentation"></a>Documentation</h2>

Fixes bugs:
	- The comment at the beginning of the zfindlibfile procedure was
incorrect.

Replaces the GNU License (the COPYING file) with version 0 of the new
Aladdin Enterprises Free Public License (the PUBLIC file).

<h2><a name="V2.9.7b_Procedures"></a>Procedures</h2>

Fixes bugs:
	- The definition of cmykread.dev in gs.mak was incorrect (it
modified color.dev).

Adds the ability to specify a value for FONTPATH on the command line
(-sFONTPATH=), overriding GS_FONTPATH.

Replaces the -oper2 configuration resource type with the ability to specify
in the op_def list the dictionary in which operators will be defined.  (See
opdef.h for more details.)  This is an internal change only.

<h2><a name="V2.9.7b_Utilities"></a>Utilities</h2>

Fixes bugs:
	- viewgif.ps got an error on interlaced GIF files whose height
wasn't a multiple of 8.

Changes traceop.ps so it stores the traced operator in the same dictionary
where the operator is currently defined, if possible.

<h2><a name="V2.9.7b_Drivers"></a>Drivers</h2>

Fixes bugs:
	- The new G3 fax drivers crashed on page widths greater than 2623
(40 * 64 + 63) pixels.  (We fixed this by disallowing page widths greater
than approximately twice this.)
	- The 24-bit PCX driver had some debugging code accidentally left
in it that produced large volumes of useless console output.

Removes the previous (Leffler) TIFF/F driver and the TruFax driver.

<h2><a name="V2.9.7b_Platforms"></a>Platforms</h2>

Fixes bugs:
	- time_.h, gp_unix.c, and gp_sysv.c didn't do the right thing on
SVR4 platforms, where gettimeofday only takes 1 argument.
	- The final linking command on Turbo C platforms didn't specify the
COMPDIR directory for the linker.

<h2><a name="V2.9.7b_Fonts"></a>Fonts</h2>

Changes the standard Fontmap to use the URW contributed fonts as
work-alikes for Helvetica and Times Roman.

<h2><a name="V2.9.7b_Interpreter"></a>Interpreter</h2>

Fixes bugs:
	- The garbage collector wasn't in a consistent state.
	- In Level 2 mode, statusdict was allocated in global VM rather
than local VM.
	- resourceforall gave an error on the built-in categories such as
Filter.
	- The file searching algorithm didn't check the current directory
first.
	- When opening a file failed, it didn't return a different error
depending on the problem.
	- The CCITTFaxEncode filter crashed on widths larger than 2623 (64
* 40 + 63) pixels.  (We fixed this by disallowing page widths greater than
approximately twice this.)
	- The .type1getsbw operator gave an invalidfont error if a
CharString started with anything other than a [h]sbw.  (Adobe's published
specs say this is invalid, but some Adobe MultiMaster fonts start with a
callsubr and/or a callothersubr.)
	- When printing out the stack with == after an error, the error
handler got a repeated (and ultimately fatal) typecheck error if it
encountered an object of non-standard type.
	- The token operator could incorrectly attempt to free a structure
on the stack if it encountered an input buffer boundary.
	- string_to_ref didn't correctly set the a_local flag in the string
object it created.
	- If the -c switch was the last switch on the command line,
Ghostscript always exited without going into interactive mode.
	- copy didn't check for errors when copying a dictionary.

Makes many minor changes (mostly adding prototypes) to reduce error and
warning messages from gcc and other strict compilers.

Adds files containing the 4 predefined PDF encodings (MacRoman, MacExpert,
WinAnsi, and PDFDoc).

<h2><a name="V2.9.7b_Library"></a>Library</h2>

Fixes bugs:
	- image_bbox in gxccman.c could produce a division by 0 if a
0-width character was being entered into the cache.
	- gx_image_cached_char incorrectly specified a scale of 2x2 rather
than 1x1 if it had to read bits from an xfont.
	- Stale pointers in the halftone cache weren't cleared properly by
a restore.  (We fixed this by making grestoreall clear the halftone cache.)
	- setdash used gs_malloc, rather than the current allocator, for
allocating the dash pattern.
	- If one attempted to fill a very wide region with a colored
halftone, gx_dc_ht_colored_fill_rectangle would loop indefinitely.
	- The container_offset in clipping devices was set incorrectly,
causing the garbage collector to mangle pointers.

Changes the fopen routine in IODevices so that it can return an arbitrary
error code, rather than simply succeeding or failing.  THIS IS A
NON-BACKWARD-COMPATIBLE CHANGE.  It only affects IODevice implementations,
of which there are very few.  (It doesn't affect ordinary device drivers.)

Changes the char_metrics xfont procedure so it returns the width as
floating point numbers rather than integers.  THIS IS A
NON-BACKWARD-COMPATIBLE CHANGE.  It only affects xfont implementations, of
which there are very few.

Makes many minor changes (mostly adding prototypes) to reduce error and
warning messages from gcc and other strict compilers.

<h1><a name="Version2.9.6b"></a>Version 2.9.6-beta (5/23/94, not distributed to the public)</h1>

This, too, was supposed to be the last beta release for public release 3.0.
It was created primarily for a user who desperately needed a Level 1 system
that would run properly on a 64-bit hardware architecture.  The garbage
collector is badly broken (it's in the middle of an architectural change);
setpagedevice is still not implemented.

<h2><a name="V2.9.6b_Documentation"></a>Documentation</h2>

Documents the standard location of Type 1 fonts on AIX.

Changes the last few mentions of Ghostview for Microsoft Windows to GSview
for Windows.

Notes that Solaris 2.n provides the X11 header files in a different place.

Changes README to reflect the differentiation between Aladdin Ghostscript
and GNU Ghostscript.

<h2><a name="V2.9.6b_Procedures"></a>Procedures</h2>

Fixes bugs:
	- The compilation rules for the modules that call the IJG library
used -Ijpeg rather than -I$(JPEGSRC).
	- The rule for gslib.dev omitted echogs$(XE) as a prerequisite.

Makes it possible to define the values of buildtime, copyright, revision,
revisiondate, and serialnumber in the makefile.

<h2><a name="V2.9.6b_Utilities"></a>Utilities</h2>

Fixes bugs:
	- The viewgif.ps utility didn't handle local color tables.

Updates ps2ai.ps to version 1.81.

<h2><a name="V2.9.6b_Drivers"></a>Drivers</h2>

Fixes bugs:
	- The TIFF and fax devices used some identical names, causing
linker complaints.
	- The bj10e/bj200 driver inadvertently disabled the sheet feeder.
(The change may not actually fix this bug, since we don't have either of
these printers with a sheet feeder to test it on.)
	- The 'bit' device didn't map colors to pixel values correctly.
	- The monochrome PCL driver didn't work around the fact that the
Canon LBP4i printer didn't clear its seed row correctly.

Adds new drivers:
	- A user-contributed driver for the H-P DesignJet 650C.
	- A user-contributed driver for the Canon LIPS III printer.
	- A completely new tiffg3 driver with one based on the new, fast
faxg3 code.  This driver does not include any external code, and carries an
Aladdin copyright.
	- A tiffg4 driver, also based on the fast CCITT filter code.

Removes the tiffg3x driver that appeared briefly in 2.9.5, and renames the
previous (Leffler) tiffg3 driver as tiffg3x.

Adds support for A0, A1, and A2 paper sizes to PCL drivers.

Changes all the names involving "props" to "params", for consistency with
the header files, some other internal interfaces, and Adobe's terminology.
THIS IS A NON-BACKWARD-COMPATIBLE CHANGE.  However, it only affects devices
that implement their own get_props and put_props procedures, of which there
aren't very many.

<h2><a name="V2.9.6b_Platforms"></a>Platforms</h2>

Fixes bugs:
	- The DV/X makefile used X11 rather than X for the X11 library name.
	- The DV/X makefile incorrectly included the PC display drivers.
	- The DV/X makefile omitted gp_dosfs.$(OBJ) from the list of
platform-specific files.
	- The DV/X makefile used : rather than ; for separating directory
names in GS_LIB_DEFAULT.
	- x_.h omitted a needed alias for XtAppSetFallbackResources.
	- The makefile entry for System V Unix systems didn't include
gp_unifn.$(OBJ).
	- The comment before LDFLAGS in the gcc makefiles incorrectly
suggested using the -x switch on Ultrix platforms.
	- The forward declaration of quant_params in zfdct.c upset the Sun
compiler because it declared a parameter as float rather than floatp.
*	- The Microsoft C compiler, like the Borland C compilers, only
compares the offset part of segmented pointers.

<h2><a name="V2.9.6b_Fonts"></a>Fonts</h2>

Adds a fontmap suitable for use with Adobe Type Basics.

<h2><a name="V2.9.6b_Interpreter"></a>Interpreter</h2>

Fixes bugs:
	- The STACK_LOOP_BEGIN macro in istack.h didn't work correctly on
segmented systems.
	- The end_phase procedure in igc.c didn't work correctly on
segmented systems.
	- Indexed color spaces didn't mark their base space properly when
garbage collecting.
	- The garbage collector didn't work on segmented systems, because
it smashed the lsize field of large objects with mark/reloc information.
	- Some structures didn't have correct associated GC procedures:
gs_indexed_map, gs_client_pattern, gs_pattern_instance.
	- restore could free names or stack segments that were still
referenced.
*	- If a packed object caused an error, the error object could be set
to garbage rather than the correct object.
*	- Badly designed error handlers which use $error for temporary
storage could cause a dictfull error.
	- Some compilers objected to the use of "dict" as a variable name
in a scope where it was defined as a type.
	- IODevices were declared const and non-const inconsistently.
	- setpagedevice popped one object too many off the stack if the
request included any subdictionaries that needed to be merged.
	- More garbage collector bugs were fixed.
	- If the current stack block was empty, Level 2 restore would give
a spurious typecheck error.
	- The CCITTFaxEncode filter could get confused if it emptied the
input and filled the output at the same time.
	- The CCITTFaxEncode filter could insert an extra EOL if it had to
suspend at certain times.
	- The new parser for literal strings (as of 2.9.5) could mis-count
internal parentheses if a parenthesis caused the internal buffer collecting
the string to overflow.
	- If the current stack block had fewer than 3 elements,
.type1addpath could report a spurious typecheck error.
	- Text rendering operations (show, stringwidth, etc.) caused a
crash if the current color was a Pattern that hadn't already been
rasterized.
	- If a program did a grestore when the graphics state stack was
empty, the graphics state was initialized to unexpected (and, in some
cases, invalid) values.
	- pathforall could cause a bogus stackoverflow if it overflowed the
current stack block.
	- Closing an encoding filter with a procedure as target left the
filter on the stack.
*	- The outer loop in dict_lookup() could cause an addressing fault
on segmented machines when looking up Level 2 operators, because the offset
could get decremented past 0.
	- There was an = instead of an == in a test in scanner_reloc_ptrs.
	- The call on gs_reloc_refs in sproc_reloc_ptrs in zfproc.c omitted
the last (gcst) argument.

(Re-)implements the 2-D case of CCITTFaxEncode, and fixes a couple of bugs
in it.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -