-% -*- Fundamental -*- (emacs-20 mf mode mucks
-% feta-schrift.mf -- implement scripts
+% Feta (not the Font-En-Tja) music font -- implement scripts
+% This file is part of LilyPond, the GNU music typesetter.
%
-% source file of the Feta (defintively not an abbreviation for Font-En-Tja)
-% music font
-%
-% (c) 1997--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% Copyright (C) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
% Jan Nieuwenhuizen <janneke@gnu.org>
%
+%
+% 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 ("scripts");
labels(1a, 1b, 2a, 2b, 3a, 3b, 4a, 4b);
fet_endchar;
+
+fet_beginchar ("snap pizzicato (Bartok pizzicato)", "snappizzicato");
+ save height, width, thickness, superness;
+
+ height# = 4/15 staffsize#;
+ width# = height#;
+ thickness# = 1.3 linethickness#;
+ define_pixels (height, width);
+ define_whole_blacker_pixels (thickness);
+
+ set_char_box (width# / 2, width# / 2, height# / 2, height# * 3 / 4);
+
+ penpos1 (thickness, 90);
+ penpos2 (thickness, 180);
+ penpos3 (thickness, 270);
+ penpos4 (thickness, 0);
+
+ x1 = 0;
+ y1r = height / 2;
+ x3 = x1;
+ y3r = -y1r;
+ x4r = width / 2;
+ y4 = 0;
+ x2r = -x4r;
+ y2 = y4;
+
+ penlabels (1, 2, 3, 4);
+
+ % mf doesn't handle pixel dropouts in outline objects, so we use
+ % `draw' if not called by mpost
+ if known miterlimit:
+ penstroke z1e
+ .. z2e
+ .. z3e
+ .. z4e
+ .. cycle;
+ else:
+ pickup pencircle scaled thickness;
+ draw z1
+ .. z2
+ .. z3
+ .. z4
+ .. cycle;
+ fi;
+
+ z5 = (0, 0);
+ z6 = (x5, 1.5 y1r);
+
+ draw_gridline (z5, z6, thickness);
+
+ labels (5, 6);
+fet_endchar;
+
fet_endgroup ("scripts");