gnu-music-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] ancient-font.ly, clefs


From: Juergen Reuter
Subject: [PATCH] ancient-font.ly, clefs
Date: Thu, 04 Jan 2001 01:28:32 +0100

Hi!

Below is a patch for 1.3.119 that updates input/test/ancient-font.ly
to reflect recent changes in lilypond since 1.3.88.  The patch also
fixes the width of one of the mensural c clefs and the c0 value of a
mensural f clef.  Finally, it includes two more mensural clef symbols;
one of them is a mensural G clef that has been asked for on this list
a while ago.  In the meantime, I have seen various shapes for mensural
G clefs; the clef included in this patch is a kind of a compromise
between all that different, but still similar shapes.

I noticed a problem in ancient-font.ly with setting the line-count
property of the staff symbol: If I define "StaffSymbol \override
#'line-count = #4" in a \translator block within the \paper block,
this applies (of course) to all staff lines.  But how can I apply
different line-count values for each staff line individually?  Setting
the property within a staff context (e.g. for 1.3.119, "\property
Staff.StaffSymbol \override #'line-count = #4") used to work in
1.3.99, but does not work anymore for 1.3.119.  ancient-font.ly should
show a score with a 4-line staff and a 5-line staff.

In 1.3.119, there seems to be no difference in the size of clef
symbols and clef change symbols.  Is this a bug?

Finally, if you look at the bracket of ancient-font.ly that joins the
two staff lines on the left, you will see that its vertical size
regards the custos symbol.  The custos symbol should be ignored.

Greetings,
           Juergen

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

--- ancient-font.ly.orig        Sun Dec 17 18:54:31 2000
+++ ancient-font.ly     Wed Jan  3 23:58:51 2001
@@ -8,77 +8,96 @@
 \include "paper26.ly"
 
 global =  \notes {
-    \property Score.timing = 1
-    \property Staff.TimeSignature \override #'style = #"old"
-    \time 2/2;
+    \property Score.timing = ##f
+%   \property Staff.TimeSignature \override #'style = #'old
 }
 
 upperVoice =  \context Staff = upperVoice <
     \global
-    \property Staff.numberOfStaffLines = 4
+    \property Staff.StaffSymbol \override #'line-count = #4
     \notes \transpose c' {
-       \property Staff.Custos \override #'style = #'"vaticana"
+       \property Voice.NoteHead \override #'style = #'mensural
+       \property Voice.Stem \override #'stem-centered = ##t
+       \property Staff.Custos \override #'style = #'vaticana
        \clef "vaticana_fa2";
-       c1 d e f g
+       c2 d e f g
+
+%      \property Staff.clefGlyph = #"clefs-vaticana_do"
+%      \property Staff.clefPosition = #1
+%      \property Staff.clefOctavation = #0 
        \clef "vaticana_do2";
-       a b c' \bar "|";
+
+       a b c'
        b a g f
        \clef "vaticana_fa1";
-       e d c\breve \bar "|";
+       e d c1 \bar "|";
 
-       \property Staff.Custos \override #'style = #"medicaea"
+       \property Staff.Custos \override #'style = #'medicaea
        \clef "medicaea_fa2";
-       c1 d e f g
+       c2 d e f g
        \clef "medicaea_do2";
-       a b c' \bar "|";
+       a b c'
        b a g f
        \clef "medicaea_fa1";
-       e d c\breve \bar "|";
+       e d c1 \bar "|";
 
-       \property Staff.Custos \override #'style = #'"hufnagel"
+       \property Staff.Custos \override #'style = #'hufnagel
        \clef "hufnagel_fa2";
-       c1 d e f g
+       c2 d e f g
        \clef "hufnagel_do2";
-       a b c' \bar "|";
+       a b c'
        b a g f
        \clef "hufnagel_fa1";
-       e d c\breve \bar "||";
+       e d c1 \bar "||";
     }
 >
 
 lowerVoice =  \context Staff = lowerNotes <
     \global
-    \property Staff.numberOfStaffLines = 5
-    \notes \transpose c'' {
-       \property Staff.Custos \override #'style = #'"mensural"
+    \property Staff.StaffSymbol \override #'line-count = #5
+    \notes \transpose c' {
+        \property Voice.NoteHead \override #'style = #'mensural
+       \property Voice.Stem \override #'stem-centered = ##t
+       \property Staff.Custos \override #'style = #'mensural
        \clef "mensural1_c2";
-       c1 d e f g
+       c2 d e f g
        \clef "mensural1_c2";
-       a b c' \bar "|";
+       a b c'
        b a g f
        \clef "mensural2_c2";
-       e d c\breve \bar "|";
+       e d c1 \bar "|";
 
        \clef "mensural2_c2";
-       c1 d e f g
+       c2 d e f g
        \clef "mensural3_c2";
-       a b c' \bar "|";
+       a b c'
        b a g f
        \clef "mensural3_c2";
-       e d c\breve \bar "|";
+       e d c1 \bar "|";
 
-       \clef "mensural_f";
-       c1 d e f g
-       \clef "mensural_f";
-       a b c' \bar "|";
-       b a g f
-       \clef "mensural_f";
-       e d c\breve \bar "|";
-
-       \clef "hufnagel";
-       c,1 d, e, f, g,
-       \clef "hufnagel";
-       a, b, c \bar "||";
+       \clef "mensural1_f";
+       c2 d e f g
+       \clef "mensural1_f";
+       a b c'
+       b a g f
+       \clef "mensural2_f";
+       e d c1 \bar "|";
+
+       \clef "mensural2_f";
+       c2 d e f g
+       \clef "mensural_g";
+       a' b' c''
+       b' a' g' f'
+       \clef "mensural_g";
+       e' d' c'1 \bar "|";
+
+       \clef "mensural_g";
+       c'2 d' e' f' g'
+       \clef "hufnagel_do_fa";
+       a b c'
+       b a g f
+       \clef "hufnagel_do_fa";
+       e d c1 \bar "||";
     }
 >
 
@@ -94,8 +113,10 @@
        indent = 0.0;
        \translator {
            \StaffContext
-           \consists "Custos_engraver";
-%          custosStyle = "mensural";
+           \consists Custos_engraver;
+%          Custos \override #'style = #'mensural;
+           \remove Time_signature_engraver;
+%          StaffSymbol \override #'line-count = #4
        }
     }
 }

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

--- engraver.ly.orig    Fri Dec  8 12:56:01 2000
+++ engraver.ly Wed Jan  3 05:17:09 2001
@@ -386,7 +386,9 @@
          ("clefs-mensural1_c" . 0)
          ("clefs-mensural2_c" . 0)
          ("clefs-mensural3_c" . 0)
-         ("clefs-mensural_f" . 0))
+         ("clefs-mensural1_f" . 4)
+         ("clefs-mensural2_f" . 4)
+         ("clefs-mensural_g" . -4))
 
        clefGlyph = #"clefs-G"
        clefPosition = #-2

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

--- clef.scm.orig       Sun Dec 17 16:32:08 2000
+++ clef.scm    Wed Jan  3 05:29:42 2001
@@ -36,7 +36,7 @@
          ("hufnagel_do3" . ("clefs-hufnagel_do" 3 0))
          ("hufnagel_fa1" . ("clefs-hufnagel_fa" -1 0))
          ("hufnagel_fa2" . ("clefs-hufnagel_fa" 1 0))
-         ("hufnagel" . ("clefs-hufnagel_do_fa" 4 0))
+         ("hufnagel_do_fa" . ("clefs-hufnagel_do_fa" 4 0))
          ("mensural1_c1" . ("clefs-mensural1_c" -4 0))
          ("mensural1_c2" . ("clefs-mensural1_c" -2 0))
          ("mensural1_c3" . ("clefs-mensural1_c" 0 0))
@@ -50,7 +50,9 @@
          ("mensural3_c2" . ("clefs-mensural3_c" 0 0))
          ("mensural3_c3" . ("clefs-mensural3_c" 2 0))
          ("mensural3_c4" . ("clefs-mensural3_c" 4 0))
-         ("mensural_f" . ("clefs-mensural_f" 2 0))
+         ("mensural1_f" . ("clefs-mensural1_f" 2 0))
+         ("mensural2_f" . ("clefs-mensural2_f" 2 0))
+         ("mensural_g" . ("clefs-mensural_g" -2 0))
        )
 )
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

--- feta-klef.mf.orig   Mon Nov  6 14:42:48 2000
+++ feta-klef.mf        Thu Jan  4 00:07:08 2001
@@ -5,7 +5,8 @@
 % source file of the Feta (not the Font-En-Tja) music font
 % 
 % (c) 1997--2000 Han-Wen Nienhuys <address@hidden>,
-% Jan Nieuwenhuizen <address@hidden>
+% Jan Nieuwenhuizen <address@hidden>,
+% Juergen Reuter <address@hidden>
 
 
 fet_begingroup("clefs");
@@ -629,7 +630,7 @@
 
 
 def draw_mensural_ii_c_clef(expr exact_center, reduction) = 
-       draw_brevis(exact_center, reduction, false, true);
+       draw_brevis(exact_center, reduction, true, true);
 
        save reduced_il, reduced_slt;
        save stem_width, interline;
@@ -727,7 +728,7 @@
                cycle;
 enddef;
 
-def draw_mensural_f_clef(expr exact_center, reduction) =
+def draw_mensural_i_f_clef(expr exact_center, reduction) =
        %
        % inspired by Gaspar van Weerbeke, "Virgo Maria" (1502), in:
        % MGG, volume 9, col. 653 ("Motette"), fig. 3.; also by
@@ -782,15 +783,156 @@
 enddef;
 
 
-fet_beginchar("mensural f clef", "mensural_f", "mensfclef")
+fet_beginchar("mensural f clef", "mensural1_f", "mens1fclef")
        if test = 1:
                draw_staff(-1,3, 0.0);
        fi;
-       draw_mensural_f_clef((0,0), 1.0);
+       draw_mensural_i_f_clef((0,0), 1.0);
 fet_endchar;
-fet_beginchar("mensural f clef", "mensural_f_change", "cmensfclef")
-       draw_mensural_f_clef((0,0), .8);
+fet_beginchar("mensural f clef", "mensural1_f_change", "cmens1fclef")
+       draw_mensural_i_f_clef((0,0), .8);
 fet_endchar;
+
+
+def draw_mensural_ii_f_clef(expr exact_center, reduction) =
+       %
+       % inspired by Philippe le Duc, "Dite Signori" (1590), in: MGG,
+       % volume 3, col. 848 ("Duc"); also by John Dowland, "The First
+       % Booke of Songes" (1597), in: MGG, volume 3, col. 721
+       % ("Dowland"), fig. 3.
+
+       save reduced_slt, stem_width, reduced_nht, holeheight, beamheight;
+
+       reduced_slt# = stafflinethickness# * reduction;
+       stem_width# = 1.4 reduced_slt#;
+       reduced_nht# = noteheight# * reduction;
+       holeheight# = 3 reduced_slt#;
+       beamheight# = 0.4(reduced_nht# - holeheight#);
+
+       define_pixels(beamheight, stem_width, staff_space);
+
+       pickup pencircle
+               xscaled beamheight
+               yscaled stem_width
+               rotated 45;
+
+       draw
+               exact_center + (1.0 staff_space, 0.6 staff_space) --
+               exact_center + (1.25 staff_space, 0.4 staff_space);
+
+       draw
+               exact_center + (1.0 staff_space, -0.4 staff_space) --
+               exact_center + (1.25 staff_space, -0.6 staff_space);
+
+       draw    halfcircle scaled 1.2 staff_space rotated -90
+               shifted (-exact_center + (+0.1 staff_space, 0));
+
+       set_char_box(0, 3staff_space#, 3staff_space#, 0);
+enddef;
+
+fet_beginchar("mensural f clef", "mensural2_f", "mens2fclef")
+       if test = 1:
+               draw_staff(-1,3, 0.0);
+       fi;
+       draw_mensural_ii_f_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("mensural f clef", "mensural2_f_change", "cmens2fclef")
+       draw_mensural_ii_f_clef((0,0), .8);
+fet_endchar;
+
+
+def draw_mensural_g_clef(expr exact_center, reduction) =
+       %
+       % inspired by Francisco Guerrero, "Lib. 1.  Missarum" (1566),
+       % in: MGG, volume 3, col. 858 ("Ducis"); also by Stefano
+       % Fabri, "Quam speciosa veteranis" (1611), in: MGG, volume 3,
+       % col. 1698 ("Fabri"); also by Philippus Dulichius,
+       % "Fasciculus novus ..." (1598), in: MGG, volume 3, col. 919
+       % ("Dulichius"), fig. 1; also by Noe Faignient, "Ic sal de
+       % Heer myn God gebenedye" (1568), in: MGG, volume 3, col. 1735
+       % ("Faignient").
+       %
+       % Metafont code partially inspired by Schwabacher 'G' of yswab
+       % font.
+
+       save reduced_il, stem_width, height, width, apex_o, hair;
+
+       reduced_il#=staff_space#*reduction;
+
+       set_char_box(0.5reduced_il#, 1.5reduced_il#,
+                    1.5reduced_il#, 1.5reduced_il#);
+
+       stem_width# = 0.17 reduced_il#;
+       height# = 1.5 reduced_il#;
+       width# = 1.13 reduced_il#;
+       apex_o# = 0.02 reduced_il#;
+       hair# =  3 stafflinethickness#;
+       define_pixels(reduced_il, stem_width, height, width, apex_o, hair);
+
+       penpos1(2 stem_width, -142);
+       z1l = (0.715 width, 0.742 height);
+       penpos1'(hair, -90);
+       z1'l = z1r;
+       penpos2(1.179 stem_width, -142);
+       z2l = (width, 0.466 height);
+       penpos3(hair, 77);
+       z3 = (0.764 width, 0.067 height); 
+       z4 = (0.59 width, -apex_o);
+       penpos5(1.179 stem_width, 32);
+       z5l=(0, 0.457 height);
+       penpos6(hair, -56.5);
+       z7 = (x4 - 0.843 stem_width, height + apex_o);
+       z7 - z6l = whatever * dir33.5;
+       penpos8(1.286 stem_width, -130);
+       z8r = (0.715 width, 0.742 height) + (-apex_o, apex_o);
+       z6r - z8r = whatever * (z7 - z8l);
+       filldraw
+               z1'r{dir45} .. z2r{down} .. z3r{dir207} .. z5r{up} ..
+               z6r{z7-z6l} & z6r -- z8r -- z8l -- z7 --- z6l ...
+               z5l{down} .. z4{right} .. z3l{dir27} .. z2l{up} ..
+               z1l{1/3[z6l,z7]-z1l} & z1l -- z1r -- z1'r & cycle
+               shifted (-exact_center + (0, -0.75reduced_il));
+
+       penpos9(stem_width, 0);
+       x9r = x4; y9 = 0.3 height;
+
+       pickup pencircle
+               scaled stem_width
+               rotated 45;
+       draw    z9 -- (z9 + (0, -0.4reduced_il))
+               shifted (-exact_center + (0, -0.75reduced_il));
+
+       pickup pencircle
+               xscaled stem_width
+               yscaled hair
+               rotated 30;
+
+       draw halfcircle
+               scaled 0.5 reduced_il
+               rotated -90
+               shifted z8
+               shifted (0, 0.25reduced_il)
+               shifted (-exact_center + (0, -0.75reduced_il));
+
+       draw halfcircle
+               scaled 0.4 reduced_il
+               rotated 90
+               shifted (z8 + (0, 0.45 reduced_il))
+               shifted (0, 0.25reduced_il)
+               shifted (-exact_center + (0, -0.75reduced_il));
+enddef;
+
+
+fet_beginchar("mensural g clef", "mensural_g", "mensgclef")
+       if test = 1:
+               draw_staff(-1,3, 0.0);
+       fi;
+       draw_mensural_g_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("mensural g clef", "mensural_g_change", "cmensgclef")
+       draw_mensural_g_clef((0,0), .8);
+fet_endchar;
+
 
 
 %%%%%%%%



reply via email to

[Prev in Thread] Current Thread [Next in Thread]