From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- fonts/astro/astrosym.cmn | 441 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 441 insertions(+) create mode 100644 fonts/astro/astrosym.cmn (limited to 'fonts/astro/astrosym.cmn') diff --git a/fonts/astro/astrosym.cmn b/fonts/astro/astrosym.cmn new file mode 100644 index 0000000000..c2f060a78d --- /dev/null +++ b/fonts/astro/astrosym.cmn @@ -0,0 +1,441 @@ +% ASTROSYM.CMN : AstroSym (Version 2.20, Aug. 10, 2002) - file 4 of 8 +% Peter Schmitt eMail: Peter.Schmitt@univie.ac.at +% Institute of Mathematics, University of Vienna Vienna, Austria +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +beginchar(O+2,52u#,80u#,0u#); "Venus"; + corners; centers; + VV:=(TC-TL) rotated -90; + CL:=TL+VV; CR:=TR+VV; bC:=TC+2VV; + PEN; draw TC..CR..bC..CL..TC..cycle; % top circle + SPEN; cross (bC,BC, 4/3,-2P); % bottom cross + endchar; + +beginchar(O+3,52u#,80u#,0u#); "Terra"; + corners; centers; + VV:=(BC-BL) rotated 90; + CL:=BL+VV; CR:=BR+VV; tC:=BC+2VV; + PEN; draw tC..CR..BC..CL..tC..cycle; % bottom circle + SPEN; cross (tC,TC, 1,2P); % top cross + endchar; + +beginchar(O+4,52u#,88u#,0u#); "Mars"; + corners; centers; + VV:=(BC-BL) rotated 90; + CL:=BL+VV; CR:=BR+VV; tC:=BC+2VV; + CC:=BC+VV; + Cr:=(tC+2vP) rotatedaround (CC,-15); % temporary + TR:=TR+vd+hd; % top arrow: top + tr:=.45[Cr,TR]; % top arrow: base + Cr:=Cr-(2hP rotated angle(TR-Cr)); % top arrow: stem base + a:=angle(TR-tr); b:=cosd(a)/sind(a); % arrow: calculate breadth + PEN; draw tC..CR..BC..CL..tC..cycle; % bottom circle + PEN; draw Cr--tr; % top arrow: stem + Pen; arrow (tr,TR, 2b, .1,.5); % top arrow + endchar; + +beginchar(O+7,52u#,74u#,10u#); "Uranus"; + corners; centers; + VV:=(BC-BL) rotated 90; + bL:=BL+VV; bR:=BR+VV; CC:=BC+2VV; + bC:=BC+VV; + TC:=TC+vd; tC:=.4[CC,TC]; + PEN; draw CC..bR..BC..bL..CC..cycle; % bottom circle + fill fullcircle scaled 2P shifted bC; % bottom circle: dot + draw CC--tC; % top arrow: stem + Pen; arrow (tC,TC, 1.2, .1,.5); % top arrow + endchar; + +beginchar(O+8,88u#,80u#,0u#); "Neptunus"; + Corners(p,p,P,p); Centers(.5,.2); + HOR (9/88,79/88); + Top(.725); Bot(.2); + b:=length(Tl-TL)/length(Tl-tl); % arrows: breadth of points + SPEN; draw bl--br; % horizontal bar + draw bC--BC; % vertical stem + draw bl--tl; draw bC--tC; draw br--tr; % three arrows: arms + Pen; arrow (tl,Tl, 2b, .2,.5); % three arrows: points + arrow (tC,TC, 2b, .2,.5); + arrow (tr,Tr, 2b, .2,.5); + endchar; + +beginchar(O+9,52u#,80u#,0u#); "Pluto"; + corners; centers; + VV:=(TC-TL) rotated -90; + bC:=TC+2VV; bL:=TL+2VV; + BOT (0,2/3); % Br : bottom bar (right end) + PEN; draw TL--TC{right}..{left}bC--bL; % top right arc + SPEN; draw BL--TL; draw BL--Br; % left bar and bottom bar + endchar; + +beginchar(O+21,76u#,58u#,-6u#); "Aquarius"; + Corners(P,P,(h+d)/2+P,P); + % upper strokes: + centers; % CL and CR : left and right end + BOT (3/12,11/12); BC:=.5[Bl,Br]; % Bl,BC,Br : upper endpoints + TOP (1/12,9/12); TC:=.5[Tl,Tr]; % Tl,TC,Tr : lower endpoints +% PEN yscaled (p/P) rotated (90-angle(Tl-CL)); + PEN yscaled (p/P) rotated angle(Tl-CL); + draw CL--Tl--Bl--TC--BC--Tr--Br--CR; + picture upper; upper:= currentpicture; % lower strokes + addto currentpicture also upper shifted (0,-(h+d)/2); + endchar; + +beginchar(O+24,88u#,80u#,0u#); "Neptunus 2"; + Corners(p,p,P,p); Centers(.5,.2); + HOR (9/88,79/88); + Top(.725); Bot(.2); + b:=length(Tl-TL)/length(Tl-tl); % arrows: breadth of points + SPEN; draw bC--tC; % middle arm + cross (BC,bC, 1, -P); % lower cross + PEN; draw tl{down}..{up}tr; % arc from left to right arm + Pen; arrow (tl,Tl, 2b, .2,.5); % three arrows: points + arrow (tC,TC, 2b, .2,.5); + arrow (tr,Tr, 2b, .2,.5); + endchar; + +beginchar(O+25,68u#,80u#,0u#); "Pluto 2"; + Corners(p,p,P,p); Centers(.5,.2); + HOR (2/17,15/17); + Top(.725); Bot(.2) + b:=length(Tl-TL)/length(Tl-tl); % arrows: breadth of points + SPEN; draw bl--br; % horizontal bar + draw bC--BC; % vertical stem + draw bl--tl; draw br--tr; % two arrows: arms + Pen; arrow (tl,Tl, 2b, .2,.5); % two arrows; points + arrow (tr,Tr, 2b, .2,.5); + endchar; + +beginchar(O+26,1U#,1U#,0); "Libra 2"; + corners; Centers (1/2,2/3-1/12); + LFT (1/3,1); RT (1/3,1); + PEN; draw CC{right}..TC..{right}CC; % top circle + SPEN; draw bL--bR; draw CL--CR; % lower and upper bar + endchar; + +beginchar(O+30,74u#,88u#,0u#); "Mars 2"; + corners; Centers (1/2,11/40); + VV:=(CL-BL); HH := VV rotated -90; + BC:=BL+HH; CR:=CL+2HH; tC:=BC+2VV; + CC:=BC+VV; + TR:=TR+vd+hd; % top arrow: top + Cr:=(tC+2vP) rotatedaround (CC,angle(TR-CC)-90); % temporary + tr:=.45[Cr,TR]; % top arrow: base + Cr:=Cr-(2hP rotated angle(TR-Cr)); % top arrow: stem base + a:=angle((TR-tr) rotated .5(90-angle(TR-(CR+hd)))); + b:=cosd(a)/sind(a); % arrow: calculate breadth + PEN; draw tC..CR..BC..CL..cycle; % bottom circle + PEN; draw Cr--tr; % top arrow: stem + Pen; arrow (tr,TR, 2b, .1,.5); % top arrow + endchar; + +beginchar(O+31,52u#,80u#,0u#); "Pluto 3"; % variation of Pluto (1) + corners; centers; + VV:=(TC-TL) rotated -90; + bC:=TC+2VV; bL:=TL+2VV; + HOR (2/5,1); % Bl : bottom bar (left end) + Cl := Tl+VV; % Cl : vertical bar (top end) + PEN; draw TL--TC{right}..{left}bC--bL; % letter P : top right arc + SPEN; draw BL--TL; % letter P : left bar + SPEN; draw Bl--Cl; draw Bl--BR; % letter L : left bar and bottom bar + endchar; + +beginchar(O+33,U#,U#,0u#); "Star"; + corners; centers; + RR:=length(BC-CC)*(1,sind15/cosd15); + for i:= 0 upto 5 : SPEN rotated (60i+45); + draw CC--(CC+(RR rotated 60i)); endfor; + endchar; + +beginchar(O+34,88u#,88u#,0u#); "Comet"; + corners; + BOT (11/40,2/3); + HH:=(Bl-BL); VV:=HH rotated 90; + CC:=Bl+VV; + TOP (1/3,2/3); RT (1/3,2/3); + PEN; Circle ( CC, HH,VV ); % bottom circle + a := angle (Tr-CC); + RPEN rotated (a+90); draw ( CC + ( HH rotated a ) ) -- Tr; + a := angle (TR-CC); + SPEN rotated (a+90); + draw ( CC + ( HH rotated a ) ) -- ( TR - ( HH rotated a )/4 ); + a := angle (tR-CC); + RPEN rotated (a+90); draw ( CC + ( HH rotated a ) ) -- tR; + endchar; + +beginchar(O+35,74u#,88u#,0u#); "Meteor"; + corners; Centers (4/5,2/3); + BL:=BL-vd-hd; % bot arrow: top +CC:=CR; % better? + bl:=1/5[BL,CC]; % bot arrow: base + a:=angle((BL-bl) rotated .5(90-angle(BL-(CL-hd)))); + b:=cosd(a)/sind(a); % arrow: calculate breadth + SPEN; drawdot TR; PEN; draw TR--CC--bl; % bot arrow: stem + Pen; arrow (bl,BL, 2b, .1,.5); % bot arrow + endchar; + +beginchar(O+36,74u#,88u#,0u#); "Conjunction"; + corners; Centers (1/2,11/40); + VV:=(CL-BL); HH := VV rotated -90; + BC:=BL+HH; CR:=CL+2HH; tC:=BC+2VV; + CC:=BC+VV; + Cr:=(tC+vP/2) rotatedaround (CC,angle(TR-CC)-90); % temporary + PEN; draw tC..CR..BC..CL..cycle; % bottom circle + RPEN rotated (90+angle(TR-Cr)); draw Cr--TR; % top arrow: stem + endchar; + +beginchar(O+37,72u#,72u#,0u#); "Opposition"; + corners; + HH:=(BR-BL)/6; VV:=HH rotated 90; + HH:=(BR-BL)/5; VV:=HH rotated 90; + TT:=HH rotated 45; + bC:=BL+HH+VV; tC:=TR-HH-VV; + PEN; Circle (bC,HH,VV); + Circle (tC,HH,VV); + draw (bC+TT)--(tC-TT); + endchar; + +beginchar(O+38,U#,U#,0u#); "Quadrature"; + corners; + SPEN; draw TL--TR--BR--BL--TL ; % square + endchar; + +beginchar(O+39,U#,U#,0u#); "full moon"; + corners; centers; + VV:=(BC-BL) rotated 90; + TC:=CC+VV; BC:=CC-VV; D:=U/9; + hh:=(U/6,0); vv:=(0,U/6); + PEN; draw TC..CR..BC..CL..TC..cycle; % circle + endchar; + +beginchar(O+40,U#,U#,0u#); "new moon"; + fill TC..CR..BC..CL..TC..cycle; % circle + endchar; + +beginchar(O+44,2/3U#,U#,0u#); "Luna 2 = (moon 2) last quarter"; + corners; Centers(3/4,1/2); + VV:=(TL-BL)/2; HH:=VV rotated -90; + BC:=BL+HH; TC:=TL+HH; % CL=BL+VV; + R:=length(HH); D:=length(BR-BL); + t:=(R+-+(D-R))/2R; + RT (1/2-t,1/2+t); + PEN; draw tR..TC..CL..BC..bR; % outer circle + Pen; draw tR..CC..bR; % inner arc + endchar; + + temp := currentpicture; +beginchar(O+45,2/3U#,U#,0u#); "(moon 2) first quarter"; + currentpicture := temp xscaled -1 shifted (w,0); + endchar; + +beginchar(O+46,2/3U#,U#,0u#); "(moon 2) last quarter - inverse"; + Pen; filldraw tR..TC..CL..BC..bR % big circle + & bR..CC..tR -- cycle; % small circle + endchar; + + temp := currentpicture; +beginchar(O+47,2/3U#,U#,0u#); "(moon 2) first quarter - inverse"; + currentpicture := temp xscaled -1 shifted (w,0); + endchar; + +beginchar(O+48,U#,78u#,16u#); "Ceres"; + corners; Centers (2/5,1/4); + Tl := (TL+TC)/2 - vP; % arc : upper end + tR := (CR+TR)/2; % arc : midpoint (right) + Cl := (CL+CC)/2 + vP; % arc : lower end + Bl := (BL+BC)/2; % cross : base + bL := .4[BL,CL]; bC := .4[BC,CC]; % for bar of cross + PEN; draw Tl..TC..tR..CC..Cl; % (inverted) C shape + REND ( Tl, 2 angle ( TC-Tl ) + 180 ); + SPEN; draw Cl--Bl; % cross : vertical stem + draw bL--bC; % cross : horizontal bar + endchar; + +beginchar(O+49,U#,68u#,20u#); "Ceres 2"; + corners; centers; + HOR (3/8,3/4); % Tl Br + LFT (1/4,3/4); RT (1/4,3/4); % tL ; bR + Bot (1/4); Top (3/4); % bC ; tr + Cl := .5[Bl,Tl]; % C shape : bottom point + PEN; draw Tl{left}..tL..Cl..tr; % C shaped arc + REND ( Tl,0 ); + SPEN; draw tr--Br; % cross : vertical stem + draw bC--bR; % cross : horizontal bar + endchar; + +beginchar(O+50,40u#,80u#,16u#); "Juno"; + corners; centers; + RR:=(TC-TL); VV:=RR rotated -90; + CC:=TC+VV; % center top star + bL := BL-VV; bR := BR-VV; % for lower bar + % or : LFT (1/6,1); RT (1/6,1) % or 1/5 + for i:= 0 upto 6 : SPEN rotated (45i+45); % top star + draw CC--(CC+(RR rotated (45i-45))); endfor; + SPEN; draw CC--BC; % stem + draw bL--bR; % lower horizontal bar + endchar; + +beginchar(O+51,56u#,80u#,24u#); "Juno 2"; + corners; centers; + HOR (1/5,4/5); Bot (1/5) % or : 1/3 3/4 ; 1/4 + LFT (1/4,7/8); RT (1/4,7/8); + SPEN rotated angle(tR-CL) ; draw tR--CL; % upper cross ( X ) + SPEN rotated angle(tL-CR) ; draw tL--CR; % upper cross ( X ) + SPEN; draw TC--BC; % stem + draw bl--br; % bottom horizontal bar + endchar; + +beginchar(O+53,52u#,80u#,0u#); "Vesta"; + corners; centers; + VV:=(BR-BL) rotated 90; + CL:=BL+VV; CR:=BR+VV; CC:=BC+VV; % vertices of square + TOP (.2,.8); % endpoints of upper V + SPEN; draw CL--CR--BR--BL--CL; % bottom square + PEN; draw Tl--CC--Tr; % upper V + endchar; + +beginchar(O+54,U#,U#,0#); "Vesta 2"; + Corners (P,P,P,p); centers; + HOR (1/5,4/5); Top (5/8); Cl := tl; Cr := tr; + HOR (3/8,5/8); Bot (1/2); Top (7/8); + TOP (1/5,4/5); + RPEN rotated 20; % left horn + draw (bl+(vP-vp)/2+hP){left}..Cl..tl..{dir 200}Tl; + RPEN rotated -20; % right horn + draw (br+(vP-vp)/2-hP){right}..Cr..tr..{dir -20}Tr; + SPEN; draw CL--CR; % middle bar + draw bl--Bl; % left foot + draw br--Br; % right foot + endchar; + +beginchar(O+55,52u#,96u#,0u#); "Chiron"; + corners; centers; + RR:=(BC-BL) rotated 90; + bL:=BL+RR; bR:=BR+RR; bC:=BC+2RR; + CC := bC+vP; + TOP (1/6,5/6); rr := (Tr-TC) rotated 90; + tC := TC-rr; tr := Tr-2rr; + PEN; draw bC..bR..BC..bL..bC..cycle; % bottom circle + SPEN; draw CC--TC; % top stem + PEN; draw Tr--tC--tr; % top arms + endchar; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% reset O if 200 + char number > 255 ( uniform (thin) ) +if O = 200 : O := 122 fi ; + +beginchar(O+56,U#,80u#,16u#); "Pluto 4 (tree)"; + corners; Centers (1/2,1/3); + HOR (1/4,3/4); Bot (1/6); + bC := CC-vP; + PEN; draw TL{right}..{down}CC; draw TR{left}..{down}CC; % top arcs + REND (TL,180); REND (TR,0); % + SPEN; draw bC--BC; draw bl--br; % bottom cross + endchar; + +beginchar(O+57,2U#,U#+P#,0); "Pluto 5 (cup)"; +% beginchar(O+57,2U#,U#,0); "Pluto 5 (cup)"; + corners; centers; + aa := (2-sqrt3)/4; + Cl := aa[CL,CR]; Cr := aa[CR,CL]; +% TC := TC-vP; % potential correction : lowered contents + PEN; draw TL{down}..Cl..BC..Cr..{up}TR; % half circle : "cup" + draw Cl..TC..Cr; % "contents" + REND (TL,90); REND (TR,90); + endchar; + +a:=(sqrt3)/2; % ratio (equilateral triangle) + % used chars 58 60 ( 61 ) 63 +beginchar(O+58,U#/a+2*(P#-(1-a)*Pp),U#+2*P#-Pp,P#-Pp); "Semi-sextile"; + Corners (P-(1-a)*Pp,P-(1-a)*Pp,P,P-Pp/2); centers; + RLine ( BL,BR ); % base + RLine ( TL,BC ); % left stroke (down) + RLine ( TR,BC ); % right stroke (up) + endchar; + +beginchar(O+59,U#,U#,0u#); "Semi-quadrature"; + corners; + SPEN; draw TL--BL--BR; % L shape ( of square ) + endchar; + +beginchar(O+60,a*U#+2*P#-Pp,U#+P#-Pp,P#-Pp); "Sextile"; + Corners (P-Pp/2,P-Pp/2,P-Pp,P-Pp); centers; + LFT (1/4,3/4); RT (1/4,3/4); + RPEN; draw TC--BC; % stem + RLine (bL,tR); % stem turned 60 + RLine (tL,bR); % stem turned -60 + endchar; + +beginchar(O+62,U#,U#,U#/2); "one and a half quadrature"; + corners; Centers (1/2,1/3); + tC := (TC+CC)/2; + SPEN; draw TL--CL--CR--TR--TL; % square + draw tC--BC--BR; % L shaped cedilla + endchar; + +beginchar(O+63,U#/a+2*(P#-(1-a)*Pp),U#+2*P#-Pp,P#-Pp); "Quincunx"; + Corners (P-(1-a)*Pp,P-(1-a)*Pp,P-Pp/2,P); centers; + RLine ( TL,TR ); % top + RLine ( BL,TC ); % left stroke (up) + RLine ( BR,TC ); % right stroke (down) + endchar; % horizontal mirror image of semi-sextile + +beginchar(O+66,52u#,96u#,0u#); "Chiron 2"; + corners; centers; + BC := BC-hP/3 ; % bottom circle slightly off centre + rr := (BC-BL) ; RR := rr rotated 90 ; % radii of circle + bL := BL+RR; bR := bL+2rr; bC := BC+2RR; % points on circle + TC := TL+rr; % top of stem + CC := bC+vP; % base of stem + tR := (CR+TR)/2; rr := (TR-tR) rotated -90 ; + tC := tR-rr ; % base of arms (right angle) + % calligraphic style : fit arms into corner + a := (sqrt2-1); mm := Pp*(a,a) ; nn := Pp*(a,-a) ; + PEN; draw bC..bR..BC..bL..bC..cycle; % bottom circle + SPEN; draw CC--TC; % top stem + RLine ( TR+mm,tC ); RLine ( tC,CR+nn ); % top arms + endchar; + +beginchar(O+67,U#,56u#,8u#); "Lilith"; + Corners (P,P,p,p); centers; + LFT (1/8,2/3) ; RT (1/8,2/3) ; % bL bR : for bottom stroke + HOR (1/4,3/4); Bot (1/8); % bC : for bottom stroke + br := Br; % br : lowest point on bottom stroke (saved!) + HOR (2/5,7/8); Top (2/3); % tl tr : for top stroke + TOP (0,8/12); % Tr : highest point on top stroke + pickup pencircle xscaled 2P yscaled 2p ; % special pen + draw bL{dir 70}..bC..br{dir 0}..bR ; % bottom stroke + draw bL{dir 0}..tl..Tr{dir 0}..tr..{dir 180}(CC+hP) ; % top stroke + endchar; + +beginchar(O+68,U#,U#,22u#); "Pluto 6"; + corners; centers; + LFT (1/4,4/5); RT (1/4,4/5); % tL tR : for cup + HOR (1/6 , 5/6 ); Bot (1/4) ; % bl br : ) + HOR (5/16,11/16); Top (4/5) ; % tl tr : circle (left,right) + rr := tr-tC ; TC := tC+(rr rotated 90) ; % TC : circle (top) [ centre tC ] + tC := tC+(rr rotated -90) ; % tC : circle (bot) + SPEN; draw TL; draw TR; % endpoints of cup + PEN; draw TL--tL{dir -90}..CC..{dir 90}tR--TR; % cup + draw tC..tr..TC..tl..tC..cycle ; % circle + SPEN; draw bl--br; % cross: horizontal bar + draw (CC-vP)--BC; % cross: vertical bar + endchar; + + +beginchar(O+69,U#,U#,0u#); "Sextile 2"; + corners; centers; + RR:=(CR-CC) rotated 45; + tr:=CC+RR; tl:=CC+(RR rotated 90); + bl:=CC-RR; br:=CC+(RR rotated -90); + SPEN; draw CL--CR; draw TC--BC; % horizontal cross + DPEN; draw bl--tr; draw tl--br; % diagonal cross + endchar; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% reset O back to 200 if 122 ( uniform (thin) ) +if O = 122 : O := 200 fi ; + +endinput; +%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% end of ASTROSYM.CMN %%% -- cgit v1.2.3