From f025789d9b2cf27164ef1a5dd1f6b15294d37298 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Mon, 14 Mar 2005 17:19:56 +0000 Subject: [PATCH] * mf/feta-klef.mf (draw_gclef): Replace `simple_serif' for top of the glyph with smooth curve. --- ChangeLog | 8 +++++- mf/feta-klef.mf | 70 ++++++++++++++++++++++------------------------- mf/feta-macros.mf | 1 + 3 files changed, 41 insertions(+), 38 deletions(-) diff --git a/ChangeLog b/ChangeLog index dd4106d6eb..5a0468c021 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,12 @@ +2005-03-14 Werner Lemberg + + * mf/feta-klef.mf (draw_gclef): Replace `simple_serif' for + top of the glyph with smooth curve. + 2005-03-14 Han-Wen Nienhuys - * Documentation/user/global.itely (Page layout): remove printpagenumber. + * Documentation/user/global.itely (Page layout): remove + printpagenumber. 2005-03-13 Jürgen Reuter diff --git a/mf/feta-klef.mf b/mf/feta-klef.mf index e8c573a314..c9e56a8c92 100644 --- a/mf/feta-klef.mf +++ b/mf/feta-klef.mf @@ -134,9 +134,8 @@ begingroup; clearxy; center = outer_tangent_point - + big_radius * dir (0) + + big_radius * dir (0); % + (big_radius - bulb_radius) * dir (-turning_dir * 90) - ; z1' = center + bulb_radius * dir (turning_dir * 180); z2' = outer_tangent_point + flare * dir (0); @@ -148,23 +147,22 @@ begingroup; before := z3'{dir (turning_dir * 90)} .. z4'{-dir(0)} - .. tension 1.1 - .. z1'{-dir (turning_dir* 90)}; + ..tension 1.1.. z1'{-dir (turning_dir* 90)}; after := z2'{dir (turning_dir * 90)} .. end_point{dir (end_angle)}; (u, v) = before intersectiontimes after; pat := start_point{dir (start_angle)} .. outer_tangent_point{dir (-turning_dir * 90)} - .. tension 1.02 - .. z5'{dir(0)} - .. subpath (0, u) of before + ..tension 1.02.. z5'{dir(0)} + .. subpath (0, u) of before .. subpath (v, infinity) of after; if direction = 0: pat := reverse pat; fi - pat + +pat endgroup enddef; @@ -370,30 +368,45 @@ def draw_gclef (expr reduction) = z10r - z10l = .7 thinnib * dir (downstroke_angle + 90) + whatever * downstroke_dir; z10 = .5 [z10l, z10r]; - z11 = center + whatever * downstroke_dir + (-0.05 reduced_ss, 0); - penpos11 (thinnib, start_angle + 90); + penpos11 (thinnib, start_angle + 90); penpos12 (thinnib, bot_angle + 90); penpos13 (thinnib + 0.14 staff_space, 180); % this auxiliary point ensures good contour overlapping z8 = .5 [z9l, z9r] + .25 ((z9r - z9l) rotated -90); - z20 = z9l - (0, .25 blot_diameter); - penpos20(blot_diameter, 0); + penpos20 (blot_diameter, 0); - fill - z2l{right} + pat := z10{down} + .. z6 + ..tension 1.1.. z11{dir (start_angle)}; + + penpos6 (thinnib, angle (direction 1 of pat) + 90); + + % two auxiliary points to simulate `draw' with `penstroke' + z10' = point 0.5 of pat; + penpos10' (thinnib, angle (direction 0.5 of pat) + 90); + + z11' = point 1.5 of pat; + penpos11' (thinnib, angle (direction 1.5 of pat) + 90); + + z21l = z20l; + z21r = z9r; + + pat := z21l + .. z10l{down} + .. z10'l; + + fill z2l{right} .. z3l .. z4l{left} - .. tension 1.07 % inside curve - .. z5l{up} + ..tension 1.07.. z5l{up} % inside curve .. z7l{up} - .. tension 1.2 - .. z20r - & simple_serif (z20r,z20l, 60) + ..tension 1.2.. z20r{curl 1} + .. {direction 0 of pat}z20l -- z8 -- z9r % {dir (downstroke_angle + 0)} ..tension 0.8.. z7r{down} @@ -406,23 +419,6 @@ def draw_gclef (expr reduction) = -- z1l ..tension 0.85.. cycle; - pat := z10{down} - .. z6 - .. tension 1.1 - .. z11{dir (start_angle)}; - - penpos6 (thinnib, angle (direction 1 of pat) + 90); - - % two auxiliary points to simulate `draw' with `penstroke' - z10' = point 0.5 of pat; - penpos10' (thinnib, angle (direction 0.5 of pat) + 90); - - z11' = point 1.5 of pat; - penpos11' (thinnib, angle (direction 1.5 of pat) + 90); - - z21l = z20l; - z21r = z9r; - penstroke z21e .. z10e{down} .. z10'e @@ -436,7 +432,7 @@ def draw_gclef (expr reduction) = thinnib + .05 staff_space, 1, -1) -- cycle; - penlabels (range 1 thru 20); + penlabels (range 1 thru 21); penlabels (10', 11'); draw_staff (-1, 3, 0); diff --git a/mf/feta-macros.mf b/mf/feta-macros.mf index ee12a7215e..fa236fd01a 100644 --- a/mf/feta-macros.mf +++ b/mf/feta-macros.mf @@ -199,6 +199,7 @@ enddef; % Make a round path segment going from P to Q. 2*A is the angle that the % path should take. % + def simple_serif (expr p, q, a) = p{dir (angle (q - p) - a)} .. q{-dir (angle (p - q) + a)} -- 2.39.2