From 92ed9ab3c0b98a1f6ffe6caa812870821583a116 Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Sun, 17 Apr 2011 16:13:16 +0000 Subject: glyphs are now bundled with muse --- .../scoreglyphs/feta-original/parmesan-rests.mf | 418 +++++++++++++++++++++ 1 file changed, 418 insertions(+) create mode 100644 muse2/share/scoreglyphs/feta-original/parmesan-rests.mf (limited to 'muse2/share/scoreglyphs/feta-original/parmesan-rests.mf') diff --git a/muse2/share/scoreglyphs/feta-original/parmesan-rests.mf b/muse2/share/scoreglyphs/feta-original/parmesan-rests.mf new file mode 100644 index 00000000..060307db --- /dev/null +++ b/muse2/share/scoreglyphs/feta-original/parmesan-rests.mf @@ -0,0 +1,418 @@ +% -%-Fundamental-%- -*-Metafont-*- +% parmesan-rests.mf -- implement ancient rests +% +% source file of LilyPond's pretty-but-neat music font +% +% (c) 2001--2009 Juergen Reuter +% +% 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", "M3neomensural"); + set_char_box (0, 3 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)); + addto currentpicture also currentpicture + shifted (2 neomens_block_rest_x, 0); +fet_endchar; + + +fet_beginchar ("Neo-mensural longa rest", "M2neomensural"); + 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", "M1neomensural"); + 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", "0neomensural"); + 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", "1neomensural"); + 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", "2neomensural"); + set_char_box (0, neomensrestsize#, + 0, neomensrestsize#); + + pickup pencircle scaled 2 stafflinethickness; + + lft x1 = 0; + bot y1 = 0; + lft x2 = lft x3 = 0; + top y2 = top y3 = h; + rt x4 = w; + bot y4 = h / 2; + + z11 = z1 - stafflinethickness * unitvector (z2 - z1); + z14 = z4 + stafflinethickness * unitvector (z4 - z3); + + penpos1 (2 stafflinethickness, 0); + penpos2 (2 stafflinethickness, 0); + penpos3 (2 stafflinethickness, angle (z4 - z3) - 90); + penpos4 (2 stafflinethickness, angle (z4 - z3) - 90); + + fill z1l + -- z2l + -- z2r + -- z1r + .. z11 + .. z1l + .. cycle; + fill z3l + -- z4l + .. z14 + .. z4r + -- z3r + .. z2l{up} + .. z3l + .. cycle; + + penlabels (1, 2, 3, 4); + labels (11, 14); +fet_endchar; + + +fet_beginchar ("Neo-mensural 8th rest", "3neomensural"); + set_char_box (0, neomensrestsize#, + 0, neomensrestsize#); + + pickup pencircle scaled 2 stafflinethickness; + + rt x1 = w; + bot y1 = 0; + rt x2 = rt x3 = w; + top y2 = top y3 = h; + lft x4 = 0; + bot y4 = h / 2; + + z11 = z1 - stafflinethickness * unitvector (z2 - z1); + z14 = z4 + stafflinethickness * unitvector (z4 - z3); + + penpos1 (2 stafflinethickness, 0); + penpos2 (2 stafflinethickness, 0); + penpos3 (2 stafflinethickness, angle (z4 - z3) - 90); + penpos4 (2 stafflinethickness, angle (z4 - z3) - 90); + + fill z1l + -- z2l + -- z2r + -- z1r + .. z11 + .. z1l + .. cycle; + fill z3l + -- z4l + .. z14 + .. z4r + -- z3r + .. z2r{down} + .. z3l + .. cycle; + + penlabels (1, 2, 3, 4); + labels (11, 14); +fet_endchar; + + +fet_beginchar ("Neo-mensural 16th rest", "4neomensural"); + 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; + + rt x3 = w; + top y3 = h; + lft x4 = 0; + bot y4 = h / 2; + rt x5 = w; + top y5 = 5/8 h; + lft x6 = 0; + bot y6 = h / 8; + + z11 = z1 - stafflinethickness * unitvector (z2 - z1); + z14 = z4 + stafflinethickness * unitvector (z4 - z3); + z16 = z6 + stafflinethickness * unitvector (z6 - z5); + + penpos1 (2 stafflinethickness, 0); + penpos2 (2 stafflinethickness, 0); + penpos3 (2 stafflinethickness, angle (z4 - z3) - 90); + penpos4 (2 stafflinethickness, angle (z4 - z3) - 90); + penpos5 (2 stafflinethickness, angle (z6 - z5) - 90); + penpos6 (2 stafflinethickness, angle (z6 - z5) - 90); + + fill z1l + -- z2l + -- z2r + -- z1r + .. z11 + .. z1l + .. cycle; + fill z3l + -- z4l + .. z14 + .. z4r + -- z3r + .. z2r{down} + .. z3l + .. cycle; + fill z5l + -- z6l + .. z16 + .. z6r + -- z5r + -- z5l + -- cycle; + + penlabels (1, 2, 3, 4, 5, 6); + labels (11, 14, 16); +fet_endchar; + + +%%%%%%%% +% +% +% +% MENSURAL NOTATION +% +% +% + +pen_width# = 0.3 staff_space#; +pen_height# = 0; +pen_rotation = 30; +slight_pen_rotation = 15; + +mens_block_rest_y# = 1/1 staff_space#; +mens_half_block_rest_y# = 5/8 staff_space#; + +define_pixels (mens_block_rest_y, mens_half_block_rest_y, + pen_width, pen_height); + + +fet_beginchar ("Mensural maxima rest", "M3mensural"); + set_char_box (0, pen_width#, + mens_block_rest_y#, 2 mens_block_rest_y#); + + pickup pencircle xscaled pen_width + yscaled pen_height + rotated slight_pen_rotation; + + draw (w / 2, -mens_block_rest_y) + -- (w / 2, 2 mens_block_rest_y); +fet_endchar; + + +fet_beginchar ("Mensural longa rest", "M2mensural"); + set_char_box (0, pen_width#, + mens_block_rest_y#, mens_block_rest_y#); + + pickup pencircle xscaled pen_width + yscaled pen_height + rotated slight_pen_rotation; + + draw (w / 2, -mens_block_rest_y) + -- (w / 2, mens_block_rest_y); +fet_endchar; + + +fet_beginchar ("Mensural breve rest", "M1mensural"); + set_char_box (0, pen_width#, + 0, mens_block_rest_y#); + + pickup pencircle xscaled pen_width + yscaled pen_height + rotated slight_pen_rotation; + + draw (w / 2, 0) + -- (w / 2, mens_block_rest_y); +fet_endchar; + + +fet_beginchar ("Mensural whole rest", "0mensural"); + set_char_box (0, pen_width#, + mens_half_block_rest_y#, 0); + + pickup pencircle xscaled pen_width + yscaled pen_height + rotated slight_pen_rotation; + + draw (w / 2, 0) + -- (w / 2, -mens_half_block_rest_y); +fet_endchar; + + +fet_beginchar ("Mensural half rest", "1mensural"); + set_char_box (0, pen_width#, + 0, mens_half_block_rest_y#); + + pickup pencircle xscaled pen_width + yscaled pen_height + rotated slight_pen_rotation; + + draw (w / 2, 0) + -- (w / 2, mens_half_block_rest_y); +fet_endchar; + + +mensrestsize# = .8 staff_space#; + + +fet_beginchar ("Mensural 4th rest", "2mensural"); + set_char_box (0, mensrestsize#, + 0, mensrestsize#); + + pickup pencircle xscaled pen_width + yscaled pen_height + rotated pen_rotation; + + lft x1 = 0; + y1 = 0; + lft x2 = 0; + top y2 = 5/8 h; + rt x3 = 1/5 w; + bot y3 = 6/8 h; + rt x4 = w; + bot y4 = 4/8 h; + + draw z1 + -- z2 + -- z3 + -- z4; + + labels (1, 2, 3, 4); +fet_endchar; + +% +% FIXME: The left sharp corner produces ugly results at lower resolutions. +% +fet_beginchar ("Mensural 8th rest", "3mensural"); + set_char_box (0, mensrestsize#, + 0, mensrestsize#); + + pickup pencircle xscaled pen_width + yscaled pen_height + rotated pen_rotation; + + rt x1 = w; + y1 = 0; + rt x2 = w; + top y2 = 5/8 h; + lft x3 = 1/5 w; + bot y3 = 6/8 h; + lft x4 = 0; + bot y4 = 4/8 h; + + draw z1 + -- z2 + -- z3 + -- z4; + + labels (1, 2, 3, 4); +fet_endchar; + +% +% FIXME: So far, I have never seen a semifusa rest printed. Hence, +% the shape of this font character is currently pure invention. --jr +% +% +% FIXME: The left sharp corner produces ugly results at lower resolutions. +% +fet_beginchar ("Mensural 16th rest", "4mensural"); + set_char_box (0, mensrestsize#, + 0, staff_space#); + + pickup pencircle xscaled pen_width + yscaled pen_height + rotated pen_rotation; + + rt x1 = w; + y1 = 0; + rt x2 = w; + top y2 = 5.5/8 h; + lft x3 = 1/5 w; + bot y3 = 6.5/8 h; + lft x4 = 0; + bot y4 = 4.5/8 h; + rt x5 = w; + top y5 = 2.5/8 h; + lft x6 = 1/5 w; + bot y6 = 3.5/8 h; + lft x7 = 0; + bot y7 = 1.5/8 h; + + draw z1 + -- z2 + -- z3 + -- z4; + draw z5 + -- z6 + -- z7; + + labels (1, 2, 3, 4, 5, 6, 7); +fet_endchar; + + +fet_endgroup ("rests") -- cgit v1.2.3