X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2Fparmesan-scripts.mf;h=8bc65723d9eead514b9c5984d3226402d88cbb6d;hb=e504837b96a4a3d3f8353e0d28951de35832575a;hp=ded015ce3e50dfd813202b86089fdce035dbf830;hpb=b02bb98ffea2c376ba67eb049b8ba6b04d76e084;p=lilypond.git diff --git a/mf/parmesan-scripts.mf b/mf/parmesan-scripts.mf index ded015ce3e..8bc65723d9 100644 --- a/mf/parmesan-scripts.mf +++ b/mf/parmesan-scripts.mf @@ -3,21 +3,111 @@ % % source file of LilyPond's pretty-but-neat music font % -% (c) 2002 Juergen Reuter +% (c) 2002--2004 Juergen Reuter % fet_begingroup ("scripts") -def draw_fermata = +fet_beginchar("ictus", "ictus", "ictus") + save ht, wd; + ht# = .35 staff_space#; + wd# = linethickness#; + define_pixels(wd, ht); + pickup pencircle + xscaled wd + yscaled blot_diameter; + set_char_box(wd#/2, wd#/2, ht#/2, ht#/2); + x1 = 0; top y1 = ht/2; + x2 = 0; bot y2 = -ht/2; + draw z1 -- z2; +fet_endchar; + + +def draw_accentus = + save thick, thin, ht, wd; + thin# = 1 linethickness#; + thick# = 1.2 linethickness#; + ht# = .35 staff_space#; + wd# = .25 staff_space#; + define_pixels(wd, ht, thin, thick); + z1 = z2 = (-wd/2 + thin/2, -ht/2 + thin/2); + z3 = z4 = (wd/2 - thick/2, ht/2 - thick/2); + penpos1(thin, angle(z1-z3)); + penpos2(thin, angle(z1-z3)+90); + penpos3(thick, angle(z3-z1)+90); + penpos4(thick, angle(z3-z1)); + fill z1r .. z2r -- z3l .. z4r .. z3r -- z2l .. cycle; + set_char_box(wd#/2, wd#/2, ht#/2, ht#/2); +enddef; + +fet_beginchar("accentus up", "uaccentus", "uaccentus") + draw_accentus; +fet_endchar; + +fet_beginchar("accentus down", "daccentus", "daccentus") + draw_accentus; + y_mirror_char; +fet_endchar; + + +def draw_half_ellipse(expr ellips_width, ellips_height) = + save width, height, thin, thick; + width# = ellips_width; + height# = ellips_height; + define_pixels(width, height); + + thin = thick = 0.6 linethickness; + penpos1(thick, 0); + penpos2(thin, -90); + z1r = (width/2, 0); + z2r = (0, -height/2); + penlabels(1,2); + penstroke z1e{down} .. {left}z2e; + addto currentpicture also currentpicture xscaled -1; +enddef; + +fet_beginchar("half circle", "usemicirculus", "usemicirculus") + draw_half_ellipse(5/16 staff_space#, 5/16 staff_space#); + currentpicture := currentpicture yscaled -1; + set_char_box(width#/2, width#/2, 0, height#/2); +fet_endchar; + + +fet_beginchar("half circle", "dsemicirculus", "dsemicirculus") + draw_half_ellipse(5/16 staff_space#, 5/16 staff_space#); + set_char_box(width#/2, width#/2, height#/2, 0); +fet_endchar; + + +fet_beginchar("circle", "circulus", "circulus") + draw_half_ellipse(5/16 staff_space#, 5/16 staff_space#); + set_char_box(width#/2, width#/2, height#/2, height#/2); + addto currentpicture also currentpicture yscaled -1; +fet_endchar; + + +fet_beginchar("augmentum", "augmentum", "augmentum") + save diameter; + diameter# = 0.25 staff_space#; + define_pixels(diameter); + pickup pencircle scaled diameter; + draw (0,0); + set_char_box(diameter#/2, diameter#/2, diameter#/2, diameter#/2); +fet_endchar; + + +def draw_signum_congruentiae = save za, zb, zc, zd, ze, zf, zg, zh; pair za, zb, zc, zd, ze, zf, zg, zh; - set_char_box(staff_space#/2, staff_space#/2, - 5/2*stafflinethickness#, 2staff_space#); + set_char_box(0.50 staff_space# + 1.5 linethickness#, + 0.50 staff_space# + 1.5 linethickness#, + 2.5 linethickness#, + 2.00 staff_space# + 3.5 linethickness#); pickup pencircle - xscaled 1.0 stafflinethickness - yscaled 5.0 stafflinethickness + xscaled 1.0 linethickness + yscaled 5.0 linethickness rotated -35; za = (+0.50staff_space, +2.00staff_space); zb = (+0.00staff_space, +2.00staff_space); @@ -27,20 +117,22 @@ def draw_fermata = zf = (+0.00staff_space, +0.00staff_space); draw za{-1,+1} .. zb .. zc .. zd .. ze .. zf; - pickup pencircle scaled 3.0 stafflinethickness; + pickup pencircle scaled 3.0 linethickness; zg = (-0.5staff_space, +0.0staff_space); zh = (+0.5staff_space, +0.0staff_space); drawdot zg; drawdot zh; enddef; -fet_beginchar("fermata up", "ufermata", "ufermata") - draw_fermata; +fet_beginchar("signum congruentiae up", + "usignumcongruentiae", "usignumcongruentiae") + draw_signum_congruentiae; fet_endchar; -fet_beginchar("fermata down", "dfermata", "dfermata") - draw_fermata; - y_mirror_char; +fet_beginchar("signum congruentiae down", + "dsignumcongruentiae", "dsignumcongruentiae") + draw_signum_congruentiae; + xy_mirror_char; fet_endchar; fet_endgroup ("scripts")