diff options
Diffstat (limited to 'Master/xemtex/gslib/zeroline.ps')
-rw-r--r-- | Master/xemtex/gslib/zeroline.ps | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/Master/xemtex/gslib/zeroline.ps b/Master/xemtex/gslib/zeroline.ps new file mode 100644 index 00000000000..7411a170d64 --- /dev/null +++ b/Master/xemtex/gslib/zeroline.ps @@ -0,0 +1,101 @@ +%! +% Copyright (C) 1994 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: zeroline.ps,v 1.2.6.1.2.1 2003/04/12 14:02:39 giles Exp $ +% zeroline.ps +% Test file to determine how other PostScript implementations handle +% filling zero-width lines under a variety of conditions. + +% Add a small "fan" of zero-width lines at different angles to the path. +/fan + { currentpoint 100 0 rlineto + 2 copy moveto 100 20 rlineto + 2 copy moveto 100 100 rlineto + 2 copy moveto 20 100 rlineto + moveto 0 100 rlineto + } def + +% Append a rectangle to the current path. +/rectappend + { 4 -2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath + } def +% Fill a rectangle. +/rectfill + { gsave newpath rectappend fill grestore + } def +% Stroke a rectangle. +/rectstroke + { gsave newpath rectappend stroke grestore + } def +% Clip to a rectangle. Unlike the real rectclip, +% this clear the current path. +/rectclip + { newpath rectappend clip newpath + } def + +40 40 translate + +% Display fans of different colors on different backgrounds. +gsave +0 setgray +0 0 120 120 rectstroke +10 10 moveto fan fill +140 0 translate +0 setgray +0 0 120 120 rectstroke +0.8 setgray +10 10 moveto fan fill +140 0 translate +0 setgray +0 0 120 120 rectfill +1 setgray +10 10 moveto fan fill +grestore +0 140 translate + +% Display rectangles with two edges coincident. +gsave +newpath +0 setgray +0 0 40 40 rectappend +0 0 20 20 rectappend +eofill +60 0 translate +0 0 40 40 rectappend +40 0 -20 20 rectappend +fill +grestore +0 60 translate + +% Display superimposed lines. +gsave +/super + { currentpoint fan + 2 copy moveto 20 0 rmoveto 50 0 rlineto + 2 copy moveto 20 4 rmoveto 50 10 rlineto + 2 copy moveto 20 20 rmoveto 50 50 rlineto + 2 copy moveto 4 20 rmoveto 10 50 rlineto + moveto 0 20 rmoveto 0 50 rlineto + } def +0 setgray +0 0 moveto super fill +140 0 translate 0 0 moveto super eofill +grestore +0 140 translate + +showpage |