%%% Ladder-style C clef, by Pierre Perol-Schneider %%% https://lists.gnu.org/archive/html/lilypond-user/2016-09/msg00453.html ladderStyleClef = \markup \override #'(filled . #t) \path #0.001 #'((moveto 0.000 -1.500) (lineto 0.000 -1.850) (curveto 0.000 -1.890 0.032 -1.920 0.075 -1.920) (curveto 0.122 -1.920 0.150 -1.890 0.150 -1.850) (lineto 0.150 1.850) (curveto 0.150 1.890 0.122 1.920 0.075 1.920) (curveto 0.032 1.920 0.000 1.890 0.000 1.850) (closepath) (moveto 0.350 -1.500) (lineto 0.350 -1.850) (curveto 0.350 -1.890 0.382 -1.920 0.425 -1.920) (curveto 0.472 -1.920 0.500 -1.890 0.500 -1.850) (lineto 0.500 1.850) (curveto 0.500 1.890 0.472 1.920 0.425 1.920) (curveto 0.382 1.920 0.350 1.890 0.350 1.850) (closepath) (moveto 1.800 -1.500) (lineto 1.800 -1.850) (curveto 1.800 -1.890 1.832 -1.920 1.875 -1.920) (curveto 1.922 -1.920 1.950 -1.890 1.950 -1.850) (lineto 1.950 1.850) (curveto 1.950 1.890 1.922 1.920 1.875 1.920) (curveto 1.832 1.920 1.800 1.890 1.800 1.850) (closepath) (moveto 2.150 -1.500) (lineto 2.150 -1.850) (curveto 2.150 -1.890 2.182 -1.920 2.225 -1.920) (curveto 2.272 -1.920 2.300 -1.890 2.300 -1.850) (lineto 2.300 1.850) (curveto 2.300 1.890 2.272 1.920 2.225 1.920) (curveto 2.182 1.920 2.150 1.890 2.150 1.850) (closepath) (moveto 0.500 -1.100) (curveto 0.500 -1.030 0.520 -0.970 0.620 -0.950) (lineto 1.600 -0.670) (curveto 1.690 -0.650 1.800 -0.620 1.800 -0.700) (lineto 1.800 0.070) (curveto 1.800 -0.020 1.700 -0.020 1.630 -0.050) (lineto 0.750 -0.300) (curveto 0.550 -0.370 0.500 -0.330 0.500 -0.200) (closepath) (moveto 0.500 -0.100) (curveto 0.500 -0.030 0.520 0.030 0.620 0.050) (lineto 1.600 0.330) (curveto 1.690 0.350 1.800 0.380 1.800 0.300) (lineto 1.800 1.170) (curveto 1.800 0.980 1.700 0.980 1.630 0.950) (lineto 0.750 0.700) (curveto 0.550 0.630 0.500 0.670 0.500 0.800) (closepath)) \new Staff \with { \override Clef.stencil = #(lambda (grob) (grob-interpret-markup grob ladderStyleClef)) clefPosition = #1 middleCPosition = #1 middleCClefPosition = #1 } { c' }