%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-%
+% (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>,
+% Jan Nieuwenhuizen <jan@digicash.com>
fet_begingroup("klef");
-
def draw_staff(expr first, last)=
pickup pencircle scaled stafflinethickness;
for i:= first step 1 until last:
draw (- interline, i* interline) .. (4 interline, i* interline);
endfor
+ enddef;
+
+def draw_c_clef (expr reduction) =
+ save hair, norm, reduced_il;
+ reduced_il#=interline#*reduction;
+ norm#:=2/3reduced_il#;
+ hair#:=1/6norm#;
+ define_pixels (hair,norm,reduced_il);
+ set_char_box (0, 11/4interline#, 2 reduced_il#, 2 reduced_il#);
+ % huh, what's y-zero?
+ draw_block ((0,-d), (1/2reduced_il,h));
+ draw_block ((1/2reduced_il+stafflinethickness,-d),
+ (1/2reduced_il+2stafflinethickness,h));
+
+ save xoff;
+ xoff=1/2reduced_il+2hair;
+ penpos1(hair,-90);
+ z1l=(xoff+norm+hair/2,h);
+ penpos2(norm-hair,180);
+ z2l=(w,h/2);
+ penpos3(hair,90);
+ z3=(((w-xoff)/2)+xoff,2hair);
+ penpos4(hair,90);
+ z4=(xoff+hair+1/2norm+hair,y3);
+
+ penpos6(hair,-90);
+ z6r=(xoff+norm+hair,-d);
+
+ save t; t=0.833;
+ save p; path p;
+ p = z4r{right}..z3r{right}..tension t..z2r{up}
+ ..z1r{left}..z1l{right}..z2l{down}
+ ..z3l{left}..z4l{left};
+ pickup pencircle scaled 1pt#;
+ % boehoe, howto?
+% draw p..(p yscaled -1)..cycle;
+ fill p..cycle;
+ fill (p yscaled -1)..cycle;
+ penlabels (1,2,3,4);
+
+ % ugh, should be bulb, not flare
+ draw_flare(z1l,180,90,hair,norm);
+ draw_flare(z6r,180,-90,hair,norm+hair);
+ enddef;
+
+fet_beginchar ("C clef", "ugh_alto", "ugh_altoclef")
+ if test = 1:
+ draw_staff (-1,3);
+ fi;
+ draw_c_clef (1.0);
+fet_endchar;
- enddef;
-
-
+fet_beginchar ("C clef", "ugh_alto_change", "ugh_caltoclef")
+ draw_c_clef (.8);
+fet_endchar;
%
% Inspired by Baerenreiter and Breitkopf