ITADN

Lower freetype version requirement

#145Openkchibisov 创建于 2024-10-01
K
kchibisovcommented
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 https://github.com/PistonDevelopers/freetype-sys/pull/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.
1 条评论