]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/parmesan-scripts.mf
Add '-dcrop' option to ps and svg backends
[lilypond.git] / mf / parmesan-scripts.mf
index 1aebbe5c57e24fe23117fafaa9addffb395682d6..ee2b56b715c34f4eb5c96dd8db00ab5399eebe21 100644 (file)
@@ -1,10 +1,21 @@
-% -%-Fundamental-%- -*-Metafont-*-
-% parmesan-scripts.mf -- implement ancient script symbols
-% 
-% source file of LilyPond's pretty-but-neat music font
-% 
-% (c) 2002--2007 Juergen Reuter <reuter@ipd.uka.de>
+% Feta (not the Font-En-Tja) music font --  ancient script symbols
+% This file is part of LilyPond, the GNU music typesetter.
+%
+% Copyright (C) 2002--2015 Juergen Reuter <reuter@ipd.uka.de>
 % 
+%
+% 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, 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
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 
 fet_begingroup ("scripts");
 
@@ -228,4 +239,62 @@ fet_beginchar ("signum congruentiae down", "dsignumcongruentiae");
 fet_endchar;
 
 
+%%%%%%%%%%%%%
+%%%%
+%%%% Code for Kievan Notation
+%%%%
+%%%%%%%%%%%%%
+
+
+fet_beginchar ("Kievan end of piece (slash)", "barline.kievan");
+       % This draws the end of piece figure.
+       % This figure is placed at the end of the musical piece,
+       % after the staff.
+
+       save hair_thickness, thick_thickness, width, depth, height, padding;
+       hair# = 1.9 linethickness#;
+       thick# = 6.0 linethickness#;
+       width# = 1.0 staff_space#;
+       height# + depth# = 4 staff_space#;
+       depth# = height# + hair#;
+       padding# = .2 staff_space#;
+
+       set_char_box (0, width# + 3 padding#, depth#, height# + staff_space#);
+       define_pixels (hair, thick, width, padding, depth, height);
+
+       x7r - x2l = width;
+       y1 - y3r = depth + height + linethickness / 2;
+       z3 = z2;
+       z4 = .5 [z1, z2]
+          = (width / 2 + padding, hair / 8);
+       z5 = (x2 - .17 staff_space, 9/10 [y2, y1]);
+       z7 - z6 = (.5 staff_space, -.2 staff_space);
+       .4 [z6, z7] = 7/6 [z2, z1];
+
+       penpos1 (hair, 0);
+       penpos2 (hair, 0);
+       penpos3 (hair, -90);
+       penpos4 (thick, 10);
+       penpos5 (thick, 35);
+       penpos6 (hair, -90);
+       penpos7 (.5 thick, -120);
+
+       penlabels (1, 2, 3, 4, 5, 6, 7);
+
+       penstroke z1e
+                 -- z2e;
+
+       fill z3l
+            -- z2l{z2 - z1}
+            .. z3r{right}
+            .. z4r
+            .. z5r
+            .. z6r
+            .. simple_serif (z7r, z7l, 80)
+            .. {left}z6l
+            .. z5l
+            .. z4l
+            .. {left}cycle;
+fet_endchar;
+
 fet_endgroup ("scripts");