reduced_il# = staff_space# * reduction;
- set_char_box(0.4reduced_il#, 0.4reduced_il#, 0, reduced_il#);
+ set_char_box(0.4reduced_il#, 0.0reduced_il#,
+ 0.8reduced_il#, 0.8reduced_il#);
define_pixels(reduced_il);
(+0.8reduced_il + 1.25stafflinethickness, 0),
reduction);
- set_char_box(0.5reduced_il#, 1.5reduced_il#, 0, reduced_il#);
+ set_char_box(0.0reduced_il#, 0.8reduced_il# + 1.25stafflinethickness#,
+ 1.5reduced_il#, 0.8reduced_il#);
enddef;
= ypart zb - 1.5 reduced_il;
draw za .. zb;
- set_char_box(0.5reduced_il#, 1.5reduced_il#,
+ set_char_box(0.5reduced_il#, 0.5reduced_il#,
1.5reduced_il#, 1.5reduced_il#);
enddef;
(+1.1reduced_il + 1.25stafflinethickness, 0),
reduction);
- set_char_box(reduced_il#/2, 2.6reduced_il#, 0, reduced_il#);
+ set_char_box(0.5reduced_slt#,
+ 1.6reduced_il# + 1.25stafflinethickness#,
+ 1.5reduced_il#, 1.5reduced_il#);
enddef;
addto currentpicture also currentpicture
xscaled -1 shifted (2x4l,0);
- set_char_box(0, 2head_width#,
- 6reduced_slt#*reduction, 6reduced_slt#*reduction);
+ set_char_box(3reduced_slt#, head_width# +3reduced_slt#,
+ 2reduced_il#, 2reduced_il#);
enddef;
save half_reduced_il, reduced_il, reduced_slt;
save stem_width, interline;
+ save left_depth, left_height;
half_reduced_il# = staff_space# * sqrt(reduction);
reduced_il# = staff_space# * reduction;
stem_width# = 1.4 reduced_slt#;
interline# = staff_space#;
+ left_height# = half_reduced_il# * min(3.2, 3.2 + 0.2 + flare_align);
+ left_depth# = half_reduced_il# * min(3.2, 3.2 + 0.2 - flare_align);
+
define_pixels(half_reduced_il);
define_pixels(reduced_il);
define_pixels(reduced_slt);
define_pixels(stem_width);
define_pixels(interline);
+ define_pixels(left_depth, left_height);
addto currentpicture also currentpicture
yscaled -1 shifted (0, 2*(ypart exact_center) - interline);
pickup pencircle xscaled stem_width yscaled blot_diameter;
xpart z6 = xpart z7 = xpart exact_center + stem_width/2;
- ypart z6 = ypart exact_center +
- min(3.2, 3.2 + 0.2 + flare_align)*half_reduced_il;
- ypart z7 = ypart exact_center -
- min(3.2, 3.2 + 0.2 - flare_align)*half_reduced_il;
+ ypart z6 = ypart exact_center + left_height;
+ ypart z7 = ypart exact_center - left_depth;
draw z6 .. z7;
xpart z8 = xpart z9 = reduction*2x4l - xpart exact_center - stem_width/2;
xpart exact_center - 2.2half_reduced_il);
draw z8 .. z9;
- set_char_box(0, 2head_width#,
- noteheight#*4*reduction, noteheight#*4*reduction);
+ set_char_box(0, head_width#, left_depth#, left_height#);
enddef;
addto currentpicture also currentpicture
shifted (0, -interline);
- set_char_box(0, 2head_width#,
- noteheight#*6*reduction, noteheight#*6*reduction);
+ save half_reduced_il;
+ save left_depth, left_height;
+
+ half_reduced_il# = staff_space# * sqrt(reduction);
+ left_height# = 3.2 * half_reduced_il#;
+ left_depth# = left_height# + interline#;
+
+ set_char_box(0, head_width#, left_depth#, left_height#);
enddef;
beamheight# = 0.4(reduced_nht# - holeheight#);
rh_height# = 1.2reduced_il#;
- rh_width# / rh_height# = 0.58; % tan(30)
+ rh_width# / rh_height# = tand(30);
define_pixels(beamheight);
define_pixels(stem_width);
z11 = z10 + (0, -3.5interline*reduction);
draw z10 .. z11; % diamond stem
- set_char_box(0, 3head_width#,
- 3.5noteheight#*reduction, 1.5noteheight#*reduction);
+ save reduced_il, rh_height, rh_width;
+ reduced_il# = staff_space# * reduction;
+ rh_height# = 1.2reduced_il#;
+ rh_width# / rh_height# = tand(30);
+ set_char_box(0, 1.6interline#*reduction + 0.5rh_width#,
+ 4.5*interline#*reduction, 2.5*interline#*reduction);
enddef;
rotated 45;
draw
- exact_center + (1.0 staff_space, 0.6 staff_space) --
- exact_center + (1.25 staff_space, 0.4 staff_space);
+ exact_center + (1.0 staff_space, 0.55 staff_space) --
+ exact_center + (1.1 staff_space, 0.45 staff_space);
draw
- exact_center + (1.0 staff_space, -0.4 staff_space) --
- exact_center + (1.25 staff_space, -0.6 staff_space);
+ exact_center + (1.1 staff_space, -0.55 staff_space) --
+ exact_center + (1.1 staff_space, -0.45 staff_space);
- draw halfcircle scaled 1.2 staff_space rotated -90
- shifted (-exact_center + (+0.1 staff_space, 0));
+ draw halfcircle scaled 1.1 staff_space rotated -90
+ shifted (-exact_center + (+0.05 staff_space, 0));
- set_char_box(0, 3staff_space#, 3staff_space#, 0);
+ set_char_box(0.5beamheight#, 1.1staff_space# + 0.5beamheight#,
+ 0.55staff_space# + 0.5stem_width#,
+ 0.55staff_space# + 0.5stem_width#);
enddef;
fet_beginchar("mensural f clef", "mensural_f", "mensfclef")
def draw_mensural_g_clef(expr exact_center, reduction) =
+ %
+ % TODO: Rewrite me! This clef looks completely awful! --jr
+ %
+
%
% inspired by Francisco Guerrero, "Lib. 1. Missarum" (1566),
% in: MGG, volume 3, col. 858 ("Ducis"); also by Stefano
reduced_il#=staff_space#*reduction;
- set_char_box(0.5reduced_il#, 1.5reduced_il#,
- 1.5reduced_il#, 1.5reduced_il#);
+ set_char_box(0.0reduced_il#, 1.2reduced_il#,
+ 0.8reduced_il#, 1.5reduced_il#);
stem_width# = 0.17 reduced_il#;
height# = 1.5 reduced_il#;
% inspired by Josquin Desprez, "Stabat Mater", Libro tertio,
% 1519, printed by Petrucci, in: MGG, volume 7, Table 11.
- set_char_box(1.0 staff_space#, 0.5 staff_space#, 0.6 staff_space#,
- 4.0 staff_space#);
-
save reduced_il, reduced_slt;
reduced_il# = staff_space# * reduction;
reduced_slt# = stafflinethickness# * reduction;
define_pixels(reduced_il, reduced_slt);
+ set_char_box(0.90 reduced_il#, 0.30 reduced_il#,
+ 0.55 reduced_il#, 3.80 reduced_il#);
+
save za, zb, zc, zd, ze, zf, zg, zh, zi, zj;
pair za, zb, zc, zd, ze, zf, zg, zh, zi, zj;
zf = exact_center + (-0.20reduced_il, -.55reduced_il);
draw za .. zb .. zc -- zd -- ze -- zf;
- set_char_box(0.5reduced_il#, 0.5reduced_il#, 0, reduced_il#);
+ set_char_box(0.60reduced_il#, 0.50reduced_il#,
+ 0.70reduced_il#, 0.75reduced_il#);
enddef;
zj = exact_center + (-0.40reduced_il, -0.05reduced_il);
draw zg .. zh .. zi -- zj;
- set_char_box(0.5reduced_il#, 0.5reduced_il#, 0, reduced_il#);
+ set_char_box(0.60reduced_il#, 0.60reduced_il#,
+ 1.15reduced_il#, 1.00reduced_il#);
enddef;
def draw_hufnagel_do_fa_clef(expr exact_center, reduction) =
draw_hufnagel_do_clef(exact_center, reduction);
draw_hufnagel_fa_clef(exact_center + (0, -2staff_space), reduction);
+ set_char_box(0.60reduced_il#, 0.60reduced_il#,
+ 1.15reduced_il# + 2staff_space#, 0.75reduced_il#);
enddef;