[Top][All Lists]


Re: Question about customizing emmentaler font

From: Urs Liska
Subject: Re: Question about customizing emmentaler font
Date: Mon, 21 Apr 2014 19:29:11 +0200

Hi Abraham,

this sounds very interesting indeed. I'd be most interested in seeing some comparison examples!

I can't help you at all with your actual question, but I have a question of my own: Could you please make somewhat more clear what the use case is exactly (in terms of your "users")? My main question is why exactly you want ot edit the .odt files and not the sources. I mean you are writing a Python script, so your users wouldn't mess with Metafont anyway. Of course Modifying the .otf is faster and doesn't require a LiylPond build. But wouldn't it be a very nice touch if the modifications you made could principally be integrated into LilyPond itself (or at least a custom build).


Am 21.04.2014 19:19, schrieb tisimst:
I am developing a /relatively/ easy python script to allow a person to tweak
the default Emmentaler font as they desire without needing to mess with
metafont, but by simply modifying the .OTF files in FontForge. I feel like
I've gotten things /mostly/ under control, but I am running into two issues
that I just can't figure out.

The first has to do with the glyphs, which I tweaked a little, that come
from the feta-alphabet subfonts (i.e., the time-signature numerals and the
dynamics letters) which for some reason default to some other font for the
numbers and letters and don't use those in my font at all:


The other issue appears with the arpeggio element and, I suspect, also with
the trill element (though I haven't tried it explicitly), neither of which
did I modify at all. As can be seen below, the glyph doesn't connect for a
continuous look:


I have combed through the source code, but I couldn't find anything remotely
obvious as to why this would be the case.  There also appears to be some
kerning information for these glyphs that I think I've figured out, but not
sure. Let's just say I am at a loss without some help from someone more
intimately involved in the data required to render these glyphs (Han-wen?

Now, why am I doing this?

Well, Although creating a new music notation font is definitely fun, there's
another more important reason for this. I'm an engineer by trade with some
manufacturing experience. I also love singing and playing the piano and
computer programming, which makes using LilyPond quite enjoyable. As I have
looked at the notation glyphs from older (and IMHO more beautiful) scores
that are hand engraved and printed, there is an artistic aspect of the glyph
designs that is still missing from Emmentaler. I am, in NO WAY, saying that
Emmentaler is a poorly designed font. It is VERY NICE and I offer my highest
regards to those who developed it. I know it took a ton of work.

Here's what's missing, and I don't know how metafont can capture this. Much
of the focus of the design of Emmentaler font has been around the
*/engraving/* part, which is HUGELY important. However, one thing we are
forgetting (which may not be important to others, but I see as more
critical) is the design AND FABRICATION of the punches that were used. Let
me explain what I mean.

In order to cut metal, I have to have a tool that is */sharp/*. How sharp?
Well, that's relative I suppose, but let's assume I have a tool with
knife-like edge that is hard enough to cut, say, the treble clef punch at a
particular size. Now, this knife edge is only so sharp and, when cutting
metal, isn't likely to be used like we would use a knife to carve wood. On
the contrary, it would be used more like a chisel and would be able to
create a /smallest/ feature size, like for an interior corner. This is the
most obvious kind of feature that most people don't think about when
creating a classical-looking font. Exterior corners can be made sharp--/no
problem!/--because I am not limited in size by the tool I'm using to create
it. On the other hand, the interior corners are /*NEVER EVER EVER* going to
be sharp/ because I simply do not have a strong enough tool with a sharp
enough edge to cut a perfectly sharp interior corner. Even nowadays with our
advanced manufacturing processes, this is a difficult and very expensive

What this means: in order to have a truly authentic, classically engraved
look, ALL interior corners should be rounded-ish, and the rounded-ness
should remain optically constant (i.e., for emmentaler-26, the internal
rounds would be optically the same size as those for emmentaler-11, but in
the font itself, the rounds would be /MUCH LARGER/ for emmentaler-11 than
emmentaler-26 because the intended print size is /MUCH SMALLER/). I realize
that using a traditional printing press with liquid ink will also contribute
to the final size of these rounds, so what this "minimum feature size"
should be is certainly debatable. I know that not everyone would agree with
the need to add this feature, or with any of the other changes I've made,
but take it for what it's worth. I think it would add a very nice touch to


Wow, I didn't mean for all that to come out right now, but I thought I'd
share some thoughts on this matter. I just LOVE LOVE LOVE LOVE the printed
look of hand-engraved scores, and the Emmentaler font does great for the
most part, but I don't feel like it quite captures some unmistakable
hand-engraved features of the whole engraving/printing process needed to
make computer-generated scores look more authentic and less
computer-generated. There are even more features that I love, but would be
most difficult to mimic, so I won't go there (yet).

So, back to my original reason for posting this. Can someone help me figure
out why the dynamic letters and time-signature numbers won't appear like
they should from my font and why the arpeggio elements won't line up? I know
there's kerning involved, but I don't suspect that is the issue. I know the
glyphs are there in the font, so that's also not the issue. Thanks for your
help and keep up the excellent work!


View this message in context:
Sent from the Dev mailing list archive at

lilypond-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]