> 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

Reply via email to