| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Avoid overrun of fixed sized array by doing dynamic
allocation and reallocating when needed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patterns that are filled with glyphs and then subsequently
filled with another pattern (Visual brush in XPS) was not
working when going to pdfwrite due to the fact that
gs_text_begin gets called by the XPS interpreter
before we have finished the pattern fill of the glyph.
This ends up referencing the pattern that is not done
which ends badly for high level patterns. Instead
if we are already in a high level pattern, set the color
to just a gray. Then after the gs_text_begin, the XPS
interpreter sets the brush to the visual brush which is
subsequently collected. Fixing this, has revealed another
XPS to PDF bug where we are not doing shading fills of glyphs
correctly (at least when dealing with patterns).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit removes shape.alpha and opacity.alpha from the
graphic state. This involved removal of methods in the
postscript based PDF interpreter, changes in the pdf14 device,
changes in pdfwrite, the XPS interpreter, and the PS
transparency test file that is present in examples and on
the cluster. The goal of this commit was to avoid
confusion and conflicts between shape.alpha opacity.alpha and
the stroke and fill alpha values (CA ca). This change
resulted in progressions in the XPS file. There were changes
in a couple PDF files that required some investigation. In
particular, the change in the dashed lines of Bug694981.pdf. Robin
and I looked at this. Robin determined it was due to
differences in stroke_add and stroke_fill not giving identical results.
In the end, the new output looks closer the what AR provides.
|
|
|
|
| |
This avoids leaks.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Also update copyright dates.
Remove gs_cmdl.ps as we no longer use it, and remove its entry from
psfiles.htm.
Remove xfonts.htm as this feature (xfont support) is long, long gone.
|
|
|
|
|
|
|
|
|
|
| |
Seen with tests_private/xps/sumatra/buffer_overflow_in_path_handling.xps
Specifically:
bin/gxps -sOutputFile=out.pdf -sDEVICE=pdfwrite -r72 -Z: -dNOPAUSE
-dBATCH -dClusterJob
tests_private/xps/sumatra/buffer_overflow_in_path_handling.xps
|
|
|
|
|
|
|
|
| |
Add some casts etc to squash (most of) the warnings seen in
an MSVC debug build of ghostxps.
We have an unavoidable "cast away of const" in a devspecop call,
and various stupidities in the jpegxr lib left over.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The gxps had numerous places where allocation failures were ignored,
writing to RAM at offsets from 0 (NULL). This no longer fails, but the
fixes are not yet complete. Running a memento build with the parameters:
MEMENTO_SQUEEZEAT=1 gxps -o /dev/null -sDEVICE=ppmraw in.xps
|
| |
|
|
|
|
|
|
|
|
|
|
| |
A silly error was causing fills to be applied twice. For opaque fills this
is merely a performance penalty but for transparent fills the result is
incorrect.
Thanks to Phil McSharry for identifying the problem and supplying a solution.
This shows progressions in a number of test files.
|
|
|
|
| |
Thanks to Shailesh Mistry.
|
|
|
|
| |
Thanks to Shailesh Mistry.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Fixes the reopening of bug 693042
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
All self evident, really. Lots of char's that should be bytes etc.
|
|
|
|
|
|
| |
XPS interpreter was not very robust in its handling of white space in
many locations. I created a general function to handle this in place
of the many uses of sscanf in the interpreter.
|
|
|
|
|
| |
Problem was caused by a space preceding the ending quote, which gave
the dashed line lengths.
|
|
|
|
|
|
| |
manually maintaining the bounds while parsing.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11466 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
| |
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11465 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
| |
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11462 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
| |
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11459 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
| |
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11423 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
| |
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11419 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
|
|
| |
they are not used.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11417 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
High level devices (pdfwrite basically) prefer to receive patterns as high level, rather
than pattern tiles as this is more compact. This patch checks the device capabilities
and if it can support high level patterns we emit those rather than tiles.
This is done by returning gs_error_Remap_Color from the 'remap' procedure and then
controlling the device's pattern accumulator.
Many files work better (converting to PDF) with this approach, though there are still
some problems.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11409 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
| |
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11337 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
|
|
| |
whitespace and duplicate blank lines.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11104 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
| |
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11091 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
|
|
| |
of tabs and spaces.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11090 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
|
|
|
|
|
| |
groups used to draw paths with opacity or opacity masks.
There are some minor single-pixel color differences in
the rendering of some gradients.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@10753 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
|
|
| |
and free the zip_table and xps fonts at dnit time.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@10627 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
| |
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@10448 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
|
|
|
|
|
|
|
| |
code (when executing strokepath or ustrokepath postscript operators). This
means we better match acrobat.
This frees us to optimise the non CPSI_mode version so as to produce simpler
stroked paths with the same outlines. This should allow us to be faster in
the non strokepath cases.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@10291 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
|
|
|
|
|
|
|
| |
To enable this mode, set the XPS_ZIP_SEEK environment variable
which will cause the interpreter to spool the data to a temp file
and then run the parser in the new mode.
This is going to change in a later patch to plmain that will enable
the interpreters to directly access the job files.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@10243 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
|
|
|
|
|
|
| |
Also, make xps_debug_bounds() static, converting the missing prototype
warning into another ununsed function warning. xps_debug_bounds() could
be exported; I don't know what the best policy choice is here.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@10187 a1074d23-0009-0410-80fe-cf8c14f379e6
|