
[How do I use a common font size/style for 100 pieces of text;] I can group [them] but what then??
There are a couple of solutions I'd like to suggest, but neither works in Inkscape currently.
- Select each of the text elements you're interested in changing. The font dialog box would indicate that some of the properties vary among the selected items. You'd change the font size from `varying' to `10px'.
This actually works, though not perfect. The dialog shows 12pt (default) instead of "varying". But if you select a different font size and click Apply, it will change font size of all selected objects. Why are you saying it does not work?
- After grouping them, change the font size of the group. If necessary, click a button to make all children/all descendents of the group have the same font size.
This won't work because each text has its own font size and does not inherit from the group.
The current version of inkscape does something similar with colour (and probably all fill & stroke properties, I haven't checked). It applies the selected fill colour to all descendents of the group.
Yes, most code that sets style now uses desktop-style.cpp functions which apply style recursively (and do many other relevant things, such as set the current style). The text dialog is an exception so far, but I'll fix it.
Also you missed another simple way to do this: select one text object, copy, then select all of them and paste style (Ctrl+Shift+V).
As neither of the above exist in current Inkscape, I'll have to make a third suggestion: Group them, save & close the document, then use a text editor to remove all occurrences of `font-size:[0-9]*;' from the descendents of that <g> element (i.e. everything between the `<g>' and its matching `</g>'). Then open it with inkscape again. Whenever you change the font-size of the g element (using the XML editor), the descendents of that g element will change accordingly.
This is unnecessary, as there are at least two other ways to achieve this. The only advantage is that this will let you change the style of many objects by editing one style= string. But even if you need this, a much better way to achieve this is to implement out-of-line CSS references, instead of inheriting style from parents.
Unfortunately, inkscape doesn't allow setting font-size or other properties to explicitly blank or `inherit' other than using the XML editor.
I was just going to add "unspecified" button to fill&stroke for exactly this - removing any fill or stroke specifications from the style. This will allow us to make colored clones - you set "unspecified" fill on the original, and then you can apply any fill to its clones independently.
Also unfortunately, font-size and most other properties default to non-blank, resulting large style strings and difficulty in using <g> elements to make lots of items inherit a common property value.
That's because our style strings are not for reading or writing manually. They're generated and parsed automatically. Most people are not interested in the exact content of style= strings; they are interested in an application whose behavior makes sense in all situations. So for them, providing default property values is far from "unfortunate".