> just writing to comment that the structure of these files is somewhat unusual, with three separate <svg> tags enclosed within a fourth <svg> tag.
> - was there any specific reason why this structure was used?
> - was this created by Inkscape?
The individual parts are produced by Inkscape, but then grouped using our own program that reads SVG files, groups them and writes out a single SVG file (e.g. case.svg).
The background is: we need to produce many different configurations of similar icons, which share some common parts and differ in others. This has to run automatically.
In details:
- for each part, our designers give one .ai or .pdf file (e.g. gloss is in one file, marker shape in another file).
- for a given configuration, the parts that are needed are transformed to SVG using Inkscape's command line.
- our program then groups the various SVGs together, optionally wrapping each SVG with some transformations (translate, scale) to place each part as desired. The Python program prevents id collisions, changing ids as needed.
- the program wraps the resulting list of nodes in a single top-level SVG node, with appropriate width and height. Result: one file, e.g. case.svg or case_without_issue.svg .
- The resulting SVG file is transformed into PNG & PDF versions (for web and print, respectively).
Thanks for the quick answer.
> just writing to comment that the structure of these files is somewhat unusual, with three separate <svg> tags enclosed within a fourth <svg> tag.
> - was there any specific reason why this structure was used?
> - was this created by Inkscape?
The individual parts are produced by Inkscape, but then grouped using our own program that reads SVG files, groups them and writes out a single SVG file (e.g. case.svg).
The background is: we need to produce many different configurations of similar icons, which share some common parts and differ in others. This has to run automatically.
In details:
- for each part, our designers give one .ai or .pdf file (e.g. gloss is in one file, marker shape in another file).
- for a given configuration, the parts that are needed are transformed to SVG using Inkscape's command line.
- our program then groups the various SVGs together, optionally wrapping each SVG with some transformations (translate, scale) to place each part as desired. The Python program prevents id collisions, changing ids as needed.
- the program wraps the resulting list of nodes in a single top-level SVG node, with appropriate width and height. Result: one file, e.g. case.svg or case_without_ issue.svg .
- The resulting SVG file is transformed into PNG & PDF versions (for web and print, respectively).
I hope this helps.