lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lilypond font design


From: Till Rettig
Subject: Re: Lilypond font design
Date: Wed, 17 Jan 2007 20:41:34 +0200
User-agent: Thunderbird 1.5.0.9 (X11/20070103)



Juergen Reuter wrote:

Agreed. I have been mainly concentrating on Vaticana style and Petrucci style. As Werner already indicated, the ancient font was written before Lily used fontforge et al. Therefore, the glyphs do not follow all prerequisites that Lily glyphs are nowadays supposed to consider (in particular, there are some metafont constructs, that should not be used). Personally, I had so far no time to convert them. So, if you design new glyphs, please follow the guidelines that Werner mentioned.

Also, you should be aware of some subtle optical pitfalls such as the fact that e.g. the slightly thickened lines on the lower left and upper right of the semibrevis head make the head look asymetrical, which you may want to compensate by its geometry (IIRC this is partially commented somewhere in the .mf files).
That sounds interesting. I didn't yet actually try, just gathering some ideas, next week I might have time for something. I thought first just taking pictures from the internet into fontforge and then redrawing their outlets -- as it is shown in the tutorial. Problem is that my pictures have a really low resolution, so I will most likely have to somewhat fit my design.

One thing I thought about were the stems. In both the handwriting I sent a link and one petrucci copy I got from the internet the stems get thicker towards their ends (similar to the b's in normal lilypond output). So they cannot just be drawn at whatever lenghth. Instead I think they should default to one lenght for all stems (which is no problem since they are not connected to anything, only the flags might cause them go grow, but then we can just design a special stem with flag that is used instead. So stem and beam engravers should be the same.


For experimenting, maybe at first you want to introduce a new style (similarly to the Petrucci style)? Later, if your glyphs are mature, you still can replace the mensural/neo-mensural glyphs with those from you.
That sounds good, it will anyway take some time to get the font completed. Is it then usefull to include all symbols into one font (that is accidentials, notehads, stems/flags, clefs (is there something else?) Yes, and the question how to write the ligatures. But I might just ask you again at the point when I have gathered already some experience with single notes.
Also other issues about the mensural notation support could be solved,
especially spacing (as in the picture), then those ligature issues. And

Most spacing problems in ancient notation are related with the spacing engine, rather than with the font (actually, the bounding boxes of the ancient glyphs should be fairly good). You may find some further hints as comments in the lily/*ligature*.cc files as well as in ly/gregorian-init.ly and the ancient context definitions in ly/engraver-init.ly.

A couple of months ago, I figured out three places in the spacing engine which have to be tweaked in order to get equally tight spacing (although these changes also affected spacing of clefs, accidentals, etc., which is not desirable). However, many things have changed since then in the spacing engine.

Unfortunately I don't have any idea so far about how this really works (I mean in the technically sense, like from program code). And I am not so sure how I would even start learning it. But it is definitely a very important thing for ancient notation support. Isn't there some solution that could be done with the spacing engine on the surface? Like extreme shrinking of spacing values or something?
it would probably be convenient to have also a kind of init file same as
for the gregorian notation style.


Agreed. Especially, one may want move stuff from engraver-init.ly to a mensural-init.ly. On the other side, then the user will have to add a "\include mensural-init.ly", which you currently do not need to do (as the definitions in engraver-init.ly are automatically imported). I am not sure about this point (i.e. having clearly separated definitions that you manually have to import versus putting them into engraver.ly and friends versus having them clearly separated but automatically always importing them).
I definitely think we should have this, because nobody forces you to use it if you don't like it. Just make your things with hand, if you like this, but you *can* use the template if it helps you making things easier. There might be also the posibility to switch it on and of (or including at a later point then the engraver-init.ly) to make writing incipits easier. And that way we might really come to a point where the same input gives both the old style edition and the modern version of it -- ther might even be automatic reduction of notation values for older notation forms as they are used in most modern editions (like breve = whole note)

On a later plane I would also like to have integration of other styles
of mensural notation, even starting from the modal notation of the 12th
century France.


Yes, sounds interesting. Also, mannered notation would be nice. However, be aware that you easily end up in a kind of bottomless pit. I think the real challenge here is to make the associated mechanisms on the C++ level more flexible (spacing engine, glyph selection, ...), such that you have sufficient infrastructure in order to plug-and-play styles on the scheme level.
Yes, that's probably what I would like -- so far I don't have any real idea about how lilypond works inside. There will be still much work ahead. But I think it's worth getting started. Even though I am probably a bit naively enthusiastic. ;-)

Greetings
Till





reply via email to

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