diff options
author | Werner Lemberg <wl@gnu.org> | 2014-03-06 07:19:49 +0100 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2014-03-14 15:39:27 +0100 |
commit | 2ddf56baf116c987e113d8a0596ef2b0bd39f88e (patch) | |
tree | 17095b5b025432c6d5ac895179747c9ecf5f600e /mf | |
parent | 622d226bd6f8a22abc8b292931451a6961f1d390 (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.mf | 26 |
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); |