X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2Fparmesan-scripts.mf;h=8bc65723d9eead514b9c5984d3226402d88cbb6d;hb=1318a6f7c3fcacad92be93d4b41bcb5c5f147310;hp=9c3c794ef8d08637037c6db50cf17c601ec9479d;hpb=dce29b4663ce0ac15e32aaabdb9fb5f8e3108c56;p=lilypond.git diff --git a/mf/parmesan-scripts.mf b/mf/parmesan-scripts.mf index 9c3c794ef8..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") +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,7 +117,7 @@ def draw_signum_congruentiae = 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;