2 Jun 2006 crhodes   » (Master)

Robert Strandh is that ideal colleague: bright, hard-working and tenacious. Which means that when he says he's going to do something like reimplement enough of MetaFONT to support GSharp's needs, it gets done. The problem with the previous iteration of gsharp's display routines, which used metafont directly, was that there was no way of reconstructing the original curves from the resulting pixmaps, and so no way of reusing the glyphs for printing.

A small amount of cargo-culting (on my part) later, taking advantage of the antipodean night, and gsharp is capable of printing, up to a point. Visible deficiencies in this output include misplacement of minim and semibreve rests, too-small dots, fairly ugly bass clef, tie placement oddities, slight misalignments of stems and noteheads, discontinuities in the flag glyph, greying out of three of the lines, and of course the blissful unawareness of how big a page is. Oh, and sloping beams don't work at all; I had to break the beams to produce that output (which is the opening to Les Cris de Paris by Clément Janequin, incidentally); slightly ironic given that only recently I was hacking on making beams remember their clipping region (for partial-beam repainting).

So, I think Gsharp's future is bright, both because of the new functionality (printing! scrolling! Oh my!) and because the new functionality is accompanied by new hackability; it's likely a lot easier to debug the visual glitches now that the glyphs are generated by lisp itself, and supported by a glyph viewing tool that Robert wrote. Hopefully this will also draw in one or two more interested parties to add the functionality that they need.

Latest blog entries     Older blog entries

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!