+
+code := 111;
+
+save serif_thick;
+serif_thick# = 1.1 stafflinethickness#;
+define_blacker_pixels (serif_thick);
+med_thick = round (1.5 stafflinethickness);
+
+
+
+% forte f, grabbed from Ed Breitkopf Mozart horn concerto 3.
+%
+% NOTES:
+%
+% * the bulbs are open.
+%
+% * blotting around the serif
+%
+%
+%
+% TODO: insert blots around the serif
+%
+%
+%
+slant_angle = 20;
+
+
+code := 101;
+fet_beginchar("dynamic f", "f", "dynf");
+ set_char_box (0, 1.25 ex#, descender#, ex# + ascender#);
+
+ save left_angle, right_angle;
+ save serif_length, serif_excentricity;
+ save f_thick;
+ save bulb_thick, bulb_diam, fill_up;
+ save p;
+ path p;
+ bulb_diam = 7.5 / 40 ex;
+ bulb_thick = 8.5/40 ex;
+ fill_up = 1.5 serif_thick;
+ save slant;
+ left_angle = slant_angle - 6;
+ right_angle = slant_angle - 3;
+ f_thick = 7/16 ex;
+ serif_length = 0.96 ex;
+ serif_excentricity = 0.01 ex;
+
+ z1 = (0.375 ex, - serif_thick);
+ y2 = y1 + ex;
+ z2l = z1 + whatever*dir (90 - left_angle);
+ penpos2 (f_thick, 0);
+
+ y3l = y1 + ex + ascender;
+ x3l = x1 + 1 ex;
+ penpos3 (med_thick, -90);
+ penpos4 (bulb_thick, -20);
+ z3r = whatever [z4r,z4l];
+
+ x4l - x3l = 1/10 ex;
+
+ penpos5(bulb_thick, -45);
+ x5r = 0.1 [x4l, x4r];
+ y5l = y4l - bulb_diam;
+
+ z6 = z2r + whatever* dir (90 - right_angle);
+ y6 = y1 + 3/8 ex;
+
+ x7 = x1 - 1/4 ex;
+ y7r = y1 -descender;
+ penpos7(med_thick, -90);
+
+ penpos8 (bulb_thick, 160);
+ x8l = x7l - 1/10 ex;
+ z7l = whatever [z8r,z8l];
+
+ penpos9 (bulb_thick, 135);
+ x9r = 0.1 [x8l, x8r];
+ y9l = y8l + bulb_diam;
+ labels(1,6,9);
+ penlabels(2, 3,4,5, 7, 8,9);
+
+ p := z1 --- z2l
+ .. tension 1.1
+ .. z3l{right} .. z4r{down}
+ .. z5r{left} .. z5l{up}
+ .. tension 0.8
+ .. z4l{up} .. z3r{left}
+ .. tension 1.1
+ .. z2r --- z6 .. tension 1.25 .. z7r{left}
+ .. z8r{up} .. z9r{right} .. z9l{down} .. tension 0.8
+ .. z8l{down} .. z7l{right} .. cycle;
+ pickup pencircle scaled 1;
+ fill p;
+% draw p;
+
+ pickup pencircle scaled 1.1 serif_thick;
+ (rt x13) - (lft x14) = serif_length;
+ y13 = y14;
+ y14 = y2;
+ 0.5 [x13, x14] = x2 + serif_excentricity;
+
+ draw z13 .. z14;
+
+ penlabels(16);
+ labels(13,14,15);
+fet_endchar;
+
+
+save slant;
+slant := ypart (dir(20));
+