X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2Ffeta-macros.mf;h=89458e3c3dbb7e69358eed3f70813507bb988e98;hb=HEAD;hp=83ffe0fec3f24d59dafda6289d76c1c5eef8e333;hpb=388121aed1734e9e536ede58bd3de98b68367842;p=lilypond.git diff --git a/mf/feta-macros.mf b/mf/feta-macros.mf index 83ffe0fec3..89458e3c3d 100644 --- a/mf/feta-macros.mf +++ b/mf/feta-macros.mf @@ -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 +% +% 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 . + + % % 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;