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

How does this compare to harfbuzz_rs? #230

Open
behdad opened this issue Aug 24, 2023 · 9 comments
Open

How does this compare to harfbuzz_rs? #230

behdad opened this issue Aug 24, 2023 · 9 comments

Comments

@behdad
Copy link

behdad commented Aug 24, 2023

Any insights are appreciated. Thanks

https://github.com/harfbuzz/harfbuzz_rs

@waywardmonkeys
Copy link
Collaborator

Some of this has changed in the last week, like some of the details of the build and how the features work.

This project currently provides 2 crates, one that is the low level bindings which support the Harfbuzz 2.7.4 API and are built on a variety of targets using both the system library (when available) and the bundled / vendored sources when not.

harfbuzz_rs used to use harfbuzz-sys, but stopped when this project went essentially unmaintained for a long period of time.

The harfbuzz crate here never got the amount of features that harfbuzz_rs did as the code within Servo (and some of the other things that use Harfbuzz in Rust) just used the raw harfbuzz-sys APIs directly.

I've asked in the last month about the idea of moving these crates over to the harfbuzz organization and seeing how everything could be united under a single banner (and get to use the names harfbuzz and harfbuzz-sys), but that didn't get any answer.

It is difficult to measure the level of interest in extensive Harfbuzz support within Rust. rustybuzz answered the needs that some people had (and more responsively, but that's now on the path towards possible deprecation. Other efforts like swash and allsorts have their own issues. At least some of the users of rustybuzz need wasm32-unknown-unknown support, which is somewhat more difficult to provide here. That's why I keep finding myself coming back to Harfbuzz (and harfbuzz / harfbuzz-sys) over the years.

One other issue is that the code in this repository is dual MIT OR Apache-2.0, while harfbuzz_rs is MIT.

@behdad
Copy link
Author

behdad commented Aug 24, 2023

Thanks for the answer. We'd be happy to have these under the harfbuzz organization.

Re rustybuzz deprecation, looks like a few community members have stepped up and are keen to maintain it and update it to the latest HarfBuzz version.

@mrobinson
Copy link
Member

I wonder if it makes sense to retire the the high-level crate giving preference to https://github.com/harfbuzz/harfbuzz_rs? Then this project could be used to only manage harfbuzz-sys. I don't think that Servo is using the high-level crate provided by this repository.

@Manishearth
Copy link
Member

My general opinion is to keep this around: At the very least ICU4X hopes to continue to provide support to it (and can help maintain it where necessary).

harfbuzz_rs is quite good too, but I don't see a problem with keeping this around given that it's not that much effort to maintain.

@mrobinson
Copy link
Member

The high-level harfbuzz crate isn't used by Servo, so perhaps it makes sense to split this repository into two: harbuzz-sys and harfbuzz and then have harfbuzz maintained outside the Servo organization. Maintaining so many crates is difficult for a small team, so ideally we could focus just on the things we actually need. I'm very happy to hear that others are interested in maintaining harfbuzz.

@waywardmonkeys, who has been doing a really admirable job pushing things forward in this repository, also raises an interesting possibility, which is to move all of this work under the HarfBuzz GitHub organization.

@behdad
Copy link
Author

behdad commented Apr 17, 2024

move all of this work under the HarfBuzz GitHub organization.

We'd be happy to have it there.

@Manishearth
Copy link
Member

That could work well!

@behdad
Copy link
Author

behdad commented Apr 17, 2024

Just send the repo move request to me, and I'll move to HB org.

@narodnik
Copy link

Glad to see this. BTW harfbuzz_rs is missing libpng and libz support so bitmap emojis won't render. See harfbuzz/harfbuzz_rs#39

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

No branches or pull requests

5 participants