- From: Wendell Piez <wapiez@wendellpiez.com>
- Date: Fri, 7 Mar 2025 15:21:20 -0500
- To: Norm Tovey-Walsh <ndw@nwalsh.com>
- Cc: John Dziurlaj <john@turnout.rocks>, XProc Dev <xproc-dev@w3.org>
- Message-ID: <CAAO_-xwB1G-MEJm8ASnSHGL5HuG0y7v1+heNEZwutoy2MVHxNg@mail.gmail.com>
Hi,
Thanks Norm and John for comments so far. After reflection, I don't
actually regard this as a casting problem but a rendering problem, at least
when inputs are SVG. :-)
In any case since the same host of questions asked by Norm arises also in
the XSL-FO context, I am exploring that option.
Apparently FOP can be made to do this (i.e., produce PNG), perhaps I can
get that written to the file system somehow.
I am looking at prior art as documented here:
https://www.oxygenxml.com/pipermail/oxygen-user/2011-June/003664.html
This is what I have so far, with an SVG document on the input port:
<p:insert
match="/descendant::fo:instream-foreign-object[@id='svg-placement']"
position="first-child">
<p:with-input port="insertion" pipe="source@make-png-from-svg"/>
<p:with-input port="source">
<fo:root>
<fo:layout-master-set>
<fo:simple-page-master master-name="svg"
page-height="{$height}" page-width="{$width}">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="svg">
<fo:flow flow-name="xsl-region-body">
<fo:block>
<fo:instream-foreign-object id="svg-placement"/>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</p:with-input>
</p:insert>
The question will be how to invoke the formatter to do the right thing.
Since I also have some animal bones on the fire (er, beef short ribs in a
braise), this is as far as I have made it so far today.
If you know already this won't work (even producing a PNG file as a side
effect), I'll be interested in more details.
Thanks! Wendell
On Fri, Mar 7, 2025 at 12:39 PM Norm Tovey-Walsh <ndw@nwalsh.com> wrote:
> John Dziurlaj <john@turnout.rocks> writes:
> > I'm not sure casting content types would be enough to fully effectuate a
> cast that is inherently lossy. When casting from a vector to raster image,
> resolution, color spaces, bit depths, aliasing among other things need to
> be considered. Such nuances could be handled via option parameters, but
> those are implementation-defined.
>
> I fear even in a rasterize step, some of those are going to be
> implementation-defined parameters. Different raster formats support
> different color spaces, may support limited resolutions or bit depths, etc.
>
> What would the “general” parameters be, I wonder?
>
> - Size
> - If width and height are provided, does that change the aspect ratio?
> - Resolution
> - Color
> - Bit depth? Color space? I’m not even sure what the options are
>
> > There is also the question of which set of casts are supported by a
> given XProc processor. Built for purpose steps on the other hand give a
> clear contract as to which functionalities are available and which aren't.
>
> I agree. I think a step is the better answer here.
>
> Be seeing you,
> norm
>
> --
> Norm Tovey-Walsh <ndw@nwalsh.com>
> https://norm.tovey-walsh.com/
>
> > The one serious conviction that a man should have is that nothing is to
> > be taken too seriously.--Nicholas Butler
>
--
...Wendell Piez... ...wendell -at- nist -dot- gov...
...wendellpiez.com... ...pellucidliterature.org... ...pausepress.org...
...github.com/wendellpiez... ...gitlab.coko.foundation/wendell...
Received on Friday, 7 March 2025 20:21:39 UTC