]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/parmesan-heads.mf
*** empty log message ***
[lilypond.git] / mf / parmesan-heads.mf
index 688de02bf1e1f22844843376529f2a0a4f5dd3b3..d53c2e75efd5710963bad38ff86bf9d31fed8abb 100644 (file)
@@ -25,7 +25,7 @@ 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;
@@ -66,12 +66,26 @@ def draw_brevis(expr brevwid) =
 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;
@@ -91,16 +105,16 @@ enddef;
 %
 % (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) =
@@ -141,19 +155,63 @@ def draw_neo_mensural_open_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;
@@ -188,15 +246,15 @@ def draw_mensural_head (expr wid, open) =
 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;
 
@@ -247,11 +305,11 @@ def punctum_char (expr verbose_name, internal_name, mudela_name,
                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
@@ -428,50 +486,50 @@ def inclinatum_char(expr verbose_name, internal_name, mudela_name,
 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);
 
@@ -481,29 +539,29 @@ punctum_char("Ed. Vat. pes upper punctum", "0vaticana_upes", "vatupeshead",
 % 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;
@@ -531,39 +589,39 @@ fet_beginchar("Ed. Vat. quilisma", "0vaticana_quilisma", "vatquilismahead")
 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
@@ -571,7 +629,7 @@ fet_beginchar("Solesmes oriscus", "0solesmes_oriscus",
        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;
@@ -600,7 +658,7 @@ fet_endchar;
 %
 
 % 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
@@ -666,15 +724,15 @@ def punctum_char (expr verbose_name, internal_name, mudela_name,
 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);
 
 %%%%%%%%
@@ -725,13 +783,13 @@ def punctum_char (expr verbose_name, internal_name, mudela_name,
 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;