From 388121aed1734e9e536ede58bd3de98b68367842 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Fri, 28 Jan 2005 14:20:01 +0000 Subject: [PATCH] * mf/feta-macros.mf (soft_start_penstroke, soft_end_penstroke): New macros. * mf/feta-pendaal.mf (draw_pedal_P): Use soft_end_penstroke. (draw_pedal_d): Use soft_start_penstroke. * mf/feta-accordion.mf ("accOldEE"): Draw glyph differently (without changing the shape) to avoid fontforge warnings. * mf/feta-klef.mf (draw_tab_T, draw_tab_A, draw_tab_B): Use soft_end_penstroke and fix glyph shape. --- ChangeLog | 11 +++++++++++ mf/feta-accordion.mf | 47 +++++++++++++++++++++++--------------------- mf/feta-klef.mf | 40 ++++++++++++++++++------------------- mf/feta-macros.mf | 30 ++++++++++++++++++++++++++++ mf/feta-pendaal.mf | 18 ++++++++--------- 5 files changed, 95 insertions(+), 51 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8301b1a449..c2d2e589ae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,14 +4,25 @@ 2005-01-28 Werner Lemberg + * mf/feta-macros.mf (soft_start_penstroke, soft_end_penstroke): New + macros. + * mf/feta-pendaal.mf ("Pedal asterisk"): Remove workaround for metapost bug. + (draw_pedal_P): Use soft_end_penstroke. + (draw_pedal_d): Use soft_start_penstroke. * mf/feta-schrift.mf ("Trill (`tr')"): Remove redundant point in path. ("Varied Coda"): Move some points to avoid fontforge warnings. This doesn't change the glyph shape. + * mf/feta-accordion.mf ("accOldEE"): Draw glyph differently (without + changing the shape) to avoid fontforge warnings. + + * mf/feta-klef.mf (draw_tab_T, draw_tab_A, draw_tab_B): Use + soft_end_penstroke and fix glyph shape. + 2005-01-27 Han-Wen Nienhuys * lily/*.cc: Scheme deprecation of SCM_VECTOR_* diff --git a/mf/feta-accordion.mf b/mf/feta-accordion.mf index 6581390a13..dcceba181f 100644 --- a/mf/feta-accordion.mf +++ b/mf/feta-accordion.mf @@ -358,17 +358,21 @@ fet_beginchar ("accOldEE", "accOldEE") z1 = (0, 0); z2 = (0, ir); + z3 = (0, -ir); penpos1 (blot_diameter, 0); penpos2 (stroke_width + blot_diameter, 0); + penpos3 (stroke_width + blot_diameter, 0); pickup pencircle scaled (lr + blot_diameter); - for pp := 0 step 45 until 360: - drawdot (0, 0) shifted (ir * (dir pp)); + for pp := 0 step 45 until 180: + drawdot z2 rotated pp; + drawdot z3 rotated pp; - penstroke (z1e - -- z2e) rotated pp; + penstroke (z2e + -- z1e + -- z3e) rotated pp; endfor; pickup pencircle scaled lr; @@ -383,35 +387,34 @@ fet_beginchar ("accOldEE", "accOldEE") h := lh + lt; b := w := (lh + hround accreg_linethickness) / 2; - penpos3 (hround accreg_linethickness, 0); - penpos4 (lt, 90); - penpos5 (hround accreg_linethickness, 180); - penpos6 (lt, 270); + penpos10 (hround accreg_linethickness, 0); + penpos11 (lt, 90); + penpos12 (hround accreg_linethickness, 180); + penpos13 (lt, 270); - z3r = (w, h / 2); - z4r = (0, h); - z5r = (-b, h / 2); - z6r = (0, 0); + z10r = (w, h / 2); + z11r = (0, h); + z12r = (-b, h / 2); + z13r = (0, 0); - % penlabels (1, 2, 3, 4, 5, 6); + % penlabels (1, 2, 10, 11, 12, 13); % mf doesn't handle pixel dropouts in outline objects, so we use % `draw' if not called by mpost if known miterlimit: - penstroke z3e - .. z4e - .. z5e - .. z6e + penstroke z10e + .. z11e + .. z12e + .. z13e .. cycle; else: pickup pencircle xscaled accreg_linethickness yscaled lt; - draw z3 - .. z4 - .. z5 - .. z6 + draw z10 + .. z11 + .. z12 + .. z13 .. cycle; fi; - fet_endchar; diff --git a/mf/feta-klef.mf b/mf/feta-klef.mf index 99ae048dd9..b0492621d3 100644 --- a/mf/feta-klef.mf +++ b/mf/feta-klef.mf @@ -499,7 +499,7 @@ begingroup; y5l = ypart (pos + siz); penpos10 (penw, 170); - z10 = pos + .55 vx + .85 vy; + z10 = pos + .55 vx + .9 vy; penpos11 (.75 [penh, penw], 170); z11 = z10 - .5 vy + .025 vx; penpos12 (penh, 100); @@ -516,10 +516,10 @@ begingroup; ..z5e) slanted slant shifted (slant * -ypart pos, 0); - soft_penstroke (z10e - ..tension 1.5.. z11e - .. z12e - ..tension 1.1.. z13e{(z13r - z13l) rotated 90}) + soft_end_penstroke (z10e + ..tension 1.5.. z11e + .. z12e + ..tension 1.1.. z13e{(z13r - z13l) rotated 90}) slanted slant shifted (slant * -ypart pos, 0); endgroup; enddef; @@ -573,15 +573,15 @@ begingroup; .. z4e) slanted slant shifted (slant * -ypart pos, 0); - soft_penstroke (z5e - .. z6e - .. z7e - .. z8e{(z8r - z8l) rotated 90}) + soft_end_penstroke (z5e + .. z6e + .. z7e + .. z8e{(z8r - z8l) rotated 90}) slanted slant shifted (slant * -ypart pos, 0); - soft_penstroke (z10e - .. z11e - .. z12e) + soft_end_penstroke (z10e + .. z11e + .. z12e) slanted slant shifted (slant * -ypart pos, 0); endgroup; enddef; @@ -617,7 +617,7 @@ begingroup; z8 = .5 [z12l, z11l] + .15 vx - .05 vy; penpos10 (.75 [penh, penw], 170); - z10 = pos + .375 vx + .95 vy; + z10 = pos + .375 vx + vy; penpos 11 (.8 [penh, penw], 150); z11 = z10 - .5 vy + .04 vx; penpos12 (penh, 100); @@ -634,15 +634,15 @@ begingroup; ..z5e {left}) slanted slant shifted (slant * -ypart pos, 0); - soft_penstroke (z6e{right} - .. z7e - .. z8e{(z8r - z8l) rotated 90}) + soft_end_penstroke (z6e{right} + .. z7e + .. z8e{(z8r - z8l) rotated 90}) slanted slant shifted (slant * -ypart pos, 0); - soft_penstroke (z10e - ..tension 1.5.. z11e - .. z12e - ..tension 1.1.. z13e{(z13r - z13l) rotated 90}) + soft_end_penstroke (z10e + ..tension 1.5.. z11e + .. z12e + ..tension 1.1.. z13e{(z13r - z13l) rotated 90}) slanted slant shifted (slant * -ypart pos, 0); endgroup; enddef; diff --git a/mf/feta-macros.mf b/mf/feta-macros.mf index d8b7028cd1..83ffe0fec3 100644 --- a/mf/feta-macros.mf +++ b/mf/feta-macros.mf @@ -165,6 +165,36 @@ def soft_penstroke text t = enddef; +def soft_start_penstroke text t = + forsuffixes e = l, r: + path_.e := t; + endfor; + + if cycle path_.l: + cyclestroke_; + else: + fill path_.l + -- reverse path_.r + ..tension1.5.. cycle; + fi; +enddef; + + +def soft_end_penstroke text t = + forsuffixes e = l, r: + path_.e := t; + endfor; + + if cycle path_.l: + cyclestroke_; + else: + fill path_.l + ..tension1.5.. reverse path_.r + -- cycle; + fi; +enddef; + + % % Make a round path segment going from P to Q. 2*A is the angle that the % path should take. diff --git a/mf/feta-pendaal.mf b/mf/feta-pendaal.mf index c7aa08addc..adba90fb0c 100644 --- a/mf/feta-pendaal.mf +++ b/mf/feta-pendaal.mf @@ -189,10 +189,10 @@ begingroup; ..tension 1.5.. z3e ..tension 2.5.. {dir (225)}z4e; - soft_penstroke z8'e{right} - ..tension 1.5.. z9e{dir (-pedalpha)} - .. z10e - ..tension 2.5.. z11e; + soft_end_penstroke z8'e{right} + ..tension 1.5.. z9e{dir (-pedalpha)} + .. z10e + ..tension 2.5.. z11e; fill z4r{dir (225)} ..tension 1.5.. z5r{left} @@ -236,11 +236,11 @@ begingroup; penlabels (1, 2, 3, 4, 5); fi; - soft_penstroke z1e{dir (-10)} - ..tension 1.1.. z2e{dir (-90 + 10)} - ..tension 1.1.. z3e{left} - ..tension 1.1.. z4e{up} - ..tension 1.1.. z5e{dir (-70 + 90)}; + soft_start_penstroke z1e{dir (-10)} + ..tension 1.1.. z2e{dir (-90 + 10)} + ..tension 1.1.. z3e{left} + ..tension 1.1.. z4e{up} + ..tension 1.1.. z5e{dir (-70 + 90)}; endgroup; enddef; -- 2.39.5