Thread overview
NanoSVG port
Jul 09, 2016
ketmar
Jul 09, 2016
Dmitry
Jul 09, 2016
ketmar
Jul 11, 2016
ketmar
Apr 10, 2020
Robert M. Münch
Apr 10, 2020
Adam D. Ruppe
Apr 10, 2020
Robert M. Münch
Apr 10, 2020
Adam D. Ruppe
July 09, 2016
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
July 09, 2016
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!
July 09, 2016
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
July 11, 2016
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".
April 10, 2020
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

April 10, 2020
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
April 10, 2020
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

April 10, 2020
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.