[Top][All Lists]

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

Re: Using/requiring Cairo

From: karl
Subject: Re: Using/requiring Cairo
Date: Sat, 24 Jun 2017 18:33:28 +0200 (CEST)

Han-Wen Nienhuys:
> On Sat, Jun 24, 2017 at 12:43 PM, David Kastrup <address@hidden> wrote:
> > What does that mean?  Mainly a viable migration strategy where we might
> > be able to drop catering for a whole lot of graphics programming
> > ourselves by introducing a dependency on Cairo.  I am not overly
> what "catering for graphic programming" mean? There is graphical
> programming, but a lot of it is done already. Moving towards a new
> library will be a big undertaking, so it could use more justification.
> > It would be a large amount of work to bring LilyPond's graphics
> > programming up to scratch.  Moving to Cairo's data structures alone
> > would be quite advantageous and would likely speed up backend operations
> > significantly.
> which ones? In terms of graphics, the backend just does interval
> unions and offsets (floating point comparisions and additions) through
> the Stencil object. Unless you also restructure how objects are
> grouped, it's going to be similar.

If no one else like to care for postscript, I can step in to handle it.

> > We might also be able to forego creating PostScript as an intermediate
> > stage to creating PDF and create bitmap formats without using PostScript
> > as well (again, this should really speed up things).

I use PS as the final format. Cairo can export to postscript but it's 
PS is not nice to read, lilypond PS is much better in that respect.

> > Drawbacks?  Like other things, being on Guile-2.x would make for
> > synergies with existing projects (not least of all guile-cairo though I
> > haven't checked its suitability in general, with the new PDF-level
> > features, and possible compatibility with Guile-1: I think it supported
> > Guile-1 at some point of time).

Build dependencies

* Guile 1.8.0 or newer
* Cairo 1.2.0 or newer

> I would suggest trying make a GUILE binding of sorts for Cairo, adding
> that in parallel to existing GS support, and hacking untili you have
> feature parity. Then drop the GS support, and migrate the cairo data
> structures more towards the core of the program as needed.

There already are guile bindings for cairo:

/Karl Hammar

Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
+46 173 140 57

reply via email to

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