>> (2) The same as (1), but make LilyPond undo the font changes >> internally, that is, it horizontally translates a glyph's >> outline back to the position specified by the Lisp tables (if >> the glyph is in the tables). This ensures both consistency and >> backwards compatibility with both LilyPond user code and fonts. > > I'm totally unaware of any details here, but why would LilyPond need > to fake the "old" non-standard glyph properties. Put differently, > what is the point (0,0) used for?
For the METAFONT design, (0,0) is the intersection of the horizontal and vertical symmetry axes in most (if not all) glyphs. This helps a lot while designing a glyph. For non-symmetrical glyphs, (0,0) is the position where you should put the glyph by default, then applying some vertical offset to avoid collision with the parent grob. With the current design, you simply position, say, a fermata glyph at a given point, and it gets rendered symmetrically. This is very convenient and probably makes the LilyPond code easier to understand. I will soon send another e-mail to the list with a much better idea to proceed. Werner