
2008/6/23 Felipe Sanches <felipe.sanches@...400...>:
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.
Wow - great work! :-)
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.
Okay cool :-)
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.
I'm not sure its very useful to making new original type designs, but I can see being very useful for making a few small tweaks to an already-complete font and seeing the effect "globally" on a piece of text. And since that is what a lot of Inkscape users will want to do, I think its a great idea :-)
Its wonderful for populist designers like me, sure to be hated by the (sadly, majority of professionals) elitist ones :-)
As tried to explain in my blog post [1] developing a typeface means drawing at "multiple levels" so to speak - editing a glyph is the lowest level, then editing the metrics is another, and then testing the type in different kind of paragraphs is another.
[1]: http://understandinglimited.com/2008/06/09/proposing-inkforge/
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.
I suggest a button on the contextual toolbar for this which becomes clickable when a single glyph is selected in a text box; clicking this "edit selected glyph" button, the selection inverts so that the canvas around the glyph is greyed out, and the "edit paths by nodes" tool is selected so that the points of the glyph's paths become visible. Additionally, the 'bounding box' that appears is not that of the paths but of the glyph, with the left and right sides having on-canvas sliders like bounding boxes do, which will edit the left and right bearings. There are layers specific to glyphs and to this particular glyph, and all guides have labels attached. The layers drop down on the status bar changes to list glyphs instead of layers, so that other glyphs can be selected by name.
1editglyph.png attached for a sketch :-)
But I also think that there should be an off-canvas glyph-editing user interface.
Yes, this needed for metrics especially, but also for editing glyphs so that glyphs can be compared. The metrics window in FontForge is a fine example.
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.
I suggest this works much like the XML Editor dialog's interface.
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 think these can be on canvas too, but yes having a more systematic view of them would be good. :-)
Please, feel free to offer new ideas or to say my ideas are crap or whatever. I am open to discussion.
Hope to make more sketches soon :-)
Cheers, Dave