]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/feta-macros.mf
Add '-dcrop' option to ps and svg backends
[lilypond.git] / mf / feta-macros.mf
index 83ffe0fec3f24d59dafda6289d76c1c5eef8e333..89458e3c3dbb7e69358eed3f70813507bb988e98 100644 (file)
@@ -1,7 +1,27 @@
+% Feta (not the Font-En-Tja) music font -- auxiliary macros for both feta and parmesan fonts
+% This file is part of LilyPond, the GNU music typesetter.
+%
+% Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
+%
+% 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/>.
+
+
 %
 % debugging
 %
 
+
 def print_penpos (suffix $) =
        message
          "z" & str$ & "l = (" & decimal x.$.l & ", " &decimal y.$.l & ");"
@@ -31,15 +51,15 @@ def treq =
 enddef;
 
 
-def draw_staff (expr first, last, offset) =
+def draw_staff_if_debugging (expr first, last) =
        if test <> 0:
                pickup pencircle scaled stafflinethickness;
 
                for i := first step 1 until last:
                        draw (-staff_space,
-                             (i + offset) * staff_space_rounded)
+                             (i + stafflines_y_offset) * staff_space_rounded)
                             -- (4 staff_space,
-                                (i + offset) * staff_space_rounded);
+                                (i + stafflines_y_offset) * staff_space_rounded);
                endfor;
        fi;
 enddef;
@@ -141,7 +161,7 @@ def make_pen_stack =
 enddef;
 
 
-def del_pen_stack=
+def del_pen_stack =
        save save_pen_stack, pen_stack_idx;
 enddef;
 
@@ -438,7 +458,8 @@ enddef;
 
 def draw_bulb (expr turndir, zl, zr, bulb_rad, radius_factor)=
 begingroup;
-       save rad, ang;
+       save rad, ang, pat;
+       path pat;
 
        clearxy;
 
@@ -455,9 +476,13 @@ begingroup;
 
        labels (0', 1', 2');
 
-       fill zr{dir (ang + turndir * 90)}
-            .. z1'
-            .. z2'
+       pat = zr{dir (ang + turndir * 90)}
+              .. z1'
+              .. z2'
+              .. cycle;
+
+       % avoid grazing outlines
+       fill subpath (0, 2.5) of pat
             -- cycle;
 endgroup
 enddef;