-fet_beginchar("mensural c clef", "mensural3_c_change", "cmens3cclef")
- draw_mensural_iii_c_clef((0,0), .8);
-fet_endchar;
-
-def draw_diamond(expr exact_center, reduction) =
- save stem_width, reduced_il, reduced_nht, holeheight, beamheight;
- save rh_height, rh_width;
-
- stem_width# = 1.4 reduced_slt#;
- reduced_il# = staff_space# * reduction;
- reduced_nht# = noteheight# * reduction;
- holeheight# = 3 reduced_slt#;
- beamheight# = 0.4(reduced_nht# - holeheight#);
-
- rh_height# = 1.2reduced_il#;
- rh_width# / rh_height# = 0.58; % tan(30)
-
- define_pixels(beamheight);
- define_pixels(stem_width);
- define_pixels(rh_height);
- define_pixels(rh_width);
-
- pickup pencircle
- xscaled beamheight
- yscaled stem_width
- rotated 45;
-
- draw
- exact_center + (-rh_width/2, 0) --
- exact_center + (0, rh_height/2) --
- exact_center + (+rh_width/2, 0) --
- exact_center + (0, -rh_height/2) --
- cycle;
-enddef;
-
-def draw_mensural_i_f_clef(expr exact_center, reduction) =
- %
- % inspired by Gaspar van Weerbeke, "Virgo Maria" (1502), in:
- % MGG, volume 9, col. 653 ("Motette"), fig. 3.; also by
- % Andr'e Campra, "Entr'ee des s'er'enades" (1710), in: MGG,
- % volume 2, col. 1649 ("Contredanse"), fig. 2.
- %
- draw_brevis(exact_center, reduction, true, false);
-
- save reduced_il, reduced_slt;
- save stem_width, interline;
-
- reduced_il# = staff_space# * reduction;
- reduced_slt# = stafflinethickness# * reduction;
- stem_width# = 1.4 reduced_slt#;
- interline# = staff_space#;
-
- define_pixels(reduced_il);
- define_pixels(reduced_slt);
- define_pixels(stem_width);
- define_pixels(interline);
-
- addto currentpicture also currentpicture
- yscaled -1 shifted (0, 2*(ypart exact_center));
- addto currentpicture also currentpicture
- xscaled -1 shifted (2x4l,0);
-
- penpos6(stem_width, 0);
- penpos7(stem_width, 0);
- z6r = exact_center + (2x4l, 0);
- z7r = z6r + (0, -4reduced_il);
- fill z6l -- z7l -- z7r -- z6r -- cycle;
-
- draw_diamond(exact_center +
- (1.6interline*reduction, interline/2), reduction);
- %% some editions put a stem on top of the upper note head:
- % penpos8(stem_width, 0);
- % penpos9(stem_width, 0);
- % z8l = exact_center + (1.6interline*reduction, interline*reduction);
- % z9l = z8l + (0, 1.5interline*reduction);
- % fill z8l -- z9l -- z9r -- z8r -- cycle;
-
- draw_diamond(exact_center +
- (1.6interline*reduction, -interline/2), reduction);
- penpos10(stem_width, 0);
- penpos11(stem_width, 0);
- z10r = exact_center + (1.6interline*reduction, -interline*reduction);
- z11r = z10r + (0, -3.5interline*reduction);
- fill z10l -- z11l -- z11r -- z10r -- cycle;
-
- set_char_box(0, 3head_width#,
- 3.5noteheight#*reduction, 1.5noteheight#*reduction);
-enddef;