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