artist icon indicating copy to clipboard operation
artist copied to clipboard

Cairo backport enhancements

Open eakoli opened this issue 2 years ago • 5 comments

This implements some fixes / missing functionality in the Cairo backend

Still a work in progresss, I have elements master working with this and the examples seem to match perfectly on macOS.

eakoli avatar Dec 13 '23 23:12 eakoli

Looks good! I'm glad you started working on this. We'll probably have to do a call to flesh out the details (Typography will be tricky). But this is definitely a good start.

djowel avatar Dec 14 '23 23:12 djowel

I assume your referring to the text_layout class which will probably need to work with glyphs

Whats your thought on using Pango to do more of the heavy lifting for text?

I sent you a connect request on linked in so we can chat

eakoli avatar Dec 15 '23 21:12 eakoli

After seeing the commits I was about to ask/suggest the same thing :) Though I'm not sure about compatibility, I recall an issue in particular with Ardour

redtide avatar Dec 15 '23 21:12 redtide

After seeing the commits I was about to ask/suggest the same thing :) Though I'm not sure about compatibility, I recall an issue in particular with Ardour

That is a possibility. This is one of the things I am investigating right now. SKia also has its own text layout engine, but my preference is to go low-level with minimal dependencies for ease of porting (which is a prime objective of elements). After some recent investigation, I think I narrowed it down to just two API calls (for measuring glyphs and rendering the glyths). If successful, my only requirement would be Harfbuzz (which Pango also depends on BTW). Both Cairo and Skia can render glyphs, of course.

djowel avatar Dec 16 '23 01:12 djowel

I'll start a text-layout discussion in Elements as soon as I can and share my investigation and thoughts from my initial implementation.

djowel avatar Dec 16 '23 01:12 djowel