SUBROUTINE SYMBOL(X,Y,SIZE,ISYMB) C C This subroutine will plot one of the following kinds of C symbols centered at (X,Y) inches. The symbol will C be inscribable in a circle SIZE inches in diameter. C C ISYMB SYMBOL C C -4 Error symbol, "I" C -3 Plus sign C -2 Times sign C -1 Vertical line (symbol for SPCTR) C 0 No symbol C 1 Square C 2 Circle C 3 Triangle, point up C 4 Star, five pointed C 5 Diamond, square C 6 Quarter circle C 7 Tunnel C 8 Diamond C 9 Baseball diamond C 10 House C 11 Triangle, point down C 12 Diamond, lying down C 13 Club C 14 Heart C 15 Spade C 16 Three-leafed clover. C C Adding 16 to ISYMB will generate symbols with a centered C dot; adding 32 to ISYMB will generate symbols with a C centered plus; adding 48 to ISYMB will fill in the symbol. C COMMON /PLTR/ ILun, IDev, IsTerm, IMode, IXMax, IYMax, 1 Cnvrsn, CMag, CnvMag, IX0, IY0, KSetNo, IFancy, IBfDv3, 1 CSize, DeltaH, DeltaV, Upsiln, CosUp, SinUp, WidAdj INTEGER IADD(22), IVEC(236), PENW(4) DATA SCL/.008594/, PENW/ 2, 5, 4, 4/ DATA IADD/ "0, "6, "12, "16, "20, "20, "25, "50, "54, 1 "67, "74, "105, "120, "125, "141, "147, "153, 1 "160, "225, "254, "304, 237 / DATA IVEC / 1 "70261, "7661, "40062, "117, 1 "70317, "7717, "40073, "106, 1 "61400, "16400, "65651, "12327, 1 "52251, "25727, "40073, "106, 1 "65727, "25652, "12451, "12527, 1 "25727, "56400, "15624, "13046, 1 "7262, "2472, "35472, "30662, 1 "25046, "22223, "21400, "22354, 1 "24733, "30716, "35507, "2507, 1 "7316, "13333, "15755, "16400, 1 "40072, "23343, "14542, "72, 1 "40072, "34622, "22222, "32771, 1 "27521, "151, "10521, "5370, 1 "16022, "3222, "72, "40073, 1 "21400, "106, "16401, "72, 1 "65727, "12327, "11554, "7400, 1 "4221, "36, "33046, "25651, 1 "25727, "63741, "14541, "14437, 1 "13046, "7262, "2472, "35472, 1 "30662, "24645, "23437, "23741, 1 "40073, "30200, "106, "7600, 1 "73, "40106, "16400, "15624, 1 "13246, "7263, "2472, "35472, 1 "30663, "24646, "22224, "21400, 1 "106, "40072, "23436, "23741, 1 "14542, "14437, "72, "40106, 1 "14635, "23435, "106, "61400, 1 "37, "16600, "141, "21400, 1 "40164, "36527, "35307, "3107, 1 "1527, "164, "3143, "5735, 1 "10735, "13743, "15357, "15372, 1 "13606, "10613, "5613, "1406, 1 "4421, "6035, "5651, "4465, 1 "1472, "36472, "33664, "32251, 1 "32235, "33422, "36405, "32013, 1 "27214, "24206, "22772, "23156, 1 "24542, "27335, "32335, "35343, 1 "164, "40022, "1442, "2655, 1 "5463, "7063, "11455, "13042, 1 "13014, "11574, "10361, "5341, 1 "107, "32742, "30162, "26775, 1 "25415, "25442, "26655, "31462, 1 "32662, "35455, "36642, "22, 1 "40157, "36527, "35107, "2706, 1 "1527, "156, "1543, "4335, 1 "7335, "12343, "13756, "13772, 1 "12214, "5643, "72, "32043, 1 "25613, "24372, "24356, "25743, 1 "30734, "33535, "36542, "156, 1 "40152, "36511, "116, "0, 1 "5560, "10352, "13152, "14560, 1 "14573, "13000, "14406, "14421, 1 "13227, "10227, "5421, "0, 1 "4226, "5447, "5462, "4267, 1 "1270, "62, "36467, "33670, 1 "32462, "32447, "33627, "0, 1 "32421, "27626, "25026, "23421, 1 "23406, "25000, "23572, "23557, 1 "24752, "27752, "32560, "0 / C C - VALID SYMBOL? IF( ( ISYMB .LT. -4 ) .OR. ( ISYMB .EQ. 0 ) .OR. 1 ( ISYMB .GT. 64 ) ) GO TO 1400 C C - GET LOCATION OF SYMBOL DEFINITION. IC = ( ISYMB-1 )/16 J = ISYMB - IC*16 IS = IADD( J+5 ) + 1 IE = IADD( J+6 ) C C - GENERATE SYMBOL. SCALE = SIZE*SCL 100 DO 1000 I=IS,IE CALL UNPACK( IVEC(I), IXP, IYP, IPEN ) XP = X + IXP*SCALE YP = Y + IYP*SCALE 1000 CALL CALPLT(XP,YP,IPEN) C C - GENERATE CENTER MARK IF REQUESTED. GO TO ( 1400, 1100, 1200, 1300 ), IC+1 C C - DOT. 1100 CALL CALPLT(X,Y,3) CALL CALPLT(X,Y,2) GO TO 1400 C C - CROSS. 1200 DS = SIZE*.1 CALL CALPLT(X-DS,Y,3) CALL CALPLT(X+DS,Y,2) CALL CALPLT(X,Y-DS,3) CALL CALPLT(X,Y+DS,2) GO TO 1400 C C - DECREMENT SIZE UNTIL FILLED IN. 1300 PENWID = PENW( IDEV )/CnvMag*SCL SCALE = SCALE - PENWID IF( SCALE .GT. 2.*PENWID ) GO TO 100 GO TO 1200 C C - MOVE PEN TO CENTER. 1400 CALL CALPLT(X,Y,3) RETURN END