Will Pango allow us to have a block of text with various spacing and different fonts, styles flowing together? For example, I hope that our implementation of spacing is not only limited to lines, but so that one could select/highlight text and then change the selection's font, spacing, size and allow that text be edited the same as our current implementation.
Thoughts...
Our interface for text manipulation is not so good, and what I would consider one of our weakest features (along with import/export). Our shape editing is great and the usability and efficiency is excellent!
IMHO, we need a few features to make our text system production-ready:
1.) smaller text/font dialog that is more well thought out, and dependent on direct editing of text on the canvas. I think we should get rid of the in-window editing. Also, we should figure out how to detect if text is on the clipbboard and paste a text object. This is annoying problem. The text/font palette should be wholly moved to the secondary toolbar and operate on the selection like the current 2ndary toolbars on the shapes.
2.) text inside a shape. I know NJH has this working and is prolly waiting for pango-ification. For design work this is HYPER necessary. Several of my artist/designer friends are waiting on Inkscape till this is implemented, as you can then actually layout writings. (to take this further, multiple pages of text would put us beyond illustrator and freehand!)
To recap, and this is a point of contention, all font features should be selectable with the font tool as a selection of the text (highlighting characters in a block). The text/font interface (2ndary toolbar) will then show the features of the selected text and allow a user to alter the selection. This should also work on a selected block of text or multiple blocks of text. To represent this properly in the interface when blocks of text are selected with different features, then the input window on the interface should either be black or have an asterix to identify that there are different styles. If we implement this, then we will reduce drag on the users.
IMHO I think that our policy should be direct editing on the canvas where possible across new features. The sub-windows are not a good idea. Why should users have to learn another sub-interface? If you look at the best design apps, they support this concept and I think our secondary toolbar is super good for this, as it can be torn off and exist as a palette as well. Generally though, our dialogues are way too big.
Jon
On Tue, 2004-04-06 at 11:08, MenTaLguY wrote:
On Sun, 2004-04-04 at 21:26, bulia byak wrote:
As for text layout proper, I see no need to rewrite it once again, with all the spacing and kerning that was added recently.
Have we tested the new spacing and kerning code with vertical text? Also, what about RTL spans, for example in Hebrew or Arabic? What about Ruby? [ actually I'm not sure offhand if Pango does Ruby or not ] I believe some Indic scripts also have special layout requirements...
Anyway, Pango has a complete layout engine that supports a lot more than we do ourselves, SVG-specific features aside.
In any case, compliant text layout is only possible if you know the document tree context (remember the example where one part of the dx/dy values for a string is taken from its parent, the other from grandparent, etc.?), and I doubt Pango is really capable of that.
We can perform dx/dy fixups (and other SVG-specific adjustments) after performing the initial layout with Pango.
Basically, this involves registering custom Pango attributes which we can use to tie sections of pango text to the appropriate SVG context. After Pango has computed a layout, we should be able to retrieve those attributes to perform SVG-related fixups.
In any case, I listed this last because it is not something really necessary to be part of the intial Pangoization, IMO. But it is something I would like to investigate in the future.
-mental