X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2Ffeta-timesig.mf;h=28bf31a86ffda879b264b694d2ac5b82289ac992;hb=a818c18843226fb5ca43975ee9722aead3bce20e;hp=afe2d28c10e2b84243f3560967fdae5ee677fcc6;hpb=59eed8645ca5c012345e9343eaf80cba65e7efb0;p=lilypond.git diff --git a/mf/feta-timesig.mf b/mf/feta-timesig.mf index afe2d28c10..28bf31a86f 100644 --- a/mf/feta-timesig.mf +++ b/mf/feta-timesig.mf @@ -3,160 +3,98 @@ % % source file of the Feta (not an abbreviation of Font-En-Tja) music font % -% (c) 1998 Mats Bengtsson +% (c) 1998--2003 Mats Bengtsson , +% Christian Mondrup fet_begingroup("timesig"); -def set_C_width = - save left_width, right_width; - left_width# := 0.9 interline#; - right_width# := .7 interline#; - define_pixels(left_width,right_width); -enddef; + +% +% originally by Mats B. nuked by Han-Wen, inspired by +% Baerenreiter BA320 (Bach Cello Suites, Suite III) +% +% Notes: +% +% * the inside curve of the C is rather straight. +% * the outside curve of the C is rather round. +% * right tips of the C point slightly outward +% * lower tip protudes to the right very slightly. +% + def draw_C = save hair, bulb_rad, left_fatness; + save left_width, right_width; + save width; + + width# := 1.8 staff_space#- stafflinethickness#; + define_pixels (width); + left_width# := 1.0 staff_space#; + right_width# := 0.8 staff_space#; + define_pixels(left_width,right_width); hair# := stafflinethickness#; - bulb_rad# := 0.4 interline#; + bulb_rad# := 0.4 staff_space#; define_pixels(hair, bulb_rad); left_fatness = 0.55; - x1r = x5r; - y1r = .45 interline; - z2 = (0, interline); - z3r = (-left_width, 0); - z4 = (0, -interline); - z5r = (right_width - stafflinethickness, -0.4 interline); - - penpos1(hair, 0); + x1r - x3r = width; + x3r = 0.0; + y1r = .45 staff_space; + y2 = -y4 = staff_space; + x2 = x4; + x2 = x3r + staff_space; + y3r = 0; + + x5r = x1r + 0.3 stafflinethickness; + y5r = -0.37 staff_space; + z6l = z1l; + + penpos1(hair, 10); penpos2(stafflinethickness, 90); - penpos3(left_fatness * interline, 180); + penpos3(left_fatness * staff_space, 180); penpos4(stafflinethickness, -90); - penpos5(hair, -5); + penpos5(hair, -13); + penpos6(hair, 10); - draw_bulb(-1, z1l, z1r, bulb_rad, .8); - - fill z1l{up} .. z2l{left} .. z3l{down} .. z4l{right} .. - simple_serif(z5l, z5r, -90) .. - z4r{left} .. z3r{up} .. z2r{right} .. z1r -- cycle; + draw_bulb(-1, z6l, z6r, bulb_rad, .8); + + save s ; + s := 0.735; + fill z1l{dir (100)} + .. z2l{left} + .. tension 0.8 + .. z3l{down} .. tension 0.8 .. z4l{right} .. + simple_serif(z5l, z5r, -90) .. + z4r{left} + .. super_curvelet (z4r,z3r,s,-1) + .. z3r{up} + .. super_curvelet (z3r,z2r,s, 1) + .. z2r{right} .. {dir (-80)}z1r -- cycle; -% labels(1,2,3,4,5); - penlabels(1,2,3,4,5); + set_char_box(0, width#, staff_space#, staff_space#); + + penlabels(1,2,3,4,5,6); enddef; fet_beginchar ("4/4 meter", "C4/4", "fourfourmeter") - set_C_width; - set_char_box(left_width# + interline#, right_width# + interline#, - interline#, interline#); - draw_C; fet_endchar; fet_beginchar ("2/2 meter", "C2/2", "allabreve") - set_C_width; - set_char_box(left_width# + interline#, right_width# + interline#, - 1.4 interline#, 1.4 interline#); - + draw_C; save excentricity; pair excentricity; - excentricity = (-1.25 stafflinethickness, 0); - draw_block((- .75 stafflinethickness, -d) + excentricity, (.75 stafflinethickness , h) + excentricity); -fet_endchar; - -path threequartercircle; -threequartercircle = halfcircle & quartercircle rotated 180; - -save Cdiameter,Cthickness; -Cdiameter# := 3/2 interline#; -Cthickness# := 2 stafflinethickness#; -define_pixels(Cdiameter,Cthickness); + xpart excentricity = x2 -1.25 stafflinethickness; + ypart excentricity = 0; -%% tempus imperfectum cum prolatione imperfecta -fet_beginchar ("Mensural 4/4 meter", "old4/4", "oldfourfourmeter") - set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, - .5 Cdiameter#, .5 Cdiameter#); - - pickup pencircle scaled Cthickness; - draw threequartercircle rotated 45 scaled Cdiameter; -fet_endchar; + save stemlen ; + stemlen = 1.4 staff_space; -%% tempus imperfectum cum prolatione imperfecta proportio dupla -fet_beginchar ("Mensural 2/2 meter", "old2/2", "oldallabreve") - set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, - interline#, interline#); - - pickup pencircle scaled Cthickness; - draw threequartercircle rotated 45 scaled Cdiameter; - draw_block((-Cthickness, -d), (0, h)); -fet_endchar; - -%% tempus perfectum cum prolatione imperfecta -fet_beginchar ("Mensural 3/2 meter", "old3/2", "oldthreetwometer") - set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, - .5 Cdiameter#, .5 Cdiameter#); - - pickup pencircle scaled Cthickness; - draw fullcircle scaled Cdiameter; -fet_endchar; - -%% tempus imperfectum cum prolatione perfecta -fet_beginchar ("Mensural 6/4 meter", "old6/4", "oldsixfourmeter") - set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, - .5 Cdiameter#, .5 Cdiameter#); - - pickup pencircle scaled Cthickness; - draw threequartercircle rotated 45 scaled Cdiameter; - pickup pencircle scaled 4 stafflinethickness; - draw (0,0); -fet_endchar; - -%% tempus perfectum cum prolatione perfecta -fet_beginchar ("Mensural 9/4 meter", "old9/4", "oldninefourmeter") - set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, - .5 Cdiameter#, .5 Cdiameter#); - - pickup pencircle scaled Cthickness; - draw fullcircle scaled Cdiameter; - pickup pencircle scaled 4 stafflinethickness; - draw (0,0); -fet_endchar; - -%% tempus perfectum cum prolatione imperfecta proportio dupla -fet_beginchar ("Mensural 3/4 meter", "old3/4", "oldthreefourmeter") - set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, - interline#, interline#); - - pickup pencircle scaled Cthickness; - draw fullcircle scaled Cdiameter; - draw_block((-Cthickness/2, -d), (Cthickness/2, h)); -fet_endchar; - -%% tempus imperfectum cum prolatione perfecta proportio dupla -fet_beginchar ("Mensural 6/8 meter", "old6/8", "oldsixeightmeter") - set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, - interline#, interline#); - - pickup pencircle scaled Cthickness; - draw threequartercircle rotated 45 scaled Cdiameter; - pickup pencircle scaled 4 stafflinethickness; - draw (0,0); - draw_block((-Cthickness/2, -d), (Cthickness/2, h)); -fet_endchar; - -%% tempus perfectum cum prolatione perfecta proportio dupla -fet_beginchar ("Mensural 9/8 meter", "old9/8", "oldnineeight") - set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, - interline#, interline#); - - pickup pencircle scaled Cthickness; - draw fullcircle scaled Cdiameter; - pickup pencircle scaled 4 stafflinethickness; - draw (0,0); - draw_block((-Cthickness/2, -d), (Cthickness/2, h)); + draw_block((- .75 stafflinethickness, - stemlen) + excentricity, (.75 stafflinethickness , stemlen) + excentricity); fet_endchar; fet_endgroup("timesig");