]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/parmesan-timesig.mf
Fix centered dynamics with alignment-distance.
[lilypond.git] / mf / parmesan-timesig.mf
index 307811a402e38c7e9dc301f24d8a908ab157df46..faafe0fd87a64874a53f5c157939b84808f10a62 100644 (file)
@@ -1,12 +1,23 @@
-% -%-Fundamental-%- -*-Metafont-*-
-% parmesan-timesig.mf -- implement ancient time signatures
-% 
-% source file of LilyPond's pretty-but-neat music font
-% 
-% (c) 1998--2006 Mats Bengtsson <matsb@s3.kth.se>,
+% Feta (not the Font-En-Tja) music font --  ancient time signatures
+% This file is part of LilyPond, the GNU music typesetter.
+%
+% Copyright (C) 1998--2009 Mats Bengtsson <matsb@s3.kth.se>,
 %               Christian Mondrup <scancm@biobase.dk>
-% (c) 2002--2006 Juergen Reuter <reuter@ipd.uka.de>
+% Copyright (C) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>
 % 
+%
+% LilyPond 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.
+%
+% 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 ("timesig");
 
@@ -53,8 +64,6 @@ def draw_nail (expr bottom_left, top_right) =
        x6 = x4;
        y5 = y6 = y2 - 2 mensural_Cthickness;
 
-       pickup pencircle scaled round;
-
        fill bot z1{right}
             .. rt z1{up}
             -- rt z5{up}
@@ -84,6 +93,8 @@ def mensural_timesig (expr verbose_name, internal_name,
                        if (full_circle or dotted):
                                draw_nail ((-mensural_Cthickness / 2, -d),
                                           (mensural_Cthickness / 2, h));
+                       elseif reverse_circle:
+                               draw_nail ((0, -d), (mensural_Cthickness, h));
                        else:
                                draw_nail ((-mensural_Cthickness, -d), (0, h));
                        fi;
@@ -249,16 +260,20 @@ def neomensural_timesig (expr verbose_name, internal_name,
                  .5 (neomensural_Cdiameter# + neomensural_Cthickness#));
 
                if slashed:
+                       pickup penrazor scaled neomensural_Cthickness;
+
+                       save t;
+                       t := neomensural_Cthickness / 2;
+
                        if (full_circle or dotted):
-                               draw_block ((-neomensural_Cthickness / 2,
-                                            -d + neomensural_Cthickness / 2),
-                                           (neomensural_Cthickness / 2,
-                                            h - neomensural_Cthickness / 2));
+                               draw (0, -d + t)
+                                    -- (0, h - t);
+                       elseif reverse_circle:
+                               draw (t, -d + t)
+                                    -- (t, h - t);
                        else:
-                               draw_block ((-neomensural_Cthickness,
-                                            -d + neomensural_Cthickness / 2),
-                                           (0,
-                                            h - neomensural_Cthickness / 2));
+                               draw (-t, -d + t)
+                                    -- (-t, h - t);
                        fi;
                fi;