Currently SVGFonts rendering in a helper GtkWindow is working ok for glyphs described using the path descrition ("path:d") attribute. Once we move the rendering to the canvas, arbitrary chunks of SVG will be added to the glyphs. Currently glyph kerning and missing-glyph nodes are also properly handled and rendered.
I am using the helper GtkWindow because we still don't have pango+userfonts integration. So I am using cairo+userfonts directly on the GtkWindow. Once pango supports userfonts, I will remove the GtkWindows and render SVGFonts on the correct place (directly in the canvas). Since my work now depends a lot on this pango support, it has been evolving very slowly. I am thinking of doing some user interface work while we are stuck with pango.
So, this thread is intended to discuss ideas and mockups on what people want to see for the SVGFonts user interface.
Mental told me yesterday that it should be possible to edit glyphs on canvas directly on the rendered text in an "edit fonts" mode. I agree that this is the ideal thing to do, i.e. have things rendered in real time as much as possible. For example, when the text "Felipe" is rendered using an SVGFont and the user goes to "font edit mode", then editing the content of one of the "e" glyphs would make both "e" glyphs to be visually modified as if they were clones. That is the desired "real time" on-canvas bahaviour.
But I also think that there should be an off-canvas glyph-editing user interface. There must be a dialog where the user can define the glyph-names, metadata such as font-family name and all the other font descriptors, the missing-glyph curves, and all of the glyph-kerning rules. Also, in this off-canvas UI, we could/should have helper lines indicating font metrics information such as base-line, top-line, etc. just like a font-editor would be.
I also have in mind a unicode codepoint selector widget to be used for the u1 and u2 attributes in the kerning rules dialog.
Please, feel free to offer new ideas or to say my ideas are crap or whatever. I am open to discussion.