On Thu, 2022-12-29 at 12:02 +0100, Jean Abou Samra wrote: > > Le 29/12/2022 à 11:53, Jonas Hahnfeld a écrit : > > On Thu, 2022-12-29 at 01:53 +0100, Jean Abou Samra wrote: > > > Hi, > > > > > > I have just opened issues for the missing features of > > > the Cairo backend that I am aware of. > > > > > > https://gitlab.com/lilypond/lilypond/-/issues/6500 > > > https://gitlab.com/lilypond/lilypond/-/issues/6501 > > > https://gitlab.com/lilypond/lilypond/-/issues/6502 > > > https://gitlab.com/lilypond/lilypond/-/issues/6503 > > > https://gitlab.com/lilypond/lilypond/-/issues/6504 > > > > > > Are there any others? > > In my understanding (please correct me if I get this wrong), the > > elephant in the room is that we _cannot_ support a number of features / > > markup commands in Cairo, or at least a significant subset of how some > > of them are used today: \epsfile and \postscript will only work with > > Cairo if you produce a Postscript file, but not in the "default" modes > > of outputting PDFs and PNGs. > > > Yes. To my knowledge, they are the only ones, though. > > Here is an idea. We already have a working EPS → PNG > conversion through GS. With > https://gitlab.com/lilypond/lilypond/-/merge_requests/1787 > Cairo supports PNG images.
(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...) > 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). Which raises another question: How do you embed vector graphics into Cairo? > The Cairo backend needs to be the default for some time > before the old PS backend is dropped. Agreed, but that's several steps down the road. Let's agree on the first part before going there. > It means we can separate the moment we switch to Cairo > by default while keeping GS and the old backend, and > the moment where we drop those. The *second* one is the > moment where users will really need to have converted > their EPS images to PNG. 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.
signature.asc
Description: This is a digitally signed message part