| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Now properly takes formats from the input test list (though
this can be overridden).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
From VS2008. VS2008 can still read the new (old!) ones.
|
|
|
|
|
|
|
|
|
|
| |
pdf_info.ps was modified to check for circular references when resolving
indirect objects. Now if we find recursion we return a null.
However, we weren't checking that when resolving DescendantFonts which
could lead to a typecheck error if we had two different CIDFonts on
the same page, and the CIDFonts used the same DescendantFonts array
(which is silly, of course).
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Although not strictly part of Ghostscript, pdf_info.ps is used by
customers and this is reasonably easy to improve.
When checking for transparency, pdf_info.ps uses the Ghostscript
PDF interpreter to do the work. However, other aspects of its operation
(Media Sizes, Font use) aren't available from the PDF interpreter.
When detecting Font usage, pdf_info.ps walks the Page Resource chain,
and any the Resource chains of any Pattern or XObject Resources used
on that page, as well as the Resources for any Annots (and also any
XObject or Pattern Resources used by the Annots). If any of these
Resource chains contains a circular reference (which they absolutely
should not) then pdf_info will enter a loop and process unwil it
exceeds the execution stack limit, throwing an error.
In this commit we borrow the technique used by the PDF interpreter, we
create a dictionary and every object which we inspect has its object
number stored in that dictionary. Whenever we encounter a new object
we first check to see if its number is in that dictionary. If it is, we
know we've seen it before and this is (possibly) a circular reference.
Even if it is not a circular reference, we've already checked that chain
so we don't need to check it again.
This isn't cluster checked.
|
|
|
|
|
|
| |
and its configuration file (testing.cfg.example).
Bug 698780 (related)
|
|
|
|
|
|
|
|
|
|
| |
This works with the latest memento, and gives nicer results in
the browser.
Invoke using something like:
MEMENTO_SQUEEZEAT=1 membin/gs -sDEVICE=ppmraw -o /dev/null
in.pdf |& perl toolbin/squeeze2html.pl -q | gzip -9c > out.html.gz
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Previous commit fixed the RAW_SCREEN_DUMP=1 case, but broke the normal
case. Also added #ifndef RAW_SCREEN_DUMP around the setting in gen_odrered.h
so that the preprocesor flag could be set via the command line.
Lastly, add base/gen_ordered.h to the Headers section of the .vcproj
|
|
|
|
|
|
| |
In refactoring, I missed that FUL_FILE_NAME_LENGTH was needed if
RAW_SCREEN_DUMP was > 0 (RAW_SCREEN_DUMP is #define'd in genordered.h,
so put the definition there.).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The zgenordered function created the "THRESH_STRING" length string
which would be rejected by sethalftone since the Width * Height was
not equal to the length of the Thresholds string.
Rather than a compile time switch, the .genordered param dict now
has /OutputType, one of /Type3, /ThreshString, or /TOSArray.
The supercell code still had a "realloc". This was replaced by the
simple ALLOC, memcpy, FREE equivalent.
There were still several places that used naked printf. Changed to
respect the "verbose" value or to use EPRINTF* macros. This required
a couple of new macros.
Lastly, add DITHERSC (SuperCellSize) and DITHERLEVELS (Levels) as
options in the gen_ordered_example.ps
|
|
|
|
|
|
|
|
| |
Modify to strip non LIB_BUILD functions from gen_ordered.c and
move gen_ordered.[ch] to base. Main now in gen_ordered_main.c with
project file referencing ../../../base/ for gen_ordered.[ch].
Modify the project file appropriately and add a simple Makefile for
unix.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If GS_LIB_BUILD is #defined, gen_ordered.c API can be called from GS to
allow for addittion of a PS operator to make a HalftoneType 3 (threshold
array based halftone) controlled by parameters from a dictionary.
The result is can be used by sethalftone or as a HalftoneType 5 halftone.
Also some warnings cleaned up and add checks for ALLOC fail.
Add a gen_ordered parameter to control verbosity of printing The default
is 0, which is error messages only. Error messages are generated to
stderr (using the EPRINTF* macro).
Add documentation of these two new operators in doc/Lagnuage.htm
Add an example toolbin/halftone/gen_ordered/gen_ordered_example.ps
of usage of ,genordered and some related rendering options.
Other parsers (PCL or XPS) may call htsc_set_default_params and
htsc_gen_ordered as well to make ordered dither halftone generation
more flexible, but the integration into non-PS parsers is left for
later.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also Refactor htsc_save_tos to extract htsc_mask_to_tos to convert
final_mask.data to turn_on_sequence.
If GS_LIB_BUILD is #defined, the "main" and functions that write files
will not be included, and all but a few of the functions will be made
static. Exported functions are:
htsc_set_default_params
htsc_gen_ordered
Also ALLOC and FREE are used to allow the use of a memory allocator
(such as ghostscript's) and PRINTF and EPRINTF macros are used to
allow for redirection of messages.
|
|
|
|
|
|
| |
The comment about what the levels of quantization
were when no size was given for the macro cell was
not correct
|
|
|
|
|
|
|
| |
Fix case for -r600 -l144 -a45 -q64 -s8
A problem where we only need to take
one dot location for our first quantization level (there were
not multiple dots set to get that level)
|
|
|
|
|
|
| |
When dot profile values are the same due to tiling,
force decision as to which one to turn on next based
upon distance to center of dot mask.
|
| |
|
|
|
|
|
|
|
|
| |
ROUNDSPOT added as growing white circle transitioning to shrinking black
circle.
Also there was an arbitrary limit of lpi <= res/10.0 (y<11) that I changed
to allow things like -l30 -r600 to give more than 100 levels.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove unused packfile.ps and gs_pfile.ps file from lib
--------------------------------------------------------
The PostScript claims to 'Pack groups of files together, with
compression, for use in storage-scarce environments.'
It also states that it 'must be kept consistent with gs_pfile.ps' which
says it is 'Runtime support for minimum-space fonts and packed files'
I've never heard of either of these being used, they aren't used in the
ROM file system and it seems unlikely these days that there is a great
deal of call for minimising file sizes.
If these should need to be reinstated, note that they use .setglobal
.currentglobal and .computecodes. At the time of this commit these
operators were being deprecated and hidden though the C support is
retained. If the C code is later removed then these library files
will not work.
Remove font2c.ps
-----------------
If we want to build a font into C and link it, we have the ROM file
system in place to do so. This no longer seems useful.
remove font2c
Remove impath.ps
-----------------
The apparent purpose of this code is to take a bitmap (scan ?) of a
glyph and turn it into a PostScript type 1 font form, presumably in
order to make a font.
This doesn't seem hugely useful, and seems to me at least borderline
illegal depending on jurisdiction.
We also want to remove, or at least disable, the .imagepath operator
which this program (and only this program) relies upon. If we ever
need to re-instate this program, we will also need to reinstate
.imagepath
Remove pdfinflt.ps and pdfwrite.ps
-----------------------------------
pdfwrite is only (as far as I can see) used by pdfinflt.ps which says:
% It is not yet ready for prime time, but it is available for anyone wants
% to fix it.
%
% The main problem is:
%
% 1. Sometimes the PDF files that are written are broken. When they are
% broken, GS gets an xref problem.
%
% This problem is actually due to lib/pdfwrite.ps since even
% when no conversion is done, the file is may be bad.
Since it doesn't work, and we can use MuPDF (which does work) for the
same task, I've chosen to delete both these files.
Remove unprot.ps wrfont.ps
---------------------------
unprot.ps 'disables access checks' according to the comments in order
to print out eexec-encrypted type 1 fonts. Since this could, presumably
be used to read a noaccess dictionary and dump type 1 font outlines it
is of dubious legality. (see the comments in wrfont.ps)
wrfont.ps is used to decode a type 1 font, we have better tools for
decoding fonts so this file seems mostly useless.
By the same reasoning we don't need type1ops.ps or type1enc.ps
Remove addxchar.ps
-------------------
This was used to add extended Latin characters to a font. Our fonts
now contain all the standard glyphs that Adobe fonts do, we don't want
to go back down the route of adding (and maintaining) poor quality
additional glyphs to the fonts.
Remove decrypt.ps
------------------
Yet another way to decrypt a type 1 font. In addition to dubious
legality we have better ways to do this.
Remove pcharstr.ps
-------------------
Again, we have better tools for doing this job and the legality of
this tool is debatable.
Remove markhint.ps
-------------------
We believe we now have better tools for dealing with fonts than this.
Delete level1.ps
-----------------
A fairly pointless file.
Remove smoke.ps from toolbin
-----------------------------
Our current testing method is much more thorough.
Remove bughunt.sh
------------------
A 'user contributed file that has not been kept current', since 1995
apparently. I can't believe this is still useful.
Remove pstogsf.bat
-------------------
I'm fairly certain this is long defunct.
Remove showchar.ps
-------------------
another font-related utility, we've deleted the programs it reliee on,
so....
Remove wftopfa
---------------
Wadalab fonts, given these were uploaded by Werner Lemberg I'm as sure
as possible that we don't need these utilities to work with these
fonts.
Remove markpath.sh
-------------------
seems like a moderately pointless file; since it uses flushpage,
which I want to hide, remove it.
Remove quit.ps
---------------
Seriously ? A file which just contains 'quit' ?
Modify various of our utilities to not use Ghostscript extension ops
---------------------------------------------------------------------
We want to hide various of our extension operators, these files used
.devicename, .rectappend, .currentglobal, .setglobal and .namestring
Replaced .currentglobal/.setglobal with currenglobal/setglobal
Replaced .rectappend with a simple PostScript path
Replaced .devicename with currentdevice /Name get
Replaced .namestring with 1024 string cvs
Remove EndOfTask.ps
--------------------
Just a Ctrl-D
Remove gs_rdlin.ps
-------------------
Linux 'readline' support, just sets prompt to nothing
Remove showpage.ps
-------------------
just contains 'showpage'!
|
| |
|
|
|
|
| |
remove the --cc options
|
|
|
|
| |
Allow "extended", "cull" and "win32".
|
|
|
|
|
| |
We treat these as CMYK PAMs for now. This should be enough for
us to spot differences in the false color images produced.
|
|
|
|
|
|
|
|
|
|
|
| |
As an example of getting even more info from the PDF, add -dDumpXML to
dump the PDF Metadata (if any).
Also a problem found with -dDumpFontsNeeded=false was fixed.
usage to dump the basic info and Metadata:
gs -q -dDumpXML -dDumpMediaSizes=false -dDumpFontsNeeded=false -- \
toolbin/pdf_info.ps examples/annots.pdf
|
|
|
|
| |
As well as the (long non-functional/non-useful) Windows "xfont" code.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This adds the ability to the ICC Creator tool in toolbin/color
to create ICC profiles that will threshold to neutral CIELAB
values of black or white. You can specify the L* point at
which to apply the transition. The input curve treats the device values as
having the traditional sRGB like gamma. This is work toward dealing
with the enhancement in Bug 696834
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The code had suffered some bit rot due to the movement of MS to
unicode with the newer versions of Visual studio. I updated the
project to VS 2013, fixed several bugs dealing with unicode, cleaned
the code, and fixed issues in the creation of PS-like CMYK ICC profiles
when using the UCR/BG data. Updated the UCR/BG data and included an
example with Max K. Included ICC profiles for Max K and No K. The
Max K profile would be useful in for text output with -sTextICCProfile=max_k.icc
|
| |
|
| |
|
|
|
|
|
| |
Most of the ARCH_* macros had lower case equivalents for "backwards
compatibility" - it's been long enough.....
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The thresh_remap (previously referred to as linearize_threshold) was
never in the package, so add it in a separate directory, and fix the
reference to it in gen_ordered.c
Add README files for the upper level, for thresh_remap and for the
gen_stochastic directories, so people don't have to read the code to
find the parameters.
Fix gen_stochastic minimum dot logic to actually work, although only
the 2x2 (-m5) parameter was tested. Also change the defaults for the
tolerance, -t, to 10 (1%) and exponential factor affecting choice, -p,
to 2.5 both of which tighten the selection to improve the quality (at
least in my opinion).
|
|
|
|
| |
No cluster diffs.
|
|
|
|
| |
No cluster differences
|
|
|
|
|
|
|
|
| |
The use of -sDeviceNProfile was broken when we introduced
delayed initialization of the ICC profiles. This fixes
the issue and adds a ReadMe to the example to explain why
the orange and green colorants will be swapped from what
happens when -sDeviceNProfile is not used.
|
| |
|
|
Squashed into one commit (see branch for details of the evolution of the
branch).
This brings gpcl6 and gxps into the Ghostscript build system, and a shared
set of graphics library object files for all the interpreters.
Also, brings the same configuration options to the pcl and xps products as we
have for Ghostscript.
|