On Mon, Jun 06, 2016 at 04:27:25PM +0200, Tavmjong Bah wrote:
...Inkscape now respects the 'strut' value in the block element per CSS. In plain English, that means that the minimum spacing between lines is defined by the <text> or <flowtext> element that wraps all the text. The minimum spacing is the value of the 'line-height' property times the value of the 'font-size' property. There was a comment in the code saying that this was not implemented in Inkscape because none of the browsers were doing it this way... but that was a long time ago. All the browsers now implement this correctly according to CSS (at least for HTML since SVG 1.1 doesn't have multi- line text).
CSS line spacing is definitely a mess (and the CSS group seems to recognize it). But having a strut value is useful as it means being able to define a well know spacing between the lines (see: http://tavmj ong.free.fr/blog/?p=1632 ).
The problem for Inkscape is how can the user know what is the value of the 'strut' and how can they change it? We definitely need a better interface. I would consider this a blocker.
And we need to be able to control how CSS properties are written into the SVG file; at the moment writing a property into a block element causes the property to be written into all the children elements which is not really desirable in many cases.
I wanted to follow up on this issue Tav. It seems there are several bug reports relating to line spacing:
Spacing between baselines not saving https://bugs.launchpad.net/inkscape/+bug/1590141
If you change interline width or interline unit only, you must do save as to save the changes. https://bugs.launchpad.net/inkscape/+bug/1587340
In Trunk text lines spacing increases suddently if text is selected while saving the document https://bugs.launchpad.net/inkscape/+bug/1569945
1590141 in particular is being listed as a blocker bug. Obviously all bugs are unfortunate, but some have to wait for future releases. Would it be possible for us to leave the line spacing problems as Known Issues and hope they can be fixed for 0.92.1?
If not, and assuming fixing all the problems is not a short-term achievable prospect, what is the minimum that *must* be fixed? And who would be a good person to be on point for the implementation work?
Thanks, Bryce