X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2Fparmesan-heads.mf;h=b69c378ffce6e04be36034b6ab12bc6466b8188d;hb=af99781b40aed8c6dedbd7d78f1a893355a98e09;hp=a21b942b024a3db7475be1c3511735552a9bbf80;hpb=17b9d0df3e7500a2dc328afc73aea21b7909d9ee;p=lilypond.git diff --git a/mf/parmesan-heads.mf b/mf/parmesan-heads.mf index a21b942b02..b69c378ffc 100644 --- a/mf/parmesan-heads.mf +++ b/mf/parmesan-heads.mf @@ -3,7 +3,7 @@ % % source file of LilyPond's pretty-but-neat music font % -% (c) 2001--2006 Juergen Reuter +% (c) 2001--2007 Juergen Reuter % % Neo-mensural heads originally by % Christian Mondrup and Mats Bengtsson @@ -12,7 +12,7 @@ save black_notehead_width; numeric black_notehead_width; -fet_begingroup ("noteheads") +fet_begingroup ("noteheads"); % % character aligment: @@ -182,17 +182,17 @@ enddef; % % (ze is wel breed) % -fet_beginchar ("Neo-mensural maxima notehead", "s-3neomensural"); +fet_beginchar ("Neo-mensural maxima notehead", "sM3neomensural"); draw_neomensural_longa (2.6 staff_space#); fet_endchar; -fet_beginchar ("Neo-mensural longa notehead", "s-2neomensural"); +fet_beginchar ("Neo-mensural longa notehead", "sM2neomensural"); draw_neomensural_longa (2 staff_space#); fet_endchar; -fet_beginchar ("Neo-mensural brevis notehead", "s-1neomensural"); +fet_beginchar ("Neo-mensural brevis notehead", "sM1neomensural"); draw_neomensural_brevis (2 staff_space#); fet_endchar; @@ -364,17 +364,17 @@ fet_beginchar ("Mensural left stemmed notehead", "slmensural"); fet_endchar; -fet_beginchar ("Mensural maxima notehead", "s-3mensural"); +fet_beginchar ("Mensural maxima notehead", "sM3mensural"); draw_mensural_longa (2.0 staff_space#); fet_endchar; -fet_beginchar ("Mensural longa notehead", "s-2mensural"); +fet_beginchar ("Mensural longa notehead", "sM2mensural"); draw_mensural_longa (staff_space#); fet_endchar; -fet_beginchar ("Mensural brevis notehead", "s-1mensural"); +fet_beginchar ("Mensural brevis notehead", "sM1mensural"); draw_mensural_brevis (staff_space#); fet_endchar; @@ -898,13 +898,18 @@ def epiphonus_char (expr verbose_name, internal_name, save stem_bt; if left_stem: - z11 = (0.00 wd + 0.6 linethickness / 2, yoffs - 1.1 ht); - z12 = (0.00 wd + 0.6 linethickness / 2, yoffs); - draw_rounded_block ((0, yoffs - 1.1 ht - - linethickness / 2), - (0.6 linethickness, yoffs), + pickup pencircle scaled 0.6 linethickness; + + lft x11 = x1 - linethickness / 2; + bot y11 = yoffs - 1.1 ht - linethickness / 2; + x12 = x11; + y12 = y1; + + draw_rounded_block (bot lft z11, top rt z12, 0.6 linethickness); stem_bt# = yoffs# - 1.1 ht#; + + labels (11, 12); else: stem_bt# = 0; fi; @@ -918,7 +923,7 @@ enddef; def inclinatum_char (expr verbose_name, internal_name, small, stropha, auctum) = - fet_beginchar (verbose_name, "s" & internal_name) + fet_beginchar (verbose_name, "s" & internal_name); save ht, alpha; alpha := 35; @@ -1146,7 +1151,7 @@ epiphonus_char ("Ed. Vat. cephalicus", "vaticana.cephalicus", % quilisma -fet_beginchar ("Ed. Vat. quilisma", "svaticana.quilisma") +fet_beginchar ("Ed. Vat. quilisma", "svaticana.quilisma"); save a_b, b_h, a_w; a_b := 1.54; % b_h * a_b / a_w = wd / ht @@ -1166,14 +1171,14 @@ fet_beginchar ("Ed. Vat. quilisma", "svaticana.quilisma") define_pixels (ht, wd); - pickup pencircle xscaled linethickness - yscaled 0.44 ht; - - save ellipse; + save ellipse, T; path ellipse; + transform T; - ellipse := reverse fullcircle xscaled linethickness - yscaled 0.44 ht; + T := identity xscaled linethickness + yscaled 0.44 ht; + pickup pencircle transformed T; + ellipse := reverse fullcircle transformed T; z1 = (rt 0.00 wd, top -0.28 ht); z2 = (0.11 wd, -0.14 ht); @@ -1232,7 +1237,7 @@ inclinatum_char ("Solesmes stropha aucta", "solesmes.stropha.aucta", % solesmes oriscus -fet_beginchar ("Solesmes oriscus", "ssolesmes.oriscus") +fet_beginchar ("Solesmes oriscus", "ssolesmes.oriscus"); save a_b, b_h, a_w; a_b := 1.54; % b_h * a_b / a_w = wd / ht @@ -1261,19 +1266,22 @@ fet_beginchar ("Solesmes oriscus", "ssolesmes.oriscus") z3 = (2/6 wd, -convexity); z4 = (0.50 wd - blot_diameter / 2, +convexity); - save height, ellipse; - path ellipse; + + save height; height = 2 ypart (directionpoint right of (z1 .. z2 .. z3 .. z4)); - pickup pencircle xscaled blot_diameter - yscaled (h + d - height); + save ellipse, T; + path ellipse; + transform T; - ellipse := fullcircle xscaled blot_diameter - yscaled (h + d - height); + T := identity xscaled blot_diameter + yscaled (h + d - height); + pickup pencircle transformed T; + ellipse := fullcircle transformed T; % Adjust vertical coordinates to touch bounding box. y1 := top -d; @@ -1309,7 +1317,7 @@ fet_endchar; % % inclinatum -fet_beginchar ("Ed. Med. inclinatum", "smedicaea.inclinatum") +fet_beginchar ("Ed. Med. inclinatum", "smedicaea.inclinatum"); draw_diamond_head (1.2 staff_space#, 0, 0, 35, false); fet_endchar; @@ -1334,33 +1342,46 @@ def med_punctum_char (expr verbose_name, internal_name, z1 = (0.00 wd + blot_diameter / 2, 0); z2 = (0.4 wd - blot_diameter / 2, 0); - fill get_subpath (ellipse, left, right, z1) - -- get_subpath (ellipse, right, left, z2) - -- cycle; - labels (1, 2); pickup pencircle scaled linethickness; if left_down_stem: - set_char_box (0.0, 0.4 wd#, 1.25 ht#, 0.25 ht#); + z4 = (0.00 wd + linethickness / 2, -1.25 ht); + + fill get_subpath (ellipse, left, down, z1) + -- top lft z4{down} + .. z4{right} + .. top rt z4{up} + -- (rt x4, -.5 ht / 2) + -- get_subpath (ellipse, right, left, z2) + -- cycle; - z4 = (0.00 wd + linethickness / 2, blot_diameter / 2); - z5 = (0.00 wd + linethickness / 2, -1.25 ht); + labels (4); - draw_rounded_block (lft z5, rt z4, linethickness); + set_char_box (0.0, 0.4 wd#, 1.25 ht#, 0.25 ht#); elseif left_up_stem: - set_char_box (0.0, 0.4 wd#, 0.25 ht#, 1.25 ht#); + z4 = (0.00 wd + linethickness / 2, +1.25 ht); + + fill get_subpath (ellipse, down, right, z1) + -- get_subpath (ellipse, right, left, z2) + -- (rt x4, .5 ht / 2) + -- bot rt z4{up} + .. z4{left} + .. bot lft z4{down} + -- cycle; - z4 = (0.00 wd + linethickness / 2, -blot_diameter / 2); - z5 = (0.00 wd + linethickness / 2, +1.25 ht); + labels (4); - draw_rounded_block (lft z4, rt z5, linethickness); + set_char_box (0.0, 0.4 wd#, 0.25 ht#, 1.25 ht#); else: + fill get_subpath (ellipse, left, right, z1) + -- get_subpath (ellipse, right, left, z2) + -- cycle; + set_char_box (0.0, 0.4 wd#, 0.25 ht#, 0.25 ht#); fi; - labels (4, 5); fet_endchar; enddef; @@ -1468,4 +1489,4 @@ fet_beginchar ("Hufnagel pes lower punctum", "shufnagel.lpes") fet_endchar; -fet_endgroup ("noteheads") +fet_endgroup ("noteheads");