]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.150
authorfred <fred>
Wed, 27 Mar 2002 01:03:00 +0000 (01:03 +0000)
committerfred <fred>
Wed, 27 Mar 2002 01:03:00 +0000 (01:03 +0000)
input/test/super-sub.ly
lily/text-item.cc
ps/lilyponddefs.ps

index 5d55806d8dfcf7719227cff2f1b2839a804c2467..3e8f8ff3c24eedca81ac108b82448fd0085a1234 100644 (file)
@@ -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
index 3e17134db4e00bb0f8cfe56f9731e725758d9140..5441963c0ef54485ee735b13a5d67f8319db0bc6 100644 (file)
@@ -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);
     }
index d4994a0e0f5757fd8fdc0b80f78273f218b73fb9..899b0f0061a9504fb3e69b52a13296ae008fc88b 100644 (file)
        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
 /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
 
 /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