> I wrote to you previously back in August (actually to the developer > email on FreeType) and your information was very helpful. I was > hoping you can steer me in the right direction again, and I > apologize if this is the wrong place to send the e-mail.
I'm directly forwarding this to the freetype-devel e-mail list again :-) > Anyway, I am trying to implement anti-aliasing on our font system > and it is proving difficult, specifically for Bezier curves. I'm > having a hard time finding where in the FreeType code the > anti-aliasing is done so I can try to model our system after it, or > at least learn what it's doing. Right now I've implemented a > multi-sampling process where when I am breaking the Bezier curves > down into segments that fall on a scanline I find the line > intersections and then use those when performing the sampling. > > This kind of works, but it's not great and it has problems. I also > read on the FAQ that you don't necessarily do it this way in > FreeType. So, I'd really like to find out how FreeType is doing it. The central function for computing the pixel coverage is `gray_render_scanline' in file `src/smooth/ftgrays.c'. The bisecting functions `gray_render_conic' and `gray_render_cubic' eventually call it. Note that Raph Levien has meanwhile implemented a renderer that is reportedly faster than FreeType, cf. https://medium.com/@raphlinus/inside-the-fastest-font-renderer-in-the-world-75ae5270c445 This renderer is written in Rust, however. Maybe you are interested to convert this code to C, then contributing it to FreeType :-) Werner _______________________________________________ Freetype-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/freetype-devel
