% Feta (not the Font-En-Tja) music font -- ancient clefs
% This file is part of LilyPond, the GNU music typesetter.
%
-% Copyright (C) 2001--2012 Juergen Reuter <reuter@ipd.uka.de>
+% Copyright (C) 2001--2015 Juergen Reuter <reuter@ipd.uka.de>
%
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
-% (at your option) any later version.
+% (at your option) any later version, or under the SIL Open Font License.
%
% LilyPond is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
fet_beginchar ("Ed. Vat. do clef", "vaticana.do");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_vaticana_do_clef ((0, 0), 1.0);
fet_endchar;
fet_beginchar ("Ed. Vat. fa clef", "vaticana.fa");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_vaticana_fa_clef ((0, 0), 1.0);
fet_endchar;
fet_beginchar ("Ed. Med. do clef", "medicaea.do");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_medicaea_do_clef ((0, 0), 1.0);
fet_endchar;
fet_beginchar ("Ed. Med. fa clef", "medicaea.fa");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_medicaea_fa_clef ((0, 0), 1.0);
fet_endchar;
penlabels (1, 2, 3);
enddef;
+
%
% Draw two brevis notes; the second one shifted down by `shift'.
% The other parameters are the same as with `draw_brevis'.
penlabels (1, 2, 3, 4, 5, 6);
enddef;
+
def draw_neomensural_c_clef (expr exact_center, reduction) =
save reduced_il, reduced_slt, stem_width;
fet_beginchar ("neo-mensural c clef", "neomensural.c");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_neomensural_c_clef ((0, 0), 1.0);
fet_endchar;
fet_beginchar ("petrucci c1 clef", "petrucci.c1");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_petrucci_c_clef ((0, 0), +2, 1.0);
fet_endchar;
fet_beginchar ("petrucci c2 clef", "petrucci.c2");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_petrucci_c_clef ((0, 0), +1, 1.0);
fet_endchar;
fet_beginchar ("petrucci c3 clef", "petrucci.c3");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_petrucci_c_clef ((0, 0), 0, 1.0);
fet_endchar;
fet_beginchar ("petrucci c4 clef", "petrucci.c4");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_petrucci_c_clef ((0, 0), -1, 1.0);
fet_endchar;
fet_beginchar ("petrucci c5 clef", "petrucci.c5");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_petrucci_c_clef ((0, 0), -2, 1.0);
fet_endchar;
def draw_mensural_c_clef (expr exact_center, reduction, fill_char) =
save reduced_il, vert_thick, hor_thick, blot_rad;
+
reduced_il# = staff_space# * reduction;
vert_thick# = linethickness# * 1.4;
hor_thick# = staff_space# * reduction * 0.25;
- blot_rad = blot_diameter/2;
+
+ blot_rad = blot_diameter / 2;
define_pixels (reduced_il, vert_thick, hor_thick);
x2l = 0;
top y2 = 2.2 reduced_il;
z3 = (vert_thick, 0.75 reduced_il);
- z4 = z3 + (reduced_il-vert_thick, 0);
- z5 = z4 + (vert_thick, - 0.5 reduced_il);
+ z4 = z3 + (reduced_il - vert_thick, 0);
+ z5 = z4 + (vert_thick, -0.5 reduced_il);
z6 = z5 - (reduced_il, 0);
z7 = z4 + (0.5 vert_thick, 0.5 reduced_il);
z8 = z5 - (vert_thick, 0);
+
save pat, pat_mid;
path pat, pat_mid;
+
pat = z1l
- --z2l{up}..z2+(0, blot_rad)..{down}z2r
- --top z3r{down}..{right}rt z3r
- --lft z4r{right}..{up}top z4r
- --z7l{up}..z7+(0, blot_rad)..{down}z7r
- --top z5l{down}..{left}lft z5l
- --rt z6l{left}..{down}bot z6l
- --z1r;
- pat := pat -- reverse pat yscaled -1 -- cycle;
+ -- z2l{up}
+ .. z2 + (0, blot_rad)
+ .. {down}z2r
+ -- top z3r{down}
+ .. {right}rt z3r
+ -- lft z4r{right}
+ .. {up}top z4r
+ -- z7l{up}
+ .. z7 + (0, blot_rad)
+ .. {down}z7r
+ -- top z5l{down}
+ .. {left}lft z5l
+ -- rt z6l{left}
+ .. {down}bot z6l
+ --z1r;
+ pat := pat
+ -- reverse pat yscaled -1
+ -- cycle;
fill pat;
if fill_char:
- pat_mid = bot z3l{up}..{right}rt z3l
- --lft z4l{right}..{down}bot z4l
- --top z8r{down}..{left}lft z8r
- --rt z6r{left}..{up}top z6r
- --cycle;
+ pat_mid = bot z3l{up}
+ .. {right}rt z3l
+ -- lft z4l{right}
+ .. {down}bot z4l
+ -- top z8r{down}
+ .. {left}lft z8r
+ -- rt z6r{left}
+ .. {up}top z6r
+ --cycle;
unfill pat_mid;
+
pat_mid := pat_mid shifted (0, -reduced_il);
unfill pat_mid;
fi;
set_char_box (0, reduced_il# + vert_thick#,
- 2.2 reduced_il#,
- 2.2 reduced_il#);
+ 2.2 reduced_il#, 2.2 reduced_il#);
- penlabels (1,2,3,4,5,6,7,8);
+ penlabels (1, 2, 3, 4, 5, 6, 7, 8);
enddef;
+
fet_beginchar ("mensural c clef", "mensural.c");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_mensural_c_clef ((0, 0), 1.0, true);
fet_endchar;
+
fet_beginchar ("mensural c clef", "mensural.c_change");
draw_mensural_c_clef ((0, 0), .8, true);
fet_endchar;
+
fet_beginchar ("black mensural c clef", "blackmensural.c");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_mensural_c_clef ((0, 0), 1.0, false);
fet_endchar;
+
fet_beginchar ("black mensural c clef", "blackmensural.c_change");
draw_mensural_c_clef ((0, 0), 0.8, false);
fet_endchar;
+
def draw_diamond (expr exact_center, reduction) =
save stem_width, reduced_nht, holeheight, beamheight;
save rh_height, rh_width;
fet_beginchar ("petrucci f clef", "petrucci.f");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_petrucci_f_clef ((0, 0), 1.0);
fet_endchar;
fet_beginchar ("mensural f clef", "mensural.f");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_mensural_f_clef ((0, 0), 1.0);
fet_endchar;
fet_beginchar ("petrucci g clef", "petrucci.g");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_petrucci_g_clef ((0, 0), 1.0);
fet_endchar;
% until the code for the mensural g clef will be rewritten.
%
fet_beginchar ("mensural g clef", "mensural.g");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_petrucci_g_clef ((0, 0), 1.0);
fet_endchar;
fet_beginchar ("Hufnagel do clef", "hufnagel.do");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_hufnagel_do_clef ((0, 0), 1.0);
fet_endchar;
fet_beginchar ("Hufnagel fa clef", "hufnagel.fa");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_hufnagel_fa_clef ((0, 0), 1.0);
fet_endchar;
fet_beginchar ("Hufnagel do/fa clef", "hufnagel.do.fa");
- if test = 1:
- draw_staff (-1, 3, 0.0);
- fi;
+ draw_staff_if_debugging (-1, 3);
draw_hufnagel_do_fa_clef ((0, 0), 1.0);
fet_endchar;