Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cairo backport enhancements #21

Draft
wants to merge 3 commits into
base: cairo_backport
Choose a base branch
from

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