From: fred Date: Sun, 24 Mar 2002 20:03:09 +0000 (+0000) Subject: lilypond-0.1.30 X-Git-Tag: release/1.5.59~3579 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=c4e63c3d1b251c65009ac6cb5daece25428eaf6f;p=lilypond.git lilypond-0.1.30 --- diff --git a/init/feta16.ly b/init/feta16.ly index fe4aff5ab3..8c4a51080b 100644 --- a/init/feta16.ly +++ b/init/feta16.ly @@ -1,5 +1,5 @@ % generated automatically by mf-to-table.py version 0.4 -% on Wed Nov 5 23:51:17 1997 +% on Tue Nov 11 13:31:20 1997 % Do not edit % input from out/feta16.log % name=\symboltables { @@ -67,7 +67,9 @@ "d6" "\\dsixtyfourthflag" -0.20\pt 4.54\pt -0.20\pt 17.66\pt } "klef" = \table { - "bass" "\\bassclef" -0.00\pt 10.80\pt -10.00\pt 4.00\pt - "bass_change" "\\cbassclef" -0.00\pt 8.64\pt -8.00\pt 3.20\pt + "bass" "\\bassclef" 1.20\pt 12.80\pt -10.00\pt 4.00\pt + "bass_change" "\\cbassclef" 0.96\pt 10.24\pt -8.00\pt 3.20\pt + "violin" "\\violinclef" 0.11\pt 10.55\pt -12.00\pt 20.00\pt + "violin_change" "\\cviolinclef" -0.23\pt 8.12\pt -9.60\pt 16.00\pt } % } % $name diff --git a/init/feta20.ly b/init/feta20.ly index 144f3f45f0..dccf7ba6bd 100644 --- a/init/feta20.ly +++ b/init/feta20.ly @@ -1,5 +1,5 @@ % generated automatically by mf-to-table.py version 0.4 -% on Wed Nov 5 23:51:26 1997 +% on Tue Nov 11 13:31:29 1997 % Do not edit % input from out/feta20.log % name=\symboltables { @@ -67,7 +67,9 @@ "d6" "\\dsixtyfourthflag" -0.25\pt 5.68\pt -0.25\pt 22.08\pt } "klef" = \table { - "bass" "\\bassclef" -0.00\pt 13.50\pt -12.50\pt 5.00\pt - "bass_change" "\\cbassclef" -0.00\pt 10.80\pt -10.00\pt 4.00\pt + "bass" "\\bassclef" 1.50\pt 16.00\pt -12.50\pt 5.00\pt + "bass_change" "\\cbassclef" 1.20\pt 12.80\pt -10.00\pt 4.00\pt + "violin" "\\violinclef" 0.14\pt 13.19\pt -15.00\pt 25.00\pt + "violin_change" "\\cviolinclef" -0.29\pt 10.15\pt -12.00\pt 20.00\pt } % } % $name diff --git a/mf/feta-klef.mf b/mf/feta-klef.mf index 077971baba..e9b285d7e5 100644 --- a/mf/feta-klef.mf +++ b/mf/feta-klef.mf @@ -1,58 +1,26 @@ +% +% feta-klef.mf -- implement Clefs +% +% source file of the Feta (Font-En-Tja) music font +% +% (c) 1997 Han-Wen Nienhuys +% fet_begingroup("klef"); -def draw_bass_clef(expr reduction, center) = - save thinness, left_shoot, reduced_il; - save left_fat, right_fat, dot_size, dot_sep; - save hip_factor; - - left_shoot = 0.3; - left_fat = .3; - right_fat = .5; - dot_size = .4; - dot_sep = 1.2; - hip_factor = 0.95; - thinness = stafflinethickness; - - - reduced_il# = interline# * reduction; - define_pixels(reduced_il); - set_char_box(left_fat * reduced_il#, - (1 + hip_factor + right_fat/2)* reduced_il# + - (dot_sep+ 1) * dot_size *reduced_il# - , 2.5 reduced_il#, 1.0 reduced_il#) - - z2 - z1 = (1.1 reduced_il, reduced_il); - z3 = (x2 + hip_factor* reduced_il, y1); - z4 - z1 = (- left_shoot * reduced_il, -2.5 reduced_il); - - z1extreme = z1l - ( thinness/2, 0); - penpos1(left_fat* reduced_il , 0); - z1r = (center, 0); - z5 = (x3l + dot_sep * dot_size * interline, .5 interline); - - - penpos3(right_fat * reduced_il, 180); - - penlabels(1,3); - labels(2,4); +def draw_staff(expr first, last)= + pickup pencircle scaled stafflinethickness; + for i:= first step 1 until last: + draw (- interline, i* interline) .. (4 interline, i* interline); + endfor - pickup pencircle scaled thinness; - filldraw z1r{up} .. z2{right} .. z3r{down} .. {curl 0} z4 {curl 0} - .. z3l{up} .. z2{left} .. z1l{down} -- cycle; - - draw_bulb(1, z1r, z1extreme, 1.2 , 1.2); - - pickup pencircle scaled (dot_size * interline); - draw z5; - draw z5 yscaled -1; + enddef; -enddef; % -% Inspired by Baerenreiter, Auf dem Strom +% Inspired by Baerenreiter and Breitkopf % % FIXME: dims % FIXME: right vertical tangent seems to be lower than the F-line @@ -62,22 +30,25 @@ enddef; % [Wanske] says that the extreme x point should be exactly between % the dots, but her picture shows that the extreme is ~ 0.2 ss lower -def draw_bass_klef(expr reduction) = +def draw_bass_klef(expr exact_center, reduction) = save reduced_il, left_tilt, left_thick; reduced_il# = interline# * reduction; - left_tilt = 10; - + left_tilt = 5; define_pixels(reduced_il); left_thick = .25 reduced_il; - set_char_box(0, 2.7 reduced_il#, 2.5 reduced_il#, reduced_il#); + set_char_box( + - xpart exact_center+ .2 reduced_il#, + xpart exact_center + 2.7 reduced_il#, + - ypart exact_center + 2.5 reduced_il#, + ypart exact_center +reduced_il#); x1r - x1l = left_thick; - x1l = 0; - y1l = 0; + z1l = (hround_pixels(xpart exact_center), + vround_pixels(ypart exact_center)); y2 = reduced_il; - x3r = x1l + 12/7 reduced_il; + x3l - x1l = 2.1 reduced_il; x2 = .5 [x1,x3]; x3l - x3r = .48 reduced_il; y3l = -0.05 interline; @@ -93,24 +64,159 @@ def draw_bass_klef(expr reduction) = draw_bulb(1, z1r, z1l, .45 reduced_il, 1.0); - fill z1r{up} .. z2r{right} .. tension .9 .. z3r{down} .. {curl 0} + fill z1r{up} .. z2r{right} .. tension 1.0 .. z3r{down} .. {curl 0} simple_serif(z4r, z4l, 90) {curl 0} - .. z3l{up} .. tension .9 .. z2l{left} + .. z3l{up} .. tension 0.9 .. z2l{left} .. z1l{dir (-90 + left_tilt)} -- cycle; labels(2,4); penlabels(1,2,3,4); - pickup pencircle scaled (1/3 reduced_il); + pickup pencircle scaled (.35 reduced_il); draw z5; draw z5 yscaled -1; enddef; + + fet_beginchar("F clef ", "bass", "bassclef") - draw_bass_klef(1.0); + if test = 1: + draw_staff(-3,1); + fi; + draw_bass_klef((.5 interline#, 0), 1.0); fet_endchar; fet_beginchar("F clef (reduced)", "bass_change", "cbassclef") - draw_bass_klef(0.8); + draw_bass_klef((.4 interline#, 0),0.8); fet_endchar; + +% +% Inspired by Baerenreiter +% +% FIXME top +% FIXME bulb should curve (see bass clef) +% FIXME start (inside) should be little thinner +% FIXME parametrise. +% FIXME should be a bit more upright +% +def draw_gclef (expr exact_center, reduction)= + save reduced_il, downstroke_dir, downstroke_angle, hair, center; + save breapth_factor, inner_thick_end, thinness, thickness, thinnib +, thinness, thinpen; + reduced_il# = interline# * reduction; + define_pixels(reduced_il); + pair downstroke_dir, center; + + center := (hround_pixels(xpart exact_center), + vround_pixels(ypart exact_center)); + + hair = .3 stafflinethickness; + thinness = 1.3 stafflinethickness; + downstroke_dir = (14, -75); + breapth_factor = 11/7; + inner_thick_end = 45; + thickness = .4 interline - hair; + + thinnib = thinness - hair; + thinpen = thinness; + set_char_box(-xpart exact_center + breapth_factor* reduced_il#, + xpart exact_center + .66 breapth_factor* reduced_il#, + -ypart exact_center + 3 * reduced_il#, + ypart exact_center + 5 * reduced_il#); + + pickup pencircle scaled hair; + + downstroke_angle = angle downstroke_dir; + z1 = center + whatever * (-1, -2); + x1 = xpart center -.28 reduced_il; + + top z2r = center + (0,reduced_il + stafflinethickness/2); + + x4 = xpart center - .1 reduced_il; + bot y4r = -(reduced_il + .5 stafflinethickness); + + z3 = (z4 - center) rotated inner_thick_end + center; + + z5r = (- breapth_factor, .37)* reduced_il + center; + penpos5(thickness, 135); + + z6 = center + whatever * downstroke_dir; + y6 = ypart center + 2 reduced_il; + + + z7l - z6 = whatever *(z5- z6) ; + y7l = 3.5 reduced_il; + + + + z8r = .4 [z9r, z7r] + 1.5 stafflinethickness * dir 52; + + x9 = .7 [x10, x7r]; + top y9l = 5 reduced_il; + + y10 = 3. reduced_il; + y11 = -11/7 reduced_il; + + y12 = ypart center - 18.5/7 reduced_il; + x12 = x11 - 5 /7 reduced_il; + + z13 = z12 + .6 reduced_il*(-1,1); + + (z10r - z10l) dotprod (unitvector downstroke_dir rotated 90) = + thinnib; + + center - z10= whatever * downstroke_dir; + center - z11 = whatever * downstroke_dir; + + penpos1(thinnib, angle(-1,-2)); + penpos2(thickness, 90); + penpos3(thinnib, -90 + inner_thick_end); + penpos4(thinnib, -90); + + + penpos7(thickness, 135); + penpos8(1.5 thinnib, - 70 + angle downstroke_dir); + penpos9(1.5 thickness, -80); + penpos10(whatever, downstroke_angle + 10); + penpos11(thinnib, downstroke_angle + 90); + penpos12(thinnib, -90); + penpos13(3 thinnib, 180); + + + filldraw z2l{right} .. z3l.. z4l{left} .. z5l{up} .. z7l{up} + %.. z8l + .. z9l & z9l .. + {downstroke_dir}z10l --- z11l -- z11r --- z10r{- downstroke_dir} + .. tension .8 + .. z9r & z9r + %.. z8r + .. z7r{down} .. z5r{down} .. z4r{right} + .. z3r .. z2r{left} .. + tension .95 .. + z1r -- z1l + .. tension 0.85 ..cycle; + + filldraw simple_serif(z1r, z1l, 90) -- cycle; + + filldraw z12r{left} .. z13r{up} -- z13l{down} .. z12l{right} .. cycle; + + draw_bulb(-1, z13l, lft z13r, 6/14 reduced_il, 1.0); + + pickup pencircle scaled (thinpen); + draw z10 --- z11 .. z12{left}; + + penlabels(range 1 thru 15); +enddef; + + +fet_beginchar("G clef", "violin", "violinclef") + if test = 1: + draw_staff(-1,3); + fi; + draw_gclef((1.6 interline#,0), 1.0); +fet_endchar; +fet_beginchar("G clef", "violin_change", "cviolinclef") + draw_gclef((1.2 interline#,0), .8); +fet_endchar; + fet_endgroup("klef"); diff --git a/tex/feta16.tex b/tex/feta16.tex index 1dd3f19865..777cda5fa7 100644 --- a/tex/feta16.tex +++ b/tex/feta16.tex @@ -1,5 +1,5 @@ % generated automatically by mf-to-table.py version 0.4 -% on Wed Nov 5 23:51:17 1997 +% on Tue Nov 11 13:31:20 1997 % Do not edit % input from out/feta16.log % name @@ -69,4 +69,6 @@ % klef \fetdef\bassclef{51} \fetdef\cbassclef{52} +\fetdef\violinclef{53} +\fetdef\cviolinclef{54} diff --git a/tex/feta20.tex b/tex/feta20.tex index 5a820d00bb..00dad23d8b 100644 --- a/tex/feta20.tex +++ b/tex/feta20.tex @@ -1,5 +1,5 @@ % generated automatically by mf-to-table.py version 0.4 -% on Wed Nov 5 23:51:26 1997 +% on Tue Nov 11 13:31:29 1997 % Do not edit % input from out/feta20.log % name @@ -69,4 +69,6 @@ % klef \fetdef\bassclef{51} \fetdef\cbassclef{52} +\fetdef\violinclef{53} +\fetdef\cviolinclef{54}