summaryrefslogtreecommitdiff
path: root/obsolete/macros/mtex/metafont/noten16.mf
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-01-31 03:01:01 +0000
committerNorbert Preining <norbert@preining.info>2024-01-31 03:01:01 +0000
commit79e1bbc1ad6b308aa2074540b2afd43b6a72ce03 (patch)
tree32074e03eec88cf72e5973ddff176a0534c77dff /obsolete/macros/mtex/metafont/noten16.mf
parent084f5d8435744b7ea7ef487ec111a7bfd100ed62 (diff)
CTAN sync 202401310301
Diffstat (limited to 'obsolete/macros/mtex/metafont/noten16.mf')
-rw-r--r--obsolete/macros/mtex/metafont/noten16.mf292
1 files changed, 292 insertions, 0 deletions
diff --git a/obsolete/macros/mtex/metafont/noten16.mf b/obsolete/macros/mtex/metafont/noten16.mf
new file mode 100644
index 0000000000..6aff8ab739
--- /dev/null
+++ b/obsolete/macros/mtex/metafont/noten16.mf
@@ -0,0 +1,292 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% 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, 3*thinwidth, nhh/4);
+endchar;
+
+%%%%%%%%%%%%%%%
+%% ganze Note %
+%%%%%%%%%%%%%%%
+
+beginchar (35,1.5nhh#, .5nhh#, .5nhh#);
+ drawnoteb(w, 0, 85, 0, nhh/3, 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;