]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/parmesan-rests.mf
* Documentation/user/refman.itely: Section Custodes: added more
[lilypond.git] / mf / parmesan-rests.mf
index db96bc7fcbfd8184358fb3b5d7fcb4422c994993..20ee8da7e14e9c6f4f0b6fd348cf6a5aae3504fb 100644 (file)
 % 
 % source file of LilyPond's pretty-but-neat music font
 % 
-% (c) 2001--2002 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2001--2003 Juergen Reuter <reuter@ipd.uka.de>
+% 
+% Neo-mensural rests originally by
+% Christian Mondrup and Mats Bengtsson
 % 
 
 fet_begingroup("rests")
 
 
+%%%%%%%%
+%
+%
+%
+% NEO-MENSURAL NOTATION
+%
+%
+%
+
+% Neo-mensural longa and breve are identical with default longa and breve.
+
+neomens_block_rest_x# = 2/5 staff_space#;
+neomens_block_rest_y# = 1/1 staff_space#;
+neomens_half_block_rest_y# = 5/8 staff_space#;
+
+define_pixels(neomens_block_rest_x,
+             neomens_block_rest_y, neomens_half_block_rest_y);
+
+def neomens_half_block_rest =
+       draw_block ((0,0), (neomens_block_rest_x, neomens_half_block_rest_y));
+       enddef;
+
+fet_beginchar("Neo-mensural maxima rest", "-3neo_mensural", "neomensmaximarest");
+       set_char_box(0, neomens_block_rest_x#,
+                   neomens_block_rest_y#, 2 neomens_block_rest_y#);
+       draw_block ((0,-neomens_block_rest_y),
+                  (neomens_block_rest_x, 2 neomens_block_rest_y));
+fet_endchar;
+
+fet_beginchar("Neo-mensural longa rest", "-2neo_mensural", "neomenslongarest");
+       set_char_box(0, neomens_block_rest_x#,
+                   neomens_block_rest_y#, neomens_block_rest_y#);
+       draw_block ((0,-neomens_block_rest_y),
+                  (neomens_block_rest_x, neomens_block_rest_y));
+fet_endchar;
+
+fet_beginchar("Neo-mensural breve rest", "-1neo_mensural", "neomensbreverest");
+       set_char_box(0, neomens_block_rest_x#,
+                   0, neomens_block_rest_y#);
+       draw_block ((0,0), (neomens_block_rest_x, neomens_block_rest_y));
+fet_endchar;
+
+fet_beginchar("Neo-mensural whole rest", "0neo_mensural", "neomenssemibrevisrest");
+       set_char_box(0, neomens_block_rest_x#,
+                    neomens_half_block_rest_y#,  0);
+       neomens_half_block_rest;
+       currentpicture :=
+               currentpicture shifted (0,- neomens_half_block_rest_y);
+fet_endchar;
+
+fet_beginchar("Neo-mensural half rest", "1neo_mensural", "neomensminimahalfrest");
+       set_char_box(0, neomens_block_rest_x#,
+                    0, neomens_half_block_rest_y#);
+       neomens_half_block_rest;
+fet_endchar;
+
+neomensrestsize# = 0.8 staff_space#;
+
+fet_beginchar("Neo-mensural 4th rest","2neo_mensural","neomenssemiminimarest")
+       set_char_box(0,neomensrestsize#,0,neomensrestsize#);
+        pickup pencircle scaled 2 stafflinethickness;
+       lft x1 = 0;
+       bot y1 = 0;
+       lft x2 = 0;
+       top y2 = h;
+       rt x3 = w;
+       bot y3 = h/2;
+       draw z1 .. z2;
+       draw z2 .. z3;
+fet_endchar
+
+fet_beginchar("Neo-mensural 8th rest","3neo_mensural","neomensfusarest")
+       set_char_box(0,neomensrestsize#,0,neomensrestsize#);
+        pickup pencircle scaled 2 stafflinethickness;
+       rt x1 = w;
+       bot y1 = 0;
+       rt x2 = w;
+       top y2 = h;
+       lft x3 = 0;
+       bot y3 = h/2;
+       draw z1 .. z2;
+       draw z2 .. z3;
+fet_endchar
+
+fet_beginchar("Neo-mensural 16th rest","4neo_mensural","neomenssemifusarest")
+       set_char_box(0,neomensrestsize#,0,staff_space#);
+        pickup pencircle scaled 2 stafflinethickness;
+       rt x1 = w;
+       bot y1 = 0;
+       rt x2 = w;
+       top y2 = h;
+
+       draw z1 .. z2;
+
+        pickup pencircle scaled 2 stafflinethickness;
+       rt x3 = w;
+       top y3 = h;
+       lft x4 = 0;
+       bot y4 = h/2;
+       rt x5 = w;
+       top y5 = 5/8h;
+       lft x6 = 0;
+       bot y6 = h/8;
+
+       draw z3 .. z4;
+       draw z5 .. z6;
+fet_endchar
+
+
 %%%%%%%%
 %
 %