Release 9.0.0 DP7 / SVG / The book of the film of the poem/ Alejandro solved it.
Frans Schoffelen
frans at knowlegistics.com
Mon Jul 3 04:19:58 EDT 2017
Hi Alejandro,
sorry for the delayed answer. Busy times. I tried to write a script to adapt some of the SVG files at hand
according to your instructions but that got me into a lot of offset problems and the widget ran into
a lot of “exceeds boundary “ or something similar in rendering. I have written “translation scripts” for 30 years
now but this one is a bit fickle.
But for the sake of letting everybody know : the solution of SVG rendering strokes combined with RGB fills of Alejandro below works.
I must admit that it helped that he had already pinpointed the RGB ones with a stroke ( sound like a disease doesn’t it).
Duplicating the lines manually and replacing with “fill:none” did the trick : The SVG then renders exactly as in Illustrator and in Affinity Designer.
Picture :
https://www.dropbox.com/s/79beopxkyy63sqw/PUPPET%20SSVG%20with%20Alejandros%20changes.png?dl=0
As it stands I will still have to figure out a reproducible and reliable way of finding an duplicating in the SVG-text or maybe
one of the authors of the widget has an idea on how to bypass this/implement it in the LCB code.
Many thanks for your assistance!
kind regards
Frans Schoffelen, Berlin
>
>
> From: Alejandro Tejada <capellan2000 at gmail.com>
> Subject: Release 9.0.0 DP7 / SVG / The book of the film of the poem
> Date: 29 June 2017 at 21:55:00 GMT+2
> To: use-livecode at lists.runrev.com
>
>
> Hi Franz,
>
> I found a temporal solution for a limitation that you found
> in the SVG MultiColor widget.
>
> Looks like every vector path rendered in this SVG MultiColor
> widget could have a fill or a stroke, but not both. If a path
> have a fill color, the stroke is not rendered.
>
> The workaround for this limitation is to duplicate those few
> paths that have a non empty fill and a stroke and change
> the fill atribute of duplicated line to fill:none
>
> In the sample svg file that you posted, there are only 7 paths
> that you must duplicate and replace the fill atribute to fill:none
>
> path d="M93.86,48.612C93.86...
> path d="M66.405,228.331C66.751...
> path d="M30.188,194.513C30.188...
> path d="M30.354,51.441C30.354...
> path d="M33.794,64.434C33.794...
> path d="M97.419,64.848C97.419...
> path d="M93.86,48.612C93.86...
>
> Duplicating these very few lines in every svg file is
> the easiest and fastest way to jump over this
> limitation (until a new version of SVG Multicolor
> widget is released). It's relatively easy to create
> a Livecode script that automate this task, but
> someone in your team should verify that both
> svg files (original svg and modified svg for importing
> into LiveCode) are visually identical.
>
> In a previous message, you wrote that you have
> thousands of files to import into a Livecode app.
> This is the reason why I took a closer look at it.
>
> By the way, are you compressing these SVG
> paths data before using them inside widgets?
> Probably, you could reduce a lot the size of your app
> if you compress this SVG path data.
>
> Also, I noticed that your SVG path data uses
> 3 decimal points (like 51.088)
> Please, check if changing for 2 decimal points
> (like 51.09) do not change too much the
> appearance of your files.
>
> Tell us if this advice works fine in your own project.
> You will be saving a lot of time for others that find
> these same problems.
>
> Al
>
Frans Schoffelen
http://knowlegistics.com // Software & Sound // Berlin
More information about the use-livecode
mailing list