%
% source file of the Feta (not the Font-En-Tja) music font
%
-% (c) 1997--2005 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
height# := number_design_size;
%
save b, h;
-4h + b = 1.15;
-10h + b = 1;
+4 h + b = 1.15;
+10 h + b = 1;
fatten := number_design_size * h + b;
save b, h;
-4h + b = 1.05;
-10h + b = 1;
+4 h + b = 1.05;
+10 h + b = 1;
widen := number_design_size * h + b;
tense = 0.85;
%
%
% move_away_to = amount left (for 2)
-% turn_to = amount down (for 2 )
+% turn_to = amount down (for 2)
%
def number_flare_path (expr pos, alpha, beta, line, flare,
z3r = 0.5 [z2l, z2r] + 0.5 * flare * dir (alpha + beta);
penpos1 (line, 180 + beta + alpha);
- penpos2 (flare, alpha );
- penpos3 (flare, alpha + beta);
+ penpos2 (flare, alpha);
+ penpos3 (flare, alpha + beta);
penlabels (1, 2, 3, 4, 5);
% should make generic macro?
%
-def draw_foot(expr xpos) =
+def draw_foot (expr xpos) =
begingroup;
clearxy;
define_pixels (dot_diam);
-code := 31; % , 32
-
-fet_beginchar ("Space", "space");
- set_char_box (0, space#, 0, height#);
-fet_endchar;
-
-
code := 42; % , 43
fet_beginchar ("Plus", "plus");
centerx := hround (w / 2);
centery := vround ((h - d) / 2);
- z1 = (centerx - hthick/2, -d);
- z2 = (centerx + hthick/2, h);
+ z1 = (centerx - hthick / 2, -d);
+ z2 = (centerx + hthick / 2, h);
labels (1, 2);
draw_rounded_block (z1, z2, hthick);
- draw_rounded_block ((0, centery - vthick/2),
- (w, (centery + vthick/2)),
+ draw_rounded_block ((0, centery - vthick / 2),
+ (w, (centery + vthick / 2)),
vthick);
fet_endchar;
fill subpath (0,3) of pat
.. z0
.. cycle;
- filldraw z1l{dir(alpha)}
+ filldraw z1l{dir (alpha)}
.. {up}z2
-- z0{direction pos of pat}
..tension 0.95.. {dir (180 + alpha)}z1r
code := 47; % 0 = 48
-fet_beginchar("Numeral 0", "zero");
+fet_beginchar ("Numeral 0", "zero");
set_char_box (0, 11/15 height# * widen, 0, height#);
message "w:" & decimal w;
save tolerance;
save alpha, beta, gamma, delta;
save bow;
+ save x_overshoot;
+
path bow;
- set_char_box (0, 11/15 height# * widen, 0, height#);
+ set_char_box (0, 11/15 height# * widen - thin#, 0, height#);
+ overshoot_x = .75 thin;
message "w:" & decimal w;
message "h:" & decimal h;
alpha = -180;
-if true:
penpos1 (3/2 thick, 180 + alpha);
penpos2 (hair, 180 + alpha - 45);
penpos3 (hair, 180 + alpha + 45);
z2 = z1l + (1/4 sqrt (2) * hair) * dir (alpha - 135);
z3 = z1r + (1/4 sqrt (2) * hair) * dir (alpha - 45);
z4 = z1 + kuulleke * dir (alpha - 90);
-else:
- % does not work
- calc_kuulleke (3/2 thick, -alpha);
-fi;
z1l = (thin, 0);
beta = 55;
penpos5 (thin, 90 + beta);
- z5 = (w, h) + (1/2 sqrt (2) * thin) * dir (-135);
+ z5 = (w, h) + (1/2 sqrt (2) * thin) * dir (-135) + (overshoot_x, 0);
gamma = angle (length (z1r - z1), 2 kuulleke);
delta = 12;