Hello Werner, I am applying to GSoC this year as well and I am particularly interested in the project "Port the font-rs/fontdue rendering engine to FreeType".
Firstly, I saw that the project obviously requires knowing Rust. While I am not a Rust programmer, I do know many of the basics due to my experience with `resvg' last year. I'm able to easily read and understand Rust code. I'm also going to be improving my knowledge of Rust as I further prepare the proposal. I guess this should be sufficient? Taking a quick look at the code of font-rs, I saw that a huge part of the code was just parsing of font files, reading and managing the glyphs and their outlines. The actual raster part is mostly in `src/raster.rs' which is quite small. Also, creating a C wrapper for Rust code is an easy process (compared to other programming languages). Given the small size of the rendering engine it seems that implementing it from scratch in C inside FreeType isn't too hard either. Though I don't know if there is any advantage to doing that? The dependency issue maybe? Another thing I saw was that this engine can't handle Cubic Bezier curves, only Quadratic. FreeType does support font formats which use Cubic Bezier curves. So maybe I can add this functionality to it as part of this project. (unless there is something in the algorithm that can't be applied on Cubic curves or other font formats in general) I think that porting can be done by: 1. Creating a C wrapper for font-rs (for the rendering part at least). 2. Creating a new rendering module in FreeType that can provide the necessary "glue" code. Please correct me if I have got anything wrong and provide any feedback you might have. Also let me know if there is anything you want me to take care of while writing the proposal. Moazin
