X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2Ffeta-timesig.mf;h=216166755baa28baafe3f73fbb10f9ff7b667fa5;hb=317e73ce7c33e89312d32b609cacb1f71ccb394f;hp=7cddd3215d33bdcce5330da3469f96e92342d125;hpb=1e7180500336cb41a34525d5f363e3828e7c51a5;p=lilypond.git diff --git a/mf/feta-timesig.mf b/mf/feta-timesig.mf index 7cddd3215d..216166755b 100644 --- a/mf/feta-timesig.mf +++ b/mf/feta-timesig.mf @@ -3,120 +3,99 @@ % % source file of the Feta (not an abbreviation of Font-En-Tja) music font % -% (c) 1998 Mats Bengtsson +% (c) 1998--2004 Mats Bengtsson , +% Christian Mondrup fet_begingroup("timesig"); -def set_C_width = - save left_width, right_width; - left_width# := .8 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; + 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# := interline# / 3; + bulb_rad# := 0.4 staff_space#; define_pixels(hair, bulb_rad); - - x1r = x5; - y1r = .4 interline; - z2 = (0, interline); - z3r = (-left_width, 0); - z4 = (0, -interline); - z5r = (right_width, -2 stafflinethickness); + left_fatness = 0.55; - 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(4 stafflinethickness, 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; - draw_block((-1.5stafflinethickness, -d), (0, h)); -fet_endchar; - -path threequartercircle; -threequartercircle = halfcircle & quartercircle rotated 180; + save excentricity; + pair excentricity; -save Cdiameter,Cthickness; -Cdiameter# := 3/2 interline#; -Cthickness# := 2 stafflinethickness#; -define_pixels(Cdiameter,Cthickness); - -%% 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; + xpart excentricity = x2 -1.25 stafflinethickness; + ypart excentricity = 0; -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; + save stemlen ; + stemlen = 1.4 staff_space; + save thick; + thick = stafflinethickness / 2 + 0.025 staff_space; -%% 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; + draw_block((- thick, - stemlen) + excentricity, (thick , stemlen) + excentricity); 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 interline#, .5 Cdiameter#+ .5 interline#); - - pickup pencircle scaled Cthickness; - draw threequartercircle rotated 45 scaled Cdiameter - shifted (0,.5 interline); - pickup pencircle scaled 3 stafflinethickness; - draw (0,.5 interline); -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 interline#, .5 Cdiameter#+ .5 interline#); - - pickup pencircle scaled Cthickness; - draw fullcircle scaled Cdiameter shifted (0,.5 interline); - pickup pencircle scaled 3 stafflinethickness; - draw (0,.5 interline); -fet_endchar; - - fet_endgroup("timesig");