+pl 37.jcn1
+ - feta: numerals
+ - feta: flageolet
+ - feta: thinner accent
+
pl 37
- --postscript
- don't crash non-fitting grouping (thx, John)
TOPLEVEL_MAJOR_VERSION = 0
TOPLEVEL_MINOR_VERSION = 1
TOPLEVEL_PATCH_LEVEL = 37
-TOPLEVEL_MY_PATCH_LEVEL =
+TOPLEVEL_MY_PATCH_LEVEL = jcn1
# use the above to send patches, always empty for released version:
# please don't move these comments up; the patch should fail if
% Creator: mf-to-table.py version 0.4
-% Automatically generated on Fri Dec 12 11:29:20 1997
+% Automatically generated on Sat Dec 13 19:36:32 1997
% Do not edit
% input from out/feta16.log
% name=\symboltables {
"0o" "\\outsidewholerest" -2.50\pt 8.50\pt -2.50\pt 0.40\pt
"1o" "\\outsidehalfrest" -2.50\pt 8.50\pt -0.40\pt 2.50\pt
"2" "\\quartrest" -0.00\pt 4.32\pt 3.00\pt 14.40\pt
- "3" "\\eighthrest" -0.00\pt 5.33\pt 4.00\pt 11.27\pt
- "4" "\\sixteenthrest" -0.00\pt 6.18\pt -0.00\pt 11.27\pt
- "5" "\\thirtysecondrest" -0.00\pt 6.98\pt -0.00\pt 15.27\pt
- "6" "\\sixtyfourthrest" -0.00\pt 7.49\pt -0.00\pt 19.27\pt
- "7" "\\hundredtwentyeighthrest" -0.00\pt 8.34\pt -0.00\pt 23.27\pt
+ "3" "\\eighthrest" -0.00\pt 5.33\pt 4.00\pt 11.37\pt
+ "4" "\\sixteenthrest" -0.00\pt 6.21\pt -0.00\pt 11.37\pt
+ "5" "\\thirtysecondrest" -0.00\pt 7.00\pt -0.00\pt 15.37\pt
+ "6" "\\sixtyfourthrest" -0.00\pt 7.51\pt -0.00\pt 19.37\pt
+ "7" "\\hundredtwentyeighthrest" -0.00\pt 8.36\pt -0.00\pt 23.37\pt
}
"accidentals" = \table {
"1" "\\sharp" -0.00\pt 4.40\pt -6.00\pt 6.00\pt
"trill" "\\trill" -0.00\pt 8.00\pt -0.00\pt 9.00\pt
"pedalheel" "\\pedalheel" -2.00\pt 2.00\pt -2.00\pt 2.67\pt
"pedaltoe" "\\pedaltoe" -2.00\pt 2.00\pt -0.00\pt 6.00\pt
+ "flageolet" "\\flageolet" -0.00\pt 2.40\pt -0.00\pt 2.40\pt
}
"flags" = \table {
"u3" "\\eighthflag" -0.20\pt 4.94\pt -12.26\pt 0.20\pt
% Creator: mf-to-table.py version 0.4
-% Automatically generated on Fri Dec 12 11:29:22 1997
+% Automatically generated on Sat Dec 13 19:36:55 1997
% Do not edit
% input from out/feta20.log
% name=\symboltables {
"0o" "\\outsidewholerest" -3.13\pt 10.62\pt -3.13\pt 0.50\pt
"1o" "\\outsidehalfrest" -3.13\pt 10.62\pt -0.50\pt 3.13\pt
"2" "\\quartrest" -0.00\pt 5.40\pt 3.75\pt 18.00\pt
- "3" "\\eighthrest" -0.00\pt 6.67\pt 5.00\pt 14.08\pt
- "4" "\\sixteenthrest" -0.00\pt 7.72\pt -0.00\pt 14.08\pt
- "5" "\\thirtysecondrest" -0.00\pt 8.72\pt -0.00\pt 19.08\pt
- "6" "\\sixtyfourthrest" -0.00\pt 9.36\pt -0.00\pt 24.08\pt
- "7" "\\hundredtwentyeighthrest" -0.00\pt 10.42\pt -0.00\pt 29.08\pt
+ "3" "\\eighthrest" -0.00\pt 6.67\pt 5.00\pt 14.21\pt
+ "4" "\\sixteenthrest" -0.00\pt 7.76\pt -0.00\pt 14.21\pt
+ "5" "\\thirtysecondrest" -0.00\pt 8.75\pt -0.00\pt 19.21\pt
+ "6" "\\sixtyfourthrest" -0.00\pt 9.38\pt -0.00\pt 24.21\pt
+ "7" "\\hundredtwentyeighthrest" -0.00\pt 10.45\pt -0.00\pt 29.21\pt
}
"accidentals" = \table {
"1" "\\sharp" -0.00\pt 5.50\pt -7.50\pt 7.50\pt
"trill" "\\trill" -0.00\pt 10.00\pt -0.00\pt 11.25\pt
"pedalheel" "\\pedalheel" -2.50\pt 2.50\pt -2.50\pt 3.33\pt
"pedaltoe" "\\pedaltoe" -2.50\pt 2.50\pt -0.00\pt 7.50\pt
+ "flageolet" "\\flageolet" -0.00\pt 3.00\pt -0.00\pt 3.00\pt
}
"flags" = \table {
"u3" "\\eighthflag" -0.25\pt 6.17\pt -15.33\pt 0.25\pt
rtoe = \script { "pedaltoe" 0 0 1 0 0 }
turn = \script { "turn" 0 0 1 0 0 }
open = \script { "open" 0 0 1 0 0 }
+flageolet = \script { "flageolet" 0 0 1 0 0 }
% could we do without this bloat?
% Music for the Martians?
< bes4^"6" e_"7" c_"8" >
- a'^"0"_"9"
+ a^"0"_"9"
- % ugh, \flageolet is like open, but maybe a perfect circle
- a^\open
+ a'^\flageolet
\textstyle "roman";
%{ % default abbreviations
c4 c4: c4:32 c4: c4 c2.
enddef;
fet_beginchar("8th rest","3","eighthrest");
- set_char_box(0, 4/3interline#,-interline#, 8/3interline#+3/2stafflinethickness#);
+ set_char_box(0, 4/3interline#,-interline#, 8/3interline#+7/4stafflinethickness#);
save x,y, ht;
ht = h + d;
x1=w-stem/6; y1=ht-flare/4;
alpha=74;
cw#=7/6interline#;
% h#=5/3interline#+interline#+2stafflinethickness#;
- h#=5/3interline#+interline#+3/2stafflinethickness#;
+ h#=5/3interline#+interline#+7/4stafflinethickness#;
w#=cw#+(h#-3/2interline#)/tand(alpha);
set_char_box(0,w#,0,h#);
define_pixels(cw);
save alpha,cw,h,w;
alpha=76;
cw#=7/6interline#;
- h#=5/3interline#+2interline#+3/2stafflinethickness#;
+ h#=5/3interline#+2interline#+7/4stafflinethickness#;
w#=cw#+(h#-3/2interline#)/tand(alpha);
set_char_box(0,w#,0,h#);
define_pixels(cw);
save alpha,cw,h,w;
alpha=78;
cw#=7/6interline#;
- h#=5/3interline#+3interline#+3/2stafflinethickness#;
+ h#=5/3interline#+3interline#+7/4stafflinethickness#;
w#=cw#+(h#-3/2interline#)/tand(alpha);
set_char_box(0,w#,0,h#);
define_pixels(cw);
save alpha,cw,h,w;
alpha=78;
cw#=7/6interline#;
- h#=5/3interline#+4interline#+3/2stafflinethickness#;
+ h#=5/3interline#+4interline#+7/4stafflinethickness#;
w#=cw#+(h#-3/2interline#)/tand(alpha);
set_char_box(0,w#,0,h#);
define_pixels(cw);
input feta-banier;
input feta-klef;
else:
- input feta-bolletjes;
- input feta-banier;
+% input feta-bolletjes;
+% input feta-banier;
% input feta-eindelijk;
% input feta-klef;
% input feta-toevallig;
+ input feta-schrift;
fi
--- /dev/null
+% feta-nummer-generic.mf
+% part of LilyPond's pretty-but-neat music font
+
+test:=0;
+
+input autometric;
+fet_beginfont("feta-nummer", size);
+mode_setup;
+
+input feta-macros;
+input feta-params;
+height#:=designsize;
+
+save b,h; 4h+b=1.15; 10h+b=1;
+fatten:=designsize*h+b;
+save b,h; 4h+b=1.05; 10h+b=1;
+widen:=designsize*h+b;
+tense=0.85;
+thick#:=7/30height#*fatten;
+thin#:=thick#/4*fatten;
+hair#:=blot_diameter#;
+flare#:=9/8thick#/fatten;
+save b,h; 4h+b=1/8; 10h+b=1/6;
+kuulleke#:=thick#*designsize*h+b;
+foot_top#:=thick#;
+foot_width#:=9/4thick#;
+
+input feta-nummer;
+
+fet_endfont("feta-nummer");
+
fet_begingroup("nummer")
code := 47;
-define_pixels(height,thick,thick,thin,hair);
-foot_top#:=thick#;
-foot_width#:=9/4thick#/fatten;
+define_pixels(height,thick,thick,thin,hair,flare);
define_pixels(foot_top,foot_width);
define_pixels(kuulleke);
penpos5(7/8thick,180);
z5r=(0,y1);
penpos6(hair,90);
- z6r=(w-9/8thick*flaren,h);
+ z6r=(w-flare,h);
penpos7(7/8thick,180);
z7r=(0,h/2);
penpos10(7/8thick,180);
..tension t..z4r{left}
..tension t..z7r{up}..tension t..z6r{right}
..z6l{left}..tension t..z7l{down}..z10l{up}..cycle;
- draw_flare(z6r,0,-90,hair,thick*flaren);
+ draw_flare(z6r,0,-90,hair,flare);
unfill z2l{right}..tension t..z3l{down}..tension t
..z4l{left}..tension t..z10l{up}..tension t..cycle;
enddef;
message "h:"&decimal h;
penpos1(thin,90);
z1r=(w/2,h);
- penpos2(thick,0);
- z2r=(w,h/2);
+ penpos2(thick,180);
+ z2r=(0,h/2);
penpos3(thin,-90);
z3r=(w/2,0);
- penpos4(thick,180);
- z4r=(0,h/2);
+ penpos4(thick,0);
+ z4r=(w,h/2);
fill z1r..z2r..z3r..z4r..cycle;
save t; t=1/tense;
+ penlabels(1,2,3,4);
unfill z1l..tension t..z2l..tension t..z3l
..tension t..z4l..tension t..cycle;
fet_endchar;
z1=(0,0)+(1/2sqrt(2)*hair)*dir(45);
penpos3(hair,90+gamma);
z3=(w,thick)+(1/2sqrt(2)*hair)*dir(-135);
- penpos2(thick/fatten,90+alpha);
+ penpos2(thick,90+alpha);
x2-x1=x3-x2; y2=11/16thick/widen;
penlabels(1,2,3);
fill z1r{dir(beta)}..{dir(alpha)}z2r..{dir(gamma)}z3r
..z3l{dir(180+gamma)}..{dir(180+alpha)}z2l
..{dir(180+beta)}z1l..cycle;
- penpos4(thin,90);
- z4r=(thick,2/5h);
- penpos5(thick,0);
- z5r=(w-thin/2,.72h);
- penpos6(thin,90);
- z6r=(1/2hair+thick*flaren,h);
- penlabels(4,5,6);
+ penpos4(thick,0);
+ z4r=(w-thin/2,.72h);
+ penpos5(thin,90);
+ z5r=(1/2hair+flare,h);
+ penlabels(5,6);
save t; t=tense;
- fill z1l{dir(beta)}..z4l{dir(theta)}..z5r{up}
- ..tension t..z6r{left}..z6l{right}
- ..z5l{down}..z4r{dir(180+theta)}
+ fill z1l{dir(beta)}..tension t..z4r{up}
+ ..tension t..z5r{left}..z5l{right}
+ ..z4l{down}..tension t
..{dir(180+beta)}z1r..cycle;
- draw_flare(z6r,180,90,thin,thick*flaren);
+ draw_flare(z5r,180,90,thin,flare);
fet_endchar;
fet_beginchar("Numeral 3", "3", "three")
z1l=(17/16thick,h);
penpos2(7/8thick,180);
z2l=(w-thick/8,3/4h+thick/16);
- penpos3(hair,90);
+ penpos3(thin,90);
z3=(w/2,h/2+1/8thick);
- penpos4(hair,90);
- z4=(5/8thick,y3);
+ penpos4(thin,90);
+ z4=(5/8thick+1/2thin,y3);
penpos5(thick,0);
z5r=(w,1/4h+thick/16);
penpos6(hair,-90);
z6r=(9/8thick,0);
- penpos7(thin+hair,90);
-% z7=(x2,y3);
+ penpos7(3/2thin,90);
z7=(x5,y3);
penlabels(1,2,3,4,5,6,7);
save alpha; alpha=25;
..tension t..z3l{left}..z4l{left}
..z4r{right}..z3r{right}..tension t..z2r{up}
..tension t..z1r{left}..cycle;
- draw_flare(z1l,180,90,hair,thick*flaren);
- draw_flare(z6r,180,-90,hair,9/8thick*flaren);
+ draw_flare(z1l,180,90,hair,7/8flare);
+ draw_flare(z6r,180,-90,hair,flare);
fet_endchar;
fet_beginchar("Numeral 4", "4", "four")
save alpha; alpha=beta;
calc_kuulleke(thick,alpha);
- z1r=(w-3/4thick,height-(thin+1/2hair)/cosd(alpha));
+ z1r=(w-3/4thick,height-(3/2thin)/cosd(alpha));
penpos5(thick,0);
z5=(x1,foot_top);
..tension t..z11r{left}
..z11l{right}..tension t..z10l{up}..tension t
..z9l{left}..z8l{dir(180+beta+10)}..cycle;
- draw_flare(z11r,180,-90,hair,9/8thick*flaren);
+ draw_flare(z11r,180,-90,hair,flare);
fet_endchar;
fet_beginchar("Numeral 6", "6", "six")
z1=(3/2thin,h-(thick+thin)/2);
penpos3(thin,90+beta);
z3=(w,h)+(1/2sqrt(2)*thin)*dir(-135);
- penpos2(thick/fatten,90+alpha);
+ penpos2(thick,90+alpha);
x2=1/2[x1,x3]-1/4thick; y2=h-15/16thick+thin*widen;
penpos4(thin,0);
penpos9(hair,90+180+beta);
z9=(2/3w,h/2);
penlabels(1,2,3,4,5,6,7,8,9);
-% save t; t=0.85;
save t; t=tense;
fill z2r{dir(180+beta)}..z3r{down}..z4r{right}
..z5r{dir(90+alpha)}..z6r{dir(90+alpha)}
% feta-nummer10.mf
% part of LilyPond's pretty-but-neat music font
-input autometric;
+size:=10;
-fet_beginfont("feta-nummer", 10);
-
-mode_setup;
-
-test:=0;
-input feta-macros;
-input feta-params;
-
-height#:=designsize;
-
-fatten:=1;
-widen:=1;
-flaren:=1;
-tense=0.85;
-thick#:=7/30height#*fatten;
-thin#:=thick#/4*fatten;
-hair#:=blot_diameter#;
-kuulleke#:=1/8thick#;
-
-input feta-nummer;
-
-fet_endfont("feta-nummer");
+input feta-nummer-generic.mf
end.
% feta-nummer4.mf
% part of LilyPond's pretty-but-neat music font
-input autometric;
+size:=4;
-fet_beginfont("feta-nummer", 4);
-
-mode_setup;
-
-test:=0;
-input feta-macros;
-input feta-params;
-
-height#:=designsize;
-
-fatten:=1.15;
-widen:=1.05;
-flaren:=0.88;
-tense=0.85;
-thick#:=7/30height#*fatten;
-hair#:=blot_diameter#;
-thin#:=hair#;
-kuulleke#:=1/8thick#;
-
-input feta-nummer;
-
-fet_endfont("feta-nummer");
+input feta-nummer-generic.mf;
end.
% feta-nummer5.mf
% part of LilyPond's pretty-but-neat music font
-input autometric;
+size:=5;
-fet_beginfont("feta-nummer", 5);
-
-mode_setup;
-
-test:=0;
-input feta-macros;
-input feta-params;
-
-height#:=designsize;
-
-fatten:=1.12;
-widen:=1.03;
-flaren:=0.9;
-tense=0.85;
-thick#:=7/30height#*fatten;
-hair#:=blot_diameter#;
-thin#:=hair#;
-kuulleke#:=1/8thick#;
-
-input feta-nummer;
-
-fet_endfont("feta-nummer");
+input feta-nummer-generic.mf;
end.
--- /dev/null
+% feta-nummer6.mf
+% part of LilyPond's pretty-but-neat music font
+
+size:=6;
+
+input feta-nummer-generic.mf;
+
+end.
+
% feta-nummer8.mf
% part of LilyPond's pretty-but-neat music font
-input autometric;
+size:=8;
-fet_beginfont("feta-nummer", 8);
-
-mode_setup;
-
-test:=0;
-input feta-macros;
-input feta-params;
-
-height#:=designsize;
-
-fatten:=1;
-widen:=1;
-flaren:=1;
-tense=0.85;
-thick#:=7/30height#*fatten;
-thin#:=thick#/4*fatten;
-hair#:=blot_diameter#;
-kuulleke#:=1/8thick#;
-
-input feta-nummer;
-
-fet_endfont("feta-nummer");
+input feta-nummer-generic.mf;
end.
% source file of the Feta (Font-En-Tja) music font
%
% (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+% Jan Nieuwenhuizen <jan@digicash.com>
%
set_char_box(.9 interline#, .9 interline#, .5 interline#, .5 interline#);
save thickness, diminish;
- thickness = 2 stafflinethickness;
+ thickness = 3/2 stafflinethickness;
pickup pencircle scaled thickness;
% prevent blobs at crossing lines
labels(1,2,3);
fet_endchar;
-
-
+fet_beginchar("Flageolet", "flageolet", "flageolet")
+ save height,width,thickness;
+ height#=6/5interline#/2;
+ width#=height#;
+ thickness#=blot_diameter#;
+ define_pixels(height,width,thickness);
+ set_char_box(0,width#,0,height#);
+
+ pickup pencircle scaled thickness;
+ x1=width/2; top y1=height;
+ lft x2=0; y2 = height/2;
+ x3=x1; bot y3=0;
+ rt x4=width; y4=y2;
+ penlabels(1,2,3,4);
+ draw z1..z2..z3..z4..cycle;
+fet_endchar;
fet_endgroup("scripts");
% Creator: mf-to-table.py version 0.4
-% Automatically generated on Fri Dec 12 11:29:20 1997
+% Automatically generated on Sat Dec 13 19:36:32 1997
% Do not edit
% input from out/feta16.log
% name
\fetdef\trill{41}
\fetdef\pedalheel{42}
\fetdef\pedaltoe{43}
+\fetdef\flageolet{44}
% flags
-\fetdef\eighthflag{44}
-\fetdef\sixteenthflag{45}
-\fetdef\thirtysecondflag{46}
-\fetdef\sixtyfourthflag{47}
-\fetdef\deighthflag{48}
-\fetdef\dsixteenthflag{49}
-\fetdef\dthirtysecondflag{50}
-\fetdef\dsixtyfourthflag{51}
+\fetdef\eighthflag{45}
+\fetdef\sixteenthflag{46}
+\fetdef\thirtysecondflag{47}
+\fetdef\sixtyfourthflag{48}
+\fetdef\deighthflag{49}
+\fetdef\dsixteenthflag{50}
+\fetdef\dthirtysecondflag{51}
+\fetdef\dsixtyfourthflag{52}
% clefs
-\fetdef\altoclef{52}
-\fetdef\caltoclef{53}
-\fetdef\bassclef{54}
-\fetdef\cbassclef{55}
-\fetdef\violinclef{56}
-\fetdef\cviolinclef{57}
+\fetdef\altoclef{53}
+\fetdef\caltoclef{54}
+\fetdef\bassclef{55}
+\fetdef\cbassclef{56}
+\fetdef\violinclef{57}
+\fetdef\cviolinclef{58}
% Creator: mf-to-table.py version 0.4
-% Automatically generated on Fri Dec 12 11:29:22 1997
+% Automatically generated on Sat Dec 13 19:36:55 1997
% Do not edit
% input from out/feta20.log
% name
\fetdef\trill{41}
\fetdef\pedalheel{42}
\fetdef\pedaltoe{43}
+\fetdef\flageolet{44}
% flags
-\fetdef\eighthflag{44}
-\fetdef\sixteenthflag{45}
-\fetdef\thirtysecondflag{46}
-\fetdef\sixtyfourthflag{47}
-\fetdef\deighthflag{48}
-\fetdef\dsixteenthflag{49}
-\fetdef\dthirtysecondflag{50}
-\fetdef\dsixtyfourthflag{51}
+\fetdef\eighthflag{45}
+\fetdef\sixteenthflag{46}
+\fetdef\thirtysecondflag{47}
+\fetdef\sixtyfourthflag{48}
+\fetdef\deighthflag{49}
+\fetdef\dsixteenthflag{50}
+\fetdef\dthirtysecondflag{51}
+\fetdef\dsixtyfourthflag{52}
% clefs
-\fetdef\altoclef{52}
-\fetdef\caltoclef{53}
-\fetdef\bassclef{54}
-\fetdef\cbassclef{55}
-\fetdef\violinclef{56}
-\fetdef\cviolinclef{57}
+\fetdef\altoclef{53}
+\fetdef\caltoclef{54}
+\fetdef\bassclef{55}
+\fetdef\cbassclef{56}
+\fetdef\violinclef{57}
+\fetdef\cviolinclef{58}
\font\fetanummer=feta-nummer8
\font\dynfont=feta-din10 scaled \magstep1
\font\bracefont=feta-braces16
- \font\fingerfont=feta-nummer4
+ \font\fingerfont=feta-nummer5
}
\def\fettwentydefs{
\font\fontentja=feta20
\font\fetanummer=feta-nummer10
\font\dynfont=feta-din10 scaled \magstep2
\font\bracefont=feta-braces20
- \font\fingerfont=feta-nummer5
+ \font\fingerfont=feta-nummer6
}
\def\fetdef#1#2{\def#1{%