]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/feta-pendaal.mf
Imported sources
[lilypond.git] / mf / feta-pendaal.mf
index c6905779a699a63d401df5394437504b8872a23f..d509130ad9d557741a7a5e46225ca5e196f05cab 100644 (file)
@@ -5,7 +5,7 @@
 %
 % source file of the Feta (not the Font-En-Tja) music font
 % 
-% (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 2000--2004 Jan Nieuwenhuizen <janneke@gnu.org>
 %
 % Voor Cup
 
@@ -19,9 +19,10 @@ fet_begingroup("pedal")
 pedalpha = 40;
 pedbeta = 25;
 
-penh#=0.7stafflinethickness#;
-penw#=4penh#;
-%penw#=penh#;
+penh#=0.7linethickness#;
+
+penw# = 2penh# + 0.14 staff_space#;
+
 define_pixels (penh,penw);
 
 pedalh# = 2staff_space#;
@@ -31,49 +32,57 @@ define_pixels (pedalh,pedalbh);
 % code values for own pedal font commented out
 % code := 41;  % * = 42
 
-def draw_asterisk_bulb (expr w, h, i) =
-       begingroup;
-       clearxy;
-       save bulb, p;
+fet_beginchar("Pedal asterisk", "*", "pedalasterisk")
+       set_char_box(0, 7/9pedalh#, 0, pedalh#);
+       z0 = (1/2w, h - 1/2w);
+       save bulb, p, radius, thin;
        path p;
-       bulb = 4/3penw;
+
+       thin = 0.8 linethickness;
+
+       bulb + 2 radius = w;
+       0.9 thin +  bulb = (radius * pi * 2) / 8;
 
        pickup pencircle scaled penh;
        penpos 1 (bulb, 180);
        penpos 2 (bulb, 0);
-       penpos 3 (penh, 0);
-       penpos 4 (penw, 0);
+       penpos 3 (thin, 0);
 
-       z0 = (1/2w, h - 1/2w);
-       z1 = (1/2w, h-1/2bulb);
+       z1 = z0 + (0,radius);
        z2 = z1;
-       z3 = (x1, y1-penw);
-       z4 = (x1, y3-2penh);
+
+       save inner_r ;
+       inner_r = .45 radius ;
+
+       z4l = z0 + inner_r * dir (90 + 360/16);
+       z4r = z0 + inner_r * dir (90 - 360/16);
+
+       z4 = .5 [z4l,z4r];
+       z3 = .75 [z1,z4];
+
 
        penlabels (1,2,3,4);
-%      penstroke z1e{up}..z2e{down}..z3e{down}..z4e;
-       p = z1l{up}..z2l{down}..z3l{down}..z4l..z4r
-               ..z3r{up}..z2r{up}..z1r{down}..cycle;
-       p := p rotatedaround (z0, 360/8i);
-       fill p;
-       endgroup;
-       enddef;
 
-fet_beginchar("Pedal asterisk", "*", "pedal-asterisk")
-       set_char_box(0, 7/9pedalh#, 0, pedalh#);
-       z0 = (1/2w, h - 1/2w);
-       for i = 0 upto 7:
-               draw_asterisk_bulb (w, h, i);
-               pickup pencircle scaled penw;
-               undraw z0;
-       endfor
+       %% what is empty path? 
+       p = z3r{up} ..  z1l{up}..z2l{down}..z3l{down} .. z4l{dir (180 + 360/16)}; 
+       for i = 1 upto 7:
+               p := p ... ((z3r{up}.. z1l{up}..z2l{down}..z3l{down}..z4l{dir (180 + 360/16)}) 
+               rotatedaround (z0, 360/8i));
+               endfor
+
+       p := p .. cycle;
+       fill p;
+       pickup pencircle scaled (7/8 inner_r);
+       undraw z0;
 fet_endchar;
 
 % skip + and ,
 
 % code := 44;  % - = 45
 
-fet_beginchar("Pedal dash", "-", "pedal-dash")
+%% ugh. rounded corners!
+
+fet_beginchar("Pedal dash", "-", "pedaldash")
        set_char_box(0, 3penw#, 0, pedalbh#);
        pickup pencircle scaled penh;
 
@@ -85,7 +94,7 @@ fet_beginchar("Pedal dash", "-", "pedal-dash")
        penstroke z1e{dir 40}..tension 1.2 ..z2e{dir 40};
 fet_endchar;
 
-fet_beginchar("Pedal dot", ".", "pedal-dot")
+fet_beginchar("Pedal dot", ".", "pedaldot")
        set_char_box(0, penw#, 0, penw#);
        pickup pencircle scaled penw;
        draw (1/2penw,1/2penw);
@@ -232,19 +241,19 @@ def draw_pedal_e =
 
 % code := 79;  % P = 80
 
-fet_beginchar("Pedal P", "P", "pedal-P")
+fet_beginchar("Pedal P", "P", "pedalP")
        set_char_box(0, 5/6pedalh#, 0, pedalh#);
        draw_pedal_P;
 fet_endchar;
 
 % code := 99;  % d = 100
 
-fet_beginchar("Pedal d", "d", "pedal-d")
+fet_beginchar("Pedal d", "d", "pedald")
        set_char_box(0, 2/3pedalh#, 0, 7/8pedalh#);
        draw_pedal_d;
 fet_endchar;
 
-fet_beginchar("Pedal e", "e", "pedal-e")
+fet_beginchar("Pedal e", "e", "pedale")
        set_char_box(0, 2/5pedalh#, 0, pedalbh#);
        draw_pedal_e;
 fet_endchar;
@@ -254,7 +263,7 @@ fet_endchar;
 % The pre 1.3.59 user-scm kerning sucks, but I'm not struck by
 % the looks of this either.
 %
-fet_beginchar("Pedal Ped", "Ped", "pedal-Ped")
+fet_beginchar("Pedal Ped", "Ped", "pedalPed")
        P_width# = 5/6pedalh#;
        e_width# = 2/5pedalh#;
        d_width# = 2/3pedalh#;