summaryrefslogtreecommitdiff
path: root/print/ghostscript8/files/patch-lib:ps2epsi.ps
diff options
context:
space:
mode:
Diffstat (limited to 'print/ghostscript8/files/patch-lib:ps2epsi.ps')
-rw-r--r--print/ghostscript8/files/patch-lib:ps2epsi.ps203
1 files changed, 0 insertions, 203 deletions
diff --git a/print/ghostscript8/files/patch-lib:ps2epsi.ps b/print/ghostscript8/files/patch-lib:ps2epsi.ps
deleted file mode 100644
index 19ccc7d0b022..000000000000
--- a/print/ghostscript8/files/patch-lib:ps2epsi.ps
+++ /dev/null
@@ -1,203 +0,0 @@
---- lib/ps2epsi.ps.orig Wed Apr 4 13:45:42 2001
-+++ lib/ps2epsi.ps Tue Apr 23 05:30:39 2002
-@@ -1,27 +1,31 @@
--% Copyright (C) 1990, 2000 Aladdin Enterprises. All rights reserved.
-+% Copyright (C) 1990-2002 artofcode LLC. All rights reserved.
- %
--% This file is part of AFPL Ghostscript.
-+% This software is provided AS-IS with no warranty, either express or
-+% implied.
- %
--% AFPL Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author or
--% distributor accepts any responsibility for the consequences of using it, or
--% for whether it serves any particular purpose or works at all, unless he or
--% she says so in writing. Refer to the Aladdin Free Public License (the
--% "License") for full details.
-+% This software is distributed under license and may not be copied,
-+% modified or distributed except as expressly authorized under the terms
-+% of the license contained in the file LICENSE in this distribution.
- %
--% Every copy of AFPL Ghostscript must include a copy of the License, normally
--% in a plain ASCII text file named PUBLIC. The License grants you the right
--% to copy, modify and redistribute AFPL Ghostscript, but only under certain
--% conditions described in the License. Among other things, the License
--% requires that the copyright notice and this notice be preserved on all
--% copies.
-+% For more information about licensing, please refer to
-+% http://www.ghostscript.com/licensing/. For information on
-+% commercial licensing, go to http://www.artifex.com/licensing/ or
-+% contact Artifex Software, Inc., 101 Lucas Valley Road #110,
-+% San Rafael, CA 94903, U.S.A., +1(415)492-9861.
-
--% $Id: ps2epsi.ps,v 1.5 2001/04/04 04:45:42 alexcher Exp $
-+% $Id: ps2epsi.ps,v 1.5.2.3 2002/04/22 20:30:39 giles Exp $
- % Convert an arbitrary PostScript file to an EPSI file.
- %
- % Please do not contact these users if you have questions. They no longer
- % have the time, interest, or current expertise to keep this code working.
- % If you find bugs, please send proposed fixes to bug-gs@aladdin.com.
- %
-+% Bug fix 2002-04-20 by rayjj: Bounding box was incorrect since it depended
-+% on the dither pattern and gray shade at the boundary. Changed to use
-+% 8-bit grayscale preview image to allow correct bounding box (at the
-+% expense of a 8x larger preview image). Also moved .setsafe until after
-+% the device and file operations are complete (but still before the input
-+% file is processed.
- % Bug fix 2000-04-11 by lpd: if a font didn't have a FontName (which is the
- % case for bitmap fonts produced by recent versions of dvips), setfont
- % caused an error.
-@@ -51,7 +55,6 @@
- /ps2epsi
- { % Open the file
- outfile (w) file /epsifile exch def
-- //systemdict /.setsafe known { .setsafe } if
- % Get the device parameters
- currentdevice getdeviceprops .dicttomark
- /HWSize get aload pop
-@@ -59,17 +62,23 @@
- /devwidth exch def
- matrix defaultmatrix
- /devmatrix exch def
-- % Make a corresponding memory device
-- devmatrix devwidth devheight <ff 00>
-+ % Make a corresponding 8-bit deep memory device
-+ devmatrix devwidth devheight
-+ 256 string 0 1 255 { 1 index exch dup 255 exch sub put } for
- makeimagedevice
- /arraydevice exch def
-- arraydevice setdevice % (does an erasepage)
-- /rowwidth devwidth 7 add 8 idiv def
-+ arraydevice
-+ % Turn on anti-aliasing
-+ mark /TextAlphaBits 4 /GraphicsAlphaBits 4 6 -1 roll
-+ putdeviceprops
-+ setdevice % (does an erasepage)
-+ /rowwidth devwidth def
- /row rowwidth string def
- /zerorow rowwidth string def % all zero
- % Replace the definition of showpage
- userdict /showpage { ps2edict begin epsipage end } bind put
- userdict /setfont { ps2edict begin epsisetfont end } bind put
-+ //systemdict /.setsafe known { .setsafe } if
- } bind def
-
- /epsifontdict 100 dict def
-@@ -125,8 +134,8 @@
-
- % Initialise limit variables
- /loopcount rowwidth 1 sub def
-- /lm loopcount def /lmb 0 def
-- /rm 0 def /rmb 0 def
-+ /lm loopcount def
-+ /rm 0 def
-
- % Find left and right boundaries of image
- tm 1 bm
-@@ -135,47 +144,29 @@
- % Scan from left to find first non-zero element
- % We save first the element, then the index
- -1 0 1 loopcount
-- { dup row exch get dup 0 ne { exch exit }{ pop pop } ifelse
-+ { dup row exch get 0 ne { exch pop exit }{ pop } ifelse
- } for
- % If we found -1, row is blank ..
- dup -1 ne
- { % Find the leftmost index
- dup lm lt
- % If the new index is less, we save index and element
-- { /lm exch def /lmb exch def }
-- % If the index is equal, we or the bits together
-- { lm eq { lmb or /lmb exch def }{ pop } ifelse
-- } ifelse
-+ { /lm exch def } { pop } ifelse
- % Now find the rightmost index
- loopcount -1 0
-- { dup row exch get dup 0 ne { exch exit }{ pop pop } ifelse
-+ { dup row exch get 0 ne { exit }{ pop } ifelse
- } for
- dup rm gt
- % If the new index is greater, we save index and element
-- { /rm exch def /rmb exch def }
-- % If the index is equal, or the bits
-- { rm eq { rmb or /rmb exch def } { pop } ifelse
-- } ifelse
-+ { /rm exch def } { pop } ifelse
- } if
-- pop
- } for
-
-- % Now we find the real left & right bit positions
-- 256 0 1 7
-- { exch 2 div dup lmb le { pop exit }{ exch pop } ifelse
-- } for
-- /lmb exch def
--
-- 1 7 -1 0
-- { exch dup dup rmb and eq { pop exit }{ 2 mul exch pop } ifelse
-- } for
-- /rmb exch def
--
- % Calculate the bounding box values.
- % Note that these must be corrected to produce closed-open intervals.
-- /llx lm 8 mul lmb add def
-+ /llx lm def
- /lly devheight bm sub 1 sub def
-- /urx rm 8 mul rmb add 1 add def
-+ /urx rm 1 add def
- /ury devheight tm sub def
-
- % Write out the magic string and bounding box information
-@@ -206,38 +197,31 @@
- epsifile lly write==only epsifile ( ) writestring
- epsifile urx write==only epsifile ( ) writestring
- epsifile ury write==
-- epsifile (%%BeginPreview: ) writestring
-- epsifile urx llx sub write==only epsifile ( ) writestring
-- epsifile bm tm sub 1 add write==only epsifile ( 1 ) writestring
-- epsifile bm tm sub 1 add write==
-- epsifile flushfile
-
- % Define character and bit widths for the output line buffer:
- /cwidth rm lm sub 1 add def
-- /bwidth cwidth 8 mul def
-- /owidth urx llx sub 7 add 8 idiv def
- /out cwidth string def
-
-- % Create a 1-bit-high device for bitblt to align with the bbox
-- gsave
-- matrix cwidth 8 mul 1 <00 ff> makeimagedevice setdevice
-+ epsifile (%%BeginPreview: ) writestring
-+ epsifile cwidth write==only epsifile ( ) writestring
-+ epsifile bm tm sub 1 add write==only epsifile ( 8 ) writestring
-+ epsifile bm tm sub 1 add
-+ cwidth 39 add 40 idiv mul write==
-+ epsifile flushfile
-
-- % 'image' a zero string to clear the line device
-- bwidth 1 1 matrix cwidth string image
-+ gsave
-
- tm 1 bm
- { % Get a scan line interval from the array device
- arraydevice exch row copyscanlines lm cwidth getinterval
-- lmb 0 gt
-- { % 'image' it into the line device with the lmb offset
-- bwidth 1 1 [1 0 0 1 lmb 0] 5 -1 roll image
-- % Now we get the modified scan line
-- currentdevice 0 out copyscanlines 0 owidth getinterval
-- } if
-- % Write out the hex data
-- epsifile (% ) writestring
-- epsifile exch writehexstring
-- epsifile (\n) writestring
-+ % Write out the hex data as 40 bytes per line (82 chars)
-+ 0 40 cwidth
-+ { epsifile (% ) writestring
-+ epsifile exch 2 index exch
-+ dup cwidth exch sub 40 .min getinterval writehexstring
-+ epsifile (\n) writestring
-+ } for
-+ pop
- } for
-
- epsifile (%%EndImage\n) writestring