summaryrefslogtreecommitdiff
path: root/gs/contrib/pcl3/doc/gs-mods.txt
diff options
context:
space:
mode:
Diffstat (limited to 'gs/contrib/pcl3/doc/gs-mods.txt')
-rw-r--r--gs/contrib/pcl3/doc/gs-mods.txt161
1 files changed, 0 insertions, 161 deletions
diff --git a/gs/contrib/pcl3/doc/gs-mods.txt b/gs/contrib/pcl3/doc/gs-mods.txt
deleted file mode 100644
index 9e269f698..000000000
--- a/gs/contrib/pcl3/doc/gs-mods.txt
+++ /dev/null
@@ -1,161 +0,0 @@
-*******************************************************************************
- File: @(#)$Id: gs-mods.txt,v 2.3 2001/08/19 09:04:56 Martin Rel $
- Contents: Suggested changes to ghostscript's source code or configuration
- Author: Martin Lottermoser, Greifswaldstrasse 28, 38124 Braunschweig,
- Germany. E-mail: Martin.Lottermoser@t-online.de.
-
-*******************************************************************************
-* *
-* Copyright (C) 1997, 1998, 1999, 2000, 2001 by Martin Lottermoser *
-* All rights reserved *
-* *
-*******************************************************************************
-
-Changes to source code require recompilation of ghostscript, changes to the
-configuration files can be made at any time, even after installation.
-
-
-Changes to Source Code
-**********************
-
- S1 Present ghostscript versions have a bug in make_adjustment_matrix() when
- given significantly positive lower bounds for size ranges in
- "InputAttributes". I have provided an appropriate patch in
- src/zmedia2.c-N.NN.diff. To test for this bug if you already have a working
- binary of ghostscript including the "bit" device, run
-
- gs -sDEVICE=bit
-
- on the following PostScript code:
-
- << /InputAttributes
- << 0 << /PageSize [ 100 100 700 900 ] >> >>
- >> setpagedevice
- << /PageSize [ 200 300 ] >> setpagedevice
- matrix defaultmatrix ==
- quit
-
- This tells ghostscript to assume that the device supports media widths
- between 100 and 700 and heights between 100 and 900 bp, and requests a
- page size 200 bp wide and 300 bp tall. Ghostscript should print
-
- [1.0 0.0 0.0 -1.0 0.0 300.0]
-
- on standard output if you don't have the bug and
-
- [1.0 0.0 0.0 -1.0 200.0 0.0]
-
- if you do. You can use other drivers to test for this, too, but to reliably
- evaluate the result you need information on the driver's device coordinate
- system.
-
- A simple visual test can be made by replacing the last two lines in the
- program, "matrix ... quit", by
-
- /Courier findfont 10 scalefont setfont
- 100 150 moveto (Hello) show
- showpage
-
- and running it through a real device driver, preferably for the screen.
- If you have the bug, the page will be empty, if you don't, you'll see
- "Hello" in the middle.
-
- If you are unsure whether to apply the patch, proceed without it and do
- the test afterwards. The worst which can happen is that you'll have to
- recompile after patching.
-
- I had reported this bug to L. Peter Deutsch on 1997-12-02. He promised to
- look at it when he would have time. The bug is still present in gs 7.0,
- released more than three years later.
-
- S2 There is a bug in the UNIX make files for GNU ghostscript 6.51 which leads
- to a failure during "make install" when trying to install the manual pages.
- Add the line
-
- man1dir = $(mandir)/man$(man1ext)
-
- to your platform-specific makefile to fix this problem.
-
-
-
-Changes to Configuration Files
-******************************
-
- C1 There is a bug in ghostscript's default configuration for the
- undercolour removal and black generation functions. It shows up when
- printing PostScript documents using the RGB colour space ("setrgbcolor" or
- "sethsbcolor") on a device where the CMYK space is the native colour space;
- this is the case for pcl3 if you specify "-sColourModel=CMYK". The bug
- results in black being printed as a mixture of cyan, magenta, and yellow.
- On my printer, this is a slightly greenish grey with fuzzy edges.
-
- To check for the presence of this bug, run gs on the following command:
-
- 0 0 0 setrgbcolor [ currentcmykcolor ] ==
-
- gs will issue "[1.0 1.0 1.0 0.0]" on standard output if it would print the
- mixture and "[0.0 0.0 0.0 1.0]" if it would print true black. You should
- specify a CMYK device like "bitcmyk" for this test.
-
- To correct this behaviour, you'll have to modify gs_init.ps. Look for the
- following lines (starting at line 1263 in AFPL gs 7.0 and at line 1247 in
- GNU ghostscript 6.51):
-
- % Set the default screen and BG/UCR.
- /.setdefaultbgucr {
- systemdict /setblackgeneration known {
- { pop 0 } dup setblackgeneration setundercolorremoval
- } if
- } bind def
-
- Replace the line containing "setundercolorremoval" with the following:
-
- {} dup setblackgeneration setundercolorremoval
-
- I had reported this bug to L. Peter Deutsch on 1998-12-09 and he wrote he
- would change the behaviour in the next release. This happened subsequently
- in gs 6.0 (released 2000-02-03), but gs 6.01 reverted to the previous
- behaviour.
-
- C2 Ghostscript's default configuration prohibits a driver from seeing the
- value of the standard page device parameter "LeadingEdge" if set from
- PostScript; it is only visible if you set it from the command line. This is
- a logical error in ghostscript because (a) "LeadingEdge" fixes the
- orientation between default user space and the feeding direction which is a
- property of the default CTM, and because (b) determining the default CTM in
- ghostscript is the job of the driver-specific get_initial_matrix device
- procedure. Hence the driver must have access to the value of "LeadingEdge".
-
- To change this, edit the definition of ".presentspecial" in gs_setpd.ps to
- not include "LeadingEdge". Look for the line "/.presentspecial mark" and
- after that for the following lines (starting at line 356 in
- GNU ghostscript 6.51 and at line 355 in AFPL ghostscript 7.0):
-
- /InputAttributes false
- .inputattrkeys
- { dup /PageSize eq
- { pop }
- { { 2 index /InputAttributes .knownget { null eq } { true } ifelse } }
- ifelse
- }
- forall
-
- Replace the line containing "PageSize" with the following:
-
- { dup dup /PageSize eq exch /LeadingEdge eq or
-
- You need correct this bug only if you wish to set "LeadingEdge" from
- PostScript. This is normally not necessary except when you are using a
- document manager with pcl3's PPD files to print on a custom page size in a
- non-default orientation.
-
- C3 Unless your default media size is US Letter, it is a good idea to remove
- the "%" comment in the "% (a4)..." line in gs_init.ps in order to set the
- default page size to ISO A4 instead of US Letter (see also Use.htm in the
- ghostscript distribution). This is essential for correctly printing all
- documents not explicitly requesting a page size.
-
- C4 If you intend to use PostScript resources, you should also edit the
- definitions of "FontResourceDir" and "GenericResourceDir" in gs_res.ps to
- reflect your local conventions. (And if you don't know what I'm talking
- about you don't need it.)