summaryrefslogtreecommitdiff
path: root/fonts/astro/astrosym.cmn
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/astro/astrosym.cmn')
-rw-r--r--fonts/astro/astrosym.cmn441
1 files changed, 441 insertions, 0 deletions
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 %%%