X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2Ffeta-accordion.mf;h=c96ff8d06cbe57f3d7e40525d13980fbc4e0211f;hb=5b1f3adfe5e3561eaa0f9440e0697054084b7107;hp=645d6d8b47ab987c94da60c0fb83f3b1e3b7931f;hpb=f018757016404595c92e21346ae0661dafe7ea46;p=lilypond.git diff --git a/mf/feta-accordion.mf b/mf/feta-accordion.mf index 645d6d8b47..c96ff8d06c 100644 --- a/mf/feta-accordion.mf +++ b/mf/feta-accordion.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- draw accordion symbols % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1998--2010 Han-Wen Nienhuys +% Copyright (C) 1998--2012 Han-Wen Nienhuys % % LilyPond is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by @@ -480,9 +480,34 @@ fet_beginchar ("accordion push", "push"); x3 = x1; bot y3 = 0; - draw z1 - -- z2 - -- z3; + save nw_offset, ne_offset; + pair nw_offset, ne_offset; + save sw_offset, se_offset, line_radius; + pair sw_offset, se_offset; + + line_radius := linewidth / 2; + nw_offset := line_radius * unitvector (z1 - z2); + ne_offset := nw_offset rotated -90; + sw_offset := line_radius * unitvector (z3 - z2); + se_offset := sw_offset rotated 90; + + z4 = ((z1 - ne_offset) + -- (z2 - ne_offset)) + intersectionpoint + ((z2 - se_offset) + -- (z3 - se_offset)); + + fill z1 + ne_offset + -- z2 + ne_offset + .. rt z2 {down} + .. z2 + se_offset + -- z3 + se_offset + .. z3 + sw_offset {- se_offset} + .. z3 - se_offset + -- z4 + -- z1 - ne_offset + .. z1 + nw_offset {ne_offset} + .. cycle; fet_endchar;