- case MLP_NONE:
- return Stencil ();
- case MLP_BB:
- out = brew_flexa (me, delta_pitch, false,
- flexa_width, thickness, true, DOWN);
- break;
- case MLP_sc: // mensural brevis head with right cauda
- out = Font_interface::get_default_font (me)->find_by_name ("noteheads--2mensural");
- break;
- case MLP_ss: // mensural brevis head
- out = Font_interface::get_default_font (me)->find_by_name ("noteheads--1mensural");
- break;
- case MLP_cs: // mensural brevis head with left cauda
- out = Font_interface::get_default_font (me)->find_by_name ("noteheads-lmensural");
- break;
- case MLP_SS:
- out = brew_flexa (me, delta_pitch, false,
- flexa_width, thickness, true, UP);
- break;
- case MLP_LB:
- out = brew_flexa (me, delta_pitch, false,
- flexa_width, thickness, false, CENTER);
- break;
- default:
- programming_error (_f ("Mensural_ligature:"
- "unexpected case fall-through"));
- return Stencil ();
+ 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)));