%
brevis_wid# := 2 staff_space#;
-def draw_brevis(expr brevwid) =
+def draw_neo_brevis(expr brevwid) =
save beamheight, head_width;
save holeheight, stem_width;
save serif_size, serif_protrude;
enddef;
+def draw_neo_left_stemmed_head (expr wid) =
+ draw_neo_brevis(wid);
+
+ x6 = x7 = head_width - stem_width/2;
+ y6 = y5;
+ y7 = y5 - 2.25staff_space;
+ pickup pencircle scaled stem_width;
+ draw z6 .. z7;
+enddef;
+
+fet_beginchar("Left stemmed notehead", "lneo_mensural", "mensuralleftstemmedhead");
+ draw_neo_left_stemmed_head (brevis_wid#)
+fet_endchar;
+
%
% Some sources (eg Musix/OpusTeX think that the appendage should be on
% the left, some say right. Right wins democratically.
%
def draw_neo_longa (expr wid) =
- draw_brevis(wid);
+ draw_neo_brevis(wid);
save theta;
x7r = head_width;
fet_endchar;
fet_beginchar("Brevis notehead", "-1neo_mensural", "mensuralbrevishead")
- draw_brevis(brevis_wid#);
+ draw_neo_brevis(brevis_wid#);
fet_endchar;
def draw_neo_mensural_black_head (expr wid) =
brevis_wid# := 1 staff_space#;
-def draw_longa (expr wid) =
+def draw_brevis (expr wid) =
+ % TODO. For the moment, fall back to draw_neo_brevis.
+ draw_neo_brevis(wid);
+enddef;
+
+def draw_left_stemmed_head (expr wid) =
draw_brevis(wid);
save theta;
+ x6 = x7 = stem_width/2;
+ y6 = y5;
+ y7 = y5 - 2.25staff_space;
+ pickup pencircle scaled stem_width;
+ draw z6 .. z7;
+enddef;
+
+fet_beginchar("Left stemmed notehead", "lmensural", "mensuralleftstemmedhead");
+ draw_left_stemmed_head (brevis_wid#)
+fet_endchar;
+
+def draw_longa (expr wid) =
+ draw_brevis(wid);
+
x6 = x7 = head_width - stem_width/2;
y6 = y5;
y7 = y5 - 2.25staff_space;
2beta# = ht# * b_h;
a# = beta# * a_b;
wd# = 2a# / a_w;
- set_char_box(0.50wd#, 0.10wd#, 0.5ht#, 0);
+ set_char_box(0.00wd#, 0.40wd#, 0.5ht#, 0);
black_notehead_width# := wd#;
% direction
enddef;
% punctum
-punctum_char("Ed. Vat. punctum", "0vaticana_punctum", "vatpunctumhead",
+punctum_char("Ed. Vat. punctum", "vaticana_punctum", "vatpunctumhead",
false, false, false, false, false,
false, false, false, false, 1.0);
% punctum cavum (for OpusTeX compatibility)
-punctum_char("Ed. Vat. punctum cavum", "0vaticana_punctum_cavum",
+punctum_char("Ed. Vat. punctum cavum", "vaticana_punctum_cavum",
"vatpunctumcavumhead",
false, false, false, true, false,
false, false, false, false, 1.0);
% linea punctum (for OpusTeX compatibility)
-punctum_char("Ed. Vat. linea punctum", "0vaticana_linea_punctum",
+punctum_char("Ed. Vat. linea punctum", "vaticana_linea_punctum",
"vatlineapunctumhead",
false, false, true, false, false,
false, false, false, false, 1.0);
% linea punctum cavum (for OpusTeX compatibility)
-punctum_char("Ed. Vat. linea punctum cavum", "0vaticana_linea_punctum_cavum",
+punctum_char("Ed. Vat. linea punctum cavum", "vaticana_linea_punctum_cavum",
"vatlineapunctumcavumhead",
false, false, true, true, false,
false, false, false, false, 1.0);
% punctum inclinatum
-inclinatum_char("Ed. Vat. inclinatum", "0vaticana_inclinatum",
+inclinatum_char("Ed. Vat. inclinatum", "vaticana_inclinatum",
"vatinclinatumhead",
false, false, false);
% virga (i.e. right stemmed punctum)
-punctum_char("Ed. Vat. virga", "0vaticana_virga", "vatvirgahead",
+punctum_char("Ed. Vat. virga", "vaticana_virga", "vatvirgahead",
false, true, false, false, false,
false, false, false, false, 1.0);
% left stemmed punctum as used in clivis (flexa) ligature
-punctum_char("Ed. Vat. reverse virga", "0vaticana_rvirga", "vatrvirgahead",
+punctum_char("Ed. Vat. reverse virga", "vaticana_rvirga", "vatrvirgahead",
true, false, false, false, false,
false, false, false, false, 1.0);
% pes lower punctum
-punctum_char("Ed. Vat. pes lower punctum", "0vaticana_lpes", "vatlpeshead",
+punctum_char("Ed. Vat. pes lower punctum", "vaticana_lpes", "vatlpeshead",
false, false, false, false, true,
false, true, false, false, 1.0);
% pes upper punctum
-punctum_char("Ed. Vat. pes upper punctum", "0vaticana_upes", "vatupeshead",
+punctum_char("Ed. Vat. pes upper punctum", "vaticana_upes", "vatupeshead",
false, false, false, false, true,
false, false, false, false, 1.0);
% punctum to avoid collision with the lower punctum note of the pes when
% the upper punctum sits directly on top of the lower punctum.
%
-punctum_char("Ed. Vat. var pes upper punctum", "0vaticana_vupes",
+punctum_char("Ed. Vat. var pes upper punctum", "vaticana_vupes",
"vatvupeshead",
false, false, false, false, true,
false, false, false, true, 1.0);
% small punctum as used in epiphonus/cephalicus
-punctum_char("Ed. Vat. plica", "0vaticana_plica", "vatplicahead",
+punctum_char("Ed. Vat. plica", "vaticana_plica", "vatplicahead",
false, false, false, false, true,
false, false, false, false, 0.5);
% excentric punctum as used in epiphonus
-punctum_char("Ed. Vat. epiphonus", "0vaticana_epiphonus", "vatepiphonushead",
+punctum_char("Ed. Vat. epiphonus", "vaticana_epiphonus", "vatepiphonushead",
false, false, false, false, false,
false, true, true, false, 1.0);
% excentric punctum as used in cephalicus
-punctum_char("Ed. Vat. cephalicus", "0vaticana_cephalicus",
+punctum_char("Ed. Vat. cephalicus", "vaticana_cephalicus",
"vatcephalicushead",
false, false, false, false, false,
false, false, true, false, 1.0);
% quilisma
-fet_beginchar("Ed. Vat. quilisma", "0vaticana_quilisma", "vatquilismahead")
+fet_beginchar("Ed. Vat. quilisma", "vaticana_quilisma", "vatquilismahead")
save b_h,a_w;
a_b:=1.54; % b_h*a_b/a_w = wd/ht
b_h:=0.85;
fet_endchar;
% solesmes punctum inclinatum parvum
-inclinatum_char("Solesmes punctum inclinatum parvum", "0solesmes_incl_parvum",
+inclinatum_char("Solesmes punctum inclinatum parvum", "solesmes_incl_parvum",
"solinclparvumhead",
true, false, false);
% solesmes punctum auctum ascendens
-punctum_char("Solesmes punctum auctum ascendens", "0solesmes_auct_asc",
+punctum_char("Solesmes punctum auctum ascendens", "solesmes_auct_asc",
"solauctaschead",
false, false, false, false, false,
true, true, false, false, 1.0);
% solesmes punctum auctum descendens
-punctum_char("Solesmes punctum auctum descendens", "0solesmes_auct_desc",
+punctum_char("Solesmes punctum auctum descendens", "solesmes_auct_desc",
"solauctdeschead",
false, false, false, false, false,
true, false, false, false, 1.0);
% solesmes punctum inclinatum auctum
-inclinatum_char("Solesmes punctum incl. auctum", "0solesmes_incl_auctum",
+inclinatum_char("Solesmes punctum incl. auctum", "solesmes_incl_auctum",
"solpunctuminclinatumauctumhead",
false, false, true);
% solesmes stropha
-inclinatum_char("Solesmes stropha", "0solesmes_stropha",
+inclinatum_char("Solesmes stropha", "solesmes_stropha",
"solstrophahead",
false, true, false);
% solesmes stropha aucta
-inclinatum_char("Solesmes stropha aucta", "0solesmes_stropha_aucta",
+inclinatum_char("Solesmes stropha aucta", "solesmes_stropha_aucta",
"solstrophaauctahead",
false, true, true);
% solesmes oriscus
-fet_beginchar("Solesmes oriscus", "0solesmes_oriscus",
+fet_beginchar("Solesmes oriscus", "solesmes_oriscus",
"soloriscushead")
save b_h, a_w;
a_b := 1.54; % b_h*a_b/a_w = wd/ht
%
% inclinatum
-fet_beginchar("Ed. Med. inclinatum", "0medicaea_inclinatum",
+fet_beginchar("Ed. Med. inclinatum", "medicaea_inclinatum",
"medinclinatumhead")
save b_h, a_w;
a_b := 1.54; % b_h*a_b/a_w = wd/ht
enddef;
% punctum
-punctum_char("Ed. Med. punctum", "0medicaea_punctum", "medpunctumhead",
+punctum_char("Ed. Med. punctum", "medicaea_punctum", "medpunctumhead",
false, false);
% left up-stemmed punctum
-punctum_char("Ed. Med. reverse virga", "0medicaea_rvirga", "medrvirgahead",
+punctum_char("Ed. Med. reverse virga", "medicaea_rvirga", "medrvirgahead",
true, false);
% virga (i.e. left down-stemmed punctum)
-punctum_char("Ed. Med. virga", "0medicaea_virga", "medvirgahead",
+punctum_char("Ed. Med. virga", "medicaea_virga", "medvirgahead",
false, true);
%%%%%%%%
enddef;
% punctum
-punctum_char("Hufnagel punctum", "0hufnagel_punctum", "hufpunctumhead", false)
+punctum_char("Hufnagel punctum", "hufnagel_punctum", "hufpunctumhead", false)
% virga
-punctum_char("Hufnagel virga", "0hufnagel_virga", "hufvirgahead", true)
+punctum_char("Hufnagel virga", "hufnagel_virga", "hufvirgahead", true)
% pes lower punctum
-fet_beginchar("Hufnagel pes lower punctum", "0hufnagel_lpes", "huflpeshead")
+fet_beginchar("Hufnagel pes lower punctum", "hufnagel_lpes", "huflpeshead")
save b_h, a_w;
a_b := 1.54; % b_h*a_b/a_w = wd/ht
b_h := 0.85;