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 22:55:31 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0

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?

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

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