]> git.donarmstrong.com Git - lilypond.git/commitdiff
Fixing height of Kievan bar line
authorAleksandr Andreev <aleksandr.andreev@gmail.com>
Sat, 3 Mar 2012 20:28:11 +0000 (15:28 -0500)
committerJanek Warchoł <janek.lilypond@gmail.com>
Mon, 16 Apr 2012 22:39:16 +0000 (00:39 +0200)
Kievan bar line is cut off when running lilypond with -dpreview,
or using Kievan score as a snippet in lilypond-book

See issue: http://code.google.com/p/lilypond/issues/detail?id=2344

lily/bar-line.cc
mf/parmesan-scripts.mf

index cee5f222430220f906f1120dfb6ff7660673406d..0cd0339235b41c307459670210ea35c27f69d66d 100644 (file)
@@ -287,7 +287,11 @@ Bar_line::compound_barline (Grob *me, string str, Interval const &extent,
   else if (str == "'")
     m = tick_bar_line (me, extent.at (UP), rounded);
   else if (str == "kievan")
+   {
+    me->set_property ("layer", scm_from_int (1));
     m.add_stencil (Font_interface::get_default_font (me)->find_by_name ("scripts.barline.kievan"));
+    m = *unsmob_stencil (scm_call_1 (ly_lily_module_constant ("stencil-whiteout"), m.smobbed_copy ()));
+   }
   return m;
 }
 
index 284aa45f5c163b7bebcf22ee621c2adebbf7142c..7899fcba428f01c8e26b1fdf48f8d1ab65aca58d 100644 (file)
@@ -254,16 +254,16 @@ fet_beginchar ("Kievan end of piece (slash)", "barline.kievan");
        save hair_thickness, thick_thickness, width, depth, height, padding;
        hair# = 1.9 linethickness#;
        thick# = 6.0 linethickness#;
-       width = .8 staff_space;
+       width# = 1.0 staff_space#;
        height# + depth# = 4 staff_space#;
-       depth# = height# + hair# / 2;
-       padding = .2 staff_space;
+       depth# = height# + hair#;
+       padding# = .2 staff_space#;
 
-       set_char_box (0, 0, depth#, height#);
-       define_pixels (hair, thick);
+       set_char_box (0, width# + 3 padding#, depth#, height# + staff_space#);
+       define_pixels (hair, thick, width, padding, depth, height);
 
-       x1r - x2l = width;
-       y1 - y3r = d + h + linethickness / 2;
+       x7r - x2l = width;
+       y1 - y3r = depth + height + linethickness / 2;
        z3 = z2;
        z4 = .5 [z1, z2]
           = (width / 2 + padding, hair / 8);