summaryrefslogtreecommitdiff
path: root/mf
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2014-03-06 07:19:49 +0100
committerWerner Lemberg <wl@gnu.org>2014-03-14 15:39:27 +0100
commit2ddf56baf116c987e113d8a0596ef2b0bd39f88e (patch)
tree17095b5b025432c6d5ac895179747c9ecf5f600e /mf
parent622d226bd6f8a22abc8b292931451a6961f1d390 (diff)
Issue 3876: Fix shape of G clefs
This patch simplifies the code for the double G clefs; it also fixes the incorrect test of the `double_shift' parameter that caused the non-double G clefs being drawn twice. Recent FontForge warnings like Internal Error (overlap) in clefs.G: Intersection failed! or the ugly shape with a straight line instead of a curve in the left part of the G clef are now gone: Drawing the shape twice triggered a bunch of FontForge bugs.
Diffstat (limited to 'mf')
-rw-r--r--mf/feta-clefs.mf26
1 files changed, 3 insertions, 23 deletions
diff --git a/mf/feta-clefs.mf b/mf/feta-clefs.mf
index d96f5f399d..3c762d6ee4 100644
--- a/mf/feta-clefs.mf
+++ b/mf/feta-clefs.mf
@@ -556,29 +556,9 @@ def draw_gclef (expr reduction, double_shift, extra_width) =
fill bulb;
- if double_shift <> 1:
-
- % transform helper points
- for n := 106, 110, 111, 112, 121:
- forsuffixes e := l,,r:
- z[n+100]e = z[n]e shifted (double_shift * reduced_ss, 0);
- endfor
- endfor
- for n := 110, 111:
- forsuffixes e := l,,r:
- z[n+100]'e = z[n]'e shifted (double_shift * reduced_ss, 0);
- endfor
- endfor
-
- fill swirl shifted (double_shift * reduced_ss, 0);
- penstroke z221e
- .. z210e{down_}
- .. z210'e
- .. z206e
- .. z211'e
- .. z211e{dir (-95 + corr_angle)}
- .. z212e{dir (bot_angle_)};
- fill bulb shifted (double_shift * reduced_ss, 0);
+ if double_shift <> 0:
+ addto currentpicture also
+ currentpicture shifted (double_shift * reduced_ss, 0);
fi;
penlabels (range 101 thru 121);