From 4d16db8c341b357cb6209a97591b7632dd27db0d Mon Sep 17 00:00:00 2001 From: Reinhard Kotucha Date: Tue, 12 May 2009 20:13:15 +0000 Subject: tlgs/gs8.64 git-svn-id: svn://tug.org/texlive/trunk@13059 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/tlgs/lib/ppath.ps | 54 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Master/tlpkg/tlgs/lib/ppath.ps (limited to 'Master/tlpkg/tlgs/lib/ppath.ps') diff --git a/Master/tlpkg/tlgs/lib/ppath.ps b/Master/tlpkg/tlgs/lib/ppath.ps new file mode 100644 index 00000000000..d621c1531c7 --- /dev/null +++ b/Master/tlpkg/tlgs/lib/ppath.ps @@ -0,0 +1,54 @@ +% Copyright (C) 1989, 1995, 1997 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: ppath.ps 6300 2005-12-28 19:56:24Z giles $ +% Redefine pathforall for tracing. +% Can't be used recursively. + +/# {( )print} def + +/-mat matrix def +/-imat matrix def +/-smat { //-mat currentmatrix pop //-imat setmatrix } bind def +/-rmat { //-mat setmatrix } bind def +/-pathforall /pathforall load def +/-p2 { ( ) print exch =only ( ) print =only } bind def +/-dp2 { 2 copy -p2 2 { exch 4096 mul dup cvi dup ( ) print =only sub dup 0 eq { pop } { (+) print =only } ifelse } repeat } bind def +/-tp2 { //-mat itransform -p2 } bind def +/-dict 5 dict def + +/pathforall + { -dict begin + /-close exch def /-curve exch def /-line exch def /-move exch def + end -smat -mat ==only ( setmatrix) = + {2 copy -tp2 ( moveto\t%)print + 2 copy -dp2 (\n)print + flush -dict /-move get -rmat exec -smat} + {2 copy -tp2 ( lineto\t%)print + 2 copy -dp2 (\n)print + flush -dict /-line get -rmat exec -smat} + {5 index 5 index -tp2 3 index 3 index -tp2 2 copy -tp2 ( curveto\t%)print + 5 index 5 index -dp2 3 index 3 index -dp2 2 copy -dp2 (\n)print + flush -dict /-curve get -rmat exec -smat} + {(closepath\n)print flush -dict /-close get -rmat exec -smat} + -pathforall -rmat + } +def + +% Just print the current path + +/printpath { + {pop pop} {pop pop} {pop pop pop pop pop pop} {} pathforall +} def -- cgit v1.2.3