00001
00002 c
00003 c Copyright (c) 1986,1987,1988,1989,1990,1991,1992,1993,
00004 c by Steve McMillan, Drexel University, Philadelphia, PA.
00005 c
00006 c All rights reserved.
00007 c
00008 c Redistribution and use in source and binary forms are permitted
00009 c provided that the above copyright notice and this paragraph are
00010 c duplicated in all such forms and that any documentation,
00011 c advertising materials, and other materials related to such
00012 c distribution and use acknowledge that the software was developed
00013 c by the author named above.
00014 c
00015 c THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
00016 c IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
00017 c WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00018 c
00019
00020 subroutine nomber (xcall,ycall,ht,f,an,ic)
00021 save
00022 c
00023 c Similiar to calcomp number (calling sequence identical),
00024 c but uses simbol to plot the figures.
00025 c
00026 c Created 20.jun.80 plh;
00027 c Re-written 5.mar.82, 21.may.82 smcm.
00028 c
00029 integer*4 i,ic,j,m,nchar
00030 character outstr*80,outstr1*160
00031 common/fr int/iframe
00032 common/str posn/i pos set,frx,fry
00033 c
00034 character*1 pct,blank
00035 data pct/'%'/,blank/' '/
00036 c
00037 inom=1
00038 x=xcall
00039 y=ycall
00040 go to 1
00041 c
00042 entry unomber(xcall,ycall,ht,f,an,ic)
00043 entry usernomber(xcall,ycall,ht,f,an,ic)
00044 inom=1
00045 call fr inches(xcall,ycall,x,y)
00046 go to 1
00047 c
00048 entry nombr(xcall,ycall,ht,f,an,ic)
00049 inom=0
00050 x=xcall
00051 y=ycall
00052 go to 1
00053 c
00054 entry unombr(xcall,ycall,ht,f,an,ic)
00055 entry usernombr(xcall,ycall,ht,f,an,ic)
00056 inom=0
00057 call fr inches(xcall,ycall,x,y)
00058 c
00059 1 call numsym(f,ic,outstr,m)
00060 nchar=0
00061 c
00062 c Ensure numerical labels are centered in this case:
00063 c
00064 if (iframe.eq.1.and.i pos set.eq.0) nchar=-999
00065 c
00066 c Add %% for simbol:
00067 c
00068 outstr(m+1:m+2)=pct
00069 c
00070 if (f.lt.0.) then
00071 if (nchar.lt.0) then
00072 c
00073 c Extra blank for better centering of negative numbers:
00074 c
00075 m=m+1
00076 outstr(m+2:m+2)=outstr(m+1:m+1)
00077 outstr(m+1:m+1)=outstr(m:m)
00078 outstr(m:m)=blank
00079 end if
00080 end if
00081 c
00082 if (inom.eq.0) then
00083 outstr1(1:m+2)=outstr(1:m+2)
00084 i=0
00085 do j=1,m+2
00086 i=i+1
00087 if (outstr1(j:j).lt.'0'.or.outstr1(j:j).gt.'9') then
00088 outstr(i:i)=outstr1(j:j)
00089 else
00090 outstr(i:i)='@'
00091 i=i+1
00092 outstr(i:i)=outstr1(j:j)
00093 end if
00094 end do
00095 end if
00096 c
00097 call simbol (x,y,ht,outstr,an,nchar)
00098 c
00099 end