fet_begingroup ("noteheads")
-noteheight#:=staff_space#+ (1 + overdone_heads) *stafflinethickness#;
+noteheight#:=staff_space# + (1 + overdone_heads)*stafflinethickness#;
define_pixels(noteheight);
%
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_longa (expr wid) =
- draw_brevis(wid);
+def draw_neo_longa (expr wid) =
+ draw_neo_brevis(wid);
save theta;
x7r = head_width;
%
% (ze is wel breed)
%
-fet_beginchar("Maxima notehead", "-3mensural", "mensuralmaximahead");
- draw_longa (1.3 brevis_wid#)
+fet_beginchar("Maxima notehead", "-3neo_mensural", "mensuralmaximahead");
+ draw_neo_longa (1.3 brevis_wid#)
fet_endchar;
-fet_beginchar("Longa notehead", "-2mensural", "mensurallongahead");
- draw_longa (brevis_wid#)
+fet_beginchar("Longa notehead", "-2neo_mensural", "mensurallongahead");
+ draw_neo_longa (brevis_wid#)
fet_endchar;
-fet_beginchar("Brevis notehead", "-1mensural", "mensuralbrevishead")
- draw_brevis(brevis_wid#);
+fet_beginchar("Brevis notehead", "-1neo_mensural", "mensuralbrevishead")
+ draw_neo_brevis(brevis_wid#);
fet_endchar;
def draw_neo_mensural_black_head (expr wid) =
unfill z5 -- z6 -- z7 -- z8 --cycle;
enddef;
-fet_beginchar("Neo-mensural open head","0neo_mensural","neomensuralminimhead")
+fet_beginchar("Neo-mensural open head","0neo_mensural","neomensuralsemibrevishead")
draw_neo_mensural_open_head (staff_space#);
fet_endchar;
-fet_beginchar("Neo-mensural open head","1neo_mensural","neomensuralsemiminimhead")
+fet_beginchar("Neo-mensural open head","1neo_mensural","neomensuralminimahead")
draw_neo_mensural_open_head (staff_space#);
fet_endchar;
-fet_beginchar("Neo-mensural black head","2neo_mensural","neofusahead")
+fet_beginchar("Neo-mensural black head","2neo_mensural","neomensuralsemiminimahead")
draw_neo_mensural_black_head (staff_space#);
fet_endchar;
+brevis_wid# := 1 staff_space#;
+
+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;
+ pickup pencircle scaled stem_width;
+ draw z6 .. z7;
+enddef;
+
+fet_beginchar("Maxima notehead", "-3mensural", "mensuralmaximahead");
+ draw_longa (2.0 brevis_wid#)
+fet_endchar;
+
+fet_beginchar("Longa notehead", "-2mensural", "mensurallongahead");
+ draw_longa (brevis_wid#)
+fet_endchar;
+
+fet_beginchar("Brevis notehead", "-1mensural", "mensuralbrevishead")
+ draw_brevis(brevis_wid#);
+fet_endchar;
+
def draw_mensural_head (expr wid, open) =
save head_width;
head_width# = wid;
enddef;
-fet_beginchar("Mensural open head","0mensural","mensuralminimhead")
+fet_beginchar("Mensural open head","0mensural","mensuralsemibrevishead")
draw_mensural_head (staff_space#, true);
fet_endchar;
-fet_beginchar("Mensural open head","1mensural","mensuralsemiminimhead")
+fet_beginchar("Mensural open head","1mensural","mensuralminimahead")
draw_mensural_head (staff_space#, true);
fet_endchar;
-fet_beginchar("Mensural black head","2mensural","fusahead")
+fet_beginchar("Mensural black head","2mensural","mensuralsemiminimahead")
draw_mensural_head (staff_space#, false);
fet_endchar;
%
% ledger (leger) lines
%
+%
fet_beginchar("Ledger ending", "ledgerending", "ledgerending")
set_char_box (5/2 ledgerlinethickness#, 5/2 ledgerlinethickness#,
ledgerlinethickness#/2,ledgerlinethickness#/2);
a_w := 1.09;
save a, beta, ht, wd;
- ht# = noteheight# * mag;
+ ht# = noteheight#; %% * mag;
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",
-% "vatpunctumcavumhead",
-% false, false, false, true, false,
-% false, false, false, false, 1.0);
+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",
-% "vatlineapunctumhead",
-% false, false, true, false, false,
-% false, false, false, false, 1.0);
+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",
-% "vatlineapunctumcavumhead",
-% false, false, true, true, false,
-% false, false, false, false, 1.0);
+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",
-% "solinclparvumhead",
-% true, false, false);
+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",
-% "solauctaschead",
-% false, false, false, false, false,
-% true, true, false, false, 1.0);
+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",
-% "solauctdeschead",
-% false, false, false, false, false,
-% true, false, false, false, 1.0);
+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",
-% "solpunctuminclinatumauctumhead",
-% false, false, true);
+inclinatum_char("Solesmes punctum incl. auctum", "solesmes_incl_auctum",
+ "solpunctuminclinatumauctumhead",
+ false, false, true);
% solesmes stropha
-%inclinatum_char("Solesmes stropha", "0solesmes_stropha",
-% "solstrophahead",
-% false, true, false);
+inclinatum_char("Solesmes stropha", "solesmes_stropha",
+ "solstrophahead",
+ false, true, false);
% solesmes stropha aucta
-%inclinatum_char("Solesmes stropha aucta", "0solesmes_stropha_aucta",
-% "solstrophaauctahead",
-% false, true, true);
+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
a_w := 1.09;
save a, beta, ht, wd;
- ht# = noteheight# * mag;
+ ht# = noteheight#; %% * mag;
2beta# = ht# * b_h;
a# = beta# * a_b;
wd# = 2a# / a_w;
%
% 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;