#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  rps button8901.ps tshirt.morin.ps button8806.ps
#   button8802.ps COPYING circtext.ps
# Wrapped by tower@buita on Mon Jan 16 17:16:06 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f rps -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"rps\"
else
echo shar: Extracting \"rps\" \(312 characters\)
sed "s/^X//" >rps <<'END_OF_rps'
X:
X: rps - render postscript files
X:
X: this program and the shar method of distribution of GNU postscript
X: programs were created by Rich Morin - hoptoad.UUCP!cfcl!rdm@cgl.ucsf.edu
X:
Xfor i in $*; do
X  soelim $i				|
X  awk '
X    BEGIN { print "%!" }
X    { print }
X  '					|
X  lpr					#print a postscript file
Xdone
END_OF_rps
if test 312 -ne `wc -c <rps`; then
    echo shar: \"rps\" unpacked with wrong size!
fi
chmod +x rps
# end of overwriting check
fi
if test -f button8901.ps -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"button8901.ps\"
else
echo shar: Extracting \"button8901.ps\" \(3745 characters\)
sed "s/^X//" >button8901.ps <<'END_OF_button8901.ps'
X% 
X% button8901.ps - A GNU Button Program
X% 
X% This program may be freely redistributed under the terms of the GNU
X% Button Program General Public License.
X% 
X% Copyright 1989 Free Software Foundation
X% 
X% This GNU Button program is distributed in the hope that it will be
X% useful, but WITHOUT ANY WARRANTY.  No author or distributor accepts
X% responsibility to anyone for the consequences of using it or for
X% whether it serves any particular purpose or works at all, unless he
X% says so in writing.  Refer to the GNU Button Public License for full
X% details.
X% 
X% Everyone is granted permission to copy, modify and redistribute this
X% GNU Button Program, but only under the conditions described in the GNU
X% Button Program General Public License.  A copy of this license is
X% supposed to have been given to you along with this GNU Button Program
X% so you can know your rights and responsibilities.  It should be in a
X% file named COPYING.  Among other things, the copyright notice and this
X% notice must be preserved on all copies.
X% 
X% Hard copies of this button were first distributed at the January 1989
X% SanDiego Usenix.  They had black lettering on a blue background on a
X% standard 2 1/4" safety pin button.  They were designed by Leonard H.
X% Tower Jr. who is also the author of this GNU Button Program.
X% 
X% Report bugs or improvements to: tower@prep.ai.mit.edu
X% 
X% Hard copies of this button are probably still available.  To get a
X% button, one must have either donated source code or documentation to
X% the GNU Project or make a donation of at least $ 2.00 for each button.
X% 
X% If you wish a hard copy of a gnu button send:
X% 	- a self-addressed, stamped envelope; and
X% 	- either:
X% 		- a reminder of your source or documentation contribution; or
X% 		- a donation payable to the "Free Software Foundation"; and
X% 	- specify which of these different versions you wish:
X% 		Feb 88, June 88, and/or Jan 89
X% to:	L. Tower Jr.
X% 	36 Porter Street Somerville, MA 02143, USA
X% 
X% This program is available for anonymous ftp
X% prep.ai.mit.edu:/u2/emacs/button.N.MM.shar.  It is probably available
X% in other source archives.
X% 
X% Uses {in,out}sidecircletext routines from Adobe Cookbook.
X
X.so circtext.ps
X
X% center button on 8 1/2" x 11" page
X306 396 translate
X
X% This is a kludge to give better edge resolution.
X% Note that postscript's scale command doesn't cut it.
X% It scales after the edges are set.
X% biggg is set to 2,3,4 or 3.9 to make a master that is that much larger.
X% The master is reduced that much by the button manufacturer.
X% If only 1200 dpi postscript printers were more common ...
X/biggg 1 def
X
Xgsave
X  /gnutext (GNU) def
X  /ertext (er) def
X  /gnustpt 45 biggg mul def
X  /Times-Bold findfont gnustpt scalefont setfont
X  %center
X  % The "er" is half the point size of the "GNU"
X  /erwidth ertext stringwidth pop 2 div def
X  /gnuwidth gnutext stringwidth pop def
X  % don't take the Ue kern out here
X  gnuwidth erwidth add 2 div neg 
X			gnustpt 6 div neg moveto
X  gnutext show
X  /Times-Bold findfont gnustpt 2 div scalefont setfont
X  (e) stringwidth pop 4 div neg 0 rmoveto
X  ertext show
Xgrestore
X/Times-Bold findfont 14 biggg mul scalefont setfont
X(GNU's Not Unix)
X  14 biggg mul 90 53 biggg mul outsidecircletext
X/Times-Roman findfont 7.5 biggg mul scalefont setfont
X(Copyright 1989 Free Software Foundation)
X  7.5 biggg mul 90 69 biggg mul outsidecircletext
X(Anonymous ftp this button's postscript)
X  7.5 biggg mul 270 55 biggg mul insidecircletext
X(program from prep.ai.mit.edu:/u/emacs/button.N.MM.shar)
X  7.5 biggg mul 270 64 biggg mul insidecircletext
X(This button design may be freely redistributed under the terms of the GNU General Public License.)
X  7.5 biggg mul 270 73 biggg mul insidecircletext
Xcopypage
END_OF_button8901.ps
if test 3745 -ne `wc -c <button8901.ps`; then
    echo shar: \"button8901.ps\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f tshirt.morin.ps -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"tshirt.morin.ps\"
else
echo shar: Extracting \"tshirt.morin.ps\" \(1087 characters\)
sed "s/^X//" >tshirt.morin.ps <<'END_OF_tshirt.morin.ps'
X%
X% gts.ps - GNU t-shirt design
X%
X% This program may be freely redistributed under
X% the terms of the GNU General Public License.
X%
X% Copyright 1988 Free Software Foundation
X%
X% Uses {in,out}sidecircletext routines from Adobe Cookbook.
X
X.so circtext.ps
X
X/inch { 72 mul } def
X
X/cshow {
X  text stringwidth pop 2 div neg points 3 div neg moveto
X  text show
X} def
X 
X/radius 3.5 inch def
X4.25 inch 5.5 inch translate
X
Xgsave
X  /text (UNIX) def
X  /points 150 def
X  /Times-Bold findfont points scalefont setfont
X  cshow
Xgrestore
X
X/points 27 def
X/Times-Roman findfont points scalefont setfont
X
Xgsave
X  points 1.5 mul setlinewidth
X  newpath
X    0 0 radius points 3 div add 0 360 arc
X  stroke
X  45 rotate
X  newpath
X    radius neg 0 moveto
X    radius 0 lineto
X  stroke
X  1 setgray
X  /text (GNU's Not Unix) def
X  cshow
Xgrestore
X
X1 setgray
X
X(This t-shirt design may be freely redistributed\
X under the terms of the GNU General Public License.)
X  points 90 radius outsidecircletext
X
X(Copyright 1988 Free Software Foundation)
X  points 270 radius points 2 div add insidecircletext
X
X2 { copypage } repeat
END_OF_tshirt.morin.ps
if test 1087 -ne `wc -c <tshirt.morin.ps`; then
    echo shar: \"tshirt.morin.ps\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f button8806.ps -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"button8806.ps\"
else
echo shar: Extracting \"button8806.ps\" \(3404 characters\)
sed "s/^X//" >button8806.ps <<'END_OF_button8806.ps'
X%
X% button8806.ps - A GNU Button Program
X%
X% This program may be freely redistributed under
X% the terms of the GNU Button Program General Public License.
X%
X% Copyright 1988 Free Software Foundation
X% 
X% This GNU Button program is distributed in the hope that it will be useful,
X% but WITHOUT ANY WARRANTY.  No author or distributor
X% accepts responsibility to anyone for the consequences of using it
X% or for whether it serves any particular purpose or works at all,
X% unless he says so in writing.  Refer to the GNU Button Public
X% License for full details.
X%
X% Everyone is granted permission to copy, modify and redistribute this
X% GNU Button Program, but only under the conditions described in the
X% GNU Button Program General Public License.   A copy of this license is
X% supposed to have been given to you along with the GNU Button Program so you
X% can know your rights and responsibilities.  It should be in a
X% file named COPYING.  Among other things, the copyright notice
X% and this notice must be preserved on all copies.
X%
X% Hard copies of this button were first distributed at the June 1988
X% SanFrancisco Usenix.  They had black Lettering on a yellow background on a
X% standard 2 1/4" safety pin button.  They were designed by 
X% Leonard H. Tower Jr. who is also the author of this GNU Button Program.
X%
X% Report bugs or improvements to: tower@prep.ai.mit.edu
X%
X% Hard copies of this button are probably still available.  One much
X% have either donated source code or documentation to the GNU Project or
X% make a donation of at least $ 2.00 for each button.
X% 
X% If you wish a hard copy of a gnu button send:
X% 	- a self-addressed, stamped envelope; and
X% 	- either:
X% 		- a reminder of your source or documentation contribution; or
X% 		- a donation payable to the "Free Software Foundation"; and
X%	- specify whether you want the Feb 88 or June 88 button or both.
X% to:	L. Tower Jr.
X% 	36 Porter Street
X% 	Somerville, MA 02143, USA
X% 
X% This program is available for anonymous ftp in
X% prep.ai.mit.edu:/u2/emacs/button.N.MM.shar.  It is probably available
X% in other source archives.
X%
X% Uses {in,out}sidecircletext routines from Adobe Cookbook.
X
X.so circtext.ps
X   
X% center button on 8 1/2" x 11" page
X306 396 translate
X
X% This is a kludge to give better edge resolution.
X% Note that postscript's scale command doesn't cut it.
X% It scales after the edges are set.
X% biggg is set to 2,3, or 4 to make a master that is that much larger.
X% The master is reduced that much by the button manufacturer.
X% If only 1200 dpi postscript printers were more common ...
X/biggg 1 def
X
Xgsave
X  /gnustar (GNU) def
X  /gnustpt 45 biggg mul def
X  /Times-Bold findfont gnustpt scalefont setfont
X  %center
X  gnustar stringwidth pop 2 div neg gnustpt 3 div neg moveto
X  gnustar show
Xgrestore
X/Times-Bold findfont 14 biggg mul scalefont setfont
X(GNU's Not Unix)
X  14 biggg mul 270 64 biggg mul insidecircletext
X/Times-Roman findfont 7.5 biggg mul scalefont setfont
X(Copyright 1988 Free Software Foundation)
X  7.5 biggg mul 270 75 biggg mul insidecircletext
X(This button design may be freely redistributed under the terms of the GNU General Public License.)
X  7.5 biggg mul 90 69 biggg mul outsidecircletext
X/Times-Roman findfont 7 biggg mul scalefont setfont
X(Anonymous ftp this button's postscript program from prep.ai.mit.edu:/u/emacs/button.N.MM.shar.)
X  7 biggg mul 90 61 biggg mul outsidecircletext
Xcopypage
END_OF_button8806.ps
if test 3404 -ne `wc -c <button8806.ps`; then
    echo shar: \"button8806.ps\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f button8802.ps -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"button8802.ps\"
else
echo shar: Extracting \"button8802.ps\" \(2680 characters\)
sed "s/^X//" >button8802.ps <<'END_OF_button8802.ps'
X%
X% button8802.ps - A GNU Button Program
X%
X% This program may be freely redistributed under
X% the terms of the GNU Button Program General Public License.
X%
X% Copyright 1988 Free Software Foundation
X% 
X% This GNU Button program is distributed in the hope that it will be useful,
X% but WITHOUT ANY WARRANTY.  No author or distributor
X% accepts responsibility to anyone for the consequences of using it
X% or for whether it serves any particular purpose or works at all,
X% unless he says so in writing.  Refer to the GNU Button Public
X% License for full details.
X%
X% Everyone is granted permission to copy, modify and redistribute this
X% GNU Button Program, but only under the conditions described in the
X% GNU Button Program General Public License.   A copy of this license is
X% supposed to have been given to you along with the GNU Button Program so you
X% can know your rights and responsibilities.  It should be in a
X% file named COPYING.  Among other things, the copyright notice
X% and this notice must be preserved on all copies.
X%
X% Hard copies of this button were first distributed at the February
X% 1988 Dallas Usenix.  They had black Lettering on a white background on a
X% standard 2 1/4" safety pin button.  They were designed by 
X% Leonard H. Tower Jr. who is also the author of this GNU Button Program.
X%
X% Report bugs or improvements to: tower@prep.ai.mit.edu
X%
X% Hard copies of this button are probably still available.  One much
X% have either donated source code or documentation to the GNU Project or
X% make a donation of at least $ 2.00.
X% 
X% If you wish a hard copy of this button send both:
X% 	- a self-addressed, stamped envelope; and
X% 	- either:
X% 		- a reminder of your source or documentation contribution; or
X% 		- a donation payable to the "Free Software Foundation"
X% to:	L. Tower Jr.
X% 	36 Porter Street
X% 	Somerville, MA 02143, USA
X% 
X% This program is available for anonymous ftp in
X% prep.ai.mit.edu:/u2/emacs/button.N.MM.shar.  It is probably available
X% in other source archives.
X%
X% Uses {in,out}sidecircletext routines from Adobe Cookbook.
X
X.so circtext.ps
X   
X% center button on 8 1/2" x 11" page
X306 396 translate
X
Xgsave
X  /gnustar (GNU) def
X  /gnustpt 52 def
X  /Times-Bold findfont gnustpt scalefont setfont
X  %center
X  gnustar stringwidth pop 2 div neg gnustpt 3 div neg moveto
X  gnustar show
Xgrestore
X/Times-Bold findfont 10 scalefont setfont
X(GNU's Not Unix)
X  10 270 64 insidecircletext
X/Times-Roman findfont 7.5 scalefont setfont
X(Copyright 1988 Free Software Foundation)
X  7.5 270 75 insidecircletext
X(This button design may be freely redistributed under the terms of the GNU General Public License.)
X  7.5 90 69 outsidecircletext
Xcopypage
END_OF_button8802.ps
if test 2680 -ne `wc -c <button8802.ps`; then
    echo shar: \"button8802.ps\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f COPYING -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"COPYING\"
else
echo shar: Extracting \"COPYING\" \(7349 characters\)
sed "s/^X//" >COPYING <<'END_OF_COPYING'
X	      GNU BUTTON PROGRAM GENERAL PUBLIC LICENSE
X		    (Clarified 11 Feb 1988)
X
X Copyright (C) 1988 Free Software Foundation
X Everyone is permitted to copy and distribute verbatim copies
X of this license, but changing it is not allowed.  You can also
X use this wording to make the terms for other programs.
X
X  The license agreements of most software companies keep you at the
Xmercy of those companies.  By contrast, our general public license is
Xintended to give everyone the right to share GNU BUTTON PROGRAMS.
XTo make sure that you get the rights we want you to have, we need to
Xmake restrictions that forbid anyone to deny you these rights or to
Xask you to surrender the rights.  Hence this license agreement.
X
X  Specifically, we want to make sure that you have the right to give
Xaway copies of Button Programs, that you receive source code or else
Xcan get it if you want it, that you can change a Button Program or use
Xpieces of it in new free programs, and that you know you can do these
Xthings.
X
X  To make sure that everyone has such rights, we have to forbid you to
Xdeprive anyone else of these rights.  For example, if you distribute
Xcopies of a Button program, you must give the recipients all the
Xrights that you have.  You must make sure that they, too, receive or
Xcan get the source code.  And you must tell them their rights.
X
X  Also, for our own protection, we must make certain that everyone
Xfinds out that there is no warranty for a Gnu Button Program.  If a
XButton program is modified by someone else and passed on, we want its
Xrecipients to know that what they have is not what we distributed, so
Xthat any problems introduced by others will not reflect on our
Xreputation.
X
X  Therefore the Free Software Foundation, Inc. make the following terms
Xwhich say what you must do to be allowed to distribute or change a Gnu
XButton Program.
X
X			COPYING POLICIES
X
X  1. You may copy and distribute verbatim copies of a GNU Button source code
Xas you receive it, in any medium, provided that you conspicuously and
Xappropriately publish on each copy a valid copyright notice "Copyright
X(C) 1988 Free Software Foundation, Inc." (or with whatever year is
Xappropriate); keep intact the notices on all files that refer to this
XLicense Agreement and to the absence of any warranty; and give any
Xother recipients of a GNU Button program a copy of this License
XAgreement along with the program.  You may charge a distribution fee
Xfor the physical act of transferring a copy.
X
X  2. You may modify your copy or copies of GNU Button source code or
Xany portion of it, and copy and distribute such modifications under
Xthe terms of Paragraph 1 above, provided that you also do the following:
X
X    a) cause the modified files to carry prominent notices stating
X    that you changed the files and the date of any change; and
X
X    b) cause the whole of any work that you distribute or publish,
X    that in whole or in part contains or is a derivative of a Gnu Button
X    Program or any part thereof, to be licensed at no charge to all third
X    parties on terms identical to those contained in this License
X    Agreement (except that you may choose to grant more extensive
X    warranty protection to some or all third parties, at your option).
X
X    c) You may charge a distribution fee for the physical act of
X    transferring a copy, and you may at your option offer warranty
X    protection in exchange for a fee.
X
XMere aggregation of another unrelated program with this program (or its
Xderivative) on a volume of a storage or distribution medium does not bring
Xthe other program under the scope of these terms.
X
X  3. You may copy and distribute a Gnu Button Program (or a portion or
Xderivative of it, under Paragraph 2) in object code or executable form
Xunder the terms of Paragraphs 1 and 2 above provided that you also do
Xone of the following:
X
X    a) accompany it with the complete corresponding machine-readable
X    source code, which must be distributed under the terms of
X    Paragraphs 1 and 2 above; or,
X
X    b) accompany it with a written offer, valid for at least three
X    years, to give any third party free (except for a nominal
X    shipping charge) a complete machine-readable copy of the
X    corresponding source code, to be distributed under the terms of
X    Paragraphs 1 and 2 above; or,
X
X    c) accompany it with the information you received as to where the
X    corresponding source code may be obtained.  (This alternative is
X    allowed only for noncommercial distribution and only if you
X    received the program in object code or executable form alone.)
X
XFor an executable file, complete source code means all the source code for
Xall modules it contains; but, as a special exception, it need not include
Xsource code for modules which are standard libraries that accompany the
Xoperating system on which the executable file runs.
X
X  4. You may not copy, sublicense, distribute or transfer a Gnu Button
XProgram except as expressly provided under this License Agreement.
XAny attempt otherwise to copy, sublicense, distribute or transfer a
XGnu Button Program is void and your rights to use a Gnu Button Program
Xunder this License agreement shall be automatically terminated.
XHowever, parties who have received computer software programs from you
Xwith this License Agreement will not have their licenses terminated so
Xlong as such parties remain in full compliance.
X
X  5. If you wish to incorporate parts of a Gnu Button Program into
Xother free programs whose distribution conditions are different, write
Xto the Free Software Foundation.  We have not yet worked out a simple
Xrule that can be stated here, but we will often permit this.  We will
Xbe guided by the two goals of preserving the free status of all
Xderivatives of our free software and of promoting the sharing and
Xreuse of software.
X
XYour comments and suggestions about our licensing policies and our
Xsoftware are welcome!  Please contact the Free Software Foundation, Inc.,
X675 Mass Ave, Cambridge, MA 02139, or call (617) 876-3296.
X
X			   NO WARRANTY
X
X  BECAUSE A GNU BUTTON PROGRAM IS LICENSED FREE OF CHARGE, WE PROVIDE
XABSOLUTELY NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE
XLAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING, FREE SOFTWARE
XFOUNDATION, INC, AND/OR OTHER PARTIES PROVIDE GNU BUTTON PROGRAMS "AS
XIS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
XINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
XMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK
XAS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD
XA GNU BUTTON PROGRAM PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
XALL NECESSARY SERVICING, REPAIR OR CORRECTION.
X
X IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL FREE SOFTWARE
XFOUNDATION, INC., AND/OR ANY OTHER PARTY WHO MAY MODIFY AND
XREDISTRIBUTE GNU BUTTON PROGRAMS AS PERMITTED ABOVE, BE LIABLE TO
XYOU FOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER
XSPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
XINABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
XBEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A
XFAILURE OF THE PROGRAM TO OPERATE WITH PROGRAMS NOT DISTRIBUTED BY
XFREE SOFTWARE FOUNDATION, INC.) THE PROGRAM, EVEN IF YOU HAVE BEEN
XADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY
XOTHER PARTY.
END_OF_COPYING
if test 7349 -ne `wc -c <COPYING`; then
    echo shar: \"COPYING\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f circtext.ps -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"circtext.ps\"
else
echo shar: Extracting \"circtext.ps\" \(5463 characters\)
sed "s/^X//" >circtext.ps <<'END_OF_circtext.ps'
X%
X% circtext.ps - render text strings around arcs
X%
X% From Adobe Cookbook
X% Program: Circular Text     Number: 16
X%-----------------------------------------------------------------------------
X%
X/outsidecircletext                          % outsidecircletext places text
X  { $circtextdict begin                     % around a circular arc. The
X      /radius exch def                      % baseline of the text is placed
X      /centerangle exch def                 % on the outside of the
X      /ptsize exch def                      % circumference of the circle in a
X      /str exch def                         % clockwise fashion.
X					    % outsidecircletext takes four
X					    % arguments: the string to be
X					    % printed, the point size of the
X					    % font being used, the angle
X					    % around which the text should be
X					    % centered and the radius of the
X					    % circular arc. It assumes that
X					    % the center of the circle is at
X					    % (0,0).
X      /xradius radius ptsize 4 div add      % A radius that is slightly larger
X	def                                 % than the one specified is used
X					    % for computations but not for
X					    % placement of characters. Using a
X					    % slightly larger radius in the
X					    % computations places the
X					    % characters closer together,
X					    % otherwise the interletter
X					    % spacing is too loose.
X      gsave                                 % Save the current graphics state.
X	centerangle str findhalfangle       % Find out how much angle the
X	  add rotate                        % string subtends and then rotate
X					    % to the appropriate starting
X					    % position for showing the string.
X					    % (The positive x-axis now
X					    % intersects the circle where the
X					    % text should start.)
X	str
X	  { /charcode exch def              % For each character in the
X	    ( ) dup 0 charcode put          % string, determine its position
X	      outsideshowcharandrotate      % on the circular arc and show it.
X	  } forall
X      grestore                              % Return to the former graphics
X					    % state.
X    end
X  } def
X       
X/insidecircletext                           % insidecircletext works very
X  { $circtextdict begin                     % similarly to outsidecircletext
X      /radius exch def                      % except that the baseline of the
X      /centerangle exch def                 % text is placed on the inside of
X      /ptsize exch def                      % the circumference of the circle
X      /str exch def                         % in a counter-clockwise fashion.
X					    % insidecircletext takes the same
X					    % four arguments as
X					    % outsidecircletext.
X								
X      /xradius radius ptsize 3 div sub      % Here we use a radius which is
X	def                                 % slightly smaller than the
X					    % desired radius for computations.
X					    % This forces the characters to be
X					    % placed farther apart to avoid
X					    % overlapping.
X      gsave
X	centerangle str findhalfangle
X	  sub rotate
X	str
X	  { /charcode exch def
X	    ( ) dup 0 charcode put
X	      insideshowcharandrotate
X	  } forall
X      grestore
X    end
X  } def
X/$circtextdict 16 dict def
X$circtextdict begin
X  /findhalfangle                            % findhalfangle takes one
X    { stringwidth pop 2 div                 % argument, a string, and finds
X	2 xradius mul pi mul div 360 mul    % the angle subtended by that
X    } def                                   % string. It leaves the value of
X					    % half of that angle on the stack.
X					    % The angle is found by computing
X					    % the ratio of the width of the
X					    % string to the circumference of
X					    % the circle and then converting
X					    % that value to degrees.
X								    
X  /outsideshowcharandrotate                 % This procedure shows a character
X    { /char exch def                        % upright on the outside of the
X      /halfangle char findhalfangle def     % circumference and then rotates
X      gsave                                 % clockwise by the amount of angle
X					    % subtended by the width of the
X					    % character.
X	halfangle neg rotate                % Rotate clockwise by half the
X	radius 0 translate                  % angle taken up by the width of
X					    % the character and translate out
X					    % to the circumference.
X	-90 rotate                          % Position character upright on
X					    % outside of circumference.
X	char stringwidth pop 2 div neg      % Center the character around the
X					    % origin.
X	  0 moveto char show
X      grestore
X      halfangle 2 mul neg rotate            % Rotate clockwise by the amount
X    } def                                   % of angle subtended by the width
X					    % of the character.
X							       
X  /insideshowcharandrotate                  % insideshowcharandrotate operates
X    { /char exch def                        % in a similar manner to
X      /halfangle char findhalfangle def     % outsideshowcharandrotate except
X      gsave                                 % that the direction of rotation
X	halfangle rotate                    % is counter-clockwise and the
X	radius 0 translate                  % characters are placed upright on
X	90 rotate                           % the inside of the circle.
X	char stringwidth pop 2 div neg
X	  0 moveto char show
X      grestore
X      halfangle 2 mul rotate
X    } def
X	 
X  /pi 3.1415923 def
Xend
END_OF_circtext.ps
if test 5463 -ne `wc -c <circtext.ps`; then
    echo shar: \"circtext.ps\" unpacked with wrong size!
fi
# end of overwriting check
fi
echo shar: End of shell archive.
exit 0
