]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/parmesan-scripts.mf
Fix measure-grouping.ly test
[lilypond.git] / mf / parmesan-scripts.mf
index 9c3c794ef8d08637037c6db50cf17c601ec9479d..b9caf5d6e259f0a3f6f4ba3773f88058b14d73a9 100644 (file)
 % 
 % source file of LilyPond's pretty-but-neat music font
 % 
-% (c) 2002 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2002--2006 Juergen Reuter <reuter@ipd.uka.de>
 % 
 
 fet_begingroup ("scripts")
 
+fet_beginchar("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")
+       draw_accentus;
+fet_endchar;
+
+fet_beginchar("accentus down", "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")
+       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")
+       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")
+       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")
+       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,18 @@ 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;
        drawdot zh;
 enddef;
 
-fet_beginchar("signum congruentiae up",
-             "usignumcongruentiae", "usignumcongruentiae")
+fet_beginchar("signum congruentiae up", "usignumcongruentiae")
        draw_signum_congruentiae;
 fet_endchar;
 
-fet_beginchar("signum congruentiae down",
-             "dsignumcongruentiae", "dsignumcongruentiae")
+fet_beginchar("signum congruentiae down", "dsignumcongruentiae")
        draw_signum_congruentiae;
        xy_mirror_char;
 fet_endchar;