% % feta-timesig.mf -- implement Time Signatures % % source file of the Feta (not an abbreviation of Font-En-Tja) music font % % (c) 1998--2004 Mats Bengtsson , % Christian Mondrup fet_begingroup ("timesig"); % % 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 staff_space#; define_pixels (hair, bulb_rad); left_fatness = 0.55; 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; penpos1 (hair, 10); penpos2 (stafflinethickness, 90); penpos3 (left_fatness * staff_space, 180); penpos4 (stafflinethickness, -90); penpos5 (hair, -13); draw_bulb (-1, z1l, z1r, 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; set_char_box (0, width#, staff_space#, staff_space#); penlabels (1, 2, 3, 4, 5); enddef; fet_beginchar ("4/4 meter", "C44") draw_C; fet_endchar; fet_beginchar ("2/2 meter", "C22") save excentricity, stemlen, thick; pair excentricity; draw_C; xpart excentricity = x2 - 1.25 stafflinethickness; ypart excentricity = 0; stemlen = 1.4 staff_space; thick = stafflinethickness / 2 + 0.025 staff_space; draw_block ((-thick, -stemlen) + excentricity, (thick, stemlen) + excentricity); fet_endchar; fet_endgroup ("timesig");