%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 2001--2004 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2001--2005 Juergen Reuter <reuter@ipd.uka.de>
%
% Neo-mensural heads originally by
% Christian Mondrup and Mats Bengtsson
%
%
-def draw_neo_brevis(expr brevwid) =
+def draw_neomensural_brevis(expr brevwid) =
save beamheight, head_width;
save holeheight, stem_width;
save serif_size, serif_protrude;
-- z4l -- z4r -- z3r{left} .. z2r{up} -- cycle;
addto currentpicture also currentpicture yscaled -1;
- show z4r; show z4l;
addto currentpicture also currentpicture
shifted (-x4r,0) xscaled -1 shifted (x4l,0);
enddef;
-def draw_neo_left_stemmed_head (expr wid) =
- draw_neo_brevis(wid);
+def draw_neomensural_left_stemmed_head (expr wid) =
+ draw_neomensural_brevis(wid);
- x6 = x7 = head_width - stem_width/2;
+ x6 = x7 = stem_width/2;
y6 = y5;
y7 = y5 - 2.25 staff_space;
pickup pencircle scaled stem_width;
draw z6 .. z7;
enddef;
-fet_beginchar("Left stemmed notehead", "lneomensural", "mensuralleftstemmedhead");
- draw_neo_left_stemmed_head (2 staff_space#);
+fet_beginchar("Left stemmed notehead", "lneomensural");
+ draw_neomensural_left_stemmed_head (2 staff_space#);
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_neo_brevis(wid);
+def draw_neomensural_longa (expr wid) =
+ draw_neomensural_brevis(wid);
save theta;
x7r = head_width;
penlabels(6,7);
enddef;
-fet_beginchar("Left stemmed notehead", "lneo_mensural", "mensuralleftstemmedhead");
- draw_neo_left_stemmed_head (2 staff_space#);
-fet_endchar;
-
%
% En wij presenteren U: de opvolgster van Emily
%
% (ze is wel breed)
%
-fet_beginchar("Maxima notehead", "-3neomensural", "neomensuralmaximahead");
- draw_neo_longa (2.6 staff_space#)
+fet_beginchar("Neo-mensural maxima notehead", "s-3neomensural");
+ draw_neomensural_longa (2.6 staff_space#)
fet_endchar;
-fet_beginchar("Longa notehead", "-2neomensural", "neomensurallongahead");
- draw_neo_longa (2 staff_space#)
+fet_beginchar("Neo-mensural longa notehead", "s-2neomensural");
+ draw_neomensural_longa (2 staff_space#)
fet_endchar;
-fet_beginchar("Brevis notehead", "-1neomensural", "neomensuralbrevishead")
- draw_neo_brevis(2 staff_space#);
+fet_beginchar("Neo-mensural brevis notehead", "s-1neomensural")
+ draw_neomensural_brevis(2 staff_space#);
fet_endchar;
-def draw_neo_mensural_black_head (expr wid, height) =
+def draw_neomensural_black_head (expr wid, height) =
save head_width;
head_width# = wid;
set_char_box (0, head_width#, height/2, height/2);
filldraw z1 -- z2 -- z3 -- z4 -- cycle;
enddef;
-def draw_neo_mensural_open_head (expr wid, height)=
- draw_neo_mensural_black_head (wid, height);
+def draw_neomensural_open_head (expr wid, height)=
+ draw_neomensural_black_head (wid, height);
save diamNW, diamSW;
diamNW = length (z2 - z1) + blot_diameter;
diamSW = length (z4 - z1) + blot_diameter;
unfill z5 -- z6 -- z7 -- z8 --cycle;
enddef;
-fet_beginchar("Neo-mensural open head","0neomensural","neomensuralsemibrevishead")
- draw_neo_mensural_open_head (staff_space#, noteheight#);
+fet_beginchar("Neo-mensural open head","s0neomensural")
+ draw_neomensural_open_head (staff_space#, noteheight#);
fet_endchar;
%
%
fet_beginchar("Harmonic notehead (Neo-mensural open)",
- "0harmonic","harmonichead")
+ "s0harmonic")
- draw_neo_mensural_open_head (1.3 staff_space#, 1.3 noteheight#);
+ draw_neomensural_open_head (1.3 staff_space#, 1.3 noteheight#);
charwx := head_width#;
charwy := 0;
fet_endchar;
-fet_beginchar("Neo-mensural open head","1neomensural","neomensuralminimahead")
- draw_neo_mensural_open_head (staff_space#, noteheight#);
+fet_beginchar("Neo-mensural open head","s1neomensural")
+ draw_neomensural_open_head (staff_space#, noteheight#);
fet_endchar;
-fet_beginchar("Neo-mensural black head","2neomensural","neomensuralsemiminimahead")
- draw_neo_mensural_black_head (staff_space#, noteheight#);
+fet_beginchar("Neo-mensural black head","s2neomensural")
+ draw_neomensural_black_head (staff_space#, noteheight#);
fet_endchar;
-def draw_brevis (expr wid) =
- % TODO. For the moment, fall back to draw_neo_brevis.
- draw_neo_brevis(wid);
+def draw_mensural_brevis (expr wid) =
+ % TODO. For the moment, fall back to draw_neomensural_brevis.
+ draw_neomensural_brevis(wid);
enddef;
-def draw_left_stemmed_head (expr wid) =
- draw_brevis(wid);
+def draw_mensural_left_stemmed_head (expr wid) =
+ draw_mensural_brevis(wid);
x6 = x7 = stem_width/2;
y6 = y5;
y7 = y5 - 2.25staff_space;
draw z6 .. z7;
enddef;
-def draw_longa (expr wid) =
- draw_brevis(wid);
+def draw_mensural_longa (expr wid) =
+ draw_mensural_brevis(wid);
x6 = x7 = head_width - stem_width/2;
y6 = y5;
y7 = y5 - 2.25staff_space;
draw z6 .. z7;
enddef;
-fet_beginchar("Left stemmed notehead", "lmensural", "mensuralleftstemmedhead");
- draw_left_stemmed_head (staff_space#)
+fet_beginchar("Mensural left stemmed notehead", "slmensural");
+ draw_mensural_left_stemmed_head (staff_space#)
fet_endchar;
-fet_beginchar("Maxima notehead", "-3mensural", "mensuralmaximahead");
- draw_longa (2.0 staff_space#)
+fet_beginchar("Mensural maxima notehead", "s-3mensural");
+ draw_mensural_longa (2.0 staff_space#)
fet_endchar;
-fet_beginchar("Longa notehead", "-2mensural", "mensurallongahead");
- draw_longa (staff_space#)
+fet_beginchar("Mensural longa notehead", "s-2mensural");
+ draw_mensural_longa (staff_space#)
fet_endchar;
-fet_beginchar("Brevis notehead", "-1mensural", "mensuralbrevishead")
- draw_brevis(staff_space#);
+fet_beginchar("Mensural brevis notehead", "s-1mensural")
+ draw_mensural_brevis(staff_space#);
fet_endchar;
def draw_diamond_head (expr head_h, pen_w, pen_h, angle, open) =
enddef;
-fet_beginchar("Mensural open head","0mensural","mensuralsemibrevishead")
+fet_beginchar("Mensural open head","s0mensural")
draw_diamond_head (staff_space#, 0.15, 0.30, 30, true);
fet_endchar;
-fet_beginchar("Mensural open head","1mensural","mensuralminimahead")
+fet_beginchar("Mensural open head","s1mensural")
draw_diamond_head (staff_space#, 0.15, 0.30, 30, true);
fet_endchar;
-fet_beginchar("Mensural black head","2mensural","mensuralsemiminimahead")
+fet_beginchar("Mensural black head","s2mensural")
draw_diamond_head (staff_space#, 0.15, 0.30, 30, false);
fet_endchar;
%
% parameterized punctum
-def punctum_char (expr verbose_name, internal_name, ly_name,
+def punctum_char (expr verbose_name, internal_name,
left_stem, right_stem, linea, cavum,
- straight, auctum, direction_up, excentric, up_shift, down_shift, mag) =
+ straight, auctum, rev_auctum, direction_up,
+ excentric, up_shift, down_shift, mag) =
- fet_beginchar(verbose_name, internal_name, ly_name)
+ fet_beginchar(verbose_name, "s" & internal_name)
save b_h, a_w;
a_b := 1.54; % b_h*a_b/a_w = wd/ht
b_h := 0.85;
elseif auctum:
u_convexity# = -0.03ht#;
u_excentricity# = +0.25ht#;
+ elseif rev_auctum:
+ u_convexity# = -0.10ht#;
+ u_excentricity# = -0.12ht#;
else:
u_convexity# = -0.05ht#;
u_excentricity# = 0.0ht#; % dummy
save box_top, box_bt;
- if auctum:
+ if auctum or rev_auctum:
z1a = (0.00wd + linethickness/2, yoffs_bt);
z2a = (0.21wd, yoffs_bt + 1.0*convexity);
z3a = (0.42wd - linethickness/2,
enddef;
% parameterized punctum inclinatum
-def inclinatum_char(expr verbose_name, internal_name, ly_name,
+def inclinatum_char(expr verbose_name, internal_name,
small, stropha, auctum) =
- fet_beginchar(verbose_name, internal_name, ly_name)
+ fet_beginchar(verbose_name, "s"&internal_name)
save ht, alpha;
alpha# = 35;
if small:
enddef;
% punctum
-punctum_char("Ed. Vat. punctum", "vaticana_punctum", "vatpunctumhead",
+punctum_char("Ed. Vat. punctum", "vaticana.punctum",
false, false, false, false, false,
- false, false, false, false, false, 1.0);
+ false, false, false, false, false, false, 1.0);
% punctum cavum (for OpusTeX compatibility)
-punctum_char("Ed. Vat. punctum cavum", "vaticana_punctum_cavum",
- "vatpunctumcavumhead",
+punctum_char("Ed. Vat. punctum cavum", "vaticana.punctum.cavum",
false, false, false, true, false,
- false, false, false, false, false, 1.0);
+ false, false, false, false, false, false, 1.0);
% linea punctum (for OpusTeX compatibility)
-punctum_char("Ed. Vat. linea punctum", "vaticana_linea_punctum",
- "vatlineapunctumhead",
+punctum_char("Ed. Vat. linea punctum", "vaticana.linea.punctum",
false, false, true, false, false,
- false, false, false, false, false, 1.0);
+ false, false, false, false, false, false, 1.0);
% linea punctum cavum (for OpusTeX compatibility)
-punctum_char("Ed. Vat. linea punctum cavum", "vaticana_linea_punctum_cavum",
- "vatlineapunctumcavumhead",
+punctum_char("Ed. Vat. linea punctum cavum", "vaticana.linea.punctum.cavum",
false, false, true, true, false,
- false, false, false, false, false, 1.0);
+ false, false, false, false, false, false, 1.0);
% punctum inclinatum
-inclinatum_char("Ed. Vat. inclinatum", "vaticana_inclinatum",
- "vatinclinatumhead",
+inclinatum_char("Ed. Vat. inclinatum", "vaticana.inclinatum",
false, false, false);
% pes lower punctum
-punctum_char("Ed. Vat. pes lower punctum", "vaticana_lpes", "vatlpeshead",
+punctum_char("Ed. Vat. pes lower punctum", "vaticana.lpes",
false, false, false, false, true,
- false, true, false, false, false, 1.0);
+ false, false, true, false, false, false, 1.0);
% pes lower punctum
-punctum_char("Ed. Vat. pes var lower punctum", "vaticana_vlpes", "vatvlpeshead",
+punctum_char("Ed. Vat. pes var lower punctum", "vaticana.vlpes",
false, false, false, false, true,
- false, true, false, false, true, 1.0);
+ false, false, true, false, false, true, 1.0);
% pes upper punctum
-punctum_char("Ed. Vat. pes upper punctum", "vaticana_upes", "vatupeshead",
+punctum_char("Ed. Vat. pes upper punctum", "vaticana.upes",
false, false, false, false, true,
- false, false, false, false, false, 1.0);
+ false, false, false, false, false, false, 1.0);
% pes upper punctum (shifted variation)
%
% 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", "vaticana_vupes",
- "vatvupeshead",
+punctum_char("Ed. Vat. var pes upper punctum", "vaticana.vupes",
false, false, false, false, true,
- false, false, false, true, false, 1.0);
+ false, false, false, false, true, false, 1.0);
% small punctum as used in epiphonus
-punctum_char("Ed. Vat. plica", "vaticana_plica", "vatplicahead",
+punctum_char("Ed. Vat. plica", "vaticana.plica",
false, false, false, false, false,
- false, false, false, false, false, 0.6);
+ false, false, false, false, false, false, 0.6);
+
+% small punctum as used in epiphonus
+punctum_char("Ed. Vat. var plica", "vaticana.vplica",
+ false, false, false, false, false,
+ false, true, false, false, false, true, 0.6);
% excentric punctum as used in epiphonus
-punctum_char("Ed. Vat. epiphonus", "vaticana_epiphonus", "vatepiphonushead",
+punctum_char("Ed. Vat. epiphonus", "vaticana.epiphonus",
false, false, false, false, false,
- false, true, true, false, false, 1.0);
+ false, false, true, true, false, false, 1.0);
% excentric punctum as used in epiphonus (shifted variation)
%
% avoid collision with the plica head when the plica sits directly on
% top of the lower head.
%
-punctum_char("Ed. Vat. var epiphonus", "vaticana_vepiphonus", "vatvepiphonushead",
+punctum_char("Ed. Vat. var epiphonus", "vaticana.vepiphonus",
+ false, false, false, false, false,
+ false, false, true, true, false, true, 1.0);
+
+% small punctum as used in cephalicus
+punctum_char("Ed. Vat. rev. plica", "vaticana.reverse.plica",
false, false, false, false, false,
- false, true, true, false, true, 1.0);
+ false, false, true, false, false, false, 0.6);
% small punctum as used in cephalicus
-punctum_char("Ed. Vat. rev. plica", "vaticana_reverse_plica", "vatrplicahead",
+punctum_char("Ed. Vat. rev. var plica", "vaticana.reverse.vplica",
false, false, false, false, false,
- false, true, false, false, false, 0.6);
+ false, true, true, false, false, true, 0.6);
% excentric punctum as used in cephalicus; without left stem
-punctum_char("Ed. Vat. cephalicus", "vaticana_inner_cephalicus",
- "vatinnercephalicushead",
+punctum_char("Ed. Vat. cephalicus", "vaticana.inner.cephalicus",
false, false, false, false, false,
- false, false, true, false, false, 1.0);
+ false, false, false, true, false, false, 1.0);
% excentric punctum as used in cephalicus; with left stem
-punctum_char("Ed. Vat. cephalicus", "vaticana_cephalicus",
- "vatcephalicushead",
+punctum_char("Ed. Vat. cephalicus", "vaticana.cephalicus",
true, false, false, false, false,
- false, false, true, false, false, 1.0);
+ false, false, false, true, false, false, 1.0);
% quilisma
-fet_beginchar("Ed. Vat. quilisma", "vaticana_quilisma", "vatquilismahead")
+fet_beginchar("Ed. Vat. quilisma", "svaticana.quilisma")
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", "solesmes_incl_parvum",
- "solinclparvumhead",
+inclinatum_char("Solesmes punctum inclinatum parvum", "solesmes.incl.parvum",
true, false, false);
% solesmes punctum auctum ascendens
-punctum_char("Solesmes punctum auctum ascendens", "solesmes_auct_asc",
- "solauctaschead",
+punctum_char("Solesmes punctum auctum ascendens", "solesmes.auct.asc",
false, false, false, false, false,
- true, true, false, false, false, 1.0);
+ true, false, true, false, false, false, 1.0);
% solesmes punctum auctum descendens
-punctum_char("Solesmes punctum auctum descendens", "solesmes_auct_desc",
- "solauctdeschead",
+punctum_char("Solesmes punctum auctum descendens", "solesmes.auct.desc",
false, false, false, false, false,
- true, false, false, false, false, 1.0);
+ true, false, false, false, false, false, 1.0);
% solesmes punctum inclinatum auctum
-inclinatum_char("Solesmes punctum incl. auctum", "solesmes_incl_auctum",
- "solpunctuminclinatumauctumhead",
+inclinatum_char("Solesmes punctum incl. auctum", "solesmes.incl.auctum",
false, false, true);
% solesmes stropha
-inclinatum_char("Solesmes stropha", "solesmes_stropha",
- "solstrophahead",
+inclinatum_char("Solesmes stropha", "solesmes.stropha",
false, true, false);
% solesmes stropha aucta
-inclinatum_char("Solesmes stropha aucta", "solesmes_stropha_aucta",
- "solstrophaauctahead",
+inclinatum_char("Solesmes stropha aucta", "solesmes.stropha.aucta",
false, true, true);
% solesmes oriscus
-fet_beginchar("Solesmes oriscus", "solesmes_oriscus",
- "soloriscushead")
+fet_beginchar("Solesmes oriscus", "ssolesmes.oriscus")
save b_h, a_w;
a_b := 1.54; % b_h*a_b/a_w = wd/ht
b_h := 0.85;
%
% inclinatum
-fet_beginchar("Ed. Med. inclinatum", "medicaea_inclinatum",
- "medinclinatumhead")
+fet_beginchar("Ed. Med. inclinatum", "smedicaea.inclinatum")
draw_diamond_head (1.2staff_space#, 0, 0, 35, false);
fet_endchar;
% parametrized punctum
-def punctum_char (expr verbose_name, internal_name, ly_name,
+def punctum_char (expr verbose_name, internal_name,
left_up_stem, left_down_stem) =
- fet_beginchar(verbose_name, internal_name, ly_name)
+ fet_beginchar(verbose_name, "s"&internal_name)
save a, beta, ht, wd;
ht# = 2 staff_space#;
enddef;
% punctum
-punctum_char("Ed. Med. punctum", "medicaea_punctum", "medpunctumhead",
+punctum_char("Ed. Med. punctum", "medicaea.punctum",
false, false);
% left up-stemmed punctum
-punctum_char("Ed. Med. reverse virga", "medicaea_rvirga", "medrvirgahead",
+punctum_char("Ed. Med. reverse virga", "medicaea.rvirga",
true, false);
% virga (i.e. left down-stemmed punctum)
-punctum_char("Ed. Med. virga", "medicaea_virga", "medvirgahead",
+punctum_char("Ed. Med. virga", "medicaea.virga",
false, true);
%%%%%%%%
% punctum
% parametrized punctum
-def punctum_char (expr verbose_name, internal_name, ly_name,
+def punctum_char (expr verbose_name, internal_name,
down_stem) =
- fet_beginchar(verbose_name, internal_name, ly_name)
+ fet_beginchar(verbose_name, "s" & internal_name)
save alpha;
alpha# = 55;
draw_diamond_head (staff_space#, 0, 0, alpha#, false);
enddef;
% punctum
-punctum_char("Hufnagel punctum", "hufnagel_punctum", "hufpunctumhead", false)
+punctum_char("Hufnagel punctum", "hufnagel.punctum", false)
% virga
-punctum_char("Hufnagel virga", "hufnagel_virga", "hufvirgahead", true)
+punctum_char("Hufnagel virga", "hufnagel.virga", true)
% pes lower punctum
-fet_beginchar("Hufnagel pes lower punctum", "hufnagel_lpes", "huflpeshead")
+fet_beginchar("Hufnagel pes lower punctum", "shufnagel.lpes")
save width, height, alpha;
width# = 2*staff_space#;
height# = 0.7*staff_space#;