lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Missing items to make Cairo ready


From: Jonas Hahnfeld
Subject: Re: Missing items to make Cairo ready
Date: Thu, 29 Dec 2022 12:19:13 +0100
User-agent: Evolution 3.46.2

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.

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]