-% -%-Fundamental-%- -*-Metafont-*-
-% parmesan-clefs.mf -- implement ancient clefs
-%
-% source file of LilyPond's pretty-but-neat music font
+% Feta (not the Font-En-Tja) music font -- ancient clefs
+% This file is part of LilyPond, the GNU music typesetter.
%
-% (c) 2001--2006 Juergen Reuter <reuter@ipd.uka.de>
+% Copyright (C) 2001--2011 Juergen Reuter <reuter@ipd.uka.de>
%
+%
+% 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 ("clefs");
define_pixels (reduced_il);
- save pat, ellipse, clef;
+ save pat, ellipse, clef, T;
path pat, ellipse, clef;
+ transform T;
- pickup pencircle xscaled 0.6 linethickness
- yscaled 0.6 reduced_il;
-
- ellipse := reverse fullcircle xscaled 0.6 linethickness
- yscaled 0.6 reduced_il;
+ T := identity xscaled 0.6 linethickness
+ yscaled 0.6 reduced_il;
+ pickup pencircle transformed T;
+ ellipse := reverse fullcircle transformed T;
save xoffs, yoffs;
define_pixels (reduced_il, xoffs, yoffs);
% left-handed punctum
- pickup pencircle xscaled 0.6 linethickness
- yscaled 0.5 reduced_il;
-
- save ellipse, pat;
+ save ellipse, pat, T;
path ellipse, pat;
+ transform T;
- ellipse := reverse fullcircle xscaled 0.6 linethickness
- yscaled 0.5 reduced_il;
+ T := identity xscaled 0.6 linethickness
+ yscaled 0.5 reduced_il;
+ pickup pencircle transformed T;
+ ellipse := reverse fullcircle transformed T;
lft z21 = (xoffs + 0.00 reduced_il, yoffs + 0.00 reduced_il);
z22 = (xoffs + 0.25 reduced_il, yoffs + 0.05 reduced_il);
define_pixels (xoffs, yoffs);
% flags
- pickup pencircle xscaled reduced_slt
- yscaled flag_height;
-
- save ellipse;
+ save ellipse, T;
path ellipse;
+ transform T;
- ellipse := reverse fullcircle xscaled reduced_slt
- yscaled flag_height;
+ T := identity xscaled reduced_slt
+ yscaled flag_height;
+ pickup pencircle transformed T;
+ ellipse := reverse fullcircle transformed T;
xoffs = lft x1 = rt x2 - reduced_il;
y1 = yoffs + 0.5 (reduced_il - flag_height - staff_space);
define_pixels (xoffs, yoffs);
% stem
- pickup pencircle scaled linethickness;
+ pickup pencircle scaled reduced_slt;
x11 = x12 = xoffs + 0.4 reduced_il;
y11 = yoffs = bot y12 + 1.5 reduced_il;
- draw_rounded_block (bot lft z12, top rt z11, linethickness);
+ draw_rounded_block (bot lft z12, top rt z11, reduced_slt);
% left-handed punctum
-
- pickup pencircle xscaled reduced_slt
- yscaled reduced_il;
-
- save ellipse;
+ save ellipse, T;
path ellipse;
+ transform T;
- ellipse := reverse fullcircle xscaled reduced_slt
- yscaled reduced_il;
+ T := identity xscaled reduced_slt
+ yscaled reduced_il;
+ pickup pencircle transformed T;
+ ellipse := reverse fullcircle transformed T;
lft z13 = (xoffs, yoffs);
- rt z14 = z11 + (linethickness / 2, 0);
+ rt z14 = z11 + (reduced_slt / 2, 0);
fill get_subpath (ellipse, left, right, z13)
-- get_subpath (ellipse, right, left, z14)
define_pixels (xoffs, yoffs);
- pickup pencircle xscaled stem_width
- yscaled blot_diameter;
-
- save ellipse, pat;
+ save ellipse, pat, T;
path ellipse, pat;
+ transform T;
- ellipse := fullcircle xscaled stem_width
- yscaled blot_diameter;
+ T := identity xscaled stem_width
+ yscaled blot_diameter;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
lft x11 = lft x12 = xoffs;
top y12 - bot y11 = 4 reduced_il;
define_pixels (xoffs, yoffs);
- pickup pencircle xscaled 1.4 linethickness
- yscaled blot_diameter;
-
- save ellipse;
+ save ellipse, T;
path ellipse;
+ transform T;
- ellipse := fullcircle xscaled 1.4 linethickness
- yscaled blot_diameter;
+ T := identity xscaled 1.4 linethickness
+ yscaled blot_diameter;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
lft x11 = lft x13 = xoffs;
top y11 = yoffs + left_height;
define_pixels (xoffs, yoffs);
- pickup pencircle xscaled 1.4 linethickness
- yscaled blot_diameter;
-
- save ellipse;
+ save ellipse, T;
path ellipse;
+ transform T;
- ellipse := fullcircle xscaled 1.4 linethickness
- yscaled blot_diameter;
+ T := identity xscaled 1.4 linethickness
+ yscaled blot_diameter;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
lft x11 = lft x13 = xoffs;
top y11 = yoffs + 2.2 half_reduced_il;
define_pixels (xoffs, yoffs);
- pickup pencircle xscaled beamheight
- yscaled stem_width
- rotated 45;
-
- save ellipse;
+ save ellipse, T;
path ellipse;
+ transform T;
- ellipse := reverse fullcircle xscaled beamheight
- yscaled stem_width
- rotated 45;
+ T := identity xscaled beamheight
+ yscaled stem_width
+ rotated 45;
+ pickup pencircle transformed T;
+ ellipse := reverse fullcircle transformed T;
x21 := xoffs - rh_width / 2;
y21 := yoffs;
define_pixels (xoffs, yoffs);
% brevis stem
- pickup pencircle xscaled stem_width
- yscaled blot_diameter;
-
- save ellipse;
+ save ellipse, T;
path ellipse;
+ transform T;
- ellipse := fullcircle xscaled stem_width
- yscaled blot_diameter;
+ T := identity xscaled stem_width
+ yscaled blot_diameter;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
- rt z8 = (xoffs + reduced_il, yoffs - 4 reduced_slt);
+ rt x8 = xoffs + reduced_il;
+ y8 = y3;
rt z9 = (xoffs + reduced_il, yoffs - 4 reduced_il);
penpos8 (stem_width, 0);
define_pixels (xoffs, yoffs);
- pickup pencircle xscaled 0.2 width
- yscaled stem_width
- rotated 45;
-
- save ellipse;
+ save ellipse, T;
path ellipse;
+ transform T;
- ellipse := fullcircle xscaled 0.2 width
- yscaled stem_width
- rotated 45;
+ T := identity xscaled 0.2 width
+ yscaled stem_width
+ rotated 45;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
% half circle
lft z10 = (0, 0);
define_pixels (xoffs, yoffs);
- pickup pencircle xscaled 0.50 reduced_slt
- yscaled 0.22 reduced_il
- rotated -35;
-
- save ellipse, paths, sub_path, outlines, sub_outlines;
+ save ellipse, paths, sub_path, outlines, sub_outlines, T;
path ellipse, paths[], sub_path, outlines[], sub_outlines[];
+ transform T;
- ellipse := fullcircle xscaled 0.5 reduced_slt
- yscaled 0.22 reduced_il
- rotated -35;
+ T := identity xscaled 0.5 reduced_slt
+ yscaled 0.22 reduced_il
+ rotated -35;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
lft z1 = (xoffs + 0.80 reduced_il, yoffs + 0.00 reduced_il);
lft z2 = (xoffs + 1.00 reduced_il, yoffs + 1.20 reduced_il);
(times42, times24) = sub_outlines4 intersectiontimes sub_outlines2;
(times43, times34) = sub_outlines4 intersectiontimes sub_outlines3;
- pickup pencircle xscaled 0.75 reduced_slt
- yscaled 0.33 reduced_il
- rotated -35;
-
- ellipse := fullcircle xscaled 0.75 reduced_slt
- yscaled 0.33 reduced_il
- rotated -35;
+ T := identity xscaled 0.75 reduced_slt
+ yscaled 0.33 reduced_il
+ rotated -35;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
lft z21 = (xoffs + 1.05 reduced_il, yoffs + 0.45 reduced_il);
lft z22 = (xoffs + 0.55 reduced_il, yoffs + 0.45 reduced_il);
define_pixels (xoffs, yoffs);
- pickup pencircle xscaled (0.60 reduced_il)
- yscaled (0.10 reduced_il)
- rotated 40;
-
- save ellipse, pat;
+ save ellipse, pat, T;
path ellipse, pat;
+ transform T;
- ellipse := fullcircle xscaled (0.60 reduced_il)
- yscaled (0.10 reduced_il)
- rotated 40;
+ T := identity xscaled 0.6 reduced_il
+ yscaled 0.1 reduced_il
+ rotated 40;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
z1 = (xoffs + 0.90 reduced_il, yoffs + .45 reduced_il);
z2 = (xoffs + 0.80 reduced_il, yoffs + .45 reduced_il);
1.15 reduced_il# - ypart exact_center,
1.00 reduced_il# + ypart exact_center);
- pickup pencircle xscaled (0.60 reduced_il)
- yscaled (0.10 reduced_il)
- rotated 40;
-
save xoffs, yoffs;
xoffs# = xpart exact_center;
define_pixels (xoffs, yoffs);
- save ellipse, pat;
+ save ellipse, pat, T;
path ellipse, pat;
+ transform T;
- ellipse := fullcircle xscaled (0.60 reduced_il)
- yscaled (0.10 reduced_il)
- rotated 40;
+ T := identity xscaled 0.6 reduced_il
+ yscaled 0.1 reduced_il
+ rotated 40;
+ pickup pencircle transformed T;
+ ellipse := fullcircle transformed T;
z11 = (xoffs + 0.90 reduced_il, yoffs + 0.70 reduced_il);
z12 = (xoffs + 0.80 reduced_il, yoffs + 0.70 reduced_il);