*** if you are not interested in my SVGFonts SoC status, you can skip reading this message ***
Hi, Richard,
I am a bit nervous about what should I do next. I have been thinking about user interface and I agree with you that glyph kerning is much more present than other stuff. But I am not sure if we should put all font-face attributes on a dialog. That would be too much stuff. And probably not very useful for the users. Think about stuff like the "ideographic", "mathematical" and "hanging" attributes. It seems to be stuff that would be passed to pango so that it can decide whether to use or not this SVGFont instance when inquired about a closest match for a font substitution (supposedly it didnt find the perfect match installed on system). I guess this stuff wouldnt be much important at first glance.
Since when my project got stucked at pango, I have been feeling kind of lost in a new huge set of user interface TO-DOs, which I do not know what to address first. I am feeling a bit pressured by the deadline and the feeling that even having put some effort on the codebase, my code is still not very useful. I would like to ask you, what should I focus now, since we have only 12 days until GSoC deadline. I think I cannot do anyting great such as glyph editing (be it on or off canvas) until then.
Juca
PS: If anyone else wants to give me some advice, I sugest compiling and installing cairo from git and then compiling inkscape. That would trigger the conditional compile of my work, which cannot be compiled without a new version of cairo (which has user-font support). Or you could look at screenshots in https://bugs.launchpad.net/inkscape/+bug/247785 Then you can also look at share/examples/svgfont.svg
I am a bit nervous about what should I do next. I have been thinking about user interface and I agree with you that glyph kerning is much more present than other stuff. But I am not sure if we should put all font-face attributes on a dialog. That would be too much stuff. And probably not very useful for the users. Think about stuff like the "ideographic", "mathematical" and "hanging" attributes. It seems to be stuff that would be passed to pango so that it can decide whether to use or not this SVGFont instance when inquired about a closest match for a font substitution (supposedly it didnt find the perfect match installed on system). I guess this stuff wouldnt be much important at first glance.
Before I start rambling, let me warn you that I have given no thought whatsoever to how easy (or otherwise) my opinions will be to implement.
I keep coming back to thinking about the desirability of being able to edit the glyphs within <text> on-canvas. (For the benefit of other readers: this is exactly what cannot be done right now because of the lack of support in Pango). My reasoning for this is that when modifying the metrics of a glyph there are lots of things the user might want to see. For a glyph 'A', for example, you might want the string "AAAA" so you can make sure you've got the h-advance right, you'd almost certainly want "AV", "AW", etc. in order to check the kerning, and you may like to have somewhere else a really large "A" to do fine-tuning. I can't think of any sensible way of putting all these objects on the canvas without using the text tool.
Once you start thinking down this route, stuff like kerning and advance can be done visually by on-canvas knots (although advanced typographers would probably want to be able to do it numerically as well). CorelDraw uses this approach for its character and line spacing: there's a knot at the two bottom corners of each block of text, dragging the left one up/down will change the line spacing and dragging the right one left/right will change the character spacing.
There still needs to be a panel, probably with a list of all glyphs occupying most of the space, then a bit at the top for attributes applying to the font globally and a bit at the bottom displaying the properties of the currently-selected glyph which cannot be visually edited. You'll need an Add and Remove button for glyphs as well.
Since when my project got stucked at pango, I have been feeling kind of lost in a new huge set of user interface TO-DOs, which I do not know what to address first. I am feeling a bit pressured by the deadline and the feeling that even having put some effort on the codebase, my code is still not very useful. I would like to ask you, what should I focus now, since we have only 12 days until GSoC deadline. I think I cannot do anyting great such as glyph editing (be it on or off canvas) until then.
I wouldn't worry too much about having anything finished and tidy by the deadline (which is August 18, BTW, 20 days time) because we knew right at the start that you wouldn't be able to do the original project if you got held up by either Cairo or Pango. I know it's nice to have something shiny and finished, but sometimes that's unrealistic.
I have a few random ideas about how you could fill your time, in no particular order:
1. Look into one of the earlier ideas about whether it's possible to fake out Pango by telling it your font is sans-serif and resurrecting it out the other side. If it looks like it'll take more than a day to do the bodge then it's not worth it - you should wait for a real implementation (any news from the Pango crowd on when that might be, incidentally?).
2. Write the Pango stuff yourself. I can't remember off the top of my head, but I think there was an API design that Behdad did; you could implement that.
3. Continue to plan your UI, creating screenshot mock-ups for review by inkscape-devel.
4. Same as 3, but by creating the actual code to do the panel (even if none of the buttons are connected to anything).
5. Anything else anyone here can think of.
Richard.
participants (2)
-
Felipe Sanches
-
Richard Hughes