summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/lib/traceimg.ps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlgs/lib/traceimg.ps')
-rw-r--r--Master/tlpkg/tlgs/lib/traceimg.ps42
1 files changed, 42 insertions, 0 deletions
diff --git a/Master/tlpkg/tlgs/lib/traceimg.ps b/Master/tlpkg/tlgs/lib/traceimg.ps
new file mode 100644
index 00000000000..91a9850b775
--- /dev/null
+++ b/Master/tlpkg/tlgs/lib/traceimg.ps
@@ -0,0 +1,42 @@
+% Copyright (C) 1994 Aladdin Enterprises. All rights reserved.
+%
+% This software is provided AS-IS with no warranty, either express or
+% implied.
+%
+% 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.
+%
+% 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: traceimg.ps 6300 2005-12-28 19:56:24Z giles $
+% traceimg.ps
+% Trace the data supplied to the 'image' operator.
+
+% This code currently handles only the (Level 2) dictionary form of image,
+% with a single data source and 8-bit pixels.
+
+/traceimage % <dict> traceimage -
+ { currentcolorspace == (setcolorspace\n) print
+ (<<) print
+ dup { (\t) print exch ==only ( ) print == } forall
+ (>>\n) print flush
+ begin /i_left Width Height mul store /i_dict currentdict store end
+ { i_left 0 le { exit } if
+ i_dict /DataSource get exec
+ dup type /filetype eq
+ { i_buf 0 i_left 32 .min getinterval readstring pop
+ } if
+ dup (%stdout) (w) file exch writehexstring (\n) print flush
+ i_left exch length sub /i_left exch def
+ } loop
+ } bind odef
+
+/image /traceimage load def
+/i_left 0 def
+/i_dict null def
+/i_buf 32 string def