k := r + 5; end; 3: begin (* cmsl10 *) labtfmnam.str[r + 3] := 's'; labtfmnam.str[r + 4] := 'l'; labtfmnam.str[r + 5] := '1'; labtfmnam.str[r + 6] := '0'; k := r + 6; end; 4: begin (* cmtt8 *) labtfmnam.str[r + 3] := 't'; labtfmnam.str[r + 4] := 't'; labtfmnam.str[r + 5] := '8'; k := r + 5; end; 5: begin (* cmsl8 *) labtfmnam.str[r + 3] := 's'; labtfmnam.str[r + 4] := 'l'; labtfmnam.str[r + 5] := '8'; k := r + 5; end; end; (* case *) labtfmnam.str[k + 1] := '.'; labtfmnam.str[k + 2] := 't'; labtfmnam.str[k + 3] := 'f'; labtfmnam.str[k + 4] := 'm'; labtfmnam.str[k+5] := chr(32); labtfmnam.len := k + 4; gettfm (labtfmnam, design, p1, space, p3, p4, p5, p6, p7, cksm); LFontsDefd := LFontsDefd + 1; if (LFontsDefd > SizLFontTable) then begin complain (ERRREALBAD); writestrng(labtfmnam, true); writeln(logfile,'---not loadable. Size of Label Font table too small'); writestrng(labtfmnam,false); writeln(' cannot be loaded. Too many label fonts. Table too small.'); jumpout; end; i := LFontsDefd; new (LFontTable[i]); with LFontTable[i]^ do begin strcopy (labtfmnam.str, FontName.str, labtfmnam.len); FontName.len := labtfmnam.len; Cksum := cksm; DesSize := design; internalnumber := style; spacewidth := space; DVIFontNum := GDVIFN +1; Isdefined := false; end; (* with *) GDVIFN := GDVIFN + 1; fonttobedefined ('L', i); GetLabFont := i; 99: end; {------------------------------------------------} function vectangle (dx, dy : integer) :real; begin if (dx <> 0) then vectangle := arctan (dy / (dx * 1.0)) * RADTODEG else begin if (dy > 0) then vectangle := 90.0 else vectangle := -90.0; end; end; {-----------------------------------------------------------} procedure definevectors (* var Vec: pVectFontInfRec *); var units : real; begin units := Vec^.MaxVectLen / 16.0; with Vec^.FontInfo[ 0] do begin Cht := round( 15.9688 * units); Cdp := 0; Cwd := round( 0.9981 * units); Angle := 86.4237; end; with Vec^.FontInfo[ 1] do begin Cht := round( 15.8764 * units); Cdp := 0; Cwd := round( 1.9846 * units); Angle := 82.8750; end; with Vec^.FontInfo[ 2] do begin Cht := round( 15.7260 * units); Cdp := 0; Cwd := round( 2.9486 * units); Angle := 79.3803; end; with Vec^.FontInfo[ 3] do begin Cht := round( 15.5223 * units); Cdp := 0; Cwd := round( 3.8806 * units); Angle := 75.9638; end; with Vec^.FontInfo[ 4] do begin Cht := round( 15.2717 * units); Cdp := 0; Cwd := round( 4.7724 * units); Angle := 72.6460; end; with Vec^.FontInfo[ 5] do begin Cht := round( 14.9813 * units); Cdp := 0; Cwd := round( 5.6180 * units); Angle := 69.4440; end; with Vec^.FontInfo[ 6] do begin Cht := round( 14.6585 * units); Cdp := 0; Cwd := round( 6.4131 * units); Angle := 66.3706; end; with Vec^.FontInfo[ 7] do begin Cht := round( 14.3108 * units); Cdp := 0; Cwd := round( 7.1554 * units); Angle := 63.4349; end; with Vec^.FontInfo[ 8] do begin Cht := round( 13.9452 * units); Cdp := 0; Cwd := round( 7.8442 * units); Angle := 60.6422; end; with Vec^.FontInfo[ 9] do begin Cht := round( 13.5680 * units); Cdp := 0; Cwd := round( 8.4800 * units); Angle := 57.9946; end; with Vec^.FontInfo[ 10] do begin Cht := round( 13.1847 * units); Cdp := 0; Cwd := round( 9.0645 * units); Angle := 55.4915; end; with Vec^.FontInfo[ 11] do begin Cht := round( 12.8000 * units); Cdp := 0; Cwd := round( 9.6000 * units); Angle := 53.1301; end; with Vec^.FontInfo[ 12] do begin Cht := round( 12.4178 * units); Cdp := 0; Cwd := round( 10.0895 * units); Angle := 50.9061; end; with Vec^.FontInfo[ 13] do begin Cht := round( 12.0412 * units); Cdp := 0; Cwd := round( 10.5361 * units); Angle := 48.8141; end; with Vec^.FontInfo[ 14] do begin Cht := round( 11.6726 * units); Cdp := 0; Cwd := round( 10.9431 * units); Angle := 46.8476; end; with Vec^.FontInfo[ 15] do begin Cht := round( 11.3137 * units); Cdp := 0; Cwd := round( 11.3137 * units); Angle := 45.0000; end; with Vec^.FontInfo[ 16] do begin Cht := round( 10.9431 * units); Cdp := 0; Cwd := round( 11.6726 * units); Angle := 43.1524; end; with Vec^.FontInfo[ 17] do begin Cht := round( 10.5361 * units); Cdp := 0; Cwd := round( 12.0412 * units); Angle := 41.1859; end; with Vec^.FontInfo[ 18] do begin Cht := round( 10.0895 * units); Cdp := 0; Cwd := round( 12.4178 * units); Angle := 39.0939; end; with Vec^.FontInfo[ 19] do begin Cht := round( 9.6000 * units); Cdp := 0; Cwd := round( 12.8000 * units); Angle := 36.8699; end; with Vec^.FontInfo[ 20] do begin Cht := round( 9.0645 * units); Cdp := 0; Cwd := round( 13.1847 * units); Angle := 34.5085; end; with Vec^.FontInfo[ 21] do begin Cht := round( 8.4800 * units); Cdp := 0; Cwd := round( 13.5680 * units); Angle := 32.0054; end; with Vec^.FontInfo[ 22] do begin Cht := round( 7.8442 * units); Cdp := 0; Cwd := round( 13.9452 * units); Angle := 29.3578; end; with Vec^.FontInfo[ 23] do begin Cht := round( 7.1554 * units); Cdp := 0; Cwd := round( 14.3108 * units); Angle := 26.5651; end; with Vec^.FontInfo[ 24] do begin Cht := round( 6.4131 * units); Cdp := 0; Cwd := round( 14.6585 * units); Angle := 23.6294; end; with Vec^.FontInfo[ 25] do begin Cht := round( 5.6180 * units); Cdp := 0; Cwd := round( 14.9813 * units); Angle := 20.5560; end; with Vec^.FontInfo[ 26] do begin Cht := round( 4.7724 * units); Cdp := 0; Cwd := round( 15.2717 * units); Angle := 17.3540; end; with Vec^.FontInfo[ 27] do begin Cht := round( 3.8806 * units); Cdp := 0; Cwd := round( 15.5223 * units); Angle := 14.0362; end; with Vec^.FontInfo[ 28] do begin Cht := round( 2.9486 * units); Cdp := 0; Cwd := round( 15.7260 * units); Angle := 10.6197; end; with Vec^.FontInfo[ 29] do begin Cht := round( 1.9846 * units); Cdp := 0; Cwd := round( 15.8764 * units); Angle := 7.1250; end; with Vec^.FontInfo[ 30] do begin Cht := round( 0.9981 * units); Cdp := 0; Cwd := round( 15.9688 * units); Angle := 3.5763; end; with Vec^.FontInfo[ 31] do begin Cht := 0; Cdp := 0; Cwd := round( 16.0000 * units); Angle := 0.0000; end; with Vec^.FontInfo[ 32] do begin Cdp := round( 0.9981 * units); Cht := 0; Cwd := round( 15.9688 * units); Angle := -3.5763; end; with Vec^.FontInfo[ 33] do begin Cdp := round( 1.9846 * units); Cht := 0; Cwd := round( 15.8764 * units); Angle := -7.1250; end; with Vec^.FontInfo[ 34] do begin Cdp := round( 2.9486 * units); Cht := 0; Cwd := round( 15.7260 * units); Angle := -10.6197; end; with Vec^.FontInfo[ 35] do begin Cdp := round( 3.8806 * units); Cht := 0; Cwd := round( 15.5223 * units); Angle := -14.0362; end; with Vec^.FontInfo[ 36] do begin Cdp := round( 4.7724 * units); Cht := 0; Cwd := round( 15.2717 * units); Angle := -17.3540; end; with Vec^.FontInfo[ 37] do begin Cdp := round( 5.6180 * units); Cht := 0; Cwd := round( 14.9813 * units); Angle := -20.5560; end; with Vec^.FontInfo[ 38] do begin Cdp := round( 6.4131 * units); Cht := 0; Cwd := round( 14.6585 * units); Angle := -23.6294; end; with Vec^.FontInfo[ 39] do begin Cdp := round( 7.1554 * units); Cht := 0; Cwd := round( 14.3108 * units); Angle := -26.5651; end; with Vec^.FontInfo[ 40] do begin Cdp := round( 7.8442 * units); Cht := 0; Cwd := round( 13.9452 * units); Angle := -29.3578; end; with Vec^.FontInfo[ 41] do begin Cdp := round( 8.4800 * units); Cht := 0; Cwd := round( 13.5680 * units); Angle := -32.0054; end; with Vec^.FontInfo[ 42] do begin Cdp := round( 9.0645 * units); Cht := 0; Cwd := round( 13.1847 * units); Angle := -34.5085; end; with Vec^.FontInfo[ 43] do begin Cdp := round( 9.6000 * units); Cht := 0; Cwd := round( 12.8000 * units); Angle := -36.8699; end; with Vec^.FontInfo[ 44] do begin Cdp := round( 10.0895 * units); Cht := 0; Cwd := round( 12.4178 * units); Angle := -39.0939; end; with Vec^.FontInfo[ 45] do begin Cdp := round( 10.5361 * units); Cht := 0; Cwd := round( 12.0412 * units); Angle := -41.1859; end; with Vec^.FontInfo[ 46] do begin Cdp := round( 10.9431 * units); Cht := 0; Cwd := round( 11.6726 * units); Angle := -43.1524; end; with Vec^.FontInfo[ 47] do begin Cdp := round( 11.3137 * units); Cht := 0; Cwd := round( 11.3137 * units); Angle := -45.0000; end; with Vec^.FontInfo[ 48] do begin Cdp := round ( 11.6726 * units); Cht := 0; Cwd := round( 10.9431 * units); Angle := -46.8476; end; with Vec^.FontInfo[ 49] do begin Cdp := round ( 12.0412 * units); Cht := 0; Cwd := round( 10.5361 * units); Angle := -48.8141; end; with Vec^.FontInfo[ 50] do begin Cdp := round ( 12.4178 * units); Cht := 0; Cwd := round( 10.0895 * units); Angle := -50.9061; end; with Vec^.FontInfo[ 51] do begin Cdp := round ( 12.8000 * units); Cht := 0; Cwd := round( 9.6000 * units); Angle := -53.1301; end; with Vec^.FontInfo[ 52] do begin Cdp := round ( 13.1847 * units); Cht := 0; Cwd := round( 9.0645 * units); Angle := -55.4915; end; with Vec^.FontInfo[ 53] do begin Cdp := round ( 13.5680 * units); Cht := 0; Cwd := round( 8.4800 * units); Angle := -57.9946; end; with Vec^.FontInfo[ 54] do begin Cdp := round ( 13.9452 * units); Cht := 0; Cwd := round( 7.8442 * units); Angle := -60.6422; end; with Vec^.FontInfo[ 55] do begin Cdp := round ( 14.3108 * units); Cht := 0; Cwd := round( 7.1554 * units); Angle := -63.4349; end; with Vec^.FontInfo[ 56] do begin Cdp := round ( 14.6585 * units); Cht := 0; Cwd := round( 6.4131 * units); Angle := -66.3706; end; with Vec^.FontInfo[ 57] do begin Cdp := round ( 14.9813 * units); Cht := 0; Cwd := round( 5.6180 * units); Angle := -69.4440; end; with Vec^.FontInfo[ 58] do begin Cdp := round ( 15.2717 * units); Cht := 0; Cwd := round( 4.7724 * units); Angle := -72.6460; end; with Vec^.FontInfo[ 59] do begin Cdp := round ( 15.5223 * units); Cht := 0; Cwd := round( 3.8806 * units); Angle := -75.9638; end; with Vec^.FontInfo[ 60] do begin Cdp := round ( 15.7260 * units); Cht := 0; Cwd := round( 2.9486 * units); Angle := -79.3803; end; with Vec^.FontInfo[ 61] do begin Cdp := round ( 15.8764 * units); Cht := 0; Cwd := round( 1.9846 * units); Angle := -82.8750; end; with Vec^.FontInfo[ 62] do begin Cdp := round ( 15.9688 * units); Cht := 0; Cwd := round( 0.9981 * units); Angle := -86.4237; end; with Vec^.FontInfo[ 63] do begin Cht := round( 8.0000 * units); Cdp := 0; Cwd := 0; Angle := 90.0000; end; with Vec^.FontInfo[ 64] do begin Cht := round( 7.9382 * units); Cdp := 0; Cwd := round( 0.9923 * units); Angle := 82.8750; end; with Vec^.FontInfo[ 65] do begin Cht := round( 7.7611 * units); Cdp := 0; Cwd := round( 1.9403 * units); Angle := 75.9638; end; with Vec^.FontInfo[ 66] do begin Cht := round( 7.4906 * units); Cdp := 0; Cwd := round( 2.8090 * units); Angle := 69.4440; end; with Vec^.FontInfo[ 67] do begin Cht := round( 7.1554 * units); Cdp := 0; Cwd := round( 3.5777 * units); Angle := 63.4349; end; with Vec^.FontInfo[ 68] do begin Cht := round( 6.7840 * units); Cdp := 0; Cwd := round( 4.2400 * units); Angle := 57.9946; end; with Vec^.FontInfo[ 69] do begin Cht := round( 6.4000 * units); Cdp := 0; Cwd := round( 4.8000 * units); Angle := 53.1301; end; with Vec^.FontInfo[ 70] do begin Cht := round( 6.0206 * units); Cdp := 0; Cwd := round( 5.2680 * units); Angle := 48.8141; end; with Vec^.FontInfo[ 71] do begin Cht := round( 5.6569 * units); Cdp := 0; Cwd := round( 5.6569 * units); Angle := 45.0000; end; with Vec^.FontInfo[ 72] do begin Cht := round( 5.2680 * units); Cdp := 0; Cwd := round( 6.0206 * units); Angle := 41.1859; end; with Vec^.FontInfo[ 73] do begin Cht := round( 4.8000 * units); Cdp := 0; Cwd := round( 6.4000 * units); Angle := 36.8699; end; with Vec^.FontInfo[ 74] do begin Cht := round( 4.2400 * units); Cdp := 0; Cwd := round( 6.7840 * units); Angle := 32.0054; end; with Vec^.FontInfo[ 75] do begin Cht := round( 3.5777 * units); Cdp := 0; Cwd := round( 7.1554 * units); Angle := 26.5651; end; with Vec^.FontInfo[ 76] do begin Cht := round( 2.8090 * units); Cdp := 0; Cwd := round( 7.4906 * units); Angle := 20.5560; end; with Vec^.FontInfo[ 77] do begin Cht := round( 1.9403 * units); Cdp := 0; Cwd := round( 7.7611 * units); Angle := 14.0362; end; with Vec^.FontInfo[ 78] do begin Cht := round( 0.9923 * units); Cdp := 0; Cwd := round( 7.9382 * units); Angle := 7.1250; end; with Vec^.FontInfo[ 79] do begin Cht := 0; Cdp := 0; Cwd := round( 8.0000 * units); Angle := 0.0000; end; with Vec^.FontInfo[ 80] do begin Cdp := round( 0.9923 * units); Cht := 0; Cwd := round( 7.9382 * units); Angle := -7.1250; end; with Vec^.FontInfo[ 81] do begin Cdp := round( 1.9403 * units); Cht := 0; Cwd := round( 7.7611 * units); Angle := -14.0362; end; with Vec^.FontInfo[ 82] do begin Cdp := round( 2.8090 * units); Cht := 0; Cwd := round( 7.4906 * units); Angle := -20.5560; end; with Vec^.FontInfo[ 83] do begin Cdp := round( 3.5777 * units); Cht := 0; Cwd := round( 7.1554 * units); Angle := -26.5651; end; with Vec^.FontInfo[ 84] do begin Cdp := round( 4.2400 * units); Cht := 0; Cwd := round( 6.7840 * units); Angle := -32.0054; end; with Vec^.FontInfo[ 85] do begin Cdp := round( 4.8000 * units); Cht := 0; Cwd := round( 6.4000 * units); Angle := -36.8699; end; with Vec^.FontInfo[ 86] do begin Cdp := round( 5.2680 * units); Cht := 0; Cwd := round( 6.0206 * units); Angle := -41.1859; end; with Vec^.FontInfo[ 87] do begin Cdp := round( 5.6569 * units); Cht := 0; Cwd := round( 5.6569 * units); Angle := -45.0000; end; with Vec^.FontInfo[ 88] do begin Cdp := round ( 6.0206 * units); Cht := 0; Cwd := round( 5.2680 * units); Angle := -48.8141; end; with Vec^.FontInfo[ 89] do begin Cdp := round ( 6.4000 * units); Cht := 0; Cwd := round( 4.8000 * units); Angle := -53.1301; end; with Vec^.FontInfo[ 90] do begin Cdp := round ( 6.7840 * units); Cht := 0; Cwd := round( 4.2400 * units); Angle := -57.9946; end; with Vec^.FontInfo[ 91] do begin Cdp := round ( 7.1554 * units); Cht := 0; Cwd := round( 3.5777 * units); Angle := -63.4349; end; with Vec^.FontInfo[ 92] do begin Cdp := round ( 7.4906 * units); Cht := 0; Cwd := round( 2.8090 * units); Angle := -69.4440; end; with Vec^.FontInfo[ 93] do begin Cdp := round ( 7.7611 * units); Cht := 0; Cwd := round( 1.9403 * units); Angle := -75.9638; end; with Vec^.FontInfo[ 94] do begin Cdp := round ( 7.9382 * units); Cht := 0; Cwd := round( 0.9923 * units); Angle := -82.8750; end; with Vec^.FontInfo[ 95] do begin Cdp := round ( 8.0000 * units); Cht := 0; Cwd := 0; Angle := -90.0000; end; with Vec^.FontInfo[ 96] do begin Cht := round( 4.0000 * units); Cdp := 0; Cwd := 0; Angle := 90.0000; end; with Vec^.FontInfo[ 97] do begin Cht := round( 3.8806 * units); Cdp := 0; Cwd := round( 0.9701 * units); Angle := 75.9638; end; with Vec^.FontInfo[ 98] do begin Cht := round( 3.5777 * units); Cdp := 0; Cwd := round( 1.7889 * units); Angle := 63.4349; end; with Vec^.FontInfo[ 99] do begin Cht := round( 3.2000 * units); Cdp := 0; Cwd := round( 2.4000 * units); Angle := 53.1301; end; with Vec^.FontInfo[100] do begin Cht := round( 2.8284 * units); Cdp := 0; Cwd := round( 2.8284 * units); Angle := 45.0000; end; with Vec^.FontInfo[101] do begin Cht := round( 2.4000 * units); Cdp := 0; Cwd := round( 3.2000 * units); Angle := 36.8699; end; with Vec^.FontInfo[102] do begin Cht := round( 1.7889 * units); Cdp := 0; Cwd := round( 3.5777 * units); Angle := 26.5651; end; with Vec^.FontInfo[103] do begin Cht := round( 0.9701 * units); Cdp := 0; Cwd := round( 3.8806 * units); Angle := 14.0362; end; with Vec^.FontInfo[104] do begin Cht := 0; Cdp := 0; Cwd := round( 4.0000 * units); Angle := 0.0000; end; with Vec^.FontInfo[105] do begin Cdp := round( 0.9701 * units); Cht := 0; Cwd := round( 3.8806 * units); Angle := -14.0362; end; with Vec^.FontInfo[106] do begin Cdp := round( 1.7889 * units); Cht := 0; Cwd := round( 3.5777 * units); Angle := -26.5651; end; with Vec^.FontInfo[107] do begin Cdp := round( 2.4000 * units); Cht := 0; Cwd := round( 3.2000 * units); Angle := -36.8699; end; with Vec^.FontInfo[108] do begin Cdp := round( 2.8284 * units); Cht := 0; Cwd := round( 2.8284 * units); Angle := -45.0000; end; with Vec^.FontInfo[109] do begin Cdp := round ( 3.2000 * units); Cht := 0; Cwd := round( 2.4000 * units); Angle := -53.1301; end; with Vec^.FontInfo[110] do begin Cdp := round ( 3.5777 * units); Cht := 0; Cwd := round( 1.7889 * units); Angle := -63.4349; end; with Vec^.FontInfo[111] do begin Cdp := round ( 3.8806 * units); Cht := 0; Cwd := round( 0.9701 * units); Angle := -75.9638; end; with Vec^.FontInfo[112] do begin Cdp := round ( 4.0000 * units); Cht := 0; Cwd := 0; Angle := -90.0000; end; with Vec^.FontInfo[113] do begin Cht := round( 2.0000 * units); Cdp := 0; Cwd := 0; Angle := 90.0000; end; with Vec^.FontInfo[114] do begin Cht := round( 1.7889 * units); Cdp := 0; Cwd := round( 0.8944 * units); Angle := 63.4349; end; with Vec^.FontInfo[115] do begin Cht := round( 1.4142 * units); Cdp := 0; Cwd := round( 1.4142 * units); Angle := 45.0000; end; with Vec^.FontInfo[116] do begin Cht := round( 0.8944 * units); Cdp := 0; Cwd := round( 1.7889 * units); Angle := 26.5651; end; with Vec^.FontInfo[117] do begin Cht := 0; Cdp := 0; Cwd := round( 2.0000 * units); Angle := 0.0000; end; with Vec^.FontInfo[118] do begin Cdp := round( 0.8944 * units); Cht := 0; Cwd := round( 1.7889 * units); Angle := -26.5651; end; with Vec^.FontInfo[119] do begin Cdp := round( 1.4142 * units); Cht := 0; Cwd := round( 1.4142 * units); Angle := -45.0000; end; with Vec^.FontInfo[120] do begin Cdp := round ( 1.7889 * units); Cht := 0; Cwd := round( 0.8944 * units); Angle := -63.4349; end; with Vec^.FontInfo[121] do begin Cdp := round ( 2.0000 * units); Cht := 0; Cwd := 0; Angle := -90.0000; end; with Vec^.FontInfo[122] do begin Cht := round( 1.0000 * units); Cdp := 0; Cwd := 0; Angle := 90.0000; end; with Vec^.FontInfo[123] do begin Cht := round( 0.7071 * units); Cdp := 0; Cwd := round( 0.7071 * units); Angle := 45.0000; end; with Vec^.FontInfo[124] do begin Cht := 0; Cdp := 0; Cwd := round( 1.0000 * units); Angle := 0.0000; end; with Vec^.FontInfo[125] do begin Cdp := round( 0.7071 * units); Cht := 0; Cwd := round( 0.7071 * units); Angle := -45.0000; end; with Vec^.FontInfo[126] do begin Cdp := round ( 1.0000 * units); Cht := 0; Cwd := 0; Angle := -90.0000; end; with Vec^.FontInfo[127] do begin Cht := 0; Cdp := 0; Cwd := 0; Angle := -90.0000; end; end; (* define vectors *) {-------------------------------------------------} (* If, for some reason, you do not want to deal with music capabilities, replace the body of this procedure with just a begin end; pair and also the TylBeam proc. *) procedure definebeams (* var M : pMusFontInfRec *); var i : integer; begin end; {----------------------------------------------------------} (* use pre-calculated coordinates of a circle that has a