Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Replace SharpFont with minimal direct FreeType bindings #16279
SharpFont presents us with two problems in the short term:
The maintenance status of SharpFont isn't clear - a couple of patches were merged during 2018, but Robmaister/SharpFont#126 has not received any response. The project doesn't build under mono, which is a significant barrier to developing our own forked version and trying to contribute patches back upstream.
We only use a tiny part of the FreeType API, so IMO the simplest path forward is to ship our own minimal native binding, like we did for OpenGL (#10288). The FreeType interactions are based in part on SceneFlipEngine/font.c and in part by inspecting the SharpFont source.
Test builds are available from https://github.com/pchote/OpenRA/releases/tag/pkgtest-20190307, which i've already verified work under macOS/Linux/Windows.