]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/parmesan-clefs.mf
Run `make grand-replace'.
[lilypond.git] / mf / parmesan-clefs.mf
index df79a14ae71d78ef6bbed5de11d912d6c0c2d2a7..7a5fbc1dec3d6cb73556e076c57b3af225df9c4b 100644 (file)
@@ -3,7 +3,7 @@
 % 
 % source file of LilyPond's pretty-but-neat music font
 %
-% (c) 2001--2006 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2001--2008 Juergen Reuter <reuter@ipd.uka.de>
 %
 
 fet_begingroup ("clefs");
@@ -61,14 +61,14 @@ def draw_vaticana_do_clef (expr exact_center, reduction) =
 
        define_pixels (reduced_il);
 
-       save pat, ellipse, clef;
+       save pat, ellipse, clef, T;
        path pat, ellipse, clef;
+       transform T;
 
-       pickup pencircle xscaled 0.6 linethickness
-                        yscaled 0.6 reduced_il;
-
-       ellipse := reverse fullcircle xscaled 0.6 linethickness
-                                     yscaled 0.6 reduced_il;
+       T := identity xscaled 0.6 linethickness
+                     yscaled 0.6 reduced_il;
+       pickup pencircle transformed T;
+       ellipse := reverse fullcircle transformed T;
 
        save xoffs, yoffs;
 
@@ -137,14 +137,14 @@ def draw_vaticana_fa_clef (expr exact_center, reduction) =
        define_pixels (reduced_il, xoffs, yoffs);
 
        % left-handed punctum
-       pickup pencircle xscaled 0.6 linethickness
-                        yscaled 0.5 reduced_il;
-
-       save ellipse, pat;
+       save ellipse, pat, T;
        path ellipse, pat;
+       transform T;
 
-       ellipse := reverse fullcircle xscaled 0.6 linethickness
-                                     yscaled 0.5 reduced_il;
+       T := identity xscaled 0.6 linethickness
+                     yscaled 0.5 reduced_il;
+       pickup pencircle transformed T;
+       ellipse := reverse fullcircle transformed T;
 
        lft z21 = (xoffs + 0.00 reduced_il, yoffs + 0.00 reduced_il);
        z22 = (xoffs + 0.25 reduced_il, yoffs + 0.05 reduced_il);
@@ -232,14 +232,14 @@ def draw_medicaea_do_clef (expr exact_center, reduction) =
        define_pixels (xoffs, yoffs);
 
        % flags
-       pickup pencircle xscaled reduced_slt
-                        yscaled flag_height;
-
-       save ellipse;
+       save ellipse, T;
        path ellipse;
+       transform T;
 
-       ellipse := reverse fullcircle xscaled reduced_slt
-                                     yscaled flag_height;
+       T := identity xscaled reduced_slt
+                     yscaled flag_height;
+       pickup pencircle transformed T;
+       ellipse := reverse fullcircle transformed T;
 
        xoffs = lft x1 = rt x2 - reduced_il;
        y1 = yoffs + 0.5 (reduced_il - flag_height - staff_space);
@@ -304,26 +304,25 @@ def draw_medicaea_fa_clef (expr exact_center, reduction) =
        define_pixels (xoffs, yoffs);
 
        % stem
-       pickup pencircle scaled linethickness;
+       pickup pencircle scaled reduced_slt;
 
        x11 = x12 = xoffs + 0.4 reduced_il;
        y11 = yoffs = bot y12 + 1.5 reduced_il;
 
-       draw_rounded_block (bot lft z12, top rt z11, linethickness);
+       draw_rounded_block (bot lft z12, top rt z11, reduced_slt);
 
        % left-handed punctum
-
-       pickup pencircle xscaled reduced_slt
-                        yscaled reduced_il;
-
-       save ellipse;
+       save ellipse, T;
        path ellipse;
+       transform T;
 
-       ellipse := reverse fullcircle xscaled reduced_slt
-                                     yscaled reduced_il;
+       T := identity xscaled reduced_slt
+                     yscaled reduced_il;
+       pickup pencircle transformed T;
+       ellipse := reverse fullcircle transformed T;
 
        lft z13 = (xoffs, yoffs);
-       rt z14 = z11 + (linethickness / 2, 0);
+       rt z14 = z11 + (reduced_slt / 2, 0);
 
        fill get_subpath (ellipse, left, right, z13)
             -- get_subpath (ellipse, right, left, z14)
@@ -617,14 +616,14 @@ def draw_neomensural_c_clef (expr exact_center, reduction) =
 
        define_pixels (xoffs, yoffs);
 
-       pickup pencircle xscaled stem_width
-                        yscaled blot_diameter;
-
-       save ellipse, pat;
+       save ellipse, pat, T;
        path ellipse, pat;
+       transform T;
 
-       ellipse := fullcircle xscaled stem_width
-                             yscaled blot_diameter;
+       T := identity xscaled stem_width
+                     yscaled blot_diameter;
+       pickup pencircle transformed T;
+       ellipse := fullcircle transformed T;
 
        lft x11 = lft x12 = xoffs;
        top y12 - bot y11 = 4 reduced_il;
@@ -710,14 +709,14 @@ def draw_petrucci_c_clef (expr exact_center, flare_align, reduction) =
 
        define_pixels (xoffs, yoffs);
 
-       pickup pencircle xscaled 1.4 linethickness
-                        yscaled blot_diameter;
-
-       save ellipse;
+       save ellipse, T;
        path ellipse;
+       transform T;
 
-       ellipse := fullcircle xscaled 1.4 linethickness
-                             yscaled blot_diameter;
+       T := identity xscaled 1.4 linethickness
+                     yscaled blot_diameter;
+       pickup pencircle transformed T;
+       ellipse := fullcircle transformed T;
 
        lft x11 = lft x13 = xoffs;
        top y11 = yoffs + left_height;
@@ -864,14 +863,14 @@ def draw_mensural_c_clef (expr exact_center, reduction) =
 
        define_pixels (xoffs, yoffs);
 
-       pickup pencircle xscaled 1.4 linethickness
-                        yscaled blot_diameter;
-
-       save ellipse;
+       save ellipse, T;
        path ellipse;
+       transform T;
 
-       ellipse := fullcircle xscaled 1.4 linethickness
-                             yscaled blot_diameter;
+       T := identity xscaled 1.4 linethickness
+                     yscaled blot_diameter;
+       pickup pencircle transformed T;
+       ellipse := fullcircle transformed T;
 
        lft x11 = lft x13 = xoffs;
        top y11 = yoffs + 2.2 half_reduced_il;
@@ -947,16 +946,15 @@ def draw_diamond (expr exact_center, reduction) =
 
        define_pixels (xoffs, yoffs);
 
-       pickup pencircle xscaled beamheight
-                        yscaled stem_width
-                        rotated 45;
-
-       save ellipse;
+       save ellipse, T;
        path ellipse;
+       transform T;
 
-       ellipse := reverse fullcircle xscaled beamheight
-                                     yscaled stem_width
-                                     rotated 45;
+       T := identity xscaled beamheight
+                     yscaled stem_width
+                     rotated 45;
+       pickup pencircle transformed T;
+       ellipse := reverse fullcircle transformed T;
 
        x21 := xoffs - rh_width / 2;
        y21 := yoffs;
@@ -1033,16 +1031,17 @@ def draw_petrucci_f_clef (expr exact_center, reduction) =
        define_pixels (xoffs, yoffs);
 
        % brevis stem
-       pickup pencircle xscaled stem_width
-                        yscaled blot_diameter;
-
-       save ellipse;
+       save ellipse, T;
        path ellipse;
+       transform T;
 
-       ellipse := fullcircle xscaled stem_width
-                             yscaled blot_diameter;
+       T := identity xscaled stem_width
+                     yscaled blot_diameter;
+       pickup pencircle transformed T;
+       ellipse := fullcircle transformed T;
 
-       rt z8 = (xoffs + reduced_il, yoffs - 4 reduced_slt);
+       rt x8 = xoffs + reduced_il;
+       y8 = y3;
        rt z9 = (xoffs + reduced_il, yoffs - 4 reduced_il);
 
        penpos8 (stem_width, 0);
@@ -1128,16 +1127,15 @@ def draw_mensural_f_clef (expr exact_center, reduction) =
 
        define_pixels (xoffs, yoffs);
 
-       pickup pencircle xscaled 0.2 width
-                        yscaled stem_width
-                        rotated 45;
-
-       save ellipse;
+       save ellipse, T;
        path ellipse;
+       transform T;
 
-       ellipse := fullcircle xscaled 0.2 width
-                             yscaled stem_width
-                             rotated 45;
+       T := identity xscaled 0.2 width
+                     yscaled stem_width
+                     rotated 45;
+       pickup pencircle transformed T;
+       ellipse := fullcircle transformed T;
 
        % half circle
        lft z10 = (0, 0);
@@ -1237,16 +1235,15 @@ def draw_petrucci_g_clef (expr exact_center, reduction) =
 
        define_pixels (xoffs, yoffs);
 
-       pickup pencircle xscaled 0.50 reduced_slt
-                        yscaled 0.22 reduced_il
-                        rotated -35;
-
-       save ellipse, paths, sub_path, outlines, sub_outlines;
+       save ellipse, paths, sub_path, outlines, sub_outlines, T;
        path ellipse, paths[], sub_path, outlines[], sub_outlines[];
+       transform T;
 
-       ellipse := fullcircle xscaled 0.5 reduced_slt
-                             yscaled 0.22 reduced_il
-                             rotated -35;
+       T := identity xscaled 0.5 reduced_slt
+                     yscaled 0.22 reduced_il
+                     rotated -35;
+       pickup pencircle transformed T;
+       ellipse := fullcircle transformed T;
 
        lft z1 = (xoffs + 0.80 reduced_il, yoffs + 0.00 reduced_il);
        lft z2 = (xoffs + 1.00 reduced_il, yoffs + 1.20 reduced_il);
@@ -1260,15 +1257,15 @@ def draw_petrucci_g_clef (expr exact_center, reduction) =
        lft z10 = (xoffs + 0.20 reduced_il, yoffs + 0.60 reduced_il);
 
        paths1 := z1{-1, 2}
-                   .. z2
-                   .. z3
-                   .. z4
-                   .. z5
-                   .. z6
-                   .. z7
-                   .. z8
-                   .. z9
-                   .. z10;
+                 .. z2
+                 .. z3
+                 .. z4
+                 .. z5
+                 .. z6
+                 .. z7
+                 .. z8
+                 .. z9
+                 .. z10;
 
        save dirs, s;
        pair dirs[];
@@ -1313,13 +1310,11 @@ def draw_petrucci_g_clef (expr exact_center, reduction) =
        (times42, times24) = sub_outlines4 intersectiontimes sub_outlines2;
        (times43, times34) = sub_outlines4 intersectiontimes sub_outlines3;
 
-       pickup pencircle xscaled 0.75 reduced_slt
-                        yscaled 0.33 reduced_il
-                        rotated -35;
-
-       ellipse := fullcircle xscaled 0.75 reduced_slt
-                             yscaled 0.33 reduced_il
-                             rotated -35;
+       T := identity xscaled 0.75 reduced_slt
+                     yscaled 0.33 reduced_il
+                     rotated -35;
+       pickup pencircle transformed T;
+       ellipse := fullcircle transformed T;
 
        lft z21 = (xoffs + 1.05 reduced_il, yoffs + 0.45 reduced_il);
        lft z22 = (xoffs + 0.55 reduced_il, yoffs + 0.45 reduced_il);
@@ -1385,40 +1380,51 @@ def draw_petrucci_g_clef (expr exact_center, reduction) =
             & subpath (0, times1 - s / 4) of sub_outlines1
             -- cycle;
 
+
        % we approximate `draw paths2'
        for i = 1 step s until (length paths2 - s):
                dirs[i + 20] := direction (i - 1) of paths2;
        endfor;
 
-       fill get_subpath (ellipse, -dirs21, dirs21, z21)
-            for i = (1 + s) step s until (length paths2 - s):
-                    .. get_subpoint (ellipse, dirs[i + 20],
-                                     point (i - 1) of paths2)
-            endfor
-            .. get_subpath (ellipse, up, z26 - z25, z25)
-            -- get_subpath (ellipse, z26 - z25, z25 - z26, z26)
-            -- get_subpoint (ellipse, z25 - z26, z25)
-            -- get_subpoint (ellipse, down, z25)
-            for i = (length paths2 - s) step -s until (t4 + 1):
-                    .. get_subpoint (ellipse, -dirs[i + 20],
-                                     point (i - 1) of paths2)
-            endfor
-            .. get_subpoint (ellipse, -direction t4 of paths2,
-                             point t4 of paths2)
-            -- get_subpoint (ellipse, -direction t3 of paths2,
-                             point t3 of paths2)
-            for i = (floor (t3 / s) * s + 1) step -s until (t2 + 1):
-                    .. get_subpoint (ellipse, -dirs[i + 20],
-                                     point (i - 1) of paths2)
-            endfor
-            .. get_subpoint (ellipse, -direction t2 of paths2,
-                             point t2 of paths2)
-            -- get_subpoint (ellipse, -direction t1 of paths2,
-                             point t1 of paths2)
-            for i = (floor (t1 / s) * s + 1) step -s until (1 + s):
-                    .. get_subpoint (ellipse, -dirs[i + 20],
-                                     point (i - 1) of paths2)
-            endfor
+       sub_outlines21 := get_subpath (ellipse, -dirs21, dirs21, z21)
+                         for i = (1 + s) step s until (length paths2 - s):
+                                 .. get_subpoint (ellipse, dirs[i + 20],
+                                                  point (i - 1) of paths2)
+                         endfor
+                         .. get_subpath (ellipse, up, z26 - z25, z25);
+       sub_outlines22 := get_subpath (ellipse, z26 - z25, z25 - z26, z26)
+                         -- get_subpoint (ellipse, z25 - z26, z25);
+       sub_outlines23 := get_subpoint (ellipse, down, z25)
+                         for i = (length paths2 - s) step -s until (t4 + 1):
+                                 .. get_subpoint (ellipse, -dirs[i + 20],
+                                                  point (i - 1) of paths2)
+                         endfor
+                         .. get_subpoint (ellipse, -direction t4 of paths2,
+                                          point t4 of paths2);
+       sub_outlines24 := get_subpoint (ellipse, -direction t3 of paths2,
+                                       point t3 of paths2)
+                         for i = (floor (t3 / s) * s + 1) step -s until (t2 + 1):
+                                 .. get_subpoint (ellipse, -dirs[i + 20],
+                                                  point (i - 1) of paths2)
+                         endfor
+                         .. get_subpoint (ellipse, -direction t2 of paths2,
+                                          point t2 of paths2);
+       sub_outlines25 := get_subpoint (ellipse, -direction t1 of paths2,
+                                       point t1 of paths2)
+                         for i = (floor (t1 / s) * s + 1) step -s until (1 + s):
+                                 .. get_subpoint (ellipse, -dirs[i + 20],
+                                                  point (i - 1) of paths2)
+                         endfor;
+
+       (times2223, times2322) = sub_outlines22 intersectiontimes sub_outlines23;
+       (times2324, times2423) = sub_outlines23 intersectiontimes sub_outlines24;
+       (times2425, times2524) = sub_outlines24 intersectiontimes sub_outlines25;
+
+       fill sub_outlines21
+            -- subpath (0, times2223) of sub_outlines22
+            -- subpath (times2322, times2324) of sub_outlines23
+            -- subpath (times2423, times2425) of sub_outlines24
+            -- subpath (times2524, infinity) of sub_outlines25
             .. cycle;
 
        labels (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
@@ -1504,16 +1510,15 @@ def draw_hufnagel_do_clef (expr exact_center, reduction) =
 
        define_pixels (xoffs, yoffs);
 
-       pickup pencircle xscaled (0.60 reduced_il)
-                        yscaled (0.10 reduced_il)
-                        rotated 40;
-
-       save ellipse, pat;
+       save ellipse, pat, T;
        path ellipse, pat;
+       transform T;
 
-       ellipse := fullcircle xscaled (0.60 reduced_il)
-                             yscaled (0.10 reduced_il)
-                             rotated 40;
+       T := identity xscaled 0.6 reduced_il
+                     yscaled 0.1 reduced_il
+                     rotated 40;
+       pickup pencircle transformed T;
+       ellipse := fullcircle transformed T;
 
        z1 = (xoffs + 0.90 reduced_il, yoffs + .45 reduced_il);
        z2 = (xoffs + 0.80 reduced_il, yoffs + .45 reduced_il);
@@ -1580,10 +1585,6 @@ def draw_hufnagel_fa_clef (expr exact_center, reduction) =
                      1.15 reduced_il# - ypart exact_center,
                      1.00 reduced_il# + ypart exact_center);
 
-       pickup pencircle xscaled (0.60 reduced_il)
-                        yscaled (0.10 reduced_il)
-                        rotated 40;
-
        save xoffs, yoffs;
 
        xoffs# = xpart exact_center;
@@ -1591,12 +1592,15 @@ def draw_hufnagel_fa_clef (expr exact_center, reduction) =
 
        define_pixels (xoffs, yoffs);
 
-       save ellipse, pat;
+       save ellipse, pat, T;
        path ellipse, pat;
+       transform T;
 
-       ellipse := fullcircle xscaled (0.60 reduced_il)
-                             yscaled (0.10 reduced_il)
-                             rotated 40;
+       T := identity xscaled 0.6 reduced_il
+                     yscaled 0.1 reduced_il
+                     rotated 40;
+       pickup pencircle transformed T;
+       ellipse := fullcircle transformed T;
 
        z11 = (xoffs + 0.90 reduced_il, yoffs + 0.70 reduced_il);
        z12 = (xoffs + 0.80 reduced_il, yoffs + 0.70 reduced_il);