C 1 OS/8 4006-1 DISPLAY SOFTWARE C C SYMBOL.FT C C AUFBAU DER KOORDINATENTABELLE C C I-----------------------------------------------I C I I I I I I I I I I I 1 I 1 I C I 0 I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 0 I 1 I C I-----------------------------------------------I C I I I I I C I Y1 I X1 I Y2 I X2 I C I I I I I C I-----------------------------------------------I C C Y1,X1,Y2,X2 : C C 0 ... 6 KOORDINATEN C C 07 PEN-CHANGE C C 77 [ Y1,X1 ] CHAR-ENDE C SUBROUTINE SYMBOL(XPAGE,YPAGE,HEIGH,IBCD,ANGLE,NC) COMMON IVER,IZEI DIMENSION IBCD(1),IVER(1),IZEI(1) C C SET MODE CALL ? C IF(HEIGH) 1000,80,80 C C WENN X- ODER Y-PAGE = 999. , DANN ALTEN C WERT BENUTZEN.(ENDE DES ZULETZT GESCHRIEBENEN C ZEICHENS C 80 IF(XPAGE-999.) 90,100,90 90 X=XPAGE 100 IF(YPAGE-999.) 150,200,150 150 Y=YPAGE C C SIN UND COS WERDEN NUR AUFGERUFEN, WENN SICH DIE C ZEICHEN-HOEHE ODER DER ZEICHEN-WINKEL AENDERN 200 IF(OLDH-HEIGH) 250,300,250 250 H=HEIGH/7. OLDH=HEIGH GOTO 400 300 IF(OLDA-ANGLE) 400,500,400 400 OLDA=ANGLE S=TSIN(OLDA)*H C=TCOS(OLDA)*H 500 IP=3 C C BEI ZENTRIERTEN ZEICHEN SICHTBAR VERBINDEN ? C IF(NC+2) 520,520,540 520 IP=2 540 CALL PLOT(X,Y,IP) I=1 C C STRINGANFANG C 600 J = LGET(IBCD,I) IF(J) 610,850,610 610 J=J+1 IF(NC) 630,620,620 620 J=J+15 C C ZEICHENANFANG C 630 J=IVER(J) L=1 IP=2 700 K=LGET(IZEI(J),L) IF(K-7) 730,720,730 720 IP=5-IP GOTO 810 730 IF(K-63) 740,900,740 S\740, TAD \K S AND (7 S DCA \IX S TAD \K S RAR;RTR S AND (7 S DCA \IY IF(NC) 710,800,800 C C DIE ZENTRIERTEN SYMBOLE SIND MIT OFFSET VESEHEN C 710 IX=IX-3 IY=IY-3 800 X2=IX Y2=IY X1=X+(X2+Y2*TAL)*ASP*C-Y2*S Y1=Y+(X2+Y2*TAL)*ASP*S+Y2*C CALL PLOT(X1,Y1,IP) 810 L=L+1 GOTO 700 850 I=NC 900 IF(NC) 1100,1100,910 910 I=I+1 X=X+SPA*C Y=Y+SPA*S IF(I-NC) 600,600,1100 C C SET MODE CALL PARAMETER UEBERNEHMEN C 1000 IF(XPAGE-999.) 1010,1020,1010 1010 ASP=XPAGE 1020 IF(YPAGE-999.) 1030,1040,1030 1030 TAL=YPAGE 1040 IF(ANGLE-999.) 1050,1100,1050 1050 SPA=ANGLE*7.*ASP 1100 RETURN END