summaryrefslogtreecommitdiff
path: root/gs/src/gxclpath.c
AgeCommit message (Collapse)AuthorFilesLines
2007-06-05Update licence headers. Copyright has been transfered from artofcode LLCRalph Giles1-1/+1
to Artifex Software, Inc. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@8022 a1074d23-0009-0410-80fe-cf8c14f379e6
2007-04-03Committing Raph's wtsimdi deviceStefan Kemper1-0/+2
DETAILS: -r600 -sDEVICE=wtsimdi does a performance optimized clist reader that either directly halftones or uses an intermediate rgb buffer to do non-trivial ROPS correctly then post halftones on a per band basis. Uses icc color profiles to convert to device color. Uses wts halftone algorithm. The device reads in a link icc profile from "link.icc", and WTS halftone files from wts_plane_[0123]. It generates a ppm file that can be used to visualize the halftoned file (it is prepared from the CMYK bits in the procedure write_pkmraw_row in gdevwts.c - if an actual device is available, that routine should be modified to produce data for the device). This device _does_ switch on a per-band basis between continuous tone pathways (true branch of the "if" statement in wtsimdi_create_buf_device) and halftone, based on whether there are rops. That is the major point of the work. This is not yet production ready, but is useful for performance and integration work. Known issues: 1. Banding only, low res non-banding will crash, the device is intended for printer resolution halftoning, at 600dpi The halftones are designed for 600dpi. 2. Color profiles and halftone screens are not in romfs, These need to be copied into the same object/binary directory that the application is in for now. ./pspcl6 and ./wts_* and ./*.icc in the same directory. Failure to find these files will crash. 3. Halftone phase not set correctly in halftone band. 4. copy_mono doesn't optimize all-0 and all-1 colors as much as it should - it can avoid processing the screen at that point. 5. halftone mode implemented only for rgb color model, not CMYK. 6. size of band_colors_used[] array is statically determined EXPECTED DIFFERENCES : None, unless -sDEVICE=wtsimdi is used. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@7819 a1074d23-0009-0410-80fe-cf8c14f379e6
2007-03-05Non-backwards compatible change: use consistent reference count allocationRaph Levien1-2/+1
discipline for color spaces. Previously, color spaces were allocated on stack, on the heap, as sub-structures within other color space structures, and were very commonly copied. Reference counting was used for the "params" block of some, but not all, color spaces, but there were correctness problems with that logic. In addition, a number of "const" qualifiers have been removed, because the action of bumping the reference count on an object is not consistent with the C semantics of const. This change is required to resolve problems with enhancement 688924. It should also help with memory leaks. Other clients, such as the PCL interpreter, will require changes to be compatible. For simple device colorspaces, the change to gs_setcmykcolor() (gscolor1.c) is representative of the code change required. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@7765 a1074d23-0009-0410-80fe-cf8c14f379e6
2006-03-13changed copyright headersStefan Kemper1-13/+10
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@6651 a1074d23-0009-0410-80fe-cf8c14f379e6
2006-03-09Add missing initialization to the streams allocated on the stack or in rawAlex Cherepanov1-0/+1
memory. Bug 688572 DETAILS: The following code doesn't initialize all the fields in the stream structure. stream s; sread_string(&s, ...); but it initializes enough fields to be mostly working. The bug has been detected by Valgrind. DIFFERENCES: None git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@6643 a1074d23-0009-0410-80fe-cf8c14f379e6
2005-10-10Optimizing the transparency compositor.Igor Melichev1-8/+27
DETAILS : Bug 688255 "ai7 pdf fails on 7.03, runs for ten + minutes on 8.51". The old code always allocates a transparency buffers for entire band. The new code accounts group bbox to minimize buffers. Due to that buffers appear empty for many of bands. The time consumption for the test case of the bug 688255 is dropped in about 100 times (from 8000 seconds to 71 seconds on a 3.07GHz machine, measured with debug build). 1. The transparency bbox computes in pdf14_begin_transparency_group from the group bbox and the CTM (gdevp14.c). 2. Handle an empty buffer pdf14_buf_new, pdf14_pop_transparency_group (gdevp14.c). 3. Fixed a bug in the rectangle clipping in pdf14_mark_fill_rectangle, pdf14_mark_fill_rectangle_ko_simple. The old code didn't sense it because bbox always covered entire band (gdevp14.c). 4. Write the bbox to clist in c_pdf14trans_write and read it in c_pdf14trans_read. 5. The pdf14 compositor needs CTM to transform the group bbox to the device space. Forced the writing of CTM to clist before writing the compositor in clist_create_compositor. (Sorry, it appears some ugly due to pcte->type->procs.write creates a body of a command, but we need to create a set of two commands; Another minor optimization - a narrowing the set of bands - is delayed, see comments in code in clist_create_compositor) (gxclimag.c). 6. New functions cmd_write_ctm_return_length, cmd_write_ctm are factored out for (5) (gxclpath.c, gxclpath.h). This part of the change is algorithmically eqiuivalent. 7. Minor change : fixed coding style of "} else {" in gdevp14.c . EXPECTED DIFFERENCES : None. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@6147 a1074d23-0009-0410-80fe-cf8c14f379e6
2004-10-07Fix initialization of C stack streams that did not perform s_init().Ray Johnston1-0/+1
Bug 687709 that could result in a Segmentation Fault (SEGV) DETAILS: The normal s_alloc() streams included s_init() on the allocated stream, but C stack streams could have uninitialized elements in the stream struct. Since this was UMR related, and affected the clist mode, the jpeg device and the pswrite device (and possibly some pdfwrite data), this would be different on different platforms. The premature 'CloseTarget' action when the stream->close_strm was not initialized as 0 (false) would show up as a SEGV when the -Z@ was used. Other problems that this patch fixes are not linked to a test file at the current time. This change also corrects a trivial typo and a NUL character found in src/gxtype1.c as a header file related warning in src/imain.c git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@5408 a1074d23-0009-0410-80fe-cf8c14f379e6
2003-12-04Fix : Cygwin/gcc compiler claimed possibly uninitialized variables.Igor Melichev1-4/+4
EXPECTED DIFFERENCES : None. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@4406 a1074d23-0009-0410-80fe-cf8c14f379e6
2003-09-29Fix calculation of the area where path segments can mark the current band.Alex Cherepanov1-10/+9
Old code skipped segments above the page boundary regardless of the line width. Fixes bug 686788 from customer 710. DETAILS: The area is calculated now as [y - expansion.y, y + height + expansion.y] for every band. Beware of FOR_RECTS_NO_ERROR loop silently updating y and height. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@4225 a1074d23-0009-0410-80fe-cf8c14f379e6
2002-10-07Apply casts to remove lots of warnings from MSVC 6.Russell Lang1-1/+1
Update some Windows color mapping functions for DeviceN. Change order of arguments for the gs_pdf14_device_filter_push function and the calls to the device filter push procedure to match the prototype. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@3122 a1074d23-0009-0410-80fe-cf8c14f379e6
2002-09-10The attached code release addresses a number of issues:Dan Coby1-0/+6
1. Most of the code changes are required to turn off overprint mode when processing images, smooth shading fills (shfill operator), or when using PatternType 2 (smooth shading) patterns. 2. A few other changes were required to correct improper updating of the overprint compositor information. 3. The code has been modified to avoid the crash that was observed for the file 86554321.pdf on MSWindows XP systems. 4. The command list playback code has been modified to handle filling of thin lines in a manner consistent with the noband case. This allows files such as mspro.pdf to be rendered consistently in the banded and noband case. Jan Modified Files: lib/gs_img.ps Added code to turn off overprint mode for images. lib/gs_ll3.ps Added code to turn off overprint mode for shfill. src/gscolor2.c 1. Modified gs_setcolorspace to call gs_do_set_overprint rather than invoking the color space's set_overprint routine directly. This allows pattern color spaces to be handled (somewhat more) correctly. 2. Modified gs_setcolor to update overprint information. This is necessary for pattern color spaces, where the color space to be used for overprint purposes may be part of the color. src/gscspace.c Modified gx_set_overprint_DeviceCMYK to use the effective_overprint_mode parameter in the image state (rather than the overprint_mode parameter itself). This is part of the change necessary to allow overprint mode to be turned off when a PatternType2 pattern is used as the current color. src/gsdevice.c Modified gs_set_device_no_init to call gs_do_set_overprint rather than invoking the color space's set_overprint routine directly. src/gsdps1.c Modified rectfill to use the effective_overprint_mode parameter in the imager state (rather than the overprint_mode parameter). src/gsovrc.c 1. Fixed a bug in overprint_draw_thin_line: the third and fourth operands in the call to gx_default_draw_thin_line (the y coordinate of the first point and the x-coordinate of the second) were in reverse order. This caused random lines to appear on various overprint mode tests (e.g.: BEST99-00-Path.fh7.pdf, Testform.v1.0.2.pdf). 2. Fixed typo in comment. 3. Modified the fill_in_procs procedure to initialize the device color model information for the temporary device used in this routine. Though the color model information does not affect the output of the routine, reasonable values must be provided to avoid problems when gx_device_forward_fill_in_procs calls gx_device_fill_in_procs. This would cause certain systems to crash with files that involved overprint/overprint mode (e.g.: 86554321.pdf on MSWinXP/MSVC systems). 4. Modified several checks that treated the separable_and_linear flag in the device color model information as a boolean to handle this parameter as an enumeration instead (since it is an enumeration). src/gsptype1.c Added gs_pattern1_set_color, the set_color method appropriate for PatternType 1 patterns. This method performs overprint updating at setcolor time, a requirement for patterns as the "colorspace" to be used for overprint purposes is determined (in part) by the current "color" (pattern). src/gsptype2.c Added gs_pattern2_set_color, the set_color method appropriate for PatternType 2 patterns. src/gsstate.c 1. Changed the criterion used in gs_grestore_only to determine if the overprint compositor must be updated. Restoring the graphic state may change the current color, which in the case of patterns may change the "colorspace" to be used for overprint purposes. The code now properly handles this possibility. 2. Added the gs_do_set_overprint routine, and modified various other routines that directly call the current color space's set_overprint method to call this procedure instead. The procedure implements the special handling required for pattern color spaces, where the current color may need to be considered when determining which color model components must be retained. 3. Added code to initialize the effective_overprint_mode parameter in the imager state, and provided two external routines to manipulate this parameter. The first routine, gs_disable_effective_overprint_mode, sets the effective_overprint_mode parameter to false, irrespective of the setting of the overprint_mode parameter. The second, gs_reset_effective_overprint_mode, sets the effective_overprint_mode parameter to have the same value as the overprint_mode parameter. The effective_overprint_mode parameter is used to turn off overprint_mode when a PatternType 2 pattern is being used. src/gsstate.h Added prototypes for gs_do_set_overprint, gs_disable_effective_overprint_mode, and gs_reset_effective_overprint_mode. src/gxccache.c Modified gx_image_cached_char to invoke gx_set_dev_color before calling (non-standard) device fill_mask methods. This handles several situations in which a device color is not set when a cached character is to be imaged, in particular for the command list device. src/gxclpath.c Added a comment to indicate that, though the overprint and overprint_mode parameters are passed through the command list, they usually have no effect, as overprint is controlled by the compositor information that is (also) passed through the command list. src/gxclrast.c 1. Added a comment to indicate that the overprint and overprint mode parameters passed through the command list usually have no effect. 2. Added code to initialize the effective_parameter_mode field in the imager state (though this field is usually in-effective). 3. Initialized the fill_zero_width field of the fill_params structure in clist_playback_band to have the same value as in the noband case. This parameter was previously always set to false, which led to dropped lines for some files (e.g.: mspro.pdf). src/gxistate.h Added the effective_overprint_mode parameter. src/gxpcolor.h Added a set_color method to the pattern method vector. This method performs any PatternType-specific actions necessary at setcolor time. For now, this just updates the overprint compositor as required. src/int.mak src/lib.mak Updated various dependency lists. src/zcolor.c Added code to disable overprint mode for PatternType 2 patterns. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@3020 a1074d23-0009-0410-80fe-cf8c14f379e6
2002-08-28We have traced the difficulties with multiple-band processing in the codeDan Coby1-1/+16
we released on Aug. 26 to two problems: 1. The halftone phase information is not adjusted for bands that start at locations other than the top of the page. 2. The "moveto closepath" style of degenerate path, which our code allows to be passed through the band list, is used in the path encoding code to indicate that a path lies entirely outside the current band (i.e.: all of the path operators between the initial moveto and the final closepath have been skipped because they are outside of the band). This resulted in the code passing isolated "closepath" segments through the command list, which much confused the band list renderer. The attached code release fixes both of these problems, and a couple of other more minor issues we discovered. With this change, our system has identical output for the banded and unbanded case for the pkmraw device at 300 dpi, for all but one FTS file (027-09.ps). In that one case, the banded and unbanded output are visually identical, so the output difference may not be significant. We will look into this situation, and test some of the other devices in the next day or so. As best we can tell, halftone phase adjustment has never been correctly implemented for the command list device. The pre-DeviceN code handles binary halftone colors properly, but does not set the phase for general colored halftones. General colored halftones are much more common in the DeviceN code, which probably is the reason Dan first noticed the problem with FTS file 245-07.ps (and others) with the DeviceN code. Jan Modified Files: src/gsht.c Modified the code that calculates the lcm_height field of a device halftone in gx_imager_dev_ht_install to use the full_height rather than the height of a halftone order. This typo was introduced sometime during the DeviceN development; the pre-DeviceN code was correct. src/gsptype1.c src/gsptype2.c src/gxwts.c Added the "get_phase" method to various gx_device_color_type_t instances. src/gxcht.c src/gxht.c Added the "get_phase" method to a pair of gx_device_color_type_t instances. Also modified the "write" and "read" methods of these structures to ignore halftone phase information. This information must be passed to and be directly handled by the command list writer code, so that the command list renderer code may correct it for the band starting coordinates. src/gxclpath.c 1. Modified cmd_put_drawing_color to directly handle halftone phase information, using the new "get_phase" method of device colors. The passing of this information must be perfomed at the command list level, so that the command list renderer can correct the phase for the starting point of the band. 2. Also in cmd_put_drawing_color, "unset" the saved color information if the halftone id does not match the most recently set halftone, rather than setting the saved color pointer to 0. 3. In cmd_put_path, when processing a segment containing a moveto followed by a closepath, check if the moveto was to a point outside of the current band, and discard the closepath if this is the case. This is necessary to avoid inserting isolated closepath segments into the command list. src/gxclrast.c Added code to initialize the dev_color variable to clist_playback_band to "no color". src/gxdcolor.c src/gxdcolor.h Added the "get_phase" method to the gx_device_color_type_t structure, and installed this method in various instances of the structure. Also provided the two canonical implementations of this method. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2948 a1074d23-0009-0410-80fe-cf8c14f379e6
2002-08-26Modified files:Dan Coby1-126/+66
src/gdevdbit.c: Changed gx_default_fill_mask to use the fill_masked routine of the device color. This avoids an instance in which a possibly uninitialized halftone tile is used for drawing. It also makes the code considerably cleaner. src/gscdefs.h Re-installed the definition of extern_gs_find_compositor, which had in-advertently been lost in a recent code merge. src/gsdcolor.h Added the colors.binary.b_level field to the gx_device_color_saved structure. Also added a comment explaining why this structure is used rather than the gx_device_color structure itself. src/gsht.c This file should be identical to the version released on Aug. 22nd. We are releasing again here just to guard against this code being committed without the former change. src/gsht1.c Modified the check for "binaryness" of a device color model in gs_sethalftone_try_wts to handle cases in which not all of the depth bits are used. src/gstext.c, src/gxtext.h src/zchar.c These files are identical to the set released on Aug. 23rd (the fix for color changes in a kshow procedure). We are releasing them again here to make certain the rest of this code is not committed without the former change. src/gxacpath.c Modified gx_cpath_accum_end to set the new bbox_accurate field rather than the bbox_set field. This avoids overloading the bbox_set field in a way that can lead to inconsistent output when the setbbox operator is used with a path. src/gxcht.c src/gxht.c src/gxdcolor.c src/gxdcolor.h Modified the "write" methods for various color spaces so that their return value can indicate that the operand and last transmitted colors are the same. Also fixed various bugs uncovered when the modular device color serialization/de-serialization was first used. The changes to gxdcolor.h involve only comments. src/gxcldev.h 1. Added a saved device color (gx_device_color_saved) to the band state structure. 2. Removed the (long since unnecessary) type operand from the cmd_put_halftone procedure. 3. Commented out some now obsolete command codes. src/gxclimag.c 1. Modified clist_fill_mask to work with the new, modular drawing color serialization/de-serialization routines. 2. Rewrote cmd_put_halftone as required by the new mechanism for serializing/de-serializing device halftones. 3. Modified various invocations of cmd_put_halftone to discard the the type operand. Note: The existing code impose a requirement that image objects that used a device color (e.g.: image masks) would only be passed through the command list if that color is pure. We do not know why this limitation was necessary, and suspect it is no longer necessary, but we have left it in place for now. src/gxclist.c Added gxdcolor.h to the included file list. src/gxclpath.c 1. Rewrote cmd_put_drawing_color to use the new mechanism for serialization/de-serialization of device colors. 2. Removed the device color type information from the stroke/ fill/polyfill commands. 3. Modified cmd_put_path so that "moveto closepath" is not passed through the command list as just "moveto". src/gxclpath.h 1. Added the cmd_opv_ext_put_ht_seg, to allow device halftones to be split across multiple command buffers. Also added the macro cbuf_ht_seg_max_size, to indicate the largest halftone segment to be put in a single command buffer. 2. Commented out some now obsolete command codes. src/gxclrast.c 1. Modified the code to read device halftones and device colors to use the new serialization/de-serialization methods for these structures. 2. Modified various locations in which partial/temporary device colors are used to use the current color for the band. 3. Removed code for the various stroke/fill/polyfill commands that encode device color type as part of the command. 4. Added code to save the current color when a pure color must be set to generate a clip region using the fill procedure. 5. Modified the clip path reading code to flatten the clip path before passing it to the fill operation. This is necessary to ensure consistent results between the banded and non-banded cases (the non-banded case also flattens a clip path before passing it to the fill operation). src/gxdhtserial.c 1. Updated gx_ht_read_tf and gx_ht_read_and_install to properly use the reference count in a transfer function. 2. Fixed various other errors discovered when this code was first used. src/gxdhtserial.h Fixed typo. src/gxpath.c Initialize the new bbox_accurate field of the gx_path structure to false in gx_path_init_contents. src/gxpath2.c Modified gx_path_bbox to use the bbox_accurate rather than bbox_set field to determine if the bounding box of a path needs to be explicitly calculated. If bbox_set is true, the bounding box in the bbox field will contain the current path, but may be larger than necessary. Due to a problem in the clip/fill code, the larger bounding box may generate slightly inconsistent results. src/gzpath.h Added the bbox_accurate field to the gx_path_s structure. This field is used by the clip accumulator device, which avoids the need to overload the bbox_set field (which is also used by the setbbox operator). src/lib.mak Updated varius dependency lists. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2934 a1074d23-0009-0410-80fe-cf8c14f379e6
2002-08-22DeviceN.Henry Stiles1-22/+40
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2925 a1074d23-0009-0410-80fe-cf8c14f379e6
2002-06-16Removes all uses of the now-deprecated Pn macros from all remaining .cL Peter Deutsch1-4/+4
files. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2745 a1074d23-0009-0410-80fe-cf8c14f379e6
2002-02-21Reverts to marking files with the single Id cvs tag instead of theRalph Giles1-1/+1
RCSfile and Revision pair. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2241 a1074d23-0009-0410-80fe-cf8c14f379e6
2002-02-21Update banner to the new format common to all releases (AFPL, GPL andRay Johnston1-13/+11
Artifex Software's commercial release). References file LICENSE. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2234 a1074d23-0009-0410-80fe-cf8c14f379e6
2001-03-13Fix: Some device color components were missed while serializing halftone to ↵Igor Melichev1-1/+1
clist, causing segment fault during playback. Changes use proper number of device color components to be written to clist and read from it. SourceForge bug #211449. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@1251 a1074d23-0009-0410-80fe-cf8c14f379e6
2000-09-19Updates the license notices to reflect the name change from AladdinL Peter Deutsch1-16/+16
Ghostscript to AFPL Ghostscript, as well as some internal references to the program name. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@729 a1074d23-0009-0410-80fe-cf8c14f379e6
2000-08-30Brings the (still mostly stubbed) transparency code to a moreL Peter Deutsch1-34/+2
self-consistent state. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@673 a1074d23-0009-0410-80fe-cf8c14f379e6
2000-08-26Completes an edit that accidentally left the repository in an inconsistentL Peter Deutsch1-4/+5
state. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@671 a1074d23-0009-0410-80fe-cf8c14f379e6
2000-08-25Partly implements opacity and shape mask bookkeeping. gsave/grestore/etc.L Peter Deutsch1-17/+47
and banding don't do the right thing yet. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@669 a1074d23-0009-0410-80fe-cf8c14f379e6
2000-08-23Starts to implement the PDF 1.4 transparency features. All API and operatorL Peter Deutsch1-123/+141
additions are now implemented (at least as stubs) and documented, as is bookkeeping for the new scalar graphics state members (but not for the soft masks or the transparency group stack). git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@658 a1074d23-0009-0410-80fe-cf8c14f379e6
2000-08-23Adds the PDF "overprint mode" to the graphics state. THE ACTUALL Peter Deutsch1-12/+24
FUNCTIONALITY IS NOT IMPLEMENTED YET. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@657 a1074d23-0009-0410-80fe-cf8c14f379e6
2000-03-28Changes a few initializations to suppress warnings from one picky compilerL Peter Deutsch1-2/+5
that doesn't like ptr = buf - 1 where buf is an array. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@206 a1074d23-0009-0410-80fe-cf8c14f379e6
2000-03-09Populate repository with gs 6.0 files.ghostscript-6.0L Peter Deutsch1-3/+15
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2 a1074d23-0009-0410-80fe-cf8c14f379e6
2000-02-15Update to Aladdin 6.0 - Only license block formatting changed.Ray Johnston1-2/+3
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@1089 06663e23-700e-0410-b217-a244a6096597
1999-12-12Imports Aladdin's 596.Henry Stiles1-39/+31
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@1040 06663e23-700e-0410-b217-a244a6096597
1999-10-03This is the first gs593 integration it is *NOT* a release. NormallyHenry Stiles1-14/+22
each file is checked in with an associated log entry, in order to check in all of the code simultaneously we batch all of the file name's modified and change descriptions here (Note: Aladdin code changes are documented in gs/doc/News.htm) - pcstate.h - removes show enumeration from pcl state. - pctop.c, pxtop.c - gs_grestore_no_wraparound()'s is now gs_grestore_only(). - pxgstate.c - ENUM_RETURN_CONST_STRING_PTR() now takes a gs string argument instead of the string's data as it did previously. - plmain.c - - The library no longer initializes io devices. Adds gs_iodev_init() to main() procedure. Also, gs_c_param_list_rewrite() is renamed to gs_c_param_list_write_more(). - pcltop.mak - adds pipe.dev for operating system pipe support. - pctext.c, pglabel.c, pxfont.c, plfont.c - extensive modifications to support the text api (gstext.h) - use gs_text_enum_t instead of gs_show_enum. - removes enumeration allocation, this is now done by the text "begin" functions. - update "next_char" procs and "encode char" procs to take a glyph argument and the character argument is now passed by value (pcl nor xl make use of the glyph argument). - char_path_n_init() replaced with gs_charpath_begin(). - gs_show_n_init() replaced with gs_show_begin(). - gs_show_next() is now handled by gs_process_text(). - gs_release_text() added. - gs_xyshow_n_init() replace with gs_xyshow_begin(). Passing of x and y coordinates modified to support the new interface. Unfortunately, we need to transform the coordinates into the space of the font scaling matrix, that is the current ctm for xl when the the text is processed. This differs from postscript which appears to have the regular user->device matrix in the graphics state during processing. - (plfont.c) - gs_notify_init() is now part of the pfont initialization procedure, related TODO: cut over to gs_font_alloc() and gs_font_base_alloc(). - all gs files - removes uninitialized rcs identifiers. KNOWN PROBLEMS: occassional pxl and pcl crashes in gdev_mem_set_line_ptrs() when running in color due to null base (data) pointer. git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@985 06663e23-700e-0410-b217-a244a6096597
1999-10-01Fix for error code propagation upward from 'cmd_set_drawing_color' thatRay Johnston1-7/+6
interfered with clist_VMerror recovery. git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@980 06663e23-700e-0410-b217-a244a6096597
1999-05-24initial gs5.84 checkin with pcl and xl compiling.Henry Stiles1-39/+67
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@857 06663e23-700e-0410-b217-a244a6096597
1999-04-02Add a check for parallelograms that are rectangles.Ray Johnston1-3/+12
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@796 06663e23-700e-0410-b217-a244a6096597
1999-04-01Fix clist triangle and paralleogram functions to respect the disable_pathRay Johnston1-0/+18
flag. This plugs a hole in clist VMerror recovery that is not handled by clist_put_polyfill. Later, maybe fix put_polyfill to use TRY_RECT END_RECT macros so that VMerror recovery will work for these higher level (but still simple) paths operations. git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@790 06663e23-700e-0410-b217-a244a6096597
1998-11-13cmyk patch for firstsnow.Henry Stiles1-1/+6
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@525 06663e23-700e-0410-b217-a244a6096597
1998-11-06checks in needed changes from gs5.64Henry Stiles1-7/+134
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@514 06663e23-700e-0410-b217-a244a6096597
1998-11-03performance enhancements from 5.6[12]Henry Stiles1-78/+37
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@504 06663e23-700e-0410-b217-a244a6096597
1998-10-05fixes improper initializion of the tile size in the banding codeHenry Stiles1-14/+17
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@464 06663e23-700e-0410-b217-a244a6096597
1998-08-22filters out the id string.Henry Stiles1-1/+1
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@321 06663e23-700e-0410-b217-a244a6096597
1998-08-19gs 5.34 checkin.Henry Stiles1-3/+5
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@318 06663e23-700e-0410-b217-a244a6096597
1998-08-08This commit was generated by cvs2svn to compensate for changes in r279,Henry Stiles1-255/+177
which included commits to RCS files with non-trunk default branches. git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@280 06663e23-700e-0410-b217-a244a6096597
1998-07-28This commit was generated by cvs2svn to compensate for changes in r257,Henry Stiles1-996/+1034
which included commits to RCS files with non-trunk default branches. git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@258 06663e23-700e-0410-b217-a244a6096597
1998-07-26Initial revisionHenry Stiles1-0/+1230
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@246 06663e23-700e-0410-b217-a244a6096597