Lilypond feta/parmesan and ec-mftrace PFB & PFM fonts

For a small project I was doing, I needed Windows-installable fonts for the Metafont font set that the GNU lilypond mustc typesetter uses. The build system is hard to regenerate because there are several unusual programs involved. Therefore I'm making the results available here.

The fonts are in 4 archives, which I'm presenting in two formats:

Lilypond Main PFB and PFMlilypond-fonts (989K)lilypond-fonts (949K)
Lilypond AFM and Enc fileslilypond-fonts-extra (91K)lilypond-fonts-extra (37K)
EC-MFTrace Main PFB and PFMec-mft-fonts (4M)ec-mft-fonts (4M)
EC-MFTrace AFM and ENCec-mft-fonts-extra (270K)ec-mft-fonts-extra (164K)

You probably only ever need the "Main" files of each. Windows needs a PFM file to install a PFB font file. The AFM files are font metric files for specialized apps, and the ENC file is a list of the PostScript font names.

The fonts were generated using:

  • Music fonts from Lilypond 2.4.2
  • TeX fonts from ec-fonts-mftraced-1.0.9.tar.gz (source)
  • Traced into pfa files using mftrace 1.1.2, via
    • t1asm (t1utils) 1.32
    • autotrace 0.31.1
  • fontforge (20050209) used to convert from pfa to pfb/pfm using the script below

The fonts have been autohinted by fontforge, but not otherwise modified.

In addition, for some reason the build process "forgets" to include the file extension on the font map files; here are those I fixed (by adding the extension) for lilypond and ec-mftraced.

Run this script on a pfa or pfb font file to get new files in pfb format in subdirectory "LP", which must already exist:

# Run using: fontforge -script font1.pfa font2.pfa ...
# (c) Ruth Ivimey-Cook, 
# This file is licensed according to the GPL, see

i = 1
while ( i < $argc )
   file = $argv[i];
   Print("Opening : " + file);
   newfile =  "LP/" + $curfont:t:r + ".pfb";
   Print("Saving to : " + newfile);
   Generate(newfile, "", 0x10003);
   i = i + 1;