% 
% feta-timesig.mf --  implement Time Signatures
% 
% source file of the Feta (not an abbreviation of Font-En-Tja) music font
% 
% (c)  1998--2003 Mats Bengtsson <matsb@s3.kth.se>,
%		 Christian Mondrup <scancm@biobase.dk>

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;
	z6l = z1l;

	penpos1(hair, 10);
	penpos2(stafflinethickness, 90);
	penpos3(left_fatness * staff_space, 180);
	penpos4(stafflinethickness, -90);
	penpos5(hair, -13);
	penpos6(hair, 10);
	
	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;
	
	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")
	draw_C;
fet_endchar;

fet_beginchar ("2/2 meter", "C2/2", "allabreve")

	draw_C;
	save excentricity;
	pair excentricity;

	xpart	excentricity = x2 -1.25 stafflinethickness;
	ypart excentricity = 0;

	save stemlen ;
	stemlen = 1.4 staff_space;

	draw_block((- .75 stafflinethickness, - stemlen) + excentricity, (.75 stafflinethickness , stemlen) + excentricity);
fet_endchar;

fet_endgroup("timesig");
