]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/bar-line.cc (compound_barline): fix : for staff without
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 31 Jul 2004 18:10:51 +0000 (18:10 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 31 Jul 2004 18:10:51 +0000 (18:10 +0000)
lines.

* lily/accidental.cc (print): use music_font_alist_chain(). This
fixes smaller cautionaries.

lily/accidental.cc
lily/bar-line.cc
lily/font-interface.cc
lily/include/font-interface.hh
lily/multi-measure-rest.cc

index 3cdcc5f5072cccfbbb13d79ab87a01a6e5791d69..6c177a779f4aa211427b506d15b2567b4cd00649 100644 (file)
@@ -194,11 +194,11 @@ Accidental_interface::print (SCM smob)
   Font_metric *fm = 0;
   if (smaller)
     {
-      SCM ac = Font_interface::text_font_alist_chain (me);
-      ac = scm_cons (scm_cons (scm_cons
-                            (ly_symbol2scm ("font-size"),
-                             scm_int2num (-2)), SCM_EOL),
-                   ac);
+      SCM ac = Font_interface::music_font_alist_chain (me);
+      ac = scm_cons (scm_list_1 (scm_cons
+                                (ly_symbol2scm ("font-size"),
+                                 scm_int2num (-2))),
+                    ac);
       fm = select_font (me->get_paper (), ac);
     }
   else
index c3aa8fed594b46db4c13825daac5c56645cbbbde..6d0b04dca598cdaa84c4f8eb485fcae7a1ecd925 100644 (file)
@@ -63,8 +63,12 @@ Bar_line::compound_barline (Grob*me, String str, Real h)
   Stencil thin = simple_barline (me, hair, h);
   Stencil thick = simple_barline (me, fatline, h);
   Stencil dot = Font_interface::get_default_font (me)->find_by_name ("dots-dot");
-  Real dist = ( Staff_symbol_referencer::line_count (me) & 1 ? 1 :
-               (staff_space<2 ? 2 : .5) ) * staff_space;
+
+  int lines =Staff_symbol_referencer::line_count (me);
+  Real dist 
+    = ((lines & 1 || lines == 0)
+       ? 1
+       : (staff_space < 2 ? 2 : .5) ) * staff_space;
   Stencil colon (dot);
   colon.translate_axis (dist,Y_AXIS);
   colon.add_stencil (dot);
index 31ddd6bc6d654228476c66544b2649b4f908ff27..23a12a46d05a1c7a02e48cb44b80bb9aecd86ff2 100644 (file)
@@ -21,9 +21,7 @@ Font_interface::get_default_font (Grob *me)
   Font_metric *fm = unsmob_metrics (me->get_property ("font"));
   if (!fm)
     {
-      SCM defaults
-       = me->get_paper ()->lookup_variable (ly_symbol2scm ("font-defaults"));
-      SCM chain = me->get_property_alist_chain (defaults);
+      SCM chain = music_font_alist_chain (me);
       
       fm = select_font (me->get_paper (), chain);
       me->set_property ("font", fm->self_scm ());
@@ -43,6 +41,14 @@ LY_DEFINE (ly_font_interface_get_default_font, "ly:get-default-font",
 }
 
 
+SCM
+Font_interface::music_font_alist_chain (Grob *g)
+{
+  SCM defaults
+    = g->get_paper ()->lookup_variable (ly_symbol2scm ("font-defaults"));
+  return g->get_property_alist_chain (defaults);
+}
+
 SCM
 Font_interface::text_font_alist_chain (Grob *g)
 {
index dd9f56b4d7bade22e7678c646058a54274a24881..5a15a29eae8d245171bc201f1ff1399340e10366 100644 (file)
@@ -16,6 +16,7 @@
 struct Font_interface
 {
   static SCM text_font_alist_chain (Grob*);
+  static SCM music_font_alist_chain (Grob*);
   static Font_metric * get_default_font (Grob*);
   static bool has_interface (Grob*);
 };
index 9ccd2cb1fef9af257634a87ccedb3d7e8e13286d..40175ff12d856213d9a648bbde6bccddf68e9c6d 100644 (file)
@@ -135,7 +135,7 @@ Multi_measure_rest::symbol_stencil (Grob *me, Real space)
       return s;
     }
 
-  SCM alist_chain = Font_interface::text_font_alist_chain (me);
+  SCM alist_chain = Font_interface::music_font_alist_chain (me);
 
   Real staff_space = Staff_symbol_referencer::staff_space (me);
   Font_metric *musfont