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

Lower freetype version requirement #145

Open
kchibisov opened this issue Oct 1, 2024 · 1 comment
Open

Lower freetype version requirement #145

kchibisov opened this issue Oct 1, 2024 · 1 comment

Comments

@kchibisov
Copy link
Contributor

Bundled builds are not an option and symbols could be cfg'd incrementally based on something like that https://github.com/alacritty/crossfont/blob/master/build.rs#L5 and cfg.

You can even wrap such symbols over time with something that tells you whether the call was supported or not if user relies on it(you cfg inside the symbol or inside the wrapper for that symbol).

The bundled freetype doesn't handle a lot of features(emojis), and the list of what it can not handle will likely just grow over time.

I've seen #134 , but distros don't like tons of bundling like that, since fixing any security issues in such cases with layers of indirection is really time consuming.

Alternatively, you can add a set of feature sets for specific freetype versions(they'll be all additive), so app could enable them on demand/etc.

if you're fine with the proposal, I can work on it, since it'll be really nice to have it in alacritty, otherwise we'll have a lot of users without emojis on ubuntu 22.04, because we decided to update freetype-sys, because servofontconfig died out.

@kchibisov kchibisov changed the title Have a way to never bundle freetype Lower freetype version requirement Oct 1, 2024
@kchibisov
Copy link
Contributor Author

It seems like the current master does already what I want, since to bundle you need a flag and I was like one version behind.

Besides, the current version is too high for alacritty to use, since it's used with freetype 2.8+ and there's generally no reason to bump it that high if you can wrap more recent APIs properly.

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

1 participant