]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.101
authorfred <fred>
Tue, 26 Mar 2002 23:57:29 +0000 (23:57 +0000)
committerfred <fred>
Tue, 26 Mar 2002 23:57:29 +0000 (23:57 +0000)
mf/feta-custodes.mf [new file with mode: 0644]
mf/feta-generic.mf

diff --git a/mf/feta-custodes.mf b/mf/feta-custodes.mf
new file mode 100644 (file)
index 0000000..ad405ad
--- /dev/null
@@ -0,0 +1,273 @@
+% -*-Fundamental-*-
+% feta-custodes.mf --  implement custos symbols
+% 
+% source file of LilyPond's pretty-but-neat music font
+% 
+% (C) 2000 Juergen Reuter <reuterj@ira.uka.de>
+% 
+
+save black_notehead_width;
+numeric black_notehead_width;
+
+fet_begingroup("custodes");
+
+noteheight#:=staff_space#+ (1 + overdone_heads) *stafflinethickness#;
+define_pixels(noteheight);
+
+
+%%%%%%%%
+%
+% Hufnagel style
+%
+
+% stem up
+fet_beginchar("Custos Hufnagel", "hufnagel", "hufnagel")
+       save b_h,a_w;
+       a_b:=1.54; % b_h*a_b/a_w = wd/ht
+       b_h:=0.85;
+       a_w:=1.09;
+
+       save a, beta, ht, wd;
+       ht# =noteheight#;
+       2beta#=ht#*b_h;
+       a# = beta#*a_b;
+       wd# = 2a# / a_w;
+       set_char_box(0, wd#, ht#/2, ht#/2);
+       black_notehead_width# := wd#;
+
+       save rh_width, rh_height, rh_edge; % rhombus dimensions
+       rh_width#=0.7ht#; % ht*tan(35)
+       rh_height#=1.0ht#;
+       rh_edge#=0.61ht#; % (ht/2)/cos(35)
+
+       define_pixels(rh_width, rh_height, rh_edge);
+       pickup pencircle
+         xscaled stafflinethickness
+         yscaled rh_edge rotated -35;
+       z1=(0.5rh_width,+0.25rh_height);
+       z2=(1.0rh_width,-0.25rh_height);
+       z3=(2.0rh_width,+0.50rh_height);
+       draw z1 -- z2 -- z3;
+fet_endchar;
+
+% stem down
+fet_beginchar("Reverse Custos Hufnagel", "rhufnagel", "rhufnagel")
+       save b_h,a_w;
+       a_b:=1.54; % b_h*a_b/a_w = wd/ht
+       b_h:=0.85;
+       a_w:=1.09;
+
+       save a, beta, ht, wd;
+       ht# =noteheight#;
+       2beta#=ht#*b_h;
+       a# = beta#*a_b;
+       wd# = 2a# / a_w;
+       set_char_box(0, wd#, ht#/2, ht#/2);
+       black_notehead_width# := wd#;
+
+       save rh_width, rh_height, rh_edge; % rhombus dimensions
+       rh_width#=0.7ht#; % ht*tan(35)
+       rh_height#=1.0ht#;
+       rh_edge#=0.61ht#; % (ht/2)/cos(35)
+
+       define_pixels(rh_width, rh_height, rh_edge);
+       pickup pencircle
+         xscaled stafflinethickness
+         yscaled rh_edge rotated +35;
+       z1=(0.5rh_width,-0.25rh_height);
+       z2=(1.0rh_width,+0.25rh_height);
+       z3=(2.0rh_width,-0.50rh_height);
+       draw z1 -- z2 -- z3;
+fet_endchar;
+
+
+%%%%%%%%
+%
+% Medicaea style
+%
+
+% stem up
+fet_beginchar("Custos Med.", "medicaea", "medicaea")
+       save b_h, a_w;
+       a_b := 1.54; % b_h*a_b/a_w = wd/ht
+       b_h := 0.85;
+       a_w := 1.09;
+
+       save a, beta, ht, wd;
+       ht# = noteheight# * mag;
+       2beta# = ht# * b_h;
+       a# = beta# * a_b;
+       wd# = 0.4a# / a_w;
+       set_char_box(0, wd#, ht#/2, ht#/2); % width intentionally too small
+       black_notehead_width# := wd#;
+
+       define_pixels(ht, wd);
+       pickup pencircle scaled stafflinethickness;
+
+       z1 = (0.0wd, +0.0ht);
+       z2 = (1.0wd + 0.5stafflinethickness, +0.0ht);
+       penpos1(1.0ht, 90);
+       penpos2(1.0ht, 90);
+       penstroke z1e{z2 - z1} .. {right}z2e;
+
+       z3=(1.0wd, +0.0ht);
+       z4=(1.0wd, +1.0ht);
+       draw z3 -- z4;
+fet_endchar;
+
+
+% stem down
+fet_beginchar("Reverse Custos Med.", "rmedicaea", "rmedicaea")
+       save b_h, a_w;
+       a_b := 1.54; % b_h*a_b/a_w = wd/ht
+       b_h := 0.85;
+       a_w := 1.09;
+
+       save a, beta, ht, wd;
+       ht# = noteheight# * mag;
+       2beta# = ht# * b_h;
+       a# = beta# * a_b;
+       wd# = 0.4a# / a_w;
+       set_char_box(0, wd#, ht#/2, ht#/2); % width intentionally too small
+       black_notehead_width# := wd#;
+
+       define_pixels(ht, wd);
+       pickup pencircle scaled stafflinethickness;
+
+       z1 = (0.0wd, +0.0ht);
+       z2 = (1.0wd + 0.5stafflinethickness, -0.0ht);
+       penpos1(1.0ht, 90);
+       penpos2(1.0ht, 90);
+       penstroke z1e{z2 - z1} .. {right}z2e;
+
+       z3=(1.0wd, -0.0ht);
+       z4=(1.0wd, -1.0ht);
+       draw z3 -- z4;
+fet_endchar;
+
+
+%%%%%%%%
+%
+% Editio Vaticana style
+%
+
+% stem up
+fet_beginchar("Custos Ed. Vat.", "vaticana", "vaticana")
+       save b_h, a_w;
+       a_b := 1.54; % b_h*a_b/a_w = wd/ht
+       b_h := 0.85;
+       a_w := 1.09;
+
+       save a, beta, ht, wd;
+       ht# = noteheight# * mag;
+       2beta# = ht# * b_h;
+       a# = beta# * a_b;
+       wd# = 0.4a# / a_w;
+       set_char_box(0, wd#, ht#/2, ht#/2);
+       black_notehead_width# := wd#;
+
+       define_pixels(ht, wd);
+       pickup pencircle scaled stafflinethickness;
+
+       z1 = (0.0wd, +0.05ht);
+       z2 = (1.0wd + 0.5stafflinethickness, 0.0ht);
+       penpos1(0.5ht, 90);
+       penpos2(0.5ht, 90);
+       penstroke z1e{z2 - z1} .. {right}z2e;
+
+       z3=(1.0wd, +0.0ht);
+       z4=(1.0wd, +1.0ht);
+       draw z3 -- z4;
+fet_endchar;
+
+
+% stem down
+fet_beginchar("Reverse Custos Ed. Vat.", "rvaticana", "rvaticana")
+       save b_h, a_w;
+       a_b := 1.54; % b_h*a_b/a_w = wd/ht
+       b_h := 0.85;
+       a_w := 1.09;
+
+       save a, beta, ht, wd;
+       ht# = noteheight# * mag;
+       2beta# = ht# * b_h;
+       a# = beta# * a_b;
+       wd# = 0.4a# / a_w;
+       set_char_box(0, wd#, ht#/2, ht#/2);
+       black_notehead_width# := wd#;
+
+       define_pixels(ht, wd);
+       pickup pencircle scaled stafflinethickness;
+
+       z1 = (0.0wd, -0.05ht);
+       z2 = (1.0wd + 0.5stafflinethickness, -0.0ht);
+       penpos1(0.5ht, 90);
+       penpos2(0.5ht, 90);
+       penstroke z1e{z2 - z1} .. {right}z2e;
+
+       z3=(1.0wd, -0.0ht);
+       z4=(1.0wd, -1.0ht);
+       draw z3 -- z4;
+fet_endchar;
+
+
+%%%%%%%%
+%
+% Mensural style
+%
+
+% stem up
+fet_beginchar("Custos Mensural", "mensural", "mensural")
+       save b_h,a_w;
+       a_b:=1.54; % b_h*a_b/a_w = wd/ht
+       b_h:=0.85;
+       a_w:=1.09;
+
+       save a, beta, ht, wd;
+       ht# =noteheight#;
+       2beta#=ht#*b_h;
+       a# = beta#*a_b;
+       wd# = 2a# / a_w;
+       set_char_box(0, wd#, ht#/2, ht#/2); % width intentionally too small
+       black_notehead_width# := wd#;
+
+       define_pixels(ht, wd);
+       pickup pencircle xscaled stafflinethickness yscaled 0.4ht rotated -35;
+       z1=(0.0wd,-0.2ht);
+       z2=(0.2wd,+0.2ht);
+       z3=(0.4wd,-0.2ht);
+       z4=(0.6wd,+0.2ht);
+       z5=(0.8wd,-0.2ht);
+       z6=(1.6wd,+1.4ht);
+       draw z1 -- z2 -- z3 -- z4 -- z5 -- z6;
+fet_endchar;
+
+% stem down
+fet_beginchar("Reverse Custos Mensural", "rmensural", "rmensural")
+       save b_h,a_w;
+       a_b:=1.54; % b_h*a_b/a_w = wd/ht
+       b_h:=0.85;
+       a_w:=1.09;
+
+       save a, beta, ht, wd;
+       ht# =noteheight#;
+       2beta#=ht#*b_h;
+       a# = beta#*a_b;
+       wd# = 2a# / a_w;
+       set_char_box(0, wd#, ht#/2, ht#/2); % width intentionally too small
+       black_notehead_width# := wd#;
+
+       define_pixels(ht, wd);
+       pickup pencircle xscaled stafflinethickness yscaled 0.4ht rotated +35;
+       z1=(0.0wd,+0.2ht);
+       z2=(0.2wd,-0.2ht);
+       z3=(0.4wd,+0.2ht);
+       z4=(0.6wd,-0.2ht);
+       z5=(0.8wd,+0.2ht);
+       z6=(1.6wd,-1.4ht);
+       draw z1 -- z2 -- z3 -- z4 -- z5 -- z6;
+fet_endchar;
+
+fet_endgroup("custodes");
+define_pixels(black_notehead_width);
+
index 365f26c54cecbca0e6d55e3756e464dbfd5a0516..32e47497084b3391da50b8d02a5d0f4dcb1fac88 100644 (file)
@@ -35,6 +35,7 @@ if test = 0:
        input feta-timesig;
        input feta-pendaal;
        input feta-accordion;
+       input feta-custodes;    
 else:
 %      input feta-bolletjes;   
 %      input feta-banier;