+pl 34.jcn1
+ - mf: nicening of dyn, klef, rest
+ - fingerfont
+ - bf: 12/8
pl 34
- bf: mf: numbers and alto clef
TOPLEVEL_MAJOR_VERSION = 0
TOPLEVEL_MINOR_VERSION = 1
TOPLEVEL_PATCH_LEVEL = 34
-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
% generated automatically by mf-to-table.py version 0.4
-% on Wed Dec 3 11:10:44 1997
+% on Thu Dec 4 23:42:11 1997
% Do not edit
% input from out/feta16.log
% name=\symboltables {
% generated automatically by mf-to-table.py version 0.4
-% on Wed Dec 3 11:10:47 1997
+% on Thu Dec 4 23:42:34 1997
% Do not edit
% input from out/feta20.log
% name=\symboltables {
"roman" "\settext{%}" 0.0\pt 7.50\pt 0.0\pt 8.0\pt
"italic" "\setitalic{%}" 0.0\pt 0.0\pt 0.0\pt 8.0\pt
"dynamic" "\setdynamic{%}" 0.0\pt 0.0\pt 0.0\pt 8.0\pt
+ "finger" "\setfinger{%}" 0.0\pt 0.0\pt 0.0\pt 4.0\pt
}
"dynamics" = \table {
"style" = \table {
"roman" "\settext{%}" 0.0\pt 7.5\pt 0.0\pt 10.0\pt
- "italic" "\setitalic{%}" 0.0\pt 0.0\pt 0.0\pt 8.0\pt
- "dynamic" "\setdynamic{%}" 0.0\pt 0.0\pt 0.0\pt 8.0\pt
+ "italic" "\setitalic{%}" 0.0\pt 0.0\pt 0.0\pt 10.0\pt
+ "dynamic" "\setdynamic{%}" 0.0\pt 0.0\pt 0.0\pt 10.0\pt
+ "finger" "\setfinger{%}" 0.0\pt 0.0\pt 0.0\pt 5.0\pt
}
"dynamics" = \table {
\octave c'';
\meter 4/4;
+ \textstyle "finger";
+ c4^"1" d^"2" e^"3" f^"4" g^"5"
+ < bes4^"1" e_"2" c_"4" >
+ a'^"0"
+ % ugh, \flageolet is like open, but maybe a perfect circle
+ a^\open
+ \textstyle "roman";
%{ % default abbreviations
c4 c4: c4:32 c4: c4 c2.
'a1
slant:=.28; % tilt ratio $(\Delta x/\Delta y)$
%stem#:=38/36pt#; % lowercase stem breadth
-stem#:=28/36pt#; % lowercase stem breadth
+%stem#:=28/36pt#; % lowercase stem breadth
+stem#:=32/36pt#; % lowercase stem breadth
% ess#:=35/36pt#; % breadth in middle of lowercase s
ess#:=28/36pt#; % breadth in middle of lowercase s
%hair#:=20/36pt#; % lowercase hairline breadth
-hair#:=16/36pt#; % lowercase hairline breadth
+% hair#:=16/36pt#; % lowercase hairline breadth
+hair#:=14/36pt#; % lowercase hairline breadth
%vair#:=13/36pt#; % vertical diameter of hairlines
vair#:=9/36pt#; % vertical diameter of hairlines
% flare#:=42/36pt#; % diameter of bulbs or breadth of terminals
% Chester, Breitkopf suggest smaller sizes of these other chars,
% using the x-height as reference point.
% x_height#:=160/36pt#; % height of lowercase without ascenders
-x_height#:=145/36pt#; % height of lowercase without ascenders
+% x_height#:=145/36pt#; % height of lowercase without ascenders
+x_height#:=135/36pt#; % height of lowercase without ascenders
font_setup;
%
save stem, ball_crook_stem, ball_crook_balldiam, flare;
-define_pixels(stem,flare);
% stem#:=1/8*interline#;
stem# = 1/5interline#;
+% flare# = 2/3interline#;
+flare# = 2/3interline# - 1/8stafflinethickness#;
+
+define_pixels(stem,flare);
+
ball_crook_stem = stem;
ball_crook_balldiam =flare;
-flare# = 2/3interline#;
+
save block_rest_y, block_rest_x;
enddef;
fet_beginchar("8th rest","3","eighthrest");
- set_char_box(0, 4/3interline#,-interline#, 8/3interline#+2stafflinethickness#);
+ set_char_box(0, 4/3interline#,-interline#, 8/3interline#+3/2stafflinethickness#);
save x,y, ht;
ht = h + d;
x1=w-stem/6; y1=ht-flare/4;
save alpha,cw,h,w;
alpha=74;
cw#=7/6interline#;
- h#=5/3interline#+interline#+2stafflinethickness#;
+% h#=5/3interline#+interline#+2stafflinethickness#;
+ h#=5/3interline#+interline#+3/2stafflinethickness#;
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#+2stafflinethickness#;
+ h#=5/3interline#+2interline#+3/2stafflinethickness#;
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#+2stafflinethickness#;
+ h#=5/3interline#+3interline#+3/2stafflinethickness#;
w#=cw#+(h#-3/2interline#)/tand(alpha);
set_char_box(0,w#,0,h#);
define_pixels(cw);
z5-z1=whatever*dir alpha;
y5=y1-3interline;
rest_crook (z5,cw);
+ % ugh
+ currentpicture:=currentpicture shifted (0,-interline);
fet_endchar;
fet_beginchar("128th rest","7","hundredtwentyeighthrest");
save alpha,cw,h,w;
alpha=78;
cw#=7/6interline#;
- h#=5/3interline#+4interline#+2stafflinethickness#;
+ h#=5/3interline#+4interline#+3/2stafflinethickness#;
w#=cw#+(h#-3/2interline#)/tand(alpha);
set_char_box(0,w#,0,h#);
define_pixels(cw);
z6-z1=whatever*dir alpha;
y6=y1-4interline;
rest_crook (z6,cw);
+ % ugh
+ currentpicture:=currentpicture shifted (0,-interline);
fet_endchar;
endgroup;
xoff=3/4norm+7/2hair;
penpos1(hair,-90);
z1l=(xoff+norm+hair,h);
- penpos2(norm-hair,180);
+ penpos2(norm-3/2hair,180);
z2l=(w,h/2);
penpos3(hair,90);
z3=(((w-xoff)/2)+xoff,2hair);
penlabels (1,2,3,4,5,6);
% ugh, should be bulb, not flare?
- draw_flare(z1l,180,90,hair,norm-1/4hair);
- draw_flare(z7r,180,-90,hair,norm-1/4hair);
+ draw_flare(z1l,180,90,hair,norm-1/2hair);
+ draw_flare(z7r,180,-90,hair,norm-1/2hair);
enddef;
fet_beginchar ("C clef", "alto", "altoclef")
--- /dev/null
+% feta-nummer4.mf
+% part of LilyPond's pretty-but-neat music font
+
+input autometric;
+
+fet_beginfont("feta-nummer", 4);
+
+mode_setup;
+
+test:=0;
+input feta-macros;
+
+% copied from 8; will it work?
+height#:=designsize;
+thick#:=7/30height#;
+thin#:=thick#/4;
+hair#:=thin#/2;
+kuulleke#:=hair#;
+%kuulleke#:=0;
+
+input feta-nummer;
+
+fet_endfont("feta-nummer");
+
+end.
+
--- /dev/null
+% feta-nummer5.mf
+% part of LilyPond's pretty-but-neat music font
+
+input autometric;
+
+fet_beginfont("feta-nummer", 5);
+
+mode_setup;
+
+test:=0;
+input feta-macros;
+
+% copied from 4; will it work?
+height#:=designsize;
+thick#:=7/30height#;
+thin#:=thick#/4;
+hair#:=thin#/2;
+kuulleke#:=hair#;
+%kuulleke#:=0;
+
+input feta-nummer;
+
+fet_endfont("feta-nummer");
+
+end.
+
\def\dynnf{\dynfont\char1}
\def\dynnf{\dynfont\char1}
\def\dynp{\dynfont\char2}
-\def\dynm{\raise.1ex\hbox{\dynfont\char3}}
+\def\dynm{\raise.08ex\hbox{\dynfont\char3}}
\def\dynr{\raise.1ex\hbox{\dynfont\char4}}
\def\dyns{\raise.1ex\hbox{\dynfont\char5}}
\def\dynz{\raise.1ex\hbox{\dynfont\char6}}
\def\dynf{{\dynaf}}
\def\dynpp{{\kdynp\dynp}}
\def\dynppp{{\kdynp\kdynp\dynp}}
-\def\dynmp{{\dynm\kern -.2ex\dynp}}
-\def\dynmf{{\dynfont\raise.08ex\hbox{\dynm}\kern-.4ex\dynnf}}
+\def\dynmp{{\raise.1ex\hbox{\dynm}\kern -.25ex\dynp}}
+\def\dynmf{{\dynfont\raise.08ex\hbox{\dynm}\kern-.45ex\dynnf}}
\def\dynff{{\kdynf\dynnf}}
\def\dynfff{{\kdynf\kdynf\dynnf}}
% generated automatically by mf-to-table.py version 0.4
-% on Wed Dec 3 11:10:44 1997
+% on Thu Dec 4 23:42:11 1997
% Do not edit
% input from out/feta16.log
% name
% generated automatically by mf-to-table.py version 0.4
-% on Wed Dec 3 11:10:47 1997
+% on Thu Dec 4 23:42:34 1997
% Do not edit
% input from out/feta20.log
% name
\font\vetfont=feta-beams16
\font\fetanummer=feta-nummer8
\font\dynfont=feta-din10 scaled \magstep1
+ \font\fingerfont=feta-nummer4
}
\def\fettwentydefs{
\font\fontentja=feta20
\font\vetfont=feta-beams20
\font\fetanummer=feta-nummer10
\font\dynfont=feta-din10 scaled \magstep2
+ \font\fingerfont=feta-nummer5
}
\def\fetdef#1#2{\def#1{%
- % what the fuck is this?
- %\lower.3884\staffrulethickness
\hbox{\fetchar{#2}}}}
\def\fetchar#1{\fontentja\char#1}
{\vetfont\char\count0}}}
% stacked numbers; overrules def in lilyponddefs
-% widest num should be .4 balkheight
+% widest num should be .40 balkheight
% oeps: \meter 12/8;
\def\generalmeter#1#2{%
\vbox to 0pt{\vss%
- \hbox to0.45\balkheight{\hfill\fetanummer #1\hfill}%
+ \hbox to0.45\balkheight{\hss\fetanummer #1\hss}%
\nointerlineskip%
- \hbox to0.45\balkheight{\hfill\fetanummer #2\hfill}%
+ \hbox to0.45\balkheight{\hss\fetanummer #2\hss}%
\vss}}
\newcount\embedcount\embedcount=0
\def\settext#1{\normaltextfont #1}
\def\setitalic#1{\italicfont #1}
\def\setdynamic#1{\dynfont #1}
+\def\setfinger#1{\fingerfont #1}
% the interline symbol. Redefine to remove it.
\def\defaultlineseparator{\vbox{\mussepline\vskip -5pt\mussepline}}