--- /dev/null
+
+
+code := 111;
+save slant;
+slant := 20;
+currenttransform := identity;
+fet_beginchar("dynamic p", "p", "dynp")
+ set_char_box (0, 13/12 ex#, descender#, 1.0 ex#);
+
+ save twiddle_thick, stem_thick, cheek_thick, serif_thick;
+ save updir, fill_up;
+ save serif, dishing_angle, p, q;
+ save cheek_medium, left_serif_protude, right_serif_protude;
+
+ pair updir;
+ path serif,q,p;
+
+ updir := dir (90 - slant );
+ twiddle_thick = 1.5 stafflinethickness;
+ cheek_medium = 1/6 ex;
+ serif_thick =1.0 stafflinethickness;
+ dishing_angle = 5;
+ fill_up := 1.5 serif_thick;
+
+ stem_thick = 2/6 ex;
+ cheek_thick = 5/16 ex;
+ cheek_width = 3/4 ex;
+ left_serif_protude = 18/60 ex;
+ right_serif_protude= 15/60 ex;
+
+ penpos1 (twiddle_thick, -slant - 5);
+ penpos2 (cheek_medium, 90 - slant );
+ penpos3 (cheek_medium, 90 - slant);
+
+ x4r - x4l = cheek_thick;
+ penpos4 (whatever, -slant);
+ penpos5 (cheek_medium, -55);
+ penpos6 (stem_thick, 0);
+
+ x6l = 0;
+ y6l = - descender + serif_thick/2;
+ x1l = x6l;
+ y1r = 0.5 ex;
+ y2r = ex;
+ z7 = whatever * updir + z6l;
+ y7 = 43/60 ex;
+
+ z2l = whatever *updir + 0.3 [z7, z1r];
+ y8 = ypart (0.9 [z7, z2l]);
+ z8 = 2/3 [z6l, z6r] + whatever * updir;
+
+
+ y3r = ex;
+ z3l = 0.58 [(stem_thick, -descender), (stem_thick + cheek_width - cheek_thick, -descender)] + whatever * updir;
+ y4r = 1/3 ex;
+ z4r = whatever*updir + (stem_thick+ cheek_width, -descender);
+
+ z5l = whatever*updir + z3l;
+ y5l = 1/12 ex;
+
+ z9 = z6r + whatever*updir;
+ y9 = y5l;
+
+ p :=
+ z2r{right} .. {dir( -60)}z8 & z8{dir 35} .. z3r{right}
+ .. tension 0.9 .. z4r{-updir} .. z5r{left} .. z9
+ & z9 -- z6r -- z6l -- z7{updir}
+ .. z2l{left} .. tension 1.2 ..
+ % z1r & z1r -- z1l & z1l
+ simple_serif (z1r, z1l, -90)
+ .. cycle;
+ pickup pencircle scaled 1;
+ fill p;
+
+ y12 = 0.5 ex;
+ z12 = z6r + whatever*updir;
+
+ save inner_tension;
+ inner_tension = 1.4;
+ q :=
+ z4l{updir} .. tension 1.1 inner_tension .. z3l{left}.. z12{-updir} .. z5l{right} .. tension inner_tension .. cycle;
+ unfill q;
+ penlabels (1, 2, 3, 4, 5, 6);
+
+
+
+
+ pickup pencircle scaled serif_thick;
+ lft x11 = -left_serif_protude;
+ rt x10 = stem_thick+ right_serif_protude;
+ bot y10 = bot y11 = -descender;
+
+
+ serif := simple_serif (z10, z11, dishing_angle);
+ draw serif;
+
+ labels(7,8, 9, 10, 11,12);
+
+
+ z13 = point 0.05 of serif;
+ z14 = point 0.85 of serif;
+ z15 = z6l + updir * fill_up +( serif_thick/2, 0);
+ z16 = z6r + updir * 1.2fill_up- +( serif_thick/2, 0);
+ labels(13,14, 15, 16);
+
+% pickup pencircle scaled 1;
+ draw z13{direction 0.05 of serif} .. z16{updir};
+ draw z14{-(direction 0.85 of serif)} .. z15{updir};
+fet_endchar;
+