From: fred Date: Wed, 27 Mar 2002 01:03:00 +0000 (+0000) Subject: lilypond-1.3.150 X-Git-Tag: release/1.5.59~709 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=fc828932c8e195c31c57c7e285b62c24c671bd92;p=lilypond.git lilypond-1.3.150 --- diff --git a/input/test/super-sub.ly b/input/test/super-sub.ly index 5d55806d8d..3e8f8ff3c2 100644 --- a/input/test/super-sub.ly +++ b/input/test/super-sub.ly @@ -23,5 +23,7 @@ texidoc="Test super/sub, raise and overstrike." c^#'(columns "foe" ((bold roman overstrike) "o") "/") c^#'(columns "foe" ((extent . (0 . 0)) "o") "/") c^#'(columns "foo" (super "bar" (super "baz"))) + c + c^#`(columns (lines "" ";" "") (lines "1" ((bold) "2") "3")) } } \ No newline at end of file diff --git a/lily/text-item.cc b/lily/text-item.cc index 3e17134db4..5441963c0e 100644 --- a/lily/text-item.cc +++ b/lily/text-item.cc @@ -217,9 +217,14 @@ Text_item::markup_text2molecule (Grob *me, SCM markup_text, if (!m.empty_b ()) { m.translate (o); - if (axis == Y_AXIS && baseline_skip) - next_kern += baseline_skip - m.extent (Y_AXIS)[UP]; - mol.add_at_edge (axis, axis == X_AXIS ? RIGHT : DOWN, m, next_kern); + if (mol.empty_b ()) + mol = m; + else + { + if (axis == Y_AXIS && baseline_skip) + next_kern += baseline_skip - m.extent (Y_AXIS)[UP]; + mol.add_at_edge (axis, axis == X_AXIS ? RIGHT : DOWN, m, next_kern); + } } text = gh_cdr (text); } diff --git a/ps/lilyponddefs.ps b/ps/lilyponddefs.ps index d4994a0e0f..899b0f0061 100644 --- a/ps/lilyponddefs.ps +++ b/ps/lilyponddefs.ps @@ -69,8 +69,11 @@ grestore } bind def -/start-line -{ +/start-line % height +{ + dup base-line-skip gt { + /line-height exch def + } if line-y top-margin sub base-line-skip lt { showpage /line-y vsize top-margin sub def @@ -82,29 +85,10 @@ /stop-line { /the-line exch def - 0 0 moveto the-line clippath pathbbox + the-line stroke grestore - exch 4 -1 roll - sub - 3 1 roll - exch sub - %pstack - % - % ugh: now we should have `width height' on stack, - % but it's probably just the width and height of last element - % (the last staff) - % How do we get all heights of all staffs in a line? - % - % output-scale div neg line-y add /line-y exch def - % - % discarding height... - pop - % - % discard width - pop - % use fixed base-line-skip for now - line-y base-line-skip output-scale mul sub /line-y exch def + line-y line-height output-scale mul sub /line-y exch def } bind def % FIXME: font definitions should come from LilyPond @@ -215,11 +199,12 @@ /turnOnExperimentalFeatures { } bind def - staff-line-thickness setlinewidth +% set postscript paper size paper-size +% initialise paper dimensions staff-height init-paper /line-x left-margin def