
On 7/9/07, Gail Banaszkiewicz <gbanaszk@...1686...> wrote:
Also, I wanted to get a clear consensus on what I should work on next. bulia mentioned that the CSS stuff would be good (bulia, can you remind everything precisely what you were referring to when you mentioned that so we are all clear?).
Actually, I think there are two very important things that need to be done with text. Whichever you take on next is fine with me :)
1. Overcoming the CSS limitations. The vocabulary of CSS font-family, font-weight, and font-style is very limited and fails to account for fancy variants such as "swoosh", "outline", etc. Even for simpler cases, a 1-to-1 correspondence between a font and a CSS description may be very hard to establish. For example, which of the "light", "ultralight", "heavy", "black", "ultra" etc. weights correspond to which font-weight values? Even if we establish such a correspondence for one font, a different font family may use the same weight terms quite differently. So, what we need is a very simple thing: an extension attribute that stores the _exact_ system name, including variant, of the font that the user selected. Of course all CSS values will still be written for compatibility as best we could, but Inkscape will give that extension attribute priority when selecting which font to use for a text object. Without this, it's unthinkable to use Inkscape for professional design where one often finds elaborate font families with dozens of variants.
2. Fixing the flowtext issue. It's a sore point because it's the only thing that makes our SVG files invalid. We need to move all the flowtext elements into Inkscape namespace and wrap them into an svg:switch whose alternative branch will be an automatically updated plain text equivalent of the flowtext, same as produced by Text > Convert to text command:
svg:switch <inkscape:flowRoot ...> ... flowtext ... </inkscape:flowRoot> svg:text ... same in plain text </svg:text> </svg:switch>
And then update all tools and commands to correctly work with this "protected" flowtext.