From: fred Date: Wed, 27 Mar 2002 02:07:00 +0000 (+0000) Subject: lilypond-1.5.42 X-Git-Tag: release/1.5.59~253 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=68de40b8298625a83a1805fedc68dcf04e24d454;p=lilypond.git lilypond-1.5.42 --- diff --git a/ChangeLog b/ChangeLog index 5154a27c0a..cdc811d3ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,52 @@ +2002-03-15 Mats Bengtsson + + * buildscripts/lilypond-profile.sh: + + * mf/GNUmakefile (INSTALLATION_OUT_DIR*), + buildscripts/lilypond-login.sh, buildscripts/lilypond-profile.sh: + Implement new font installation strategy + + * Documentation/misc/fontinstallation (TEXMF): Documentation of + the new font installation strategy. + + * lilypond-mode.el (LilyPond-mode-map): Add shortcut "CTRL-c ;" + for comment-region. + + * input/test/staff-size.ly: Simplified using StaffContainer + + * mf/GNUmakefile (ALL_GEN_FILES): Actually generate the + lilypond.map file + +2002-03-17 Han-Wen + + * mf/feta-schrift.mf: endless twiddling of Tr. + + * mf/feta-eindelijk.mf: 8th rest: make darker, top of brush lower, and + endless twiddling with the bulb shape. + + * lily/note-head.cc (internal_brew_molecule): make ledger lines a + little smaller if there is an accidental. + +2002-03-17 Jan Nieuwenhuizen + + * scm/ps.scm (bezier-sandwich): Draw circles at slur ends. + + * lily/beam.cc (score_stem_lengths): new quanting stuff + (score_forbidden_quants): Second and third beam quant stuff. + +2002-03-16 Jan Nieuwenhuizen + + * lily/beam.cc (least_squares): Remember least-squares-dy for + later use. + (quantise_interval): Don't quant to dy steeper that + least-squares-dy. Return empty interval if no sane quants found. + (quantise_position): Try quantise_interval until we have + acceptable solution. + +2002-03-15 Jan Nieuwenhuizen + + * scm/interface-description.scm (beam-interface): Update. + 2002-03-15 Han-Wen Nienhuys * VERSION: 1.5.41 released diff --git a/VERSION b/VERSION index fc9b623800..655452a893 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=5 -PATCH_LEVEL=41 +PATCH_LEVEL=42 MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a diff --git a/input/regression/accidental-ledger.ly b/input/regression/accidental-ledger.ly new file mode 100644 index 0000000000..f035e33bcd --- /dev/null +++ b/input/regression/accidental-ledger.ly @@ -0,0 +1,11 @@ + +\header { + texidoc = "Ledger lines are shortened when there are accidentals" +} + +\score { \notes +{ + cis'4 cis'! cis' cis' +} + \paper { linewidth = -1. } +} diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index bbf747842e..e60679d67b 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -23,7 +23,7 @@ public: DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM )); static Interval head_extent (Grob*,Axis); static Molecule ledger_lines (Grob*, bool, int,Direction,Interval); - static Molecule ledger_line (Interval, Grob*) ; + static Molecule ledger_line ( Grob*, Interval); DECLARE_SCHEME_CALLBACK (brew_ez_molecule, (SCM )); static bool has_interface (Grob*); static Real stem_attachment_coordinate (Grob *, Axis a); diff --git a/lily/note-head.cc b/lily/note-head.cc index 01276185eb..a1764e8796 100644 --- a/lily/note-head.cc +++ b/lily/note-head.cc @@ -60,7 +60,7 @@ build a ledger line for small pieces. */ Molecule -Note_head::ledger_line (Interval xwid, Grob *me) +Note_head::ledger_line (Grob *me, Interval xwid) { Drul_array endings; endings[LEFT] = Font_interface::get_default_font (me)->find_by_name ("noteheads-ledgerending"); @@ -105,7 +105,7 @@ Note_head::ledger_lines (Grob*me, --hwn */ - Molecule ledger (ledger_line (idw, me)); + Molecule ledger (ledger_line (me, idw)); if (!take_space) ledger.set_empty (true); @@ -157,10 +157,26 @@ internal_brew_molecule (Grob *me, bool ledger_take_space) { Direction dir = (Direction)sign (p); Interval hd = out.extent (X_AXIS); - Real hw = hd.length ()/4; - out.add_molecule (Note_head::ledger_lines (me, ledger_take_space, streepjes_i, dir, - Interval (hd[LEFT] - hw, - hd[RIGHT] + hw))); + Real left_ledger_protusion = hd.length ()/4; + Real right_ledger_protusion = left_ledger_protusion; + + if (unsmob_grob(me->get_grob_property ("accidentals-grob"))) + { + /* + make a little room for accidentals. + + TODO: this will look silly if a chord has ledger lines, + and only the bottom note has an accidental. + */ + + left_ledger_protusion *= 0.66; + right_ledger_protusion *= 0.8; + } + + Interval l_extents = Interval (hd[LEFT] - left_ledger_protusion, + hd[RIGHT] + right_ledger_protusion); + out.add_molecule (Note_head::ledger_lines (me, ledger_take_space, + streepjes_i, dir, l_extents)); } return out; } diff --git a/mf/feta-eindelijk.mf b/mf/feta-eindelijk.mf index 96e88698f1..648d26dd94 100644 --- a/mf/feta-eindelijk.mf +++ b/mf/feta-eindelijk.mf @@ -180,9 +180,24 @@ def rest_crook(expr a, w) = enddef; % +% Notes about 8th rest: +% +% * 8th rest should be no wider than the black note head +% +% * The inside corner of the horizontal portion is usually a little blotted. +% +% * The top of the crook chops off the vertical brush +% +% * The crook widens a little +% +% * The bottom of the brush is slightly flat, as it has to align with +% stafflines if it is inside the staff. % -% todo: document rest. +% * The top of the brush usually is a little lower than the top of bulb. % +% * The bulb can vary. Sometimes it is open (like in the clefs). Sometimes +% it is closed, or even a flare. +% def normalize (expr p) = (p / length (p)) @@ -196,13 +211,13 @@ def draw_eighth_rest = width# := 1.0 staff_space#; - bulb_diam# := 0.6 staff_space#; + bulb_diam# := 0.64 staff_space#; thin# := 1.1 stafflinethickness#; thick# := 2.2 stafflinethickness#; crook_thick# := 1.8 stafflinethickness#; crook_thin := 1.3 stafflinethickness; - lower_brush = 1.0 stafflinethickness; + lower_brush = 1.5 stafflinethickness; ycenter := 0.5 staff_space; define_pixels (width, bulb_diam, thin, thick, crook_thick); @@ -214,7 +229,7 @@ def draw_eighth_rest = y1 = ycenter + - 1.5 staff_space ; % y9 = y5 - lower_brush; - y2 = y5 - 0.7 stafflinethickness; + y2 = y5 - lower_brush; x2r = width; @@ -225,15 +240,16 @@ def draw_eighth_rest = x4 = 1.02 bulb_diam ; - y4 = ycenter - 2 stafflinethickness + crook_thin; + y4 := ceiling (ycenter - 2 stafflinethickness + crook_thin); - x5 = 0.5 bulb_diam; + x5 = 0.5 bulb_diam - 0.25 stafflinethickness; y5 = ycenter +bulb_diam/2; z9 = z2 + 0.46 stafflinethickness * dir (angle(z2 - z1)- 10); - z7 = (bulb_diam/2,ycenter) + 0.26 staff_space * dir ( 35); - z8 = (0, ycenter); +% z7 = %(bulb_diam/2,ycenter) + 0.23 staff_space * dir ( 35); + z7 = 0.5 [z4, z5] + (0.45 stafflinethickness,0.4 stafflinethickness); + z8 = (0, ycenter + 0.5 stafflinethickness); z6 = whatever [z1l, z2l]; z6 = whatever [z2l, z4] + crook_thick * (crook_dir rotated -90); @@ -247,7 +263,7 @@ def draw_eighth_rest = fill z2r -- z2l -- simple_serif (z1l, z1r, 40) -- cycle; fill z2r{z2r-z1r} .. z9 .. z2l{dir(232)} .. tension 2 - .. z4{left} .. z7{dir(90 + 25)} + .. z4{left} .. tension 0.9 .. z7 %{dir(90 + 25)} .. z5{left} .. z8 .. z3{right} .. {curl 0.2}z6 -- cycle; diff --git a/mf/feta-generic.mf b/mf/feta-generic.mf index 2466feba47..b00d089e27 100644 --- a/mf/feta-generic.mf +++ b/mf/feta-generic.mf @@ -39,12 +39,12 @@ if test = 0: input feta-solfa; else: - input feta-bolletjes; - input feta-banier; - input feta-eindelijk; +% input feta-bolletjes; +% input feta-banier; +% input feta-eindelijk; % input feta-klef; % input feta-toevallig; -% input feta-schrift; + input feta-schrift; % input feta-haak; % input feta-timesig; % input feta-pendaal; diff --git a/mf/feta-schrift.mf b/mf/feta-schrift.mf index 557096892d..49f18ee262 100644 --- a/mf/feta-schrift.mf +++ b/mf/feta-schrift.mf @@ -410,19 +410,21 @@ fet_beginchar("Trill (`tr')","trill","trill") ascender_extra# = 1/2 ex#; ascender# = ascender_extra# + ex#; ex# = 1.4 staff_space#; - kerning# = .60 ex#; + kerning# = .550 ex#; start_nib_angle = 20; - bulb_size = 0.47; + bulb_size = 0.55; define_pixels(ex, ascender_extra, ascender, kerning); t_overshoot = 0.03 ex; fatness = 12/40 ex; - t_fatness = 8/10 fatness; - r_fatness = .75 fatness; - uitschieter = 21/40 ex; + t_fatness = 0.780 fatness; + t_width = 1.8 t_fatness; + r_fatness = 0.75 fatness; + uitschieter = 0.43 ex; hair_thick = blot_diameter; slant = .2; +% slant = .0; local_copy(transform)(currenttransform); currenttransform := currenttransform slanted slant shifted (- staff_space, 0) ; @@ -435,30 +437,36 @@ fet_beginchar("Trill (`tr')","trill","trill") z2 = (x1, 7/18 ex); penpos2(start_nib_wid, start_nib_angle); - z3l = (11/10 t_fatness, - t_overshoot); + z3l = (0.5 t_width, - t_overshoot); - z4l = (13/6 t_fatness, 5/16 ex); - penpos4(hair_thick, 180); + z4l = (t_width, 0.23 ex); + penpos4(whatever, 200); + x4l - x4r = hair_thick; + + x3r = 0.5 [x4r, x2r]; +% 1.7 [x3l, x3r] = x4r; + y3r - y3l = 0.6 t_fatness; - 1.9 [z3l, z3r] = z4r; - z3 = .5 [z3l, z3r]; save t_p, krul_p; path t_p, krul_p, r_p; + z5 = (t_fatness/2, 2/3 ex); +% penpos5(hair_thick, ); - t_p := simple_serif (z1r, z1l, -30) -- z2l {down} .. tension (1 + .5 slant) + t_p := simple_serif (z1r, z1l, -40) -- z2l {down} + .. tension (1 + .5 slant) .. z3l{right} .. z4l{up} -- z4r{down} - .. z3r{left} .. z2r{up} .. z1r -- cycle; + .. z3r{left} + .. tension (1.5 + .7 slant) + .. z2r{up} .. z1r -- cycle; fill t_p ; krul_ang = 32; pickup pencircle scaled hair_thick; - - z5 = (t_fatness/2, 2/3 ex); lft x6 = - uitschieter; y6 = y5 ; % - 1/20 ex; @@ -471,10 +479,6 @@ fet_beginchar("Trill (`tr')","trill","trill") penpos7(hair_thick, up_angle + 90); - x8l = .7 [x9r, x7r]; - y8l = y7l; - penpos8(2 hair_thick, (up_angle +90)/2); - y9 = 3/4 ex; x9 = x1 + kerning; penpos9(r_fatness, 0); @@ -483,27 +487,41 @@ fet_beginchar("Trill (`tr')","trill","trill") y10 = -0.3 stafflinethickness; penpos10(r_fatness, 0); - krul_p := z4{up} .. tension 1.1 .. z5 - .. tension 1 and .75 .. z6 - .. tension .85 and 1.1 .. z5 --- z7; + krul_p := z4{up} + .. tension 0.98 + .. z5 + .. z6 + .. z5 --- z7; draw krul_p; r_p := z7l{z7-z5} .. z9l{down} --- simple_serif (z10l, z10r, -30) --- z9r{up} - .. z8r{left} .. z7r{z5-z7} -- cycle; + .. z7r{z5-z7} -- cycle; fill r_p; - set_char_box(staff_space# , staff_space#, 0,ascender#); + + set_char_box(.85 staff_space# , .85 staff_space#, 0,ascender#); penpos11(1/4 r_fatness, -20); z11r = z9r; - z13 = (x9 + 2 r_fatness, y11 ); - penpos13(r_fatness, 180); - fill z11r{dir 70} .. z13r{down} -- z13l{up} .. z11l{dir 250} -- cycle; - penlabels(range 1 thru 15); + z13 = (x9 + 1.9 r_fatness, y11 - stafflinethickness ); + penpos13(0.45 r_fatness, 170); + z15 = z13r - (bulb_size * r_fatness,0); + z14 = 0.5 [z13l, z15] - (0,bulb_size* r_fatness); + z16 = 0.5 [z13l, z15] + (0,bulb_size* r_fatness); + + + fill z11r{dir 70} .. tension 0.94 .. z13r{down} -- z15{down} + .. tension 0.97 .. z13l{up} + .. z11l{dir 250} -- cycle; + + fill z15{up} .. tension 1.1 .. z13l{down} .. z14 .. cycle; + + + + penlabels(range 1 thru 15); - draw_bulb(-1, z13r, z13l, bulb_size * r_fatness, 1.5); fet_endchar;