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: Jean Abou Samra
Subject: Re: Missing items to make Cairo ready
Date: Thu, 29 Dec 2022 12:02:45 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0



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. 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.
The Cairo backend needs to be the default for some time
before the old PS backend is dropped.

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.

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

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