Esmuflily – Support for SMuFL / Ekmelos

Esmuflily is an extension for LilyPond that supports SMuFL compliant fonts, in particular, to facilitate the use of glyphs from Ekmelos: clefs, time signatures, noteheads, articulations, etc.

Esmuflily provides switches to turn the SMuFL support on or off for individual types of graphical objects (clefs, noteheads, etc.) and it defines additional commands and styles for SMuFL glyphs which are not available in LilyPond (notehead styles, function theory symbols, etc.) So scores can benefit from both SMuFL's comprehensive character set and LilyPond's awesome Emmentaler font.

See Ekmelily for accidentals and key signatures.

Esmuflily requires LilyPond version 2.24.0 or higher.

Download and Installation

The folder ly contains the include files.

  • Copy the file esmufl.ily into an appropriate folder, e.g. "LILYPOND/usr/share/lilypond/current/ly" with LILYPOND meaning the installation folder of LilyPond.
  • Optionally install a SMuFL compliant font, e.g. Ekmelos.

Usage

Add the following lines near the top of your LilyPond input file. The first line can be omitted when using Ekmelos.

ekmFont = FONTNAME
\include "esmufl.ily"

Esmuflily + Ekmelily

To combine Esmuflily with Ekmelily, add e.g. the following lines near the top of your LilyPond input file. This achieves LilyPond's standard behaviour, i.e. Dutch note names (default) and Stein / Couper accidentals (stc) for quarter-tones (24-EDO). The first line can be omitted when using Ekmelos.

ekmFont = FONTNAME
\include "esmufl.ily"
\include "ekmel-24.ily"
\ekmelicStyle stc

What's New

  • 2024-04-06: Support to draw paths instead of font glyphs is added. A font can be selected with the variable ekmFont or the option ekmfont.
  • 2023-11-11: The commands \ekm-metronome and \ekmMetronome are added to draw metronome strokes.
  • 2023-10-31: SMuFL repeat bar colons are supported with the symbol colon.
  • 2023-10-25: SMuFL string numbers are supported with the symbol stringnumber and the command \ekm-string-number. Fingering now supports also right-hand fingering.
  • 2023-09-08: The command \ekm-theory is renamed to \ekm-func, its properties have changed, and the definition string has an extended syntax. The commands \ekmFunc and \ekmFuncList are added for use in lyrics context. The octave glyphs for "8^vb", "15^mb", "22^mb", "29^mb" are supported.
  • 2023-08-31: \ekm-brace supports also the size variants 140, 160, 180. The function theory symbol for /D is now a single glyph. \ekm-fret-diagram-terse draws centered fretboards.
  • 2023-08-24: The command \ekm-theory is added to draw function theory symbols. \ekmStartTrillSpan now takes an integer argument instead of a symbol. \ekm-finger now uses * instead of \ to draw italic glyphs.
  • 2023-08-10: New styles for geometric shapes are available with \ekm-arrow.
  • 25 July 2023: Esmuflily now requires LilyPond version 2.24.0 or higher. New styles are available with \ekm-arrow. \ekmScript and \ekmScriptSmall now take a symbol instead of a string as the first argument.
  • 29 June 2023: The commands \ekmLaissezVibrer and \ekm-brace are added.

See the file CHANGELOG.txt for older changes.

Author and License

Esmuflily was written by Thomas Richter, thomas-richteraonat

Copyright © 2020-2024 Thomas Richter

Esmuflily is licensed under the MIT License.
See the file LICENSE.txt. This license is also available at mit-license.org.