www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - NanoSVG port

reply ketmar <ketmar ketmar.no-ip.org> writes:
i also made NanoSVG[1] port[2]: simple SVG parser and rasterizer. 
it is using `malloc()` to allocate memory, but otherwise was 
rewritten to use `const(char)[]` input for svg, and do not use 
`sscanf()` from libc.

the port lives in NanoVG package, but it is actually completely 
independent.


[1] https://github.com/memononen/nanosvg
[2] http://repo.or.cz/iv.d.git/blob_plain/HEAD:/nanovg/svg.d
Jul 09 2016
next sibling parent reply Dmitry <dmitry indiedev.ru> writes:
On Saturday, 9 July 2016 at 11:06:34 UTC, ketmar wrote:
 i also made NanoSVG[1] port[2]: simple SVG parser and 
 rasterizer. it is using `malloc()` to allocate memory, but 
 otherwise was rewritten to use `const(char)[]` input for svg, 
 and do not use `sscanf()` from libc.

 the port lives in NanoVG package, but it is actually completely 
 independent.


 [1] https://github.com/memononen/nanosvg
 [2] http://repo.or.cz/iv.d.git/blob_plain/HEAD:/nanovg/svg.d
I will definitely try it (but not very soon). Thank you!
Jul 09 2016
parent ketmar <ketmar ketmar.no-ip.org> writes:
just make sure to download the latest version by the given link 
before you want to try it. ;-)

glad to see that you found it useful
Jul 09 2016
prev sibling next sibling parent ketmar <ketmar ketmar.no-ip.org> writes:
also, i extended the original library a little: added rudimentary 
support for "style" tag and styling svg elements. nothing fancy, 
but many svgs found in internet are using that to avoid repeating 
"style" everywhere. it is a dirty hack (sorry), but makes even 
more svgs "renderable".
Jul 11 2016
prev sibling parent reply =?iso-8859-1?Q?Robert_M._M=FCnch?= <robert.muench saphirion.com> writes:
On 2016-07-09 11:06:34 +0000, ketmar said:

 i also made NanoSVG[1] port[2]: simple SVG parser and rasterizer. it is 
 using `malloc()` to allocate memory, but otherwise was rewritten to use 
 `const(char)[]` input for svg, and do not use `sscanf()` from libc.
 
 the port lives in NanoVG package, but it is actually completely independent.
 
 
 [1] https://github.com/memononen/nanosvg
 [2] http://repo.or.cz/iv.d.git/blob_plain/HEAD:/nanovg/svg.d
Repro [2] is gone... Does anyone has an idea where the code could be accessed? Is Ketmar still active? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Apr 10 2020
parent reply Adam D. Ruppe <destructionator gmail.com> writes:
On Friday, 10 April 2020 at 17:18:05 UTC, Robert M. Münch wrote:
 Repro [2] is gone... Does anyone has an idea where the code 
 could be accessed?
I also maintain a copy of it: https://github.com/adamdruppe/arsd/blob/master/svg.d minimal dox http://dpldocs.info/experimental-docs/arsd.svg.html but the very bottom of that link shows svg -> png with my libs easily.
 Is Ketmar still active?
yes
Apr 10 2020
parent reply =?iso-8859-1?Q?Robert_M._M=FCnch?= <robert.muench saphirion.com> writes:
On 2020-04-10 17:23:28 +0000, Adam D. Ruppe said:

 On Friday, 10 April 2020 at 17:18:05 UTC, Robert M. Münch wrote:
 Repro [2] is gone... Does anyone has an idea where the code could be accessed?
I also maintain a copy of it: https://github.com/adamdruppe/arsd/blob/master/svg.d minimal dox http://dpldocs.info/experimental-docs/arsd.svg.html
Ah, good. I'am/was confused because I don't understand how "NanoVega.SVG" fits into the picture. Is it a 2nd SVG parser? Is it using svg.d? Why have two?
 but the very bottom of that link shows svg -> png with my libs easily.
Ok, I will take a look. Most likely I'm going to use a different rasterizer... thanks a lot so far! -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Apr 10 2020
parent Adam D. Ruppe <destructionator gmail.com> writes:
On Friday, 10 April 2020 at 17:54:16 UTC, Robert M. Münch wrote:
 I'am/was confused because I don't understand how "NanoVega.SVG" 
 fits into the picture. Is it a 2nd SVG parser? Is it using 
 svg.d? Why have two?
NanoVega.SVG IS svg.d. They're different names for the same thing. My copy renames it to fit my naming scheme but they're still the same thing.
Apr 10 2020