lines.
* lily/accidental.cc (print): use music_font_alist_chain(). This
fixes smaller cautionaries.
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
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);
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 ());
}
+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)
{
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*);
};
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