X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2Ffeta-braces.mf;h=3fdfb12efb7b4a58fed1b440eefdda7514944235;hb=HEAD;hp=c486081a3c601aa64a0dd256f72ff1913ed69643;hpb=3dd2729c9b45d88b531874a342e3b18ef516ded8;p=lilypond.git diff --git a/mf/feta-braces.mf b/mf/feta-braces.mf index c486081a3c..3fdfb12efb 100644 --- a/mf/feta-braces.mf +++ b/mf/feta-braces.mf @@ -1,13 +1,13 @@ % Feta (not the Font-En-Tja) music font -- Staff braces % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2009 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % Jan Nieuwenhuizen % -% LilyPond is free software: you can redistribute it and/or modify +% The LilyPond font 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. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -17,49 +17,11 @@ % You should have received a copy of the GNU General Public License % along with LilyPond. If not, see . - -% We have to reduce the pixel-per-point value to -% support large brace glyphs in case we are using MetaPost -% (which by default sets `hppp' to 49.80244, regardless of -% the used `mag' value) - -if known miterlimit: - bpppix_ := 0.2; % ten times larger than original - - numeric mm, pt, dd, bp, cm, pc, cc, in; - - mm * bpppix_ = 2.83464; - pt * bpppix_ = 0.99626; - dd * bpppix_ = 1.06601; - bp * bpppix_ = 1; - cm * bpppix_ = 28.34645; - pc * bpppix_ = 11.95517; - cc * bpppix_ = 12.79213; - in * bpppix_ = 72; - - hppp := pt; - vppp := pt; -fi; - - -input feta-autometric; -input feta-macros; - -staffsize# := 20 pt#; %% arbitrary - -input feta-params; - % % We must let the design increase for each font to make sure that mftrace % doesn't jack up the resolution too highly for the longer braces. % -fet_beginfont ("feta-braces-" & char (97 + font_count), - (font_count + 1) * 20, "fetaBraces"); - -mode_setup; - - save code, braces_per_font; code := 64; braces_per_font := 64; @@ -90,11 +52,11 @@ def draw_brace (expr height_sharp, width_sharp, slt_sharp, brace_number) = y0 = y1; x0 = x1 - 2/6 thin; - pendir = unitvector (x3 - x1, y3l / 6 - y1); + pendir = unitvector (x3 - x1, y3l / 8 - y1); penangle = angle pendir - 90; penpos3 (thin, penangle); penpos2 (thick, angle (z3 - z1) - 90); - penpos1 (2/3 thin, penangle); + penpos1 (-2 * (x0 - x1), penangle); penlabels (1, 2, 3); labels (0); @@ -116,11 +78,21 @@ def draw_brace (expr height_sharp, width_sharp, slt_sharp, brace_number) = enddef; -save stafflinethickness; +save linethickness; save increment; +save last_brace_number; +save min_width; +save max_width; +save min_thin; +save max_thin; linethickness := 0.5 pt#; increment := 0.5 pt#; +last_brace_number := braces_per_font * 9 - 1; +min_width := 2 pt#; +max_width := 20 pt#; +min_thin := 0.2 pt#; +max_thin := 1.25 pt#; y := 10 pt#; for i := 0 step 1 until font_count: @@ -139,13 +111,10 @@ for i := 0 step 1 until font_count: errmessage "please report to "; fi; - % x should be about one staff space, taking brace to have - % default height of 3 staffs, this yields height / 3 / 4 = 12 - % but 15 looks better - x := y / 15; + x := (y / last_brace_number) [min_width, max_width]; increment := x / 10; - linethickness := min (0.5 pt#, y / 150); + linethickness := (y / last_brace_number) [min_thin, max_thin]; if i = font_count: draw_brace (y, x, linethickness, number); fi; @@ -153,5 +122,3 @@ for i := 0 step 1 until font_count: number := number + 1; endfor; endfor; - -fet_endfont ("feta-braces");