Le 29/12/2022 à 12:19, Jonas Hahnfeld a écrit :
(FWIW I don't think it is a good idea to add features that will only work with Cairo. That sounds like a recipe for confusion to me, but I haven't yet had the time to properly look into the merge request...)
I don't really see what the problem is. If you try to use a PNG image in the default PS backend, you get a user-friendly warning explaining that you need to run with -dbackend=cairo (OK, makes me think I should add this to the default SVG backend as well). It's not much different from \epsfile being supported in the default PS backend but not in the default SVG backend. PNG embedding should be feasible for the default PS and SVG backends too, but I'm not willing to spend time on it.
So, to support \epsfile and \postscript, we can convert and embed as PNG. Of course, this means we cannot drop Ghostscript, but we're not going to do it anytime soon anyway.PNG is a pixel-format, so depending on what users embed images for, this may result in very inferior quality or huge files (if you render at insane dimensions).
Well, if GS is still around, there is the other route too: create PS output via Cairo, and convert to PDF with GS like we're already doing. That way, you can have vector graphics into PDF from EPS. That said, for this to be a problem, you need to have an EPS file that actually contains vector graphics. My impression is that in most cases, users pass files that contain embedded raster graphics, probably converted from PNG, JPEG or TIFF in the first place.
Which raises another question: How do you embed vector graphics into Cairo?
Cairo itself doesn't understand PS or PDF (it can just embed the EPS content into EPS/PS without actually parsing it). For that, I think you would have to use Poppler, which has a Cairo backend.
I don't agree here. It is hard to sell any migration without some level of parity. We had this with Python 3 and Guile 2, and I think it is even more important for the output backend.
Sorry, I don't understand what you mean by this. Can you elaborate?
OpenPGP_signature
Description: OpenPGP digital signature