]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/parmesan-clefs.mf
Imported Upstream version 2.16.0
[lilypond.git] / mf / parmesan-clefs.mf
index 2f605f736adfe3cf11d1f44346b99a620affafbe..34a09cf20bc40d7b0def688c2af66fc54731362f 100644 (file)
@@ -1,7 +1,7 @@
 % Feta (not the Font-En-Tja) music font --  ancient clefs
 % This file is part of LilyPond, the GNU music typesetter.
 %
-% Copyright (C) 2001--2011 Juergen Reuter <reuter@ipd.uka.de>
+% Copyright (C) 2001--2012 Juergen Reuter <reuter@ipd.uka.de>
 %
 %
 % LilyPond is free software: you can redistribute it and/or modify
@@ -1701,4 +1701,61 @@ fet_beginchar ("Hufnagel do/fa clef", "hufnagel.do.fa_change");
 fet_endchar;
 
 
+%%%%%%%%
+%%
+%% Medieval East-Slavic (Kievan) Notation clefs
+%% Code by Aleksandr Andreev <aleksandr.andreev@gmail.com>
+%%
+%%%%%%%%
+
+def draw_kievan_do_clef =
+       z1 = (1.108 staff_space, 0.554 staff_space);
+       z2 = (1.063 staff_space, -0.122 staff_space);
+       z3 = (1.467 staff_space, -1.621 staff_space);
+       z4 = (1.002 staff_space, -2.253 staff_space);
+
+       y5 = y3;
+       x4 - x5 = x3 - x4;
+
+       z6 = (0.917 staff_space, -0.383 staff_space);
+       z7 = (0.012 staff_space, -0.448 staff_space);
+       z8 = (0, -0.167 staff_space);
+       z9 = (0.057 staff_space, 0.464 staff_space);
+       z10 = (0.994 staff_space, 0.387 staff_space);
+       z11 = (1.023 staff_space, 0.554 staff_space);
+
+       fill z1
+            .. z2{down}
+            .. z3
+            -- z4
+            -- z5
+            .. {up}z6
+            & z6{left}
+            .. z7
+            & z7
+            .. z8{up}
+            .. z9
+            & z9
+            .. {right}z10
+            & z10
+            .. z11
+            -- cycle;
+
+       set_char_box (0, 1.5 staff_space#,
+                     2.25 staff_space#, 0.55 staff_space#);
+enddef;
+
+
+fet_beginchar ("Kievan tsefaut clef", "kievan.do");
+       % This draws the Tse-Fa-Ut clef; it is a variant alto clef that
+       % always occurs on the third line of the staff.
+       draw_kievan_do_clef;
+fet_endchar;
+
+
+fet_beginchar ("Kievan tsefaut clef", "kievan.do_change");
+       % This is the same thing as a do clef?
+       draw_kievan_do_clef;
+fet_endchar;
+
 fet_endgroup ("clefs");