]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/feta-schrift.mf
Docs-hu: Fix missing menu from Learning 1.3 Docs-hu: Polish navigation translation...
[lilypond.git] / mf / feta-schrift.mf
index 5bb7c1abddd4bd732cb1ed7cb4cdbb975f728af1..1afbcc21a76510bbbd1562748621b81893d26f8e 100644 (file)
@@ -1,12 +1,22 @@
-% -*- 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--2009 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");
@@ -1557,4 +1567,57 @@ fet_beginchar ("Straight caesura", "caesura.straight");
        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");