From: Jan Nieuwenhuizen Date: Thu, 18 Sep 1997 07:39:57 +0000 (+0200) Subject: patch::: 0.1.15.jcn1: pats X-Git-Tag: release/0.1.16~2 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=327f6bac4d69efab19235272216fd4f83ee8bc96;p=lilypond.git patch::: 0.1.15.jcn1: pats pl 15.jcn1 - bf: typos whole and half notehead - de-uglyfied bolletjes.mf - ascii output of font metrics in mf logfile --- diff --git a/NEWS b/NEWS index 0946caab2d..811d918554 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,8 @@ +pl 15.jcn1 + - bf: typos whole and half notehead + - de-uglyfied bolletjes.mf + - ascii output of font metrics in mf logfile + pl 15 - put top of NEWS file in the webpage - breadth first search for engravers. diff --git a/VERSION b/VERSION index e7f388b506..9c1970c8a2 100644 --- a/VERSION +++ b/VERSION @@ -3,4 +3,4 @@ TOPLEVEL_MINOR_VERSION = 1 TOPLEVEL_PATCH_LEVEL = 15 # use to send patches, always empty for released version: -TOPLEVEL_MY_PATCH_LEVEL = +TOPLEVEL_MY_PATCH_LEVEL = .jcn1 diff --git a/input/abbrev.ly b/input/abbrev.ly index 2ea0b483ce..e81a18a494 100644 --- a/input/abbrev.ly +++ b/input/abbrev.ly @@ -14,7 +14,7 @@ TestedFeatures simple abbreviations c4 c4: c4:32 c4: c4 c2. 'a1 'a1:32 - 'c4:8 c' 'c4:16 c' + 'c4:8 c': 'c4:16 c': % [ 'c8:16 'c 'c 'c ] [ a a a a ] % [ 'c 'f 'b e ] % [ 'c16:32 'c 'c 'c ] [ a16:32 a a a ] diff --git a/mf/TODO b/mf/TODO index 06eef8d16b..d826325920 100644 --- a/mf/TODO +++ b/mf/TODO @@ -1,8 +1,9 @@ + - add r to dynfont - move to OpusTeX fonts - - make own lilyfont{10,11,13,16,20} files + - make own font-en-tja{10,11,13,16,20} files - opustex/lilypond fonts from the same generic driver files - LilyPond fonts should generate TFM spacing info - - include important spaacing dims in TFM + - include important spacing dims in TFM - lilyrules.mf for different rules (lines) ? - check out Adobe Sonata/Petrucci font layout. They are the standard for Music fonts diff --git a/mf/autometric.mf b/mf/autometric.mf new file mode 100644 index 0000000000..ae9a8edc85 --- /dev/null +++ b/mf/autometric.mf @@ -0,0 +1,13 @@ +% metric.mf +% part of LilyPond's pretty-but-neat music font + +def fet_beginfont(expr name,size) = + message "@@font:"&name&":"&decimal size&"@@"; + message ""; + enddef; + +def fet_beginchar(expr code,w,h,d,name) = + message "@@char:"&name&":"&decimal code&":"&decimal w&":"&decimal h&":"&decimal d&"@@"; + beginchar(code,w,h,d) name; + enddef; + diff --git a/mf/bolletjes.mf b/mf/bolletjes.mf index 9980b05be6..849c9f9b6f 100644 --- a/mf/bolletjes.mf +++ b/mf/bolletjes.mf @@ -5,32 +5,17 @@ interline#:=staffsize#/(stafflines-1)+stafflinethickness#; -def ugh_grid = - makegrid(-5pt,-4pt,-3pt,-2pt,-1pt,0pt,1pt,2pt,3pt,4pt,5pt) - (-5pt,-4pt,-3pt,-2pt,-1pt,0pt,1pt,2pt,3pt,4pt,5pt); - makegrid(-4.8pt,-4.6pt,-4.4pt,-4.2pt,-4.0pt, - -3.8pt,-3.6pt,-3.4pt,-3.2pt,-3.0pt, - -2.8pt,-2.6pt,-2.4pt,-2.2pt,-2.0pt, - -1.8pt,-1.6pt,-1.4pt,-1.2pt,-1.0pt, - -0.8pt,-0.6pt,-0.4pt,-0.2pt,-0.0pt, - 0.0pt,0.2pt,0.4pt,0.6pt,0.8pt, - 1.0pt,1.2pt,1.4pt,1.6pt,1.8pt, - 2.0pt,2.2pt,2.4pt,2.6pt,2.8pt, - 3.0pt,3.2pt,3.4pt,3.6pt,3.8pt, - 4.0pt,4.2pt,4.4pt,4.6pt,4.8pt) - (-4.8pt,-4.6pt,-4.4pt,-4.2pt,-4.0pt, - -3.8pt,-3.6pt,-3.4pt,-3.2pt,-3.0pt, - -2.8pt,-2.6pt,-2.4pt,-2.2pt,-2.0pt, - -1.8pt,-1.6pt,-1.4pt,-1.2pt,-1.0pt, - -0.8pt,-0.6pt,-0.4pt,-0.2pt,-0.0pt, - 0.0pt,0.2pt,0.4pt,0.6pt,0.8pt, - 1.0pt,1.2pt,1.4pt,1.6pt,1.8pt, - 2.0pt,2.2pt,2.4pt,2.6pt,2.8pt, - 3.0pt,3.2pt,3.4pt,3.6pt,3.8pt, - 4.0pt,4.2pt,4.4pt,4.6pt,4.8pt); +def test_grid = +if test>1: + proofrulethickness 1pt#; + makegrid(0pt,0pt for i:=-5pt step 1pt until 5pt: ,i endfor) + (0pt,0pt for i:=-5pt step 1pt until 5pt: ,i endfor); + proofrulethickness .1pt#; + makegrid(0pt,0pt for i:=-4.8pt step .2pt until 4.8pt: ,i endfor) + (0pt,0pt for i:=-4.8pt step .2pt until 4.8pt: ,i endfor); +fi enddef; - % a: x diameter % b: y diameter % err_x: drift of y axis at top @@ -39,9 +24,14 @@ def distorted_ellipse(expr a,b,err_y,err_x,super) = superellipse((a,err_x),(-err_y,b),(-a,-err_x),(err_y,-b),super); enddef; -% brr. -% def notehead(expr code,il,hdb,adb,adw,xda,s,alpha,cda,ddb,r) = -def notehead(expr code,interline,name) = +def begin_notehead = + begingroup; + save a_b,err_y_a,alpha,super; + save ai_a,ai_bi,err_y_ai,err_x_bi,alphai,superi; + save b_h,a_w; + enddef; + +def end_notehead(expr code,interline,name) = save a,b,h,w,ai,bi; h#=interline; 2b#=h#*b_h; @@ -52,99 +42,84 @@ def notehead(expr code,interline,name) = define_pixels(a,b); define_pixels(w,h); define_pixels(ai,bi); -% save x; -% x1=-x3=a; x2=x4=0; y1=y3=0; y2=-y4=b; -% penlabels(1,2,3,4); -if test>0: - beginchar(code,w#,h#,0); name; - fill distorted_ellipse(a,b,a*err_y_a,0,super); - unfill distorted_ellipse(ai,bi,ai*err_y_ai,0,superi); -if test=1: - pickup pencircle; - draw (0,0)--(a,0) rotated alpha; - draw (0,0)--(-a,0) rotated alphai; -else: - ugh_grid; -fi -else: - beginchar(code,w#,h#,0); name; + fet_beginchar(code,w#,h#,0,name); path black,white; black=distorted_ellipse(a,b,a*err_y_a,0,super); + white=distorted_ellipse(ai,bi,ai*err_y_ai,bi*err_x_bi,superi); +if test>0: + save x; + x1=-x3=a; x2=x4=0; y1=y3=0; y2=-y4=b; + penlabels(1,2,3,4); + test_grid; +else: black:=black rotated alpha; % black:=black shifted (w/2,h/2); black:=black shifted (w/2,0); - fill black; - white=distorted_ellipse(ai,bi,ai*err_y_ai,bi*err_x_bi,superi); white:=white rotated alphai; % white:=white shifted (w/2,h/2); white:=white shifted (w/2,0); - unfill white; fi + fill black; + unfill white; endchar; + endgroup; enddef; % whole note -% a/b=1.7 -% h/b=1; -% a/w=1; -% x/a=1; -%notehead(incr code,interline#,1,1.7,1,1/20,0.707,0,1/2.2,1/1.3,0.74); -%notehead(incr code,interline#,1,1.7,1,1/20,0.707,0,5/11,3/4,0.74); - -%def notehead(expr code,il,hdb,adb,adw,xda,s,alpha,cda,ddb,r) = - -% whole note -% wanske, p.38 -save a_b,err_y_a,alpha,super; -save ai_a,ai_bi,err_y_ai,err_x_bi,alphai,superi; -save b_h,a_w; -a_b:=1.80; -err_y_a:=0; % no slant -alpha:=0; -super:=0.707; -ai_a:=0.508; -ai_bi:=1.23; -% err_y_ai:=0.0938; -% err_x_bi:=0; -err_y_ai:=0; -err_x_bi:=0.115; -alphai:=135; -superi:=0.68; -b_h:=1; %no rotate-> no height correction -a_w:=1; % no rotate-> no width correction -notehead(incr code,interline#,"Whole notehead"); +% Wanske, p.38 +% begin_notehead(incr code,interline#,"Whole notehead"); +begin_notehead; + a_b:=1.80; + err_y_a:=0; % no slant + alpha:=0; + super:=0.707; + ai_a:=0.508; + ai_bi:=1.23; + % err_y_ai:=0.0938; + % err_x_bi:=0; + err_y_ai:=0; + err_x_bi:=0.115; + alphai:=135; + superi:=0.69; + b_h:=1; %no rotate-> no height correction + a_w:=1; % no rotate-> no width correction + end_notehead(incr code,interline#,"Whole notehead"); % half note -% wanske, p.39 -a_b:=1.49; -err_y_a:=0.157; -alpha:=34; -super:=0.66; -ai_a:=0.863; -ai_bi:=3.41; -err_y_ai:=0; -err_x_bi:=-0.12; -alphai:=alpha; -superi:=0.80; -b_h:=0.935; -a_w:=1.12; -notehead(incr code,interline#,"Half notehead"); +% Wanske, p.39 +begin_notehead; + a_b:=1.49; % after text + % a_b:=1.50; % after drawing + err_y_a:=0.157; + alpha:=34; + super:=0.66; + ai_a:=0.863; + ai_bi:=3.14; + err_y_ai:=0; + err_x_bi:=-0.12; + alphai:=alpha; + superi:=0.80; + b_h:=0.935; + a_w:=1.12; + end_notehead(incr code,interline#,"Half notehead"); % quarter note -% wanske p.38 -a_b:=1.57; -err_y_a:=0.044; -alpha:=32; -super:=0.707; -ai_a:=0; -ai_bi:=1; -err_y_ai:=0; -err_x_bi:=0; -alphai:=0; -superi:=0.707; -b_h:=0.85; -a_w:=1.09; -notehead(incr code,interline#,"Quarter notehead"); +% Wanske p.38 +begin_notehead; + a_b:=1.57; % after text + % a_b:=1.54; % after drawing + err_y_a:=0.044; + alpha:=32; + super:=0.707; + ai_a:=0; + ai_bi:=1; + err_y_ai:=0; + err_x_bi:=0; + alphai:=0; + superi:=0.707; + b_h:=0.85; + a_w:=1.09; + end_notehead(incr code,interline#,"Quarter notehead"); end. diff --git a/mf/dyn10.mf b/mf/dyn10.mf index 7e2d853f74..64ea7c7af2 100644 --- a/mf/dyn10.mf +++ b/mf/dyn10.mf @@ -1,5 +1,10 @@ % dyn10.mf % from cmbxti10.mf +% +% music dynamics font +% +% 16pt staff: \font\dynfont=dyn10 scaled \magstep1 +% 20pt staff: \font\dynfont=dyn10 scaled \magstep2 % Computer Modern Bold Extended Text Italic 10 point % if unknown cmbase: input cmbase fi @@ -82,10 +87,10 @@ math_fitting:=false; % should math-mode spacing be used? % mode_setup; font_setup; -% "f" obviously has a _lot_ bigger slant than "p" (see wanske p239) +% "f" obviously has a _lot_ bigger slant than "p" (see Wanske p.239) % however; perhaps we need two f symbols: % - a super-slanted one used in "f" "mf" "sfz" "sf", and -% - a more normal-slanted in "ff" "fff" "fp" "fp" (see wanske p241) +% - a more normal-slanted in "ff" "fff" "fp" "fp" (see Wanske p.241) % % looking at professionally typeset music reveals that typesetters % are somewhat unsure about slanting in "mf", "fp", "sfz" diff --git a/mf/font-en-tja16.mf b/mf/font-en-tja16.mf index 92752fdf00..1e15311273 100644 --- a/mf/font-en-tja16.mf +++ b/mf/font-en-tja16.mf @@ -3,6 +3,9 @@ mode_setup; +font_name:="font-en-tja"; +font_size:=16; + test:=0; staffsize#:=16pt#; @@ -10,6 +13,9 @@ stafflines:=5; stafflinethickness#:=0.4pt#; code:=-1; +input autometric; +fet_beginfont; + input bolletjes; end. diff --git a/mf/font-en-tja20.mf b/mf/font-en-tja20.mf index 526573948a..744133d7fe 100644 --- a/mf/font-en-tja20.mf +++ b/mf/font-en-tja20.mf @@ -11,6 +11,9 @@ stafflines:=5; stafflinethickness#:=0.4pt#; code:=-1; +input autometric; +fet_beginfont("font-en-tja", 16); + input bolletjes; end.