Alternative Font Documentation

Introduction

On this page you will find the most current instructions necessary get you up and running quickly with these fonts and their supporting stylesheets. If there's any question about what should be done, please contact .

Quick Links

How to Use
(LilyPond 2.19.12 or later)

NOTE: All 2.19.X versions are considered unstable development (though still very usable) versions of LilyPond. You can get the latest version here.

Before LilyPond 2.19.12, switching the music font was a challenge to do and required some fancy coding and file manipulation to get working correctly. From 2.19.12 on, music font switching is an integral part of LilyPond and is as easy as choosing a text font. NOTE: If you have an older version of LilyPond, or don't want to upgrade to a development version, you'll need to follow the instructions below to install a patch.

To switch the music font, follow these steps:

1. Download at least one of the fonts available on this site and follow the installation instructions below.

2. In your .ly file, use the set-global-fonts function, like the following example (default values shown):

\paper { #(define fonts (set-global-fonts #:music "emmentaler" #:brace "emmentaler" #:roman "Century Schoolbook L" #:sans "sans-serif" #:typewriter "monospace" #:factor (/ staff-height pt 20) )) }

The set-global-fonts function uses keyword arguments that start with #:. This makes all the arguments optional, with the defaults shown above. In other words, if you are happy with the default choices of any of the arguments, just leave that line out. Let's say that we want to use the Haydn music font at 20pt and the Gonville system brace font. Let's also change the roman (or serif) font to Libre Baskerville. We can then trim down the above snippet to be just:

\paper { #(define fonts (set-global-fonts #:music "haydn" #:brace "gonville" #:roman "Libre Baskerville" )) }

Usage Notes

1. For technical reasons, the #:music and #:brace font names should be LOWER CASE and NOT include the size/brace indicator part of the name. For example, if I wanted to use the Haydn font at 16pt size, I would do:

#(set-global-staff size 16) % this MUST go PRIOR to defining the fonts!!! \paper { #(define fonts (set-global-fonts #:music "haydn" #:brace "haydn" #:factor (/ staff-height pt 20) )) }

and not #:music "haydn-16". LilyPond automatically handles the font file selection. Likewise, the system brace font name should not include the -brace part of the font file name.

2. Custom system brace fonts are available for all font families except cadence, paganini and scorlatti.

3. The TEXT font names should be just as your font manager displays them, which may include UPPER and LOWER CASE letters and spaces.

4. The #:factor argument controls the font size, relative to the staff-height. If your staff-height is NOT the default 20pt, then you should change the staff-height PRIOR to setting the fonts. If you are unsure about what value to use here, just use #:factor (/ staff-height pt 20) like the example above and the music and system brace fonts will always be scaled correctly.

Patch Installation
(required for LilyPond 2.18.2 - 2.19.11)

NOTE: This section is for both the recent stable and unstable development versions of LilyPond. You can get the latest stable version here and the latest unstable version here.

If you are not yet able to upgrade to the latest developmental version of LilyPond, you can still have these features. It's still quite easy to install and use and is known to work well in the current stable version of LilyPond (2.18.2) and later. It may not work at all in previous versions. Sorry.

So, if you'd like to use these fonts today, you'll need at least LilyPond 2.18.2, then download and install this patched file (just right-click on the link and choose "Save Link As..."). Installation of this file may require administrator rights.

Installation Directory

The installation directory depends on your OS and will likely be in one of the following locations:

where X.Y.Z is the LilyPond version you have installed and are using. In this folder you should see the following sub-folders:

There will already be a file called "font.scm" in the "scm" sub-folder there. You will need to overwrite this file with the patched file you downloaded above, so you may want to make a backup of the one already there in case something goes wrong.

FYI: LilyPond versions gets installed side by side each other. Because of this, each installation has the above folders and, until we have a better system for this, you may need to repeat the above process (at least for the fonts) for any new LilyPond installation in order for them to work.

Font Installation

There are THREE kinds of font files you might need with the following extensions:

THESE DON'T GO IN THE NORMAL SYSTEM FONTS FOLDER.

In the fonts sub-folder mentioned above, there are the otf and svg sub-folders. Put the fonts with the .otf extension in the otf sub-folder and those with the .svg and .woff extensions in the svg sub-folder. You should find LilyPond's Emmentaler fonts already present there.

Stylesheets and Housestyles

To make using the music fonts more convenient, we can put the above-referenced \paper blocks in a separate file where they can be referenced via a simple \include statement. To give you an idea of what you can do, even going so far as to make your own house-style, here's a compressed folder that contains a stylesheet for each of the above fonts. Some have more layout overrides than others (i.e., making slurs thicker, etc.), but they are really suggestions and can be customized to suit your tastes.

In each font's page, there is an example score that shows off the different default styles. These stylesheets are used most effectively when they are placed together in a single directory and then put on LilyPond's search PATH. That way you can just add, for example, \include "profondo.ily" near the top of your .ly file and the rest is done for you. Pretty simple. Here are a few ways to include this directory so that LilyPond knows where to find it (let's call this directory "stylesheets"):

Local Font Customization

Want to do something even crazier with the fonts? Check out this tutorial for an example showing how you can mix-and-match the fonts to create your own truly custom stylesheets.

Disclaimer

All fonts here can be downloaded, used commercially, given to your friends, etc. as much as you want, (but not re-sold) in accordance with the respective font licenses. They are distributed WITHOUT WARRANTY of any kind. They have been prepared, packaged, and provided by Abraham Lee. All fonts were designed to be compatible with LilyPond 2.18.2, which means they may not work in earlier versions of LilyPond. Each font supports every glyph in version 2.18.2 (including the shape-note and ancient notation styles). If a font isn't working, or you'd like to create/suggest a new one, please contact Abraham with details, particularly the LilyPond version you are using and the context of what you are trying to do.

This page was last updated on: February 7, 2015