]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/mensural-ligature.cc
Fix Page_breaking::min_page_count on ragged pages.
[lilypond.git] / lily / mensural-ligature.cc
index 936f64b877b90d965d8c4d4ab860d9ca10463389..ca0fe9b039174c2131c2b9f244e22ad6576cfa6b 100644 (file)
@@ -1,10 +1,21 @@
 /*
-  mensural-ligature.cc -- implement Mensural_ligature
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the GNU LilyPond music typesetter
-
-  (c) 2002--2006 Juergen Reuter <reuter@ipd.uka.de>,
+  Copyright (C) 2002--2010 Juergen Reuter <reuter@ipd.uka.de>,
   Pal Benko <benkop@freestart.hu>
+
+  LilyPond is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  LilyPond is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "mensural-ligature.hh"
@@ -94,9 +105,9 @@ internal_brew_primitive (Grob *me)
   SCM primitive_scm = me->get_property ("primitive");
   if (primitive_scm == SCM_EOL)
     {
-      programming_error ("Mensural_ligature: "
-                        "undefined primitive -> ignoring grob");
-      return Stencil ();
+      programming_error ("Mensural_ligature:"
+                        " undefined primitive -> ignoring grob");
+      return Lookup::blank (Box (Interval (0, 0), Interval (0, 0)));
     }
   int primitive = scm_to_int (primitive_scm);
 
@@ -121,26 +132,26 @@ internal_brew_primitive (Grob *me)
   switch (primitive & MLP_ANY)
     {
     case MLP_NONE:
-      return Stencil ();
+      return Lookup::blank (Box (Interval (0, 0), Interval (0, 0)));
     case MLP_LONGA: // mensural brevis head with right cauda
       out = Font_interface::get_default_font (me)->find_by_name
-       ("noteheads.s-2mensural");
+       ("noteheads.sM2mensural");
       break;
     case MLP_BREVIS: // mensural brevis head
       out = Font_interface::get_default_font (me)->find_by_name
-       ("noteheads.s-1mensural");
+       ("noteheads.sM1mensural");
       break;
     case MLP_MAXIMA: // should be mensural maxima head without stem
       out = Font_interface::get_default_font (me)->find_by_name
-       ("noteheads.s-1neomensural");
+       ("noteheads.sM1neomensural");
       break;
     case MLP_FLEXA:
       out = brew_flexa (me, delta_pitch, false, width, thickness);
       break;
     default:
-      programming_error (_f ("Mensural_ligature: "
-                            "unexpected case fall-through"));
-      return Stencil ();
+      programming_error (_ ("Mensural_ligature:"
+                           unexpected case fall-through"));
+      return Lookup::blank (Box (Interval (0, 0), Interval (0, 0)));
     }
 
   Real blotdiameter
@@ -167,7 +178,7 @@ internal_brew_primitive (Grob *me)
 
   SCM join_right_scm = me->get_property ("join-right-amount");
 
-  if (scm_is_pair (join_right_scm))
+  if (scm_is_number (join_right_scm))
     {
       int join_right = scm_to_int (join_right_scm);
       if (join_right)
@@ -189,7 +200,7 @@ internal_brew_primitive (Grob *me)
          out.add_stencil (join);
        }
       else
-       programming_error (_f ("Mensural_ligature: (join_right == 0)"));
+       programming_error (_ ("Mensural_ligature: (join_right == 0)"));
     }
 
 #if 0 /* what happend with the ledger lines? */
@@ -219,14 +230,15 @@ Mensural_ligature::print (SCM)
   return SCM_EOL;
 }
 
-ADD_INTERFACE (Mensural_ligature, "mensural-ligature-interface",
-              "A mensural ligature",
+ADD_INTERFACE (Mensural_ligature,
+              "A mensural ligature.",
 
+              /* properties */
               "delta-position "
               "flexa-width "
               "head-width "
               "join-right-amount "
               "primitive "
-              "thickness"
+              "thickness "
               );