- SCM delta_pitch_scm = me->get_grob_property ("delta-pitch");
- if (delta_pitch_scm != SCM_EOL)
- {
- delta_pitch = gh_scm2int (delta_pitch_scm);
- }
- else
- {
- programming_error (_f ("Mensural_ligature:"
- "delta-pitch undefined on flexa %d; assuming 0",
- primitive));
- delta_pitch = 0;
- }
+ case MLP_NONE:
+ 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
+ (color ? "noteheads.sM2blackmensural" :
+ semi ? "noteheads.sM2semimensural" : "noteheads.sM2mensural");
+ break;
+ case MLP_BREVIS: // mensural brevis head
+ out = Font_interface::get_default_font (me)->find_by_name
+ (color ? "noteheads.sM1blackmensural" :
+ semi ? "noteheads.sM1semimensural" : "noteheads.sM1mensural");
+ break;
+ case MLP_MAXIMA: // should be mensural maxima head without stem
+ out = Font_interface::get_default_font (me)->find_by_name
+ (color ? "noteheads.sM3blackligmensural" :
+ semi ? "noteheads.sM3semiligmensural" : "noteheads.sM3ligmensural");
+ break;
+ case MLP_FLEXA_BEGIN:
+ case MLP_FLEXA_END:
+ out = brew_flexa (me, color, flexa_width, thickness,
+ note_shape == MLP_FLEXA_BEGIN);
+ break;
+ default:
+ programming_error (_ ("Mensural_ligature:"
+ " unexpected case fall-through"));
+ return Lookup::blank (Box (Interval (0, 0), Interval (0, 0)));
+ }