Skip to content

Conversation

@eakoli
Copy link

@eakoli eakoli commented Dec 13, 2023

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.

@djowel
Copy link
Member

djowel commented Dec 14, 2023

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 djowel self-assigned this Dec 14, 2023
@eakoli
Copy link
Author

eakoli commented Dec 15, 2023

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

@redtide
Copy link
Contributor

redtide commented Dec 15, 2023

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

@djowel
Copy link
Member

djowel commented Dec 16, 2023

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
Copy link
Member

djowel commented Dec 16, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants