From: Han-Wen Nienhuys Date: Sat, 31 Jul 2004 18:10:51 +0000 (+0000) Subject: * lily/bar-line.cc (compound_barline): fix : for staff without X-Git-Tag: release/2.3.10~19 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=5b9067e9603298292b420f27a0a665a836bd3644;p=lilypond.git * lily/bar-line.cc (compound_barline): fix : for staff without lines. * lily/accidental.cc (print): use music_font_alist_chain(). This fixes smaller cautionaries. --- diff --git a/lily/accidental.cc b/lily/accidental.cc index 3cdcc5f507..6c177a779f 100644 --- a/lily/accidental.cc +++ b/lily/accidental.cc @@ -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 diff --git a/lily/bar-line.cc b/lily/bar-line.cc index c3aa8fed59..6d0b04dca5 100644 --- a/lily/bar-line.cc +++ b/lily/bar-line.cc @@ -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); diff --git a/lily/font-interface.cc b/lily/font-interface.cc index 31ddd6bc6d..23a12a46d0 100644 --- a/lily/font-interface.cc +++ b/lily/font-interface.cc @@ -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) { diff --git a/lily/include/font-interface.hh b/lily/include/font-interface.hh index dd9f56b4d7..5a15a29eae 100644 --- a/lily/include/font-interface.hh +++ b/lily/include/font-interface.hh @@ -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*); }; diff --git a/lily/multi-measure-rest.cc b/lily/multi-measure-rest.cc index 9ccd2cb1fe..40175ff12d 100644 --- a/lily/multi-measure-rest.cc +++ b/lily/multi-measure-rest.cc @@ -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