Eyeglasses as markup: Difference between revisions
Appearance
	
	
 Import snippet from LSR  | 
				 General improvements  | 
				||
| Line 1: | Line 1: | ||
The <code>\eyeglasses</code> markup command displays eyeglasses, strongly indicating that one should look at a conductor. This snippet defines an <code>\altEyeglasses</code> command with a different style. Unlike [[Eyeglasses as markup (postscript)]], this command supports SVG output.  | |||
Credit: Pierre Perol-Schneider on March 2015  | |||
<lilypond version="2.24.0"   | <lilypond version="2.24.0">  | ||
altEyeglassesMarkup =  | |||
  \markup  | |||
  \override #'(line-cap-style . butt)  | |||
  \path #0.15  | |||
   #'((moveto   -3.57   1.80)  | |||
\  | |||
#  | |||
   '((moveto   -3.57   1.80)  | |||
      (curveto  -3.65   1.90  -3.55   2.22  -3.33   2.22)  |       (curveto  -3.65   1.90  -3.55   2.22  -3.33   2.22)  | ||
      (curveto  -3.17   2.22  -3.15   2.15  -3.10   2.10)  |       (curveto  -3.17   2.22  -3.15   2.15  -3.10   2.10)  | ||
| Line 32: | Line 28: | ||
      (moveto    0.12   1.68)  |       (moveto    0.12   1.68)  | ||
      (lineto   -1.10   2.69)  |       (lineto   -1.10   2.69)  | ||
      (curveto  -1.50   3.05  -1.80   2.75  -1.71   2.45  |       (curveto  -1.50   3.05  -1.80   2.75  -1.71   2.45))  | ||
%%  | % Turn it into an actual markup command rather than  | ||
% variable set to a markup object.  | |||
#(define-markup-command (altEyeglasses layout props) ()  | |||
   (interpret-markup layout props altEyeglassesMarkup))  | |||
\markup  | \markup "Standard eyeglasses"    | ||
\relative c'' {    | \relative c'' {    | ||
   c2^\markup\eyeglasses     |    c2^\markup\eyeglasses     | ||
| Line 54: | Line 41: | ||
}  | }  | ||
\markup  | \markup "Alternative eyeglasses"  | ||
\relative c'' {    | \relative c'' {    | ||
   c2^\markup\  |    c2^\markup\altEyeglasses     | ||
   a2_\markup\  |    a2_\markup\altEyeglasses   | ||
}  | }  | ||
</lilypond>  | </lilypond>  | ||
Revision as of 23:29, 26 October 2025
The \eyeglasses markup command displays eyeglasses, strongly indicating that one should look at a conductor. This snippet defines an \altEyeglasses command with a different style. Unlike Eyeglasses as markup (postscript), this command supports SVG output.
Credit: Pierre Perol-Schneider on March 2015
\version "2.24.0"
altEyeglassesMarkup =
  \markup
  \override #'(line-cap-style . butt)
  \path #0.15
  #'((moveto   -3.57   1.80)
     (curveto  -3.65   1.90  -3.55   2.22  -3.33   2.22)
     (curveto  -3.17   2.22  -3.15   2.15  -3.10   2.10)
     (lineto   -2.02   0.94)
     (moveto   -2.06   0.65)
     (curveto  -2.06   1.00  -1.75   1.28  -1.45   1.28)
     (curveto  -1.10   1.28  -1.07   1.05  -1.07   0.90)
     (curveto  -1.07   0.62  -1.30   0.27  -1.70   0.27)
     (curveto  -1.85   0.25  -2.06   0.40  -2.06   0.65)
     (closepath)
     (moveto   -1.14   1.20)
     (curveto  -1.00   1.44  -0.72   1.52  -0.57   1.35)
     (moveto   -0.61   1.05)
     (curveto  -0.61   1.42  -0.30   1.68   0.00   1.68)
     (curveto   0.22   1.68   0.37   1.52   0.37   1.28)
     (curveto   0.37   0.96   0.06   0.65  -0.25   0.64)
     (curveto  -0.30   0.64  -0.61   0.65  -0.61   1.05)
     (closepath)
     (moveto    0.12   1.68)
     (lineto   -1.10   2.69)
     (curveto  -1.50   3.05  -1.80   2.75  -1.71   2.45))
% Turn it into an actual markup command rather than
% variable set to a markup object.
#(define-markup-command (altEyeglasses layout props) ()
   (interpret-markup layout props altEyeglassesMarkup))
\markup "Standard eyeglasses" 
\relative c'' { 
  c2^\markup\eyeglasses  
  a2_\markup\eyeglasses 
}
\markup "Alternative eyeglasses"
\relative c'' { 
  c2^\markup\altEyeglasses  
  a2_\markup\altEyeglasses 
}