summaryrefslogtreecommitdiff
path: root/fonts/astro/astrosym.uni
blob: da09507a8e98d807b2016a332a147f30eeb54ec2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
% ASTROSYM.UNI : AstroSym (Version 2.20,  Aug. 10, 2002) - file 6 of 8
% Peter Schmitt                      eMail: Peter.Schmitt@univie.ac.at
% Institute of Mathematics, University of Vienna       Vienna, Austria
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

beginchar(O+0,U#,U#,0u#); "Sol";
   D:=U/16;                                       % diameter of central circle
   corners; centers;
   PEN; draw BC..CL..TC..CR..BC..cycle;                   % main circle
   Pen; draw fullcircle scaled D shifted CC;              % central circle
   endchar;

beginchar(O+1,46u#,80u#,16u#); "Mercurius";
   corners; centers;
   VV := (CC-CL) rotated 90;
   bC:=CC-VV;
   tC:=CC+2VV+vP/3;
   D:=length(CR-CL);                              % circles: diameter
   s:=length(TC-tC); a:= angle(s,(D/2)+-+s);      % upper partial sector: angle
   SPEN; cross (bC,BC, 3/2,-2P);                           % bottom cross
   PEN;
   draw fullcircle scaled D shifted CC;                  % central circle
   draw halfcircle scaled D rotated  (90+a) shifted tC;  % upper partial circle
   draw halfcircle scaled D rotated -(90+a) shifted tC;
   endchar;

beginchar(O+5,44u#,70u#,0u#); "Iuppiter";
   corners; Centers (3/4,1/5); Top (4/5);
   PEN; draw tC--BC;                                    % right vertical bar
        draw CL--CR;                                    % horizontal bar
        draw CL{tC-CL}..{TL-CC}TL;                      % left vertical arc
   endchar;

beginchar(O+6,44u#,72u#,12u#); "Saturnus";
   Corners (P,P,d+P,P);;
   Centers (1/6,5/9);                       % BC and TC : left vertical bar
   RT (1/2,1);                              % bR        : right arc (right)
   HOR (0,1/3); Top (6/7);                  % tl and tr : upper horizontal bar
   BOT (2/3,7/9); Bl:=Bl-vd;                % Bl
   Br:=Br-(0,d);                            % Br
   SPEN; draw tl--tr; draw BC--TC;                            % left cross
    PEN; draw CC{dir 20}..{down}bR..{dir250}Bl..{dir-70}Br;   % right arc
   endchar;

beginchar(O+11,1U#,72u#,0u#); "Aries";
   corners;
   BOT (1/2,1/2);                                % Bl = Br : lower middle point
   TOP (1/6,5/6);                  % (temporary) Tl and Tr : upper arcs (tops) 
   HH:= Tl-TL; VV:= HH rotated -90;
   tr:=Tr+VV;                            % tr : right upper halfcircle (centre)
   D:=length(tr-br); R:=length(HH); s:=D+-+R;   % calculating direction of bar
  b:=angle(s,R); b:=b+angle(tr-Br);
   Tr:=tr+(HH rotated (b+90));           % Tr :          (left endpoint)
   tR:=tr+(HH rotated (b-90));           % tR :          (right endpoint)
   tl:=Tl+VV; a:=180-b;                  % tl : left upper halfcircle (centre)
   Tl:=tl+(HH rotated (a-90));           % Tl :          (right endpoint)
   tL:=tl+(HH rotated (a+90));           % tL :          (left endpoint)
   PEN; draw Bl--Tl{dir a}..{dir (a-180)}tL;          % left part
       draw Br--Tr{dir b}..{dir (b-180)}tR;          % right part
   endchar;

beginchar(O+12,1U#,72u#,8u#); "Taurus";
   corners; Centers(1/2,5/9);      % BC and CC : lower circle (top and bottom)
   HOR (1/8,7/8);                  % Tl and Tr : upper arcs (tops)
   Bot (5/18);                     % bl and br : lower circle (left and right)
   LFT (0,4/5); RT (0,4/5);        % tL and tR : upper arcs (left and right)
   PEN; draw Tl{dir 235}..{down}tL..CC..br..BC..bl..CC..{up}tR..{dir 145}Tr;
   endchar;

beginchar(O+13,56u#,72u#,8u#); "Gemini";
   corners;
   HOR (2/7,5/7);
   Top (7/8); Bot (1/8);
   PEN; draw BL..bl..br..BR; draw TL..tl..tr..TR; % bottom and upper arc
        draw tl--bl; draw tr--br;                 % left and right vertical bar
   endchar;
beginchar(O+14,84u#,68u#,0u#); "Cancer";
   corners; centers;
   Cl:=2/7[CL,CR]; RT (0,4/5);
   PEN; draw CL{up}..{down}Cl..{up}CL                   % left circle
               ..{right}(TC-2hP/3)..(tR-4hP/3+vP/2);    % upper arc
   picture upper; upper := currentpicture;              % adding rotated copy
   addto currentpicture also upper rotated 180 shifted 2CC;
   endchar;

beginchar(O+15,68u#,80u#,10u#); "Leo";
   Corners(P,P,d+P,P); centers;                          % TC
   HOR (1/6,17/20); Top (3/4);          % tl and tr : main arc (left and right)
   BOT (1/3,2/3); rr:=(Bl-BL)/2;
   bL:=BL+(rr rotated 90); bl:=bL+2rr;       % bL and bl : lower left circle
   Br:=BR-(2d,0);                            % Br and BR : lower right arc
   PEN; draw bl{up}..{down}bL..{up}bl                    % lower left circle
           ..{up}tl..{right}TC..{down}tr                 % main arc
           ..{down}Br..{up}BR;                           % lower right arc
   endchar;
beginchar(O+16,100u#,68u#,10u#); "Virgo";
   Corners (P,P,d+P,P); 
   LFT (0,3/4);                   %        tL : left upper arc (left end)
   HOR (1/3,2/3); Top (3/4);      % tl and tr : upper arcs (endpoints)
   TOP (4/14,4/14+1/3);
   Tl:=Tl-(0,4u); Tr:=Tr-(0,4u);  % Tl and Tr : upper arcs (tops)
   RT (1/5,3/4);                  %        tR : right upper arc (right end)
                                  % bR and tR : right vertical bar (ends)
   TR:=(4/14+2/3)[TL,TR];         %        TR : right upper arc (top)
   bC:=.5[Bl,Br]-(0,d/2);         % bC : lower right stroke (endpoint)
   br:=Br-(0,d);                  % br : middle right bar (lower end)
   Br:=Br+vP;                     % Br : lower right vertical stroke (left)
   BR:=2/3[Br,BR];                % BR : lower right vertical stroke (right)
   PEN; draw TL--BL; draw tl--Bl; draw tr--br; draw tR--bR;    % vertical bars
        draw tL{dir 40}..{right}Tl..{down}tl;               % left upper arc
        draw tl{dir 40}..{right}Tr..{down}tr;               % middle upper arc
        draw tr{dir 40}..{right}TR..{down}tR;               % right upper arc
        draw bR{dir250}..{dir190}BR--Br;     % lower right stroke: right part
        draw Br{left}..{dir 235}bC;          % lower right stroke: left part
   endchar;

beginchar(O+17,64u#,56u#,-8u#); "Libra";
   corners;
   Centers (1/2,7/15);                 % CL and CR : upper bars (outer ends)
   TOP (1/4,3/4);
   VV:=(TC-Tl) rotated -90;
     tl:=Tl+VV; tr:=Tr+VV;             % tl and tr : upper arc (left and right)
     R:=length(VV); D:=length(TC-CC);         % calculating intersection of
     t:=(R+-+(D-R))/length(BR-BL);            %    upper arc with upper bars
   HOR (1/2-t,1/2+t); Bot (7/15);             % (bl and cl renamed:)
   Cl:=bl; Cr:=br;                     % Cl and Cr : upper arc (inner ends)
%   Cl:=bl+hP; Cr:=br-hP;                     % Cl and Cr : upper arc (inner ends)
   bL:=CL-vP; bl:=Cl-vP; br:=Cr-vP; bR:=CR-vP; % shift upper bars slightly down
   PEN; draw BL--BR;                               % bottom bar
        draw (CL+vP)--bL--bl--Cl                   % left and right upper bar
           & Cl..{up}tl..{right}TC..{down}tr..Cr   % upper arc
           & Cr--br--bR--(CR+vP);
   endchar;

beginchar(O+18,(14/15)*100u#-(13/15)*P#+p#,68u#,10u#); "Scorpio";
   Corners (P,P,d+P,P);
   LFT (0,3/4);                      %        tL : left upper arc (left end)
   HOR (5/14,10/14); Top (3/4);      % tl and tr : upper arcs (endpoints)
   TOP (4/14,9/14);
   Tl:=Tl-(0,4u); Tr:=Tr-(0,4u);     % Tl and Tr : upper arcs (tops)
   RT (1/6,1);                       %        bR : lower right arrow (point)
   br:=1/5[Br,BR]-(0,d);             %        br : lower right arc (bottom)
   BR:=2/3[Br,BR];                   % Br and BR : lower right arc (endpoints)
   PEN; draw TL--BL; draw tl--Bl; draw tr--Br;          % vertical bars
        draw tL{dir 40}..{right}Tl..{down}tl;
        draw tl{dir 40}..{right}Tr..{down}tr;
        draw BR{dir angle(BR-bR)}..{left}br..{up}(Br);
   Pen; arrow (BR,bR, 1, 1/4,1/2); 
   endchar;

beginchar(O+19,56u#,80u#,8u#); "Sagittarius";
   corners;
   bl:=(1/5)[BL,TR]; tr:=(4/5)[BL,TR]; 
   VV:=TR-BL; a:=angle(VV);
   HH:= VV/10 rotated 90;
   bL := bl+HH; Bl := bl-HH;
   PEN; draw BL--tr; draw bL--Bl;               % shaft and short bar
   Pen; arrow (tr,TR, 5/6, .3,.5);              % point
   endchar;

beginchar(O+20,56u#,1U#,0); "Capricornus";
   corners;                                      % TR: top bar (right end)
   Centers (2/3,2/3);                     % BC and CC: loop (bottom and top)
   HOR (1/3,1); Bot (1/3);                % bl and br: loop (left and right)
   TOP(1/4,1);                                   % Tl: top bar (left end)
   LFT (.45,1);                                  % bL: end of loop
   PEN; draw Tl--TR{dir225}                               % top bar
          ..{down}bl..{right}BC..{up}br..{left}CC..bL;    % lower loop
   endchar;

beginchar(O+22,56u#,72u#,8u#); "Pisces";
   corners;
   HOR (1/5,4/5); Top (1/2);
   PEN; draw BL..tl..TL; draw BR..tr..TR;    % left and right arc
        draw tl--tr;                         % vertical bar
   endchar;

beginchar(O+23,44u#,72u#,12u#); "Saturnus 2";
   corners; Centers (4/9,8/11);
   HOR (0,8/9); Top (19/22);
   RT (6.3/11,1);                                            % bR
   Bl:=2/9[BL,BR]; Bot(.8/12);                               % Bl, bl
   bC:=1/5[BC,TC];                                           % bC
   SPEN; draw tl--tr; draw CC--TC;                               % upper cross
    PEN; draw CC{right}..{down}bR..bC..{dir250}bl..{dir-70}Bl;   % lower arc
   endchar;

beginchar(O+27,76u#,50u#,-22u#); "Aquarius 2";
   corners;
                           % upper strokes:
   Centers (3/5,1/2);      % CL and CC : left stroke (left end, right bottom)
   TOP (1/4,5/6);          % Tl and Tr : left stroke (left top, right end)
                           % Tr and CR : right stoke (left and right end)
   PEN; draw (CL+vP)..{right}Tl..{right}(CC+vP)..{dir20}(Tr-vP/2); %left stroke
        draw Tr..{right}(CR+vP);                                 % right stroke
   picture upper; upper:= currentpicture;
   addto currentpicture also upper shifted (0,-(h+d)/2);
   endchar;

beginchar(O+28,78u#,56u#,-9u#); "Aquarius 3";
   Corners(P,P,(h+d)/2+P,P);
                                 % upper stroke : points on central line:
   centers;                                      % CL and CR : ends
   HOR (1/5,3/5); Bot(1/2);                      % bl and br : down crossing
   HOR (2/5,4/5); Top(1/2);                      % tl and tr : up crossing
   PEN;
   draw CL{up}..bl{down}..tl{up}..br{down}..tr{up}..CR{down};
   picture upper; upper:= currentpicture;                      % lower stroke
   addto currentpicture also upper shifted (0,-(h+d)/2);
   endchar;

beginchar(O+29,U#,U#,0u#); "Terra 2";
   corners; centers;
   VV:=(BC-BL) rotated 90;
   TC:=CC+VV; BC:=CC-VV;
   PEN; draw TC..CR..BC..CL..TC..cycle;                   % circle
        draw BC--TC; draw CL--CR;                         % cross in circle
   endchar;

beginchar(O+32,88u#,56u#,0); "Libra 3"; % larger variant
   corners;
   Centers (1/2,7/15);                 % CL and CR : upper bars (outer ends)
   TOP (1/4,3/4);
   VV:=(TC-Tl) rotated -90;
     tl:=Tl+VV; tr:=Tr+VV;             % tl and tr : upper arc (left and right)
     R:=length(VV); D:=length(TC-CC);         % calculating intersection of
     t:=(R+-+(D-R))/length(BR-BL);            %    upper arc with upper bars
   HOR (1/2-t,1/2+t); Bot (7/15);             % (bl and cl renamed:)
   Cl:=bl; Cr:=br;                     % Cl and Cr : upper arc (inner ends)
   bL:=CL-vP; bl:=Cl-vP; br:=Cr-vP; bR:=CR-vP; % shift upper bars slightly down
%   CL:=CL+8u;CR:=CR+8u;                            % left and right points
   CL:=1/3[bL,TL];CR:=1/3[bR,TR];                  % left and right points
   PEN; draw BL--BR;                               % bottom bar
        draw (CL+vP)--bL--bl--Cl                   % left and right upper bar
           & Cl..{up}tl..{right}TC..{down}tr..Cr   % upper arc
           & Cr--br--bR--(CR+vP);
   endchar;

%% moon : phases

beginchar(O+10,10/11U#,U#,0u#); "Luna = (moon) last quarter";
  corners; Centers(4/11,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;                      % big circle
       draw tR..CC..bR;                            % small circle
  endchar;

  temp := currentpicture;
beginchar(O+41,10/11U#,U#,0u#); "(moon) first quarter";
  currentpicture := temp xscaled -1 shifted (w,0);
  endchar;

beginchar(O+42,10/11U#,U#,0u#); "(moon) last quarter - inverse";
  PEN; filldraw tR..TC..CL..BC..bR                   % big circle
              & bR..CC..tR -- cycle;               % small circle
  endchar;

  temp := currentpicture;
beginchar(O+43,10/11U#,U#,0u#); "(moon) first quarter - inverse";
  currentpicture := temp xscaled -1 shifted (w,0);
  endchar;

beginchar(O+52,1.4U#,1.05U#,.35U#); "Pallas";
   corners; Centers (.5,.4);
    PEN; draw TC--CL--CR--TC;                          % top triangle
   SPEN; cross (CC,BC, 1,-2P);                         % bottom cross
   endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% reset O if 200 + char number > 255  ( uniform (thin) )
if O = 200 : O := 122 fi ;

a:=(sqrt3)/2;                                % ratio (equilateral triangle)
                                             % used chars ( 58 60 ) 61 ( 63 )
beginchar(O+61,U#/a+2P#,U#+P#,.P#); "Trigon";
   corners; centers;
    PEN; draw TC--BL--BR--TC;                          % triangle
   endchar;

beginchar(O+64,68u#,80u#,0); "ascending node of moon";
   Corners(P,P,P,P); centers;                          % TC
   HOR (1/6,5/6); Top (3/4);          % tl and tr : main arc (left and right)
   BOT (1/3,2/3); rr:=(Bl-BL)/2;
   bL:=BL+(rr rotated 90); bl:=bL+2rr;       % bL and bl : lower  left circle
   bR:=BR+(rr rotated 90); br:=bR-2rr;       % bR and br : lower right circle
   PEN; draw bl{up}..{down}bL..{up}bl                    % lower  left circle
           ..{up}tl..{right}TC..{down}tr                 % main arc
           ..{down}br..{up}bR..br{down};                 % lower right circle
   endchar;

temp := currentpicture;
beginchar(O+65,68u#,80u#,0); "descending node of moon";
   currentpicture := ( temp yscaled -1 ) shifted ( 0,h );
   endchar;

endinput;
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% end of ASTROSYM.UNI %%%