~ubuntu-branches/debian/wheezy/texlive-extra/wheezy

« back to all changes in this revision

Viewing changes to texmf-dist/fonts/source/public/cmastro/symbols.mf

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Preining
  • Date: 2008-11-24 14:20:36 UTC
  • mfrom: (1.2.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20081124142036-b19n8209gdut919x
Tags: 2007.dfsg.10-1
* blacklist cellular, it does not have any license info and the author
  is not contactable anymore (Closes: #505283)
  (RC, urgency thus medium)
* blacklist cmastro, no license info, author unknown (no bug report, but RC)
  This closes also the "pk files in doc hierarchy" bug (Closes: #443884)
* blacklist china2e, nosell license (no bug report, but RC)
* reinstantiate calligra after license issues have been cleared
  up and add an entry to the Licenses file (via Licenses.add)
* formats-extra suggests plain-extra for miniltx.tex (Closes: #504494)
* add license statements for eqlist, varindex, toolbox, ushort, guitar,
  ziffer (Closes: #466697)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
% The Computer Modern Symbols family (by D. E. Knuth, 1979--1985)
3
 
 
4
 
font_coding_scheme:="TeX math symbols";
5
 
mode_setup; font_setup;
6
 
 
7
 
autorounding:=0;
8
 
 
9
 
font_slant slant; font_x_height x_height#;
10
 
font_quad 18u# if not monospace:+4letter_fit# fi;
11
 
% (The spacing is zero so that \TeX\ will always add the italic correction.)
12
 
% (The calling file should give the other math symbol font parameters.)
13
 
 
14
 
slant:=mono_charic#:=0; % the remaining characters will not be slanted
15
 
currenttransform:=identity yscaled aspect_ratio scaled granularity;
16
 
 
17
 
% The Sun symbol
18
 
 
19
 
cmchar "Sun symbol (S)";
20
 
beginarithchar("S"); pickup light_rule.nib; autorounded;
21
 
lft x6=hround u; x2=w-x6; y8=x2-x6; y2=.5y8;
22
 
circle_points; draw_circle;     % circle
23
 
fill fullcircle scaled(1.1dot_size+eps) shifted(.5[z4,z8]);     % dot
24
 
labels(1,2,3,4,5,6,7,8); endchar;
25
 
 
26
 
% The Mercury symbol
27
 
 
28
 
cmchar "Mercury symbol (1)";
29
 
beginchar("1",11u#,6u#+math_axis#,6u#-math_axis#);
30
 
 italcorr math_axis#*slant-.5u#;
31
 
 adjust_fit(0,0);
32
 
pickup light_rule.nib; autorounded;
33
 
lft x6=hround u; x2=w-x6; bot y2=2.25u+.5(x2-x6); y8-y2=.5(x2-x6);
34
 
circle_points; draw_circle;
35
 
% now for the cross underneath
36
 
x9=x4; y9=-2.25u; x10=x4-2.25u; x11=x4+2.25u; y10=y11=0;
37
 
draw z4--z9; draw z10--z11;
38
 
% now for the horns
39
 
z0 = .5[z6,z2]; % center of the circle
40
 
z12 = z0 + (z8-z0) rotated 30;
41
 
z14 = z0 + (z8-z0) rotated -30;
42
 
bot y13 = bot y15 = top y8 + (y8-y12);
43
 
rt x13 = 0.5(x6+x7); x15 = w-x13;
44
 
draw z12{left}..{z7-z4}z13;
45
 
draw z14{right}..{z1-z4}z15;
46
 
labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar;
47
 
 
48
 
% The Venus (female) symbol
49
 
 
50
 
cmchar "Venus symbol (2)";
51
 
beginchar("2",12u#,6u#+math_axis#,6u#-math_axis#);
52
 
 italcorr math_axis#*slant-.5u#;
53
 
 adjust_fit(0,0);
54
 
pickup light_rule.nib; autorounded;
55
 
lft x6=hround u; x2=w-x6; bot y2=2.5u+.5(x2-x6); y8-y2=.5(x2-x6);
56
 
circle_points; draw_circle; % 10u in diameter
57
 
% now for the cross underneath
58
 
x9=x4; y9=-2.5u; x10=x4-2.5u; x11=x4+2.5u; y10=y11=0;
59
 
draw z4--z9; draw z10--z11;
60
 
labels(1,2,3,4,5,6,7,8,9,10,11); endchar;
61
 
 
62
 
% The Earth symbol
63
 
 
64
 
cmchar "Earth symbol (3)";
65
 
beginarithchar("3"); pickup light_rule.nib; autorounded;
66
 
lft x6=hround u; x2=w-x6; y8=x2-x6; y2=.5y8;
67
 
circle_points; draw_circle;     % circle
68
 
draw z2--z6; draw z4--z8;       % bar and stem
69
 
labels(1,2,3,4,5,6,7,8); endchar;
70
 
 
71
 
% The Mars (male) symbol
72
 
 
73
 
cmchar "Mars symbol (4)";
74
 
beginchar("4",12u#,6u#+math_axis#,6u#-math_axis#);
75
 
 italcorr 2u#;
76
 
 adjust_fit(0,0);
77
 
pickup light_rule.nib; autorounded;
78
 
lft x6=hround u; x2=w-x6; y8=x2-x6; y2=.5y8;
79
 
circle_points; draw_circle;     % circle
80
 
% now for the arrow
81
 
z0 = .5[z6,z2]; % center of the circle
82
 
z9 = 2[z0,z1];
83
 
y10 = y9; x11 = x9;
84
 
lft x10 = x1; bot y11 = y1;
85
 
draw z1--z9; draw z9--z10; draw z9--z11;
86
 
labels(1,2,3,4,5,6,7,8,9,10,11); endchar;
87
 
 
88
 
% The Jupiter symbol
89
 
 
90
 
cmchar "Jupiter symbol (5)";
91
 
beginchar("5",13u#,6u#+math_axis#,6u#-math_axis#);
92
 
adjust_fit(0,0);
93
 
pickup light_rule.nib; autorounded;
94
 
penpos1(cap_hair,90); penpos2(.4cap_curve,90);
95
 
penpos3(.8cap_curve,0); penpos4(cap_hair,0);
96
 
penpos5(1.414214cap_hair,45); penpos6(cap_hair,90);
97
 
penpos7(1.1cap_hair,0); penpos8(1.1cap_hair,0);
98
 
x1=hround u; y1r=0.5(asc_height+x_height);
99
 
x2=5u; top y2=vround asc_height;
100
 
x3 = 8u; y3=x_height;
101
 
x5l=hround 2u; y5l=0;
102
 
z4l=z5r;
103
 
x5r := x4r; y5r := y4r; % redefine so we can leave out z4
104
 
y6l=y5l; x6l=w-x1;
105
 
x7r=x6; y7=x_height;
106
 
x8=x3; y8=-desc_depth;
107
 
penstroke z1e..z2e{right}..z3e{down}..{z5l-z4l}z5e--z6e;
108
 
penstroke z7e--z8e;
109
 
penlabels(1,2,3,4,5,6,7,8); endchar;
110
 
 
111
 
% The Saturn symbol
112
 
 
113
 
cmchar "Saturn symbol (6)";
114
 
beginchar("6",11u#,asc_height#,0);
115
 
italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#;
116
 
adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
117
 
pickup tiny.nib; pos1(stem,0); pos2(stem,0);
118
 
pos3(stem,90); pos4(cap_hair,90); pos5(stem,0);
119
 
pos6(0.75stem,0); pos7(cap_hair,45);
120
 
lft x1l=hround(2.5u-.5stem); x1l=x2l;
121
 
top y1=h; bot y2=0;
122
 
filldraw stroke z1e--z2e;       % left stem
123
 
if serifs: nodish_serif(1,2,a,1/3,jut,b,1/3,jut); fi  % upper serif
124
 
x3=x2r; y3=y5=math_axis;
125
 
x5=w-x1;
126
 
x4=0.5(x3r+x5r); y4=x_height;
127
 
x6r=x5l; y6=vround u;
128
 
rt x7r = hround(w-u); y7r=-0.5desc_depth;
129
 
filldraw stroke z3e{up}..z4e{right}..z5e{down}..z6e{down}..z7e;
130
 
penlabels(1,2,3,4,5,6,7); endchar;
131
 
 
132
 
% The Uranus symbol
133
 
 
134
 
cmchar "Uranus symbol (7)";
135
 
beginchar("7",10u#,6u#+math_axis#,6u#-math_axis#);
136
 
 italcorr math_axis#*slant-.5u#;
137
 
 adjust_fit(0,0);
138
 
pickup light_rule.nib; autorounded;
139
 
lft x6=hround u; x2=w-x6; bot y2=.5(x2-x6); y8-y2=.5(x2-x6);
140
 
circle_points; draw_circle; % 8u in diameter
141
 
z0 = .5[z4,z8];
142
 
fill fullcircle scaled(.8dot_size+eps) shifted z0;      % dot
143
 
% now for the arrow on top
144
 
z9 = 2[z0,z8]; y10=y11 = .5(y8+y9); x10-x8 = x8-x11 = .5(y9-y8);
145
 
draw z8--z9; draw z9--z10; draw z9--z11;
146
 
labels(1,2,3,4,5,6,7,8,9,10,11); endchar;
147
 
 
148
 
% The Neptune symbol
149
 
 
150
 
cmchar "Neptune symbol (8)";
151
 
beginchar("8",14u#,6u#+math_axis#,6u#-math_axis#);
152
 
 italcorr math_axis#*slant-.5u#;
153
 
 adjust_fit(0,0);
154
 
pickup light_rule.nib; autorounded;
155
 
lft x6=hround 2u; x2=w-x6; bot y2=2.5u+.5(x2-x6); y8-y2=.5(x2-x6);
156
 
circle_points;
157
 
draw z6{down}..z5{z4-z6}..z4{right}..z3{z2-z4}..{up}z2; % semicircle
158
 
% now for the cross underneath
159
 
x9=x4; y9=-2.5u; x10=x4-3.5u; x11=x4+3.5u; y10=y11=0;
160
 
draw z4--z9; draw z10--z11;
161
 
% and the three arrows
162
 
x12=x6; x13=x4; x14=x2; y12=y13=y14=y7; % tips of arrows
163
 
y15=y16=y17=y18=y19=y20=y7-1u;
164
 
x15=x12-1u; x16=x12+1u; x17=x13-1u; x18=x13+1u; x19=x14-1u; x20=x14+1u;
165
 
draw z6--z12; draw z4--z13; draw z2--z14;
166
 
draw z12--z15; draw z12--z16;
167
 
draw z13--z17; draw z13--z18;
168
 
draw z14--z19; draw z14--z20;
169
 
labels(2,3,4,5,6,9,10,11,12,13,14,17,18); endchar;
170
 
 
171
 
% The Pluto symbol
172
 
 
173
 
cmchar "Pluto symbol (9)";
174
 
beginchar("9",12u#,cap_height#,0);
175
 
adjust_fit(cap_serif_fit#,-1u#);
176
 
pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
177
 
lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0;
178
 
filldraw stroke z1e--z2e; % stem
179
 
pickup crisp.nib; pos8(slab,-90); pos9(hair,0);
180
 
bot y8r=0; x8=x2; y9=y8l+beak+eps; rt x9r=hround(w-.75u);
181
 
arm(8,9,e,1.2beak_darkness,beak_jut);   % lower arm and beak (of L)
182
 
if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut);     % upper serif
183
 
 nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi    % lower serif
184
 
 
185
 
penpos3(cap_band,90); penpos4(cap_band,90);
186
 
penpos5(cap_curve if hefty:-3stem_corr fi,0);
187
 
penpos6(.5[vair,cap_band],-90); penpos7(.5[vair,cap_band],-90);
188
 
z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7;
189
 
x7=x2; y7l=vround .5h; x4=x6=.5w+.75u; x5r=hround(w-u);
190
 
x4l:=x6l:=x4-.25cap_curve;
191
 
fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e;    % lobe
192
 
math_fit(0,u#); penlabels(1,2,3,4,5,6,7,8,9); endchar;
193
 
 
194
 
% The crescent moon symbol.  We have to be careful here because this
195
 
% is to be half width (7u instead of 14u) -- so don't use beginarithchar!
196
 
 
197
 
cmchar "Moon symbol (M)";
198
 
beginchar("M",7u#,6u#+math_axis#,6u#-math_axis#);
199
 
 italcorr math_axis#*slant-.5u#;
200
 
 adjust_fit(0,1u#); % add back the 1u# of space that SHOULD be at the right
201
 
pickup light_rule.nib; autorounded;
202
 
lft x6=hround u; x2=2w-x6; y8=x2-x6; y2=.5y8;
203
 
circle_points;
204
 
% "limb" is a semicircle drawn directly
205
 
draw z8{left}..z7{z6-z8}..z6{down}..z5{z4-z6}..{right}z4;
206
 
% "terminator" is halfway between limb and vertical line
207
 
z9 = .25[z7,z1]; z10 = .25[z6,z2]; z11 = .25[z5,z3];
208
 
draw z8{left}..z9..z10{down}..z11..{right}z4;
209
 
labels(1,2,3,4,5,6,7,8,9,10,11); endchar;
210
 
 
211
 
% The ascending node symbol ("dragon's head")
212
 
 
213
 
cmchar "Ascending node symbol (N)";
214
 
beginchar("N",14u#,cap_height#,0);
215
 
adjust_fit(0,0);
216
 
pickup light_rule.nib; autorounded;
217
 
numeric diameter, rad;
218
 
diameter = 3u; rad = 1/2diameter;
219
 
lft x1 = 1u+rad; x5 = w - x1; top y1 = top y5 = rad;
220
 
z2 = z1 + (rad,0) rotated 30;
221
 
z4 = z5 + (rad,0) rotated 150;
222
 
x3 = 1/2(x1+x5); top y3 = h;
223
 
penpos3(.75cap_curve,-90); penpos2(.86cap_hair,30);
224
 
penpos4(.86cap_hair,-210);
225
 
draw fullcircle scaled diameter shifted z1;
226
 
draw fullcircle scaled diameter shifted z5;
227
 
penstroke z2e{(z2-z1) rotated 90}..z3e{right}..{(z4-z5) rotated 90}z4e;
228
 
penlabels(1,2,3,4,5); endchar;
229
 
 
230
 
% The descending node symbol ("dragon's tail")
231
 
 
232
 
cmchar "Descending node symbol (D)";
233
 
beginchar("D",14u#,cap_height#,0);
234
 
adjust_fit(0,0);
235
 
pickup light_rule.nib; autorounded;
236
 
numeric diameter, rad;
237
 
diameter = 3u; rad = 1/2diameter;
238
 
lft x1 = 1u+rad; x5 = w - x1; bot y1 = bot y5 = h - rad;
239
 
z2 = z1 + (rad,0) rotated -30;
240
 
z4 = z5 + (rad,0) rotated -150;
241
 
x3 = 1/2(x1+x5); bot y3 = 0;
242
 
penpos3(.75cap_curve,-90); penpos2(.86cap_hair,150);
243
 
penpos4(.86cap_hair,30);
244
 
draw fullcircle scaled diameter shifted z1;
245
 
draw fullcircle scaled diameter shifted z5;
246
 
penstroke z2e{(z2-z1) rotated -90}..z3e{right}..{(z4-z5) rotated -90}z4e;
247
 
penlabels(1,2,3,4,5); endchar;
248
 
 
249
 
% The vernal equinox symbol (Aries or ram's horn)
250
 
 
251
 
cmchar "Vernal Equinox (V)";
252
 
beginchar("V",14u#,cap_height#,0);
253
 
italcorr .8cap_height#*slant-.5u#;
254
 
adjust_fit(0,0);
255
 
pickup tiny.nib; pos1(.75cap_stem,0); pos2(.75cap_stem,0);
256
 
lft x1l=lft x2l=hround(.5w-.375cap_stem); y1=.5h; bot y2=0;
257
 
filldraw stroke z1e--z2e; % stem
258
 
penpos3(.45cap_stem,0); penpos4(.6cap_curve,90);
259
 
penpos5(.4cap_curve,180); penpos6(cap_hair,270);
260
 
z3l=lft z1l; x5r=hround u; y5=bot .8h; x4=x6=.61803[x3l,x5l]; y4r=h+o;
261
 
y5-y6=y4l-y5;
262
 
penstroke z3e{up}..z4e{left}..z5e{down}..{right}z6e; % left arc
263
 
%fill z3r{up}...z4r{left}...{down}diag_end(5'r,5r,1,1,5l,5'l){up}
264
 
% ...{right}z4l...{down}z3l--cycle;     % left arc
265
 
penpos7(.45cap_stem,0); penpos8(.6cap_curve,-90);
266
 
penpos9(.4cap_curve,-180); penpos10(cap_hair,-270);
267
 
z7r=rt z1r; x9=w-x5; y9=y5; x8=w-x4; y8=y4;
268
 
x10=w-x6; y10=y6;
269
 
penstroke z7e{up}..z8e{right}..z9e{down}..{left}z10e; % right arc
270
 
%fill z6r{up}...z7r{right}...{down}diag_end(8'r,8r,1,1,8l,8'l){up}
271
 
% ...{left}z7l...{down}z6l--cycle;      % right arc
272
 
math_fit(-.8cap_height#*slant-.5u#,ic#-2.5u#);
273
 
penlabels(1,2,3,4,5,6,7,8,9,10); endchar;
274
 
 
275
 
% The autumnal equinox symbol (Libra or scales)
276
 
 
277
 
cmchar "Autumnal Equinox (L)";
278
 
compute_spread(.45x_height#,.55x_height#);
279
 
beginchar("L",14u#,v_center(2spread#+rule_thickness#));
280
 
italcorr h#*slant-.5u#;
281
 
adjust_fit(0,0); pickup rule.nib;
282
 
numeric diameter;
283
 
lft x1=hround u; x3=x1; x2=x7=w-x1; x5=.5(x3+x7);
284
 
x4=.5(x3+x5); x6=.5(x5+x7);
285
 
y1=y2; y3=y4=y5=y6=y7=math_axis; y3-y1=spread;
286
 
draw z1--z2;    % lower bar
287
 
draw z3--z4;    % left of top bar
288
 
draw z6--z7;    % right of top bar
289
 
diameter = x6-x4;
290
 
draw halfcircle scaled diameter shifted (x5,y5); % semicircle at top
291
 
labels(1,2,3,4,5,6,7); endchar;
292
 
 
293
 
% small circle, refined from symbol.cm---guaranteed to be circular!
294
 
 
295
 
cmchar "Circle operator";
296
 
beginchar(oct"016",9u#,v_center(7u#));
297
 
adjust_fit(0,0); pickup rule.nib; autorounded;
298
 
lft x6=hround u; x2=w-x6; y2=math_axis; y8-y2=.5(x2-x6);
299
 
circle_points; draw_circle;     % circle
300
 
labels(1,2,3,4,5,6,7,8); endchar;
301
 
 
302
 
bye.
303