X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2Fparmesan-clefs.mf;h=7a5fbc1dec3d6cb73556e076c57b3af225df9c4b;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=a6980172a67177fbcf66bedac641822b82bf0eeb;hpb=f7322110755e46623208fe6754805224c865d9ac;p=lilypond.git diff --git a/mf/parmesan-clefs.mf b/mf/parmesan-clefs.mf index a6980172a6..7a5fbc1dec 100644 --- a/mf/parmesan-clefs.mf +++ b/mf/parmesan-clefs.mf @@ -3,7 +3,7 @@ % % source file of LilyPond's pretty-but-neat music font % -% (c) 2001--2006 Juergen Reuter +% (c) 2001--2008 Juergen Reuter % 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); @@ -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);