% this file is included by feta-scripts.mf
tfat := 1/2;
-twidth# := 0.5interline#;
-theight# := 0.55interline#;
+%twidth# := 0.5interline#;
+%theight# := 0.55interline#;
% tthin# := stafflinethickness#;
tthin# := 1.6stafflinethickness#;
+twidth# := 2/3interline#;
+theight# := 1/2interline#;
+
% uhg/ uhuh?
% toverlap# := tfat*twidth#+tthin#;
toverlap# := tfat*twidth#+0.45tthin#;
% trills := 4;
trills := 3;
set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, theight#, theight#);
-% draw_slur(-2twidth#,-2theight#,-1);
+% draw_slur(-2twidth#,-2theight#,0,-1);
% currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.75tthin);
- draw_slur(0,-2theight#,-1);
- currentpicture := currentpicture shifted (-0.5w+1.3tthin,-tfat*theight+1.5tthin);
+ draw_slur(0,-2theight#,0,-1);
+% currentpicture := currentpicture shifted (-0.5w+1.3tthin,-tfat*theight+1.5tthin);
+ currentpicture := currentpicture shifted (-0.5w+1.65tthin,-tfat*theight+1.15tthin);
% draw_trill_four;
draw_trill_three;
fet_endchar;
fet_beginchar("downprall", "downprall", "downprall")
trills := 3;
set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, theight#, theight#);
-% draw_slur(-2twidth#,2theight#,1);
- draw_slur(0,2theight#,1);
- currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.75tthin);
+% draw_slur(-2twidth#,2theight#,0,1);
+ draw_slur(0,2theight#,0,1);
+% currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.75tthin);
+ currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.5tthin);
draw_trill_three;
fet_endchar;
slurratio:=0.3333;
slurbeta:=3/4*pi*slurratio/sluralpha;
-def draw_slur(expr dxs,dys,d) =
+def draw_slur(expr dxs,dys,hs,d) =
save x, y;
- save b, dx, dy, indent;
+ save b, dx, dy, h, indent;
dx#:=dxs*1pt#;
dy#:=dys*1pt#;
+ h#:=hs*1pt#;
define_pixels(dx,dy);
b#:=length(dx#,dy#);
% ugh: huh? 2/5
indent#:=2/5*sluralpha*atan(slurbeta*b#);
- define_pixels(b,indent);
- height:=indent*d;
+ define_pixels(b,h,indent);
+ height:=(indent+h)*d;
z1=(0,0);
z2=(b,0);
z3=(indent,height);
show z6;
enddef;
-def slurchar(expr dxs,dys,d) =
+def slurchar(expr dxs,dys,hs,d) =
beginchar(0,0,0,0) "Embedded mf";
- draw_slur(dxs,dys,d);
+ draw_slur(dxs,dys,hs,d);
endchar;
enddef;
-% drawslur(10,10,1);
+% drawslur(10,10,0,1);
% (b*ratio)/(1 + b / htlimit)
/getslurcontrol
{
- slurhtlimit add /slurheight exch def
- slurheight 90 div /slur_alpha exch def
+ slurhtlimit 90 div /slur_alpha exch def
slurratio 60 div slur_alpha div /slur_beta exch def
slur_beta mul 1 atan slur_alpha mul
} bind def
/slur_dy exch def
/slur_dx exch def
slur_dy slur_dx lily_distance /slur_b exch def
- slur_b slur_height getslurcontrol
+ slur_b getslurcontrol slur_height add
slur_dir mul /slur_ht exch def
- slur_b slur_height getslurcontrol /slur_indent exch def
+ slur_b getslurcontrol /slur_indent exch def
%
slur_dy slur_dx atan rotate
slur_indent slur_ht