]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/feta-haak.mf
Run `make grand-replace'.
[lilypond.git] / mf / feta-haak.mf
index e2e01b0e1eb0d070f94215ad0c999b5464ea3c09..97c88e97d56abc5b6c7077a01f7a258999d5c8e7 100644 (file)
@@ -1,7 +1,14 @@
+% feta-haak.mf -- implement bracket tips -*-Fundamental-*-
+%
+% part of LilyPond's pretty-but-neat music font
+%
+% source file of the Feta (not the Font-En-Tja) music font
+%
+% (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
 fet_begingroup ("brackettips");
 
-def draw_bracket(expr thick_sharp, width_sharp, updown) =
+def draw_bracket (expr thick_sharp, width_sharp, updown) =
 begingroup;
        save p, thin, thick, flattening, width, hair, flare;
        path p;
@@ -15,22 +22,22 @@ begingroup;
        define_pixels (thick, width, flare);
        if updown = 1:
                set_char_box (0, width#,
-                             .5 thick# , flare#);
+                             .5 thick#, flare#);
        else:
                set_char_box (0, width#,
-                               flare#, .5 thick#);
+                             flare#, .5 thick#);
        fi;
 
        thin = 2 linethickness;
        hair = 1.25 linethickness;
 
        pickup pencircle scaled thin;
-       z7 = z1 + (3/4 thick,0); 
+       y7 = y1;
+       x7 = x2;
        z2 = z4r + (thin, 0);
 
-
-       penpos3(thin, 0);
-       penpos4(thin, 90);
+       penpos3 (thin, 0);
+       penpos4 (thin, 90);
 
        z3 = z4;
 
@@ -39,52 +46,47 @@ begingroup;
        x1 = x3l;
        y1 = -0.5 thick;
 
-
-       z8 = .5  [z2, z7];
+       z8 = .5 [z2, z7];
        top y5 = flare;
        rt x5 = width;
 
-       save leave_angle;
-       leave_angle = 10;
+       p := z8{right}
+            ..tension 1.2.. z5{curl 0};
+       tipdir := direction 1 of p;
 
-       p := z8{dir(leave_angle)}
-               .. z5{curl 0};
-       tipdir := (direction 1 of p);
-
-       save tip_angle;
-       tip_angle := 50;
-       penpos5 (hair, tip_angle);
-       penpos6 (hair, 90 + tip_angle);
+       penpos5 (hair, angle tipdir);
+       penpos6 (hair, 90 + angle tipdir);
 
        z5 = z6;
 
        pickup pencircle scaled 1;
 
-       %draw p;
-       fill
-       %draw
-       (z1{up} .. z3l{up}
-               .. z4r{right}
-               .. z2{right}
-               .. z6r{tipdir}
-               .. z5r .. z6l{-tipdir}
-               .. z7{dir(180 + leave_angle)} & z7 .. z1{left} & cycle)
-                yscaled updown;
-
+       fill (z1
+             -- z3l{up}
+             .. z4r{right}
+             -- z2{right}
+             .. z6r{tipdir}
+             .. z5r
+             .. z6l{-tipdir}
+             ..tension 1.1.. z7{left}
+             & z7
+             -- z1
+             & cycle) yscaled updown;
 
        if updown = 1:
-               penlabels (1,2,3,4,5,6,7);
+               penlabels (1, 2, 3, 4, 5, 6, 7, 8);
        fi;
-
 endgroup;
 enddef;
 
+
 fet_beginchar ("bracket tip up", "up");
-   draw_bracket (0.45 staff_space#, 1.9 staff_space#, 1);
+       draw_bracket (0.45 staff_space#, 1.9 staff_space#, 1);
 fet_endchar;
 
-fet_beginchar ("bracket tip down", "down"); 
-   draw_bracket (0.45 staff_space#, 1.9 staff_space#, -1);
+
+fet_beginchar ("bracket tip down", "down");
+       draw_bracket (0.45 staff_space#, 1.9 staff_space#, -1);
 fet_endchar;
 
 fet_endgroup ("brackettips");