Jump to content

Ladder-style C clef

From LilyPond wiki
Revision as of 23:19, 21 November 2025 by Lemzwerg (talk | contribs) (New category)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

From Wikipedia:
In printed music from the 16th and 17th centuries, the C clef often assumed a ladder-like form, in which the two horizontal rungs surround the stave line indicated as C: ; this form survived in some printed editions into the 20th century.

From lilypond-user discussion, 2016-09:
Ladder-style C clef for TTBB men's chorus

\version "2.24"

%%% 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'
}