| History of Ghostscript versions 9.xx |
|---|
This document is a record of changes in Ghostscript releases numbered 9.xx. For earlier versions, see the the history documents:
History of Ghostscript versions 8.n
History of Ghostscript versions 7.n
History of Ghostscript versions 6.n
History of Ghostscript versions 5.n
History of Ghostscript versions 4.n
History of Ghostscript versions 3.n
History of Ghostscript versions 2.n
History of Ghostscript versions 1.n
For other information, see the Ghostscript overview.
This is the seventh full release in the stable 9.x series.
Highlights in this release include:
As of this release (9.07), Ghostscript and GhostPDL are distributed under the GNU Affero General Public License (AGPL).
Ghostscript now has the option to be built as thread safe. Note that not all devices are thread safe. See the GS_THREADSAFE option in: GS_THREADSAFE
The pdfwrite devices now supports linearized (or optimized for fast web view) output directly ("-dFastWebView")
The Font API (FAPI) has been moved from the Postscript interpreter (psi) into the graphics library (base), and extended to support the other languages (PCL/PXL/XPS). All interpreters now use Freetype by default to render all viable font types.
Ghostscript has been extended to support Postscript string and array objects with >64k entries.
Ghostscript has been extended to support file sizes >4Gb - in particular reading and writing PDF files. As a side effect of this, Ghostscript also now supports 64 bit Postscript integer objects.
All CMYK devices can now support simulated overprint of spot colors using the "-dSimulateOverprint" command line option.
Support for use of DeviceN ICC color profiles as the output profile with the tiffsep and psdcmyk devices.
Support for customized named color handling with DeviceN colors
Support for black point compensation
Support for K preservation in CMYK to CMYK conversions
Support for DeviceLink profiles for graphic, image and text objects
Support for custom color replacement
Increased control in specifying color conversions as a function of object type
Full details of the color management features can be found in: GS9_Color_Management.pdf
Provide BigTIFF output option: the tiff devices can write BigTIFF files using the "-dUseBigTIFF" option. This requires libtiff version >=4.0.0 (the option is ignored for versions <4.0.0)
LittleCMS updated to 2.4
Plus the usual round of bug fixes, compatibility changes, and incremental improvements.
For a list of open issues, or to report problems, please visit bugs.ghostscript.com.
No recorded incompatible changes.
2013-01-30 16:22:21 -0700
Henry Stiles <henry.stiles@artifex.com>
1db3e495532a23b3c736dd54215ecb82374837fe
Bug 693030 - duplexing page problem fixed in PXL output device.
Upon media changes or even duplexing changes the PXL device did not
switch back to the front page. Thanks to Hin-Tak Leung for fixing
this.
gs/base/gdevpx.c
gs/base/gdevpxut.c
2013-01-30 14:07:41 -0700
Henry Stiles <henry.stiles@artifex.com>
6e13685e1768771f87c94bdb2aaaab4d011d601c
Fix Bug #692914 - Postscript MediaType lost.
Thanks to Hin-Tak Leung for adding support for MediaType to PXL output
drivers.
gs/base/gdevlj56.c
gs/base/gdevpx.c
gs/base/gdevpxut.c
gs/base/gdevpxut.h
2013-01-30 13:51:51 +0000
Chris Liddell <chris.liddell@artifex.com>
9c11bdaf7701b2736060ce291ae22fb0105ffaf5
Bug 693572 (redux): handle missing a glyph outline - again.
It turns out that some devices (pdfwrite!) have a problem with receiving a
completely empty path for an outline glyph, so......
If the outline is missing, create a path with just a moveto and closepath.
No cluster differences.
gs/base/fapi_ft.c
2013-01-30 13:37:47 +0000
Chris Liddell <chris.liddell@artifex.com>
4704c9dc5d345fa6d81513fe9d5ea13aa199ae01
Bug 693398: avoid marking/reloc'ing unsuitable pointer
The gx_image_enum object contains a pointer (cie_range) to the CIE range in
the color space, if it's for an image in certain types of CIE space. The
pointer points *into* an area of allocated memory, and not to the "top" of
the allocated block. As a result, when garbage collection tries to relocate,
there isn't a valid header structure, and the values it ends up using for the
relocation are nonsense.
Removing the cie_range pointer from the GC pointer enumeration is not
because the color space structure and it's contents can move. Since this is
a fairly rare case, and the CIE range lookup is trivial, the cie_range
pointer is replaced with a boolean (so we decide *whether* to use the range
only once), and then the range itself is retrieved at the time it's used.
No cluster differences.
gs/base/gxi12bit.c
gs/base/gxicolor.c
gs/base/gximage.h
gs/base/gximono.c
gs/base/gxipixel.c
2013-01-29 17:45:45 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
295a195f85ced8b965f65bbc1fe6c3cf78c36e51
Bug 693026: Fix SEGV when @FILE can't open.
Argument processing happens early during Ghostscript start-up process.
Be prepared, that not all structures have been initialized yet.
gs/base/gsargs.c
gs/base/gsargs.h
gs/base/gsiodev.c
gs/psi/imainarg.c
pl/plmain.c
2013-01-27 14:03:05 -0800
Ray Johnston <ray.johnston@artifex.com>
ab9615d43302f03ce57fdd8e849ec52e870983e4
Bug 693590: MT rendering has wrong 'supports_devn' and incomplete color_info
Shadings use the comp_bits, comp_mask and comp_shift which must match
the main thread's setting, so we copy the color_info from the clist
device.
Also the thread's icc_struct->supports_devn must correspond to the main
thread's device (regressions with psdcmyk detected this).
gs/base/gxclthrd.c
2013-01-29 15:12:04 +0000
Chris Liddell <chris.liddell@artifex.com>
62df74b7ef081a9f35028b493843a4624048f7af
Bug 693599: Change the function configure checks for in liblcms2.
The lcms2 API changed at 2.2, adding the cmsGetTransformOutputFormat()
call. When we're checking if we can use the system's lcms2, change the
autoconf check to look for cmsGetTransformOutputFormat().
No cluster differences.
gs/base/configure.ac
2013-01-29 10:32:30 +0000
Chris Liddell <chris.liddell@artifex.com>
3c7aa3543e098620d70c5df143513718d3e83b12
Add the make fix from 1fbd0191 to the Mac specific subtarget.
CLUSTER_UNTESTED
gs/base/unix-dll.mak
2013-01-29 10:12:00 +0000
Chris Liddell <chris.liddell@artifex.com>
3233283cfe4370fb826998d14954e4870155c80e
Work around a make problem with "so" target
GNU make 3.82 appears to have a bug which causes problems with our "so"
targets. The "so" targets rely on recursice make calls to build various
subtargets, the shared library and the two executables that link to the shared
library.
On the final recursive make call (to build the executables), GNU make 3.82
wrongly identifies that one dependency (psbase.dev) has changed, and decides it
must rebuild the shared library. By this stage, however, the compiler options
have been setup to build an executable, rather than the shared library.
As a result, we build an executable with the name of the shared lib, and
then try to link that into an executable, which results in linker errors.
As it happens, the use of recursive make calls means we can safely drop a
dependency, which will prevent make from re-evaluating the problematic target,
and thus avoiding the problem arising.
CLUSTER_UNTESTED
gs/base/unix-dll.mak
2013-01-28 17:32:15 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
bbfbdf7574e6ac46b65b76b06dea6a4e94d35f31
Bug 693284: Prevent read access violation.
Check whether there's enough data.
gs/jbig2dec/jbig2_symbol_dict.c
2013-01-28 16:34:20 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
7ba5e87d05bb2bfff4e475fa21bd8558896ca053
Bug 693284: Detect missing glyphs and fail.
gs/jbig2dec/jbig2_symbol_dict.c
gs/jbig2dec/jbig2_text.c
2013-01-28 15:34:38 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
33794a10191cf1e5c1b41410ee068ba71cf3825c
Bug 693284: Conditional inclusion of memento header.
gs/jbig2dec/jbig2.h
2013-01-28 13:34:01 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
ccae004db8b875086995353c299cee196dd326fb
Bug 693284: Break an infinite loop.
gs/jbig2dec/jbig2_symbol_dict.c
2013-01-28 11:56:37 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
4b6594315066b8ded562111472aa5933c6c54238
Bug 693284: Fix 32 vs 64-bit typ[e mismatch.
gs/jbig2dec/jbig2_symbol_dict.c
2013-01-28 11:09:04 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
eea1deb225c19ab7a29b7ccdb33290d757853f1b
Bug 693284: Don't shift 32-bit value by 32.
gs/jbig2dec/jbig2_huffman.c
2013-01-28 09:03:30 +0000
Chris Liddell <chris.liddell@artifex.com>
9cf877b78dbe7d077d1369b07bdaf73ba8415e01
Handle cases where pointer alignment does not match pointer size.
On some hardware, pointer alignment does not necessarily match the size
of a pointer - handle that in genarch.
No cluster differences
gs/base/genarch.c
2013-01-28 08:55:02 +0000
Chris Liddell <chris.liddell@artifex.com>
8120955272fe1c9d1a8182c2dbba44758d3d3091
Fix unaligned pointer access.
In pdf_add_subset_prefix() change so that the hashing code accesses
the buffer byte at a time, rather than short at a time, and increment
through the buffer "sizeof(short)" bytes at a time. The former ensures
we never risk an unaligned memory access on strict alignment
architectures, and the latter ensures we hash all the relevant data
correctly.
No cluster differences.
gs/base/gdevpdtb.c
2013-01-28 08:57:12 +0000
Ken Sharp <ken.sharp@artifex.com>
daeb0a9a52f865e9088c29511fd397d8356ca775
pdfwrite - record the usage of outlines, articles, named dests and labels
When linearising, I forgot to add the dictionaries, referenced from the
Catalog, for Outlines, Threads, Named desintations and Page Lanels to
the usage record. This meant these dictionaries were accidentally
dropped from the final PDF file.
Here we just record their usage.
No diffrences expected.
gs/base/gdevpdf.c
2013-01-27 14:06:05 -0500
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
07d5a619b525898759a7468631a6cb775edf5bd6
Bug 691246: Handle inverted symbol region.
Propagate combination operator and also fix an error in coding XNOR
logical operation.
gs/jbig2dec/jbig2_generic.c
gs/jbig2dec/jbig2_image.c
gs/jbig2dec/jbig2_page.c
2013-01-27 01:46:17 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
0e140900d2f1eca99ad64c5bdef131cddc55e5ef
Bug 693513: Detect and reject negative parameters.
Fix detection of negative width and height attributes.
Add detection of negative number of dictionary symbols.
gs/jbig2dec/jbig2_symbol_dict.c
2013-01-26 21:47:12 -0700
Henry Stiles <henry.stiles@artifex.com>
152d0cec22438acbb6a5cd50a65b0f9f8c729195
Fix bug #693586 - clist error message.
The error was caused by sending image data to the library after the
page was output, now graphics mode is flushed and closed before the
page is output. The bug was introduced by ea54a03 which closed
graphics mode at the time of "end job" which could occur after output
page. We do need to leave that commit intact as the job could end
without outputting a page, and the raster state would not be cleaned
up.
pcl/pcpage.c
2013-01-26 21:43:50 -0700
Henry Stiles <henry.stiles@artifex.com>
386b7ab3dcdf165d6a9cae58a871e0bb78b7bdac
dwmainc.c include file dependencies added to makefile.
main/pcl6_msvc.mak
2013-01-26 19:58:46 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
e40d514124722e7babf4acaf1db5eb4e372b5f72
Bug 693496: Fix 16-bit gray image on CMYK devices on 32-bit platforms.
Use platform-independent way (memcmp) to compare color values instead of
instead of relying on the word sizes. Old code missed some of the
color components on 32-bit computers.
gs/base/gxi12bit.c
2013-01-25 22:46:38 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
81a36cc82e8680ac6bf7f0808402bf6ff02920ea
Bug 693587: Make EOL check a little more strict.
Don't skip space character after finding \r. Just peek for the following
\n and stop scanning.
gs/Resource/Init/pdf_base.ps
2013-01-25 15:29:12 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
a438b95a287f36b721331c50a4c47985616a0c19
Bug 693584: Fix annotation scaling.
Fix incorrect scaling of annotations with appearance subdirectories. Old code
always failed to find the actual appearance dictionary and used identity
scaling in such cases.
gs/Resource/Init/pdf_draw.ps
2013-01-25 09:50:41 -0800
Michael Vrhel <michael.vrhel@artifex.com>
5fa93a84163a0e2680ead7e76425c92da24bce5c
Another documentation update of the color architecture.
gs/doc/GS9_Color_Management.pdf
gs/doc/GS9_Color_Management.tex
2013-01-24 21:42:03 -0800
Michael Vrhel <michael.vrhel@artifex.com>
52cb8e94511a3a5acd8d3a21f6a22cf24d52962e
Update of color management document for 9.07 release
gs/doc/GS9_Color_Management.pdf
gs/doc/GS9_Color_Management.tex
2013-01-24 12:58:58 -0700
Henry Stiles <henry.stiles@artifex.com>
210c9344792bcf95c540f93428562c34104ffb28
Set stdio streams to binary, bug #693543.
This is exactly the same solution used in gs/base/dwmainc.c. The
commit also removes extraneous include files. Updating the associated
dwmain makefile target with the new include file dependencies is
forthcoming.
pl/dwmainc.c
2013-01-24 12:05:41 +0000
Chris Liddell <chris.liddell@artifex.com>
400e64a36f1f18e3642b705d926c49c42adc8599
Bug 693571: properly close allocator chunk during save
During a save operation, we "close" the open chunk and save the state of the
current generation of an allocator before creating a new generation and opening
a new chunk for the new generation.
After doing that, we try to eliminate any redundant changes listed for the
"saved" allocator instance. That can end freeing memory in the "closed" chunk,
leaving it in an unstable state, and causing the garbage collector to try to
validate already freed memory.
In drop_redundant_changes() we now call alloc_open_chunk() and
alloc_close_chunk() so that, in event we do disard changes (thus freeing
memory), the allocator is left in an internally consistent state, and
avoids confusing the chunk validation code during garbage collection.
No cluster differences.
gs/psi/isave.c
2013-01-24 11:56:25 +0000
Chris Liddell <chris.liddell@artifex.com>
149811fa66aaaf272a1377e9df1a79f3752e0299
Update int_freed_top in the correct chunk
In i_free_object() we were identifying the correct chunk for the memory
address we were freeing, but then always updating int_freed_top in the
current chunk. This could cause us to fail to consolidate free blocks when
we possibly could, or to attempt to do so when it would be pointless.
So we now identify whether the address is in the current chunk, and write
int_freed_top in that, or use the actual chunk pointer for the freed
memory block.
No cluster differences.
gs/base/gsalloc.c
2013-01-24 11:44:39 +0000
Chris Liddell <chris.liddell@artifex.com>
0f0a42367372cffeb80e32a4244dc74031fda077
Use the correct memory pointer for glyph cache init
The PS interpreter initialised the glyph cache using the "imemory"
pointer for the cache memory. But if the cache gets resized via
a setuserparams or setcacheparams, the graphics libarary would then
use the "stable_memory" pointer to free the original memory, and allocate
the new. Thus illiciting warning about "memory not owned by allocator" when
running with -ZA
Switch the PS interpreter initialisation to also use "stable_memory".
No cluster differences.
gs/psi/zfont.c
2013-01-24 11:36:16 +0000
Chris Liddell <chris.liddell@artifex.com>
3b2819779786467f3ed6799242947d811186a29a
Change the memory pointer used for if_debug2m()
The cmem pointer can be null in stream_finalize() if it is called from the
garbage collector. Use the memory pointer from the stream object instead.
No cluster differences.
gs/base/stream.c
2013-01-23 16:11:32 +0000
Chris Liddell <chris.liddell@artifex.com>
57744bd8af3b06cea888b7a66c8349c5096b748d
Bug 693572: handle missing a glyph outline.
We purposefully ignore some errors during glyph creation. In that event,
the path creation for an outline glyph, we weren't checking for the
outline being missing.
No cluster differences.
gs/base/fapi_ft.c
2013-01-23 09:06:04 +0000
Ken Sharp <ken.sharp@artifex.com>
bb8f4582d893aab544597599b9498e38dfa12de4
ps2write - Don't add PageLabels to the Catalog when we get a relevant pdfmark
Bug 693551 " Regression: "Error handled by opdfread.ps : rangecheck" starting with 5784bfbfba7191cacce5309e88afac0851287460"
opdfread.ps doesn't know what to do with a PageLabel, so don't emit them
Not sure why this didn't show up in the original cluster test
gs/base/gdevpdfp.c
2013-01-23 08:19:24 +0000
Ken Sharp <ken.sharp@artifex.com>
5874ad1dfa17839d499db8b041a5fc9bdbfd6b22
Properly initialise 'clip' device
Bug #693575 "segfault with ps2write and -dDisablePAPI"
Although labeled as a PS writer problem this is in fact a general bug. In
gx_image_fill_masked we call gx_image_fill_masked_start() with a pointer
to a gx_device * which we expect to be filled in.
This will be the device which accumulates the clip, if the current target
device can accumulate clips then we use it, otherwise we set up an
accumulation device.
However there was a path through gx_image_fill_masked_start which did not
set the device, leading to the variable being left uninitialised and
causing a later crash.
This patch initialises the variable to the current device before calling
gx_image_fill_masked_start and also fixes the code path in that routine
so that it always fills in the device. Just to be safe.
No differences expected.
gs/base/gximask.c
2013-01-23 08:46:58 +0100
Till Kamppeter <till.kamppeter@gmail.com>
5420903e1cbccc8c27c8e9f82c21efd9fef36366
Silenced compiler warnings in cups/gdevcups.c.
gs/cups/gdevcups.c
2013-01-22 20:25:18 -0800
Ray Johnston <ray.johnston@artifex.com>
f0f048ae68e9b93b536a52c783b566652ab72b3e
Bug 693573; Prevent multiple free when MT rendering cannot start any threads
When the MT rendering fails to start any device after the thread's
chunk allocator was set up, multiple free of the allocator would occur
because the thread's 'memory' was not set to NULL.
gs/base/gxclthrd.c
2013-01-22 21:24:17 -0700
Henry Stiles <henry.stiles@artifex.com>
76fa834e14471fb54e3dd23802a8c8f53d7fda0e
Fix warning, missing declaration, in the previous commit
ea54a0304934c570a51ca5eec216b0480f2b5be5
pcl/pcl.mak
pcl/pctop.c
2013-01-22 20:07:57 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
81ea731e97a93a5c9e3f59d7f67f8b3aa5c495c8
Bug 693570: Clear operand stack finishing PDF page.
Clear all objects that may be left behind by PDF command streams.
Stray composite objects interfere with a restore operator at the
end of the page.
gs/Resource/Init/pdf_main.ps
2013-01-22 18:04:09 -0700
Henry Stiles <henry.stiles@artifex.com>
298abec0432d87b25e57b2ab549b1817f396e851
Remove a bogus comment, lineprinter font is bound.
pl/plftable.h
2013-01-22 17:51:08 -0700
Henry Stiles <henry.stiles@artifex.com>
ea54a0304934c570a51ca5eec216b0480f2b5be5
Fixes interpreter crash see bug #693543.
If a PCL job exited in the middle of a raster stream graphics mode was
not terminated properly at the end of the job, instead we tried to
shut down graphics later at the time of interpreter shutdown which
leads to a unordered freeing of resources.
pcl/pctop.c
pcl/rtgmode.c
2013-01-22 21:06:37 +0100
Till Kamppeter <till.kamppeter@gmail.com>
188e13b462ce0d606735b53e22bdba667e391c00
CUPS Raster "cups" device: Improvements for pages size matching with PPD
These changes improve the matching of the sizes of the incoming pages with
the page sizes available for thr printer according to the PPD file.
Instead of stopping to searcg through the PPDs page sizes when a size
gets found which fits within the limits, we always go through all page
sizes to find the best match. We consider the best match the size with
the name given on the command line/by the input file and matching the
size of the current page within the limits, second level is a match of
size and margins and third level is only matching the size. If there
is more than one match of the same level, the product of the
horizontal and vertival size deviation counts.
In addition, we let the gstoraster wrapper CUPS filter for Ghostscript
call Ghostscript with all parameters on the command line (especially
also the page size name) also when the input is PostScript.
gs/cups/gdevcups.c
gs/cups/gstoraster.c
2013-01-18 13:14:15 -0800
Ray Johnston <ray.johnston@artifex.com>
2ae1a17c87e2e0d6de13d3a354129ff09668bb32
Fix Bug 693422. SEGV due to transparency and patterns
This change disables the check when doing the pattern_cache_lookup,
since transparency ops that set the colorspace may have been omitted
from bands where they are not needed, but a large pattern may have
been written to all bands. Thanks to Alex for finding this.
gs/base/gsptype1.c
2013-01-17 14:25:25 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
96a8e3595982078f0bfd6a93cb51e420f25fdc31
Bug 693550: Consider max color index -1 as 255.
gs/Resource/Init/pdf_draw.ps
2013-01-17 18:44:10 +0000
Robin Watts <robin.watts@artifex.com>
57a5089f1e2c2a83eceec81dfa2facf5f9fb51e0
Bug 693541: Fix color setup in pdf14_create_clist_device.
When we create a pdf14 clist device (a pdf14cmykspot device, in this
case) in pdf14_create_clist_device, we are at pains to set the
num_components and max_components appropriately. At no point do we
similarly sanitise the depth however.
The fix applied here is an exact parallel to the first commit for
this bug.
gs/base/gdevp14.c
2013-01-17 12:22:34 -0700
Henry Stiles <henry.stiles@artifex.com>
8e57017fa3eaeb1c2034eb0925e0da2f38e286d3
Fixes 693552 - regression with polygon handling.
The previous fix, b2796b4d58, did not properly handle the pathological
case of adding an HPGL/2 sub-polygon to an empty polygon path.
pcl/pgpoly.c
2013-01-17 17:58:01 +0000
Robin Watts <robin.watts@artifex.com>
2a3bf5a4865d2d97e46742d14814758bb70abf53
Bug 693541: Fix 'undefined filename' error
If '%' is used in a separation name (say "45% 286 overprinting 186"),
then when the file is opened, we interpret the % as a format specifier
and we complain. Simple fix is to replace '%' with '_' when generating
the tif filenames.
The file now runs further, and hits another (unrelated) pattern cache
problem.
gs/base/gdevtsep.c
2013-01-15 13:31:50 +0000
Robin Watts <robin.watts@artifex.com>
045ad34f5074874c38e77919db920c5ed45dc5f5
Bug 693541: Fix planar depth calculation from color_info.
At various places in the code, we assume that for a planar device:
dev->color_info.depth = dev->color_info.num_components * plane_depth
This is NOT necessarily the case (due to tag planes etc).
We therefore avoid the need for this calculation by adjusting the
return value from gxdso_is_native_planar; rather than returning 0
or 1 (for not-planar or planar), we now return 0 or the depth of
the planes.
The logic in pdf14_create_clist_device is updated to use this. This
gets the file mentioned in the bug through to another (seemingly
unrelated) crash that I will investigate next.
gs/base/gdevdrop.c
gs/base/gdevmpla.c
gs/base/gdevp14.c
gs/base/gdevppla.c
gs/base/gxclimag.c
gs/base/gxclist.c
gs/base/gxclist.h
gs/base/gxcolor2.h
gs/base/gxdevsop.h
gs/base/gxht_thresh.c
gs/base/gxicolor.c
gs/base/gximono.c
gs/base/gxp1fill.c
gs/base/gxpcmap.c
2013-01-16 12:08:24 -0800
Ray Johnston <ray.johnston@artifex.com>
37e07e95a5588c2feaba60bbf506a7a9e433a43c
Fix bug 693557: SEGV regression with NumRenderingThreads > 0 in pattern_load
This was due to the pdf14 device changing num_components during clist playback
when it had not changed during writing the clist. When a pattern tried to load
it failed the check that the depth of the pattern matched the depth of the
device. This was traced to picking the pdf14cmyk device during rendering instead
of the pdf14CMYKspot device because the thread's max_components was set to 4,
not 14 (as during clist writing). Fix the MaxSeparations in gsdparam to return
max_components instead of num_components, then fix devn_get_params to pass the
PageSpotColors param and the setting of num_components in devn_put_params to
ignore max_separations since that doesn't make sense.
gs/base/gdevdevn.c
gs/base/gsdparam.c
2013-01-16 21:54:23 +0000
Robin Watts <robin.watts@artifex.com>
cb51890a39bb97de55c5ce4734c55cba060d8e79
pdf14_mark_rectangle speedups
Customer 532 report 3 files that perform slower than they would like.
Profiling of these files shows that they all make heavy use of
fill rectangle calls on a pdf14 device. This means lots of time
is spent in pdf14_mark_fill_rectangle, and the subsidiary function
it calls, art_pdf_composite_pixel_alpha_8.
This commit introduces various optimisations:
1) We avoid the collation/decollation copies for the additive
case by using a new function (art_pdf_composite_alpha_8_fast) that
takes the planeheight as an arg. This may do the collation/decollation
internally if required.
2) We pull the logic for the 2 fast cases out of
art_pdf_composite_pixel_alpha_8_fast.
3) We rejig the loops to count downwards where possible.
4) We reduce the number of variables in use within the loop by
updating rowstride/alpha_g_off/shape_off/tag_off etc before the
loop.
5) We modify the values of src_alpha and shape before the loop to
avoid repeated calculations within the loops.
6) We add a special case loop to handle the num_comp == 1 && additive
case (as typically seem with monochrome or grayscale devices). This uses
an even simpler art_pdf_composite_alpha_8_fast_mono routine (no loops
and fewer multiplies).
Feedback from customer 532 is that these changes (backported to their
8.71 based system) gives a noticable speedup.
gs/base/gdevp14.c
gs/base/gxblend.c
gs/base/gxblend.h
2013-01-11 09:55:22 -0800
Michael Vrhel <michael.vrhel@artifex.com>
ed38aa2fffd43cc0b38a4a0d1d66ec304ef0924e
Fix for issue with transparency B stroke fill operation with softmask
During a B operation (Stroke and fill) with transparency we push a knockout group to make sure
the stroke blows away the fill rather than blending. When there was a softmask present, we
were not passing along the soft mask for the fill portions during the group compositing operation.
gs/base/gxblend.c
gs/base/gxblend.h
gs/base/gxblend1.c
2013-01-10 12:17:08 -0800
Ray Johnston <ray.johnston@artifex.com>
1bc2a56f913ff1fa3f7af06000a4c6dd5c948afd
Fix bug 693361: Rendering threads unsafe use of main thread allocator.
The PCL main thread allocator is not thread safe, and the rendering
threads would end up using this allocator to form link profiles (in
the lcms logic) because the device profile had the 'memory' allocator
set to the main thread's allocator.
The fix found by Robin Watts was to use the thread's device (which
have a copy of the device profile with the thread's memory allocator,
set by gs_putdeviceparams) in the call to create_buf_device.
gs/base/gxclthrd.c
2013-01-10 12:08:03 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
79e780b55d1e832895b3a9c6aa13017a57d1ca72
Big 693185: Suppress unbalanced q/Q warning.
When the stream run is aborted, the processed part is likely to have
more q than Q. Reporting this fact to the user is misleading, because
it's an interpretation artifact rather than the file property.
gs/Resource/Init/pdf_base.ps
gs/Resource/Init/pdf_main.ps
2013-01-09 13:26:43 +0000
Ken Sharp <ken.sharp@artifex.com>
e8d295679c4b6eabe71256b748282be048b27c05
pdfwrite - when handling PaintType 2 fonts, cater for rotatedt text
We handle PaintType 2 fonts in PDF output by leaving them as regular type 1
fonts but setting the text rendering mode to 1 (stroke). Naturally we also
have to calculate an appropriate stroke width based on the font matrix,
text point size and, for PDF, the text matrix.
Previously we handled rotated FontMatrix entries, but didn't check for a
rotated text matrix, which led to a multiplication by 0 and setting the
stroke width much too narrow.
No differences expected.
gs/base/gdevpdtt.c
2013-01-09 02:12:56 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
339fcbd26065c2771a33ea8c805ff70bd097684a
Bug 693033: Build shading in stopped context.
Move shading dictionary construction into a stopped context. New code
just drops a shading that cannot be constructed or rendered instead of
aborting the whole stream run.
gs/Resource/Init/pdf_draw.ps
2013-01-08 14:17:44 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
cf46f4c8ce91e6d62c902e58c79267934eed6eda
Bug 693420: Add missing initialization of sim_overprint.
Valgrind detects that sim_overprint is not initialised in this case.
Normally, gcc has it set to 0 and produces normal output. Setting it
to 1 creates the same incorrect output as reported.
gs/base/gsicc_manage.c
2013-01-08 17:45:46 +0000
Chris Liddell <chris.liddell@artifex.com>
bb5a79b39e4ada667ac2e9c91179da29bafbd129
Fix "fallback" to know about Microtype fonts
In the event that FAPI fails to handle a font, there is a (temporary) fallback
to the AFS code.
That fallback *must* not be used for the Microtype fonts loaded via UFST, since
the font loading code uses the error return to determine that we've loaded all
the fonts from the FCO.
No cluster differences.
pl/plfapi.c
2013-01-08 17:03:21 +0000
Chris Liddell <chris.liddell@artifex.com>
693b5421da925b627b7ce573ea7346b5d3611de9
Bug 693538: tweak TTF cmap format 4 parsing.
Empty segments in the cmap table (that is, those where the start character code
is the same as the end code) aren't ignored, we correctly "fake" a one entry
segment. It seems, however, that we should *not* do that when the start and
end codes are zero - in that case, we should ignore it.
No cluster differences.
gs/Resource/Init/gs_ttf.ps
2013-01-08 08:47:01 +0000
Chris Liddell <chris.liddell@artifex.com>
3cc531830906a291d4d088e31936a92d7324e53c
Switch Ghostscript/GhostPDL to Affero GPL
As discussed on IRC, e-mail and at the last staff meeting.
COPYING
LICENSE
gs/LICENSE
gs/doc/COPYING
gs/doc/Commprod.htm
gs/doc/Readme.htm
gs/doc/WhatIsGS.htm
gs/examples/cjk/all_ac1.ps
gs/examples/cjk/all_ag1.ps
gs/examples/cjk/all_aj1.ps
gs/examples/cjk/all_aj2.ps
gs/examples/cjk/all_ak1.ps
gs/examples/cjk/gscjk_ac.ps
gs/examples/cjk/gscjk_ag.ps
gs/examples/cjk/gscjk_aj.ps
gs/examples/cjk/gscjk_ak.ps
gs/examples/cjk/iso2022.ps
gs/examples/cjk/iso2022v.ps
2013-01-07 22:05:54 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
e49f26eedd54120b615487db37dbdc1429685f79
Bug 693539: Add duplex option to gslp utility.
Commit a contributed patch that adds a duplex option to gslp script.
gs/lib/gslp.ps
2013-01-07 13:29:03 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
2f85458194f235cf9236214b49c385e9bad4e11e
bug 693485: Handle single '~' as EOF in PDF
Accept single '~' as a valid end of stream indicator in PDF files.
Acrobat Reader accepts this kind of PDF files without warnings.
gs/base/sa85d.c
2013-01-07 13:53:14 +0000
Chris Liddell <chris.liddell@artifex.com>
27df0d4971de23a82f0284c28aeb6e36cf355e46
Bug 693532: Fix GTK+ 2.x fallback.
The conditions under which to test for and use GTK+ 2.x were incorrect.
No cluster differences.
gs/base/configure.ac
2013-01-07 08:33:05 +0000
Chris Liddell <chris.liddell@artifex.com>
e639c0764cc50640135528fa6b0faac233bd87d2
Fix indeterminism with FAPi and artificial bold glyphs
Copy the raster lines from the FAPI bitmap into a temporary, appropriately
aligned buffer before doing the "smearing".
Also ensure that the FAPI settings for XL downloaded font and emboldening are
correct.
Potentially affects all PCL/PXL test files with emboldening and XL fonts.
gs/base/gxfapi.c
pl/plfapi.c
2013-01-04 20:34:47 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
def5e256da42d12cf8103fa7481380b6df84aa96
Bug 93512: Add -dUseArtBox option.
ArtBox is often the smallest of all boxes. This option can be useful
when the file should be cropped to the smallest box without loss of
the contemt. Thanks to Marcos for the patch.
gs/Resource/Init/pdf_main.ps
gs/doc/Use.htm
2013-01-04 02:39:34 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
5124cc05570819036a7bf689dbed91f57f74ba24
Bug 693528: trap errors in ToUnicode CMap
Read ToUnicode CMap in a stopped context. Ignore the CMap if
reading fails.
gs/Resource/Init/pdf_font.ps
2013-01-02 17:21:24 +0000
Ken Sharp <ken.sharp@artifex.com>
af5ba82a0c147b207d276a1acb9daa7bf7665227
pdfwritre - change fixed buffer for CIDSystemInfo to dynamic allocation
Bug #693514 "Broken PDF produced from PostScript by Windows 8 Microsoft
PS Class Driver"
The problem is that the CIDSystemInfo Registry and Ordering produced by
the Microsoft XPS to PS device is > 32 characters. The code to write the
CIDSystemInfo used a fixed buffer of 32 characters. If that overflowed we
returned a limitcheck which caused pdfwrite to attempt a type 3 fallback
which also failed.
Changed the code to (more logically) allocate a buffer for the temporary
usage. Also if this fails we return a VMerror which doesn't trigger an
attempt to fall back to type 3.
No Expected Differences
gs/base/gdevpdtw.c
2012-12-28 18:32:37 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
bc70bf785efcb1a3f9c995b5d8b4c1c29dc881e5
Bug 693511: Ignore spurious ET operator
Ignore ET operator when it appears outside of BT context and issue
a warning.
gs/Resource/Init/pdf_ops.ps
2012-12-28 10:20:44 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
fea783c88450639227cfc456557ce16c348c9a67
Fixed minor typo in documentation.
gs/doc/Make.htm
2012-12-25 13:27:35 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
ec5b8eb0ccf0fc6881a6ffd2d190aa40e1faef1c
Bug 693490: Warn about searching external contexts.
gs/Resource/Init/pdf_main.ps
2012-12-25 12:58:02 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
23e7e3054c095cd5157f2f7768f95a75b86f9779
Bug 693490: Search all XObject resources.
Adobe Acrobat appears to search all nested XObjects for resource names
contrary to the PDF specification. This patch follows the reference
implementation and saves a pointer to XObject resource dictionary on
the graphic state. When a resource cannot be found in a standard way,
the stack of graphic states is searched.
gs/Resource/Init/pdf_draw.ps
gs/Resource/Init/pdf_main.ps
2012-12-22 12:21:38 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
b25fb04f7210656dd987cf23151aec08f4a9f2ee
Documentation update (Bug 693491).
gs/doc/Make.htm
2012-12-22 09:57:10 -0800
Michael Vrhel <michael.vrhel@artifex.com>
6ca50ddca3268fe4626279c591e6fe3dce4c4228
Have the PDF14 device properly set up some of its color info
The lack of setting the comp_bits components in the color info when we have
the pdf14 CMYKSpot device caused an issue in the shading code. Fixes
Bug 693480.
gs/base/gdevp14.c
2012-12-13 11:23:41 -0800
Michael Vrhel <michael.vrhel@artifex.com>
1276ea02ac198b92788e3f6fac704c6ae2c2c4c7
Enable proper blending to occur when we draw transparency patterns.
This fixes Bug 693498. Previously we were not getting the blending information to
the group that we push to draw into. Also, there was a difference in how the clist
and non-clist pattern cases had to be handled. In the clist case, we do not know
what the blend mode for a group encompassing the pattern would be until the pattern is
run through the clist. Hence its logic with respect to transparency required a change.
Also fixed a bug that occurred when we used the -Zv debug option.
gs/base/gdevp14.c
gs/base/gsptype1.c
gs/base/gxblend.h
gs/base/gxblend1.c
2012-12-14 11:45:41 +0000
Chris Liddell <chris.liddell@artifex.com>
316c27810d36e234fa4b254765e35268cfadbc27
Remove some debugging code
left in accidentally.
No cluster differences.
gs/base/configure.ac
2012-12-13 16:10:03 +0000
Chris Liddell <chris.liddell@artifex.com>
e5508fa002678eff5012ce09621d2b94c66e55a5
Allow opt out of GNU make feature.
As we currently only use one GNU make only feature, allow the user
to opt out of it at configure time with "--without-gnu-make".
Tested with Sun make and Sun dmake.
No cluster differences.
gs/base/Makefile.in
gs/base/configure.ac
2012-12-13 18:44:14 +0000
Robin Watts <robin.watts@artifex.com>
da6307c97ac317a41e518c1db659a9dd88188669
Fix pthreads error handling mistake.
This bug was inherited from the mupdf example code I stole it from.
It seems that pthreads signals errors as non zero, not negative.
gs/psi/apitest.c
2012-12-13 16:56:09 +0000
Robin Watts <robin.watts@artifex.com>
776fe65eb131dd05728d8a448b6e4ce8dea5a9e0
Document GS_THREADSAFE option
gs/doc/API.htm
2012-12-13 15:44:23 +0000
Chris Liddell <chris.liddell@artifex.com>
e4e84ee2f724710d3a34119c13a621bd32c283d2
Bug 693501: have configure detect and handle memalign
OpenJPEG uses memalign, if available, but has a rather poor test for it being
available.
This change has configure check for memalign, and augment the compiler command
line to replace memalign with a normal malloc for the OpenJPEG code.
So, several BSD variants, AIX etc should now build okay.
No cluster differences.
gs/base/configure.ac
2012-12-13 14:59:19 +0000
Chris Liddell <chris.liddell@artifex.com>
bbc2e3b761fd58e1cfe155840c0b948e71c5f37d
Fix the SHARE_ZLIB build.
Add an EXTRALIBS variable for the aux programs (AUXEXTRALIBS) so that
the "-l" directives get included, and in the correct position on the
compiler/linker command line.
No cluster differences.
gs/base/Makefile.in
gs/base/unix-aux.mak
2012-12-12 10:23:27 -0800
Michael Vrhel <michael.vrhel@artifex.com>
ee7fdd12e17fad500202234e04035d85fb70ebd0
Perform range restriction after tint transform of separation color.
Fixes bug 693497. Thanks to Alex for solving the issue before I even had a look at it.
gs/base/gscsepr.c
2012-12-09 09:48:14 -0800
Chris Liddell <chris.liddell@artifex.com>
363443d8b2e8373541a886ed16ad281bfd6d31f4
Fix memory leaks from FAPI/FT glyph data buffers.
No cluster differences.
gs/base/fapi_ft.c
2012-12-08 17:53:34 -0800
Chris Liddell <chris.liddell@artifex.com>
078175e8df7835ff4df00e53b256a9c7fbd32ed7
Fix pl_fapi_passfont() return code.
For now we want to fall back to the AFS code if FAPI can't handle a font.
No cluster differences.
pl/plfapi.c
2012-12-08 22:29:57 -0800
Ray Johnston <ray.johnston@artifex.com>
a8e20d4064e3df5fbb347a0cc8176635ce842e33
Fix ARCH_SIZEOF_GX_COLOR_INDEX that mistakenly got committed in git-confusion.
ARCH_SIZEOF_COLOR_INDEX was in a local branch that got had the problem and
got pushed when trying to work from my confused git repo.
gs/base/gxclutil.c
2012-12-08 14:46:27 -0800
Ray Johnston <ray.johnston@artifex.com>
9305f19f4ce60e9fbd3e15d1f22ceaa28502f95b
Get rid of compiler warnings when SIZEOF_GX_COLOR_INDEX is 4.
gs/base/gxclutil.c
2012-12-08 10:57:04 -0800
Chris Liddell <chris.liddell@artifex.com>
024697aa2aec80c2e162a2e7a0707006b418e0e3
Fix a little bitrot in the trace device(s).
CLUSTER_UNTESTED
gs/base/gdevtrac.c
2012-12-07 21:07:17 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
482da0636bf70aea3bd44839e27eee650e430982
Bug 690778: revert big resource hack.
Revert most of the commit 93ffd5c00fef9f616fa6785106935344f6db69b5,
which worked around 64K limit in resource dictionaries. gs now can
create big objects directly.
gs/Resource/Init/pdf_base.ps
gs/Resource/Init/pdf_main.ps
2012-12-05 20:36:59 +0000
Chris Liddell <chris.liddell@artifex.com>
01d43e701413c63dc3d7f85b4c5d748b7b7da8c9
Add some missing header dependencies.
No cluster differences.
pl/pl.mak
2012-12-05 19:32:45 +0000
Chris Liddell <chris.liddell@artifex.com>
0e107d4c37b14c21f5d855b70443873e9e9e9a8e
Make MAX_TOKEN big enough for large paths
Recommended by Nelson Beebe - his work reviewed a large number of common (and
not so common) environments, and the largest allowable "monolithic" path is
4096 characters, so I've made MAX_TOKEN that size.
No cluster differences.
gs/base/genconf.c
2012-12-05 12:44:38 +0000
Chris Liddell <chris.liddell@artifex.com>
49571b9821b825cafd9691a7d25dfdeebbf9dd7d
Various fixes for FAPI/UFST.
Allow the "old school", non-FAPI PCL/UFST build to continue to work.
Add support for UFST 5.x with FAPI.
For XL format downloaded TTFs, disable hinting.
This causes differences in ~161 cluster PCL test files - that is, files that
have XL format downloaded Truetype fonts in them.
config.mak.in
configure.ac
gs/base/configure.ac
gs/base/fapi_ft.c
gs/base/fapiufst.c
gs/base/gxfapi.c
gs/base/gxfapiu.c
gs/psi/zfapi.c
main/pcl6_gcc.mak
pl/pl.mak
pl/plfapi.c
pl/plftable.h
pl/pllfont.c
pl/plulfont.c
2012-12-04 08:39:14 +0000
Chris Liddell <chris.liddell@artifex.com>
59d840fc9bdcf7d7ebb03d4d2d3f1e4d5d927d14
Bug 693479: add missing CID to glyph index step
For TTF CIDFonts loaded from disk (usually as a substitute), and using an
Identity ordering, there was a missing step to get from the CID to the TTF
GID. This caused problems when a PDF included a non-identity CIDToGIDMap.
No cluster differences.
gs/psi/zfapi.c
2012-12-03 17:32:56 +0000
Ken Sharp <ken.sharp@artifex.com>
5b4cea1173891c7c7252eb790af8357c9065a5ce
pdfwrite - improve locaFormat fix
commit 4d20aa6061c6bc802c1ff8e031cfb434dd7fd490 sets the top byte of the
locaFormat in the HEAD table to be the same as 'indexToLocFormat. It
should actually always be 0, fixed here.
gs/base/gdevpsft.c
2012-12-03 12:10:12 +0000
Ken Sharp <ken.sharp@artifex.com>
4d20aa6061c6bc802c1ff8e031cfb434dd7fd490
pdfwrite - fix incorrect TrueType locaFormat.
Some TrueType fonts have the locaFormat specified incorrectly in little
endian format. Our code always writes short loca entries, and sets the
low order byte of the locaFormat to 0 (short entries).
It wasn't setting the high order byte, because it should never be
anything other than 0. However these incorrect fonts set the high order
byte instead of the low order. It seems TrueType consumers treat the format
as 0 or NOT 0 rather than chekcing the value, which meant we were leaving
the format incorrectly set.
This simple patch sets both bytes of the format in the HEAD table and fixes
the problem.
Expected differences
Bug691850.pdf and Bug691035b.pdf show significant progressions
gs/base/gdevpsft.c
2012-12-01 09:44:56 +0000
Ken Sharp <ken.sharp@artifex.com>
3a4439baee68c440da7164daf55de04a4d48609a
pdfwrite - fix bug in commit a3d00daf5f9abb1209cb750a95e23bc6951c1c63
missed an entry in the PDFDocEncoding lookup table, also fixed a minor
error message and corrected an index.
No differences expected.
gs/base/gdevpdfe.c
2012-11-30 17:03:02 -0800
Michael Vrhel <michael.vrhel@artifex.com>
8ebecfe095e4585523fcbddbe1785473e0374b54
Fix so that the blackpoint is set to a proper enumerated value
Fixes bug 692530
gs/base/gdevpsd.c
gs/base/gdevrinkj.c
gs/base/gdevxcf.c
2012-11-30 16:51:48 -0800
Michael Vrhel <michael.vrhel@artifex.com>
c8fc6c53f0bce4be54c016ddd78f6cfe4d44419a
Avoid inserting the ICC profile into the halftoned TIFF output files.
Fixes bug 693060
gs/base/gdevtifs.c
2012-11-30 17:04:59 +0000
Robin Watts <robin.watts@artifex.com>
0bc3c907260275bf96a4d3e894e4a8146ddbb856
Remove .DS_Store files from lcms2 directory
These seem to upset at least one unzipping utility on the Mac, and
they serve no useful purpose for us.
gs/lcms2/Projects/mac/LittleCMS/.DS_Store
gs/lcms2/Projects/mac/LittleCMS/._.DS_Store
2012-11-30 16:02:22 +0000
Ken Sharp <ken.sharp@artifex.com>
a3d00daf5f9abb1209cb750a95e23bc6951c1c63
pdfwrite - convert non-UTF-16BE doc info to UTF-8 assuming PDFDocEncoding
Bug #693477 "Encoding of pdf metadata do not comply with pdf standard"
When processing Document info there is a pdfwrite parameter 'PDFDSCEncoding'
which, if present, is used to process the string into ASCII. However, if
this parameter is not supplied, we don't re-encode the string at all. Since
the XML must be UTF-8, this is potentially a problem.
Since we cannot know the source of the docinfo string (existing PDF, DOCINFO
pdfmark, or DSC comments in PostScript) we cannot make any judgement about
the encoding of the string data in the absence of PDFDSCENcoding. So we
choose to assume that its encoded using PDFDocEncoding if it does not
have a UTF-16BE BOM (which is the only other format permitted).
This should at least mean that the Docinfo and XML match and are legal.
No differences expected, the cluster doesn't check the XML
gs/base/gdevpdfe.c
2012-11-30 07:55:46 -0700
Henry Stiles <henry.stiles@artifex.com>
bb97932923e94ef0806909718da693bf7655631f
Fix 693269 - CCITT raster not using monochrome palette.
The RTL CCITT raster compression modes always use monochrome colors (a
palette with 1 bit per index). In our code this is somewhat awkward
requiring rebuilding the PCL raster and part of the graphics library
state as the compression mode can be changed after raster mode has
been entered and initialized with a color palette.
pcl/pccid.c
pcl/pccid.h
pcl/pcpalet.h
pcl/rtgmode.c
pcl/rtgmode.h
pcl/rtrstst.h
2012-11-30 07:46:01 -0700
Henry Stiles <henry.stiles@artifex.com>
df30839b4058ba92dd85883516258ce08eaca628
Bug 693437 - Improves PCL font selection.
We do not have perfect emulation of PCL font selection by attribute,
but this change does move us closer to the HP behavior. In particular
any font family attribute command (bold, italic etc.) cancels a
pending font selection by id, (i.e. the next selection will not use
the font id as a selection criteria).
pcl/pcfont.c
pcl/pcfont.h
pcl/pcfontpg.c
pcl/pcfsel.c
pcl/pcsfont.c
pcl/pcsymbol.c
pcl/pctext.c
2012-11-29 09:00:30 +0000
Chris Liddell <chris.liddell@artifex.com>
64ada98bdec11021ada90ddd21b8d9cdd9ee61a2
Make genconf's token buffer big enough for long paths
Thanks to Chen Qi ( Qi.Chen@windriver.com ) for pointing out the problem.
No cluster differences.
gs/base/genconf.c
2012-11-29 08:05:34 +0000
Chris Liddell <chris.liddell@artifex.com>
e02795887e3dd4fb75aaa90dc0bcf6d861246f4c
Bug 693474: Make ps2pdf14 script executable
CLUSTER_UNTESTED
gs/lib/ps2pdf14
2012-11-29 01:55:36 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
9e89056ce7f1998ac22cb274fd0ed29458ee5d35
Bug 693476: don't dump producer info for valid files
Don't dump producer info when the file is valid but GS cannot
process it for some reason. For instance, when the password is
missing or invalid.
gs/Resource/Init/pdf_sec.ps
2012-11-27 11:57:49 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
9b59e4d156deae8afd6c8eecad3ce8b83b2d7664
Bug 693450: Add platform-dependent validation for file name characters.
Add a new function to the portability layer that verifies, whether
a given character can be used in a file name. Convert separation
names to valid file names.
gs/base/devs.mak
gs/base/gdevtsep.c
gs/base/gp.h
gs/base/gp_dosfs.c
gs/base/gp_macio.c
gs/base/gp_ntfs.c
gs/base/gp_os2fs.c
gs/base/gp_unifn.c
gs/base/gp_vms.c
2012-11-27 01:04:52 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
f27a0b8a47f0faadb6797132d6b9ef00a1823529
Make PDF path construction operators more robust.
Ignore the path construction operator that fails for some reason,
and continue. Also correct the pdfemptycount value during form
processing to match reality.
gs/Resource/Init/pdf_draw.ps
2012-11-21 10:15:49 +0000
Ken Sharp <ken.sharp@artifex.com>
6f18589768e763238b5c45e46ba55dfef7dd59ae
pdfwrite - properly set the PreserveSMask parameter for non-transparent output
The PDF interpreter has historically handled SMasks by passing them directly to
the device, when the device is pdfwrite. This was altered to use a device
parameter rather than checking the3 device name.
This did not alter the functionality, which has always bee incorrect when
pdfwrite is not preserving transparency. We now alter the value of the
device parameter if we are instead rendering the transparent content to an
image. SMasks should now behave correctly when using PDF/A-1, PDF/X or
when setting the CompatibilityLevel to less than 1.4.
No differences expected as this is not cluster tested.
gs/base/gdevpdfp.c
2012-11-20 17:19:44 +0000
Chris Liddell <chris.liddell@artifex.com>
481e7652bffc369fd0b7bc5b52aebde2328c4c5d
Don't use return_error() for something not really an error
Quietens down the -Z# output.
No cluster differences.
gs/base/fapi_ft.c
2012-11-19 19:38:59 +0000
Ken Sharp <ken.sharp@artifex.com>
123c7fbf7f31e42dff306a6d0b993224387b1b3c
pdfwrite - further TrueType composite glyph improvement. Bug #693444
When we encounter a TrueType composite glyph, we add the 2 component glyphs
to the table of names, so that we generate a correct CMAP subtable in the
embedded subset font.
However, the name is based on the GID of the glyph, and if the GID happens
match a name in the font Encoding (type 42 font) *and* we use the glyph
which really corresponds to that name (but obviously has a different GID)
then we would end up with the wrong CMAP generated.
By not removing the GS_MIN_GLYPH_INDEX bias we create a new name which is
numeric and based on the GID. This guarantees no name collisions.
This leads to a regression in an XPS test file, but I think it is of the
'wrong before, differently wrong now' category and propose to ignore it on
that basis. (its a change in spacing, which cannot be directly affected by
this change.
gs/base/gxfcopy.c
2012-11-18 09:51:34 -0700
Henry Stiles <henry.stiles@artifex.com>
787b044f67826cfc0c8b9fda01728cb602b4c212
Bug #693111 fix refinement.
Refine the fix 8bec29de to add a configuration option so individual
commands can be selected for the unusual behavior of being ignored in
raster mode. I don't think we have a solid understanding of this
problem and this makes the fix significantly less likely to result in
a regression.
pcl/pcommand.h
pcl/pcparse.c
pcl/pcpatrn.c
pcl/rtgmode.c
pcl/rtgmode.h
2012-11-17 10:57:53 -0700
Henry Stiles <henry.stiles@artifex.com>
8bec29de4c0b67873d1e33e77296eed410be172e
Fixes Bug 693311 - Black rectangle output instead of expected image.
Normally if the PCL interpreter receives a command while processing
raster or an image, the command is ignored and raster is shut down.
These so called "locked out" commands do not close out the raster on
plotters using the HPGL/2-RTL emulation.
pcl/pcparse.c
pcl/rtgmode.c
pcl/rtgmode.h
2012-11-16 14:56:12 +0000
Chris Liddell <chris.liddell@artifex.com>
6a00be33f0127db231ca42f97e1f8b6ca4f69ecf
Bug 693451: avoid notdef "special casing" for cid fonts.
Bug692320.pdf should display as before the FAPI work.
gs/base/fapi_ft.c
2012-11-14 16:52:27 -0800
Michael Vrhel <michael.vrhel@artifex.com>
9cb6ee748223ec3373151047d921d75bbeffc4e9
Fix for issues with icc output intent
Proper rendering of the output rendering intent Ghent test files to RGB based devices require that
the output intent profile is used as a proofing profile. Unfortunately littleCMS does not allow one
to specify different rendering intents to use when connecting a group of profiles together. This
is needed to render these files correctly. The solution was to create a device link profile for the
first rendering intent (e.g perceptual) when going from source to proof. Then the remainder of the
transforms are handled in a relative colorimetric manner from proof to destination and possibly through
the device's link profile.
gs/base/gsicc_cache.c
gs/base/gsicc_lcms2.c
2012-11-13 23:20:39 +0000
Chris Liddell <chris.liddell@artifex.com>
8ebb6896c6f7ba59a6e7dec1267a65a66f817f1c
Use consistent ctm scale for metrics retrieval.
This minimises differences at different resolutions, and uses a scale chosen to
minimise rounding errors.
Also, fix handling of missing glyph in the glyph metrics retrieval function.
Lots of cluster differences in PCL/PXL tests.
pl/plfapi.c
2012-11-13 23:18:17 +0000
Chris Liddell <chris.liddell@artifex.com>
a372bbae80c5b14cf68d2893db790acfef4a4f86
Remove (temporarily?) the Makefile exclusion.
We can't simply exclude Makefile, since the GhostPDL top Makefile is not a derived file.
CLUSTER_UNTESTED
gs/toolbin/localcluster/clusterpush.pl
2012-11-13 18:02:39 +0000
Chris Liddell <chris.liddell@artifex.com>
1e05c7a541280979e0884f8ea1c1cee6eba8f229
Fix the language_switch Windows build with new fapi code.
CLUSTER_UNTESTED
language_switch/pspcl6_msvc.mak
2012-11-13 17:01:53 +0000
Ken Sharp <ken.sharp@artifex.com>
e1af42f1cca2cfb1f3f0c2d9e59e46bb8697fa27
pdfwrite - amended white list for font DRM
Copied again from teh Adobe web site, but mergin with the old list rather
than replacing. It looks like Adobe have changed some of their font names.
This shows a difference in fonts.pdf, beacuse we are now permitted to embed
Mathematical Pi. THis is a progression
gs/base/whitelst.c
2012-11-13 12:59:17 +0000
Chris Liddell <chris.liddell@artifex.com>
c54b37f8a5ad111dbfad499ba1c642ba404f5e93
Fix a couple of Windows build issues with the new fapi code
CLUSTER_UNTESTED
gs/base/winlib.mak
main/pcl6_msvc.mak
xps/xps_msvc.mak
2012-06-01 15:44:11 +0100
Chris Liddell <chris.liddell@artifex.com>
58937f6debfbed7675a0ce5cb8d0aa629e3fa7b8
Extend/modify FAPI for use by PDLs other than PS/PDF.
All languages take a -dDisableFAPI option which reverts to the AFS code.
On Unuix type systems
./configure --disable-fapi
and on Windows, adding "FT_BRIDGE=0"
create builds without the FAPI font handling.
Both of these will be removed as the FAPI code matures.
Move Font API from psi into base.
Split the FAPI functions into the interpreter dependent ones, and the "core"
functions. Move the core functions into the graphics library.
Change fapi.dev to fapi_ps.dev
Since the old fapi.dev is now split into core and PS dependent parts, the
old fapi.dev gets renamed as fapi_ps.dev
Basic TrueType support thru FAPI for pcl and pxl.
Doesn't include artificial boldening.
Basic FAPI functions working with XPS interpreter.
(Mostly) Make PCL/UFST work through gs_fapi API
Bug 693188: don't skip glyphs with degenerate matrices
In commit 752397ab, the fix for Bug 692263 was to skip over glyphs when the
matrix in force for the glyph had a zero scale in either dimension.
It seems that this approach had potentially unfavourable side effects in the
glyph cache.
So, when we encounter a degenerate matrix rendering a glyph, we now force a
minimal, non-zero scale before attempting to render the glyph. This placates
the glyph cache.
Cluster testing shows (tiny) progressions in Bug689006.pdf, Bug690179.pdf,
and Bug692634.ps, and pixel differences, not identifiable as progressions
or regressions in Bug690497.pdf and 12-07C.PS.
Conflicts:
gs/psi/fapiufst.c
gs/psi/ifapi.h
gs/psi/zfapi.c
Revise gs_fapi_available and zFAPIavailable so they can check for
a specific fapi server being available (as well as just fapi itself being
available.
Tidy up header includes, and header dependencies.
Typos, warnings and dependency mistakes.
Handle FAPI having no servers gracefully in PCL and XPS
Use existing API to retrieve glyph metrics.
Fix some PCL/PXL spacing problems.
Improve handling of notdefs in PCL/PXL
Some reformatting.
Update fapi call in xps and fix some merge mistakes.
Change gs_fapi_do_char() parameters to gs_glyph and gs_char types.
Handle GS_NO_CHAR value better.
Remove deprecated char_code entry
Provide method for client to request ttf cmap in fapi.
Skip "unencodable" glyphs (that is character codes whose "decoding" results
in a gs_no_glyph glyph value).
Fix (finally, I think) the PCL notdef problems, and PCL text orientation.
Also, a GL spacing problem. Amend the Postscript size to work with these
changes.
FAPI API and warnings clean up.
Identify glyph index or otherwise....
...in the FAPI PS world.
fix a missing dependency
Include stdint_.h in gxfapi.h....
so int64_t is available. Add dependency.
Fix typo in dependency.
Changes to build gs_fapi on Windows.
Fix a typo
<sigh> another "notdef" handling revision
Add PCL/XL glyph boldening (bitmap smearing) to FAPI.
Remove some debug code accidentally left in.
Provide a "-dDisableFAPI" command line option for pcl/pxl/xps.
It's added in a very noddy way for two reasons: it needs acted upon
before the interpreter is initialised, and second to make it more
obvious to remove when we've gained confidence in the new fapi code.
Split fapi server builds out of lib.mak and into separate makefiles.
Add one commercial server build to the Ghostscript/GhostPDL build system, so
it no longer needs built separately.
Also fix a couple of dependency typos/errors.
Some tweaks to get the build changes working on Windows
Delete makefile....
Revise build changes.
Cluster differences in every PCL/PXL/XPS file with text display in a Truetype/Opentype font (including CFF).
common/msvc_top.mak
common/ugcc_top.mak
config.mak.in
configure.ac
gs/Resource/Init/gs_fapi.ps
gs/base/Makefile.in
gs/base/configure.ac
gs/base/fapi_bs.mak
gs/base/fapi_ft.c
gs/base/fapibstm.c
gs/base/fapiufst.c
gs/base/gconf.c
gs/base/genconf.c
gs/base/gscdefs.h
gs/base/gsinit.c
gs/base/gslibctx.h
gs/base/gxfapi.c
gs/base/gxfapi.h
gs/base/gxfapiu.c
gs/base/gxfapiu.h
gs/base/gxfont.h
gs/base/lib.mak
gs/base/stub.mak
gs/base/winlib.mak
gs/base/wrfont.c
gs/base/wrfont.h
gs/base/write_t1.c
gs/base/write_t1.h
gs/base/write_t2.c
gs/base/write_t2.h
gs/psi/fapi_ft.c
gs/psi/fapibstm.c
gs/psi/fapiufst.c
gs/psi/ifapi.h
gs/psi/int.mak
gs/psi/msvc.mak
gs/psi/wrfont.c
gs/psi/wrfont.h
gs/psi/write_t1.c
gs/psi/write_t1.h
gs/psi/write_t2.c
gs/psi/write_t2.h
gs/psi/zfapi.c
language_switch/pspcl6_gcc.mak
main/pcl6_msvc.mak
pcl/pcfontpg.c
pcl/pcfsel.c
pcl/pcl.mak
pcl/pcsfont.c
pl/pl.mak
pl/plchar.c
pl/plchar.h
pl/plfapi.c
pl/plfapi.h
pl/plfont.c
pl/plfont.h
pl/plftable.c
pl/plftable.h
pl/pllfont.c
pl/pllfont.h
pl/plmain.c
pl/pluchar.c
pl/plufont.c
pl/plufstlp.c
pl/plufstlp.h
pl/plufstlp1.c
pl/plulfont.c
pxl/pxfont.c
pxl/pxl.mak
xps/ghostxps.h
xps/xps.mak
xps/xps_msvc.mak
xps/xpscff.c
xps/xpsfapi.c
xps/xpsfapi.h
xps/xpsttf.c
2012-11-12 20:05:31 -0700
Henry Stiles <henry.stiles@artifex.com>
a971121e9e50c672908f1b3185f42d497adf0b02
New PCL-XL paper sizes fixing part of bug 693399.
Thanks to Hin-Tak Leung for providing these new non standard paper
sizes to support Ricoh specific PCL-XL.
gs/base/gdevpx.c
gs/base/gdevpxen.h
gs/base/gdevpxut.c
2012-11-12 18:24:08 -0700
Henry Stiles <henry.stiles@artifex.com>
b2796b4d588d83730c1d97c7fc035454cfe8157a
Fix part of bug #693415. HPGL's command to create a sub-polygon
closed paths unconditionally.
Thanks to Norbert Janssen for providing a fix to conditionally close
the path only if the current pen is down. The fix revealed another
problem where PCL was not creating a new sub-path when the current pen
was up and drawing a circle (CI). This is remedied with issuing a
"moveto" not "gapto" when starting the circle. Currently the only
means of doing a moveto explicitly is to temporarily disable the "hpgl
path mode" while calling the gs_moveto() procedure. This arrangement
will likely be improved in the future by adding a gapto function to
the graphics library language interface.
These changes result in fixing the original source problem and several
improvements in the PCL CET. A few new minor discrepancies
(regressions) were found in the CET's and another test (all documented
in the bug), these were either inconsequential or deferrable and we
feel this change is substantial progress and should not be held up for
the other issues to be addressed.
pcl/pgdraw.c
pcl/pgpoly.c
pcl/pgvector.c
2012-11-12 10:43:00 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
586d4a1669b0be9c05f7fcc45cbfc72a0dde5026
Present clusterpush.pl from pushing Makefile(s).
gs/toolbin/localcluster/clusterpush.pl
2012-11-12 13:23:48 +0000
Chris Liddell <chris.liddell@artifex.com>
2c38e570321bb56e8c2d2a897502d207028e1c83
Bug 693436: Resolve issues with FTS and 64 bit PS ints
There was a number parsing case I had missed in special casing CPSI_mode for
QL test compatibility.
Also, there were some issues with gs_cet.ps - some of the objects it replaced were left
writeable, and/or were off the wrong type.
Cluster differences: we should now be able to pass all the FTS tests by using gs_cet.ps.
gs/Resource/Init/gs_cet.ps
gs/psi/iscannum.c
2012-11-12 13:23:09 +0000
Ken Sharp <ken.sharp@artifex,com>
e6759327b6b8338491bf86ac3aa0179f47dc047d
pdfwrite - revert white list change which seemed to cause errors
gs/base/whitelst.c
2012-11-12 11:23:50 +0000
Ken Sharp <ken.sharp@artifex,com>
24de0d2174103bb98d0c3ffbdf09c1081bbc98ef
pdfwrite - update the 'white list' of fonts
Some TrueType fonts have unintentional DRM applied, this commit updates
the Adobe 'white list' of fonts which may be embedded, even if the DRM
flags say otherwise.
No differences expected
gs/base/whitelst.c
2012-11-11 09:33:12 -0700
Henry Stiles <henry.stiles@artifex.com>
39e56129466aa8d0b84c8c1267dbaef9dcefd2bd
Fixes 693399, PXL file errors out when color palette is too large.
The color palette should be truncated upon overflow, previously we
produced an error. Thanks to Hin-Tak Leung for the analysis and fix.
pxl/pxink.c
2012-11-11 08:41:03 -0700
Henry Stiles <henry.stiles@artifex.com>
774e27302ec3b228f6cef6abf04c18066edd5525
Hin-Tak Leung's fix for bug 693413 - large output file size due to
images being decimated to rectangles.
The fix allows any orthogonal image, given the color information can
be properly represented in a PXL, to be converted directly to a PXL
image. The change has not been cluster tested, the PXL device is
tested in the overnight testing and there is no practical means to
test the device's code change with all test files locally, so the
commit also serves as a test submission.
gs/base/gdevpx.c
2012-11-09 12:34:01 -0700
Henry Stiles <henry.stiles@artifex.com>
a8de3e6dc0152b137c38078d80a3c40517095f91
Fixes 693385 Font id selection wrong when using SI (Shift In) and SO
(Shift out) commands and inappropriate switch to ID in font selection.
The SO and SI were decaching the current font table, effectively
changing font ID selection to family selection. 2 additional and
closely related changes were provided by Norbert Janssen: the selected
by id state was being disabled during font selection even if font
selection had no effect and upon selection be id we were decaching
both font tables.
All of these changes are certainly in the right direction but seem to
have unmasked some obscure problems which will be addressed in a
separate bug. Here are the expected regression test files for this
commit:
tests_private/pcl/pcl5ccet/18-20.BIN
tests_private/pcl/pcl5ccet/19-05.BIN
tests_private/pcl/pcl5ccet/19-11.BIN
tests_private/pcl/pcl5ccet/19-12.BIN
tests_private/pcl/pcl5ccet/19-13.BIN
tests_private/pcl/pcl5ccet/19-14.BIN
tests_private/pcl/pcl5efts/fts.0280
tests_private/pcl/pcl5efts/fts.0341
tests_private/pcl/pcl5efts/fts.0380
pcl/pcfont.c
pcl/pcfsel.c
pcl/pctext.c
2012-11-06 15:51:23 +0000
Chris Liddell <chris.liddell@artifex.com>
a0a4fd51a9c17a1b17d0cc9eccfef51e96ea8d04
Bug 693430: missing "fallback" for DecodeParams entry
In a ResuableStreamDecode filter with an array of subfilters (/Filter entry
in the parameter dictionary). If teh DecodeParams array also exists, and has
one or more entries set to "null", we weren't pushing an empty dictionary
onto the stack for the subsequent call to the filter operator.
The equivalent code for a totally absent DecodeParams array was already
correct.
No cluster differences.
gs/Resource/Init/gs_frsd.ps
2012-11-05 21:30:48 +0000
Robin Watts <robin.watts@artifex.com>
048b221e76fba80663f073f8312802bcdf168c52
Bug 693166: Speed images through the clist.
In investigating bug 693166 Ray spotted that the calculation of which
bands were touched by images was slack in the presence of a clipping
path - he proposed a simple patch to fix this.
Unfortunately it had a knock on effect where vertical offsets could be
introduced into the topmost band. This is fixed here by a second small
change in image_band_box.
Cluster testing shows 10 small changes, all well within the usual
clist differences.
gs/base/gxclimag.c
2012-11-05 09:16:10 -0700
Henry Stiles <henry.stiles@artifex.com>
782d5c4083217d7225a843bf6bad254dca4c2e8c
Fixes bug #693429 process raw HPGL files.
The PCL parser will now recognize HPGL files if the files start with
the commands "IN" or "DF" and if the parser is using the RTL
personality.
pcl/pcl.mak
pcl/pcparse.c
pcl/rtmisc.c
pcl/rtmisc.h
pcl6/pcl6.xcodeproj/project.pbxproj
2012-11-02 22:55:24 -0700
Michael Vrhel <michael.vrhel@artifex.com>
119f9ced7dc9be5f412ed587381627babb29d3ed
Fix for missing code to grab the device profile. Thanks to sags for finding this.
gs/base/gsicc_cache.c
2012-11-01 16:05:13 +0000
Robin Watts <robin.watts@artifex.com>
0cefc049bdd1eee78f14c97129627af766e022c9
Fix tiffsep and introduce tiffscaled4 device.
The tiffsep device was supposed to be able to be called with
-dBitsPerComponent set to 1,2,4 or 8 to allow differing bit
depths of output. This setting would work for the separation
planes, but would not produce a composite when bpc was not 8
due to the code not supporting that.
We add code here to generate composites in 1,2 and 4 bit modes
too, along with some sanity checking of the compression mode.
We also add a tiffscaled4 mode where we produce 1bpc cmyk from
a downscaled dither of 8bpc cmyk.
gs/base/devs.mak
gs/base/gdevtsep.c
gs/base/gxdownscale.c
gs/base/unixansi.mak
gs/psi/msvc.mak
main/pcl6_gcc.mak
main/pcl6_msvc.mak
2012-11-01 15:24:04 +0000
Ken Sharp <ken.sharp@artifex,com>
9b10f8c659ffc643ab71c6180a70da4f39075578
pdfwrite/ps2write - enable 64-bit file handling
Subsequent to commit c81c8f1b8740c484ec332080b5ce5f718357694d it is now
possible to have 64-bit offsets returned by stell, and this makeds it possible,
for the first time, to write PDF files > 4GB.
There's a fair amount of reworking in here, but we can now produce very large
temporary files, and from that produce very large PDF and PostScript output.
There are some restrictions; no stream can exceed 2GB and no font can exceed 2GB
As might be expected this is *not* well tested as we don't actually have any
test files which exercise this. I have tested PDF and PostScript file production
with a single file which produces a 10GB temporary file, a 7 GB PDF file and a 6GB
PostScript file.
The resulting PDF file opens with Adobe Acrobat and can Ghostscript, and the
PostScript file can be consumed by Adobe Distiller and Ghostscript.
Nevertheless, bugs are possible.
No differences expected as this is not lcuster tested.
gs/base/gdevpdf.c
gs/base/gdevpdfb.c
gs/base/gdevpdfo.c
gs/base/gdevpdfu.c
gs/base/gdevpdfx.h
gs/base/gdevpdti.c
gs/base/gdevpsf1.c
gs/base/gdevpsf2.c
gs/base/gdevpsft.c
2012-10-29 17:28:05 -0600
Henry Stiles <henry.stiles@artifex.com>
84498da1627a85e340c7670b8c7a617e38b9efb7
Support PJL language string HP-GL/2.
The language string HP-GL/2 now selects the "RTL" mode in PCL. It
should also be used to select the language HP-GL/2 upon language
switch, but only one language string is supported per emulation, and
the feature is not really needed. Any HPGL/2 rtl file should select
the PCL emulation anyway because of the character of the input stream
and the HP-GL/2 PJL command will select the RTL personality.
pcl/pctop.c
2012-09-25 11:19:21 +0100
Chris Liddell <chris.liddell@artifex.com>
c81c8f1b8740c484ec332080b5ce5f718357694d
64 bit stream offsets and 64 bit PS integers objects
Revise the stream and "gp_" file APIs to support file sizes >4Gb (on suitable
systems).
I've added a gs_offset_t type which, by default is a 64 bit signed type (this
matches the standard lib's 64 bit "off_t" type). For ports that may want to
use an alternative type, define "GS_OFFSET_T" to the desired type on the
compiler command line.
By default, Ghostscript will now use 64 bit integer objects in Postscript. Again,
for porting ease, one can opt for 32 bit integer objects by defining PSINT32BIT=1
on the compiler command line.
The handling of integer objects in various operators has been "augmented" so that
when working in "CPSI compatibility mode", intepreting and manipulating integer
objects will see them "clamped" to 32 bit signed values. This allows Ghostscript
to still pass the Quality Logic tests which spuriously rely on 32 bit integer
objects.
There is a minor tweek in the PS interpreter's handling of Truetype fonts (*not*
Type 42), where the algorithm used to create an XUID relied on 32 bit integers.
There is a small performance penalty in this, but my testing suggests that it is
smaller than the time resolution of our testing capabilities (i.e. there are
greater variances between test runs than between the 32 and 64 bit objects code).
We can now interpret PDF files >4Gb.
In addition, the graphics library will now include inttypes.h (in stdint_.h) if
it is available in order to make the "PRI...." printf and co formatting macros
available. If inttypes.h is not available, there are fallback definitions of the
most used of those. These can also be defined on the compiler command line for
specific ports, if required.
A custom "PRI..." macro has been added in the Postscript interpreter,
"PRIpsint", which is defined appropriately when integer objects are 64 or
32 bit.
This commit does *not* revise the device API to handle 64 bit integer values
(in the one case where this is required, we use a string to hold the 64 bit value,
I suggest continuing this, so the device API remains consistent across ports).
I do expect a bug tail with this, as we start to encounter more >4Gb PDFs.
Cluster differences are restricted to the 3 QL Postscript test jobs that have
ended up in comparefiles (and thus are not run with the gs_cet.ps setup).
config.mak.in
configure.ac
gs/Resource/Init/gs_ttf.ps
gs/base/Makefile.in
gs/base/configure.ac
gs/base/devs.mak
gs/base/gdevpsf2.c
gs/base/gdevpsft.c
gs/base/gdevtifs.c
gs/base/gp_mswin.c
gs/base/gp_unifs.c
gs/base/gsiorom.c
gs/base/gxclist.c
gs/base/gxclrast.c
gs/base/lib.mak
gs/base/scommon.h
gs/base/sfxfd.c
gs/base/sfxstdio.c
gs/base/std.h
gs/base/stdint_.h
gs/base/stdpre.h
gs/base/stream.c
gs/base/stream.h
gs/base/strmio.c
gs/base/strmio.h
gs/base/tiff.mak
gs/psi/btoken.h
gs/psi/fapi_ft.c
gs/psi/idebug.c
gs/psi/ilocate.c
gs/psi/int.mak
gs/psi/interp.c
gs/psi/iparam.c
gs/psi/iref.h
gs/psi/iscan.c
gs/psi/iscan.h
gs/psi/iscanbin.c
gs/psi/iscannum.c
gs/psi/iutil.c
gs/psi/opextern.h
gs/psi/zarith.c
gs/psi/zfapi.c
gs/psi/zfcid0.c
gs/psi/zfileio.c
gs/psi/zfjpx.c
gs/psi/zfrsd.c
gs/psi/zmisc.c
gs/psi/zrelbit.c
gs/psi/ztype.c
pl/pl.mak
pl/plfont.h
pl/pllfont.c
2012-10-30 13:05:11 +0000
Robin Watts <robin.watts@artifex.com>
dfde821467a4770499b52fbfb2c665a74ed379c0
Fix silly dependency typo in lib.mak.
Thanks to Chris for pointing this out.
gs/base/lib.mak
2012-10-29 20:20:22 +0000
Robin Watts <robin.watts@artifex.com>
aa7d7ffcc390b05a8e36b6cf85e4688ae69c2a85
Fix interpolation code to behave consistently in the presence of pdf14.
There are special cases in the setup of the image interpolation code
designed to kick in in the presence of halftoning devices and either
limit the amount or change the nature of the interpolation done.
The test for this is confused by the presence of a pdf14 device though.
We move the special cases down into a device specific op call to avoid
this. This also means that devices can have finer control over exactly
when these operations are used.
One possibility would be to expose them as device params, but I haven't
done that here yet.
gs/base/gdevdflt.c
gs/base/gxdevsop.h
gs/base/gxiscale.c
gs/base/lib.mak
gs/ghostscript.vcproj
2012-10-28 16:00:01 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
49f1bba50c096dee3230e5221db4d5275b8e12e7
Fix optional content support for inline images. Because of the lack
of test cases, the old code has never been tested.
gs/Resource/Init/pdf_draw.ps
2012-10-27 19:10:13 -0700
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
88bf2cb37c0cb1c88ea03abb567dc7e0afdfef47
Refined the list of files to exclude in clsuterpush.pl.
gs/toolbin/localcluster/clusterpush.pl
2012-10-22 17:31:27 +0100
Robin Watts <robin.watts@artifex.com>
045e544c507b151daebc19aaf21a8b13b6c4a844
Support rotated images with interpolation.
See bug 690246.
Testing this on the cluster with a patch that enables interpolation
for all landscape jobs reveals no problems.
gs/base/gxcindex.h
gs/base/gximage.h
gs/base/gxipixel.c
gs/base/gxiscale.c
2012-10-25 16:43:37 -0700
Michael Vrhel <michael.vrhel@artifex.com>
f4b2deea2aa129048014771c19ef9fb3c317de7e
Addition of support for the black preservation methods in littleCMS
This is for bug 692223. With this commit now have support to specify black preservation on a object level (e.g. graphic, image or text).
gs/base/gscms.h
gs/base/gsdparam.c
gs/base/gsicc_cache.c
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
gs/doc/Use.htm
2012-10-26 01:04:03 +0100
Robin Watts <robin.watts@artifex.com>
9c3de1fb29628f83ae7d48238e0dd0f3f35ecda1
Fix typo in last commit.
Missing 'int' in definition.
gs/base/gxiscale.c
2012-10-25 20:44:53 +0100
Robin Watts <robin.watts@artifex.com>
d68bdb872b1071e42dd937ca7526e5e2cfc9bca7
Fix problem in interpolation code.
When interpolating, if we are in an indexed space, we should
only offset by 1 component per sample, not as many components
as there are in the base space.
This shows up problems with the forthcoming landscape commit,
but is fixed here separately as it is actually unrelated.
gs/base/gxiscale.c
2012-10-25 13:44:22 +0100
Ken Sharp <ken.sharp@artifex,com>
97e17a24e89bb0f893fd43af35e774054e41eadc
ps2write - while stripping OtherSubrs, don't try to index off stack
The code assmued that a Callsubr operator woudl be preceded by the subr index
but in this case the subr index is provided by another Subr (crazy font...).
All we need to do is cdheck the stack index, and if its 0, not index from the
stack but simply write the Callsubr operator.
Fixed Bug #693325
Expected Differences
tpc2.ps should no longer seg fault on the cluster with ps2write.
gs/base/gdevpsf1.c
2012-10-24 19:10:36 +0100
Robin Watts <robin.watts@artifex.com>
c31725843fc3195970d12baad2916bf4dc3a5097
Bug 693407: Portion of image missing with interpolation
The 'only interpolate the portion of the bitmap required' code was
going wrong in the case of X flipped bitmaps.
gs/base/gxipixel.c
gs/base/gxiscale.c
2012-10-24 10:02:00 -0700
Michael Vrhel <michael.vrhel@artifex.com>
f25f5e6f94ada1b3908b85ac68cabe2b9831d803
Enable default spot name usage when output profile is NCLR
Previously I had added the requirement that we used something like
-sICCOutputColors="Cyan, Magenta, Yellow, Black, Orange, Violet"
when using an NCLR ICC profile for the device profile (valid only for
tiffsep and psdcmyk devices). This was to ensure proper naming of the
profile colorants. It was pointed out by a customer that they would
prefer to have a set of default names so this was now added.
If -sICCOutputColors is not specified and we are using an NCLR ICC profile,
then we will have spot colors from the profile named ICC_COLOR_0, ICC_COLOR_1
etc.
gs/base/gdevpsd.c
gs/base/gdevtsep.c
gs/base/gsicc_manage.c
2012-10-23 16:35:54 -0600
Henry Stiles <henry.stiles@artifex.com>
793971fc49dd62d02d92f4761c40f63a29eabd67
Setting the default line attributes was done 2 places in the code.
pcl/pglfill.c
2012-10-22 16:24:46 -0600
Henry Stiles <henry.stiles@artifex.com>
270fade3cd436aa8abe8d1ef00f4db4ba1f766f3
Bug #693381, Norbert Jannsen's fix to track and home the pcl cursor
appropriately.
pcl/pcommand.c
pcl/pcpage.c
pcl/pcpage.h
pcl/pcstate.h
pcl/pcursor.c
2012-10-12 19:46:00 +0100
Robin Watts <robin.watts@artifex.com>
68dd69edbd8e2728207f18435be933bdca461a6f
Make stcolor device threadsafe by removing static.
Remove from list of unthreadsafe devices.
gs/base/configure.ac
gs/base/gdevstc.c
gs/base/gdevstc.h
gs/base/gdevstc4.c
2012-10-22 14:47:05 +0100
Robin Watts <robin.watts@artifex.com>
36d9731f83201002df6a91699f86e84c8d8530b1
Fix -Zb decode flags.
Some of the debugging code that had been changed to provide memory
pointers to the debugging print functions was attempting to
retrive a memory pointer from a stream that was on the stack.
Stack based streams have null memory pointers, resulting in SEGVs
when the pointers were used.
Revert these calls back to the non threadsafe ones.
gs/base/gximage.c
2012-10-21 11:49:26 -0600
Henry Stiles <henry.stiles@artifex.com>
16423bc7bb7c800122f04ec16869a88dcb6d69b0
Fixes 693395 default screen vector fill percentage incorrect.
Another inconsistency across HP devices: HP plotters apparently
default to a 50% fill if the Screened Vector (SV) command requests
shading but doesn't specify a percentage. On HP Printers the command
is ignored if the percentage is not provided explicitly.
pcl/pglfill.c
2012-10-16 19:15:34 -0700
Michael Vrhel <michael.vrhel@artifex.com>
0442ce0c95ffb9a33eba5c2303172e029883f2fb
Add in support for spot color overprinting with standard CMYK devices
Currently only the psdcmyk and tiffsep devices provide simulation of spot
color overprinting. With the following commit it is possible to get
simulation of overprinting with other CMYK based devices. This is done
using the command line option -dSimulateOverprint. The simulation is
achieved by having the overprint device blend the CMYK colorant with what
ever has currently been drawn.
gs/base/gdevp14.c
gs/base/gdevp14.h
gs/base/gscdevn.c
gs/base/gscms.h
gs/base/gscsepr.c
gs/base/gscspace.c
gs/base/gsdparam.c
gs/base/gsovrc.c
gs/base/gsovrc.h
gs/base/gstrans.h
gs/base/gxblend.h
gs/base/gxblend1.c
gs/base/gxcspace.h
gs/base/gxoprect.c
gs/base/gxoprect.h
2012-10-19 17:32:57 +0100
Ken Sharp <ken.sharp@artifex,com>
19f407d322ba43e1aff403f625bd4d2a723f5e65
pdfwrite - bug #691653 Regression: /undefined in --run-- with pdfwrite starting with r11667
The underlying problem is related to writing an ICCBased space corresponding
to an Lab space. However, the fallback when this fails does actually work.
The fault was caused by us writing out (and referencing from the page object)
broen Shading, colourpsace and Pattern entries, which were never actually used.
By removing the references from the page (but continuing to emit the broken
objects) 'corrects' this, and other files.
Expected Differences : bug689880.pdf should now work.
gs/base/gdevpdfg.c
gs/base/gdevpdfu.c
gs/base/gdevpdfv.c
2012-10-17 23:02:51 -0700
Michael Vrhel <michael.vrhel@artifex.com>
7d028b4cb4693468b2cb842a156a52f127262e55
Update source color example file.
gs/toolbin/color/src_color/objsrc_profiles_example.txt
2012-10-17 21:35:16 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
515767b6e4fb37b6259fbe0d6dec429f0d1727f9
Bug 693390: recover yet another broken PDF file
Recognize and fix a case when <</ColorSpace/DeviceRGB>> is used instead of CSA.
Also fix a real bug that prevented definition /DefaultXXX color spaces as
device color spaces by PDF file.
gs/Resource/Init/pdf_draw.ps
gs/Resource/Init/pdf_main.ps
2012-10-16 18:45:22 -0700
Michael Vrhel <michael.vrhel@artifex.com>
cf41720e6d559213802caa3f47edb82182cc7565
The manner in which the icc profile serial header structure was defined is plagued with alignment problems
This fix avoids the use of the sizeof operation to specify the size of the serial header portion.
Thanks to Robin for his help in tracking down this issue.
gs/base/gscms.h
gs/base/gsicc.c
gs/base/gsicc_manage.c
gs/base/gxclist.c
2012-10-17 09:49:09 +0100
Chris Liddell <chris.liddell@artifex.com>
a4cbd97bfe01b2c850902d8ee0983eda61fdb64d
Bug 693389: add inkcov device to Windows build.
CLUSTER_UNTESTED
gs/psi/msvc.mak
2012-10-16 08:51:58 +0100
Ken Sharp <ken.sharp@artifex,com>
2741c775675f23403470cb680adbd0025e716e70
add the 'debugaux' directory to the ignore list for Git
.gitignore
2012-10-13 02:42:15 -0700
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
ba77ca58e9ccf711a975b69c888f34e5371e4628
Fix issue with ./configure not correctly checking for files in contrib.
For reasons that aren't clear the code "!(test ...)" doesn't work in
bash on AIX; this commit replaces it with "! test ...". Hopefully this
won't fail on some other operating system.
gs/base/configure.ac
2012-10-12 19:06:08 +0100
Robin Watts <robin.watts@artifex.com>
d5904741b3e29c481bf0411c7fadd2c297b66828
Remove statics from lxm3200 device.
Remove this from the list of unthreadsafe devices.
gs/base/configure.ac
gs/contrib/gdevlx32.c
gs/psi/msvc.mak
2012-10-12 18:33:55 +0100
Robin Watts <robin.watts@artifex.com>
f8d61ad9460e59381ca9239c383ec3f91d2e1679
Fix cdj970 and fmlbp devices to be threadsafe.
Avoid use of global variables.
Remove these from the list of unthreadsafe devices.
gs/base/configure.ac
gs/contrib/gdevdj9.c
gs/contrib/japanese/gdevfmlbp.c
2012-10-12 17:54:51 +0100
Robin Watts <robin.watts@artifex.com>
cb6bedc4c5b81c4cb074d1c784573fd96165cc8e
Fix cp50 device to avoid use of global.
Move 'int copies' into the device structure.
Remove cp50 from list of un-threadsafe devices.
gs/base/configure.ac
gs/base/gdevcp50.c
gs/psi/msvc.mak
2012-10-12 16:53:18 +0100
Robin Watts <robin.watts@artifex.com>
50ecd470347d33cef82fabb02b555f6854345485
Fix contrib bjc devices to avoid global use.
Should now be threadsafe, so remove these devices from the list of
thread unsafe ones.
gs/base/configure.ac
gs/contrib/gdevbjc_.c
gs/contrib/gdevbjc_.h
gs/contrib/gdevbjca.c
gs/psi/msvc.mak
2012-10-12 16:01:47 +0100
Chris Liddell <chris.liddell@artifex.com>
96e2afac86b8241e4e2dd758d2caf0c6434a102a
Fix the check for duplicate entries.......
....in the list of devices excluded from a threadsafe build.
No cluster differences.
gs/base/configure.ac
2012-10-12 12:39:53 +0100
Robin Watts <robin.watts@artifex.com>
821d4c00e4507c0f68fd1eafb00622cbabcd1343
Remove calls to gs_lib_ctx_get_non_gc_memory_t from contrib devices.
This leaves the only calls to gs_lib_ctx_get_non_gc_memory_t being
from the lcms v1 wrapper code (expected as lcms v1 is not thread
safe), and from the gp_check_interrupts implementations (though these
should no longer be required).
Update the list of "not thread safe" devices in configure.ac; lots
of devices are now thread safe. The ones that remain 'not thread safe'
are those that use static variables (see bug 693376).
gs/base/configure.ac
gs/contrib/gdevcd8.c
gs/contrib/gdevdj9.c
gs/contrib/gdevgdi.c
gs/contrib/gdevln03.c
gs/contrib/gdevlx32.c
gs/contrib/gdevlx7.c
gs/contrib/gdevmd2k.c
gs/contrib/gdevop4w.c
gs/contrib/gdevxes.c
gs/contrib/gomni.c
gs/contrib/japanese/gdev10v.c
gs/contrib/japanese/gdevalps.c
gs/contrib/japanese/gdevdmpr.c
gs/contrib/japanese/gdevespg.c
gs/contrib/japanese/gdevfmlbp.c
gs/contrib/japanese/gdevfmpr.c
gs/contrib/japanese/gdevj100.c
gs/contrib/japanese/gdevlbp3.c
gs/contrib/japanese/gdevmag.c
gs/contrib/japanese/gdevmjc.c
gs/contrib/japanese/gdevnpdl.c
gs/contrib/japanese/gdevp201.c
gs/contrib/japanese/gdevrpdl.c
gs/contrib/lips4/gdevl4r.c
gs/contrib/lips4/gdevlprn.c
gs/contrib/pcl3/eprn/eprnparm.c
gs/contrib/pcl3/eprn/gdeveprn.c
gs/contrib/pcl3/src/gdevpcl3.c
2012-10-12 10:22:38 +0100
Chris Liddell <chris.liddell@artifex.com>
10c70931c243f9d53c2df8b5f9e92fc93acfd4c9
Add a --enable-threadsafe option to configure
This adds -dGS_THREADSAFE to the CFLAGS, *and* filters the devices to remove
non-threadsafe ones.
The list of non-threadsafe devices is near the top of configure.ac (search
for NTS_DEVS).
No cluster differences.
gs/base/configure.ac
2012-10-11 19:50:58 +0100
Robin Watts <robin.watts@artifex.com>
7012db5af074788bf7bf14ef3718fe72eae3e701
Add Release-contrib and Debug-contrib VS Configuration.
Also make the existing Debug-cups configuration show up in the solution
properties.
Building for any of these configurations only affects the ghostscript
builds.
common/msvc_top.mak
gs/base/winlib.mak
gs/ghostscript.vcproj
gs/psi/msvc.mak
main/pcl6_msvc.mak
win32/GhostPDL.sln
2012-10-11 18:50:38 +0100
Robin Watts <robin.watts@artifex.com>
415be58773ac3ebedbe92c6cbdaa5cda9efebc9a
Fix windows compilation of pcl3 devices.
The pcl3 devices include support for a pagecount module that doesn't
work under windows. The documentation for these devices suggests that
they can be made to work by predefining EPRN_NO_PAGECOUNTFILE and
editing the dependencies in the makefile to remove the need for
pagefile.c.
This commit simplifies that by making that symbol be defined
automatically on a windows build, and nobbling pagefile.c with a
gs/contrib/pcl3/eprn/eprnparm.c
gs/contrib/pcl3/eprn/pagecount.c
gs/contrib/pcl3/eprn/pagecount.h
2012-10-11 18:49:02 +0100
Robin Watts <robin.watts@artifex.com>
1d45b315e8f88b2d78eccba1a5943e59b3b6b14e
Fix typo in commit/commit.mak
The compile rule for gdevp201.obj was broken in a way that doesn't
matter on unix, but upsets nmake.
gs/contrib/contrib.mak
2012-10-11 08:54:32 -0700
Robin Watts <robin@peeves.(none)>
70e02af6a3a80586a506c18343aca7c297cbaae6
Fix GS_THREADSAFE builds.
mkromfs.c needed to not define some functions in GS_THREADSAFE cases.
gxclutil.c had a mismatch between code to collect stats and code to
print it.
gs/base/gxclutil.c
gs/base/mkromfs.c
2012-10-11 15:25:22 +0100
Robin Watts <robin.watts@artifex.com>
70488a2214a0ae36ad8ec0ca8b4ae0dff9745eb3
Tweak gscms interface to avoid use of globals.
Previously the only way to implement gscms_get_clrtname was to use a
static buffer and to return a pointer to it. We change the interface
so that gscms_get_clrtname takes a memory pointer, and allocates
space for the returned thing.
The LCMS2 implementation of this still uses a 256 byte stack based
buffer as part of it's operation (so could potentially have problems
with colorants longer than 256 bytes), but there is no way to avoid
this in the current LCMS interface.
gs/base/gsicc_cms.h
gs/base/gsicc_lcms.c
gs/base/gsicc_lcms2.c
gs/base/gsicc_manage.c
2012-10-10 20:25:02 +0100
Robin Watts <robin.watts@artifex.com>
8e3cac4974512416582461af4776120de5b08c07
Disable stat collection in GS_THREADSAFE builds.
The collection of statistics for debugging is implemented in a
non-threadsafe way. Disable it in GS_THREADSAFE builds.
gs/base/gxcldev.h
gs/base/gxclpath.c
gs/base/gxclutil.c
gs/base/gxfill.c
gs/base/gxfill.h
gs/base/gxifast.c
gs/base/gxshade6.c
gs/base/scfe.c
gs/base/ttinterp.c
gs/contrib/pcl3/eprn/mediasize.c
gs/contrib/pcl3/src/pclcap.c
2012-10-10 16:25:10 -0700
Ray Johnston <ray.johnston@artifex.com>
dcd936432eb37fc5e3590a9377b1e3521ce70042
Fix typo that was setting pattern clist BandHeight using size.x instead of .y
This (AFAICT) didn't hurt because the clist_init_bands forced patterns to be
nbands == 1, but was wrong and may confuse code that relies on BandHeight.
gs/base/gxpcmap.c
2012-10-10 15:25:08 +0100
Robin Watts <robin.watts@artifex.com>
20693cec8d771eb16412a3296c0a16bbbf2ec852
Ensure that all devices have non-NULL memory pointers.
We use the memory pointers to get to the lib_ctx, hence having NULL
memory pointers in device structures causes headaches.
Checking the comments in gxdevcli.h it seems that memory should
be NULL iff it's in a static prototype. Therefore anywhere that uses
gx_device_init and passes a NULL pointer is suspect.
Some places call gx_device_init and then set the memory pointer
manually afterwards, to ensure that the reference counting is setup
so that it does not attempt to free the device structure when all
instances are gone. This is to indicate that the device structure
is on the stack.
As a neater alternative to this, we offer a gx_device_init_on_stack
function that does the same thing, but makes this explicit.
gs/base/gsdevice.c
gs/base/gxacpath.c
gs/base/gxclip.c
gs/base/gxclip2.c
gs/base/gxclip2.h
gs/base/gxdevcli.h
gs/base/gxmclip.c
gs/base/gxmclip.h
gs/base/gxp1fill.c
gs/psi/zupath.c
2012-10-09 16:17:53 +0100
Robin Watts <robin.watts@artifex.com>
3231e8923e2bf4d535340a4d4a4335457c8ad1cf
gp_check_interrupts GP_THREADSAFE fixes.
When building with GP_THREADSAFE, gs_lib_ctx_get_non_gc_memory_t is
not defined. This will cause at least 2 versions of gp_check_interrupts
to fail. We patch them here to at least compile correctly.
Also fix some places where the memory pointers used were invalid.
Also fix a couple of calls to process_interrupts with explicitly NULL
memory pointers.
gs/base/gp_macpoll.c
gs/base/gp_mspol.c
gs/base/sfxstdio.c
gs/base/stream.c
gs/psi/iscan.c
2012-10-09 16:15:37 +0100
Robin Watts <robin.watts@artifex.com>
1793f3733ddb587a92efae41e188b7131eb2aa57
Second attempt at fixing debugging printing with clists.
The band file reading stream does not have a valid memory pointer
as the structure is allocated on the stack, and to have a valid
memory pointer would make the stream attempt to free the structure
on a close.
Here we add a 'local_memory' pointer that we use both for debugging
printing, and for calls to process_interrupts.
gs/base/gxclread.c
2012-10-10 16:18:49 +0100
Chris Liddell <chris.liddell@artifex.com>
586f1f5e9a29e1826b70cdd5aa1a77aa6b835f33
Provide way for output pagesize to image size in view___.ps tools.
For viewjpeg.ps and viewgif.ps this adds new procedures "viewJPEGgetsize" and
"viewGIFgetsize" which return the dimensions of the input impage, thus allowing
the caller to set the page size.
For viewmiff.ps, viewpbm.ps, viewpcx.ps they take a new parameter "FITPAGE"
which tell the utilities to fit the page to the image - they still honour the SCALE
parameter, which is also used when setting the pagesize.
CLUSTER_UNTESTED
gs/lib/viewgif.ps
gs/lib/viewjpeg.ps
gs/lib/viewmiff.ps
gs/lib/viewpbm.ps
gs/lib/viewpcx.ps
2012-10-09 21:17:00 -0700
Michael Vrhel <michael.vrhel@artifex.com>
0dc01b095200fa4e04a9934c58ad97ff50c56916
Addition of an internal CMM for direct color replacement of text, graphic and image RGB or CMYK colors
This option is used with the -sSourceObjectICC file. Similar to the option to set None to request that
no color management be used for a particular object type, here we use the keyword Replace to indicate
that for that object type the colorants will be replaced by the method set up in gsicc_replacecm.c
Currently to demonstrate its usage it provides a "negative" color mapping operation.
gs/base/gdevp14.c
gs/base/gscdevn.c
gs/base/gscms.h
gs/base/gscsepr.c
gs/base/gsicc.c
gs/base/gsicc_cache.c
gs/base/gsicc_cms.h
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
gs/base/gsicc_nocm.c
gs/base/gsicc_replacecm.c
gs/base/gxclimag.c
gs/base/gxcmap.c
gs/base/gxi12bit.c
gs/base/gxicolor.c
gs/base/gximono.c
gs/base/gxiscale.c
gs/base/gxshade.c
gs/base/lib.mak
gs/ghostscript.vcproj
xps/xpsgradient.c
2012-10-09 13:17:25 -0600
Henry Stiles <henry.stiles@artifex.com>
a650680c5be1e034b8d4a5f6cd2704ae65182e43
Fixes 693370 - the default join should be none not mitered.
pcl/pgdraw.c
2012-10-08 17:24:48 +0100
Robin Watts <robin.watts@artifex.com>
6f7a425bbc0b560a776a76293b4a1fdaffc76248
Bug 693328: Ensure that clist reader/writer devices stay in sync.
The number of components records in reader/writers can get out of
sync due to some 'limiting' code in the writer not being present in
the reader.
My first attempt at fixing this was to copy those few lines from
pdf14_create_clist_device into gs_pdf14_device_push, but this caused
SEGVs in some non-clist cases (72dpi CATX9004.pdf unbanded for example).
Staring at the code a bit it seems odd to open a device and then change
the number of colors in it; changing the number of colors *then* opening
it makes much more sense. I have therefore moved the limiting code up
a few lines in both pdf14_create_clist_device and gs_pdf14_device_push
and everything seems much happier.
2 diffs shown in the cluster, 1 clearly a progression, 1 neutral.
gs/base/gdevp14.c
2012-10-08 19:35:17 +0100
Robin Watts <robin.watts@artifex.com>
92f024cba125df4729f6a51fdf7b59e46fc71457
Revert commit dcdc149 which broke various cluster tests.
It seems that we can't put a valid mem pointer into the clist
stream reading code, as the stream code takes this as an indication
that the stream state should be freed on closedown.
gs/base/gxclread.c
2012-10-08 17:31:01 +0100
Robin Watts <robin.watts@artifex.com>
b07dca2069a45793b70cb7faf51f53d932144a28
Fix multi-threaded rendering use of wrong gs_memory_t.
When we create rendering threads, we create a gs_memory_t * for each.
The idea is that every thread should exclusively use its own gs_memory_t
to avoid conflicts. The gsicc_cache was being setup to use the incorrect
one.
This was found (by Ray) when investigating bug 693361. This solves
this particular error, but does not completely solve the bug.
gs/base/gxclthrd.c
2012-10-08 17:28:52 +0100
Robin Watts <robin.watts@artifex.com>
dcdc149c49b2556e2038df4eab0da7f49de46100
Fix clist stream memory initialisation.
The clist file playback stream has never had it's memory pointer setup
correctly - probably because it has never needed it. Now it does need it
due to to the debugging print functions.
gs/base/gxclread.c
2012-10-08 17:28:32 +0100
Robin Watts <robin.watts@artifex.com>
98946c1f9c015a6bbbb55a9401e4eeca47ce7147
Whitespace tweak.
gs/base/gxclrast.c
2012-10-08 10:30:29 +0100
Ken Sharp <ken.sharp@artifex.com>
f9c849768bdb3553ffeac74b74b04749e91bf4d5
pdfwrite - when resizing arrays due to incrementally downloaded fonts, increase CIDToGODMapLength
When TrueType fonts are incrementally downloaded, its possible for new character
codes to exceed the number of glyphs originally defined in the TrueType tables.
When this happens we resize various entries in our copy of the font. However
the change to dynamically storing CIDToGIDMap and CIDSet (for PDF/A) omitted
to increase the variable recording the array size (although the array was correctly
resized).
This led to glyphs with CIDs higher than the initial number of glyphs not having
an entry in CIDToGIDMap, and tehrefore being treated as /.notdef
No differences expected.
gs/base/gdevpdtf.c
2012-10-07 19:30:21 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
6cbb5969cc2edab6417c673194f1c1d019d275ef
Bug 693339: Replace malloc() with GS memory allocators in JPX code.
We have 2 implementations of JPX decoding filters based on Luratech
and OpenJpeg libraries. The Luratech one is now clean. The API to
the library supports custom memory allocators.
The OpenJpeg case is more difficult. The calls to malloc() in the
wrapper code has been eliminated, but the library calls malloc()
directly. To use a custom allcator one has to extend the API and
change the signatures of all functions that allocate memory.
gs/base/lib.mak
gs/base/sjpx_luratech.c
gs/base/sjpx_luratech.h
gs/base/sjpx_openjpeg.c
gs/base/sjpx_openjpeg.h
gs/psi/zfjpx.c
2012-10-07 11:26:17 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
7f4726e7764a09b8d68927924e54d1ad23e284d1
Bug 691931: Patch to resolve error in the number parser, the file now renders paths correctly
but not the text which is not currently supported.
svg/ghostsvg.h
svg/svgshapes.c
svg/svgtypes.c
2012-10-07 11:19:00 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
8785fa4c81b377abc633cd0baeffb7abd85b45d7
Bug 693239: Prevent segfault due to optional width/height attributes.
svg/svgdoc.c
2012-10-05 22:48:58 -0600
Henry Stiles <henry.stiles@artifex.com>
119de6b66bf1874c545b221a974ce88c78e462e8
more warning fixes
pl/plufont.c
2012-10-05 22:48:11 -0600
Henry Stiles <henry.stiles@artifex.com>
341865d2554ef04c0f873344f2a2d582a8353944
more warning fixes
pl/plulfont.c
2012-10-05 22:39:06 -0600
Henry Stiles <henry.stiles@artifex.com>
22ab5ef64b6364534012abecdf29b76402e7a08f
warning cleanup
pl/pluchar.c
2012-10-05 13:11:16 -0700
Michael Vrhel <michael.vrhel@artifex.com>
f5513b716ce5ce510120e2a08a766281d2b00c28
Allow use of Device Link ICC Profile for source objects
With the -sSourceObjectICC=filename option, it is now possible to specify a device link source
profile for CMYK/RGB graphic, image and text objects. When such a profile is specified, the mapping
will go from source directly to device values. Note that the use of a proofing profile is not
possible and the device profile itself is not used in this transformation. However the device link
profile that is associated with the device and specified with -sDeviceLinkProfile is included
in the transform.
gs/base/gscms.h
gs/base/gsicc_cache.c
gs/base/gsicc_cms.h
gs/base/gsicc_lcms.c
gs/base/gsicc_lcms2.c
gs/base/gsicc_manage.c
2012-10-05 06:40:12 +0100
Ken Sharp <ken.sharp@artifex.com>
44687f1488b97bc007c6cfb02d4a25bcb3fd94e0
pdfwrite - linearisation, correctly prevent buffer overrun
Picked up by the compiler on the Mac.the test was impossible, because a byte
cannot exceed a value of 255. The value (whcih triggers a buffer flush and reset)
shuold of course have been 254, as it now is.
No differences ewxpected
gs/base/gdevpdf.c
2012-10-04 10:43:51 -0700
Michael Vrhel <michael.vrhel@artifex.com>
fc7c0751108e823d311418bfed920a5a4b3ed37b
Expansion of spot color replacement to handle the mixing of DeviceN Colors
The named color profile structure will now also be used for mixing of DeviceN colorants.
This includes an update of the example to show the results.
gs/base/gscdevn.c
gs/base/gscsepr.c
gs/base/gsicc_cache.c
gs/base/gsicc_cache.h
gs/base/lib.mak
gs/toolbin/color/named_color/named_color_table.txt
gs/toolbin/color/named_color/named_colors.pdf
2012-10-04 19:19:58 -0600
Henry Stiles <henry.stiles@artifex.com>
c0b2a6eb8b26af6f1cea99efd97354ee3c22f28a
These header files should have been added with the warning message
cleanup commit (deeef25).
pcl/rtmisc.h
pl/plchar.h
2012-10-04 13:32:47 -0600
Henry Stiles <henry.stiles@artifex.com>
deeef25f35ff78e75a5ad6d056c481f1b1013c66
Warning cleanup.
pcl/pcdraw.c
pcl/pcfsel.c
pcl/pcindxed.c
pcl/pcl.mak
pcl/pcpatrn.c
pcl/pcstatus.c
pcl/pcuptrn.c
pcl/pgfdata.c
pcl/pgfdata.h
pcl/pgfont.c
pcl/pgmand.h
pcl/rtmisc.c
pl/pl.mak
pl/plchar.c
pl/plfont.c
pl/plfont.h
pl/plplatf.c
pl/plsrgb.c
pl/pluchar.c
pxl/pxffont.c
pxl/pxfont.c
pxl/pxfont.h
pxl/pxgstate.h
pxl/pxl.mak
pxl/pxpthr.c
pxl/pxpthr.h
pxl/pxstate.c
pxl/pxstate.h
pxl/pxtop.c
2012-10-02 21:51:18 -0700
Michael Vrhel <michael.vrhel@artifex.com>
18f1da650322713395aceafb25f495149c8f0cda
Turn on ability to specify no color management from the srcgtag structure for different objects
With this, it is possible in the srcgtag structure to specify that we will not do color management
for RGB or CMYK graphic, image and text objects. This is done by specifying the keyword None after
the particular tag. For example "Graphic_CMYK None" in the file that is used with the -sSourceObjectICC
command option. In the above case, all CMYK source graphics would be mapped using the unmanaged color
methods (e.g. 255-X) Also we added in support for preserveK, override source ICC and black point
compensation on an object based case. Had to worry about the case where the profile passes through
the clist in the commit and had to add in a new parameter to the profile to ensure that the rendering
conditions are associated with the source profile. Also fixed a bug to keep from changing the number of
channels in the link format.
gs/base/gdevp14.c
gs/base/gscms.h
gs/base/gscsepr.c
gs/base/gsicc.c
gs/base/gsicc_cache.c
gs/base/gsicc_lcms2.c
gs/base/gsicc_manage.c
gs/base/gsicc_nocm.c
gs/base/gxclimag.c
gs/base/gxclist.c
gs/base/gxclist.h
gs/base/gxcmap.c
gs/base/gxi12bit.c
gs/base/gxicolor.c
gs/base/gximono.c
gs/base/gxiscale.c
gs/base/gxshade.c
xps/xpsgradient.c
2012-10-04 10:02:02 +0100
Chris Liddell <chris.liddell@artifex.com>
44616dd78f9af00a47a4c27e5491537df28cd964
Eliminate last_char global variable.
last_char value is now stored in the pl_font_s structure.
pl/plchar.c
pl/plfont.c
pl/plfont.h
2012-10-03 09:29:47 +0100
Ken Sharp <ken.sharp@artifex.com>
37e1da602cff3378b3d985637dc582f206aa5cd8
txtwrite - fix a typo causing text to be incorrect
When the text operation was TEXT_FROM_CHARS or TEXT_FROM_SINGLE_CHAR the code
was referencing the 'bytes' structure member, not the 'chars' structure member.
Also fixed a potential signed/unsigned mismatch in pdfwrite and a 32/64 bit
mismatch in txtwrite, both picked up by Henry. It would be nice to know why
the 'new compiler warnings' check didn't flag these, possibly they predate
that check.
No differences expected.
gs/base/gdevpdf.c
gs/base/gdevtxtw.c
2012-10-01 10:48:01 -0700
Michael Vrhel <michael.vrhel@artifex.com>
ae25729f69a9ece10d6fdbb0c0c213c4e27aea7c
Change to a more sane storage of the color rendering conditions to s common structure type
As more conditions variables are introduced, e.g. rendering intent, black point compensation, preserve black
etc. it has become clear that we need a structure for these variables making it easy to introduce new ones.
Also clean up a lot of the usage methods to ensure that proper override occurs without having to set a
pile of command line options.
gs/Resource/Init/gs_lev2.ps
gs/base/gdevp14.c
gs/base/gscms.h
gs/base/gscspace.c
gs/base/gsdevice.c
gs/base/gsdparam.c
gs/base/gsequivc.c
gs/base/gsicc_cache.c
gs/base/gsicc_lcms2.c
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
gs/base/gstrans.c
gs/base/gxclimag.c
gs/base/gxcmap.c
gs/psi/zusparam.c
2012-10-02 20:37:15 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
f1a459c6e695f065f036db4a8946ae726ee69eac
Bug 693285: Apply update of original patch from zeniko. We now check that the symbol dictionary
being imported is not empty. Also prevent seg faults resulting from the threadsafe update.
gs/base/sjbig2.c
gs/jbig2dec/jbig2_symbol_dict.c
2012-10-02 13:18:25 -0600
Henry Stiles <henry.stiles@artifex.com>
80dc061ed4717eef205be05e764ac4f1b8c67632
fix mismatched parameter type, possibly associated with bug #693362
pcl/pgfont.c
pl/plchar.c
pl/plfont.c
pl/plfont.h
2012-10-02 12:48:13 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
281b221f4632ba243efa325663dfb223d42028ff
Add missing initialisation of override_bp
Fix a Valgrind warning and a possible cause of indeterminism.
gs/base/gsicc_manage.c
2012-10-02 13:26:48 +0100
Chris Liddell <chris.liddell@artifex.com>
7c47cd47fc96a2f8af5723dbe777526a7fc64c9a
White space and warning fixes for bigtiff commit.
No cluster differences.
gs/base/gdevtfax.c
gs/base/gdevtifs.c
gs/base/gdevtsep.c
2012-10-02 11:07:09 +0100
Ken Sharp <ken.sharp@artifex.com>
5784bfbfba7191cacce5309e88afac0851287460
Add preservation of PageLabels from input PDF files when using pdfwrite
Bug #692901 "Preserve Page labels from input PDF when the output is PDF"
Because hte defined pdfmark /PAGELABEL is not flexible enough to handle all
the possible kinds of page labels in PDF, and because it transpires we don't
emit pdfmarks when producing PostScript with ps2write, this feature does
not use teh pdfmark syntax.
It does work in a broadly similar way, we create a string from the PageLabels
entry in the Catalog dictionary (if present) and then pass that via put_params
with a parameter naem of pdfpagelabels (pdfmark uses a name of pdfmark).
This string is then stored in the Catalog dictionary, and emitted when the
output PDF is created.
I'm unable to test this against the original report, as no specimen PDF file
was provided.
No differences expected, this makes no changes in rendering.
gs/Resource/Init/gs_pdfwr.ps
gs/Resource/Init/pdf_main.ps
gs/base/gdevpdfp.c
2012-09-28 09:23:36 +0100
Chris Liddell <chris.liddell@artifex.com>
79af8e5bff7321b6985ea0bd5dd5b4a5a4c2590a
Provide bigtiff output option.
All the tiff devices now support the device parameter "-dUseBigTIFF" which
tells them to write their output in "bigtiff" format, rather than "normal"
tiff.
In the event that we overflow the allowed file size in normal tiff, the existing
error message is augmented with a hint to try bigtiff output.
To implement the above warning has meant adding warning and error handling hooks
for libtiff, and also adding file I/O hooks for libtiff.
This requires libtiff version >=4.0.0, so linking with older libtiff versions
will cause us to ignore the UseBigTIFF setting.
No cluster differences.
gs/base/gdevtfax.c
gs/base/gdevtfnx.c
gs/base/gdevtifs.c
gs/base/gdevtifs.h
gs/base/gdevtsep.c
2012-10-01 08:41:11 +0100
Ken Sharp <ken.sharp@artifex.com>
b81847783db2c17e11d40feeb0812ff7d129aca9
Bug #691319 - Preserve Flags (/F) from Text annotations
When creating pdfmarks for the benefit of pdfwrite, the PDF interpreter
only handles two types of annotation, Text and Link. We were handling the
Flags entry for Link annotations, but not for Text annotations.
Here we preserve the Flags for text annotations too.
No differences expected, not tested by cluster.
gs/Resource/Init/pdf_main.ps
2012-09-28 14:40:35 +0100
Ken Sharp <ken.sharp@artifex.com>
4b9424c7bf7c74613cd004195592d41893dd3bd5
Remove more traces of pdfopt from the repository and documentation
gs/doc/Develop.htm
gs/doc/Ps2pdf.htm
gs/doc/Psfiles.htm
gs/lib/pdfopt
gs/lib/pdfopt.bat
2012-09-28 14:34:27 +0100
Ken Sharp <ken.sharp@artifex.com>
260ddb3e53ffe852a8994dd00719931ca3f2beec
With the addition of linearisation to pdfwrite, pdfopt.ps has become
redundant. Since it is difficult to maintain, has a number of bugs, and is
believed not to work properly anyway, it is now deprecagted and hence
removed from the repository.
gs/lib/pdfopt.ps
2012-09-28 13:08:06 +0100
Ken Sharp <ken.sharp@artifex.com>
f2a40a3a7edd6d27caeaa19f7f644adf31ee972c
pdfwrite - linearisation completion
Update ps2pdf.htm documentation
CHange parameter name to 'FastWebView'
Don't writ the xref on the initial file, as we don't need it and it makes
the original file slightly smaller, which reduces the chances that we will
have to pad the linearised file. (The linearised file must be no smaller
than the original, because we do not close the file, we just seek around and
rewrite it). Same with the trailer dictionary.
Fix 'rewrite object' so that dictioanry and array objects can be of any size
previously we had assunmed they would be less than 64k, but some complex
files broke that.
If the linearised file is smaller than the original, we need to add white
space to bring it up to the same size, or we will be left with garbage at
the end. Worse, the garbage may well contain a partial invalid xref.
Remove the check for one page files as Adobe specifically allows linearising
single page documents....
gs/base/gdevpdf.c
gs/base/gdevpdfp.c
gs/doc/Ps2pdf.htm
2012-09-28 07:54:54 +0100
Chris Liddell <chris.liddell@artifex.com>
3c23fe12abb6a158abf1c515601db7b2f94c5463
Reinstate tiffsep1 and svgwrite in the device lists
I accidentally left out tiffsep1 when I consolidated the two lists of TIFF
devices, so putting it back now.
svgwrite was removed a while ago due to being incomplete and flaky, but there
has been ongoing interest in the device, some patches posted, so reinstate it
to make it easier for people to test/debug/develop.
It's included in the "FILES" class of devices.
No cluster differences.
gs/base/configure.ac
2012-09-27 10:18:27 -0700
Michael Vrhel <michael.vrhel@artifex.com>
3a0483fddf55e091aafa1bd4822bd77b19b481b3
Update Use.htm with ICC command updates.
gs/doc/Use.htm
2012-09-27 10:06:51 -0700
Michael Vrhel <michael.vrhel@artifex.com>
666890f41d3ca928498a8652fa7d102cd9f22191
Update color document with recent changes.
gs/doc/GS9_Color_Management.pdf
gs/doc/GS9_Color_Management.tex
2012-09-27 17:21:16 +0100
Ken Sharp <ken.sharp@artifex.com>
53547c0892c48e248a146667f280886b362befc1
pdfwrite - linearisation, fix some seg faults
The code was inadvertently incrementing an array index twice, leading to
out of bounds memory access, and consequent memory corruption.
No differences expected, this is not cluster tested.
gs/base/gdevpdf.c
2012-09-24 23:15:43 -0700
Michael Vrhel <michael.vrhel@artifex.com>
408cbb83103ba9cf6996eeebaa02995cd9f535ad
Addition of support for allowing control over the use of black point compensation in color management
Black point compensation is a new extended graphic state entry in the extended graphic
state with PDF 2.0 . This change adds it to the graphic state. This update also allows
the same type of override control for black point that we currently have for the
rendering intent. This includes specification of its use by source object type with
the use of -sSourceObjectICC for source RGB and CMYK graphic, images and text objects.
Alternatively, control can be achieved for the whole document via object type
by specification -dBlackPtComp=0/1. Alternatively, you can specify control
on an object based method using -dGraphBlackPt=0/1
-dImageBlackPtComp=0/1 -dTextBlackPtComp=0/1. All of these
will require the setting of -dOverrideBP to ensure that the document content does not
interfere with the command line setting. Note that these are not true/false settings
but integer values like the rendering intent. This is to allow the easy expansion
to other black point compensation options as described by Bug 692223.
gs/Resource/Init/gs_lev2.ps
gs/base/gdevp14.c
gs/base/gscms.h
gs/base/gscsepr.c
gs/base/gscspace.c
gs/base/gsdparam.c
gs/base/gsequivc.c
gs/base/gsicc.c
gs/base/gsicc_cache.c
gs/base/gsicc_lcms2.c
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
gs/base/gsstate.c
gs/base/gsstate.h
gs/base/gstrans.c
gs/base/gxclimag.c
gs/base/gxcmap.c
gs/base/gxi12bit.c
gs/base/gxicolor.c
gs/base/gximono.c
gs/base/gxiscale.c
gs/base/gxistate.h
gs/base/gxshade.c
gs/psi/zcolor3.c
gs/psi/zusparam.c
gs/toolbin/color/src_color/objsrc_profiles_example.txt
xps/xpsgradient.c
2012-09-26 11:02:22 +0100
Robin Watts <robin.watts@artifex.com>
1770ca69b258c571565d9a6fc7bb9fb0ebd539e4
Bug 693357: Fix typo
In the big debugging printf commit of the other day, I introduced a
typo into the luratech jbig2 code. Fixed here.
gs/base/sjbig2_luratech.c
2012-09-26 10:52:46 +0100
Robin Watts <robin.watts@artifex.com>
45ba06c92cf7cb290b1c76f4380606323579e5b9
Fix DEBUG mode SEGVs; bug 693359
In at least a couple of places I was reading a memory pointer from a
structure that wasn't filled in. Simple fixes here.
This solves the crashing with -ZBb in any file with an image pointed
out by Henry on irc.
I'm sure there will be more such problems due to the wide ranging
nature of the commit that changed this; hopefully all will be as
simple to solve as this.
gs/base/gxipixel.c
gs/base/gxp1fill.c
2012-09-26 09:06:22 +0100
Ken Sharp <ken.sharp@artifex.com>
3894e9c8a3ab125c82048da3bf81515500bb2da0
pdfwrite - emit partial pages
previously, if an input file made marks on the page but did not call
showpage (or equivalent in other languages), pdfwrite would write all the
objects to the file, but would not add the final partial page to the Pages
tree, which meant that the final page didn't appear.
It seems that Adobe Acrobat behaves differently, and produces the final page
under these conditions. This commit changes our behaviour to match the
observed Adobe behaviour.
This was noticed when running some Quality Logic test files, it appears that
the cluster runs in a mode where these partial pages were always emitted
anyway (because of the CET conformance hacks) so there are only a few files
which display any differences.
gs/base/gdevpdf.c
2012-09-25 19:43:21 +0100
Robin Watts <robin.watts@artifex.com>
1deb66b8f5e53f8a560ced10fe777a55e42fc6f2
Fix garbage collection troubles with icc code.
Historically, due to lcms/lcms2 allocating stuff using malloc/free
the profiles haven't been subject to garbage collection. When I
fixed gscms_create/destroy not being called properly, this caused
lcms2 to start allocating blocks properly with the gs allocators.
To ensure that these blocks weren't unexpectedly garbage collected
away, I modified one of the calls from gsicc_cache.c to the gscms
layer to pass in a non_gc memory pointer. This worked well, but I
missed a second call in which I should have done the same.
Fixed here. This cures bug 693349.
gs/base/gsicc_cache.c
2012-09-21 12:34:16 -0700
Ray Johnston <ray.johnston@artifex.com>
873455f29e399fc5f7b489c50cfb869fdc26cb0d
Simplify mkromfs build dependencies, add needed debug and error printing.
Since mkromfs minimal memory implementation left the gs_lib_ctx set to NULL,
the errwrite and outwrite functions would de-reference a NULL causing a
Segmentation violation if gp_unix ever printed anything. This removes the
need for the gsmisc.o altogether and removes the need for gslibctx.o and
the dummy gscms functions.
gs/base/mkromfs.c
gs/base/unix-aux.mak
2012-09-24 09:25:35 -0700
Michael Vrhel <michael.vrhel@artifex.com>
bb0ef5ed637757290a88709fa1543585b29ccc54
Update color management documentation with information about NCLR ICC profile usage.
gs/doc/GS9_Color_Management.pdf
gs/doc/GS9_Color_Management.tex
2012-09-24 09:22:41 -0700
Michael Vrhel <michael.vrhel@artifex.com>
5176cb8c3882de51e413880ec2818a45a9d7c139
Fix a few typos.
gs/doc/Use.htm
2012-09-21 22:48:37 -0700
Michael Vrhel <michael.vrhel@artifex.com>
8227d2d46b516b75a4383466eb243b725f3124b0
Support for the use of N-CLR ICC output profiles extended to the tiffsep device.
The documentation on the use of this option was also updated.
gs/base/gdevdevn.h
gs/base/gdevpsd.c
gs/base/gdevtsep.c
gs/doc/Use.htm
2012-09-20 22:55:45 -0700
Michael Vrhel <michael.vrhel@artifex.com>
8a1ca14aab8f3ef6a7ffaa554d4e1d348b7561a7
Bulk of work to demonstrate the use of DeviceN ICC output profile.
This adds support to the psdcmyk device as well as the required changes in
the graphics library. Through the use of the LIMIT_TO_ICC define in gdevpsd, it is
possible to limit the colorants to those defined by the ICC output profile.
Setting to 1 will limit it setting to 0 will allow all spots (up to the maximum)
to be created. If spot names in the document match those in the command line
with -sICCOutputColors, then those colorants and hence separation will be treated
the same.
gs/base/gdevpsd.c
gs/base/gscdevn.c
gs/base/gscms.h
gs/base/gscsepr.c
gs/base/gsequivc.c
gs/base/gsicc.c
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
gs/base/gxcmap.c
gs/base/gxistate.h
gs/base/lib.mak
2012-09-21 18:49:41 +0100
Robin Watts <robin.watts@artifex.com>
51bc075100060ca1f90dd5d3d6c467597202d27d
Import LCMS 2.4 (patched)
Here we import LCMS 2.4 with our existing patches into gs.
Cluster testing this shows various changes; most of these are just
small rounding issues. It is possible that some of this is due to
Marti adopting our revised 16 -> 8 code and having pushed it further
through the code than we had.
Also there are changes to the black point compensation code designed
to more accurately match Adobe. For some test files that have
deliberately extreme profiles we get noticably different results.
Supposedly this is because those profiles do not round trip nicely,
but after discussing it with Michael he says it's nothing to worry
about.
gs/base/lcms2.mak
gs/ghostscript.vcproj
gs/lcms2/AUTHORS
gs/lcms2/ChangeLog
gs/lcms2/Makefile.in
gs/lcms2/Projects/.gitignore
gs/lcms2/Projects/BorlandC_5.5/lcms2.rc
gs/lcms2/Projects/BorlandC_5.5/lcmsdll.lk
gs/lcms2/Projects/BorlandC_5.5/lcmsdll.lst
gs/lcms2/Projects/VC2008/lcms2_DLL/lcms2_DLL.vcproj
gs/lcms2/Projects/VC2008/lcms2_static/lcms2_static.vcproj
gs/lcms2/Projects/VC2010/jpegicc/jpegicc.vcxproj
gs/lcms2/Projects/VC2010/lcms2.sln
gs/lcms2/Projects/VC2010/lcms2_DLL/lcms2_DLL.vcxproj
gs/lcms2/Projects/VC2010/lcms2_DLL/lcms2_DLL.vcxproj.filters
gs/lcms2/Projects/VC2010/lcms2_static/lcms2_static.vcxproj
gs/lcms2/Projects/VC2010/lcms2_static/lcms2_static.vcxproj.filters
gs/lcms2/Projects/VC2010/linkicc/linkicc.vcxproj
gs/lcms2/Projects/VC2010/psicc/psicc.vcxproj
gs/lcms2/Projects/VC2010/testbed/testbed.vcxproj
gs/lcms2/Projects/VC2010/tiffdiff/tiffdiff.vcxproj
gs/lcms2/Projects/VC2010/tifficc/tifficc.vcxproj
gs/lcms2/Projects/VC2010/transicc/transicc.vcxproj
gs/lcms2/Projects/mac/._.DS_Store
gs/lcms2/Projects/mac/LittleCMS/._.DS_Store
gs/lcms2/Projects/mac/LittleCMS/Info.plist
gs/lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/mariama.mode1v3
gs/lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/mariama.pbxuser
gs/lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.pbxproj
gs/lcms2/aclocal.m4
gs/lcms2/configure
gs/lcms2/configure.ac
gs/lcms2/doc/LittleCMS2.3 API.pdf
gs/lcms2/doc/LittleCMS2.3 Plugin API.pdf
gs/lcms2/doc/LittleCMS2.3 tutorial.pdf
gs/lcms2/doc/LittleCMS2.4 API.pdf
gs/lcms2/doc/LittleCMS2.4 Plugin API.pdf
gs/lcms2/doc/LittleCMS2.4 tutorial.pdf
gs/lcms2/include/Makefile.in
gs/lcms2/include/lcms2.h
gs/lcms2/include/lcms2_extras.h
gs/lcms2/include/lcms2_plugin.h
gs/lcms2/src/Makefile.am
gs/lcms2/src/Makefile.in
gs/lcms2/src/cmscam02.c
gs/lcms2/src/cmscgats.c
gs/lcms2/src/cmscnvrt.c
gs/lcms2/src/cmserr.c
gs/lcms2/src/cmsgamma.c
gs/lcms2/src/cmsgmt.c
gs/lcms2/src/cmshalf.c
gs/lcms2/src/cmsintrp.c
gs/lcms2/src/cmsio0.c
gs/lcms2/src/cmsio1.c
gs/lcms2/src/cmslut.c
gs/lcms2/src/cmsmd5.c
gs/lcms2/src/cmsmtrx.c
gs/lcms2/src/cmsnamed.c
gs/lcms2/src/cmsopt.c
gs/lcms2/src/cmspack.c
gs/lcms2/src/cmspcs.c
gs/lcms2/src/cmsplugin.c
gs/lcms2/src/cmsps2.c
gs/lcms2/src/cmssamp.c
gs/lcms2/src/cmssm.c
gs/lcms2/src/cmstypes.c
gs/lcms2/src/cmsvirt.c
gs/lcms2/src/cmswtpnt.c
gs/lcms2/src/cmsxform.c
gs/lcms2/src/cmsxform.h
gs/lcms2/src/cmsxform_extras.c
gs/lcms2/src/lcms2.def
gs/lcms2/src/lcms2_internal.h
gs/lcms2/testbed/Makefile.am
gs/lcms2/testbed/Makefile.in
gs/lcms2/testbed/testcms2.c
gs/lcms2/utils/common/utils.h
gs/lcms2/utils/common/vprf.c
gs/lcms2/utils/common/xgetopt.c
gs/lcms2/utils/delphi/lcms2dll.pas
gs/lcms2/utils/jpgicc/Makefile.in
gs/lcms2/utils/jpgicc/jpgicc.c
gs/lcms2/utils/linkicc/Makefile.in
gs/lcms2/utils/psicc/Makefile.in
gs/lcms2/utils/tificc/Makefile.in
gs/lcms2/utils/tificc/tificc.c
gs/lcms2/utils/transicc/Makefile.in
gs/lcms2/utils/transicc/transicc.c
2012-09-21 19:07:48 +0100
Robin Watts <robin.watts@artifex.com>
2346369bb7536062946d409f940e865791afc34a
Fix typo in previous commit; return NULL in void function.
MSVC and gcc both accept it with a warning, hence I didn't spot it.
Sorry.
gs/base/gslibctx.c
2012-08-25 00:38:56 +0100
Robin Watts <robin.watts@artifex.com>
0eae840336f244e5b0d195109e1dd9e104396d87
Arrange for gscms_create/destroy to be called correctly.
gscms_create should be called before any other cms call is made,
but it's not being. It not being called has meant that lcms has
always been using malloc/free rather than the gs allocation
functions. Fix some bugs in those allocation functions that show
up now they are used.
Also ensure that pointers are correctly enumerated.
Ensure that cms set context pointer actually makes it into links.
Update gscms interface to ensure that errors on gscms_create can
be responded to.
This work has exposed a problem wrt the context pointer in the
gscms interface, so we fix that here too.
The theory has always been that we can drop new and different
CMS engines into ghostscript, by wrapping each one with some code
that implements the gscms_ functions from gsicc_cms.h.
While this interface was developing, I started to add support for
a context pointer, but looking back at it, it seems I never
completed the work and it was left in a state where it was useless.
After much discussion with Michael, we've decided that the best way
to proceed is to arrange for gscms_create to be called when gs
starts up (just after the base level allocator is created), and for
gscms_destroy to be called as gs exits (just before the base level
allocator is destroyed).
This base level allocator is passed into gscms_create/gscms_destroy
so it can safely allocate memory. Furthermore, we have done away
with explicitly passing the cms_context pointer around, as it was
not really any use in its current form. Instead, we have added
functions to get/set the context pointer in the gs_lib_ctx.
void *gs_lib_ctx_get_cms_context( const gs_memory_t *mem );
void gs_lib_ctx_set_cms_context( const gs_memory_t *mem, void *cms_context );
As the gscms functions take mem pointers in all the interesting
places, this should be sufficient.
As mkromfs calls the gs lib ctx init stuff, we have had to add stubs
for gscms_create/destroy to mkromfs.c.
gs/base/gscms.h
gs/base/gsicc_cache.c
gs/base/gsicc_cache.h
gs/base/gsicc_cms.h
gs/base/gsicc_lcms.c
gs/base/gsicc_lcms2.c
gs/base/gsicc_manage.c
gs/base/gsicc_nocm.c
gs/base/gslibctx.c
gs/base/gslibctx.h
gs/base/gsmalloc.c
gs/base/mkromfs.c
2012-09-21 13:52:25 +0100
Robin Watts <robin.watts@artifex.com>
8ef93d4d8f33149cb7d244da52d47e82a11f9019
Fix LCMS threading issue with plugin registration.
When registering a plugin, allocations can be done. This can result
in calls back to the user supplied malloc functions, which assume
that a cmsContext will be supplied. In the current code there is
no way to pass a cmsContext into the plugin registration.
We therefore add a new function cmsPluginTHR that does take such a
context.
Currently this isn't called yet, as gscms_create/destroy aren't correctly
called.
gs/lcms2/include/lcms2.h
gs/lcms2/src/cmscnvrt.c
gs/lcms2/src/cmsgamma.c
gs/lcms2/src/cmsopt.c
gs/lcms2/src/cmspack.c
gs/lcms2/src/cmsplugin.c
gs/lcms2/src/cmstypes.c
gs/lcms2/src/lcms2_internal.h
2012-09-20 20:12:27 +0100
Robin Watts <Robin.Watts@artifex.com>
81946ddaca41eb0726d4435a6217b3e017bd7a8c
Patch LCMS threading bug.
LCMS maintains a ContextID for the sake of the allocator callbacks.
In the call sequence through, it was losing this and ending up with
the allocators being called with NULL.
Simple fix.
gs/lcms2/src/cmssamp.c
2012-09-20 17:18:39 +0100
Ken Sharp <ken.sharp@artifex.com>
7a70a32618642f17104747dc2f5785775b42495b
pdfwrite - linearisation, correctly renumber resoruces in arrays
The code to renumber resources was only checking for indirect references in
dictionaries, we need to check arrays as well.
No differences expected.
gs/base/gdevpdf.c
2012-09-20 15:47:08 +0100
Ken Sharp <ken.sharp@artifex.com>
455ecb61885dcceccb23fb16518bb1790c40eb40
pdfwrite - linearisation bug fixes
Allow return code to be 0 when seeking so we don't lose the first part of
the linearised file.
If the input job makes marks on the final page, but does not call showpage,
we discard the final page. This can lead to resources being marked as 'used'
on pages that no longer exist. We now ignore such usage.
Fix an 'off by 1' error when indexing an array using paeg numbers
(page numebrs are 1->n, array is 0->n-1)
Put a #ifdef round some debug prints so they don't end up in the cluster log
Some resources are only used by other resources (eg Encoding) and should take
on the Page Usage of their parent. If the parent resource was shared we werne't
correclty updating the child with all the pages the parent was used on.
Some memory was being double freed causing seg faults.
No differences expetced as cluster doesn't test linearisation.
gs/base/gdevpdf.c
2012-09-19 16:42:42 +0100
Robin Watts <Robin.Watts@artifex.com>
cd4826a3a5e3000df0e5f787e3b6ceec88c43885
Remove gs_lib_ctx_get_non_gc_memory_t in GS_THREADSAFE builds.
gs_lib_ctx_get_non_gc_memory_t relied on a static to implement it,
so is incompatible with multi-threaded builds. Removing it
causes various devices/bits of code to break. We fix the
important (i.e. mostly non-contrib) devices that use it here.
We also rework the gscms/lcms interface code to avoid it too.
With this commit in, helgrind apitests tiger to ppmraw as being
clean.
gs/base/gdevrinkj.c
gs/base/gdevxcf.c
gs/base/gsicc_cache.c
gs/base/gsicc_cms.h
gs/base/gsicc_lcms.c
gs/base/gsicc_lcms2.c
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
gs/base/gslibctx.c
gs/base/gslibctx.h
gs/psi/zicc.c
2012-09-19 16:16:32 +0100
Robin Watts <Robin.Watts@artifex.com>
9ccfc96d8885b419437f985baa7d26db3ff1950a
Add some PACIFY_VALGRIND magic for helgrind.
Various bits of code (notably gs_debug, some clist function pointers
and some constants in lcms) are held in statics. We accept that
gs_debug is going to be thread unsafe and choose to ignore it.
The others are initialised multiple times (to the same values) and
then never changed.
Helgrind is not smart enough to see that these are repeatedly
updated to the same values, so flags an error every time they are
written to.
We therefore add a bit of Valgrind magic before these places to
tell it to ignore these addresses when checking.
gs/base/gsinit.c
gs/base/gxclfile.c
gs/base/gxclist.c
gs/base/gxclmem.c
gs/lcms2/src/cmserr.c
gs/lcms2/src/cmswtpnt.c
gs/psi/imain.c
pl/plplatf.c
pl/plplatfps.c
2012-09-19 16:11:58 +0100
Robin Watts <Robin.Watts@artifex.com>
9171c68f18ba278aa72df4a30ba89bb5400bdd79
Disable various bits of debugging stats etc for GS_THREADSAFE
Various bits of code use statics to gather statistics in DEBUG
builds; disable these in GS_THREADSAFE builds as they are
incompatible with multi-threaded operation.
gs/base/gdevm24.c
gs/base/gdevm40.c
gs/base/gdevm48.c
gs/base/gdevm56.c
gs/base/gdevm64.c
gs/base/gxclip.c
gs/base/gxfill.c
gs/psi/idict.c
gs/psi/idstack.c
gs/psi/interp.c
2012-09-19 13:05:20 +0100
Robin Watts <Robin.Watts@artifex.com>
2e03d8c5aac80eb56cb9097a316dc36bf311d380
Update LCMS2 to avoid race condition in Tag handling.
LCMS2 as supplied (in both 2.3 and 2.4 at least) is broken w.r.t
multitasking due to a race condition in the Tag handling.
When a TagTypeHandler is needed, it is looked up from a system table.
The existing code then writes into this table with the ContextID and
calls the handler. This is a race condition if 2 threads are using
the same TagTypeHandler at a time.
The fix implemented here is to copy the TagTypeHandler structure to a
local one, write the ContextID into that, and then call through that.
gs/lcms2/src/cmsio0.c
2012-09-13 00:40:03 +0100
Robin Watts <robin.watts@artifex.com>
6777c88fab2afc3e6558fda1dfb51110088ede61
Introduce GS_THREADSAFE define and modify printing calls.
Lots of debugging/error information is printed using eprintf and
dlprintf etc. These functions do not take a gs_memory_t * and are
not safe for use within code that runs under multiple instances
created by gsapi.
Introduce new versions (dmprintf, dmlprintf etc) that DO take a
gs_memory_ *, and move as much of ghostscript/ghostpdl's usage
over to these as possible. I have not touched the contrib directory,
and some locations in the code do not easily have a gs_memory_t
to hand, so I have left them be.
If the GS_THREADSAFE define is made during building, then the
functions that don't take an explicit memory handle are #defined
away to nothing.
If the GS_THREADSAFE define is made, we disable the gsapi check that
checks for a single init.
gs/base/gdebug.h
gs/base/gdevabuf.c
gs/base/gdevbbox.c
gs/base/gdevdbit.c
gs/base/gdevdevn.c
gs/base/gdevdevn.h
gs/base/gdevdflt.c
gs/base/gdevdrop.c
gs/base/gdevfax.c
gs/base/gdevhl7x.c
gs/base/gdevifno.c
gs/base/gdevijs.c
gs/base/gdevjpx.c
gs/base/gdevm1.c
gs/base/gdevm24.c
gs/base/gdevmr1.c
gs/base/gdevmr8n.c
gs/base/gdevnfwd.c
gs/base/gdevp14.c
gs/base/gdevpbm.c
gs/base/gdevpdf.c
gs/base/gdevpdfu.c
gs/base/gdevperm.c
gs/base/gdevplan.c
gs/base/gdevplib.c
gs/base/gdevprn.c
gs/base/gdevpsd.c
gs/base/gdevpsds.c
gs/base/gdevpsf2.c
gs/base/gdevpsft.c
gs/base/gdevpsfx.c
gs/base/gdevpx.c
gs/base/gdevrinkj.c
gs/base/gdevsppr.c
gs/base/gdevsvg.c
gs/base/gdevsvga.c
gs/base/gdevtrac.c
gs/base/gdevtsep.c
gs/base/gdevx.c
gs/base/gdevxcf.c
gs/base/gdevxcmp.c
gs/base/gp_unifs.c
gs/base/gp_unix.c
gs/base/gsalloc.c
gs/base/gsalphac.c
gs/base/gscdevn.c
gs/base/gschar0.c
gs/base/gscie.c
gs/base/gsciemap.c
gs/base/gscoord.c
gs/base/gscsepr.c
gs/base/gscspace.c
gs/base/gsequivc.c
gs/base/gserrors.h
gs/base/gsfcmap1.c
gs/base/gsfont.c
gs/base/gshsb.c
gs/base/gsht.c
gs/base/gsht1.c
gs/base/gshtscr.c
gs/base/gsicc.c
gs/base/gsicc_cache.c
gs/base/gsicc_manage.c
gs/base/gsicc_profilecache.c
gs/base/gsimage.c
gs/base/gslib.c
gs/base/gslibctx.c
gs/base/gsmalloc.c
gs/base/gsmchunk.c
gs/base/gsmemory.c
gs/base/gsmisc.c
gs/base/gsovrc.c
gs/base/gspath.c
gs/base/gspath1.c
gs/base/gsptype1.c
gs/base/gsrefct.h
gs/base/gsstate.c
gs/base/gsstruct.h
gs/base/gstrans.c
gs/base/gstype1.c
gs/base/gstype2.c
gs/base/gstype42.c
gs/base/gxacpath.c
gs/base/gxalloc.h
gs/base/gxblend.c
gs/base/gxblend1.c
gs/base/gxccache.c
gs/base/gxccman.c
gs/base/gxchar.c
gs/base/gxclbits.c
gs/base/gxcldev.h
gs/base/gxclimag.c
gs/base/gxclip.c
gs/base/gxclip2.c
gs/base/gxclipm.c
gs/base/gxclist.c
gs/base/gxclmem.c
gs/base/gxclpath.c
gs/base/gxclrast.c
gs/base/gxclread.c
gs/base/gxclrect.c
gs/base/gxclthrd.c
gs/base/gxclutil.c
gs/base/gxcmap.c
gs/base/gxcpath.c
gs/base/gxdcconv.c
gs/base/gxdevndi.c
gs/base/gxdtfill.h
gs/base/gxfapiu.c
gs/base/gxfill.c
gs/base/gxfillsl.h
gs/base/gxfilltr.h
gs/base/gxht.c
gs/base/gxi12bit.c
gs/base/gxicolor.c
gs/base/gxidata.c
gs/base/gxifast.c
gs/base/gximag3x.c
gs/base/gximage.c
gs/base/gximage3.c
gs/base/gximono.c
gs/base/gxipixel.c
gs/base/gxiscale.c
gs/base/gxmclip.c
gs/base/gxp1fill.c
gs/base/gxpath.c
gs/base/gxpath.h
gs/base/gxpcmap.c
gs/base/gxpflat.c
gs/base/gxstroke.c
gs/base/gxtype1.c
gs/base/lib.mak
gs/base/sbwbs.c
gs/base/scfd.c
gs/base/scfe.c
gs/base/sdctd.c
gs/base/sdcte.c
gs/base/sfilter2.c
gs/base/sfxfd.c
gs/base/sfxstdio.c
gs/base/shc.h
gs/base/shcgen.c
gs/base/sidscale.c
gs/base/siscale.c
gs/base/sjbig2.c
gs/base/sjbig2_luratech.c
gs/base/sjpx_luratech.c
gs/base/slzwd.c
gs/base/slzwe.c
gs/base/std.h
gs/base/stream.c
gs/contrib/pcl3/eprn/eprnparm.c
gs/contrib/pcl3/eprn/eprnrend.c
gs/contrib/pcl3/eprn/gdeveprn.c
gs/contrib/pcl3/src/gdevpcl3.c
gs/cups/gdevcups.c
gs/psi/fapiufst.c
gs/psi/ialloc.c
gs/psi/iapi.c
gs/psi/idebug.c
gs/psi/idict.c
gs/psi/idisp.c
gs/psi/idstack.c
gs/psi/igc.c
gs/psi/igcref.c
gs/psi/igcstr.c
gs/psi/igcstr.h
gs/psi/ilocate.c
gs/psi/imain.c
gs/psi/imainarg.c
gs/psi/iname.c
gs/psi/interp.c
gs/psi/ireclaim.c
gs/psi/isave.c
gs/psi/iscan.c
gs/psi/zcie.c
gs/psi/zcolor.c
gs/psi/zcontext.c
gs/psi/zdscpars.c
gs/psi/zfapi.c
gs/psi/zfcid0.c
gs/psi/zfile.c
gs/psi/zfjbig2.c
gs/psi/zfjpx.c
gs/psi/zicc.c
gs/psi/zpcolor.c
gs/psi/zvmem.c
pcl/pccid.c
pcl/pccid.h
pcl/pccsbase.c
pcl/pcfont.c
pcl/pcfsel.c
pcl/pcindxed.c
pcl/pcmacros.c
pcl/pcpage.c
pcl/pcparse.c
pcl/pcpatrn.c
pcl/pcsfont.c
pcl/pcsymbol.c
pcl/pctext.c
pcl/pctop.c
pcl/pgconfig.c
pcl/pgdraw.c
pcl/pginit.c
pcl/pglabel.c
pcl/pgmisc.c
pcl/pgparse.c
pcl/pgvector.c
pl/pjparse.c
pl/plchar.c
pl/plfont.c
pl/pllfont.c
pl/plmain.c
pl/plsrgb.c
pl/plsymbol.c
pl/plsymbol.h
pl/pluchar.c
pl/plulfont.c
pxl/pxffont.c
pxl/pxfont.c
pxl/pxgstate.c
pxl/pximage.c
pxl/pxink.c
pxl/pxparse.c
pxl/pxpthr.c
pxl/pxsessio.c
svg/svgshapes.c
svg/svgtop.c
xps/ghostxps.h
xps/xpsanalyze.c
xps/xpscff.c
xps/xpsdoc.c
xps/xpsglyphs.c
xps/xpsgradient.c
xps/xpsimage.c
xps/xpspage.c
xps/xpspath.c
xps/xpsresource.c
xps/xpstop.c
xps/xpsttf.c
xps/xpsxml.c
xps/xpszip.c
2012-09-18 05:06:55 -0700
Robin Watts <robin@peeves.(none)>
1fa1eca3be2955e1ed1f8433c18d06417ea85f4c
Perl script to drive apitest.
Runs over a given set of devices/set of test files. Run apitest on each
checking that output/stdout/stderr etc are the same for all threads.
gs/toolbin/apitest.pl
2012-09-09 07:58:30 -0700
Robin Watts <robin.watts@artifex.com>
4c74f2aa1128c39a2f75a6626f6a59d4f854dc94
Simple apitest program.
Requires pthreads. Build with "make apitest" within gs.
Invoke with a ghostscript like command line: e.g.
bin/apitest -sDEVICE=pdfwrite -o outfile.%d. examples/tiger.eps
The command line must have a -o in it, because it rewrites the
"outfile.%d." to be "outfile.%d.THREADNUM" where THREADNUM is 0 to 9
(change NUM_THREADS in psi/apitest.c to change this).
stdout and stderr are redirected to each stdout.THREADNUM and
stderr.THREADNUM respectively.
gs/base/ugcclib.mak
gs/base/unix-end.mak
gs/base/unixlink.mak
gs/psi/apitest.c
gs/psi/iapi.c
gs/psi/int.mak
2012-09-18 09:54:01 +0100
Ken Sharp <ken.sharp@artifex.com>
88077be834a9034282355e76bac1e76b66778483
Add a newline to the end of the file because Visual Studio won't correctly
compile it otherwise.
gs/base/gscms.h
2012-09-17 22:47:51 -0700
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
8d274958209aed769e9804d0704c199b8f5cb4af
Added 'relaxtimeout' option to clusterpush.pl (and to the documentation).
gs/toolbin/localcluster/clusterpush.pl
gs/toolbin/localcluster/clusterpush.txt
2012-08-12 04:32:52 -0700
Michael Vrhel <michael.vrhel@artifex.com>
82c3d60735ef1a7e702db6833c1c709edeaca1d4
Initial work towards adding in support for use of DeviceN ICC color profiles as the output profile.
gs/base/gdevpdfk.c
gs/base/gscms.h
gs/base/gsdparam.c
gs/base/gsequivc.c
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
2012-09-17 08:53:10 +0100
Ken Sharp <ken.sharp@artifex.com>
928e28bc3521f479eb997eddfd8cffcb7a042cea
pdfwrite - improve Outline handling when processing a subset of pages from PDF input
The Outline pdfmarks could get confused if a leaf node was elided due to its
Viwe or Dest page lying outside the range of pages processed from a PDF file.
This could lead to nesting going wrong and trying to create more than 32 levels
of nodes.
This commit moves the checking of the Dest and View pages from the PDF interpreter
into pdfwrite, which means pdfwrite now needs to pick up the FirstPage and
LastPage switches. If a destination page lies outside the processed range we
need to preserve it (so that the tree works out properly), but we don't write
the View or Dest property, so that we don't point to non-existent pages.
No differences epxected this is not cluster tested.
gs/Resource/Init/pdf_main.ps
gs/base/gdevpdfb.h
gs/base/gdevpdfm.c
gs/base/gdevpdfp.c
gs/base/gdevpdfx.h
2012-09-14 23:09:51 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
486dd619f9a705e4f9871974a5f0833964c1f32a
Bug 688288: Finish transparency structure cleanup
Finish the cleanup started by rev. 0025b68a2df. Remove implementation
of zdiscardtransparencygroup and zdiscardtransparencymask operators from
the code base and their invocation from PDF interpreter.
gs/Resource/Init/pdf_draw.ps
gs/Resource/Init/pdf_main.ps
gs/psi/ztrans.c
2012-09-14 11:11:46 +0100
Ken Sharp <ken.sharp@artifex.com>
4808e18412d21da480ed7a7628015941fc596a08
pdfwrite - track form depth when creating forms with BP pdfmark
Bug #693327
In order to properly set the co-ordinate space for patterns inside forms
we need to know the form's default co-ordinate space. To do this we keep
a record of the nested form depth. However this wasn't being updated when
we created a new form with the /BP pdfmark.
This commit fixes that.
gs/base/gdevpdfm.c
2012-09-14 09:59:22 +0100
Ken Sharp <ken.sharp@artifex.com>
dfcfd64d31e6e6c5e07dfcb793e0c781e180afd0
pdfwrite, ps2write, txtwrite - add support for RTL DL
Commit 062c0b5847519633e4349cf3a1f0830e529c4842 implements the HPGL/RTL
Download Character (DL) operation. This commit adds support for the new
font type defined as part of that update.
Text using the DL font should now be preserved as text using a type 3 font
in pdfwrite or ps2write, permitting search and copy operations, and should
be extracted properly by the txtwrite device.
No differences expected
gs/base/gdevpdtd.c
gs/base/gdevpdte.c
gs/base/gdevpdtf.c
gs/base/gdevpdti.c
gs/base/gdevpdts.c
gs/base/gdevpdtt.c
gs/base/gdevpdtw.c
gs/base/gdevtxtw.c
2012-09-12 10:34:22 -0700
Michael Vrhel <michael.vrhel@artifex.com>
0025b68a2df2f7c68cdcf4ebe0b3b9901c6a3698
Clean up of some of the transparency structures
The graphic state had vestiges of someones attempt to put the transparency
stack into the graphic state. This is confusing for those looking at the code.
This clean up is suggested in Bug 688288.
gs/base/gdevp14.c
gs/base/gdevpdfb.h
gs/base/gdevpdfg.c
gs/base/gdevpdft.c
gs/base/gdevpdfx.h
gs/base/gsistate.c
gs/base/gsstate.c
gs/base/gstparam.h
gs/base/gstrans.c
gs/base/gstrans.h
gs/base/gxdevcli.h
gs/base/gxistate.h
gs/base/gzstate.h
gs/psi/ztrans.c
2012-09-13 15:58:33 +0100
Ken Sharp <ken.sharp@artifex.com>
bfae0b91bbe273318284a01d67b746b365827bb6
ps2write - correct %%BoundingBox comment
The upper right y co-ordinate of the bounding box was being incorrectly
set. Also added the %%HiResBoundingBox comment. Although this is not a
DSC 3 standard comment it is widely used.
No diffrences expected.
gs/base/gdevpdfu.c
2012-09-13 14:53:15 +0100
Ken Sharp <ken.sharp@artifex.com>
44d00dd1bd34e2fb735d4682b73d880e208f92bd
pdfwrite - improve subset font prefix generation
We generate the prefix for a subset font by creating a hash from the
usage pattern of glyphs in a font. If the font was already subset, and
'compact' (ie glyphs are used in order from 1 to n), then it was possible
to generate the same prefix for two differetn subsets of the same font.
In fact this is always possible, but here we add a heuristic which uses
the MD5 hash we create for stream objects as an additional hash when
generating the subset prefix. This does not guarantee that name collisions
won't occur but should reduce the incidence still further.
No differences expected.
gs/base/gdevpdtb.c
gs/base/gdevpdtb.h
gs/base/gdevpdtd.c
gs/base/gdevpdtd.h
gs/base/gdevpdtf.c
2012-09-13 14:48:25 +0100
Ken Sharp <ken.sharp@artifex.com>
e8cfe956fe45fa949d22b10e2af665506e49fde4
pdfwrite - linearisation, cater for unused objects
If we had an object which wasn't used on any page then we would try to add
it to the page or shared hints, which we obviously shouldn't, and which could
potentially cause a seg fault.
With this change we simply don't add such objects to the hints.
gs/base/gdevpdf.c
2012-09-13 08:31:24 +0100
Ken Sharp <ken.sharp@artifex.com>
23d410c021a2b038ac5535e9eb028d6a808801ea
pdfwrite - squash compiler warnings
a couple of compiler warnings on debug print messages.
gs/base/gdevpdf.c
2012-09-12 16:27:04 +0100
Ken Sharp <ken.sharp@artifex.com>
8e1ab0bc7410ec278f489a2e0c469a23b7aa17e9
pdfwrite - fix ridiculous typo in last commit....
gs/base/gdevpdf.c
2012-09-12 16:17:41 +0100
Ken Sharp <ken.sharp@artifex.com>
119717599c8ab62b037f61b8f042a1eeae39b2f4
pdfwrite - linearisation fix stupid mistake causing infinte loop
gs/base/gdevpdf.c
2012-09-12 12:54:54 +0100
Ken Sharp <ken.sharp@artifex.com>
a010600d3d99b16251fbfa5fede57d4583978632
pdfwrite - fix another compiler warning
This warning didn't show up previously, I have no idea why.
gs/base/gdevpdf.c
2012-09-12 10:08:27 +0100
Ken Sharp <ken.sharp@artifex.com>
aa335a8a51261060aab8726fd300161d3b6f4334
pdfwrite - linearisation, tidy up compiler warnings
also remove an accidentally commited change which led to us writing
invalid xref tables.
gs/base/gdevpdf.c
2012-09-06 11:33:42 -0700
Michael Vrhel <michael.vrhel@artifex.com>
fc538635d876a99e7cfc32b4c525126093fea67a
Add in option of -dPreBandThreshold=true/false to specify thresholding prior to clist
When halftoning, it may be advantageous from a memory storage to halftone an image pre-clist.
This adds code to check if the halftoned image at device resolution is smaller than the source
image. It it is, then the image will by default be rendered before going into the clist.
This option is turned off through the use of the device parameter -dPreBandThreshold=false
gs/base/gscms.h
gs/base/gsdparam.c
gs/base/gsequivc.c
gs/base/gsicc_manage.c
gs/base/gxclimag.c
gs/base/lib.mak
2012-09-11 12:51:05 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
8c77c16ad0f4e2bd107f6fa1a024c412e889a0ba
Convert BitsPerComponent to an integer when we get a float.
gs/Resource/Init/pdf_draw.ps
2012-09-11 09:53:46 -0600
Henry Stiles <henry.stiles@artifex.com>
062c0b5847519633e4349cf3a1f0830e529c4842
HPGL/RTL DL (Download Character) implementation.
gs/base/gxftype.h
pcl/pgchar.c
pcl/pgfdata.c
pcl/pgfdata.h
pcl/pgfont.c
pcl/pgfont.h
pcl/pglabel.c
pcl/pgmand.h
pcl/pgstate.h
2012-09-07 13:13:30 -0600
Henry Stiles <henry.stiles@artifex.com>
423501bbe9be110622edf4ef001edbd289136ee0
A silly typo in an accessor function.
Fortunately, this function is mainly used only for debugging purposes.
pcl/pccid.c
2012-09-12 14:39:10 +0100
Ken Sharp <ken.sharp@artifex.com>
1245d1ad8e4400b6689132d32ee174041eaa60e4
pdfwrite - sanitise linearisation file accesses to be 64-bit
Change all the fteel/fseel calls to use gp_***_64 so that we don't trip
over a maximum 4Gb.
gs/base/gdevpdf.c
2012-09-10 16:14:15 -0700
Michael Vrhel <michael.vrhel@artifex.com>
5a1438b9f9d27be7e423300f563833a9d0d03ee4
Fix for an indeterminism in the fast thresholding code
A byte of nonsense data was getting included with the image data to which we were thresholding
in very special resolution cases.
gs/base/gxicolor.c
gs/base/gximono.c
2012-09-10 21:48:00 +0100
unknown <ken@.(none)>
3904374b1a567ecbad3d496fc0cdac354225224a
pdfwrite - linearisation, memory cleanup
Free all the memory used in the course of producing a linearised PDF file.
No differences expected, not tested by cluster
gs/base/gdevpdf.c
2012-09-09 18:43:52 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
3a56f4eb5a9f15795725374b297edab0fb8ebc5d
Bug 693045: Correctly restore PS stack when PDF stream run aborts.
gs/Resource/Init/pdf_draw.ps
2012-09-09 11:33:53 -0700
Tor Andersson <tor.andersson@artifex.com>
7de89cff326888d9129b0ae6e4d003fd538b8321
Merge 'gs/jbig2dec/' from jbig2dec.git using git-subtree
git-subtree-dir: gs/jbig2dec
git-subtree-mainline: faac14fb1532533a811649cef2b68cf95ec50fdf
git-subtree-split: 7a82fc0abd135e08875ec4941ba43e832bc1b7f3
gs/jbig2dec/.cvsignore
gs/jbig2dec/.gitignore
2012-08-29 16:19:55 +0100
Chris Liddell <chris.liddell@artifex.com>
7a82fc0abd135e08875ec4941ba43e832bc1b7f3
Remove dependence on jbig2dec auto-generated files
Also provide a workaround for LCMS2 on systems without sqrtf().
No cluster differences
os_types.h
2012-08-24 15:19:29 +0100
Chris Liddell <chris.liddell@artifex.com>
3a424b8fa0e30b76b49b9c2f2fe167e5dc653073
Update the libpng check to a non-deprecated API call.
configure.ac
2012-08-23 15:09:41 +0100
Robin Watts <robin.watts@artifex.com>
07abb8a54e2d910e3b5a73341b7912948e0d0b61
Bug 693298; Memento tweak for memset compile problem.
Don't define memset if someone has already #defined it. Thanks to
William Bader.
memento.c
2012-08-23 15:03:03 +0100
Robin Watts <robin.watts@artifex.com>
5e5cff776abeb065e2c4ef5092256486fc3a2d35
Revert "Move memento include from jbig2.h to jbig2_priv.h"
This reverts commit 91744cfb2fe5d8b5b66d31077b4b22c6b3c905a2.
This broke the memento build of gs due to the #defining of
free/realloc. For now, we'll have to live with the include
in the public header.
jbig2.h
jbig2_priv.h
2012-08-23 13:34:43 +0100
Robin Watts <robin.watts@artifex.com>
91744cfb2fe5d8b5b66d31077b4b22c6b3c905a2
Move memento include from jbig2.h to jbig2_priv.h
There is no need to expose memento outside of jbig2. Thanks to
zeniko for the discussion in bug 693284 that lead to this.
jbig2.h
jbig2_priv.h
2012-08-13 17:03:22 +0100
Chris Liddell <chris.liddell@artifex.com>
13cc9dc158f12c3f446579655e942e44ac158634
Update copyright headers.
config_win32.h
jbig2.c
jbig2.h
jbig2_arith.c
jbig2_arith.h
jbig2_arith_iaid.c
jbig2_arith_iaid.h
jbig2_arith_int.c
jbig2_arith_int.h
jbig2_generic.c
jbig2_generic.h
jbig2_halftone.c
jbig2_halftone.h
jbig2_huffman.c
jbig2_huffman.h
jbig2_hufftab.h
jbig2_image.c
jbig2_image.h
jbig2_image_pbm.c
jbig2_image_png.c
jbig2_metadata.c
jbig2_metadata.h
jbig2_mmr.c
jbig2_mmr.h
jbig2_page.c
jbig2_priv.h
jbig2_refinement.c
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_symbol_dict.h
jbig2_text.c
jbig2_text.h
jbig2dec.c
memcmp.c
memento.c
memento.h
os_types.h
pbm2png.c
2012-08-06 17:13:39 +0200
Sebastian Rasmussen <sebras@gmail.com>
48fd721f3fb53b3fd10456e508b06d808ee9e647
Bug 693256: Free GR_/GB_stats......
....as long as retaining them is yet to be implemented
jbig2_symbol_dict.c
2012-08-06 15:24:43 +0100
Chris Liddell <chris.liddell@artifex.com>
28cc0cf46dc9455545631e54070edc2a8adc15e0
Remove files for unsupported build tools.
Jamfile
SConstruct
2012-06-08 15:51:43 +0100
Robin Watts <Robin.Watts@artifex.com>
536620333aa7b752506626dce651ede08e2cdbc9
Enable Memento to be used with jbig2dec
./configure or ./autogen.sh as usual, then
"make XCFLAGS=-DMEMENTO".
This involves duplicating memento within jbig2dec. We disable the GS
specific build hacks, and add just one more; if GSBUILD is defined
then jbig2 uses the version of memento from base, rather than the version
of memento from inside jbig2. This avoids any potential problems with
version skew.
Makefile.am
jbig2.h
memento.c
memento.h
2012-07-03 22:52:19 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
e37802e46e06e7c3d9f01d626b244771bcad76a1
Bug 693050 : Fix compiler warnings
jbig2_halftone.c
2012-07-02 22:49:17 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
1b311c624ce08c9c702ba4e88e2b0d787830334d
Bug 693050 : Fix valgrind error in 0CF9 folder
jbig2_refinement.c
2012-07-02 21:53:20 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
50d99ce72e1722427415ac745445dc1ca7e67c83
Bug 693050 : Fix error handling in 0717 folder
jbig2_halftone.c
jbig2_mmr.c
2012-06-23 23:57:19 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
576c7d4162890ecee3b7322fd5665a8ae3c2d6d7
Bug 693050 : Fix error handling in dcbd folder
jbig2_page.c
2012-06-23 23:00:47 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
7feea483a0354e13c42ffa239b9b0c2d00f08428
Bug 693050 : Fix error handling in 9557 folder
jbig2_symbol_dict.c
2012-06-23 22:14:43 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
6f9608495e1f4b1fcac518378a44e8704d943dd7
Bug 693050 : Fix memory leak in 4faa folder
jbig2_symbol_dict.c
2012-06-23 21:12:19 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
9df6dfdae0f2ffba6f1335a8a6c5e2a2274e0d84
Bug 693050 : Fix error handling in 2908 folder
jbig2_halftone.c
2012-06-22 22:25:44 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
8033c8336691c0b833cde32d47f4bbf8d7f4d4f2
Bug 693050 : Fix memory leak in 146f folder
jbig2_mmr.c
jbig2_symbol_dict.c
2012-06-22 16:56:39 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
a8ca8ed551e2897c422d0b6d46f1bd8ce30311b9
Bug 693050 : Fix minor typos and memory leak in 040d folder
jbig2_arith.c
jbig2_image.c
jbig2_symbol_dict.c
jbig2_text.c
2012-06-20 18:18:02 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
76c000e507efff47e6f625bddef0a93323a7cc9d
Bug 690723 : Prevent over writing unallocated memory when parsing an image
jbig2_mmr.c
2012-06-15 19:22:52 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
9cf138eae6a1ac6554ecc3414224fecb0ba2ec2b
Bug 693050 : Fixes CERT reported issues labelled DestAv
jbig2.c
jbig2_priv.h
jbig2_symbol_dict.c
jbig2_symbol_dict.h
2012-06-14 17:06:16 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
1c933c8c1d2beb7b6c6747c29fec58c6d6b8a02c
Bug 693050 : Fixes CERT reported issues labelled SourceAvNearNull
jbig2_image.c
jbig2_symbol_dict.c
jbig2_text.c
2012-06-06 17:16:53 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
3eff8ef1daf4de5232cb432fd685f6befdac1906
Bug 693050 : Fixes CERT reported issue labelled HeapError
jbig2.c
jbig2_image.c
jbig2_metadata.c
jbig2_priv.h
jbig2_symbol_dict.c
jbig2_text.c
2012-06-05 16:39:39 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
08bc90379a7bd5d8eead94ae872f6fc6cc93a6fb
Bug 693025 : Correct memory leaks reported by Zeniko
jbig2_symbol_dict.c
2012-05-31 17:51:51 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
017f11f142bdea0965f453d64a31ef02b3271cba
Bug 693025: Correct typos reported by Zeniko
jbig2_huffman.c
jbig2_symbol_dict.c
2012-05-30 17:42:29 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
90f453a7ea397418ed33966e6b94650efd99284f
Bug 693050 : Fixes CERT reported issue labelled DestAvNearNull
jbig2_image.c
jbig2_page.c
jbig2_symbol_dict.c
jbig2_text.c
2012-05-27 23:35:06 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
26565665591e250cfbda9bc6d8834f8a2922d206
Bug 693050 : Fixes CERT reported issue labelled BranchAvNearNull
jbig2_symbol_dict.c
2012-05-27 22:47:02 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
bb27f271e4b508d63ca4f572b733e36977f0cbc4
Bug 693050 : Fixes CERT reported issue labelled BlockMoveAv
jbig2_symbol_dict.c
2012-05-27 21:43:27 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
dbf31907db5654184b9e7bca5d700f72deccc9fa
Bug 693050 : Fixes CERT reported issue labelled SegFaultOnPc
jbig2_generic.c
jbig2_image.c
2012-05-14 18:08:00 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
4886f1c69e712a730399da308bfb1b731a652cbb
Bug 693025: Updated patch from Zeniko to fix various crashes and leaks
jbig2_halftone.c
jbig2_huffman.c
jbig2_image.c
jbig2_refinement.c
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_text.c
2012-02-09 00:00:31 +0000
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
a27094d1833bf10c9ab3b612182aa23f4eb3044f
Bug 690974: This patch from Gorac implements the generic refinement region decoding procedure for when TPGRON is TRUE.
jbig2_refinement.c
2012-02-08 23:13:13 +0000
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
a43f448139d0a72688c9191adab0718b9ef43ec5
Bug 690870: This patch prevents the image compositing occurring if the src is outside of the clip region.
jbig2_image.c
2012-01-25 19:21:08 +0000
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
33e85ea71051ad64ca4bb8b874dcf8bed9b66e62
Bug 691254: This patch prevents the seg fault in Jbig2_042_14.pdf.
jbig2_symbol_dict.c
jbig2_text.c
2012-01-24 13:20:11 +0000
Robin Watts <robin.watts@artifex.com>
1d120cab65c74fe97e4e4512f6a034f0fba0cac5
Tweak jbig2dec to cope better with NULLs.
Fix various destructors in jbig2dec to cope with being called
with image = NULL. This cures a problem in mupdf where it SEGVs
when called on "1239 - skip invalid content streams.pdf" from the
sumatra test set.
jbig2_image.c
2012-01-13 10:40:50 -0700
Henry Stiles <henry.stiles@artifex.com>
b1bfe4ae823054ac2dc94af15246fa489304cf80
Bug 691230, basic jbig2 halftone image support.
Thanks to George Gottleuber for this work.
jbig2_halftone.c
jbig2_halftone.h
jbig2_mmr.c
jbig2_mmr.h
jbig2_segment.c
2012-01-10 22:24:35 +0000
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
a42adfaa785b05670af63f8767c3ff55636c6686
Bug 691267: Check all realloc error paths.
jbig2.c
jbig2_huffman.c
jbig2_page.c
jbig2_symbol_dict.c
jbig2_text.c
2011-11-29 20:33:16 +0000
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
1fddee262691d23dc283965c0dbe0e0de2c85bf9
Bug 691267: jbig2dec needs to check malloc() return values
This fix checks all return paths to ensure that the appropriate error
is returned on failure from any malloc() call within jbig2dec.
jbig2.c
jbig2_arith.c
jbig2_arith_iaid.c
jbig2_arith_int.c
jbig2_generic.c
jbig2_halftone.c
jbig2_huffman.c
jbig2_image.c
jbig2_metadata.c
jbig2_page.c
jbig2_refinement.c
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_text.c
2011-11-20 10:29:47 +0000
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
f680c2d09d76172f7adee998608a8df0b8d2828c
Fix 691958: check for an image before marking a page complete. Also update return code to handle errors correctly.
jbig2_page.c
2011-06-01 16:22:40 +0100
Robin Watts <Robin.Watts@artifex.com>
609901fe1d5496caeae2289ee20d7be965e413b0
Tweak jbig2dec os_types.h for android mupdf build.
If HAVE_STDINT_H is defined we are supposed to be getting our definitions
from stdint.h. Instead the header defines them anyway. Fix this. This showed
up when building MuPDF for Android.
os_types.h
2011-05-11 15:39:06 -0600
Henry Stiles <henry.stiles@artifex.com>
6e49f7e6d0c680ad0962cf7c620d67aa943c48a7
Fixes bug #689870 - add proper big endian number accessors.
Previously only an unsigned accessor was provided and it was being
used to read both signed and unsigned quantities.
jbig2.c
jbig2_halftone.c
jbig2_page.c
jbig2_priv.h
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_text.c
2011-05-11 15:18:11 -0600
Henry Stiles <henry.stiles@artifex.com>
ae98887d657761ac4d15881da559bb9ae24f26e7
Fixes 690889, potential null dereference.
Prevent a theoretical (no test file) null dereference. There are
several of these cases identified by by static analysis. We believe
the authors intent was to pass the word stream if the arithmetic state
was not set, as in the other call of the same function.
jbig2_symbol_dict.c
2010-08-11 16:17:45 +0000
Henry Stiles <henry.stiles@artifex.com>
ea866acb21033fd3cfe345352852ea1202ce2e32
Fix bug # 691532. Do not attempt to clone an image that does not exist, each completed page should have an associated image. We'd like to handle this corrupt file with a better fix, for example the absence of an end page segement is clearly a problem with respect to the specification, but Adobe and Artifex have chosen to support other "off spec" streams so more subtle and less obvious error checking is needed. Thanks to Tim Waugh for analysis on this problem.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11622 a1074d23-0009-0410-80fe-cf8c14f379e6
jbig2_page.c
2010-07-30 11:03:27 +0000
Till Kamppeter <till.kamppeter@gmail.com>
ca94f2ac3ab6cdbb6a36a72cae385afb4f25d4e8
On Tru64 the integer types are in inttypes.h and not in stdint.h as in VMS
Bug 691463, required for jbig2dec.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11563 a1074d23-0009-0410-80fe-cf8c14f379e6
os_types.h
2010-07-20 09:46:34 +0000
masaki <masaki@a1074d23-0009-0410-80fe-cf8c14f379e6>
c29b63557cb191f2b9371a06a73a11bc4b8f5544
Add support for user defined huffman table.
This code adds support for segment type 53 segments, which supplies
inline huffman code table. Bug 689853.
Many thanks to Justin Greer.
git-svn-id: svn+ssh://svn.ghostscript.com/svn/ghostscript/trunk/gs/jbig2dec@11526 a1074d23-0009-0410-80fe-cf8c14f379e6
(cherry picked from commit e51f8e400e4502d7a6d60ee31890a195f55d1b64)
Signed-off-by: Masaki Ushizaka <masaki@ghostscript.com>
jbig2_huffman.c
jbig2_huffman.h
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_text.c
2010-07-20 08:01:29 +0000
Masaki Ushizaka <masaki@ghostscript.com>
d26c7e4f39f76fe70cc61d6dc14d05a042a9be48
Fix jbig2_image_set_pixel function prototype
The declaration of jbig2_image_set_pixel was differenct between
jbig2_image.h and jbig2_image.c (int value vs bool value). And
prevented compiling it by MSVC comiler in C++ mode.
This patch fixes it. Bug #691461.
jbig2_image.h
jbig2_image_pbm.c
jbig2dec.c
2010-07-16 09:13:41 +0000
Masaki Ushizaka <masaki@ghostscript.com>
c5d61c78c0de785b74b86d4e5298e3cc7b9e2b68
A little fix to allocating memory size
jbig2_huffman.c
2010-07-15 00:49:09 +0200
Tor Andersson <tor.andersson@gmail.com>
e12fa07da845515911db8be2f7cfa8ef551061ba
Use the jbig2_new and jbig2_renew macros instead of calling
jbig2_alloc and jbig2_realloc directly. Also adds a few typecasts
and #defines required to compile the source as C++.
jbig2.c
jbig2_arith.c
jbig2_arith_iaid.c
jbig2_generic.c
jbig2_halftone.c
jbig2_huffman.c
jbig2_image.c
jbig2_metadata.c
jbig2_page.c
jbig2_priv.h
jbig2_refinement.c
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_text.c
jbig2dec.c
2010-07-15 00:42:38 +0200
Tor Andersson <tor.andersson@gmail.com>
31dd7ef66dbd1c34df08365aa3c36e6391617f37
Update VERSION define in config_win32.h
config_win32.h
2010-07-15 00:41:46 +0200
Tor Andersson <tor.andersson@gmail.com>
941b73315a166fe07e0f1a1b81171477285280f7
Add Makefile.unix -- a simple makefile for unix-like systems.
Makefile.unix
2010-07-15 00:35:58 +0200
Tor Andersson <tor.andersson@gmail.com>
f6066822041bbffd7169fd4bfc19c48daae8f155
Fix memory leak of the word stream struct.
jbig2_text.c
2010-06-22 06:12:54 +0000
masaki <masaki@a1074d23-0009-0410-80fe-cf8c14f379e6>
ad707fba426702631466973e6e80c48d16398b88
Fix for bug 689836 and 691248.
Bug 689836 - Huffman tables with only positive values are decoded incorrectly
Bug 691248 - jbig2dec doesn't handle 042_11 (Huffman Symbol Region)
This patch fixes mulfunctions seen on standard huffman table K, L, M and N.
A difference will be seen on tests_private/comparefiles/Bug690360.pdf.
This file was affected by table K mulfunction and this is a improvement.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs/jbig2dec/@11415 a1074d23-0009-0410-80fe-cf8c14f379e6
(cherry picked from commit d59bf48fcaefb0cb531d90cb748c173198a10f54)
Signed-off-by: Masaki Ushizaka <masaki@ghostscript.com>
jbig2_hufftab.h
2010-06-22 05:59:23 +0000
masaki <masaki@a1074d23-0009-0410-80fe-cf8c14f379e6>
606ce11fc930769a5bdf920a5902c158be8b3d5f
Added test code for every line of each standard huffman tables.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs/jbig2dec/@11413 a1074d23-0009-0410-80fe-cf8c14f379e6
(cherry picked from commit aae02dab94f439a69744f4686c81d5633c8816a6)
Signed-off-by: Masaki Ushizaka <masaki@ghostscript.com>
jbig2_huffman.c
2010-05-15 06:27:41 +0000
hintak <hintak@a1074d23-0009-0410-80fe-cf8c14f379e6>
a54c8df662d4ab88afef6fcaa6c324030224d77d
try to make 'make -f base/unix-gcc.mak so' work
When not run through ./configure, HAVE_CONFIG_H isn't defined and
the jbig2 codes drop through to generic unknown unix platform - so we put some
generic unix values here.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs/jbig2dec/@11254 a1074d23-0009-0410-80fe-cf8c14f379e6
(cherry picked from commit 27d16d20f97555d2874d9f04b374053ccd0731b7)
Signed-off-by: Masaki Ushizaka <masaki@ghostscript.com>
os_types.h
2010-05-14 04:18:42 +0000
hintak <hintak@a1074d23-0009-0410-80fe-cf8c14f379e6>
6ef4989dcc7b51c9e8565258aa2a8a63e43d6b35
uint8_t type located in usual header on HP-UX needed for jbig2dec ; bug 688184
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs/jbig2dec/@11238 a1074d23-0009-0410-80fe-cf8c14f379e6
(cherry picked from commit 15d65a1fded828b25ca20886cd3ca8bb7522a96f)
Signed-off-by: Masaki Ushizaka <masaki@ghostscript.com>
os_types.h
2010-04-21 07:20:14 +0000
masaki <masaki@a1074d23-0009-0410-80fe-cf8c14f379e6>
f51764fe4b4b31733ac1dc5c3d103106b9594c8d
A fix for a regression introduced by r11074 (bug 690094).
As I changed image number to be incremented when 'exflag' is false,
the problem of 'exrunlength' when SDHUFF == 1 was unveiled.
This fixes it.
JBIG2 images with SDHUFF == 1 should have been having trouble
between r11074 and this revision. No other difference expected.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs/jbig2dec/@11093 a1074d23-0009-0410-80fe-cf8c14f379e6
(cherry picked from commit 44b9be2b31622c91b8cb3e4acc6160269630d838)
Signed-off-by: Masaki Ushizaka <masaki@ghostscript.com>
jbig2_symbol_dict.c
2010-04-15 09:53:33 +0000
masaki <masaki@a1074d23-0009-0410-80fe-cf8c14f379e6>
342ea4778d0ab98d8aabbaf62c2866afb804359d
A fix for 690094, "missing letters replaced by little vertical lines".
This problem was in jbig2dec function jbig2_decode_symbol_dict().
The image number was not incremented correctly when it built
symbol dictionary.
No difference expected, other than JBIG2 pdf files suffered by
this problem.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs/jbig2dec/@11074 a1074d23-0009-0410-80fe-cf8c14f379e6
(cherry picked from commit 75a5fa486571d0a9696976c290960f1bfdc7191b)
Signed-off-by: Masaki Ushizaka <masaki@ghostscript.com>
jbig2_symbol_dict.c
2010-04-14 02:31:58 +0000
masaki <masaki@a1074d23-0009-0410-80fe-cf8c14f379e6>
eb629c8ff915730ff737ca6e4d564cc88ddafb22
Fixed jbig2dec command getopt() parameter for -v option.
Not used by ghostscript itself but worth for standalone debugging.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs/jbig2dec/@11067 a1074d23-0009-0410-80fe-cf8c14f379e6
(cherry picked from commit c72d87c7d7b32f0d33d5e5b9e72aca701dd80e01)
Signed-off-by: Masaki Ushizaka <masaki@ghostscript.com>
jbig2dec.c
2010-04-14 02:26:16 +0000
masaki <masaki@a1074d23-0009-0410-80fe-cf8c14f379e6>
b1ddf3c7a00c9f216f9a0bbd1285376c1e121dec
Fixed an indent. No influence on code.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs/jbig2dec/@11066 a1074d23-0009-0410-80fe-cf8c14f379e6
(cherry picked from commit a6717367dee7a863788d74522e5ace5b548d80e1)
Signed-off-by: Masaki Ushizaka <masaki@ghostscript.com>
jbig2_symbol_dict.c
2010-04-13 09:50:08 +0000
masaki <masaki@a1074d23-0009-0410-80fe-cf8c14f379e6>
f901b18ac90d291b98a1463e92f8d26c6f320c3e
A fix for 691081, 691206, and part of 690094.
From r9769, jbig2dec wasn't capable of decoding some JBIG2 files
and throwing a error "jbig2dec FATAL ERROR runlength too large in
export symbol table (XXX > XX - XX) (segment 0xXX)".
This was caused by accidentaly bound checking export symbol table
size with number of non-export symbol. This fixes it.
No differences expected, other than JBIG2 files suffered from this
problem.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs/jbig2dec/@11057 a1074d23-0009-0410-80fe-cf8c14f379e6
(cherry picked from commit e2c24fec806a2a84427ecfff9a9bbd078ca460bd)
Signed-off-by: Masaki Ushizaka <masaki@ghostscript.com>
jbig2_symbol_dict.c
2010-02-02 11:09:54 -0800
Ralph Giles <giles@ghostscript.com>
58b513e3ec60feac13ea429c4aff12ea8a8de91d
Bump versioning for the 0.11 release.
The libtool shared library versioning starts with this release.
CHANGES
configure.ac
jbig2dec-0.11/CHANGES
jbig2dec.1
2010-02-02 11:03:37 -0800
Ralph Giles <giles@ghostscript.com>
fa1bd62f45b780d5c8cbadaf66a25b03688590c5
The inclusion of JBIG2 in PDF 1.4 is no longer new news.
README
2010-02-02 11:03:05 -0800
Ralph Giles <giles@ghostscript.com>
da42a22f05eb8af12a797c12bee3e5c121fe2842
Correct a whitespace formatting issue in the usage text.
jbig2dec.c
2010-02-02 11:01:42 -0800
Ralph Giles <giles@ghostscript.com>
dd0c94f5c32a01ff8b7d502071495ba475fe8f8a
Fix a manpage grammar error.
jbig2dec.1
2010-02-02 11:01:10 -0800
Ralph Giles <giles@ghostscript.com>
373b4606ef4b573e855b6be78fabd2496112da3b
Update change log for the 0.11 release.
CHANGES
jbig2dec-0.11/CHANGES
2009-11-23 16:49:06 -0800
Ralph Giles <giles@cirrus.local>
a841c2481b35b7bf1bf5970a11ac750ff3a3ee2c
Implement generic region decode with typical prediction.
Patch from Gorac. Ghostscript bugs 690791 and 690913.
jbig2_generic.c
2009-11-20 09:46:39 -0800
Ralph Giles <giles@ghostscript.com>
ad742b847dbb39b1376664d77fae0f8b31ae65f0
Skip generic regions using TPGDON and issue a warning.
We don't yet implement this, and discarding the data is better than
proceeding with the incorrect decoding proceedures, which generally
just produce noise. Ghostscript bug 690791.
jbig2_generic.c
2009-11-16 11:17:51 -0800
Ralph Giles <giles@ghostscript.com>
fd7cb7fa6152573ab11ebfbce45582fa1652f117
Correct bitmap offsets when setting transposed text.
Previously, the code was switching width and height, not just S and T
coordinates. We now properly decode the 042_19.jb2 test file.
Thanks to Drugo Pedrouvene for pointing out the issue. Bug 690923.
jbig2_text.c
2009-10-29 22:00:35 -0700
Ralph Giles <giles@ghostscript.com>
dcf0bd8c4288ff30d152b3741bc78c9fa055e49c
Make -v print only info-level messages by default.
Previously -v set the verbosity level to 9. Anything 3 or greater
prints all debug messages, which can be quite overwhelming when
individual decode elements are traced. Now the default with -v is 2.
Run jbig2dec --verbose=3 to recover the old behaviour.
jbig2dec.1
jbig2dec.c
2009-10-29 21:59:47 -0700
Ralph Giles <giles@ghostscript.com>
c1fddcf71a0cd81c02f7b52b757ea20c05f4292a
Improve grammar in the usage message.
jbig2dec.c
2009-10-29 21:49:49 -0700
Ralph Giles <giles@ghostscript.com>
cf7917e8948a9296cd6bfdb0a1615287b88b769f
Fix comment formatting.
jbig2dec.c
2009-10-29 21:19:54 -0700
Ralph Giles <giles@ghostscript.com>
7018021f8232f62ff9c6822092405dd0467abb09
Update the COPYING file to the text of the GPLv3.
The jbig2dec package is still licensed GPLv2 or later, but we want
to encourage use under the GPLv3.
COPYING
2009-10-29 16:52:50 -0700
Ralph Giles <giles@ghostscript.com>
f8e18fdeb01cdbd9530804077beed6cac38ef077
Have the scons build automatically determine the version string.
SConstruct tries to call 'git describe --tags' which produces a version
string based on the most recent tag, with the number of commits and
current commit hash appended if HEAD isn't a tagged revision.
If that command fails (i.e. building from a release tarball or another
version control system) it attempts to read the CHANGES file and uses
the first version number there.
SConstruct
2009-10-29 16:29:04 -0700
Ralph Giles <giles@ghostscript.com>
f34a521eba46e811287fb4f35519fc32f0b6d4e8
Update the version number in the scons build description.
SConstruct
2009-10-29 16:04:42 -0700
Ralph Giles <giles@ghostscript.com>
077b6518dffc75dc74fc5e6990c8529f44cb47a0
Remove the include of ~/.jamrules.
This was part of Tor's original commit, and was intended to set some
common default options among projects. However, it generates a warning
when the file is not available, and we now set thing like optimization
level and warning flags directly.
Jamfile
2009-10-29 15:59:57 -0700
Ralph Giles <giles@ghostscript.com>
bba07df1f607891f15bec1f1ace673f23d8360e2
The jam build no longer requires a config.h.
Instead it sets the needed defines itself.
Jamfile
2009-10-28 13:45:00 -0700
Ralph Giles <giles@ghostscript.com>
fe50e6202700ad508c7f91e04330a962970ead5f
Remove _parse_ from the segment decode routines.
Our use wasn't consistent here; some decoders were jbig2_foo() and
others were jbig2_parse_bar(). Prefer the shorter names and keep
_parse_ only for the header and dispatch routines which don't themselves
decode the segment bodies.
jbig2_metadata.c
jbig2_metadata.h
jbig2_page.c
jbig2_priv.h
jbig2_segment.c
jbig2_text.c
2009-10-28 12:22:40 -0700
Ralph Giles <giles@ghostscript.com>
d2849e9e31de7cb3a921f9c69a9a4ecfd06feb02
Remove an unused variable.
jbig2_halftone.c
2009-10-28 12:19:57 -0700
Ralph Giles <giles@ghostscript.com>
b108cbcfc9a2c7d10e70bd2bdc3a3a938ea3adb7
Add prototypes for the publicly referenced halftone functions.
Corrects a missing prototype warning.
jbig2_priv.h
2009-10-28 12:07:19 -0700
Ralph Giles <giles@ghostscript.com>
47bd82353ae27eb2c53e7253c39b70ef2e147ab2
Build optimized with debugging symbols and all warnings under jam.
Previously we used the default rules which are just 'cc'. This aligns
the behaviour with the other builds and lets of take advantage of jam's
cleaner output to see warnings more easily.
Jamfile
2009-07-24 16:33:01 -0700
Ralph Giles <giles@ghostscript.com>
20e5cd8ca494d3e715bcc38701cfd5923225415d
Fix a typo in a debug statement.
jbig2_image.c
2009-07-16 01:52:01 -0700
Ralph Giles <giles@ghostscript.com>
b76f84cbe3982b71357c727c208401d6645ecad3
Clone and release the page images returned to the client.
jbig2_page.c
2009-07-16 01:32:29 -0700
Ralph Giles <giles@ghostscript.com>
70a3ad1514050d5babcc18fb1bd327db1cfbfdc8
Remove a specious comment.
Originally I thought we might need to access pages in random order,
but I don't think this is necessary.
jbig2_page.c
2009-07-16 01:56:34 -0700
Ralph Giles <giles@ghostscript.com>
56d7948b4d9f3825a20f0cb6cc26a0a3b6ae34f1
Check more return codes from jbig2_image_new().
There are still a number of unchecked instances in jbig2_symbol_dict.
jbig2_generic.c
jbig2_halftone.c
jbig2_page.c
jbig2_refinement.c
jbig2_text.c
2009-07-15 22:28:42 -0700
Ralph Giles <giles@snow.ghostscript.com>
19dabb532ae37749fdb6c06447e2dfcf0e216e9b
Check for NULL before freeing metadata or symbol segment results.
This protects against segfault during early termination.
jbig2_segment.c
2009-07-15 22:28:03 -0700
Ralph Giles <giles@ghostscript.com>
2e9e3314b4264e547ce9372b4bcd2f20c50b5357
Document that jbig2_data_in() can return -1 on fatal errors.
jbig2.c
2009-07-15 22:11:21 -0700
Ralph Giles <giles@ghostscript.com>
f96255c8451e2d07406e2bd5f513f1d0aec34f29
Check the return code from jbig2_data_in().
This avoids printing multiple 'Not a JBIG2 file header' errors on
corrupt or invalid files.
jbig2dec.c
2009-06-17 13:01:40 -0700
Ralph Giles <giles@ghostscript.com>
1fde432da43cbe5bc34f3a95ee5d2f2466090e52
Add the jbig2dec manpage to the automake install and dist targets.
Makefile.am
2009-06-17 12:29:38 -0700
Ralph Giles <giles@ghostscript.com>
ff59dbf7c7302a1a55768e0cdcbcdd4661b0b77c
Manpage updates.
List the file.jbig2 and the embedded global+page stream pair
invocations separately, since they are exclusive.
Give a more complete description and elaborate on some of the options.
Use dot-macros instead of backslash commands for most of the formatting.
This isn't any less confusing because of the need to use double quotes
to enforce whitespace when alternating styles, but I still find it
more reasonable.
Fix a couple of spelling errors.
jbig2dec.1
2009-06-17 12:26:10 -0700
Ralph Giles <giles@ghostscript.com>
e11f98fa775d99a531f18f5f4bffc754a205ce8f
Add a manpage for the jbig2dec example client.
Contributed by Sebastian Rassmussen.
jbig2dec.1
2009-06-12 17:16:00 -0700
Ralph Giles <giles@ghostscript.com>
e20020b1bd4fae157236fc9716cafa17481e3171
Build a shared library with GNU libtool.
Previously we used autoconf and automake, but just build a static
library. This commit checks for libtoolize in autogen.sh and adds
support for libtool to the configure.an and Makefile.am scripts.
We use this to build both static and dynamic versions of the jbig2dec
library, including soname versioning for the later.
Based on a patch by Sebastian Rasmussen.
Makefile.am
autogen.sh
configure.ac
2009-05-29 07:25:13 -0700
Ralph Giles <giles@ghostscript.com>
5ae432288a105122d92f490d2d9cf212dae8aab4
Initialize the pattern dict data offset to zero before first use.
Warning flagged by Coverity.
jbig2_halftone.c
2009-05-28 23:20:21 -0700
Ralph Giles <giles@ghostscript.com>
37e002db7ffce8121bd060c86fd9f0609879e99b
Bump version after the 0.10 release.
CHANGES
configure.ac
2009-05-28 21:49:29 -0700
Ralph Giles <giles@ghostscript.com>
0d287050828a5878bb61e6971220d25674bae77e
Set release date and package version for the 0.10 release.
CHANGES
configure.ac
2009-05-28 21:11:06 -0700
Ralph Giles <giles@ghostscript.com>
29d7c56e2aea052d51f33820a3f68f4e4a636c08
Add some missing files to the automake build for distribution.
Makefile.am
2009-05-28 20:39:36 -0700
Ralph Giles <giles@ghostscript.com>
95e63680521ba68e3c21ca1e2bf9fee3a2c1958d
Update changes with major points since the last release.
CHANGES
2009-04-01 15:52:17 -0700
Ralph Giles <giles@ghostscript.com>
4e62b3968d0d897bb9a24ba7f75504f476e33ba6
Bounds check exported symbol run-lengths. CVE-2009-0196.
The final symbol dictionary is built from a combination of symbols
from referenced dictionaries and new symbols coded in the current
segment. Because the symbols can be composed and refined, not all
coded symbols are necessarily exported.
The list of symbols to export from those constructed by the decoding
process is coded as a series of on/off run-lengths. Previously we
accepted the value read as the run-length, even though this could
result in writing off the end of the exported symbol array. This
commit checks the read value against the number of elements remaining
in the export array and throws a fatal error if there is an overflow.
Thanks for Alin Rad Pop of Secunia Research for pointing out the issue.
jbig2_symbol_dict.c
2009-05-22 23:21:48 +0200
Ralph Giles <giles@ghostscript.com>
86e0b052dc32de4e0f9a3cbc7dbf27211a2b3182
Fix the jam build to work without config.h.
Previously, the Jamfile assumed a config.h had be created, usually by
running the configure script, but possibly also created manually. This
is extra work for those wanting a quick build. Therefore we pass some
defines on the compiler command line instead.
These are also likely to be wrong: we assume libpng is available on
all non-windows platforms. It's an incremental improvement, however,
and actual build-time configuration based on detected resources is
difficult in Jam.
Jamfile
2009-05-22 23:14:33 +0200
Ralph Giles <giles@ghostscript.com>
8e6b447d8bddabc0acd5834fa493110b1bb3e9c7
Provide fallbacks in jbig2dec.c if PACKAGE and VERSION aren't defined.
Normally, the configure script defines PACKAGE and VERSION, based on
its initializers. However, config.h is in fact optional, so we shouldn't
assume these are set. Since we use these to implement the command
'jbig2dec --version', we provide fallbacks in the source file to
simplify compiling outside the autotools build.
jbig2dec.c
2009-04-16 00:08:49 -0700
Ralph Giles <giles@ghostscript.com>
3c7c73d634dda170455d3cd7a1ef08a038e63cbb
Add a missing include in the halftone code.
jbig2_decode_pattern_dict() calls jbig2_decode_generic_mmr() but
wasn't including jbig2_mmr.h which declares that function.
Fixes a compiler warning on gcc and clang.
jbig2_halftone.c
2009-04-15 19:26:39 -0700
Ralph Giles <giles@ghostscript.com>
d1a03359b9f267714f60662dc021eef4054ae202
Check the return value of sscanf when parsing pbm dimensions.
This is a follow-on to the previous commit. It shouldn't be
possible to reach the sscanf with less than one digit in the
parse buffer, but we abort anyway in case sscanf can't find
anything. If the code could proceed from that point with an
uninitialized value in the dim array the call to jbig2_image_new()
could request excessive resources.
jbig2_image_pbm.c
2009-04-15 18:41:10 -0700
Ralph Giles <giles@ghostscript.com>
83c67854e5e0fd06045bd5e8fc53f98e1ddb9b76
Move an eof check out of a while loop where it was never called.
This section was flagged by coverity. Not because the eof check was
never executed, but because of casting away the possible EOF return
value of fgetc() inside the while condition. The isdigit() call would
still terminate the while on eof, and the worst that would happen
is that the allocated image would be smaller than intended and the
eof would be caught after trying to read the data, so this was not
a serious issue.
This commit removes the meaningless eof check inside the digit-copying
while loop and adds a specific check before. It also avoids copying the
first non-digit character to the parse buffer, which should resolve the
coverity warning.
jbig2_image_pbm.c
2009-04-01 17:40:01 -0700
Ralph Giles <giles@ghostscript.com>
9b525fc5d325e559dae1f9fb7d3956b8407df3d5
Ask git to ignore normal build products.
.gitignore
2009-04-01 17:38:47 -0700
Ralph Giles <giles@ghostscript.com>
da580ddc6398b1818fc20036b79a89a7856b0296
Correct a typo in a debug message.
jbig2_image.c
2009-04-01 17:38:19 -0700
Ralph Giles <giles@ghostscript.com>
c0c36828c7ded70a82bb65affd3cf10ef7ddc5ea
Remove a debug printout.
This was added in f1d00697, but isn't necessary beyond the initial
testing prior to that commit.
jbig2_huffman.c
2009-03-31 21:35:17 -0700
Ralph Giles <giles@ghostscript.com>
76b6b9ec30859f32293286b3837f17a8252d010c
Close the output pbm file after writing to it.
Resource leak reported by Coverity.
jbig2_image_pbm.c
2009-03-31 21:32:38 -0700
Ralph Giles <giles@ghostscript.com>
ceb71749c865a4a4cd4c5a6ed0b052dff533a76c
Rename a local variable to avoid shadowing a function argument.
The code was correct, but confusing. Resolves a Coverity warning.
jbig2_text.c
2009-03-31 21:29:09 -0700
Ralph Giles <giles@ghostscript.com>
fdefccb83e29b399d3c3935ed2ada533fb57bdd0
Remove unnecessary header includes.
jbig2.c
2009-03-31 21:24:16 -0700
Ralph Giles <giles@ghostscript.com>
261eb20b93e2fa36f34748be10232160955719cd
Remove an unnecessary header include.
jbig2_refinement.c
2009-03-30 18:35:21 -0700
Ralph Giles <giles@ghostscript.com>
f1d00697525dd2d7a5f63f96e01ad0d99e673b13
Restore the proper size of the huffman symbol length histogram.
The previous size as 256 KB, but LENCOUNT's highest index is PREFLEN
(or LENMAX - 1, but LENMAX is the largest value of PREFLEN) and that
comes from a byte member of a Jbig2HuffmanEntry. Therefore 256 members
are all that is necessary, or 1 KB on most machines.
This was changed in commit a0531af8 (jbig2dec svn c430) apparently in
the mistaken belief that it needed to scale with the size of the table
itself. In that revision the previous stack allocation of 256 elements
was replaced with the 1k, which later became 64k, generally overflowing
the stack. While 256 elements is a reasonable stack allocation, it's
safer to continue using the heap.
jbig2_huffman.c
2009-03-30 18:17:55 -0700
Ralph Giles <giles@ghostscript.com>
63e0436a711c59f7fae6cfd721b90428ae19a7b3
Dynamically allocate and initialize the huffman symbol length histogram.
Previously we allocated it on the stack, but it's quite large (256K)
and we were assuming it was initialized to zero. Issue flagged by
Coverity.
jbig2_huffman.c
2009-03-30 18:00:39 -0700
Ralph Giles <giles@ghostscript.com>
45f462f813cfef6be8f6755ebe02e8744222b3b1
Initialize Jbig2TextRegionParams.sbrat even when it is not used.
This avoids valgrind warnings in a later debug message which
unconditionally prints them out. After a patch by Alex Cherepanov,
ghostscript svn commit 9578.
jbig2_text.c
2009-03-30 17:45:50 -0700
Ralph Giles <giles@ghostscript.com>
e2e186837bedf8211405c14b75c54849241193cd
Only define vnsprintf on MSVC versions prior to 9.
Visual Studio 2008 defines vnsprintf() in its stdio.h and our mapping
from _vnsprintf() conflicts. After a patch by Michael Vrhel, ghostscript
svn commits 8734 and 8735.
config_win32.h
2009-02-27 00:09:03 -0800
Ralph Giles <giles@ghostscript.com>
aaed7c2e751f82d585f9b4d94601b48bfd196b6f
Protect refinement debug image dumps from the normal debug build.
jbig2_refinement.c
2009-02-26 23:53:08 -0800
Ralph Giles <giles@ghostscript.com>
5f76927a09fc65adff87042eb0667ded96fef537
Add the (unfinished) halftone source to the Jam build.
Jamfile
2009-02-26 23:46:59 -0800
Ralph Giles <giles@ghostscript.com>
4d45e847d00a560fcd9a4ae917cda83a6dbf1686
Update the contact address in the file headers.
config_win32.h
jbig2.c
jbig2.h
jbig2_arith.c
jbig2_arith.h
jbig2_arith_iaid.c
jbig2_arith_iaid.h
jbig2_arith_int.c
jbig2_arith_int.h
jbig2_generic.c
jbig2_generic.h
jbig2_halftone.c
jbig2_huffman.c
jbig2_huffman.h
jbig2_hufftab.h
jbig2_image.c
jbig2_image.h
jbig2_image_pbm.c
jbig2_image_png.c
jbig2_metadata.c
jbig2_metadata.h
jbig2_mmr.c
jbig2_mmr.h
jbig2_page.c
jbig2_priv.h
jbig2_refinement.c
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_symbol_dict.h
jbig2_text.c
jbig2_text.h
jbig2dec.c
memcmp.c
os_types.h
pbm2png.c
2009-02-26 18:02:37 -0800
Ralph Giles <giles@ghostscript.com>
4d57cb4f565736e5a8473876dcd56464cd3aba70
Regularize the headers and clean up some additional whitespace.
jbig2.c
jbig2_generic.c
jbig2_mmr.c
jbig2_priv.h
jbig2_symbol_dict.c
jbig2_symbol_dict.h
2009-02-24 18:29:48 -0800
Ralph Giles <giles@ghostscript.com>
75de8111f83acd49a2eb75bed348cb4fac9f1e97
Remove trailing whitespace.
autogen.sh
jbig2.h
jbig2_arith.h
jbig2_arith_iaid.h
jbig2_arith_int.h
jbig2_generic.c
jbig2_generic.h
jbig2_huffman.h
jbig2_image.h
jbig2_image_pbm.c
jbig2_image_png.c
jbig2_metadata.h
jbig2_mmr.h
jbig2_symbol_dict.c
jbig2_symbol_dict.h
jbig2_text.c
jbig2_text.h
memcmp.c
2009-02-24 17:13:38 -0800
Ralph Giles <giles@rain.(none)>
4db6758c0acf306c07cea834e22414d2db42b56a
Remove Id and other svn keyword substitution lines.
These were sometimes helpful in backtracking from isolated source
copies to a specific revision in a centralized version control
system, but git has poor support for such things. They are also
much less necessary now that public source repositories are a
more common part of development workflows.
Jamfile
Makefile.am
autogen.sh
config_win32.h
configure.ac
jbig2.c
jbig2.h
jbig2_arith.c
jbig2_arith.h
jbig2_arith_iaid.c
jbig2_arith_iaid.h
jbig2_arith_int.c
jbig2_arith_int.h
jbig2_generic.c
jbig2_generic.h
jbig2_halftone.c
jbig2_huffman.c
jbig2_huffman.h
jbig2_hufftab.h
jbig2_image.c
jbig2_image.h
jbig2_image_pbm.c
jbig2_image_png.c
jbig2_metadata.c
jbig2_metadata.h
jbig2_mmr.c
jbig2_mmr.h
jbig2_page.c
jbig2_priv.h
jbig2_refinement.c
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_symbol_dict.h
jbig2_text.c
jbig2_text.h
jbig2dec.c
memcmp.c
os_types.h
pbm2png.c
test_jbig2dec.py
2008-05-26 18:52:22 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d5db893a4dfe988b1ecea14595f3c7605ee166ea
Work around broken streams created by Xerox WorkCentre products, where
the final segment length is written as -1. Ghostscript bug 689841.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@468 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_page.c
2008-05-17 00:08:26 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
2dea640032a72f9756cdccd54352c10b18348f56
More whitespace cleanup.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@467 ded80894-8fb9-0310-811b-c03f3676ab4d
config_win32.h
jbig2_arith_iaid.c
jbig2_halftone.c
jbig2_huffman.c
jbig2_hufftab.h
jbig2_metadata.c
jbig2_priv.h
jbig2dec.c
os_types.h
pbm2png.c
sha1.c
2008-05-16 23:58:59 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f125f9553a1e3c8088cf59df7c983aef3785641a
Only check for a code length antecedent under RUNCODE32. RUNCODE33 and
RUNCODE34 specify a repeat of zero so a previous code length isn't
necessary.
Thanks to Justin Greer for catching this. Ghostscript bug 689835.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@466 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2008-05-16 23:48:20 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c744e7207254f6719eb011a3a0b4984fdfa369dd
Clean up trailing whitespace.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@465 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2_arith.c
jbig2_arith_int.c
jbig2_generic.c
jbig2_image.c
jbig2_mmr.c
jbig2_page.c
jbig2_refinement.c
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_text.c
2008-05-09 13:54:32 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e4e8acebad09764a3be793082de99bd1679ef0c0
Runcodes 33 and 34 repeat a zero code length symbol id, not the previous
symbol like runcode 32.
Thanks to Justin Greer for the fix. Ghostscript bug 689824.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@464 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2008-05-09 13:41:01 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
46555913d6ed4b5479b50f45564ed94c478af863
Support for aggregate symbol coding, patch from Ghostscript trunk.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@463 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
jbig2_symbol_dict.c
jbig2_text.c
jbig2_text.h
2008-05-09 13:38:29 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e3092e1ff329e834e0e131ada149c692cff01688
Windows build fixes. Patch from Ghostscript trunk.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@462 ded80894-8fb9-0310-811b-c03f3676ab4d
config_win32.h
msvc.mak
os_types.h
2008-05-07 21:37:02 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
381e60a9cbb6b42136e67e4dd48e67cb438b5a2d
Update copyright headers. Ownership has been transferred
to Artifex.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@461 ded80894-8fb9-0310-811b-c03f3676ab4d
config_win32.h
jbig2.c
jbig2.h
jbig2_arith.c
jbig2_arith.h
jbig2_arith_iaid.c
jbig2_arith_iaid.h
jbig2_arith_int.c
jbig2_arith_int.h
jbig2_generic.c
jbig2_generic.h
jbig2_halftone.c
jbig2_huffman.c
jbig2_huffman.h
jbig2_hufftab.h
jbig2_image.c
jbig2_image.h
jbig2_image_pbm.c
jbig2_image_png.c
jbig2_metadata.c
jbig2_metadata.h
jbig2_mmr.c
jbig2_mmr.h
jbig2_page.c
jbig2_priv.h
jbig2_refinement.c
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_symbol_dict.h
jbig2_text.c
jbig2_text.h
jbig2dec.c
memcmp.c
os_types.h
pbm2png.c
2008-05-07 21:30:33 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
86131c28d05eb84cbd8878c2fc6d3a6282b79cbc
Set eol-style on the source files.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@460 ded80894-8fb9-0310-811b-c03f3676ab4d
config_win32.h
jbig2_arith_iaid.c
jbig2_arith_iaid.h
jbig2_arith_int.c
jbig2_arith_int.h
jbig2_image_png.c
jbig2_metadata.h
jbig2_mmr.h
pbm2png.c
2007-11-09 01:13:21 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
4446e2678f3bd9faa211a5d5bd50ac8f8c461a42
Change the license from GPLv2 to GPLv2 or later.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@459 ded80894-8fb9-0310-811b-c03f3676ab4d
LICENSE
2007-10-25 22:20:54 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
416c12b80383fe829edf8e986a0d5c860f8fabe6
Set appropriate ignores.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@458 ded80894-8fb9-0310-811b-c03f3676ab4d
2007-10-25 22:13:42 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e2a295a921ad73b46c69bc33c67d8717b94d9b4e
Remove some gcc warnings.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@457 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.c
jbig2_image.h
jbig2_page.c
jbig2_refinement.c
jbig2_symbol_dict.c
jbig2_text.c
2007-10-25 22:13:23 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
639e20afb817afd493b3802643f3dcf363962fce
Update autogen.sh to detect automake 1.10 and later.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@456 ded80894-8fb9-0310-811b-c03f3676ab4d
autogen.sh
2007-10-25 21:57:25 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
6f92ef3754dff5fdf82a809662476c330b25e20c
Add AM_PROG_CC_C_O as requested by automake 1.10.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@455 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2007-02-06 08:10:58 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ad85e74393cfb2667ea1f15756502ea2bc3cf3d9
Add a new header for declaring the public text region functions.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@454 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.h
2007-02-05 23:42:18 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
41b78a49bf9e00d0d78532581b7e72836935f3d5
Export jbig2_decode_text_region() for use in aggregate symbol encoding
and stub out the setup for the call. Work in progress implementing
support for this function.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@453 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
jbig2_symbol_dict.c
jbig2_text.c
2007-02-05 22:59:10 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
4cec0516180e0a8a79e88de5fbb12a28b3f64439
Rewrite the test script to use a custom test class.
Previously we used the python unittest module, but we don't use most of
its features, and it's quite weak for this kind of file-based external
testing. So we lose on using a familiar api, but this doesn't add much
code, and we can now add long-desired features like 'xfail' results.
This grew out of work revising the Ghostscript test code for
parallelization.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@452 ded80894-8fb9-0310-811b-c03f3676ab4d
test_jbig2dec.py
2006-07-27 00:54:08 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
94071092c25507e1dd00451f89c0e82d45f65503
Bump version number, post release.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@449 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
configure.ac
2006-07-26 23:57:39 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
9c04190c5824e209be28d5079787c3f05b5c1b3e
Update version info for the 0.9 release.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@447 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
configure.ac
2006-05-15 21:16:42 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
3421407ecff3d48427a0a848f58a0d1affe2c44b
Correct a typo resulting in inproper glyph placement with transposed text and a top left reference corner. Fixes bug 688645.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@446 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2006-02-17 20:25:07 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
34abc7a906ef9716d01ec93d74036a0be53a742c
Update my email address; artofcode.com no longer works.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@445 ded80894-8fb9-0310-811b-c03f3676ab4d
sha1.c
2005-12-18 18:12:33 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
3753ca9c4e9543d34f6e20c5c55eef15fc6afcf8
Correct an invalid return value. Thanks to Leonardo for pointing this
out.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@444 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2005-12-06 01:50:08 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d94bdb63779c6d3bfa43197c791912cb954ae109
Update changelog.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@443 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2005-12-06 01:47:35 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a9d42d067a6cd01c9f1fd73b00ff9c69c6ba85c6
The SBDSOFFSET field is a *signed* 5 bit integer, so we need to sign
extend when reading the field to get the proper value. We now correctly
handle the 042_20.jb2 test stream.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@442 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2005-12-05 23:39:55 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
994516f6db541df5f57d3de4851313af6a260f68
Add -DJBIG2_DEBUG to the default scons build.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@441 ded80894-8fb9-0310-811b-c03f3676ab4d
SConstruct
2005-12-03 07:26:21 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
49d3aed4dd6a1adc1ab03702cf324103febae1e6
Fix data for Huffman table B.12.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@440 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_hufftab.h
2005-12-03 03:35:00 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
49519f4cfa5ca7d4f06ab11261e86a0d5aa55c64
Correct an operator precedence bug that was corrupting reading of uncompressed
collective bitmaps. Also improve debugging messages.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@439 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-12-01 23:56:54 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0d020e4fcfa9039853e76f0456e65805cff3d19d
Promote artimetic debug printout code to JBIG2_DECODE_ARITH from
plain JBIG2_DEBUG to cut down on noise.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@438 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_arith.c
2005-12-01 21:52:38 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
391a059aad7b801f004b01e17663a4024294d6ef
Handle immediate lossless generic regions the same as immediate generic
regions. Fixes bug 688397.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@437 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
2005-09-01 04:13:36 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b78900486172244c39187e89a085b12f2b6abdb1
Some minor corrections and bug fixes.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@436 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
jbig2_text.c
2005-08-31 16:41:42 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
6a99885954277048b0d73840941dc47ede4c103a
Make a Jbig2WordStream return zeros past the end of the defined
buffer, as can happen when the huffman decoder tries to fill
its 'next_word' lookahead near the end of a segment.
Previously, we just relied on there being some data we could
read (and then ignore) which usually worked, but caused a
segfault with the 688080.pdf test file due to chance read
buffer alignment.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@435 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
2005-08-30 02:05:05 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
8acccc58c83123286b0954053a7dd899de5a0630
Fix some small bugs and add additional error checking to the
huffman decoding support.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@434 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
jbig2_text.c
2005-08-28 00:10:20 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e2ff5e373bd8ecda6db43c6b6414c8a3f3248297
Comment clean-up.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@433 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
jbig2_text.c
2005-08-25 08:14:21 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d23b5e5b4d8fabdf51d202094ac4259d59dcc974
Work-in-progress commit of huffman text region support. Fix a number
of bugs in jbig2_huffman_get_bits() and implement symbol id huffman
table decode (a custom table is always included inline in the text
region segment header.)
However, the constructed table gives an out-of-bounds symbol id on
the first read with the UBC test file.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@432 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
jbig2_text.c
2005-08-23 06:09:55 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d2d97abc0be98770dc506620f5f8921900e55e5e
Work-in-progress commit of huffman text region support. Initial implemetation of symbol id huffman
table decode.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@431 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2005-08-17 20:03:18 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a0531af83d6d29abe2fccb488fa7b741d68cb3fd
Hack around the lack of subtree support in jbig2_huffman_table_build()
by allocating a bigger flat table. This should be fixed the correct
way at some point, but lets us proceed with huffman text region
decoding implementation in the meantime.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@430 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
2005-08-16 23:57:25 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
5bbd972edf6b6441248d4201cd61767fa521cc97
Work-in-progress commit. Partial implementation of Huffman text region
support.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@429 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2005-08-16 21:41:38 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d22a2ed8db5f8d99345b08762cabebcbc5873d64
Copy out the collective bitmap symbols for huffman symbol dictionaries.
Also, some additional debug print pruning.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@428 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-08-16 21:16:22 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
3c04507a4138266c8266cc01886ca70ae8a9fa93
Implement reading an uncompressed collective symbol bitmap.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@427 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-08-16 20:38:03 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
338f0fbd294ee0dc9cbfabd7a15cce0ac657a708
Remove huffman debugging printouts. Preserve the state dump functions
for future use, but #ifdef protect them.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@426 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
jbig2_huffman.h
jbig2_symbol_dict.c
2005-08-16 20:20:08 +0000
ray <ray@ded80894-8fb9-0310-811b-c03f3676ab4d>
df910b6ffff7ae54db6c2d2430709ebb911eda49
Fix for shift right 32 bits of unsigned int being treated as shift right 0.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@425 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
2005-08-04 07:05:05 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
720e508d03bae14bf0e412abb37ad08ecde72e46
Work-in-progress commit of halftone dictionary implementation. This
is enabled in the scons build, but not the standard one.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@423 ded80894-8fb9-0310-811b-c03f3676ab4d
SConstruct
jbig2_halftone.c
jbig2_segment.c
2005-08-04 07:03:05 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
3fb9f08036565d4bd4147283e2e685217b6e4b55
bstract the GB_stats size calculation into a function.
Also some comment cleanup.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@422 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_arith.h
jbig2_generic.c
jbig2_generic.h
jbig2_text.c
2005-07-28 00:59:59 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
45a5c57347f7b7569808933207bb03c8edf30315
Warning cleanup. Implement an unoptimized version of the REPLACE image
composition operator.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@421 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
2005-07-27 23:55:54 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
9d9c7e26944b07cda1c81242b66aea7bbdfc1150
Some code cleanup. Remember the external combination op for region
segments and use it. Also add the missing REPLACE operator to the
enum (but not yet implemented in the compositor). Only some routines
can use this one. Also add some missing prototypes.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@420 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_priv.h
jbig2_refinement.c
jbig2_segment.c
jbig2_text.c
2005-07-27 23:49:03 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
dcb83f94c6dc0280a8edeb4dc303fc1451bcd881
Fix an off-by-one in reading the SBDEFPIXEL and SBCOMBOP fields of
the text region segment flags, which caused us to clear the region
background to the wrong value. Bug 688244.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@419 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2005-07-27 17:29:03 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
4a8c95e32a1a05dbf5587ff2262ea225f2dd6c2b
Commit an off-by-one fix from Alex Cherepanov related to bug 688244.
Also #ifdef protect a debug image dump that was preventing compilation
in Ghostscript.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@418 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-07-27 08:29:56 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0d128dbed01e775befd59050c415b5aa7f21562d
Work in progress commit of huffman support. This version is still buggy and
includes some serious debug spew.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@417 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
jbig2_symbol_dict.c
2005-07-13 16:51:13 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
4cc11bea50d585804e93b985e7d7e8504990911b
Work-in-progress check in of huffman symbol dictionary support.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@416 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
jbig2_huffman.h
jbig2_symbol_dict.c
2005-07-13 16:28:44 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
1b6a01e666d0dbcd355c0b84fba43c1d02fb4b37
Move a repeated calculation out of a loop.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@415 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
2005-06-20 11:09:19 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
46ff1e6277a432b9e1d18784ab5c30fc40b45476
Minor cleanup of unimplemented huffman sections.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@414 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-06-19 14:16:14 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
1eb7ae738d7af4508d7cbc547c0e386d55821820
Properly initialize the decode result field of the segment header struct
to NULL to avoid problems on free. Bug 688053.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@413 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
2005-06-15 14:09:35 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
84de63772c46a85128b6ada79cd2203918c7dec2
Fail on fatal symbol dict decoding errors.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@412 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-06-08 14:23:43 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e5bdc75cc8afaf2630953f1784381cc6c9305e36
Add support for striped page decode. We still return a full
page buffer, so there is no savings in memory footprint.
We now decode 042_9.jb2 from the UBC test streams.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@411 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
jbig2.h
jbig2_generic.c
jbig2_image.c
jbig2_page.c
jbig2_priv.h
jbig2_refinement.c
jbig2_segment.c
2005-06-08 14:23:23 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d954b0f143afbf16da24b2ea0a54d88b39af4129
Work in progress commit to support huffman text regions. Parse
and intantiate the huffman tables for text region decoding.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@410 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2005-06-08 14:20:45 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b28d531ea50bf15cc80cb068192b47b57a8916ce
Implement remaining standard huffman tables.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@409 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.h
jbig2_hufftab.h
2005-06-08 14:19:35 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
2ff386d420a62438df630a8b0ba3a022469cd3f8
Turn on -Wall when compiling with gcc.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@408 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2005-05-24 03:49:47 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0a9dae0a3c665ce5c758f1575e0c8f08075aaf3c
Update the arith and huffman tests to run with the new code. We now
compile with -DTEST and link to the rest of the library since that's
required to access the allocator. In theory, that means we have duplicate
symbols, but GNU ld seems to cope. If it's a problem the test programs can
be split into separate source files.
Note that the arith test doesn't actually verify its results; it just
prints the results when compiled with -DJBIG2_DEBUG.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@407 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
jbig2_arith.c
jbig2_huffman.c
jbig2_symbol_dict.c
2005-05-18 00:42:24 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d78f4fbaac91f43bd14ac7d54c60e8edb0fa5bfe
Attempt to hook the self tests into the scons build. This is supposed
to work with the development version, but does not.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@406 ded80894-8fb9-0310-811b-c03f3676ab4d
SConstruct
2005-05-11 07:14:25 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
cc3a563ea709064bf47147bd817a962e368a5c2a
Export the pre-defined huffman tables for external use.
Read the huffman fields of the symbol dictionary header and allocate
appropriate tables and decoder context. This is a prerequisite for
handling huffman-coded symbol dicts.i
Part of the fix for bug 688009.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@405 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
jbig2_huffman.h
jbig2_hufftab.h
jbig2_symbol_dict.c
2005-05-03 02:27:12 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
34b95add346fa8b27064e007da4e86eadc466bbd
Allocate a huffman decoder for symbol dictionaries that require it.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@404 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-05-03 02:25:08 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
67a0de3abce1a5ea08260cf937754ecfadbe7b41
Update the huffman decoder interface.
Move hufftab.h with the static table definitions to only be included once
from huffman.c.
Use the client-replaceable jbig2_alloc() instead of bare malloc().
Add a 'free' call for the huffman state. This just calls jbig2_free().
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@403 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
jbig2_huffman.h
jbig2_hufftab.h
2005-05-03 01:10:27 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
1e2d6eade5dd4755e15db66e539256aa407b6d08
Re enable the huffman and arithmetic coder unit tests.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@402 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
2005-05-02 20:49:28 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
7fa4382f2f5cac1f1471617a23c9d1affa994e18
Alter our portability fallback implementation of memcmp() to properly return
negative values is the first argument is "less than" the second. The previous
one was fine for our purposes, but could cause problems if it was accidentally
used by client applications.
Thanks to Ray Johnston for pointing this out.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@401 ded80894-8fb9-0310-811b-c03f3676ab4d
memcmp.c
2005-04-28 04:44:30 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
65885f2808d815a4ce41d4712c19dc1dac61b6ab
Add the changelog to the distribution.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@400 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
2005-04-28 04:37:42 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
40379d7c353d1326615e08e64684fdc4065544ec
Add experimental scons build file.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@399 ded80894-8fb9-0310-811b-c03f3676ab4d
SConstruct
2005-04-28 04:36:32 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0c358eca216ac6fb627a0d920c7fb9eb3f53d014
Fix implicit cast warnings from MSVC. Bug 687988.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@398 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-04-28 04:35:55 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
26c310efdb8e8a914c36ffe7a4944448144adeef
Bump the version number for new development work.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@397 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
configure.ac
2005-04-28 04:31:34 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b67e1875a83632bc7e43e44d0a98ccc64c030b94
Update version and changelog for the 0.8 release.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@395 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
configure.ac
2005-04-06 18:14:30 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c49714a02996d398353fe76f51ef084dcaa99602
Add an explicit cast to quiet a warning on MSVC. Bug 687988.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@393 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-04-06 00:29:36 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
2561fd5c9ed06af167a245e2a09732a68655c8fb
Add a cast to in checking a range against an unsigned value.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@392 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-04-05 23:40:12 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
cf7b160a37331362d7bcff571e13e57d20193377
Minor comment cleanup.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@391 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image_pbm.c
2005-04-05 23:39:53 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c5393dfc4025b41895565f5b2a2f1786bffdf980
dd a missing break; in the segment release dispatch. Release of symbol
dictionary segments was falling through and causing a double free of
the result. Bug 688004.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@390 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
2005-01-19 19:31:33 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c04c341b8cfbd2ee7b58269147a41bf6c24d7b7e
#ifdef out the cygwin stdint-from-sys/types fixup. Newer cygwin seems to provide
them all, but still not define stdint.h. Bug 687873.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@389 ded80894-8fb9-0310-811b-c03f3676ab4d
os_types.h
2005-01-04 07:05:39 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
fdc9d09b305474bffc749d23b51e025bba7fa567
Correct some memory leaks in text region decoding: properly free arith
and word stream state, and release refined glyph images after
compositing.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@388 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2005-01-04 07:04:17 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
3cf2d67fafefb607c8d436f2185d092457274cdb
Correctly free the (dynamic) glyph array when freeing a symbol
dictionary.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@387 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-01-04 05:17:39 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ad0de34366fd42c8f95d519dccb91115c4278580
Also correctly free the integer arith coding contexts in symbol
dictionary decode.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@386 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-01-04 05:07:45 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
bff29a59cb009b2cb0b397c137e8576e9f3acb0b
Properly free the arith and word stream states in symbol dictionary decoding.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@385 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2005-01-04 04:53:16 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
81b746740b074f5a0a8b539bc4954dad5c5797be
Properly free some segment results when the segment header structures
are freed. Symbol dictionaries are released, intermediate segment images
are released if they haven't already been released and nulled after
their use in the decode process, and metadata structures are properly
freed.
Resolves all known leaks with the first 7 ubc test streams.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@384 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2_refinement.c
jbig2_segment.c
2005-01-04 04:41:56 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
304420e16947853c697c9f50eb9e7c3cdd64f80c
Properly free tag and value strings from inside the metadata struct. We
now assume we own those pointers, which is fine if jbig2_metadata_add()
is used to construct them.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@383 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_metadata.c
2005-01-04 04:40:18 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e641718f01a0a45ec8cfc89602daa345bb9383f8
Minor cleanup: remove an unnecessary check before releasing an immediate
text region after decode and composite, and simply reference to the page
image itself.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@382 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2005-01-04 00:53:10 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e3a50c85fa43ebff2b3164e05cf3988c326cfb27
Properly free arithmetic coding and word stream states after region
decode. Also use the allocator defined in the library context instead
of raw malloc for the arith state.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@381 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_arith.c
jbig2_generic.c
jbig2_refinement.c
2005-01-04 00:34:16 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
de271483ae5bf0ee87b73b44d9d433d4ca6a920a
Properly free the decoded page image array on context free.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@380 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
2005-01-04 00:32:36 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f72323e48008adb89a21bf01770a9583f456ff36
Simplify the ubc teststream hashes.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@379 ded80894-8fb9-0310-811b-c03f3676ab4d
test_jbig2dec.py
2004-12-23 12:53:49 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
eb7f46063eb1b3e220c13839ef622c29bcf5834f
Properly mask the last row byte in the shift == 0 compositor
case. Fixes bug 687843.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@374 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
jbig2_image.c
2004-12-23 12:07:53 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
99672eb6ce4dad97c3ff22f9768b0073f730331e
update changelog.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@373 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2004-12-23 11:54:43 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
6f0b0d1802ad565e908adac9601e650bdfb8af94
Implement a slow general fallback for image compositing. This adds
support for non-OR composition operators.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@372 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
2004-12-22 09:34:29 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
7d9a6439364da7ea94311d69f877ae37485fd1f7
Clarify variable references to better match the spec.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@371 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2004-12-22 01:36:38 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b62aa9dd9154eba7122c56cab886207dce972cb1
Trivial whitespace fix.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@370 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_page.c
2004-12-21 22:59:04 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
afe3a66d19d98cf0017f4c7b433ae65b2286e259
replace individual memset calls for clearing images with a new
jbig2_image_clear() utility function.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@369 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.h
jbig2_image.c
jbig2_page.c
jbig2_text.c
2004-12-21 01:05:59 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d264e8daa8c30ea3d4d43e287bcc97462f244e9e
Initialize the initial text region segment bitmap to zero.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@368 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2004-12-21 00:35:02 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
50493055b3f099f6670df3ab2011af8085ba49c5
Re-assign the return value of jbig2_realloc() when growning the page
size array. Previously it was dropped which could cause crashes on some
systems processing documents with more than 4 pages. Thanks to Jan
Patera for reporting this.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@367 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
jbig2_page.c
2004-12-13 20:00:09 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
28e7ac27b12c59c271eacca8eb70dc97fe991c5b
Fix and error return. The normal 'return jbig2_error(ctx, JBIG2_SEVERITY_FATAL,...)'
idiom doesn't work when the function returns a pointer instead of an error code.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@366 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2004-12-08 22:49:47 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a065bcb4b13998d875073212087b2a84aa132cc7
Bump version number post-release, and correct a CHANGES typo.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@365 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
configure.ac
2004-12-08 21:00:32 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
afc8acb7f41c4569e208301153449c2fd8dbd9da
Set the release date.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@360 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2004-12-08 20:49:19 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0577ac1d30bd76622e9c2cd36ff573b3e144b19c
Error if the symbol id indicated for refinement in a refagg symbol
dictionary segment is out of range. UBC test stream 042_13 triggers
this, we don't fix this here, only handle the error more verbosely.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@359 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2004-12-07 01:37:45 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0aa9e029d3d78790d747b8fd6c62f2f6ffe403f5
Bump the version number for release.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@358 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2004-12-07 01:23:24 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
422bfff0efc1eaedd88e5aa876a96ae36fbd13bb
Add jbig2_refinement.c to the Jam and MSVC builds.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@357 ded80894-8fb9-0310-811b-c03f3676ab4d
Jamfile
msvc.mak
2004-12-06 05:37:42 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
389ea3e65131d1644f3c894bd67c6dc433ccb0ec
Code cleanup. The refinement region decode procedures use a 'GR' prefix
in the spec even when the function is identical to the 'GB' prefix
variables in the generic region procedures. Change our code to match.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@356 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-12-06 05:36:28 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
65b51e728aed87dfeb43227218be0c5cc4d642af
Correct the test for the nominal generic region template 0 AT pixel
positions. The previous change invoked the optimized routine for the
wrong template, causing a regression with ubc test stream 042_10.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@355 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.c
2004-12-05 04:15:42 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
5bbe12052a1a34c065451a2c10741021caf6887c
Update the changelog
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@354 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2004-12-05 04:15:13 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
801c41b10d75f023ff2387aac576f5f3c152a308
Add an unoptimized generic decoder for generic region template 0. We now
properly decode UBC test stream 042_7.jb2.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@353 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.c
2004-12-05 03:48:36 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
2b6179196091f01a58c17a79024d7ee5243ab8a2
Add a generic but unoptimized handler for generic region arithmetic
template 3, and an optimized but untested handler for the default AT
pixel position. We now properly decode 042_6.jb2 from the UBC test
suite.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@352 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
jbig2_generic.c
2004-12-04 02:29:17 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b8fc23e4731a172600282a65e9602ff1963bfead
Implement non-standard AT positions in the unoptimized version
of the refinement region template. We now properly decode ubc
test stream 042_23.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@351 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
jbig2_refinement.c
2004-12-04 02:24:11 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
42c0312cc2855d2cc0d83954968c65a8e5e6107d
The gbat and grat content pixel offset arrays are signed.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@350 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.c
jbig2_generic.h
jbig2_refinement.c
2004-12-03 17:04:07 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
91496de8718924d6b112c093ea51894210ed8d3d
Remove the reference image debug dump.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@349 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-12-03 17:03:02 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c51afb6cce1f14340b7ec8476c64949b469614a7
#ifdef protect a debug image dump.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@348 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-12-03 06:55:35 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
8a90500857d4c0d9a6628196447002efe68a0f46
Implement text refinement regions (SBREFINE = 1 in text segments).
jbig2dec commandline now decodes 1page-output.jbig2 from bug #687575.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@347 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2004-12-01 22:19:57 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
74eba6a78944ccfada0ab7dc50f6363cfd225cbf
Implements IAID procedure for decoding reference symbol id's in symbol
dict segs (was incorrectly using generic int procedure). Fixes off-by-
one test for image bounds in jbig2_image_get_pixel and
jbig2_image_set_pixel.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@346 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
jbig2_symbol_dict.c
2004-12-01 19:50:07 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a4d66009ee206247b2d9e61615a6fefbc49468c4
Use the correct definition of the SDREFAGG flag to switch GR_stats allocation.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@345 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2004-12-01 19:45:29 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
804b91c488cbb7ea22bad56edd0b39384066c908
Correct a typo, and switch allocation of GR_stats on SDREFAGG instead of SDRTEMPLATE.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@344 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2004-12-01 19:40:05 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d89f78a5cb864865e102192f5a44d6b149f0bf71
Trial implementation of separate GR_stats for refinement arithmetic coding.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@343 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2004-12-01 19:26:13 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d489de65d56c8277d5b078759c20a921f429cd63
Zero the sdrat values if they are not going to be used. Avoids a UMR in a later debug message.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@342 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2004-12-01 18:51:14 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ccb4bbffa33b6c0e33b9bc6844ddf69d155c9eb3
Fix an error in REFAGG decoding, and properly warn that REFAGGNINST > 1 isn't yes implemented.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@341 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2004-12-01 18:50:06 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f2bc04b3071d5617851f2255e73d3444ac179dfb
Update changelog with recent new features.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@340 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2004-12-01 18:21:52 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
8291bc316fc9882c419c9fcd11dbd8f19d497402
Protect the refinement region debug output with an #ifdef.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@339 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-11-24 19:35:47 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b588b1a9e9599c5041db8279d953bb3aee57371c
Implement an unoptimized version of refinement region template 0.
We now decode ubc test stream 042_21.jb2.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@338 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-11-24 19:29:07 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ccd602286a7f176ffb0fffc68be453d443f0644e
Invert the check for refinement region movable template
offsets. This was the last bug in the refinement region
segment handling code, we now handle the ubc 042_22.jb2
test file!
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@337 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-11-24 19:26:35 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c3f6e30d4f07e021cc818e584b085456b25865e6
Rename the refinement region typical prediction flag
TPGRON in correspondence with the spec.
Also fixes some index comparison errors.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@336 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.h
jbig2_refinement.c
jbig2_symbol_dict.c
2004-11-24 17:52:32 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a01d4e48567de8c803e993a76b5d7749f597875d
Correct the size of the GB_stats allocation for the refinement
templates; the sizes were reversed.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@335 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-11-24 17:50:30 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e7c951253f1d39e3a6451cc476f89fd1a5827d97
correct a typo
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@334 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-11-24 17:49:18 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
faf1a86071f89a81fd9c5f34840bb03a90650c50
We no longer need the result debug image; page composition is working ok.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@333 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-11-24 07:14:03 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
cf1418dc01a996a8f351918a5fd6202ce02a22d5
Implement generic refinement region segment handling. Decoding is still
not correct.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@332 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
jbig2_segment.c
2004-11-24 07:13:11 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e161b891ac484992cfff4127332498fb46125fa8
Clean up some debug messages.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@331 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
jbig2_image.h
2004-11-24 03:03:12 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
581b2c04128ae030deba492ea9a4dfc64a033eae
Correct a typo in reading the SBRAT offsets in text segments.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@330 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2004-11-17 19:29:25 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b4c9f4c43bb969875ad842658e269646abaeb96e
Promote the debugging get/set pixel routines to general availability.
Also, fix a bit order bug: we follow the pbm convention, where MSb is
leftmost, not rightmost.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@329 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
jbig2_image.h
jbig2_refinement.c
2004-10-22 22:28:07 +0000
root <root@ded80894-8fb9-0310-811b-c03f3676ab4d>
2c22eeab4e9a67bb218cb4e03df9ed9bad3b6647
Build an unoptimized version of the refinement template context calculation
to assist with debugging. This one doesn't seem to work either.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@328 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-10-22 22:21:19 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
65a3e8bfeba6213859690722281ca290fe3e7d20
minor comment reformatting
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@327 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.c
jbig2_generic.h
2004-10-08 01:29:10 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
872c0bb40abd41f305e2cd27a3673fe2f28b9ea6
correct shift offsets
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@326 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-10-03 21:14:57 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
441dc4f503432969833a7124b45e1e98ffe7cb81
Additional work on refinement region template 1. Context update still
incorrect.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@325 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-10-02 07:08:22 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
5d03d94b2004361b89cbf977ad5519b661c2aea7
Commit of work in progress to support refinement region decode. First
draft of template 1.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@324 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_refinement.c
2004-09-29 14:15:40 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0c8fe23adba1f24273186b4a7379f588437d9f5d
Work in progress of refinement region support. Call logic for refagg
symbol dictionary entries.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@323 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
jbig2_refinement.c
jbig2_symbol_dict.c
2004-09-29 13:48:42 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ef32d14a8d786981905bed84313d250d39b6dead
Turn on all warnings by default.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@322 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2004-08-18 01:11:38 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f5e8721505beec15991f7660b67fa9dbfd037b7f
correct some property settings in the source repository
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@321 ded80894-8fb9-0310-811b-c03f3676ab4d
test_jbig2dec.py
2004-08-18 01:04:28 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b17636877d0742ea430c1efc646b1e9c68b70014
enable Id keyword substitution on the new file
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@320 ded80894-8fb9-0310-811b-c03f3676ab4d
2004-08-18 01:03:14 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
1efb1d79e3dead9e474ff89cd0ce0d6c87d21ca3
It looks like templates aren't shared between generic and generic refinement decoding, so split
the routines into separate files.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@319 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.c
jbig2_refinement.c
2004-08-13 00:00:17 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
508693c17eb8f052fbcc0ea4976cb326e746c2f0
Work in progress to implement generic refinement regions and aggregate symbol coding.
Commit to avoid losing work.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@318 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.c
jbig2_generic.h
jbig2_symbol_dict.c
2004-08-11 16:38:39 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
19918285ec07521885d12a624507435a3da9f473
correct a typo in the previous commit
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@317 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_page.c
2004-08-10 22:36:14 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a1f9f214d267dced3b00c96708c95e89d674790a
Include stdio.h when required for pbm debug output.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@316 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_page.c
2004-08-10 22:34:59 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
4813245d60e430c1b9528a4aa018ee6d45b28add
document previous fix
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@315 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2004-08-10 22:33:46 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b5264ffff604bc9da416b86b6ed382aa75638dc9
Properly initialize the page buffer to the default pixel value.
This caused, among other potential bugs, garbage and overlay
effects under some malloc implementatons, though not on GNU/Linux.
Fixes Ghostscript bugs 687530 and 687609. Thanks to Oleg Panashchenko
for analysis.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@314 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_page.c
2004-08-06 05:01:36 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
99264987a0799fca10e9ccd0aeff86713878ba67
Actually implement the 'or later' part of the automake version
detection.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@313 ded80894-8fb9-0310-811b-c03f3676ab4d
autogen.sh
2004-07-06 13:32:01 +0000
tor <tor@ded80894-8fb9-0310-811b-c03f3676ab4d>
18b2ab815f85ec97de3dcdc2088d4986f1676b84
added a rudimentary jamfile
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@312 ded80894-8fb9-0310-811b-c03f3676ab4d
Jamfile
2004-04-08 08:40:49 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ca77e2fee1e77118981d33fb1b9ab5803717e343
Initialize some variables to avoid spurious warnings from gcc.
These are all used only in one code path or another, so there was no
danger of unitialized use. However, by the same token we lose nothing by
setting a default to quiet the warning.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@311 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2004-04-08 08:36:12 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
09e114b5849ac066755ae1625104896d232ef168
Remove some unused variables. Bug 687413.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@310 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.c
2004-03-24 07:49:53 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
da420b02de6412f053b759cd04d498762ac62fbe
Check for defined(HAVE_CONFIG_H) instead of just a non-false value. Corrects a warning on the
Intel compiler. Ghostscript bug 687320.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@309 ded80894-8fb9-0310-811b-c03f3676ab4d
os_types.h
2003-12-31 16:38:08 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
365418bd41891ad1627a4bf612dccd51492f6c2c
Helps to actually increment the version number.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@307 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2003-12-31 16:29:40 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b5715735568f8cdb7cce148b9335933ad20d3cd5
Update version and changelog for 0.6 release.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@306 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
configure.ac
2003-12-31 16:25:47 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
297c9b5fdba66116c2e975789ad7d2d640123114
Portability update. Newer cygwin does provide stdint.h, conflicting with the work-around we
installed for older cygwin. Thanks to Alex Cherpanov for this.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@305 ded80894-8fb9-0310-811b-c03f3676ab4d
os_types.h
2003-12-31 16:25:00 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
49cc61770c6fadfa7a4f2a214a7040db129f3a08
Apparently forgot to bump the version number in configure.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@304 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2003-12-04 16:24:55 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
344fc838a5c35bf4ccef6ec2259b3a317135ab36
Update changelog for 0.5 release.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@301 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2003-12-04 16:19:42 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a413dad44bd527f43968e32258aed7a20245f5d5
Remove symbol dictionary export routine debugging prints and modify the dump_symbol_dictionary()
call so that it does not require stdio.h.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@300 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2003-12-04 16:11:27 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
204d69f4fce9cf5ee00e0fce774a622e9fca109f
We no longer need to artificially recurse when building the list of referred symbol dictionaries
now that we properly construct an exported result.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@299 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2003-12-04 15:54:34 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a82d670d005fdd3e4fc877fddcf69ff01f6d53df
Remove an unused local variable.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@298 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2003-12-03 05:42:07 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e242d111c02050235102d9e466e9a4d6435f7867
Avoid an unitialized variable warning.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@297 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2003-12-03 00:22:13 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
cb7d209f4e106ec97471b98efdce93814326c8cd
First stab at parsing the export symbol bitfield and building a proper export dictionary.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@296 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2003-12-01 19:46:01 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0a88581c12e2d029bb42aa7d2c745645a3a5d6fe
Split an expression into two pieces to avoid confusion over order of operations.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@295 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
2003-12-01 18:02:00 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
02da65fafcef22d50df76638362b946d6a2ec96b
Add a cast to avoid an incompatible pointer type warning.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@294 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2003-12-01 17:54:07 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
12ab5048f182dda7a778b678781e604e6d3abbe6
Prefer uint8_t to byte in some internal functions.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@293 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.c
jbig2_page.c
jbig2_priv.h
jbig2_segment.c
2003-12-01 17:53:45 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
8d833614a9cdc49e405d72bbf1658859e4468df1
Correct a warning. Offset, then cast to non-const, not the other way around.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@292 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_metadata.c
2003-12-01 17:44:19 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
7adeea559e68d424dd78ce440536ac2d78fc2a8c
Add a prototype for the extension segment parser.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@291 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_priv.h
2003-11-11 13:49:50 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
018ec13e4a810da97e57725731d80ca3bff4b5af
Make Jbig2SymbolDict more object like. Work in progress to unify
inheritance.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@290 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
jbig2_symbol_dict.h
2003-11-11 13:15:00 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
5933c48096aca791162c655d9570b2922835cdf6
Make the symbol dict lookup code public and move it out of jbig2_text.c.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@289 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
jbig2_symbol_dict.h
jbig2_text.c
2003-11-10 20:54:09 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
02a9540fdd75a6ed8bfada759b46a42199d84d67
Properly quote nested M4 macros. The old code breaks in autoconf 2.58.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@288 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2003-11-10 17:02:21 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
75c1235ecc921075cb4ec9c2c25e5008d9efad75
Correct arguments to jbig2_image_free().
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@287 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
2003-11-09 13:59:03 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
995e4a01171a87bd2453fb05b13612e76720cd26
Add reference counting to the image structure to permit sharing of the glyph images
between symbol dictionaries.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@286 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.h
jbig2_generic.c
jbig2_image.c
jbig2_image_pbm.c
jbig2_text.c
2003-11-06 18:08:48 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
8f2d8d661e4230e61e095e336f1b14c739b62ba0
Fix a bug with text region rendering in the Patent.pdf example file from
the adobe's encoder.
The problem was that we weren't handling the export/import of symbols
from dictionaries referred to by the symbol dictionaries referred to by
the text region segment.
This patch is just a quick fix: we recurse when building the list of
referred to symbol dictionaries at text region decode time, which
allows us to get at all the symbols. This works because the adobe
encoder (at least in this file) always exports all the symbols, imported
and encoded, in each dictionary. If it did not, we would have offset
errors in the symbol lookup.
A proper fix requires decoding the exported symbol flags and building an
export version of SBSYMS to store in the segment result that includes
the symbols imported from any other dictionaries. All while
intelligently sharing the decoded glyph data, of course.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@285 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2003-11-03 16:39:41 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
51ae6b8a96296c1aab50df9d8cee662d09f155bf
Add a missing header. Record warning fixes in the changelog.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@284 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
jbig2_segment.c
2003-11-03 16:38:57 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
04b5524d8767196d4331887cfc6641ada5e5bf42
Add a 'default' case to the output file format switch to clear up some
warnings.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@283 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2003-11-03 16:34:12 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d46b5050cb2ba55fbeb32e70ae368e614ff33d5a
Remove an unused variable.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@282 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2003-11-03 16:32:15 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a9edf8c0252898ffb46431e8b5f7bc79d19634f6
Add string.h for memset().
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@281 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_mmr.c
2003-10-31 12:17:33 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e3232929d33a254885ae6b63e2281eda9595af1e
Cosmetic changes to the bootstrap script.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@280 ded80894-8fb9-0310-811b-c03f3676ab4d
autogen.sh
2003-10-27 10:28:24 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
350f6edb35cbe35fbb0ac7add1a1c7e46147a763
Add a cast to correct an MSVC warning.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@279 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2003-10-01 19:30:10 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e552e5440e5e285d7df43789a444ccba5727d642
Remove an unnecessary check for the symbol id < 0 (it's unsigned) and
correct a type mismatch. Both of these may have been causing warnings on
MSVC. Thanks to Igor Melichev for tracking down the problem.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@278 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2003-10-01 17:05:28 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
539a19a063a962277c04f2c36dbdebc9bad28649
Add protection against uninitialized dictionary lists, as can happen for
example when parsing a huffman-coded dictionary (nyi).
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@277 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2003-10-01 14:21:19 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
1fd3f35b2f031f1cad486daeff3f625588745e33
Correct an allocation size bug that caused memory access errors when the
initial buffer handed to jbig_data_in() didn't match the internal 4k
size. Thanks to Tor for reporting the bug.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@276 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2dec.c
2003-09-29 15:33:48 +0000
tor <tor@ded80894-8fb9-0310-811b-c03f3676ab4d>
bcc1da0257a3f721a4ca95421a996969b8bfb2f6
Bounds checking and fixed bug with a0 and black background
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@275 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_mmr.c
2003-09-04 04:56:28 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
848fce58b72d73a7345e713f26591674bd019c78
Update the changelog (nothing new to report).
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@274 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2003-09-03 07:27:00 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c5bd9271ff22faa44bfe4d0120562c52fa964237
Add some uint*_t typedefs for cygwin. Cygwin apparently doesn't provide stdint.h, but does define
some of the types in sys/types.h which conflict with the versions in config_types.h. We only use
sys/types.h in snprintf.c, but it's pulled in by Ghostscript's portability cruft when we're
compiling in rather than linking to that program. Thus we must circumvent the config_types.h
definitions on that platfrom.
After a patch by Alex Cherepanov.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@273 ded80894-8fb9-0310-811b-c03f3676ab4d
os_types.h
2003-09-03 06:40:03 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
9d23c17acdea2efdbed778078e377c3325106de2
Add double include protection to os_types.h.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@272 ded80894-8fb9-0310-811b-c03f3676ab4d
os_types.h
2003-09-03 02:56:29 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
29466e003185c7d4ea43e3a1633c0aa8a6286e7f
Apply a patch to support compilation on VMS (as part of Ghostscript with openvms.mmk). Closes
http://bugs.ghostscript.com/show_bug.cgi?id=686966.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@271 ded80894-8fb9-0310-811b-c03f3676ab4d
os_types.h
snprintf.c
2003-08-01 14:57:32 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a11b2b5223c1f1704105ed5a26c319e7efeba5de
Enable dist-zip since that packaging was the most popular on
sourceforge.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@270 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
2003-08-01 14:34:10 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
cd3bd3d78bb76152b58a6d529a4c34970fb03986
Set release date for 0.4 release.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@267 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2003-07-16 00:52:05 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b26c92852bd3474fab9730bbcdadf81613ebef7d
Replace the if tree for choosing sized int types with an easier to read
case statement.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@266 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2003-07-16 00:40:34 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
231a82bff53bdc53098672af60c6436ca99faca4
Use JBIG2_DEBUG instead of plain DEBUG for compile-conditional debugging
output. This reduces unnecessary output when we're compiled with our
client's CFLAGS. Request from Ray Johnston.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@265 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_arith.c
jbig2_image.c
jbig2_symbol_dict.c
jbig2_text.c
2003-06-17 19:24:09 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
69366cad35ef4da5c3c030a4e34c667df2fe900a
Automake automatically distributes COPYING, but not LICENSE. :)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@264 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
2003-06-14 11:11:24 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
db0078f2e4e5a4db5bf4d489c05a4047a89a0b90
Some wording cleanup.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@263 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2003-06-14 10:20:56 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c98a1913b50905360c05449ca30084ed51c6658a
Grant GPL exception for linking to AFPL Ghostscript.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@262 ded80894-8fb9-0310-811b-c03f3676ab4d
LICENSE
2003-06-14 10:15:52 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c0bc856d478246a9a5f0f6b264880fee99084a87
Add banner change to the changelog.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@261 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2003-06-14 09:40:02 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
8cb34f5bcc802d6ce57a78b50dc9c75eb0fe0667
Turn on keyword substitution so our $Id$ lines get updated in
subversion.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@260 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2003-06-13 22:42:55 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
43fcbcd7acbd0b2d64a770ca39590e2356df4337
Update the license headers to use the same legal redirect as Ghostscript
does. The individual files point to the file LICENSE which contains the
real license (a pointer to the GPL in COPYING). This simplifies
remarking for commercial distribution.
Also some minor additional debug prints in the symbol lookup code.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@259 ded80894-8fb9-0310-811b-c03f3676ab4d
LICENSE
config_win32.h
jbig2.c
jbig2.h
jbig2_arith.c
jbig2_arith.h
jbig2_arith_iaid.c
jbig2_arith_iaid.h
jbig2_arith_int.c
jbig2_arith_int.h
jbig2_generic.c
jbig2_generic.h
jbig2_huffman.c
jbig2_huffman.h
jbig2_hufftab.h
jbig2_image.c
jbig2_image.h
jbig2_image_pbm.c
jbig2_image_png.c
jbig2_metadata.c
jbig2_metadata.h
jbig2_mmr.c
jbig2_mmr.h
jbig2_page.c
jbig2_priv.h
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_symbol_dict.h
jbig2_text.c
jbig2dec.c
memcmp.c
os_types.h
pbm2png.c
2003-05-20 12:03:43 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
54850de6b0bf55dd409a699be469a133be564028
Bump version number post-commit.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@258 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
configure.ac
2003-05-20 10:39:43 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0797f658a74d280ca5bcec76ca932475d3b24be9
Set date for 0.3 release.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@255 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2003-05-20 10:34:03 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
cf4c5147c8ecf2babc6a1a816d27ddaf784b2a0f
Update changelog.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@254 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2003-05-20 10:31:54 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
4be0d08eaeb704454a7bf1dc95e7b6739fface4e
Complete implementation of mmr decoding. We now pass another of the ubc test bitstreams!
(042_3.jb2, mmr generic region) Patch from Tor Andersson.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@253 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_mmr.c
2003-05-20 10:30:43 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
01736665634a1be9b07b275a5a365b56f445d965
Recorrect a typo in the recommit.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@252 ded80894-8fb9-0310-811b-c03f3676ab4d
os_types.h
2003-05-07 22:45:42 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
72f228cadf2b189713cdcb92c1cb20facdab0822
correct a typo.
(recommitted after repository became corrupt. original change date Wed May 7 05:00:33 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@251 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2003-05-07 22:44:43 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
96c0fc6a33671822f63d5941e045c8f88e8e3241
Add Theo deRaadt's portable (v)snprintf implementation for portability, under
the BSD license, including advertising. A simple check was added to the configure
script, but no prototypes, so it may not help any on systems without the functions.
Submission from Jouk Jansen to allow compilation into Ghostscript on OpenVMS.
(recommitted after repository became corrupt. original change date Wed May 7 04:17:39 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@250 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
snprintf.c
2003-05-07 22:41:01 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c65c52c0638fdfd3613fc7becd77410769ac62ec
Move HAVE_LIBPNG to the msvc makefile; this shouldn't necessarily be included in the win32 build
(e.g. in ghostscript) so we only define it in our local msvc makefile.
(recommitted after repository became corrupt. original change Wed May 7 03:48:12 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@249 ded80894-8fb9-0310-811b-c03f3676ab4d
config_win32.h
msvc.mak
2003-05-07 22:39:09 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
1ed232578276caf6e999a2a9c0b6fd8952af659c
Further conditionalize the symbol dictionary debug dump: it's now enabled with DUMP_SYMDICT
instead of just DEBUG.
(recommitted after repository became corrupt. original change date Mon May 5 10:26:31 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@248 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2003-05-07 22:34:38 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
2f525802258cbed79e961d81e15390adf0f597ee
Avoid a (spurious) uninitialized variable warning.
(recommitted after repository became corrupt. original change date Mon May 5 10:23:28 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@247 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2003-05-07 22:33:22 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e3539c7888e025ebd0847d7099cf0a88b2465c8e
Pass the segment number to fprintf in the default error handler.
(recommitted after repository became corrupt. original change date Mon May 5 10:22:41 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@246 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
2003-05-07 22:32:15 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
5c9498154bb7e722777fcda2294b31535ef06e08
Bump version number post-release.
(recommitted after repository became corrupt. original change date Wed Apr 16 19:42:34 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@245 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
config_win32.h
configure.ac
2003-05-07 22:25:18 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
48db6a4570673a48ee2c911d2259c79437080b54
Add brief instructions for building zlib and libpng under MSVC.
Contributed by Russell Lang.
(recommitted after repository became corrupt. original change date Wed Apr 16 19:00:23 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@242 ded80894-8fb9-0310-811b-c03f3676ab4d
msvc.mak
2003-05-07 16:09:29 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
bfea189549eccb3a6f1a81bbd1bbb092ab789b35
Mention adobe encoder handling in the changelog. We still don't handle multi-page (separate global
stream) documents properly.
(recommitted after repository became corrupt. original change dated Wed Apr 16 18:45:19 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@241 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2003-05-07 16:07:31 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
bf2f470f28a35f6670aa9b31214e0624364f992f
strncasecmp() isn't portable. work around until we can provide our own.
(recommitted after repository became corrupt. original change dated Wed Apr 16 18:44:11 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@240 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2003-05-07 16:05:37 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
09f3c413c9112606dc3afae719884151280f4e9d
Update changelog for release.
(recommitted after repository became corrupt. original change dated Wed Apr 16 18:13:29 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@239 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2003-05-07 16:04:12 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a6217b4a900b82dd6af3076e964382a402c0bfbf
It turned out not to be feasible to share rules between our MSVC
makefile and the integration makefile in ghostscript, so remove it.
msvc.mak is returned to it's previous state except for some additions
made when common.mak was introduced.
(recommitted after repository became corrupt. original change dated Apr 16 18:10:01 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@238 ded80894-8fb9-0310-811b-c03f3676ab4d
common.mak
msvc.mak
2003-05-07 16:02:11 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
816d22aedc4bf1bc5d629f3b94b801c2ccf14693
Remove the warnings flag; -Wall is gcc-specific so we need to turn it on from inside configure if
at all. There is an AC_COMPILE_WARNINGS() in the GNU ac-archive.
(recommitted after the repository became corrupt. original change dated Wed Apr 16 15:56:27 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@237 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
2003-05-07 16:00:32 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e3d615c2d58020492dda10a84ac06977a76035ef
MacOS generally has stdint.h available (Apple's tools on MacOS X or recent Metrowerks CodeWarrior)
but may not be using the autoconf detection. Include it in such cases.
(recommitted after repository became corrupt. original change date Wed Apr 16 15:48:14 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@236 ded80894-8fb9-0310-811b-c03f3676ab4d
os_types.h
2003-05-07 15:59:19 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
7b85c55864583c6955e69f192795a66312b6aabd
Add -Wall to the CFLAGS.
(recommitted after repository became corrupt. original change date Wed Apr 16 15:45:59 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@235 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
2003-05-07 15:56:59 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
9e4350a4eedb67290d35526d526878ab99d8a1a2
Change the declaration to match the prototype.
(recommitted after repository became corrupt; original change Wed Apr 16 15:45:15 2003)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@234 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
2003-04-02 16:17:01 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
de8bf02d7172eba62b4d6a66c608cd9d11773d1e
Free the output filename.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@232 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2003-04-02 16:12:17 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
246505fd73f229f252b2ad368006ce234a09b7b9
Try to set the output format based on the extension given in -o if any.
Also fixes a bug where the format was undefined with -o. (yay valgrind!)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@231 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2003-04-01 21:57:40 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
362445ced69525d1556b72de5c078b87eed56625
Implement the '-t' option for setting the output file format.
Useful for forcing pbm output even when compiled with png support.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@230 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2003-04-01 21:00:23 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e07cbaf880581cb1f808e409725d2b94c55a8630
Allocate sufficient memory for the referred-to segment list.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@229 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
2003-04-01 20:56:59 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f5ff079d941a29486cc74bf08715b2a24c775af5
Add some additional comments.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@228 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
2003-03-31 21:27:05 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
5e95bfa1388379875a3b329b83046b997c15d853
Abstract common build rules to a separate makefile to facilitate building into ghostscript.
Someone should test that msvc.mak still works.
Ideally we'll make autogen.sh re-create common.mak at some point.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@227 ded80894-8fb9-0310-811b-c03f3676ab4d
common.mak
msvc.mak
2003-03-25 00:17:45 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
96f6a87358df7183b9070a8441cce4a2c2e46541
add some comments
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@226 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
2003-03-23 22:24:24 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
8f68c407604a7584cbd9c0b2323530b2451b24eb
Mention the new subversion repository.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@225 ded80894-8fb9-0310-811b-c03f3676ab4d
README
2003-03-10 14:44:01 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
65b4b234ef4c5d12d8d5f9d624d51595f9e8f14f
add a debug message about segment page association
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@222 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
2003-03-05 14:29:35 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f93bc27cbd73b33ac30122d2ca64aab63ce0e327
Make jbig2_find_segment() part of the public api and move it to jbig2_segment.c.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@221 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.h
jbig2_segment.c
jbig2_text.c
2003-03-05 12:25:54 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ce9531e0941d40cd301d1c1dfd15d6b0a4289cc8
correct a nested debug #ifdef
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@220 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2003-03-05 03:32:41 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c63db75d9076c14e2e7f89f4d93950f51a30d606
Update copyright dates on new files.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@219 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_metadata.c
jbig2_metadata.h
2003-03-05 02:44:43 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
22881a46c322b45b34e20b9270e825dbe5c2c1a1
Add support for ASCII-format comment extension segments. So far it's just
useful for printing out the contents through the error callback; eventually
there should be a public interface of the metadata tables and references from
the associated ctx/page/segments.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@218 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
jbig2_metadata.c
jbig2_metadata.h
jbig2_segment.c
2003-03-04 17:29:24 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
4f74ab25a2904a70c3e1e017090aed00cbd4cae3
Code cleanup: re-order a buffer-size check in the segement header parser to avoid a memory leak on
failure.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@217 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
2003-03-04 16:52:48 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
21c62259b5fa2ca459e5d0285ba35e1498523b95
Switch to automake 1.7 and move the options to Makefile.am.
Sorry, calling automake-1.6 on macosx was causing wierd errors. This was just
easier. I hope that with 1.7 the am maintainers are finally getting things stable.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@216 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
autogen.sh
2003-03-04 16:15:36 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
274ae8d1af9e66b43712a2ca589884cea01e9aee
Remove the check for malloc. Since we're assuming C99, it will definitely be there, and recent
versions of autoconf expect to be able to substitute a wrapper than handles malloc(0) a feature
we don't depend on.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@215 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2003-03-04 15:39:00 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
cb59bb24b925af295e1a387fc72042c143018e0e
Correct a typo in the previous commit.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@214 ded80894-8fb9-0310-811b-c03f3676ab4d
autogen.sh
2003-03-04 15:24:58 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e6ad78534cb77c4ae3beb02c2843f6a546794f13
Try to make autogen.sh smarter about automake version mismatch.
This is really silly, but there's a serious problem with incompatibility
between the various versions of automake, and while there is a mechanism
for requesting a particular version in the Makefile.am, most
installations don't make use of this information, and you're supposed to
know which automake to call. Since this obviates the point of autogen,
we attempt to match a requested version in AUTOMAKE_HEADERS to likely
executables. Probably not very robust.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@213 ded80894-8fb9-0310-811b-c03f3676ab4d
autogen.sh
2003-02-11 22:59:54 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
cfe0afbb44960be129c6d25fe3287d1ecfc15474
Correct some accidentally-introduced line breaks in the sha1 code.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@212 ded80894-8fb9-0310-811b-c03f3676ab4d
sha1.c
2003-02-07 05:14:09 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
5fb176e3daee8d87d1b6a25eb4d71b03a20694ea
Debug message for "referred to segment" had an extra level of
redirection.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@211 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
2003-02-07 05:06:46 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
376546a60ce0bf4ff095f234b1d8ad429b6b450b
Fixes: make find_segment search globals, and also fix off-by-one.
Disable memcpy optimization in jbig2_image_compose, because it's not
always valid.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@210 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
jbig2_text.c
2003-02-05 15:27:42 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
5e048fb252ff7f9b0355e444b0fb65804e68e1c7
Use a namespace-prefixed, more verbose name for the MMR huffman tables. They
were of course conflicting with their counterparts in Ghostscript.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@209 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_mmr.c
2003-02-05 15:09:59 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
fce47c5bcdb3d0fe30fdc0ac0868a27a76198a2a
Add double-include protection to the public header.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@208 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.h
2003-02-03 20:04:11 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
66d05e3c767bad968a98b9f63a88b07cb9df624f
Provide a default error handler if the client doesn't specify one,
analogous to what we do with the allocator. Also, check for failure
of the initial context allocator and improve api description in the
public header file.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@207 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2.h
2003-01-27 16:49:28 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
8fd3ed86d9a6b47715235d32994bd355f5d99f69
add some files to cvsignore
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@206 ded80894-8fb9-0310-811b-c03f3676ab4d
.cvsignore
2002-11-14 12:19:14 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
5df2b837e72d1d781fcc29c0d21f82222c2e7af4
Add the three-page test file from appendix h of the jbig2 spec. This version
was extracted from the final candidate draft but is identical to the officially
ratified versions.
Note that we can't actually handle this file yet.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@205 ded80894-8fb9-0310-811b-c03f3676ab4d
annex-h.jbig2
2002-08-15 14:57:53 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f24a7a84cca3fefe41cc459baf692fee6f0cd2ce
document portability fixes
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@204 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2002-08-15 14:54:45 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
73934fd922618a011046c6fcbd844b26854b584f
Remove //-style comments for the benifit of those not using gcc.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@203 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
jbig2_image_pbm.c
jbig2_mmr.c
jbig2_page.c
jbig2_symbol_dict.c
jbig2_text.c
jbig2dec.c
2002-08-15 13:52:28 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c6d9d6dd41f859c4dd3fb53c4fccc0ca34ca6a87
checkpoint commit: do-nothing -t option for setting output file type.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@202 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-08-15 11:55:34 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
771b3b4d02bb7f12c9e08cc602261857499ccefb
Prepend -lpng -lz to LIBS to preserve link order dependencies.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@201 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2002-08-14 16:58:00 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f5911b3cda06461a8f4fab259bb6f86d5453a0bb
correct order of pow() check
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@200 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2002-08-14 16:07:52 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d113ae2198cca92f0c82f55e1cb792fa66cc6004
Add a --with-libpng[=prefix] option. This can be used to specify the
prefix where libpng is installed (assuming prefix/include, prefix/lib)
if it's not on the default search path. It can also be used (as --without-libpng)
to explicitely disable the png output option.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@199 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2002-08-14 14:21:15 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
63165e5f84efb734262603fe81633d7d89e18fe8
libpng calls pow() which on some systems means we need -lm.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@198 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2002-08-14 11:44:53 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
377728e4294c745faeec8f63523621e3839bb8ee
Remove //-style comments.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@197 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image_pbm.c
2002-08-14 10:31:08 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
229557eb1f5fefdb69c63d38140edbbf5c7b6b6b
Declare the test vector (strings) as char instead of unsigned char. We already cast to (uint8_t*) before passing to the hash routines, and the declaration caused a signed/unsigned warning in strlen() on some systems. Thanks to Tom Kacvinsky for this one.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@196 ded80894-8fb9-0310-811b-c03f3676ab4d
sha1.c
2002-08-14 10:25:59 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
834b69f7023a5a3ea9c6e853cde1b67cbce29589
remove spurious semicolon. thanks to Tom Kacvinsky for catching this.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@195 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_arith.c
2002-08-14 10:22:57 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f30fb27aea0ad95045aa6ce8ae51335268762cf7
Fix up file-ending newlines. After a patch from Tom Kacvinsky.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@194 ded80894-8fb9-0310-811b-c03f3676ab4d
sha1.c
sha1.h
2002-08-10 10:39:20 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
865f3114b422acadb98f51f9ffdaf92bfe8e680d
refine const ** to const * const * to avoid warnings.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@193 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2002-08-07 12:50:33 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
85bf278b42fe3059dc8774d6f257dbc07ac50679
Use callbacks for writing png data out to a file. This is necessary when
dynamically linking to libpng on win32 when different run-times are used
for each library. Patch from Russell Lang.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@192 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image_png.c
2002-08-07 10:18:42 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
6aa746d4788e43727f93ed58581ef13f45f5e4b1
bump version post release
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@191 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
config_win32.h
configure.ac
2002-08-06 14:35:38 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
45ced1e5e5c2cb8401bc7784297a905aba29051d
cvsignore additions
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@190 ded80894-8fb9-0310-811b-c03f3676ab4d
.cvsignore
2002-08-06 11:52:43 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
8a586cd6708d8255128081511e072778cd3f0d76
fixup install target
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@188 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
2002-08-06 11:31:53 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
037a0bdc906e729e42ecb6914c722db0a8f27270
fix a typo
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@186 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image_png.c
2002-08-06 11:30:58 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
4b55adb9e7e662440502d9a7a5558ce69f3f1dff
Wrap the README at 72 character-per-line and add links to the website and
mailing list.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@184 ded80894-8fb9-0310-811b-c03f3676ab4d
README
2002-08-06 11:27:08 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
4fa4291e3366e1794fcb594d5b1c1aea8c293e2f
add the msvc makefile to the dist target
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@183 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
2002-08-06 11:15:29 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
bad2f808eed9cae57d030f76b3bb22f57618115e
Add some casts to avoid MSVC warnings where it improves readability.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@181 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_arith.c
2002-08-06 10:57:49 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
db6ba0ba18e02d73fcfcbdbddde043f8b841130f
Document png_init_io() not working on win32 when libpng is a dll. Please
link statically.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@180 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image_png.c
2002-08-06 10:54:19 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f5debdea11d7e557cacc8d101d2b37784cba2668
MSVC makefile updates from Russell Lang.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@178 ded80894-8fb9-0310-811b-c03f3676ab4d
msvc.mak
2002-08-05 23:07:54 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
9fae8ec8e63aaa7eabdf3a1b87271da507e079d1
additional code cleanup inspired by compiler warnings
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@176 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_mmr.c
jbig2_text.c
2002-08-05 23:00:52 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f8a8d032eda34625e956ad44a607c4243001ea81
remove unused variables
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@174 ded80894-8fb9-0310-811b-c03f3676ab4d
sha1.c
2002-08-05 22:56:51 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b9bdc3ab0c142018713b9ff4155b55525035b061
Fix incorrect check for error condition; thanks to Russell Lang's MSVC
compile log for this.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@172 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-08-05 22:55:02 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
15db0db751e9ea2df2f56c25cce79c02b8bab9be
include string.h for str* prototypes.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@170 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
2002-08-05 22:47:53 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
19968191d0e439174a62e9db1acda370373014ab
make the buffer rd/wr offsets unsigned ints to avoid signed/unsigned
warnings. they should really be offset_t, but we're scared to use that
because no one else does.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@168 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_priv.h
2002-08-05 22:46:00 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a889e79e5e6b5815428ad9dbe56b11a65c8aa395
remove an unused variable
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@166 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_page.c
2002-08-05 22:28:15 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
2c6315036696b95ebec9dbb770283fee37b076fd
Define PACKAGE and VERSION for the win32 build
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@164 ded80894-8fb9-0310-811b-c03f3676ab4d
config_win32.h
2002-08-05 22:26:21 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
554d849f37c9e0a6b715378feca28c1187fc3c75
remove an unreferenced variable.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@163 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2002-08-05 21:43:26 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
12819e23ead5fb7b54d28df3802d4678c0350a86
properly pass in the client params with the error callback when opening embedded streams
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@162 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-08-05 18:06:37 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0f4c012e1c266f010bb0f04b1319e9d5f82308dc
Add headers and test script to Makefile.am so they get distributed.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@161 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
2002-08-05 18:06:06 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
84599735f9e9e101f3f7a93002127b60248c7fa3
remove redundant package and version indications
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@159 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2002-08-05 17:10:44 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
6455a4bffb866a47732b574d1f2fd105f8b03544
Add a memcmp() implementation, pulled in by autoconf if it's not available
or the system version is broken. Don't know where the header's supposed to
come from, since it defines no symbol for conditionalizing a prototype.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@157 ded80894-8fb9-0310-811b-c03f3676ab4d
memcmp.c
2002-08-05 16:56:19 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d77b454b4a356db81c8db7d0f74e5dc13dc46707
mention reg testing in changelog
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@155 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2002-07-20 17:23:15 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0a3078ab2eb1718856a54d53056da4b68d976932
move repeated configuration includes to a new os_types.h
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@153 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2_arith.c
jbig2_arith_iaid.c
jbig2_arith_int.c
jbig2_generic.c
jbig2_huffman.c
jbig2_image.c
jbig2_image_pbm.c
jbig2_image_png.c
jbig2_mmr.c
jbig2_page.c
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_text.c
jbig2dec.c
os_types.h
sha1.c
2002-07-20 17:06:04 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
7a07db105fb7181327662b01282ccae6b69fa67b
require automake 1.6
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@152 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
2002-07-20 16:19:33 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
988dc4fc92252070dfdc00c7aa44ebc91c2c7a74
minor rearrange
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@151 ded80894-8fb9-0310-811b-c03f3676ab4d
sha1.c
2002-07-20 16:09:08 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
4d306e9ed969ff29bbceb2092ca67d9671e04a6a
document endian worry
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@150 ded80894-8fb9-0310-811b-c03f3676ab4d
sha1.c
2002-07-20 16:05:14 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
201eeb8a511e28806bf1786ff1b57b8331b34808
Remove an obsolete AC_SUBST
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@149 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2002-07-20 16:07:34 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a61fc54c09021114fae3744f16f4fa6fb79192be
Space after testing message elipsis.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@148 ded80894-8fb9-0310-811b-c03f3676ab4d
sha1.c
2002-07-20 16:02:24 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
bf37c640d04807206926a1fe7b7c501db9225452
Replace (optional) linking to the openssl implementation of SHA-1, which
is not GPL compatible with a native implementation based on Steve Reid's
public domain implementation from sea-to-sky.net. Our version remains
public domain, but now requires our autotools-generated headers.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@146 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
configure.ac
jbig2dec.c
sha1.c
sha1.h
2002-07-17 23:59:29 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
950df8201674a19af5fa5ff61ba7b006b0691edb
Use the recommended 'generalized' digest api from openssl, still computing
SHA-1. Treat the hash bytes as unsigned; update the ubc hash values to
properly printed ones. N.B.: the printing hash still doesn't match the one
generated by invoking 'openssl dgst -sha1 -hex' on the pbm output with the
header stripped. I don't understand why.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@144 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
test_jbig2dec.py
2002-07-17 13:59:47 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e21659fda78e53fdcbed87290a51a178d26788f6
Add a regression test script based on the python unittest framework.
It looks for known files, runs 'jbig2dec --hash' and compares the result
to the known correct value. Currently it looks for the ubc test files
in '../ubc/'
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@143 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
test_jbig2dec.py
2002-07-17 13:52:53 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d88cf9f4fdb0b874f9544ac54bcbf3b536665096
comment out debug printouts
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@142 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_mmr.c
2002-07-16 21:19:09 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
7d8a599b44667b94b66cc94d818ff62ea7826d3d
implement --quiet and --verbose. Verbosity now defaults to '1', which
only warnings and fatal errors. -v recovers the old behavior. intermediate
levels can be set with --verbose=n. -q/--quiet is the same as --verbose=0;
it should supress all messages.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@141 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-07-15 23:50:47 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
427435dd1db50cb1b88000e6f785fcfe74c3bb0e
implement --version
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@140 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-07-15 23:25:30 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
dabd594f325487412c44b593b8aae566c3fc9eab
add config_types.h.in, generated by autogen.sh, to the AM MAINTAINERCLEANFILES variable.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@139 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
2002-07-15 20:01:01 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d53ab5a9d654df525f522afb43c6afeb6c1b6d4b
Add a '--hash' cmdline option to print the SHA-1 hash of the decoded
document. Useful for regression testing. We currently use the openssl/
libcrypto implemention; there's provision for fallback to a local version
but I've not written one yet. It should probably just be the default once
provided.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@138 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
jbig2dec.c
2002-07-13 01:22:50 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
778b53afed3f8cd0caa85d81a3f1fd0a3a35c446
update configure.ac to 2.53, use AC_LIBOBJ() instead of updating LIBOBJS directly
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@137 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2002-07-13 01:10:00 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
da5605986165e0acfde37fda4dfe594eba8d95d0
remove 'can define uint32_t as' messages and fix a typo
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@136 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2002-07-13 01:04:32 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
31aeca142b98bd794167a31c741bf73b191d6adb
Don't use shell expansions in the init macro arguments; autoconf now provides m4 macros for that.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@135 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2002-07-13 00:32:43 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f9e3d8813674fe45ec12a3b75f5ab9024747a41d
make jbig2_decode_text_region() static
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@134 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2002-07-13 00:32:13 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
8c096907fe8dd6484d21c45b96ed035fee36b776
Fix up make_output_filename(), improve usage message.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@133 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-07-13 00:03:52 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
372fddd151857b3047e1487589e88f4555c0ec9a
ui cleanup. output filename generation is broken
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@132 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-07-09 10:39:08 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e7ee4564585ddd8cd3ab20af5df840d818be0751
protect definitions of TRUE/FALSE
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@131 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_priv.h
2002-07-09 10:13:13 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
21b56ef9c96211883841f4b55342c805a09619a4
Prefer #if defined()
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@130 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2002-07-09 10:09:19 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
6bb931251b4346a34dca8eafdfa1157c3bf7b339
Correct win32 headers dependency.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@129 ded80894-8fb9-0310-811b-c03f3676ab4d
msvc.mak
2002-07-09 09:49:31 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
9f0cd84893d4b71effe4bfd4595d59a5be7f6fc5
We now decode the CVision Starr Report page embedded stream, once extracted from the pdf.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@128 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2002-07-09 09:45:32 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
75e38f7a64fa7aace00e9a8a48cdfe1904adecc5
Work around missing end-of-page segment in CVision's PDF-embedded jbig2 streams.
jbig2_complete_page() becomes a public function marking the current page finished
so the client can call it at end-of-data, since data-shovel interface has no way
of passing that out-of-band. The segment dispatch calls a new jbig2_parse_end_of_page()
which does error checking and then calls jbig2_complete_page().
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@126 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.h
jbig2_page.c
jbig2_priv.h
jbig2_segment.c
jbig2dec.c
2002-07-09 09:38:37 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d7d07a0b4a33596ac29f0e3809720e829cf1427b
Correct the dictionary-referral logic in the text segment decoder. Previously
we were using the decode order index to lookup the referenced segments(s) but
this breaks if the segment numbers don't begin and 0 and increase one-by-one.
We now search backward looking for a matching segment number. Should replace
this with a binary search once we start seeing bigger files.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@125 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2002-07-08 19:23:11 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
66b303cfa844f3f8afcebb5d212520cf6de77f7a
additional debug messages
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@124 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_priv.h
jbig2_segment.c
2002-07-08 19:21:35 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ca393a748cf39ff0818a4183a6deb272ade44bfb
Fix parsing of sequential files.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@123 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
2002-07-08 14:54:02 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0e74e387b2ac9dfb748dc090528bc1debe347afa
Add support for building under Microsoft Visual C++ after a patch from Russell Lang. Please test.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@121 ded80894-8fb9-0310-811b-c03f3676ab4d
config_win32.h
jbig2.c
jbig2_arith.c
jbig2_arith_iaid.c
jbig2_arith_int.c
jbig2_generic.c
jbig2_huffman.c
jbig2_image.c
jbig2_image_pbm.c
jbig2_image_png.c
jbig2_mmr.c
jbig2_page.c
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_text.c
jbig2dec.c
msvc.mak
pbm2png.c
2002-07-08 14:26:03 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
44cbf7cdc4d9c545004218ffc10c41b2fab7c38c
Remove the internal include of stdint.h from jbig2.h, enforcing the requirement
that the calling C file to do so.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@120 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.h
jbig2_image_pbm.c
2002-07-08 14:19:51 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
7ea3cbeb28b39fe56c7d791361f969b255fb59bd
Add a CHANGES document.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@119 ded80894-8fb9-0310-811b-c03f3676ab4d
CHANGES
2002-07-08 14:13:04 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
eb37c87f0474f8d055520f3cda6fb0ddec667bbf
add pbm2png to cvsignore
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@117 ded80894-8fb9-0310-811b-c03f3676ab4d
.cvsignore
2002-07-08 14:11:36 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
12c09379bf9380ca153eff8f96ebb84f00d7a000
Update pbm2png.c to pass a jbig2 context for the allocator, so that
it can be linked against the current routines.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@116 ded80894-8fb9-0310-811b-c03f3676ab4d
pbm2png.c
2002-07-08 14:10:27 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c860cbae3e0b07420dfd2407173673a451a36237
Don't look for png.h specifically. This was causing problems with png.h was in an -I in CFLAGS, but not the standard place.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@115 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2002-07-08 13:45:50 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
af9ddb9b26b13821f97d789f866c09c15bcc254e
add config_types.h(.in) to cvsignore
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@114 ded80894-8fb9-0310-811b-c03f3676ab4d
.cvsignore
2002-07-08 13:40:15 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b9d1e45dc2ee18fe0935e174499779f5b2505028
Work around stdint.h portability problems. If the C99 header isn't available,
look for uint32_t in a few other likely headers. Also try and discover appropriate
sizes and use our own typedefs if no useful header is found.
All this goes into a new generated header file 'config_types.h'. We abuse
autogen.sh to create the template so it doesn't clutter cvs for non-autotools
builds.
Include config.h and config_types.h into every file that includes jbig2_priv.h
so ensure the types are defined.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@112 ded80894-8fb9-0310-811b-c03f3676ab4d
autogen.sh
configure.ac
jbig2.c
jbig2_arith.c
jbig2_arith_iaid.c
jbig2_arith_int.c
jbig2_generic.c
jbig2_huffman.c
jbig2_image.c
jbig2_image_png.c
jbig2_mmr.c
jbig2_page.c
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_text.c
jbig2dec.c
2002-07-07 20:38:26 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
63beb9c3beb1b0a0ab3579ab8e7b17b02c0f76f9
minor rename
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@111 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_page.c
jbig2_priv.h
jbig2_segment.c
jbig2_text.c
2002-07-07 20:30:57 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
6c00475e659e7f29c142e879ec3dd9d4b5375ee5
Handle lossy and intermediate text regions as well as lossless immediate.
Store the bitmap for intermediate text regions into the segment's result field for later use by a refinement region.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@110 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
jbig2_text.c
2002-07-04 16:33:44 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d85ffd487d624754ce5784fb970e939bc8b9dd5c
API renames. Main loop is now jbig_data_in(data); image=jbig2_page_out();
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@109 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2.h
jbig2_page.c
jbig2_segment.c
jbig2dec.c
2002-07-04 13:54:09 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f94a083d0d5f35721a1fbdd61f2b908ae41b9189
cvsignore update
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@108 ded80894-8fb9-0310-811b-c03f3676ab4d
.cvsignore
2002-07-04 13:53:38 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
4c517739877594997a67dfd383c80c8d3dacc96b
fill out the README
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@107 ded80894-8fb9-0310-811b-c03f3676ab4d
README
2002-07-04 13:34:29 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
2048089ff9b99ac20bcfcb4dad4b2238e796db68
Clean up some warnings from MSVC. Thanks to Russell Lang for the report.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@105 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2_arith_iaid.c
jbig2_arith_int.c
jbig2_generic.c
jbig2_generic.h
jbig2_image.c
jbig2_image_pbm.c
jbig2_mmr.c
jbig2_page.c
jbig2_priv.h
jbig2_segment.c
jbig2_symbol_dict.c
2002-07-04 12:08:03 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
6515f25ce92cb589a7ed16217dffcc012e08a4ea
Code cleanup (obsuscation?) Turn off excessive debugging output.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@104 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
jbig2_text.c
2002-07-03 21:51:09 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
cdac7ee4efe0e16a97c2d564af1b59b60f66e2d3
Fix image compositor. Code is not beautiful, but works.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@103 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
2002-07-03 19:54:43 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f4a16df4d230a900f2068a268103184da90097e4
checkpoint compositor development
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@102 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
2002-07-03 19:43:21 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a6820e140bc4b306fb7852ae4994bf6d38f2a906
As per raph's suggestion, switch to byte-wise addressing for the image data.
It solves some endianness problems, and saves a significant amount of memory
since page and pattern dictionaries contain many small (< 32 pixels wide)
images.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@101 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.h
jbig2_image.c
jbig2_image_pbm.c
2002-07-03 14:56:15 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
55a01f747fb2b992f7b777f1a2d7ee8cac1e13af
Compositors now producing reasonable-looking output.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@100 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
2002-07-03 00:55:44 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
6b872950543e8b6179b301da282baed48ddd6a67
checkpoint commit of compositor.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@99 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
2002-07-03 00:30:20 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
154b1f71742acab16d9106796cede9c3f12a65c8
Oops. Previous stride calculation was correct.
Also remove obsolete png test code.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@98 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
jbig2_image.c
jbig2_image_png.c
2002-07-03 00:10:07 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
3b182de2e206756ddcdd715d8f561273f75a62c2
We've been using (and want) the image stride in bytes, not words.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@97 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.h
jbig2_image.c
2002-07-03 00:08:40 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a5f7064637d1d9efe7c0a0920d81f70f99c6d456
#ifdef the debug fprintf()s. comment cleanup. actually transpose on TRANSPOSED.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@96 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2002-07-01 19:34:31 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
6c52ccfe9970dc5b709c378d49187ebb2874aa81
Text region decoding now seems to decode 042_10.jb2 correctly. Added
IAID decoding procedure. Changed jbig2_decode_text_region to use IAID
procedure. Fixed off-by-one errors in corner alignment calculations.
Added for (;;) loop for 3c, corresponding to looping over all symbol
instances in a strip (outer while loop corresponds to looping over all
strips in the region). Fixed predicates in CURS updating logic.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@94 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
jbig2_arith_iaid.c
jbig2_arith_iaid.h
jbig2_text.c
2002-06-27 14:02:08 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
91c71a44412a052616c45f6e50a0431a103514a8
checkpoint in-progress text decoder. close but no data yet.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@93 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_text.c
2002-06-24 23:28:13 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ef06d243c1a26abd9223181b8c5751ceb051258e
another checkpoint of text region decoding work. referred-to segment info is correct now.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@92 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2_priv.h
jbig2_segment.c
jbig2_text.c
2002-06-24 19:09:47 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
5613e3f978e406268fe5c42b7da322c0e4bfa7a9
checkpoint in-progress text region decoding procedures
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@91 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
jbig2_text.c
2002-06-24 18:44:45 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a6752fd2a6859efeabbb29954d5b5d34ec0eb96b
use the correct number of bytes in reading the referred-to segment numbers. (still untested)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@90 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
2002-06-24 18:40:01 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
6cb5f391cd0ec8bdc0485780697793b71004429c
Save referred-to segment numbers. (untested)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@89 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
2002-06-24 15:51:57 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
fcc43c7fb7d236c2c30a2b9eba5fdd52bb84f56a
checkpointing work on text region decoder.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@88 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.c
jbig2_image.c
jbig2_priv.h
jbig2_symbol_dict.c
jbig2_text.c
2002-06-22 21:20:38 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
468a9f35baa5c64f3be49f60ba800f72dba501ef
Store the decoded symbol dictionary in the result field of the corresponding
segment.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@86 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
jbig2_symbol_dict.h
2002-06-22 16:05:45 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f2ac7803db2d376bab0734f3e7629faea7bc7297
Gratuitous renaming. Promote the segment header to Jbig2Segment and use it
to store intermediate results rather than the results objects raph had sketched.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@84 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2.h
jbig2_generic.c
jbig2_generic.h
jbig2_mmr.c
jbig2_mmr.h
jbig2_page.c
jbig2_priv.h
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_symbol_dict.h
jbig2_text.c
2002-06-22 10:08:43 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
7fc72d14be2af5e15866a9124a99b6dafea65dcd
Treat seg_idx=-1 specially in the error callback, since we're using that for
cases where the segment number is inappropriate or not available.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@83 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-06-22 09:58:26 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
8384a640605066b60d21140504f92d31dd77947f
Interpret '-' as an output filename meaning stdout.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@82 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-06-22 09:47:31 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
72591b23f58efc91e6b92b85540825f29344d520
remove the redundant width and height fields from Jbig2GenericRegionParams
in favor of the dimensions of the passed Jbig2Image
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@81 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.c
jbig2_generic.h
jbig2_symbol_dict.c
2002-06-21 23:11:29 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
8f1012147073d64f79de947930f1ac6b4fca959a
restore original behavior for -DOUTPUT_PBM
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@80 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2002-06-21 22:56:54 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
30beab7a07268fe5ccd204fdc621a7fee3489e8f
Update decode_symbol_dict() to use images, fixing a type-related bug from the earlier changes.
Report debug messages through the official mechanism.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@79 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2002-06-21 22:54:03 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
69b79684b3f800c7e22dcd16a1fd28a33d067e92
remove dead code
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@78 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_symbol_dict.c
2002-06-21 19:11:28 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
acf706d0e91ebcf8b3d73c83d168af6e2de05a25
remove dead code
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@77 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-06-21 19:10:02 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
123697184141b211dfd599a1fb2eb94e8079ce5e
Generic regions decode into Jbig2Image structures, which are then (trivially)
composited with the page buffer as the final step in handling the segment.
We now write the page data out at out.png or out.pbm. Compile with -DOUTPUT_PBM
for the old behavior.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@76 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.h
jbig2_generic.c
jbig2_generic.h
jbig2_image.c
jbig2_image_pbm.c
jbig2_mmr.c
jbig2_mmr.h
jbig2_page.c
jbig2_priv.h
jbig2dec.c
2002-06-20 15:42:48 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ed23b26857f9d5324a52730e7504c1a14a2d3161
Beginnings of text segment handling. Parse (most of) the text region
segment header. Move the region segment info parser to jbig2_segment.c
and jbig2_priv.h since this is shared by all region segment types.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@75 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
jbig2_generic.c
jbig2_priv.h
jbig2_segment.c
jbig2_symbol_dict.c
jbig2_text.c
2002-06-20 15:40:36 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
22320087293f0de716d1e214ee74e1e1da822234
Fix a precedence bug which prevented using the first page structure.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@74 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_page.c
2002-06-18 13:40:29 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0cad58a5a6857aebb665c79706ba33acabc550fd
Handle 'page info' segments, and allocate an image buffer based on the page size.
also adds hooks for final compositing and output of the page buffer.
in addition, minor code massage and dead code removal; make the image structure
public.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@72 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2.h
jbig2_image.h
jbig2_page.c
jbig2_priv.h
jbig2_segment.c
jbig2dec.c
2002-06-18 09:46:45 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
033b9666bac46060559b74b2f2a620fde5fc7f32
Add warnings for remaining unhandled segment types. remove dead code.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@71 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
2002-06-17 21:11:51 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
867871515b0d0bce9d092e66a1a787b45681ad76
add prototypes for segment header routines
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@70 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.h
2002-06-17 21:06:38 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
5219d82fa11b750c446a1d00d2bc269cea245610
Further segment code rearrangement. Add some comments and promote some bitwise types to unsigned. Also add some diagnostic messages on segment type.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@69 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2_segment.c
2002-06-17 16:30:20 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
dcb620344060d47d77e620d23c0e3e6aa3838f6b
Update the image routines to use the ctx structure for dynamic memory and remove the test framework.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@68 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
jbig2_image.h
jbig2_image_pbm.c
2002-06-17 13:27:07 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f46505e1adb56bcac9bbf00ec8b264dc50963764
add some autotools files to .cvsignore
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@67 ded80894-8fb9-0310-811b-c03f3676ab4d
.cvsignore
2002-06-15 16:16:20 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
559870f8c41c8e7741035e28801cf6f8a911bd25
actually add the segment header source
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@66 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_segment.c
2002-06-15 16:02:56 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c47c3b08840eb8e709fad19c018845d2ec00087d
add segment routines in a separate file. prune the semi-dead jbig2dec.h in
favor of jbig2.h and jbig2_priv.h. Update to C99 fixed-width types.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@64 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
jbig2.h
jbig2_huffman.c
jbig2_huffman.h
jbig2_hufftab.h
jbig2_image.c
jbig2_image_pbm.c
jbig2_image_png.c
jbig2_page.c
jbig2_page.h
jbig2_priv.h
jbig2dec.c
jbig2dec.h
2002-06-15 15:47:21 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
2dce5e044ea710e68b1716ca543800c64ad633aa
Add -lpng to LIBS when the png library is available.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@63 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2002-06-15 14:15:12 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
57c5cda834b84dbec0f4898427bf4283dc2c327d
Add page segment parse and dump routines.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@62 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_page.c
jbig2_page.h
2002-06-15 14:12:50 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e22ae8f124c9ed5a3ccadbad3a302285d94ffc4c
minor code rearrangement and comments
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@61 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2_symbol_dict.c
jbig2_symbol_dict.h
jbig2dec.c
2002-06-05 00:15:57 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
43bf50d093b48ad481fc24656b66d34422ac07dc
Brings code into line with spec. This fixes the SOFTWARE_CONVENTION case
as well. Thanks to William Rucklidge for spec clarification.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@60 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_arith.c
2002-06-05 00:03:49 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
8055e400b7d9b32c355e8c7dc2cf286a59dc1ece
Fixes bug in arithmetic integer decoding procedure. Thanks to William
Rucklidge for providing trace data to help track down the problem.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@59 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_arith_int.c
2002-06-04 16:51:02 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
2d6d6e0c7b2c97e52a3363eae09841a17fe8e272
Add pbm import support and a simple 'pbm2png' implementation as a test harness for the image code. No makefile support--just didn't want to lose the code.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@58 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.h
jbig2_image_pbm.c
pbm2png.c
2002-06-04 16:47:09 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f508fadb8bfad2296ff963203183ea25ec6d8080
add some description of the decoder commandline options
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@57 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-05-09 02:29:10 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
693e8b2190c36a706b8b5de4bc3771d8d0acbcd3
add getopt implementation for portability to systems w/o getopt_long()
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@55 ded80894-8fb9-0310-811b-c03f3676ab4d
getopt.c
getopt.h
getopt1.c
2002-05-08 03:03:18 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
04d17fa29806f730e03290b7ab4ee415600ba9e7
Code cleanup and rearrangement.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@54 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_mmr.c
jbig2_symbol_dict.c
jbig2dec.c
2002-05-08 02:36:04 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
42ead910c9d9d4e3f6dd69e91be16f5de42ffef7
Rename the png output source files, and add pbm output support. Also allow
writing to a FILE* instead of a filename so we can send things to stdout, etc.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@53 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
jbig2_image.c
jbig2_image.h
jbig2_image_pbm.c
jbig2_image_png.c
png_image.c
png_image.h
2002-05-08 02:28:02 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
0459e440350325b04aaa0bd1f70120ce1066716b
add autotools files to .cvsignore
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@52 ded80894-8fb9-0310-811b-c03f3676ab4d
.cvsignore
2002-05-08 02:27:29 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f12873269a2ab271026afa7640bbba2a73a6a5a7
Autoheader and configure fixups.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@51 ded80894-8fb9-0310-811b-c03f3676ab4d
configure.ac
2002-05-08 00:59:20 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ab76b7e32ea5c79915b5ebe94a84ae8b4b29ee78
Rought autotools support.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@50 ded80894-8fb9-0310-811b-c03f3676ab4d
Makefile.am
autogen.sh
configure.ac
makefile
2002-04-25 23:24:35 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
0f218050d34326a38a89f07e772a7c4fc350fb10
Makefile changes to add jbig2_mmr functions.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@49 ded80894-8fb9-0310-811b-c03f3676ab4d
makefile
2002-04-25 23:24:08 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
971100aa3b5f56756fbd31a03ca4212209881f09
Adds partial support for mmr (CCITT 2D fax) decoding. This commit can
scan Huffman codes, but does not apply the logic to produce run lengths.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@48 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_generic.c
jbig2_mmr.c
jbig2_mmr.h
jbig2_symbol_dict.c
2002-03-28 08:28:02 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
98a2ac892b58569ae1a5a258c0b502fbf56da0b4
basic getopt-based commandline parsing
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@47 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-02-19 07:09:16 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ef36831c93670a262622d3acad6a208d73d1d81e
simple code cleanup. add license headers, include jbig2dec.h with dead code.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@46 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.h
jbig2_generic.c
jbig2_generic.h
jbig2dec.c
jbig2dec.h
2002-02-19 05:48:44 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
5d215388772fd0c2931cdc4cafca74c1256bfea6
Abstract the compiler command.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@45 ded80894-8fb9-0310-811b-c03f3676ab4d
makefile
2002-02-16 07:25:36 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
625abbded569d5ffde7301d497158b0116313f21
Lots of changes: Added template 0 generic decoder. Added "results"
mechanism to Jbig2Ctx for storing the decoded results, but not yet
any segments which store their results there. Changed generic region
API slightly so callers could pass in more context (needed for
generic region decoding other than generic). Added arithmetic integer
decoder. Started symbol dictionary decoder. Currently, this decodes
about 200 symbols from the cvision global dict, then goes haywire.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@43 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2_arith.c
jbig2_arith.h
jbig2_arith_int.c
jbig2_arith_int.h
jbig2_generic.c
jbig2_generic.h
jbig2_priv.h
jbig2_symbol_dict.c
jbig2_symbol_dict.h
jbig2dec.c
makefile
2002-02-15 20:46:30 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
107138382e590d3851ba1b5e897a33f2cf27ee4b
A good start at generic region decoding. The added jbig2_generic code
handles GBTEMPLATE=1 with vanilla options and the adaptive template
pixels in their nominal locations. This is sufficient to successfully
decode the 042_4.jb2 test stream.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@42 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2_arith.c
jbig2_generic.c
jbig2_generic.h
jbig2_priv.h
makefile
2002-02-13 08:47:18 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
0a9304dad738268b27556717bf83936c15618506
Implementation of new API as discussed on jbig2-dev. Not all logic
of existing jbig2dec.c has been ported to new codebase - in
particular, jbig2_read_symbol_dictionary and jbig2_read_page_info.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@41 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2.h
jbig2_priv.h
jbig2dec.c
jbig2dec.h
makefile
2002-02-12 02:19:36 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
3a77ab1dd49743f0ed9cc0ad862671f462781bd1
'normalize' formatting.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@40 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-02-12 02:19:08 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a2eca8001a79d7df3c848139519bf7b7b9778113
Standard protection against multiple and C++ inclusion.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@39 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.h
2002-02-10 01:17:26 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
ce1259d7b14345427766fb5c541b41b2c5e1f203
Update usage to reflect the embedded stream mode.
Normalize formatting :)
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@38 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2002-02-09 22:31:53 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
f0780d5ad41298cf609f8e27d869c534dbcdaa23
Adds some support for "embedded" format, with separate global and page
streams. Also fixes some minor bugs.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@37 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2001-08-13 20:31:59 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
30034932cea9e2e37d781763d36b06607b8337be
Fix image stride calculation, and generate a simpler (checkerboard) test pattern.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@36 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
png_image.c
2001-08-13 19:51:16 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
595741f11dc91377adf4093b88abccb5b1b30660
one-line readme
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@35 ded80894-8fb9-0310-811b-c03f3676ab4d
README
2001-08-13 19:50:52 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
e42dde61dd9441585efa5874880b1c42dc90687c
start of a .cvsignore
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@34 ded80894-8fb9-0310-811b-c03f3676ab4d
.cvsignore
jbig2_hufftab.h
2001-08-11 06:46:15 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
b82c5a1be026e14a63c6e3ede436acf9590a7610
png output now compiles
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@33 ded80894-8fb9-0310-811b-c03f3676ab4d
makefile
png_image.c
2001-08-10 23:29:28 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
7181b7a84184562ccf72e34c11f75b158b58e61b
initial image buffer and png output routines
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@32 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_image.c
jbig2_image.h
makefile
png_image.c
png_image.h
2001-07-05 22:37:44 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
15fbf3afe60b17b958fd38ed902ddae67554f804
more general huffmann test routine
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@31 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
2001-06-26 00:30:00 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
678523a15572456b68612fafc422d4dee29ca59c
move the huffman tables to a separate header
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@30 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
jbig2_huffman.h
jbig2_hufftab.h
jbig2dec.c
2001-06-14 23:09:23 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
47a138b6362c314be4cfd91977ac61b3cf772e0f
complain if the file uses the 'random access' layout which we don't handle yet.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@29 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2001-06-14 08:25:01 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
83513ef82b18de95374d8e6c229658735d76af32
attempt to skip the right number of bytes in long-form segment references.
attempt to read long page association fields properly. both untested.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@28 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2001-06-12 23:35:53 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f1a9f2cddd17bc53e0b3952b5f05c7427a493ba7
added parser for the page info segment
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@27 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2001-06-12 09:56:33 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
8a02a862c8fa9f0bb5def02e5ea9ccc1414dabe6
added complete list of segement types to dump_segment()
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@26 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
2001-06-12 09:15:13 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d498a8c2f375315c2de3c62ea270e447bf0bde44
make get_next_word return uint32
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@25 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2dec.c
jbig2dec.h
2001-06-12 09:09:04 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
f77dcdbe70ec1ba574ba25c37de81dfaf27ebc52
more general huffmann test code, borrowing from the arith version.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@24 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
2001-06-10 08:43:48 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
bfc0107419650f5f696115c4accf1ab88b923c43
minor comment update
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@23 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_huffman.c
2001-06-10 07:15:10 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
c5b572ab3f1e3a243408b84498bb7d7dce808b71
added 'make clean' target
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@22 ded80894-8fb9-0310-811b-c03f3676ab4d
makefile
2001-06-10 07:09:18 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
d9367f7452f9117ce3a7f7649966cb42a2c33995
added copyright statements to the source files
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@21 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_arith.c
jbig2_arith.h
jbig2_huffman.c
jbig2_huffman.h
jbig2dec.c
jbig2dec.h
2001-06-10 07:03:08 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
a2cb3337c3f559fc65d3122d649386c797fbc949
updated includes for the jbig2dec.h name change
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@20 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_arith.c
jbig2_huffman.c
jbig2dec.c
makefile
2001-06-10 06:50:58 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
4369688dfbf2235ed466f38af4ddd11ab781ceaf
renamed jbig2.* to the more eponymous jbig2dec.*
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@19 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2.c
jbig2.h
jbig2dec.c
jbig2dec.h
2001-05-31 06:23:32 +0000
raph <raph@ded80894-8fb9-0310-811b-c03f3676ab4d>
9cd558cd34c857cb3fc15167a754d1619ecc57d3
Fixed API so that context is now an argument to the arithmetic decode
procedure. Context is also now packed into a byte, and context changes
are done with a single xor.
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@18 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_arith.c
jbig2_arith.h
makefile
2001-05-30 21:36:25 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
fa37e9a7b8c933da66c2850a22c10559f38c68bb
added GPL license
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@16 ded80894-8fb9-0310-811b-c03f3676ab4d
COPYING
2001-05-30 21:05:43 +0000
giles <giles@ded80894-8fb9-0310-811b-c03f3676ab4d>
df5789c4fe4bc7085bac37a70e630c326ffd3965
add missing stdio include
git-svn-id: http://svn.ghostscript.com/jbig2dec/trunk@15 ded80894-8fb9-0310-811b-c03f3676ab4d
jbig2_arith.c
2012-09-08 09:58:53 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
faac14fb1532533a811649cef2b68cf95ec50fdf
Bug 693291: Quote shell variables to support spaces in path.
gs/base/configure.ac
2012-08-10 09:27:00 +0100
Ken Sharp <ken.sharp@artifex.com>
7254338bbdcc9b80805c644712edd5d24b781fcb
pdfwrite - linearisation.
First attempt to make pdfwrite emit linearised PDF. THis basiclaly works
but needs some attention to the shared object table, and memory cleanup
still needs to be done.
pdfwrite - linearisation project, ma ny changes
Alter rewrite_object to parse the object and alter teh numbers of any objects which it
references
modify rewrite_object to record the offset of the nely rewritten object in the
linearised file, so we cna later write an xref.
Numerous 'off by 1' bug fixes relating to object 0 and whether pages are
numberd from 0 or not.
Write all pages and their objects, and shared objects, in the correct order.
Write a primary xref table.
Record CharProc resource usage by fonts.
pdfwrite - linearisation code
Add code to rewrite the secondary xref with the actual offsets of the objects
Write a dummy primary hint stream
Record the offsets of the primary hint stream and linearisation dictionary.
pdfwrite - linearisation
It turns out that for the hint stream we need to know which objects are used
on every page (shared or not).
This change laters the record for each resoruce to add an array of integers
documenting which page(s) the resource is used on, as well as whether it is
shared or not and so on.
This means that instead of a simple chunk of memory, the record is now a gc
object, properly tracked and relocated and so on.
Added code to track the location of some more objects in the linearised file,
for the benefit of the linearisation dictionary.
Added code to rewrite the linearisation dictionary with the final numbers, and the trailer dict with the correct numbers too.
pdfwrite - linearisation various changes
Remove some unused variables to silence compiler warnings
Sort out the object numbering so that the seocond page is object
number 1 (this is a requirement, but its not obvious in the spec). Make sure
the 'part 9' objects (Info dict, metadata etc) have number that start after
all the page objects, unique objects per page, and shared objects.
Move the hint stream generation so that the hint stream is *after* page 1 and its
resoruces as this is easier to deal with.
pdfwrite - linearisation work
preparing to write hint streams:
first we go back to using a temp file instead of a specific filename (except
when explicitly debugging).
second we only reorder the existing objects and the linearisation dict.
next we copy these re-oredered objects from the temp file, and insert the
dummy primary hint stream at the correct location.
Finally we write the primary xref, but taking the size of the inserted hint stream
into account for the offsets.
In a fit of tidying up, use gp_fseek_64 instead of fseek. Still work to do here.
pdfwrite - linearisation
add preliminary code to write a hint stream (still needs work)
Fix code which wrote teh page object twice for each page.
Various white space tweaking to make the output closer to the MuPDF output
in an abortive attempt to find out why files are not identified as linearised
by Acrobat
pdfwrite - linearisation, make files at least 4k
I don't believe it.....
Acrobat won't recognise a file as linearised unless it is at least 4k!
Also added some comments regarding various implementation notes from the
1.7 reference
pdfwrite - linearisation, move code into a routine of its own
Modularise the linearisation code somewhat by making it a new routine
instead of bloating pdf_close still further.
pdfwrite - linearisation, fixes for hint writing
gs/base/gdevpdf.c
gs/base/gdevpdfb.h
gs/base/gdevpdfx.h
gs/base/gdevpdti.c
2012-08-09 12:24:49 +0100
Ken Sharp <ken.sharp@artifex.com>
b16e0ada5e05737890e5bc340fdb181715ca4794
Fix the allocation of teh Offsets table so that it doesn't get overrun while
storing xrefs.
gs/base/gdevpdf.c
2012-08-09 12:15:57 +0100
Ken Sharp <ken.sharp@artifex.com>
e6a0ca2b94e4a80d02c2b85044b613d92d416249
fix the size of LastResource so that the Offsets table is large enough to hold all the objects
gs/base/gdevpdf.c
2012-08-09 11:30:45 +0100
Ken Sharp <ken.sharp@artifex.com>
b085cd2bb5f95fdf842ad05615e9f411b823d79a
Temporary commit for linearisation code in pdfwrite
gs/base/gdevpdf.c
gs/base/gdevpdfb.h
gs/base/gdevpdfe.c
gs/base/gdevpdfp.c
gs/base/gdevpdfu.c
gs/base/gdevpdfx.h
gs/base/gdevpdtd.c
gs/base/gdevpdtd.h
gs/base/gdevpdtw.c
2012-09-05 20:03:34 -0700
Michael Vrhel <michael.vrhel@artifex.com>
c26a59a07d226db58c2952aeab65df4d58ee78c2
Make sure overprint works with shading pattern. Fix for Bug 693018
For some reason it was believed that overprint was not used with shading patterns
and so it was disabled. Also had to make sure that the graphic state stored in
the pattern instance was all up to date with the overprint state.
gs/base/gsptype2.c
2012-08-17 12:43:55 -0700
Michael Vrhel <michael.vrhel@artifex.com>
1ab39e3d51a4d4fc78bd2532ef7141a57db50149
Enabling of fast threshold code for color source images as well as monochrome images to cmyk devices
Many cases where we could be using the fast thresholding code were disabled due to issues that this
commit fixes. Some items such as the conversions to planar when the color management transform was
the identity were not in place. In addition, for subtractive devices, the polarity of the threshold
array was wrong.
gs/base/gsht.c
gs/base/gsicc_nocm.c
gs/base/gxht_thresh.c
gs/base/gxht_thresh.h
gs/base/gxicolor.c
gs/base/gxidata.c
gs/base/gximage.h
gs/base/gximono.c
gs/base/gxipixel.c
2012-09-04 10:04:26 -0700
Michael Vrhel <michael.vrhel@artifex.com>
4e7d82066d92d4a4a2709c5dde4c35a4521d029e
Add overprint support into the pdf14 device group composing
This fixes Bug 693300. This this file had two images. One in a separation color space,
the other an RGB color space each in their own transparency group.
Overprint mode was enabled during the spot image drawing, which occurs after the RGB image is drawn.
During the group pop, there was no code in pdf14_compose_group to account for the overprint condition
gs/base/gdevp14.c
gs/base/gsovrc.c
gs/base/gxblend.h
gs/base/gxblend1.c
2012-09-03 18:44:22 -0700
Ray Johnston <ray.johnston@artifex.com>
23796278944b89b2afe2906cb0f725e9c6c8ce11
Fix clist_copy_planes to insure that all planes written together. Bug 693234.
The code at 'copy:' checked to make sure that the planes would fit in a
single cbuf, but did not check to make sure that all of the planes fit in
the remaining space in the BufferSpace from 'cnext' to 'cend'. The fix is
to call cmd_write_buffer if all planes don't fit in the current BufferSpace
so that an 'end_run' byte will not be inserted in the data stream.
gs/base/gxclrect.c
2012-09-04 13:37:28 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
c62f5a9f5ead465c1d0fbf2826ba5a00b48a1fdb
Fix all GCC warnings in Luratech JPX interface.
gs/base/sjpx_luratech.c
2012-08-29 16:19:55 +0100
Chris Liddell <chris.liddell@artifex.com>
40c3e3f2b337d5aad89d49dd9f56bfedf6bcf5e5
Remove dependence on jbig2dec auto-generated files
Also provide a workaround for LCMS2 on systems without sqrtf().
No cluster differences
gs/base/Makefile.in
gs/base/configure.ac
gs/jbig2dec/Makefile.in
gs/jbig2dec/aclocal.m4
gs/jbig2dec/compile
gs/jbig2dec/config.guess
gs/jbig2dec/config.h.in
gs/jbig2dec/config.sub
gs/jbig2dec/config_types.h.in
gs/jbig2dec/configure
gs/jbig2dec/depcomp
gs/jbig2dec/install-sh
gs/jbig2dec/ltmain.sh
gs/jbig2dec/missing
gs/jbig2dec/mkinstalldirs
gs/jbig2dec/os_types.h
gs/jbig2dec/snprintf.c
gs/jbig2dec/stamp-h1
2012-09-03 20:44:43 -0700
Michael Vrhel <michael.vrhel@artifex.com>
26d8aeede6ce52c5a31720980cfcd096f6bd9f10
Another softmask memory leak fixed for Bug 693312
Leak was caused by the improper freeing when we have a soft mask created in a band
where it was not needed.
gs/base/gdevp14.c
2012-09-03 21:58:34 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
50ed871322720a7e0a01bf7e52509b77529c105e
Bug 693317: ignore multiple tokens between obj and endobj
Detect malformed objects that parse as multiple tokens, replace
the tokens with null, and issue a warning.
gs/Resource/Init/pdf_base.ps
2012-09-03 07:55:32 -0700
Michael Vrhel <michael.vrhel@artifex.com>
e37fa70cb16f286ad00b5573e6d548066d2c913e
Fix for memory leak in pdf14 softmask stack. Bug 693312
When a new mask was getting created, it was possible that the stack was already set up with
softmasks. When blowing away the old mask we need to make sure to go through and clean up
the stack.
gs/base/gdevp14.c
2012-08-30 08:10:41 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
7ade6182ba16cbaf3084a1c9865f265cdd71525f
Bug 692849: Prevent memory corruption by using temp buffer in CCITT decompression.
pcl/rtraster.c
2012-08-27 10:12:04 -0600
Henry Stiles <henry.stiles@artifex.com>
4bc9598dbefcda47a483ea489409af412467d07f
Remove obsolete call to set the path mode. This is now only enable on
a per graphic basis as needed.
CLUSTER_UNTESTED
pcl/pctop.c
2012-08-25 22:02:06 -0700
Ray Johnston <ray.johnston@artifex.com>
11bb4d6d57ea1a65b254e3013f5d16f406457793
Fix another warning detected by Visual Studio (negating an unsigned int).
gs/base/gxfcache.h
2012-08-25 18:21:28 -0700
Ray Johnston <ray.johnston@artifex.com>
f939737f2e6479b815de40f46c20b07f40241124
Get rid of const warnings with Visual Studio.
There are still warnings, but at least the ones that are easy to fix
are now gone.
gs/base/gdevdevn.c
gs/base/gdevdevn.h
gs/base/gdevdsp.c
gs/base/gdevmpla.c
gs/base/gdevp14.c
gs/base/gxblend.c
gs/base/gxclip.c
gs/base/gxipixel.c
gs/base/gxpcmap.c
gs/base/gxshade.c
gs/psi/zcie.c
2012-08-25 18:18:06 -0700
Ray Johnston <ray.johnston@artifex.com>
bac3f4be13b133b0c097a6ec426894ddc491f2e0
Change TILE_TYPE_MASK size to avoid a truncation warning from VS.
The value 0x80000000 is problematic for the enum with Visual Studio.
The TilingType values are from 1 to 3, so 3 bits is plenty.
gs/base/gsptype1.c
2012-08-25 15:15:38 -0700
Ray Johnston <ray.johnston@artifex.com>
6b12966f995393edb220c4b7bc94bc6eeef48987
Change hpgl_path_mode to 'bool' (and hpglpathmode PS operators).
In cleaning up some of the type mismatch warnings with VS, this
needed to be consistent. There are no current users of the PS
operators, but now these are <bool> .sethpglpathmode - and
.currenthpglpathmode <bool>.
gs/base/gsstate.c
gs/base/gsstate.h
gs/psi/zgstate.c
2012-08-24 19:03:34 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
d840d02d5fd655c397b08e01a273a4e4e757f96e
Bug 692604: improve error messages for invalid arguments.
Inclide the invalid argument in the error message. Suggest to use -s
instead of -d when the token is an executable name. Most likely,
the user just tried to define a string.
gs/psi/imainarg.c
2012-08-24 15:29:21 +0100
Chris Liddell <chris.liddell@artifex.com>
1e6c15fa2ee91c760943a3edd16e123f6879eb45
Bring ghostpdl in-line with jbig2dec
No cluster differences.
gs/jbig2dec/Makefile.am
2012-08-24 01:47:45 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
ebe054e32a88a5ea4a52367066f8a8259dd3d5db
Bug 693299: fix handling of array form of /FilterParms in pdfopt
Array form of /FilterParms attribute was processed like a dictionary,
smashing the stack, and causing a PS error later.
gs/lib/pdfopt.ps
2012-08-22 12:26:33 -0700
Ray Johnston <ray.johnston@artifex.com>
bb15658bdf6b463e62b34e1c3fa779942fa24902
Fix clist probelms with copy_planes, writer and reader out of sync.
When uncompressed data was written to the clist with height > 1,
the last line was not padded. The reader was reading as if all
lines had the padding. Also fixed cmd_read_short_bits to skip
the memmove in cases where width_bytes == raster or height == 1.
gs/base/gxclrast.c
2012-08-23 15:12:13 +0100
Robin Watts <robin.watts@artifex.com>
0279e3ba6819d41a36125fba934aba489e03617b
Bug 693298; Memento build tweak for memset.
Don't define memset if someone else has already #defined it. Thanks
to William Bader.
gs/base/memento.c
gs/jbig2dec/memento.c
2012-08-23 15:01:03 +0100
Robin Watts <robin.watts@artifex.com>
2dba4f48cfe258c957da2754547fe22a5cc764f6
Fix broken Windows build with patch fb55f251.
This is an extended version of a commit from Ray, fixing a mistake
that I made. Ray's original version didn't make it into the repo
due to git problems.
Initialising a struct to { } doesn't work with VS. { 0 } is OK.
gs/base/gsptype1.c
gs/base/gxcht.c
gs/base/gxclist.c
gs/psi/iinit.c
gs/psi/zmisc2.c
2012-08-23 14:59:05 +0100
Robin Watts <robin.watts@artifex.com>
04a0440368a18978049b999722320cbc850c7621
Revert "Move memento include from jbig2.h to jbig2_priv.h"
This reverts commit b6dc615180c04d016c6df4e9e7598a0d7c9df02b.
This broke the memento build of gs due to the #defining of
free/realloc. For now, we'll have to live with the include
in the public header.
gs/jbig2dec/jbig2.h
gs/jbig2dec/jbig2_priv.h
2012-08-23 13:34:43 +0100
Robin Watts <robin.watts@artifex.com>
b6dc615180c04d016c6df4e9e7598a0d7c9df02b
Move memento include from jbig2.h to jbig2_priv.h
There is no need to expose memento outside of jbig2. Thanks to
zeniko for the discussion in bug 693284 that lead to this.
gs/jbig2dec/jbig2.h
gs/jbig2dec/jbig2_priv.h
2012-08-23 02:10:20 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
2740bef445c51680d831ec40753436291f01760a
Bug 693268: reinstate big references.
To make big references compatible with 8-byte alignment on 32-bit Windows
force ref structure to take 16 bytes by adding a dummy uint64_t member
to the union.
gs/psi/iref.h
2012-08-23 00:00:31 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
eb62043f520985f28ccaf265258ddb31cee79e1e
Get rid of staticly allocated pseudo-references.
Replace staticly initialized pseudo-references with C strings to
simplify experiments with reference sizes.
gs/Resource/Init/gs_init.ps
gs/Resource/Init/gs_res.ps
gs/psi/iconf.c
gs/psi/iconf.h
gs/psi/imain.c
gs/psi/imainarg.c
2012-08-22 11:20:24 -0700
Robin Watts <robin@peeves.(none)>
1e53dc6b19a96abed3b4a10c12a284d096b37701
More PACIFY_VALGRIND magic
While working on bug 693278, valgrind was showing use of
uninitialised values. This turns out to be (in part) due to the
clist recording the padding in bitmaps (which can be uninited).
The PACIFY_VALGRIND magic added here allows this file to run valgrind
clean.
gs/base/gsptype1.c
gs/base/gxcht.c
2012-08-22 09:19:39 -0700
Robin Watts <robin@peeves.(none)>
20adaa4a395059c3234c5b49979dc21f70e95bbf
Add some PACIFY_VALGRIND stuff for refs.
Seen while investigating bug 693278.
gs/psi/iinit.c
gs/psi/zmisc2.c
2012-08-22 03:43:09 -0700
Robin Watts <robin@peeves.(none)>
fb55f251b06fbfdf40cad66432369c4b09aa7627
Add code to mask harmless valgrind warnings in DEBUG or PACIFY_VALGRIND builds
Spotted while investigating bug 693278.
gs/base/gsptype1.c
gs/base/gxclist.c
2012-08-21 11:44:46 -0700
Robin Watts <robin@peeves.(none)>
69727555e1ff7be4f0af4d8b79f33408181d25ba
Bug 693278: SEGV in 09-50.PS - bad enumeration of device colors
Masked device colors were all being enumerated as if they were
binary halftones. Colored halftones need to be handled differently
and this was causing this problem. It looks like devn device colors
should also be handled differently, so changed here too.
gs/base/gsptype1.c
2012-08-20 15:16:18 +0100
Robin Watts <robin.watts@artifex.com>
d527eade5778811475ea8be4cbba4eeec573b28a
Big 693272; fix SEGV due to optimised interpolation.
When calculating the leftmargin to skip over due to the clipping
region, we were failing to allow for the fact that dst_width might
be negative due to an image being horizontally flipped.
Simply using any_abs solves the SEGV and does the right thing, I
believe.
gs/base/gxiscale.c
2012-08-18 00:22:53 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
39fda0d88d35e2df4787b88b7d3e23eb74d59f49
Bug 692210: fix potential indeterminism in zsetcolor()
The value of a partly-initialized color created by zsetcolor()
is copied to graphic state and compared with other colors by
memcmp() in gx_hld_saved_color_equal() Full initialization is
the easiest way to avoid indeterminism.
gs/psi/zcolor.c
2012-08-17 22:32:25 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
32e1d6b480017d0655b8926b69bb3b7617730665
Bug 692910: fix quoted arguments in ps2epsi.bat
Strip the quotes before assigning the values to environment variables.
Use the original quoted arguments elsewhere.
gs/lib/ps2epsi.bat
2012-08-17 15:16:41 +0100
Chris Liddell <chris.liddell@artifex.com>
de8f9636ef6bdbb8af039a44443d7e05c990848e
Bug 692040 - automake-1.8 is required in ijs sources
credit to Richard Hughes ( richard@hughsie.com ) for the patch.
No cluster differences.
gs/ijs/Makefile.am
2012-08-17 15:09:24 +0100
Chris Liddell <chris.liddell@artifex.com>
d6d4cc55caed5462d7c4b41eb52da93bba854589
Bug 692552: Direct building of MacOS X universal binaries
Building universal binaries on OS X is now supported, removing the
need to build for each architecture, and "lipo" files together.
For this, configure should be called thus:
./configure CC="gcc -arch i386 -arch x86_64" CPP="gcc -E"
and then invoke "make" normally.
Universal binaries including PPC support are not currently supported.
No cluster differences.
gs/arch/osx-x86-x86_64-gcc.h
gs/base/Makefile.in
gs/base/configure.ac
gs/doc/Make.htm
2012-08-09 11:50:21 +0100
Chris Liddell <chris.liddell@artifex.com>
fe79c76c8254faba9a2b422543062a577a375fee
Bug 692750: have gdevwpr2 "manage" device icc profiles
gdevwpr2 is one of the rare devices that can change its color space during its
lifetime. Such devices need to "manage" their device ICC profiles directly.
As the cups device is similar, these changes are loosely based on the
analogous part of gdevcups.c.
No cluster differences.
gs/base/gdevwpr2.c
gs/base/pcwin.mak
2012-08-17 09:09:58 +0100
Chris Liddell <chris.liddell@artifex.com>
9a114739f6e1f8837be17305784fc2ca9cbb6450
Bug 693279: font: default base encoding
There is some guess work here: Acrobat appears to be always using
StandardEcoding as the default encoding for (at least) some non-symbolic
fonts (rather than, as the spec states, the encoding specified by the font).
As this is contrary to spec, and we only have a CFF example, I've restricted
this to only apply to fonts with Subtype Type1C *and* that result in a Type 2
PS font.
No cluster differences.
gs/Resource/Init/pdf_font.ps
2012-08-15 21:32:15 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
d5c42d3a14cee808fd889c14805a69adae8eb5b9
Bug 688978: Generate DOCINFO pdfmark
Pass the content of /Info dictionary to the interpreter using
DOCINFO pdfmark. Also improve error recovery to avoid regression
on one of our test cases that has broken /Info dictionary.
gs/Resource/Init/pdf_base.ps
gs/Resource/Init/pdf_main.ps
2012-08-15 02:19:50 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
9c76d00aaf4504cb65fc82771b705c9dc529084a
Bug 687950: pass all PDF boxes to pdfmark
gs/Resource/Init/pdf_main.ps
2012-08-15 00:27:48 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
437360af2799796c42304faaf9a0cc1e5c6f908c
Bug 690568: Type usage problem on Itanium.
Commit a contributed patch for Itanium. The patch looks reasonable: size_t is
a better type than unsigned int to express the offset. The patch has no effect
on our regression testing.
gs/base/gxobj.h
gs/psi/igc.c
2012-08-14 18:04:36 -0700
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
dc97d97b74f15a98219f45942485244da1e11bce
Add support for 32 bit compile tests in clusterpush.pl
gs/toolbin/localcluster/clusterpush.pl
2012-08-14 13:54:36 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
79f9321f6331a6598b6c52887890f0d03afa9f96
Bug 693273: Use standard setpagedevice instead of a simplified one.
Don't try to save a few milliseconds per page at the expense of correctness.
gs/Resource/Init/pdf_main.ps
2012-08-13 02:14:41 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
238d6b887693b3dca97ab72d0e669670d8a53079
Partly revert the commit for big objet support.
Unfortunately, 12-byte ref causes SEGV on Win32. 64 and 32 bit Linux
builds were fine. max object sizes are back to 64K.
gs/psi/iref.h
2012-08-10 12:12:00 -0600
Henry Stiles <henry.stiles@artifex.com>
cfedd260650e7f615ec35cf88bd1bfd00ec502c9
Fixes 693267 and 693162, the default VMI (vertical motion index) and
PCL orientaion were not consistent.
pcl/pcpage.c
pcl/pcursor.c
pcl/pcursor.h
pl/pjparse.c
2012-08-10 11:59:05 -0600
Henry Stiles <henry.stiles@artifex.com>
6dd836c62658cfe38bf2988fd55ee05a9a3870d9
Adds debug logging for pcl macros.
pcl/pcmacros.c
2012-08-10 12:59:25 +0100
Robin Watts <robin.watts@artifex.com>
39c501a222658d754b9ab9540f283d7bd05e19ad
Fix scaling issues seen with fast halftoning code.
We were missing out the right hand column of source data in images
(see the turkeys on 09-47N page 2 in comparison to png or
USE_FAST_CODE=0 renderings); fix this by not subtracting 1 from
src_size. Don't subtract 1 from data_length (or dest width) either
to match.
Change dda to do a 'half step' to ensure we are sampling from the
centre of each pixel (avoids a shift to the right in zoomed up
images). This requires a new dda init macro - remove the old
(unused, slower) dda formulation to avoid having to think too hard.
gs/base/gxdda.h
gs/base/gxicolor.c
gs/base/gximono.c
2012-08-10 14:22:49 -0700
Ray Johnston <ray.johnston@artifex.com>
dba8f75023dc5b1abac7e338a541360a106d9956
Fix bug 690963. Update the plane_extract device for hl color handling.
The plane_extract device (used by pksmraw, pamcmyk32, and bmpsep1 as
well as gdevbjc_.c) was never updated for many of the newer device
procedures, including fillpage. This is handled by extending the
prototype procs for the device so that gx_device_forward_fill_in_procs
does not use the procs from the target.
gs/base/gdevplnx.c
2012-08-10 15:59:15 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
86f9af6937e76e10a7adad201b06c337b1a9240b
Increase max object size to 16M.
Increase the size of rsize member of the ref structure from ushort
to uint_32. This is needed to support large composite objects permitted by current
PDF specification. On 64-bit systems the actual size of ref didn't change.
On 32-bit systems the ref has grown to 12 bytes, which caused a couple of
changes in the alignment and padding code. Finally, the max size of all
composite objects has been increased to 16M.
This patch leaves large objects exposed PS interpreter.
Traditional PS limits can be re-imposed on the PS interpreter if
needed.
The patch results in a couple of progressions on the PDF test base,
and a few expected differences on PS test files that test traditional
limits on composite PS objects.
gs/doc/Language.htm
gs/psi/igcref.c
gs/psi/int.mak
gs/psi/iref.h
gs/psi/zpacked.c
2012-08-10 13:03:33 +0100
Robin Watts <robin.watts@artifex.com>
d3ea65bd08665e48525a4f8694276814fdebded7
Correct fast halftoning code in multi plane case.
We were using an incorrect stride in a calculation, resulting in
corrupted output.
gs/base/gxht_thresh.c
2012-08-10 09:02:32 +0100
Chris Liddell <chris.liddell@artifex.com>
c004cd6856445cdb5fccc40b5393ffb72a0d9433
Fix the nsis installer config file.
CLUSTER_UNTESTED
gs/psi/nsisinst.nsi
2012-08-09 09:34:02 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
23087cc653c4fcaf401715d7f5c6a4509576a21f
Merge remote-tracking branches 'origin' and 'origin/OpenJpeg-1.5'
2012-08-09 00:51:35 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
946c6312efc2cbf74875d19fd7b49f3505ab7a81
Apply a patch for CVE-2012-3358
See http://code.google.com/p/openjpeg/source/detail?r=1727
Other CVE patches are not needed for v.1.5.
gs/openjpeg/libopenjpeg/j2k.c
2012-08-09 00:45:09 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
ef85034141b90c05ba0bc5e2ad40f834205b4f2a
Reapply our patches to OpenJpeg-1.5
gs/openjpeg/libopenjpeg/image.c
gs/openjpeg/libopenjpeg/j2k.c
gs/openjpeg/libopenjpeg/jp2.c
gs/openjpeg/libopenjpeg/jp2.h
gs/openjpeg/libopenjpeg/openjpeg.c
gs/openjpeg/libopenjpeg/openjpeg.h
gs/openjpeg/libopenjpeg/opj_malloc.h
gs/openjpeg/libopenjpeg/tcd.c
2012-08-08 20:36:38 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
4e3808ff733ed0d485b67211ad5bcf7aa992c739
Import original OpenJpeg 1.5
This revision doesn't compile. It's here to establish a reference
for the diffs.
gs/base/openjpeg.mak
gs/openjpeg/libopenjpeg/CMakeLists.txt
gs/openjpeg/libopenjpeg/Makefile.am
gs/openjpeg/libopenjpeg/Makefile.in
gs/openjpeg/libopenjpeg/cidx_manager.c
gs/openjpeg/libopenjpeg/cidx_manager.h
gs/openjpeg/libopenjpeg/cio.c
gs/openjpeg/libopenjpeg/cio.h
gs/openjpeg/libopenjpeg/dwt.c
gs/openjpeg/libopenjpeg/event.c
gs/openjpeg/libopenjpeg/event.h
gs/openjpeg/libopenjpeg/image.c
gs/openjpeg/libopenjpeg/image.h
gs/openjpeg/libopenjpeg/indexbox_manager.h
gs/openjpeg/libopenjpeg/j2k.c
gs/openjpeg/libopenjpeg/j2k.h
gs/openjpeg/libopenjpeg/j2k_lib.c
gs/openjpeg/libopenjpeg/j2k_lib.h
gs/openjpeg/libopenjpeg/jp2.c
gs/openjpeg/libopenjpeg/jp2.h
gs/openjpeg/libopenjpeg/mqc.c
gs/openjpeg/libopenjpeg/openjpeg.c
gs/openjpeg/libopenjpeg/openjpeg.h
gs/openjpeg/libopenjpeg/opj_includes.h
gs/openjpeg/libopenjpeg/opj_malloc.h
gs/openjpeg/libopenjpeg/phix_manager.c
gs/openjpeg/libopenjpeg/pi.c
gs/openjpeg/libopenjpeg/pi.h
gs/openjpeg/libopenjpeg/ppix_manager.c
gs/openjpeg/libopenjpeg/t1.c
gs/openjpeg/libopenjpeg/t2.c
gs/openjpeg/libopenjpeg/tcd.c
gs/openjpeg/libopenjpeg/tcd.h
gs/openjpeg/libopenjpeg/thix_manager.c
gs/openjpeg/libopenjpeg/tpix_manager.c
gs/openjpeg/opj_config.h.in.user
2012-07-31 15:25:13 +0100
Chris Liddell <chris.liddell@artifex.com>
38da6175372319af334d1eb7a4474c98f6881f3d
Pull doc changes from 9.06 release branch.
Update docs for 9.06 release candidate 1.
Update changelog with post 9.06rc1 changes.
Update release date in docs.
CLUSTER_UNTESTED
gs/doc/API.htm
gs/doc/C-style.htm
gs/doc/Commprod.htm
gs/doc/DLL.htm
gs/doc/Deprecated.htm
gs/doc/Details8.htm
gs/doc/Details9.htm
gs/doc/Develop.htm
gs/doc/Devices.htm
gs/doc/Drivers.htm
gs/doc/Fonts.htm
gs/doc/Helpers.htm
gs/doc/History1.htm
gs/doc/History2.htm
gs/doc/History3.htm
gs/doc/History4.htm
gs/doc/History5.htm
gs/doc/History6.htm
gs/doc/History7.htm
gs/doc/History8.htm
gs/doc/History9.htm
gs/doc/Install.htm
gs/doc/Issues.htm
gs/doc/Language.htm
gs/doc/Lib.htm
gs/doc/Make.htm
gs/doc/News.htm
gs/doc/Projects.htm
gs/doc/Ps-style.htm
gs/doc/Ps2epsi.htm
gs/doc/Ps2pdf.htm
gs/doc/Ps2ps2.htm
gs/doc/Psfiles.htm
gs/doc/Readme.htm
gs/doc/Release.htm
gs/doc/Source.htm
gs/doc/Unix-lpr.htm
gs/doc/Use.htm
gs/doc/WhatIsGS.htm
gs/doc/Xfonts.htm
gs/doc/gs-vms.hlp
gs/doc/thirdparty.htm
gs/man/dvipdf.1
gs/man/font2c.1
gs/man/gs.1
gs/man/gslp.1
gs/man/gsnd.1
gs/man/pdf2dsc.1
gs/man/pdf2ps.1
gs/man/pdfopt.1
gs/man/pf2afm.1
gs/man/pfbtopfa.1
gs/man/printafm.1
gs/man/ps2ascii.1
gs/man/ps2epsi.1
gs/man/ps2pdf.1
gs/man/ps2pdfwr.1
gs/man/ps2ps.1
gs/man/wftopfa.1
2012-08-06 23:37:19 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
402806536e6ce5eb7b76eb7a4c5725ec2bbc4e80
Backport patches CVE problems.
CVE-2009-5030 http://code.google.com/p/openjpeg/source/detail?r=1703
CVE-2012-1499 http://code.google.com/p/openjpeg/source/detail?r=1330
CVE-2012-3358 http://code.google.com/p/openjpeg/source/detail?r=1727
gs/openjpeg/libopenjpeg/j2k.c
gs/openjpeg/libopenjpeg/jp2.c
gs/openjpeg/libopenjpeg/tcd.c
2012-08-06 18:05:58 +0100
Chris Liddell <chris.liddell@artifex.com>
b3ffd243ae375288c7c08607056dd08dae51018f
Remove devcups from default devices on Windows
Since devcups and its infrastructure were only added to gs to allow gs
developers who work on Windows to debug cups problems, it's not really
relevant for normal use.
This change makes it optional, by adding WITH_CUPS=1 to the nmake command
line arguments.
CLUSTER_UNTESTED
gs/ghostscript.vcproj
gs/psi/msvc.mak
2012-08-06 17:13:39 +0200
Sebastian Rasmussen <sebras@gmail.com>
010b1adedf128a7079729d10ad5a8c1b97c8acec
Bug 693256: Free GR_/GB_stats.....
.....as long as retaining them is yet to be implemented
No cluster differences.
gs/jbig2dec/jbig2_symbol_dict.c
2012-08-06 16:00:08 +0100
Chris Liddell <chris.liddell@artifex.com>
5ae5e2a73654cb9d2845e053428ebfddd3670c2d
Workaround libpaper's poor memory management.
libpaper allocates using the stdlib malloc(), and expects the calling code
to release the memory via stdlib free().
Normally this works fine, but Memento hooks malloc() and free() in the
pre-processor, so it sees the free() call, but not the malloc() call.
This can result in confusing, spurious errors from memento.
No cluster differences.
gs/base/gp_upapr.c
2012-08-06 08:43:48 +0100
Chris Liddell <chris.liddell@artifex.com>
327da990d82209c411841bbade4fc2a77fb326e7
Bug 693223: remove apparently moribund dumphint tool
dumphint.ps and the scripts which call it seem to be of almost no value
these days, and appear to have suffered "bit rot". So remove them.
CLUSTER_UNTESTED
gs/lib/dumphint
gs/lib/dumphint.bat
gs/lib/dumphint.ps
2012-08-04 09:18:50 +0100
Ken Sharp <ken.sharp@artifex.com>
5ec908d81e3dc999f694356a970f63b66f7e5976
pdfwrite - fix PDF/X-3 annotation check
The previous commit 7167ebcceae78be8dcec24a059f936a861769cd5 incorrectly
checked the location of the annotation on the page, and prevented any annotation
in PDF/X-3 output, whereaas annotations off the page are actually permitted.
No differences expected
gs/base/gdevpdfm.c
2012-08-03 18:49:32 +0100
Robin Watts <Robin.Watts@artifex.com>
27f22e3a48bafc8a663e08ac1aeb310b302055af
First attempt at Windows 8 "Metro" compatibility.
Standard MSVC builds will work for Windows 8 in desktop mode. The
complexity comes in supporting Windows RT (or "Metro" as Microsoft
have been calling it). To do Metro builds you need to download
Microsoft Visual C 2012 Express, and install it into a preview copy
of Windows 8.
MSVC 2012 Express will not import the existing Solution file (probably
because it's nmake based), so I've been compiling from the command
line.
Open a "VS2012 x86 Native Tools Command Prompt" and cd to the gs
directory. Then use:
nmake -f psi\msvc32.mak SBR=1 DEVSTUDIO=1 METRO=1
to build. For PCL change to main, then use:
nmake -f pcl6_msvc.mak SBR=1 DEVSTUDIO=1 METRO=1
etc.
Things to note:
* There is no message loop in Windows RT and the window handling is
all via different APIs anyway - so we only support the console
exe, with no display device.
* We have no registry access so the code just looks at the usual
environment variables.
* Cups has been disabled (as libcups wants to do useful things like
http, which won't currently compile under Windows RT).
gs/base/gp_mswin.c
gs/base/gp_wgetv.c
gs/base/msvctail.mak
gs/base/winlib.mak
gs/psi/dwdll.c
gs/psi/dwmainc.c
gs/psi/gsdll32metro.def
gs/psi/gsdll64metro.def
gs/psi/msvc.mak
gs/psi/winint.mak
language_switch/pspcl6_msvc.mak
main/pcl6_msvc.mak
pl/dwmainc.c
2012-08-03 00:32:32 -0700
Ray Johnston <ray.johnston@artifex.com>
6070a6f33bebf7538e48219010bc1e4de8341ea8
Rip out jasper -- openjpeg is our JPX implementation.
gs/base/Makefile.in
gs/base/configure.ac
gs/base/gs.mak
gs/base/jasper.mak
gs/base/lib.mak
gs/base/macgenmcpxml.sh
gs/base/macos-mcp.mak
gs/base/msvclib.mak
gs/base/openvms.mak
gs/base/openvms.mmk
gs/base/sjpx.c
gs/base/sjpx.h
gs/base/winlib.mak
gs/jasper/COPYRIGHT
gs/jasper/INSTALL
gs/jasper/LICENSE
gs/jasper/Makefile.am
gs/jasper/Makefile.in
gs/jasper/NEWS
gs/jasper/README
gs/jasper/acaux/compile
gs/jasper/acaux/config.guess
gs/jasper/acaux/config.sub
gs/jasper/acaux/depcomp
gs/jasper/acaux/install-sh
gs/jasper/acaux/ltmain.sh
gs/jasper/acaux/missing
gs/jasper/aclocal.m4
gs/jasper/configure
gs/jasper/configure.ac
gs/jasper/data/Makefile.am
gs/jasper/data/colorprofiles/README
gs/jasper/data/colorprofiles/erimm.icm
gs/jasper/data/colorprofiles/esrgb.icm
gs/jasper/data/colorprofiles/esrgbgrey.icm
gs/jasper/data/colorprofiles/grey.icm
gs/jasper/data/colorprofiles/greyromm.icm
gs/jasper/data/colorprofiles/romm.icm
gs/jasper/data/colorprofiles/sgray.icm
gs/jasper/data/colorprofiles/srgb.icm
gs/jasper/data/colorprofiles/sycc.icm
gs/jasper/data/images/README
gs/jasper/data/images/example.mif
gs/jasper/data/images/example.mif0
gs/jasper/data/images/feep.pnm
gs/jasper/data/images/feep2.pnm
gs/jasper/data/images/goldenears.bmp
gs/jasper/data/images/goldenears.jpg
gs/jasper/data/images/goldenears.pnm
gs/jasper/data/images/goldenears.ras
gs/jasper/data/images/goldenears_gray.jpg
gs/jasper/data/images/goldenears_gray.pnm
gs/jasper/data/images/goldenears_gray.ras
gs/jasper/data/images/small_16x1.pgm
gs/jasper/data/images/small_1x1.pgm
gs/jasper/data/images/stawamuschief.pnm
gs/jasper/data/images/stawamuschief_gray.pnm
gs/jasper/data/images/test.pnm
gs/jasper/doc/README
gs/jasper/doc/jasper.pdf
gs/jasper/doc/jpeg2000.pdf
gs/jasper/jasper.spec
gs/jasper/jasper.spec.in
gs/jasper/src/Makefile.am
gs/jasper/src/Makefile.in
gs/jasper/src/README
gs/jasper/src/appl/Makefile.am
gs/jasper/src/appl/Makefile.in
gs/jasper/src/appl/dummy.c
gs/jasper/src/appl/imgcmp.c
gs/jasper/src/appl/imginfo.c
gs/jasper/src/appl/jasper.c
gs/jasper/src/appl/jasper_sdl.c
gs/jasper/src/appl/jiv.c
gs/jasper/src/libjasper/Makefile.am
gs/jasper/src/libjasper/Makefile.in
gs/jasper/src/libjasper/README
gs/jasper/src/libjasper/base/Makefile.am
gs/jasper/src/libjasper/base/Makefile.in
gs/jasper/src/libjasper/base/jas_cm.c
gs/jasper/src/libjasper/base/jas_debug.c
gs/jasper/src/libjasper/base/jas_getopt.c
gs/jasper/src/libjasper/base/jas_icc.c
gs/jasper/src/libjasper/base/jas_iccdata.c
gs/jasper/src/libjasper/base/jas_image.c
gs/jasper/src/libjasper/base/jas_init.c
gs/jasper/src/libjasper/base/jas_malloc.c
gs/jasper/src/libjasper/base/jas_seq.c
gs/jasper/src/libjasper/base/jas_stream.c
gs/jasper/src/libjasper/base/jas_string.c
gs/jasper/src/libjasper/base/jas_tvp.c
gs/jasper/src/libjasper/base/jas_version.c
gs/jasper/src/libjasper/bmp/Makefile.am
gs/jasper/src/libjasper/bmp/Makefile.in
gs/jasper/src/libjasper/bmp/bmp_cod.c
gs/jasper/src/libjasper/bmp/bmp_cod.h
gs/jasper/src/libjasper/bmp/bmp_dec.c
gs/jasper/src/libjasper/bmp/bmp_enc.c
gs/jasper/src/libjasper/bmp/bmp_enc.h
gs/jasper/src/libjasper/dummy.c
gs/jasper/src/libjasper/include/Makefile.am
gs/jasper/src/libjasper/include/Makefile.in
gs/jasper/src/libjasper/include/jasper/Makefile.am
gs/jasper/src/libjasper/include/jasper/Makefile.in
gs/jasper/src/libjasper/include/jasper/jas_cm.h
gs/jasper/src/libjasper/include/jasper/jas_config.h
gs/jasper/src/libjasper/include/jasper/jas_config_ac.h.in
gs/jasper/src/libjasper/include/jasper/jas_config_win32.h
gs/jasper/src/libjasper/include/jasper/jas_debug.h
gs/jasper/src/libjasper/include/jasper/jas_fix.h
gs/jasper/src/libjasper/include/jasper/jas_getopt.h
gs/jasper/src/libjasper/include/jasper/jas_icc.h
gs/jasper/src/libjasper/include/jasper/jas_image.h
gs/jasper/src/libjasper/include/jasper/jas_init.h
gs/jasper/src/libjasper/include/jasper/jas_malloc.h
gs/jasper/src/libjasper/include/jasper/jas_math.h
gs/jasper/src/libjasper/include/jasper/jas_seq.h
gs/jasper/src/libjasper/include/jasper/jas_stream.h
gs/jasper/src/libjasper/include/jasper/jas_string.h
gs/jasper/src/libjasper/include/jasper/jas_tvp.h
gs/jasper/src/libjasper/include/jasper/jas_types.h
gs/jasper/src/libjasper/include/jasper/jas_version.h
gs/jasper/src/libjasper/include/jasper/jasper.h
gs/jasper/src/libjasper/jp2/Makefile.am
gs/jasper/src/libjasper/jp2/Makefile.in
gs/jasper/src/libjasper/jp2/jp2_cod.c
gs/jasper/src/libjasper/jp2/jp2_cod.h
gs/jasper/src/libjasper/jp2/jp2_dec.c
gs/jasper/src/libjasper/jp2/jp2_dec.h
gs/jasper/src/libjasper/jp2/jp2_enc.c
gs/jasper/src/libjasper/jpc/Makefile.am
gs/jasper/src/libjasper/jpc/Makefile.in
gs/jasper/src/libjasper/jpc/jpc_bs.c
gs/jasper/src/libjasper/jpc/jpc_bs.h
gs/jasper/src/libjasper/jpc/jpc_cod.h
gs/jasper/src/libjasper/jpc/jpc_cs.c
gs/jasper/src/libjasper/jpc/jpc_cs.h
gs/jasper/src/libjasper/jpc/jpc_dec.c
gs/jasper/src/libjasper/jpc/jpc_dec.h
gs/jasper/src/libjasper/jpc/jpc_enc.c
gs/jasper/src/libjasper/jpc/jpc_enc.h
gs/jasper/src/libjasper/jpc/jpc_fix.h
gs/jasper/src/libjasper/jpc/jpc_flt.h
gs/jasper/src/libjasper/jpc/jpc_math.c
gs/jasper/src/libjasper/jpc/jpc_math.h
gs/jasper/src/libjasper/jpc/jpc_mct.c
gs/jasper/src/libjasper/jpc/jpc_mct.h
gs/jasper/src/libjasper/jpc/jpc_mqcod.c
gs/jasper/src/libjasper/jpc/jpc_mqcod.h
gs/jasper/src/libjasper/jpc/jpc_mqdec.c
gs/jasper/src/libjasper/jpc/jpc_mqdec.h
gs/jasper/src/libjasper/jpc/jpc_mqenc.c
gs/jasper/src/libjasper/jpc/jpc_mqenc.h
gs/jasper/src/libjasper/jpc/jpc_qmfb.c
gs/jasper/src/libjasper/jpc/jpc_qmfb.h
gs/jasper/src/libjasper/jpc/jpc_t1cod.c
gs/jasper/src/libjasper/jpc/jpc_t1cod.h
gs/jasper/src/libjasper/jpc/jpc_t1dec.c
gs/jasper/src/libjasper/jpc/jpc_t1dec.h
gs/jasper/src/libjasper/jpc/jpc_t1enc.c
gs/jasper/src/libjasper/jpc/jpc_t1enc.h
gs/jasper/src/libjasper/jpc/jpc_t2cod.c
gs/jasper/src/libjasper/jpc/jpc_t2cod.h
gs/jasper/src/libjasper/jpc/jpc_t2dec.c
gs/jasper/src/libjasper/jpc/jpc_t2dec.h
gs/jasper/src/libjasper/jpc/jpc_t2enc.c
gs/jasper/src/libjasper/jpc/jpc_t2enc.h
gs/jasper/src/libjasper/jpc/jpc_tagtree.c
gs/jasper/src/libjasper/jpc/jpc_tagtree.h
gs/jasper/src/libjasper/jpc/jpc_tsfb.c
gs/jasper/src/libjasper/jpc/jpc_tsfb.h
gs/jasper/src/libjasper/jpc/jpc_util.c
gs/jasper/src/libjasper/jpc/jpc_util.h
gs/jasper/src/libjasper/jpg/Makefile.am
gs/jasper/src/libjasper/jpg/Makefile.in
gs/jasper/src/libjasper/jpg/README
gs/jasper/src/libjasper/jpg/jpg_cod.h
gs/jasper/src/libjasper/jpg/jpg_dec.c
gs/jasper/src/libjasper/jpg/jpg_dummy.c
gs/jasper/src/libjasper/jpg/jpg_enc.c
gs/jasper/src/libjasper/jpg/jpg_enc.h
gs/jasper/src/libjasper/jpg/jpg_jpeglib.h
gs/jasper/src/libjasper/jpg/jpg_val.c
gs/jasper/src/libjasper/mif/Makefile.am
gs/jasper/src/libjasper/mif/Makefile.in
gs/jasper/src/libjasper/mif/README
gs/jasper/src/libjasper/mif/mif_cod.c
gs/jasper/src/libjasper/mif/mif_cod.h
gs/jasper/src/libjasper/pgx/Makefile.am
gs/jasper/src/libjasper/pgx/Makefile.in
gs/jasper/src/libjasper/pgx/pgx_cod.c
gs/jasper/src/libjasper/pgx/pgx_cod.h
gs/jasper/src/libjasper/pgx/pgx_dec.c
gs/jasper/src/libjasper/pgx/pgx_enc.c
gs/jasper/src/libjasper/pgx/pgx_enc.h
gs/jasper/src/libjasper/pnm/Makefile.am
gs/jasper/src/libjasper/pnm/Makefile.in
gs/jasper/src/libjasper/pnm/pnm_cod.c
gs/jasper/src/libjasper/pnm/pnm_cod.h
gs/jasper/src/libjasper/pnm/pnm_dec.c
gs/jasper/src/libjasper/pnm/pnm_enc.c
gs/jasper/src/libjasper/pnm/pnm_enc.h
gs/jasper/src/libjasper/ras/Makefile.am
gs/jasper/src/libjasper/ras/Makefile.in
gs/jasper/src/libjasper/ras/ras_cod.c
gs/jasper/src/libjasper/ras/ras_cod.h
gs/jasper/src/libjasper/ras/ras_dec.c
gs/jasper/src/libjasper/ras/ras_enc.c
gs/jasper/src/libjasper/ras/ras_enc.h
gs/jasper/src/msvc/Makefile.am
gs/jasper/src/msvc/Makefile.in
gs/jasper/src/msvc/README
gs/jasper/src/msvc/imgcmp.dsp
gs/jasper/src/msvc/imginfo.dsp
gs/jasper/src/msvc/jasper.dsp
gs/jasper/src/msvc/jasper.dsw
gs/jasper/src/msvc/jiv.dsp
gs/jasper/src/msvc/libjasper.dsp
gs/psi/int.mak
gs/psi/msvc.mak
gs/psi/nsisinst.nsi
gs/psi/winint.mak
2012-08-03 09:52:09 +0100
Ken Sharp <ken.sharp@artifex.com>
7167ebcceae78be8dcec24a059f936a861769cd5
pdfwrite - check annotation placement and Box sizes for PDF/X-3 validity
Bug #693233 "PDF/X-3 created using ghostscript gives preflight errors"
We were not checking the bounds of annotations to ensure they were outside
the TrimBox or BleedBox (if present). Annotations are not permitted in the
printable area of a PDF/X-3 file.
In addition we were not checking to see that the TrimBox bounds did not exceed
the BleedBox or MediaBox.
There seems to be a bug in the Acrobat validation tool which insists that the
CropBox must not extend past the BleedBox. I can find no justification for
this in the specification, and indeed the PDF 1.7 spec notes that the CropBox has
'no defined relationship with any of the other boundaries' so for now I've chosen
to ignore this restriction.
No differences expected as PDF/X-3 output is not cluster tested
gs/base/gdevpdf.c
gs/base/gdevpdfm.c
gs/base/gdevpdfo.c
gs/base/gdevpdfo.h
2012-08-02 23:14:09 -0700
Ray Johnston <ray.johnston@artifex.com>
b40b8fdcfdf4fc9f46fd5d2f8e7b88796490970a
Bug 693185. The limitcheck in validatedevicenspace must match int_remap_color_info_s.
Commit e884e3 masked the failure, but since the test in validatedevicenspace
used GS_CLIENT_COLOR_MAX_COMPONENTS, the array bounds could still be exceeded.
Note that the confusing error message from the PDF interpreter from comment 1
still exists unless -dPDFSTOPONERROR is used, which gives a more meaningful
'limitcheck' immediately following the 'Do' of the image with 17 DeviceN
components. Bug 693185 is reopened for the error message as P3.
gs/base/gsccolor.h
gs/psi/icremap.h
gs/psi/zcolor.c
2012-08-02 17:27:32 -0700
Ray Johnston <ray.johnston@artifex.com>
d8ca80d1cb480702c109414c46e381981c94ddcb
Get rid of 'icclib' since we now use lcms2 (or optionally lcms).
common/msvc_top.mak
common/ugcc_top.mak
gs/base/Makefile.in
gs/base/gdevpdfk.c
gs/base/gs.mak
gs/base/icclib.mak
gs/base/ijs.mak
gs/base/macos-mcp.mak
gs/base/macosx.mak
gs/base/openvms.mak
gs/base/openvms.mmk
gs/base/ugcclib.mak
gs/base/unix-gcc.mak
gs/base/unixansi.mak
gs/base/winlib.mak
gs/icclib/Licence.txt
gs/icclib/NOTES
gs/icclib/Readme.txt
gs/icclib/icc.c
gs/icclib/icc.h
gs/icclib/icc9809.h
gs/psi/os2.mak
gs/psi/winint.mak
gs/psi/zicc.c
language_switch/pspcl6_gcc.mak
language_switch/pspcl6_msvc.mak
main/pcl6_gcc.mak
main/pcl6_msvc.mak
svg/svg_gcc.mak
svg/svg_msvc.mak
xps/xps_gcc.mak
xps/xps_msvc.mak
2012-08-02 20:34:26 -0700
Michael Vrhel <michael.vrhel@artifex.com>
a884b57b792291a6c713600662ab60718aca3e4f
Update documentation for tiffsep planar device
Add in comments about the use of -dMaxSpots as well as the fact that the device,
and psdcmyk are planar and limited to 64 colorants per page. Also add in a
hint about using -dMaxSpots when we are processing a Postscript file and bump
up to the default max limit of 10 colorants. Tested it and it worked nicely.
Thanks Robin Watts.
gs/base/gdevpsd.c
gs/base/gdevtsep.c
gs/doc/Devices.htm
2012-08-02 18:27:45 +0100
Robin Watts <robin.watts@artifex.com>
cfbd3faf503983d35dec119bc4e618e7bae0af30
Add -dMaxSpots for tiffsep and psd devices.
psd and tiffsep devices now run with GS_SOFT_MAX_SPOTS spots enabled
by default (GS_CLIENT_COLOR_MAX_COMPONENTS-4 unless predefined
differently at build time). The user can change this value using
-dMaxSpots=X (where 0 <= X <= GS_CLIENT_COLOR_MAX_COMPONENTS-4).
gs/base/gdevpsd.c
gs/base/gdevtsep.c
gs/base/gsccolor.h
2012-08-01 17:13:23 +0100
Robin Watts <robin.watts@artifex.com>
974ba5dde88108ba54c10e8c4f2c59fbce2db5cd
Add new 'const' compression method for clist bits.
Spot that the compressed bitmap is all identically the same byte
value (most likely 0 or FF), and if so, send just a single byte.
gs/base/gsbitops.c
gs/base/gsbitops.h
gs/base/gxclbits.c
gs/base/gxcldev.h
gs/base/gxclrast.c
2012-08-02 09:09:05 +0100
Ken Sharp <ken.sharp@artifex.com>
fe9465d90b4662eb56c7d0686ea87603b5c238b3
ps2write - don't leave our dictionary on the stack at temination of the output
Bug #693241 " save / restore around pdf2ps output causes invalidrestore"
Although the output of ps2write isn't intended for encapsulation, we do intend
one day to produce an eps2write (or something) which will be. So we may as
well fix this now.
Previously we left our internal dictionary on the dictionary stack at the
end of the output, here we simply 'end' it which removes it from the stack and
make the output better suited for encapsulation.
No differences expected
gs/base/gdevpdf.c
2012-08-01 22:14:44 +0100
Chris Liddell <chris.liddell@artifex.com>
2d613c33cda3b5c83ce83a6d9a48a0f5014c922f
Fix the -disable-gtk "so" build option
No cluster differences.
gs/base/configure.ac
2012-08-01 14:07:49 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
004aeab5298b0a42ff08a1c9e626f41cf799039c
Fix lcms2 64-bit value decoding on big endian systems
that lack 64-bit types or have these types missed by configuration.
gs/lcms2/src/cmsplugin.c
2012-07-31 16:51:58 -0700
Ray Johnston <ray.johnston@artifex.com>
c1532d478d06dcd26d1307942705ce1f05135b7b
Fix parenthesis typo that caused the return code from sscanf to be ignored.
gs/psi/imainarg.c
2012-07-31 12:26:39 -0700
Ray Johnston <ray.johnston@artifex.com>
60028f89756d3027ddf7f4a1dab09c06d0b1c81a
Add common unix style scaling suffix support for -d____= parameters.
Supported suffixes are 'k' and 'K' ( *= 1024), 'm' and 'M' ( *= 1024*1024)
and 'g' and 'G' ( *= 1024*1024*1024). Note that only 1g will not overflow.
No support is provided for .5g or 1.5g values, but this is better than
nothing. Both ghostscript and the other ghostpdl apps (that use plmain.c)
now provide this support.
gs/psi/imainarg.c
pl/plmain.c
2012-07-31 17:53:58 +0100
Robin Watts <robin.watts@artifex.com>
5876c67ba54ca41499fe4e595d140afa5d0c6120
Update tiffsep/tiffsep1 documentation w.r.t downscaler.
Document 32 and 34 ratios. Add extra info to tiffsep1 to distinguish
it from tiffsep in 1bpp mode.
gs/doc/Devices.htm
2012-07-30 11:17:55 -0700
Ray Johnston <ray.johnston@artifex.com>
19c07c2f90a4fefd149c5e6d32ecb4496f9f01a4
Fix the confusion w.r.t fill_rectangle_hl_color between int and fixed coordinates
This isn't widely used -- for gs_fillpage and for gs_rectfill, but some uses
were using 'fixed' coordinates (such as gdevpdfd.c) and others implementation
behaved as if the rect contained 'int' pixel coordinates (gxdcolor.c).
gs/base/gdevabuf.c
gs/base/gdevdsha.c
gs/base/gdevmpla.c
gs/base/gdevnfwd.c
gs/base/gdevp14.c
gs/base/gsdps1.c
gs/base/gsovrc.c
gs/base/gxclip.c
gs/base/gxclip2.c
gs/base/gxclipm.c
gs/base/gxclrast.c
gs/base/gxclrect.c
gs/base/gxdcolor.c
gs/base/gxpcmap.c
2012-07-31 10:50:43 +0100
Robin Watts <robin.watts@artifex.com>
7eabd219b61418db08f1e707deb3dc9e753661f1
Fix link warnings about bad memset in gdevtsep.c
Due to a mistake on my part, the tiffsep device had a couple of
memsets in that did nothing; these were intended to clear an array
of pointers before use. Not clearing the array would only have been
a problem if we'd hit an error condition in a very small region of
code, but nonetheless, this is a fix.
gs/base/gdevtsep.c
2012-07-31 08:26:34 +0100
Chris Liddell <chris.liddell@artifex.com>
1ba0272f00c1de822fff0ac4087446c45f46aeb6
Bump the master version number.
gs/Resource/Init/gs_init.ps
gs/base/version.mak
2012-08-07 11:49:41 +0100
Chris Liddell <chris.liddell@artifex.com>
ed033afdc6dcd4a964dd6c54a08e53e807a33a4e
Update changelog with post 9.06rc1 changes.
Update release date in docs.
gs/doc/API.htm
gs/doc/C-style.htm
gs/doc/Commprod.htm
gs/doc/DLL.htm
gs/doc/Deprecated.htm
gs/doc/Details8.htm
gs/doc/Details9.htm
gs/doc/Develop.htm
gs/doc/Devices.htm
gs/doc/Drivers.htm
gs/doc/Fonts.htm
gs/doc/Helpers.htm
gs/doc/History1.htm
gs/doc/History2.htm
gs/doc/History3.htm
gs/doc/History4.htm
gs/doc/History5.htm
gs/doc/History6.htm
gs/doc/History7.htm
gs/doc/History8.htm
gs/doc/History9.htm
gs/doc/Install.htm
gs/doc/Issues.htm
gs/doc/Language.htm
gs/doc/Lib.htm
gs/doc/Make.htm
gs/doc/News.htm
gs/doc/Projects.htm
gs/doc/Ps-style.htm
gs/doc/Ps2epsi.htm
gs/doc/Ps2pdf.htm
gs/doc/Ps2ps2.htm
gs/doc/Psfiles.htm
gs/doc/Readme.htm
gs/doc/Release.htm
gs/doc/Source.htm
gs/doc/Unix-lpr.htm
gs/doc/Use.htm
gs/doc/WhatIsGS.htm
gs/doc/Xfonts.htm
gs/doc/gs-vms.hlp
gs/doc/thirdparty.htm
gs/man/dvipdf.1
gs/man/font2c.1
gs/man/gs.1
gs/man/gslp.1
gs/man/gsnd.1
gs/man/pdf2dsc.1
gs/man/pdf2ps.1
gs/man/pdfopt.1
gs/man/pf2afm.1
gs/man/pfbtopfa.1
gs/man/printafm.1
gs/man/ps2ascii.1
gs/man/ps2epsi.1
gs/man/ps2pdf.1
gs/man/ps2pdfwr.1
gs/man/ps2ps.1
gs/man/wftopfa.1
2012-08-08 08:42:26 +0100
Chris Liddell <chris.liddell@artifex.com>
22d614c608778edf3fc6ba2481813c9e9e57cc2e
Update product string and release date.
gs/base/gscdef.c
gs/base/version.mak
2012-08-06 23:37:19 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
291872308da215e1d7e12c8375fcf10dd5e651d2
Backport patches CVE problems.
CVE-2009-5030 http://code.google.com/p/openjpeg/source/detail?r=1703
CVE-2012-1499 http://code.google.com/p/openjpeg/source/detail?r=1330
CVE-2012-3358 http://code.google.com/p/openjpeg/source/detail?r=1727
gs/openjpeg/libopenjpeg/j2k.c
gs/openjpeg/libopenjpeg/jp2.c
gs/openjpeg/libopenjpeg/tcd.c
2012-08-06 08:43:48 +0100
Chris Liddell <chris.liddell@artifex.com>
20157526924fbe59436170085a17e530d08e9807
Bug 693223: remove apparently moribund dumphint tool
dumphint.ps and the scripts which call it seem to be of almost no value
these days, and appear to have suffered "bit rot". So remove them.
CLUSTER_UNTESTED
gs/lib/dumphint
gs/lib/dumphint.bat
gs/lib/dumphint.ps
2012-08-02 23:14:09 -0700
Ray Johnston <ray.johnston@artifex.com>
e48e87f883df0d39d1409d814c5d15444c3dca07
Bug 693185. The limitcheck in validatedevicenspace must match int_remap_color_info_s.
Commit e884e3 masked the failure, but since the test in validatedevicenspace
used GS_CLIENT_COLOR_MAX_COMPONENTS, the array bounds could still be exceeded.
Note that the confusing error message from the PDF interpreter from comment 1
still exists unless -dPDFSTOPONERROR is used, which gives a more meaningful
'limitcheck' immediately following the 'Do' of the image with 17 DeviceN
components. Bug 693185 is reopened for the error message as P3.
gs/base/gsccolor.h
gs/psi/icremap.h
gs/psi/zcolor.c
2012-08-02 20:34:26 -0700
Michael Vrhel <michael.vrhel@artifex.com>
588c2ee040526fbea470e36e7cbc8e87a503cab9
Update documentation for tiffsep planar device
Add in comments about the use of -dMaxSpots as well as the fact that the device,
and psdcmyk are planar and limited to 64 colorants per page. Also add in a
hint about using -dMaxSpots when we are processing a Postscript file and bump
up to the default max limit of 10 colorants. Tested it and it worked nicely.
Thanks Robin Watts.
gs/base/gdevpsd.c
gs/base/gdevtsep.c
gs/doc/Devices.htm
2012-08-02 18:27:45 +0100
Robin Watts <robin.watts@artifex.com>
836a551b97dd4a8436608b6dcebe8f8fb8632bcd
Add -dMaxSpots for tiffsep and psd devices.
psd and tiffsep devices now run with GS_SOFT_MAX_SPOTS spots enabled
by default (ten, unless predefined differently at build time). The
user can change this value using -dMaxSpots=X (where
0 <= X <= GS_CLIENT_COLOR_MAX_COMPONENTS-4).
gs/base/gdevpsd.c
gs/base/gdevtsep.c
gs/base/gsccolor.h
2012-08-01 22:14:44 +0100
Chris Liddell <chris.liddell@artifex.com>
d723d72b3c9f7e171299a5ccc70a5f1ca715a50a
Fix the -disable-gtk "so" build option
No cluster differences.
gs/base/configure.ac
2012-08-01 14:07:49 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
7e7b4ae93066b841c0b1eac539c220b79d7f7a5d
Fix lcms2 64-bit value decoding on big endian systems
that lack 64-bit types or have these types missed by configuration.
gs/lcms2/src/cmsplugin.c
2012-07-31 17:53:58 +0100
Robin Watts <robin.watts@artifex.com>
c832985cab3b769d460a3f3e0ae894c2a84fa1ba
Update tiffsep/tiffsep1 documentation w.r.t downscaler.
Document 32 and 34 ratios. Add extra info to tiffsep1 to distinguish
it from tiffsep in 1bpp mode.
gs/doc/Devices.htm
2012-07-31 15:25:13 +0100
Chris Liddell <chris.liddell@artifex.com>
af22330035dc852635b2102353cec1a94504cb88
Update docs for 9.06 release candidate 1.
gs/doc/API.htm
gs/doc/C-style.htm
gs/doc/Commprod.htm
gs/doc/DLL.htm
gs/doc/Deprecated.htm
gs/doc/Details8.htm
gs/doc/Details9.htm
gs/doc/Develop.htm
gs/doc/Devices.htm
gs/doc/Drivers.htm
gs/doc/Fonts.htm
gs/doc/Helpers.htm
gs/doc/History1.htm
gs/doc/History2.htm
gs/doc/History3.htm
gs/doc/History4.htm
gs/doc/History5.htm
gs/doc/History6.htm
gs/doc/History7.htm
gs/doc/History8.htm
gs/doc/History9.htm
gs/doc/Install.htm
gs/doc/Issues.htm
gs/doc/Language.htm
gs/doc/Lib.htm
gs/doc/Make.htm
gs/doc/News.htm
gs/doc/Projects.htm
gs/doc/Ps-style.htm
gs/doc/Ps2epsi.htm
gs/doc/Ps2pdf.htm
gs/doc/Ps2ps2.htm
gs/doc/Psfiles.htm
gs/doc/Readme.htm
gs/doc/Release.htm
gs/doc/Source.htm
gs/doc/Unix-lpr.htm
gs/doc/Use.htm
gs/doc/WhatIsGS.htm
gs/doc/Xfonts.htm
gs/doc/gs-vms.hlp
gs/doc/thirdparty.htm
gs/man/dvipdf.1
gs/man/font2c.1
gs/man/gs.1
gs/man/gslp.1
gs/man/gsnd.1
gs/man/pdf2dsc.1
gs/man/pdf2ps.1
gs/man/pdfopt.1
gs/man/pf2afm.1
gs/man/pfbtopfa.1
gs/man/printafm.1
gs/man/ps2ascii.1
gs/man/ps2epsi.1
gs/man/ps2pdf.1
gs/man/ps2pdfwr.1
gs/man/ps2ps.1
gs/man/wftopfa.1
2012-07-31 10:50:43 +0100
Robin Watts <robin.watts@artifex.com>
76722bee735462eedf4f4c6d9dfa552e3c1f7ebc
Fix link warnings about bad memset in gdevtsep.c
Due to a mistake on my part, the tiffsep device had a couple of
memsets in that did nothing; these were intended to clear an array
of pointers before use. Not clearing the array would only have been
a problem if we'd hit an error condition in a very small region of
code, but nonetheless, this is a fix.
gs/base/gdevtsep.c
2012-07-31 08:40:18 +0100
Chris Liddell <chris.liddell@artifex.com>
1e7ca769528b822b94ad8d1e498bde44d861637b
Product string and date updates.
gs/base/gscdef.c
gs/base/version.mak
This is the sixth full release in the stable 9.x series.
Highlights in this release include:
PDF/A-2 - pdfwrite now supports the creation of PDF/A-2 files. The 'PDFA' command line switch can now take a numeric parameter:
Simply specifying "-dPDFA" continues to have the old behaviour of creating PDF/A-1b files.
For PDF/A-2 the command line should include "-dPDFA=2".
pdfwrite "Server mode" - pdfwrite can now be run in "server mode" which allows
the device to be closed without closing the interpreter. This means it is no
longer necessary to terminate GS before starting a new PDF conversion. This leads on to:
pdfwrite now supports the "%d" format in the OutputFile switch. If this is set
then pdfwrite will output each page of input to an individual file.
ps2write - recent exposure to a range of PostScript devices has thrown up some
interesting deficiencies in those devices. ps2write now emits PostScript in
slightly different ways in order to produce output on a wider variety of devices.
In some cases this also results in improved print times but it is still important
to set the resolution appropriately for the output device, especially if the
input contains transparency.
Ghostscript can now use output intents defined in PDFs by using the
"-dUsePDFX3Profile" command line option. See ICC Color Parameters for details.
tiffsep/tiffsep1: support for large numbers of separations improved. The previous implementation of those devices utilised a "compressed color encoding" to represent the tints for all the plates in one 64 bit value. As the number of plates increased, fewer bits were available for the tint for each plate, ultimately resulting in an "unencodable pixels" error. These revisions remove the reliance on the compressed color encoding, thus ensuring that we have a consistent color bit depth, regardless of the number of plates, and ensuring the "unencodable pixels" error will never occur.
Also as a result of these changes, there are substantial performance
improvements in jobs with separations and transparency.
tiffsep, psdcmyk and psdrgb now support the "downscaler" functionality.
This brings the "tiffscaled" style functionality to the DeviceN output devices, so
jobs can be rendered internally in contone and at a high resolution, and the output
optionally downsampled by a level specified by "-dDownScaleFactor=n", and
also optionally error diffused to 1bpp output.
Third party libraries: libtiff, libpng, libjpeg , Freetype and zlib have all be updated.
clist storage, for rendering pages in bands, is now a run-time option: -sBandListStorage={file|memory}.
Plus the usual round of bug fixes, compatibility changes, and incremental improvements.
In addition, Ghostscript and GhostPDL 8.71 are now unsupported, and those still using those versions (or earlier ones) should migrate to 9.x as soon as possible since many improvements, features and fixes from the 9.x versions are impractical or impossible to back-port to these legacy versions.
For a list of open issues, or to report problems, please visit bugs.ghostscript.com.
No recorded incompatible changes.
2012-08-06 23:37:19 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
291872308da215e1d7e12c8375fcf10dd5e651d2
Backport patches CVE problems.
CVE-2009-5030 http://code.google.com/p/openjpeg/source/detail?r=1703
CVE-2012-1499 http://code.google.com/p/openjpeg/source/detail?r=1330
CVE-2012-3358 http://code.google.com/p/openjpeg/source/detail?r=1727
gs/openjpeg/libopenjpeg/j2k.c
gs/openjpeg/libopenjpeg/jp2.c
gs/openjpeg/libopenjpeg/tcd.c
2012-08-06 08:43:48 +0100
Chris Liddell <chris.liddell@artifex.com>
20157526924fbe59436170085a17e530d08e9807
Bug 693223: remove apparently moribund dumphint tool
dumphint.ps and the scripts which call it seem to be of almost no value
these days, and appear to have suffered "bit rot". So remove them.
CLUSTER_UNTESTED
gs/lib/dumphint
gs/lib/dumphint.bat
gs/lib/dumphint.ps
2012-08-02 23:14:09 -0700
Ray Johnston <ray.johnston@artifex.com>
e48e87f883df0d39d1409d814c5d15444c3dca07
Bug 693185. The limitcheck in validatedevicenspace must match int_remap_color_info_s.
Commit e884e3 masked the failure, but since the test in validatedevicenspace
used GS_CLIENT_COLOR_MAX_COMPONENTS, the array bounds could still be exceeded.
Note that the confusing error message from the PDF interpreter from comment 1
still exists unless -dPDFSTOPONERROR is used, which gives a more meaningful
'limitcheck' immediately following the 'Do' of the image with 17 DeviceN
components. Bug 693185 is reopened for the error message as P3.
gs/base/gsccolor.h
gs/psi/icremap.h
gs/psi/zcolor.c
2012-08-02 20:34:26 -0700
Michael Vrhel <michael.vrhel@artifex.com>
588c2ee040526fbea470e36e7cbc8e87a503cab9
Update documentation for tiffsep planar device
Add in comments about the use of -dMaxSpots as well as the fact that the device,
and psdcmyk are planar and limited to 64 colorants per page. Also add in a
hint about using -dMaxSpots when we are processing a Postscript file and bump
up to the default max limit of 10 colorants. Tested it and it worked nicely.
Thanks Robin Watts.
gs/base/gdevpsd.c
gs/base/gdevtsep.c
gs/doc/Devices.htm
2012-08-02 18:27:45 +0100
Robin Watts <robin.watts@artifex.com>
836a551b97dd4a8436608b6dcebe8f8fb8632bcd
Add -dMaxSpots for tiffsep and psd devices.
psd and tiffsep devices now run with GS_SOFT_MAX_SPOTS spots enabled
by default (ten, unless predefined differently at build time). The
user can change this value using -dMaxSpots=X (where
0 <= X <= GS_CLIENT_COLOR_MAX_COMPONENTS-4).
gs/base/gdevpsd.c
gs/base/gdevtsep.c
gs/base/gsccolor.h
2012-08-01 22:14:44 +0100
Chris Liddell <chris.liddell@artifex.com>
d723d72b3c9f7e171299a5ccc70a5f1ca715a50a
Fix the -disable-gtk "so" build option
No cluster differences.
gs/base/configure.ac
2012-08-01 14:07:49 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
7e7b4ae93066b841c0b1eac539c220b79d7f7a5d
Fix lcms2 64-bit value decoding on big endian systems
that lack 64-bit types or have these types missed by configuration.
gs/lcms2/src/cmsplugin.c
2012-07-31 17:53:58 +0100
Robin Watts <robin.watts@artifex.com>
c832985cab3b769d460a3f3e0ae894c2a84fa1ba
Update tiffsep/tiffsep1 documentation w.r.t downscaler.
Document 32 and 34 ratios. Add extra info to tiffsep1 to distinguish
it from tiffsep in 1bpp mode.
gs/doc/Devices.htm
2012-07-31 15:25:13 +0100
Chris Liddell <chris.liddell@artifex.com>
af22330035dc852635b2102353cec1a94504cb88
Update docs for 9.06 release candidate 1.
gs/doc/API.htm
gs/doc/C-style.htm
gs/doc/Commprod.htm
gs/doc/DLL.htm
gs/doc/Deprecated.htm
gs/doc/Details8.htm
gs/doc/Details9.htm
gs/doc/Develop.htm
gs/doc/Devices.htm
gs/doc/Drivers.htm
gs/doc/Fonts.htm
gs/doc/Helpers.htm
gs/doc/History1.htm
gs/doc/History2.htm
gs/doc/History3.htm
gs/doc/History4.htm
gs/doc/History5.htm
gs/doc/History6.htm
gs/doc/History7.htm
gs/doc/History8.htm
gs/doc/History9.htm
gs/doc/Install.htm
gs/doc/Issues.htm
gs/doc/Language.htm
gs/doc/Lib.htm
gs/doc/Make.htm
gs/doc/News.htm
gs/doc/Projects.htm
gs/doc/Ps-style.htm
gs/doc/Ps2epsi.htm
gs/doc/Ps2pdf.htm
gs/doc/Ps2ps2.htm
gs/doc/Psfiles.htm
gs/doc/Readme.htm
gs/doc/Release.htm
gs/doc/Source.htm
gs/doc/Unix-lpr.htm
gs/doc/Use.htm
gs/doc/WhatIsGS.htm
gs/doc/Xfonts.htm
gs/doc/gs-vms.hlp
gs/doc/thirdparty.htm
gs/man/dvipdf.1
gs/man/font2c.1
gs/man/gs.1
gs/man/gslp.1
gs/man/gsnd.1
gs/man/pdf2dsc.1
gs/man/pdf2ps.1
gs/man/pdfopt.1
gs/man/pf2afm.1
gs/man/pfbtopfa.1
gs/man/printafm.1
gs/man/ps2ascii.1
gs/man/ps2epsi.1
gs/man/ps2pdf.1
gs/man/ps2pdfwr.1
gs/man/ps2ps.1
gs/man/wftopfa.1
2012-07-31 10:50:43 +0100
Robin Watts <robin.watts@artifex.com>
76722bee735462eedf4f4c6d9dfa552e3c1f7ebc
Fix link warnings about bad memset in gdevtsep.c
Due to a mistake on my part, the tiffsep device had a couple of
memsets in that did nothing; these were intended to clear an array
of pointers before use. Not clearing the array would only have been
a problem if we'd hit an error condition in a very small region of
code, but nonetheless, this is a fix.
gs/base/gdevtsep.c
2012-07-31 08:40:18 +0100
Chris Liddell <chris.liddell@artifex.com>
1e7ca769528b822b94ad8d1e498bde44d861637b
Product string and date updates.
gs/base/gscdef.c
gs/base/version.mak
2012-07-30 19:05:08 +0100
Robin Watts <robin.watts@artifex.com>
443ad5a4885be7abf5a1e0777275eefbc5322cd2
Up default GS_CLIENT_COLOR_MAX_COMPONENTS to 32.
The planar changes have enabled us to increase the default maximum
number of spot changes to 32. Tests show only a few differences
due to roundings.
Hopefully we can push it to 64 soon.
gs/base/gsccolor.h
2012-07-27 13:47:49 -0700
Michael Vrhel <michael.vrhel@artifex.com>
71c939e116dcffe72bf0c8ece9c647805da7e655
Pass the data_cs information into the minimal needed clist icc profile information
The knowledge that the source space is gray is needed so that we handle the gray_to_K
mapping correctly when going out to CMYK devices. Fixes a rendering issue in 29-07A.PS.
Thanks to Robin Watts for doing a lot of the detective work.
gs/base/gxclimag.c
gs/base/gxclist.h
gs/base/gxclrast.c
2012-07-25 23:58:40 -0700
Ray Johnston <ray.johnston@artifex.com>
428869d288d87d95fbcb5dcf8a0563003ff26294
Fix bug 693220. The pdf14 device used compressed encoding in clist mode.
The pdf14 device clist mode did not respect the USE_COMPRESSED_ENCODING
setting always using compressed encoding, and ended up writing pure
colors with num_bytes == -3. This was undetected because tiffsep1 is not
part of the regression testing, and because the tiffsep1 device did not
use 'planar' mode as the tiffsep device did. Also fixed some blanks before
line ends and tab indents.
Also, since planar mode is more efficient and allows for > 8 colorants
tiffsep1 was changed to use planar mode, getting rid of the need for
compressed color encoding in this file (maybe the last one).
gs/base/gdevp14.c
gs/base/gdevtsep.c
2012-07-26 18:55:30 +0100
Robin Watts <robin.watts@artifex.com>
8dfd92bc9d91105bd678940c20479fc9ecebbbdb
Fix clist_copy_planes causing clist corruption.
When clist_copy_planes is used with a planar device, it used to
leave a gap (9 bytes in the debugging example), then write the
first planes data. Then it would write each subsequent plane (preceeded
with a single byte gap). Then it would fill in the 9 bytes.
Unfortunately, if the buffer filled up while copying one of the
non-initial planes in, the date would be copied away and stored before
the header was filled in.
This leads to clist corruption, and all sorts of problems ranging from
rendering issues to SEGVs.
The fix is to move the header writing forward to immediately after
the first plane is successfully written.
This was causing problems with a 72dpi unbanded rendering of
tests_private/comparefiles/Bug692517.pdf to the psdcmyk device
with GS_CLIENT_COLOR_MAX_COMPONENTS set to 32, but was also
causing problems without the change in MAX_COMPONENTS.
gs/base/gxclrect.c
2012-07-26 13:32:36 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
f43f3d2016ae165a392fad962cda196e60587f8c
Bug 693147: monitors need max alignmrnt.
On 32-bit SunOS 5.11 gp_monitor structure need larger alignment than
4-byte pointer. Make it an union and add 64-bit attributes to ensure
proper alignment.
gs/base/gpsync.h
2012-07-25 16:45:38 -0700
Michael Vrhel <michael.vrhel@artifex.com>
d3bfe9bf857bb804a9bf710cccb36e3b78b9d663
Fix so that the image_render_frac handles sep color spaces correctly
The separation color spaces were not being handled properly in this renderer.
Also, if the device supported devn colors we were not packing them into the
correct type.
gs/base/gxi12bit.c
gs/base/lib.mak
2012-07-25 22:02:00 -0700
Michael Vrhel <michael.vrhel@artifex.com>
c8fc89fe8d72ad87158569825ddf421887c47713
Replace magic 32 number with MAX_COMPONENTS_IN_DEVN
gs/base/gsccolor.h
gs/psi/icremap.h
2012-07-24 21:40:05 -0700
Michael Vrhel <michael.vrhel@artifex.com>
e884e39691346b35ea8b87fe26d8d98857689397
Change the remap_color_info structure so that we can support up to 32 colorants DeviceN
AR supports up to 32 colorants in a DeviceN color space and this brings us in line with
that product's limits. Note that if the number of colorants is greater than
GS_CLIENT_COLOR_MAX_COMPONENTS then we end up using the alternate tint transform.
Previously, the tint transform would fail if we encountered a color DeviceN color
space with more that GS_CLIENT_COLOR_MAX_COMPONENTS colorants. This fixes bug 693185
gs/psi/icremap.h
2012-07-25 13:26:41 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
61fd8053c2c0b653df3d461b791ca3f61767c4f5
Bug 693210: check for scanning big arrays
Check whether the size of an scanned array exceed the current
max_arra_size and throw /limitcheck. Old code tried to allocate big
arrays, which caused a cascade of obscure errors.
gs/psi/iscan.c
2012-07-25 18:12:23 +0100
Robin Watts <robin.watts@artifex.com>
1e0744128be80ff2a0acb48a2c5e018dbb32c168
More fixes for deep color in the clist.
In the previous commit I missed the reading code for the delta color
form. Updated here.
gs/base/gxclrast.c
2012-07-25 14:14:25 +0100
Chris Liddell <chris.liddell@artifex.com>
b750aec711bde8505173622d590eabdda2f3d789
Bug 692824: only apply word spacing to single byte space
PDF word spacing is defined as only applying to character codes of one byte
with the value 32. We were using widthshow/awidthshow to implement word
spacing, but the character matching for those means any character code
with the value 32 will have the width applied: so both <32> and <0032> will
have word spacing applied, where only the former should.
I've added two customer operators (.pdfwidthshow and .pdfawidthshow) which the
PDF interpreter now uses. Those trigger a small additional capability in the
graphics lib code which ensures space is only allowed to be the single byte
value 32.
Cluster progressions with this patch seen in fts_20_2001.pdf and
fts_22_2202.pdf - no other differences.
gs/Resource/Init/pdf_ops.ps
gs/base/gstext.c
gs/base/gxchar.c
gs/base/gxtext.h
gs/psi/zchar.c
2012-07-25 13:40:31 +0100
Robin Watts <robin.watts@artifex.com>
ee0365f54e5d2cd80f5cae501d13d796094d022a
Avoid cmd_put_color being confused by deep color.
With high level color, we can have depths that are too bit to fit in
a gx_color_index. cmd_put_color has no idea how many bits of a
gx_color_index are used, so assumes that as many bits are used as
are in the target depth. The encoding used goes wrong when the number
of bits is bigger it guesses at is bigger than the number of bits in
a gx_color_index.
The fix is simply to change the writing and reading code to be smarter
about guessing; when writing/reading a gx_color_index you can never
need to write more bits than there are actually in a gx_color_index.
While debugging this code, I spotted that the devn_{write,read}_color
routines were always leaving an unused byte at the end of their commands.
Trim that here.
gs/base/gxclrast.c
gs/base/gxclutil.c
gs/base/gxdcolor.c
2012-07-25 13:05:35 +0100
Chris Liddell <chris.liddell@artifex.com>
7de5b7e3b3c64f8c7dd01df54e8223ab1275684a
Remove a couple of unused variables.
CLUSTER_UNTESTED
gs/base/gxblend.c
2012-07-25 08:12:19 +0100
Chris Liddell <chris.liddell@artifex.com>
0caff3862d36e99ba5d14077c58e88bd9a082c83
Bug 693216: replace "word-wise" copies with memcpy()
Various places in the blending code used a loop to explicitly copy bytes from
the input buffer to the output, with the comment that the idiom used was
actually quicker than using memcpy(). The idiom in question relies on casting
the byte buffer to a four byte type. This raises the spectre of unaligned
accesses.
Testing suggests any difference between the word-wise copying and "modern"
memcpy implementations is non-existent, or too small to measure (my tests
showed more variation between runs than between the two implementations).
We reckon the memcpy() solution is more maintainable in the long term than
forcing the buffers into alignment.
No cluster differences.
gs/base/gxblend.c
2012-07-20 15:46:06 +0100
Robin Watts <robin.watts@artifex.com>
a06bb8cfd8791254655889d85a1d37f173f53597
Rework colors_used to be a color_usage bitfield.
Previously, the clist would collate the colors used in a band/page
by ORing together any color indexs uses into a single gx_color_index.
This relies on the gx_color_index being able to represent the whole
depth.
This is dodgy with compressed encoding, and fails entirely with the
new planar based tiffsep/psdcmyk and high level color stuff, as the
total depth can far exceed the number of bits available in a
gx_color_index.
The fix here is to change to using a bitfield (gx_color_usage_bits)
for this record; this allows us to have up to 64 colorants with a
standard build.
The code here is still imperfect for all the reasons listed within
the original code (only works for subtractive spaces, can falsely
detect 'no colors used', etc), but it is at least consistently
imperfect now.
gs/base/gdevpbm.c
gs/base/gdevprn.c
gs/base/gdevprn.h
gs/base/gxband.h
gs/base/gxcldev.h
gs/base/gxclimag.c
gs/base/gxclist.c
gs/base/gxclist.h
gs/base/gxclpath.c
gs/base/gxclpath.h
gs/base/gxclread.c
gs/base/gxclrect.c
2012-07-24 16:28:00 +0100
Chris Liddell <chris.liddell@artifex.com>
7319a6de58e1986c5500d6181db158d3084da099
Bug 693219 - Clarify default output device description
Patch submitted by: roucaries.bastien+gs@gmail.com
CLUSTER_UNTESTED
gs/man/gs.1
2012-07-24 15:16:46 +0100
Robin Watts <robin.watts@artifex.com>
83f1aed5358d314cc52b5c243f94bbecb1e4469b
When unpacking 16 bit image data, unpack it all.
Ensure we don't miss the last one off. Differences appear on the right
hand edge of the images when rendering:
gs -dNOINTERPOLATE -o out-%d.psd -sDEVICE=psdcmyk -r300 -dMaxBitmap=10000 fts_02_0200.pdf
vs
gs -dNOINTERPOLATE --debug=memfill-empty -o out-%d.psd -sDEVICE=psdcmyk -r300 -dMaxBitmap=10000 fts_02_0200.pdf
gs/base/gxi16bit.c
2012-07-23 17:19:21 +0100
Robin Watts <robin.watts@artifex.com>
ef036b230f33ce1d9cdd135655319d3828ca6008
Bug 693204: Fix masked devn uncolored pattern error
In the old (non device n) code copy_portrait calls
gx_dc_default_fill_masked which calls gx_device_color_fill_rectangle
(actually gx_dc_pure_masked_fill_rect).
In the new code copy_portrait calls gx_dc_devn_fill_masked. This
function is almost identical, but results in calls to the
fill_rectangle_hl_color device procedure. This turns out to be
clist_fill_rectangle_hl_color, which tries to cmd_put_drawing_color.
This fails (and indeed would have failed in the old code) as we cannot
serialise a masked color.
If instead of calling the device procedure to fill_rectangle_hl_color,
we call the device color procedure to fill a rectangle, this exactly
mirrors the old code, and indeed results in calls to the
fill_rectangle_hl_color code in a way that don't give errors.
gs/base/gxdcolor.c
2012-07-23 14:27:30 +0100
Chris Liddell <chris.liddell@artifex.com>
f661e5225bb017d15b50c2aecda7d4283f8f3aa9
Bug 693205: check for "sane" page dimensions in x11 drivers
In the x11 devices, the page size is used to request the window dimensions from
X, and X does not support 0 x 0 sized windows.
If a page size is, or rounds to 0 x 0, inform the user, and return a
rangecheck error.
CLUSTER_UNTESTED
gs/base/gdevxini.c
2012-07-23 14:15:01 +0100
Chris Liddell <chris.liddell@artifex.com>
7dfac701b8a36395a88a69b3a1e9eeaaa70c6b0b
Bug 693208: improve error feedback (when we can)
Have configure check for the presence of strerror() and if it's available,
have gp_strerror() call it.
No cluster differences.
gs/base/Makefile.in
gs/base/configure.ac
gs/base/gp_unix.c
2012-07-22 13:30:12 -0700
Ray Johnston <ray.johnston@artifex.com>
9ef234a8a065f2240173bd1d5131418d171fbf4a
Another fix for bug 692542 for garbled output with NumRenderingThreads > 1.
The multi-threaded rendering "predicts" which direction to start threads,
but the 'next_band' calculation in clist_get_band_from_thread was not
correct if the thread prediction was incorrect as it would be if the
device requested bands in other than the normal order as happens when
the device makes multiple rendering passes (psdcmyk) or NumCopies > 1.
Also, depending on the number of bands, 'clist_teardown_render_threads'
could free the main thread's 'data' area, then later point the cdev->data
to the freed block, also leaving one of the thread's data blocks leaked
(releasing the chunk memory for the thread would free this, so the leak
would be temporary).
gs/base/gxclist.h
gs/base/gxclthrd.c
2012-07-20 22:46:02 -0700
Michael Vrhel <michael.vrhel@artifex.com>
5a7b42637b166615c3c1e3b553bd86d1dced329b
Fix so that when we are doing the sep devices with spots the blend spaces for transparency remain separated
This fixes bug 693144 first part which is the segv for Bug6992217.pdf which likely existed prior to the
planar change for the sep devices. The issue with 12-07C.PS is different. In any event, the
issue was that there was a fill with a pattern in a softmask and there was an RGB transparency group
within the pattern. With the separation devices, the blending space is maintained as a subtractive
space to allow blending of all the spot colorants which means that the parent group is always maintained.
There is a discussion about this in the PDF specification with respect to spot colors and transparency
blending. In any event, the current code has some confusion since the decision as to if we should use
the group color space was based upon the device name (e.g. pdf14cmykspot) which became a problem when we
had the pdf14clistgray device when the pattern was a clist.
gs/base/gdevp14.c
2012-07-20 15:33:24 +0100
Ken Sharp <ken.sharp@artifex.com>
9986753fb7e45556980e5b661dedba2fe9d2f92c
ps2write - Emit a %%BeginResource for FOntFile resources
Previously we were emittign an %%EndResource comment but not a %%BeginResource
No differences sxpected
gs/base/gdevpdtd.c
2012-07-20 13:48:17 +0100
Chris Liddell <chris.liddell@artifex.com>
3f0bee24591c8f690bd121fee272d925247ce307
Stamp on a warning in fapiufst.c
Sort out the path length, and parameters to strncat() with the stand gs maximum path length value.
No cluster differences.
gs/psi/fapiufst.c
2012-07-19 19:02:04 +0100
Robin Watts <robin.watts@artifex.com>
39f5af403d9cf49b9419a85e3569436907ade65d
Solve psdcmyk SEGVs when max components reaches 32.
Max components reaching 32 means that the total depth reaches 256.
Attempting to pack 256 into a byte for the clist leads to obvious
problems.
gs/base/gsptype1.c
2012-07-20 00:03:13 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
1213e26fd9d71526855e1978c7440f7175413fcb
Bug 693199: Ignore broken %%ViewingOrientation
Add a check whether the comment has been parsed successfully.
If not, ignore the comment.
gs/psi/zdscpars.c
2012-07-20 10:27:32 +0100
Ken Sharp <ken.sharp@artifex.com>
01dc18e8418fc44a993840f0aeaf741929c1921a
ps2write - Always ascii hex encode the eexec portion of type 1 fonts
Bug #693197 "ps2write outputs Type 1 fonts in pfb format"
Technically it is possible for the eexec portion of a type 1 font to be in
binary or ascii hex. Because we always ascii85 encode binary data if the
device does not support it, we left eexec portion as binary.
However it seems that at least some printers (Kyocera, possibly others) are
unable to deal with this.
This patch means that we alays use ascii hex data for the eexec encrypted
portion of a type 1 font. We did consider making this a command line option
but were unable to find any other tools which emitted binary here so opted
simply to conform.
All the investigation and the original patch (see bug report) by Chris Liddell
No differences expected
gs/base/gdevpdtb.c
gs/base/gdevpsf1.c
2012-07-19 15:40:03 -0700
Ray Johnston <ray.johnston@artifex.com>
04392ddc8b6a369b0ec4dfd9d0e9c894d1aa729e
Fix bug 692542. NumRenderingThreads > 1 failed with planar devices.
The tile_cache_size was inconsistent resulting in the 'data' area
being miscalculated if the prn_device was set up in planar mode.
gs/base/gxclthrd.c
2012-07-19 13:16:29 -0700
Michael Vrhel <michael.vrhel@artifex.com>
c7f3d73ea47bba783872ac193585601a4760dcfd
Fix for bug in the named color example support
When the example in gs\toolbin\color\named_color is run we get a segv. It was due to
the name information not getting set up in the nameed color structure that the example uses.
It essentially uses an ICC for with the named spot color data packed into the buffer.
gs/base/gsicc_manage.c
2012-07-19 12:42:38 -0700
Michael Vrhel <michael.vrhel@artifex.com>
ddc361cee517d73f4977c7600d9853cc1813ad1f
Fix of bug in setting source based rendering intent for RGB objects
There were several typos caused by copy and past of the CMYK code for
setting rendering intents. Thanks to Stefan Lietermann for finding this.
gs/base/gsicc_manage.c
2012-07-18 23:05:23 -0700
Michael Vrhel <michael.vrhel@artifex.com>
17a42fca39c61c256cc5bab4d343f6bf38ae5109
Add in support for copy_planes into the overprint device
The copy_planes procedure is used during the default copy_alpha_hl_color and if we
are going out to the overprint device, we need to make sure to copy only those
planes that are specified in the drawn components vector. We also needed to
distinguish from this case and a copy_planes coming from the pattern tiling code.
This was done by adding in a copy_alpha_hl_color proc for the overprint device that
sets a flag and calls the default copy_alpha_hl_color so that later when we get
back to the overprint device's copy_planes proc we will know to do the over print
rather than just pass things along to the target device. Fixes Bug 693184.
gs/base/gsovrc.c
2012-07-19 16:37:27 +0100
Chris Liddell <chris.liddell@artifex.com>
44b01d274db5272055de6afb3d72788b6db84d53
Bug 693188: don't skip glyphs with degenerate matrices
In commit 752397ab, the fix for Bug 692263 was to skip over glyphs when the
matrix in force for the glyph had a zero scale in either dimension.
It seems that this approach had potentially unfavourable side effects in the
glyph cache.
So, when we encounter a degenerate matrix rendering a glyph, we now force a
minimal, non-zero scale before attempting to render the glyph. This placates
the glyph cache.
Cluster testing shows (tiny) progressions in Bug689006.pdf, Bug690179.pdf,
and Bug692634.ps, and pixel differences, not identifiable as progressions
or regressions in Bug690497.pdf and 12-07C.PS.
gs/psi/fapi_ft.c
gs/psi/fapibstm.c
gs/psi/fapiufst.c
gs/psi/ifapi.h
gs/psi/zfapi.c
2012-07-18 20:57:54 +0100
Robin Watts <robin.watts@artifex.com>
71ddb93b2b679c980a4024fcc1089c2d56abc3ab
Recognise Darken and Lighten as idempotent rendering modes.
No need to set the lop_pdf14 bit, and consequently makes files that
use stroking with Darken/Lighten much faster. See Bug 693173.
gs/base/gdevp14.c
2012-07-18 13:11:35 +0100
Robin Watts <robin.watts@artifex.com>
8a25653ddb875c29172b62eff48bec0147d09aab
Update scrollbar handling in Windows windows.
Drag ghostscript kicking and screaming into the 1980s by adding
proportional scrollbar handling.
gs/psi/dwimg.c
gs/psi/dwtext.c
pl/dwimg.c
2012-07-17 12:52:59 -0700
Michael Vrhel <michael.vrhel@artifex.com>
d7b56aa8c3b39e58d2b5faefd33ecb7e377f097e
Fix for bug in clist copy planes procedure.
The clist copy planes procedure was not indexing through the planes during the clist writing.
The 2nd plane was getting replicated into all the other subsequent planes. This is a bug fix
for 693061. I also added a message for when we are in debug and going out to a device that
supports devn color to notify us of a case where we have DeviceN color spaces with \None colorants.
As mentioned in bug 693061 Comment 5 this causes a problem for the composite preview in the
separation devices. Ink amounts for the separations will be correct, but without having the \None
colorant ink amounts, the preview is not going to be correct.
gs/base/devs.mak
gs/base/gsequivc.c
gs/base/gxclrect.c
2012-07-13 13:05:06 +0100
Robin Watts <robin.watts@artifex.com>
a88326f1ca382092c889ffa9be1abe857c118a34
Bug 693166: Optimise interpolation
When interpolating, ghostscript pays no heed to the clipping rectangle.
Hence if we scale (say) a 256x256 image up to (say)17067x17067, even
though only a small portion of the scaled up image is actually visible
we scale the whole lot only to throw away 90%+ of it.
To fix this, we have to extend the capabilities of the interpolation
code.
The existing code already copes with only being given data for a
subsection of the image (for when we split images in the clist, I
guess). This rectangle is referred to in the code as being 'the
subrectangle we are rendering', when it's actually 'the subtrectangle
we are being given data for'. We update the description to be more
accurate.
We introduce a new rectangle, 'the render rectangle' to indicate the
subrectangle that we are actually rendering - this will always be a
subset of the data rectangle.
If we are given a clipping rectangle, we read the outer bbox from it,
and map this back into the source space of the image; we intersect this
with the data rectangle to get the render rectangle.
We update the scaling stream filter to set an 'Active' flag to say
whether we are inside the render rectangle or not. If not, we can
safely skip lines in their totality. By default we leave this set to
1, so that any scaling cores that aren't updated to know about this
will perform in the old way.
We update the scaling code to make use of the Active flag; whole lines
are skipped if we aren't in the active region, and if we are, we skip
prefixes/suffixes of unused pixels.
We update the scaling cores themselves to avoid calculating values
outside the active regions.
Note that for simplicity we still allocate space as if we were
accessing the whole line. We still calculate contributions for the whole
of the images; to do otherwise would require significant changes to
the weight generation code, and this isn't a huge consumer of time.
gs/base/gximage.h
gs/base/gxipixel.c
gs/base/gxiscale.c
gs/base/siscale.c
gs/base/sisparam.h
2012-07-17 13:28:01 +0100
Robin Watts <robin.watts@artifex.com>
cbcd1dc873db397af0866f9fd54a70421dc6692f
Tweak interpolation calculations
In preparation for the next commit, tweak the image interpolation
calculations; rather than doing a matrix multiplication and then
only using the X coords from it, change to doing both width and
height calculations in the same way.
This causes various (350ish) small changes in interpolation output
due to rounding issues.
gs/base/gxiscale.c
2012-07-16 22:16:35 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
2f12f569672d84a1846905c41701fca52f8dc55e
Bug 689376: fix //name handling on command prompt.
We allocate %statementedit in the system memory. When a is read from
the command prompt we use gs_scan_token() to determine, whether the
line has a complete token. If the line has immediately evaluated names,
gs_scan_token() fails. This is interpreted as the end of the input.
If the line buffer has a complete token, the buffer is rescanned
and everything is fine. Otherwise, scanning a prematurely closed buffer
causes an error.
All we need to do to fix this is to force local memory allocation
instead of inheriting system memory from %statementedit. The scanned
token is discarded after determining whether the input line is
complete.
gs/psi/ziodev.c
2012-07-16 13:00:46 +0100
Ken Sharp <ken.sharp@artifex.com>
b49d3c75a70cbdcdb2214f22ad1a1f62f1bb90fc
ps2write - create document %%BoundingBox from teh individual page Bounding boxes
Bug #693181
The document level BoundingBox is supposed to be the intersection of the
boundingbox of all the pages, whereas in fact it is the device media size.
Now we create the document BoundingBox by taking largest dimensions from all
the pages in the output.
NB the BoundingBox for each page is given from the media request, so this is
not a true BoundingBox anyway, but at least it is better then before.
gs/base/gdevpdfu.c
2012-07-14 16:25:13 -0700
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
479b462ffa4663a71a88d185aaf7cc5c4f5d1903
Replaced an '==' that was incorrectly being used for equality testing in configure with '='.
gs/tiff/configure
gs/tiff/configure.ac
2012-07-13 12:25:27 +0100
Chris Liddell <chris.liddell@artifex.com>
808f39dd443b1e475f6d9bfd320d79d793124d3f
Bug 692684: stack variable corruption
In alloc_restore_step_in(), we have to make sure that, whenever we back up
a memory space to the previous save level, we hold onto the gc_status.psignal
pointer, and put it into the restored memory space. In case the "save"
happened during an earlier call to interp() and co.
No cluster differences.
gs/psi/isave.c
2012-07-13 14:14:47 -0700
Michael Vrhel <michael.vrhel@artifex.com>
fef9eef583d2ac227d3f9037785e27f1d5ecfc0d
Fix for missing variable set in overprint code from enhancement of simulated RGB overprint
Fixes Bug 693085
gs/base/gscspace.c
2012-07-13 16:15:22 -0400
Wendy <wendyst2@gmail.com>
cdf018f4dc9e7765a8c3851c2e66edaad5642a0b
Add missing '\n' to the last line, required by MSVC 7.
gs/base/gxcldev.h
2012-07-13 13:54:36 +0100
Ken Sharp <ken.sharp@artifex.com>
57fe0115f01724b3c50812678c63924d008a01d9
pdfwrite - code cleanup
Deprecated the undocumented 'MaxViewerMemorySize' parameter whcih wasn't in
fact being used anywhere useful.
Deprecated the 'pdf_write_and_free_all_resoruces' function which is not used
after deprecating MaxViewerMemorySize.
Deprecated the function 'pdf_glyph_origin' as it is unused
made 'write-font_resources' non-static so it can be called from pdf_close
Deprecated pdf_close_text_document and moved the code (which actually writes
fonts and font descriptors) into pdf_close so that its easier to follow the
control flow. Also cleaned up the code so that it isn't one huge 'if' test
but each function call is separated out for easier debugging.
Made a number of '#if 0' blocks into '#ifdef DEPRECATED_906'. All blocks of
code marked this way will be removed after the release of 9.06.
Removed a number of cases where we had #define labels with a bug number, these
now use the #ifdef DEPRECATED_906 lable or are simply removed and the code
compiled in.
Simlarly with '#define RIGHT_SBW' and '#if !RIGHT_SBW'
Updated the ps2ps2.htm document to remove the reference to MaxViewerMemorySize.
No differences expected.
gs/Resource/Init/gs_pdfwr.ps
gs/base/gdevpdf.c
gs/base/gdevpdfb.h
gs/base/gdevpdfc.c
gs/base/gdevpdfp.c
gs/base/gdevpdfu.c
gs/base/gdevpdfx.h
gs/base/gdevpdt.h
gs/base/gdevpdte.c
gs/base/gdevpdtf.h
gs/base/gdevpdtt.c
gs/base/gdevpdtw.c
gs/base/gdevpsds.c
gs/doc/Ps2ps2.htm
2012-07-12 11:56:12 +0100
Chris Liddell <chris.liddell@artifex.com>
9d73413d5ccb44b11a644848422dfb17e51eb7da
Changes to build on msys/mingw
Allows all the system header presence macros previously set in unix-aux.mak to
be set by configure instead. The tests remain unix-aux.mak for backwards
compatibility.
This also changes those macros to the "tri-value" style:
undefined, defined 0 and defined 1.
Also removes jbig2dec/config_types.h from source control.
No cluter differences.
gs/base/Makefile.in
gs/base/configure.ac
gs/base/dirent_.h
gs/base/gp_unifn.c
gs/base/gp_unifs.c
gs/base/openvms.mak
gs/base/pipe_.h
gs/base/time_.h
gs/base/unix-aux.mak
gs/doc/Make.htm
gs/jbig2dec/config_types.h
2012-07-12 17:15:13 +0100
Ken Sharp <ken.sharp@artifex.com>
aa35587db7ba9dc469060d30d3313b318ca45bd5
make the SEAC detector and type 1 -> type 2 charstring converter tolerate broken fonts
Bug #693170 "ps2pdf crashes on a given file"
The fonts in the PostScript file are invalid in that some of the glyphs do not
end with an 'endchar' or other valid termination operator. This was causing
a buffer overrun which eventually could cause access to invalid memory and a crash.
Added limit checking where it was missing and choose to return an 'unknown'
error so that code which is able to handle this can detect the condition. Code
which is not expecting this contdition will continue to signal an error.
No differences expected
gs/base/gdevpsfx.c
gs/base/gxtype1.c
gs/base/gxtype1.h
2012-07-12 15:44:52 +0100
Robin Watts <robin.watts@artifex.com>
82ef3429ec2f3fc891a2f61455027842b7aa7581
Revert "Move GC flag from stack to gs_lib_ctx."
This reverts commit 39b0a515d5101cf48ae35f1ebb14e4558cb78e88.
That commit doubled the runtime in cluster testing, so presumably
gc was being triggered too often.
gs/base/gslibctx.h
gs/psi/imain.c
gs/psi/interp.c
2012-07-12 08:42:38 -0400
SaGS <sags5495@hotmail.com>
b2e2def97f5b1664dc3d8e2be942a2de5857b802
Bug 693155: 'resourceforall' returns truncated names for /CMap resources.
(A)
Comments say that gs_init.ps::.generate_dir_list_templates_with_length returns
the legth of the "directory" part, but if actually returned the length of
"[base] directory" + "template" - 1.
(B)
gs_res.ps::ResourceForAll passes part of the real "directory" (the "Category/")
as part of the "template" argument of .generate_dir_list_templates_with_length,
but failed to take into consideration the length of this string when cutting
"directory" from the full filespec in order to remain with the resource name.
Note that .generate_dir_list_templates_with_length does not check if its
"template" argument contains directories too so cannot adjust the returned
length. The code as written intends to deal with resource names that include
.file_name_separator (see discussion on Bug 688737 "'resourceforall' truncates
names of file-based resources"); such a resource name would be
"Times/Cyrillic".
gs/Resource/Init/gs_init.ps
gs/Resource/Init/gs_res.ps
2012-07-12 13:29:24 +0100
Robin Watts <robin.watts@artifex.com>
29a16f87849a874cd872fc8e2beab2b3986eea51
Bug 693171: Patch OpenJPEG to avoid SEGVs with broken files.
Patch from Shailesh Mistry. In the case of corrupt files, tiles
were failing to be allocated, leaving the code attempting to
work with non existent tiles. The fix is to spot the failure,
mark the tiles as being non-existence and then to check this
before accessing them.
gs/openjpeg/libopenjpeg/j2k.c
gs/openjpeg/libopenjpeg/tcd.c
2012-07-12 11:44:29 +0100
Chris Liddell <chris.liddell@artifex.com>
514595fc2cc84f51efdef563cf7a35a0050902e5
Bug 693038 - allow gsx to build against GTK+ 3.x
Patch from galtgendo@gmail.com applied with changes to maintain compatibility
with GTK+ 2.x, and replace a function deprecated in GTK+ 3.x.
This patch drops GTK+ 1.x support.
No cluster differences.
gs/base/configure.ac
gs/psi/dxmain.c
2012-07-12 09:20:35 +0100
Chris Liddell <chris.liddell@artifex.com>
b6252440c644b4f172c517a931fd3da73828f64c
Fix for OpenJPEG build on FreeBSD
Make sure OpenJPEG does not try to use memalign() on FreeBSD systems.
Credit to Alex Zimnitsky ( aavzz@yandex.ru ) for the patch.
No cluster differences.
gs/openjpeg/libopenjpeg/opj_malloc.h
2012-07-12 00:11:37 -0400
SaGS <sags5495@hotmail.com>
e0deadb4b3661e6c4e0811b45d1c251e124632be
Remove an additional, incorrect, search for resources,
intended for OpenVMS only.
ResourceForAll used a 2nd template for searching file-based resources,
GenericResourceDir + Category
+ .file_name_separator + originaltemplate + .file_name_separator + "*"
in addition to the standard
GenericResourceDir + Category + .file_name_separator + originaltemplate
This was documented as needed for OpenVMS, but it results in
dev:[genericresourcedir.Category]originaltemplate]* ("]" twice)
which is definitely invalid. It is also unnecessary, the "standard" one is OK.
For other platforms, this 2nd form may or may not be syntacticly valid ("*?",
coming in form the original template, in the "directory" part), but it's
definitely not useful.
Of course, it remains the question what was the intent of the person who added
these lines (in case we should keep the code but fix it). I considered:
- "dev:[genericresourcedir.Category.*]template", but this searches one
directory level too deep.
- "dev:[genericresourcedir.Category]template;*", but this would load all
versions of a same file. Definitely not what we want, because we may end
with an obsolete (old) copy of the resource.
- "dev:[genericresourcedir.Category]template.*", but this is unnecessary. And
maybe more important is that the exact template used is the responsability
of the caller; I see no reason for ResourceForAll to modify it.
The most precise documentation on OpenVMS path syntax I found is "Guide to
OpenVMS File Applications"
<http://h71000.www7.hp.com/doc/731final/documentation/pdf/ovms_731_file_app.pdf>
available from <http://h71000.www7.hp.com/doc/os83_index.html>.
I also asked on comp.os.vms, and the response I got confirmed the form used is
invalid.
gs/Resource/Init/gs_res.ps
2012-07-11 23:17:36 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
39b0a515d5101cf48ae35f1ebb14e4558cb78e88
Move GC flag from stack to gs_lib_ctx.
Move the GC flag from the stack, where it can go out of scope to
lib context structure (gs_lib_ctx_t), which is allocated quite
early in stable memory and never goes out of scope.
Revert the commit a39e4831ba0d74d742b365f3b3b1af192731303c for the
bug 692684 because it didn't really fix anything. That patch just
changed the stack layout and masked the effect of writing into an
out-of-scope location.
The sample file 34_all.PS no longer causes SEGV but continues to
have a resolution-dependant rendering of one character.
gs/base/gslibctx.h
gs/psi/imain.c
gs/psi/interp.c
2012-07-11 18:27:44 +0200
Till Kamppeter <till.kamppeter@gmail.com>
c304a350330b3e333b34c048de009967f1a6caa1
Fixed typos in comments.
gs/base/lcms.mak
gs/base/lcms2.mak
2012-07-11 15:51:27 +0100
Chris Liddell <chris.liddell@artifex.com>
4f6b98548bec2c10b10207d4f25b805fc393ade8
Bug 693176: write transparent type2 pattern color to clist
When using a clist, ensure that the all the color space data for the
pattern gets written to the clist, *and* that the clist correctly
records all the relevant transparency data.
I'm at a loss to explain how COMPILE_INITS influenced this, but this
change brings the clist/non-clist output and code in line with each
other.
No cluster differences.
gs/base/gdevp14.c
2012-07-10 15:03:49 -0700
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
c7d2fbfef2ea176472c4459b3772ef3ac496ee5d
Expanded -dDOINTERPOLATE section of Use.htm based on Robin's description of same.
gs/doc/Use.htm
2012-07-09 14:04:16 -0700
Michael Vrhel <michael.vrhel@artifex.com>
f5d0a752ccd610aa4a3946e30e2a0917cacacf28
Fix for mistake in commit 951adcd6 . which was the xps transparency fix
Fixes the reopening of bug 693042
xps/xpspath.c
2012-07-09 14:12:24 +0100
Chris Liddell <chris.liddell@artifex.com>
711883fd711772b7856e19207cc64f829033e254
Bug 693172: Truetype: disable hinting for broken glyph program
In the AFS Truetype code, if we encounter a glyph with a broken bytecode
program reset and retry the glyph with the bytcode interpreter disabled.
This reflects what the FAPI/Freetype does, and what most other TTF consumers
seem to do.
No cluster differences.
gs/base/ttfmain.c
2012-07-07 13:50:54 -0700
Ray Johnston <ray.johnston@artifex.com>
c1815bdb424390c21289287d13f7e8747792c098
Simplify the ICC options PS code to do a single .setuserparams2
Use an array of names to collect all options that were set from the command
line and then do a single .setuserparams2 invocation.
gs/Resource/Init/gs_lev2.ps
2012-07-06 16:38:55 -0600
Henry Stiles <henry.stiles@artifex.com>
149974a4a14999d5e336911b262600e5fa950e18
Fixes bug 693162, shifted text due to Vertical Motion Index command not
resetting the cursor to the home position.
pcl/pcpage.c
pcl/pcursor.c
2012-07-06 00:15:51 -0700
Michael Vrhel <michael.vrhel@artifex.com>
74897ff7aeecb9a76dde73a6554444b40a89beec
Use .setuserparams2 instead of .setuserparams when setting the ICC user params
Thanks to Chris for pointing this out. If we use .setuserparams then in gs_lev2.ps the
various user params such as /DefaultCMYKProfile are set. This sets the profile
in the icc manager properly to what ever was set on the command line.
Unfortunately, the currentuserparams dictionary (or what ever object it is)
that is maintained by the interpreter is not updated with the same value, but
instead it has an old default value that it obtained from an earlier call of
.currentuserparams. During a vm_reclaim, context_state_store stores the
outdated userparam information and then context_state_load does a call to
set_user_params with this outdated userparams information. setuserparams2
takes care of this by getting the interpreters list in sync at the time we do
the setting of the parameter. Fixes bug 693159
gs/Resource/Init/gs_lev2.ps
2012-06-29 17:39:31 -0700
Michael Vrhel <michael.vrhel@artifex.com>
951adcd68cf899a472b8c280e58fd7ff589badd3
Fix in XPS interpreter to ensures we only push the smallest transparency group needed + more
For a path that included an opacity mask, the XPS interpreter was pushing a soft mask
that included the entire page (it actually just looked at the current clip path). This
fix incorporates the path that we are filling in the computation of the transparency group
size. Also, there were issues with the softmasks in general that were causing them to be
double applied. Fixes 693042 and also provides improvements for 690951. Also this should fix 693137 and 692892
gs/base/gspath.c
gs/base/gstrans.c
gs/base/gstrans.h
gs/base/gxpath.h
gs/base/lib.mak
gs/psi/ztrans.c
xps/ghostxps.h
xps/xpsglyphs.c
xps/xpsgradient.c
xps/xpsimage.c
xps/xpsopacity.c
xps/xpspage.c
xps/xpspath.c
xps/xpstile.c
2012-07-04 17:32:21 +0200
Tor Andersson <tor@ccxvii.net>
2f71f5166422d5c61cb13c6078b2dfb1c3234db7
Implement XPS style simulations using shearing and fill+stroke.
Special case for pdfwrite to pass through Tr mode without using charpath
by looking for PreserveTrMode in the device parameters.
Fixes bug 689278.
xps/ghostxps.h
xps/xpsglyphs.c
xps/xpstop.c
2012-07-03 22:52:19 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
31d9fb2b771272d7ba4712d8887c668d0e86d82e
Bug 693050 : Fix compiler warnings
gs/jbig2dec/jbig2_halftone.c
2012-07-03 15:48:43 +0100
Ken Sharp <ken.sharp@artifex.com>
0bc05670e841517b8a2041999c19c19507874a4a
pdfwrite - when we have /Indexed space or non-identity transfer use lossless compression
Bug #689506
level 1 output from PScript5.dll can create a fake 'Indexed' space by using
a non-identity transfer function. Also if we do have a real /Indexed space,
then using lossy compression or downsmapling (other than Subsample) results
in garbage output.
Previously we disabled compression and subsampling when either condition was
true, but this leads to large files under some conditions. The code here instead
overrides any downsampling and uses Subsample instead, and selects a lossless
compression scheme.
This results in smaller files for some conditions without affecting ordinary files.
Also removed a line with a C++ style comment
No differences expected.
gs/base/gdevpdfi.c
2012-07-03 14:55:30 +0100
Chris Liddell <chris.liddell@artifex.com>
ceac6867c04ef61e5529b0af14a2c4b641ca4206
Bug 693164: PDF (partially) ignore tr mode for type 3 fonts
The PDF spec states that: "The text rendering mode has no effect on text
displayed in a Type 3 font" - unfortunately, not only does Acrobat not
behave like that, it behaves differently with various versions Acrobat.
Worse, Acrobat X Pro seems to produce different results depending on how you
load the file!
This change makes GS match Acrobat X Pro, which ignores text rendering modes
for Type 3 fonts, except mode 3 (non-marking).
As well as the problem file now working, this causes tiny differences in outline
for Bug692129.pdf, chartab.pdf. It causes a progression with pdf-t3-simple.pdf
which now renders more like Acro X.
gs/Resource/Init/pdf_ops.ps
2012-07-02 22:49:17 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
e9bbff5f116eccd87946df28fced66ba42cbad1d
Bug 693050 : Fix valgrind error in 0CF9 folder
gs/jbig2dec/jbig2_refinement.c
2012-07-02 21:53:20 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
aad5317a0e77dac6fd2766b99c12c3ca7874c7d4
Bug 693050 : Fix error handling in 0717 folder
gs/jbig2dec/jbig2_halftone.c
gs/jbig2dec/jbig2_mmr.c
2012-06-01 14:05:03 -0700
Michael Vrhel <michael.vrhel@artifex.com>
3a5a524ea71a58cc0e9e0200bb98a2fc341ec033
Fix for broken AA support for devices that support the devn color type
This fix involved the addition of a copy_alpha_hl_color for passing along the devn color
value when doing the copy_alpha procedure. This required support through the clist,
special handing in the pdf14 device and a default procedure for the operation.
The only devices that should be affected are tiffsep and psdcmyk. Support for 16bit psd
devices may have issues and I will go back to check on this later as a customer is waiting
for this for 8 bit tiffsep.
gs/base/gdevabuf.c
gs/base/gdevdbit.c
gs/base/gdevdflt.c
gs/base/gdevmem.c
gs/base/gdevmem.h
gs/base/gdevmpla.c
gs/base/gdevnfwd.c
gs/base/gdevp14.c
gs/base/gsdcolor.h
gs/base/gspaint.c
gs/base/gxccman.c
gs/base/gxcldev.h
gs/base/gxclip.c
gs/base/gxclip.h
gs/base/gxclip2.c
gs/base/gxclipm.c
gs/base/gxclist.c
gs/base/gxclpath.h
gs/base/gxclrast.c
gs/base/gxclrect.c
gs/base/gxdevcli.h
gs/base/gxdevice.h
gs/base/gxdevmem.h
2012-06-28 10:53:31 -0600
Henry Stiles <henry.stiles@artifex.com>
58d67647585fdb2707ccdb5eccc0123c77fbe495
Bug 693156 - incorrect units.
PCL distinguishes between device units and native units, and before
this change we had interpreted them to be the same, resulting in what
appeared to resolution dependencies in HPGL/2 - RTL. The native units
can now be set by the PJL resolution given on the command line
independent of the physical units of the device.
pcl/pcjob.c
2012-06-28 11:07:22 +0100
Ken Sharp <ken.sharp@artifex.com>
dc797976bca27ea5c706d93f5fcb42b5386cc6ed
pdfwrite - store widths for regular fonts when there is a vertical displacement.
Bug #691369 "Widths array in font dictionary contains incorrect values for rotated text"
Similar to bug #692365 but this time for regular fonts not CIDFonts. If there
is any vertcial displacement of the glyph then we did not store teh glyph
width, leading to it being emitted as 0.
Fix is very similar also.
No differences expected.
gs/base/gdevpdte.c
gs/base/gdevpdtt.c
2012-06-27 09:34:03 +0100
Ken Sharp <ken.sharp@artifex.com>
2ff29d1f499451c63ddb8b3cc152cb2eda4b5e33
pdfwrite - record glyph vertical metrics evne when the position vector has a vertical shift
Bug #692365
The store_glyph_width routine returns >0 if there is any vertical shift in
addition to a width, this is defined as 'not safe to cache'. The routine
pdf_glyph_widths ORs that into its return value and passes the data back.
scan_cmap_text was checking that value before recording the width, and not
recording it if it was > 0. This is incorrect, at least when in vertical writing
mode, as this is the only place that we record the vertical metrics for use
in the W2 array. If we don't record them here this information is lost. Also
we don't need to worry about the vertical movement here as that is dealt with
elswewhere by modifying the text matrix.
This was leading to pdfwrite emitting a /W2 entry with all 0 values [0 0 0]
which caused significant misplacement of glyphs.
Expected Differences
Bug692576.ps exhibits a progression
gs/base/gdevpdtc.c
2012-06-27 09:07:06 +0100
Chris Liddell <chris.liddell@artifex.com>
d026537beaf869a2792cf5d97e8b5c3555875f28
Bug 693158: initialise the fapi_raster structure before use
Fixes several valgrind errors about use of uninitialised values.
No cluster differences expected.
gs/psi/zfapi.c
2012-06-27 07:50:25 +0100
Chris Liddell <chris.liddell@artifex.com>
bc9efbeb2e69cd6d1aac4d14f30ba3b170e6a8f7
Fix a small typo in README.txt
CLUSTER_UNTESTED
README.txt
2012-06-26 15:34:44 +0100
Robin Watts <robin.watts@artifex.com>
526c580e272ee15c488b9fe4845482a30ce05eef
Bug 693064: raise maximum possible GS_CLIENT_COLOR_MAX_COMPONENTS to 32
By default we support a maximum of 14 components. Supposedly this can be
increased by raising GS_CLIENT_COLOR_MAX_COMPONENTS to a larger number
on startup, but this starts to cause problems in various places throughout
the code.
The first such place is in the bpc_to_depth function (found in gdevdevn
and various other places), where the calculation goes wrong for anything
above 31 components at 8 bpc. We fix that here.
This allows us to get to 32 components. To raise it above 32 presents
problems on most architectures as the code assumes elsewhere that we
can use a bitmask to represent which components are present.
We may be able to tweak the code to use a uint64_t instead, in which
case we can probably get to 64 components; is that high enough?
gs/base/gdevdevn.c
gs/base/gdevrinkj.c
gs/base/gdevxcf.c
gs/base/gxclist.c
2012-06-24 11:11:52 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
49fd8e8156bb5b751ff8a03e86ea61cb9c496a6b
Bug 693142: Fix shape of highlight annotation.
Draw rotated highlight annotation correctly. Fix a bug in calculation
of the centers of the small arcs at the ends of the highlighted area.
gs/Resource/Init/pdf_draw.ps
2012-06-23 23:57:19 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
5eff06782ad8c9b09f132add0d5f8a7458e0c7b2
Bug 693050 : Fix error handling in dcbd folder
gs/jbig2dec/jbig2_page.c
2012-06-23 23:00:47 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
b93322df872c8ff026127ea54fe86d3d940f1866
Bug 693050 : Fix error handling in 9557 folder
gs/jbig2dec/jbig2_symbol_dict.c
2012-06-23 22:14:43 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
ed7a9680adc24f0063455196d817810ff623f32a
Bug 693050 : Fix memory leak in 4faa folder
gs/jbig2dec/jbig2_symbol_dict.c
2012-06-23 21:12:19 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
b306b997740d3ad904d8dc6b82ee981b1db52bd2
Bug 693050 : Fix error handling in 2908 folder
gs/jbig2dec/jbig2_halftone.c
2012-06-22 22:25:44 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
8c497936e37bdf430b87fd65db3fa6070716fcdf
Bug 693050 : Fix memory leak in 146f folder
gs/jbig2dec/jbig2_mmr.c
gs/jbig2dec/jbig2_symbol_dict.c
2012-06-22 16:56:39 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
b73adca0e4e3b9ad4a2e4fd5ba16f845362fa37b
Bug 693050 : Fix minor typos and memory leak in 040d folder
gs/jbig2dec/jbig2_arith.c
gs/jbig2dec/jbig2_image.c
gs/jbig2dec/jbig2_symbol_dict.c
gs/jbig2dec/jbig2_text.c
2012-06-20 18:18:02 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
dc77e931b2a6118092bac21b4dd38bc10d41e644
Bug 690723 : Prevent over writing unallocated memory when parsing an image
gs/jbig2dec/jbig2_mmr.c
2012-06-19 11:57:57 +0100
Chris Liddell <chris.liddell@artifex.com>
9eb67bc021dda346896786e0d813245387649ce2
Fix a parallel build problem......
A couple of places that depend upon gconfig.h had their dependency listed as
being gconfxx.h (would be created dynamically by its own target) and would
then copy gconfxx.h to gconfig.h (I have no idea why this extra complication
is there, but.....).
With an unfortunate, but not uncommon confluence of two make instances, both
instances could end up trying to copy gconfxx.h to gconfig.h, thus causing
Unix "cp" (at least) to throw an error, and the build to fail.
Now gconfig.h has its own target (which depends on gconfxx.h), and that
target is where gconfxx.h is copied to gconfig.h, thus allowing make to
correctly track the creation of the file.
No cluster differences.
gs/base/gs.mak
gs/base/lib.mak
gs/psi/int.mak
2012-06-18 16:51:30 +0100
Robin Watts <robin.watts@artifex.com>
7f98970a6c0e641e87eb202dc2087814249d0408
Add 3:2 and 3:4 downscaling to tiffsep/psd/downscaler.
Currently the downscaler can only downscale in integer increments. To
accomodate a potential need to efficiently scale 1200 -> 800 and
600 -> 800 dpi, we introduce new functionality to allow 3:2 and 3:4
scaling modes.
We shoehorn these into the existing scaler system by using DownScaleFactor
settings of 32 and 34 respectively; any other DownScaleFactor > 8 will
give a rangecheck error.
This has required some changes within the downscaler code itself, and
will require more changes in any device that wants to use these. Currently
the cores are only provided in the planar modes; hence tiffsep and psd are
the only devices that have been updated to work with this.
gs/base/gdevpsd.c
gs/base/gdevtifs.c
gs/base/gdevtsep.c
gs/base/gxdownscale.c
gs/base/gxdownscale.h
2012-06-18 13:42:07 +0200
Tor Andersson <tor.andersson@artifex.com>
7cd694d6e98719b77095069007e472334e16dd0e
Check for opacity 0.0 in xps transparency analysis.
Objects with opacity 0.0 are skipped by the parser, so we don't
have to install transparency device for them.
xps/xpsanalyze.c
2012-05-01 12:16:08 +0100
Tor Andersson <tor@ccxvii.net>
32c5d9122cf7ea813755d079f80445e6f2d842f4
Move the has_transparency flag into the xps context.
Patterns to set the uses_transparency flag. The current transparency scan
doesn't resolve resources that have been inherited from a higher level.
Doing this would require rewriting the entire transparency scanning and
involve a lot more parsing. Instead we reuse the results from the
original transparency scan we do at the beginning of the page.
Fix bug 692513.
xps/ghostxps.h
xps/xpspage.c
xps/xpstile.c
2012-06-18 10:01:46 +0100
Chris Liddell <chris.liddell@artifex.com>
0a33ed5b599d73509d0cde7e84e257e89ff1c1fb
Fix comment delineation.
I accidentally used the wrong comment delineator when I updated the copyright.
CLUSTER_UNTESTED
gs/toolbin/pdfinflt.ps
2012-06-15 19:22:52 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
64984bdf351dc27e40cbe5af5751dcdfcb448366
Bug 693050 : Fixes CERT reported issues labelled DestAv
gs/jbig2dec/jbig2.c
gs/jbig2dec/jbig2_priv.h
gs/jbig2dec/jbig2_symbol_dict.c
gs/jbig2dec/jbig2_symbol_dict.h
2012-06-15 14:38:15 +0100
Chris Liddell <chris.liddell@artifex.com>
28a37f219de0bbd04bef9026812cbb9ea42a9910
Add a default shared lib extension.
Just a minor tweak so the dynamic library extension is set to *something*
even on unrecognised platforms.
No cluster differences.
gs/base/configure.ac
2012-06-15 14:01:27 +0100
Chris Liddell <chris.liddell@artifex.com>
7c9a1a772cef2339c110238b40c73e8039dca2eb
Revert some copyrights accidentally changed in the recent revamp
Three files which are copyright FSF.
Thanks to zeniko for spotting the mistake.
No cluster differences.
gs/jbig2dec/getopt.c
gs/jbig2dec/getopt.h
gs/jbig2dec/getopt1.c
2012-06-15 13:44:27 +0100
Chris Liddell <chris.liddell@artifex.com>
cd2cb0829b3a8ffe0e8a3bd87c08941663d691f9
Bug 693113: configure set shared lib file extension
Have the configure set the file extension for the shared library. This is
purely to handle Apple's (pointless?) decision to make OS X use ".dylib" as
the shared library extension, rather than the ".so" used by every other
Unix-a-like.
No cluster differences.
gs/base/Makefile.in
gs/base/configure.ac
gs/base/macos-mcp.mak
gs/base/macosx.mak
gs/base/unix-dll.mak
gs/base/unix-gcc.mak
2012-06-15 08:35:50 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
570984d2074289bb06261112d26bc323725c321e
Bug 693119: Tweak EOL detection after 'stream'
Modify EOL processing after 'stream' operator to accept a new class of
broken PDF files. GS now stops skipping spaces when it finds '\n' or a
non-space character.
gs/Resource/Init/pdf_base.ps
2012-06-14 17:06:16 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
8988c41bf227e5f370fba7592bfd18e85330b0c2
Bug 693050 : Fixes CERT reported issues labelled SourceAvNearNull
gs/jbig2dec/jbig2_image.c
gs/jbig2dec/jbig2_symbol_dict.c
gs/jbig2dec/jbig2_text.c
2012-06-14 16:36:11 +0100
Ken Sharp <ken.sharp@artifex.com>
53cc9631a7725b0f6a20d815252c3a23b978d8ee
Update pdf_info.ps to report the UserUnit for a page, if present.
This allows users to correctly calculate media and crop sizes from the
relevant 'Box' arrats.
Not cluster tested
gs/toolbin/pdf_info.ps
2012-06-13 14:24:18 -0600
Henry Stiles <henry.stiles@artifex.com>
d8fd89891d07d4b04cf180c3f5a4ac4388c769ce
Fixes Bug 692991 - XL assembler and dissasembler now work with python 3.
Thanks to Hin-Tak Leung for these changes.
tools/pxlasm.py
tools/pxldis.py
2012-06-13 13:29:35 -0600
Henry Stiles <henry.stiles@artifex.com>
76aad1b9e4eb2ae30d42b995a3ba8998b8e0820f
Bug 690585 - Use the defalt strip copy rop routine when the
destination is not included.
Thanks to Hin-Tak Leung for this fix.
CLUSTER UNTESTED
gs/base/gdevpx.c
2012-06-13 18:40:02 +0100
Chris Liddell <chris.liddell@artifex.com>
c87f2d826726f8b1108d233096fa6fd4a872b020
Fix parameter passed to dict_find_string()
Parameter was a ref *, should have been a ref **.
No cluster differences.
gs/psi/zchar42.c
2012-06-13 18:37:27 +0100
Chris Liddell <chris.liddell@artifex.com>
e786619c57be0c846051ec264eb80b69a9ca42de
Bug 693116: disable lzma compression in libtiff
lzma is not part of base line tiff, but is enabled by default in libtiff, since
we only support base line, disable lzma.
No cluster differences.
configure.ac
gs/base/configure.ac
2012-06-13 13:15:32 +0100
Chris Liddell <chris.liddell@artifex.com>
85be3180530043232160745b04af9d293bd60fad
Squash a warning in commit fae7be45
No cluster differences.
gs/psi/int.mak
gs/psi/zchar42.c
2012-06-13 11:14:12 +0100
Chris Liddell <chris.liddell@artifex.com>
39433fce0a15c5cae831848edd4cefd55019a241
Update copyright "headers".
As agreed on IRC and via e-mail:
Reinstate the reference to the LICENSE file.
Remove copyright references to Aladdin Enterprises and artofcode (some
references remain in comments about historical copyright assignments, and
the like), in favour of Artifex copyright notices.
Update copyright dates.
Remove the $Id$ "tag".
Since the move to git, the $Id$ "tag" comment in each file is redundant.
No cluster differences.
Makefile
autogen.sh
common/cp.bat
common/gccdefs.mak
common/generic.mak
common/msvc_top.mak
common/msvcdefs.mak
common/mv.bat
common/pcdefs.mak
common/rm.bat
common/sgidefs.mak
common/ugcc_top.mak
common/unixdefs.mak
config.mak.in
configure.ac
gs/Resource/CIDFont/ArtifexBullet
gs/Resource/CMap/Identity-UTF16-H
gs/Resource/ColorSpace/DefaultCMYK
gs/Resource/ColorSpace/DefaultGray
gs/Resource/ColorSpace/DefaultRGB
gs/Resource/ColorSpace/TrivialCMYK
gs/Resource/ColorSpace/sGray
gs/Resource/ColorSpace/sRGB
gs/Resource/Decoding/FCO_Dingbats
gs/Resource/Decoding/FCO_Symbol
gs/Resource/Decoding/FCO_Unicode
gs/Resource/Decoding/FCO_Wingdings
gs/Resource/Decoding/Latin1
gs/Resource/Decoding/StandardEncoding
gs/Resource/Decoding/Unicode
gs/Resource/Encoding/Wingdings
gs/Resource/Init/FCOfontmap-PCLPS2
gs/Resource/Init/Fontmap.GS
gs/Resource/Init/cidfmap
gs/Resource/Init/gs_agl.ps
gs/Resource/Init/gs_btokn.ps
gs/Resource/Init/gs_cet.ps
gs/Resource/Init/gs_cff.ps
gs/Resource/Init/gs_cidcm.ps
gs/Resource/Init/gs_ciddc.ps
gs/Resource/Init/gs_cidfm.ps
gs/Resource/Init/gs_cidfn.ps
gs/Resource/Init/gs_cidtt.ps
gs/Resource/Init/gs_cmap.ps
gs/Resource/Init/gs_cspace.ps
gs/Resource/Init/gs_css_e.ps
gs/Resource/Init/gs_dbt_e.ps
gs/Resource/Init/gs_diskf.ps
gs/Resource/Init/gs_diskn.ps
gs/Resource/Init/gs_dpnxt.ps
gs/Resource/Init/gs_dps.ps
gs/Resource/Init/gs_dps1.ps
gs/Resource/Init/gs_dps2.ps
gs/Resource/Init/gs_dscp.ps
gs/Resource/Init/gs_epsf.ps
gs/Resource/Init/gs_fapi.ps
gs/Resource/Init/gs_fntem.ps
gs/Resource/Init/gs_fonts.ps
gs/Resource/Init/gs_frsd.ps
gs/Resource/Init/gs_icc.ps
gs/Resource/Init/gs_il1_e.ps
gs/Resource/Init/gs_img.ps
gs/Resource/Init/gs_init.ps
gs/Resource/Init/gs_l2img.ps
gs/Resource/Init/gs_lev2.ps
gs/Resource/Init/gs_ll3.ps
gs/Resource/Init/gs_mex_e.ps
gs/Resource/Init/gs_mgl_e.ps
gs/Resource/Init/gs_mro_e.ps
gs/Resource/Init/gs_pdf_e.ps
gs/Resource/Init/gs_pdfwr.ps
gs/Resource/Init/gs_res.ps
gs/Resource/Init/gs_resmp.ps
gs/Resource/Init/gs_setpd.ps
gs/Resource/Init/gs_statd.ps
gs/Resource/Init/gs_std_e.ps
gs/Resource/Init/gs_sym_e.ps
gs/Resource/Init/gs_trap.ps
gs/Resource/Init/gs_ttf.ps
gs/Resource/Init/gs_typ32.ps
gs/Resource/Init/gs_typ42.ps
gs/Resource/Init/gs_type1.ps
gs/Resource/Init/gs_wan_e.ps
gs/Resource/Init/pdf_base.ps
gs/Resource/Init/pdf_cslayer.ps
gs/Resource/Init/pdf_draw.ps
gs/Resource/Init/pdf_font.ps
gs/Resource/Init/pdf_main.ps
gs/Resource/Init/pdf_ops.ps
gs/Resource/Init/pdf_rbld.ps
gs/Resource/Init/pdf_sec.ps
gs/Resource/Init/xlatmap
gs/Resource/SubstCID/CNS1-WMode
gs/Resource/SubstCID/GB1-WMode
gs/Resource/SubstCID/Japan1-WMode
gs/Resource/SubstCID/Korea1-WMode
gs/arch/windows-x64-msvc.h
gs/arch/windows-x86-msvc.h
gs/autogen.sh
gs/base/ConvertUTF.c
gs/base/ConvertUTF.h
gs/base/Makefile.in
gs/base/aes.c
gs/base/aes.h
gs/base/all-arch.mak
gs/base/assert_.h
gs/base/bench.c
gs/base/catmake
gs/base/configure.ac
gs/base/contrib.mak
gs/base/cp.bat
gs/base/cp.cmd
gs/base/ctype_.h
gs/base/devs.mak
gs/base/dirent_.h
gs/base/dos_.h
gs/base/echogs.c
gs/base/errno_.h
gs/base/expat.mak
gs/base/fcntl_.h
gs/base/freetype.mak
gs/base/gconf.c
gs/base/gconf.h
gs/base/gdbflags.h
gs/base/gdebug.h
gs/base/gdev3852.c
gs/base/gdev3b1.c
gs/base/gdev4081.c
gs/base/gdev4693.c
gs/base/gdev8510.c
gs/base/gdev8bcm.c
gs/base/gdev8bcm.h
gs/base/gdevabuf.c
gs/base/gdevadmp.c
gs/base/gdevagl.c
gs/base/gdevagl.h
gs/base/gdevatx.c
gs/base/gdevbbox.c
gs/base/gdevbbox.h
gs/base/gdevbit.c
gs/base/gdevbj10.c
gs/base/gdevbjc.h
gs/base/gdevbjcl.c
gs/base/gdevbjcl.h
gs/base/gdevbmp.c
gs/base/gdevbmp.h
gs/base/gdevbmpa.c
gs/base/gdevbmpc.c
gs/base/gdevccr.c
gs/base/gdevcdj.c
gs/base/gdevcfax.c
gs/base/gdevcif.c
gs/base/gdevclj.c
gs/base/gdevcljc.c
gs/base/gdevcp50.c
gs/base/gdevcslw.c
gs/base/gdevdbit.c
gs/base/gdevdcrd.c
gs/base/gdevdcrd.h
gs/base/gdevddrw.c
gs/base/gdevddrw.h
gs/base/gdevdevn.c
gs/base/gdevdevn.h
gs/base/gdevdfax.c
gs/base/gdevdflt.c
gs/base/gdevdgbr.c
gs/base/gdevdjet.c
gs/base/gdevdjtc.c
gs/base/gdevdljm.c
gs/base/gdevdljm.h
gs/base/gdevdm24.c
gs/base/gdevdrop.c
gs/base/gdevdsha.c
gs/base/gdevdsp.c
gs/base/gdevdsp.h
gs/base/gdevdsp2.h
gs/base/gdevemap.c
gs/base/gdevepsc.c
gs/base/gdevepsn.c
gs/base/gdevescp.c
gs/base/gdevevga.c
gs/base/gdevfax.c
gs/base/gdevfax.h
gs/base/gdevherc.c
gs/base/gdevhit.c
gs/base/gdevhl7x.c
gs/base/gdevicov.c
gs/base/gdevifno.c
gs/base/gdevijs.c
gs/base/gdevimgn.c
gs/base/gdevjbig2.c
gs/base/gdevjpeg.c
gs/base/gdevjpx.c
gs/base/gdevl256.c
gs/base/gdevl31s.c
gs/base/gdevlbp8.c
gs/base/gdevlj56.c
gs/base/gdevlp8k.c
gs/base/gdevlxm.c
gs/base/gdevm1.c
gs/base/gdevm16.c
gs/base/gdevm2.c
gs/base/gdevm24.c
gs/base/gdevm32.c
gs/base/gdevm4.c
gs/base/gdevm40.c
gs/base/gdevm48.c
gs/base/gdevm56.c
gs/base/gdevm64.c
gs/base/gdevm8.c
gs/base/gdevmac.c
gs/base/gdevmac.h
gs/base/gdevmacpictop.h
gs/base/gdevmacttf.h
gs/base/gdevmeds.c
gs/base/gdevmeds.h
gs/base/gdevmem.c
gs/base/gdevmem.h
gs/base/gdevmgr.c
gs/base/gdevmgr.h
gs/base/gdevmiff.c
gs/base/gdevmpla.c
gs/base/gdevmpla.h
gs/base/gdevmr1.c
gs/base/gdevmr2n.c
gs/base/gdevmr8n.c
gs/base/gdevmrop.h
gs/base/gdevmrun.c
gs/base/gdevmrun.h
gs/base/gdevmswn.c
gs/base/gdevmswn.h
gs/base/gdevmsxf.c
gs/base/gdevmx.c
gs/base/gdevn533.c
gs/base/gdevnfwd.c
gs/base/gdevo182.c
gs/base/gdevokii.c
gs/base/gdevos2p.c
gs/base/gdevp14.c
gs/base/gdevp14.h
gs/base/gdevp2up.c
gs/base/gdevpbm.c
gs/base/gdevpccm.c
gs/base/gdevpccm.h
gs/base/gdevpcfb.c
gs/base/gdevpcfb.h
gs/base/gdevpcl.c
gs/base/gdevpcl.h
gs/base/gdevpcx.c
gs/base/gdevpdf.c
gs/base/gdevpdfb.c
gs/base/gdevpdfb.h
gs/base/gdevpdfc.c
gs/base/gdevpdfc.h
gs/base/gdevpdfd.c
gs/base/gdevpdfe.c
gs/base/gdevpdfg.c
gs/base/gdevpdfg.h
gs/base/gdevpdfi.c
gs/base/gdevpdfj.c
gs/base/gdevpdfk.c
gs/base/gdevpdfm.c
gs/base/gdevpdfo.c
gs/base/gdevpdfo.h
gs/base/gdevpdfp.c
gs/base/gdevpdfr.c
gs/base/gdevpdft.c
gs/base/gdevpdfu.c
gs/base/gdevpdfv.c
gs/base/gdevpdfx.h
gs/base/gdevpdt.c
gs/base/gdevpdt.h
gs/base/gdevpdtb.c
gs/base/gdevpdtb.h
gs/base/gdevpdtc.c
gs/base/gdevpdtd.c
gs/base/gdevpdtd.h
gs/base/gdevpdte.c
gs/base/gdevpdtf.c
gs/base/gdevpdtf.h
gs/base/gdevpdti.c
gs/base/gdevpdti.h
gs/base/gdevpdts.c
gs/base/gdevpdts.h
gs/base/gdevpdtt.c
gs/base/gdevpdtt.h
gs/base/gdevpdtv.c
gs/base/gdevpdtv.h
gs/base/gdevpdtw.c
gs/base/gdevpdtw.h
gs/base/gdevpdtx.h
gs/base/gdevpe.c
gs/base/gdevperm.c
gs/base/gdevphex.c
gs/base/gdevpipe.c
gs/base/gdevpjet.c
gs/base/gdevplan.c
gs/base/gdevplib.c
gs/base/gdevplib.h
gs/base/gdevplnx.c
gs/base/gdevplnx.h
gs/base/gdevpm.h
gs/base/gdevpng.c
gs/base/gdevppla.c
gs/base/gdevppla.h
gs/base/gdevprn.c
gs/base/gdevprn.h
gs/base/gdevprna.c
gs/base/gdevprna.h
gs/base/gdevps.c
gs/base/gdevpsd.c
gs/base/gdevpsdf.h
gs/base/gdevpsdi.c
gs/base/gdevpsdp.c
gs/base/gdevpsds.c
gs/base/gdevpsds.h
gs/base/gdevpsdu.c
gs/base/gdevpsf.h
gs/base/gdevpsf1.c
gs/base/gdevpsf2.c
gs/base/gdevpsfm.c
gs/base/gdevpsft.c
gs/base/gdevpsfu.c
gs/base/gdevpsfx.c
gs/base/gdevpsim.c
gs/base/gdevpsu.c
gs/base/gdevpsu.h
gs/base/gdevpx.c
gs/base/gdevpxat.h
gs/base/gdevpxen.h
gs/base/gdevpxop.h
gs/base/gdevpxut.c
gs/base/gdevpxut.h
gs/base/gdevrinkj.c
gs/base/gdevrops.c
gs/base/gdevs3ga.c
gs/base/gdevsco.c
gs/base/gdevsgi.c
gs/base/gdevsgi.h
gs/base/gdevsj48.c
gs/base/gdevsnfb.c
gs/base/gdevsppr.c
gs/base/gdevstc.c
gs/base/gdevstc.h
gs/base/gdevstc1.c
gs/base/gdevstc2.c
gs/base/gdevstc3.c
gs/base/gdevstc4.c
gs/base/gdevsun.c
gs/base/gdevsunr.c
gs/base/gdevsvg.c
gs/base/gdevsvga.c
gs/base/gdevsvga.h
gs/base/gdevtfax.c
gs/base/gdevtfax.h
gs/base/gdevtfnx.c
gs/base/gdevtifs.c
gs/base/gdevtifs.h
gs/base/gdevtknk.c
gs/base/gdevtrac.c
gs/base/gdevtsep.c
gs/base/gdevtxtw.c
gs/base/gdevupd.c
gs/base/gdevvec.c
gs/base/gdevvec.h
gs/base/gdevvglb.c
gs/base/gdevwddb.c
gs/base/gdevwdib.c
gs/base/gdevwpr2.c
gs/base/gdevwprn.c
gs/base/gdevx.c
gs/base/gdevx.h
gs/base/gdevxalt.c
gs/base/gdevxcf.c
gs/base/gdevxcmp.c
gs/base/gdevxcmp.h
gs/base/gdevxini.c
gs/base/gdevxres.c
gs/base/genarch.c
gs/base/genconf.c
gs/base/gendev.c
gs/base/genht.c
gs/base/gp.h
gs/base/gp_dosfe.c
gs/base/gp_dosfs.c
gs/base/gp_dvx.c
gs/base/gp_getnv.c
gs/base/gp_mac.c
gs/base/gp_mac.h
gs/base/gp_macio.c
gs/base/gp_macpoll.c
gs/base/gp_mktmp.c
gs/base/gp_msdll.c
gs/base/gp_msdos.c
gs/base/gp_mshdl.c
gs/base/gp_mslib.c
gs/base/gp_mspol.c
gs/base/gp_msprn.c
gs/base/gp_mswin.c
gs/base/gp_mswin.h
gs/base/gp_nsync.c
gs/base/gp_ntfs.c
gs/base/gp_os2.c
gs/base/gp_os2.h
gs/base/gp_os2fs.c
gs/base/gp_os2pr.c
gs/base/gp_os9.c
gs/base/gp_paper.c
gs/base/gp_psync.c
gs/base/gp_stdia.c
gs/base/gp_stdin.c
gs/base/gp_strdl.c
gs/base/gp_sysv.c
gs/base/gp_unifn.c
gs/base/gp_unifs.c
gs/base/gp_unix.c
gs/base/gp_unix_cache.c
gs/base/gp_upapr.c
gs/base/gp_vms.c
gs/base/gp_wgetv.c
gs/base/gp_win32.c
gs/base/gp_wpapr.c
gs/base/gp_wsync.c
gs/base/gp_wutf8.c
gs/base/gpcheck.h
gs/base/gpgetenv.h
gs/base/gpmisc.c
gs/base/gpmisc.h
gs/base/gpsync.h
gs/base/gs.mak
gs/base/gs_dll_call.h
gs/base/gs_mgl_e.h
gs/base/gs_mro_e.h
gs/base/gsalloc.c
gs/base/gsalloc.h
gs/base/gsalpha.c
gs/base/gsalpha.h
gs/base/gsalphac.c
gs/base/gsalphac.h
gs/base/gsargs.c
gs/base/gsargs.h
gs/base/gsbitcom.c
gs/base/gsbitmap.h
gs/base/gsbitops.c
gs/base/gsbitops.h
gs/base/gsbittab.c
gs/base/gsbittab.h
gs/base/gsccode.h
gs/base/gsccolor.h
gs/base/gscdef.c
gs/base/gscdefs.h
gs/base/gscdevn.c
gs/base/gscdevn.h
gs/base/gscedata.c
gs/base/gscedata.h
gs/base/gscencs.c
gs/base/gscencs.h
gs/base/gschar.c
gs/base/gschar.h
gs/base/gschar0.c
gs/base/gscicach.c
gs/base/gscicach.h
gs/base/gscie.c
gs/base/gscie.h
gs/base/gsciemap.c
gs/base/gscindex.h
gs/base/gsclipsr.c
gs/base/gsclipsr.h
gs/base/gscms.h
gs/base/gscolor.c
gs/base/gscolor.h
gs/base/gscolor1.c
gs/base/gscolor1.h
gs/base/gscolor2.c
gs/base/gscolor2.h
gs/base/gscolor3.c
gs/base/gscolor3.h
gs/base/gscolorbuffer.c
gs/base/gscolorbuffer.h
gs/base/gscompt.h
gs/base/gscoord.c
gs/base/gscoord.h
gs/base/gscparam.c
gs/base/gscpixel.c
gs/base/gscpixel.h
gs/base/gscpm.h
gs/base/gscrd.c
gs/base/gscrd.h
gs/base/gscrdp.c
gs/base/gscrdp.h
gs/base/gscrypt1.c
gs/base/gscrypt1.h
gs/base/gscscie.c
gs/base/gscsel.h
gs/base/gscsepr.c
gs/base/gscsepr.h
gs/base/gscspace.c
gs/base/gscspace.h
gs/base/gscssub.c
gs/base/gscssub.h
gs/base/gsdcolor.h
gs/base/gsdevice.c
gs/base/gsdevice.h
gs/base/gsdevmem.c
gs/base/gsdfilt.c
gs/base/gsdfilt.h
gs/base/gsdll.h
gs/base/gsdllwin.h
gs/base/gsdparam.c
gs/base/gsdpnext.h
gs/base/gsdps.c
gs/base/gsdps.h
gs/base/gsdps1.c
gs/base/gsdsrc.c
gs/base/gsdsrc.h
gs/base/gsequivc.c
gs/base/gsequivc.h
gs/base/gserrors.h
gs/base/gsexit.h
gs/base/gsfcid.c
gs/base/gsfcid2.c
gs/base/gsfcmap.c
gs/base/gsfcmap.h
gs/base/gsfcmap1.c
gs/base/gsflip.c
gs/base/gsflip.h
gs/base/gsfname.c
gs/base/gsfname.h
gs/base/gsfont.c
gs/base/gsfont.h
gs/base/gsfont0.c
gs/base/gsfont0c.c
gs/base/gsfunc.c
gs/base/gsfunc.h
gs/base/gsfunc0.c
gs/base/gsfunc0.h
gs/base/gsfunc3.c
gs/base/gsfunc3.h
gs/base/gsfunc4.c
gs/base/gsfunc4.h
gs/base/gsgc.h
gs/base/gsgcache.c
gs/base/gsgcache.h
gs/base/gsgdata.c
gs/base/gsgdata.h
gs/base/gshsb.c
gs/base/gshsb.h
gs/base/gsht.c
gs/base/gsht.h
gs/base/gsht1.c
gs/base/gsht1.h
gs/base/gshtscr.c
gs/base/gshtx.c
gs/base/gshtx.h
gs/base/gsicc.c
gs/base/gsicc.h
gs/base/gsicc_cache.c
gs/base/gsicc_cache.h
gs/base/gsicc_cms.h
gs/base/gsicc_create.c
gs/base/gsicc_create.h
gs/base/gsicc_lcms.c
gs/base/gsicc_lcms2.c
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
gs/base/gsicc_nocm.c
gs/base/gsicc_profilecache.c
gs/base/gsicc_profilecache.h
gs/base/gsimage.c
gs/base/gsimage.h
gs/base/gsimpath.c
gs/base/gsinit.c
gs/base/gsio.h
gs/base/gsiodev.c
gs/base/gsiodevs.c
gs/base/gsiodisk.c
gs/base/gsiomacres.c
gs/base/gsiorom.c
gs/base/gsiorom.h
gs/base/gsipar3x.h
gs/base/gsiparam.h
gs/base/gsiparm2.h
gs/base/gsiparm3.h
gs/base/gsiparm4.h
gs/base/gsistate.c
gs/base/gsjconf.h
gs/base/gsjmorec.h
gs/base/gslib.c
gs/base/gslib.h
gs/base/gslibctx.c
gs/base/gslibctx.h
gs/base/gsline.c
gs/base/gsline.h
gs/base/gslparam.h
gs/base/gsmalloc.c
gs/base/gsmalloc.h
gs/base/gsmatrix.c
gs/base/gsmatrix.h
gs/base/gsmchunk.c
gs/base/gsmchunk.h
gs/base/gsmdebug.h
gs/base/gsmemlok.c
gs/base/gsmemlok.h
gs/base/gsmemory.c
gs/base/gsmemory.h
gs/base/gsmemraw.h
gs/base/gsmemret.c
gs/base/gsmemret.h
gs/base/gsmisc.c
gs/base/gsnamecl.c
gs/base/gsnamecl.h
gs/base/gsncdummy.c
gs/base/gsncdummy.h
gs/base/gsnogc.c
gs/base/gsnogc.h
gs/base/gsnotify.c
gs/base/gsnotify.h
gs/base/gsovrc.c
gs/base/gsovrc.h
gs/base/gspaint.c
gs/base/gspaint.h
gs/base/gsparam.c
gs/base/gsparam.h
gs/base/gsparam2.c
gs/base/gsparams.c
gs/base/gsparams.h
gs/base/gsparamx.c
gs/base/gsparamx.h
gs/base/gspath.c
gs/base/gspath.h
gs/base/gspath1.c
gs/base/gspath2.h
gs/base/gspcolor.c
gs/base/gspcolor.h
gs/base/gspenum.h
gs/base/gspmdrv.c
gs/base/gspmdrv.h
gs/base/gspmdrv.rc
gs/base/gsptype1.c
gs/base/gsptype1.h
gs/base/gsptype2.c
gs/base/gsptype2.h
gs/base/gsrect.h
gs/base/gsrefct.h
gs/base/gsromfs0.c
gs/base/gsrop.c
gs/base/gsrop.h
gs/base/gsroprun.c
gs/base/gsroprun1.h
gs/base/gsroprun24.h
gs/base/gsroprun8.h
gs/base/gsropt.h
gs/base/gsroptab.c
gs/base/gsserial.c
gs/base/gsserial.h
gs/base/gsshade.c
gs/base/gsshade.h
gs/base/gsstate.c
gs/base/gsstate.h
gs/base/gsstruct.h
gs/base/gsstype.h
gs/base/gstext.c
gs/base/gstext.h
gs/base/gstparam.h
gs/base/gstrans.c
gs/base/gstrans.h
gs/base/gstrap.c
gs/base/gstrap.h
gs/base/gstype1.c
gs/base/gstype1.h
gs/base/gstype2.c
gs/base/gstype42.c
gs/base/gstypes.h
gs/base/gsuid.h
gs/base/gsutil.c
gs/base/gsutil.h
gs/base/gswin.rc
gs/base/gsxfont.h
gs/base/gx.h
gs/base/gxacpath.c
gs/base/gxalloc.h
gs/base/gxalpha.h
gs/base/gxarith.h
gs/base/gxband.h
gs/base/gxbcache.c
gs/base/gxbcache.h
gs/base/gxbitfmt.h
gs/base/gxbitmap.h
gs/base/gxbitops.h
gs/base/gxblend.c
gs/base/gxblend.h
gs/base/gxblend1.c
gs/base/gxccache.c
gs/base/gxccman.c
gs/base/gxcdevn.h
gs/base/gxchar.c
gs/base/gxchar.h
gs/base/gxchrout.c
gs/base/gxchrout.h
gs/base/gxcht.c
gs/base/gxcid.h
gs/base/gxcie.h
gs/base/gxcindex.h
gs/base/gxclbits.c
gs/base/gxcldev.h
gs/base/gxclfile.c
gs/base/gxclimag.c
gs/base/gxclio.h
gs/base/gxclip.c
gs/base/gxclip.h
gs/base/gxclip2.c
gs/base/gxclip2.h
gs/base/gxclipm.c
gs/base/gxclipm.h
gs/base/gxclipsr.h
gs/base/gxclist.c
gs/base/gxclist.h
gs/base/gxcllzw.c
gs/base/gxclmem.c
gs/base/gxclmem.h
gs/base/gxclpage.c
gs/base/gxclpage.h
gs/base/gxclpath.c
gs/base/gxclpath.h
gs/base/gxclrast.c
gs/base/gxclread.c
gs/base/gxclrect.c
gs/base/gxclthrd.c
gs/base/gxclthrd.h
gs/base/gxclutil.c
gs/base/gxclzlib.c
gs/base/gxcmap.c
gs/base/gxcmap.h
gs/base/gxcolor2.h
gs/base/gxcomp.h
gs/base/gxcoord.h
gs/base/gxcpath.c
gs/base/gxcpath.h
gs/base/gxcspace.h
gs/base/gxctable.c
gs/base/gxctable.h
gs/base/gxcvalue.h
gs/base/gxdcconv.c
gs/base/gxdcconv.h
gs/base/gxdcolor.c
gs/base/gxdcolor.h
gs/base/gxdda.h
gs/base/gxdevbuf.h
gs/base/gxdevcli.h
gs/base/gxdevice.h
gs/base/gxdevmem.h
gs/base/gxdevndi.c
gs/base/gxdevndi.h
gs/base/gxdevrop.h
gs/base/gxdevsop.h
gs/base/gxdht.h
gs/base/gxdhtres.h
gs/base/gxdhtserial.c
gs/base/gxdhtserial.h
gs/base/gxdither.h
gs/base/gxdownscale.c
gs/base/gxdownscale.h
gs/base/gxdtfill.h
gs/base/gxfapiu.c
gs/base/gxfapiu.h
gs/base/gxfarith.h
gs/base/gxfcache.h
gs/base/gxfcid.h
gs/base/gxfcmap.h
gs/base/gxfcmap1.h
gs/base/gxfcopy.c
gs/base/gxfcopy.h
gs/base/gxfdrop.c
gs/base/gxfdrop.h
gs/base/gxfill.c
gs/base/gxfill.h
gs/base/gxfillsl.h
gs/base/gxfilltr.h
gs/base/gxfillts.h
gs/base/gxfixed.h
gs/base/gxfmap.h
gs/base/gxfont.h
gs/base/gxfont0.h
gs/base/gxfont0c.h
gs/base/gxfont1.h
gs/base/gxfont42.h
gs/base/gxfrac.h
gs/base/gxftype.h
gs/base/gxfunc.h
gs/base/gxgetbit.h
gs/base/gxhintn.c
gs/base/gxhintn.h
gs/base/gxhintn1.c
gs/base/gxhldevc.c
gs/base/gxhldevc.h
gs/base/gxht.c
gs/base/gxht.h
gs/base/gxht_thresh.c
gs/base/gxht_thresh.h
gs/base/gxhtbit.c
gs/base/gxhttile.h
gs/base/gxhttype.h
gs/base/gxi12bit.c
gs/base/gxi16bit.c
gs/base/gxiclass.h
gs/base/gxicolor.c
gs/base/gxidata.c
gs/base/gxifast.c
gs/base/gximag3x.c
gs/base/gximag3x.h
gs/base/gximage.c
gs/base/gximage.h
gs/base/gximage1.c
gs/base/gximage2.c
gs/base/gximage3.c
gs/base/gximage3.h
gs/base/gximage4.c
gs/base/gximask.c
gs/base/gximask.h
gs/base/gximono.c
gs/base/gxino12b.c
gs/base/gxino16b.c
gs/base/gxiodev.h
gs/base/gxiparam.h
gs/base/gxipixel.c
gs/base/gxiscale.c
gs/base/gxistate.h
gs/base/gxline.h
gs/base/gxlum.h
gs/base/gxmatrix.h
gs/base/gxmclip.c
gs/base/gxmclip.h
gs/base/gxobj.h
gs/base/gxoprect.c
gs/base/gxoprect.h
gs/base/gxp1fill.c
gs/base/gxp1impl.h
gs/base/gxpageq.c
gs/base/gxpageq.h
gs/base/gxpaint.c
gs/base/gxpaint.h
gs/base/gxpath.c
gs/base/gxpath.h
gs/base/gxpath2.c
gs/base/gxpcache.h
gs/base/gxpcmap.c
gs/base/gxpcolor.h
gs/base/gxpcopy.c
gs/base/gxpdash.c
gs/base/gxpflat.c
gs/base/gxrplane.h
gs/base/gxsample.c
gs/base/gxsample.h
gs/base/gxsamplp.h
gs/base/gxshade.c
gs/base/gxshade.h
gs/base/gxshade1.c
gs/base/gxshade4.c
gs/base/gxshade4.h
gs/base/gxshade6.c
gs/base/gxstate.h
gs/base/gxstdio.h
gs/base/gxstroke.c
gs/base/gxsync.c
gs/base/gxsync.h
gs/base/gxtext.h
gs/base/gxtmap.h
gs/base/gxttf.h
gs/base/gxttfb.c
gs/base/gxttfb.h
gs/base/gxtype1.c
gs/base/gxtype1.h
gs/base/gxxfont.h
gs/base/gzacpath.h
gs/base/gzcpath.h
gs/base/gzht.h
gs/base/gzline.h
gs/base/gzpath.h
gs/base/gzspotan.c
gs/base/gzspotan.h
gs/base/gzstate.h
gs/base/icclib.mak
gs/base/ijs.mak
gs/base/instcopy
gs/base/jasper.mak
gs/base/jbig2.mak
gs/base/jerror_.h
gs/base/jpeg.mak
gs/base/jpegxr.mak
gs/base/lcms.mak
gs/base/lcms2.mak
gs/base/lcups.mak
gs/base/lcupsi.mak
gs/base/ldf_jb2.mak
gs/base/lib.mak
gs/base/locale_.h
gs/base/lwf_jp2.mak
gs/base/macgenmcpxml.sh
gs/base/macos-fw.mak
gs/base/macos-mcp.mak
gs/base/macos_carbon_d_pre.h
gs/base/macos_carbon_pre.h
gs/base/macos_classic_d_pre.h
gs/base/macosx.mak
gs/base/macsystypes.h
gs/base/malloc_.h
gs/base/math_.h
gs/base/md5.c
gs/base/md5.h
gs/base/md5main.c
gs/base/memento.c
gs/base/memento.h
gs/base/memory_.h
gs/base/minftrsz.c
gs/base/minftrsz.h
gs/base/mkromfs.c
gs/base/msvccmd.mak
gs/base/msvclib.mak
gs/base/msvctail.mak
gs/base/mv.bat
gs/base/mv.cmd
gs/base/opdfread.h
gs/base/openjpeg.mak
gs/base/openvms.mak
gs/base/openvms.mmk
gs/base/pcwin.mak
gs/base/pipe_.h
gs/base/png.mak
gs/base/png_.h
gs/base/rinkj/evenbetter-rll.c
gs/base/rinkj/evenbetter-rll.h
gs/base/rinkj/rinkj-byte-stream.c
gs/base/rinkj/rinkj-byte-stream.h
gs/base/rinkj/rinkj-config.c
gs/base/rinkj/rinkj-config.h
gs/base/rinkj/rinkj-device.c
gs/base/rinkj/rinkj-device.h
gs/base/rinkj/rinkj-dither.c
gs/base/rinkj/rinkj-dither.h
gs/base/rinkj/rinkj-epson870.c
gs/base/rinkj/rinkj-epson870.h
gs/base/rinkj/rinkj-screen-eb.c
gs/base/rinkj/rinkj-screen-eb.h
gs/base/rm.bat
gs/base/rm.cmd
gs/base/sa85d.c
gs/base/sa85d.h
gs/base/sa85x.h
gs/base/saes.c
gs/base/saes.h
gs/base/sarc4.c
gs/base/sarc4.h
gs/base/sbcp.c
gs/base/sbcp.h
gs/base/sbhc.c
gs/base/sbhc.h
gs/base/sbtx.h
gs/base/sbwbs.c
gs/base/sbwbs.h
gs/base/scanchar.h
gs/base/scantab.c
gs/base/scf.h
gs/base/scfd.c
gs/base/scfdgen.c
gs/base/scfdtab.c
gs/base/scfe.c
gs/base/scfetab.c
gs/base/scfparam.c
gs/base/scfx.h
gs/base/scommon.h
gs/base/sdcparam.c
gs/base/sdcparam.h
gs/base/sdct.h
gs/base/sdctc.c
gs/base/sdctd.c
gs/base/sdcte.c
gs/base/sddparam.c
gs/base/sdeparam.c
gs/base/seexec.c
gs/base/setjmp_.h
gs/base/sfilter.h
gs/base/sfilter2.c
gs/base/sfxboth.c
gs/base/sfxcommon.c
gs/base/sfxfd.c
gs/base/sfxstdio.c
gs/base/shc.c
gs/base/shc.h
gs/base/shcgen.c
gs/base/shcgen.h
gs/base/sidscale.c
gs/base/sidscale.h
gs/base/siinterp.c
gs/base/siinterp.h
gs/base/simscale.c
gs/base/simscale.h
gs/base/siscale.c
gs/base/siscale.h
gs/base/sisparam.h
gs/base/sjbig2.c
gs/base/sjbig2.h
gs/base/sjbig2_luratech.c
gs/base/sjbig2_luratech.h
gs/base/sjpeg.h
gs/base/sjpegc.c
gs/base/sjpegd.c
gs/base/sjpege.c
gs/base/sjpx.c
gs/base/sjpx.h
gs/base/sjpx_luratech.c
gs/base/sjpx_luratech.h
gs/base/sjpx_openjpeg.c
gs/base/sjpx_openjpeg.h
gs/base/slzwc.c
gs/base/slzwd.c
gs/base/slzwe.c
gs/base/slzwx.h
gs/base/smd5.c
gs/base/smd5.h
gs/base/smtf.c
gs/base/smtf.h
gs/base/spdiff.c
gs/base/spdiffx.h
gs/base/spngp.c
gs/base/spngpx.h
gs/base/spprint.c
gs/base/spprint.h
gs/base/spsdf.c
gs/base/spsdf.h
gs/base/srdline.h
gs/base/srld.c
gs/base/srle.c
gs/base/srlx.h
gs/base/ssha2.c
gs/base/ssha2.h
gs/base/sstring.c
gs/base/sstring.h
gs/base/stat_.h
gs/base/std.h
gs/base/stdint_.h
gs/base/stdio_.h
gs/base/stdpn.h
gs/base/stdpre.h
gs/base/stream.c
gs/base/stream.h
gs/base/strimpl.h
gs/base/string_.h
gs/base/strmio.c
gs/base/strmio.h
gs/base/szlibc.c
gs/base/szlibd.c
gs/base/szlibe.c
gs/base/szlibx.h
gs/base/szlibxx.h
gs/base/tiff.mak
gs/base/time_.h
gs/base/ttcalc.c
gs/base/ttcalc.h
gs/base/ttcommon.h
gs/base/ttconf.h
gs/base/ttconfig.h
gs/base/ttfinp.c
gs/base/ttfinp.h
gs/base/ttfmain.c
gs/base/ttfmemd.c
gs/base/ttfmemd.h
gs/base/ttfoutl.h
gs/base/ttfsfnt.h
gs/base/ttinterp.c
gs/base/ttinterp.h
gs/base/ttload.c
gs/base/ttload.h
gs/base/ttmisc.h
gs/base/ttobjs.c
gs/base/ttobjs.h
gs/base/tttables.h
gs/base/tttype.h
gs/base/tttypes.h
gs/base/ugcclib.mak
gs/base/unistd_.h
gs/base/unix-aux.mak
gs/base/unix-dll.mak
gs/base/unix-end.mak
gs/base/unix-gcc.mak
gs/base/unixansi.mak
gs/base/unixhead.mak
gs/base/unixinst.mak
gs/base/unixlink.mak
gs/base/valgrind.h
gs/base/vdtrace.c
gs/base/vdtrace.h
gs/base/version.mak
gs/base/vms_x_fix.h
gs/base/vmsmath.h
gs/base/whitelst.c
gs/base/whitelst.h
gs/base/windows_.h
gs/base/winlib.mak
gs/base/winplat.mak
gs/base/x_.h
gs/base/zlib.mak
gs/cups/colord.c
gs/cups/colord.h
gs/cups/cups.mak
gs/cups/gdevcups.c
gs/cups/gstopxl.in
gs/cups/gstoraster.c
gs/cups/pxlcolor.ppd
gs/cups/pxlmono.ppd
gs/doc/API.htm
gs/doc/C-style.htm
gs/doc/Changes.htm
gs/doc/Commprod.htm
gs/doc/DLL.htm
gs/doc/Deprecated.htm
gs/doc/Details.htm
gs/doc/Details8.htm
gs/doc/Details9.htm
gs/doc/Develop.htm
gs/doc/Devices.htm
gs/doc/Drivers.htm
gs/doc/Fonts.htm
gs/doc/Helpers.htm
gs/doc/Hershey.htm
gs/doc/History1.htm
gs/doc/History2.htm
gs/doc/History3.htm
gs/doc/History4.htm
gs/doc/History5.htm
gs/doc/History6.htm
gs/doc/History7.htm
gs/doc/History8.htm
gs/doc/History9.htm
gs/doc/Install.htm
gs/doc/Issues.htm
gs/doc/Language.htm
gs/doc/Lib.htm
gs/doc/Make.htm
gs/doc/News.htm
gs/doc/Projects.htm
gs/doc/Ps-style.htm
gs/doc/Ps2epsi.htm
gs/doc/Ps2pdf.htm
gs/doc/Ps2ps2.htm
gs/doc/Psfiles.htm
gs/doc/Readme.htm
gs/doc/Release.htm
gs/doc/Source.htm
gs/doc/Unix-lpr.htm
gs/doc/Use.htm
gs/doc/WhatIsGS.htm
gs/doc/Xfonts.htm
gs/doc/gs-vms.hlp
gs/doc/gs.css
gs/doc/index.html
gs/doc/pscet_status.txt
gs/doc/thirdparty.htm
gs/examples/waterfal.ps
gs/freetype/src/gzip/adler32.c
gs/freetype/src/gzip/zconf.h
gs/freetype/src/gzip/zutil.c
gs/freetype/src/gzip/zutil.h
gs/ijs/Makefile.am
gs/ijs/configure.ac
gs/jasper/src/libjasper/base/jas_cm.c
gs/jasper/src/libjasper/base/jas_getopt.c
gs/jasper/src/libjasper/base/jas_image.c
gs/jasper/src/libjasper/base/jas_malloc.c
gs/jasper/src/libjasper/base/jas_seq.c
gs/jasper/src/libjasper/base/jas_stream.c
gs/jasper/src/libjasper/base/jas_string.c
gs/jasper/src/libjasper/base/jas_tvp.c
gs/jasper/src/libjasper/bmp/bmp_cod.c
gs/jasper/src/libjasper/bmp/bmp_cod.h
gs/jasper/src/libjasper/bmp/bmp_dec.c
gs/jasper/src/libjasper/bmp/bmp_enc.c
gs/jasper/src/libjasper/include/jasper/jas_cm.h
gs/jasper/src/libjasper/include/jasper/jas_debug.h
gs/jasper/src/libjasper/include/jasper/jas_fix.h
gs/jasper/src/libjasper/include/jasper/jas_getopt.h
gs/jasper/src/libjasper/include/jasper/jas_image.h
gs/jasper/src/libjasper/include/jasper/jas_malloc.h
gs/jasper/src/libjasper/include/jasper/jas_math.h
gs/jasper/src/libjasper/include/jasper/jas_seq.h
gs/jasper/src/libjasper/include/jasper/jas_stream.h
gs/jasper/src/libjasper/include/jasper/jas_string.h
gs/jasper/src/libjasper/include/jasper/jas_tvp.h
gs/jasper/src/libjasper/include/jasper/jas_types.h
gs/jasper/src/libjasper/include/jasper/jas_version.h
gs/jasper/src/libjasper/jp2/jp2_cod.c
gs/jasper/src/libjasper/jp2/jp2_cod.h
gs/jasper/src/libjasper/jp2/jp2_enc.c
gs/jasper/src/libjasper/jpc/jpc_bs.c
gs/jasper/src/libjasper/jpc/jpc_bs.h
gs/jasper/src/libjasper/jpc/jpc_cod.h
gs/jasper/src/libjasper/jpc/jpc_cs.c
gs/jasper/src/libjasper/jpc/jpc_cs.h
gs/jasper/src/libjasper/jpc/jpc_dec.c
gs/jasper/src/libjasper/jpc/jpc_dec.h
gs/jasper/src/libjasper/jpc/jpc_enc.c
gs/jasper/src/libjasper/jpc/jpc_enc.h
gs/jasper/src/libjasper/jpc/jpc_fix.h
gs/jasper/src/libjasper/jpc/jpc_flt.h
gs/jasper/src/libjasper/jpc/jpc_math.c
gs/jasper/src/libjasper/jpc/jpc_mct.c
gs/jasper/src/libjasper/jpc/jpc_mct.h
gs/jasper/src/libjasper/jpc/jpc_mqcod.c
gs/jasper/src/libjasper/jpc/jpc_mqcod.h
gs/jasper/src/libjasper/jpc/jpc_mqdec.c
gs/jasper/src/libjasper/jpc/jpc_mqdec.h
gs/jasper/src/libjasper/jpc/jpc_mqenc.c
gs/jasper/src/libjasper/jpc/jpc_mqenc.h
gs/jasper/src/libjasper/jpc/jpc_qmfb.c
gs/jasper/src/libjasper/jpc/jpc_qmfb.h
gs/jasper/src/libjasper/jpc/jpc_t1cod.c
gs/jasper/src/libjasper/jpc/jpc_t1cod.h
gs/jasper/src/libjasper/jpc/jpc_t1dec.c
gs/jasper/src/libjasper/jpc/jpc_t1dec.h
gs/jasper/src/libjasper/jpc/jpc_t1enc.c
gs/jasper/src/libjasper/jpc/jpc_t1enc.h
gs/jasper/src/libjasper/jpc/jpc_t2cod.c
gs/jasper/src/libjasper/jpc/jpc_t2cod.h
gs/jasper/src/libjasper/jpc/jpc_t2dec.c
gs/jasper/src/libjasper/jpc/jpc_t2dec.h
gs/jasper/src/libjasper/jpc/jpc_t2enc.c
gs/jasper/src/libjasper/jpc/jpc_t2enc.h
gs/jasper/src/libjasper/jpc/jpc_tagtree.c
gs/jasper/src/libjasper/jpc/jpc_tagtree.h
gs/jasper/src/libjasper/jpc/jpc_tsfb.c
gs/jasper/src/libjasper/jpc/jpc_tsfb.h
gs/jasper/src/libjasper/jpc/jpc_util.c
gs/jasper/src/libjasper/jpg/jpg_cod.h
gs/jasper/src/libjasper/pgx/pgx_cod.h
gs/jasper/src/libjasper/pnm/pnm_cod.c
gs/jasper/src/libjasper/pnm/pnm_cod.h
gs/jasper/src/libjasper/pnm/pnm_dec.c
gs/jasper/src/libjasper/pnm/pnm_enc.c
gs/jasper/src/libjasper/ras/ras_cod.c
gs/jasper/src/libjasper/ras/ras_cod.h
gs/jasper/src/libjasper/ras/ras_dec.c
gs/jasper/src/libjasper/ras/ras_enc.c
gs/jbig2dec/config_types.h
gs/jbig2dec/config_types.h.in
gs/jbig2dec/config_win32.h
gs/jbig2dec/getopt.c
gs/jbig2dec/getopt.h
gs/jbig2dec/getopt1.c
gs/jbig2dec/jbig2.c
gs/jbig2dec/jbig2.h
gs/jbig2dec/jbig2_arith.c
gs/jbig2dec/jbig2_arith.h
gs/jbig2dec/jbig2_arith_iaid.c
gs/jbig2dec/jbig2_arith_iaid.h
gs/jbig2dec/jbig2_arith_int.c
gs/jbig2dec/jbig2_arith_int.h
gs/jbig2dec/jbig2_generic.c
gs/jbig2dec/jbig2_generic.h
gs/jbig2dec/jbig2_halftone.c
gs/jbig2dec/jbig2_halftone.h
gs/jbig2dec/jbig2_huffman.c
gs/jbig2dec/jbig2_huffman.h
gs/jbig2dec/jbig2_hufftab.h
gs/jbig2dec/jbig2_image.c
gs/jbig2dec/jbig2_image.h
gs/jbig2dec/jbig2_image_pbm.c
gs/jbig2dec/jbig2_image_png.c
gs/jbig2dec/jbig2_metadata.c
gs/jbig2dec/jbig2_metadata.h
gs/jbig2dec/jbig2_mmr.c
gs/jbig2dec/jbig2_mmr.h
gs/jbig2dec/jbig2_page.c
gs/jbig2dec/jbig2_priv.h
gs/jbig2dec/jbig2_refinement.c
gs/jbig2dec/jbig2_segment.c
gs/jbig2dec/jbig2_symbol_dict.c
gs/jbig2dec/jbig2_symbol_dict.h
gs/jbig2dec/jbig2_text.c
gs/jbig2dec/jbig2_text.h
gs/jbig2dec/jbig2dec.c
gs/jbig2dec/memcmp.c
gs/jbig2dec/memento.c
gs/jbig2dec/memento.h
gs/jbig2dec/os_types.h
gs/jbig2dec/pbm2png.c
gs/jbig2dec/snprintf.c
gs/lib/FAPIconfig-FCO
gs/lib/FCOfontmap-PCLPS3
gs/lib/FCOfontmap-PS3
gs/lib/Fontmap.ATB
gs/lib/Fontmap.ATM
gs/lib/Fontmap.OS2
gs/lib/Fontmap.SGI
gs/lib/Fontmap.Sol
gs/lib/Fontmap.URW-136.T1
gs/lib/Fontmap.URW-136.TT
gs/lib/Fontmap.Ult
gs/lib/Fontmap.VMS
gs/lib/PDFA_def.ps
gs/lib/PDFX_def.ps
gs/lib/acctest.ps
gs/lib/addxchar.ps
gs/lib/align.ps
gs/lib/caption.ps
gs/lib/cat.ps
gs/lib/cid2code.ps
gs/lib/decrypt.ps
gs/lib/docie.ps
gs/lib/dumphint
gs/lib/dumphint.bat
gs/lib/dumphint.ps
gs/lib/dvipdf
gs/lib/eps2eps
gs/lib/eps2eps.bat
gs/lib/eps2eps.cmd
gs/lib/font2c
gs/lib/font2c.bat
gs/lib/font2c.cmd
gs/lib/font2c.ps
gs/lib/font2pcl.ps
gs/lib/gs_ce_e.ps
gs/lib/gs_cmdl.ps
gs/lib/gs_fform.ps
gs/lib/gs_il2_e.ps
gs/lib/gs_kanji.ps
gs/lib/gs_ksb_e.ps
gs/lib/gs_lgo_e.ps
gs/lib/gs_lgx_e.ps
gs/lib/gs_pfile.ps
gs/lib/gs_rdlin.ps
gs/lib/gs_wl1_e.ps
gs/lib/gs_wl2_e.ps
gs/lib/gs_wl5_e.ps
gs/lib/gsbj
gs/lib/gsbj.bat
gs/lib/gsdj
gs/lib/gsdj.bat
gs/lib/gsdj500
gs/lib/gsdj500.bat
gs/lib/gslj
gs/lib/gslj.bat
gs/lib/gslp
gs/lib/gslp.bat
gs/lib/gslp.ps
gs/lib/gsnd
gs/lib/gsnd.bat
gs/lib/gsndt.bat
gs/lib/gsnup.ps
gs/lib/gssetgs.bat
gs/lib/gssetgs32.bat
gs/lib/gssetgs64.bat
gs/lib/gst.bat
gs/lib/gstt.bat
gs/lib/ht_ccsto.ps
gs/lib/image-qa.ps
gs/lib/impath.ps
gs/lib/jispaper.ps
gs/lib/jobseparator.ps
gs/lib/landscap.ps
gs/lib/level1.ps
gs/lib/lines.ps
gs/lib/lp386.bat
gs/lib/lp386r2.bat
gs/lib/lpgs.bat
gs/lib/lpr2.bat
gs/lib/lprsetup.sh
gs/lib/markhint.ps
gs/lib/markpath.ps
gs/lib/mkcidfm.ps
gs/lib/opdfread.ps
gs/lib/packfile.ps
gs/lib/pcharstr.ps
gs/lib/pdf2dsc
gs/lib/pdf2dsc.bat
gs/lib/pdf2dsc.ps
gs/lib/pdf2ps
gs/lib/pdf2ps.bat
gs/lib/pdf2ps.cmd
gs/lib/pdfopt
gs/lib/pdfopt.bat
gs/lib/pdfopt.ps
gs/lib/pdfwrite.ps
gs/lib/pf2afm
gs/lib/pf2afm.bat
gs/lib/pf2afm.cmd
gs/lib/pf2afm.ps
gs/lib/pfbtopfa
gs/lib/pfbtopfa.bat
gs/lib/pfbtopfa.ps
gs/lib/pftogsf.bat
gs/lib/ppath.ps
gs/lib/pphs
gs/lib/pphs.ps
gs/lib/prfont.ps
gs/lib/printafm
gs/lib/printafm.ps
gs/lib/ps2ai.ps
gs/lib/ps2ascii
gs/lib/ps2ascii.bat
gs/lib/ps2ascii.cmd
gs/lib/ps2ascii.ps
gs/lib/ps2epsi
gs/lib/ps2epsi.bat
gs/lib/ps2epsi.cmd
gs/lib/ps2epsi.ps
gs/lib/ps2pdf
gs/lib/ps2pdf.bat
gs/lib/ps2pdf.cmd
gs/lib/ps2pdf12
gs/lib/ps2pdf12.bat
gs/lib/ps2pdf12.cmd
gs/lib/ps2pdf13
gs/lib/ps2pdf13.bat
gs/lib/ps2pdf13.cmd
gs/lib/ps2pdf14
gs/lib/ps2pdf14.bat
gs/lib/ps2pdf14.cmd
gs/lib/ps2pdfwr
gs/lib/ps2pdfxx.bat
gs/lib/ps2ps
gs/lib/ps2ps.bat
gs/lib/ps2ps.cmd
gs/lib/ps2ps2
gs/lib/ps2ps2.bat
gs/lib/ps2ps2.cmd
gs/lib/rollconv.ps
gs/lib/showchar.ps
gs/lib/stcinfo.ps
gs/lib/stcolor.ps
gs/lib/stocht.ps
gs/lib/traceimg.ps
gs/lib/traceop.ps
gs/lib/type1enc.ps
gs/lib/type1ops.ps
gs/lib/uninfo.ps
gs/lib/unix-lpr.sh
gs/lib/unprot.ps
gs/lib/viewcmyk.ps
gs/lib/viewgif.ps
gs/lib/viewjpeg.ps
gs/lib/viewmiff.ps
gs/lib/viewpbm.ps
gs/lib/viewpcx.ps
gs/lib/viewps2a.ps
gs/lib/viewrgb.ps
gs/lib/wftopfa
gs/lib/wftopfa.ps
gs/lib/winmaps.ps
gs/lib/wmakebat.bat
gs/lib/wrfont.ps
gs/lib/zeroline.ps
gs/man/de/dvipdf.1
gs/man/de/font2c.1
gs/man/de/gsnd.1
gs/man/de/pdf2dsc.1
gs/man/de/pdf2ps.1
gs/man/de/pdfopt.1
gs/man/de/printafm.1
gs/man/de/ps2ascii.1
gs/man/de/ps2pdf.1
gs/man/de/ps2ps.1
gs/man/de/wftopfa.1
gs/man/dvipdf.1
gs/man/eps2eps.1
gs/man/font2c.1
gs/man/gs.1
gs/man/gslp.1
gs/man/gsnd.1
gs/man/pdf2dsc.1
gs/man/pdf2ps.1
gs/man/pdfopt.1
gs/man/pf2afm.1
gs/man/pfbtopfa.1
gs/man/printafm.1
gs/man/ps2ascii.1
gs/man/ps2epsi.1
gs/man/ps2pdf.1
gs/man/ps2pdfwr.1
gs/man/ps2ps.1
gs/man/wftopfa.1
gs/psi/bfont.h
gs/psi/btoken.h
gs/psi/dmmain.c
gs/psi/dmmain.r
gs/psi/dpmain.c
gs/psi/dscparse.c
gs/psi/dscparse.h
gs/psi/dstack.h
gs/psi/dwdll.c
gs/psi/dwdll.h
gs/psi/dwimg.c
gs/psi/dwimg.h
gs/psi/dwmain.c
gs/psi/dwmain.rc
gs/psi/dwmainc.c
gs/psi/dwnodll.c
gs/psi/dwreg.c
gs/psi/dwreg.h
gs/psi/dwres.h
gs/psi/dwtext.c
gs/psi/dwtext.h
gs/psi/dwtrace.c
gs/psi/dwtrace.h
gs/psi/dxmain.c
gs/psi/dxmainc.c
gs/psi/estack.h
gs/psi/fapi_ft.c
gs/psi/fapibstm.c
gs/psi/fapiufst.c
gs/psi/files.h
gs/psi/ghost.h
gs/psi/gs.c
gs/psi/gsdll.c
gs/psi/gsdll2.rc
gs/psi/gsdll32.rc
gs/psi/gserver.c
gs/psi/gsos2.rc
gs/psi/ialloc.c
gs/psi/ialloc.h
gs/psi/iapi.c
gs/psi/iapi.h
gs/psi/iastate.h
gs/psi/iastruct.h
gs/psi/ibnum.c
gs/psi/ibnum.h
gs/psi/ichar.h
gs/psi/ichar1.h
gs/psi/icharout.h
gs/psi/icid.h
gs/psi/icie.h
gs/psi/icolor.h
gs/psi/iconf.c
gs/psi/iconf.h
gs/psi/icontext.c
gs/psi/icontext.h
gs/psi/icremap.h
gs/psi/icsmap.h
gs/psi/icstate.h
gs/psi/iddict.h
gs/psi/iddstack.h
gs/psi/idebug.c
gs/psi/idebug.h
gs/psi/idict.c
gs/psi/idict.h
gs/psi/idictdef.h
gs/psi/idicttpl.h
gs/psi/idisp.c
gs/psi/idisp.h
gs/psi/idosave.h
gs/psi/idparam.c
gs/psi/idparam.h
gs/psi/idsdata.h
gs/psi/idstack.c
gs/psi/idstack.h
gs/psi/ierrors.h
gs/psi/iesdata.h
gs/psi/iestack.h
gs/psi/ifapi.h
gs/psi/ifcid.h
gs/psi/ifilter.h
gs/psi/ifilter2.h
gs/psi/ifont.h
gs/psi/ifont1.h
gs/psi/ifont2.h
gs/psi/ifont42.h
gs/psi/ifrpred.h
gs/psi/ifunc.h
gs/psi/ifwpred.h
gs/psi/igc.c
gs/psi/igc.h
gs/psi/igcref.c
gs/psi/igcstr.c
gs/psi/igcstr.h
gs/psi/igstate.h
gs/psi/iht.h
gs/psi/iimage.h
gs/psi/iimage2.h
gs/psi/iinit.c
gs/psi/iinit.h
gs/psi/ilevel.h
gs/psi/ilocate.c
gs/psi/imain.c
gs/psi/imain.h
gs/psi/imainarg.c
gs/psi/imainarg.h
gs/psi/imemory.h
gs/psi/iminst.h
gs/psi/iname.c
gs/psi/iname.h
gs/psi/inamedef.h
gs/psi/inameidx.h
gs/psi/inames.h
gs/psi/inamestr.h
gs/psi/inobtokn.c
gs/psi/inouparm.c
gs/psi/int.mak
gs/psi/interp.c
gs/psi/interp.h
gs/psi/iosdata.h
gs/psi/iostack.h
gs/psi/ipacked.h
gs/psi/iparam.c
gs/psi/iparam.h
gs/psi/iparray.h
gs/psi/ipcolor.h
gs/psi/iplugin.c
gs/psi/iplugin.h
gs/psi/ireclaim.c
gs/psi/iref.h
gs/psi/isave.c
gs/psi/isave.h
gs/psi/iscan.c
gs/psi/iscan.h
gs/psi/iscanbin.c
gs/psi/iscanbin.h
gs/psi/iscannum.c
gs/psi/iscannum.h
gs/psi/isdata.h
gs/psi/isstate.h
gs/psi/istack.c
gs/psi/istack.h
gs/psi/istkparm.h
gs/psi/istream.h
gs/psi/istruct.h
gs/psi/itoken.h
gs/psi/iutil.c
gs/psi/iutil.h
gs/psi/iutil2.c
gs/psi/iutil2.h
gs/psi/ivmem2.h
gs/psi/ivmspace.h
gs/psi/main.h
gs/psi/mkfilelt.cpp
gs/psi/msvc.mak
gs/psi/msvc32.mak
gs/psi/msvc64.mak
gs/psi/nsisinst.nsi
gs/psi/oparc.h
gs/psi/opcheck.h
gs/psi/opdef.h
gs/psi/oper.h
gs/psi/opextern.h
gs/psi/os2.mak
gs/psi/ostack.h
gs/psi/psromfs.mak
gs/psi/sfilter1.c
gs/psi/store.h
gs/psi/winint.mak
gs/psi/wrfont.c
gs/psi/wrfont.h
gs/psi/write_t1.c
gs/psi/write_t1.h
gs/psi/write_t2.c
gs/psi/write_t2.h
gs/psi/zalg.c
gs/psi/zarith.c
gs/psi/zarray.c
gs/psi/zbfont.c
gs/psi/zbseq.c
gs/psi/zcfont.c
gs/psi/zchar.c
gs/psi/zchar1.c
gs/psi/zchar2.c
gs/psi/zchar32.c
gs/psi/zchar42.c
gs/psi/zchar42.h
gs/psi/zcharout.c
gs/psi/zcharx.c
gs/psi/zcid.c
gs/psi/zcidtest.c
gs/psi/zcie.c
gs/psi/zcie.h
gs/psi/zcolor.c
gs/psi/zcolor.h
gs/psi/zcolor1.c
gs/psi/zcolor2.c
gs/psi/zcolor3.c
gs/psi/zcontext.c
gs/psi/zcontrol.c
gs/psi/zcrd.c
gs/psi/zcsdevn.c
gs/psi/zcsindex.c
gs/psi/zcspixel.c
gs/psi/zcssepr.c
gs/psi/zdevcal.c
gs/psi/zdevice.c
gs/psi/zdevice2.c
gs/psi/zdfilter.c
gs/psi/zdict.c
gs/psi/zdosio.c
gs/psi/zdouble.c
gs/psi/zdpnext.c
gs/psi/zdps.c
gs/psi/zdps1.c
gs/psi/zdscpars.c
gs/psi/zfaes.c
gs/psi/zfapi.c
gs/psi/zfarc4.c
gs/psi/zfbcp.c
gs/psi/zfcid.c
gs/psi/zfcid0.c
gs/psi/zfcid1.c
gs/psi/zfcmap.c
gs/psi/zfdctd.c
gs/psi/zfdcte.c
gs/psi/zfdecode.c
gs/psi/zfile.c
gs/psi/zfile.h
gs/psi/zfile1.c
gs/psi/zfileio.c
gs/psi/zfilter.c
gs/psi/zfilter2.c
gs/psi/zfilterx.c
gs/psi/zfimscale.c
gs/psi/zfjbig2.c
gs/psi/zfjpx.c
gs/psi/zfmd5.c
gs/psi/zfont.c
gs/psi/zfont0.c
gs/psi/zfont1.c
gs/psi/zfont2.c
gs/psi/zfont32.c
gs/psi/zfont42.c
gs/psi/zfontenum.c
gs/psi/zfproc.c
gs/psi/zfrsd.c
gs/psi/zfrsd.h
gs/psi/zfsample.c
gs/psi/zfsha2.c
gs/psi/zfunc.c
gs/psi/zfunc.h
gs/psi/zfunc0.c
gs/psi/zfunc3.c
gs/psi/zfunc4.c
gs/psi/zfzlib.c
gs/psi/zgeneric.c
gs/psi/zgstate.c
gs/psi/zhsb.c
gs/psi/zht.c
gs/psi/zht1.c
gs/psi/zht2.c
gs/psi/zht2.h
gs/psi/zicc.c
gs/psi/zicc.h
gs/psi/zimage.c
gs/psi/zimage2.c
gs/psi/zimage3.c
gs/psi/ziodev.c
gs/psi/ziodev2.c
gs/psi/ziodevs.c
gs/psi/ziodevsc.c
gs/psi/zmath.c
gs/psi/zmatrix.c
gs/psi/zmedia2.c
gs/psi/zmisc.c
gs/psi/zmisc1.c
gs/psi/zmisc2.c
gs/psi/zmisc3.c
gs/psi/zncdummy.c
gs/psi/zpacked.c
gs/psi/zpaint.c
gs/psi/zpath.c
gs/psi/zpath1.c
gs/psi/zpcolor.c
gs/psi/zpdfops.c
gs/psi/zrelbit.c
gs/psi/zrop.c
gs/psi/zshade.c
gs/psi/zstack.c
gs/psi/zstring.c
gs/psi/zsysvm.c
gs/psi/ztoken.c
gs/psi/ztrans.c
gs/psi/ztrap.c
gs/psi/ztype.c
gs/psi/zupath.c
gs/psi/zusparam.c
gs/psi/zutf8.c
gs/psi/zvmem.c
gs/psi/zvmem2.c
gs/psi/zwinutf8.c
gs/toolbin/GenSubstCID.ps
gs/toolbin/afmutil.py
gs/toolbin/bughunt.sh
gs/toolbin/color/icc_creator/ICC_Creator/CIELAB.h
gs/toolbin/color/icc_creator/ICC_Creator/ICC_Creator.cpp
gs/toolbin/color/icc_creator/ICC_Creator/ICC_Creator.h
gs/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
gs/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.h
gs/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
gs/toolbin/color/icc_creator/ICC_Creator/icc_create.h
gs/toolbin/color/icc_creator/README.txt
gs/toolbin/drawafm.ps
gs/toolbin/encs2c.ps
gs/toolbin/errlist.tcl
gs/toolbin/extractFonts.ps
gs/toolbin/extractICCprofiles.ps
gs/toolbin/gen_ldf_jb2.py
gs/toolbin/genfontmap.ps
gs/toolbin/gitlog2changelog.py
gs/toolbin/gsmake
gs/toolbin/gsmake.tcl
gs/toolbin/halftone/gen_ordered/README
gs/toolbin/halftone/gen_ordered/gen_ordered.c
gs/toolbin/headers.tcl
gs/toolbin/jpxtopdf.c
gs/toolbin/leaks.tcl
gs/toolbin/makehist.tcl
gs/toolbin/memory.py
gs/toolbin/ocheck.py
gs/toolbin/pdf_info.ps
gs/toolbin/pdfinflt.ps
gs/toolbin/pre.tcl
gs/toolbin/precheck.tcl
gs/toolbin/pscet_status.pl
gs/toolbin/smoke.ps
gs/toolbin/split_changelog.py
gs/toolbin/suite.tcl
gs/toolbin/tests/build_revision.py
gs/toolbin/tests/check_all.py
gs/toolbin/tests/check_comments.py
gs/toolbin/tests/check_dirs.py
gs/toolbin/tests/check_docrefs.py
gs/toolbin/tests/check_source.py
gs/toolbin/tests/cmpi.py
gs/toolbin/tests/compare_checksumdb.py
gs/toolbin/tests/compare_checksums.py
gs/toolbin/tests/dump_checksum.py
gs/toolbin/tests/dump_checksum_plus.py
gs/toolbin/tests/dump_checksum_raw.py
gs/toolbin/tests/fuzzy.c
gs/toolbin/tests/get_baseline_log.py
gs/toolbin/tests/get_baselines.py
gs/toolbin/tests/gscheck_all.py
gs/toolbin/tests/gscheck_fuzzypdf.py
gs/toolbin/tests/gscheck_pdfwrite.py
gs/toolbin/tests/gscheck_raster.py
gs/toolbin/tests/gscheck_testfiles.py
gs/toolbin/tests/gsconf.py
gs/toolbin/tests/gsparamsets.py
gs/toolbin/tests/gssum.py
gs/toolbin/tests/gstestgs.py
gs/toolbin/tests/gstestutils.py
gs/toolbin/tests/gsutil.py
gs/toolbin/tests/make_baselinedb.py
gs/toolbin/tests/make_testdb.py
gs/toolbin/tests/make_two_pdfversions
gs/toolbin/tests/make_two_versions
gs/toolbin/tests/myoptparse.py
gs/toolbin/tests/rasterdb.py
gs/toolbin/tests/revert_baseline
gs/toolbin/tests/revert_pdfbaseline
gs/toolbin/tests/run_nightly.py
gs/toolbin/tests/run_parallel
gs/toolbin/tests/run_regression.py
gs/toolbin/tests/testdiff.py
gs/toolbin/tests/update_baseline.py
gs/toolbin/tests/update_specific
gs/toolbin/tmake.tcl
gs/zlib/ChangeLog
gs/zlib/adler32.c
gs/zlib/compress.c
gs/zlib/crc32.c
gs/zlib/deflate.c
gs/zlib/deflate.h
gs/zlib/test/example.c
gs/zlib/test/minigzip.c
gs/zlib/trees.c
gs/zlib/uncompr.c
gs/zlib/zconf.h
gs/zlib/zconf.h.cmakein
gs/zlib/zconf.h.in
gs/zlib/zutil.c
gs/zlib/zutil.h
language_switch/pspcl6_gcc.mak
language_switch/pspcl6_msvc.mak
pcl/pcbiptrn.c
pcl/pcbiptrn.h
pcl/pccid.c
pcl/pccid.h
pcl/pccolor.c
pcl/pccoord.h
pcl/pccprint.c
pcl/pccsbase.c
pcl/pccsbase.h
pcl/pcdict.h
pcl/pcdither.c
pcl/pcdither.h
pcl/pcdraw.c
pcl/pcdraw.h
pcl/pcfont.c
pcl/pcfont.h
pcl/pcfontpg.c
pcl/pcfontst.h
pcl/pcfrgrnd.c
pcl/pcfrgrnd.h
pcl/pcfsel.c
pcl/pcfsel.h
pcl/pcht.c
pcl/pcht.h
pcl/pcident.c
pcl/pcident.h
pcl/pcimpl.c
pcl/pcindxed.c
pcl/pcindxed.h
pcl/pcjob.c
pcl/pcl.mak
pcl/pcl_top.mak
pcl/pclookup.c
pcl/pclookup.h
pcl/pcmacros.c
pcl/pcmisc.c
pcl/pcmtx3.c
pcl/pcmtx3.h
pcl/pcommand.c
pcl/pcommand.h
pcl/pcpage.c
pcl/pcpage.h
pcl/pcpalet.c
pcl/pcpalet.h
pcl/pcparam.h
pcl/pcparse.c
pcl/pcparse.h
pcl/pcpatrn.c
pcl/pcpatrn.h
pcl/pcpattyp.h
pcl/pcpatxfm.c
pcl/pcpatxfm.h
pcl/pcrect.c
pcl/pcsfont.c
pcl/pcstate.h
pcl/pcstatus.c
pcl/pcsymbol.c
pcl/pcsymbol.h
pcl/pctext.c
pcl/pctop.c
pcl/pctop.h
pcl/pctpm.h
pcl/pcuptrn.c
pcl/pcuptrn.h
pcl/pcursor.c
pcl/pcursor.h
pcl/pcwhtidx.c
pcl/pcwhtidx.h
pcl/pcxfmst.h
pcl/pgchar.c
pcl/pgcolor.c
pcl/pgconfig.c
pcl/pgdraw.c
pcl/pgdraw.h
pcl/pgfdata.c
pcl/pgfdata.h
pcl/pgfont.c
pcl/pgfont.h
pcl/pgframe.c
pcl/pggeom.c
pcl/pggeom.h
pcl/pginit.c
pcl/pginit.h
pcl/pglabel.c
pcl/pglfill.c
pcl/pgmand.h
pcl/pgmisc.c
pcl/pgmisc.h
pcl/pgparse.c
pcl/pgpoly.c
pcl/pgstate.h
pcl/pgvector.c
pcl/rtgmode.c
pcl/rtgmode.h
pcl/rtmisc.c
pcl/rtraster.c
pcl/rtraster.h
pcl/rtrstcmp.c
pcl/rtrstcmp.h
pcl/rtrstst.h
pl/dwimg.c
pl/dwimg.h
pl/dwmainc.c
pl/dwreg.c
pl/dwreg.h
pl/dwres.h
pl/pjparse.c
pl/pjparse.h
pl/pjparsei.c
pl/pjtop.c
pl/pjtop.h
pl/pl.mak
pl/plalloc.c
pl/plalloc.h
pl/plapi.h
pl/plchar.c
pl/pldebug.h
pl/pldict.c
pl/pldict.h
pl/pldraw.c
pl/pldraw.h
pl/plfont.c
pl/plfont.h
pl/plftable.c
pl/plftable.h
pl/plht.c
pl/plht.h
pl/plimpl.c
pl/pllfont.c
pl/pllfont.h
pl/plmain.c
pl/plmain.h
pl/plparse.h
pl/plplatf.c
pl/plplatf.h
pl/plplatfps.c
pl/plsrgb.c
pl/plsrgb.h
pl/plsymbol.c
pl/plsymbol.h
pl/pltop.c
pl/pltop.h
pl/pltoputl.c
pl/pltoputl.h
pl/pluchar.c
pl/plufont.c
pl/plulfont.c
pl/plvalue.c
pl/plvalue.h
pl/plvocab.c
pl/plvocab.h
pl/realmain.c
psi/psi.mak
psi/psitop.c
pxl/pxasm.ps
pxl/pxattr.h
pxl/pxbfont.c
pxl/pxbfont.h
pxl/pxbfont.ps
pxl/pxcet.txt
pxl/pxdict.h
pxl/pxdiff.txt
pxl/pxenum.h
pxl/pxerrors.c
pxl/pxerrors.h
pxl/pxffont.c
pxl/pxfont.c
pxl/pxfont.h
pxl/pxfts.txt
pxl/pxgstate.c
pxl/pxgstate.h
pxl/pximage.c
pxl/pximpl.c
pxl/pxink.c
pxl/pxl.mak
pxl/pxlib.txt
pxl/pxoper.h
pxl/pxpaint.c
pxl/pxparse.c
pxl/pxparse.h
pxl/pxptable.c
pxl/pxptable.h
pxl/pxpthr.c
pxl/pxpthr.h
pxl/pxsessio.c
pxl/pxspec.txt
pxl/pxstate.c
pxl/pxstate.h
pxl/pxstream.c
pxl/pxsymbol.ps
pxl/pxsymbol.psc
pxl/pxsymbol.psh
pxl/pxtag.h
pxl/pxtop.c
pxl/pxvalue.c
pxl/pxvalue.h
svg/ghostsvg.h
svg/svg.mak
svg/svg_gcc.mak
svg/svg_msvc.mak
svg/svgcolor.c
svg/svgcolorlist.h
svg/svgdoc.c
svg/svgshapes.c
svg/svgtop.c
svg/svgtransform.c
svg/svgtypes.c
svg/svgxml.c
tools/gslite/gslt.h
tools/gslite/gslt_font.h
tools/gslite/gslt_font_api.c
tools/gslite/gslt_font_api.h
tools/gslite/gslt_font_api_test.c
tools/gslite/gslt_font_cache.c
tools/gslite/gslt_font_cff.c
tools/gslite/gslt_font_encoding.c
tools/gslite/gslt_font_glyph.c
tools/gslite/gslt_font_int.h
tools/gslite/gslt_font_test.c
tools/gslite/gslt_font_ttf.c
tools/gslite/gslt_image.c
tools/gslite/gslt_image.h
tools/gslite/gslt_image_jpeg.c
tools/gslite/gslt_image_png.c
tools/gslite/gslt_image_test.c
tools/gslite/gslt_image_threads_test.c
tools/gslite/gslt_image_tiff.c
tools/gslite/gslt_init.c
tools/gslite/gslt_stubs.c
tools/gslite/gslt_test.c
tools/null.pxl
tools/suite.tcl
xps/ghostxps.h
xps/xps.mak
xps/xps_gcc.mak
xps/xps_msvc.mak
xps/xpsanalyze.c
xps/xpscff.c
xps/xpscolor.c
xps/xpscommon.c
xps/xpscrc.c
xps/xpsdoc.c
xps/xpsfont.c
xps/xpsglyphs.c
xps/xpsgradient.c
xps/xpshash.c
xps/xpsimage.c
xps/xpsjpeg.c
xps/xpsjxr.c
xps/xpsmem.c
xps/xpsopacity.c
xps/xpspage.c
xps/xpspath.c
xps/xpspng.c
xps/xpsresource.c
xps/xpstiff.c
xps/xpstile.c
xps/xpstop.c
xps/xpsttf.c
xps/xpsutf.c
xps/xpsvisual.c
xps/xpsxml.c
xps/xpszip.c
2012-06-13 12:22:13 +0100
Chris Liddell <chris.liddell@artifex.com>
fae7be45fb7f2e9be889c07dc9d29e7ea1975dc9
Bug 692365: Don't derive metrics for CIDFontType 2.
pdfwrite uses zchar42_set_cache() to get the glyph metrics for a glyph from
CIDFontType 2 font. It turns out, that function contained the same faking
of vertical metrics as the FAPI code originally had. That's a problem because
a PS font without vertical metrics should be treated as horizontal, regardless
of the wmode value.
We *only* want to derive vertical metrics for TTF fonts read from disk being
used to emulate a missing CIDFont with wmode 1.
No cluster differences.
gs/psi/zchar42.c
2012-06-11 14:09:28 +0100
Chris Liddell <chris.liddell@artifex.com>
b4dbdb142e340596d9a8b440ca415832c39caef2
Update libjpeg to 8d.
gs/jpeg/Makefile.in
gs/jpeg/README
gs/jpeg/aclocal.m4
gs/jpeg/change.log
gs/jpeg/cjpeg.1
gs/jpeg/cjpeg.c
gs/jpeg/config.guess
gs/jpeg/config.sub
gs/jpeg/configure
gs/jpeg/configure.ac
gs/jpeg/depcomp
gs/jpeg/install-sh
gs/jpeg/install.txt
gs/jpeg/jaricom.c
gs/jpeg/jcarith.c
gs/jpeg/jccoefct.c
gs/jpeg/jccolor.c
gs/jpeg/jconfig.mc6
gs/jpeg/jctrans.c
gs/jpeg/jdarith.c
gs/jpeg/jdatadst.c
gs/jpeg/jdatasrc.c
gs/jpeg/jdcoefct.c
gs/jpeg/jdcolor.c
gs/jpeg/jdmaster.c
gs/jpeg/jmemmgr.c
gs/jpeg/jmorecfg.h
gs/jpeg/jpegint.h
gs/jpeg/jpeglib.h
gs/jpeg/jpegtran.c
gs/jpeg/jquant1.c
gs/jpeg/jquant2.c
gs/jpeg/jutils.c
gs/jpeg/jversion.h
gs/jpeg/libjpeg.txt
gs/jpeg/ltmain.sh
gs/jpeg/structure.txt
gs/jpeg/transupp.c
gs/jpeg/transupp.h
gs/jpeg/usage.txt
2012-06-11 11:37:57 +0100
Chris Liddell <chris.liddell@artifex.com>
2214fb3da464f702ab4bd46d653aef1c9b69d483
Update zlib to 1.2.7
No cluster differences.
gs/zlib/CMakeLists.txt
gs/zlib/ChangeLog
gs/zlib/FAQ
gs/zlib/INDEX
gs/zlib/Makefile
gs/zlib/Makefile.in
gs/zlib/README
gs/zlib/adler32.c
gs/zlib/algorithm.txt
gs/zlib/amiga/Makefile.pup
gs/zlib/amiga/Makefile.sas
gs/zlib/as400/bndsrc
gs/zlib/as400/compile.clp
gs/zlib/as400/readme.txt
gs/zlib/as400/zlib.inc
gs/zlib/compress.c
gs/zlib/configure
gs/zlib/contrib/README.contrib
gs/zlib/contrib/amd64/amd64-match.S
gs/zlib/contrib/asm586/README.586
gs/zlib/contrib/asm586/match.S
gs/zlib/contrib/asm686/README.686
gs/zlib/contrib/asm686/match.S
gs/zlib/contrib/delphi/ZLib.pas
gs/zlib/contrib/delphi/zlibd32.mak
gs/zlib/contrib/dotzlib/DotZLib.build
gs/zlib/contrib/dotzlib/DotZLib.chm
gs/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs
gs/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs
gs/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs
gs/zlib/contrib/dotzlib/DotZLib/CodecBase.cs
gs/zlib/contrib/dotzlib/DotZLib/Deflater.cs
gs/zlib/contrib/dotzlib/DotZLib/DotZLib.cs
gs/zlib/contrib/dotzlib/DotZLib/GZipStream.cs
gs/zlib/contrib/dotzlib/DotZLib/Inflater.cs
gs/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
gs/zlib/contrib/dotzlib/readme.txt
gs/zlib/contrib/gcc_gvmat64/gvmat64.S
gs/zlib/contrib/infback9/infback9.c
gs/zlib/contrib/infback9/inftree9.c
gs/zlib/contrib/infback9/inftree9.h
gs/zlib/contrib/inflate86/inffas86.c
gs/zlib/contrib/masm686/match.asm
gs/zlib/contrib/masmx64/gvmat64.asm
gs/zlib/contrib/masmx64/gvmat64.obj
gs/zlib/contrib/masmx64/inffas8664.c
gs/zlib/contrib/masmx64/inffasx64.asm
gs/zlib/contrib/masmx64/inffasx64.obj
gs/zlib/contrib/masmx64/readme.txt
gs/zlib/contrib/masmx86/bld_ml32.bat
gs/zlib/contrib/masmx86/gvmat32.asm
gs/zlib/contrib/masmx86/gvmat32.obj
gs/zlib/contrib/masmx86/gvmat32c.c
gs/zlib/contrib/masmx86/inffas32.asm
gs/zlib/contrib/masmx86/inffas32.obj
gs/zlib/contrib/masmx86/match686.asm
gs/zlib/contrib/masmx86/mkasm.bat
gs/zlib/contrib/masmx86/readme.txt
gs/zlib/contrib/minizip/ChangeLogUnzip
gs/zlib/contrib/minizip/Makefile.am
gs/zlib/contrib/minizip/MiniZip64_Changes.txt
gs/zlib/contrib/minizip/MiniZip64_info.txt
gs/zlib/contrib/minizip/configure.ac
gs/zlib/contrib/minizip/crypt.h
gs/zlib/contrib/minizip/ioapi.c
gs/zlib/contrib/minizip/ioapi.h
gs/zlib/contrib/minizip/iowin32.c
gs/zlib/contrib/minizip/iowin32.h
gs/zlib/contrib/minizip/make_vms.com
gs/zlib/contrib/minizip/miniunz.c
gs/zlib/contrib/minizip/minizip.c
gs/zlib/contrib/minizip/minizip.pc.in
gs/zlib/contrib/minizip/mztools.c
gs/zlib/contrib/minizip/mztools.h
gs/zlib/contrib/minizip/unzip.c
gs/zlib/contrib/minizip/unzip.h
gs/zlib/contrib/minizip/zip.c
gs/zlib/contrib/minizip/zip.h
gs/zlib/contrib/pascal/zlibd32.mak
gs/zlib/contrib/pascal/zlibpas.pas
gs/zlib/contrib/puff/Makefile
gs/zlib/contrib/puff/puff.c
gs/zlib/contrib/puff/puff.h
gs/zlib/contrib/puff/pufftest.c
gs/zlib/contrib/puff/zeros.raw
gs/zlib/contrib/testzlib/testzlib.c
gs/zlib/contrib/vstudio/readme.txt
gs/zlib/contrib/vstudio/vc10/miniunz.vcxproj
gs/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters
gs/zlib/contrib/vstudio/vc10/miniunz.vcxproj.user
gs/zlib/contrib/vstudio/vc10/minizip.vcxproj
gs/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters
gs/zlib/contrib/vstudio/vc10/minizip.vcxproj.user
gs/zlib/contrib/vstudio/vc10/testzlib.vcxproj
gs/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters
gs/zlib/contrib/vstudio/vc10/testzlib.vcxproj.user
gs/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj
gs/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters
gs/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.user
gs/zlib/contrib/vstudio/vc10/zlib.rc
gs/zlib/contrib/vstudio/vc10/zlibstat.vcxproj
gs/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters
gs/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.user
gs/zlib/contrib/vstudio/vc10/zlibvc.def
gs/zlib/contrib/vstudio/vc10/zlibvc.sln
gs/zlib/contrib/vstudio/vc10/zlibvc.vcxproj
gs/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters
gs/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.user
gs/zlib/contrib/vstudio/vc7/miniunz.vcproj
gs/zlib/contrib/vstudio/vc7/minizip.vcproj
gs/zlib/contrib/vstudio/vc7/testzlib.vcproj
gs/zlib/contrib/vstudio/vc7/zlib.rc
gs/zlib/contrib/vstudio/vc7/zlibstat.vcproj
gs/zlib/contrib/vstudio/vc7/zlibvc.def
gs/zlib/contrib/vstudio/vc7/zlibvc.sln
gs/zlib/contrib/vstudio/vc7/zlibvc.vcproj
gs/zlib/contrib/vstudio/vc8/miniunz.vcproj
gs/zlib/contrib/vstudio/vc8/minizip.vcproj
gs/zlib/contrib/vstudio/vc8/testzlib.vcproj
gs/zlib/contrib/vstudio/vc8/testzlibdll.vcproj
gs/zlib/contrib/vstudio/vc8/zlib.rc
gs/zlib/contrib/vstudio/vc8/zlibstat.vcproj
gs/zlib/contrib/vstudio/vc8/zlibvc.def
gs/zlib/contrib/vstudio/vc8/zlibvc.sln
gs/zlib/contrib/vstudio/vc8/zlibvc.vcproj
gs/zlib/contrib/vstudio/vc9/miniunz.vcproj
gs/zlib/contrib/vstudio/vc9/minizip.vcproj
gs/zlib/contrib/vstudio/vc9/testzlib.vcproj
gs/zlib/contrib/vstudio/vc9/testzlibdll.vcproj
gs/zlib/contrib/vstudio/vc9/zlib.rc
gs/zlib/contrib/vstudio/vc9/zlibstat.vcproj
gs/zlib/contrib/vstudio/vc9/zlibvc.def
gs/zlib/contrib/vstudio/vc9/zlibvc.sln
gs/zlib/contrib/vstudio/vc9/zlibvc.vcproj
gs/zlib/crc32.c
gs/zlib/crc32.h
gs/zlib/deflate.c
gs/zlib/deflate.h
gs/zlib/doc/algorithm.txt
gs/zlib/doc/rfc1950.txt
gs/zlib/doc/rfc1951.txt
gs/zlib/doc/rfc1952.txt
gs/zlib/doc/txtvsbin.txt
gs/zlib/example.c
gs/zlib/examples/README.examples
gs/zlib/examples/enough.c
gs/zlib/examples/gun.c
gs/zlib/examples/gzlog.c
gs/zlib/examples/gzlog.h
gs/zlib/examples/zlib_how.html
gs/zlib/examples/zpipe.c
gs/zlib/examples/zran.c
gs/zlib/gzclose.c
gs/zlib/gzguts.h
gs/zlib/gzio.c
gs/zlib/gzlib.c
gs/zlib/gzread.c
gs/zlib/gzwrite.c
gs/zlib/infback.c
gs/zlib/inffast.c
gs/zlib/inffast.h
gs/zlib/inffixed.h
gs/zlib/inflate.c
gs/zlib/inflate.h
gs/zlib/inftrees.c
gs/zlib/inftrees.h
gs/zlib/make_vms.com
gs/zlib/minigzip.c
gs/zlib/msdos/Makefile.bor
gs/zlib/msdos/Makefile.dj2
gs/zlib/msdos/Makefile.emx
gs/zlib/msdos/Makefile.msc
gs/zlib/msdos/Makefile.tc
gs/zlib/nintendods/Makefile
gs/zlib/nintendods/README
gs/zlib/old/Makefile.emx
gs/zlib/old/zlib.html
gs/zlib/projects/README.projects
gs/zlib/projects/visualc6/README.txt
gs/zlib/projects/visualc6/example.dsp
gs/zlib/projects/visualc6/minigzip.dsp
gs/zlib/projects/visualc6/zlib.dsp
gs/zlib/projects/visualc6/zlib.dsw
gs/zlib/qnx/package.qpg
gs/zlib/test/example.c
gs/zlib/test/infcover.c
gs/zlib/test/minigzip.c
gs/zlib/treebuild.xml
gs/zlib/trees.c
gs/zlib/trees.h
gs/zlib/uncompr.c
gs/zlib/watcom/watcom_f.mak
gs/zlib/watcom/watcom_l.mak
gs/zlib/win32/DLL_FAQ.txt
gs/zlib/win32/Makefile.bor
gs/zlib/win32/Makefile.emx
gs/zlib/win32/Makefile.gcc
gs/zlib/win32/Makefile.msc
gs/zlib/win32/README-WIN32.txt
gs/zlib/win32/zlib.def
gs/zlib/win32/zlib1.rc
gs/zlib/zconf.h
gs/zlib/zconf.h.cmakein
gs/zlib/zconf.h.in
gs/zlib/zconf.in.h
gs/zlib/zlib.3
gs/zlib/zlib.3.pdf
gs/zlib/zlib.h
gs/zlib/zlib.map
gs/zlib/zlib.pc.cmakein
gs/zlib/zlib.pc.in
gs/zlib/zlib2ansi
gs/zlib/zutil.c
gs/zlib/zutil.h
2012-06-11 09:11:18 +0100
Chris Liddell <chris.liddell@artifex.com>
3c419d97583ed1c234d53bd9c0efac2ef9fff320
Update libtiff to 4.0.1.
Remove globals from tif_pixarlog.c
Re-apply commit 786269bafff68f1965b1536acef11f25e0cd44d0
Also reapply some portability changes to tiffiop.h.
No cluster differences.
gs/tiff/ChangeLog
gs/tiff/HOWTO-RELEASE
gs/tiff/Makefile.am
gs/tiff/Makefile.in
gs/tiff/Makefile.vc
gs/tiff/README
gs/tiff/RELEASE-DATE
gs/tiff/TODO
gs/tiff/VERSION
gs/tiff/aclocal.m4
gs/tiff/autogen.sh
gs/tiff/build/Makefile.am
gs/tiff/build/Makefile.in
gs/tiff/config/config.guess
gs/tiff/config/config.sub
gs/tiff/config/depcomp
gs/tiff/config/install-sh
gs/tiff/config/ltmain.sh
gs/tiff/config/missing
gs/tiff/config/mkinstalldirs
gs/tiff/configure
gs/tiff/configure.ac
gs/tiff/configure.com
gs/tiff/contrib/Makefile.am
gs/tiff/contrib/Makefile.in
gs/tiff/contrib/acorn/Makefile.acorn
gs/tiff/contrib/acorn/Makefile.am
gs/tiff/contrib/acorn/Makefile.in
gs/tiff/contrib/acorn/ReadMe
gs/tiff/contrib/acorn/SetVars
gs/tiff/contrib/acorn/cleanlib
gs/tiff/contrib/acorn/convert
gs/tiff/contrib/acorn/install
gs/tiff/contrib/addtiffo/Makefile.am
gs/tiff/contrib/addtiffo/Makefile.in
gs/tiff/contrib/addtiffo/addtiffo.c
gs/tiff/contrib/addtiffo/tif_overview.c
gs/tiff/contrib/addtiffo/tif_ovrcache.c
gs/tiff/contrib/addtiffo/tif_ovrcache.h
gs/tiff/contrib/dbs/Makefile.am
gs/tiff/contrib/dbs/Makefile.in
gs/tiff/contrib/dbs/tiff-bi.c
gs/tiff/contrib/dbs/tiff-grayscale.c
gs/tiff/contrib/dbs/tiff-palette.c
gs/tiff/contrib/dbs/tiff-rgb.c
gs/tiff/contrib/dbs/xtiff/Makefile.am
gs/tiff/contrib/dbs/xtiff/Makefile.in
gs/tiff/contrib/dbs/xtiff/patchlevel.h
gs/tiff/contrib/dbs/xtiff/xtiff.c
gs/tiff/contrib/dbs/xtiff/xtifficon.h
gs/tiff/contrib/iptcutil/Makefile.in
gs/tiff/contrib/iptcutil/iptcutil.c
gs/tiff/contrib/mac-cw/Makefile.am
gs/tiff/contrib/mac-cw/Makefile.in
gs/tiff/contrib/mac-cw/Makefile.script
gs/tiff/contrib/mac-cw/README
gs/tiff/contrib/mac-cw/mac_main.c
gs/tiff/contrib/mac-cw/mac_main.h
gs/tiff/contrib/mac-cw/metrowerks.note
gs/tiff/contrib/mac-cw/mkg3_main.c
gs/tiff/contrib/mac-cw/version.h
gs/tiff/contrib/mac-mpw/BUILD.mpw
gs/tiff/contrib/mac-mpw/Makefile.am
gs/tiff/contrib/mac-mpw/Makefile.in
gs/tiff/contrib/mac-mpw/README
gs/tiff/contrib/mac-mpw/libtiff.make
gs/tiff/contrib/mac-mpw/mactrans.c
gs/tiff/contrib/mac-mpw/port.make
gs/tiff/contrib/mac-mpw/tools.make
gs/tiff/contrib/mac-mpw/top.make
gs/tiff/contrib/mfs/Makefile.am
gs/tiff/contrib/mfs/Makefile.in
gs/tiff/contrib/mfs/mfs_file.c
gs/tiff/contrib/pds/Makefile.am
gs/tiff/contrib/pds/Makefile.in
gs/tiff/contrib/pds/tif_imageiter.c
gs/tiff/contrib/pds/tif_imageiter.h
gs/tiff/contrib/pds/tif_pdsdirread.c
gs/tiff/contrib/pds/tif_pdsdirwrite.c
gs/tiff/contrib/ras/Makefile.am
gs/tiff/contrib/ras/Makefile.in
gs/tiff/contrib/ras/ras2tif.c
gs/tiff/contrib/ras/tif2ras.c
gs/tiff/contrib/stream/Makefile.am
gs/tiff/contrib/stream/Makefile.in
gs/tiff/contrib/stream/tiffstream.cpp
gs/tiff/contrib/stream/tiffstream.h
gs/tiff/contrib/tags/Makefile.am
gs/tiff/contrib/tags/Makefile.in
gs/tiff/contrib/tags/listtif.c
gs/tiff/contrib/tags/maketif.c
gs/tiff/contrib/tags/xtif_dir.c
gs/tiff/contrib/tags/xtiffio.h
gs/tiff/contrib/tags/xtiffiop.h
gs/tiff/contrib/win_dib/Makefile.am
gs/tiff/contrib/win_dib/Makefile.in
gs/tiff/contrib/win_dib/Tiffile.cpp
gs/tiff/contrib/win_dib/tiff2dib.c
gs/tiff/html/Makefile.am
gs/tiff/html/Makefile.in
gs/tiff/html/bugs.html
gs/tiff/html/build.html
gs/tiff/html/document.html
gs/tiff/html/images/Makefile.in
gs/tiff/html/index.html
gs/tiff/html/man/Makefile.in
gs/tiff/html/man/TIFFClose.3tiff.html
gs/tiff/html/man/TIFFDataWidth.3tiff.html
gs/tiff/html/man/TIFFError.3tiff.html
gs/tiff/html/man/TIFFFlush.3tiff.html
gs/tiff/html/man/TIFFGetField.3tiff.html
gs/tiff/html/man/TIFFOpen.3tiff.html
gs/tiff/html/man/TIFFPrintDirectory.3tiff.html
gs/tiff/html/man/TIFFRGBAImage.3tiff.html
gs/tiff/html/man/TIFFReadDirectory.3tiff.html
gs/tiff/html/man/TIFFReadEncodedStrip.3tiff.html
gs/tiff/html/man/TIFFReadEncodedTile.3tiff.html
gs/tiff/html/man/TIFFReadRGBAImage.3tiff.html
gs/tiff/html/man/TIFFReadRGBAStrip.3tiff.html
gs/tiff/html/man/TIFFReadRGBATile.3tiff.html
gs/tiff/html/man/TIFFReadRawStrip.3tiff.html
gs/tiff/html/man/TIFFReadRawTile.3tiff.html
gs/tiff/html/man/TIFFReadScanline.3tiff.html
gs/tiff/html/man/TIFFReadTile.3tiff.html
gs/tiff/html/man/TIFFSetDirectory.3tiff.html
gs/tiff/html/man/TIFFSetField.3tiff.html
gs/tiff/html/man/TIFFWarning.3tiff.html
gs/tiff/html/man/TIFFWriteDirectory.3tiff.html
gs/tiff/html/man/TIFFWriteEncodedStrip.3tiff.html
gs/tiff/html/man/TIFFWriteEncodedTile.3tiff.html
gs/tiff/html/man/TIFFWriteRawStrip.3tiff.html
gs/tiff/html/man/TIFFWriteRawTile.3tiff.html
gs/tiff/html/man/TIFFWriteScanline.3tiff.html
gs/tiff/html/man/TIFFWriteTile.3tiff.html
gs/tiff/html/man/TIFFbuffer.3tiff.html
gs/tiff/html/man/TIFFcodec.3tiff.html
gs/tiff/html/man/TIFFcolor.3tiff.html
gs/tiff/html/man/TIFFmemory.3tiff.html
gs/tiff/html/man/TIFFquery.3tiff.html
gs/tiff/html/man/TIFFsize.3tiff.html
gs/tiff/html/man/TIFFstrip.3tiff.html
gs/tiff/html/man/TIFFswab.3tiff.html
gs/tiff/html/man/TIFFtile.3tiff.html
gs/tiff/html/man/fax2ps.1.html
gs/tiff/html/man/fax2tiff.1.html
gs/tiff/html/man/gif2tiff.1.html
gs/tiff/html/man/libtiff.3tiff.html
gs/tiff/html/man/pal2rgb.1.html
gs/tiff/html/man/ppm2tiff.1.html
gs/tiff/html/man/ras2tiff.1.html
gs/tiff/html/man/raw2tiff.1.html
gs/tiff/html/man/rgb2ycbcr.1.html
gs/tiff/html/man/sgi2tiff.1.html
gs/tiff/html/man/thumbnail.1.html
gs/tiff/html/man/tiff2bw.1.html
gs/tiff/html/man/tiff2pdf.1.html
gs/tiff/html/man/tiff2ps.1.html
gs/tiff/html/man/tiff2rgba.1.html
gs/tiff/html/man/tiffcmp.1.html
gs/tiff/html/man/tiffcp.1.html
gs/tiff/html/man/tiffcrop.1.html
gs/tiff/html/man/tiffdither.1.html
gs/tiff/html/man/tiffdump.1.html
gs/tiff/html/man/tiffgt.1.html
gs/tiff/html/man/tiffinfo.1.html
gs/tiff/html/man/tiffmedian.1.html
gs/tiff/html/man/tiffset.1.html
gs/tiff/html/man/tiffsplit.1.html
gs/tiff/html/man/tiffsv.1.html
gs/tiff/html/tools.html
gs/tiff/html/v3.9.0beta.html
gs/tiff/html/v3.9.1.html
gs/tiff/html/v3.9.2.html
gs/tiff/html/v4.0.0.html
gs/tiff/libtiff-4.pc.in
gs/tiff/libtiff/Makefile.am
gs/tiff/libtiff/Makefile.in
gs/tiff/libtiff/Makefile.vc
gs/tiff/libtiff/libtiff.def
gs/tiff/libtiff/libtiff.map
gs/tiff/libtiff/libtiffxx.map
gs/tiff/libtiff/mkg3states.c
gs/tiff/libtiff/oog_table.h
gs/tiff/libtiff/t4.h
gs/tiff/libtiff/tif_acorn.c
gs/tiff/libtiff/tif_apple.c
gs/tiff/libtiff/tif_atari.c
gs/tiff/libtiff/tif_aux.c
gs/tiff/libtiff/tif_close.c
gs/tiff/libtiff/tif_codec.c
gs/tiff/libtiff/tif_color.c
gs/tiff/libtiff/tif_compress.c
gs/tiff/libtiff/tif_config.h.in
gs/tiff/libtiff/tif_config.vc.h
gs/tiff/libtiff/tif_config.wince.h
gs/tiff/libtiff/tif_dir.c
gs/tiff/libtiff/tif_dir.h
gs/tiff/libtiff/tif_dirinfo.c
gs/tiff/libtiff/tif_dirread.c
gs/tiff/libtiff/tif_dirwrite.c
gs/tiff/libtiff/tif_dumpmode.c
gs/tiff/libtiff/tif_error.c
gs/tiff/libtiff/tif_extension.c
gs/tiff/libtiff/tif_fax3.c
gs/tiff/libtiff/tif_fax3.h
gs/tiff/libtiff/tif_fax3sm.c
gs/tiff/libtiff/tif_flush.c
gs/tiff/libtiff/tif_getimage.c
gs/tiff/libtiff/tif_jbig.c
gs/tiff/libtiff/tif_jpeg.c
gs/tiff/libtiff/tif_jpeg_12.c
gs/tiff/libtiff/tif_luv.c
gs/tiff/libtiff/tif_lzma.c
gs/tiff/libtiff/tif_lzw.c
gs/tiff/libtiff/tif_msdos.c
gs/tiff/libtiff/tif_next.c
gs/tiff/libtiff/tif_ojpeg.c
gs/tiff/libtiff/tif_open.c
gs/tiff/libtiff/tif_packbits.c
gs/tiff/libtiff/tif_pixarlog.c
gs/tiff/libtiff/tif_predict.c
gs/tiff/libtiff/tif_predict.h
gs/tiff/libtiff/tif_print.c
gs/tiff/libtiff/tif_read.c
gs/tiff/libtiff/tif_stream.cxx
gs/tiff/libtiff/tif_strip.c
gs/tiff/libtiff/tif_swab.c
gs/tiff/libtiff/tif_thunder.c
gs/tiff/libtiff/tif_tile.c
gs/tiff/libtiff/tif_unix.c
gs/tiff/libtiff/tif_version.c
gs/tiff/libtiff/tif_warning.c
gs/tiff/libtiff/tif_win3.c
gs/tiff/libtiff/tif_win32.c
gs/tiff/libtiff/tif_write.c
gs/tiff/libtiff/tif_zip.c
gs/tiff/libtiff/tiff.h
gs/tiff/libtiff/tiffconf.h.in
gs/tiff/libtiff/tiffconf.vc.h
gs/tiff/libtiff/tiffconf.wince.h
gs/tiff/libtiff/tiffio.h
gs/tiff/libtiff/tiffio.hxx
gs/tiff/libtiff/tiffiop.h
gs/tiff/libtiff/tiffvers.h
gs/tiff/libtiff/uvcode.h
gs/tiff/m4/acinclude.m4
gs/tiff/m4/libtool.m4
gs/tiff/m4/ltoptions.m4
gs/tiff/m4/ltversion.m4
gs/tiff/m4/lt~obsolete.m4
gs/tiff/man/Makefile.in
gs/tiff/man/TIFFClose.3tiff
gs/tiff/man/TIFFDataWidth.3tiff
gs/tiff/man/TIFFError.3tiff
gs/tiff/man/TIFFFlush.3tiff
gs/tiff/man/TIFFGetField.3tiff
gs/tiff/man/TIFFOpen.3tiff
gs/tiff/man/TIFFPrintDirectory.3tiff
gs/tiff/man/TIFFRGBAImage.3tiff
gs/tiff/man/TIFFReadDirectory.3tiff
gs/tiff/man/TIFFReadEncodedStrip.3tiff
gs/tiff/man/TIFFReadEncodedTile.3tiff
gs/tiff/man/TIFFReadRGBAImage.3tiff
gs/tiff/man/TIFFReadRGBAStrip.3tiff
gs/tiff/man/TIFFReadRGBATile.3tiff
gs/tiff/man/TIFFReadRawStrip.3tiff
gs/tiff/man/TIFFReadRawTile.3tiff
gs/tiff/man/TIFFReadScanline.3tiff
gs/tiff/man/TIFFReadTile.3tiff
gs/tiff/man/TIFFSetDirectory.3tiff
gs/tiff/man/TIFFSetField.3tiff
gs/tiff/man/TIFFWarning.3tiff
gs/tiff/man/TIFFWriteDirectory.3tiff
gs/tiff/man/TIFFWriteEncodedStrip.3tiff
gs/tiff/man/TIFFWriteEncodedTile.3tiff
gs/tiff/man/TIFFWriteRawStrip.3tiff
gs/tiff/man/TIFFWriteRawTile.3tiff
gs/tiff/man/TIFFWriteScanline.3tiff
gs/tiff/man/TIFFWriteTile.3tiff
gs/tiff/man/TIFFbuffer.3tiff
gs/tiff/man/TIFFcodec.3tiff
gs/tiff/man/TIFFcolor.3tiff
gs/tiff/man/TIFFmemory.3tiff
gs/tiff/man/TIFFquery.3tiff
gs/tiff/man/TIFFsize.3tiff
gs/tiff/man/TIFFstrip.3tiff
gs/tiff/man/TIFFswab.3tiff
gs/tiff/man/TIFFtile.3tiff
gs/tiff/man/bmp2tiff.1
gs/tiff/man/fax2ps.1
gs/tiff/man/fax2tiff.1
gs/tiff/man/gif2tiff.1
gs/tiff/man/libtiff.3tiff
gs/tiff/man/pal2rgb.1
gs/tiff/man/ppm2tiff.1
gs/tiff/man/ras2tiff.1
gs/tiff/man/raw2tiff.1
gs/tiff/man/rgb2ycbcr.1
gs/tiff/man/sgi2tiff.1
gs/tiff/man/thumbnail.1
gs/tiff/man/tiff2bw.1
gs/tiff/man/tiff2pdf.1
gs/tiff/man/tiff2ps.1
gs/tiff/man/tiff2rgba.1
gs/tiff/man/tiffcmp.1
gs/tiff/man/tiffcp.1
gs/tiff/man/tiffcrop.1
gs/tiff/man/tiffdither.1
gs/tiff/man/tiffdump.1
gs/tiff/man/tiffgt.1
gs/tiff/man/tiffinfo.1
gs/tiff/man/tiffmedian.1
gs/tiff/man/tiffset.1
gs/tiff/man/tiffsplit.1
gs/tiff/man/tiffsv.1
gs/tiff/port/Makefile.am
gs/tiff/port/Makefile.in
gs/tiff/port/dummy.c
gs/tiff/port/getopt.c
gs/tiff/port/libport.h
gs/tiff/port/strcasecmp.c
gs/tiff/port/strtoull.c
gs/tiff/test/Makefile.am
gs/tiff/test/Makefile.in
gs/tiff/test/ascii_tag.c
gs/tiff/test/bmp2tiff_palette.sh
gs/tiff/test/bmp2tiff_rgb.sh
gs/tiff/test/check_tag.c
gs/tiff/test/common.sh
gs/tiff/test/gif2tiff.sh
gs/tiff/test/images/README.txt
gs/tiff/test/images/logluv-3c-16b.tiff
gs/tiff/test/images/minisblack-1c-16b.tiff
gs/tiff/test/images/minisblack-1c-8b.pgm
gs/tiff/test/images/minisblack-1c-8b.tiff
gs/tiff/test/images/minisblack-2c-8b-alpha.tiff
gs/tiff/test/images/miniswhite-1c-1b.pbm
gs/tiff/test/images/miniswhite-1c-1b.tiff
gs/tiff/test/images/palette-1c-1b.tiff
gs/tiff/test/images/palette-1c-4b.tiff
gs/tiff/test/images/palette-1c-8b.bmp
gs/tiff/test/images/palette-1c-8b.gif
gs/tiff/test/images/palette-1c-8b.tiff
gs/tiff/test/images/rgb-3c-16b.tiff
gs/tiff/test/images/rgb-3c-8b.bmp
gs/tiff/test/images/rgb-3c-8b.ppm
gs/tiff/test/images/rgb-3c-8b.tiff
gs/tiff/test/long_tag.c
gs/tiff/test/ppm2tiff_pbm.sh
gs/tiff/test/ppm2tiff_pgm.sh
gs/tiff/test/ppm2tiff_ppm.sh
gs/tiff/test/rewrite_tag.c
gs/tiff/test/short_tag.c
gs/tiff/test/strip.c
gs/tiff/test/strip_rw.c
gs/tiff/test/tiff2pdf.sh
gs/tiff/test/tiff2ps-EPS1.sh
gs/tiff/test/tiff2ps-PS1.sh
gs/tiff/test/tiff2ps-PS2.sh
gs/tiff/test/tiff2ps-PS3.sh
gs/tiff/test/tiff2rgba-logluv-3c-16b.sh
gs/tiff/test/tiff2rgba-minisblack-1c-16b.sh
gs/tiff/test/tiff2rgba-minisblack-1c-8b.sh
gs/tiff/test/tiff2rgba-minisblack-2c-8b-alpha.sh
gs/tiff/test/tiff2rgba-miniswhite-1c-1b.sh
gs/tiff/test/tiff2rgba-palette-1c-1b.sh
gs/tiff/test/tiff2rgba-palette-1c-4b.sh
gs/tiff/test/tiff2rgba-palette-1c-8b.sh
gs/tiff/test/tiff2rgba-rgb-3c-16b.sh
gs/tiff/test/tiff2rgba-rgb-3c-8b.sh
gs/tiff/test/tiffcp-g3-1d-fill.sh
gs/tiff/test/tiffcp-g3-1d.sh
gs/tiff/test/tiffcp-g3-2d-fill.sh
gs/tiff/test/tiffcp-g3-2d.sh
gs/tiff/test/tiffcp-g3.sh
gs/tiff/test/tiffcp-g4.sh
gs/tiff/test/tiffcp-logluv.sh
gs/tiff/test/tiffcp-split-join.sh
gs/tiff/test/tiffcp-split.sh
gs/tiff/test/tiffcp-thumbnail.sh
gs/tiff/test/tiffcrop-R90-logluv-3c-16b.sh
gs/tiff/test/tiffcrop-R90-minisblack-1c-16b.sh
gs/tiff/test/tiffcrop-R90-minisblack-1c-8b.sh
gs/tiff/test/tiffcrop-R90-minisblack-2c-8b-alpha.sh
gs/tiff/test/tiffcrop-R90-miniswhite-1c-1b.sh
gs/tiff/test/tiffcrop-R90-palette-1c-1b.sh
gs/tiff/test/tiffcrop-R90-palette-1c-4b.sh
gs/tiff/test/tiffcrop-R90-palette-1c-8b.sh
gs/tiff/test/tiffcrop-R90-rgb-3c-16b.sh
gs/tiff/test/tiffcrop-R90-rgb-3c-8b.sh
gs/tiff/test/tiffcrop-doubleflip-logluv-3c-16b.sh
gs/tiff/test/tiffcrop-doubleflip-minisblack-1c-16b.sh
gs/tiff/test/tiffcrop-doubleflip-minisblack-1c-8b.sh
gs/tiff/test/tiffcrop-doubleflip-minisblack-2c-8b-alpha.sh
gs/tiff/test/tiffcrop-doubleflip-miniswhite-1c-1b.sh
gs/tiff/test/tiffcrop-doubleflip-palette-1c-1b.sh
gs/tiff/test/tiffcrop-doubleflip-palette-1c-4b.sh
gs/tiff/test/tiffcrop-doubleflip-palette-1c-8b.sh
gs/tiff/test/tiffcrop-doubleflip-rgb-3c-16b.sh
gs/tiff/test/tiffcrop-doubleflip-rgb-3c-8b.sh
gs/tiff/test/tiffcrop-extract-logluv-3c-16b.sh
gs/tiff/test/tiffcrop-extract-minisblack-1c-16b.sh
gs/tiff/test/tiffcrop-extract-minisblack-1c-8b.sh
gs/tiff/test/tiffcrop-extract-minisblack-2c-8b-alpha.sh
gs/tiff/test/tiffcrop-extract-miniswhite-1c-1b.sh
gs/tiff/test/tiffcrop-extract-palette-1c-1b.sh
gs/tiff/test/tiffcrop-extract-palette-1c-4b.sh
gs/tiff/test/tiffcrop-extract-palette-1c-8b.sh
gs/tiff/test/tiffcrop-extract-rgb-3c-16b.sh
gs/tiff/test/tiffcrop-extract-rgb-3c-8b.sh
gs/tiff/test/tiffcrop-extractz14-logluv-3c-16b.sh
gs/tiff/test/tiffcrop-extractz14-minisblack-1c-16b.sh
gs/tiff/test/tiffcrop-extractz14-minisblack-1c-8b.sh
gs/tiff/test/tiffcrop-extractz14-minisblack-2c-8b-alpha.sh
gs/tiff/test/tiffcrop-extractz14-miniswhite-1c-1b.sh
gs/tiff/test/tiffcrop-extractz14-palette-1c-1b.sh
gs/tiff/test/tiffcrop-extractz14-palette-1c-4b.sh
gs/tiff/test/tiffcrop-extractz14-palette-1c-8b.sh
gs/tiff/test/tiffcrop-extractz14-rgb-3c-16b.sh
gs/tiff/test/tiffcrop-extractz14-rgb-3c-8b.sh
gs/tiff/test/tiffdump.sh
gs/tiff/test/tiffinfo.sh
gs/tiff/test/tifftest.h
gs/tiff/tools/Makefile.am
gs/tiff/tools/Makefile.in
gs/tiff/tools/Makefile.vc
gs/tiff/tools/bmp2tiff.c
gs/tiff/tools/fax2ps.c
gs/tiff/tools/fax2tiff.c
gs/tiff/tools/gif2tiff.c
gs/tiff/tools/pal2rgb.c
gs/tiff/tools/ppm2tiff.c
gs/tiff/tools/ras2tiff.c
gs/tiff/tools/rasterfile.h
gs/tiff/tools/raw2tiff.c
gs/tiff/tools/rgb2ycbcr.c
gs/tiff/tools/sgi2tiff.c
gs/tiff/tools/sgisv.c
gs/tiff/tools/thumbnail.c
gs/tiff/tools/tiff2bw.c
gs/tiff/tools/tiff2pdf.c
gs/tiff/tools/tiff2ps.c
gs/tiff/tools/tiff2rgba.c
gs/tiff/tools/tiffcmp.c
gs/tiff/tools/tiffcp.c
gs/tiff/tools/tiffcrop.c
gs/tiff/tools/tiffdither.c
gs/tiff/tools/tiffdump.c
gs/tiff/tools/tiffgt.c
gs/tiff/tools/tiffinfo.c
gs/tiff/tools/tiffmedian.c
gs/tiff/tools/tiffset.c
gs/tiff/tools/tiffsplit.c
gs/tiff/tools/ycbcr.c
2012-06-09 01:16:35 +0100
Robin Watts <robin.watts@artifex.com>
63a26299f47bb9931a2b47772c95c38594535041
Update the example build line given at the top of bmpcmp.c
gs/toolbin/bmpcmp.c
2012-06-07 17:21:55 +0100
Robin Watts <robin.watts@artifex.com>
3cb19e101513e8fa99f86e959a493d7d57b9a69a
Indentation fixes, plus avoid SEGVs in low memory cases.
If allocations fail, spot that and return an error rather than
dereferencing NULL pointers.
gs/base/gdevp14.c
2012-06-08 15:51:43 +0100
Robin Watts <Robin.Watts@artifex.com>
e0fd2c6fe5cdba60e0252993319408ce8962afd3
Enable Memento to be used with jbig2dec
./configure as usual, then "make XCFLAGS=-DMEMENTO".
This involves duplicating memento within jbig2dec. We disable the GS
specific build hacks, and add just one more; if GSBUILD is defined
then jbig2 uses the version of memento from base, rather than the version
of memento from inside jbig2. This avoids any potential problems with
version skew.
gs/base/jbig2.mak
gs/jbig2dec/Makefile.in
gs/jbig2dec/jbig2.h
gs/jbig2dec/memento.c
gs/jbig2dec/memento.h
2012-06-08 13:02:43 +0100
Chris Liddell <chris.liddell@artifex.com>
d7d86ee955e58d18f4ff3071c0f41c4e3f75aaea
Update libpng to version 1.5.10
Minor build revisions to deal with new libpng version:
We copy the predefined pnglibconf.h into the build directory, and have
libpng include it from there (it's less invasive than running the libpng
configure script).
We have to use the same kind of compiler incantation as lcms.mak because
libpng 1.5.x suffers compatibility problems with /Za in Visual Studio
as lcms does.
Minor revision to XPS png reading code to cope with libpng 1.5.x API:
Primarily, the 1.5.x API has made the png_info data type opaque to the calling
code, so all access to the it contains *must* be done through function calls.
No cluster differences expected.
gs/base/png.mak
gs/libpng/ANNOUNCE
gs/libpng/CHANGES
gs/libpng/CMakeLists.txt
gs/libpng/INSTALL
gs/libpng/KNOWNBUG
gs/libpng/LICENSE
gs/libpng/Makefile.am
gs/libpng/Makefile.in
gs/libpng/README
gs/libpng/TODO
gs/libpng/Y2KINFO
gs/libpng/aclocal.m4
gs/libpng/arm/filter_neon.S
gs/libpng/autogen.sh
gs/libpng/config.guess
gs/libpng/config.h.in
gs/libpng/config.sub
gs/libpng/configure
gs/libpng/configure.ac
gs/libpng/contrib/README.txt
gs/libpng/contrib/gregbook/COPYING
gs/libpng/contrib/gregbook/Makefile.sgi
gs/libpng/contrib/gregbook/Makefile.unx
gs/libpng/contrib/gregbook/Makefile.w32
gs/libpng/contrib/gregbook/README
gs/libpng/contrib/gregbook/makevms.com
gs/libpng/contrib/gregbook/readpng.c
gs/libpng/contrib/gregbook/readpng2.c
gs/libpng/contrib/gregbook/readpng2.h
gs/libpng/contrib/gregbook/rpng-win.c
gs/libpng/contrib/gregbook/rpng-x.c
gs/libpng/contrib/gregbook/rpng2-win.c
gs/libpng/contrib/gregbook/rpng2-x.c
gs/libpng/contrib/gregbook/writepng.c
gs/libpng/contrib/libtests/pngvalid.c
gs/libpng/contrib/pngminim/README
gs/libpng/contrib/pngminim/decoder/README
gs/libpng/contrib/pngminim/decoder/gather.sh
gs/libpng/contrib/pngminim/decoder/makefile
gs/libpng/contrib/pngminim/decoder/pngusr.dfa
gs/libpng/contrib/pngminim/decoder/pngusr.h
gs/libpng/contrib/pngminim/encoder/README
gs/libpng/contrib/pngminim/encoder/dummy_inflate.c
gs/libpng/contrib/pngminim/encoder/gather.sh
gs/libpng/contrib/pngminim/encoder/makefile
gs/libpng/contrib/pngminim/encoder/pngusr.dfa
gs/libpng/contrib/pngminim/encoder/pngusr.h
gs/libpng/contrib/pngminim/preader/README
gs/libpng/contrib/pngminim/preader/gather.sh
gs/libpng/contrib/pngminim/preader/makefile
gs/libpng/contrib/pngminim/preader/pngusr.dfa
gs/libpng/contrib/pngminim/preader/pngusr.h
gs/libpng/contrib/pngminus/makefile.std
gs/libpng/contrib/pngminus/png2pnm.c
gs/libpng/contrib/pngsuite/README
gs/libpng/contrib/pngsuite/ftbbn1g04.png
gs/libpng/contrib/pngsuite/ftbbn2c16.png
gs/libpng/contrib/pngsuite/ftbbn3p08.png
gs/libpng/contrib/pngsuite/ftbgn2c16.png
gs/libpng/contrib/pngsuite/ftbgn3p08.png
gs/libpng/contrib/pngsuite/ftbrn2c08.png
gs/libpng/contrib/pngsuite/ftbwn1g16.png
gs/libpng/contrib/pngsuite/ftbwn3p08.png
gs/libpng/contrib/pngsuite/ftbyn3p08.png
gs/libpng/contrib/pngsuite/ftp0n1g08.png
gs/libpng/contrib/pngsuite/ftp0n2c08.png
gs/libpng/contrib/pngsuite/ftp0n3p08.png
gs/libpng/contrib/pngsuite/ftp1n3p08.png
gs/libpng/contrib/visupng/PngFile.c
gs/libpng/contrib/visupng/PngFile.h
gs/libpng/contrib/visupng/README.txt
gs/libpng/contrib/visupng/VisualPng.c
gs/libpng/contrib/visupng/VisualPng.dsp
gs/libpng/contrib/visupng/resource.h
gs/libpng/depcomp
gs/libpng/example.c
gs/libpng/install-sh
gs/libpng/libpng-1.2.42.txt
gs/libpng/libpng-1.2.44.txt
gs/libpng/libpng-config.in
gs/libpng/libpng-manual.txt
gs/libpng/libpng.3
gs/libpng/libpng.pc.in
gs/libpng/libpngpf.3
gs/libpng/ltmain.sh
gs/libpng/mkinstalldirs
gs/libpng/png.5
gs/libpng/png.c
gs/libpng/png.h
gs/libpng/pngconf.h
gs/libpng/pngdebug.h
gs/libpng/pngerror.c
gs/libpng/pnggccrd.c
gs/libpng/pngget.c
gs/libpng/pnginfo.h
gs/libpng/pngmem.c
gs/libpng/pngpread.c
gs/libpng/pngpriv.h
gs/libpng/pngread.c
gs/libpng/pngrio.c
gs/libpng/pngrtran.c
gs/libpng/pngrutil.c
gs/libpng/pngset.c
gs/libpng/pngstruct.h
gs/libpng/pngtest.c
gs/libpng/pngtest.png
gs/libpng/pngtrans.c
gs/libpng/pngusr.dfa
gs/libpng/pngvcrd.c
gs/libpng/pngwio.c
gs/libpng/pngwrite.c
gs/libpng/pngwtran.c
gs/libpng/pngwutil.c
gs/libpng/projects/beos/x86-shared.proj
gs/libpng/projects/beos/x86-shared.txt
gs/libpng/projects/beos/x86-static.proj
gs/libpng/projects/beos/x86-static.txt
gs/libpng/projects/cbuilder5/libpng.bpf
gs/libpng/projects/cbuilder5/libpng.bpg
gs/libpng/projects/cbuilder5/libpng.bpr
gs/libpng/projects/cbuilder5/libpng.cpp
gs/libpng/projects/cbuilder5/libpng.readme.txt
gs/libpng/projects/cbuilder5/libpngstat.bpf
gs/libpng/projects/cbuilder5/libpngstat.bpr
gs/libpng/projects/cbuilder5/zlib.readme.txt
gs/libpng/projects/netware.txt
gs/libpng/projects/owatcom/libpng.tgt
gs/libpng/projects/owatcom/libpng.wpj
gs/libpng/projects/owatcom/pngconfig.mak
gs/libpng/projects/owatcom/pngtest.tgt
gs/libpng/projects/owatcom/pngvalid.tgt
gs/libpng/projects/visualc6/README.txt
gs/libpng/projects/visualc6/libpng.dsp
gs/libpng/projects/visualc6/libpng.dsw
gs/libpng/projects/visualc6/pngtest.dsp
gs/libpng/projects/visualc71/PRJ0041.mak
gs/libpng/projects/visualc71/README.txt
gs/libpng/projects/visualc71/README_zlib.txt
gs/libpng/projects/visualc71/libpng.sln
gs/libpng/projects/visualc71/libpng.vcproj
gs/libpng/projects/visualc71/pngtest.vcproj
gs/libpng/projects/visualc71/zlib.vcproj
gs/libpng/projects/vstudio/libpng/libpng.vcxproj
gs/libpng/projects/vstudio/pnglibconf/pnglibconf.vcxproj
gs/libpng/projects/vstudio/pngtest/pngtest.vcxproj
gs/libpng/projects/vstudio/pngvalid/pngvalid.vcxproj
gs/libpng/projects/vstudio/readme.txt
gs/libpng/projects/vstudio/vstudio.sln
gs/libpng/projects/vstudio/zlib.props
gs/libpng/projects/vstudio/zlib/zlib.vcxproj
gs/libpng/projects/wince.txt
gs/libpng/projects/xcode/Info.plist
gs/libpng/projects/xcode/libpng.xcodeproj/.gitignore
gs/libpng/projects/xcode/libpng.xcodeproj/project.pbxproj
gs/libpng/scripts/README.txt
gs/libpng/scripts/checksym.awk
gs/libpng/scripts/chkfmt
gs/libpng/scripts/def.dfn
gs/libpng/scripts/descrip.mms
gs/libpng/scripts/libpng-config-head.in
gs/libpng/scripts/libpng-config.in
gs/libpng/scripts/libpng.icc
gs/libpng/scripts/libpng.pc-configure.in
gs/libpng/scripts/libpng.pc.in
gs/libpng/scripts/makefile.32sunu
gs/libpng/scripts/makefile.64sunu
gs/libpng/scripts/makefile.acorn
gs/libpng/scripts/makefile.aix
gs/libpng/scripts/makefile.amiga
gs/libpng/scripts/makefile.atari
gs/libpng/scripts/makefile.bc32
gs/libpng/scripts/makefile.beos
gs/libpng/scripts/makefile.bor
gs/libpng/scripts/makefile.cegcc
gs/libpng/scripts/makefile.cygwin
gs/libpng/scripts/makefile.darwin
gs/libpng/scripts/makefile.dec
gs/libpng/scripts/makefile.dj2
gs/libpng/scripts/makefile.elf
gs/libpng/scripts/makefile.freebsd
gs/libpng/scripts/makefile.gcc
gs/libpng/scripts/makefile.gcmmx
gs/libpng/scripts/makefile.hp64
gs/libpng/scripts/makefile.hpgcc
gs/libpng/scripts/makefile.hpux
gs/libpng/scripts/makefile.ibmc
gs/libpng/scripts/makefile.intel
gs/libpng/scripts/makefile.knr
gs/libpng/scripts/makefile.linux
gs/libpng/scripts/makefile.mingw
gs/libpng/scripts/makefile.mips
gs/libpng/scripts/makefile.msc
gs/libpng/scripts/makefile.ne12bsd
gs/libpng/scripts/makefile.netbsd
gs/libpng/scripts/makefile.nommx
gs/libpng/scripts/makefile.openbsd
gs/libpng/scripts/makefile.os2
gs/libpng/scripts/makefile.sco
gs/libpng/scripts/makefile.sggcc
gs/libpng/scripts/makefile.sgi
gs/libpng/scripts/makefile.so9
gs/libpng/scripts/makefile.solaris
gs/libpng/scripts/makefile.solaris-x86
gs/libpng/scripts/makefile.std
gs/libpng/scripts/makefile.sunos
gs/libpng/scripts/makefile.tc3
gs/libpng/scripts/makefile.vcawin32
gs/libpng/scripts/makefile.vcwin32
gs/libpng/scripts/makefile.watcom
gs/libpng/scripts/makevms.com
gs/libpng/scripts/options.awk
gs/libpng/scripts/png32ce.def
gs/libpng/scripts/pnglibconf.dfa
gs/libpng/scripts/pnglibconf.h.prebuilt
gs/libpng/scripts/pnglibconf.mak
gs/libpng/scripts/pngos2.def
gs/libpng/scripts/pngw32.def
gs/libpng/scripts/pngw32.rc
gs/libpng/scripts/pngwin.rc
gs/libpng/scripts/smakefile.ppc
gs/libpng/scripts/sym.dfn
gs/libpng/scripts/symbols.def
gs/libpng/scripts/symbols.dfn
gs/libpng/scripts/vers.dfn
gs/libpng/test-pngtest.sh
gs/libpng/test-pngvalid-full.sh
gs/libpng/test-pngvalid-simple.sh
xps/xpspng.c
2012-06-08 13:21:44 +0100
Robin Watts <robin.watts@artifex.com>
a85db51fecf74ba66bada63afece1799d58681ce
Update bmpcmp png reading to cope with 8bit grayscale pngs.
This used to work, but became broken with the device n support (when I
stripped out the 8bpp operating modes)
gs/toolbin/bmpcmp.c
2012-06-08 11:05:52 +0100
Ken Sharp <ken.sharp@artifex.com>
304d22a1744fa6ac07355703069cacd54f0c3ac4
Move 'HighLevelDevice' from pdfwrite to gdevvec.c so vector devices inherit it.
The 'HighLevelDevice' parameter was only defined for pdfwrite/ps2write, here
we remove it from there and instead put it in the 'vector' device, so that
all deices based on the vector device will have the paramter set.
No differences expected
gs/base/gdevpdfb.h
gs/base/gdevpdfp.c
gs/base/gdevpdfx.h
gs/base/gdevvec.c
2012-06-07 16:47:10 +0100
Ken Sharp <ken.sharp@artifex.com>
1c8138bc1db9b3627a2ba1047568c385568061d0
pdfwrite - fix handling of transparent images from PDF interpreter
The PDF interperter can insert extra groups when dealing with transparent
images, which we don't want to emit in the output PDF. These are marked
by a 'image_with_SMask' flag.
Previously we stored a boolean in the device structure, and tested that, if
it was true we skipped the begin and transparency group operations.
It turns out that it is possible to get a new group *inside* the generated
group we are skipping, if that happens then the second group would reset
the flag. This led to us skipping the 'begin' but not the 'end' with predictabley
bad consequences.
In this commit we alter the boolena to an unsigned int, and treat it as a
series of bits. We flip the bits based on the 'FormDepth' which we track
separately. This allows up to 32 levels of nesting which ought to be enough
to deal even with Cairo files.
Expected differences
Bug689897.pdf exhibits small differences, not visually apparent. I believe this
is a progression but its so slight as to be difficult to tell.
gs/base/gdevpdft.c
gs/base/gdevpdfx.h
2012-06-07 13:20:08 +0100
Robin Watts <robin.watts@artifex.com>
683bcefa2a8a05fb57d2d0d2d7aebf16de6bd11d
Add new '--debug=gc-disable' flag to completely disable gc.
Because I don't have any more hair to pull out.
gs/base/gdbflags.h
gs/psi/interp.c
2012-06-06 23:02:15 +0100
Robin Watts <robin.watts@artifex.com>
eb4f815d9b21a42280acb7ad2447ce69577b4ae5
Fix pdf14_push_transparency_state stack handling.
Rather than creating a new mask and adding it as the previous one,
we should be making the new mask the topmost one on the stack.
This way pop and push correctly do the opposite thing.
gs/base/gdevp14.c
2012-06-06 17:16:53 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
6d24d5b9135f8ef6aa4da51a03952d5b39beb59a
Bug 693050 : Fixes CERT reported issue labelled HeapError
gs/jbig2dec/jbig2.c
gs/jbig2dec/jbig2_image.c
gs/jbig2dec/jbig2_metadata.c
gs/jbig2dec/jbig2_priv.h
gs/jbig2dec/jbig2_symbol_dict.c
gs/jbig2dec/jbig2_text.c
2012-06-06 10:48:44 +0100
Chris Liddell <chris.liddell@artifex.com>
a0c6b9f271d715f122c01fc0fbbfd8d6cdf9c372
Bug 693002 (again): fix doc and example file install list
There were a number of missing files from the Unix install targets for
the documentation and example files. Also, there were a few files in the
list which no longer exist.
No cluster differences.
gs/base/unixinst.mak
2012-06-06 09:23:57 +0100
Chris Liddell <chris.liddell@artifex.com>
07799bffd70992116da89ed4d1717ce441f71461
Bug 693094 related: missing libtiff build failure.
If libtiff is missing, we correctly disabled the devices classified as
"tiff devices", but left the "fax devices" in place, and the fax devices
depend on libtiff.
We'll now disable *all* the libtiff dependent devices if libtiff is not found.
No cluster differences.
gs/base/configure.ac
2012-06-06 09:38:39 +0100
Ken Sharp <ken.sharp@artifex.com>
cf75bee36e3a42f1bc253563a11169b47b92d307
pdfwrite - don't write CIDSet for subset CIDFonts when emitting PDF/A-2
The specification for CIDSet has changed for PDF/A-2 and I am currently
unable to create a CIDSet which the Acrobat pre-flught tool will validate.
Since PDF/A-2 now makes CIDSet optional, this commit omits it when we are
producing PDF/A-2, so that we can create a valid file.
No differences expected
gs/base/gdevpdtd.c
2012-06-05 17:44:16 -0600
Henry Stiles <henry.stiles@artifex.com>
5fdae25deb3fa189f9d01a573fa77c2ec0f968ba
Complete support for HPGL/2 new fill code, bug 692809.
The new implementation which eliminates many unnecessary "moveto's"
resulted in unexpected improvements in several CET files where
creating a new subpath caused a join to be missing.
pcl/pgdraw.c
pcl/pgdraw.h
pcl/pgpoly.c
pcl/pgvector.c
2012-05-31 15:23:12 -0600
Henry Stiles <henry.stiles@artifex.com>
d303c79851b02aa810525bdaa4751c8247b66912
A new state variable added that indicates if a high level device is in use.
pcl/pcstate.h
pcl/pctop.c
pl/plmain.c
pl/plmain.h
pl/pltop.h
2012-05-19 16:53:26 -0600
Henry Stiles <henry.stiles@artifex.com>
8cbdd395e653227966a682b9b2de869565b49b5e
Fixes 693049 - incorrect ccitt raster output.
The CCITT filter was initialized to an additive color space instead of
subtractive. Problem analyzed by Shailesh Mistry.
pcl/rtraster.c
2012-05-16 15:26:11 -0600
Henry Stiles <henry.stiles@artifex.com>
868eda64307dabd30e308e07962346ef5991d3e3
Changes to support the new fill code which allows filling when the pen is up.
With the graphics library implementation of the hpgl/2 style fill code
it is necessary to avoid unnecessary consecutive moveto's which were
harmless in the previous code. In particular, closepath works
differently if there are 2 or more consecutive moveto's. Using normal
PostScript style paths the closepath will return to the last moveto in
the path, the new code will convert a consecutive moveto to "gapto"
and retain the first moveto and closepath will return to the original
moveto.
pcl/pgconfig.c
pcl/pgdraw.c
pcl/pglabel.c
pcl/pgpoly.c
pcl/pgvector.c
2012-05-07 07:45:46 -0600
Henry Stiles <henry.stiles@artifex.com>
c89c0b750594deac1b091776d18a9f0ed718ab60
Debugging for dumping data from PCL commands that specify byte data
and a data length.
pcl/pcparse.c
2012-05-18 15:29:05 -0700
Ray Johnston <ray.johnston@artifex.com>
3e81e6caf112d59e31c17924ee89d7f3abddd7b1
Fix bug 693034 -- correct comment in gxdevcl.h for GX_CINFO_UNKNOWN_SEP_LIN
gs/base/gxdevcli.h
2012-06-05 16:39:39 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
54144189c8093c5c09d2f50d8cd57abc34ddd385
Bug 693025 : Correct memory leaks reported by Zeniko
gs/jbig2dec/jbig2_symbol_dict.c
2012-06-05 09:48:58 +0100
Chris Liddell <chris.liddell@artifex.com>
ad53769b1d690e790750f01bd6420fb2b8b76279
Bug 693088: fix romfs?.dev dependency typo
The two romfs?.dev targets had ECHO_XE in their dependencies, and it shouldbe
ECHOGS_XE.
No cluster differences.
gs/base/lib.mak
2012-06-04 17:02:46 +0100
Robin Watts <robin.watts@artifex.com>
5b52e4534a2a7b9bc5d19a749df60e636ac4aa65
Tweak filenames from RAW_DUMP debugging code.
Output 2 digits before ")".
In multistage output, put 'a', 'b', 'c' etc after ")" to ensure
that they appear in alphasorted results in the same order as they
are produced.
gs/base/gdevp14.c
gs/base/gxblend.c
gs/base/gxblend1.c
2012-06-04 15:22:57 +0100
Ken Sharp <ken.sharp@artifex.com>
316a85cd0c7311716e85dc8f5ab32e36301e829c
pdfwrite - Make sure TT fonts in PDF files are named using the PDF font name
Bug #693086
The problem was that the TrueType code used by the PDF interpreter uses the
font name from the TrueType font, not the name from the PDF file. If two
subsets are present then pdfwrite is unable to distinguish them if the
Encodings are apparently the same (as they are here) as the fonts have have
the same name internally, even though they are different in the PDF.
TrueType CIDFonts already take the font naem form the PDF file and apply that
so here we simply do the same for regular TrueType fonts.
This causes a small difference in Bug689073.pdf, apparently becuase it
contains two fonts called Arial,Bold
gs/Resource/Init/gs_ttf.ps
gs/Resource/Init/pdf_font.ps
2012-06-03 13:37:58 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
a6e24b063febdc3286015e94854cac156e70e2f1
Rename pdf_open_document() to pdfwrite_pdf_open_document() to avoid a
name conflict with mupdf.
gs/base/gdevpdf.c
gs/base/gdevpdfp.c
gs/base/gdevpdfu.c
gs/base/gdevpdfx.h
2012-06-01 11:50:32 -0700
Michael Vrhel <michael.vrhel@artifex.com>
c7aeb590a7a435d746a9400a15f8392746ac53c4
Addition of capability for overprint simulation for CMYK colorants with RGB target device
To have an RGB device do this simulation of CMYK overprinting you should have the device set
its opmode in color info from GX_CINFO_OPMODE_UNKNOWN to GX_CINFO_OPMODE_RGB. In addition,
to ensure consistent color in the document you should use the -dUseFastColor option since
simulated RGB overprinting uses unmanaged color transformations.
The fix required the addition of a compositor parameter which was a k value to be make use
when we had K overprinting occurring.
To port this fix to an earlier ghostscript release (pre-ICC) you will want to create a
gx_set_overprint_DeviceRGB procedure for the gs_color_space_type_DeviceRGB type. This will
be similar to gx_set_overprint_DeviceCMYK except it will end up calling gx_set_overprint_rgb
instead of gx_set_overprint_cmyk. See changes in gsicc.c.
gs/base/gscdevn.c
gs/base/gscsepr.c
gs/base/gscspace.c
gs/base/gsicc.c
gs/base/gsovrc.c
gs/base/gsovrc.h
gs/base/gxcspace.h
gs/base/gxdevcli.h
gs/base/gxoprect.c
gs/base/gxoprect.h
2012-06-01 20:11:09 +0100
Robin Watts <robin.watts@artifex.com>
20e81025390c8487cb9794b37148f4bee9063bdc
Update RAW_DUMP_AS_PAM to cope with tag planes, and greyscale spaces.
gs/base/gxblend.c
2012-06-01 09:21:38 -0700
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
b1558100af4820b8718e7e346c3225d48eecf07c
Fix minor typo in German man page - Bug 693080
gs/man/de/pdf2dsc.1
2012-05-31 17:51:51 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
9cddb4c193c6123140c6f7b1960db34025f86e40
Bug 693025: Correct typos reported by Zeniko
gs/jbig2dec/jbig2_huffman.c
gs/jbig2dec/jbig2_symbol_dict.c
2012-05-31 14:43:11 +0100
Ken Sharp <ken.sharp@artifex.com>
da9b12c5056369c5593d5b3604e787052fdd2f13
pdfwrite - properly mark cos_stream as closed when closing associated stream
Bug #6930 "Regression: /rangecheck in --pdfmark-- starting with 25b6a2cdeb5a90bb7803958f2bf15b618fbcf120"
Commit 25b6a2cdeb5a90bb7803958f2bf15b618fbcf120 was a little too
enthusiastic. In addition to properly closing the streams, I inadvertently
removed the code which marks the pdfwrite cos_stream object as closed when
we close the stream.
Ordinarily this doesn't matter, but the pdfmark code checks to maek sure the
stream associated with a named object is closed when it is used, and the
removal of the code left it apparently open, causing the error.
No differences expected
gs/base/gdevpdti.c
2012-05-31 10:59:03 +0100
Ken Sharp <ken.sharp@artifex.com>
33dda0841be40cc8da9f350d10749ce8f4142fb7
pdfwrite - memory problems, don't free dictionary parameter lists too early
Bug #693069 "Regression: lockup with pdfwrite"
The image dictioanry parameter lists for distillerparams were being freed
after they were added to the 'parent' parameter list. If the same memory
should then be reused for another parameter, the parent list would end up
with corrupted linked list pointers leading to a variety of problems
includign seg faults and loops.
Although this appears as a regression its not really. The existing code only
worked by fluke, all that the offending commit did was change he memory
layout, triggering the problem.
My initial feeling was that the c_param_write code should 'deep copy' dict
parameters, just as it does for other complex objects. However reviewing the
existing usage makes it clear that this is *not* what is done at present.
Instead the list is simply inserted, and only freed when the parent list is
released. This seems to me to be poor design, because other complex types
are handled differntly, but that's the way it is. Copying the dictionary
would mean reviewing all the places that use it and modifying them. It
makes more sense to alter the pdfwrite code so that it doesn't release and
free the dictioanry list.
Took the opportunity to refactor a few places in the code which use massive
'if' clauses which call code. This construct is confusing and difficult to
debug.
No expected differences
gs/base/gdevpsdp.c
2012-05-30 17:42:29 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
c579ff60fd8f7a83d46a87ed0813536871c4d13e
Bug 693050 : Fixes CERT reported issue labelled DestAvNearNull
gs/jbig2dec/jbig2_image.c
gs/jbig2dec/jbig2_page.c
gs/jbig2dec/jbig2_symbol_dict.c
gs/jbig2dec/jbig2_text.c
2012-05-29 11:04:55 -0700
Michael Vrhel <michael.vrhel@artifex.com>
9623d013b27cd25257fa21ddb7d2df9c75f3e52d
Fix for mistake in hashcode setting for CMM used with UseFastColor option
Fixes bug 693036
gs/base/gsicc_cache.c
gs/base/gsicc_nocm.c
2012-05-28 13:05:00 +0100
Robin Watts <robin.watts@artifex.com>
f30e8944b915936befffbadc036e1de16659914e
Add 16bpp support to downscaler.
Currently unused, but passes local tests with James Cloos' proposed
psdcmyk16 and psdrgb16 devices.
gs/base/gdevpsd.c
gs/base/gdevtsep.c
gs/base/gxdownscale.c
gs/base/gxdownscale.h
2012-05-27 23:35:06 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
c3c704eeab14e5d6401edd69867b06c812ce8f5a
Bug 693050 : Fixes CERT reported issue labelled BranchAvNearNull
gs/jbig2dec/jbig2_symbol_dict.c
2012-05-27 22:47:02 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
321055631457902050df08e645b0f91536cdd417
Bug 693050 : Fixes CERT reported issue labelled BlockMoveAv
gs/jbig2dec/jbig2_symbol_dict.c
2012-05-27 21:43:27 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
fb006f93c6fb6278a58886e0f72a5836c674ed22
Bug 693050 : Fixes CERT reported issue labelled SegFaultOnPc
gs/jbig2dec/jbig2_generic.c
gs/jbig2dec/jbig2_image.c
2012-05-26 09:07:54 +0100
Ken Sharp <ken.sharp@artifex.com>
13922518fea2f417ff2d2dfa153c95396616e8ae
pdfwrite - remove unused variable to silence compiler warning
Although the warning is flagged as new, I don't think it is, its just that
the variable declaration has moved to a new line as a result of a commit
and so it appears to be new.
In any event, the variable is unused and has been removed.
gs/base/gdevpsf1.c
2012-05-25 17:55:31 +0100
Robin Watts <robin.watts@artifex.com>
fad17657f6f583dbdef5a634d0f11dd79e446ffe
Bug 693070: psdrgb wasn't giving corrupted output.
There were actually 2 bugs in here. The first one was spotted and
fixed by James Cloos - many thanks; the arguments to memcpy were
reversed.
The second one was to do with the fact that postscript operation
now thinks it has 14 colors. When we encode/decode, we were packing
the colors into a word in such a way that we were losing the interesting
ones off the top. Reverse the order of packing, and all is well.
This still leaves an "interesting" fact about this device; we loop:
for (chan_idx = 0; chan_idx < num_comp; chan_idx++)
...
for (j = 0; j < xc->height; j++)
...
get_bits_rectangle
So, in the case where we have n components, and more than 1 band
we'll be rendering the entire file n times - despite the fact that
we request all the colors each time!
gs/base/gdevpsd.c
2012-05-25 16:35:19 +0100
Robin Watts <robin.watts@artifex.com>
1c9e30044d1d698701091c9913a81e4b3688a134
Add new -debug=validate-chunks debug flag.
This causes a validation to be run after every operator is interpreted.
Also, update the chunk validation code to give more informative error
messages when problems are found. (For instance, if a reference is
found to be duff, it's often the source of that reference you are
interested in, not the reference itself).
gs/base/gdbflags.h
gs/base/gsmisc.c
gs/psi/ialloc.h
gs/psi/ilocate.c
gs/psi/interp.c
gs/psi/zvmem.c
2012-05-25 14:12:37 +0100
Ken Sharp <ken.sharp@artifex.com>
c6f9e998b9ab277f85815b927a841c26c507928a
pdfwrite - fix /OtherSubr stripping with Multiple Master fonts
Commit:
9f656faebac150c6aceca16c5ef6a78b92b6da43
exposed a problem with this code, when we are stripping /OtherSubrs from MM
fonts, the new CharString could be larger than the original (this can't
happen for non-MM fonts). Because we only allocated a buffer big enough to
hold the original (unstripped) data, we ended up with a buffer overflow.
The code now calls the 'strip' routine twice, the first time to calculate
how big a buffer will be required, the second time to actually do the work.
This will fix the crash in test-setweightvector.ps introduced by the
earlier commit
gs/base/gdevpsf1.c
2012-05-25 14:08:52 +0100
Ken Sharp <ken.sharp@artifex.com>
9f656faebac150c6aceca16c5ef6a78b92b6da43
pdfwrite - address problems with stringwidth and composite fonts
Bug #693059 "Asian fonts placed badly with pdfwrite output"
The problem here was caused by the way that pdf_process_string deals with 'widths'
when responding to a strginwidth operation versus a regular show.
When handling stringwidth the width of each glyph is added to the enumerator
'returned.total_width'. However, when handling a regular show, the width of
the glyphs are simply stored directly into 'returned.total_width'.
To handle the latter case the higher level code maintains its own total width
but that was getting confused when a stringwidth was used.
Ideally we would fix pdf_process_string to behave the same whether in response
to a stringwidht or a show, but that routine is called from other places and
making it coherent looks difficult. Instead we now process stringwidth
differently form show, and don't accuulate wodths when we have a steingwidth
operation in the higher level composite font code routines.
No differences expected
gs/base/gdevpdtc.c
2012-05-24 09:03:09 +0100
Robin Watts <robin.watts@artifex.com>
e21f69e10ddd68ea807773a8b57e10d23bd74a4f
Fix a couple of error messages in bmpcmp
gs/toolbin/bmpcmp.c
2012-05-23 15:53:53 +0100
Robin Watts <robin.watts@artifex.com>
e13b5cf5b8c7db67f88c5da62eeb8c8a4d077436
Update psdcmyk and psdrgb to use the downscaler.
gs/base/gdevpsd.c
gs/base/gdevtsep.c
2012-05-23 10:18:56 +0100
Robin Watts <robin.watts@artifex.com>
27afc73a71b9c059b9d5358ed816cdf50e0a1f08
Fix 2 'unused variable' warnings in downscaler.
gs/base/gxdownscale.c
2012-05-22 20:42:31 +0100
Robin Watts <robin.watts@artifex.com>
ce801afb90764b4863dab9e51bc18082222fb3ce
Unroll some loops in the downscaler for speed.
Time to render first 10 pages of pdf_reference17.pdf to tiff:
@200dpi = 5.2s
@600dpi downscaled by 3 = 7.2s (before this)
@600dpi downscaled by 3 = 6.5s (after this)
gs/base/gxdownscale.c
2012-05-22 13:35:31 +0100
Robin Watts <robin.watts@artifex.com>
15cc33536ada0b4cb105110a48df0132539c54db
Add downscaler functionality to tiffsep.
Update tiffsep to call the downscaler. This means adding MinFeatureSize
and DownScaleFactor to tiffsep. Also add BitsPerComponent to allow us to
specify 8 (default) or 1 (monochrome). MinFeatureSize is ignored except
in monochrome mode.
This has meant slight reworking of the downscaler to cope with planar
buffers, and its use of get_bits_rectangle rather than get_bits.
Also updated docs, and fixed some leaks on memory allocation failures
within tiffsep.
gs/base/gdevtsep.c
gs/base/gxdownscale.c
gs/base/gxdownscale.h
gs/base/lib.mak
gs/doc/Devices.htm
2012-05-21 08:54:59 +0100
Ken Sharp <ken.sharp@artifex.com>
4677f28c2a0bf72a6bc89e785cc651d3deedc043
txtwrite - Bug #693046 handle TEXT_FROM_CHARS and TEXT_FROM_SINGLE_CHAR ops
I seem to have overlooked these operations when writing the original code,
probably because I couldn't' find any test cases. However PCL seems to make
extensive use of them, and the lack of code causes access outside array
boundaries.
Fixed here in a simplistic fashion, which seems to work well.
No differences expected, txtwrite is not cluster tested
gs/base/gdevtxtw.c
2012-05-20 16:31:14 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
535d11e8a1d667a3d71680b27f18e4a89df98b2d
Bug 693044: fix pdfopt utility.
Disable checking for the max pdf object number during PDF linearisation,
because linearisation adds a few new objects to the PDF file.
gs/lib/pdfopt.ps
2012-05-18 14:32:56 +0100
Ken Sharp <ken.sharp@artifex.com>
40cc976eae680d6a6f1297c5a0d556a37e9eb4b8
txtwrite - clean up some benign silly compiler warnings
gs/base/gdevtxtw.c
2012-05-18 12:56:17 +0100
Ken Sharp <ken.sharp@artifex.com>
44869447f94a15ae0082b89668576636e4c39575
txtwrite - add a 'do nothing' rop device method to avoid errors
gs/base/gdevtxtw.c
2012-05-16 14:55:02 +0100
Robin Watts <robin.watts@artifex.com>
1831d329606c767069dbc706632c4b30db4488ce
Attempt to fix dashing in hpgl path mode.
We were giving up dashing as soon as we hit the first gap in a path.
Fix by treating gaps as an 'ink off' dash segment.
gs/base/gxpdash.c
2012-05-16 18:22:38 +0100
Robin Watts <robin.watts@artifex.com>
422773777f1e6df2fd4decb3ca6b65801acfc1ac
Update bmpcmp to cope with rgb and greyscale psd files.
Also have a better stab at handling spot equivalent colors.
CLUSTER_UNTESTED.
gs/toolbin/bmpcmp.c
2012-05-15 20:00:19 +0100
Robin Watts <robin.watts@artifex.com>
8610551db7cc10c72d7a6bbfaa7ffe61d521a5d9
Memento tweak: Allow MEMENTO_LEAKONLY to be defined by command line
Currently Memento undefines MEMENTO_LEAKONLY at the top of memento.c.
Change it here not to do that, so it can be supplied as part of a
CFLAGS or XCFLAGS line.
CLUSTER_UNTESTED.
gs/base/memento.c
2012-05-15 19:44:50 +0100
Robin Watts <robin.watts@artifex.com>
a846030605e04c09265241853ed5ac3442c258e9
Leak checking tweaks; memory finalisation and param handling
When Ghostscript shuts down, it closes its malloc handler, which frees
all the outstanding blocks it knows about. This is unhelpful behaviour
when checking for leaks, so we disable this freeing in MEMENTO builds.
Also, the Ghostscript arg handling code is quite keen on 'arg_copy'ing
args only to pass them into routines that immediate copy them again
into heap allocated buffers. These copies are then allowed to leak.
Where it is obviously safe, avoid these copies. Where it's not so clear
free them (using a new arg_free function).
gs/base/gsargs.c
gs/base/gsargs.h
gs/base/gsmalloc.c
gs/psi/imainarg.c
2012-05-15 18:22:06 +0100
Robin Watts <robin.watts@artifex.com>
b549f7df132df28783e34ef6839812b691c9eed5
Bug 693039: Fix Memento crashes
After reallocing a block, it is best to avoid reading from the old
location. (Read flags, then realloc, then write flags).
Also some minor tweaks to avoid warnings etc.
gs/base/memento.c
2012-05-15 12:10:14 +0100
Chris Liddell <chris.liddell@artifex.com>
be37389c29534ffd9ce6bb31353f4f8c0273bfd3
Add a bunch of derived files to .gitignore
CLUSTER_UNTESTED
.gitignore
2012-05-15 12:08:18 +0100
Chris Liddell <chris.liddell@artifex.com>
676ca45571121495de22c02ac7b03da14f75525c
Call libtiff configure from ghostpdl configure.
We had worked around the lack of a ghostpdl configure script by calling the
libtiff configure from the Makefile - which is a horrible hack.
Now that ghostpdl has a configure script, we can do the right thing, and call
the libtiff script from the ghostodl one.
No cluster differences.
Makefile
configure.ac
2012-05-14 21:00:46 +0100
Chris Liddell <chris.liddell@artifex.com>
827e5420e2d0b3c1bb3b9e656c27236ac650eacc
Really remove derived files from jbig2dec directory
No cluster differences.
gs/jbig2dec/config.h
gs/jbig2dec/libtool
2012-05-14 18:08:00 +0100
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
26ac0d3505530c6782dffeeaa053328a481afcb0
Bug 693025: Updated patch from Zeniko to fix various crashes and leaks
gs/jbig2dec/jbig2_halftone.c
gs/jbig2dec/jbig2_huffman.c
gs/jbig2dec/jbig2_image.c
gs/jbig2dec/jbig2_refinement.c
gs/jbig2dec/jbig2_segment.c
gs/jbig2dec/jbig2_symbol_dict.c
gs/jbig2dec/jbig2_text.c
2012-05-14 14:26:24 +0100
Ken Sharp <ken.sharp@artifex.com>
2699766796d407f04e790ca1374f68be00532847
remove an unused variable to silence a compiler warning
gs/base/gdevpdtt.c
2012-05-14 13:35:51 +0100
Ken Sharp <ken.sharp@artifex.com>
8ea8d0df81d2552a3470bbf708b91fb4467a5be2
pdfwrite - memory fixes. don't track pdf_font_cache in GS fonts
pdfwrite maintains a 'font cache' of PDF font objects which are related to
GS fonts. Previously these were tracked by adding a pointer to the GS font,
and freeing the memory when the font was unloaded, by using the gs_notify_register
callback.
This causes problems when we are in 'file per page' mode. We want to discard
and rebuild the font cache at the end of each page, so we don't try to
reuse font objects. But if we discard the memory, the font is still pointing
at it. This causes later memory problems.
The simplest solution is to stop tracking the elements in the GS fonts. This
means that an element will persist and be stale after the font goes out of
scope, but its a fairly small amount of memory per font. We now clean up the
PDF font cache and all the elements in pdf_close along with all the other memory.
The 'file per page' mode using the '-sOutputFilename=%d.pdf' syntax now seems
to work correctly. There does not seem to be any great amount of memory leakage
now either.
The next step is to implement a 'server' mode application and use that to
check that there are no remaining memory leaks
No differences expected
gs/base/gdevpdtt.c
2012-05-11 09:57:23 -0700
Ray Johnston <ray.johnston@artifex.com>
6b31a6466c0819db229cbde420c72789eecdbe2d
Add missing part of commit to prevent access to freed memory.
Somehow when applying this part of the reverted patch, this line (the
one that actually prevented the access to freed memory) was missed.
gs/base/gsicc_profilecache.c
2012-05-11 16:33:53 +0100
Ken Sharp <ken.sharp@artifex.com>
f9c1df276e998fc754d5c0e416c606cc5404a495
pdfwrite - memory clean up. Clear outlines
The outline objects are released in write_outline, but the entries in the
device were not previously cleared leaving them pointing to freed memory.
gs/base/gdevpdf.c
2012-05-11 11:38:32 +0100
Ken Sharp <ken.sharp@artifex.com>
08d715446bb97015d16e085aa8f8c4bd8f73c2cc
pdfrite - memory cleanup, free Annotations
Annotations weren't being freed along with their enclosing Page structure
Add some comments about what is stored where, and when it is released, in
a few places
gs/base/gdevpdf.c
gs/base/gdevpdtt.c
2012-05-10 13:24:15 -0700
Michael Vrhel <michael.vrhel@artifex.com>
54ecaf86c6fa0c4a31fb17e0c21361cb134ec376
CIELAB vector and CIELAB images have to use a slightly different remap proc.
The image data is already scaled as needed for the ICC code to handle directly.
Vector colors require the decode from real CIELAB values. This fix was missing
in the in image interpolation code. Fix for Bug 692885
gs/base/gxiscale.c
gs/base/lib.mak
2012-04-11 15:07:43 -0700
Michael Vrhel <michael.vrhel@artifex.com>
79925e26467289515d4cf499d2c3a2d3b1cdcaa4
Delay of obtaining handles from CMM for default profiles
Obtaining the profiles handles for all the default profiles in
the ICC manager eats up a tiny amount of time on startup. For
some customers that start and stop gs over and over instead of
running in server mode, this startup time is an issue. This
fix performs the initialization in a lazy manner, obtaining the
profile handle only when finally needed.
This commit also fixed some issues with images that are in the
LAB color space.
gs/base/gdevp14.c
gs/base/gscdevn.c
gs/base/gscsepr.c
gs/base/gsicc.c
gs/base/gsicc.h
gs/base/gsicc_cache.c
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
gs/base/gstrans.c
gs/base/gxclimag.c
gs/base/gxcmap.c
gs/base/gxicolor.c
gs/base/lib.mak
2012-05-09 22:01:46 -0700
Ray Johnston <ray.johnston@artifex.com>
c6d74690be87eb37ca5b4590ed6b44673e4125c7
Fix bug 692372 and bug 693001 to free semaphores without leaking memory.
The original fix (fe8d7b6) for 692372 released the semaphores, but resulted
in memory leaks of many other parts of the imager state. The leak was fixed
by reverting the above change. This change insures that sempahores are not
leaked by adding 'finalization' to the icc_linkcache and icc_link structs.
gs/base/gsicc_cache.c
gs/base/gsistate.c
gs/base/gsstruct.h
2012-05-09 09:56:00 -0700
Ray Johnston <ray.johnston@artifex.com>
055ed5f7a69ad5cf4181cf337abf2245df668c01
Prevent reference to freed memory when freeing the profile cache.
gs/base/gsicc_profilecache.c
2012-05-09 09:51:11 -0700
Ray Johnston <ray.johnston@artifex.com>
af974d1bd4b4f0470e77d28eb0cdcb72def2de76
Revert "Fix bug 692372: Add finalize for imager_state to ref_count decrement icc structs."
This reverts commit fe8d7b6aebfed3c724a860e31ff170764d5429dc.
This commit resulted in a subsantial memory leak detected with PCL. See
bug 693001. The finalization should be for the icc structs that have
semaphores.
gs/base/gsicc_profilecache.c
gs/base/gsistate.c
gs/base/gsstate.c
gs/base/gxistate.h
gs/base/gzstate.h
2012-05-09 13:07:39 +0100
Chris Liddell <chris.liddell@artifex.com>
0ee6bd45c59c2ae99ec30cba4dae22d1f2e20dc4
Remove a couple of derived files from jbig2dec.
No cluster differences.
gs/jbig2dec/libtool
2012-05-09 09:52:11 +0100
Ken Sharp <ken.sharp@artifex.com>
a32c42253c299d55d44ad39ba3d998fcebbef7ba
pdfwrite - memory cleanup; use correct allocater, don't free tracked object
Previously the code to free font resources was using the wrong memory
allocator to free some objects, fixed here.
It also seems that, contrary to what I thought Function resources *are*
tracked by 'last_resource' in teh pdfwrite device structure. So its important
not to free those twice.
No differences expected
gs/base/gdevpdf.c
gs/base/gdevpdtf.c
2012-05-07 19:14:28 +0100
Chris Liddell <chris.liddell@artifex.com>
365df54880adff1bd0b7d983c440fb518250c9f0
Fix a warning in zfapi.c
No cluster differences.
gs/psi/zfapi.c
2012-05-07 17:47:33 +0100
Robin Watts <robin.watts@artifex.com>
949993da66cd9850ce47c7319465aed42585b261
Tweak bmpcmp error message
gs/toolbin/bmpcmp.c
2012-05-07 16:34:51 +0100
Chris Liddell <chris.liddell@artifex.com>
fee1ab3e7e38c3e2bd82a855d7bdec2c18751320
Bug 693023: fix $Blend in Type 1 font serialization
When serializing a MultipleMaster font, we were writing both a 'boiler plate'
$Blend procedure, and a broken $Blend from the font dictionary - broken because
the code to read the procedure from the dictionary ignored name objects.
In general, this was fine, as all the current FAPI scalers ignore the $Blend.
A problem arose because the code which calculated size of the procedure did
handle PS name objects, so we ended up with unitialized bytes trailing the
dictionary data, which could cause the scaler to error.
No cluster differences.
gs/psi/write_t1.c
gs/psi/zfapi.c
2012-05-03 12:13:06 -0700
Michael Vrhel <michael.vrhel@artifex.com>
7b81312d205a2f9b89f40da4b4f6b67bcacd8ef1
Fix for issues in use of /SeparationOrder and /SeparationColorNames
Several issues and quite a bit of confusion in the code with respect
to this option. I believe this should clear some things up.
Documentation still needs to be updated as to how this option functions
and what devices it actually works with. Note that
SeparationOrder and SeparationColorNames really only works for the
tiffsep device. The psdcmyk device was never really set up for use
with this option. Not sure if we want to add it. Also, I discovered
that with the disabling of compressed color encoding, the tiffsep1
device renders incorrectly. I had not converted this device to planar
as I had thought that it performed halftoning during rendering. I
did not realize it was rendering 8 bit data and then doing
a thresholding operation. We may want to just move this to a planar
based device. In that case, we could use the fast planar halftoning.
Note that with this fix, the device will only create output for the
colorants listed in /SeparationOrder. The psdcmyk device was not
making use of the /SeparationOrder information properly. It is now
which makes for some different renderings in the ps3cet/29-07*.ps test
files which exercise /SeparationOrder changes. In such a case, the
device will not output any missing colorants, which previously
it was doing.
gs/base/gdevdevn.c
gs/base/gdevpsd.c
gs/base/gdevtsep.c
2012-05-05 11:21:31 +0100
Ken Sharp <ken.sharp@artifex.com>
c5f91f9fa29922713d3751654dda09ccc8518801
pdfwrite - memory leaks with CIDFonts
Move the code to free font resources from the 'pdf close' into a separate
routine in the font handling module. Additionally call it for CIDFont
resoruces as well as Font resources (the code copes with freeing both)
No differences expected
gs/base/gdevpdf.c
gs/base/gdevpdtf.c
gs/base/gdevpdtf.h
2012-05-05 01:03:31 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
922400e9056ad46a27e0ab5964213415061bd801
Bug 693027: Add missing spot color extraction from shading patterns.
Old code processed all patterns as tiled patterns and missed the
shading color space.
gs/Resource/Init/pdf_main.ps
2012-05-04 15:19:15 +0100
Chris Liddell <chris.liddell@artifex.com>
b2b2473f2064b4abd835449b761e46fdbb5a47f1
Bring the gs/jbig2dec directory in line with jbig2dec repos.
Mainly autoconf source files like configure.ac
No cluster differences.
gs/jbig2dec/Makefile.in
gs/jbig2dec/aclocal.m4
gs/jbig2dec/annex-h.jbig2
gs/jbig2dec/autogen.sh
gs/jbig2dec/compile
gs/jbig2dec/config.guess
gs/jbig2dec/config.h
gs/jbig2dec/config.h.in
gs/jbig2dec/config.sub
gs/jbig2dec/configure
gs/jbig2dec/depcomp
gs/jbig2dec/install-sh
gs/jbig2dec/libtool
gs/jbig2dec/ltmain.sh
gs/jbig2dec/missing
gs/jbig2dec/pbm2png.c
gs/jbig2dec/stamp-h1
2012-04-19 16:44:48 +0100
Ken Sharp <ken.sharp@artifex.com>
19e1c90a1185b681e081cc50ea64a73e8fd8f9b7
pdfwrite - address memory leaks
First pass at cleaning up pdfwrite's memory 'management'.
Add clean up code in pdf_close for fonts, font descriptors, type 3 CharProc
and Pattern resources.
Since we only need the object number for a reference we now create a new
type of cos object 'reference'. This only contains the object ID so that
we cna write out the reference. We also set the ID to 0 after we write it
as this will allow us to free the object. (id == 0 is a crazy reference
counting thing, it seems)
Free the 'aside' associated with a pattern after releasing it.
free ExtGState resources at close.
There was no code to free CMaps, none at all. Added routines to free regular
CMaps and ToUnicode CMaps, and added code to pdfwrite to call these in order
to actually free CMap resources.
When manufacturing a BaseFont, if we already have a BaseFont name, dispose
of it before assigning a new one. Previously this leaked the string
containing the name.
release font resoruce objects
when freeing a font descriptor, free the object as well as the glyphs
Free copied base font FontName string on close
This is opaque data specific to each font type, so we may need to add
specific cleanup routines, but this is a start.
Secondly, when pdfwrite copeis a font it makes 2 copies, a subset and a
complete copy. However the complete copy can fail because of an unused
glyph. So we dicard the complete copy and carry on with the subset. In
this case we didnt' clean up the 'complete' copy.
Modified the previous code into one routine to free copied fonts, when we
discard a (complete) copied font during font copying free the font copy.
free Encoding from copied fonts if present
Also, change the text for font freeing so it makes sense.
Free copied font 'data' when freeing copied font
Free the 'base_font' structure when freeing FontDescriptors
release colour spaces.
Make a routine to free colour spaces, and have it free the 'serialized'
color space memory.
Free the page dictionary when we free pages.
We seem to have (at least) two different kinds of param lists which are used
to deal with getting/setting device params. The PostScript interpreter uses
'ref_params' and the PCL interpreter uses 'c_params'.
The problem is that 'ref_params_end_write_collection' frees the list memory
but 'c_params_end_write_collection' does not. Since these are accessed through
methods in the list, we don't know whether we need to free the memory or not.
This leads to a memory leak when using the PCL interpreter.
I suspect this is a bug in the implementation, but for now I've modified
'ref_params_end_write_collection' so that it nulls the pointer to the list
when it frees it. The code in gdevdsp.c can then test to see whether the
memory needs to be freed (non-NULL) or not.
For some reason this leads to a Seg Fault with fts_09_0923.pdf, but I
can't see why. I believe this is unrelated, so will investigate it further
after this work is completed.
Also changed a typecast to eliminate a warning
create a routine to clean up the 'text data' and call it. Add the
'standard fonts' to the clenaup in there.
Clean up a number of allocations (name index stack, namespace
stack etc).
Add code to free Funtiocn resource dictionaries, objects and resources,
These were missed previously, because the development was done in PCL and
teh PCL interpreter can't trigger the use of Functions.
Add code to clean up Shading and group dictionary resources. Add code to
clear the resource chains on close so that we don't end up trying to use
freed memory pointers.
gs/base/gdevpdf.c
gs/base/gdevpdfc.c
gs/base/gdevpdfg.h
gs/base/gdevpdfi.c
gs/base/gdevpdfo.c
gs/base/gdevpdfo.h
gs/base/gdevpdfu.c
gs/base/gdevpdfv.c
gs/base/gdevpdfx.h
gs/base/gdevpdt.c
gs/base/gdevpdt.h
gs/base/gdevpdtb.c
gs/base/gdevpdtd.c
gs/base/gdevpdtd.h
gs/base/gdevpdtf.c
gs/base/gdevpdti.c
gs/base/gdevpdti.h
gs/base/gdevpsdp.c
gs/base/gsfcmap.c
gs/base/gsfcmap.h
gs/base/gxfcmap.h
gs/base/gxfcopy.c
gs/base/gxfcopy.h
gs/psi/iparam.c
2012-05-01 12:29:03 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
714b375a58593b62a38c3fa5dfacd0fae2d7d1f9
Bug 693006: Guess malformed numbers.
If an unknown PDF operator has only [-.0-9], consider it a malformed
number and replace with 0.
gs/Resource/Init/pdf_base.ps
2012-05-01 01:41:25 -0700
Michael Vrhel <michael.vrhel@artifex.com>
885289be955a17cb75a401a71d3b6529c755e96b
Fix for another indeterminism from 60640aeb33b18f9a9fcd76fc6f1083d7c7635f2
gs/base/gxdcolor.c
2012-05-01 01:41:18 -0700
Ray Johnston <ray.johnston@artifex.com>
c51dd0ad9b442a05844e1b8eb3e4b511af8c0392
Optimize transparency bbox for image SMask.
SMask with GreyBackground != 1.0 needs to use parent bbox, but image
SMask only paint the image area so the BC cannot affect areas outside.
gs/base/gdevp14.c
2012-04-30 15:11:38 -0700
Michael Vrhel <michael.vrhel@artifex.com>
af102f5fe9a91a071b2d01c3e8ee35a0c99275ea
Fix for indeterminism introduced in 60640aeb33b18f9a9fcd76fc6f1083d7c7635f24
The shading code was using the number of components of the target device
in making a linearity determination. It should make use of the destination
ICC profile in that computation.
gs/base/gsicc.c
2012-04-29 23:36:02 -0700
Michael Vrhel <michael.vrhel@artifex.com>
e8f8eed2369d5e8709acd0aa65306758aa322e3d
Initialize color procs for clip list accumulator
There are calls made during filling with this device to get the black point
of the device due to some ROP related call. The device did not have any
procedures for mapping colors or for decode and encode. Fix for Bug 692720.
gs/base/gxacpath.c
2012-04-30 15:27:30 +0100
Chris Liddell <chris.liddell@artifex.com>
3cde6d6d3d24a0930d591df9914ddda194d13b37
Bug 692459: stop tiffsep(1) overwriting pages already written
The tiffsep and tiffsep1 devices both get closed and reopen when the separations
change (communicated by put_params). Previously this caused the output files to
be closed and reopened - not a problem when writing each page to its own set of
files, but when writing multipage tiffs, it resulted in all pages up to that
point to be overwritten.
We now have tiffsep and tiffsep1 handle their own file "management", and prevent
output files from being closed and reopened when the device is closed and
reopened due to a put_params call.
No cluster differences.
gs/base/gdevtsep.c
2012-04-27 18:46:27 +0100
Robin Watts <robin.watts@artifex.com>
60640aeb33b18f9a9fcd76fc6f1083d7c7635f24
* Change of the tiffsep and psdcmyk device to planar devices.
This change in these devices was made to remove the 64 bit limitation of
our existing color encoding which limits us to 8 colorants without
compressed color encoding. The motivation for this work is that even
with compressed color encoding we were starting
to encounter files with transparency in particular that exceeded the
capabilities of encoding, leading to dropped colors. With this fix, we
encode through the clist the DeviceN color values. The buffers for the
devices are maintained as planar buffers and fills occur with the high level
device colors.
Support was added to handle the devn color type through the shading code. The old
code would have supported only 8 colorants in a shading.
Support was also added to the transparency code to enable the use of the put_image
procedure which for the planar device saves quite a bit of time since we can do the
copy_planes proc directly from the pdf14 planar buffer to the planar memory device buffer.
The pdf14 device also had to support fill_rectangle_hl_color.
Changes were also made to the pattern tiling code so that we avoid any planar to chunky and
back to planar conversions. These were being done to handle ROPs. Even when there were
not any ROPs to perform we were going through strip_tile_rop operations since the
gx_default_strip_tile_rectangle did not support planar to planar. That support is added
with this commit.
Support had to be added to the overprint compositor to support the new color type with
fill_rectangle_hl_color.
Support had to be added to the clist for fill_rectangle_hl_color. This required changes
on both the writing and reading side. It is possible that the amount of data written
for these commands could be reduced and that is commented in the code.
Support also had to be added to the clip device and the mask_clip device as well
for uncolored patterns. Also the tile clip device required support and the transparency device
required support for copy_planes. This last function needs to be optimized.
Both of the separation devices (tiffsep and psdcmyk) that we currently have are updated to
support this method. There is an #if option in each device file to return the
code back to the old chunky format.
A new device procedure for handling strip tiling of masks with devn colors had
to be added. Functionality was only required for the mem planar and clist devices.
Also, it was found that the tiffsep and psdcmyk devices were maintaining separations
(spot colors) across pages. That is if page 1 had a spot color, subsequent pages
created a separation for that spot
even if those pages did not contain it. This was fixed so that separations for a page
are only created for the spots that occur on that page.
A fix was also made to ensure that we had proper handling for the None colorants when
they are part of the DeviceN color space.
gs/base/devs.mak
gs/base/gdevbbox.c
gs/base/gdevdbit.c
gs/base/gdevdevn.c
gs/base/gdevdevn.h
gs/base/gdevdflt.c
gs/base/gdevdsha.c
gs/base/gdevmem.c
gs/base/gdevmem.h
gs/base/gdevmpla.c
gs/base/gdevmx.c
gs/base/gdevnfwd.c
gs/base/gdevp14.c
gs/base/gdevpdfi.c
gs/base/gdevppla.c
gs/base/gdevprn.c
gs/base/gdevpsd.c
gs/base/gdevtsep.c
gs/base/gscdevn.c
gs/base/gscicach.c
gs/base/gscms.h
gs/base/gscsepr.c
gs/base/gsdcolor.h
gs/base/gsdps1.c
gs/base/gsequivc.c
gs/base/gsicc_manage.c
gs/base/gsovrc.c
gs/base/gsptype1.c
gs/base/gxblend.h
gs/base/gxblend1.c
gs/base/gxcldev.h
gs/base/gxclimag.c
gs/base/gxclip.c
gs/base/gxclip.h
gs/base/gxclip2.c
gs/base/gxclipm.c
gs/base/gxclist.c
gs/base/gxclpath.c
gs/base/gxclpath.h
gs/base/gxclrast.c
gs/base/gxclrect.c
gs/base/gxcmap.c
gs/base/gxdcolor.c
gs/base/gxdcolor.h
gs/base/gxdevcli.h
gs/base/gxdevice.h
gs/base/gxdevsop.h
gs/base/gxgetbit.h
gs/base/gxht.c
gs/base/gxicolor.c
gs/base/gxp1fill.c
gs/base/gxp1impl.h
gs/base/gxpcmap.c
gs/base/gxpcolor.h
gs/base/gxshade6.c
gs/base/lib.mak
2012-04-26 15:11:18 +0100
Robin Watts <robin.watts@artifex.com>
dd09a0706ab09a54f5fbb05c63420c86375b45bf
Memento tweaks; add Memento_breakOnFree/Realloc functionality.
Memento_breakOnFree(address) will cause a breakpoint when the block
including a given address is freed. If the block is realloced (and
hence moves elsewhere) the breakpoint is not triggered until the new
block is itself freed.
Memento_breakOnRealloc(address) will cause a breakpoint when the block
including a given address is freed or realloced.
gs/base/memento.c
gs/base/memento.h
2012-04-25 17:33:59 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
012aef926d1e33cc64c32bf8e94ef92a299d73f9
Bug 692243: Replace dictionary look-up with .execn
Replace a fragment that stores line width in a dictionary with an equivalent
code that uses execution stack and .execn . These tricks are needed to keep
the stack depth constant.
gs/Resource/Init/pdf_ops.ps
2012-04-25 00:08:53 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
70d513095fba13b20e6bba5bb77805b5233028d1
Bug 692243: Fix a typo in absolute value comparison.
gs/Resource/Init/pdf_ops.ps
2012-04-24 17:35:10 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
f1830075608195e2976751303d220fda3f796abb
Bug 692969: Don't verify PDF 1.5 xref.
Don't verify stream xref table because we cannot repair PDF files with
new object format. Such verification only increases the chance that the
file fails.
gs/Resource/Init/pdf_main.ps
2012-04-24 15:06:16 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
430e9e345c84912f953161aa843b37f235c97708
Bug 693000: Verify /Subtype of CIDFont resource.
Check whether CIDFont resource refers to a Type 1 file and process
it accordingly.
gs/Resource/Init/pdf_font.ps
2012-04-24 17:48:12 +0000
Robin Watts <robin.watts@artifex.com>
b5d2134b8ebea14594411580776f1bce5c40363c
Add gx_forward_copy_planes.
Add this to the overprint device.
gs/base/gdevnfwd.c
gs/base/gsovrc.c
gs/base/gxdevice.h
2012-04-24 10:15:59 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
c2a982ffda019b2822799a918d53022ec06342fa
Pacify Valgrind: don't calculate unused values from undefined data.
gs/lcms2/src/cmsopt.c
2012-04-24 10:19:01 +0100
Chris Liddell <chris.liddell@artifex.com>
f10560765a226f668b72fd9b8298d644cbce08ab
Bug 693002: Add recently added files to install-doc target.
thirdparty.htm WhatIsGS.htm GS9_Color_Management.pdf
No cluster differences.
gs/base/unixinst.mak
2012-04-23 23:44:18 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
d561224d1495321d40012230abbcf835b298f557
Bug 692983: Require EOD mark in ASCII85 string.
Make sure that ASCII85-encoded string is terminated with '~>' and
throw an error if it isn't. Old code accepted EOF as a valid
termination for a string token.
gs/base/sa85d.c
gs/base/sa85d.h
gs/psi/iscan.c
2012-04-23 20:03:50 +0100
Robin Watts <robin.watts@artifex.com>
ec092a2630dd215a317f509ca283fc5cfb4e8b02
Planar device memory setup tweaks.
When setting up a memory planar device, we currently build a mask
out of the plane information supplied to us about how to pack
colors into a gx_color_index. This seems like a reasonable thing to
do as we will always need to pack colors into a gx_color_index at
some point.
As part of his work on tiffsep, Michael is about to lift this
requirement though, enabling us to cope with larger numbers of
spots. The code as is fails on certain machines/compilers due to
C's undefined behaviour when shifting by more bits than are in the
variable. We spot this case explicitly, and don't bother checking
for overlap in this case.
gs/base/gdevmpla.c
2012-04-23 15:51:17 +0100
Chris Liddell <chris.liddell@artifex.com>
3a8fbd9c52897cccce7cb6e61e06acb1fe8bff7f
Fix uninitialised variable access
Previous commit highlighted a missing a return value check which could result
in an uninitialised variable being accessed.
gs/psi/zfapi.c
2012-04-23 13:36:53 +0100
Chris Liddell <chris.liddell@artifex.com>
f57b7562c79a9e3649e95e7bafa6193b571154bb
Handle the remaining CIDFonts that FAPI was missing.
This causes a number of cluster file differences, almost all are the usual
single pixel differences. There are few cases slightly better, and a few
slightly worse.
One file is a "regression" (depending on your point of view) which is badq.pdf
where the two contours making up the lower case "q" both go in the same
direction, so non-zero winding for filling results in the "loop" in the "q"
being completely filled.
The font is to blame here, but I will continue to look into a solution for
Freetype.
gs/psi/zfapi.c
2012-04-21 13:46:37 +0100
Robin Watts <robin.watts@artifex.com>
b40ce1e58c211008831971f3866cb49e912a1e4f
bmpcmp: Error handling tweaks.
When failing to match a page due to differences in number of colors
or sizes etc, output the page number and continue looking at other
pages in the file.
gs/toolbin/bmpcmp.c
2012-04-20 13:52:33 -0600
Henry Stiles <henry.stiles@artifex.com>
a943658240231bede6cd5f04d7f1bfa713918ccf
Fixes 692992. Implicit closepaths not properly detected.
GL/2 closepaths, implicitly detected when the first point of a subpath
and last are equal, were not recognized in some cases because we were
doing a comparison of transformed floating point values, the
comparison is now done correctly in fixed point.
Many regression test files have progressions where the first and last
point of a path now have a proper join where one did not exist before.
pcl/pgdraw.c
2012-03-14 22:29:40 -0600
Henry Stiles <henry.stiles@artifex.com>
579e0e04b0d83d4364c9c4e42dcced8ca85fc634
Remove obsolete bug list.
tools/bug-list.txt
2012-04-20 14:58:18 +0100
Chris Liddell <chris.liddell@artifex.com>
b9350f4a92c1765d13afbff3e6a4576c33290d91
Default to Windows UNICODE file names "off".
Bring the PCL build in-line with Ghostscript so that the halding of UNICODE file names
is disabled in the default build.
As with Ghostscript, adding "USEUNICODE=1" to the nmake parameters will enable that code.
CLUSTER_UNTESTED
main/pcl6_msvc.mak
2012-04-20 07:20:16 +0100
Chris Liddell <Chris.Liddell@artifex.com>
67a924e4b93987d2c915a161ce67bdf9c1d6d4a5
Bug 692962: fix endian issue with lcms2 i/face
In the lcms2 interface code, am endian flag was being set on big endian
platforms, and it shouldn't be.
No cluster differences.
gs/base/gsicc_lcms2.c
2012-04-19 14:27:57 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
d252b4f9d3a949778894a86bb71cc2206fce11cf
Bug 692968: regenerate some appearances.
Regenerate appearance streams when it is requested by the file
and implemented in PDF interpreter. (NeedAppearances is set)
Otherwise, continue to use appearance streams provided by the
file.
gs/Resource/Init/pdf_draw.ps
2012-04-17 10:39:30 +0100
Chris Liddell <chris.liddell@artifex.com>
2d76c9849ea165176dc836f926ba1604e8e85513
Small change to djet500C device.
Remove an optimisation that seems to cause issues with newer HP Deskjets.
The device previously would determine how much (if any) of the right side
of a given scanline was blank, and drop those samples - thus avoiding sending
unmarked samples to the printer.
On recent Deskjets, this resulted those unmarked samples printing black. We
retain the similar optimisation for skipping entirely unmarked scanlines.
No cluster differences.
gs/base/gdevdjtc.c
2012-04-16 10:32:06 -0700
Ray Johnston <ray.johnston@artifex.com>
adb39bd6b16e20c7c6cf235518fc98ab242552e7
Fix segfault caused by change in zcharx (34f32ee) seen with 11-13.PS.
Under some error conditions, the 'penum' was not being set, and we would
de-reference whatever (undefined) value was laying around. Initialize it
to NULL and check before clearing pointers. I couldn't get this to fail
in a debug or profile build -- only a release build.
gs/psi/zcharx.c
2012-04-16 09:04:39 -0700
Ray Johnston <ray.johnston@artifex.com>
67894626809b89f813d3ed580210ee11da72af52
Fix segfault in 12-13.PS CET. Yet another ref counted pointer not being cleared.
gs/base/gscscie.c
2012-04-15 16:53:58 -0700
Ray Johnston <ray.johnston@artifex.com>
ffedf4d9c97b1f502e47bab7aed8ee2531c3de5c
Fix ref counting of CIEBased 'params' during alloc_restore_all with 11-19.PS CET.
The 'const' had to be broken to allow the pointer to be set to NULL when the object is freed
due to reference count going to zero. Debug build showed an error message due to ref_count
going below zero, but since this is referencing freed memory, can cause a segfault.
gs/base/gscscie.c
2012-04-12 11:55:50 -0700
Ray Johnston <ray.johnston@artifex.com>
34f32ee8cb08590aeaaab23d1e14ee48c9932fb2
Fix 692707. Clear pointers in text_enum when freeing the widths array.
When an error occurred (as with the CET ILLEGAL test in 33_all.ps) the widths array would be freed,
but the pointer in the gs_text_enum_t (text.x_widths, text.y_widths) was not cleared.
gs/psi/zcharx.c
2012-04-14 12:52:51 +0000
Robin Watts <robin.watts@artifex.com>
fd34d1533bfef0ec2a12500ea8b9fe80249cb990
bmpcmp: Flip psdcmyk images to be the right way up.
gs/toolbin/bmpcmp.c
2012-04-13 19:36:36 +0000
Robin Watts <robin.watts@artifex.com>
365d6f549be4f8fd289adb06078d568ae37b108a
Update bmpcmp to (at least try to) honour the color mapping for psd spots.
We read the color info for the spots, and we try to apply it when mapping
down to cmyk. It's entirely possible that the color information needs
to be inverted or reordered or something, but I don't have anything
that can display psd files to check.
Talk to Michael about this when he returns. This is better than nothing.
gs/toolbin/bmpcmp.c
2012-02-27 03:11:02 +0000
Robin Watts <robin.watts@artifex.com>
d1579963f90d1bfff7fa7e6e7a0417fa8be266b4
Support HPGL style path handling.
HPGL handles paths slightly differently to the postscript imaging model.
When a path is filled, successive moveto's are treated as linetos.
(i.e. the 'place we close the path to' is left at the first moveto,
and the area remains fillable). Stroking is unaffected however.
To model this in Ghostscript we add a new path segment type 's_gap'.
The filling code treats this as a lineto. The stroking code is updated
to not stroke such edges (and not to break the subpath at this point).
We add a new parameter to the imager state (hpgl_path_mode), new
accessor functions (gs_sethpglpathmode, gs_currenthpglpathmode),
and new postscript operators (.sethpglpathmode and .currenthpglpathmode).
If hpgl path mode is set to a non-zero value, then path construction
treats movetos in an open subpath as gaptos.
Currently this is disabled (see pcl/pctop.c for where it would be
enabled) until we get the pcl interpreter to generate paths in
exactly the right form.
Still to do:
* Update PDF write to spot such paths and to convert them as
appropriate when writing out.
gs/base/gdevpdfd.c
gs/base/gdevtrac.c
gs/base/gdevvec.c
gs/base/gspath.c
gs/base/gspath1.c
gs/base/gspenum.h
gs/base/gsstate.c
gs/base/gsstate.h
gs/base/gxclpath.c
gs/base/gxclpath.h
gs/base/gxclrast.c
gs/base/gxcpath.c
gs/base/gxistate.h
gs/base/gxline.h
gs/base/gxpath.c
gs/base/gxpath.h
gs/base/gxpath2.c
gs/base/gxpcopy.c
gs/base/gxpdash.c
gs/base/gxstroke.c
gs/base/gxttfb.c
gs/base/gzpath.h
gs/doc/Language.htm
gs/psi/zgstate.c
pcl/pctop.c
2012-04-13 18:51:34 +0000
Robin Watts <robin.watts@artifex.com>
34b74d7bb34390ad75ba8ca52b6bd5e94e85a51e
bmpcmp: Another attempt to make cmyk + spots psdcmyk files work.
Hopefully this should work; we now make the diff map, then
convert down to cmyk (by dropping the spots), then convert
cmyk -> rgb.
Next step is to add the spots into the cmyk as we map down.
gs/toolbin/bmpcmp.c
2012-04-13 18:34:00 +0100
Robin Watts <robin.watts@artifex.com>
42af17e78ebac4e31e4694d949ef5dfadeacb4fd
Update bmpcmp so that it saves pngs from bpp > 32 psdcmyk images
I'd forgotten to update the png saving code.
gs/toolbin/bmpcmp.c
2012-04-12 16:41:59 -0600
Henry Stiles <henry.stiles@artifex.com>
35908068027eb9b7d2a6d1adaf371bc9fdeeb800
Modified to not ignore error codes, no expected differences.
gs/base/gxp1fill.c
2012-04-12 09:34:32 -0600
Henry Stiles <henry.stiles@artifex.com>
1b355f679fd03a5d5d334b6d74202d9c3d58110b
Fix 692970 - device reference counting incorrect.
The tile clipping device did not properly release its reference to the
target device.
gs/base/gxclip2.c
gs/base/gxclip2.h
gs/base/gxp1fill.c
2012-04-11 14:42:51 -0700
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
3769efbb709889aae39f905dd04b72a81bc37f3d
Fix make clean for GhostPDL.
common/ugcc_top.mak
2012-04-11 09:50:55 +0100
Robin Watts <robin.watts@artifex.com>
42c6f088344544b5e854899e4126e0d3ec4ee496
Slight hack in gsmchunk.c for Memento builds.
In Memento builds we nobble the chunk manager to only put a single
block in each chunk. As such, the debugging is much nicer if we
label the chunks with the block name rather than "chunk_mem_node_add".
gs/base/gsmchunk.c
2012-04-10 18:04:39 +0100
Robin Watts <robin.watts@artifex.com>
ebc8452e68710ace66b3acca4d1701bfa6f59143
Add Memento_label calls to gs_heap_alloc_bytes malloc calls.
Should get us a lot more information in the debug output of
Memento.
gs/base/gsmalloc.c
2012-04-10 17:49:33 +0100
Robin Watts <robin.watts@artifex.com>
113beaf41ec17de71a57ffda7324442fe2000623
Tidy up pattern accumulator device handling code.
Hopefully slightly more comprehensible. Does the same job as before.
gs/base/gxpcmap.c
2012-04-09 09:32:12 -0700
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
612f02c29f356c44ca72ec31eb6a64b65d7e7d04
Print out message from bmpcmp.c if no differences detected.
gs/toolbin/bmpcmp.c
2012-04-08 15:40:42 -0700
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
5e0dd327627f3c5dfe50f51ab583b5d696957972
Prefaced bmpcmp.c error messages with 'bmpcmp:'.
gs/toolbin/bmpcmp.c
2012-04-06 23:43:04 +0100
Robin Watts <robin.watts@artifex.com>
b5431c68e9c666e3c8010202e9501f101f6725d9
Remove the need for seeking in bmpcmp when reading psdcmyk files.
The cluster likes to drive bmpcmp from pipes.
gs/toolbin/bmpcmp.c
2012-04-06 14:22:33 -0700
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
554b5c6088a1f53a648b5702a3245bdbba884ffa
Fixed bmpcmp.c to properly set *cmyk in psd_read().
gs/toolbin/bmpcmp.c
2012-04-06 16:53:07 +0100
Robin Watts <robin.watts@artifex.com>
20dcd26801be3d10bd5ebd596b50eaa3908050be
Add psdcmyk support to bmpcmp.
bmpcmp now reads psdcmyk files. It will read all n planes (cmyk +
spots) and search in them for diffs. When it comes to output
the differences are highlighted correctly in the diff image,
but only the cmyk planes are used to create the output images
(i.e. spots are not mapped down to cmyk currently).
gs/toolbin/bmpcmp.c
2012-04-05 16:21:05 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
8e97d23a41580b3609a7b98dc90c4a59c6d093e8
Bug 692967: drop incorrect filter parameters.
Check for an empty array given as filter parameters and
intrrpret it as no parameters.
gs/Resource/Init/pdf_base.ps
2012-04-05 11:06:36 +0100
Ken Sharp <ken.sharp@artifex.com>
c3679722d0c3ade2f644bad1c5b7fafde8de5fb6
Add the 32-bit Memento directories to .gitignore
.gitignore
2012-04-02 17:47:41 +0100
Chris Liddell <chris.liddell@artifex.com>
6e7d591ae3b2dab7808406e6052a4b79b05f2633
Fix a makefile typo....
Back in an previous commit, I made a typo for the cross platform makefile
variables - I used '_D_' instead of 'D_'
No cluster differences.
gs/base/lib.mak
2012-04-02 17:08:15 +0100
Chris Liddell <chris.liddell@artifex.com>
82eb1a659a96fcd834d0e673c7c8f36781499959
Bug 692761: some errors reported by cppcheck
Patch from Joshua Beck ( jxb091000@utdallas.edu ) addressing issues
identified by cppcheck.
No cluster differences.
gs/base/genconf.c
gs/base/gsiomacres.c
gs/base/mkromfs.c
gs/psi/dwmainc.c
2012-03-30 13:36:37 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
1ff339b6aca7087e32be7516fda9ef0b9df38e72
Bug 692767: Render shading as a group.
Render shading as an isolated group if the file has a soft mask.
gs/Resource/Init/pdf_draw.ps
2012-03-30 11:59:14 +0100
Ken Sharp <ken.sharp@artifex.com>
8eb4118573d2d6959f8578a10f9d76ce9d802799
PDF interpreter - preserve CIDSystemInfo in embedded CID fonts
The PDF interpreter was not preserving the CIDSystemInfo from CIDFonts in
PDF files (the TrueType code did not allow for this to be done)
Updated the TrueType CIDFont building code to accept a CIDSystemInfo dictionary
as a parameter, and teh PDF interpreter to pass it form the original
CIDFont.
No differences expected as this is not tested
gs/Resource/Init/gs_ttf.ps
gs/Resource/Init/pdf_font.ps
2012-03-29 08:50:13 -0700
Ray Johnston <ray.johnston@artifex.com>
67e3458154d8ef718be5a495aa64dc77c59393fe
Fix bugs 692542 and 692706, bad rendering of copies after first page with NumRenderingThreads > 1
The clist_get_band_from_thread logic would get confused as to the lookahead_direction if the
requested thread was the first or last and the most recent previously rendered thread didn't
match.
gs/base/gxclthrd.c
2012-03-29 16:05:44 +0100
Ken Sharp <ken.sharp@artifex.com>
0604c2368ca3fd75be1c26ce6c7697cbce55968f
Fix a minor compiler warning by casting a pointer.
gs/base/gdevpdtt.c
2012-03-29 11:38:54 +0100
Ken Sharp <ken.sharp@artifex.com>
be6456331f4cff58f11f681450166fe2309e2ad5
pdfwrite - when a Charstring is not found for a glyph use the /.notdef width instead of 0
Bug #692944 the file uses an embedded font which does not include a /space
glyph, but proceeds to use the space anyway. We were using a widht of 0 in
this case but the file programmatically spaces glyphs to a predefined size.
This was causing the PDF to be incorrectly spaced.
We now use the width of the /.notdef glyph instead for sizing calculations,
since this si the glyph which will eventually be used.
This exhibits a small difference in 30-06.ps but since this is testing
missing glyphs in a QL test file, I'm going to accept it as a difference in
order to improve the result with files of this type.
gs/base/gdevpdte.c
gs/base/gdevpdtt.c
2012-03-29 02:23:20 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
23e8552bb2c1849c118d9f5d81f5629ebe436acb
Bug 692886: use sequential page numbers in PDF collections.
Use sequential page numbering for -dFirstPage and -dLastPage parameters
when they are used with PDF Collections.
gs/Resource/Init/pdf_main.ps
gs/doc/Use.htm
2012-03-28 13:52:27 -0700
Ray Johnston <ray.johnston@artifex.com>
aa9f730f07f8d471c222956e6a532ab2698ef58e
Fix bug 692688: pdf14_copy_alpha did not move the source data pointer when adjusting for y<rect.p.y
The pdf14_copy_alpha doesn't use the 'fit_copy' macro since that macro has specific variables
embedded, but the when the 'h' and 'y' are adjusted, the source data pointer needs to move to
the first line that will be used.
gs/base/gdevp14.c
2012-03-28 17:03:25 +0100
Chris Liddell <chris.liddell@artifex.com>
a1075141f25f7bf38bf372f9ccc65dfd9c0c8baa
Bug 692950: further revise falling back to unhinted rendering.
In the FAPI/FT interface, we caught some errors from Freetype to do with the
byte code hinting in TrueType fonts - when they occur we retry the glyph
rendering with hinting disabled.
This commit expands that to *any* error from the byte code interpreter will
now cause us to retry unhinted.
(the core problem in this case seems to be scale depending operations in the
font program, which is supposed not to be permitted).
No cluster differences.
gs/psi/fapi_ft.c
2012-03-27 19:29:56 -0700
Ray Johnston <ray.johnston@artifex.com>
5b50a46f4ed3e54fec6727a1ad52258e5d32b0a9
Add -sBandListStorage={file|memory} option and default to no bitmap compression if file clist.
Also alphabetize the clist options and remove the arbitrary 10000 minimum for MaxBitmap
(now -dMaxBitmap=0 is legal). The change to not compress bitmaps (using CCITT) when going
to disk based clist improves performance.
gs/base/gdevprn.c
gs/base/gdevprn.h
gs/base/gxclbits.c
gs/base/gxclist.c
gs/base/lib.mak
gs/doc/Language.htm
2012-03-26 18:57:48 +0100
Chris Liddell <chris.liddell@artifex.com>
6a13e642324435d92f2f79f6c28b5f25758a249c
Ensure FAPI uses appropriate glyph name for metrics.
Found investigating a customer 532 report: Ghostscript "augments" glyph names
under certain circumstances, and depending on the font type, FAPI may have to
remove that augmentation (mainly when disc based fonts are being used).
FAPI was then using the un-augmented glyph name to read the glyph metrics,
which caused the wrong metrics to be used because the metrics(s) dictionary was
created with the augmented glyph name in place.
Causes a difference in the cluster file Bug691031.pdf - this is
progression.
gs/psi/zfapi.c
2012-03-26 14:44:05 +0100
Chris Liddell <chris.liddell@artifex.com>
9ca16b047d2ee4dc862aa18465c80c2250c213c5
Bug 692938: fix link error on AIX
AIX 5.x (probably others) don't have memalign, so update the conditions
under which openjpeg will (try to) use memalign to exclude AIX systems.
No cluster differences.
gs/openjpeg/libopenjpeg/opj_malloc.h
2012-03-22 15:08:43 +0000
Ken Sharp <ken.sharp@artifex.com>
701b769786f6e2b036df8427c17c6a5dc294a672
pdfwrite - update CIDSet emission for PDF/A-2 compatibility
This completes the work for creation of PDF/A-2 files. Note that Acrobat X
preflight complains about the CIDSet we include in PDF/A-2 files. However I
believe that the current code is correct, and that the Acrobat preflight is
incorrect. The PDF-Tools validator is completely happy with our CIDSet.
I'm unable to fathom what it is the Acrobat preflight tool wants. The old
PDF/A-1 CIDSet is flagged as invalid, as is every premutation of values I
can think of.
In the absence of any example file to look at, or a definitive resource on
the subject, I'm comitting this and concluding the development. I will of
course be happy to work on the CIDSet emission if someone can bring more
information.
No differences expected PDF/A is not tested by the cluster.
gs/base/gdevpdtd.c
2012-03-21 09:36:40 -0600
Henry Stiles <henry.stiles@artifex.com>
b68ee69570803001a959721209fff6a2e4430f84
Improves 692527 - the missing characters now print and the prototype
svg device now works with many more files.
Before this change very few jobs would work, the color state wasn't
updated properly.
CLUSTER_UNTESTED
gs/base/gdevsvg.c
2012-03-21 14:22:35 +0000
Chris Liddell <chris.liddell@artifex.com>
8031fd574e3949cf1e17eed0372034e522580dca
Bug 692850: FAPI: clamp fixed-point overflows instead of error.
This job ends up with an insanely big scale factor when trying rendering glyphs
from a font. Obviously that ends up too big to render to a bitmap in the
font renderer, so we build a path instead.
Previously, during FAPI path extraction, if the coordinates overflowed what we
can represent in our fixed point representation, give a rangecheck error. But
the AFS code seems to clamp the coordinate to something we can represent, and
carry on.
Do the same in FAPI.
No cluster differences.
gs/psi/zfapi.c
2012-03-15 11:51:23 +0000
Chris Liddell <chris.liddell@artifex.com>
0c0f193bc6673fd4c6c257fd8c6fe740882c6023
Another Freetype fix.
From:
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=b43e0f44
gs/freetype/src/type1/t1load.c
2012-03-14 14:49:19 +0000
Chris Liddell <chris.liddell@artifex.com>
eb20f1cf128936c871e1ccb8161db382e866336a
Backport incremental interface fix from FT git.
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=9a55cb
CLUSTER_UNTESTED
gs/freetype/src/type1/t1load.c
2012-03-14 14:48:31 +0000
Chris Liddell <chris.liddell@artifex.com>
078d7ccbeb5250c93b758c6566d368c11c1da986
Update to Freetype 2.4.9
CLUSTER_UNTESTED
gs/freetype/ChangeLog
gs/freetype/Jamfile
gs/freetype/README
gs/freetype/autogen.sh
gs/freetype/builds/amiga/makefile
gs/freetype/builds/amiga/makefile.os4
gs/freetype/builds/amiga/smakefile
gs/freetype/builds/amiga/src/base/ftsystem.c
gs/freetype/builds/mac/FreeType.m68k_cfm.make.txt
gs/freetype/builds/mac/FreeType.m68k_far.make.txt
gs/freetype/builds/mac/FreeType.ppc_carbon.make.txt
gs/freetype/builds/mac/FreeType.ppc_classic.make.txt
gs/freetype/builds/mac/ftmac.c
gs/freetype/builds/symbian/bld.inf
gs/freetype/builds/symbian/freetype.mmp
gs/freetype/builds/toplevel.mk
gs/freetype/builds/unix/.gitignore
gs/freetype/builds/unix/aclocal.m4
gs/freetype/builds/unix/config.guess
gs/freetype/builds/unix/config.sub
gs/freetype/builds/unix/configure
gs/freetype/builds/unix/configure.ac
gs/freetype/builds/unix/configure.raw
gs/freetype/builds/unix/detect.mk
gs/freetype/builds/unix/freetype-config.in
gs/freetype/builds/unix/freetype2.in
gs/freetype/builds/unix/ftconfig.in
gs/freetype/builds/unix/install-sh
gs/freetype/builds/unix/ltmain.sh
gs/freetype/builds/vms/ftconfig.h
gs/freetype/builds/vms/ftsystem.c
gs/freetype/builds/win32/vc2005/freetype.vcproj
gs/freetype/builds/win32/vc2005/index.html
gs/freetype/builds/win32/vc2008/freetype.vcproj
gs/freetype/builds/win32/vc2008/index.html
gs/freetype/builds/win32/vc2010/freetype.sln
gs/freetype/builds/win32/vc2010/freetype.vcxproj
gs/freetype/builds/win32/vc2010/freetype.vcxproj.filters
gs/freetype/builds/win32/vc2010/index.html
gs/freetype/builds/win32/visualc/freetype.dsp
gs/freetype/builds/win32/visualc/freetype.vcproj
gs/freetype/builds/win32/visualc/index.html
gs/freetype/builds/win32/visualce/freetype.dsp
gs/freetype/builds/win32/visualce/freetype.vcproj
gs/freetype/builds/win32/visualce/index.html
gs/freetype/builds/wince/vc2005-ce/freetype.vcproj
gs/freetype/builds/wince/vc2005-ce/index.html
gs/freetype/builds/wince/vc2008-ce/freetype.vcproj
gs/freetype/builds/wince/vc2008-ce/index.html
gs/freetype/configure
gs/freetype/devel/ftoption.h
gs/freetype/docs/CHANGES
gs/freetype/docs/GPL.TXT
gs/freetype/docs/GPLv2.TXT
gs/freetype/docs/INSTALL
gs/freetype/docs/INSTALL.ANY
gs/freetype/docs/INSTALL.UNIX
gs/freetype/docs/LICENSE.TXT
gs/freetype/docs/PROBLEMS
gs/freetype/docs/UPGRADE.UNIX
gs/freetype/docs/VERSION.DLL
gs/freetype/docs/formats.txt
gs/freetype/docs/reference/.gitignore
gs/freetype/docs/reference/ft2-base_interface.html
gs/freetype/docs/reference/ft2-basic_types.html
gs/freetype/docs/reference/ft2-bdf_fonts.html
gs/freetype/docs/reference/ft2-bitmap_handling.html
gs/freetype/docs/reference/ft2-bzip2.html
gs/freetype/docs/reference/ft2-cache_subsystem.html
gs/freetype/docs/reference/ft2-cid_fonts.html
gs/freetype/docs/reference/ft2-computations.html
gs/freetype/docs/reference/ft2-font_formats.html
gs/freetype/docs/reference/ft2-gasp_table.html
gs/freetype/docs/reference/ft2-glyph_management.html
gs/freetype/docs/reference/ft2-glyph_stroker.html
gs/freetype/docs/reference/ft2-glyph_variants.html
gs/freetype/docs/reference/ft2-gx_validation.html
gs/freetype/docs/reference/ft2-gzip.html
gs/freetype/docs/reference/ft2-header_file_macros.html
gs/freetype/docs/reference/ft2-incremental.html
gs/freetype/docs/reference/ft2-index.html
gs/freetype/docs/reference/ft2-lcd_filtering.html
gs/freetype/docs/reference/ft2-list_processing.html
gs/freetype/docs/reference/ft2-lzw.html
gs/freetype/docs/reference/ft2-mac_specific.html
gs/freetype/docs/reference/ft2-module_management.html
gs/freetype/docs/reference/ft2-multiple_masters.html
gs/freetype/docs/reference/ft2-ot_validation.html
gs/freetype/docs/reference/ft2-outline_processing.html
gs/freetype/docs/reference/ft2-pfr_fonts.html
gs/freetype/docs/reference/ft2-quick_advance.html
gs/freetype/docs/reference/ft2-raster.html
gs/freetype/docs/reference/ft2-sfnt_names.html
gs/freetype/docs/reference/ft2-sizes_management.html
gs/freetype/docs/reference/ft2-system_interface.html
gs/freetype/docs/reference/ft2-toc.html
gs/freetype/docs/reference/ft2-truetype_engine.html
gs/freetype/docs/reference/ft2-truetype_tables.html
gs/freetype/docs/reference/ft2-type1_tables.html
gs/freetype/docs/reference/ft2-user_allocation.html
gs/freetype/docs/reference/ft2-version.html
gs/freetype/docs/reference/ft2-winfnt_fonts.html
gs/freetype/docs/release
gs/freetype/include/freetype/config/ftconfig.h
gs/freetype/include/freetype/config/ftheader.h
gs/freetype/include/freetype/config/ftoption.h
gs/freetype/include/freetype/config/ftstdlib.h
gs/freetype/include/freetype/freetype.h
gs/freetype/include/freetype/ftbbox.h
gs/freetype/include/freetype/ftbzip2.h
gs/freetype/include/freetype/ftcache.h
gs/freetype/include/freetype/ftchapters.h
gs/freetype/include/freetype/fterrdef.h
gs/freetype/include/freetype/fterrors.h
gs/freetype/include/freetype/ftgasp.h
gs/freetype/include/freetype/ftglyph.h
gs/freetype/include/freetype/ftmoderr.h
gs/freetype/include/freetype/ftoutln.h
gs/freetype/include/freetype/ftrender.h
gs/freetype/include/freetype/ftstroke.h
gs/freetype/include/freetype/fttypes.h
gs/freetype/include/freetype/internal/autohint.h
gs/freetype/include/freetype/internal/ftdriver.h
gs/freetype/include/freetype/internal/ftobjs.h
gs/freetype/include/freetype/internal/ftpic.h
gs/freetype/include/freetype/internal/ftrfork.h
gs/freetype/include/freetype/internal/ftserv.h
gs/freetype/include/freetype/internal/ftstream.h
gs/freetype/include/freetype/internal/fttrace.h
gs/freetype/include/freetype/internal/pcftypes.h
gs/freetype/include/freetype/internal/pshints.h
gs/freetype/include/freetype/internal/services/svbdf.h
gs/freetype/include/freetype/internal/services/svcid.h
gs/freetype/include/freetype/internal/services/svgldict.h
gs/freetype/include/freetype/internal/services/svmm.h
gs/freetype/include/freetype/internal/services/svpostnm.h
gs/freetype/include/freetype/internal/services/svpscmap.h
gs/freetype/include/freetype/internal/services/svpsinfo.h
gs/freetype/include/freetype/internal/services/svsfnt.h
gs/freetype/include/freetype/internal/services/svttcmap.h
gs/freetype/include/freetype/internal/services/svttglyf.h
gs/freetype/include/freetype/internal/sfnt.h
gs/freetype/include/freetype/internal/t1types.h
gs/freetype/include/freetype/internal/tttypes.h
gs/freetype/include/freetype/t1tables.h
gs/freetype/include/freetype/tttables.h
gs/freetype/modules.cfg
gs/freetype/objs/.gitignore
gs/freetype/src/autofit/afangles.c
gs/freetype/src/autofit/afcjk.c
gs/freetype/src/autofit/afcjk.h
gs/freetype/src/autofit/afdummy.c
gs/freetype/src/autofit/afdummy.h
gs/freetype/src/autofit/aferrors.h
gs/freetype/src/autofit/afglobal.c
gs/freetype/src/autofit/afglobal.h
gs/freetype/src/autofit/afhints.c
gs/freetype/src/autofit/afhints.h
gs/freetype/src/autofit/afindic.c
gs/freetype/src/autofit/aflatin.c
gs/freetype/src/autofit/aflatin.h
gs/freetype/src/autofit/aflatin2.c
gs/freetype/src/autofit/afloader.c
gs/freetype/src/autofit/afloader.h
gs/freetype/src/autofit/afmodule.c
gs/freetype/src/autofit/afpic.c
gs/freetype/src/autofit/afpic.h
gs/freetype/src/autofit/aftypes.h
gs/freetype/src/autofit/afwarp.c
gs/freetype/src/autofit/autofit.c
gs/freetype/src/autofit/rules.mk
gs/freetype/src/base/basepic.c
gs/freetype/src/base/basepic.h
gs/freetype/src/base/ftadvanc.c
gs/freetype/src/base/ftbase.c
gs/freetype/src/base/ftbase.h
gs/freetype/src/base/ftbitmap.c
gs/freetype/src/base/ftcalc.c
gs/freetype/src/base/ftdbgmem.c
gs/freetype/src/base/ftglyph.c
gs/freetype/src/base/ftinit.c
gs/freetype/src/base/ftmac.c
gs/freetype/src/base/ftobjs.c
gs/freetype/src/base/ftoutln.c
gs/freetype/src/base/ftpatent.c
gs/freetype/src/base/ftpic.c
gs/freetype/src/base/ftrfork.c
gs/freetype/src/base/ftstream.c
gs/freetype/src/base/ftstroke.c
gs/freetype/src/base/ftsystem.c
gs/freetype/src/base/fttype1.c
gs/freetype/src/bdf/README
gs/freetype/src/bdf/bdf.h
gs/freetype/src/bdf/bdfdrivr.c
gs/freetype/src/bdf/bdfdrivr.h
gs/freetype/src/bdf/bdferror.h
gs/freetype/src/bdf/bdflib.c
gs/freetype/src/bzip2/Jamfile
gs/freetype/src/bzip2/ftbzip2.c
gs/freetype/src/bzip2/rules.mk
gs/freetype/src/cache/ftcbasic.c
gs/freetype/src/cache/ftccache.c
gs/freetype/src/cache/ftccache.h
gs/freetype/src/cache/ftccback.h
gs/freetype/src/cache/ftccmap.c
gs/freetype/src/cache/ftcerror.h
gs/freetype/src/cache/ftcglyph.c
gs/freetype/src/cache/ftcglyph.h
gs/freetype/src/cache/ftcmanag.c
gs/freetype/src/cache/ftcmanag.h
gs/freetype/src/cache/ftcmru.c
gs/freetype/src/cache/ftcsbits.c
gs/freetype/src/cache/ftcsbits.h
gs/freetype/src/cff/cffdrivr.c
gs/freetype/src/cff/cfferrs.h
gs/freetype/src/cff/cffgload.c
gs/freetype/src/cff/cffload.c
gs/freetype/src/cff/cffload.h
gs/freetype/src/cff/cffobjs.c
gs/freetype/src/cff/cffparse.c
gs/freetype/src/cff/cffparse.h
gs/freetype/src/cff/cffpic.c
gs/freetype/src/cff/cffpic.h
gs/freetype/src/cff/cfftoken.h
gs/freetype/src/cff/cfftypes.h
gs/freetype/src/cff/rules.mk
gs/freetype/src/cid/ciderrs.h
gs/freetype/src/cid/cidgload.c
gs/freetype/src/cid/cidload.c
gs/freetype/src/cid/cidobjs.c
gs/freetype/src/cid/cidparse.c
gs/freetype/src/cid/cidriver.c
gs/freetype/src/cid/cidriver.h
gs/freetype/src/gxvalid/gxvcommn.c
gs/freetype/src/gxvalid/gxvcommn.h
gs/freetype/src/gxvalid/gxverror.h
gs/freetype/src/gxvalid/gxvfeat.c
gs/freetype/src/gxvalid/gxvjust.c
gs/freetype/src/gxvalid/gxvkern.c
gs/freetype/src/gxvalid/gxvmod.c
gs/freetype/src/gxvalid/gxvmod.h
gs/freetype/src/gxvalid/gxvmort.c
gs/freetype/src/gxvalid/gxvmort0.c
gs/freetype/src/gxvalid/gxvmort1.c
gs/freetype/src/gxvalid/gxvmort2.c
gs/freetype/src/gxvalid/gxvmort5.c
gs/freetype/src/gxvalid/gxvmorx.c
gs/freetype/src/gxvalid/gxvmorx0.c
gs/freetype/src/gxvalid/gxvmorx1.c
gs/freetype/src/gxvalid/gxvmorx2.c
gs/freetype/src/gxvalid/gxvmorx5.c
gs/freetype/src/gxvalid/gxvprop.c
gs/freetype/src/gxvalid/gxvtrak.c
gs/freetype/src/gzip/ftgzip.c
gs/freetype/src/lzw/ftlzw.c
gs/freetype/src/lzw/ftzopen.c
gs/freetype/src/otvalid/otverror.h
gs/freetype/src/otvalid/otvmod.c
gs/freetype/src/otvalid/otvmod.h
gs/freetype/src/pcf/README
gs/freetype/src/pcf/pcf.h
gs/freetype/src/pcf/pcfdrivr.c
gs/freetype/src/pcf/pcfdrivr.h
gs/freetype/src/pcf/pcferror.h
gs/freetype/src/pcf/pcfread.c
gs/freetype/src/pfr/pfrdrivr.c
gs/freetype/src/pfr/pfrdrivr.h
gs/freetype/src/pfr/pfrerror.h
gs/freetype/src/pfr/pfrload.c
gs/freetype/src/pfr/pfrobjs.c
gs/freetype/src/psaux/afmparse.c
gs/freetype/src/psaux/psauxerr.h
gs/freetype/src/psaux/psauxmod.c
gs/freetype/src/psaux/psauxmod.h
gs/freetype/src/psaux/psconv.c
gs/freetype/src/psaux/psobjs.c
gs/freetype/src/psaux/t1cmap.c
gs/freetype/src/psaux/t1decode.c
gs/freetype/src/pshinter/pshnterr.h
gs/freetype/src/pshinter/pshpic.c
gs/freetype/src/pshinter/pshpic.h
gs/freetype/src/pshinter/rules.mk
gs/freetype/src/psnames/psmodule.c
gs/freetype/src/psnames/psnamerr.h
gs/freetype/src/psnames/pspic.c
gs/freetype/src/psnames/pspic.h
gs/freetype/src/psnames/pstables.h
gs/freetype/src/psnames/rules.mk
gs/freetype/src/raster/ftraster.c
gs/freetype/src/raster/ftrend1.c
gs/freetype/src/raster/rasterrs.h
gs/freetype/src/raster/rastpic.c
gs/freetype/src/raster/rastpic.h
gs/freetype/src/raster/rules.mk
gs/freetype/src/sfnt/rules.mk
gs/freetype/src/sfnt/sfdriver.c
gs/freetype/src/sfnt/sferrors.h
gs/freetype/src/sfnt/sfntpic.c
gs/freetype/src/sfnt/sfntpic.h
gs/freetype/src/sfnt/sfobjs.c
gs/freetype/src/sfnt/ttcmap.c
gs/freetype/src/sfnt/ttcmap.h
gs/freetype/src/sfnt/ttload.c
gs/freetype/src/sfnt/ttmtx.c
gs/freetype/src/sfnt/ttsbit.c
gs/freetype/src/smooth/ftgrays.c
gs/freetype/src/smooth/ftsmerrs.h
gs/freetype/src/smooth/ftsmooth.c
gs/freetype/src/smooth/ftspic.c
gs/freetype/src/smooth/ftspic.h
gs/freetype/src/smooth/rules.mk
gs/freetype/src/tools/apinames.c
gs/freetype/src/tools/docmaker/.gitignore
gs/freetype/src/tools/glnames.py
gs/freetype/src/truetype/rules.mk
gs/freetype/src/truetype/ttdriver.c
gs/freetype/src/truetype/tterrors.h
gs/freetype/src/truetype/ttgload.c
gs/freetype/src/truetype/ttgload.h
gs/freetype/src/truetype/ttgxvar.c
gs/freetype/src/truetype/ttinterp.c
gs/freetype/src/truetype/ttinterp.h
gs/freetype/src/truetype/ttobjs.c
gs/freetype/src/truetype/ttobjs.h
gs/freetype/src/truetype/ttpic.c
gs/freetype/src/truetype/ttpic.h
gs/freetype/src/truetype/ttpload.c
gs/freetype/src/type1/t1afm.c
gs/freetype/src/type1/t1driver.c
gs/freetype/src/type1/t1driver.h
gs/freetype/src/type1/t1errors.h
gs/freetype/src/type1/t1gload.c
gs/freetype/src/type1/t1gload.h
gs/freetype/src/type1/t1load.c
gs/freetype/src/type1/t1objs.c
gs/freetype/src/type1/t1objs.h
gs/freetype/src/type1/t1parse.c
gs/freetype/src/type1/t1tokens.h
gs/freetype/src/type42/t42drivr.c
gs/freetype/src/type42/t42drivr.h
gs/freetype/src/type42/t42error.h
gs/freetype/src/type42/t42objs.c
gs/freetype/src/type42/t42objs.h
gs/freetype/src/type42/t42parse.c
gs/freetype/src/winfonts/fnterrs.h
gs/freetype/src/winfonts/winfnt.c
gs/freetype/src/winfonts/winfnt.h
2012-03-20 16:56:36 -0600
Henry Stiles <henry.stiles@artifex.com>
dcf401ee8172aaff5363b2fc86e166f73225e429
Close the device before exiting PCL, XPS and friends.
The languages deallocated the memory associated with a device but
never did the associated gs_closedevice(). This might have some
effect on 692816 where indeterminate output was observed on stdout.
Without the close device call the "OutputFile" was never actually
closed (fclose), and so there might have been a missing flush. All of
that is speculation, I wasn't able to reproduce the indeterminism -
but we want the closedevice anyway so here it is.
pl/plmain.c
2012-03-20 11:35:04 -0700
Ray Johnston <ray.johnston@artifex.com>
731707a165665554577d3779fdeb93eb49ab2a52
Fix Visual Studio PROFILE=1 builds so that Instrumented performance analyzer works.
We were missing the /PROFILE linker option.
gs/psi/msvc.mak
2012-03-19 18:02:47 +0000
Chris Liddell <chris.liddell@artifex.com>
a2371ed3ee29b5470dd892b78249d64d8f4466f4
Clean up warnings.
Clean up a couple of warnings I introduced in:
f63237e1bb9a85124349ec0d0eae58737d7cb5ee
No cluster differences expected.
gs/base/gxccache.c
gs/base/lib.mak
2012-03-19 10:06:10 +0000
Ken Sharp <ken.sharp@artifex.com>
d6f83dfa81a2073c3d1f67a30aee7e8407e4685a
ps2write - work-around bugs in Brother printer CCITTFaxDecode filter
Raised on irc by Till Kamppeter, see Ubuntu bug :
https://bugs.launchpad.net/ubuntu/+source/cups/+bug/955553
After much work by Chris Liddell and Bruce Stough it transpires that at
least some Brother printers have a bug in their CCITTFaxDecode filter,
especially with small amounts of data.
Since the ps2write otuput for bitmapped glyhs (which is required when the
input is a CIDFont) always uses the CCITTFax filter, this led to corrupted
output from the Brother (Note this is a bug in the *printer* not ps2write)
This patch adds a new command line parameter 'NoT3CCITT' which disables
compression of bitmapped glyphs. It should only be used with printers which
have a problem with CCITTFax data, and in that case should also be used with
the EncodeMonoImages switch to disable compression of monochrome images. Eg:
-dNoT3CCITT -dEncodeMonoImages=false
No differences expected as these are not tested by our regression tests
gs/base/gdevpdfb.c
gs/base/gdevpdfb.h
gs/base/gdevpdfp.c
gs/base/gdevpdfx.h
2012-03-18 22:34:39 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
1c558e93a7f63b470880ea44fbf883c61de4b13a
Bug 692589: Copy CIDSystemInfo from PDF to CMap
Collect CIDSystemInfo attributes from PDF CMap dictionary and copy
them to the embedded CMap resource.
gs/Resource/Init/pdf_font.ps
2012-03-16 14:25:06 -0600
Henry Stiles <henry.stiles@artifex.com>
2cd895c6ad8e4e1ace368d04a783bf0cccb30f3c
Fixes Bug 692931 - Regression: seg fault
The ICC parameters were set when the interpreter was allocated before
the the command line options were actually set, resulting in a crash.
xps/xpstop.c
2012-03-16 09:35:53 +0000
Ken Sharp <ken.sharp@artifex.com>
25b6a2cdeb5a90bb7803958f2bf15b618fbcf120
pdfwrite - cure memory leaks caused by 'aside' streams
When writing an object it can happen that pdfwrite needs to write another
object (Eg a ToUnicode CMap in a font), it does this with an 'aside' which
opens a Ghostscritp stream to contain the data.
The code to do this uses low level access to the stream code, but it did
not previously correctly free the memory used by the stream and its associated
buffer leading to memory leaks.
By closing the entire stream when we close the filters we get the stream and
all its memory freed, so we do that here to cure the memory leak.
Inspecting the four other cases in the pdfwrite code they appear to be OK.
No differences expected.
gs/base/gdevpdti.c
2012-03-16 00:51:54 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
ca6e4653abdc2921e44f416633b7d5e4bc5f4382
Add indexed color space support to the ICC extraction tool.
Recognize ICC color spaces referenced by indexed color spaces and
process them the same way as stand-alone ICC color spaces.
gs/toolbin/extractICCprofiles.ps
2012-03-15 12:07:51 -0700
Michael Vrhel <michael.vrhel@artifex.com>
044b6ca010ecb8f264fcd4b3515051c037659967
Fix for broken setting of Default ICC profiles
A recent change http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=d6f504174bd51d22cc43b2f87bee8c275c004cc1
broke the ability to set the profiles. Previously there was a check in gsicc_set_profile to
avoid reseting the profiles. Once removed, the call from gsicc_init_manager was always blowing
away any non default settings for the defaults. A check was added into gsicc_init_manager to
avoid this.
gs/base/gsicc_manage.c
2012-03-15 09:58:51 -0700
Michael Vrhel <michael.vrhel@artifex.com>
72fe9304f98beff3c97347d6e402bb812136de49
Fix for memory issue in icc user params
The icc user parameters where improperly being set as being persistent
for the user params list when they were not. In the case when we are
using the output intent profile, one of the default profiles is freed
and replaced by the output intent profile. In this case, the default
profile contained the string that was used for the user params. During
a VMreclaim, we would then go and restore the user params and
unfortunately this default one had been freed.
gs/base/gsicc_manage.c
2012-03-14 09:15:36 -0700
Michael Vrhel <michael.vrhel@artifex.com>
82d1d263a13ccfe64e78cd0e6f1cf1a275adcb9c
Update of Use.htm to include description of -dUsePDFX3Profile
gs/doc/Use.htm
2012-03-02 10:52:19 -0800
Michael Vrhel <michael.vrhel@artifex.com>
1d8c46688c07cec9e58f492223d1a9c92f4374e4
Output Intent Implementation Part 2
The interpreter part of the output intent plus fixes in the c code.
Thanks to Alex for his help on this.
gs/Resource/Init/pdf_draw.ps
gs/Resource/Init/pdf_main.ps
gs/base/gsicc_manage.c
gs/psi/zicc.c
2012-03-13 22:45:00 -0700
Michael Vrhel <michael.vrhel@artifex.com>
0eae84aaf7a1c27f077d4aff3050ae48bb5a6aaa
Fix for broken tiff devices due to use of huge signed number in overflow test
0xFFFFFFFF is used in a calculation to see how close we are to the 4G limit in
a tiff file. Problem was this was cast as a long which, in a 32 bit
system ends up being -1.
gs/base/gdevtsep.c
2012-03-13 10:13:06 -0700
Ray Johnston <ray.johnston@artifex.com>
aa131f2321abe0e65415242a4563fbf3fba005fa
Make -dPDFA backwards compatible, equivalent to -dPDFA=1
As of commit d0371d9 the actual device parameter was changed to be an int.
This change detects if it is defined as a boolean and sets it to 1 if so.
gs/Resource/Init/gs_init.ps
2012-03-13 09:37:15 +0000
Ken Sharp <ken.sharp@artifex.com>
d21eb36fda00dcfefc2e65c2202cb0536562385d
pdfwrite - correction to PDF/A processing
The previous commit for PDF/A prcoessing did not properly check the PDF/A
level in the PostScript handlers, and treated any setting as being PDF/A.
In fact only settings greater than 0 shuold be checked, 0 means 'not PDF/A'
Add code in gdev_pdf_put_params to ensure that PDFA has a permitted value
(0->2) and signal rangecheck if not.
No differences expected.
gs/Resource/Init/gs_cspace.ps
gs/Resource/Init/gs_pdfwr.ps
gs/base/gdevpdfp.c
2012-03-13 09:20:59 +0000
Ken Sharp <ken.sharp@artifex.com>
d0371d915bae6b3d52487d49e470b0e560837ab2
pdfwrite - first pass at PDF/A-2 output
This is the first part of making it possible to produce PDF/A-2b output from
pdfwrite.
The PDFA switch has changed from a boolean to an integer, where the value gives
the level of PDF/A compatibility. This has knock-on effects throughout the
C and PostScript code which has been revised to expect an integer instead
of boolean value.
When PDFA has the value 2 we no longer flatten transparency, and we write
'2' in the pdfaid field in the XMP metadata.
PDF/A-1b output still seems to work correctly, but it is unlikely that the
work so far is sufficient for correct PDF/A-2 output.
No differences expected as the cluster does not test PDF/A output.
gs/Resource/Init/gs_cspace.ps
gs/Resource/Init/gs_pdfwr.ps
gs/base/gdevpdfb.c
gs/base/gdevpdfc.c
gs/base/gdevpdfe.c
gs/base/gdevpdfg.c
gs/base/gdevpdfj.c
gs/base/gdevpdfm.c
gs/base/gdevpdfo.c
gs/base/gdevpdfp.c
gs/base/gdevpdfu.c
gs/base/gdevpdfx.h
gs/base/gdevpdtb.c
gs/base/gdevpdtd.c
gs/base/gdevpdte.c
gs/base/gdevpdtf.c
gs/base/gdevpdti.c
gs/base/gdevpdtt.c
gs/base/gdevpdtw.c
gs/doc/Ps2pdf.htm
2012-03-12 21:57:09 -0400
Alex Cherepanov <alex.cherepanov@artifex.com>
bdcf6ae7c1dab92c48715982ae804211dc558a78
Bug 692851: Implement the case of bps < 8 for Luratech JPX decoder
Implement a missing case of Luratech JPX with components > 1, and
bps < 8. Also fix incorrect bit shift calculation in OpenJpeg
part.
gs/base/sjpx_luratech.c
gs/base/sjpx_openjpeg.c
2012-03-10 00:15:41 +0000
Robin Watts <robin.watts@artifex.com>
5352d4cf5b3fd17a22b4a126fe5d5fdceb0ad7b6
Revert "Support HPGL style path handling. (Work in progress)"
This reverts commit 93bf2df8f6a6b2ed60a8c3f5037865b8646243db.
gs/base/gdevpdfd.c
gs/base/gdevtrac.c
gs/base/gdevvec.c
gs/base/gspath.c
gs/base/gspath1.c
gs/base/gspenum.h
gs/base/gsstate.c
gs/base/gsstate.h
gs/base/gxclpath.c
gs/base/gxcpath.c
gs/base/gxistate.h
gs/base/gxline.h
gs/base/gxpath.c
gs/base/gxpath.h
gs/base/gxpath2.c
gs/base/gxpcopy.c
gs/base/gxpdash.c
gs/base/gxstroke.c
gs/base/gxttfb.c
gs/base/gzpath.h
gs/psi/zgstate.c
2012-03-09 15:31:50 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
b89c0e35a15e3a786da346d3cd63d0c558a9fb6a
Hack to fix memento.c build problem on Mac OS X.
gs/base/memento.c
2012-03-09 13:53:55 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
dc98b15546522ce28edad3f129f1ae8e05300a34
Change compression of the tiffsep device composite output to match the separations.
Previous to this commit the tiffsep device would always write out
an uncompressed composite file; the separation files were lzw
compressed by default and this could be changed via the -sCompression=
option. Now the compression of the composite file is the same as
that of the separation files.
Fixes Bug 692907.
gs/base/gdevtsep.c
gs/doc/Devices.htm
2012-02-27 03:11:02 +0000
Robin Watts <robin.watts@artifex.com>
93bf2df8f6a6b2ed60a8c3f5037865b8646243db
Support HPGL style path handling. (Work in progress)
HPGL handles paths slightly differently to the postscript imaging model.
When a path is filled, successive moveto's are treated as linetos.
(i.e. the 'place we close the path to' is left at the first moveto,
and the area remains fillable). Stroking is unaffected however.
To model this in Ghostscript we add a new path segment type 's_gap'.
The filling code treats this as a lineto. The stroking code is updated
to not stroke such edges (and not to break the subpath at this point).
We add a new parameter to the imager state (hpgl_fill_mode), new
accessor functions (gs_sethpglfillmode, gs_currenthpglfillmode),
and new postscript operators (.sethpglfillmode and .currenthpglfillmode).
If hpgl fill mode is set to a non-zero value, then path construction
treats movetos in an open subpath as gaptos.
Still to do:
* Double check the output from this code matches HPGL.
* Update the clist code to send hpgl fill mode changes.
* Update PDF write to spot such paths and to convert them as
appropriate when writing out.
gs/base/gdevpdfd.c
gs/base/gdevtrac.c
gs/base/gdevvec.c
gs/base/gspath.c
gs/base/gspath1.c
gs/base/gspenum.h
gs/base/gsstate.c
gs/base/gsstate.h
gs/base/gxclpath.c
gs/base/gxcpath.c
gs/base/gxistate.h
gs/base/gxline.h
gs/base/gxpath.c
gs/base/gxpath.h
gs/base/gxpath2.c
gs/base/gxpcopy.c
gs/base/gxpdash.c
gs/base/gxstroke.c
gs/base/gxttfb.c
gs/base/gzpath.h
gs/psi/zgstate.c
2012-03-09 17:58:13 +0000
Robin Watts <robin.watts@artifex.com>
91b362b05a16c4d74f9309d92fa7387899fed53a
Fix typo in last commit that stopped Memento builds working.
Committed before VS had saved out. Sorry.
CLUSTER_UNTESTED.
gs/base/memento.c
2012-03-09 16:57:13 +0000
Robin Watts <robin.watts@artifex.com>
c66ce76a0c6f8edb075f28ffe1e8f326cc9eb40c
Updated Memento pulled in from mupdf. Plus nesting fixes.
Bring in Memento from MuPDF (where it has had some more tweaks
added). Fix the nested display code. Add hack to ignore prev/next
pointers in chunk blocks.
CLUSTER_UNTESTED.
gs/base/memento.c
gs/base/memento.h
2012-03-09 14:47:43 +0000
Robin Watts <robin.watts@artifex.com>
75bc089fe804d692d8ac86a6f19be807980084f3
Fix Memento GhostPDL builds to actually build Memento on windows.
Windows makefiles were failing to pass the MEMENTO flag down due
to some makefile wackiness.
CLUSTER_UNTESTED.
common/msvc_top.mak
gs/base/msvclib.mak
2012-03-09 10:41:29 +0000
Ken Sharp <ken.sharp@artifex.com>
7629dfecfafa5b3fc82b3767a786b732a0b17645
colour handling - ensure ink names are maintained in the name table while in use
Bug #692884 "Empty Spotcolor Name in generated PDF"
The ink name wasn't being marked as 'in use' by the colour space structure
and so was being freed by a garbage collection, resulting in an empty name.
Robin Watts supplied this patch which allows us to *much* more easily mark
names as in use, and also kindly updated the colour handling as well.
No differences expected.
gs/base/gscdevn.c
gs/base/gscsepr.c
gs/base/gslib.c
gs/base/gsstruct.h
gs/psi/igc.c
pl/plplatf.c
2012-03-07 17:56:47 -0700
Henry Stiles <henry.stiles@artifex.com>
e76a4d070d7d6d90cc7d09849108bca806a9b253
Change the icc user parameter operators to use the graphics state not
the imager state.
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
gs/psi/zusparam.c
2012-03-07 17:43:07 +0000
Robin Watts <robin.watts@artifex.com>
ff83bab4ddf49c5bbbce9a37cfa8e4d5c42c9009
Add MEMENTO to preprocessor definition list in the VS solution.
No difference to builds, but may make intellisense work better
for Memento builds.
gs/ghostscript.vcproj
win32/language_switch.vcproj
win32/pcl.vcproj
win32/svg.vcproj
win32/xps.vcproj
2012-03-07 17:41:32 +0000
Robin Watts <robin.watts@artifex.com>
b47dc4f294e2b267d139001c6c749603e6ba2570
Tweak rm.bat (and hence fix 'clean' builds on windows)
Cope with -r command. Add /Q flag to erase call (so it doesn't prompt
before deleting).
gs/base/rm.bat
2012-03-07 17:13:35 +0000
Chris Liddell <chris.liddell@artifex.com>
f63237e1bb9a85124349ec0d0eae58737d7cb5ee
Problems with glyphs, T1 patterns and transparecy.....
From investigations of a problem reported by customer 532.
When imaging a cached glyph, if the glyph bitmap cannot be inserted into the
clist tile cache, we'd normally resort to degenerating the glyph bitmap into
rectangles, and writing those to the clist. When the glyph is filled with a
tiling (Type 1) pattern, this means going through the pattern tiling code.
The problem is when transparency is involved (i.e. if the pattern is in a trans
group, or contains a transparency group) the tiling code cannot reliably
degerate to rectangles at this stage. This usually just works due to the various
fallbacks in the clist writing code and the glyph imaging code, but
occasionally glyphs can either disappear, or other problems occur.
This change makes us use that "fallback" route for all glyphs when we're
filling a glyph with a type 1 pattern, with transprency involved and we're
writing to a clist device.
NOTE: this is analogous to what the FAPI does in similar circumstances for
uncached glyphs.
No cluster differences.
gs/base/gsptype1.c
gs/base/gsptype1.h
gs/base/gxccache.c
2012-03-06 09:06:55 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
23e37b6fc4d79741007cc18d770bb3e449e53014
Fix the checks in gdevtsep.c missed by commit e954dd4683c35dbd66de3e045d979ebbf20c4d72
Henry pointed out that my e954dd4683c35dbd66de3e045d979ebbf20c4d72
fix was incomplete; this commit replaces the remaining max_long
references with 2^32-1.
gs/base/gdevtsep.c
2012-03-01 13:47:18 -0700
Henry Stiles <henry.stiles@artifex.com>
0611ef428368816b4f123003df98263e674eab5a
Add command line parsing for icc user parameters.
pcl/pctop.c
pl/plmain.c
pl/plmain.h
pl/pltop.h
pxl/pxtop.c
xps/xpstop.c
2012-03-05 19:21:53 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
e954dd4683c35dbd66de3e045d979ebbf20c4d72
Fix detection of TIFF file size overflow in tiffsep.
The TIFF spec limits files to 4 Gigs. The code to detect attempts
to write files that were larger than this in gdevtsep.c was broken
on systems were a long != 32 bit.
Fixes Bug 692896.
gs/base/gdevtsep.c
2012-02-29 12:55:19 -0800
Michael Vrhel <michael.vrhel@artifex.com>
d6f504174bd51d22cc43b2f87bee8c275c004cc1
User params reset issue of icc profile strings
If the user params end up getting set during a vmreclaim
while we are in a swapped icc profile situation when
processing a softmask we were ending up freeing profiles
that should not have been freed. This issue was masked
by a check that was disallowing profiling settings in
the manager once they were already set. Also discovered
issues with a corner case where we have a softmask that
includes a pattern with a softmask.
gs/base/gdevp14.c
gs/base/gscms.h
gs/base/gsicc_manage.c
2012-03-03 16:41:59 -0700
Henry Stiles <henry.stiles@artifex.com>
32463b4fe74f855e39be7b5eb74d8be444fffae3
Fix 692893 gl/2 rectangles not properly placed.
When resetting the hpgl/2 page parameters we were setting scaling to
its default value overriding any setting in the PCL job. HP does not
reset the scaling as might be expected.
pcl/pginit.c
2012-03-03 11:03:53 -0700
Henry Stiles <henry.stiles@artifex.com>
0c98813be9c1a24bbcf9ca0c1d4127cb4aa4209f
Fixes bug 692894, orientation of pcl pages incorrect.
This is a case of the current code emulating undocumented behavior
incorrectly. It appears the HP printers resets the print direction
upon receiving a new page size command. Previously we tried to emulate
this by not resetting the logical page orientation which is incorrect
but happened to print the tests we had correctly.
pcl/pcpage.c
pcl/pcstate.h
2012-02-17 13:51:23 -0700
Henry Stiles <henry.stiles@artifex.com>
9d10c339014b9e554116ef55c697f50109071bb2
Better error handling in the absence of fonts.
pcl/pcfsel.c
pcl/pctext.c
2012-03-02 22:34:20 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
7180b9328f00fb5df41e6d019e16f70ae4f66ec7
Clean up of distclean target in Makefile.
Improve the distclean target so that the Memento obj and bin directory
contents are deleted and also remove the debug, pg, memento, and
production obj and bin directories.
gs/base/Makefile.in
gs/base/gs.mak
gs/base/unix-dll.mak
2012-03-02 11:50:41 +0000
Chris Liddell <chris.liddell@artifex.com>
ceef3232c1fce21f65d4ba43bb54eaf678389bfd
Bug 692891: don't hack the libjpeg mem manager....
When linking with a shared libjpeg library, don't include the non-public
libjpeg API hack to replace it's low level memory manager with Ghostscript's.
But still do so when using our "local" libjpeg source.
No cluster differences.
gs/base/sjpegc.c
2012-03-02 11:41:21 +0000
Chris Liddell <chris.liddell@artifex.com>
aa3a2bb36828d07c2b71ff0a37f784d8e6fb0f5a
Fix the "WHICH_CMS" setting.....
...so it uses the $(D_) and $(_D_) variables instead of -D directly.
No cluster differences.
gs/base/lib.mak
2012-03-01 11:06:54 +0000
Ken Sharp <ken.sharp@artifex.com>
2a57a68efe18dd4f7898b180400a95d7baccfbc2
pdfwrite - Improve handling of PCL downloaded TrueType fonts
Bug #692629. PCL TrueType fonts are missing some important tables for the
purposes of pdfwrite. In particular the CMAP table, which makes it impossible
to create glyph names.
This causes an error which *should* have resulted in pdfwrite falling back to
bitmaps. In the case of a single glyph, or a string where the fiirst glyph fails,
this did work correctly, but when one or more initial glyphs did work, the
calling code did not expect an error from TrueType fonts and failed to cope
properly by continuing to process the remaining glyphs.
Added TrueType fonts to the list which may error in this fashion.
Expected Differences:
AS40AOJ3.BIN
LW97DOJ2.BIN
SW108OJ2.BIN
VerdanaItalic.prn
bug689100.xl
bug689905.xl
All exhibit significant progressions (text was previously missing)
gs/base/gdevpdtt.c
2012-03-01 07:43:13 +0000
Chris Liddell <chris.liddell@artifex.com>
867fb8607edd04b0b1c8e8bd635347a542b0f50f
Bug 692602: revise script vs job confusion
Slight revision to the previous change, again from jrnieder@gmail.com.
CLUSTER_UNTESTED
gs/man/gs.1
2012-02-29 16:46:33 +0000
Chris Liddell <chris.liddell@artifex.com>
90e6a864f0e4b4b0e6d6a0a1258295cf1cb3e1a6
Bug 692602: revise SAFER section in the man page
patch courtesy of Jonathan Nieder ( jrnieder@gmail.com ).
CLUSTER_UNTESTED
gs/man/gs.1
2012-02-29 11:20:50 +0000
Robin Watts <robin.watts@artifex.com>
3648acb1e3fd3e07faceedde1a71e1b282e25de3
Revert "Support HPGL style path handling."
This reverts commit 43f3cdae4bdf00c09fdd69c53c03fb99d0b4aca1.
This caused unexpected changes in many postscript files. Reverting
until I can figure out why.
gs/base/gdevpdfd.c
gs/base/gdevtrac.c
gs/base/gdevvec.c
gs/base/gspath.c
gs/base/gspath1.c
gs/base/gspenum.h
gs/base/gsstate.c
gs/base/gsstate.h
gs/base/gxclpath.c
gs/base/gxclpath.h
gs/base/gxclrast.c
gs/base/gxcpath.c
gs/base/gxistate.h
gs/base/gxline.h
gs/base/gxpath.c
gs/base/gxpath.h
gs/base/gxpath2.c
gs/base/gxpcopy.c
gs/base/gxpdash.c
gs/base/gxstroke.c
gs/base/gxttfb.c
gs/base/gzpath.h
gs/doc/Language.htm
gs/psi/zgstate.c
2012-02-29 08:31:44 +0000
Ken Sharp <ken.sharp@artifex.com>
34b2e8fd2c33a7fc349b0c51046c3d0c99b74d0c
pdfwrite - Fix XMP ModDate metaData
The XMP metadata Modification date was being written using the Creation
date instead of the Modification date.
No differences expected, metadata is not checked by regression tests
gs/base/gdevpdfe.c
2012-02-28 12:01:12 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
8e228753bde054e549c8643cf726c951a512a4a6
Another fix to fuzzy.c dealing with different sized input files.
gs/toolbin/tests/fuzzy.c
2012-02-27 03:11:02 +0000
Robin Watts <robin.watts@artifex.com>
43f3cdae4bdf00c09fdd69c53c03fb99d0b4aca1
Support HPGL style path handling.
HPGL handles paths slightly differently to the postscript imaging model.
When a path is filled, successive moveto's are treated as linetos.
(i.e. the 'place we close the path to' is left at the first moveto,
and the area remains fillable). Stroking is unaffected however.
To model this in Ghostscript we add a new path segment type 's_gap'.
The filling code treats this as a lineto. The stroking code is updated
to not stroke such edges (and not to break the subpath at this point).
We add a new parameter to the imager state (hpgl_path_mode), new
accessor functions (gs_sethpglpathmode, gs_currenthpglpathmode),
and new postscript operators (.sethpglpathmode and .currenthpglpathmode).
If hpgl path mode is set to a non-zero value, then path construction
treats movetos in an open subpath as gaptos.
Still to do:
* Update PDF write to spot such paths and to convert them as
appropriate when writing out.
gs/base/gdevpdfd.c
gs/base/gdevtrac.c
gs/base/gdevvec.c
gs/base/gspath.c
gs/base/gspath1.c
gs/base/gspenum.h
gs/base/gsstate.c
gs/base/gsstate.h
gs/base/gxclpath.c
gs/base/gxclpath.h
gs/base/gxclrast.c
gs/base/gxcpath.c
gs/base/gxistate.h
gs/base/gxline.h
gs/base/gxpath.c
gs/base/gxpath.h
gs/base/gxpath2.c
gs/base/gxpcopy.c
gs/base/gxpdash.c
gs/base/gxstroke.c
gs/base/gxttfb.c
gs/base/gzpath.h
gs/doc/Language.htm
gs/psi/zgstate.c
2012-02-24 22:37:26 -0800
Michael Vrhel <michael.vrhel@artifex.com>
0d095e8511ec1469b0ef4cb741d1fba9363570e7
Movement of code for setting ICC system/user params into graphics lib.
The code that set the system/user params related to ICC profiles was
contained in the zusparam.c file. This file is not used with the
other languages (e.g. xps and pcl). The functions that do the actual
work have been moved to gsicc_manage reducing any code duplication for
the other languages.
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
gs/psi/zusparam.c
2012-02-25 14:54:03 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
6d93192f3469bedb51f73abc0a1f8f71d3bfba24
Bug 692878: Convert Type 4 image with invalid mask to Type 1
Improve the revision 3de55841eefb38c751772ac767c5abab155d7d91.
Convert Type 4 images with invalid /Mask attribute to Type 1
images. Previous version used the mask [1 0] in such cases,
which was not compatible with pdfwrite.
gs/Resource/Init/pdf_draw.ps
2012-02-25 15:07:08 +0000
unknown <ken@.(none)>
7d97d5dcfcfb580177566b0f03d75048485683ac
Bug #692880 Correct the initial Windows display device flags for PCL
The flags used for the Windows display device were incorrect and caused
at least some rasterops not to display correctly.
No expetced differences, the display device, and Windows builds, are not
cluster tested.
pl/dwmainc.c
2012-02-24 21:25:08 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
b9971445d1460a3b0c57b176c73d722ed6db99e1
Add "-I directories" option.
Add a new form of -I option similar to -o, where the directory list
is taken from the next parameter. This form is more convenient to use
on UN*X command line with tilda expansion.
gs/doc/Use.htm
gs/psi/imainarg.c
2012-02-24 20:45:31 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
9178d875547dafe5f89ae7bbbe9f4fd83e18000c
Bug 692867: ignore PDF path operators without current point
Run l, c, v, y in a stopped context. When they fail (presumably
with /nocurrentpoint), ignore the operator and continue.
gs/Resource/Init/pdf_draw.ps
2012-02-21 11:30:58 -0800
Michael Vrhel <michael.vrhel@artifex.com>
2c4aa5f1a90ee03aacce58f24b819cab3bdd1625
Fix for bug 692865. Make XPS interpreter use ICC color spaces for default
The XPS interpreter was still using Device color spaces for its default
color spaces. This fix has it use ICC color spaces by default which
is required by the spec. This revealed an issue with the color space
handling of the opacity masks. These were getting drawn in sRGB color
space but the transparency group is linear gray. Since we are drawing
the opacity mask as a luminosity mask that is gray we ended up
mapping through a nonlinearity.
gs/base/gscspace.c
gs/base/gscspace.h
gs/base/gxblend.c
xps/ghostxps.h
xps/xpsgradient.c
xps/xpsimage.c
xps/xpsopacity.c
xps/xpspage.c
xps/xpstop.c
2012-02-24 18:39:09 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
77a8045048a4aaa727f700187816170d7fbd072c
Bug 692832: Drop setcachedevice calls with large arguments.
Reject setcachedevice arguments that are too big and, probably, invalid.
The threshold, 32000, is arbitrary. Normal fonts have the values about 1000.
gs/base/gxchar.c
2012-02-24 18:27:41 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
9aedcfcd26aea249e0a06061f4d2e579fa5cdffc
Bug 692859: Add Portfolio support to pdf_info.ps
Enumerate PDF subfiles in PDF collection (=portfolio) and apply
the old pdf_info.ps to every component.
gs/toolbin/pdf_info.ps
2012-02-23 01:25:59 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
3de55841eefb38c751772ac767c5abab155d7d91
Bug 692851: Fix OpenJpeg JPX with components > 1, and bps < 8
Fix packing of multi-component color values with bps < 8 into the
output stream. This results in progressions on Bug691843.pdf, and
minor differences in Bug690147.pdf
gs/base/sjpx_openjpeg.c
2012-02-22 09:40:31 -0800
Michael Vrhel <michael.vrhel@artifex.com>
b105c3678ff3c22ab65995953b4599d8c5c37a7e
Typo fix in non color managed transform
Thanks to Peter Skarpetis for finding this.
gs/base/gxblend1.c
2012-02-22 11:27:16 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
b4a8edb730e25f5c03103a2bb687e223a440d990
Bug 692852: Broken /Mask in 1 bpc /Indexed images
Following AR9 implementation, add special processing for
repairing a broken /Mask attribute of 1 bpc indexed images.
Ignore the whole Mask if its first element is out of range.
Replace the second component with 1 when it's out of range.
gs/Resource/Init/pdf_draw.ps
2012-02-20 06:23:06 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
ed07da9075aa82bc0c4335228cc9c934e6efdb45
Revert 2e807ab6d4eecfce43561b9e8d5b66386a5165ee and fix fuzzy.c correctly.
gs/toolbin/tests/fuzzy.c
2012-02-19 15:45:43 -0800
Ray Johnston <ray.johnston@artifex.com>
e277c5e8d76325f56259a4f930caa166a594cfc0
Improve image performance by rotating Width 1 images to Height 1.
The image code makes a call to 'image_render' for each line of the Height. This defeats the joining
of any same color pixels into a larger rectangle and also creates extra overhead. Problem analyzed
with profiles from cust 532 file "PWTTQ1CC.pdf". Regression testing shows some single pixel differences
presumably due to rounding, but no obvious problems.
gs/psi/zimage.c
2012-02-18 09:28:14 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
2e807ab6d4eecfce43561b9e8d5b66386a5165ee
Make fuzzy not lock up when comparing images of different sizes.
gs/toolbin/tests/fuzzy.c
2012-02-16 20:03:26 +0000
Robin Watts <robin.watts@artifex.com>
d00354a21670d16f00c96228591b3d8213d6a590
Fix interpolation of indexed colorspaces.
WMB1102317A01.pdf (supplied by a customer) shows a problem with
Interpolation of Index colorspaces.
Specifically, we have an Indexed DeviceGrey space (which is, in
the new world order, an Indexed ICC space, with 1 component).
At line 678 of gxiscale.c we correctly detect that pcs->type->index
is Indexed, and therefore use the base space as the 'actual' space.
At line 683 we find the concrete space (which in this case is
exactly the same space). We then decide whether we are working in
an icc world, or a device_color world by checking for the presence
of icc data. The old code used to (incorrectly) check pcs (the
indexed space), when it should really have checked the concrete
space.
The remaining changes in the code are purely tidying:
* avoid calling concrete_space a second time (when pconcs already
holds the answer)
* pass pconcs as an arg when calling pconcs->type->remap_concrete_color
rather than pactual_cs. At that point pactual_cs and pconcs must
be identical, but it's nicer to be consistent.
This produces 3 differences in the cluster tests, all in the cups
tests. These can be reproduced locally using tiffsep.
comparefiles/148-11.ps.cups.300.1
Definite progression
PDFIA1.7_SUBSET/CATX1028.pdf.cups.300.1
Looks like progression to me
ps/ps3cet/12-07B.PS.cups.300.1
Definite progressions on page 12-15. A problem still exists on
page 12 though, but that's unaffected by this change.
gs/base/gxiscale.c
2012-02-16 18:16:16 +0000
Robin Watts <robin.watts@artifex.com>
21579b00e53b97cd655f164bb92c5280c586e365
Output helpful debug warning when tif output would be too large.
Currently we just raise a rangecheck, which can be very confusing.
CLUSTER_UNTESTED.
gs/base/gdevtsep.c
2012-02-15 19:03:56 +0000
Robin Watts <robin.watts@artifex.com>
43b14b24fcc13d816dd41ca335d52cd3074bd0d8
Update garbage collection to cope with pdf14_compressed_color_list.
A second list of compressed colors was recently added to the
gdevn_params structure, but this wasn't added to the garbage
collection routines. Fixed here.
gs/base/gdevp14.c
gs/base/gdevpsd.c
gs/base/gdevtsep.c
2012-02-15 19:02:34 +0000
Robin Watts <robin.watts@artifex.com>
d375ea1908bfe1770b108a6c7d1e7cdbe38b99f2
Fix Division by Zero in interpolated scaler.
If we find we are scaling an image to be zero width or
height, handle the image without interpolation.
gs/base/gxiscale.c
2012-02-14 18:11:15 -0700
Henry Stiles <henry.stiles@artifex.com>
0a0aa751d8cb5d49052a0c4ed3ae38ad66b9fb8e
Fix 692857, wrong current unit initialization in HPGL/2-RTL.
The code was actually written fixed once correcly but then was broken
with a bad fix (5ad194f) largely because we didn't have good bookkeeping
for the original fix. Hopefully now that we have an associated bug
report and test file a similar problem won't happen again.
pcl/pcjob.c
2012-02-14 14:57:07 +0000
Robin Watts <robin.watts@artifex.com>
00a96d35b30d77f8dfbc8ae12326c81053fc50c9
Fix Bug 692854; tweak gdev_prn color procs.
A previous commit (cf37ea5) changed the prn device macros to
duplicate map_color_rgb/map_rgb_color to encode/decode_color.
I thought this was safe as the default color encoding/decoding
functions were actually implemented as encode/decode, rather
than map_ variants.
Unfortunately, this falls down when other devices (such as the
tiffscaled ones) provide genuine map_ functions rather than
encode/decodes.
So, a small tweak to the macros is required; we now duplicate
to encode/decode only if specifically told to - and the macros
that use the defaults specifically say to. Other devices should
remain unchanged.
gs/base/gdevprn.h
2012-02-13 08:46:29 -0800
Michael Vrhel <michael.vrhel@artifex.com>
ba2a8e63783227033506688bebccf664b2b922c7
C portion for making use of output intent ICC profile.
This commit puts into place the c-code for making use of an
ICC profile stream from the PDF interpreter for setting of the
output intent. This is done through the use of zset_outputintent.
This function will make the various settings of the icc profiles
in the device and in the icc manager based upon the process model
of the target device and the icc profile of the output intent. It
will be up to the interpreter to make the call to .set_outputintent
with the proper output intent ICCBased dictionary on the top of the
stack. This should be done in the interpreter after the device has
been set up and all the default ICC profiles are in place. The
interpreter should make the call if we have specified -dUsePDFX3Profile.
The first output intent that is present in the file should be used,
unless someone specifies a different intent through the use of
–dOutputIntent=x . In this case, the x+1 output intent (if it
exists) will be used. Note that if the particular output intent does
not include an ICC profile entry (DestOutputProfile), then the output
intent will not be used. In this case, we will eventually want to
specify what the OutputConditionIdentifier was for that particular
intent if it was missing the DestOutputProfile.
gs/base/gdevpdfk.c
gs/base/gscms.h
gs/base/gsequivc.c
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
gs/psi/int.mak
gs/psi/zicc.c
2012-02-12 21:14:34 -0700
Henry Stiles <henry.stiles@artifex.com>
7aa3debb84673b38d805aa6de1afce60f0d6c6ab
Improve character fills, bug #692849.
The unusual loops inside the characters (graphic 3 and 8 center of
page) were caused by trying to edge stick and arc fonts which aren't
outlines but paths (stroked fonts).
pcl/pgdraw.c
pcl/pglabel.c
pcl/pgmisc.h
2012-02-10 18:13:00 -0700
Henry Stiles <henry.stiles@artifex.com>
bcdb21c092a4a788d7252cc1b560aa427743a197
Improvements for bug 692849.
Better emulation of HP printers in the absence of a requested pattern.
pcl/pcl.mak
pcl/pglfill.c
2012-02-10 11:29:16 -0700
Henry Stiles <henry.stiles@artifex.com>
a81f5d7f83271e2e3e0fb28ad32c9fb337c8553a
Bug 692849, missing green filled boxes fixed.
The green boxes for fill type 22 (user defined) were missing because
the download pattern command was disabled in HPGL-2/RTL mode.
pcl/pcuptrn.c
2012-02-09 17:24:34 -0700
Henry Stiles <henry.stiles@artifex.com>
1bf302eec20ce9b543aee523b441dd7adc677cc0
Remove relic data files used by the wts device.
CMYK.icc
Makefile
link.icc
sRGB.icc
wts_dump_0
wts_plane_0
wts_plane_1
wts_plane_2
wts_plane_3
2012-02-09 17:15:41 -0700
Henry Stiles <henry.stiles@artifex.com>
e2867c6bcb2dc6cf9325e9ac87f980684469dee4
PCL shared library build for unix.
Makefile
common/ugcc_top.mak
main/pcl6_gcc.mak
2012-02-10 17:24:00 +0000
Robin Watts <robin.watts@artifex.com>
a13600f1c241c3e36dbe4973e9d78a8934b16004
Further clipping optimisations.
When clipping the region to be used for an image plot, reduce the
rectangle by the outer box of the clipping path before checking to
see if a clip is needed or not.
This enables us to avoid a clipping device in more cases.
gs/base/gxclip.c
2012-02-10 17:20:36 +0000
Robin Watts <robin.watts@artifex.com>
cf37ea5d017193c76341aafd60e35d3b1826046f
Prn device changes to encode/decode_color.
At the moment, prn devices do not implement encode_decode/color,
choosing instead to provide map_rgb_color/map_color_rgb which
just get called through a 'backwards compatibility' layer.
In fact, they actually implement encode/decode_rgb rather than
map_rgb_color/map_color_rgb, so we just copy the entries here.
No changes expected in cluster.
gs/base/gdevprn.h
2012-02-09 00:00:31 +0000
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
082c31b99fd38ebb1a9bc678d06ac9791db2e222
Bug 690974: This patch from Gorac implements the generic refinement region
decoding procedure for when TPGRON is TRUE.
gs/jbig2dec/jbig2_refinement.c
2012-02-08 23:13:13 +0000
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
8b150573a88276849b32b359030fc195786d2be8
Bug 690870: This patch prevents the image compositing occurring if the src
is outside of the clip region.
gs/jbig2dec/jbig2_image.c
2012-02-08 09:50:34 -0800
Michael Vrhel <michael.vrhel@artifex.com>
059dfa8389ff1dde2bb35237b12f72c6fd62da9b
Fix for bug 682719. Fix bad icc profiles in examples/annots.pdf
The ICC profiles in annots.pdf were missing all sorts of required information in
the header.
gs/examples/annots.pdf
2012-02-08 08:40:12 +0000
Chris Liddell <chris.liddell@artifex.com>
a2390c3b6be80d1147f1ef60c16c70d75033a475
Amend date and update changelog for 9.05 release.
CLUSTER_UNTESTED
gs/base/version.mak
gs/doc/API.htm
gs/doc/C-style.htm
gs/doc/Commprod.htm
gs/doc/DLL.htm
gs/doc/Deprecated.htm
gs/doc/Details8.htm
gs/doc/Details9.htm
gs/doc/Develop.htm
gs/doc/Devices.htm
gs/doc/Drivers.htm
gs/doc/Fonts.htm
gs/doc/Helpers.htm
gs/doc/History1.htm
gs/doc/History2.htm
gs/doc/History3.htm
gs/doc/History4.htm
gs/doc/History5.htm
gs/doc/History6.htm
gs/doc/History7.htm
gs/doc/History8.htm
gs/doc/History9.htm
gs/doc/Install.htm
gs/doc/Issues.htm
gs/doc/Language.htm
gs/doc/Lib.htm
gs/doc/Make.htm
gs/doc/News.htm
gs/doc/Projects.htm
gs/doc/Ps-style.htm
gs/doc/Ps2epsi.htm
gs/doc/Ps2pdf.htm
gs/doc/Ps2ps2.htm
gs/doc/Psfiles.htm
gs/doc/Readme.htm
gs/doc/Release.htm
gs/doc/Source.htm
gs/doc/Unix-lpr.htm
gs/doc/Use.htm
gs/doc/WhatIsGS.htm
gs/doc/Xfonts.htm
gs/doc/gs-vms.hlp
gs/doc/thirdparty.htm
gs/man/dvipdf.1
gs/man/font2c.1
gs/man/gs.1
gs/man/gslp.1
gs/man/gsnd.1
gs/man/pdf2dsc.1
gs/man/pdf2ps.1
gs/man/pdfopt.1
gs/man/pf2afm.1
gs/man/pfbtopfa.1
gs/man/printafm.1
gs/man/ps2ascii.1
gs/man/ps2epsi.1
gs/man/ps2pdf.1
gs/man/ps2pdfwr.1
gs/man/ps2ps.1
gs/man/wftopfa.1
2012-02-01 10:59:52 +0000
Chris Liddell <chris.liddell@artifex.com>
eed3745432f9bce3e20d9b634d78d1a72dbbf040
Update docs for 9.05 release candidate.
CLUSTER_UNTESTED
gs/doc/History9.htm
2012-02-08 15:01:57 +0000
Ken Sharp <ken.sharp@artifex.com>
0816e3b87ec1843a31e3075a4fa382e844a46158
Bug #688227 Alter the PostScript 'show' operators so that the show enumerator is in local VM
As described in the bug, it seems to be technically possible for a local font to be
referenced from a show enumerator. If the enumerator is in global VM this
causes a garbage collector crash.
This code modifies the PostScript 'show' family of operators so that the
enumerator is always allocated from local VM, avoiding the problem.
There is no specimen or method of reproduction supplied in the bug report so
this is rather speculative, however it runs a cluster test without problem.
If it does cause any problems we should simply revert this change.
As part of this change it was noticed that there are a number of procedures
defined in gschar.c which are apparently dead code and these have been removed.
No expected differences.
gs/base/gschar.c
gs/base/gschar.h
gs/psi/zchar.c
gs/psi/zcharx.c
2012-02-07 09:23:30 +0000
Ken Sharp <ken.sharp@artifex.com>
a6a7d7b62d5bb5cbe00c1051d8a9cb749e43fe86
pdfwrite - fallback to 'LeaveColorunchanged' if we cannot deal with color conversion
Some of the PDFSETTINGS collection of settings set the ColorConversionStrategy
to spaces which may not be possible (in the current architecture) to convert
every colour space into. For example ICCBased spaces. This causes a fairly
incomprehensible error to be thrown.
In future we intend to do a better job with colour taking advantage of the
built-in colour management, but for now we simply choose to change the
ColorConversionStrategy to 'LeaveColorUnchanged' and emit a warning.
Bug #692030 and Bug #692108
No Expected Differences as this is not tested by the cluster
gs/base/gdevpdfc.c
2012-02-06 12:01:53 +0000
Robin Watts <robin.watts@artifex.com>
e448aeaf3d3d572bf4e91d9acdf3fa623ed9b6fb
Clipping optimisations; avoid needless clipping device.
When filling a mask, check any clipping path given; if it trivially
includes all the mask, then don't bother creating a clipping
device. If it trivially excludes, then don't bother plotting at all.
If the bbox partially covers the area, then reduce the area
of the mask.
This gives a 6-8% speedup of customer 532's test files; they are
filling a mask with a halftone, which breaks down into lots of
short run, 1 pixel high rectangles. Avoiding the clipping device
avoids lots of function call overhead.
gs/base/gdevdbit.c
gs/base/gxclip.c
gs/base/gxcpath.h
2012-02-06 15:37:04 +0000
Robin Watts <robin.watts@artifex.com>
09a47e5c2b0fff0d2598e38305bc3d0bc050a26f
Remove overzealous call to image_init_clues.
Investigation of customer 532's problem files lead Ray to
spot that we are blowing away the color clues on every call to
image_render_mono (called for every scanline in an image at
least), rather than just once per image.
Here, therefore, we change to call image_init_clues in
gs_image_class_3_mono (the function that returns image_render_mono)
rather than in image_render_mono itself.
gs/base/gximono.c
2012-02-06 15:25:33 +0000
Robin Watts <robin.watts@artifex.com>
ea8d2baefa33457d89b4daa8a80dd1898a362bd3
Remove last vestiges of halftone cache.
Back in 2002 code was committed (as part of the DeviceN work) that
removed the halftone cache from the image state. The last vestiges
of this were functions:
gx_check_tile_cache_current
gx_check_tile_cache
gx_check_tile_size
All these were hardwired to return a constant value, but the calls
to them were never removed from the code.
Here, we remove those calls. No differences should be given.
gs/base/gxht.c
gs/base/gximono.c
gs/base/gxipixel.c
gs/base/gzht.h
2012-02-06 10:55:59 +0000
Chris Liddell <chris.liddell@artifex.com>
013136f0e1050dc25c441fdf49dbfeb21ce0ee7a
Bug 692838: fix building against system zlib
Commit 75ff1314c3de8fb5df702211b6effb6df2b87faa broke building against the
system zlib by adding an explicit dependency on a file in the "local" zlib
source directory.
Ensure that dependency only applies when building non-shared zlib.
Also, at some point, the mkromfs with shared zlib has been broken, so fix that
by passing the "-lz" option to the CCAUX compiler variable.
No cluster differences.
gs/base/Makefile.in
gs/base/configure.ac
gs/base/lib.mak
2012-02-04 21:14:04 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
75ff1314c3de8fb5df702211b6effb6df2b87faa
Added dependencies to base/lib.mak.
gs/base/gs.mak
gs/base/lib.mak
2012-02-04 11:09:47 +0000
Ken Sharp <ken.sharp@artifex.com>
051ed7e56c0d3ef36149c45610bd19a0e55647c0
ps2write - Handle nested patterns better
Patterns inside patterns were not working properly, because PDF and PostScript
handle this differently. opdfread.ps resets teh graphics state CTM to the
identity when drawing patterns, because the PDF spec says patterns are always
referenced to the default co-ordinate space and in order that the matrix gets
applied correctly we need to reset the CTM.
However, when the pattern is inside another pattern, the defualt co-ordinate
space is that of the enclosing pattern, so restting the CTM is a problem. We
can't simply avoid the reset as normal patterns would stop working. We can't
'undo#' the pattern matrix in PostScript, because we don't know what the
resolution scaling was.
So we track the pattern depth in ps2write, and the accumulated matrix transforms
from all the patterns so far. Then we apply that accumulated matrix to any new
pattern when the pattern depth is not zero.
This works, but is not 100% reliable, 2 patterns inside a single parent would
be concatenated, resulting in the second pattern being incorrect. However the
nested pattern situation is rare enough that I'm going to leave this as it is.
Expected Differences:
09_47N.pdf
Bug6901014_org_Chromium_AN03F.pdf
these files now work correctly with ps2write.
gs/base/gdevpdfb.h
gs/base/gdevpdfi.c
gs/base/gdevpdfv.c
gs/base/gdevpdfx.h
2012-02-03 17:50:37 -0700
Henry Stiles <henry.stiles@artifex.com>
e7c3c6e02fac1a6e24030a2815645610b42fde47
Fixes 692387, the font rotation code did not work properly for some
rotations.
There are many progressions and small character placement adjustments
in many regression files. The latter due to how the rotation matrix
is now calculated with a rounded angle.
pcl/pglabel.c
2012-02-02 17:31:27 -0700
Henry Stiles <henry.stiles@artifex.com>
2cffba33ed7bb6aafe9176688535eab290cb20f0
RTL mode's print direction is always rotated with respect to the
physical page size.
pcl/pcpage.c
2012-02-03 16:18:01 +0000
Chris Liddell <chris.liddell@artifex.com>
84abcb901a8451ece9f23fda4b17f670b335eb07
Propogate dynmic device flags to 'so' subtarget.
When I brought the Makefile into line with convention for some of the FLAGS
variables, I forgot to add the new 'AC_CFLAGS' value to the subtarget for
the dynamic library build.
No cluster differences.
gs/base/unix-dll.mak
2012-02-03 16:20:25 +0100
Till Kamppeter <till.kamppeter@gmail.com>
03ab853b064b491cb463e392fe6988e904d76fd5
CUPS Raster: Fixed rotating of input pages with unknown sizes
gs/cups/gdevcups.c
2012-02-02 21:02:26 +0100
Till Kamppeter <till.kamppeter@gmail.com>
d0b64a75d54948b3f07da0128bb0002523a39040
CUPS Raster: More on improving page size fitting
Raised the tolerance of matching the document's page sizes with the PPD's
page sizes on the short dimension to 2 %. This also covers the overspray
full-bleed page sizes of HPLIP.
gs/cups/gdevcups.c
2012-02-02 20:43:22 +0100
Till Kamppeter <till.kamppeter@gmail.com>
2d4fac37ee36948c0b30e6b95292b68f718cafdc
Merge branch 'master' of ghostscript.com:/home/git/ghostpdl
2012-02-02 12:14:41 -0700
Henry Stiles <henry.stiles@artifex.com>
72887eac758eba7638258b6b375347ee16efbbdc
Add 4 new raster decompression methods to PCL.
HPGL/2 and RTL plotters support the following decompression methods:
uncompressed block (#4), CCITT group 3 1 dimensional (#6), CCITT group
3 2 dimensional (#7), CCITT group 4 2 dimensional (#8). These have
gotten little testing we only have a couple test files at the current
time.
pcl/pcl.mak
pcl/rtgmode.c
pcl/rtraster.c
pcl/rtrstcmp.c
pcl/rtrstcmp.h
2012-02-02 19:37:07 +0100
Till Kamppeter <till.kamppeter@gmail.com>
49be0086211ef92988468cee4bad5d361b8b6c7d
Improved page size matching in the CUPS Raster output device
The tolerances when comparing the page sizes in the document with the
sizes in the PPD file are changed to 1% for the short dimension of the
page and 5% for the long dimension. The 1% for the short dimension is
more or less the same as the 5.0pt used before (on letter or A4
paper). The 5% can cover the half inch deviation which HP puts into
the sheet length for their duplex paper sizes on ink jets.
If there is no matching paper size in the PPD and therefore the paper
size is considered custom, the page will be rotated in the case that
it does not fit into the maximum custom paper size (= printer
dimensions) but fits rotated.
With these measures, pages with slightly incorrectly defined size or
slightly incorrectly defined sizes in the PPD file (like the different
entries for one and the same paper size in the PPDs of HPLIP) will
find their size in the PPD and so rotated if needed.
This avoids cut-off print outs or even crashes of the printer
(https://bugs.launchpad.net/ubuntu/+source/linux/+bug/917148) due to
landscape pages not getting rotated.
gs/cups/gdevcups.c
2012-01-31 12:55:34 -0800
Michael Vrhel <michael.vrhel@artifex.com>
ee811255187a9367a090ce542e78c13912e92ca6
Device Link and Proof Profile fix
If a proofing profile or a device link profile are
specified, the link transform is more than likely not going
to be identity. This fix ensures that the transform
is properly applied.
gs/base/gsicc_cache.c
2012-01-31 18:20:00 +0000
Chris Liddell <chris.liddell@artifex.com>
a68dde56d66d7a5b9aabf0c742efb77b5fbdca03
Bug 690473: scale substitute fonts to fit in Widths.
Compare the width of the glyphs in a substitute font with those in the PDF
Widths array, and scale the font down to fit better, if necessary. This
does not add scaling up the font.
This changes a number of cluster files - most are progressions, some are just
different (no worse, no better), none that I consider regressions.
gs/Resource/Init/pdf_font.ps
2012-01-30 15:28:05 -0800
Michael Vrhel <michael.vrhel@artifex.com>
d630ef2c042179ecf0443b15b488194690f6b980
Make device link profile work with lcms2. Also update documentation and add error handling.
The device link profile handling was put in place when we had lcms 1.8 but was not ported
over to the 2.0 interface.
gs/base/gsicc.c
gs/base/gsicc_lcms2.c
gs/doc/Use.htm
2012-01-31 18:04:01 +0000
Chris Liddell <chris.liddell@artifex.com>
306f7dce4e74bc715a91dd892eab78f856cf11da
Have gitlog2changelog.py use html code for "quote" char
CLUSTER_UNTESTED
gs/toolbin/gitlog2changelog.py
2012-01-31 17:49:42 +0000
Robin Watts <robin.watts@artifex.com>
3c61e0b90b63dbef94f75e370ccef9dd5a077c26
Add new "WhatIsGS.htm" document
This explains how Ghostscript, GhostPCL, GhostXPS, etc are related.
gs/doc/Readme.htm
gs/doc/WhatIsGS.htm
2012-01-31 11:26:31 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
ddedf257534b7c628442d92f771dc8240cf546a7
Bug 691483: Fix access to PDF collections.
Fix a bug in enumeration of a name tree that prevented acceaa to some
files in the PDF file collection when the name tree was more than
one level deep.
gs/Resource/Init/pdf_main.ps
2012-01-31 12:01:53 +0000
Chris Liddell <chris.liddell@artifex.com>
26a96f7660a921d80dba77ef0220845918cfd4a8
Have plver.mak use Ghostscript version.mak version number
No (significant) cluster differences.
common/msvc_top.mak
pl/pl.mak
2012-01-31 08:12:14 +0000
Ken Sharp <ken.sharp@artifex.com>
20cd9c7595492684ac564789afeb2df1b6066554
ps2write - silence a benign compiler warning
Picked up by scan-build; presumably this only gets run for commits, not
for regular cluster tests as it didn't show up previously.
gs/base/gdevpdfc.c
2012-01-30 20:26:30 +0000
Chris Liddell <chris.liddell@artifex.com>
ca932b9ee0a84e7725b347d9fc99ef8b2b3ad8c8
gitlog2changelog.py use html sequence for '&'
Thanks to SaGS for pointing it out.
CLUSTER_UNTESTED
gs/toolbin/gitlog2changelog.py
2012-01-30 18:14:22 +0000
Chris Liddell <chris.liddell@artifex.com>
69d0fee61911ef6044b07cd7b36bc2148e6bb214
Tweak gitlog2changelog.py to avoid trailing whitespace
CLUSTER_UNTESTED
gs/toolbin/gitlog2changelog.py
2012-01-30 17:41:35 +0000
Chris Liddell <chris.liddell@artifex.com>
08a189c3b72e6bf89ae938b0bbacbbf113e0e346
Improve the html output of the changelog generator.
There were some compatibility problems with the html from the git log to
html changelog generator - such as including '<' and '>' characters in
text to be displayed.
Also, improve the actual formatting slightly.
CLUSTER_UNTESTED
gs/toolbin/gitlog2changelog.py
2012-01-30 17:46:27 +0000
Chris Liddell <chris.liddell@artifex.com>
5dd29e182ea1fec5e504558173bbb875501d04a1
Move the JPEG XR code to a separate section......
... for non-GPL compatible, open source licensed code.
CLUSTER_UNTESTED
gs/doc/thirdparty.htm
2012-01-30 13:32:05 +0000
Ken Sharp <ken.sharp@artifex.com>
ef2a4bfbf4f590635277299bf0e0d7aaea1f392b
ps2write - correctly convert ICCBased *image* colour spaces
Previously we handled ICCbased spaces by pretending they were device spaces
with the same number of components as the ICCBased space. This works
suprisingly well, but fails utterly for Lab spaces where images come out
completely incorrect.
We now convert the image data to the current device space. We do not yet handle
vector colour spaces, this will be handled by a future rewrite of the colour
handling to permit much better control over colour space handling.
This change causes quite a number o differences in the regression suite.
These fall into one of 4 causes:
1) Colour space conversion; previously ICCBases spaces with 1 or 4 components
would be handled as grey or CMYK respectively. They are now converted to the
device space (RGB by default). This causes some colour changes, especially
in halftoned output with a 1 component space. These are not incorrect as can
be seen from the contone output
2) There are some minor shifts in colour caused by correctly handling the
ICCBased space, in general these are progressions (especially the Altona
suite).
3) Handling of Lab colour spaces. These now work correctly where previously
they did not. Especially catx4929.pdf and IA3Z3476.pdf
4) Honouring rendering intents. Files hwich used a rendering intent now are
correctly converted. cf Bug #691926, comment 3.
5) There seems to be a possible problem with converting some CalRGB spaces,
the resulting output seems 'blue' with respect to the Acrobat otuput. In the
case of 1 file which contains scanned images of books, it is clear from the
original book covers that the output is incorrect. Michael suggest this may be
a White POitn problem. A separate bug report will be filed for this. Ghostscript
rendering of the original matches the ps2write output.
gs/base/gdevpdfc.c
gs/base/gdevpdfg.h
gs/base/gdevpdfi.c
2012-01-30 13:25:17 +0000
Chris Liddell <chris.liddell@artifex.com>
58e2df820785b88a544f625de35fbcb39c35b305
Update LICENSE
Revise the LICENSE file to reflect the latest Adobe CMap license
conditions, and to note that there is an Artifex copyright CMap in the
CMap directory.
Also, add a note about the JPEX XR source license.
CLUSTER_UNTESTED
gs/LICENSE
2012-01-30 13:23:18 +0000
Chris Liddell <chris.liddell@artifex.com>
523697346bbc88bf309cb44b47f53516c33917f7
Increment Ghostscript version on master to 9.06.
No (important) cluster differences.
gs/Resource/Init/gs_init.ps
gs/base/version.mak
2012-02-08 08:42:09 +0000
Chris Liddell <chris.liddell@artifex.com>
593431146ef93a53744a04c2a571a6f1f40b0084
Remove "RELEASE CANDIDATE" from product string.
CLUSTER_UNTESTED
gs/base/gscdef.c
2012-02-08 08:40:12 +0000
Chris Liddell <chris.liddell@artifex.com>
c1d20ffdb4d184c9019ee7f58bc279c6d633d05d
Amend date and update changelog for 9.05 release.
CLUSTER_UNTESTED
gs/base/version.mak
gs/doc/API.htm
gs/doc/C-style.htm
gs/doc/Commprod.htm
gs/doc/DLL.htm
gs/doc/Deprecated.htm
gs/doc/Details8.htm
gs/doc/Details9.htm
gs/doc/Develop.htm
gs/doc/Devices.htm
gs/doc/Drivers.htm
gs/doc/Fonts.htm
gs/doc/Helpers.htm
gs/doc/History1.htm
gs/doc/History2.htm
gs/doc/History3.htm
gs/doc/History4.htm
gs/doc/History5.htm
gs/doc/History6.htm
gs/doc/History7.htm
gs/doc/History8.htm
gs/doc/History9.htm
gs/doc/Install.htm
gs/doc/Issues.htm
gs/doc/Language.htm
gs/doc/Lib.htm
gs/doc/Make.htm
gs/doc/News.htm
gs/doc/Projects.htm
gs/doc/Ps-style.htm
gs/doc/Ps2epsi.htm
gs/doc/Ps2pdf.htm
gs/doc/Ps2ps2.htm
gs/doc/Psfiles.htm
gs/doc/Readme.htm
gs/doc/Release.htm
gs/doc/Source.htm
gs/doc/Unix-lpr.htm
gs/doc/Use.htm
gs/doc/WhatIsGS.htm
gs/doc/Xfonts.htm
gs/doc/gs-vms.hlp
gs/doc/thirdparty.htm
gs/man/dvipdf.1
gs/man/font2c.1
gs/man/gs.1
gs/man/gslp.1
gs/man/gsnd.1
gs/man/pdf2dsc.1
gs/man/pdf2ps.1
gs/man/pdfopt.1
gs/man/pf2afm.1
gs/man/pfbtopfa.1
gs/man/printafm.1
gs/man/ps2ascii.1
gs/man/ps2epsi.1
gs/man/ps2pdf.1
gs/man/ps2pdfwr.1
gs/man/ps2ps.1
gs/man/wftopfa.1
2012-02-03 16:18:01 +0000
Chris Liddell <chris.liddell@artifex.com>
dd4c7f1f03aa7ea18d43db224126502725af91ba
Propogate dynmic device flags to 'so' subtarget.
When I brought the Makefile into line with convention for some of the FLAGS
variables, I forgot to add the new 'AC_CFLAGS' value to the subtarget for
the dynamic library build.
No cluster differences.
gs/base/unix-dll.mak
2012-02-03 16:20:25 +0100
Till Kamppeter <till.kamppeter@gmail.com>
e837609b2955680dc59ca4f357076be7cd819a46
CUPS Raster: Fixed rotating of input pages with unknown sizes
gs/cups/gdevcups.c
2012-02-02 21:02:26 +0100
Till Kamppeter <till.kamppeter@gmail.com>
c3464da3ee42b8af645af6eadabea4977d948b1a
CUPS Raster: More on improving page size fitting
Raised the tolerance of matching the document's page sizes with the PPD's
page sizes on the short dimension to 2 %. This also covers the overspray
full-bleed page sizes of HPLIP.
gs/cups/gdevcups.c
2012-02-02 19:37:07 +0100
Till Kamppeter <till.kamppeter@gmail.com>
c12ed06596207d895739b41e5c920af0aa48a2ff
Improved page size matching in the CUPS Raster output device
The tolerances when comparing the page sizes in the document with the
sizes in the PPD file are changed to 1% for the short dimension of the
page and 5% for the long dimension. The 1% for the short dimension is
more or less the same as the 5.0pt used before (on letter or A4
paper). The 5% can cover the half inch deviation which HP puts into
the sheet length for their duplex paper sizes on ink jets.
If there is no matching paper size in the PPD and therefore the paper
size is considered custom, the page will be rotated in the case that
it does not fit into the maximum custom paper size (= printer
dimensions) but fits rotated.
With these measures, pages with slightly incorrectly defined size or
slightly incorrectly defined sizes in the PPD file (like the different
entries for one and the same paper size in the PPDs of HPLIP) will
find their size in the PPD and so rotated if needed.
This avoids cut-off print outs or even crashes of the printer
(https://bugs.launchpad.net/ubuntu/+source/linux/+bug/917148) due to
landscape pages not getting rotated.
gs/cups/gdevcups.c
2012-02-01 11:06:38 +0000
Chris Liddell <chris.liddell@artifex.com>
f945ac6dd076b367fb9a9d8851cca783049b77a0
Change product string to "RELEASE CANDIDATE 1"
gs/base/gscdef.c
2012-02-01 10:59:52 +0000
Chris Liddell <chris.liddell@artifex.com>
5f1a49cb3b05b5fed23e7eab99d6e036f16921dd
Update docs for 9.05 release candidate.
CLUSTER_UNTESTED
gs/doc/History9.htm
2012-01-31 12:55:34 -0800
Michael Vrhel <michael.vrhel@artifex.com>
ffca2758193c517edf1d20c6af17acd85f8d5f99
Device Link and Proof Profile fix
If a proofing profile or a device link profile are
specified, the link transform is more than likely not going
to be identity. This fix ensures that the transform
is properly applied.
gs/base/gsicc_cache.c
2012-01-30 15:28:05 -0800
Michael Vrhel <michael.vrhel@artifex.com>
dbf3d3403bc928c183b0674aa5adbb6263d56e42
Make device link profile work with lcms2. Also update documentation and add error handling.
The device link profile handling was put in place when we had lcms 1.8 but was not ported
over to the 2.0 interface.
gs/base/gsicc.c
gs/base/gsicc_lcms2.c
gs/doc/Use.htm
2012-01-31 18:04:01 +0000
Chris Liddell <chris.liddell@artifex.com>
55049debcc22152c42a62b1fc350eb087125be5a
Have gitlog2changelog.py use html code for "quote" char
CLUSTER_UNTESTED
gs/toolbin/gitlog2changelog.py
2012-01-31 17:49:42 +0000
Robin Watts <robin.watts@artifex.com>
6123f6bc89a9c682dd0e0b8cb62d526fdca1b50a
Add new "WhatIsGS.htm" document
This explains how Ghostscript, GhostPCL, GhostXPS, etc are related.
gs/doc/Readme.htm
gs/doc/WhatIsGS.htm
2012-01-31 11:26:31 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
1216fd5e30a1a09b8b381d4e43d795728a030cc8
Bug 691483: Fix access to PDF collections.
Fix a bug in enumeration of a name tree that prevented acceaa to some
files in the PDF file collection when the name tree was more than
one level deep.
gs/Resource/Init/pdf_main.ps
2012-01-31 08:12:14 +0000
Ken Sharp <ken.sharp@artifex.com>
0a549a4395c169a547e95a2905650dbc05388794
ps2write - silence a benign compiler warning
Picked up by scan-build; presumably this only gets run for commits, not
for regular cluster tests as it didn't show up previously.
gs/base/gdevpdfc.c
2012-01-31 12:01:53 +0000
Chris Liddell <chris.liddell@artifex.com>
4003b18b598c81df02d3d2c043276d54e7de7c6d
Have plver.mak use Ghostscript version.mak version number
No (significant) cluster differences.
common/msvc_top.mak
pl/pl.mak
2012-01-30 20:39:29 +0000
Chris Liddell <chris.liddell@artifex.com>
613b796e44ad8e29d9b4f8166a8b19796f1a024c
Change a couple of '&' to &
CLUSTER_UNTESTED
gs/doc/History9.htm
2012-01-30 20:26:30 +0000
Chris Liddell <chris.liddell@artifex.com>
f58e15f60683f2be163e0a64ef1a86141a0d45c3
gitlog2changelog.py use html sequence for '&'
Thanks to SaGS for pointing it out.
CLUSTER_UNTESTED
gs/toolbin/gitlog2changelog.py
2012-01-30 18:14:22 +0000
Chris Liddell <chris.liddell@artifex.com>
7a9e90a4710a90ce3d12da590280e91166eb2dc5
Tweak gitlog2changelog.py to avoid trailing whitespace
CLUSTER_UNTESTED
gs/toolbin/gitlog2changelog.py
2012-01-30 18:00:23 +0000
Chris Liddell <chris.liddell@artifex.com>
4aaa5f1594df678db91e3e9e913d1b27d5f7cd05
Update docs in prep for 9.05 release candidate
CLUSTER_UNTESTED
gs/doc/API.htm
gs/doc/C-style.htm
gs/doc/Commprod.htm
gs/doc/DLL.htm
gs/doc/Deprecated.htm
gs/doc/Details8.htm
gs/doc/Details9.htm
gs/doc/Develop.htm
gs/doc/Devices.htm
gs/doc/Drivers.htm
gs/doc/Fonts.htm
gs/doc/Helpers.htm
gs/doc/History1.htm
gs/doc/History2.htm
gs/doc/History3.htm
gs/doc/History4.htm
gs/doc/History5.htm
gs/doc/History6.htm
gs/doc/History7.htm
gs/doc/History8.htm
gs/doc/History9.htm
gs/doc/Install.htm
gs/doc/Issues.htm
gs/doc/Language.htm
gs/doc/Lib.htm
gs/doc/Make.htm
gs/doc/News.htm
gs/doc/Projects.htm
gs/doc/Ps-style.htm
gs/doc/Ps2epsi.htm
gs/doc/Ps2pdf.htm
gs/doc/Ps2ps2.htm
gs/doc/Psfiles.htm
gs/doc/Readme.htm
gs/doc/Release.htm
gs/doc/Source.htm
gs/doc/Unix-lpr.htm
gs/doc/Use.htm
gs/doc/Xfonts.htm
gs/doc/gs-vms.hlp
gs/doc/thirdparty.htm
gs/man/dvipdf.1
gs/man/font2c.1
gs/man/gs.1
gs/man/gslp.1
gs/man/gsnd.1
gs/man/pdf2dsc.1
gs/man/pdf2ps.1
gs/man/pdfopt.1
gs/man/pf2afm.1
gs/man/pfbtopfa.1
gs/man/printafm.1
gs/man/ps2ascii.1
gs/man/ps2epsi.1
gs/man/ps2pdf.1
gs/man/ps2pdfwr.1
gs/man/ps2ps.1
gs/man/wftopfa.1
2012-01-30 17:59:49 +0000
Chris Liddell <chris.liddell@artifex.com>
60ef9ebafb60f60cb709f7cb48ff15b94bad45fe
Change product string in prep for 9.05 release candidate
CLUSTER_UNTESTED
gs/base/version.mak
2012-01-30 17:46:27 +0000
Chris Liddell <chris.liddell@artifex.com>
16195b5e1c104405e095753bc1343597cad32a28
Move the JPEG XR code to a separate section......
... for non-GPL compatible, open source licensed code.
CLUSTER_UNTESTED
gs/doc/thirdparty.htm
2012-01-30 17:41:35 +0000
Chris Liddell <chris.liddell@artifex.com>
4961e763aeb795e7dc91dc64575837d170cca367
Improve the html output of the changelog generator.
There were some compatibility problems with the html from the git log to
html changelog generator - such as including '<' and '>' characters in
text to be displayed.
Also, improve the actual formatting slightly.
CLUSTER_UNTESTED
gs/toolbin/gitlog2changelog.py
2012-01-30 13:32:05 +0000
Ken Sharp <ken.sharp@artifex.com>
c3cc9b71fb9f1fe64556ecad34418bb4cf44ba7f
ps2write - correctly convert ICCBased *image* colour spaces
Previously we handled ICCbased spaces by pretending they were device spaces
with the same number of components as the ICCBased space. This works
suprisingly well, but fails utterly for Lab spaces where images come out
completely incorrect.
We now convert the image data to the current device space. We do not yet handle
vector colour spaces, this will be handled by a future rewrite of the colour
handling to permit much better control over colour space handling.
This change causes quite a number o differences in the regression suite.
These fall into one of 4 causes:
1) Colour space conversion; previously ICCBases spaces with 1 or 4 components
would be handled as grey or CMYK respectively. They are now converted to the
device space (RGB by default). This causes some colour changes, especially
in halftoned output with a 1 component space. These are not incorrect as can
be seen from the contone output
2) There are some minor shifts in colour caused by correctly handling the
ICCBased space, in general these are progressions (especially the Altona
suite).
3) Handling of Lab colour spaces. These now work correctly where previously
they did not. Especially catx4929.pdf and IA3Z3476.pdf
4) Honouring rendering intents. Files hwich used a rendering intent now are
correctly converted. cf Bug #691926, comment 3.
5) There seems to be a possible problem with converting some CalRGB spaces,
the resulting output seems 'blue' with respect to the Acrobat otuput. In the
case of 1 file which contains scanned images of books, it is clear from the
original book covers that the output is incorrect. Michael suggest this may be
a White POitn problem. A separate bug report will be filed for this. Ghostscript
rendering of the original matches the ps2write output.
gs/base/gdevpdfc.c
gs/base/gdevpdfg.h
gs/base/gdevpdfi.c
2012-01-30 13:25:17 +0000
Chris Liddell <chris.liddell@artifex.com>
2bb769a5b1ff2d1b8a5e6f0320cb210befe3f5bd
Update LICENSE
Revise the LICENSE file to reflect the latest Adobe CMap license
conditions, and to note that there is an Artifex copyright CMap in the
CMap directory.
Also, add a note about the JPEX XR source license.
CLUSTER_UNTESTED
gs/LICENSE
This is the fifth full release in the stable 9.x series.
Highlights in this release include:
Ghostscript's PDF interpreter is now able to make use of the DroidSansFallback TrueType font to automatically substitute for missing CIDFonts. Whilst it is always best to ensure the original CIDFont is available for the best and most accurate output, the ability to make an automatic substitution will be valuable for those merely viewing or proofing such files.
This release includes support for a proofing ICC profile. The command option is specified using -sProofProfile=filename. With this option, the color output will emulate what would be obtained had the source file been rendered on a device defined by the proofing profile. (See GS9_Color_Management.pdf for details.)
This release includes support for a device link ICC profile. The command option is specified using -sDeviceLinkProfile=filename. With this option, the device link profile is added to the end of the link transform from source to destination. In this case, one can include a command line option like "-sDevice=tiff32nc -sOutputICCProfile=srgb.icc -sDeviceLinkProfile=linkRGBtoCMYK.icc" and source colors will be mapped through sRGB and through the device link profile to CMYK values for the device. (See GS9_Color_Management.pdf for details.)
Ghostscript now supports "unmanaged color transformations" for source DeviceXXX colors (in other words, they use a simplistic conversion, rather than the ICC profile based color workflow). This is beneficial in uses where performance takes precedence over ultimate color fidelity (the command line parameter -dUseFastColor enables this).
The font set distributed with Ghostscript has been changed to the standard 35 Postscript-compatible fonts distributed by URW.
Ghostscript now includes a simple ink-coverage device, contributed by Sebastian Kapfer (inkconv).
The TIFF, JPEG and PNG output devices now support embedding of the device ICC profile in the output file.
Ghostscript now ships modified OpenJPEG sources for JPEG2000 decoding (replacing JasPer - although JasPer is still included for this release). Performance, reliability and memory use whilst decoding JPX streams are all improved (in many cases, significantly).
jbig2dec now has simple halftone region support.
The ps2write device has had a large number of output quality and stability improvements.
The txtwrite output was modified so that it more closely matches the output from MuPDF, if requested. Note that the algorithms used by the two products are not identical and may return slightly differing results.
For a list of open issues, or to report problems, please visit bugs.ghostscript.com.
No recorded incompatible changes.
2012-02-03 16:18:01 +0000
Chris Liddell <chris.liddell@artifex.com>
dd4c7f1f03aa7ea18d43db224126502725af91ba
Propogate dynmic device flags to 'so' subtarget.
When I brought the Makefile into line with convention for some of the FLAGS
variables, I forgot to add the new 'AC_CFLAGS' value to the subtarget for
the dynamic library build.
No cluster differences.
gs/base/unix-dll.mak
2012-02-03 16:20:25 +0100
Till Kamppeter <till.kamppeter@gmail.com>
e837609b2955680dc59ca4f357076be7cd819a46
CUPS Raster: Fixed rotating of input pages with unknown sizes
gs/cups/gdevcups.c
2012-02-02 21:02:26 +0100
Till Kamppeter <till.kamppeter@gmail.com>
c3464da3ee42b8af645af6eadabea4977d948b1a
CUPS Raster: More on improving page size fitting
Raised the tolerance of matching the document's page sizes with the PPD's
page sizes on the short dimension to 2 %. This also covers the overspray
full-bleed page sizes of HPLIP.
gs/cups/gdevcups.c
2012-02-02 19:37:07 +0100
Till Kamppeter <till.kamppeter@gmail.com>
c12ed06596207d895739b41e5c920af0aa48a2ff
Improved page size matching in the CUPS Raster output device
The tolerances when comparing the page sizes in the document with the
sizes in the PPD file are changed to 1% for the short dimension of the
page and 5% for the long dimension. The 1% for the short dimension is
more or less the same as the 5.0pt used before (on letter or A4
paper). The 5% can cover the half inch deviation which HP puts into
the sheet length for their duplex paper sizes on ink jets.
If there is no matching paper size in the PPD and therefore the paper
size is considered custom, the page will be rotated in the case that
it does not fit into the maximum custom paper size (= printer
dimensions) but fits rotated.
With these measures, pages with slightly incorrectly defined size or
slightly incorrectly defined sizes in the PPD file (like the different
entries for one and the same paper size in the PPDs of HPLIP) will
find their size in the PPD and so rotated if needed.
This avoids cut-off print outs or even crashes of the printer
(https://bugs.launchpad.net/ubuntu/+source/linux/+bug/917148) due to
landscape pages not getting rotated.
gs/cups/gdevcups.c
2012-02-01 11:06:38 +0000
Chris Liddell <chris.liddell@artifex.com>
f945ac6dd076b367fb9a9d8851cca783049b77a0
Change product string to "RELEASE CANDIDATE 1"
gs/base/gscdef.c
2012-02-01 10:59:52 +0000
Chris Liddell <chris.liddell@artifex.com>
5f1a49cb3b05b5fed23e7eab99d6e036f16921dd
Update docs for 9.05 release candidate.
CLUSTER_UNTESTED
gs/doc/History9.htm
2012-01-31 12:55:34 -0800
Michael Vrhel <michael.vrhel@artifex.com>
ffca2758193c517edf1d20c6af17acd85f8d5f99
Device Link and Proof Profile fix
If a proofing profile or a device link profile are
specified, the link transform is more than likely not going
to be identity. This fix ensures that the transform
is properly applied.
gs/base/gsicc_cache.c
2012-01-30 15:28:05 -0800
Michael Vrhel <michael.vrhel@artifex.com>
dbf3d3403bc928c183b0674aa5adbb6263d56e42
Make device link profile work with lcms2. Also update documentation and add error handling.
The device link profile handling was put in place when we had lcms 1.8 but was not ported
over to the 2.0 interface.
gs/base/gsicc.c
gs/base/gsicc_lcms2.c
gs/doc/Use.htm
2012-01-31 18:04:01 +0000
Chris Liddell <chris.liddell@artifex.com>
55049debcc22152c42a62b1fc350eb087125be5a
Have gitlog2changelog.py use html code for "quote" char
CLUSTER_UNTESTED
gs/toolbin/gitlog2changelog.py
2012-01-31 17:49:42 +0000
Robin Watts <robin.watts@artifex.com>
6123f6bc89a9c682dd0e0b8cb62d526fdca1b50a
Add new "WhatIsGS.htm" document
This explains how Ghostscript, GhostPCL, GhostXPS, etc are related.
gs/doc/Readme.htm
gs/doc/WhatIsGS.htm
2012-01-31 11:26:31 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
1216fd5e30a1a09b8b381d4e43d795728a030cc8
Bug 691483: Fix access to PDF collections.
Fix a bug in enumeration of a name tree that prevented acceaa to some
files in the PDF file collection when the name tree was more than
one level deep.
gs/Resource/Init/pdf_main.ps
2012-01-31 08:12:14 +0000
Ken Sharp <ken.sharp@artifex.com>
0a549a4395c169a547e95a2905650dbc05388794
ps2write - silence a benign compiler warning
Picked up by scan-build; presumably this only gets run for commits, not
for regular cluster tests as it didn't show up previously.
gs/base/gdevpdfc.c
2012-01-31 12:01:53 +0000
Chris Liddell <chris.liddell@artifex.com>
4003b18b598c81df02d3d2c043276d54e7de7c6d
Have plver.mak use Ghostscript version.mak version number
No (significant) cluster differences.
common/msvc_top.mak
pl/pl.mak
2012-01-30 20:39:29 +0000
Chris Liddell <chris.liddell@artifex.com>
613b796e44ad8e29d9b4f8166a8b19796f1a024c
Change a couple of '&' to &
CLUSTER_UNTESTED
gs/doc/History9.htm
2012-01-30 20:26:30 +0000
Chris Liddell <chris.liddell@artifex.com>
f58e15f60683f2be163e0a64ef1a86141a0d45c3
gitlog2changelog.py use html sequence for '&'
Thanks to SaGS for pointing it out.
CLUSTER_UNTESTED
gs/toolbin/gitlog2changelog.py
2012-01-30 18:14:22 +0000
Chris Liddell <chris.liddell@artifex.com>
7a9e90a4710a90ce3d12da590280e91166eb2dc5
Tweak gitlog2changelog.py to avoid trailing whitespace
CLUSTER_UNTESTED
gs/toolbin/gitlog2changelog.py
2012-01-30 18:00:23 +0000
Chris Liddell <chris.liddell@artifex.com>
4aaa5f1594df678db91e3e9e913d1b27d5f7cd05
Update docs in prep for 9.05 release candidate
CLUSTER_UNTESTED
gs/doc/API.htm
gs/doc/C-style.htm
gs/doc/Commprod.htm
gs/doc/DLL.htm
gs/doc/Deprecated.htm
gs/doc/Details8.htm
gs/doc/Details9.htm
gs/doc/Develop.htm
gs/doc/Devices.htm
gs/doc/Drivers.htm
gs/doc/Fonts.htm
gs/doc/Helpers.htm
gs/doc/History1.htm
gs/doc/History2.htm
gs/doc/History3.htm
gs/doc/History4.htm
gs/doc/History5.htm
gs/doc/History6.htm
gs/doc/History7.htm
gs/doc/History8.htm
gs/doc/History9.htm
gs/doc/Install.htm
gs/doc/Issues.htm
gs/doc/Language.htm
gs/doc/Lib.htm
gs/doc/Make.htm
gs/doc/News.htm
gs/doc/Projects.htm
gs/doc/Ps-style.htm
gs/doc/Ps2epsi.htm
gs/doc/Ps2pdf.htm
gs/doc/Ps2ps2.htm
gs/doc/Psfiles.htm
gs/doc/Readme.htm
gs/doc/Release.htm
gs/doc/Source.htm
gs/doc/Unix-lpr.htm
gs/doc/Use.htm
gs/doc/Xfonts.htm
gs/doc/gs-vms.hlp
gs/doc/thirdparty.htm
gs/man/dvipdf.1
gs/man/font2c.1
gs/man/gs.1
gs/man/gslp.1
gs/man/gsnd.1
gs/man/pdf2dsc.1
gs/man/pdf2ps.1
gs/man/pdfopt.1
gs/man/pf2afm.1
gs/man/pfbtopfa.1
gs/man/printafm.1
gs/man/ps2ascii.1
gs/man/ps2epsi.1
gs/man/ps2pdf.1
gs/man/ps2pdfwr.1
gs/man/ps2ps.1
gs/man/wftopfa.1
2012-01-30 17:59:49 +0000
Chris Liddell <chris.liddell@artifex.com>
60ef9ebafb60f60cb709f7cb48ff15b94bad45fe
Change product string in prep for 9.05 release candidate
CLUSTER_UNTESTED
gs/base/version.mak
2012-01-30 17:46:27 +0000
Chris Liddell <chris.liddell@artifex.com>
16195b5e1c104405e095753bc1343597cad32a28
Move the JPEG XR code to a separate section......
... for non-GPL compatible, open source licensed code.
CLUSTER_UNTESTED
gs/doc/thirdparty.htm
2012-01-30 17:41:35 +0000
Chris Liddell <chris.liddell@artifex.com>
4961e763aeb795e7dc91dc64575837d170cca367
Improve the html output of the changelog generator.
There were some compatibility problems with the html from the git log to
html changelog generator - such as including '<' and '>' characters in
text to be displayed.
Also, improve the actual formatting slightly.
CLUSTER_UNTESTED
gs/toolbin/gitlog2changelog.py
2012-01-30 13:32:05 +0000
Ken Sharp <ken.sharp@artifex.com>
c3cc9b71fb9f1fe64556ecad34418bb4cf44ba7f
ps2write - correctly convert ICCBased *image* colour spaces
Previously we handled ICCbased spaces by pretending they were device spaces
with the same number of components as the ICCBased space. This works
suprisingly well, but fails utterly for Lab spaces where images come out
completely incorrect.
We now convert the image data to the current device space. We do not yet handle
vector colour spaces, this will be handled by a future rewrite of the colour
handling to permit much better control over colour space handling.
This change causes quite a number o differences in the regression suite.
These fall into one of 4 causes:
1) Colour space conversion; previously ICCBases spaces with 1 or 4 components
would be handled as grey or CMYK respectively. They are now converted to the
device space (RGB by default). This causes some colour changes, especially
in halftoned output with a 1 component space. These are not incorrect as can
be seen from the contone output
2) There are some minor shifts in colour caused by correctly handling the
ICCBased space, in general these are progressions (especially the Altona
suite).
3) Handling of Lab colour spaces. These now work correctly where previously
they did not. Especially catx4929.pdf and IA3Z3476.pdf
4) Honouring rendering intents. Files hwich used a rendering intent now are
correctly converted. cf Bug #691926, comment 3.
5) There seems to be a possible problem with converting some CalRGB spaces,
the resulting output seems 'blue' with respect to the Acrobat otuput. In the
case of 1 file which contains scanned images of books, it is clear from the
original book covers that the output is incorrect. Michael suggest this may be
a White POitn problem. A separate bug report will be filed for this. Ghostscript
rendering of the original matches the ps2write output.
gs/base/gdevpdfc.c
gs/base/gdevpdfg.h
gs/base/gdevpdfi.c
2012-01-30 13:25:17 +0000
Chris Liddell <chris.liddell@artifex.com>
2bb769a5b1ff2d1b8a5e6f0320cb210befe3f5bd
Update LICENSE
Revise the LICENSE file to reflect the latest Adobe CMap license
conditions, and to note that there is an Artifex copyright CMap in the
CMap directory.
Also, add a note about the JPEX XR source license.
CLUSTER_UNTESTED
gs/LICENSE
2012-01-28 01:24:50 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
4e25d12238406245ade09eaeb3dd815933f7bcb2
Bug 692704: Don't reset PageSpotColors after every page
Don't reset PageSpotColors after every PDF page. Do it once when
PDF is closed. first, this resetting serves no useful purpose.
Second, this change avoids re-initialisation of tiffsep and psdcmyk
devices, which causes overwriting of the first page.
The fix results in progressions in all multi-page PDF files on
psdcmyk device.
gs/Resource/Init/pdf_main.ps
2012-01-27 09:57:33 +0000
Chris Liddell <chris.liddell@artifex.com>
d385d65cddb8770c0b6e08d0a34609d0951eab1f
Add a link in Readme.htm to the new thirdparty.htm
CLUSTER_UNTESTED
gs/doc/Readme.htm
2012-01-26 16:58:02 +0000
Robin Watts <robin.watts@artifex.com>
b6cc2a2539097d71ec200591788134703a2840a1
XPS Whitespace handling fix
Update the xps point reading code to use strtod rather than atof;
this returns us an updated string pointer, rather than relying
on us second-guessing where it may end up.
Change xps_get_point to return this updated pointer, and change some
calls of this to avoid having to skip whitespace (and potentially
getting it wrong) after the call.
Spotted as part of the commit to take the latest XPS changes into
MuPDF.
xps/ghostxps.h
xps/xpspath.c
2012-01-26 15:17:34 +0000
Ken Sharp <ken.sharp@artifex.com>
8eb237bc17ea481f75f482288c854ca42b31466b
ps2write - do not allow Widths aray to alter /.notdef width.
The way the Widths array works, if the Encoding has a /.notdef entry then
the width of the /.notdef is altered to that width.
If we have an earlier re-assignment, this breaks the assigned width.
The file catx1490.pdf relies on a ./notdef to draw a 'box' (crazy but
that's what it does). If we redefine the width tehn it is incorrect.
Expected differences
Catx1490.pdf
Bug691221.pdf
Bug689757.pdf
THe latter two are minor differences, but slight progressions
gs/base/opdfread.h
gs/lib/opdfread.ps
2012-01-26 11:07:06 +0000
Chris Liddell <chris.liddell@artifex.com>
043a20124c63ee48f874e8a9d869098d099c6d19
Have the "configure" build cope with missing "contrib"
For the Artifex commercial release, we remove the files from the contrib
directory. This meant a successful build had to be "configured" with the
--without-contrib option.
Now, configure looks for a specific file in "contrib", and if it is not there
the contributed drivers are automatically disabled.
No cluster differences.
gs/base/configure.ac
2012-01-25 19:58:52 +0000
Robin Watts <robin.watts@artifex.com>
0fb4785ef74fd22b8c1cced5ec16bd28d5bcc666
Fix Bug 692343 - ignore invalid padding length bytes.
AES streams contain padding at the end to bring them up to 16
byte chunks. The last byte of the plaintext is supposed to be
a value between 1 and 16 telling us how many bytes to ignore
from the last one? (Why 16? 15 would make more sense).
If the padding byte was out of range we would previously have
thrown an error. Here we change to just warn and set the
padding length to 0. This means we'll err on the side of making
the stream too long, which is better than the alternative.
gs/base/saes.c
2012-01-25 19:21:08 +0000
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
845ac2669008d3c8daf6461c0fda3b0496d7443e
Bug 691254: This patch prevents the seg fault in Jbig2_042_14.pdf.
gs/jbig2dec/jbig2_symbol_dict.c
gs/jbig2dec/jbig2_text.c
2012-01-25 08:14:22 +0000
Ken Sharp <ken.sharp@artifex.com>
679964341b8543bc37bf3cb783f12434af829f64
ps2write - properly check number of components when converting Image type 3/4
The code to limit optimisation of image type 3 or 4 into an imagemask was
testing to see if the routine which returned the numebr of components in
the colour space was a particular routine, instead of testing the return
value of that routine to see if it was 1.
Expected Differences
Bug689717.pdf
ImageProb2.pdf
12-07c.ps
all now render correctly or (in the case of 12-07c.ps) exhibit useful
progressions, when converted to PostScript using ps2write
gs/base/gdevpdfi.c
2012-01-24 12:59:20 -0800
Michael Vrhel <michael.vrhel@artifex.com>
83ce7cf6c9252c39e280040b12db1dcfbd8a7cb2
Fix for bug 692733. Pattern clist improperly cleared.
The pattern code was performing an initial clear of the pattern. This is OK
when the pattern is not a clist since the mask was not drawn in when this
fill occurs (seee gx_erase_colored_pattern). Unfortunately this rect fill
was getting into the pattern clist which is should not.
gs/base/gxpcmap.c
gs/psi/zpcolor.c
2012-01-24 16:44:07 +0000
Chris Liddell <chris.liddell@artifex.com>
1fab5a6b3945ba46fadd326e01f25e94f8af0886
Note that we patch lcms2 in thirdparty.htm
CLUSTER_UNTESTED
gs/doc/thirdparty.htm
2012-01-24 16:22:41 +0000
Chris Liddell <chris.liddell@artifex.com>
345be99ff34a6023dd28c06869ff8db41a3c640c
Add a file detailing our use of third party libraries.
Including, name, version, purpose, license and URL.
CLUSTER_UNTESTED
gs/doc/thirdparty.htm
2012-01-24 13:20:11 +0000
Robin Watts <robin.watts@artifex.com>
fb56842749e5430ed18d938eb78d1cf24c3e9759
Tweak jbig2dec to cope better with NULLs.
Fix various destructors in jbig2dec to cope with being called
with image = NULL. This cures a problem in mupdf where it SEGVs
when called on "1239 - skip invalid content streams.pdf" from the
sumatra test set.
gs/jbig2dec/jbig2_image.c
2012-01-24 12:03:43 +0000
Chris Liddell <chris.liddell@artifex.com>
a92b0c487e0e003a6a69b93acb7c1ef84d2f9683
Add details to Make.htm about Luratech
Make it clear that if there, Luratech will be used automatically.
Add details about disabling automatic Luratech inclusion.
CLUSTER_UNTESTED
gs/doc/Make.htm
2012-01-24 11:49:43 +0000
Chris Liddell <chris.liddell@artifex.com>
672fba9c5396ff7079e166a7535b879deffd801a
Bug 691184: update doc and example for getenv in cidfmap
Add information to the cidfmap section of Use.htm mentioning the ability to
use "getenv" to influence paths to font files in cidfmap.
And fix the example in cidfmap.
CLUSTER_UNTESTED
gs/Resource/Init/cidfmap
gs/doc/Use.htm
2012-01-24 11:44:34 +0000
Chris Liddell <chris.liddell@artifex.com>
997f750a5dd4cf70b18d011e3297dd7c8f4abd97
Bug 692810: fix OpenJPEG section of configure --help
I forgot to reverse the logic of the help message when I made OpenJPEG the
default JPEG2000 decoder - so the option is now to *disable* it.
No cluster differences.
gs/base/configure.ac
2012-01-23 22:52:33 -0800
Michael Vrhel <michael.vrhel@artifex.com>
1f3469404c599093df2e6c8157ac70111b0c80e2
Revert "Addition of objects to support the output intent."
This reverts commit 89546758c858d53c105dfc73fc4d108171b8437d.
Something appears to be wrong with this when I was doing some other testing
although it did ok in the cluster push.
gs/base/gdevp14.c
gs/base/gscms.h
gs/base/gsdparam.c
gs/base/gsequivc.c
gs/base/gsicc_manage.c
2012-01-23 09:59:35 -0800
Michael Vrhel <michael.vrhel@artifex.com>
89546758c858d53c105dfc73fc4d108171b8437d
Addition of objects to support the output intent.
This doesn't do anything yet. There will be another commit for the
PDF interpreter to make use of these objects.
gs/base/gdevp14.c
gs/base/gscms.h
gs/base/gsdparam.c
gs/base/gsequivc.c
gs/base/gsicc_manage.c
2012-01-23 11:12:04 +0000
Ken Sharp <ken.sharp@artifex.com>
315a899b2f9bd8be2f247550a05d807a8c698f07
ps2write/pdfwrite - Don't arbitrarily change VVECTOR0 flag in type 1 info
Way back in 2003 code was added 'in lieu of proper CDevProc processing' to
alter the behaviour of pdfwrite. In particular a flag was set which always
causes pdfwrite to handle width chnages.
However, we do now handle CDevProc correctly, and the arbitrary assignment
of this flag causes serious problems for pdfwrite & ps2write in the
(admittedly rare and unreasonable) case where the FontMatrix of an already
used font is modified.
Expected Differences:
14-12.ps
16-05.ps
Both now work better with ps2write and pdfwrite, though not 100% correct
gs/base/gxtype1.c
2012-01-21 14:07:15 -0500
Alex Cherepanov <alex.cherepanov@artifex.com>
d0d411c0830b81fa9fb38e3f938ac855fde9a6e3
Bug 692798: Ignore the request for undefined color space.
Ignore the attempt to set an undefined color spece resource,
issue a warning, and continue.
gs/Resource/Init/pdf_draw.ps
2012-01-18 12:32:13 -0800
Michael Vrhel <michael.vrhel@artifex.com>
eaaa284dcd5901de156c52c0dc0aff78816e4b81
Fix for bug 692787. Rending Intent aliased with Blending mode in clist
When I had added the rendering intent into the clist misc parameters I did not
have enough bits to fit everything into a single byte.
gs/base/gxclpath.c
gs/base/gxclrast.c
2012-01-20 15:26:15 +0000
Chris Liddell <chris.liddell@artifex.com>
cf6946a1762b975a0450e0d11bdcb13889cdd877
Add a note about building on Mac.......
.....with MacPorts installed.
CLUSTER_UNTESTED
gs/doc/Make.htm
2012-01-18 09:31:53 -0800
Ray Johnston <ray.johnston@artifex.com>
5e7702813865b8c149f7a8462491d4ca72e70e8e
Fix pdfwrite and other vector devices for changing filename and separate pages
Previously vector devices did not allow changing OutputFile and (most) did not support the %d
OutputFile to generate single page files (pswrite was the exception). The function used by
pswrite was generalized and renamed gx_outputfile_is_separate_pages for general use. If this
returns true vector devices will close and reopen after each page. The PageCount will then be
used in the formation of the filename for the next page.
Since vector devices open an write the OutputFile when the device is opened the file will be
written even if there is no input, and if a format specifier is used in the OutputFile, then
an extra blank page will be written (maybe this will be fixed later).
For example, now pdfwrite can be used in server mode by changing the OutputFile device param
which will cause the current collection of pages to be written to the PDF file, and a new
PDF will be started. This is most useful from gsapi calls, but creating two PDF's from one
invocation of gs via the command line would be:
gs -sDEVICE=pdfwrite -o tiger.pdf examples/tiger.eps \
-c "<< /OutputFile (colorcir.pdf) >> setpagedevice" \
-f examples/colorcir.ps
gs/base/gdevpdf.c
gs/base/gdevps.c
gs/base/gdevpx.c
gs/base/gdevsvg.c
gs/base/gdevvec.c
gs/base/gsdevice.c
gs/base/gxdevice.h
gs/doc/Ps2pdf.htm
gs/doc/Use.htm
2012-01-19 10:37:43 +0000
Chris Liddell <chris.liddell@artifex.com>
7d0f46b66b275c794dd87525e066e84ccabb4f96
Bug 692801: Fix build with shared lcms2 and "so" target
The targets for the lcms2 integration were mixed up, meaning the shared
lib build had a couple of dependencies on our "local" lcms2 source files.
The "so" target failed because the compiler for the lcms2 integration
code used the wrong compiler variable (and consequently dropped some
vital flags).
No cluster differences.
gs/base/lib.mak
2012-01-19 09:41:53 +0000
Ken Sharp <ken.sharp@artifex.com>
a75b5a720684d6e599c28cae9abb9357aa97d7b3
ps2write - alter /NumCopies handling.
Previously we mimicked /NumCopies and /#copies by using copypage. This is
unreliable because copypage differs on level 3 devices and won't work as
expected. Also it breaks DSC compliance and is probably undesirable with
other PostScript processors such as CUPS.
This commit alters the behaviour so that we use copypage only if the flag
DoNumCopies is true *and* we ProduceDSC is not true. This changes the
default to match pdfwrite and what I think is most logical while preserving
the ability to use copypage in environments where its use can be supported.
Expected Differences
Any files using /NumCopies or /#copies will behave differently, producing
fewer (blank!) pages than before. In our test suite I think this only
affects the Quality Logic files. In particular 268-03.ps and 29-07b.ps
gs/base/gdevpdf.c
gs/doc/Ps2ps2.htm
2012-01-18 12:24:15 -0700
Henry Stiles <henry.stiles@artifex.com>
2a7bf50f7cb797b0f3213eb091960700c0ff50e6
Integrates the new URW WingDing font.
For reasons unknown URW has named the font NewDingbats. This will
result in many healthy progressions in the regression test suite.
pl/plftable.c
urwfonts/NewDingbats.ttf
2012-01-18 12:05:36 -0700
Henry Stiles <henry.stiles@artifex.com>
71bb3ba36e2d15ec409185c69716c7cf40b89ea2
Prevent double file close on font file.
Introduced with the recent change to close font files at
initialization. If a file in the font directory could not be found in
the font table (was not a known font) the file would be closed twice.
pl/pllfont.c
2012-01-18 10:22:47 -0700
Henry Stiles <henry.stiles@artifex.com>
406c8ff0f0414294e52d27d706db51dd11f83725
PJL support for the resolution variable.
The PJL resolution variable is now properly supported, for example "PJL
SET RESOLUTION = 300" will see the resolution for the next job to 300
but will be overridden if -r is given directly on the command line.
Note the PJL resolution is only one value, there is no way to specify
asymmetric resolution as there is with the -r option.
pcl/pcjob.c
pcl/pcstate.h
pcl/pctop.c
pl/pjparse.c
pl/plmain.c
pl/plmain.h
pl/pltop.h
2012-01-17 14:45:50 -0700
Henry Stiles <henry.stiles@artifex.com>
b3e60553237af409e4d23d5c8dd39eb136665752
Close PCL font files after initial read.
Upon startup PCL reads all the font files to gather attribute
information but the files were being left open wasting file handles.
This change closes the files.
pl/pllfont.c
2012-01-17 14:42:43 -0700
Henry Stiles <henry.stiles@artifex.com>
5ad194fca3c799f3928d714567a17c5d8361a424
Reverts 3ab47d0e1e357a16cf5b35747b10b26d99b4d6f0, bad fix.
Now that we have a larger corpus of hpgl/2-rtl files it is clear this
fix cannot be right, something must have been wrong with the analysis,
unfortunately the, referenced test file from the logs ("sprinkler")
seems to be gone.
pcl/pcjob.c
2012-01-12 15:31:35 -0700
Henry Stiles <henry.stiles@artifex.com>
39eb74a7a55793f6acdc473efd014a95a93f7542
Shell script to convert HPGL/2-RTL to PDF.
Aside from the obvious purpose of converting hpgl/2 files to pdf, the
script demonstrates how to use the bounding box device to find the
extant of the graphics in the gl/2 file and then use those bounding
box coordinates to defiine a plot size for the file so there is no
white space margin. This is commonly needed as the plot size command
in GL/2 files specifies a plot much larger than needed.
tools/plot2pdf.sh
2012-01-12 12:07:37 -0700
Henry Stiles <henry.stiles@artifex.com>
dbab71fabce6bdeda5f478a077f739457e88f542
Refines '-J' option to process Exit Language properly.
The previous set up sent a truncated string to the PJL parser so Exit
Language was never returned. Now all the output is sent and the Exit
Language code is required otherwise an error is returned.
pl/plmain.c
2012-01-12 09:47:07 -0700
Henry Stiles <henry.stiles@artifex.com>
84cb959e0a2ed1cb0a898b8e2bebf120f55ebc57
Allow multiple PJL commands with the -J option.
Previously only 1 PJL command could be issued on the command line with
the -J option. Now multiple commands may be issued by separating
commands with a semicolon:
pcl6 -lRTL -J"@PJL DEFAULT PLOTSIZEOVERRIDE=ON;\
@PJL DEFAULT PLOTSIZE1=10000;@PJL DEFAULT PLOTSIZE2=8000"
Unfortunately, the odd behavior of HP's PJL parser does not allow
whitespace before "@PJL" which should start a new command each on a
different line, similarly there can be no leading white space at the
beginning or after a semicolon.
pl/plmain.c
2012-01-18 10:27:40 +0000
Chris Liddell <chris.liddell@artifex.com>
0c2d126b790a81d2f9338834429cc46fcc84dab2
Bug 692788: Wrong and missing manpage links in unixinst.mak
Patch from Stefan Bruens ( stefan.bruens@rwth-aachen.de ).
No cluster differences.
gs/base/unixinst.mak
2012-01-18 08:33:00 +0000
Chris Liddell <chris.liddell@artifex.com>
25198491321b0540910d9aaa6dcc4367f2098dab
Bug 692789: add some buffer limit protection.
In one place add buffer overrun protection and error out, and in another,
error out if the incoming string is greater than the buffer length (in this
case there would be no buffer overrun, as we only read a buffer full of
data).
No cluster differences.
gs/base/echogs.c
2012-01-16 11:23:18 +0000
Chris Liddell <chris.liddell@artifex.com>
91f728c058e3ab4705e53916d07597c7a755c730
Fix pdfwrite's stringwidth for text rendering mode 3
pdfwrite provides it's own "low level" stringwidth code, which includes code to
convert the resulting coordinates into user space. Unexplicably, this
conversion to user space was *not* applied when text rendering more 3 was in
force.
This caused a problem for a pending enhancement.
No cluster differences.
gs/base/gdevpdte.c
2012-01-16 10:19:50 +0000
Ken Sharp <ken.sharp@artifex.com>
3efaa3a6fabad09a4442f281fdbccc33f0474ea0
ps2write - Prevent charpath optimisation to Tr for ps2write
As a legacy of the old Text rendering mode code there is an optimisation in
pdfwrite which detects sequences such as "true charpath gsave fill grestore
stroke" and converts them to Text rendering mode 2.
However, ps2write doesn't support text rendering modes, so if the colour changes
then this produces incorrect output.
Disabling the optimisation when the device is ps2write cures the problem.
Expected Differences
Progressions in:
Bug687817.ps
Bug690164.ps
Catx6562.pdf
Small (single pixel) diffferences in a number of files due to the emission
of a path rather than executing charpath.
gs/base/gdevpdfd.c
2012-01-13 10:16:03 -0800
Michael Vrhel <michael.vrhel@artifex.com>
85a94168a4e64199b5a237dbf0d262f5e457440f
Fix typo in document. 9.05 not 9.5
gs/doc/GS9_Color_Management.pdf
gs/doc/GS9_Color_Management.tex
2012-01-13 10:40:50 -0700
Henry Stiles <henry.stiles@artifex.com>
a9e65e32b4a12c0f5de8ed6a3dcd38b3216f3ae1
Bug 691230, basic jbig2 halftone image support.
Thanks to George Gottleuber for this work.
gs/base/jbig2.mak
gs/jbig2dec/jbig2_halftone.c
gs/jbig2dec/jbig2_halftone.h
gs/jbig2dec/jbig2_mmr.c
gs/jbig2dec/jbig2_mmr.h
gs/jbig2dec/jbig2_segment.c
2012-01-13 14:23:19 +0000
Robin Watts <robin.watts@artifex.com>
993377ba237144726cd25e2d8851c70090370dd4
Optimise TetrahedralInterp16 in lcms2
Port Michaels optimisations from lcms1, and further tweak
for speed.
gs/lcms2/src/cmsintrp.c
2012-01-13 13:45:44 +0000
Chris Liddell <chris.liddell@artifex.com>
8e03b7f4769120ba60224cc6484b8766b386e054
Better lcms2 support in autoconf build
Make reverting to lcms a configure option, make lcms2 the default in configure
allow linking of the system lcms2.
Improve the feedback a little.
No cluster differences.
gs/base/Makefile.in
gs/base/configure.ac
2012-01-13 01:02:52 +0000
Robin Watts <robin.watts@artifex.com>
4e400364e182ae838a9a844ea40c4cca8d33bc09
Silence lcms2 warnings.
Make a few functions static. Announce some in the headers.
Fix some #ifdefferey.
gs/base/gsicc_lcms2.c
gs/lcms2/include/lcms2.h
gs/lcms2/src/cmspack.c
gs/lcms2/src/cmstypes.c
gs/lcms2/src/cmsxform.c
gs/lcms2/src/lcms2_internal.h
2012-01-12 16:05:09 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
cf11f0f7e68ac576138e49ab8d2c05a0121c6997
Change default cms to be lcms2 (for autogen.sh builds).
Continuation of commit 319474974fe4ddb99d29e8d3976afcc25f0e54ba.
gs/base/Makefile.in
2012-01-12 11:22:18 -0800
Michael Vrhel <michael.vrhel@artifex.com>
8aa37658b48f4fbda7551598f8de216f2d3dd33d
Update of color documentation
The new document includes several figures. Rather than clutter the tree with the additional figures that LaTeX uses in creating the pdf, I removed the figures folder. The new LaTeX file uses PDFLaTeX to create the pdf rather than the dvi2ps approach.
gs/doc/GS9_Color_Management.pdf
gs/doc/GS9_Color_Management.tex
gs/doc/figures/Ghost.eps
gs/doc/figures/Overview.eps
2012-01-12 15:23:20 +0000
Ken Sharp <ken.sharp@artifex.com>
afad2d730c8f5f6137791259fab3c45fda0f6862
ps2write - When converting shaded fills to image+clip, preserve insidenes rule
ps2write cannot preserve a fill with a Shading pattern, so it converts these
to an image and a clip (the path to fill is converted to a clip path).
However it did not preserve the 'insideness' winding rule which meant that
both eofill and fill were converted to 'clip' when eofill should be converted
to eoclip.
Expected Differences
fts_31_3110.pdf
fts_31_3115.pdf
fts_31_3118.pdf
09-47A.ps
09-47B.ps
09-47C.ps
09-47D.ps
09-47E.ps
09-47G.ps
09-47H.ps
09-47I.ps
09-47J.ps
09-47K.ps
09-47L.ps
09-47M.ps
18-02A.ps
18-02B.ps
18-02F.ps
23-12W.ps
All show progressions with ps2write
gs/base/gdevpdfd.c
2012-01-11 11:25:41 +0000
Robin Watts <robin.watts@artifex.com>
f6b83ef318aaf22b84cdeca55ba40208b9c3caad
Port color transform speedups from lcms1 to lcms2.
Use a chameleonic header file to generate optimised transform
functions.
gs/base/lcms2.mak
gs/lcms2/src/cmspack.c
gs/lcms2/src/cmsxform.c
gs/lcms2/src/cmsxform.h
2012-01-10 14:41:36 -0700
Henry Stiles <henry.stiles@artifex.com>
defb2b18e49123f4cad571070156a27ece868652
Adds the bbox device.
main/pcl6_gcc.mak
main/pcl6_msvc.mak
2012-01-10 21:16:10 -0800
Michael Vrhel <michael.vrhel@artifex.com>
f50368d684e84fe63579494b3e3efe0e4f39f98c
Clean up of the icc color code.
Remove objects and redundant functions that were introduced over the
past couple years. Found these while writing the documentation.
gs/base/gdevpdfi.c
gs/base/gdevpsd.c
gs/base/gdevrinkj.c
gs/base/gdevxcf.c
gs/base/gscms.h
gs/base/gscsepr.c
gs/base/gsicc.c
gs/base/gsicc_cache.c
gs/base/gsicc_cache.h
gs/base/gsicc_cms.h
gs/base/gsicc_lcms.c
gs/base/gsicc_lcms2.c
gs/base/gsicc_manage.c
gs/base/gsicc_manage.h
gs/base/gsicc_nocm.c
gs/base/gxcmap.c
xps/xpsgradient.c
2012-01-10 18:27:46 -0800
Marcos H. Woehrmann <marcos.woehrmann@artifex.com>
9e2df6f6194c5091dbfc6bde2218569645f5c89a
Make fuzzy not seg fault when comparing images of different sizes.
Horrible hack to allow fuzzy to compare two files that have different
dimensions (necessary when compareing outupt from muPDF vs. Ghostscript).
gs/toolbin/tests/fuzzy.c
2012-01-10 23:05:58 +0000
Robin Watts <robin.watts@artifex.com>
319474974fe4ddb99d29e8d3976afcc25f0e54ba
Change default cms to be lcms2 (for non-windows builds)
Forgot to change the unix builds. Expect lots of small changes in
the cluster.
common/ugcc_top.mak
gs/base/macos-mcp.mak
gs/base/macosx.mak
gs/base/openvms.mak
gs/base/unix-gcc.mak
gs/base/unixansi.mak
2012-01-10 22:24:35 +0000
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
c0573245db4f03c6cdca24906d73151a4e9be3c9
Bug 691267: Check all realloc error paths.
gs/base/sjbig2.c
gs/jbig2dec/jbig2.c
gs/jbig2dec/jbig2_huffman.c
gs/jbig2dec/jbig2_page.c
gs/jbig2dec/jbig2_symbol_dict.c
gs/jbig2dec/jbig2_text.c
2012-01-10 22:09:28 +0000
Robin Watts <robin.watts@artifex.com>
4e1c54b4c4cbc12185e44a758dcfae8f6095fa6c
Add 2 more files missing from solution.
CLUSTER_UNTESTED.
gs/ghostscript.vcproj
2012-01-10 22:08:28 +0000
Robin Watts <robin.watts@artifex.com>
9d23e07f6895eb581eaea17bf812be9f89d207b3
Change default cms to lcms2.
Expect lots of small changes.
gs/base/winlib.mak
2012-01-10 19:47:56 +0000
Robin Watts <robin.watts@artifex.com>
2468c2bce2ae03750ccab220b16fa6a62b31135f
Move icc34.h from lcms directory to gs/base
It's not supplied as part of the lib, and we need it for lcms,
lcms2, the non-cmm cmm and the creation tools, so having it
somewhere central seems sensible.
gs/base/icc34.h
gs/base/lcms.mak
gs/base/lcms2.mak
gs/base/lib.mak
gs/lcms/include/icc34.h
2012-01-10 19:45:25 +0000
Robin Watts <robin.watts@artifex.com>
d1a09075987875224abdaf8d6c62fdf40895ba98
LCMS2 fix: MSVC version check uses <= rather than <
Checking for <= 1400 includes VS2005. The intent is to only include
VS2003. Change to < and all is well.
gs/lcms2/src/lcms2_internal.h
2012-01-10 19:16:34 +0000
Robin Watts <robin.watts@artifex.com>
df2872f8b3cff582871ae15f4c3221bcb6e607fc
Add lcms2 entries to Visual Studio Solution.
Doesn't make any difference to building - just enables us to search
for code etc more easily.
gs/ghostscript.vcproj
2012-01-10 10:55:10 -0800
Michael Vrhel <michael.vrhel@artifex.com>
3996236547b4f6b2c4e0d60cd7b4196c33123ac0
Update of our lcms2 directory to 2.3 release
gs/lcms2/AUTHORS
gs/lcms2/ChangeLog
gs/lcms2/Projects/BorlandC_5.5/lcms2.rc
gs/lcms2/Projects/VC2008/lcms2.rc
gs/lcms2/Projects/VC2010/lcms2.rc
gs/lcms2/Projects/mac/.DS_Store
gs/lcms2/Projects/mac/LittleCMS/.DS_Store
gs/lcms2/bin/Bin.txt
gs/lcms2/bin/Thumbs.db
gs/lcms2/configure
gs/lcms2/configure.ac
gs/lcms2/doc/LittleCMS2.0 API.pdf
gs/lcms2/doc/LittleCMS2.0 Plugin API.pdf
gs/lcms2/doc/LittleCMS2.0 tutorial.pdf
gs/lcms2/doc/LittleCMS2.1 API.pdf
gs/lcms2/doc/LittleCMS2.1 Plugin API.pdf
gs/lcms2/doc/LittleCMS2.1 tutorial.pdf
gs/lcms2/doc/LittleCMS2.3 API.pdf
gs/lcms2/doc/LittleCMS2.3 Plugin API.pdf
gs/lcms2/doc/LittleCMS2.3 tutorial.pdf
gs/lcms2/doc/src.zip
gs/lcms2/include/icc34.h
gs/lcms2/include/lcms2.h
gs/lcms2/lcms2.pc.in
gs/lcms2/src/cmscgats.c
gs/lcms2/src/cmscnvrt.c
gs/lcms2/src/cmserr.c
gs/lcms2/src/cmsio1.c
gs/lcms2/src/cmslut.c
gs/lcms2/src/cmsnamed.c
gs/lcms2/src/cmsopt.c
gs/lcms2/src/cmspack.c
gs/lcms2/src/cmsplugin.c
gs/lcms2/src/cmssm.c
gs/lcms2/src/cmstypes.c
gs/lcms2/src/cmsvirt.c
gs/lcms2/src/cmswtpnt.c
gs/lcms2/src/cmsxform.c
gs/lcms2/src/lcms2.def
gs/lcms2/src/lcms2_internal.h
gs/lcms2/testbed/USWebCoatedSWOP.icc
gs/lcms2/testbed/UncoatedFOGRA29.icc
gs/lcms2/testbed/sRGBSpac.icm
gs/lcms2/testbed/sRGB_Color_Space_Profile.icm
gs/lcms2/testbed/sRGB_v4_ICC_preference.icc
gs/lcms2/testbed/test1.icc
gs/lcms2/testbed/test2.icc
gs/lcms2/testbed/test3.icc
gs/lcms2/testbed/test4.icc
gs/lcms2/testbed/test5.icc
gs/lcms2/testbed/testcms2.c
gs/lcms2/utils/common/vprf.c
gs/lcms2/utils/delphi/lcms2.dll
gs/lcms2/utils/linkicc/linkicc.c
gs/lcms2/utils/samples/roundtrip.c
gs/lcms2/utils/tificc/tificc.c
gs/lcms2/utils/transicc/transicc.c
2012-01-09 11:06:41 -0700
Henry Stiles <henry.stiles@artifex.com>
20a53310422c41df4f48deef3f704b39c291a5f2
PLOTSIZEROTATE is no longer used with the current scheme to initialize
HPGL-2/RTL (see last few commits).
CLUSTER_UNTESTED
pl/pjparse.c
2012-01-09 10:48:58 -0700
Henry Stiles <henry.stiles@artifex.com>
96726af52822d442cceb1531c1d12bd6141ac322
The previous standalone GL/2 mode is incompatible with how the
transformations are set up in PCL. We have found that plots for
standalone mode can be viewed properly in HPGL-2/RTL mode. We think
this is the best alternative for now, if we get into the business of
emulating individual plotters the issue can be revisited.
pcl/pgdraw.c
2012-01-08 12:57:46 -0700
Henry Stiles <henry.stiles@artifex.com>
1e6d68e396ec5842af5b8cb5cb226c9de1f46d31
The HPGL-2/RTL work of the last few commits introduce a regression -
disabling bound coordinates in normal PCL mode.
pcl/pgdraw.c
2012-01-07 22:09:50 -0700
Henry Stiles <henry.stiles@artifex.com>
d18b90db02540b1bf1005537aa38b42ef2486f43
Implements transformations and clipping needed by HPGL/2-RTL. The
previous setup was only appropriate for HPGL standalone mode and only
app