home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 June
/
SIMTEL_0692.cdr
/
msdos
/
tex
/
mutex.arc
/
MF.ARC
/
NOTEN16.MF
< prev
next >
Wrap
Text File
|
1990-03-06
|
10KB
|
293 lines
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% NOTENKOEPFE UND FAEHNCHEN %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
%
%
%%%%%%%%%%%%%%%
%%notenkoepfe %
%%%%%%%%%%%%%%%
%
%
%
%
def drawnoteb(expr noteheadwidth, theta_a, theta_b, theta_c,
width_a, width_b) =
% .l
penpos1(width_a, theta_a); % .2
% .r
penpos3(width_a, 180+theta_a); %.l.1.r .r.3.l
% .r
penpos2(width_b, 180+theta_b); % .4
% .l
penpos4(width_b, theta_b); %
y1 = y3 = 0;
x2 = x4 = 1/2noteheadwidth;
x1l= 0; x3l = w; y2l = h; y4l = -h;
penstroke (z1e{up}..z2e{right}..z3e{down}..z4e{left}..cycle)
rotatedaround((origin +1/2w*right),theta_c);
enddef;
%
%
%%%%%%%%%%%%%%%
%% flags %
%%%%%%%%%%%%%%%
%
%
%
pickup pencircle scaled (0.1pt);
def penstrike text t =
forsuffixes e = l,r: path_.e:=t; endfor
if cycle path_.l: cyclestroke_
else: filldraw path_.l -- reverse path_.r -- cycle fi enddef;
def flagshape (suffix i) (expr width, height, thicka, thin, shift) =
pair intersectionp; %
thick := 1/3 height;
sh[-3] = origin;
sh[i] = shift; % .1
penpos[i](thick,90); %
penpos[i+1]( 3thin ,90); % .2
penpos[i+2](thin,0); %
penpos[i+3](thin,0); % .3
x[i] = -1/16mm; %
y[i]r = height; % .4
x[i+1] = 3/8width; %
y[i+1] = height - thick; %
y[i+3] = 0;
x[i+2]r = x[i+3]+2s= width;
y[i+2]r = height - 2thick;
if i>1: intersectionp = z[i-2];
else : intersectionp = z[i+3];
fi;
penstrike (z[i]e{dir(angle(z[i+1]e-z[i]e)-15)}
..z[i+1]e{z[i+1]e-z[i]e}
..z[i+2]e{down}..intersectionp shifted (sh[i-4]-sh[i]))
shifted sh[i];
for n=0 upto 3:
k:=i+n;
penlabels(k);endfor;
enddef;
%def flagshaper (suffix i) (expr width, height, thicka, thin, shift) =
% pair intersectionp; %
% thick := 1/3 height;
% sh[-3] := origin+shift;
% sh[i] = shift; % .1
% penpos[i](thick,90); %
% penpos[i+1]( 3thin ,90); % .2
% penpos[i+2](thin,0); %
% penpos[i+3](thin,0); % .3
% x[i] = 0; %
% y[i]r = height; % .4
% x[i+1] = 3/8width; %
% y[i+1] = height - thick; %
% y[i+3] = 0;
% x[i+2]r = x[i+3]+2s= width;
% y[i+2]r = height - 2thick;
% if i>1: intersectionp = z[i-2];
% else : intersectionp = z[i+3];
% fi;
% penstroke (counterclockwise
% (z[i]e{dir(angle(z[i+1]e-z[i]e)-15)}
% ..z[i+1]e{z[i+1]e-z[i]e}
% ..z[i+2]e{down}..intersectionp shifted (-sh[i-4]+sh[i]))
% reflectedabout (z1r scaled 0.5,
% z1r scaled 0.5+right) )
% shifted sh[i];
% for n=0 upto 3:
% k:=i+n;
% penlabels(k);endfor;
% enddef;
def flagshaper (suffix i) (expr width, height, thicka, thin, shift) =
pair intersectionp; %
thick := 1/3 height;
sh[-3] := origin+shift;
sh[i] = shift; % .1
penpos[i](thick,90); %
penpos[i+1]( 3thin ,90); % .2
penpos[i+2](thin,0); %
penpos[i+3](thin,0); % .3
x[i] = 0; %
y[i]r = height; % .4
x[i+1] = 3/8width; %
y[i+1] = height - thick; %
y[i+3] = 0;
x[i+2]r = x[i+3]+2s= width;
y[i+2]r = height - 2thick;
if i>1: intersectionp = z[i-2];
else : intersectionp = z[i+3];
fi;
penstrike (counterclockwise
(z[i]e{dir(angle(z[i+1]e-z[i]e)-15)}
..z[i+1]e{z[i+1]e-z[i]e}
..z[i+2]e{down}..intersectionp shifted (-sh[i-4]+sh[i]))
reflectedabout (z1r scaled 0.5,
z1r scaled 0.5+right) )
shifted sh[i];
enddef;
%%%%%%%%%%%%%%%
%% volle Note %
%%%%%%%%%%%%%%%
beginchar(33, nhw#, .5nhh#, .5nhh#);
w:=w+2thinwidth;
drawnoteb(w, 0, 90, 20, w/2, nhh/2);
endchar;
%%%%%%%%%%%%%%%
%% halbe Note %
%%%%%%%%%%%%%%%
beginchar(34, nhw#, .5nhh#, .5nhh#);
w:=w+2thinwidth;
drawnoteb(w, 0, 90, 20, thinwidth, nhh/4);
endchar;
%%%%%%%%%%%%%%%
%% ganze Note %
%%%%%%%%%%%%%%%
beginchar (35,1.5nhh#, .5nhh#, .5nhh#);
drawnoteb(w, 0, 85, 0, nhh/3, thinwidth);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%
%% "8flag nach unten" %
%%%%%%%%%%%%%%%%%%%%%%%
beginchar(40, 0, 3nhh#, 0);
clear;
w:=nhw;
flagshape (1,w, h, nhh, 5thinwidth, origin);
w:=0;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%
%% "16flag nach unten" %
%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(41, 0, 3.25nhh#, 0);
clear;
w:=nhw;
flagshape (1, w, 2.5nhh, 2/3nhh, 5thinwidth, origin);
flagshape (5,.95 w, 2.25 nhh, 2/3nhh, 5thinwidth, (0,nhh));
w:=0;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%
%% "32flag nach unten" %
%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(42, 0, 3.75 nhh#, 0);
clear;
w:=nhw;
flagshape (1, w, 2.5nhh, 2/3nhh, 5thinwidth, origin);
flagshape (5, .95w, 2.25 nhh, 2/3nhh, 5thinwidth, (0,nhh));
flagshape (9, .9w, 2 nhh, 2/3nhh, 5thinwidth, (0,1.75nhh));
w:=0;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%
%% "64flag nach unten" %
%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(43, 0, 4.25nhh#, 0);
clear;
w:=nhw;
flagshape (1, w, 2.5nhh, 2/3nhh, 5thinwidth, origin);
flagshape (5,.95 w, 2.25 nhh, 2/3nhh, 5thinwidth, (0,nhh));
flagshape (9,.9w, 2 nhh, 2/3nhh, 5thinwidth, (0,1.75nhh));
flagshape(13,0.85w, 2nhh, 2/3nhh, 5thinwidth, (0,2.25nhh));
w:=0;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%
%% "128flag nach unten" %
%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(44, 0, 4.5nhh#, 0);
clear;
w:=nhw;
flagshape (1, w, 2.5nhh, 2/3nhh, 5thinwidth, origin);
flagshape (5, w, 2.25nhh, 2/3nhh, 5thinwidth, (0,nhh));
flagshape (9, w, 2 nhh, 2/3nhh, 5thinwidth, (0,1.75nhh));
flagshape(13,0.9 w, 2nhh, 2/3nhh, 5thinwidth, (0,2.25nhh));
flagshape(17,0.9 w, 1.5nhh, 1/3nhh, 5thinwidth, (0,3nhh));
w:=0;
endchar;
%%%%%%%%%%%%%%%%%%%%%%
%% "8flag nach oben" %
%%%%%%%%%%%%%%%%%%%%%%
beginchar(45, 0, 3nhh#, 0);
clear;
w:=nhw;
flagshaper(1,w, h, nhh, 5thinwidth, origin);
penlabels(1,2,3,4);
w:=0;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%
%% "16flag nach oben" %
%%%%%%%%%%%%%%%%%%%%%%%
beginchar(46, 0, 3.25nhh#, 0);
clear;
w:=nhw;
flagshaper(1, w, 2.5nhh, 2/3nhh, 5thinwidth, (0,0.75nhh));
flagshaper(5, w, 2.25 nhh, 2/3nhh, 5thinwidth,(0,-0.25nhh));
penlabels(1,2,3,4,5,6,7,8);
w:=0;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%
%% "32flag nach oben" %
%%%%%%%%%%%%%%%%%%%%%%%
beginchar(47, 0, 3.75 nhh#, 0);
clear;
w:=nhw;
flagshaper(1, w, 2.5nhh, 2/3nhh, 5thinwidth, (0,1.5nhh));
flagshaper(5, w, 2.5nhh, 2/3nhh, 5thinwidth, (0,0.75nhh));
flagshaper(9, .95w, 2.25 nhh, 2/3nhh, 5thinwidth, origin);
penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
w := 0;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%
%% "64flag nach oben" %
%%%%%%%%%%%%%%%%%%%%%%%
beginchar(48, 0, 4.25nhh#, 0);
clear;
w:=nhw;
flagshaper(1, w, 2.5nhh, 2/3nhh, 5thinwidth, (0,1.75nhh));
flagshaper(5, w, 2.25 nhh, 2/3nhh, 5thinwidth, (0,1nhh));
flagshaper(9,w, 2 nhh, 2/3nhh, 5thinwidth, (0,0.34nhh));
flagshaper(13,0.9w, 2nhh, 2/3nhh, 5thinwidth, (0,-0.32nhh));
penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
w := 0;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%
%% "128flag nach oben" %
%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(49, 0, 4.5nhh#, 0);
clear;
w:=nhw;
flagshaper (1, w, 2.25nhh, 2/3nhh, 5thinwidth, (0,2.5nhh));
flagshaper (5, w, 2.25nhh, 2/3nhh, 5thinwidth, (0,1.75nhh));
flagshaper (9, w, 2 nhh, 2/3nhh, 5thinwidth, (0,1nhh));
flagshaper(13,0.9 w, 2nhh, 2/3nhh, 5thinwidth, (0,0.5nhh));
flagshaper(17,0.9 w, 2nhh, 1/3nhh, 5thinwidth, (0,0nhh));
w := 0;
endchar;