]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/text-spanner.cc
patch::: 1.3.132.jcn1
[lilypond.git] / lily / text-spanner.cc
index 22d400cc6bdaa2aeb12b4a6477fae613a4526b7f..ba873c50a9d638b5fbd782cc5cce2967033c3831 100644 (file)
@@ -1,9 +1,10 @@
 /*
+
   text-spanner.cc -- implement Text_spanner
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
+  (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
 #include "molecule.hh"
@@ -47,6 +48,7 @@ Text_spanner::brew_molecule (SCM smob)
   Direction d = LEFT;
   do
     {
+      extra_off [d]=0;
       Item *b = spanner->get_bound (d);
       broken[d] = b->break_status_dir () != CENTER;
 
@@ -79,7 +81,7 @@ Text_spanner::brew_molecule (SCM smob)
 
 
   SCM properties = Font_interface::font_alist_chain (me);
-  
+
   SCM edge_text = me->get_grob_property ("edge-text");
   Drul_array<Molecule> edge;
   if (gh_pair_p (edge_text))
@@ -87,10 +89,14 @@ Text_spanner::brew_molecule (SCM smob)
       Direction d = LEFT;
       do
        {
-         SCM text = index_cell (edge_text, d);
-         edge[d] = Text_item::text2molecule (me, text, properties);
-         if (!edge[d].empty_b ())
-           edge[d].align_to (Y_AXIS, CENTER);
+         /*  Don't repeat edge text for broken end */
+         if (!broken[d])
+           {
+             SCM text = index_cell (edge_text, d);
+             edge[d] = Text_item::text2molecule (me, text, properties);
+             if (!edge[d].empty_b ())
+               edge[d].align_to (Y_AXIS, CENTER);
+           }
        }
       while (flip (&d) != LEFT);
     }