diff -Naur lilypond-1.5.28.NEW/input/test/ancient-font.ly lilypond-1.5.28.NEW.1/input/test/ancient-font.ly --- lilypond-1.5.28.NEW/input/test/ancient-font.ly Mon Dec 31 20:08:27 2001 +++ lilypond-1.5.28.NEW.1/input/test/ancient-font.ly Fri Jan 25 02:35:09 2002 @@ -41,7 +41,7 @@ % \property Staff.clefOctavation = #0 \clef "vaticana_do2" - \property Voice.NoteHead \override #'style = #'vaticana_subbipunctum + \property Voice.NoteHead \override #'style = #'vaticana_inclinatum a! b! \property Staff.BarLine \override #'bar-size = #3.0 \bar "|" \property Voice.NoteHead \override #'style = #'vaticana_virga diff -Naur lilypond-1.5.28.NEW/mf/feta-bolletjes.mf lilypond-1.5.28.NEW.1/mf/feta-bolletjes.mf --- lilypond-1.5.28.NEW/mf/feta-bolletjes.mf Wed Dec 5 18:54:28 2001 +++ lilypond-1.5.28.NEW.1/mf/feta-bolletjes.mf Thu Jan 24 04:04:35 2002 @@ -5,6 +5,7 @@ % % (c) 1997--2001 Jan Nieuwenhuizen % & Han-Wen Nienhuys +% & Juergen Reuter % @@ -611,45 +612,15 @@ % % % -% EDITIO VATICANA +% EDITIO VATICANA (including solesmes extensions) % % % -% subbipunctum -fet_beginchar("Ed. Vat. subbipunctum", "0vaticana_subbipunctum", - "vatsubbipunctumhead") - save b_h, a_w; - a_b := 1.54; % b_h*a_b/a_w = wd/ht - b_h := 0.85; - a_w := 1.09; - - save a, beta, ht, wd; - ht# = noteheight#; - 2beta# = ht# * b_h; - a# = beta# * a_b; - wd# = 2a# / a_w; - set_char_box(0.3wd#, 0.3wd#, 0.5 ht#, 0.5 ht#); - black_notehead_width# := wd#; - - save za, alpha, size; - pair za; - define_pixels(ht, wd); - alpha = 35; - size = 0.45ht; - pickup pencircle - xscaled 0 - yscaled size rotated -alpha; - za = (0, size) / 2 rotated alpha; - draw -za .. za; - -fet_endchar; - - -% parametrized punctum +% parameterized punctum def punctum_char (expr verbose_name, internal_name, mudela_name, - left_stem, right_stem, - straight, reverse_convexity, excentric, up_shift, mag) = + left_stem, right_stem, linea, cavum, + straight, auctum, direction_up, excentric, up_shift, mag) = fet_beginchar(verbose_name, internal_name, mudela_name) save b_h, a_w; @@ -662,24 +633,37 @@ 2beta# = ht# * b_h; a# = beta# * a_b; wd# = 2a# / a_w; - set_char_box(0.25wd#, 0.25wd#, 0.5ht#, 0.5ht#); + set_char_box(0.50wd#, 0.10wd#, 0.5ht#, 0); black_notehead_width# := wd#; - save convexity; + % direction + save direction, direction_sign; + pair direction; + if direction_up: + direction = up; + direction_sign# = 1; + else: + direction = down; + direction_sign# = -1; + fi; + + % convexity and excentricity + save u_convexity, u_excentricity; if straight: - if reverse_convexity: - convexity# = -0.02ht#; - else: - convexity# = +0.02ht#; - fi; + u_convexity# = -0.01ht#; + u_excentricity# = 0.0ht#; % dummy + elseif auctum: + u_convexity# = -0.03ht#; + u_excentricity# = +0.25ht#; else: - if reverse_convexity: - convexity# = -0.05ht#; - else: - convexity# = +0.05ht#; - fi; + u_convexity# = -0.05ht#; + u_excentricity# = 0.0ht#; % dummy fi; + save convexity, excentricity; + convexity# = direction_sign# * u_convexity#; + excentricity# = direction_sign# * u_excentricity#; + % y shift offset save yoffs; if up_shift: yoffs# = 0.08ht#; @@ -687,86 +671,218 @@ yoffs# = 0.00ht#; fi - define_pixels(ht, wd, convexity, yoffs); + define_pixels(convexity, excentricity, yoffs, ht, wd); pickup pencircle scaled stafflinethickness; - if excentric: - z1 = (0.00wd, yoffs - 1.0convexity); - z2 = (0.08wd, yoffs + 1.4convexity); - z3 = (0.40wd, yoffs); - penpos1(0.50ht, 90); - penpos2(0.50ht, 90); - penpos3(0.50ht, 90); - if reverse_convexity: - penstroke z1e{up} .. z2e{right} .. z3e; - else: - penstroke z1e{down} .. z2e{right} ..z3e; - fi; + path p; + save height, yoffs_bt; + define_pixels (height, yoffs_bt); + height# = max (0.5ht# - stafflinethickness#, 0); + yoffs_bt# = yoffs# - (height# - stafflinethickness#)/2 - + convexity#; + xpart z1a = xpart z1b; + xpart z2a = xpart z2b; + xpart z3a = xpart z3b; + ypart z1a + height = ypart z1b; + ypart z2a + height = ypart z2b; + ypart z3a + height = ypart z3b; + + if auctum: + z1a = (0.00wd + stafflinethickness/2, yoffs_bt); + z2a = (0.20wd, yoffs_bt + 1.0*convexity); + z3a = (0.40wd - stafflinethickness/2, + yoffs_bt + 1.0*excentricity); + p = z1a .. {right}z2a .. {direction}z3a -- + z3b{-direction} .. z2b{left} .. z1b -- cycle; + elseif excentric: + z1a = (0.00wd + stafflinethickness/2, + yoffs_bt - 1.0*convexity); + z2a = (0.08wd, yoffs_bt + 1.4*convexity); + z3a = (0.40wd - stafflinethickness/2, yoffs_bt); + p = z1a{direction} .. z2a{right} .. z3a -- + z3b .. {left}z2b .. {-direction}z1b -- cycle; else: - z1 = (0.00wd, yoffs); - z2 = (0.20wd, yoffs + convexity); - z3 = (0.40wd, yoffs); - penpos1(0.50ht, 90); - penpos2(0.50ht, 90); - penpos3(0.50ht, 90); - penstroke z1e .. z2e .. z3e; + z1a = (0.00wd + stafflinethickness/2, yoffs_bt); + z2a = (0.20wd, yoffs_bt + 1.0*convexity); + z3a = (0.40wd - stafflinethickness/2, yoffs_bt); + p = z1a .. z2a .. z3a -- + z3b .. z2b .. z1b -- cycle; fi; + if cavum: + draw p; + else: + filldraw p; + fi; + + + pickup pencircle scaled stafflinethickness; + if left_stem: - z5=(0.00wd + 0.5 stafflinethickness, yoffs); - z6=(0.00wd + 0.5 stafflinethickness, yoffs - 1.5ht); + z5=(0.00wd + stafflinethickness/2, yoffs); + z6=(0.00wd + stafflinethickness/2, yoffs - 1.5ht); draw z5 -- z6; - elseif right_stem: - z5=(0.40wd - 0.25 stafflinethickness, yoffs); - z6=(0.40wd - 0.25 stafflinethickness, yoffs - 1.5ht); + fi; + + if right_stem: + z5=(0.40wd - stafflinethickness/2, yoffs); + z6=(0.40wd - stafflinethickness/2, yoffs - 1.5ht); draw z5 -- z6; fi; + if linea: + save linea_width, linea_height; + linea_width# = stafflinethickness#; + linea_height# = 0.85 ht#; + define_pixels (linea_width, linea_height); + draw_block ((-0.10wd - linea_width/2, + yoffs - linea_height/2), + (-0.10wd + linea_width/2, + yoffs + linea_height/2)); + draw_block ((+0.50wd - linea_width/2, + yoffs - linea_height/2), + (+0.50wd + linea_width/2, + yoffs + linea_height/2)); + fi; fet_endchar; enddef; +% parameterized punctum inclinatum +def inclinatum_char(expr verbose_name, internal_name, mudela_name, + small, stropha, auctum) = + + fet_beginchar(verbose_name, internal_name, mudela_name) + + save b_h, a_w; + a_b := 1.54; % b_h*a_b/a_w = wd/ht + b_h := 0.85; + a_w := 1.09; + + save a, beta, ht, wd; + ht# = noteheight#; + 2beta# = ht# * b_h; + a# = beta# * a_b; + wd# = 2a# / a_w; + set_char_box(0.3wd#, 0.3wd#, 0.5 ht#, 0.5 ht#); + black_notehead_width# := wd#; + + save za, alpha, size; + pair za; + alpha = 35; + define_pixels(ht, wd); + + if small: + size# = 0.23ht#; + else: + size# = 0.45ht#; + fi; + + define_pixels(size); + + pickup pencircle + xscaled blot_diameter + yscaled size rotated -alpha; + za = (0, size - blot_diameter/2) / 2 rotated alpha; + draw -za .. za; + + if stropha: + pickup pencircle + xscaled (size/3) + yscaled size rotated alpha; + save za, off_angle; pair za; + off_angle := 15; + za = (0, -size) / 2 rotated -(alpha + off_angle); + undraw za; + fi; + + if auctum: + pickup pencircle scaled stafflinethickness; + save za, zb; + pair za, zb; + za = ((0, -size) rotated -alpha) + + (0, stafflinethickness/2); + xpart zb = 0; + ypart zb = ypart za; + draw za{(0,-1) rotated alpha} .. + {(0,1) rotated -alpha}zb; + fi; + fet_endchar; +enddef; % punctum punctum_char("Ed. Vat. punctum", "0vaticana_punctum", "vatpunctumhead", - false, false, false, false, false, false, 1.0); + false, false, false, false, false, + false, false, false, false, 1.0); + +% punctum cavum (for OpusTeX compatibility) +%punctum_char("Ed. Vat. punctum cavum", "0vaticana_punctum_cavum", +% "vatpunctumcavumhead", +% false, false, false, true, false, +% false, false, false, false, 1.0); + +% linea punctum (for OpusTeX compatibility) +%punctum_char("Ed. Vat. linea punctum", "0vaticana_linea_punctum", +% "vatlineapunctumhead", +% false, false, true, false, false, +% false, false, false, false, 1.0); + +% linea punctum cavum (for OpusTeX compatibility) +%punctum_char("Ed. Vat. linea punctum cavum", "0vaticana_linea_punctum_cavum", +% "vatlineapunctumcavumhead", +% false, false, true, true, false, +% false, false, false, false, 1.0); + +% punctum inclinatum +inclinatum_char("Ed. Vat. inclinatum", "0vaticana_inclinatum", + "vatinclinatumhead", + false, false, false); % virga (i.e. right stemmed punctum) punctum_char("Ed. Vat. virga", "0vaticana_virga", "vatvirgahead", - false, true, false, false, false, false, 1.0); + false, true, false, false, false, + false, false, false, false, 1.0); % left stemmed punctum as used in clivis (flexa) ligature punctum_char("Ed. Vat. reverse virga", "0vaticana_rvirga", "vatrvirgahead", - true, false, false, false, false, false, 1.0); + true, false, false, false, false, + false, false, false, false, 1.0); % pes lower punctum punctum_char("Ed. Vat. pes lower punctum", "0vaticana_lpes", "vatlpeshead", - false, false, true, true, false, false, 1.0); + false, false, false, false, true, + false, true, false, false, 1.0); % pes upper punctum punctum_char("Ed. Vat. pes upper punctum", "0vaticana_upes", "vatupeshead", - false, false, true, false, false, false, 1.0); + false, false, false, false, true, + false, false, false, false, 1.0); % pes upper punctum (shifted variation) % % Note: This note head is used instead of the regular pes upper % punctum to avoid collision with the lower punctum note of the pes when % the upper punctum sits directly on top of the lower punctum. +% punctum_char("Ed. Vat. var pes upper punctum", "0vaticana_vupes", - "vatvupeshead", - false, false, true, false, false, true, 1.0); + "vatvupeshead", + false, false, false, false, true, + false, false, false, true, 1.0); % small punctum as used in epiphonus/cephalicus punctum_char("Ed. Vat. plica", "0vaticana_plica", "vatplicahead", - false, false, true, false, false, false, 0.5); + false, false, false, false, true, + false, false, false, false, 0.5); % excentric punctum as used in epiphonus punctum_char("Ed. Vat. epiphonus", "0vaticana_epiphonus", "vatepiphonushead", - false, false, false, true, true, false, 1.0); + false, false, false, false, false, + false, true, true, false, 1.0); % excentric punctum as used in cephalicus punctum_char("Ed. Vat. cephalicus", "0vaticana_cephalicus", - "vatcephalicushead", - false, false, false, false, true, false, 1.0); + "vatcephalicushead", + false, false, false, false, false, + false, false, true, false, 1.0); % quilisma fet_beginchar("Ed. Vat. quilisma", "0vaticana_quilisma", "vatquilismahead") @@ -776,23 +892,84 @@ a_w:=1.09; save a, beta, ht, wd; - ht# =noteheight#; - 2beta#=ht#*b_h; + ht# = noteheight#; + 2beta# = ht#*b_h; a# = beta#*a_b; wd# = 2a# / a_w; - set_char_box(0.1wd#, 0.4wd#, 0.5 ht#, 0.5 ht#); + set_char_box(0.4wd#, 0.00wd#, 0.5 ht#, 0.5 ht#); black_notehead_width# := wd#; define_pixels(ht, wd); pickup pencircle xscaled stafflinethickness yscaled 0.4ht; - z1=(0.00wd,-0.10ht); - z2=(0.00wd,+0.05ht); - z3=(0.15wd,-0.05ht); - z4=(0.15wd,+0.10ht); - z5=(0.30wd,+0.00ht); - z6=(0.30wd,+0.15ht); - draw z1 -- z2 -- z3 -- z4 -- z5 -- z6; + z1 = (0.00wd, -0.11ht); + z2 = (0.00wd, +0.06ht); + z3 = (0.10wd, -0.05ht); + z4 = (0.16wd, +0.11ht); + z5 = (0.24wd, -0.01ht); + z6 = (0.30wd, +0.15ht); + z7 = (0.40wd, +0.04ht); + z8 = (0.40wd, +0.21ht); + draw z1 -- z2 -- z3 -- z4 -- z5 -- z6 -- z7 -- z8; +fet_endchar; + +% solesmes punctum inclinatum parvum +%inclinatum_char("Solesmes punctum inclinatum parvum", "0solesmes_incl_parvum", +% "solinclparvumhead", +% true, false, false); + +% solesmes punctum auctum ascendens +%punctum_char("Solesmes punctum auctum ascendens", "0solesmes_auct_asc", +% "solauctaschead", +% false, false, false, false, false, +% true, true, false, false, 1.0); + +% solesmes punctum auctum descendens +%punctum_char("Solesmes punctum auctum descendens", "0solesmes_auct_desc", +% "solauctdeschead", +% false, false, false, false, false, +% true, false, false, false, 1.0); + +% solesmes punctum inclinatum auctum +%inclinatum_char("Solesmes punctum incl. auctum", "0solesmes_incl_auctum", +% "solpunctuminclinatumauctumhead", +% false, false, true); + +% solesmes stropha +%inclinatum_char("Solesmes stropha", "0solesmes_stropha", +% "solstrophahead", +% false, true, false); + +% solesmes stropha aucta +%inclinatum_char("Solesmes stropha aucta", "0solesmes_stropha_aucta", +% "solstrophaauctahead", +% false, true, true); + +% solesmes oriscus +fet_beginchar("Solesmes oriscus", "0solesmes_oriscus", + "soloriscushead") + save b_h, a_w; + a_b := 1.54; % b_h*a_b/a_w = wd/ht + b_h := 0.85; + a_w := 1.09; + + save a, beta, ht, wd; + ht# = noteheight# * mag; + 2beta# = ht# * b_h; + a# = beta# * a_b; + wd# = 2a# / a_w; + set_char_box(0.5wd#, 0.0wd#, 0.5ht#, 0.5ht#); + black_notehead_width# := wd#; + + save convexity; + convexity# = +0.05ht#; + define_pixels(ht, wd, convexity); + pickup pencircle xscaled blot_diameter yscaled 0.50ht; + z1 = (0.00wd, -convexity); + z2 = (0.16wd, +convexity); + z3 = (0.33wd, -convexity); + z4 = (0.50wd, +convexity); + draw z1 .. z2 .. z3 .. z4; fet_endchar; %%%%%%%% @@ -804,9 +981,9 @@ % % -% subbipunctum -fet_beginchar("Ed. Med. subbipunctum", "0medicaea_subbipunctum", - "medsubbipunctumhead") +% inclinatum +fet_beginchar("Ed. Med. inclinatum", "0medicaea_inclinatum", + "medinclinatumhead") save b_h, a_w; a_b := 1.54; % b_h*a_b/a_w = wd/ht b_h := 0.85; @@ -826,7 +1003,7 @@ alpha = 35; size = 0.7ht; pickup pencircle - xscaled 0 + xscaled blot_diameter yscaled size rotated -alpha; za = (0, size) / 2 rotated alpha; draw -za .. za; @@ -846,24 +1023,25 @@ black_notehead_width# := wd#; define_pixels(ht, wd); - pickup pencircle scaled stafflinethickness; + pickup pencircle + xscaled blot_diameter + yscaled 0.50ht; + z1 = (0.00wd + blot_diameter/2, 0); + z2 = (0.40wd - blot_diameter/2, 0); + draw z1 .. z2; - z1 = (0.00wd, 0); - z2 = (0.20wd, 0); - z3 = (0.40wd, 0); - penpos1(0.50ht, 90); - penpos2(0.50ht, 90); - penpos3(0.50ht, 90); - penstroke z1e .. z2e .. z3e; + pickup pencircle + xscaled stafflinethickness + yscaled blot_diameter; if left_down_stem: - z5=(0.00wd + 0.5 stafflinethickness, 0); - z6=(0.00wd + 0.5 stafflinethickness, - 1.25ht); - draw z5 -- z6; + z4=(0.00wd + stafflinethickness/2, blot_diameter/2); + z5=(0.00wd + stafflinethickness/2, - 1.25ht); + draw z4 .. z5; elseif left_up_stem: - z5=(0.00wd + 0.5 stafflinethickness, 0); - z6=(0.00wd + 0.5 stafflinethickness, + 1.25ht); - draw z5 -- z6; + z4=(0.00wd + stafflinethickness/2, blot_diameter/2); + z5=(0.00wd + stafflinethickness/2, + 1.25ht); + draw z4 .. z5; fi; fet_endchar; @@ -915,7 +1093,7 @@ alpha = 55; size = 0.7ht; pickup pencircle - xscaled 0 + xscaled blot_diameter yscaled size rotated -alpha; za = (0, size) / 2 rotated alpha; draw -za .. za; @@ -955,7 +1133,7 @@ alpha = 35; size = 0.7ht; pickup pencircle - xscaled 0 + xscaled blot_diameter yscaled size rotated -alpha; za = (size, 0); draw -za .. za; diff -Naur lilypond-1.5.28.NEW/mf/feta-custodes.mf lilypond-1.5.28.NEW.1/mf/feta-custodes.mf --- lilypond-1.5.28.NEW/mf/feta-custodes.mf Wed Dec 5 18:54:28 2001 +++ lilypond-1.5.28.NEW.1/mf/feta-custodes.mf Sun Jan 13 23:42:51 2002 @@ -3,7 +3,7 @@ % % source file of LilyPond's pretty-but-neat music font % -% (C) 2000 Juergen Reuter +% (C) 2000, 2002 Juergen Reuter % save black_notehead_width; @@ -102,17 +102,18 @@ black_notehead_width# := wd#; define_pixels(ht, wd); - pickup pencircle scaled stafflinethickness; - z1 = (0.0wd, +0.0ht); - z2 = (1.0wd + 0.5stafflinethickness, +0.0ht); - penpos1(1.0ht, 90); - penpos2(1.0ht, 90); - penstroke z1e{z2 - z1} .. {right}z2e; - - z3=(1.0wd, +0.0ht); - z4=(1.0wd, +1.0ht); - draw z3 -- z4; + % head + pickup pencircle xscaled blot_diameter yscaled 1.0ht; + z1 = (0.0wd, 0.0ht); + z2 = z1 + (1.0wd - blot_diameter/2, 0); + draw z1 .. z2; + + % stem + pickup pencircle scaled stafflinethickness; + z3 = (1.0wd - stafflinethickness/2, 0.0ht); + z4 = z3 + (0, +1.0ht); + draw z3 .. z4; fet_endchar; @@ -132,17 +133,18 @@ black_notehead_width# := wd#; define_pixels(ht, wd); - pickup pencircle scaled stafflinethickness; - z1 = (0.0wd, +0.0ht); - z2 = (1.0wd + 0.5stafflinethickness, -0.0ht); - penpos1(1.0ht, 90); - penpos2(1.0ht, 90); - penstroke z1e{z2 - z1} .. {right}z2e; - - z3=(1.0wd, -0.0ht); - z4=(1.0wd, -1.0ht); - draw z3 -- z4; + % head + pickup pencircle xscaled blot_diameter yscaled 1.0ht; + z1 = (0.0wd, 0.0ht); + z2 = z1 + (1.0wd - blot_diameter/2, 0); + draw z1 .. z2; + + % stem + pickup pencircle scaled stafflinethickness; + z3 = (1.0wd - stafflinethickness/2, 0.0ht); + z4 = z3 + (0, -1.0ht); + draw z3 .. z4; fet_endchar; diff -Naur lilypond-1.5.28.NEW/mf/feta-klef.mf lilypond-1.5.28.NEW.1/mf/feta-klef.mf --- lilypond-1.5.28.NEW/mf/feta-klef.mf Wed Dec 5 18:54:30 2001 +++ lilypond-1.5.28.NEW.1/mf/feta-klef.mf Sun Jan 13 23:14:23 2002 @@ -6,7 +6,7 @@ % % (c) 1997--2001 Han-Wen Nienhuys , % Jan Nieuwenhuizen , -% Juergen Reuter +% Juergen Reuter fet_begingroup("clefs"); @@ -597,16 +597,13 @@ define_pixels(reduced_slt); define_pixels(stem_width); - penpos6(stem_width, 0); - penpos7(stem_width, 0); - z6l = exact_center; - z7l = z6l + (0, -2reduced_il); - fill z6l -- z7l -- z7r -- z6r -- cycle; - penpos8(stem_width, 0); - penpos9(stem_width, 0); - z8l = z6l + (-3reduced_slt, 0); - z9l = z8l + (0, -2reduced_il); - fill z8l -- z9l -- z9r -- z8r -- cycle; + pickup pencircle xscaled stem_width yscaled blot_diameter; + z6 = exact_center + (stem_width/2, 0); + z7 = z6 + (0, -2reduced_il); + z8 = z6 + (-3reduced_slt, 0); + z9 - z8 = z7 - z6; + draw z6 .. z7; + draw z8 .. z9; addto currentpicture also currentpicture yscaled -1 shifted (0, 2*(ypart exact_center)); @@ -650,20 +647,17 @@ addto currentpicture also currentpicture yscaled -1 shifted (0, 2*(ypart exact_center) - interline); - penpos6(stem_width, 0); - penpos7(stem_width, 0); - z6l = exact_center + (0, 0); - z7l = z6l + (0, -2.2reduced_il); - fill z6l -- z7l -- z7r -- z6r -- cycle; + pickup pencircle xscaled stem_width yscaled blot_diameter; + z6 = exact_center + (stem_width/2, 0); + z7 = z6 + (0, -2.2reduced_il); + draw z6 .. z7; addto currentpicture also currentpicture xscaled -1 shifted (2x4l,0); - penpos8(stem_width, 0); - penpos9(stem_width, 0); - z8l = exact_center + (0, 0); - z9l = z8l + (0, -3.2reduced_il); - fill z8l -- z9l -- z9r -- z8r -- cycle; + z8 = exact_center + (stem_width/2, 0); + z9 = z8 + (0, -3.2reduced_il); + draw z8 .. z9; addto currentpicture also currentpicture yscaled -1 shifted (0, 4*(ypart exact_center)); @@ -766,29 +760,30 @@ addto currentpicture also currentpicture xscaled -1 shifted (2x4l,0); - penpos6(stem_width, 0); - penpos7(stem_width, 0); - z6r = exact_center + (2x4l, 0); - z7r = z6r + (0, -4reduced_il); - fill z6l -- z7l -- z7r -- z6r -- cycle; - - draw_diamond(exact_center + - (1.6interline*reduction, interline/2), reduction); - - % upper stem - penpos8(stem_width, 0); - penpos9(stem_width, 0); - z8l = exact_center + (1.6interline*reduction, interline*reduction); - z9l = z8l + (0, 1.5interline*reduction); - fill z8l -- z9l -- z9r -- z8r -- cycle; - - draw_diamond(exact_center + - (1.6interline*reduction, -interline/2), reduction); - penpos10(stem_width, 0); - penpos11(stem_width, 0); - z10r = exact_center + (1.6interline*reduction, -interline*reduction); - z11r = z10r + (0, -3.5interline*reduction); - fill z10l -- z11l -- z11r -- z10r -- cycle; + + % brevis stem + pickup pencircle xscaled stem_width yscaled blot_diameter; + z6 = exact_center + (2x4l - stem_width/2, 0); + z7 = z6 + (0, -4reduced_il); + draw z6 .. z7; + + % upper diamond + draw_diamond(exact_center + (1.6interline*reduction, interline/2), + reduction); + pickup pencircle xscaled stem_width yscaled blot_diameter; + z8 = exact_center + + (1.6interline*reduction + stem_width/2, interline*reduction); + z9 = z8 + (0, 1.5interline*reduction); + draw z8 .. z9; % diamond stem + + % lower diamond + draw_diamond(exact_center + (1.6interline*reduction, -interline/2), + reduction); + pickup pencircle xscaled stem_width yscaled blot_diameter; + z10 = exact_center + + (1.6interline*reduction - stem_width/2, -interline*reduction); + z11 = z10 + (0, -3.5interline*reduction); + draw z10 .. z11; % diamond stem set_char_box(0, 3head_width#, 3.5noteheight#*reduction, 1.5noteheight#*reduction); diff -Naur lilypond-1.5.28.NEW/mf/feta-params.mf lilypond-1.5.28.NEW.1/mf/feta-params.mf --- lilypond-1.5.28.NEW/mf/feta-params.mf Wed Dec 5 18:54:30 2001 +++ lilypond-1.5.28.NEW.1/mf/feta-params.mf Sun Jan 13 22:13:57 2002 @@ -1,5 +1,8 @@ stafflines = 5; +% [reuter] URG! This is not always true. One of the effects of +% keeping this a constant is that, for notation with less stafflines, +% stafflinethickness gets too small. staff_space#:=staffsize#/(stafflines-1); diff -Naur lilypond-1.5.28.NEW/mf/feta-test11.mf lilypond-1.5.28.NEW.1/mf/feta-test11.mf --- lilypond-1.5.28.NEW/mf/feta-test11.mf Wed Dec 5 18:54:30 2001 +++ lilypond-1.5.28.NEW.1/mf/feta-test11.mf Sun Jan 13 22:19:18 2002 @@ -1,9 +1,9 @@ -% feta-test16 +% feta-test11 % part of LilyPond's pretty-but-neat music font input feta-autometric; -fet_beginfont("feta-test", 23); -staffsize#:=23pt#; +fet_beginfont("feta-test", 11); +staffsize#:=11pt#; test:=1; % smoked cheese diff -Naur lilypond-1.5.28.NEW/mf/feta-test13.mf lilypond-1.5.28.NEW.1/mf/feta-test13.mf --- lilypond-1.5.28.NEW/mf/feta-test13.mf Wed Dec 5 18:54:30 2001 +++ lilypond-1.5.28.NEW.1/mf/feta-test13.mf Sun Jan 13 22:19:05 2002 @@ -1,4 +1,4 @@ -% feta-test16 +% feta-test13 % part of LilyPond's pretty-but-neat music font input feta-autometric; diff -Naur lilypond-1.5.28.NEW/mf/feta-test26.mf lilypond-1.5.28.NEW.1/mf/feta-test26.mf --- lilypond-1.5.28.NEW/mf/feta-test26.mf Wed Dec 5 18:54:30 2001 +++ lilypond-1.5.28.NEW.1/mf/feta-test26.mf Sun Jan 13 22:18:29 2002 @@ -1,4 +1,4 @@ -% feta-test16 +% feta-test26 % part of LilyPond's pretty-but-neat music font input feta-autometric;