% source file of the Feta (defintively not an abbreviation for Font-En-Tja)
% music font
%
-% (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
% Jan Nieuwenhuizen <janneke@gnu.org>
%
pickup pencircle scaled dot_size;
- x1 - 2x6 = x2;
+ x1 - 2 x6 = x2;
bot y6 = -d;
drawdot z6;
fet_endchar;
-%
-% FIXME: rounded endings
%
% `\accent' is TeX reserved.
%
def draw_accent (expr bottom_left, top_right, thickness, diminish) =
+ save thinning_start;
+ thinning_start = 0.4;
pickup pencircle scaled thickness;
lft x1 = xpart bottom_left;
bot y6 = ypart bottom_left;
rt z4 = (xpart top_right, (ypart top_right + ypart bottom_left) / 2);
- x5 = x3 = (xpart top_right + xpart bottom_left) / 2
+ x5 = x3 = thinning_start [xpart top_right, xpart bottom_left]
- linethickness + 0.1 staff_space;
z3 = whatever [z1, z4];
z5 = whatever [z6, z4];
.5 staff_space#, .5 staff_space#);
draw_accent ((-w, -d), (w, h),
- 0.05 staff_space + linethickness, 0.6);
+ 0.05 staff_space + linethickness, 0.7);
penlabels (1, 3, 4, 5, 6);
labels (7);
fet_endchar;
.. z4r{down}
.. z3r{left}
..tension (1.5 + .7 slant).. z2r{up}
- .. z1r
-- cycle;
z5' = point 1.1 of krul_p;
z6''' = point 2.9 of krul_p;
penpos6''' (hair_thick, angle (direction 2.9 of krul_p) + 90);
penpos7 (hair_thick, up_angle + 90);
- z7' = point 3.3 of krul_p;
- penpos7' (hair_thick, angle (direction 3.3 of krul_p) + 90);
+ z7' = point 3.2 of krul_p;
+ penpos7' (hair_thick, angle (direction 3.2 of krul_p) + 90);
% the left loop
penstroke z5'e{direction 1.1 of krul_p}
penpos11 (hair_thick, -4);
z11r = z9r;
- z13l = (x9l + r_width, y11 - linethickness);
+ z13l = (x9l + r_width, y11 - linethickness);
penpos13 (r_flare, 180);
z15 = z13r - (bulb_size * r_fatness, 0);
-- z7'r;
(u, v) = before intersectiontimes after;
+ save before_bulb, after_bulb;
+ path before_bulb, after_bulb;
+ before_bulb := z9r{up}
+ ..tension 0.94.. z13r{down};
+ after_bulb := z13l{up}
+ ..tension 1.06.. z15{down};
+ (u_bulb, v_bulb) = before_bulb intersectiontimes after_bulb;
+
% the connection between `t' and `r', the body of the `r',
- % and part of the bulb
- fill z7'l{z7 - z7'}
- -- z7l
+ % and the bulb
+ fill z7'l
+ -- z7l{z7 - z7'}
.. z9l{down}
-- simple_serif (z10l, z10r, -30)
-- z9r{up}
- ..tension 0.94.. z13r{down}
- -- z15{down}
+ .. subpath (0, u_bulb) of before_bulb
+ .. subpath (v_bulb, infinity) of after_bulb
+ .. z14
.. z13l{up}
.. subpath (0, u) of before
.. subpath (v, infinity) of after
-- cycle;
- % the rest of the bulb
- fill z15{up}
- ..tension 1.06.. z13l{down}
- .. z14
- .. cycle;
-
penlabels (range 1 thru 15);
penlabels (4', 5', 5'', 5''', 6', 6'', 6''', 7');
fet_endchar;
set_char_box (codawidth# + thick#, codawidth# + thick#,
codaheight# + thick#, codaheight# + thick#);
- x1 = -codawidth;
+ x1 = -codawidth + .5 thick;
y1 = y2 - thin;
- x2 = codawidth;
+ x2 = codawidth - .5 thick;
y2 = codaheight;
draw_block (z1, z2);
- x3 = x1;
+ x3 = -codawidth;
y3 = -codaheight;
- x4 = x1 + thick;
+ x4 = x3 + thick;
y4 = y2;
draw_block (z3, z4);
save alpha;
save ne, nw, se, sw;
save x, y;
- pair ne,nw,se,sw;
+ pair ne, nw, se, sw;
alpha := -40;