+% -*- Fundamental -*- (emacs-20 mf mode mucks
% feta-pendaal.mf -- piano pedal markings
%
% part of LilyPond's pretty-but-neat music font
%
% source file of the Feta (not the Font-En-Tja) music font
%
-% (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 2000--2003 Jan Nieuwenhuizen <janneke@gnu.org>
%
% Voor Cup
endgroup;
enddef;
-fet_beginchar("Pedal asterisk", "*", "pedal-asterisk")
+fet_beginchar("Pedal asterisk", "*", "pedalasterisk")
set_char_box(0, 7/9pedalh#, 0, pedalh#);
z0 = (1/2w, h - 1/2w);
for i = 0 upto 7:
% code := 44; % - = 45
-fet_beginchar("Pedal dash", "-", "pedal-dash")
+fet_beginchar("Pedal dash", "-", "pedaldash")
set_char_box(0, 3penw#, 0, pedalbh#);
pickup pencircle scaled penh;
penstroke z1e{dir 40}..tension 1.2 ..z2e{dir 40};
fet_endchar;
-fet_beginchar("Pedal dot", ".", "pedal-dot")
+fet_beginchar("Pedal dot", ".", "pedaldot")
set_char_box(0, penw#, 0, penw#);
pickup pencircle scaled penw;
draw (1/2penw,1/2penw);
fet_endchar;
-% code := 79; % P = 80
-
-fet_beginchar("Pedal P", "P", "pedal-P")
- set_char_box(0, 5/6pedalh#, 0, pedalh#);
+def draw_pedal_P =
+ begingroup;
+ clearxy;
pickup pencircle scaled penh;
penpos 1 (penh, 0);
y11 = 1/5h;
penlabels (1,2,3,4,5,6,7,8,9,10,11);
- penstroke z1e..tension 2.5 .. z2e.. tension 1.5 .. z3e ..tension 2.5
+ soft_penstroke z1e..tension 2.5 .. z2e.. tension 1.5 .. z3e ..tension 2.5
..z4e..tension 1.5
..z5e..z6e..tension 1.5
..z7e..tension 1.5
y16r = y2r;
penlabels (12,13,14,15,16);
- penstroke z12e{down}..tension 1.1
+ soft_penstroke z12e{down}..tension 1.1
..z13e{dir (180-pedbeta)}..tension 1.1
..z14e{right}..tension 1.1
..z15e{dir (180+pedbeta)}..tension 1.1
..z16e{dir (90+pedbeta)};
-fet_endchar;
-
-
-% code := 99; % d = 100
-
-if 0 = 1:
-
-fet_beginchar("Pedal d", "d", "pedal-d")
- set_char_box(2/9pedalh#, 4/9pedalh#, 0, 7/8pedalh#);
- pickup pencircle scaled penh;
-
- penpos 1 (penh, -70);
- penpos 2 (3/4penw, 0);
- penpos 3 (2penh, 90);
- penpos 4 (penw, 190);
- penpos 5 (penh, -10-90);
-
- z1l = (1/2w, pedalbh);
- z2l = (0, 1/2pedalbh);
- z3l = (1/2w, 0);
- z4 = (w - 1/2penw, 1/2pedalbh + penh);
- x5r = -b;
- y5l = h;
-
- penlabels (1,2,3,4,5);
-
- penstroke z1e{dir (-70-90)}..tension 1.1
- ..z2e{down}..tension 1.1
- ..z3e{right}..tension 1.1
- ..z4e{dir (90+10)}..tension 1.1
- ..z5e{dir (180-10)};
-fet_endchar;
+ endgroup;
+ enddef;
-else:
-fet_beginchar("Pedal d", "d", "pedal-d")
- set_char_box(0, 2/3pedalh#, 0, 7/8pedalh#);
+def draw_pedal_d =
+ begingroup;
+ clearxy;
pickup pencircle scaled penh;
penpos 1 (penh, -70);
penlabels (1,2,3,4,5);
- penstroke z1e{dir (-70-90)}..tension 1.1
+ soft_penstroke z1e{dir (-70-90)}..tension 1.1
..z2e{down}..tension 1.1
..z3e{right}..tension 1.1
..z4e{dir (90+10)}..tension 1.1
..z5e{dir (180-10)};
-fet_endchar;
-
-fi
+ endgroup;
+ enddef;
-fet_beginchar("Pedal e", "e", "pedal-e")
- set_char_box(0, 2/5pedalh#, 0, pedalbh#);
+def draw_pedal_e =
+ begingroup;
+ clearxy;
pickup pencircle scaled penh;
penpos 1 (penh, pedalpha-90);
y8 = 1/5pedalh;
penlabels (1,2,3,4,5,6,7,8);
- penstroke z1e{dir pedalpha}
+ soft_penstroke z1e{dir pedalpha}
..z2e{dir pedalpha}.. tension 1.1
%urg
..z3e..tension 1.05
..z6e{dir -pedalpha}..tension 1.1
..z7e.. tension 2.5
..z8e;
+ endgroup;
+ enddef;
+
+
+% code := 79; % P = 80
+
+fet_beginchar("Pedal P", "P", "pedalP")
+ set_char_box(0, 5/6pedalh#, 0, pedalh#);
+ draw_pedal_P;
+fet_endchar;
+
+% code := 99; % d = 100
+
+fet_beginchar("Pedal d", "d", "pedald")
+ set_char_box(0, 2/3pedalh#, 0, 7/8pedalh#);
+ draw_pedal_d;
fet_endchar;
+fet_beginchar("Pedal e", "e", "pedale")
+ set_char_box(0, 2/5pedalh#, 0, pedalbh#);
+ draw_pedal_e;
+fet_endchar;
+
+%
+% Han-Wen insists on having a `Ped' symbol, ready-kerned in mf.
+% The pre 1.3.59 user-scm kerning sucks, but I'm not struck by
+% the looks of this either.
+%
+fet_beginchar("Pedal Ped", "Ped", "pedalPed")
+ P_width# = 5/6pedalh#;
+ e_width# = 2/5pedalh#;
+ d_width# = 2/3pedalh#;
+ define_pixels (P_width, e_width, d_width);
+
+ e_height# = pedalbh#;
+ d_height# = 7/8pedalh#;
+ define_pixels (e_height, d_height);
+
+ % Pe = -0.034 pedalh == -0.07 staff-space
+ % ed = -0.27 pedalh == -0.53 staff-space
+ Pe_kern# = -0.034 pedalh#;
+ ed_kern# = -0.27 pedalh#;
+ define_pixels (Pe_kern, ed_kern);
+
+ w := d_width;
+ h := d_height;
+ draw_pedal_d;
+ currentpicture := currentpicture shifted (e_width + ed_kern, 0);
+ w := e_width;
+ h := e_height;
+ draw_pedal_e;
+ currentpicture := currentpicture shifted (P_width + Pe_kern, 0);
+ w := P_width;
+ h := pedalh;
+ draw_pedal_P;
+ set_char_box(0, P_width# + Pe_kern# + e_width# + ed_kern# + d_width#,
+ 0, pedalh#);
+fet_endchar;
+
+
fet_endgroup("pedal")