Thanks you and harban for all your thorough explanation.

On Fri, 15 Mar 2024, 23:11 Hans Hagen via ntg-context, <ntg-context@ntg.nl>
wrote:

> On 3/13/2024 9:16 AM, Henning Hraban Ramm wrote:
> > Am 12.03.24 um 23:59 schrieb seyal zavira:
> >> You are correct. when i convert this svg to pdf via inkscape it works
> >> like a charm.
> >>
> >> But what is standard way of including an svg file with context if we
> >> want to inkscape render the images?
> >
> > \externalfigure[smile]
> >
> > without any other settings, but inkscape must be callable on the command
> > line (which doesn’t work for me on MacOS any more, must investigate…).
>      \startMPcode
>          draw lmt_svg [ filename = "smile.svg"]
>      \stopMPcode
>
> Now gives the attached but it took me a while to figure out what works.
> An inkscape export adds for instance something (globally applied) that
> is not in the svg file (which actually derived from tiger.svg as
> mentioned in the file).
>
> To be honest this is a horrible file and a good example of making things
> more complex than needed (probably common in wysiwyg applications),
> although we already had the machinery in the mp/pdf converter.
>
> The biggest issue here is that one has to put some constrants in place
> order to make it work in e.g. sumatra (mypdf) and acrobat (which here
> actually does weird erratic things when I play with another test).
>
> As with much complex svg, browsers also differ in interpretation o fsome
> features so it's hard to figure out what to do when there are
> conflicting demands. (Pointing to something that works tomorrow doesn't
> mean it worked when we tried to implement something yesterday.)
>
> For Hraben - who mentioned it - i also added support for group opacity
> and transformed shades.
>
> In the process I tried a few inkscape options (pdf export) but some
> produce faulty files (with missing stuff) so i guess we have a complex
> situation in general. That said, as long as one sticks to reliable and
> clean code (plain svg) it should mostly work out.
>
> Text is another matter because svg dropped glyph support so now
> everything has to go through font features which in turn means that if
> one uses svg as output format one has to specify every character with
> possible abuse of a substitution feature that accesses it. So that is no
> longer a real interesting option, unless of course one exports all text
> as curves, just to be sure.
>
> (I will extend general text suport but it will always be suboptimal but
> then, svg is not a long term archival format anyway.)
>
> No upload yet as i also want to do some cleanup,
>
> ps. For metapost lovers, here is some of the trickery used:
>
> \startMPpage[offset=1ts]
>
>      draw image (
>          fill (unitsquare xscaled 10cm yscaled 4cm)
>              withcolor svgcolor(0.5,0,0)
>          ;
>
>          registerluminositygroup ("test") (
>              fill (unitsquare scaled 2cm) shifted (1cm,1cm)
>                  withshademethod "circular"
>                  withshadecolors (.6,.1)
>          ) ;
>
>          applyluminositygroup ("test") (
>              fill (unitsquare scaled 2cm) shifted (1cm,1cm)
>                  withshademethod "circular"
>          ) ;
>
>          draw luminositygroup (
>              fill (unitsquare scaled 2cm) shifted (4cm,1cm)
>                  withshademethod "circular"
>                  withshadecolors (.6,.1)
>          ) (
>              fill (unitsquare scaled 2cm) shifted (4cm,1cm)
>                  withshademethod "circular"
>          ) ;
>
>          draw luminosityshade (
>              (unitsquare scaled 2cm) shifted (7cm,1cm)
>          ) (
>                  withshademethod "circular"
>                  withshadecolors (.6,.1)
>          ) (
>                  withshademethod "circular"
>          ) ;
>      ) ;
>
> \stopMPpage
>
> Not that intuitive and a bit ugly deep down but it works (there was no
> need to extend mp btw as we already have graphic grouping in the engine).
>
> Hans
>
>
> -----------------------------------------------------------------
>                                            Hans Hagen | PRAGMA ADE
>                Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
>         tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
> -----------------------------------------------------------------
>
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to
> the Wiki!
>
> maillist : ntg-context@ntg.nl /
> https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
> webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
> archive  : https://github.com/contextgarden/context
> wiki     : https://wiki.contextgarden.net
>
> ___________________________________________________________________________________
>
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

Reply via email to